-----------------------------------------------------------------------------
 MANIFEST                |  327 -
 Makefile                |   56 
 aclocal.m4              |  759 +--
 conf-tin                |    9 
 config.guess            |   20 
 config.sub              |  752 ++-
 configure               |10113 ++++++++++++++++++++++++----------------------
 configure.in            |  359 +
 doc/ABOUT-NLS           |  324 -
 doc/CHANGES             |  170 
 doc/CREDITS             |   98 
 doc/INSTALL             |   44 
 doc/TODO                |  210 
 doc/WHATSNEW            |   40 
 doc/auth.txt            |    2 
 doc/config-anomalies    |    1 
 doc/keymap.sample       |    2 
 doc/l10n/de.po          | 5149 +++++++++++++----------
 doc/l10n/de/tin.1       |  764 +--
 doc/l10n/de/tin.5       |  492 +-
 doc/l10n/en_GB.po       | 5134 ++++++++++++-----------
 doc/l10n/en_GB/tin.1    |  370 -
 doc/l10n/en_GB/tin.5    |  257 -
 doc/l10n/es.po          | 4808 ++++++++++++---------
 doc/l10n/es/tin.1       |  378 +
 doc/l10n/es/tin.5       |  276 -
 doc/l10n/tin-man.pot    | 4318 ++++++++++---------
 doc/mailcap.sample      |    6 
 doc/plp_snprintf.3      |  168 
 doc/tin.1               |  473 +-
 doc/tin.5               |  351 -
 doc/tin.defaults        |    4 
 doc/tinews.1            |   13 
 doc/tools.txt           |    7 
 doc/umlauts.txt         |    9 
 include/autoconf.hin    |  236 -
 include/bool.h          |    2 
 include/bugrep.h        |    2 
 include/debug.h         |   26 
 include/extern.h        |  194 
 include/keymap.h        |    6 
 include/missing_fd.h    |   16 
 include/newsrc.h        |   16 
 include/nntplib.h       |   31 
 include/plp_snprintf.h  |   30 
 include/policy.h        | 1357 +++++-
 include/proto.h         |  186 
 include/rfc2046.h       |   77 
 include/snprintf.h      |   43 
 include/stpwatch.h      |    2 
 include/tcurses.h       |   12 
 include/tin.h           |  385 -
 include/tinrc.h         |  381 -
 include/tnntp.h         |   12 
 include/tnntps.h        |    2 
 include/trace.h         |    2 
 include/version.h       |    8 
 intl/ChangeLog          |    4 
 intl/Makefile.in        |  318 -
 intl/VERSION            |    1 
 intl/bindtextdom.c      |  369 -
 intl/config.charset     |  438 -
 intl/dcgettext.c        |   58 
 intl/dcigettext.c       | 1264 -----
 intl/dcngettext.c       |   60 
 intl/dgettext.c         |   59 
 intl/dngettext.c        |   61 
 intl/explodename.c      |  192 
 intl/finddomain.c       |  198 
 intl/gettext.c          |   64 
 intl/gettext.h          |  102 
 intl/gettextP.h         |  251 -
 intl/hash-string.h      |   59 
 intl/intl-compat.c      |  166 
 intl/l10nflist.c        |  405 -
 intl/libgettext.h       |   49 
 intl/libgnuintl.h       |  128 
 intl/loadinfo.h         |  109 
 intl/loadmsgcat.c       |  574 --
 intl/localcharset.c     |  271 -
 intl/locale.alias       |   78 
 intl/localealias.c      |  408 -
 intl/ngettext.c         |   68 
 intl/plural.c           | 1801 --------
 intl/plural.y           |  413 -
 intl/ref-add.sin        |   31 
 intl/ref-del.sin        |   26 
 intl/textdomain.c       |  142 
 libcanlock/src/secret.c |    2 
 po/da.po                | 3806 +++++++++--------
 po/de.po                | 3795 +++++++++--------
 po/en_GB.po             | 3759 ++++++++---------
 po/es.po                | 3779 ++++++++---------
 po/et.po                | 3815 +++++++++--------
 po/fr.po                | 4197 +++++++++----------
 po/ru.po                | 3769 +++++++++--------
 po/sv.po                | 3683 ++++++++--------
 po/tin.pot              | 3649 ++++++++--------
 po/tr.po                | 3789 +++++++++--------
 po/zh_CN.po             | 3765 +++++++++--------
 po/zh_TW.po             | 3765 +++++++++--------
 src/Makefile.in         |   47 
 src/active.c            |  257 -
 src/art.c               |  584 +-
 src/attrib.c            |  497 +-
 src/auth.c              |  622 +-
 src/charset.c           |  211 
 src/color.c             |   10 
 src/config.c            |  521 +-
 src/cook.c              |  302 -
 src/curses.c            |   19 
 src/debug.c             |   52 
 src/envarg.c            |    2 
 src/feed.c              |   82 
 src/filter.c            |  344 -
 src/getline.c           |   20 
 src/global.c            |   14 
 src/group.c             |  135 
 src/hashstr.c           |    2 
 src/header.c            |  162 
 src/help.c              |   13 
 src/inews.c             |  144 
 src/init.c              |  861 ++-
 src/joinpath.c          |    2 
 src/keymap.c            |  440 +-
 src/lang.c              |  226 -
 src/list.c              |   10 
 src/lock.c              |   24 
 src/mail.c              |  121 
 src/main.c              |  940 +++-
 src/makecfg.c           |   71 
 src/memory.c            |  189 
 src/mimetypes.c         |   26 
 src/misc.c              | 1841 +++++---
 src/my_tmpfile.c        |  187 
 src/newsrc.c            |  176 
 src/nntplib.c           |  753 ++-
 src/nntps.c             |  221 -
 src/nrctbl.c            |  141 
 src/options_menu.c      |  995 ++--
 src/page.c              |  534 +-
 src/parsdate.y          |   73 
 src/pgp.c               |   88 
 src/plp_snprintf.c      |  624 --
 src/post.c              | 1727 ++++---
 src/prompt.c            |  124 
 src/read.c              |   15 
 src/refs.c              |   24 
 src/regex.c             |   46 
 src/rfc1524.c           |   34 
 src/rfc2045.c           |   31 
 src/rfc2046.c           |  572 ++
 src/rfc2047.c           |  220 -
 src/save.c              |  212 
 src/screen.c            |   82 
 src/search.c            |  117 
 src/select.c            |  265 -
 src/sigfile.c           |   46 
 src/signal.c            |   66 
 src/snprintf.c          | 1049 ++++
 src/strftime.c          |   48 
 src/string.c            |  538 +-
 src/tags.c              |   36 
 src/tcurses.c           |   26 
 src/thread.c            |  166 
 src/tincfg.tbl          |   16 
 src/tmpfile.c           |  108 
 src/trace.c             |    2 
 src/version.c           |  100 
 src/wildmat.c           |    9 
 src/xface.c             |   83 
 src/xref.c              |   53 
 tin-2.6.4/po/da.gmo     |binary
 tin-2.6.4/po/de.gmo     |binary
 tin-2.6.4/po/en_GB.gmo  |binary
 tin-2.6.4/po/es.gmo     |binary
 tin-2.6.4/po/et.gmo     |binary
 tin-2.6.4/po/fr.gmo     |binary
 tin-2.6.4/po/ru.gmo     |binary
 tin-2.6.4/po/sv.gmo     |binary
 tin-2.6.4/po/tr.gmo     |binary
 tin-2.6.4/po/zh_CN.gmo  |binary
 tin-2.6.4/po/zh_TW.gmo  |binary
 tin.spec                |    6 
 tools/expiretover       |    4 
 tools/flnews2tin.pl     |   97 
 tools/opt-case.pl       |    5 
 tools/tinews.pl         |  159 
 tools/tinlock           |   24 
 tools/url_handler.pl    |   34 
 tools/url_handler.sh    |   44 
 tools/w2r.pl            |    5 
 192 files changed, 57804 insertions(+), 54001 deletions(-)
-----------------------------------------------------------------------------
diff -Nurp '--exclude=.bzr*' tin-2.6.3/MANIFEST tin-2.6.4/MANIFEST
--- tin-2.6.3/MANIFEST	2023-12-24 00:39:16.000000000 +0100
+++ tin-2.6.4/MANIFEST	2024-12-24 00:19:13.253207609 +0100
@@ -1,155 +1,153 @@
-MANIFEST for tin-2.6.3 (Sun Dec 24 00:39:16 CET 2023)
+MANIFEST for tin-2.6.4 (Tue Dec 24 00:19:12 CET 2024)
 ----------------------------------------------------
-   14976 ./Makefile
-    8812 ./MANIFEST
+   13889 ./Makefile
+    7883 ./MANIFEST
     1574 ./README
      733 ./README.MAC
      976 ./README.WIN
-  219382 ./aclocal.m4
-    1120 ./conf-tin
-   50622 ./config.guess
-   36482 ./config.sub
- 1048232 ./configure
-   50397 ./configure.in
+  215234 ./aclocal.m4
+    1166 ./conf-tin
+   50743 ./config.guess
+   39713 ./config.sub
+ 1067017 ./configure
+   56335 ./configure.in
     7123 ./install-sh
      356 ./po4a.conf
-    1821 ./tin.spec
-   18847 ./doc/ABOUT-NLS
-   13246 ./doc/CHANGES
+    1788 ./tin.spec
+   22225 ./doc/CHANGES
   319061 ./doc/CHANGES.old
-    5189 ./doc/CREDITS
+    5248 ./doc/CREDITS
     1305 ./doc/DEBUG_REFS
-   34736 ./doc/INSTALL
-   46423 ./doc/TODO
-    1324 ./doc/WHATSNEW
+   35269 ./doc/INSTALL
+   47301 ./doc/TODO
+    3174 ./doc/WHATSNEW
     2618 ./doc/art_handling.txt
     1701 ./doc/article.txt
-    3498 ./doc/auth.txt
-    3807 ./doc/config-anomalies
+    3509 ./doc/auth.txt
+    3759 ./doc/config-anomalies
    12253 ./doc/filtering
    35305 ./doc/good-netkeeping-seal
     3790 ./doc/internals.txt
    23720 ./doc/iso2asc.txt
-    4005 ./doc/keymap.sample
-     633 ./doc/mailcap.sample
+    4039 ./doc/keymap.sample
+     774 ./doc/mailcap.sample
     5922 ./doc/mbox.5
     3365 ./doc/mime.types
     4223 ./doc/mmdf.5
     2128 ./doc/newsoverview.5
     1541 ./doc/nov_tests
     5156 ./doc/opt-case.1
-    6966 ./doc/plp_snprintf.3
     3964 ./doc/pgp.txt
     3048 ./doc/rcvars.txt
     1525 ./doc/reading-mail.txt
     4914 ./doc/umlaute.txt
-    4151 ./doc/umlauts.txt
+    4580 ./doc/umlauts.txt
     7117 ./doc/url_handler.1
-  149164 ./doc/tin.1
-   87435 ./doc/tin.5
-    5065 ./doc/tin.defaults
-   19319 ./doc/tinews.1
-    2224 ./doc/tools.txt
+  152967 ./doc/tin.1
+   89914 ./doc/tin.5
+    5069 ./doc/tin.defaults
+   19729 ./doc/tinews.1
+    2469 ./doc/tools.txt
     4565 ./doc/w2r.1
     2196 ./doc/wildmat.3
-     344 ./tools/expiretover
+     348 ./tools/expiretover
+    2282 ./tools/flnews2tin.pl
     3816 ./tools/metamutt
-    2791 ./tools/opt-case.pl
-    1413 ./tools/tinlock
-   49366 ./tools/tinews.pl
-    3737 ./tools/url_handler.pl
-    1657 ./tools/url_handler.sh
-    3353 ./tools/w2r.pl
+    2815 ./tools/opt-case.pl
+    1453 ./tools/tinlock
+   50929 ./tools/tinews.pl
+    3854 ./tools/url_handler.pl
+    1697 ./tools/url_handler.sh
+    3377 ./tools/w2r.pl
     2697 ./include/bool.h
     1886 ./include/bugrep.h
-    2350 ./include/debug.h
-   83949 ./include/extern.h
-   14484 ./include/keymap.h
+    2449 ./include/debug.h
+   85568 ./include/extern.h
+   14459 ./include/keymap.h
     2992 ./include/missing_fd.h
-    6435 ./include/newsrc.h
-    9382 ./include/nntplib.h
-     664 ./include/plp_snprintf.h
-   15637 ./include/policy.h
-   35667 ./include/proto.h
-    5830 ./include/rfc2046.h
+    6490 ./include/newsrc.h
+    9447 ./include/nntplib.h
+   26119 ./include/policy.h
+   36837 ./include/proto.h
+    7895 ./include/rfc2046.h
+    1537 ./include/snprintf.h
     2675 ./include/stpwatch.h
-    6310 ./include/tcurses.h
-   77830 ./include/tin.h
-   18872 ./include/tinrc.h
-    3894 ./include/tnntp.h
+    6205 ./include/tcurses.h
+   79887 ./include/tin.h
+   18766 ./include/tinrc.h
+    4045 ./include/tnntp.h
     3179 ./include/tnntps.h
     2367 ./include/trace.h
-    2243 ./include/version.h
-   37056 ./src/active.c
-   92172 ./src/art.c
-   83646 ./src/attrib.c
-   18480 ./src/auth.c
-   12932 ./src/charset.c
+    2247 ./include/version.h
+   37904 ./src/active.c
+   97547 ./src/art.c
+   85310 ./src/attrib.c
+   24755 ./src/auth.c
+   16265 ./src/charset.c
     8886 ./src/color.c
-   71769 ./src/config.c
-   41478 ./src/cook.c
-   26542 ./src/curses.c
-   12541 ./src/debug.c
+   73524 ./src/config.c
+   45001 ./src/cook.c
+   26564 ./src/curses.c
+   12881 ./src/debug.c
     3519 ./src/envarg.c
-   30317 ./src/feed.c
-   59863 ./src/filter.c
-   18146 ./src/getline.c
-    9216 ./src/global.c
-   50329 ./src/group.c
+   30876 ./src/feed.c
+   61248 ./src/filter.c
+   18128 ./src/getline.c
+    9186 ./src/global.c
+   50898 ./src/group.c
     3910 ./src/hashstr.c
-    8839 ./src/header.c
+    8605 ./src/header.c
     6394 ./src/heapsort.c
-   45940 ./src/help.c
-   14104 ./src/inews.c
-   40171 ./src/init.c
+   45983 ./src/help.c
+   14283 ./src/inews.c
+   44301 ./src/init.c
     2537 ./src/joinpath.c
-  109477 ./src/keymap.c
-  167093 ./src/lang.c
+  116646 ./src/keymap.c
+  170780 ./src/lang.c
     4517 ./src/langinfo.c
-    7314 ./src/list.c
-    6767 ./src/lock.c
-   17707 ./src/mail.c
-   33017 ./src/main.c
-   12128 ./src/makecfg.c
-   14146 ./src/memory.c
-    5328 ./src/mimetypes.c
-  103141 ./src/misc.c
-   43525 ./src/newsrc.c
-   71352 ./src/nntplib.c
-   30606 ./src/nntps.c
-    8084 ./src/nrctbl.c
-  110563 ./src/options_menu.c
-   71061 ./src/page.c
-   24554 ./src/parsdate.y
-   17057 ./src/plp_snprintf.c
-   13749 ./src/pgp.c
-  169672 ./src/post.c
-   19790 ./src/prompt.c
-   10764 ./src/read.c
-   28838 ./src/refs.c
-    8917 ./src/regex.c
-   14599 ./src/rfc1524.c
-   15394 ./src/rfc2045.c
-   42312 ./src/rfc2046.c
-   38331 ./src/rfc2047.c
-   59635 ./src/save.c
-   17510 ./src/screen.c
-   19425 ./src/search.c
-   44535 ./src/select.c
-    8810 ./src/sigfile.c
-   15335 ./src/signal.c
-    7330 ./src/strftime.c
-   40519 ./src/string.c
-    9895 ./src/tags.c
-   17981 ./src/tcurses.c
-    3405 ./src/tmpfile.c
-    3661 ./src/my_tmpfile.c
-   47331 ./src/thread.c
+    7316 ./src/list.c
+    6866 ./src/lock.c
+   19204 ./src/mail.c
+   43508 ./src/main.c
+   12419 ./src/makecfg.c
+   17662 ./src/memory.c
+    5496 ./src/mimetypes.c
+  123293 ./src/misc.c
+   44701 ./src/newsrc.c
+   76030 ./src/nntplib.c
+   30297 ./src/nntps.c
+    9176 ./src/nrctbl.c
+  118662 ./src/options_menu.c
+   79007 ./src/page.c
+   24964 ./src/parsdate.y
+   13954 ./src/pgp.c
+  178101 ./src/post.c
+   20971 ./src/prompt.c
+   10703 ./src/read.c
+   28871 ./src/refs.c
+    9059 ./src/regex.c
+   14587 ./src/rfc1524.c
+   15438 ./src/rfc2045.c
+   53866 ./src/rfc2046.c
+   39173 ./src/rfc2047.c
+   59735 ./src/save.c
+   18176 ./src/screen.c
+   19606 ./src/search.c
+   45965 ./src/select.c
+    8727 ./src/sigfile.c
+   15201 ./src/signal.c
+   42445 ./src/snprintf.c
+    8283 ./src/strftime.c
+   45269 ./src/string.c
+    9921 ./src/tags.c
+   18100 ./src/tcurses.c
+    6079 ./src/my_tmpfile.c
+   48191 ./src/thread.c
     2581 ./src/trace.c
-    5015 ./src/version.c
-    5555 ./src/wildmat.c
-    7150 ./src/xface.c
-   13210 ./src/xref.c
+    5674 ./src/version.c
+    5558 ./src/wildmat.c
+    7167 ./src/xface.c
+   13256 ./src/xref.c
      422 ./pcre/AUTHORS
     2515 ./pcre/COPYING
   118928 ./pcre/ChangeLog
@@ -217,9 +215,9 @@ MANIFEST for tin-2.6.3 (Sun Dec 24 00:39
   108966 ./pcre/testdata/testoutput7
    53056 ./pcre/testdata/testoutput8
    28769 ./pcre/testdata/testoutput9
-   22862 ./include/autoconf.hin
-   22694 ./src/Makefile.in
-   10726 ./src/tincfg.tbl
+   20074 ./include/autoconf.hin
+   22392 ./src/Makefile.in
+   10953 ./src/tincfg.tbl
     1439 ./libcanlock/COPYING
     4149 ./libcanlock/ChangeLog
      490 ./libcanlock/ChangeLog_V0
@@ -233,7 +231,7 @@ MANIFEST for tin-2.6.3 (Sun Dec 24 00:39
     4015 ./libcanlock/src/base64.c
    11705 ./libcanlock/src/canlock.c
     7835 ./libcanlock/src/hmac.c
-    4161 ./libcanlock/src/secret.c
+    4162 ./libcanlock/src/secret.c
    12652 ./libcanlock/src/sha1.c
    18257 ./libcanlock/src/sha224-256.c
    37638 ./libcanlock/src/sha384-512.c
@@ -249,71 +247,40 @@ MANIFEST for tin-2.6.3 (Sun Dec 24 00:39
    10574 ./libcanlock/test/hkdf.c
    64019 ./libcanlock/test/shatest.c
    14702 ./libcanlock/util/canlock.c
-    9850 ./intl/bindtextdom.c
-      72 ./intl/ChangeLog
-   13325 ./intl/config.charset
-    1820 ./intl/dcgettext.c
-   34160 ./intl/dcigettext.c
-    1895 ./intl/dcngettext.c
-    1792 ./intl/dgettext.c
-    1927 ./intl/dngettext.c
-    4650 ./intl/explodename.c
-    5736 ./intl/finddomain.c
-    1891 ./intl/gettext.c
-    3104 ./intl/gettext.h
-    7686 ./intl/gettextP.h
-    1835 ./intl/hash-string.h
-    4763 ./intl/intl-compat.c
-   10480 ./intl/l10nflist.c
-    1932 ./intl/libgettext.h
-    4397 ./intl/libgnuintl.h
-    3380 ./intl/loadinfo.h
-   15020 ./intl/loadmsgcat.c
-    6905 ./intl/localcharset.c
-    2657 ./intl/locale.alias
-    9432 ./intl/localealias.c
-    9900 ./intl/Makefile.in
-    2001 ./intl/ngettext.c
-   54967 ./intl/plural.c
-    8375 ./intl/plural.y
-    1089 ./intl/ref-add.sin
-    1044 ./intl/ref-del.sin
-    4481 ./intl/textdomain.c
-      41 ./intl/VERSION
     5096 ./po/Makefile.inn
      556 ./po/POTFILES.in
-  155622 ./po/tin.pot
-  166434 ./po/da.gmo
-  243215 ./po/da.po
-  204078 ./po/de.gmo
-  255932 ./po/de.po
-  190343 ./po/en_GB.gmo
-  240514 ./po/en_GB.po
-    1586 ./po/es.gmo
-  186041 ./po/es.po
-  187719 ./po/et.gmo
-  243012 ./po/et.po
-  198062 ./po/fr.gmo
-  253458 ./po/fr.po
-  116069 ./po/ru.gmo
-  265504 ./po/ru.po
-   21998 ./po/sv.gmo
-  168244 ./po/sv.po
-  187695 ./po/tr.gmo
-  257478 ./po/tr.po
-  242661 ./po/zh_CN.po
-  171029 ./po/zh_CN.gmo
-  242211 ./po/zh_TW.po
-  171160 ./po/zh_TW.gmo
-  163576 ./doc/l10n/de/tin.1
-   95126 ./doc/l10n/de/tin.5
+  158772 ./po/tin.pot
+  162805 ./po/da.gmo
+  248149 ./po/da.po
+  218706 ./po/de.gmo
+  260918 ./po/de.po
+  204195 ./po/en_GB.gmo
+  245299 ./po/en_GB.po
+    1614 ./po/es.gmo
+  186686 ./po/es.po
+  188086 ./po/et.gmo
+  247482 ./po/et.po
+  210914 ./po/fr.gmo
+  259896 ./po/fr.po
+  145164 ./po/ru.gmo
+  270431 ./po/ru.po
+   21281 ./po/sv.gmo
+  171811 ./po/sv.po
+  183391 ./po/tr.gmo
+  262366 ./po/tr.po
+  247343 ./po/zh_CN.po
+  167154 ./po/zh_CN.gmo
+  246894 ./po/zh_TW.po
+  167287 ./po/zh_TW.gmo
+  169636 ./doc/l10n/de/tin.1
+   99169 ./doc/l10n/de/tin.5
      230 ./doc/l10n/de.add
-  430330 ./doc/l10n/de.po
-  153237 ./doc/l10n/en_GB/tin.1
-   90081 ./doc/l10n/en_GB/tin.5
-  505030 ./doc/l10n/en_GB.po
-  153337 ./doc/l10n/es/tin.1
-   90083 ./doc/l10n/es/tin.5
-  333136 ./doc/l10n/es.po
-  316931 ./doc/l10n/tin-man.pot
-14102241 total
+  459259 ./doc/l10n/de.po
+  157184 ./doc/l10n/en_GB/tin.1
+   92673 ./doc/l10n/en_GB/tin.5
+  522799 ./doc/l10n/en_GB.po
+  157262 ./doc/l10n/es/tin.1
+   92682 ./doc/l10n/es/tin.5
+  349728 ./doc/l10n/es.po
+  326428 ./doc/l10n/tin-man.pot
+14265953 total
diff -Nurp '--exclude=.bzr*' tin-2.6.3/Makefile tin-2.6.4/Makefile
--- tin-2.6.3/Makefile	2023-12-24 00:38:33.000000000 +0100
+++ tin-2.6.4/Makefile	2024-12-24 00:18:40.475936844 +0100
@@ -1,7 +1,7 @@
 # Top level Makefile for tin
 # - for configuration options read the doc/INSTALL file.
 #
-# Updated: 2021-04-17
+# Updated: 2024-04-02
 #
 
 SHELL	= @SHELL@
@@ -9,9 +9,9 @@ SHELL	= @SHELL@
 PROJECT	= tin
 LVER	= 2
 PVER	= 6
-SVER	= 3
+SVER	= 4
 VER	= $(LVER).$(PVER).$(SVER)
-DVER	= 20231224
+DVER	= 20241224
 EXE	= tin
 
 # directory structure
@@ -24,7 +24,6 @@ PCREDIR	= ./pcre
 CANDIR	= ./libcanlock
 TOLDIR	= ./tools
 PODIR	= ./po
-INTLDIR	= ./intl
 L10NDIR	= ./doc/l10n
 
 HFILES	= \
@@ -36,10 +35,10 @@ HFILES	= \
 	$(INCDIR)/missing_fd.h \
 	$(INCDIR)/newsrc.h \
 	$(INCDIR)/nntplib.h \
-	$(INCDIR)/plp_snprintf.h \
 	$(INCDIR)/policy.h \
 	$(INCDIR)/proto.h \
 	$(INCDIR)/rfc2046.h \
+	$(INCDIR)/snprintf.h \
 	$(INCDIR)/stpwatch.h \
 	$(INCDIR)/tcurses.h \
 	$(INCDIR)/tin.h \
@@ -91,7 +90,6 @@ CFILES	= \
 	$(SRCDIR)/options_menu.c \
 	$(SRCDIR)/page.c \
 	$(SRCDIR)/parsdate.y \
-	$(SRCDIR)/plp_snprintf.c \
 	$(SRCDIR)/pgp.c \
 	$(SRCDIR)/post.c \
 	$(SRCDIR)/prompt.c \
@@ -108,11 +106,11 @@ CFILES	= \
 	$(SRCDIR)/select.c \
 	$(SRCDIR)/sigfile.c \
 	$(SRCDIR)/signal.c \
+	$(SRCDIR)/snprintf.c \
 	$(SRCDIR)/strftime.c \
 	$(SRCDIR)/string.c \
 	$(SRCDIR)/tags.c \
 	$(SRCDIR)/tcurses.c \
-	$(SRCDIR)/tmpfile.c \
 	$(SRCDIR)/my_tmpfile.c \
 	$(SRCDIR)/thread.c \
 	$(SRCDIR)/trace.c \
@@ -122,7 +120,6 @@ CFILES	= \
 	$(SRCDIR)/xref.c
 
 DOC	= \
-	$(DOCDIR)/ABOUT-NLS \
 	$(DOCDIR)/CHANGES \
 	$(DOCDIR)/CHANGES.old \
 	$(DOCDIR)/CREDITS \
@@ -146,7 +143,6 @@ DOC	= \
 	$(DOCDIR)/newsoverview.5 \
 	$(DOCDIR)/nov_tests \
 	$(DOCDIR)/opt-case.1 \
-	$(DOCDIR)/plp_snprintf.3 \
 	$(DOCDIR)/pgp.txt \
 	$(DOCDIR)/rcvars.txt \
 	$(DOCDIR)/reading-mail.txt \
@@ -163,6 +159,7 @@ DOC	= \
 
 TOL	= \
 	$(TOLDIR)/expiretover \
+	$(TOLDIR)/flnews2tin.pl \
 	$(TOLDIR)/metamutt \
 	$(TOLDIR)/opt-case.pl \
 	$(TOLDIR)/tinlock \
@@ -292,39 +289,6 @@ MISC	= \
 	$(SRCDIR)/Makefile.in \
 	$(SRCDIR)/tincfg.tbl
 
-INTLFILES = \
-	$(INTLDIR)/bindtextdom.c \
-	$(INTLDIR)/ChangeLog \
-	$(INTLDIR)/config.charset \
-	$(INTLDIR)/dcgettext.c \
-	$(INTLDIR)/dcigettext.c \
-	$(INTLDIR)/dcngettext.c \
-	$(INTLDIR)/dgettext.c \
-	$(INTLDIR)/dngettext.c \
-	$(INTLDIR)/explodename.c \
-	$(INTLDIR)/finddomain.c \
-	$(INTLDIR)/gettext.c \
-	$(INTLDIR)/gettext.h \
-	$(INTLDIR)/gettextP.h \
-	$(INTLDIR)/hash-string.h \
-	$(INTLDIR)/intl-compat.c \
-	$(INTLDIR)/l10nflist.c \
-	$(INTLDIR)/libgettext.h \
-	$(INTLDIR)/libgnuintl.h \
-	$(INTLDIR)/loadinfo.h \
-	$(INTLDIR)/loadmsgcat.c \
-	$(INTLDIR)/localcharset.c \
-	$(INTLDIR)/locale.alias \
-	$(INTLDIR)/localealias.c \
-	$(INTLDIR)/Makefile.in \
-	$(INTLDIR)/ngettext.c \
-	$(INTLDIR)/plural.c \
-	$(INTLDIR)/plural.y \
-	$(INTLDIR)/ref-add.sin \
-	$(INTLDIR)/ref-del.sin \
-	$(INTLDIR)/textdomain.c \
-	$(INTLDIR)/VERSION
-
 POFILES = \
 	$(PODIR)/Makefile.inn \
 	$(PODIR)/POTFILES.in \
@@ -365,9 +329,9 @@ L10NFILES = \
 	$(L10NDIR)/es.po \
 	$(L10NDIR)/tin-man.pot
 
-ALL_FILES = $(TOP) $(DOC) $(TOL) $(HFILES) $(CFILES) $(PCRE) $(MISC) $(CAN) $(INTLFILES) $(POFILES) $(L10NFILES)
+ALL_FILES = $(TOP) $(DOC) $(TOL) $(HFILES) $(CFILES) $(PCRE) $(MISC) $(CAN) $(POFILES) $(L10NFILES)
 
-ALL_DIRS = $(TOPDIR) $(DOCDIR) $(SRCDIR) $(INCDIR) $(PCREDIR) $(PCREDIR)/doc $(PCREDIR)/testdata $(CANDIR) $(CANDIR)/include $(CANDIR)/src $(CANDIR)/test $(CANDIR)/util/ $(INTLDIR) $(PODIR) $(L10NDIR) $(L10NDIR)/de $(L10NDIR)/en_GB
+ALL_DIRS = $(TOPDIR) $(DOCDIR) $(SRCDIR) $(INCDIR) $(PCREDIR) $(PCREDIR)/doc $(PCREDIR)/testdata $(CANDIR) $(CANDIR)/include $(CANDIR)/src $(CANDIR)/test $(CANDIR)/util/ $(PODIR) $(L10NDIR) $(L10NDIR)/de $(L10NDIR)/en_GB
 
 # standard commands
 CD	= cd
@@ -425,7 +389,6 @@ clean:
 	$(SRCDIR)/*~ \
 	$(PCREDIR)/*~
 	@-if $(TEST) -r $(PCREDIR)/Makefile ; then $(CD) $(PCREDIR) && $(MAKE) clean ; fi
-	@-if $(TEST) -r $(INTLDIR)/Makefile ; then $(CD) $(INTLDIR) && $(MAKE) clean ; fi
 	@-if $(TEST) -r $(PODIR)/Makefile ; then $(CD) $(PODIR) && $(MAKE) clean ; fi
 	@-if $(TEST) -r $(SRCDIR)/Makefile ; then $(CD) $(SRCDIR) && $(MAKE) clean ; fi
 	@-if $(TEST) -r $(CANDIR)/Makefile ; then $(CD) $(CANDIR) && $(MAKE) clean ; fi
@@ -460,6 +423,7 @@ chmod:
 	$(TOPDIR)/configure \
 	$(TOPDIR)/install-sh \
 	$(TOLDIR)/expiretover \
+	$(TOLDIR)/flnews2tin.pl \
 	$(TOLDIR)/metamutt \
 	$(TOLDIR)/opt-case.pl \
 	$(TOLDIR)/tinlock \
@@ -541,7 +505,6 @@ version:
 distclean:
 	@-$(MAKE) clean
 	@-if $(TEST) -r $(PODIR)/Makefile ; then $(CD) $(PODIR) && $(MAKE) distclean ; fi
-	@-if $(TEST) -r $(INTLDIR)/Makefile ; then $(CD) $(INTLDIR) && $(MAKE) distclean ; fi
 	@-if $(TEST) -r $(PCREDIR)/Makefile ; then $(CD) $(PCREDIR) && $(MAKE) distclean ; fi
 	@-if $(TEST) -r $(CANDIR)/Makefile ; then $(CD) $(CANDIR) && $(MAKE) distclean ; fi
 	@-$(RM) -f \
@@ -554,7 +517,6 @@ distclean:
 	$(SRCDIR)/Makefile \
 	$(PCREDIR)/Makefile \
 	$(CANDIR)/Makefile \
-	$(INTLDIR)/po2tbl.sed \
 	$(PROJECT)-$(VER).tar.gz \
 	$(PROJECT)-$(VER).tar.bz2 \
 	$(PROJECT)-$(VER).tar.xz \
diff -Nurp '--exclude=.bzr*' tin-2.6.3/aclocal.m4 tin-2.6.4/aclocal.m4
--- tin-2.6.3/aclocal.m4	2023-12-24 00:38:33.000000000 +0100
+++ tin-2.6.4/aclocal.m4	2024-12-05 16:18:01.987262719 +0100
@@ -2,7 +2,7 @@ dnl Project   : tin - a Usenet reader
 dnl Module    : aclocal.m4
 dnl Author    : Thomas E. Dickey <dickey@invisible-island.net>
 dnl Created   : 1995-08-24
-dnl Updated   : 2023-12-17
+dnl Updated   : 2024-12-02
 dnl Notes     :
 dnl
 dnl Copyright (c) 1995-2024 Thomas E. Dickey <dickey@invisible-island.net>
@@ -64,71 +64,52 @@ AC_DEFUN([AC_ISC_POSIX],
   ]
 )
 dnl ---------------------------------------------------------------------------
-dnl AM_GNU_GETTEXT version: 15 updated: 2021/01/02 09:31:20
+dnl AM_GNU_GETTEXT version: 16 updated: 2024/03/17 19:34:20
 dnl --------------
 dnl Usage: Just like AM_WITH_NLS, which see.
 AC_DEFUN([AM_GNU_GETTEXT],
-  [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-   AC_REQUIRE([AC_CANONICAL_HOST])dnl
-   AC_REQUIRE([AC_PROG_RANLIB])dnl
-   AC_REQUIRE([AC_HEADER_STDC])dnl
-   AC_REQUIRE([AC_C_INLINE])dnl
-   AC_REQUIRE([AC_TYPE_OFF_T])dnl
-   AC_REQUIRE([AC_TYPE_SIZE_T])dnl
-   AC_REQUIRE([AC_FUNC_ALLOCA])dnl
-   AC_REQUIRE([AC_FUNC_MMAP])dnl
-   AC_REQUIRE([jm_GLIBC21])dnl
-   AC_REQUIRE([CF_PROG_CC])dnl
-
-   AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
-stdlib.h string.h unistd.h sys/param.h])
-   AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getcwd getegid geteuid \
-getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \
-strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
-
+  [
    AM_ICONV
    AM_LANGINFO_CODESET
    AM_LC_MESSAGES
    AM_WITH_NLS([$1],[$2],[$3],[$4])
 
-   if test "x$CATOBJEXT" != "x"; then
-     if test "x$ALL_LINGUAS" = "x"; then
-       LINGUAS=
-     else
-       AC_MSG_CHECKING(for catalogs to be installed)
-       NEW_LINGUAS=
-       for presentlang in $ALL_LINGUAS; do
-         useit=no
-         for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do
-           # Use the presentlang catalog if desiredlang is
-           #   a. equal to presentlang, or
-           #   b. a variant of presentlang (because in this case,
-           #      presentlang can be used as a fallback for messages
-           #      which are not translated in the desiredlang catalog).
-           case "$desiredlang" in
-             "$presentlang"*) useit=yes;;
-           esac
-         done
-         if test "$useit" = yes; then
-           NEW_LINGUAS="$NEW_LINGUAS $presentlang"
-         fi
-       done
-       LINGUAS=$NEW_LINGUAS
-       AC_MSG_RESULT($LINGUAS)
-     fi
-
-     dnl Construct list of names of catalog files to be constructed.
-     if test -n "$LINGUAS"; then
-       for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
-     fi
-   fi
+   if test "$USE_NLS" = "yes"; then
+	 if test "x$ALL_LINGUAS" = "x"; then
+	   LINGUAS=
+	 else
+	   AC_MSG_CHECKING(for catalogs to be installed)
+	   NEW_LINGUAS=
+	   for presentlang in $ALL_LINGUAS; do
+		 useit=no
+		 for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do
+		   # Use the presentlang catalog if desiredlang is
+		   #   a. equal to presentlang, or
+		   #   b. a variant of presentlang (because in this case,
+		   #      presentlang can be used as a fallback for messages
+		   #      which are not translated in the desiredlang catalog).
+		   case "$desiredlang" in
+			 "$presentlang"*) useit=yes;;
+		   esac
+		 done
+		 if test "$useit" = yes; then
+		   NEW_LINGUAS="$NEW_LINGUAS $presentlang"
+		 fi
+	   done
+	   LINGUAS=$NEW_LINGUAS
+	   AC_MSG_RESULT($LINGUAS)
+	 fi
 
-   dnl Enable libtool support if the surrounding package wishes it.
-   INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], [])
-   AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
+	 dnl Construct list of names of catalog files to be constructed.
+	 if test -n "$LINGUAS"; then
+	   for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
+	 fi
+   else
+	 CATALOGS=
+   fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl AM_ICONV version: 12 updated: 2007/07/30 19:12:03
+dnl AM_ICONV version: 13 updated: 2024/10/16 03:56:13
 dnl --------
 dnl Inserted as requested by gettext 0.10.40
 dnl File from /usr/share/aclocal
@@ -181,7 +162,7 @@ size_t iconv();
     if test "$am_cv_proto_iconv_const" = yes ; then
       am_cv_proto_iconv_arg1="const"
     else
-      am_cv_proto_iconv_arg1=""
+      am_cv_proto_iconv_arg1="/* nothing */"
     fi
 
     AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
@@ -430,7 +411,7 @@ fi
 AC_SUBST($1)dnl
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl AM_WITH_NLS version: 33 updated: 2022/01/28 08:32:11
+dnl AM_WITH_NLS version: 40 updated: 2024/06/12 19:04:11
 dnl -----------
 dnl Inserted as requested by gettext 0.10.40
 dnl File from /usr/share/aclocal
@@ -456,35 +437,6 @@ dnl
 dnl serial 10
 dnl
 dnl Usage: AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR], [ENABLED]).
-dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library
-dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
-dnl    depending on --{enable,disable}-{shared,static} and on the presence of
-dnl    AM-DISABLE-SHARED). Otherwise, a static library
-dnl    $(top_builddir)/intl/libintl.a will be created.
-dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
-dnl    implementations (in libc or libintl) without the ngettext() function
-dnl    will be ignored.
-dnl LIBDIR is used to find the intl libraries.  If empty,
-dnl    the value `$(top_builddir)/intl/' is used.
-dnl ENABLED is used to control the default for the related --enable-nls, since
-dnl    not all application developers want this feature by default, e.g., lynx.
-dnl
-dnl The result of the configuration is one of three cases:
-dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
-dnl    and used.
-dnl    Catalog format: GNU --> install in $(datadir)
-dnl    Catalog extension: .mo after installation, .gmo in source tree
-dnl 2) GNU gettext has been found in the system's C library.
-dnl    Catalog format: GNU --> install in $(datadir)
-dnl    Catalog extension: .mo after installation, .gmo in source tree
-dnl 3) No internationalization, always use English msgid.
-dnl    Catalog format: none
-dnl    Catalog extension: none
-dnl The use of .gmo is historical (it was needed to avoid overwriting the
-dnl GNU format catalogs when building on a platform with an X/Open gettext),
-dnl but we keep it in order not to force irrelevant filename changes on the
-dnl maintainers.
-dnl
 AC_DEFUN([AM_WITH_NLS],
 [AC_MSG_CHECKING([whether NLS is requested])
   dnl Default is enabled NLS
@@ -498,23 +450,9 @@ AC_DEFUN([AM_WITH_NLS],
   AC_MSG_RESULT($USE_NLS)
   AC_SUBST(USE_NLS)
 
-  BUILD_INCLUDED_LIBINTL=no
-  USE_INCLUDED_LIBINTL=no
-  INTLLIBS=
-
   dnl If we use NLS figure out what method
   if test "$USE_NLS" = "yes"; then
     dnl We need to process the po/ directory.
-    POSUB=po
-    AC_DEFINE(ENABLE_NLS, 1,
-      [Define to 1 if translation of program messages to the user's native language
- is requested.])
-    AC_MSG_CHECKING([whether included gettext is requested])
-    AC_ARG_WITH(included-gettext,
-      [  --with-included-gettext use the GNU gettext library included here],
-      nls_cv_force_use_gnu_gettext=$withval,
-      nls_cv_force_use_gnu_gettext=no)
-    AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
 
     dnl Search for GNU msgfmt in the PATH.
     AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
@@ -526,108 +464,73 @@ AC_DEFUN([AM_WITH_NLS],
     AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
         ["$ac_dir/$ac_word" --omit-header /dev/null >/dev/null 2>&1], :)
 
-    nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
-    if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
-      dnl User does not insist on using GNU NLS library.  Figure out what
-      dnl to use.  If GNU gettext is available we use this.  Else we may have
-      dnl to fall back to GNU NLS library.
-      CATOBJEXT=NONE
-
-      dnl Save these (possibly-set) variables for reference.  If the user
-      dnl overrode these to provide full pathnames, then warn if not actually
-      dnl GNU gettext, but do not override their values.  Also, if they were
-      dnl overridden, suppress the part of the library test which prevents it
-      dnl from finding anything other than GNU gettext.  Doing this also
-      dnl suppresses a bogus search for the intl library.
-      cf_save_msgfmt_path="$MSGFMT"
-      cf_save_xgettext_path="$XGETTEXT"
-
-      cf_save_LIBS_1="$LIBS"
-      CF_ADD_LIBS($LIBICONV)
-
-      cf_save_OPTS_1="$CPPFLAGS"
-      if test "x$cf_save_msgfmt_path" = "x$MSGFMT" && \
-         test "x$cf_save_xgettext_path" = "x$XGETTEXT" ; then
-          CF_ADD_CFLAGS(-DIGNORE_MSGFMT_HACK)
-      fi
-
-      CF_FIND_LINKAGE(CF__INTL_HEAD,
-        CF__INTL_BODY($2),
-        intl,
-        cf_cv_func_gettext=yes,
-        cf_cv_func_gettext=no)
-
-      AC_MSG_CHECKING([for libintl.h and gettext()])
-      AC_MSG_RESULT($cf_cv_func_gettext)
-
-      LIBS="$cf_save_LIBS_1"
-      CPPFLAGS="$cf_save_OPTS_1"
-
-      if test "$cf_cv_func_gettext" = yes ; then
-        AC_DEFINE(HAVE_LIBINTL_H,1,[Define to 1 if we have libintl.h])
-
-        dnl If an already present or preinstalled GNU gettext() is found,
-        dnl use it.  But if this macro is used in GNU gettext, and GNU
-        dnl gettext is already preinstalled in libintl, we update this
-        dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
-        if test "$PACKAGE" != gettext; then
-          AC_DEFINE(HAVE_GETTEXT, 1,
-              [Define if the GNU gettext() function is already present or preinstalled.])
-
-          CF_ADD_INCDIR($cf_cv_header_path_intl)
-
-          if test -n "$cf_cv_library_file_intl" ; then
-            dnl If iconv() is in a separate libiconv library, then anyone
-            dnl linking with libintl{.a,.so} also needs to link with
-            dnl libiconv.
-            INTLLIBS="$cf_cv_library_file_intl $LIBICONV"
-            CF_ADD_LIBDIR($cf_cv_library_path_intl,INTLLIBS)
-          fi
-
-          gt_save_LIBS="$LIBS"
-          LIBS="$LIBS $INTLLIBS"
-          AC_CHECK_FUNCS(dcgettext)
-          LIBS="$gt_save_LIBS"
-
-          CATOBJEXT=.gmo
-        fi
-      elif test -z "$MSGFMT" || test -z "$XGETTEXT" ; then
-        AC_MSG_WARN(disabling NLS feature)
-        sed -e /ENABLE_NLS/d confdefs.h >confdefs.tmp
-        mv confdefs.tmp confdefs.h
-        ALL_LINGUAS=
-        CATOBJEXT=.ignored
-        MSGFMT=":"
-        GMSGFMT=":"
-        XGETTEXT=":"
-        POSUB=
-        BUILD_INCLUDED_LIBINTL=no
-        USE_INCLUDED_LIBINTL=no
-        USE_NLS=no
-        nls_cv_use_gnu_gettext=no
-      fi
+	CATOBJEXT=NONE
 
-      if test "$CATOBJEXT" = "NONE"; then
-        dnl GNU gettext is not found in the C library.
-        dnl Fall back on GNU gettext library.
-        nls_cv_use_gnu_gettext=maybe
-      fi
-    fi
+	dnl Save these (possibly-set) variables for reference.  If the user
+	dnl overrode these to provide full pathnames, then warn if not actually
+	dnl GNU gettext, but do not override their values.  Also, if they were
+	dnl overridden, suppress the part of the library test which prevents it
+	dnl from finding anything other than GNU gettext.  Doing this also
+	dnl suppresses a bogus search for the intl library.
+	cf_save_msgfmt_path="$MSGFMT"
+	cf_save_xgettext_path="$XGETTEXT"
+
+	CF_ADD_LIBS($LIBICONV)
+	cf_save_LIBS_1="$LIBS"
+	cf_save_OPTS_1="$CPPFLAGS"
+
+	AC_ARG_WITH([libintl-prefix],
+		[  --with-libintl-prefix=DIR
+                          search for libintl in DIR/include and DIR/lib],
+		[CF_ADD_OPTIONAL_PATH($withval, libintl)])
+
+	CF_FIND_LINKAGE(CF__INTL_HEAD,
+	  CF__INTL_BODY($2),
+	  intl,
+	  cf_cv_func_gettext=yes,
+	  cf_cv_func_gettext=no)
+
+	AC_MSG_CHECKING([for libintl.h and gettext()])
+	AC_MSG_RESULT($cf_cv_func_gettext)
+
+	if test "$cf_cv_func_gettext" = yes ; then
+	  AC_DEFINE(HAVE_LIBINTL_H,1,[Define to 1 if we have libintl.h])
+
+	  AC_DEFINE(HAVE_GETTEXT, 1,
+		  [Define if the GNU gettext() function is already present or preinstalled.])
+
+	  CF_ADD_INCDIR($cf_cv_header_path_intl)
+
+	  if test -n "$cf_cv_library_file_intl" ; then
+		INTLLIBS="$cf_cv_library_file_intl"
+		CF_ADD_LIBDIR($cf_cv_library_path_intl,INTLLIBS)
+	  fi
 
-    if test "$nls_cv_use_gnu_gettext" != "no"; then
-      CATOBJEXT=.gmo
-      if test -f "$srcdir/intl/libintl.h" || test -f "$srcdir/intl/libgnuintl.h" ; then
-        dnl Mark actions used to generate GNU NLS library.
-		AC_DEFINE(HAVE_LIBINTL_H,1,[Define to 1 for included intl header])
-        INTLOBJS="\$(GETTOBJS)"
-        BUILD_INCLUDED_LIBINTL=yes
-        USE_INCLUDED_LIBINTL=yes
-        INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV"
-        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
-      elif test "$nls_cv_use_gnu_gettext" = "yes"; then
-        nls_cv_use_gnu_gettext=no
-        AC_MSG_WARN(no NLS library is packaged with this application)
-      fi
+	  AC_MSG_CHECKING(if this is GNU gettext)
+	  AC_TRY_LINK(
+#define USE_MSGFMT_HACK
+CF__INTL_HEAD,
+		  CF__INTL_BODY,
+		  cf_cv_gnu_gettext=yes,
+		  cf_cv_gnu_gettext=no)
+	  AC_MSG_RESULT($cf_cv_gnu_gettext)
+	  test "$" = yes && AC_DEFINE(HAVE__NL_MSG_CAT_CNTR,1,[define to 1 if _nl_msg_cat_cntr is found with gettext/intl])
+
+	  LIBS="$LIBS $INTLLIBS"
+	  AC_CHECK_FUNCS(dcgettext)
+	  CATOBJEXT=.gmo
+	  AC_DEFINE(ENABLE_NLS, 1,
+          [Define to 1 if translation of program messages is enabled.])
+	elif test -z "$MSGFMT" || test -z "$XGETTEXT" ; then
+	  AC_MSG_WARN(disabling NLS feature)
+	  ALL_LINGUAS=
+	  CATOBJEXT=.ignored
+	  MSGFMT=":"
+	  GMSGFMT=":"
+	  XGETTEXT=":"
+	  USE_NLS=no
+	  LIBS="$cf_save_LIBS_1"
+	  CPPFLAGS="$cf_save_OPTS_1"
     fi
 
     dnl Test whether we really found GNU msgfmt.
@@ -687,50 +590,6 @@ AC_DEFUN([AM_WITH_NLS],
         esac
       done])
 
-    dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
-    dnl to 'yes' because some of the testsuite requires it.
-    if test "$PACKAGE" = gettext; then
-      BUILD_INCLUDED_LIBINTL=yes
-    fi
-
-	dnl intl/plural.c is generated from intl/plural.y.  It requires an old
-	dnl version of bison, or byacc, because plural.y uses the bison
-	dnl "%pure-parser" feature.  That requires at least bison-1.26 because
-	dnl earlier versions generate a plural.c that doesn't compile.  However,
-	dnl while byacc (2010) supports this feature, bison dropped compatibility
-	dnl beginning with version 2.3 (2008).
-	dnl
-	dnl bison or byacc are only needed for the maintainer (who touches
-	dnl plural.y).  To avoid separate Makefiles or --enable-maintainer-mode, we
-	dnl put the rule in general Makefile.  Now, some people carelessly touch
-	dnl the files or have a broken "make" program, hence the plural.c rule will
-	dnl sometimes fire.  To avoid an error, define INTL_YACC to ":" if it is
-	dnl not present or too old.
-    if test "$nls_cv_use_gnu_gettext" = "yes"; then
-      AC_CHECK_PROGS([INTL_YACC], [byacc bison])
-      if test -z "$INTL_YACC"; then
-        ac_verc_fail=yes
-      else
-        dnl Found it, now check the version.
-        AC_MSG_CHECKING([version of $INTL_YACC])
-changequote(<<,>>)dnl
-        ac_prog_version=`$INTL_YACC -V 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p;s/^\(byacc\) - \([0-9][0-9.]*\) \([0-9]*\).*$/\1-\2.\3/p'`
-        case "$ac_prog_version" in
-          byacc-[0-9].[0-9].20[1-9]*)
-             ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
-          '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-          1.2[6-9]*|1.[3-9][0-9]*|2.[0-3]*)
-changequote([,])dnl
-             ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
-          *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
-        esac
-      AC_MSG_RESULT([$ac_prog_version])
-      fi
-      if test "$ac_verc_fail" = yes; then
-        INTL_YACC=:
-      fi
-    fi
-
     dnl These rules are solely for the distribution goal.  While doing this
     dnl we only have to keep exactly one list of the available catalogs
     dnl in configure.in.
@@ -741,15 +600,10 @@ changequote([,])dnl
   fi
 
   dnl Make all variables we use known to autoconf.
-  AC_SUBST(BUILD_INCLUDED_LIBINTL)
-  AC_SUBST(USE_INCLUDED_LIBINTL)
   AC_SUBST(CATALOGS)
   AC_SUBST(CATOBJEXT)
   AC_SUBST(GMOFILES)
-  AC_SUBST(INTLLIBS)
-  AC_SUBST(INTLOBJS)
   AC_SUBST(POFILES)
-  AC_SUBST(POSUB)
 
   dnl For backward compatibility. Some configure.ins may be using this.
   nls_cv_header_intl=
@@ -1025,7 +879,7 @@ LIBS=`echo "$LIBS" | sed -e "s/[[ 	]][[
 CF_VERBOSE(...after  $LIBS)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ADD_OPTIONAL_PATH version: 3 updated: 2015/05/10 19:52:14
+dnl CF_ADD_OPTIONAL_PATH version: 6 updated: 2024/09/10 19:19:44
 dnl --------------------
 dnl Add an optional search-path to the compile/link variables.
 dnl See CF_WITH_PATH
@@ -1033,13 +887,12 @@ dnl
 dnl $1 = shell variable containing the result of --with-XXX=[DIR]
 dnl $2 = module to look for.
 AC_DEFUN([CF_ADD_OPTIONAL_PATH],[
-case "$1" in
-no)
-	;;
-yes)
+case "x$1" in
+xno|xyes|x)
 	;;
 *)
 	CF_ADD_SEARCHPATH([$1], [AC_MSG_ERROR(cannot find $2 under $1)])
+	CF_VERBOSE(setting path value for ifelse([$2],,variable,[$2]) to $1)
 	;;
 esac
 ])dnl
@@ -1096,7 +949,7 @@ ifelse([$5],NONE,,[{ test -z "$5" || tes
 }
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ANSI_CC_CHECK version: 13 updated: 2012/10/06 11:17:15
+dnl CF_ANSI_CC_CHECK version: 15 updated: 2024/05/01 15:00:19
 dnl ----------------
 dnl This was originally adapted from the macros 'fp_PROG_CC_STDC' and
 dnl 'fp_C_PROTOTYPES' in the sharutils 4.2 distribution.
@@ -1123,6 +976,8 @@ for cf_arg in "-DCC_HAS_PROTOS" \
 	"-Aa -D_HPUX_SOURCE" \
 	-Xc
 do
+	CFLAGS="$cf_save_CFLAGS"
+	CPPFLAGS="$cf_save_CPPFLAGS"
 	CF_ADD_CFLAGS($cf_arg)
 	AC_TRY_COMPILE(
 [
@@ -1131,8 +986,8 @@ do
 choke me
 #endif
 #endif
+extern int test (int i, double x);
 ],[
-	int test (int i, double x);
 	struct s1 {int (*f) (int a);};
 	struct s2 {int (*f) (double a);};],
 	[cf_cv_ansi_cc="$cf_arg"; break])
@@ -1329,7 +1184,7 @@ fi
 AC_SUBST(ARFLAGS)
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_BUILD_CC version: 11 updated: 2022/12/04 15:40:08
+dnl CF_BUILD_CC version: 13 updated: 2024/06/22 13:42:22
 dnl -----------
 dnl If we're cross-compiling, allow the user to override the tools and their
 dnl options.  The configure script is oriented toward identifying the host
@@ -1501,23 +1356,19 @@ AC_SUBST(CAN_CPPFLAGS)
 AC_SUBST(CAN_MAKEFILE)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_BUNDLED_INTL version: 21 updated: 2023/01/10 19:35:04
+dnl CF_BUNDLED_INTL version: 22 updated: 2024/03/17 19:34:20
 dnl ---------------
 dnl Top-level macro for configuring an application with a bundled copy of
-dnl the intl and po directories for gettext.
+dnl the po directory for gettext.
 dnl
 dnl $1 specifies either Makefile or makefile, defaulting to the former.
 dnl $2 if nonempty sets the option to --enable-nls rather than to --disable-nls
 dnl
 dnl Sets variables which can be used to substitute in makefiles:
-dnl	GT_YES       - "#" comment unless building intl library, otherwise empty
-dnl	GT_NO        - "#" comment if building intl library, otherwise empty
-dnl	INTLDIR_MAKE - to make ./intl directory
-dnl	MSG_DIR_MAKE - to make ./po directory
-dnl	SUB_MAKEFILE - list of makefiles in ./intl, ./po directories
+dnl	MSG_DIR_MAKE - empty to make ./po directory
+dnl	SUB_MAKEFILE - makefile in ./po directory
 dnl
 dnl Defines:
-dnl	HAVE_LIBGETTEXT_H if we're using ./intl
 dnl	NLS_TEXTDOMAIN
 dnl
 dnl Environment:
@@ -1562,73 +1413,17 @@ if test "$USE_NLS" = yes ; then
 	AC_SUBST(NLS_TEXTDOMAIN)
 fi
 
-INTLDIR_MAKE=
 MSG_DIR_MAKE=
 SUB_MAKEFILE=
 
 dnl this updates SUB_MAKEFILE and MSG_DIR_MAKE:
 CF_OUR_MESSAGES($1)
 
-if test "$USE_INCLUDED_LIBINTL" = yes ; then
-	if test "$nls_cv_force_use_gnu_gettext" = yes ; then
-		:
-	elif test "$nls_cv_use_gnu_gettext" != no ; then
-		:
-	else
-		INTLDIR_MAKE="#"
-	fi
-	if test -z "$INTLDIR_MAKE"; then
-		AC_DEFINE(HAVE_LIBGETTEXT_H,1,[Define to 1 if we have libgettext.h])
-		for cf_makefile in \
-			$srcdir/intl/Makefile.in \
-			$srcdir/intl/makefile.in
-		do
-			if test -f "$cf_makefile" ; then
-				SUB_MAKEFILE="$SUB_MAKEFILE `echo \"${cf_makefile}\"|sed -e 's,^'$srcdir/',,' -e 's/\.in$//'`:${cf_makefile}"
-				break
-			fi
-		done
-	fi
-else
-	INTLDIR_MAKE="#"
-	if test "$USE_NLS" = yes ; then
-		AC_CHECK_HEADERS(libintl.h)
-	fi
-fi
-
-if test -z "$INTLDIR_MAKE" ; then
-	CF_APPEND_TEXT(CPPFLAGS,-I../intl)
-fi
-
-dnl FIXME:  we use this in lynx (the alternative is a spurious dependency upon
-dnl GNU make)
-if test "$BUILD_INCLUDED_LIBINTL" = yes ; then
-	GT_YES="#"
-	GT_NO=
-else
-	GT_YES=
-	GT_NO="#"
+if test "$USE_NLS" = yes ; then
+	AC_CHECK_HEADERS(libintl.h)
 fi
 
-AC_SUBST(INTLDIR_MAKE)
 AC_SUBST(MSG_DIR_MAKE)
-AC_SUBST(GT_YES)
-AC_SUBST(GT_NO)
-
-dnl FIXME:  the underlying AM_GNU_GETTEXT macro either needs some fixes or a
-dnl little documentation.  It doesn't define anything so that we can ifdef our
-dnl own code, except ENABLE_NLS, which is too vague to be of any use.
-
-if test "$USE_INCLUDED_LIBINTL" = yes ; then
-	if test "$nls_cv_force_use_gnu_gettext" = yes ; then
-		AC_DEFINE(HAVE_GETTEXT,1,[Define to 1 if we have gettext function])
-	elif test "$nls_cv_use_gnu_gettext" = yes ; then
-		AC_DEFINE(HAVE_GETTEXT,1,[Define to 1 if we have gettext function])
-	fi
-	if test -n "$nls_cv_header_intl" ; then
-		AC_DEFINE(HAVE_LIBINTL_H,1,[Define to 1 if we have header-file for libintl])
-	fi
-fi
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl CF_BUNDLED_PCRE version: 4 updated: 2009/12/24 04:20:51
@@ -1910,7 +1705,7 @@ fi
 
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_CHECK_FD_SET version: 5 updated: 2012/10/06 11:17:15
+dnl CF_CHECK_FD_SET version: 6 updated: 2024/12/04 03:41:57
 dnl ---------------
 dnl Check if the fd_set type and corresponding macros are defined.
 AC_DEFUN([CF_CHECK_FD_SET],
@@ -1918,7 +1713,7 @@ AC_DEFUN([CF_CHECK_FD_SET],
 AC_REQUIRE([CF_TYPE_FD_SET])
 AC_CACHE_CHECK([for fd_set macros],cf_cv_macros_fd_set,[
 AC_TRY_COMPILE([
-#include <sys/types.h>
+$ac_includes_default
 #if USE_SYS_SELECT_H
 # include <sys/select.h>
 #else
@@ -2073,7 +1868,7 @@ if test "x$ifelse([$2],,CLANG_COMPILER,[
 fi
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_COLOR_CURSES version: 9 updated: 2021/01/02 09:31:20
+dnl CF_COLOR_CURSES version: 10 updated: 2024/01/07 06:54:12
 dnl ---------------
 dnl Check if curses supports color.  (Note that while SVr3 curses supports
 dnl color, it does this differently from SVr4 curses; more work would be needed
@@ -2085,14 +1880,14 @@ AC_MSG_CHECKING(if curses supports color
 AC_CACHE_VAL(cf_cv_color_curses,[
 	AC_TRY_LINK([
 #include <${cf_cv_ncurses_header:-curses.h}>
-],
-	[chtype x = COLOR_BLUE;
-	 has_colors();
-	 start_color();
+],[
+	chtype x = COLOR_BLUE; (void)x;
+	has_colors();
+	start_color();
 #ifndef NCURSES_BROKEN
-	 wbkgd(curscr, getbkgd(stdscr)); /* X/Open XPG4 aka SVr4 Curses */
+	wbkgd(curscr, getbkgd(stdscr)); /* X/Open XPG4 aka SVr4 Curses */
 #endif
-	],
+],
 	[cf_cv_color_curses=yes],
 	[cf_cv_color_curses=no])
 	])
@@ -2103,7 +1898,7 @@ if test "$cf_cv_color_curses" = yes ; th
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_COMPTYPE version: 4 updated: 2023/12/17 10:59:59
+dnl CF_COMPTYPE version: 5 updated: 2024/12/04 03:41:57
 dnl -----------
 dnl Check if the compiler uses 'void *' for qsort's compare function parameters
 dnl (i.e., it's an ANSI prototype).
@@ -2112,9 +1907,7 @@ AC_DEFUN([CF_COMPTYPE],
 AC_MSG_CHECKING([for ANSI qsort])
 AC_CACHE_VAL(cf_cv_comptype,[
 	AC_TRY_COMPILE([
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
+$ac_includes_default
 	extern int compare(const void *, const void *);
 	],
 	[static char foo[] = "string";
@@ -2130,7 +1923,7 @@ else
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_CONST_X_STRING version: 8 updated: 2023/12/01 17:22:50
+dnl CF_CONST_X_STRING version: 9 updated: 2024/12/04 03:49:57
 dnl -----------------
 dnl The X11R4-X11R6 Xt specification uses an ambiguous String type for most
 dnl character-strings.
@@ -2157,7 +1950,7 @@ CF_SAVE_XTRA_FLAGS([CF_CONST_X_STRING])
 
 AC_TRY_COMPILE(
 [
-#include <stdlib.h>
+$ac_includes_default
 #include <X11/Intrinsic.h>
 ],
 [String foo = malloc(1); free((void*)foo)],[
@@ -2168,7 +1961,7 @@ AC_CACHE_CHECK(for X11/Xt const-feature,
 #undef  _CONST_X_STRING
 #define _CONST_X_STRING	/* X11R7.8 (perhaps) */
 #undef  XTSTRINGDEFINES	/* X11R5 and later */
-#include <stdlib.h>
+$ac_includes_default
 #include <X11/Intrinsic.h>
 		],[String foo = malloc(1); *foo = 0],[
 			cf_cv_const_x_string=no
@@ -2327,15 +2120,22 @@ CF_CURSES_HEADER
 CF_TERM_HEADER
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_CURSES_FUNCS version: 20 updated: 2020/12/31 20:19:42
+dnl CF_CURSES_FUNCS version: 21 updated: 2024/06/11 20:24:35
 dnl ---------------
 dnl Curses-functions are a little complicated, since a lot of them are macros.
+dnl
+dnl $1 is a list of functions to test
 AC_DEFUN([CF_CURSES_FUNCS],
 [
 AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
 AC_REQUIRE([CF_XOPEN_CURSES])
 AC_REQUIRE([CF_CURSES_TERM_H])
 AC_REQUIRE([CF_CURSES_UNCTRL_H])
+
+AC_FOREACH([AC_Func], [$1],
+  [AH_TEMPLATE(AS_TR_CPP(HAVE_[]AC_Func),
+               [Define if you have the `]AC_Func[' function.])])dnl
+
 for cf_func in $1
 do
 	CF_UPPER(cf_tr_func,$cf_func)
@@ -2611,7 +2411,7 @@ esac
 
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_CURSES_TERM_H version: 15 updated: 2021/01/02 09:31:20
+dnl CF_CURSES_TERM_H version: 16 updated: 2024/01/07 06:34:16
 dnl ----------------
 dnl SVr4 curses should have term.h as well (where it puts the definitions of
 dnl the low-level interface).  This may not be true in old/broken implementations,
@@ -2657,7 +2457,7 @@ no)
 #ifdef NCURSES_VERSION
 #include <${cf_header}>
 #else
-make an error
+#error expected NCURSES_VERSION to be defined
 #endif],
 			[WINDOW *x; (void)x],
 			[cf_cv_term_header=$cf_header
@@ -2736,7 +2536,7 @@ ncursesw/unctrl.h)
 esac
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_DEFAULT_SHELL version: 7 updated: 2019/12/31 20:39:42
+dnl CF_DEFAULT_SHELL version: 8 updated: 2024/04/01 20:13:36
 dnl ----------------
 dnl Look for a Bourne-shell compatible program from a list that we know about:
 dnl	ash	Almquist Shell (sh based)
@@ -2768,7 +2568,7 @@ make an error
 ],[$cf_shell_progs="csh tcsh $cf_shell_progs"])
 fi
 CF_MSG_LOG(paths of shell programs: $cf_shell_progs)
-if test -s /etc/shells && test `egrep -c -v '^(#| |    |$)' /etc/shells` -gt 0; then
+if test -s /etc/shells && test `${EGREP-egrep}  -c -v '^(#| |    |$)' /etc/shells` -gt 0; then
 	CF_MSG_LOG(/etc/shells)
 	for cf_prog in $cf_shell_progs
 	do
@@ -2783,7 +2583,7 @@ if test -s /etc/shells && test `egrep -c
 				cf_pattern="/"$cf_prog"$"
 				;;
 		esac
-		cf_path=`egrep $cf_pattern /etc/shells 2>/dev/null`
+		cf_path=`${EGREP-egrep} $cf_pattern /etc/shells 2>/dev/null`
 		if test -n "$cf_path"
 		then
 			for cf_shell in $cf_path
@@ -3795,6 +3595,26 @@ if test x$cf_cv_gnu_library = xyes; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_GLOB_FULLPATH version: 2 updated: 2024/08/03 12:34:02
+dnl ----------------
+dnl Use this in case-statements to check for pathname syntax, i.e., absolute
+dnl pathnames.  The "x" is assumed since we provide an alternate form for DOS.
+AC_DEFUN([CF_GLOB_FULLPATH],[
+AC_REQUIRE([CF_WITH_SYSTYPE])dnl
+case "$cf_cv_system_name" in
+cygwin*|msys*|mingw32*|mingw64|os2*)
+	GLOB_FULLPATH_POSIX='/*'
+	GLOB_FULLPATH_OTHER='[[a-zA-Z]]:[[\\/]]*'
+	;;
+*)
+	GLOB_FULLPATH_POSIX='/*'
+	GLOB_FULLPATH_OTHER=$GLOB_FULLPATH_POSIX
+	;;
+esac
+AC_SUBST(GLOB_FULLPATH_POSIX)
+AC_SUBST(GLOB_FULLPATH_OTHER)
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl CF_HEADER_PATH version: 15 updated: 2021/01/01 13:31:04
 dnl --------------
 dnl Construct a search-list of directories for a nonstandard header-file
@@ -3932,7 +3752,7 @@ ifelse($1,,,[$1=$LIB_PREFIX])
 	AC_SUBST(LIB_PREFIX)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_LOCKFILE version: 3 updated: 2023/12/17 10:59:59
+dnl CF_LOCKFILE version: 4 updated: 2024/12/04 03:42:43
 dnl -----------
 dnl Check for functions that we can use for file-locking.  Simply checking for
 dnl existence is not sufficient, since fcntl, for example, uses definitions
@@ -3953,10 +3773,7 @@ if eval 'test ${ac_cv_func_'$cf_lock'+se
 	case $cf_lock in #(vi
 	fcntl) #(vi
 		AC_TRY_COMPILE([
-#include <stdio.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
+$ac_includes_default
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
 #endif
@@ -3978,10 +3795,7 @@ if eval 'test ${ac_cv_func_'$cf_lock'+se
 		;;
 	lockf) #(vi
 		AC_TRY_COMPILE([
-#include <stdio.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
+$ac_includes_default
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
 #endif
@@ -3996,10 +3810,7 @@ if eval 'test ${ac_cv_func_'$cf_lock'+se
 		;;
 	flock)
 		AC_TRY_COMPILE([
-#include <stdio.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
+$ac_includes_default
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
 #endif
@@ -4073,7 +3884,7 @@ AC_DEFUN([CF_MSG_LOG],[
 echo "${as_me:-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_BROKEN version: 8 updated: 2012/11/08 20:57:52
+dnl CF_NCURSES_BROKEN version: 10 updated: 2024/01/07 06:54:12
 dnl -----------------
 dnl Check for pre-1.9.9g ncurses (among other problems, the most obvious is
 dnl that color combinations don't work).
@@ -4086,9 +3897,9 @@ AC_CACHE_VAL(cf_cv_ncurses_broken,[
 AC_TRY_COMPILE([
 #include <${cf_cv_ncurses_header:-curses.h}>],[
 #if defined(NCURSES_VERSION) && defined(wgetbkgd)
-	make an error
+	#error expected wgetbkgd to be defined with ncurses
 #else
-	int x = 1
+	int x = 1; (void)x;
 #endif
 ],
 	[cf_cv_ncurses_broken=no],
@@ -4450,7 +4261,7 @@ CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_ncul
 AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_VERSION version: 17 updated: 2023/01/05 18:54:02
+dnl CF_NCURSES_VERSION version: 18 updated: 2024/01/07 06:34:16
 dnl ------------------
 dnl Check for the version of ncurses, to aid in reporting bugs, etc.
 dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS.  We don't use
@@ -4480,7 +4291,7 @@ int main(void)
 # ifdef __NCURSES_H
 	fprintf(fp, "old\\n");
 # else
-	make an error
+	#error expected ncurses header to define __NCURSES_H
 # endif
 #endif
 	${cf_cv_main_return:-return}(0);
@@ -4514,7 +4325,7 @@ EOF
 test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NETLIBS version: 12 updated: 2021/01/02 09:31:20
+dnl CF_NETLIBS version: 13 updated: 2024/06/04 20:31:17
 dnl ----------
 dnl After checking for functions in the default $LIBS, make a further check
 dnl for the functions that are netlib-related (these aren't always in the
@@ -4576,7 +4387,7 @@ mingw*)
 		CF_RECHECK_FUNC(gethostname,nsl,cf_cv_netlibs,[
 			CF_RECHECK_FUNC(gethostname,socket,cf_cv_netlibs)])])
 
-	AC_CHECK_LIB(inet, main, cf_cv_netlibs="-linet $cf_cv_netlibs")
+	AC_CHECK_LIB(inet, inet_ntoa, cf_cv_netlibs="-linet $cf_cv_netlibs")
 
 	if test "$ac_cv_func_lsocket" != no ; then
 	AC_CHECK_FUNCS(socket,,[
@@ -4648,7 +4459,7 @@ case ".$with_cflags" in
 esac
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_OUR_MESSAGES version: 8 updated: 2021/01/02 09:31:20
+dnl CF_OUR_MESSAGES version: 9 updated: 2024/04/08 18:39:25
 dnl ---------------
 dnl Check if we use the messages included with this program
 dnl
@@ -4667,7 +4478,7 @@ if test "$USE_NLS" = yes ; then
 if test -d "$srcdir/po" ; then
 AC_MSG_CHECKING(if we should use included message-library)
 	AC_ARG_ENABLE(included-msgs,
-	[  --disable-included-msgs use included messages, for i18n support],
+	[  --disable-included-msgs do not use included messages for i18n support],
 	[use_our_messages=$enableval],
 	[use_our_messages=yes])
 fi
@@ -4781,35 +4592,35 @@ fi
 AC_MSG_RESULT($DEFAULT_MAILER)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_PATH_SYNTAX version: 18 updated: 2020/12/31 18:40:20
+dnl CF_PATH_SYNTAX version: 19 updated: 2024/08/03 13:08:58
 dnl --------------
 dnl Check the argument to see that it looks like a pathname.  Rewrite it if it
 dnl begins with one of the prefix/exec_prefix variables, and then again if the
 dnl result begins with 'NONE'.  This is necessary to work around autoconf's
 dnl delayed evaluation of those symbols.
 AC_DEFUN([CF_PATH_SYNTAX],[
+AC_REQUIRE([CF_GLOB_FULLPATH])dnl
+
 if test "x$prefix" != xNONE; then
 	cf_path_syntax="$prefix"
 else
 	cf_path_syntax="$ac_default_prefix"
 fi
 
-case ".[$]$1" in
-.\[$]\(*\)*|.\'*\'*)
-	;;
-..|./*|.\\*)
+case "x[$]$1" in
+x\[$]\(*\)*|x\'*\'*)
 	;;
-.[[a-zA-Z]]:[[\\/]]*) # OS/2 EMX
+x.|x$GLOB_FULLPATH_POSIX|x$GLOB_FULLPATH_OTHER)
 	;;
-.\[$]\{*prefix\}*|.\[$]\{*dir\}*)
+x\[$]\{*prefix\}*|x\[$]\{*dir\}*)
 	eval $1="[$]$1"
-	case ".[$]$1" in
-	.NONE/*)
+	case "x[$]$1" in
+	xNONE/*)
 		$1=`echo "[$]$1" | sed -e s%NONE%$cf_path_syntax%`
 		;;
 	esac
 	;;
-.no|.NONE/*)
+xno|xNONE/*)
 	$1=`echo "[$]$1" | sed -e s%NONE%$cf_path_syntax%`
 	;;
 *)
@@ -4863,6 +4674,78 @@ else
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_PIC_HACK version: 3 updated: 2024/04/08 18:39:25
+dnl -----------
+dnl First noticed in 2016, some systems have gcc configured with
+dnl --enable-default-pie, which breaks linking of applications which do not
+dnl explicitly specify the -static or the -shared options.  The linker advises
+dnl using -fPIC when compiling.  That "works", but entails a performance
+dnl penalty, and the configure script has to determine this before making any
+dnl feature tests.
+dnl
+dnl With Fedora, this check is only needed when building using the "hardening"
+dnl flags.  Without those, the linker has different behavior.
+dnl
+dnl Some background:
+dnl https://wiki.gentoo.org/wiki/Hardened/Toolchain
+dnl https://gcc.gnu.org/ml/gcc-patches/2014-07/msg02231.html
+dnl https://stackoverflow.com/questions/6093547/what-do-r-x86-64-32s-and-r-x86-64-64-relocation-mean
+dnl https://unix.stackexchange.com/questions/89211/how-to-test-whether-a-linux-binary-was-compiled-as-position-independent-code
+AC_DEFUN([CF_PIC_HACK],[
+CF_ACVERSION_CHECK(2.52,
+	[AC_PATH_TOOL(READELF, readelf, none)],
+	[AC_PATH_PROG(READELF, readelf, none)])
+
+AC_CACHE_CHECK(if -fPIC option is needed in CFLAGS,cf_cv_pic_hack,[
+cf_cv_pic_hack=unknown
+
+case "${CFLAGS}${CC_SHARED_OPTS}" in
+*-fPIC)
+	cf_cv_pic_hack=no
+	;;
+esac
+
+if test "$READELF" = none
+then
+	cf_cv_pic_hack=unknown
+elif test $cf_cv_pic_hack = no
+then
+	:
+elif test "$GCC" = yes
+then
+	if $READELF --version >/dev/null 2>/dev/null
+	then
+		cat >conftest.$ac_ext <<EOF
+#line __oline__ "configure"
+#include <stdio.h>
+int main(void) { FILE *fp = fopen("hello", "w"); return (fp != 0); }
+EOF
+		if AC_TRY_EVAL(ac_compile) ; then
+			cf_cv_pic_hack=no
+			for cf_pie_relocs in `$READELF --relocs conftest.$ac_cv_objext 2>/dev/null | awk '[$]3~/^R_/ && [$]5!~/^\.debug/{print [$]3}'`
+			do
+				case "x$cf_pie_relocs" in
+				xR_X86_64_32|xR_X86_64_32S)
+					CF_MSG_LOG(found $cf_pie_relocs)
+					cf_cv_pic_hack=yes
+					break
+					;;
+				esac
+			done
+		else
+			CF_MSG_LOG(cannot compile test-program)
+		fi
+		rm -f conftest.$ac_ext conftest.$ac_cv_objext
+	fi
+fi
+])
+
+if test "x$cf_cv_pic_hack" = xyes
+then
+	CF_ADD_CFLAGS(-fPIC)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl CF_PKG_CONFIG version: 13 updated: 2023/10/28 11:59:01
 dnl -------------
 dnl Check for the package-config program, unless disabled by command-line.
@@ -5097,32 +4980,6 @@ AC_SUBST(PROG_EXT)
 test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT",[Define to the program extension (normally blank)])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_PROG_SUM_R version: 3 updated: 2019/12/31 20:39:42
-dnl -------------
-dnl See if sum can take -r
-AC_DEFUN([CF_PROG_SUM_R],
-[
-if test $ac_cv_path_PATH_SUM
-then
-AC_MSG_CHECKING([if $ac_cv_path_PATH_SUM takes -r])
-AC_CACHE_VAL(ac_cv_prog_sum_r,[
-if AC_TRY_COMMAND($ac_cv_path_PATH_SUM -r config.log 1>&AC_FD_CC)
-then
-	ac_cv_prog_sum_r=yes
-else
-	ac_cv_prog_sum_r=no
-fi
-])
-if test $ac_cv_prog_sum_r = yes; then
-	AC_DEFINE(SUM_TAKES_DASH_R,1,[Define this if the sum command support -r option])
-	AC_DEFINE_UNQUOTED(PATH_SUM_R, "$ac_cv_path_PATH_SUM -r", [Define this to the sum command, with -r option if supported])
-else
-	AC_DEFINE_UNQUOTED(PATH_SUM_R, "$ac_cv_path_PATH_SUM")
-fi
-AC_MSG_RESULT($ac_cv_prog_sum_r)
-fi
-])dnl
-dnl ---------------------------------------------------------------------------
 dnl CF_PROG_YACC version: 3 updated: 2022/12/21 19:22:20
 dnl ------------
 dnl A better version of AC_PROC_YACC, verifies that we'll only choose bison if
@@ -5529,32 +5386,39 @@ AC_DEFUN([CF_SOCKS],[
   fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_SOCKS5 version: 12 updated: 2012/11/08 20:57:52
+dnl CF_SOCKS5 version: 13 updated: 2024/06/02 16:00:53
 dnl ---------
-dnl Check for socks5 configuration
+dnl Check for socks5 configuration (allowing for socks4 and dante variants)
 dnl $1 = the [optional] directory in which the library may be found
 AC_DEFUN([CF_SOCKS5],[
   CF_ADD_OPTIONAL_PATH($1, [socks5 library])
 
-CF_ADD_LIBS(-lsocks5)
+AC_CHECK_LIB(socks5, SOCKSinit, cf_cv_socks_lib=socks5,[
+AC_CHECK_LIB(socksd, SOCKSinit, cf_cv_socks_lib=socksd,[
+AC_CHECK_LIB(socks, SOCKSinit, cf_cv_socks_lib=socks,[
+cf_cv_socks_lib=no])])])
+
+if test "$cf_cv_socks_lib" = no ; then
+	AC_MSG_ERROR(cannot find socks5 library)
+else
+	CF_ADD_LIBS(-l$cf_cv_socks_lib)
+fi
 
 AC_DEFINE(USE_SOCKS5,1,[Define to 1 if we are using socks5 library])
 AC_DEFINE(SOCKS,1,[Define to 1 if we are using socks library])
 
-AC_MSG_CHECKING(if the socks library uses socks4 prefix)
+AC_CACHE_CHECK([if the socks library uses socks4 prefix],cf_use_socks4,[
 cf_use_socks4=error
 AC_TRY_LINK([
 #include <socks.h>],[
 	Rinit((char *)0)],
-	[AC_DEFINE(USE_SOCKS4_PREFIX,1,[Define to 1 if socks library uses socks4 prefix])
-	 cf_use_socks4=yes],
+	[cf_use_socks4=yes],
 	[AC_TRY_LINK([#include <socks.h>],
 		[SOCKSinit((char *)0)],
-		[cf_use_socks4=no],
-		[AC_MSG_ERROR(Cannot link with socks5 library)])])
-AC_MSG_RESULT($cf_use_socks4)
+		[cf_use_socks4=no])])])
 
 if test "$cf_use_socks4" = "yes" ; then
+	AC_DEFINE(USE_SOCKS4_PREFIX,1,[Define to 1 if socks library uses socks4 prefix])
 	AC_DEFINE(accept,Raccept)
 	AC_DEFINE(bind,Rbind)
 	AC_DEFINE(connect,Rconnect)
@@ -5563,11 +5427,13 @@ if test "$cf_use_socks4" = "yes" ; then
 	AC_DEFINE(listen,Rlisten)
 	AC_DEFINE(recvfrom,Rrecvfrom)
 	AC_DEFINE(select,Rselect)
-else
+elif test "$cf_use_socks4" = "no" ; then
 	AC_DEFINE(accept,SOCKSaccept)
 	AC_DEFINE(getpeername,SOCKSgetpeername)
 	AC_DEFINE(getsockname,SOCKSgetsockname)
 	AC_DEFINE(recvfrom,SOCKSrecvfrom)
+else
+	AC_MSG_ERROR(Cannot link with socks5 library)
 fi
 
 AC_MSG_CHECKING(if socks5p.h is available)
@@ -6445,6 +6311,26 @@ AC_ARG_WITH($1,[$2],ifelse($3,,
 ])dnl
 undefine([cf_path_name])undefine([cf_have_name])])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_WITH_SYSTYPE version: 1 updated: 2013/01/26 16:26:12
+dnl ---------------
+dnl For testing, override the derived host system-type which is used to decide
+dnl things such as the linker commands used to build shared libraries.  This is
+dnl normally chosen automatically based on the type of system which you are
+dnl building on.  We use it for testing the configure script.
+dnl
+dnl This is different from the --host option: it is used only for testing parts
+dnl of the configure script which would not be reachable with --host since that
+dnl relies on the build environment being real, rather than mocked up.
+AC_DEFUN([CF_WITH_SYSTYPE],[
+CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
+AC_ARG_WITH(system-type,
+	[  --with-system-type=XXX  test: override derived host system-type],
+[AC_MSG_WARN(overriding system type to $withval)
+	cf_cv_system_name=$withval
+	host_os=$withval
+])
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl CF_WITH_VALUE version: 4 updated: 2019/12/31 20:39:42
 dnl -------------
 dnl Wrapper for AC_ARG_WITH to ensure that if the user supplies a value, it is
@@ -6459,7 +6345,7 @@ AC_DEFUN([CF_WITH_VALUE],
  AC_DEFINE_UNQUOTED($3,"$withval",[Define a value for $1])dnl
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_XOPEN_CURSES version: 19 updated: 2023/12/13 18:02:34
+dnl CF_XOPEN_CURSES version: 20 updated: 2024/01/07 06:54:12
 dnl ---------------
 dnl Test if we should define X/Open source for curses, needed on Digital Unix
 dnl 4.x, to see the extended functions, but breaks on IRIX 6.x.
@@ -6476,11 +6362,11 @@ $ac_includes_default
 #include <${cf_cv_ncurses_header:-curses.h}>],[
 #if defined(NCURSES_VERSION_PATCH)
 #if (NCURSES_VERSION_PATCH < 20100501) && (NCURSES_VERSION_PATCH >= 20100403)
-	make an error
+	#error disallow ncurses versions between 2020/04/03 and 2010/05/01
 #endif
 #endif
 #ifdef NCURSES_WIDECHAR
-make an error	/* prefer to fall-through on the second checks */
+#error prefer to fall-through on the second checks
 #endif
 	static char dummy[10];
 	cchar_t check;
@@ -6525,7 +6411,7 @@ esac
 
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_XOPEN_SOURCE version: 67 updated: 2023/09/06 18:55:27
+dnl CF_XOPEN_SOURCE version: 68 updated: 2024/11/09 18:07:29
 dnl ---------------
 dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
 dnl or adapt to the vendor's definitions to get equivalent functionality,
@@ -6588,6 +6474,9 @@ irix[[56]].*)
 linux*gnu|linux*gnuabi64|linux*gnuabin32|linux*gnueabi|linux*gnueabihf|linux*gnux32|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin|msys|mingw*|linux*uclibc)
 	CF_GNU_SOURCE($cf_XOPEN_SOURCE)
 	;;
+linux*musl)
+	cf_xopen_source="-D_BSD_SOURCE"
+	;;
 minix*)
 	cf_xopen_source="-D_NETBSD_SOURCE" # POSIX.1-2001 features are ifdef'd with this...
 	;;
@@ -7052,7 +6941,7 @@ define([CF__ICONV_HEAD],[
 #include <iconv.h>]
 )dnl
 dnl ---------------------------------------------------------------------------
-dnl CF__INTL_BODY version: 4 updated: 2021/05/19 19:35:25
+dnl CF__INTL_BODY version: 5 updated: 2024/06/12 19:04:11
 dnl -------------
 dnl Test-code needed for libintl compile-checks
 dnl $1 = parameter 2 from AM_WITH_NLS
@@ -7060,7 +6949,7 @@ define([CF__INTL_BODY],[
 	bindtextdomain ("", "");
 	return (gettext ("") != 0)
 			ifelse([$1], need-ngettext, [ + (ngettext ("", "", 0) != 0)], [])
-#ifndef IGNORE_MSGFMT_HACK
+#ifdef USE_MSGFMT_HACK
 			[ + _nl_msg_cat_cntr]
 #endif
 ])
@@ -7120,11 +7009,13 @@ AC_CACHE_CHECK(whether we are using the
 	GLIBC21="$ac_cv_gnu_library_2_1"
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_ZLIB version: 4 updated: 2011/05/28 12:10:58
+dnl CF_WITH_ZLIB version: 6 updated: 2024/09/10 19:19:44
 dnl ------------
 dnl check for libz aka "zlib"
+dnl
+dnl $1 if present is yes/no, e.g., from a --with-zlib option.
 AC_DEFUN([CF_WITH_ZLIB],[
-  CF_ADD_OPTIONAL_PATH($1)
+  ifelse([$1],,,[CF_ADD_OPTIONAL_PATH($1, [zlib])])
 
   CF_FIND_LINKAGE([
 #include <zlib.h>
@@ -7136,3 +7027,29 @@ AC_CHECK_FUNCS( \
 	zError \
 )
 ])dnl
+
+dnl ---------------------------------------------------------------------------
+dnl CF_FUNC_CURSES_VERSION version: 9 updated: 2023/01/05 18:06:10
+dnl ----------------------
+dnl Solaris has a data item 'curses_version', which confuses AC_CHECK_FUNCS.
+dnl It's a character string "SVR4", not documented.
+AC_DEFUN([CF_FUNC_CURSES_VERSION],
+[
+AC_CACHE_CHECK(for function curses_version, cf_cv_func_curses_version,[
+AC_TRY_RUN([
+$ac_includes_default
+
+#include <${cf_cv_ncurses_header:-curses.h}>
+
+int main(void)
+{
+        char temp[1024];
+        sprintf(temp, "%.999s\\n", curses_version());
+        ${cf_cv_main_return:-return}(0);
+}]
+,[cf_cv_func_curses_version=yes]
+,[cf_cv_func_curses_version=no]
+,[cf_cv_func_curses_version=unknown])
+rm -f core])
+test "$cf_cv_func_curses_version" = yes && AC_DEFINE(HAVE_CURSES_VERSION,1,[Define to 1 if we have curses_version function])
+])dnl
diff -Nurp '--exclude=.bzr*' tin-2.6.3/conf-tin tin-2.6.4/conf-tin
--- tin-2.6.3/conf-tin	2022-10-19 06:31:12.000000000 +0200
+++ tin-2.6.4/conf-tin	2024-06-04 22:34:20.652809141 +0200
@@ -16,7 +16,6 @@ cat >>$OUT <<EOF/
 ** user: `id`
 ** conf: $*
 EOF/
-OPTS="$*"
 
 CC="${CC-cc}"
 
@@ -48,9 +47,11 @@ else
 fi
 
 echo "Making with $CC $CFLAGS"
+exec 4>&1
+RC=`{ { \
 CFLAGS="$CFLAGS" \
 CC="$CC" \
-$SHELL ./configure --verbose \
+"$SHELL" ./configure --verbose \
 	--disable-echo \
 	--enable-prototypes \
 	--enable-nntp-only \
@@ -58,4 +59,6 @@ $SHELL ./configure --verbose \
 	--with-pcre2-config \
 	--with-domain-name=/etc/NNTP_INEWS_DOMAIN \
 	--with-coffee \
-        $OPTS $* 2>&1 |tee -a $OUT
+	"$@" 2>&1; \
+	echo $? 1>&3; } |tee -a $OUT 1>&4; } 3>&1`
+exit "$RC"
diff -Nurp '--exclude=.bzr*' tin-2.6.3/config.guess tin-2.6.4/config.guess
--- tin-2.6.3/config.guess	2023-12-24 00:38:33.000000000 +0100
+++ tin-2.6.4/config.guess	2024-07-29 06:33:17.000000000 +0200
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2023 Free Software Foundation, Inc.
+#   Copyright 1992-2024 Free Software Foundation, Inc.
 
 # shellcheck disable=SC2006,SC2268 # see below for rationale
 
-timestamp='2023-08-22'
+timestamp='2024-07-27'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -60,7 +60,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2023 Free Software Foundation, Inc.
+Copyright 1992-2024 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -123,7 +123,7 @@ set_cc_for_build() {
     dummy=$tmp/dummy
     case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
 	,,)    echo "int x;" > "$dummy.c"
-	       for driver in cc gcc c89 c99 ; do
+	       for driver in cc gcc c17 c99 c89 ; do
 		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
 		       CC_FOR_BUILD=$driver
 		       break
@@ -165,6 +165,8 @@ Linux|GNU|GNU/*)
 	LIBC=dietlibc
 	#elif defined(__GLIBC__)
 	LIBC=gnu
+	#elif defined(__LLVM_LIBC__)
+	LIBC=llvm
 	#else
 	#include <stdarg.h>
 	/* First heuristic to detect musl libc.  */
@@ -632,7 +634,8 @@ EOF
 		sed 's/^		//' << EOF > "$dummy.c"
 		#include <sys/systemcfg.h>
 
-		main()
+		int
+		main ()
 			{
 			if (!__power_pc())
 				exit(1);
@@ -716,7 +719,8 @@ EOF
 		#include <stdlib.h>
 		#include <unistd.h>
 
-		int main ()
+		int
+		main ()
 		{
 		#if defined(_SC_KERNEL_BITS)
 		    long bits = sysconf(_SC_KERNEL_BITS);
@@ -1593,6 +1597,9 @@ EOF
     *:Unleashed:*:*)
 	GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
 	;;
+    *:Ironclad:*:*)
+	GUESS=$UNAME_MACHINE-unknown-ironclad
+	;;
 esac
 
 # Do we have a guess based on uname results?
@@ -1616,6 +1623,7 @@ cat > "$dummy.c" <<EOF
 #endif
 #endif
 #endif
+int
 main ()
 {
 #if defined (sony)
diff -Nurp '--exclude=.bzr*' tin-2.6.3/config.sub tin-2.6.4/config.sub
--- tin-2.6.3/config.sub	2023-12-24 00:38:33.000000000 +0100
+++ tin-2.6.4/config.sub	2024-07-29 06:37:20.000000000 +0200
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2023 Free Software Foundation, Inc.
+#   Copyright 1992-2024 Free Software Foundation, Inc.
 
-# shellcheck disable=SC2006,SC2268 # see below for rationale
+# shellcheck disable=SC2006,SC2268,SC2162 # see below for rationale
 
-timestamp='2023-09-19'
+timestamp='2024-05-27'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -76,7 +76,7 @@ Report bugs and patches to <config-patch
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2023 Free Software Foundation, Inc.
+Copyright 1992-2024 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -120,7 +120,6 @@ case $# in
 esac
 
 # Split fields of configuration type
-# shellcheck disable=SC2162
 saved_IFS=$IFS
 IFS="-" read field1 field2 field3 field4 <<EOF
 $1
@@ -142,10 +141,20 @@ case $1 in
 		# parts
 		maybe_os=$field2-$field3
 		case $maybe_os in
-			nto-qnx* | linux-* | uclinux-uclibc* \
-			| uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
-			| netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
-			| storm-chaos* | os2-emx* | rtmk-nova* | managarm-* \
+			  cloudabi*-eabi* \
+			| kfreebsd*-gnu* \
+			| knetbsd*-gnu* \
+			| kopensolaris*-gnu* \
+			| linux-* \
+			| managarm-* \
+			| netbsd*-eabi* \
+			| netbsd*-gnu* \
+			| nto-qnx* \
+			| os2-emx* \
+			| rtmk-nova* \
+			| storm-chaos* \
+			| uclinux-gnu* \
+			| uclinux-uclibc* \
 			| windows-* )
 				basic_machine=$field1
 				basic_os=$maybe_os
@@ -161,8 +170,12 @@ case $1 in
 		esac
 		;;
 	*-*)
-		# A lone config we happen to match not fitting any pattern
 		case $field1-$field2 in
+			# Shorthands that happen to contain a single dash
+			convex-c[12] | convex-c3[248])
+				basic_machine=$field2-convex
+				basic_os=
+				;;
 			decstation-3100)
 				basic_machine=mips-dec
 				basic_os=
@@ -170,28 +183,88 @@ case $1 in
 			*-*)
 				# Second component is usually, but not always the OS
 				case $field2 in
-					# Prevent following clause from handling this valid os
+					# Do not treat sunos as a manufacturer
 					sun*os*)
 						basic_machine=$field1
 						basic_os=$field2
 						;;
-					zephyr*)
-						basic_machine=$field1-unknown
-						basic_os=$field2
-						;;
 					# Manufacturers
-					dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
-					| att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
-					| unicom* | ibm* | next | hp | isi* | apollo | altos* \
-					| convergent* | ncr* | news | 32* | 3600* | 3100* \
-					| hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
-					| ultra | tti* | harris | dolphin | highlevel | gould \
-					| cbm | ns | masscomp | apple | axis | knuth | cray \
-					| microblaze* | sim | cisco \
-					| oki | wec | wrs | winbond)
+					  3100* \
+					| 32* \
+					| 3300* \
+					| 3600* \
+					| 7300* \
+					| acorn \
+					| altos* \
+					| apollo \
+					| apple \
+					| atari \
+					| att* \
+					| axis \
+					| be \
+					| bull \
+					| cbm \
+					| ccur \
+					| cisco \
+					| commodore \
+					| convergent* \
+					| convex* \
+					| cray \
+					| crds \
+					| dec* \
+					| delta* \
+					| dg \
+					| digital \
+					| dolphin \
+					| encore* \
+					| gould \
+					| harris \
+					| highlevel \
+					| hitachi* \
+					| hp \
+					| ibm* \
+					| intergraph \
+					| isi* \
+					| knuth \
+					| masscomp \
+					| microblaze* \
+					| mips* \
+					| motorola* \
+					| ncr* \
+					| news \
+					| next \
+					| ns \
+					| oki \
+					| omron* \
+					| pc533* \
+					| rebel \
+					| rom68k \
+					| rombug \
+					| semi \
+					| sequent* \
+					| siemens \
+					| sgi* \
+					| siemens \
+					| sim \
+					| sni \
+					| sony* \
+					| stratus \
+					| sun \
+					| sun[234]* \
+					| tektronix \
+					| tti* \
+					| ultra \
+					| unicom* \
+					| wec \
+					| winbond \
+					| wrs)
 						basic_machine=$field1-$field2
 						basic_os=
 						;;
+					zephyr*)
+						basic_machine=$field1-unknown
+						basic_os=$field2
+						;;
 					*)
 						basic_machine=$field1
 						basic_os=$field2
@@ -272,26 +345,6 @@ case $1 in
 				basic_machine=arm-unknown
 				basic_os=cegcc
 				;;
-			convex-c1)
-				basic_machine=c1-convex
-				basic_os=bsd
-				;;
-			convex-c2)
-				basic_machine=c2-convex
-				basic_os=bsd
-				;;
-			convex-c32)
-				basic_machine=c32-convex
-				basic_os=bsd
-				;;
-			convex-c34)
-				basic_machine=c34-convex
-				basic_os=bsd
-				;;
-			convex-c38)
-				basic_machine=c38-convex
-				basic_os=bsd
-				;;
 			cray)
 				basic_machine=j90-cray
 				basic_os=unicos
@@ -714,15 +767,26 @@ case $basic_machine in
 		vendor=dec
 		basic_os=tops20
 		;;
-	delta | 3300 | motorola-3300 | motorola-delta \
-	      | 3300-motorola | delta-motorola)
+	delta | 3300 | delta-motorola | 3300-motorola | motorola-delta | motorola-3300)
 		cpu=m68k
 		vendor=motorola
 		;;
-	dpx2*)
+	# This used to be dpx2*, but that gets the RS6000-based
+	# DPX/20 and the x86-based DPX/2-100 wrong.  See
+	# https://oldskool.silicium.org/stations/bull_dpx20.htm
+	# https://www.feb-patrimoine.com/english/bull_dpx2.htm
+	# https://www.feb-patrimoine.com/english/unix_and_bull.htm
+	dpx2 | dpx2[23]00 | dpx2[23]xx)
 		cpu=m68k
 		vendor=bull
-		basic_os=sysv3
+		;;
+	dpx2100 | dpx21xx)
+		cpu=i386
+		vendor=bull
+		;;
+	dpx20)
+		cpu=rs6000
+		vendor=bull
 		;;
 	encore | umax | mmax)
 		cpu=ns32k
@@ -837,18 +901,6 @@ case $basic_machine in
 	next | m*-next)
 		cpu=m68k
 		vendor=next
-		case $basic_os in
-		    openstep*)
-		        ;;
-		    nextstep*)
-			;;
-		    ns2*)
-		      basic_os=nextstep2
-			;;
-		    *)
-		      basic_os=nextstep3
-			;;
-		esac
 		;;
 	np1)
 		cpu=np1
@@ -937,7 +989,6 @@ case $basic_machine in
 		;;
 
 	*-*)
-		# shellcheck disable=SC2162
 		saved_IFS=$IFS
 		IFS="-" read cpu vendor <<EOF
 $basic_machine
@@ -972,15 +1023,19 @@ unset -v basic_machine
 
 # Decode basic machines in the full and proper CPU-Company form.
 case $cpu-$vendor in
-	# Here we handle the default manufacturer of certain CPU types in canonical form. It is in
-	# some cases the only manufacturer, in others, it is the most popular.
+	# Here we handle the default manufacturer of certain CPU types in canonical form.
+	# It is in some cases the only manufacturer, in others, it is the most popular.
+	c[12]-convex | c[12]-unknown | c3[248]-convex | c3[248]-unknown)
+		vendor=convex
+		basic_os=${basic_os:-bsd}
+		;;
 	craynv-unknown)
 		vendor=cray
 		basic_os=${basic_os:-unicosmp}
 		;;
 	c90-unknown | c90-cray)
 		vendor=cray
-		basic_os=${Basic_os:-unicos}
+		basic_os=${basic_os:-unicos}
 		;;
 	fx80-unknown)
 		vendor=alliant
@@ -1026,11 +1081,29 @@ case $cpu-$vendor in
 		vendor=alt
 		basic_os=${basic_os:-linux-gnueabihf}
 		;;
-	dpx20-unknown | dpx20-bull)
-		cpu=rs6000
-		vendor=bull
+
+	# Normalized CPU+vendor pairs that imply an OS, if not otherwise specified
+	m68k-isi)
+		basic_os=${basic_os:-sysv}
+		;;
+	m68k-sony)
+		basic_os=${basic_os:-newsos}
+		;;
+	m68k-tektronix)
+		basic_os=${basic_os:-bsd}
+		;;
+	m88k-harris)
+		basic_os=${basic_os:-sysv3}
+		;;
+	i386-bull | m68k-bull)
+		basic_os=${basic_os:-sysv3}
+		;;
+	rs6000-bull)
 		basic_os=${basic_os:-bosx}
 		;;
+	mips-sni)
+		basic_os=${basic_os:-sysv4}
+		;;
 
 	# Here we normalize CPU types irrespective of the vendor
 	amd64-*)
@@ -1038,7 +1111,7 @@ case $cpu-$vendor in
 		;;
 	blackfin-*)
 		cpu=bfin
-		basic_os=linux
+		basic_os=${basic_os:-linux}
 		;;
 	c54x-*)
 		cpu=tic54x
@@ -1061,7 +1134,7 @@ case $cpu-$vendor in
 		;;
 	m68knommu-*)
 		cpu=m68k
-		basic_os=linux
+		basic_os=${basic_os:-linux}
 		;;
 	m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
 		cpu=s12z
@@ -1071,7 +1144,7 @@ case $cpu-$vendor in
 		;;
 	parisc-*)
 		cpu=hppa
-		basic_os=linux
+		basic_os=${basic_os:-linux}
 		;;
 	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
 		cpu=i586
@@ -1085,9 +1158,6 @@ case $cpu-$vendor in
 	pentium4-*)
 		cpu=i786
 		;;
-	pc98-*)
-		cpu=i386
-		;;
 	ppc-* | ppcbe-*)
 		cpu=powerpc
 		;;
@@ -1121,9 +1191,6 @@ case $cpu-$vendor in
 	tx39el-*)
 		cpu=mipstx39el
 		;;
-	x64-*)
-		cpu=x86_64
-		;;
 	xscale-* | xscalee[bl]-*)
 		cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
 		;;
@@ -1179,88 +1246,227 @@ case $cpu-$vendor in
 		# Recognize the canonical CPU types that are allowed with any
 		# company name.
 		case $cpu in
-			1750a | 580 \
+			  1750a \
+			| 580 \
+			| [cjt]90 \
 			| a29k \
-			| aarch64 | aarch64_be | aarch64c | arm64ec \
+			| aarch64 \
+			| aarch64_be \
+			| aarch64c \
 			| abacus \
-			| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
-			| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
-			| alphapca5[67] | alpha64pca5[67] \
+			| alpha \
+			| alpha64 \
+			| alpha64ev56 \
+			| alpha64ev6[78] \
+			| alpha64ev[4-8] \
+			| alpha64pca5[67] \
+			| alphaev56 \
+			| alphaev6[78] \
+			| alphaev[4-8] \
+			| alphapca5[67] \
 			| am33_2.0 \
 			| amdgcn \
-			| arc | arceb | arc32 | arc64 \
-			| arm | arm[lb]e | arme[lb] | armv* \
-			| avr | avr32 \
+			| arc \
+			| arc32 \
+			| arc64 \
+			| arceb \
+			| arm \
+			| arm64e \
+			| arm64ec \
+			| arm[lb]e \
+			| arme[lb] \
+			| armv* \
 			| asmjs \
+			| avr \
+			| avr32 \
 			| ba \
-			| be32 | be64 \
-			| bfin | bpf | bs2000 \
-			| c[123]* | c30 | [cjt]90 | c4x \
-			| c8051 | clipper | craynv | csky | cydra \
-			| d10v | d30v | dlx | dsp16xx \
-			| e2k | elxsi | epiphany \
-			| f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
-			| javascript \
-			| h8300 | h8500 \
-			| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+			| be32 \
+			| be64 \
+			| bfin \
+			| bpf \
+			| bs2000 \
+			| c30 \
+			| c4x \
+			| c8051 \
+			| c[123]* \
+			| clipper \
+			| craynv \
+			| csky \
+			| cydra \
+			| d10v \
+			| d30v \
+			| dlx \
+			| dsp16xx \
+			| e2k \
+			| elxsi \
+			| epiphany \
+			| f30[01] \
+			| f700 \
+			| fido \
+			| fr30 \
+			| frv \
+			| ft32 \
+			| fx80 \
+			| h8300 \
+			| h8500 \
 			| hexagon \
-			| i370 | i*86 | i860 | i960 | ia16 | ia64 \
-			| ip2k | iq2000 \
+			| hppa \
+			| hppa1.[01] \
+			| hppa2.0 \
+			| hppa2.0[nw] \
+			| hppa64 \
+			| i*86 \
+			| i370 \
+			| i860 \
+			| i960 \
+			| ia16 \
+			| ia64 \
+			| ip2k \
+			| iq2000 \
+			| javascript \
 			| k1om \
 			| kvx \
-			| le32 | le64 \
+			| le32 \
+			| le64 \
 			| lm32 \
-			| loongarch32 | loongarch64 \
-			| m32c | m32r | m32rle \
-			| m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
-			| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
-			| m88110 | m88k | maxq | mb | mcore | mep | metag \
-			| microblaze | microblazeel \
+			| loongarch32 \
+			| loongarch64 \
+			| m32c \
+			| m32r \
+			| m32rle \
+			| m5200 \
+			| m68000 \
+			| m680[012346]0 \
+			| m6811 \
+			| m6812 \
+			| m68360 \
+			| m683?2 \
+			| m68hc11 \
+			| m68hc12 \
+			| m68hcs12x \
+			| m68k \
+			| m88110 \
+			| m88k \
+			| maxq \
+			| mb \
+			| mcore \
+			| mep \
+			| metag \
+			| microblaze \
+			| microblazeel \
 			| mips* \
 			| mmix \
-			| mn10200 | mn10300 \
+			| mn10200 \
+			| mn10300 \
 			| moxie \
-			| mt \
 			| msp430 \
-			| nds32 | nds32le | nds32be \
+			| mt \
+			| nanomips* \
+			| nds32 \
+			| nds32be \
+			| nds32le \
 			| nfp \
-			| nios | nios2 | nios2eb | nios2el \
-			| none | np1 | ns16k | ns32k | nvptx \
+			| nios \
+			| nios2 \
+			| nios2eb \
+			| nios2el \
+			| none \
+			| np1 \
+			| ns16k \
+			| ns32k \
+			| nvptx \
 			| open8 \
 			| or1k* \
 			| or32 \
 			| orion \
+			| pdp10 \
+			| pdp11 \
 			| picochip \
-			| pdp10 | pdp11 | pj | pjl | pn | power \
-			| powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
+			| pj \
+			| pjl \
+			| pn \
+			| power \
+			| powerpc \
+			| powerpc64 \
+			| powerpc64le \
+			| powerpcle \
+			| powerpcspe \
 			| pru \
 			| pyramid \
-			| riscv | riscv32 | riscv32be | riscv64 | riscv64be \
-			| rl78 | romp | rs6000 | rx \
-			| s390 | s390x \
+			| riscv \
+			| riscv32 \
+			| riscv32be \
+			| riscv64 \
+			| riscv64be \
+			| rl78 \
+			| romp \
+			| rs6000 \
+			| rx \
+			| s390 \
+			| s390x \
 			| score \
-			| sh | shl \
-			| sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
-			| sh[1234]e[lb] |  sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
-			| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
+			| sh \
+			| sh64 \
+			| sh64le \
+			| sh[12345][lb]e \
+			| sh[1234] \
+			| sh[1234]e[lb] \
+			| sh[23]e \
+			| sh[23]ele \
+			| sh[24]a \
+			| sh[24]ae[lb] \
+			| sh[lb]e \
+			| she[lb] \
+			| shl \
+			| sparc \
+			| sparc64 \
+			| sparc64b \
+			| sparc64v \
+			| sparc86x \
+			| sparclet \
 			| sparclite \
-			| sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
+			| sparcv8 \
+			| sparcv9 \
+			| sparcv9b \
+			| sparcv9v \
 			| spu \
+			| sv1 \
+			| sx* \
 			| tahoe \
 			| thumbv7* \
-			| tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
+			| tic30 \
+			| tic4x \
+			| tic54x \
+			| tic55x \
+			| tic6x \
+			| tic80 \
 			| tron \
 			| ubicom32 \
-			| v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
+			| v70 \
+			| v810 \
+			| v850 \
+			| v850e \
+			| v850e1 \
+			| v850e2 \
+			| v850e2v3 \
+			| v850es \
 			| vax \
+			| vc4 \
 			| visium \
 			| w65 \
-			| wasm32 | wasm64 \
+			| wasm32 \
+			| wasm64 \
 			| we32k \
-			| x86 | x86_64 | xc16x | xgate | xps100 \
-			| xstormy16 | xtensa* \
+			| x86 \
+			| x86_64 \
+			| xc16x \
+			| xgate \
+			| xps100 \
+			| xstormy16 \
+			| xtensa* \
 			| ymp \
-			| z8k | z80)
+			| z80 \
+			| z8k)
 				;;
 
 			*)
@@ -1305,7 +1511,6 @@ case $basic_os in
 		os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'`
 		;;
 	*-*)
-		# shellcheck disable=SC2162
 		saved_IFS=$IFS
 		IFS="-" read kernel os <<EOF
 $basic_os
@@ -1352,6 +1557,23 @@ case $os in
 	unixware*)
 		os=sysv4.2uw
 		;;
+	# The marketing names for NeXT's operating systems were
+	# NeXTSTEP, NeXTSTEP 2, OpenSTEP 3, OpenSTEP 4.  'openstep' is
+	# mapped to 'openstep3', but 'openstep1' and 'openstep2' are
+	# mapped to 'nextstep' and 'nextstep2', consistent with the
+	# treatment of SunOS/Solaris.
+	ns | ns1 | nextstep | nextstep1 | openstep1)
+		os=nextstep
+		;;
+	ns2 | nextstep2 | openstep2)
+		os=nextstep2
+		;;
+	ns3 | nextstep3 | openstep | openstep3)
+		os=openstep3
+		;;
+	ns4 | nextstep4 | openstep4)
+		os=openstep4
+		;;
 	# es1800 is here to avoid being matched by es* (a different OS)
 	es1800*)
 		os=ose
@@ -1422,6 +1644,7 @@ case $os in
 		;;
 	utek*)
 		os=bsd
+		vendor=`echo "$vendor" | sed -e 's|^unknown$|tektronix|'`
 		;;
 	dynix*)
 		os=bsd
@@ -1438,21 +1661,25 @@ case $os in
 	386bsd)
 		os=bsd
 		;;
-	ctix* | uts*)
+	ctix*)
 		os=sysv
+		vendor=`echo "$vendor" | sed -e 's|^unknown$|convergent|'`
 		;;
-	nova*)
-		os=rtmk-nova
+	uts*)
+		os=sysv
 		;;
-	ns2)
-		os=nextstep2
+	nova*)
+		kernel=rtmk
+		os=nova
 		;;
 	# Preserve the version number of sinix5.
 	sinix5.*)
 		os=`echo "$os" | sed -e 's|sinix|sysv|'`
+		vendor=`echo "$vendor" | sed -e 's|^unknown$|sni|'`
 		;;
 	sinix*)
 		os=sysv4
+		vendor=`echo "$vendor" | sed -e 's|^unknown$|sni|'`
 		;;
 	tpf*)
 		os=tpf
@@ -1593,11 +1820,19 @@ case $cpu-$vendor in
 		os=
 		obj=elf
 		;;
+	# The -sgi and -siemens entries must be before the mips- entry
+	# or we get the wrong os.
+	*-sgi)
+		os=irix
+		;;
+	*-siemens)
+		os=sysv4
+		;;
 	mips*-cisco)
 		os=
 		obj=elf
 		;;
-	mips*-*)
+	mips*-*|nanomips*-*)
 		os=
 		obj=elf
 		;;
@@ -1605,7 +1840,8 @@ case $cpu-$vendor in
 		os=
 		obj=coff
 		;;
-	*-tti)	# must be before sparc entry or we get the wrong os.
+	# This must be before the sparc-* entry or we get the wrong os.
+	*-tti)
 		os=sysv3
 		;;
 	sparc-* | *-sun)
@@ -1637,7 +1873,7 @@ case $cpu-$vendor in
 		os=hpux
 		;;
 	*-hitachi)
-		os=hiux
+		os=hiuxwe2
 		;;
 	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
 		os=sysv
@@ -1681,12 +1917,6 @@ case $cpu-$vendor in
 	*-encore)
 		os=bsd
 		;;
-	*-sgi)
-		os=irix
-		;;
-	*-siemens)
-		os=sysv4
-		;;
 	*-masscomp)
 		os=rtu
 		;;
@@ -1721,7 +1951,7 @@ fi
 
 case $os in
 	# Sometimes we do "kernel-libc", so those need to count as OSes.
-	musl* | newlib* | relibc* | uclibc*)
+	llvm* | musl* | newlib* | relibc* | uclibc*)
 		;;
 	# Likewise for "kernel-abi"
 	eabi* | gnueabi*)
@@ -1733,45 +1963,205 @@ case $os in
 	ghcjs)
 		;;
 	# Now accept the basic system types.
-	# The portable systems comes first.
 	# Each alternative MUST end in a * to match a version number.
-	gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
-	     | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \
-	     | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
-	     | sym* |  plan9* | psp* | sim* | xray* | os68k* | v88r* \
-	     | hiux* | abug | nacl* | netware* | windows* \
-	     | os9* | macos* | osx* | ios* | tvos* | watchos* \
-	     | mpw* | magic* | mmixware* | mon960* | lnews* \
-	     | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
-	     | aos* | aros* | cloudabi* | sortix* | twizzler* \
-	     | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
-	     | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
-	     | mirbsd* | netbsd* | dicos* | openedition* | ose* \
-	     | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \
-	     | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
-	     | bosx* | nextstep* | cxux* | oabi* \
-	     | ptx* | ecoff* | winnt* | domain* | vsta* \
-	     | udi* | lites* | ieee* | go32* | aux* | hcos* \
-	     | chorusrdb* | cegcc* | glidix* | serenity* \
-	     | cygwin* | msys* | moss* | proelf* | rtems* \
-	     | midipix* | mingw32* | mingw64* | mint* \
-	     | uxpv* | beos* | mpeix* | udk* | moxiebox* \
-	     | interix* | uwin* | mks* | rhapsody* | darwin* \
-	     | openstep* | oskit* | conix* | pw32* | nonstopux* \
-	     | storm-chaos* | tops10* | tenex* | tops20* | its* \
-	     | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \
-	     | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \
-	     | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
-	     | skyos* | haiku* | rdos* | toppers* | drops* | es* \
-	     | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
-	     | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
-	     | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
-	     | fiwix* | mlibc* | cos* | mbr* )
+	  abug \
+	| aix* \
+	| amdhsa* \
+	| amigados* \
+	| amigaos* \
+	| android* \
+	| aof* \
+	| aos* \
+	| aros* \
+	| atheos* \
+	| auroraux* \
+	| aux* \
+	| beos* \
+	| bitrig* \
+	| bme* \
+	| bosx* \
+	| bsd* \
+	| cegcc* \
+	| chorusos* \
+	| chorusrdb* \
+	| clix* \
+	| cloudabi* \
+	| cnk* \
+	| conix* \
+	| cos* \
+	| cxux* \
+	| cygwin* \
+	| darwin* \
+	| dgux* \
+	| dicos* \
+	| dnix* \
+	| domain* \
+	| dragonfly* \
+	| drops* \
+	| ebmon* \
+	| ecoff* \
+	| ekkobsd* \
+	| emscripten* \
+	| emx* \
+	| es* \
+	| fiwix* \
+	| freebsd* \
+	| fuchsia* \
+	| genix* \
+	| genode* \
+	| glidix* \
+	| gnu* \
+	| go32* \
+	| haiku* \
+	| hcos* \
+	| hiux* \
+	| hms* \
+	| hpux* \
+	| ieee* \
+	| interix* \
+	| ios* \
+	| iris* \
+	| irix* \
+	| ironclad* \
+	| isc* \
+	| its* \
+	| l4re* \
+	| libertybsd* \
+	| lites* \
+	| lnews* \
+	| luna* \
+	| lynxos* \
+	| mach* \
+	| macos* \
+	| magic* \
+	| mbr* \
+	| midipix* \
+	| midnightbsd* \
+	| mingw32* \
+	| mingw64* \
+	| minix* \
+	| mint* \
+	| mirbsd* \
+	| mks* \
+	| mlibc* \
+	| mmixware* \
+	| mon960* \
+	| morphos* \
+	| moss* \
+	| moxiebox* \
+	| mpeix* \
+	| mpw* \
+	| msdos* \
+	| msys* \
+	| mvs* \
+	| nacl* \
+	| netbsd* \
+	| netware* \
+	| newsos* \
+	| nextstep* \
+	| nindy* \
+	| nonstopux* \
+	| nova* \
+	| nsk* \
+	| nucleus* \
+	| nx6 \
+	| nx7 \
+	| oabi* \
+	| ohos* \
+	| onefs* \
+	| openbsd* \
+	| openedition* \
+	| openstep* \
+	| os108* \
+	| os2* \
+	| os400* \
+	| os68k* \
+	| os9* \
+	| ose* \
+	| osf* \
+	| oskit* \
+	| osx* \
+	| palmos* \
+	| phoenix* \
+	| plan9* \
+	| powermax* \
+	| powerunix* \
+	| proelf* \
+	| psos* \
+	| psp* \
+	| ptx* \
+	| pw32* \
+	| qnx* \
+	| rdos* \
+	| redox* \
+	| rhapsody* \
+	| riscix* \
+	| riscos* \
+	| rtems* \
+	| rtmk* \
+	| rtu* \
+	| scout* \
+	| secbsd* \
+	| sei* \
+	| serenity* \
+	| sim* \
+	| skyos* \
+	| solaris* \
+	| solidbsd* \
+	| sortix* \
+	| storm-chaos* \
+	| sunos \
+	| sunos[34]* \
+	| superux* \
+	| syllable* \
+	| sym* \
+	| sysv* \
+	| tenex* \
+	| tirtos* \
+	| toppers* \
+	| tops10* \
+	| tops20* \
+	| tpf* \
+	| tvos* \
+	| twizzler* \
+	| uclinux* \
+	| udi* \
+	| udk* \
+	| ultrix* \
+	| unicos* \
+	| uniplus* \
+	| unleashed* \
+	| unos* \
+	| uwin* \
+	| uxpv* \
+	| v88r* \
+	|*vms* \
+	| vos* \
+	| vsta* \
+	| vxsim* \
+	| vxworks* \
+	| wasi* \
+	| watchos* \
+	| wince* \
+	| windiss* \
+	| windows* \
+	| winnt* \
+	| xenix* \
+	| xray* \
+	| zephyr* \
+	| zvmoe* )
 		;;
 	# This one is extra strict with allowed versions
 	sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
 		# Don't forget version if it is 3.2v4 or newer.
 		;;
+	# This refers to builds using the UEFI calling convention
+	# (which depends on the architecture) and PE file format.
+	# Note that this is both a different calling convention and
+	# different file format than that of GNU-EFI
+	# (x86_64-w64-mingw32).
+	uefi)
+		;;
 	none)
 		;;
 	kernel* | msvc* )
@@ -1818,16 +2208,18 @@ esac
 # As a final step for OS-related things, validate the OS-kernel combination
 # (given a valid OS), if there is a kernel.
 case $kernel-$os-$obj in
-	linux-gnu*- | linux-dietlibc*- | linux-android*- | linux-newlib*- \
-		   | linux-musl*- | linux-relibc*- | linux-uclibc*- | linux-mlibc*- )
+	linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \
+		    | linux-mlibc*- | linux-musl*- | linux-newlib*- \
+		    | linux-relibc*- | linux-uclibc*- | linux-ohos*- )
 		;;
-	uclinux-uclibc*- )
+	uclinux-uclibc*- | uclinux-gnu*- )
 		;;
 	managarm-mlibc*- | managarm-kernel*- )
 		;;
 	windows*-msvc*-)
 		;;
-	-dietlibc*- | -newlib*- | -musl*- | -relibc*- | -uclibc*- | -mlibc*- )
+	-dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \
+		    | -uclibc*- )
 		# These are just libc implementations, not actual OSes, and thus
 		# require a kernel.
 		echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2
@@ -1845,7 +2237,7 @@ case $kernel-$os-$obj in
 		echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2
 		exit 1
 		;;
-	kfreebsd*-gnu*- | kopensolaris*-gnu*-)
+	kfreebsd*-gnu*- | knetbsd*-gnu*- | netbsd*-gnu*- | kopensolaris*-gnu*-)
 		;;
 	vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-)
 		;;
@@ -1853,6 +2245,8 @@ case $kernel-$os-$obj in
 		;;
 	os2-emx-)
 		;;
+	rtmk-nova-)
+		;;
 	*-eabi*- | *-gnueabi*-)
 		;;
 	none--*)
@@ -1879,7 +2273,7 @@ case $vendor in
 			*-riscix*)
 				vendor=acorn
 				;;
-			*-sunos*)
+			*-sunos* | *-solaris*)
 				vendor=sun
 				;;
 			*-cnk* | *-aix*)
diff -Nurp '--exclude=.bzr*' tin-2.6.3/configure tin-2.6.4/configure
--- tin-2.6.3/configure	2023-12-24 00:38:33.000000000 +0100
+++ tin-2.6.4/configure	2024-12-24 00:19:03.884844401 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by Autoconf 2.52.20231210.
+# Generated by Autoconf 2.52.20240618.
 #
 # Copyright 2003-2022,2023	Thomas E. Dickey
 # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
@@ -481,6 +481,10 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
+  -*dir | -dvi* | -doc* | -html* | -local* | -pdf* | -ps* )
+    echo "$as_me: WARNING: unsupported option: $ac_option" >&2
+    ;;
+
   -*) { echo "$as_me: error: unrecognized option: $ac_option
 Try \`$0 --help' for more information." >&2
    { (exit 1); exit 1; }; }
@@ -689,6 +693,7 @@ X features:
 System types:
   --build=BUILD           configure for building on BUILD [guessed]
   --host=HOST       build programs to run on HOST [BUILD]
+  --target=TARGET   configure for building compilers for TARGET [HOST]
 EOF
 fi
 
@@ -705,6 +710,7 @@ Optional Features:
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
 
   --with-install-prefix   prefixes actual install location (default: /)
+  --with-system-type=XXX  test: override derived host system-type
   --with-build-cc=XXX     the build C compiler ($BUILD_CC)
   --with-build-cpp=XXX    the build C preprocessor ($BUILD_CPP)
   --with-build-cflags=XXX the build C compiler-flags ($BUILD_CFLAGS)
@@ -714,7 +720,6 @@ Optional Features:
   --disable-heapsort      disable heapsort() as alternative to qsort
   --with-ispell           (default: from system path)
   --with-metamail         (default: from system path)
-  --with-sum              (default: from system path)
   --with-editor=PROG      specify editor (default: vi)
   --with-mailer=PROG      specify default mailer-program (default: mailx)
   --with-mailbox=DIR      directory for incoming mailboxes (default: empty)
@@ -800,9 +805,10 @@ Optional Features:
   --with-libiconv-prefix=DIR
                           search for libiconv in DIR/include and DIR/lib
   --disable-nls           do not use Native Language Support
-  --with-included-gettext use the GNU gettext library included here
+  --with-libintl-prefix=DIR
+                          search for libintl in DIR/include and DIR/lib
   --with-textdomain=PKG   NLS text-domain (default is package name)
-  --disable-included-msgs use included messages, for i18n support
+  --disable-included-msgs do not use included messages for i18n support
   --with-Xaw3d            link with Xaw 3d library
   --with-Xaw3dxft         link with Xaw 3d xft library
   --with-neXtaw           link with neXT Athena library
@@ -877,7 +883,7 @@ This file contains any messages produced
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.52.20231210.  Invocation command line was
+generated by GNU Autoconf 2.52.20240618.  Invocation command line was
 
   $ $0 $@
 
@@ -1001,7 +1007,7 @@ if test -z "$CONFIG_SITE"; then
 fi
 for ac_site_file in $CONFIG_SITE; do
   if test -r "$ac_site_file"; then
-    { echo "$as_me:1004: loading site script $ac_site_file" >&5
+    { echo "$as_me:1010: loading site script $ac_site_file" >&5
 echo "$as_me: loading site script $ac_site_file" >&6;}
     cat "$ac_site_file" >&5
     . "$ac_site_file"
@@ -1012,7 +1018,7 @@ if test -r "$cache_file"; then
   # Some versions of bash will fail to source /dev/null (special
   # files actually), so we avoid doing that.
   if test -f "$cache_file"; then
-    { echo "$as_me:1015: loading cache $cache_file" >&5
+    { echo "$as_me:1021: loading cache $cache_file" >&5
 echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
       [\\/]* | ?:[\\/]* ) . $cache_file;;
@@ -1020,7 +1026,7 @@ echo "$as_me: loading cache $cache_file"
     esac
   fi
 else
-  { echo "$as_me:1023: creating cache $cache_file" >&5
+  { echo "$as_me:1029: creating cache $cache_file" >&5
 echo "$as_me: creating cache $cache_file" >&6;}
   >$cache_file
 fi
@@ -1036,21 +1042,21 @@ for ac_var in `(set) 2>&1 |
   eval ac_new_val="\$ac_env_${ac_var}_value"
   case "$ac_old_set,$ac_new_set" in
     set,)
-      { echo "$as_me:1039: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+      { echo "$as_me:1045: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,set)
-      { echo "$as_me:1043: error: \`$ac_var' was not set in the previous run" >&5
+      { echo "$as_me:1049: error: \`$ac_var' was not set in the previous run" >&5
 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,);;
     *)
       if test "x$ac_old_val" != "x$ac_new_val"; then
-        { echo "$as_me:1049: error: \`$ac_var' has changed since the previous run:" >&5
+        { echo "$as_me:1055: error: \`$ac_var' has changed since the previous run:" >&5
 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-        { echo "$as_me:1051:   former value:  $ac_old_val" >&5
+        { echo "$as_me:1057:   former value:  $ac_old_val" >&5
 echo "$as_me:   former value:  $ac_old_val" >&2;}
-        { echo "$as_me:1053:   current value: $ac_new_val" >&5
+        { echo "$as_me:1059:   current value: $ac_new_val" >&5
 echo "$as_me:   current value: $ac_new_val" >&2;}
         ac_cache_corrupted=:
       fi;;
@@ -1069,9 +1075,9 @@ echo "$as_me:   current value: $ac_new_v
   fi
 done
 if "$ac_cache_corrupted"; then
-  { echo "$as_me:1072: error: changes in the environment can compromise the build" >&5
+  { echo "$as_me:1078: error: changes in the environment can compromise the build" >&5
 echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  { { echo "$as_me:1074: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+  { { echo "$as_me:1080: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -1100,10 +1106,10 @@ esac
 echo "#! $SHELL" >conftest.sh
 echo  "exit 0"   >>conftest.sh
 chmod +x conftest.sh
-if { (echo "$as_me:1103: PATH=\".;.\"; conftest.sh") >&5
+if { (echo "$as_me:1109: PATH=\".;.\"; conftest.sh") >&5
   (PATH=".;."; conftest.sh) 2>&5
   ac_status=$?
-  echo "$as_me:1106: \$? = $ac_status" >&5
+  echo "$as_me:1112: \$? = $ac_status" >&5
   (exit "$ac_status"); }; then
   ac_path_separator=';'
 else
@@ -1115,7 +1121,7 @@ rm -f conftest.sh
 ac_config_headers="$ac_config_headers include/autoconf.h:include/autoconf.hin"
 
 PACKAGE=tin
-VERSION=2.6.3
+VERSION=2.6.4
 
 cat >>confdefs.h <<EOF
 #define PACKAGE "$PACKAGE"
@@ -1144,7 +1150,7 @@ for ac_dir in $srcdir $srcdir/.. $srcdir
   fi
 done
 if test -z "$ac_aux_dir"; then
-  { { echo "$as_me:1147: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+  { { echo "$as_me:1153: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
 echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -1154,11 +1160,11 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 # Make sure we can run config.sub.
 $ac_config_sub sun4 >/dev/null 2>&1 ||
-  { { echo "$as_me:1157: error: cannot run $ac_config_sub" >&5
+  { { echo "$as_me:1163: error: cannot run $ac_config_sub" >&5
 echo "$as_me: error: cannot run $ac_config_sub" >&2;}
    { (exit 1); exit 1; }; }
 
-echo "$as_me:1161: checking build system type" >&5
+echo "$as_me:1167: checking build system type" >&5
 echo $ECHO_N "checking build system type... $ECHO_C" >&6
 if test "${ac_cv_build+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -1167,16 +1173,16 @@ else
 test -z "$ac_cv_build_alias" &&
   ac_cv_build_alias=`$ac_config_guess`
 test -z "$ac_cv_build_alias" &&
-  { { echo "$as_me:1170: error: cannot guess build type; you must specify one" >&5
+  { { echo "$as_me:1176: error: cannot guess build type; you must specify one" >&5
 echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
    { (exit 1); exit 1; }; }
 ac_cv_build=`$ac_config_sub "$ac_cv_build_alias"` ||
-  { { echo "$as_me:1174: error: $ac_config_sub $ac_cv_build_alias failed." >&5
+  { { echo "$as_me:1180: error: $ac_config_sub $ac_cv_build_alias failed." >&5
 echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;}
    { (exit 1); exit 1; }; }
 
 fi
-echo "$as_me:1179: result: $ac_cv_build" >&5
+echo "$as_me:1185: result: $ac_cv_build" >&5
 echo "${ECHO_T}$ac_cv_build" >&6
 build=$ac_cv_build
 build_cpu=`echo "$ac_cv_build" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
@@ -1184,7 +1190,7 @@ build_vendor=`echo "$ac_cv_build" | sed
 build_os=`echo "$ac_cv_build" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 
 if test -f "$srcdir/config.guess" || test -f "$ac_aux_dir/config.guess" ; then
-	echo "$as_me:1187: checking host system type" >&5
+	echo "$as_me:1193: checking host system type" >&5
 echo $ECHO_N "checking host system type... $ECHO_C" >&6
 if test "${ac_cv_host+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -1193,12 +1199,12 @@ else
 test -z "$ac_cv_host_alias" &&
   ac_cv_host_alias=$ac_cv_build_alias
 ac_cv_host=`$ac_config_sub "$ac_cv_host_alias"` ||
-  { { echo "$as_me:1196: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+  { { echo "$as_me:1202: error: $ac_config_sub $ac_cv_host_alias failed" >&5
 echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
    { (exit 1); exit 1; }; }
 
 fi
-echo "$as_me:1201: result: $ac_cv_host" >&5
+echo "$as_me:1207: result: $ac_cv_host" >&5
 echo "${ECHO_T}$ac_cv_host" >&6
 host=$ac_cv_host
 host_cpu=`echo "$ac_cv_host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
@@ -1224,27 +1230,106 @@ else
 fi
 
 test -z "$system_name" && system_name="$cf_cv_system_name"
-test -n "$cf_cv_system_name" && echo "$as_me:1227: result: Configuring for $cf_cv_system_name" >&5
+test -n "$cf_cv_system_name" && echo "$as_me:1233: result: Configuring for $cf_cv_system_name" >&5
 echo "${ECHO_T}Configuring for $cf_cv_system_name" >&6
 
 if test ".$system_name" != ".$cf_cv_system_name" ; then
-	echo "$as_me:1231: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
+	echo "$as_me:1237: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
 echo "${ECHO_T}Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&6
-	{ { echo "$as_me:1233: error: \"Please remove config.cache and try again.\"" >&5
+	{ { echo "$as_me:1239: error: \"Please remove config.cache and try again.\"" >&5
 echo "$as_me: error: \"Please remove config.cache and try again.\"" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
-	echo "$as_me:1238: checking for PATH separator" >&5
+	echo "$as_me:1244: checking for PATH separator" >&5
 echo $ECHO_N "checking for PATH separator... $ECHO_C" >&6
 	case "$cf_cv_system_name" in
 	os2*)	PATH_SEPARATOR=';'  ;;
 	*)	${PATH_SEPARATOR:=':'}  ;;
 	esac
 
-	echo "$as_me:1245: result: $PATH_SEPARATOR" >&5
+	echo "$as_me:1251: result: $PATH_SEPARATOR" >&5
 echo "${ECHO_T}$PATH_SEPARATOR" >&6
 
+if test -f "$srcdir/config.guess" || test -f "$ac_aux_dir/config.guess" ; then
+	echo "$as_me:1255: checking target system type" >&5
+echo $ECHO_N "checking target system type... $ECHO_C" >&6
+if test "${ac_cv_target+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_target_alias=$target_alias
+test "x$ac_cv_target_alias" = "x" &&
+  ac_cv_target_alias=$ac_cv_host_alias
+ac_cv_target=`$ac_config_sub "$ac_cv_target_alias"` ||
+  { { echo "$as_me:1264: error: $ac_config_sub $ac_cv_target_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+echo "$as_me:1269: result: $ac_cv_target" >&5
+echo "${ECHO_T}$ac_cv_target" >&6
+target=$ac_cv_target
+target_cpu=`echo "$ac_cv_target" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+target_vendor=`echo "$ac_cv_target" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+target_os=`echo "$ac_cv_target" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+# The aliases save the names the user supplied, while $host etc.
+# will get canonicalized.
+test -n "$target_alias" &&
+  test "$program_prefix$program_suffix$program_transform_name" = \
+    NONENONEs,x,x, &&
+  program_prefix=${target_alias}-
+	system_name="$host_os"
+else
+	system_name="`(uname -s -r) 2>/dev/null`"
+	if test -z "$system_name" ; then
+		system_name="`(hostname) 2>/dev/null`"
+	fi
+fi
+test -n "$system_name" &&
+cat >>confdefs.h <<EOF
+#define SYSTEM_NAME "$system_name"
+EOF
+
+if test "${cf_cv_system_name+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cf_cv_system_name="$system_name"
+fi
+
+test -z "$system_name" && system_name="$cf_cv_system_name"
+test -n "$cf_cv_system_name" && echo "$as_me:1301: result: Configuring for $cf_cv_system_name" >&5
+echo "${ECHO_T}Configuring for $cf_cv_system_name" >&6
+
+if test ".$system_name" != ".$cf_cv_system_name" ; then
+	echo "$as_me:1305: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
+echo "${ECHO_T}Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&6
+	{ { echo "$as_me:1307: error: \"Please remove config.cache and try again.\"" >&5
+echo "$as_me: error: \"Please remove config.cache and try again.\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+# Check whether --with-system-type or --without-system-type was given.
+if test "${with_system_type+set}" = set; then
+  withval="$with_system_type"
+  { echo "$as_me:1315: WARNING: overriding system type to $withval" >&5
+echo "$as_me: WARNING: overriding system type to $withval" >&2;}
+	cf_cv_system_name=$withval
+	host_os=$withval
+
+fi;
+
+case "$cf_cv_system_name" in
+cygwin*|msys*|mingw32*|mingw64|os2*)
+	GLOB_FULLPATH_POSIX='/*'
+	GLOB_FULLPATH_OTHER='[a-zA-Z]:[\\/]*'
+	;;
+*)
+	GLOB_FULLPATH_POSIX='/*'
+	GLOB_FULLPATH_OTHER=$GLOB_FULLPATH_POSIX
+	;;
+esac
+
 # Check whether --with-install-prefix or --without-install-prefix was given.
 if test "${with_install_prefix+set}" = set; then
   withval="$with_install_prefix"
@@ -1259,26 +1344,24 @@ else
 	cf_path_syntax="$ac_default_prefix"
 fi
 
-case ".$withval" in
-.\$\(*\)*|.\'*\'*)
+case "x$withval" in
+x\$\(*\)*|x\'*\'*)
 	;;
-..|./*|.\\*)
+x.|x$GLOB_FULLPATH_POSIX|x$GLOB_FULLPATH_OTHER)
 	;;
-.[a-zA-Z]:[\\/]*) # OS/2 EMX
-	;;
-.\$\{*prefix\}*|.\$\{*dir\}*)
+x\$\{*prefix\}*|x\$\{*dir\}*)
 	eval withval="$withval"
-	case ".$withval" in
-	.NONE/*)
+	case "x$withval" in
+	xNONE/*)
 		withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
 		;;
 	esac
 	;;
-.no|.NONE/*)
+xno|xNONE/*)
 	withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
 	;;
 *)
-	{ { echo "$as_me:1281: error: expected a pathname, not \"$withval\"" >&5
+	{ { echo "$as_me:1364: error: expected a pathname, not \"$withval\"" >&5
 echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
    { (exit 1); exit 1; }; }
 	;;
@@ -1314,7 +1397,7 @@ case "$host_os" in
 		if test "$CC" = ""; then
 			# Extract the first word of "xlc", so it can be a program name with args.
 set dummy xlc; ac_word=$2
-echo "$as_me:1317: checking for $ac_word" >&5
+echo "$as_me:1400: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_XLC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -1331,7 +1414,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_XLC="$ac_dir/$ac_word"
-   echo "$as_me:1334: found $ac_dir/$ac_word" >&5
+   echo "$as_me:1417: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -1342,10 +1425,10 @@ fi
 XLC=$ac_cv_path_XLC
 
 if test -n "$XLC"; then
-  echo "$as_me:1345: result: $XLC" >&5
+  echo "$as_me:1428: result: $XLC" >&5
 echo "${ECHO_T}$XLC" >&6
 else
-  echo "$as_me:1348: result: no" >&5
+  echo "$as_me:1431: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -1374,7 +1457,7 @@ ac_main_return="return"
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:1377: checking for $ac_word" >&5
+echo "$as_me:1460: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -1389,7 +1472,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_CC="${ac_tool_prefix}gcc"
-echo "$as_me:1392: found $ac_dir/$ac_word" >&5
+echo "$as_me:1475: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -1397,10 +1480,10 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:1400: result: $CC" >&5
+  echo "$as_me:1483: result: $CC" >&5
 echo "${ECHO_T}$CC" >&6
 else
-  echo "$as_me:1403: result: no" >&5
+  echo "$as_me:1486: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -1409,7 +1492,7 @@ if test -z "$ac_cv_prog_CC"; then
   ac_ct_CC=$CC
   # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
-echo "$as_me:1412: checking for $ac_word" >&5
+echo "$as_me:1495: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -1424,7 +1507,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_ac_ct_CC="gcc"
-echo "$as_me:1427: found $ac_dir/$ac_word" >&5
+echo "$as_me:1510: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -1432,10 +1515,10 @@ fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  echo "$as_me:1435: result: $ac_ct_CC" >&5
+  echo "$as_me:1518: result: $ac_ct_CC" >&5
 echo "${ECHO_T}$ac_ct_CC" >&6
 else
-  echo "$as_me:1438: result: no" >&5
+  echo "$as_me:1521: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -1448,7 +1531,7 @@ if test -z "$CC"; then
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:1451: checking for $ac_word" >&5
+echo "$as_me:1534: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -1463,7 +1546,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_CC="${ac_tool_prefix}cc"
-echo "$as_me:1466: found $ac_dir/$ac_word" >&5
+echo "$as_me:1549: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -1471,10 +1554,10 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:1474: result: $CC" >&5
+  echo "$as_me:1557: result: $CC" >&5
 echo "${ECHO_T}$CC" >&6
 else
-  echo "$as_me:1477: result: no" >&5
+  echo "$as_me:1560: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -1483,7 +1566,7 @@ if test -z "$ac_cv_prog_CC"; then
   ac_ct_CC=$CC
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
-echo "$as_me:1486: checking for $ac_word" >&5
+echo "$as_me:1569: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -1498,7 +1581,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_ac_ct_CC="cc"
-echo "$as_me:1501: found $ac_dir/$ac_word" >&5
+echo "$as_me:1584: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -1506,10 +1589,10 @@ fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  echo "$as_me:1509: result: $ac_ct_CC" >&5
+  echo "$as_me:1592: result: $ac_ct_CC" >&5
 echo "${ECHO_T}$ac_ct_CC" >&6
 else
-  echo "$as_me:1512: result: no" >&5
+  echo "$as_me:1595: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -1522,7 +1605,7 @@ fi
 if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
-echo "$as_me:1525: checking for $ac_word" >&5
+echo "$as_me:1608: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -1542,7 +1625,7 @@ if test "$ac_dir/$ac_word" = "/usr/ucb/c
   continue
 fi
 ac_cv_prog_CC="cc"
-echo "$as_me:1545: found $ac_dir/$ac_word" >&5
+echo "$as_me:1628: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -1564,10 +1647,10 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:1567: result: $CC" >&5
+  echo "$as_me:1650: result: $CC" >&5
 echo "${ECHO_T}$CC" >&6
 else
-  echo "$as_me:1570: result: no" >&5
+  echo "$as_me:1653: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -1578,7 +1661,7 @@ if test -z "$CC"; then
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:1581: checking for $ac_word" >&5
+echo "$as_me:1664: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -1593,7 +1676,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-echo "$as_me:1596: found $ac_dir/$ac_word" >&5
+echo "$as_me:1679: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -1601,10 +1684,10 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:1604: result: $CC" >&5
+  echo "$as_me:1687: result: $CC" >&5
 echo "${ECHO_T}$CC" >&6
 else
-  echo "$as_me:1607: result: no" >&5
+  echo "$as_me:1690: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -1617,7 +1700,7 @@ if test -z "$CC"; then
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:1620: checking for $ac_word" >&5
+echo "$as_me:1703: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -1632,7 +1715,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_ac_ct_CC="$ac_prog"
-echo "$as_me:1635: found $ac_dir/$ac_word" >&5
+echo "$as_me:1718: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -1640,10 +1723,10 @@ fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  echo "$as_me:1643: result: $ac_ct_CC" >&5
+  echo "$as_me:1726: result: $ac_ct_CC" >&5
 echo "${ECHO_T}$ac_ct_CC" >&6
 else
-  echo "$as_me:1646: result: no" >&5
+  echo "$as_me:1729: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -1655,32 +1738,32 @@ fi
 
 fi
 
-test -z "$CC" && { { echo "$as_me:1658: error: no acceptable cc found in \$PATH" >&5
+test -z "$CC" && { { echo "$as_me:1741: error: no acceptable cc found in \$PATH" >&5
 echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
    { (exit 1); exit 1; }; }
 
 # Provide some information about the compiler.
-echo "$as_me:1663:" \
+echo "$as_me:1746:" \
      "checking for C compiler version" >&5
 ac_compiler=`set X $ac_compile; echo "$2"`
-{ (eval echo "$as_me:1666: \"$ac_compiler --version </dev/null >&5\"") >&5
+{ (eval echo "$as_me:1749: \"$ac_compiler --version </dev/null >&5\"") >&5
   (eval $ac_compiler --version </dev/null >&5) 2>&5
   ac_status=$?
-  echo "$as_me:1669: \$? = $ac_status" >&5
+  echo "$as_me:1752: \$? = $ac_status" >&5
   (exit "$ac_status"); }
-{ (eval echo "$as_me:1671: \"$ac_compiler -v </dev/null >&5\"") >&5
+{ (eval echo "$as_me:1754: \"$ac_compiler -v </dev/null >&5\"") >&5
   (eval $ac_compiler -v </dev/null >&5) 2>&5
   ac_status=$?
-  echo "$as_me:1674: \$? = $ac_status" >&5
+  echo "$as_me:1757: \$? = $ac_status" >&5
   (exit "$ac_status"); }
-{ (eval echo "$as_me:1676: \"$ac_compiler -V </dev/null >&5\"") >&5
+{ (eval echo "$as_me:1759: \"$ac_compiler -V </dev/null >&5\"") >&5
   (eval $ac_compiler -V </dev/null >&5) 2>&5
   ac_status=$?
-  echo "$as_me:1679: \$? = $ac_status" >&5
+  echo "$as_me:1762: \$? = $ac_status" >&5
   (exit "$ac_status"); }
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 1683 "configure"
+#line 1766 "configure"
 #include "confdefs.h"
 
 int
@@ -1696,13 +1779,13 @@ ac_clean_files="$ac_clean_files a.out a.
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-echo "$as_me:1699: checking for C compiler default output" >&5
+echo "$as_me:1782: checking for C compiler default output" >&5
 echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
 ac_link_default=`echo "$ac_link" | sed 's/ -o *"conftest[^"]*"//'`
-if { (eval echo "$as_me:1702: \"$ac_link_default\"") >&5
+if { (eval echo "$as_me:1785: \"$ac_link_default\"") >&5
   (eval $ac_link_default) 2>&5
   ac_status=$?
-  echo "$as_me:1705: \$? = $ac_status" >&5
+  echo "$as_me:1788: \$? = $ac_status" >&5
   (exit "$ac_status"); }; then
   # Find the output, starting from the most likely.  This scheme is
 # not robust to junk in `.', hence go to wildcards (a.*) only as a last
@@ -1725,34 +1808,34 @@ done
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
-{ { echo "$as_me:1728: error: C compiler cannot create executables" >&5
+{ { echo "$as_me:1811: error: C compiler cannot create executables" >&5
 echo "$as_me: error: C compiler cannot create executables" >&2;}
    { (exit 77); exit 77; }; }
 fi
 
 ac_exeext=$ac_cv_exeext
-echo "$as_me:1734: result: $ac_file" >&5
+echo "$as_me:1817: result: $ac_file" >&5
 echo "${ECHO_T}$ac_file" >&6
 
 # Check the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-echo "$as_me:1739: checking whether the C compiler works" >&5
+echo "$as_me:1822: checking whether the C compiler works" >&5
 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
 # If not cross compiling, check that we can run a simple program.
 if test "$cross_compiling" != yes; then
   if { ac_try='./$ac_file'
-  { (eval echo "$as_me:1745: \"$ac_try\"") >&5
+  { (eval echo "$as_me:1828: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:1748: \$? = $ac_status" >&5
+  echo "$as_me:1831: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
     cross_compiling=no
   else
     if test "$cross_compiling" = maybe; then
 	cross_compiling=yes
     else
-	{ { echo "$as_me:1755: error: cannot run C compiled programs.
+	{ { echo "$as_me:1838: error: cannot run C compiled programs.
 If you meant to cross compile, use \`--host'." >&5
 echo "$as_me: error: cannot run C compiled programs.
 If you meant to cross compile, use \`--host'." >&2;}
@@ -1760,24 +1843,24 @@ If you meant to cross compile, use \`--h
     fi
   fi
 fi
-echo "$as_me:1763: result: yes" >&5
+echo "$as_me:1846: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 
 rm -f a.out a.exe "conftest$ac_cv_exeext"
 ac_clean_files=$ac_clean_files_save
 # Check the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-echo "$as_me:1770: checking whether we are cross compiling" >&5
+echo "$as_me:1853: checking whether we are cross compiling" >&5
 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:1772: result: $cross_compiling" >&5
+echo "$as_me:1855: result: $cross_compiling" >&5
 echo "${ECHO_T}$cross_compiling" >&6
 
-echo "$as_me:1775: checking for executable suffix" >&5
+echo "$as_me:1858: checking for executable suffix" >&5
 echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6
-if { (eval echo "$as_me:1777: \"$ac_link\"") >&5
+if { (eval echo "$as_me:1860: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:1780: \$? = $ac_status" >&5
+  echo "$as_me:1863: \$? = $ac_status" >&5
   (exit "$ac_status"); }; then
   # If both `conftest.exe' and `conftest' are `present' (well, observable)
 # catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
@@ -1793,25 +1876,25 @@ for ac_file in `(ls conftest.exe; ls con
   esac
 done
 else
-  { { echo "$as_me:1796: error: cannot compute EXEEXT: cannot compile and link" >&5
+  { { echo "$as_me:1879: error: cannot compute EXEEXT: cannot compile and link" >&5
 echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
 rm -f "conftest$ac_cv_exeext"
-echo "$as_me:1802: result: $ac_cv_exeext" >&5
+echo "$as_me:1885: result: $ac_cv_exeext" >&5
 echo "${ECHO_T}$ac_cv_exeext" >&6
 
 rm -f "conftest.$ac_ext"
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
-echo "$as_me:1808: checking for object suffix" >&5
+echo "$as_me:1891: checking for object suffix" >&5
 echo $ECHO_N "checking for object suffix... $ECHO_C" >&6
 if test "${ac_cv_objext+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 1814 "configure"
+#line 1897 "configure"
 #include "confdefs.h"
 
 int
@@ -1823,10 +1906,10 @@ main (void)
 }
 _ACEOF
 rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:1826: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:1909: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:1829: \$? = $ac_status" >&5
+  echo "$as_me:1912: \$? = $ac_status" >&5
   (exit "$ac_status"); }; then
   for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
   case $ac_file in
@@ -1838,24 +1921,24 @@ done
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
-{ { echo "$as_me:1841: error: cannot compute OBJEXT: cannot compile" >&5
+{ { echo "$as_me:1924: error: cannot compute OBJEXT: cannot compile" >&5
 echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
 rm -f "conftest.$ac_cv_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:1848: result: $ac_cv_objext" >&5
+echo "$as_me:1931: result: $ac_cv_objext" >&5
 echo "${ECHO_T}$ac_cv_objext" >&6
 OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
-echo "$as_me:1852: checking whether we are using the GNU C compiler" >&5
+echo "$as_me:1935: checking whether we are using the GNU C compiler" >&5
 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
 if test "${ac_cv_c_compiler_gnu+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 1858 "configure"
+#line 1941 "configure"
 #include "confdefs.h"
 
 int
@@ -1870,16 +1953,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:1873: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:1956: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:1876: \$? = $ac_status" >&5
+  echo "$as_me:1959: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:1879: \"$ac_try\"") >&5
+  { (eval echo "$as_me:1962: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:1882: \$? = $ac_status" >&5
+  echo "$as_me:1965: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_compiler_gnu=yes
 else
@@ -1891,19 +1974,19 @@ rm -f "conftest.$ac_objext" "conftest.$a
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-echo "$as_me:1894: result: $ac_cv_c_compiler_gnu" >&5
+echo "$as_me:1977: result: $ac_cv_c_compiler_gnu" >&5
 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
 GCC=`test $ac_compiler_gnu = yes && echo yes`
 ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 CFLAGS="-g"
-echo "$as_me:1900: checking whether $CC accepts -g" >&5
+echo "$as_me:1983: checking whether $CC accepts -g" >&5
 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
 if test "${ac_cv_prog_cc_g+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 1906 "configure"
+#line 1989 "configure"
 #include "confdefs.h"
 
 int
@@ -1915,16 +1998,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:1918: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:2001: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:1921: \$? = $ac_status" >&5
+  echo "$as_me:2004: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:1924: \"$ac_try\"") >&5
+  { (eval echo "$as_me:2007: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:1927: \$? = $ac_status" >&5
+  echo "$as_me:2010: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_prog_cc_g=yes
 else
@@ -1934,7 +2017,7 @@ ac_cv_prog_cc_g=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:1937: result: $ac_cv_prog_cc_g" >&5
+echo "$as_me:2020: result: $ac_cv_prog_cc_g" >&5
 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
 if test "$ac_test_CFLAGS" = set; then
   CFLAGS=$ac_save_CFLAGS
@@ -1961,16 +2044,16 @@ cat >"conftest.$ac_ext" <<_ACEOF
 #endif
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:1964: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:2047: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:1967: \$? = $ac_status" >&5
+  echo "$as_me:2050: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:1970: \"$ac_try\"") >&5
+  { (eval echo "$as_me:2053: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:1973: \$? = $ac_status" >&5
+  echo "$as_me:2056: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   for ac_declaration in \
    ''\
@@ -1982,7 +2065,7 @@ if { (eval echo "$as_me:1964: \"$ac_comp
    'void exit (int);'
 do
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 1985 "configure"
+#line 2068 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 $ac_declaration
@@ -1995,16 +2078,16 @@ exit (42);
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:1998: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:2081: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:2001: \$? = $ac_status" >&5
+  echo "$as_me:2084: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:2004: \"$ac_try\"") >&5
+  { (eval echo "$as_me:2087: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:2007: \$? = $ac_status" >&5
+  echo "$as_me:2090: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -2014,7 +2097,7 @@ continue
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 2017 "configure"
+#line 2100 "configure"
 #include "confdefs.h"
 $ac_declaration
 int
@@ -2026,16 +2109,16 @@ exit (42);
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:2029: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:2112: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:2032: \$? = $ac_status" >&5
+  echo "$as_me:2115: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:2035: \"$ac_try\"") >&5
+  { (eval echo "$as_me:2118: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:2038: \$? = $ac_status" >&5
+  echo "$as_me:2121: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   break
 else
@@ -2065,11 +2148,11 @@ ac_main_return="return"
 
 GCC_VERSION=none
 if test "$GCC" = yes ; then
-	echo "$as_me:2068: checking version of $CC" >&5
+	echo "$as_me:2151: checking version of $CC" >&5
 echo $ECHO_N "checking version of $CC... $ECHO_C" >&6
 	GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^[^(]*([^)][^)]*) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
 	test -z "$GCC_VERSION" && GCC_VERSION=unknown
-	echo "$as_me:2072: result: $GCC_VERSION" >&5
+	echo "$as_me:2155: result: $GCC_VERSION" >&5
 echo "${ECHO_T}$GCC_VERSION" >&6
 fi
 
@@ -2078,12 +2161,12 @@ INTEL_COMPILER=no
 if test "$GCC" = yes ; then
 	case "$host_os" in
 	linux*|gnu*)
-		echo "$as_me:2081: checking if this is really Intel C compiler" >&5
+		echo "$as_me:2164: checking if this is really Intel C compiler" >&5
 echo $ECHO_N "checking if this is really Intel C compiler... $ECHO_C" >&6
 		cf_save_CFLAGS="$CFLAGS"
 		CFLAGS="$CFLAGS -no-gcc"
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 2086 "configure"
+#line 2169 "configure"
 #include "confdefs.h"
 
 int
@@ -2100,16 +2183,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:2103: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:2186: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:2106: \$? = $ac_status" >&5
+  echo "$as_me:2189: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:2109: \"$ac_try\"") >&5
+  { (eval echo "$as_me:2192: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:2112: \$? = $ac_status" >&5
+  echo "$as_me:2195: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   INTEL_COMPILER=yes
 cf_save_CFLAGS="$cf_save_CFLAGS -we147"
@@ -2120,7 +2203,7 @@ cat "conftest.$ac_ext" >&5
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 		CFLAGS="$cf_save_CFLAGS"
-		echo "$as_me:2123: result: $INTEL_COMPILER" >&5
+		echo "$as_me:2206: result: $INTEL_COMPILER" >&5
 echo "${ECHO_T}$INTEL_COMPILER" >&6
 		;;
 	esac
@@ -2129,11 +2212,11 @@ fi
 CLANG_COMPILER=no
 
 if test "$GCC" = yes ; then
-	echo "$as_me:2132: checking if this is really Clang C compiler" >&5
+	echo "$as_me:2215: checking if this is really Clang C compiler" >&5
 echo $ECHO_N "checking if this is really Clang C compiler... $ECHO_C" >&6
 	cf_save_CFLAGS="$CFLAGS"
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 2136 "configure"
+#line 2219 "configure"
 #include "confdefs.h"
 
 int
@@ -2150,16 +2233,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:2153: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:2236: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:2156: \$? = $ac_status" >&5
+  echo "$as_me:2239: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:2159: \"$ac_try\"") >&5
+  { (eval echo "$as_me:2242: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:2162: \$? = $ac_status" >&5
+  echo "$as_me:2245: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   CLANG_COMPILER=yes
 
@@ -2169,7 +2252,7 @@ cat "conftest.$ac_ext" >&5
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 	CFLAGS="$cf_save_CFLAGS"
-	echo "$as_me:2172: result: $CLANG_COMPILER" >&5
+	echo "$as_me:2255: result: $CLANG_COMPILER" >&5
 echo "${ECHO_T}$CLANG_COMPILER" >&6
 fi
 
@@ -2178,30 +2261,30 @@ CLANG_VERSION=none
 if test "x$CLANG_COMPILER" = "xyes" ; then
 	case "$CC" in
 	c[1-9][0-9]|*/c[1-9][0-9])
-		{ echo "$as_me:2181: WARNING: replacing broken compiler alias $CC" >&5
+		{ echo "$as_me:2264: WARNING: replacing broken compiler alias $CC" >&5
 echo "$as_me: WARNING: replacing broken compiler alias $CC" >&2;}
 		CFLAGS="$CFLAGS -std=`echo "$CC" | sed -e 's%.*/%%'`"
 		CC=clang
 		;;
 	esac
 
-	echo "$as_me:2188: checking version of $CC" >&5
+	echo "$as_me:2271: checking version of $CC" >&5
 echo $ECHO_N "checking version of $CC... $ECHO_C" >&6
 	CLANG_VERSION="`$CC --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(CLANG[^)]*) //' -e 's/^.*(Debian[^)]*) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
 	test -z "$CLANG_VERSION" && CLANG_VERSION=unknown
-	echo "$as_me:2192: result: $CLANG_VERSION" >&5
+	echo "$as_me:2275: result: $CLANG_VERSION" >&5
 echo "${ECHO_T}$CLANG_VERSION" >&6
 
 	for cf_clang_opt in \
 		-Qunused-arguments \
 		-Wno-error=implicit-function-declaration
 	do
-		echo "$as_me:2199: checking if option $cf_clang_opt works" >&5
+		echo "$as_me:2282: checking if option $cf_clang_opt works" >&5
 echo $ECHO_N "checking if option $cf_clang_opt works... $ECHO_C" >&6
 		cf_save_CFLAGS="$CFLAGS"
 		CFLAGS="$CFLAGS $cf_clang_opt"
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 2204 "configure"
+#line 2287 "configure"
 #include "confdefs.h"
 
 			#include <stdio.h>
@@ -2215,16 +2298,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:2218: \"$ac_link\"") >&5
+if { (eval echo "$as_me:2301: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:2221: \$? = $ac_status" >&5
+  echo "$as_me:2304: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:2224: \"$ac_try\"") >&5
+  { (eval echo "$as_me:2307: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:2227: \$? = $ac_status" >&5
+  echo "$as_me:2310: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 			cf_clang_optok=yes
@@ -2235,13 +2318,13 @@ cat "conftest.$ac_ext" >&5
 			cf_clang_optok=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
-		echo "$as_me:2238: result: $cf_clang_optok" >&5
+		echo "$as_me:2321: result: $cf_clang_optok" >&5
 echo "${ECHO_T}$cf_clang_optok" >&6
 		CFLAGS="$cf_save_CFLAGS"
 		if test "$cf_clang_optok" = yes; then
 			test -n "$verbose" && echo "	adding option $cf_clang_opt" 1>&6
 
-echo "${as_me:-configure}:2244: testing adding option $cf_clang_opt ..." 1>&5
+echo "${as_me:-configure}:2327: testing adding option $cf_clang_opt ..." 1>&5
 
 	test -n "$CFLAGS" && CFLAGS="$CFLAGS "
 	CFLAGS="${CFLAGS}$cf_clang_opt"
@@ -2250,7 +2333,7 @@ echo "${as_me:-configure}:2244: testing
 	done
 fi
 
-echo "$as_me:2253: checking for $CC option to accept ANSI C" >&5
+echo "$as_me:2336: checking for $CC option to accept ANSI C" >&5
 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
 if test "${ac_cv_prog_cc_stdc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -2258,7 +2341,7 @@ else
   ac_cv_prog_cc_stdc=no
 ac_save_CC=$CC
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 2261 "configure"
+#line 2344 "configure"
 #include "confdefs.h"
 #include <stdarg.h>
 #include <stdio.h>
@@ -2305,16 +2388,16 @@ for ac_arg in "" -qlanglvl=ansi -std1 -A
 do
   CC="$ac_save_CC $ac_arg"
   rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:2308: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:2391: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:2311: \$? = $ac_status" >&5
+  echo "$as_me:2394: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:2314: \"$ac_try\"") >&5
+  { (eval echo "$as_me:2397: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:2317: \$? = $ac_status" >&5
+  echo "$as_me:2400: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_prog_cc_stdc=$ac_arg
 break
@@ -2331,10 +2414,10 @@ fi
 
 case "x$ac_cv_prog_cc_stdc" in
   x|xno)
-    echo "$as_me:2334: result: none needed" >&5
+    echo "$as_me:2417: result: none needed" >&5
 echo "${ECHO_T}none needed" >&6 ;;
   *)
-    echo "$as_me:2337: result: $ac_cv_prog_cc_stdc" >&5
+    echo "$as_me:2420: result: $ac_cv_prog_cc_stdc" >&5
 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
     CC="$CC $ac_cv_prog_cc_stdc" ;;
 esac
@@ -2342,13 +2425,13 @@ esac
 # This should have been defined by AC_PROG_CC
 : "${CC:=cc}"
 
-echo "$as_me:2345: checking \$CFLAGS variable" >&5
+echo "$as_me:2428: checking \$CFLAGS variable" >&5
 echo $ECHO_N "checking \$CFLAGS variable... $ECHO_C" >&6
 case "x$CFLAGS" in
 *-[IUD]*)
-	echo "$as_me:2349: result: broken" >&5
+	echo "$as_me:2432: result: broken" >&5
 echo "${ECHO_T}broken" >&6
-	{ echo "$as_me:2351: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&5
+	{ echo "$as_me:2434: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&5
 echo "$as_me: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&2;}
 	cf_flags="$CFLAGS"
 	CFLAGS=
@@ -2456,18 +2539,18 @@ fi
 	done
 	;;
 *)
-	echo "$as_me:2459: result: ok" >&5
+	echo "$as_me:2542: result: ok" >&5
 echo "${ECHO_T}ok" >&6
 	;;
 esac
 
-echo "$as_me:2464: checking \$CC variable" >&5
+echo "$as_me:2547: checking \$CC variable" >&5
 echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6
 case "$CC" in
 *[\ \	]-*)
-	echo "$as_me:2468: result: broken" >&5
+	echo "$as_me:2551: result: broken" >&5
 echo "${ECHO_T}broken" >&6
-	{ echo "$as_me:2470: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
+	{ echo "$as_me:2553: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
 echo "$as_me: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
 	# humor him...
 	cf_prog=`echo "$CC" | sed -e 's/	/ /g' -e 's/[ ]* / /g' -e 's/[ ]*[ ]-[^ ].*//'`
@@ -2584,19 +2667,19 @@ fi
 	done
 	test -n "$verbose" && echo "	resulting CC: '$CC'" 1>&6
 
-echo "${as_me:-configure}:2587: testing resulting CC: '$CC' ..." 1>&5
+echo "${as_me:-configure}:2670: testing resulting CC: '$CC' ..." 1>&5
 
 	test -n "$verbose" && echo "	resulting CFLAGS: '$CFLAGS'" 1>&6
 
-echo "${as_me:-configure}:2591: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5
+echo "${as_me:-configure}:2674: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5
 
 	test -n "$verbose" && echo "	resulting CPPFLAGS: '$CPPFLAGS'" 1>&6
 
-echo "${as_me:-configure}:2595: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
+echo "${as_me:-configure}:2678: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
 
 	;;
 *)
-	echo "$as_me:2599: result: ok" >&5
+	echo "$as_me:2682: result: ok" >&5
 echo "${ECHO_T}ok" >&6
 	;;
 esac
@@ -2605,7 +2688,7 @@ for ac_prog in ggrep grep
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:2608: checking for $ac_word" >&5
+echo "$as_me:2691: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_GREP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -2620,7 +2703,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_GREP="$ac_prog"
-echo "$as_me:2623: found $ac_dir/$ac_word" >&5
+echo "$as_me:2706: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -2628,10 +2711,10 @@ fi
 fi
 GREP=$ac_cv_prog_GREP
 if test -n "$GREP"; then
-  echo "$as_me:2631: result: $GREP" >&5
+  echo "$as_me:2714: result: $GREP" >&5
 echo "${ECHO_T}$GREP" >&6
 else
-  echo "$as_me:2634: result: no" >&5
+  echo "$as_me:2717: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -2639,7 +2722,7 @@ fi
 done
 test -n "$GREP" || GREP=": "
 
-echo "$as_me:2642: checking for egrep" >&5
+echo "$as_me:2725: checking for egrep" >&5
 echo $ECHO_N "checking for egrep... $ECHO_C" >&6
 if test "${ac_cv_path_EGREP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -2651,7 +2734,7 @@ else
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:2654: checking for $ac_word" >&5
+echo "$as_me:2737: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_EGREP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -2668,7 +2751,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_EGREP="$ac_dir/$ac_word"
-   echo "$as_me:2671: found $ac_dir/$ac_word" >&5
+   echo "$as_me:2754: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -2679,10 +2762,10 @@ fi
 EGREP=$ac_cv_path_EGREP
 
 if test -n "$EGREP"; then
-  echo "$as_me:2682: result: $EGREP" >&5
+  echo "$as_me:2765: result: $EGREP" >&5
 echo "${ECHO_T}$EGREP" >&6
 else
-  echo "$as_me:2685: result: no" >&5
+  echo "$as_me:2768: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -2690,12 +2773,12 @@ fi
 done
 test -n "$EGREP" || EGREP=": "
 
-     test "x$ac_cv_path_EGREP" = "x:" && { { echo "$as_me:2693: error: cannot find workable egrep" >&5
+     test "x$ac_cv_path_EGREP" = "x:" && { { echo "$as_me:2776: error: cannot find workable egrep" >&5
 echo "$as_me: error: cannot find workable egrep" >&2;}
    { (exit 1); exit 1; }; }
    fi
 fi
-echo "$as_me:2698: result: $ac_cv_path_EGREP" >&5
+echo "$as_me:2781: result: $ac_cv_path_EGREP" >&5
 echo "${ECHO_T}$ac_cv_path_EGREP" >&6
  EGREP="$ac_cv_path_EGREP"
 
@@ -2705,7 +2788,7 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS "co
 ac_link='$CC -o "conftest$ac_exeext" $CFLAGS $CPPFLAGS $LDFLAGS "conftest.$ac_ext" $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 ac_main_return="return"
-echo "$as_me:2708: checking how to run the C preprocessor" >&5
+echo "$as_me:2791: checking how to run the C preprocessor" >&5
 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
@@ -2726,18 +2809,18 @@ do
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp. "Syntax error" is here to catch this case.
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 2729 "configure"
+#line 2812 "configure"
 #include "confdefs.h"
 #include <assert.h>
                      Syntax error
 _ACEOF
-if { (eval echo "$as_me:2734: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:2817: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:2740: \$? = $ac_status" >&5
+  echo "$as_me:2823: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -2760,17 +2843,17 @@ rm -f conftest.err "conftest.$ac_ext"
   # OK, works on sane cases.  Now check whether non-existent headers
   # can be detected and how.
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 2763 "configure"
+#line 2846 "configure"
 #include "confdefs.h"
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:2767: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:2850: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:2773: \$? = $ac_status" >&5
+  echo "$as_me:2856: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -2807,7 +2890,7 @@ fi
 else
   ac_cv_prog_CPP=$CPP
 fi
-echo "$as_me:2810: result: $CPP" >&5
+echo "$as_me:2893: result: $CPP" >&5
 echo "${ECHO_T}$CPP" >&6
 ac_preproc_ok=false
 for ac_c_preproc_warn_flag in '' yes
@@ -2817,18 +2900,18 @@ do
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp. "Syntax error" is here to catch this case.
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 2820 "configure"
+#line 2903 "configure"
 #include "confdefs.h"
 #include <assert.h>
                      Syntax error
 _ACEOF
-if { (eval echo "$as_me:2825: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:2908: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:2831: \$? = $ac_status" >&5
+  echo "$as_me:2914: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -2851,17 +2934,17 @@ rm -f conftest.err "conftest.$ac_ext"
   # OK, works on sane cases.  Now check whether non-existent headers
   # can be detected and how.
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 2854 "configure"
+#line 2937 "configure"
 #include "confdefs.h"
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:2858: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:2941: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:2864: \$? = $ac_status" >&5
+  echo "$as_me:2947: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -2889,7 +2972,7 @@ rm -f conftest.err "conftest.$ac_ext"
 if $ac_preproc_ok; then
   :
 else
-  { { echo "$as_me:2892: error: C preprocessor \"$CPP\" fails sanity check" >&5
+  { { echo "$as_me:2975: error: C preprocessor \"$CPP\" fails sanity check" >&5
 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -2902,14 +2985,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 ac_main_return="return"
 
 if test $ac_cv_c_compiler_gnu = yes; then
-    echo "$as_me:2905: checking whether $CC needs -traditional" >&5
+    echo "$as_me:2988: checking whether $CC needs -traditional" >&5
 echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6
 if test "${ac_cv_prog_gcc_traditional+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
     ac_pattern="Autoconf.*'x'"
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 2912 "configure"
+#line 2995 "configure"
 #include "confdefs.h"
 #include <sgtty.h>
 int Autoconf = TIOCGETP;
@@ -2924,7 +3007,7 @@ rm -rf conftest*
 
   if test $ac_cv_prog_gcc_traditional = no; then
     cat >"conftest.$ac_ext" <<_ACEOF
-#line 2927 "configure"
+#line 3010 "configure"
 #include "confdefs.h"
 #include <termio.h>
 int Autoconf = TCGETA;
@@ -2937,14 +3020,14 @@ rm -rf conftest*
 
   fi
 fi
-echo "$as_me:2940: result: $ac_cv_prog_gcc_traditional" >&5
+echo "$as_me:3023: result: $ac_cv_prog_gcc_traditional" >&5
 echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6
   if test $ac_cv_prog_gcc_traditional = yes; then
     CC="$CC -traditional"
   fi
 fi
 
-echo "$as_me:2947: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "$as_me:3030: checking whether ${MAKE-make} sets \${MAKE}" >&5
 echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
 if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
@@ -2964,11 +3047,11 @@ fi
 rm -f conftest.make
 fi
 if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
-  echo "$as_me:2967: result: yes" >&5
+  echo "$as_me:3050: result: yes" >&5
 echo "${ECHO_T}yes" >&6
   SET_MAKE=
 else
-  echo "$as_me:2971: result: no" >&5
+  echo "$as_me:3054: result: no" >&5
 echo "${ECHO_T}no" >&6
   SET_MAKE="MAKE=${MAKE-make}"
 fi
@@ -2985,7 +3068,7 @@ fi
 # AFS /usr/afsws/bin/install, which mishandles nonexistent args
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:2988: checking for a BSD compatible install" >&5
+echo "$as_me:3071: checking for a BSD compatible install" >&5
 echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6
 if test -z "$INSTALL"; then
 if test "${ac_cv_path_install+set}" = set; then
@@ -3034,7 +3117,7 @@ fi
     INSTALL=$ac_install_sh
   fi
 fi
-echo "$as_me:3037: result: $INSTALL" >&5
+echo "$as_me:3120: result: $INSTALL" >&5
 echo "${ECHO_T}$INSTALL" >&6
 
 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
@@ -3069,22 +3152,22 @@ EOF
   for cf_prog in 'bison -y' byacc yacc
   do
     rm -f y.tab.ch
-    echo "$as_me:3072: checking for $cf_prog" >&5
+    echo "$as_me:3155: checking for $cf_prog" >&5
 echo $ECHO_N "checking for $cf_prog... $ECHO_C" >&6
     cf_command="$cf_prog conftest.y"
     cf_result=no
-    if { (eval echo "$as_me:3076: \"$cf_command\"") >&5
+    if { (eval echo "$as_me:3159: \"$cf_command\"") >&5
   (eval $cf_command) 2>&5
   ac_status=$?
-  echo "$as_me:3079: \$? = $ac_status" >&5
+  echo "$as_me:3162: \$? = $ac_status" >&5
   (exit "$ac_status"); } && test -s y.tab.c ; then
       mv y.tab.c conftest.c
       rm -f y.tab.h
       if test "$cf_prog" = 'bison -y' ; then
-        if { (eval echo "$as_me:3084: \"$ac_link\"") >&5
+        if { (eval echo "$as_me:3167: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:3087: \$? = $ac_status" >&5
+  echo "$as_me:3170: \$? = $ac_status" >&5
   (exit "$ac_status"); } && test -s conftest ; then
           cf_result=yes
         fi
@@ -3092,7 +3175,7 @@ echo $ECHO_N "checking for $cf_prog... $
         cf_result=yes
       fi
     fi
-    echo "$as_me:3095: result: $cf_result" >&5
+    echo "$as_me:3178: result: $cf_result" >&5
 echo "${ECHO_T}$cf_result" >&6
     if test $cf_result = yes ; then
       cf_cv_prog_YACC="$cf_prog"
@@ -3109,7 +3192,7 @@ for ac_prog in lint alint lclint tdlint
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:3112: checking for $ac_word" >&5
+echo "$as_me:3195: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_LINT+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -3124,7 +3207,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_LINT="$ac_prog"
-echo "$as_me:3127: found $ac_dir/$ac_word" >&5
+echo "$as_me:3210: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -3132,10 +3215,10 @@ fi
 fi
 LINT=$ac_cv_prog_LINT
 if test -n "$LINT"; then
-  echo "$as_me:3135: result: $LINT" >&5
+  echo "$as_me:3218: result: $LINT" >&5
 echo "${ECHO_T}$LINT" >&6
 else
-  echo "$as_me:3138: result: no" >&5
+  echo "$as_me:3221: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -3180,14 +3263,14 @@ EOF
 	esac
 LIB_PREFIX=$LIB_PREFIX
 
-echo "$as_me:3183: checking whether ln -s works" >&5
+echo "$as_me:3266: checking whether ln -s works" >&5
 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
 LN_S=$as_ln_s
 if test "$LN_S" = "ln -s"; then
-  echo "$as_me:3187: result: yes" >&5
+  echo "$as_me:3270: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 else
-  echo "$as_me:3190: result: no, using $LN_S" >&5
+  echo "$as_me:3273: result: no, using $LN_S" >&5
 echo "${ECHO_T}no, using $LN_S" >&6
 fi
 
@@ -3210,7 +3293,7 @@ else
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:3213: checking for $ac_word" >&5
+echo "$as_me:3296: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_BUILD_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -3225,7 +3308,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_BUILD_CC="$ac_prog"
-echo "$as_me:3228: found $ac_dir/$ac_word" >&5
+echo "$as_me:3311: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -3233,10 +3316,10 @@ fi
 fi
 BUILD_CC=$ac_cv_prog_BUILD_CC
 if test -n "$BUILD_CC"; then
-  echo "$as_me:3236: result: $BUILD_CC" >&5
+  echo "$as_me:3319: result: $BUILD_CC" >&5
 echo "${ECHO_T}$BUILD_CC" >&6
 else
-  echo "$as_me:3239: result: no" >&5
+  echo "$as_me:3322: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -3245,12 +3328,12 @@ done
 test -n "$BUILD_CC" || BUILD_CC="none"
 
 fi;
-	echo "$as_me:3248: checking for native build C compiler" >&5
+	echo "$as_me:3331: checking for native build C compiler" >&5
 echo $ECHO_N "checking for native build C compiler... $ECHO_C" >&6
-	echo "$as_me:3250: result: $BUILD_CC" >&5
+	echo "$as_me:3333: result: $BUILD_CC" >&5
 echo "${ECHO_T}$BUILD_CC" >&6
 
-	echo "$as_me:3253: checking for native build C preprocessor" >&5
+	echo "$as_me:3336: checking for native build C preprocessor" >&5
 echo $ECHO_N "checking for native build C preprocessor... $ECHO_C" >&6
 
 # Check whether --with-build-cpp or --without-build-cpp was given.
@@ -3260,10 +3343,10 @@ if test "${with_build_cpp+set}" = set; t
 else
   BUILD_CPP='${BUILD_CC} -E'
 fi;
-	echo "$as_me:3263: result: $BUILD_CPP" >&5
+	echo "$as_me:3346: result: $BUILD_CPP" >&5
 echo "${ECHO_T}$BUILD_CPP" >&6
 
-	echo "$as_me:3266: checking for native build C flags" >&5
+	echo "$as_me:3349: checking for native build C flags" >&5
 echo $ECHO_N "checking for native build C flags... $ECHO_C" >&6
 
 # Check whether --with-build-cflags or --without-build-cflags was given.
@@ -3271,10 +3354,10 @@ if test "${with_build_cflags+set}" = set
   withval="$with_build_cflags"
   BUILD_CFLAGS="$withval"
 fi;
-	echo "$as_me:3274: result: $BUILD_CFLAGS" >&5
+	echo "$as_me:3357: result: $BUILD_CFLAGS" >&5
 echo "${ECHO_T}$BUILD_CFLAGS" >&6
 
-	echo "$as_me:3277: checking for native build C preprocessor-flags" >&5
+	echo "$as_me:3360: checking for native build C preprocessor-flags" >&5
 echo $ECHO_N "checking for native build C preprocessor-flags... $ECHO_C" >&6
 
 # Check whether --with-build-cppflags or --without-build-cppflags was given.
@@ -3282,10 +3365,10 @@ if test "${with_build_cppflags+set}" = s
   withval="$with_build_cppflags"
   BUILD_CPPFLAGS="$withval"
 fi;
-	echo "$as_me:3285: result: $BUILD_CPPFLAGS" >&5
+	echo "$as_me:3368: result: $BUILD_CPPFLAGS" >&5
 echo "${ECHO_T}$BUILD_CPPFLAGS" >&6
 
-	echo "$as_me:3288: checking for native build linker-flags" >&5
+	echo "$as_me:3371: checking for native build linker-flags" >&5
 echo $ECHO_N "checking for native build linker-flags... $ECHO_C" >&6
 
 # Check whether --with-build-ldflags or --without-build-ldflags was given.
@@ -3293,10 +3376,10 @@ if test "${with_build_ldflags+set}" = se
   withval="$with_build_ldflags"
   BUILD_LDFLAGS="$withval"
 fi;
-	echo "$as_me:3296: result: $BUILD_LDFLAGS" >&5
+	echo "$as_me:3379: result: $BUILD_LDFLAGS" >&5
 echo "${ECHO_T}$BUILD_LDFLAGS" >&6
 
-	echo "$as_me:3299: checking for native build linker-libraries" >&5
+	echo "$as_me:3382: checking for native build linker-libraries" >&5
 echo $ECHO_N "checking for native build linker-libraries... $ECHO_C" >&6
 
 # Check whether --with-build-libs or --without-build-libs was given.
@@ -3304,7 +3387,7 @@ if test "${with_build_libs+set}" = set;
   withval="$with_build_libs"
   BUILD_LIBS="$withval"
 fi;
-	echo "$as_me:3307: result: $BUILD_LIBS" >&5
+	echo "$as_me:3390: result: $BUILD_LIBS" >&5
 echo "${ECHO_T}$BUILD_LIBS" >&6
 
 	# this assumes we're on Unix.
@@ -3313,7 +3396,7 @@ echo "${ECHO_T}$BUILD_LIBS" >&6
 
 	: ${BUILD_CC:='${CC}'}
 
-	echo "$as_me:3316: checking if the build-compiler \"$BUILD_CC\" works" >&5
+	echo "$as_me:3399: checking if the build-compiler \"$BUILD_CC\" works" >&5
 echo $ECHO_N "checking if the build-compiler \"$BUILD_CC\" works... $ECHO_C" >&6
 
 	cf_save_crossed=$cross_compiling
@@ -3327,7 +3410,7 @@ echo $ECHO_N "checking if the build-comp
   cf_ok_build_cc=unknown
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 3330 "configure"
+#line 3413 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 		int main(int argc, char *argv[])
@@ -3337,15 +3420,15 @@ else
 
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:3340: \"$ac_link\"") >&5
+if { (eval echo "$as_me:3423: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:3343: \$? = $ac_status" >&5
+  echo "$as_me:3426: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:3345: \"$ac_try\"") >&5
+  { (eval echo "$as_me:3428: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:3348: \$? = $ac_status" >&5
+  echo "$as_me:3431: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_ok_build_cc=yes
 else
@@ -3360,12 +3443,12 @@ fi
 	cross_compiling=$cf_save_crossed
 	ac_link=$cf_save_ac_link
 
-	echo "$as_me:3363: result: $cf_ok_build_cc" >&5
+	echo "$as_me:3446: result: $cf_ok_build_cc" >&5
 echo "${ECHO_T}$cf_ok_build_cc" >&6
 
 	if test "$cf_ok_build_cc" != yes
 	then
-		{ { echo "$as_me:3368: error: Cross-build requires two compilers.
+		{ { echo "$as_me:3451: error: Cross-build requires two compilers.
 Use --with-build-cc to specify the native compiler." >&5
 echo "$as_me: error: Cross-build requires two compilers.
 Use --with-build-cc to specify the native compiler." >&2;}
@@ -3384,13 +3467,13 @@ else
 fi
 
 #### initialize $ac_includes_default
-echo "$as_me:3387: checking for ANSI C header files" >&5
+echo "$as_me:3470: checking for ANSI C header files" >&5
 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
 if test "${ac_cv_header_stdc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 3393 "configure"
+#line 3476 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -3398,13 +3481,13 @@ else
 #include <float.h>
 
 _ACEOF
-if { (eval echo "$as_me:3401: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:3484: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:3407: \$? = $ac_status" >&5
+  echo "$as_me:3490: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -3426,7 +3509,7 @@ rm -f conftest.err "conftest.$ac_ext"
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 3429 "configure"
+#line 3512 "configure"
 #include "confdefs.h"
 #include <string.h>
 
@@ -3444,7 +3527,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 3447 "configure"
+#line 3530 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 
@@ -3465,7 +3548,7 @@ if test $ac_cv_header_stdc = yes; then
   :
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 3468 "configure"
+#line 3551 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #if ((' ' & 0x0FF) == 0x020)
@@ -3491,15 +3574,15 @@ main (void)
 }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:3494: \"$ac_link\"") >&5
+if { (eval echo "$as_me:3577: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:3497: \$? = $ac_status" >&5
+  echo "$as_me:3580: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:3499: \"$ac_try\"") >&5
+  { (eval echo "$as_me:3582: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:3502: \$? = $ac_status" >&5
+  echo "$as_me:3585: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -3512,7 +3595,7 @@ rm -f core ./core.* ./*.core "conftest$a
 fi
 fi
 fi
-echo "$as_me:3515: result: $ac_cv_header_stdc" >&5
+echo "$as_me:3598: result: $ac_cv_header_stdc" >&5
 echo "${ECHO_T}$ac_cv_header_stdc" >&6
 if test $ac_cv_header_stdc = yes; then
 
@@ -3528,28 +3611,28 @@ for ac_header in sys/types.h sys/stat.h
                   inttypes.h stdint.h unistd.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:3531: checking for $ac_header" >&5
+echo "$as_me:3614: checking for $ac_header" >&5
 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 3537 "configure"
+#line 3620 "configure"
 #include "confdefs.h"
 $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:3543: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:3626: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:3546: \$? = $ac_status" >&5
+  echo "$as_me:3629: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:3549: \"$ac_try\"") >&5
+  { (eval echo "$as_me:3632: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:3552: \$? = $ac_status" >&5
+  echo "$as_me:3635: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_Header=yes"
 else
@@ -3559,7 +3642,7 @@ eval "$as_ac_Header=no"
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:3562: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:3645: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -3569,13 +3652,13 @@ EOF
 fi
 done
 
-echo "$as_me:3572: checking whether exit is declared" >&5
+echo "$as_me:3655: checking whether exit is declared" >&5
 echo $ECHO_N "checking whether exit is declared... $ECHO_C" >&6
 if test "${ac_cv_have_decl_exit+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 3578 "configure"
+#line 3661 "configure"
 #include "confdefs.h"
 $ac_includes_default
 int
@@ -3590,16 +3673,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:3593: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:3676: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:3596: \$? = $ac_status" >&5
+  echo "$as_me:3679: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:3599: \"$ac_try\"") >&5
+  { (eval echo "$as_me:3682: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:3602: \$? = $ac_status" >&5
+  echo "$as_me:3685: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_have_decl_exit=yes
 else
@@ -3609,17 +3692,17 @@ ac_cv_have_decl_exit=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:3612: result: $ac_cv_have_decl_exit" >&5
+echo "$as_me:3695: result: $ac_cv_have_decl_exit" >&5
 echo "${ECHO_T}$ac_cv_have_decl_exit" >&6
 
-echo "$as_me:3615: checking if the POSIX test-macros are already defined" >&5
+echo "$as_me:3698: checking if the POSIX test-macros are already defined" >&5
 echo $ECHO_N "checking if the POSIX test-macros are already defined... $ECHO_C" >&6
 if test "${cf_cv_posix_visible+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 3622 "configure"
+#line 3705 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -3638,16 +3721,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:3641: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:3724: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:3644: \$? = $ac_status" >&5
+  echo "$as_me:3727: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:3647: \"$ac_try\"") >&5
+  { (eval echo "$as_me:3730: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:3650: \$? = $ac_status" >&5
+  echo "$as_me:3733: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_posix_visible=no
 else
@@ -3658,7 +3741,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:3661: result: $cf_cv_posix_visible" >&5
+echo "$as_me:3744: result: $cf_cv_posix_visible" >&5
 echo "${ECHO_T}$cf_cv_posix_visible" >&6
 
 if test "$cf_cv_posix_visible" = no; then
@@ -3700,14 +3783,14 @@ linux*gnu|linux*gnuabi64|linux*gnuabin32
 
 cf_gnu_xopen_source=$cf_XOPEN_SOURCE
 
-echo "$as_me:3703: checking if this is the GNU C library" >&5
+echo "$as_me:3786: checking if this is the GNU C library" >&5
 echo $ECHO_N "checking if this is the GNU C library... $ECHO_C" >&6
 if test "${cf_cv_gnu_library+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 3710 "configure"
+#line 3793 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int
@@ -3726,16 +3809,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:3729: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:3812: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:3732: \$? = $ac_status" >&5
+  echo "$as_me:3815: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:3735: \"$ac_try\"") >&5
+  { (eval echo "$as_me:3818: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:3738: \$? = $ac_status" >&5
+  echo "$as_me:3821: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_gnu_library=yes
 else
@@ -3746,7 +3829,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:3749: result: $cf_cv_gnu_library" >&5
+echo "$as_me:3832: result: $cf_cv_gnu_library" >&5
 echo "${ECHO_T}$cf_cv_gnu_library" >&6
 
 if test x$cf_cv_gnu_library = xyes; then
@@ -3754,7 +3837,7 @@ if test x$cf_cv_gnu_library = xyes; then
 	# With glibc 2.19 (13 years after this check was begun), _DEFAULT_SOURCE
 	# was changed to help a little.  newlib incorporated the change about 4
 	# years later.
-	echo "$as_me:3757: checking if _DEFAULT_SOURCE can be used as a basis" >&5
+	echo "$as_me:3840: checking if _DEFAULT_SOURCE can be used as a basis" >&5
 echo $ECHO_N "checking if _DEFAULT_SOURCE can be used as a basis... $ECHO_C" >&6
 if test "${cf_cv_gnu_library_219+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -3766,7 +3849,7 @@ else
 	CPPFLAGS="${CPPFLAGS}-D_DEFAULT_SOURCE"
 
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 3769 "configure"
+#line 3852 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int
@@ -3785,16 +3868,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:3788: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:3871: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:3791: \$? = $ac_status" >&5
+  echo "$as_me:3874: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:3794: \"$ac_try\"") >&5
+  { (eval echo "$as_me:3877: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:3797: \$? = $ac_status" >&5
+  echo "$as_me:3880: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_gnu_library_219=yes
 else
@@ -3806,12 +3889,12 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		CPPFLAGS="$cf_save"
 
 fi
-echo "$as_me:3809: result: $cf_cv_gnu_library_219" >&5
+echo "$as_me:3892: result: $cf_cv_gnu_library_219" >&5
 echo "${ECHO_T}$cf_cv_gnu_library_219" >&6
 
 	if test "x$cf_cv_gnu_library_219" = xyes; then
 		cf_save="$CPPFLAGS"
-		echo "$as_me:3814: checking if _XOPEN_SOURCE=$cf_gnu_xopen_source works with _DEFAULT_SOURCE" >&5
+		echo "$as_me:3897: checking if _XOPEN_SOURCE=$cf_gnu_xopen_source works with _DEFAULT_SOURCE" >&5
 echo $ECHO_N "checking if _XOPEN_SOURCE=$cf_gnu_xopen_source works with _DEFAULT_SOURCE... $ECHO_C" >&6
 if test "${cf_cv_gnu_dftsrc_219+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -3916,7 +3999,7 @@ if test -n "$cf_new_extra_cppflags" ; th
 fi
 
 			cat >"conftest.$ac_ext" <<_ACEOF
-#line 3919 "configure"
+#line 4002 "configure"
 #include "confdefs.h"
 
 				#include <limits.h>
@@ -3936,16 +4019,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:3939: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:4022: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:3942: \$? = $ac_status" >&5
+  echo "$as_me:4025: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:3945: \"$ac_try\"") >&5
+  { (eval echo "$as_me:4028: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:3948: \$? = $ac_status" >&5
+  echo "$as_me:4031: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_gnu_dftsrc_219=yes
 else
@@ -3956,7 +4039,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:3959: result: $cf_cv_gnu_dftsrc_219" >&5
+echo "$as_me:4042: result: $cf_cv_gnu_dftsrc_219" >&5
 echo "${ECHO_T}$cf_cv_gnu_dftsrc_219" >&6
 		test "x$cf_cv_gnu_dftsrc_219" = "xyes" || CPPFLAGS="$cf_save"
 	else
@@ -3965,14 +4048,14 @@ echo "${ECHO_T}$cf_cv_gnu_dftsrc_219" >&
 
 	if test "x$cf_cv_gnu_dftsrc_219" != xyes; then
 
-		echo "$as_me:3968: checking if we must define _GNU_SOURCE" >&5
+		echo "$as_me:4051: checking if we must define _GNU_SOURCE" >&5
 echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6
 if test "${cf_cv_gnu_source+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 3975 "configure"
+#line 4058 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int
@@ -3987,16 +4070,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:3990: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:4073: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:3993: \$? = $ac_status" >&5
+  echo "$as_me:4076: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:3996: \"$ac_try\"") >&5
+  { (eval echo "$as_me:4079: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:3999: \$? = $ac_status" >&5
+  echo "$as_me:4082: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_gnu_source=no
 else
@@ -4103,7 +4186,7 @@ if test -n "$cf_new_extra_cppflags" ; th
 fi
 
 			 cat >"conftest.$ac_ext" <<_ACEOF
-#line 4106 "configure"
+#line 4189 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int
@@ -4118,16 +4201,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:4121: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:4204: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:4124: \$? = $ac_status" >&5
+  echo "$as_me:4207: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:4127: \"$ac_try\"") >&5
+  { (eval echo "$as_me:4210: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:4130: \$? = $ac_status" >&5
+  echo "$as_me:4213: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_gnu_source=no
 else
@@ -4142,12 +4225,12 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:4145: result: $cf_cv_gnu_source" >&5
+echo "$as_me:4228: result: $cf_cv_gnu_source" >&5
 echo "${ECHO_T}$cf_cv_gnu_source" >&6
 
 		if test "$cf_cv_gnu_source" = yes
 		then
-		echo "$as_me:4150: checking if we should also define _DEFAULT_SOURCE" >&5
+		echo "$as_me:4233: checking if we should also define _DEFAULT_SOURCE" >&5
 echo $ECHO_N "checking if we should also define _DEFAULT_SOURCE... $ECHO_C" >&6
 if test "${cf_cv_default_source+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -4157,7 +4240,7 @@ else
 	CPPFLAGS="${CPPFLAGS}-D_GNU_SOURCE"
 
 			cat >"conftest.$ac_ext" <<_ACEOF
-#line 4160 "configure"
+#line 4243 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int
@@ -4172,16 +4255,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:4175: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:4258: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:4178: \$? = $ac_status" >&5
+  echo "$as_me:4261: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:4181: \"$ac_try\"") >&5
+  { (eval echo "$as_me:4264: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:4184: \$? = $ac_status" >&5
+  echo "$as_me:4267: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_default_source=no
 else
@@ -4192,7 +4275,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:4195: result: $cf_cv_default_source" >&5
+echo "$as_me:4278: result: $cf_cv_default_source" >&5
 echo "${ECHO_T}$cf_cv_default_source" >&6
 			if test "$cf_cv_default_source" = yes
 			then
@@ -4207,6 +4290,9 @@ echo "${ECHO_T}$cf_cv_default_source" >&
 fi
 
 	;;
+linux*musl)
+	cf_xopen_source="-D_BSD_SOURCE"
+	;;
 minix*)
 	cf_xopen_source="-D_NETBSD_SOURCE" # POSIX.1-2001 features are ifdef'd with this...
 	;;
@@ -4229,16 +4315,16 @@ cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAG
 	sed	-e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ 	]*\)\?[ 	]/ /g' \
 		-e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ 	]*\)\?$//g'`
 
-echo "$as_me:4232: checking if we should define _POSIX_C_SOURCE" >&5
+echo "$as_me:4318: checking if we should define _POSIX_C_SOURCE" >&5
 echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6
 if test "${cf_cv_posix_c_source+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-echo "${as_me:-configure}:4238: testing if the symbol is already defined go no further ..." 1>&5
+echo "${as_me:-configure}:4324: testing if the symbol is already defined go no further ..." 1>&5
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 4241 "configure"
+#line 4327 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int
@@ -4253,16 +4339,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:4256: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:4342: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:4259: \$? = $ac_status" >&5
+  echo "$as_me:4345: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:4262: \"$ac_try\"") >&5
+  { (eval echo "$as_me:4348: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:4265: \$? = $ac_status" >&5
+  echo "$as_me:4351: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_posix_c_source=no
 else
@@ -4283,7 +4369,7 @@ cf_want_posix_source=no
 	 esac
 	 if test "$cf_want_posix_source" = yes ; then
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 4286 "configure"
+#line 4372 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int
@@ -4298,16 +4384,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:4301: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:4387: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:4304: \$? = $ac_status" >&5
+  echo "$as_me:4390: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:4307: \"$ac_try\"") >&5
+  { (eval echo "$as_me:4393: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:4310: \$? = $ac_status" >&5
+  echo "$as_me:4396: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -4318,7 +4404,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 	 fi
 
-echo "${as_me:-configure}:4321: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
+echo "${as_me:-configure}:4407: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
 
 	 CFLAGS="$cf_trim_CFLAGS"
 	 CPPFLAGS="$cf_trim_CPPFLAGS"
@@ -4326,10 +4412,10 @@ echo "${as_me:-configure}:4321: testing
 	test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
 	CPPFLAGS="${CPPFLAGS}$cf_cv_posix_c_source"
 
-echo "${as_me:-configure}:4329: testing if the second compile does not leave our definition intact error ..." 1>&5
+echo "${as_me:-configure}:4415: testing if the second compile does not leave our definition intact error ..." 1>&5
 
 	 cat >"conftest.$ac_ext" <<_ACEOF
-#line 4332 "configure"
+#line 4418 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int
@@ -4344,16 +4430,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:4347: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:4433: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:4350: \$? = $ac_status" >&5
+  echo "$as_me:4436: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:4353: \"$ac_try\"") >&5
+  { (eval echo "$as_me:4439: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:4356: \$? = $ac_status" >&5
+  echo "$as_me:4442: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -4369,7 +4455,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:4372: result: $cf_cv_posix_c_source" >&5
+echo "$as_me:4458: result: $cf_cv_posix_c_source" >&5
 echo "${ECHO_T}$cf_cv_posix_c_source" >&6
 
 if test "$cf_cv_posix_c_source" != no ; then
@@ -4486,7 +4572,7 @@ openbsd[6-9]*)
 	# OpenBSD 6.x has broken locale support, both compile-time and runtime.
 	# see https://www.mail-archive.com/bugs@openbsd.org/msg13200.html
 	# Abusing the conformance level is a workaround.
-	{ echo "$as_me:4489: WARNING: this system does not provide usable locale support" >&5
+	{ echo "$as_me:4575: WARNING: this system does not provide usable locale support" >&5
 echo "$as_me: WARNING: this system does not provide usable locale support" >&2;}
 	cf_xopen_source="-D_BSD_SOURCE"
 	cf_XOPEN_SOURCE=700
@@ -4518,14 +4604,14 @@ sysv4.2uw2.*) # Novell/SCO UnixWare 2.x
 	;;
 *)
 
-echo "$as_me:4521: checking if we should define _XOPEN_SOURCE" >&5
+echo "$as_me:4607: checking if we should define _XOPEN_SOURCE" >&5
 echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
 if test "${cf_cv_xopen_source+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 4528 "configure"
+#line 4614 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -4543,16 +4629,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:4546: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:4632: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:4549: \$? = $ac_status" >&5
+  echo "$as_me:4635: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:4552: \"$ac_try\"") >&5
+  { (eval echo "$as_me:4638: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:4555: \$? = $ac_status" >&5
+  echo "$as_me:4641: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_xopen_source=no
 else
@@ -4564,7 +4650,7 @@ cf_save="$CPPFLAGS"
 	CPPFLAGS="${CPPFLAGS}-D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
 
 	 cat >"conftest.$ac_ext" <<_ACEOF
-#line 4567 "configure"
+#line 4653 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -4582,16 +4668,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:4585: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:4671: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:4588: \$? = $ac_status" >&5
+  echo "$as_me:4674: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:4591: \"$ac_try\"") >&5
+  { (eval echo "$as_me:4677: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:4594: \$? = $ac_status" >&5
+  echo "$as_me:4680: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_xopen_source=no
 else
@@ -4606,7 +4692,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:4609: result: $cf_cv_xopen_source" >&5
+echo "$as_me:4695: result: $cf_cv_xopen_source" >&5
 echo "${ECHO_T}$cf_cv_xopen_source" >&6
 
 if test "$cf_cv_xopen_source" != no ; then
@@ -4766,16 +4852,16 @@ cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAG
 	sed	-e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ 	]*\)\?[ 	]/ /g' \
 		-e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ 	]*\)\?$//g'`
 
-echo "$as_me:4769: checking if we should define _POSIX_C_SOURCE" >&5
+echo "$as_me:4855: checking if we should define _POSIX_C_SOURCE" >&5
 echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6
 if test "${cf_cv_posix_c_source+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-echo "${as_me:-configure}:4775: testing if the symbol is already defined go no further ..." 1>&5
+echo "${as_me:-configure}:4861: testing if the symbol is already defined go no further ..." 1>&5
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 4778 "configure"
+#line 4864 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int
@@ -4790,16 +4876,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:4793: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:4879: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:4796: \$? = $ac_status" >&5
+  echo "$as_me:4882: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:4799: \"$ac_try\"") >&5
+  { (eval echo "$as_me:4885: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:4802: \$? = $ac_status" >&5
+  echo "$as_me:4888: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_posix_c_source=no
 else
@@ -4820,7 +4906,7 @@ cf_want_posix_source=no
 	 esac
 	 if test "$cf_want_posix_source" = yes ; then
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 4823 "configure"
+#line 4909 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int
@@ -4835,16 +4921,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:4838: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:4924: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:4841: \$? = $ac_status" >&5
+  echo "$as_me:4927: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:4844: \"$ac_try\"") >&5
+  { (eval echo "$as_me:4930: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:4847: \$? = $ac_status" >&5
+  echo "$as_me:4933: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -4855,7 +4941,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 	 fi
 
-echo "${as_me:-configure}:4858: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
+echo "${as_me:-configure}:4944: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
 
 	 CFLAGS="$cf_trim_CFLAGS"
 	 CPPFLAGS="$cf_trim_CPPFLAGS"
@@ -4863,10 +4949,10 @@ echo "${as_me:-configure}:4858: testing
 	test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
 	CPPFLAGS="${CPPFLAGS}$cf_cv_posix_c_source"
 
-echo "${as_me:-configure}:4866: testing if the second compile does not leave our definition intact error ..." 1>&5
+echo "${as_me:-configure}:4952: testing if the second compile does not leave our definition intact error ..." 1>&5
 
 	 cat >"conftest.$ac_ext" <<_ACEOF
-#line 4869 "configure"
+#line 4955 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int
@@ -4881,16 +4967,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:4884: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:4970: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:4887: \$? = $ac_status" >&5
+  echo "$as_me:4973: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:4890: \"$ac_try\"") >&5
+  { (eval echo "$as_me:4976: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:4893: \$? = $ac_status" >&5
+  echo "$as_me:4979: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -4906,7 +4992,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:4909: result: $cf_cv_posix_c_source" >&5
+echo "$as_me:4995: result: $cf_cv_posix_c_source" >&5
 echo "${ECHO_T}$cf_cv_posix_c_source" >&6
 
 if test "$cf_cv_posix_c_source" != no ; then
@@ -5019,10 +5105,10 @@ fi # cf_cv_posix_visible
 	if test "$cf_cv_xopen_source" = no ; then
 		test -n "$verbose" && echo "	checking if _POSIX_C_SOURCE interferes with _XOPEN_SOURCE" 1>&6
 
-echo "${as_me:-configure}:5022: testing checking if _POSIX_C_SOURCE interferes with _XOPEN_SOURCE ..." 1>&5
+echo "${as_me:-configure}:5108: testing checking if _POSIX_C_SOURCE interferes with _XOPEN_SOURCE ..." 1>&5
 
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 5025 "configure"
+#line 5111 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -5040,23 +5126,23 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:5043: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:5129: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:5046: \$? = $ac_status" >&5
+  echo "$as_me:5132: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:5049: \"$ac_try\"") >&5
+  { (eval echo "$as_me:5135: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:5052: \$? = $ac_status" >&5
+  echo "$as_me:5138: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
 
-			{ echo "$as_me:5059: WARNING: _POSIX_C_SOURCE definition is not usable" >&5
+			{ echo "$as_me:5145: WARNING: _POSIX_C_SOURCE definition is not usable" >&5
 echo "$as_me: WARNING: _POSIX_C_SOURCE definition is not usable" >&2;}
 			CPPFLAGS="$cf_save_xopen_cppflags"
 fi
@@ -5079,7 +5165,7 @@ do
 	test "$CFLAGS" != "$cf_old_cflag" || break
 	test -n "$verbose" && echo "	removing old option $cf_add_cflags from CFLAGS" 1>&6
 
-echo "${as_me:-configure}:5082: testing removing old option $cf_add_cflags from CFLAGS ..." 1>&5
+echo "${as_me:-configure}:5168: testing removing old option $cf_add_cflags from CFLAGS ..." 1>&5
 
 	CFLAGS="$cf_old_cflag"
 done
@@ -5091,7 +5177,7 @@ do
 	test "$CPPFLAGS" != "$cf_old_cflag" || break
 	test -n "$verbose" && echo "	removing old option $cf_add_cflags from CPPFLAGS" 1>&6
 
-echo "${as_me:-configure}:5094: testing removing old option $cf_add_cflags from CPPFLAGS ..." 1>&5
+echo "${as_me:-configure}:5180: testing removing old option $cf_add_cflags from CPPFLAGS ..." 1>&5
 
 	CPPFLAGS="$cf_old_cflag"
 done
@@ -5179,7 +5265,7 @@ done
 if test -n "$cf_new_cflags" ; then
 	test -n "$verbose" && echo "	add to \$CFLAGS $cf_new_cflags" 1>&6
 
-echo "${as_me:-configure}:5182: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5
+echo "${as_me:-configure}:5268: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5
 
 	test -n "$CFLAGS" && CFLAGS="$CFLAGS "
 	CFLAGS="${CFLAGS}$cf_new_cflags"
@@ -5189,7 +5275,7 @@ fi
 if test -n "$cf_new_cppflags" ; then
 	test -n "$verbose" && echo "	add to \$CPPFLAGS $cf_new_cppflags" 1>&6
 
-echo "${as_me:-configure}:5192: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5
+echo "${as_me:-configure}:5278: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5
 
 	test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
 	CPPFLAGS="${CPPFLAGS}$cf_new_cppflags"
@@ -5199,7 +5285,7 @@ fi
 if test -n "$cf_new_extra_cppflags" ; then
 	test -n "$verbose" && echo "	add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags" 1>&6
 
-echo "${as_me:-configure}:5202: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5
+echo "${as_me:-configure}:5288: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5
 
 	test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS "
 	EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags"
@@ -5211,10 +5297,10 @@ done
 fi
 
 if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
-	echo "$as_me:5214: checking if _XOPEN_SOURCE really is set" >&5
+	echo "$as_me:5300: checking if _XOPEN_SOURCE really is set" >&5
 echo $ECHO_N "checking if _XOPEN_SOURCE really is set... $ECHO_C" >&6
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 5217 "configure"
+#line 5303 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 int
@@ -5229,16 +5315,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:5232: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:5318: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:5235: \$? = $ac_status" >&5
+  echo "$as_me:5321: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:5238: \"$ac_try\"") >&5
+  { (eval echo "$as_me:5324: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:5241: \$? = $ac_status" >&5
+  echo "$as_me:5327: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_XOPEN_SOURCE_set=yes
 else
@@ -5247,12 +5333,12 @@ cat "conftest.$ac_ext" >&5
 cf_XOPEN_SOURCE_set=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
-	echo "$as_me:5250: result: $cf_XOPEN_SOURCE_set" >&5
+	echo "$as_me:5336: result: $cf_XOPEN_SOURCE_set" >&5
 echo "${ECHO_T}$cf_XOPEN_SOURCE_set" >&6
 	if test "$cf_XOPEN_SOURCE_set" = yes
 	then
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 5255 "configure"
+#line 5341 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 int
@@ -5267,16 +5353,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:5270: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:5356: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:5273: \$? = $ac_status" >&5
+  echo "$as_me:5359: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:5276: \"$ac_try\"") >&5
+  { (eval echo "$as_me:5362: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:5279: \$? = $ac_status" >&5
+  echo "$as_me:5365: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_XOPEN_SOURCE_set_ok=yes
 else
@@ -5287,19 +5373,19 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 		if test "$cf_XOPEN_SOURCE_set_ok" = no
 		then
-			{ echo "$as_me:5290: WARNING: _XOPEN_SOURCE is lower than requested" >&5
+			{ echo "$as_me:5376: WARNING: _XOPEN_SOURCE is lower than requested" >&5
 echo "$as_me: WARNING: _XOPEN_SOURCE is lower than requested" >&2;}
 		fi
 	else
 
-echo "$as_me:5295: checking if we should define _XOPEN_SOURCE" >&5
+echo "$as_me:5381: checking if we should define _XOPEN_SOURCE" >&5
 echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
 if test "${cf_cv_xopen_source+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 5302 "configure"
+#line 5388 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -5317,16 +5403,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:5320: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:5406: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:5323: \$? = $ac_status" >&5
+  echo "$as_me:5409: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:5326: \"$ac_try\"") >&5
+  { (eval echo "$as_me:5412: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:5329: \$? = $ac_status" >&5
+  echo "$as_me:5415: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_xopen_source=no
 else
@@ -5338,7 +5424,7 @@ cf_save="$CPPFLAGS"
 	CPPFLAGS="${CPPFLAGS}-D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
 
 	 cat >"conftest.$ac_ext" <<_ACEOF
-#line 5341 "configure"
+#line 5427 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -5356,16 +5442,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:5359: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:5445: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:5362: \$? = $ac_status" >&5
+  echo "$as_me:5448: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:5365: \"$ac_try\"") >&5
+  { (eval echo "$as_me:5451: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:5368: \$? = $ac_status" >&5
+  echo "$as_me:5454: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_xopen_source=no
 else
@@ -5380,7 +5466,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:5383: result: $cf_cv_xopen_source" >&5
+echo "$as_me:5469: result: $cf_cv_xopen_source" >&5
 echo "${ECHO_T}$cf_cv_xopen_source" >&6
 
 if test "$cf_cv_xopen_source" != no ; then
@@ -5527,14 +5613,14 @@ fi
 fi
 fi # cf_cv_posix_visible
 
-echo "$as_me:5530: checking if SIGWINCH is defined" >&5
+echo "$as_me:5616: checking if SIGWINCH is defined" >&5
 echo $ECHO_N "checking if SIGWINCH is defined... $ECHO_C" >&6
 if test "${cf_cv_define_sigwinch+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 5537 "configure"
+#line 5623 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -5549,23 +5635,23 @@ int x = SIGWINCH; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:5552: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:5638: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:5555: \$? = $ac_status" >&5
+  echo "$as_me:5641: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:5558: \"$ac_try\"") >&5
+  { (eval echo "$as_me:5644: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:5561: \$? = $ac_status" >&5
+  echo "$as_me:5647: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_define_sigwinch=yes
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 5568 "configure"
+#line 5654 "configure"
 #include "confdefs.h"
 
 #undef _XOPEN_SOURCE
@@ -5583,16 +5669,16 @@ int x = SIGWINCH; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:5586: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:5672: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:5589: \$? = $ac_status" >&5
+  echo "$as_me:5675: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:5592: \"$ac_try\"") >&5
+  { (eval echo "$as_me:5678: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:5595: \$? = $ac_status" >&5
+  echo "$as_me:5681: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_define_sigwinch=maybe
 else
@@ -5606,11 +5692,11 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:5609: result: $cf_cv_define_sigwinch" >&5
+echo "$as_me:5695: result: $cf_cv_define_sigwinch" >&5
 echo "${ECHO_T}$cf_cv_define_sigwinch" >&6
 
 if test "$cf_cv_define_sigwinch" = maybe ; then
-echo "$as_me:5613: checking for actual SIGWINCH definition" >&5
+echo "$as_me:5699: checking for actual SIGWINCH definition" >&5
 echo $ECHO_N "checking for actual SIGWINCH definition... $ECHO_C" >&6
 if test "${cf_cv_fixup_sigwinch+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -5621,7 +5707,7 @@ cf_sigwinch=32
 while test "$cf_sigwinch" != 1
 do
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 5624 "configure"
+#line 5710 "configure"
 #include "confdefs.h"
 
 #undef _XOPEN_SOURCE
@@ -5643,16 +5729,16 @@ int x = SIGWINCH; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:5646: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:5732: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:5649: \$? = $ac_status" >&5
+  echo "$as_me:5735: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:5652: \"$ac_try\"") >&5
+  { (eval echo "$as_me:5738: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:5655: \$? = $ac_status" >&5
+  echo "$as_me:5741: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_fixup_sigwinch=$cf_sigwinch
 	 break
@@ -5666,7 +5752,7 @@ cf_sigwinch="`expr "$cf_sigwinch" - 1`"
 done
 
 fi
-echo "$as_me:5669: result: $cf_cv_fixup_sigwinch" >&5
+echo "$as_me:5755: result: $cf_cv_fixup_sigwinch" >&5
 echo "${ECHO_T}$cf_cv_fixup_sigwinch" >&6
 
 	if test "$cf_cv_fixup_sigwinch" != unknown ; then
@@ -5675,9 +5761,256 @@ echo "${ECHO_T}$cf_cv_fixup_sigwinch" >&
 fi
 
 if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}readelf", so it can be a program name with args.
+set dummy ${ac_tool_prefix}readelf; ac_word=$2
+echo "$as_me:5766: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_READELF+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $READELF in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_READELF="$READELF" # Let the user override the test with a path.
+  ;;
+  *)
+  ac_save_IFS=$IFS; IFS=$ac_path_separator
+ac_dummy="$PATH"
+for ac_dir in $ac_dummy; do
+  IFS=$ac_save_IFS
+  test -z "$ac_dir" && ac_dir=.
+  if $as_executable_p "$ac_dir/$ac_word"; then
+   ac_cv_path_READELF="$ac_dir/$ac_word"
+   echo "$as_me:5783: found $ac_dir/$ac_word" >&5
+   break
+fi
+done
+
+  ;;
+esac
+fi
+READELF=$ac_cv_path_READELF
+
+if test -n "$READELF"; then
+  echo "$as_me:5794: result: $READELF" >&5
+echo "${ECHO_T}$READELF" >&6
+else
+  echo "$as_me:5797: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_path_READELF"; then
+  ac_pt_READELF=$READELF
+  # Extract the first word of "readelf", so it can be a program name with args.
+set dummy readelf; ac_word=$2
+echo "$as_me:5806: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_ac_pt_READELF+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $ac_pt_READELF in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_READELF="$ac_pt_READELF" # Let the user override the test with a path.
+  ;;
+  *)
+  ac_save_IFS=$IFS; IFS=$ac_path_separator
+ac_dummy="$PATH"
+for ac_dir in $ac_dummy; do
+  IFS=$ac_save_IFS
+  test -z "$ac_dir" && ac_dir=.
+  if $as_executable_p "$ac_dir/$ac_word"; then
+   ac_cv_path_ac_pt_READELF="$ac_dir/$ac_word"
+   echo "$as_me:5823: found $ac_dir/$ac_word" >&5
+   break
+fi
+done
+
+  test -z "$ac_cv_path_ac_pt_READELF" && ac_cv_path_ac_pt_READELF="none"
+  ;;
+esac
+fi
+ac_pt_READELF=$ac_cv_path_ac_pt_READELF
+
+if test -n "$ac_pt_READELF"; then
+  echo "$as_me:5835: result: $ac_pt_READELF" >&5
+echo "${ECHO_T}$ac_pt_READELF" >&6
+else
+  echo "$as_me:5838: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  READELF=$ac_pt_READELF
+else
+  READELF="$ac_cv_path_READELF"
+fi
+
+echo "$as_me:5847: checking if -fPIC option is needed in CFLAGS" >&5
+echo $ECHO_N "checking if -fPIC option is needed in CFLAGS... $ECHO_C" >&6
+if test "${cf_cv_pic_hack+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cf_cv_pic_hack=unknown
+
+case "${CFLAGS}${CC_SHARED_OPTS}" in
+*-fPIC)
+	cf_cv_pic_hack=no
+	;;
+esac
+
+if test "$READELF" = none
+then
+	cf_cv_pic_hack=unknown
+elif test $cf_cv_pic_hack = no
+then
+	:
+elif test "$GCC" = yes
+then
+	if $READELF --version >/dev/null 2>/dev/null
+	then
+		cat >conftest.$ac_ext <<EOF
+#line 5872 "configure"
+#include <stdio.h>
+int main(void) { FILE *fp = fopen("hello", "w"); return (fp != 0); }
+EOF
+		if { (eval echo "$as_me:5876: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:5879: \$? = $ac_status" >&5
+  (exit "$ac_status"); } ; then
+			cf_cv_pic_hack=no
+			for cf_pie_relocs in `$READELF --relocs conftest.$ac_cv_objext 2>/dev/null | awk '$3~/^R_/ && $5!~/^\.debug/{print $3}'`
+			do
+				case "x$cf_pie_relocs" in
+				xR_X86_64_32|xR_X86_64_32S)
+
+echo "${as_me:-configure}:5887: testing found $cf_pie_relocs ..." 1>&5
+
+					cf_cv_pic_hack=yes
+					break
+					;;
+				esac
+			done
+		else
+
+echo "${as_me:-configure}:5896: testing cannot compile test-program ..." 1>&5
+
+		fi
+		rm -f conftest.$ac_ext conftest.$ac_cv_objext
+	fi
+fi
+
+fi
+echo "$as_me:5904: result: $cf_cv_pic_hack" >&5
+echo "${ECHO_T}$cf_cv_pic_hack" >&6
+
+if test "x$cf_cv_pic_hack" = xyes
+then
+
+cf_fix_cppflags=no
+cf_new_cflags=
+cf_new_cppflags=
+cf_new_extra_cppflags=
+
+for cf_add_cflags in -fPIC
+do
+case "$cf_fix_cppflags" in
+no)
+	case "$cf_add_cflags" in
+	-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
+		case "$cf_add_cflags" in
+		-D*)
+			cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+
+			test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+				&& test -z "${cf_tst_cflags}" \
+				&& cf_fix_cppflags=yes
+
+			if test "$cf_fix_cppflags" = yes ; then
+
+	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+
+				continue
+			elif test "${cf_tst_cflags}" = "\"'" ; then
+
+	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+
+				continue
+			fi
+			;;
+		esac
+		case "$CPPFLAGS" in
+		*$cf_add_cflags)
+			;;
+		*)
+			case "$cf_add_cflags" in
+			-D*)
+				cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+
+CPPFLAGS=`echo "$CPPFLAGS" | \
+	sed	-e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ 	]*\)\?[ 	]/ /g' \
+		-e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ 	]*\)\?$//g'`
+
+				;;
+			esac
+
+	test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags "
+	cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags"
+
+			;;
+		esac
+		;;
+	*)
+
+	test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags "
+	cf_new_cflags="${cf_new_cflags}$cf_add_cflags"
+
+		;;
+	esac
+	;;
+yes)
+
+	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+
+	cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'`
+
+	test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+		&& test -z "${cf_tst_cflags}" \
+		&& cf_fix_cppflags=no
+	;;
+esac
+done
+
+if test -n "$cf_new_cflags" ; then
+
+	test -n "$CFLAGS" && CFLAGS="$CFLAGS "
+	CFLAGS="${CFLAGS}$cf_new_cflags"
+
+fi
+
+if test -n "$cf_new_cppflags" ; then
+
+	test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
+	CPPFLAGS="${CPPFLAGS}$cf_new_cppflags"
+
+fi
+
+if test -n "$cf_new_extra_cppflags" ; then
+
+	test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS "
+	EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags"
+
+fi
+
+fi
+
+if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:5680: checking for $ac_word" >&5
+echo "$as_me:6013: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -5692,7 +6025,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-echo "$as_me:5695: found $ac_dir/$ac_word" >&5
+echo "$as_me:6028: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -5700,10 +6033,10 @@ fi
 fi
 RANLIB=$ac_cv_prog_RANLIB
 if test -n "$RANLIB"; then
-  echo "$as_me:5703: result: $RANLIB" >&5
+  echo "$as_me:6036: result: $RANLIB" >&5
 echo "${ECHO_T}$RANLIB" >&6
 else
-  echo "$as_me:5706: result: no" >&5
+  echo "$as_me:6039: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -5712,7 +6045,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
   ac_ct_RANLIB=$RANLIB
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
-echo "$as_me:5715: checking for $ac_word" >&5
+echo "$as_me:6048: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -5727,7 +6060,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_ac_ct_RANLIB="ranlib"
-echo "$as_me:5730: found $ac_dir/$ac_word" >&5
+echo "$as_me:6063: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -5736,10 +6069,10 @@ fi
 fi
 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
 if test -n "$ac_ct_RANLIB"; then
-  echo "$as_me:5739: result: $ac_ct_RANLIB" >&5
+  echo "$as_me:6072: result: $ac_ct_RANLIB" >&5
 echo "${ECHO_T}$ac_ct_RANLIB" >&6
 else
-  echo "$as_me:5742: result: no" >&5
+  echo "$as_me:6075: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -5751,7 +6084,7 @@ fi
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ld; ac_word=$2
-echo "$as_me:5754: checking for $ac_word" >&5
+echo "$as_me:6087: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_LD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -5766,7 +6099,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_LD="${ac_tool_prefix}ld"
-echo "$as_me:5769: found $ac_dir/$ac_word" >&5
+echo "$as_me:6102: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -5774,10 +6107,10 @@ fi
 fi
 LD=$ac_cv_prog_LD
 if test -n "$LD"; then
-  echo "$as_me:5777: result: $LD" >&5
+  echo "$as_me:6110: result: $LD" >&5
 echo "${ECHO_T}$LD" >&6
 else
-  echo "$as_me:5780: result: no" >&5
+  echo "$as_me:6113: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -5786,7 +6119,7 @@ if test -z "$ac_cv_prog_LD"; then
   ac_ct_LD=$LD
   # Extract the first word of "ld", so it can be a program name with args.
 set dummy ld; ac_word=$2
-echo "$as_me:5789: checking for $ac_word" >&5
+echo "$as_me:6122: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_ac_ct_LD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -5801,7 +6134,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_ac_ct_LD="ld"
-echo "$as_me:5804: found $ac_dir/$ac_word" >&5
+echo "$as_me:6137: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -5810,10 +6143,10 @@ fi
 fi
 ac_ct_LD=$ac_cv_prog_ac_ct_LD
 if test -n "$ac_ct_LD"; then
-  echo "$as_me:5813: result: $ac_ct_LD" >&5
+  echo "$as_me:6146: result: $ac_ct_LD" >&5
 echo "${ECHO_T}$ac_ct_LD" >&6
 else
-  echo "$as_me:5816: result: no" >&5
+  echo "$as_me:6149: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -5825,7 +6158,7 @@ fi
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo "$as_me:5828: checking for $ac_word" >&5
+echo "$as_me:6161: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_AR+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -5840,7 +6173,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_AR="${ac_tool_prefix}ar"
-echo "$as_me:5843: found $ac_dir/$ac_word" >&5
+echo "$as_me:6176: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -5848,10 +6181,10 @@ fi
 fi
 AR=$ac_cv_prog_AR
 if test -n "$AR"; then
-  echo "$as_me:5851: result: $AR" >&5
+  echo "$as_me:6184: result: $AR" >&5
 echo "${ECHO_T}$AR" >&6
 else
-  echo "$as_me:5854: result: no" >&5
+  echo "$as_me:6187: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -5860,7 +6193,7 @@ if test -z "$ac_cv_prog_AR"; then
   ac_ct_AR=$AR
   # Extract the first word of "ar", so it can be a program name with args.
 set dummy ar; ac_word=$2
-echo "$as_me:5863: checking for $ac_word" >&5
+echo "$as_me:6196: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -5875,7 +6208,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_ac_ct_AR="ar"
-echo "$as_me:5878: found $ac_dir/$ac_word" >&5
+echo "$as_me:6211: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -5884,10 +6217,10 @@ fi
 fi
 ac_ct_AR=$ac_cv_prog_ac_ct_AR
 if test -n "$ac_ct_AR"; then
-  echo "$as_me:5887: result: $ac_ct_AR" >&5
+  echo "$as_me:6220: result: $ac_ct_AR" >&5
 echo "${ECHO_T}$ac_ct_AR" >&6
 else
-  echo "$as_me:5890: result: no" >&5
+  echo "$as_me:6223: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -5896,7 +6229,7 @@ else
   AR="$ac_cv_prog_AR"
 fi
 
-echo "$as_me:5899: checking for options to update archives" >&5
+echo "$as_me:6232: checking for options to update archives" >&5
 echo $ECHO_N "checking for options to update archives... $ECHO_C" >&6
 if test "${cf_cv_ar_flags+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -5933,13 +6266,13 @@ else
 			rm -f conftest.a
 
 			cat >"conftest.$ac_ext" <<EOF
-#line 5936 "configure"
+#line 6269 "configure"
 int	testdata[3] = { 123, 456, 789 };
 EOF
-			if { (eval echo "$as_me:5939: \"$ac_compile\"") >&5
+			if { (eval echo "$as_me:6272: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:5942: \$? = $ac_status" >&5
+  echo "$as_me:6275: \$? = $ac_status" >&5
   (exit "$ac_status"); } ; then
 				echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&5
 				$AR $ARFLAGS "$cf_ar_flags" conftest.a "conftest.$ac_cv_objext" 2>&5 1>/dev/null
@@ -5950,7 +6283,7 @@ EOF
 			else
 				test -n "$verbose" && echo "	cannot compile test-program" 1>&6
 
-echo "${as_me:-configure}:5953: testing cannot compile test-program ..." 1>&5
+echo "${as_me:-configure}:6286: testing cannot compile test-program ..." 1>&5
 
 				break
 			fi
@@ -5960,7 +6293,7 @@ echo "${as_me:-configure}:5953: testing
 	esac
 
 fi
-echo "$as_me:5963: result: $cf_cv_ar_flags" >&5
+echo "$as_me:6296: result: $cf_cv_ar_flags" >&5
 echo "${ECHO_T}$cf_cv_ar_flags" >&6
 
 if test -n "$ARFLAGS" ; then
@@ -5994,7 +6327,7 @@ EOF
 
 esac
 
-echo "$as_me:5997: checking if you would like to use heapsort" >&5
+echo "$as_me:6330: checking if you would like to use heapsort" >&5
 echo $ECHO_N "checking if you would like to use heapsort... $ECHO_C" >&6
 
 # Check whether --enable-heapsort or --disable-heapsort was given.
@@ -6011,20 +6344,20 @@ else
 	cf_use_heapsort=yes
 
 fi;
-echo "$as_me:6014: result: $cf_use_heapsort" >&5
+echo "$as_me:6347: result: $cf_use_heapsort" >&5
 echo "${ECHO_T}$cf_use_heapsort" >&6
 if test "x$cf_use_heapsort" = xyes; then
 
 for ac_func in heapsort
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:6021: checking for $ac_func" >&5
+echo "$as_me:6354: checking for $ac_func" >&5
 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
 if eval "test \"\${$as_ac_var+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 6027 "configure"
+#line 6360 "configure"
 #include "confdefs.h"
 #define $ac_func autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -6055,16 +6388,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:6058: \"$ac_link\"") >&5
+if { (eval echo "$as_me:6391: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:6061: \$? = $ac_status" >&5
+  echo "$as_me:6394: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:6064: \"$ac_try\"") >&5
+  { (eval echo "$as_me:6397: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:6067: \$? = $ac_status" >&5
+  echo "$as_me:6400: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_var=yes"
 else
@@ -6074,7 +6407,7 @@ eval "$as_ac_var=no"
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:6077: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:6410: result: `eval echo '${'"$as_ac_var"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
 if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -6085,10 +6418,10 @@ fi
 done
 
 	if test x"$ac_cv_func_heapsort" = xyes; then
-		echo "$as_me:6088: checking if its prototype is compatible with qsort" >&5
+		echo "$as_me:6421: checking if its prototype is compatible with qsort" >&5
 echo $ECHO_N "checking if its prototype is compatible with qsort... $ECHO_C" >&6
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 6091 "configure"
+#line 6424 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -6106,16 +6439,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:6109: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:6442: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:6112: \$? = $ac_status" >&5
+  echo "$as_me:6445: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:6115: \"$ac_try\"") >&5
+  { (eval echo "$as_me:6448: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:6118: \$? = $ac_status" >&5
+  echo "$as_me:6451: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -6124,12 +6457,12 @@ cat "conftest.$ac_ext" >&5
 cf_use_heapsort=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext";
-		echo "$as_me:6127: result: $cf_use_heapsort" >&5
+		echo "$as_me:6460: result: $cf_use_heapsort" >&5
 echo "${ECHO_T}$cf_use_heapsort" >&6
 	else
 		test -n "$verbose" && echo "	will use our own heapsort function" 1>&6
 
-echo "${as_me:-configure}:6132: testing will use our own heapsort function ..." 1>&5
+echo "${as_me:-configure}:6465: testing will use our own heapsort function ..." 1>&5
 
 		EXTRAO_DEP=''
 		EXTRAOBJS="\$(OBJDIR)/heapsort.o $EXTRAOBJS"
@@ -6148,7 +6481,7 @@ if test "${with_ispell+set}" = set; then
   withval="$with_ispell"
   case "$withval" in #(vi
   yes)
-   { { echo "$as_me:6151: error: expected a value for --with-ispell" >&5
+   { { echo "$as_me:6484: error: expected a value for --with-ispell" >&5
 echo "$as_me: error: expected a value for --with-ispell" >&2;}
    { (exit 1); exit 1; }; }
    ;; #(vi
@@ -6156,7 +6489,7 @@ echo "$as_me: error: expected a value fo
    ;; #(vi
   *)
    # user supplied option-value for "--with-ispell=path"
-   echo "$as_me:6159: checking for ispell" >&5
+   echo "$as_me:6492: checking for ispell" >&5
 echo $ECHO_N "checking for ispell... $ECHO_C" >&6
    ac_cv_path_PATH_ISPELL="$withval"
 
@@ -6167,7 +6500,7 @@ EOF
 cat >>confdefs.h <<\EOF
 #define HAVE_ISPELL 1
 EOF
-   echo "$as_me:6170: result: $withval" >&5
+   echo "$as_me:6503: result: $withval" >&5
 echo "${ECHO_T}$withval" >&6
    ;;
  esac
@@ -6176,7 +6509,7 @@ else
   # user did not specify "--with-ispell"; do automatic check
   # Extract the first word of "ispell", so it can be a program name with args.
 set dummy ispell; ac_word=$2
-echo "$as_me:6179: checking for $ac_word" >&5
+echo "$as_me:6512: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_PATH_ISPELL+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -6193,7 +6526,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_PATH_ISPELL="$ac_dir/$ac_word"
-   echo "$as_me:6196: found $ac_dir/$ac_word" >&5
+   echo "$as_me:6529: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -6204,10 +6537,10 @@ fi
 PATH_ISPELL=$ac_cv_path_PATH_ISPELL
 
 if test -n "$PATH_ISPELL"; then
-  echo "$as_me:6207: result: $PATH_ISPELL" >&5
+  echo "$as_me:6540: result: $PATH_ISPELL" >&5
 echo "${ECHO_T}$PATH_ISPELL" >&6
 else
-  echo "$as_me:6210: result: no" >&5
+  echo "$as_me:6543: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -6227,7 +6560,7 @@ if test "${with_metamail+set}" = set; th
   withval="$with_metamail"
   case "$withval" in #(vi
   yes)
-   { { echo "$as_me:6230: error: expected a value for --with-metamail" >&5
+   { { echo "$as_me:6563: error: expected a value for --with-metamail" >&5
 echo "$as_me: error: expected a value for --with-metamail" >&2;}
    { (exit 1); exit 1; }; }
    ;; #(vi
@@ -6235,7 +6568,7 @@ echo "$as_me: error: expected a value fo
    ;; #(vi
   *)
    # user supplied option-value for "--with-metamail=path"
-   echo "$as_me:6238: checking for metamail" >&5
+   echo "$as_me:6571: checking for metamail" >&5
 echo $ECHO_N "checking for metamail... $ECHO_C" >&6
    ac_cv_path_PATH_METAMAIL="$withval"
 
@@ -6246,7 +6579,7 @@ EOF
 cat >>confdefs.h <<\EOF
 #define HAVE_METAMAIL 1
 EOF
-   echo "$as_me:6249: result: $withval" >&5
+   echo "$as_me:6582: result: $withval" >&5
 echo "${ECHO_T}$withval" >&6
    ;;
  esac
@@ -6255,7 +6588,7 @@ else
   # user did not specify "--with-metamail"; do automatic check
   # Extract the first word of "metamail", so it can be a program name with args.
 set dummy metamail; ac_word=$2
-echo "$as_me:6258: checking for $ac_word" >&5
+echo "$as_me:6591: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_PATH_METAMAIL+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -6272,7 +6605,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_PATH_METAMAIL="$ac_dir/$ac_word"
-   echo "$as_me:6275: found $ac_dir/$ac_word" >&5
+   echo "$as_me:6608: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -6283,10 +6616,10 @@ fi
 PATH_METAMAIL=$ac_cv_path_PATH_METAMAIL
 
 if test -n "$PATH_METAMAIL"; then
-  echo "$as_me:6286: result: $PATH_METAMAIL" >&5
+  echo "$as_me:6619: result: $PATH_METAMAIL" >&5
 echo "${ECHO_T}$PATH_METAMAIL" >&6
 else
-  echo "$as_me:6289: result: no" >&5
+  echo "$as_me:6622: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -6301,128 +6634,7 @@ EOF
 
 fi;
 
-# Check whether --with-sum or --without-sum was given.
-if test "${with_sum+set}" = set; then
-  withval="$with_sum"
-  case "$withval" in #(vi
-  yes)
-   { { echo "$as_me:6309: error: expected a value for --with-sum" >&5
-echo "$as_me: error: expected a value for --with-sum" >&2;}
-   { (exit 1); exit 1; }; }
-   ;; #(vi
-  no)
-   ;; #(vi
-  *)
-   # user supplied option-value for "--with-sum=path"
-   echo "$as_me:6317: checking for sum" >&5
-echo $ECHO_N "checking for sum... $ECHO_C" >&6
-   ac_cv_path_PATH_SUM="$withval"
-
-cat >>confdefs.h <<EOF
-#define PATH_SUM "$withval"
-EOF
-
-cat >>confdefs.h <<\EOF
-#define HAVE_SUM 1
-EOF
-   echo "$as_me:6328: result: $withval" >&5
-echo "${ECHO_T}$withval" >&6
-   ;;
- esac
-else
-
-  # user did not specify "--with-sum"; do automatic check
-  # Extract the first word of "sum", so it can be a program name with args.
-set dummy sum; ac_word=$2
-echo "$as_me:6337: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_PATH_SUM+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  case $PATH_SUM in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PATH_SUM="$PATH_SUM" # Let the user override the test with a path.
-  ;;
-  *)
-  ac_save_IFS=$IFS; IFS=$ac_path_separator
-ac_dummy="$PATH"
-for ac_dir in $ac_dummy; do
-  IFS=$ac_save_IFS
-  test -z "$ac_dir" && ac_dir=.
-  if $as_executable_p "$ac_dir/$ac_word"; then
-   ac_cv_path_PATH_SUM="$ac_dir/$ac_word"
-   echo "$as_me:6354: found $ac_dir/$ac_word" >&5
-   break
-fi
-done
-
-  ;;
-esac
-fi
-PATH_SUM=$ac_cv_path_PATH_SUM
-
-if test -n "$PATH_SUM"; then
-  echo "$as_me:6365: result: $PATH_SUM" >&5
-echo "${ECHO_T}$PATH_SUM" >&6
-else
-  echo "$as_me:6368: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-  if test -n "$PATH_SUM"; then
-    cat >>confdefs.h <<EOF
-#define PATH_SUM "$PATH_SUM"
-EOF
-    cat >>confdefs.h <<\EOF
-#define HAVE_SUM 1
-EOF
-  fi
-
-fi;
-
-if test $ac_cv_path_PATH_SUM
-then
-echo "$as_me:6385: checking if $ac_cv_path_PATH_SUM takes -r" >&5
-echo $ECHO_N "checking if $ac_cv_path_PATH_SUM takes -r... $ECHO_C" >&6
-if test "${ac_cv_prog_sum_r+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-if { ac_try='$ac_cv_path_PATH_SUM -r config.log 1>&5'
-  { (eval echo "$as_me:6392: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:6395: \$? = $ac_status" >&5
-  (exit "$ac_status"); }; }
-then
-	ac_cv_prog_sum_r=yes
-else
-	ac_cv_prog_sum_r=no
-fi
-
-fi
-
-if test $ac_cv_prog_sum_r = yes; then
-
-cat >>confdefs.h <<\EOF
-#define SUM_TAKES_DASH_R 1
-EOF
-
-cat >>confdefs.h <<EOF
-#define PATH_SUM_R "$ac_cv_path_PATH_SUM -r"
-EOF
-
-else
-	cat >>confdefs.h <<EOF
-#define PATH_SUM_R "$ac_cv_path_PATH_SUM"
-EOF
-
-fi
-echo "$as_me:6421: result: $ac_cv_prog_sum_r" >&5
-echo "${ECHO_T}$ac_cv_prog_sum_r" >&6
-fi
-
-echo "$as_me:6425: checking for default editor" >&5
+echo "$as_me:6637: checking for default editor" >&5
 echo $ECHO_N "checking for default editor... $ECHO_C" >&6
 
 # Check whether --with-editor or --without-editor was given.
@@ -6434,7 +6646,7 @@ else
 fi; test -n "$withval" && \
 case "$withval" in #(vi
 yes)
-  { { echo "$as_me:6437: error: expected a value for --with-editor" >&5
+  { { echo "$as_me:6649: error: expected a value for --with-editor" >&5
 echo "$as_me: error: expected a value for --with-editor" >&2;}
    { (exit 1); exit 1; }; }
   ;; #(vi
@@ -6451,7 +6663,7 @@ if test -z "$DEFAULT_EDITOR" ; then
     else
 	# Extract the first word of "vi", so it can be a program name with args.
 set dummy vi; ac_word=$2
-echo "$as_me:6454: checking for $ac_word" >&5
+echo "$as_me:6666: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_DEFAULT_EDITOR+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -6468,7 +6680,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_DEFAULT_EDITOR="$ac_dir/$ac_word"
-   echo "$as_me:6471: found $ac_dir/$ac_word" >&5
+   echo "$as_me:6683: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -6480,16 +6692,16 @@ fi
 DEFAULT_EDITOR=$ac_cv_path_DEFAULT_EDITOR
 
 if test -n "$DEFAULT_EDITOR"; then
-  echo "$as_me:6483: result: $DEFAULT_EDITOR" >&5
+  echo "$as_me:6695: result: $DEFAULT_EDITOR" >&5
 echo "${ECHO_T}$DEFAULT_EDITOR" >&6
 else
-  echo "$as_me:6486: result: no" >&5
+  echo "$as_me:6698: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
     fi
 fi
-echo "$as_me:6492: result: $DEFAULT_EDITOR" >&5
+echo "$as_me:6704: result: $DEFAULT_EDITOR" >&5
 echo "${ECHO_T}$DEFAULT_EDITOR" >&6
 
 cat >>confdefs.h <<EOF
@@ -6498,7 +6710,7 @@ EOF
 
 # Extract the first word of "sendmail", so it can be a program name with args.
 set dummy sendmail; ac_word=$2
-echo "$as_me:6501: checking for $ac_word" >&5
+echo "$as_me:6713: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_DEFAULT_MAILER+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -6515,7 +6727,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_DEFAULT_MAILER="$ac_dir/$ac_word"
-   echo "$as_me:6518: found $ac_dir/$ac_word" >&5
+   echo "$as_me:6730: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -6526,10 +6738,10 @@ fi
 DEFAULT_MAILER=$ac_cv_path_DEFAULT_MAILER
 
 if test -n "$DEFAULT_MAILER"; then
-  echo "$as_me:6529: result: $DEFAULT_MAILER" >&5
+  echo "$as_me:6741: result: $DEFAULT_MAILER" >&5
 echo "${ECHO_T}$DEFAULT_MAILER" >&6
 else
-  echo "$as_me:6532: result: no" >&5
+  echo "$as_me:6744: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -6542,7 +6754,7 @@ else
 fi; test -n "$withval" && \
 case "$withval" in #(vi
 yes)
-  { { echo "$as_me:6545: error: expected a value for --with-mailer" >&5
+  { { echo "$as_me:6757: error: expected a value for --with-mailer" >&5
 echo "$as_me: error: expected a value for --with-mailer" >&2;}
    { (exit 1); exit 1; }; }
   ;; #(vi
@@ -6554,7 +6766,7 @@ DEFAULT_MAILER="$withval"
 if test -z "$DEFAULT_MAILER" ; then
 # Extract the first word of "mailx", so it can be a program name with args.
 set dummy mailx; ac_word=$2
-echo "$as_me:6557: checking for $ac_word" >&5
+echo "$as_me:6769: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_DEFAULT_MAILER+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -6571,7 +6783,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_DEFAULT_MAILER="$ac_dir/$ac_word"
-   echo "$as_me:6574: found $ac_dir/$ac_word" >&5
+   echo "$as_me:6786: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -6582,10 +6794,10 @@ fi
 DEFAULT_MAILER=$ac_cv_path_DEFAULT_MAILER
 
 if test -n "$DEFAULT_MAILER"; then
-  echo "$as_me:6585: result: $DEFAULT_MAILER" >&5
+  echo "$as_me:6797: result: $DEFAULT_MAILER" >&5
 echo "${ECHO_T}$DEFAULT_MAILER" >&6
 else
-  echo "$as_me:6588: result: no" >&5
+  echo "$as_me:6800: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -6593,7 +6805,7 @@ fi
 if test -z "$DEFAULT_MAILER" ; then
 # Extract the first word of "mail", so it can be a program name with args.
 set dummy mail; ac_word=$2
-echo "$as_me:6596: checking for $ac_word" >&5
+echo "$as_me:6808: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_DEFAULT_MAILER+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -6610,7 +6822,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_DEFAULT_MAILER="$ac_dir/$ac_word"
-   echo "$as_me:6613: found $ac_dir/$ac_word" >&5
+   echo "$as_me:6825: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -6621,15 +6833,15 @@ fi
 DEFAULT_MAILER=$ac_cv_path_DEFAULT_MAILER
 
 if test -n "$DEFAULT_MAILER"; then
-  echo "$as_me:6624: result: $DEFAULT_MAILER" >&5
+  echo "$as_me:6836: result: $DEFAULT_MAILER" >&5
 echo "${ECHO_T}$DEFAULT_MAILER" >&6
 else
-  echo "$as_me:6627: result: no" >&5
+  echo "$as_me:6839: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
 fi
-echo "$as_me:6632: checking for default mailer" >&5
+echo "$as_me:6844: checking for default mailer" >&5
 echo $ECHO_N "checking for default mailer... $ECHO_C" >&6
 if test -n "$DEFAULT_MAILER" ; then
 
@@ -6652,10 +6864,10 @@ EOF
 else
 	DEFAULT_MAILER=none
 fi
-echo "$as_me:6655: result: $DEFAULT_MAILER" >&5
+echo "$as_me:6867: result: $DEFAULT_MAILER" >&5
 echo "${ECHO_T}$DEFAULT_MAILER" >&6
 
-echo "$as_me:6658: checking for incoming-mail directory" >&5
+echo "$as_me:6870: checking for incoming-mail directory" >&5
 echo $ECHO_N "checking for incoming-mail directory... $ECHO_C" >&6
 
 # Check whether --with-mailbox or --without-mailbox was given.
@@ -6667,7 +6879,7 @@ else
 fi; test -n "$withval" && \
 case "$withval" in #(vi
 yes)
-  { { echo "$as_me:6670: error: expected a value for --with-mailbox" >&5
+  { { echo "$as_me:6882: error: expected a value for --with-mailbox" >&5
 echo "$as_me: error: expected a value for --with-mailbox" >&2;}
    { (exit 1); exit 1; }; }
   ;; #(vi
@@ -6699,10 +6911,10 @@ EOF
 else
 	DEFAULT_MAILBOX=none
 fi
-echo "$as_me:6702: result: $DEFAULT_MAILBOX" >&5
+echo "$as_me:6914: result: $DEFAULT_MAILBOX" >&5
 echo "${ECHO_T}$DEFAULT_MAILBOX" >&6
 
-echo "$as_me:6705: checking if you want to use pkg-config" >&5
+echo "$as_me:6917: checking if you want to use pkg-config" >&5
 echo $ECHO_N "checking if you want to use pkg-config... $ECHO_C" >&6
 
 # Check whether --with-pkg-config or --without-pkg-config was given.
@@ -6712,7 +6924,7 @@ if test "${with_pkg_config+set}" = set;
 else
   cf_pkg_config=yes
 fi;
-echo "$as_me:6715: result: $cf_pkg_config" >&5
+echo "$as_me:6927: result: $cf_pkg_config" >&5
 echo "${ECHO_T}$cf_pkg_config" >&6
 
 case "$cf_pkg_config" in
@@ -6724,7 +6936,7 @@ yes)
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
 set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-echo "$as_me:6727: checking for $ac_word" >&5
+echo "$as_me:6939: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -6741,7 +6953,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word"
-   echo "$as_me:6744: found $ac_dir/$ac_word" >&5
+   echo "$as_me:6956: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -6752,10 +6964,10 @@ fi
 PKG_CONFIG=$ac_cv_path_PKG_CONFIG
 
 if test -n "$PKG_CONFIG"; then
-  echo "$as_me:6755: result: $PKG_CONFIG" >&5
+  echo "$as_me:6967: result: $PKG_CONFIG" >&5
 echo "${ECHO_T}$PKG_CONFIG" >&6
 else
-  echo "$as_me:6758: result: no" >&5
+  echo "$as_me:6970: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -6764,7 +6976,7 @@ if test -z "$ac_cv_path_PKG_CONFIG"; the
   ac_pt_PKG_CONFIG=$PKG_CONFIG
   # Extract the first word of "pkg-config", so it can be a program name with args.
 set dummy pkg-config; ac_word=$2
-echo "$as_me:6767: checking for $ac_word" >&5
+echo "$as_me:6979: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -6781,7 +6993,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_ac_pt_PKG_CONFIG="$ac_dir/$ac_word"
-   echo "$as_me:6784: found $ac_dir/$ac_word" >&5
+   echo "$as_me:6996: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -6793,10 +7005,10 @@ fi
 ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
 
 if test -n "$ac_pt_PKG_CONFIG"; then
-  echo "$as_me:6796: result: $ac_pt_PKG_CONFIG" >&5
+  echo "$as_me:7008: result: $ac_pt_PKG_CONFIG" >&5
 echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6
 else
-  echo "$as_me:6799: result: no" >&5
+  echo "$as_me:7011: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -6820,38 +7032,36 @@ else
 	cf_path_syntax="$ac_default_prefix"
 fi
 
-case ".$PKG_CONFIG" in
-.\$\(*\)*|.\'*\'*)
-	;;
-..|./*|.\\*)
+case "x$PKG_CONFIG" in
+x\$\(*\)*|x\'*\'*)
 	;;
-.[a-zA-Z]:[\\/]*) # OS/2 EMX
+x.|x$GLOB_FULLPATH_POSIX|x$GLOB_FULLPATH_OTHER)
 	;;
-.\$\{*prefix\}*|.\$\{*dir\}*)
+x\$\{*prefix\}*|x\$\{*dir\}*)
 	eval PKG_CONFIG="$PKG_CONFIG"
-	case ".$PKG_CONFIG" in
-	.NONE/*)
+	case "x$PKG_CONFIG" in
+	xNONE/*)
 		PKG_CONFIG=`echo "$PKG_CONFIG" | sed -e s%NONE%$cf_path_syntax%`
 		;;
 	esac
 	;;
-.no|.NONE/*)
+xno|xNONE/*)
 	PKG_CONFIG=`echo "$PKG_CONFIG" | sed -e s%NONE%$cf_path_syntax%`
 	;;
 *)
-	{ { echo "$as_me:6842: error: expected a pathname, not \"$PKG_CONFIG\"" >&5
+	{ { echo "$as_me:7052: error: expected a pathname, not \"$PKG_CONFIG\"" >&5
 echo "$as_me: error: expected a pathname, not \"$PKG_CONFIG\"" >&2;}
    { (exit 1); exit 1; }; }
 	;;
 esac
 
 elif test "x$cf_pkg_config" != xno ; then
-	{ echo "$as_me:6849: WARNING: pkg-config is not installed" >&5
+	{ echo "$as_me:7059: WARNING: pkg-config is not installed" >&5
 echo "$as_me: WARNING: pkg-config is not installed" >&2;}
 fi
 
 ## PGP Support
-echo "$as_me:6854: checking if you want PGP/GPG-Support" >&5
+echo "$as_me:7064: checking if you want PGP/GPG-Support" >&5
 echo $ECHO_N "checking if you want PGP/GPG-Support... $ECHO_C" >&6
 
 # Check whether --enable-pgp-gpg or --disable-pgp-gpg was given.
@@ -6868,7 +7078,7 @@ else
 	USE_PGP_GPG=yes
 
 fi;
-echo "$as_me:6871: result: $enableval" >&5
+echo "$as_me:7081: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 if test "$USE_PGP_GPG" = "yes" ; then
 
@@ -6877,7 +7087,7 @@ if test "${with_pgp+set}" = set; then
   withval="$with_pgp"
   case "$withval" in #(vi
   yes)
-   { { echo "$as_me:6880: error: expected a value for --with-pgp" >&5
+   { { echo "$as_me:7090: error: expected a value for --with-pgp" >&5
 echo "$as_me: error: expected a value for --with-pgp" >&2;}
    { (exit 1); exit 1; }; }
    ;; #(vi
@@ -6885,7 +7095,7 @@ echo "$as_me: error: expected a value fo
    ;; #(vi
   *)
    # user supplied option-value for "--with-pgp=path"
-   echo "$as_me:6888: checking for pgp" >&5
+   echo "$as_me:7098: checking for pgp" >&5
 echo $ECHO_N "checking for pgp... $ECHO_C" >&6
    ac_cv_path_PATH_PGP="$withval"
 
@@ -6896,7 +7106,7 @@ EOF
 cat >>confdefs.h <<\EOF
 #define HAVE_PGP 1
 EOF
-   echo "$as_me:6899: result: $withval" >&5
+   echo "$as_me:7109: result: $withval" >&5
 echo "${ECHO_T}$withval" >&6
    ;;
  esac
@@ -6905,7 +7115,7 @@ else
   # user did not specify "--with-pgp"; do automatic check
   # Extract the first word of "pgp", so it can be a program name with args.
 set dummy pgp; ac_word=$2
-echo "$as_me:6908: checking for $ac_word" >&5
+echo "$as_me:7118: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_PATH_PGP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -6922,7 +7132,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_PATH_PGP="$ac_dir/$ac_word"
-   echo "$as_me:6925: found $ac_dir/$ac_word" >&5
+   echo "$as_me:7135: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -6933,10 +7143,10 @@ fi
 PATH_PGP=$ac_cv_path_PATH_PGP
 
 if test -n "$PATH_PGP"; then
-  echo "$as_me:6936: result: $PATH_PGP" >&5
+  echo "$as_me:7146: result: $PATH_PGP" >&5
 echo "${ECHO_T}$PATH_PGP" >&6
 else
-  echo "$as_me:6939: result: no" >&5
+  echo "$as_me:7149: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -6957,7 +7167,7 @@ if test "${with_pgpk+set}" = set; then
   withval="$with_pgpk"
   case "$withval" in #(vi
   yes)
-   { { echo "$as_me:6960: error: expected a value for --with-pgpk" >&5
+   { { echo "$as_me:7170: error: expected a value for --with-pgpk" >&5
 echo "$as_me: error: expected a value for --with-pgpk" >&2;}
    { (exit 1); exit 1; }; }
    ;; #(vi
@@ -6965,7 +7175,7 @@ echo "$as_me: error: expected a value fo
    ;; #(vi
   *)
    # user supplied option-value for "--with-pgpk=path"
-   echo "$as_me:6968: checking for pgpk" >&5
+   echo "$as_me:7178: checking for pgpk" >&5
 echo $ECHO_N "checking for pgpk... $ECHO_C" >&6
    ac_cv_path_PATH_PGPK="$withval"
 
@@ -6976,7 +7186,7 @@ EOF
 cat >>confdefs.h <<\EOF
 #define HAVE_PGPK 1
 EOF
-   echo "$as_me:6979: result: $withval" >&5
+   echo "$as_me:7189: result: $withval" >&5
 echo "${ECHO_T}$withval" >&6
    ;;
  esac
@@ -6985,7 +7195,7 @@ else
   # user did not specify "--with-pgpk"; do automatic check
   # Extract the first word of "pgpk", so it can be a program name with args.
 set dummy pgpk; ac_word=$2
-echo "$as_me:6988: checking for $ac_word" >&5
+echo "$as_me:7198: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_PATH_PGPK+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -7002,7 +7212,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_PATH_PGPK="$ac_dir/$ac_word"
-   echo "$as_me:7005: found $ac_dir/$ac_word" >&5
+   echo "$as_me:7215: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -7013,10 +7223,10 @@ fi
 PATH_PGPK=$ac_cv_path_PATH_PGPK
 
 if test -n "$PATH_PGPK"; then
-  echo "$as_me:7016: result: $PATH_PGPK" >&5
+  echo "$as_me:7226: result: $PATH_PGPK" >&5
 echo "${ECHO_T}$PATH_PGPK" >&6
 else
-  echo "$as_me:7019: result: no" >&5
+  echo "$as_me:7229: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -7037,7 +7247,7 @@ if test "${with_gpg+set}" = set; then
   withval="$with_gpg"
   case "$withval" in #(vi
   yes)
-   { { echo "$as_me:7040: error: expected a value for --with-gpg" >&5
+   { { echo "$as_me:7250: error: expected a value for --with-gpg" >&5
 echo "$as_me: error: expected a value for --with-gpg" >&2;}
    { (exit 1); exit 1; }; }
    ;; #(vi
@@ -7045,7 +7255,7 @@ echo "$as_me: error: expected a value fo
    ;; #(vi
   *)
    # user supplied option-value for "--with-gpg=path"
-   echo "$as_me:7048: checking for gpg" >&5
+   echo "$as_me:7258: checking for gpg" >&5
 echo $ECHO_N "checking for gpg... $ECHO_C" >&6
    ac_cv_path_PATH_GPG="$withval"
 
@@ -7056,7 +7266,7 @@ EOF
 cat >>confdefs.h <<\EOF
 #define HAVE_GPG 1
 EOF
-   echo "$as_me:7059: result: $withval" >&5
+   echo "$as_me:7269: result: $withval" >&5
 echo "${ECHO_T}$withval" >&6
    ;;
  esac
@@ -7065,7 +7275,7 @@ else
   # user did not specify "--with-gpg"; do automatic check
   # Extract the first word of "gpg", so it can be a program name with args.
 set dummy gpg; ac_word=$2
-echo "$as_me:7068: checking for $ac_word" >&5
+echo "$as_me:7278: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_PATH_GPG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -7082,7 +7292,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_PATH_GPG="$ac_dir/$ac_word"
-   echo "$as_me:7085: found $ac_dir/$ac_word" >&5
+   echo "$as_me:7295: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -7093,10 +7303,10 @@ fi
 PATH_GPG=$ac_cv_path_PATH_GPG
 
 if test -n "$PATH_GPG"; then
-  echo "$as_me:7096: result: $PATH_GPG" >&5
+  echo "$as_me:7306: result: $PATH_GPG" >&5
 echo "${ECHO_T}$PATH_GPG" >&6
 else
-  echo "$as_me:7099: result: no" >&5
+  echo "$as_me:7309: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -7119,7 +7329,7 @@ if test "${with_slrnface+set}" = set; th
   withval="$with_slrnface"
   case "$withval" in #(vi
   yes)
-   { { echo "$as_me:7122: error: expected a value for --with-slrnface" >&5
+   { { echo "$as_me:7332: error: expected a value for --with-slrnface" >&5
 echo "$as_me: error: expected a value for --with-slrnface" >&2;}
    { (exit 1); exit 1; }; }
    ;; #(vi
@@ -7127,7 +7337,7 @@ echo "$as_me: error: expected a value fo
    ;; #(vi
   *)
    # user supplied option-value for "--with-slrnface=path"
-   echo "$as_me:7130: checking for slrnface" >&5
+   echo "$as_me:7340: checking for slrnface" >&5
 echo $ECHO_N "checking for slrnface... $ECHO_C" >&6
    ac_cv_path_PATH_SLRNFACE="$withval"
 
@@ -7138,7 +7348,7 @@ EOF
 cat >>confdefs.h <<\EOF
 #define HAVE_SLRNFACE 1
 EOF
-   echo "$as_me:7141: result: $withval" >&5
+   echo "$as_me:7351: result: $withval" >&5
 echo "${ECHO_T}$withval" >&6
    ;;
  esac
@@ -7147,7 +7357,7 @@ else
   # user did not specify "--with-slrnface"; do automatic check
   # Extract the first word of "slrnface", so it can be a program name with args.
 set dummy slrnface; ac_word=$2
-echo "$as_me:7150: checking for $ac_word" >&5
+echo "$as_me:7360: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_PATH_SLRNFACE+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -7164,7 +7374,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_PATH_SLRNFACE="$ac_dir/$ac_word"
-   echo "$as_me:7167: found $ac_dir/$ac_word" >&5
+   echo "$as_me:7377: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -7175,10 +7385,10 @@ fi
 PATH_SLRNFACE=$ac_cv_path_PATH_SLRNFACE
 
 if test -n "$PATH_SLRNFACE"; then
-  echo "$as_me:7178: result: $PATH_SLRNFACE" >&5
+  echo "$as_me:7388: result: $PATH_SLRNFACE" >&5
 echo "${ECHO_T}$PATH_SLRNFACE" >&6
 else
-  echo "$as_me:7181: result: no" >&5
+  echo "$as_me:7391: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -7207,14 +7417,14 @@ else
   cf_cv_default_shell=
 fi;
 
-echo "$as_me:7210: checking for the default shell program" >&5
+echo "$as_me:7420: checking for the default shell program" >&5
 echo $ECHO_N "checking for the default shell program... $ECHO_C" >&6
 cf_shell_progs="$cf_cv_default_shell"
 if test -z "$cf_shell_progs" ; then
 	cf_shell_progs="sh ksh bash zsh pdksh mksh jsh keysh ash dash"
 	# TIN preferred default shell for BSD systems is csh. Others are sh.
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 7217 "configure"
+#line 7427 "configure"
 #include "confdefs.h"
 
 #include <sys/params.h>
@@ -7232,16 +7442,16 @@ make an error
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:7235: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:7445: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:7238: \$? = $ac_status" >&5
+  echo "$as_me:7448: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:7241: \"$ac_try\"") >&5
+  { (eval echo "$as_me:7451: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:7244: \$? = $ac_status" >&5
+  echo "$as_me:7454: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   $cf_shell_progs="csh tcsh $cf_shell_progs"
 else
@@ -7251,11 +7461,11 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
 
-echo "${as_me:-configure}:7254: testing paths of shell programs: $cf_shell_progs ..." 1>&5
+echo "${as_me:-configure}:7464: testing paths of shell programs: $cf_shell_progs ..." 1>&5
 
-if test -s /etc/shells && test `egrep -c -v '^(#| |    |$)' /etc/shells` -gt 0; then
+if test -s /etc/shells && test `${EGREP-egrep}  -c -v '^(#| |    |$)' /etc/shells` -gt 0; then
 
-echo "${as_me:-configure}:7258: testing /etc/shells ..." 1>&5
+echo "${as_me:-configure}:7468: testing /etc/shells ..." 1>&5
 
 	for cf_prog in $cf_shell_progs
 	do
@@ -7264,7 +7474,7 @@ echo "${as_me:-configure}:7258: testing
 				cf_pattern="^"$cf_prog"$"
 				;;
 			*/*)
-				{ { echo "$as_me:7267: error: Program name must be absolute or filename: $cf_prog" >&5
+				{ { echo "$as_me:7477: error: Program name must be absolute or filename: $cf_prog" >&5
 echo "$as_me: error: Program name must be absolute or filename: $cf_prog" >&2;}
    { (exit 1); exit 1; }; }
 				;;
@@ -7272,7 +7482,7 @@ echo "$as_me: error: Program name must b
 				cf_pattern="/"$cf_prog"$"
 				;;
 		esac
-		cf_path=`egrep $cf_pattern /etc/shells 2>/dev/null`
+		cf_path=`${EGREP-egrep} $cf_pattern /etc/shells 2>/dev/null`
 		if test -n "$cf_path"
 		then
 			for cf_shell in $cf_path
@@ -7289,17 +7499,17 @@ echo "$as_me: error: Program name must b
 			break
 		fi
 	done
-	echo "$as_me:7292: result: $DEFAULT_SHELL" >&5
+	echo "$as_me:7502: result: $DEFAULT_SHELL" >&5
 echo "${ECHO_T}$DEFAULT_SHELL" >&6
 else
 
-echo "${as_me:-configure}:7296: testing $PATH ..." 1>&5
+echo "${as_me:-configure}:7506: testing $PATH ..." 1>&5
 
 for ac_prog in $cf_shell_progs
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:7302: checking for $ac_word" >&5
+echo "$as_me:7512: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_DEFAULT_SHELL+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -7316,7 +7526,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_DEFAULT_SHELL="$ac_dir/$ac_word"
-   echo "$as_me:7319: found $ac_dir/$ac_word" >&5
+   echo "$as_me:7529: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -7327,10 +7537,10 @@ fi
 DEFAULT_SHELL=$ac_cv_path_DEFAULT_SHELL
 
 if test -n "$DEFAULT_SHELL"; then
-  echo "$as_me:7330: result: $DEFAULT_SHELL" >&5
+  echo "$as_me:7540: result: $DEFAULT_SHELL" >&5
 echo "${ECHO_T}$DEFAULT_SHELL" >&6
 else
-  echo "$as_me:7333: result: no" >&5
+  echo "$as_me:7543: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -7339,14 +7549,14 @@ done
 
 fi
 if test -z "$DEFAULT_SHELL" ; then
-	{ echo "$as_me:7342: WARNING: Cannot find the default shell you specified: $cf_shell_progs" >&5
+	{ echo "$as_me:7552: WARNING: Cannot find the default shell you specified: $cf_shell_progs" >&5
 echo "$as_me: WARNING: Cannot find the default shell you specified: $cf_shell_progs" >&2;}
 	if test -f /bin/false ; then
-		{ echo "$as_me:7345: WARNING: Using /bin/false instead" >&5
+		{ echo "$as_me:7555: WARNING: Using /bin/false instead" >&5
 echo "$as_me: WARNING: Using /bin/false instead" >&2;}
 		DEFAULT_SHELL=/bin/false
 	else
-		{ { echo "$as_me:7349: error: Cannot use /bin/false because it does not exist" >&5
+		{ { echo "$as_me:7559: error: Cannot use /bin/false because it does not exist" >&5
 echo "$as_me: error: Cannot use /bin/false because it does not exist" >&2;}
    { (exit 1); exit 1; }; }
 	fi
@@ -7357,7 +7567,7 @@ cat >>confdefs.h <<EOF
 EOF
 
 ### check for this early, since it'll override several options
-echo "$as_me:7360: checking if NNTP-support will be used" >&5
+echo "$as_me:7570: checking if NNTP-support will be used" >&5
 echo $ECHO_N "checking if NNTP-support will be used... $ECHO_C" >&6
 
 # Check whether --enable-nntp or --disable-nntp was given.
@@ -7374,12 +7584,12 @@ else
 	USE_NNTP=yes
 
 fi;
-echo "$as_me:7377: result: $enableval" >&5
+echo "$as_me:7587: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
 USE_SPOOLDIR=yes
 if test "$USE_NNTP" = "yes" ; then
-echo "$as_me:7382: checking whether to be NNTP_ONLY" >&5
+echo "$as_me:7592: checking whether to be NNTP_ONLY" >&5
 echo $ECHO_N "checking whether to be NNTP_ONLY... $ECHO_C" >&6
 
 # Check whether --enable-nntp-only or --disable-nntp-only was given.
@@ -7408,10 +7618,10 @@ cat >>confdefs.h <<\EOF
 EOF
 
 fi;
-echo "$as_me:7411: result: $enableval" >&5
+echo "$as_me:7621: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
-echo "$as_me:7414: checking if you want to use zlib for COMPRESS DEFLATE support" >&5
+echo "$as_me:7624: checking if you want to use zlib for COMPRESS DEFLATE support" >&5
 echo $ECHO_N "checking if you want to use zlib for COMPRESS DEFLATE support... $ECHO_C" >&6
 
 # Check whether --with-zlib or --without-zlib was given.
@@ -7421,15 +7631,13 @@ if test "${with_zlib+set}" = set; then
 else
   use_zlib=yes
 fi;
-echo "$as_me:7424: result: $use_zlib" >&5
+echo "$as_me:7634: result: $use_zlib" >&5
 echo "${ECHO_T}$use_zlib" >&6
 
 if test ".$use_zlib" != ".no" ; then
 
-case "$use_zlib" in
-no)
-	;;
-yes)
+case "x$use_zlib" in
+xno|xyes|x)
 	;;
 *)
 
@@ -7463,7 +7671,7 @@ if test -n "$cf_searchpath/include" ; th
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 7466 "configure"
+#line 7674 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -7475,16 +7683,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:7478: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:7686: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:7481: \$? = $ac_status" >&5
+  echo "$as_me:7689: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:7484: \"$ac_try\"") >&5
+  { (eval echo "$as_me:7692: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:7487: \$? = $ac_status" >&5
+  echo "$as_me:7695: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -7501,7 +7709,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:7504: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:7712: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -7547,7 +7755,7 @@ if test -n "$cf_searchpath/../include" ;
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 7550 "configure"
+#line 7758 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -7559,16 +7767,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:7562: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:7770: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:7565: \$? = $ac_status" >&5
+  echo "$as_me:7773: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:7568: \"$ac_try\"") >&5
+  { (eval echo "$as_me:7776: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:7571: \$? = $ac_status" >&5
+  echo "$as_me:7779: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -7585,7 +7793,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:7588: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:7796: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -7603,8 +7811,8 @@ echo "${as_me:-configure}:7588: testing
 fi
 
 	else
-{ { echo "$as_me:7606: error: cannot find  under $use_zlib" >&5
-echo "$as_me: error: cannot find  under $use_zlib" >&2;}
+{ { echo "$as_me:7814: error: cannot find zlib under $use_zlib" >&5
+echo "$as_me: error: cannot find zlib under $use_zlib" >&2;}
    { (exit 1); exit 1; }; }
 	fi
 	if test -d "$cf_searchpath/lib" ; then
@@ -7628,7 +7836,7 @@ if test -n "$cf_searchpath/lib" ; then
 			if test "$cf_have_libdir" = no ; then
 				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
-echo "${as_me:-configure}:7631: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:7839: testing adding $cf_add_libdir to library-path ..." 1>&5
 
 				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
 			fi
@@ -7657,7 +7865,7 @@ if test -n "$cf_searchpath" ; then
 			if test "$cf_have_libdir" = no ; then
 				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
-echo "${as_me:-configure}:7660: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:7868: testing adding $cf_add_libdir to library-path ..." 1>&5
 
 				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
 			fi
@@ -7666,12 +7874,16 @@ echo "${as_me:-configure}:7660: testing
 fi
 
 	else
-{ { echo "$as_me:7669: error: cannot find  under $use_zlib" >&5
-echo "$as_me: error: cannot find  under $use_zlib" >&2;}
+{ { echo "$as_me:7877: error: cannot find zlib under $use_zlib" >&5
+echo "$as_me: error: cannot find zlib under $use_zlib" >&2;}
    { (exit 1); exit 1; }; }
 	fi
 done
 
+	test -n "$verbose" && echo "	setting path value for zlib to $use_zlib" 1>&6
+
+echo "${as_me:-configure}:7885: testing setting path value for zlib to $use_zlib ..." 1>&5
+
 	;;
 esac
 
@@ -7680,12 +7892,12 @@ esac
 cf_cv_header_path_z=
 cf_cv_library_path_z=
 
-echo "${as_me:-configure}:7683: testing Starting FIND_LINKAGE(z,zlib) ..." 1>&5
+echo "${as_me:-configure}:7895: testing Starting FIND_LINKAGE(z,zlib) ..." 1>&5
 
 cf_save_LIBS="$LIBS"
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 7688 "configure"
+#line 7900 "configure"
 #include "confdefs.h"
 
 #include <zlib.h>
@@ -7701,16 +7913,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:7704: \"$ac_link\"") >&5
+if { (eval echo "$as_me:7916: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:7707: \$? = $ac_status" >&5
+  echo "$as_me:7919: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:7710: \"$ac_try\"") >&5
+  { (eval echo "$as_me:7922: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:7713: \$? = $ac_status" >&5
+  echo "$as_me:7925: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 	cf_cv_find_linkage_z=yes
@@ -7724,7 +7936,7 @@ cat "conftest.$ac_ext" >&5
 LIBS="-lz  $cf_save_LIBS"
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 7727 "configure"
+#line 7939 "configure"
 #include "confdefs.h"
 
 #include <zlib.h>
@@ -7740,16 +7952,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:7743: \"$ac_link\"") >&5
+if { (eval echo "$as_me:7955: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:7746: \$? = $ac_status" >&5
+  echo "$as_me:7958: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:7749: \"$ac_try\"") >&5
+  { (eval echo "$as_me:7961: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:7752: \$? = $ac_status" >&5
+  echo "$as_me:7964: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 	cf_cv_find_linkage_z=yes
@@ -7766,9 +7978,9 @@ cat "conftest.$ac_ext" >&5
 
 	test -n "$verbose" && echo "	find linkage for z library" 1>&6
 
-echo "${as_me:-configure}:7769: testing find linkage for z library ..." 1>&5
+echo "${as_me:-configure}:7981: testing find linkage for z library ..." 1>&5
 
-echo "${as_me:-configure}:7771: testing Searching for headers in FIND_LINKAGE(z,zlib) ..." 1>&5
+echo "${as_me:-configure}:7983: testing Searching for headers in FIND_LINKAGE(z,zlib) ..." 1>&5
 
 	cf_save_CPPFLAGS="$CPPFLAGS"
 	cf_test_CPPFLAGS="$CPPFLAGS"
@@ -7859,7 +8071,7 @@ cf_search="$cf_search $cf_header_path_li
 		if test -d "$cf_cv_header_path_z" ; then
 			test -n "$verbose" && echo "	... testing $cf_cv_header_path_z" 1>&6
 
-echo "${as_me:-configure}:7862: testing ... testing $cf_cv_header_path_z ..." 1>&5
+echo "${as_me:-configure}:8074: testing ... testing $cf_cv_header_path_z ..." 1>&5
 
 			CPPFLAGS="$cf_save_CPPFLAGS"
 
@@ -7867,7 +8079,7 @@ echo "${as_me:-configure}:7862: testing
 	CPPFLAGS="${CPPFLAGS}-I$cf_cv_header_path_z"
 
 			cat >"conftest.$ac_ext" <<_ACEOF
-#line 7870 "configure"
+#line 8082 "configure"
 #include "confdefs.h"
 
 #include <zlib.h>
@@ -7883,21 +8095,21 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:7886: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:8098: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:7889: \$? = $ac_status" >&5
+  echo "$as_me:8101: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:7892: \"$ac_try\"") >&5
+  { (eval echo "$as_me:8104: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:7895: \$? = $ac_status" >&5
+  echo "$as_me:8107: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 				test -n "$verbose" && echo "	... found z headers in $cf_cv_header_path_z" 1>&6
 
-echo "${as_me:-configure}:7900: testing ... found z headers in $cf_cv_header_path_z ..." 1>&5
+echo "${as_me:-configure}:8112: testing ... found z headers in $cf_cv_header_path_z ..." 1>&5
 
 				cf_cv_find_linkage_z=maybe
 				cf_test_CPPFLAGS="$CPPFLAGS"
@@ -7915,7 +8127,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 
 	if test "$cf_cv_find_linkage_z" = maybe ; then
 
-echo "${as_me:-configure}:7918: testing Searching for z library in FIND_LINKAGE(z,zlib) ..." 1>&5
+echo "${as_me:-configure}:8130: testing Searching for z library in FIND_LINKAGE(z,zlib) ..." 1>&5
 
 		cf_save_LIBS="$LIBS"
 		cf_save_LDFLAGS="$LDFLAGS"
@@ -7923,7 +8135,7 @@ echo "${as_me:-configure}:7918: testing
 		CPPFLAGS="$cf_test_CPPFLAGS"
 		LIBS="-lz  $cf_save_LIBS"
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 7926 "configure"
+#line 8138 "configure"
 #include "confdefs.h"
 
 #include <zlib.h>
@@ -7939,21 +8151,21 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:7942: \"$ac_link\"") >&5
+if { (eval echo "$as_me:8154: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:7945: \$? = $ac_status" >&5
+  echo "$as_me:8157: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:7948: \"$ac_try\"") >&5
+  { (eval echo "$as_me:8160: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:7951: \$? = $ac_status" >&5
+  echo "$as_me:8163: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 			test -n "$verbose" && echo "	... found z library in system" 1>&6
 
-echo "${as_me:-configure}:7956: testing ... found z library in system ..." 1>&5
+echo "${as_me:-configure}:8168: testing ... found z library in system ..." 1>&5
 
 			cf_cv_find_linkage_z=yes
 else
@@ -8034,13 +8246,13 @@ cf_search="$cf_library_path_list $cf_sea
 				if test -d "$cf_cv_library_path_z" ; then
 					test -n "$verbose" && echo "	... testing $cf_cv_library_path_z" 1>&6
 
-echo "${as_me:-configure}:8037: testing ... testing $cf_cv_library_path_z ..." 1>&5
+echo "${as_me:-configure}:8249: testing ... testing $cf_cv_library_path_z ..." 1>&5
 
 					CPPFLAGS="$cf_test_CPPFLAGS"
 					LIBS="-lz  $cf_save_LIBS"
 					LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_z"
 					cat >"conftest.$ac_ext" <<_ACEOF
-#line 8043 "configure"
+#line 8255 "configure"
 #include "confdefs.h"
 
 #include <zlib.h>
@@ -8056,21 +8268,21 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:8059: \"$ac_link\"") >&5
+if { (eval echo "$as_me:8271: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:8062: \$? = $ac_status" >&5
+  echo "$as_me:8274: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:8065: \"$ac_try\"") >&5
+  { (eval echo "$as_me:8277: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:8068: \$? = $ac_status" >&5
+  echo "$as_me:8280: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 					test -n "$verbose" && echo "	... found z library in $cf_cv_library_path_z" 1>&6
 
-echo "${as_me:-configure}:8073: testing ... found z library in $cf_cv_library_path_z ..." 1>&5
+echo "${as_me:-configure}:8285: testing ... found z library in $cf_cv_library_path_z ..." 1>&5
 
 					cf_cv_find_linkage_z=yes
 					cf_cv_library_file_z="-lz"
@@ -8132,7 +8344,7 @@ if test -n "$cf_cv_header_path_z" ; then
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 8135 "configure"
+#line 8347 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -8144,16 +8356,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:8147: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:8359: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:8150: \$? = $ac_status" >&5
+  echo "$as_me:8362: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:8153: \"$ac_try\"") >&5
+  { (eval echo "$as_me:8365: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:8156: \$? = $ac_status" >&5
+  echo "$as_me:8368: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -8170,7 +8382,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:8173: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:8385: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -8206,7 +8418,7 @@ if test -n "$cf_cv_library_path_z" ; the
 			if test "$cf_have_libdir" = no ; then
 				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
-echo "${as_me:-configure}:8209: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:8421: testing adding $cf_add_libdir to library-path ..." 1>&5
 
 				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
 			fi
@@ -8231,7 +8443,7 @@ done
 LIBS="$cf_add_libs"
 
 else
-{ echo "$as_me:8234: WARNING: Cannot find z library" >&5
+{ echo "$as_me:8446: WARNING: Cannot find z library" >&5
 echo "$as_me: WARNING: Cannot find z library" >&2;}
 fi
 
@@ -8240,13 +8452,13 @@ for ac_func in \
 
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:8243: checking for $ac_func" >&5
+echo "$as_me:8455: checking for $ac_func" >&5
 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
 if eval "test \"\${$as_ac_var+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 8249 "configure"
+#line 8461 "configure"
 #include "confdefs.h"
 #define $ac_func autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -8277,16 +8489,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:8280: \"$ac_link\"") >&5
+if { (eval echo "$as_me:8492: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:8283: \$? = $ac_status" >&5
+  echo "$as_me:8495: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:8286: \"$ac_try\"") >&5
+  { (eval echo "$as_me:8498: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:8289: \$? = $ac_status" >&5
+  echo "$as_me:8501: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_var=yes"
 else
@@ -8296,7 +8508,7 @@ eval "$as_ac_var=no"
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:8299: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:8511: result: `eval echo '${'"$as_ac_var"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
 if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -8316,7 +8528,7 @@ fi
 fi
 
 ###	use option --enable-debug to compile-in test/development code
-echo "$as_me:8319: checking if you want to compile-in debug support" >&5
+echo "$as_me:8531: checking if you want to compile-in debug support" >&5
 echo $ECHO_N "checking if you want to compile-in debug support... $ECHO_C" >&6
 
 # Check whether --enable-debug or --disable-debug was given.
@@ -8337,12 +8549,12 @@ else
 	test -z "$save_CFLAGS" && CFLAGS="`echo $CFLAGS|sed -e 's/-g //' -e 's/-g$//'`"
 
 fi;
-echo "$as_me:8340: result: $enableval" >&5
+echo "$as_me:8552: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
 ###	use option --disable-echo to suppress full display compiling commands
 
-echo "$as_me:8345: checking if you want to see long compiling messages" >&5
+echo "$as_me:8557: checking if you want to see long compiling messages" >&5
 echo $ECHO_N "checking if you want to see long compiling messages... $ECHO_C" >&6
 
 # Check whether --enable-echo or --disable-echo was given.
@@ -8376,11 +8588,11 @@ else
 	ECHO_CC=''
 
 fi;
-echo "$as_me:8379: result: $enableval" >&5
+echo "$as_me:8591: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
 ### use option --enable-prototypes to turn on optional prototypes
-echo "$as_me:8383: checking if you want to compile with fallback prototypes" >&5
+echo "$as_me:8595: checking if you want to compile with fallback prototypes" >&5
 echo $ECHO_N "checking if you want to compile with fallback prototypes... $ECHO_C" >&6
 
 # Check whether --enable-prototypes or --disable-prototypes was given.
@@ -8397,14 +8609,14 @@ else
 	with_decl_check=no
 
 fi;
-echo "$as_me:8400: result: $enableval" >&5
+echo "$as_me:8612: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
 ###	use option --enable-warnings to turn on all gcc warnings
 EXTRA_CFLAGS=""
 if test -n "$GCC"
 then
-echo "$as_me:8407: checking if you want to turn on gcc warnings" >&5
+echo "$as_me:8619: checking if you want to turn on gcc warnings" >&5
 echo $ECHO_N "checking if you want to turn on gcc warnings... $ECHO_C" >&6
 
 # Check whether --enable-warnings or --disable-warnings was given.
@@ -8421,12 +8633,12 @@ else
 	with_warnings=no
 
 fi;
-echo "$as_me:8424: result: $with_warnings" >&5
+echo "$as_me:8636: result: $with_warnings" >&5
 echo "${ECHO_T}$with_warnings" >&6
 if test "$with_warnings" = "yes"
 then
 	with_ext_const=yes
-	echo "$as_me:8429: checking for X" >&5
+	echo "$as_me:8641: checking for X" >&5
 echo $ECHO_N "checking for X... $ECHO_C" >&6
 
 # Check whether --with-x or --without-x was given.
@@ -8530,17 +8742,17 @@ if test "$ac_x_includes" = no; then
   # Guess where to find include files, by looking for Intrinsic.h.
   # First, try using that file with no special directory specified.
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 8533 "configure"
+#line 8745 "configure"
 #include "confdefs.h"
 #include <X11/Intrinsic.h>
 _ACEOF
-if { (eval echo "$as_me:8537: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:8749: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:8543: \$? = $ac_status" >&5
+  echo "$as_me:8755: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -8573,7 +8785,7 @@ if test "$ac_x_libraries" = no; then
   ac_save_LIBS=$LIBS
   LIBS="-lXt $LIBS"
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 8576 "configure"
+#line 8788 "configure"
 #include "confdefs.h"
 #include <X11/Intrinsic.h>
 int
@@ -8585,16 +8797,16 @@ XtMalloc (0)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:8588: \"$ac_link\"") >&5
+if { (eval echo "$as_me:8800: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:8591: \$? = $ac_status" >&5
+  echo "$as_me:8803: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:8594: \"$ac_try\"") >&5
+  { (eval echo "$as_me:8806: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:8597: \$? = $ac_status" >&5
+  echo "$as_me:8809: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   LIBS=$ac_save_LIBS
 # We can link X programs with no special library path.
@@ -8632,7 +8844,7 @@ fi
 fi # $with_x != no
 
 if test "$have_x" != yes; then
-  echo "$as_me:8635: result: $have_x" >&5
+  echo "$as_me:8847: result: $have_x" >&5
 echo "${ECHO_T}$have_x" >&6
   no_x=yes
 else
@@ -8642,7 +8854,7 @@ else
   # Update the cache value to reflect the command line values.
   ac_cv_have_x="have_x=yes \
 		ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
-  echo "$as_me:8645: result: libraries $x_libraries, headers $x_includes" >&5
+  echo "$as_me:8857: result: libraries $x_libraries, headers $x_includes" >&5
 echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6
 fi
 
@@ -8669,11 +8881,11 @@ else
     # others require no space.  Words are not sufficient . . . .
     case `(uname -sr) 2>/dev/null` in
     "SunOS 5"*)
-      echo "$as_me:8672: checking whether -R must be followed by a space" >&5
+      echo "$as_me:8884: checking whether -R must be followed by a space" >&5
 echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6
       ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
       cat >"conftest.$ac_ext" <<_ACEOF
-#line 8676 "configure"
+#line 8888 "configure"
 #include "confdefs.h"
 
 int
@@ -8685,16 +8897,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:8688: \"$ac_link\"") >&5
+if { (eval echo "$as_me:8900: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:8691: \$? = $ac_status" >&5
+  echo "$as_me:8903: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:8694: \"$ac_try\"") >&5
+  { (eval echo "$as_me:8906: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:8697: \$? = $ac_status" >&5
+  echo "$as_me:8909: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_R_nospace=yes
 else
@@ -8704,13 +8916,13 @@ ac_R_nospace=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
       if test $ac_R_nospace = yes; then
-	echo "$as_me:8707: result: no" >&5
+	echo "$as_me:8919: result: no" >&5
 echo "${ECHO_T}no" >&6
 	X_LIBS="$X_LIBS -R$x_libraries"
       else
 	LIBS="$ac_xsave_LIBS -R $x_libraries"
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 8713 "configure"
+#line 8925 "configure"
 #include "confdefs.h"
 
 int
@@ -8722,16 +8934,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:8725: \"$ac_link\"") >&5
+if { (eval echo "$as_me:8937: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:8728: \$? = $ac_status" >&5
+  echo "$as_me:8940: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:8731: \"$ac_try\"") >&5
+  { (eval echo "$as_me:8943: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:8734: \$? = $ac_status" >&5
+  echo "$as_me:8946: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_R_space=yes
 else
@@ -8741,11 +8953,11 @@ ac_R_space=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 	if test $ac_R_space = yes; then
-	  echo "$as_me:8744: result: yes" >&5
+	  echo "$as_me:8956: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 	  X_LIBS="$X_LIBS -R $x_libraries"
 	else
-	  echo "$as_me:8748: result: neither works" >&5
+	  echo "$as_me:8960: result: neither works" >&5
 echo "${ECHO_T}neither works" >&6
 	fi
       fi
@@ -8765,7 +8977,7 @@ echo "${ECHO_T}neither works" >&6
     # the Alpha needs dnet_stub (dnet does not exist).
     ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
     cat >"conftest.$ac_ext" <<_ACEOF
-#line 8768 "configure"
+#line 8980 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -8784,22 +8996,22 @@ XOpenDisplay ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:8787: \"$ac_link\"") >&5
+if { (eval echo "$as_me:8999: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:8790: \$? = $ac_status" >&5
+  echo "$as_me:9002: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:8793: \"$ac_try\"") >&5
+  { (eval echo "$as_me:9005: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:8796: \$? = $ac_status" >&5
+  echo "$as_me:9008: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
-echo "$as_me:8802: checking for dnet_ntoa in -ldnet" >&5
+echo "$as_me:9014: checking for dnet_ntoa in -ldnet" >&5
 echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6
 if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -8807,7 +9019,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldnet  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 8810 "configure"
+#line 9022 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -8826,16 +9038,16 @@ dnet_ntoa ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:8829: \"$ac_link\"") >&5
+if { (eval echo "$as_me:9041: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:8832: \$? = $ac_status" >&5
+  echo "$as_me:9044: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:8835: \"$ac_try\"") >&5
+  { (eval echo "$as_me:9047: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:8838: \$? = $ac_status" >&5
+  echo "$as_me:9050: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_dnet_dnet_ntoa=yes
 else
@@ -8846,14 +9058,14 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:8849: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
+echo "$as_me:9061: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
 echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6
 if test "$ac_cv_lib_dnet_dnet_ntoa" = yes; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
 fi
 
     if test $ac_cv_lib_dnet_dnet_ntoa = no; then
-      echo "$as_me:8856: checking for dnet_ntoa in -ldnet_stub" >&5
+      echo "$as_me:9068: checking for dnet_ntoa in -ldnet_stub" >&5
 echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6
 if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -8861,7 +9073,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldnet_stub  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 8864 "configure"
+#line 9076 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -8880,16 +9092,16 @@ dnet_ntoa ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:8883: \"$ac_link\"") >&5
+if { (eval echo "$as_me:9095: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:8886: \$? = $ac_status" >&5
+  echo "$as_me:9098: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:8889: \"$ac_try\"") >&5
+  { (eval echo "$as_me:9101: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:8892: \$? = $ac_status" >&5
+  echo "$as_me:9104: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_dnet_stub_dnet_ntoa=yes
 else
@@ -8900,7 +9112,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:8903: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
+echo "$as_me:9115: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
 echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6
 if test "$ac_cv_lib_dnet_stub_dnet_ntoa" = yes; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
@@ -8919,13 +9131,13 @@ rm -f "conftest.$ac_objext" "conftest$ac
     # on Irix 5.2, according to T.E. Dickey.
     # The functions gethostbyname, getservbyname, and inet_addr are
     # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
-    echo "$as_me:8922: checking for gethostbyname" >&5
+    echo "$as_me:9134: checking for gethostbyname" >&5
 echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6
 if test "${ac_cv_func_gethostbyname+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 8928 "configure"
+#line 9140 "configure"
 #include "confdefs.h"
 #define gethostbyname autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -8956,16 +9168,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:8959: \"$ac_link\"") >&5
+if { (eval echo "$as_me:9171: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:8962: \$? = $ac_status" >&5
+  echo "$as_me:9174: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:8965: \"$ac_try\"") >&5
+  { (eval echo "$as_me:9177: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:8968: \$? = $ac_status" >&5
+  echo "$as_me:9180: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_gethostbyname=yes
 else
@@ -8975,11 +9187,11 @@ ac_cv_func_gethostbyname=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:8978: result: $ac_cv_func_gethostbyname" >&5
+echo "$as_me:9190: result: $ac_cv_func_gethostbyname" >&5
 echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6
 
     if test $ac_cv_func_gethostbyname = no; then
-      echo "$as_me:8982: checking for gethostbyname in -lnsl" >&5
+      echo "$as_me:9194: checking for gethostbyname in -lnsl" >&5
 echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6
 if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -8987,7 +9199,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lnsl  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 8990 "configure"
+#line 9202 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -9006,16 +9218,16 @@ gethostbyname ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:9009: \"$ac_link\"") >&5
+if { (eval echo "$as_me:9221: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:9012: \$? = $ac_status" >&5
+  echo "$as_me:9224: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:9015: \"$ac_try\"") >&5
+  { (eval echo "$as_me:9227: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:9018: \$? = $ac_status" >&5
+  echo "$as_me:9230: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_nsl_gethostbyname=yes
 else
@@ -9026,14 +9238,14 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:9029: result: $ac_cv_lib_nsl_gethostbyname" >&5
+echo "$as_me:9241: result: $ac_cv_lib_nsl_gethostbyname" >&5
 echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6
 if test "$ac_cv_lib_nsl_gethostbyname" = yes; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
 fi
 
       if test $ac_cv_lib_nsl_gethostbyname = no; then
-        echo "$as_me:9036: checking for gethostbyname in -lbsd" >&5
+        echo "$as_me:9248: checking for gethostbyname in -lbsd" >&5
 echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6
 if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -9041,7 +9253,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lbsd  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 9044 "configure"
+#line 9256 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -9060,16 +9272,16 @@ gethostbyname ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:9063: \"$ac_link\"") >&5
+if { (eval echo "$as_me:9275: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:9066: \$? = $ac_status" >&5
+  echo "$as_me:9278: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:9069: \"$ac_try\"") >&5
+  { (eval echo "$as_me:9281: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:9072: \$? = $ac_status" >&5
+  echo "$as_me:9284: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_bsd_gethostbyname=yes
 else
@@ -9080,7 +9292,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:9083: result: $ac_cv_lib_bsd_gethostbyname" >&5
+echo "$as_me:9295: result: $ac_cv_lib_bsd_gethostbyname" >&5
 echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6
 if test "$ac_cv_lib_bsd_gethostbyname" = yes; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
@@ -9096,13 +9308,13 @@ fi
     # variants that don't use the nameserver (or something).  -lsocket
     # must be given before -lnsl if both are needed.  We assume that
     # if connect needs -lnsl, so does gethostbyname.
-    echo "$as_me:9099: checking for connect" >&5
+    echo "$as_me:9311: checking for connect" >&5
 echo $ECHO_N "checking for connect... $ECHO_C" >&6
 if test "${ac_cv_func_connect+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 9105 "configure"
+#line 9317 "configure"
 #include "confdefs.h"
 #define connect autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -9133,16 +9345,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:9136: \"$ac_link\"") >&5
+if { (eval echo "$as_me:9348: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:9139: \$? = $ac_status" >&5
+  echo "$as_me:9351: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:9142: \"$ac_try\"") >&5
+  { (eval echo "$as_me:9354: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:9145: \$? = $ac_status" >&5
+  echo "$as_me:9357: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_connect=yes
 else
@@ -9152,11 +9364,11 @@ ac_cv_func_connect=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:9155: result: $ac_cv_func_connect" >&5
+echo "$as_me:9367: result: $ac_cv_func_connect" >&5
 echo "${ECHO_T}$ac_cv_func_connect" >&6
 
     if test $ac_cv_func_connect = no; then
-      echo "$as_me:9159: checking for connect in -lsocket" >&5
+      echo "$as_me:9371: checking for connect in -lsocket" >&5
 echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6
 if test "${ac_cv_lib_socket_connect+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -9164,7 +9376,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 9167 "configure"
+#line 9379 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -9183,16 +9395,16 @@ connect ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:9186: \"$ac_link\"") >&5
+if { (eval echo "$as_me:9398: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:9189: \$? = $ac_status" >&5
+  echo "$as_me:9401: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:9192: \"$ac_try\"") >&5
+  { (eval echo "$as_me:9404: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:9195: \$? = $ac_status" >&5
+  echo "$as_me:9407: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_socket_connect=yes
 else
@@ -9203,7 +9415,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:9206: result: $ac_cv_lib_socket_connect" >&5
+echo "$as_me:9418: result: $ac_cv_lib_socket_connect" >&5
 echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6
 if test "$ac_cv_lib_socket_connect" = yes; then
   X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
@@ -9212,13 +9424,13 @@ fi
     fi
 
     # Guillermo Gomez says -lposix is necessary on A/UX.
-    echo "$as_me:9215: checking for remove" >&5
+    echo "$as_me:9427: checking for remove" >&5
 echo $ECHO_N "checking for remove... $ECHO_C" >&6
 if test "${ac_cv_func_remove+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 9221 "configure"
+#line 9433 "configure"
 #include "confdefs.h"
 #define remove autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -9249,16 +9461,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:9252: \"$ac_link\"") >&5
+if { (eval echo "$as_me:9464: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:9255: \$? = $ac_status" >&5
+  echo "$as_me:9467: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:9258: \"$ac_try\"") >&5
+  { (eval echo "$as_me:9470: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:9261: \$? = $ac_status" >&5
+  echo "$as_me:9473: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_remove=yes
 else
@@ -9268,11 +9480,11 @@ ac_cv_func_remove=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:9271: result: $ac_cv_func_remove" >&5
+echo "$as_me:9483: result: $ac_cv_func_remove" >&5
 echo "${ECHO_T}$ac_cv_func_remove" >&6
 
     if test $ac_cv_func_remove = no; then
-      echo "$as_me:9275: checking for remove in -lposix" >&5
+      echo "$as_me:9487: checking for remove in -lposix" >&5
 echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6
 if test "${ac_cv_lib_posix_remove+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -9280,7 +9492,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lposix  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 9283 "configure"
+#line 9495 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -9299,16 +9511,16 @@ remove ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:9302: \"$ac_link\"") >&5
+if { (eval echo "$as_me:9514: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:9305: \$? = $ac_status" >&5
+  echo "$as_me:9517: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:9308: \"$ac_try\"") >&5
+  { (eval echo "$as_me:9520: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:9311: \$? = $ac_status" >&5
+  echo "$as_me:9523: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_posix_remove=yes
 else
@@ -9319,7 +9531,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:9322: result: $ac_cv_lib_posix_remove" >&5
+echo "$as_me:9534: result: $ac_cv_lib_posix_remove" >&5
 echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6
 if test "$ac_cv_lib_posix_remove" = yes; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
@@ -9328,13 +9540,13 @@ fi
     fi
 
     # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
-    echo "$as_me:9331: checking for shmat" >&5
+    echo "$as_me:9543: checking for shmat" >&5
 echo $ECHO_N "checking for shmat... $ECHO_C" >&6
 if test "${ac_cv_func_shmat+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 9337 "configure"
+#line 9549 "configure"
 #include "confdefs.h"
 #define shmat autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -9365,16 +9577,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:9368: \"$ac_link\"") >&5
+if { (eval echo "$as_me:9580: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:9371: \$? = $ac_status" >&5
+  echo "$as_me:9583: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:9374: \"$ac_try\"") >&5
+  { (eval echo "$as_me:9586: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:9377: \$? = $ac_status" >&5
+  echo "$as_me:9589: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_shmat=yes
 else
@@ -9384,11 +9596,11 @@ ac_cv_func_shmat=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:9387: result: $ac_cv_func_shmat" >&5
+echo "$as_me:9599: result: $ac_cv_func_shmat" >&5
 echo "${ECHO_T}$ac_cv_func_shmat" >&6
 
     if test $ac_cv_func_shmat = no; then
-      echo "$as_me:9391: checking for shmat in -lipc" >&5
+      echo "$as_me:9603: checking for shmat in -lipc" >&5
 echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6
 if test "${ac_cv_lib_ipc_shmat+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -9396,7 +9608,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lipc  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 9399 "configure"
+#line 9611 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -9415,16 +9627,16 @@ shmat ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:9418: \"$ac_link\"") >&5
+if { (eval echo "$as_me:9630: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:9421: \$? = $ac_status" >&5
+  echo "$as_me:9633: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:9424: \"$ac_try\"") >&5
+  { (eval echo "$as_me:9636: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:9427: \$? = $ac_status" >&5
+  echo "$as_me:9639: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_ipc_shmat=yes
 else
@@ -9435,7 +9647,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:9438: result: $ac_cv_lib_ipc_shmat" >&5
+echo "$as_me:9650: result: $ac_cv_lib_ipc_shmat" >&5
 echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6
 if test "$ac_cv_lib_ipc_shmat" = yes; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
@@ -9453,7 +9665,7 @@ fi
   # These have to be linked with before -lX11, unlike the other
   # libraries we check for below, so use a different variable.
   # John Interrante, Karl Berry
-  echo "$as_me:9456: checking for IceConnectionNumber in -lICE" >&5
+  echo "$as_me:9668: checking for IceConnectionNumber in -lICE" >&5
 echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6
 if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -9461,7 +9673,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lICE $X_EXTRA_LIBS $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 9464 "configure"
+#line 9676 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -9480,16 +9692,16 @@ IceConnectionNumber ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:9483: \"$ac_link\"") >&5
+if { (eval echo "$as_me:9695: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:9486: \$? = $ac_status" >&5
+  echo "$as_me:9698: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:9489: \"$ac_try\"") >&5
+  { (eval echo "$as_me:9701: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:9492: \$? = $ac_status" >&5
+  echo "$as_me:9704: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_ICE_IceConnectionNumber=yes
 else
@@ -9500,7 +9712,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:9503: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
+echo "$as_me:9715: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
 echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6
 if test "$ac_cv_lib_ICE_IceConnectionNumber" = yes; then
   X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
@@ -9529,10 +9741,10 @@ do
 done
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 9532 "configure"
+#line 9744 "configure"
 #include "confdefs.h"
 
-#include <stdlib.h>
+$ac_includes_default
 #include <X11/Intrinsic.h>
 
 int
@@ -9544,32 +9756,32 @@ String foo = malloc(1); free((void*)foo)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:9547: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:9759: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:9550: \$? = $ac_status" >&5
+  echo "$as_me:9762: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:9553: \"$ac_try\"") >&5
+  { (eval echo "$as_me:9765: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:9556: \$? = $ac_status" >&5
+  echo "$as_me:9768: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
-echo "$as_me:9559: checking for X11/Xt const-feature" >&5
+echo "$as_me:9771: checking for X11/Xt const-feature" >&5
 echo $ECHO_N "checking for X11/Xt const-feature... $ECHO_C" >&6
 if test "${cf_cv_const_x_string+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 9566 "configure"
+#line 9778 "configure"
 #include "confdefs.h"
 
 #undef  _CONST_X_STRING
 #define _CONST_X_STRING	/* X11R7.8 (perhaps) */
 #undef  XTSTRINGDEFINES	/* X11R5 and later */
-#include <stdlib.h>
+$ac_includes_default
 #include <X11/Intrinsic.h>
 
 int
@@ -9581,16 +9793,16 @@ String foo = malloc(1); *foo = 0
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:9584: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:9796: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:9587: \$? = $ac_status" >&5
+  echo "$as_me:9799: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:9590: \"$ac_try\"") >&5
+  { (eval echo "$as_me:9802: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:9593: \$? = $ac_status" >&5
+  echo "$as_me:9805: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 			cf_cv_const_x_string=no
@@ -9605,7 +9817,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:9608: result: $cf_cv_const_x_string" >&5
+echo "$as_me:9820: result: $cf_cv_const_x_string" >&5
 echo "${ECHO_T}$cf_cv_const_x_string" >&6
 
 LIBS="$cf_save_LIBS_CF_CONST_X_STRING"
@@ -9634,7 +9846,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
  fi
 cat > "conftest.$ac_ext" <<EOF
-#line 9637 "${as_me:-configure}"
+#line 9849 "${as_me:-configure}"
 int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
 EOF
 if test "$INTEL_COMPILER" = yes
@@ -9650,7 +9862,7 @@ then
 # remark #981: operands are evaluated in unspecified order
 # warning #279: controlling expression is constant
 
-	{ echo "$as_me:9653: checking for $CC warning options..." >&5
+	{ echo "$as_me:9865: checking for $CC warning options..." >&5
 echo "$as_me: checking for $CC warning options..." >&6;}
 	cf_save_CFLAGS="$CFLAGS"
 	EXTRA_CFLAGS="$EXTRA_CFLAGS -Wall"
@@ -9666,12 +9878,12 @@ echo "$as_me: checking for $CC warning o
 		wd981
 	do
 		CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
-		if { (eval echo "$as_me:9669: \"$ac_compile\"") >&5
+		if { (eval echo "$as_me:9881: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:9672: \$? = $ac_status" >&5
+  echo "$as_me:9884: \$? = $ac_status" >&5
   (exit "$ac_status"); }; then
-			test -n "$verbose" && echo "$as_me:9674: result: ... -$cf_opt" >&5
+			test -n "$verbose" && echo "$as_me:9886: result: ... -$cf_opt" >&5
 echo "${ECHO_T}... -$cf_opt" >&6
 			EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
 		fi
@@ -9679,7 +9891,7 @@ echo "${ECHO_T}... -$cf_opt" >&6
 	CFLAGS="$cf_save_CFLAGS"
 elif test "$GCC" = yes && test "$GCC_VERSION" != "unknown"
 then
-	{ echo "$as_me:9682: checking for $CC warning options..." >&5
+	{ echo "$as_me:9894: checking for $CC warning options..." >&5
 echo "$as_me: checking for $CC warning options..." >&6;}
 	cf_save_CFLAGS="$CFLAGS"
 	cf_warn_CONST=""
@@ -9702,12 +9914,12 @@ echo "$as_me: checking for $CC warning o
 		Wundef Wno-inline $cf_gcc_warnings $cf_warn_CONST
 	do
 		CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
-		if { (eval echo "$as_me:9705: \"$ac_compile\"") >&5
+		if { (eval echo "$as_me:9917: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:9708: \$? = $ac_status" >&5
+  echo "$as_me:9920: \$? = $ac_status" >&5
   (exit "$ac_status"); }; then
-			test -n "$verbose" && echo "$as_me:9710: result: ... -$cf_opt" >&5
+			test -n "$verbose" && echo "$as_me:9922: result: ... -$cf_opt" >&5
 echo "${ECHO_T}... -$cf_opt" >&6
 			case "$cf_opt" in
 			Winline)
@@ -9715,7 +9927,7 @@ echo "${ECHO_T}... -$cf_opt" >&6
 				[34].*)
 					test -n "$verbose" && echo "	feature is broken in gcc $GCC_VERSION" 1>&6
 
-echo "${as_me:-configure}:9718: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
+echo "${as_me:-configure}:9930: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
 
 					continue;;
 				esac
@@ -9725,7 +9937,7 @@ echo "${as_me:-configure}:9718: testing
 				[12].*)
 					test -n "$verbose" && echo "	feature is broken in gcc $GCC_VERSION" 1>&6
 
-echo "${as_me:-configure}:9728: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
+echo "${as_me:-configure}:9940: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
 
 					continue;;
 				esac
@@ -9744,7 +9956,7 @@ fi
 ## !NNTP_ONLY
 if test "$USE_SPOOLDIR" = "yes"; then
 	## options for directories
-	echo "$as_me:9747: checking for news-library path" >&5
+	echo "$as_me:9959: checking for news-library path" >&5
 echo $ECHO_N "checking for news-library path... $ECHO_C" >&6
 
 # Check whether --with-libdir or --without-libdir was given.
@@ -9761,26 +9973,24 @@ else
 	cf_path_syntax="$ac_default_prefix"
 fi
 
-case ".$withval" in
-.\$\(*\)*|.\'*\'*)
-	;;
-..|./*|.\\*)
+case "x$withval" in
+x\$\(*\)*|x\'*\'*)
 	;;
-.[a-zA-Z]:[\\/]*) # OS/2 EMX
+x.|x$GLOB_FULLPATH_POSIX|x$GLOB_FULLPATH_OTHER)
 	;;
-.\$\{*prefix\}*|.\$\{*dir\}*)
+x\$\{*prefix\}*|x\$\{*dir\}*)
 	eval withval="$withval"
-	case ".$withval" in
-	.NONE/*)
+	case "x$withval" in
+	xNONE/*)
 		withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
 		;;
 	esac
 	;;
-.no|.NONE/*)
+xno|xNONE/*)
 	withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
 	;;
 *)
-	{ { echo "$as_me:9783: error: expected a pathname, not \"$withval\"" >&5
+	{ { echo "$as_me:9993: error: expected a pathname, not \"$withval\"" >&5
 echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
    { (exit 1); exit 1; }; }
 	;;
@@ -9789,10 +9999,10 @@ esac
 fi
 eval NEWSLIBDIR="$withval"
 
-	echo "$as_me:9792: result: $NEWSLIBDIR" >&5
+	echo "$as_me:10002: result: $NEWSLIBDIR" >&5
 echo "${ECHO_T}$NEWSLIBDIR" >&6
 
-	echo "$as_me:9795: checking for news spool-directory path" >&5
+	echo "$as_me:10005: checking for news spool-directory path" >&5
 echo $ECHO_N "checking for news spool-directory path... $ECHO_C" >&6
 
 # Check whether --with-spooldir or --without-spooldir was given.
@@ -9809,26 +10019,24 @@ else
 	cf_path_syntax="$ac_default_prefix"
 fi
 
-case ".$withval" in
-.\$\(*\)*|.\'*\'*)
+case "x$withval" in
+x\$\(*\)*|x\'*\'*)
 	;;
-..|./*|.\\*)
+x.|x$GLOB_FULLPATH_POSIX|x$GLOB_FULLPATH_OTHER)
 	;;
-.[a-zA-Z]:[\\/]*) # OS/2 EMX
-	;;
-.\$\{*prefix\}*|.\$\{*dir\}*)
+x\$\{*prefix\}*|x\$\{*dir\}*)
 	eval withval="$withval"
-	case ".$withval" in
-	.NONE/*)
+	case "x$withval" in
+	xNONE/*)
 		withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
 		;;
 	esac
 	;;
-.no|.NONE/*)
+xno|xNONE/*)
 	withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
 	;;
 *)
-	{ { echo "$as_me:9831: error: expected a pathname, not \"$withval\"" >&5
+	{ { echo "$as_me:10039: error: expected a pathname, not \"$withval\"" >&5
 echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
    { (exit 1); exit 1; }; }
 	;;
@@ -9837,10 +10045,10 @@ esac
 fi
 eval SPOOLDIR="$withval"
 
-	echo "$as_me:9840: result: $SPOOLDIR" >&5
+	echo "$as_me:10048: result: $SPOOLDIR" >&5
 echo "${ECHO_T}$SPOOLDIR" >&6
 
-	echo "$as_me:9843: checking for news overview-directory path" >&5
+	echo "$as_me:10051: checking for news overview-directory path" >&5
 echo $ECHO_N "checking for news overview-directory path... $ECHO_C" >&6
 
 # Check whether --with-nov-dir or --without-nov-dir was given.
@@ -9857,26 +10065,24 @@ else
 	cf_path_syntax="$ac_default_prefix"
 fi
 
-case ".$withval" in
-.\$\(*\)*|.\'*\'*)
-	;;
-..|./*|.\\*)
+case "x$withval" in
+x\$\(*\)*|x\'*\'*)
 	;;
-.[a-zA-Z]:[\\/]*) # OS/2 EMX
+x.|x$GLOB_FULLPATH_POSIX|x$GLOB_FULLPATH_OTHER)
 	;;
-.\$\{*prefix\}*|.\$\{*dir\}*)
+x\$\{*prefix\}*|x\$\{*dir\}*)
 	eval withval="$withval"
-	case ".$withval" in
-	.NONE/*)
+	case "x$withval" in
+	xNONE/*)
 		withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
 		;;
 	esac
 	;;
-.no|.NONE/*)
+xno|xNONE/*)
 	withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
 	;;
 *)
-	{ { echo "$as_me:9879: error: expected a pathname, not \"$withval\"" >&5
+	{ { echo "$as_me:10085: error: expected a pathname, not \"$withval\"" >&5
 echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
    { (exit 1); exit 1; }; }
 	;;
@@ -9885,10 +10091,10 @@ esac
 fi
 eval NOVROOTDIR="$withval"
 
-	echo "$as_me:9888: result: $NOVROOTDIR" >&5
+	echo "$as_me:10094: result: $NOVROOTDIR" >&5
 echo "${ECHO_T}$NOVROOTDIR" >&6
 
-	echo "$as_me:9891: checking for overview filename" >&5
+	echo "$as_me:10097: checking for overview filename" >&5
 echo $ECHO_N "checking for overview filename... $ECHO_C" >&6
 
 # Check whether --with-nov-fname or --without-nov-fname was given.
@@ -9900,7 +10106,7 @@ else
 fi; test -z "$withval" && withval=no
 case "$withval" in #(vi
 yes)
-  { { echo "$as_me:9903: error: expected a value for --with-nov-fname" >&5
+  { { echo "$as_me:10109: error: expected a value for --with-nov-fname" >&5
 echo "$as_me: error: expected a value for --with-nov-fname" >&2;}
    { (exit 1); exit 1; }; }
   ;; #(vi
@@ -9913,7 +10119,7 @@ cat >>confdefs.h <<EOF
 #define OVERVIEW_FILE "$withval"
 EOF
 
-	echo "$as_me:9916: result: $OVERVIEW_FILE" >&5
+	echo "$as_me:10122: result: $OVERVIEW_FILE" >&5
 echo "${ECHO_T}$OVERVIEW_FILE" >&6
 
 	INEWSPATH="$NEWSLIBDIR"
@@ -9926,7 +10132,7 @@ fi
 
 ## TODO: kick the --with-inews-dir= stuff, the check below should be enough
 ## (requires some code rework in tin)
-echo "$as_me:9929: checking for directory containing \"inews\"" >&5
+echo "$as_me:10135: checking for directory containing \"inews\"" >&5
 echo $ECHO_N "checking for directory containing \"inews\"... $ECHO_C" >&6
 
 # Check whether --with-inews-dir or --without-inews-dir was given.
@@ -9943,26 +10149,24 @@ else
 	cf_path_syntax="$ac_default_prefix"
 fi
 
-case ".$withval" in
-.\$\(*\)*|.\'*\'*)
-	;;
-..|./*|.\\*)
+case "x$withval" in
+x\$\(*\)*|x\'*\'*)
 	;;
-.[a-zA-Z]:[\\/]*) # OS/2 EMX
+x.|x$GLOB_FULLPATH_POSIX|x$GLOB_FULLPATH_OTHER)
 	;;
-.\$\{*prefix\}*|.\$\{*dir\}*)
+x\$\{*prefix\}*|x\$\{*dir\}*)
 	eval withval="$withval"
-	case ".$withval" in
-	.NONE/*)
+	case "x$withval" in
+	xNONE/*)
 		withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
 		;;
 	esac
 	;;
-.no|.NONE/*)
+xno|xNONE/*)
 	withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
 	;;
 *)
-	{ { echo "$as_me:9965: error: expected a pathname, not \"$withval\"" >&5
+	{ { echo "$as_me:10169: error: expected a pathname, not \"$withval\"" >&5
 echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
    { (exit 1); exit 1; }; }
 	;;
@@ -9972,12 +10176,12 @@ fi
 eval INEWSDIR="$withval"
 
 INEWSDIR="`echo $INEWSDIR |sed -e 's,/$,,'`"
-echo "$as_me:9975: result: $INEWSDIR" >&5
+echo "$as_me:10179: result: $INEWSDIR" >&5
 echo "${ECHO_T}$INEWSDIR" >&6
 
 # Extract the first word of "inews", so it can be a program name with args.
 set dummy inews; ac_word=$2
-echo "$as_me:9980: checking for $ac_word" >&5
+echo "$as_me:10184: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_INEWS+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -9994,7 +10198,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_INEWS="$ac_dir/$ac_word"
-   echo "$as_me:9997: found $ac_dir/$ac_word" >&5
+   echo "$as_me:10201: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -10006,10 +10210,10 @@ fi
 INEWS=$ac_cv_path_INEWS
 
 if test -n "$INEWS"; then
-  echo "$as_me:10009: result: $INEWS" >&5
+  echo "$as_me:10213: result: $INEWS" >&5
 echo "${ECHO_T}$INEWS" >&6
 else
-  echo "$as_me:10012: result: no" >&5
+  echo "$as_me:10216: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -10035,7 +10239,7 @@ fi
 
 ### Look for network libraries first, since some functions (such as gethostname)
 ### are used in a lot of places.
-echo "$as_me:10038: checking if you want socks library" >&5
+echo "$as_me:10242: checking if you want socks library" >&5
 echo $ECHO_N "checking if you want socks library... $ECHO_C" >&6
 if test "${cf_cv_use_libsocks+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -10050,10 +10254,10 @@ else
 fi;
 
 fi
-echo "$as_me:10053: result: $cf_cv_use_libsocks" >&5
+echo "$as_me:10257: result: $cf_cv_use_libsocks" >&5
 echo "${ECHO_T}$cf_cv_use_libsocks" >&6
 
-echo "$as_me:10056: checking if you want socks5 library" >&5
+echo "$as_me:10260: checking if you want socks5 library" >&5
 echo $ECHO_N "checking if you want socks5 library... $ECHO_C" >&6
 if test "${cf_cv_use_libsocks5+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -10068,15 +10272,24 @@ else
 fi;
 
 fi
-echo "$as_me:10071: result: $cf_cv_use_libsocks5" >&5
+echo "$as_me:10275: result: $cf_cv_use_libsocks5" >&5
 echo "${ECHO_T}$cf_cv_use_libsocks5" >&6
 
+# socks5 is the newer version of the library.  If both options are selected,
+# give a warning and assume socks5 was intended.
+
+if test "x$cf_cv_use_libsocks5" != xno ; then
 if test "x$cf_cv_use_libsocks" != xno ; then
+	{ echo "$as_me:10283: WARNING: assuming --with-socks5 is intended, ignoring --with-socks" >&5
+echo "$as_me: WARNING: assuming --with-socks5 is intended, ignoring --with-socks" >&2;}
+	cf_cv_use_libsocks=no
+fi
+fi
 
-case "$cf_cv_use_libsocks" in
-no)
-	;;
-yes)
+if test "x$cf_cv_use_libsocks" != xno ; then
+
+case "x$cf_cv_use_libsocks" in
+xno|xyes|x)
 	;;
 *)
 
@@ -10110,7 +10323,7 @@ if test -n "$cf_searchpath/include" ; th
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 10113 "configure"
+#line 10326 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -10122,16 +10335,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:10125: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:10338: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:10128: \$? = $ac_status" >&5
+  echo "$as_me:10341: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:10131: \"$ac_try\"") >&5
+  { (eval echo "$as_me:10344: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:10134: \$? = $ac_status" >&5
+  echo "$as_me:10347: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -10148,7 +10361,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:10151: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:10364: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -10194,7 +10407,7 @@ if test -n "$cf_searchpath/../include" ;
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 10197 "configure"
+#line 10410 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -10206,16 +10419,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:10209: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:10422: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:10212: \$? = $ac_status" >&5
+  echo "$as_me:10425: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:10215: \"$ac_try\"") >&5
+  { (eval echo "$as_me:10428: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:10218: \$? = $ac_status" >&5
+  echo "$as_me:10431: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -10232,7 +10445,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:10235: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:10448: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -10250,7 +10463,7 @@ echo "${as_me:-configure}:10235: testing
 fi
 
 	else
-{ { echo "$as_me:10253: error: cannot find socks library under $cf_cv_use_libsocks" >&5
+{ { echo "$as_me:10466: error: cannot find socks library under $cf_cv_use_libsocks" >&5
 echo "$as_me: error: cannot find socks library under $cf_cv_use_libsocks" >&2;}
    { (exit 1); exit 1; }; }
 	fi
@@ -10275,7 +10488,7 @@ if test -n "$cf_searchpath/lib" ; then
 			if test "$cf_have_libdir" = no ; then
 				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
-echo "${as_me:-configure}:10278: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:10491: testing adding $cf_add_libdir to library-path ..." 1>&5
 
 				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
 			fi
@@ -10304,7 +10517,7 @@ if test -n "$cf_searchpath" ; then
 			if test "$cf_have_libdir" = no ; then
 				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
-echo "${as_me:-configure}:10307: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:10520: testing adding $cf_add_libdir to library-path ..." 1>&5
 
 				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
 			fi
@@ -10313,12 +10526,16 @@ echo "${as_me:-configure}:10307: testing
 fi
 
 	else
-{ { echo "$as_me:10316: error: cannot find socks library under $cf_cv_use_libsocks" >&5
+{ { echo "$as_me:10529: error: cannot find socks library under $cf_cv_use_libsocks" >&5
 echo "$as_me: error: cannot find socks library under $cf_cv_use_libsocks" >&2;}
    { (exit 1); exit 1; }; }
 	fi
 done
 
+	test -n "$verbose" && echo "	setting path value for socks library to $cf_cv_use_libsocks" 1>&6
+
+echo "${as_me:-configure}:10537: testing setting path value for socks library to $cf_cv_use_libsocks ..." 1>&5
+
 	;;
 esac
 
@@ -10327,12 +10544,12 @@ esac
 cf_cv_header_path_socks=
 cf_cv_library_path_socks=
 
-echo "${as_me:-configure}:10330: testing Starting FIND_LINKAGE(socks,) ..." 1>&5
+echo "${as_me:-configure}:10547: testing Starting FIND_LINKAGE(socks,) ..." 1>&5
 
 cf_save_LIBS="$LIBS"
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 10335 "configure"
+#line 10552 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -10348,16 +10565,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:10351: \"$ac_link\"") >&5
+if { (eval echo "$as_me:10568: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:10354: \$? = $ac_status" >&5
+  echo "$as_me:10571: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:10357: \"$ac_try\"") >&5
+  { (eval echo "$as_me:10574: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:10360: \$? = $ac_status" >&5
+  echo "$as_me:10577: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 	cf_cv_find_linkage_socks=yes
@@ -10371,7 +10588,7 @@ cat "conftest.$ac_ext" >&5
 LIBS="-lsocks  $cf_save_LIBS"
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 10374 "configure"
+#line 10591 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -10387,16 +10604,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:10390: \"$ac_link\"") >&5
+if { (eval echo "$as_me:10607: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:10393: \$? = $ac_status" >&5
+  echo "$as_me:10610: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:10396: \"$ac_try\"") >&5
+  { (eval echo "$as_me:10613: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:10399: \$? = $ac_status" >&5
+  echo "$as_me:10616: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 	cf_cv_find_linkage_socks=yes
@@ -10413,9 +10630,9 @@ cat "conftest.$ac_ext" >&5
 
 	test -n "$verbose" && echo "	find linkage for socks library" 1>&6
 
-echo "${as_me:-configure}:10416: testing find linkage for socks library ..." 1>&5
+echo "${as_me:-configure}:10633: testing find linkage for socks library ..." 1>&5
 
-echo "${as_me:-configure}:10418: testing Searching for headers in FIND_LINKAGE(socks,) ..." 1>&5
+echo "${as_me:-configure}:10635: testing Searching for headers in FIND_LINKAGE(socks,) ..." 1>&5
 
 	cf_save_CPPFLAGS="$CPPFLAGS"
 	cf_test_CPPFLAGS="$CPPFLAGS"
@@ -10506,7 +10723,7 @@ cf_search="$cf_search $cf_header_path_li
 		if test -d "$cf_cv_header_path_socks" ; then
 			test -n "$verbose" && echo "	... testing $cf_cv_header_path_socks" 1>&6
 
-echo "${as_me:-configure}:10509: testing ... testing $cf_cv_header_path_socks ..." 1>&5
+echo "${as_me:-configure}:10726: testing ... testing $cf_cv_header_path_socks ..." 1>&5
 
 			CPPFLAGS="$cf_save_CPPFLAGS"
 
@@ -10514,7 +10731,7 @@ echo "${as_me:-configure}:10509: testing
 	CPPFLAGS="${CPPFLAGS}-I$cf_cv_header_path_socks"
 
 			cat >"conftest.$ac_ext" <<_ACEOF
-#line 10517 "configure"
+#line 10734 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -10530,21 +10747,21 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:10533: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:10750: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:10536: \$? = $ac_status" >&5
+  echo "$as_me:10753: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:10539: \"$ac_try\"") >&5
+  { (eval echo "$as_me:10756: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:10542: \$? = $ac_status" >&5
+  echo "$as_me:10759: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 				test -n "$verbose" && echo "	... found socks headers in $cf_cv_header_path_socks" 1>&6
 
-echo "${as_me:-configure}:10547: testing ... found socks headers in $cf_cv_header_path_socks ..." 1>&5
+echo "${as_me:-configure}:10764: testing ... found socks headers in $cf_cv_header_path_socks ..." 1>&5
 
 				cf_cv_find_linkage_socks=maybe
 				cf_test_CPPFLAGS="$CPPFLAGS"
@@ -10562,7 +10779,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 
 	if test "$cf_cv_find_linkage_socks" = maybe ; then
 
-echo "${as_me:-configure}:10565: testing Searching for socks library in FIND_LINKAGE(socks,) ..." 1>&5
+echo "${as_me:-configure}:10782: testing Searching for socks library in FIND_LINKAGE(socks,) ..." 1>&5
 
 		cf_save_LIBS="$LIBS"
 		cf_save_LDFLAGS="$LDFLAGS"
@@ -10637,13 +10854,13 @@ cf_search="$cf_library_path_list $cf_sea
 				if test -d "$cf_cv_library_path_socks" ; then
 					test -n "$verbose" && echo "	... testing $cf_cv_library_path_socks" 1>&6
 
-echo "${as_me:-configure}:10640: testing ... testing $cf_cv_library_path_socks ..." 1>&5
+echo "${as_me:-configure}:10857: testing ... testing $cf_cv_library_path_socks ..." 1>&5
 
 					CPPFLAGS="$cf_test_CPPFLAGS"
 					LIBS="-lsocks  $cf_save_LIBS"
 					LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_socks"
 					cat >"conftest.$ac_ext" <<_ACEOF
-#line 10646 "configure"
+#line 10863 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -10659,21 +10876,21 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:10662: \"$ac_link\"") >&5
+if { (eval echo "$as_me:10879: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:10665: \$? = $ac_status" >&5
+  echo "$as_me:10882: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:10668: \"$ac_try\"") >&5
+  { (eval echo "$as_me:10885: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:10671: \$? = $ac_status" >&5
+  echo "$as_me:10888: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 					test -n "$verbose" && echo "	... found socks library in $cf_cv_library_path_socks" 1>&6
 
-echo "${as_me:-configure}:10676: testing ... found socks library in $cf_cv_library_path_socks ..." 1>&5
+echo "${as_me:-configure}:10893: testing ... found socks library in $cf_cv_library_path_socks ..." 1>&5
 
 					cf_cv_find_linkage_socks=yes
 					cf_cv_library_file_socks="-lsocks"
@@ -10735,7 +10952,7 @@ if test -n "$cf_cv_header_path_socks" ;
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 10738 "configure"
+#line 10955 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -10747,16 +10964,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:10750: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:10967: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:10753: \$? = $ac_status" >&5
+  echo "$as_me:10970: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:10756: \"$ac_try\"") >&5
+  { (eval echo "$as_me:10973: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:10759: \$? = $ac_status" >&5
+  echo "$as_me:10976: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -10773,7 +10990,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:10776: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:10993: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -10809,7 +11026,7 @@ if test -n "$cf_cv_library_path_socks" ;
 			if test "$cf_have_libdir" = no ; then
 				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
-echo "${as_me:-configure}:10812: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:11029: testing adding $cf_add_libdir to library-path ..." 1>&5
 
 				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
 			fi
@@ -10834,7 +11051,7 @@ done
 LIBS="$cf_add_libs"
 
 else
-{ echo "$as_me:10837: WARNING: Cannot find socks library" >&5
+{ echo "$as_me:11054: WARNING: Cannot find socks library" >&5
 echo "$as_me: WARNING: Cannot find socks library" >&2;}
 fi
 
@@ -10877,7 +11094,7 @@ cat >>confdefs.h <<\EOF
 EOF
 
   else
-    { { echo "$as_me:10880: error: cannot link with socks library" >&5
+    { { echo "$as_me:11097: error: cannot link with socks library" >&5
 echo "$as_me: error: cannot link with socks library" >&2;}
    { (exit 1); exit 1; }; }
   fi
@@ -10886,14 +11103,14 @@ else
 
 cf_test_netlibs=no
 
-echo "$as_me:10889: checking for network libraries" >&5
+echo "$as_me:11106: checking for network libraries" >&5
 echo $ECHO_N "checking for network libraries... $ECHO_C" >&6
 
 if test "${cf_cv_netlibs+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-echo "$as_me:10896: result: working..." >&5
+echo "$as_me:11113: result: working..." >&5
 echo "${ECHO_T}working..." >&6
 
 cf_cv_netlibs=""
@@ -10905,23 +11122,23 @@ mingw*)
 for ac_header in windows.h winsock.h winsock2.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:10908: checking for $ac_header" >&5
+echo "$as_me:11125: checking for $ac_header" >&5
 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 10914 "configure"
+#line 11131 "configure"
 #include "confdefs.h"
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:10918: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:11135: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:10924: \$? = $ac_status" >&5
+  echo "$as_me:11141: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -10940,7 +11157,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:10943: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:11160: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -10975,7 +11192,7 @@ done
 LIBS="$cf_add_libs"
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 10978 "configure"
+#line 11195 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_WINDOWS_H
@@ -11002,22 +11219,22 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:11005: \"$ac_link\"") >&5
+if { (eval echo "$as_me:11222: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:11008: \$? = $ac_status" >&5
+  echo "$as_me:11225: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:11011: \"$ac_try\"") >&5
+  { (eval echo "$as_me:11228: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:11014: \$? = $ac_status" >&5
+  echo "$as_me:11231: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_netlibs="$cf_winsock_lib $cf_cv_netlibs"
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
-{ { echo "$as_me:11020: error: Cannot link against winsock library" >&5
+{ { echo "$as_me:11237: error: Cannot link against winsock library" >&5
 echo "$as_me: error: Cannot link against winsock library" >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -11030,13 +11247,13 @@ rm -f "conftest.$ac_objext" "conftest$ac
 for ac_func in gethostname
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:11033: checking for $ac_func" >&5
+echo "$as_me:11250: checking for $ac_func" >&5
 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
 if eval "test \"\${$as_ac_var+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 11039 "configure"
+#line 11256 "configure"
 #include "confdefs.h"
 #define $ac_func autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -11067,16 +11284,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:11070: \"$ac_link\"") >&5
+if { (eval echo "$as_me:11287: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:11073: \$? = $ac_status" >&5
+  echo "$as_me:11290: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:11076: \"$ac_try\"") >&5
+  { (eval echo "$as_me:11293: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:11079: \$? = $ac_status" >&5
+  echo "$as_me:11296: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_var=yes"
 else
@@ -11086,7 +11303,7 @@ eval "$as_ac_var=no"
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:11089: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:11306: result: `eval echo '${'"$as_ac_var"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
 if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -11095,7 +11312,7 @@ EOF
 
 else
 
-echo "$as_me:11098: checking for gethostname in -lnsl" >&5
+echo "$as_me:11315: checking for gethostname in -lnsl" >&5
 echo $ECHO_N "checking for gethostname in -lnsl... $ECHO_C" >&6
 if test "${ac_cv_lib_nsl_gethostname+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -11103,7 +11320,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lnsl $cf_cv_netlibs $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 11106 "configure"
+#line 11323 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -11122,16 +11339,16 @@ gethostname ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:11125: \"$ac_link\"") >&5
+if { (eval echo "$as_me:11342: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:11128: \$? = $ac_status" >&5
+  echo "$as_me:11345: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:11131: \"$ac_try\"") >&5
+  { (eval echo "$as_me:11348: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:11134: \$? = $ac_status" >&5
+  echo "$as_me:11351: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_nsl_gethostname=yes
 else
@@ -11142,7 +11359,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:11145: result: $ac_cv_lib_nsl_gethostname" >&5
+echo "$as_me:11362: result: $ac_cv_lib_nsl_gethostname" >&5
 echo "${ECHO_T}$ac_cv_lib_nsl_gethostname" >&6
 if test "$ac_cv_lib_nsl_gethostname" = yes; then
 
@@ -11159,7 +11376,7 @@ else
 	ac_cv_func_gethostname=unknown
 	unset ac_cv_func_gethostname 2>/dev/null
 
-echo "$as_me:11162: checking for gethostname in -lsocket" >&5
+echo "$as_me:11379: checking for gethostname in -lsocket" >&5
 echo $ECHO_N "checking for gethostname in -lsocket... $ECHO_C" >&6
 if test "${ac_cv_lib_socket_gethostname+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -11167,7 +11384,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lsocket $cf_cv_netlibs $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 11170 "configure"
+#line 11387 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -11186,16 +11403,16 @@ gethostname ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:11189: \"$ac_link\"") >&5
+if { (eval echo "$as_me:11406: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:11192: \$? = $ac_status" >&5
+  echo "$as_me:11409: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:11195: \"$ac_try\"") >&5
+  { (eval echo "$as_me:11412: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:11198: \$? = $ac_status" >&5
+  echo "$as_me:11415: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_socket_gethostname=yes
 else
@@ -11206,7 +11423,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:11209: result: $ac_cv_lib_socket_gethostname" >&5
+echo "$as_me:11426: result: $ac_cv_lib_socket_gethostname" >&5
 echo "${ECHO_T}$ac_cv_lib_socket_gethostname" >&6
 if test "$ac_cv_lib_socket_gethostname" = yes; then
 
@@ -11230,49 +11447,56 @@ fi
 fi
 done
 
-	echo "$as_me:11233: checking for main in -linet" >&5
-echo $ECHO_N "checking for main in -linet... $ECHO_C" >&6
-if test "${ac_cv_lib_inet_main+set}" = set; then
+	echo "$as_me:11450: checking for inet_ntoa in -linet" >&5
+echo $ECHO_N "checking for inet_ntoa in -linet... $ECHO_C" >&6
+if test "${ac_cv_lib_inet_inet_ntoa+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-linet  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 11241 "configure"
+#line 11458 "configure"
 #include "confdefs.h"
 
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char inet_ntoa (void);
 int
 main (void)
 {
-main ();
+inet_ntoa ();
   ;
   return 0;
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:11253: \"$ac_link\"") >&5
+if { (eval echo "$as_me:11477: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:11256: \$? = $ac_status" >&5
+  echo "$as_me:11480: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:11259: \"$ac_try\"") >&5
+  { (eval echo "$as_me:11483: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:11262: \$? = $ac_status" >&5
+  echo "$as_me:11486: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
-  ac_cv_lib_inet_main=yes
+  ac_cv_lib_inet_inet_ntoa=yes
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
-ac_cv_lib_inet_main=no
+ac_cv_lib_inet_inet_ntoa=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:11273: result: $ac_cv_lib_inet_main" >&5
-echo "${ECHO_T}$ac_cv_lib_inet_main" >&6
-if test "$ac_cv_lib_inet_main" = yes; then
+echo "$as_me:11497: result: $ac_cv_lib_inet_inet_ntoa" >&5
+echo "${ECHO_T}$ac_cv_lib_inet_inet_ntoa" >&6
+if test "$ac_cv_lib_inet_inet_ntoa" = yes; then
   cf_cv_netlibs="-linet $cf_cv_netlibs"
 fi
 
@@ -11281,13 +11505,13 @@ fi
 for ac_func in socket
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:11284: checking for $ac_func" >&5
+echo "$as_me:11508: checking for $ac_func" >&5
 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
 if eval "test \"\${$as_ac_var+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 11290 "configure"
+#line 11514 "configure"
 #include "confdefs.h"
 #define $ac_func autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -11318,16 +11542,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:11321: \"$ac_link\"") >&5
+if { (eval echo "$as_me:11545: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:11324: \$? = $ac_status" >&5
+  echo "$as_me:11548: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:11327: \"$ac_try\"") >&5
+  { (eval echo "$as_me:11551: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:11330: \$? = $ac_status" >&5
+  echo "$as_me:11554: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_var=yes"
 else
@@ -11337,7 +11561,7 @@ eval "$as_ac_var=no"
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:11340: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:11564: result: `eval echo '${'"$as_ac_var"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
 if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -11346,7 +11570,7 @@ EOF
 
 else
 
-echo "$as_me:11349: checking for socket in -lsocket" >&5
+echo "$as_me:11573: checking for socket in -lsocket" >&5
 echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6
 if test "${ac_cv_lib_socket_socket+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -11354,7 +11578,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lsocket $cf_cv_netlibs $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 11357 "configure"
+#line 11581 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -11373,16 +11597,16 @@ socket ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:11376: \"$ac_link\"") >&5
+if { (eval echo "$as_me:11600: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:11379: \$? = $ac_status" >&5
+  echo "$as_me:11603: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:11382: \"$ac_try\"") >&5
+  { (eval echo "$as_me:11606: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:11385: \$? = $ac_status" >&5
+  echo "$as_me:11609: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_socket_socket=yes
 else
@@ -11393,7 +11617,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:11396: result: $ac_cv_lib_socket_socket" >&5
+echo "$as_me:11620: result: $ac_cv_lib_socket_socket" >&5
 echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6
 if test "$ac_cv_lib_socket_socket" = yes; then
 
@@ -11410,7 +11634,7 @@ else
 	ac_cv_func_socket=unknown
 	unset ac_cv_func_socket 2>/dev/null
 
-echo "$as_me:11413: checking for socket in -lbsd" >&5
+echo "$as_me:11637: checking for socket in -lbsd" >&5
 echo $ECHO_N "checking for socket in -lbsd... $ECHO_C" >&6
 if test "${ac_cv_lib_bsd_socket+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -11418,7 +11642,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lbsd $cf_cv_netlibs $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 11421 "configure"
+#line 11645 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -11437,16 +11661,16 @@ socket ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:11440: \"$ac_link\"") >&5
+if { (eval echo "$as_me:11664: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:11443: \$? = $ac_status" >&5
+  echo "$as_me:11667: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:11446: \"$ac_try\"") >&5
+  { (eval echo "$as_me:11670: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:11449: \$? = $ac_status" >&5
+  echo "$as_me:11673: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_bsd_socket=yes
 else
@@ -11457,7 +11681,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:11460: result: $ac_cv_lib_bsd_socket" >&5
+echo "$as_me:11684: result: $ac_cv_lib_bsd_socket" >&5
 echo "${ECHO_T}$ac_cv_lib_bsd_socket" >&6
 if test "$ac_cv_lib_bsd_socket" = yes; then
 
@@ -11486,13 +11710,13 @@ done
 for ac_func in gethostbyname
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:11489: checking for $ac_func" >&5
+echo "$as_me:11713: checking for $ac_func" >&5
 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
 if eval "test \"\${$as_ac_var+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 11495 "configure"
+#line 11719 "configure"
 #include "confdefs.h"
 #define $ac_func autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -11523,16 +11747,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:11526: \"$ac_link\"") >&5
+if { (eval echo "$as_me:11750: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:11529: \$? = $ac_status" >&5
+  echo "$as_me:11753: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:11532: \"$ac_try\"") >&5
+  { (eval echo "$as_me:11756: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:11535: \$? = $ac_status" >&5
+  echo "$as_me:11759: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_var=yes"
 else
@@ -11542,7 +11766,7 @@ eval "$as_ac_var=no"
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:11545: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:11769: result: `eval echo '${'"$as_ac_var"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
 if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -11551,7 +11775,7 @@ EOF
 
 else
 
-echo "$as_me:11554: checking for gethostbyname in -lnsl" >&5
+echo "$as_me:11778: checking for gethostbyname in -lnsl" >&5
 echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6
 if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -11559,7 +11783,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lnsl $cf_cv_netlibs $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 11562 "configure"
+#line 11786 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -11578,16 +11802,16 @@ gethostbyname ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:11581: \"$ac_link\"") >&5
+if { (eval echo "$as_me:11805: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:11584: \$? = $ac_status" >&5
+  echo "$as_me:11808: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:11587: \"$ac_try\"") >&5
+  { (eval echo "$as_me:11811: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:11590: \$? = $ac_status" >&5
+  echo "$as_me:11814: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_nsl_gethostbyname=yes
 else
@@ -11598,7 +11822,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:11601: result: $ac_cv_lib_nsl_gethostbyname" >&5
+echo "$as_me:11825: result: $ac_cv_lib_nsl_gethostbyname" >&5
 echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6
 if test "$ac_cv_lib_nsl_gethostbyname" = yes; then
 
@@ -11623,13 +11847,13 @@ done
 for ac_func in inet_ntoa
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:11626: checking for $ac_func" >&5
+echo "$as_me:11850: checking for $ac_func" >&5
 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
 if eval "test \"\${$as_ac_var+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 11632 "configure"
+#line 11856 "configure"
 #include "confdefs.h"
 #define $ac_func autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -11660,16 +11884,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:11663: \"$ac_link\"") >&5
+if { (eval echo "$as_me:11887: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:11666: \$? = $ac_status" >&5
+  echo "$as_me:11890: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:11669: \"$ac_try\"") >&5
+  { (eval echo "$as_me:11893: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:11672: \$? = $ac_status" >&5
+  echo "$as_me:11896: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_var=yes"
 else
@@ -11679,7 +11903,7 @@ eval "$as_ac_var=no"
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:11682: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:11906: result: `eval echo '${'"$as_ac_var"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
 if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -11688,7 +11912,7 @@ EOF
 
 else
 
-echo "$as_me:11691: checking for inet_ntoa in -lnsl" >&5
+echo "$as_me:11915: checking for inet_ntoa in -lnsl" >&5
 echo $ECHO_N "checking for inet_ntoa in -lnsl... $ECHO_C" >&6
 if test "${ac_cv_lib_nsl_inet_ntoa+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -11696,7 +11920,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lnsl $cf_cv_netlibs $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 11699 "configure"
+#line 11923 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -11715,16 +11939,16 @@ inet_ntoa ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:11718: \"$ac_link\"") >&5
+if { (eval echo "$as_me:11942: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:11721: \$? = $ac_status" >&5
+  echo "$as_me:11945: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:11724: \"$ac_try\"") >&5
+  { (eval echo "$as_me:11948: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:11727: \$? = $ac_status" >&5
+  echo "$as_me:11951: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_nsl_inet_ntoa=yes
 else
@@ -11735,7 +11959,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:11738: result: $ac_cv_lib_nsl_inet_ntoa" >&5
+echo "$as_me:11962: result: $ac_cv_lib_nsl_inet_ntoa" >&5
 echo "${ECHO_T}$ac_cv_lib_nsl_inet_ntoa" >&6
 if test "$ac_cv_lib_nsl_inet_ntoa" = yes; then
 
@@ -11760,13 +11984,13 @@ done
 for ac_func in gethostbyname
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:11763: checking for $ac_func" >&5
+echo "$as_me:11987: checking for $ac_func" >&5
 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
 if eval "test \"\${$as_ac_var+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 11769 "configure"
+#line 11993 "configure"
 #include "confdefs.h"
 #define $ac_func autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -11797,16 +12021,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:11800: \"$ac_link\"") >&5
+if { (eval echo "$as_me:12024: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:11803: \$? = $ac_status" >&5
+  echo "$as_me:12027: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:11806: \"$ac_try\"") >&5
+  { (eval echo "$as_me:12030: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:11809: \$? = $ac_status" >&5
+  echo "$as_me:12033: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_var=yes"
 else
@@ -11816,7 +12040,7 @@ eval "$as_ac_var=no"
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:11819: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:12043: result: `eval echo '${'"$as_ac_var"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
 if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -11825,7 +12049,7 @@ EOF
 
 else
 
-echo "$as_me:11828: checking for gethostbyname in -lnetwork" >&5
+echo "$as_me:12052: checking for gethostbyname in -lnetwork" >&5
 echo $ECHO_N "checking for gethostbyname in -lnetwork... $ECHO_C" >&6
 if test "${ac_cv_lib_network_gethostbyname+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -11833,7 +12057,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lnetwork $cf_cv_netlibs $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 11836 "configure"
+#line 12060 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -11852,16 +12076,16 @@ gethostbyname ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:11855: \"$ac_link\"") >&5
+if { (eval echo "$as_me:12079: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:11858: \$? = $ac_status" >&5
+  echo "$as_me:12082: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:11861: \"$ac_try\"") >&5
+  { (eval echo "$as_me:12085: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:11864: \$? = $ac_status" >&5
+  echo "$as_me:12088: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_network_gethostbyname=yes
 else
@@ -11872,7 +12096,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:11875: result: $ac_cv_lib_network_gethostbyname" >&5
+echo "$as_me:12099: result: $ac_cv_lib_network_gethostbyname" >&5
 echo "${ECHO_T}$ac_cv_lib_network_gethostbyname" >&6
 if test "$ac_cv_lib_network_gethostbyname" = yes; then
 
@@ -11897,13 +12121,13 @@ done
 for ac_func in strcasecmp
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:11900: checking for $ac_func" >&5
+echo "$as_me:12124: checking for $ac_func" >&5
 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
 if eval "test \"\${$as_ac_var+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 11906 "configure"
+#line 12130 "configure"
 #include "confdefs.h"
 #define $ac_func autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -11934,16 +12158,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:11937: \"$ac_link\"") >&5
+if { (eval echo "$as_me:12161: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:11940: \$? = $ac_status" >&5
+  echo "$as_me:12164: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:11943: \"$ac_try\"") >&5
+  { (eval echo "$as_me:12167: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:11946: \$? = $ac_status" >&5
+  echo "$as_me:12170: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_var=yes"
 else
@@ -11953,7 +12177,7 @@ eval "$as_ac_var=no"
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:11956: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:12180: result: `eval echo '${'"$as_ac_var"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
 if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -11962,7 +12186,7 @@ EOF
 
 else
 
-echo "$as_me:11965: checking for strcasecmp in -lresolv" >&5
+echo "$as_me:12189: checking for strcasecmp in -lresolv" >&5
 echo $ECHO_N "checking for strcasecmp in -lresolv... $ECHO_C" >&6
 if test "${ac_cv_lib_resolv_strcasecmp+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -11970,7 +12194,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lresolv $cf_cv_netlibs $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 11973 "configure"
+#line 12197 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -11989,16 +12213,16 @@ strcasecmp ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:11992: \"$ac_link\"") >&5
+if { (eval echo "$as_me:12216: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:11995: \$? = $ac_status" >&5
+  echo "$as_me:12219: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:11998: \"$ac_try\"") >&5
+  { (eval echo "$as_me:12222: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:12001: \$? = $ac_status" >&5
+  echo "$as_me:12225: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_resolv_strcasecmp=yes
 else
@@ -12009,7 +12233,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:12012: result: $ac_cv_lib_resolv_strcasecmp" >&5
+echo "$as_me:12236: result: $ac_cv_lib_resolv_strcasecmp" >&5
 echo "${ECHO_T}$ac_cv_lib_resolv_strcasecmp" >&6
 if test "$ac_cv_lib_resolv_strcasecmp" = yes; then
 
@@ -12066,10 +12290,8 @@ test "$cf_test_netlibs" = no && echo "$c
 
 	if test "x$cf_cv_use_libsocks5" != xno ; then
 
-case "$cf_cv_use_libsocks5" in
-no)
-	;;
-yes)
+case "x$cf_cv_use_libsocks5" in
+xno|xyes|x)
 	;;
 *)
 
@@ -12103,7 +12325,7 @@ if test -n "$cf_searchpath/include" ; th
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 12106 "configure"
+#line 12328 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -12115,16 +12337,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:12118: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:12340: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:12121: \$? = $ac_status" >&5
+  echo "$as_me:12343: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:12124: \"$ac_try\"") >&5
+  { (eval echo "$as_me:12346: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:12127: \$? = $ac_status" >&5
+  echo "$as_me:12349: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -12141,7 +12363,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:12144: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:12366: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -12187,7 +12409,7 @@ if test -n "$cf_searchpath/../include" ;
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 12190 "configure"
+#line 12412 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -12199,16 +12421,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:12202: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:12424: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:12205: \$? = $ac_status" >&5
+  echo "$as_me:12427: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:12208: \"$ac_try\"") >&5
+  { (eval echo "$as_me:12430: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:12211: \$? = $ac_status" >&5
+  echo "$as_me:12433: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -12225,7 +12447,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:12228: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:12450: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -12243,7 +12465,7 @@ echo "${as_me:-configure}:12228: testing
 fi
 
 	else
-{ { echo "$as_me:12246: error: cannot find socks5 library under $cf_cv_use_libsocks5" >&5
+{ { echo "$as_me:12468: error: cannot find socks5 library under $cf_cv_use_libsocks5" >&5
 echo "$as_me: error: cannot find socks5 library under $cf_cv_use_libsocks5" >&2;}
    { (exit 1); exit 1; }; }
 	fi
@@ -12268,7 +12490,7 @@ if test -n "$cf_searchpath/lib" ; then
 			if test "$cf_have_libdir" = no ; then
 				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
-echo "${as_me:-configure}:12271: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:12493: testing adding $cf_add_libdir to library-path ..." 1>&5
 
 				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
 			fi
@@ -12297,7 +12519,7 @@ if test -n "$cf_searchpath" ; then
 			if test "$cf_have_libdir" = no ; then
 				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
-echo "${as_me:-configure}:12300: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:12522: testing adding $cf_add_libdir to library-path ..." 1>&5
 
 				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
 			fi
@@ -12306,19 +12528,195 @@ echo "${as_me:-configure}:12300: testing
 fi
 
 	else
-{ { echo "$as_me:12309: error: cannot find socks5 library under $cf_cv_use_libsocks5" >&5
+{ { echo "$as_me:12531: error: cannot find socks5 library under $cf_cv_use_libsocks5" >&5
 echo "$as_me: error: cannot find socks5 library under $cf_cv_use_libsocks5" >&2;}
    { (exit 1); exit 1; }; }
 	fi
 done
 
+	test -n "$verbose" && echo "	setting path value for socks5 library to $cf_cv_use_libsocks5" 1>&6
+
+echo "${as_me:-configure}:12539: testing setting path value for socks5 library to $cf_cv_use_libsocks5 ..." 1>&5
+
 	;;
 esac
 
+echo "$as_me:12544: checking for SOCKSinit in -lsocks5" >&5
+echo $ECHO_N "checking for SOCKSinit in -lsocks5... $ECHO_C" >&6
+if test "${ac_cv_lib_socks5_SOCKSinit+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocks5  $LIBS"
+cat >"conftest.$ac_ext" <<_ACEOF
+#line 12552 "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char SOCKSinit (void);
+int
+main (void)
+{
+SOCKSinit ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f "conftest.$ac_objext" "conftest$ac_exeext"
+if { (eval echo "$as_me:12571: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:12574: \$? = $ac_status" >&5
+  (exit "$ac_status"); } &&
+         { ac_try='test -s "conftest$ac_exeext"'
+  { (eval echo "$as_me:12577: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:12580: \$? = $ac_status" >&5
+  (exit "$ac_status"); }; }; then
+  ac_cv_lib_socks5_SOCKSinit=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat "conftest.$ac_ext" >&5
+ac_cv_lib_socks5_SOCKSinit=no
+fi
+rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:12591: result: $ac_cv_lib_socks5_SOCKSinit" >&5
+echo "${ECHO_T}$ac_cv_lib_socks5_SOCKSinit" >&6
+if test "$ac_cv_lib_socks5_SOCKSinit" = yes; then
+  cf_cv_socks_lib=socks5
+else
+
+echo "$as_me:12597: checking for SOCKSinit in -lsocksd" >&5
+echo $ECHO_N "checking for SOCKSinit in -lsocksd... $ECHO_C" >&6
+if test "${ac_cv_lib_socksd_SOCKSinit+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocksd  $LIBS"
+cat >"conftest.$ac_ext" <<_ACEOF
+#line 12605 "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char SOCKSinit (void);
+int
+main (void)
+{
+SOCKSinit ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f "conftest.$ac_objext" "conftest$ac_exeext"
+if { (eval echo "$as_me:12624: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:12627: \$? = $ac_status" >&5
+  (exit "$ac_status"); } &&
+         { ac_try='test -s "conftest$ac_exeext"'
+  { (eval echo "$as_me:12630: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:12633: \$? = $ac_status" >&5
+  (exit "$ac_status"); }; }; then
+  ac_cv_lib_socksd_SOCKSinit=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat "conftest.$ac_ext" >&5
+ac_cv_lib_socksd_SOCKSinit=no
+fi
+rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:12644: result: $ac_cv_lib_socksd_SOCKSinit" >&5
+echo "${ECHO_T}$ac_cv_lib_socksd_SOCKSinit" >&6
+if test "$ac_cv_lib_socksd_SOCKSinit" = yes; then
+  cf_cv_socks_lib=socksd
+else
+
+echo "$as_me:12650: checking for SOCKSinit in -lsocks" >&5
+echo $ECHO_N "checking for SOCKSinit in -lsocks... $ECHO_C" >&6
+if test "${ac_cv_lib_socks_SOCKSinit+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocks  $LIBS"
+cat >"conftest.$ac_ext" <<_ACEOF
+#line 12658 "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char SOCKSinit (void);
+int
+main (void)
+{
+SOCKSinit ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f "conftest.$ac_objext" "conftest$ac_exeext"
+if { (eval echo "$as_me:12677: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:12680: \$? = $ac_status" >&5
+  (exit "$ac_status"); } &&
+         { ac_try='test -s "conftest$ac_exeext"'
+  { (eval echo "$as_me:12683: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:12686: \$? = $ac_status" >&5
+  (exit "$ac_status"); }; }; then
+  ac_cv_lib_socks_SOCKSinit=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat "conftest.$ac_ext" >&5
+ac_cv_lib_socks_SOCKSinit=no
+fi
+rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:12697: result: $ac_cv_lib_socks_SOCKSinit" >&5
+echo "${ECHO_T}$ac_cv_lib_socks_SOCKSinit" >&6
+if test "$ac_cv_lib_socks_SOCKSinit" = yes; then
+  cf_cv_socks_lib=socks
+else
+
+cf_cv_socks_lib=no
+fi
+
+fi
+
+fi
+
+if test "$cf_cv_socks_lib" = no ; then
+	{ { echo "$as_me:12711: error: cannot find socks5 library" >&5
+echo "$as_me: error: cannot find socks5 library" >&2;}
+   { (exit 1); exit 1; }; }
+else
+
 cf_add_libs="$LIBS"
 # reverse order
 cf_add_0lib=
-for cf_add_1lib in -lsocks5; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done
+for cf_add_1lib in -l$cf_cv_socks_lib; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done
 # filter duplicates
 for cf_add_1lib in $cf_add_0lib; do
 	for cf_add_2lib in $cf_add_libs; do
@@ -12331,6 +12729,8 @@ for cf_add_1lib in $cf_add_0lib; do
 done
 LIBS="$cf_add_libs"
 
+fi
+
 cat >>confdefs.h <<\EOF
 #define USE_SOCKS5 1
 EOF
@@ -12339,11 +12739,15 @@ cat >>confdefs.h <<\EOF
 #define SOCKS 1
 EOF
 
-echo "$as_me:12342: checking if the socks library uses socks4 prefix" >&5
+echo "$as_me:12742: checking if the socks library uses socks4 prefix" >&5
 echo $ECHO_N "checking if the socks library uses socks4 prefix... $ECHO_C" >&6
+if test "${cf_use_socks4+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
 cf_use_socks4=error
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 12346 "configure"
+#line 12750 "configure"
 #include "confdefs.h"
 
 #include <socks.h>
@@ -12357,28 +12761,23 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:12360: \"$ac_link\"") >&5
+if { (eval echo "$as_me:12764: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:12363: \$? = $ac_status" >&5
+  echo "$as_me:12767: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:12366: \"$ac_try\"") >&5
+  { (eval echo "$as_me:12770: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:12369: \$? = $ac_status" >&5
+  echo "$as_me:12773: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
-
-cat >>confdefs.h <<\EOF
-#define USE_SOCKS4_PREFIX 1
-EOF
-
-	 cf_use_socks4=yes
+  cf_use_socks4=yes
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 12381 "configure"
+#line 12780 "configure"
 #include "confdefs.h"
 #include <socks.h>
 int
@@ -12390,32 +12789,35 @@ SOCKSinit((char *)0)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:12393: \"$ac_link\"") >&5
+if { (eval echo "$as_me:12792: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:12396: \$? = $ac_status" >&5
+  echo "$as_me:12795: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:12399: \"$ac_try\"") >&5
+  { (eval echo "$as_me:12798: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:12402: \$? = $ac_status" >&5
+  echo "$as_me:12801: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_use_socks4=no
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
-{ { echo "$as_me:12408: error: Cannot link with socks5 library" >&5
-echo "$as_me: error: Cannot link with socks5 library" >&2;}
-   { (exit 1); exit 1; }; }
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
-echo "$as_me:12415: result: $cf_use_socks4" >&5
+fi
+echo "$as_me:12812: result: $cf_use_socks4" >&5
 echo "${ECHO_T}$cf_use_socks4" >&6
 
 if test "$cf_use_socks4" = "yes" ; then
+
+cat >>confdefs.h <<\EOF
+#define USE_SOCKS4_PREFIX 1
+EOF
+
 	cat >>confdefs.h <<\EOF
 #define accept Raccept
 EOF
@@ -12448,7 +12850,7 @@ EOF
 #define select Rselect
 EOF
 
-else
+elif test "$cf_use_socks4" = "no" ; then
 	cat >>confdefs.h <<\EOF
 #define accept SOCKSaccept
 EOF
@@ -12465,12 +12867,16 @@ EOF
 #define recvfrom SOCKSrecvfrom
 EOF
 
+else
+	{ { echo "$as_me:12871: error: Cannot link with socks5 library" >&5
+echo "$as_me: error: Cannot link with socks5 library" >&2;}
+   { (exit 1); exit 1; }; }
 fi
 
-echo "$as_me:12470: checking if socks5p.h is available" >&5
+echo "$as_me:12876: checking if socks5p.h is available" >&5
 echo $ECHO_N "checking if socks5p.h is available... $ECHO_C" >&6
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 12473 "configure"
+#line 12879 "configure"
 #include "confdefs.h"
 
 #define INCLUDE_PROTOTYPES
@@ -12485,16 +12891,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:12488: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:12894: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:12491: \$? = $ac_status" >&5
+  echo "$as_me:12897: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:12494: \"$ac_try\"") >&5
+  { (eval echo "$as_me:12900: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:12497: \$? = $ac_status" >&5
+  echo "$as_me:12903: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_use_socks5p_h=yes
 else
@@ -12503,7 +12909,7 @@ cat "conftest.$ac_ext" >&5
 cf_use_socks5p_h=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
-echo "$as_me:12506: result: $cf_use_socks5p_h" >&5
+echo "$as_me:12912: result: $cf_use_socks5p_h" >&5
 echo "${ECHO_T}$cf_use_socks5p_h" >&6
 
 test "$cf_use_socks5p_h" = yes &&
@@ -12520,23 +12926,23 @@ fi
 for ac_header in unistd.h fcntl.h sys/file.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:12523: checking for $ac_header" >&5
+echo "$as_me:12929: checking for $ac_header" >&5
 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 12529 "configure"
+#line 12935 "configure"
 #include "confdefs.h"
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:12533: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:12939: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:12539: \$? = $ac_status" >&5
+  echo "$as_me:12945: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -12555,7 +12961,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:12558: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:12964: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -12565,13 +12971,13 @@ EOF
 fi
 done
 
-echo "$as_me:12568: checking for fcntl" >&5
+echo "$as_me:12974: checking for fcntl" >&5
 echo $ECHO_N "checking for fcntl... $ECHO_C" >&6
 if test "${ac_cv_func_fcntl+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 12574 "configure"
+#line 12980 "configure"
 #include "confdefs.h"
 #define fcntl autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -12602,16 +13008,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:12605: \"$ac_link\"") >&5
+if { (eval echo "$as_me:13011: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:12608: \$? = $ac_status" >&5
+  echo "$as_me:13014: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:12611: \"$ac_try\"") >&5
+  { (eval echo "$as_me:13017: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:12614: \$? = $ac_status" >&5
+  echo "$as_me:13020: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_fcntl=yes
 else
@@ -12621,16 +13027,16 @@ ac_cv_func_fcntl=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:12624: result: $ac_cv_func_fcntl" >&5
+echo "$as_me:13030: result: $ac_cv_func_fcntl" >&5
 echo "${ECHO_T}$ac_cv_func_fcntl" >&6
 
-echo "$as_me:12627: checking for lockf" >&5
+echo "$as_me:13033: checking for lockf" >&5
 echo $ECHO_N "checking for lockf... $ECHO_C" >&6
 if test "${ac_cv_func_lockf+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 12633 "configure"
+#line 13039 "configure"
 #include "confdefs.h"
 #define lockf autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -12661,16 +13067,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:12664: \"$ac_link\"") >&5
+if { (eval echo "$as_me:13070: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:12667: \$? = $ac_status" >&5
+  echo "$as_me:13073: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:12670: \"$ac_try\"") >&5
+  { (eval echo "$as_me:13076: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:12673: \$? = $ac_status" >&5
+  echo "$as_me:13079: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_lockf=yes
 else
@@ -12680,16 +13086,16 @@ ac_cv_func_lockf=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:12683: result: $ac_cv_func_lockf" >&5
+echo "$as_me:13089: result: $ac_cv_func_lockf" >&5
 echo "${ECHO_T}$ac_cv_func_lockf" >&6
 
-echo "$as_me:12686: checking for flock" >&5
+echo "$as_me:13092: checking for flock" >&5
 echo $ECHO_N "checking for flock... $ECHO_C" >&6
 if test "${ac_cv_func_flock+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 12692 "configure"
+#line 13098 "configure"
 #include "confdefs.h"
 #define flock autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -12720,16 +13126,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:12723: \"$ac_link\"") >&5
+if { (eval echo "$as_me:13129: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:12726: \$? = $ac_status" >&5
+  echo "$as_me:13132: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:12729: \"$ac_try\"") >&5
+  { (eval echo "$as_me:13135: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:12732: \$? = $ac_status" >&5
+  echo "$as_me:13138: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_flock=yes
 else
@@ -12739,10 +13145,10 @@ ac_cv_func_flock=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:12742: result: $ac_cv_func_flock" >&5
+echo "$as_me:13148: result: $ac_cv_func_flock" >&5
 echo "${ECHO_T}$ac_cv_func_flock" >&6
 
-echo "$as_me:12745: checking for file-locking functions" >&5
+echo "$as_me:13151: checking for file-locking functions" >&5
 echo $ECHO_N "checking for file-locking functions... $ECHO_C" >&6
 if test "${cf_cv_lockfile+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -12755,13 +13161,10 @@ if eval 'test ${ac_cv_func_'$cf_lock'+se
 	case $cf_lock in #(vi
 	fcntl) #(vi
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 12758 "configure"
+#line 13164 "configure"
 #include "confdefs.h"
 
-#include <stdio.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
+$ac_includes_default
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
 #endif
@@ -12789,16 +13192,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:12792: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:13195: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:12795: \$? = $ac_status" >&5
+  echo "$as_me:13198: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:12798: \"$ac_try\"") >&5
+  { (eval echo "$as_me:13201: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:12801: \$? = $ac_status" >&5
+  echo "$as_me:13204: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -12810,13 +13213,10 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		;;
 	lockf) #(vi
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 12813 "configure"
+#line 13216 "configure"
 #include "confdefs.h"
 
-#include <stdio.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
+$ac_includes_default
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
 #endif
@@ -12837,16 +13237,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:12840: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:13240: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:12843: \$? = $ac_status" >&5
+  echo "$as_me:13243: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:12846: \"$ac_try\"") >&5
+  { (eval echo "$as_me:13246: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:12849: \$? = $ac_status" >&5
+  echo "$as_me:13249: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -12858,13 +13258,10 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		;;
 	flock)
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 12861 "configure"
+#line 13261 "configure"
 #include "confdefs.h"
 
-#include <stdio.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
+$ac_includes_default
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
 #endif
@@ -12888,16 +13285,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:12891: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:13288: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:12894: \$? = $ac_status" >&5
+  echo "$as_me:13291: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:12897: \"$ac_try\"") >&5
+  { (eval echo "$as_me:13294: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:12900: \$? = $ac_status" >&5
+  echo "$as_me:13297: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -12913,10 +13310,10 @@ fi
 done
 
 fi
-echo "$as_me:12916: result: $cf_cv_lockfile" >&5
+echo "$as_me:13313: result: $cf_cv_lockfile" >&5
 echo "${ECHO_T}$cf_cv_lockfile" >&6
 
-echo "$as_me:12919: checking which locking method will be used" >&5
+echo "$as_me:13316: checking which locking method will be used" >&5
 echo $ECHO_N "checking which locking method will be used... $ECHO_C" >&6
 ### fcntl() is preferred, if the user just disables fcntl()
 ### without specifying an alternative lockf() is preferred
@@ -12969,7 +13366,7 @@ if test -n "$cf_cv_lockfile"; then
 	if test "x$used_locking" = "x"; then
 		used_locking="`echo $cf_cv_lockfile|sed -e 's/^\([^ ]\+\).*/\1/g'`"
 	fi
-	echo "$as_me:12972: result: $used_locking" >&5
+	echo "$as_me:13369: result: $used_locking" >&5
 echo "${ECHO_T}$used_locking" >&6
 
 used_locking=`echo "$used_locking" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
@@ -12979,13 +13376,13 @@ used_locking=`echo "$used_locking" | sed
 EOF
 
 else
-	echo "$as_me:12982: result: none" >&5
+	echo "$as_me:13379: result: none" >&5
 echo "${ECHO_T}none" >&6;
-	{ echo "$as_me:12984: WARNING: None of fcntl(), lockf(), flock() available" >&5
+	{ echo "$as_me:13381: WARNING: None of fcntl(), lockf(), flock() available" >&5
 echo "$as_me: WARNING: None of fcntl(), lockf(), flock() available" >&2;}
 fi
 
-echo "$as_me:12988: checking for screen type" >&5
+echo "$as_me:13385: checking for screen type" >&5
 echo $ECHO_N "checking for screen type... $ECHO_C" >&6
 
 # Check whether --with-screen or --without-screen was given.
@@ -12995,13 +13392,13 @@ if test "${with_screen+set}" = set; then
 else
   cf_with_screen=none
 fi;
-echo "$as_me:12998: result: $cf_with_screen" >&5
+echo "$as_me:13395: result: $cf_with_screen" >&5
 echo "${ECHO_T}$cf_with_screen" >&6
 
 use_curses=no
 use_ncurses=no
 
-echo "$as_me:13004: checking for specific curses-directory" >&5
+echo "$as_me:13401: checking for specific curses-directory" >&5
 echo $ECHO_N "checking for specific curses-directory... $ECHO_C" >&6
 
 # Check whether --with-curses-dir or --without-curses-dir was given.
@@ -13011,7 +13408,7 @@ if test "${with_curses_dir+set}" = set;
 else
   cf_cv_curses_dir=no
 fi;
-echo "$as_me:13014: result: $cf_cv_curses_dir" >&5
+echo "$as_me:13411: result: $cf_cv_curses_dir" >&5
 echo "${ECHO_T}$cf_cv_curses_dir" >&6
 
 if test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no"
@@ -13023,26 +13420,24 @@ else
 	cf_path_syntax="$ac_default_prefix"
 fi
 
-case ".$withval" in
-.\$\(*\)*|.\'*\'*)
-	;;
-..|./*|.\\*)
+case "x$withval" in
+x\$\(*\)*|x\'*\'*)
 	;;
-.[a-zA-Z]:[\\/]*) # OS/2 EMX
+x.|x$GLOB_FULLPATH_POSIX|x$GLOB_FULLPATH_OTHER)
 	;;
-.\$\{*prefix\}*|.\$\{*dir\}*)
+x\$\{*prefix\}*|x\$\{*dir\}*)
 	eval withval="$withval"
-	case ".$withval" in
-	.NONE/*)
+	case "x$withval" in
+	xNONE/*)
 		withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
 		;;
 	esac
 	;;
-.no|.NONE/*)
+xno|xNONE/*)
 	withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
 	;;
 *)
-	{ { echo "$as_me:13045: error: expected a pathname, not \"$withval\"" >&5
+	{ { echo "$as_me:13440: error: expected a pathname, not \"$withval\"" >&5
 echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
    { (exit 1); exit 1; }; }
 	;;
@@ -13078,7 +13473,7 @@ if test -n "$cf_cv_curses_dir/include" ;
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 13081 "configure"
+#line 13476 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -13090,16 +13485,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:13093: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:13488: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:13096: \$? = $ac_status" >&5
+  echo "$as_me:13491: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:13099: \"$ac_try\"") >&5
+  { (eval echo "$as_me:13494: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:13102: \$? = $ac_status" >&5
+  echo "$as_me:13497: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -13116,7 +13511,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:13119: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:13514: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -13152,7 +13547,7 @@ if test -n "$cf_cv_curses_dir/lib" ; the
 			if test "$cf_have_libdir" = no ; then
 				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
-echo "${as_me:-configure}:13155: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:13550: testing adding $cf_add_libdir to library-path ..." 1>&5
 
 				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
 			fi
@@ -13181,7 +13576,7 @@ pdcurses) #(vi
 	use_curses=yes
 	;;
 none)
-	echo "$as_me:13184: checking if you want to use ncurses library" >&5
+	echo "$as_me:13579: checking if you want to use ncurses library" >&5
 echo $ECHO_N "checking if you want to use ncurses library... $ECHO_C" >&6
 
 # Check whether --with-ncurses or --without-ncurses was given.
@@ -13191,10 +13586,10 @@ if test "${with_ncurses+set}" = set; the
 else
   use_ncurses=no
 fi;
-	echo "$as_me:13194: result: $use_ncurses" >&5
+	echo "$as_me:13589: result: $use_ncurses" >&5
 echo "${ECHO_T}$use_ncurses" >&6
 
-	echo "$as_me:13197: checking if you want curses rather than termcap interface" >&5
+	echo "$as_me:13592: checking if you want curses rather than termcap interface" >&5
 echo $ECHO_N "checking if you want curses rather than termcap interface... $ECHO_C" >&6
 
 # Check whether --enable-curses or --disable-curses was given.
@@ -13211,7 +13606,7 @@ else
 	cf_with_screen=termcap; use_curses=no
 
 fi;
-	echo "$as_me:13214: result: $enableval" >&5
+	echo "$as_me:13609: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 	;;
 esac
@@ -13229,13 +13624,13 @@ cf_ncuconfig_root=ncurses
 cf_have_ncuconfig=no
 
 if test "x${PKG_CONFIG:=none}" != xnone; then
-	echo "$as_me:13232: checking pkg-config for $cf_ncuconfig_root" >&5
+	echo "$as_me:13627: checking pkg-config for $cf_ncuconfig_root" >&5
 echo $ECHO_N "checking pkg-config for $cf_ncuconfig_root... $ECHO_C" >&6
 	if "$PKG_CONFIG" --exists $cf_ncuconfig_root ; then
-		echo "$as_me:13235: result: yes" >&5
+		echo "$as_me:13630: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 
-		echo "$as_me:13238: checking if the $cf_ncuconfig_root package files work" >&5
+		echo "$as_me:13633: checking if the $cf_ncuconfig_root package files work" >&5
 echo $ECHO_N "checking if the $cf_ncuconfig_root package files work... $ECHO_C" >&6
 		cf_have_ncuconfig=unknown
 
@@ -13368,7 +13763,7 @@ done
 LIBS="$cf_add_libs"
 
 			cat >"conftest.$ac_ext" <<_ACEOF
-#line 13371 "configure"
+#line 13766 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 int
@@ -13380,37 +13775,37 @@ initscr(); mousemask(0,0); tigetstr((cha
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:13383: \"$ac_link\"") >&5
+if { (eval echo "$as_me:13778: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:13386: \$? = $ac_status" >&5
+  echo "$as_me:13781: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:13389: \"$ac_try\"") >&5
+  { (eval echo "$as_me:13784: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:13392: \$? = $ac_status" >&5
+  echo "$as_me:13787: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   if test "$cross_compiling" = yes; then
   cf_test_ncuconfig=maybe
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 13398 "configure"
+#line 13793 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 					int main(void)
 					{ const char *xx = curses_version(); return (xx == 0); }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:13405: \"$ac_link\"") >&5
+if { (eval echo "$as_me:13800: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:13408: \$? = $ac_status" >&5
+  echo "$as_me:13803: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:13410: \"$ac_try\"") >&5
+  { (eval echo "$as_me:13805: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:13413: \$? = $ac_status" >&5
+  echo "$as_me:13808: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_test_ncuconfig=yes
 else
@@ -13584,7 +13979,7 @@ done
 LIBS="$cf_add_libs"
 
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 13587 "configure"
+#line 13982 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 int
@@ -13596,37 +13991,37 @@ initscr(); mousemask(0,0); tigetstr((cha
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:13599: \"$ac_link\"") >&5
+if { (eval echo "$as_me:13994: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:13602: \$? = $ac_status" >&5
+  echo "$as_me:13997: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:13605: \"$ac_try\"") >&5
+  { (eval echo "$as_me:14000: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:13608: \$? = $ac_status" >&5
+  echo "$as_me:14003: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   if test "$cross_compiling" = yes; then
   cf_have_ncuconfig=maybe
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 13614 "configure"
+#line 14009 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 				int main(void)
 				{ const char *xx = curses_version(); return (xx == 0); }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:13621: \"$ac_link\"") >&5
+if { (eval echo "$as_me:14016: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:13624: \$? = $ac_status" >&5
+  echo "$as_me:14019: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:13626: \"$ac_try\"") >&5
+  { (eval echo "$as_me:14021: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:13629: \$? = $ac_status" >&5
+  echo "$as_me:14024: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_have_ncuconfig=yes
 else
@@ -13643,7 +14038,7 @@ cat "conftest.$ac_ext" >&5
 cf_have_ncuconfig=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
-		echo "$as_me:13646: result: $cf_have_ncuconfig" >&5
+		echo "$as_me:14041: result: $cf_have_ncuconfig" >&5
 echo "${ECHO_T}$cf_have_ncuconfig" >&6
 		test "$cf_have_ncuconfig" = maybe && cf_have_ncuconfig=yes
 		if test "$cf_have_ncuconfig" != "yes"
@@ -13659,7 +14054,7 @@ EOF
 
 			NCURSES_CONFIG_PKG=$cf_ncuconfig_root
 
-echo "$as_me:13662: checking for terminfo header" >&5
+echo "$as_me:14057: checking for terminfo header" >&5
 echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
 if test "${cf_cv_term_header+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -13677,7 +14072,7 @@ esac
 for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
 do
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 13680 "configure"
+#line 14075 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <${cf_cv_ncurses_header:-curses.h}>
@@ -13692,16 +14087,16 @@ int x = auto_left_margin; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:13695: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:14090: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:13698: \$? = $ac_status" >&5
+  echo "$as_me:14093: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:13701: \"$ac_try\"") >&5
+  { (eval echo "$as_me:14096: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:13704: \$? = $ac_status" >&5
+  echo "$as_me:14099: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 	cf_cv_term_header="$cf_test"
@@ -13717,7 +14112,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 done
 
 fi
-echo "$as_me:13720: result: $cf_cv_term_header" >&5
+echo "$as_me:14115: result: $cf_cv_term_header" >&5
 echo "${ECHO_T}$cf_cv_term_header" >&6
 
 # Set definitions to allow ifdef'ing to accommodate subdirectories
@@ -13752,7 +14147,7 @@ esac
 		fi
 
 	else
-		echo "$as_me:13755: result: no" >&5
+		echo "$as_me:14150: result: no" >&5
 echo "${ECHO_T}no" >&6
 		NCURSES_CONFIG_PKG=none
 	fi
@@ -13768,7 +14163,7 @@ if test -n "$ac_tool_prefix"; then
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:13771: checking for $ac_word" >&5
+echo "$as_me:14166: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_NCURSES_CONFIG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -13783,7 +14178,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_NCURSES_CONFIG="$ac_tool_prefix$ac_prog"
-echo "$as_me:13786: found $ac_dir/$ac_word" >&5
+echo "$as_me:14181: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -13791,10 +14186,10 @@ fi
 fi
 NCURSES_CONFIG=$ac_cv_prog_NCURSES_CONFIG
 if test -n "$NCURSES_CONFIG"; then
-  echo "$as_me:13794: result: $NCURSES_CONFIG" >&5
+  echo "$as_me:14189: result: $NCURSES_CONFIG" >&5
 echo "${ECHO_T}$NCURSES_CONFIG" >&6
 else
-  echo "$as_me:13797: result: no" >&5
+  echo "$as_me:14192: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -13807,7 +14202,7 @@ if test -z "$NCURSES_CONFIG"; then
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:13810: checking for $ac_word" >&5
+echo "$as_me:14205: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_ac_ct_NCURSES_CONFIG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -13822,7 +14217,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_prog"
-echo "$as_me:13825: found $ac_dir/$ac_word" >&5
+echo "$as_me:14220: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -13830,10 +14225,10 @@ fi
 fi
 ac_ct_NCURSES_CONFIG=$ac_cv_prog_ac_ct_NCURSES_CONFIG
 if test -n "$ac_ct_NCURSES_CONFIG"; then
-  echo "$as_me:13833: result: $ac_ct_NCURSES_CONFIG" >&5
+  echo "$as_me:14228: result: $ac_ct_NCURSES_CONFIG" >&5
 echo "${ECHO_T}$ac_ct_NCURSES_CONFIG" >&6
 else
-  echo "$as_me:13836: result: no" >&5
+  echo "$as_me:14231: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -13990,7 +14385,7 @@ LIBS="$cf_add_libs"
 
 		# even with config script, some packages use no-override for curses.h
 
-echo "$as_me:13993: checking if we have identified curses headers" >&5
+echo "$as_me:14388: checking if we have identified curses headers" >&5
 echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
 if test "${cf_cv_ncurses_header+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -14002,7 +14397,7 @@ for cf_header in \
 	curses.h ncurses/curses.h
 do
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 14005 "configure"
+#line 14400 "configure"
 #include "confdefs.h"
 #include <${cf_header}>
 int
@@ -14014,16 +14409,16 @@ initscr(); endwin()
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:14017: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:14412: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:14020: \$? = $ac_status" >&5
+  echo "$as_me:14415: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:14023: \"$ac_try\"") >&5
+  { (eval echo "$as_me:14418: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:14026: \$? = $ac_status" >&5
+  echo "$as_me:14421: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_ncurses_header=$cf_header; break
 else
@@ -14034,11 +14429,11 @@ rm -f "conftest.$ac_objext" "conftest.$a
 done
 
 fi
-echo "$as_me:14037: result: $cf_cv_ncurses_header" >&5
+echo "$as_me:14432: result: $cf_cv_ncurses_header" >&5
 echo "${ECHO_T}$cf_cv_ncurses_header" >&6
 
 if test "$cf_cv_ncurses_header" = none ; then
-	{ { echo "$as_me:14041: error: No curses header-files found" >&5
+	{ { echo "$as_me:14436: error: No curses header-files found" >&5
 echo "$as_me: error: No curses header-files found" >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -14048,23 +14443,23 @@ fi
 for ac_header in $cf_cv_ncurses_header
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:14051: checking for $ac_header" >&5
+echo "$as_me:14446: checking for $ac_header" >&5
 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 14057 "configure"
+#line 14452 "configure"
 #include "confdefs.h"
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:14061: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:14456: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:14067: \$? = $ac_status" >&5
+  echo "$as_me:14462: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -14083,7 +14478,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:14086: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:14481: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -14139,7 +14534,7 @@ if test -n "$cf_cv_curses_dir/include/$c
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 14142 "configure"
+#line 14537 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -14151,16 +14546,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:14154: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:14549: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:14157: \$? = $ac_status" >&5
+  echo "$as_me:14552: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:14160: \"$ac_try\"") >&5
+  { (eval echo "$as_me:14555: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:14163: \$? = $ac_status" >&5
+  echo "$as_me:14558: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -14177,7 +14572,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:14180: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:14575: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -14196,7 +14591,7 @@ fi
 
 }
 
-echo "$as_me:14199: checking for $cf_ncuhdr_root header in include-path" >&5
+echo "$as_me:14594: checking for $cf_ncuhdr_root header in include-path" >&5
 echo $ECHO_N "checking for $cf_ncuhdr_root header in include-path... $ECHO_C" >&6
 if test "${cf_cv_ncurses_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -14208,7 +14603,7 @@ else
 	do
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 14211 "configure"
+#line 14606 "configure"
 #include "confdefs.h"
 
 #include <$cf_header>
@@ -14232,16 +14627,16 @@ printf("old\\n");
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:14235: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:14630: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:14238: \$? = $ac_status" >&5
+  echo "$as_me:14633: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:14241: \"$ac_try\"") >&5
+  { (eval echo "$as_me:14636: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:14244: \$? = $ac_status" >&5
+  echo "$as_me:14639: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_ncurses_h=$cf_header
 
@@ -14256,14 +14651,14 @@ rm -f "conftest.$ac_objext" "conftest.$a
 	done
 
 fi
-echo "$as_me:14259: result: $cf_cv_ncurses_h" >&5
+echo "$as_me:14654: result: $cf_cv_ncurses_h" >&5
 echo "${ECHO_T}$cf_cv_ncurses_h" >&6
 
 if test "$cf_cv_ncurses_h" != no ; then
 	cf_cv_ncurses_header=$cf_cv_ncurses_h
 else
 
-echo "$as_me:14266: checking for $cf_ncuhdr_root include-path" >&5
+echo "$as_me:14661: checking for $cf_ncuhdr_root include-path" >&5
 echo $ECHO_N "checking for $cf_ncuhdr_root include-path... $ECHO_C" >&6
 if test "${cf_cv_ncurses_h2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -14384,7 +14779,7 @@ if test -n "$cf_incdir" ; then
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 14387 "configure"
+#line 14782 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -14396,16 +14791,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:14399: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:14794: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:14402: \$? = $ac_status" >&5
+  echo "$as_me:14797: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:14405: \"$ac_try\"") >&5
+  { (eval echo "$as_me:14800: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:14408: \$? = $ac_status" >&5
+  echo "$as_me:14803: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -14422,7 +14817,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:14425: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:14820: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -14445,7 +14840,7 @@ fi
 		do
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 14448 "configure"
+#line 14843 "configure"
 #include "confdefs.h"
 
 #include <$cf_header>
@@ -14469,16 +14864,16 @@ printf("old\\n");
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:14472: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:14867: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:14475: \$? = $ac_status" >&5
+  echo "$as_me:14870: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:14478: \"$ac_try\"") >&5
+  { (eval echo "$as_me:14873: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:14481: \$? = $ac_status" >&5
+  echo "$as_me:14876: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_ncurses_h2=$cf_header
 
@@ -14499,12 +14894,12 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		CPPFLAGS="$cf_save2_CPPFLAGS"
 		test "$cf_cv_ncurses_h2" != no && break
 	done
-	test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:14502: error: not found" >&5
+	test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:14897: error: not found" >&5
 echo "$as_me: error: not found" >&2;}
    { (exit 1); exit 1; }; }
 
 fi
-echo "$as_me:14507: result: $cf_cv_ncurses_h2" >&5
+echo "$as_me:14902: result: $cf_cv_ncurses_h2" >&5
 echo "${ECHO_T}$cf_cv_ncurses_h2" >&6
 
 	cf_1st_incdir=`echo "$cf_cv_ncurses_h2" | sed -e 's%/[^/]*$%%'`
@@ -14540,7 +14935,7 @@ if test -n "$cf_1st_incdir" ; then
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 14543 "configure"
+#line 14938 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -14552,16 +14947,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:14555: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:14950: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:14558: \$? = $ac_status" >&5
+  echo "$as_me:14953: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:14561: \"$ac_try\"") >&5
+  { (eval echo "$as_me:14956: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:14564: \$? = $ac_status" >&5
+  echo "$as_me:14959: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -14578,7 +14973,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:14581: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:14976: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -14626,7 +15021,7 @@ EOF
 	;;
 esac
 
-echo "$as_me:14629: checking for terminfo header" >&5
+echo "$as_me:15024: checking for terminfo header" >&5
 echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
 if test "${cf_cv_term_header+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -14644,7 +15039,7 @@ esac
 for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
 do
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 14647 "configure"
+#line 15042 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <${cf_cv_ncurses_header:-curses.h}>
@@ -14659,16 +15054,16 @@ int x = auto_left_margin; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:14662: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:15057: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:14665: \$? = $ac_status" >&5
+  echo "$as_me:15060: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:14668: \"$ac_try\"") >&5
+  { (eval echo "$as_me:15063: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:14671: \$? = $ac_status" >&5
+  echo "$as_me:15066: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 	cf_cv_term_header="$cf_test"
@@ -14684,7 +15079,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 done
 
 fi
-echo "$as_me:14687: result: $cf_cv_term_header" >&5
+echo "$as_me:15082: result: $cf_cv_term_header" >&5
 echo "${ECHO_T}$cf_cv_term_header" >&6
 
 # Set definitions to allow ifdef'ing to accommodate subdirectories
@@ -14722,7 +15117,7 @@ cat >>confdefs.h <<\EOF
 #define NCURSES 1
 EOF
 
-echo "$as_me:14725: checking for ncurses version" >&5
+echo "$as_me:15120: checking for ncurses version" >&5
 echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6
 if test "${cf_cv_ncurses_version+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -14748,10 +15143,10 @@ Autoconf "old"
 #endif
 EOF
 	cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
-	{ (eval echo "$as_me:14751: \"$cf_try\"") >&5
+	{ (eval echo "$as_me:15146: \"$cf_try\"") >&5
   (eval $cf_try) 2>&5
   ac_status=$?
-  echo "$as_me:14754: \$? = $ac_status" >&5
+  echo "$as_me:15149: \$? = $ac_status" >&5
   (exit "$ac_status"); }
 	if test -f conftest.out ; then
 		cf_out=`sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%' conftest.out`
@@ -14761,7 +15156,7 @@ EOF
 
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 14764 "configure"
+#line 15159 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -14781,22 +15176,22 @@ int main(void)
 # ifdef __NCURSES_H
 	fprintf(fp, "old\\n");
 # else
-	make an error
+	#error expected ncurses header to define __NCURSES_H
 # endif
 #endif
 	${cf_cv_main_return:-return}(0);
 }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:14791: \"$ac_link\"") >&5
+if { (eval echo "$as_me:15186: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:14794: \$? = $ac_status" >&5
+  echo "$as_me:15189: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:14796: \"$ac_try\"") >&5
+  { (eval echo "$as_me:15191: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:14799: \$? = $ac_status" >&5
+  echo "$as_me:15194: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 	cf_cv_ncurses_version=`cat $cf_tempfile`
@@ -14810,7 +15205,7 @@ fi
 	rm -f "$cf_tempfile"
 
 fi
-echo "$as_me:14813: result: $cf_cv_ncurses_version" >&5
+echo "$as_me:15208: result: $cf_cv_ncurses_version" >&5
 echo "${ECHO_T}$cf_cv_ncurses_version" >&6
 test "$cf_cv_ncurses_version" = no ||
 cat >>confdefs.h <<\EOF
@@ -14823,7 +15218,7 @@ cf_nculib_root=ncurses
 	# to link gpm.
 cf_ncurses_LIBS=""
 cf_ncurses_SAVE="$LIBS"
-echo "$as_me:14826: checking for Gpm_Open in -lgpm" >&5
+echo "$as_me:15221: checking for Gpm_Open in -lgpm" >&5
 echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6
 if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -14831,7 +15226,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lgpm  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 14834 "configure"
+#line 15229 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -14850,16 +15245,16 @@ Gpm_Open ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:14853: \"$ac_link\"") >&5
+if { (eval echo "$as_me:15248: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:14856: \$? = $ac_status" >&5
+  echo "$as_me:15251: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:14859: \"$ac_try\"") >&5
+  { (eval echo "$as_me:15254: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:14862: \$? = $ac_status" >&5
+  echo "$as_me:15257: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_gpm_Gpm_Open=yes
 else
@@ -14870,10 +15265,10 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:14873: result: $ac_cv_lib_gpm_Gpm_Open" >&5
+echo "$as_me:15268: result: $ac_cv_lib_gpm_Gpm_Open" >&5
 echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6
 if test "$ac_cv_lib_gpm_Gpm_Open" = yes; then
-  echo "$as_me:14876: checking for initscr in -lgpm" >&5
+  echo "$as_me:15271: checking for initscr in -lgpm" >&5
 echo $ECHO_N "checking for initscr in -lgpm... $ECHO_C" >&6
 if test "${ac_cv_lib_gpm_initscr+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -14881,7 +15276,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lgpm  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 14884 "configure"
+#line 15279 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -14900,16 +15295,16 @@ initscr ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:14903: \"$ac_link\"") >&5
+if { (eval echo "$as_me:15298: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:14906: \$? = $ac_status" >&5
+  echo "$as_me:15301: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:14909: \"$ac_try\"") >&5
+  { (eval echo "$as_me:15304: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:14912: \$? = $ac_status" >&5
+  echo "$as_me:15307: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_gpm_initscr=yes
 else
@@ -14920,7 +15315,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:14923: result: $ac_cv_lib_gpm_initscr" >&5
+echo "$as_me:15318: result: $ac_cv_lib_gpm_initscr" >&5
 echo "${ECHO_T}$ac_cv_lib_gpm_initscr" >&6
 if test "$ac_cv_lib_gpm_initscr" = yes; then
   LIBS="$cf_ncurses_SAVE"
@@ -14935,7 +15330,7 @@ freebsd*)
 	# This is only necessary if you are linking against an obsolete
 	# version of ncurses (but it should do no harm, since it is static).
 	if test "$cf_nculib_root" = ncurses ; then
-		echo "$as_me:14938: checking for tgoto in -lmytinfo" >&5
+		echo "$as_me:15333: checking for tgoto in -lmytinfo" >&5
 echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6
 if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -14943,7 +15338,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lmytinfo  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 14946 "configure"
+#line 15341 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -14962,16 +15357,16 @@ tgoto ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:14965: \"$ac_link\"") >&5
+if { (eval echo "$as_me:15360: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:14968: \$? = $ac_status" >&5
+  echo "$as_me:15363: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:14971: \"$ac_try\"") >&5
+  { (eval echo "$as_me:15366: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:14974: \$? = $ac_status" >&5
+  echo "$as_me:15369: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_mytinfo_tgoto=yes
 else
@@ -14982,7 +15377,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:14985: result: $ac_cv_lib_mytinfo_tgoto" >&5
+echo "$as_me:15380: result: $ac_cv_lib_mytinfo_tgoto" >&5
 echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6
 if test "$ac_cv_lib_mytinfo_tgoto" = yes; then
   cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
@@ -15031,13 +15426,13 @@ else
 
 	eval 'cf_cv_have_lib_'"$cf_nculib_root"'=no'
 	cf_libdir=""
-	echo "$as_me:15034: checking for initscr" >&5
+	echo "$as_me:15429: checking for initscr" >&5
 echo $ECHO_N "checking for initscr... $ECHO_C" >&6
 if test "${ac_cv_func_initscr+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 15040 "configure"
+#line 15435 "configure"
 #include "confdefs.h"
 #define initscr autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -15068,16 +15463,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:15071: \"$ac_link\"") >&5
+if { (eval echo "$as_me:15466: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:15074: \$? = $ac_status" >&5
+  echo "$as_me:15469: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:15077: \"$ac_try\"") >&5
+  { (eval echo "$as_me:15472: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:15080: \$? = $ac_status" >&5
+  echo "$as_me:15475: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_initscr=yes
 else
@@ -15087,18 +15482,18 @@ ac_cv_func_initscr=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:15090: result: $ac_cv_func_initscr" >&5
+echo "$as_me:15485: result: $ac_cv_func_initscr" >&5
 echo "${ECHO_T}$ac_cv_func_initscr" >&6
 if test "$ac_cv_func_initscr" = yes; then
   eval 'cf_cv_have_lib_'"$cf_nculib_root"'=yes'
 else
 
 		cf_save_LIBS="$LIBS"
-		echo "$as_me:15097: checking for initscr in -l$cf_nculib_root" >&5
+		echo "$as_me:15492: checking for initscr in -l$cf_nculib_root" >&5
 echo $ECHO_N "checking for initscr in -l$cf_nculib_root... $ECHO_C" >&6
 		LIBS="-l$cf_nculib_root $LIBS"
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 15101 "configure"
+#line 15496 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 int
@@ -15110,25 +15505,25 @@ initscr()
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:15113: \"$ac_link\"") >&5
+if { (eval echo "$as_me:15508: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:15116: \$? = $ac_status" >&5
+  echo "$as_me:15511: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:15119: \"$ac_try\"") >&5
+  { (eval echo "$as_me:15514: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:15122: \$? = $ac_status" >&5
+  echo "$as_me:15517: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
-  echo "$as_me:15124: result: yes" >&5
+  echo "$as_me:15519: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 			 eval 'cf_cv_have_lib_'"$cf_nculib_root"'=yes'
 
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
-echo "$as_me:15131: result: no" >&5
+echo "$as_me:15526: result: no" >&5
 echo "${ECHO_T}no" >&6
 
 cf_search=
@@ -15196,11 +15591,11 @@ cf_search="$cf_library_path_list $cf_sea
 
 			for cf_libdir in $cf_search
 			do
-				echo "$as_me:15199: checking for -l$cf_nculib_root in $cf_libdir" >&5
+				echo "$as_me:15594: checking for -l$cf_nculib_root in $cf_libdir" >&5
 echo $ECHO_N "checking for -l$cf_nculib_root in $cf_libdir... $ECHO_C" >&6
 				LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
 				cat >"conftest.$ac_ext" <<_ACEOF
-#line 15203 "configure"
+#line 15598 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 int
@@ -15212,25 +15607,25 @@ initscr()
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:15215: \"$ac_link\"") >&5
+if { (eval echo "$as_me:15610: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:15218: \$? = $ac_status" >&5
+  echo "$as_me:15613: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:15221: \"$ac_try\"") >&5
+  { (eval echo "$as_me:15616: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:15224: \$? = $ac_status" >&5
+  echo "$as_me:15619: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
-  echo "$as_me:15226: result: yes" >&5
+  echo "$as_me:15621: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 			 		 eval 'cf_cv_have_lib_'"$cf_nculib_root"'=yes'
 					 break
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
-echo "$as_me:15233: result: no" >&5
+echo "$as_me:15628: result: no" >&5
 echo "${ECHO_T}no" >&6
 					 LIBS="$cf_save_LIBS"
 fi
@@ -15245,7 +15640,7 @@ fi
 eval 'cf_found_library="$cf_cv_have_lib_'"$cf_nculib_root"\"
 
 if test "$cf_found_library" = no ; then
-	{ { echo "$as_me:15248: error: Cannot link $cf_nculib_root library" >&5
+	{ { echo "$as_me:15643: error: Cannot link $cf_nculib_root library" >&5
 echo "$as_me: error: Cannot link $cf_nculib_root library" >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -15253,7 +15648,7 @@ fi
 fi
 
 if test -n "$cf_ncurses_LIBS" ; then
-	echo "$as_me:15256: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
+	echo "$as_me:15651: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
 echo $ECHO_N "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS... $ECHO_C" >&6
 	cf_ncurses_SAVE="$LIBS"
 	for p in $cf_ncurses_LIBS ; do
@@ -15263,7 +15658,7 @@ echo $ECHO_N "checking if we can link $c
 		fi
 	done
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 15266 "configure"
+#line 15661 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 int
@@ -15275,23 +15670,23 @@ initscr(); mousemask(0,0); tigetstr((cha
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:15278: \"$ac_link\"") >&5
+if { (eval echo "$as_me:15673: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:15281: \$? = $ac_status" >&5
+  echo "$as_me:15676: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:15284: \"$ac_try\"") >&5
+  { (eval echo "$as_me:15679: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:15287: \$? = $ac_status" >&5
+  echo "$as_me:15682: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
-  echo "$as_me:15289: result: yes" >&5
+  echo "$as_me:15684: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
-echo "$as_me:15294: result: no" >&5
+echo "$as_me:15689: result: no" >&5
 echo "${ECHO_T}no" >&6
 		 LIBS="$cf_ncurses_SAVE"
 fi
@@ -15314,23 +15709,23 @@ fi
 
 for cf_hdr in stdlib.h wchar.h wctype.h
 do
-	echo "$as_me:15317: checking for $cf_hdr" >&5
+	echo "$as_me:15712: checking for $cf_hdr" >&5
 echo $ECHO_N "checking for $cf_hdr... $ECHO_C" >&6
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 15320 "configure"
+#line 15715 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
 #include <$cf_hdr>
 
 _ACEOF
-if { (eval echo "$as_me:15327: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:15722: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:15333: \$? = $ac_status" >&5
+  echo "$as_me:15728: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -15348,7 +15743,7 @@ else
   cf_found=no
 fi
 rm -f conftest.err "conftest.$ac_ext"
-echo "$as_me:15351: result: $cf_found" >&5
+echo "$as_me:15746: result: $cf_found" >&5
 echo "${ECHO_T}$cf_found" >&6
 if test $cf_found = yes ; then
 
@@ -15361,13 +15756,13 @@ EOF
 fi
 done
 
-  echo "$as_me:15364: checking for wide char and multibyte support" >&5
+  echo "$as_me:15759: checking for wide char and multibyte support" >&5
 echo $ECHO_N "checking for wide char and multibyte support... $ECHO_C" >&6
 if test "${am_cv_multibyte_able+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 15370 "configure"
+#line 15765 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #ifdef HAVE_STDLIB_H
@@ -15426,16 +15821,16 @@ const char icb[5] = {0xa4, 0xa4, 0xa4, 0
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:15429: \"$ac_link\"") >&5
+if { (eval echo "$as_me:15824: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:15432: \$? = $ac_status" >&5
+  echo "$as_me:15827: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:15435: \"$ac_try\"") >&5
+  { (eval echo "$as_me:15830: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:15438: \$? = $ac_status" >&5
+  echo "$as_me:15833: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   am_cv_multibyte_able=yes
 else
@@ -15444,7 +15839,7 @@ cat "conftest.$ac_ext" >&5
 cf_save_LIBS="$LIBS"
       LIBS="-lutf8 $LIBS"
       cat >"conftest.$ac_ext" <<_ACEOF
-#line 15447 "configure"
+#line 15842 "configure"
 #include "confdefs.h"
 #include <libutf8.h>
 int
@@ -15493,16 +15888,16 @@ const char icb[5] = {0xa4, 0xa4, 0xa4, 0
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:15496: \"$ac_link\"") >&5
+if { (eval echo "$as_me:15891: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:15499: \$? = $ac_status" >&5
+  echo "$as_me:15894: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:15502: \"$ac_try\"") >&5
+  { (eval echo "$as_me:15897: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:15505: \$? = $ac_status" >&5
+  echo "$as_me:15900: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   am_cv_multibyte_able=libutf8
 else
@@ -15517,7 +15912,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:15520: result: $am_cv_multibyte_able" >&5
+echo "$as_me:15915: result: $am_cv_multibyte_able" >&5
 echo "${ECHO_T}$am_cv_multibyte_able" >&6
   if test "$am_cv_multibyte_able" != no; then
     if test "$am_cv_multibyte_able" = libutf8; then
@@ -15539,13 +15934,13 @@ cf_ncuconfig_root=ncursesw
 cf_have_ncuconfig=no
 
 if test "x${PKG_CONFIG:=none}" != xnone; then
-	echo "$as_me:15542: checking pkg-config for $cf_ncuconfig_root" >&5
+	echo "$as_me:15937: checking pkg-config for $cf_ncuconfig_root" >&5
 echo $ECHO_N "checking pkg-config for $cf_ncuconfig_root... $ECHO_C" >&6
 	if "$PKG_CONFIG" --exists $cf_ncuconfig_root ; then
-		echo "$as_me:15545: result: yes" >&5
+		echo "$as_me:15940: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 
-		echo "$as_me:15548: checking if the $cf_ncuconfig_root package files work" >&5
+		echo "$as_me:15943: checking if the $cf_ncuconfig_root package files work" >&5
 echo $ECHO_N "checking if the $cf_ncuconfig_root package files work... $ECHO_C" >&6
 		cf_have_ncuconfig=unknown
 
@@ -15678,7 +16073,7 @@ done
 LIBS="$cf_add_libs"
 
 			cat >"conftest.$ac_ext" <<_ACEOF
-#line 15681 "configure"
+#line 16076 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 int
@@ -15690,37 +16085,37 @@ initscr(); mousemask(0,0); tigetstr((cha
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:15693: \"$ac_link\"") >&5
+if { (eval echo "$as_me:16088: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:15696: \$? = $ac_status" >&5
+  echo "$as_me:16091: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:15699: \"$ac_try\"") >&5
+  { (eval echo "$as_me:16094: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:15702: \$? = $ac_status" >&5
+  echo "$as_me:16097: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   if test "$cross_compiling" = yes; then
   cf_test_ncuconfig=maybe
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 15708 "configure"
+#line 16103 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 					int main(void)
 					{ const char *xx = curses_version(); return (xx == 0); }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:15715: \"$ac_link\"") >&5
+if { (eval echo "$as_me:16110: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:15718: \$? = $ac_status" >&5
+  echo "$as_me:16113: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:15720: \"$ac_try\"") >&5
+  { (eval echo "$as_me:16115: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:15723: \$? = $ac_status" >&5
+  echo "$as_me:16118: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_test_ncuconfig=yes
 else
@@ -15894,7 +16289,7 @@ done
 LIBS="$cf_add_libs"
 
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 15897 "configure"
+#line 16292 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 int
@@ -15906,37 +16301,37 @@ initscr(); mousemask(0,0); tigetstr((cha
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:15909: \"$ac_link\"") >&5
+if { (eval echo "$as_me:16304: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:15912: \$? = $ac_status" >&5
+  echo "$as_me:16307: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:15915: \"$ac_try\"") >&5
+  { (eval echo "$as_me:16310: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:15918: \$? = $ac_status" >&5
+  echo "$as_me:16313: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   if test "$cross_compiling" = yes; then
   cf_have_ncuconfig=maybe
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 15924 "configure"
+#line 16319 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 				int main(void)
 				{ const char *xx = curses_version(); return (xx == 0); }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:15931: \"$ac_link\"") >&5
+if { (eval echo "$as_me:16326: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:15934: \$? = $ac_status" >&5
+  echo "$as_me:16329: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:15936: \"$ac_try\"") >&5
+  { (eval echo "$as_me:16331: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:15939: \$? = $ac_status" >&5
+  echo "$as_me:16334: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_have_ncuconfig=yes
 else
@@ -15953,7 +16348,7 @@ cat "conftest.$ac_ext" >&5
 cf_have_ncuconfig=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
-		echo "$as_me:15956: result: $cf_have_ncuconfig" >&5
+		echo "$as_me:16351: result: $cf_have_ncuconfig" >&5
 echo "${ECHO_T}$cf_have_ncuconfig" >&6
 		test "$cf_have_ncuconfig" = maybe && cf_have_ncuconfig=yes
 		if test "$cf_have_ncuconfig" != "yes"
@@ -15969,7 +16364,7 @@ EOF
 
 			NCURSES_CONFIG_PKG=$cf_ncuconfig_root
 
-echo "$as_me:15972: checking for terminfo header" >&5
+echo "$as_me:16367: checking for terminfo header" >&5
 echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
 if test "${cf_cv_term_header+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -15987,7 +16382,7 @@ esac
 for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
 do
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 15990 "configure"
+#line 16385 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <${cf_cv_ncurses_header:-curses.h}>
@@ -16002,16 +16397,16 @@ int x = auto_left_margin; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:16005: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:16400: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:16008: \$? = $ac_status" >&5
+  echo "$as_me:16403: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:16011: \"$ac_try\"") >&5
+  { (eval echo "$as_me:16406: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:16014: \$? = $ac_status" >&5
+  echo "$as_me:16409: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 	cf_cv_term_header="$cf_test"
@@ -16027,7 +16422,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 done
 
 fi
-echo "$as_me:16030: result: $cf_cv_term_header" >&5
+echo "$as_me:16425: result: $cf_cv_term_header" >&5
 echo "${ECHO_T}$cf_cv_term_header" >&6
 
 # Set definitions to allow ifdef'ing to accommodate subdirectories
@@ -16062,7 +16457,7 @@ esac
 		fi
 
 	else
-		echo "$as_me:16065: result: no" >&5
+		echo "$as_me:16460: result: no" >&5
 echo "${ECHO_T}no" >&6
 		NCURSES_CONFIG_PKG=none
 	fi
@@ -16078,7 +16473,7 @@ if test -n "$ac_tool_prefix"; then
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:16081: checking for $ac_word" >&5
+echo "$as_me:16476: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_NCURSES_CONFIG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -16093,7 +16488,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_NCURSES_CONFIG="$ac_tool_prefix$ac_prog"
-echo "$as_me:16096: found $ac_dir/$ac_word" >&5
+echo "$as_me:16491: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -16101,10 +16496,10 @@ fi
 fi
 NCURSES_CONFIG=$ac_cv_prog_NCURSES_CONFIG
 if test -n "$NCURSES_CONFIG"; then
-  echo "$as_me:16104: result: $NCURSES_CONFIG" >&5
+  echo "$as_me:16499: result: $NCURSES_CONFIG" >&5
 echo "${ECHO_T}$NCURSES_CONFIG" >&6
 else
-  echo "$as_me:16107: result: no" >&5
+  echo "$as_me:16502: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -16117,7 +16512,7 @@ if test -z "$NCURSES_CONFIG"; then
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:16120: checking for $ac_word" >&5
+echo "$as_me:16515: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_ac_ct_NCURSES_CONFIG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -16132,7 +16527,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_prog"
-echo "$as_me:16135: found $ac_dir/$ac_word" >&5
+echo "$as_me:16530: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -16140,10 +16535,10 @@ fi
 fi
 ac_ct_NCURSES_CONFIG=$ac_cv_prog_ac_ct_NCURSES_CONFIG
 if test -n "$ac_ct_NCURSES_CONFIG"; then
-  echo "$as_me:16143: result: $ac_ct_NCURSES_CONFIG" >&5
+  echo "$as_me:16538: result: $ac_ct_NCURSES_CONFIG" >&5
 echo "${ECHO_T}$ac_ct_NCURSES_CONFIG" >&6
 else
-  echo "$as_me:16146: result: no" >&5
+  echo "$as_me:16541: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -16300,7 +16695,7 @@ LIBS="$cf_add_libs"
 
 		# even with config script, some packages use no-override for curses.h
 
-echo "$as_me:16303: checking if we have identified curses headers" >&5
+echo "$as_me:16698: checking if we have identified curses headers" >&5
 echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
 if test "${cf_cv_ncurses_header+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -16312,7 +16707,7 @@ for cf_header in \
 	curses.h ncursesw/curses.h
 do
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 16315 "configure"
+#line 16710 "configure"
 #include "confdefs.h"
 #include <${cf_header}>
 int
@@ -16324,16 +16719,16 @@ initscr(); endwin()
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:16327: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:16722: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:16330: \$? = $ac_status" >&5
+  echo "$as_me:16725: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:16333: \"$ac_try\"") >&5
+  { (eval echo "$as_me:16728: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:16336: \$? = $ac_status" >&5
+  echo "$as_me:16731: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_ncurses_header=$cf_header; break
 else
@@ -16344,11 +16739,11 @@ rm -f "conftest.$ac_objext" "conftest.$a
 done
 
 fi
-echo "$as_me:16347: result: $cf_cv_ncurses_header" >&5
+echo "$as_me:16742: result: $cf_cv_ncurses_header" >&5
 echo "${ECHO_T}$cf_cv_ncurses_header" >&6
 
 if test "$cf_cv_ncurses_header" = none ; then
-	{ { echo "$as_me:16351: error: No curses header-files found" >&5
+	{ { echo "$as_me:16746: error: No curses header-files found" >&5
 echo "$as_me: error: No curses header-files found" >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -16358,23 +16753,23 @@ fi
 for ac_header in $cf_cv_ncurses_header
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:16361: checking for $ac_header" >&5
+echo "$as_me:16756: checking for $ac_header" >&5
 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 16367 "configure"
+#line 16762 "configure"
 #include "confdefs.h"
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:16371: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:16766: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:16377: \$? = $ac_status" >&5
+  echo "$as_me:16772: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -16393,7 +16788,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:16396: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:16791: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -16449,7 +16844,7 @@ if test -n "$cf_cv_curses_dir/include/$c
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 16452 "configure"
+#line 16847 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -16461,16 +16856,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:16464: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:16859: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:16467: \$? = $ac_status" >&5
+  echo "$as_me:16862: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:16470: \"$ac_try\"") >&5
+  { (eval echo "$as_me:16865: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:16473: \$? = $ac_status" >&5
+  echo "$as_me:16868: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -16487,7 +16882,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:16490: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:16885: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -16506,7 +16901,7 @@ fi
 
 }
 
-echo "$as_me:16509: checking for $cf_ncuhdr_root header in include-path" >&5
+echo "$as_me:16904: checking for $cf_ncuhdr_root header in include-path" >&5
 echo $ECHO_N "checking for $cf_ncuhdr_root header in include-path... $ECHO_C" >&6
 if test "${cf_cv_ncurses_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -16518,7 +16913,7 @@ else
 	do
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 16521 "configure"
+#line 16916 "configure"
 #include "confdefs.h"
 
 #define _XOPEN_SOURCE_EXTENDED
@@ -16550,16 +16945,16 @@ printf("old\\n");
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:16553: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:16948: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:16556: \$? = $ac_status" >&5
+  echo "$as_me:16951: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:16559: \"$ac_try\"") >&5
+  { (eval echo "$as_me:16954: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:16562: \$? = $ac_status" >&5
+  echo "$as_me:16957: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_ncurses_h=$cf_header
 
@@ -16574,14 +16969,14 @@ rm -f "conftest.$ac_objext" "conftest.$a
 	done
 
 fi
-echo "$as_me:16577: result: $cf_cv_ncurses_h" >&5
+echo "$as_me:16972: result: $cf_cv_ncurses_h" >&5
 echo "${ECHO_T}$cf_cv_ncurses_h" >&6
 
 if test "$cf_cv_ncurses_h" != no ; then
 	cf_cv_ncurses_header=$cf_cv_ncurses_h
 else
 
-echo "$as_me:16584: checking for $cf_ncuhdr_root include-path" >&5
+echo "$as_me:16979: checking for $cf_ncuhdr_root include-path" >&5
 echo $ECHO_N "checking for $cf_ncuhdr_root include-path... $ECHO_C" >&6
 if test "${cf_cv_ncurses_h2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -16702,7 +17097,7 @@ if test -n "$cf_incdir" ; then
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 16705 "configure"
+#line 17100 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -16714,16 +17109,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:16717: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:17112: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:16720: \$? = $ac_status" >&5
+  echo "$as_me:17115: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:16723: \"$ac_try\"") >&5
+  { (eval echo "$as_me:17118: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:16726: \$? = $ac_status" >&5
+  echo "$as_me:17121: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -16740,7 +17135,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:16743: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:17138: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -16763,7 +17158,7 @@ fi
 		do
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 16766 "configure"
+#line 17161 "configure"
 #include "confdefs.h"
 
 #include <$cf_header>
@@ -16787,16 +17182,16 @@ printf("old\\n");
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:16790: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:17185: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:16793: \$? = $ac_status" >&5
+  echo "$as_me:17188: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:16796: \"$ac_try\"") >&5
+  { (eval echo "$as_me:17191: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:16799: \$? = $ac_status" >&5
+  echo "$as_me:17194: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_ncurses_h2=$cf_header
 
@@ -16817,12 +17212,12 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		CPPFLAGS="$cf_save2_CPPFLAGS"
 		test "$cf_cv_ncurses_h2" != no && break
 	done
-	test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:16820: error: not found" >&5
+	test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:17215: error: not found" >&5
 echo "$as_me: error: not found" >&2;}
    { (exit 1); exit 1; }; }
 
 fi
-echo "$as_me:16825: result: $cf_cv_ncurses_h2" >&5
+echo "$as_me:17220: result: $cf_cv_ncurses_h2" >&5
 echo "${ECHO_T}$cf_cv_ncurses_h2" >&6
 
 	cf_1st_incdir=`echo "$cf_cv_ncurses_h2" | sed -e 's%/[^/]*$%%'`
@@ -16858,7 +17253,7 @@ if test -n "$cf_1st_incdir" ; then
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 16861 "configure"
+#line 17256 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -16870,16 +17265,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:16873: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:17268: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:16876: \$? = $ac_status" >&5
+  echo "$as_me:17271: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:16879: \"$ac_try\"") >&5
+  { (eval echo "$as_me:17274: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:16882: \$? = $ac_status" >&5
+  echo "$as_me:17277: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -16896,7 +17291,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:16899: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:17294: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -16944,7 +17339,7 @@ EOF
 	;;
 esac
 
-echo "$as_me:16947: checking for terminfo header" >&5
+echo "$as_me:17342: checking for terminfo header" >&5
 echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
 if test "${cf_cv_term_header+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -16962,7 +17357,7 @@ esac
 for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
 do
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 16965 "configure"
+#line 17360 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <${cf_cv_ncurses_header:-curses.h}>
@@ -16977,16 +17372,16 @@ int x = auto_left_margin; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:16980: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:17375: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:16983: \$? = $ac_status" >&5
+  echo "$as_me:17378: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:16986: \"$ac_try\"") >&5
+  { (eval echo "$as_me:17381: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:16989: \$? = $ac_status" >&5
+  echo "$as_me:17384: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 	cf_cv_term_header="$cf_test"
@@ -17002,7 +17397,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 done
 
 fi
-echo "$as_me:17005: result: $cf_cv_term_header" >&5
+echo "$as_me:17400: result: $cf_cv_term_header" >&5
 echo "${ECHO_T}$cf_cv_term_header" >&6
 
 # Set definitions to allow ifdef'ing to accommodate subdirectories
@@ -17040,7 +17435,7 @@ cat >>confdefs.h <<\EOF
 #define NCURSES 1
 EOF
 
-echo "$as_me:17043: checking for ncurses version" >&5
+echo "$as_me:17438: checking for ncurses version" >&5
 echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6
 if test "${cf_cv_ncurses_version+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -17066,10 +17461,10 @@ Autoconf "old"
 #endif
 EOF
 	cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
-	{ (eval echo "$as_me:17069: \"$cf_try\"") >&5
+	{ (eval echo "$as_me:17464: \"$cf_try\"") >&5
   (eval $cf_try) 2>&5
   ac_status=$?
-  echo "$as_me:17072: \$? = $ac_status" >&5
+  echo "$as_me:17467: \$? = $ac_status" >&5
   (exit "$ac_status"); }
 	if test -f conftest.out ; then
 		cf_out=`sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%' conftest.out`
@@ -17079,7 +17474,7 @@ EOF
 
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 17082 "configure"
+#line 17477 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -17099,22 +17494,22 @@ int main(void)
 # ifdef __NCURSES_H
 	fprintf(fp, "old\\n");
 # else
-	make an error
+	#error expected ncurses header to define __NCURSES_H
 # endif
 #endif
 	${cf_cv_main_return:-return}(0);
 }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:17109: \"$ac_link\"") >&5
+if { (eval echo "$as_me:17504: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:17112: \$? = $ac_status" >&5
+  echo "$as_me:17507: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:17114: \"$ac_try\"") >&5
+  { (eval echo "$as_me:17509: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:17117: \$? = $ac_status" >&5
+  echo "$as_me:17512: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 	cf_cv_ncurses_version=`cat $cf_tempfile`
@@ -17128,7 +17523,7 @@ fi
 	rm -f "$cf_tempfile"
 
 fi
-echo "$as_me:17131: result: $cf_cv_ncurses_version" >&5
+echo "$as_me:17526: result: $cf_cv_ncurses_version" >&5
 echo "${ECHO_T}$cf_cv_ncurses_version" >&6
 test "$cf_cv_ncurses_version" = no ||
 cat >>confdefs.h <<\EOF
@@ -17141,7 +17536,7 @@ cf_nculib_root=ncursesw
 	# to link gpm.
 cf_ncurses_LIBS=""
 cf_ncurses_SAVE="$LIBS"
-echo "$as_me:17144: checking for Gpm_Open in -lgpm" >&5
+echo "$as_me:17539: checking for Gpm_Open in -lgpm" >&5
 echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6
 if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -17149,7 +17544,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lgpm  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 17152 "configure"
+#line 17547 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -17168,16 +17563,16 @@ Gpm_Open ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:17171: \"$ac_link\"") >&5
+if { (eval echo "$as_me:17566: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:17174: \$? = $ac_status" >&5
+  echo "$as_me:17569: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:17177: \"$ac_try\"") >&5
+  { (eval echo "$as_me:17572: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:17180: \$? = $ac_status" >&5
+  echo "$as_me:17575: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_gpm_Gpm_Open=yes
 else
@@ -17188,10 +17583,10 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:17191: result: $ac_cv_lib_gpm_Gpm_Open" >&5
+echo "$as_me:17586: result: $ac_cv_lib_gpm_Gpm_Open" >&5
 echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6
 if test "$ac_cv_lib_gpm_Gpm_Open" = yes; then
-  echo "$as_me:17194: checking for initscr in -lgpm" >&5
+  echo "$as_me:17589: checking for initscr in -lgpm" >&5
 echo $ECHO_N "checking for initscr in -lgpm... $ECHO_C" >&6
 if test "${ac_cv_lib_gpm_initscr+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -17199,7 +17594,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lgpm  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 17202 "configure"
+#line 17597 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -17218,16 +17613,16 @@ initscr ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:17221: \"$ac_link\"") >&5
+if { (eval echo "$as_me:17616: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:17224: \$? = $ac_status" >&5
+  echo "$as_me:17619: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:17227: \"$ac_try\"") >&5
+  { (eval echo "$as_me:17622: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:17230: \$? = $ac_status" >&5
+  echo "$as_me:17625: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_gpm_initscr=yes
 else
@@ -17238,7 +17633,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:17241: result: $ac_cv_lib_gpm_initscr" >&5
+echo "$as_me:17636: result: $ac_cv_lib_gpm_initscr" >&5
 echo "${ECHO_T}$ac_cv_lib_gpm_initscr" >&6
 if test "$ac_cv_lib_gpm_initscr" = yes; then
   LIBS="$cf_ncurses_SAVE"
@@ -17253,7 +17648,7 @@ freebsd*)
 	# This is only necessary if you are linking against an obsolete
 	# version of ncurses (but it should do no harm, since it is static).
 	if test "$cf_nculib_root" = ncurses ; then
-		echo "$as_me:17256: checking for tgoto in -lmytinfo" >&5
+		echo "$as_me:17651: checking for tgoto in -lmytinfo" >&5
 echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6
 if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -17261,7 +17656,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lmytinfo  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 17264 "configure"
+#line 17659 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -17280,16 +17675,16 @@ tgoto ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:17283: \"$ac_link\"") >&5
+if { (eval echo "$as_me:17678: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:17286: \$? = $ac_status" >&5
+  echo "$as_me:17681: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:17289: \"$ac_try\"") >&5
+  { (eval echo "$as_me:17684: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:17292: \$? = $ac_status" >&5
+  echo "$as_me:17687: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_mytinfo_tgoto=yes
 else
@@ -17300,7 +17695,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:17303: result: $ac_cv_lib_mytinfo_tgoto" >&5
+echo "$as_me:17698: result: $ac_cv_lib_mytinfo_tgoto" >&5
 echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6
 if test "$ac_cv_lib_mytinfo_tgoto" = yes; then
   cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
@@ -17349,13 +17744,13 @@ else
 
 	eval 'cf_cv_have_lib_'"$cf_nculib_root"'=no'
 	cf_libdir=""
-	echo "$as_me:17352: checking for initscr" >&5
+	echo "$as_me:17747: checking for initscr" >&5
 echo $ECHO_N "checking for initscr... $ECHO_C" >&6
 if test "${ac_cv_func_initscr+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 17358 "configure"
+#line 17753 "configure"
 #include "confdefs.h"
 #define initscr autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -17386,16 +17781,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:17389: \"$ac_link\"") >&5
+if { (eval echo "$as_me:17784: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:17392: \$? = $ac_status" >&5
+  echo "$as_me:17787: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:17395: \"$ac_try\"") >&5
+  { (eval echo "$as_me:17790: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:17398: \$? = $ac_status" >&5
+  echo "$as_me:17793: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_initscr=yes
 else
@@ -17405,18 +17800,18 @@ ac_cv_func_initscr=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:17408: result: $ac_cv_func_initscr" >&5
+echo "$as_me:17803: result: $ac_cv_func_initscr" >&5
 echo "${ECHO_T}$ac_cv_func_initscr" >&6
 if test "$ac_cv_func_initscr" = yes; then
   eval 'cf_cv_have_lib_'"$cf_nculib_root"'=yes'
 else
 
 		cf_save_LIBS="$LIBS"
-		echo "$as_me:17415: checking for initscr in -l$cf_nculib_root" >&5
+		echo "$as_me:17810: checking for initscr in -l$cf_nculib_root" >&5
 echo $ECHO_N "checking for initscr in -l$cf_nculib_root... $ECHO_C" >&6
 		LIBS="-l$cf_nculib_root $LIBS"
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 17419 "configure"
+#line 17814 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 int
@@ -17428,25 +17823,25 @@ initscr()
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:17431: \"$ac_link\"") >&5
+if { (eval echo "$as_me:17826: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:17434: \$? = $ac_status" >&5
+  echo "$as_me:17829: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:17437: \"$ac_try\"") >&5
+  { (eval echo "$as_me:17832: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:17440: \$? = $ac_status" >&5
+  echo "$as_me:17835: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
-  echo "$as_me:17442: result: yes" >&5
+  echo "$as_me:17837: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 			 eval 'cf_cv_have_lib_'"$cf_nculib_root"'=yes'
 
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
-echo "$as_me:17449: result: no" >&5
+echo "$as_me:17844: result: no" >&5
 echo "${ECHO_T}no" >&6
 
 cf_search=
@@ -17514,11 +17909,11 @@ cf_search="$cf_library_path_list $cf_sea
 
 			for cf_libdir in $cf_search
 			do
-				echo "$as_me:17517: checking for -l$cf_nculib_root in $cf_libdir" >&5
+				echo "$as_me:17912: checking for -l$cf_nculib_root in $cf_libdir" >&5
 echo $ECHO_N "checking for -l$cf_nculib_root in $cf_libdir... $ECHO_C" >&6
 				LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
 				cat >"conftest.$ac_ext" <<_ACEOF
-#line 17521 "configure"
+#line 17916 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 int
@@ -17530,25 +17925,25 @@ initscr()
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:17533: \"$ac_link\"") >&5
+if { (eval echo "$as_me:17928: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:17536: \$? = $ac_status" >&5
+  echo "$as_me:17931: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:17539: \"$ac_try\"") >&5
+  { (eval echo "$as_me:17934: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:17542: \$? = $ac_status" >&5
+  echo "$as_me:17937: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
-  echo "$as_me:17544: result: yes" >&5
+  echo "$as_me:17939: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 			 		 eval 'cf_cv_have_lib_'"$cf_nculib_root"'=yes'
 					 break
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
-echo "$as_me:17551: result: no" >&5
+echo "$as_me:17946: result: no" >&5
 echo "${ECHO_T}no" >&6
 					 LIBS="$cf_save_LIBS"
 fi
@@ -17563,7 +17958,7 @@ fi
 eval 'cf_found_library="$cf_cv_have_lib_'"$cf_nculib_root"\"
 
 if test "$cf_found_library" = no ; then
-	{ { echo "$as_me:17566: error: Cannot link $cf_nculib_root library" >&5
+	{ { echo "$as_me:17961: error: Cannot link $cf_nculib_root library" >&5
 echo "$as_me: error: Cannot link $cf_nculib_root library" >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -17571,7 +17966,7 @@ fi
 fi
 
 if test -n "$cf_ncurses_LIBS" ; then
-	echo "$as_me:17574: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
+	echo "$as_me:17969: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
 echo $ECHO_N "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS... $ECHO_C" >&6
 	cf_ncurses_SAVE="$LIBS"
 	for p in $cf_ncurses_LIBS ; do
@@ -17581,7 +17976,7 @@ echo $ECHO_N "checking if we can link $c
 		fi
 	done
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 17584 "configure"
+#line 17979 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 int
@@ -17593,23 +17988,23 @@ initscr(); mousemask(0,0); tigetstr((cha
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:17596: \"$ac_link\"") >&5
+if { (eval echo "$as_me:17991: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:17599: \$? = $ac_status" >&5
+  echo "$as_me:17994: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:17602: \"$ac_try\"") >&5
+  { (eval echo "$as_me:17997: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:17605: \$? = $ac_status" >&5
+  echo "$as_me:18000: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
-  echo "$as_me:17607: result: yes" >&5
+  echo "$as_me:18002: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
-echo "$as_me:17612: result: no" >&5
+echo "$as_me:18007: result: no" >&5
 echo "${ECHO_T}no" >&6
 		 LIBS="$cf_ncurses_SAVE"
 fi
@@ -17627,7 +18022,7 @@ else
 	NCURSES_CONFIG=none
 fi
 
-echo "$as_me:17630: checking definition to turn on extended curses functions" >&5
+echo "$as_me:18025: checking definition to turn on extended curses functions" >&5
 echo $ECHO_N "checking definition to turn on extended curses functions... $ECHO_C" >&6
 if test "${cf_cv_need_xopen_extension+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -17635,7 +18030,7 @@ else
 
 cf_cv_need_xopen_extension=unknown
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 17638 "configure"
+#line 18033 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -17646,11 +18041,11 @@ main (void)
 
 #if defined(NCURSES_VERSION_PATCH)
 #if (NCURSES_VERSION_PATCH < 20100501) && (NCURSES_VERSION_PATCH >= 20100403)
-	make an error
+	#error disallow ncurses versions between 2020/04/03 and 2010/05/01
 #endif
 #endif
 #ifdef NCURSES_WIDECHAR
-make an error	/* prefer to fall-through on the second checks */
+#error prefer to fall-through on the second checks
 #endif
 	static char dummy[10];
 	cchar_t check;
@@ -17668,16 +18063,16 @@ make an error	/* prefer to fall-through
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:17671: \"$ac_link\"") >&5
+if { (eval echo "$as_me:18066: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:17674: \$? = $ac_status" >&5
+  echo "$as_me:18069: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:17677: \"$ac_try\"") >&5
+  { (eval echo "$as_me:18072: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:17680: \$? = $ac_status" >&5
+  echo "$as_me:18075: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_need_xopen_extension=none
 else
@@ -17687,7 +18082,7 @@ cat "conftest.$ac_ext" >&5
 	for cf_try_xopen_extension in _XOPEN_SOURCE_EXTENDED NCURSES_WIDECHAR
 	do
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 17690 "configure"
+#line 18085 "configure"
 #include "confdefs.h"
 
 #define $cf_try_xopen_extension 1
@@ -17713,16 +18108,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:17716: \"$ac_link\"") >&5
+if { (eval echo "$as_me:18111: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:17719: \$? = $ac_status" >&5
+  echo "$as_me:18114: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:17722: \"$ac_try\"") >&5
+  { (eval echo "$as_me:18117: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:17725: \$? = $ac_status" >&5
+  echo "$as_me:18120: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_need_xopen_extension=$cf_try_xopen_extension; break
 else
@@ -17736,7 +18131,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:17739: result: $cf_cv_need_xopen_extension" >&5
+echo "$as_me:18134: result: $cf_cv_need_xopen_extension" >&5
 echo "${ECHO_T}$cf_cv_need_xopen_extension" >&6
 
 case "$cf_cv_need_xopen_extension" in
@@ -17748,13 +18143,13 @@ case "$cf_cv_need_xopen_extension" in
 	;;
 esac
 
-		test "$cf_cv_need_xopen_extension" = unknown && { { echo "$as_me:17751: error: X/Open curses not found" >&5
+		test "$cf_cv_need_xopen_extension" = unknown && { { echo "$as_me:18146: error: X/Open curses not found" >&5
 echo "$as_me: error: X/Open curses not found" >&2;}
    { (exit 1); exit 1; }; }
 		;;
 	curses) #(vi
 
-echo "$as_me:17757: checking for extra include directories" >&5
+echo "$as_me:18152: checking for extra include directories" >&5
 echo $ECHO_N "checking for extra include directories... $ECHO_C" >&6
 if test "${cf_cv_curses_incdir+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -17780,7 +18175,7 @@ sunos3*|sunos4*)
 esac
 
 fi
-echo "$as_me:17783: result: $cf_cv_curses_incdir" >&5
+echo "$as_me:18178: result: $cf_cv_curses_incdir" >&5
 echo "${ECHO_T}$cf_cv_curses_incdir" >&6
 if test "$cf_cv_curses_incdir" != no
 then
@@ -17790,7 +18185,7 @@ then
 
 fi
 
-echo "$as_me:17793: checking if we have identified curses headers" >&5
+echo "$as_me:18188: checking if we have identified curses headers" >&5
 echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
 if test "${cf_cv_ncurses_header+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -17802,7 +18197,7 @@ for cf_header in \
 	curses.h  ncurses/ncurses.h ncurses/curses.h
 do
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 17805 "configure"
+#line 18200 "configure"
 #include "confdefs.h"
 #include <${cf_header}>
 int
@@ -17814,16 +18209,16 @@ initscr(); endwin()
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:17817: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:18212: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:17820: \$? = $ac_status" >&5
+  echo "$as_me:18215: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:17823: \"$ac_try\"") >&5
+  { (eval echo "$as_me:18218: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:17826: \$? = $ac_status" >&5
+  echo "$as_me:18221: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_ncurses_header=$cf_header; break
 else
@@ -17834,11 +18229,11 @@ rm -f "conftest.$ac_objext" "conftest.$a
 done
 
 fi
-echo "$as_me:17837: result: $cf_cv_ncurses_header" >&5
+echo "$as_me:18232: result: $cf_cv_ncurses_header" >&5
 echo "${ECHO_T}$cf_cv_ncurses_header" >&6
 
 if test "$cf_cv_ncurses_header" = none ; then
-	{ { echo "$as_me:17841: error: No curses header-files found" >&5
+	{ { echo "$as_me:18236: error: No curses header-files found" >&5
 echo "$as_me: error: No curses header-files found" >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -17848,23 +18243,23 @@ fi
 for ac_header in $cf_cv_ncurses_header
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:17851: checking for $ac_header" >&5
+echo "$as_me:18246: checking for $ac_header" >&5
 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 17857 "configure"
+#line 18252 "configure"
 #include "confdefs.h"
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:17861: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:18256: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:17867: \$? = $ac_status" >&5
+  echo "$as_me:18262: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -17883,7 +18278,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:17886: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:18281: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -17893,7 +18288,7 @@ EOF
 fi
 done
 
-echo "$as_me:17896: checking for terminfo header" >&5
+echo "$as_me:18291: checking for terminfo header" >&5
 echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
 if test "${cf_cv_term_header+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -17911,7 +18306,7 @@ esac
 for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
 do
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 17914 "configure"
+#line 18309 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <${cf_cv_ncurses_header:-curses.h}>
@@ -17926,16 +18321,16 @@ int x = auto_left_margin; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:17929: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:18324: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:17932: \$? = $ac_status" >&5
+  echo "$as_me:18327: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:17935: \"$ac_try\"") >&5
+  { (eval echo "$as_me:18330: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:17938: \$? = $ac_status" >&5
+  echo "$as_me:18333: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 	cf_cv_term_header="$cf_test"
@@ -17951,7 +18346,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 done
 
 fi
-echo "$as_me:17954: result: $cf_cv_term_header" >&5
+echo "$as_me:18349: result: $cf_cv_term_header" >&5
 echo "${ECHO_T}$cf_cv_term_header" >&6
 
 # Set definitions to allow ifdef'ing to accommodate subdirectories
@@ -17983,7 +18378,7 @@ EOF
 	;;
 esac
 
-echo "$as_me:17986: checking for ncurses version" >&5
+echo "$as_me:18381: checking for ncurses version" >&5
 echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6
 if test "${cf_cv_ncurses_version+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -18009,10 +18404,10 @@ Autoconf "old"
 #endif
 EOF
 	cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
-	{ (eval echo "$as_me:18012: \"$cf_try\"") >&5
+	{ (eval echo "$as_me:18407: \"$cf_try\"") >&5
   (eval $cf_try) 2>&5
   ac_status=$?
-  echo "$as_me:18015: \$? = $ac_status" >&5
+  echo "$as_me:18410: \$? = $ac_status" >&5
   (exit "$ac_status"); }
 	if test -f conftest.out ; then
 		cf_out=`sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%' conftest.out`
@@ -18022,7 +18417,7 @@ EOF
 
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 18025 "configure"
+#line 18420 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -18042,22 +18437,22 @@ int main(void)
 # ifdef __NCURSES_H
 	fprintf(fp, "old\\n");
 # else
-	make an error
+	#error expected ncurses header to define __NCURSES_H
 # endif
 #endif
 	${cf_cv_main_return:-return}(0);
 }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:18052: \"$ac_link\"") >&5
+if { (eval echo "$as_me:18447: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:18055: \$? = $ac_status" >&5
+  echo "$as_me:18450: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:18057: \"$ac_try\"") >&5
+  { (eval echo "$as_me:18452: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:18060: \$? = $ac_status" >&5
+  echo "$as_me:18455: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 	cf_cv_ncurses_version=`cat $cf_tempfile`
@@ -18071,17 +18466,17 @@ fi
 	rm -f "$cf_tempfile"
 
 fi
-echo "$as_me:18074: result: $cf_cv_ncurses_version" >&5
+echo "$as_me:18469: result: $cf_cv_ncurses_version" >&5
 echo "${ECHO_T}$cf_cv_ncurses_version" >&6
 test "$cf_cv_ncurses_version" = no ||
 cat >>confdefs.h <<\EOF
 #define NCURSES 1
 EOF
 
-echo "$as_me:18081: checking if we have identified curses libraries" >&5
+echo "$as_me:18476: checking if we have identified curses libraries" >&5
 echo $ECHO_N "checking if we have identified curses libraries... $ECHO_C" >&6
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 18084 "configure"
+#line 18479 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 int
@@ -18093,16 +18488,16 @@ initscr(); endwin()
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18096: \"$ac_link\"") >&5
+if { (eval echo "$as_me:18491: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:18099: \$? = $ac_status" >&5
+  echo "$as_me:18494: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:18102: \"$ac_try\"") >&5
+  { (eval echo "$as_me:18497: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:18105: \$? = $ac_status" >&5
+  echo "$as_me:18500: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_result=yes
 else
@@ -18111,13 +18506,13 @@ cat "conftest.$ac_ext" >&5
 cf_result=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
-echo "$as_me:18114: result: $cf_result" >&5
+echo "$as_me:18509: result: $cf_result" >&5
 echo "${ECHO_T}$cf_result" >&6
 
 if test "$cf_result" = no ; then
 case "$host_os" in
 freebsd*)
-	echo "$as_me:18120: checking for tgoto in -lmytinfo" >&5
+	echo "$as_me:18515: checking for tgoto in -lmytinfo" >&5
 echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6
 if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -18125,7 +18520,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lmytinfo  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 18128 "configure"
+#line 18523 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -18144,16 +18539,16 @@ tgoto ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18147: \"$ac_link\"") >&5
+if { (eval echo "$as_me:18542: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:18150: \$? = $ac_status" >&5
+  echo "$as_me:18545: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:18153: \"$ac_try\"") >&5
+  { (eval echo "$as_me:18548: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:18156: \$? = $ac_status" >&5
+  echo "$as_me:18551: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_mytinfo_tgoto=yes
 else
@@ -18164,7 +18559,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:18167: result: $ac_cv_lib_mytinfo_tgoto" >&5
+echo "$as_me:18562: result: $ac_cv_lib_mytinfo_tgoto" >&5
 echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6
 if test "$ac_cv_lib_mytinfo_tgoto" = yes; then
 
@@ -18194,7 +18589,7 @@ hpux10.*)
 	# term.h) for cur_colr
 	if test "x$cf_cv_screen" = "xcurses_colr"
 	then
-		echo "$as_me:18197: checking for initscr in -lcur_colr" >&5
+		echo "$as_me:18592: checking for initscr in -lcur_colr" >&5
 echo $ECHO_N "checking for initscr in -lcur_colr... $ECHO_C" >&6
 if test "${ac_cv_lib_cur_colr_initscr+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -18202,7 +18597,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lcur_colr  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 18205 "configure"
+#line 18600 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -18221,16 +18616,16 @@ initscr ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18224: \"$ac_link\"") >&5
+if { (eval echo "$as_me:18619: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:18227: \$? = $ac_status" >&5
+  echo "$as_me:18622: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:18230: \"$ac_try\"") >&5
+  { (eval echo "$as_me:18625: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:18233: \$? = $ac_status" >&5
+  echo "$as_me:18628: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_cur_colr_initscr=yes
 else
@@ -18241,7 +18636,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:18244: result: $ac_cv_lib_cur_colr_initscr" >&5
+echo "$as_me:18639: result: $ac_cv_lib_cur_colr_initscr" >&5
 echo "${ECHO_T}$ac_cv_lib_cur_colr_initscr" >&6
 if test "$ac_cv_lib_cur_colr_initscr" = yes; then
 
@@ -18265,7 +18660,7 @@ LIBS="$cf_add_libs"
 
 else
 
-		echo "$as_me:18268: checking for initscr in -lHcurses" >&5
+		echo "$as_me:18663: checking for initscr in -lHcurses" >&5
 echo $ECHO_N "checking for initscr in -lHcurses... $ECHO_C" >&6
 if test "${ac_cv_lib_Hcurses_initscr+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -18273,7 +18668,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lHcurses  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 18276 "configure"
+#line 18671 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -18292,16 +18687,16 @@ initscr ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18295: \"$ac_link\"") >&5
+if { (eval echo "$as_me:18690: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:18298: \$? = $ac_status" >&5
+  echo "$as_me:18693: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:18301: \"$ac_try\"") >&5
+  { (eval echo "$as_me:18696: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:18304: \$? = $ac_status" >&5
+  echo "$as_me:18699: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_Hcurses_initscr=yes
 else
@@ -18312,7 +18707,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:18315: result: $ac_cv_lib_Hcurses_initscr" >&5
+echo "$as_me:18710: result: $ac_cv_lib_Hcurses_initscr" >&5
 echo "${ECHO_T}$ac_cv_lib_Hcurses_initscr" >&6
 if test "$ac_cv_lib_Hcurses_initscr" = yes; then
 
@@ -18370,7 +18765,7 @@ if test -n "/lib64" ; then
 			if test "$cf_have_libdir" = no ; then
 				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
-echo "${as_me:-configure}:18373: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:18768: testing adding $cf_add_libdir to library-path ..." 1>&5
 
 				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
 			fi
@@ -18399,7 +18794,7 @@ if test -n "/lib" ; then
 			if test "$cf_have_libdir" = no ; then
 				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
-echo "${as_me:-configure}:18402: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:18797: testing adding $cf_add_libdir to library-path ..." 1>&5
 
 				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
 			fi
@@ -18430,7 +18825,7 @@ if test -n "/lib" ; then
 			if test "$cf_have_libdir" = no ; then
 				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
-echo "${as_me:-configure}:18433: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:18828: testing adding $cf_add_libdir to library-path ..." 1>&5
 
 				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
 			fi
@@ -18465,7 +18860,7 @@ if test -n "/usr/5lib" ; then
 			if test "$cf_have_libdir" = no ; then
 				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
-echo "${as_me:-configure}:18468: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:18863: testing adding $cf_add_libdir to library-path ..." 1>&5
 
 				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
 			fi
@@ -18509,13 +18904,13 @@ if test ".$ac_cv_func_initscr" != .yes ;
 	# because it may be needed to link the test-case for initscr.
 	if test "x$cf_term_lib" = x
 	then
-		echo "$as_me:18512: checking for tgoto" >&5
+		echo "$as_me:18907: checking for tgoto" >&5
 echo $ECHO_N "checking for tgoto... $ECHO_C" >&6
 if test "${ac_cv_func_tgoto+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 18518 "configure"
+#line 18913 "configure"
 #include "confdefs.h"
 #define tgoto autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -18546,16 +18941,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18549: \"$ac_link\"") >&5
+if { (eval echo "$as_me:18944: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:18552: \$? = $ac_status" >&5
+  echo "$as_me:18947: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:18555: \"$ac_try\"") >&5
+  { (eval echo "$as_me:18950: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:18558: \$? = $ac_status" >&5
+  echo "$as_me:18953: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_tgoto=yes
 else
@@ -18565,7 +18960,7 @@ ac_cv_func_tgoto=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:18568: result: $ac_cv_func_tgoto" >&5
+echo "$as_me:18963: result: $ac_cv_func_tgoto" >&5
 echo "${ECHO_T}$ac_cv_func_tgoto" >&6
 if test "$ac_cv_func_tgoto" = yes; then
   cf_term_lib=predefined
@@ -18574,7 +18969,7 @@ else
 			for cf_term_lib in $cf_check_list otermcap termcap tinfo termlib unknown
 			do
 				as_ac_Lib=`echo "ac_cv_lib_$cf_term_lib''_tgoto" | $as_tr_sh`
-echo "$as_me:18577: checking for tgoto in -l$cf_term_lib" >&5
+echo "$as_me:18972: checking for tgoto in -l$cf_term_lib" >&5
 echo $ECHO_N "checking for tgoto in -l$cf_term_lib... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Lib+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -18582,7 +18977,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-l$cf_term_lib  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 18585 "configure"
+#line 18980 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -18601,16 +18996,16 @@ tgoto ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18604: \"$ac_link\"") >&5
+if { (eval echo "$as_me:18999: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:18607: \$? = $ac_status" >&5
+  echo "$as_me:19002: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:18610: \"$ac_try\"") >&5
+  { (eval echo "$as_me:19005: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:18613: \$? = $ac_status" >&5
+  echo "$as_me:19008: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_Lib=yes"
 else
@@ -18621,7 +19016,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:18624: result: `eval echo '${'"$as_ac_Lib"'}'`" >&5
+echo "$as_me:19019: result: `eval echo '${'"$as_ac_Lib"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Lib"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Lib"'}'`" = yes; then
 
@@ -18644,10 +19039,10 @@ fi
 		do
 			LIBS="-l$cf_curs_lib $cf_save_LIBS"
 			if test "$cf_term_lib" = unknown || test "$cf_term_lib" = "$cf_curs_lib" ; then
-				echo "$as_me:18647: checking if we can link with $cf_curs_lib library" >&5
+				echo "$as_me:19042: checking if we can link with $cf_curs_lib library" >&5
 echo $ECHO_N "checking if we can link with $cf_curs_lib library... $ECHO_C" >&6
 				cat >"conftest.$ac_ext" <<_ACEOF
-#line 18650 "configure"
+#line 19045 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 int
@@ -18659,16 +19054,16 @@ initscr()
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18662: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19057: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:18665: \$? = $ac_status" >&5
+  echo "$as_me:19060: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:18668: \"$ac_try\"") >&5
+  { (eval echo "$as_me:19063: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:18671: \$? = $ac_status" >&5
+  echo "$as_me:19066: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_result=yes
 else
@@ -18677,16 +19072,16 @@ cat "conftest.$ac_ext" >&5
 cf_result=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
-				echo "$as_me:18680: result: $cf_result" >&5
+				echo "$as_me:19075: result: $cf_result" >&5
 echo "${ECHO_T}$cf_result" >&6
 				test "$cf_result" = yes && break
 			elif test "$cf_curs_lib" = "$cf_term_lib" ; then
 				cf_result=no
 			elif test "$cf_term_lib" != predefined ; then
-				echo "$as_me:18686: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
+				echo "$as_me:19081: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
 echo $ECHO_N "checking if we need both $cf_curs_lib and $cf_term_lib libraries... $ECHO_C" >&6
 				cat >"conftest.$ac_ext" <<_ACEOF
-#line 18689 "configure"
+#line 19084 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 int
@@ -18698,16 +19093,16 @@ initscr(); endwin();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18701: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19096: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:18704: \$? = $ac_status" >&5
+  echo "$as_me:19099: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:18707: \"$ac_try\"") >&5
+  { (eval echo "$as_me:19102: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:18710: \$? = $ac_status" >&5
+  echo "$as_me:19105: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_result=no
 else
@@ -18716,7 +19111,7 @@ cat "conftest.$ac_ext" >&5
 
 					LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
 					cat >"conftest.$ac_ext" <<_ACEOF
-#line 18719 "configure"
+#line 19114 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header:-curses.h}>
 int
@@ -18728,16 +19123,16 @@ initscr()
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18731: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19126: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:18734: \$? = $ac_status" >&5
+  echo "$as_me:19129: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:18737: \"$ac_try\"") >&5
+  { (eval echo "$as_me:19132: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:18740: \$? = $ac_status" >&5
+  echo "$as_me:19135: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_result=yes
 else
@@ -18749,19 +19144,19 @@ rm -f "conftest.$ac_objext" "conftest$ac
 
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
-				echo "$as_me:18752: result: $cf_result" >&5
+				echo "$as_me:19147: result: $cf_result" >&5
 echo "${ECHO_T}$cf_result" >&6
 				test "$cf_result" != error && break
 			fi
 		done
 	fi
-	test "$cf_curs_lib" = unknown && { { echo "$as_me:18758: error: no curses library found" >&5
+	test "$cf_curs_lib" = unknown && { { echo "$as_me:19153: error: no curses library found" >&5
 echo "$as_me: error: no curses library found" >&2;}
    { (exit 1); exit 1; }; }
 fi
 fi
 
-echo "$as_me:18764: checking definition to turn on extended curses functions" >&5
+echo "$as_me:19159: checking definition to turn on extended curses functions" >&5
 echo $ECHO_N "checking definition to turn on extended curses functions... $ECHO_C" >&6
 if test "${cf_cv_need_xopen_extension+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -18769,7 +19164,7 @@ else
 
 cf_cv_need_xopen_extension=unknown
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 18772 "configure"
+#line 19167 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -18780,11 +19175,11 @@ main (void)
 
 #if defined(NCURSES_VERSION_PATCH)
 #if (NCURSES_VERSION_PATCH < 20100501) && (NCURSES_VERSION_PATCH >= 20100403)
-	make an error
+	#error disallow ncurses versions between 2020/04/03 and 2010/05/01
 #endif
 #endif
 #ifdef NCURSES_WIDECHAR
-make an error	/* prefer to fall-through on the second checks */
+#error prefer to fall-through on the second checks
 #endif
 	static char dummy[10];
 	cchar_t check;
@@ -18802,16 +19197,16 @@ make an error	/* prefer to fall-through
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18805: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19200: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:18808: \$? = $ac_status" >&5
+  echo "$as_me:19203: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:18811: \"$ac_try\"") >&5
+  { (eval echo "$as_me:19206: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:18814: \$? = $ac_status" >&5
+  echo "$as_me:19209: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_need_xopen_extension=none
 else
@@ -18821,7 +19216,7 @@ cat "conftest.$ac_ext" >&5
 	for cf_try_xopen_extension in _XOPEN_SOURCE_EXTENDED NCURSES_WIDECHAR
 	do
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 18824 "configure"
+#line 19219 "configure"
 #include "confdefs.h"
 
 #define $cf_try_xopen_extension 1
@@ -18847,16 +19242,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18850: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19245: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:18853: \$? = $ac_status" >&5
+  echo "$as_me:19248: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:18856: \"$ac_try\"") >&5
+  { (eval echo "$as_me:19251: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:18859: \$? = $ac_status" >&5
+  echo "$as_me:19254: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_need_xopen_extension=$cf_try_xopen_extension; break
 else
@@ -18870,7 +19265,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:18873: result: $cf_cv_need_xopen_extension" >&5
+echo "$as_me:19268: result: $cf_cv_need_xopen_extension" >&5
 echo "${ECHO_T}$cf_cv_need_xopen_extension" >&6
 
 case "$cf_cv_need_xopen_extension" in
@@ -18887,7 +19282,7 @@ esac
 fi
 
 ## substitute externally-installed PCRE library for our bundled version
-echo "$as_me:18890: checking if you want to use installed version of pcre" >&5
+echo "$as_me:19285: checking if you want to use installed version of pcre" >&5
 echo $ECHO_N "checking if you want to use installed version of pcre... $ECHO_C" >&6
 
 # Check whether --with-pcre or --without-pcre was given.
@@ -18897,11 +19292,11 @@ if test "${with_pcre+set}" = set; then
 else
   PCRE_HOME=no
 fi;
-echo "$as_me:18900: result: $PCRE_HOME" >&5
+echo "$as_me:19295: result: $PCRE_HOME" >&5
 echo "${ECHO_T}$PCRE_HOME" >&6
 
 ## Preliminary check for PCRE2
-echo "$as_me:18904: checking if you want to use pcre2 in favour of pcre" >&5
+echo "$as_me:19299: checking if you want to use pcre2 in favour of pcre" >&5
 echo $ECHO_N "checking if you want to use pcre2 in favour of pcre... $ECHO_C" >&6
 
 # Check whether --with-pcre2-config or --without-pcre2-config was given.
@@ -18911,15 +19306,9 @@ if test "${with_pcre2_config+set}" = set
 else
   pcre2_config=no
 fi;
-echo "$as_me:18914: result: $pcre2_config" >&5
+echo "$as_me:19309: result: $pcre2_config" >&5
 echo "${ECHO_T}$pcre2_config" >&6
 
-if test "$PCRE_HOME" != no && test "$pcre2_config" != no ; then
-	{ { echo "$as_me:18918: error: cannot use PCRE and PCRE2 at the same time" >&5
-echo "$as_me: error: cannot use PCRE and PCRE2 at the same time" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
 if test "$pcre2_config" != no ; then
 	if test "$pcre2_config" != yes ; then
 		PCRE2_CONFIG=$withval
@@ -18928,7 +19317,7 @@ if test "$pcre2_config" != no ; then
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}pcre2-config", so it can be a program name with args.
 set dummy ${ac_tool_prefix}pcre2-config; ac_word=$2
-echo "$as_me:18931: checking for $ac_word" >&5
+echo "$as_me:19320: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_PCRE2_CONFIG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -18945,7 +19334,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_PCRE2_CONFIG="$ac_dir/$ac_word"
-   echo "$as_me:18948: found $ac_dir/$ac_word" >&5
+   echo "$as_me:19337: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -18956,10 +19345,10 @@ fi
 PCRE2_CONFIG=$ac_cv_path_PCRE2_CONFIG
 
 if test -n "$PCRE2_CONFIG"; then
-  echo "$as_me:18959: result: $PCRE2_CONFIG" >&5
+  echo "$as_me:19348: result: $PCRE2_CONFIG" >&5
 echo "${ECHO_T}$PCRE2_CONFIG" >&6
 else
-  echo "$as_me:18962: result: no" >&5
+  echo "$as_me:19351: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -18968,7 +19357,7 @@ if test -z "$ac_cv_path_PCRE2_CONFIG"; t
   ac_pt_PCRE2_CONFIG=$PCRE2_CONFIG
   # Extract the first word of "pcre2-config", so it can be a program name with args.
 set dummy pcre2-config; ac_word=$2
-echo "$as_me:18971: checking for $ac_word" >&5
+echo "$as_me:19360: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_ac_pt_PCRE2_CONFIG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -18985,7 +19374,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_ac_pt_PCRE2_CONFIG="$ac_dir/$ac_word"
-   echo "$as_me:18988: found $ac_dir/$ac_word" >&5
+   echo "$as_me:19377: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -18997,10 +19386,10 @@ fi
 ac_pt_PCRE2_CONFIG=$ac_cv_path_ac_pt_PCRE2_CONFIG
 
 if test -n "$ac_pt_PCRE2_CONFIG"; then
-  echo "$as_me:19000: result: $ac_pt_PCRE2_CONFIG" >&5
+  echo "$as_me:19389: result: $ac_pt_PCRE2_CONFIG" >&5
 echo "${ECHO_T}$ac_pt_PCRE2_CONFIG" >&6
 else
-  echo "$as_me:19003: result: no" >&5
+  echo "$as_me:19392: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -19027,7 +19416,7 @@ EOF
 
 		# TODO: header / link checks?
 	else
-		{ echo "$as_me:19030: WARNING: pcre2-config not found or not working, trying fallback to pcre" >&5
+		{ echo "$as_me:19419: WARNING: pcre2-config not found or not working, trying fallback to pcre" >&5
 echo "$as_me: WARNING: pcre2-config not found or not working, trying fallback to pcre" >&2;}
 		pcre2_config=no
 	fi
@@ -19056,17 +19445,17 @@ cf_find_PCRE=yes
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "libpcre2"; then
 	test -n "$verbose" && echo "	found package libpcre2" 1>&6
 
-echo "${as_me:-configure}:19059: testing found package libpcre2 ..." 1>&5
+echo "${as_me:-configure}:19448: testing found package libpcre2 ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "libpcre2" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "libpcre2" 2>/dev/null`"
 	test -n "$verbose" && echo "	package libpcre2 CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:19065: testing package libpcre2 CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:19454: testing package libpcre2 CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package libpcre2 LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:19069: testing package libpcre2 LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:19458: testing package libpcre2 LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -19190,17 +19579,17 @@ else
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "libpcre"; then
 	test -n "$verbose" && echo "	found package libpcre" 1>&6
 
-echo "${as_me:-configure}:19193: testing found package libpcre ..." 1>&5
+echo "${as_me:-configure}:19582: testing found package libpcre ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "libpcre" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "libpcre" 2>/dev/null`"
 	test -n "$verbose" && echo "	package libpcre CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:19199: testing package libpcre CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:19588: testing package libpcre CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package libpcre LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:19203: testing package libpcre LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:19592: testing package libpcre LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -19321,7 +19710,7 @@ else
 	cf_pkgconfig_incs=
 	cf_pkgconfig_libs=
 
-		echo "$as_me:19324: checking for pcre_compile in -lpcre" >&5
+		echo "$as_me:19713: checking for pcre_compile in -lpcre" >&5
 echo $ECHO_N "checking for pcre_compile in -lpcre... $ECHO_C" >&6
 if test "${ac_cv_lib_pcre_pcre_compile+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -19329,7 +19718,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lpcre  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 19332 "configure"
+#line 19721 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -19348,16 +19737,16 @@ pcre_compile ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:19351: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19740: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:19354: \$? = $ac_status" >&5
+  echo "$as_me:19743: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:19357: \"$ac_try\"") >&5
+  { (eval echo "$as_me:19746: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:19360: \$? = $ac_status" >&5
+  echo "$as_me:19749: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_pcre_pcre_compile=yes
 else
@@ -19368,7 +19757,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:19371: result: $ac_cv_lib_pcre_pcre_compile" >&5
+echo "$as_me:19760: result: $ac_cv_lib_pcre_pcre_compile" >&5
 echo "${ECHO_T}$ac_cv_lib_pcre_pcre_compile" >&6
 if test "$ac_cv_lib_pcre_pcre_compile" = yes; then
 
@@ -19388,7 +19777,7 @@ for cf_add_1lib in $cf_add_0lib; do
 done
 LIBS="$cf_add_libs"
 
-			echo "$as_me:19391: checking for regcomp in -lpcre2-posix" >&5
+			echo "$as_me:19780: checking for regcomp in -lpcre2-posix" >&5
 echo $ECHO_N "checking for regcomp in -lpcre2-posix... $ECHO_C" >&6
 if test "${ac_cv_lib_pcre2_posix_regcomp+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -19396,7 +19785,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lpcre2-posix  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 19399 "configure"
+#line 19788 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -19415,16 +19804,16 @@ regcomp ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:19418: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19807: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:19421: \$? = $ac_status" >&5
+  echo "$as_me:19810: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:19424: \"$ac_try\"") >&5
+  { (eval echo "$as_me:19813: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:19427: \$? = $ac_status" >&5
+  echo "$as_me:19816: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_pcre2_posix_regcomp=yes
 else
@@ -19435,7 +19824,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:19438: result: $ac_cv_lib_pcre2_posix_regcomp" >&5
+echo "$as_me:19827: result: $ac_cv_lib_pcre2_posix_regcomp" >&5
 echo "${ECHO_T}$ac_cv_lib_pcre2_posix_regcomp" >&6
 if test "$ac_cv_lib_pcre2_posix_regcomp" = yes; then
 
@@ -19457,7 +19846,7 @@ LIBS="$cf_add_libs"
 
 else
 
-					echo "$as_me:19460: checking for regcomp in -lpcreposix" >&5
+					echo "$as_me:19849: checking for regcomp in -lpcreposix" >&5
 echo $ECHO_N "checking for regcomp in -lpcreposix... $ECHO_C" >&6
 if test "${ac_cv_lib_pcreposix_regcomp+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -19465,7 +19854,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lpcreposix  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 19468 "configure"
+#line 19857 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -19484,16 +19873,16 @@ regcomp ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:19487: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19876: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:19490: \$? = $ac_status" >&5
+  echo "$as_me:19879: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:19493: \"$ac_try\"") >&5
+  { (eval echo "$as_me:19882: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:19496: \$? = $ac_status" >&5
+  echo "$as_me:19885: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_pcreposix_regcomp=yes
 else
@@ -19504,7 +19893,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:19507: result: $ac_cv_lib_pcreposix_regcomp" >&5
+echo "$as_me:19896: result: $ac_cv_lib_pcreposix_regcomp" >&5
 echo "${ECHO_T}$ac_cv_lib_pcreposix_regcomp" >&6
 if test "$ac_cv_lib_pcreposix_regcomp" = yes; then
 
@@ -19558,7 +19947,7 @@ else
 
 			test -n "$verbose" && echo "	using bundled pcre because no installed pcre was found" 1>&6
 
-echo "${as_me:-configure}:19561: testing using bundled pcre because no installed pcre was found ..." 1>&5
+echo "${as_me:-configure}:19950: testing using bundled pcre because no installed pcre was found ..." 1>&5
 
 			cf_pcre_home=no
 
@@ -19573,26 +19962,24 @@ else
 	cf_path_syntax="$ac_default_prefix"
 fi
 
-case ".$cf_pcre_home" in
-.\$\(*\)*|.\'*\'*)
-	;;
-..|./*|.\\*)
+case "x$cf_pcre_home" in
+x\$\(*\)*|x\'*\'*)
 	;;
-.[a-zA-Z]:[\\/]*) # OS/2 EMX
+x.|x$GLOB_FULLPATH_POSIX|x$GLOB_FULLPATH_OTHER)
 	;;
-.\$\{*prefix\}*|.\$\{*dir\}*)
+x\$\{*prefix\}*|x\$\{*dir\}*)
 	eval cf_pcre_home="$cf_pcre_home"
-	case ".$cf_pcre_home" in
-	.NONE/*)
+	case "x$cf_pcre_home" in
+	xNONE/*)
 		cf_pcre_home=`echo "$cf_pcre_home" | sed -e s%NONE%$cf_path_syntax%`
 		;;
 	esac
 	;;
-.no|.NONE/*)
+xno|xNONE/*)
 	cf_pcre_home=`echo "$cf_pcre_home" | sed -e s%NONE%$cf_path_syntax%`
 	;;
 *)
-	{ { echo "$as_me:19595: error: expected a pathname, not \"$cf_pcre_home\"" >&5
+	{ { echo "$as_me:19982: error: expected a pathname, not \"$cf_pcre_home\"" >&5
 echo "$as_me: error: expected a pathname, not \"$cf_pcre_home\"" >&2;}
    { (exit 1); exit 1; }; }
 	;;
@@ -19619,7 +20006,7 @@ fi
 ## debugging libraries (do this after other libraries)
 debug_malloc=none
 
-echo "$as_me:19622: checking if you want to use dbmalloc for testing" >&5
+echo "$as_me:20009: checking if you want to use dbmalloc for testing" >&5
 echo $ECHO_N "checking if you want to use dbmalloc for testing... $ECHO_C" >&6
 
 # Check whether --with-dbmalloc or --without-dbmalloc was given.
@@ -19641,7 +20028,7 @@ EOF
 else
   with_dbmalloc=
 fi;
-echo "$as_me:19644: result: ${with_dbmalloc:-no}" >&5
+echo "$as_me:20031: result: ${with_dbmalloc:-no}" >&5
 echo "${ECHO_T}${with_dbmalloc:-no}" >&6
 
 case ".$with_cflags" in
@@ -19755,23 +20142,23 @@ fi
 esac
 
 if test "$with_dbmalloc" = yes ; then
-	echo "$as_me:19758: checking for dbmalloc.h" >&5
+	echo "$as_me:20145: checking for dbmalloc.h" >&5
 echo $ECHO_N "checking for dbmalloc.h... $ECHO_C" >&6
 if test "${ac_cv_header_dbmalloc_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 19764 "configure"
+#line 20151 "configure"
 #include "confdefs.h"
 #include <dbmalloc.h>
 _ACEOF
-if { (eval echo "$as_me:19768: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:20155: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:19774: \$? = $ac_status" >&5
+  echo "$as_me:20161: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -19790,10 +20177,10 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:19793: result: $ac_cv_header_dbmalloc_h" >&5
+echo "$as_me:20180: result: $ac_cv_header_dbmalloc_h" >&5
 echo "${ECHO_T}$ac_cv_header_dbmalloc_h" >&6
 if test "$ac_cv_header_dbmalloc_h" = yes; then
-  echo "$as_me:19796: checking for debug_malloc in -ldbmalloc" >&5
+  echo "$as_me:20183: checking for debug_malloc in -ldbmalloc" >&5
 echo $ECHO_N "checking for debug_malloc in -ldbmalloc... $ECHO_C" >&6
 if test "${ac_cv_lib_dbmalloc_debug_malloc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -19801,7 +20188,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldbmalloc  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 19804 "configure"
+#line 20191 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -19820,16 +20207,16 @@ debug_malloc ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:19823: \"$ac_link\"") >&5
+if { (eval echo "$as_me:20210: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:19826: \$? = $ac_status" >&5
+  echo "$as_me:20213: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:19829: \"$ac_try\"") >&5
+  { (eval echo "$as_me:20216: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:19832: \$? = $ac_status" >&5
+  echo "$as_me:20219: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_dbmalloc_debug_malloc=yes
 else
@@ -19840,7 +20227,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:19843: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
+echo "$as_me:20230: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
 echo "${ECHO_T}$ac_cv_lib_dbmalloc_debug_malloc" >&6
 if test "$ac_cv_lib_dbmalloc_debug_malloc" = yes; then
   debug_malloc=DBMALLOC
@@ -19850,7 +20237,7 @@ fi
 
 fi
 
-echo "$as_me:19853: checking if you want to use dmalloc for testing" >&5
+echo "$as_me:20240: checking if you want to use dmalloc for testing" >&5
 echo $ECHO_N "checking if you want to use dmalloc for testing... $ECHO_C" >&6
 
 # Check whether --with-dmalloc or --without-dmalloc was given.
@@ -19872,7 +20259,7 @@ EOF
 else
   with_dmalloc=
 fi;
-echo "$as_me:19875: result: ${with_dmalloc:-no}" >&5
+echo "$as_me:20262: result: ${with_dmalloc:-no}" >&5
 echo "${ECHO_T}${with_dmalloc:-no}" >&6
 
 case ".$with_cflags" in
@@ -19986,23 +20373,23 @@ fi
 esac
 
 if test "$with_dmalloc" = yes ; then
-	echo "$as_me:19989: checking for dmalloc.h" >&5
+	echo "$as_me:20376: checking for dmalloc.h" >&5
 echo $ECHO_N "checking for dmalloc.h... $ECHO_C" >&6
 if test "${ac_cv_header_dmalloc_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 19995 "configure"
+#line 20382 "configure"
 #include "confdefs.h"
 #include <dmalloc.h>
 _ACEOF
-if { (eval echo "$as_me:19999: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:20386: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:20005: \$? = $ac_status" >&5
+  echo "$as_me:20392: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -20021,10 +20408,10 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:20024: result: $ac_cv_header_dmalloc_h" >&5
+echo "$as_me:20411: result: $ac_cv_header_dmalloc_h" >&5
 echo "${ECHO_T}$ac_cv_header_dmalloc_h" >&6
 if test "$ac_cv_header_dmalloc_h" = yes; then
-  echo "$as_me:20027: checking for dmalloc_debug in -ldmalloc" >&5
+  echo "$as_me:20414: checking for dmalloc_debug in -ldmalloc" >&5
 echo $ECHO_N "checking for dmalloc_debug in -ldmalloc... $ECHO_C" >&6
 if test "${ac_cv_lib_dmalloc_dmalloc_debug+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -20032,7 +20419,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldmalloc  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 20035 "configure"
+#line 20422 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -20051,16 +20438,16 @@ dmalloc_debug ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:20054: \"$ac_link\"") >&5
+if { (eval echo "$as_me:20441: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:20057: \$? = $ac_status" >&5
+  echo "$as_me:20444: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:20060: \"$ac_try\"") >&5
+  { (eval echo "$as_me:20447: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:20063: \$? = $ac_status" >&5
+  echo "$as_me:20450: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_dmalloc_dmalloc_debug=yes
 else
@@ -20071,7 +20458,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:20074: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
+echo "$as_me:20461: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
 echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_debug" >&6
 if test "$ac_cv_lib_dmalloc_dmalloc_debug" = yes; then
   debug_malloc=DMALLOC
@@ -20085,13 +20472,13 @@ fi
 if test "${with_trace+set}" = set; then
   withval="$with_trace"
 
-	echo "$as_me:20088: checking for _tracef" >&5
+	echo "$as_me:20475: checking for _tracef" >&5
 echo $ECHO_N "checking for _tracef... $ECHO_C" >&6
 if test "${ac_cv_func__tracef+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 20094 "configure"
+#line 20481 "configure"
 #include "confdefs.h"
 #define _tracef autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -20122,16 +20509,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:20125: \"$ac_link\"") >&5
+if { (eval echo "$as_me:20512: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:20128: \$? = $ac_status" >&5
+  echo "$as_me:20515: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:20131: \"$ac_try\"") >&5
+  { (eval echo "$as_me:20518: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:20134: \$? = $ac_status" >&5
+  echo "$as_me:20521: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func__tracef=yes
 else
@@ -20141,7 +20528,7 @@ ac_cv_func__tracef=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:20144: result: $ac_cv_func__tracef" >&5
+echo "$as_me:20531: result: $ac_cv_func__tracef" >&5
 echo "${ECHO_T}$ac_cv_func__tracef" >&6
 if test "$ac_cv_func__tracef" = yes; then
 
@@ -20152,7 +20539,7 @@ EOF
 else
 
 	as_ac_Lib=`echo "ac_cv_lib_${cf_with_screen}_g''__tracef" | $as_tr_sh`
-echo "$as_me:20155: checking for _tracef in -l${cf_with_screen}_g" >&5
+echo "$as_me:20542: checking for _tracef in -l${cf_with_screen}_g" >&5
 echo $ECHO_N "checking for _tracef in -l${cf_with_screen}_g... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Lib+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -20160,7 +20547,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-l${cf_with_screen}_g  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 20163 "configure"
+#line 20550 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -20179,16 +20566,16 @@ _tracef ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:20182: \"$ac_link\"") >&5
+if { (eval echo "$as_me:20569: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:20185: \$? = $ac_status" >&5
+  echo "$as_me:20572: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:20188: \"$ac_try\"") >&5
+  { (eval echo "$as_me:20575: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:20191: \$? = $ac_status" >&5
+  echo "$as_me:20578: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_Lib=yes"
 else
@@ -20199,7 +20586,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:20202: result: `eval echo '${'"$as_ac_Lib"'}'`" >&5
+echo "$as_me:20589: result: `eval echo '${'"$as_ac_Lib"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Lib"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Lib"'}'`" = yes; then
   cat >>confdefs.h <<\EOF
@@ -20229,7 +20616,7 @@ fi;
 #AC_MSG_RESULT($use_trace)
 
 ## options for miscellaneous definitions
-echo "$as_me:20232: checking for domain-name" >&5
+echo "$as_me:20619: checking for domain-name" >&5
 echo $ECHO_N "checking for domain-name... $ECHO_C" >&6
 
 # Check whether --with-domain-name or --without-domain-name was given.
@@ -20241,7 +20628,7 @@ else
 fi; test -n "$withval" && \
 case "$withval" in #(vi
 yes)
-  { { echo "$as_me:20244: error: expected a value for --with-domain-name" >&5
+  { { echo "$as_me:20631: error: expected a value for --with-domain-name" >&5
 echo "$as_me: error: expected a value for --with-domain-name" >&2;}
    { (exit 1); exit 1; }; }
   ;; #(vi
@@ -20257,11 +20644,11 @@ cat >>confdefs.h <<EOF
 EOF
 
 fi
-echo "$as_me:20260: result: $DOMAIN_NAME" >&5
+echo "$as_me:20647: result: $DOMAIN_NAME" >&5
 echo "${ECHO_T}$DOMAIN_NAME" >&6
 
 if test "$USE_NNTP" = "yes" ; then
-echo "$as_me:20264: checking for NNTP default-server" >&5
+echo "$as_me:20651: checking for NNTP default-server" >&5
 echo $ECHO_N "checking for NNTP default-server... $ECHO_C" >&6
 
 # Check whether --with-nntp-default-server or --without-nntp-default-server was given.
@@ -20273,7 +20660,7 @@ else
 fi; test -z "$withval" && withval=no
 case "$withval" in #(vi
 yes)
-  { { echo "$as_me:20276: error: expected a value for --with-nntp-default-server" >&5
+  { { echo "$as_me:20663: error: expected a value for --with-nntp-default-server" >&5
 echo "$as_me: error: expected a value for --with-nntp-default-server" >&2;}
    { (exit 1); exit 1; }; }
   ;; #(vi
@@ -20282,7 +20669,7 @@ no) withval=""
 esac
 NNTP_DEFAULT_SERVER="$withval"
 
-    if test "$NNTP_DEFAULT_SERVER" = "" ; then
+	if test "$NNTP_DEFAULT_SERVER" = "" ; then
 	if test "$DOMAIN_NAME" != "" ; then
 		test -z "$NNTP_DEFAULT_SERVER" && \
 		case "$DOMAIN_NAME" in #(((
@@ -20301,7 +20688,7 @@ NNTP_DEFAULT_SERVER="$withval"
 		NNTP_DEFAULT_SERVER="news"
 	fi
     fi
-echo "$as_me:20304: result: $NNTP_DEFAULT_SERVER" >&5
+echo "$as_me:20691: result: $NNTP_DEFAULT_SERVER" >&5
 echo "${ECHO_T}$NNTP_DEFAULT_SERVER" >&6
 fi
 
@@ -20330,7 +20717,7 @@ cat >>confdefs.h <<EOF
 EOF
 
 ## optional features
-echo "$as_me:20333: checking whether to use MH style mail handling for mailgroups" >&5
+echo "$as_me:20720: checking whether to use MH style mail handling for mailgroups" >&5
 echo $ECHO_N "checking whether to use MH style mail handling for mailgroups... $ECHO_C" >&6
 
 # Check whether --enable-mh-mail-handling or --disable-mh-mail-handling was given.
@@ -20347,10 +20734,10 @@ EOF
 else
   enableval=no
 fi;
-echo "$as_me:20350: result: $enableval" >&5
+echo "$as_me:20737: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
-echo "$as_me:20353: checking whether to use Cancel-Locks" >&5
+echo "$as_me:20740: checking whether to use Cancel-Locks" >&5
 echo $ECHO_N "checking whether to use Cancel-Locks... $ECHO_C" >&6
 
 # Check whether --enable-cancel-locks or --disable-cancel-locks was given.
@@ -20363,12 +20750,12 @@ if test "${enable_cancel_locks+set}" = s
 else
   enableval=no
 fi;
-echo "$as_me:20366: result: $enableval" >&5
+echo "$as_me:20753: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 USE_CANLOCK=$enableval
 
 if test "$USE_CANLOCK" = yes ; then
-	echo "$as_me:20371: checking whether to use installed canlock rather than bundled" >&5
+	echo "$as_me:20758: checking whether to use installed canlock rather than bundled" >&5
 echo $ECHO_N "checking whether to use installed canlock rather than bundled... $ECHO_C" >&6
 
 # Check whether --with-canlock or --without-canlock was given.
@@ -20378,7 +20765,7 @@ if test "${with_canlock+set}" = set; the
 else
   CANLOCK_HOME=$USE_CANLOCK
 fi;
-	echo "$as_me:20381: result: $CANLOCK_HOME" >&5
+	echo "$as_me:20768: result: $CANLOCK_HOME" >&5
 echo "${ECHO_T}$CANLOCK_HOME" >&6
 
 cf_canlock_home=$CANLOCK_HOME
@@ -20391,7 +20778,7 @@ case .$cf_canlock_home in #(vi
 .no) #(vi
 	test -n "$verbose" && echo "	using bundled canlock" 1>&6
 
-echo "${as_me:-configure}:20394: testing using bundled canlock ..." 1>&5
+echo "${as_me:-configure}:20781: testing using bundled canlock ..." 1>&5
 
 	CANLIBS='-L../libcanlock -lcanlock'
 	CAN_CPPFLAGS='-I$(top_builddir)/libcanlock/include -I$(top_srcdir)/libcanlock/include'
@@ -20406,17 +20793,17 @@ cf_find_CANLOCK=yes
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "libcanlock-3"; then
 	test -n "$verbose" && echo "	found package libcanlock-3" 1>&6
 
-echo "${as_me:-configure}:20409: testing found package libcanlock-3 ..." 1>&5
+echo "${as_me:-configure}:20796: testing found package libcanlock-3 ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "libcanlock-3" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "libcanlock-3" 2>/dev/null`"
 	test -n "$verbose" && echo "	package libcanlock-3 CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:20415: testing package libcanlock-3 CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:20802: testing package libcanlock-3 CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package libcanlock-3 LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:20419: testing package libcanlock-3 LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:20806: testing package libcanlock-3 LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -20540,17 +20927,17 @@ else
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "libcanlock"; then
 	test -n "$verbose" && echo "	found package libcanlock" 1>&6
 
-echo "${as_me:-configure}:20543: testing found package libcanlock ..." 1>&5
+echo "${as_me:-configure}:20930: testing found package libcanlock ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "libcanlock" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "libcanlock" 2>/dev/null`"
 	test -n "$verbose" && echo "	package libcanlock CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:20549: testing package libcanlock CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:20936: testing package libcanlock CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package libcanlock LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:20553: testing package libcanlock LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:20940: testing package libcanlock LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -20676,7 +21063,7 @@ else
 		for cf_canlock_lib in canlock3 canlock
 		do
 			as_ac_Lib=`echo "ac_cv_lib_$cf_canlock_lib''_cl_clear_secret" | $as_tr_sh`
-echo "$as_me:20679: checking for cl_clear_secret in -l$cf_canlock_lib" >&5
+echo "$as_me:21066: checking for cl_clear_secret in -l$cf_canlock_lib" >&5
 echo $ECHO_N "checking for cl_clear_secret in -l$cf_canlock_lib... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Lib+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -20684,7 +21071,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-l$cf_canlock_lib  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 20687 "configure"
+#line 21074 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -20703,16 +21090,16 @@ cl_clear_secret ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:20706: \"$ac_link\"") >&5
+if { (eval echo "$as_me:21093: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:20709: \$? = $ac_status" >&5
+  echo "$as_me:21096: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:20712: \"$ac_try\"") >&5
+  { (eval echo "$as_me:21099: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:20715: \$? = $ac_status" >&5
+  echo "$as_me:21102: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_Lib=yes"
 else
@@ -20723,7 +21110,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:20726: result: `eval echo '${'"$as_ac_Lib"'}'`" >&5
+echo "$as_me:21113: result: `eval echo '${'"$as_ac_Lib"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Lib"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Lib"'}'`" = yes; then
 
@@ -20740,23 +21127,23 @@ fi
 for ac_header in libcanlock-3/canlock.h canlock.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:20743: checking for $ac_header" >&5
+echo "$as_me:21130: checking for $ac_header" >&5
 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 20749 "configure"
+#line 21136 "configure"
 #include "confdefs.h"
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:20753: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:21140: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:20759: \$? = $ac_status" >&5
+  echo "$as_me:21146: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -20775,7 +21162,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:20778: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:21165: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -20804,13 +21191,13 @@ if test "$cf_find_CANLOCK" = yes; then
 			CAN_CPPFLAGS="$cf_canlock_cppflags"
 			test -n "$verbose" && echo "	using installed canlock" 1>&6
 
-echo "${as_me:-configure}:20807: testing using installed canlock ..." 1>&5
+echo "${as_me:-configure}:21194: testing using installed canlock ..." 1>&5
 
 else
 
 			test -n "$verbose" && echo "	using bundled canlock because no installed canlock was found" 1>&6
 
-echo "${as_me:-configure}:20813: testing using bundled canlock because no installed canlock was found ..." 1>&5
+echo "${as_me:-configure}:21200: testing using bundled canlock because no installed canlock was found ..." 1>&5
 
 			CANLIBS='-L../libcanlock -lcanlock'
 			CAN_CPPFLAGS='-I$(top_builddir)/libcanlock/include -I$(top_srcdir)/libcanlock/include'
@@ -20827,26 +21214,24 @@ else
 	cf_path_syntax="$ac_default_prefix"
 fi
 
-case ".$cf_canlock_home" in
-.\$\(*\)*|.\'*\'*)
+case "x$cf_canlock_home" in
+x\$\(*\)*|x\'*\'*)
 	;;
-..|./*|.\\*)
+x.|x$GLOB_FULLPATH_POSIX|x$GLOB_FULLPATH_OTHER)
 	;;
-.[a-zA-Z]:[\\/]*) # OS/2 EMX
-	;;
-.\$\{*prefix\}*|.\$\{*dir\}*)
+x\$\{*prefix\}*|x\$\{*dir\}*)
 	eval cf_canlock_home="$cf_canlock_home"
-	case ".$cf_canlock_home" in
-	.NONE/*)
+	case "x$cf_canlock_home" in
+	xNONE/*)
 		cf_canlock_home=`echo "$cf_canlock_home" | sed -e s%NONE%$cf_path_syntax%`
 		;;
 	esac
 	;;
-.no|.NONE/*)
+xno|xNONE/*)
 	cf_canlock_home=`echo "$cf_canlock_home" | sed -e s%NONE%$cf_path_syntax%`
 	;;
 *)
-	{ { echo "$as_me:20849: error: expected a pathname, not \"$cf_canlock_home\"" >&5
+	{ { echo "$as_me:21234: error: expected a pathname, not \"$cf_canlock_home\"" >&5
 echo "$as_me: error: expected a pathname, not \"$cf_canlock_home\"" >&2;}
    { (exit 1); exit 1; }; }
 	;;
@@ -20857,7 +21242,7 @@ esac
 	CAN_CPPFLAGS="-I${cf_canlock_home}/include"
 	test -n "$verbose" && echo "	using installed canlock $cf_canlock_home" 1>&6
 
-echo "${as_me:-configure}:20860: testing using installed canlock $cf_canlock_home ..." 1>&5
+echo "${as_me:-configure}:21245: testing using installed canlock $cf_canlock_home ..." 1>&5
 
 	;;
 esac
@@ -20871,24 +21256,26 @@ else
 fi
 
 ## gsasl - used for AUTH SASL PLAIN
+## we currently check for gsasl_free() (avail since 0.2.19)
+## update if we ever use calls from a newer API
 gsasl=no
-echo "$as_me:20875: checking for gsasl.h" >&5
+echo "$as_me:21262: checking for gsasl.h" >&5
 echo $ECHO_N "checking for gsasl.h... $ECHO_C" >&6
 if test "${ac_cv_header_gsasl_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 20881 "configure"
+#line 21268 "configure"
 #include "confdefs.h"
 #include <gsasl.h>
 _ACEOF
-if { (eval echo "$as_me:20885: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:21272: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:20891: \$? = $ac_status" >&5
+  echo "$as_me:21278: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -20907,18 +21294,18 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:20910: result: $ac_cv_header_gsasl_h" >&5
+echo "$as_me:21297: result: $ac_cv_header_gsasl_h" >&5
 echo "${ECHO_T}$ac_cv_header_gsasl_h" >&6
 if test "$ac_cv_header_gsasl_h" = yes; then
-  echo "$as_me:20913: checking for gsasl_check_version in -lgsasl" >&5
-echo $ECHO_N "checking for gsasl_check_version in -lgsasl... $ECHO_C" >&6
-if test "${ac_cv_lib_gsasl_gsasl_check_version+set}" = set; then
+  echo "$as_me:21300: checking for gsasl_free in -lgsasl" >&5
+echo $ECHO_N "checking for gsasl_free in -lgsasl... $ECHO_C" >&6
+if test "${ac_cv_lib_gsasl_gsasl_free+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lgsasl  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 20921 "configure"
+#line 21308 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -20927,39 +21314,39 @@ extern "C"
 #endif
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
-char gsasl_check_version (void);
+char gsasl_free (void);
 int
 main (void)
 {
-gsasl_check_version ();
+gsasl_free ();
   ;
   return 0;
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:20940: \"$ac_link\"") >&5
+if { (eval echo "$as_me:21327: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:20943: \$? = $ac_status" >&5
+  echo "$as_me:21330: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:20946: \"$ac_try\"") >&5
+  { (eval echo "$as_me:21333: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:20949: \$? = $ac_status" >&5
+  echo "$as_me:21336: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
-  ac_cv_lib_gsasl_gsasl_check_version=yes
+  ac_cv_lib_gsasl_gsasl_free=yes
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
-ac_cv_lib_gsasl_gsasl_check_version=no
+ac_cv_lib_gsasl_gsasl_free=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:20960: result: $ac_cv_lib_gsasl_gsasl_check_version" >&5
-echo "${ECHO_T}$ac_cv_lib_gsasl_gsasl_check_version" >&6
-if test "$ac_cv_lib_gsasl_gsasl_check_version" = yes; then
+echo "$as_me:21347: result: $ac_cv_lib_gsasl_gsasl_free" >&5
+echo "${ECHO_T}$ac_cv_lib_gsasl_gsasl_free" >&6
+if test "$ac_cv_lib_gsasl_gsasl_free" = yes; then
   gsasl=yes
 fi
 
@@ -20972,22 +21359,22 @@ if test "${enable_gsasl+set}" = set; the
   enableval="$enable_gsasl"
   test "$enableval" != no && enableval=yes
 	if test "$enableval" != "yes" ; then
-    USE_SASL=no
+    :
 	else
-		USE_SASL=yes
+		USE_GSASL=yes
 
 cat >>confdefs.h <<\EOF
-#define USE_SASL 1
+#define USE_GSASL 1
 EOF
 
 		LIBS="$LIBS -lgsasl"
 	fi
 else
   enableval=yes
-	USE_SASL=yes
+	USE_GSASL=yes
 
 cat >>confdefs.h <<\EOF
-#define USE_SASL 1
+#define USE_GSASL 1
 EOF
 
 		LIBS="$LIBS -lgsasl"
@@ -20995,7 +21382,7 @@ EOF
 fi;
 fi
 
-echo "$as_me:20998: checking whether to enable 8-bit keycodes" >&5
+echo "$as_me:21385: checking whether to enable 8-bit keycodes" >&5
 echo $ECHO_N "checking whether to enable 8-bit keycodes... $ECHO_C" >&6
 
 # Check whether --enable-8bit-keys or --disable-8bit-keys was given.
@@ -21019,10 +21406,10 @@ cat >>confdefs.h <<\EOF
 EOF
 
 fi;
-echo "$as_me:21022: result: $enableval" >&5
+echo "$as_me:21409: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
-echo "$as_me:21025: checking whether to enable ANSI-color" >&5
+echo "$as_me:21412: checking whether to enable ANSI-color" >&5
 echo $ECHO_N "checking whether to enable ANSI-color... $ECHO_C" >&6
 
 # Check whether --enable-color or --disable-color was given.
@@ -21036,10 +21423,10 @@ else
   enableval=yes
 fi;
 use_color=$enableval
-echo "$as_me:21039: result: $use_color" >&5
+echo "$as_me:21426: result: $use_color" >&5
 echo "${ECHO_T}$use_color" >&6
 
-echo "$as_me:21042: checking whether to enable posting-etiquette" >&5
+echo "$as_me:21429: checking whether to enable posting-etiquette" >&5
 echo $ECHO_N "checking whether to enable posting-etiquette... $ECHO_C" >&6
 
 # Check whether --enable-etiquette or --disable-etiquette was given.
@@ -21056,10 +21443,10 @@ EOF
 else
   enableval=yes
 fi;
-echo "$as_me:21059: result: $enableval" >&5
+echo "$as_me:21446: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
-echo "$as_me:21062: checking whether to strictly observe RFC2047 and break long lines" >&5
+echo "$as_me:21449: checking whether to strictly observe RFC2047 and break long lines" >&5
 echo $ECHO_N "checking whether to strictly observe RFC2047 and break long lines... $ECHO_C" >&6
 
 # Check whether --enable-break-long-lines or --disable-break-long-lines was given.
@@ -21083,10 +21470,10 @@ cat >>confdefs.h <<\EOF
 EOF
 
 fi;
-echo "$as_me:21086: result: $enableval" >&5
+echo "$as_me:21473: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
-echo "$as_me:21089: checking whether to force MM_CHARSET obeyance when decoding mime" >&5
+echo "$as_me:21476: checking whether to force MM_CHARSET obeyance when decoding mime" >&5
 echo $ECHO_N "checking whether to force MM_CHARSET obeyance when decoding mime... $ECHO_C" >&6
 
 # Check whether --enable-mime-strict-charset or --disable-mime-strict-charset was given.
@@ -21110,10 +21497,10 @@ cat >>confdefs.h <<\EOF
 EOF
 
 fi;
-echo "$as_me:21113: result: $enableval" >&5
+echo "$as_me:21500: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
-echo "$as_me:21116: checking for MIME character-set" >&5
+echo "$as_me:21503: checking for MIME character-set" >&5
 echo $ECHO_N "checking for MIME character-set... $ECHO_C" >&6
 
 # Check whether --with-mime-default-charset or --without-mime-default-charset was given.
@@ -21125,7 +21512,7 @@ else
 fi;
 case "$withval" in #(vi
 yes|no)
-  { { echo "$as_me:21128: error: expected a value for --with-mime-default-charset" >&5
+  { { echo "$as_me:21515: error: expected a value for --with-mime-default-charset" >&5
 echo "$as_me: error: expected a value for --with-mime-default-charset" >&2;}
    { (exit 1); exit 1; }; }
   ;;
@@ -21136,10 +21523,10 @@ cat >>confdefs.h <<EOF
 #define MM_CHARSET "$MM_CHARSET"
 EOF
 
-echo "$as_me:21139: result: $MM_CHARSET" >&5
+echo "$as_me:21526: result: $MM_CHARSET" >&5
 echo "${ECHO_T}$MM_CHARSET" >&6
 
-echo "$as_me:21142: checking for default ISO/ASCII table" >&5
+echo "$as_me:21529: checking for default ISO/ASCII table" >&5
 echo $ECHO_N "checking for default ISO/ASCII table... $ECHO_C" >&6
 
 # Check whether --with-iso-to-ascii or --without-iso-to-ascii was given.
@@ -21151,7 +21538,7 @@ else
 fi;
 case "$withval" in #(vi
 yes|no)
-  { { echo "$as_me:21154: error: expected a value for --with-iso-to-ascii" >&5
+  { { echo "$as_me:21541: error: expected a value for --with-iso-to-ascii" >&5
 echo "$as_me: error: expected a value for --with-iso-to-ascii" >&2;}
    { (exit 1); exit 1; }; }
   ;;
@@ -21162,10 +21549,10 @@ cat >>confdefs.h <<EOF
 #define DEFAULT_ISO2ASC "$DEFAULT_ISO2ASC"
 EOF
 
-echo "$as_me:21165: result: $DEFAULT_ISO2ASC" >&5
+echo "$as_me:21552: result: $DEFAULT_ISO2ASC" >&5
 echo "${ECHO_T}$DEFAULT_ISO2ASC" >&6
 
-echo "$as_me:21168: checking whether to enable locale support" >&5
+echo "$as_me:21555: checking whether to enable locale support" >&5
 echo $ECHO_N "checking whether to enable locale support... $ECHO_C" >&6
 
 # Check whether --enable-locale or --disable-locale was given.
@@ -21182,10 +21569,10 @@ EOF
 else
   enableval=yes
 fi;
-echo "$as_me:21185: result: $enableval" >&5
+echo "$as_me:21572: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
-echo "$as_me:21188: checking whether to enable posting" >&5
+echo "$as_me:21575: checking whether to enable posting" >&5
 echo $ECHO_N "checking whether to enable posting... $ECHO_C" >&6
 
 # Check whether --enable-posting or --disable-posting was given.
@@ -21202,10 +21589,10 @@ EOF
 else
   enableval=yes
 fi;
-echo "$as_me:21205: result: $enableval" >&5
+echo "$as_me:21592: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
-echo "$as_me:21208: checking whether to enable shell escape" >&5
+echo "$as_me:21595: checking whether to enable shell escape" >&5
 echo $ECHO_N "checking whether to enable shell escape... $ECHO_C" >&6
 
 # Check whether --enable-shell-escape or --disable-shell-escape was given.
@@ -21222,10 +21609,10 @@ EOF
 else
   enableval=yes
 fi;
-echo "$as_me:21225: result: $enableval" >&5
+echo "$as_me:21612: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
-echo "$as_me:21228: checking whether to have fascist newsadmin" >&5
+echo "$as_me:21615: checking whether to have fascist newsadmin" >&5
 echo $ECHO_N "checking whether to have fascist newsadmin... $ECHO_C" >&6
 
 # Check whether --enable-fascist-newsadmin or --disable-fascist-newsadmin was given.
@@ -21242,10 +21629,10 @@ EOF
 else
   enableval=no
 fi;
-echo "$as_me:21245: result: $enableval" >&5
+echo "$as_me:21632: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
-echo "$as_me:21248: checking whether to enable inverse video and highlighting" >&5
+echo "$as_me:21635: checking whether to enable inverse video and highlighting" >&5
 echo $ECHO_N "checking whether to enable inverse video and highlighting... $ECHO_C" >&6
 
 # Check whether --enable-inverse-video or --disable-inverse-video was given.
@@ -21262,10 +21649,10 @@ EOF
 else
   enableval=yes
 fi;
-echo "$as_me:21265: result: $enableval" >&5
+echo "$as_me:21652: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
-echo "$as_me:21268: checking whether to enable piping support" >&5
+echo "$as_me:21655: checking whether to enable piping support" >&5
 echo $ECHO_N "checking whether to enable piping support... $ECHO_C" >&6
 
 # Check whether --enable-piping or --disable-piping was given.
@@ -21282,10 +21669,10 @@ EOF
 else
   enableval=yes
 fi;
-echo "$as_me:21285: result: $enableval" >&5
+echo "$as_me:21672: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
-echo "$as_me:21288: checking whether to enable printer support" >&5
+echo "$as_me:21675: checking whether to enable printer support" >&5
 echo $ECHO_N "checking whether to enable printer support... $ECHO_C" >&6
 
 # Check whether --enable-printing or --disable-printing was given.
@@ -21302,10 +21689,11 @@ EOF
 else
   enableval=yes
 fi;
-echo "$as_me:21305: result: $enableval" >&5
+echo "$as_me:21692: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
-echo "$as_me:21308: checking whether to unique tmp-files by appending .pid" >&5
+### TODO: skip and disable if $ac_cv_sys_long_file_names != yes
+echo "$as_me:21696: checking whether to unique tmp-files by appending .pid" >&5
 echo $ECHO_N "checking whether to unique tmp-files by appending .pid... $ECHO_C" >&6
 
 # Check whether --enable-append-pid or --disable-append-pid was given.
@@ -21329,10 +21717,10 @@ cat >>confdefs.h <<\EOF
 EOF
 
 fi;
-echo "$as_me:21332: result: $enableval" >&5
+echo "$as_me:21720: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
-echo "$as_me:21335: checking whether to fallback to XHDR XREF if XOVER isn't supported" >&5
+echo "$as_me:21723: checking whether to fallback to XHDR XREF if XOVER isn't supported" >&5
 echo $ECHO_N "checking whether to fallback to XHDR XREF if XOVER isn't supported... $ECHO_C" >&6
 
 # Check whether --enable-xhdr-xref or --disable-xhdr-xref was given.
@@ -21356,11 +21744,11 @@ cat >>confdefs.h <<\EOF
 EOF
 
 fi;
-echo "$as_me:21359: result: $enableval" >&5
+echo "$as_me:21747: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
 ### bypass a bug in old versions of leafnode & NNTPcache
-echo "$as_me:21363: checking whether to send a GROUP command before a LISTGROUP" >&5
+echo "$as_me:21751: checking whether to send a GROUP command before a LISTGROUP" >&5
 echo $ECHO_N "checking whether to send a GROUP command before a LISTGROUP... $ECHO_C" >&6
 
 # Check whether --enable-broken-listgroup-fix or --disable-broken-listgroup-fix was given.
@@ -21377,11 +21765,11 @@ EOF
 else
   enableval=no
 fi;
-echo "$as_me:21380: result: $enableval" >&5
+echo "$as_me:21768: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
 ### on some old systems the WIFEXITED()/WEXITSTATUS() macros do not work
-echo "$as_me:21384: checking whether to ignore system()s return value" >&5
+echo "$as_me:21772: checking whether to ignore system()s return value" >&5
 echo $ECHO_N "checking whether to ignore system()s return value... $ECHO_C" >&6
 
 # Check whether --enable-broken-system-fix or --disable-broken-system-fix was given.
@@ -21398,11 +21786,11 @@ EOF
 else
   enableval=no
 fi;
-echo "$as_me:21401: result: $enableval" >&5
+echo "$as_me:21789: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
 ### checks for the location of the system-wide default setting file
-echo "$as_me:21405: checking for directory containing tin.defaults file" >&5
+echo "$as_me:21793: checking for directory containing tin.defaults file" >&5
 echo $ECHO_N "checking for directory containing tin.defaults file... $ECHO_C" >&6
 
 # Check whether --with-defaults-dir or --without-defaults-dir was given.
@@ -21419,26 +21807,24 @@ else
 	cf_path_syntax="$ac_default_prefix"
 fi
 
-case ".$withval" in
-.\$\(*\)*|.\'*\'*)
-	;;
-..|./*|.\\*)
+case "x$withval" in
+x\$\(*\)*|x\'*\'*)
 	;;
-.[a-zA-Z]:[\\/]*) # OS/2 EMX
+x.|x$GLOB_FULLPATH_POSIX|x$GLOB_FULLPATH_OTHER)
 	;;
-.\$\{*prefix\}*|.\$\{*dir\}*)
+x\$\{*prefix\}*|x\$\{*dir\}*)
 	eval withval="$withval"
-	case ".$withval" in
-	.NONE/*)
+	case "x$withval" in
+	xNONE/*)
 		withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
 		;;
 	esac
 	;;
-.no|.NONE/*)
+xno|xNONE/*)
 	withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
 	;;
 *)
-	{ { echo "$as_me:21441: error: expected a pathname, not \"$withval\"" >&5
+	{ { echo "$as_me:21827: error: expected a pathname, not \"$withval\"" >&5
 echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
    { (exit 1); exit 1; }; }
 	;;
@@ -21447,7 +21833,7 @@ esac
 fi
 eval TIN_DEFAULTS_DIR="$withval"
 
-echo "$as_me:21450: result: $TIN_DEFAULTS_DIR" >&5
+echo "$as_me:21836: result: $TIN_DEFAULTS_DIR" >&5
 echo "${ECHO_T}$TIN_DEFAULTS_DIR" >&6
 
 cat >>confdefs.h <<EOF
@@ -21455,7 +21841,7 @@ cat >>confdefs.h <<EOF
 EOF
 
 ### check for ipv6 support
-echo "$as_me:21458: checking whether to enable IPv6" >&5
+echo "$as_me:21844: checking whether to enable IPv6" >&5
 echo $ECHO_N "checking whether to enable IPv6... $ECHO_C" >&6
 
 # Check whether --enable-ipv6 or --disable-ipv6 was given.
@@ -21479,11 +21865,11 @@ cat >>confdefs.h <<\EOF
 EOF
 
 fi;
-echo "$as_me:21482: result: $enableval" >&5
+echo "$as_me:21868: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 if test "$enableval" = "yes"; then
 
-echo "$as_me:21486: checking ipv6 stack type" >&5
+echo "$as_me:21872: checking ipv6 stack type" >&5
 echo $ECHO_N "checking ipv6 stack type... $ECHO_C" >&6
 if test "${cf_cv_ipv6type+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -21504,7 +21890,7 @@ do
 		;;
 	inria)
 				cat >"conftest.$ac_ext" <<_ACEOF
-#line 21507 "configure"
+#line 21893 "configure"
 #include "confdefs.h"
 
 #include <netinet/in.h>
@@ -21521,7 +21907,7 @@ rm -rf conftest*
 		;;
 	kame)
 				cat >"conftest.$ac_ext" <<_ACEOF
-#line 21524 "configure"
+#line 21910 "configure"
 #include "confdefs.h"
 
 #include <netinet/in.h>
@@ -21538,7 +21924,7 @@ rm -rf conftest*
 		;;
 	linux-glibc)
 				cat >"conftest.$ac_ext" <<_ACEOF
-#line 21541 "configure"
+#line 21927 "configure"
 #include "confdefs.h"
 
 #include <features.h>
@@ -21564,7 +21950,7 @@ rm -rf conftest*
 		;;
 	toshiba)
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 21567 "configure"
+#line 21953 "configure"
 #include "confdefs.h"
 
 #include <sys/param.h>
@@ -21581,7 +21967,7 @@ rm -rf conftest*
 		;;
 	v6d)
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 21584 "configure"
+#line 21970 "configure"
 #include "confdefs.h"
 
 #include </usr/local/v6/include/sys/v6config.h>
@@ -21598,7 +21984,7 @@ rm -rf conftest*
 		;;
 	zeta)
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 21601 "configure"
+#line 21987 "configure"
 #include "confdefs.h"
 
 #include <sys/param.h>
@@ -21620,13 +22006,13 @@ rm -rf conftest*
 done
 
 fi
-echo "$as_me:21623: result: $cf_cv_ipv6type" >&5
+echo "$as_me:22009: result: $cf_cv_ipv6type" >&5
 echo "${ECHO_T}$cf_cv_ipv6type" >&6
 
 cf_ipv6lib=none
 cf_ipv6dir=none
 
-echo "$as_me:21629: checking for IPv6 library if required" >&5
+echo "$as_me:22015: checking for IPv6 library if required" >&5
 echo $ECHO_N "checking for IPv6 library if required... $ECHO_C" >&6
 case "$cf_cv_ipv6type" in
 solaris)
@@ -21656,13 +22042,13 @@ zeta)
 	cf_ipv6dir=v6
 	;;
 esac
-echo "$as_me:21659: result: $cf_ipv6lib" >&5
+echo "$as_me:22045: result: $cf_ipv6lib" >&5
 echo "${ECHO_T}$cf_ipv6lib" >&6
 
 if test "$cf_ipv6lib" != "none"; then
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 21665 "configure"
+#line 22051 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -21678,16 +22064,16 @@ getaddrinfo(0, 0, 0, 0)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:21681: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22067: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:21684: \$? = $ac_status" >&5
+  echo "$as_me:22070: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:21687: \"$ac_try\"") >&5
+  { (eval echo "$as_me:22073: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:21690: \$? = $ac_status" >&5
+  echo "$as_me:22076: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -21808,7 +22194,7 @@ if test -n "$cf_incdir" ; then
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 21811 "configure"
+#line 22197 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -21820,16 +22206,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:21823: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:22209: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:21826: \$? = $ac_status" >&5
+  echo "$as_me:22212: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:21829: \"$ac_try\"") >&5
+  { (eval echo "$as_me:22215: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:21832: \$? = $ac_status" >&5
+  echo "$as_me:22218: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -21846,7 +22232,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:21849: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:22235: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -21874,13 +22260,13 @@ rm -f "conftest.$ac_objext" "conftest$ac
 
 	eval 'cf_cv_have_lib_'"$cf_ipv6lib"'=no'
 	cf_libdir=""
-	echo "$as_me:21877: checking for getaddrinfo" >&5
+	echo "$as_me:22263: checking for getaddrinfo" >&5
 echo $ECHO_N "checking for getaddrinfo... $ECHO_C" >&6
 if test "${ac_cv_func_getaddrinfo+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 21883 "configure"
+#line 22269 "configure"
 #include "confdefs.h"
 #define getaddrinfo autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -21911,16 +22297,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:21914: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22300: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:21917: \$? = $ac_status" >&5
+  echo "$as_me:22303: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:21920: \"$ac_try\"") >&5
+  { (eval echo "$as_me:22306: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:21923: \$? = $ac_status" >&5
+  echo "$as_me:22309: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_getaddrinfo=yes
 else
@@ -21930,18 +22316,18 @@ ac_cv_func_getaddrinfo=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:21933: result: $ac_cv_func_getaddrinfo" >&5
+echo "$as_me:22319: result: $ac_cv_func_getaddrinfo" >&5
 echo "${ECHO_T}$ac_cv_func_getaddrinfo" >&6
 if test "$ac_cv_func_getaddrinfo" = yes; then
   eval 'cf_cv_have_lib_'"$cf_ipv6lib"'=yes'
 else
 
 		cf_save_LIBS="$LIBS"
-		echo "$as_me:21940: checking for getaddrinfo in -l$cf_ipv6lib" >&5
+		echo "$as_me:22326: checking for getaddrinfo in -l$cf_ipv6lib" >&5
 echo $ECHO_N "checking for getaddrinfo in -l$cf_ipv6lib... $ECHO_C" >&6
 		LIBS="-l$cf_ipv6lib $LIBS"
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 21944 "configure"
+#line 22330 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -21957,25 +22343,25 @@ getaddrinfo(0, 0, 0, 0)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:21960: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22346: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:21963: \$? = $ac_status" >&5
+  echo "$as_me:22349: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:21966: \"$ac_try\"") >&5
+  { (eval echo "$as_me:22352: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:21969: \$? = $ac_status" >&5
+  echo "$as_me:22355: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
-  echo "$as_me:21971: result: yes" >&5
+  echo "$as_me:22357: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 			 eval 'cf_cv_have_lib_'"$cf_ipv6lib"'=yes'
 
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
-echo "$as_me:21978: result: no" >&5
+echo "$as_me:22364: result: no" >&5
 echo "${ECHO_T}no" >&6
 
 cf_search=
@@ -22043,11 +22429,11 @@ cf_search="$cf_library_path_list $cf_sea
 
 			for cf_libdir in $cf_search
 			do
-				echo "$as_me:22046: checking for -l$cf_ipv6lib in $cf_libdir" >&5
+				echo "$as_me:22432: checking for -l$cf_ipv6lib in $cf_libdir" >&5
 echo $ECHO_N "checking for -l$cf_ipv6lib in $cf_libdir... $ECHO_C" >&6
 				LIBS="-L$cf_libdir -l$cf_ipv6lib $cf_save_LIBS"
 				cat >"conftest.$ac_ext" <<_ACEOF
-#line 22050 "configure"
+#line 22436 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -22063,25 +22449,25 @@ getaddrinfo(0, 0, 0, 0)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:22066: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22452: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:22069: \$? = $ac_status" >&5
+  echo "$as_me:22455: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:22072: \"$ac_try\"") >&5
+  { (eval echo "$as_me:22458: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:22075: \$? = $ac_status" >&5
+  echo "$as_me:22461: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
-  echo "$as_me:22077: result: yes" >&5
+  echo "$as_me:22463: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 			 		 eval 'cf_cv_have_lib_'"$cf_ipv6lib"'=yes'
 					 break
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
-echo "$as_me:22084: result: no" >&5
+echo "$as_me:22470: result: no" >&5
 echo "${ECHO_T}no" >&6
 					 LIBS="$cf_save_LIBS"
 fi
@@ -22096,7 +22482,7 @@ fi
 eval 'cf_found_library="$cf_cv_have_lib_'"$cf_ipv6lib"\"
 
 	if test "$cf_found_library" = no ; then
-		{ { echo "$as_me:22099: error: No $cf_ipv6lib library found, cannot continue.  You must fetch lib$cf_ipv6lib.a
+		{ { echo "$as_me:22485: error: No $cf_ipv6lib library found, cannot continue.  You must fetch lib$cf_ipv6lib.a
 from an appropriate IPv6 kit and compile beforehand." >&5
 echo "$as_me: error: No $cf_ipv6lib library found, cannot continue.  You must fetch lib$cf_ipv6lib.a
 from an appropriate IPv6 kit and compile beforehand." >&2;}
@@ -22104,7 +22490,7 @@ from an appropriate IPv6 kit and compile
 	fi
 fi
 
-echo "$as_me:22107: checking working getaddrinfo" >&5
+echo "$as_me:22493: checking working getaddrinfo" >&5
 echo $ECHO_N "checking working getaddrinfo... $ECHO_C" >&6
 if test "${cf_cv_getaddrinfo+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -22114,7 +22500,7 @@ if test "$cross_compiling" = yes; then
   cf_cv_getaddrinfo=unknown
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 22117 "configure"
+#line 22503 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -22194,15 +22580,15 @@ int main(void)
 
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:22197: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22583: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:22200: \$? = $ac_status" >&5
+  echo "$as_me:22586: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:22202: \"$ac_try\"") >&5
+  { (eval echo "$as_me:22588: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:22205: \$? = $ac_status" >&5
+  echo "$as_me:22591: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_getaddrinfo=yes
 else
@@ -22215,7 +22601,7 @@ rm -f core ./core.* ./*.core "conftest$a
 fi
 
 fi
-echo "$as_me:22218: result: $cf_cv_getaddrinfo" >&5
+echo "$as_me:22604: result: $cf_cv_getaddrinfo" >&5
 echo "${ECHO_T}$cf_cv_getaddrinfo" >&6
 if test "$cf_cv_getaddrinfo" = yes ; then
 
@@ -22231,12 +22617,12 @@ fi
 
 if test "$cf_cv_getaddrinfo" != "yes"; then
 	if test "$cf_cv_ipv6type" != "linux"; then
-		{ echo "$as_me:22234: WARNING: You must get working getaddrinfo() function,
+		{ echo "$as_me:22620: WARNING: You must get working getaddrinfo() function,
 or you can specify \"--disable-ipv6\"" >&5
 echo "$as_me: WARNING: You must get working getaddrinfo() function,
 or you can specify \"--disable-ipv6\"" >&2;}
 	else
-		{ echo "$as_me:22239: WARNING: The getaddrinfo() implementation on your system seems be buggy.
+		{ echo "$as_me:22625: WARNING: The getaddrinfo() implementation on your system seems be buggy.
 You should upgrade your system library to the newest version
 of GNU C library (aka glibc)." >&5
 echo "$as_me: WARNING: The getaddrinfo() implementation on your system seems be buggy.
@@ -22250,13 +22636,13 @@ fi
 for ac_func in getaddrinfo getnameinfo
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:22253: checking for $ac_func" >&5
+echo "$as_me:22639: checking for $ac_func" >&5
 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
 if eval "test \"\${$as_ac_var+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 22259 "configure"
+#line 22645 "configure"
 #include "confdefs.h"
 #define $ac_func autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -22287,16 +22673,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:22290: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22676: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:22293: \$? = $ac_status" >&5
+  echo "$as_me:22679: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:22296: \"$ac_try\"") >&5
+  { (eval echo "$as_me:22682: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:22299: \$? = $ac_status" >&5
+  echo "$as_me:22685: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_var=yes"
 else
@@ -22306,7 +22692,7 @@ eval "$as_ac_var=no"
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:22309: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:22695: result: `eval echo '${'"$as_ac_var"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
 if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -22319,7 +22705,7 @@ fi
 done
 
 ### should we use 64 bit article numbers if possible?
-echo "$as_me:22322: checking whether to enable long article numbers" >&5
+echo "$as_me:22708: checking whether to enable long article numbers" >&5
 echo $ECHO_N "checking whether to enable long article numbers... $ECHO_C" >&6
 
 # Check whether --enable-long-article-numbers or --disable-long-article-numbers was given.
@@ -22336,12 +22722,12 @@ EOF
 else
   enableval=no
 fi;
-echo "$as_me:22339: result: $enableval" >&5
+echo "$as_me:22725: result: $enableval" >&5
 echo "${ECHO_T}$enableval" >&6
 
 ### TLS support
 if test "$USE_NNTP" = "yes" ; then
-echo "$as_me:22344: checking whether to enable NNTPS support" >&5
+echo "$as_me:22730: checking whether to enable NNTPS support" >&5
 echo $ECHO_N "checking whether to enable NNTPS support... $ECHO_C" >&6
 
 # Check whether --with-nntps or --without-nntps was given.
@@ -22351,7 +22737,7 @@ if test "${with_nntps+set}" = set; then
 else
   enable_nntps="no"
 fi;
-echo "$as_me:22354: result: $enable_nntps" >&5
+echo "$as_me:22740: result: $enable_nntps" >&5
 echo "${ECHO_T}$enable_nntps" >&6
 
 # TODO: checklib for openssl in non pkg-config case
@@ -22360,23 +22746,23 @@ echo "${ECHO_T}$enable_nntps" >&6
 if test "$enable_nntps" != "no"; then
   if test "$enable_nntps" = "yes" || test "$enable_nntps" = "libtls"; then
 
-echo "$as_me:22363: checking for LibreSSL" >&5
+echo "$as_me:22749: checking for LibreSSL" >&5
 echo $ECHO_N "checking for LibreSSL... $ECHO_C" >&6
 
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "libtls"; then
 	test -n "$verbose" && echo "	found package libtls" 1>&6
 
-echo "${as_me:-configure}:22369: testing found package libtls ..." 1>&5
+echo "${as_me:-configure}:22755: testing found package libtls ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "libtls" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "libtls" 2>/dev/null`"
 	test -n "$verbose" && echo "	package libtls CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:22375: testing package libtls CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:22761: testing package libtls CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package libtls LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:22379: testing package libtls LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:22765: testing package libtls LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -22493,7 +22879,7 @@ done
 LIBS="$cf_add_libs"
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 22496 "configure"
+#line 22882 "configure"
 #include "confdefs.h"
 
 #include <tls.h>
@@ -22511,16 +22897,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:22514: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:22900: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:22517: \$? = $ac_status" >&5
+  echo "$as_me:22903: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:22520: \"$ac_try\"") >&5
+  { (eval echo "$as_me:22906: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:22523: \$? = $ac_status" >&5
+  echo "$as_me:22909: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   have_libtls=yes
 else
@@ -22528,7 +22914,7 @@ else
 cat "conftest.$ac_ext" >&5
 
 have_libtls=no
-echo "$as_me:22531: result: \tLibreSSL TLS_API too old (< 20200120)" >&5
+echo "$as_me:22917: result: \tLibreSSL TLS_API too old (< 20200120)" >&5
 echo "${ECHO_T}\tLibreSSL TLS_API too old (< 20200120)" >&6
 
 fi
@@ -22537,7 +22923,7 @@ else
 	cf_pkgconfig_incs=
 	cf_pkgconfig_libs=
 
-echo "$as_me:22540: checking for tls_config_new in -ltls" >&5
+echo "$as_me:22926: checking for tls_config_new in -ltls" >&5
 echo $ECHO_N "checking for tls_config_new in -ltls... $ECHO_C" >&6
 if test "${ac_cv_lib_tls_tls_config_new+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -22545,7 +22931,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ltls  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 22548 "configure"
+#line 22934 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -22564,16 +22950,16 @@ tls_config_new ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:22567: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22953: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:22570: \$? = $ac_status" >&5
+  echo "$as_me:22956: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:22573: \"$ac_try\"") >&5
+  { (eval echo "$as_me:22959: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:22576: \$? = $ac_status" >&5
+  echo "$as_me:22962: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_tls_tls_config_new=yes
 else
@@ -22584,30 +22970,30 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:22587: result: $ac_cv_lib_tls_tls_config_new" >&5
+echo "$as_me:22973: result: $ac_cv_lib_tls_tls_config_new" >&5
 echo "${ECHO_T}$ac_cv_lib_tls_tls_config_new" >&6
 if test "$ac_cv_lib_tls_tls_config_new" = yes; then
 
 for ac_header in tls.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:22594: checking for $ac_header" >&5
+echo "$as_me:22980: checking for $ac_header" >&5
 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 22600 "configure"
+#line 22986 "configure"
 #include "confdefs.h"
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:22604: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:22990: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:22610: \$? = $ac_status" >&5
+  echo "$as_me:22996: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -22626,7 +23012,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:22629: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:23015: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -22634,7 +23020,7 @@ if test "`eval echo '${'"$as_ac_Header"'
 EOF
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 22637 "configure"
+#line 23023 "configure"
 #include "confdefs.h"
 
 #include <tls.h>
@@ -22652,16 +23038,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:22655: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:23041: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:22658: \$? = $ac_status" >&5
+  echo "$as_me:23044: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:22661: \"$ac_try\"") >&5
+  { (eval echo "$as_me:23047: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:22664: \$? = $ac_status" >&5
+  echo "$as_me:23050: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 LIBS="$LIBS -ltls"
@@ -22671,7 +23057,7 @@ else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
 have_libtls=no
-echo "$as_me:22674: result: \tLibreSSL TLS_API too old (< 20200120)" >&5
+echo "$as_me:23060: result: \tLibreSSL TLS_API too old (< 20200120)" >&5
 echo "${ECHO_T}\tLibreSSL TLS_API too old (< 20200120)" >&6
 
 fi
@@ -22685,7 +23071,7 @@ done
 else
 
 have_libtls=no
-echo "$as_me:22688: result: $have_libtls" >&5
+echo "$as_me:23074: result: $have_libtls" >&5
 echo "${ECHO_T}$have_libtls" >&6
 
 fi
@@ -22696,23 +23082,23 @@ fi
 
 	if test "$enable_nntps" = "yes" && test "$have_libtls" = "no" || test "$enable_nntps" = "openssl"; then
 
-echo "$as_me:22699: checking for OpenSSL" >&5
+echo "$as_me:23085: checking for OpenSSL" >&5
 echo $ECHO_N "checking for OpenSSL... $ECHO_C" >&6
 
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "openssl"; then
 	test -n "$verbose" && echo "	found package openssl" 1>&6
 
-echo "${as_me:-configure}:22705: testing found package openssl ..." 1>&5
+echo "${as_me:-configure}:23091: testing found package openssl ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "openssl" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "openssl" 2>/dev/null`"
 	test -n "$verbose" && echo "	package openssl CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:22711: testing package openssl CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:23097: testing package openssl CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package openssl LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:22715: testing package openssl LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:23101: testing package openssl LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -22829,7 +23215,7 @@ done
 LIBS="$cf_add_libs"
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 22832 "configure"
+#line 23218 "configure"
 #include "confdefs.h"
 
 #include <openssl/ssl.h>
@@ -22852,16 +23238,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:22855: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:23241: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:22858: \$? = $ac_status" >&5
+  echo "$as_me:23244: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:22861: \"$ac_try\"") >&5
+  { (eval echo "$as_me:23247: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:22864: \$? = $ac_status" >&5
+  echo "$as_me:23250: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   have_openssl=yes
 else
@@ -22869,7 +23255,7 @@ else
 cat "conftest.$ac_ext" >&5
 
 have_openssl=no
-echo "$as_me:22872: result: \tOpenSSL too old (< 1.1.1)" >&5
+echo "$as_me:23258: result: \tOpenSSL too old (< 1.1.1)" >&5
 echo "${ECHO_T}\tOpenSSL too old (< 1.1.1)" >&6
 
 fi
@@ -22879,7 +23265,7 @@ else
 	cf_pkgconfig_libs=
 
 have_openssl=no
-echo "$as_me:22882: result: $have_openssl" >&5
+echo "$as_me:23268: result: $have_openssl" >&5
 echo "${ECHO_T}$have_openssl" >&6
 
 fi
@@ -22888,23 +23274,23 @@ fi
 
 	if test "$enable_nntps" = "yes" && test "$have_libtls" = "no" && test "$have_openssl" = "no" || test "$enable_nntps" = "gnutls"; then
 
-echo "$as_me:22891: checking for GnuTLS" >&5
+echo "$as_me:23277: checking for GnuTLS" >&5
 echo $ECHO_N "checking for GnuTLS... $ECHO_C" >&6
 
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "gnutls"; then
 	test -n "$verbose" && echo "	found package gnutls" 1>&6
 
-echo "${as_me:-configure}:22897: testing found package gnutls ..." 1>&5
+echo "${as_me:-configure}:23283: testing found package gnutls ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "gnutls" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "gnutls" 2>/dev/null`"
 	test -n "$verbose" && echo "	package gnutls CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:22903: testing package gnutls CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:23289: testing package gnutls CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package gnutls LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:22907: testing package gnutls LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:23293: testing package gnutls LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -23021,7 +23407,7 @@ done
 LIBS="$cf_add_libs"
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 23024 "configure"
+#line 23410 "configure"
 #include "confdefs.h"
 
 #include <gnutls/gnutls.h>
@@ -23040,23 +23426,23 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:23043: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:23429: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:23046: \$? = $ac_status" >&5
+  echo "$as_me:23432: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:23049: \"$ac_try\"") >&5
+  { (eval echo "$as_me:23435: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:23052: \$? = $ac_status" >&5
+  echo "$as_me:23438: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   have_gnutls=yes
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
 
-echo "$as_me:23059: result: \tGnuTLS too old (< 3.7.0)" >&5
+echo "$as_me:23445: result: \tGnuTLS too old (< 3.7.0)" >&5
 echo "${ECHO_T}\tGnuTLS too old (< 3.7.0)" >&6
 
 fi
@@ -23065,7 +23451,7 @@ else
 	cf_pkgconfig_incs=
 	cf_pkgconfig_libs=
 
-echo "$as_me:23068: checking for gnutls_certificate_allocate_credentials in -lgnutls" >&5
+echo "$as_me:23454: checking for gnutls_certificate_allocate_credentials in -lgnutls" >&5
 echo $ECHO_N "checking for gnutls_certificate_allocate_credentials in -lgnutls... $ECHO_C" >&6
 if test "${ac_cv_lib_gnutls_gnutls_certificate_allocate_credentials+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -23073,7 +23459,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lgnutls  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 23076 "configure"
+#line 23462 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -23092,16 +23478,16 @@ gnutls_certificate_allocate_credentials
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:23095: \"$ac_link\"") >&5
+if { (eval echo "$as_me:23481: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:23098: \$? = $ac_status" >&5
+  echo "$as_me:23484: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:23101: \"$ac_try\"") >&5
+  { (eval echo "$as_me:23487: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:23104: \$? = $ac_status" >&5
+  echo "$as_me:23490: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_gnutls_gnutls_certificate_allocate_credentials=yes
 else
@@ -23112,30 +23498,30 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:23115: result: $ac_cv_lib_gnutls_gnutls_certificate_allocate_credentials" >&5
+echo "$as_me:23501: result: $ac_cv_lib_gnutls_gnutls_certificate_allocate_credentials" >&5
 echo "${ECHO_T}$ac_cv_lib_gnutls_gnutls_certificate_allocate_credentials" >&6
 if test "$ac_cv_lib_gnutls_gnutls_certificate_allocate_credentials" = yes; then
 
 for ac_header in gnutls/gnutls.h gnutls/x509.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:23122: checking for $ac_header" >&5
+echo "$as_me:23508: checking for $ac_header" >&5
 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 23128 "configure"
+#line 23514 "configure"
 #include "confdefs.h"
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:23132: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:23518: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:23138: \$? = $ac_status" >&5
+  echo "$as_me:23524: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -23154,7 +23540,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:23157: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:23543: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -23162,7 +23548,7 @@ if test "`eval echo '${'"$as_ac_Header"'
 EOF
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 23165 "configure"
+#line 23551 "configure"
 #include "confdefs.h"
 
 #include <gnutls/gnutls.h>
@@ -23181,16 +23567,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:23184: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:23570: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:23187: \$? = $ac_status" >&5
+  echo "$as_me:23573: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:23190: \"$ac_try\"") >&5
+  { (eval echo "$as_me:23576: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:23193: \$? = $ac_status" >&5
+  echo "$as_me:23579: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 LIBS="$LIBS -lgnutls"
@@ -23200,7 +23586,7 @@ else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
 have_gnutls=no
-echo "$as_me:23203: result: \tGnuTLS too old (< 3.7.0)" >&5
+echo "$as_me:23589: result: \tGnuTLS too old (< 3.7.0)" >&5
 echo "${ECHO_T}\tGnuTLS too old (< 3.7.0)" >&6
 
 fi
@@ -23214,7 +23600,7 @@ done
 else
 
 have_gnutls=no=no
-echo "$as_me:23217: result: $have_gnutls" >&5
+echo "$as_me:23603: result: $have_gnutls" >&5
 echo "${ECHO_T}$have_gnutls" >&6
 
 fi
@@ -23224,7 +23610,7 @@ fi
 fi
 
 	if test "$have_libtls" != "yes" && test "$have_openssl" != "yes" && test "$have_gnutls" != "yes"; then
-  { { echo "$as_me:23227: error: You requested NNTPS support but no usable TLS implementation was found" >&5
+  { { echo "$as_me:23613: error: You requested NNTPS support but no usable TLS implementation was found" >&5
 echo "$as_me: error: You requested NNTPS support but no usable TLS implementation was found" >&2;}
    { (exit 1); exit 1; }; }
 else
@@ -23264,23 +23650,23 @@ fi
 ### with separately
 if test "$have_libtls" = "yes"; then
 
-	echo "$as_me:23267: checking for libcrypto" >&5
+	echo "$as_me:23653: checking for libcrypto" >&5
 echo $ECHO_N "checking for libcrypto... $ECHO_C" >&6
 
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "crypto"; then
 	test -n "$verbose" && echo "	found package crypto" 1>&6
 
-echo "${as_me:-configure}:23273: testing found package crypto ..." 1>&5
+echo "${as_me:-configure}:23659: testing found package crypto ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "crypto" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "crypto" 2>/dev/null`"
 	test -n "$verbose" && echo "	package crypto CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:23279: testing package crypto CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:23665: testing package crypto CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package crypto LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:23283: testing package crypto LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:23669: testing package crypto LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -23397,7 +23783,7 @@ done
 LIBS="$cf_add_libs"
 
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 23400 "configure"
+#line 23786 "configure"
 #include "confdefs.h"
 
 #include <openssl/ssl.h>
@@ -23413,16 +23799,16 @@ BIO_free(NULL);
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:23416: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:23802: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:23419: \$? = $ac_status" >&5
+  echo "$as_me:23805: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:23422: \"$ac_try\"") >&5
+  { (eval echo "$as_me:23808: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:23425: \$? = $ac_status" >&5
+  echo "$as_me:23811: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 			have_libcrypto=yes
@@ -23436,7 +23822,7 @@ else
 cat "conftest.$ac_ext" >&5
 
 			have_libcrypto=no
-			echo "$as_me:23439: result: $have_libcrypto" >&5
+			echo "$as_me:23825: result: $have_libcrypto" >&5
 echo "${ECHO_T}$have_libcrypto" >&6
 
 fi
@@ -23446,7 +23832,7 @@ else
 	cf_pkgconfig_incs=
 	cf_pkgconfig_libs=
 
-		echo "$as_me:23449: checking for BIO_free in -lcrypto" >&5
+		echo "$as_me:23835: checking for BIO_free in -lcrypto" >&5
 echo $ECHO_N "checking for BIO_free in -lcrypto... $ECHO_C" >&6
 if test "${ac_cv_lib_crypto_BIO_free+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -23454,7 +23840,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lcrypto  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 23457 "configure"
+#line 23843 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -23473,16 +23859,16 @@ BIO_free ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:23476: \"$ac_link\"") >&5
+if { (eval echo "$as_me:23862: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:23479: \$? = $ac_status" >&5
+  echo "$as_me:23865: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:23482: \"$ac_try\"") >&5
+  { (eval echo "$as_me:23868: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:23485: \$? = $ac_status" >&5
+  echo "$as_me:23871: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_crypto_BIO_free=yes
 else
@@ -23493,30 +23879,30 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:23496: result: $ac_cv_lib_crypto_BIO_free" >&5
+echo "$as_me:23882: result: $ac_cv_lib_crypto_BIO_free" >&5
 echo "${ECHO_T}$ac_cv_lib_crypto_BIO_free" >&6
 if test "$ac_cv_lib_crypto_BIO_free" = yes; then
 
 for ac_header in openssl/ssl.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:23503: checking for $ac_header" >&5
+echo "$as_me:23889: checking for $ac_header" >&5
 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 23509 "configure"
+#line 23895 "configure"
 #include "confdefs.h"
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:23513: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:23899: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:23519: \$? = $ac_status" >&5
+  echo "$as_me:23905: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -23535,7 +23921,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:23538: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:23924: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -23543,7 +23929,7 @@ if test "`eval echo '${'"$as_ac_Header"'
 EOF
 
 				cat >"conftest.$ac_ext" <<_ACEOF
-#line 23546 "configure"
+#line 23932 "configure"
 #include "confdefs.h"
 
 #include <openssl/ssl.h>
@@ -23559,16 +23945,16 @@ BIO_free(NULL);
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:23562: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:23948: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:23565: \$? = $ac_status" >&5
+  echo "$as_me:23951: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:23568: \"$ac_try\"") >&5
+  { (eval echo "$as_me:23954: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:23571: \$? = $ac_status" >&5
+  echo "$as_me:23957: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 				LIBS="$LIBS -lcrypto"
@@ -23577,23 +23963,23 @@ if { (eval echo "$as_me:23562: \"$ac_com
 for ac_header in openssl/asn1.h openssl/bio.h openssl/pem.h openssl/x509.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:23580: checking for $ac_header" >&5
+echo "$as_me:23966: checking for $ac_header" >&5
 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 23586 "configure"
+#line 23972 "configure"
 #include "confdefs.h"
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:23590: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:23976: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:23596: \$? = $ac_status" >&5
+  echo "$as_me:23982: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -23612,7 +23998,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:23615: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:24001: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -23631,7 +24017,7 @@ else
 cat "conftest.$ac_ext" >&5
 
 				have_libcrypto=no
-				echo "$as_me:23634: result: $have_libcrypto" >&5
+				echo "$as_me:24020: result: $have_libcrypto" >&5
 echo "${ECHO_T}$have_libcrypto" >&6
 
 fi
@@ -23645,7 +24031,7 @@ done
 else
 
 		have_libcrypto=no
-		echo "$as_me:23648: result: $have_libcrypto" >&5
+		echo "$as_me:24034: result: $have_libcrypto" >&5
 echo "${ECHO_T}$have_libcrypto" >&6
 
 fi
@@ -23656,8 +24042,247 @@ fi
 
 fi
 
+# <https://github.com/uriparser/uriparser>
+echo "$as_me:24046: checking for liburiparser" >&5
+echo $ECHO_N "checking for liburiparser... $ECHO_C" >&6
+
+if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "liburiparser"; then
+	test -n "$verbose" && echo "	found package liburiparser" 1>&6
+
+echo "${as_me:-configure}:24052: testing found package liburiparser ..." 1>&5
+
+	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "liburiparser" 2>/dev/null`"
+	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "liburiparser" 2>/dev/null`"
+	test -n "$verbose" && echo "	package liburiparser CFLAGS: $cf_pkgconfig_incs" 1>&6
+
+echo "${as_me:-configure}:24058: testing package liburiparser CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+
+	test -n "$verbose" && echo "	package liburiparser LIBS: $cf_pkgconfig_libs" 1>&6
+
+echo "${as_me:-configure}:24062: testing package liburiparser LIBS: $cf_pkgconfig_libs ..." 1>&5
+
+cf_fix_cppflags=no
+cf_new_cflags=
+cf_new_cppflags=
+cf_new_extra_cppflags=
+
+for cf_add_cflags in $cf_pkgconfig_incs
+do
+case "$cf_fix_cppflags" in
+no)
+	case "$cf_add_cflags" in
+	-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
+		case "$cf_add_cflags" in
+		-D*)
+			cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+
+			test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+				&& test -z "${cf_tst_cflags}" \
+				&& cf_fix_cppflags=yes
+
+			if test "$cf_fix_cppflags" = yes ; then
+
+	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+
+				continue
+			elif test "${cf_tst_cflags}" = "\"'" ; then
+
+	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+
+				continue
+			fi
+			;;
+		esac
+		case "$CPPFLAGS" in
+		*$cf_add_cflags)
+			;;
+		*)
+			case "$cf_add_cflags" in
+			-D*)
+				cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+
+CPPFLAGS=`echo "$CPPFLAGS" | \
+	sed	-e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ 	]*\)\?[ 	]/ /g' \
+		-e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ 	]*\)\?$//g'`
+
+				;;
+			esac
+
+	test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags "
+	cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags"
+
+			;;
+		esac
+		;;
+	*)
+
+	test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags "
+	cf_new_cflags="${cf_new_cflags}$cf_add_cflags"
+
+		;;
+	esac
+	;;
+yes)
+
+	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+
+	cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'`
+
+	test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+		&& test -z "${cf_tst_cflags}" \
+		&& cf_fix_cppflags=no
+	;;
+esac
+done
+
+if test -n "$cf_new_cflags" ; then
+
+	test -n "$CFLAGS" && CFLAGS="$CFLAGS "
+	CFLAGS="${CFLAGS}$cf_new_cflags"
+
+fi
+
+if test -n "$cf_new_cppflags" ; then
+
+	test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
+	CPPFLAGS="${CPPFLAGS}$cf_new_cppflags"
+
+fi
+
+if test -n "$cf_new_extra_cppflags" ; then
+
+	test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS "
+	EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags"
+
+fi
+
+cf_add_libs="$LIBS"
+# reverse order
+cf_add_0lib=
+for cf_add_1lib in $cf_pkgconfig_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done
+# filter duplicates
+for cf_add_1lib in $cf_add_0lib; do
+	for cf_add_2lib in $cf_add_libs; do
+		if test "x$cf_add_1lib" = "x$cf_add_2lib"; then
+			cf_add_1lib=
+			break
+		fi
+	done
+	test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs"
+done
+LIBS="$cf_add_libs"
+
+	cat >>confdefs.h <<\EOF
+#define HAVE_LIBURIPARSER 1
+EOF
+
+else
+	cf_pkgconfig_incs=
+	cf_pkgconfig_libs=
+	cat >"conftest.$ac_ext" <<_ACEOF
+#line 24186 "configure"
+#include "confdefs.h"
+
+#include <uriparser/Uri.h>
+
+int
+main (void)
+{
+
+#if URI_VER_MAJOR = 0 && URI_VER_MINOR <= 9 && URI_VER_RELEASE <= 7
+#error "Please use liburiparser >= 0.9.8"
+#endif /* URI_VER_MAJOR */
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f "conftest.$ac_objext"
+if { (eval echo "$as_me:24204: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:24207: \$? = $ac_status" >&5
+  (exit "$ac_status"); } &&
+         { ac_try='test -s "conftest.$ac_objext"'
+  { (eval echo "$as_me:24210: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:24213: \$? = $ac_status" >&5
+  (exit "$ac_status"); }; }; then
+  have_liburiparser=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat "conftest.$ac_ext" >&5
+have_liburiparser=no
+	echo "$as_me:24220: result: $have_liburiparser" >&5
+echo "${ECHO_T}$have_liburiparser" >&6
+
+fi
+rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+
+fi
+
+echo "$as_me:24228: checking for function curses_version" >&5
+echo $ECHO_N "checking for function curses_version... $ECHO_C" >&6
+if test "${cf_cv_func_curses_version+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+if test "$cross_compiling" = yes; then
+  cf_cv_func_curses_version=unknown
+else
+  cat >"conftest.$ac_ext" <<_ACEOF
+#line 24238 "configure"
+#include "confdefs.h"
+
+$ac_includes_default
+
+#include <${cf_cv_ncurses_header:-curses.h}>
+
+int main(void)
+{
+        char temp[1024];
+        sprintf(temp, "%.999s\\n", curses_version());
+        ${cf_cv_main_return:-return}(0);
+}
+
+_ACEOF
+rm -f "conftest$ac_exeext"
+if { (eval echo "$as_me:24254: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:24257: \$? = $ac_status" >&5
+  (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
+  { (eval echo "$as_me:24259: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:24262: \$? = $ac_status" >&5
+  (exit "$ac_status"); }; }; then
+  cf_cv_func_curses_version=yes
+
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+cat "conftest.$ac_ext" >&5
+cf_cv_func_curses_version=no
+
+fi
+rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext"
+fi
+rm -f core
+fi
+echo "$as_me:24277: result: $cf_cv_func_curses_version" >&5
+echo "${ECHO_T}$cf_cv_func_curses_version" >&6
+test "$cf_cv_func_curses_version" = yes &&
+cat >>confdefs.h <<\EOF
+#define HAVE_CURSES_VERSION 1
+EOF
+
 ### checks for operator characteristics (should be the last option)
-echo "$as_me:23660: checking whether to make a coffee while compiling" >&5
+echo "$as_me:24285: checking whether to make a coffee while compiling" >&5
 echo $ECHO_N "checking whether to make a coffee while compiling... $ECHO_C" >&6
 
 # Check whether --with-coffee or --without-coffee was given.
@@ -23665,7 +24290,7 @@ if test "${with_coffee+set}" = set; then
   withval="$with_coffee"
    case "$withval" in
 	yes)
-	echo "$as_me:23668: result: yes - with milk - please!" >&5
+	echo "$as_me:24293: result: yes - with milk - please!" >&5
 echo "${ECHO_T}yes - with milk - please!" >&6
 
 cat >>confdefs.h <<\EOF
@@ -23674,17 +24299,17 @@ EOF
 
 	;;
 	*)
-	echo "$as_me:23677: result: no" >&5
+	echo "$as_me:24302: result: no" >&5
 echo "${ECHO_T}no" >&6
 	;;
 	esac
 else
-  echo "$as_me:23682: result: no" >&5
+  echo "$as_me:24307: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi;
 
 ### checks for compiler characteristics
-echo "$as_me:23687: checking for fgrep" >&5
+echo "$as_me:24312: checking for fgrep" >&5
 echo $ECHO_N "checking for fgrep... $ECHO_C" >&6
 if test "${ac_cv_path_FGREP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -23696,7 +24321,7 @@ else
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:23699: checking for $ac_word" >&5
+echo "$as_me:24324: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_FGREP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -23713,7 +24338,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_FGREP="$ac_dir/$ac_word"
-   echo "$as_me:23716: found $ac_dir/$ac_word" >&5
+   echo "$as_me:24341: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -23724,10 +24349,10 @@ fi
 FGREP=$ac_cv_path_FGREP
 
 if test -n "$FGREP"; then
-  echo "$as_me:23727: result: $FGREP" >&5
+  echo "$as_me:24352: result: $FGREP" >&5
 echo "${ECHO_T}$FGREP" >&6
 else
-  echo "$as_me:23730: result: no" >&5
+  echo "$as_me:24355: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -23735,16 +24360,16 @@ fi
 done
 test -n "$FGREP" || FGREP=": "
 
-     test "x$ac_cv_path_FGREP" = "x:" && { { echo "$as_me:23738: error: cannot find workable fgrep" >&5
+     test "x$ac_cv_path_FGREP" = "x:" && { { echo "$as_me:24363: error: cannot find workable fgrep" >&5
 echo "$as_me: error: cannot find workable fgrep" >&2;}
    { (exit 1); exit 1; }; }
    fi
 fi
-echo "$as_me:23743: result: $ac_cv_path_FGREP" >&5
+echo "$as_me:24368: result: $ac_cv_path_FGREP" >&5
 echo "${ECHO_T}$ac_cv_path_FGREP" >&6
  FGREP="$ac_cv_path_FGREP"
 
-echo "$as_me:23747: checking for makeflags variable" >&5
+echo "$as_me:24372: checking for makeflags variable" >&5
 echo $ECHO_N "checking for makeflags variable... $ECHO_C" >&6
 if test "${cf_cv_makeflags+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -23774,7 +24399,7 @@ CF_EOF
 			;;
 		*)
 
-echo "${as_me:-configure}:23777: testing given option \"$cf_option\",no match \"$cf_result\" ..." 1>&5
+echo "${as_me:-configure}:24402: testing given option \"$cf_option\",no match \"$cf_result\" ..." 1>&5
 
 			;;
 		esac
@@ -23782,7 +24407,7 @@ echo "${as_me:-configure}:23777: testing
 	rm -f cf_makeflags.tmp
 
 fi
-echo "$as_me:23785: result: $cf_cv_makeflags" >&5
+echo "$as_me:24410: result: $cf_cv_makeflags" >&5
 echo "${ECHO_T}$cf_cv_makeflags" >&6
 
 ac_ext=c
@@ -23792,13 +24417,13 @@ ac_link='$CC -o "conftest$ac_exeext" $CF
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 ac_main_return="return"
 
-echo "$as_me:23795: checking for an ANSI C-conforming const" >&5
+echo "$as_me:24420: checking for an ANSI C-conforming const" >&5
 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
 if test "${ac_cv_c_const+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 23801 "configure"
+#line 24426 "configure"
 #include "confdefs.h"
 
 int
@@ -23860,16 +24485,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:23863: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:24488: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:23866: \$? = $ac_status" >&5
+  echo "$as_me:24491: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:23869: \"$ac_try\"") >&5
+  { (eval echo "$as_me:24494: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:23872: \$? = $ac_status" >&5
+  echo "$as_me:24497: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_c_const=yes
 else
@@ -23879,7 +24504,7 @@ ac_cv_c_const=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:23882: result: $ac_cv_c_const" >&5
+echo "$as_me:24507: result: $ac_cv_c_const" >&5
 echo "${ECHO_T}$ac_cv_c_const" >&6
 if test $ac_cv_c_const = no; then
 
@@ -23889,7 +24514,7 @@ EOF
 
 fi
 
-echo "$as_me:23892: checking for inline" >&5
+echo "$as_me:24517: checking for inline" >&5
 echo $ECHO_N "checking for inline... $ECHO_C" >&6
 if test "${ac_cv_c_inline+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -23897,7 +24522,7 @@ else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 23900 "configure"
+#line 24525 "configure"
 #include "confdefs.h"
 #ifndef __cplusplus
 static $ac_kw int static_foo (void) {return 0; }
@@ -23906,16 +24531,16 @@ $ac_kw int foo (void) {return 0; }
 
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:23909: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:24534: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:23912: \$? = $ac_status" >&5
+  echo "$as_me:24537: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:23915: \"$ac_try\"") >&5
+  { (eval echo "$as_me:24540: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:23918: \$? = $ac_status" >&5
+  echo "$as_me:24543: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_c_inline=$ac_kw; break
 else
@@ -23926,7 +24551,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 done
 
 fi
-echo "$as_me:23929: result: $ac_cv_c_inline" >&5
+echo "$as_me:24554: result: $ac_cv_c_inline" >&5
 echo "${ECHO_T}$ac_cv_c_inline" >&6
 case $ac_cv_c_inline in
   inline | yes) ;;
@@ -23941,14 +24566,14 @@ EOF
  ;;
 esac
 
-echo "$as_me:23944: checking for ansi token expansion/substitution" >&5
+echo "$as_me:24569: checking for ansi token expansion/substitution" >&5
 echo $ECHO_N "checking for ansi token expansion/substitution... $ECHO_C" >&6
 if test "${cf_cv_cpp_expands+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 23951 "configure"
+#line 24576 "configure"
 #include "confdefs.h"
 
 #define string(n) #n
@@ -23961,16 +24586,16 @@ const char *s = string(token); (void)s
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:23964: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:24589: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:23967: \$? = $ac_status" >&5
+  echo "$as_me:24592: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:23970: \"$ac_try\"") >&5
+  { (eval echo "$as_me:24595: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:23973: \$? = $ac_status" >&5
+  echo "$as_me:24598: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_cpp_expands=yes
 else
@@ -23982,21 +24607,21 @@ rm -f "conftest.$ac_objext" "conftest.$a
 
 fi
 
-echo "$as_me:23985: result: $cf_cv_cpp_expands" >&5
+echo "$as_me:24610: result: $cf_cv_cpp_expands" >&5
 echo "${ECHO_T}$cf_cv_cpp_expands" >&6
 test $cf_cv_cpp_expands = yes &&
 cat >>confdefs.h <<\EOF
 #define CPP_DOES_EXPAND 1
 EOF
 
-echo "$as_me:23992: checking for ansi token concatenation" >&5
+echo "$as_me:24617: checking for ansi token concatenation" >&5
 echo $ECHO_N "checking for ansi token concatenation... $ECHO_C" >&6
 if test "${cf_cv_cpp_concats+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 23999 "configure"
+#line 24624 "configure"
 #include "confdefs.h"
 
 #define concat(a,b) a ## b
@@ -24011,16 +24636,16 @@ static char *firstlast = "y";
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:24014: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:24639: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:24017: \$? = $ac_status" >&5
+  echo "$as_me:24642: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:24020: \"$ac_try\"") >&5
+  { (eval echo "$as_me:24645: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:24023: \$? = $ac_status" >&5
+  echo "$as_me:24648: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_cpp_concats=yes
 else
@@ -24032,21 +24657,21 @@ rm -f "conftest.$ac_objext" "conftest.$a
 
 fi
 
-echo "$as_me:24035: result: $cf_cv_cpp_concats" >&5
+echo "$as_me:24660: result: $cf_cv_cpp_concats" >&5
 echo "${ECHO_T}$cf_cv_cpp_concats" >&6
 test $cf_cv_cpp_concats = yes &&
 cat >>confdefs.h <<\EOF
 #define CPP_DOES_CONCAT 1
 EOF
 
-echo "$as_me:24042: checking if nested parameters work" >&5
+echo "$as_me:24667: checking if nested parameters work" >&5
 echo $ECHO_N "checking if nested parameters work... $ECHO_C" >&6
 if test "${cf_cv_nested_params+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 24049 "configure"
+#line 24674 "configure"
 #include "confdefs.h"
 
 	extern void (*sigdisp(int sig, void (*func)(int sig)))(int sig);
@@ -24060,16 +24685,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:24063: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:24688: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:24066: \$? = $ac_status" >&5
+  echo "$as_me:24691: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:24069: \"$ac_try\"") >&5
+  { (eval echo "$as_me:24694: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:24072: \$? = $ac_status" >&5
+  echo "$as_me:24697: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_nested_params=yes
 else
@@ -24081,7 +24706,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 
 fi
 
-echo "$as_me:24084: result: $cf_cv_nested_params" >&5
+echo "$as_me:24709: result: $cf_cv_nested_params" >&5
 echo "${ECHO_T}$cf_cv_nested_params" >&6
 test $cf_cv_nested_params = yes &&
 cat >>confdefs.h <<\EOF
@@ -24089,13 +24714,13 @@ cat >>confdefs.h <<\EOF
 EOF
 
 ###	Checks for header files.
-echo "$as_me:24092: checking for ANSI C header files" >&5
+echo "$as_me:24717: checking for ANSI C header files" >&5
 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
 if test "${ac_cv_header_stdc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 24098 "configure"
+#line 24723 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -24103,13 +24728,13 @@ else
 #include <float.h>
 
 _ACEOF
-if { (eval echo "$as_me:24106: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:24731: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:24112: \$? = $ac_status" >&5
+  echo "$as_me:24737: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -24131,7 +24756,7 @@ rm -f conftest.err "conftest.$ac_ext"
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 24134 "configure"
+#line 24759 "configure"
 #include "confdefs.h"
 #include <string.h>
 
@@ -24149,7 +24774,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 24152 "configure"
+#line 24777 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 
@@ -24170,7 +24795,7 @@ if test $ac_cv_header_stdc = yes; then
   :
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 24173 "configure"
+#line 24798 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #if ((' ' & 0x0FF) == 0x020)
@@ -24196,15 +24821,15 @@ main (void)
 }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:24199: \"$ac_link\"") >&5
+if { (eval echo "$as_me:24824: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:24202: \$? = $ac_status" >&5
+  echo "$as_me:24827: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:24204: \"$ac_try\"") >&5
+  { (eval echo "$as_me:24829: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:24207: \$? = $ac_status" >&5
+  echo "$as_me:24832: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -24217,7 +24842,7 @@ rm -f core ./core.* ./*.core "conftest$a
 fi
 fi
 fi
-echo "$as_me:24220: result: $ac_cv_header_stdc" >&5
+echo "$as_me:24845: result: $ac_cv_header_stdc" >&5
 echo "${ECHO_T}$ac_cv_header_stdc" >&6
 if test $ac_cv_header_stdc = yes; then
 
@@ -24230,13 +24855,13 @@ fi
 ac_header_dirent=no
 for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
   as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
-echo "$as_me:24233: checking for $ac_hdr that defines DIR" >&5
+echo "$as_me:24858: checking for $ac_hdr that defines DIR" >&5
 echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 24239 "configure"
+#line 24864 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_hdr>
@@ -24251,16 +24876,16 @@ return 0;
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:24254: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:24879: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:24257: \$? = $ac_status" >&5
+  echo "$as_me:24882: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:24260: \"$ac_try\"") >&5
+  { (eval echo "$as_me:24885: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:24263: \$? = $ac_status" >&5
+  echo "$as_me:24888: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_Header=yes"
 else
@@ -24270,7 +24895,7 @@ eval "$as_ac_Header=no"
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:24273: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:24898: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -24283,7 +24908,7 @@ fi
 done
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
-  echo "$as_me:24286: checking for opendir in -ldir" >&5
+  echo "$as_me:24911: checking for opendir in -ldir" >&5
 echo $ECHO_N "checking for opendir in -ldir... $ECHO_C" >&6
 if test "${ac_cv_lib_dir_opendir+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -24291,7 +24916,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldir  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 24294 "configure"
+#line 24919 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -24310,16 +24935,16 @@ opendir ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:24313: \"$ac_link\"") >&5
+if { (eval echo "$as_me:24938: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:24316: \$? = $ac_status" >&5
+  echo "$as_me:24941: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:24319: \"$ac_try\"") >&5
+  { (eval echo "$as_me:24944: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:24322: \$? = $ac_status" >&5
+  echo "$as_me:24947: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_dir_opendir=yes
 else
@@ -24330,14 +24955,14 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:24333: result: $ac_cv_lib_dir_opendir" >&5
+echo "$as_me:24958: result: $ac_cv_lib_dir_opendir" >&5
 echo "${ECHO_T}$ac_cv_lib_dir_opendir" >&6
 if test "$ac_cv_lib_dir_opendir" = yes; then
   LIBS="$LIBS -ldir"
 fi
 
 else
-  echo "$as_me:24340: checking for opendir in -lx" >&5
+  echo "$as_me:24965: checking for opendir in -lx" >&5
 echo $ECHO_N "checking for opendir in -lx... $ECHO_C" >&6
 if test "${ac_cv_lib_x_opendir+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -24345,7 +24970,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lx  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 24348 "configure"
+#line 24973 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -24364,16 +24989,16 @@ opendir ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:24367: \"$ac_link\"") >&5
+if { (eval echo "$as_me:24992: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:24370: \$? = $ac_status" >&5
+  echo "$as_me:24995: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:24373: \"$ac_try\"") >&5
+  { (eval echo "$as_me:24998: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:24376: \$? = $ac_status" >&5
+  echo "$as_me:25001: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_x_opendir=yes
 else
@@ -24384,7 +25009,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:24387: result: $ac_cv_lib_x_opendir" >&5
+echo "$as_me:25012: result: $ac_cv_lib_x_opendir" >&5
 echo "${ECHO_T}$ac_cv_lib_x_opendir" >&6
 if test "$ac_cv_lib_x_opendir" = yes; then
   LIBS="$LIBS -lx"
@@ -24392,13 +25017,13 @@ fi
 
 fi
 
-echo "$as_me:24395: checking whether time.h and sys/time.h may both be included" >&5
+echo "$as_me:25020: checking whether time.h and sys/time.h may both be included" >&5
 echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
 if test "${ac_cv_header_time+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 24401 "configure"
+#line 25026 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
@@ -24414,16 +25039,16 @@ return 0;
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:24417: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25042: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:24420: \$? = $ac_status" >&5
+  echo "$as_me:25045: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:24423: \"$ac_try\"") >&5
+  { (eval echo "$as_me:25048: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:24426: \$? = $ac_status" >&5
+  echo "$as_me:25051: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_header_time=yes
 else
@@ -24433,7 +25058,7 @@ ac_cv_header_time=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:24436: result: $ac_cv_header_time" >&5
+echo "$as_me:25061: result: $ac_cv_header_time" >&5
 echo "${ECHO_T}$ac_cv_header_time" >&6
 if test $ac_cv_header_time = yes; then
 
@@ -24443,13 +25068,13 @@ EOF
 
 fi
 
-echo "$as_me:24446: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "$as_me:25071: checking for sys/wait.h that is POSIX.1 compatible" >&5
 echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6
 if test "${ac_cv_header_sys_wait_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 24452 "configure"
+#line 25077 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/wait.h>
@@ -24471,16 +25096,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:24474: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25099: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:24477: \$? = $ac_status" >&5
+  echo "$as_me:25102: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:24480: \"$ac_try\"") >&5
+  { (eval echo "$as_me:25105: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:24483: \$? = $ac_status" >&5
+  echo "$as_me:25108: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_header_sys_wait_h=yes
 else
@@ -24490,7 +25115,7 @@ ac_cv_header_sys_wait_h=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:24493: result: $ac_cv_header_sys_wait_h" >&5
+echo "$as_me:25118: result: $ac_cv_header_sys_wait_h" >&5
 echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6
 if test $ac_cv_header_sys_wait_h = yes; then
 
@@ -24511,6 +25136,7 @@ for cf_hdr in \
 	inttypes.h \
 	langinfo.h \
 	libc.h \
+	limits.h \
 	locale.h \
 	malloc.h \
 	netdb.h \
@@ -24553,28 +25179,27 @@ for cf_hdr in \
 	termio.h \
 	time.h \
 	unistd.h \
-	varargs.h \
 	wchar.h \
 	wctype.h \
 
 do
-	echo "$as_me:24561: checking for $cf_hdr" >&5
+	echo "$as_me:25186: checking for $cf_hdr" >&5
 echo $ECHO_N "checking for $cf_hdr... $ECHO_C" >&6
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 24564 "configure"
+#line 25189 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
 #include <$cf_hdr>
 
 _ACEOF
-if { (eval echo "$as_me:24571: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:25196: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:24577: \$? = $ac_status" >&5
+  echo "$as_me:25202: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -24592,7 +25217,7 @@ else
   cf_found=no
 fi
 rm -f conftest.err "conftest.$ac_ext"
-echo "$as_me:24595: result: $cf_found" >&5
+echo "$as_me:25220: result: $cf_found" >&5
 echo "${ECHO_T}$cf_found" >&6
 if test $cf_found = yes ; then
 
@@ -24616,23 +25241,23 @@ sys/termio.h \
 
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:24619: checking for $ac_header" >&5
+echo "$as_me:25244: checking for $ac_header" >&5
 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 24625 "configure"
+#line 25250 "configure"
 #include "confdefs.h"
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:24629: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:25254: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:24635: \$? = $ac_status" >&5
+  echo "$as_me:25260: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -24651,7 +25276,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:24654: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:25279: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -24668,10 +25293,10 @@ if test "$ac_cv_header_termios_h" = yes
 	*)	termios_bad=maybe ;;
 	esac
 	if test "$termios_bad" = maybe ; then
-	echo "$as_me:24671: checking whether termios.h needs _POSIX_SOURCE" >&5
+	echo "$as_me:25296: checking whether termios.h needs _POSIX_SOURCE" >&5
 echo $ECHO_N "checking whether termios.h needs _POSIX_SOURCE... $ECHO_C" >&6
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 24674 "configure"
+#line 25299 "configure"
 #include "confdefs.h"
 #include <termios.h>
 int
@@ -24683,16 +25308,16 @@ struct termios foo; int x = (int)(foo.c_
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:24686: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25311: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:24689: \$? = $ac_status" >&5
+  echo "$as_me:25314: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:24692: \"$ac_try\"") >&5
+  { (eval echo "$as_me:25317: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:24695: \$? = $ac_status" >&5
+  echo "$as_me:25320: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   termios_bad=no
 else
@@ -24700,7 +25325,7 @@ else
 cat "conftest.$ac_ext" >&5
 
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 24703 "configure"
+#line 25328 "configure"
 #include "confdefs.h"
 
 #define _POSIX_SOURCE
@@ -24714,16 +25339,16 @@ struct termios foo; int x = (int)(foo.c_
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:24717: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25342: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:24720: \$? = $ac_status" >&5
+  echo "$as_me:25345: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:24723: \"$ac_try\"") >&5
+  { (eval echo "$as_me:25348: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:24726: \$? = $ac_status" >&5
+  echo "$as_me:25351: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   termios_bad=unknown
 else
@@ -24739,12 +25364,12 @@ rm -f "conftest.$ac_objext" "conftest.$a
 
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
-	echo "$as_me:24742: result: $termios_bad" >&5
+	echo "$as_me:25367: result: $termios_bad" >&5
 echo "${ECHO_T}$termios_bad" >&6
 	fi
 fi
 
-echo "$as_me:24747: checking declaration of size-change" >&5
+echo "$as_me:25372: checking declaration of size-change" >&5
 echo $ECHO_N "checking declaration of size-change... $ECHO_C" >&6
 if test "${cf_cv_sizechange+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -24765,7 +25390,7 @@ do
 
 	fi
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 24768 "configure"
+#line 25393 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #ifdef HAVE_TERMIOS_H
@@ -24815,16 +25440,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:24818: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25443: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:24821: \$? = $ac_status" >&5
+  echo "$as_me:25446: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:24824: \"$ac_try\"") >&5
+  { (eval echo "$as_me:25449: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:24827: \$? = $ac_status" >&5
+  echo "$as_me:25452: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_sizechange=yes
 else
@@ -24843,7 +25468,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 done
 
 fi
-echo "$as_me:24846: result: $cf_cv_sizechange" >&5
+echo "$as_me:25471: result: $cf_cv_sizechange" >&5
 echo "${ECHO_T}$cf_cv_sizechange" >&6
 if test "$cf_cv_sizechange" != no ; then
 
@@ -24861,7 +25486,7 @@ EOF
 	esac
 fi
 
-echo "$as_me:24864: checking if sys/time.h conflicts with sys/select.h" >&5
+echo "$as_me:25489: checking if sys/time.h conflicts with sys/select.h" >&5
 echo $ECHO_N "checking if sys/time.h conflicts with sys/select.h... $ECHO_C" >&6
 if test "${cf_cv_sys_select_timeval+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -24870,7 +25495,7 @@ else
 for cf_opts in no yes
 do
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 24873 "configure"
+#line 25498 "configure"
 #include "confdefs.h"
 
 #define yes 1
@@ -24903,16 +25528,16 @@ struct timeval foo; (void)foo
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:24906: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25531: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:24909: \$? = $ac_status" >&5
+  echo "$as_me:25534: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:24912: \"$ac_try\"") >&5
+  { (eval echo "$as_me:25537: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:24915: \$? = $ac_status" >&5
+  echo "$as_me:25540: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_sys_select_timeval=$cf_opts
 	 break
@@ -24926,21 +25551,21 @@ done
 
 fi
 
-echo "$as_me:24929: result: $cf_cv_sys_select_timeval" >&5
+echo "$as_me:25554: result: $cf_cv_sys_select_timeval" >&5
 echo "${ECHO_T}$cf_cv_sys_select_timeval" >&6
 test $cf_cv_sys_select_timeval = yes &&
 cat >>confdefs.h <<\EOF
 #define NEED_TIMEVAL_FIX 1
 EOF
 
-echo "$as_me:24936: checking for va_copy" >&5
+echo "$as_me:25561: checking for va_copy" >&5
 echo $ECHO_N "checking for va_copy... $ECHO_C" >&6
 if test "${cf_cv_have_va_copy+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 24943 "configure"
+#line 25568 "configure"
 #include "confdefs.h"
 
 #include <stdarg.h>
@@ -24957,16 +25582,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:24960: \"$ac_link\"") >&5
+if { (eval echo "$as_me:25585: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:24963: \$? = $ac_status" >&5
+  echo "$as_me:25588: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:24966: \"$ac_try\"") >&5
+  { (eval echo "$as_me:25591: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:24969: \$? = $ac_status" >&5
+  echo "$as_me:25594: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_have_va_copy=yes
 else
@@ -24976,7 +25601,7 @@ cf_cv_have_va_copy=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:24979: result: $cf_cv_have_va_copy" >&5
+echo "$as_me:25604: result: $cf_cv_have_va_copy" >&5
 echo "${ECHO_T}$cf_cv_have_va_copy" >&6
 
 if test "$cf_cv_have_va_copy" = yes;
@@ -24988,14 +25613,14 @@ EOF
 
 else # !cf_cv_have_va_copy
 
-echo "$as_me:24991: checking for __va_copy" >&5
+echo "$as_me:25616: checking for __va_copy" >&5
 echo $ECHO_N "checking for __va_copy... $ECHO_C" >&6
 if test "${cf_cv_have___va_copy+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 24998 "configure"
+#line 25623 "configure"
 #include "confdefs.h"
 
 #include <stdarg.h>
@@ -25012,16 +25637,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:25015: \"$ac_link\"") >&5
+if { (eval echo "$as_me:25640: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:25018: \$? = $ac_status" >&5
+  echo "$as_me:25643: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:25021: \"$ac_try\"") >&5
+  { (eval echo "$as_me:25646: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25024: \$? = $ac_status" >&5
+  echo "$as_me:25649: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_have___va_copy=yes
 else
@@ -25031,7 +25656,7 @@ cf_cv_have___va_copy=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:25034: result: $cf_cv_have___va_copy" >&5
+echo "$as_me:25659: result: $cf_cv_have___va_copy" >&5
 echo "${ECHO_T}$cf_cv_have___va_copy" >&6
 
 if test "$cf_cv_have___va_copy" = yes
@@ -25043,14 +25668,14 @@ EOF
 
 else # !cf_cv_have___va_copy
 
-echo "$as_me:25046: checking for __builtin_va_copy" >&5
+echo "$as_me:25671: checking for __builtin_va_copy" >&5
 echo $ECHO_N "checking for __builtin_va_copy... $ECHO_C" >&6
 if test "${cf_cv_have___builtin_va_copy+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 25053 "configure"
+#line 25678 "configure"
 #include "confdefs.h"
 
 #include <stdarg.h>
@@ -25067,16 +25692,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:25070: \"$ac_link\"") >&5
+if { (eval echo "$as_me:25695: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:25073: \$? = $ac_status" >&5
+  echo "$as_me:25698: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:25076: \"$ac_try\"") >&5
+  { (eval echo "$as_me:25701: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25079: \$? = $ac_status" >&5
+  echo "$as_me:25704: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_have___builtin_va_copy=yes
 else
@@ -25086,7 +25711,7 @@ cf_cv_have___builtin_va_copy=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:25089: result: $cf_cv_have___builtin_va_copy" >&5
+echo "$as_me:25714: result: $cf_cv_have___builtin_va_copy" >&5
 echo "${ECHO_T}$cf_cv_have___builtin_va_copy" >&6
 
 test "$cf_cv_have___builtin_va_copy" = yes &&
@@ -25104,14 +25729,14 @@ case "${cf_cv_have_va_copy}${cf_cv_have_
 	;;
 
 *)
-	echo "$as_me:25107: checking if we can simply copy va_list" >&5
+	echo "$as_me:25732: checking if we can simply copy va_list" >&5
 echo $ECHO_N "checking if we can simply copy va_list... $ECHO_C" >&6
 if test "${cf_cv_pointer_va_list+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 25114 "configure"
+#line 25739 "configure"
 #include "confdefs.h"
 
 #include <stdarg.h>
@@ -25128,16 +25753,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:25131: \"$ac_link\"") >&5
+if { (eval echo "$as_me:25756: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:25134: \$? = $ac_status" >&5
+  echo "$as_me:25759: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:25137: \"$ac_try\"") >&5
+  { (eval echo "$as_me:25762: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25140: \$? = $ac_status" >&5
+  echo "$as_me:25765: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_pointer_va_list=yes
 else
@@ -25147,19 +25772,19 @@ cf_cv_pointer_va_list=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:25150: result: $cf_cv_pointer_va_list" >&5
+echo "$as_me:25775: result: $cf_cv_pointer_va_list" >&5
 echo "${ECHO_T}$cf_cv_pointer_va_list" >&6
 
 	if test "$cf_cv_pointer_va_list" = no
 	then
-		echo "$as_me:25155: checking if we can copy va_list indirectly" >&5
+		echo "$as_me:25780: checking if we can copy va_list indirectly" >&5
 echo $ECHO_N "checking if we can copy va_list indirectly... $ECHO_C" >&6
 if test "${cf_cv_array_va_list+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 25162 "configure"
+#line 25787 "configure"
 #include "confdefs.h"
 
 #include <stdarg.h>
@@ -25176,16 +25801,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:25179: \"$ac_link\"") >&5
+if { (eval echo "$as_me:25804: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:25182: \$? = $ac_status" >&5
+  echo "$as_me:25807: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:25185: \"$ac_try\"") >&5
+  { (eval echo "$as_me:25810: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25188: \$? = $ac_status" >&5
+  echo "$as_me:25813: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_array_va_list=yes
 else
@@ -25195,7 +25820,7 @@ cf_cv_array_va_list=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:25198: result: $cf_cv_array_va_list" >&5
+echo "$as_me:25823: result: $cf_cv_array_va_list" >&5
 echo "${ECHO_T}$cf_cv_array_va_list" >&6
 		test "$cf_cv_array_va_list" = yes &&
 cat >>confdefs.h <<\EOF
@@ -25207,13 +25832,13 @@ EOF
 esac
 
 ###	Checks for Datatypes.
-echo "$as_me:25210: checking for gid_t" >&5
+echo "$as_me:25835: checking for gid_t" >&5
 echo $ECHO_N "checking for gid_t... $ECHO_C" >&6
 if test "${ac_cv_type_gid_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 25216 "configure"
+#line 25841 "configure"
 #include "confdefs.h"
 $ac_includes_default
 int
@@ -25228,16 +25853,16 @@ if (sizeof (gid_t))
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25231: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25856: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:25234: \$? = $ac_status" >&5
+  echo "$as_me:25859: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:25237: \"$ac_try\"") >&5
+  { (eval echo "$as_me:25862: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25240: \$? = $ac_status" >&5
+  echo "$as_me:25865: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_type_gid_t=yes
 else
@@ -25247,7 +25872,7 @@ ac_cv_type_gid_t=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:25250: result: $ac_cv_type_gid_t" >&5
+echo "$as_me:25875: result: $ac_cv_type_gid_t" >&5
 echo "${ECHO_T}$ac_cv_type_gid_t" >&6
 if test "$ac_cv_type_gid_t" = yes; then
   :
@@ -25259,13 +25884,13 @@ EOF
 
 fi
 
-echo "$as_me:25262: checking for mode_t" >&5
+echo "$as_me:25887: checking for mode_t" >&5
 echo $ECHO_N "checking for mode_t... $ECHO_C" >&6
 if test "${ac_cv_type_mode_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 25268 "configure"
+#line 25893 "configure"
 #include "confdefs.h"
 $ac_includes_default
 int
@@ -25280,16 +25905,16 @@ if (sizeof (mode_t))
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25283: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25908: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:25286: \$? = $ac_status" >&5
+  echo "$as_me:25911: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:25289: \"$ac_try\"") >&5
+  { (eval echo "$as_me:25914: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25292: \$? = $ac_status" >&5
+  echo "$as_me:25917: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_type_mode_t=yes
 else
@@ -25299,7 +25924,7 @@ ac_cv_type_mode_t=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:25302: result: $ac_cv_type_mode_t" >&5
+echo "$as_me:25927: result: $ac_cv_type_mode_t" >&5
 echo "${ECHO_T}$ac_cv_type_mode_t" >&6
 if test "$ac_cv_type_mode_t" = yes; then
   :
@@ -25311,13 +25936,13 @@ EOF
 
 fi
 
-echo "$as_me:25314: checking for off_t" >&5
+echo "$as_me:25939: checking for off_t" >&5
 echo $ECHO_N "checking for off_t... $ECHO_C" >&6
 if test "${ac_cv_type_off_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 25320 "configure"
+#line 25945 "configure"
 #include "confdefs.h"
 $ac_includes_default
 int
@@ -25332,16 +25957,16 @@ if (sizeof (off_t))
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25335: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25960: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:25338: \$? = $ac_status" >&5
+  echo "$as_me:25963: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:25341: \"$ac_try\"") >&5
+  { (eval echo "$as_me:25966: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25344: \$? = $ac_status" >&5
+  echo "$as_me:25969: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_type_off_t=yes
 else
@@ -25351,7 +25976,7 @@ ac_cv_type_off_t=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:25354: result: $ac_cv_type_off_t" >&5
+echo "$as_me:25979: result: $ac_cv_type_off_t" >&5
 echo "${ECHO_T}$ac_cv_type_off_t" >&6
 if test "$ac_cv_type_off_t" = yes; then
   :
@@ -25363,13 +25988,13 @@ EOF
 
 fi
 
-echo "$as_me:25366: checking for pid_t" >&5
+echo "$as_me:25991: checking for pid_t" >&5
 echo $ECHO_N "checking for pid_t... $ECHO_C" >&6
 if test "${ac_cv_type_pid_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 25372 "configure"
+#line 25997 "configure"
 #include "confdefs.h"
 $ac_includes_default
 int
@@ -25384,16 +26009,16 @@ if (sizeof (pid_t))
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25387: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:26012: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:25390: \$? = $ac_status" >&5
+  echo "$as_me:26015: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:25393: \"$ac_try\"") >&5
+  { (eval echo "$as_me:26018: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25396: \$? = $ac_status" >&5
+  echo "$as_me:26021: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_type_pid_t=yes
 else
@@ -25403,7 +26028,7 @@ ac_cv_type_pid_t=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:25406: result: $ac_cv_type_pid_t" >&5
+echo "$as_me:26031: result: $ac_cv_type_pid_t" >&5
 echo "${ECHO_T}$ac_cv_type_pid_t" >&6
 if test "$ac_cv_type_pid_t" = yes; then
   :
@@ -25415,13 +26040,13 @@ EOF
 
 fi
 
-echo "$as_me:25418: checking for size_t" >&5
+echo "$as_me:26043: checking for size_t" >&5
 echo $ECHO_N "checking for size_t... $ECHO_C" >&6
 if test "${ac_cv_type_size_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 25424 "configure"
+#line 26049 "configure"
 #include "confdefs.h"
 $ac_includes_default
 int
@@ -25436,16 +26061,16 @@ if (sizeof (size_t))
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25439: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:26064: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:25442: \$? = $ac_status" >&5
+  echo "$as_me:26067: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:25445: \"$ac_try\"") >&5
+  { (eval echo "$as_me:26070: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25448: \$? = $ac_status" >&5
+  echo "$as_me:26073: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_type_size_t=yes
 else
@@ -25455,7 +26080,7 @@ ac_cv_type_size_t=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:25458: result: $ac_cv_type_size_t" >&5
+echo "$as_me:26083: result: $ac_cv_type_size_t" >&5
 echo "${ECHO_T}$ac_cv_type_size_t" >&6
 if test "$ac_cv_type_size_t" = yes; then
   :
@@ -25467,13 +26092,13 @@ EOF
 
 fi
 
-echo "$as_me:25470: checking for ssize_t" >&5
+echo "$as_me:26095: checking for ssize_t" >&5
 echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6
 if test "${ac_cv_type_ssize_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 25476 "configure"
+#line 26101 "configure"
 #include "confdefs.h"
 $ac_includes_default
 int
@@ -25488,16 +26113,16 @@ if (sizeof (ssize_t))
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25491: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:26116: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:25494: \$? = $ac_status" >&5
+  echo "$as_me:26119: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:25497: \"$ac_try\"") >&5
+  { (eval echo "$as_me:26122: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25500: \$? = $ac_status" >&5
+  echo "$as_me:26125: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_type_ssize_t=yes
 else
@@ -25507,7 +26132,7 @@ ac_cv_type_ssize_t=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:25510: result: $ac_cv_type_ssize_t" >&5
+echo "$as_me:26135: result: $ac_cv_type_ssize_t" >&5
 echo "${ECHO_T}$ac_cv_type_ssize_t" >&6
 if test "$ac_cv_type_ssize_t" = yes; then
   :
@@ -25519,13 +26144,13 @@ EOF
 
 fi
 
-echo "$as_me:25522: checking for time_t" >&5
+echo "$as_me:26147: checking for time_t" >&5
 echo $ECHO_N "checking for time_t... $ECHO_C" >&6
 if test "${ac_cv_type_time_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 25528 "configure"
+#line 26153 "configure"
 #include "confdefs.h"
 $ac_includes_default
 int
@@ -25540,16 +26165,16 @@ if (sizeof (time_t))
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25543: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:26168: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:25546: \$? = $ac_status" >&5
+  echo "$as_me:26171: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:25549: \"$ac_try\"") >&5
+  { (eval echo "$as_me:26174: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25552: \$? = $ac_status" >&5
+  echo "$as_me:26177: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_type_time_t=yes
 else
@@ -25559,7 +26184,7 @@ ac_cv_type_time_t=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:25562: result: $ac_cv_type_time_t" >&5
+echo "$as_me:26187: result: $ac_cv_type_time_t" >&5
 echo "${ECHO_T}$ac_cv_type_time_t" >&6
 if test "$ac_cv_type_time_t" = yes; then
   :
@@ -25572,7 +26197,7 @@ EOF
 fi
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 25575 "configure"
+#line 26200 "configure"
 #include "confdefs.h"
 #include <netinet/in.h>
 
@@ -25583,7 +26208,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 25586 "configure"
+#line 26211 "configure"
 #include "confdefs.h"
 #include <sys/endian.h>
 
@@ -25593,13 +26218,13 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&
   :
 else
 
-		echo "$as_me:25596: checking for in_addr_t" >&5
+		echo "$as_me:26221: checking for in_addr_t" >&5
 echo $ECHO_N "checking for in_addr_t... $ECHO_C" >&6
 if test "${ac_cv_type_in_addr_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 25602 "configure"
+#line 26227 "configure"
 #include "confdefs.h"
 $ac_includes_default
 int
@@ -25614,16 +26239,16 @@ if (sizeof (in_addr_t))
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25617: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:26242: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:25620: \$? = $ac_status" >&5
+  echo "$as_me:26245: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:25623: \"$ac_try\"") >&5
+  { (eval echo "$as_me:26248: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25626: \$? = $ac_status" >&5
+  echo "$as_me:26251: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_type_in_addr_t=yes
 else
@@ -25633,7 +26258,7 @@ ac_cv_type_in_addr_t=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:25636: result: $ac_cv_type_in_addr_t" >&5
+echo "$as_me:26261: result: $ac_cv_type_in_addr_t" >&5
 echo "${ECHO_T}$ac_cv_type_in_addr_t" >&6
 if test "$ac_cv_type_in_addr_t" = yes; then
   :
@@ -25651,13 +26276,13 @@ rm -rf conftest*
 fi
 rm -rf conftest*
 
-echo "$as_me:25654: checking for uid_t in sys/types.h" >&5
+echo "$as_me:26279: checking for uid_t in sys/types.h" >&5
 echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6
 if test "${ac_cv_type_uid_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 25660 "configure"
+#line 26285 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 
@@ -25671,7 +26296,7 @@ fi
 rm -rf conftest*
 
 fi
-echo "$as_me:25674: result: $ac_cv_type_uid_t" >&5
+echo "$as_me:26299: result: $ac_cv_type_uid_t" >&5
 echo "${ECHO_T}$ac_cv_type_uid_t" >&6
 if test $ac_cv_type_uid_t = no; then
 
@@ -25685,10 +26310,79 @@ EOF
 
 fi
 
-echo "$as_me:25688: checking for quad_t" >&5
+echo "$as_me:26313: checking for tcflag_t defined in termios.h" >&5
+echo $ECHO_N "checking for tcflag_t defined in termios.h... $ECHO_C" >&6
+cat >"conftest.$ac_ext" <<_ACEOF
+#line 26316 "configure"
+#include "confdefs.h"
+#include <termios.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "tcflag_t" >/dev/null 2>&1; then
+  echo "$as_me:26323: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+
+	echo "$as_me:26327: checking for tcflag_t" >&5
+echo $ECHO_N "checking for tcflag_t... $ECHO_C" >&6
+if test "${ac_cv_type_tcflag_t+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >"conftest.$ac_ext" <<_ACEOF
+#line 26333 "configure"
+#include "confdefs.h"
+$ac_includes_default
+int
+main (void)
+{
+if ((tcflag_t *) 0)
+  return 0;
+if (sizeof (tcflag_t))
+  return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f "conftest.$ac_objext"
+if { (eval echo "$as_me:26348: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:26351: \$? = $ac_status" >&5
+  (exit "$ac_status"); } &&
+         { ac_try='test -s "conftest.$ac_objext"'
+  { (eval echo "$as_me:26354: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:26357: \$? = $ac_status" >&5
+  (exit "$ac_status"); }; }; then
+  ac_cv_type_tcflag_t=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat "conftest.$ac_ext" >&5
+ac_cv_type_tcflag_t=no
+fi
+rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+fi
+echo "$as_me:26367: result: $ac_cv_type_tcflag_t" >&5
+echo "${ECHO_T}$ac_cv_type_tcflag_t" >&6
+if test "$ac_cv_type_tcflag_t" = yes; then
+  :
+else
+
+cat >>confdefs.h <<EOF
+#define tcflag_t unsigned int
+EOF
+
+fi
+
+fi
+rm -rf conftest*
+
+echo "$as_me:26382: checking for quad_t" >&5
 echo $ECHO_N "checking for quad_t... $ECHO_C" >&6
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 25691 "configure"
+#line 26385 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -25702,16 +26396,16 @@ quad_t x; x = 0; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25705: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:26399: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:25708: \$? = $ac_status" >&5
+  echo "$as_me:26402: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:25711: \"$ac_try\"") >&5
+  { (eval echo "$as_me:26405: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25714: \$? = $ac_status" >&5
+  echo "$as_me:26408: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_quad_t=yes
 else
@@ -25720,7 +26414,7 @@ cat "conftest.$ac_ext" >&5
 ac_cv_quad_t=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
-echo "$as_me:25723: result: $ac_cv_quad_t" >&5
+echo "$as_me:26417: result: $ac_cv_quad_t" >&5
 echo "${ECHO_T}$ac_cv_quad_t" >&6
 if test $ac_cv_quad_t = yes; then
 
@@ -25730,10 +26424,10 @@ EOF
 
 fi
 
-echo "$as_me:25733: checking for long long" >&5
+echo "$as_me:26427: checking for long long" >&5
 echo $ECHO_N "checking for long long... $ECHO_C" >&6
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 25736 "configure"
+#line 26430 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -25747,16 +26441,16 @@ long long x; x = 0; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25750: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:26444: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:25753: \$? = $ac_status" >&5
+  echo "$as_me:26447: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:25756: \"$ac_try\"") >&5
+  { (eval echo "$as_me:26450: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25759: \$? = $ac_status" >&5
+  echo "$as_me:26453: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_long_long=yes
 else
@@ -25765,7 +26459,7 @@ cat "conftest.$ac_ext" >&5
 ac_cv_long_long=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
-echo "$as_me:25768: result: $ac_cv_long_long" >&5
+echo "$as_me:26462: result: $ac_cv_long_long" >&5
 echo "${ECHO_T}$ac_cv_long_long" >&6
 if test $ac_cv_long_long = yes; then
 
@@ -25775,10 +26469,10 @@ EOF
 
 fi
 
-echo "$as_me:25778: checking for int_least64_t" >&5
+echo "$as_me:26472: checking for int_least64_t" >&5
 echo $ECHO_N "checking for int_least64_t... $ECHO_C" >&6
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 25781 "configure"
+#line 26475 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -25792,16 +26486,16 @@ int_least64_t x; x = 0; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25795: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:26489: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:25798: \$? = $ac_status" >&5
+  echo "$as_me:26492: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:25801: \"$ac_try\"") >&5
+  { (eval echo "$as_me:26495: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25804: \$? = $ac_status" >&5
+  echo "$as_me:26498: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_int_least64_t=yes
 else
@@ -25810,7 +26504,7 @@ cat "conftest.$ac_ext" >&5
 ac_cv_int_least64_t=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
-echo "$as_me:25813: result: $ac_cv_int_least64_t" >&5
+echo "$as_me:26507: result: $ac_cv_int_least64_t" >&5
 echo "${ECHO_T}$ac_cv_int_least64_t" >&6
 if test $ac_cv_int_least64_t = yes; then
 
@@ -25818,10 +26512,10 @@ cat >>confdefs.h <<\EOF
 #define HAVE_INT_LEAST64_T 1
 EOF
 
-	echo "$as_me:25821: checking for INT64_C" >&5
+	echo "$as_me:26515: checking for INT64_C" >&5
 echo $ECHO_N "checking for INT64_C... $ECHO_C" >&6
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 25824 "configure"
+#line 26518 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -25835,16 +26529,16 @@ int_least64_t x; x = INT64_C(0); (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25838: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:26532: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:25841: \$? = $ac_status" >&5
+  echo "$as_me:26535: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:25844: \"$ac_try\"") >&5
+  { (eval echo "$as_me:26538: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25847: \$? = $ac_status" >&5
+  echo "$as_me:26541: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_int64_c=yes
 else
@@ -25853,7 +26547,7 @@ cat "conftest.$ac_ext" >&5
 ac_cv_int64_c=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
-	echo "$as_me:25856: result: $ac_cv_int64_c" >&5
+	echo "$as_me:26550: result: $ac_cv_int64_c" >&5
 echo "${ECHO_T}$ac_cv_int64_c" >&6
 	if test $ac_cv_int64_c = yes; then
 
@@ -25862,12 +26556,106 @@ cat >>confdefs.h <<\EOF
 EOF
 
 	fi
+	echo "$as_me:26559: checking for PRIdLEAST64" >&5
+echo $ECHO_N "checking for PRIdLEAST64... $ECHO_C" >&6
+	cat >"conftest.$ac_ext" <<_ACEOF
+#line 26562 "configure"
+#include "confdefs.h"
+
+$ac_includes_default
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif /* HAVE_INTTYPES_H */
+
+int
+main (void)
+{
+printf("%"PRIdLEAST64, (long int) 0);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f "conftest.$ac_objext"
+if { (eval echo "$as_me:26579: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:26582: \$? = $ac_status" >&5
+  (exit "$ac_status"); } &&
+         { ac_try='test -s "conftest.$ac_objext"'
+  { (eval echo "$as_me:26585: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:26588: \$? = $ac_status" >&5
+  (exit "$ac_status"); }; }; then
+  ac_cv_pridleast64=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat "conftest.$ac_ext" >&5
+ac_cv_pridleast64=no
 fi
+rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+	echo "$as_me:26597: result: $ac_cv_pridleast64" >&5
+echo "${ECHO_T}$ac_cv_pridleast64" >&6
+	if test $ac_cv_pridleast64 = yes; then
 
-echo "$as_me:25867: checking for nl_item" >&5
+cat >>confdefs.h <<\EOF
+#define HAVE_PRIDLEAST64 1
+EOF
+
+	fi
+	echo "$as_me:26606: checking for SCNdLEAST64" >&5
+echo $ECHO_N "checking for SCNdLEAST64... $ECHO_C" >&6
+	cat >"conftest.$ac_ext" <<_ACEOF
+#line 26609 "configure"
+#include "confdefs.h"
+
+$ac_includes_default
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif /* HAVE_INTTYPES_H */
+
+int
+main (void)
+{
+printf("%"SCNdLEAST64, (long int) 0);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f "conftest.$ac_objext"
+if { (eval echo "$as_me:26626: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:26629: \$? = $ac_status" >&5
+  (exit "$ac_status"); } &&
+         { ac_try='test -s "conftest.$ac_objext"'
+  { (eval echo "$as_me:26632: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:26635: \$? = $ac_status" >&5
+  (exit "$ac_status"); }; }; then
+  ac_cv_scndleast64=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat "conftest.$ac_ext" >&5
+ac_cv_scndleast64=no
+fi
+rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+	echo "$as_me:26644: result: $ac_cv_scndleast64" >&5
+echo "${ECHO_T}$ac_cv_scndleast64" >&6
+	if test $ac_cv_scndleast64 = yes; then
+
+cat >>confdefs.h <<\EOF
+#define HAVE_SCNDLEAST64 1
+EOF
+
+	fi
+fi
+
+echo "$as_me:26655: checking for nl_item" >&5
 echo $ECHO_N "checking for nl_item... $ECHO_C" >&6
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 25870 "configure"
+#line 26658 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -25888,16 +26676,16 @@ nl_item x; x = 0; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25891: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:26679: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:25894: \$? = $ac_status" >&5
+  echo "$as_me:26682: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:25897: \"$ac_try\"") >&5
+  { (eval echo "$as_me:26685: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25900: \$? = $ac_status" >&5
+  echo "$as_me:26688: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_nl_item=yes
 else
@@ -25906,7 +26694,7 @@ cat "conftest.$ac_ext" >&5
 ac_cv_nl_item=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
-echo "$as_me:25909: result: $ac_cv_nl_item" >&5
+echo "$as_me:26697: result: $ac_cv_nl_item" >&5
 echo "${ECHO_T}$ac_cv_nl_item" >&6
 if test $ac_cv_nl_item = yes; then
 
@@ -25919,7 +26707,7 @@ fi
 ###	Checks for libraries.
 # libuu/uudeview
 # only define HAVE_LIBUU and HAVE_UUDEVIEW_H if both are found
-echo "$as_me:25922: checking for UUInitialize in -luu" >&5
+echo "$as_me:26710: checking for UUInitialize in -luu" >&5
 echo $ECHO_N "checking for UUInitialize in -luu... $ECHO_C" >&6
 if test "${ac_cv_lib_uu_UUInitialize+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -25927,7 +26715,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-luu  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 25930 "configure"
+#line 26718 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -25946,16 +26734,16 @@ UUInitialize ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:25949: \"$ac_link\"") >&5
+if { (eval echo "$as_me:26737: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:25952: \$? = $ac_status" >&5
+  echo "$as_me:26740: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:25955: \"$ac_try\"") >&5
+  { (eval echo "$as_me:26743: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:25958: \$? = $ac_status" >&5
+  echo "$as_me:26746: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_uu_UUInitialize=yes
 else
@@ -25966,26 +26754,26 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:25969: result: $ac_cv_lib_uu_UUInitialize" >&5
+echo "$as_me:26757: result: $ac_cv_lib_uu_UUInitialize" >&5
 echo "${ECHO_T}$ac_cv_lib_uu_UUInitialize" >&6
 if test "$ac_cv_lib_uu_UUInitialize" = yes; then
-  echo "$as_me:25972: checking for uudeview.h" >&5
+  echo "$as_me:26760: checking for uudeview.h" >&5
 echo $ECHO_N "checking for uudeview.h... $ECHO_C" >&6
 if test "${ac_cv_header_uudeview_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 25978 "configure"
+#line 26766 "configure"
 #include "confdefs.h"
 #include <uudeview.h>
 _ACEOF
-if { (eval echo "$as_me:25982: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:26770: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:25988: \$? = $ac_status" >&5
+  echo "$as_me:26776: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -26004,7 +26792,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:26007: result: $ac_cv_header_uudeview_h" >&5
+echo "$as_me:26795: result: $ac_cv_header_uudeview_h" >&5
 echo "${ECHO_T}$ac_cv_header_uudeview_h" >&6
 if test "$ac_cv_header_uudeview_h" = yes; then
 
@@ -26034,23 +26822,23 @@ fi
 # get $CFLAGS/$LDFLAGS from pkg-config icu-uc if possible
 cf_try_icuuc="no"
 cf_try_icuuc46="no"
-echo "$as_me:26037: checking for unicode/unorm.h" >&5
+echo "$as_me:26825: checking for unicode/unorm.h" >&5
 echo $ECHO_N "checking for unicode/unorm.h... $ECHO_C" >&6
 if test "${ac_cv_header_unicode_unorm_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 26043 "configure"
+#line 26831 "configure"
 #include "confdefs.h"
 #include <unicode/unorm.h>
 _ACEOF
-if { (eval echo "$as_me:26047: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:26835: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:26053: \$? = $ac_status" >&5
+  echo "$as_me:26841: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -26069,27 +26857,27 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:26072: result: $ac_cv_header_unicode_unorm_h" >&5
+echo "$as_me:26860: result: $ac_cv_header_unicode_unorm_h" >&5
 echo "${ECHO_T}$ac_cv_header_unicode_unorm_h" >&6
 if test "$ac_cv_header_unicode_unorm_h" = yes; then
 
-	echo "$as_me:26076: checking for unicode/ustring.h" >&5
+	echo "$as_me:26864: checking for unicode/ustring.h" >&5
 echo $ECHO_N "checking for unicode/ustring.h... $ECHO_C" >&6
 if test "${ac_cv_header_unicode_ustring_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 26082 "configure"
+#line 26870 "configure"
 #include "confdefs.h"
 #include <unicode/ustring.h>
 _ACEOF
-if { (eval echo "$as_me:26086: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:26874: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:26092: \$? = $ac_status" >&5
+  echo "$as_me:26880: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -26108,7 +26896,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:26111: result: $ac_cv_header_unicode_ustring_h" >&5
+echo "$as_me:26899: result: $ac_cv_header_unicode_ustring_h" >&5
 echo "${ECHO_T}$ac_cv_header_unicode_ustring_h" >&6
 if test "$ac_cv_header_unicode_ustring_h" = yes; then
 
@@ -26120,13 +26908,13 @@ cat >>confdefs.h <<\EOF
 #define HAVE_UNICODE_USTRING_H 1
 EOF
 
-		echo "$as_me:26123: checking for unorm_normalize in libicuuc" >&5
+		echo "$as_me:26911: checking for unorm_normalize in libicuuc" >&5
 echo $ECHO_N "checking for unorm_normalize in libicuuc... $ECHO_C" >&6
 		cf_save_LIBS="$LIBS"
 		cf_try_icuuc="no"
 		LIBS="$LIBS -licuuc"
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 26129 "configure"
+#line 26917 "configure"
 #include "confdefs.h"
 $ac_includes_default
 			#include <unicode/unorm.h>
@@ -26144,16 +26932,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:26147: \"$ac_link\"") >&5
+if { (eval echo "$as_me:26935: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:26150: \$? = $ac_status" >&5
+  echo "$as_me:26938: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:26153: \"$ac_try\"") >&5
+  { (eval echo "$as_me:26941: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:26156: \$? = $ac_status" >&5
+  echo "$as_me:26944: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 cat >>confdefs.h <<\EOF
@@ -26168,26 +26956,26 @@ LIBS=$cf_save_LIBS
 
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
-		echo "$as_me:26171: result: $cf_try_icuuc" >&5
+		echo "$as_me:26959: result: $cf_try_icuuc" >&5
 echo "${ECHO_T}$cf_try_icuuc" >&6
 		cf_save_LIBS="$LIBS"
-		echo "$as_me:26174: checking for unicode/uidna.h" >&5
+		echo "$as_me:26962: checking for unicode/uidna.h" >&5
 echo $ECHO_N "checking for unicode/uidna.h... $ECHO_C" >&6
 if test "${ac_cv_header_unicode_uidna_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 26180 "configure"
+#line 26968 "configure"
 #include "confdefs.h"
 #include <unicode/uidna.h>
 _ACEOF
-if { (eval echo "$as_me:26184: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:26972: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:26190: \$? = $ac_status" >&5
+  echo "$as_me:26978: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -26206,7 +26994,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:26209: result: $ac_cv_header_unicode_uidna_h" >&5
+echo "$as_me:26997: result: $ac_cv_header_unicode_uidna_h" >&5
 echo "${ECHO_T}$ac_cv_header_unicode_uidna_h" >&6
 if test "$ac_cv_header_unicode_uidna_h" = yes; then
 
@@ -26216,10 +27004,10 @@ EOF
 
 fi
 
-		echo "$as_me:26219: checking for uidna_nameToUnicode in libicuuc" >&5
+		echo "$as_me:27007: checking for uidna_nameToUnicode in libicuuc" >&5
 echo $ECHO_N "checking for uidna_nameToUnicode in libicuuc... $ECHO_C" >&6
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 26222 "configure"
+#line 27010 "configure"
 #include "confdefs.h"
 #include <unicode/uidna.h>
 			#include <unicode/unorm.h>
@@ -26237,16 +27025,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:26240: \"$ac_link\"") >&5
+if { (eval echo "$as_me:27028: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:26243: \$? = $ac_status" >&5
+  echo "$as_me:27031: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:26246: \"$ac_try\"") >&5
+  { (eval echo "$as_me:27034: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:26249: \$? = $ac_status" >&5
+  echo "$as_me:27037: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 cat >>confdefs.h <<\EOF
@@ -26261,25 +27049,25 @@ LIBS=$cf_save_LIBS
 
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
-		echo "$as_me:26264: result: $cf_try_icuuc46" >&5
+		echo "$as_me:27052: result: $cf_try_icuuc46" >&5
 echo "${ECHO_T}$cf_try_icuuc46" >&6
-		echo "$as_me:26266: checking for unicode/ubidi.h" >&5
+		echo "$as_me:27054: checking for unicode/ubidi.h" >&5
 echo $ECHO_N "checking for unicode/ubidi.h... $ECHO_C" >&6
 if test "${ac_cv_header_unicode_ubidi_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 26272 "configure"
+#line 27060 "configure"
 #include "confdefs.h"
 #include <unicode/ubidi.h>
 _ACEOF
-if { (eval echo "$as_me:26276: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:27064: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:26282: \$? = $ac_status" >&5
+  echo "$as_me:27070: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -26298,7 +27086,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:26301: result: $ac_cv_header_unicode_ubidi_h" >&5
+echo "$as_me:27089: result: $ac_cv_header_unicode_ubidi_h" >&5
 echo "${ECHO_T}$ac_cv_header_unicode_ubidi_h" >&6
 if test "$ac_cv_header_unicode_ubidi_h" = yes; then
 
@@ -26312,24 +27100,26 @@ fi
 
 fi
 
-# IDNA2008
-echo "$as_me:26316: checking for unicode/unorm2.h" >&5
-echo $ECHO_N "checking for unicode/unorm2.h... $ECHO_C" >&6
-if test "${ac_cv_header_unicode_unorm2_h+set}" = set; then
+for ac_header in unicode/unorm.h unicode/unorm2.h unicode/ustring.h unicode/ucnv.h unicode/ubidi.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+echo "$as_me:27106: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 26322 "configure"
+#line 27112 "configure"
 #include "confdefs.h"
-#include <unicode/unorm2.h>
+#include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:26326: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:27116: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:26332: \$? = $ac_status" >&5
+  echo "$as_me:27122: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -26340,43 +27130,113 @@ else
   ac_cpp_err=yes
 fi
 if test -z "$ac_cpp_err"; then
-  ac_cv_header_unicode_unorm2_h=yes
+  eval "$as_ac_Header=yes"
 else
   echo "$as_me: failed program was:" >&5
   cat "conftest.$ac_ext" >&5
-  ac_cv_header_unicode_unorm2_h=no
+  eval "$as_ac_Header=no"
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:26351: result: $ac_cv_header_unicode_unorm2_h" >&5
-echo "${ECHO_T}$ac_cv_header_unicode_unorm2_h" >&6
-if test "$ac_cv_header_unicode_unorm2_h" = yes; then
+echo "$as_me:27141: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
+if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
+  cat >>confdefs.h <<EOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+EOF
 
-cat >>confdefs.h <<\EOF
-#define HAVE_UNICODE_UNORM2_H 1
+fi
+done
+
+# this doesn't work, why?
+#AC_CHECK_LIB(icuuc, ucnv_open,
+#	[AC_DEFINE(HAVE_UCNV_OPEN, 1, [Define to 1 if you want have ucnv_open])]
+#)
+#AC_CHECK_LIB(icuuc, ubidi_open,
+#	[AC_DEFINE(HAVE_UBIDI_OPEN, 1, [Define to 1 if you have ubidi_open])]
+#)
+# ok, we go with
+if test x"$ac_cv_header_unicode_ucnv_h" = "xyes" ; then
+	cat >>confdefs.h <<\EOF
+#define HAVE_UCNV_OPEN 1
+EOF
+
+fi
+if test x"$ac_cv_header_unicode_ubidi_h" = "xyes" ; then
+	cat >>confdefs.h <<\EOF
+#define HAVE_UBIDI_OPEN 1
 EOF
 
 fi
 
 # without icuuc try GNU libunistring for normalization
 if test $cf_try_icuuc = no ; then
-	echo "$as_me:26363: checking for unitypes.h" >&5
+
+for ac_header in unistring/version.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+echo "$as_me:27178: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >"conftest.$ac_ext" <<_ACEOF
+#line 27184 "configure"
+#include "confdefs.h"
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:27188: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+  (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  $EGREP -v '^ *\+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:27194: \$? = $ac_status" >&5
+  (exit "$ac_status"); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+  cat "conftest.$ac_ext" >&5
+  eval "$as_ac_Header=no"
+fi
+rm -f conftest.err "conftest.$ac_ext"
+fi
+echo "$as_me:27213: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
+if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
+  cat >>confdefs.h <<EOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+EOF
+
+fi
+done
+
+	echo "$as_me:27223: checking for unitypes.h" >&5
 echo $ECHO_N "checking for unitypes.h... $ECHO_C" >&6
 if test "${ac_cv_header_unitypes_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 26369 "configure"
+#line 27229 "configure"
 #include "confdefs.h"
 #include <unitypes.h>
 _ACEOF
-if { (eval echo "$as_me:26373: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:27233: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:26379: \$? = $ac_status" >&5
+  echo "$as_me:27239: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -26395,27 +27255,27 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:26398: result: $ac_cv_header_unitypes_h" >&5
+echo "$as_me:27258: result: $ac_cv_header_unitypes_h" >&5
 echo "${ECHO_T}$ac_cv_header_unitypes_h" >&6
 if test "$ac_cv_header_unitypes_h" = yes; then
 
-		echo "$as_me:26402: checking for uninorm.h" >&5
+		echo "$as_me:27262: checking for uninorm.h" >&5
 echo $ECHO_N "checking for uninorm.h... $ECHO_C" >&6
 if test "${ac_cv_header_uninorm_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 26408 "configure"
+#line 27268 "configure"
 #include "confdefs.h"
 #include <uninorm.h>
 _ACEOF
-if { (eval echo "$as_me:26412: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:27272: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:26418: \$? = $ac_status" >&5
+  echo "$as_me:27278: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -26434,7 +27294,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:26437: result: $ac_cv_header_uninorm_h" >&5
+echo "$as_me:27297: result: $ac_cv_header_uninorm_h" >&5
 echo "${ECHO_T}$ac_cv_header_uninorm_h" >&6
 if test "$ac_cv_header_uninorm_h" = yes; then
 
@@ -26446,13 +27306,13 @@ cat >>confdefs.h <<\EOF
 #define HAVE_UNINORM_H 1
 EOF
 
-			echo "$as_me:26449: checking for u8_normalize in libunistring" >&5
+			echo "$as_me:27309: checking for u8_normalize in libunistring" >&5
 echo $ECHO_N "checking for u8_normalize in libunistring... $ECHO_C" >&6
 			cf_save_LIBS="$LIBS"
 			cf_try_unistring="no"
 			LIBS="$LIBS -lunistring"
 			cat >"conftest.$ac_ext" <<_ACEOF
-#line 26455 "configure"
+#line 27315 "configure"
 #include "confdefs.h"
 #include <unitypes.h>
 				#include <uninorm.h>
@@ -26467,16 +27327,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:26470: \"$ac_link\"") >&5
+if { (eval echo "$as_me:27330: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:26473: \$? = $ac_status" >&5
+  echo "$as_me:27333: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:26476: \"$ac_try\"") >&5
+  { (eval echo "$as_me:27336: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:26479: \$? = $ac_status" >&5
+  echo "$as_me:27339: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 cat >>confdefs.h <<\EOF
@@ -26491,7 +27351,7 @@ LIBS=$cf_save_LIBS
 
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
-			echo "$as_me:26494: result: $cf_try_unistring" >&5
+			echo "$as_me:27354: result: $cf_try_unistring" >&5
 echo "${ECHO_T}$cf_try_unistring" >&6
 
 fi
@@ -26501,10 +27361,9 @@ fi
 fi
 
 # without icuuc try libidn for Internationalized Domain Names / IDN 2003
-# TODO: check for libidn2
-#       get $CFLAGS/$LDFLAGS from pkg-config libidn[2] if possible
+# TODO: get $CFLAGS/$LDFLAGS from pkg-config libidn if possible
 if test $cf_try_icuuc = no ; then
-	echo "$as_me:26507: checking for stringprep_check_version in -lidn" >&5
+	echo "$as_me:27366: checking for stringprep_check_version in -lidn" >&5
 echo $ECHO_N "checking for stringprep_check_version in -lidn... $ECHO_C" >&6
 if test "${ac_cv_lib_idn_stringprep_check_version+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -26512,7 +27371,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lidn  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 26515 "configure"
+#line 27374 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -26531,16 +27390,16 @@ stringprep_check_version ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:26534: \"$ac_link\"") >&5
+if { (eval echo "$as_me:27393: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:26537: \$? = $ac_status" >&5
+  echo "$as_me:27396: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:26540: \"$ac_try\"") >&5
+  { (eval echo "$as_me:27399: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:26543: \$? = $ac_status" >&5
+  echo "$as_me:27402: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_idn_stringprep_check_version=yes
 else
@@ -26551,26 +27410,26 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:26554: result: $ac_cv_lib_idn_stringprep_check_version" >&5
+echo "$as_me:27413: result: $ac_cv_lib_idn_stringprep_check_version" >&5
 echo "${ECHO_T}$ac_cv_lib_idn_stringprep_check_version" >&6
 if test "$ac_cv_lib_idn_stringprep_check_version" = yes; then
-  echo "$as_me:26557: checking for stringprep.h" >&5
+  echo "$as_me:27416: checking for stringprep.h" >&5
 echo $ECHO_N "checking for stringprep.h... $ECHO_C" >&6
 if test "${ac_cv_header_stringprep_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 26563 "configure"
+#line 27422 "configure"
 #include "confdefs.h"
 #include <stringprep.h>
 _ACEOF
-if { (eval echo "$as_me:26567: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:27426: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:26573: \$? = $ac_status" >&5
+  echo "$as_me:27432: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -26589,7 +27448,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:26592: result: $ac_cv_header_stringprep_h" >&5
+echo "$as_me:27451: result: $ac_cv_header_stringprep_h" >&5
 echo "${ECHO_T}$ac_cv_header_stringprep_h" >&6
 if test "$ac_cv_header_stringprep_h" = yes; then
 
@@ -26597,23 +27456,23 @@ cat >>confdefs.h <<\EOF
 #define HAVE_STRINGPREP_H 1
 EOF
 
-			echo "$as_me:26600: checking for idna.h" >&5
+			echo "$as_me:27459: checking for idna.h" >&5
 echo $ECHO_N "checking for idna.h... $ECHO_C" >&6
 if test "${ac_cv_header_idna_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 26606 "configure"
+#line 27465 "configure"
 #include "confdefs.h"
 #include <idna.h>
 _ACEOF
-if { (eval echo "$as_me:26610: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:27469: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:26616: \$? = $ac_status" >&5
+  echo "$as_me:27475: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -26632,7 +27491,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:26635: result: $ac_cv_header_idna_h" >&5
+echo "$as_me:27494: result: $ac_cv_header_idna_h" >&5
 echo "${ECHO_T}$ac_cv_header_idna_h" >&6
 if test "$ac_cv_header_idna_h" = yes; then
 
@@ -26640,7 +27499,7 @@ cat >>confdefs.h <<\EOF
 #define HAVE_IDNA_H 1
 EOF
 
-				echo "$as_me:26643: checking for idna_to_unicode_lzlz in -lidn" >&5
+				echo "$as_me:27502: checking for idna_to_unicode_lzlz in -lidn" >&5
 echo $ECHO_N "checking for idna_to_unicode_lzlz in -lidn... $ECHO_C" >&6
 if test "${ac_cv_lib_idn_idna_to_unicode_lzlz+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -26648,7 +27507,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lidn  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 26651 "configure"
+#line 27510 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -26667,16 +27526,16 @@ idna_to_unicode_lzlz ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:26670: \"$ac_link\"") >&5
+if { (eval echo "$as_me:27529: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:26673: \$? = $ac_status" >&5
+  echo "$as_me:27532: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:26676: \"$ac_try\"") >&5
+  { (eval echo "$as_me:27535: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:26679: \$? = $ac_status" >&5
+  echo "$as_me:27538: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_idn_idna_to_unicode_lzlz=yes
 else
@@ -26687,7 +27546,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:26690: result: $ac_cv_lib_idn_idna_to_unicode_lzlz" >&5
+echo "$as_me:27549: result: $ac_cv_lib_idn_idna_to_unicode_lzlz" >&5
 echo "${ECHO_T}$ac_cv_lib_idn_idna_to_unicode_lzlz" >&6
 if test "$ac_cv_lib_idn_idna_to_unicode_lzlz" = yes; then
 
@@ -26695,10 +27554,10 @@ cat >>confdefs.h <<\EOF
 #define HAVE_IDNA_TO_UNICODE_LZLZ 1
 EOF
 
-					echo "$as_me:26698: checking for IDNA_USE_STD3_ASCII_RULES" >&5
+					echo "$as_me:27557: checking for IDNA_USE_STD3_ASCII_RULES" >&5
 echo $ECHO_N "checking for IDNA_USE_STD3_ASCII_RULES... $ECHO_C" >&6
 					cat >"conftest.$ac_ext" <<_ACEOF
-#line 26701 "configure"
+#line 27560 "configure"
 #include "confdefs.h"
 #include <idna.h>
 
@@ -26710,10 +27569,10 @@ cat >>confdefs.h <<\EOF
 #define HAVE_IDNA_USE_STD3_ASCII_RULES 1
 EOF
 
-						echo "$as_me:26713: result: yes" >&5
+						echo "$as_me:27572: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 else
-  echo "$as_me:26716: result: no" >&5
+  echo "$as_me:27575: result: no" >&5
 echo "${ECHO_T}no" >&6
 
 fi
@@ -26721,7 +27580,7 @@ rm -rf conftest*
 
 fi
 
-				echo "$as_me:26724: checking for idna_strerror in -lidn" >&5
+				echo "$as_me:27583: checking for idna_strerror in -lidn" >&5
 echo $ECHO_N "checking for idna_strerror in -lidn... $ECHO_C" >&6
 if test "${ac_cv_lib_idn_idna_strerror+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -26729,7 +27588,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lidn  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 26732 "configure"
+#line 27591 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -26748,16 +27607,16 @@ idna_strerror ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:26751: \"$ac_link\"") >&5
+if { (eval echo "$as_me:27610: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:26754: \$? = $ac_status" >&5
+  echo "$as_me:27613: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:26757: \"$ac_try\"") >&5
+  { (eval echo "$as_me:27616: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:26760: \$? = $ac_status" >&5
+  echo "$as_me:27619: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_idn_idna_strerror=yes
 else
@@ -26768,7 +27627,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:26771: result: $ac_cv_lib_idn_idna_strerror" >&5
+echo "$as_me:27630: result: $ac_cv_lib_idn_idna_strerror" >&5
 echo "${ECHO_T}$ac_cv_lib_idn_idna_strerror" >&6
 if test "$ac_cv_lib_idn_idna_strerror" = yes; then
 
@@ -26792,8 +27651,201 @@ fi
 
 fi
 
+# GNU linidn2 // CF_TRY_PKG_CONFIG has no version checking yet
+echo "$as_me:27655: checking for libidn2" >&5
+echo $ECHO_N "checking for libidn2... $ECHO_C" >&6
+
+if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "libidn2"; then
+	test -n "$verbose" && echo "	found package libidn2" 1>&6
+
+echo "${as_me:-configure}:27661: testing found package libidn2 ..." 1>&5
+
+	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "libidn2" 2>/dev/null`"
+	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "libidn2" 2>/dev/null`"
+	test -n "$verbose" && echo "	package libidn2 CFLAGS: $cf_pkgconfig_incs" 1>&6
+
+echo "${as_me:-configure}:27667: testing package libidn2 CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+
+	test -n "$verbose" && echo "	package libidn2 LIBS: $cf_pkgconfig_libs" 1>&6
+
+echo "${as_me:-configure}:27671: testing package libidn2 LIBS: $cf_pkgconfig_libs ..." 1>&5
+
+cf_fix_cppflags=no
+cf_new_cflags=
+cf_new_cppflags=
+cf_new_extra_cppflags=
+
+for cf_add_cflags in $cf_pkgconfig_incs
+do
+case "$cf_fix_cppflags" in
+no)
+	case "$cf_add_cflags" in
+	-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
+		case "$cf_add_cflags" in
+		-D*)
+			cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+
+			test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+				&& test -z "${cf_tst_cflags}" \
+				&& cf_fix_cppflags=yes
+
+			if test "$cf_fix_cppflags" = yes ; then
+
+	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+
+				continue
+			elif test "${cf_tst_cflags}" = "\"'" ; then
+
+	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+
+				continue
+			fi
+			;;
+		esac
+		case "$CPPFLAGS" in
+		*$cf_add_cflags)
+			;;
+		*)
+			case "$cf_add_cflags" in
+			-D*)
+				cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+
+CPPFLAGS=`echo "$CPPFLAGS" | \
+	sed	-e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ 	]*\)\?[ 	]/ /g' \
+		-e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ 	]*\)\?$//g'`
+
+				;;
+			esac
+
+	test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags "
+	cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags"
+
+			;;
+		esac
+		;;
+	*)
+
+	test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags "
+	cf_new_cflags="${cf_new_cflags}$cf_add_cflags"
+
+		;;
+	esac
+	;;
+yes)
+
+	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+
+	cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'`
+
+	test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+		&& test -z "${cf_tst_cflags}" \
+		&& cf_fix_cppflags=no
+	;;
+esac
+done
+
+if test -n "$cf_new_cflags" ; then
+
+	test -n "$CFLAGS" && CFLAGS="$CFLAGS "
+	CFLAGS="${CFLAGS}$cf_new_cflags"
+
+fi
+
+if test -n "$cf_new_cppflags" ; then
+
+	test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
+	CPPFLAGS="${CPPFLAGS}$cf_new_cppflags"
+
+fi
+
+if test -n "$cf_new_extra_cppflags" ; then
+
+	test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS "
+	EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags"
+
+fi
+
+cf_add_libs="$LIBS"
+# reverse order
+cf_add_0lib=
+for cf_add_1lib in $cf_pkgconfig_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done
+# filter duplicates
+for cf_add_1lib in $cf_add_0lib; do
+	for cf_add_2lib in $cf_add_libs; do
+		if test "x$cf_add_1lib" = "x$cf_add_2lib"; then
+			cf_add_1lib=
+			break
+		fi
+	done
+	test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs"
+done
+LIBS="$cf_add_libs"
+
+	cat >>confdefs.h <<\EOF
+#define HAVE_LIBIDN2 1
+EOF
+
+	cat >>confdefs.h <<\EOF
+#define HAVE_IDN2_H 1
+EOF
+
+	have_libidn2=yes
+else
+	cf_pkgconfig_incs=
+	cf_pkgconfig_libs=
+	cat >"conftest.$ac_ext" <<_ACEOF
+#line 27800 "configure"
+#include "confdefs.h"
+
+#include <idn2.h>
+
+int
+main (void)
+{
+
+#if IDN2_VERSION_MAJOR < 2 || (IDN2_VERSION_MAJOR == 2 && IDN2_VERSION_MINOR < 3)
+#error "Please use libidn2 >= 2.3.0"
+#endif /* IDN2_VERSION_MAJOR < 2 || (IDN2_VERSION_MAJOR == 2 && IDN2_VERSION_MINOR < 3) */
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f "conftest.$ac_objext"
+if { (eval echo "$as_me:27818: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:27821: \$? = $ac_status" >&5
+  (exit "$ac_status"); } &&
+         { ac_try='test -s "conftest.$ac_objext"'
+  { (eval echo "$as_me:27824: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:27827: \$? = $ac_status" >&5
+  (exit "$ac_status"); }; }; then
+  have_libidn2=yes
+	cat >>confdefs.h <<\EOF
+#define HAVE_IDN2_H 1
+EOF
+
+else
+  echo "$as_me: failed program was:" >&5
+cat "conftest.$ac_ext" >&5
+have_libidn2=no
+	echo "$as_me:27838: result: $have_libidn2" >&5
+echo "${ECHO_T}$have_libidn2" >&6
+
+fi
+rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+
+fi
+
 # libidnkit - Internationalized Domain Names / IDN 2008
-echo "$as_me:26796: checking for idn_decodename in -lidnkit" >&5
+if test "x$have_libidn2" != "xyes"; then
+echo "$as_me:27848: checking for idn_decodename in -lidnkit" >&5
 echo $ECHO_N "checking for idn_decodename in -lidnkit... $ECHO_C" >&6
 if test "${ac_cv_lib_idnkit_idn_decodename+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -26801,7 +27853,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lidnkit  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 26804 "configure"
+#line 27856 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -26820,16 +27872,16 @@ idn_decodename ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:26823: \"$ac_link\"") >&5
+if { (eval echo "$as_me:27875: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:26826: \$? = $ac_status" >&5
+  echo "$as_me:27878: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:26829: \"$ac_try\"") >&5
+  { (eval echo "$as_me:27881: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:26832: \$? = $ac_status" >&5
+  echo "$as_me:27884: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_idnkit_idn_decodename=yes
 else
@@ -26840,27 +27892,75 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:26843: result: $ac_cv_lib_idnkit_idn_decodename" >&5
+echo "$as_me:27895: result: $ac_cv_lib_idnkit_idn_decodename" >&5
 echo "${ECHO_T}$ac_cv_lib_idnkit_idn_decodename" >&6
 if test "$ac_cv_lib_idnkit_idn_decodename" = yes; then
 
-	echo "$as_me:26847: checking for idn/api.h" >&5
+for ac_header in idn/version.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+echo "$as_me:27902: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >"conftest.$ac_ext" <<_ACEOF
+#line 27908 "configure"
+#include "confdefs.h"
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:27912: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+  (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  $EGREP -v '^ *\+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:27918: \$? = $ac_status" >&5
+  (exit "$ac_status"); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+  cat "conftest.$ac_ext" >&5
+  eval "$as_ac_Header=no"
+fi
+rm -f conftest.err "conftest.$ac_ext"
+fi
+echo "$as_me:27937: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
+if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
+  cat >>confdefs.h <<EOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+EOF
+
+fi
+done
+
+	echo "$as_me:27947: checking for idn/api.h" >&5
 echo $ECHO_N "checking for idn/api.h... $ECHO_C" >&6
 if test "${ac_cv_header_idn_api_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 26853 "configure"
+#line 27953 "configure"
 #include "confdefs.h"
 #include <idn/api.h>
 _ACEOF
-if { (eval echo "$as_me:26857: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:27957: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:26863: \$? = $ac_status" >&5
+  echo "$as_me:27963: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -26879,16 +27979,16 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:26882: result: $ac_cv_header_idn_api_h" >&5
+echo "$as_me:27982: result: $ac_cv_header_idn_api_h" >&5
 echo "${ECHO_T}$ac_cv_header_idn_api_h" >&6
 if test "$ac_cv_header_idn_api_h" = yes; then
 
-		echo "$as_me:26886: checking for IDN_DECODE_LOOKUP" >&5
+		echo "$as_me:27986: checking for IDN_DECODE_LOOKUP" >&5
 echo $ECHO_N "checking for IDN_DECODE_LOOKUP... $ECHO_C" >&6
 		cf_save_LIBS="$LIBS"
 		LIBS="$LIBS -lidnkit"
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 26891 "configure"
+#line 27991 "configure"
 #include "confdefs.h"
 #include <idn/api.h>
 			#include <string.h>
@@ -26908,16 +28008,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:26911: \"$ac_link\"") >&5
+if { (eval echo "$as_me:28011: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:26914: \$? = $ac_status" >&5
+  echo "$as_me:28014: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:26917: \"$ac_try\"") >&5
+  { (eval echo "$as_me:28017: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:26920: \$? = $ac_status" >&5
+  echo "$as_me:28020: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 cat >>confdefs.h <<\EOF
@@ -26932,14 +28032,15 @@ cat >>confdefs.h <<\EOF
 #define HAVE_IDN_DECODENAME 1
 EOF
 
-			echo "$as_me:26935: result: yes" >&5
+			echo "$as_me:28035: result: yes" >&5
 echo "${ECHO_T}yes" >&6
+			cf_have_libidnkit="yes"
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
 
 			LIBS=$cf_save_LIBS
-			echo "$as_me:26942: result: no" >&5
+			echo "$as_me:28043: result: no" >&5
 echo "${ECHO_T}no" >&6
 
 fi
@@ -26949,6 +28050,114 @@ fi
 
 fi
 
+fi
+
+# ICU >= 3.6 ucsdet_detect() and co.
+# rewrite, CF_TRY_PKG_CONFIG([icu-i18n], ...)
+
+for ac_header in unicode/ucsdet.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+echo "$as_me:28061: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >"conftest.$ac_ext" <<_ACEOF
+#line 28067 "configure"
+#include "confdefs.h"
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:28071: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+  (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  $EGREP -v '^ *\+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:28077: \$? = $ac_status" >&5
+  (exit "$ac_status"); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+  cat "conftest.$ac_ext" >&5
+  eval "$as_ac_Header=no"
+fi
+rm -f conftest.err "conftest.$ac_ext"
+fi
+echo "$as_me:28096: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
+if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
+  cat >>confdefs.h <<EOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+EOF
+
+	echo "$as_me:28103: checking for ucsdet_detect in libicui18n" >&5
+echo $ECHO_N "checking for ucsdet_detect in libicui18n... $ECHO_C" >&6
+	cf_save_LIBS="$LIBS"
+	cf_try_icui18n="no"
+	LIBS="$LIBS -licui18n"
+	cat >"conftest.$ac_ext" <<_ACEOF
+#line 28109 "configure"
+#include "confdefs.h"
+
+$ac_includes_default
+#include <unicode/ucsdet.h>
+int
+main (void)
+{
+
+		UErrorCode status = 0;
+		UCharsetDetector *detector;
+		const UCharsetMatch *match;
+
+		detector = ucsdet_open(&status);
+		match = ucsdet_detect(detector, &status);
+		ucsdet_getName(match, &status);
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f "conftest.$ac_objext" "conftest$ac_exeext"
+if { (eval echo "$as_me:28131: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:28134: \$? = $ac_status" >&5
+  (exit "$ac_status"); } &&
+         { ac_try='test -s "conftest$ac_exeext"'
+  { (eval echo "$as_me:28137: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:28140: \$? = $ac_status" >&5
+  (exit "$ac_status"); }; }; then
+
+cat >>confdefs.h <<\EOF
+#define USE_ICU_UCSDET 1
+EOF
+
+		cf_try_icui18n="yes"
+else
+  echo "$as_me: failed program was:" >&5
+cat "conftest.$ac_ext" >&5
+LIBS=$cf_save_LIBS
+fi
+rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
+	echo "$as_me:28154: result: $cf_try_icui18n" >&5
+echo "${ECHO_T}$cf_try_icui18n" >&6
+	cf_save_LIBS="$LIBS"
+
+fi
+done
+
 if test $use_curses != no ; then
 	cf_cv_termlib=$cf_with_screen
 else
@@ -26959,7 +28168,7 @@ else
 
 cf_cv_termlib=none
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 26962 "configure"
+#line 28171 "configure"
 #include "confdefs.h"
 extern char *tgoto(const char*,int,int);
 int
@@ -26971,19 +28180,19 @@ char *x=tgoto("",0,0); (void)x;
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:26974: \"$ac_link\"") >&5
+if { (eval echo "$as_me:28183: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:26977: \$? = $ac_status" >&5
+  echo "$as_me:28186: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:26980: \"$ac_try\"") >&5
+  { (eval echo "$as_me:28189: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:26983: \$? = $ac_status" >&5
+  echo "$as_me:28192: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 26986 "configure"
+#line 28195 "configure"
 #include "confdefs.h"
 extern char *tigetstr(const char *);
 int
@@ -26995,16 +28204,16 @@ char *x=tigetstr(""); (void)x;
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:26998: \"$ac_link\"") >&5
+if { (eval echo "$as_me:28207: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:27001: \$? = $ac_status" >&5
+  echo "$as_me:28210: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:27004: \"$ac_try\"") >&5
+  { (eval echo "$as_me:28213: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:27007: \$? = $ac_status" >&5
+  echo "$as_me:28216: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_termlib=terminfo
 else
@@ -27015,7 +28224,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 	test -n "$verbose" && echo "	using functions in predefined $cf_cv_termlib LIBS" 1>&6
 
-echo "${as_me:-configure}:27018: testing using functions in predefined $cf_cv_termlib LIBS ..." 1>&5
+echo "${as_me:-configure}:28227: testing using functions in predefined $cf_cv_termlib LIBS ..." 1>&5
 
 else
   echo "$as_me: failed program was:" >&5
@@ -27030,10 +28239,10 @@ if test "$cf_cv_termlib" = none; then
 		LIBS="-l$cf_lib $cf_save_LIBS"
 		for cf_func in tigetstr tgetstr
 		do
-			echo "$as_me:27033: checking for $cf_func in -l$cf_lib" >&5
+			echo "$as_me:28242: checking for $cf_func in -l$cf_lib" >&5
 echo $ECHO_N "checking for $cf_func in -l$cf_lib... $ECHO_C" >&6
 			cat >"conftest.$ac_ext" <<_ACEOF
-#line 27036 "configure"
+#line 28245 "configure"
 #include "confdefs.h"
 extern char *$cf_func(const char *);
 int
@@ -27045,16 +28254,16 @@ char *x = $cf_func(""); (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:27048: \"$ac_link\"") >&5
+if { (eval echo "$as_me:28257: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:27051: \$? = $ac_status" >&5
+  echo "$as_me:28260: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:27054: \"$ac_try\"") >&5
+  { (eval echo "$as_me:28263: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:27057: \$? = $ac_status" >&5
+  echo "$as_me:28266: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_result=yes
 else
@@ -27063,7 +28272,7 @@ cat "conftest.$ac_ext" >&5
 cf_result=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
-			echo "$as_me:27066: result: $cf_result" >&5
+			echo "$as_me:28275: result: $cf_result" >&5
 echo "${ECHO_T}$cf_result" >&6
 			if test "$cf_result" = yes ; then
 				if test "$cf_func" = tigetstr ; then
@@ -27080,7 +28289,7 @@ echo "${ECHO_T}$cf_result" >&6
 fi
 if test "$cf_cv_termlib" = none; then
 	# allow curses library for broken AIX system.
-	echo "$as_me:27083: checking for initscr in -lcurses" >&5
+	echo "$as_me:28292: checking for initscr in -lcurses" >&5
 echo $ECHO_N "checking for initscr in -lcurses... $ECHO_C" >&6
 if test "${ac_cv_lib_curses_initscr+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -27088,7 +28297,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lcurses  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 27091 "configure"
+#line 28300 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -27107,16 +28316,16 @@ initscr ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:27110: \"$ac_link\"") >&5
+if { (eval echo "$as_me:28319: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:27113: \$? = $ac_status" >&5
+  echo "$as_me:28322: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:27116: \"$ac_try\"") >&5
+  { (eval echo "$as_me:28325: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:27119: \$? = $ac_status" >&5
+  echo "$as_me:28328: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_curses_initscr=yes
 else
@@ -27127,7 +28336,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:27130: result: $ac_cv_lib_curses_initscr" >&5
+echo "$as_me:28339: result: $ac_cv_lib_curses_initscr" >&5
 echo "${ECHO_T}$ac_cv_lib_curses_initscr" >&6
 if test "$ac_cv_lib_curses_initscr" = yes; then
 
@@ -27149,7 +28358,7 @@ LIBS="$cf_add_libs"
 
 fi
 
-	echo "$as_me:27152: checking for tgoto in -ltermcap" >&5
+	echo "$as_me:28361: checking for tgoto in -ltermcap" >&5
 echo $ECHO_N "checking for tgoto in -ltermcap... $ECHO_C" >&6
 if test "${ac_cv_lib_termcap_tgoto+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -27157,7 +28366,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ltermcap  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 27160 "configure"
+#line 28369 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -27176,16 +28385,16 @@ tgoto ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:27179: \"$ac_link\"") >&5
+if { (eval echo "$as_me:28388: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:27182: \$? = $ac_status" >&5
+  echo "$as_me:28391: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:27185: \"$ac_try\"") >&5
+  { (eval echo "$as_me:28394: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:27188: \$? = $ac_status" >&5
+  echo "$as_me:28397: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_termcap_tgoto=yes
 else
@@ -27196,7 +28405,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:27199: result: $ac_cv_lib_termcap_tgoto" >&5
+echo "$as_me:28408: result: $ac_cv_lib_termcap_tgoto" >&5
 echo "${ECHO_T}$ac_cv_lib_termcap_tgoto" >&6
 if test "$ac_cv_lib_termcap_tgoto" = yes; then
 
@@ -27223,7 +28432,7 @@ fi
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 if test "$cf_cv_termlib" = none; then
-	{ echo "$as_me:27226: WARNING: Cannot find -ltermlib, -lcurses, or -ltermcap" >&5
+	{ echo "$as_me:28435: WARNING: Cannot find -ltermlib, -lcurses, or -ltermcap" >&5
 echo "$as_me: WARNING: Cannot find -ltermlib, -lcurses, or -ltermcap" >&2;}
 fi
 
@@ -27231,12 +28440,12 @@ fi
 
 	# terminfo-based termcap interfaces may be prototyped in <curses.h>,
 	# which may/may not be compatible with <termcap.h>
-	echo "$as_me:27234: checking if we should include termcap.h" >&5
+	echo "$as_me:28443: checking if we should include termcap.h" >&5
 echo $ECHO_N "checking if we should include termcap.h... $ECHO_C" >&6
 	cf_save_CFLAGS="$CFLAGS"
 	CFLAGS="$CFLAGS -I$srcdir/include"
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 27239 "configure"
+#line 28448 "configure"
 #include "confdefs.h"
 
 #define HAVE_TERMCAP_H 1
@@ -27254,16 +28463,16 @@ make an error
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:27257: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:28466: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:27260: \$? = $ac_status" >&5
+  echo "$as_me:28469: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:27263: \"$ac_try\"") >&5
+  { (eval echo "$as_me:28472: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:27266: \$? = $ac_status" >&5
+  echo "$as_me:28475: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_result=yes
 else
@@ -27272,7 +28481,7 @@ cat "conftest.$ac_ext" >&5
 cf_result=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
-	echo "$as_me:27275: result: $cf_result" >&5
+	echo "$as_me:28484: result: $cf_result" >&5
 echo "${ECHO_T}$cf_result" >&6
 	CFLAGS="$cf_save_CFLAGS"
 	test $cf_result = yes &&
@@ -27280,7 +28489,7 @@ cat >>confdefs.h <<\EOF
 #define HAVE_TERMCAP_H 1
 EOF
 
-echo "$as_me:27283: checking for term.h" >&5
+echo "$as_me:28492: checking for term.h" >&5
 echo $ECHO_N "checking for term.h... $ECHO_C" >&6
 if test "${cf_cv_term_header+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -27301,7 +28510,7 @@ esac
 for cf_header in $cf_header_list
 do
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 27304 "configure"
+#line 28513 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header:-curses.h}>
@@ -27315,16 +28524,16 @@ WINDOW *x; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:27318: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:28527: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:27321: \$? = $ac_status" >&5
+  echo "$as_me:28530: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:27324: \"$ac_try\"") >&5
+  { (eval echo "$as_me:28533: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:27327: \$? = $ac_status" >&5
+  echo "$as_me:28536: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_term_header=$cf_header
 	 break
@@ -27343,14 +28552,14 @@ no)
 	for cf_header in ncurses/term.h ncursesw/term.h
 	do
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 27346 "configure"
+#line 28555 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header:-curses.h}>
 #ifdef NCURSES_VERSION
 #include <${cf_header}>
 #else
-make an error
+#error expected NCURSES_VERSION to be defined
 #endif
 int
 main (void)
@@ -27361,16 +28570,16 @@ WINDOW *x; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:27364: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:28573: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:27367: \$? = $ac_status" >&5
+  echo "$as_me:28576: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:27370: \"$ac_try\"") >&5
+  { (eval echo "$as_me:28579: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:27373: \$? = $ac_status" >&5
+  echo "$as_me:28582: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_term_header=$cf_header
 			 break
@@ -27385,7 +28594,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 esac
 
 fi
-echo "$as_me:27388: result: $cf_cv_term_header" >&5
+echo "$as_me:28597: result: $cf_cv_term_header" >&5
 echo "${ECHO_T}$cf_cv_term_header" >&6
 
 case "$cf_cv_term_header" in
@@ -27412,7 +28621,7 @@ EOF
 	;;
 esac
 
-echo "$as_me:27415: checking if we should include curses.h or termcap.h" >&5
+echo "$as_me:28624: checking if we should include curses.h or termcap.h" >&5
 echo $ECHO_N "checking if we should include curses.h or termcap.h... $ECHO_C" >&6
 if test "${cf_cv_need_curses_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -27434,7 +28643,7 @@ do
 	test -n "${cf_c_opts}${cf_t_opts}" && cf_tgoto_decl=
 
     cat >"conftest.$ac_ext" <<_ACEOF
-#line 27437 "configure"
+#line 28646 "configure"
 #include "confdefs.h"
 /* $cf_c_opts $cf_t_opts */
 $CHECK_DECL_HDRS $cf_tgoto_decl
@@ -27447,16 +28656,16 @@ static char fmt[] = ""; char *x = tgoto(
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:27450: \"$ac_link\"") >&5
+if { (eval echo "$as_me:28659: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:27453: \$? = $ac_status" >&5
+  echo "$as_me:28662: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:27456: \"$ac_try\"") >&5
+  { (eval echo "$as_me:28665: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:27459: \$? = $ac_status" >&5
+  echo "$as_me:28668: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   test "$cf_cv_need_curses_h" = no && {
 	     cf_cv_need_curses_h=maybe
@@ -27468,7 +28677,7 @@ else
 cat "conftest.$ac_ext" >&5
 echo "Recompiling with corrected call (C:$cf_c_opts, T:$cf_t_opts)" >&5
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 27471 "configure"
+#line 28680 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS $cf_tgoto_decl
@@ -27481,16 +28690,16 @@ static char fmt[] = ""; char *x = tgoto(
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:27484: \"$ac_link\"") >&5
+if { (eval echo "$as_me:28693: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:27487: \$? = $ac_status" >&5
+  echo "$as_me:28696: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:27490: \"$ac_try\"") >&5
+  { (eval echo "$as_me:28699: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:27493: \$? = $ac_status" >&5
+  echo "$as_me:28702: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_need_curses_h=yes
 	 cf_ok_c_opts=$cf_c_opts
@@ -27527,7 +28736,7 @@ if test "$cf_cv_need_curses_h" != no ; t
 fi
 
 fi
-echo "$as_me:27530: result: $cf_cv_need_curses_h" >&5
+echo "$as_me:28739: result: $cf_cv_need_curses_h" >&5
 echo "${ECHO_T}$cf_cv_need_curses_h" >&6
 
 case $cf_cv_need_curses_h in
@@ -27565,7 +28774,7 @@ EOF
 	;;
 esac
 
-echo "$as_me:27568: checking declaration of tputs 3rd param" >&5
+echo "$as_me:28777: checking declaration of tputs 3rd param" >&5
 echo $ECHO_N "checking declaration of tputs 3rd param... $ECHO_C" >&6
 if test "${cf_cv_type_outchar+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -27581,10 +28790,10 @@ for Q in int void; do
 for R in int char; do
 for S in "" const; do
 
-echo "${as_me:-configure}:27584: testing loop variables P:$P, Q:$Q, R:$R, S:$S ..." 1>&5
+echo "${as_me:-configure}:28793: testing loop variables P:$P, Q:$Q, R:$R, S:$S ..." 1>&5
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 27587 "configure"
+#line 28796 "configure"
 #include "confdefs.h"
 $CHECK_DECL_HDRS
 	extern $Q OutChar($R);
@@ -27599,16 +28808,16 @@ tputs(fmt, 1, OutChar)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:27602: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:28811: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:27605: \$? = $ac_status" >&5
+  echo "$as_me:28814: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:27608: \"$ac_try\"") >&5
+  { (eval echo "$as_me:28817: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:27611: \$? = $ac_status" >&5
+  echo "$as_me:28820: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_type_outchar="$Q OutChar($R)"
 	 cf_cv_found=yes
@@ -27627,7 +28836,7 @@ done
 done
 
 fi
-echo "$as_me:27630: result: $cf_cv_type_outchar" >&5
+echo "$as_me:28839: result: $cf_cv_type_outchar" >&5
 echo "${ECHO_T}$cf_cv_type_outchar" >&6
 
 case $cf_cv_type_outchar in
@@ -27666,7 +28875,7 @@ EOF
 elif test ".$cf_cv_termlib" = .termcap ; then
 	# BSD 'tputs()' may need 'PC' to be set.
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 27669 "configure"
+#line 28878 "configure"
 #include "confdefs.h"
 
 int
@@ -27678,16 +28887,16 @@ extern char PC; PC = 0
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:27681: \"$ac_link\"") >&5
+if { (eval echo "$as_me:28890: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:27684: \$? = $ac_status" >&5
+  echo "$as_me:28893: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:27687: \"$ac_try\"") >&5
+  { (eval echo "$as_me:28896: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:27690: \$? = $ac_status" >&5
+  echo "$as_me:28899: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 cat >>confdefs.h <<\EOF
@@ -27705,14 +28914,14 @@ fi
 
 ###	Checks for external-data
 
-echo "$as_me:27708: checking if external errno is declared" >&5
+echo "$as_me:28917: checking if external errno is declared" >&5
 echo $ECHO_N "checking if external errno is declared... $ECHO_C" >&6
 if test "${cf_cv_dcl_errno+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 27715 "configure"
+#line 28924 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -27726,16 +28935,16 @@ int x = (int) errno; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:27729: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:28938: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:27732: \$? = $ac_status" >&5
+  echo "$as_me:28941: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:27735: \"$ac_try\"") >&5
+  { (eval echo "$as_me:28944: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:27738: \$? = $ac_status" >&5
+  echo "$as_me:28947: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_dcl_errno=yes
 else
@@ -27746,7 +28955,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:27749: result: $cf_cv_dcl_errno" >&5
+echo "$as_me:28958: result: $cf_cv_dcl_errno" >&5
 echo "${ECHO_T}$cf_cv_dcl_errno" >&6
 
 if test "$cf_cv_dcl_errno" = no ; then
@@ -27761,14 +28970,14 @@ fi
 
 # It's possible (for near-UNIX clones) that the data doesn't exist
 
-echo "$as_me:27764: checking if external errno exists" >&5
+echo "$as_me:28973: checking if external errno exists" >&5
 echo $ECHO_N "checking if external errno exists... $ECHO_C" >&6
 if test "${cf_cv_have_errno+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 27771 "configure"
+#line 28980 "configure"
 #include "confdefs.h"
 
 #undef errno
@@ -27783,16 +28992,16 @@ errno = 2
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:27786: \"$ac_link\"") >&5
+if { (eval echo "$as_me:28995: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:27789: \$? = $ac_status" >&5
+  echo "$as_me:28998: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:27792: \"$ac_try\"") >&5
+  { (eval echo "$as_me:29001: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:27795: \$? = $ac_status" >&5
+  echo "$as_me:29004: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_have_errno=yes
 else
@@ -27803,7 +29012,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:27806: result: $cf_cv_have_errno" >&5
+echo "$as_me:29015: result: $cf_cv_have_errno" >&5
 echo "${ECHO_T}$cf_cv_have_errno" >&6
 
 if test "$cf_cv_have_errno" = yes ; then
@@ -27819,13 +29028,13 @@ fi
 for ac_func in strerror
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:27822: checking for $ac_func" >&5
+echo "$as_me:29031: checking for $ac_func" >&5
 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
 if eval "test \"\${$as_ac_var+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 27828 "configure"
+#line 29037 "configure"
 #include "confdefs.h"
 #define $ac_func autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -27856,16 +29065,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:27859: \"$ac_link\"") >&5
+if { (eval echo "$as_me:29068: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:27862: \$? = $ac_status" >&5
+  echo "$as_me:29071: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:27865: \"$ac_try\"") >&5
+  { (eval echo "$as_me:29074: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:27868: \$? = $ac_status" >&5
+  echo "$as_me:29077: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_var=yes"
 else
@@ -27875,7 +29084,7 @@ eval "$as_ac_var=no"
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:27878: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:29087: result: `eval echo '${'"$as_ac_var"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
 if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -27887,14 +29096,14 @@ EOF
 
 else
 
-echo "$as_me:27890: checking if external sys_nerr is declared" >&5
+echo "$as_me:29099: checking if external sys_nerr is declared" >&5
 echo $ECHO_N "checking if external sys_nerr is declared... $ECHO_C" >&6
 if test "${cf_cv_dcl_sys_nerr+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 27897 "configure"
+#line 29106 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -27908,16 +29117,16 @@ int x = (int) sys_nerr; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:27911: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:29120: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:27914: \$? = $ac_status" >&5
+  echo "$as_me:29123: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:27917: \"$ac_try\"") >&5
+  { (eval echo "$as_me:29126: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:27920: \$? = $ac_status" >&5
+  echo "$as_me:29129: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_dcl_sys_nerr=yes
 else
@@ -27928,7 +29137,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:27931: result: $cf_cv_dcl_sys_nerr" >&5
+echo "$as_me:29140: result: $cf_cv_dcl_sys_nerr" >&5
 echo "${ECHO_T}$cf_cv_dcl_sys_nerr" >&6
 
 if test "$cf_cv_dcl_sys_nerr" = no ; then
@@ -27943,14 +29152,14 @@ fi
 
 # It's possible (for near-UNIX clones) that the data doesn't exist
 
-echo "$as_me:27946: checking if external sys_nerr exists" >&5
+echo "$as_me:29155: checking if external sys_nerr exists" >&5
 echo $ECHO_N "checking if external sys_nerr exists... $ECHO_C" >&6
 if test "${cf_cv_have_sys_nerr+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 27953 "configure"
+#line 29162 "configure"
 #include "confdefs.h"
 
 #undef sys_nerr
@@ -27965,16 +29174,16 @@ sys_nerr = 2
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:27968: \"$ac_link\"") >&5
+if { (eval echo "$as_me:29177: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:27971: \$? = $ac_status" >&5
+  echo "$as_me:29180: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:27974: \"$ac_try\"") >&5
+  { (eval echo "$as_me:29183: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:27977: \$? = $ac_status" >&5
+  echo "$as_me:29186: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_have_sys_nerr=yes
 else
@@ -27985,7 +29194,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:27988: result: $cf_cv_have_sys_nerr" >&5
+echo "$as_me:29197: result: $cf_cv_have_sys_nerr" >&5
 echo "${ECHO_T}$cf_cv_have_sys_nerr" >&6
 
 if test "$cf_cv_have_sys_nerr" = yes ; then
@@ -27998,14 +29207,14 @@ EOF
 
 fi
 
-echo "$as_me:28001: checking if external sys_errlist is declared" >&5
+echo "$as_me:29210: checking if external sys_errlist is declared" >&5
 echo $ECHO_N "checking if external sys_errlist is declared... $ECHO_C" >&6
 if test "${cf_cv_dcl_sys_errlist+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 28008 "configure"
+#line 29217 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -28019,16 +29228,16 @@ int x = (int) sys_errlist; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:28022: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:29231: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:28025: \$? = $ac_status" >&5
+  echo "$as_me:29234: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:28028: \"$ac_try\"") >&5
+  { (eval echo "$as_me:29237: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:28031: \$? = $ac_status" >&5
+  echo "$as_me:29240: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_dcl_sys_errlist=yes
 else
@@ -28039,7 +29248,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:28042: result: $cf_cv_dcl_sys_errlist" >&5
+echo "$as_me:29251: result: $cf_cv_dcl_sys_errlist" >&5
 echo "${ECHO_T}$cf_cv_dcl_sys_errlist" >&6
 
 if test "$cf_cv_dcl_sys_errlist" = no ; then
@@ -28054,14 +29263,14 @@ fi
 
 # It's possible (for near-UNIX clones) that the data doesn't exist
 
-echo "$as_me:28057: checking if external sys_errlist exists" >&5
+echo "$as_me:29266: checking if external sys_errlist exists" >&5
 echo $ECHO_N "checking if external sys_errlist exists... $ECHO_C" >&6
 if test "${cf_cv_have_sys_errlist+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 28064 "configure"
+#line 29273 "configure"
 #include "confdefs.h"
 
 #undef sys_errlist
@@ -28076,16 +29285,16 @@ sys_errlist = 2
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:28079: \"$ac_link\"") >&5
+if { (eval echo "$as_me:29288: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:28082: \$? = $ac_status" >&5
+  echo "$as_me:29291: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:28085: \"$ac_try\"") >&5
+  { (eval echo "$as_me:29294: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:28088: \$? = $ac_status" >&5
+  echo "$as_me:29297: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_have_sys_errlist=yes
 else
@@ -28096,7 +29305,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:28099: result: $cf_cv_have_sys_errlist" >&5
+echo "$as_me:29308: result: $cf_cv_have_sys_errlist" >&5
 echo "${ECHO_T}$cf_cv_have_sys_errlist" >&6
 
 if test "$cf_cv_have_sys_errlist" = yes ; then
@@ -28116,6 +29325,7 @@ done
 
 for ac_func in \
 	alarm \
+	arc4random_uniform \
 	atoi \
 	atol \
 	atoll \
@@ -28135,9 +29345,11 @@ for ac_func in \
 	gettimeofday \
 	getwd \
 	inet_aton \
+	inet_pton \
 	is_xterm \
 	isascii \
 	lockf \
+	lrand48 \
 	memcmp \
 	memcpy \
 	memmove \
@@ -28149,6 +29361,7 @@ for ac_func in \
 	nl_langinfo \
 	poll \
 	putenv \
+	random \
 	rewinddir \
 	resizeterm \
 	select \
@@ -28158,7 +29371,6 @@ for ac_func in \
 	setvbuf \
 	sigaction \
 	snprintf \
-	stpcpy \
 	strchr \
 	strcasecmp \
 	strcasestr \
@@ -28171,7 +29383,6 @@ for ac_func in \
 	strstr \
 	strtol \
 	strtoll \
-	tmpfile \
 	tzset \
 	uname \
 	unlink \
@@ -28182,13 +29393,13 @@ for ac_func in \
 $cf_tc_funcs
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:28185: checking for $ac_func" >&5
+echo "$as_me:29396: checking for $ac_func" >&5
 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
 if eval "test \"\${$as_ac_var+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 28191 "configure"
+#line 29402 "configure"
 #include "confdefs.h"
 #define $ac_func autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -28219,16 +29430,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:28222: \"$ac_link\"") >&5
+if { (eval echo "$as_me:29433: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:28225: \$? = $ac_status" >&5
+  echo "$as_me:29436: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:28228: \"$ac_try\"") >&5
+  { (eval echo "$as_me:29439: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:28231: \$? = $ac_status" >&5
+  echo "$as_me:29442: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_var=yes"
 else
@@ -28238,7 +29449,7 @@ eval "$as_ac_var=no"
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:28241: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:29452: result: `eval echo '${'"$as_ac_var"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
 if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -28248,13 +29459,13 @@ EOF
 fi
 done
 
-echo "$as_me:28251: checking for flock" >&5
+echo "$as_me:29462: checking for flock" >&5
 echo $ECHO_N "checking for flock... $ECHO_C" >&6
 if test "${ac_cv_func_flock+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 28257 "configure"
+#line 29468 "configure"
 #include "confdefs.h"
 #define flock autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -28285,16 +29496,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:28288: \"$ac_link\"") >&5
+if { (eval echo "$as_me:29499: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:28291: \$? = $ac_status" >&5
+  echo "$as_me:29502: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:28294: \"$ac_try\"") >&5
+  { (eval echo "$as_me:29505: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:28297: \$? = $ac_status" >&5
+  echo "$as_me:29508: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_flock=yes
 else
@@ -28304,7 +29515,7 @@ ac_cv_func_flock=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:28307: result: $ac_cv_func_flock" >&5
+echo "$as_me:29518: result: $ac_cv_func_flock" >&5
 echo "${ECHO_T}$ac_cv_func_flock" >&6
 if test "$ac_cv_func_flock" = yes; then
 
@@ -28314,7 +29525,7 @@ EOF
 
 else
 
-	echo "$as_me:28317: checking for flock in -lbsd" >&5
+	echo "$as_me:29528: checking for flock in -lbsd" >&5
 echo $ECHO_N "checking for flock in -lbsd... $ECHO_C" >&6
 if test "${ac_cv_lib_bsd_flock+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -28322,7 +29533,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lbsd  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 28325 "configure"
+#line 29536 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -28341,16 +29552,16 @@ flock ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:28344: \"$ac_link\"") >&5
+if { (eval echo "$as_me:29555: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:28347: \$? = $ac_status" >&5
+  echo "$as_me:29558: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:28350: \"$ac_try\"") >&5
+  { (eval echo "$as_me:29561: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:28353: \$? = $ac_status" >&5
+  echo "$as_me:29564: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_bsd_flock=yes
 else
@@ -28361,7 +29572,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:28364: result: $ac_cv_lib_bsd_flock" >&5
+echo "$as_me:29575: result: $ac_cv_lib_bsd_flock" >&5
 echo "${ECHO_T}$ac_cv_lib_bsd_flock" >&6
 if test "$ac_cv_lib_bsd_flock" = yes; then
   cat >>confdefs.h <<\EOF
@@ -28374,13 +29585,13 @@ fi
 fi
 
 # clock_gettime() / librt
-echo "$as_me:28377: checking for clock_gettime" >&5
+echo "$as_me:29588: checking for clock_gettime" >&5
 echo $ECHO_N "checking for clock_gettime... $ECHO_C" >&6
 if test "${ac_cv_func_clock_gettime+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 28383 "configure"
+#line 29594 "configure"
 #include "confdefs.h"
 #define clock_gettime autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -28411,16 +29622,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:28414: \"$ac_link\"") >&5
+if { (eval echo "$as_me:29625: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:28417: \$? = $ac_status" >&5
+  echo "$as_me:29628: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:28420: \"$ac_try\"") >&5
+  { (eval echo "$as_me:29631: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:28423: \$? = $ac_status" >&5
+  echo "$as_me:29634: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_clock_gettime=yes
 else
@@ -28430,7 +29641,7 @@ ac_cv_func_clock_gettime=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:28433: result: $ac_cv_func_clock_gettime" >&5
+echo "$as_me:29644: result: $ac_cv_func_clock_gettime" >&5
 echo "${ECHO_T}$ac_cv_func_clock_gettime" >&6
 if test "$ac_cv_func_clock_gettime" = yes; then
 
@@ -28440,7 +29651,7 @@ EOF
 
 else
 
-		echo "$as_me:28443: checking for clock_gettime in -lrt" >&5
+		echo "$as_me:29654: checking for clock_gettime in -lrt" >&5
 echo $ECHO_N "checking for clock_gettime in -lrt... $ECHO_C" >&6
 if test "${ac_cv_lib_rt_clock_gettime+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -28448,7 +29659,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lrt  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 28451 "configure"
+#line 29662 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -28467,16 +29678,16 @@ clock_gettime ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:28470: \"$ac_link\"") >&5
+if { (eval echo "$as_me:29681: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:28473: \$? = $ac_status" >&5
+  echo "$as_me:29684: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:28476: \"$ac_try\"") >&5
+  { (eval echo "$as_me:29687: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:28479: \$? = $ac_status" >&5
+  echo "$as_me:29690: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_rt_clock_gettime=yes
 else
@@ -28487,7 +29698,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:28490: result: $ac_cv_lib_rt_clock_gettime" >&5
+echo "$as_me:29701: result: $ac_cv_lib_rt_clock_gettime" >&5
 echo "${ECHO_T}$ac_cv_lib_rt_clock_gettime" >&6
 if test "$ac_cv_lib_rt_clock_gettime" = yes; then
   cat >>confdefs.h <<\EOF
@@ -28500,15 +29711,15 @@ fi
 
 fi
 
-echo "$as_me:28503: checking for memset_s" >&5
+echo "$as_me:29714: checking for memset_s" >&5
 echo $ECHO_N "checking for memset_s... $ECHO_C" >&6
 if test "$cross_compiling" = yes; then
-  echo "$as_me:28506: result: unknown" >&5
+  echo "$as_me:29717: result: unknown" >&5
 echo "${ECHO_T}unknown" >&6
 
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 28511 "configure"
+#line 29722 "configure"
 #include "confdefs.h"
 
 /* Request C11 Annex K */
@@ -28523,18 +29734,18 @@ int main(void)
 }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:28526: \"$ac_link\"") >&5
+if { (eval echo "$as_me:29737: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:28529: \$? = $ac_status" >&5
+  echo "$as_me:29740: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:28531: \"$ac_try\"") >&5
+  { (eval echo "$as_me:29742: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:28534: \$? = $ac_status" >&5
+  echo "$as_me:29745: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
-		echo "$as_me:28537: result: yes" >&5
+		echo "$as_me:29748: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 
 cat >>confdefs.h <<\EOF
@@ -28545,19 +29756,19 @@ else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
-echo "$as_me:28548: result: no" >&5
+echo "$as_me:29759: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext"
 fi
 
-  echo "$as_me:28554: checking for wide char and multibyte support" >&5
+  echo "$as_me:29765: checking for wide char and multibyte support" >&5
 echo $ECHO_N "checking for wide char and multibyte support... $ECHO_C" >&6
 if test "${am_cv_multibyte_able+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 28560 "configure"
+#line 29771 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #ifdef HAVE_STDLIB_H
@@ -28616,16 +29827,16 @@ const char icb[5] = {0xa4, 0xa4, 0xa4, 0
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:28619: \"$ac_link\"") >&5
+if { (eval echo "$as_me:29830: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:28622: \$? = $ac_status" >&5
+  echo "$as_me:29833: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:28625: \"$ac_try\"") >&5
+  { (eval echo "$as_me:29836: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:28628: \$? = $ac_status" >&5
+  echo "$as_me:29839: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   am_cv_multibyte_able=yes
 else
@@ -28634,7 +29845,7 @@ cat "conftest.$ac_ext" >&5
 cf_save_LIBS="$LIBS"
       LIBS="-lutf8 $LIBS"
       cat >"conftest.$ac_ext" <<_ACEOF
-#line 28637 "configure"
+#line 29848 "configure"
 #include "confdefs.h"
 #include <libutf8.h>
 int
@@ -28683,16 +29894,16 @@ const char icb[5] = {0xa4, 0xa4, 0xa4, 0
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:28686: \"$ac_link\"") >&5
+if { (eval echo "$as_me:29897: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:28689: \$? = $ac_status" >&5
+  echo "$as_me:29900: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:28692: \"$ac_try\"") >&5
+  { (eval echo "$as_me:29903: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:28695: \$? = $ac_status" >&5
+  echo "$as_me:29906: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   am_cv_multibyte_able=libutf8
 else
@@ -28707,7 +29918,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:28710: result: $am_cv_multibyte_able" >&5
+echo "$as_me:29921: result: $am_cv_multibyte_able" >&5
 echo "${ECHO_T}$am_cv_multibyte_able" >&6
   if test "$am_cv_multibyte_able" != no; then
     if test "$am_cv_multibyte_able" = libutf8; then
@@ -28725,10 +29936,10 @@ EOF
 
   fi
 
-echo "$as_me:28728: checking if gettimeofday takes two arguments" >&5
+echo "$as_me:29939: checking if gettimeofday takes two arguments" >&5
 echo $ECHO_N "checking if gettimeofday takes two arguments... $ECHO_C" >&6
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 28731 "configure"
+#line 29942 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -28739,23 +29950,22 @@ int
 main (void)
 {
 static struct timeval tv;
-static struct timezone tz;
-gettimeofday(&tv, &tz);
+gettimeofday(&tv, NULL);
   ;
   return 0;
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:28749: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:29959: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:28752: \$? = $ac_status" >&5
+  echo "$as_me:29962: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:28755: \"$ac_try\"") >&5
+  { (eval echo "$as_me:29965: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:28758: \$? = $ac_status" >&5
+  echo "$as_me:29968: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_gettimeofday_2args=yes
 else
@@ -28764,7 +29974,7 @@ cat "conftest.$ac_ext" >&5
 ac_cv_func_gettimeofday_2args=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
-echo "$as_me:28767: result: $ac_cv_func_gettimeofday_2args" >&5
+echo "$as_me:29977: result: $ac_cv_func_gettimeofday_2args" >&5
 echo "${ECHO_T}$ac_cv_func_gettimeofday_2args" >&6
 if test $ac_cv_func_gettimeofday_2args = yes; then
 
@@ -28774,13 +29984,13 @@ EOF
 
 fi
 
-echo "$as_me:28777: checking return type of signal handlers" >&5
+echo "$as_me:29987: checking return type of signal handlers" >&5
 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
 if test "${ac_cv_type_signal+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 28783 "configure"
+#line 29993 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
@@ -28792,22 +30002,22 @@ extern void (*signal (int, void (*)(int)
 int
 main (void)
 {
-int i; (void) i
+int i = 0; (void) i
   ;
   return 0;
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:28801: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:30011: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:28804: \$? = $ac_status" >&5
+  echo "$as_me:30014: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:28807: \"$ac_try\"") >&5
+  { (eval echo "$as_me:30017: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:28810: \$? = $ac_status" >&5
+  echo "$as_me:30020: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_type_signal=void
 else
@@ -28817,14 +30027,14 @@ ac_cv_type_signal=int
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:28820: result: $ac_cv_type_signal" >&5
+echo "$as_me:30030: result: $ac_cv_type_signal" >&5
 echo "${ECHO_T}$ac_cv_type_signal" >&6
 
 cat >>confdefs.h <<EOF
 #define RETSIGTYPE $ac_cv_type_signal
 EOF
 
-echo "$as_me:28827: checking declaration of signal arguments" >&5
+echo "$as_me:30037: checking declaration of signal arguments" >&5
 echo $ECHO_N "checking declaration of signal arguments... $ECHO_C" >&6
 if test "${cf_cv_sig_args+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -28834,7 +30044,7 @@ cf_cv_sig_args=
 for cf_test in "int sig" "int sig, ..."
 do
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 28837 "configure"
+#line 30047 "configure"
 #include "confdefs.h"
 
 #include <signal.h>
@@ -28847,16 +30057,16 @@ extern RETSIGTYPE catch($cf_test); signa
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:28850: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:30060: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:28853: \$? = $ac_status" >&5
+  echo "$as_me:30063: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:28856: \"$ac_try\"") >&5
+  { (eval echo "$as_me:30066: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:28859: \$? = $ac_status" >&5
+  echo "$as_me:30069: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_sig_args="$cf_test";break
 else
@@ -28868,7 +30078,7 @@ done
 
 fi
 
-echo "$as_me:28871: result: $cf_cv_sig_args" >&5
+echo "$as_me:30081: result: $cf_cv_sig_args" >&5
 echo "${ECHO_T}$cf_cv_sig_args" >&6
 
 cat >>confdefs.h <<EOF
@@ -28877,14 +30087,14 @@ EOF
 
 if test "$ac_cv_func_sigaction" = yes; then
 
-echo "$as_me:28880: checking whether sigaction needs _POSIX_SOURCE" >&5
+echo "$as_me:30090: checking whether sigaction needs _POSIX_SOURCE" >&5
 echo $ECHO_N "checking whether sigaction needs _POSIX_SOURCE... $ECHO_C" >&6
 if test "${cf_cv_sigact_bad+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 28887 "configure"
+#line 30097 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -28898,16 +30108,16 @@ struct sigaction act
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:28901: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:30111: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:28904: \$? = $ac_status" >&5
+  echo "$as_me:30114: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:28907: \"$ac_try\"") >&5
+  { (eval echo "$as_me:30117: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:28910: \$? = $ac_status" >&5
+  echo "$as_me:30120: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_sigact_bad=no
 else
@@ -28918,7 +30128,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:28921: result: $cf_cv_sigact_bad" >&5
+echo "$as_me:30131: result: $cf_cv_sigact_bad" >&5
 echo "${ECHO_T}$cf_cv_sigact_bad" >&6
 
 test "$cf_cv_sigact_bad" = yes &&
@@ -28926,14 +30136,14 @@ cat >>confdefs.h <<\EOF
 #define SVR4_ACTION 1
 EOF
 
-echo "$as_me:28929: checking if we have sigaction/related functions" >&5
+echo "$as_me:30139: checking if we have sigaction/related functions" >&5
 echo $ECHO_N "checking if we have sigaction/related functions... $ECHO_C" >&6
 if test "${cf_cv_sigaction_funcs+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 28936 "configure"
+#line 30146 "configure"
 #include "confdefs.h"
 
 #ifdef SVR4_ACTION
@@ -28956,16 +30166,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:28959: \"$ac_link\"") >&5
+if { (eval echo "$as_me:30169: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:28962: \$? = $ac_status" >&5
+  echo "$as_me:30172: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:28965: \"$ac_try\"") >&5
+  { (eval echo "$as_me:30175: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:28968: \$? = $ac_status" >&5
+  echo "$as_me:30178: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_sigaction_funcs=yes
 else
@@ -28975,7 +30185,7 @@ cf_cv_sigaction_funcs=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:28978: result: $cf_cv_sigaction_funcs" >&5
+echo "$as_me:30188: result: $cf_cv_sigaction_funcs" >&5
 echo "${ECHO_T}$cf_cv_sigaction_funcs" >&6
 
 test "$cf_cv_sigaction_funcs" = yes &&
@@ -28985,7 +30195,7 @@ EOF
 
 fi
 
-echo "$as_me:28988: checking for fork" >&5
+echo "$as_me:30198: checking for fork" >&5
 echo $ECHO_N "checking for fork... $ECHO_C" >&6
 if test "${cf_cv_func_fork+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -28995,7 +30205,7 @@ if test "$cross_compiling" = yes; then
   cf_cv_func_fork=unknown
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 28998 "configure"
+#line 30208 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -29007,15 +30217,15 @@ int main(void)
 }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:29010: \"$ac_link\"") >&5
+if { (eval echo "$as_me:30220: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:29013: \$? = $ac_status" >&5
+  echo "$as_me:30223: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:29015: \"$ac_try\"") >&5
+  { (eval echo "$as_me:30225: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:29018: \$? = $ac_status" >&5
+  echo "$as_me:30228: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_func_fork=yes
 else
@@ -29028,19 +30238,19 @@ rm -f core ./core.* ./*.core "conftest$a
 fi
 
 fi
-echo "$as_me:29031: result: $cf_cv_func_fork" >&5
+echo "$as_me:30241: result: $cf_cv_func_fork" >&5
 echo "${ECHO_T}$cf_cv_func_fork" >&6
 test $cf_cv_func_fork = yes && cat >>confdefs.h <<\EOF
 #define HAVE_FORK 1
 EOF
 
-echo "$as_me:29037: checking for memmove" >&5
+echo "$as_me:30247: checking for memmove" >&5
 echo $ECHO_N "checking for memmove... $ECHO_C" >&6
 if test "${ac_cv_func_memmove+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 29043 "configure"
+#line 30253 "configure"
 #include "confdefs.h"
 #define memmove autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -29071,16 +30281,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:29074: \"$ac_link\"") >&5
+if { (eval echo "$as_me:30284: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:29077: \$? = $ac_status" >&5
+  echo "$as_me:30287: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:29080: \"$ac_try\"") >&5
+  { (eval echo "$as_me:30290: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:29083: \$? = $ac_status" >&5
+  echo "$as_me:30293: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_memmove=yes
 else
@@ -29090,19 +30300,19 @@ ac_cv_func_memmove=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:29093: result: $ac_cv_func_memmove" >&5
+echo "$as_me:30303: result: $ac_cv_func_memmove" >&5
 echo "${ECHO_T}$ac_cv_func_memmove" >&6
 if test "$ac_cv_func_memmove" = yes; then
   :
 else
 
-echo "$as_me:29099: checking for bcopy" >&5
+echo "$as_me:30309: checking for bcopy" >&5
 echo $ECHO_N "checking for bcopy... $ECHO_C" >&6
 if test "${ac_cv_func_bcopy+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 29105 "configure"
+#line 30315 "configure"
 #include "confdefs.h"
 #define bcopy autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -29133,16 +30343,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:29136: \"$ac_link\"") >&5
+if { (eval echo "$as_me:30346: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:29139: \$? = $ac_status" >&5
+  echo "$as_me:30349: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:29142: \"$ac_try\"") >&5
+  { (eval echo "$as_me:30352: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:29145: \$? = $ac_status" >&5
+  echo "$as_me:30355: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_bcopy=yes
 else
@@ -29152,11 +30362,11 @@ ac_cv_func_bcopy=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:29155: result: $ac_cv_func_bcopy" >&5
+echo "$as_me:30365: result: $ac_cv_func_bcopy" >&5
 echo "${ECHO_T}$ac_cv_func_bcopy" >&6
 if test "$ac_cv_func_bcopy" = yes; then
 
-	echo "$as_me:29159: checking if bcopy does overlapping moves" >&5
+	echo "$as_me:30369: checking if bcopy does overlapping moves" >&5
 echo $ECHO_N "checking if bcopy does overlapping moves... $ECHO_C" >&6
 if test "${cf_cv_good_bcopy+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -29166,7 +30376,7 @@ else
   cf_cv_good_bcopy=unknown
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 29169 "configure"
+#line 30379 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -29182,15 +30392,15 @@ int main(void) {
 
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:29185: \"$ac_link\"") >&5
+if { (eval echo "$as_me:30395: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:29188: \$? = $ac_status" >&5
+  echo "$as_me:30398: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:29190: \"$ac_try\"") >&5
+  { (eval echo "$as_me:30400: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:29193: \$? = $ac_status" >&5
+  echo "$as_me:30403: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_good_bcopy=yes
 else
@@ -29203,7 +30413,7 @@ rm -f core ./core.* ./*.core "conftest$a
 fi
 
 fi
-echo "$as_me:29206: result: $cf_cv_good_bcopy" >&5
+echo "$as_me:30416: result: $cf_cv_good_bcopy" >&5
 echo "${ECHO_T}$cf_cv_good_bcopy" >&6
 
 else
@@ -29226,10 +30436,10 @@ EOF
 
 fi
 
-echo "$as_me:29229: checking if select expects int * arguments" >&5
+echo "$as_me:30439: checking if select expects int * arguments" >&5
 echo $ECHO_N "checking if select expects int * arguments... $ECHO_C" >&6
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 29232 "configure"
+#line 30442 "configure"
 #include "confdefs.h"
 #include <time.h>
 
@@ -29240,16 +30450,16 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&
 cat >>confdefs.h <<\EOF
 #define HAVE_SELECT_INTP 1
 EOF
- echo "$as_me:29243: result: yes" >&5
+ echo "$as_me:30453: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 else
-  echo "$as_me:29246: result: no" >&5
+  echo "$as_me:30456: result: no" >&5
 echo "${ECHO_T}no" >&6
 
 fi
 rm -rf conftest*
 
-echo "$as_me:29252: checking whether closedir returns void" >&5
+echo "$as_me:30462: checking whether closedir returns void" >&5
 echo $ECHO_N "checking whether closedir returns void... $ECHO_C" >&6
 if test "${ac_cv_func_closedir_void+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -29258,7 +30468,7 @@ else
   ac_cv_func_closedir_void=yes
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 29261 "configure"
+#line 30471 "configure"
 #include "confdefs.h"
 $ac_includes_default
 #include <$ac_header_dirent>
@@ -29275,15 +30485,15 @@ $ac_main_return (closedir (opendir (".")
 }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:29278: \"$ac_link\"") >&5
+if { (eval echo "$as_me:30488: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:29281: \$? = $ac_status" >&5
+  echo "$as_me:30491: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:29283: \"$ac_try\"") >&5
+  { (eval echo "$as_me:30493: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:29286: \$? = $ac_status" >&5
+  echo "$as_me:30496: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_closedir_void=no
 else
@@ -29295,7 +30505,7 @@ fi
 rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext"
 fi
 fi
-echo "$as_me:29298: result: $ac_cv_func_closedir_void" >&5
+echo "$as_me:30508: result: $ac_cv_func_closedir_void" >&5
 echo "${ECHO_T}$ac_cv_func_closedir_void" >&6
 if test $ac_cv_func_closedir_void = yes; then
 
@@ -29307,18 +30517,18 @@ fi
 
 # autoconf 2.5x assumes setvbuf is not reversed when cross-compiling
 if test "$cross_compiling" != yes ; then
-	echo "$as_me:29310: checking whether setvbuf arguments are reversed" >&5
+	echo "$as_me:30520: checking whether setvbuf arguments are reversed" >&5
 echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6
 if test "${ac_cv_func_setvbuf_reversed+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   if test "$cross_compiling" = yes; then
-  { { echo "$as_me:29316: error: cannot run test program while cross compiling" >&5
+  { { echo "$as_me:30526: error: cannot run test program while cross compiling" >&5
 echo "$as_me: error: cannot run test program while cross compiling" >&2;}
    { (exit 1); exit 1; }; }
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 29321 "configure"
+#line 30531 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 /* If setvbuf has the reversed format, exit 0. */
@@ -29335,15 +30545,15 @@ main (void)
 }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:29338: \"$ac_link\"") >&5
+if { (eval echo "$as_me:30548: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:29341: \$? = $ac_status" >&5
+  echo "$as_me:30551: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:29343: \"$ac_try\"") >&5
+  { (eval echo "$as_me:30553: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:29346: \$? = $ac_status" >&5
+  echo "$as_me:30556: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_setvbuf_reversed=yes
 else
@@ -29356,7 +30566,7 @@ rm -f core ./core.* ./*.core "conftest$a
 fi
 rm -f core ./core.* ./*.core
 fi
-echo "$as_me:29359: result: $ac_cv_func_setvbuf_reversed" >&5
+echo "$as_me:30569: result: $ac_cv_func_setvbuf_reversed" >&5
 echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6
 if test $ac_cv_func_setvbuf_reversed = yes; then
 
@@ -29375,6 +30585,7 @@ for ac_func in \
 	getaddrinfo \
 	gethostname \
 	gethostbyname \
+	getpeername \
 	getservbyname \
 	inet_addr \
 	inet_ntoa \
@@ -29382,13 +30593,13 @@ for ac_func in \
 
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:29385: checking for $ac_func" >&5
+echo "$as_me:30596: checking for $ac_func" >&5
 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
 if eval "test \"\${$as_ac_var+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 29391 "configure"
+#line 30602 "configure"
 #include "confdefs.h"
 #define $ac_func autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -29419,16 +30630,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:29422: \"$ac_link\"") >&5
+if { (eval echo "$as_me:30633: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:29425: \$? = $ac_status" >&5
+  echo "$as_me:30636: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:29428: \"$ac_try\"") >&5
+  { (eval echo "$as_me:30639: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:29431: \$? = $ac_status" >&5
+  echo "$as_me:30642: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_var=yes"
 else
@@ -29438,7 +30649,7 @@ eval "$as_ac_var=no"
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:29441: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:30652: result: `eval echo '${'"$as_ac_var"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
 if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -29448,14 +30659,14 @@ EOF
 fi
 done
 
-echo "$as_me:29451: checking for type sigaction_t" >&5
+echo "$as_me:30662: checking for type sigaction_t" >&5
 echo $ECHO_N "checking for type sigaction_t... $ECHO_C" >&6
 if test "${cf_cv_type_sigaction+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 29458 "configure"
+#line 30669 "configure"
 #include "confdefs.h"
 
 #include <signal.h>
@@ -29468,16 +30679,16 @@ sigaction_t x; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:29471: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:30682: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:29474: \$? = $ac_status" >&5
+  echo "$as_me:30685: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:29477: \"$ac_try\"") >&5
+  { (eval echo "$as_me:30688: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:29480: \$? = $ac_status" >&5
+  echo "$as_me:30691: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_type_sigaction=yes
 else
@@ -29488,21 +30699,21 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
 
-echo "$as_me:29491: result: $cf_cv_type_sigaction" >&5
+echo "$as_me:30702: result: $cf_cv_type_sigaction" >&5
 echo "${ECHO_T}$cf_cv_type_sigaction" >&6
 test "$cf_cv_type_sigaction" = yes &&
 cat >>confdefs.h <<\EOF
 #define HAVE_TYPE_SIGACTION 1
 EOF
 
-echo "$as_me:29498: checking for nonconflicting termios.h" >&5
+echo "$as_me:30709: checking for nonconflicting termios.h" >&5
 echo $ECHO_N "checking for nonconflicting termios.h... $ECHO_C" >&6
 if test "${cf_cv_use_termios_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 29505 "configure"
+#line 30716 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_IOCTL_H
@@ -29529,16 +30740,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:29532: \"$ac_link\"") >&5
+if { (eval echo "$as_me:30743: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:29535: \$? = $ac_status" >&5
+  echo "$as_me:30746: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:29538: \"$ac_try\"") >&5
+  { (eval echo "$as_me:30749: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:29541: \$? = $ac_status" >&5
+  echo "$as_me:30752: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_use_termios_h=yes
 else
@@ -29550,7 +30761,7 @@ rm -f "conftest.$ac_objext" "conftest$ac
 
 fi
 
-echo "$as_me:29553: result: $cf_cv_use_termios_h" >&5
+echo "$as_me:30764: result: $cf_cv_use_termios_h" >&5
 echo "${ECHO_T}$cf_cv_use_termios_h" >&6
 if test $cf_cv_use_termios_h = yes; then
 
@@ -29568,14 +30779,14 @@ EOF
 
 fi
 
-echo "$as_me:29571: checking for passwd.pw_gecos" >&5
+echo "$as_me:30782: checking for passwd.pw_gecos" >&5
 echo $ECHO_N "checking for passwd.pw_gecos... $ECHO_C" >&6
 if test "${cf_cv_pw_gecos+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 29578 "configure"
+#line 30789 "configure"
 #include "confdefs.h"
 
 #include <pwd.h>
@@ -29592,16 +30803,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:29595: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:30806: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:29598: \$? = $ac_status" >&5
+  echo "$as_me:30809: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:29601: \"$ac_try\"") >&5
+  { (eval echo "$as_me:30812: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:29604: \$? = $ac_status" >&5
+  echo "$as_me:30815: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_pw_gecos=yes
 else
@@ -29611,21 +30822,21 @@ cf_cv_pw_gecos=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:29614: result: $cf_cv_pw_gecos" >&5
+echo "$as_me:30825: result: $cf_cv_pw_gecos" >&5
 echo "${ECHO_T}$cf_cv_pw_gecos" >&6
 test $cf_cv_pw_gecos = no &&
 cat >>confdefs.h <<\EOF
 #define DONT_HAVE_PW_GECOS 1
 EOF
 
-echo "$as_me:29621: checking for tm.tm_gmtoff" >&5
+echo "$as_me:30832: checking for tm.tm_gmtoff" >&5
 echo $ECHO_N "checking for tm.tm_gmtoff... $ECHO_C" >&6
 if test "${cf_cv_tm_gmtoff+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 29628 "configure"
+#line 30839 "configure"
 #include "confdefs.h"
 
 #ifdef TIME_WITH_SYS_TIME
@@ -29650,16 +30861,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:29653: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:30864: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:29656: \$? = $ac_status" >&5
+  echo "$as_me:30867: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:29659: \"$ac_try\"") >&5
+  { (eval echo "$as_me:30870: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:29662: \$? = $ac_status" >&5
+  echo "$as_me:30873: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_tm_gmtoff=yes
 else
@@ -29670,14 +30881,14 @@ fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
 
-echo "$as_me:29673: result: $cf_cv_tm_gmtoff" >&5
+echo "$as_me:30884: result: $cf_cv_tm_gmtoff" >&5
 echo "${ECHO_T}$cf_cv_tm_gmtoff" >&6
 test "$cf_cv_tm_gmtoff" = no &&
 cat >>confdefs.h <<\EOF
 #define DONT_HAVE_TM_GMTOFF 1
 EOF
 
-echo "$as_me:29680: checking for long file names" >&5
+echo "$as_me:30891: checking for long file names" >&5
 echo $ECHO_N "checking for long file names... $ECHO_C" >&6
 if test "${ac_cv_sys_long_file_names+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -29716,7 +30927,7 @@ for ac_dir in  . $ac_tmpdirs `eval echo
   rm -rf "$ac_xdir" 2>/dev/null
 done
 fi
-echo "$as_me:29719: result: $ac_cv_sys_long_file_names" >&5
+echo "$as_me:30930: result: $ac_cv_sys_long_file_names" >&5
 echo "${ECHO_T}$ac_cv_sys_long_file_names" >&6
 if test "$ac_cv_sys_long_file_names" = yes; then
 
@@ -29729,23 +30940,23 @@ fi
 for ac_header in sys/wait.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:29732: checking for $ac_header" >&5
+echo "$as_me:30943: checking for $ac_header" >&5
 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 29738 "configure"
+#line 30949 "configure"
 #include "confdefs.h"
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:29742: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:30953: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:29748: \$? = $ac_status" >&5
+  echo "$as_me:30959: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -29764,7 +30975,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:29767: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:30978: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -29785,23 +30996,23 @@ else
 for ac_header in wait.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:29788: checking for $ac_header" >&5
+echo "$as_me:30999: checking for $ac_header" >&5
 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 29794 "configure"
+#line 31005 "configure"
 #include "confdefs.h"
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:29798: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:31009: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:29804: \$? = $ac_status" >&5
+  echo "$as_me:31015: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -29820,7 +31031,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:29823: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:31034: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -29833,23 +31044,23 @@ done
 for ac_header in waitstatus.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:29836: checking for $ac_header" >&5
+echo "$as_me:31047: checking for $ac_header" >&5
 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 29842 "configure"
+#line 31053 "configure"
 #include "confdefs.h"
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:29846: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:31057: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:29852: \$? = $ac_status" >&5
+  echo "$as_me:31063: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -29868,7 +31079,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:29871: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:31082: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -29890,14 +31101,14 @@ cf_wait_headers="$cf_wait_headers
 fi
 fi
 
-echo "$as_me:29893: checking for union wait" >&5
+echo "$as_me:31104: checking for union wait" >&5
 echo $ECHO_N "checking for union wait... $ECHO_C" >&6
 if test "${cf_cv_type_unionwait+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 29900 "configure"
+#line 31111 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int
@@ -29916,16 +31127,16 @@ static int x;
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:29919: \"$ac_link\"") >&5
+if { (eval echo "$as_me:31130: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:29922: \$? = $ac_status" >&5
+  echo "$as_me:31133: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:29925: \"$ac_try\"") >&5
+  { (eval echo "$as_me:31136: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:29928: \$? = $ac_status" >&5
+  echo "$as_me:31139: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_type_unionwait=no
 	 echo compiles ok w/o union wait 1>&5
@@ -29935,7 +31146,7 @@ else
 cat "conftest.$ac_ext" >&5
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 29938 "configure"
+#line 31149 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int
@@ -29962,16 +31173,16 @@ union wait x;
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:29965: \"$ac_link\"") >&5
+if { (eval echo "$as_me:31176: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:29968: \$? = $ac_status" >&5
+  echo "$as_me:31179: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:29971: \"$ac_try\"") >&5
+  { (eval echo "$as_me:31182: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:29974: \$? = $ac_status" >&5
+  echo "$as_me:31185: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_type_unionwait=yes
 	 echo compiles ok with union wait and possibly macros too 1>&5
@@ -29986,14 +31197,14 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
 
-echo "$as_me:29989: result: $cf_cv_type_unionwait" >&5
+echo "$as_me:31200: result: $cf_cv_type_unionwait" >&5
 echo "${ECHO_T}$cf_cv_type_unionwait" >&6
 test "$cf_cv_type_unionwait" = yes &&
 cat >>confdefs.h <<\EOF
 #define HAVE_TYPE_UNIONWAIT 1
 EOF
 
-echo "$as_me:29996: checking if the system function returns usable child-status" >&5
+echo "$as_me:31207: checking if the system function returns usable child-status" >&5
 echo $ECHO_N "checking if the system function returns usable child-status... $ECHO_C" >&6
 if test "${cf_cv_system_status+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -30003,7 +31214,7 @@ else
   cf_cv_system_status=unknown
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 30006 "configure"
+#line 31217 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -30038,15 +31249,15 @@ int main(void)
 
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:30041: \"$ac_link\"") >&5
+if { (eval echo "$as_me:31252: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:30044: \$? = $ac_status" >&5
+  echo "$as_me:31255: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:30046: \"$ac_try\"") >&5
+  { (eval echo "$as_me:31257: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:30049: \$? = $ac_status" >&5
+  echo "$as_me:31260: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_system_status=no
 else
@@ -30057,7 +31268,7 @@ if test "$cross_compiling" = yes; then
   cf_cv_system_status=unknown
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 30060 "configure"
+#line 31271 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -30065,15 +31276,15 @@ $ac_includes_default
 int main(void) { ${cf_cv_main_return:-return}(system("exit 23") != (23 << 8)); }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:30068: \"$ac_link\"") >&5
+if { (eval echo "$as_me:31279: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:30071: \$? = $ac_status" >&5
+  echo "$as_me:31282: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:30073: \"$ac_try\"") >&5
+  { (eval echo "$as_me:31284: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:30076: \$? = $ac_status" >&5
+  echo "$as_me:31287: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_system_status=yes
 else
@@ -30090,7 +31301,7 @@ fi
 
 fi
 
-echo "$as_me:30093: result: $cf_cv_system_status" >&5
+echo "$as_me:31304: result: $cf_cv_system_status" >&5
 echo "${ECHO_T}$cf_cv_system_status" >&6
 test $cf_cv_system_status = no &&
 cat >>confdefs.h <<\EOF
@@ -30113,14 +31324,14 @@ EOF
 	else
 
 if test "$cf_cv_ncurses_version" != no ; then
-echo "$as_me:30116: checking for obsolete/broken version of ncurses" >&5
+echo "$as_me:31327: checking for obsolete/broken version of ncurses" >&5
 echo $ECHO_N "checking for obsolete/broken version of ncurses... $ECHO_C" >&6
 if test "${cf_cv_ncurses_broken+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 30123 "configure"
+#line 31334 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header:-curses.h}>
@@ -30129,9 +31340,9 @@ main (void)
 {
 
 #if defined(NCURSES_VERSION) && defined(wgetbkgd)
-	make an error
+	#error expected wgetbkgd to be defined with ncurses
 #else
-	int x = 1
+	int x = 1; (void)x;
 #endif
 
   ;
@@ -30139,16 +31350,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:30142: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:31353: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:30145: \$? = $ac_status" >&5
+  echo "$as_me:31356: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:30148: \"$ac_try\"") >&5
+  { (eval echo "$as_me:31359: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:30151: \$? = $ac_status" >&5
+  echo "$as_me:31362: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_ncurses_broken=no
 else
@@ -30160,10 +31371,10 @@ rm -f "conftest.$ac_objext" "conftest.$a
 
 fi
 
-echo "$as_me:30163: result: $cf_cv_ncurses_broken" >&5
+echo "$as_me:31374: result: $cf_cv_ncurses_broken" >&5
 echo "${ECHO_T}$cf_cv_ncurses_broken" >&6
 if test "$cf_cv_ncurses_broken" = yes ; then
-	{ echo "$as_me:30166: WARNING: hmm... you should get an up-to-date version of ncurses" >&5
+	{ echo "$as_me:31377: WARNING: hmm... you should get an up-to-date version of ncurses" >&5
 echo "$as_me: WARNING: hmm... you should get an up-to-date version of ncurses" >&2;}
 
 cat >>confdefs.h <<\EOF
@@ -30173,14 +31384,14 @@ EOF
 fi
 fi
 
-echo "$as_me:30176: checking if curses supports color attributes" >&5
+echo "$as_me:31387: checking if curses supports color attributes" >&5
 echo $ECHO_N "checking if curses supports color attributes... $ECHO_C" >&6
 if test "${cf_cv_color_curses+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 30183 "configure"
+#line 31394 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header:-curses.h}>
@@ -30188,11 +31399,12 @@ else
 int
 main (void)
 {
-chtype x = COLOR_BLUE;
-	 has_colors();
-	 start_color();
+
+	chtype x = COLOR_BLUE; (void)x;
+	has_colors();
+	start_color();
 #ifndef NCURSES_BROKEN
-	 wbkgd(curscr, getbkgd(stdscr)); /* X/Open XPG4 aka SVr4 Curses */
+	wbkgd(curscr, getbkgd(stdscr)); /* X/Open XPG4 aka SVr4 Curses */
 #endif
 
   ;
@@ -30200,16 +31412,16 @@ chtype x = COLOR_BLUE;
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:30203: \"$ac_link\"") >&5
+if { (eval echo "$as_me:31415: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:30206: \$? = $ac_status" >&5
+  echo "$as_me:31418: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:30209: \"$ac_try\"") >&5
+  { (eval echo "$as_me:31421: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:30212: \$? = $ac_status" >&5
+  echo "$as_me:31424: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_color_curses=yes
 else
@@ -30221,7 +31433,7 @@ rm -f "conftest.$ac_objext" "conftest$ac
 
 fi
 
-echo "$as_me:30224: result: $cf_cv_color_curses" >&5
+echo "$as_me:31436: result: $cf_cv_color_curses" >&5
 echo "${ECHO_T}$cf_cv_color_curses" >&6
 if test "$cf_cv_color_curses" = yes ; then
 
@@ -30242,7 +31454,7 @@ fi
 EOF
 
 		else
-			{ echo "$as_me:30245: WARNING: This curses library does not support color" >&5
+			{ echo "$as_me:31457: WARNING: This curses library does not support color" >&5
 echo "$as_me: WARNING: This curses library does not support color" >&2;}
 		fi
 	fi
@@ -30261,7 +31473,7 @@ fi
 
 if test $check_sig_const = yes ; then
 
-echo "$as_me:30264: checking for redefinable signal constants" >&5
+echo "$as_me:31476: checking for redefinable signal constants" >&5
 echo $ECHO_N "checking for redefinable signal constants... $ECHO_C" >&6
 if test "${cf_cv_sig_const+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -30274,7 +31486,7 @@ if test -n "$cf_cv_sig_args"; then
   cf_cv_sig_const=unknown
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 30277 "configure"
+#line 31489 "configure"
 #include "confdefs.h"
 
 #define NEW_DFL	((RETSIGTYPE (*)($cf_test))0)
@@ -30302,15 +31514,15 @@ int main(void)
 }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:30305: \"$ac_link\"") >&5
+if { (eval echo "$as_me:31517: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:30308: \$? = $ac_status" >&5
+  echo "$as_me:31520: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:30310: \"$ac_try\"") >&5
+  { (eval echo "$as_me:31522: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:30313: \$? = $ac_status" >&5
+  echo "$as_me:31525: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_sig_const=yes
 else
@@ -30325,7 +31537,7 @@ fi
 
 fi
 
-echo "$as_me:30328: result: $cf_cv_sig_const" >&5
+echo "$as_me:31540: result: $cf_cv_sig_const" >&5
 echo "${ECHO_T}$cf_cv_sig_const" >&6
 test "$cf_cv_sig_const" = yes &&
 cat >>confdefs.h <<\EOF
@@ -30334,19 +31546,17 @@ EOF
 
 fi
 
-echo "$as_me:30337: checking for ANSI qsort" >&5
+echo "$as_me:31549: checking for ANSI qsort" >&5
 echo $ECHO_N "checking for ANSI qsort... $ECHO_C" >&6
 if test "${cf_cv_comptype+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 30344 "configure"
+#line 31556 "configure"
 #include "confdefs.h"
 
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
+$ac_includes_default
 	extern int compare(const void *, const void *);
 
 int
@@ -30359,16 +31569,16 @@ static char foo[] = "string";
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:30362: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:31572: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:30365: \$? = $ac_status" >&5
+  echo "$as_me:31575: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:30368: \"$ac_try\"") >&5
+  { (eval echo "$as_me:31578: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:30371: \$? = $ac_status" >&5
+  echo "$as_me:31581: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_comptype=yes
 else
@@ -30380,7 +31590,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 
 fi
 
-echo "$as_me:30383: result: $cf_cv_comptype" >&5
+echo "$as_me:31593: result: $cf_cv_comptype" >&5
 echo "${ECHO_T}$cf_cv_comptype" >&6
 if test $cf_cv_comptype = yes; then
 
@@ -30396,7 +31606,7 @@ EOF
 
 fi
 
-echo "$as_me:30399: checking if application can dump core" >&5
+echo "$as_me:31609: checking if application can dump core" >&5
 echo $ECHO_N "checking if application can dump core... $ECHO_C" >&6
 if test "${cf_cv_corefile+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -30406,7 +31616,7 @@ else
   cf_cv_corefile=unknown
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 30409 "configure"
+#line 31619 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -30450,15 +31660,15 @@ int main(void)
 }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:30453: \"$ac_link\"") >&5
+if { (eval echo "$as_me:31663: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:30456: \$? = $ac_status" >&5
+  echo "$as_me:31666: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:30458: \"$ac_try\"") >&5
+  { (eval echo "$as_me:31668: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:30461: \$? = $ac_status" >&5
+  echo "$as_me:31671: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_corefile=yes
 else
@@ -30471,7 +31681,7 @@ rm -f core ./core.* ./*.core "conftest$a
 fi
 fi
 
-echo "$as_me:30474: result: $cf_cv_corefile" >&5
+echo "$as_me:31684: result: $cf_cv_corefile" >&5
 echo "${ECHO_T}$cf_cv_corefile" >&6
 test $cf_cv_corefile = yes &&
 cat >>confdefs.h <<\EOF
@@ -30503,24 +31713,23 @@ for ac_func in \
 	strchr \
 	strcasestr \
 	strsep \
-	tmpfile \
 
 do
 
 ac_tr_func=`echo "$ac_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
-echo "$as_me:30512: checking for missing \"${ac_func}\" extern" >&5
+echo "$as_me:31721: checking for missing \"${ac_func}\" extern" >&5
 echo $ECHO_N "checking for missing \"${ac_func}\" extern... $ECHO_C" >&6
 if eval "test \"\${cf_cv_func_${ac_func}+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-echo "${as_me:-configure}:30518: testing for missing "${ac_func}" external ..." 1>&5
+echo "${as_me:-configure}:31727: testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 30523 "configure"
+#line 31732 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -30538,16 +31747,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:30541: \"$ac_link\"") >&5
+if { (eval echo "$as_me:31750: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:30544: \$? = $ac_status" >&5
+  echo "$as_me:31753: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:30547: \"$ac_try\"") >&5
+  { (eval echo "$as_me:31756: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:30550: \$? = $ac_status" >&5
+  echo "$as_me:31759: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   if test -n "$CHECK_DECL_HDRS" ; then
 # try to work around system headers which are infested with non-standard syntax
@@ -30555,7 +31764,7 @@ if { (eval echo "$as_me:30541: \"$ac_lin
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 30558 "configure"
+#line 31767 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -30570,16 +31779,16 @@ long x = 0; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:30573: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:31782: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:30576: \$? = $ac_status" >&5
+  echo "$as_me:31785: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:30579: \"$ac_try\"") >&5
+  { (eval echo "$as_me:31788: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:30582: \$? = $ac_status" >&5
+  echo "$as_me:31791: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -30603,7 +31812,7 @@ CFLAGS="$cf_save_CFLAGS"
 fi
 
 eval 'cf_result=$cf_cv_func_'${ac_func}
-echo "$as_me:30606: result: $cf_result" >&5
+echo "$as_me:31815: result: $cf_result" >&5
 echo "${ECHO_T}$cf_result" >&6
 test $cf_result = yes && cat >>confdefs.h <<EOF
 #define DECL_${ac_tr_func} 1
@@ -30624,18 +31833,18 @@ do
 
 ac_tr_func=`echo "$ac_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
-echo "$as_me:30627: checking for missing \"${ac_func}\" extern" >&5
+echo "$as_me:31836: checking for missing \"${ac_func}\" extern" >&5
 echo $ECHO_N "checking for missing \"${ac_func}\" extern... $ECHO_C" >&6
 if eval "test \"\${cf_cv_func_${ac_func}+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-echo "${as_me:-configure}:30633: testing for missing "${ac_func}" external ..." 1>&5
+echo "${as_me:-configure}:31842: testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 30638 "configure"
+#line 31847 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -30653,16 +31862,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:30656: \"$ac_link\"") >&5
+if { (eval echo "$as_me:31865: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:30659: \$? = $ac_status" >&5
+  echo "$as_me:31868: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:30662: \"$ac_try\"") >&5
+  { (eval echo "$as_me:31871: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:30665: \$? = $ac_status" >&5
+  echo "$as_me:31874: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   if test -n "$CHECK_DECL_HDRS" ; then
 # try to work around system headers which are infested with non-standard syntax
@@ -30670,7 +31879,7 @@ if { (eval echo "$as_me:30656: \"$ac_lin
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 30673 "configure"
+#line 31882 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -30685,16 +31894,16 @@ long x = 0; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:30688: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:31897: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:30691: \$? = $ac_status" >&5
+  echo "$as_me:31900: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:30694: \"$ac_try\"") >&5
+  { (eval echo "$as_me:31903: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:30697: \$? = $ac_status" >&5
+  echo "$as_me:31906: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -30718,7 +31927,7 @@ CFLAGS="$cf_save_CFLAGS"
 fi
 
 eval 'cf_result=$cf_cv_func_'${ac_func}
-echo "$as_me:30721: result: $cf_result" >&5
+echo "$as_me:31930: result: $cf_result" >&5
 echo "${ECHO_T}$cf_result" >&6
 test $cf_result = yes && cat >>confdefs.h <<EOF
 #define DECL_${ac_tr_func} 1
@@ -30737,18 +31946,18 @@ do
 
 ac_tr_func=`echo "$ac_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
-echo "$as_me:30740: checking for missing \"${ac_func}\" extern" >&5
+echo "$as_me:31949: checking for missing \"${ac_func}\" extern" >&5
 echo $ECHO_N "checking for missing \"${ac_func}\" extern... $ECHO_C" >&6
 if eval "test \"\${cf_cv_func_${ac_func}+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-echo "${as_me:-configure}:30746: testing for missing "${ac_func}" external ..." 1>&5
+echo "${as_me:-configure}:31955: testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 30751 "configure"
+#line 31960 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -30766,16 +31975,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:30769: \"$ac_link\"") >&5
+if { (eval echo "$as_me:31978: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:30772: \$? = $ac_status" >&5
+  echo "$as_me:31981: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:30775: \"$ac_try\"") >&5
+  { (eval echo "$as_me:31984: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:30778: \$? = $ac_status" >&5
+  echo "$as_me:31987: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   if test -n "$CHECK_DECL_HDRS" ; then
 # try to work around system headers which are infested with non-standard syntax
@@ -30783,7 +31992,7 @@ if { (eval echo "$as_me:30769: \"$ac_lin
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 30786 "configure"
+#line 31995 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -30798,16 +32007,16 @@ long x = 0; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:30801: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:32010: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:30804: \$? = $ac_status" >&5
+  echo "$as_me:32013: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:30807: \"$ac_try\"") >&5
+  { (eval echo "$as_me:32016: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:30810: \$? = $ac_status" >&5
+  echo "$as_me:32019: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -30831,7 +32040,7 @@ CFLAGS="$cf_save_CFLAGS"
 fi
 
 eval 'cf_result=$cf_cv_func_'${ac_func}
-echo "$as_me:30834: result: $cf_result" >&5
+echo "$as_me:32043: result: $cf_result" >&5
 echo "${ECHO_T}$cf_result" >&6
 test $cf_result = yes && cat >>confdefs.h <<EOF
 #define DECL_${ac_tr_func} 1
@@ -30873,6 +32082,7 @@ for ac_func in \
 	ioctl \
 	isascii \
 	kill \
+	lrand48 \
 	malloc \
 	memset \
 	mkstemp \
@@ -30888,6 +32098,7 @@ for ac_func in \
 	select \
 	setenv \
 	snprintf \
+	srand48 \
 	sscanf \
 	strcasecmp \
 	strftime \
@@ -30902,23 +32113,25 @@ for ac_func in \
 	usleep \
 	vsprintf \
 	vsnprintf \
+	wcswidth \
+	wcwidth \
 
 do
 
 ac_tr_func=`echo "$ac_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
-echo "$as_me:30910: checking for missing \"${ac_func}\" extern" >&5
+echo "$as_me:32123: checking for missing \"${ac_func}\" extern" >&5
 echo $ECHO_N "checking for missing \"${ac_func}\" extern... $ECHO_C" >&6
 if eval "test \"\${cf_cv_func_${ac_func}+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-echo "${as_me:-configure}:30916: testing for missing "${ac_func}" external ..." 1>&5
+echo "${as_me:-configure}:32129: testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 30921 "configure"
+#line 32134 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -30936,16 +32149,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:30939: \"$ac_link\"") >&5
+if { (eval echo "$as_me:32152: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:30942: \$? = $ac_status" >&5
+  echo "$as_me:32155: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:30945: \"$ac_try\"") >&5
+  { (eval echo "$as_me:32158: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:30948: \$? = $ac_status" >&5
+  echo "$as_me:32161: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   if test -n "$CHECK_DECL_HDRS" ; then
 # try to work around system headers which are infested with non-standard syntax
@@ -30953,7 +32166,7 @@ if { (eval echo "$as_me:30939: \"$ac_lin
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 30956 "configure"
+#line 32169 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -30968,16 +32181,16 @@ long x = 0; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:30971: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:32184: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:30974: \$? = $ac_status" >&5
+  echo "$as_me:32187: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:30977: \"$ac_try\"") >&5
+  { (eval echo "$as_me:32190: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:30980: \$? = $ac_status" >&5
+  echo "$as_me:32193: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -31001,7 +32214,7 @@ CFLAGS="$cf_save_CFLAGS"
 fi
 
 eval 'cf_result=$cf_cv_func_'${ac_func}
-echo "$as_me:31004: result: $cf_result" >&5
+echo "$as_me:32217: result: $cf_result" >&5
 echo "${ECHO_T}$cf_result" >&6
 test $cf_result = yes && cat >>confdefs.h <<EOF
 #define DECL_${ac_tr_func} 1
@@ -31017,18 +32230,18 @@ do
 
 ac_tr_func=`echo "$ac_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
-echo "$as_me:31020: checking for missing \"${ac_func}\" extern" >&5
+echo "$as_me:32233: checking for missing \"${ac_func}\" extern" >&5
 echo $ECHO_N "checking for missing \"${ac_func}\" extern... $ECHO_C" >&6
 if eval "test \"\${cf_cv_func_${ac_func}+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-echo "${as_me:-configure}:31026: testing for missing "${ac_func}" external ..." 1>&5
+echo "${as_me:-configure}:32239: testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 31031 "configure"
+#line 32244 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -31046,16 +32259,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:31049: \"$ac_link\"") >&5
+if { (eval echo "$as_me:32262: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:31052: \$? = $ac_status" >&5
+  echo "$as_me:32265: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:31055: \"$ac_try\"") >&5
+  { (eval echo "$as_me:32268: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:31058: \$? = $ac_status" >&5
+  echo "$as_me:32271: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   if test -n "$CHECK_DECL_HDRS" ; then
 # try to work around system headers which are infested with non-standard syntax
@@ -31063,7 +32276,7 @@ if { (eval echo "$as_me:31049: \"$ac_lin
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 31066 "configure"
+#line 32279 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -31078,16 +32291,16 @@ long x = 0; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:31081: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:32294: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:31084: \$? = $ac_status" >&5
+  echo "$as_me:32297: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:31087: \"$ac_try\"") >&5
+  { (eval echo "$as_me:32300: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:31090: \$? = $ac_status" >&5
+  echo "$as_me:32303: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -31111,7 +32324,7 @@ CFLAGS="$cf_save_CFLAGS"
 fi
 
 eval 'cf_result=$cf_cv_func_'${ac_func}
-echo "$as_me:31114: result: $cf_result" >&5
+echo "$as_me:32327: result: $cf_result" >&5
 echo "${ECHO_T}$cf_result" >&6
 test $cf_result = yes && cat >>confdefs.h <<EOF
 #define DECL_${ac_tr_func} 1
@@ -31131,18 +32344,18 @@ do
 
 ac_tr_func=`echo "$ac_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
-echo "$as_me:31134: checking for missing \"${ac_func}\" extern" >&5
+echo "$as_me:32347: checking for missing \"${ac_func}\" extern" >&5
 echo $ECHO_N "checking for missing \"${ac_func}\" extern... $ECHO_C" >&6
 if eval "test \"\${cf_cv_func_${ac_func}+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-echo "${as_me:-configure}:31140: testing for missing "${ac_func}" external ..." 1>&5
+echo "${as_me:-configure}:32353: testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 31145 "configure"
+#line 32358 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -31160,16 +32373,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:31163: \"$ac_link\"") >&5
+if { (eval echo "$as_me:32376: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:31166: \$? = $ac_status" >&5
+  echo "$as_me:32379: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:31169: \"$ac_try\"") >&5
+  { (eval echo "$as_me:32382: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:31172: \$? = $ac_status" >&5
+  echo "$as_me:32385: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   if test -n "$CHECK_DECL_HDRS" ; then
 # try to work around system headers which are infested with non-standard syntax
@@ -31177,7 +32390,7 @@ if { (eval echo "$as_me:31163: \"$ac_lin
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 31180 "configure"
+#line 32393 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -31192,16 +32405,16 @@ long x = 0; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:31195: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:32408: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:31198: \$? = $ac_status" >&5
+  echo "$as_me:32411: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:31201: \"$ac_try\"") >&5
+  { (eval echo "$as_me:32414: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:31204: \$? = $ac_status" >&5
+  echo "$as_me:32417: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -31225,7 +32438,7 @@ CFLAGS="$cf_save_CFLAGS"
 fi
 
 eval 'cf_result=$cf_cv_func_'${ac_func}
-echo "$as_me:31228: result: $cf_result" >&5
+echo "$as_me:32441: result: $cf_result" >&5
 echo "${ECHO_T}$cf_result" >&6
 test $cf_result = yes && cat >>confdefs.h <<EOF
 #define DECL_${ac_tr_func} 1
@@ -31235,7 +32448,7 @@ done
 
 fi
 
-echo "$as_me:31238: checking for working TIOCGWINSZ" >&5
+echo "$as_me:32451: checking for working TIOCGWINSZ" >&5
 echo $ECHO_N "checking for working TIOCGWINSZ... $ECHO_C" >&6
 if test "${cf_cv_use_tiocgwinsz+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -31247,7 +32460,7 @@ else
   cf_cv_use_tiocgwinsz=unknown
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 31250 "configure"
+#line 32463 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -31273,15 +32486,15 @@ int main(void)
 }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:31276: \"$ac_link\"") >&5
+if { (eval echo "$as_me:32489: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:31279: \$? = $ac_status" >&5
+  echo "$as_me:32492: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:31281: \"$ac_try\"") >&5
+  { (eval echo "$as_me:32494: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:31284: \$? = $ac_status" >&5
+  echo "$as_me:32497: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_use_tiocgwinsz=yes
 else
@@ -31296,7 +32509,7 @@ fi
 		CFLAGS="$cf_save_CFLAGS"
 fi
 
-echo "$as_me:31299: result: $cf_cv_use_tiocgwinsz" >&5
+echo "$as_me:32512: result: $cf_cv_use_tiocgwinsz" >&5
 echo "${ECHO_T}$cf_cv_use_tiocgwinsz" >&6
 test $cf_cv_use_tiocgwinsz != yes &&
 cat >>confdefs.h <<\EOF
@@ -31324,681 +32537,6 @@ esac
 ### Use gettext
 ### this also calls AM_LANGINFO_CODESET and AM_ICONV
 ### so we don't need to do the tests ourselves.
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:31330: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_RANLIB+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-  ac_save_IFS=$IFS; IFS=$ac_path_separator
-ac_dummy="$PATH"
-for ac_dir in $ac_dummy; do
-  IFS=$ac_save_IFS
-  test -z "$ac_dir" && ac_dir=.
-  $as_executable_p "$ac_dir/$ac_word" || continue
-ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-echo "$as_me:31345: found $ac_dir/$ac_word" >&5
-break
-done
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  echo "$as_me:31353: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
-else
-  echo "$as_me:31356: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo "$as_me:31365: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-  ac_save_IFS=$IFS; IFS=$ac_path_separator
-ac_dummy="$PATH"
-for ac_dir in $ac_dummy; do
-  IFS=$ac_save_IFS
-  test -z "$ac_dir" && ac_dir=.
-  $as_executable_p "$ac_dir/$ac_word" || continue
-ac_cv_prog_ac_ct_RANLIB="ranlib"
-echo "$as_me:31380: found $ac_dir/$ac_word" >&5
-break
-done
-
-  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  echo "$as_me:31389: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
-else
-  echo "$as_me:31392: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-  RANLIB=$ac_ct_RANLIB
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-echo "$as_me:31403: checking for working alloca.h" >&5
-echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6
-if test "${ac_cv_working_alloca_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >"conftest.$ac_ext" <<_ACEOF
-#line 31409 "configure"
-#include "confdefs.h"
-#include <alloca.h>
-int
-main (void)
-{
-char *p = (char *) alloca (2 * sizeof (int));
-  ;
-  return 0;
-}
-_ACEOF
-rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:31421: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:31424: \$? = $ac_status" >&5
-  (exit "$ac_status"); } &&
-         { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:31427: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:31430: \$? = $ac_status" >&5
-  (exit "$ac_status"); }; }; then
-  ac_cv_working_alloca_h=yes
-else
-  echo "$as_me: failed program was:" >&5
-cat "conftest.$ac_ext" >&5
-ac_cv_working_alloca_h=no
-fi
-rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
-fi
-echo "$as_me:31440: result: $ac_cv_working_alloca_h" >&5
-echo "${ECHO_T}$ac_cv_working_alloca_h" >&6
-if test $ac_cv_working_alloca_h = yes; then
-
-cat >>confdefs.h <<\EOF
-#define HAVE_ALLOCA_H 1
-EOF
-
-fi
-
-echo "$as_me:31450: checking for alloca" >&5
-echo $ECHO_N "checking for alloca... $ECHO_C" >&6
-if test "${ac_cv_func_alloca_works+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >"conftest.$ac_ext" <<_ACEOF
-#line 31456 "configure"
-#include "confdefs.h"
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  if HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-int
-main (void)
-{
-char *p = (char *) alloca (1);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:31488: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:31491: \$? = $ac_status" >&5
-  (exit "$ac_status"); } &&
-         { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:31494: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:31497: \$? = $ac_status" >&5
-  (exit "$ac_status"); }; }; then
-  ac_cv_func_alloca_works=yes
-else
-  echo "$as_me: failed program was:" >&5
-cat "conftest.$ac_ext" >&5
-ac_cv_func_alloca_works=no
-fi
-rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
-fi
-echo "$as_me:31507: result: $ac_cv_func_alloca_works" >&5
-echo "${ECHO_T}$ac_cv_func_alloca_works" >&6
-
-if test $ac_cv_func_alloca_works = yes; then
-
-cat >>confdefs.h <<\EOF
-#define HAVE_ALLOCA 1
-EOF
-
-else
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble.  Some versions do not even contain alloca or
-# contain a buggy version.  If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA="alloca.$ac_objext"
-
-cat >>confdefs.h <<\EOF
-#define C_ALLOCA 1
-EOF
-
-echo "$as_me:31528: checking whether \`alloca.c' needs Cray hooks" >&5
-echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6
-if test "${ac_cv_os_cray+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >"conftest.$ac_ext" <<_ACEOF
-#line 31534 "configure"
-#include "confdefs.h"
-#if defined(CRAY) && ! defined(CRAY2)
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then
-  ac_cv_os_cray=yes
-else
-  ac_cv_os_cray=no
-fi
-rm -rf conftest*
-
-fi
-echo "$as_me:31552: result: $ac_cv_os_cray" >&5
-echo "${ECHO_T}$ac_cv_os_cray" >&6
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:31557: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >"conftest.$ac_ext" <<_ACEOF
-#line 31563 "configure"
-#include "confdefs.h"
-#define $ac_func autoconf_temporary
-#include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
-#undef $ac_func
-
-#ifdef __cplusplus
-extern "C"
-#endif
-
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char $ac_func (void);
-
-int
-main (void)
-{
-
-/* The GNU C library defines stubs for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-#error found stub for $ac_func
-#endif
-
-	return $ac_func ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:31594: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:31597: \$? = $ac_status" >&5
-  (exit "$ac_status"); } &&
-         { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:31600: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:31603: \$? = $ac_status" >&5
-  (exit "$ac_status"); }; }; then
-  eval "$as_ac_var=yes"
-else
-  echo "$as_me: failed program was:" >&5
-cat "conftest.$ac_ext" >&5
-eval "$as_ac_var=no"
-fi
-rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
-fi
-echo "$as_me:31613: result: `eval echo '${'"$as_ac_var"'}'`" >&5
-echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
-if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
-
-cat >>confdefs.h <<EOF
-#define CRAY_STACKSEG_END $ac_func
-EOF
-
-    break
-fi
-
-  done
-fi
-
-echo "$as_me:31627: checking stack direction for C alloca" >&5
-echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6
-if test "${ac_cv_c_stack_direction+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test "$cross_compiling" = yes; then
-  ac_cv_c_stack_direction=0
-else
-  cat >"conftest.$ac_ext" <<_ACEOF
-#line 31636 "configure"
-#include "confdefs.h"
-int
-find_stack_direction (void)
-{
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main (void)
-{
-  $ac_main_return (find_stack_direction () < 0);
-}
-_ACEOF
-rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:31659: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:31662: \$? = $ac_status" >&5
-  (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:31664: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:31667: \$? = $ac_status" >&5
-  (exit "$ac_status"); }; }; then
-  ac_cv_c_stack_direction=1
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-cat "conftest.$ac_ext" >&5
-ac_cv_c_stack_direction=-1
-fi
-rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext"
-fi
-fi
-echo "$as_me:31679: result: $ac_cv_c_stack_direction" >&5
-echo "${ECHO_T}$ac_cv_c_stack_direction" >&6
-
-cat >>confdefs.h <<EOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-EOF
-
-fi
-
-for ac_header in stdlib.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:31691: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >"conftest.$ac_ext" <<_ACEOF
-#line 31697 "configure"
-#include "confdefs.h"
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:31701: \"$ac_cpp "conftest.$ac_ext"\"") >&5
-  (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  $EGREP -v '^ *\+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:31707: \$? = $ac_status" >&5
-  (exit "$ac_status"); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
-  eval "$as_ac_Header=yes"
-else
-  echo "$as_me: failed program was:" >&5
-  cat "conftest.$ac_ext" >&5
-  eval "$as_ac_Header=no"
-fi
-rm -f conftest.err "conftest.$ac_ext"
-fi
-echo "$as_me:31726: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
-echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
-if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
-  cat >>confdefs.h <<EOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-EOF
-
-fi
-done
-
-for ac_func in getpagesize
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:31739: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >"conftest.$ac_ext" <<_ACEOF
-#line 31745 "configure"
-#include "confdefs.h"
-#define $ac_func autoconf_temporary
-#include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
-#undef $ac_func
-
-#ifdef __cplusplus
-extern "C"
-#endif
-
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char $ac_func (void);
-
-int
-main (void)
-{
-
-/* The GNU C library defines stubs for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-#error found stub for $ac_func
-#endif
-
-	return $ac_func ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:31776: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:31779: \$? = $ac_status" >&5
-  (exit "$ac_status"); } &&
-         { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:31782: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:31785: \$? = $ac_status" >&5
-  (exit "$ac_status"); }; }; then
-  eval "$as_ac_var=yes"
-else
-  echo "$as_me: failed program was:" >&5
-cat "conftest.$ac_ext" >&5
-eval "$as_ac_var=no"
-fi
-rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
-fi
-echo "$as_me:31795: result: `eval echo '${'"$as_ac_var"'}'`" >&5
-echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
-if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
-  cat >>confdefs.h <<EOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-EOF
-
-fi
-done
-
-echo "$as_me:31805: checking for working mmap" >&5
-echo $ECHO_N "checking for working mmap... $ECHO_C" >&6
-if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test "$cross_compiling" = yes; then
-  ac_cv_func_mmap_fixed_mapped=no
-else
-  cat >"conftest.$ac_ext" <<_ACEOF
-#line 31814 "configure"
-#include "confdefs.h"
-$ac_includes_default
-/* Thanks to Mike Haertel and Jim Avera for this test.
-   Here is a matrix of mmap possibilities:
-        mmap private not fixed
-        mmap private fixed at somewhere currently unmapped
-        mmap private fixed at somewhere already mapped
-        mmap shared not fixed
-        mmap shared fixed at somewhere currently unmapped
-        mmap shared fixed at somewhere already mapped
-   For private mappings, we should verify that changes cannot be read()
-   back from the file, nor mmap's back from the file at a different
-   address.  (There have been systems where private was not correctly
-   implemented like the infamous i386 svr4.0, and systems where the
-   VM page cache was not coherent with the file system buffer cache
-   like early versions of FreeBSD and possibly contemporary NetBSD.)
-   For shared mappings, we should conversely verify that changes get
-   propagated back to all the places they're supposed to be.
-
-   Grep wants private fixed already mapped.
-   The main things grep needs to know about mmap are:
-   * does it exist and is it safe to write into the mmap'd area
-   * how to use it (BSD variants)  */
-
-#include <fcntl.h>
-#include <sys/mman.h>
-
-#if !STDC_HEADERS && !HAVE_STDLIB_H
-char *malloc ();
-#endif
-
-/* This mess was copied from the GNU getpagesize.h.  */
-#if !HAVE_GETPAGESIZE
-/* Assume that all systems that can run configure have sys/param.h.  */
-# if !HAVE_SYS_PARAM_H
-#  define HAVE_SYS_PARAM_H 1
-# endif
-
-# ifdef _SC_PAGESIZE
-#  define getpagesize() sysconf(_SC_PAGESIZE)
-# else /* no _SC_PAGESIZE */
-#  if HAVE_SYS_PARAM_H
-#   include <sys/param.h>
-#   ifdef EXEC_PAGESIZE
-#    define getpagesize() EXEC_PAGESIZE
-#   else /* no EXEC_PAGESIZE */
-#    ifdef NBPG
-#     define getpagesize() NBPG * CLSIZE
-#     ifndef CLSIZE
-#      define CLSIZE 1
-#     endif /* no CLSIZE */
-#    else /* no NBPG */
-#     ifdef NBPC
-#      define getpagesize() NBPC
-#     else /* no NBPC */
-#      ifdef PAGESIZE
-#       define getpagesize() PAGESIZE
-#      endif /* PAGESIZE */
-#     endif /* no NBPC */
-#    endif /* no NBPG */
-#   endif /* no EXEC_PAGESIZE */
-#  else /* no HAVE_SYS_PARAM_H */
-#   define getpagesize() 8192   /* punt totally */
-#  endif /* no HAVE_SYS_PARAM_H */
-# endif /* no _SC_PAGESIZE */
-
-#endif /* no HAVE_GETPAGESIZE */
-
-int
-main (void)
-{
-  char *data, *data2, *data3;
-  int i, pagesize;
-  int fd;
-
-  pagesize = getpagesize ();
-
-  /* First, make a file with some known garbage in it. */
-  data = (char *) malloc (pagesize);
-  if (!data)
-    $ac_main_return (1);
-  for (i = 0; i < pagesize; ++i)
-    *(data + i) = rand ();
-  umask (0);
-  fd = creat ("conftest.mmap", 0600);
-  if (fd < 0)
-    $ac_main_return (1);
-  if (write (fd, data, pagesize) != pagesize)
-    $ac_main_return (1);
-  close (fd);
-
-  /* Next, try to mmap the file at a fixed address which already has
-     something else allocated at it.  If we can, also make sure that
-     we see the same garbage.  */
-  fd = open ("conftest.mmap", O_RDWR);
-  if (fd < 0)
-    $ac_main_return (1);
-  data2 = (char *) malloc (2 * pagesize);
-  if (!data2)
-    $ac_main_return (1);
-  data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1);
-  if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
-                     MAP_PRIVATE | MAP_FIXED, fd, 0L))
-    $ac_main_return (1);
-  for (i = 0; i < pagesize; ++i)
-    if (*(data + i) != *(data2 + i))
-      $ac_main_return (1);
-
-  /* Finally, make sure that changes to the mapped area do not
-     percolate back to the file as seen by read().  (This is a bug on
-     some variants of i386 svr4.0.)  */
-  for (i = 0; i < pagesize; ++i)
-    *(data2 + i) = *(data2 + i) + 1;
-  data3 = (char *) malloc (pagesize);
-  if (!data3)
-    $ac_main_return (1);
-  if (read (fd, data3, pagesize) != pagesize)
-    $ac_main_return (1);
-  for (i = 0; i < pagesize; ++i)
-    if (*(data + i) != *(data3 + i))
-      $ac_main_return (1);
-  close (fd);
-  $ac_main_return (0);
-}
-_ACEOF
-rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:31941: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:31944: \$? = $ac_status" >&5
-  (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:31946: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:31949: \$? = $ac_status" >&5
-  (exit "$ac_status"); }; }; then
-  ac_cv_func_mmap_fixed_mapped=yes
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-cat "conftest.$ac_ext" >&5
-ac_cv_func_mmap_fixed_mapped=no
-fi
-rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext"
-fi
-fi
-echo "$as_me:31961: result: $ac_cv_func_mmap_fixed_mapped" >&5
-echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6
-if test $ac_cv_func_mmap_fixed_mapped = yes; then
-
-cat >>confdefs.h <<\EOF
-#define HAVE_MMAP 1
-EOF
-
-fi
-rm -f conftest.mmap
-
-echo "$as_me:31972: checking whether we are using the GNU C Library 2.1 or newer" >&5
-echo $ECHO_N "checking whether we are using the GNU C Library 2.1 or newer... $ECHO_C" >&6
-if test "${ac_cv_gnu_library_2_1+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >"conftest.$ac_ext" <<_ACEOF
-#line 31978 "configure"
-#include "confdefs.h"
-
-#include <features.h>
-#ifdef __GNU_LIBRARY__
- #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
-  Lucky GNU user
- #endif
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "Lucky GNU user" >/dev/null 2>&1; then
-  ac_cv_gnu_library_2_1=yes
-else
-  ac_cv_gnu_library_2_1=no
-fi
-rm -rf conftest*
-
-fi
-echo "$as_me:31998: result: $ac_cv_gnu_library_2_1" >&5
-echo "${ECHO_T}$ac_cv_gnu_library_2_1" >&6
-
-	GLIBC21="$ac_cv_gnu_library_2_1"
 
 cf_makefile=Makefile
 
@@ -32008,7 +32546,7 @@ test -z "$ALL_LINGUAS" && ALL_LINGUAS=`t
 : ${CONFIG_H:=config.h}
 
 if test -z "$PACKAGE" ; then
-	{ { echo "$as_me:32011: error: CF_BUNDLED_INTL used without setting PACKAGE variable" >&5
+	{ { echo "$as_me:32549: error: CF_BUNDLED_INTL used without setting PACKAGE variable" >&5
 echo "$as_me: error: CF_BUNDLED_INTL used without setting PACKAGE variable" >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -32021,134 +32559,12 @@ else
 fi
 fi
 
-for ac_header in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
-stdlib.h string.h unistd.h sys/param.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:32028: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >"conftest.$ac_ext" <<_ACEOF
-#line 32034 "configure"
-#include "confdefs.h"
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:32038: \"$ac_cpp "conftest.$ac_ext"\"") >&5
-  (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  $EGREP -v '^ *\+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:32044: \$? = $ac_status" >&5
-  (exit "$ac_status"); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
-  eval "$as_ac_Header=yes"
-else
-  echo "$as_me: failed program was:" >&5
-  cat "conftest.$ac_ext" >&5
-  eval "$as_ac_Header=no"
-fi
-rm -f conftest.err "conftest.$ac_ext"
-fi
-echo "$as_me:32063: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
-echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
-if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
-  cat >>confdefs.h <<EOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-EOF
-
-fi
-done
-
-for ac_func in feof_unlocked fgets_unlocked getcwd getegid geteuid \
-getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \
-strdup strtoul tsearch __argz_count __argz_stringify __argz_next
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:32078: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >"conftest.$ac_ext" <<_ACEOF
-#line 32084 "configure"
-#include "confdefs.h"
-#define $ac_func autoconf_temporary
-#include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
-#undef $ac_func
-
-#ifdef __cplusplus
-extern "C"
-#endif
-
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char $ac_func (void);
-
-int
-main (void)
-{
-
-/* The GNU C library defines stubs for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-#error found stub for $ac_func
-#endif
-
-	return $ac_func ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:32115: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:32118: \$? = $ac_status" >&5
-  (exit "$ac_status"); } &&
-         { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:32121: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:32124: \$? = $ac_status" >&5
-  (exit "$ac_status"); }; }; then
-  eval "$as_ac_var=yes"
-else
-  echo "$as_me: failed program was:" >&5
-cat "conftest.$ac_ext" >&5
-eval "$as_ac_var=no"
-fi
-rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
-fi
-echo "$as_me:32134: result: `eval echo '${'"$as_ac_var"'}'`" >&5
-echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
-if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
-  cat >>confdefs.h <<EOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-EOF
-
-fi
-done
-
 # Check whether --with-libiconv-prefix or --without-libiconv-prefix was given.
 if test "${with_libiconv_prefix+set}" = set; then
   withval="$with_libiconv_prefix"
 
-case "$withval" in
-no)
-	;;
-yes)
+case "x$withval" in
+xno|xyes|x)
 	;;
 *)
 
@@ -32182,7 +32598,7 @@ if test -n "$cf_searchpath/include" ; th
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 32185 "configure"
+#line 32601 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -32194,16 +32610,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:32197: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:32613: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:32200: \$? = $ac_status" >&5
+  echo "$as_me:32616: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:32203: \"$ac_try\"") >&5
+  { (eval echo "$as_me:32619: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:32206: \$? = $ac_status" >&5
+  echo "$as_me:32622: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -32220,7 +32636,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:32223: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:32639: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -32266,7 +32682,7 @@ if test -n "$cf_searchpath/../include" ;
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 32269 "configure"
+#line 32685 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -32278,16 +32694,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:32281: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:32697: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:32284: \$? = $ac_status" >&5
+  echo "$as_me:32700: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:32287: \"$ac_try\"") >&5
+  { (eval echo "$as_me:32703: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:32290: \$? = $ac_status" >&5
+  echo "$as_me:32706: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -32304,7 +32720,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:32307: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:32723: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -32322,7 +32738,7 @@ echo "${as_me:-configure}:32307: testing
 fi
 
 	else
-{ { echo "$as_me:32325: error: cannot find libiconv under $withval" >&5
+{ { echo "$as_me:32741: error: cannot find libiconv under $withval" >&5
 echo "$as_me: error: cannot find libiconv under $withval" >&2;}
    { (exit 1); exit 1; }; }
 	fi
@@ -32347,7 +32763,7 @@ if test -n "$cf_searchpath/lib" ; then
 			if test "$cf_have_libdir" = no ; then
 				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
-echo "${as_me:-configure}:32350: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:32766: testing adding $cf_add_libdir to library-path ..." 1>&5
 
 				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
 			fi
@@ -32376,7 +32792,7 @@ if test -n "$cf_searchpath" ; then
 			if test "$cf_have_libdir" = no ; then
 				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
-echo "${as_me:-configure}:32379: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:32795: testing adding $cf_add_libdir to library-path ..." 1>&5
 
 				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
 			fi
@@ -32385,18 +32801,22 @@ echo "${as_me:-configure}:32379: testing
 fi
 
 	else
-{ { echo "$as_me:32388: error: cannot find libiconv under $withval" >&5
+{ { echo "$as_me:32804: error: cannot find libiconv under $withval" >&5
 echo "$as_me: error: cannot find libiconv under $withval" >&2;}
    { (exit 1); exit 1; }; }
 	fi
 done
 
+	test -n "$verbose" && echo "	setting path value for libiconv to $withval" 1>&6
+
+echo "${as_me:-configure}:32812: testing setting path value for libiconv to $withval ..." 1>&5
+
 	;;
 esac
 
 fi;
 
-  echo "$as_me:32399: checking for iconv" >&5
+  echo "$as_me:32819: checking for iconv" >&5
 echo $ECHO_N "checking for iconv... $ECHO_C" >&6
 if test "${am_cv_func_iconv+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -32407,12 +32827,12 @@ else
 cf_cv_header_path_iconv=
 cf_cv_library_path_iconv=
 
-echo "${as_me:-configure}:32410: testing Starting FIND_LINKAGE(iconv,) ..." 1>&5
+echo "${as_me:-configure}:32830: testing Starting FIND_LINKAGE(iconv,) ..." 1>&5
 
 cf_save_LIBS="$LIBS"
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 32415 "configure"
+#line 32835 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -32431,16 +32851,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:32434: \"$ac_link\"") >&5
+if { (eval echo "$as_me:32854: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:32437: \$? = $ac_status" >&5
+  echo "$as_me:32857: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:32440: \"$ac_try\"") >&5
+  { (eval echo "$as_me:32860: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:32443: \$? = $ac_status" >&5
+  echo "$as_me:32863: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 	cf_cv_find_linkage_iconv=yes
@@ -32454,7 +32874,7 @@ cat "conftest.$ac_ext" >&5
 LIBS="-liconv  $cf_save_LIBS"
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 32457 "configure"
+#line 32877 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -32473,16 +32893,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:32476: \"$ac_link\"") >&5
+if { (eval echo "$as_me:32896: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:32479: \$? = $ac_status" >&5
+  echo "$as_me:32899: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:32482: \"$ac_try\"") >&5
+  { (eval echo "$as_me:32902: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:32485: \$? = $ac_status" >&5
+  echo "$as_me:32905: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 	cf_cv_find_linkage_iconv=yes
@@ -32499,9 +32919,9 @@ cat "conftest.$ac_ext" >&5
 
 	test -n "$verbose" && echo "	find linkage for iconv library" 1>&6
 
-echo "${as_me:-configure}:32502: testing find linkage for iconv library ..." 1>&5
+echo "${as_me:-configure}:32922: testing find linkage for iconv library ..." 1>&5
 
-echo "${as_me:-configure}:32504: testing Searching for headers in FIND_LINKAGE(iconv,) ..." 1>&5
+echo "${as_me:-configure}:32924: testing Searching for headers in FIND_LINKAGE(iconv,) ..." 1>&5
 
 	cf_save_CPPFLAGS="$CPPFLAGS"
 	cf_test_CPPFLAGS="$CPPFLAGS"
@@ -32592,7 +33012,7 @@ cf_search="$cf_search $cf_header_path_li
 		if test -d "$cf_cv_header_path_iconv" ; then
 			test -n "$verbose" && echo "	... testing $cf_cv_header_path_iconv" 1>&6
 
-echo "${as_me:-configure}:32595: testing ... testing $cf_cv_header_path_iconv ..." 1>&5
+echo "${as_me:-configure}:33015: testing ... testing $cf_cv_header_path_iconv ..." 1>&5
 
 			CPPFLAGS="$cf_save_CPPFLAGS"
 
@@ -32600,7 +33020,7 @@ echo "${as_me:-configure}:32595: testing
 	CPPFLAGS="${CPPFLAGS}-I$cf_cv_header_path_iconv"
 
 			cat >"conftest.$ac_ext" <<_ACEOF
-#line 32603 "configure"
+#line 33023 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -32619,21 +33039,21 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:32622: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:33042: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:32625: \$? = $ac_status" >&5
+  echo "$as_me:33045: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:32628: \"$ac_try\"") >&5
+  { (eval echo "$as_me:33048: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:32631: \$? = $ac_status" >&5
+  echo "$as_me:33051: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 				test -n "$verbose" && echo "	... found iconv headers in $cf_cv_header_path_iconv" 1>&6
 
-echo "${as_me:-configure}:32636: testing ... found iconv headers in $cf_cv_header_path_iconv ..." 1>&5
+echo "${as_me:-configure}:33056: testing ... found iconv headers in $cf_cv_header_path_iconv ..." 1>&5
 
 				cf_cv_find_linkage_iconv=maybe
 				cf_test_CPPFLAGS="$CPPFLAGS"
@@ -32651,7 +33071,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 
 	if test "$cf_cv_find_linkage_iconv" = maybe ; then
 
-echo "${as_me:-configure}:32654: testing Searching for iconv library in FIND_LINKAGE(iconv,) ..." 1>&5
+echo "${as_me:-configure}:33074: testing Searching for iconv library in FIND_LINKAGE(iconv,) ..." 1>&5
 
 		cf_save_LIBS="$LIBS"
 		cf_save_LDFLAGS="$LDFLAGS"
@@ -32726,13 +33146,13 @@ cf_search="$cf_library_path_list $cf_sea
 				if test -d "$cf_cv_library_path_iconv" ; then
 					test -n "$verbose" && echo "	... testing $cf_cv_library_path_iconv" 1>&6
 
-echo "${as_me:-configure}:32729: testing ... testing $cf_cv_library_path_iconv ..." 1>&5
+echo "${as_me:-configure}:33149: testing ... testing $cf_cv_library_path_iconv ..." 1>&5
 
 					CPPFLAGS="$cf_test_CPPFLAGS"
 					LIBS="-liconv  $cf_save_LIBS"
 					LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_iconv"
 					cat >"conftest.$ac_ext" <<_ACEOF
-#line 32735 "configure"
+#line 33155 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -32751,21 +33171,21 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:32754: \"$ac_link\"") >&5
+if { (eval echo "$as_me:33174: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:32757: \$? = $ac_status" >&5
+  echo "$as_me:33177: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:32760: \"$ac_try\"") >&5
+  { (eval echo "$as_me:33180: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:32763: \$? = $ac_status" >&5
+  echo "$as_me:33183: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 					test -n "$verbose" && echo "	... found iconv library in $cf_cv_library_path_iconv" 1>&6
 
-echo "${as_me:-configure}:32768: testing ... found iconv library in $cf_cv_library_path_iconv ..." 1>&5
+echo "${as_me:-configure}:33188: testing ... found iconv library in $cf_cv_library_path_iconv ..." 1>&5
 
 					cf_cv_find_linkage_iconv=yes
 					cf_cv_library_file_iconv="-liconv"
@@ -32805,7 +33225,7 @@ am_cv_func_iconv="no, consider installin
 fi
 
 fi
-echo "$as_me:32808: result: $am_cv_func_iconv" >&5
+echo "$as_me:33228: result: $am_cv_func_iconv" >&5
 echo "${ECHO_T}$am_cv_func_iconv" >&6
 
   if test "$am_cv_func_iconv" = yes; then
@@ -32814,14 +33234,14 @@ cat >>confdefs.h <<\EOF
 #define HAVE_ICONV 1
 EOF
 
-    echo "$as_me:32817: checking if the declaration of iconv() needs const." >&5
+    echo "$as_me:33237: checking if the declaration of iconv() needs const." >&5
 echo $ECHO_N "checking if the declaration of iconv() needs const.... $ECHO_C" >&6
 if test "${am_cv_proto_iconv_const+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
       cat >"conftest.$ac_ext" <<_ACEOF
-#line 32824 "configure"
+#line 33244 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -32846,16 +33266,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:32849: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:33269: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:32852: \$? = $ac_status" >&5
+  echo "$as_me:33272: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:32855: \"$ac_try\"") >&5
+  { (eval echo "$as_me:33275: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:32858: \$? = $ac_status" >&5
+  echo "$as_me:33278: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   am_cv_proto_iconv_const=no
 else
@@ -32865,13 +33285,13 @@ am_cv_proto_iconv_const=yes
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:32868: result: $am_cv_proto_iconv_const" >&5
+echo "$as_me:33288: result: $am_cv_proto_iconv_const" >&5
 echo "${ECHO_T}$am_cv_proto_iconv_const" >&6
 
     if test "$am_cv_proto_iconv_const" = yes ; then
       am_cv_proto_iconv_arg1="const"
     else
-      am_cv_proto_iconv_arg1=""
+      am_cv_proto_iconv_arg1="/* nothing */"
     fi
 
 cat >>confdefs.h <<EOF
@@ -32910,7 +33330,7 @@ if test -n "$cf_cv_header_path_iconv" ;
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 32913 "configure"
+#line 33333 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -32922,16 +33342,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:32925: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:33345: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:32928: \$? = $ac_status" >&5
+  echo "$as_me:33348: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:32931: \"$ac_try\"") >&5
+  { (eval echo "$as_me:33351: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:32934: \$? = $ac_status" >&5
+  echo "$as_me:33354: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -32948,7 +33368,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:32951: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:33371: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -32987,7 +33407,7 @@ if test -n "$cf_cv_library_path_iconv" ;
 			if test "$cf_have_libdir" = no ; then
 				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
-echo "${as_me:-configure}:32990: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:33410: testing adding $cf_add_libdir to library-path ..." 1>&5
 
 				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
 			fi
@@ -32998,13 +33418,13 @@ fi
     fi
   fi
 
-echo "$as_me:33001: checking for nl_langinfo and CODESET" >&5
+echo "$as_me:33421: checking for nl_langinfo and CODESET" >&5
 echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6
 if test "${am_cv_langinfo_codeset+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 33007 "configure"
+#line 33427 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -33018,16 +33438,16 @@ char* cs = nl_langinfo(CODESET); (void)c
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:33021: \"$ac_link\"") >&5
+if { (eval echo "$as_me:33441: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:33024: \$? = $ac_status" >&5
+  echo "$as_me:33444: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:33027: \"$ac_try\"") >&5
+  { (eval echo "$as_me:33447: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:33030: \$? = $ac_status" >&5
+  echo "$as_me:33450: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   am_cv_langinfo_codeset=yes
 else
@@ -33038,7 +33458,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:33041: result: $am_cv_langinfo_codeset" >&5
+echo "$as_me:33461: result: $am_cv_langinfo_codeset" >&5
 echo "${ECHO_T}$am_cv_langinfo_codeset" >&6
 	if test "$am_cv_langinfo_codeset" = yes; then
 
@@ -33049,13 +33469,13 @@ EOF
 	fi
 
    if test "$ac_cv_header_locale_h" = yes; then
-	echo "$as_me:33052: checking for LC_MESSAGES" >&5
+	echo "$as_me:33472: checking for LC_MESSAGES" >&5
 echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6
 if test "${am_cv_val_LC_MESSAGES+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 33058 "configure"
+#line 33478 "configure"
 #include "confdefs.h"
 #include <locale.h>
 int
@@ -33067,16 +33487,16 @@ return LC_MESSAGES
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:33070: \"$ac_link\"") >&5
+if { (eval echo "$as_me:33490: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:33073: \$? = $ac_status" >&5
+  echo "$as_me:33493: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:33076: \"$ac_try\"") >&5
+  { (eval echo "$as_me:33496: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:33079: \$? = $ac_status" >&5
+  echo "$as_me:33499: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   am_cv_val_LC_MESSAGES=yes
 else
@@ -33086,7 +33506,7 @@ am_cv_val_LC_MESSAGES=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:33089: result: $am_cv_val_LC_MESSAGES" >&5
+echo "$as_me:33509: result: $am_cv_val_LC_MESSAGES" >&5
 echo "${ECHO_T}$am_cv_val_LC_MESSAGES" >&6
 	if test "$am_cv_val_LC_MESSAGES" = yes; then
 
@@ -33096,7 +33516,7 @@ EOF
 
 	fi
 fi
-   echo "$as_me:33099: checking whether NLS is requested" >&5
+   echo "$as_me:33519: checking whether NLS is requested" >&5
 echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6
 
 # Check whether --enable-nls or --disable-nls was given.
@@ -33106,37 +33526,15 @@ if test "${enable_nls+set}" = set; then
 else
   USE_NLS=yes
 fi;
-  echo "$as_me:33109: result: $USE_NLS" >&5
+  echo "$as_me:33529: result: $USE_NLS" >&5
 echo "${ECHO_T}$USE_NLS" >&6
 
-  BUILD_INCLUDED_LIBINTL=no
-  USE_INCLUDED_LIBINTL=no
-  INTLLIBS=
-
     if test "$USE_NLS" = "yes"; then
-        POSUB=po
-
-cat >>confdefs.h <<\EOF
-#define ENABLE_NLS 1
-EOF
-
-    echo "$as_me:33123: checking whether included gettext is requested" >&5
-echo $ECHO_N "checking whether included gettext is requested... $ECHO_C" >&6
-
-# Check whether --with-included-gettext or --without-included-gettext was given.
-if test "${with_included_gettext+set}" = set; then
-  withval="$with_included_gettext"
-  nls_cv_force_use_gnu_gettext=$withval
-else
-  nls_cv_force_use_gnu_gettext=no
-fi;
-    echo "$as_me:33133: result: $nls_cv_force_use_gnu_gettext" >&5
-echo "${ECHO_T}$nls_cv_force_use_gnu_gettext" >&6
 
         # Extract the first word of "msgfmt", so it can be a program name with args.
 
 set dummy msgfmt; ac_word=$2
-echo "$as_me:33139: checking for $ac_word" >&5
+echo "$as_me:33537: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_MSGFMT+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -33163,16 +33561,16 @@ esac
 fi
 MSGFMT="$ac_cv_path_MSGFMT"
 if test "$MSGFMT" != ":"; then
-  echo "$as_me:33166: result: $MSGFMT" >&5
+  echo "$as_me:33564: result: $MSGFMT" >&5
 echo "${ECHO_T}$MSGFMT" >&6
 else
-  echo "$as_me:33169: result: no" >&5
+  echo "$as_me:33567: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
     # Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
-echo "$as_me:33175: checking for $ac_word" >&5
+echo "$as_me:33573: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_GMSGFMT+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -33189,7 +33587,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   if $as_executable_p "$ac_dir/$ac_word"; then
    ac_cv_path_GMSGFMT="$ac_dir/$ac_word"
-   echo "$as_me:33192: found $ac_dir/$ac_word" >&5
+   echo "$as_me:33590: found $ac_dir/$ac_word" >&5
    break
 fi
 done
@@ -33201,17 +33599,17 @@ fi
 GMSGFMT=$ac_cv_path_GMSGFMT
 
 if test -n "$GMSGFMT"; then
-  echo "$as_me:33204: result: $GMSGFMT" >&5
+  echo "$as_me:33602: result: $GMSGFMT" >&5
 echo "${ECHO_T}$GMSGFMT" >&6
 else
-  echo "$as_me:33207: result: no" >&5
+  echo "$as_me:33605: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
         # Extract the first word of "xgettext", so it can be a program name with args.
 
 set dummy xgettext; ac_word=$2
-echo "$as_me:33214: checking for $ac_word" >&5
+echo "$as_me:33612: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_path_XGETTEXT+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -33238,21 +33636,17 @@ esac
 fi
 XGETTEXT="$ac_cv_path_XGETTEXT"
 if test "$XGETTEXT" != ":"; then
-  echo "$as_me:33241: result: $XGETTEXT" >&5
+  echo "$as_me:33639: result: $XGETTEXT" >&5
 echo "${ECHO_T}$XGETTEXT" >&6
 else
-  echo "$as_me:33244: result: no" >&5
+  echo "$as_me:33642: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
-    nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
-    if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
-                        CATOBJEXT=NONE
+	CATOBJEXT=NONE
 
-                                          cf_save_msgfmt_path="$MSGFMT"
-      cf_save_xgettext_path="$XGETTEXT"
-
-      cf_save_LIBS_1="$LIBS"
+							cf_save_msgfmt_path="$MSGFMT"
+	cf_save_xgettext_path="$XGETTEXT"
 
 cf_add_libs="$LIBS"
 # reverse order
@@ -33270,121 +33664,277 @@ for cf_add_1lib in $cf_add_0lib; do
 done
 LIBS="$cf_add_libs"
 
-      cf_save_OPTS_1="$CPPFLAGS"
-      if test "x$cf_save_msgfmt_path" = "x$MSGFMT" && \
-         test "x$cf_save_xgettext_path" = "x$XGETTEXT" ; then
-
-cf_fix_cppflags=no
-cf_new_cflags=
-cf_new_cppflags=
-cf_new_extra_cppflags=
+	cf_save_LIBS_1="$LIBS"
+	cf_save_OPTS_1="$CPPFLAGS"
 
-for cf_add_cflags in -DIGNORE_MSGFMT_HACK
-do
-case "$cf_fix_cppflags" in
-no)
-	case "$cf_add_cflags" in
-	-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
-		case "$cf_add_cflags" in
-		-D*)
-			cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+# Check whether --with-libintl-prefix or --without-libintl-prefix was given.
+if test "${with_libintl_prefix+set}" = set; then
+  withval="$with_libintl_prefix"
 
-			test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
-				&& test -z "${cf_tst_cflags}" \
-				&& cf_fix_cppflags=yes
+case "x$withval" in
+xno|xyes|x)
+	;;
+*)
 
-			if test "$cf_fix_cppflags" = yes ; then
+for cf_searchpath in `echo "$withval" | tr $PATH_SEPARATOR ' '`; do
+	if test -d "$cf_searchpath/include" ; then
 
-	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
-	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+if test -n "$cf_searchpath/include" ; then
+  for cf_add_incdir in $cf_searchpath/include
+  do
+	while test "$cf_add_incdir" != /usr/include
+	do
+	  if test -d "$cf_add_incdir"
+	  then
+		cf_have_incdir=no
+		if test -n "$CFLAGS$CPPFLAGS" ; then
+		  # a loop is needed to ensure we can add subdirs of existing dirs
+		  for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
+			if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
+			  cf_have_incdir=yes; break
+			fi
+		  done
+		fi
 
-				continue
-			elif test "${cf_tst_cflags}" = "\"'" ; then
+		if test "$cf_have_incdir" = no ; then
+		  if test "$cf_add_incdir" = /usr/local/include ; then
+			if test "$GCC" = yes
+			then
+			  cf_save_CPPFLAGS=$CPPFLAGS
 
-	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
-	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+	test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
+	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
-				continue
+			  cat >"conftest.$ac_ext" <<_ACEOF
+#line 33709 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+int
+main (void)
+{
+printf("Hello")
+  ;
+  return 0;
+}
+_ACEOF
+rm -f "conftest.$ac_objext"
+if { (eval echo "$as_me:33721: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:33724: \$? = $ac_status" >&5
+  (exit "$ac_status"); } &&
+         { ac_try='test -s "conftest.$ac_objext"'
+  { (eval echo "$as_me:33727: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:33730: \$? = $ac_status" >&5
+  (exit "$ac_status"); }; }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+cat "conftest.$ac_ext" >&5
+cf_have_incdir=yes
+fi
+rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+			  CPPFLAGS=$cf_save_CPPFLAGS
 			fi
-			;;
-		esac
-		case "$CPPFLAGS" in
-		*$cf_add_cflags)
-			;;
-		*)
-			case "$cf_add_cflags" in
-			-D*)
-				cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+		  fi
+		fi
 
-CPPFLAGS=`echo "$CPPFLAGS" | \
-	sed	-e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ 	]*\)\?[ 	]/ /g' \
-		-e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ 	]*\)\?$//g'`
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-				;;
-			esac
+echo "${as_me:-configure}:33747: testing adding $cf_add_incdir to include-path ..." 1>&5
 
-	test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags "
-	cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags"
+		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
-			;;
-		esac
-		;;
-	*)
+		  cf_top_incdir=`echo "$cf_add_incdir" | sed -e 's%/include/.*$%/include%'`
+		  test "$cf_top_incdir" = "$cf_add_incdir" && break
+		  cf_add_incdir="$cf_top_incdir"
+		else
+		  break
+		fi
+	  else
+		break
+	  fi
+	done
+  done
+fi
 
-	test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags "
-	cf_new_cflags="${cf_new_cflags}$cf_add_cflags"
+	elif test -d "$cf_searchpath/../include" ; then
 
-		;;
-	esac
-	;;
-yes)
+if test -n "$cf_searchpath/../include" ; then
+  for cf_add_incdir in $cf_searchpath/../include
+  do
+	while test "$cf_add_incdir" != /usr/include
+	do
+	  if test -d "$cf_add_incdir"
+	  then
+		cf_have_incdir=no
+		if test -n "$CFLAGS$CPPFLAGS" ; then
+		  # a loop is needed to ensure we can add subdirs of existing dirs
+		  for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
+			if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
+			  cf_have_incdir=yes; break
+			fi
+		  done
+		fi
 
-	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
-	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+		if test "$cf_have_incdir" = no ; then
+		  if test "$cf_add_incdir" = /usr/local/include ; then
+			if test "$GCC" = yes
+			then
+			  cf_save_CPPFLAGS=$CPPFLAGS
 
-	cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'`
+	test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
+	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
-	test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
-		&& test -z "${cf_tst_cflags}" \
-		&& cf_fix_cppflags=no
-	;;
-esac
-done
+			  cat >"conftest.$ac_ext" <<_ACEOF
+#line 33793 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+int
+main (void)
+{
+printf("Hello")
+  ;
+  return 0;
+}
+_ACEOF
+rm -f "conftest.$ac_objext"
+if { (eval echo "$as_me:33805: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:33808: \$? = $ac_status" >&5
+  (exit "$ac_status"); } &&
+         { ac_try='test -s "conftest.$ac_objext"'
+  { (eval echo "$as_me:33811: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:33814: \$? = $ac_status" >&5
+  (exit "$ac_status"); }; }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+cat "conftest.$ac_ext" >&5
+cf_have_incdir=yes
+fi
+rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+			  CPPFLAGS=$cf_save_CPPFLAGS
+			fi
+		  fi
+		fi
 
-if test -n "$cf_new_cflags" ; then
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-	test -n "$CFLAGS" && CFLAGS="$CFLAGS "
-	CFLAGS="${CFLAGS}$cf_new_cflags"
+echo "${as_me:-configure}:33831: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
+		  cf_top_incdir=`echo "$cf_add_incdir" | sed -e 's%/include/.*$%/include%'`
+		  test "$cf_top_incdir" = "$cf_add_incdir" && break
+		  cf_add_incdir="$cf_top_incdir"
+		else
+		  break
+		fi
+	  else
+		break
+	  fi
+	done
+  done
 fi
 
-if test -n "$cf_new_cppflags" ; then
+	else
+{ { echo "$as_me:33849: error: cannot find libintl under $withval" >&5
+echo "$as_me: error: cannot find libintl under $withval" >&2;}
+   { (exit 1); exit 1; }; }
+	fi
+	if test -d "$cf_searchpath/lib" ; then
 
-	test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
-	CPPFLAGS="${CPPFLAGS}$cf_new_cppflags"
+if test -n "$cf_searchpath/lib" ; then
+	for cf_add_libdir in $cf_searchpath/lib
+	do
+		if test "$cf_add_libdir" = /usr/lib ; then
+			:
+		elif test -d "$cf_add_libdir"
+		then
+			cf_have_libdir=no
+			if test -n "$LDFLAGS$LIBS" ; then
+				# a loop is needed to ensure we can add subdirs of existing dirs
+				for cf_test_libdir in $LDFLAGS $LIBS ; do
+					if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
+						cf_have_libdir=yes; break
+					fi
+				done
+			fi
+			if test "$cf_have_libdir" = no ; then
+				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
+
+echo "${as_me:-configure}:33874: testing adding $cf_add_libdir to library-path ..." 1>&5
 
+				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+			fi
+		fi
+	done
 fi
 
-if test -n "$cf_new_extra_cppflags" ; then
+	elif test -d "$cf_searchpath" ; then
 
-	test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS "
-	EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags"
+if test -n "$cf_searchpath" ; then
+	for cf_add_libdir in $cf_searchpath
+	do
+		if test "$cf_add_libdir" = /usr/lib ; then
+			:
+		elif test -d "$cf_add_libdir"
+		then
+			cf_have_libdir=no
+			if test -n "$LDFLAGS$LIBS" ; then
+				# a loop is needed to ensure we can add subdirs of existing dirs
+				for cf_test_libdir in $LDFLAGS $LIBS ; do
+					if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
+						cf_have_libdir=yes; break
+					fi
+				done
+			fi
+			if test "$cf_have_libdir" = no ; then
+				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
+echo "${as_me:-configure}:33903: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+				LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+			fi
+		fi
+	done
 fi
 
-      fi
+	else
+{ { echo "$as_me:33912: error: cannot find libintl under $withval" >&5
+echo "$as_me: error: cannot find libintl under $withval" >&2;}
+   { (exit 1); exit 1; }; }
+	fi
+done
+
+	test -n "$verbose" && echo "	setting path value for libintl to $withval" 1>&6
+
+echo "${as_me:-configure}:33920: testing setting path value for libintl to $withval ..." 1>&5
+
+	;;
+esac
+
+fi;
 
 # If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these
 # will be set on completion of the AC_TRY_LINK below.
 cf_cv_header_path_intl=
 cf_cv_library_path_intl=
 
-echo "${as_me:-configure}:33382: testing Starting FIND_LINKAGE(intl,) ..." 1>&5
+echo "${as_me:-configure}:33932: testing Starting FIND_LINKAGE(intl,) ..." 1>&5
 
 cf_save_LIBS="$LIBS"
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 33387 "configure"
+#line 33937 "configure"
 #include "confdefs.h"
 
 #include <libintl.h>
@@ -33397,7 +33947,7 @@ main (void)
 	bindtextdomain ("", "");
 	return (gettext ("") != 0)
 
-#ifndef IGNORE_MSGFMT_HACK
+#ifdef USE_MSGFMT_HACK
 			 + _nl_msg_cat_cntr
 #endif
 
@@ -33406,16 +33956,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:33409: \"$ac_link\"") >&5
+if { (eval echo "$as_me:33959: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:33412: \$? = $ac_status" >&5
+  echo "$as_me:33962: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:33415: \"$ac_try\"") >&5
+  { (eval echo "$as_me:33965: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:33418: \$? = $ac_status" >&5
+  echo "$as_me:33968: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 	cf_cv_find_linkage_intl=yes
@@ -33429,7 +33979,7 @@ cat "conftest.$ac_ext" >&5
 LIBS="-lintl  $cf_save_LIBS"
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 33432 "configure"
+#line 33982 "configure"
 #include "confdefs.h"
 
 #include <libintl.h>
@@ -33442,7 +33992,7 @@ main (void)
 	bindtextdomain ("", "");
 	return (gettext ("") != 0)
 
-#ifndef IGNORE_MSGFMT_HACK
+#ifdef USE_MSGFMT_HACK
 			 + _nl_msg_cat_cntr
 #endif
 
@@ -33451,16 +34001,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:33454: \"$ac_link\"") >&5
+if { (eval echo "$as_me:34004: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:33457: \$? = $ac_status" >&5
+  echo "$as_me:34007: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:33460: \"$ac_try\"") >&5
+  { (eval echo "$as_me:34010: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:33463: \$? = $ac_status" >&5
+  echo "$as_me:34013: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 	cf_cv_find_linkage_intl=yes
@@ -33477,9 +34027,9 @@ cat "conftest.$ac_ext" >&5
 
 	test -n "$verbose" && echo "	find linkage for intl library" 1>&6
 
-echo "${as_me:-configure}:33480: testing find linkage for intl library ..." 1>&5
+echo "${as_me:-configure}:34030: testing find linkage for intl library ..." 1>&5
 
-echo "${as_me:-configure}:33482: testing Searching for headers in FIND_LINKAGE(intl,) ..." 1>&5
+echo "${as_me:-configure}:34032: testing Searching for headers in FIND_LINKAGE(intl,) ..." 1>&5
 
 	cf_save_CPPFLAGS="$CPPFLAGS"
 	cf_test_CPPFLAGS="$CPPFLAGS"
@@ -33570,7 +34120,7 @@ cf_search="$cf_search $cf_header_path_li
 		if test -d "$cf_cv_header_path_intl" ; then
 			test -n "$verbose" && echo "	... testing $cf_cv_header_path_intl" 1>&6
 
-echo "${as_me:-configure}:33573: testing ... testing $cf_cv_header_path_intl ..." 1>&5
+echo "${as_me:-configure}:34123: testing ... testing $cf_cv_header_path_intl ..." 1>&5
 
 			CPPFLAGS="$cf_save_CPPFLAGS"
 
@@ -33578,7 +34128,7 @@ echo "${as_me:-configure}:33573: testing
 	CPPFLAGS="${CPPFLAGS}-I$cf_cv_header_path_intl"
 
 			cat >"conftest.$ac_ext" <<_ACEOF
-#line 33581 "configure"
+#line 34131 "configure"
 #include "confdefs.h"
 
 #include <libintl.h>
@@ -33591,7 +34141,7 @@ main (void)
 	bindtextdomain ("", "");
 	return (gettext ("") != 0)
 
-#ifndef IGNORE_MSGFMT_HACK
+#ifdef USE_MSGFMT_HACK
 			 + _nl_msg_cat_cntr
 #endif
 
@@ -33600,21 +34150,21 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:33603: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:34153: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:33606: \$? = $ac_status" >&5
+  echo "$as_me:34156: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:33609: \"$ac_try\"") >&5
+  { (eval echo "$as_me:34159: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:33612: \$? = $ac_status" >&5
+  echo "$as_me:34162: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 				test -n "$verbose" && echo "	... found intl headers in $cf_cv_header_path_intl" 1>&6
 
-echo "${as_me:-configure}:33617: testing ... found intl headers in $cf_cv_header_path_intl ..." 1>&5
+echo "${as_me:-configure}:34167: testing ... found intl headers in $cf_cv_header_path_intl ..." 1>&5
 
 				cf_cv_find_linkage_intl=maybe
 				cf_test_CPPFLAGS="$CPPFLAGS"
@@ -33632,7 +34182,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 
 	if test "$cf_cv_find_linkage_intl" = maybe ; then
 
-echo "${as_me:-configure}:33635: testing Searching for intl library in FIND_LINKAGE(intl,) ..." 1>&5
+echo "${as_me:-configure}:34185: testing Searching for intl library in FIND_LINKAGE(intl,) ..." 1>&5
 
 		cf_save_LIBS="$LIBS"
 		cf_save_LDFLAGS="$LDFLAGS"
@@ -33707,13 +34257,13 @@ cf_search="$cf_library_path_list $cf_sea
 				if test -d "$cf_cv_library_path_intl" ; then
 					test -n "$verbose" && echo "	... testing $cf_cv_library_path_intl" 1>&6
 
-echo "${as_me:-configure}:33710: testing ... testing $cf_cv_library_path_intl ..." 1>&5
+echo "${as_me:-configure}:34260: testing ... testing $cf_cv_library_path_intl ..." 1>&5
 
 					CPPFLAGS="$cf_test_CPPFLAGS"
 					LIBS="-lintl  $cf_save_LIBS"
 					LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_intl"
 					cat >"conftest.$ac_ext" <<_ACEOF
-#line 33716 "configure"
+#line 34266 "configure"
 #include "confdefs.h"
 
 #include <libintl.h>
@@ -33726,7 +34276,7 @@ main (void)
 	bindtextdomain ("", "");
 	return (gettext ("") != 0)
 
-#ifndef IGNORE_MSGFMT_HACK
+#ifdef USE_MSGFMT_HACK
 			 + _nl_msg_cat_cntr
 #endif
 
@@ -33735,21 +34285,21 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:33738: \"$ac_link\"") >&5
+if { (eval echo "$as_me:34288: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:33741: \$? = $ac_status" >&5
+  echo "$as_me:34291: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:33744: \"$ac_try\"") >&5
+  { (eval echo "$as_me:34294: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:33747: \$? = $ac_status" >&5
+  echo "$as_me:34297: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 					test -n "$verbose" && echo "	... found intl library in $cf_cv_library_path_intl" 1>&6
 
-echo "${as_me:-configure}:33752: testing ... found intl library in $cf_cv_library_path_intl ..." 1>&5
+echo "${as_me:-configure}:34302: testing ... found intl library in $cf_cv_library_path_intl ..." 1>&5
 
 					cf_cv_find_linkage_intl=yes
 					cf_cv_library_file_intl="-lintl"
@@ -33788,22 +34338,17 @@ else
 cf_cv_func_gettext=no
 fi
 
-      echo "$as_me:33791: checking for libintl.h and gettext()" >&5
+	echo "$as_me:34341: checking for libintl.h and gettext()" >&5
 echo $ECHO_N "checking for libintl.h and gettext()... $ECHO_C" >&6
-      echo "$as_me:33793: result: $cf_cv_func_gettext" >&5
+	echo "$as_me:34343: result: $cf_cv_func_gettext" >&5
 echo "${ECHO_T}$cf_cv_func_gettext" >&6
 
-      LIBS="$cf_save_LIBS_1"
-      CPPFLAGS="$cf_save_OPTS_1"
-
-      if test "$cf_cv_func_gettext" = yes ; then
+	if test "$cf_cv_func_gettext" = yes ; then
 
 cat >>confdefs.h <<\EOF
 #define HAVE_LIBINTL_H 1
 EOF
 
-                                        if test "$PACKAGE" != gettext; then
-
 cat >>confdefs.h <<\EOF
 #define HAVE_GETTEXT 1
 EOF
@@ -33835,7 +34380,7 @@ if test -n "$cf_cv_header_path_intl" ; t
 	CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
 
 			  cat >"conftest.$ac_ext" <<_ACEOF
-#line 33838 "configure"
+#line 34383 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -33847,16 +34392,16 @@ printf("Hello")
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:33850: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:34395: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:33853: \$? = $ac_status" >&5
+  echo "$as_me:34398: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:33856: \"$ac_try\"") >&5
+  { (eval echo "$as_me:34401: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:33859: \$? = $ac_status" >&5
+  echo "$as_me:34404: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -33873,7 +34418,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 		if test "$cf_have_incdir" = no ; then
 		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-echo "${as_me:-configure}:33876: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:34421: testing adding $cf_add_incdir to include-path ..." 1>&5
 
 		  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
 
@@ -33890,8 +34435,8 @@ echo "${as_me:-configure}:33876: testing
   done
 fi
 
-          if test -n "$cf_cv_library_file_intl" ; then
-                                                INTLLIBS="$cf_cv_library_file_intl $LIBICONV"
+	  if test -n "$cf_cv_library_file_intl" ; then
+		INTLLIBS="$cf_cv_library_file_intl"
 
 if test -n "$cf_cv_library_path_intl" ; then
 	for cf_add_libdir in $cf_cv_library_path_intl
@@ -33912,7 +34457,7 @@ if test -n "$cf_cv_library_path_intl" ;
 			if test "$cf_have_libdir" = no ; then
 				test -n "$verbose" && echo "	adding $cf_add_libdir to library-path" 1>&6
 
-echo "${as_me:-configure}:33915: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:34460: testing adding $cf_add_libdir to library-path ..." 1>&5
 
 				INTLLIBS="-L$cf_add_libdir $INTLLIBS"
 			fi
@@ -33920,21 +34465,71 @@ echo "${as_me:-configure}:33915: testing
 	done
 fi
 
-          fi
+	  fi
+
+	  echo "$as_me:34470: checking if this is GNU gettext" >&5
+echo $ECHO_N "checking if this is GNU gettext... $ECHO_C" >&6
+	  cat >"conftest.$ac_ext" <<_ACEOF
+#line 34473 "configure"
+#include "confdefs.h"
+#define USE_MSGFMT_HACK
+
+#include <libintl.h>
+extern int _nl_msg_cat_cntr;
+
+int
+main (void)
+{
+
+	bindtextdomain ("", "");
+	return (gettext ("") != 0)
+
+#ifdef USE_MSGFMT_HACK
+			 + _nl_msg_cat_cntr
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f "conftest.$ac_objext" "conftest$ac_exeext"
+if { (eval echo "$as_me:34496: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:34499: \$? = $ac_status" >&5
+  (exit "$ac_status"); } &&
+         { ac_try='test -s "conftest$ac_exeext"'
+  { (eval echo "$as_me:34502: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:34505: \$? = $ac_status" >&5
+  (exit "$ac_status"); }; }; then
+  cf_cv_gnu_gettext=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat "conftest.$ac_ext" >&5
+cf_cv_gnu_gettext=no
+fi
+rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
+	  echo "$as_me:34514: result: $cf_cv_gnu_gettext" >&5
+echo "${ECHO_T}$cf_cv_gnu_gettext" >&6
+	  test "$" = yes &&
+cat >>confdefs.h <<\EOF
+#define HAVE__NL_MSG_CAT_CNTR 1
+EOF
 
-          gt_save_LIBS="$LIBS"
-          LIBS="$LIBS $INTLLIBS"
+	  LIBS="$LIBS $INTLLIBS"
 
 for ac_func in dcgettext
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:33931: checking for $ac_func" >&5
+echo "$as_me:34526: checking for $ac_func" >&5
 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
 if eval "test \"\${$as_ac_var+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 33937 "configure"
+#line 34532 "configure"
 #include "confdefs.h"
 #define $ac_func autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -33965,16 +34560,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:33968: \"$ac_link\"") >&5
+if { (eval echo "$as_me:34563: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:33971: \$? = $ac_status" >&5
+  echo "$as_me:34566: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:33974: \"$ac_try\"") >&5
+  { (eval echo "$as_me:34569: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:33977: \$? = $ac_status" >&5
+  echo "$as_me:34572: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_var=yes"
 else
@@ -33984,7 +34579,7 @@ eval "$as_ac_var=no"
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:33987: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:34582: result: `eval echo '${'"$as_ac_var"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
 if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -33994,57 +34589,30 @@ EOF
 fi
 done
 
-          LIBS="$gt_save_LIBS"
-
-          CATOBJEXT=.gmo
-        fi
-      elif test -z "$MSGFMT" || test -z "$XGETTEXT" ; then
-        { echo "$as_me:34002: WARNING: disabling NLS feature" >&5
-echo "$as_me: WARNING: disabling NLS feature" >&2;}
-        sed -e /ENABLE_NLS/d confdefs.h >confdefs.tmp
-        mv confdefs.tmp confdefs.h
-        ALL_LINGUAS=
-        CATOBJEXT=.ignored
-        MSGFMT=":"
-        GMSGFMT=":"
-        XGETTEXT=":"
-        POSUB=
-        BUILD_INCLUDED_LIBINTL=no
-        USE_INCLUDED_LIBINTL=no
-        USE_NLS=no
-        nls_cv_use_gnu_gettext=no
-      fi
-
-      if test "$CATOBJEXT" = "NONE"; then
-                        nls_cv_use_gnu_gettext=maybe
-      fi
-    fi
-
-    if test "$nls_cv_use_gnu_gettext" != "no"; then
-      CATOBJEXT=.gmo
-      if test -f "$srcdir/intl/libintl.h" || test -f "$srcdir/intl/libgnuintl.h" ; then
+	  CATOBJEXT=.gmo
 
 cat >>confdefs.h <<\EOF
-#define HAVE_LIBINTL_H 1
+#define ENABLE_NLS 1
 EOF
 
-        INTLOBJS="\$(GETTOBJS)"
-        BUILD_INCLUDED_LIBINTL=yes
-        USE_INCLUDED_LIBINTL=yes
-        INTLLIBS="\$(top_builddir)/intl/libintl.a $LIBICONV"
-        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
-      elif test "$nls_cv_use_gnu_gettext" = "yes"; then
-        nls_cv_use_gnu_gettext=no
-        { echo "$as_me:34038: WARNING: no NLS library is packaged with this application" >&5
-echo "$as_me: WARNING: no NLS library is packaged with this application" >&2;}
-      fi
+	elif test -z "$MSGFMT" || test -z "$XGETTEXT" ; then
+	  { echo "$as_me:34599: WARNING: disabling NLS feature" >&5
+echo "$as_me: WARNING: disabling NLS feature" >&2;}
+	  ALL_LINGUAS=
+	  CATOBJEXT=.ignored
+	  MSGFMT=":"
+	  GMSGFMT=":"
+	  XGETTEXT=":"
+	  USE_NLS=no
+	  LIBS="$cf_save_LIBS_1"
+	  CPPFLAGS="$cf_save_OPTS_1"
     fi
 
         if test "$GMSGFMT" != ":"; then
       if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
         : ;
       else
-        { echo "$as_me:34047: WARNING: found msgfmt program is not GNU msgfmt" >&5
+        { echo "$as_me:34615: WARNING: found msgfmt program is not GNU msgfmt" >&5
 echo "$as_me: WARNING: found msgfmt program is not GNU msgfmt" >&2;}
       fi
     fi
@@ -34053,7 +34621,7 @@ echo "$as_me: WARNING: found msgfmt prog
       if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
         : ;
       else
-        { echo "$as_me:34056: WARNING: found xgettext program is not GNU xgettext" >&5
+        { echo "$as_me:34624: WARNING: found xgettext program is not GNU xgettext" >&5
 echo "$as_me: WARNING: found xgettext program is not GNU xgettext" >&2;}
       fi
     fi
@@ -34062,70 +34630,6 @@ echo "$as_me: WARNING: found xgettext pr
   if test "$XGETTEXT" != ":"; then
     ac_config_commands="$ac_config_commands default-1"
 
-            if test "$PACKAGE" = gettext; then
-      BUILD_INCLUDED_LIBINTL=yes
-    fi
-
-													    if test "$nls_cv_use_gnu_gettext" = "yes"; then
-      for ac_prog in byacc bison
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:34074: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_INTL_YACC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$INTL_YACC"; then
-  ac_cv_prog_INTL_YACC="$INTL_YACC" # Let the user override the test.
-else
-  ac_save_IFS=$IFS; IFS=$ac_path_separator
-ac_dummy="$PATH"
-for ac_dir in $ac_dummy; do
-  IFS=$ac_save_IFS
-  test -z "$ac_dir" && ac_dir=.
-  $as_executable_p "$ac_dir/$ac_word" || continue
-ac_cv_prog_INTL_YACC="$ac_prog"
-echo "$as_me:34089: found $ac_dir/$ac_word" >&5
-break
-done
-
-fi
-fi
-INTL_YACC=$ac_cv_prog_INTL_YACC
-if test -n "$INTL_YACC"; then
-  echo "$as_me:34097: result: $INTL_YACC" >&5
-echo "${ECHO_T}$INTL_YACC" >&6
-else
-  echo "$as_me:34100: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-  test -n "$INTL_YACC" && break
-done
-
-      if test -z "$INTL_YACC"; then
-        ac_verc_fail=yes
-      else
-                echo "$as_me:34110: checking version of $INTL_YACC" >&5
-echo $ECHO_N "checking version of $INTL_YACC... $ECHO_C" >&6
-        ac_prog_version=`$INTL_YACC -V 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p;s/^\(byacc\) - \([0-9][0-9.]*\) \([0-9]*\).*$/\1-\2.\3/p'`
-        case "$ac_prog_version" in
-          byacc-[0-9].[0-9].20[1-9]*)
-             ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
-          '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-          1.2[6-9]*|1.[3-9][0-9]*|2.[0-3]*)
-             ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
-          *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
-        esac
-      echo "$as_me:34121: result: $ac_prog_version" >&5
-echo "${ECHO_T}$ac_prog_version" >&6
-      fi
-      if test "$ac_verc_fail" = yes; then
-        INTL_YACC=:
-      fi
-    fi
-
                 for lang in $ALL_LINGUAS; do
       GMOFILES="$GMOFILES $lang.gmo"
       POFILES="$POFILES $lang.po"
@@ -34141,41 +34645,41 @@ echo "${ECHO_T}$ac_prog_version" >&6
 
     GENCAT=gencat
 
-   if test "x$CATOBJEXT" != "x"; then
-     if test "x$ALL_LINGUAS" = "x"; then
-       LINGUAS=
-     else
-       echo "$as_me:34148: checking for catalogs to be installed" >&5
+   if test "$USE_NLS" = "yes"; then
+	 if test "x$ALL_LINGUAS" = "x"; then
+	   LINGUAS=
+	 else
+	   echo "$as_me:34652: checking for catalogs to be installed" >&5
 echo $ECHO_N "checking for catalogs to be installed... $ECHO_C" >&6
-       NEW_LINGUAS=
-       for presentlang in $ALL_LINGUAS; do
-         useit=no
-         for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do
-           # Use the presentlang catalog if desiredlang is
-           #   a. equal to presentlang, or
-           #   b. a variant of presentlang (because in this case,
-           #      presentlang can be used as a fallback for messages
-           #      which are not translated in the desiredlang catalog).
-           case "$desiredlang" in
-             "$presentlang"*) useit=yes;;
-           esac
-         done
-         if test "$useit" = yes; then
-           NEW_LINGUAS="$NEW_LINGUAS $presentlang"
-         fi
-       done
-       LINGUAS=$NEW_LINGUAS
-       echo "$as_me:34168: result: $LINGUAS" >&5
+	   NEW_LINGUAS=
+	   for presentlang in $ALL_LINGUAS; do
+		 useit=no
+		 for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do
+		   # Use the presentlang catalog if desiredlang is
+		   #   a. equal to presentlang, or
+		   #   b. a variant of presentlang (because in this case,
+		   #      presentlang can be used as a fallback for messages
+		   #      which are not translated in the desiredlang catalog).
+		   case "$desiredlang" in
+			 "$presentlang"*) useit=yes;;
+		   esac
+		 done
+		 if test "$useit" = yes; then
+		   NEW_LINGUAS="$NEW_LINGUAS $presentlang"
+		 fi
+	   done
+	   LINGUAS=$NEW_LINGUAS
+	   echo "$as_me:34672: result: $LINGUAS" >&5
 echo "${ECHO_T}$LINGUAS" >&6
-     fi
+	 fi
 
-          if test -n "$LINGUAS"; then
-       for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
-     fi
+	 	 if test -n "$LINGUAS"; then
+	   for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
+	 fi
+   else
+	 CATALOGS=
    fi
 
-      INTL_LIBTOOL_SUFFIX_PREFIX=
-
 if test "$USE_NLS" = yes ; then
 
 # Check whether --with-textdomain or --without-textdomain was given.
@@ -34192,7 +34696,6 @@ EOF
 
 fi
 
-INTLDIR_MAKE=
 MSG_DIR_MAKE=
 SUB_MAKEFILE=
 
@@ -34201,7 +34704,7 @@ cf_makefile=Makefile
 use_our_messages=no
 if test "$USE_NLS" = yes ; then
 if test -d "$srcdir/po" ; then
-echo "$as_me:34204: checking if we should use included message-library" >&5
+echo "$as_me:34707: checking if we should use included message-library" >&5
 echo $ECHO_N "checking if we should use included message-library... $ECHO_C" >&6
 
 # Check whether --enable-included-msgs or --disable-included-msgs was given.
@@ -34212,7 +34715,7 @@ else
   use_our_messages=yes
 fi;
 fi
-echo "$as_me:34215: result: $use_our_messages" >&5
+echo "$as_me:34718: result: $use_our_messages" >&5
 echo "${ECHO_T}$use_our_messages" >&6
 fi
 
@@ -34223,54 +34726,28 @@ then
 	MSG_DIR_MAKE=
 fi
 
-if test "$USE_INCLUDED_LIBINTL" = yes ; then
-	if test "$nls_cv_force_use_gnu_gettext" = yes ; then
-		:
-	elif test "$nls_cv_use_gnu_gettext" != no ; then
-		:
-	else
-		INTLDIR_MAKE="#"
-	fi
-	if test -z "$INTLDIR_MAKE"; then
-
-cat >>confdefs.h <<\EOF
-#define HAVE_LIBGETTEXT_H 1
-EOF
-
-		for cf_makefile in \
-			$srcdir/intl/Makefile.in \
-			$srcdir/intl/makefile.in
-		do
-			if test -f "$cf_makefile" ; then
-				SUB_MAKEFILE="$SUB_MAKEFILE `echo \"${cf_makefile}\"|sed -e 's,^'$srcdir/',,' -e 's/\.in$//'`:${cf_makefile}"
-				break
-			fi
-		done
-	fi
-else
-	INTLDIR_MAKE="#"
-	if test "$USE_NLS" = yes ; then
+if test "$USE_NLS" = yes ; then
 
 for ac_header in libintl.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:34257: checking for $ac_header" >&5
+echo "$as_me:34734: checking for $ac_header" >&5
 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 34263 "configure"
+#line 34740 "configure"
 #include "confdefs.h"
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:34267: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:34744: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:34273: \$? = $ac_status" >&5
+  echo "$as_me:34750: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -34289,7 +34766,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:34292: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:34769: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -34299,70 +34776,28 @@ EOF
 fi
 done
 
-	fi
-fi
-
-if test -z "$INTLDIR_MAKE" ; then
-
-	test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
-	CPPFLAGS="${CPPFLAGS}-I../intl"
-
-fi
-
-if test "$BUILD_INCLUDED_LIBINTL" = yes ; then
-	GT_YES="#"
-	GT_NO=
-else
-	GT_YES=
-	GT_NO="#"
-fi
-
-if test "$USE_INCLUDED_LIBINTL" = yes ; then
-	if test "$nls_cv_force_use_gnu_gettext" = yes ; then
-
-cat >>confdefs.h <<\EOF
-#define HAVE_GETTEXT 1
-EOF
-
-	elif test "$nls_cv_use_gnu_gettext" = yes ; then
-
-cat >>confdefs.h <<\EOF
-#define HAVE_GETTEXT 1
-EOF
-
-	fi
-	if test -n "$nls_cv_header_intl" ; then
-
-cat >>confdefs.h <<\EOF
-#define HAVE_LIBINTL_H 1
-EOF
-
-	fi
 fi
 
 LIBS="$LIBS $LIBICONV"
 
-### check for alloca (required for bison and/or intl/*)
+### check for alloca (required for bison)
 case "$YACC" in
 bison*)
 	use_alloca=yes
 	;;
-*)
-	use_alloca=$USE_INCLUDED_LIBINTL
-	;;
 esac
 
 if test ".$use_alloca" = .yes ; then
 
 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 # for constant arguments.  Useless!
-echo "$as_me:34359: checking for working alloca.h" >&5
+echo "$as_me:34794: checking for working alloca.h" >&5
 echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6
 if test "${ac_cv_working_alloca_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 34365 "configure"
+#line 34800 "configure"
 #include "confdefs.h"
 #include <alloca.h>
 int
@@ -34374,16 +34809,16 @@ char *p = (char *) alloca (2 * sizeof (i
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:34377: \"$ac_link\"") >&5
+if { (eval echo "$as_me:34812: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:34380: \$? = $ac_status" >&5
+  echo "$as_me:34815: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:34383: \"$ac_try\"") >&5
+  { (eval echo "$as_me:34818: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:34386: \$? = $ac_status" >&5
+  echo "$as_me:34821: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_working_alloca_h=yes
 else
@@ -34393,7 +34828,7 @@ ac_cv_working_alloca_h=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:34396: result: $ac_cv_working_alloca_h" >&5
+echo "$as_me:34831: result: $ac_cv_working_alloca_h" >&5
 echo "${ECHO_T}$ac_cv_working_alloca_h" >&6
 if test $ac_cv_working_alloca_h = yes; then
 
@@ -34403,13 +34838,13 @@ EOF
 
 fi
 
-echo "$as_me:34406: checking for alloca" >&5
+echo "$as_me:34841: checking for alloca" >&5
 echo $ECHO_N "checking for alloca... $ECHO_C" >&6
 if test "${ac_cv_func_alloca_works+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 34412 "configure"
+#line 34847 "configure"
 #include "confdefs.h"
 #ifdef __GNUC__
 # define alloca __builtin_alloca
@@ -34441,16 +34876,16 @@ char *p = (char *) alloca (1);
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:34444: \"$ac_link\"") >&5
+if { (eval echo "$as_me:34879: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:34447: \$? = $ac_status" >&5
+  echo "$as_me:34882: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:34450: \"$ac_try\"") >&5
+  { (eval echo "$as_me:34885: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:34453: \$? = $ac_status" >&5
+  echo "$as_me:34888: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_alloca_works=yes
 else
@@ -34460,7 +34895,7 @@ ac_cv_func_alloca_works=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:34463: result: $ac_cv_func_alloca_works" >&5
+echo "$as_me:34898: result: $ac_cv_func_alloca_works" >&5
 echo "${ECHO_T}$ac_cv_func_alloca_works" >&6
 
 if test $ac_cv_func_alloca_works = yes; then
@@ -34481,13 +34916,13 @@ cat >>confdefs.h <<\EOF
 #define C_ALLOCA 1
 EOF
 
-echo "$as_me:34484: checking whether \`alloca.c' needs Cray hooks" >&5
+echo "$as_me:34919: checking whether \`alloca.c' needs Cray hooks" >&5
 echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6
 if test "${ac_cv_os_cray+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 34490 "configure"
+#line 34925 "configure"
 #include "confdefs.h"
 #if defined(CRAY) && ! defined(CRAY2)
 webecray
@@ -34505,18 +34940,18 @@ fi
 rm -rf conftest*
 
 fi
-echo "$as_me:34508: result: $ac_cv_os_cray" >&5
+echo "$as_me:34943: result: $ac_cv_os_cray" >&5
 echo "${ECHO_T}$ac_cv_os_cray" >&6
 if test $ac_cv_os_cray = yes; then
   for ac_func in _getb67 GETB67 getb67; do
     as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:34513: checking for $ac_func" >&5
+echo "$as_me:34948: checking for $ac_func" >&5
 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
 if eval "test \"\${$as_ac_var+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 34519 "configure"
+#line 34954 "configure"
 #include "confdefs.h"
 #define $ac_func autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -34547,16 +34982,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:34550: \"$ac_link\"") >&5
+if { (eval echo "$as_me:34985: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:34553: \$? = $ac_status" >&5
+  echo "$as_me:34988: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:34556: \"$ac_try\"") >&5
+  { (eval echo "$as_me:34991: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:34559: \$? = $ac_status" >&5
+  echo "$as_me:34994: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   eval "$as_ac_var=yes"
 else
@@ -34566,7 +35001,7 @@ eval "$as_ac_var=no"
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:34569: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:35004: result: `eval echo '${'"$as_ac_var"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
 if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
 
@@ -34580,7 +35015,7 @@ fi
   done
 fi
 
-echo "$as_me:34583: checking stack direction for C alloca" >&5
+echo "$as_me:35018: checking stack direction for C alloca" >&5
 echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6
 if test "${ac_cv_c_stack_direction+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -34589,7 +35024,7 @@ else
   ac_cv_c_stack_direction=0
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 34592 "configure"
+#line 35027 "configure"
 #include "confdefs.h"
 int
 find_stack_direction (void)
@@ -34612,15 +35047,15 @@ main (void)
 }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:34615: \"$ac_link\"") >&5
+if { (eval echo "$as_me:35050: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:34618: \$? = $ac_status" >&5
+  echo "$as_me:35053: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:34620: \"$ac_try\"") >&5
+  { (eval echo "$as_me:35055: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:34623: \$? = $ac_status" >&5
+  echo "$as_me:35058: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_c_stack_direction=1
 else
@@ -34632,7 +35067,7 @@ fi
 rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext"
 fi
 fi
-echo "$as_me:34635: result: $ac_cv_c_stack_direction" >&5
+echo "$as_me:35070: result: $ac_cv_c_stack_direction" >&5
 echo "${ECHO_T}$ac_cv_c_stack_direction" >&6
 
 cat >>confdefs.h <<EOF
@@ -34661,10 +35096,10 @@ else
 fi
 
 # if struct hostent contains h_addr_list or not (SunOS-3.5)
-echo "$as_me:34664: checking for h_addr_list in struct hostent" >&5
+echo "$as_me:35099: checking for h_addr_list in struct hostent" >&5
 echo $ECHO_N "checking for h_addr_list in struct hostent... $ECHO_C" >&6
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 34667 "configure"
+#line 35102 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -34684,16 +35119,16 @@ h.h_addr_list[0] = malloc(1);
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:34687: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:35122: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:34690: \$? = $ac_status" >&5
+  echo "$as_me:35125: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:34693: \"$ac_try\"") >&5
+  { (eval echo "$as_me:35128: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:34696: \$? = $ac_status" >&5
+  echo "$as_me:35131: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_hostent_h_addr_list=yes
 else
@@ -34702,7 +35137,7 @@ cat "conftest.$ac_ext" >&5
 ac_cv_hostent_h_addr_list=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
-echo "$as_me:34705: result: $ac_cv_hostent_h_addr_list" >&5
+echo "$as_me:35140: result: $ac_cv_hostent_h_addr_list" >&5
 echo "${ECHO_T}$ac_cv_hostent_h_addr_list" >&6
 if test $ac_cv_hostent_h_addr_list = yes; then
 
@@ -34715,23 +35150,23 @@ fi
 for ac_header in X11/Xpoll.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:34718: checking for $ac_header" >&5
+echo "$as_me:35153: checking for $ac_header" >&5
 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 34724 "configure"
+#line 35159 "configure"
 #include "confdefs.h"
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:34728: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:35163: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:34734: \$? = $ac_status" >&5
+  echo "$as_me:35169: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -34750,7 +35185,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:34753: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:35188: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
 echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
 if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
   cat >>confdefs.h <<EOF
@@ -34760,16 +35195,16 @@ EOF
 fi
 done
 
-echo "$as_me:34763: checking for declaration of fd_set" >&5
+echo "$as_me:35198: checking for declaration of fd_set" >&5
 echo $ECHO_N "checking for declaration of fd_set... $ECHO_C" >&6
 if test "${cf_cv_type_fd_set+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-echo "${as_me:-configure}:34769: testing sys/types alone ..." 1>&5
+echo "${as_me:-configure}:35204: testing sys/types alone ..." 1>&5
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 34772 "configure"
+#line 35207 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -34782,26 +35217,26 @@ fd_set x; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:34785: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:35220: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:34788: \$? = $ac_status" >&5
+  echo "$as_me:35223: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:34791: \"$ac_try\"") >&5
+  { (eval echo "$as_me:35226: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:34794: \$? = $ac_status" >&5
+  echo "$as_me:35229: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_type_fd_set=sys/types.h
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
 
-echo "${as_me:-configure}:34801: testing X11/Xpoll.h ..." 1>&5
+echo "${as_me:-configure}:35236: testing X11/Xpoll.h ..." 1>&5
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 34804 "configure"
+#line 35239 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_X11_XPOLL_H
@@ -34816,26 +35251,26 @@ fd_set x; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:34819: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:35254: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:34822: \$? = $ac_status" >&5
+  echo "$as_me:35257: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:34825: \"$ac_try\"") >&5
+  { (eval echo "$as_me:35260: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:34828: \$? = $ac_status" >&5
+  echo "$as_me:35263: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_type_fd_set=X11/Xpoll.h
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
 
-echo "${as_me:-configure}:34835: testing sys/select.h ..." 1>&5
+echo "${as_me:-configure}:35270: testing sys/select.h ..." 1>&5
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 34838 "configure"
+#line 35273 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -34849,16 +35284,16 @@ fd_set x; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:34852: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:35287: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:34855: \$? = $ac_status" >&5
+  echo "$as_me:35290: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:34858: \"$ac_try\"") >&5
+  { (eval echo "$as_me:35293: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:34861: \$? = $ac_status" >&5
+  echo "$as_me:35296: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_type_fd_set=sys/select.h
 else
@@ -34872,7 +35307,7 @@ rm -f "conftest.$ac_objext" "conftest.$a
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:34875: result: $cf_cv_type_fd_set" >&5
+echo "$as_me:35310: result: $cf_cv_type_fd_set" >&5
 echo "${ECHO_T}$cf_cv_type_fd_set" >&6
 if test $cf_cv_type_fd_set = sys/select.h ; then
 
@@ -34882,17 +35317,17 @@ EOF
 
 fi
 
-echo "$as_me:34885: checking for fd_set macros" >&5
+echo "$as_me:35320: checking for fd_set macros" >&5
 echo $ECHO_N "checking for fd_set macros... $ECHO_C" >&6
 if test "${cf_cv_macros_fd_set+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 34892 "configure"
+#line 35327 "configure"
 #include "confdefs.h"
 
-#include <sys/types.h>
+$ac_includes_default
 #if USE_SYS_SELECT_H
 # include <sys/select.h>
 #else
@@ -34918,16 +35353,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:34921: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:35356: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:34924: \$? = $ac_status" >&5
+  echo "$as_me:35359: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:34927: \"$ac_try\"") >&5
+  { (eval echo "$as_me:35362: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:34930: \$? = $ac_status" >&5
+  echo "$as_me:35365: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_macros_fd_set=yes
 else
@@ -34937,26 +35372,90 @@ cf_cv_macros_fd_set=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
 fi
-echo "$as_me:34940: result: $cf_cv_macros_fd_set" >&5
+echo "$as_me:35375: result: $cf_cv_macros_fd_set" >&5
 echo "${ECHO_T}$cf_cv_macros_fd_set" >&6
 test $cf_cv_macros_fd_set = yes &&
 cat >>confdefs.h <<\EOF
 #define HAVE_TYPE_FD_SET 1
 EOF
 
+# snprintf() doesn't return length
+# wrap into
+#	if test "$ac_cv_func_snprintf" == "yes" ; then
+#	fi
+#?
+echo "$as_me:35387: checking for working snprintf()" >&5
+echo $ECHO_N "checking for working snprintf()... $ECHO_C" >&6
+if test "$cross_compiling" = yes; then
+
+		echo "$as_me:35391: result: unknown" >&5
+echo "${ECHO_T}unknown" >&6
+
+else
+  cat >"conftest.$ac_ext" <<_ACEOF
+#line 35396 "configure"
+#include "confdefs.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+int main(void) {
+	char skip[5], fmt[9];
+	int len;
+
+	strcpy(fmt, "%d.%d.%d");
+	strcpy(skip, "Test");
+	len = snprintf(NULL, 0, "%s%s", skip, fmt);
+	if (len != (int)strlen(fmt) + (int)strlen(skip))
+		exit(1);
+	exit(0);
+}
+_ACEOF
+rm -f "conftest$ac_exeext"
+if { (eval echo "$as_me:35416: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:35419: \$? = $ac_status" >&5
+  (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
+  { (eval echo "$as_me:35421: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:35424: \$? = $ac_status" >&5
+  (exit "$ac_status"); }; }; then
+
+		echo "$as_me:35427: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+cat "conftest.$ac_ext" >&5
+
+cat >>confdefs.h <<\EOF
+#define SNPRINTF_BROKEN 1
+EOF
+
+		echo "$as_me:35439: result: no" >&5
+echo "${ECHO_T}no" >&6
+
+fi
+rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext"
+fi
+
 # tolower() is known to be broken on 4.2BSD by
 # not checking if input is an uppercase letter
 # /* #define tolower(c)	((c)-'A'+'a') */
-echo "$as_me:34950: checking for working tolower()" >&5
+echo "$as_me:35449: checking for working tolower()" >&5
 echo $ECHO_N "checking for working tolower()... $ECHO_C" >&6
 if test "$cross_compiling" = yes; then
 
-                echo "$as_me:34954: result: unknown" >&5
+		echo "$as_me:35453: result: unknown" >&5
 echo "${ECHO_T}unknown" >&6
 
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 34959 "configure"
+#line 35458 "configure"
 #include "confdefs.h"
 
 #include <ctype.h>
@@ -34964,25 +35463,25 @@ int main(void) {
 	unsigned char str;
 
 	for (str = 1; str < 127; str++) {
-	        if ((char) tolower(str) != ((str >= 'A' && str <= 'Z') ? ((unsigned char) (str - 'A' + 'a')) : str))
+		if ((char) tolower(str) != ((str >= 'A' && str <= 'Z') ? ((unsigned char) (str - 'A' + 'a')) : str))
 			return 1;
 	}
 	return 0;
 }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:34974: \"$ac_link\"") >&5
+if { (eval echo "$as_me:35473: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:34977: \$? = $ac_status" >&5
+  echo "$as_me:35476: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:34979: \"$ac_try\"") >&5
+  { (eval echo "$as_me:35478: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:34982: \$? = $ac_status" >&5
+  echo "$as_me:35481: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
-                echo "$as_me:34985: result: yes" >&5
+		echo "$as_me:35484: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 
 else
@@ -34994,7 +35493,7 @@ cat >>confdefs.h <<\EOF
 #define TOLOWER_BROKEN 1
 EOF
 
-                echo "$as_me:34997: result: no" >&5
+		echo "$as_me:35496: result: no" >&5
 echo "${ECHO_T}no" >&6
 
 fi
@@ -35004,16 +35503,16 @@ fi
 # toupper is known to be broken on 4.2BSD by
 # not checking if input is a lowercase letter
 # /* #define toupper(c)	((c)-'a'+'A') */
-echo "$as_me:35007: checking for working toupper()" >&5
+echo "$as_me:35506: checking for working toupper()" >&5
 echo $ECHO_N "checking for working toupper()... $ECHO_C" >&6
 if test "$cross_compiling" = yes; then
 
-		echo "$as_me:35011: result: unknown" >&5
+		echo "$as_me:35510: result: unknown" >&5
 echo "${ECHO_T}unknown" >&6
 
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 35016 "configure"
+#line 35515 "configure"
 #include "confdefs.h"
 
 #include <ctype.h>
@@ -35028,18 +35527,18 @@ int main(void) {
 }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:35031: \"$ac_link\"") >&5
+if { (eval echo "$as_me:35530: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:35034: \$? = $ac_status" >&5
+  echo "$as_me:35533: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:35036: \"$ac_try\"") >&5
+  { (eval echo "$as_me:35535: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:35039: \$? = $ac_status" >&5
+  echo "$as_me:35538: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
-		echo "$as_me:35042: result: yes" >&5
+		echo "$as_me:35541: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 
 else
@@ -35051,30 +35550,30 @@ cat >>confdefs.h <<\EOF
 #define TOUPPER_BROKEN 1
 EOF
 
-		echo "$as_me:35054: result: no" >&5
+		echo "$as_me:35553: result: no" >&5
 echo "${ECHO_T}no" >&6
 
 fi
 rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext"
 fi
 
-echo "$as_me:35061: checking for stdnoreturn.h" >&5
+echo "$as_me:35560: checking for stdnoreturn.h" >&5
 echo $ECHO_N "checking for stdnoreturn.h... $ECHO_C" >&6
 if test "${ac_cv_header_stdnoreturn_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 35067 "configure"
+#line 35566 "configure"
 #include "confdefs.h"
 #include <stdnoreturn.h>
 _ACEOF
-if { (eval echo "$as_me:35071: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:35570: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:35077: \$? = $ac_status" >&5
+  echo "$as_me:35576: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -35093,14 +35592,14 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:35096: result: $ac_cv_header_stdnoreturn_h" >&5
+echo "$as_me:35595: result: $ac_cv_header_stdnoreturn_h" >&5
 echo "${ECHO_T}$ac_cv_header_stdnoreturn_h" >&6
 if test "$ac_cv_header_stdnoreturn_h" = yes; then
 
-	echo "$as_me:35100: checking for C11 _Noreturn feature" >&5
+	echo "$as_me:35599: checking for C11 _Noreturn feature" >&5
 echo $ECHO_N "checking for C11 _Noreturn feature... $ECHO_C" >&6
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 35103 "configure"
+#line 35602 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -35109,31 +35608,36 @@ static _Noreturn void giveup(void) { exi
 int
 main (void)
 {
-if (feof(stdin)) giveup()
+
+#if defined(__STDC__) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)
+	if (feof(stdin)) giveup()
+#else
+#	error "__STDC_VERSION__ < 201112L"
+#endif
   ;
   return 0;
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:35118: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:35622: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:35121: \$? = $ac_status" >&5
+  echo "$as_me:35625: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:35124: \"$ac_try\"") >&5
+  { (eval echo "$as_me:35628: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:35127: \$? = $ac_status" >&5
+  echo "$as_me:35631: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_c11_noreturn=yes
-	echo "$as_me:35130: result: $cf_cv_c11_noreturn" >&5
+	echo "$as_me:35634: result: $cf_cv_c11_noreturn" >&5
 echo "${ECHO_T}$cf_cv_c11_noreturn" >&6
 else
   echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
 cf_cv_c11_noreturn=no
-	echo "$as_me:35136: result: $cf_cv_c11_noreturn" >&5
+	echo "$as_me:35640: result: $cf_cv_c11_noreturn" >&5
 echo "${ECHO_T}$cf_cv_c11_noreturn" >&6
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
@@ -35143,7 +35647,7 @@ else
 
 fi
 
-if test "$cf_cv_c11_noreturn" = yes; then
+if test x"$cf_cv_c11_noreturn" = "xyes" && test x"$ac_cv_header_stdnoreturn_h" = "xyes"; then
 
 cat >>confdefs.h <<\EOF
 #define HAVE_STDNORETURN_H 1
@@ -35153,30 +35657,248 @@ cat >>confdefs.h <<EOF
 #define STDC_NORETURN _Noreturn
 EOF
 
-	HAVE_STDNORETURN_H=1
+fi
+
+# signal type - all but POSIX is untested
+
+for cf_hdr in signal.h
+do
+	echo "$as_me:35666: checking for $cf_hdr" >&5
+echo $ECHO_N "checking for $cf_hdr... $ECHO_C" >&6
+	cat >"conftest.$ac_ext" <<_ACEOF
+#line 35669 "configure"
+#include "confdefs.h"
+
+#include <sys/types.h>
+#include <$cf_hdr>
+
+_ACEOF
+if { (eval echo "$as_me:35676: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+  (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  $EGREP -v '^ *\+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:35682: \$? = $ac_status" >&5
+  (exit "$ac_status"); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
 else
-	HAVE_STDNORETURN_H=0
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  cf_found=yes
+else
+  echo "$as_me: failed program was:" >&5
+  cat "conftest.$ac_ext" >&5
+  cf_found=no
+fi
+rm -f conftest.err "conftest.$ac_ext"
+echo "$as_me:35700: result: $cf_found" >&5
+echo "${ECHO_T}$cf_found" >&6
+if test $cf_found = yes ; then
+
+cf_tr_hdr=`echo "$cf_hdr" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+	cat >>confdefs.h <<EOF
+#define HAVE_${cf_tr_hdr} 1
+EOF
+
+fi
+done
+
+echo "$as_me:35713: checking for POSIX signal support" >&5
+echo $ECHO_N "checking for POSIX signal support... $ECHO_C" >&6
+cat >"conftest.$ac_ext" <<_ACEOF
+#line 35716 "configure"
+#include "confdefs.h"
+
+#ifdef HAVE_STDDEF_H
+#	include <stddef.h>
+#endif /* HAVE_STDDEF_H */
+#ifdef HAVE_SIGNAL_H
+#	include <signal.h>
+#endif /* HAVE_SIGNAL_H */
+
+int
+main (void)
+{
+
+sigset_t set;
+
+sigfillset(&set);
+(void) sigprocmask(SIG_SETMASK, &set, NULL);
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f "conftest.$ac_objext"
+if { (eval echo "$as_me:35740: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:35743: \$? = $ac_status" >&5
+  (exit "$ac_status"); } &&
+         { ac_try='test -s "conftest.$ac_objext"'
+  { (eval echo "$as_me:35746: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:35749: \$? = $ac_status" >&5
+  (exit "$ac_status"); }; }; then
+
+have_posix_signal=yes
+cat >>confdefs.h <<\EOF
+#define HAVE_POSIX_SIGNALS 1
+EOF
+
+else
+  echo "$as_me: failed program was:" >&5
+cat "conftest.$ac_ext" >&5
+
+have_posix_signal=no
+
+fi
+rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+echo "$as_me:35765: result: $have_posix_signal" >&5
+echo "${ECHO_T}$have_posix_signal" >&6
+
+if test x"$have_posix_signal" != "xyes"; then
+
+echo "$as_me:35770: checking for BSD signal support" >&5
+echo $ECHO_N "checking for BSD signal support... $ECHO_C" >&6
+cat >"conftest.$ac_ext" <<_ACEOF
+#line 35773 "configure"
+#include "confdefs.h"
+
+#ifdef HAVE_SIGNAL_H
+#	include <signal.h>
+#endif /* HAVE_SIGNAL_H */
+
+int
+main (void)
+{
+
+sigblock(0);
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f "conftest.$ac_objext"
+if { (eval echo "$as_me:35791: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:35794: \$? = $ac_status" >&5
+  (exit "$ac_status"); } &&
+         { ac_try='test -s "conftest.$ac_objext"'
+  { (eval echo "$as_me:35797: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:35800: \$? = $ac_status" >&5
+  (exit "$ac_status"); }; }; then
+
+have_bsd_signal=yes
+cat >>confdefs.h <<\EOF
+#define HAVE_BSD_SIGNALS 1
+EOF
+
+else
+  echo "$as_me: failed program was:" >&5
+cat "conftest.$ac_ext" >&5
+
+have_bsd_signal=no
+
+fi
+rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+echo "$as_me:35816: result: $have_bsd_signal" >&5
+echo "${ECHO_T}$have_bsd_signal" >&6
+
+fi
+
+if test x"$have_posix_signal" != "xyes" && test x"$have_bsd_signal" != "xyes"; then
+
+echo "$as_me:35823: checking for SYSV signal support" >&5
+echo $ECHO_N "checking for SYSV signal support... $ECHO_C" >&6
+cat >"conftest.$ac_ext" <<_ACEOF
+#line 35826 "configure"
+#include "confdefs.h"
+
+#ifdef HAVE_SIGNAL_H
+#	include <signal.h>
+#endif /* HAVE_SIGNAL_H */
+
+int
+main (void)
+{
+
+sigignore(0);
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f "conftest.$ac_objext"
+if { (eval echo "$as_me:35844: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:35847: \$? = $ac_status" >&5
+  (exit "$ac_status"); } &&
+         { ac_try='test -s "conftest.$ac_objext"'
+  { (eval echo "$as_me:35850: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:35853: \$? = $ac_status" >&5
+  (exit "$ac_status"); }; }; then
+
+have_sysv_signal=yes
+cat >>confdefs.h <<\EOF
+#define HAVE_SYSV_SIGNALS 1
+EOF
+
+else
+  echo "$as_me: failed program was:" >&5
+cat "conftest.$ac_ext" >&5
+
+have_sysv_signal=no
+
+fi
+rm -f "conftest.$ac_objext" "conftest.$ac_ext"
+echo "$as_me:35869: result: $have_sysv_signal" >&5
+echo "${ECHO_T}$have_sysv_signal" >&6
+
+fi
+
+if test x"$have_posix_signal" = "xno" && test x"$have_bsd_signal" = "xno" && test x"$have_sysv_signal" = "xno"; then
+  cat >>confdefs.h <<\EOF
+#define HAVE_NO_SIGNAL_BLOCKING 1
+EOF
+
+{ echo "$as_me:35879: WARNING: not having blockable signals" >&5
+echo "$as_me: WARNING: not having blockable signals" >&2;}
 fi
 
 for cf_hdr in iconv.h
 do
-	echo "$as_me:35163: checking for $cf_hdr" >&5
+	echo "$as_me:35885: checking for $cf_hdr" >&5
 echo $ECHO_N "checking for $cf_hdr... $ECHO_C" >&6
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 35166 "configure"
+#line 35888 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
 #include <$cf_hdr>
 
 _ACEOF
-if { (eval echo "$as_me:35173: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:35895: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:35179: \$? = $ac_status" >&5
+  echo "$as_me:35901: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -35194,7 +35916,7 @@ else
   cf_found=no
 fi
 rm -f conftest.err "conftest.$ac_ext"
-echo "$as_me:35197: result: $cf_found" >&5
+echo "$as_me:35919: result: $cf_found" >&5
 echo "${ECHO_T}$cf_found" >&6
 if test $cf_found = yes ; then
 
@@ -35207,16 +35929,16 @@ EOF
 fi
 done
 
-echo "$as_me:35210: checking for iconv_open() //TRANSLIT extension" >&5
+echo "$as_me:35932: checking for iconv_open() //TRANSLIT extension" >&5
 echo $ECHO_N "checking for iconv_open() //TRANSLIT extension... $ECHO_C" >&6
 if test "$cross_compiling" = yes; then
 
-		echo "$as_me:35214: result: unknown" >&5
+		echo "$as_me:35936: result: unknown" >&5
 echo "${ECHO_T}unknown" >&6
 
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 35219 "configure"
+#line 35941 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_ICONV_H
@@ -35234,22 +35956,22 @@ int main(void) {
 }
 _ACEOF
 rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:35237: \"$ac_link\"") >&5
+if { (eval echo "$as_me:35959: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:35240: \$? = $ac_status" >&5
+  echo "$as_me:35962: \$? = $ac_status" >&5
   (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
-  { (eval echo "$as_me:35242: \"$ac_try\"") >&5
+  { (eval echo "$as_me:35964: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:35245: \$? = $ac_status" >&5
+  echo "$as_me:35967: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
 
 cat >>confdefs.h <<\EOF
 #define HAVE_ICONV_OPEN_TRANSLIT 1
 EOF
 
-		echo "$as_me:35252: result: yes" >&5
+		echo "$as_me:35974: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 
 else
@@ -35257,13 +35979,70 @@ else
 echo "$as_me: failed program was:" >&5
 cat "conftest.$ac_ext" >&5
 
-		echo "$as_me:35260: result: no" >&5
+		echo "$as_me:35982: result: no" >&5
 echo "${ECHO_T}no" >&6
 
 fi
 rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext"
 fi
 
+# TLI, Transport Layer Interface; SVR3, SVR4
+# TODO check for funcs: t_sync(), t_open(), t_bind(), t_connect(), t_alloc()
+#                       t_free(), t_close(), t_error()
+#      check for types: t_errno, t_call
+#      libs may be covered already by CF_NETLIBS
+# XTI, X/Open Transport Interface
+#      AC_CHECK_LIB([xnet], [t_open])
+
+for cf_hdr in tiuser.h sys/tiuser.h
+do
+	echo "$as_me:35999: checking for $cf_hdr" >&5
+echo $ECHO_N "checking for $cf_hdr... $ECHO_C" >&6
+	cat >"conftest.$ac_ext" <<_ACEOF
+#line 36002 "configure"
+#include "confdefs.h"
+
+#include <sys/types.h>
+#include <$cf_hdr>
+
+_ACEOF
+if { (eval echo "$as_me:36009: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+  (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  $EGREP -v '^ *\+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:36015: \$? = $ac_status" >&5
+  (exit "$ac_status"); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  cf_found=yes
+else
+  echo "$as_me: failed program was:" >&5
+  cat "conftest.$ac_ext" >&5
+  cf_found=no
+fi
+rm -f conftest.err "conftest.$ac_ext"
+echo "$as_me:36033: result: $cf_found" >&5
+echo "${ECHO_T}$cf_found" >&6
+if test $cf_found = yes ; then
+
+cf_tr_hdr=`echo "$cf_hdr" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+	cat >>confdefs.h <<EOF
+#define HAVE_${cf_tr_hdr} 1
+EOF
+
+fi
+done
+
 # FIXME / TESTME
 # locale is broken on cygwin < 1.7.0
 # group/other bits don't work on cygwin < 1.7.0
@@ -35295,13 +36074,13 @@ EOF
 
 				;;
 			*)
-				echo "$as_me:35298: checking for link" >&5
+				echo "$as_me:36077: checking for link" >&5
 echo $ECHO_N "checking for link... $ECHO_C" >&6
 if test "${ac_cv_func_link+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 35304 "configure"
+#line 36083 "configure"
 #include "confdefs.h"
 #define link autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -35332,16 +36111,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:35335: \"$ac_link\"") >&5
+if { (eval echo "$as_me:36114: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:35338: \$? = $ac_status" >&5
+  echo "$as_me:36117: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:35341: \"$ac_try\"") >&5
+  { (eval echo "$as_me:36120: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:35344: \$? = $ac_status" >&5
+  echo "$as_me:36123: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_link=yes
 else
@@ -35351,7 +36130,7 @@ ac_cv_func_link=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:35354: result: $ac_cv_func_link" >&5
+echo "$as_me:36133: result: $ac_cv_func_link" >&5
 echo "${ECHO_T}$ac_cv_func_link" >&6
 if test "$ac_cv_func_link" = yes; then
 
@@ -35372,13 +36151,13 @@ EOF
 
 		;;
 	*)
-		echo "$as_me:35375: checking for link" >&5
+		echo "$as_me:36154: checking for link" >&5
 echo $ECHO_N "checking for link... $ECHO_C" >&6
 if test "${ac_cv_func_link+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 35381 "configure"
+#line 36160 "configure"
 #include "confdefs.h"
 #define link autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -35409,16 +36188,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:35412: \"$ac_link\"") >&5
+if { (eval echo "$as_me:36191: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:35415: \$? = $ac_status" >&5
+  echo "$as_me:36194: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:35418: \"$ac_try\"") >&5
+  { (eval echo "$as_me:36197: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:35421: \$? = $ac_status" >&5
+  echo "$as_me:36200: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_link=yes
 else
@@ -35428,7 +36207,7 @@ ac_cv_func_link=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:35431: result: $ac_cv_func_link" >&5
+echo "$as_me:36210: result: $ac_cv_func_link" >&5
 echo "${ECHO_T}$ac_cv_func_link" >&6
 if test "$ac_cv_func_link" = yes; then
   cat >>confdefs.h <<\EOF
@@ -35443,7 +36222,7 @@ if test "$cf_cv_termlib" = pdcurses ; th
 
 cf_x_athena=${cf_x_athena:-Xaw}
 
-echo "$as_me:35446: checking if you want to link with Xaw 3d library" >&5
+echo "$as_me:36225: checking if you want to link with Xaw 3d library" >&5
 echo $ECHO_N "checking if you want to link with Xaw 3d library... $ECHO_C" >&6
 withval=
 
@@ -35454,14 +36233,14 @@ if test "${with_Xaw3d+set}" = set; then
 fi;
 if test "$withval" = yes ; then
 	cf_x_athena=Xaw3d
-	echo "$as_me:35457: result: yes" >&5
+	echo "$as_me:36236: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 else
-	echo "$as_me:35460: result: no" >&5
+	echo "$as_me:36239: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
-echo "$as_me:35464: checking if you want to link with Xaw 3d xft library" >&5
+echo "$as_me:36243: checking if you want to link with Xaw 3d xft library" >&5
 echo $ECHO_N "checking if you want to link with Xaw 3d xft library... $ECHO_C" >&6
 withval=
 
@@ -35472,14 +36251,14 @@ if test "${with_Xaw3dxft+set}" = set; th
 fi;
 if test "$withval" = yes ; then
 	cf_x_athena=Xaw3dxft
-	echo "$as_me:35475: result: yes" >&5
+	echo "$as_me:36254: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 else
-	echo "$as_me:35478: result: no" >&5
+	echo "$as_me:36257: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
-echo "$as_me:35482: checking if you want to link with neXT Athena library" >&5
+echo "$as_me:36261: checking if you want to link with neXT Athena library" >&5
 echo $ECHO_N "checking if you want to link with neXT Athena library... $ECHO_C" >&6
 withval=
 
@@ -35490,14 +36269,14 @@ if test "${with_neXtaw+set}" = set; then
 fi;
 if test "$withval" = yes ; then
 	cf_x_athena=neXtaw
-	echo "$as_me:35493: result: yes" >&5
+	echo "$as_me:36272: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 else
-	echo "$as_me:35496: result: no" >&5
+	echo "$as_me:36275: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
-echo "$as_me:35500: checking if you want to link with Athena-Plus library" >&5
+echo "$as_me:36279: checking if you want to link with Athena-Plus library" >&5
 echo $ECHO_N "checking if you want to link with Athena-Plus library... $ECHO_C" >&6
 withval=
 
@@ -35508,10 +36287,10 @@ if test "${with_XawPlus+set}" = set; the
 fi;
 if test "$withval" = yes ; then
 	cf_x_athena=XawPlus
-	echo "$as_me:35511: result: yes" >&5
+	echo "$as_me:36290: result: yes" >&5
 echo "${ECHO_T}yes" >&6
 else
-	echo "$as_me:35514: result: no" >&5
+	echo "$as_me:36293: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -35531,17 +36310,17 @@ if test "$PKG_CONFIG" != none ; then
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "$cf_athena_pkg"; then
 	test -n "$verbose" && echo "	found package $cf_athena_pkg" 1>&6
 
-echo "${as_me:-configure}:35534: testing found package $cf_athena_pkg ..." 1>&5
+echo "${as_me:-configure}:36313: testing found package $cf_athena_pkg ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "$cf_athena_pkg" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "$cf_athena_pkg" 2>/dev/null`"
 	test -n "$verbose" && echo "	package $cf_athena_pkg CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:35540: testing package $cf_athena_pkg CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:36319: testing package $cf_athena_pkg CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package $cf_athena_pkg LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:35544: testing package $cf_athena_pkg LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:36323: testing package $cf_athena_pkg LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -35672,20 +36451,20 @@ EOF
 			LIBS=`echo "$LIBS " | sed -e 's/  / /g' -e 's%-l'"$cf_trim_lib"' %%' -e 's/ $//'`
 			test -n "$verbose" && echo "	..trimmed $LIBS" 1>&6
 
-echo "${as_me:-configure}:35675: testing ..trimmed $LIBS ..." 1>&5
+echo "${as_me:-configure}:36454: testing ..trimmed $LIBS ..." 1>&5
 
 			;;
 		esac
 	done
 
-echo "$as_me:35681: checking for usable $cf_x_athena/Xmu package" >&5
+echo "$as_me:36460: checking for usable $cf_x_athena/Xmu package" >&5
 echo $ECHO_N "checking for usable $cf_x_athena/Xmu package... $ECHO_C" >&6
 if test "${cf_cv_xaw_compat+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 35688 "configure"
+#line 36467 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -35703,16 +36482,16 @@ int check = XmuCompareISOLatin1("big", "
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:35706: \"$ac_link\"") >&5
+if { (eval echo "$as_me:36485: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:35709: \$? = $ac_status" >&5
+  echo "$as_me:36488: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:35712: \"$ac_try\"") >&5
+  { (eval echo "$as_me:36491: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:35715: \$? = $ac_status" >&5
+  echo "$as_me:36494: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_xaw_compat=yes
 else
@@ -35722,7 +36501,7 @@ cf_cv_xaw_compat=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:35725: result: $cf_cv_xaw_compat" >&5
+echo "$as_me:36504: result: $cf_cv_xaw_compat" >&5
 echo "${ECHO_T}$cf_cv_xaw_compat" >&6
 
 			if test "$cf_cv_xaw_compat" = no
@@ -35734,7 +36513,7 @@ echo "${ECHO_T}$cf_cv_xaw_compat" >&6
 				*)
 					test -n "$verbose" && echo "	work around broken package" 1>&6
 
-echo "${as_me:-configure}:35737: testing work around broken package ..." 1>&5
+echo "${as_me:-configure}:36516: testing work around broken package ..." 1>&5
 
 					cf_save_xmu="$LIBS"
 					cf_first_lib=`echo "$cf_save_xmu" | sed -e 's/^  *//' -e 's/ .*//'`
@@ -35742,17 +36521,17 @@ echo "${as_me:-configure}:35737: testing
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "xmu"; then
 	test -n "$verbose" && echo "	found package xmu" 1>&6
 
-echo "${as_me:-configure}:35745: testing found package xmu ..." 1>&5
+echo "${as_me:-configure}:36524: testing found package xmu ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "xmu" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "xmu" 2>/dev/null`"
 	test -n "$verbose" && echo "	package xmu CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:35751: testing package xmu CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:36530: testing package xmu CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package xmu LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:35755: testing package xmu LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:36534: testing package xmu LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -35872,12 +36651,12 @@ LIBS="$cf_add_libs"
 
 test -n "$verbose" && echo "	...before $LIBS" 1>&6
 
-echo "${as_me:-configure}:35875: testing ...before $LIBS ..." 1>&5
+echo "${as_me:-configure}:36654: testing ...before $LIBS ..." 1>&5
 
 LIBS=`echo "$LIBS" | sed -e "s/[ 	][ 	]*/ /g" -e "s%$cf_first_lib %$cf_first_lib $cf_pkgconfig_libs %" -e 's%  % %g'`
 test -n "$verbose" && echo "	...after  $LIBS" 1>&6
 
-echo "${as_me:-configure}:35880: testing ...after  $LIBS ..." 1>&5
+echo "${as_me:-configure}:36659: testing ...after  $LIBS ..." 1>&5
 
 else
 	cf_pkgconfig_incs=
@@ -35885,12 +36664,12 @@ else
 
 test -n "$verbose" && echo "	...before $LIBS" 1>&6
 
-echo "${as_me:-configure}:35888: testing ...before $LIBS ..." 1>&5
+echo "${as_me:-configure}:36667: testing ...before $LIBS ..." 1>&5
 
 LIBS=`echo "$LIBS" | sed -e "s/[ 	][ 	]*/ /g" -e "s%$cf_first_lib %$cf_first_lib -lXmu %" -e 's%  % %g'`
 test -n "$verbose" && echo "	...after  $LIBS" 1>&6
 
-echo "${as_me:-configure}:35893: testing ...after  $LIBS ..." 1>&5
+echo "${as_me:-configure}:36672: testing ...after  $LIBS ..." 1>&5
 
 fi
 
@@ -35901,7 +36680,7 @@ fi
 			LIBS=`echo "$LIBS " | sed -e 's/  / /g' -e 's%-l'"$cf_trim_lib"' %%' -e 's/ $//'`
 			test -n "$verbose" && echo "	..trimmed $LIBS" 1>&6
 
-echo "${as_me:-configure}:35904: testing ..trimmed $LIBS ..." 1>&5
+echo "${as_me:-configure}:36683: testing ..trimmed $LIBS ..." 1>&5
 
 			;;
 		esac
@@ -35926,17 +36705,17 @@ if test -z "$cf_x_athena_lib" ; then
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "Xext"; then
 	test -n "$verbose" && echo "	found package Xext" 1>&6
 
-echo "${as_me:-configure}:35929: testing found package Xext ..." 1>&5
+echo "${as_me:-configure}:36708: testing found package Xext ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "Xext" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "Xext" 2>/dev/null`"
 	test -n "$verbose" && echo "	package Xext CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:35935: testing package Xext CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:36714: testing package Xext CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package Xext LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:35939: testing package Xext LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:36718: testing package Xext LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -36057,7 +36836,7 @@ else
 	cf_pkgconfig_incs=
 	cf_pkgconfig_libs=
 
-	echo "$as_me:36060: checking for XextCreateExtension in -lXext" >&5
+	echo "$as_me:36839: checking for XextCreateExtension in -lXext" >&5
 echo $ECHO_N "checking for XextCreateExtension in -lXext... $ECHO_C" >&6
 if test "${ac_cv_lib_Xext_XextCreateExtension+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -36065,7 +36844,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXext  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 36068 "configure"
+#line 36847 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -36084,16 +36863,16 @@ XextCreateExtension ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:36087: \"$ac_link\"") >&5
+if { (eval echo "$as_me:36866: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:36090: \$? = $ac_status" >&5
+  echo "$as_me:36869: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:36093: \"$ac_try\"") >&5
+  { (eval echo "$as_me:36872: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:36096: \$? = $ac_status" >&5
+  echo "$as_me:36875: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_Xext_XextCreateExtension=yes
 else
@@ -36104,7 +36883,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:36107: result: $ac_cv_lib_Xext_XextCreateExtension" >&5
+echo "$as_me:36886: result: $ac_cv_lib_Xext_XextCreateExtension" >&5
 echo "${ECHO_T}$ac_cv_lib_Xext_XextCreateExtension" >&6
 if test "$ac_cv_lib_Xext_XextCreateExtension" = yes; then
 
@@ -36140,17 +36919,17 @@ then
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "x11"; then
 	test -n "$verbose" && echo "	found package x11" 1>&6
 
-echo "${as_me:-configure}:36143: testing found package x11 ..." 1>&5
+echo "${as_me:-configure}:36922: testing found package x11 ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "x11" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "x11" 2>/dev/null`"
 	test -n "$verbose" && echo "	package x11 CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:36149: testing package x11 CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:36928: testing package x11 CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package x11 LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:36153: testing package x11 LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:36932: testing package x11 LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -36270,24 +37049,24 @@ LIBS="$cf_add_libs"
 else
 	cf_pkgconfig_incs=
 	cf_pkgconfig_libs=
-	{ echo "$as_me:36273: WARNING: unable to find X11 library" >&5
+	{ echo "$as_me:37052: WARNING: unable to find X11 library" >&5
 echo "$as_me: WARNING: unable to find X11 library" >&2;}
 fi
 
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "ice"; then
 	test -n "$verbose" && echo "	found package ice" 1>&6
 
-echo "${as_me:-configure}:36280: testing found package ice ..." 1>&5
+echo "${as_me:-configure}:37059: testing found package ice ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "ice" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "ice" 2>/dev/null`"
 	test -n "$verbose" && echo "	package ice CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:36286: testing package ice CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:37065: testing package ice CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package ice LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:36290: testing package ice LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:37069: testing package ice LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -36407,24 +37186,24 @@ LIBS="$cf_add_libs"
 else
 	cf_pkgconfig_incs=
 	cf_pkgconfig_libs=
-	{ echo "$as_me:36410: WARNING: unable to find ICE library" >&5
+	{ echo "$as_me:37189: WARNING: unable to find ICE library" >&5
 echo "$as_me: WARNING: unable to find ICE library" >&2;}
 fi
 
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "sm"; then
 	test -n "$verbose" && echo "	found package sm" 1>&6
 
-echo "${as_me:-configure}:36417: testing found package sm ..." 1>&5
+echo "${as_me:-configure}:37196: testing found package sm ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "sm" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "sm" 2>/dev/null`"
 	test -n "$verbose" && echo "	package sm CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:36423: testing package sm CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:37202: testing package sm CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package sm LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:36427: testing package sm LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:37206: testing package sm LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -36544,24 +37323,24 @@ LIBS="$cf_add_libs"
 else
 	cf_pkgconfig_incs=
 	cf_pkgconfig_libs=
-	{ echo "$as_me:36547: WARNING: unable to find SM library" >&5
+	{ echo "$as_me:37326: WARNING: unable to find SM library" >&5
 echo "$as_me: WARNING: unable to find SM library" >&2;}
 fi
 
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "xt"; then
 	test -n "$verbose" && echo "	found package xt" 1>&6
 
-echo "${as_me:-configure}:36554: testing found package xt ..." 1>&5
+echo "${as_me:-configure}:37333: testing found package xt ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "xt" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "xt" 2>/dev/null`"
 	test -n "$verbose" && echo "	package xt CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:36560: testing package xt CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:37339: testing package xt CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package xt LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:36564: testing package xt LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:37343: testing package xt LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -36681,7 +37460,7 @@ LIBS="$cf_add_libs"
 else
 	cf_pkgconfig_incs=
 	cf_pkgconfig_libs=
-	{ echo "$as_me:36684: WARNING: unable to find Xt library" >&5
+	{ echo "$as_me:37463: WARNING: unable to find Xt library" >&5
 echo "$as_me: WARNING: unable to find Xt library" >&2;}
 fi
 
@@ -36694,17 +37473,17 @@ cf_have_X_LIBS=no
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "xt"; then
 	test -n "$verbose" && echo "	found package xt" 1>&6
 
-echo "${as_me:-configure}:36697: testing found package xt ..." 1>&5
+echo "${as_me:-configure}:37476: testing found package xt ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "xt" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "xt" 2>/dev/null`"
 	test -n "$verbose" && echo "	package xt CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:36703: testing package xt CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:37482: testing package xt CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package xt LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:36707: testing package xt LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:37486: testing package xt LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -36825,14 +37604,14 @@ LIBS="$cf_add_libs"
 		;;
 	*)
 # we have an "xt" package, but it may omit Xt's dependency on X11
-echo "$as_me:36828: checking for usable X dependency" >&5
+echo "$as_me:37607: checking for usable X dependency" >&5
 echo $ECHO_N "checking for usable X dependency... $ECHO_C" >&6
 if test "${cf_cv_xt_x11_compat+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 36835 "configure"
+#line 37614 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -36852,16 +37631,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:36855: \"$ac_link\"") >&5
+if { (eval echo "$as_me:37634: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:36858: \$? = $ac_status" >&5
+  echo "$as_me:37637: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:36861: \"$ac_try\"") >&5
+  { (eval echo "$as_me:37640: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:36864: \$? = $ac_status" >&5
+  echo "$as_me:37643: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_xt_x11_compat=yes
 else
@@ -36871,30 +37650,30 @@ cf_cv_xt_x11_compat=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:36874: result: $cf_cv_xt_x11_compat" >&5
+echo "$as_me:37653: result: $cf_cv_xt_x11_compat" >&5
 echo "${ECHO_T}$cf_cv_xt_x11_compat" >&6
 		if test "$cf_cv_xt_x11_compat" = no
 		then
 			test -n "$verbose" && echo "	work around broken X11 dependency" 1>&6
 
-echo "${as_me:-configure}:36880: testing work around broken X11 dependency ..." 1>&5
+echo "${as_me:-configure}:37659: testing work around broken X11 dependency ..." 1>&5
 
 			# 2010/11/19 - good enough until a working Xt on Xcb is delivered.
 
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "x11"; then
 	test -n "$verbose" && echo "	found package x11" 1>&6
 
-echo "${as_me:-configure}:36887: testing found package x11 ..." 1>&5
+echo "${as_me:-configure}:37666: testing found package x11 ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "x11" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "x11" 2>/dev/null`"
 	test -n "$verbose" && echo "	package x11 CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:36893: testing package x11 CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:37672: testing package x11 CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package x11 LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:36897: testing package x11 LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:37676: testing package x11 LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -37017,12 +37796,12 @@ else
 
 test -n "$verbose" && echo "	...before $LIBS" 1>&6
 
-echo "${as_me:-configure}:37020: testing ...before $LIBS ..." 1>&5
+echo "${as_me:-configure}:37799: testing ...before $LIBS ..." 1>&5
 
 LIBS=`echo "$LIBS" | sed -e "s/[ 	][ 	]*/ /g" -e "s%-lXt %-lXt -lX11 %" -e 's%  % %g'`
 test -n "$verbose" && echo "	...after  $LIBS" 1>&6
 
-echo "${as_me:-configure}:37025: testing ...after  $LIBS ..." 1>&5
+echo "${as_me:-configure}:37804: testing ...after  $LIBS ..." 1>&5
 
 fi
 
@@ -37030,14 +37809,14 @@ fi
 		;;
 	esac
 
-echo "$as_me:37033: checking for usable X Toolkit package" >&5
+echo "$as_me:37812: checking for usable X Toolkit package" >&5
 echo $ECHO_N "checking for usable X Toolkit package... $ECHO_C" >&6
 if test "${cf_cv_xt_ice_compat+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 37040 "configure"
+#line 37819 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -37053,16 +37832,16 @@ int num = IceConnectionNumber(0); (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:37056: \"$ac_link\"") >&5
+if { (eval echo "$as_me:37835: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:37059: \$? = $ac_status" >&5
+  echo "$as_me:37838: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:37062: \"$ac_try\"") >&5
+  { (eval echo "$as_me:37841: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:37065: \$? = $ac_status" >&5
+  echo "$as_me:37844: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_xt_ice_compat=yes
 else
@@ -37072,7 +37851,7 @@ cf_cv_xt_ice_compat=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:37075: result: $cf_cv_xt_ice_compat" >&5
+echo "$as_me:37854: result: $cf_cv_xt_ice_compat" >&5
 echo "${ECHO_T}$cf_cv_xt_ice_compat" >&6
 
 	if test "$cf_cv_xt_ice_compat" = no
@@ -37086,22 +37865,22 @@ echo "${ECHO_T}$cf_cv_xt_ice_compat" >&6
 			*)
 				test -n "$verbose" && echo "	work around broken ICE dependency" 1>&6
 
-echo "${as_me:-configure}:37089: testing work around broken ICE dependency ..." 1>&5
+echo "${as_me:-configure}:37868: testing work around broken ICE dependency ..." 1>&5
 
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "ice"; then
 	test -n "$verbose" && echo "	found package ice" 1>&6
 
-echo "${as_me:-configure}:37094: testing found package ice ..." 1>&5
+echo "${as_me:-configure}:37873: testing found package ice ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "ice" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "ice" 2>/dev/null`"
 	test -n "$verbose" && echo "	package ice CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:37100: testing package ice CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:37879: testing package ice CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package ice LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:37104: testing package ice LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:37883: testing package ice LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -37220,17 +37999,17 @@ LIBS="$cf_add_libs"
 if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "sm"; then
 	test -n "$verbose" && echo "	found package sm" 1>&6
 
-echo "${as_me:-configure}:37223: testing found package sm ..." 1>&5
+echo "${as_me:-configure}:38002: testing found package sm ..." 1>&5
 
 	cf_pkgconfig_incs="`$PKG_CONFIG --cflags "sm" 2>/dev/null`"
 	cf_pkgconfig_libs="`$PKG_CONFIG --libs   "sm" 2>/dev/null`"
 	test -n "$verbose" && echo "	package sm CFLAGS: $cf_pkgconfig_incs" 1>&6
 
-echo "${as_me:-configure}:37229: testing package sm CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+echo "${as_me:-configure}:38008: testing package sm CFLAGS: $cf_pkgconfig_incs ..." 1>&5
 
 	test -n "$verbose" && echo "	package sm LIBS: $cf_pkgconfig_libs" 1>&6
 
-echo "${as_me:-configure}:37233: testing package sm LIBS: $cf_pkgconfig_libs ..." 1>&5
+echo "${as_me:-configure}:38012: testing package sm LIBS: $cf_pkgconfig_libs ..." 1>&5
 
 cf_fix_cppflags=no
 cf_new_cflags=
@@ -37359,12 +38138,12 @@ else
 
 test -n "$verbose" && echo "	...before $LIBS" 1>&6
 
-echo "${as_me:-configure}:37362: testing ...before $LIBS ..." 1>&5
+echo "${as_me:-configure}:38141: testing ...before $LIBS ..." 1>&5
 
 LIBS=`echo "$LIBS" | sed -e "s/[ 	][ 	]*/ /g" -e "s%-lXt %-lXt $X_PRE_LIBS %" -e 's%  % %g'`
 test -n "$verbose" && echo "	...after  $LIBS" 1>&6
 
-echo "${as_me:-configure}:37367: testing ...after  $LIBS ..." 1>&5
+echo "${as_me:-configure}:38146: testing ...after  $LIBS ..." 1>&5
 
 fi
 
@@ -37384,7 +38163,7 @@ else
 
 test -n "$verbose" && echo "	checking additions to CFLAGS" 1>&6
 
-echo "${as_me:-configure}:37387: testing checking additions to CFLAGS ..." 1>&5
+echo "${as_me:-configure}:38166: testing checking additions to CFLAGS ..." 1>&5
 
 cf_check_cflags="$CFLAGS"
 cf_check_cppflags="$CPPFLAGS"
@@ -37469,7 +38248,7 @@ done
 if test -n "$cf_new_cflags" ; then
 	test -n "$verbose" && echo "	add to \$CFLAGS $cf_new_cflags" 1>&6
 
-echo "${as_me:-configure}:37472: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5
+echo "${as_me:-configure}:38251: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5
 
 	test -n "$CFLAGS" && CFLAGS="$CFLAGS "
 	CFLAGS="${CFLAGS}$cf_new_cflags"
@@ -37479,7 +38258,7 @@ fi
 if test -n "$cf_new_cppflags" ; then
 	test -n "$verbose" && echo "	add to \$CPPFLAGS $cf_new_cppflags" 1>&6
 
-echo "${as_me:-configure}:37482: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5
+echo "${as_me:-configure}:38261: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5
 
 	test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
 	CPPFLAGS="${CPPFLAGS}$cf_new_cppflags"
@@ -37489,7 +38268,7 @@ fi
 if test -n "$cf_new_extra_cppflags" ; then
 	test -n "$verbose" && echo "	add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags" 1>&6
 
-echo "${as_me:-configure}:37492: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5
+echo "${as_me:-configure}:38271: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5
 
 	test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS "
 	EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags"
@@ -37498,7 +38277,7 @@ fi
 
 if test "x$cf_check_cflags" != "x$CFLAGS" ; then
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 37501 "configure"
+#line 38280 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -37510,16 +38289,16 @@ printf("Hello world");
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:37513: \"$ac_link\"") >&5
+if { (eval echo "$as_me:38292: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:37516: \$? = $ac_status" >&5
+  echo "$as_me:38295: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:37519: \"$ac_try\"") >&5
+  { (eval echo "$as_me:38298: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:37522: \$? = $ac_status" >&5
+  echo "$as_me:38301: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -37527,12 +38306,12 @@ else
 cat "conftest.$ac_ext" >&5
 test -n "$verbose" && echo "	test-compile failed.  Undoing change to \$CFLAGS" 1>&6
 
-echo "${as_me:-configure}:37530: testing test-compile failed.  Undoing change to \$CFLAGS ..." 1>&5
+echo "${as_me:-configure}:38309: testing test-compile failed.  Undoing change to \$CFLAGS ..." 1>&5
 
 	 if test "x$cf_check_cppflags" != "x$CPPFLAGS" ; then
 		 test -n "$verbose" && echo "	but keeping change to \$CPPFLAGS" 1>&6
 
-echo "${as_me:-configure}:37535: testing but keeping change to \$CPPFLAGS ..." 1>&5
+echo "${as_me:-configure}:38314: testing but keeping change to \$CPPFLAGS ..." 1>&5
 
 	 fi
 	 CFLAGS="$cf_check_cflags"
@@ -37540,13 +38319,13 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
 
-	echo "$as_me:37543: checking for XOpenDisplay" >&5
+	echo "$as_me:38322: checking for XOpenDisplay" >&5
 echo $ECHO_N "checking for XOpenDisplay... $ECHO_C" >&6
 if test "${ac_cv_func_XOpenDisplay+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 37549 "configure"
+#line 38328 "configure"
 #include "confdefs.h"
 #define XOpenDisplay autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -37577,16 +38356,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:37580: \"$ac_link\"") >&5
+if { (eval echo "$as_me:38359: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:37583: \$? = $ac_status" >&5
+  echo "$as_me:38362: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:37586: \"$ac_try\"") >&5
+  { (eval echo "$as_me:38365: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:37589: \$? = $ac_status" >&5
+  echo "$as_me:38368: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_XOpenDisplay=yes
 else
@@ -37596,13 +38375,13 @@ ac_cv_func_XOpenDisplay=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:37599: result: $ac_cv_func_XOpenDisplay" >&5
+echo "$as_me:38378: result: $ac_cv_func_XOpenDisplay" >&5
 echo "${ECHO_T}$ac_cv_func_XOpenDisplay" >&6
 if test "$ac_cv_func_XOpenDisplay" = yes; then
   :
 else
 
-	echo "$as_me:37605: checking for XOpenDisplay in -lX11" >&5
+	echo "$as_me:38384: checking for XOpenDisplay in -lX11" >&5
 echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6
 if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -37610,7 +38389,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lX11  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 37613 "configure"
+#line 38392 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -37629,16 +38408,16 @@ XOpenDisplay ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:37632: \"$ac_link\"") >&5
+if { (eval echo "$as_me:38411: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:37635: \$? = $ac_status" >&5
+  echo "$as_me:38414: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:37638: \"$ac_try\"") >&5
+  { (eval echo "$as_me:38417: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:37641: \$? = $ac_status" >&5
+  echo "$as_me:38420: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_X11_XOpenDisplay=yes
 else
@@ -37649,7 +38428,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:37652: result: $ac_cv_lib_X11_XOpenDisplay" >&5
+echo "$as_me:38431: result: $ac_cv_lib_X11_XOpenDisplay" >&5
 echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6
 if test "$ac_cv_lib_X11_XOpenDisplay" = yes; then
 
@@ -37673,13 +38452,13 @@ fi
 
 fi
 
-	echo "$as_me:37676: checking for XtAppInitialize" >&5
+	echo "$as_me:38455: checking for XtAppInitialize" >&5
 echo $ECHO_N "checking for XtAppInitialize... $ECHO_C" >&6
 if test "${ac_cv_func_XtAppInitialize+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 37682 "configure"
+#line 38461 "configure"
 #include "confdefs.h"
 #define XtAppInitialize autoconf_temporary
 #include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
@@ -37710,16 +38489,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:37713: \"$ac_link\"") >&5
+if { (eval echo "$as_me:38492: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:37716: \$? = $ac_status" >&5
+  echo "$as_me:38495: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:37719: \"$ac_try\"") >&5
+  { (eval echo "$as_me:38498: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:37722: \$? = $ac_status" >&5
+  echo "$as_me:38501: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_func_XtAppInitialize=yes
 else
@@ -37729,13 +38508,13 @@ ac_cv_func_XtAppInitialize=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
-echo "$as_me:37732: result: $ac_cv_func_XtAppInitialize" >&5
+echo "$as_me:38511: result: $ac_cv_func_XtAppInitialize" >&5
 echo "${ECHO_T}$ac_cv_func_XtAppInitialize" >&6
 if test "$ac_cv_func_XtAppInitialize" = yes; then
   :
 else
 
-	echo "$as_me:37738: checking for XtAppInitialize in -lXt" >&5
+	echo "$as_me:38517: checking for XtAppInitialize in -lXt" >&5
 echo $ECHO_N "checking for XtAppInitialize in -lXt... $ECHO_C" >&6
 if test "${ac_cv_lib_Xt_XtAppInitialize+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -37743,7 +38522,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXt  $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 37746 "configure"
+#line 38525 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -37762,16 +38541,16 @@ XtAppInitialize ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:37765: \"$ac_link\"") >&5
+if { (eval echo "$as_me:38544: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:37768: \$? = $ac_status" >&5
+  echo "$as_me:38547: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:37771: \"$ac_try\"") >&5
+  { (eval echo "$as_me:38550: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:37774: \$? = $ac_status" >&5
+  echo "$as_me:38553: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_Xt_XtAppInitialize=yes
 else
@@ -37782,7 +38561,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:37785: result: $ac_cv_lib_Xt_XtAppInitialize" >&5
+echo "$as_me:38564: result: $ac_cv_lib_Xt_XtAppInitialize" >&5
 echo "${ECHO_T}$ac_cv_lib_Xt_XtAppInitialize" >&6
 if test "$ac_cv_lib_Xt_XtAppInitialize" = yes; then
 
@@ -37799,7 +38578,7 @@ fi
 fi
 
 if test "$cf_have_X_LIBS" = no ; then
-	{ echo "$as_me:37802: WARNING: Unable to successfully link X Toolkit library (-lXt) with
+	{ echo "$as_me:38581: WARNING: Unable to successfully link X Toolkit library (-lXt) with
 test program.  You will have to check and add the proper libraries by hand
 to makefile." >&5
 echo "$as_me: WARNING: Unable to successfully link X Toolkit library (-lXt) with
@@ -37840,14 +38619,14 @@ done
 	test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
 	CPPFLAGS="${CPPFLAGS}-I$cf_path/include"
 
-			echo "$as_me:37843: checking for $cf_test in $cf_path" >&5
+			echo "$as_me:38622: checking for $cf_test in $cf_path" >&5
 echo $ECHO_N "checking for $cf_test in $cf_path... $ECHO_C" >&6
 		else
-			echo "$as_me:37846: checking for $cf_test" >&5
+			echo "$as_me:38625: checking for $cf_test" >&5
 echo $ECHO_N "checking for $cf_test... $ECHO_C" >&6
 		fi
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 37850 "configure"
+#line 38629 "configure"
 #include "confdefs.h"
 
 #include <X11/Intrinsic.h>
@@ -37861,16 +38640,16 @@ main (void)
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:37864: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:38643: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:37867: \$? = $ac_status" >&5
+  echo "$as_me:38646: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:37870: \"$ac_try\"") >&5
+  { (eval echo "$as_me:38649: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:37873: \$? = $ac_status" >&5
+  echo "$as_me:38652: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_result=yes
 else
@@ -37879,7 +38658,7 @@ cat "conftest.$ac_ext" >&5
 cf_result=no
 fi
 rm -f "conftest.$ac_objext" "conftest.$ac_ext"
-		echo "$as_me:37882: result: $cf_result" >&5
+		echo "$as_me:38661: result: $cf_result" >&5
 echo "${ECHO_T}$cf_result" >&6
 
 LIBS="$cf_save_LIBS_CF_X_ATHENA_CPPFLAGS"
@@ -37895,7 +38674,7 @@ CPPFLAGS="$cf_save_CPPFLAGS_CF_X_ATHENA_
 done
 
 if test -z "$cf_x_athena_inc" ; then
-	{ echo "$as_me:37898: WARNING: Unable to find Athena header files" >&5
+	{ echo "$as_me:38677: WARNING: Unable to find Athena header files" >&5
 echo "$as_me: WARNING: Unable to find Athena header files" >&2;}
 elif test "$cf_x_athena_inc" != default ; then
 
@@ -37960,10 +38739,10 @@ for cf_add_1lib in $cf_add_0lib; do
 done
 LIBS="$cf_add_libs"
 
-		echo "$as_me:37963: checking for $cf_test in $cf_libs" >&5
+		echo "$as_me:38742: checking for $cf_test in $cf_libs" >&5
 echo $ECHO_N "checking for $cf_test in $cf_libs... $ECHO_C" >&6
 		cat >"conftest.$ac_ext" <<_ACEOF
-#line 37966 "configure"
+#line 38745 "configure"
 #include "confdefs.h"
 
 $ac_includes_default
@@ -37980,16 +38759,16 @@ $cf_test((XtAppContext) 0)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:37983: \"$ac_link\"") >&5
+if { (eval echo "$as_me:38762: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:37986: \$? = $ac_status" >&5
+  echo "$as_me:38765: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:37989: \"$ac_try\"") >&5
+  { (eval echo "$as_me:38768: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:37992: \$? = $ac_status" >&5
+  echo "$as_me:38771: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_result=yes
 else
@@ -37998,7 +38777,7 @@ cat "conftest.$ac_ext" >&5
 cf_result=no
 fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
-		echo "$as_me:38001: result: $cf_result" >&5
+		echo "$as_me:38780: result: $cf_result" >&5
 echo "${ECHO_T}$cf_result" >&6
 
 LIBS="$cf_save_LIBS_CF_X_ATHENA_LIBS"
@@ -38015,7 +38794,7 @@ CPPFLAGS="$cf_save_CPPFLAGS_CF_X_ATHENA_
 done
 
 if test -z "$cf_x_athena_lib" ; then
-	{ { echo "$as_me:38018: error: Unable to successfully link Athena library (-l$cf_x_athena_root) with test program" >&5
+	{ { echo "$as_me:38797: error: Unable to successfully link Athena library (-l$cf_x_athena_root) with test program" >&5
 echo "$as_me: error: Unable to successfully link Athena library (-l$cf_x_athena_root) with test program" >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -38049,7 +38828,7 @@ if test -n "$ac_tool_prefix"; then
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:38052: checking for $ac_word" >&5
+echo "$as_me:38831: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_XCURSES_CONFIG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -38064,7 +38843,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_XCURSES_CONFIG="$ac_tool_prefix$ac_prog"
-echo "$as_me:38067: found $ac_dir/$ac_word" >&5
+echo "$as_me:38846: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -38072,10 +38851,10 @@ fi
 fi
 XCURSES_CONFIG=$ac_cv_prog_XCURSES_CONFIG
 if test -n "$XCURSES_CONFIG"; then
-  echo "$as_me:38075: result: $XCURSES_CONFIG" >&5
+  echo "$as_me:38854: result: $XCURSES_CONFIG" >&5
 echo "${ECHO_T}$XCURSES_CONFIG" >&6
 else
-  echo "$as_me:38078: result: no" >&5
+  echo "$as_me:38857: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -38088,7 +38867,7 @@ if test -z "$XCURSES_CONFIG"; then
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:38091: checking for $ac_word" >&5
+echo "$as_me:38870: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
 if test "${ac_cv_prog_ac_ct_XCURSES_CONFIG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -38103,7 +38882,7 @@ for ac_dir in $ac_dummy; do
   test -z "$ac_dir" && ac_dir=.
   $as_executable_p "$ac_dir/$ac_word" || continue
 ac_cv_prog_ac_ct_XCURSES_CONFIG="$ac_prog"
-echo "$as_me:38106: found $ac_dir/$ac_word" >&5
+echo "$as_me:38885: found $ac_dir/$ac_word" >&5
 break
 done
 
@@ -38111,10 +38890,10 @@ fi
 fi
 ac_ct_XCURSES_CONFIG=$ac_cv_prog_ac_ct_XCURSES_CONFIG
 if test -n "$ac_ct_XCURSES_CONFIG"; then
-  echo "$as_me:38114: result: $ac_ct_XCURSES_CONFIG" >&5
+  echo "$as_me:38893: result: $ac_ct_XCURSES_CONFIG" >&5
 echo "${ECHO_T}$ac_ct_XCURSES_CONFIG" >&6
 else
-  echo "$as_me:38117: result: no" >&5
+  echo "$as_me:38896: result: no" >&5
 echo "${ECHO_T}no" >&6
 fi
 
@@ -38249,7 +39028,7 @@ LDFLAGS="$LDFLAGS $X_LIBS"
 
 test -n "$verbose" && echo "	checking additions to CFLAGS" 1>&6
 
-echo "${as_me:-configure}:38252: testing checking additions to CFLAGS ..." 1>&5
+echo "${as_me:-configure}:39031: testing checking additions to CFLAGS ..." 1>&5
 
 cf_check_cflags="$CFLAGS"
 cf_check_cppflags="$CPPFLAGS"
@@ -38334,7 +39113,7 @@ done
 if test -n "$cf_new_cflags" ; then
 	test -n "$verbose" && echo "	add to \$CFLAGS $cf_new_cflags" 1>&6
 
-echo "${as_me:-configure}:38337: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5
+echo "${as_me:-configure}:39116: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5
 
 	test -n "$CFLAGS" && CFLAGS="$CFLAGS "
 	CFLAGS="${CFLAGS}$cf_new_cflags"
@@ -38344,7 +39123,7 @@ fi
 if test -n "$cf_new_cppflags" ; then
 	test -n "$verbose" && echo "	add to \$CPPFLAGS $cf_new_cppflags" 1>&6
 
-echo "${as_me:-configure}:38347: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5
+echo "${as_me:-configure}:39126: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5
 
 	test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
 	CPPFLAGS="${CPPFLAGS}$cf_new_cppflags"
@@ -38354,7 +39133,7 @@ fi
 if test -n "$cf_new_extra_cppflags" ; then
 	test -n "$verbose" && echo "	add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags" 1>&6
 
-echo "${as_me:-configure}:38357: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5
+echo "${as_me:-configure}:39136: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5
 
 	test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS "
 	EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags"
@@ -38363,7 +39142,7 @@ fi
 
 if test "x$cf_check_cflags" != "x$CFLAGS" ; then
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 38366 "configure"
+#line 39145 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int
@@ -38375,16 +39154,16 @@ printf("Hello world");
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:38378: \"$ac_link\"") >&5
+if { (eval echo "$as_me:39157: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:38381: \$? = $ac_status" >&5
+  echo "$as_me:39160: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:38384: \"$ac_try\"") >&5
+  { (eval echo "$as_me:39163: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:38387: \$? = $ac_status" >&5
+  echo "$as_me:39166: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   :
 else
@@ -38392,12 +39171,12 @@ else
 cat "conftest.$ac_ext" >&5
 test -n "$verbose" && echo "	test-compile failed.  Undoing change to \$CFLAGS" 1>&6
 
-echo "${as_me:-configure}:38395: testing test-compile failed.  Undoing change to \$CFLAGS ..." 1>&5
+echo "${as_me:-configure}:39174: testing test-compile failed.  Undoing change to \$CFLAGS ..." 1>&5
 
 	 if test "x$cf_check_cppflags" != "x$CPPFLAGS" ; then
 		 test -n "$verbose" && echo "	but keeping change to \$CPPFLAGS" 1>&6
 
-echo "${as_me:-configure}:38400: testing but keeping change to \$CPPFLAGS ..." 1>&5
+echo "${as_me:-configure}:39179: testing but keeping change to \$CPPFLAGS ..." 1>&5
 
 	 fi
 	 CFLAGS="$cf_check_cflags"
@@ -38405,7 +39184,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 fi
 
-echo "$as_me:38408: checking for XOpenDisplay in -lX11" >&5
+echo "$as_me:39187: checking for XOpenDisplay in -lX11" >&5
 echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6
 if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -38413,7 +39192,7 @@ else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 38416 "configure"
+#line 39195 "configure"
 #include "confdefs.h"
 
 /* Override any gcc2 internal prototype to avoid an error.  */
@@ -38432,16 +39211,16 @@ XOpenDisplay ();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:38435: \"$ac_link\"") >&5
+if { (eval echo "$as_me:39214: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:38438: \$? = $ac_status" >&5
+  echo "$as_me:39217: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:38441: \"$ac_try\"") >&5
+  { (eval echo "$as_me:39220: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:38444: \$? = $ac_status" >&5
+  echo "$as_me:39223: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   ac_cv_lib_X11_XOpenDisplay=yes
 else
@@ -38452,7 +39231,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:38455: result: $ac_cv_lib_X11_XOpenDisplay" >&5
+echo "$as_me:39234: result: $ac_cv_lib_X11_XOpenDisplay" >&5
 echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6
 if test "$ac_cv_lib_X11_XOpenDisplay" = yes; then
 
@@ -38474,7 +39253,7 @@ LIBS="$cf_add_libs"
 
 fi
 
-echo "$as_me:38477: checking for XCurses library" >&5
+echo "$as_me:39256: checking for XCurses library" >&5
 echo $ECHO_N "checking for XCurses library... $ECHO_C" >&6
 if test "${cf_cv_lib_XCurses+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -38497,7 +39276,7 @@ done
 LIBS="$cf_add_libs"
 
 cat >"conftest.$ac_ext" <<_ACEOF
-#line 38500 "configure"
+#line 39279 "configure"
 #include "confdefs.h"
 
 #include <xcurses.h>
@@ -38512,16 +39291,16 @@ XCursesExit();
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:38515: \"$ac_link\"") >&5
+if { (eval echo "$as_me:39294: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:38518: \$? = $ac_status" >&5
+  echo "$as_me:39297: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:38521: \"$ac_try\"") >&5
+  { (eval echo "$as_me:39300: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:38524: \$? = $ac_status" >&5
+  echo "$as_me:39303: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_lib_XCurses=yes
 else
@@ -38532,7 +39311,7 @@ fi
 rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
 
 fi
-echo "$as_me:38535: result: $cf_cv_lib_XCurses" >&5
+echo "$as_me:39314: result: $cf_cv_lib_XCurses" >&5
 echo "${ECHO_T}$cf_cv_lib_XCurses" >&6
 
 fi
@@ -38547,23 +39326,23 @@ cat >>confdefs.h <<\EOF
 #define XCURSES 1
 EOF
 
-	echo "$as_me:38550: checking for xcurses.h" >&5
+	echo "$as_me:39329: checking for xcurses.h" >&5
 echo $ECHO_N "checking for xcurses.h... $ECHO_C" >&6
 if test "${ac_cv_header_xcurses_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >"conftest.$ac_ext" <<_ACEOF
-#line 38556 "configure"
+#line 39335 "configure"
 #include "confdefs.h"
 #include <xcurses.h>
 _ACEOF
-if { (eval echo "$as_me:38560: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:39339: \"$ac_cpp "conftest.$ac_ext"\"") >&5
   (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   $EGREP -v '^ *\+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:38566: \$? = $ac_status" >&5
+  echo "$as_me:39345: \$? = $ac_status" >&5
   (exit "$ac_status"); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
@@ -38582,7 +39361,7 @@ else
 fi
 rm -f conftest.err "conftest.$ac_ext"
 fi
-echo "$as_me:38585: result: $ac_cv_header_xcurses_h" >&5
+echo "$as_me:39364: result: $ac_cv_header_xcurses_h" >&5
 echo "${ECHO_T}$ac_cv_header_xcurses_h" >&6
 if test "$ac_cv_header_xcurses_h" = yes; then
 
@@ -38593,14 +39372,14 @@ EOF
 fi
 
 else
-	{ { echo "$as_me:38596: error: Cannot link with XCurses" >&5
+	{ { echo "$as_me:39375: error: Cannot link with XCurses" >&5
 echo "$as_me: error: Cannot link with XCurses" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
 fi
 
-echo "$as_me:38603: checking for unctrl.h" >&5
+echo "$as_me:39382: checking for unctrl.h" >&5
 echo $ECHO_N "checking for unctrl.h... $ECHO_C" >&6
 if test "${cf_cv_unctrl_header+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -38621,7 +39400,7 @@ esac
 for cf_header in $cf_header_list
 do
 	cat >"conftest.$ac_ext" <<_ACEOF
-#line 38624 "configure"
+#line 39403 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header:-curses.h}>
@@ -38635,16 +39414,16 @@ WINDOW *x; (void)x
 }
 _ACEOF
 rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:38638: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:39417: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:38641: \$? = $ac_status" >&5
+  echo "$as_me:39420: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest.$ac_objext"'
-  { (eval echo "$as_me:38644: \"$ac_try\"") >&5
+  { (eval echo "$as_me:39423: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:38647: \$? = $ac_status" >&5
+  echo "$as_me:39426: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_cv_unctrl_header=$cf_header
 	 break
@@ -38657,12 +39436,12 @@ rm -f "conftest.$ac_objext" "conftest.$a
 done
 
 fi
-echo "$as_me:38660: result: $cf_cv_unctrl_header" >&5
+echo "$as_me:39439: result: $cf_cv_unctrl_header" >&5
 echo "${ECHO_T}$cf_cv_unctrl_header" >&6
 
 case "$cf_cv_unctrl_header" in
 no)
-	{ echo "$as_me:38665: WARNING: unctrl.h header not found" >&5
+	{ echo "$as_me:39444: WARNING: unctrl.h header not found" >&5
 echo "$as_me: WARNING: unctrl.h header not found" >&2;}
 	;;
 esac
@@ -38696,10 +39475,10 @@ do
 
 cf_tr_func=`echo "$cf_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
-	echo "$as_me:38699: checking for ${cf_func}" >&5
+	echo "$as_me:39478: checking for ${cf_func}" >&5
 echo $ECHO_N "checking for ${cf_func}... $ECHO_C" >&6
 
-echo "${as_me:-configure}:38702: testing ${cf_func} ..." 1>&5
+echo "${as_me:-configure}:39481: testing ${cf_func} ..." 1>&5
 
 	if eval "test \"\${cf_cv_func_$cf_func+set}\" = set"; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -38708,7 +39487,7 @@ else
 		eval cf_result='$ac_cv_func_'$cf_func
 		if test ".$cf_result" != ".no"; then
 			cat >"conftest.$ac_ext" <<_ACEOF
-#line 38711 "configure"
+#line 39490 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_XCURSES
@@ -38741,16 +39520,16 @@ if (foo + 1234L > 5678L)
 }
 _ACEOF
 rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:38744: \"$ac_link\"") >&5
+if { (eval echo "$as_me:39523: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:38747: \$? = $ac_status" >&5
+  echo "$as_me:39526: \$? = $ac_status" >&5
   (exit "$ac_status"); } &&
          { ac_try='test -s "conftest$ac_exeext"'
-  { (eval echo "$as_me:38750: \"$ac_try\"") >&5
+  { (eval echo "$as_me:39529: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:38753: \$? = $ac_status" >&5
+  echo "$as_me:39532: \$? = $ac_status" >&5
   (exit "$ac_status"); }; }; then
   cf_result=yes
 else
@@ -38766,7 +39545,7 @@ fi
 
 	# use the computed/retrieved cache-value:
 	eval 'cf_result=$cf_cv_func_'$cf_func
-	echo "$as_me:38769: result: $cf_result" >&5
+	echo "$as_me:39548: result: $cf_result" >&5
 echo "${ECHO_T}$cf_result" >&6
 	if test "$cf_result" != no; then
 		cat >>confdefs.h <<EOF
@@ -38778,15 +39557,15 @@ done
 
 ### sum up warnings
 if test "$cf_cv_termlib" = none ; then
-	{ echo "$as_me:38781: WARNING: no term-lib found, you might run into trouble later." >&5
+	{ echo "$as_me:39560: WARNING: no term-lib found, you might run into trouble later." >&5
 echo "$as_me: WARNING: no term-lib found, you might run into trouble later." >&2;}
 fi
 if test "$YACC" = "" ; then
-	{ echo "$as_me:38785: WARNING: no yacc-parser found, you might run into trouble later." >&5
+	{ echo "$as_me:39564: WARNING: no yacc-parser found, you might run into trouble later." >&5
 echo "$as_me: WARNING: no yacc-parser found, you might run into trouble later." >&2;}
 fi
 if test "$RANLIB" = "" ; then
-	{ echo "$as_me:38789: WARNING: no library archive builder found, you might run into trouble later." >&5
+	{ echo "$as_me:39568: WARNING: no library archive builder found, you might run into trouble later." >&5
 echo "$as_me: WARNING: no library archive builder found, you might run into trouble later." >&2;}
 fi
 
@@ -38917,7 +39696,7 @@ DEFS=-DHAVE_CONFIG_H
 : "${CONFIG_STATUS=./config.status}"
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:38920: creating $CONFIG_STATUS" >&5
+{ echo "$as_me:39699: creating $CONFIG_STATUS" >&5
 echo "$as_me: creating $CONFIG_STATUS" >&6;}
 cat >"$CONFIG_STATUS" <<_ACEOF
 #! $SHELL
@@ -39053,7 +39832,7 @@ EOF
 cat >>"$CONFIG_STATUS" <<EOF
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.52.20231210,
+configured by $0, generated by GNU Autoconf 2.52.20240618,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
 Copyright 2003-2022,2023	Thomas E. Dickey
@@ -39098,7 +39877,7 @@ cat >>"$CONFIG_STATUS" <<\EOF
     echo "$ac_cs_version"; exit 0 ;;
   --he | --h)
     # Conflict between --help and --header
-    { { echo "$as_me:39101: error: ambiguous option: $1
+    { { echo "$as_me:39880: error: ambiguous option: $1
 Try \`$0 --help' for more information." >&5
 echo "$as_me: error: ambiguous option: $1
 Try \`$0 --help' for more information." >&2;}
@@ -39117,7 +39896,7 @@ Try \`$0 --help' for more information."
     ac_need_defaults=false;;
 
   # This is an error.
-  -*) { { echo "$as_me:39120: error: unrecognized option: $1
+  -*) { { echo "$as_me:39899: error: unrecognized option: $1
 Try \`$0 --help' for more information." >&5
 echo "$as_me: error: unrecognized option: $1
 Try \`$0 --help' for more information." >&2;}
@@ -39136,7 +39915,7 @@ cat >&5 << _ACEOF
 ## Running config.status.  ##
 ## ----------------------- ##
 
-This file was extended by $as_me 2.52.20231210, executed with
+This file was extended by $as_me 2.52.20240618, executed with
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
   CONFIG_LINKS    = $CONFIG_LINKS
@@ -39165,7 +39944,7 @@ do
   "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
   "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
   "include/autoconf.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/autoconf.h:include/autoconf.hin" ;;
-  *) { { echo "$as_me:39168: error: invalid argument: $ac_config_target" >&5
+  *) { { echo "$as_me:39947: error: invalid argument: $ac_config_target" >&5
 echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
    { (exit 1); exit 1; }; };;
   esac
@@ -39259,6 +40038,12 @@ s,@host@,$host,;t t
 s,@host_cpu@,$host_cpu,;t t
 s,@host_vendor@,$host_vendor,;t t
 s,@host_os@,$host_os,;t t
+s,@target@,$target,;t t
+s,@target_cpu@,$target_cpu,;t t
+s,@target_vendor@,$target_vendor,;t t
+s,@target_os@,$target_os,;t t
+s,@GLOB_FULLPATH_POSIX@,$GLOB_FULLPATH_POSIX,;t t
+s,@GLOB_FULLPATH_OTHER@,$GLOB_FULLPATH_OTHER,;t t
 s,@DESTDIR@,$DESTDIR,;t t
 s,@XLC@,$XLC,;t t
 s,@CC@,$CC,;t t
@@ -39289,6 +40074,8 @@ s,@BUILD_LDFLAGS@,$BUILD_LDFLAGS,;t t
 s,@BUILD_LIBS@,$BUILD_LIBS,;t t
 s,@BUILD_EXEEXT@,$BUILD_EXEEXT,;t t
 s,@BUILD_OBJEXT@,$BUILD_OBJEXT,;t t
+s,@READELF@,$READELF,;t t
+s,@ac_pt_READELF@,$ac_pt_READELF,;t t
 s,@RANLIB@,$RANLIB,;t t
 s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
 s,@LD@,$LD,;t t
@@ -39298,7 +40085,6 @@ s,@ac_ct_AR@,$ac_ct_AR,;t t
 s,@ARFLAGS@,$ARFLAGS,;t t
 s,@PATH_ISPELL@,$PATH_ISPELL,;t t
 s,@PATH_METAMAIL@,$PATH_METAMAIL,;t t
-s,@PATH_SUM@,$PATH_SUM,;t t
 s,@DEFAULT_EDITOR@,$DEFAULT_EDITOR,;t t
 s,@DEFAULT_MAILER@,$DEFAULT_MAILER,;t t
 s,@PKG_CONFIG@,$PKG_CONFIG,;t t
@@ -39349,35 +40135,22 @@ s,@LIBOBJS@,$LIBOBJS,;t t
 s,@FGREP@,$FGREP,;t t
 s,@cf_cv_makeflags@,$cf_cv_makeflags,;t t
 s,@CONFIG_H@,$CONFIG_H,;t t
-s,@ALLOCA@,$ALLOCA,;t t
-s,@GLIBC21@,$GLIBC21,;t t
 s,@LIBICONV@,$LIBICONV,;t t
 s,@USE_NLS@,$USE_NLS,;t t
 s,@MSGFMT@,$MSGFMT,;t t
 s,@GMSGFMT@,$GMSGFMT,;t t
 s,@XGETTEXT@,$XGETTEXT,;t t
-s,@INTL_YACC@,$INTL_YACC,;t t
-s,@BUILD_INCLUDED_LIBINTL@,$BUILD_INCLUDED_LIBINTL,;t t
-s,@USE_INCLUDED_LIBINTL@,$USE_INCLUDED_LIBINTL,;t t
 s,@CATALOGS@,$CATALOGS,;t t
 s,@CATOBJEXT@,$CATOBJEXT,;t t
 s,@GMOFILES@,$GMOFILES,;t t
-s,@INTLLIBS@,$INTLLIBS,;t t
-s,@INTLOBJS@,$INTLOBJS,;t t
 s,@POFILES@,$POFILES,;t t
-s,@POSUB@,$POSUB,;t t
 s,@DATADIRNAME@,$DATADIRNAME,;t t
 s,@INSTOBJEXT@,$INSTOBJEXT,;t t
 s,@GENCAT@,$GENCAT,;t t
-s,@INTL_LIBTOOL_SUFFIX_PREFIX@,$INTL_LIBTOOL_SUFFIX_PREFIX,;t t
 s,@NLS_TEXTDOMAIN@,$NLS_TEXTDOMAIN,;t t
 s,@MSG_DIR_MAKE@,$MSG_DIR_MAKE,;t t
 s,@SUB_MAKEFILE@,$SUB_MAKEFILE,;t t
-s,@INTLDIR_MAKE@,$INTLDIR_MAKE,;t t
-s,@GT_YES@,$GT_YES,;t t
-s,@GT_NO@,$GT_NO,;t t
-s,@HAVE_STDNORETURN_H@,$HAVE_STDNORETURN_H,;t t
-s,@STDC_NORETURN@,$STDC_NORETURN,;t t
+s,@ALLOCA@,$ALLOCA,;t t
 s,@XCURSES_CONFIG@,$XCURSES_CONFIG,;t t
 s,@ac_ct_XCURSES_CONFIG@,$ac_ct_XCURSES_CONFIG,;t t
 s,@LINTFLAGS@,$LINTFLAGS,;t t
@@ -39408,14 +40181,14 @@ EOF
       # is no need to browse any of the substitutions).
       # These are the two extra sed commands mentioned above.
       (echo ':t
-  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat "$tmp"/subs.frag) >"$tmp"/subs-$ac_sed_frag.sed
+  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && sed -e 's/\\\\*$//g' -e 's/$/\\/' -e 's/;t t\\/;t t/' -e 't' -e '3,'$ac_max_sed_lines's/$/\\/' "$tmp"/subs.frag) >"$tmp"/subs-$ac_sed_frag.sed
       # It is possible to make a multiline substitution using escaped newlines.
       # Ensure that we do not split the substitution between script fragments.
       ac_BEG=$ac_end
       ac_END=`expr "$ac_end" + "$ac_max_sed_lines"`
       sed "1,${ac_BEG}d; ${ac_END}p; q" "$tmp"/subs.sed >"$tmp"/subs.next
       if test -s "$tmp"/subs.next; then
-        grep '^s,@[^@,][^@,]*@,.*\\$' "$tmp"/subs.next >"$tmp"/subs.edit
+        grep '^s,@[^@,][^@,]*@,.*$' "$tmp"/subs.next | grep -v '^s,@.*;t t$' >"$tmp"/subs.edit
         if test ! -s "$tmp"/subs.edit; then
           grep "^s,@[^@,][^@,]*@,.*,;t t$" "$tmp"/subs.next >"$tmp"/subs.edit
           if test ! -s "$tmp"/subs.edit; then
@@ -39513,7 +40286,7 @@ done; }
   esac
 
   if test x"$ac_file" != x-; then
-    { echo "$as_me:39516: creating $ac_file" >&5
+    { echo "$as_me:40289: creating $ac_file" >&5
 echo "$as_me: creating $ac_file" >&6;}
     rm -f "$ac_file"
   fi
@@ -39531,7 +40304,7 @@ echo "$as_me: creating $ac_file" >&6;}
       -) echo "$tmp"/stdin ;;
       [\\/$]*)
          # Absolute (can't be DOS-style, as IFS=:)
-         test -f "$f" || { { echo "$as_me:39534: error: cannot find input file: $f" >&5
+         test -f "$f" || { { echo "$as_me:40307: error: cannot find input file: $f" >&5
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          echo "$f";;
@@ -39544,7 +40317,7 @@ echo "$as_me: error: cannot find input f
            echo "$srcdir/$f"
          else
            # /dev/null tree
-           { { echo "$as_me:39547: error: cannot find input file: $f" >&5
+           { { echo "$as_me:40320: error: cannot find input file: $f" >&5
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          fi;;
@@ -39560,7 +40333,7 @@ cat >>"$CONFIG_STATUS" <<\EOF
       if test -n "$ac_seen"; then
         ac_used=`grep '@datarootdir@' "$ac_item"`
         if test -z "$ac_used"; then
-          { echo "$as_me:39563: WARNING: datarootdir was used implicitly but not set:
+          { echo "$as_me:40336: WARNING: datarootdir was used implicitly but not set:
 $ac_seen" >&5
 echo "$as_me: WARNING: datarootdir was used implicitly but not set:
 $ac_seen" >&2;}
@@ -39569,7 +40342,7 @@ $ac_seen" >&2;}
       fi
       ac_seen=`grep '${datarootdir}' "$ac_item"`
       if test -n "$ac_seen"; then
-        { echo "$as_me:39572: WARNING: datarootdir was used explicitly but not set:
+        { echo "$as_me:40345: WARNING: datarootdir was used explicitly but not set:
 $ac_seen" >&5
 echo "$as_me: WARNING: datarootdir was used explicitly but not set:
 $ac_seen" >&2;}
@@ -39614,7 +40387,7 @@ cat >>"$CONFIG_STATUS" <<\EOF
             ac_init=`$EGREP '[ 	]*'$ac_name'[ 	]*=' "$ac_file"`
             if test -z "$ac_init"; then
               ac_seen=`echo "$ac_seen" |sed -e 's,^,'"$ac_file"':,'`
-              { echo "$as_me:39617: WARNING: Variable $ac_name is used but was not set:
+              { echo "$as_me:40390: WARNING: Variable $ac_name is used but was not set:
 $ac_seen" >&5
 echo "$as_me: WARNING: Variable $ac_name is used but was not set:
 $ac_seen" >&2;}
@@ -39625,7 +40398,7 @@ $ac_seen" >&2;}
     $EGREP -n '@[A-Z_][A-Z_0-9]+@' "$ac_file" >>"$tmp"/out
     if test -s "$tmp"/out; then
       ac_seen=`sed -e 's,^,'"$ac_file"':,' < "$tmp"/out`
-      { echo "$as_me:39628: WARNING: Some variables may not be substituted:
+      { echo "$as_me:40401: WARNING: Some variables may not be substituted:
 $ac_seen" >&5
 echo "$as_me: WARNING: Some variables may not be substituted:
 $ac_seen" >&2;}
@@ -39674,7 +40447,7 @@ for ac_file in : $CONFIG_HEADERS; do tes
   * )   ac_file_in=$ac_file.in ;;
   esac
 
-  test x"$ac_file" != x- && { echo "$as_me:39677: creating $ac_file" >&5
+  test x"$ac_file" != x- && { echo "$as_me:40450: creating $ac_file" >&5
 echo "$as_me: creating $ac_file" >&6;}
 
   # First look for the input files in the build tree, otherwise in the
@@ -39685,7 +40458,7 @@ echo "$as_me: creating $ac_file" >&6;}
       -) echo "$tmp"/stdin ;;
       [\\/$]*)
          # Absolute (can't be DOS-style, as IFS=:)
-         test -f "$f" || { { echo "$as_me:39688: error: cannot find input file: $f" >&5
+         test -f "$f" || { { echo "$as_me:40461: error: cannot find input file: $f" >&5
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          echo $f;;
@@ -39698,7 +40471,7 @@ echo "$as_me: error: cannot find input f
            echo "$srcdir/$f"
          else
            # /dev/null tree
-           { { echo "$as_me:39701: error: cannot find input file: $f" >&5
+           { { echo "$as_me:40474: error: cannot find input file: $f" >&5
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          fi;;
@@ -39817,7 +40590,7 @@ cat >>"$CONFIG_STATUS" <<\EOF
   rm -f "$tmp"/in
   if test x"$ac_file" != x-; then
     if cmp -s "$ac_file" "$tmp/config.h" 2>/dev/null; then
-      { echo "$as_me:39820: $ac_file is unchanged" >&5
+      { echo "$as_me:40593: $ac_file is unchanged" >&5
 echo "$as_me: $ac_file is unchanged" >&6;}
     else
       ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
diff -Nurp '--exclude=.bzr*' tin-2.6.3/configure.in tin-2.6.4/configure.in
--- tin-2.6.3/configure.in	2023-12-24 00:38:33.000000000 +0100
+++ tin-2.6.4/configure.in	2024-12-24 00:18:40.471936690 +0100
@@ -2,7 +2,7 @@ dnl Project   : tin - a Usenet reader
 dnl Module    : configure.in
 dnl Author    : Thomas E. Dickey <dickey@invisible-island.net>
 dnl Created   : 1995-08-24
-dnl Updated   : 2023-12-17
+dnl Updated   : 2024-12-15
 dnl Notes     :
 dnl
 dnl Copyright (c) 1995-2024 Thomas E. Dickey <dickey@invisible-island.net>
@@ -41,7 +41,7 @@ AC_PREFIX_DEFAULT(/usr/local)
 
 dnl PACKAGE is required for GNU gettext
 PACKAGE=tin
-VERSION=2.6.3
+VERSION=2.6.4
 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Define this to the package name])
 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Define this to the package version])
 AC_SUBST(PACKAGE)
@@ -102,6 +102,7 @@ AC_CHECK_DECL(exit)
 
 CF_XOPEN_SOURCE
 CF_SIGWINCH
+CF_PIC_HACK
 
 dnl These are standard among *NIX systems, but not when cross-compiling
 AC_CHECK_TOOL(RANLIB, ranlib, ':')
@@ -124,7 +125,12 @@ case "$host_cpu:$host_vendor:$host_os" i
 		AC_DEFINE(ISC_UNIX,1,[Define this to 1 for the i386/ISC system])
 esac
 
-dnl TODO: also check for heapsort(3) in libbsd?
+dnl TODO: also check for heapsort(3) in libbsd? like
+dnl AS_IF([test x"ac_cv_func_heapsort" != "xyes"],
+dnl  [AC_CHECK_LIB(bsd, heapsort,
+dnl   [CF_TRY_PKG_CONFIG([libbsd-overlay], [AC_DEFINE(HAVE_HEAPSORT)])]
+dnl   )]
+dnl )
 AC_MSG_CHECKING(if you would like to use heapsort)
 CF_ARG_DISABLE(heapsort,
 	[  --disable-heapsort      disable heapsort() as alternative to qsort],
@@ -159,10 +165,6 @@ CF_WITH_PROGRAM(ispell,
 CF_WITH_PROGRAM(metamail,
 [  --with-metamail         (default: from system path)])
 
-CF_WITH_PROGRAM(sum,
-[  --with-sum              (default: from system path)])
-CF_PROG_SUM_R
-
 CF_PATH_EDITOR
 CF_PATH_MAILER
 CF_PATH_MAILBOX
@@ -346,6 +348,16 @@ AC_ARG_WITH(socks5,
 	[cf_cv_use_libsocks5=no])
 ])
 
+# socks5 is the newer version of the library.  If both options are selected,
+# give a warning and assume socks5 was intended.
+
+if test "x$cf_cv_use_libsocks5" != xno ; then
+if test "x$cf_cv_use_libsocks" != xno ; then
+	AC_MSG_WARN([assuming --with-socks5 is intended, ignoring --with-socks])
+	cf_cv_use_libsocks=no
+fi
+fi
+
 if test "x$cf_cv_use_libsocks" != xno ; then
 	CF_SOCKS($cf_cv_use_libsocks)
 else
@@ -477,10 +489,6 @@ AC_ARG_WITH(pcre2-config,
 	[pcre2_config=no])
 AC_MSG_RESULT($pcre2_config)
 
-if test "$PCRE_HOME" != no && test "$pcre2_config" != no ; then
-	AC_MSG_ERROR([cannot use PCRE and PCRE2 at the same time])
-fi
-
 if test "$pcre2_config" != no ; then
 	if test "$pcre2_config" != yes ; then
 		PCRE2_CONFIG=$withval
@@ -565,9 +573,9 @@ CF_ARG_WITH(nntp-default-server,
 	[  --with-nntp-default-server
                           (sets NNTP_DEFAULT_SERVER)
                          ],
-	[NNTP_DEFAULT_SERVER], news.$DOMAIN_NAME)
+                          [NNTP_DEFAULT_SERVER], news.$DOMAIN_NAME)
 
-    if test "$NNTP_DEFAULT_SERVER" = "" ; then
+	if test "$NNTP_DEFAULT_SERVER" = "" ; then
 	if test "$DOMAIN_NAME" != "" ; then
 		test -z "$NNTP_DEFAULT_SERVER" && \
 		case "$DOMAIN_NAME" in #(((
@@ -625,19 +633,22 @@ fi
 AC_SUBST(CANDIR_MAKE)
 
 ## gsasl - used for AUTH SASL PLAIN
+## we currently check for gsasl_free() (avail since 0.2.19)
+## update if we ever use calls from a newer API
 gsasl=no
 AC_CHECK_HEADER(gsasl.h,
-	[AC_CHECK_LIB(gsasl, gsasl_check_version, gsasl=yes)]
+	[AC_CHECK_LIB(gsasl, gsasl_free, gsasl=yes)]
 )
 if test "$gsasl" = "yes"; then
 	CF_ARG_DISABLE(gsasl,
 		[  --disable-gsasl         don't use GNU SASL],
-		USE_SASL=no,
-		[USE_SASL=yes
-		AC_DEFINE(USE_SASL, 1, [Define to 1 if you want GNU SASL.])
+		,
+		[USE_GSASL=yes
+		AC_DEFINE(USE_GSASL, 1, [Define to 1 if you want GNU SASL.])
 		LIBS="$LIBS -lgsasl"])
 fi
 
+
 AC_MSG_CHECKING(whether to enable 8-bit keycodes)
 CF_ARG_DISABLE(8bit-keys,
 	[  --disable-8bit-keys     disable 8-bit keycode support],,
@@ -726,6 +737,7 @@ CF_ARG_DISABLE(printing,
 	[AC_DEFINE(DISABLE_PRINTING,1,[Define this to 1 to enable printer support])])
 AC_MSG_RESULT($enableval)
 
+### TODO: skip and disable if $ac_cv_sys_long_file_names != yes
 AC_MSG_CHECKING(whether to unique tmp-files by appending .pid)
 CF_ARG_DISABLE(append-pid,
 	[  --disable-append-pid    disable appending .pid to tmp-files],,
@@ -760,7 +772,7 @@ CF_WITH_PATH(defaults-dir,
 	[  --with-defaults-dir=PATH
                           directory containing tin.defaults file
                          ],
-	TIN_DEFAULTS_DIR,/etc/tin)
+                          TIN_DEFAULTS_DIR,/etc/tin)
 AC_MSG_RESULT($TIN_DEFAULTS_DIR)
 AC_DEFINE_UNQUOTED(TIN_DEFAULTS_DIR,"$TIN_DEFAULTS_DIR",[Define this to the directory containing tin.defaults file])
 
@@ -779,9 +791,10 @@ AC_REPLACE_FUNCS(getaddrinfo getnameinfo
 ### should we use 64 bit article numbers if possible?
 AC_MSG_CHECKING([whether to enable long article numbers])
 CF_ARG_ENABLE(long-article-numbers,
-        [  --enable-long-article-numbers
+	[  --enable-long-article-numbers
                           enable long article numbers (default: disabled)],
-[AC_DEFINE(ENABLE_LONG_ARTICLE_NUMBERS,1,[Define this to 1 to enable long article numbers])])
+	[AC_DEFINE(ENABLE_LONG_ARTICLE_NUMBERS,1,[Define this to 1 to enable long article numbers])]
+)
 AC_MSG_RESULT($enableval)
 
 ### TLS support
@@ -941,9 +954,29 @@ BIO_free(NULL);
 		])
 	])
 ])
-
 fi
 
+
+# <https://github.com/uriparser/uriparser>
+AC_MSG_CHECKING(for liburiparser)
+CF_TRY_PKG_CONFIG(
+	[liburiparser],
+	[AC_DEFINE(HAVE_LIBURIPARSER)],
+	[AC_TRY_COMPILE([
+#include <uriparser/Uri.h>
+	],[
+#if URI_VER_MAJOR = 0 && URI_VER_MINOR <= 9 && URI_VER_RELEASE <= 7
+#error "Please use liburiparser >= 0.9.8"
+#endif /* URI_VER_MAJOR */
+	],
+	[have_liburiparser=yes],
+	[have_liburiparser=no
+	AC_MSG_RESULT($have_liburiparser)]
+	)]
+)
+
+CF_FUNC_CURSES_VERSION
+
 ### checks for operator characteristics (should be the last option)
 AC_MSG_CHECKING(whether to make a coffee while compiling)
 AC_ARG_WITH(coffee,
@@ -984,6 +1017,7 @@ CF_CHECK_HEADERS(\
 	inttypes.h \
 	langinfo.h \
 	libc.h \
+	limits.h \
 	locale.h \
 	malloc.h \
 	netdb.h \
@@ -1026,7 +1060,6 @@ CF_CHECK_HEADERS(\
 	termio.h \
 	time.h \
 	unistd.h \
-	varargs.h \
 	wchar.h \
 	wctype.h \
 )
@@ -1051,6 +1084,11 @@ AC_EGREP_HEADER(in_addr_t, netinet/in.h,
 )
 AC_TYPE_UID_T
 
+AC_MSG_CHECKING(for tcflag_t defined in termios.h)
+AC_EGREP_HEADER(tcflag_t, termios.h, AC_MSG_RESULT(yes),[
+	AC_CHECK_TYPE(tcflag_t, unsigned int)
+])
+
 dnl test to see if quad_t is defined
 AC_MSG_CHECKING(for quad_t)
 AC_TRY_COMPILE([
@@ -1092,9 +1130,32 @@ $ac_includes_default
 	if test $ac_cv_int64_c = yes; then
 		AC_DEFINE(HAVE_INT64_C,1,[Define this to 1 if we have function INT64_C])
 	fi
+	AC_MSG_CHECKING(for PRIdLEAST64)
+	AC_TRY_COMPILE([
+$ac_includes_default
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif /* HAVE_INTTYPES_H */
+],[printf("%"PRIdLEAST64, (long int) 0);],
+	ac_cv_pridleast64=yes, ac_cv_pridleast64=no)
+	AC_MSG_RESULT($ac_cv_pridleast64)
+	if test $ac_cv_pridleast64 = yes; then
+		AC_DEFINE(HAVE_PRIDLEAST64,1,[Define this to 1 if we have PRIdLEAST64])
+	fi
+	AC_MSG_CHECKING(for SCNdLEAST64)
+	AC_TRY_COMPILE([
+$ac_includes_default
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif /* HAVE_INTTYPES_H */
+],[printf("%"SCNdLEAST64, (long int) 0);],
+	ac_cv_scndleast64=yes, ac_cv_scndleast64=no)
+	AC_MSG_RESULT($ac_cv_scndleast64)
+	if test $ac_cv_scndleast64 = yes; then
+		AC_DEFINE(HAVE_SCNDLEAST64,1,[Define this to 1 if we have SCNdLEAST64])
+	fi
 fi
 
-
 dnl test to see if nl_item is defined
 AC_MSG_CHECKING(for nl_item)
 AC_TRY_COMPILE([
@@ -1110,7 +1171,7 @@ $ac_includes_default
 ac_cv_nl_item=yes, ac_cv_nl_item=no)
 AC_MSG_RESULT($ac_cv_nl_item)
 if test $ac_cv_nl_item = yes; then
-        AC_DEFINE(HAVE_NL_ITEM,1,[Define this to 1 if we have header nl_types.h])
+	AC_DEFINE(HAVE_NL_ITEM,1,[Define this to 1 if we have header nl_types.h])
 fi
 
 ###	Checks for libraries.
@@ -1179,13 +1240,28 @@ AC_CHECK_HEADER(unicode/unorm.h,[
 		])
 	])
 ])
-# IDNA2008
-AC_CHECK_HEADER(unicode/unorm2.h, [
-	AC_DEFINE(HAVE_UNICODE_UNORM2_H,1,[Define this to 1 if we have header unicode/unorm2.h])
-])
+
+AC_CHECK_HEADERS(unicode/unorm.h unicode/unorm2.h unicode/ustring.h unicode/ucnv.h unicode/ubidi.h)
+
+# this doesn't work, why?
+#AC_CHECK_LIB(icuuc, ucnv_open,
+#	[AC_DEFINE(HAVE_UCNV_OPEN, 1, [Define to 1 if you want have ucnv_open])]
+#)
+#AC_CHECK_LIB(icuuc, ubidi_open,
+#	[AC_DEFINE(HAVE_UBIDI_OPEN, 1, [Define to 1 if you have ubidi_open])]
+#)
+# ok, we go with
+if test x"$ac_cv_header_unicode_ucnv_h" = "xyes" ; then
+	AC_DEFINE(HAVE_UCNV_OPEN, 1)
+fi
+if test x"$ac_cv_header_unicode_ubidi_h" = "xyes" ; then
+	AC_DEFINE(HAVE_UBIDI_OPEN, 1)
+fi
+
 
 # without icuuc try GNU libunistring for normalization
 if test $cf_try_icuuc = no ; then
+	AC_CHECK_HEADERS(unistring/version.h)
 	AC_CHECK_HEADER(unitypes.h,[
 		AC_CHECK_HEADER(uninorm.h,[
 			AC_DEFINE(HAVE_UNITYPES_H,1,[Define this to 1 if we have header unitypes.h])
@@ -1208,8 +1284,7 @@ if test $cf_try_icuuc = no ; then
 fi
 
 # without icuuc try libidn for Internationalized Domain Names / IDN 2003
-# TODO: check for libidn2
-#       get $CFLAGS/$LDFLAGS from pkg-config libidn[2] if possible
+# TODO: get $CFLAGS/$LDFLAGS from pkg-config libidn if possible
 if test $cf_try_icuuc = no ; then
 	AC_CHECK_LIB(idn, stringprep_check_version,
 		[AC_CHECK_HEADER(stringprep.h,[
@@ -1235,8 +1310,31 @@ if test $cf_try_icuuc = no ; then
 	)
 fi
 
+# GNU linidn2 // CF_TRY_PKG_CONFIG has no version checking yet
+AC_MSG_CHECKING(for libidn2)
+CF_TRY_PKG_CONFIG(
+	[libidn2],
+	[AC_DEFINE(HAVE_LIBIDN2)
+	AC_DEFINE(HAVE_IDN2_H)
+	have_libidn2=yes],
+	[AC_TRY_COMPILE([
+#include <idn2.h>
+	],[
+#if IDN2_VERSION_MAJOR < 2 || (IDN2_VERSION_MAJOR == 2 && IDN2_VERSION_MINOR < 3)
+#error "Please use libidn2 >= 2.3.0"
+#endif /* IDN2_VERSION_MAJOR < 2 || (IDN2_VERSION_MAJOR == 2 && IDN2_VERSION_MINOR < 3) */
+	],
+	[have_libidn2=yes
+	AC_DEFINE(HAVE_IDN2_H)],
+	[have_libidn2=no
+	AC_MSG_RESULT($have_libidn2)]
+	)]
+)
+
 # libidnkit - Internationalized Domain Names / IDN 2008
+if test "x$have_libidn2" != "xyes"; then
 AC_CHECK_LIB(idnkit, idn_decodename, [
+	AC_CHECK_HEADERS(idn/version.h)
 	AC_CHECK_HEADER(idn/api.h, [
 		AC_MSG_CHECKING(for IDN_DECODE_LOOKUP)
 		cf_save_LIBS="$LIBS"
@@ -1253,13 +1351,39 @@ AC_CHECK_LIB(idnkit, idn_decodename, [
 			AC_DEFINE(HAVE_LIBIDNKIT,1,[Define this to 1 if we can link with idnkit library])
 			AC_DEFINE(HAVE_IDN_API_H,1,[Define this to 1 if we have header idn/api.h])
 			AC_DEFINE(HAVE_IDN_DECODENAME,1,[Define this to 1 if we have function idn_decodename])
-			AC_MSG_RESULT(yes)], [
+			AC_MSG_RESULT(yes)
+			cf_have_libidnkit="yes"], [
 			LIBS=$cf_save_LIBS
 			AC_MSG_RESULT(no)
 		])
 	])
 ])
+fi
+
 
+# ICU >= 3.6 ucsdet_detect() and co.
+# rewrite, CF_TRY_PKG_CONFIG([icu-i18n], ...)
+AC_CHECK_HEADERS(unicode/ucsdet.h, [
+	AC_MSG_CHECKING(for ucsdet_detect in libicui18n)
+	cf_save_LIBS="$LIBS"
+	cf_try_icui18n="no"
+	LIBS="$LIBS -licui18n"
+	AC_TRY_LINK([
+$ac_includes_default
+#include <unicode/ucsdet.h>], [
+		UErrorCode status = 0;
+		UCharsetDetector *detector;
+		const UCharsetMatch *match;
+
+		detector = ucsdet_open(&status);
+		match = ucsdet_detect(detector, &status);
+		ucsdet_getName(match, &status);
+	], [AC_DEFINE(USE_ICU_UCSDET,1,[Define this to 1 if we have libicui18n])
+		cf_try_icui18n="yes"],
+		LIBS=$cf_save_LIBS)
+	AC_MSG_RESULT($cf_try_icui18n)
+	cf_save_LIBS="$LIBS"
+])
 
 if test $use_curses != no ; then
 	cf_cv_termlib=$cf_with_screen
@@ -1306,6 +1430,7 @@ CF_STRERROR
 ###	Checks for library functions.
 AC_CHECK_FUNCS(\
 	alarm \
+	arc4random_uniform \
 	atoi \
 	atol \
 	atoll \
@@ -1325,9 +1450,11 @@ AC_CHECK_FUNCS(\
 	gettimeofday \
 	getwd \
 	inet_aton \
+	inet_pton \
 	is_xterm \
 	isascii \
 	lockf \
+	lrand48 \
 	memcmp \
 	memcpy \
 	memmove \
@@ -1339,6 +1466,7 @@ AC_CHECK_FUNCS(\
 	nl_langinfo \
 	poll \
 	putenv \
+	random \
 	rewinddir \
 	resizeterm \
 	select \
@@ -1348,7 +1476,6 @@ AC_CHECK_FUNCS(\
 	setvbuf \
 	sigaction \
 	snprintf \
-	stpcpy \
 	strchr \
 	strcasecmp \
 	strcasestr \
@@ -1361,7 +1488,6 @@ AC_CHECK_FUNCS(\
 	strstr \
 	strtol \
 	strtoll \
-	tmpfile \
 	tzset \
 	uname \
 	unlink \
@@ -1416,8 +1542,7 @@ $ac_includes_default
 #include <sys/time.h>
 #endif],
 [static struct timeval tv;
-static struct timezone tz;
-gettimeofday(&tv, &tz);],
+gettimeofday(&tv, NULL);],
 ac_cv_func_gettimeofday_2args=yes, ac_cv_func_gettimeofday_2args=no)
 AC_MSG_RESULT($ac_cv_func_gettimeofday_2args)
 if test $ac_cv_func_gettimeofday_2args = yes; then
@@ -1447,6 +1572,7 @@ AC_CHECK_FUNCS(\
 	getaddrinfo \
 	gethostname \
 	gethostbyname \
+	getpeername \
 	getservbyname \
 	inet_addr \
 	inet_ntoa \
@@ -1522,7 +1648,6 @@ CF_CHECK_DECL(\
 	strchr \
 	strcasestr \
 	strsep \
-	tmpfile \
 )
 
 dnl Check network stuff separately, to limit the effect of inconsistent headers
@@ -1577,6 +1702,7 @@ CF_CHECK_DECL(\
 	ioctl \
 	isascii \
 	kill \
+	lrand48 \
 	malloc \
 	memset \
 	mkstemp \
@@ -1592,6 +1718,7 @@ CF_CHECK_DECL(\
 	select \
 	setenv \
 	snprintf \
+	srand48 \
 	sscanf \
 	strcasecmp \
 	strftime \
@@ -1606,6 +1733,8 @@ CF_CHECK_DECL(\
 	usleep \
 	vsprintf \
 	vsnprintf \
+	wcswidth \
+	wcwidth \
 )
 
 if test $use_curses = no ; then
@@ -1643,14 +1772,11 @@ esac
 CF_BUNDLED_INTL
 LIBS="$LIBS $LIBICONV"
 
-### check for alloca (required for bison and/or intl/*)
+### check for alloca (required for bison)
 case "$YACC" in
 bison*)
 	use_alloca=yes
 	;;
-*)
-	use_alloca=$USE_INCLUDED_LIBINTL
-	;;
 esac
 
 if test ".$use_alloca" = .yes ; then
@@ -1678,6 +1804,41 @@ fi
 
 CF_CHECK_FD_SET
 
+# snprintf() doesn't return length
+# wrap into
+#	if test "$ac_cv_func_snprintf" == "yes" ; then
+#	fi
+#?
+AC_MSG_CHECKING(for working snprintf())
+AC_TRY_RUN([
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+int main(void) {
+	char skip[5], fmt[9];
+	int len;
+
+	strcpy(fmt, "%d.%d.%d");
+	strcpy(skip, "Test");
+	len = snprintf(NULL, 0, "%s%s", skip, fmt);
+	if (len != (int)strlen(fmt) + (int)strlen(skip))
+		exit(1);
+	exit(0);
+}],
+	[
+		AC_MSG_RESULT(yes)
+	],
+	[
+		AC_DEFINE(SNPRINTF_BROKEN,1,[Define this to 1 if function SNPRINTF is buggy])
+		AC_MSG_RESULT(no)
+	],
+	[
+		AC_MSG_RESULT(unknown)
+	]
+)
+
+
 # tolower() is known to be broken on 4.2BSD by
 # not checking if input is an uppercase letter
 # /* #define tolower(c)	((c)-'A'+'a') */
@@ -1688,23 +1849,24 @@ int main(void) {
 	unsigned char str;
 
 	for (str = 1; str < 127; str++) {
-	        if ((char) tolower(str) != ((str >= 'A' && str <= 'Z') ? ((unsigned char) (str - 'A' + 'a')) : str))
+		if ((char) tolower(str) != ((str >= 'A' && str <= 'Z') ? ((unsigned char) (str - 'A' + 'a')) : str))
 			return 1;
 	}
 	return 0;
 }],
-        [
-                AC_MSG_RESULT(yes)
-        ],
-        [
-		AC_DEFINE(TOLOWER_BROKEN,1,[Define this to 1 if function tolower if broken])
-                AC_MSG_RESULT(no)
-        ],
-        [
-                AC_MSG_RESULT(unknown)
-        ]
+	[
+		AC_MSG_RESULT(yes)
+	],
+	[
+		AC_DEFINE(TOLOWER_BROKEN,1,[Define this to 1 if function tolower is broken])
+		AC_MSG_RESULT(no)
+	],
+	[
+		AC_MSG_RESULT(unknown)
+	]
 )
 
+
 # toupper is known to be broken on 4.2BSD by
 # not checking if input is a lowercase letter
 # /* #define toupper(c)	((c)-'a'+'A') */
@@ -1724,7 +1886,7 @@ int main(void) {
 		AC_MSG_RESULT(yes)
 	],
 	[
-		AC_DEFINE(TOUPPER_BROKEN,1,[Define this to 1 if function toupper if broken])
+		AC_DEFINE(TOUPPER_BROKEN,1,[Define this to 1 if function toupper is broken])
 		AC_MSG_RESULT(no)
 	],
 	[
@@ -1738,8 +1900,12 @@ AC_CHECK_HEADER(stdnoreturn.h,[
 	AC_TRY_COMPILE([
 $ac_includes_default
 #include <stdnoreturn.h>
-static _Noreturn void giveup(void) { exit(0);}],
-	[if (feof(stdin)) giveup()],
+static _Noreturn void giveup(void) { exit(0);}],[
+#if defined(__STDC__) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)
+	if (feof(stdin)) giveup()
+#else
+#	error "__STDC_VERSION__ < 201112L"
+#endif],
 	[cf_cv_c11_noreturn=yes
 	AC_MSG_RESULT($cf_cv_c11_noreturn)],
 	[cf_cv_c11_noreturn=no
@@ -1747,15 +1913,75 @@ static _Noreturn void giveup(void) { exi
 ],
 [cf_cv_c11_noreturn=no]
 )
-if test "$cf_cv_c11_noreturn" = yes; then
+AS_IF([test x"$cf_cv_c11_noreturn" = "xyes" && test x"$ac_cv_header_stdnoreturn_h" = "xyes"],
+[
 	AC_DEFINE(HAVE_STDNORETURN_H, 1,[Define if <stdnoreturn.h> header is available and working])
 	AC_DEFINE_UNQUOTED(STDC_NORETURN,_Noreturn,[Define if C11 _Noreturn keyword is supported])
-	HAVE_STDNORETURN_H=1
-else
-	HAVE_STDNORETURN_H=0
-fi
-AC_SUBST(HAVE_STDNORETURN_H)
-AC_SUBST(STDC_NORETURN)
+])
+
+# signal type - all but POSIX is untested
+CF_CHECK_HEADERS(signal.h)
+AC_MSG_CHECKING([for POSIX signal support])
+AC_TRY_COMPILE([
+#ifdef HAVE_STDDEF_H
+#	include <stddef.h>
+#endif /* HAVE_STDDEF_H */
+#ifdef HAVE_SIGNAL_H
+#	include <signal.h>
+#endif /* HAVE_SIGNAL_H */
+],[
+sigset_t set;
+
+sigfillset(&set);
+(void) sigprocmask(SIG_SETMASK, &set, NULL);
+],[
+have_posix_signal=yes
+AC_DEFINE(HAVE_POSIX_SIGNALS,1)
+],[
+have_posix_signal=no
+])
+AC_MSG_RESULT($have_posix_signal)
+
+AS_IF([test x"$have_posix_signal" != "xyes"],
+[
+AC_MSG_CHECKING([for BSD signal support])
+AC_TRY_COMPILE([
+#ifdef HAVE_SIGNAL_H
+#	include <signal.h>
+#endif /* HAVE_SIGNAL_H */
+],[
+sigblock(0);
+],[
+have_bsd_signal=yes
+AC_DEFINE(HAVE_BSD_SIGNALS,1)
+],[
+have_bsd_signal=no
+])
+AC_MSG_RESULT($have_bsd_signal)
+])
+
+AS_IF([test x"$have_posix_signal" != "xyes" && test x"$have_bsd_signal" != "xyes"],
+[
+AC_MSG_CHECKING([for SYSV signal support])
+AC_TRY_COMPILE([
+#ifdef HAVE_SIGNAL_H
+#	include <signal.h>
+#endif /* HAVE_SIGNAL_H */
+],[
+sigignore(0);
+],[
+have_sysv_signal=yes
+AC_DEFINE(HAVE_SYSV_SIGNALS,1)
+],[
+have_sysv_signal=no
+])
+AC_MSG_RESULT($have_sysv_signal)
+])
+
+AS_IF(
+[test x"$have_posix_signal" = "xno" && test x"$have_bsd_signal" = "xno" && test x"$have_sysv_signal" = "xno"],
+[AC_DEFINE(HAVE_NO_SIGNAL_BLOCKING,1)
+AC_MSG_WARN([[not having blockable signals]])])
 
 
 CF_CHECK_HEADERS(iconv.h)
@@ -1786,6 +2012,17 @@ int main(void) {
 	]
 )
 
+
+# TLI, Transport Layer Interface; SVR3, SVR4
+# TODO check for funcs: t_sync(), t_open(), t_bind(), t_connect(), t_alloc()
+#                       t_free(), t_close(), t_error()
+#      check for types: t_errno, t_call
+#      libs may be covered already by CF_NETLIBS
+# XTI, X/Open Transport Interface
+#      AC_CHECK_LIB([xnet], [t_open])
+CF_CHECK_HEADERS(tiuser.h sys/tiuser.h)
+
+
 # FIXME / TESTME
 # locale is broken on cygwin < 1.7.0
 # group/other bits don't work on cygwin < 1.7.0
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/ABOUT-NLS tin-2.6.4/doc/ABOUT-NLS
--- tin-2.6.3/doc/ABOUT-NLS	2021-08-23 13:01:35.000000000 +0200
+++ tin-2.6.4/doc/ABOUT-NLS	1970-01-01 01:00:00.000000000 +0100
@@ -1,324 +0,0 @@
-Notes on the Free Translation Project
-*************************************
-
-   Free software is going international!  The Free Translation Project
-is a way to get maintainers of free software, translators, and users all
-together, so that will gradually become able to speak many languages.
-A few packages already provide translations for their messages.
-
-   If you found this `ABOUT-NLS' file inside a distribution, you may
-assume that the distributed package does use GNU `gettext' internally,
-itself available at your nearest GNU archive site.  But you do _not_
-need to install GNU `gettext' prior to configuring, installing or using
-this package with messages translated.
-
-   Installers will find here some useful hints.  These notes also
-explain how users should proceed for getting the programs to use the
-available translations.  They tell how people wanting to contribute and
-work at translations should contact the appropriate team.
-
-   When reporting bugs in the `intl/' directory or bugs which may be
-related to internationalization, you should tell about the version of
-`gettext' which is used.  The information can be found in the
-`intl/VERSION' file, in internationalized packages.
-
-Quick configuration advice
-==========================
-
-   If you want to exploit the full power of internationalization, you
-should configure it using
-
-     ./configure --with-included-gettext
-
-to force usage of internationalizing routines provided within this
-package, despite the existence of internationalizing capabilities in the
-operating system where this package is being installed.  So far, only
-the `gettext' implementation in the GNU C library version 2 provides as
-many features (such as locale alias, message inheritance, automatic
-charset conversion or plural form handling) as the implementation here.
-It is also not possible to offer this additional functionality on top
-of a `catgets' implementation.  Future versions of GNU `gettext' will
-very likely convey even more functionality.  So it might be a good idea
-to change to GNU `gettext' as soon as possible.
-
-   So you need _not_ provide this option if you are using GNU libc 2 or
-you have installed a recent copy of the GNU gettext package with the
-included `libintl'.
-
-INSTALL Matters
-===============
-
-   Some packages are "localizable" when properly installed; the
-programs they contain can be made to speak your own native language.
-Most such packages use GNU `gettext'.  Other packages have their own
-ways to internationalization, predating GNU `gettext'.
-
-   By default, this package will be installed to allow translation of
-messages.  It will automatically detect whether the system already
-provides the GNU `gettext' functions.  If not, the GNU `gettext' own
-library will be used.  This library is wholly contained within this
-package, usually in the `intl/' subdirectory, so prior installation of
-the GNU `gettext' package is _not_ required.  Installers may use
-special options at configuration time for changing the default
-behaviour.  The commands:
-
-     ./configure --with-included-gettext
-     ./configure --disable-nls
-
-will respectively bypass any pre-existing `gettext' to use the
-internationalizing routines provided within this package, or else,
-_totally_ disable translation of messages.
-
-   When you already have GNU `gettext' installed on your system and run
-configure without an option for your new package, `configure' will
-probably detect the previously built and installed `libintl.a' file and
-will decide to use this.  This might be not what is desirable.  You
-should use the more recent version of the GNU `gettext' library.  I.e.
-if the file `intl/VERSION' shows that the library which comes with this
-package is more recent, you should use
-
-     ./configure --with-included-gettext
-
-to prevent auto-detection.
-
-   The configuration process will not test for the `catgets' function
-and therefore it will not be used.  The reason is that even an
-emulation of `gettext' on top of `catgets' could not provide all the
-extensions of the GNU `gettext' library.
-
-   Internationalized packages have usually many `po/LL.po' files, where
-LL gives an ISO 639 two-letter code identifying the language.  Unless
-translations have been forbidden at `configure' time by using the
-`--disable-nls' switch, all available translations are installed
-together with the package.  However, the environment variable `LINGUAS'
-may be set, prior to configuration, to limit the installed set.
-`LINGUAS' should then contain a space separated list of two-letter
-codes, stating which languages are allowed.
-
-Using This Package
-==================
-
-   As a user, if your language has been installed for this package, you
-only have to set the `LANG' environment variable to the appropriate
-`LL_CC' combination.  Here `LL' is an ISO 639 two-letter language code,
-and `CC' is an ISO 3166 two-letter country code.  For example, let's
-suppose that you speak German and live in Germany.  At the shell
-prompt, merely execute `setenv LANG de_DE' (in `csh'),
-`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
-This can be done from your `.login' or `.profile' file, once and for
-all.
-
-   You might think that the country code specification is redundant.
-But in fact, some languages have dialects in different countries.  For
-example, `de_AT' is used for Austria, and `pt_BR' for Brazil.  The
-country code serves to distinguish the dialects.
-
-   Not all programs have translations for all languages.  By default, an
-English message is shown in place of a nonexistent translation.  If you
-understand other languages, you can set up a priority list of languages.
-This is done through a different environment variable, called
-`LANGUAGE'.  GNU `gettext' gives preference to `LANGUAGE' over `LANG'
-for the purpose of message handling, but you still need to have `LANG'
-set to the primary language; this is required by other parts of the
-system libraries.  For example, some Swedish users who would rather
-read translations in German than English for when Swedish is not
-available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
-
-   In the `LANGUAGE' environment variable, but not in the `LANG'
-environment variable, `LL_CC' combinations can be abbreviated as `LL'
-to denote the language's main dialect.  For example, `de' is equivalent
-to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
-(Portuguese as spoken in Portugal) in this context.
-
-Translating Teams
-=================
-
-   For the Free Translation Project to be a success, we need interested
-people who like their own language and write it well, and who are also
-able to synergize with other translators speaking the same language.
-Each translation team has its own mailing list.  The up-to-date list of
-teams can be found at the Free Translation Project's homepage,
-`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
-area.
-
-   If you'd like to volunteer to _work_ at translating messages, you
-should become a member of the translating team for your own language.
-The subscribing address is _not_ the same as the list itself, it has
-`-request' appended.  For example, speakers of Swedish can send a
-message to `sv-request@li.org', having this message body:
-
-     subscribe
-
-   Keep in mind that team members are expected to participate
-_actively_ in translations, or at solving translational difficulties,
-rather than merely lurking around.  If your team does not exist yet and
-you want to start one, or if you are unsure about what to do or how to
-get started, please write to `translation@iro.umontreal.ca' to reach the
-coordinator for all translator teams.
-
-   The English team is special.  It works at improving and uniformizing
-the terminology in use.  Proven linguistic skill are praised more than
-programming skill, here.
-
-Available Packages
-==================
-
-   Languages are not equally supported in all packages.  The following
-matrix shows the current state of internationalization, as of September
-2001.  The matrix shows, in regard of each package, for which languages
-PO files have been submitted to translation coordination, with a
-translation percentage of at least 50%.
-
-     Ready PO files    bg cs da de el en eo es et fi fr gl he hr id it ja
-                     +----------------------------------------------------+
-     a2ps            |          []             []    []                   |
-     bash            |          []       [] []       []                   |
-     bfd             |                                                    |
-     binutils        |                               []                   |
-     bison           |          []          [] []    []                [] |
-     clisp           |          []    []    []       []                   |
-     cpio            |       [] []          []       [] []                |
-     diffutils       |       [] []       [] []       [] []       []       |
-     enscript        |          []                   []                   |
-     error           |                      []       []                   |
-     fetchmail       |                                                    |
-     fileutils       |    [] [] [] []       []       [] []             [] |
-     findutils       |       [] []          [] []    [] []       [] []    |
-     flex            |       []             []       []                   |
-     freetype        |                                                    |
-     gas             |                                                    |
-     gawk            |                               []    []             |
-     gcal            |                                                    |
-     gcc             |                                                    |
-     gettext         |    [] [] [] []       []       [] []       [] [] [] |
-     gnupg           |          []       []    []    [] []          [] [] |
-     gprof           |                                                    |
-     grep            |    []    []       [] [] []    [] []          []    |
-     hello           |       [] [] []    [] [] [] [] [] []          [] [] |
-     id-utils        |       [] []                   []                   |
-     indent          |       [] []             []    [] []                |
-     jpilot          |                               []                   |
-     kbd             |                                                    |
-     ld              |                               []                   |
-     libc            |    [] [] [] []       []       [] []             [] |
-     lilypond        |                                                 [] |
-     lynx            |    [] [] []                                     [] |
-     m4              |    [] [] [] []                [] []       []    [] |
-     make            |       [] []          []       [] []             [] |
-     mysecretdiary   |          []                                        |
-     nano            |                      []          []       []       |
-     opcodes         |                                                    |
-     parted          |          []                      []             [] |
-     ptx             |       [] []          [] []    [] []       []       |
-     python          |                                                    |
-     recode          |       [] [] []    [] []       [] [] []       []    |
-     sed             |    [] [] [] []    []    []    [] [] []    [] [] [] |
-     sh-utils        |    [] [] [] []       [] []    [] []          [] [] |
-     sharutils       |    [] [] [] []       []       [] []             [] |
-     sketch          |                                                    |
-     soundtracker    |          []          []          []                |
-     sp              |                                                    |
-     tar             |    [] [] []          [] []    []             [] [] |
-     texinfo         |    [] [] []       []          []                [] |
-     textutils       |    [] [] [] []       []       [] []             [] |
-     util-linux      |    [] []                                           |
-     wdiff           |       [] []             []                         |
-     wget            |    [] [] [] []       [] []    [] [] []          [] |
-                     +----------------------------------------------------+
-                       bg cs da de el en eo es et fi fr gl he hr id it ja
-                        0 14 24 32 11  1  8 23 13  1 33 22  4  0  7  9 18
-
-                       ko lv nb nl nn no pl pt pt_BR ru sk sl sv tr uk zh
-                     +----------------------------------------------------+
-     a2ps            |          []                   []    []             |  6
-     bash            |                                                    |  4
-     bfd             |                                                    |  0
-     binutils        |                                                    |  1
-     bison           |                               []                   |  6
-     clisp           |          []                                        |  5
-     cpio            | []       []       []     []   []                   | 10
-     diffutils       |                   []          []       [] []       | 11
-     enscript        |          []              []   []                   |  5
-     error           |                                  []       []       |  4
-     fetchmail       |                                                    |  0
-     fileutils       | []       []       []     []   [] [] [] [] []       | 17
-     findutils       | []       []       []     []   []    [] [] []       | 16
-     flex            | []                            []       []          |  6
-     freetype        |                                                    |  0
-     gas             |                                                    |  0
-     gawk            |                                           []       |  3
-     gcal            |                                                    |  0
-     gcc             |                                                    |  0
-     gettext         | []                []     []   []    [] [] []    [] | 18
-     gnupg           |                   []                   [] []       | 10
-     gprof           |                                                    |  0
-     grep            |                   []                [] [] []       | 12
-     hello           | [] [] [] []    [] []          [] []    [] [] []    | 22
-     id-utils        |          []                   []       []          |  6
-     indent          | []       []       []          [] []    [] []       | 12
-     jpilot          |                                                    |  1
-     kbd             |                                           []       |  1
-     ld              |                                                    |  1
-     libc            | []    []       [] []     []      []    [] []       | 16
-     lilypond        |          []                            []          |  3
-     lynx            |          []              []   []       []          |  8
-     m4              |          []       []          []       []          | 12
-     make            | []       []       []     []   []          []       | 12
-     mysecretdiary   |                                                    |  1
-     nano            |                                        []          |  4
-     opcodes         |                                           []       |  1
-     parted          |          []                   []                   |  5
-     ptx             |       [] []    [] [] []       []       [] []       | 15
-     python          |                                                    |  0
-     recode          |                   []          []    [] []          | 13
-     sed             |          []              []   [] [] [] [] []       | 19
-     sh-utils        |       [] []    [] []     []   [] [] [] [] []    [] | 21
-     sharutils       |          []                   []       []          | 11
-     sketch          |                                                    |  0
-     soundtracker    |                                                    |  3
-     sp              |                                                    |  0
-     tar             |       []       [] []     []         [] [] []       | 15
-     texinfo         |                               []                   |  7
-     textutils       |       [] []    [] []     []   [] [] []             | 16
-     util-linux      |                          []               []       |  4
-     wdiff           |                               [] []    [] []       |  7
-     wget            |          []                   [] [] [] [] [] []    | 17
-                     +----------------------------------------------------+
-       33 teams        ko lv nb nl nn no pl pt pt_BR ru sk sl sv tr uk zh
-       53 domains       9  1  6 20  0  6 17  1  13   25 10 11 23 21  2  2  387
-
-   Some counters in the preceding matrix are higher than the number of
-visible blocks let us expect.  This is because a few extra PO files are
-used for implementing regional variants of languages, or language
-dialects.
-
-   For a PO file in the matrix above to be effective, the package to
-which it applies should also have been internationalized and
-distributed as such by its maintainer.  There might be an observable
-lag between the mere existence a PO file and its wide availability in a
-distribution.
-
-   If September 2001 seems to be old, you may fetch a more recent copy
-of this `ABOUT-NLS' file on most GNU archive sites.  The most
-up-to-date matrix with full percentage details can be found at
-`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
-
-Using `gettext' in new packages
-===============================
-
-   If you are writing a freely available program and want to
-internationalize it you are welcome to use GNU `gettext' in your
-package.  Of course you have to respect the GNU Library General Public
-License which covers the use of the GNU `gettext' library.  This means
-in particular that even non-free programs can use `libintl' as a shared
-library, whereas only free software can use `libintl' as a static
-library or use modified versions of `libintl'.
-
-   Once the sources are changed appropriately and the setup can handle
-to use of `gettext' the only thing missing are the translations.  The
-Free Translation Project is also available for packages which are not
-developed inside the GNU project.  Therefore the information given above
-applies also for every other Free Software Project.  Contact
-`translation@iro.umontreal.ca' to make the `.pot' files available to
-the translation teams.
-
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/CHANGES tin-2.6.4/doc/CHANGES
--- tin-2.6.3/doc/CHANGES	2023-12-24 00:38:33.000000000 +0100
+++ tin-2.6.4/doc/CHANGES	2024-12-23 10:51:02.583345340 +0100
@@ -1,3 +1,169 @@
+-- 2.6.4 release 20241224 "Helmsdale" --
+
+ 024) Bjarni Ingi Gislason <bjarniig@simnet.is>
+      ADD. manpage fixes (debian bug #1089489)
+      FIX. tin.1
+
+ 023) Thomas E. Dickey <dickey@invisible-island.net>
+      REM. bundled-intl stuff
+      ADD. disallow giving both --with-socks and --with-socks5
+      ADD. try also libsocks5 and libsocksd if using --with-socks5
+      FIX. intl/*, aclocal.m4, configure[.in], autoconf.hin, nntplib.h
+           tcurses.h, Makefile[.in], conf-tin
+
+ 022) Enrik Berkhan <enrik@tin.org>
+      ADD. avoid implicit conversion
+      FIX. curses.c, misc.c, nntplib.c, rfc2047.c
+
+ 021) Matt Anton <tin@lv223.org>
+      ADD. updated French translation
+      FIX. fr.po
+
+ 020) Dennis Preiser <dennis@d--p.de>
+      ADD. ArticleInfo-page ('\'')
+      ADD. always cast arg to is*()-functions to unsigned char
+      ADD. avoid implicit conversion
+      ADD. formatted output for -vZ and large article counts
+      ADD. avoid malloc()/free() overhead in match_group_list()
+      ADD. dont_break_words tinrc option, if set don't break long
+           lines inside words, just on SPACE or TAB if possible.
+      ADD. charset guessing via undeclared_cs_guess in attributes
+      ADD. syntax check for content subtype
+      ADD. handle multiple addresses in From, Reply-To, Approved
+      ADD. addresses in %T are now separated by comma instead of space
+      ADD. no longer use fixed length buffers in t_cmdlineopts
+      ADD. limit tinrc/attributes value strings to 1022 chars
+           (they were "randomly" cut off before around 1k)
+      ADD. avoid fixed length buffers in t_config, t_filter_rule and
+           t_fmt
+      ADD. "ternary"-operator to format-strings %F, %s, %T
+      ADD. max screenwidth ('<') condition to format-strings
+      ADD. avoid fixed length buffer for lines on terminal when using curses
+      ADD. reorder t_config to avoid padding
+      REM. MAX_MSG_HEADERS limitation
+      BUG. txt_help_config_search_opt_forwards,
+           txt_help_config_search_opt_forwards and
+           txt_help_attrib_search_opt_backwards,
+           txt_help_attrib_search_opt_forwards were mixed up
+      BUG. memleak when using bsd-sockets without getservbyname()
+      BUG. possible memleak on quit in version.c:upgrade_prompt_quit()
+      BUG. multiple addresses in From, Reply-To, Approved (allowed since
+           RFC 5536) we're not handled correct.
+      FIX. active.c, art.c, attrib.c, charset.c, config.c, cook.c, debug.c
+           feed.c, filter.c, getline.c, group.c, header.c, help.c, inews.c
+           init.c, keymap.c, lang.c, main.c, mail.c, makecfg.c, memory.c
+           misc.c, nntplib.c, nntps.c, options_menu.c, page.c, pgp.c, post.c
+           prompt.c, refs.c, regex.c, rfc2046.c, rfc2047.c, save.c, screen.c
+           search.c, select.c, sigfile.c, signal.c, string.c, tags.c, thread.c
+           version.c, xref.c, parsdate.y, extern.h, keymap.h, newsrc.h, proto.h
+           rfc2046.h, tin.h, tinrc.h, tincfg.tbl, tin.1, tin.5
+
+ 019) Urs Janssen <urs@tin.org>
+      ADD. silence some unused parameter warnings
+      ADD. avoid sscanf(3) in check_upgrade()
+      ADD. avoid fixed length buffer in my_mktmp()
+      ADD. configure check for buggy snprintf(3)
+      ADD. changed snprintf(3) fallback implementation from Patrick Powell
+           to the one by Mark Martinec
+      ADD. use snprintf(3) in STRCPY macro
+      ADD. config.guess, config.sub update
+      ADD. avoid tmpfile(3) usage
+      ADD. configure check for blockable signal-type (POSIX, BSD, SYSV, NONE)
+      ADD. configure check for tiuser.h (TLI; SVR3, SVR4)
+      ADD. configure check for arc4random_uniform(3), lrand48(3) and random(3)
+           prefer over rand(3)
+      ADD. configure check for tcflag_t
+      ADD. configure check for PRIdLEAST64 and SCNdLEAST64
+      ADD. configure check for ucsdet_detect() from libicui18n
+      ADD. configure check for getpeername()
+      ADD. configure check for uconv_open() and unicode/ucnv.h
+      ADD. configure check for liburiparser
+      ADD. configure check for libidn2
+      ADD. simplify _Noreturn check, just note the C11 standard
+      REM. configure check for varargs.h
+      ADD. removed fixed buffer from copy_body()
+      ADD. SASL info to connection-info ('J')
+      ADD. -L cmd.line switch
+      ADD. create missing newsrc-dir
+      ADD. -g "[ipv6::address]"[:port] also in .newsauth and newsrctable
+      ADD. check that a recipient is present in mailgroups
+      ADD. mention location of files being read on startup
+      ADD. only display MOTD on startup if it did change since the last
+           connect (use 'J' to see it anyway).
+      ADD. cache MOTD during session
+      ADD. REPRODUCIBLE_BUILD define to prevent recoding of __DATE__, __TIME__,
+           $CFLAGS, $CPPFLAGS and $LDFLAGS in the binary if set
+      ADD. disallow Distribution: all, warn about Distribution: world
+      ADD. charset guessing via undeclared_cs_guess in attributes
+      ADD. disallow set but empty $NAME or $REALNAME to prevent reading
+           the users name from /etc/passwd
+      ADD. expand tabs in multiline wait_messages
+      ADD. calculate offset to article body for postponed articles
+      ADD. UNICODE-1-1, SCSU, csSCSU to unsupported charsets
+      ADD. try charset conversion with ICU ucnv_* if iconv() fails or is
+           not available.
+      ADD. use gmtime() and 4 digigt year for NEWGROUP on RFC 3977 servers
+           instead of localtime and 2 digigt year
+      ADD. basic (no custom-messages) $MAILPATH support
+      ADD. skip reading attributes with -Z
+      ADD. skip reading filter-file with -u
+      ADD. warn about -u[owXzZ] and -o[SZ] -R[ACcgkLSTZ] -XS (useless
+           combinations)
+      ADD. mention $TINRC value in useless combination message
+      ADD. create INDEX_LOCK (used by 'u') in ${TIN_HOMEDIR:-"$HOME"}/.tin
+           instead of $TMPDIR
+      ADD. if reading from local spool, try to read inn >= 2.3 nov-files
+           in case reading traditional nov-files failed
+      ADD. allow argument names for -D (case insensitive, comma separated
+           list).
+      ADD. URI syntax-check and normalization it with uriNormalizeSyntaxA() if
+           liburiparser was found
+      ADD. $LC_NUMERIC for RADIXCHAR (used when showing attachment sizes)
+      ADD. allow valid IPv6-addresses in brackets in gnksa-filters
+           (requires that the system has inet_pton() and knows AF_INET6)
+      ADD. allow ccTLD .ss, disallow ccTLD .an and .tp
+      ADD. updated the gTLD list (needs disable_gnksa_domain_check=ON in
+           tin.defaults)
+      ADD. -F filter-file cmd.-line option
+      ADD. warn on "Re:"/"Re: " only Subject
+      ADD. allow hex-numbers for cmd.-line switches which take numeric args
+      ADD. %C, %F, %P, %k, %l, %s, %u to strftime(3)-fallback
+      ADD. compress_overview_files tinrc-option
+      REM. tmpfile.c
+      REM. --with-sum specifying the sum of uue-file got more and more
+           uncommon at the end of last century and uue mostly vanished
+           laster on ...
+      REM. %G, %P expansion in $MAILCAPS
+      BUG. AUTHINFO SASL * didn't check possible 283 return code
+           (as we do not support anything but SASL PLAIN yet, not an issue)
+      BUG. -t not mentioned in -h
+      BUG. malloc(3)- and fopen(3)-leaks on error exits
+      BUG. didn't remove '.' from normalized charset when looking for a
+           keymap-file
+      BUG. socket(3)-leak on early exit due to TLS-errors
+      BUG. possible NULL-pointer dereference in connection-info ('J') if
+           CAPABILITIES does not return IMPLEMENTATION
+      BUG. wrong sign for shown default kill-score value in kill-menu
+      BUG. art_mark_xref_read() didn't allow '\t' between locations
+      BUG. a From longer than > cCOLS wasn't properly truncated
+           before appending organitazion in the pager
+      BUG. may truncate format string instead of result in draw_page_header
+      BUG. -X did not disallow EditFilter and -S
+      BUG. -o did not read keymap-file but it may ask questions so it should.
+      BUG. -vD NTTP didn't log full LISTGROUP responses
+      FIX. active.c, art.c, attrib.c, auth.c, charset.c, config.c, cook.c
+           curses.c, debug.c, feed.c, filter.c, getline.c, global.c, group.c
+           header.c, help.c, inews.c, init.c, keymap.c, lang.c, list.c, lock.c
+           mail.c, main.c, makecfg.c, memory.c, mimetypes.c, misc.c
+           my_tmpfile.c, newsrc.c, nntplib.c, nntps.c, nrctbl.c, options_menu.c
+           page.c, pgp.c, post.c, prompt.c, read.c, refs.c, regex.c, rfc1524.c
+           rfc2046.c, rfc2047.c, save.c, screen.c, search.c, select.c
+           sigfile.c, signal.c, snprintf.c, string.c, tags.c, tcurses.c
+           thread.c, version.c, xface.c, xref.c, parsdate.y, debug.h, extern.h
+           nntplib.h, policy.h, proto.h, snprintf.h, tin.h, tinrc.h, tnntp.h
+           tincfg.tbl, autoconf.h[in], configure[.in], Makefile[.in]
+           config.guess, config.sub, tin.1, tin.5
+
 -- 2.6.3 release 20231224 "Banff" --
 
  018) Florian Weimer <fweimer@redhat.com>
@@ -25,7 +191,7 @@
       ADD. configurable display format of attachments
            (page_mime_format, page_uue_format, attachment_format)
       ADD. new options show_art_score, col_score_neg, col_score_pos
-      ADD. avoid fopen()/fclose() overhead in subscribe_pattern()
+      ADD. avoid fopen(3)/fclose(3) overhead in subscribe_pattern()
       ADD. allow up to 64k long lines in posted_info_file
       ADD. make -vZ less verbose (skip Reading messages)
            current output now available via -vvZ
@@ -34,7 +200,7 @@
       ADD. unset of ranges
       ADD. display umlauts in ssl-certs with OpenSSL and GnuTLS and LibreSSL
            if also lybcrypto is available
-      BUG. tls_peer_cert_notbefore()/tls_peer_cert_notafter() used with
+      BUG. tls_peer_cert_notbefore(3)/tls_peer_cert_notafter(3) used with
            LibreSSL without crypto-lib (from OpenSSL) returns time in UTC
            not localtime
       BUG. with several consecutive soft hyphens, every second one is
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/CREDITS tin-2.6.4/doc/CREDITS
--- tin-2.6.3/doc/CREDITS	2023-12-24 00:38:33.000000000 +0100
+++ tin-2.6.4/doc/CREDITS	2024-12-17 17:50:52.326820552 +0100
@@ -2,42 +2,43 @@ I wish to thank the following people for
 
 David Abbott, Earle Ake, Deniz Akkus, Russ Allbery, Matt Anton, Orbby S. Arka,
 Stefan Assmann, Joachim Astel, Anton Aylward, Mark Ayzenshteyn,
-Jens Chr. Bachem, George Baltz, Dieter Baron, Volker Barthelmann, Kirk Bauer,
-Paul Bauwens, Dieter Becker, Wolfgang Behrens, Fabrice Bellet, Greg Berigan,
-Enrik Berkhan, Juergen Bernau, Dan Berry, Michael Bienia, David Binderman,
-Thomas Bliem, Andrey Blochintsev, Chris Blum, Fokke de Boer, Henryk Bochmann,
-Andreas Borchert, Volker Borchert, Sebastian Bork, Mark Boucher, Robert Brady,
-Peter Breitenlohner, Jessica Brennan, Frederic Briere, Bill Brolik,
-Travis Brown, Herman ten Brugge, Martin Buck, Matthias Buelow, Jeremy Buhler,
-Leila Burrell-Davis, Sean Casey, Peter Castro, Troy Cauble, Wei-Lun Chao,
-Andrey A. Chernov, Albert Chin-A-Young, Park Chong-Dae, Tan Kwee Chuan,
-Boleslaw Ciesielski, Robert Claeson, Steven Cogswell, Don Costello,
-Joshua Crawford, Bryan Curnutt, Ned Danieley, Lars Dannenberg, Chris Davies,
-John Davis, Borislav Deianov, Thomas E. Dickey, Martin Dickopp, Olaf Dietrich,
-Herbert Martin Dietze, Theo Van Dinter, Ralf Doeblitz, Bryan Dongray,
-Michael Douglass, Nickolay Dudorov, Craig Durland, Bernd Eckenfels, Phil Edge,
-Kirk Edson, Nick Efthymiou, Stefan Elf, Nigel Ellis, Andrei Emeltchenko,
-L. Scott Emmons, Rob Engle, Olle Eriksson, Brent Ermlick, Bernd Ernesti,
+Jens Chr. Bachem, Michael Baeuerle, George Baltz, Dieter Baron,
+Volker Barthelmann, Kirk Bauer, Paul Bauwens, Dieter Becker, Wolfgang Behrens,
+Fabrice Bellet, Greg Berigan, Enrik Berkhan, Juergen Bernau, Dan Berry,
+Michael Bienia, David Binderman, Thomas Bliem, Andrey Blochintsev, Chris Blum,
+Fokke de Boer, Henryk Bochmann, Andreas Borchert, Volker Borchert,
+Sebastian Bork, Mark Boucher, Robert Brady, Peter Breitenlohner,
+Jessica Brennan, Frederic Briere, Bill Brolik, Travis Brown, Herman ten Brugge,
+Martin Buck, Matthias Buelow, Jeremy Buhler, Leila Burrell-Davis, Sean Casey,
+Peter Castro, Troy Cauble, Wei-Lun Chao, Andrey A. Chernov,
+Albert Chin-A-Young, Park Chong-Dae, Tan Kwee Chuan, Boleslaw Ciesielski,
+Robert Claeson, Steven Cogswell, Don Costello, Joshua Crawford, Bryan Curnutt,
+Ned Danieley, Lars Dannenberg, Chris Davies, John Davis, Borislav Deianov,
+Thomas E. Dickey, Martin Dickopp, Olaf Dietrich, Herbert Martin Dietze,
+Theo Van Dinter, Ralf Doeblitz, Bryan Dongray, Michael Douglass,
+Nickolay Dudorov, Craig Durland, Bernd Eckenfels, Phil Edge, Kirk Edson,
+Nick Efthymiou, Stefan Elf, Nigel Ellis, Andrei Emeltchenko, L. Scott Emmons,
+Rob Engle, Olle Eriksson, Brent Ermlick, Bernd Ernesti,
 Ragnar Hojland Espinosa, Jason Faultless, Michael Faurot, Werner Fleck,
 John M. Flinchbaugh, Andy Gabor, Christian Garbs, Torsten Gesang,
-Ruediger Geys, Callum Gibson, Mike Glendinning, Igor Goryachev,
-Philippe Goujard, Dan Greenspan, Andrew Greer, Dennis Grevenstein, Karlo Gross,
-Carl Hage, Piers Haken, Paul Halsema, Joe Hansen, Ed Hanway, Scott Hauck,
-Christian Haul, James Hawtin, Philip Hazel, Per Headland, Arnold Hendriks,
-Daniel Hermans, Jose Herrero, Dave Hill, Tom Hite, Torsten Homeyer,
-Ulli Horlacher, Keith Howell, Tommy Hsieh, Shih-Kun Huang, Steve Hunt,
-Jeff Hurwitt, Jeon Hyoung-Jo, Ali Ibraimi, Pieter Immelman, Jarkko Isokungas,
-Marco d'Itri, Patrick St. Jean, Hal Jespersen, Park Sang Jin, Robbin Johnson,
-Jarkko Jormanainen, Yury July, Nelson Kading, Geoffrey Keating, Karsten Keil,
-Charles S. Kerr, Fritz Kleeman, Andreas Kies, Janne Kiviluoto, Tomasz Kloczko,
-Dwarven Knight, Thomas Koenig, Karl-Koenig Koenigsson, Sebnem Korkmaz,
-Martin Kraemer, Gerald Krause, Thomas Kroener, Piotr Kucharski,
-Florian Kuehnert, Bernd Kuemmerlen, Kris Kugel, Stephan Kulow, Manoj Kumar,
-Dawid Kuroczko, Yuri Kuzmenko, Olivier Lacroix, Geoff Lane, Alex Lange,
-Alain Lasserre, Stanislav Latishko, Hannu Laurila, Yen-Ming Lee,
-Vincent Lefevre, Alexander Lehmann, Marty Leisner, Thomas Leitner,
-Hakan Lennestal, Kevin Lentin, Chua Choon Leong, Chris Lewis, Andreas Ley,
-David-Michael Lincke, Otto Lind, Brad Littlejohn, Richard Lloyd,
+Ruediger Geys, Callum Gibson, Bjarni Ingi Gislason, Mike Glendinning,
+Igor Goryachev, Philippe Goujard, Dan Greenspan, Andrew Greer,
+Dennis Grevenstein, Karlo Gross, Carl Hage, Piers Haken, Paul Halsema,
+Joe Hansen, Ed Hanway, Scott Hauck, Christian Haul, James Hawtin, Philip Hazel,
+Per Headland, Arnold Hendriks, Daniel Hermans, Jose Herrero, Dave Hill,
+Tom Hite, Torsten Homeyer, Ulli Horlacher, Keith Howell, Tommy Hsieh,
+Shih-Kun Huang, Steve Hunt, Jeff Hurwitt, Jeon Hyoung-Jo, Ali Ibraimi,
+Pieter Immelman, Jarkko Isokungas, Marco d'Itri, Patrick St. Jean,
+Hal Jespersen, Park Sang Jin, Robbin Johnson, Jarkko Jormanainen, Yury July,
+Nelson Kading, Geoffrey Keating, Karsten Keil, Charles S. Kerr, Fritz Kleeman,
+Andreas Kies, Janne Kiviluoto, Tomasz Kloczko, Dwarven Knight, Thomas Koenig,
+Karl-Koenig Koenigsson, Sebnem Korkmaz, Martin Kraemer, Gerald Krause,
+Thomas Kroener, Piotr Kucharski, Florian Kuehnert, Bernd Kuemmerlen,
+Kris Kugel, Stephan Kulow, Manoj Kumar, Dawid Kuroczko, Yuri Kuzmenko,
+Olivier Lacroix, Geoff Lane, Alex Lange, Alain Lasserre, Stanislav Latishko,
+Hannu Laurila, Yen-Ming Lee, Vincent Lefevre, Alexander Lehmann, Marty Leisner,
+Thomas Leitner, Hakan Lennestal, Kevin Lentin, Chua Choon Leong, Chris Lewis,
+Andreas Ley, David-Michael Lincke, Otto Lind, Brad Littlejohn, Richard Lloyd,
 Florian Lohoff, Reinhard Luebke, Clifford Luke, Michael Lupp, David MacKenzie,
 Hugh Mahon, Giuseppe De Marco, Scott Marovich, Dmitri A. Martynoff,
 Kazushi Marukawa, Timur Maryin, William McBrine, Geoff McCaughan, Owen Medd,
@@ -50,20 +51,21 @@ Jeb Palmer, Neil Parker, Joseph Parmelee
 Sven Paulus, Walter Pelissero, Cameron Perkins, Colin Perkins, Eric Peterson,
 Tim Pierce, Bill Poitras, Scott W. Powers, Wolfgang Prediger, Dennis Preiser,
 Marc Prud'hommeaux, GianPiero Puccioni, Antonio Querubin, Thomas Quinot,
-Stefan Rapp, Martin Reising, Kyle Rhorer, Ted Richards, Steve Robbins,
-Ollivier Robert, Branden Robinson, Jim Robinson, Thomas Roessler,
-Erik van Roode, Meelis Roos, Stephen Roseman, Roland Rosenfeld,
-Peter Van Rossem, Clifton Royston, Rado S., Juergen Salk, Aleksey Salow,
-Rich Salz, Gary Sanders, Nickolay Saukh, John Sauter, Christopher Sawtell,
-Holger Schif, Volker Schmidt, John Schmitz, Torsten Schneider, Stefan Scholl,
-Rainer Scholz, Juergen Schroeder, Larry Schwimmer, Randy Scott, Bart Sears,
-Karl-Olav Serrander, Francisco Javier Serrador, Ozge Sevinc, Doug Sewell,
-Chung-chieh Shan, Philip Shearer, Jungshik Shin, Sergey Shkonda,
-Andreas Siegert, Andrey Simonenko, Mark Smith, Toomas Soome, Steve Spearman,
-Glenn Spell, Helmut Springer, Cliff Stanford, Steve Starck, Jason Steiner,
-Ralf Stephan, Michael Stenns, Helmrich Streitmatter, Hans Werner Strube,
-Dieter Stueken, Ed Sznyter, Lech Szychowski, Dean Takemori, Darrell Tangman,
-Derek Terveer, Carsten Theis, Julian Thompson, David Tiller, Andry Timonin,
+Stefan Rapp, Martin Reising, Kyle Rhorer, Ted Richards, Arnold D. Robbins,
+Steve Robbins, Ollivier Robert, Branden Robinson, Jim Robinson,
+Thomas Roessler, Erik van Roode, Meelis Roos, Stephen Roseman,
+Roland Rosenfeld, Peter Van Rossem, Clifton Royston, Rado S., Juergen Salk,
+Aleksey Salow, Rich Salz, Gary Sanders, Nickolay Saukh, John Sauter,
+Christopher Sawtell, Holger Schif, Volker Schmidt, John Schmitz,
+Torsten Schneider, Stefan Scholl, Rainer Scholz, Juergen Schroeder,
+Larry Schwimmer, Randy Scott, Bart Sears, Karl-Olav Serrander,
+Francisco Javier Serrador, Ozge Sevinc, Doug Sewell, Chung-chieh Shan,
+Philip Shearer, Jungshik Shin, Sergey Shkonda, Andreas Siegert,
+Andrey Simonenko, Mark Smith, Toomas Soome, Steve Spearman, Glenn Spell,
+Helmut Springer, Cliff Stanford, Steve Starck, Jason Steiner, Ralf Stephan,
+Michael Stenns, Helmrich Streitmatter, Hans Werner Strube, Dieter Stueken,
+Ed Sznyter, Lech Szychowski, Dean Takemori, Darrell Tangman, Derek Terveer,
+Carsten Theis, Julian Thompson, David Tiller, Andry Timonin,
 Elmar W. Tischhauser, Mark Tomlin, Mark Tomlinson, Michael Traub,
 Martin Treusch von Buttlar, Mark Trumbull, Alex Vasylenko, Michael Velten,
 Adri Verhoef, Paul Vickers, Corinna Vinschen, Mingye Wang, Oliver B. Warzecha,
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/INSTALL tin-2.6.4/doc/INSTALL
--- tin-2.6.3/doc/INSTALL	2023-12-24 00:38:33.000000000 +0100
+++ tin-2.6.4/doc/INSTALL	2024-12-04 06:16:26.312613050 +0100
@@ -28,7 +28,7 @@ The following configure options and defi
   --enable-curses                         --with-domain-name
   --enable-debug                          --with-editor
   --enable-echo                           --with-gpg
-  --enable-etiquette                      --with-included-gettext
+  --enable-etiquette
   --enable-fascist-newsadmin              --with-inews-dir
   --enable-flock                          --with-slrnface
   --enable-heapsort                       --with-iso-to-ascii
@@ -51,7 +51,7 @@ The following configure options and defi
   --enable-shell-escape                   --with-screen
   --enable-warnings                       --with-shell
   --enable-xhdr-xref                      --with-spooldir
-  --exec-prefix                           --with-sum
+  --exec-prefix                           
   --mandir                                --with-socks
                                           --with-socks5
                                           --with-trace
@@ -66,15 +66,22 @@ The following configure options and defi
   HAVE_BROKEN_SSCANF                      DISABLE_PIPELINING
   OPTIMIZE_JUST_STAR                      MATCH_TAR_PATTERN
   MIN_COLUMNS_ON_TERMINAL                 MIN_LINES_ON_TERMINAL
-  MAXARTNUM
+  MAXARTNUM                               REPRODUCIBLE_BUILD
 
 
 Not yet documented configure options and defines:
 -------------------------------------------------
+Networking related
+  TLI     - use Transport Layer Interface (SVR3, SVR4)
+            or X/Open Transport Interface instead of
+            BSD/POSIX sockets)
+  DECNET  - e.g. VMS, Ultrix, ...
+  EXCELAN - e.g. VxWorks
+
 TIN related:
   BACKUP_FILE_EXT (see misc.c:invoke_editor())
   FILE_MODE_BROKEN                        NO_LOCKING
-  DEBUG_ART
+  DEBUG_ART                               DEBUG_UCNV
 
 System related:
   --datadir                               --localstatedir
@@ -90,6 +97,7 @@ System related:
   --with-build-libs                       --build
   --host                                  --target
   --with-pkg-config                       --with-textdomain
+  --with-libintl-prefix                   --with-system-type
 
 News machine names
 ------------------
@@ -318,11 +326,14 @@ used to activate NNTP compression as def
 
 --with-socks (default: off)
 Check for socks proxy library (SOCKS Version 4) and link against it if
-available.
+available. Do not mix with --with-socks5.
 
 --with-socks5 (default: off)
 Check for socks5 proxy library (SOCKS Version 5; RFC 1928) and link against
-it if available.
+it if available. Do not mix with --with-socks.
+
+--disable-gsasl
+Disable check for GNU SASL library (needed for SASL authentication).
 
 Options to set some default values
 ----------------------------------
@@ -508,11 +519,6 @@ path, this is used automatically.
 Define if you have slrnface installed and want to use it to show X-Faces. If
 found in search path, this is used automatically.
 
---with-sum=PATH (default: set automatically)
-Define if you have sum to print checksum and block counts for saved files.
-If found in search path, this is used automatically if not linking against
-libuu (HAVE_LIBUU).
-
 --enable-posting (default: on)
 If disabled, TIN does not allow posting/followup of articles.
 
@@ -580,10 +586,6 @@ The --enable-nls option enables Native L
 tin to run in languages other than American English. Native Language
 Support is enabled by default, the --disable-nls option disables NLS.
 
---with-included-gettext (default: off)
-If NLS is enabled, the --with-included-gettext option causes the build
-procedure to prefer its copy of GNU gettext.
-
 --disable-included-msgs (default: off)
 If NLS is enabled, the --disable-included-msgs option causes the build
 procedure to assume message libraries are already installed, and to
@@ -597,6 +599,11 @@ multipart binary articles (libuu is part
 library paths, uudeview.h somewhere in the include paths when compiling. If
 they are found there by configure, these defines are set automatically.
 
+USE_ICU_UCSDET (default: set automatically)
+Is defined if system has ucsdet_getName() from ICU (libicui18n). This
+is required for charset guessing via undeclared_charset=guess in
+attributes.
+
 
 Debug/test options
 ------------------
@@ -741,6 +748,13 @@ MAXARTNUM
 experimental MAXARTNUM NNTP extension. the syntax is currently under
 discussion and may change, so use with caution.
 
+REPRODUCIBLE_BUILD
+if set, do not use __DATE__ and __TIME__ macros nor record $CFLAGS,
+$CPPFLAGS and $LDFLAGS in the binary. This is required for
+reproducible builds.
+
+INLINE_DEBUG_MIME
+experimental, if set show (some) MIME (parse) errors/info inline.
 
 License
 -------
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/TODO tin-2.6.4/doc/TODO
--- tin-2.6.3/doc/TODO	2023-12-24 00:38:33.000000000 +0100
+++ tin-2.6.4/doc/TODO	2024-12-22 19:56:49.957791523 +0100
@@ -1,14 +1,13 @@
 Items which are showstoppers for the next major release are marked with '!'
 in front of them (feel free to up/downgrade and/or add or fix bugs, this
-file is not read only ,-).
+file is not read only ,-). See also grep -E 'FIXME|TODO' src/*.c include/*.h
 
 Bugs
 ----
-o  replying via email to an article with
-   From: =?us-ascii?q?<a@example.com>,?= <b@example.org>
-   will result in
-   To: <a@example.com>, <b@example.org>
-   [20141230 Urs Janssen <urs@tin.org>]
+o  PostponeOverride "Y" conflicts with PromptYes "yY" so PostponeOverride
+   is unusable right now. Remap somehow to e.g. "oO" (that would also
+   require a key rename)? Restrict PromptYes in that single prompt
+   to anything but PostponeOverride (if it has multiple keys assigned)?
 
 o  get_respcode() doesn't handle the 401 response code. as we have to
    evaluate the response text as well we have to fix every
@@ -27,11 +26,14 @@ o  unexpected multiline responses confus
 
 o  batch mode has several bugs
    - -vc could be more verbose (like -vcZ is)
-   - -o currently is not a 'batch_mode' option
-   - -u could be faster if not building threads etc. pp.
-     (build_references(), filter_articles(), make_threads())
+   - -o currently is not a 'batch_mode' option (it may ask questions)
    [Urs Janssen <urs@tin.org>]
 
+o  upgrade_keymap_file() doesn't update ConfigFirstPage, HelpFirstPage,
+   PageFirstPage to GLOBAL_FIRST_PAGE; ConfigLastPage, HelpLastPage,
+   PageLastPage to GLOBAL_LAST_PAGE; PostPost to GLOBAL_POST.
+   adjust doc/keymap.sample accordingly
+
 o  add version number to other config-files (e.g. tin.defaults)
    and do the same checks as for TINRC_VERSION/tinrc. for the
    tinrc, filter and attributes file store the charset the file is written
@@ -102,9 +104,13 @@ o  with -T and an expired cert we could
    or "not yet valid ..."  with the corresponding dates (and the current
    date); with -k we could emphasise the fact on connect.
 
-o  with -T and hostname mismatch we could give more info than just
-   "TLS handshake failed: hostname mismatch" (show CN (vs. used hostname));
-   with -k we could mention the mismatch on the 'J' ConnectionInfo-page.
+o  with -T and hostname mismatch (OpenSSL: X509_V_ERR_HOSTNAME_MISMATCH)
+   we could give more info than just "TLS handshake failed: hostname mismatch"
+   (show CN (vs. used hostname)); with -k we could mention the mismatch on
+   the 'J' ConnectionInfo-page.
+
+o  add configure check and code for libdeflate
+   <https://github.com/ebiggers/libdeflate> (if zlib can't be found).
 
 o  add possibility to dump the current key mapping to a file
 
@@ -117,10 +123,11 @@ o  add configure check for cl_clear_secr
    libcanlock (--with-canlock).
    [20190212 Urs Janssen <urs@tin.org>]
 
-o  update included libcanlock to >= 3.3.0
+o  update included libcanlock to >= 3.3.1
    [20211024 Urs Janssen <urs@tin.org>]
 
-o  allow per server cache_overview_files setting via serverrc.
+o  allow per server cache_overview_files, compress_overview_files setting via
+   serverrc.
    [20180215 Urs Janssen <urs@tin.org>]
 
 o  if we extend serverrc it should also get some 'M'enu.
@@ -173,34 +180,19 @@ o  add DEFAULT_SIGDASHES_REGEX and relat
 o  allow remapping of the 'z' abort-key (lynx style) in wait_for_input().
 
 o  add more user defined screen layout at different levels (e.g. posting
-   history screen)
+   history screen; add a page_header_format{1,2,3} to customize
+   draw_page_header(); ...)
    (mostly done for selection, group, thread, attachment and page level)
    [20041025 Urs Janssen <urs@tin.org>]
 
-o  allow a Message-ID on the cmd. line to jump to the given article
-   [20170718 Urs Janssen <urs@tin.org>]
-
 o  add more AUTHINFO SASL (RFC 4643, RFC 5802) support (DIGEST-MD5,
    EXTERNAL, ...) and a fallback if no libgsasl is found (e.g cyrus-sasl
    or a handrolled version for at least PLAIN)
    [20080316 Urs Janssen <urs@tin.org>]
 
-o  make 'GNKSA'-parser RFC5322/USEFOR compliant (e.g.
-   misc.c:gnksa_dequote_plainphrase()) and fix bugs
-
-o  multiple names/addresses in From like in:
-   From: ole-fg@gmx.de (Olaf Schneider), adrian.suter@schweiz.org (Adrian Suter)
-   are parsed incorrectly (ie. %F in group_format ends up in
-   "Olaf Schneider), adrian.suter@schweiz.org (Adrian Suter <ole-fg@gmx.de>"
-
 o  add XZVER (and XZHDR) support (zlib compressed yyencoded overview data)
    <http://helpdesk.astraweb.com/index.php?_m=news&_a=viewnews&newsid=9>
 
-o  the TLD checking in the 'GNKSA'-parser needs some rework, keeping the
-   list of valid TLDs up to date is more or less impossible with the ~1400
-   pending new TLDs
-   [20131024 Urs Janssen <urs@tin.org>]
-
 o  add In-Reply-To threading for mailgroups
    [20030518 Urs Janssen <urs@tin.org>]
 
@@ -428,6 +420,8 @@ o  Add to the attachment menu ('V'):
      'J'  (GLOBAL_CONNECTION_INFO)
      '&'  (GLOBAL_TOGGLE_COLOR)
      'I'  (GLOBAL_TOGGLE_INVERSE_VIDEO)
+     '\'' (PAGE_ARTICLE_INFO) (the key would then be miss-named, but 'V'
+          is only reachable from page-level so not a big issue).
 
 o  Add to the posting history screen ('W'):
      'M'  (GLOBAL_OPTION_MENU)
@@ -440,8 +434,8 @@ o  Add to the URL Menu ('U'):
 o  integrate multi-part tagging with regular tagging, eg.
    "This article appears to have multi-parts, try and find them (y/n)?"
 
-o  Add a command-line switch (-V) that prints out all values of cpp-symbols
-   etc. [partly done, but should be cleaned up]
+o  Add a command-line switch (-[v]V) that prints out all values of
+   cpp-symbols etc. [partly done, but should be cleaned up]
 
 o  Reorganize tinrc into related sections for easier editing
    e.g., Display, Posting etc.
@@ -451,10 +445,13 @@ o  A system-wide tinrc configuration fil
    Maybe a second file which could be used to force settings (eg.
    inews & mailer) (tin.defaults [--with-defaults-dir] is a start)
 
-o  when From: only contains "First-name Last-name" tin strips the
-   Last-name in group/thread/page-level
+o  when From: only contains "First-name Last-name" (invalid) tin strips
+   the Last-name in group/thread-level
    [20020319 Urs Janssen <urs@tin.org>]
 
+o  for config_page(OPT_MAIL_ADDRESS) verify the the given address
+   and reject it if invalid.
+
 o  Bounce duplicate Message-ID's when the headers are read. This will
    make the threading code happier too.
    [Jason Faultless <jason@altarstone.com>]
@@ -471,27 +468,29 @@ o  add check for liblzma/libbzip2/zlib (
     <http://freecode.com/projects/long-range-zip>,
     <https://github.com/facebook/zstd>,
     <https://github.com/lzfse/lzfse>) and add an option to write/read
-    *zipped local overviews.
+    compressed local overviews (done for zlib).
    the libs might also be used for post-processing articles.
 
 o  rewrite/cleanup all the debugging code, the output in /tmp is messy; the
    on screen output either slows down things dramatically or is unreadable;
-   split DEBUG_MISC?
+   split DEBUG_MISC (drop numeric levels when doing so)!
    always log the terminating "." in multiline responses, so we
    have a timestamp even if not running with -vD 1 (make verbose and
    non verbose more consistent).
-   document the different debug levels/files and the effects of increasing
+   document the different debug-files and the effects of increasing
    the verbosity.
    [Urs Janssen <urs@tin.org>]
 
-o  replace gettimeofday() with clock_gettime() if available in parsdate.y
-   as POSIX.1-2008 marks gettimeofday() as obsolete.
-   [20110910 Urs Janssen <urs@tin.org>]
-
 o  Add 'M'enu option to define chars for utf8_graphics.
 
 o  allow user defined mouse button bindings (like keymap).
 
+o  add support for plan9's nntpfs with -9 /path/to/spool or the like
+   <https://9p.io/magic/man2html/4/nntpfs>
+
+o  do real $MAILPATH parsing (misc.c:mail_check()) to show custom-message
+   if given instead of our generic one.
+
 Posting enhancements
 --------------------
 o  sort Followup-To:/Newsgroups: after stripping doubled newsgroups and
@@ -564,10 +563,6 @@ o  allow editing of the strings presente
 o  allow ranges in gnksa-filters "gnksa=200-399" or "gnksa=101,103,201"
    [20200709 Urs Janssen <urs@tin.org>]
 
-o  add a cmd.-line switch to skip reading the filter file ('-F'?) as
-   filtering may be very time consuming with huge groups. what if a user
-   likes to add a filter entry during such a session?
-
 Pager enhancements
 ------------------
 o  add 'autoview' (spawn external viewer) 'autohide' (don't even show info
@@ -577,6 +572,8 @@ o  add MIME Multiple Language Content Ty
 
 o  add toggle attachment depth indentation 4 <-> 2 like ^T for tabs
 
+o  add toggle dont_break_words
+
 o  suppress hide_uue=2 checking unless first line in an article or following
    a blank line
 
@@ -592,6 +589,10 @@ o  add trn like $HIDELINE tinrc-option t
 
 Internal Changes
 ----------------
+o  check remaining fopen(..., "r") calls if they should replaced by
+   tin_fopen() to get some default error-handling and if not put a
+   comment to them.
+
 o  in ENABLE_NLS case replace PLURAL() macro with proper use of
    ngettext(3) (if found by configure) to support languages with
    more than one plural form.
@@ -608,9 +609,6 @@ o  curses.c:input_pending() and curses.c
    least have adjusted messages in txt_reading_article and txt_group)
    [20110506 Urs Janssen <urs@tin.org>]
 
-o  ditch MAX_MSG_HEADERS (post.c)
-   [20110212 Urs Janssen <urs@tin.org>]
-
 o  always display (also) the servers error response string to the user,
    currently tin sometimes gives generic messages (e.g. when authentication
    fails), but the servers response may include additional info (like
@@ -624,8 +622,13 @@ o  rewrite mini-help, remove the long st
    [20100326 Urs Janssen <urs@tin.org>]
 
 o  rewrite auth.c
-   - turn t_bool authinfo_user, authinfo_sasl, authinfo_state into
-     enum authinfo { NONE = 0, USER = 1, SASL = 2 }
+   - it is overcomplex and the current codeflow has issues (e.g. prompts
+     for user/pass if not in newsauth even for e.g. SASL ANONYMOUS).
+   - sasl-libs likely have callbacks, make use of them!
+   - add config option (per server?) to force the use of SASL or USER/PASS
+     only (or disallow SASL (mech list?) or USER/PASS):
+     - I saw at least one bigger server which announced SASL (compiled in)
+       but did not support it (intentional lacking local config!).
 
 o  fix aclocal.m4:CF_FUNC_SYSTEM and/or misc.c:invoke_cmd() that
    --enable-broken-system-fix/IGNORE_SYSTEM_STATUS isn't needed anymore.
@@ -665,7 +668,8 @@ o  use new_nntp_command() instead of nnt
    [20050211 Urs Janssen <urs@tin.org>]
 
 o  replace various occurrence of "US-ASCII" by DEFAULT(_MIME)_CHARSET
-   and define that to "US-ASCII" (to make 'updates' easier).
+   and define that to "US-ASCII" (to make 'updates' easier). See also
+   RFC 6657 and e.g. RFC 7111 (text/cvs now defaults to UTF-8).
    [20040929 Urs Janssen <urs@tin.org>]
 
 o  get rid of CURR_GROUP, use t_group instead
@@ -679,9 +683,8 @@ o  clean up $AUTOSUBSCRIBE code (the NNT
 o  make configure look for strrstr() in libpub & publib.h
    [Urs Janssen <urs@tin.org>]
 
-o  reorder several structs to avoid padding e.g. t_capabilities (but that's
-   just used once, no big win here), t_group, ... (see gcc -Wpadded
-   and/or pahole(1))
+o  reorder several structs to avoid padding e.g. t_capabilities, t_group, ...
+   (see gcc -Wpadded and/or pahole(1))
    [Urs Janssen <urs@tin.org>]
 
 o  what type is base[]? (long, see memory.c:init_alloc()~102)
@@ -692,7 +695,8 @@ o  what type is base[]? (long, see memor
 o  check where PRODUCT should be used instead of tin_progname and/or "tin"
    [Urs Janssen <urs@tin.org>]
 
-o  check where NEWSRC_FILE should be used in lang.c instead of "newsrc"
+o  check where the global-var newsrc should be used in lang.c instead of
+   string "newsrc"
 
 o  check where iKeyAbort should be used instead of ESC (etc.pp.)
    (AFAICS all fixed except prompt.c and read.c/'z')
@@ -700,7 +704,7 @@ o  check where iKeyAbort should be used
 
 o  close potential security holes:
    - remove fixed length buffers (find_nov_file(), print_from(),
-     quote_space_to_dash(), escape_shell_meta(), backup_article(),
+     quote_space_to_dash(), escape_shell_meta(),
      build_messageid(), get_secret(), get_host_name(), get_domain_name(),
      get_fqdn(), get_user_name(), get_full_name(), build_sender(), ...)
    - change all system()/popen() calls to fork() and exec() calls
@@ -709,9 +713,12 @@ o  close potential security holes:
    - check where we should use strncpy() instead of strcpy()
    - check possible races with access()/link()/rename()/stat()/
                                unlink()/chdir()/fopen()/fstat()/open()/
-                               opendir()/t_open()/tmpfile()
+                               opendir()/t_open()
    - check getenv() results before using it
    - check where my_strncpy() or STRCPY() should be used
+   - check where s2i() or strtol(...,10) with errno checking should be used
+     instead of atoi()
+   - check where fgets() can be replaced by tin_fgets()
    [Urs Janssen <urs@tin.org>]
 
 o  split tin.h/proto.h for better dependencies in Makefile
@@ -754,6 +761,15 @@ o  some non fixed width strings could be
 o  too much code is compiled when configured NO_POSTING or without NNTP
    [20210206 Urs Janssen <urs@tin.org>]
 
+o  replace rewind(stream) with fseek(stream, 0L, SEEK_SET) to be able
+   to handle errors
+
+o  as rename_file() and copy_fp() now return errno (or 0),
+   check where we can make use of it for a more fine grained error handling.
+
+o  without %G and %P expansion, we could read mailcaps only once and keep
+   the config in memory
+
 Unicode
 -------
 o  make mm_network_charset an "option_list" to avoid junk input or
@@ -780,7 +796,7 @@ o  add IDNA 2003 (RFC 3490ff.) and IDNA
     <http://site.icu-project.org/> IDNA (uidna_IDNToUnicode()
      and/or with ICU >=4.6 uidna_nameToUnicode(uidna_openUTS46)),
     <http://www.gnu.org/s/libidn/#libidn2> IDNA 2008)
-   (added minimalistic IDNA decoding support if a recent libidn is found, urs)
+   (added minimalistic IDNA decoding support if a recent lib was found, urs)
    [20030917 Urs Janssen <urs@tin.org>]
 
 o  add normalization
@@ -794,10 +810,6 @@ o  add normalization
 o  rewrite ICU configure checks
    [20180710 Urs Janssen <urs@tin.org>]
 
-o  check for ICU ucsdet_detect() and if found add charset-detection
-   if undeclared_charset={guess,detect}
-   <https://unicode-org.github.io/icu/userguide/conversion/detection.html#charsetdetector>
-
 o  check for libutf8proc <https://github.com/JuliaStrings/utf8proc>
    and use it (as fallback)?
 
@@ -807,6 +819,9 @@ o  check for wcsftime() and if found use
 
 o  BiDi handling to select-, group-, thread-level
 
+o  check for rpmatch(3) and if found use in yes/no questions,
+   prompt.c:prompt_yn()?
+
 Docs/online help
 ----------------
 o  document the difference between
@@ -850,7 +865,9 @@ o  submit short invocation examples to t
 
 o  replace "\\" by "\e" in man pages (portable?)
 
-o  integrate doc/auth.txt into tin.1 man page
+o  integrate doc/auth.txt into tin.1 man page, mention RFCs for
+   available auth methods (AUTHINFO SASL: RFC 4643, SASL PLAIN: RFC 4616,
+   SASL ANONYMOUS: RFC 4505, ...)
 
 o  document ${HOST:-"$HOSTNAME"} fallback if gethostname(2) and uname(2)
    do not return a hostname
@@ -861,6 +878,24 @@ o  the limited pgp support (inline pgp a
 
 Not yet classified
 ------------------
+o  configure check for volatile sig_atomic_t and if found use in
+   signal_handler to flag actions to be done; check the flag outside
+   the signal_handler (where? handle_keypad()?) and do the outstanding
+   actions there, like:
+   	enum sactions {nothing, write_newsrc, tin_done, ...}
+   	volatile sig_atomic_t pending_saction = nothing;
+   	/* ... */
+   		case SIGUSR2:
+   			pending_saction = write_newsrc;
+   (could fix our SIGUSR2 and SIGTERM issue).
+
+o  add tinrc option to disable charset guessing for group-descriptions
+   and MOTD.
+
+o  with USE_ICU_UCSDET add guess_charset() and automatic conversion
+   to files added to the article, i.e. msg_add_x_body(),
+   msg_add_x_headers(), msg_write_signature(), pgp_append_public_key(), ...?
+
 o  when reconnection fails or is unwanted during "POST", also/only
    postpone_article(article_name) besides/instead of
    rename_file(article_name, dead_article) and
@@ -882,13 +917,18 @@ o  verbatim regions can't be nested, sho
 o  allow per group cancel_lock_algo setting via attributes?
    [20170810 Urs Janssen <urs@tin.org>]
 
-o  allow per group cache_overview_files setting via attributes?
+o  allow per group cache_overview_files, compress_overview_files setting
+   via attributes?
    [20180215 Urs Janssen <urs@tin.org>]
 
 o  exit HEAD/NEXT loop on 5xx responses to HEAD? (see
    art.c:open_art_header())
    [20161011 Urs Janssen <urs@tin.org>]
 
+o  motd is only shown/checked for if using nntp, subscriptions is also
+   evaluated if reading from local spool - look for motd[.nnrpd|.innd] in
+   the same dir if not using nntp?
+
 o  follow $LC_COLLATE (e.g. add strxfrm() to subj_comp_*/from_comp_*)?
    [20160421 Urs Janssen <urs@tin.org>]
 
@@ -917,14 +957,6 @@ o  articles without a Message-ID are ski
    Message-ID to them?
    [20151111 Urs Janssen <urs@tin.org>]
 
-o  create missing dir(s) in path to newsrc, right now get_newsrcname()
-   usually comes up with
-   "No permissions to go into /home/$USER/.tin/${NNTPSERVER}"
-   if one uses something like
-   *  ~/.tin/${NNTPSERVER-localhost}/.newsrc
-   in newsrctable
-   [20150121 Urs Janssen <urs@tin.org>]
-
 o  make --with-defaults-dir= default to $sysconfdir/tin
    (=/usr/local/etc/tin)?
    [20110809 Urs Janssen <urs@tin.org>]
@@ -962,7 +994,8 @@ o  support $XDG_CONFIG_HOME[S] / $XDG_DA
    <http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html>
    [20081010 Urs Janssen <urs@tin.org>]
 
-o  add //IGNORE iconv-option like //TRANSLIT?
+o  add //IGNORE iconv-option like //TRANSLIT? (and UCNV_*_U_CALLBACK_SKIP in
+   the ucnv-case)
    [20080824 Urs Janssen <urs@tin.org>]
 
 o  what about REDIRECT_OUTPUT? shouldn't we better add this to DEFAULT_PRINTER
@@ -1014,21 +1047,12 @@ o  remove hard coded keys (eg. 'q') from
 o  add PGP_INCLUDE_KEY to pgp_mail_keys?
    [20050426 Urs Janssen <urs@tin.org>]
 
-o  'article loss' reported in
-   <nntp://news.tin.org/20020915165856.GA1541@martinkl.dialup.fu-berlin.de>
-
 o  trn and perls Net::NNTP::Auth use ~/.nntpauth (format is
    "^server\s+user\s+password"), shall we also try ~/.nntpauth if we can't
    find a matching entry in ~/.newsauth? and should we look for
    ${TIN_HOMEDIR:-"$HOME"}/.tin/.newsauth if ~/.newsauth is not found?
    [20040128 Urs Janssen <urs@tin.org>]
 
-o  rework port in newsauth-, newsrctable-file and -g to allow
-   IPv6-addresses (in brackets?)
-   [implemented but without IPv6-address support. precedence is
-    [high] newsrctable, -p, -g, -T (563), $NNTPORT, 119 [low]]
-   [20140504 Urs Janssen <urs@tin.org>]
-
 o  what todo if in a CTE: x-uue the CD: filename differs from the one given
    in the begin line? IMHO we should use the one from the begin line for
    saving and in the overview in the pager.
@@ -1048,18 +1072,6 @@ o  what about -a cmd-line flag? is this
    dropped, '&' can be used for runtime color toggling.
    [20021106 Urs Janssen <urs@tin.org>]
 
-o  commas in real-name might cause problems in mail-replies
-   'From: Last, First <user@example.com>' (which was illegal in RFC 1036 but
-   is no longer with RFC 5536) leads to 'To: Last, First<user@example.com>'
-   which is 'last@localhost,user@example.com' should we try to fix things and
-   quote the realname part?
-   [20021007 Urs Janssen <urs@tin.org>]
-
-o  update gettext stuff to > gettext-0.12.1 (or drop it?)
-
-o  shows up cross-postings multiple times even if read once before getting
-   a resync/reread active/newsrc-file
-
 o  think about group numbering in "only unread" display mode
    (using different numbers in show all/show only unread leads to some
     problems, f.e. group moving)
@@ -1097,8 +1109,12 @@ o  add check for libtre and offer TRE as
 o  eval $NEWSHOST if $NNTPSERVER is unset (like Net::NNTP(3perl))
    [20141225 Urs Janssen <urs@tin.org>]
 
-o  add show_progress to art.c:setup_hard_base() and filter.c:filter_articles(),
+o  add show_progress to art.c:setup_hard_base() and filter.c:filter_articles()
    both can be slow in huge groups
 
 o  option to {display,warn,hide} article if it has an Expires:-header in the
-   past? or doe something via filter?
+   past? or do something via filter?
+
+o  also check for $NEWS_ORGANIZATION (see lynx(1))?
+
+o  add $MAILCHECK alarm-timer?
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/WHATSNEW tin-2.6.4/doc/WHATSNEW
--- tin-2.6.3/doc/WHATSNEW	2023-12-24 00:38:33.000000000 +0100
+++ tin-2.6.4/doc/WHATSNEW	2024-12-21 15:29:04.046256881 +0100
@@ -7,13 +7,17 @@ New features
 - NNTPS support based on libressl/gnuttls/OpenSSL (RFC 8143)
   (configure --with-nntps[=[libtls|openssl|gnutls]])
 - "COMPRESS DEFLATE" support (RFC 8054)
+- compress_overview_files option
 - allow to cancel wait_message() via key press
 - option to hide help/mail-info in title: show_help_mail_sign
 - option remove SOFT HYPHENs (U+00AD) from non verbatim blocks:
   suppress_soft_hyphens
-- ConnectionInfo page ('J') incl. TLS connection info
+- ConnectionInfo page ('J') incl. TLS connection info and MOTD
+- ArticleInfo page ('\'') for MIME-debugging
 - ${TIN_HOMEDIR:-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog
 - -t timeout cmd.-line option
+- -L <message-id> cmd.-line option
+- -F filter-file cmd.-line option
 - :port suffix in newsauth, newsrctable and -g
 - -[zZMN] now note unsubscribed cmd-line groups
 - cmd. execution via ! for x_body
@@ -22,15 +26,45 @@ New features
 - configurable display format of attachments
   (page_mime_format, page_uue_format, attachment_format)
 - new option show_art_score (with col_score_neg, col_score_pos)
+- new option dont_break_words
 - ranges can be undone
+- REPRODUCIBLE_BUILD define to prevent recoding of __DATE__, __TIME__,
+  $CFLAGS, $CPPFLAGS and $LDFLAGS in the binary
+- undeclared_cs_guess if system has ucsdet_detect() from libicui18n
+  the charset of an article can be guess upon reading
+- try charset conversion with ucnv_*() from libicuuc if iconv() fails
+  or is not available
+- handle multiple addresses in From, Reply-To, Approved
+- basic (no custom-messages) $MAILPATH support
+- if reading from local spool, try to read inn >= 2.3 nov-files in case
+  reading traditional nov-files failed
+- allow -D > DEBUG_REMOVE to remove debug-files on exit
+- allow argument names for -D (case insensitive, comma separated
+  list, can be mix with numeric values)
+- URI syntax-check and normalization it with uriNormalizeSyntaxA() if
+  liburiparser was found
+- $LC_NUMERIC for RADIXCHAR (used when showing attachment sizes)
+- allow hex-numbers for cmd.-line switches which take numeric args
 
 
 Changes
 -------
 - switch from stdio to own buffer implementation
-- changed the evaluation odrer of LC_CTYPE and LC_MESSAGES when looking for a
+- changed the evaluation order of LC_CTYPE and LC_MESSAGES when looking for a
   keymap file, LC_MESSAGES is now noted first
-
+- servers MOTD is only shown at startup if it changed since last connect
+- disallow set but empty $NAME or $REALNAME to prevent reading the users
+  name from /etc/passwd
+- addresses in %T are now separated by comma instead of space
+- tinrc/attributes value strings are limited to 1022 chars
+- INDEX_LOCK (used by 'u') is now created in ${TIN_HOMEDIR:-"$HOME"}/.tin
+  instead of $TMPDIR
+- valid IPv6-addresses in brackets are now allowed in gnksa-filters
+- allow ccTLD .ss, disallow ccTLD .an and .tp
 
 Retired Features
 ----------------
+- no longer ships with a fallback intl-library
+- --with-sum specifying the sum of uue-file got more and more uncommon at
+  the end of last century and uue mostly vanished later on ...
+- no longer expands %G and/or %P in $MAILCAPS
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/auth.txt tin-2.6.4/doc/auth.txt
--- tin-2.6.3/doc/auth.txt	2021-08-23 13:01:35.000000000 +0200
+++ tin-2.6.4/doc/auth.txt	2024-03-05 09:28:13.212022920 +0100
@@ -53,7 +53,7 @@ beginning of your news session, use the
 provide a .newsauth file.
 
 The AUTHINFO SASL PLAIN authentication method requires tin to be linked
-against libgsasl.
+against libgsasl (GNU SASL).
 
 The AUTHINFO SIMPLE authentication method is not supported by tin (and
 possibly won't be since nobody seems to use it and there are some problems
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/config-anomalies tin-2.6.4/doc/config-anomalies
--- tin-2.6.3/doc/config-anomalies	2021-08-23 13:01:35.000000000 +0200
+++ tin-2.6.4/doc/config-anomalies	2024-08-24 14:37:20.037643574 +0200
@@ -14,7 +14,6 @@ default_config_search	tinrc.default_sear
 default_group_search	tinrc.default_search_group
 default_subject_search	tinrc.default_search_subject
 default_art_search	tinrc.default_search_art
-default_repost_group	tinrc.default_repost_group
 
 integrate txt_tinrc_colors in txt_col_normal.tinrc
 
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/keymap.sample tin-2.6.4/doc/keymap.sample
--- tin-2.6.3/doc/keymap.sample	2023-12-24 00:38:34.000000000 +0100
+++ tin-2.6.4/doc/keymap.sample	2024-07-06 18:55:48.518391135 +0200
@@ -79,6 +79,7 @@ FeedArt				a
 FeedHot				h
 FeedPat				p
 FeedRepost			r
+FeedRange			r
 FeedSupersede			s
 FeedThd				t
 
@@ -138,6 +139,7 @@ PageToggleRot			%
 PageToggleUue			(
 PageReveal			)
 PageToggleAllHeaders		*
+PageArticleInfo			'
 PageSkipIncludedText		:
 PageTopThd			<
 PageBotThd			>
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/l10n/de/tin.1 tin-2.6.4/doc/l10n/de/tin.1
--- tin-2.6.3/doc/l10n/de/tin.1	2023-12-24 00:38:34.000000000 +0100
+++ tin-2.6.4/doc/l10n/de/tin.1	2024-12-23 10:57:25.930207599 +0100
@@ -3,19 +3,17 @@
 .\" Module    : tin.1
 .\" Author    : I. Lea, U. Janssen
 .\" Created   : 1991-08-23
-.\" Updated   : 2023-12-24
+.\" Updated   : 2024-12-24
 .\" Notes     : use American English; still needs some work, e.g.:
 .\"             - document authorization (.newsauth)
 .\"             - document random organization feature
 .\"
-.\"
-.IX Titel "tin 1"
 .\"*******************************************************************
 .\"
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH tin 1 "24 Dezember 2023" 2.6.3 "Usenet Newsreader"
+.TH tin 1 "24 Dezember 2024" 2.6.4 "Usenet Newsreader"
 .\"
 .\"
 .SH NAME
@@ -23,18 +21,17 @@
 .\"
 tin, rtin \- Usenet Newsreader
 .SH ÃœBERSICHT
-.IX Header ÃœBERSICHT
 .\"
 .\"
 \fBtin\fP [\|[\|\fB\-h\fP\||\|\fB\-H\fP\||\|\fB\-V\fP\|]\ \|| [\|[\|\fB\-a\fP\|]
 [\|\fB\-dlnq\fP\||\|\fB\-Q\fP\|] [\|\fB\-ACkrTzxX\fP\|]\|] [\|[\|\fB\-R\fP\||\|\fB\-S\fP\|]
-\|\|\fB\-s\fP \fINews\-Verz.\fP\|] [\|\fB\-cuvZ\fP\|]
-[\|\fB\-4\fP\||\|\fB\-6\fP[\|\fB\-o\fP\||\|\fB\-w\fP\||\|\fB\-N\fP\||\|\fB\-M\fP \fIAdresse\fP\|]
-[\|\fB\-D\fP \fIDebuggrad\fP\|] [\|\fB\-G\fP \fIArtikellimit\fP\|] [\|\fB\-f\fP
-\fInewsrc\-Datei\fP\|] [\|\fB\-g\fP \fIServer\fP\|] [\|\fB\-m\fP \fIMail\-Verz.\fP\|] [\|\fB\-p\fP
-\fIPort\fP\|] [\|\fB\-t\fP \fITimeout\fP\|] [\|\fB\-I\fP \fIindex\-Verz.\fP\|]\ \|[\fINewsgruppe\fP\|[\|,.\|.\|.\|]\|]\|]
+\|\|\fB\-s\fP \fINews\-Verz.\fP\|] [\|\fB\-cuvZ\fP\|] [\|\fB\-4\fP\||\|\fB\-6\fP\|]
+[\|\fB\-o\fP\||\|\fB\-w\fP\||\|\fB\-N\fP\||\|\fB\-M\fP \fIAdresse\fP\|] [\|\fB\-D\fP
+\fIDebuggrad\fP\|] [\|\fB\-F\fP \fIFilter\-Datei\fP\|] [\|\fB\-G\fP \fIArtikellimit\fP\|]
+[\|\fB\-f\fP \fInewsrc\-Datei\fP\|] [\|\fB\-g\fP \fIServer\fP\|[\|:\fIPort\fP\|]\|] [\|\fB\-L\fP
+\fIMessage\-ID\fP\|] [\|\fB\-m\fP \fIMail\-Verz.\fP\|] [\|\fB\-p\fP \fIPort\fP\|] [\|\fB\-t\fP
+\fITimeout\fP\|] [\|\fB\-I\fP \fIindex\-Verz.\fP\|]\ \|[\fINewsgruppe\fP\|[\|,.\|.\|.\|]\|]\|]
 .SH BESCHREIBUNG
-.IX Header BESCHREIBUNG
 \fBtin\fP ist ein einfach zu bedienender Newsreader fÃ¼r das Usenet. Er kann
 Artikel von einem lokalen (z. B. aus \fI/var/spool/news\fP) oder entfernten
 Server (\fBrtin\fP oder \fBtin \-r\fP Option) mittels NNTP (Network News Transport
@@ -46,8 +43,8 @@ NNTP\-Befehl (\fBRFC\%2980\fP, \fBRFC\%3
 Threadebene und Artikelebene. Mit dem \fBHelp\fP ('\fBh\fP') Befehl kÃ¶nnen die
 jeweils verfÃ¼gbaren Befehle angezeigt werden.
 .PP
-Am Anfang zeigt \fBtin\fP eine Liste der Gruppen in
-\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP. Ein Pfeil '\->' oder ein inverser
+Zu Beginn zeigt \fBtin\fP eine Liste der Gruppen in
+\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP. Ein Pfeil '\(->' oder ein inverser
 Balken zeigt auf die erste Newsgruppe. Um zu einer Gruppe zu navigieren
 kÃ¶nnen die Cursor\-Tasten (hÃ¤ngt vom verwendetem Terminal ab) oder \fBDown\fP
 ('\fBj\fP') und \fBUp\fP ('\fBk\fP') benutzt werden. Mit Bildrauf/Bildrunter (hÃ¤ngt
@@ -60,9 +57,8 @@ ausgewÃ¤hlte Gruppe wird durch DrÃ¼cken
 Durch DrÃ¼cken der \fBGroupNextUnreadArtOrGrp\fP ('\fB<TAB>\fP') Taste wird
 die nÃ¤chste Newsgruppe mit ungelesenen Artikeln betreten.
 .SH RÃœCKGABEWERT
-.IX Header RÃœCKGABEWERT
 .\" TODO: also exits with signalnr caught as exit status
-.TP 
+.TP  12
 \fB0\fP
 Programm erfolgreich beendet. Im Batch\-Modus: keine ungelesenen Nachrichten
 vorhanden.
@@ -78,7 +74,6 @@ Ungelesene Nachrichten vorhanden (nur im
 .\"
 NNTP Fehler.
 .SH OPTIONEN
-.IX Header OPTIONEN
 .TP  12
 \fB\-4\fP
 Verbindung via IPv4 zum NNTP Server erzwingen. Nur verfÃ¼gbar, wenn \fBtin\fP
@@ -112,21 +107,45 @@ Keine Gruppenbeschreibungen und die Serv
 (Interaktiver\-Modus).
 .TP 
 \fB\-D\fP\fI Debuggrad\fP
-Debuggrad angeben (1 = NNTP, 2 = Filter, 4 = newsrc, 8 = Threading, 16 =
-Speicher, 32 = attributes, 64 = Diverses, 128 = vorhandene Debugdateien
-lÃ¶schen). Im NNTP\-Level steuert \*(rq\fB\-v\fP\*(rq die AusfÃ¼hrlichkeit der
-Ausgabe. Je nach Debuggrad kÃ¶nnten verschiedene Dateien nach \fI$TMPDIR\fP
-geschrieben werden und/oder eine Bildschirmausgabe erfolgen. Auch den
-Abschnitt "SICHERHEIT" beachten!
+Enter debug\-level, the levels can specified via number (should be avoided as
+it will be removed in the future) or name (case insensitive) as listed
+below. Use comma to give multiple levels, any combinations are allowed
+(e.g., \*(rq\fB\-D\fP \fIGNKSA,2,NNTP\fP\*(rq). If removal is requested it will be
+performed at startup and on normal termination (that is the files are only
+available while tin is running).
+.in +.3i
+.nf
+.ta \w'%128 'u +\w'ATTRIBUTES 'u +\w'ATTRIBUTES 'u +\w'ATTRIBUTES'u
+  \fI1	NNTP	NNTPS\fP
+  \fI2	FILTER	ARTS\fP
+  \fI4	NEWSRC	BITMAP\fP
+  \fI8	THREADING	REFS\fP
+ \fI16	MEMORY	MALLOC\fP
+ \fI32	ATTRIBUTES\fP
+ \fI64	MISC	GNKSA	ACTIVE\fP
+\fI127	ALL	EVERYTHING\fP
+\fI128	REMOVE	DELETE\fP
+.fi
+.in -0.3i
+Im NNTP\-Level steuert \*(rq\fB\-v\fP\*(rq die AusfÃ¼hrlichkeit der Ausgabe. Je nach
+Debuggrad kÃ¶nnten verschiedene Dateien nach \fI$TMPDIR\fP geschrieben werden
+und/oder eine Bildschirmausgabe erfolgen. Auch den Abschnitt "SICHERHEIT"
+beachten!
 .TP 
 \fB\-f\fP\fI Datei\fP
 Benutze die angegebene newsrc\-Datei anstelle von
-\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP.
+\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP oder der Datei aus
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fP.
 .TP 
-\fB\-g\fP\fI Server[:Port]\fP
+\fB\-F\fP\fI Datei\fP
+Angegebene Filter\-Datei anstelle von \fI${TIN_HOMEDIR:\-"$HOME"}/.filter\fP
+verwenden.
+.TP 
+\fB\-g\fP\fI Server\fP[\fB:\fP\fIPort\fP]
 ZugehÃ¶rigen Newsserver[:Port] und newsrc\-Datei aus
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fP benutzen. Nur verfÃ¼gbar, wenn
-via NNTP gelesen wird.
+via NNTP gelesen wird.Wenn Sie einen Port mit einer direkten IPv6\-Adresse
+angeben mÃ¶chten, muss die Adresse in eckige Klammern gesetzt werden.
 .TP 
 \fB\-G\fP\fI Artikellimit\fP
 BeschrÃ¤nkt die Anzahl der Artikel pro Gruppe, die vom Server abgerufen
@@ -165,6 +184,10 @@ GROUP ((\fBRFC\%3977\fP) \*(rq\fB\-ln\fP
 LIST COUNTS (\fBRFC\%6048\fP) verfÃ¼gbar ist, wird dies stattdessen verwendet,
 da es genauere Artikelzahlen liefert.
 .TP 
+\fB\-L\fP
+Zeigt die Nachricht mit der angegebenen Message\-ID an, falls diese verfÃ¼gbar
+ist. Nur verfÃ¼gbar, wenn via NNTP gelesen wird.
+.TP 
 \fB\-m\fP\fI Verzeichnis\fP
 Zu benutzendes Mailbox\-Verzeichnis. Voreinstellung ist
 \fI${TIN_HOMEDIR:\-"$HOME"}/Mail\fP.
@@ -194,7 +217,8 @@ wieder beenden. Nach MÃ¶glichkeit mit \*
 \fB\-p\fP\fI Port\fP
 Zu benutzende Portnummer falls per NNTP gelesen wird (Voreinstellung ist 119
 oder 563 falls NNTPS benutzt wird, siehe \*(rq\fB\-T\fP\*(rq). Ãœbersteuert die
-Umgebungsvariable $\fBNNTPPORT\fP. Nur verfÃ¼gbar, wenn via NNTP gelesen wird.
+Umgebungsvariablen $\fBNNTPPORT\fP und $\fBNNTPSPORT\fP. Nur verfÃ¼gbar, wenn via
+NNTP bzw. NNTPS gelesen wird.
 .TP 
 \fB\-q\fP
 Nicht prÃ¼fen ob neue Newsgruppen vorhanden sind und die Server Meldung des
@@ -202,7 +226,7 @@ Tages nicht laden.
 .TP 
 \fB\-Q\fP
 Schnellstart. \fBtin\fP so schnell wie mÃ¶glich starten, zur Zeit entspricht
-diese Option \*(rq\fB\-dnq\fP\*(rq. Siehe auch die Befehlszeilenoptionen '\fB\-C\fP\*(rq und
+diese Option \*(rq\fB\-dnq\fP\*(rq. Siehe auch die Kommandozeilenoptionen '\fB\-C\fP\*(rq und
 \&\*(rq\fB\-G\fP\*(rq.
 .TP 
 \fB\-r\fP
@@ -228,7 +252,7 @@ Ãœbersteuert die \fBnntp_read_timeout_se
 .TP 
 \fB\-T\fP
 NNTPS (NNTP Ã¼ber TLS) aktivieren. Dies setzt auch die Umgebungsvariable
-$\fBNNTPPORT\fP auÃŸer Kraft, falls diese gesetzt ist. Nur verfÃ¼gbar, wenn Ã¼ber
+$\fBNNTPSPORT\fP auÃŸer Kraft, falls diese gesetzt ist. Nur verfÃ¼gbar, wenn Ã¼ber
 NNTP gelesen wird.
 .TP 
 \fB\-u\fP
@@ -240,8 +264,8 @@ abgestellt ist.
 .TP 
 \fB\-v\fP
 AusfÃ¼hrliche Ausgabe fÃ¼r \*(rq\fB\-c\fP\*(rq, \*(rq\fB\-D\fP\*(rq, \*(rq\fB\-M\fP\*(rq, \*(rq\fB\-N\fP\*(rq,
-\&\*(rq\fB\-S\fP\*(rq, \*(rq\fB\-u\fP\*(rq und \*(rq\fB\-Z\fP\*(rq\-Optionen. Kann mehrfach verwendet
-werden, um die AusfÃ¼hrlichkeit zu erhÃ¶hen.
+\&\*(rq\fB\-S\fP\*(rq, \*(rq\fB\-u\fP\*(rq, \*(rq\fB\-V\fP\*(rq und \*(rq\fB\-Z\fP\*(rq\-Optionen. Kann mehrfach
+verwendet werden, um die AusfÃ¼hrlichkeit zu erhÃ¶hen.
 .TP 
 \fB\-V\fP
 Versionsinformationen und Kompilieroptionen ausgeben.
@@ -256,7 +280,8 @@ Sie kÃ¶nnen keine Artikel verÃ¶ffentlich
 \fB\-X\fP
 SchreibgeschÃ¼tzter Modus. \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP und Dateien
 unter \fI${TIN_HOMEDIR:\-"$HOME"}/.tin\fP werden nicht Ã¼berschrieben aber
-angelegt falls sie nicht existieren.
+angelegt falls sie nicht existieren. Nach MÃ¶glichkeit mit \*(rq\fB\-x\fP\*(rq
+kombinieren.
 .TP 
 \fB\-z\fP
 \fBtin\fP nur starten wenn es neue/ungelesene Artikel gibt. Falls das der Fall
@@ -277,11 +302,11 @@ Skripten.
 finden Sie im Abschnitt "MENÃœ DER GLOBALE OPTIONEN UND KONFIGURIERBAREN
 TINRC\-VARIABLEN" und \fB\%tin\fP(5).
 .PP
-Eine Liste von Gruppen kann nach den anderen Befehlszeilenoptionen angegeben
-werden. Dies kann nÃ¼tzlich sein, falls Sie eine handverlesene Untermenge der
-aktiven Newsgruppen einblenden oder abonnieren mÃ¶chten. Siehe den Abschnitt
-"NEWSGROUP LISTEN & WILDCARDS" fÃ¼r die Arten von Muster, die \fBtin\fP
-versteht.
+Eine Liste von Gruppen kann nach den anderen Kommandozeilenoptionen
+angegeben werden. Dies kann nÃ¼tzlich sein, falls Sie eine handverlesene
+Untermenge der aktiven Newsgruppen einblenden oder abonnieren mÃ¶chten. Siehe
+den Abschnitt "NEWSGROUP LISTEN & WILDCARDS" fÃ¼r die Arten von Muster, die
+\fBtin\fP versteht.
 .PP
 Wenn Sie einen einzelnen Gruppennamen oder eine Wildcard, die nur auf eine
 einzelne Gruppe passt angeben, dann wird automatisch in diese Gruppe
@@ -307,16 +332,21 @@ NB: With the \*(rq\fB\-n\fP\*(rq flag, o
 .PP
 .\"
 .\"
-Kommandozeilenoptionen haben eine hÃ¶here PrioritÃ¤t als attributes und tinrc
-Optionen und Ã¼bersteuern daher die konfigurierten Werte.
+Die Befehlszeilenoptionen haben eine hÃ¶here PrioritÃ¤t als Attribute und
+tinrc Optionen. Daher hat die Befehlszeilenoption Vorrang vor dem
+konfigurierten Wert, mit der einzigen Ausnahme, dass, wenn ein Port fÃ¼r den
+Newsserver in \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fP angegeben wird,
+dieser den Port Ã¼berschreibt, der in der Befehlszeile angegeben ist. Die
+Reihenfolge der Befehlszeilenoptionen ist nicht wichtig. Wenn sie
+gegenseitig ausschlieÃŸend sind, wird die mit der hÃ¶chsten PrioritÃ¤t
+ausgewÃ¤hlt und eventuell eine Warnung ausgegeben.
 .SH GEBRAUCH
-.IX Header GEBRAUCH
 .\"
 .\"
 .SS "NEWS ADMINISTRATION"
-Maintaining Netnews on large networks of machines can be a pretty time
-consuming job as I discovered when I was given the job of maintaining our
-news system and news users.
+Die Pflege von Netnews in groÃŸen Rechnernetzen kann sehr zeitaufwendig sein,
+wie ich feststellen musste, als ich mit der Pflege unseres Newssystems und
+der Benutzerbetreuung beauftragt wurde.
 .PP
 .\"
 .\"
@@ -338,13 +368,12 @@ Newsgruppen werden in der Mitte des Bild
 der ungelesenen Artikel in der gleichen Zeile davor, abgebildet, aber das
 kann mittels \fBselect_format\fP angepasst werden.
 .PP
-.\" FIXME - make this auto scale
 .nf
-\->M    1     2  comp.security.announce  Announcements from the CERT abou
+\f(CR\(->M    1     2  comp.security.announce  Announcements from the CERT abou
   M    2     1  news.admin.announce     Announcements for news adminstra
        3    22  news.software.misc      News\-related software other than
        4  1475  news.software.nntp      The Network News Transfer Protoc
-  X    5   124  news.software.readers   Discussion of software used to r
+  X    5   124  news.software.readers   Discussion of software used to r\fR
 .fi
 .PP
 Eventuell steht am Anfang der Zeile noch eines der folgende Zeichen:
@@ -414,14 +443,13 @@ section "FILTERING ARTICLES") it's marke
 front of the total number of articles in the thread. The display can be
 customized via \fBgroup_format\fP.
 .PP
-.\" FIXME - make this auto scale
 .nf
-                de.admin.net\-abuse.announce (11B 13+ 1* 1o 0K) M
+\f(CR                de.admin.net\-abuse.announce (11B 13+ 1* 1o 0K) M\fR
 
-\->   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg <l
+\f(CR\(->   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg <l
      2   +       69 EMP/ECP gecancelt. xynx. BI= 10  Henning Weede <hwee
      3   o       93 EMP gecancelt. SouthBeach/Palms  Henning Weede <hwee
-     4   *      368 <1997\-11\-12> Fremdcancel\-FAQ     Thomas Roessler <ro
+     4   *      368 <1997\-11\-12> Fremdcancel\-FAQ     Thomas Roessler <ro\fR
 .fi
 .PP
 .\" FIXME - add description of fields
@@ -429,25 +457,23 @@ Auf Thread\-Ebene sieht der Bildschirm n
 verwendeten Thread\-Methode) so aus, kann aber Ã¼ber \fBthread_format\fP
 angepasst werden:
 .PP
-.\" FIXME - make this auto scale
 .nf
-\->   1      [   7]  What is this funny tree in the thr  Robert F. Simmig
-     2      [  12]  +\->                                 Sephan Wagner <s
-     3      [ 230]  | `\->Tin thread\-level (was: What is Bob Johnson <bob
-     4      [  22]  `\->tin threading menu               Brian Richardson
+\f(CR\(->   1      [   7]  What is this funny tree in the thr  Robert F. Simmig
+     2      [  12]  +\(->                                 Sephan Wagner <s
+     3      [ 230]  | `\(->Tin thread\-level (was: What is Bob Johnson <bob
+     4      [  22]  `\(->tin threading menu               Brian Richardson\fR
 
 .fi
 .PP
 .\" FIXME - add description of fields
 In der Artikelebene hat der Kopf der Seite folgendes Format:
 .PP
-.\" FIXME - make this auto scale
 .nf
-So, 28 Dez 1997 21:21:01    de.admin.news.groups      Thread   20 v. 86
+\f(CRSo, 28 Dez 1997 21:21:01    de.admin.news.groups      Thread   20 v. 86
 Zeilen 50   Re: EINSPRUCH zu RESULT:de.comm.mobil.ALL Artikel  47 von 59
-Urs Janssen <urs@akk.org>       bei Arbeitskreis Kultur und Kommunikati
+Urs Janssen <urs@akk.org>       bei Arbeitskreis Kultur und Kommunikati\fR
 
-Artikel\-KÃ¶rper
+\f(CRArtikel\-KÃ¶rper\fR
 .fi
 .PP
 .\"
@@ -544,9 +570,10 @@ sequence instead: reload it with \fBPost
 ('\fB^O\fP\*(rq\fBy\fP\*(rq\fBq\fP'). See also \*(rq\fB\-o\fP\*(rq command\-line switch.
 .TP 
 \fBHelp 'h'\fP
-Help screen of commands available on the current menu. You can use
-\fBSearchSubjF\fP ('\fB/\fP'), \fBSearchSubjB\fP ('\fB?\fP') and \fBSearchRepeat\fP
-('\fB\(rs\fP') to search on this screen. \fBQuit\fP ('\fBq\fP') returns to the menu.
+Hilfebildschirm mit den im aktuellen MenÃ¼ verfÃ¼gbaren Befehlen. Sie kÃ¶nnen
+\fBSearchSubjF\fP ('\fB/\fP'), \fBSearchSubjB\fP ('\fB?\fP') und \fBSearchRepeat\fP
+('\fB\(rs\fP') verwenden, um darin zu suchen. \fBQuit\fP ('\fBq\fP') kehrt zum MenÃ¼
+zurÃ¼ck.
 .TP 
 \fBToggleHelpDisplay 'H'\fP
 Mini\-Hilfe am unterem Bildschirmrand und Posting Etikette nach dem Verfassen
@@ -619,7 +646,7 @@ werden.
 \fBToggleInfoLastLine 'i'\fP
 Umschalten der Anzeige der Beschreibung der aktuellen Newsgroup in der
 letzten Zeile. Dies ist nicht verfÃ¼gbar, wenn \fBtin\fP mit \&\*(rq\fB\-d\fP\*(rq
-gestartet wurde
+gestartet wurde.
 .TP 
 \fBToggleInverseVideo 'I'\fP
 (De)aktiviere inverse Darstellung.
@@ -636,10 +663,10 @@ Befehl nur beim Lesen mittels NNTP und d
 \fBRFC\%3977\fP) oder XPAT (\fBRFC\%2980\fP) unterstÃ¼tzen.
 .TP 
 \fBSelectMoveGrp 'm'\fP
-Move the current group within the group selection list. By entering '1' the
-group will become the first displayed group in the list, by entering '8' the
-eighth group in the list etc. By entering '$' the group will be the last
-group displayed.
+Verschieben Sie die aktuelle Gruppe innerhalb der Gruppenauswahlliste. Durch
+Eingabe von '1' wird die Gruppe zur ersten angezeigten Gruppe in der Liste,
+durch Eingabe von '8' zur achten Gruppe in der Liste usw. Durch Eingabe von
+\&'$' wird die Gruppe zur letzten angezeigten Gruppe.
 .TP 
 \fBOptionMenu 'M'\fP
 MenÃ¼ fÃ¼r benutzerkonfigurierbare Optionen (weitere Informationen finden sich
@@ -656,9 +683,9 @@ nachgefragt.
 Beendet \fBtin\fP sofort, ohne BestÃ¤tigungsnachfrage.
 .TP 
 \fBSelectToggleReadDisplay 'r'\fP
-Toggle display of all subscribed to groups and just those groups containing
-unread articles. Command has no effect if groups were specified on the
-command\-line when \fBtin\fP was started.
+Anzeige aller abonnierten Gruppen und nur der Gruppen mit ungelesenen
+Artikeln umschalten. Der Befehl hat keine Auswirkung, wenn beim Start von
+\fBtin\fP Gruppen in der Befehlszeile angegeben wurden.
 .TP 
 \fBBugReport 'R'\fP
 Einen Fehlerbericht oder Kommentar an <tin\-bugs@tin.org>
@@ -669,19 +696,19 @@ bekommen bzw. nach neuen Funktionen zu f
 AusgewÃ¤hlte Gruppe abonnieren.
 .TP 
 \fBSelectSubscribePat 'S'\fP
-Subscribe to groups matching user specified pattern. See the section
-"NEWSGROUP LISTS & WILDCARDS" for the types of pattern that \fBtin\fP
-understands.
+Abonnieren Sie Gruppen, die dem vom Benutzer angegebenen Muster
+entsprechen. Siehe den Abschnitt "NEWSGROUP LISTEN & WILDCARDS" fÃ¼r die
+Mustertypen, die \fBtin\fP versteht.
 .TP 
 \fBSelectUnsubscribe 'u'\fP
-Unsubscribe to current group. This can be used to remove bogus groups.  See
-\fBstrip_bogus\fP in the "GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES"
-section.
+Aktuelle Gruppe abbestellen. Dies kann zum Entfernen ungÃ¼ltiger Gruppen
+verwendet werden. Siehe \fBstrip_bogus\fP im Abschnitt "MENÃœ DER GLOBALE
+OPTIONEN UND KONFIGURIERBAREN TINRC\-VARIABLEN".
 .TP 
 \fBSelectUnsubscribePat 'U'\fP
-Unsubscribe to groups matching user specified pattern. See the section
-"NEWSGROUP LISTS & WILDCARDS" for the types of pattern that \fBtin\fP
-understands.
+Abmelden von Gruppen, die dem vom Benutzer angegebenen Muster
+entsprechen. Siehe den Abschnitt "NEWSGROUP LISTEN & WILDCARDS" fÃ¼r die
+Mustertypen, die tin versteht.
 .TP 
 \fBPost 'w'\fP
 Post an article to current group. If posting fails for some reason, you'll
@@ -724,14 +751,14 @@ Artikel mit Hilfe eines MenÃ¼s ausblende
 Informationen den Abschnitt "FILTERN VON ARTIKELN".
 .TP 
 \fBMarkFeedRead '^X'\fP
-Mark current article, thread, range, auto\-selected (hot) articles, articles
-matching pattern or tagged articles as read. A prompt asks which type should
-be marked.
+Markiert den aktuellen Artikel, Thread, Bereich, automatisch ausgewÃ¤hlte
+(heiÃŸe) Artikel, Artikel mit MusterÃ¼bereinstimmung oder getaggte Artikel als
+gelesen. Eine Eingabeaufforderung fragt, welcher Typ markiert werden soll.
 .TP 
 \fBMarkFeedUnread '^W'\fP
-Mark current article, thread, range, auto\-selected (hot) articles, articles
-matching pattern or tagged articles as unread. A prompt asks which type
-should be marked.
+Markiert den aktuellen Artikel, Thread, Bereich, automatisch ausgewÃ¤hlte
+(heiÃŸe) Artikel, Artikel mit MusterÃ¼bereinstimmung oder getaggte Artikel als
+ungelesen. Eine Eingabeaufforderung fragt, welcher Typ markiert werden soll.
 .TP 
 \fBSetRange '#'\fP
 WÃ¤hlen Sie eine Reihe von Artikeln auf die der nÃ¤chste Befehl angewendet
@@ -757,20 +784,21 @@ WÃ¤hlt alle Threads in der aktuellen Gru
 \fBGroupSelPattern\fP mit einem Muster von \*(rq*\*(rq.
 .TP 
 \fBGroupToggleThdSel '.'\fP
-Toggle selection of current thread. If at least one unread article, (but not
-every unread article) in the current thread is selected, then all unread
-articles become selected.
+Auswahl des aktuellen Threads umschalten. Wenn mindestens ein ungelesener
+Artikel (aber nicht jeder ungelesene Artikel) im aktuellen Thread ausgewÃ¤hlt
+ist, werden alle ungelesenen Artikel ausgewÃ¤hlt.
 .TP 
 \fBGroupSelThdIfUnreadSelected ';'\fP
-For each thread in current group, if it at least one unread article is
-selected, all unread articles become selected. This is useful for
-auto\-selection on author where reader wants to see entire thread.
+Wenn fÃ¼r jeden Thread in der aktuellen Gruppe mindestens ein ungelesener
+Artikel ausgewÃ¤hlt ist, werden alle ungelesenen Artikel ausgewÃ¤hlt. Dies ist
+nÃ¼tzlich fÃ¼r die automatische Auswahl anhand des Autors, wenn der Leser den
+gesamten Thread sehen mÃ¶chte.
 .TP 
 \fBGroupSelPattern '='\fP
-Prompts for a pattern with which to match on. All threads whose subjects
-match the pattern will be marked selected. A pattern of \*(rq*\*(rq will match all
-subjects. Entering just '\fB<CR>\fP' will re\-use the last pattern that
-was entered.
+Fordert zur Eingabe eines Musters auf, mit dem verglichen werden soll. Alle
+Threads, deren Subject mit dem Muster Ã¼bereinstimmen, werden als ausgewÃ¤hlt
+markiert. Wenn nur '\fB<CR>\fP' eingeben, wird das zuletzt eingegebene
+Muster wiederverwendet.
 .TP 
 \fBGroupReverseSel '@'\fP
 Markierung fÃ¼r alle Artikel umkehren.
@@ -861,16 +889,18 @@ anzeigen.
 Informationen zur aktuellen Verbindung anzeigen.
 .TP 
 \fBGroupMarkThdRead 'K'\fP
-Mark article/thread as read and move onto the next unread article/thread. If
-a range of articles/threads is set, the range will be marked as read instead
-of the current article/thread. When tagged articles/threads are present, a
-prompt asks how to proceed.
+Markieren den Artikel/Thread als gelesen und fÃ¤hrt mit dem nÃ¤chsten
+ungelesenen Artikel/Thread fort. Wenn ein Bereich von Artikeln/Threads
+festgelegt ist, wird der Bereich als gelesen markiert und nicht der aktuelle
+Artikel/Thread. Falls getaggte Artikel/Threads vorhanden sind, wird gefragt,
+wie fortgefahren werden soll.
 .TP 
 \fBGroupListThd 'l'\fP
 Ã–ffnet den Thread unter der aktuellen Cursorposition.
 .TP 
 \fBLookupMessage 'L'\fP
-Artikel anhand der \*(rqMessage\-ID:\*(rq nachschlagen.
+Artikel nach \*(rqMessage\-ID:\*(rq suchen. In dieser Ebene werden nur die IDs in
+der aktuellen Gruppe durchsucht.
 .TP 
 \fBGroupMail 'm'\fP
 Mailt den aktuellen Artikel / Thread / automatisch ausgewÃ¤hlte (heiÃŸe)
@@ -924,9 +954,9 @@ NACHSENDEN UND SPEICHERN VON ARTIKELN".
 Markierte Artikel automatisch ohne weiteres Nachfragen speichern.
 .TP 
 \fBGroupTag 't'\fP
-Toggle tag\-status of current article / thread for \fBGroupMail\fP ('\fBm\fP')  /
+Tag\-Status des aktuellen Artikels/Threads fÃ¼r \fBGroupMail\fP ('\fBm\fP') /
 \fBPipe\fP ('\fB|\fP') / \fBPrint\fP ('\fBo\fP') / \fBGroupSave\fP ('\fBs\fP') /
-\fBGroupRepost\fP ('\fBx\fP').
+\fBGroupRepost\fP ('\fBx\fP') umschalten.
 .TP 
 \fBGroupTagParts 'T'\fP
 Alle Teile der aktuellen mehrteiligen Nachricht automatisch in der
@@ -949,10 +979,11 @@ auch \*(rq\fB\-o\fP\*(rq Kommandozeilens
 verwerfen.
 .TP 
 \fBGroupRepost 'x'\fP
-Repost an already posted article / thread / auto\-selected (hot) articles /
-articles matching pattern / tagged articles to another newsgroup(s). Useful
-for reposting from global to local newsgroups. Do not use this to crosspost
-your own articles.
+Erneutes Posten eines bereits geposteten Artikels / Threads / automatisch
+ausgewÃ¤hlter (heiÃŸer) Artikel / Artikel, die einem Muster entsprechen / mit
+Tags versehenen Artikel in eine andere Newsgroup. NÃ¼tzlich zum
+WiederverÃ¶ffentlichen von globalen zu lokalen Newsgroups. Nicht verwenden um
+eigenen Artikel mehrfach zu posten.
 .TP 
 \fBGroupMarkUnselArtRead 'X'\fP
 Mark all unread articles that have not been selected as read, redraw screen
@@ -968,9 +999,10 @@ Aktuellen Artikel als ungelesen markiere
 \fBMarkThdUnread 'Z'\fP
 .\" -------------------------------------------------------------------
 .\"
-Mark current thread as unread. If a range of threads is set, the range will
-be marked as unread instead of the current thread. When tagged threads are
-present, a prompt asks how to proceed.
+Aktuellen Thread als ungelesen markieren. Wenn ein Thread\-Bereich festgelegt
+ist, wird der Bereich anstelle des aktuellen Threads als ungelesen
+markiert. Falls getaggte Threads vorhanden sind, wird gefragt, wie
+fortgefahren werden soll.
 .SS "BEFEHLE ZUM AUFLISTEN VON THREADS"
 .\" this sections should be complete
 .TP  10
@@ -986,14 +1018,14 @@ Artikel mit Hilfe eines MenÃ¼s ausblende
 Informationen den Abschnitt "FILTERN VON ARTIKELN".
 .TP 
 \fBMarkFeedRead '^X'\fP
-Mark current article, thread, range, auto\-selected (hot) articles, articles
-matching pattern or tagged articles as read. A prompt asks which type should
-be marked.
+Markiert den aktuellen Artikel, Thread, Bereich, automatisch ausgewÃ¤hlte
+(heiÃŸe) Artikel, Artikel mit MusterÃ¼bereinstimmung oder getaggte Artikel als
+gelesen. Eine Eingabeaufforderung fragt, welcher Typ markiert werden soll.
 .TP 
 \fBMarkFeedUnread '^W'\fP
-Mark current article, thread, range, auto\-selected (hot) articles, articles
-matching pattern or tagged articles as unread. A prompt asks which type
-should be marked.
+Markiert den aktuellen Artikel, Thread, Bereich, automatisch ausgewÃ¤hlte
+(heiÃŸe) Artikel, Artikel mit MusterÃ¼bereinstimmung oder getaggte Artikel als
+ungelesen. Eine Eingabeaufforderung fragt, welcher Typ markiert werden soll.
 .TP 
 \fBSetRange '#'\fP
 WÃ¤hlen Sie eine Reihe von Artikeln auf die der nÃ¤chste Befehl angewendet
@@ -1090,7 +1122,8 @@ articles is set, the range will be marke
 article. When tagged articles are present, a prompt asks how to proceed.
 .TP 
 \fBLookupMessage 'L'\fP
-Artikel anhand der \*(rqMessage\-ID:\*(rq nachschlagen.
+Artikel nach \*(rqMessage\-ID:\*(rq suchen. In dieser Ebene werden nur die IDs in
+der aktuellen Gruppe durchsucht.
 .TP 
 \fBThreadMail 'm'\fP
 Mailt den aktuellen Artikel / Thread / automatisch ausgewÃ¤hlte (heiÃŸe)
@@ -1170,8 +1203,8 @@ Dem Autor des aktuellen Artikels per E\-
 einschlieÃŸlich aller Header anworten.
 .TP 
 \fBPagePGPCheckArticle '^G'\fP
-Perform \fB\%pgp\fP(1)  / \fB\%gpg\fP(1)  operations on article. This expects
-inline pgp (\fBRFC\%4880\fP) and not MIME pgp (\fBRFC\%3156\fP).
+\fB\%pgp\fP(1) / \fB\%gpg\fP(1)\-Operationen fÃ¼r den Artikel ausfÃ¼hren. Es muÃŸ
+Inline\-PGP (\fBRFC\%4880\fP) und nicht MIME\-PGP (\fBRFC\%3156\fP) vorliegen.
 .TP 
 \fBPageToggleRaw '^H'\fP
 Schaltet den Anzeigemodus um (Roh einschlieÃŸlich aller Header zu
@@ -1197,12 +1230,16 @@ entnommen.
 Schaltet die Anzeige aller Header vs. Header in \fBnews_headers_to_display\fP
 um.
 .TP 
+\fBPageArticleInfo \*(rq'\fP
+Detaillierte MIME\-Informationen des Artikels.
+.TP 
 \fBPageToggleRot '%'\fP
 ROT\-13 EntschlÃ¼sseln ein\-/ausschalten.
 .TP 
 \fBPageToggleUue '('\fP
-Toggle the display of uuencoded sections. The default behavior is taken from
-the \fBhide_uue\fP variable in the tinrc file.
+Schalten Sie die Anzeige von uuencodierten Abschnitten um. Das
+Standardverhalten wird durch die Variable \fBhide_uue\fP in der tinrc\-Datei
+festgelegt.
 .TP 
 \fBPageReveal ')'\fP
 The form feed character (^L) is often used to hide 'spoilers' that the
@@ -1224,9 +1261,9 @@ VorwÃ¤rts innerhalb dieses Artikels such
 RÃ¼ckwÃ¤rts innerhalb dieses Artikels suchen.
 .TP 
 \fBPageSkipIncludedText ':'\fP
-Skip to the end of the next quoted text\-block in this article. Quoted text
-is everything which matches \fBquote_regex\fP, \fBquote_regex2\fP or
-\fBquote_regex3\fP.
+Zum Ende des nÃ¤chsten zitierten Textblocks in diesem Artikel
+springen. Zitierter Text ist alles, was mit \fBquote_regex\fP, \fBquote_regex2\fP
+oder \fBquote_regex3\fP Ã¼bereinstimmt.
 .TP 
 \fBPageTopThd '<'\fP
 Gehe zum ersten Artikel im aktuellen Thread.
@@ -1329,7 +1366,8 @@ ungelesenen Thread.
 Zeigt das Thread\-MenÃ¼ an, zu dem der aktuelle Artikel gehÃ¶rt.
 .TP 
 \fBLookupMessage 'L'\fP
-Artikel anhand der \*(rqMessage\-ID:\*(rq nachschlagen.
+Artikel nach \*(rqMessage\-ID:\*(rq suchen. In dieser Ebene werden nur die IDs in
+der aktuellen Gruppe durchsucht.
 .TP 
 \fBPageMail 'm'\fP
 Mailt den aktuellen Artikel / Thread / automatisch ausgewÃ¤hlte (heiÃŸe)
@@ -1366,12 +1404,12 @@ Kehrt zur vorherigen Ebene zurÃ¼ck.
 Beendet \fBtin\fP sofort, ohne BestÃ¤tigungsnachfrage.
 .TP 
 \fBPageReplyQuote 'r'\fP
-Reply through mail to the author of the current article with a copy of the
-article included.
+Per E\-Mail an den Autor des aktuellen Artikels antworten und eine Kopie des
+Artikels beifÃ¼gen.
 .TP 
 \fBPageReply 'R'\fP
-Reply through mail to the author of the current article without including
-the original article.
+Per E\-Mail an den Autor des aktuellen Artikels antworten ohne eine Kopie des
+Artikels beizufÃ¼gen.
 .TP 
 \fBPageSave 's'\fP
 Speichert den aktuellen Artikel / Thread / automatisch ausgewÃ¤hlte (heiÃŸe)
@@ -1397,8 +1435,8 @@ Eine Liste der URLs im aktuellen Artikel
 finden Sie im Abschnitt "URL LISTE".
 .TP 
 \fBPageViewAttach 'V'\fP
-Display a list of attachments of the current article. See the section
-"ATTACHMENT LISTING" for more information.
+Zeigt eine Liste der AnhÃ¤nge des aktuellen Artikels an. Weitere
+Informationen finden Sie im Abschnitt "ANHANGSVERZEICHNIS".
 .TP 
 \fBPost 'w'\fP
 VerÃ¶ffentlichen Sie einen Artikel in der aktuellen Gruppe. Wenn das
@@ -1409,10 +1447,11 @@ auch \*(rq\fB\-o\fP\*(rq Kommandozeilens
 verwerfen.
 .TP 
 \fBPageRepost 'x'\fP
-Repost an already posted article / thread / auto\-selected (hot) articles /
-articles matching pattern / tagged articles to another newsgroup(s). Useful
-for reposting from global to local newsgroups. Do not use this to crosspost
-your own articles.
+Erneutes Posten eines bereits geposteten Artikels / Threads / automatisch
+ausgewÃ¤hlter (heiÃŸer) Artikel / Artikel, die einem Muster entsprechen / mit
+Tags versehenen Artikel in eine andere Newsgroup. NÃ¼tzlich zum
+WiederverÃ¶ffentlichen von globalen zu lokalen Newsgroups. Nicht verwenden um
+eigenen Artikel mehrfach zu posten.
 .TP 
 \fBMarkArtUnread 'z'\fP
 Alle Artikel als ungelesen markieren.
@@ -1601,8 +1640,9 @@ the name of the corresponding setting in
 .TP  4
 \fBLange Newsgruppennamen abkÃ¼rzen (abbreviate_groupname)\fP
 Falls ON werden, sofern nÃ¶tig, lange Newsgruppennamen in der Auswahl\- und
-Artikelebene wie folgt abgekÃ¼rzt: news.software.readers \->
-n.software.readers \-> n.s.readers \-> n.s.r. Voreinstellung ist OFF.
+Artikelebene wie folgt abgekÃ¼rzt: news.software.readers \(->
+n.software.readers \(-> n.s.readers \(-> n.s.r. Voreinstellung ist
+OFF.
 .TP 
 \fBFÃ¼ge gepostete Artikel zum Filter (add_posted_to_filter)\fP
 Falls ON fÃ¼ge gepostete Artikel die einen neuen Thread einleiten zum Filter
@@ -1647,7 +1687,7 @@ ist ' '.
 .TP 
 \fBZeichen fÃ¼r gekillte Artikel (art_marked_killed)\fP
 Zeichen das anzeigt, dass ein Artikel gekillt wurde. Voreinstellung ist
-\&'K'). \fBkill_level\fP muss passend gesetzt sein.
+\&'K'. \fBkill_level\fP muss passend gesetzt sein.
 .TP 
 \fBZeichen fÃ¼r gelesene wichtige Art. (art_marked_read_selected)\fP
 Zeichen, das verwendet wird, um anzuzeigen, dass ein Artikel automatisch
@@ -1655,9 +1695,9 @@ ausgewÃ¤hlt (heiÃŸ) war, bevor er gelese
 \&':'. \fBkill_level\fP muss entsprechend eingestellt werden.
 .TP 
 \fBStart des MIME\-Viewers bestÃ¤tigen (ask_for_metamail)\fP
-If ON \fBtin\fP will ask before using a MIME viewer (\fBmetamail_prog\fP) to
-display MIME messages. This only occurs if a MIME viewer is set. Default is
-OFF.
+Falls ON, fragt \fBtin\fP, bevor ein MIME\-Viewer (\fBmetamail_prog\fP) zum
+Anzeigen von MIME\-Nachrichten verwendet wird. Dies geschieht nur, wenn ein
+MIME\-Viewer festgelegt ist. Voreinstellung ist OFF.
 .TP 
 \fBFormatanweisung fÃ¼r die Anhangsebene (attachment_format)\fP
 Diese Formatanweisung wird von \fBtin\fP zur Darstellung der Anhangsebene
@@ -1676,7 +1716,7 @@ anzeigen? Voreinstellung ist ON.
 Voreinstellung ist OFF.
 .TP 
 \fBSpeicher Artikel im Batchmode (\-S) (batch_save)\fP
-Falls ON werden Artikel/Threads im Batchmode gespeichert wenn \*(rq\fB\-S\fP oder
+Falls ON werden Artikel/Threads im Batchmode gespeichert wenn \*(rq\fB\-S\fP\*(rq oder
 gemailt, wenn \*(rq\fB\-M\fP\*(rq bzw. \*(rq\fB\-N\fP\*(rq in der Kommandozeile angegeben
 wurde. Voreinstellung ist ON.
 .TP 
@@ -1691,11 +1731,17 @@ If ON, create local copies of NNTP overv
 considerably speed up accessing large groups when using a slow connection.
 See also "INDEX FILES". Default is OFF.
 .TP 
+\fBCompress locally cached NNTP overview files (compress_overview_files)\fP
+If ON, locally cached NNTP overview files (\fBcache_overview_files\fP) are
+saved in compressed form (\fBRFC\%1952\fP). Useful to reduce local disk space
+used. Default is OFF.
+.TP 
 \fBHash\-Algorithmus fÃ¼r Cancel\-Lock/Cancel\-Key (cancel_lock_algo)\fP
 Diesen Hash\-Algorithmus fÃ¼r Cancel\-Locks verwenden. Nur vorhanden falls
 \fBtin\fP mit Cancel\-Lock\-UnterstÃ¼tzung gebaut wurde. Keiner deaktiviert die
 Erzeugung von Cancel\-Locks. GÃ¼ltige Werte sind Keiner, sha1, sha256 und
-sha512. Voreinstellung ist sha1.
+sha512. Voreinstellung ist sha1. Siehe auch
+\fI${TIN_HOMEDIR:\-"$HOME"}/.cancelsecret\fP in \fB\%tin\fP(5).
 .TP 
 \fBCatchup der Gruppen beim Beenden (catchup_read_groups)\fP
 .\"
@@ -1799,11 +1845,12 @@ Vorsichtshalber um BestÃ¤tigung bitten.
 (e.g., \fBCatchup\fP ('\fBc\fP')). Commands that this affects are marked in this
 manual with '[after confirmation]'. Default is commands & quit.
 .IP \(bu
-\fBquit\fP You'll be asked to confirm that you wish to exit \fBtin\fP when you use
-the \fBQuit\fP ('\fBq\fP') command.
+\fBquit\fP Sie werden aufgefordert, zu bestÃ¤tigen, dass Sie \fBtin\fP beenden
+mÃ¶chten, wenn Sie den Befehl \fBQuit\fP ('\fBq\fP') verwenden.
 .IP \(bu
-\fBselect\fP Ask for confirmation before marking all not selected (with
-\fBGroupMarkUnselArtRead\fP ('\fBX\fP') command) articles as read.
+\fBselect\fP Bitten Sie um BestÃ¤tigung, bevor Sie alle nicht ausgewÃ¤hlten
+Artikel (mit dem Befehl \fBGroupMarkUnselArtRead\fP ('\fBX\fP')) als gelesen
+markieren.
 .RE
 .TP 
 \fBDatums Format\-Zeichenkette (date_format)\fP
@@ -1826,16 +1873,16 @@ Der letzte Artikel/Autor/Konfigurationso
 Voreinstellung ist 28.
 .TP 
 \fB(default_filter_kill_case)\fP
-Default for quick (1 key) kill filter case.  ON = filter case sensitive, OFF
-= ignore case. Default is OFF.
+Standard fÃ¼r schnellen (1 Taste) Kill\-Filter. ON = GroÃŸ\-/Kleinschreibung
+berÃ¼cksichtigen, OFF = GroÃŸ\-/Kleinschreibung ignorieren.
 .TP 
 \fB(default_filter_kill_expire)\fP
-Default for quick (1 key) kill filter expire.  ON = limit to
-\fBdefault_filter_days\fP, OFF = don't ever expire. Default is OFF.
+Standard fÃ¼r schnellen (1\-Taste) Kill\-Filter\-Ablauf. ON = auf
+\fBdefault_filter_days\fP begrenzen, OFF = niemals ablaufen. Standard ist OFF.
 .TP 
 \fB(default_filter_kill_global)\fP
-Default for quick (1 key) kill filter global.  ON=apply to all groups,
-OFF=apply to current group. Default is ON.
+Standard fÃ¼r schnellen (1\-Taste) Kill\-Filter global. ON = auf alle Gruppen
+anwenden, OFF = auf die aktuelle Gruppe anwenden. Standard ist ON.
 .TP 
 \fB(default_filter_kill_header)\fP
 Voreinstellung fÃ¼r Schnell (1 Tasten) Killfilter Header.
@@ -1859,19 +1906,20 @@ Voreinstellung fÃ¼r Schnell (1 Tasten) K
 .RE
 .TP 
 \fB(default_filter_select_case)\fP
-Default for quick (1 key) auto\-selection filter case. ON=filter case
-sensitive, OFF=ignore case. Default is OFF.
+Standard fÃ¼r den schnellen (1 Taste) automatischen Auswahlfilter. EIN =
+GroÃŸ\-/Kleinschreibung berÃ¼cksichtigen, AUS = GroÃŸ\-/Kleinschreibung
+ignorieren.
 .TP 
 \fB(default_filter_select_expire)\fP
-Default for quick (1 key) auto\-selection filter expire.  ON = limit to
-\fBdefault_filter_days\fP, OFF = don't ever expire.  Default is OFF.
+Standard fÃ¼r schnellen (1\-Taste) Auto\-Auswahlfilter\-Ablauf. ON = auf
+\fBdefault_filter_days\fP begrenzen, OFF = niemals ablaufen. Standard ist OFF.
 .TP 
 \fB(default_filter_select_global)\fP
-Default for quick (1 key) auto\-selection filter global.  ON=apply to all
-groups, OFF=apply to current group. Default is ON.
+Standard fÃ¼r schnellen (1\-Taste) Auto\-Auswahlfilter global. ON = auf alle
+Gruppen anwenden, OFF = auf die aktuelle Gruppe anwenden. Standard ist ON.
 .TP 
 \fB(default_filter_select_header)\fP
-Default for quick (1 key) auto\-selection filter header.
+Standardheader fÃ¼r den Filter mit schneller automatischer Auswahl (1 Taste).
 .RS +.5i
 .IP 0 3
 \%\*(rqSubject:\*(rq (GroÃŸ/Kleinschreibung beachten)
@@ -1925,9 +1973,15 @@ Default for quick (1 key) auto\-selectio
 .TP 
 \fB(default_subject_search)\fP
 .TP 
-\fBZeige \-> anstatt einer Markierung (draw_arrow)\fP
-Allows groups/articles to be selected by an arrow '\->' if set ON or by a
-highlighted bar if set OFF. Default is OFF.
+\fBKeine Worttrennungen beim Umbrechen (dont_break_words)\fP
+Lange Zeilen nicht innerhalb eines Wortes Umrechen. Dies gilt fÃ¼r den
+ArtikelkÃ¶rper mit Ausnahme von wortgetreuen BlÃ¶cken. Siehe auch
+\fBwrap_column\fP. Die Voreinstellung ist OFF.
+.TP 
+\fBZeige \(-> anstatt einer Markierung (draw_arrow)\fP
+ErmÃ¶glicht die Auswahl von Gruppen/Artikeln mit einem Pfeil '\(->', wenn
+aktiviert, oder durch eine hervorgehobene Leiste, wenn deaktiviert. Der
+Standardwert ist OFF.
 .TP 
 \fBAufruf Ihres Editors (editor_format)\fP
 The format string used to create the editor start command with parameters.
@@ -1971,30 +2025,33 @@ next article when \fBPageNextUnread\fP (
 pressed. Default is \fBPageNextUnread\fP.
 .TP 
 \fBZeige uue\-Teile als Anhang (hide_uue)\fP
-If set to 'No' then raw uuencoded data is displayed. If set to 'Yes' then
-sections of uuencoded data will be shown with a single tag line showing the
-size and filename (much the same as a MIME attachment).  If set to 'Hide
-all' then any line that looks like uuencoded data will be folded into a tag
-line. This is useful when uuencoded data is split across more than one
-article but can also lead to false positives. This setting can also be
-toggled in the article viewer.  Default is 'No'.
+Falls auf 'Nein' gesetzt, werden die Rohdaten im uuencoded Format
+angezeigt. Wenn auf 'Ja' gesetzt, werden Abschnitte von uuencoded Daten mit
+einer einzigen Tag\-Zeile angezeigt, die die GrÃ¶ÃŸe und den Dateinamen zeigt
+(Ã¤hnlich wie ein MIME\-Anhang). Falls auf 'Alle ausblenden' gesetzt, wird
+jede Zeile, die wie uuencoded Daten aussieht, in eine Tag\-Zeile
+umgewandelt. Dies ist nÃ¼tzlich, wenn uuencoded Daten Ã¼ber mehr als einen
+Artikel verteilt sind, kann aber auch zu falschen Positiven fÃ¼hren. Diese
+Einstellung kann auch im Artikelbetrachter umgeschaltet werden. Der
+Standardwert ist 'Nein'.
 .TP 
 \fBExternes inews\-Programm (inews_prog)\fP
-Path, name and options of external \fB\%inews\fP(1).  If you are reading via
-NNTP the default value is "\-\-internal" (use built\-in NNTP inews), else it is
-"inews \-h". The article is passed to \fBinews_prog\fP on STDIN via '<
-article'.
+Pfad, Name und Optionen des externen \fB\%inews\fP(1). Wenn Sie Ã¼ber NNTP
+lesen, ist der Standardwert "\-\-internal" (verwende eingebautes NNTP inews),
+ansonsten ist es "inews \-h". Der Artikel wird mittels '< Artikel' an
+\fBinews_prog\fP via STDIN Ã¼bergeben.
 .TP 
 \fB(info_in_last_line)\fP
 .\" this is missing from the Menu
-If ON, show current group description or article subject in the last line
-(not in the pager and global menu) \(em \fBToggleInfoLastLine\fP ('\fBi\fP')
-toggles setting. This facility is useful as the full width of the screen is
-available to display long subjects. Default is OFF.
+Wenn ON, zeigen Sie die aktuelle Gruppenbeschreibung oder den Artikelbereich
+in der letzten Zeile an (nicht im Pager und im globalen MenÃ¼) \(em
+\fBToggleInfoLastLine\fP ('\fBi\fP') wechselt die Einstellung. Diese Funktion ist
+nÃ¼tzlich, da die volle Breite des Bildschirms zur VerfÃ¼gung steht, um lange
+Betreffzeilen anzuzeigen. Voreinstellung ist OFF.
 .TP 
 \fBBenutze interaktives Mailprogramm (interactive_mailer)\fP
 Interactive mailreader: if greater than 0 your mailreader will be invoked
-earlier for reply so you can use more of its features (e.g. MIME, pgp,
+earlier for reply so you can use more of its features (e.g., MIME, pgp,
 \&...). 1 means include headers, 2 means don't include headers (old
 use_mailreader_i=ON option). 0 turns off usage. This option has to suit
 \fBmailer_format\fP. Default is 0.
@@ -2007,9 +2064,10 @@ Falls ON: inverse Darstellung fÃ¼r Heade
 benutzen. Voreinstellung ist ON.
 .TP 
 \fBHalte Fehlschl. in ~/dead.articles (keep_dead_articles)\fP
-If ON keep all failed postings in \fI${TIN_HOMEDIR:\-"$HOME"}/dead.articles\fP
-besides keeping the last failed posting in
-\fI${TIN_HOMEDIR:\-"$HOME"}/dead.article\fP. Default is ON.
+Wenn ON, alle fehlgeschlagenen BeitrÃ¤ge in
+\fI${TIN_HOMEDIR:\-"$HOME"}/dead.articles\fP behalten, zusÃ¤tzlich zum Speichern
+des letzten fehlgeschlagenen Beitrags in
+\fI${TIN_HOMEDIR:\-"$HOME"}/dead.article\fP. Die Voreinstellung ist ON.
 .TP 
 \fBFilter (kill) anwenden auf (kill_level)\fP
 This option controls the processing and display of articles that are
@@ -2022,27 +2080,30 @@ happens on unread articles with \fBkill_
 and \fBart_marked_read_selected\fP are only shown once. When you reenter the
 group the mark will be gone.
 .IP 1
-\fBKill all arts & show with K\fP will process all articles in the group and
-therefore there is a processing overhead when using this option. Killed
-articles are threaded as normal but they will be marked with
-\fBart_marked_killed\fP.
+\fBKillt alle Artikel, markiert mit K\fP wird auf alle Artikel in der Gruppe
+angewendet und verursacht daher einen erhÃ¶hten Bearbeitungsaufwand, falls
+diese Option verwendet wird. GelÃ¶schte Artikel werden wie gewohnt in Threads
+angezeigt, sind jedoch mit \fBart_marked_killed\fP markiert.
 .IP 2
-\fBKill all arts and never show\fP will process all articles in the group and
-therefore there is a processing overhead when using this option. Killed
-articles simply does not get displayed at all.
+\fBKillt alle Artikel, zeigt sie nie\fP wird alle Artikel in der Gruppe
+angewendet und verursacht daher einen erhÃ¶hten Bearbeitungsaufwand, falls
+diese Option verwendet wird. GelÃ¶schte Artikel werden Ã¼berhaupt nicht
+angezeigt.
 .RE
 Voreinstellung ist 0 (\fBKillt nur ungelesene Artikel\fP).
 .TP 
 \fBBenutze 8bit Zeichen im Mail Header (mail_8bit_header)\fP
-Allows 8bit characters unencoded in the header of mail message. Default is
-OFF. Turning it ON is effective only if \fBmail_mime_encoding\fP is also set to
-8bit. Leaving it OFF is safe for most users and compliant to Internet Mail
-Standard (\fBRFC\%5322\fP and \fBRFC\%2047\fP). Default is OFF.
+Erlaubt unkodierte 8\-Bit\-Zeichen im Header von E\-Mail\-Nachrichten. Der
+Standardwert ist OFF. Das Aktivieren hat nur Wirkung, wenn
+\fBmail_mime_encoding\fP auch auf 8bit gesetzt ist. Das Beibehalten auf OFF ist
+fÃ¼r die meisten Benutzer sicher und entspricht dem Internet Mail Standard
+(\fBRFC\%5322\fP und \fBRFC\%2047\fP). Die Voreinstellung ist OFF.
 .TP 
 \fBMailadresse (und Name) (mail_address)\fP
-User's mail address (and full name), if not username@host. This is used when
-creating articles, sending mail and when \fB\%pgp\fP(1)  / \fB\%gpg\fP(1)  signing
-(\fBRFC\%4880\fP).
+E\-Mail\-Adresse des Benutzers (und vollstÃ¤ndiger Name), falls nicht
+benutzername@host. Wird beim Erstellen von Artikeln, beim Versenden von
+E\-Mails und beim Signieren mit \fB\%pgp\fP(1) / \fB\%gpg\fP(1) (\fBRFC\%4880\fP)
+verwendet.
 .TP 
 \fBMIME\-Kodierung fÃ¼r E\-Mails (mail_mime_encoding)\fP
 MIME\-Kodierung des TextkÃ¶rpers in E\-Mail\-Nachrichten falls erforderlich
@@ -2051,8 +2112,9 @@ MIME\-Kodierung des TextkÃ¶rpers in E\-M
 \fBEinleitungszeile bei Mailantwort (mail_quote_format)\fP
 Format der Einleitungszeile fÃ¼r Mailantworten (%A=Mailadresse, %D=Datum,
 %F=Name und Adresse, %G=Name der Gruppe, %M=Message\-ID, %N=Name des Autors,
-%C=Vorname des Autors, %I=Initialen des Autor). Voreinstellung ist "In
-article %M you wrote:".
+%C=Vorname des Autors, %I=Initialen des Autor). Falls der Artikel mehrere
+Adressen hat, wird nur die erste ausgewertet. Voreinstellung ist "In article
+%M you wrote:".
 .TP 
 \fBMailbox\-Format (mailbox_format)\fP
 Select one of the following mailbox\-formats: MBOXO (default, except on SCO),
@@ -2073,11 +2135,10 @@ mailers with different command line para
 .in +.3i
 .nf
 sendmail \-oem \-t < %F
-mutt \-s "%S" \-\- "%T" < %F
 mutt \-H %F
 claws\-mail \-\-compose "mailto:%T?subject=%S&insert=%F"
 .fi
-.in -.3i
+.in -0.3i
 \fBinteractive_mailer\fP muss passend dazu gesetzt sein. Folgende Ersetzungen
 werden unterstÃ¼tzt:
 .in +.3i
@@ -2090,7 +2151,7 @@ werden unterstÃ¼tzt:
 %U	Benutzername
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \&\fB'Art. (un)gelesen markieren' ignorie... (mark_ignore_tags)\fP
 When this is ON, the \fBGroupMarkThdRead\fP ('\fBK\fP'), \fBThreadMarkArtRead\fP
@@ -2120,20 +2181,21 @@ than the value of this parameter is cons
 represented as '?'. Otherwise, all character sets are regarded as compatible
 with the display. If it's not set, the value of the environment variable
 $\fBMM_CHARSET\fP is used. US\-ASCII or compile\-time default is used in case
-neither of them is defined. If your system supports \fB\%iconv\fP(3), this
-option is disabled and you should use \fBmm_network_charset\fP instead.
+neither of them is defined. If your system supports \fB\%iconv\fP(3), or
+\fB\%ucnv_*\fP(), this option is disabled and you should use
+\fBmm_network_charset\fP instead.
 .TP 
 \fBMM_NETWORK_CHARSET (mm_network_charset)\fP
 Charset used for posting and MIME headers; replaces \fBmm_charset\fP.
 Conversion between \fBmm_network_charset\fP and local charset (determined via
-\fB\%nl_langinfo\fP(3))  is done via \fB\%iconv\fP(3), if this function is not
-available on your system this option is disabled and you have to use
-\fBmm_charset\fP instead. \fBmm_network_charset\fP is limited to one of the
-following charsets:
+\fB\%nl_langinfo\fP(3))  is done via \fB\%iconv\fP(3), or \fB\%ucnv_*\fP(), if none
+of these functions are available on your system this option is disabled and
+you have to use \fBmm_charset\fP instead. \fBmm_network_charset\fP is limited to
+one of the following charsets:
 .in +.3i
 US\-ASCII, ISO\-8859\-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8\-{R,U,RU}
 EUC\-{CN,JP,KR,TW}, ISO\-2022\-{CN,CN\-EXT,JP,JP\-1,JP\-2}, Big5, UTF\-8
-.in -.3i
+.in -0.3i
 Not all values might work on your system, see \fB\%iconv_open\fP(3)  for more
 details. If it's not set, the value of the environment variable
 $\fBMM_CHARSET\fP is used. US\-ASCII or compile\-time default is used in case
@@ -2163,7 +2225,7 @@ terminal which attributes are usable. Se
 These are internal timers used by \fBtin\fP to keep track of new newsgroups.
 Do not change them unless you understand what they are for.
 .TP 
-\fBor *) (news_headers_to_display\fP
+\fBZeige diese Header\-Felder (oder *) (news_headers_to_display)\fP
 Welche Header wollen Sie sehen. Wenn Sie _alle_ sehen wollen, setzen Sie ein
 \&'*' als Wert ein. Dies ist die einzige MÃ¶glichkeit, um Platzhalter
 (Wildcards) zu nutzen. Wenn Sie als Wert 'X\-' angeben, sehen Sie alle Header
@@ -2172,8 +2234,8 @@ Leerzeichen getrennte Werte angeben. Wen
 diese Option deaktiviert.
 .TP 
 \fBZeige folgende Header nicht an (news_headers_to_not_display)\fP
-Genau das Gleiche wie 'news_headers_to_display', mit der Ausnahme, das es
-das Gegenteil bewirkt. Wenn Sie dachten, das die X\- Header eine tolle Sachen
+Genau das Gleiche wie \fBnews_headers_to_display\fP, mit der Ausnahme, das es
+das Gegenteil bewirkt. Wenn Sie dachten, das X\-Header eine tolle Sachen
 waren, nun aber festgestellt haben, das dort einiges Ã¼berflÃ¼ssiges steht,
 dann kÃ¶nnten Sie wie folgt vorgehen: \fBnews_headers_to_display=X\-\fP
 \fBnews_headers_to_not_display=X\-Alan X\-Pape\fP Wenn Sie hier nichts angeben,
@@ -2182,7 +2244,8 @@ wird diese Option deaktiviert.
 \fBEinleitungszeile beim Antworten (news_quote_format)\fP
 Format der Einleitungszeile fÃ¼r Newsartikel (%A=Mailadresse, %D=Datum,
 %F=Name und Adresse, %G=Name der Gruppe, %M=Message\-ID, %N=Name des Autors,
-%C=Vorname des Autors, %I=Initialen des Autor). Voreinstellung ist "%F
+%C=Vorname des Autors, %I=Initialen des Autor). Falls der Artikel mehrere
+Adressen hat, wird nur die erste ausgewertet. Voreinstellung ist "%F
 wrote:".
 .TP 
 \fBNNTP\-lese Zeitlimit in Sekunden (nntp_read_timeout_secs)\fP
@@ -2214,7 +2277,7 @@ Zusammensetzung und Faltung
 .RE
 Einige Normalisierungsarten sind nur verfÃ¼gbar, wenn sie von der Bibliothek
 unterstÃ¼tzt werden, die \fBtin\fP verwendet, um die Normalisierung
-durchzufÃ¼hren. Nach MÃ¶glichkeit sollte NFC verwendet werden.
+durchzufÃ¼hren. Nach MÃ¶glichkeit sollte NFC verwendet werden (\fBRFC\%5198\fP).
 .TP 
 \fBFormatanweisung fÃ¼r Mime\-Header auf Artikelebene (page_mime_format)\fP
 Diese Formatanweisung wird von \fBtin\fP zur Darstellung von Mime\-Headern auf
@@ -2289,13 +2352,14 @@ Falls ON speichere/drucke/pipe/maile nur
 Artikel ausgenommen). Voreinstellung ist OFF.
 .TP 
 \fBLeeres Fup'2 im Editor anzeigen (prompt_followupto)\fP
-Falls ON zeige leere Followup\-To:\-Kopfzeile im Editor. Voreinstellung ist
-OFF.
+Falls ON zeige leere \*(rqFollowup\-To:\*(rq\-Kopfzeile im Editor. Voreinstellung
+ist OFF.
 .TP 
 \fBZitatzeichen (quote_chars)\fP
 The character used in quoting included text to article followups and mail
 replies. The '_' character represents a blank character and is replaced with
-\&' ' when read, %I is replaced by author's initials. Default is '>_'.
+\&' ' when read, %I is replaced by author's initials. If the article has
+multiple addresses only the first is evaluated. Default is '>_'.
 .TP 
 \fBZitierverhalten (quote_style)\fP
 How articles should be quoted when following up or replying to them. There
@@ -2636,16 +2700,13 @@ Ã¼berspringen.
 \fBMehrere zwischen TextblÃ¶cken zusammenfassen\fP, Leerzeilen zwischen
 TextblÃ¶cken zusammenfassen.
 .IP 5
-\fBMehrere zwischen Textbl. zusammenfassen + fÃ¼hrende Leerzeilen
-Ã¼berspringen\fP, 4 + 1; Leerzeilen zwischen TextblÃ¶cken zusammenfassen und
+\fBMehrere zwischen Textbl. zusammenfassen + fÃ¼hrende Leerzeilen Ã¼berspringen\fP, 4 + 1; Leerzeilen zwischen TextblÃ¶cken zusammenfassen und
 fÃ¼hrende Leerzeilen Ã¼berspringen.
 .IP 6
-\fBMehrere zwischen Textbl. zusammenfassen + abschlieÃŸende
-Leerz. Ã¼berspringen\fP, 4 + 2; Leerzeilen zwischen TextblÃ¶cken zusammenfassen
+\fBMehrere zwischen Textbl. zusammenfassen + abschlieÃŸende Leerz. Ã¼berspringen\fP, 4 + 2; Leerzeilen zwischen TextblÃ¶cken zusammenfassen
 und abschlieÃŸende Leerzeilen Ã¼berspringen.
 .IP 7
-\fBMehrere zwischen Textbl. zusammenf. + fÃ¼hrende/abschlieÃŸende
-Leerz. Ã¼berspr.\fP, 4 + 3; Leerzeilen zwischen TextblÃ¶cken zusammenfassen und
+\fBMehrere zwischen Textbl. zusammenf. + fÃ¼hrende/abschlieÃŸende Leerz. Ã¼berspr.\fP, 4 + 3; Leerzeilen zwischen TextblÃ¶cken zusammenfassen und
 fÃ¼hrende sowie abschlieÃŸende Leerzeilen Ã¼berspringen
 .RE
 .TP 
@@ -2690,8 +2751,8 @@ header. For this option to have any effe
 OFF.
 .TP 
 \fBUTF\-8\-Grafik benutzten (utf8_graphics)\fP
-If ON use UTF\-8 characters for indicator ('\->'), thread/attachment tree
-and ellipsis ('...'). Default is OFF.
+If ON use UTF\-8 characters for indicator ('\(->'), thread/attachment
+tree and ellipsis ('...'). Default is OFF.
 .TP 
 \fBReg. Ausd. fÃ¼r den Anfang e. wortgetreuen Textblock (verbatim_begin_regex)\fP
 Ein regulÃ¤rer Ausdruck, der den Beginn eines wortgetreu wiederzugebenden
@@ -2737,18 +2798,19 @@ are used. Default is ON.
 \fBZeilen umbrechen nach (wrap_column)\fP
 Sets the column at which a displayed article body should be wrapped.  If
 this value is equal to 0, it defaults to the current screen width.  If this
-value is greater than your current screen width the part off\-screen is not
-displayed. Thus setting this option to a large value can be used to disable
-wrapping. If this value is negative the wrap margin is the current screen
-width plus the given value (as long as the result is still positive,
-otherwise it will fall back to the current screen width). Default is 0,
-wrapping at the current screen width.
+value is greater than your current screen width and \fBdont_break_words\fP is
+unset the part off\-screen is not displayed.  Thus setting this option to a
+large value can be used to disable wrapping.  If this value is negative the
+wrap margin is the current screen width plus the given value (as long as the
+result is still positive, otherwise it will fall back to the current screen
+width). Default is 0, wrapping at the current screen width.
 .TP 
 \fBEinleitungszeile beim Crossposten (xpost_quote_format)\fP
 .\"
 .\"
-Format is the same as for \fBnews_quote_format\fP, this is used when answering
-to a crossposting to several groups with no \*(rqFollowup\-To:\*(rq set.
+Format ist das gleiche wie fÃ¼r \fBnews_quote_format\fP, dies wird verwendet,
+wenn auf ein Crossposting in mehrere Gruppen geantwortet wird, ohne dass ein
+\&\*(rqFollowup\-To:\*(rq angegeben ist.
 .SS "ATTRIBUTE UND GRUPPENATTRIBUTE MENÃœ"
 \fBtin\fP allows certain attributes to be set on a per group basis. If it
 exists, the global attributes file, \fI${TIN_LIBDIR:\-NEWSLIBDIR}/attributes\fP
@@ -2779,7 +2841,7 @@ options menu the attributes menu provide
 .SS GÃœLTIGKEITSBEREICHS\-MENÃœ
 The scopes menu (accessible from the options menu with \fBConfigScopeMenu\fP
 ('\fBS\fP')) shows all scopes read from the global and local attributes file.
-Scopes from the global attributes file are marked with '!' to the left of
+Scopes from the global attributes file are marked with '!\&' to the left of
 the scope number. Delete/rename/move are not possible with those scopes.
 .PP
 .\"
@@ -2802,9 +2864,9 @@ specify. This can be anything from the n
 lines in an article.
 .PP
 When \fBtin\fP starts up the user's kill\-file
-\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/filter\fP (see also \fB\%tin\fP(5))  is read. Each
-time a newsgroup is entered the rules are applied and articles killed or
-selected when they meet certain criteria.
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/filter\fP or the file specified via \*(rq\fB\-F\fP\*(rq
+is read (see also \fB\%tin\fP(5)  ). Each time a newsgroup is entered the rules
+are applied and articles killed or selected when they meet certain criteria.
 .PP
 The degree to which rules are applied depend on the \fBkill_level\fP tinrc
 setting. By default killed articles will only be marked read. Adjust
@@ -2821,7 +2883,7 @@ previous versions to include scoring and
 recommended that you read the file \fIfiltering\fP in the \fBtin\fP documentation
 directory. This file can also be read online at
 .br
-<http://www.tin.org/filtering.txt>.
+<http://bzr.tin.org/doc/filtering>.
 .PP
 .\" FIXME - Next paragraph is out of date
 .\"
@@ -2878,10 +2940,11 @@ or send the article to the author via \f
 When posting a followup to an article or replying direct to the author of an
 article via email the text of the article can be quoted. The beginning of
 the quoted text can contain information about the quoted article (e.g., Name
-and the Message\-ID of the article). To allow for different situations
-certain information from the article can be used in the quoted string. The
-following variables are expanded if found in the tinrc variables
-\fBmail_quote_format\fP, \fBnews_quote_format\fP or \fBxpost_quote_format\fP:
+and the Message\-ID of the article). If the article has multiple addresses
+only the first is evaluated. To allow for different situations certain
+information from the article can be used in the quoted string. The following
+variables are expanded if found in the tinrc variables \fBmail_quote_format\fP,
+\fBnews_quote_format\fP or \fBxpost_quote_format\fP:
 .RS
 .nf
 .ta \w'%A  'u +\w'Mailadresse'u
@@ -2898,15 +2961,15 @@ following variables are expanded if foun
 z. B.
 .RS
 .nf
-\f(CWmail_quote_format=Am %D in %G schrieben Sie:
-news_quote_format=In %M schreib %F:\fP
+\f(CRmail_quote_format=On %D in %G you wrote:
+news_quote_format=In %M, %F wrote:\fR
 .fi
 .RE
 ergÃ¤be folgendes:
 .RS
 .nf
-\f(CWAm 21. Sept 1993 9:45:51 \-0400 in alt.sources schrieben Sie:
-In <abcINN123@example.org> schreib Joe Bar <joe@example.org>:\fP
+\f(CRAm 21. Sept 1993 9:45:51 \-0400 in alt.sources schrieben Sie:
+In <abcINN123@example.org> schreib Joe Bar <joe@example.org>:\fR
 .fi
 .RE
 .\"
@@ -2955,7 +3018,7 @@ mailbox with the name of the current new
 To save in savedir/<news.group.name>/<filename> format enter
 \&'+<filename>'.  See \fBsavedir\fP. Like '+' %G is expanded to the
 current news.group.name but without \fBsavedir\fP prefixed. %P is expanded to
-the news.group.name with all '.' replaced by '/'.
+the news.group.name with all '.\&' replaced by '/'.
 .PP
 If saving multiple files at once the filename (if not referring to a
 mailbox)  will be extended by ".num" where "num" is at least 3 digit number
@@ -3005,11 +3068,11 @@ Newsgruppen speichern und als gelesen ma
 A range is simply a group of items marked using the \fBSetRange\fP (\fB'#'\fP)
 key. Certain \fBtin\fP commands will operate on a range if one exists rather
 than just the current item. A range is an expression of the form
-<min>\(en<max>, e.g. 10\(en15 will highlight items 10
-through 15 on the current screen. Other than absolute numeric positions, '.'
-can be used in place of the current cursor position and '$' can be used to
-mean the highest number available. Entering '0' at the prompt undoes the
-previously entered range selection. Currently the only commands that
+<min>\(en<max>, e.g., 10\(en15 will highlight items 10
+through 15 on the current screen. Other than absolute numeric positions,
+\&'.\&' can be used in place of the current cursor position and '$' can be
+used to mean the highest number available. Entering '0' at the prompt undoes
+the previously entered range selection. Currently the only commands that
 understand ranges are \fBGroupMarkThdRead\fP ('\fBK\fP'), \fBMarkArtUnread\fP
 ('\fBz\fP') and \fBMarkThdUnread\fP ('\fBZ\fP').
 .SS "NEWSGROUP LISTEN & WILDCARDS"
@@ -3039,14 +3102,14 @@ pulled into the editor for mail commands
 \fI${TIN_HOMEDIR:\-"$HOME"}/.signature\fP will not be pulled into the editor for
 posting commands since \fB\%inews\fP(1)  will append the signature itself.
 .PP
-A signature in \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fP will be pulled into the
-editor for both posting and mailing commands.
+Eine Signatur in \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fP wird sowohl fÃ¼r Post\- als
+auch fÃ¼r Mail\-Befehle in den Editor geladen.
 .PP
 Nachstehend eine Beispiel \fI.Sig\fP Datei:
 .RS
 .nf
-\f(CWNAMES  Erika Mustermann <erika@example.org>
-SNAIL  HeidestraÃŸe 17, 99999 Notreal, Germany\fP
+\f(CRNAMES  Erika Mustermann <erika@example.org>
+SNAIL  HeidestraÃŸe 17, 99999 Notreal, Germany\fR
 .fi
 .RE
 .PP
@@ -3067,7 +3130,8 @@ BedÃ¼rfnissen angepasst werden. Hierzu d
 Inhalt und die Position der einzelnen Elemente einer Bildschirmzeile
 definieren. Innerhalb der Formatanweisungen werden Platzhalter eingesetzt,
 die spÃ¤ter beim Bildschirmaufbau durch den eigentlichen Inhalt ersetzt
-werden. Folgende Platzhalter stehen zur VerfÃ¼gung:
+werden. Falls der Artikel mehrere Adressen hat, wird nur die erste
+ausgewertet. Folgende Platzhalter stehen zur VerfÃ¼gung:
 .PP
 .in +.3i
 .nf
@@ -3089,7 +3153,7 @@ werden. Folgende Platzhalter stehen zur
 \fB%s\fP	Subject
 \fB%%\fP	%
 .fi
-.in -.3i
+.in -0.3i
 .PP
 Nicht alle Platzhalter kÃ¶nnen in jeder Ebene verwendet werden. Die folgende
 Tabelle gibt einen Ãœberblick Ã¼ber die VerfÃ¼gbarkeit der einzelnen
@@ -3116,7 +3180,7 @@ Platzhalter:
 \fB%s\fP		X
 \fB%%\fP	X	X	X
 .fi
-.in -.3i
+.in -0.3i
 .PP
 Voreingestellt sind folgende Formatanweisungen:
 .PP
@@ -3127,7 +3191,7 @@ Voreingestellt sind folgende Formatanwei
 \fBgroup_format\fP:	"\fB%n %m %R %L  %s  %F\fP"
 \fBthread_format\fP:	"\fB%n %m  [%L]  %T  %F\fP"
 .fi
-.in -.3i
+.in -0.3i
 .PP
 Ob in der Auswahlebene die Gruppenbeschreibung angezeigt wird, hÃ¤ngt von
 \fBshow_description\fP ab. AuÃŸerdem kann mit \fBSelectToggleDescriptions\fP
@@ -3174,7 +3238,7 @@ Platzhalter	Breite
 \fB%U\fP	 5
 \fB%n\fP	 4
 .fi
-.in -.3i
+.in -0.3i
 .PP
 Wird bei '\fB%D\fP' keine LÃ¤nge angegeben, so wird die LÃ¤nge anhand der
 Formatanweisung fÃ¼r das Datum und dem aktuellen Tag bestimmt. Sind in der
@@ -3194,25 +3258,33 @@ Sind in der Formatanweisung '\fB%F\fP' u
 jeweils keine LÃ¤ngen angegeben, dann nimmt '\fB%F\fP' ein Drittel und '\fB%s\fP'
 bzw. '\fB%T\fP' zwei Drittel des fÃ¼r beide zusammen verfÃ¼gbaren Platzes ein.
 .PP
-Weiterhin kann eine Mindestbildschirmbreite pro Element (auÃŸer '\fB%%\fP')
-definiert werden. Das entsprechende Element wird dann erst dargestellt, wenn
-auf dem Bildschirm mehr Zeichen als angegeben dargestellt werden kÃ¶nnen. Das
-ist hilfreich, um die Anzeige bei kleineren Bildschirmen oder
-Terminalfenstern nicht zu Ã¼berfrachten. Hier erfolgt die Angabe vor dem den
-Platzhalter charakterisierenden Buchstaben durch eine positive Zahl, welcher
-ein '\fB>\fP' vorangestellt wird. Soll z. B. der Bewertung erst ab einer
-Bildschirmbreite grÃ¶ÃŸer 100 Zeichen angezeigt werden, lautet die
-Formatanweisung '\fB%>100S\fP'.
-.PP
-Wenn eine LÃ¤ngenangabe und eine Mindestbildschirmbreite angegeben werden
-soll, muss zuerst die LÃ¤nge und danach die Mindestbreite in der
-Formatanweisung stehen. Um die Bewertung 10 Zeichen breit und erst ab einer
-Bildschirmbreite Ã¼ber 100 Zeichen darzustellen, lautet die Anweisung
-\&'\fB%10>100S\fP'.
-.PP
-The look of the Attachment level and the mime and uue header at Page level
-can be customized too via format strings.  The following variables are
-available:
+Weiterhin kann eine Mindest\- oder Maximalbildschirmbreite pro Element (auÃŸer
+\&'\fB%%\fP') definiert werden. Das entsprechende Element wird dann erst
+dargestellt, wenn auf dem Bildschirm mehr bzw. weniger Zeichen als angegeben
+dargestellt werden kÃ¶nnen. Das ist hilfreich, um die Anzeige bei kleineren
+Bildschirmen oder Terminalfenstern nicht zu Ã¼berfrachten. Hier erfolgt die
+Angabe vor dem den Platzhalter charakterisierenden Buchstaben durch eine
+positive Zahl, welcher ein '\fB>\fP' bzw. '\fB<\fP' vorangestellt
+wird. Soll z. B. der Bewertung erst ab einer Bildschirmbreite grÃ¶ÃŸer 100
+Zeichen angezeigt werden, lautet die Formatanweisung '\fB%>100S\fP'.
+.PP
+Wenn eine LÃ¤ngenangabe und eine Mindest\- oder Maximalbildschirmbreite
+angegeben werden soll, muss zuerst die LÃ¤nge und danach die Mindestbreite
+oder Maximalbreite in der Formatanweisung stehen. Um die Bewertung 10
+Zeichen breit und erst ab einer Bildschirmbreite Ã¼ber 100 Zeichen
+darzustellen, lautet die Anweisung '\fB%10>100S\fP'. FÃ¼r '\fB%F\fP' und
+\&'\fB%s\fP' bzw. '\fB%T\fP' kann, getrennt durch einen Doppelpunkt, eine zweite
+LÃ¤nge angegeben werden, die verwendet wird, wenn die Mindestbildschirmbreite
+nicht erreicht wird. Wird nach dem Doppelpunkt keine LÃ¤nge angegeben, wird
+der Eintrag auch bei Unterschreitung der Mindestbildschirmbreite angezeigt
+und die LÃ¤nge so berechnet, als wÃ¤re keine Mindestbildschirmbreite angegeben
+worden. Im folgenden Beispiel zeigt \fBtin\fP den Betreff mit einer LÃ¤nge von
+60 Zeichen an, wenn der Bildschirm breiter als 100 Zeichen ist, ansonsten
+wird eine LÃ¤nge von 40 Zeichen verwendet: '\fB%60>100:40s\fP'.
+.PP
+Das Aussehen der Anhangsebene sowie der MIME\- und UUEncode\-Header auf
+Artikelebene kann ebenfalls Ã¼ber Formatzeichenfolgen angepasst werden. Die
+folgenden Variablen sind verfÃ¼gbar:
 .PP
 .in +.3i
 .nf
@@ -3236,10 +3308,10 @@ available:
 \fB%z\fP	Wie %Z aber mit Beschreibung
 \fB%%\fP	%
 .fi
-.in -.3i
+.in -0.3i
 .PP
-Not all items can be used in each variable. The following table provides an
-overview:
+Nicht alle Elemente kÃ¶nnen in jeder Variablen verwendet werden. Die folgende
+Tabelle bietet einen Ãœberblick:
 .PP
 .in +.3i
 .nf
@@ -3264,19 +3336,20 @@ overview:
 \fB%z\fP	X	X	X
 \fB%%\fP	X	X	X
 .fi
-.in -.3i
+.in -0.3i
 .PP
-By default, the string is not truncated. If it exceeds the screen width, it
-is wrapped. If the % sign is followed by an exclamation mark ('!') for
-uppercase letters, the element is omitted if there is not enough space. If
-the % sign is followed by an asterisk ('*') for a lowercase letter, the
-description is omitted if there is not enough space. If the % sign is
-followed by an exclamation mark ('!') for a lowercase letter, the
-description is omitted first and then the content. The shortening is always
-from right to left, first the description is omitted and when no more
-description is displayed, the content is omitted. If %T and %S follow each
-other directly a '/' will be inserted in between. %Z will always have one
-decimal point and may have a one letter bi\-suffix.
+StandardmÃ¤ÃŸig wird der String nicht abgeschnitten. Wenn er die
+Bildschirmbreite Ã¼berschreitet, wird er umgebrochen. Wenn dem % Zeichen ein
+Ausrufezeichen ('!\&') vor GroÃŸbuchstaben folgt, wird das Element
+weggelassen, wenn nicht genÃ¼gend Platz vorhanden ist. Wenn dem % Zeichen ein
+Sternchen ('*') vor Kleinbuchstaben folgt, wird die Beschreibung
+weggelassen, wenn nicht genÃ¼gend Platz vorhanden ist. Wenn dem % Zeichen vor
+einem Kleinbuchstaben ein Ausrufezeichen ('!\&') folgt, wird zuerst die
+Beschreibung und dann der Inhalt weggelassen. Das KÃ¼rzen erfolgt immer von
+rechts nach links, zuerst wird die Beschreibung weggelassen, und wenn keine
+Beschreibung mehr angezeigt wird, wird der Inhalt weggelassen. Wenn %T und
+%S direkt aufeinander folgen, wird ein '/' dazwischen eingefÃ¼gt. %Z hat
+immer einen Dezimalpunkt und kann einen einbuchstabigen bi\-Suffix haben.
 .PP
 Voreingestellt sind folgende Formatanweisungen:
 .PP
@@ -3304,8 +3377,7 @@ slrn, ...)
 .ti -\w'\(em'u
 \(emnews.software.nntp (Informationen Ã¼ber NNTP)
 .ti -\w'\(em'u
-\(emnews.answers (Frequently Asked Questions (FAQ) about many different
-themes)
+\(emnews.answers (Frequently Asked Questions (FAQ) verschiedenster Themen)
 .PP
 Many prompts within \fBtin\fP offer a default choice that the cursor is
 positioned on. By pressing '\fB<CR>\fP' the default value is taken.
@@ -3322,7 +3394,7 @@ intervals (\fBreread_active_file_secs\fP
 .\"
 Falls Sie feststellen, dass eine groÃŸe Anzahl neuer Newsgruppen den
 Bildschirm fÃ¼llt, kÃ¶nnen diese durch DrÃ¼cken von \fBSelectToggleReadDisplay\fP
-(â€ž\fBr\fPâ€œ) ausgeblendet werden.
+('\fBr\fP') ausgeblendet werden.
 .SS "XTERM BUTTONS"
 Falls die Umgebungsvariable \fB$TERM\fP auf \fB\%xterm\fP(1x) gesetzt ist kÃ¶nnen
 die Maustasten benutzt werden um Gruppen oder Artikel auszuwÃ¤hlen. Es wird
@@ -3398,7 +3470,8 @@ sehr langsame Verbindung zu Ihrem Newsse
 fÃ¼r jede Newsgruppe zwischenspeichern wenn \fBcache_overview_files\fP auf ON
 gesetzt ist. Beachten Sie, daÃŸ dieser Cache groÃŸe Mengen an Speicherplatz
 verbrauchen kann, wenn Sie sehr viele Gruppen und/oder Gruppen mit hohem
-Datenverkehr lesen.
+Datenverkehr lesen. Um Platz zu sparen kann \fBcompress_overview_files\fP auf
+ON gesetzt werden.
 .PP
 Each user creates/updates his/her own index files that are stored in
 \fI${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news/\fP. If you are
@@ -3420,7 +3493,7 @@ batcher \fB\%cron\fP(8)  with the \*(rq\
 .PP
 .RS
 .nf
-\f(CW30 6 * * * /usr/local/bin/tin \-u\fP
+\f(CR30 6 * * * /usr/local/bin/tin \-u\fR
 .fi
 .RE
 .PP
@@ -3430,14 +3503,13 @@ lesen, manuell zu bereinigen:
 .PP
 .RS
 .nf
-\f(CWfind ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news* \e
-\-type f \-name "[0\-9]*.[0\-9]" \-atime +28 | xargs rm \-f\fP
+\f(CRfind ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news* \e
+\-type f \-name "[0\-9]*.[0\-9]" \-atime +28 | xargs rm \-f\fR
 .fi
 .RE
 .\"
 .\"
 .SH DATEIEN
-.IX Header DATEIEN
 .\" TODO: mention dead.article, dead.articles
 .\"               .article[.$$], .cancel[.$$], .letter[.$$]?
 .\"       ${XDG_RUNTIME_DIR:\-"$HOME"}/.slrnfaces
@@ -3453,6 +3525,7 @@ lesen, manuell zu bereinigen:
 .\"       $TMPDIR/SCOPES-R   (-D 32)
 .\"       $TMPDIR/SCOPES-W   (-D 32)
 .\"       $TMPDIR/ACTIVE     (-D 64)
+.\"       $TMPDIR/GNKSA      (-D 64)
 FÃ¼r eine ausfÃ¼hrlich Beschreibung siehe \fB\%tin\fP(5).
 .PP
 \fI$MAILCAPS\fP
@@ -3520,7 +3593,7 @@ FÃ¼r eine ausfÃ¼hrlich Beschreibung sieh
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/active.save\fP
 .PP
 
-.\" .IR ${TIN_LIBDIR:\-NEWSLIBDIR}/attributes
+.\" .I ${TIN_LIBDIR:\-NEWSLIBDIR}/attributes
 \fI/etc/tin/attributes\fP
 .br
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes\fP
@@ -3552,21 +3625,26 @@ FÃ¼r eine ausfÃ¼hrlich Beschreibung sieh
 .PP
 
 .nf
-\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/newsgroups\fP
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/motd\fP
 .fi
 .PP
 
 .nf
-\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/serverrc\fP
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog\fP
 .fi
 .PP
 
 .nf
-\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog\fP
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/newsgroups\fP
 .fi
 .PP
 
-.\" .IR ${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc
+.nf
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/serverrc\fP
+.fi
+.PP
+
+.\" .I ${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc
 \fI/etc/tin/tinrc\fP
 .br
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP
@@ -3597,16 +3675,15 @@ FÃ¼r eine ausfÃ¼hrlich Beschreibung sieh
 .\"
 \fI${TIN_LIBDIR:\-NEWSLIBDIR}/subscriptions\fP
 .SH UMGEBUNGSVARIABLEN
-.IX Header UMGEBUNGSVARIABLEN
 .\" TODO: - sort in a useful order
 .\"       - add undocumented env-vars (e.g. $DEV_TCP (SCO),
 .\"         ${HOST:-"$HOSTNAME"} fallback)
 .TP 
 \fBTINRC\fP
-Setzen Sie diese Variable wenn Sie Befehlszeilenoptionen angeben mÃ¶chten mit
-denen \fBtin\fP gestartet werden soll um die Eingabe, jedes Mal wenn \fBtin\fP
+Setzen Sie diese Variable wenn Sie Kommandozeilenoptionen angeben mÃ¶chten
+mit denen \fBtin\fP gestartet werden soll um die Eingabe, jedes Mal wenn \fBtin\fP
 ausgefÃ¼hrt wird, zu sparen. Der Inhalt der Umgebungsvariablen wird den
-angegebenen Befehlszeilenoptionen vorangestellt \(em bevor diese auf
+angegebenen Kommandozeilenoptionen vorangestellt \(em bevor diese auf
 GÃ¼ltigkeit Ã¼berprÃ¼ft werden \(em um Sie manuell Ã¼bersteuern zu kÃ¶nnen.
 .TP 
 \fBTIN_HOMEDIR\fP
@@ -3663,8 +3740,13 @@ overrides $\fBNNTPSERVER\fP.
 .TP 
 \fBNNTPPORT\fP
 The NNTP TCP\-port to read news from. This variable only needs to be set if
-the TCP\-port is not 119 (the default). The \*(rq\fB\-p\fP\*(rq and \*(rq\fB\-T\fP\*(rq
-command\-line options do override $\fBNNTPPORT\fP.
+the TCP\-port is not 119 (the default). The \*(rq\fB\-p\fP\*(rq command\-line option
+does override $\fBNNTPPORT\fP.
+.TP 
+\fBNNTPSPORT\fP
+The NNTPS TCP\-port to read news from. This variable only needs to be set if
+the TCP\-port is not 563 (the default). The \*(rq\fB\-p\fP\*(rq and \*(rq\fB\-T\fP\*(rq
+command\-line options do override $\fBNNTPSPORT\fP.
 .TP 
 \fBDISTRIBUTION\fP
 Setzen den Artikel\-Header \*(rqDistribution:\*(rq auf den Inhalt der Variablen
@@ -3709,7 +3791,7 @@ DomainOS machine the environment variabl
 of $\fBORGANIZATION\fP.
 .TP 
 \fBNEWSORG (DomainOS)\fP
-DomainOS spezifisch, wie $\fBORGANISATION\fP auf anderen Betriebssystemen
+DomainOS spezifisch, wie $\fBORGANIZATION\fP auf anderen Betriebssystemen
 (siehe oben).
 .TP 
 \fBREPLYTO\fP
@@ -3735,6 +3817,11 @@ Versandoperationen innerhalb von \fBtin\
 \fBMAIL\fP
 Voller Pfad zum Postfach des Benutzers.
 .TP 
+.\" we don't support the %message || ?message notation
+\fBMAILPATH\fP
+Eine durch Doppelpunkte getrennte Liste von Dateinamen, die auf neue E\-Mails
+Ã¼berprÃ¼ft werden. Ãœbersteuert die Variable $\fBMAIL\fP.
+.TP 
 \fBVISUAL\fP
 This variable has precedence over the default editor (i.e., \fB\%vi\fP(1))
 that is used in all editing operations within \fBtin\fP (e.g., posting,
@@ -3791,8 +3878,8 @@ Set this variable to point to \fB\%ispel
 cmd\-line options.
 .TP 
 \fBPGPOPTS\fP
-Define any additional options that you wish to pass to your \fB\%pgp\fP(1)  or
-\fB\%gpg\fP(1)  program.
+ZusÃ¤tzliche Optionen, die Sie an Ihr \fB\%pgp\fP(1)\- oder \fB\%gpg\fP(1)\-Programm
+Ã¼bergeben mÃ¶chten.
 .TP 
 \fBPGPPATH\fP
 Ãœbersteuert den Namen des \fB\%pgp\fP(1)\-Verzeichnisses in \fB$HOME\fP, dass deine
@@ -3812,31 +3899,35 @@ to avoid confusion).  Its value should b
 for more information.
 .TP 
 \fBLC_MESSAGES\fP
-Datums\- und Zeitformate. Sein Wert sollte der Form
+Datums\- und Zeitformate. Ihr Wert sollte der Form
+\fIlanguage\fP[\fI_territory\fP][\fI.codeset\fP][\fI@modifier\fP] entsprechen. FÃ¼r
+weitere Informationen siehe \fB\%locale\fP(5) und \fB\%environ\fP(5).
+.TP 
+\fBLC_NUMERIC\fP
+Formate fÃ¼r numerische Werte. Ihr Wert sollte der Form
 \fIlanguage\fP[\fI_territory\fP][\fI.codeset\fP][\fI@modifier\fP] entsprechen. FÃ¼r
 weitere Informationen siehe \fB\%locale\fP(5) und \fB\%environ\fP(5).
 .TP 
 \fBLC_TIME\fP
-Datums\- und Zeitformate. Sein Wert sollte der Form
+Datums\- und Zeitformate. Ihr Wert sollte der Form
 \fIlanguage\fP[\fI_territory\fP][\fI.codeset\fP][\fI@modifier\fP] entsprechen. FÃ¼r
 weitere Informationen siehe \fB\%locale\fP(5) und \fB\%environ\fP(5).
 .TP 
 \fBLC_ALL\fP
-Datums\- und Zeitformate. Sein Wert sollte der Form
+Datums\- und Zeitformate. Ihr Wert sollte der Form
 \fIlanguage\fP[\fI_territory\fP][\fI.codeset\fP][\fI@modifier\fP] entsprechen. FÃ¼r
 weitere Informationen siehe \fB\%locale\fP(5) und \fB\%environ\fP(5).
 .TP 
 \fBLANG\fP
-Datums\- und Zeitformate. Sein Wert sollte der Form
+Datums\- und Zeitformate. Ihr Wert sollte der Form
 \fIlanguage\fP[\fI_territory\fP][\fI.codeset\fP][\fI@modifier\fP] entsprechen. FÃ¼r
 weitere Informationen siehe \fB\%locale\fP(5) und \fB\%environ\fP(5).
 .TP 
 \fBLANGUAGE\fP
-This variable defines a priority list for translations. Whenever a
-translation is not available in the language selected via \fB$LC_ALL\fP or
-\fB$LANG\fP the next language from the list is tried. Its value should be of
-the form \fIlanguage:language[:language]\fP. See \fB\%environ\fP(5)  for more
-information.
+Datums\- und Zeitformate. Ihr Wert sollte der Form
+\fIlanguage\fP[\fI_territory\fP][\fI.codeset\fP][\fI@modifier\fP]
+entsprechen. \fB$LC_ALL\fP der \fB$LANG\fP muss ebenfalls gesetzt sein. FÃ¼r
+weitere Informationen siehe \fB\%locale\fP(5) und \fB\%environ\fP(5).
 .TP 
 \fBCOLUMNS\fP
 A decimal integer > 0 used to indicate the user's preferred width in
@@ -3879,7 +3970,6 @@ Der Pfadname der Login\-Shell des Benutz
 Pfadname des Verzeichnisses, in dem nicht zwingend benÃ¶tigte Laufzeitdateien
 abgelegt werden sollen.
 .SH SIGNALE
-.IX Header SIGNALE
 .\" TODO: add missing, sort useful, document in detail
 \fBtin\fP verarbeitet folgende Signale:
 .TP 
@@ -3903,13 +3993,12 @@ Beenden ohne das Terminal (tty) wiederhe
 .\"
 Speichern der \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP\-Datei.
 .SH SICHERHEIT
-.IX Header SICHERHEIT
 Falls \fBtin\fP im Debug\-Modus (\*(rq\fB\-D n\fP\*(rq) gestartet wird, werden in
 \fB$TMPDIR\fP fÃ¼r alle Benutzer lesbare Dateien erzeugt, welche das
 NNTP\-Passwort des aktuellen Benutzers im Klartext enthalten kÃ¶nnen (falls
 Verbose angeschaltet ist). Auf Multiuser\-Systemen sollte daher $TMPDIR auf
 einen sicheren Speicherort gesetzt werden, bevor \fBtin\fP im (verbosen)
-Debug\-Modus gestartet wird (z. B. TMPDIR=$HOME tin \-vD 1).
+Debug\-Modus gestartet wird (z. B. \fBTMPDIR=$HOME tin \-vD 1\fP).
 .PP
 Die Verwendung der Option \*(rq\fB\-k\fP\*(rq zum Ãœberspringen der
 ZertifikatsÃ¼berprÃ¼fung macht die Sitzung unsicher, da das Zertifikat des
@@ -3923,16 +4012,14 @@ Komprimierung unterstÃ¼tzt und Komprimie
 der Befehlszeilenoption \*(rq\fB\-A\fP\*(rq in Verbindung mit \*(rq\fB\-C\fP\*(rq kann dieses
 Verhalten umgangen werden.
 .SH "KONFORM ZU"
-.IX Header "KONFORM ZU"
 .\" - RFC\%2045, RFC\%2047, RFC\%2231, RFC\%2980, RFC\%3977, RFC\%4155
 .\"   RFC\%4643, RFC\%5322, RFC\%5536, RFC\%5537, RFC\%6048 or whatever
 .\"
 .\"
-\fBtin\fP does conform to the Base Definitions volume of IEEE Std 1003.1\-2008,
-Section 12, Utility Conventions (Utility Argument Syntax, Utility Syntax
+\fBtin\fP ist konform zu dem Basisdefinitionsband von IEEE Std 1003.1\-2008,
+Abschnitt 12, Utility\-Konventionen (Utility Argument Syntax, Utility Syntax
 Guidelines).
 .SH ANMERKUNGEN
-.IX Header ANMERKUNGEN
 UnterstÃ¼tzung fÃ¼r regulÃ¤re AusdrÃ¼cke wird durch die PCRE\-Bibliothek
 \fB\%pcre\fP(3) oder \fB\%pcre2\fP(3) bereitgestellt welche Open\-Source\-Software
 ist. Autor ist Philip Hazel und das Urheberrecht \(co liegt bei der
@@ -3942,17 +4029,16 @@ University of Cambridge, England.
 .\"
 <https://www.pcre.org/>
 .SH FEHLER
-.IX Header FEHLER
 \fBCNews\fP\0NNTPd, \fB\%noffle\fP(1) (<= V1.0\-pre5) und \fBNewsCache\fP (<=
 V1.1.91) kÃ¶nnen nicht mit gepipelinten GROUP\-Befehlen (\fBRFC\%3977\fP)
 umgehen. Falls Sie Probleme mit einem der genannten historischen Server
 haben, definieren Sie DISABLE_PIPELINING in include/autoconf.h und
 kompilieren Sie das Programm neu.
 .PP
-Die Verwendung des \*(rq\-C\*(rq (COMPRESS)\-Flags mit \fBINN\fP\-Versionen zwischen
+Die Verwendung des \*(rq\fB\-C\fP\*(rq (COMPRESS)\-Flags mit \fBINN\fP\-Versionen zwischen
 2.6.1 und 2.7.1 (beide einschl.) kann dazu fÃ¼hren, dass \fBtin\fP beim Posten
 hÃ¤ngt und sich mit einem Timeout beendet. Dies wurde in der \fBINN\fP\-Version
-2.7.2 behoben. Als Workaround verwenden Sie einfach kein \*(rq\-C\*(rq.
+2.7.2 behoben. Als Workaround verwenden Sie einfach kein \*(rq\fB\-C\fP\*(rq.
 .PP
 .\"
 .\"
@@ -3964,7 +4050,6 @@ haben benutzen Sie bitte die Funktion \f
 auf Englisch. Bitte fÃ¼gen Sie Ihrem Bug\-Report KEINE Core\-Datei bei \(em
 auÃŸer wir haben diese angefordert.
 .SH GESCHICHTE
-.IX Header GESCHICHTE
 \fBtin\fP basiert auf \fB\%tass\fP(1), einem Newsreader der von Rich Skrenta
 entwickelt und dessen Code im MÃ¤rz 1991 von ihm in alt.sources
 verÃ¶ffentlicht wurde. Die erste Version von \fBtin\fP wurde am 23. August 1991
@@ -3986,7 +4071,7 @@ Autor von sigfile.c, Zufallssignaturenge
 .IP "Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>"
 Autor von langinfo.c, charset.c und der iso2asc.txt ISO\-8859\-1
 Dokumentation.
-.IP "Arnold Robbins"
+.IP "Arnold D. Robbins"
 Autor von strftime.c, Datumsfromatierungsroutine.
 .IP "Rich Salz"
 Autor von wildmat.c Mustervergleichs\- und parsdate.y Datumsanalyseroutinen.
@@ -3999,7 +4084,7 @@ fÃ¼r \fB\%pgp\fP(1) (Pretty Good Privacy
 .IP "Philip Hazel <ph10@cam.ac.uk>"
 fÃ¼r \fB\%pcre\fP(3), \fB\%pcre2\fP(3) (Bibliothek fÃ¼r Perl\-kompatible regulÃ¤re
 AusdrÃ¼cke).
-.IP "Patrick Powell <papowell@astart.com>"
+.IP "Mark Martinec <mark.martinec@ijs.si>"
 .\"
 .\"
 fÃ¼r \fB\%snprintf\fP(3) und \fB\%vsnprintf\fP(3) Fallbacks.
@@ -4019,7 +4104,6 @@ Wenn Sie Fehler in der Ãœbersetzung find
 an <translation@tin.org>.
 .\"
 .SH "SIEHE AUCH"
-.IX Header "SIEHE AUCH"
 \fB\%elm\fP(1), \fB\%emacs\fP(1), \fB\%gpg\fP(1), \fB\%inews\fP(1), \fB\%ispell\fP(1),
 \fB\%lp\fP(1), \fB\%lpr\fP(1), \fB\%metamail\fP(1), \fB\%mutt\fP(1), \fB\%noffle\fP(1),
 \fB\%perl\fP(1), \fB\%perlre\fP(1), \fB\%pgp\fP(1), \fB\%rn\fP(1), \fB\%sendmail\fP(1),
@@ -4030,7 +4114,7 @@ an <translation@tin.org>.
 \fB\%snprintf\fP(3), \fB\%strftime\fP(3), \fB\%vsnprintf\fP(3), \fB\%wildmat\fP(3),
 \fB\%environ\fP(5), \fB\%locale\fP(5), \fB\%mailcap\fP(5), \fB\%mbox\fP(5),
 \fB\%mmdf\fP(5), \fB\%newsoverview\fP(5), \fB\%tin\fP(5), \fB\%cron\fP(8), \fBRFC\%1345\fP,
-\fBRFC\%1524\fP, \fBRFC\%2045\fP, \fBRFC\%2046\fP, \fBRFC\%2047\fP, \fBRFC\%2048\fP,
+\fBRFC\%1524\fP, \fBRFC\%1952\fP, \fBRFC\%2045\fP, \fBRFC\%2046\fP, \fBRFC\%2047\fP,
 \fBRFC\%2231\fP, \fBRFC\%2980\fP, \fBRFC\%3156\fP, \fBRFC\%3977\fP, \fBRFC\%4155\fP,
-\fBRFC\%4643\fP, \fBRFC\%4880\fP, \fBRFC\%5322\fP, \fBRFC\%5536\fP, \fBRFC\%5537\fP,
-\fBRFC\%6048\fP, \fBRFC\%8054\fP, \fBRFC\%8143\fP
+\fBRFC\%4643\fP, \fBRFC\%4880\fP, \fBRFC\%5198\fP, \fBRFC\%5322\fP, \fBRFC\%5536\fP,
+\fBRFC\%5537\fP, \fBRFC\%6048\fP, \fBRFC\%6838\fP, \fBRFC\%8054\fP, \fBRFC\%8143\fP
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/l10n/de/tin.5 tin-2.6.4/doc/l10n/de/tin.5
--- tin-2.6.3/doc/l10n/de/tin.5	2023-12-24 00:38:34.000000000 +0100
+++ tin-2.6.4/doc/l10n/de/tin.5	2024-12-23 10:57:26.386225269 +0100
@@ -2,8 +2,8 @@
 .\" Module    : tin.5
 .\" Author    : U. Janssen
 .\" Created   : 2000-07-10
-.\" Updated   : 2023-12-24
-.\" Notes     : needs a some work
+.\" Updated   : 2024-12-24
+.\" Notes     : needs a some work, see TODOs
 .\"
 .\"
 .\"*******************************************************************
@@ -11,7 +11,7 @@
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH tin 5 "24 Dezember 2023" 2.6.3 "Usenet Newsreader"
+.TH tin 5 "24 Dezember 2024" 2.6.4 "Usenet Newsreader"
 
 .SH NAME
 tin, rtin \- zugehÃ¶rige Dateien
@@ -155,9 +155,10 @@ paged or made scroll\-able. Note that it
 needsterminal and copiousoutput are both specified.
 .TP 
 \fBdescription\fP
-The "description" field simply provides a textual description, optionally
-quoted, that describes the type of data, to be used optionally by mail
-readers that wish to describe the data before offering to display it.
+Das Feld "description" stellt eine Textbeschreibung (optional in
+AnfÃ¼hrungszeichen) bereit, die den Datentyp beschreibt und von
+E\-Mail\-Programmen verwendet werden kann, die die Daten beschreiben mÃ¶chten,
+bevor sie ihre Anzeige anbieten.
 .TP 
 \fBtextualnewlines\fP
 The "textualnewlines" field, if set to any non\-zero value, indicates that
@@ -191,7 +192,7 @@ Beispiel:
 .br
 image/*;\e
 .br
-.in +.3i
+.in +0.3i
 xv \-8 \-geometry +0 '%s';\e
 .br
 description=%{name} %t\-Image;\e
@@ -199,11 +200,11 @@ description=%{name} %t\-Image;\e
 test=test "$DISPLAY" != "";\e
 .br
 nametemplate=%s.IMAGE
-.in -.3i
+.in -0.3i
 .sp
 message/rfc822;\e
 .br
-.in +.3i
+.in +0.3i
 ${PAGER:\-"more"} '%s';\e
 .br
 edit=${EDITOR:\-"vi"} '%s';\e
@@ -213,7 +214,7 @@ compose=${EDITOR:\-"vi"} '%s';\e
 print=a2ps '%s';\e
 .br
 needsterminal
-.in -.3i
+.in -0.3i
 .fi
 .RE
 .RE
@@ -254,12 +255,11 @@ Mime\-Typ / Dateinamen Erweiterungspaare
 .sp
 .RS
 "\fInntpserver[:port]\fP \fIpassword\fP [\fIuser\fP]" pairs for NNTP servers that
-require authorization.  If the password contains a space or a tab it must be
-enclosed in double quotes (").  Usernames must not be enclosed in double
-quotes and thus can't contain spaces or tabs.  Any line that starts with "#"
-is a comment.  Blank lines are ignored.  This file should be readable only
-for the user as it contains the user's unencrypted password for reading
-news!
+require authorization. If the password contains a space or a tab it must be
+enclosed in double quotes ("). Usernames must not be enclosed in double
+quotes and thus can't contain spaces or tabs. Any line that starts with "#"
+is a comment. Blank lines are ignored. This file should be readable only for
+the user as it contains the user's unencrypted password for reading news!
 .TP 
 \fBNNTPServer\fP
 VollstÃ¤ndiger Name (FQDN) des Newsservers. ZusÃ¤tzlich kann noch ein Port mit
@@ -295,7 +295,7 @@ Zeilen.
 Der Name der Newsgruppe.
 .TP 
 \fBMarkierung\fP
-Markierung die angibt ob die Gruppe abonniert ist ':' oder nicht '!'.
+Markierung die angibt ob die Gruppe abonniert ist ':' oder nicht '!\&'.
 .TP 
 \fBArtikel\fP
 Bereich bereits gelesener Artikel aus dieser Gruppe; durch Kommas getrennte
@@ -337,7 +337,8 @@ Signatur
 \fI${TIN_HOMEDIR:\-"$HOME"}/.sigfixed\fP
 .sp
 .RS
-Fester Bestandteil einer zufÃ¤llig erzeugten Signatur
+Fester Bestandteil einer zufÃ¤llig erzeugten Signatur, dieser wird zuerst
+hinzugefÃ¼gt
 .RE
 .PP
 
@@ -374,12 +375,13 @@ Indexdateien fÃ¼r gespeicherte Newsgrupp
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/active.mail\fP
 .sp
 .RS
-active file ("\fImailgroupname\fP \fImaxnum\fP \fIminnum\fP \fImailspool\fP" quadruples)
-of user's mailgroups (requires \fB\%tin\fP(1)  to be built with
-mh\-mail\-handling support).
-.TP 
-\fBmailgroupname\fP
-Pfad der Mailbox relativ zu Feld #4, wobei '/' in '.' umgewandelt sein muss.
+Active Datei ("\fIMailgroupname\fP \fIMaximalwert\fP \fIMinimalwert\fP \fIMailspool\fP"
+Quadrupel) der E\-Mail\-Gruppen des Benutzers (erfordert, dass \fB\%tin\fP(1) mit
+mh\-Mail\-Handling\-UnterstÃ¼tzung gebaut wurde).
+.TP 
+\fBMailgroupname\fP
+Pfad der Mailbox relativ zu Feld #4, wobei '/' in '.\&' umgewandelt sein
+muss.
 .TP 
 \fBMaximalwert\fP
 Geben Sie hier einfach eine groÃŸe Zahl ein, die hÃ¶her ist als die der
@@ -399,16 +401,16 @@ Mail.inbox 12345 00000 /home/foo
 Mail.outbox 23456 00000 /home/foo
 .RE
 .sp
-This allows access to the 'inbox' and 'outbox' folders of user foo.  They
-are accessed via /home/foo/Mail/inbox and /home/foo/Mail/outbox
+Dies ermÃ¶glicht den Zugriff auf die Ordner "Posteingang"und "Postausgang"
+des Benutzers foo. Der Zugriff erfolgt Ã¼ber /home/foo/Mail/inbox und
+/home/foo/Mail/outbox
 .RE
 .PP
 
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/active.save\fP
 .sp
 .RS
-aktive Datei der gespeicherten Newsgroups des Benutzers, verwendet von \fBtin
-\-R\fP.
+aktive Datei der gespeicherten Newsgroups des Benutzers, verwendet von \fBtin \-R\fP.
 .RE
 .PP
 
@@ -480,8 +482,8 @@ Identisch mit der tinrc\-Variable gleich
 Identisch mit der tinrc\-Variable gleichen Namens
 .TP 
 \fBfcc\fP
-Mailbox to save sent mails. The format of the mailbox is controlled via the
-tinrc \fBmailbox_format\fP variable.
+Postfach zum Speichern gesendeter E\-Mails. Das verwendete Format wird Ã¼ber
+die Variable tinrc \fBmailbox_format\fP festgelegt.
 .TP 
 \fBfollowup_to\fP
 Setzt den \*(rqFollowup\-To:\*(rq\-Header auf die angegebene(n) Gruppe(n).
@@ -505,8 +507,8 @@ Identisch mit der tinrc\-Variable gleich
 Identisch mit der tinrc\-Variable gleichen Namens
 .TP 
 \fBmailing_list\fP
-Used when a group is a mailing list. All responses to the group will be
-directed to this email address instead
+Wird verwendet, falls eine Gruppe eine Mailingliste ist. Alle Antworten an
+die Gruppe werden stattdessen an diese E\-Mail\-Adresse weitergeleitet.
 .TP 
 \fBmark_ignore_tags\fP
 Identisch mit der tinrc\-Variable gleichen Namens
@@ -645,10 +647,10 @@ string starts with a / or ~ then it is a
 containing the text to insert. If the string starts with a ! then what
 follows is assumed to be the path to a program to be executed to generate
 the content. %G is expanded to the current news.group.name and %P is
-expanded to the news.group.name with all '.' replaced by '/'.
+expanded to the news.group.name with all '.\&' replaced by '/'.
 .TP 
 \fBx_comment_to\fP
-FÃ¼gt Header â€žX\-Comment\-To:â€œ ein, dies ist nur in FIDO\-Gruppen nÃ¼tzlich.
+FÃ¼gt Header \*(rqX\-Comment\-To:\*(rq ein, dies ist nur in FIDO\-Gruppen nÃ¼tzlich.
 .TP 
 \fBx_headers\fP
 A string including header\-name and the contents of the header that will be
@@ -657,7 +659,7 @@ is assumed to be the name of a file cont
 be inserted. If the string starts with a ! then what follows is assumed to
 be the path to a program to be executed to generate the header and its
 content. %G is expanded to the current news.group.name and %P is expanded to
-the news.group.name with all '.' replaced by '/'.
+the news.group.name with all '.\&' replaced by '/'.
 .TP 
 \fBquick_kill_scope\fP
 Eine durch Komma getrennte Liste von Newsgroup\-Mustern im Wildmat\-Stil, auf
@@ -690,7 +692,7 @@ Identisch mit der tinrc\-Variable \fBdef
 Identisch mit der tinrc\-Variable \fBdefault_filter_select_header\fP
 .TP 
 \fBispell\fP
-Path and options for \fB\%ispell\fP(1)\-like spell\-checker, e.g. "aspell
+Path and options for \fB\%ispell\fP(1)\-like spell\-checker, e.g., "aspell
 \-\-mode=email \-\-dont\-backup check"
 .TP 
 \fBmm_network_charset\fP
@@ -699,16 +701,22 @@ Identisch mit der tinrc\-Variable gleich
 \fBundeclared_charset\fP
 Assume (broken) articles without MIME charset declaration have this charset
 \(em default is US\-ASCII. This attribute works only on systems with working
-\fB\%iconv\fP(3), others might have to compile \fB\%tin\fP(1)  with
-\-\-disable\-mime\-strict\-charset.
+\fB\%iconv\fP(3)  or \fB\%ucnv_*\fP(), others might have to compile \fB\%tin\fP(1)
+with \-\-disable\-mime\-strict\-charset.
+.TP 
+\fBundeclared_cs_guess\fP
+Guess charset for (broken) articles without MIME charset declaration.  This
+attribute works only on systems with working \fB\%iconv\fP(3)  or \fB\%ucnv_*\fP()
+and \fB\%ucsdet_getName()\fP from libicui18n. It has no effect if
+undeclared_charset is also set.
 .TP 
 Beispiel:
 .RS
 .nf
 # zusÃ¤tzliche Header einfÃ¼gen
 # ISO\-8859\-1 als Zeichensatz annehmen falls keiner
-# angegeben wurde
-scope=*
+# angegeben wurde; in allen Gruppen auÃŸer fido7.*
+scope=*,!fido7.*
 x_headers=~/.tin/headers
 undeclared_charset=ISO\-8859\-1
 
@@ -729,6 +737,10 @@ scope=fido.*
 quote_chars=%I>_
 x_comment_to=ON
 
+# in fido7.* Gruppen den Zeichnsatz erraten
+scope=fido7.*
+undeclared_cs_guess=ON
+
 # Keine Signatur in *.test Newsgruppen anhÃ¤ngen
 # und Subject vorwÃ¤hlen
 scope=*.test
@@ -770,7 +782,7 @@ erforderlich!
 0=GroÃŸ/Kleinschreibung beachten, 1=GroÃŸ/Kleinschreibung ignorieren
 .TP 
 \fBscore\fP
-Score value of the rule; can also be one of the magic words "kill" or "hot".
+Wert der Regel; kann auch eines der ZauberwÃ¶rter "kill" oder "hot" sein.
 .TP 
 \fBsubj\fP
 Vergleiche mit \*(rqSubject:\*(rq. Der verwendete Vergleichstyp (Wildmat oder
@@ -778,7 +790,7 @@ Regex) hÃ¤ngt von der Einstellung der ti
 .TP 
 \fBfrom\fP
 Match against \*(rqFrom:\*(rq.  \fB\%tin\fP(1)  converts the contents of the
-\&\*(rqFrom:\*(rq header to an old style e\-mail address, e.g. \*(rqsome@body.example
+\&\*(rqFrom:\*(rq header to an old style e\-mail address, e.g., \*(rqsome@body.example
 (John Doe)\*(rq instead of \*(rqJohn Doe <some@body.example>\*(rq, before
 trying to match the patterns in the filter rule. The matching type used
 (wildmat or regex) depends on the setting of the tinrc variable \fBwildcard\fP.
@@ -811,7 +823,7 @@ than, >num matches more than the returne
 value. GNKSA_LOCAL_DOMAIN_LITERAL or GNKSA_INVALID_DOMAIN are only returned
 if \fBdisable_gnksa_domain_check\fP is set to false. As the built in domain
 list is outdated this should be considered carefully.
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%406	'u +\w'GNKSA_ZERO_LENGTH_LOCAL_WORD'u
   \fB0\fP	GNKSA_OK
@@ -844,12 +856,12 @@ list is outdated this should be consider
 \fB405\fP	GNKSA_INVALID_REALNAME
 \fB406\fP	GNKSA_MISSING_REALNAME
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBxref\fP
 Match against \*(rqXref:\*(rq line. Before any matching is done the line is turned
 into the same format \*(rqNewsgroups:\*(rq has that is it is turned into a comma
-separated newsgroup list with all other information (i.e.  the article
+separated newsgroup list with all other information (i.e., the article
 counter) removed. The matching type used (wildmat or regex)  depends on the
 setting of the tinrc variable \fBwildcard\fP.
 .TP 
@@ -872,7 +884,7 @@ case=1
 score=hot
 subj=\eb(cd|[rk]?)?tin(d|pre)?[\-.0\-9]*\eb
 
-comment=downscore postings in nsr from google base on
+comment=downscore postings in nsr from google based on
 comment=message\-id or path, if both hit they end up with
 comment=a score of \-66 which is enough to mark them killed
 group=news.software.readers
@@ -1019,6 +1031,7 @@ is unassigned.
 \fBPageFollowupQuoteHeaders\fP	^W
 \fBPageToggleTex2iso\fP	"
 \fBPageToggleAllHeaders\fP	*
+\fBPageArticleInfo\fP	'
 \fBPageToggleRot\fP	%
 \fBPageToggleUue\fP	(
 \fBPageReveal\fP	)
@@ -1139,7 +1152,7 @@ normalerweise durch die lokalen Newsserv
 sobald eine neue Gruppe wird erstellt. Jede Zeile besteht aus zwei durch
 Tabulator getrennten Feldern "\fIGruppen.Name\fP	\fIKurzbeschreibung\fP".
 .TP 
-\fBmailgroupname\fP
+\fBMailgroupname\fP
 ist der Name der Newsgruppe
 .TP 
 \fBdescription\fP
@@ -1153,19 +1166,26 @@ ist die zugehÃ¶rige Kurzbeschreibung
 "\fINNTPServer[:Port]\fP \fInewsrc\fP [\fIKurzname\fP [\fI...\fP]]" Paare fÃ¼r den
 \&\*(rq\fB\-g\fP\*(rqKommandozeilenschalter. Bei der Suche wird nicht zwischen GroÃŸ\- und
 Kleinschreibung unterschieden und jede Zeile, die mit "#", ";" oder " "
-beginnt, wird als Kommentar behandelt.
+beginnt, wird als Kommentar behandelt. Nur verfÃ¼gbar, wenn via NNTP gelesen
+wird.
 .TP 
 \fBNNTPServer\fP
-VollstÃ¤ndig qualifizierter DomÃ¤nenname des Newsservers. ZusÃ¤tzlich kann ein
-Port durch AnhÃ¤ngen von :portnumber angegeben werden. Die Zeichenfolge
-"default" oder "*" fungiert als Platzhalter fÃ¼r die Ãœbereinstimmung mit
-jedem Namen. Eine solche Zeile sollte an letzter Stelle stehen.
+VollstÃ¤ndig qualifizierter DomÃ¤nenname des Newsservers. Eine einfache
+IPv6\-Adresse muss in eckige Klammern gesetzt werden. ZusÃ¤tzlich kann ein
+Port durch AnhÃ¤ngen von :portnumber angegeben werden. Wenn ein Port
+angegeben wird, Ã¼berschreibt er jeden Port, der mit \*(rq\fB\-g\fP\*(rq oder \*(rq\fB\-p\fP\*(rq
+angegeben oder durch \*(rq\fB\-T\fP\*(rq oder \*(rq\fB\-k\fP\*(rq impliziert oder Ã¼ber
+$\fBNNTPPORT\fP gesetzt wurde. Die Zeichenfolge "default" oder "*" fungiert als
+Platzhalter fÃ¼r die Ãœbereinstimmung mit jedem Namen. Eine solche Zeile
+sollte an letzter Stelle stehen.
 .TP 
 \fBnewsrc\fP
-zugehÃ¶rige newsrc\-Datei.
+ZugehÃ¶riges newsrc. Eine mit \*(rq\fB\-f\fP\*(rq angegebene Datei hat eine hÃ¶here
+PrioritÃ¤t.
 .TP 
 \fBKurzname\fP
-Kurzname(n) fÃ¼r den NNTP\-Server.
+nickname(s) for the nntpserver. Nicknames must not contain ":" and must be
+unique.
 .TP 
 Beispiel:
 .RS
@@ -1175,7 +1195,15 @@ news.tin.org .newsrc\-tin.org tinorg
 .br
 news.example.org /tmp/nrc\-ex example ex
 .br
-* ~/.tin/newsrcs/${NNTPSERVER\-localhost}
+[::1]:1119 /tmp/localhost6\-1119 lh6
+.br
+# Catch\-All\-Regeln sollten an letzter Stelle stehen
+.br
+# mit der spezifischeren Regel an erster Stelle
+.br
+*:563 ~/.tin/newsrcs/${NNTPSERVER\-localhost}:563/newsrc
+.br
+* ~/.tin/newsrcs/${NNTPSERVER\-localhost}/newsrc
 .RE
 .RE
 .PP
@@ -1212,6 +1240,28 @@ Vorrat an zurÃ¼ckgestellten Artikeln. Di
 .PP
 
 .nf
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/motd\fP
+.fi
+.sp
+.RS
+This file is a copy of the servers message of the day (MOTD) message.  It is
+automatically created on startup except when using the \*(rq\fB\-Q\fP\*(rq
+command\-line option and is unlinked on exit.
+.RE
+.PP
+
+.nf
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog\fP
+.fi
+.sp
+.RS
+Datei zum Speichern von $\fBNNTPSERVER\fP und $\fBNNTPPORT\fP bezogenen Info\- und
+Fehlermeldungen. Die Datei wird beim Start Ã¼berschrieben und ist zur
+Debuggen gedacht.
+.RE
+.PP
+
+.nf
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/newsgroups\fP
 .fi
 .sp
@@ -1236,29 +1286,22 @@ ist die zugehÃ¶rige Kurzbeschreibung
 .sp
 .RS
 File to store $\fBNNTPSERVER\fP and $\fBNNTPPORT\fP related data via a list of
-"\fIvariable\fP=\fIvalue\fP" pairs. Currently there are only two variables, both
+"\fIvariable\fP=\fIvalue\fP" pairs. Currently there are only a few variables, all
 are not meant to be changed by the user.
 .TP 
 \fBversion\fP
 Interne Versionsnummer.
 .TP 
+\fBmotd_hash\fP
+Interner Hash der MOTD des Servers, damit dessen Anzeige Ã¼bersprungen werden
+kann, falls dieser unverÃ¤ndert ist.
+.TP 
 \fBlast_newnews\fP
 Interner Zeitstempel, der von \fB\%tin\fP(1) verwendet wird, um neue
 Newsgruppen auf dem Server zu erkennen.
 .RE
 .PP
 
-.nf
-\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog\fP
-.fi
-.sp
-.RS
-Datei zum Speichern von $\fBNNTPSERVER\fP und $\fBNNTPPORT\fP bezogenen Info\- und
-Fehlermeldungen. Die Datei wird beim Start Ã¼berschrieben und ist zur
-Debuggen gedacht.
-.RE
-.PP
-
 .\" tin uses inns old (pre 2.x) Path convention.
 .\" as with inn >= 2.2.x getting more and more popular
 .\" we should think about checking for the new Paths (/news/etc/)
@@ -1270,11 +1313,12 @@ Debuggen gedacht.
 .RS
 At startup, \fB\%tin\fP(1)  reads in the configuration file. This contains a
 list of "\fIvariable\fP=\fIvalue\fP" pairs that can be used to configure the way
-\fB\%tin\fP(1)  works. If it exists, the global configuration file,
-\fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fP is read first. After that, the user's own
-configuration file \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP is read. The global
-file is useful for distributing system\-wide defaults to new users who have
-no private tinrc yet (see also \fB/etc/tin/tin.defaults\fP).
+\fB\%tin\fP(1)  works. \fIvalue\fP strings are limited to 1022 chars and will be
+discarded if exceeding this limit. If it exists, the global configuration
+file, \fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fP is read first. After that, the
+user's own configuration file \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP is
+read. The global file is useful for distributing system\-wide defaults to new
+users who have no private tinrc yet (see also \fB/etc/tin/tin.defaults\fP).
 .TP 
 \fBabbreviate_groupname\fP
 Falls ON werden, sofern nÃ¶tig, lange Newsgruppennamen in der Auswahl\- und
@@ -1324,7 +1368,7 @@ ist ' '.
 .TP 
 \fBart_marked_killed\fP
 Zeichen das anzeigt, dass ein Artikel gekillt wurde. Voreinstellung ist
-\&'K'). \fBkill_level\fP muss passend gesetzt sein.
+\&'K'. \fBkill_level\fP muss passend gesetzt sein.
 .TP 
 \fBart_marked_read_selected\fP
 Zeichen, das verwendet wird, um anzuzeigen, dass ein Artikel automatisch
@@ -1352,7 +1396,7 @@ anzeigen? Voreinstellung ist ON.
 Automatisch Verbindung zum Server wiederherstellen. Voreinstellung ist OFF.
 .TP 
 \fBbatch_save\fP
-Falls ON werden Artikel/Threads im Batchmode gespeichert wenn \*(rq\fB\-S\fP oder
+Falls ON werden Artikel/Threads im Batchmode gespeichert wenn \*(rq\fB\-S\fP\*(rq oder
 gemailt, wenn \*(rq\fB\-M\fP\*(rq bzw. \*(rq\fB\-N\fP\*(rq in der Kommandozeile angegeben
 wurde. Voreinstellung ist ON.
 .TP 
@@ -1367,6 +1411,11 @@ If ON, create local copies of NNTP overv
 considerably speed up accessing large groups when using a slow connection.
 Default is OFF.
 .TP 
+\fBcompress_overview_files\fP
+If ON, locally cached NNTP overview files (\fBcache_overview_files\fP) are
+saved in compressed form (\fBRFC\%1952\fP). Useful to reduce local disk space
+used. Default is OFF.
+.TP 
 \fBcancel_lock_algo\fP
 Diesen Hash\-Algorithmus fÃ¼r Cancel\-Locks verwenden. Nur vorhanden falls
 \fBtin\fP mit Cancel\-Lock\-UnterstÃ¼tzung gebaut wurde. Keiner deaktiviert die
@@ -1467,7 +1516,7 @@ Farbe des Hilfe/Mail\-Zeichens
 \fBconfirm_choice\fP
 \fB\%tin\fP(1)  can ask for manual confirmation to protect the user. Available
 choices:
-.in +.5i
+.in +0.5i
 .\" TODO: check if all affected commands are marked [after confirmation]
 \fBcommands\fP: Ask for confirmation before executing certain dangerous
 commands (e.g., \fBCatchup\fP ('\fBc\fP')). Commands that this affects are marked
@@ -1478,7 +1527,7 @@ you use the \fBQuit\fP ('\fBq\fP') comma
 .sp
 \fBselect\fP: Ask for confirmation before marking all not selected (with
 \fBGroupMarkUnselArtRead\fP ('\fBX\fP') command) articles as read.
-.in -.5i
+.in -0.5i
 Voreinstellung ist Kommandos & Ende.
 .TP 
 \fBdate_format\fP
@@ -1498,20 +1547,20 @@ Der letzte Artikel/Autor/Konfigurationso
 Voreinstellung ist 28.
 .TP 
 \fBdefault_filter_kill_case\fP
-Default for quick (1 key) kill filter case.  ON = filter case sensitive, OFF
-= ignore case. Default is OFF.
+Standard fÃ¼r schnellen (1 Taste) Kill\-Filter. ON = GroÃŸ\-/Kleinschreibung
+berÃ¼cksichtigen, OFF = GroÃŸ\-/Kleinschreibung ignorieren.
 .TP 
 \fBdefault_filter_kill_expire\fP
-Default for quick (1 key) kill filter expire.  ON = limit to
-\fBdefault_filter_days\fP, OFF = don't ever expire. Default is OFF.
+Standard fÃ¼r schnellen (1\-Taste) Kill\-Filter\-Ablauf. ON = auf
+\fBdefault_filter_days\fP begrenzen, OFF = niemals ablaufen. Standard ist OFF.
 .TP 
 \fBdefault_filter_kill_global\fP
-Default for quick (1 key) kill filter global.  ON=apply to all groups,
-OFF=apply to current group. Default is ON.
+Standard fÃ¼r schnellen (1\-Taste) Kill\-Filter global. ON = auf alle Gruppen
+anwenden, OFF = auf die aktuelle Gruppe anwenden. Standard ist ON.
 .TP 
 \fBdefault_filter_kill_header\fP
 Voreinstellung fÃ¼r Schnell (1 Tasten) Killfilter Header.
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'0,1   'u +\w'\'\'Message\-ID:\'\' & letzter \'\'References:\'\' Eintrag'u
 0	\*(rqSubject:\*(rq (GroÃŸ/Kleinschreibung beachten)
@@ -1523,23 +1572,24 @@ Voreinstellung fÃ¼r Schnell (1 Tasten) K
 6	\*(rqMessage\-ID:\*(rq allein
 7	\*(rqLines:\*(rq
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBdefault_filter_select_case\fP
-Default for quick (1 key) auto\-selection filter case. ON=filter case
-sensitive, OFF=ignore case. Default is OFF.
+Standard fÃ¼r den schnellen (1 Taste) automatischen Auswahlfilter. EIN =
+GroÃŸ\-/Kleinschreibung berÃ¼cksichtigen, AUS = GroÃŸ\-/Kleinschreibung
+ignorieren.
 .TP 
 \fBdefault_filter_select_expire\fP
-Default for quick (1 key) auto\-selection filter expire.  ON = limit to
-\fBdefault_filter_days\fP, OFF = don't ever expire.  Default is OFF.
+Standard fÃ¼r schnellen (1\-Taste) Auto\-Auswahlfilter\-Ablauf. ON = auf
+\fBdefault_filter_days\fP begrenzen, OFF = niemals ablaufen. Standard ist OFF.
 .TP 
 \fBdefault_filter_select_global\fP
-Default for quick (1 key) auto\-selection filter global.  ON=apply to all
-groups, OFF=apply to current group. Default is ON.
+Standard fÃ¼r schnellen (1\-Taste) Auto\-Auswahlfilter global. ON = auf alle
+Gruppen anwenden, OFF = auf die aktuelle Gruppe anwenden. Standard ist ON.
 .TP 
 \fBdefault_filter_select_header\fP
-Default for quick (1 key) auto\-selection filter header.
-.in +.3i
+Standardheader fÃ¼r den Filter mit schneller automatischer Auswahl (1 Taste).
+.in +0.3i
 .nf
 .ta \w'0,1   'u +\w'\'\'Message\-ID:\'\' & letzter \'\'References:\'\' Eintrag'u
 0	\*(rqSubject:\*(rq (GroÃŸ/Kleinschreibung beachten)
@@ -1551,7 +1601,7 @@ Default for quick (1 key) auto\-selectio
 6	\*(rqMessage\-ID:\*(rq allein
 7	\*(rqLines:\*(rq
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBdefault_goto_group\fP
 .TP 
@@ -1587,9 +1637,15 @@ Default for quick (1 key) auto\-selectio
 .TP 
 \fBdefault_subject_search\fP
 .TP 
+\fBdont_break_words\fP
+Lange Zeilen nicht innerhalb eines Wortes Umrechen. Dies gilt fÃ¼r den
+ArtikelkÃ¶rper mit Ausnahme von wortgetreuen BlÃ¶cken. Siehe auch
+\fBwrap_column\fP. Die Voreinstellung ist OFF.
+.TP 
 \fBdraw_arrow\fP
-Allows groups/articles to be selected by an arrow '\->' if set ON or by a
-highlighted bar if set OFF. Default is OFF.
+ErmÃ¶glicht die Auswahl von Gruppen/Artikeln mit einem Pfeil '\->', wenn
+aktiviert, oder durch eine hervorgehobene Leiste, wenn deaktiviert. Der
+Standardwert ist OFF.
 .TP 
 \fBeditor_format\fP
 The format string used to create the editor start command with parameters.
@@ -1631,7 +1687,7 @@ linken Cursortaste. Voreinstellung ist O
 Diese Formatanweisung wird von \fBtin\fP zur Darstellung der Gruppenebene
 benutzt. Voreingestellt ist "%n\ %m\ %R\ %L\ \ %s\ \ %F". Folgende
 Ersetzungen werden unterstÃ¼tzt:
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%G    'u +\w'Absender, Name und/oder E\-Mail Adresse'u
 %D	Datum
@@ -1646,43 +1702,47 @@ Ersetzungen werden unterstÃ¼tzt:
 %s	Subject
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBhide_uue\fP
-If set to 'No' then raw uuencoded data is displayed. If set to 'Yes' then
-sections of uuencoded data will be shown with a single tag line showing the
-size and filename (much the same as a MIME attachment).  If set to 'Hide
-all' then any line that looks like uuencoded data will be folded into a tag
-line. This is useful when uuencoded data is split across more than one
-article but can also lead to false positives. This setting can also be
-toggled in the article viewer.  Default is 'No'.
+Falls auf 'Nein' gesetzt, werden die Rohdaten im uuencoded Format
+angezeigt. Wenn auf 'Ja' gesetzt, werden Abschnitte von uuencoded Daten mit
+einer einzigen Tag\-Zeile angezeigt, die die GrÃ¶ÃŸe und den Dateinamen zeigt
+(Ã¤hnlich wie ein MIME\-Anhang). Falls auf 'Alle ausblenden' gesetzt, wird
+jede Zeile, die wie uuencoded Daten aussieht, in eine Tag\-Zeile
+umgewandelt. Dies ist nÃ¼tzlich, wenn uuencoded Daten Ã¼ber mehr als einen
+Artikel verteilt sind, kann aber auch zu falschen Positiven fÃ¼hren. Diese
+Einstellung kann auch im Artikelbetrachter umgeschaltet werden. Der
+Standardwert ist 'Nein'.
 .TP 
 \fBinews_prog\fP
-Path, name and options of external \fB\%inews\fP(1).  If you are reading via
-NNTP the default value is "\-\-internal" (use built\-in NNTP inews), else it is
-"inews \-h". The article is passed to \fBinews_prog\fP on STDIN via '<
-article'.
+Pfad, Name und Optionen des externen \fB\%inews\fP(1). Wenn Sie Ã¼ber NNTP
+lesen, ist der Standardwert "\-\-internal" (verwende eingebautes NNTP inews),
+ansonsten ist es "inews \-h". Der Artikel wird mittels '< Artikel' an
+\fBinews_prog\fP via STDIN Ã¼bergeben.
 .TP 
 \fBinfo_in_last_line\fP
-If ON, show current group description or article subject in the last line
-(not in the pager and global menu) \(em \fBToggleInfoLastLine\fP ('\fBi\fP')
-toggles setting. This facility is useful as the full width of the screen is
-available to display long subjects. Default is OFF.
+Wenn ON, zeigen Sie die aktuelle Gruppenbeschreibung oder den Artikelbereich
+in der letzten Zeile an (nicht im Pager und im globalen MenÃ¼) \(em
+\fBToggleInfoLastLine\fP ('\fBi\fP') wechselt die Einstellung. Diese Funktion ist
+nÃ¼tzlich, da die volle Breite des Bildschirms zur VerfÃ¼gung steht, um lange
+Betreffzeilen anzuzeigen. Voreinstellung ist OFF.
 .TP 
 \fBinteractive_mailer\fP
 If greater than 0 your mailreader will be invoked earlier for reply so you
-can use more of its features (e.g. MIME, pgp, ...). 1 means include headers,
-2 means don't include headers (old use_mailreader_i=ON option). 0 turns off
-usage. This option has to suit \fBmailer_format\fP. Default is 0.
+can use more of its features (e.g., MIME, pgp, ...). 1 means include
+headers, 2 means don't include headers (old use_mailreader_i=ON option). 0
+turns off usage. This option has to suit \fBmailer_format\fP. Default is 0.
 .TP 
 \fBinverse_okay\fP
 Falls ON: inverse Darstellung fÃ¼r Header und das Hervorheben von URLs
 benutzen. Voreinstellung ist ON.
 .TP 
 \fBkeep_dead_articles\fP
-If ON keep all failed postings in \fI${TIN_HOMEDIR:\-"$HOME"}/dead.articles\fP
-besides keeping the last failed posting in
-\fI${TIN_HOMEDIR:\-"$HOME"}/dead.article\fP. Default is ON.
+Wenn ON, alle fehlgeschlagenen BeitrÃ¤ge in
+\fI${TIN_HOMEDIR:\-"$HOME"}/dead.articles\fP behalten, zusÃ¤tzlich zum Speichern
+des letzten fehlgeschlagenen Beitrags in
+\fI${TIN_HOMEDIR:\-"$HOME"}/dead.article\fP. Die Voreinstellung ist ON.
 .TP 
 \fBkill_level\fP
 This option controls the processing and display of articles that are
@@ -1695,25 +1755,28 @@ happens on unread articles with \fBkill_
 and \fBart_marked_read_selected\fP are only shown once. When you reenter the
 group the mark will be gone.
 .IP 1
-\fBKill all arts & show with K\fP will process all articles in the group and
-therefore there is a processing overhead when using this option. Killed
-articles are threaded as normal but they will be marked with
-\fBart_marked_killed\fP.
+\fBKillt alle Artikel, markiert mit K\fP wird auf alle Artikel in der Gruppe
+angewendet und verursacht daher einen erhÃ¶hten Bearbeitungsaufwand, falls
+diese Option verwendet wird. GelÃ¶schte Artikel werden wie gewohnt in Threads
+angezeigt, sind jedoch mit \fBart_marked_killed\fP markiert.
 .IP 2
-\fBKill all arts and never show\fP will process all articles in the group and
-therefore there is a processing overhead when using this option. Killed
-articles simply does not get displayed at all.
+\fBKillt alle Artikel, zeigt sie nie\fP wird alle Artikel in der Gruppe
+angewendet und verursacht daher einen erhÃ¶hten Bearbeitungsaufwand, falls
+diese Option verwendet wird. GelÃ¶schte Artikel werden Ã¼berhaupt nicht
+angezeigt.
 .RE
 .TP 
 \fBmail_8bit_header\fP
-Allows 8bit characters unencoded in the header of mail message. Default is
-OFF. Turning it ON is effective only if \fBmail_mime_encoding\fP is also set to
-8bit. Leaving it OFF is safe for most users and compliant to Internet Mail
-Standard (\fBRFC\%5322\fP and \fBRFC\%2047\fP). Default is OFF.
+Erlaubt unkodierte 8\-Bit\-Zeichen im Header von E\-Mail\-Nachrichten. Der
+Standardwert ist OFF. Das Aktivieren hat nur Wirkung, wenn
+\fBmail_mime_encoding\fP auch auf 8bit gesetzt ist. Das Beibehalten auf OFF ist
+fÃ¼r die meisten Benutzer sicher und entspricht dem Internet Mail Standard
+(\fBRFC\%5322\fP und \fBRFC\%2047\fP). Die Voreinstellung ist OFF.
 .TP 
 \fBmail_address\fP
-User's mail address (and full name), if not username@host. This is used when
-creating articles, sending mail and when \fB\%pgp\fP(1)  signing.
+E\-Mail\-Adresse des Benutzers (und vollstÃ¤ndiger Name), falls nicht
+benutzername@host. Wird beim Erstellen von Artikeln, beim Versenden von
+E\-Mails und beim Signieren mit \fB\%pgp\fP(1) verwendet.
 .TP 
 \fBmail_mime_encoding\fP
 MIME\-Kodierung des TextkÃ¶rpers in E\-Mail\-Nachrichten falls erforderlich
@@ -1722,8 +1785,9 @@ MIME\-Kodierung des TextkÃ¶rpers in E\-M
 \fBmail_quote_format\fP
 Format der Einleitungszeile fÃ¼r Mailantworten (%A=Mailadresse, %D=Datum,
 %F=Name und Adresse, %G=Name der Gruppe, %M=Message\-ID, %N=Name des Autors,
-%C=Vorname des Autors, %I=Initialen des Autor). Voreinstellung ist "In
-article %M you wrote:".
+%C=Vorname des Autors, %I=Initialen des Autor). Falls der Artikel mehrere
+Adressen hat, wird nur die erste ausgewertet. Voreinstellung ist "In article
+%M you wrote:".
 .TP 
 \fBmailbox_format\fP
 Select one of the following mailbox\-formats: MBOXO (default, except on SCO),
@@ -1741,17 +1805,16 @@ The format string used to create the mai
 used for mailing articles to other people. Default is '%M "%T" < %F'
 (e.g., /bin/mail "iain" < ~/.article). The flexible format allows other
 mailers with different command line parameters to be used such as
-.in +.3i
+.in +0.3i
 .nf
 sendmail \-oem \-t < %F
-mutt \-s "%S" \-\- "%T" < %F
 mutt \-H %F
 claws\-mail \-\-compose "mailto:%T?subject=%S&insert=%F"
 .fi
-.in -.3i
+.in -0.3i
 \fBinteractive_mailer\fP muss passend dazu gesetzt sein. Folgende Ersetzungen
 werden unterstÃ¼tzt:
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%S'u +\w'default_mailer'u
 %F	Dateiname
@@ -1761,7 +1824,7 @@ werden unterstÃ¼tzt:
 %U	Benutzername
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBmark_saved_read\fP
 Falls ON werden gespeicherte Artikel als gelesen markiert. Voreinstellung
@@ -1791,20 +1854,21 @@ than the value of this parameter is cons
 represented as '?'. Otherwise, all character sets are regarded as compatible
 with the display. If it's not set, the value of the environment variable
 $\fBMM_CHARSET\fP is used. US\-ASCII or compile\-time default is used in case
-neither of them is defined. If your system supports \fB\%iconv\fP(3), this
-option is disabled and you should use \fBmm_network_charset\fP instead.
+neither of them is defined. If your system supports \fB\%iconv\fP(3)  or
+\fB\%ucnv_*\fP(), this option is disabled and you should use
+\fBmm_network_charset\fP instead.
 .TP 
 \fBmm_network_charset\fP
 Charset used for posting and MIME headers; replaces \fBmm_charset\fP.
 Conversion between \fBmm_network_charset\fP and local charset (determined via
-\fB\%nl_langinfo\fP(3))  is done via \fB\%iconv\fP(3), if this function is not
-available on your system this option is disabled and you have to use
-\fBmm_charset\fP instead. \fBmm_network_charset\fP is limited to one of the
-following charsets:
-.in +.3i
+\fB\%nl_langinfo\fP(3))  is done via \fB\%iconv\fP(3)  or \fB\%ucnv_*\fP(), if none
+of these functions are available on your system this option is disabled and
+you have to use \fBmm_charset\fP instead. \fBmm_network_charset\fP is limited to
+one of the following charsets:
+.in +0.3i
 US\-ASCII, ISO\-8859\-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8\-{R,U,RU}
 EUC\-{CN,JP,KR,TW}, ISO\-2022\-{CN,CN\-EXT,JP,JP\-1,JP\-2}, Big5, UTF\-8
-.in -.3i
+.in -0.3i
 Not all values might work on your system, see \fB\%iconv_open\fP(3)  for more
 details. If it's not set, the value of the environment variable
 $\fBMM_CHARSET\fP is used. US\-ASCII or compile\-time default is used in case
@@ -1831,8 +1895,9 @@ terminal which attributes are usable. Se
 \fBword_highlight\fP.
 .TP 
 \fBnewnews\fP
-These are internal timers used by \fB\%tin\fP(1)  to keep track of new
-newsgroups. Do not change them unless you understand what they are for.
+Interne Timer, die von \fB\%tin\fP(1) verwendet werden, um den Ãœberblick Ã¼ber
+neue Newsgroups zu behalten. Nicht Ã¤ndern, es sei denn, Sie verstehen genau
+wozu sie dienen.
 .TP 
 \fBnews_headers_to_display\fP
 Welche Header wollen Sie sehen. Wenn Sie _alle_ sehen wollen, setzen Sie ein
@@ -1843,8 +1908,8 @@ Leerzeichen getrennte Werte angeben. Wen
 diese Option deaktiviert.
 .TP 
 \fBnews_headers_to_not_display\fP
-Genau das Gleiche wie 'news_headers_to_display', mit der Ausnahme, das es
-das Gegenteil bewirkt. Wenn Sie dachten, das die X\- Header eine tolle Sachen
+Genau das Gleiche wie \fBnews_headers_to_display\fP, mit der Ausnahme, das es
+das Gegenteil bewirkt. Wenn Sie dachten, das X\-Header eine tolle Sachen
 waren, nun aber festgestellt haben, das dort einiges Ã¼berflÃ¼ssiges steht,
 dann kÃ¶nnten Sie wie folgt vorgehen: \fBnews_headers_to_display=X\-\fP
 \fBnews_headers_to_not_display=X\-Alan X\-Pape\fP Wenn Sie hier nichts angeben,
@@ -1853,7 +1918,8 @@ wird diese Option deaktiviert.
 \fBnews_quote_format\fP
 Format der Einleitungszeile fÃ¼r Newsartikel (%A=Mailadresse, %D=Datum,
 %F=Name und Adresse, %G=Name der Gruppe, %M=Message\-ID, %N=Name des Autors,
-%C=Vorname des Autors, %I=Initialen des Autor). Voreinstellung ist "%F
+%C=Vorname des Autors, %I=Initialen des Autor). Falls der Artikel mehrere
+Adressen hat, wird nur die erste ausgewertet. Voreinstellung ist "%F
 wrote:".
 .TP 
 \fBnntp_read_timeout_secs\fP
@@ -1878,9 +1944,9 @@ normalisieren. Die mÃ¶glichen Werte sind
 \fBNFKC_CF\fP: KompatibilitÃ¤tszerlegung, gefolgt von kanonischer
 Zusammensetzung und Faltung
 .RE
-Some normalization modes are only available if they are supported by the
-library \fB\%tin\fP(1)  uses to do the normalization. NFC should be used if
-possible.
+Einige Normalisierungsarten sind nur verfÃ¼gbar, wenn sie von der Bibliothek
+unterstÃ¼tzt werden, die \fB\%tin\fP(1) fÃ¼r die Normalisierung verwendet. Nach
+MÃ¶glichkeit sollte NFC verwendet werden (\fBRFC\%5198\fP).
 .TP 
 \fBpage_mime_format\fP
 Diese Formatanweisung wird von tin \fB\%tin\fP(1) zur Darstellung von
@@ -1959,7 +2025,8 @@ ist OFF.
 \fBquote_chars\fP
 The character used in quoting included text to article followups and mail
 replies. The '_' character represents a blank character and is replaced with
-\&' ' when read, %I is replaced by author's initials. Default is '>_'.
+\&' ' when read, %I is replaced by author's initials. If the article has
+multiple addresses only the first is evaluated. Default is '>_'.
 .TP 
 \fBquote_style\fP
 This bit coded integer value controls how articles are to be quoted when
@@ -1967,7 +2034,9 @@ following up or replying to them. Any of
 combined by adding all relevant values. Default is 5, which means that quote
 characters are compressed and empty lines are quoted.
 .RS +1i
-.IP 1 3
+.IP 0 3
+\fBNichts besonderes\fP Nicht leere Zeilen zitieren.
+.IP 1
 \fBCompress quotes\fP Compress quote characters together when quoting multiple
 times (for example, '> > >' will be turned into
 \&'>>>'). This option is on by default.
@@ -2000,9 +2069,9 @@ Wenn auf 0 gesetzt, ist diese Funktion d
 die Anzahl der Tage.
 .TP 
 \fBrender_bidi\fP
-If ON \fB\%tin\fP(1)  does the rendering of bi\-directional text. If OFF
-\fB\%tin\fP(1)  leaves the rendering of bi\-directional text to the
-terminal. Default is OFF.
+Falls ON, kÃ¼mmert sich \fB\%tin\fP(1) um die Darstellung von bidirektionalem
+Text. Bei OFF, Ã¼berlÃ¤sst \fB\%tin\fP(1) die Darstellung von bidirektionalem
+Text dem Terminal.
 .TP 
 \fBreread_active_file_secs\fP
 The news \fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fP file is
@@ -2034,14 +2103,15 @@ The number of lines that will be scrolle
 using cursor\-up/down. The default is 1 (line\-by\-line). Set to 0 to get
 traditional \fB\%tin\fP(1)  page\-by\-page scrolling. Set to \-1 to get
 page\-by\-page scrolling where the top/bottom line is carried over onto the
-next page.  This setting supersedes show_last_line_prev_page=ON. Set to \-2
-to get half\-page scrolling. This setting supersedes \fBfull_page_scroll\fP=OFF.
+next page.  This setting supersedes \fBshow_last_line_prev_page\fP=ON. Set to
+\-2 to get half\-page scrolling. This setting supersedes
+\fBfull_page_scroll\fP=OFF.
 .TP 
 \fBselect_format\fP
 Diese Formatanweisung wird von \fBtin\fP zur Darstellung der Auswahlebene
 benutzt. Voreingestellt ist "%f\ %n\ %U\ \ %G\ \ %d". Folgende Ersetzungen
 werden unterstÃ¼tzt:
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%G    'u +\w'Anzahl ungelesener Artikel'u
 %G	Name der Gruppe
@@ -2051,7 +2121,7 @@ werden unterstÃ¼tzt:
 %n	aktuelle Gruppennummer
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBsort_function\fP
 Sortierfunktion fÃ¼r Artikel. Voreinstellung ist 0.
@@ -2094,9 +2164,9 @@ and turn descriptions off. The text used
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/mailgroups\fP for mailgroups. Default is ON.
 .TP 
 \fBshow_help_mail_sign\fP
-Allows you to select whether \fB\%tin\fP(1)  shows a help indication, a new
-mail indication, both, or neither in the various level titles.  Default is
-3.
+Auswahl ob \fB\%tin\fP(1) in den verschiedenen Ebenentiteln eine Hilfeanzeige,
+eine neue E\-Mail\-Anzeige, beides oder keines von beiden anzeigt. Die
+Voreinstellung ist 3.
 .RS +1i
 .IP 0 3
 \fBKein Hilfe\- oder Mailanzeige\fP.
@@ -2129,11 +2199,14 @@ vorangestellt. Voreinstellung ist ON.
 The path that specifies the signature file to use when posting, following up
 to or replying to an article. If the path is a directory then the signature
 will be randomly generated from files that are in the specified
-directory. If the path starts with a ! the program the path points to will
-be executed to generate a signature. In order to pass the group name to the
-program, %G can be specified. This will be replaced by the name of the
-current newsgroup. \-\-none will suppress any signature.  Default is
-\fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fP.
+directory. If a file named \fI.sigfixed\fP does exist in that dir or
+\fI${TIN_HOMEDIR:\-"$HOME"}/.sigfixed\fP does exist it will be prepended to the
+chosen signature (first match counts). If the path starts with a ! the
+program the path points to will be executed to generate a signature. In
+order to pass the group name to the program, %G can be specified.  This will
+be replaced by the name of the current newsgroup. \-\-none will suppress any
+signature. Default is \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fP.  See also
+\fI${TIN_HOMEDIR:\-"$HOME"}/.sigfixed\fP.
 .TP 
 \fBsignature_repost\fP
 Falls ON wird die Signatur auch an repostete Artikel
@@ -2220,8 +2293,9 @@ If ON, then unsubscribed groups will be
 \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP file. Default is OFF.
 .TP 
 \fBstrip_re_regex\fP
-A regular expression to find Subject prefixes like "Re:" to remove If
-\fBstrip_re_regex\fP is blank, then \fB\%tin\fP(1)  uses a built\-in default.
+Ein regulÃ¤rer Ausdruck zum Suchen nach BetreffprÃ¤fixen wie "Re:", die
+entfernt werden sollen. Wenn \fBstrip_re_regex\fP leer ist, verwendet
+\fB\%tin\fP(1) einen integrierten Standardwert.
 .TP 
 \fBstrip_was_regex\fP
 A regular expression to find Subject suffixes like "(was:" to remove.  If
@@ -2262,7 +2336,7 @@ the group attribute variable \fBthread_a
 Diese Formatanweisung wird von \fBtin\fP zur Darstellung der Threadebene
 benutzt. Voreingestellt ist "%n\ %m\ \ [%L]\ \ %T\ \ %F". Folgende
 Ersetzungen werden unterstÃ¼tzt:
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%G    'u +\w'Subject und/oder Baumdarstellung des Thread'u
 %D	Datum
@@ -2276,7 +2350,7 @@ Ersetzungen werden unterstÃ¼tzt:
 %n	aktuelle Artikelnummer
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBthread_perc\fP
 Defines how close the subjects must match while threading by Percentage
@@ -2300,8 +2374,9 @@ die maximale Punktzahl in diesem Diskuss
 .RE
 .TP 
 \fBtls_ca_cert_file\fP
-The name of file containing all trusted CA certificates used for NNTPS
-(\fBRFC\%8143\fP) connections. If left empty the system default will be used.
+Name der Datei, die alle vertrauenswÃ¼rdigen CA\-Zertifikate enthÃ¤lt, die fÃ¼r
+NNTPS\-Verbindungen (\fBRFC\%8143\fP) verwendet werden. Falls es leer bleibt,
+wird der Systemstandard verwendet.
 .TP 
 \fBtranslit\fP
 If ON append //TRANSLIT to the first argument of \fB\%iconv_open\fP(3)  to
@@ -2311,8 +2386,9 @@ or several similarly looking characters.
 doesn't exist, this option is disabled. Default is OFF.
 .TP 
 \fBtrim_article_body\fP
-Allows you to select how \fB\%tin\fP(1)  treats blank lines in article bodies.
-Default is 0. This option does not affect lines within verbatim blocks.
+Auswahl, wie \fB\%tin\fP(1) Leerzeilen in ArtikelkÃ¶rpern behandelt. Der
+Voreinstellung ist 0. Diese Option wirkt sich nicht auf Zeilen innerhalb von
+wortgetreu wiederzugebenden TextblÃ¶cken aus.
 .RS +1i
 .IP 0 3
 \fBArtikelrumpf nicht anpassen\fP.
@@ -2327,16 +2403,13 @@ Ã¼berspringen.
 \fBMehrere zwischen TextblÃ¶cken zusammenfassen\fP, Leerzeilen zwischen
 TextblÃ¶cken zusammenfassen.
 .IP 5
-\fBMehrere zwischen Textbl. zusammenfassen + fÃ¼hrende Leerzeilen
-Ã¼berspringen\fP, 4 + 1; Leerzeilen zwischen TextblÃ¶cken zusammenfassen und
+\fBMehrere zwischen Textbl. zusammenfassen + fÃ¼hrende Leerzeilen Ã¼berspringen\fP, 4 + 1; Leerzeilen zwischen TextblÃ¶cken zusammenfassen und
 fÃ¼hrende Leerzeilen Ã¼berspringen.
 .IP 6
-\fBMehrere zwischen Textbl. zusammenfassen + abschlieÃŸende
-Leerz. Ã¼berspringen\fP, 4 + 2; Leerzeilen zwischen TextblÃ¶cken zusammenfassen
+\fBMehrere zwischen Textbl. zusammenfassen + abschlieÃŸende Leerz. Ã¼berspringen\fP, 4 + 2; Leerzeilen zwischen TextblÃ¶cken zusammenfassen
 und abschlieÃŸende Leerzeilen Ã¼berspringen.
 .IP 7
-\fBMehrere zwischen Textbl. zusammenf. + fÃ¼hrende/abschlieÃŸende
-Leerz. Ã¼berspr.\fP, 4 + 3; Leerzeilen zwischen TextblÃ¶cken zusammenfassen und
+\fBMehrere zwischen Textbl. zusammenf. + fÃ¼hrende/abschlieÃŸende Leerz. Ã¼berspr.\fP, 4 + 3; Leerzeilen zwischen TextblÃ¶cken zusammenfassen und
 fÃ¼hrende sowie abschlieÃŸende Leerzeilen Ã¼berspringen
 .RE
 .TP 
@@ -2345,9 +2418,10 @@ Falls ON, werden weiche Bindestriche (U+
 bei der Artikelanzeige entfernt. Voreinstellung ist OFF.
 .TP 
 \fBunderscores_regex\fP
-A regular expression that will be applied when reading articles. All
-matching words are shown in \fBcol_markdash\fP or \fBmono_markdash\fP. If
-\fBunderscores_regex\fP is blank, then \fB\%tin\fP(1)  uses a built\-in default.
+RegulÃ¤rer Ausdruck, der beim Lesen von Artikeln angewendet wird. Alle
+passenden WÃ¶rter werden in \fBcol_markdash\fP oder \fBmono_markdash\fP
+angezeigt. Falls \fBunderscores_regex\fP leer ist, verwendet \fB\%tin\fP(1) einen
+integrierten Standardwert.
 .TP 
 \fBunlink_article\fP
 Falls ON entferne \fI${TIN_HOMEDIR:\-"$HOME"}/.article\fP nach dem
@@ -2426,12 +2500,12 @@ are used. Default is ON.
 \fBwrap_column\fP
 Sets the column at which a displayed article body should be wrapped.  If
 this value is equal to 0, it defaults to the current screen width.  If this
-value is greater than your current screen width the part off\-screen is not
-displayed. Thus setting this option to a large value can be used to disable
-wrapping. If this value is negative the wrap margin is the current screen
-width plus the given value (as long as the result is still positive,
-otherwise it will fall back to the current screen width). Default is 0,
-wrapping at the current screen width.
+value is greater than your current screen width and \fBdont_break_words\fP is
+unset the part off\-screen is not displayed.  Thus setting this option to a
+large value can be used to disable wrapping.  If this value is negative the
+wrap margin is the current screen width plus the given value (as long as the
+result is still positive, otherwise it will fall back to the current screen
+width). Default is 0, wrapping at the current screen width.
 .TP 
 \fBwrap_on_next_unread\fP
 If enabled a search for the next unread article will wrap around all
@@ -2439,8 +2513,9 @@ articles to find also previous unread ar
 at the end of the thread list. Default is ON.
 .TP 
 \fBxpost_quote_format\fP
-Format is the same as for \fBnews_quote_format\fP, this is used when answering
-to a crossposting to several groups with no \*(rqFollowup\-To:\*(rq set.
+Format ist das gleiche wie fÃ¼r \fBnews_quote_format\fP, dies wird verwendet,
+wenn auf ein Crossposting in mehrere Gruppen geantwortet wird, ohne dass ein
+\&\*(rqFollowup\-To:\*(rq angegeben ist.
 .RE
 .PP
 
@@ -2461,9 +2536,9 @@ Legt den Namen Ihrer Organisation fest.
 angegebenen Wert.
 .TP 
 \fBnewslibdir\fP
-Defines the default place for some configuration files, common values are
-\fI/usr/lib/news\fP, \fI/var/lib/news\fP, \fI/usr/local/lib/news\fP or
-\fI/news/db\fP. $\fBTIN_LIBDIR\fP overrides any specified value.
+Definiert den Standardspeicherort fÃ¼r einige Konfigurationsdateien. Ãœbliche
+Werte sind \fI/usr/lib/news\fP, \fI/var/lib/news\fP, \fI/usr/local/lib/news\fP oder
+\fI/news/db\fP. $\fBTIN_LIBDIR\fP Ã¼bersteuert den angegebenen Wert.
 .TP 
 \fBbugaddress\fP
 Definiert die E\-Mail\-Adresse, an die Benutzer Fehlerberichte Ã¼ber eine
@@ -2520,12 +2595,13 @@ Ihre Konfiguration unterscheidet.
 VollstÃ¤ndiger Pfadname der Aktive\-Datei Ihres Newssystems; normalerweise
 befindet sich die Datei in \fInewslibdir\fP und heiÃŸt \fIactive\fP, so dass Sie
 diese Einstellung nur Ã¤ndern mÃ¼ssen wenn sich Ihre Konfiguration
-unterscheidet.
+unterscheidet. $\fBTIN_ACTIVEFILE\fP Ã¼berschreibt einen angegebenen Wert.
 .TP 
 \fBactivetimesfile\fP
-Full pathname of your newssystem's active.times file; usually the file
-resides in \fInewslibdir\fP and is named \fIactive.times\fP, so you only have to
-change this setting if your configuration differs.
+VollstÃ¤ndiger Pfadname der active.times\-Datei Ihres Newssystems;
+normalerweise befindet sich die Datei in \fInewslibdir\fP und heiÃŸt
+\fIactive.times\fP, daher mÃ¼ssen Sie diese Einstellung nur Ã¤ndern, wenn Ihre
+Konfiguration abweicht.
 .TP 
 \fBnewsgroupsfile\fP
 VollstÃ¤ndiger Pfadname der Newsgroups\-Datei Ihres Newssystems; normalerweise
@@ -2561,7 +2637,7 @@ vorhÃ¤lt. Jede Newsgruppe sollte nur ein
 beschreibt eine Gruppe; in jeder Newsgruppe haben die Artikel eindeutige
 Namen: monoton steigende Nummern.
 .sp
-.\" TODO: IIRC tin issues just a warning in that case?
+.\" TODO: tin issues just a warning in that case.
 Wenn ein Artikel in Newsgruppen gepostet wird die nicht in dieser Datei
 erwÃ¤hnt sind, werden diese Newsgruppen ignoriert. Wenn keine gÃ¼ltigen
 Newsgruppen angegeben werden, wird der Artikel zurÃ¼ckgewiesen.
@@ -2703,7 +2779,7 @@ stattdessen den Befehl LIST SUBSCRIPTION
 \fB\%pcre\fP(3), \fB\%pcre2\fP(3), \fB\%pcrepattern\fP(3), \fB\%pcre2pattern\fP(3),
 \fB\%qsort\fP(3), \fB\%strftime\fP(3), \fB\%system\fP(3), \fB\%active\fP(5),
 \fB\%mailcap\fP(5), \fB\%mbox\fP(5), \fB\%mmdf\fP(5), \fB\%newsoverview\fP(5),
-\fB\%overview.fmt\fP(5), \fB\%innd\fP(8), \fBRFC\%1524\fP, \fBRFC\%2045\fP,
-\fBRFC\%2046\fP, \fBRFC\%2047\fP, \fBRFC\%2048\fP, \fBRFC\%2231\fP, \fBRFC\%2980\fP,
-\fBRFC\%3977\fP, \fBRFC\%4155\fP, \fBRFC\%4643\fP, \fBRFC\%5322\fP, \fBRFC\%5536\fP,
-\fBRFC\%5537\fP, \fBRFC\%6048\fP, \fBRFC\%8143\fP
+\fB\%overview.fmt\fP(5), \fB\%innd\fP(8), \fBRFC\%1524\fP, \fBRFC\%1952\fP,
+\fBRFC\%2045\fP, \fBRFC\%2046\fP, \fBRFC\%2047\fP, \fBRFC\%2231\fP, \fBRFC\%2980\fP,
+\fBRFC\%3977\fP, \fBRFC\%4155\fP, \fBRFC\%4643\fP, \fBRFC\%5198\fP, \fBRFC\%5322\fP,
+\fBRFC\%5536\fP, \fBRFC\%5537\fP, \fBRFC\%6048\fP, \fBRFC\%6838\fP, \fBRFC\%8143\fP
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/l10n/de.po tin-2.6.4/doc/l10n/de.po
--- tin-2.6.3/doc/l10n/de.po	2023-12-24 00:38:34.000000000 +0100
+++ tin-2.6.4/doc/l10n/de.po	2024-12-23 10:57:23.146099708 +0100
@@ -1,13 +1,13 @@
 # German translations for the tin man pages.
 # This file is distributed under the same license as the tin package.
-# Urs Janssen <urs@tin.org>, 2008-2024.
+# Urs Janssen <urs@tin.org>, 2008-2025.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: tin-man 2.6.3\n"
+"Project-Id-Version: tin-man 2.6.4\n"
 "Report-Msgid-Bugs-To: translation@tin.org\n"
-"POT-Creation-Date: 2023-12-11 23:52+0100\n"
-"PO-Revision-Date: 2023-12-17 10:49+0100\n"
+"POT-Creation-Date: 2024-12-23 10:54+0100\n"
+"PO-Revision-Date: 2024-12-23 10:57+0100\n"
 "Last-Translator: Urs Janssen <urs@tin.org>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
@@ -16,108 +16,72 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#
-#.  Project   : tin - a Usenet newsreader
-#.  Module    : tin.1
-#.  Author    : I. Lea, U. Janssen
-#.  Created   : 1991-08-23
-#.  Updated   : 2023-12-24
-#.  Notes     : use American English; still needs some work, e.g.:
-#.              - document authorization (.newsauth)
-#.              - document random organization feature
-#. type: IX
-#: doc/tin.1:12
-#, no-wrap
-msgid "Title"
-msgstr "Titel"
-
-#
-#.  Project   : tin - a Usenet newsreader
-#.  Module    : tin.1
-#.  Author    : I. Lea, U. Janssen
-#.  Created   : 1991-08-23
-#.  Updated   : 2023-12-24
-#.  Notes     : use American English; still needs some work, e.g.:
-#.              - document authorization (.newsauth)
-#.              - document random organization feature
-#. type: IX
-#: doc/tin.1:12
-#, no-wrap
-msgid "tin 1"
-msgstr "tin 1"
-
 #. type: TH
-#: doc/tin.1:13 doc/tin.5:9
+#: doc/tin.1:11 doc/tin.5:9
 #, no-wrap
 msgid "tin"
 msgstr "tin"
 
 #. type: TH
-#: doc/tin.1:13 doc/tin.5:9
+#: doc/tin.1:11 doc/tin.5:9
 #, no-wrap
-msgid "December 24th, 2023"
-msgstr "24 Dezember 2023"
+msgid "December 24th, 2024"
+msgstr "24 Dezember 2024"
 
 #. type: TH
-#: doc/tin.1:13 doc/tin.5:9
+#: doc/tin.1:11 doc/tin.5:9
 #, no-wrap
-msgid "2.6.3"
-msgstr "2.6.3"
+msgid "2.6.4"
+msgstr "2.6.4"
 
 #. type: TH
-#: doc/tin.1:13 doc/tin.5:9
+#: doc/tin.1:11 doc/tin.5:9
 #, no-wrap
 msgid "Usenet newsreader"
 msgstr "Usenet Newsreader"
 
 #. type: SH
-#: doc/tin.1:16 doc/tin.5:11
+#: doc/tin.1:14 doc/tin.5:11
 #, no-wrap
 msgid "NAME"
 msgstr "NAME"
 
 #. type: Plain text
-#: doc/tin.1:20
+#: doc/tin.1:18
 msgid "tin, rtin - Usenet newsreader"
 msgstr "tin, rtin - Usenet Newsreader"
 
-#. type: IX
-#: doc/tin.1:20 doc/tin.1:21
+#. type: SH
+#: doc/tin.1:18
 #, no-wrap
 msgid "SYNOPSIS"
 msgstr "ÃœBERSICHT"
 
-#. type: IX
-#: doc/tin.1:21 doc/tin.1:53 doc/tin.1:82 doc/tin.1:99 doc/tin.1:319
-#: doc/tin.1:3477 doc/tin.1:3638 doc/tin.1:3961 doc/tin.1:3986 doc/tin.1:4004
-#: doc/tin.1:4013 doc/tin.1:4025 doc/tin.1:4050 doc/tin.1:4114
-#, no-wrap
-msgid "Header"
-msgstr "Header"
-
 #. type: Plain text
-#: doc/tin.1:52
+#: doc/tin.1:53
 msgid ""
 "B<tin> [\\|[\\|B<-h>\\||\\|B<-H>\\||\\|B<-V>\\|]\\ \\|| [\\|[\\|B<-a>\\|] "
 "[\\|B<-dlnq>\\||\\|B<-Q>\\|] [\\|B<-ACkrTzxX>\\|]\\|] [\\|[\\|B<-R>\\||\\|B<-"
-"S>\\|] \\|\\|B<-s> I<News_dir>\\|] [\\|B<-cuvZ>\\|] [\\|B<-4>\\||\\|B<-6>"
-"\\|] [\\|B<-o>\\||\\|B<-w>\\||\\|B<-N>\\||\\|B<-M> I<address>\\|] [\\|B<-D> "
-"I<debug_level>\\|] [\\|B<-G> I<article_limit>\\|] [\\|B<-f> I<newsrc_file>"
-"\\|] [\\|B<-g> I<server>\\|[\\|:I<port>\\|]\\|] [\\|B<-m> I<Mail_dir>\\|] "
-"[\\|B<-p> I<port>\\|] [\\|B<-t> I<timeout>\\|] [\\|B<-I> I<index_dir>\\|]\\ "
-"\\|[I<newsgroup>\\|[\\|,.\\|.\\|.\\|]\\|]\\|]"
+"S>\\|] \\|\\|B<-s> I<News_dir>\\|] [\\|B<-cuvZ>\\|] [\\|B<-4>\\||\\|"
+"B<-6>\\|] [\\|B<-o>\\||\\|B<-w>\\||\\|B<-N>\\||\\|B<-M> I<address>\\|] [\\|"
+"B<-D> I<debug_level>\\|] [\\|B<-F> I<filter_file>\\|] [\\|B<-G> "
+"I<article_limit>\\|] [\\|B<-f> I<newsrc_file>\\|] [\\|B<-g> I<server>\\|[\\|:"
+"I<port>\\|]\\|] [\\|B<-L> I<Message-ID>\\|] [\\|B<-m> I<Mail_dir>\\|] [\\|B<-"
+"p> I<port>\\|] [\\|B<-t> I<timeout>\\|] [\\|B<-I> I<index_dir>\\|]\\ \\|"
+"[I<newsgroup>\\|[\\|,.\\|.\\|.\\|]\\|]\\|]"
 msgstr ""
 "B<tin> [\\|[\\|B<-h>\\||\\|B<-H>\\||\\|B<-V>\\|]\\ \\|| [\\|[\\|B<-a>\\|] "
 "[\\|B<-dlnq>\\||\\|B<-Q>\\|] [\\|B<-ACkrTzxX>\\|]\\|] [\\|[\\|B<-R>\\||\\|B<-"
 "S>\\|] \\|\\|B<-s> I<News-Verz.>\\|] [\\|B<-cuvZ>\\|] [\\|B<-4>\\||\\|"
-"B<-6>[\\|B<-o>\\||\\|B<-w>\\||\\|B<-N>\\||\\|B<-M> I<Adresse>\\|] [\\|B<-D> "
-"I<Debuggrad>\\|] [\\|B<-G> I<Artikellimit>\\|] [\\|B<-f> I<newsrc-Datei>\\|] "
-"[\\|B<-g> I<Server>\\|] [\\|B<-m> I<Mail-Verz.>\\|] [\\|B<-p> I<Port>\\|] "
-"[\\|B<-t> I<Timeout>\\|] [\\|B<-I> I<index-Verz.>\\|]\\ \\|[I<Newsgruppe>\\|"
-"[\\|,.\\|.\\|.\\|]\\|]\\|]"
+"B<-6>\\|] [\\|B<-o>\\||\\|B<-w>\\||\\|B<-N>\\||\\|B<-M> I<Adresse>\\|] [\\|"
+"B<-D> I<Debuggrad>\\|] [\\|B<-F> I<Filter-Datei>\\|] [\\|B<-G> "
+"I<Artikellimit>\\|] [\\|B<-f> I<newsrc-Datei>\\|] [\\|B<-g> I<Server>\\|[\\|:"
+"I<Port>\\|]\\|] [\\|B<-L> I<Message-ID>\\|] [\\|B<-m> I<Mail-Verz.>\\|] [\\|"
+"B<-p> I<Port>\\|] [\\|B<-t> I<Timeout>\\|] [\\|B<-I> I<index-Verz.>\\|]\\ \\|"
+"[I<Newsgruppe>\\|[\\|,.\\|.\\|.\\|]\\|]\\|]"
 
 #. type: SH
-#: doc/tin.1:52 doc/tin.1:53 doc/tin.5:14
+#: doc/tin.1:53 doc/tin.5:14
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr "BESCHREIBUNG"
@@ -127,10 +91,10 @@ msgstr "BESCHREIBUNG"
 msgid ""
 "B<tin> is a full-screen easy to use Usenet newsreader. It can read news "
 "locally (e.g., I</var/spool/news>) or remotely (B<rtin> or B<tin -r> option) "
-"via an NNTP (Network News Transport Protocol, B<RFC\\%3977>) or NNTPS (B<RFC"
-"\\%8143>) server. It will automatically utilize NOV B<\\%newsoverview>(5)  "
-"style index files if available locally or via the NNTP [X]OVER command (B<RFC"
-"\\%2980>, B<RFC\\%3977>)."
+"via an NNTP (Network News Transport Protocol, B<RFC\\%3977>) or NNTPS "
+"(B<RFC\\%8143>) server. It will automatically utilize NOV B<\\"
+"%newsoverview>(5)  style index files if available locally or via the NNTP "
+"[X]OVER command (B<RFC\\%2980>, B<RFC\\%3977>)."
 msgstr ""
 "B<tin> ist ein einfach zu bedienender Newsreader fÃ¼r das Usenet. Er kann "
 "Artikel von einem lokalen (z. B. aus I</var/spool/news>) oder entfernten "
@@ -153,22 +117,22 @@ msgstr ""
 #. type: Plain text
 #: doc/tin.1:76
 msgid ""
-"On startup B<tin> will show a list of the newsgroups found in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>. An arrow '-E<gt>' or highlighted bar "
-"will point to the first newsgroup. Move to a group by using the terminal "
+"On startup B<tin> will show a list of the newsgroups found in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>. An arrow '\\(-E<gt>' or highlighted "
+"bar will point to the first newsgroup. Move to a group by using the terminal "
 "arrow keys (terminal dependent) or B<Down> ('B<j>')  and B<Up> ('B<k>'). Use "
 "PgUp/PgDn (terminal dependent) or B<PageUp> ('B<^U>') (CTRL-U) and "
 "B<PageDown> ('B<^D>')  (CTRL-D) to page up/down. Enter a newsgroup by "
 "pressing 'B<E<lt>CRE<gt>>'."
 msgstr ""
-"Am Anfang zeigt B<tin> eine Liste der Gruppen in I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.newsrc>. Ein Pfeil '-E<gt>' oder ein inverser Balken zeigt auf die "
-"erste Newsgruppe. Um zu einer Gruppe zu navigieren kÃ¶nnen die Cursor-Tasten "
-"(hÃ¤ngt vom verwendetem Terminal ab) oder B<Down> ('B<j>') und B<Up> ('B<k>') "
-"benutzt werden. Mit Bildrauf/Bildrunter (hÃ¤ngt vom verwendetem Terminal ab) "
-"oder B<PageUp> ('B<^U>') (CTRL-U) und B<PageDown> ('B<^D>') (CTRL-D) kann "
-"Seitenweise navigiert werden. Die ausgewÃ¤hlte Gruppe wird durch DrÃ¼cken von "
-"'B<E<lt>CRE<gt>>' betreten."
+"Zu Beginn zeigt B<tin> eine Liste der Gruppen in I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.newsrc>. Ein Pfeil '\\(-E<gt>' oder ein inverser Balken zeigt "
+"auf die erste Newsgruppe. Um zu einer Gruppe zu navigieren kÃ¶nnen die Cursor-"
+"Tasten (hÃ¤ngt vom verwendetem Terminal ab) oder B<Down> ('B<j>') und B<Up> "
+"('B<k>') benutzt werden. Mit Bildrauf/Bildrunter (hÃ¤ngt vom verwendetem "
+"Terminal ab) oder B<PageUp> ('B<^U>') (CTRL-U) und B<PageDown> ('B<^D>') "
+"(CTRL-D) kann Seitenweise navigiert werden. Die ausgewÃ¤hlte Gruppe wird "
+"durch DrÃ¼cken von 'B<E<lt>CRE<gt>>' betreten."
 
 #. type: Plain text
 #: doc/tin.1:81
@@ -179,72 +143,72 @@ msgstr ""
 "Durch DrÃ¼cken der B<GroupNextUnreadArtOrGrp> ('B<E<lt>TABE<gt>>') Taste wird "
 "die nÃ¤chste Newsgruppe mit ungelesenen Artikeln betreten."
 
-#. type: IX
-#: doc/tin.1:81 doc/tin.1:82
+#. type: SH
+#: doc/tin.1:81
 #, no-wrap
 msgid "EXIT STATUS"
 msgstr "RÃœCKGABEWERT"
 
 #. type: TP
-#: doc/tin.1:84 doc/tin.1:1141 doc/tin.1:3724
+#: doc/tin.1:83 doc/tin.1:1173 doc/tin.1:3799
 #, no-wrap
 msgid "B<0>"
 msgstr "B<0>"
 
 #. type: Plain text
-#: doc/tin.1:87
+#: doc/tin.1:86
 msgid "Successful program execution. No unread news available in batch mode."
 msgstr ""
 "Programm erfolgreich beendet. Im Batch-Modus: keine ungelesenen Nachrichten "
 "vorhanden."
 
 #. type: TP
-#: doc/tin.1:87 doc/tin.1:3727
+#: doc/tin.1:86 doc/tin.1:3802
 #, no-wrap
 msgid "B<1>"
 msgstr "B<1>"
 
 #. type: Plain text
-#: doc/tin.1:90
+#: doc/tin.1:89
 msgid "Usage, syntax, configuration file or network error."
 msgstr "Bedien-, Syntax-, Konfigurations- oder Netzwerk-Fehler."
 
 #. type: TP
-#: doc/tin.1:90 doc/tin.1:3730
+#: doc/tin.1:89 doc/tin.1:3805
 #, no-wrap
 msgid "B<2>"
 msgstr "B<2>"
 
 #. type: Plain text
-#: doc/tin.1:93
+#: doc/tin.1:92
 msgid "Unread news available (batch mode (''B<-Z>'') only)."
 msgstr "Ungelesene Nachrichten vorhanden (nur im Batch-Modus (''B<-Z>''))."
 
 #. type: TP
-#: doc/tin.1:93 doc/tin.1:3733
+#: doc/tin.1:92 doc/tin.1:3808
 #, no-wrap
 msgid "B<3>"
 msgstr "B<3>"
 
 #. type: Plain text
-#: doc/tin.1:98
+#: doc/tin.1:97
 msgid "NNTP error."
 msgstr "NNTP Fehler."
 
-#. type: IX
-#: doc/tin.1:98 doc/tin.1:99
+#. type: SH
+#: doc/tin.1:97
 #, no-wrap
 msgid "OPTIONS"
 msgstr "OPTIONEN"
 
 #. type: TP
-#: doc/tin.1:100
+#: doc/tin.1:98
 #, no-wrap
 msgid "B<-4>"
 msgstr "B<-4>"
 
 #. type: Plain text
-#: doc/tin.1:104
+#: doc/tin.1:102
 msgid ""
 "Force connecting via IPv4 to the remote NNTP server. Only available when "
 "built with IPv6 support."
@@ -253,13 +217,13 @@ msgstr ""
 "mit IPv6-UnterstÃ¼tzung gebaut wurde."
 
 #. type: TP
-#: doc/tin.1:104
+#: doc/tin.1:102
 #, no-wrap
 msgid "B<-6>"
 msgstr "B<-6>"
 
 #. type: Plain text
-#: doc/tin.1:108
+#: doc/tin.1:106
 msgid ""
 "Force connecting via IPv6 to the remote NNTP server. Only available when "
 "built with IPv6 support."
@@ -268,24 +232,24 @@ msgstr ""
 "mit IPv6-UnterstÃ¼tzung gebaut wurde."
 
 #. type: TP
-#: doc/tin.1:108
+#: doc/tin.1:106
 #, no-wrap
 msgid "B<-a>"
 msgstr "B<-a>"
 
 #. type: Plain text
-#: doc/tin.1:111
+#: doc/tin.1:109
 msgid "Toggle ANSI color (default is off)."
 msgstr "ANSI-Farben ein/-ausschalten (Voreinstellung ist aus)."
 
 #. type: TP
-#: doc/tin.1:111
+#: doc/tin.1:109
 #, no-wrap
 msgid "B<-A>"
 msgstr "B<-A>"
 
 #. type: Plain text
-#: doc/tin.1:114
+#: doc/tin.1:112
 msgid ""
 "Force authentication on initial connect. Only available when reading via "
 "NNTP."
@@ -294,30 +258,30 @@ msgstr ""
 "NNTP gelesen wird."
 
 #. type: TP
-#: doc/tin.1:114
+#: doc/tin.1:112
 #, no-wrap
 msgid "B<-c>"
 msgstr "B<-c>"
 
 #. type: Plain text
-#: doc/tin.1:119
+#: doc/tin.1:117
 msgid ""
 "Create/update index files for every group in I<${TIN_HOMEDIR:-\"$HOME\"}/."
 "newsrc> or file specified by the ''B<-f>'' option and mark all articles as "
 "read."
 msgstr ""
-"Erstelle bzw. aktualisiere Index-Dateien fÃ¼r alle Gruppen in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> bzw. der mittels ''B<-f>'' angegebenen "
+"Erstelle bzw. aktualisiere Index-Dateien fÃ¼r alle Gruppen in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> bzw. der mittels ''B<-f>'' angegebenen "
 "Datei und markiere alle Artikel als gelesen."
 
 #. type: TP
-#: doc/tin.1:119
+#: doc/tin.1:117
 #, no-wrap
 msgid "B<-C>"
 msgstr "B<-C>"
 
 #. type: Plain text
-#: doc/tin.1:124
+#: doc/tin.1:122
 msgid ""
 "Use COMPRESS NNTP extension (B<RFC\\%8054>) if available. See also "
 "B<nntp_read_timeout_secs>, 'B<-t>'' and the \"SECURITY\" and \"BUGS\" "
@@ -328,14 +292,14 @@ msgstr ""
 "und \"FEHLER\" beachten."
 
 #. type: TP
-#: doc/tin.1:124
+#: doc/tin.1:122
 #, no-wrap
 msgid "B<-d>"
 msgstr "B<-d>"
 
 #.  FIXME: explain debug levels
 #. type: Plain text
-#: doc/tin.1:130
+#: doc/tin.1:128
 msgid ""
 "Don't load newsgroup descriptions and servers message of the day "
 "(interactive mode)."
@@ -344,65 +308,125 @@ msgstr ""
 "(Interaktiver-Modus)."
 
 #. type: TP
-#: doc/tin.1:130
+#: doc/tin.1:128
 #, no-wrap
 msgid "B<-D>I< debug-level>"
 msgstr "B<-D>I< Debuggrad>"
 
 #. type: Plain text
-#: doc/tin.1:137
+#: doc/tin.1:136
+msgid ""
+"Enter debug-level, the levels can specified via number (should be avoided as "
+"it will be removed in the future) or name (case insensitive) as listed "
+"below. Use comma to give multiple levels, any combinations are allowed (e."
+"g., ''B<-D> I<GNKSA,2,NNTP>''). If removal is requested it will be performed "
+"at startup and on normal termination (that is the files are only available "
+"while tin is running)."
+msgstr ""
+
+#. type: ta
+#: doc/tin.1:138
+#, no-wrap
+msgid "\\w'%128 'u +\\w'ATTRIBUTES 'u +\\w'ATTRIBUTES 'u +\\w'ATTRIBUTES'u"
+msgstr "\\w'%128 'u +\\w'ATTRIBUTES 'u +\\w'ATTRIBUTES 'u +\\w'ATTRIBUTES'u"
+
+#. type: Plain text
+#: doc/tin.1:148
+#, no-wrap
 msgid ""
-"Enter debug-level (1 = NNTP, 2 = filter, 4 = newsrc, 8 = threading, 16 = "
-"memory, 32 = attributes, 64 = misc, 128 = remove existing debug files).  For "
-"NNTP-level ''B<-v>'' controls the verbosity of the output.  Depending on the "
-"debug-level various files may be written to I<$TMPDIR> and/or on screen "
+"  I<1\tNNTP\tNNTPS>\n"
+"  I<2\tFILTER\tARTS>\n"
+"  I<4\tNEWSRC\tBITMAP>\n"
+"  I<8\tTHREADING\tREFS>\n"
+" I<16\tMEMORY\tMALLOC>\n"
+" I<32\tATTRIBUTES>\n"
+" I<64\tMISC\tGNKSA\tACTIVE>\n"
+"I<127\tALL\tEVERYTHING>\n"
+"I<128\tREMOVE\tDELETE>\n"
+msgstr ""
+"  I<1\tNNTP\tNNTPS>\n"
+"  I<2\tFILTER\tARTS>\n"
+"  I<4\tNEWSRC\tBITMAP>\n"
+"  I<8\tTHREADING\tREFS>\n"
+" I<16\tMEMORY\tMALLOC>\n"
+" I<32\tATTRIBUTES>\n"
+" I<64\tMISC\tGNKSA\tACTIVE>\n"
+"I<127\tALL\tEVERYTHING>\n"
+"I<128\tREMOVE\tDELETE>\n"
+
+#. type: Plain text
+#: doc/tin.1:153
+msgid ""
+"For NNTP-level ''B<-v>'' controls the verbosity of the output.  Depending on "
+"the debug-level various files may be written to I<$TMPDIR> and/or on screen "
 "output may be given. See also the \"SECURITY\" section!"
 msgstr ""
-"Debuggrad angeben (1 = NNTP, 2 = Filter, 4 = newsrc, 8 = Threading, 16 = "
-"Speicher, 32 = attributes, 64 = Diverses, 128 = vorhandene Debugdateien "
-"lÃ¶schen). Im NNTP-Level steuert ''B<-v>'' die AusfÃ¼hrlichkeit der Ausgabe. "
-"Je nach Debuggrad kÃ¶nnten verschiedene Dateien nach I<$TMPDIR> geschrieben "
-"werden und/oder eine Bildschirmausgabe erfolgen. Auch den Abschnitt "
-"\"SICHERHEIT\" beachten!"
+"Im NNTP-Level steuert ''B<-v>'' die AusfÃ¼hrlichkeit der Ausgabe. Je nach "
+"Debuggrad kÃ¶nnten verschiedene Dateien nach I<$TMPDIR> geschrieben werden "
+"und/oder eine Bildschirmausgabe erfolgen. Auch den Abschnitt \"SICHERHEIT\" "
+"beachten!"
 
 #. type: TP
-#: doc/tin.1:137
+#: doc/tin.1:153
 #, no-wrap
 msgid "B<-f>I< file>"
 msgstr "B<-f>I< Datei>"
 
 #. type: Plain text
-#: doc/tin.1:141
+#: doc/tin.1:158
 msgid ""
-"Use the specified file of subscribed to newsgroups in place of I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>."
+"Use the specified file of subscribed to newsgroups in place of "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> or a file specified via "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable>."
 msgstr ""
-"Benutze die angegebene newsrc-Datei anstelle von I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.newsrc>."
+"Benutze die angegebene newsrc-Datei anstelle von I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.newsrc> oder der Datei aus I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/"
+"newsrctable>."
 
 #. type: TP
-#: doc/tin.1:141
+#: doc/tin.1:158
 #, no-wrap
-msgid "B<-g>I< server[:port]>"
-msgstr "B<-g>I< Server[:Port]>"
+msgid "B<-F>I< file>"
+msgstr "B<-F>I< Datei>"
 
+#
+#
 #. type: Plain text
-#: doc/tin.1:146
+#: doc/tin.1:161
 msgid ""
-"Use the server[:port] and newsrc specified in I<${TIN_HOMEDIR:-\"$HOME\"}/."
-"tin/newsrctable>. Only available when reading via NNTP."
+"Use the specified filter file instead of I<${TIN_HOMEDIR:-\"$HOME\"}/."
+"filter>."
 msgstr ""
-"ZugehÃ¶rigen Newsserver[:Port] und newsrc-Datei aus I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.tin/newsrctable> benutzen. Nur verfÃ¼gbar, wenn via NNTP gelesen wird."
+"Angegebene Filter-Datei anstelle von I<${TIN_HOMEDIR:-\"$HOME\"}/.filter> "
+"verwenden."
 
 #. type: TP
-#: doc/tin.1:146
+#: doc/tin.1:161
+#, no-wrap
+msgid "B<-g>I< server>[B<:>I<port>]"
+msgstr "B<-g>I< Server>[B<:>I<Port>]"
+
+#. type: Plain text
+#: doc/tin.1:167
+msgid ""
+"Use the server[:port] and newsrc specified in I<${TIN_HOMEDIR:-\"$HOME\"}/."
+"tin/newsrctable>. Only available when reading via NNTP. If you want to give "
+"a port with a plain IPv6 address, the address must be enclosed in square "
+"brackets."
+msgstr ""
+"ZugehÃ¶rigen Newsserver[:Port] und newsrc-Datei aus I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.tin/newsrctable> benutzen. Nur verfÃ¼gbar, wenn via NNTP gelesen "
+"wird.Wenn Sie einen Port mit einer direkten IPv6-Adresse angeben mÃ¶chten, "
+"muss die Adresse in eckige Klammern gesetzt werden."
+
+#. type: TP
+#: doc/tin.1:167
 #, no-wrap
 msgid "B<-G>I< article-limit>"
 msgstr "B<-G>I< Artikellimit>"
 
 #. type: Plain text
-#: doc/tin.1:154
+#: doc/tin.1:175
 msgid ""
 "Limit the number of articles/group to retrieve from the server.  If "
 "I<article-limit> is E<gt> 0 not more than the last I<article-limit> articles/"
@@ -418,40 +442,40 @@ msgstr ""
 "limit>. Die Voreinstellung ist 0, was keine Begrenzung bedeutet."
 
 #. type: TP
-#: doc/tin.1:154
+#: doc/tin.1:175
 #, no-wrap
 msgid "B<-h>"
 msgstr "B<-h>"
 
 #. type: Plain text
-#: doc/tin.1:157
+#: doc/tin.1:178
 msgid "Help listing all command-line options."
 msgstr "KurzÃ¼bersicht der verfÃ¼gbaren Kommandozeilenoptionen."
 
 #. type: TP
-#: doc/tin.1:157
+#: doc/tin.1:178
 #, no-wrap
 msgid "B<-H>"
 msgstr "B<-H>"
 
 #. type: Plain text
-#: doc/tin.1:161
+#: doc/tin.1:182
 msgid ""
 "Brief introduction to B<tin> that is also shown the first time it is started."
 msgstr ""
 "KurzeinfÃ¼hrung in B<tin> welche auch beim allerersten Start ausgegeben wird."
 
 #. type: TP
-#: doc/tin.1:161
+#: doc/tin.1:182
 #, no-wrap
 msgid "B<-I>I< dir>"
 msgstr "B<-I>I< Verzeichnis>"
 
 #. type: Plain text
-#: doc/tin.1:167
+#: doc/tin.1:188
 msgid ""
-"Directory in which to store newsgroup index files. Default is I<"
-"${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news>.  This "
+"Directory in which to store newsgroup index files. Default is "
+"I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news>.  This "
 "option has no effect if B<tin> retrieves its index files via NNTP and "
 "B<cache_overview_files> is turned off."
 msgstr ""
@@ -461,13 +485,13 @@ msgstr ""
 "abruft und B<cache_overview_files> ausgeschaltet ist."
 
 #. type: TP
-#: doc/tin.1:167
+#: doc/tin.1:188
 #, no-wrap
 msgid "B<-k>"
 msgstr "B<-k>"
 
 #. type: Plain text
-#: doc/tin.1:172
+#: doc/tin.1:193
 msgid ""
 "Skip the certificate verification step for NNTPS connections and proceed "
 "without checking. This option implies ''B<-T>''. See also the \"SECURITY\" "
@@ -478,13 +502,13 @@ msgstr ""
 "Abschnitt \"SICHERHEIT\" beachten."
 
 #. type: TP
-#: doc/tin.1:172
+#: doc/tin.1:193
 #, no-wrap
 msgid "B<-l>"
 msgstr "B<-l>"
 
 #. type: Plain text
-#: doc/tin.1:184
+#: doc/tin.1:205
 msgid ""
 "Get number of articles per group from the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/"
 "\"${TIN_ACTIVEFILE:-active}> file. If reading via NNTP this is done with the "
@@ -507,26 +531,41 @@ msgstr ""
 "liefert."
 
 #. type: TP
-#: doc/tin.1:184
+#: doc/tin.1:205
+#, no-wrap
+msgid "B<-L>"
+msgstr "B<-L>"
+
+#. type: Plain text
+#: doc/tin.1:209
+msgid ""
+"Show the message with the given Message-ID if available. Only available when "
+"reading via NNTP."
+msgstr ""
+"Zeigt die Nachricht mit der angegebenen Message-ID an, falls diese verfÃ¼gbar "
+"ist. Nur verfÃ¼gbar, wenn via NNTP gelesen wird."
+
+#. type: TP
+#: doc/tin.1:209
 #, no-wrap
 msgid "B<-m>I< dir>"
 msgstr "B<-m>I< Verzeichnis>"
 
 #. type: Plain text
-#: doc/tin.1:187
+#: doc/tin.1:212
 msgid "Mailbox directory to use. Default is I<${TIN_HOMEDIR:-\"$HOME\"}/Mail>."
 msgstr ""
 "Zu benutzendes Mailbox-Verzeichnis. Voreinstellung ist I<${TIN_HOMEDIR:-"
 "\"$HOME\"}/Mail>."
 
 #. type: TP
-#: doc/tin.1:187
+#: doc/tin.1:212
 #, no-wrap
 msgid "B<-M>I< user>"
 msgstr "B<-M>I< Benutzer>"
 
 #. type: Plain text
-#: doc/tin.1:191
+#: doc/tin.1:216
 msgid ""
 "Mail unread articles to specified user for later reading. For more "
 "information read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"."
@@ -536,19 +575,19 @@ msgstr ""
 "UND SPEICHERN VON UNGELESENEN ARTIKELN\"."
 
 #. type: TP
-#: doc/tin.1:191
+#: doc/tin.1:216
 #, no-wrap
 msgid "B<-n>"
 msgstr "B<-n>"
 
 #. type: Plain text
-#: doc/tin.1:198
+#: doc/tin.1:223
 msgid ""
 "Only load groups from the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-"
-"active}> file that are subscribed to in the user's I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.newsrc>. This allows a noticeable speedup when connecting via a slow "
-"line, but B<tin> may not be able detect which groups are moderated. See also "
-"''B<-l>''."
+"active}> file that are subscribed to in the user's I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.newsrc>. This allows a noticeable speedup when connecting via a "
+"slow line, but B<tin> may not be able detect which groups are moderated. See "
+"also ''B<-l>''."
 msgstr ""
 "Nur die Gruppen aus der Datei I<${TIN_LIBDIR:-NEWSLIBDIR}\"/"
 "\"${TIN_ACTIVEFILE:-active}> laden, die im I<${TIN_HOMEDIR:-\"$HOME\"}/."
@@ -558,13 +597,13 @@ msgstr ""
 "''B<-l>''."
 
 #. type: TP
-#: doc/tin.1:198
+#: doc/tin.1:223
 #, no-wrap
 msgid "B<-N>"
 msgstr "B<-N>"
 
 #. type: Plain text
-#: doc/tin.1:202
+#: doc/tin.1:227
 msgid ""
 "Mail unread articles to yourself for later reading. For more information "
 "read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"."
@@ -574,13 +613,13 @@ msgstr ""
 "SPEICHERN VON UNGELESENEN ARTIKELN\"."
 
 #. type: TP
-#: doc/tin.1:202
+#: doc/tin.1:227
 #, no-wrap
 msgid "B<-o>"
 msgstr "B<-o>"
 
 #. type: Plain text
-#: doc/tin.1:206
+#: doc/tin.1:231
 msgid ""
 "Quick post all postponed articles and exit. In order for this to be really "
 "quick, it should be used with ''B<-n>'' if possible."
@@ -589,30 +628,31 @@ msgstr ""
 "wieder beenden. Nach MÃ¶glichkeit mit ''B<-n>'' kombinieren."
 
 #. type: TP
-#: doc/tin.1:206
+#: doc/tin.1:231
 #, no-wrap
 msgid "B<-p>I< port>"
 msgstr "B<-p>I< Port>"
 
 #. type: Plain text
-#: doc/tin.1:211
+#: doc/tin.1:236
 msgid ""
 "Port to use if reading via NNTP (default is 119 or 563 if NNTPS is enabled, "
-"see ''B<-T>''). This also overrides the environment variable $B<NNTPPORT> if "
-"set. Only available when reading via NNTP."
+"see ''B<-T>''). This also overrides the environment variables $B<NNTPPORT> "
+"and $B<NNTPSPORT> if set. Only available when reading via NNTP."
 msgstr ""
 "Zu benutzende Portnummer falls per NNTP gelesen wird (Voreinstellung ist 119 "
 "oder 563 falls NNTPS benutzt wird, siehe ''B<-T>''). Ãœbersteuert die "
-"Umgebungsvariable $B<NNTPPORT>. Nur verfÃ¼gbar, wenn via NNTP gelesen wird."
+"Umgebungsvariablen $B<NNTPPORT> und $B<NNTPSPORT>. Nur verfÃ¼gbar, wenn via "
+"NNTP bzw. NNTPS gelesen wird."
 
 #. type: TP
-#: doc/tin.1:211
+#: doc/tin.1:236
 #, no-wrap
 msgid "B<-q>"
 msgstr "B<-q>"
 
 #. type: Plain text
-#: doc/tin.1:214
+#: doc/tin.1:239
 msgid ""
 "Don't check for new newsgroups and skip loading the servers message of the "
 "day."
@@ -621,30 +661,30 @@ msgstr ""
 "Tages nicht laden."
 
 #. type: TP
-#: doc/tin.1:214
+#: doc/tin.1:239
 #, no-wrap
 msgid "B<-Q>"
 msgstr "B<-Q>"
 
 #. type: Plain text
-#: doc/tin.1:219
+#: doc/tin.1:244
 msgid ""
 "Quick start. Start B<tin> as quickly as possible. Currently this is "
 "equivalent to ''B<-dnq>''. See also the ''B<-C>'' and ''B<-G>'' command-line "
 "options."
 msgstr ""
 "Schnellstart. B<tin> so schnell wie mÃ¶glich starten, zur Zeit entspricht "
-"diese Option ''B<-dnq>''. Siehe auch die Befehlszeilenoptionen 'B<-C>'' und "
+"diese Option ''B<-dnq>''. Siehe auch die Kommandozeilenoptionen 'B<-C>'' und "
 "''B<-G>''."
 
 #. type: TP
-#: doc/tin.1:219
+#: doc/tin.1:244
 #, no-wrap
 msgid "B<-r>"
 msgstr "B<-r>"
 
 #. type: Plain text
-#: doc/tin.1:224
+#: doc/tin.1:249
 msgid ""
 "Read news remotely from the default NNTP server specified in the environment "
 "variable $B<NNTPSERVER> or contained in the file I</etc/nntpserver>."
@@ -654,24 +694,24 @@ msgstr ""
 "nntpserver> enthalten ist lesen."
 
 #. type: TP
-#: doc/tin.1:224
+#: doc/tin.1:249
 #, no-wrap
 msgid "B<-R>"
 msgstr "B<-R>"
 
 #. type: Plain text
-#: doc/tin.1:227
+#: doc/tin.1:252
 msgid "Read news saved by the ''B<-S>'' option."
 msgstr "Lese mittels ''B<-S>'' gespeicherte Artikel."
 
 #. type: TP
-#: doc/tin.1:227
+#: doc/tin.1:252
 #, no-wrap
 msgid "B<-s>I< dir>"
 msgstr "B<-s>I< Verzeichnis>"
 
 #. type: Plain text
-#: doc/tin.1:231
+#: doc/tin.1:256
 msgid ""
 "Save/read articles to/in directory. Default is I<${TIN_HOMEDIR:-\"$HOME\"}/"
 "News>."
@@ -680,13 +720,13 @@ msgstr ""
 "\"$HOME\"}/News>."
 
 #. type: TP
-#: doc/tin.1:231
+#: doc/tin.1:256
 #, no-wrap
 msgid "B<-S>"
 msgstr "B<-S>"
 
 #. type: Plain text
-#: doc/tin.1:235
+#: doc/tin.1:260
 msgid ""
 "Save unread articles for later reading by the ''B<-R>'' option. For more "
 "information read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"."
@@ -696,13 +736,13 @@ msgstr ""
 "SPEICHERN VON UNGELESENEN ARTIKELN\"."
 
 #. type: TP
-#: doc/tin.1:235
+#: doc/tin.1:260
 #, no-wrap
 msgid "B<-t>I< timeout>"
 msgstr "B<-t>I< Timeout>"
 
 #. type: Plain text
-#: doc/tin.1:239
+#: doc/tin.1:264
 msgid ""
 "Override the B<nntp_read_timeout_secs> setting. Default is 120 seconds, "
 "allowed maximum is 16383."
@@ -711,29 +751,29 @@ msgstr ""
 "120, das Maximum 16383 Sekunden."
 
 #. type: TP
-#: doc/tin.1:239
+#: doc/tin.1:264
 #, no-wrap
 msgid "B<-T>"
 msgstr "B<-T>"
 
 #. type: Plain text
-#: doc/tin.1:243
+#: doc/tin.1:268
 msgid ""
 "Enable NNTPS (NNTP over TLS). This also overrides the environment variable "
-"$B<NNTPPORT> if set. Only available when reading via NNTP."
+"$B<NNTPSPORT> if set. Only available when reading via NNTP."
 msgstr ""
 "NNTPS (NNTP Ã¼ber TLS) aktivieren. Dies setzt auch die Umgebungsvariable "
-"$B<NNTPPORT> auÃŸer Kraft, falls diese gesetzt ist. Nur verfÃ¼gbar, wenn Ã¼ber "
+"$B<NNTPSPORT> auÃŸer Kraft, falls diese gesetzt ist. Nur verfÃ¼gbar, wenn Ã¼ber "
 "NNTP gelesen wird."
 
 #. type: TP
-#: doc/tin.1:243
+#: doc/tin.1:268
 #, no-wrap
 msgid "B<-u>"
 msgstr "B<-u>"
 
 #. type: Plain text
-#: doc/tin.1:249
+#: doc/tin.1:274
 msgid ""
 "Create/update index files for every group in I<${TIN_HOMEDIR:-\"$HOME\"}/."
 "newsrc> or file specified by the ''B<-f>'' option. This option is disabled "
@@ -746,41 +786,41 @@ msgstr ""
 "NNTP-Server abruft und B<cache_overview_files> abgestellt ist."
 
 #. type: TP
-#: doc/tin.1:249
+#: doc/tin.1:274
 #, no-wrap
 msgid "B<-v>"
 msgstr "B<-v>"
 
 #. type: Plain text
-#: doc/tin.1:254
+#: doc/tin.1:279
 msgid ""
 "Verbose mode for ''B<-c>'', ''B<-D>'', ''B<-M>'', ''B<-N>'', \\&''B<-S>'', "
-"''B<-u>'' and ''B<-Z>'' options. Can be used multiple times to increase "
-"verbosity."
+"''B<-u>'', ''B<-V>'' and ''B<-Z>'' options. Can be used multiple times to "
+"increase verbosity."
 msgstr ""
 "AusfÃ¼hrliche Ausgabe fÃ¼r ''B<-c>'', ''B<-D>'', ''B<-M>'', ''B<-N>'', \\&''B<-"
-"S>'', ''B<-u>'' und ''B<-Z>''-Optionen. Kann mehrfach verwendet werden, um "
-"die AusfÃ¼hrlichkeit zu erhÃ¶hen."
+"S>'', ''B<-u>'', ''B<-V>'' und ''B<-Z>''-Optionen. Kann mehrfach verwendet "
+"werden, um die AusfÃ¼hrlichkeit zu erhÃ¶hen."
 
 #. type: TP
-#: doc/tin.1:254
+#: doc/tin.1:279
 #, no-wrap
 msgid "B<-V>"
 msgstr "B<-V>"
 
 #. type: Plain text
-#: doc/tin.1:257
+#: doc/tin.1:282
 msgid "Print version information and compilation options."
 msgstr "Versionsinformationen und Kompilieroptionen ausgeben."
 
 #. type: TP
-#: doc/tin.1:257
+#: doc/tin.1:282
 #, no-wrap
 msgid "B<-w>"
 msgstr "B<-w>"
 
 #. type: Plain text
-#: doc/tin.1:262
+#: doc/tin.1:287
 msgid ""
 "Quick mode to post an article and then exit. This option implies \\&''B<-"
 "d>''. In order for this to be really quick, it should be used with ''B<-n>'' "
@@ -790,42 +830,43 @@ msgstr ""
 "\\&''B<-d>''. Nach MÃ¶glichkeit mit ''B<-n>'' kombinieren."
 
 #. type: TP
-#: doc/tin.1:262
+#: doc/tin.1:287
 #, no-wrap
 msgid "B<-x>"
 msgstr "B<-x>"
 
 #. type: Plain text
-#: doc/tin.1:265
+#: doc/tin.1:290
 msgid "No-posting mode. You cannot post articles if you use this option."
 msgstr ""
 "Sie kÃ¶nnen keine Artikel verÃ¶ffentlichen, wenn Sie diese Option verwenden."
 
 #. type: TP
-#: doc/tin.1:265
+#: doc/tin.1:290
 #, no-wrap
 msgid "B<-X>"
 msgstr "B<-X>"
 
 #. type: Plain text
-#: doc/tin.1:270
+#: doc/tin.1:296
 msgid ""
-"No overwrite mode. I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> and files in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin> will not be overwritten but may be created "
-"if they don't exist."
+"No overwrite mode. I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> and files in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin> will not be overwritten but may be created "
+"if they don't exist. Should be used with ''B<-x>'' if possible."
 msgstr ""
 "SchreibgeschÃ¼tzter Modus. I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> und Dateien "
 "unter I<${TIN_HOMEDIR:-\"$HOME\"}/.tin> werden nicht Ã¼berschrieben aber "
-"angelegt falls sie nicht existieren."
+"angelegt falls sie nicht existieren. Nach MÃ¶glichkeit mit ''B<-x>'' "
+"kombinieren."
 
 #. type: TP
-#: doc/tin.1:270
+#: doc/tin.1:296
 #, no-wrap
 msgid "B<-z>"
 msgstr "B<-z>"
 
 #. type: Plain text
-#: doc/tin.1:275
+#: doc/tin.1:301
 msgid ""
 "Only start B<tin> if there is any new/unread news. If there is news B<tin> "
 "will position cursor at first group with unread news. Useful for putting in "
@@ -836,13 +877,13 @@ msgstr ""
 "positioniert. NÃ¼tzlich um B<tin> in login-Dateien aufzurufen."
 
 #. type: TP
-#: doc/tin.1:275
+#: doc/tin.1:301
 #, no-wrap
 msgid "B<-Z>"
 msgstr "B<-Z>"
 
 #. type: Plain text
-#: doc/tin.1:281
+#: doc/tin.1:307
 msgid ""
 "Check if there is any new/unread news and exit with appropriate status. If "
 "\\&''B<-v>'' option is specified the number of unread articles in each group "
@@ -857,7 +898,7 @@ msgstr ""
 "Skripten."
 
 #. type: Plain text
-#: doc/tin.1:287
+#: doc/tin.1:313
 msgid ""
 "B<tin> can also dynamically change its options by the B<OptionMenu> ('B<M>') "
 "command. Any changes are written to I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc>. "
@@ -870,21 +911,21 @@ msgstr ""
 "GLOBALE OPTIONEN UND KONFIGURIERBAREN TINRC-VARIABLEN\" und B<\\%tin>(5)."
 
 #. type: Plain text
-#: doc/tin.1:292
+#: doc/tin.1:318
 msgid ""
 "A list of groups can be specified after the other command-line options. This "
 "can be useful if you wish to yank in or subscribe to a hand-picked subset of "
 "the active newsgroups. See the section \"NEWSGROUP LISTS & WILDCARDS\" for "
 "the types of pattern that B<tin> understands."
 msgstr ""
-"Eine Liste von Gruppen kann nach den anderen Befehlszeilenoptionen angegeben "
-"werden. Dies kann nÃ¼tzlich sein, falls Sie eine handverlesene Untermenge der "
-"aktiven Newsgruppen einblenden oder abonnieren mÃ¶chten. Siehe den Abschnitt "
-"\"NEWSGROUP LISTEN & WILDCARDS\" fÃ¼r die Arten von Muster, die B<tin> "
-"versteht."
+"Eine Liste von Gruppen kann nach den anderen Kommandozeilenoptionen "
+"angegeben werden. Dies kann nÃ¼tzlich sein, falls Sie eine handverlesene "
+"Untermenge der aktiven Newsgruppen einblenden oder abonnieren mÃ¶chten. Siehe "
+"den Abschnitt \"NEWSGROUP LISTEN & WILDCARDS\" fÃ¼r die Arten von Muster, die "
+"B<tin> versteht."
 
 #. type: Plain text
-#: doc/tin.1:297
+#: doc/tin.1:323
 msgid ""
 "If you specify a single group-name, or a wildcard that matches a single "
 "group, then you will automatically enter that group. Otherwise the normal "
@@ -897,7 +938,7 @@ msgstr ""
 "passenden zusÃ¤tzlichen Gruppen."
 
 #. type: Plain text
-#: doc/tin.1:301
+#: doc/tin.1:327
 msgid ""
 "With the ''B<-w>'' flag a given group-name is used as default group to post "
 "to. If more than one group or a wildcard is specified only the first group "
@@ -908,7 +949,7 @@ msgstr ""
 "wird nur die erste Gruppe bzw. die erste Gruppe verwendet, die Ã¼bereinstimmt."
 
 #. type: Plain text
-#: doc/tin.1:308
+#: doc/tin.1:334
 msgid ""
 "Once you use B<SelectYankActive> ('B<y>') to yank in all active groups, or "
 "B<SelectToggleReadDisplay> ('B<r>') to toggle the read/unread status, then "
@@ -924,63 +965,77 @@ msgstr ""
 "lesen um diese wieder anzuzeigen."
 
 #. type: Plain text
-#: doc/tin.1:313
+#: doc/tin.1:339
 msgid ""
-"NB: With the ''B<-n>'' flag, only unsubscribed groups in the I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file (or the newsrc-file given by the "
+"NB: With the ''B<-n>'' flag, only unsubscribed groups in the "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file (or the newsrc-file given by the "
 "\\&''B<-f>'' command-line switch or via I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/"
 "newsrctable>) can be matched."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:318
+#: doc/tin.1:349
 msgid ""
 "Command-line options have higher priority than attributes and tinrc "
-"options.  Thus, command-line option takes precedence over configured values."
-msgstr ""
-"Kommandozeilenoptionen haben eine hÃ¶here PrioritÃ¤t als attributes und tinrc "
-"Optionen und Ã¼bersteuern daher die konfigurierten Werte."
+"options.  Thus, command-line option takes precedence over configured values "
+"with the single exception that if a port is given for the newsserver in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable> it will override any port "
+"given on the command-line. The order of command-line options is not "
+"important. If they are mutual exclusive the one with the highest priority "
+"will be chosen and a warning may be given."
+msgstr ""
+"Die Befehlszeilenoptionen haben eine hÃ¶here PrioritÃ¤t als Attribute und "
+"tinrc Optionen. Daher hat die Befehlszeilenoption Vorrang vor dem "
+"konfigurierten Wert, mit der einzigen Ausnahme, dass, wenn ein Port fÃ¼r den "
+"Newsserver in I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable> angegeben wird, "
+"dieser den Port Ã¼berschreibt, der in der Befehlszeile angegeben ist. Die "
+"Reihenfolge der Befehlszeilenoptionen ist nicht wichtig. Wenn sie "
+"gegenseitig ausschlieÃŸend sind, wird die mit der hÃ¶chsten PrioritÃ¤t "
+"ausgewÃ¤hlt und eventuell eine Warnung ausgegeben."
 
-#. type: IX
-#: doc/tin.1:318 doc/tin.1:319
+#. type: SH
+#: doc/tin.1:349
 #, no-wrap
 msgid "USAGE"
 msgstr "GEBRAUCH"
 
 #. type: SS
-#: doc/tin.1:322
+#: doc/tin.1:352
 #, no-wrap
 msgid "NEWS ADMINISTRATION"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:326
+#: doc/tin.1:356
 msgid ""
 "Maintaining Netnews on large networks of machines can be a pretty time "
 "consuming job as I discovered when I was given the job of maintaining our "
 "news system and news users."
 msgstr ""
+"Die Pflege von Netnews in groÃŸen Rechnernetzen kann sehr zeitaufwendig sein, "
+"wie ich feststellen musste, als ich mit der Pflege unseres Newssystems und "
+"der Benutzerbetreuung beauftragt wurde."
 
 #. type: Plain text
-#: doc/tin.1:336
+#: doc/tin.1:366
 msgid ""
 "A user starting B<tin> for the first time can be automatically subscribed to "
 "a list of newsgroups that are deemed appropriate by the news administrator. "
-"The subscriptions file should be created in your news lib directory (i.e., I<"
-"${TIN_LIBDIR:-NEWSLIBDIR}/subscriptions>) and should be world readable. If "
+"The subscriptions file should be created in your news lib directory (i.e., "
+"I<${TIN_LIBDIR:-NEWSLIBDIR}/subscriptions>) and should be world readable. If "
 "you read news via NNTP, then your news server must support the LIST "
 "SUBSCRIPTIONS command. It is part of the NNTP List Extensions (B<RFC\\"
 "%6048>) and all modern servers should understand it."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:336
+#: doc/tin.1:366
 #, no-wrap
 msgid "SCREEN FORMAT"
 msgstr "ANSICHTEN"
 
 #. type: Plain text
-#: doc/tin.1:339
+#: doc/tin.1:369
 msgid ""
 "B<tin> has four separate levels of operation: Selection level, Group level, "
 "Thread level and Article level."
@@ -989,7 +1044,7 @@ msgstr ""
 "Threadebene und Artikelebene."
 
 #. type: Plain text
-#: doc/tin.1:346
+#: doc/tin.1:376
 msgid ""
 "At the Selection level the title displays (the name of the news server (with "
 "a \"[T]\"- or \"[k]\"-suffix if reading via NNTPS (insecurely)) and) the "
@@ -1006,35 +1061,35 @@ msgstr ""
 "kann mittels B<select_format> angepasst werden."
 
 #. type: Plain text
-#: doc/tin.1:354
+#: doc/tin.1:384
 #, no-wrap
 msgid ""
-"-E<gt>M    1     2  comp.security.announce  Announcements from the CERT abou\n"
+"\\f(CR\\(-E<gt>M    1     2  comp.security.announce  Announcements from the CERT abou\n"
 "  M    2     1  news.admin.announce     Announcements for news adminstra\n"
 "       3    22  news.software.misc      News-related software other than\n"
 "       4  1475  news.software.nntp      The Network News Transfer Protoc\n"
-"  X    5   124  news.software.readers   Discussion of software used to r\n"
+"  X    5   124  news.software.readers   Discussion of software used to r\\fR\n"
 msgstr ""
-"-E<gt>M    1     2  comp.security.announce  Announcements from the CERT abou\n"
+"\\f(CR\\(-E<gt>M    1     2  comp.security.announce  Announcements from the CERT abou\n"
 "  M    2     1  news.admin.announce     Announcements for news adminstra\n"
 "       3    22  news.software.misc      News-related software other than\n"
 "       4  1475  news.software.nntp      The Network News Transfer Protoc\n"
-"  X    5   124  news.software.readers   Discussion of software used to r\n"
+"  X    5   124  news.software.readers   Discussion of software used to r\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:357
+#: doc/tin.1:387
 msgid ""
 "There may also be a character prefixing the line. An explanation follows:"
 msgstr "Eventuell steht am Anfang der Zeile noch eines der folgende Zeichen:"
 
 #. type: TP
-#: doc/tin.1:357
+#: doc/tin.1:387
 #, no-wrap
 msgid "B<u>"
 msgstr "B<u>"
 
 #. type: Plain text
-#: doc/tin.1:362
+#: doc/tin.1:392
 msgid ""
 "This group is unsubscribed. To see only your subscribed groups use the "
 "B<SelectToggleReadDisplay> ('B<r>') or B<SelectYankActive> ('B<y>') toggle "
@@ -1045,13 +1100,13 @@ msgstr ""
 "Umschalttaste benutzt werden."
 
 #. type: TP
-#: doc/tin.1:362
+#: doc/tin.1:392
 #, no-wrap
 msgid "B<M>"
 msgstr "B<M>"
 
 #. type: Plain text
-#: doc/tin.1:367
+#: doc/tin.1:397
 msgid ""
 "This is a moderated group. Any posts you make will have to be approved by "
 "the group administrator before it will be made public. B<tin> will ask for "
@@ -1062,13 +1117,13 @@ msgstr ""
 "Posten in eine moderierte Gruppe nach einer BestÃ¤tigung."
 
 #. type: TP
-#: doc/tin.1:367
+#: doc/tin.1:397
 #, no-wrap
 msgid "B<N>"
 msgstr "B<N>"
 
 #. type: Plain text
-#: doc/tin.1:376
+#: doc/tin.1:406
 msgid ""
 "This is a new newsgroup which has been created since you last used B<tin>. "
 "New newsgroups are not subscribed to by default (However, see the "
@@ -1087,13 +1142,13 @@ msgstr ""
 "Gruppen einblenden, um sie in einer spÃ¤teren Sitzung zu finden."
 
 #. type: TP
-#: doc/tin.1:376
+#: doc/tin.1:406
 #, no-wrap
 msgid "B<D>"
 msgstr "B<D>"
 
 #. type: Plain text
-#: doc/tin.1:381
+#: doc/tin.1:411
 msgid ""
 "This group no longer exists. If you no longer wish to see this group then "
 "unsubscribe from it in the normal way. This flag will only appear if you "
@@ -1105,13 +1160,13 @@ msgstr ""
 "haben."
 
 #. type: TP
-#: doc/tin.1:381
+#: doc/tin.1:411
 #, no-wrap
 msgid "B<X>"
 msgstr "B<X>"
 
 #. type: Plain text
-#: doc/tin.1:385
+#: doc/tin.1:415
 msgid ""
 "You may no longer make posts to this group. Often a group will be superseded "
 "by a more appropriately named one."
@@ -1120,13 +1175,13 @@ msgstr ""
 "Gruppe durch eine mit einem passenderen Namen ersetzt."
 
 #. type: TP
-#: doc/tin.1:385
+#: doc/tin.1:415
 #, no-wrap
 msgid "B<=>"
 msgstr "B<=>"
 
 #. type: Plain text
-#: doc/tin.1:390
+#: doc/tin.1:420
 msgid ""
 "This group has been renamed and you may no longer post to it. If you do, "
 "then you will receive an error from your news server telling you the correct "
@@ -1137,7 +1192,7 @@ msgstr ""
 "Newsserver in der die Gruppe steht in die Sie posten sollten."
 
 #. type: Plain text
-#: doc/tin.1:400
+#: doc/tin.1:430
 msgid ""
 "At the Group level the title contains the name of the group, the number of "
 "conversation threads, the abbreviated threading method (B<thread_articles>), "
@@ -1151,13 +1206,13 @@ msgstr ""
 
 #.  FIXME - make this autocenter
 #. type: Plain text
-#: doc/tin.1:404
+#: doc/tin.1:434
 #, no-wrap
 msgid "            alt.sources (5B -50/23+ 0* 3o 0K)\n"
 msgstr "            alt.sources (5B -50/23+ 0* 3o 0K)\n"
 
 #. type: Plain text
-#: doc/tin.1:412
+#: doc/tin.1:442
 msgid ""
 "The characters after the numbers are depending to the configuration and if "
 "your are in B<show_only_unread_arts> mode or not. Some numbers could be "
@@ -1168,7 +1223,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:421
+#: doc/tin.1:451
 msgid ""
 "If a thread has unread articles it is marked with B<art_marked_unread> in "
 "front of the total number of articles in the thread. If there are recent "
@@ -1181,28 +1236,28 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:425
+#: doc/tin.1:455
 #, no-wrap
-msgid "                de.admin.net-abuse.announce (11B 13+ 1* 1o 0K) M\n"
-msgstr "                de.admin.net-abuse.announce (11B 13+ 1* 1o 0K) M\n"
+msgid "\\f(CR                de.admin.net-abuse.announce (11B 13+ 1* 1o 0K) M\\fR\n"
+msgstr "\\f(CR                de.admin.net-abuse.announce (11B 13+ 1* 1o 0K) M\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:430
+#: doc/tin.1:460
 #, no-wrap
 msgid ""
-"-E<gt>   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg E<lt>l\n"
+"\\f(CR\\(-E<gt>   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg E<lt>l\n"
 "     2   +       69 EMP/ECP gecancelt. xynx. BI= 10  Henning Weede E<lt>hwee\n"
 "     3   o       93 EMP gecancelt. SouthBeach/Palms  Henning Weede E<lt>hwee\n"
-"     4   *      368 E<lt>1997-11-12E<gt> Fremdcancel-FAQ     Thomas Roessler E<lt>ro\n"
+"     4   *      368 E<lt>1997-11-12E<gt> Fremdcancel-FAQ     Thomas Roessler E<lt>ro\\fR\n"
 msgstr ""
-"-E<gt>   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg E<lt>l\n"
+"\\f(CR\\(-E<gt>   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg E<lt>l\n"
 "     2   +       69 EMP/ECP gecancelt. xynx. BI= 10  Henning Weede E<lt>hwee\n"
 "     3   o       93 EMP gecancelt. SouthBeach/Palms  Henning Weede E<lt>hwee\n"
-"     4   *      368 E<lt>1997-11-12E<gt> Fremdcancel-FAQ     Thomas Roessler E<lt>ro\n"
+"     4   *      368 E<lt>1997-11-12E<gt> Fremdcancel-FAQ     Thomas Roessler E<lt>ro\\fR\n"
 
 #.  FIXME - add description of fields
 #. type: Plain text
-#: doc/tin.1:435
+#: doc/tin.1:465
 msgid ""
 "At the Thread level the screen usually (depends on the threading method "
 "used) looks like this, but can be customized via B<thread_format>:"
@@ -1212,45 +1267,45 @@ msgstr ""
 "angepasst werden:"
 
 #. type: Plain text
-#: doc/tin.1:442
+#: doc/tin.1:472
 #, no-wrap
 msgid ""
-"-E<gt>   1      [   7]  What is this funny tree in the thr  Robert F. Simmig\n"
-"     2      [  12]  +-E<gt>                                 Sephan Wagner E<lt>s\n"
-"     3      [ 230]  | `-E<gt>Tin thread-level (was: What is Bob Johnson E<lt>bob\n"
-"     4      [  22]  `-E<gt>tin threading menu               Brian Richardson\n"
-msgstr ""
-"-E<gt>   1      [   7]  What is this funny tree in the thr  Robert F. Simmig\n"
-"     2      [  12]  +-E<gt>                                 Sephan Wagner E<lt>s\n"
-"     3      [ 230]  | `-E<gt>Tin thread-level (was: What is Bob Johnson E<lt>bob\n"
-"     4      [  22]  `-E<gt>tin threading menu               Brian Richardson\n"
+"\\f(CR\\(-E<gt>   1      [   7]  What is this funny tree in the thr  Robert F. Simmig\n"
+"     2      [  12]  +\\(-E<gt>                                 Sephan Wagner E<lt>s\n"
+"     3      [ 230]  | `\\(-E<gt>Tin thread-level (was: What is Bob Johnson E<lt>bob\n"
+"     4      [  22]  `\\(-E<gt>tin threading menu               Brian Richardson\\fR\n"
+msgstr ""
+"\\f(CR\\(-E<gt>   1      [   7]  What is this funny tree in the thr  Robert F. Simmig\n"
+"     2      [  12]  +\\(-E<gt>                                 Sephan Wagner E<lt>s\n"
+"     3      [ 230]  | `\\(-E<gt>Tin thread-level (was: What is Bob Johnson E<lt>bob\n"
+"     4      [  22]  `\\(-E<gt>tin threading menu               Brian Richardson\\fR\n"
 
 #.  FIXME - add description of fields
 #. type: Plain text
-#: doc/tin.1:447
+#: doc/tin.1:477
 msgid "At the Article level the page header has the following format:"
 msgstr "In der Artikelebene hat der Kopf der Seite folgendes Format:"
 
 #. type: Plain text
-#: doc/tin.1:453
+#: doc/tin.1:483
 #, no-wrap
 msgid ""
-"Sun, 28 Dec 1997 21:21:01   de.admin.news.groups      Thread   20 of 86\n"
+"\\f(CRSun, 28 Dec 1997 21:21:01   de.admin.news.groups      Thread   20 of 86\n"
 "Lines 50   Re: EINSPRUCH zu RESULT:de.comm.mobil.ALL   Article  47 of 59\n"
-"Urs Janssen E<lt>urs@akk.orgE<gt>        at Arbeitskreis Kultur und Kommunikati\n"
+"Urs Janssen E<lt>urs@akk.orgE<gt>        at Arbeitskreis Kultur und Kommunikati\\fR\n"
 msgstr ""
-"So, 28 Dez 1997 21:21:01    de.admin.news.groups      Thread   20 v. 86\n"
+"\\f(CRSo, 28 Dez 1997 21:21:01    de.admin.news.groups      Thread   20 v. 86\n"
 "Zeilen 50   Re: EINSPRUCH zu RESULT:de.comm.mobil.ALL Artikel  47 von 59\n"
-"Urs Janssen E<lt>urs@akk.orgE<gt>       bei Arbeitskreis Kultur und Kommunikati\n"
+"Urs Janssen E<lt>urs@akk.orgE<gt>       bei Arbeitskreis Kultur und Kommunikati\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:455
+#: doc/tin.1:485
 #, no-wrap
-msgid "article-body\n"
-msgstr "Artikel-KÃ¶rper\n"
+msgid "\\f(CRarticle-body\\fR\n"
+msgstr "\\f(CRArtikel-KÃ¶rper\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:461
+#: doc/tin.1:491
 msgid ""
 "The look of the Selection, Group and Thread level can be customized. See the "
 "section \"CUSTOMIZING THE SCREEN FORMAT\"."
@@ -1259,13 +1314,13 @@ msgstr ""
 "angepasst werden. Siehe hierzu den Abschnitt \"ANSICHTEN ANPASSEN\"."
 
 #. type: SS
-#: doc/tin.1:461
+#: doc/tin.1:491
 #, no-wrap
 msgid "COMMON MOVING KEYS"
 msgstr "GEMEINSAME BEWEGUNGSTASTEN"
 
 #. type: Plain text
-#: doc/tin.1:464
+#: doc/tin.1:494
 msgid ""
 "This table shows the common keys used for moving around all levels within "
 "B<tin>."
@@ -1274,13 +1329,13 @@ msgstr ""
 "verwendet werden."
 
 #. type: ta
-#: doc/tin.1:466
+#: doc/tin.1:496
 #, no-wrap
 msgid "\\w'Beg. of list/article  'u +\\w'ANSI/vt100   'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:474
+#: doc/tin.1:504
 #, no-wrap
 msgid ""
 "\tANSI/vt100\tOther Terminals\n"
@@ -1293,13 +1348,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:478
+#: doc/tin.1:508
 #, no-wrap
 msgid "COMMON EDITING COMMANDS"
 msgstr "GEMEINSAME BEARBEITUNGSBEFEHLE"
 
 #. type: Plain text
-#: doc/tin.1:485
+#: doc/tin.1:515
 msgid ""
 "An B<\\%emacs>(1)  style editing package allows the easy editing of input "
 "strings.  A history list allows the easy reuse of previously entered "
@@ -1313,35 +1368,35 @@ msgstr ""
 "VerfÃ¼gung:"
 
 #. type: TP
-#: doc/tin.1:485
+#: doc/tin.1:515
 #, no-wrap
 msgid "B<^A, ^E>"
 msgstr "B<^A, ^E>"
 
 #. type: Plain text
-#: doc/tin.1:488
+#: doc/tin.1:518
 msgid "move to beginning or end of line, respectively."
 msgstr "An den Zeilenanfang bzw. das Zeilenende springen."
 
 #. type: TP
-#: doc/tin.1:488
+#: doc/tin.1:518
 #, no-wrap
 msgid "B<^F, ^B>"
 msgstr "B<^F, ^B>"
 
 #. type: Plain text
-#: doc/tin.1:491
+#: doc/tin.1:521
 msgid "non-destructive move forward or back one location, respectively."
 msgstr "ZerstÃ¶rungsfreie Bewegung um eine Position vorwÃ¤rts bzw. zurÃ¼ck."
 
 #. type: TP
-#: doc/tin.1:491
+#: doc/tin.1:521
 #, no-wrap
 msgid "B<^D>"
 msgstr "B<^D>"
 
 #. type: Plain text
-#: doc/tin.1:495
+#: doc/tin.1:525
 msgid ""
 "delete the character currently under the cursor, or send EOF if no "
 "characters in the buffer."
@@ -1350,57 +1405,57 @@ msgstr ""
 "falls keine Zeichen im Puffer vorhanden sind."
 
 #. type: TP
-#: doc/tin.1:495
+#: doc/tin.1:525
 #, no-wrap
 msgid "B<^H, E<lt>DELE<gt>>"
 msgstr "B<^H, E<lt>ENTFE<gt>>"
 
 #. type: Plain text
-#: doc/tin.1:498
+#: doc/tin.1:528
 msgid "delete character left of the cursor."
 msgstr "Zeichen links vom Cursor lÃ¶schen."
 
 #. type: TP
-#: doc/tin.1:498
+#: doc/tin.1:528
 #, no-wrap
 msgid "B<^K>"
 msgstr "B<^K>"
 
 #. type: Plain text
-#: doc/tin.1:501
+#: doc/tin.1:531
 msgid "delete from cursor to end of line."
 msgstr "LÃ¶sche vom Cursor bis zum Zeilenende."
 
 #. type: TP
-#: doc/tin.1:501
+#: doc/tin.1:531
 #, no-wrap
 msgid "B<^P, ^N>"
 msgstr "B<^P, ^N>"
 
 #. type: Plain text
-#: doc/tin.1:504
+#: doc/tin.1:534
 msgid "move through history, previous and next, respectively."
 msgstr "Durch die Verlaufsliste vorwÃ¤rts bzw. rÃ¼ckwÃ¤rts bewegen."
 
 #. type: TP
-#: doc/tin.1:504
+#: doc/tin.1:534
 #, no-wrap
 msgid "B<^L, ^R>"
 msgstr "B<^L, ^R>"
 
 #. type: Plain text
-#: doc/tin.1:507
+#: doc/tin.1:537
 msgid "redraw the current line."
 msgstr "Aktuelle Zeile neu aufbauen."
 
 #. type: TP
-#: doc/tin.1:507
+#: doc/tin.1:537
 #, no-wrap
 msgid "B<E<lt>CRE<gt>>"
 msgstr "B<E<lt>CRE<gt>>"
 
 #. type: Plain text
-#: doc/tin.1:511
+#: doc/tin.1:541
 msgid ""
 "places line on history list if non-blank, appends newline and returns to the "
 "caller."
@@ -1409,24 +1464,24 @@ msgstr ""
 "Leerzeile an und kehrt zum Anrufer zurÃ¼ck."
 
 #. type: TP
-#: doc/tin.1:511
+#: doc/tin.1:541
 #, no-wrap
 msgid "B<E<lt>ESCE<gt>>"
 msgstr "B<E<lt>ESCE<gt>>"
 
 #. type: Plain text
-#: doc/tin.1:516
+#: doc/tin.1:546
 msgid "aborts the present editing operation."
 msgstr "bricht den gegenwÃ¤rtigen Bearbeitungsvorgang ab."
 
 #. type: SS
-#: doc/tin.1:516
+#: doc/tin.1:546
 #, no-wrap
 msgid "GLOBAL COMMANDS"
 msgstr "ALLGEMEINE BEFEHLE"
 
 #. type: Plain text
-#: doc/tin.1:519
+#: doc/tin.1:549
 msgid ""
 "The following commands are available at all 4 menu levels and always have "
 "the same effect."
@@ -1435,13 +1490,13 @@ msgstr ""
 "Ã¼berall das Gleichen."
 
 #. type: TP
-#: doc/tin.1:519 doc/tin.1:1419 doc/tin.1:1473 doc/tin.1:1519
+#: doc/tin.1:549 doc/tin.1:1455 doc/tin.1:1509 doc/tin.1:1555
 #, no-wrap
 msgid "B<ShellEscape '!'>"
 msgstr "B<ShellEscape '!'>"
 
 #. type: Plain text
-#: doc/tin.1:524
+#: doc/tin.1:554
 msgid ""
 "Shell escape. B<ShellEscape> by itself will launch a shell, B<ShellEscape> "
 "E<lt>commandE<gt> will run an external E<lt>commandE<gt>. This facility may "
@@ -1452,57 +1507,57 @@ msgstr ""
 "Diese Funktion wurde mÃ¶glicherweise vom Systemadministrator deaktiviert."
 
 #. type: TP
-#: doc/tin.1:524
+#: doc/tin.1:554
 #, no-wrap
 msgid "B<ToggleColor '&'>"
 msgstr "B<ToggleColor '&'>"
 
 #. type: Plain text
-#: doc/tin.1:527
+#: doc/tin.1:557
 msgid "Toggle use of ANSI color."
 msgstr "ANSI Farben ein-/ausschalten."
 
 #. type: TP
-#: doc/tin.1:527
+#: doc/tin.1:557
 #, no-wrap
 msgid "B<RedrawScr '^L'>"
 msgstr "B<RedrawScr '^L'>"
 
 #. type: Plain text
-#: doc/tin.1:530
+#: doc/tin.1:560
 msgid "Redraw the current screen."
 msgstr "Bildschirminhalt neu aufbauen."
 
 #. type: TP
-#: doc/tin.1:530
+#: doc/tin.1:560
 #, no-wrap
 msgid "B<ScrollUp 'E<lt>'>"
 msgstr "B<ScrollUp 'E<lt>'>"
 
 #. type: Plain text
-#: doc/tin.1:533
+#: doc/tin.1:563
 msgid "Scroll screen up by one line."
 msgstr "Eine Zeile nach oben blÃ¤ttern (scrollen)."
 
 #. type: TP
-#: doc/tin.1:533
+#: doc/tin.1:563
 #, no-wrap
 msgid "B<ScrollDown 'E<gt>'>"
 msgstr "B<ScrollDown 'E<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:536
+#: doc/tin.1:566
 msgid "Scroll screen down by one line."
 msgstr "Eine Zeile nach unten blÃ¤ttern (scrollen)."
 
 #. type: TP
-#: doc/tin.1:536
+#: doc/tin.1:566
 #, no-wrap
 msgid "B<Postponed 'O' '^O'>"
 msgstr "B<Postponed 'O' '^O'>"
 
 #. type: Plain text
-#: doc/tin.1:550
+#: doc/tin.1:580
 msgid ""
 "Reload postponed article. If your system blocks the B<Postponed> key you "
 "must quote it by pressing 'B<^V>' (CTRL-V) first. The postpone-menu offers "
@@ -1518,27 +1573,31 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:550 doc/tin.1:1425 doc/tin.1:1480 doc/tin.1:1525
+#: doc/tin.1:580 doc/tin.1:1461 doc/tin.1:1516 doc/tin.1:1561
 #, no-wrap
 msgid "B<Help 'h'>"
 msgstr "B<Help 'h'>"
 
 #. type: Plain text
-#: doc/tin.1:556
+#: doc/tin.1:586
 msgid ""
 "Help screen of commands available on the current menu. You can use "
-"B<SearchSubjF> ('B</>'), B<SearchSubjB> ('B<?>') and B<SearchRepeat> ('B<"
-"\\(rs>') to search on this screen. B<Quit> ('B<q>') returns to the menu."
+"B<SearchSubjF> ('B</>'), B<SearchSubjB> ('B<?>') and B<SearchRepeat> "
+"('B<\\(rs>') to search on this screen. B<Quit> ('B<q>') returns to the menu."
 msgstr ""
+"Hilfebildschirm mit den im aktuellen MenÃ¼ verfÃ¼gbaren Befehlen. Sie kÃ¶nnen "
+"B<SearchSubjF> ('B</>'), B<SearchSubjB> ('B<?>') und B<SearchRepeat> "
+"('B<\\(rs>') verwenden, um darin zu suchen. B<Quit> ('B<q>') kehrt zum MenÃ¼ "
+"zurÃ¼ck."
 
 #. type: TP
-#: doc/tin.1:556 doc/tin.1:1428 doc/tin.1:1483 doc/tin.1:1528
+#: doc/tin.1:586 doc/tin.1:1464 doc/tin.1:1519 doc/tin.1:1564
 #, no-wrap
 msgid "B<ToggleHelpDisplay 'H'>"
 msgstr "B<ToggleHelpDisplay 'H'>"
 
 #. type: Plain text
-#: doc/tin.1:560 doc/tin.1:1432 doc/tin.1:1487 doc/tin.1:1532
+#: doc/tin.1:590 doc/tin.1:1468 doc/tin.1:1523 doc/tin.1:1568
 msgid ""
 "Toggle the display of help mini menu at the bottom of the screen and posting "
 "etiquette after composing an article (B<beginner_level>)."
@@ -1547,13 +1606,13 @@ msgstr ""
 "eines Artikels ein-/ausschalten (B<beginner_level>)."
 
 #. type: TP
-#: doc/tin.1:560
+#: doc/tin.1:590
 #, no-wrap
 msgid "B<DisplayPostHist 'W'>"
 msgstr "B<DisplayPostHist 'W'>"
 
 #. type: Plain text
-#: doc/tin.1:565
+#: doc/tin.1:595
 msgid ""
 "List articles posted by user. The date posted, the newsgroup and the subject "
 "are listed. See the section \"POSTING HISTORY LISTING\" for more information."
@@ -1563,42 +1622,42 @@ msgstr ""
 "finden Sie im Abschnitt \"POSTING VERLAUFSLISTE\"."
 
 #. type: TP
-#: doc/tin.1:565
+#: doc/tin.1:595
 #, no-wrap
 msgid "B<Version 'v'>"
 msgstr "B<Version 'v'>"
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:570
+#: doc/tin.1:600
 msgid "Print B<tin> version information."
 msgstr "Versions-Informationen ausgeben."
 
 #. type: SS
-#: doc/tin.1:570
+#: doc/tin.1:600
 #, no-wrap
 msgid "NEWSGROUP SELECTION COMMANDS"
 msgstr "BEFEHLE ZUR GRUPPENAUSWAHL"
 
 #. type: TP
-#: doc/tin.1:571 doc/tin.1:712 doc/tin.1:967 doc/tin.1:1144 doc/tin.1:3737
+#: doc/tin.1:601 doc/tin.1:742 doc/tin.1:998 doc/tin.1:1176 doc/tin.1:3812
 #, no-wrap
 msgid "B<4>"
 msgstr "B<4>"
 
 #. type: Plain text
-#: doc/tin.1:574
+#: doc/tin.1:604
 msgid "Select group 4."
 msgstr "Gruppe 4 auswÃ¤hlen."
 
 #. type: TP
-#: doc/tin.1:574
+#: doc/tin.1:604
 #, no-wrap
 msgid "B<SelectResetNewsrc '^R'>"
 msgstr "B<SelectResetNewsrc '^R'>"
 
 #. type: Plain text
-#: doc/tin.1:578
+#: doc/tin.1:608
 msgid ""
 "Reset I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file. This will destroy all "
 "records of which articles have been read, so use this carefully."
@@ -1608,13 +1667,13 @@ msgstr ""
 "Vorsicht."
 
 #. type: TP
-#: doc/tin.1:578 doc/tin.1:733 doc/tin.1:988
+#: doc/tin.1:608 doc/tin.1:763 doc/tin.1:1019
 #, no-wrap
 msgid "B<SetRange '#'>"
 msgstr "B<SetRange '#'>"
 
 #. type: Plain text
-#: doc/tin.1:582 doc/tin.1:737 doc/tin.1:992
+#: doc/tin.1:612 doc/tin.1:767 doc/tin.1:1023
 msgid ""
 "Choose a range of articles to be affected by the next command. See the "
 "section \"RANGES\" for more information."
@@ -1623,76 +1682,76 @@ msgstr ""
 "wird. Siehe Abschnitt \"BEREICHE\" fÃ¼r weitere Informationen."
 
 #. type: TP
-#: doc/tin.1:582
+#: doc/tin.1:612
 #, no-wrap
 msgid "B<SelectSortActive '.'>"
 msgstr "B<SelectSortActive '.'>"
 
 #. type: Plain text
-#: doc/tin.1:585
+#: doc/tin.1:615
 msgid "Sort the list of newsgroups."
 msgstr "Liste vorhandener Newsgruppen sortieren."
 
 #. type: TP
-#: doc/tin.1:585 doc/tin.1:740 doc/tin.1:995 doc/tin.1:1201 doc/tin.1:1416
-#: doc/tin.1:1467 doc/tin.1:1516
+#: doc/tin.1:615 doc/tin.1:770 doc/tin.1:1026 doc/tin.1:1236 doc/tin.1:1452
+#: doc/tin.1:1503 doc/tin.1:1552
 #, no-wrap
 msgid "B<SearchRepeat '\\(rs'>"
 msgstr "B<SearchRepeat '\\(rs'>"
 
 #. type: Plain text
-#: doc/tin.1:588 doc/tin.1:743 doc/tin.1:998 doc/tin.1:1204 doc/tin.1:1419
-#: doc/tin.1:1470 doc/tin.1:1519
+#: doc/tin.1:618 doc/tin.1:773 doc/tin.1:1029 doc/tin.1:1239 doc/tin.1:1455
+#: doc/tin.1:1506 doc/tin.1:1555
 msgid "Repeat the previous search."
 msgstr "Vorherige Suche wiederholen."
 
 #. type: TP
-#: doc/tin.1:588 doc/tin.1:743 doc/tin.1:998 doc/tin.1:1204 doc/tin.1:1410
-#: doc/tin.1:1461 doc/tin.1:1510
+#: doc/tin.1:618 doc/tin.1:773 doc/tin.1:1029 doc/tin.1:1239 doc/tin.1:1446
+#: doc/tin.1:1497 doc/tin.1:1546
 #, no-wrap
 msgid "B<SearchSubjF '/'>"
 msgstr "B<SearchSubjF '/'>"
 
 #. type: Plain text
-#: doc/tin.1:591
+#: doc/tin.1:621
 msgid "Search for a group by name and description (if displayed)."
 msgstr ""
 "VorwÃ¤rts nach einer Gruppe anhand des Namens und/oder der Kurzbeschreibung "
 "(falls angezeigt) suchen."
 
 #. type: TP
-#: doc/tin.1:591 doc/tin.1:746 doc/tin.1:1001 doc/tin.1:1207 doc/tin.1:1413
-#: doc/tin.1:1464 doc/tin.1:1513
+#: doc/tin.1:621 doc/tin.1:776 doc/tin.1:1032 doc/tin.1:1242 doc/tin.1:1449
+#: doc/tin.1:1500 doc/tin.1:1549
 #, no-wrap
 msgid "B<SearchSubjB '?'>"
 msgstr "B<SearchSubjB '?'>"
 
 #. type: Plain text
-#: doc/tin.1:594
+#: doc/tin.1:624
 msgid "Backward search through the group names and descriptions."
 msgstr ""
 "RÃ¼ckwÃ¤rts mach einer Gruppe anhand des Namens und/oder der Kurzbeschreibung "
 "(falls angezeigt) suchen."
 
 #. type: TP
-#: doc/tin.1:594
+#: doc/tin.1:624
 #, no-wrap
 msgid "B<SelectReadGrp '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<SelectReadGrp '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:597
+#: doc/tin.1:627
 msgid "Read current group."
 msgstr "Lese die aktuelle Gruppe."
 
 #. type: TP
-#: doc/tin.1:597
+#: doc/tin.1:627
 #, no-wrap
 msgid "B<SelectEnterNextUnreadGrp 'E<lt>TABE<gt>' 'n'>"
 msgstr "B<SelectEnterNextUnreadGrp 'E<lt>TABE<gt>' 'n'>"
 
 #. type: Plain text
-#: doc/tin.1:601
+#: doc/tin.1:631
 msgid ""
 "Enter next group with unread news. Will wrap around to the beginning of the "
 "group selection list looking for unread groups."
@@ -1701,13 +1760,13 @@ msgstr ""
 "Gruppenliste und sucht nach ungelesenen Gruppen."
 
 #. type: TP
-#: doc/tin.1:601 doc/tin.1:821 doc/tin.1:1039 doc/tin.1:1265
+#: doc/tin.1:631 doc/tin.1:851 doc/tin.1:1070 doc/tin.1:1300
 #, no-wrap
 msgid "B<Catchup 'c'>"
 msgstr "B<Catchup 'c'>"
 
 #. type: Plain text
-#: doc/tin.1:605
+#: doc/tin.1:635
 msgid ""
 "Make current group as all read [after confirmation] and move to the next "
 "group in the group selection list."
@@ -1716,13 +1775,13 @@ msgstr ""
 "Gruppe in der Gruppenauswahlliste wechseln."
 
 #. type: TP
-#: doc/tin.1:605 doc/tin.1:825 doc/tin.1:1043 doc/tin.1:1269
+#: doc/tin.1:635 doc/tin.1:855 doc/tin.1:1074 doc/tin.1:1304
 #, no-wrap
 msgid "B<CatchupNextUnread 'C'>"
 msgstr "B<CatchupNextUnread 'C'>"
 
 #. type: Plain text
-#: doc/tin.1:609
+#: doc/tin.1:639
 msgid ""
 "Mark current group as all read [after confirmation] and enter the next "
 "unread group in the group selection list."
@@ -1731,13 +1790,13 @@ msgstr ""
 "ungelesenen Gruppe in der Gruppenauswahlliste wechseln."
 
 #. type: TP
-#: doc/tin.1:609
+#: doc/tin.1:639
 #, no-wrap
 msgid "B<SelectToggleDescriptions 'd'>"
 msgstr "B<SelectToggleDescriptions 'd'>"
 
 #. type: Plain text
-#: doc/tin.1:613
+#: doc/tin.1:643
 msgid ""
 "Toggle display to show just the group name or the group name and the group "
 "descriptions."
@@ -1746,24 +1805,24 @@ msgstr ""
 "der Gruppenbeschreibungen um."
 
 #. type: TP
-#: doc/tin.1:613 doc/tin.1:838 doc/tin.1:1056 doc/tin.1:1281
+#: doc/tin.1:643 doc/tin.1:868 doc/tin.1:1087 doc/tin.1:1316
 #, no-wrap
 msgid "B<EditFilter 'E'>"
 msgstr "B<EditFilter 'E'>"
 
 #. type: Plain text
-#: doc/tin.1:616 doc/tin.1:841 doc/tin.1:1059 doc/tin.1:1284
+#: doc/tin.1:646 doc/tin.1:871 doc/tin.1:1090 doc/tin.1:1319
 msgid "Edit the filter file and reload it afterwards."
 msgstr "Filter-Datei bearbeiten und danach anwenden."
 
 #. type: TP
-#: doc/tin.1:616
+#: doc/tin.1:646
 #, no-wrap
 msgid "B<SelectGoto 'g'>"
 msgstr "B<SelectGoto 'g'>"
 
 #. type: Plain text
-#: doc/tin.1:620 doc/tin.1:845
+#: doc/tin.1:650 doc/tin.1:875
 msgid ""
 "Choose a new group by name. This command can be used to access any group, "
 "even those not currently yanked in."
@@ -1773,14 +1832,14 @@ msgstr ""
 "werden."
 
 #. type: TP
-#: doc/tin.1:620 doc/tin.1:848 doc/tin.1:1065 doc/tin.1:1297 doc/tin.1:1422
-#: doc/tin.1:1476 doc/tin.1:1522
+#: doc/tin.1:650 doc/tin.1:878 doc/tin.1:1096 doc/tin.1:1332 doc/tin.1:1458
+#: doc/tin.1:1512 doc/tin.1:1558
 #, no-wrap
 msgid "B<ToggleInfoLastLine 'i'>"
 msgstr "B<ToggleInfoLastLine 'i'>"
 
 #. type: Plain text
-#: doc/tin.1:625
+#: doc/tin.1:655
 msgid ""
 "Toggle the display of the description of the current newsgroup in the last "
 "line. This will not be available if B<tin> was started with the \\&''B<-d>'' "
@@ -1788,38 +1847,38 @@ msgid ""
 msgstr ""
 "Umschalten der Anzeige der Beschreibung der aktuellen Newsgroup in der "
 "letzten Zeile. Dies ist nicht verfÃ¼gbar, wenn B<tin> mit \\&''B<-d>'' "
-"gestartet wurde"
+"gestartet wurde."
 
 #. type: TP
-#: doc/tin.1:625 doc/tin.1:852 doc/tin.1:1068 doc/tin.1:1300
+#: doc/tin.1:655 doc/tin.1:882 doc/tin.1:1099 doc/tin.1:1335
 #, no-wrap
 msgid "B<ToggleInverseVideo 'I'>"
 msgstr "B<ToggleInverseVideo 'I'>"
 
 #. type: Plain text
-#: doc/tin.1:628 doc/tin.1:855 doc/tin.1:1071 doc/tin.1:1303
+#: doc/tin.1:658 doc/tin.1:885 doc/tin.1:1102 doc/tin.1:1338
 msgid "Toggle inverse video."
 msgstr "(De)aktiviere inverse Darstellung."
 
 #. type: TP
-#: doc/tin.1:628 doc/tin.1:855 doc/tin.1:1071 doc/tin.1:1303
+#: doc/tin.1:658 doc/tin.1:885 doc/tin.1:1102 doc/tin.1:1338
 #, no-wrap
 msgid "B<ConnectionInfo 'J'>"
 msgstr "B<ConnectionInfo 'J'>"
 
 #. type: Plain text
-#: doc/tin.1:631 doc/tin.1:858 doc/tin.1:1074 doc/tin.1:1306
+#: doc/tin.1:661 doc/tin.1:888 doc/tin.1:1105 doc/tin.1:1341
 msgid "Show details about current connection."
 msgstr "Informationen zur aktuellen Verbindung anzeigen."
 
 #. type: TP
-#: doc/tin.1:631 doc/tin.1:867 doc/tin.1:1080 doc/tin.1:1312
+#: doc/tin.1:661 doc/tin.1:897 doc/tin.1:1111 doc/tin.1:1347
 #, no-wrap
 msgid "B<LookupMessage 'L'>"
 msgstr "B<LookupMessage 'L'>"
 
 #. type: Plain text
-#: doc/tin.1:638
+#: doc/tin.1:668
 msgid ""
 "Look up article by ''Message-ID:''. If none of the groups listed in the "
 "''Newsgroups:''-header of the referenced article is available, just the "
@@ -1835,28 +1894,32 @@ msgstr ""
 "oder XPAT (B<RFC\\%2980>) unterstÃ¼tzen."
 
 #. type: TP
-#: doc/tin.1:638
+#: doc/tin.1:668
 #, no-wrap
 msgid "B<SelectMoveGrp 'm'>"
 msgstr "B<SelectMoveGrp 'm'>"
 
 #. type: Plain text
-#: doc/tin.1:644
+#: doc/tin.1:674
 msgid ""
 "Move the current group within the group selection list. By entering '1' the "
 "group will become the first displayed group in the list, by entering '8' the "
 "eighth group in the list etc. By entering '$' the group will be the last "
 "group displayed."
 msgstr ""
+"Verschieben Sie die aktuelle Gruppe innerhalb der Gruppenauswahlliste. Durch "
+"Eingabe von '1' wird die Gruppe zur ersten angezeigten Gruppe in der Liste, "
+"durch Eingabe von '8' zur achten Gruppe in der Liste usw. Durch Eingabe von "
+"'$' wird die Gruppe zur letzten angezeigten Gruppe."
 
 #. type: TP
-#: doc/tin.1:644 doc/tin.1:875 doc/tin.1:1320
+#: doc/tin.1:674 doc/tin.1:906 doc/tin.1:1356
 #, no-wrap
 msgid "B<OptionMenu 'M'>"
 msgstr "B<OptionMenu 'M'>"
 
 #. type: Plain text
-#: doc/tin.1:648 doc/tin.1:879 doc/tin.1:1324
+#: doc/tin.1:678 doc/tin.1:910 doc/tin.1:1360
 msgid ""
 "User configurable options menu (for more information see section \"GLOBAL "
 "OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES\")."
@@ -1865,24 +1928,24 @@ msgstr ""
 "im Abschnitt \"GLOBALES OPTIONSMENÃœ UND KONFIGURIERBARE TINRC VARIABLEN\")."
 
 #. type: TP
-#: doc/tin.1:648
+#: doc/tin.1:678
 #, no-wrap
 msgid "B<SelectNextUnreadGrp 'N'>"
 msgstr "B<SelectNextUnreadGrp 'N'>"
 
 #. type: Plain text
-#: doc/tin.1:651
+#: doc/tin.1:681
 msgid "Positions the cursor on the next group with unread articles in it."
 msgstr "Setzt den Cursor auf die nÃ¤chste Gruppe mit ungelesenen Artikeln."
 
 #. type: TP
-#: doc/tin.1:651 doc/tin.1:896 doc/tin.1:1093 doc/tin.1:1341
+#: doc/tin.1:681 doc/tin.1:927 doc/tin.1:1125 doc/tin.1:1377
 #, no-wrap
 msgid "B<Quit 'q'>"
 msgstr "B<Quit 'q'>"
 
 #. type: Plain text
-#: doc/tin.1:655
+#: doc/tin.1:685
 msgid ""
 "Quit B<tin> \\(em ask the user to confirm if B<confirm_choice> is set "
 "accordingly."
@@ -1890,38 +1953,41 @@ msgstr ""
 "B<tin> beenden, falls B<confirm_choice> gesetzt ist wird nochmal nachgefragt."
 
 #. type: TP
-#: doc/tin.1:655 doc/tin.1:899 doc/tin.1:1096 doc/tin.1:1344
+#: doc/tin.1:685 doc/tin.1:930 doc/tin.1:1128 doc/tin.1:1380
 #, no-wrap
 msgid "B<QuitTin 'Q'>"
 msgstr "B<QuitTin 'Q'>"
 
 #. type: Plain text
-#: doc/tin.1:658 doc/tin.1:902 doc/tin.1:1099 doc/tin.1:1347
+#: doc/tin.1:688 doc/tin.1:933 doc/tin.1:1131 doc/tin.1:1383
 msgid "Quit B<tin> \\(em don't ask the user to confirm."
 msgstr "Beendet B<tin> sofort, ohne BestÃ¤tigungsnachfrage."
 
 #. type: TP
-#: doc/tin.1:658
+#: doc/tin.1:688
 #, no-wrap
 msgid "B<SelectToggleReadDisplay 'r'>"
 msgstr "B<SelectToggleReadDisplay 'r'>"
 
 #. type: Plain text
-#: doc/tin.1:663
+#: doc/tin.1:693
 msgid ""
 "Toggle display of all subscribed to groups and just those groups containing "
 "unread articles. Command has no effect if groups were specified on the "
 "command-line when B<tin> was started."
 msgstr ""
+"Anzeige aller abonnierten Gruppen und nur der Gruppen mit ungelesenen "
+"Artikeln umschalten. Der Befehl hat keine Auswirkung, wenn beim Start von "
+"B<tin> Gruppen in der Befehlszeile angegeben wurden."
 
 #. type: TP
-#: doc/tin.1:663 doc/tin.1:905 doc/tin.1:1099
+#: doc/tin.1:693 doc/tin.1:936 doc/tin.1:1131
 #, no-wrap
 msgid "B<BugReport 'R'>"
 msgstr "B<BugReport 'R'>"
 
 #. type: Plain text
-#: doc/tin.1:667 doc/tin.1:909 doc/tin.1:1103
+#: doc/tin.1:697 doc/tin.1:940 doc/tin.1:1135
 msgid ""
 "Mail a bug report or comment to E<lt>tin-bugs@tin.orgE<gt>. This is the best "
 "way of getting bugs fixed and features added/changed."
@@ -1931,66 +1997,75 @@ msgstr ""
 "bzw. nach neuen Funktionen zu fragen."
 
 #. type: TP
-#: doc/tin.1:667
+#: doc/tin.1:697
 #, no-wrap
 msgid "B<SelectSubscribe 's'>"
 msgstr "B<SelectSubscribe 's'>"
 
 #. type: Plain text
-#: doc/tin.1:670
+#: doc/tin.1:700
 msgid "Subscribe to current group."
 msgstr "AusgewÃ¤hlte Gruppe abonnieren."
 
 #. type: TP
-#: doc/tin.1:670
+#: doc/tin.1:700
 #, no-wrap
 msgid "B<SelectSubscribePat 'S'>"
 msgstr "B<SelectSubscribePat 'S'>"
 
 #. type: Plain text
-#: doc/tin.1:675
+#: doc/tin.1:705
 msgid ""
 "Subscribe to groups matching user specified pattern. See the section "
 "\"NEWSGROUP LISTS & WILDCARDS\" for the types of pattern that B<tin> "
 "understands."
 msgstr ""
+"Abonnieren Sie Gruppen, die dem vom Benutzer angegebenen Muster entsprechen. "
+"Siehe den Abschnitt \"NEWSGROUP LISTEN & WILDCARDS\" fÃ¼r die Mustertypen, "
+"die B<tin> versteht."
 
 #. type: TP
-#: doc/tin.1:675
+#: doc/tin.1:705
 #, no-wrap
 msgid "B<SelectUnsubscribe 'u'>"
 msgstr "B<SelectUnsubscribe 'u'>"
 
 #. type: Plain text
-#: doc/tin.1:680
+#: doc/tin.1:710
 msgid ""
 "Unsubscribe to current group. This can be used to remove bogus groups.  See "
-"B<strip_bogus> in the \"GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES"
-"\" section."
+"B<strip_bogus> in the \"GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE "
+"VARIABLES\" section."
 msgstr ""
+"Aktuelle Gruppe abbestellen. Dies kann zum Entfernen ungÃ¼ltiger Gruppen "
+"verwendet werden. Siehe B<strip_bogus> im Abschnitt \"MENÃœ DER GLOBALE "
+"OPTIONEN UND KONFIGURIERBAREN TINRC-VARIABLEN\"."
 
 #. type: TP
-#: doc/tin.1:680
+#: doc/tin.1:710
 #, no-wrap
 msgid "B<SelectUnsubscribePat 'U'>"
 msgstr "B<SelectUnsubscribePat 'U'>"
 
 #. type: Plain text
-#: doc/tin.1:685
+#: doc/tin.1:715
 msgid ""
 "Unsubscribe to groups matching user specified pattern. See the section "
 "\"NEWSGROUP LISTS & WILDCARDS\" for the types of pattern that B<tin> "
 "understands."
 msgstr ""
+"Abmelden von Gruppen, die dem vom Benutzer angegebenen Muster entsprechen. "
+"Siehe den Abschnitt \"NEWSGROUP LISTEN & WILDCARDS\" fÃ¼r die Mustertypen, "
+"die tin versteht."
 
 #. type: TP
-#: doc/tin.1:685 doc/tin.1:934 doc/tin.1:1122 doc/tin.1:1381
+#: doc/tin.1:715 doc/tin.1:965 doc/tin.1:1154 doc/tin.1:1417
 #, no-wrap
 msgid "B<Post 'w'>"
 msgstr "B<Post 'w'>"
 
 #. type: Plain text
-#: doc/tin.1:691
+#: doc/tin.1:721
 msgid ""
 "Post an article to current group. If posting fails for some reason, you'll "
 "get the chance to B<PostEdit> ('B<e>') the article again, B<PostPostpone> "
@@ -1999,25 +2074,25 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:691
+#: doc/tin.1:721
 #, no-wrap
 msgid "B<SelectQuitNoWrite 'X'>"
 msgstr "B<SelectQuitNoWrite 'X'>"
 
 #. type: Plain text
-#: doc/tin.1:694
+#: doc/tin.1:724
 msgid "Quit B<tin> without saving any changes to the configuration."
 msgstr ""
 "B<tin> beenden ohne ggf. gemachte Ã„nderungen an den Einstellung zu speichern."
 
 #. type: TP
-#: doc/tin.1:694
+#: doc/tin.1:724
 #, no-wrap
 msgid "B<SelectYankActive 'y'>"
 msgstr "B<SelectYankActive 'y'>"
 
 #. type: Plain text
-#: doc/tin.1:699
+#: doc/tin.1:729
 msgid ""
 "Yanks in all groups. Toggles the displayed groups between all the groups in "
 "the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file and just "
@@ -2025,13 +2100,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:699
+#: doc/tin.1:729
 #, no-wrap
 msgid "B<SelectSyncWithActive 'Y'>"
 msgstr "B<SelectSyncWithActive 'Y'>"
 
 #. type: Plain text
-#: doc/tin.1:703
+#: doc/tin.1:733
 msgid ""
 "Reread the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file "
 "to see if any new news has arrived since starting B<tin>."
@@ -2041,25 +2116,25 @@ msgstr ""
 "eingetroffen sind."
 
 #. type: TP
-#: doc/tin.1:703
+#: doc/tin.1:733
 #, no-wrap
 msgid "B<SelectMarkGrpUnread 'z' 'Z'>"
 msgstr "B<SelectMarkGrpUnread 'z' 'Z'>"
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:708
+#: doc/tin.1:738
 msgid "Mark all articles in the current group as unread."
 msgstr "Alle Artikel in der aktuellen Gruppe als ungelesen markieren."
 
 #. type: SS
-#: doc/tin.1:708
+#: doc/tin.1:738
 #, no-wrap
 msgid "GROUP INDEX COMMANDS"
 msgstr "GRUPPEN-INDEX-BEFEHLE"
 
 #. type: Plain text
-#: doc/tin.1:712
+#: doc/tin.1:742
 msgid ""
 "All searches in this level are limited to unread articles if in "
 "B<show_only_unread_arts> mode. B<GroupToggleReadUnread> ('B<r>')  can be use "
@@ -2070,18 +2145,18 @@ msgstr ""
 "verwendet werden, um die Einstellung direkt vor/nach der Suche umzuschalten."
 
 #. type: Plain text
-#: doc/tin.1:715
+#: doc/tin.1:745
 msgid "Select article 4."
 msgstr "Artikel 4 auswÃ¤hlen."
 
 #. type: TP
-#: doc/tin.1:715 doc/tin.1:970 doc/tin.1:1147
+#: doc/tin.1:745 doc/tin.1:1001 doc/tin.1:1179
 #, no-wrap
 msgid "B<MenuFilterSelect '^A'>"
 msgstr "B<MenuFilterSelect '^A'>"
 
 #. type: Plain text
-#: doc/tin.1:719 doc/tin.1:974 doc/tin.1:1151
+#: doc/tin.1:749 doc/tin.1:1005 doc/tin.1:1183
 msgid ""
 "Auto select article(s) using a menu. Read the section \"FILTERING ARTICLES\" "
 "for more information."
@@ -2090,13 +2165,13 @@ msgstr ""
 "Abschnitt \"FILTERN VON ARTIKELN\" fÃ¼r weitere Informationen."
 
 #. type: TP
-#: doc/tin.1:719 doc/tin.1:974 doc/tin.1:1166
+#: doc/tin.1:749 doc/tin.1:1005 doc/tin.1:1198
 #, no-wrap
 msgid "B<MenuFilterKill '^K'>"
 msgstr "B<MenuFilterKill '^K'>"
 
 #. type: Plain text
-#: doc/tin.1:723 doc/tin.1:978 doc/tin.1:1170
+#: doc/tin.1:753 doc/tin.1:1009 doc/tin.1:1202
 msgid ""
 "Kill article(s) using a menu. Read the section \"FILTERING ARTICLES\" for "
 "more information."
@@ -2105,73 +2180,79 @@ msgstr ""
 "Informationen den Abschnitt \"FILTERN VON ARTIKELN\"."
 
 #. type: TP
-#: doc/tin.1:723 doc/tin.1:978
+#: doc/tin.1:753 doc/tin.1:1009
 #, no-wrap
 msgid "B<MarkFeedRead '^X'>"
 msgstr "B<MarkFeedRead '^X'>"
 
 #. type: Plain text
-#: doc/tin.1:728 doc/tin.1:983
+#: doc/tin.1:758 doc/tin.1:1014
 msgid ""
 "Mark current article, thread, range, auto-selected (hot) articles, articles "
 "matching pattern or tagged articles as read. A prompt asks which type should "
 "be marked."
 msgstr ""
+"Markiert den aktuellen Artikel, Thread, Bereich, automatisch ausgewÃ¤hlte "
+"(heiÃŸe) Artikel, Artikel mit MusterÃ¼bereinstimmung oder getaggte Artikel als "
+"gelesen. Eine Eingabeaufforderung fragt, welcher Typ markiert werden soll."
 
 #. type: TP
-#: doc/tin.1:728 doc/tin.1:983
+#: doc/tin.1:758 doc/tin.1:1014
 #, no-wrap
 msgid "B<MarkFeedUnread '^W'>"
 msgstr "B<MarkFeedUnread '^W'>"
 
 #. type: Plain text
-#: doc/tin.1:733 doc/tin.1:988
+#: doc/tin.1:763 doc/tin.1:1019
 msgid ""
 "Mark current article, thread, range, auto-selected (hot) articles, articles "
 "matching pattern or tagged articles as unread. A prompt asks which type "
 "should be marked."
 msgstr ""
+"Markiert den aktuellen Artikel, Thread, Bereich, automatisch ausgewÃ¤hlte "
+"(heiÃŸe) Artikel, Artikel mit MusterÃ¼bereinstimmung oder getaggte Artikel als "
+"ungelesen. Eine Eingabeaufforderung fragt, welcher Typ markiert werden soll."
 
 #. type: TP
-#: doc/tin.1:737 doc/tin.1:992 doc/tin.1:1198
+#: doc/tin.1:767 doc/tin.1:1023 doc/tin.1:1233
 #, no-wrap
 msgid "B<LastViewed '-'>"
 msgstr "B<LastViewed '-'>"
 
 #. type: Plain text
-#: doc/tin.1:740 doc/tin.1:995 doc/tin.1:1201
+#: doc/tin.1:770 doc/tin.1:1026 doc/tin.1:1236
 msgid "Re-enter the last message that was viewed."
 msgstr "Zur zuletzt angezeigte Nachricht springen."
 
 #. type: Plain text
-#: doc/tin.1:746 doc/tin.1:1001
+#: doc/tin.1:776 doc/tin.1:1032
 msgid "Search forward for specified subject."
 msgstr "VorwÃ¤rts nach dem angegebenem Subject suchen."
 
 #. type: Plain text
-#: doc/tin.1:749 doc/tin.1:1004
+#: doc/tin.1:779 doc/tin.1:1035
 msgid "Search backwards for specified subject."
 msgstr "RÃ¼ckwÃ¤rts nach dem angegebenem Subject suchen."
 
 #. type: TP
-#: doc/tin.1:749
+#: doc/tin.1:779
 #, no-wrap
 msgid "B<GroupSelThd '*'>"
 msgstr "B<GroupSelThd '*'>"
 
 #. type: Plain text
-#: doc/tin.1:752 doc/tin.1:1007
+#: doc/tin.1:782 doc/tin.1:1038
 msgid "Select current thread for later processing."
 msgstr "WÃ¤hle aktuellen Thread fÃ¼r die spÃ¤tere Verarbeitung aus."
 
 #. type: TP
-#: doc/tin.1:752
+#: doc/tin.1:782
 #, no-wrap
 msgid "B<GroupDoAutoSel '+'>"
 msgstr "B<GroupDoAutoSel '+'>"
 
 #. type: Plain text
-#: doc/tin.1:756
+#: doc/tin.1:786
 msgid ""
 "Selects all threads in current group. It is a shortcut for calling "
 "B<GroupSelPattern> with a pattern of ''*''."
@@ -2180,67 +2261,78 @@ msgstr ""
 "B<GroupSelPattern> mit einem Muster von ''*''."
 
 #. type: TP
-#: doc/tin.1:756
+#: doc/tin.1:786
 #, no-wrap
 msgid "B<GroupToggleThdSel '.'>"
 msgstr "B<GroupToggleThdSel '.'>"
 
 #. type: Plain text
-#: doc/tin.1:761
+#: doc/tin.1:791
 msgid ""
 "Toggle selection of current thread. If at least one unread article, (but not "
 "every unread article) in the current thread is selected, then all unread "
 "articles become selected."
 msgstr ""
+"Auswahl des aktuellen Threads umschalten. Wenn mindestens ein ungelesener "
+"Artikel (aber nicht jeder ungelesene Artikel) im aktuellen Thread ausgewÃ¤hlt "
+"ist, werden alle ungelesenen Artikel ausgewÃ¤hlt."
 
 #. type: TP
-#: doc/tin.1:761
+#: doc/tin.1:791
 #, no-wrap
 msgid "B<GroupSelThdIfUnreadSelected ';'>"
 msgstr "B<GroupSelThdIfUnreadSelected ';'>"
 
 #. type: Plain text
-#: doc/tin.1:766
+#: doc/tin.1:796
 msgid ""
 "For each thread in current group, if it at least one unread article is "
 "selected, all unread articles become selected. This is useful for auto-"
 "selection on author where reader wants to see entire thread."
 msgstr ""
+"Wenn fÃ¼r jeden Thread in der aktuellen Gruppe mindestens ein ungelesener "
+"Artikel ausgewÃ¤hlt ist, werden alle ungelesenen Artikel ausgewÃ¤hlt. Dies ist "
+"nÃ¼tzlich fÃ¼r die automatische Auswahl anhand des Autors, wenn der Leser den "
+"gesamten Thread sehen mÃ¶chte."
 
 #. type: TP
-#: doc/tin.1:766
+#: doc/tin.1:796
 #, no-wrap
 msgid "B<GroupSelPattern '='>"
 msgstr "B<GroupSelPattern '='>"
 
 #. type: Plain text
-#: doc/tin.1:772
+#: doc/tin.1:802
 msgid ""
 "Prompts for a pattern with which to match on. All threads whose subjects "
 "match the pattern will be marked selected. A pattern of ''*'' will match all "
-"subjects. Entering just 'B<E<lt>CRE<gt>>' will re-use the last pattern that "
+"subjects. Entering just 'B<E<lt>CRE<gt>>' will reuse the last pattern that "
 "was entered."
 msgstr ""
+"Fordert zur Eingabe eines Musters auf, mit dem verglichen werden soll. Alle "
+"Threads, deren Subject mit dem Muster Ã¼bereinstimmen, werden als ausgewÃ¤hlt "
+"markiert. Wenn nur 'B<E<lt>CRE<gt>>' eingeben, wird das zuletzt eingegebene "
+"Muster wiederverwendet."
 
 #. type: TP
-#: doc/tin.1:772
+#: doc/tin.1:802
 #, no-wrap
 msgid "B<GroupReverseSel '@'>"
 msgstr "B<GroupReverseSel '@'>"
 
 #. type: Plain text
-#: doc/tin.1:775
+#: doc/tin.1:805
 msgid "Reverse all selections on all articles."
 msgstr "Markierung fÃ¼r alle Artikel umkehren."
 
 #. type: TP
-#: doc/tin.1:775
+#: doc/tin.1:805
 #, no-wrap
 msgid "B<GroupUndoSel '~'>"
 msgstr "B<GroupUndoSel '~'>"
 
 #. type: Plain text
-#: doc/tin.1:781
+#: doc/tin.1:811
 msgid ""
 "Undo all selections on all articles. It clears the toggle effect of "
 "B<GroupMarkUnselArtRead> ('B<X>') command. Thus after first doing a "
@@ -2249,13 +2341,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:781 doc/tin.1:1016 doc/tin.1:1224
+#: doc/tin.1:811 doc/tin.1:1047 doc/tin.1:1259
 #, no-wrap
 msgid "B<Pipe '|'>"
 msgstr "B<Pipe '|'>"
 
 #. type: Plain text
-#: doc/tin.1:786 doc/tin.1:1021 doc/tin.1:1229
+#: doc/tin.1:816 doc/tin.1:1052 doc/tin.1:1264
 msgid ""
 "Pipe current article / thread / auto-selected (hot) articles / articles "
 "matching pattern / tagged articles into command. See the section \"MAILING "
@@ -2267,13 +2359,13 @@ msgstr ""
 "WEITERLEITEN, DRUCKEN, NACHSENDEN UND SPEICHERN VON ARTIKELN\"."
 
 #. type: TP
-#: doc/tin.1:786 doc/tin.1:1229
+#: doc/tin.1:816 doc/tin.1:1264
 #, no-wrap
 msgid "B<QuickFilterSelect '['>"
 msgstr "B<QuickFilterSelect '['>"
 
 #. type: Plain text
-#: doc/tin.1:795
+#: doc/tin.1:825
 msgid ""
 "Auto select article(s) with a single key [after confirmation]. The defaults "
 "used for selection are based upon the following four tinrc config variables: "
@@ -2285,13 +2377,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:795 doc/tin.1:1238
+#: doc/tin.1:825 doc/tin.1:1273
 #, no-wrap
 msgid "B<QuickFilterKill ']'>"
 msgstr "B<QuickFilterKill ']'>"
 
 #. type: Plain text
-#: doc/tin.1:804
+#: doc/tin.1:834
 msgid ""
 "Kill article(s) with a single key [after confirmation]. The defaults used "
 "for killing are based upon the following four tinrc config variables: "
@@ -2303,36 +2395,36 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:804
+#: doc/tin.1:834
 #, no-wrap
 msgid "B<GroupReadBasenote '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<GroupReadBasenote '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:807
+#: doc/tin.1:837
 msgid "Read current article."
 msgstr "Lese den aktuelle Artikel."
 
 #. type: TP
-#: doc/tin.1:807
+#: doc/tin.1:837
 #, no-wrap
 msgid "B<GroupNextUnreadArtOrGrp 'E<lt>TABE<gt>'>"
 msgstr "B<GroupNextUnreadArtOrGrp 'E<lt>TABE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:810
+#: doc/tin.1:840
 msgid "View next unread article or group."
 msgstr ""
 "Zeige den nÃ¤chsten ungelesenen Artikel oder die nÃ¤chste ungelesene Gruppe."
 
 #. type: TP
-#: doc/tin.1:810 doc/tin.1:1027 doc/tin.1:1255
+#: doc/tin.1:840 doc/tin.1:1058 doc/tin.1:1290
 #, no-wrap
 msgid "B<SearchAuthF 'a'>"
 msgstr "B<SearchAuthF 'a'>"
 
 #. type: Plain text
-#: doc/tin.1:814
+#: doc/tin.1:844
 msgid ""
 "Author forward search. This searches for articles with a specific ''From:'' "
 "line."
@@ -2341,24 +2433,24 @@ msgstr ""
 "Header."
 
 #. type: TP
-#: doc/tin.1:814 doc/tin.1:1032 doc/tin.1:1258
+#: doc/tin.1:844 doc/tin.1:1063 doc/tin.1:1293
 #, no-wrap
 msgid "B<SearchAuthB 'A'>"
 msgstr "B<SearchAuthB 'A'>"
 
 #. type: Plain text
-#: doc/tin.1:817 doc/tin.1:1035
+#: doc/tin.1:847 doc/tin.1:1066
 msgid "Author backward search. Otherwise, see B<SearchAuthF> ('B<a>') above."
 msgstr "Autoren-Suche rÃ¼ckwÃ¤rts. Siehe auch B<SearchAuthF> ('B<a>') oben."
 
 #. type: TP
-#: doc/tin.1:817 doc/tin.1:1035 doc/tin.1:1261
+#: doc/tin.1:847 doc/tin.1:1066 doc/tin.1:1296
 #, no-wrap
 msgid "B<SearchBody 'B'>"
 msgstr "B<SearchBody 'B'>"
 
 #. type: Plain text
-#: doc/tin.1:821 doc/tin.1:1039 doc/tin.1:1265
+#: doc/tin.1:851 doc/tin.1:1070 doc/tin.1:1300
 msgid ""
 "Search the body of all articles in group (can be slow). You can abort the "
 "search using B<Quit> ('B<q>')."
@@ -2367,7 +2459,7 @@ msgstr ""
 "Suche kann mit B<Quit> ('B<q>') abgebrochen werden."
 
 #. type: Plain text
-#: doc/tin.1:825
+#: doc/tin.1:855
 msgid ""
 "Mark all articles as read [after confirmation] then return to the group "
 "selection list. Move cursor to next group."
@@ -2376,7 +2468,7 @@ msgstr ""
 "Gruppenauswahlliste zurÃ¼ck."
 
 #. type: Plain text
-#: doc/tin.1:829
+#: doc/tin.1:859
 msgid ""
 "Mark all articles as read [after confirmation] and enter the next group with "
 "unread news."
@@ -2385,13 +2477,13 @@ msgstr ""
 "Gruppe mit ungelesenen Nachrichten."
 
 #. type: TP
-#: doc/tin.1:829
+#: doc/tin.1:859
 #, no-wrap
 msgid "B<GroupToggleSubjDisplay 'd'>"
 msgstr "B<GroupToggleSubjDisplay 'd'>"
 
 #. type: Plain text
-#: doc/tin.1:833 doc/tin.1:1051
+#: doc/tin.1:863 doc/tin.1:1082
 msgid ""
 "Cycle the display of the author through all the possible options for the "
 "tinrc variable B<show_author>."
@@ -2400,13 +2492,13 @@ msgstr ""
 "tinrc-Variable B<show_author>."
 
 #. type: TP
-#: doc/tin.1:833
+#: doc/tin.1:863
 #, no-wrap
 msgid "B<GroupCancel 'D'>"
 msgstr "B<GroupCancel 'D'>"
 
 #. type: Plain text
-#: doc/tin.1:838 doc/tin.1:1056 doc/tin.1:1278
+#: doc/tin.1:868 doc/tin.1:1087 doc/tin.1:1313
 msgid ""
 "Cancel (delete) or supersede (overwrite) the current article. It must have "
 "been posted by the same user. The cancel message can be seen in the "
@@ -2417,24 +2509,24 @@ msgstr ""
 "in der Newsgruppe 'control' oder 'control.cancel' zu sehen."
 
 #. type: TP
-#: doc/tin.1:841
+#: doc/tin.1:871
 #, no-wrap
 msgid "B<GroupGoto 'g'>"
 msgstr "B<GroupGoto 'g'>"
 
 #. type: TP
-#: doc/tin.1:845
+#: doc/tin.1:875
 #, no-wrap
 msgid "B<GroupToggleGetartLimit 'G'>"
 msgstr "B<GroupToggleGetartLimit 'G'>"
 
 #. type: Plain text
-#: doc/tin.1:848
+#: doc/tin.1:878
 msgid "Toggle article/group limit."
 msgstr "Artikel/Gruppe BeschrÃ¤nkungen ein-/ausschalten."
 
 #. type: Plain text
-#: doc/tin.1:852
+#: doc/tin.1:882
 msgid ""
 "Display the subject of the first article in the current thread in the last "
 "line."
@@ -2443,44 +2535,53 @@ msgstr ""
 "anzeigen."
 
 #. type: TP
-#: doc/tin.1:858
+#: doc/tin.1:888
 #, no-wrap
 msgid "B<GroupMarkThdRead 'K'>"
 msgstr "B<GroupMarkThdRead 'K'>"
 
 #. type: Plain text
-#: doc/tin.1:864
+#: doc/tin.1:894
 msgid ""
 "Mark article/thread as read and move onto the next unread article/thread. If "
 "a range of articles/threads is set, the range will be marked as read instead "
 "of the current article/thread. When tagged articles/threads are present, a "
 "prompt asks how to proceed."
 msgstr ""
+"Markieren den Artikel/Thread als gelesen und fÃ¤hrt mit dem nÃ¤chsten "
+"ungelesenen Artikel/Thread fort. Wenn ein Bereich von Artikeln/Threads "
+"festgelegt ist, wird der Bereich als gelesen markiert und nicht der aktuelle "
+"Artikel/Thread. Falls getaggte Artikel/Threads vorhanden sind, wird gefragt, "
+"wie fortgefahren werden soll."
 
 #. type: TP
-#: doc/tin.1:864
+#: doc/tin.1:894
 #, no-wrap
 msgid "B<GroupListThd 'l'>"
 msgstr "B<GroupListThd 'l'>"
 
 #. type: Plain text
-#: doc/tin.1:867
+#: doc/tin.1:897
 msgid "Open the thread under the current cursor position."
 msgstr "Ã–ffnet den Thread unter der aktuellen Cursorposition."
 
 #. type: Plain text
-#: doc/tin.1:870 doc/tin.1:1083 doc/tin.1:1315
-msgid "Look up article by ''Message-ID:''."
-msgstr "Artikel anhand der ''Message-ID:'' nachschlagen."
+#: doc/tin.1:901 doc/tin.1:1115 doc/tin.1:1351
+msgid ""
+"Look up article by ''Message-ID:''. In this level only the IDs in the "
+"current group are searched."
+msgstr ""
+"Artikel nach ''Message-ID:'' suchen. In dieser Ebene werden nur die IDs in "
+"der aktuellen Gruppe durchsucht."
 
 #. type: TP
-#: doc/tin.1:870
+#: doc/tin.1:901
 #, no-wrap
 msgid "B<GroupMail 'm'>"
 msgstr "B<GroupMail 'm'>"
 
 #. type: Plain text
-#: doc/tin.1:875 doc/tin.1:1088 doc/tin.1:1320
+#: doc/tin.1:906 doc/tin.1:1120 doc/tin.1:1356
 msgid ""
 "Mail current article / thread / auto-selected (hot) articles / articles "
 "matching pattern / tagged articles to someone. See the section \"MAILING "
@@ -2492,35 +2593,35 @@ msgstr ""
 "WEITERLEITEN, DRUCKEN, NACHSENDEN UND SPEICHERN VON ARTIKELN\"."
 
 #. type: TP
-#: doc/tin.1:879
+#: doc/tin.1:910
 #, no-wrap
 msgid "B<GroupNextGroup 'n'>"
 msgstr "B<GroupNextGroup 'n'>"
 
 #. type: Plain text
-#: doc/tin.1:882
+#: doc/tin.1:913
 msgid "Go to next group."
 msgstr "Zur nÃ¤chsten Newsgruppe springen."
 
 #. type: TP
-#: doc/tin.1:882
+#: doc/tin.1:913
 #, no-wrap
 msgid "B<GroupNextUnreadArt 'N'>"
 msgstr "B<GroupNextUnreadArt 'N'>"
 
 #. type: Plain text
-#: doc/tin.1:885 doc/tin.1:1330
+#: doc/tin.1:916 doc/tin.1:1366
 msgid "Go to the next unread article."
 msgstr "Zum nÃ¤chsten ungelesenen Artikel springen."
 
 #. type: TP
-#: doc/tin.1:885 doc/tin.1:1088 doc/tin.1:1330
+#: doc/tin.1:916 doc/tin.1:1120 doc/tin.1:1366
 #, no-wrap
 msgid "B<Print 'o'>"
 msgstr "B<Print 'o'>"
 
 #. type: Plain text
-#: doc/tin.1:890 doc/tin.1:1093 doc/tin.1:1335
+#: doc/tin.1:921 doc/tin.1:1125 doc/tin.1:1371
 msgid ""
 "Send current article / thread / auto-selected (hot) articles / articles "
 "matching pattern / tagged articles to printer. See the section \"MAILING "
@@ -2532,51 +2633,51 @@ msgstr ""
 "DRUCKEN, NACHSENDEN UND SPEICHERN VON ARTIKELN\"."
 
 #. type: TP
-#: doc/tin.1:890
+#: doc/tin.1:921
 #, no-wrap
 msgid "B<GroupPrevGroup 'p'>"
 msgstr "B<GroupPrevGroup 'p'>"
 
 #. type: Plain text
-#: doc/tin.1:893
+#: doc/tin.1:924
 msgid "Go to previous group."
 msgstr "Zur vorherigen Gruppe springen."
 
 #. type: TP
-#: doc/tin.1:893
+#: doc/tin.1:924
 #, no-wrap
 msgid "B<GroupPrevUnreadArt 'P'>"
 msgstr "B<GroupPrevUnreadArt 'P'>"
 
 #. type: Plain text
-#: doc/tin.1:896
+#: doc/tin.1:927
 msgid "Go to previous unread article."
 msgstr "Zum vorherigen ungelesenen Artikel gehen."
 
 #. type: Plain text
-#: doc/tin.1:899 doc/tin.1:1096
+#: doc/tin.1:930 doc/tin.1:1128
 msgid "Return to previous level."
 msgstr "Kehre zur vorherigen Ebene zurÃ¼ck."
 
 #. type: TP
-#: doc/tin.1:902
+#: doc/tin.1:933
 #, no-wrap
 msgid "B<GroupToggleReadUnread 'r'>"
 msgstr "B<GroupToggleReadUnread 'r'>"
 
 #. type: Plain text
-#: doc/tin.1:905
+#: doc/tin.1:936
 msgid "Toggle the display between all articles and unread articles."
 msgstr "Wechselt zwischen der Anzeige aller und nur ungelesener Artikel."
 
 #. type: TP
-#: doc/tin.1:909
+#: doc/tin.1:940
 #, no-wrap
 msgid "B<GroupSave 's'>"
 msgstr "B<GroupSave 's'>"
 
 #. type: Plain text
-#: doc/tin.1:914 doc/tin.1:1108 doc/tin.1:1360
+#: doc/tin.1:945 doc/tin.1:1140 doc/tin.1:1396
 msgid ""
 "Save current article / thread / auto-selected (hot) articles / articles "
 "matching pattern / tagged articles. See the section \"MAILING PIPING "
@@ -2588,38 +2689,41 @@ msgstr ""
 "NACHSENDEN UND SPEICHERN VON ARTIKELN\"."
 
 #. type: TP
-#: doc/tin.1:914
+#: doc/tin.1:945
 #, no-wrap
 msgid "B<GroupAutoSave 'S'>"
 msgstr "B<GroupAutoSave 'S'>"
 
 #. type: Plain text
-#: doc/tin.1:917 doc/tin.1:1111 doc/tin.1:1363
+#: doc/tin.1:948 doc/tin.1:1143 doc/tin.1:1399
 msgid "Save marked articles automatically without further prompting."
 msgstr "Markierte Artikel automatisch ohne weiteres Nachfragen speichern."
 
 #. type: TP
-#: doc/tin.1:917
+#: doc/tin.1:948
 #, no-wrap
 msgid "B<GroupTag 't'>"
 msgstr "B<GroupTag 't'>"
 
 #. type: Plain text
-#: doc/tin.1:922
+#: doc/tin.1:953
 msgid ""
 "Toggle tag-status of current article / thread for B<GroupMail> ('B<m>')  / "
 "B<Pipe> ('B<|>') / B<Print> ('B<o>') / B<GroupSave> ('B<s>') / "
 "B<GroupRepost> ('B<x>')."
 msgstr ""
+"Tag-Status des aktuellen Artikels/Threads fÃ¼r B<GroupMail> ('B<m>') / "
+"B<Pipe> ('B<|>') / B<Print> ('B<o>') / B<GroupSave> ('B<s>') / "
+"B<GroupRepost> ('B<x>') umschalten."
 
 #. type: TP
-#: doc/tin.1:922
+#: doc/tin.1:953
 #, no-wrap
 msgid "B<GroupTagParts 'T'>"
 msgstr "B<GroupTagParts 'T'>"
 
 #. type: Plain text
-#: doc/tin.1:926 doc/tin.1:1119
+#: doc/tin.1:957 doc/tin.1:1151
 msgid ""
 "Automatically tag/untag all the parts of the current multi-part message in "
 "order."
@@ -2628,13 +2732,13 @@ msgstr ""
 "Reihenfolge markieren bzw. die vorhandenen Markierungen entfernen."
 
 #. type: TP
-#: doc/tin.1:926
+#: doc/tin.1:957
 #, no-wrap
 msgid "B<GroupToggleThreading 'u'>"
 msgstr "B<GroupToggleThreading 'u'>"
 
 #. type: Plain text
-#: doc/tin.1:931
+#: doc/tin.1:962
 msgid ""
 "Cycle the threading mode through no threading, threading by subject, "
 "threading by references, threading on both subject and references, group "
@@ -2642,18 +2746,18 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:931
+#: doc/tin.1:962
 #, no-wrap
 msgid "B<GroupUntag 'U'>"
 msgstr "B<GroupUntag 'U'>"
 
 #. type: Plain text
-#: doc/tin.1:934
+#: doc/tin.1:965
 msgid "Untag all articles that were tagged."
 msgstr "Markierung aller markierten Artikel entfernen."
 
 #. type: Plain text
-#: doc/tin.1:941 doc/tin.1:1129 doc/tin.1:1388
+#: doc/tin.1:972 doc/tin.1:1161 doc/tin.1:1424
 msgid ""
 "Post an article to the current group. If posting fails for some reason, "
 "you'll get the chance to edit the article again via B<PostEdit> ('B<e>'), "
@@ -2668,28 +2772,33 @@ msgstr ""
 "verwerfen."
 
 #. type: TP
-#: doc/tin.1:941
+#: doc/tin.1:972
 #, no-wrap
 msgid "B<GroupRepost 'x'>"
 msgstr "B<GroupRepost 'x'>"
 
 #. type: Plain text
-#: doc/tin.1:947 doc/tin.1:1394
+#: doc/tin.1:978 doc/tin.1:1430
 msgid ""
 "Repost an already posted article / thread / auto-selected (hot) articles / "
 "articles matching pattern / tagged articles to another newsgroup(s). Useful "
 "for reposting from global to local newsgroups. Do not use this to crosspost "
 "your own articles."
 msgstr ""
+"Erneutes Posten eines bereits geposteten Artikels / Threads / automatisch "
+"ausgewÃ¤hlter (heiÃŸer) Artikel / Artikel, die einem Muster entsprechen / mit "
+"Tags versehenen Artikel in eine andere Newsgroup. NÃ¼tzlich zum "
+"WiederverÃ¶ffentlichen von globalen zu lokalen Newsgroups. Nicht verwenden um "
+"eigenen Artikel mehrfach zu posten."
 
 #. type: TP
-#: doc/tin.1:947
+#: doc/tin.1:978
 #, no-wrap
 msgid "B<GroupMarkUnselArtRead 'X'>"
 msgstr "B<GroupMarkUnselArtRead 'X'>"
 
 #. type: Plain text
-#: doc/tin.1:955
+#: doc/tin.1:986
 msgid ""
 "Mark all unread articles that have not been selected as read, redraw screen "
 "to reflect changes and put index at the first thread to begin reading.  "
@@ -2700,105 +2809,109 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:955 doc/tin.1:1129 doc/tin.1:1394
+#: doc/tin.1:986 doc/tin.1:1161 doc/tin.1:1430
 #, no-wrap
 msgid "B<MarkArtUnread 'z'>"
 msgstr "B<MarkArtUnread 'z'>"
 
 #. type: Plain text
-#: doc/tin.1:958
+#: doc/tin.1:989
 msgid "Mark current article as unread."
 msgstr "Aktuellen Artikel als ungelesen markieren."
 
 #. type: TP
-#: doc/tin.1:958 doc/tin.1:1134 doc/tin.1:1397
+#: doc/tin.1:989 doc/tin.1:1166 doc/tin.1:1433
 #, no-wrap
 msgid "B<MarkThdUnread 'Z'>"
 msgstr "B<MarkThdUnread 'Z'>"
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:965
+#: doc/tin.1:996
 msgid ""
 "Mark current thread as unread. If a range of threads is set, the range will "
 "be marked as unread instead of the current thread. When tagged threads are "
 "present, a prompt asks how to proceed."
 msgstr ""
+"Aktuellen Thread als ungelesen markieren. Wenn ein Thread-Bereich festgelegt "
+"ist, wird der Bereich anstelle des aktuellen Threads als ungelesen markiert. "
+"Falls getaggte Threads vorhanden sind, wird gefragt, wie fortgefahren werden "
+"soll."
 
 #. type: SS
-#: doc/tin.1:965
+#: doc/tin.1:996
 #, no-wrap
 msgid "THREAD LISTING COMMANDS"
 msgstr "BEFEHLE ZUM AUFLISTEN VON THREADS"
 
 #. type: Plain text
-#: doc/tin.1:970
+#: doc/tin.1:1001
 msgid "Select article 4 within thread."
 msgstr "Artikel 4 aus dem Thread auswÃ¤hlen."
 
 #. type: TP
-#: doc/tin.1:1004
+#: doc/tin.1:1035
 #, no-wrap
 msgid "B<ThreadSelArt '*'>"
 msgstr "B<ThreadSelArt '*'>"
 
 #. type: TP
-#: doc/tin.1:1007
+#: doc/tin.1:1038
 #, no-wrap
 msgid "B<ThreadToggleArtSel '.'>"
 msgstr "B<ThreadToggleArtSel '.'>"
 
 #. type: Plain text
-#: doc/tin.1:1010
+#: doc/tin.1:1041
 msgid "Toggle selection of current article."
 msgstr "Auswahl des aktuellen Artikels umkehren."
 
 #. type: TP
-#: doc/tin.1:1010
+#: doc/tin.1:1041
 #, no-wrap
 msgid "B<ThreadReverseSel '@'>"
 msgstr "B<ThreadReverseSel '@'>"
 
 #. type: Plain text
-#: doc/tin.1:1013
+#: doc/tin.1:1044
 msgid "Reverse article selections."
 msgstr "Artikelauswahl invertieren."
 
 #. type: TP
-#: doc/tin.1:1013
+#: doc/tin.1:1044
 #, no-wrap
 msgid "B<ThreadUndoSel '~'>"
 msgstr "B<ThreadUndoSel '~'>"
 
 #. type: Plain text
-#: doc/tin.1:1016
+#: doc/tin.1:1047
 msgid "Undo all selections on current thread."
 msgstr "Alle Markierungen im aktuellen Thread rÃ¼ckgÃ¤ngig machen."
 
 #. type: TP
-#: doc/tin.1:1021
+#: doc/tin.1:1052
 #, no-wrap
 msgid "B<ThreadReadArt '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<ThreadReadArt '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1024
+#: doc/tin.1:1055
 msgid "Read current article within thread."
 msgstr "Aktuellen Artikel im Thread lesen."
 
 #. type: TP
-#: doc/tin.1:1024
+#: doc/tin.1:1055
 #, no-wrap
 msgid "B<ThreadReadNextArtOrThread 'E<lt>TABE<gt>'>"
 msgstr "B<ThreadReadNextArtOrThread 'E<lt>TABE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1027
+#: doc/tin.1:1058
 msgid "View next unread article within thread."
 msgstr "NÃ¤chsten ungelesenen Artikel im Thread anzeigen."
 
 #. type: Plain text
-#: doc/tin.1:1032
+#: doc/tin.1:1063
 msgid ""
 "Author forward search. This searches for articles with a specific ''From:'' "
 "line. The search will wrap over into the next thread if nothing is found in "
@@ -2806,7 +2919,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1043
+#: doc/tin.1:1074
 msgid ""
 "Mark thread as read [after confirmation] and return to the group index "
 "page.  Move cursor to next thread."
@@ -2815,7 +2928,7 @@ msgstr ""
 "zurÃ¼ckkehren."
 
 #. type: Plain text
-#: doc/tin.1:1047
+#: doc/tin.1:1078
 msgid ""
 "Mark thread as read [after confirmation] and enter the next thread "
 "containing unread news."
@@ -2824,25 +2937,25 @@ msgstr ""
 "ungelesenen Nachrichten wechseln."
 
 #. type: TP
-#: doc/tin.1:1047
+#: doc/tin.1:1078
 #, no-wrap
 msgid "B<ThreadToggleSubjDisplay 'd'>"
 msgstr "B<ThreadToggleSubjDisplay 'd'>"
 
 #. type: TP
-#: doc/tin.1:1051
+#: doc/tin.1:1082
 #, no-wrap
 msgid "B<ThreadCancel 'D'>"
 msgstr "B<ThreadCancel 'D'>"
 
 #. type: TP
-#: doc/tin.1:1059
+#: doc/tin.1:1090
 #, no-wrap
 msgid "B<ThreadFollowupQuote 'f'>"
 msgstr "B<ThreadFollowupQuote 'f'>"
 
 #. type: Plain text
-#: doc/tin.1:1062 doc/tin.1:1287
+#: doc/tin.1:1093 doc/tin.1:1322
 msgid ""
 "Post a followup to the current article with a copy of the article included."
 msgstr ""
@@ -2850,13 +2963,13 @@ msgstr ""
 "Artikels."
 
 #. type: TP
-#: doc/tin.1:1062
+#: doc/tin.1:1093
 #, no-wrap
 msgid "B<ThreadFollowup 'F'>"
 msgstr "B<ThreadFollowup 'F'>"
 
 #. type: Plain text
-#: doc/tin.1:1065
+#: doc/tin.1:1096
 msgid ""
 "Post a followup to the current article without a copy of the article "
 "included."
@@ -2865,18 +2978,18 @@ msgstr ""
 "Artikels."
 
 #. type: Plain text
-#: doc/tin.1:1068 doc/tin.1:1300
+#: doc/tin.1:1099 doc/tin.1:1335
 msgid "Display the subject of the current article in the last line."
 msgstr "Subject des geÃ¶ffneten Artikels in der untersten Zeile anzeigen."
 
 #. type: TP
-#: doc/tin.1:1074
+#: doc/tin.1:1105
 #, no-wrap
 msgid "B<ThreadMarkArtRead 'K'>"
 msgstr "B<ThreadMarkArtRead 'K'>"
 
 #. type: Plain text
-#: doc/tin.1:1080
+#: doc/tin.1:1111
 msgid ""
 "Mark article as read and move onto the next unread article. If a range of "
 "articles is set, the range will be marked as read instead of the current "
@@ -2884,31 +2997,31 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1083
+#: doc/tin.1:1115
 #, no-wrap
 msgid "B<ThreadMail 'm'>"
 msgstr "B<ThreadMail 'm'>"
 
 #. type: TP
-#: doc/tin.1:1103
+#: doc/tin.1:1135
 #, no-wrap
 msgid "B<ThreadSave 's'>"
 msgstr "B<ThreadSave 's'>"
 
 #. type: TP
-#: doc/tin.1:1108
+#: doc/tin.1:1140
 #, no-wrap
 msgid "B<ThreadAutoSave 'S'>"
 msgstr "B<ThreadAutoSave 'S'>"
 
 #. type: TP
-#: doc/tin.1:1111
+#: doc/tin.1:1143
 #, no-wrap
 msgid "B<ThreadTag 't'>"
 msgstr "B<ThreadTag 't'>"
 
 #. type: Plain text
-#: doc/tin.1:1115 doc/tin.1:1367
+#: doc/tin.1:1147 doc/tin.1:1403
 msgid ""
 "Toggle tag status of current article for mailing, piping, printing, saving "
 "or reposting."
@@ -2917,24 +3030,24 @@ msgstr ""
 "Speichern oder erneuten VerÃ¶ffentlichen umschalten."
 
 #. type: TP
-#: doc/tin.1:1115
+#: doc/tin.1:1147
 #, no-wrap
 msgid "B<ThreadTagParts 'T'>"
 msgstr "B<ThreadTagParts 'T'>"
 
 #. type: TP
-#: doc/tin.1:1119
+#: doc/tin.1:1151
 #, no-wrap
 msgid "B<ThreadUntag 'U'>"
 msgstr "B<ThreadUntag 'U'>"
 
 #. type: Plain text
-#: doc/tin.1:1122
+#: doc/tin.1:1154
 msgid "Untag all tagged threads."
 msgstr "Markierung aller markierten Threads entfernen."
 
 #. type: Plain text
-#: doc/tin.1:1134
+#: doc/tin.1:1166
 msgid ""
 "Mark current article in thread as unread. If a range of articles is set, the "
 "range will be marked as unread instead of the current article. When tagged "
@@ -2943,34 +3056,34 @@ msgstr ""
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:1139
+#: doc/tin.1:1171
 msgid "Mark all articles in thread as unread."
 msgstr "Alle Artikel im aktuellen Thread als ungelesen markieren."
 
 #. type: SS
-#: doc/tin.1:1139
+#: doc/tin.1:1171
 #, no-wrap
 msgid "ARTICLE VIEWER COMMANDS"
 msgstr "BEFEHLE ZUM ANZEIGEN VON ARTIKELN"
 
 #. type: Plain text
-#: doc/tin.1:1144
+#: doc/tin.1:1176
 msgid "Read the first (base) article in this thread."
 msgstr "Den ersten (Basis) Artikel in diesem Thread lesen."
 
 #. type: Plain text
-#: doc/tin.1:1147
+#: doc/tin.1:1179
 msgid "Read response 4 in this thread."
 msgstr "Antwort 4 im diesem Thread lesen."
 
 #. type: TP
-#: doc/tin.1:1151
+#: doc/tin.1:1183
 #, no-wrap
 msgid "B<PageReplyQuoteHeaders '^E'>"
 msgstr "B<PageReplyQuoteHeaders '^E'>"
 
 #. type: Plain text
-#: doc/tin.1:1155
+#: doc/tin.1:1187
 msgid ""
 "Reply through mail to the author of the current article with a copy of the "
 "article with all headers included."
@@ -2979,50 +3092,52 @@ msgstr ""
 "einschlieÃŸlich aller Header anworten."
 
 #. type: TP
-#: doc/tin.1:1155
+#: doc/tin.1:1187
 #, no-wrap
 msgid "B<PagePGPCheckArticle '^G'>"
 msgstr "B<PagePGPCheckArticle '^G'>"
 
 #. type: Plain text
-#: doc/tin.1:1163
+#: doc/tin.1:1195
 msgid ""
 "Perform B<\\%pgp>(1)  / B<\\%gpg>(1)  operations on article. This expects "
 "inline pgp (B<RFC\\%4880>) and not MIME pgp (B<RFC\\%3156>)."
 msgstr ""
+"B<\\%pgp>(1) / B<\\%gpg>(1)-Operationen fÃ¼r den Artikel ausfÃ¼hren. Es muÃŸ "
+"Inline-PGP (B<RFC\\%4880>) und nicht MIME-PGP (B<RFC\\%3156>) vorliegen."
 
 #. type: TP
-#: doc/tin.1:1163
+#: doc/tin.1:1195
 #, no-wrap
 msgid "B<PageToggleRaw '^H'>"
 msgstr "B<PageToggleRaw '^H'>"
 
 #. type: Plain text
-#: doc/tin.1:1166
+#: doc/tin.1:1198
 msgid "Toggles the display mode (raw including all headers vs. cooked)."
 msgstr ""
 "Schaltet den Anzeigemodus um (Roh einschlieÃŸlich aller Header zu "
 "Aufbereitet)."
 
 #. type: TP
-#: doc/tin.1:1170
+#: doc/tin.1:1202
 #, no-wrap
 msgid "B<PageToggleTabs '^T'>"
 msgstr "B<PageToggleTabs '^T'>"
 
 #. type: Plain text
-#: doc/tin.1:1173
+#: doc/tin.1:1205
 msgid "Toggle the TAB width between 4 and 8 characters."
 msgstr "Tabulatorbreite zwischen 4 und 8 Zeichen Umschalten."
 
 #. type: TP
-#: doc/tin.1:1173
+#: doc/tin.1:1205
 #, no-wrap
 msgid "B<PageFollowupQuoteHeaders '^W'>"
 msgstr "B<PageFollowupQuoteHeaders '^W'>"
 
 #. type: Plain text
-#: doc/tin.1:1177
+#: doc/tin.1:1209
 msgid ""
 "Post a followup to the current article with a copy of the article with all "
 "headers included."
@@ -3031,13 +3146,13 @@ msgstr ""
 "aller Header verÃ¶ffentlichen."
 
 #. type: TP
-#: doc/tin.1:1177
+#: doc/tin.1:1209
 #, no-wrap
 msgid "B<PageToggleTex2iso '\"'>"
 msgstr "B<PageToggleTex2iso '\"'>"
 
 #. type: Plain text
-#: doc/tin.1:1181
+#: doc/tin.1:1213
 msgid ""
 "Toggle TeX to ISO decoding for current article. The default behavior is "
 "taken from the B<tex2iso_conv> variable in the tinrc file."
@@ -3047,13 +3162,13 @@ msgstr ""
 "entnommen."
 
 #. type: TP
-#: doc/tin.1:1181
+#: doc/tin.1:1213
 #, no-wrap
 msgid "B<PageToggleAllHeaders '*'>"
 msgstr "B<PageToggleAllHeaders '*'>"
 
 #. type: Plain text
-#: doc/tin.1:1184
+#: doc/tin.1:1216
 msgid ""
 "Toggles the display of all headers vs. headers in B<news_headers_to_display>."
 msgstr ""
@@ -3061,37 +3176,51 @@ msgstr ""
 "um."
 
 #. type: TP
-#: doc/tin.1:1184
+#: doc/tin.1:1216
+#, no-wrap
+msgid "B<PageArticleInfo '''>"
+msgstr "B<PageArticleInfo '''>"
+
+#. type: Plain text
+#: doc/tin.1:1219
+msgid "Detailed MIME information of the article."
+msgstr "Detaillierte MIME-Informationen des Artikels."
+
+#. type: TP
+#: doc/tin.1:1219
 #, no-wrap
 msgid "B<PageToggleRot '%'>"
 msgstr "B<PageToggleRot '%'>"
 
 #. type: Plain text
-#: doc/tin.1:1187
+#: doc/tin.1:1222
 msgid "Toggle ROT-13 decoding for this article."
 msgstr "ROT-13 EntschlÃ¼sseln ein-/ausschalten."
 
 #. type: TP
-#: doc/tin.1:1187
+#: doc/tin.1:1222
 #, no-wrap
 msgid "B<PageToggleUue '('>"
 msgstr "B<PageToggleUue '('>"
 
 #. type: Plain text
-#: doc/tin.1:1191
+#: doc/tin.1:1226
 msgid ""
 "Toggle the display of uuencoded sections. The default behavior is taken from "
 "the B<hide_uue> variable in the tinrc file."
 msgstr ""
+"Schalten Sie die Anzeige von uuencodierten Abschnitten um. Das "
+"Standardverhalten wird durch die Variable B<hide_uue> in der tinrc-Datei "
+"festgelegt."
 
 #. type: TP
-#: doc/tin.1:1191
+#: doc/tin.1:1226
 #, no-wrap
 msgid "B<PageReveal ')'>"
 msgstr "B<PageReveal ')'>"
 
 #. type: Plain text
-#: doc/tin.1:1198
+#: doc/tin.1:1233
 msgid ""
 "The form feed character (^L) is often used to hide 'spoilers' that the "
 "reader may not initially wish to see when viewing an article. Any text after "
@@ -3101,64 +3230,67 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1207
+#: doc/tin.1:1242
 msgid "Forward search the text of this article."
 msgstr "VorwÃ¤rts innerhalb dieses Artikels suchen."
 
 #. type: Plain text
-#: doc/tin.1:1210
+#: doc/tin.1:1245
 msgid "Backward search the text of this article."
 msgstr "RÃ¼ckwÃ¤rts innerhalb dieses Artikels suchen."
 
 #. type: TP
-#: doc/tin.1:1210
+#: doc/tin.1:1245
 #, no-wrap
 msgid "B<PageSkipIncludedText ':'>"
 msgstr "B<PageSkipIncludedText ':'>"
 
 #. type: Plain text
-#: doc/tin.1:1215
+#: doc/tin.1:1250
 msgid ""
 "Skip to the end of the next quoted text-block in this article. Quoted text "
 "is everything which matches B<quote_regex>, B<quote_regex2> or "
 "B<quote_regex3>."
 msgstr ""
+"Zum Ende des nÃ¤chsten zitierten Textblocks in diesem Artikel springen. "
+"Zitierter Text ist alles, was mit B<quote_regex>, B<quote_regex2> oder "
+"B<quote_regex3> Ã¼bereinstimmt."
 
 #. type: TP
-#: doc/tin.1:1215
+#: doc/tin.1:1250
 #, no-wrap
 msgid "B<PageTopThd 'E<lt>'>"
 msgstr "B<PageTopThd 'E<lt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1218
+#: doc/tin.1:1253
 msgid "Go to the first article in the current thread."
 msgstr "Gehe zum ersten Artikel im aktuellen Thread."
 
 #. type: TP
-#: doc/tin.1:1218
+#: doc/tin.1:1253
 #, no-wrap
 msgid "B<PageBotThd 'E<gt>'>"
 msgstr "B<PageBotThd 'E<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1221
+#: doc/tin.1:1256
 msgid "Go to the last article in the current thread."
 msgstr "Gehe zum letzten Artikel im aktuellen Thread."
 
 #. type: TP
-#: doc/tin.1:1221
+#: doc/tin.1:1256
 #, no-wrap
 msgid "B<PageToggleHighlight '_'>"
 msgstr "B<PageToggleHighlight '_'>"
 
 #. type: Plain text
-#: doc/tin.1:1224
+#: doc/tin.1:1259
 msgid "Toggle word highlighting on/off."
 msgstr "Wort-Hervorheben ein-/ausschalten."
 
 #. type: Plain text
-#: doc/tin.1:1238
+#: doc/tin.1:1273
 msgid ""
 "Auto select article(s) with a single key. The defaults used for selection "
 "are set based upon the following four tinrc config variables: "
@@ -3170,7 +3302,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1247
+#: doc/tin.1:1282
 msgid ""
 "Kill article(s) with a single key. The defaults used for killing are based "
 "upon the following four tinrc config variables: B<default_filter_kill_case>, "
@@ -3181,24 +3313,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1247
+#: doc/tin.1:1282
 #, no-wrap
 msgid "B<PageNextThd '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<PageNextThd '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1250
+#: doc/tin.1:1285
 msgid "Go to next base article."
 msgstr "Zum nÃ¤chsten Basisartikel springen."
 
 #. type: TP
-#: doc/tin.1:1250
+#: doc/tin.1:1285
 #, no-wrap
 msgid "B<PageNextUnread 'E<lt>TABE<gt>'>"
 msgstr "B<PageNextUnread 'E<lt>TABE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1255
+#: doc/tin.1:1290
 msgid ""
 "Go to next unread article. If the tinrc variable B<goto_next_unread> doesn't "
 "contain PageNextUnread, then this key will first page through the current "
@@ -3206,43 +3338,43 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1258
+#: doc/tin.1:1293
 msgid "Author forward search."
 msgstr "Suche nach Autor (vorwÃ¤rts)."
 
 #. type: Plain text
-#: doc/tin.1:1261
+#: doc/tin.1:1296
 msgid "Author backward search."
 msgstr "Suche nach Autor (rÃ¼ckwÃ¤rts)."
 
 #. type: Plain text
-#: doc/tin.1:1269
+#: doc/tin.1:1304
 msgid ""
 "Mark the current thread as read [after confirmation] and return to the "
 "previous menu. Move cursor to next item."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1273
+#: doc/tin.1:1308
 msgid ""
 "Mark the rest of the current thread as read [after confirmation] and enter "
 "the next thread with unread articles."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1273
+#: doc/tin.1:1308
 #, no-wrap
 msgid "B<PageCancel 'D'>"
 msgstr "B<PageCancel 'D'>"
 
 #. type: TP
-#: doc/tin.1:1278
+#: doc/tin.1:1313
 #, no-wrap
 msgid "B<PageEditArticle 'e'>"
 msgstr "B<PageEditArticle 'e'>"
 
 #. type: Plain text
-#: doc/tin.1:1281
+#: doc/tin.1:1316
 msgid ""
 "Edit the current article. This is restricted to mailgroups and saved news."
 msgstr ""
@@ -3250,19 +3382,19 @@ msgstr ""
 "Nachrichten beschrÃ¤nkt."
 
 #. type: TP
-#: doc/tin.1:1284
+#: doc/tin.1:1319
 #, no-wrap
 msgid "B<PageFollowupQuote 'f'>"
 msgstr "B<PageFollowupQuote 'f'>"
 
 #. type: TP
-#: doc/tin.1:1287
+#: doc/tin.1:1322
 #, no-wrap
 msgid "B<PageFollowup 'F'>"
 msgstr "B<PageFollowup 'F'>"
 
 #. type: Plain text
-#: doc/tin.1:1291
+#: doc/tin.1:1326
 msgid ""
 "Post a followup to the current article without including a copy of the "
 "article."
@@ -3271,220 +3403,226 @@ msgstr ""
 "Artikels."
 
 #. type: TP
-#: doc/tin.1:1291
+#: doc/tin.1:1326
 #, no-wrap
 msgid "B<PageFirstPage 'g'>"
 msgstr "B<PageFirstPage 'g'>"
 
 #. type: Plain text
-#: doc/tin.1:1294
+#: doc/tin.1:1329
 msgid "Go to the start of the article."
 msgstr "Zum Anfang des Artikels springen."
 
 #. type: TP
-#: doc/tin.1:1294
+#: doc/tin.1:1329
 #, no-wrap
 msgid "B<PageLastPage 'G'>"
 msgstr "B<PageLastPage 'G'>"
 
 #. type: Plain text
-#: doc/tin.1:1297
+#: doc/tin.1:1332
 msgid "Go to the end of the article."
 msgstr "Zum Ende des Artikels springen."
 
 #. type: TP
-#: doc/tin.1:1306
+#: doc/tin.1:1341
 #, no-wrap
 msgid "B<PageKillThd 'K'>"
 msgstr "B<PageKillThd 'K'>"
 
 #. type: Plain text
-#: doc/tin.1:1309
+#: doc/tin.1:1344
 msgid "Mark rest of thread as read and move onto the next unread thread."
 msgstr ""
 "Markiere den Rest des Threads als gelesen und springe zu nÃ¤chstem "
 "ungelesenen Thread."
 
 #. type: TP
-#: doc/tin.1:1309
+#: doc/tin.1:1344
 #, no-wrap
 msgid "B<PageListThd 'l'>"
 msgstr "B<PageListThd 'l'>"
 
 #. type: Plain text
-#: doc/tin.1:1312
+#: doc/tin.1:1347
 msgid "Show the thread menu that the current article is a part of."
 msgstr "Zeigt das Thread-MenÃ¼ an, zu dem der aktuelle Artikel gehÃ¶rt."
 
 #. type: TP
-#: doc/tin.1:1315
+#: doc/tin.1:1351
 #, no-wrap
 msgid "B<PageMail 'm'>"
 msgstr "B<PageMail 'm'>"
 
 #. type: TP
-#: doc/tin.1:1324
+#: doc/tin.1:1360
 #, no-wrap
 msgid "B<PageNextArt 'n'>"
 msgstr "B<PageNextArt 'n'>"
 
 #. type: Plain text
-#: doc/tin.1:1327
+#: doc/tin.1:1363
 msgid "Go to the next article."
 msgstr "Gehe zum nÃ¤chsten Artikel."
 
 #. type: TP
-#: doc/tin.1:1327
+#: doc/tin.1:1363
 #, no-wrap
 msgid "B<PageNextUnreadArt 'N'>"
 msgstr "B<PageNextUnreadArt 'N'>"
 
 #. type: TP
-#: doc/tin.1:1335
+#: doc/tin.1:1371
 #, no-wrap
 msgid "B<PagePrevArt 'p'>"
 msgstr "B<PagePrevArt 'p'>"
 
 #. type: Plain text
-#: doc/tin.1:1338
+#: doc/tin.1:1374
 msgid "Go to the previous article."
 msgstr "Gehe zum vorherigen Artikel."
 
 #. type: TP
-#: doc/tin.1:1338
+#: doc/tin.1:1374
 #, no-wrap
 msgid "B<PagePrevUnreadArt 'P'>"
 msgstr "B<PagePrevUnreadArt 'P'>"
 
 #. type: Plain text
-#: doc/tin.1:1341
+#: doc/tin.1:1377
 msgid "Go to the previous unread article."
 msgstr "Gehe zum vorherigen ungelesenen Artikel."
 
 #. type: Plain text
-#: doc/tin.1:1344
+#: doc/tin.1:1380
 msgid "Return to the previous level."
 msgstr "Kehrt zur vorherigen Ebene zurÃ¼ck."
 
 #. type: TP
-#: doc/tin.1:1347
+#: doc/tin.1:1383
 #, no-wrap
 msgid "B<PageReplyQuote 'r'>"
 msgstr "B<PageReplyQuote 'r'>"
 
 #. type: Plain text
-#: doc/tin.1:1351
+#: doc/tin.1:1387
 msgid ""
 "Reply through mail to the author of the current article with a copy of the "
 "article included."
 msgstr ""
+"Per E-Mail an den Autor des aktuellen Artikels antworten und eine Kopie des "
+"Artikels beifÃ¼gen."
 
 #. type: TP
-#: doc/tin.1:1351
+#: doc/tin.1:1387
 #, no-wrap
 msgid "B<PageReply 'R'>"
 msgstr "B<PageReply 'R'>"
 
 #. type: Plain text
-#: doc/tin.1:1355
+#: doc/tin.1:1391
 msgid ""
 "Reply through mail to the author of the current article without including "
 "the original article."
 msgstr ""
+"Per E-Mail an den Autor des aktuellen Artikels antworten ohne eine Kopie des "
+"Artikels beizufÃ¼gen."
 
 #. type: TP
-#: doc/tin.1:1355
+#: doc/tin.1:1391
 #, no-wrap
 msgid "B<PageSave 's'>"
 msgstr "B<PageSave 's'>"
 
 #. type: TP
-#: doc/tin.1:1360
+#: doc/tin.1:1396
 #, no-wrap
 msgid "B<PageAutoSave 'S'>"
 msgstr "B<PageAutoSave 'S'>"
 
 #. type: TP
-#: doc/tin.1:1363
+#: doc/tin.1:1399
 #, no-wrap
 msgid "B<PageTag 't'>"
 msgstr "B<PageTag 't'>"
 
 #. type: TP
-#: doc/tin.1:1367
+#: doc/tin.1:1403
 #, no-wrap
 msgid "B<PageGroupSel 'T'>"
 msgstr "B<PageGroupSel 'T'>"
 
 #. type: Plain text
-#: doc/tin.1:1370
+#: doc/tin.1:1406
 msgid "Return to group selection level."
 msgstr "Kehrt zur Auswahlebene zurÃ¼ck."
 
 #. type: TP
-#: doc/tin.1:1370
+#: doc/tin.1:1406
 #, no-wrap
 msgid "B<PageGotoParent 'u'>"
 msgstr "B<PageGotoParent 'u'>"
 
 #. type: Plain text
-#: doc/tin.1:1373
+#: doc/tin.1:1409
 msgid "Go to parent article."
 msgstr "Gehe zum Ã¼bergeordneten Artikel."
 
 #. type: TP
-#: doc/tin.1:1373
+#: doc/tin.1:1409
 #, no-wrap
 msgid "B<PageViewUrl 'U'>"
 msgstr "B<PageViewUrl 'U'>"
 
 #. type: Plain text
-#: doc/tin.1:1377
+#: doc/tin.1:1413
 msgid ""
-"Display a list of URLs in the current article. See the section \"URL LISTING"
-"\" for more information."
+"Display a list of URLs in the current article. See the section \"URL "
+"LISTING\" for more information."
 msgstr ""
 "Eine Liste der URLs im aktuellen Artikel anzeigen. Weitere Informationen "
 "finden Sie im Abschnitt \"URL LISTE\"."
 
 #. type: TP
-#: doc/tin.1:1377
+#: doc/tin.1:1413
 #, no-wrap
 msgid "B<PageViewAttach 'V'>"
 msgstr "B<PageViewAttach 'V'>"
 
 #. type: Plain text
-#: doc/tin.1:1381
+#: doc/tin.1:1417
 msgid ""
 "Display a list of attachments of the current article. See the section "
 "\"ATTACHMENT LISTING\" for more information."
 msgstr ""
+"Zeigt eine Liste der AnhÃ¤nge des aktuellen Artikels an. Weitere "
+"Informationen finden Sie im Abschnitt \"ANHANGSVERZEICHNIS\"."
 
 #. type: TP
-#: doc/tin.1:1388
+#: doc/tin.1:1424
 #, no-wrap
 msgid "B<PageRepost 'x'>"
 msgstr "B<PageRepost 'x'>"
 
 #. type: Plain text
-#: doc/tin.1:1397
+#: doc/tin.1:1433
 msgid "Mark article as unread."
 msgstr "Alle Artikel als ungelesen markieren."
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:1402
+#: doc/tin.1:1438
 msgid "Mark the current thread as unread."
 msgstr "Markiere den aktuellen Thread als ungelesen."
 
 #. type: SS
-#: doc/tin.1:1402
+#: doc/tin.1:1438
 #, no-wrap
 msgid "URL LISTING"
 msgstr "URL LISTE"
 
 #. type: Plain text
-#: doc/tin.1:1405
+#: doc/tin.1:1441
 msgid ""
 "B<PageViewUrl> ('B<U>') displays a list of URLs in the current article. "
 "Besides the common moving keys, the following commands are available:"
@@ -3493,13 +3631,13 @@ msgstr ""
 "Neben den Ã¼blichen Bewegungstasten stehen folgende Befehle zur VerfÃ¼gung:"
 
 #. type: TP
-#: doc/tin.1:1406
+#: doc/tin.1:1442
 #, no-wrap
 msgid "B<UrlSelect '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<UrlSelect '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1410
+#: doc/tin.1:1446
 msgid ""
 "The current URL will be prompted and opened using the B<url_handler>. "
 "'B<E<lt>ESCE<gt>>' or no input will skip the URL."
@@ -3508,145 +3646,145 @@ msgstr ""
 "'B<E<lt>ESCE<gt>>' oder keine Eingabe Ã¼berspringt die URL."
 
 #. type: Plain text
-#: doc/tin.1:1413 doc/tin.1:1513
+#: doc/tin.1:1449 doc/tin.1:1549
 msgid "URL forward search."
 msgstr "Suche nach URL (vorwÃ¤rts)."
 
 #. type: Plain text
-#: doc/tin.1:1416 doc/tin.1:1516
+#: doc/tin.1:1452 doc/tin.1:1552
 msgid "URL backward search."
 msgstr "Suche nach URL (rÃ¼ckwÃ¤rts)."
 
 #. type: Plain text
-#: doc/tin.1:1422 doc/tin.1:1476 doc/tin.1:1522
+#: doc/tin.1:1458 doc/tin.1:1512 doc/tin.1:1558
 msgid "Shell escape."
 msgstr "Ausgang zur Shell."
 
 #. type: Plain text
-#: doc/tin.1:1425
+#: doc/tin.1:1461
 msgid "Toggle the display of the current URL in the last line."
 msgstr "Anzeige der aktuellen URL in der letzten Zeile (de)aktivieren."
 
 #. type: Plain text
-#: doc/tin.1:1428 doc/tin.1:1483 doc/tin.1:1528
+#: doc/tin.1:1464 doc/tin.1:1519 doc/tin.1:1564
 msgid "Help screen of commands available."
 msgstr "Hilfeseite der verfÃ¼gbaren Befehle."
 
 #.  -------------------------------------------------------------------
 #. type: SS
-#: doc/tin.1:1435
+#: doc/tin.1:1471
 #, no-wrap
 msgid "ATTACHMENT LISTING"
 msgstr "ANHANGSVERZEICHNIS"
 
 #. type: Plain text
-#: doc/tin.1:1438
+#: doc/tin.1:1474
 msgid ""
 "B<PageViewAttach> ('B<V>') displays a list of attachments of the current "
 "article. Besides the common moving keys, the following commands are "
 "available:"
 msgstr ""
 "B<PageViewAttach> ('B<V>') zeigt eine Liste der AnhÃ¤nge des aktuellen "
-"Artikels an. Neben den Ã¼blichen Bewegungstasten stehen folgende Befehle "
-"zur VerfÃ¼gung:"
+"Artikels an. Neben den Ã¼blichen Bewegungstasten stehen folgende Befehle zur "
+"VerfÃ¼gung:"
 
 #. type: TP
-#: doc/tin.1:1439
+#: doc/tin.1:1475
 #, no-wrap
 msgid "B<AttachPipe 'p'>"
 msgstr "B<AttachPipe 'p'>"
 
 #. type: Plain text
-#: doc/tin.1:1442
+#: doc/tin.1:1478
 msgid "Pipe attachment into command."
 msgstr "Anhang an Befehl weiterleiten."
 
 #. type: TP
-#: doc/tin.1:1442
+#: doc/tin.1:1478
 #, no-wrap
 msgid "B<AttachSave 's'>"
 msgstr "B<AttachSave 's'>"
 
 #. type: Plain text
-#: doc/tin.1:1445
+#: doc/tin.1:1481
 msgid "Save current attachment / tagged attachments to disk."
 msgstr "Aktuellen Anhang / markierte AnhÃ¤nge auf speichern."
 
 #. type: TP
-#: doc/tin.1:1445
+#: doc/tin.1:1481
 #, no-wrap
 msgid "B<AttachSelect '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<AttachSelect '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1448
+#: doc/tin.1:1484
 msgid "View attachment."
 msgstr "MultimediaanhÃ¤nge anzeigen."
 
 #. type: TP
-#: doc/tin.1:1448
+#: doc/tin.1:1484
 #, no-wrap
 msgid "B<AttachTag 't'>"
 msgstr "B<AttachTag 't'>"
 
 #. type: Plain text
-#: doc/tin.1:1451
+#: doc/tin.1:1487
 msgid "Tag one or more attachments for saving."
 msgstr "Einen oder mehrere AnhÃ¤nge zum Speichern markieren."
 
 #. type: TP
-#: doc/tin.1:1451
+#: doc/tin.1:1487
 #, no-wrap
 msgid "B<AttachTagPattern '='>"
 msgstr "B<AttachTagPattern '='>"
 
 #. type: Plain text
-#: doc/tin.1:1455
+#: doc/tin.1:1491
 msgid ""
 "Prompts for a pattern to match. All attachments whose name/description or "
 "content type/transfer encoding match the pattern will be tagged."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1455
+#: doc/tin.1:1491
 #, no-wrap
 msgid "B<AttachToggleTagged '@'>"
 msgstr "B<AttachToggleTagged '@'>"
 
 #. type: Plain text
-#: doc/tin.1:1458
+#: doc/tin.1:1494
 msgid "Reverse tagging of all attachments."
 msgstr "Markierung der AnhÃ¤nge umkehren."
 
 #. type: TP
-#: doc/tin.1:1458
+#: doc/tin.1:1494
 #, no-wrap
 msgid "B<AttachUntag 'U'>"
 msgstr "B<AttachUntag 'U'>"
 
 #. type: Plain text
-#: doc/tin.1:1461
+#: doc/tin.1:1497
 msgid "Untag all tagged attachments."
 msgstr "Markierung der markierten AnhÃ¤ngen aufheben."
 
 #. type: Plain text
-#: doc/tin.1:1464
+#: doc/tin.1:1500
 msgid "Attachment forward search."
 msgstr "VorwÃ¤rtssuche nach Anhang."
 
 #. type: Plain text
-#: doc/tin.1:1467
+#: doc/tin.1:1503
 msgid "Attachment backward search."
 msgstr "RÃ¼ckwÃ¤rtssuche nach Anhang."
 
 #. type: TP
-#: doc/tin.1:1470
+#: doc/tin.1:1506
 #, no-wrap
 msgid "B<GlobalPipe '|'>"
 msgstr "B<GlobalPipe '|'>"
 
 #. type: Plain text
-#: doc/tin.1:1473
+#: doc/tin.1:1509
 msgid ""
 "Pipe attachment into command. Uses the raw attachment, no decoding is done."
 msgstr ""
@@ -3654,7 +3792,7 @@ msgstr ""
 "Dekodierung vorgenommen."
 
 #. type: Plain text
-#: doc/tin.1:1480
+#: doc/tin.1:1516
 msgid ""
 "Toggle the display of the name/description of the current attachment in the "
 "last line."
@@ -3662,13 +3800,13 @@ msgstr "Name oder Beschreibung des Anhan
 
 #.  -------------------------------------------------------------------
 #. type: SS
-#: doc/tin.1:1490
+#: doc/tin.1:1526
 #, no-wrap
 msgid "POSTING HISTORY LISTING"
 msgstr "POSTING VERLAUFSLISTE"
 
 #. type: Plain text
-#: doc/tin.1:1498
+#: doc/tin.1:1534
 msgid ""
 "B<DisplayPostHist> ('B<W>') displays a list of all previous posted articles "
 "stored in I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/posted>. The following "
@@ -3680,13 +3818,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1499
+#: doc/tin.1:1535
 #, no-wrap
 msgid "B<PostedArticlesSelect '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<PostedArticlesSelect '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1510
+#: doc/tin.1:1546
 msgid ""
 "The article with the current ''Message-ID:'' will be opened if available.  "
 "Note that this requires that the ''Message-ID:'' of the article was recorded "
@@ -3699,14 +3837,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1525
+#: doc/tin.1:1561
 msgid "Toggle the display of the current ''Message-ID:'' in the last line."
 msgstr ""
 "Umschalten der Anzeige der aktuellen ''Message-ID:'' in der letzten Zeile."
 
 #.  -------------------------------------------------------------------
 #. type: SS
-#: doc/tin.1:1535
+#: doc/tin.1:1571
 #, no-wrap
 msgid "GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES"
 msgstr "MENÃœ DER GLOBALE OPTIONEN UND KONFIGURIERBAREN TINRC-VARIABLEN"
@@ -3715,7 +3853,7 @@ msgstr "MENÃœ DER GLOBALE OPTIONEN UND K
 #.        - \fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fR is used
 #.          in the !TIN_DEFAULTS_DIR config case
 #. type: Plain text
-#: doc/tin.1:1547
+#: doc/tin.1:1583
 msgid ""
 "At startup, B<tin> reads in the configuration files (see also B<\\"
 "%tin>(5)).  They contain a list of variables that can be used to configure "
@@ -3726,7 +3864,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1555
+#: doc/tin.1:1591
 msgid ""
 "The variables are user configurable by editing I<${TIN_HOMEDIR:-\"$HOME\"}/."
 "tin/tinrc> directly. Most of them can also be set in the GLOBAL OPTIONS MENU "
@@ -3737,7 +3875,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1561
+#: doc/tin.1:1597
 msgid ""
 "In the options menu use the cursor keys in the usual way to move around. Use "
 "B<ConfigSelect> ('B<^J>' or 'B<E<lt>CRE<gt>>') to 'open' the option you wish "
@@ -3747,7 +3885,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1568
+#: doc/tin.1:1604
 msgid ""
 "As with the other menus, B<RedrawScr> ('B<^L>') will redraw the screen. You "
 "can use B<SearchSubjF> ('B</>'), B<SearchSubjB> ('B<?>') and B<SearchRepeat> "
@@ -3757,7 +3895,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1573
+#: doc/tin.1:1609
 msgid ""
 "The options menu provides access to the attributes menu for the current "
 "group by the B<ConfigToggleAttrib> ('B<E<lt>TABE<gt>>') command. Pressing "
@@ -3766,14 +3904,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1576
+#: doc/tin.1:1612
 msgid ""
 "The B<ConfigScopeMenu> ('B<S>') command brings up the scopes menu. For more "
 "information see section \"SCOPES MENU\"."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1580
+#: doc/tin.1:1616
 msgid ""
 "Here is a full list of all the available variables. The name in braces is "
 "the name of the corresponding setting in I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/"
@@ -3781,30 +3919,30 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1580
+#: doc/tin.1:1616
 #, no-wrap
 msgid "B<Abbreviate long newsgroup names (abbreviate_groupname)>"
 msgstr "B<Lange Newsgruppennamen abkÃ¼rzen (abbreviate_groupname)>"
 
 #. type: Plain text
-#: doc/tin.1:1586 doc/tin.5:1300
+#: doc/tin.1:1622
 msgid ""
 "If ON abbreviate long newsgroup names at group selection level and article "
-"level (if necessary) like this: news.software.readers -E<gt> n.software."
-"readers -E<gt> n.s.readers -E<gt> n.s.r.  Default is OFF."
+"level (if necessary) like this: news.software.readers \\(-E<gt> n.software."
+"readers \\(-E<gt> n.s.readers \\(-E<gt> n.s.r.  Default is OFF."
 msgstr ""
 "Falls ON werden, sofern nÃ¶tig, lange Newsgruppennamen in der Auswahl- und "
-"Artikelebene wie folgt abgekÃ¼rzt: news.software.readers -E<gt> n.software."
-"readers -E<gt> n.s.readers -E<gt> n.s.r. Voreinstellung ist OFF."
+"Artikelebene wie folgt abgekÃ¼rzt: news.software.readers \\(-E<gt> n.software."
+"readers \\(-E<gt> n.s.readers \\(-E<gt> n.s.r. Voreinstellung ist OFF."
 
 #. type: TP
-#: doc/tin.1:1586
+#: doc/tin.1:1622
 #, no-wrap
 msgid "B<Add posted articles to filter (add_posted_to_filter)>"
 msgstr "B<FÃ¼ge gepostete Artikel zum Filter (add_posted_to_filter)>"
 
 #. type: Plain text
-#: doc/tin.1:1590 doc/tin.5:1304
+#: doc/tin.1:1626 doc/tin.5:1351
 msgid ""
 "If ON add posted articles which start a new thread to filter for "
 "highlighting follow-ups. Default is ON."
@@ -3813,24 +3951,24 @@ msgstr ""
 "hinzu um eventuelle Antworten hervorzuheben. Voreinstellung ist ON."
 
 #. type: TP
-#: doc/tin.1:1590
+#: doc/tin.1:1626
 #, no-wrap
 msgid "B<Insert 'User-Agent:'-header (advertising)>"
 msgstr "B<FÃ¼ge 'User-Agent:'-Kopfzeile ein (advertising)>"
 
 #. type: Plain text
-#: doc/tin.1:1593 doc/tin.5:1307
+#: doc/tin.1:1629 doc/tin.5:1354
 msgid "Turn ON advertising in header (''User-Agent:''). Default is ON."
 msgstr "Falls ON fÃ¼ge 'User-Agent:'-Kopfzeile ein. Voreinstellung ist ON."
 
 #. type: TP
-#: doc/tin.1:1593
+#: doc/tin.1:1629
 #, no-wrap
 msgid "B<Skip multipart/alternative parts (alternative_handling)>"
 msgstr "B<Ãœbersp. multipart/alternative-Teile (alternative_handling)>"
 
 #. type: Plain text
-#: doc/tin.1:1596 doc/tin.5:1310
+#: doc/tin.1:1632 doc/tin.5:1357
 msgid ""
 "If ON strip multipart/alternative messages automatically. Default is ON."
 msgstr ""
@@ -3838,25 +3976,25 @@ msgstr ""
 "Voreinstellung ist ON."
 
 #. type: TP
-#: doc/tin.1:1596
+#: doc/tin.1:1632
 #, no-wrap
 msgid "B<Character to show deleted articles (art_marked_deleted)>"
 msgstr "B<Zeichen fÃ¼r gelÃ¶schte Artikel (art_marked_deleted)>"
 
 #. type: Plain text
-#: doc/tin.1:1599 doc/tin.5:1313
+#: doc/tin.1:1635 doc/tin.5:1360
 msgid "The character used to show that an article was deleted. Default is 'D'."
 msgstr ""
 "Zeichen das anzeigt, dass ein Artikel gelÃ¶scht wurde. Voreinstellung ist 'D'."
 
 #. type: TP
-#: doc/tin.1:1599
+#: doc/tin.1:1635
 #, no-wrap
 msgid "B<Character to show inrange articles (art_marked_inrange)>"
 msgstr "B<Zeichen fÃ¼r Artikel im Bereich (art_marked_inrange)>"
 
 #. type: Plain text
-#: doc/tin.1:1602 doc/tin.5:1316
+#: doc/tin.1:1638 doc/tin.5:1363
 msgid ""
 "The character used to show that an article is in a range. Default is '#'."
 msgstr ""
@@ -3864,13 +4002,13 @@ msgstr ""
 "befindet. Voreinstellung ist '#'."
 
 #. type: TP
-#: doc/tin.1:1602
+#: doc/tin.1:1638
 #, no-wrap
 msgid "B<Character to show returning arts (art_marked_return)>"
 msgstr "B<Zeichen fÃ¼r wiederkehrende Artikel (art_marked_return)>"
 
 #. type: Plain text
-#: doc/tin.1:1606 doc/tin.5:1320
+#: doc/tin.1:1642 doc/tin.5:1367
 msgid ""
 "The character used to show that an article will return as an unread article "
 "when the group is next entered. Default is '-'."
@@ -3880,13 +4018,13 @@ msgstr ""
 "Voreinstellung ist '-'."
 
 #. type: TP
-#: doc/tin.1:1606
+#: doc/tin.1:1642
 #, no-wrap
 msgid "B<Character to show selected articles (art_marked_selected)>"
 msgstr "B<Zeichen fÃ¼r wichtige Artikel (art_marked_selected)>"
 
 #. type: Plain text
-#: doc/tin.1:1610 doc/tin.5:1324
+#: doc/tin.1:1646 doc/tin.5:1371
 msgid ""
 "The character used to show that an article/thread is auto-selected (hot).  "
 "Default is '*'."
@@ -3895,13 +4033,13 @@ msgstr ""
 "automatisch ausgewÃ¤hlt ist (heiÃŸ). Voreinstellung ist '*'."
 
 #. type: TP
-#: doc/tin.1:1610
+#: doc/tin.1:1646
 #, no-wrap
 msgid "B<Character to show recent articles (art_marked_recent)>"
 msgstr "B<Zeichen fÃ¼r aktuelle Artikel (art_marked_recent)>"
 
 #. type: Plain text
-#: doc/tin.1:1614 doc/tin.5:1328
+#: doc/tin.1:1650 doc/tin.5:1375
 msgid ""
 "The character used to show that an article/thread is recent (not older than "
 "X days). See also B<recent_time>. Default is 'o'."
@@ -3910,13 +4048,13 @@ msgstr ""
 "(nicht Ã¤lter als X Tage). Siehe auch B<recent_time>. Voreinstellung ist ' o'."
 
 #. type: TP
-#: doc/tin.1:1614
+#: doc/tin.1:1650
 #, no-wrap
 msgid "B<Character to show unread articles (art_marked_unread)>"
 msgstr "B<Zeichen fÃ¼r ungelesene Artikel (art_marked_unread)>"
 
 #. type: Plain text
-#: doc/tin.1:1618 doc/tin.5:1332
+#: doc/tin.1:1654 doc/tin.5:1379
 msgid ""
 "The character used to show that an article has not been read.  Default is "
 "'+'."
@@ -3925,41 +4063,41 @@ msgstr ""
 "Voreinstellung ist '+'."
 
 #. type: TP
-#: doc/tin.1:1618
+#: doc/tin.1:1654
 #, no-wrap
 msgid "B<Character to show read articles (art_marked_read)>"
 msgstr "B<Zeichen fÃ¼r gelesene Artikel (art_marked_read)>"
 
 #. type: Plain text
-#: doc/tin.1:1621 doc/tin.5:1335
+#: doc/tin.1:1657 doc/tin.5:1382
 msgid "The character used to show that an article was read. Default is ' '."
 msgstr ""
 "Zeichen das anzeigt, dass ein Artikel schon gelesen wurde. Voreinstellung "
 "ist ' '."
 
 #. type: TP
-#: doc/tin.1:1621
+#: doc/tin.1:1657
 #, no-wrap
 msgid "B<Character to show killed articles (art_marked_killed)>"
 msgstr "B<Zeichen fÃ¼r gekillte Artikel (art_marked_killed)>"
 
 #. type: Plain text
-#: doc/tin.1:1625 doc/tin.5:1339
+#: doc/tin.1:1661 doc/tin.5:1386
 msgid ""
 "The character used to show that an article was killed. Default is 'K'.  "
 "B<kill_level> must be set accordingly."
 msgstr ""
-"Zeichen das anzeigt, dass ein Artikel gekillt wurde. Voreinstellung ist "
-"'K'). B<kill_level> muss passend gesetzt sein."
+"Zeichen das anzeigt, dass ein Artikel gekillt wurde. Voreinstellung ist 'K'. "
+"B<kill_level> muss passend gesetzt sein."
 
 #. type: TP
-#: doc/tin.1:1625
+#: doc/tin.1:1661
 #, no-wrap
 msgid "B<Character to show read selected arts (art_marked_read_selected)>"
 msgstr "B<Zeichen fÃ¼r gelesene wichtige Art. (art_marked_read_selected)>"
 
 #. type: Plain text
-#: doc/tin.1:1629 doc/tin.5:1343
+#: doc/tin.1:1665 doc/tin.5:1390
 msgid ""
 "The character used to show that an article was hot before it was read.  "
 "Default is ':'. B<kill_level> must be set accordingly."
@@ -3969,43 +4107,46 @@ msgstr ""
 "B<kill_level> muss entsprechend eingestellt werden."
 
 #. type: TP
-#: doc/tin.1:1629 doc/tin.5:1343
+#: doc/tin.1:1665 doc/tin.5:1390
 #, no-wrap
 msgid "B<Ask before using MIME viewer (ask_for_metamail)>"
 msgstr "B<Start des MIME-Viewers bestÃ¤tigen (ask_for_metamail)>"
 
 #. type: Plain text
-#: doc/tin.1:1634
+#: doc/tin.1:1670
 msgid ""
 "If ON B<tin> will ask before using a MIME viewer (B<metamail_prog>) to "
 "display MIME messages. This only occurs if a MIME viewer is set. Default is "
 "OFF."
 msgstr ""
+"Falls ON, fragt B<tin>, bevor ein MIME-Viewer (B<metamail_prog>) zum "
+"Anzeigen von MIME-Nachrichten verwendet wird. Dies geschieht nur, wenn ein "
+"MIME-Viewer festgelegt ist. Voreinstellung ist OFF."
 
 #. type: TP
-#: doc/tin.1:1634
+#: doc/tin.1:1670
 #, no-wrap
 msgid "B<Format string for the Attachment level (attachment_format)>"
 msgstr "B<Formatanweisung fÃ¼r die Anhangsebene (attachment_format)>"
 
 #. type: Plain text
-#: doc/tin.1:1639
+#: doc/tin.1:1675
 msgid ""
 "Format string B<tin> uses for Attachment level representation. See the "
 "section \"CUSTOMIZING THE SCREEN FORMAT\".  Default is \"%t%s%e%c%d\"."
 msgstr ""
 "Diese Formatanweisung wird von B<tin> zur Darstellung der Anhangsebene "
-"benutzt. FÃ¼r weitere Informationen sei auf den Abschnitt \"ANSICHTEN ANPASSEN"
-"\" verwiesen. Voreingestellt ist \"%t%s%e%c%d\"."
+"benutzt. FÃ¼r weitere Informationen sei auf den Abschnitt \"ANSICHTEN "
+"ANPASSEN\" verwiesen. Voreingestellt ist \"%t%s%e%c%d\"."
 
 #. type: TP
-#: doc/tin.1:1639
+#: doc/tin.1:1675
 #, no-wrap
 msgid "B<Send you a cc and/or bcc automatically (auto_cc_bcc)>"
 msgstr "B<Sendet Ihnen eine cc und/oder eine blinde cc autom. (auto_cc_bcc)>"
 
 #. type: Plain text
-#: doc/tin.1:1643 doc/tin.5:1360
+#: doc/tin.1:1679 doc/tin.5:1407
 msgid ""
 "Automatically put your name in the ''Cc:'' and/or ''Bcc:'' field when "
 "mailing an article. Default is No."
@@ -4014,13 +4155,13 @@ msgstr ""
 "Sie einen Artikel versenden. Die Voreinstellung ist Nein."
 
 #. type: TP
-#: doc/tin.1:1643
+#: doc/tin.1:1679
 #, no-wrap
 msgid "B<List thread using right arrow key (auto_list_thread)>"
 msgstr "B<Zeige Thread mit rechter Pfeilt. an (auto_list_thread)>"
 
 #. type: Plain text
-#: doc/tin.1:1647 doc/tin.5:1364
+#: doc/tin.1:1683 doc/tin.5:1411
 msgid ""
 "If ON automatically list thread when entering it using right arrow key.  "
 "Default is ON."
@@ -4029,41 +4170,41 @@ msgstr ""
 "anzeigen? Voreinstellung ist ON."
 
 #. type: TP
-#: doc/tin.1:1647
+#: doc/tin.1:1683
 #, no-wrap
 msgid "B<Reconnect to server automatically (auto_reconnect)>"
 msgstr "B<Autom. Wiederverbindung zum Server (auto_reconnect)>"
 
 #. type: Plain text
-#: doc/tin.1:1650 doc/tin.1:2684
+#: doc/tin.1:1686 doc/tin.1:2736
 msgid "Default is OFF."
 msgstr "Voreinstellung ist OFF."
 
 #. type: TP
-#: doc/tin.1:1650
+#: doc/tin.1:1686
 #, no-wrap
 msgid "B<Save articles in batch mode (batch_save)>"
 msgstr "B<Speicher Artikel im Batchmode (-S) (batch_save)>"
 
 #. type: Plain text
-#: doc/tin.1:1655 doc/tin.5:1372
+#: doc/tin.1:1691 doc/tin.5:1419
 msgid ""
 "If set ON articles/threads will be saved in batch mode when save \\&''B<-"
 "S>'' or mail ''B<-M>, B<-N>'' is specified on the command line. Default is "
 "ON."
 msgstr ""
-"Falls ON werden Artikel/Threads im Batchmode gespeichert wenn ''B<-S> oder "
+"Falls ON werden Artikel/Threads im Batchmode gespeichert wenn ''B<-S>'' oder "
 "gemailt, wenn ''B<-M>'' bzw. ''B<-N>'' in der Kommandozeile angegeben wurde. "
 "Voreinstellung ist ON."
 
 #. type: TP
-#: doc/tin.1:1655
+#: doc/tin.1:1691
 #, no-wrap
 msgid "B<Show mini menu & posting etiquette (beginner_level)>"
 msgstr "B<Zeigt Mini-MenÃ¼ & Posting-Knigge (beginner_level)>"
 
 #. type: Plain text
-#: doc/tin.1:1660 doc/tin.5:1377
+#: doc/tin.1:1696 doc/tin.5:1424
 msgid ""
 "If set ON a mini menu of the most useful commands will be displayed at the "
 "bottom of the screen for each level. Also a short posting etiquette will be "
@@ -4075,13 +4216,13 @@ msgstr ""
 "angezeigt. Standard ist ON."
 
 #. type: TP
-#: doc/tin.1:1660
+#: doc/tin.1:1696
 #, no-wrap
 msgid "B<Cache NNTP overview files locally (cache_overview_files)>"
 msgstr "B<Speichere NNTP Overview Daten lokal (cache_overview_files)>"
 
 #. type: Plain text
-#: doc/tin.1:1665
+#: doc/tin.1:1701
 msgid ""
 "If ON, create local copies of NNTP overview files. This can be used to "
 "considerably speed up accessing large groups when using a slow connection.  "
@@ -4089,31 +4230,47 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1665
+#: doc/tin.1:1701
+#, no-wrap
+msgid "B<Compress locally cached NNTP overview files (compress_overview_files)>"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.1:1706 doc/tin.5:1434
+msgid ""
+"If ON, locally cached NNTP overview files (B<cache_overview_files>) are "
+"saved in compressed form (B<RFC\\%1952>). Useful to reduce local disk space "
+"used. Default is OFF."
+msgstr ""
+
+#. type: TP
+#: doc/tin.1:1706
 #, no-wrap
 msgid "B<Hash algorithm for cancel-locks (cancel_lock_algo)>"
 msgstr "B<Hash-Algorithmus fÃ¼r Cancel-Lock/Cancel-Key (cancel_lock_algo)>"
 
 #. type: Plain text
-#: doc/tin.1:1671 doc/tin.5:1388
+#: doc/tin.1:1713
 msgid ""
 "Use this hash algorithm for cancel-locks. Only available when built with "
 "cancel-lock support. none disables the generation of cancel-locks. Valid "
-"values are none, sha1, sha256 and sha512.  Default is sha1."
+"values are none, sha1, sha256 and sha512.  Default is sha1. See also "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.cancelsecret> in B<\\%tin>(5)."
 msgstr ""
 "Diesen Hash-Algorithmus fÃ¼r Cancel-Locks verwenden. Nur vorhanden falls "
 "B<tin> mit Cancel-Lock-UnterstÃ¼tzung gebaut wurde. Keiner deaktiviert die "
 "Erzeugung von Cancel-Locks. GÃ¼ltige Werte sind Keiner, sha1, sha256 und "
-"sha512. Voreinstellung ist sha1."
+"sha512. Voreinstellung ist sha1. Siehe auch I<${TIN_HOMEDIR:-\"$HOME\"}/."
+"cancelsecret> in B<\\%tin>(5)."
 
 #. type: TP
-#: doc/tin.1:1671
+#: doc/tin.1:1713
 #, no-wrap
 msgid "B<Catchup read groups when quitting (catchup_read_groups)>"
 msgstr "B<Catchup der Gruppen beim Beenden (catchup_read_groups)>"
 
 #. type: Plain text
-#: doc/tin.1:1677 doc/tin.5:1392
+#: doc/tin.1:1719 doc/tin.5:1444
 msgid ""
 "If set ON the user is asked when quitting if all groups read during the "
 "current session should be marked read. Default is OFF."
@@ -4123,101 +4280,101 @@ msgstr ""
 "sollen. Voreinstellung ist OFF."
 
 #. type: TP
-#: doc/tin.1:1677
+#: doc/tin.1:1719
 #, no-wrap
 msgid "B<Standard background color (col_back)>"
 msgstr "B<Standard Hintergrundfarbe (col_back)>"
 
 #. type: Plain text
-#: doc/tin.1:1680 doc/tin.5:1395
+#: doc/tin.1:1722 doc/tin.5:1447
 msgid "Standard background color"
 msgstr "Standard Hintergrundfarbe"
 
 #. type: TP
-#: doc/tin.1:1680
+#: doc/tin.1:1722
 #, no-wrap
 msgid "B<Color of quoted text from external sources (col_extquote)>"
 msgstr "B<Farbe des Fremdzitat-Textes (col_extquote)>"
 
 #. type: Plain text
-#: doc/tin.1:1683 doc/tin.5:1398
+#: doc/tin.1:1725 doc/tin.5:1450
 msgid "Color of quoted text from external sources"
 msgstr "Farbe des Fremdzitat-Textes"
 
 #. type: TP
-#: doc/tin.1:1683
+#: doc/tin.1:1725
 #, no-wrap
 msgid "B<Color of sender (From:) (col_from)>"
 msgstr "B<Farbe des Autors (From:) (col_from)>"
 
 #. type: Plain text
-#: doc/tin.1:1686 doc/tin.5:1401
+#: doc/tin.1:1728 doc/tin.5:1453
 msgid "Color of sender (From:)"
 msgstr "Farbe des Autors (From:)"
 
 #. type: TP
-#: doc/tin.1:1686
+#: doc/tin.1:1728
 #, no-wrap
 msgid "B<Color of article header lines (col_head)>"
 msgstr "B<Farbe der Artikelheaderzeilen (col_head)>"
 
 #. type: Plain text
-#: doc/tin.1:1689 doc/tin.5:1404
+#: doc/tin.1:1731 doc/tin.5:1456
 msgid "Color of header-lines"
 msgstr "Farbe der Artikelheaderzeilen"
 
 #. type: TP
-#: doc/tin.1:1689
+#: doc/tin.1:1731
 #, no-wrap
 msgid "B<Color of help text (col_help)>"
 msgstr "B<Farbe des Hilfstext (col_help)>"
 
 #. type: Plain text
-#: doc/tin.1:1692 doc/tin.5:1407
+#: doc/tin.1:1734 doc/tin.5:1459
 msgid "Color of help pages"
 msgstr "Farbe des Hilfstext"
 
 #. type: TP
-#: doc/tin.1:1692
+#: doc/tin.1:1734
 #, no-wrap
 msgid "B<Color for inverse text (background) (col_invers_bg)>"
 msgstr "B<Farbe des inversen Text (Hinterg.) (col_invers_bg)>"
 
 #. type: Plain text
-#: doc/tin.1:1695 doc/tin.5:1410
+#: doc/tin.1:1737 doc/tin.5:1462
 msgid "Color of background for inverse text"
 msgstr "Hintergrundfarbe fÃ¼r inversen Text"
 
 #. type: TP
-#: doc/tin.1:1695
+#: doc/tin.1:1737
 #, no-wrap
 msgid "B<Color for inverse text (foreground) (col_invers_fg)>"
 msgstr "B<Farbe des inversen Text (Vordergr.) (col_invers_fg)>"
 
 #. type: Plain text
-#: doc/tin.1:1698 doc/tin.5:1413
+#: doc/tin.1:1740 doc/tin.5:1465
 msgid "Color of foreground for inverse text"
 msgstr "Vordergrundfarbe fÃ¼r inversen Text"
 
 #. type: TP
-#: doc/tin.1:1698
+#: doc/tin.1:1740
 #, no-wrap
 msgid "B<Color of status messages (col_message)>"
 msgstr "B<Farbe der Statusmeldungen (col_message)>"
 
 #. type: Plain text
-#: doc/tin.1:1701 doc/tin.5:1432
+#: doc/tin.1:1743 doc/tin.5:1484
 msgid "Color of status messages in last line"
 msgstr "Farbe der Statusmeldungen in der letzten Zeile"
 
 #. type: TP
-#: doc/tin.1:1701
+#: doc/tin.1:1743
 #, no-wrap
 msgid "B<Color of highlighting with _dash_ (col_markdash)>"
 msgstr "B<Farbe der Hervorhebung _Striche_ (col_markdash)>"
 
 #. type: Plain text
-#: doc/tin.1:1705 doc/tin.5:1417
+#: doc/tin.1:1747 doc/tin.5:1469
 msgid ""
 "Color of words emphasized like _this_. See also B<word_h_display_marks> and "
 "B<word_highlight>."
@@ -4226,13 +4383,13 @@ msgstr ""
 "B<word_h_display_marks> und B<word_highlight>."
 
 #. type: TP
-#: doc/tin.1:1705
+#: doc/tin.1:1747
 #, no-wrap
 msgid "B<Color of highlighting with /slash/ (col_markslash)>"
 msgstr "B<Farbe der Hervorhebung /SchrÃ¤gstr./ (col_markslash)>"
 
 #. type: Plain text
-#: doc/tin.1:1709 doc/tin.5:1421
+#: doc/tin.1:1751 doc/tin.5:1473
 msgid ""
 "Color of words emphasized like /this/. See also B<word_h_display_marks> and "
 "B<word_highlight>."
@@ -4241,13 +4398,13 @@ msgstr ""
 "B<word_h_display_marks> und B<word_highlight>."
 
 #. type: TP
-#: doc/tin.1:1709
+#: doc/tin.1:1751
 #, no-wrap
 msgid "B<Color of highlighting with *stars* (col_markstar)>"
 msgstr "B<Farbe der Hervorhebung *Sterne* (col_markstar)>"
 
 #. type: Plain text
-#: doc/tin.1:1713 doc/tin.5:1425
+#: doc/tin.1:1755 doc/tin.5:1477
 msgid ""
 "Color of words emphasized like *this*. See also B<word_h_display_marks> and "
 "B<word_highlight>."
@@ -4256,13 +4413,13 @@ msgstr ""
 "B<word_h_display_marks> und B<word_highlight>."
 
 #. type: TP
-#: doc/tin.1:1713
+#: doc/tin.1:1755
 #, no-wrap
 msgid "B<Color of highlighting with -stroke- (col_markstroke)>"
 msgstr "B<Farbe der Hervorhebung -Durchstr.- (col_markstroke)>"
 
 #. type: Plain text
-#: doc/tin.1:1717 doc/tin.5:1429
+#: doc/tin.1:1759 doc/tin.5:1481
 msgid ""
 "Color of words emphasized like -this-. See also B<word_h_display_marks> and "
 "B<word_highlight>."
@@ -4271,195 +4428,195 @@ msgstr ""
 "B<word_h_display_marks> und B<word_highlight>."
 
 #. type: TP
-#: doc/tin.1:1717
+#: doc/tin.1:1759
 #, no-wrap
 msgid "B<Color of mini help menu (col_minihelp)>"
 msgstr "B<Farbe des MinihilfemenÃ¼ (col_minihelp)>"
 
 #. type: Plain text
-#: doc/tin.1:1720 doc/tin.5:1435
+#: doc/tin.1:1762 doc/tin.5:1487
 msgid "Color of mini help menu"
 msgstr "Farbe des MinihilfemenÃ¼"
 
 #. type: TP
-#: doc/tin.1:1720
+#: doc/tin.1:1762
 #, no-wrap
 msgid "B<Color of actual news header fields (col_newsheaders)>"
 msgstr "B<Farbe des angezeigten Headers (col_newsheaders)>"
 
 #. type: Plain text
-#: doc/tin.1:1723 doc/tin.5:1438
+#: doc/tin.1:1765 doc/tin.5:1490
 msgid "Color of actual news header fields"
 msgstr "Farbe des angezeigten Headers"
 
 #. type: TP
-#: doc/tin.1:1723
+#: doc/tin.1:1765
 #, no-wrap
 msgid "B<Standard foreground color (col_normal)>"
 msgstr "B<Standard Vordergrundfarbe (col_normal)>"
 
 #. type: Plain text
-#: doc/tin.1:1726 doc/tin.5:1441
+#: doc/tin.1:1768 doc/tin.5:1493
 msgid "Standard foreground color"
 msgstr "Standard Vordergrundfarbe"
 
 #. type: TP
-#: doc/tin.1:1726
+#: doc/tin.1:1768
 #, no-wrap
 msgid "B<Color of quoted lines (col_quote)>"
 msgstr "B<Farbe der zitierten Zeilen (col_quote)>"
 
 #. type: Plain text
-#: doc/tin.1:1729 doc/tin.5:1444
+#: doc/tin.1:1771 doc/tin.5:1496
 msgid "Color of quoted lines"
 msgstr "Farbe der zitierten Zeilen"
 
 #. type: TP
-#: doc/tin.1:1729
+#: doc/tin.1:1771
 #, no-wrap
 msgid "B<Color of twice quoted line (col_quote2)>"
 msgstr "B<Farbe von zweifach zitierten Zeilen (col_quote2)>"
 
 #. type: Plain text
-#: doc/tin.1:1732 doc/tin.5:1447
+#: doc/tin.1:1774 doc/tin.5:1499
 msgid "Color of twice quoted lines"
 msgstr "Farbe von zweifach zitierten Zeilen"
 
 #. type: TP
-#: doc/tin.1:1732
+#: doc/tin.1:1774
 #, no-wrap
 msgid "B<Color of =E<gt>3 times quoted line (col_quote3)>"
 msgstr "B<Farbe von =E<gt>3-fach zitierten Zeilen (col_quote3)>"
 
 #. type: Plain text
-#: doc/tin.1:1735 doc/tin.5:1450
+#: doc/tin.1:1777 doc/tin.5:1502
 msgid "Color of E<gt>=3 times quoted lines"
 msgstr "Farbe von =E<gt>3-fach zitierten Zeilen"
 
 #. type: TP
-#: doc/tin.1:1735
+#: doc/tin.1:1777
 #, no-wrap
 msgid "B<Color of response counter (col_response)>"
 msgstr "B<Farbe des AntwortzÃ¤hlers (col_response)>"
 
 #. type: Plain text
-#: doc/tin.1:1739 doc/tin.5:1454
+#: doc/tin.1:1781 doc/tin.5:1506
 msgid ""
 "Color of response counter. This is the text that says \"Response x of y\" in "
 "the article viewer."
 msgstr ""
-"Farbe des AntwortzÃ¤hlers. Das ist der Text \"Antwort x von y\" im "
-"Artikel-Viewer."
+"Farbe des AntwortzÃ¤hlers. Das ist der Text \"Antwort x von y\" im Artikel-"
+"Viewer."
 
 #. type: TP
-#: doc/tin.1:1739
+#: doc/tin.1:1781
 #, no-wrap
 msgid "B<Color of signatures (col_signature)>"
 msgstr "B<Farbe von Signaturen (col_signature)>"
 
 #. type: Plain text
-#: doc/tin.1:1742 doc/tin.5:1457
+#: doc/tin.1:1784 doc/tin.5:1509
 msgid "Color of signatures"
 msgstr "Farbe von Signaturen"
 
 #. type: TP
-#: doc/tin.1:1742
+#: doc/tin.1:1784
 #, no-wrap
 msgid "B<Color of negative score (col_score_neg)>"
 msgstr "B<Farbe negativer Bewertung (col_score_neg)>"
 
 #. type: Plain text
-#: doc/tin.1:1745 doc/tin.5:1460
+#: doc/tin.1:1787 doc/tin.5:1512
 msgid "Color of negative score"
 msgstr "Farbe negativer Bewertung"
 
 #. type: TP
-#: doc/tin.1:1745
+#: doc/tin.1:1787
 #, no-wrap
 msgid "B<Color of positive score (col_score_pos)>"
 msgstr "B<Farbe positiver Bewertung (col_score_pos)>"
 
 #. type: Plain text
-#: doc/tin.1:1748 doc/tin.5:1463
+#: doc/tin.1:1790 doc/tin.5:1515
 msgid "Color of positive score"
 msgstr "Farbe positiver Bewertung"
 
 #. type: TP
-#: doc/tin.1:1748
+#: doc/tin.1:1790
 #, no-wrap
 msgid "B<Color of urls highlight (col_urls)>"
 msgstr "B<Farbe der hervorgehobenen URLs (col_urls)>"
 
 #. type: Plain text
-#: doc/tin.1:1751 doc/tin.5:1466
+#: doc/tin.1:1793 doc/tin.5:1518
 msgid "Color of urls highlight"
 msgstr "Farbe der hervorgehobenen URLs"
 
 #. type: TP
-#: doc/tin.1:1751
+#: doc/tin.1:1793
 #, no-wrap
 msgid "B<Color of verbatim blocks (col_verbatim)>"
 msgstr "B<Farbe des wortgetreu darzustellenden Textes (col_verbatim)>"
 
 #
 #. type: Plain text
-#: doc/tin.1:1754 doc/tin.5:1469
+#: doc/tin.1:1796 doc/tin.5:1521
 msgid "Color of verbatim blocks"
 msgstr "Farbe des wortgetreu darzustellenden Textes"
 
 #. type: TP
-#: doc/tin.1:1754
+#: doc/tin.1:1796
 #, no-wrap
 msgid "B<Color of article subject lines (col_subject)>"
 msgstr "B<Farbe der Subjectzeile (col_subject)>"
 
 #. type: Plain text
-#: doc/tin.1:1757 doc/tin.5:1472
+#: doc/tin.1:1799 doc/tin.5:1524
 msgid "Color of article subject"
 msgstr "Farbe der Subjectzeile"
 
 #. type: TP
-#: doc/tin.1:1757
+#: doc/tin.1:1799
 #, no-wrap
 msgid "B<Color of text lines (col_text)>"
 msgstr "B<Farbe der Textzeilen (col_text)>"
 
 #. type: Plain text
-#: doc/tin.1:1760 doc/tin.5:1475
+#: doc/tin.1:1802 doc/tin.5:1527
 msgid "Color of text-lines"
 msgstr "Farbe der Textzeilen"
 
 #. type: TP
-#: doc/tin.1:1760
+#: doc/tin.1:1802
 #, no-wrap
 msgid "B<Color of help/mail sign (col_title)>"
 msgstr "B<Farbe des Hilfe/Mail-Zeichens (col_title)>"
 
 #. type: Plain text
-#: doc/tin.1:1763 doc/tin.5:1478
+#: doc/tin.1:1805 doc/tin.5:1530
 msgid "Color of help/mail sign"
 msgstr "Farbe des Hilfe/Mail-Zeichens"
 
 #. type: TP
-#: doc/tin.1:1763
+#: doc/tin.1:1805
 #, no-wrap
 msgid "B<Which actions require confirmation (confirm_choice)>"
 msgstr "B<BestÃ¤tigung erforderlich fÃ¼r (confirm_choice)>"
 
 #. type: Plain text
-#: doc/tin.1:1766
+#: doc/tin.1:1808
 msgid "Ask for manual confirmation to protect the user."
 msgstr "Vorsichtshalber um BestÃ¤tigung bitten."
 
 #. type: IP
-#: doc/tin.1:1767 doc/tin.1:1773 doc/tin.1:1777
+#: doc/tin.1:1809 doc/tin.1:1815 doc/tin.1:1819
 #, no-wrap
 msgid "\\(bu"
 msgstr "\\(bu"
 
 #.  TODO: check if all affected commands are marked [after confirmation]
 #. type: Plain text
-#: doc/tin.1:1773
+#: doc/tin.1:1815
 msgid ""
 "B<commands> Ask for confirmation before executing certain dangerous commands "
 "(e.g., B<Catchup> ('B<c>')). Commands that this affects are marked in this "
@@ -4467,21 +4624,26 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1777
+#: doc/tin.1:1819
 msgid ""
 "B<quit> You'll be asked to confirm that you wish to exit B<tin> when you use "
 "the B<Quit> ('B<q>') command."
 msgstr ""
+"B<quit> Sie werden aufgefordert, zu bestÃ¤tigen, dass Sie B<tin> beenden "
+"mÃ¶chten, wenn Sie den Befehl B<Quit> ('B<q>') verwenden."
 
 #. type: Plain text
-#: doc/tin.1:1781
+#: doc/tin.1:1823
 msgid ""
 "B<select> Ask for confirmation before marking all not selected (with "
 "B<GroupMarkUnselArtRead> ('B<X>') command) articles as read."
 msgstr ""
+"B<select> Bitten Sie um BestÃ¤tigung, bevor Sie alle nicht ausgewÃ¤hlten "
+"Artikel (mit dem Befehl B<GroupMarkUnselArtRead> ('B<X>')) als gelesen "
+"markieren."
 
 #. type: TP
-#: doc/tin.1:1782
+#: doc/tin.1:1824
 #, no-wrap
 msgid "B<Format string for display of dates (date_format)>"
 msgstr "B<Datums Format-Zeichenkette (date_format)>"
@@ -4490,7 +4652,7 @@ msgstr "B<Datums Format-Zeichenkette (da
 #.  most of these default_* settings are not available from the menu
 #.  as they are intended for internal use only.
 #. type: Plain text
-#: doc/tin.1:1794
+#: doc/tin.1:1836
 msgid ""
 "Format string B<tin> uses for date representation. A description of the "
 "different format options can be found at B<\\%strftime>(3).  B<tin> uses B<\\"
@@ -4499,399 +4661,432 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1794
+#: doc/tin.1:1836
 #, no-wrap
 msgid "B<(default_art_search)>"
 msgstr "B<(default_art_search)>"
 
 #. type: TP
-#: doc/tin.1:1796
+#: doc/tin.1:1838
 #, no-wrap
 msgid "B<(default_author_search)>"
 msgstr "B<(default_author_search)>"
 
 #. type: TP
-#: doc/tin.1:1798
+#: doc/tin.1:1840
 #, no-wrap
 msgid "B<(default_config_search)>"
 msgstr "B<(default_config_search)>"
 
 #. type: Plain text
-#: doc/tin.1:1801 doc/tin.5:1517
+#: doc/tin.1:1843 doc/tin.5:1569
 msgid "The last article/author/config option that was searched for."
 msgstr "Der letzte Artikel/Autor/Konfigurationsoption, nach dem gesucht wurde."
 
 #. type: TP
-#: doc/tin.1:1801
+#: doc/tin.1:1843
 #, no-wrap
 msgid "B<(default_filter_days)>"
 msgstr "B<(default_filter_days)>"
 
 #. type: Plain text
-#: doc/tin.1:1804 doc/tin.5:1520
+#: doc/tin.1:1846 doc/tin.5:1572
 msgid "Default is 28."
 msgstr "Voreinstellung ist 28."
 
 #. type: TP
-#: doc/tin.1:1804
+#: doc/tin.1:1846
 #, no-wrap
 msgid "B<(default_filter_kill_case)>"
 msgstr "B<(default_filter_kill_case)>"
 
 #. type: Plain text
-#: doc/tin.1:1808 doc/tin.5:1524
+#: doc/tin.1:1850 doc/tin.5:1576
 msgid ""
 "Default for quick (1 key) kill filter case.  ON = filter case sensitive, OFF "
 "= ignore case. Default is OFF."
 msgstr ""
+"Standard fÃ¼r schnellen (1 Taste) Kill-Filter. ON = GroÃŸ-/Kleinschreibung "
+"berÃ¼cksichtigen, OFF = GroÃŸ-/Kleinschreibung ignorieren."
 
 #. type: TP
-#: doc/tin.1:1808
+#: doc/tin.1:1850
 #, no-wrap
 msgid "B<(default_filter_kill_expire)>"
 msgstr "B<(default_filter_kill_expire)>"
 
 #. type: Plain text
-#: doc/tin.1:1813 doc/tin.5:1529
+#: doc/tin.1:1855 doc/tin.5:1581
 msgid ""
 "Default for quick (1 key) kill filter expire.  ON = limit to "
 "B<default_filter_days>, OFF = don't ever expire. Default is OFF."
 msgstr ""
+"Standard fÃ¼r schnellen (1-Taste) Kill-Filter-Ablauf. ON = auf "
+"B<default_filter_days> begrenzen, OFF = niemals ablaufen. Standard ist OFF."
 
 #. type: TP
-#: doc/tin.1:1813
+#: doc/tin.1:1855
 #, no-wrap
 msgid "B<(default_filter_kill_global)>"
 msgstr "B<(default_filter_kill_global)>"
 
 #. type: Plain text
-#: doc/tin.1:1817 doc/tin.5:1533
+#: doc/tin.1:1859 doc/tin.5:1585
 msgid ""
 "Default for quick (1 key) kill filter global.  ON=apply to all groups, "
 "OFF=apply to current group. Default is ON."
 msgstr ""
+"Standard fÃ¼r schnellen (1-Taste) Kill-Filter global. ON = auf alle Gruppen "
+"anwenden, OFF = auf die aktuelle Gruppe anwenden. Standard ist ON."
 
 #. type: TP
-#: doc/tin.1:1817
+#: doc/tin.1:1859
 #, no-wrap
 msgid "B<(default_filter_kill_header)>"
 msgstr "B<(default_filter_kill_header)>"
 
 #. type: Plain text
-#: doc/tin.1:1820 doc/tin.5:1536
+#: doc/tin.1:1862 doc/tin.5:1588
 msgid "Default for quick (1 key) kill filter header."
 msgstr "Voreinstellung fÃ¼r Schnell (1 Tasten) Killfilter Header."
 
 #. type: IP
-#: doc/tin.1:1821 doc/tin.1:1855 doc/tin.1:1998 doc/tin.1:2199 doc/tin.1:2259
-#: doc/tin.1:2378 doc/tin.1:2403 doc/tin.1:2419 doc/tin.1:2471 doc/tin.1:2501
-#: doc/tin.1:2579 doc/tin.1:2611 doc/tin.1:2636 doc/tin.1:2742 doc/tin.5:1724
-#: doc/tin.5:1919 doc/tin.5:1983 doc/tin.5:2133 doc/tin.5:2148 doc/tin.5:2181
-#: doc/tin.5:2231 doc/tin.5:2260 doc/tin.5:2331 doc/tin.5:2380 doc/tin.5:2407
-#: doc/tin.5:2522
+#: doc/tin.1:1863 doc/tin.1:1897 doc/tin.1:2044 doc/tin.1:2250 doc/tin.1:2310
+#: doc/tin.1:2430 doc/tin.1:2455 doc/tin.1:2471 doc/tin.1:2523 doc/tin.1:2553
+#: doc/tin.1:2631 doc/tin.1:2663 doc/tin.1:2688 doc/tin.1:2794 doc/tin.5:1780
+#: doc/tin.5:1980 doc/tin.5:2044 doc/tin.5:2096 doc/tin.5:2197 doc/tin.5:2212
+#: doc/tin.5:2245 doc/tin.5:2298 doc/tin.5:2327 doc/tin.5:2398 doc/tin.5:2447
+#: doc/tin.5:2474 doc/tin.5:2589
 #, no-wrap
 msgid "0"
 msgstr "0"
 
 #. type: Plain text
-#: doc/tin.1:1823 doc/tin.1:1857
+#: doc/tin.1:1865 doc/tin.1:1899
 msgid "\\%''Subject:'' (case sensitive)"
 msgstr "\\%''Subject:'' (GroÃŸ/Kleinschreibung beachten)"
 
 #. type: IP
-#: doc/tin.1:1823 doc/tin.1:1857 doc/tin.1:2004 doc/tin.1:2201 doc/tin.1:2261
-#: doc/tin.1:2380 doc/tin.1:2407 doc/tin.1:2421 doc/tin.1:2473 doc/tin.1:2503
-#: doc/tin.1:2581 doc/tin.1:2613 doc/tin.1:2638 doc/tin.1:2744 doc/tin.5:1731
-#: doc/tin.5:1921 doc/tin.5:1985 doc/tin.5:2034 doc/tin.5:2137 doc/tin.5:2150
-#: doc/tin.5:2183 doc/tin.5:2233 doc/tin.5:2262 doc/tin.5:2333 doc/tin.5:2382
-#: doc/tin.5:2409 doc/tin.5:2524
+#: doc/tin.1:1865 doc/tin.1:1899 doc/tin.1:2050 doc/tin.1:2252 doc/tin.1:2312
+#: doc/tin.1:2432 doc/tin.1:2459 doc/tin.1:2473 doc/tin.1:2525 doc/tin.1:2555
+#: doc/tin.1:2633 doc/tin.1:2665 doc/tin.1:2690 doc/tin.1:2796 doc/tin.5:1787
+#: doc/tin.5:1982 doc/tin.5:2046 doc/tin.5:2098 doc/tin.5:2201 doc/tin.5:2214
+#: doc/tin.5:2247 doc/tin.5:2300 doc/tin.5:2329 doc/tin.5:2400 doc/tin.5:2449
+#: doc/tin.5:2476 doc/tin.5:2591
 #, no-wrap
 msgid "1"
 msgstr "1"
 
 #. type: Plain text
-#: doc/tin.1:1825 doc/tin.1:1859
+#: doc/tin.1:1867 doc/tin.1:1901
 msgid "\\%''Subject:'' (ignore case)"
 msgstr "\\%''Subject:'' (GroÃŸ/Kleinschreibung ignorieren)"
 
 #. type: IP
-#: doc/tin.1:1825 doc/tin.1:1859 doc/tin.1:2009 doc/tin.1:2203 doc/tin.1:2265
-#: doc/tin.1:2383 doc/tin.1:2423 doc/tin.1:2475 doc/tin.1:2506 doc/tin.1:2583
-#: doc/tin.1:2615 doc/tin.1:2640 doc/tin.1:2746 doc/tin.5:1736 doc/tin.5:1923
-#: doc/tin.5:1989 doc/tin.5:2038 doc/tin.5:2153 doc/tin.5:2185 doc/tin.5:2235
-#: doc/tin.5:2265 doc/tin.5:2335 doc/tin.5:2384 doc/tin.5:2411 doc/tin.5:2526
+#: doc/tin.1:1867 doc/tin.1:1901 doc/tin.1:2055 doc/tin.1:2254 doc/tin.1:2316
+#: doc/tin.1:2435 doc/tin.1:2475 doc/tin.1:2527 doc/tin.1:2558 doc/tin.1:2635
+#: doc/tin.1:2667 doc/tin.1:2692 doc/tin.1:2798 doc/tin.5:1792 doc/tin.5:1984
+#: doc/tin.5:2050 doc/tin.5:2102 doc/tin.5:2217 doc/tin.5:2249 doc/tin.5:2302
+#: doc/tin.5:2332 doc/tin.5:2402 doc/tin.5:2451 doc/tin.5:2478 doc/tin.5:2593
 #, no-wrap
 msgid "2"
 msgstr "2"
 
 #. type: Plain text
-#: doc/tin.1:1827 doc/tin.1:1861
+#: doc/tin.1:1869 doc/tin.1:1903
 msgid "\\%''From:'' (case sensitive)"
 msgstr "\\%''From:'' (GroÃŸ/Kleinschreibung beachten)"
 
 #. type: IP
-#: doc/tin.1:1827 doc/tin.1:1861 doc/tin.1:2205 doc/tin.1:2386 doc/tin.1:2426
-#: doc/tin.1:2477 doc/tin.1:2508 doc/tin.1:2585 doc/tin.1:2642 doc/tin.5:1925
-#: doc/tin.5:2156 doc/tin.5:2188 doc/tin.5:2237 doc/tin.5:2267 doc/tin.5:2337
-#: doc/tin.5:2413
+#: doc/tin.1:1869 doc/tin.1:1903 doc/tin.1:2256 doc/tin.1:2438 doc/tin.1:2478
+#: doc/tin.1:2529 doc/tin.1:2560 doc/tin.1:2637 doc/tin.1:2694 doc/tin.5:1986
+#: doc/tin.5:2220 doc/tin.5:2252 doc/tin.5:2304 doc/tin.5:2334 doc/tin.5:2404
+#: doc/tin.5:2480
 #, no-wrap
 msgid "3"
 msgstr "3"
 
 #. type: Plain text
-#: doc/tin.1:1829 doc/tin.1:1863
+#: doc/tin.1:1871 doc/tin.1:1905
 msgid "\\%''From:'' (ignore case)"
 msgstr "\\%''From:'' (GroÃŸ/Kleinschreibung ignorieren)"
 
 #. type: IP
-#: doc/tin.1:1829 doc/tin.1:1863 doc/tin.1:2207 doc/tin.1:2479 doc/tin.1:2510
-#: doc/tin.1:2588 doc/tin.1:2644 doc/tin.5:1927 doc/tin.5:2044 doc/tin.5:2239
-#: doc/tin.5:2269 doc/tin.5:2339 doc/tin.5:2415
+#: doc/tin.1:1871 doc/tin.1:1905 doc/tin.1:2258 doc/tin.1:2531 doc/tin.1:2562
+#: doc/tin.1:2640 doc/tin.1:2696 doc/tin.5:1988 doc/tin.5:2108 doc/tin.5:2306
+#: doc/tin.5:2336 doc/tin.5:2406 doc/tin.5:2482
 #, no-wrap
 msgid "4"
 msgstr "4"
 
 #. type: Plain text
-#: doc/tin.1:1831 doc/tin.1:1865
+#: doc/tin.1:1873 doc/tin.1:1907
 msgid "\\%''Message-ID:'' & full ''References:'' line"
 msgstr "\\%''Message-ID:'' & alle ''References:'' EintrÃ¤ge"
 
 #. type: IP
-#: doc/tin.1:1831 doc/tin.1:1865 doc/tin.1:2209 doc/tin.1:2481 doc/tin.1:2590
-#: doc/tin.1:2647 doc/tin.5:1929 doc/tin.5:2241 doc/tin.5:2341 doc/tin.5:2418
+#: doc/tin.1:1873 doc/tin.1:1907 doc/tin.1:2260 doc/tin.1:2533 doc/tin.1:2642
+#: doc/tin.1:2699 doc/tin.5:1990 doc/tin.5:2308 doc/tin.5:2408 doc/tin.5:2485
 #, no-wrap
 msgid "5"
 msgstr "5"
 
 #. type: Plain text
-#: doc/tin.1:1833 doc/tin.1:1867
+#: doc/tin.1:1875 doc/tin.1:1909
 msgid "\\%''Message-ID:'' & last ''References:'' entry only"
 msgstr "\\%''Message-ID:'' & letzter ''References:'' Eintrag"
 
 #. type: IP
-#: doc/tin.1:1833 doc/tin.1:1867 doc/tin.1:2483 doc/tin.1:2649 doc/tin.5:2243
-#: doc/tin.5:2420
+#: doc/tin.1:1875 doc/tin.1:1909 doc/tin.1:2535 doc/tin.1:2701 doc/tin.5:2310
+#: doc/tin.5:2487
 #, no-wrap
 msgid "6"
 msgstr "6"
 
 #. type: Plain text
-#: doc/tin.1:1835 doc/tin.1:1869
+#: doc/tin.1:1877 doc/tin.1:1911
 msgid "\\%''Message-ID:'' entry only"
 msgstr "\\%''Message-ID:'' allein"
 
 #. type: IP
-#: doc/tin.1:1835 doc/tin.1:1869 doc/tin.1:2486 doc/tin.1:2651 doc/tin.5:2246
-#: doc/tin.5:2422
+#: doc/tin.1:1877 doc/tin.1:1911 doc/tin.1:2538 doc/tin.1:2703 doc/tin.5:2313
+#: doc/tin.5:2489
 #, no-wrap
 msgid "7"
 msgstr "7"
 
 #. type: Plain text
-#: doc/tin.1:1837 doc/tin.1:1871
+#: doc/tin.1:1879 doc/tin.1:1913
 msgid "\\%''Lines:''"
 msgstr "\\%''Lines:''"
 
 #. type: TP
-#: doc/tin.1:1838
+#: doc/tin.1:1880
 #, no-wrap
 msgid "B<(default_filter_select_case)>"
 msgstr "B<(default_filter_select_case)>"
 
 #. type: Plain text
-#: doc/tin.1:1842 doc/tin.5:1553
+#: doc/tin.1:1884 doc/tin.5:1605
 msgid ""
 "Default for quick (1 key) auto-selection filter case. ON=filter case "
 "sensitive, OFF=ignore case. Default is OFF."
 msgstr ""
+"Standard fÃ¼r den schnellen (1 Taste) automatischen Auswahlfilter. EIN = "
+"GroÃŸ-/Kleinschreibung berÃ¼cksichtigen, AUS = GroÃŸ-/Kleinschreibung "
+"ignorieren."
 
 #. type: TP
-#: doc/tin.1:1842
+#: doc/tin.1:1884
 #, no-wrap
 msgid "B<(default_filter_select_expire)>"
 msgstr "B<(default_filter_select_expire)>"
 
 #. type: Plain text
-#: doc/tin.1:1847 doc/tin.5:1558
+#: doc/tin.1:1889 doc/tin.5:1610
 msgid ""
 "Default for quick (1 key) auto-selection filter expire.  ON = limit to "
 "B<default_filter_days>, OFF = don't ever expire.  Default is OFF."
 msgstr ""
+"Standard fÃ¼r schnellen (1-Taste) Auto-Auswahlfilter-Ablauf. ON = auf "
+"B<default_filter_days> begrenzen, OFF = niemals ablaufen. Standard ist OFF."
 
 #. type: TP
-#: doc/tin.1:1847
+#: doc/tin.1:1889
 #, no-wrap
 msgid "B<(default_filter_select_global)>"
 msgstr "B<(default_filter_select_global)>"
 
 #. type: Plain text
-#: doc/tin.1:1851 doc/tin.5:1562
+#: doc/tin.1:1893 doc/tin.5:1614
 msgid ""
 "Default for quick (1 key) auto-selection filter global.  ON=apply to all "
 "groups, OFF=apply to current group. Default is ON."
 msgstr ""
+"Standard fÃ¼r schnellen (1-Taste) Auto-Auswahlfilter global. ON = auf alle "
+"Gruppen anwenden, OFF = auf die aktuelle Gruppe anwenden. Standard ist ON."
 
 #. type: TP
-#: doc/tin.1:1851
+#: doc/tin.1:1893
 #, no-wrap
 msgid "B<(default_filter_select_header)>"
 msgstr "B<(default_filter_select_header)>"
 
 #. type: Plain text
-#: doc/tin.1:1854 doc/tin.5:1565
+#: doc/tin.1:1896 doc/tin.5:1617
 msgid "Default for quick (1 key) auto-selection filter header."
 msgstr ""
+"Standardheader fÃ¼r den Filter mit schneller automatischer Auswahl (1 Taste)."
 
 #. type: TP
-#: doc/tin.1:1872
+#: doc/tin.1:1914
 #, no-wrap
 msgid "B<(default_goto_group)>"
 msgstr "B<(default_goto_group)>"
 
 #. type: TP
-#: doc/tin.1:1874
+#: doc/tin.1:1916
 #, no-wrap
 msgid "B<(default_group_search)>"
 msgstr "B<(default_group_search)>"
 
 #. type: TP
-#: doc/tin.1:1876
+#: doc/tin.1:1918
 #, no-wrap
 msgid "B<(default_mail_address)>"
 msgstr "B<(default_mail_address)>"
 
 #. type: TP
-#: doc/tin.1:1878
+#: doc/tin.1:1920
 #, no-wrap
 msgid "B<(default_move_group)>"
 msgstr "B<(default_move_group)>"
 
 #. type: TP
-#: doc/tin.1:1880
+#: doc/tin.1:1922
 #, no-wrap
 msgid "B<(default_pattern)>"
 msgstr "B<(default_pattern)>"
 
 #. type: TP
-#: doc/tin.1:1882
+#: doc/tin.1:1924
 #, no-wrap
 msgid "B<(default_pipe_command)>"
 msgstr "B<(default_pipe_command)>"
 
 #. type: TP
-#: doc/tin.1:1884
+#: doc/tin.1:1926
 #, no-wrap
 msgid "B<(default_post_newsgroups)>"
 msgstr "B<(default_post_newsgroups)>"
 
 #. type: TP
-#: doc/tin.1:1886
+#: doc/tin.1:1928
 #, no-wrap
 msgid "B<(default_post_subject)>"
 msgstr "B<(default_post_subject)>"
 
 #. type: TP
-#: doc/tin.1:1888
+#: doc/tin.1:1930
 #, no-wrap
 msgid "B<(default_range_group)>"
 msgstr "B<(default_range_group)>"
 
 #. type: TP
-#: doc/tin.1:1890
+#: doc/tin.1:1932
 #, no-wrap
 msgid "B<(default_range_select)>"
 msgstr "B<(default_range_select)>"
 
 #. type: TP
-#: doc/tin.1:1892
+#: doc/tin.1:1934
 #, no-wrap
 msgid "B<(default_range_thread)>"
 msgstr "B<(default_range_thread)>"
 
 #. type: TP
-#: doc/tin.1:1894
+#: doc/tin.1:1936
 #, no-wrap
 msgid "B<(default_repost_group)>"
 msgstr "B<(default_repost_group)>"
 
 #. type: TP
-#: doc/tin.1:1896
+#: doc/tin.1:1938
 #, no-wrap
 msgid "B<(default_save_file)>"
 msgstr "B<(default_save_file)>"
 
 #. type: TP
-#: doc/tin.1:1898
+#: doc/tin.1:1940
 #, no-wrap
 msgid "B<(default_save_mode)>"
 msgstr "B<(default_save_mode)>"
 
 #. type: TP
-#: doc/tin.1:1900
+#: doc/tin.1:1942
 #, no-wrap
 msgid "B<(default_select_pattern)>"
 msgstr "B<(default_select_pattern)>"
 
 #. type: TP
-#: doc/tin.1:1902
+#: doc/tin.1:1944
 #, no-wrap
 msgid "B<(default_shell_command)>"
 msgstr "B<(default_shell_command)>"
 
 #. type: TP
-#: doc/tin.1:1904
+#: doc/tin.1:1946
 #, no-wrap
 msgid "B<(default_subject_search)>"
 msgstr "B<(default_subject_search)>"
 
 #. type: TP
-#: doc/tin.1:1906
+#: doc/tin.1:1948
 #, no-wrap
-msgid "B<Draw -E<gt> instead of highlighted bar (draw_arrow)>"
-msgstr "B<Zeige -E<gt> anstatt einer Markierung (draw_arrow)>"
+msgid "B<Don't break words when wrapping (dont_break_words)>"
+msgstr "B<Keine Worttrennungen beim Umbrechen (dont_break_words)>"
 
 #. type: Plain text
-#: doc/tin.1:1910 doc/tin.5:1616
+#: doc/tin.1:1952 doc/tin.5:1668
 msgid ""
-"Allows groups/articles to be selected by an arrow '-E<gt>' if set ON or by a "
-"highlighted bar if set OFF. Default is OFF."
+"Do not break long lines inside a word. This applies to the body except for "
+"verbatim blocks. See also B<wrap_column>. Default is OFF."
 msgstr ""
+"Lange Zeilen nicht innerhalb eines Wortes Umrechen. Dies gilt fÃ¼r den "
+"ArtikelkÃ¶rper mit Ausnahme von wortgetreuen BlÃ¶cken. Siehe auch "
+"B<wrap_column>. Die Voreinstellung ist OFF."
 
 #. type: TP
-#: doc/tin.1:1910
+#: doc/tin.1:1952
+#, no-wrap
+msgid "B<Draw \\(-E<gt> instead of highlighted bar (draw_arrow)>"
+msgstr "B<Zeige \\(-E<gt> anstatt einer Markierung (draw_arrow)>"
+
+#. type: Plain text
+#: doc/tin.1:1956
+msgid ""
+"Allows groups/articles to be selected by an arrow '\\(-E<gt>' if set ON or "
+"by a highlighted bar if set OFF. Default is OFF."
+msgstr ""
+"ErmÃ¶glicht die Auswahl von Gruppen/Artikeln mit einem Pfeil '\\(-E<gt>', "
+"wenn aktiviert, oder durch eine hervorgehobene Leiste, wenn deaktiviert. Der "
+"Standardwert ist OFF."
+
+#. type: TP
+#: doc/tin.1:1956
 #, no-wrap
 msgid "B<Invocation of your editor (editor_format)>"
 msgstr "B<Aufruf Ihres Editors (editor_format)>"
 
 #. type: Plain text
-#: doc/tin.1:1916
+#: doc/tin.1:1962
 msgid ""
 "The format string used to create the editor start command with parameters.  "
 "Default is '%E +%N %F' with %E=Editor, %N=Linenumber and %F=Filename (e.g., /"
-"bin/vi +7 .article). See also $B<VISUAL> and $B<EDITOR> under \"ENVIRONMENT"
-"\"."
+"bin/vi +7 .article). See also $B<VISUAL> and $B<EDITOR> under "
+"\"ENVIRONMENT\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1916
+#: doc/tin.1:1962
 #, no-wrap
 msgid "B<Detection of external quotes (extquote_handling)>"
 msgstr "B<Fremdzitate erkennen (extquote_handling)>"
 
 #. type: Plain text
-#: doc/tin.1:1919 doc/tin.5:1626
+#: doc/tin.1:1965 doc/tin.5:1682
 msgid "If ON quotes from external sources will be detected. Default is OFF."
 msgstr ""
 "Falls ON werden Fremdzitate in Artikeln erkannt. Voreinstellung ist ON."
 
 #. type: TP
-#: doc/tin.1:1919
+#: doc/tin.1:1965
 #, no-wrap
 msgid "B<Regex used to show external quotes (extquote_regex)>"
 msgstr "B<RegulÃ¤rer Ausd. fÃ¼r Zeilen mit Fremdzitaten (extquote_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:1924
+#: doc/tin.1:1970
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_extquote>. If B<extquote_regex> is blank, "
@@ -4899,13 +5094,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1924
+#: doc/tin.1:1970
 #, no-wrap
 msgid "B<Force redraw after certain commands (force_screen_redraw)>"
 msgstr "B<Anzeigeauffrischung nach Kommandos (force_screen_redraw)>"
 
 #. type: Plain text
-#: doc/tin.1:1928 doc/tin.5:1637
+#: doc/tin.1:1974 doc/tin.5:1693
 msgid ""
 "Specifies whether a screen redraw should always be done after certain "
 "external commands. Default is OFF."
@@ -4914,13 +5109,13 @@ msgstr ""
 "Bildschirms durchgefÃ¼hrt werden soll. Standard ist OFF."
 
 #. type: TP
-#: doc/tin.1:1928
+#: doc/tin.1:1974
 #, no-wrap
 msgid "B<Number of articles to get (getart_limit)>"
 msgstr "B<Anzahl der zu holenden Artikel (getart_limit)>"
 
 #. type: Plain text
-#: doc/tin.1:1935
+#: doc/tin.1:1981
 msgid ""
 "If B<getart_limit> is E<gt> 0 not more than the last B<getart_limit> "
 "articles/group are fetched from the server. If B<getart_limit> is E<lt> 0 "
@@ -4929,13 +5124,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1935
+#: doc/tin.1:1981
 #, no-wrap
 msgid "B<Catchup group using left key (group_catchup_on_exit)>"
 msgstr "B<Catchup der Gruppe mit l. Cursor (group_catchup_on_exit)>"
 
 #. type: Plain text
-#: doc/tin.1:1938 doc/tin.5:1661
+#: doc/tin.1:1984 doc/tin.5:1717
 msgid ""
 "If ON catchup group when leaving with the left arrow key. Default is ON."
 msgstr ""
@@ -4943,30 +5138,31 @@ msgstr ""
 "linken Cursortaste. Voreinstellung ist ON."
 
 #. type: TP
-#: doc/tin.1:1938
+#: doc/tin.1:1984
 #, no-wrap
 msgid "B<Format string for the Group level (group_format)>"
 msgstr "B<Formatanweisung fÃ¼r die Gruppenebene (group_format)>"
 
 #. type: Plain text
-#: doc/tin.1:1942
+#: doc/tin.1:1988
 msgid ""
 "Format string B<tin> uses for Group level representation. See the section "
 "\"CUSTOMIZING THE SCREEN FORMAT\". Default is \"%n\\ %m\\ %R\\ %L\\ \\ %s\\ "
 "\\ %F\"."
 msgstr ""
 "Diese Formatanweisung wird von B<tin> zur Darstellung der Gruppenebene "
-"benutzt. FÃ¼r weitere Informationen sei auf den Abschnitt \"ANSICHTEN ANPASSEN"
-"\" verwiesen. Voreingestellt ist \"%n\\ %m\\ %R\\ %L\\ \\ %s\\ \\ %F\"."
+"benutzt. FÃ¼r weitere Informationen sei auf den Abschnitt \"ANSICHTEN "
+"ANPASSEN\" verwiesen. Voreingestellt ist \"%n\\ %m\\ %R\\ %L\\ \\ %s\\ \\ "
+"%F\"."
 
 #. type: TP
-#: doc/tin.1:1942
+#: doc/tin.1:1988
 #, no-wrap
 msgid "B<Go to the next unread article with (goto_next_unread)>"
 msgstr "B<Zum nÃ¤chsten ungelesenen Artikel... (goto_next_unread)>"
 
 #. type: Plain text
-#: doc/tin.1:1950
+#: doc/tin.1:1996
 msgid ""
 "Which keys B<tin> should accept to jump to the next unread article.  "
 "Possible is any combination of B<PageDown> and B<PageNextUnread>.  When "
@@ -4977,13 +5173,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1950
+#: doc/tin.1:1996
 #, no-wrap
 msgid "B<Display uue data as an attachment (hide_uue)>"
 msgstr "B<Zeige uue-Teile als Anhang (hide_uue)>"
 
 #. type: Plain text
-#: doc/tin.1:1960 doc/tin.5:1691
+#: doc/tin.1:2006 doc/tin.5:1747
 msgid ""
 "If set to 'No' then raw uuencoded data is displayed. If set to 'Yes' then "
 "sections of uuencoded data will be shown with a single tag line showing the "
@@ -4993,49 +5189,66 @@ msgid ""
 "article but can also lead to false positives. This setting can also be "
 "toggled in the article viewer.  Default is 'No'."
 msgstr ""
+"Falls auf 'Nein' gesetzt, werden die Rohdaten im uuencoded Format angezeigt. "
+"Wenn auf 'Ja' gesetzt, werden Abschnitte von uuencoded Daten mit einer "
+"einzigen Tag-Zeile angezeigt, die die GrÃ¶ÃŸe und den Dateinamen zeigt "
+"(Ã¤hnlich wie ein MIME-Anhang). Falls auf 'Alle ausblenden' gesetzt, wird "
+"jede Zeile, die wie uuencoded Daten aussieht, in eine Tag-Zeile umgewandelt. "
+"Dies ist nÃ¼tzlich, wenn uuencoded Daten Ã¼ber mehr als einen Artikel verteilt "
+"sind, kann aber auch zu falschen Positiven fÃ¼hren. Diese Einstellung kann "
+"auch im Artikelbetrachter umgeschaltet werden. Der Standardwert ist 'Nein'."
 
 #. type: TP
-#: doc/tin.1:1960
+#: doc/tin.1:2006
 #, no-wrap
 msgid "B<External inews (inews_prog)>"
 msgstr "B<Externes inews-Programm (inews_prog)>"
 
 #. type: Plain text
-#: doc/tin.1:1967 doc/tin.5:1698
+#: doc/tin.1:2013 doc/tin.5:1754
 msgid ""
 "Path, name and options of external B<\\%inews>(1).  If you are reading via "
 "NNTP the default value is \"--internal\" (use built-in NNTP inews), else it "
 "is \"inews -h\". The article is passed to B<inews_prog> on STDIN via 'E<lt> "
 "article'."
 msgstr ""
+"Pfad, Name und Optionen des externen B<\\%inews>(1). Wenn Sie Ã¼ber NNTP "
+"lesen, ist der Standardwert \"--internal\" (verwende eingebautes NNTP "
+"inews), ansonsten ist es \"inews -h\". Der Artikel wird mittels 'E<lt> "
+"Artikel' an B<inews_prog> via STDIN Ã¼bergeben."
 
 #. type: TP
-#: doc/tin.1:1967
+#: doc/tin.1:2013
 #, no-wrap
 msgid "B<(info_in_last_line)>"
 msgstr "B<(info_in_last_line)>"
 
 #. type: Plain text
-#: doc/tin.1:1974 doc/tin.5:1704
+#: doc/tin.1:2020 doc/tin.5:1760
 msgid ""
 "If ON, show current group description or article subject in the last line "
 "(not in the pager and global menu) \\(em B<ToggleInfoLastLine> ('B<i>')  "
 "toggles setting. This facility is useful as the full width of the screen is "
 "available to display long subjects. Default is OFF."
 msgstr ""
+"Wenn ON, zeigen Sie die aktuelle Gruppenbeschreibung oder den Artikelbereich "
+"in der letzten Zeile an (nicht im Pager und im globalen MenÃ¼) \\(em "
+"B<ToggleInfoLastLine> ('B<i>') wechselt die Einstellung. Diese Funktion ist "
+"nÃ¼tzlich, da die volle Breite des Bildschirms zur VerfÃ¼gung steht, um lange "
+"Betreffzeilen anzuzeigen. Voreinstellung ist OFF."
 
 #. type: TP
-#: doc/tin.1:1974
+#: doc/tin.1:2020
 #, no-wrap
 msgid "B<Use interactive mail reader (interactive_mailer)>"
 msgstr "B<Benutze interaktives Mailprogramm (interactive_mailer)>"
 
 #. type: Plain text
-#: doc/tin.1:1981
+#: doc/tin.1:2027
 msgid ""
 "Interactive mailreader: if greater than 0 your mailreader will be invoked "
-"earlier for reply so you can use more of its features (e.g. MIME, pgp, ...). "
-"1 means include headers, 2 means don't include headers (old "
+"earlier for reply so you can use more of its features (e.g., MIME, "
+"pgp, ...). 1 means include headers, 2 means don't include headers (old "
 "use_mailreader_i=ON option). 0 turns off usage. This option has to suit "
 "B<mailer_format>. Default is 0."
 msgstr ""
@@ -5044,13 +5257,13 @@ msgstr ""
 #.        mono_mark* currently do allow "Reverse video" even if
 #.        inverse_okay=FALSE
 #. type: TP
-#: doc/tin.1:1981
+#: doc/tin.1:2027
 #, no-wrap
 msgid "B<Use inverse video for page headers (inverse_okay)>"
 msgstr "B<Inverse Darstellung fÃ¼r die Header (inverse_okay)>"
 
 #. type: Plain text
-#: doc/tin.1:1988 doc/tin.5:1714
+#: doc/tin.1:2034 doc/tin.5:1770
 msgid ""
 "If ON use inverse video for page headers and URL highlighting.  Default is "
 "ON."
@@ -5059,34 +5272,38 @@ msgstr ""
 "benutzen. Voreinstellung ist ON."
 
 #. type: TP
-#: doc/tin.1:1988
+#: doc/tin.1:2034
 #, no-wrap
 msgid "B<Keep failed arts in ~/dead.articles (keep_dead_articles)>"
 msgstr "B<Halte Fehlschl. in ~/dead.articles (keep_dead_articles)>"
 
 #. type: Plain text
-#: doc/tin.1:1993 doc/tin.5:1719
+#: doc/tin.1:2039 doc/tin.5:1775
 msgid ""
 "If ON keep all failed postings in I<${TIN_HOMEDIR:-\"$HOME\"}/dead.articles> "
 "besides keeping the last failed posting in I<${TIN_HOMEDIR:-\"$HOME\"}/dead."
 "article>. Default is ON."
 msgstr ""
+"Wenn ON, alle fehlgeschlagenen BeitrÃ¤ge in I<${TIN_HOMEDIR:-\"$HOME\"}/dead."
+"articles> behalten, zusÃ¤tzlich zum Speichern des letzten fehlgeschlagenen "
+"Beitrags in I<${TIN_HOMEDIR:-\"$HOME\"}/dead.article>. Die Voreinstellung "
+"ist ON."
 
 #. type: TP
-#: doc/tin.1:1993
+#: doc/tin.1:2039
 #, no-wrap
 msgid "B<Filter which articles (kill_level)>"
 msgstr "B<Filter (kill) anwenden auf (kill_level)>"
 
 #. type: Plain text
-#: doc/tin.1:1997
+#: doc/tin.1:2043
 msgid ""
 "This option controls the processing and display of articles that are "
 "killed.  There are 3 options:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2004
+#: doc/tin.1:2050
 msgid ""
 "B<Kill only unread arts> is the 'traditional' behavior of B<tin>. Only "
 "unread articles are killed once only by marking them read. As filtering only "
@@ -5096,64 +5313,81 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2009 doc/tin.5:1736
+#: doc/tin.1:2055 doc/tin.5:1792
 msgid ""
 "B<Kill all arts & show with K> will process all articles in the group and "
 "therefore there is a processing overhead when using this option. Killed "
 "articles are threaded as normal but they will be marked with "
 "B<art_marked_killed>."
 msgstr ""
+"B<Killt alle Artikel, markiert mit K> wird auf alle Artikel in der Gruppe "
+"angewendet und verursacht daher einen erhÃ¶hten Bearbeitungsaufwand, falls "
+"diese Option verwendet wird. GelÃ¶schte Artikel werden wie gewohnt in Threads "
+"angezeigt, sind jedoch mit B<art_marked_killed> markiert."
 
 #. type: Plain text
-#: doc/tin.1:2013 doc/tin.5:1740
+#: doc/tin.1:2059 doc/tin.5:1796
 msgid ""
 "B<Kill all arts and never show> will process all articles in the group and "
 "therefore there is a processing overhead when using this option. Killed "
 "articles simply does not get displayed at all."
 msgstr ""
+"B<Killt alle Artikel, zeigt sie nie> wird alle Artikel in der Gruppe "
+"angewendet und verursacht daher einen erhÃ¶hten Bearbeitungsaufwand, falls "
+"diese Option verwendet wird. GelÃ¶schte Artikel werden Ã¼berhaupt nicht "
+"angezeigt."
 
 #. type: Plain text
-#: doc/tin.1:2015
+#: doc/tin.1:2061
 msgid "Default is 0 (B<Kill only unread arts>)."
 msgstr "Voreinstellung ist 0 (B<Killt nur ungelesene Artikel>)."
 
 #. type: TP
-#: doc/tin.1:2015
+#: doc/tin.1:2061
 #, no-wrap
 msgid "B<Use 8bit characters in mail headers (mail_8bit_header)>"
 msgstr "B<Benutze 8bit Zeichen im Mail Header (mail_8bit_header)>"
 
 #. type: Plain text
-#: doc/tin.1:2021 doc/tin.5:1747
+#: doc/tin.1:2067 doc/tin.5:1803
 msgid ""
 "Allows 8bit characters unencoded in the header of mail message. Default is "
 "OFF. Turning it ON is effective only if B<mail_mime_encoding> is also set to "
 "8bit. Leaving it OFF is safe for most users and compliant to Internet Mail "
 "Standard (B<RFC\\%5322> and B<RFC\\%2047>). Default is OFF."
 msgstr ""
+"Erlaubt unkodierte 8-Bit-Zeichen im Header von E-Mail-Nachrichten. Der "
+"Standardwert ist OFF. Das Aktivieren hat nur Wirkung, wenn "
+"B<mail_mime_encoding> auch auf 8bit gesetzt ist. Das Beibehalten auf OFF ist "
+"fÃ¼r die meisten Benutzer sicher und entspricht dem Internet Mail Standard "
+"(B<RFC\\%5322> und B<RFC\\%2047>). Die Voreinstellung ist OFF."
 
 #. type: TP
-#: doc/tin.1:2021
+#: doc/tin.1:2067
 #, no-wrap
 msgid "B<Mail address (mail_address)>"
 msgstr "B<Mailadresse (und Name) (mail_address)>"
 
 #. type: Plain text
-#: doc/tin.1:2029
+#: doc/tin.1:2075
 msgid ""
 "User's mail address (and full name), if not username@host. This is used when "
 "creating articles, sending mail and when B<\\%pgp>(1)  / B<\\%gpg>(1)  "
 "signing (B<RFC\\%4880>)."
 msgstr ""
+"E-Mail-Adresse des Benutzers (und vollstÃ¤ndiger Name), falls nicht "
+"benutzername@host. Wird beim Erstellen von Artikeln, beim Versenden von E-"
+"Mails und beim Signieren mit B<\\%pgp>(1) / B<\\%gpg>(1) (B<RFC\\%4880>) "
+"verwendet."
 
 #. type: TP
-#: doc/tin.1:2029
+#: doc/tin.1:2075
 #, no-wrap
 msgid "B<MIME encoding in mail messages (mail_mime_encoding)>"
 msgstr "B<MIME-Kodierung fÃ¼r E-Mails (mail_mime_encoding)>"
 
 #. type: Plain text
-#: doc/tin.1:2033 doc/tin.5:1757
+#: doc/tin.1:2079 doc/tin.5:1813
 msgid ""
 "MIME encoding of the body in mail message, if necessary (8bit, base64, "
 "quoted-printable, 7bit). Default is quoted-printable."
@@ -5162,31 +5396,33 @@ msgstr ""
 "(8bit, base64, quoted-printable, 7bit). Voreinstellung ist quoted-printable."
 
 #. type: TP
-#: doc/tin.1:2033
+#: doc/tin.1:2079
 #, no-wrap
 msgid "B<Quote line when mailing (mail_quote_format)>"
 msgstr "B<Einleitungszeile bei Mailantwort (mail_quote_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2038 doc/tin.5:1762
+#: doc/tin.1:2085 doc/tin.5:1819
 msgid ""
 "Format of quote line when replying (via mail) to an article (%A=Address, "
 "%D=Date, %F=Fullname+Address, %G=Groupname, %M=Message-ID, %N=Fullname, "
-"%C=Firstname, %I=Initials). Default is \"In article %M you wrote:\""
+"%C=Firstname, %I=Initials). If the article has multiple addresses only the "
+"first is evaluated. Default is \"In article %M you wrote:\""
 msgstr ""
 "Format der Einleitungszeile fÃ¼r Mailantworten (%A=Mailadresse, %D=Datum, "
 "%F=Name und Adresse, %G=Name der Gruppe, %M=Message-ID, %N=Name des Autors, "
-"%C=Vorname des Autors, %I=Initialen des Autor). Voreinstellung ist \"In "
+"%C=Vorname des Autors, %I=Initialen des Autor). Falls der Artikel mehrere "
+"Adressen hat, wird nur die erste ausgewertet. Voreinstellung ist \"In "
 "article %M you wrote:\"."
 
 #. type: TP
-#: doc/tin.1:2038
+#: doc/tin.1:2085
 #, no-wrap
 msgid "B<Format of the mailbox (mailbox_format)>"
 msgstr "B<Mailbox-Format (mailbox_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2048 doc/tin.5:1772
+#: doc/tin.1:2095 doc/tin.5:1829
 msgid ""
 "Select one of the following mailbox-formats: MBOXO (default, except on SCO), "
 "MBOXRD or MMDF (default on SCO). See B<\\%mbox>(5)  and B<RFC\\%4155> for "
@@ -5195,13 +5431,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2048
+#: doc/tin.1:2095
 #, no-wrap
 msgid "B<Mail directory (maildir)>"
 msgstr "B<Mail Verzeichnis (maildir)>"
 
 #. type: Plain text
-#: doc/tin.1:2057 doc/tin.5:1781
+#: doc/tin.1:2104 doc/tin.5:1838
 msgid ""
 "The directory where articles/threads are to be saved in B<\\%mbox>(5)  "
 "format. This feature is mainly for use with the B<\\%mutt>(1)  mail program. "
@@ -5210,13 +5446,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2057
+#: doc/tin.1:2104
 #, no-wrap
 msgid "B<Invocation of your mail command (mailer_format)>"
 msgstr "B<Aufruf Ihres Mailkommandos (mailer_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2063 doc/tin.5:1787
+#: doc/tin.1:2110 doc/tin.5:1844
 msgid ""
 "The format string used to create the mailer command with parameters that is "
 "used for mailing articles to other people. Default is '%M \"%T\" E<lt> "
@@ -5225,21 +5461,19 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2069 doc/tin.5:1793
+#: doc/tin.1:2115 doc/tin.5:1849
 #, no-wrap
 msgid ""
 "sendmail -oem -t E<lt> %F\n"
-"mutt -s \"%S\" -- \"%T\" E<lt> %F\n"
 "mutt -H %F\n"
 "claws-mail --compose \"mailto:%T?subject=%S&insert=%F\"\n"
 msgstr ""
 "sendmail -oem -t E<lt> %F\n"
-"mutt -s \"%S\" -- \"%T\" E<lt> %F\n"
 "mutt -H %F\n"
 "claws-mail --compose \"mailto:%T?subject=%S&insert=%F\"\n"
 
 #. type: Plain text
-#: doc/tin.1:2073 doc/tin.5:1797
+#: doc/tin.1:2119 doc/tin.5:1853
 msgid ""
 "B<interactive_mailer> must be set adequate. The following substitutions are "
 "supported:"
@@ -5248,13 +5482,13 @@ msgstr ""
 "werden unterstÃ¼tzt:"
 
 #. type: ta
-#: doc/tin.1:2075 doc/tin.5:1799
+#: doc/tin.1:2121 doc/tin.5:1855
 #, no-wrap
 msgid "\\w'%S'u +\\w'default_mailer'u"
 msgstr "\\w'%S'u +\\w'default_mailer'u"
 
 #. type: Plain text
-#: doc/tin.1:2082 doc/tin.5:1806
+#: doc/tin.1:2128 doc/tin.5:1862
 #, no-wrap
 msgid ""
 "%F\tfilename\n"
@@ -5272,13 +5506,13 @@ msgstr ""
 "%%\t%\n"
 
 #. type: TP
-#: doc/tin.1:2084
+#: doc/tin.1:2130
 #, no-wrap
 msgid "B<'Mark as (un)read' ignores tags (mark_ignore_tags)>"
 msgstr "B<'Art. (un)gelesen markieren' ignorie... (mark_ignore_tags)>"
 
 #. type: Plain text
-#: doc/tin.1:2092 doc/tin.5:1819
+#: doc/tin.1:2138 doc/tin.5:1875
 msgid ""
 "When this is ON, the B<GroupMarkThdRead> ('B<K>'), B<ThreadMarkArtRead> "
 "('B<K>'), B<MarkThdUnread> ('B<Z>') at Group level and B<MarkArtUnread> "
@@ -5289,26 +5523,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2092
+#: doc/tin.1:2138
 #, no-wrap
 msgid "B<Mark saved articles/threads as read (mark_saved_read)>"
 msgstr "B<Mark. gesp. Artikel/Threads gelesen (mark_saved_read)>"
 
 #. type: Plain text
-#: doc/tin.1:2095 doc/tin.5:1811
+#: doc/tin.1:2141 doc/tin.5:1867
 msgid "If ON mark articles that are saved as read. Default is ON."
 msgstr ""
 "Falls ON werden gespeicherte Artikel als gelesen markiert. Voreinstellung "
 "ist ON."
 
 #. type: TP
-#: doc/tin.1:2095
+#: doc/tin.1:2141
 #, no-wrap
 msgid "B<Viewer program for MIME articles (metamail_prog)>"
 msgstr "B<MIME-Viewer (metamail_prog)>"
 
 #. type: Plain text
-#: doc/tin.1:2107 doc/tin.5:1831
+#: doc/tin.1:2153 doc/tin.5:1887
 msgid ""
 "Path, name and options of external B<\\%metamail>(1)  program used to view "
 "non-textual parts of articles.  To use the built-in viewer, set to --"
@@ -5319,13 +5553,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2107
+#: doc/tin.1:2153
 #, no-wrap
 msgid "B<MM_CHARSET (mm_charset)>"
 msgstr "B<MM_CHARSET (mm_charset)>"
 
 #. type: Plain text
-#: doc/tin.1:2120 doc/tin.5:1844
+#: doc/tin.1:2168
 msgid ""
 "Charset supported locally, which is also used for MIME header (charset "
 "parameter and charset name in header encoding) in mail and news postings. If "
@@ -5334,29 +5568,30 @@ msgid ""
 "represented as '?'. Otherwise, all character sets are regarded as compatible "
 "with the display. If it's not set, the value of the environment variable "
 "$B<MM_CHARSET> is used. US-ASCII or compile-time default is used in case "
-"neither of them is defined. If your system supports B<\\%iconv>(3), this "
-"option is disabled and you should use B<mm_network_charset> instead."
+"neither of them is defined. If your system supports B<\\%iconv>(3), or B<\\"
+"%ucnv_*>(), this option is disabled and you should use B<mm_network_charset> "
+"instead."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2120
+#: doc/tin.1:2168
 #, no-wrap
 msgid "B<MM_NETWORK_CHARSET (mm_network_charset)>"
 msgstr "B<MM_NETWORK_CHARSET (mm_network_charset)>"
 
 #. type: Plain text
-#: doc/tin.1:2131 doc/tin.5:1855
+#: doc/tin.1:2181
 msgid ""
 "Charset used for posting and MIME headers; replaces B<mm_charset>.  "
-"Conversion between B<mm_network_charset> and local charset (determined via B<"
-"\\%nl_langinfo>(3))  is done via B<\\%iconv>(3), if this function is not "
-"available on your system this option is disabled and you have to use "
-"B<mm_charset> instead. B<mm_network_charset> is limited to one of the "
-"following charsets:"
+"Conversion between B<mm_network_charset> and local charset (determined via "
+"B<\\%nl_langinfo>(3))  is done via B<\\%iconv>(3), or B<\\%ucnv_*>(), if "
+"none of these functions are available on your system this option is disabled "
+"and you have to use B<mm_charset> instead. B<mm_network_charset> is limited "
+"to one of the following charsets:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2134 doc/tin.5:1858
+#: doc/tin.1:2184 doc/tin.5:1918
 msgid ""
 "US-ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8-{R,U,RU} EUC-{CN,JP,"
 "KR,TW}, ISO-2022-{CN,CN-EXT,JP,JP-1,JP-2}, Big5, UTF-8"
@@ -5365,7 +5600,7 @@ msgstr ""
 "KR,TW}, ISO-2022-{CN,CN-EXT,JP,JP-1,JP-2}, Big5, UTF-8"
 
 #. type: Plain text
-#: doc/tin.1:2140 doc/tin.5:1864
+#: doc/tin.1:2190 doc/tin.5:1924
 msgid ""
 "Not all values might work on your system, see B<\\%iconv_open>(3)  for more "
 "details. If it's not set, the value of the environment variable "
@@ -5374,13 +5609,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2140
+#: doc/tin.1:2190
 #, no-wrap
 msgid "B<Attribute of highlighting with _dash_ (mono_markdash)>"
 msgstr "B<Hervorhebungsattr. _Unterstriche_ (mono_markdash)>"
 
 #. type: Plain text
-#: doc/tin.1:2145 doc/tin.5:1869
+#: doc/tin.1:2195 doc/tin.5:1929
 msgid ""
 "Character attribute of words emphasized like _this_. It depends on your "
 "terminal which attributes are usable. See also B<word_h_display_marks> and "
@@ -5388,13 +5623,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2145
+#: doc/tin.1:2195
 #, no-wrap
 msgid "B<Attribute of highlighting with /slash/ (mono_markslash)>"
 msgstr "B<Hervorhebungsattr. /SchrÃ¤gstriche/ (mono_markslash)>"
 
 #. type: Plain text
-#: doc/tin.1:2150 doc/tin.5:1874
+#: doc/tin.1:2200 doc/tin.5:1934
 msgid ""
 "Character attribute of words emphasized like /this/. It depends on your "
 "terminal which attributes are usable. See also B<word_h_display_marks> and "
@@ -5402,13 +5637,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2150
+#: doc/tin.1:2200
 #, no-wrap
 msgid "B<Attribute of highlighting with *stars* (mono_markstar)>"
 msgstr "B<Hervorhebungsattribute *Sterne* (mono_markstar)>"
 
 #. type: Plain text
-#: doc/tin.1:2155 doc/tin.5:1879
+#: doc/tin.1:2205 doc/tin.5:1939
 msgid ""
 "Character attribute of words emphasized like *this*. It depends on your "
 "terminal which attributes are usable. See also B<word_h_display_marks> and "
@@ -5416,13 +5651,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2155
+#: doc/tin.1:2205
 #, no-wrap
 msgid "B<Attribute of highlighting with -stroke- (mono_markstroke)>"
 msgstr "B<Hervorhebungsattr. -Durchstreich.- (mono_markstroke)>"
 
 #. type: Plain text
-#: doc/tin.1:2160 doc/tin.5:1884
+#: doc/tin.1:2210 doc/tin.5:1944
 msgid ""
 "Character attribute of words emphasized like -this-. It depends on your "
 "terminal which attributes are usable. See also B<word_h_display_marks> and "
@@ -5430,26 +5665,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2160
+#: doc/tin.1:2210
 #, no-wrap
 msgid "B<(newnews)>"
 msgstr "B<(newnews)>"
 
 #. type: Plain text
-#: doc/tin.1:2164
+#: doc/tin.1:2214
 msgid ""
 "These are internal timers used by B<tin> to keep track of new newsgroups.  "
 "Do not change them unless you understand what they are for."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2164
+#: doc/tin.1:2214
 #, no-wrap
 msgid "B<Display these header fields (or *) (news_headers_to_display)>"
-msgstr "B<or *) (news_headers_to_display>"
+msgstr "B<Zeige diese Header-Felder (oder *) (news_headers_to_display)>"
 
 #. type: Plain text
-#: doc/tin.1:2171 doc/tin.5:1897
+#: doc/tin.1:2221 doc/tin.5:1957
 msgid ""
 "Which news headers you wish to see. If you want to see _all_ the headers, "
 "place an '*' as this value. This is the only way a wildcard can be used.  If "
@@ -5465,13 +5700,13 @@ msgstr ""
 "diese Option deaktiviert."
 
 #. type: TP
-#: doc/tin.1:2171
+#: doc/tin.1:2221
 #, no-wrap
 msgid "B<Do not display these header fields (news_headers_to_not_display)>"
 msgstr "B<Zeige folgende Header nicht an (news_headers_to_not_display)>"
 
 #. type: Plain text
-#: doc/tin.1:2180 doc/tin.5:1906
+#: doc/tin.1:2230 doc/tin.5:1966
 msgid ""
 "Same as B<news_headers_to_display> except it denotes the opposite. An "
 "example of using both options might be if you thought 'X-' headers were A "
@@ -5480,39 +5715,41 @@ msgid ""
 "B<news_headers_to_not_display=X-Alan X-Pape> Not defining anything turns off "
 "this option."
 msgstr ""
-"Genau das Gleiche wie 'news_headers_to_display', mit der Ausnahme, das es "
-"das Gegenteil bewirkt. Wenn Sie dachten, das die X- Header eine tolle Sachen "
+"Genau das Gleiche wie B<news_headers_to_display>, mit der Ausnahme, das es "
+"das Gegenteil bewirkt. Wenn Sie dachten, das X-Header eine tolle Sachen "
 "waren, nun aber festgestellt haben, das dort einiges Ã¼berflÃ¼ssiges steht, "
 "dann kÃ¶nnten Sie wie folgt vorgehen: B<news_headers_to_display=X-> "
 "B<news_headers_to_not_display=X-Alan X-Pape> Wenn Sie hier nichts angeben, "
 "wird diese Option deaktiviert."
 
 #. type: TP
-#: doc/tin.1:2180
+#: doc/tin.1:2230
 #, no-wrap
 msgid "B<Quote line when following up (news_quote_format)>"
 msgstr "B<Einleitungszeile beim Antworten (news_quote_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2185 doc/tin.5:1911
+#: doc/tin.1:2236 doc/tin.5:1972
 msgid ""
 "Format of quote line when posting/following up an article (%A=Address, "
 "%D=Date, %F=Fullname+Address, %G=Groupname, %M=Message-ID, %N=Fullname, "
-"%C=Firstname, %I=Initials). Default is \"%F wrote:\"."
+"%C=Firstname, %I=Initials). If the article has multiple addresses only the "
+"first is evaluated. Default is \"%F wrote:\"."
 msgstr ""
 "Format der Einleitungszeile fÃ¼r Newsartikel (%A=Mailadresse, %D=Datum, "
 "%F=Name und Adresse, %G=Name der Gruppe, %M=Message-ID, %N=Name des Autors, "
-"%C=Vorname des Autors, %I=Initialen des Autor). Voreinstellung ist \"%F "
-"wrote:\"."
+"%C=Vorname des Autors, %I=Initialen des Autor). Falls der Artikel mehrere "
+"Adressen hat, wird nur die erste ausgewertet. Voreinstellung ist \"%F wrote:"
+"\"."
 
 #. type: TP
-#: doc/tin.1:2185
+#: doc/tin.1:2236
 #, no-wrap
 msgid "B<NNTP read timeout in seconds (nntp_read_timeout_secs)>"
 msgstr "B<NNTP-lese Zeitlimit in Sekunden (nntp_read_timeout_secs)>"
 
 #. type: Plain text
-#: doc/tin.1:2194
+#: doc/tin.1:2245
 msgid ""
 "Time in seconds to wait for a response from the server. Default is 120.  "
 "Setting this to 0 means no timeout. As if you use the \"B<-C>\" option in "
@@ -5524,13 +5761,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2194
+#: doc/tin.1:2245
 #, no-wrap
 msgid "B<Unicode normalization form (normalization_form)>"
 msgstr "B<Unicode Normalisierungsart (normalization_form)>"
 
 #. type: Plain text
-#: doc/tin.1:2198
+#: doc/tin.1:2249
 msgid ""
 "The normalization form B<tin> should use to normalize unicode input.  The "
 "possible values are:"
@@ -5539,33 +5776,33 @@ msgstr ""
 "normalisieren. Die mÃ¶glichen Werte sind:"
 
 #. type: Plain text
-#: doc/tin.1:2201 doc/tin.5:1921
+#: doc/tin.1:2252 doc/tin.5:1982
 msgid "B<None>: no normalization"
 msgstr "B<None>: keine Normalisierung"
 
 #. type: Plain text
-#: doc/tin.1:2203 doc/tin.5:1923
+#: doc/tin.1:2254 doc/tin.5:1984
 msgid "B<NFKC>: Compatibility Decomposition, followed by Canonical Composition"
 msgstr ""
 "B<NFKC>: KompatibilitÃ¤tszerlegung, gefolgt von kanonischer Zusammensetzung"
 
 #. type: Plain text
-#: doc/tin.1:2205 doc/tin.5:1925
+#: doc/tin.1:2256 doc/tin.5:1986
 msgid "B<NFKD>: Compatibility Decomposition"
 msgstr "B<NFKD>: KompatibilitÃ¤tszerlegung"
 
 #. type: Plain text
-#: doc/tin.1:2207 doc/tin.5:1927
+#: doc/tin.1:2258 doc/tin.5:1988
 msgid "B<NFC>: Canonical Decomposition, followed by Canonical Composition"
 msgstr "B<NFC>: Kanonische Zerlegung, gefolgt von kanonischer Zusammensetzung"
 
 #. type: Plain text
-#: doc/tin.1:2209 doc/tin.5:1929
+#: doc/tin.1:2260 doc/tin.5:1990
 msgid "B<NFD>: Canonical Decomposition"
 msgstr "B<NFD>: Kanonische Zerlegung"
 
 #. type: Plain text
-#: doc/tin.1:2211 doc/tin.5:1931
+#: doc/tin.1:2262 doc/tin.5:1992
 msgid ""
 "B<NFKC_CF>: Compatibility Decomposition, followed by Canonical Composition "
 "and Case Folding"
@@ -5574,23 +5811,24 @@ msgstr ""
 "Zusammensetzung und Faltung"
 
 #. type: Plain text
-#: doc/tin.1:2215
+#: doc/tin.1:2266
 msgid ""
 "Some normalization modes are only available if they are supported by the "
-"library B<tin> uses to do the normalization. NFC should be used if possible."
+"library B<tin> uses to do the normalization. NFC should be used if possible "
+"(B<RFC\\%5198>)."
 msgstr ""
 "Einige Normalisierungsarten sind nur verfÃ¼gbar, wenn sie von der Bibliothek "
 "unterstÃ¼tzt werden, die B<tin> verwendet, um die Normalisierung "
-"durchzufÃ¼hren. Nach MÃ¶glichkeit sollte NFC verwendet werden."
+"durchzufÃ¼hren. Nach MÃ¶glichkeit sollte NFC verwendet werden (B<RFC\\%5198>)."
 
 #. type: TP
-#: doc/tin.1:2215
+#: doc/tin.1:2266
 #, no-wrap
 msgid "B<Format string for the display of mime header at Article level (page_mime_format)>"
 msgstr "B<Formatanweisung fÃ¼r Mime-Header auf Artikelebene (page_mime_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2220
+#: doc/tin.1:2271
 msgid ""
 "Format string B<tin> uses for mime header at Page level. See the section "
 "\"CUSTOMIZING THE SCREEN FORMAT\".  Default is \"[-- %T%S%*n%z%*l%!c%!d%*e "
@@ -5598,17 +5836,17 @@ msgid ""
 msgstr ""
 "Diese Formatanweisung wird von B<tin> zur Darstellung von Mime-Headern auf "
 "Artikelebene benutzt. Fr weitere Informationen sei auf den Abschnitt "
-"\"ANSICHTEN ANPASSEN\" verwiesen. Voreingestellt ist \"[-- %T%S%*n%z%*l%!c%!d"
-"%*e--]\"."
+"\"ANSICHTEN ANPASSEN\" verwiesen. Voreingestellt ist \"[-- %T%S%*n%z%*l%!c%!"
+"d%*e--]\"."
 
 #. type: TP
-#: doc/tin.1:2220
+#: doc/tin.1:2271
 #, no-wrap
 msgid "B<Format string for the display of uue header at Article level (page_uue_format)>"
 msgstr "B<Formatanweisung fÃ¼r die Anzeige des UUE-Headers auf Artikelebene (page_uue_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2225
+#: doc/tin.1:2276
 msgid ""
 "Format string B<tin> uses for uue header at Page level. See the section "
 "\"CUSTOMIZING THE SCREEN FORMAT\".  Default is \"[-- %T%S%*n%I%!d%*e --]\"."
@@ -5619,13 +5857,13 @@ msgstr ""
 "--]\"."
 
 #. type: TP
-#: doc/tin.1:2225
+#: doc/tin.1:2276
 #, no-wrap
 msgid "B<Go to first unread article in group (pos_first_unread)>"
 msgstr "B<Setze Cursor auf ersten ungel. Art. (pos_first_unread)>"
 
 #. type: Plain text
-#: doc/tin.1:2229 doc/tin.5:1952
+#: doc/tin.1:2280 doc/tin.5:2013
 msgid ""
 "If ON put cursor at first unread article in group otherwise at last article. "
 "Default is ON."
@@ -5634,13 +5872,13 @@ msgstr ""
 "gesetzt, andernfalls auf den letzten Artikel."
 
 #. type: TP
-#: doc/tin.1:2229
+#: doc/tin.1:2280
 #, no-wrap
 msgid "B<Use 8bit characters in news headers (post_8bit_header)>"
 msgstr "B<Benutze 8bit-Zeichen im Newsheader (post_8bit_header)>"
 
 #. type: Plain text
-#: doc/tin.1:2240 doc/tin.5:1963
+#: doc/tin.1:2291 doc/tin.5:2024
 msgid ""
 "Allows 8bit characters unencoded in the header of a news article, if set "
 "this also disables the generation of MIME-headers when they are usually "
@@ -5653,13 +5891,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2240
+#: doc/tin.1:2291
 #, no-wrap
 msgid "B<MIME encoding in news messages (post_mime_encoding)>"
 msgstr "B<MIME-Kodierung in Newsartikeln (post_mime_encoding)>"
 
 #. type: Plain text
-#: doc/tin.1:2245 doc/tin.5:1968
+#: doc/tin.1:2296 doc/tin.5:2029
 msgid ""
 "MIME encoding of the body in news message, if necessary. (8bit, base64, "
 "quoted-printable, 7bit). Default is 8bit, which leads to no encoding.  "
@@ -5667,13 +5905,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2245
+#: doc/tin.1:2296
 #, no-wrap
 msgid "B<View post-processed files (post_process_view)>"
 msgstr "B<Nachbearbeitete Artikel anzeigen (post_process_view)>"
 
 #. type: Plain text
-#: doc/tin.1:2252
+#: doc/tin.1:2303
 msgid ""
 "If ON, then B<tin> will start an appropriate viewer program to display any "
 "files that were post processed and uudecoded. The program is determined "
@@ -5681,13 +5919,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2252
+#: doc/tin.1:2303
 #, no-wrap
 msgid "B<Post process saved articles (post_process_type)>"
 msgstr "B<Nachbearbeiten gespeichert. Artikel (post_process_type)>"
 
 #. type: Plain text
-#: doc/tin.1:2258 doc/tin.5:1982
+#: doc/tin.1:2309 doc/tin.5:2043
 msgid ""
 "This specifies whether to perform post processing on saved articles.  "
 "Because the shell archive may contain commands you may not want to be "
@@ -5696,29 +5934,29 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2261 doc/tin.5:1985
+#: doc/tin.1:2312 doc/tin.5:2046
 msgid "B<No> (default), no post processing is done."
 msgstr "B<Nein> (Voreinstellung), es wird keine Nachbearbeitung gemacht."
 
 #. type: Plain text
-#: doc/tin.1:2265 doc/tin.5:1989
+#: doc/tin.1:2316 doc/tin.5:2050
 msgid "B<Shell archives>, unpacking of multi-part B<\\%shar>(1)  files only."
 msgstr ""
 "B<Shell-Archive>, Entpacken nur von mehrteiligen B<\\%shar>(1)-Dateien."
 
 #. type: Plain text
-#: doc/tin.1:2267 doc/tin.5:1991
+#: doc/tin.1:2318 doc/tin.5:2052
 msgid "B<Yes>, binary attachments and data will be decoded and saved."
 msgstr "B<Ja>, binÃ¤re AnhÃ¤nge und Daten werden dekodiert und gespeichert."
 
 #. type: TP
-#: doc/tin.1:2268
+#: doc/tin.1:2319
 #, no-wrap
 msgid "B<Filename to be used for storing posted articles (posted_articles_file)>"
 msgstr "B<Gepostete Artikel speichern in (posted_articles_file)>"
 
 #. type: Plain text
-#: doc/tin.1:2276 doc/tin.5:2000
+#: doc/tin.1:2327 doc/tin.5:2061
 msgid ""
 "Keep posted articles in given file. If the given filename does not contain "
 "any expandable strings it will be prefixed with I<${TIN_HOMEDIR:-\"$HOME\"}/"
@@ -5728,26 +5966,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2276
+#: doc/tin.1:2327
 #, no-wrap
 msgid "B<Print all headers when printing (print_header)>"
 msgstr "B<Alle Header beim Drucken ausgeben (print_header)>"
 
 #. type: Plain text
-#: doc/tin.1:2280 doc/tin.5:2004
+#: doc/tin.1:2331 doc/tin.5:2065
 msgid ""
 "If ON, then the full article header is sent to the printer. Otherwise only "
 "the ''Subject:'' and ''From:'' fields are output. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2280
+#: doc/tin.1:2331
 #, no-wrap
 msgid "B<Printer program with options (printer)>"
 msgstr "B<Druckprogramm mit Optionen (printer)>"
 
 #. type: Plain text
-#: doc/tin.1:2289
+#: doc/tin.1:2340
 msgid ""
 "The printer program with options that is to be used to print articles.  The "
 "default is B<\\%lpr>(1)  for BSD machines and B<\\%lp>(1)  for SysV "
@@ -5756,13 +5994,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2289
+#: doc/tin.1:2340
 #, no-wrap
 msgid "B<Process only unread articles (process_only_unread)>"
 msgstr "B<Bearbeite nur ungelesene Artikel (process_only_unread)>"
 
 #. type: Plain text
-#: doc/tin.1:2293 doc/tin.5:2018
+#: doc/tin.1:2344 doc/tin.5:2079
 msgid ""
 "If ON only save/print/pipe/mail unread articles (tagged articles excepted).  "
 "Default is OFF."
@@ -5771,42 +6009,43 @@ msgstr ""
 "Artikel ausgenommen). Voreinstellung ist OFF."
 
 #. type: TP
-#: doc/tin.1:2293
+#: doc/tin.1:2344
 #, no-wrap
 msgid "B<Show empty Followup-To in editor (prompt_followupto)>"
 msgstr "B<Leeres Fup'2 im Editor anzeigen (prompt_followupto)>"
 
 #. type: Plain text
-#: doc/tin.1:2297
+#: doc/tin.1:2348
 msgid ""
 "If ON show empty ''Followup-To:'' header when editing an article. Default is "
 "OFF."
 msgstr ""
-"Falls ON zeige leere Followup-To:-Kopfzeile im Editor. Voreinstellung ist "
-"OFF."
+"Falls ON zeige leere ''Followup-To:''-Kopfzeile im Editor. Voreinstellung "
+"ist OFF."
 
 #. type: TP
-#: doc/tin.1:2297
+#: doc/tin.1:2348
 #, no-wrap
 msgid "B<Characters used as quote-marks (quote_chars)>"
 msgstr "B<Zitatzeichen (quote_chars)>"
 
 #. type: Plain text
-#: doc/tin.1:2302 doc/tin.5:2027
+#: doc/tin.1:2354 doc/tin.5:2089
 msgid ""
 "The character used in quoting included text to article followups and mail "
 "replies. The '_' character represents a blank character and is replaced with "
-"' ' when read, %I is replaced by author's initials. Default is 'E<gt>_'."
+"' ' when read, %I is replaced by author's initials. If the article has "
+"multiple addresses only the first is evaluated. Default is 'E<gt>_'."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2302
+#: doc/tin.1:2354
 #, no-wrap
 msgid "B<Quoting behavior (quote_style)>"
 msgstr "B<Zitierverhalten (quote_style)>"
 
 #. type: Plain text
-#: doc/tin.1:2309
+#: doc/tin.1:2361
 msgid ""
 "How articles should be quoted when following up or replying to them. There "
 "are a number of things that can be done: empty lines can be quoted, "
@@ -5817,7 +6056,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2313
+#: doc/tin.1:2365
 msgid ""
 "When you are viewing an article in raw mode ('B<^H>'), and follow up or "
 "reply to it, the signature will be quoted even if it would otherwise not "
@@ -5825,13 +6064,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2313
+#: doc/tin.1:2365
 #, no-wrap
 msgid "B<Regex used to show quoted lines (quote_regex)>"
 msgstr "B<RegulÃ¤rer Ausd. fÃ¼r zit. Zeilen (quote_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2318
+#: doc/tin.1:2370
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote>. If B<quote_regex> is blank, then "
@@ -5839,13 +6078,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2318
+#: doc/tin.1:2370
 #, no-wrap
 msgid "B<Regex used to show twice quoted l. (quote_regex2)>"
 msgstr "B<Reg. Ausd. fÃ¼r zweifach zitierte Z. (quote_regex2)>"
 
 #. type: Plain text
-#: doc/tin.1:2323
+#: doc/tin.1:2375
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote2>. If B<quote_regex2> is blank, then "
@@ -5853,13 +6092,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2323
+#: doc/tin.1:2375
 #, no-wrap
 msgid "B<Regex used to show E<gt>= 3 times q.l. (quote_regex3)>"
 msgstr "B<Reg. Ausd. fÃ¼r E<gt>=3-fach zitierte Z. (quote_regex3)>"
 
 #. type: Plain text
-#: doc/tin.1:2328
+#: doc/tin.1:2380
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote3>. If B<quote_regex3> is blank, then "
@@ -5867,13 +6106,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2328
+#: doc/tin.1:2380
 #, no-wrap
 msgid "B<Article recentness time limit (recent_time)>"
 msgstr "B<Artikel Neuheitszeit-Limit (recent_time)>"
 
 #. type: Plain text
-#: doc/tin.1:2332 doc/tin.5:2072
+#: doc/tin.1:2384 doc/tin.5:2136
 msgid ""
 "If set to 0, this feature is deactivated, otherwise it means the number of "
 "days. Default is 2."
@@ -5882,26 +6121,26 @@ msgstr ""
 "die Anzahl der Tage."
 
 #. type: TP
-#: doc/tin.1:2332
+#: doc/tin.1:2384
 #, no-wrap
 msgid "B<Render BiDi (render_bidi)>"
 msgstr "B<BiDi wiedergeben (render_bidi)>"
 
 #. type: Plain text
-#: doc/tin.1:2336
+#: doc/tin.1:2388
 msgid ""
 "If ON B<tin> does the rendering of bi-directional text. If OFF B<tin> leaves "
 "the rendering of bi-directional text to the terminal. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2336
+#: doc/tin.1:2388
 #, no-wrap
 msgid "B<Interval in seconds to reread active (reread_active_file_secs)>"
 msgstr "B<Active alle ... Sekunden neu lesen (reread_active_file_secs)>"
 
 #. type: Plain text
-#: doc/tin.1:2341 doc/tin.5:2084
+#: doc/tin.1:2393 doc/tin.5:2148
 msgid ""
 "The news I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file is "
 "reread at regular intervals to show if any new news has arrived. Default is "
@@ -5909,13 +6148,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2341
+#: doc/tin.1:2393
 #, no-wrap
 msgid "B<Directory to save arts/threads in (savedir)>"
 msgstr "B<Verz. um Art/Threads zu speichern (savedir)>"
 
 #. type: Plain text
-#: doc/tin.1:2345 doc/tin.5:2088
+#: doc/tin.1:2397 doc/tin.5:2152
 msgid ""
 "Directory where articles/threads are saved. Default is I<${TIN_HOMEDIR:-"
 "\"$HOME\"}/News>."
@@ -5924,65 +6163,65 @@ msgstr ""
 "I<${TIN_HOMEDIR:-\"$HOME\"}/News>."
 
 #. type: TP
-#: doc/tin.1:2345
+#: doc/tin.1:2397
 #, no-wrap
 msgid "B<Score limit (kill) (score_limit_kill)>"
 msgstr "B<Bewertungsgrenze (kill) (score_limit_kill)>"
 
 #. type: Plain text
-#: doc/tin.1:2349 doc/tin.5:2092
+#: doc/tin.1:2401 doc/tin.5:2156
 msgid ""
 "If the score of an article is below or equal this value the article gets "
 "marked as killed."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2349
+#: doc/tin.1:2401
 #, no-wrap
 msgid "B<Score limit (select) (score_limit_select)>"
 msgstr "B<Bewertungsgrenze (select) (score_limit_select)>"
 
 #. type: Plain text
-#: doc/tin.1:2353 doc/tin.5:2096
+#: doc/tin.1:2405 doc/tin.5:2160
 msgid ""
 "If the score of an article is above or equal this value the article gets "
 "marked as hot."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2353
+#: doc/tin.1:2405
 #, no-wrap
 msgid "B<Default score to kill articles (score_kill)>"
 msgstr "B<Bewertung fÃ¼r gekillte Artikel (score_kill)>"
 
 #. type: Plain text
-#: doc/tin.1:2357 doc/tin.5:2100
+#: doc/tin.1:2409 doc/tin.5:2164
 msgid ""
 "Score of an article which should be killed, this must be E<lt>= "
 "B<score_limit_kill>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2357
+#: doc/tin.1:2409
 #, no-wrap
 msgid "B<Default score to select articles (score_select)>"
 msgstr "B<Bewertung fÃ¼r wichtige Artikel (score_select)>"
 
 #. type: Plain text
-#: doc/tin.1:2361 doc/tin.5:2104
+#: doc/tin.1:2413 doc/tin.5:2168
 msgid ""
 "Score of an article which should be marked hot, this must be E<gt>= "
 "B<score_limit_select>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2361
+#: doc/tin.1:2413
 #, no-wrap
 msgid "B<Number of lines to scroll in pager (scroll_lines)>"
 msgstr "B<BlÃ¤ttere Artikel um ... Zeilen (scroll_lines)>"
 
 #. type: Plain text
-#: doc/tin.1:2369
+#: doc/tin.1:2421
 msgid ""
 "The number of lines that will be scrolled up/down in the article pager when "
 "using cursor-up/down. The default is 1 (line-by-line). Set to 0 to get "
@@ -5993,30 +6232,30 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2369
+#: doc/tin.1:2421
 #, no-wrap
 msgid "B<Format string for the Selection level (select_format)>"
 msgstr "B<Formatanweisung fÃ¼r die Auswahlebene (select_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2373
+#: doc/tin.1:2425
 msgid ""
 "Format string B<tin> uses for Selection level representation. See the "
-"section \"CUSTOMIZING THE SCREEN FORMAT\". Default is \"%f\\ %n\\ %U\\ \\ %G"
-"\\ \\ %d\"."
+"section \"CUSTOMIZING THE SCREEN FORMAT\". Default is \"%f\\ %n\\ %U\\ \\ "
+"%G\\ \\ %d\"."
 msgstr ""
 "Diese Formatanweisung wird von B<tin> zur Darstellung der Auswahlebene "
-"benutzt. FÃ¼r weitere Informationen sei auf den Abschnitt \"ANSICHTEN ANPASSEN"
-"\" verwiesen. Voreingestellt ist \"%f\\ %n\\ %U\\ \\ %G\\ \\ %d\"."
+"benutzt. FÃ¼r weitere Informationen sei auf den Abschnitt \"ANSICHTEN "
+"ANPASSEN\" verwiesen. Voreingestellt ist \"%f\\ %n\\ %U\\ \\ %G\\ \\ %d\"."
 
 #. type: TP
-#: doc/tin.1:2373
+#: doc/tin.1:2425
 #, no-wrap
 msgid "B<In group and thread level, show author by (show_author)>"
 msgstr "B<Im Gruppen- und Threadlevel, zeige Autor an mit (show_author)>"
 
 #. type: Plain text
-#: doc/tin.1:2377 doc/tin.5:2147
+#: doc/tin.1:2429 doc/tin.5:2211
 msgid ""
 "Which information about the author should be shown. Default is 2, authors "
 "full name."
@@ -6025,39 +6264,39 @@ msgstr ""
 "Voreinstellung ist 2, der vollstÃ¤ndige Name des Autors."
 
 #. type: Plain text
-#: doc/tin.1:2380 doc/tin.5:2150
+#: doc/tin.1:2432 doc/tin.5:2214
 msgid "B<None>, only the ''Subject:'' line will be displayed."
 msgstr "B<Nichts>, nur die ''Subject:'' Zeile wird angezeigt."
 
 #. type: Plain text
-#: doc/tin.1:2383 doc/tin.5:2153
+#: doc/tin.1:2435 doc/tin.5:2217
 msgid ""
 "B<Address>, ''Subject:'' line & the address part of the ''From:'' line are "
 "displayed."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2386 doc/tin.5:2156
+#: doc/tin.1:2438 doc/tin.5:2220
 msgid ""
 "B<Full Name>, ''Subject:'' line & the authors full name part of the "
 "\\&''From:'' line are displayed (default)."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2389 doc/tin.5:2159
+#: doc/tin.1:2441 doc/tin.5:2223
 msgid ""
 "B<Address and Name>, ''Subject:'' line & all of the ''From:'' line are "
 "displayed."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2390
+#: doc/tin.1:2442
 #, no-wrap
 msgid "B<Show description of each newsgroup (show_description)>"
 msgstr "B<Zeige Beschreibung der Newsgruppen (show_description)>"
 
 #. type: Plain text
-#: doc/tin.1:2399
+#: doc/tin.1:2451
 msgid ""
 "If ON show a short group description text after newsgroup name at the group "
 "selection level. The ''B<-d>'' command-line flag will override the setting "
@@ -6068,23 +6307,23 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2399
+#: doc/tin.1:2451
 #, no-wrap
 msgid "B<Function for sorting articles (sort_function)>"
 msgstr "B<Sortierfunktion (sort_function)>"
 
 #. type: Plain text
-#: doc/tin.1:2402 doc/tin.5:2132
+#: doc/tin.1:2454 doc/tin.5:2196
 msgid "Function used for sorting articles. Default is 0."
 msgstr "Sortierfunktion fÃ¼r Artikel. Voreinstellung ist 0."
 
 #. type: Plain text
-#: doc/tin.1:2407 doc/tin.5:2137
+#: doc/tin.1:2459 doc/tin.5:2201
 msgid "Use B<\\%qsort>(3)  for sorting."
 msgstr "Mit B<\\%qsort>(3) sortieren."
 
 #. type: Plain text
-#: doc/tin.1:2412 doc/tin.5:2142
+#: doc/tin.1:2464 doc/tin.5:2206
 msgid ""
 "Use B<\\%heapsort>(3)  for sorting. This might be faster in large groups "
 "with long threads (somewhat presorted data)."
@@ -6093,50 +6332,50 @@ msgstr ""
 "schneller sein."
 
 #. type: TP
-#: doc/tin.1:2413
+#: doc/tin.1:2465
 #, no-wrap
 msgid "B<Show help/mail sign in level titles (show_help_mail_sign)>"
 msgstr "B<Zeige Hilfe/Mail-Zeichen im Ebenentitel (show_help_mail_sign)>"
 
 #. type: Plain text
-#: doc/tin.1:2418
+#: doc/tin.1:2470
 msgid ""
 "Allows you to select whether B<tin> shows a help indication, a new mail "
 "indication, both, or neither in the various level titles.  Default is 3."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2421 doc/tin.5:2183
+#: doc/tin.1:2473 doc/tin.5:2247
 msgid "B<Don't show help or mail sign>."
 msgstr "B<Kein Hilfe- oder Mailanzeige>."
 
 #. type: Plain text
-#: doc/tin.1:2423 doc/tin.5:2185
+#: doc/tin.1:2475 doc/tin.5:2249
 msgid "B<Show only help sign>."
 msgstr "B<Nur Hilfe anzeigen>."
 
 #. type: Plain text
-#: doc/tin.1:2426 doc/tin.5:2188
+#: doc/tin.1:2478 doc/tin.5:2252
 msgid ""
 "B<Show only mail sign if new mail>, show only the mail sign, and only if new "
 "mail has arrived."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2429 doc/tin.5:2191
+#: doc/tin.1:2481 doc/tin.5:2255
 msgid ""
 "B<Show mail if new mail else help s.>, show mail sign if new mail has "
 "arrived otherwise show help sign."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2430
+#: doc/tin.1:2482
 #, no-wrap
 msgid "B<Show only unread articles (show_only_unread_arts)>"
 msgstr "B<Zeige nur ungelesene Artikel (show_only_unread_arts)>"
 
 #. type: Plain text
-#: doc/tin.1:2434 doc/tin.5:2196
+#: doc/tin.1:2486 doc/tin.5:2260
 msgid ""
 "If ON show only new/unread articles otherwise show all articles.  Default is "
 "ON."
@@ -6145,13 +6384,13 @@ msgstr ""
 "alle Artikel angezeigt."
 
 #. type: TP
-#: doc/tin.1:2434
+#: doc/tin.1:2486
 #, no-wrap
 msgid "B<Show only groups with unread arts (show_only_unread_groups)>"
 msgstr "B<Zeige nur Gruppen mit ungel. Art. (show_only_unread_groups)>"
 
 #. type: Plain text
-#: doc/tin.1:2438 doc/tin.5:2200
+#: doc/tin.1:2490 doc/tin.5:2264
 msgid ""
 "If ON show only subscribed groups that contain unread articles. Default is "
 "OFF."
@@ -6160,24 +6399,24 @@ msgstr ""
 "ist OFF."
 
 #. type: TP
-#: doc/tin.1:2438
+#: doc/tin.1:2490
 #, no-wrap
 msgid "B<Display signatures (show_signatures)>"
 msgstr "B<Zeige Signaturen an (show_signatures)>"
 
 #. type: Plain text
-#: doc/tin.1:2441 doc/tin.5:2203
+#: doc/tin.1:2493 doc/tin.5:2267
 msgid "If OFF don't show signatures when displaying articles. Default is ON."
 msgstr "Falls OFF zeige keine Signaturen an. Voreinstellung ist ON."
 
 #. type: TP
-#: doc/tin.1:2441
+#: doc/tin.1:2493
 #, no-wrap
 msgid "B<Display score (show_art_score)>"
 msgstr "B<Zeige Bewertung an (show_art_score)>"
 
 #. type: Plain text
-#: doc/tin.1:2445 doc/tin.5:2164
+#: doc/tin.1:2497 doc/tin.5:2228
 msgid ""
 "If ON show article score in the lower left corner when displaying articles.  "
 "Default is OFF. See also B<col_score_neg> and B<col_score_pos>."
@@ -6187,26 +6426,26 @@ msgstr ""
 "B<col_score_pos>."
 
 #. type: TP
-#: doc/tin.1:2445
+#: doc/tin.1:2497
 #, no-wrap
 msgid "B<Prepend signature with '\\en-- \\en' (sigdashes)>"
 msgstr "B<Trenne Sig mit '\\en-- \\en' ab (sigdashes)>"
 
 #. type: Plain text
-#: doc/tin.1:2448 doc/tin.5:2206
+#: doc/tin.1:2500 doc/tin.5:2270
 msgid "If ON prepend the signature with sigdashes. Default is ON."
 msgstr ""
 "Falls ON, wird der Signatur ein Signaturtrenner vorangestellt. "
 "Voreinstellung ist ON."
 
 #. type: TP
-#: doc/tin.1:2448
+#: doc/tin.1:2500
 #, no-wrap
 msgid "B<Create signature from path/command (sigfile)>"
 msgstr "B<Erzeuge Signatur aus Pfad/Kommando (sigfile)>"
 
 #. type: Plain text
-#: doc/tin.1:2458 doc/tin.5:2216
+#: doc/tin.1:2510
 msgid ""
 "The path that specifies the signature file to use when posting, following up "
 "to or replying to an article. If the path is a directory then the signature "
@@ -6219,26 +6458,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2458
+#: doc/tin.1:2510
 #, no-wrap
 msgid "B<Add signature when reposting (signature_repost)>"
 msgstr "B<Signatur beim Reposten anhÃ¤ngen (signature_repost)>"
 
 #. type: Plain text
-#: doc/tin.1:2461 doc/tin.5:2219
+#: doc/tin.1:2513 doc/tin.5:2286
 msgid "If ON add signature to reposted articles. Default is ON."
 msgstr ""
 "Falls ON wird die Signatur auch an repostete Artikel angehÃ¤ngt. "
 "Voreinstellung ist ON."
 
 #. type: TP
-#: doc/tin.1:2461
+#: doc/tin.1:2513
 #, no-wrap
 msgid "B<Regex used to highlight /slashes/ (slashes_regex)>"
 msgstr "B<Reg. fÃ¼r /SchrÃ¤gst./ Hervorhebungen (slashes_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2466
+#: doc/tin.1:2518
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markslash> or B<mono_markslash>. If "
@@ -6246,151 +6485,151 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2466
+#: doc/tin.1:2518
 #, no-wrap
 msgid "B<Sort articles by (sort_article_type)>"
 msgstr "B<Sortiere Artikel nach (sort_article_type)>"
 
 #. type: Plain text
-#: doc/tin.1:2470 doc/tin.5:2230
+#: doc/tin.1:2522 doc/tin.5:2297
 msgid ""
 "This specifies how articles should be sorted. Sort by ascending Date (6) is "
 "the default. The following sort types are allowed:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2473 doc/tin.5:2233
+#: doc/tin.1:2525 doc/tin.5:2300
 msgid "B<Nothing>, don't sort articles."
 msgstr "B<Nichts>, keine Sortierung."
 
 #. type: Plain text
-#: doc/tin.1:2475 doc/tin.5:2235
+#: doc/tin.1:2527 doc/tin.5:2302
 msgid ""
 "B<Subject: (descending)>, sort articles by ''Subject:'' field descending."
 msgstr ""
 "B<Subject: (absteigend)>, Artikel absteigend nach ''Subject:'' sortieren."
 
 #. type: Plain text
-#: doc/tin.1:2477 doc/tin.5:2237
+#: doc/tin.1:2529 doc/tin.5:2304
 msgid "B<Subject: (ascending)>, sort articles by ''Subject:'' field ascending."
 msgstr ""
 "B<Subject: (aufsteigend)>, Artikel aufsteigend nach ''Subject:'' sortieren."
 
 #. type: Plain text
-#: doc/tin.1:2479 doc/tin.5:2239
+#: doc/tin.1:2531 doc/tin.5:2306
 msgid "B<From: (descending)>, sort articles by ''From:'' field descending."
 msgstr "B<From: (absteigend)>, Artikel absteigend nach ''From:'' sortieren."
 
 #. type: Plain text
-#: doc/tin.1:2481 doc/tin.5:2241
+#: doc/tin.1:2533 doc/tin.5:2308
 msgid "B<From: (ascending)>, sort articles by ''From:'' field ascending."
 msgstr "B<From: (aufsteigend)>, Artikel aufsteigend nach ''From:'' sortieren."
 
 #. type: Plain text
-#: doc/tin.1:2483 doc/tin.5:2243
+#: doc/tin.1:2535 doc/tin.5:2310
 msgid "B<Date: (descending)>, sort articles by ''Date:'' field descending."
 msgstr "B<Date: (absteigend)>, Artikel absteigend nach ''Date:'' sortieren."
 
 #. type: Plain text
-#: doc/tin.1:2486 doc/tin.5:2246
+#: doc/tin.1:2538 doc/tin.5:2313
 msgid ""
 "B<Date: (ascending)>, sort articles by ''Date:'' field ascending (default)."
 msgstr "B<Date: (aufsteigend)>, Artikel aufsteigend nach ''Date:'' sortieren."
 
 #. type: Plain text
-#: doc/tin.1:2488 doc/tin.5:2248
+#: doc/tin.1:2540 doc/tin.5:2315
 msgid "B<Score (descending)>, sort articles by filtering score descending."
 msgstr ""
 "B<Bewertung (absteigend)>, Artikel absteigend nach Bewertung sortieren."
 
 #. type: IP
-#: doc/tin.1:2488 doc/tin.5:2248
+#: doc/tin.1:2540 doc/tin.5:2315
 #, no-wrap
 msgid "8"
 msgstr "8"
 
 #. type: Plain text
-#: doc/tin.1:2490 doc/tin.5:2250
+#: doc/tin.1:2542 doc/tin.5:2317
 msgid "B<Score (ascending)>, sort articles by filtering score ascending."
 msgstr ""
 "B<Bewertung (aufsteigend)>, Artikel aufsteigend nach Bewertung sortieren."
 
 #. type: IP
-#: doc/tin.1:2490 doc/tin.5:2250
+#: doc/tin.1:2542 doc/tin.5:2317
 #, no-wrap
 msgid "9"
 msgstr "9"
 
 #. type: Plain text
-#: doc/tin.1:2492 doc/tin.5:2252
+#: doc/tin.1:2544 doc/tin.5:2319
 msgid "B<Lines: (descending)>, sort articles by ''Lines:'' field descending."
 msgstr "B<Lines: (absteigend)>, Artikel absteigend nach ''Lines:'' sortieren."
 
 #. type: IP
-#: doc/tin.1:2492 doc/tin.5:2252
+#: doc/tin.1:2544 doc/tin.5:2319
 #, no-wrap
 msgid "10"
 msgstr "10"
 
 #. type: Plain text
-#: doc/tin.1:2494 doc/tin.5:2254
+#: doc/tin.1:2546 doc/tin.5:2321
 msgid "B<Lines: (ascending)>, sort articles by ''Lines:'' field ascending."
 msgstr ""
 "B<Lines: (aufsteigend)>, Artikel aufsteigend nach ''Lines:'' sortieren."
 
 #. type: TP
-#: doc/tin.1:2495
+#: doc/tin.1:2547
 #, no-wrap
 msgid "B<Sort threads by (sort_threads_type)>"
 msgstr "B<Sortiere Threads nach (sort_threads_type)>"
 
 #. type: Plain text
-#: doc/tin.1:2500 doc/tin.5:2259
+#: doc/tin.1:2552 doc/tin.5:2326
 msgid ""
 "This specifies how threads will be sorted. Sort by descending Score (1) is "
 "the default. The following sort types are allowed:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2503 doc/tin.5:2262
+#: doc/tin.1:2555 doc/tin.5:2329
 msgid "B<Nothing>, don't sort threads."
 msgstr "B<Nichts>, keine Sortierung der Threads."
 
 #. type: Plain text
-#: doc/tin.1:2506 doc/tin.5:2265
+#: doc/tin.1:2558 doc/tin.5:2332
 msgid ""
 "B<Score (descending)>, sort threads by filtering score descending (default)."
 msgstr ""
 "B<Bewertung (absteigend)>, Threads absteigend nach Bewertung sortieren."
 
 #. type: Plain text
-#: doc/tin.1:2508 doc/tin.5:2267
+#: doc/tin.1:2560 doc/tin.5:2334
 msgid "B<Score (ascending)>, sort threads by filtering score ascending."
 msgstr ""
 "B<Bewertung (aufsteigend)>, Threads aufsteigend nach Bewertung sortieren."
 
 #. type: Plain text
-#: doc/tin.1:2510 doc/tin.5:2269
+#: doc/tin.1:2562 doc/tin.5:2336
 msgid ""
 "B<Last posting date (descending)>, sort threads by date of last posting "
 "descending."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2512 doc/tin.5:2271
+#: doc/tin.1:2564 doc/tin.5:2338
 msgid ""
 "B<Last posting date (ascending)>, sort threads by date of last posting "
 "ascending."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2513
+#: doc/tin.1:2565
 #, no-wrap
 msgid "B<Spamtrap warning address parts (spamtrap_warning_addresses)>"
 msgstr "B<Spamfallenwarnung in Adresse (spamtrap_warning_addresses)>"
 
 #. type: Plain text
-#: doc/tin.1:2518 doc/tin.5:2277
+#: doc/tin.1:2570 doc/tin.5:2344
 msgid ""
 "Set this option to a list of comma-separated strings to be warned if you are "
 "replying to an article by mail where the e-mail address contains one of "
@@ -6398,18 +6637,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2520 doc/tin.5:2279
+#: doc/tin.1:2572 doc/tin.5:2346
 msgid "I<spam,delete,remove>"
 msgstr "I<spam,delete,remove>"
 
 #. type: TP
-#: doc/tin.1:2520
+#: doc/tin.1:2572
 #, no-wrap
 msgid "B<Regex used to highlight *stars* (stars_regex)>"
 msgstr "B<Regu. A. fÃ¼r *Stern* Hervorhebungen (stars_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2525
+#: doc/tin.1:2577
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markstar> or B<mono_markstar>. If "
@@ -6417,82 +6656,82 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2525
+#: doc/tin.1:2577
 #, no-wrap
 msgid "B<Strip blanks of end of lines (strip_blanks)>"
 msgstr "B<Leerzeichen am Zeilenende entfernen (strip_blanks)>"
 
 #. type: Plain text
-#: doc/tin.1:2531 doc/tin.5:2290
+#: doc/tin.1:2583 doc/tin.5:2357
 msgid ""
 "Strips the blanks from the end of each line therefore speeding up the "
 "display when reading on a slow terminal or via modem. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2531
+#: doc/tin.1:2583
 #, no-wrap
 msgid "B<Remove bogus groups from newsrc (strip_bogus)>"
 msgstr "B<LÃ¶sche nicht vorhan. G. aus newsrc (strip_bogus)>"
 
 #. type: Plain text
-#: doc/tin.1:2540 doc/tin.5:2299
+#: doc/tin.1:2592 doc/tin.5:2366
 msgid ""
-"Bogus groups are groups that are present in your I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.newsrc> file that no longer exist on the news server. There are 3 "
-"options. 0 means do nothing & always keep bogus groups.  1 means bogus "
+"Bogus groups are groups that are present in your I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.newsrc> file that no longer exist on the news server. There are "
+"3 options. 0 means do nothing & always keep bogus groups.  1 means bogus "
 "groups will be permanently removed. 2 means that bogus groups will appear on "
 "the Group Selection Menu, prefixed with a 'D'. This allows you to "
 "unsubscribe from them as and when you wish. Default is 0 (Always Keep)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2540
+#: doc/tin.1:2592
 #, no-wrap
 msgid "B<No unsubscribed groups in newsrc (strip_newsrc)>"
 msgstr "B<Nur abonnierte Gruppen in newsrc (strip_newsrc)>"
 
 #. type: Plain text
-#: doc/tin.1:2544 doc/tin.5:2303
+#: doc/tin.1:2596 doc/tin.5:2370
 msgid ""
-"If ON, then unsubscribed groups will be permanently removed from your I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file. Default is OFF."
+"If ON, then unsubscribed groups will be permanently removed from your "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2544
+#: doc/tin.1:2596
 #, no-wrap
 msgid "B<Regex with Subject prefixes (strip_re_regex)>"
 msgstr "B<Reg. Ausd. fÃ¼r den Subjectanfang (strip_re_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2550
+#: doc/tin.1:2602
 msgid ""
 "A regular expression to find Subject prefixes like \"Re:\" to remove.  If "
 "B<strip_re_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2550
+#: doc/tin.1:2602
 #, no-wrap
 msgid "B<Regex with Subject suffixes (strip_was_regex)>"
 msgstr "B<Reg. Ausd. fÃ¼r das Subjectende (strip_was_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2556 doc/tin.5:2315
+#: doc/tin.1:2608 doc/tin.5:2382
 msgid ""
 "A regular expression to find Subject suffixes like \"(was:\" to remove.  If "
 "B<strip_was_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2556
+#: doc/tin.1:2608
 #, no-wrap
 msgid "B<Regex used to highlight -strokes- (strokes_regex)>"
 msgstr "B<Reg. fÃ¼r -Durchstr.- Hervorhebungen (strokes_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2561
+#: doc/tin.1:2613
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markstroke> or B<mono_markstroke>.  If "
@@ -6500,13 +6739,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2561
+#: doc/tin.1:2613
 #, no-wrap
 msgid "B<Wrap around threads on next unread (wrap_on_next_unread)>"
 msgstr "B<NÃ¤.ungel.-kein Abbr. am Listenende? (wrap_on_next_unread)>"
 
 #. type: Plain text
-#: doc/tin.1:2566 doc/tin.5:2553
+#: doc/tin.1:2618 doc/tin.5:2620
 msgid ""
 "If enabled a search for the next unread article will wrap around all "
 "articles to find also previous unread articles. If disabled the search stops "
@@ -6514,26 +6753,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2566
+#: doc/tin.1:2618
 #, no-wrap
 msgid "B<Display \"a as Umlaut-a (tex2iso_conv)>"
 msgstr "B<Wandle TeX-Umlaute automatisch um (tex2iso_conv)>"
 
 #. type: Plain text
-#: doc/tin.1:2570
+#: doc/tin.1:2622
 msgid ""
 "If ON, show \"a as Umlaut-a, etc. Default is OFF. This behavior can also be "
 "toggled in the article viewer via B<PageToggleTex2iso> ('B<\">')."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2570
+#: doc/tin.1:2622
 #, no-wrap
 msgid "B<Thread articles by (thread_articles)>"
 msgstr "B<Threade Artikel anhand (thread_articles)>"
 
 #. type: Plain text
-#: doc/tin.1:2578
+#: doc/tin.1:2630
 msgid ""
 "Defines which threading method to use. It's possible to set the threading "
 "type on a per group basis by setting the group attribute variable "
@@ -6543,23 +6782,23 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2581
+#: doc/tin.1:2633
 msgid "B<None>, don't thread."
 msgstr "B<None>, keinen Diskussionsfaden aufbauen."
 
 #. type: Plain text
-#: doc/tin.1:2583
+#: doc/tin.1:2635
 msgid "B<Subject>, thread on ''Subject:'' only."
 msgstr "B<Subject>, Diskussionsfaden nur anhand von ''Subject:'' aufbauen."
 
 #. type: Plain text
-#: doc/tin.1:2585
+#: doc/tin.1:2637
 msgid "B<References>, thread on ''References:'' only."
 msgstr ""
 "B<References>, Diskussionsfaden nur anhand von ''References:'' aufbauen."
 
 #. type: Plain text
-#: doc/tin.1:2588
+#: doc/tin.1:2640
 msgid ""
 "B<Both Subject and References>, thread on ''References:'' then "
 "\\&''Subject:'' (default)."
@@ -6568,27 +6807,27 @@ msgstr ""
 "und ''Subject:'' aufbauen (Voreinstellung)."
 
 #. type: Plain text
-#: doc/tin.1:2590
+#: doc/tin.1:2642
 msgid "B<Multipart Subject>, thread multipart articles on ''Subject:''."
 msgstr ""
 "B<Multipart Subject>, Diskussionsfaden mehrteiliger Artikel anhand von "
 "'Subject:'' aufbauen."
 
 #. type: Plain text
-#: doc/tin.1:2593
+#: doc/tin.1:2645
 msgid ""
 "B<Percentage Match>, thread base upon a partial character match on "
 "\\&''Subject:''."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2594
+#: doc/tin.1:2646
 #, no-wrap
 msgid "B<Catchup thread by using left key (thread_catchup_on_exit)>"
 msgstr "B<Catchup mit der linken Cursort. (thread_catchup_on_exit)>"
 
 #. type: Plain text
-#: doc/tin.1:2598 doc/tin.5:2375
+#: doc/tin.1:2650 doc/tin.5:2442
 msgid ""
 "If ON catchup group/thread when leaving with the left arrow key. Default is "
 "ON."
@@ -6597,43 +6836,44 @@ msgstr ""
 "Verlassen mit der linken Cursortaste. Voreinstellung ist ON."
 
 #. type: TP
-#: doc/tin.1:2598
+#: doc/tin.1:2650
 #, no-wrap
 msgid "B<Format string for the Thread level (thread_format)>"
 msgstr "B<Formatanweisung fÃ¼r die Threadebene (thread_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2602
+#: doc/tin.1:2654
 msgid ""
 "Format string B<tin> uses for Thread level representation. See the section "
 "\"CUSTOMIZING THE SCREEN FORMAT\". Default is \"%n\\ %m\\ \\ [%L]\\ \\ %T\\ "
 "\\ %F\"."
 msgstr ""
 "Diese Formatanweisung wird von B<tin> zur Darstellung der Threadebene "
-"benutzt. FÃ¼r weitere Informationen sei auf den Abschnitt \"ANSICHTEN ANPASSEN"
-"\" verwiesen. Voreingestellt ist \"%n\\ %m\\ \\ [%L]\\ \\ %T\\ \\ %F\"."
+"benutzt. FÃ¼r weitere Informationen sei auf den Abschnitt \"ANSICHTEN "
+"ANPASSEN\" verwiesen. Voreingestellt ist \"%n\\ %m\\ \\ [%L]\\ \\ %T\\ \\ "
+"%F\"."
 
 #. type: TP
-#: doc/tin.1:2602
+#: doc/tin.1:2654
 #, no-wrap
 msgid "B<Matchingness of a thread (thread_perc)>"
 msgstr "B<Prozentualer Subject Vergleich (thread_perc)>"
 
 #. type: Plain text
-#: doc/tin.1:2606
+#: doc/tin.1:2658
 msgid ""
 "How closely the subjects must match for two threads to be considered part of "
 "the same thread. This is a percentage and the default if 75%."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2606
+#: doc/tin.1:2658
 #, no-wrap
 msgid "B<Score of a thread (thread_score)>"
 msgstr "B<Bewertung eines Threads (thread_score)>"
 
 #. type: Plain text
-#: doc/tin.1:2610 doc/tin.5:2379
+#: doc/tin.1:2662 doc/tin.5:2446
 msgid ""
 "How the total score of a thread is computed. Default is 0, the maximum score "
 "in this thread."
@@ -6642,41 +6882,41 @@ msgstr ""
 "die maximale Punktzahl in diesem Diskussionsfaden (Thread)."
 
 #. type: Plain text
-#: doc/tin.1:2613 doc/tin.5:2382
+#: doc/tin.1:2665 doc/tin.5:2449
 msgid "B<Max>, the maximum score in this thread."
 msgstr "B<Max>, Maximalwert im Diskussionsfaden."
 
 #. type: Plain text
-#: doc/tin.1:2615 doc/tin.5:2384
+#: doc/tin.1:2667 doc/tin.5:2451
 msgid "B<Sum>, the sum of all scores in this thread."
 msgstr "B<Sum>, Summer aller Bewertungen im Diskussionsfaden."
 
 #. type: Plain text
-#: doc/tin.1:2617 doc/tin.5:2386
+#: doc/tin.1:2669 doc/tin.5:2453
 msgid "B<Average>, the average score in this thread."
 msgstr "B<Average>, Durchschnitt aller Bewertungen im Diskussionsfaden."
 
 #. type: TP
-#: doc/tin.1:2618
+#: doc/tin.1:2670
 #, no-wrap
 msgid "B<CA certificate file (tls_ca_cert_file)>"
 msgstr "B<CA-Zertifikatsdatei (tls_ca_cert_file)>"
 
 #. type: Plain text
-#: doc/tin.1:2623
+#: doc/tin.1:2675
 msgid ""
 "The name of file containing all trusted CA certificates used for NNTPS (B<\\"
 "%RFC8143>) connections. If left empty the system default will be used."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2623
+#: doc/tin.1:2675
 #, no-wrap
 msgid "B<Transliteration (translit)>"
 msgstr "B<Verwende Umschreibungen (translit)>"
 
 #. type: Plain text
-#: doc/tin.1:2631 doc/tin.5:2400
+#: doc/tin.1:2683 doc/tin.5:2467
 msgid ""
 "If ON append //TRANSLIT to the first argument of B<\\%iconv_open>(3)  to "
 "enable transliteration. This means that when a character cannot be "
@@ -6686,35 +6926,35 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2631
+#: doc/tin.1:2683
 #, no-wrap
 msgid "B<How to treat blank lines (trim_article_body)>"
 msgstr "B<Wie mit Leerzeilen umgegangen werden soll (trim_article_body)>"
 
 #. type: Plain text
-#: doc/tin.1:2635
+#: doc/tin.1:2687
 msgid ""
 "Allows you to select how B<tin> treats blank lines in article bodies.  "
 "Default is 0. This option does not affect lines within verbatim blocks."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2638 doc/tin.5:2409
+#: doc/tin.1:2690 doc/tin.5:2476
 msgid "B<Don't trim article body>, do nothing."
 msgstr "B<Artikelrumpf nicht anpassen>."
 
 #. type: Plain text
-#: doc/tin.1:2640 doc/tin.5:2411
+#: doc/tin.1:2692 doc/tin.5:2478
 msgid "B<Skip leading blank lines>."
 msgstr "B<FÃ¼hrende Leerzeilen Ã¼berspringen>."
 
 #. type: Plain text
-#: doc/tin.1:2642 doc/tin.5:2413
+#: doc/tin.1:2694 doc/tin.5:2480
 msgid "B<Skip trailing blank lines>."
 msgstr "B<AbschlieÃŸende Leerzeilen Ã¼berspr.>."
 
 #. type: Plain text
-#: doc/tin.1:2644 doc/tin.5:2415
+#: doc/tin.1:2696 doc/tin.5:2482
 msgid ""
 "B<Skip leading and trailing blank l.>, skip leading and trailing blank lines."
 msgstr ""
@@ -6722,7 +6962,7 @@ msgstr ""
 "Ã¼berspringen."
 
 #. type: Plain text
-#: doc/tin.1:2647 doc/tin.5:2418
+#: doc/tin.1:2699 doc/tin.5:2485
 msgid ""
 "B<Compact multiple between text>, replace multiple blank lines between text "
 "blocks with one blank line."
@@ -6731,7 +6971,7 @@ msgstr ""
 "TextblÃ¶cken zusammenfassen."
 
 #. type: Plain text
-#: doc/tin.1:2649 doc/tin.5:2420
+#: doc/tin.1:2701 doc/tin.5:2487
 msgid "B<Compact multiple and skip leading>, 4 + 1"
 msgstr ""
 "B<Mehrere zwischen Textbl. zusammenfassen + fÃ¼hrende Leerzeilen "
@@ -6739,7 +6979,7 @@ msgstr ""
 "fÃ¼hrende Leerzeilen Ã¼berspringen."
 
 #. type: Plain text
-#: doc/tin.1:2651 doc/tin.5:2422
+#: doc/tin.1:2703 doc/tin.5:2489
 msgid "B<Compact multiple and skip trailing>, 4 + 2"
 msgstr ""
 "B<Mehrere zwischen Textbl. zusammenfassen + abschlieÃŸende Leerz. "
@@ -6747,7 +6987,7 @@ msgstr ""
 "abschlieÃŸende Leerzeilen Ã¼berspringen."
 
 #. type: Plain text
-#: doc/tin.1:2653 doc/tin.5:2424
+#: doc/tin.1:2705 doc/tin.5:2491
 msgid "B<Compact mltpl., skip lead. & trai.>, 4 + 3"
 msgstr ""
 "B<Mehrere zwischen Textbl. zusammenf. + fÃ¼hrende/abschlieÃŸende Leerz. "
@@ -6755,13 +6995,13 @@ msgstr ""
 "fÃ¼hrende sowie abschlieÃŸende Leerzeilen Ã¼berspringen"
 
 #. type: TP
-#: doc/tin.1:2654
+#: doc/tin.1:2706
 #, no-wrap
 msgid "B<Suppress soft hyphens (suppress_soft_hyphens)>"
 msgstr "B<Weiche Bindestriche unterdrÃ¼cken (suppress_soft_hyphens)>"
 
 #. type: Plain text
-#: doc/tin.1:2662
+#: doc/tin.1:2714
 msgid ""
 "If ON remove soft hyphens in non verbatim blocks of articles in UTF-8 when "
 "they are displayed in a UTF-8 locale. The character SOFT HYPHEN (U+00AD) is "
@@ -6772,13 +7012,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2662
+#: doc/tin.1:2714
 #, no-wrap
 msgid "B<Regex used to highlight _underline_ (underscores_regex)>"
 msgstr "B<Reg. fÃ¼r _Unterstr._ Hervorhebungen (underscores_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2667
+#: doc/tin.1:2719
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markdash> or B<mono_markdash>. If "
@@ -6786,24 +7026,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2667
+#: doc/tin.1:2719
 #, no-wrap
 msgid "B<Remove ~/.article after posting (unlink_article)>"
 msgstr "B<Entferne ~/.article nach dem posten (unlink_article)>"
 
 #. type: Plain text
-#: doc/tin.1:2670
+#: doc/tin.1:2722
 msgid "If ON remove I<~/.article> after posting. Default is ON."
 msgstr "Falls ON entferne ~/.article nach dem posten. Voreinstellung ist ON."
 
 #. type: TP
-#: doc/tin.1:2670
+#: doc/tin.1:2722
 #, no-wrap
 msgid "B<Program that opens URLs (url_handler)>"
 msgstr "B<Ã–ffne URLs mit ... (url_handler)>"
 
 #. type: Plain text
-#: doc/tin.1:2675 doc/tin.5:2445
+#: doc/tin.1:2727 doc/tin.5:2512
 msgid ""
 "The program that will be run when launching URLs in the article viewer using "
 "B<PageViewUrl> ('B<U>'). The actual URL will be appended.  Default is "
@@ -6811,54 +7051,54 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2675
+#: doc/tin.1:2727
 #, no-wrap
 msgid "B<URL highlighting in message body (url_highlight)>"
 msgstr "B<URL-Hervorhebung im Artikel (url_highlight)>"
 
 #. type: Plain text
-#: doc/tin.1:2678 doc/tin.5:2448
+#: doc/tin.1:2730 doc/tin.5:2515
 msgid "Enable highlighting URLs in message body. Default is ON."
 msgstr "Aktivieren der URL-Hervorhebung im Artikel. Voreinstellung ist ON."
 
 #. type: TP
-#: doc/tin.1:2678
+#: doc/tin.1:2730
 #, no-wrap
 msgid "B<Use ANSI color (use_color)>"
 msgstr "B<Benutze ANSI-Farben (use_color)>"
 
 #. type: Plain text
-#: doc/tin.1:2681
+#: doc/tin.1:2733
 msgid "If enabled B<tin> uses ANSI-colors. Default is OFF."
 msgstr "ANSI-Farben in B<tin> benutzen. Voreinstellung ist OFF."
 
 #. type: TP
-#: doc/tin.1:2681
+#: doc/tin.1:2733
 #, no-wrap
 msgid "B<Use scroll keys on keypad (use_keypad)>"
 msgstr "B<Scrollt. vom Nummernblock nutzen (use_keypad)>"
 
 #. type: TP
-#: doc/tin.1:2684
+#: doc/tin.1:2736
 #, no-wrap
 msgid "B<Use mouse in xterm (use_mouse)>"
 msgstr "B<Maus in xterm nutzen (use_mouse)>"
 
 #. type: Plain text
-#: doc/tin.1:2690 doc/tin.5:2462
+#: doc/tin.1:2742 doc/tin.5:2529
 msgid ""
 "Allows the mouse button support in an B<\\%xterm>(1x)  to be enabled/"
 "disabled.  Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2690
+#: doc/tin.1:2742
 #, no-wrap
 msgid "B<Use slrnface to show ''X-Face:''s (use_slrnface)>"
 msgstr "B<''X-Face:''s mit slrnface Anzeigen (use_slrnface)>"
 
 #. type: Plain text
-#: doc/tin.1:2700
+#: doc/tin.1:2752
 msgid ""
 "If enabled B<tin> uses B<\\%slrnface>(1)  to interpret the ''X-Face:'' "
 "header. For this option to have any effect, B<tin> must be running in an B<\\"
@@ -6866,26 +7106,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2700
+#: doc/tin.1:2752
 #, no-wrap
 msgid "B<Use UTF-8 graphics (utf8_graphics)>"
 msgstr "B<UTF-8-Grafik benutzten (utf8_graphics)>"
 
 #. type: Plain text
-#: doc/tin.1:2704 doc/tin.5:2478
+#: doc/tin.1:2756
 msgid ""
-"If ON use UTF-8 characters for indicator ('-E<gt>'), thread/attachment tree "
-"and ellipsis ('...'). Default is OFF."
+"If ON use UTF-8 characters for indicator ('\\(-E<gt>'), thread/attachment "
+"tree and ellipsis ('...'). Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2704
+#: doc/tin.1:2756
 #, no-wrap
 msgid "B<Regex for begin of a verbatim block (verbatim_begin_regex)>"
 msgstr "B<Reg. Ausd. fÃ¼r den Anfang e. wortgetreuen Textblock (verbatim_begin_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2708
+#: doc/tin.1:2760
 msgid ""
 "A regular expression that B<tin> will use to find the begin of a verbatim "
 "block."
@@ -6894,13 +7134,13 @@ msgstr ""
 "Absatzes findet."
 
 #. type: TP
-#: doc/tin.1:2708
+#: doc/tin.1:2760
 #, no-wrap
 msgid "B<Regex for end of a verbatim block (verbatim_end_regex)>"
 msgstr "B<Reg. Ausd. fÃ¼r das Ende eines wortgetreuen Textblocks (verbatim_end_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2712
+#: doc/tin.1:2764
 msgid ""
 "A regular expression that B<tin> will use to find the end of a verbatim "
 "block."
@@ -6909,26 +7149,26 @@ msgstr ""
 "Absatzes findet."
 
 #. type: TP
-#: doc/tin.1:2712
+#: doc/tin.1:2764
 #, no-wrap
 msgid "B<Detection of verbatim blocks (verbatim_handling)>"
 msgstr "B<Wortgetreue TextblÃ¶cke erkennen (verbatim_handling)>"
 
 #. type: Plain text
-#: doc/tin.1:2715 doc/tin.5:2493
+#: doc/tin.1:2767 doc/tin.5:2560
 msgid "If ON verbatim blocks will be detected. Default is ON."
 msgstr ""
 "Falls ON werden wortgetreue TextblÃ¶cke in Artikeln erkannt. Voreinstellung "
 "ist ON."
 
 #. type: TP
-#: doc/tin.1:2715
+#: doc/tin.1:2767
 #, no-wrap
 msgid "B<Wildcard matching (wildcard)>"
 msgstr "B<Platzhalter-Ãœbereinstimmung (wildcard)>"
 
 #. type: Plain text
-#: doc/tin.1:2737
+#: doc/tin.1:2789
 msgid ""
 "Allows you to select how B<tin> matches strings. The default is 0 and uses "
 "the B<\\%wildmat>(3)  notation, which is how this has traditionally been "
@@ -6940,41 +7180,41 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2737
+#: doc/tin.1:2789
 #, no-wrap
 msgid "B<What to display instead of mark (word_h_display_marks)>"
 msgstr "B<Anstelle der Markierung anzeigen (word_h_display_marks)>"
 
 #. type: Plain text
-#: doc/tin.1:2741 doc/tin.5:2521
+#: doc/tin.1:2793 doc/tin.5:2588
 msgid ""
 "Should the leading and ending stars, slashes, strokes and dashes also be "
 "displayed, even when they are highlighting marks?"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2744 doc/tin.5:2524
+#: doc/tin.1:2796 doc/tin.5:2591
 msgid "B<no>"
 msgstr "B<nein>"
 
 #. type: Plain text
-#: doc/tin.1:2746 doc/tin.5:2526
+#: doc/tin.1:2798 doc/tin.5:2593
 msgid "yes, B<display mark>"
 msgstr "ja, B<Markierung> anzeigen"
 
 #. type: Plain text
-#: doc/tin.1:2748 doc/tin.5:2528
+#: doc/tin.1:2800 doc/tin.5:2595
 msgid "print a B<space> instead"
 msgstr "ein B<Leerzeichen> ausgeben"
 
 #. type: TP
-#: doc/tin.1:2749
+#: doc/tin.1:2801
 #, no-wrap
 msgid "B<Word highlighting in message body (word_highlight)>"
 msgstr "B<Wort-Hervorhebung im Artikel (word_highlight)>"
 
 #. type: Plain text
-#: doc/tin.1:2757 doc/tin.5:2537
+#: doc/tin.1:2809 doc/tin.5:2604
 msgid ""
 "Enable word highlighting. See B<word_h_display_marks> for the options "
 "available. If B<use_color> is enabled the colors specified in "
@@ -6985,56 +7225,59 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2757
+#: doc/tin.1:2809
 #, no-wrap
 msgid "B<Page line wrap column (wrap_column)>"
 msgstr "B<Zeilen umbrechen nach (wrap_column)>"
 
 #. type: Plain text
-#: doc/tin.1:2768 doc/tin.5:2548
+#: doc/tin.1:2820 doc/tin.5:2615
 msgid ""
 "Sets the column at which a displayed article body should be wrapped.  If "
 "this value is equal to 0, it defaults to the current screen width.  If this "
-"value is greater than your current screen width the part off-screen is not "
-"displayed. Thus setting this option to a large value can be used to disable "
-"wrapping. If this value is negative the wrap margin is the current screen "
-"width plus the given value (as long as the result is still positive, "
-"otherwise it will fall back to the current screen width). Default is 0, "
-"wrapping at the current screen width."
+"value is greater than your current screen width and B<dont_break_words> is "
+"unset the part off-screen is not displayed.  Thus setting this option to a "
+"large value can be used to disable wrapping.  If this value is negative the "
+"wrap margin is the current screen width plus the given value (as long as the "
+"result is still positive, otherwise it will fall back to the current screen "
+"width). Default is 0, wrapping at the current screen width."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2768
+#: doc/tin.1:2820
 #, no-wrap
 msgid "B<Quote line when crossposting (xpost_quote_format)>"
 msgstr "B<Einleitungszeile beim Crossposten (xpost_quote_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2775 doc/tin.5:2558
+#: doc/tin.1:2827 doc/tin.5:2625
 msgid ""
 "Format is the same as for B<news_quote_format>, this is used when answering "
 "to a crossposting to several groups with no ''Followup-To:'' set."
 msgstr ""
+"Format ist das gleiche wie fÃ¼r B<news_quote_format>, dies wird verwendet, "
+"wenn auf ein Crossposting in mehrere Gruppen geantwortet wird, ohne dass ein "
+"''Followup-To:'' angegeben ist."
 
 #. type: SS
-#: doc/tin.1:2775
+#: doc/tin.1:2827
 #, no-wrap
 msgid "ATTRIBUTES MENU AND GROUP ATTRIBUTES"
 msgstr "ATTRIBUTE UND GRUPPENATTRIBUTE MENÃœ"
 
 #. type: Plain text
-#: doc/tin.1:2782
+#: doc/tin.1:2834
 msgid ""
 "B<tin> allows certain attributes to be set on a per group basis. If it "
 "exists, the global attributes file, I<${TIN_LIBDIR:-NEWSLIBDIR}/attributes> "
-"is read. After that, the user's own attributes file I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.tin/attributes> is read.  The global attributes file is useful for "
-"distributing system-wide defaults to new users who have no private "
+"is read. After that, the user's own attributes file I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.tin/attributes> is read.  The global attributes file is useful "
+"for distributing system-wide defaults to new users who have no private "
 "attributes file yet."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2790
+#: doc/tin.1:2842
 msgid ""
 "Note that the I<scope=E<lt>grouplistE<gt>> line has to be specified before "
 "the attributes are specified for that list. All attributes are set to a "
@@ -7045,7 +7288,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2797
+#: doc/tin.1:2849
 msgid ""
 "Attributes can also be changed from the attributes menu which can be "
 "accessed by B<ConfigToggleAttrib> ('B<E<lt>TABE<gt>>') from the options menu "
@@ -7056,7 +7299,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2804
+#: doc/tin.1:2856
 msgid ""
 "Besides the keys for moving around and changing values known from the "
 "options menu the attributes menu provides the following command: "
@@ -7064,22 +7307,22 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:2804
+#: doc/tin.1:2856
 #, no-wrap
 msgid "SCOPES MENU"
 msgstr "GÃœLTIGKEITSBEREICHS-MENÃœ"
 
 #. type: Plain text
-#: doc/tin.1:2809
+#: doc/tin.1:2861
 msgid ""
 "The scopes menu (accessible from the options menu with B<ConfigScopeMenu> "
 "('B<S>')) shows all scopes read from the global and local attributes file.  "
-"Scopes from the global attributes file are marked with '!' to the left of "
+"Scopes from the global attributes file are marked with '!\\&' to the left of "
 "the scope number. Delete/rename/move are not possible with those scopes."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2821
+#: doc/tin.1:2873
 msgid ""
 "In addition to the common moving keys the following commands are available: "
 "B<ScopeSelect> ('B<^J>' or 'B<E<lt>CRE<gt>>') enter the attributes menu for "
@@ -7093,14 +7336,14 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:2821
+#: doc/tin.1:2873
 #, no-wrap
 msgid "FILTERING ARTICLES"
 msgstr "FILTERN VON ARTIKELN"
 
 #.  FIXME - add scoring description
 #. type: Plain text
-#: doc/tin.1:2828
+#: doc/tin.1:2880
 msgid ""
 "When there is a subject or an author which you are either very interested "
 "in, or find completely uninteresting, you can easily instruct B<tin> to "
@@ -7110,16 +7353,16 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2834
+#: doc/tin.1:2887
 msgid ""
 "When B<tin> starts up the user's kill-file I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/"
-"filter> (see also B<\\%tin>(5))  is read. Each time a newsgroup is entered "
-"the rules are applied and articles killed or selected when they meet certain "
-"criteria."
+"filter> or the file specified via ''B<-F>'' is read (see also B<\\"
+"%tin>(5)  ). Each time a newsgroup is entered the rules are applied and "
+"articles killed or selected when they meet certain criteria."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2839
+#: doc/tin.1:2892
 msgid ""
 "The degree to which rules are applied depend on the B<kill_level> tinrc "
 "setting. By default killed articles will only be marked read. Adjust "
@@ -7128,7 +7371,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2844
+#: doc/tin.1:2897
 msgid ""
 "Filtering rules can be manually entered into I<${TIN_HOMEDIR:-\"$HOME\"}/."
 "tin/filter> (but don't do this whilst running B<tin> else you will lose your "
@@ -7136,7 +7379,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2849
+#: doc/tin.1:2902
 msgid ""
 "The filtering capabilities of B<tin> have been significantly enhanced over "
 "previous versions to include scoring and better pattern matching. It is "
@@ -7145,13 +7388,13 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2851
-msgid "E<lt>http://www.tin.org/filtering.txtE<gt>."
-msgstr "E<lt>http://www.tin.org/filtering.txtE<gt>."
+#: doc/tin.1:2904
+msgid "E<lt>http://bzr.tin.org/doc/filteringE<gt>."
+msgstr "E<lt>http://bzr.tin.org/doc/filteringE<gt>."
 
 #.  FIXME - Next paragraph is out of date
 #. type: Plain text
-#: doc/tin.1:2864
+#: doc/tin.1:2917
 msgid ""
 "The on-screen filtering menu is accessed by pressing B<MenuFilterKill> "
 "('B<^K>') or B<MenuFilterSelect> ('B<^A>')  at the Group and Article levels. "
@@ -7164,20 +7407,20 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:2864
+#: doc/tin.1:2917
 #, no-wrap
 msgid "POSTING ARTICLES"
 msgstr "ARTIKEL POSTEN"
 
 #. type: Plain text
-#: doc/tin.1:2867
+#: doc/tin.1:2920
 msgid ""
 "B<tin> allows posting of articles, follow-up to already posted articles and "
 "replying direct through mail to the author of an article."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2877
+#: doc/tin.1:2930
 msgid ""
 "Use the B<Post> ('B<w>') command to post an article to a newsgroup.  After "
 "entering the post subject the default editor (i.e., B<\\%vi>(1))  or the "
@@ -7190,7 +7433,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2882
+#: doc/tin.1:2935
 msgid ""
 "Use the B<DisplayPostHist> ('B<W>') command to display a history of the "
 "articles you have posted. The date the article was posted, which newsgroups "
@@ -7204,7 +7447,7 @@ msgstr ""
 "Abschnitt \"POSTING VERLAUFSLISTE\"."
 
 #. type: Plain text
-#: doc/tin.1:2890
+#: doc/tin.1:2943
 msgid ""
 "Use the B<PageFollowupQuote> ('B<f>'), B<PageFollowup> ('B<F>')  or "
 "B<PageFollowupQuoteHeaders> ('B<^W>') command to post a follow-up article to "
@@ -7216,7 +7459,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2904
+#: doc/tin.1:2957
 msgid ""
 "Use the B<PageReplyQuote> ('B<r>'), B<PageReply> ('B<R>') or "
 "B<PageReplyQuoteHeaders> ('B<^E>') command to reply direct through mail to "
@@ -7231,31 +7474,32 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:2904
+#: doc/tin.1:2957
 #, no-wrap
 msgid "CUSTOMIZING THE ARTICLE QUOTE STRING"
 msgstr "EINLEITUNGSZEILE ANPASSEN"
 
 #. type: Plain text
-#: doc/tin.1:2912
+#: doc/tin.1:2966
 msgid ""
 "When posting a followup to an article or replying direct to the author of an "
 "article via email the text of the article can be quoted. The beginning of "
 "the quoted text can contain information about the quoted article (e.g., Name "
-"and the Message-ID of the article). To allow for different situations "
-"certain information from the article can be used in the quoted string. The "
-"following variables are expanded if found in the tinrc variables "
-"B<mail_quote_format>, B<news_quote_format> or B<xpost_quote_format>:"
+"and the Message-ID of the article). If the article has multiple addresses "
+"only the first is evaluated. To allow for different situations certain "
+"information from the article can be used in the quoted string. The following "
+"variables are expanded if found in the tinrc variables B<mail_quote_format>, "
+"B<news_quote_format> or B<xpost_quote_format>:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:2914
+#: doc/tin.1:2968
 #, no-wrap
 msgid "\\w'%A  'u +\\w'Address'u"
 msgstr "\\w'%A  'u +\\w'Mailadresse'u"
 
 #. type: Plain text
-#: doc/tin.1:2923
+#: doc/tin.1:2977
 #, no-wrap
 msgid ""
 "B<%A>\tAddress (Email)\n"
@@ -7277,37 +7521,37 @@ msgstr ""
 "B<%I>\tInitialen des Autor\n"
 
 #. type: Plain text
-#: doc/tin.1:2926
+#: doc/tin.1:2980
 msgid "e.g.,"
 msgstr "z. B."
 
 #. type: Plain text
-#: doc/tin.1:2931
+#: doc/tin.1:2985
 #, no-wrap
 msgid ""
-"CW<mail_quote_format=On %D in %G you wrote:\n"
-"news_quote_format=In %M, %F wrote:>\n"
+"\\f(CRmail_quote_format=On %D in %G you wrote:\n"
+"news_quote_format=In %M, %F wrote:\\fR\n"
 msgstr ""
-"CW<mail_quote_format=Am %D in %G schrieben Sie:\n"
-"news_quote_format=In %M schreib %F:>\n"
+"\\f(CRmail_quote_format=On %D in %G you wrote:\n"
+"news_quote_format=In %M, %F wrote:\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:2935
+#: doc/tin.1:2989
 msgid "would expand to:"
 msgstr "ergÃ¤be folgendes:"
 
 #. type: Plain text
-#: doc/tin.1:2940
+#: doc/tin.1:2994
 #, no-wrap
 msgid ""
-"CW<On 21 Sep 1993 09:45:51 -0400 in alt.sources you wrote:\n"
-"In E<lt>abcINN123@example.orgE<gt>, Joe Bar E<lt>joe@example.orgE<gt> wrote:>\n"
+"\\f(CROn 21 Sep 1993 09:45:51 -0400 in alt.sources you wrote:\n"
+"In E<lt>abcINN123@example.orgE<gt>, Joe Bar E<lt>joe@example.orgE<gt> wrote:\\fR\n"
 msgstr ""
-"CW<Am 21. Sept 1993 9:45:51 -0400 in alt.sources schrieben Sie:\n"
-"In E<lt>abcINN123@example.orgE<gt> schreib Joe Bar E<lt>joe@example.orgE<gt>:>\n"
+"\\f(CRAm 21. Sept 1993 9:45:51 -0400 in alt.sources schrieben Sie:\n"
+"In E<lt>abcINN123@example.orgE<gt> schreib Joe Bar E<lt>joe@example.orgE<gt>:\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:2950
+#: doc/tin.1:3004
 msgid ""
 "The quoted text section of an article is marked by a preceding quote string "
 "at the beginning of each quoted line. The default quote string is set to "
@@ -7317,13 +7561,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:2950
+#: doc/tin.1:3004
 #, no-wrap
 msgid "MAILING PIPING PRINTING REPOSTING AND SAVING ARTICLES"
 msgstr "MAILEN, WEITERLEITEN, DRUCKEN, NACHSENDEN UND SPEICHERN VON ARTIKELN"
 
 #. type: Plain text
-#: doc/tin.1:2957
+#: doc/tin.1:3011
 msgid ""
 "The command interface to B<GroupMail>, B<PageMail>, B<PostMail> or "
 "B<ThreadMail> ('B<m>'), B<Pipe> ('B<|>'), B<Print> ('B<o>'), B<PageRepost> "
@@ -7333,7 +7577,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2962
+#: doc/tin.1:3016
 msgid ""
 "Auto-saving with B<*AutoSave> ('B<S>') is a special case and operates only "
 "on marked articles. They will processed without any further prompting "
@@ -7342,7 +7586,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2966
+#: doc/tin.1:3020
 msgid ""
 "Otherwise, the initial prompt will ask you to select which article, thread, "
 "hot (auto-selected), regular expression pattern, tagged articles you wish to "
@@ -7350,7 +7594,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2970
+#: doc/tin.1:3024
 msgid ""
 "Tagged articles must have already been tagged with a B<*Tag> ('B<t>')  "
 "command. All tagged articles can be untagged by a B<*Untag> ('B<U>')  untag "
@@ -7358,7 +7602,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2976
+#: doc/tin.1:3030
 msgid ""
 "If a regular expression pattern is selected you are asked to enter a pattern "
 "(e.g., to match all articles subject lines containing 'net News' you enter "
@@ -7368,7 +7612,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2981
+#: doc/tin.1:3035
 msgid ""
 "Various expansion characters are recognized when entering the directory and "
 "file to save to. Environment variables (prefixed with '$') and user home "
@@ -7377,7 +7621,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2986
+#: doc/tin.1:3040
 msgid ""
 "To save articles to a mailbox enter '=E<lt>mailbox nameE<gt>' when asked for "
 "the save filename. If you enter just '=' then articles will be saved to a "
@@ -7386,16 +7630,16 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2991
+#: doc/tin.1:3045
 msgid ""
 "To save in savedir/E<lt>news.group.nameE<gt>/E<lt>filenameE<gt> format enter "
 "'+E<lt>filenameE<gt>'.  See B<savedir>. Like '+' %G is expanded to the "
 "current news.group.name but without B<savedir> prefixed. %P is expanded to "
-"the news.group.name with all '.' replaced by '/'."
+"the news.group.name with all '.\\&' replaced by '/'."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2996
+#: doc/tin.1:3050
 msgid ""
 "If saving multiple files at once the filename (if not referring to a "
 "mailbox)  will be extended by \".num\" where \"num\" is at least 3 digit "
@@ -7404,20 +7648,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3002
+#: doc/tin.1:3056
 msgid ""
 "When saving articles you can specify whether the saved files should be post "
 "processed. A default process type can be set via B<post_process_type>."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3002
+#: doc/tin.1:3056
 #, no-wrap
 msgid "AUTOMATIC MAILING AND SAVING NEW NEWS"
 msgstr "AUTOMATISCHES MAILEN UND SPEICHERN VON UNGELESENEN ARTIKELN"
 
 #. type: Plain text
-#: doc/tin.1:3014
+#: doc/tin.1:3068
 msgid ""
 "B<tin> allows new/unread news articles to be mailed (''B<-M>'' and \\&''B<-"
 "N>'' option) or saved (''B<-S>'' option) in batch mode for later reading. "
@@ -7432,7 +7676,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3018
+#: doc/tin.1:3072
 msgid ""
 "When using ''B<-S>'' together with a given directory to save to (''B<-s>'' "
 "option), the same directory must be specified when reading the articles by "
@@ -7440,7 +7684,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3025
+#: doc/tin.1:3079
 msgid ""
 "If you only want to save some of your groups use the B<batch_save> tinrc "
 "variable. Set to ON or OFF in tinrc to enable/disable saving of all groups "
@@ -7451,13 +7695,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3025
+#: doc/tin.1:3079
 #, no-wrap
 msgid "B<tin -M iain -c -f newsrc.mail>"
 msgstr "B<tin -M iain -c -f newsrc.mail>"
 
 #. type: Plain text
-#: doc/tin.1:3029
+#: doc/tin.1:3083
 msgid ""
 "(mail any unread articles in newsgroups specified in file newsrc.mail to the "
 "local user iain and mark them as read)"
@@ -7466,13 +7710,13 @@ msgstr ""
 "Newsgruppen an den lokalen Benutzer iain senden und als gelesen markieren)"
 
 #. type: TP
-#: doc/tin.1:3029
+#: doc/tin.1:3083
 #, no-wrap
 msgid "B<tin -S -c -f newsrc.save>"
 msgstr "B<tin -S -c -f newsrc.save>"
 
 #. type: Plain text
-#: doc/tin.1:3033
+#: doc/tin.1:3087
 msgid ""
 "(save any unread articles in newsgroups specified in file newsrc.save and "
 "mark them as read)"
@@ -7481,45 +7725,45 @@ msgstr ""
 "Newsgruppen speichern und als gelesen markieren)"
 
 #. type: TP
-#: doc/tin.1:3033
+#: doc/tin.1:3087
 #, no-wrap
 msgid "B<tin -R>"
 msgstr "B<tin -R>"
 
 #. type: Plain text
-#: doc/tin.1:3038
+#: doc/tin.1:3092
 msgid "(read any articles saved by B<tin -S>)"
 msgstr "(mittels B<tin -S> gespeicherte Artikel lesen)"
 
 #. type: SS
-#: doc/tin.1:3038
+#: doc/tin.1:3092
 #, no-wrap
 msgid "RANGES"
 msgstr "BEREICHE"
 
 #. type: Plain text
-#: doc/tin.1:3050
+#: doc/tin.1:3104
 msgid ""
 "A range is simply a group of items marked using the B<SetRange> (B<'#'>) "
 "key. Certain B<tin> commands will operate on a range if one exists rather "
 "than just the current item. A range is an expression of the form "
-"E<lt>minE<gt>\\(enE<lt>maxE<gt>, e.g. 10\\(en15 will highlight items 10 "
-"through 15 on the current screen. Other than absolute numeric positions, '.' "
-"can be used in place of the current cursor position and '$' can be used to "
-"mean the highest number available. Entering '0' at the prompt undoes the "
+"E<lt>minE<gt>\\(enE<lt>maxE<gt>, e.g., 10\\(en15 will highlight items 10 "
+"through 15 on the current screen. Other than absolute numeric positions, '."
+"\\&' can be used in place of the current cursor position and '$' can be used "
+"to mean the highest number available. Entering '0' at the prompt undoes the "
 "previously entered range selection. Currently the only commands that "
 "understand ranges are B<GroupMarkThdRead> ('B<K>'), B<MarkArtUnread> "
 "('B<z>') and B<MarkThdUnread> ('B<Z>')."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3050
+#: doc/tin.1:3104
 #, no-wrap
 msgid "NEWSGROUP LISTS & WILDCARDS"
 msgstr "NEWSGROUP LISTEN & WILDCARDS"
 
 #. type: Plain text
-#: doc/tin.1:3062
+#: doc/tin.1:3116
 msgid ""
 "Several places in B<tin> allow you to specify a list of newsgroups. These "
 "include command-line groups, (un)subscribe groups, the AUTO[UN]SUBSCRIBE "
@@ -7527,70 +7771,72 @@ msgid ""
 "also use the same syntax. B<tin> interprets this variable similarly to B<\\"
 "%rn>(1).  It contains a list of patterns, separated by commas and possibly "
 "prefixed with exclamation points. An exclamation point negates the meaning "
-"of a match on this pattern, and can be used to cancel certain matches. See B<"
-"\\%wildmat>(3)  for details about the understood patterns. Some examples:"
+"of a match on this pattern, and can be used to cancel certain matches. See "
+"B<\\%wildmat>(3)  for details about the understood patterns. Some examples:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3064
+#: doc/tin.1:3118
 msgid "I<alt.config,news.*,!news.test>"
 msgstr "I<alt.config,news.*,!news.test>"
 
 #. type: Plain text
-#: doc/tin.1:3066
+#: doc/tin.1:3120
 msgid ""
 "Matches alt.config and everything in the 'news' hierarchy except news.test"
 msgstr ""
 "Passt auf alt.config und alles in der 'news'-Hierarchie auÃŸer news.test"
 
 #. type: Plain text
-#: doc/tin.1:3071
+#: doc/tin.1:3125
 msgid ""
 "See the explanation for the $B<AUTOSUBSCRIBE> and $B<AUTOUNSUBSCRIBE> "
 "variables for further examples."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3071
+#: doc/tin.1:3125
 #, no-wrap
 msgid "SIGNATURES"
 msgstr "SIGNATUREN"
 
 #. type: Plain text
-#: doc/tin.1:3080
+#: doc/tin.1:3134
 msgid ""
 "B<tin> will recognize a signature in either I<${TIN_HOMEDIR:-\"$HOME\"}/."
-"signature> or I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>.  If I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.signature> exists, then the signature will be pulled into the editor "
-"for mail commands only. A signature in I<${TIN_HOMEDIR:-\"$HOME\"}/."
+"signature> or I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>.  If I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.signature> exists, then the signature will be pulled into the "
+"editor for mail commands only. A signature in I<${TIN_HOMEDIR:-\"$HOME\"}/."
 "signature> will not be pulled into the editor for posting commands since B<\\"
 "%inews>(1)  will append the signature itself."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3083
+#: doc/tin.1:3137
 msgid ""
 "A signature in I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig> will be pulled into the "
 "editor for both posting and mailing commands."
 msgstr ""
+"Eine Signatur in I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig> wird sowohl fÃ¼r Post- als "
+"auch fÃ¼r Mail-Befehle in den Editor geladen."
 
 #. type: Plain text
-#: doc/tin.1:3085
+#: doc/tin.1:3139
 msgid "The following is an example of a I<.Sig> file:"
 msgstr "Nachstehend eine Beispiel I<.Sig> Datei:"
 
 #. type: Plain text
-#: doc/tin.1:3090
+#: doc/tin.1:3144
 #, no-wrap
 msgid ""
-"CW<NAMES  Joe Bar E<lt>joe@example.orgE<gt>\n"
-"SNAIL  Musterweg 12, 99999 Notreal, Germany>\n"
+"\\f(CRNAMES  Joe Bar E<lt>joe@example.orgE<gt>\n"
+"SNAIL  Musterweg 12, 99999 Notreal, Germany\\fR\n"
 msgstr ""
-"CW<NAMES  Erika Mustermann E<lt>erika@example.orgE<gt>\n"
-"SNAIL  HeidestraÃŸe 17, 99999 Notreal, Germany>\n"
+"\\f(CRNAMES  Erika Mustermann E<lt>erika@example.orgE<gt>\n"
+"SNAIL  HeidestraÃŸe 17, 99999 Notreal, Germany\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:3105
+#: doc/tin.1:3159
 msgid ""
 "B<tin> also has the capability to generate random signatures on a per "
 "newsgroup basis if so desired. The way to accomplish this is to specify the "
@@ -7604,34 +7850,36 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3105
+#: doc/tin.1:3159
 #, no-wrap
 msgid "CUSTOMIZING THE SCREEN FORMAT"
 msgstr "ANSICHTEN ANPASSEN"
 
 #. type: Plain text
-#: doc/tin.1:3110
+#: doc/tin.1:3165
 msgid ""
 "The look of the Selection, Group and Thread level can be customized via "
 "format strings. These format strings define the content and the position of "
 "each element on the screen. Variables are used within the format strings as "
-"placeholders. The following variables are available:"
+"placeholders. If the article has multiple addresses only the first is "
+"evaluated. The following variables are available:"
 msgstr ""
 "Das Aussehen der Auswahl-, Gruppen- und Threadebene kann den eigenen "
 "BedÃ¼rfnissen angepasst werden. Hierzu dienen Formatanweisungen, welche den "
 "Inhalt und die Position der einzelnen Elemente einer Bildschirmzeile "
 "definieren. Innerhalb der Formatanweisungen werden Platzhalter eingesetzt, "
 "die spÃ¤ter beim Bildschirmaufbau durch den eigentlichen Inhalt ersetzt "
-"werden. Folgende Platzhalter stehen zur VerfÃ¼gung:"
+"werden. Falls der Artikel mehrere Adressen hat, wird nur die erste "
+"ausgewertet. Folgende Platzhalter stehen zur VerfÃ¼gung:"
 
 #. type: ta
-#: doc/tin.1:3113
+#: doc/tin.1:3168
 #, no-wrap
 msgid "\\w'%G    'u +\\w'current group/thread/article number'u"
 msgstr "\\w'%G    'u +\\w'aktuelle Gruppen-, Thread- oder Artikelnummer'u"
 
 #. type: Plain text
-#: doc/tin.1:3130
+#: doc/tin.1:3185
 #, no-wrap
 msgid ""
 "B<%D>\tdate\n"
@@ -7669,7 +7917,7 @@ msgstr ""
 "B<%%>\t%\n"
 
 #. type: Plain text
-#: doc/tin.1:3135
+#: doc/tin.1:3190
 msgid ""
 "Not all variables can be used in each level. The following table provides an "
 "overview:"
@@ -7679,13 +7927,13 @@ msgstr ""
 "Platzhalter:"
 
 #. type: ta
-#: doc/tin.1:3138
+#: doc/tin.1:3193
 #, no-wrap
 msgid "\\w'%G        'uC +\\w'B<select_format> 'uC +\\w'B<group_format> 'uC +\\w'B<thread_format>'uC"
 msgstr "\\w'%G        'uC +\\w'B<select_format> 'uC +\\w'B<group_format> 'uC +\\w'B<thread_format>'uC"
 
 #. type: Plain text
-#: doc/tin.1:3156
+#: doc/tin.1:3211
 #, no-wrap
 msgid ""
 "\tB<select_format>\tB<group_format>\tB<thread_format>\n"
@@ -7725,18 +7973,18 @@ msgstr ""
 "B<%%>\tX\tX\tX\n"
 
 #. type: Plain text
-#: doc/tin.1:3160 doc/tin.1:3314
+#: doc/tin.1:3215 doc/tin.1:3379
 msgid "Defaults for the format strings:"
 msgstr "Voreingestellt sind folgende Formatanweisungen:"
 
 #. type: ta
-#: doc/tin.1:3163
+#: doc/tin.1:3218
 #, no-wrap
 msgid "\\w'select_format  'u +\\w'\"B<%n %m  [%L]  %T  %F>\"'u"
 msgstr "\\w'select_format  'u +\\w'\"B<%n %m  [%L]  %T  %F>\"'u"
 
 #. type: Plain text
-#: doc/tin.1:3167
+#: doc/tin.1:3222
 #, no-wrap
 msgid ""
 "B<select_format>:\t\"B<%f %n %U  %G  %d>\"\n"
@@ -7748,7 +7996,7 @@ msgstr ""
 "B<thread_format>:\t\"B<%n %m  [%L]  %T  %F>\"\n"
 
 #. type: Plain text
-#: doc/tin.1:3173
+#: doc/tin.1:3228
 msgid ""
 "B<show_description> controls whether the newsgroup description is shown or "
 "not. The description can also be toggled with B<SelectToggleDescriptions> "
@@ -7759,7 +8007,7 @@ msgstr ""
 "('B<d>') die Beschreibung aus- bzw. eingeblendet werden."
 
 #. type: Plain text
-#: doc/tin.1:3178
+#: doc/tin.1:3233
 msgid ""
 "The information displayed with 'B<%F>' depends on the value of "
 "B<show_author>. B<GroupToggleSubjDisplay> resp.  B<ThreadToggleSubjDisplay> "
@@ -7771,10 +8019,10 @@ msgstr ""
 "durchgeschaltet werden."
 
 #. type: Plain text
-#: doc/tin.1:3182
+#: doc/tin.1:3237
 msgid ""
 "For date representation 'B<%D>' uses B<date_format>. It is possible to "
-"specify a different date format in round brackets (e.g. 'B<%(%d %b %y %H:"
+"specify a different date format in round brackets (e.g., 'B<%(%d %b %y %H:"
 "%M)D>'). See B<date_format> for more details."
 msgstr ""
 "FÃ¼r die Datumsanzeige mit 'B<%D>' wird B<date_format> benutzt. Man kann "
@@ -7784,7 +8032,7 @@ msgstr ""
 "weiterfÃ¼hrende Informationen)."
 
 #. type: Plain text
-#: doc/tin.1:3186
+#: doc/tin.1:3241
 msgid ""
 "The length of each item (except 'B<%%>') can be defined with a positive "
 "number after the 'B<%>'. The following example displays the score in the "
@@ -7795,12 +8043,12 @@ msgstr ""
 "Bewertung in der Threadebene 10 Zeichen breit dar: 'B<%10S>'."
 
 #. type: Plain text
-#: doc/tin.1:3192
+#: doc/tin.1:3247
 msgid ""
 "If the newsgroup name is displayed together with the newsgroup description, "
 "the width of the newsgroup name can be controlled via an optional comma "
-"separated second value (e.g. 'B<%60,20G>'). It is valid to omit the first "
-"value (e.g. ('B<%,20G>')). If no second value is given, B<tin> uses a "
+"separated second value (e.g., 'B<%60,20G>'). It is valid to omit the first "
+"value (e.g., ('B<%,20G>')). If no second value is given, B<tin> uses a "
 "default value of 32."
 msgstr ""
 "Wenn der Gruppenname zusammen mit der Gruppenbeschreibung angezeigt wird, "
@@ -7810,14 +8058,14 @@ msgstr ""
 "angegeben verwendet B<tin> ein Standardwert von 32."
 
 #. type: Plain text
-#: doc/tin.1:3199
+#: doc/tin.1:3254
 msgid ""
 "Some variables do have a default width which may lead to truncation.  "
 "Truncation for variables which contain only numbers happens by dividing the "
 "value with a sufficient power of ten and adding a SI suffix to the result, "
 "that is the variable holds a value of 54321 and the width for the variable "
 "is 4 the result will be \"54 k\". If that's undesired you have to specify a "
-"larger width manually, e.g. 'B<%6n>'. Here is an overview of the defaults:"
+"larger width manually, e.g., 'B<%6n>'. Here is an overview of the defaults:"
 msgstr ""
 "Einige Platzhalter haben eine voreingestellte Breite die unter UmstÃ¤nden "
 "dazu fÃ¼hrt, dass der Inhalt abgeschnitten wird. FÃ¼r Platzhalter die nur "
@@ -7828,13 +8076,13 @@ msgstr ""
 "Voreinstellungen:"
 
 #. type: ta
-#: doc/tin.1:3202
+#: doc/tin.1:3257
 #, no-wrap
 msgid "\\w'Variable  'u +\\w'width'u"
 msgstr "\\w'Platzhalter  'u +\\w'Breite'u"
 
 #. type: Plain text
-#: doc/tin.1:3211
+#: doc/tin.1:3266
 #, no-wrap
 msgid ""
 "Variable\twidth\n"
@@ -7856,7 +8104,7 @@ msgstr ""
 "B<%n>\t 4\n"
 
 #. type: Plain text
-#: doc/tin.1:3222
+#: doc/tin.1:3277
 msgid ""
 "If no length is given for 'B<%D>', the length is determined by the format "
 "string for the date and the date of the current day. If the date format "
@@ -7878,7 +8126,7 @@ msgstr ""
 "einzutragen."
 
 #. type: Plain text
-#: doc/tin.1:3226
+#: doc/tin.1:3281
 msgid ""
 "In case the format string contains 'B<%G>' and 'B<%d>' and no length are "
 "given, B<tin> determines the longest newsgroup name and uses this length for "
@@ -7889,68 +8137,88 @@ msgstr ""
 "verbleibende Platz wird fÃ¼r 'B<%d>' verwendet."
 
 #. type: Plain text
-#: doc/tin.1:3230
+#: doc/tin.1:3285
 msgid ""
-"When the format string contains the specifier 'B<%F>' and 'B<%s>' resp. 'B<"
-"%T>' and no length are given, 'B<%F>' will use one third and 'B<%s>' resp. "
-"'B<%T>' will use two third of the available space."
+"When the format string contains the specifier 'B<%F>' and 'B<%s>' resp. "
+"'B<%T>' and no length are given, 'B<%F>' will use one third and 'B<%s>' "
+"resp. 'B<%T>' will use two third of the available space."
 msgstr ""
 "Sind in der Formatanweisung 'B<%F>' und 'B<%s>' bzw. 'B<%T>' enthalten und "
 "jeweils keine LÃ¤ngen angegeben, dann nimmt 'B<%F>' ein Drittel und 'B<%s>' "
 "bzw. 'B<%T>' zwei Drittel des fÃ¼r beide zusammen verfÃ¼gbaren Platzes ein."
 
 #. type: Plain text
-#: doc/tin.1:3238
+#: doc/tin.1:3295
 msgid ""
-"In addition, a minimum screen width can be defined for each item (except 'B<%"
-"%>'). In this case, the item will only be displayed when the screen is wider "
-"than specified. This comes in handy to not overload a small screen but have "
-"maximum information on a large screen. The minimum screen width has to be "
-"specified by a positive number preceded by an 'B<E<gt>>'. In the following "
-"example B<tin> will display the score only if the screen is wider than 100 "
-"characters: 'B<%E<gt>100S>'."
-msgstr ""
-"Weiterhin kann eine Mindestbildschirmbreite pro Element (auÃŸer 'B<%%>') "
-"definiert werden. Das entsprechende Element wird dann erst dargestellt, wenn "
-"auf dem Bildschirm mehr Zeichen als angegeben dargestellt werden kÃ¶nnen. Das "
-"ist hilfreich, um die Anzeige bei kleineren Bildschirmen oder "
-"Terminalfenstern nicht zu Ã¼berfrachten. Hier erfolgt die Angabe vor dem den "
-"Platzhalter charakterisierenden Buchstaben durch eine positive Zahl, welcher "
-"ein 'B<E<gt>>' vorangestellt wird. Soll z. B. der Bewertung erst ab einer "
-"Bildschirmbreite grÃ¶ÃŸer 100 Zeichen angezeigt werden, lautet die "
-"Formatanweisung 'B<%E<gt>100S>'."
-
-#. type: Plain text
-#: doc/tin.1:3244
-msgid ""
-"If both the length and the minimum screen width should be specified for an "
-"item, the length must be the first parameter and the minimum screen width "
-"must be the second one. The following example displays the score with a "
-"length of 10 characters only if the screen is wider than 100 characters: 'B<"
-"%10E<gt>100S>'."
-msgstr ""
-"Wenn eine LÃ¤ngenangabe und eine Mindestbildschirmbreite angegeben werden "
-"soll, muss zuerst die LÃ¤nge und danach die Mindestbreite in der "
-"Formatanweisung stehen. Um die Bewertung 10 Zeichen breit und erst ab einer "
-"Bildschirmbreite Ã¼ber 100 Zeichen darzustellen, lautet die Anweisung 'B<"
-"%10E<gt>100S>'."
+"In addition, a minimum or a maximum screen width can be defined for each "
+"item (except 'B<%%>'). In this case, the item will only be displayed when "
+"the screen is wider resp. smaller than specified. This comes in handy to not "
+"overload a small screen but have maximum information on a large screen. The "
+"minimum screen width has to be specified by a positive number preceded by an "
+"'B<E<gt>>', the maximum screenwidth has to be specified by a positive number "
+"preceded by an 'B<E<lt>>'. In the following example B<tin> will display the "
+"score only if the screen is wider than 100 characters: 'B<%E<gt>100S>'."
+msgstr ""
+"Weiterhin kann eine Mindest- oder Maximalbildschirmbreite pro Element (auÃŸer "
+"'B<%%>') definiert werden. Das entsprechende Element wird dann erst "
+"dargestellt, wenn auf dem Bildschirm mehr bzw. weniger Zeichen als angegeben "
+"dargestellt werden kÃ¶nnen. Das ist hilfreich, um die Anzeige bei kleineren "
+"Bildschirmen oder Terminalfenstern nicht zu Ã¼berfrachten. Hier erfolgt die "
+"Angabe vor dem den Platzhalter charakterisierenden Buchstaben durch eine "
+"positive Zahl, welcher ein 'B<E<gt>>' bzw. 'B<E<lt>>' vorangestellt wird. "
+"Soll z. B. der Bewertung erst ab einer Bildschirmbreite grÃ¶ÃŸer 100 Zeichen "
+"angezeigt werden, lautet die Formatanweisung 'B<%E<gt>100S>'."
+
+#. type: Plain text
+#: doc/tin.1:3309
+msgid ""
+"If both the length and the minimum or maximum screen width should be "
+"specified for an item, the length must be the first parameter and the "
+"minimum or maximum screen width must be the second one. The following "
+"example displays the score with a length of 10 characters only if the screen "
+"is wider than 100 characters: 'B<%10E<gt>100S>'. A second length can be "
+"specified for 'B<%F>' and 'B<%s>' resp. 'B<%T>', separated by a colon, which "
+"is used if the minimum or maximum screen width is not reached.  If no length "
+"is specified after the colon, the item is displayed even if the minimum "
+"screen width is not reached and the length is calculated as if no minimum "
+"(or maximum) screen width had been specified. In the following example "
+"B<tin> will display the subject with a length of 60 characters if the screen "
+"is wider than 100 characters, otherwise a length of 40 characters is used: "
+"'B<%60E<gt>100:40s>'."
+msgstr ""
+"Wenn eine LÃ¤ngenangabe und eine Mindest- oder Maximalbildschirmbreite "
+"angegeben werden soll, muss zuerst die LÃ¤nge und danach die Mindestbreite "
+"oder Maximalbreite in der Formatanweisung stehen. Um die Bewertung 10 "
+"Zeichen breit und erst ab einer Bildschirmbreite Ã¼ber 100 Zeichen "
+"darzustellen, lautet die Anweisung 'B<%10E<gt>100S>'. FÃ¼r 'B<%F>' und "
+"'B<%s>' bzw. 'B<%T>' kann, getrennt durch einen Doppelpunkt, eine zweite "
+"LÃ¤nge angegeben werden, die verwendet wird, wenn die Mindestbildschirmbreite "
+"nicht erreicht wird. Wird nach dem Doppelpunkt keine LÃ¤nge angegeben, wird "
+"der Eintrag auch bei Unterschreitung der Mindestbildschirmbreite angezeigt "
+"und die LÃ¤nge so berechnet, als wÃ¤re keine Mindestbildschirmbreite angegeben "
+"worden. Im folgenden Beispiel zeigt B<tin> den Betreff mit einer LÃ¤nge von "
+"60 Zeichen an, wenn der Bildschirm breiter als 100 Zeichen ist, ansonsten "
+"wird eine LÃ¤nge von 40 Zeichen verwendet: 'B<%60E<gt>100:40s>'."
 
 #. type: Plain text
-#: doc/tin.1:3248
+#: doc/tin.1:3313
 msgid ""
 "The look of the Attachment level and the mime and uue header at Page level "
 "can be customized too via format strings.  The following variables are "
 "available:"
 msgstr ""
+"Das Aussehen der Anhangsebene sowie der MIME- und UUEncode-Header auf "
+"Artikelebene kann ebenfalls Ã¼ber Formatzeichenfolgen angepasst werden. Die "
+"folgenden Variablen sind verfÃ¼gbar:"
 
 #. type: ta
-#: doc/tin.1:3251
+#: doc/tin.1:3316
 #, no-wrap
 msgid "\\w'%G    'u +\\w'Complete/incomplete UUE part indicator'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3270
+#: doc/tin.1:3335
 #, no-wrap
 msgid ""
 "B<%C>\tCharset\n"
@@ -7992,20 +8260,22 @@ msgstr ""
 "B<%%>\t%\n"
 
 #. type: Plain text
-#: doc/tin.1:3275
+#: doc/tin.1:3340
 msgid ""
 "Not all items can be used in each variable. The following table provides an "
 "overview:"
 msgstr ""
+"Nicht alle Elemente kÃ¶nnen in jeder Variablen verwendet werden. Die folgende "
+"Tabelle bietet einen Ãœberblick:"
 
 #. type: ta
-#: doc/tin.1:3278
+#: doc/tin.1:3343
 #, no-wrap
 msgid "\\w'%G   'uC +\\w'B<attachment_format> 'uC +\\w'B<page_mime_format> 'uC +\\w'B<page_uue_format>'uC"
 msgstr "\\w'%G   'uC +\\w'B<attachment_format> 'uC +\\w'B<page_mime_format> 'uC +\\w'B<page_uue_format>'uC"
 
 #. type: Plain text
-#: doc/tin.1:3298
+#: doc/tin.1:3363
 #, no-wrap
 msgid ""
 "\tB<attachment_format>\tB<page_mime_format>\tB<page_uue_format>\n"
@@ -8049,29 +8319,41 @@ msgstr ""
 "B<%%>\tX\tX\tX\n"
 
 #. type: Plain text
-#: doc/tin.1:3312
+#: doc/tin.1:3377
 msgid ""
 "By default, the string is not truncated. If it exceeds the screen width, it "
-"is wrapped. If the % sign is followed by an exclamation mark ('!') for "
+"is wrapped. If the % sign is followed by an exclamation mark ('!\\&') for "
 "uppercase letters, the element is omitted if there is not enough space. If "
 "the % sign is followed by an asterisk ('*') for a lowercase letter, the "
 "description is omitted if there is not enough space. If the % sign is "
-"followed by an exclamation mark ('!') for a lowercase letter, the "
+"followed by an exclamation mark ('!\\&') for a lowercase letter, the "
 "description is omitted first and then the content. The shortening is always "
 "from right to left, first the description is omitted and when no more "
 "description is displayed, the content is omitted. If %T and %S follow each "
 "other directly a '/' will be inserted in between. %Z will always have one "
 "decimal point and may have a one letter bi-suffix."
 msgstr ""
+"StandardmÃ¤ÃŸig wird der String nicht abgeschnitten. Wenn er die "
+"Bildschirmbreite Ã¼berschreitet, wird er umgebrochen. Wenn dem % Zeichen ein "
+"Ausrufezeichen ('!\\&') vor GroÃŸbuchstaben folgt, wird das Element "
+"weggelassen, wenn nicht genÃ¼gend Platz vorhanden ist. Wenn dem % Zeichen ein "
+"Sternchen ('*') vor Kleinbuchstaben folgt, wird die Beschreibung "
+"weggelassen, wenn nicht genÃ¼gend Platz vorhanden ist. Wenn dem % Zeichen vor "
+"einem Kleinbuchstaben ein Ausrufezeichen ('!\\&') folgt, wird zuerst die "
+"Beschreibung und dann der Inhalt weggelassen. Das KÃ¼rzen erfolgt immer von "
+"rechts nach links, zuerst wird die Beschreibung weggelassen, und wenn keine "
+"Beschreibung mehr angezeigt wird, wird der Inhalt weggelassen. Wenn %T und "
+"%S direkt aufeinander folgen, wird ein '/' dazwischen eingefÃ¼gt. %Z hat "
+"immer einen Dezimalpunkt und kann einen einbuchstabigen bi-Suffix haben."
 
 #. type: ta
-#: doc/tin.1:3317
+#: doc/tin.1:3382
 #, no-wrap
 msgid "\\w'attachment_format'u +\\w'\"B<%T%S%E%C%d>\"'u"
 msgstr "\\w'attachment_format'u +\\w'\"B<%T%S%E%C%d>\"'u"
 
 #. type: Plain text
-#: doc/tin.1:3321
+#: doc/tin.1:3386
 #, no-wrap
 msgid ""
 "B<attachment_format>:\t\"B<%T%S%E%C%d>\"\n"
@@ -8083,13 +8365,13 @@ msgstr ""
 "B<page_uue_format>:\t\t\"B<[-- %T%S%*n%I%!d%*e --]>\"\n"
 
 #. type: SS
-#: doc/tin.1:3324
+#: doc/tin.1:3389
 #, no-wrap
 msgid "TIPS AND TRICKS"
 msgstr "TIPPS UND TRICKS"
 
 #. type: Plain text
-#: doc/tin.1:3328
+#: doc/tin.1:3393
 msgid ""
 "B<tin> can be pretty much be navigated by using the four cursor keys.  The "
 "left arrow key goes up a level, the right arrow key goes down a level, the "
@@ -8101,7 +8383,7 @@ msgstr ""
 "Pfeiltaste eine Zeile nach unten."
 
 #. type: Plain text
-#: doc/tin.1:3330
+#: doc/tin.1:3395
 msgid ""
 "The following newsgroups provide useful information concerning news software:"
 msgstr ""
@@ -8109,7 +8391,7 @@ msgstr ""
 "Newssoftware:"
 
 #. type: Plain text
-#: doc/tin.1:3333
+#: doc/tin.1:3398
 msgid ""
 "\\(emnews.software.readers (info. about news user agents tin, rn, nn, slrn "
 "etc.)"
@@ -8118,19 +8400,20 @@ msgstr ""
 "slrn, ...)"
 
 #. type: Plain text
-#: doc/tin.1:3335
+#: doc/tin.1:3400
 msgid "\\(emnews.software.nntp (info. about NNTP)"
 msgstr "\\(emnews.software.nntp (Informationen Ã¼ber NNTP)"
 
 #. type: Plain text
-#: doc/tin.1:3337
+#: doc/tin.1:3402
 msgid ""
 "\\(emnews.answers (Frequently Asked Questions (FAQ) about many different "
 "themes)"
 msgstr ""
+"\\(emnews.answers (Frequently Asked Questions (FAQ) verschiedenster Themen)"
 
 #. type: Plain text
-#: doc/tin.1:3341
+#: doc/tin.1:3406
 msgid ""
 "Many prompts within B<tin> offer a default choice that the cursor is "
 "positioned on. By pressing 'B<E<lt>CRE<gt>>' the default value is taken.  "
@@ -8138,14 +8421,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3348
+#: doc/tin.1:3413
 msgid ""
 "When B<tin> is run in an B<\\%xterm>(1x)  it will resize itself each time "
 "the B<\\%xterm>(1x)  is resized."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3352
+#: doc/tin.1:3417
 msgid ""
 "B<tin> will reread the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-"
 "active}> file at set intervals (B<reread_active_file_secs>) to show any "
@@ -8153,23 +8436,23 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3357
+#: doc/tin.1:3422
 msgid ""
 "If you find large number of new newsgroups cluttering up your screen, "
 "pressing B<SelectToggleReadDisplay> ('B<r>') will make them go away."
 msgstr ""
 "Falls Sie feststellen, dass eine groÃŸe Anzahl neuer Newsgruppen den "
 "Bildschirm fÃ¼llt, kÃ¶nnen diese durch DrÃ¼cken von B<SelectToggleReadDisplay> "
-"(â€žB<r>â€œ) ausgeblendet werden."
+"('B<r>') ausgeblendet werden."
 
 #. type: SS
-#: doc/tin.1:3357
+#: doc/tin.1:3422
 #, no-wrap
 msgid "XTERM BUTTONS"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3363
+#: doc/tin.1:3428
 msgid ""
 "If the environment variable B<$TERM> is set to B<\\%xterm>(1x), then button "
 "pressing can be used to select groups and articles. In this discussion, the "
@@ -8182,18 +8465,18 @@ msgstr ""
 "die linke Maustaste)."
 
 #. type: Plain text
-#: doc/tin.1:3365
+#: doc/tin.1:3430
 msgid "In general (i.e., for the group, thread and article menus),"
 msgstr "Im Allgemein (d. h. fÃ¼r die Gruppen-, Thread- und ArtikelmenÃ¼s),"
 
 #. type: TP
-#: doc/tin.1:3365
+#: doc/tin.1:3430
 #, no-wrap
 msgid "Button1 (left)"
 msgstr "Maustaste1 (Links)"
 
 #. type: Plain text
-#: doc/tin.1:3368
+#: doc/tin.1:3433
 msgid ""
 "enters next (lower) level if you click on an article, otherwise pages down."
 msgstr ""
@@ -8201,13 +8484,13 @@ msgstr ""
 "sonst nach unten blÃ¤ttern."
 
 #. type: TP
-#: doc/tin.1:3368
+#: doc/tin.1:3433
 #, no-wrap
 msgid "Button2 (center)"
 msgstr "Maustaste2 (Mitte)"
 
 #. type: Plain text
-#: doc/tin.1:3372
+#: doc/tin.1:3437
 msgid ""
 "returns to the previous (upper) level if you click on an article, otherwise "
 "pages up."
@@ -8216,74 +8499,74 @@ msgstr ""
 "klicken, andernfalls wird eine Seite nach oben geblÃ¤ttert."
 
 #. type: TP
-#: doc/tin.1:3372
+#: doc/tin.1:3437
 #, no-wrap
 msgid "Button3 (right)"
 msgstr "Maustaste3 (Rechts)"
 
 #. type: Plain text
-#: doc/tin.1:3376
+#: doc/tin.1:3441
 msgid ""
 "positions on the article line under mouse cursor, or pages down if you've "
 "clicked outside the list of articles."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3378
+#: doc/tin.1:3443
 msgid "In the group selection menu, if the mouse is pointing at a group then:"
 msgstr "Im GruppenauswahlmenÃ¼, wenn die Maus auf eine Gruppe zeigt, dann:"
 
 #. type: TP
-#: doc/tin.1:3378 doc/tin.1:3390 doc/tin.1:3404
+#: doc/tin.1:3443 doc/tin.1:3455 doc/tin.1:3469
 #, no-wrap
 msgid "left button"
 msgstr "Linke Maustaste"
 
 #. type: Plain text
-#: doc/tin.1:3382
+#: doc/tin.1:3447
 msgid ""
 "moves to and selects the group pointed at, just like B<SelectReadGrp> "
 "('B<E<lt>CRE<gt>>')."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3382 doc/tin.1:3394 doc/tin.1:3407
+#: doc/tin.1:3447 doc/tin.1:3459 doc/tin.1:3472
 #, no-wrap
 msgid "center button"
 msgstr "Mittlere Maustaste"
 
 #. type: Plain text
-#: doc/tin.1:3385
+#: doc/tin.1:3450
 msgid "quits the program, just like B<Quit> ('B<q>')."
 msgstr "Beendet das Programm, genau wie B<Quit> ('B<q>')."
 
 #. type: TP
-#: doc/tin.1:3385 doc/tin.1:3399 doc/tin.1:3412
+#: doc/tin.1:3450 doc/tin.1:3464 doc/tin.1:3477
 #, no-wrap
 msgid "right button"
 msgstr "Rechte Maustaste"
 
 #. type: Plain text
-#: doc/tin.1:3388
+#: doc/tin.1:3453
 msgid "moves to the group pointed at."
 msgstr "springt zu der Gruppe, auf die gezeigt wird."
 
 #. type: Plain text
-#: doc/tin.1:3390
+#: doc/tin.1:3455
 msgid ""
 "In the article menu, if the mouse is pointing at an article (or thread) then:"
 msgstr ""
 "Wenn die Maus im ArtikelmenÃ¼ auf einen Artikel (oder Thread) zeigt, dann:"
 
 #. type: Plain text
-#: doc/tin.1:3394
+#: doc/tin.1:3459
 msgid ""
 "reads the article pointed at, just like B<GroupReadBasenote> "
 "('B<E<lt>CRE<gt>>'), or the thread, just like B<GroupListThd> ('B<l>')."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3399
+#: doc/tin.1:3464
 msgid ""
 "exits the menu, catching up on the group if you have "
 "B<group_catchup_on_exit> set in your configuration, just like B<Quit> "
@@ -8291,17 +8574,17 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3402
+#: doc/tin.1:3467
 msgid "moves to the article (or thread) pointed at."
 msgstr "springt zu dem Artikel (oder Thread), auf den gezeigt wird."
 
 #. type: Plain text
-#: doc/tin.1:3404
+#: doc/tin.1:3469
 msgid "In the thread menu, if the mouse is pointing at an article then:"
 msgstr "Im Thread-MenÃ¼, wenn die Maus auf einen Artikel zeigt, dann:"
 
 #. type: Plain text
-#: doc/tin.1:3407
+#: doc/tin.1:3472
 msgid ""
 "reads article pointed at, just like B<ThreadReadArt> ('B<E<lt>CRE<gt>>')."
 msgstr ""
@@ -8309,7 +8592,7 @@ msgstr ""
 "('B<E<lt>CRE<gt>>')."
 
 #. type: Plain text
-#: doc/tin.1:3412
+#: doc/tin.1:3477
 msgid ""
 "exits the menu, catching up on the thread if you have "
 "B<thread_catchup_on_exit> set in your configuration, just like B<Quit> "
@@ -8317,25 +8600,25 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3415
+#: doc/tin.1:3480
 msgid "moves to the article pointed at."
 msgstr "springt zu dem Artikel, auf den gezeigt wird."
 
 #. type: Plain text
-#: doc/tin.1:3422
+#: doc/tin.1:3487
 msgid ""
 "In other menus and areas button pressing reverts back to usual cut and paste "
 "of B<\\%xterm>(1x), but after one click of any button."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3422
+#: doc/tin.1:3487
 #, no-wrap
 msgid "INDEX FILES"
 msgstr "INDEX DATEIEN"
 
 #. type: Plain text
-#: doc/tin.1:3427
+#: doc/tin.1:3492
 msgid ""
 "If your news server supports NOV index files (see B<\\%newsoverview>(5), "
 "most modern installations will) and you have a fast connection to your news "
@@ -8347,27 +8630,29 @@ msgstr ""
 "Abschnitt ignorieren."
 
 #. type: Plain text
-#: doc/tin.1:3433
+#: doc/tin.1:3499
 msgid ""
 "If your news server doesn't support NOV index files or you have a very slow "
 "connection to your news server then B<tin> can cache the index for each "
 "newsgroup if B<cache_overview_files> is set to ON.  Note that this cache can "
 "use up large amounts of disk space if you read a lot of groups and/or high "
-"traffic groups."
+"traffic groups. To reduce the amount of disk space used, "
+"B<compress_overview_files> can be set to ON."
 msgstr ""
 "Wenn Ihr Newsserver keine NOV-Indexdateien unterstÃ¼tzt oder Sie eine sehr "
 "sehr langsame Verbindung zu Ihrem Newsserver haben, kann B<tin> den Index "
 "fÃ¼r jede Newsgruppe zwischenspeichern wenn B<cache_overview_files> auf ON "
 "gesetzt ist. Beachten Sie, daÃŸ dieser Cache groÃŸe Mengen an Speicherplatz "
 "verbrauchen kann, wenn Sie sehr viele Gruppen und/oder Gruppen mit hohem "
-"Datenverkehr lesen."
+"Datenverkehr lesen. Um Platz zu sparen kann B<compress_overview_files> auf "
+"ON gesetzt werden."
 
 #. type: Plain text
-#: doc/tin.1:3442
+#: doc/tin.1:3508
 msgid ""
-"Each user creates/updates his/her own index files that are stored in I<"
-"${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news/>. If you are "
-"reading via NNTP then the news server name will be appended to keep the "
+"Each user creates/updates his/her own index files that are stored in "
+"I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news/>. If you "
+"are reading via NNTP then the news server name will be appended to keep the "
 "indexes for different servers separate. If you are reading off the local "
 "spool and local overview files already exist then turning on caching will "
 "have no effect. Likewise unless you see significant delays entering a group "
@@ -8375,7 +8660,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3449
+#: doc/tin.1:3515
 msgid ""
 "Entering a group the first time tends to be slow because the index file must "
 "be built from scratch. To alleviate the slowness start B<tin> to create all "
@@ -8386,20 +8671,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3454
+#: doc/tin.1:3520
 msgid ""
 "As indexing might take some time you may want to run B<tin> from the system "
 "batcher B<\\%cron>(8)  with the ''B<-u>'' option:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3459
+#: doc/tin.1:3525
 #, no-wrap
-msgid "CW<30 6 * * * /usr/local/bin/tin -u>\n"
-msgstr "CW<30 6 * * * /usr/local/bin/tin -u>\n"
+msgid "\\f(CR30 6 * * * /usr/local/bin/tin -u\\fR\n"
+msgstr "\\f(CR30 6 * * * /usr/local/bin/tin -u\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:3465
+#: doc/tin.1:3531
 msgid ""
 "If you are low on local disk space you should consider to manually purge "
 "cached data for groups you are not reading anymore with something like:"
@@ -8409,17 +8694,17 @@ msgstr ""
 "lesen, manuell zu bereinigen:"
 
 #. type: Plain text
-#: doc/tin.1:3471
+#: doc/tin.1:3537
 #, no-wrap
 msgid ""
-"CW<find ${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news* \\e\n"
-"-type f -name \"[0-9]*.[0-9]\" -atime +28 | xargs rm -f>\n"
+"\\f(CRfind ${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news* \\e\n"
+"-type f -name \"[0-9]*.[0-9]\" -atime +28 | xargs rm -f\\fR\n"
 msgstr ""
-"CW<find ${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news* \\e\n"
-"-type f -name \"[0-9]*.[0-9]\" -atime +28 | xargs rm -f>\n"
+"\\f(CRfind ${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news* \\e\n"
+"-type f -name \"[0-9]*.[0-9]\" -atime +28 | xargs rm -f\\fR\n"
 
 #. type: SH
-#: doc/tin.1:3476 doc/tin.1:3477 doc/tin.5:21
+#: doc/tin.1:3542 doc/tin.5:21
 #, no-wrap
 msgid "FILES"
 msgstr "DATEIEN"
@@ -8439,8 +8724,9 @@ msgstr "DATEIEN"
 #.        $TMPDIR/SCOPES-R   (-D 32)
 #.        $TMPDIR/SCOPES-W   (-D 32)
 #.        $TMPDIR/ACTIVE     (-D 64)
+#.        $TMPDIR/GNKSA      (-D 64)
 #. type: Plain text
-#: doc/tin.1:3495
+#: doc/tin.1:3561
 msgid "For a detailed description see B<\\%tin>(5)."
 msgstr "FÃ¼r eine ausfÃ¼hrlich Beschreibung siehe B<\\%tin>(5)."
 
@@ -8464,119 +8750,119 @@ msgstr "FÃ¼r eine ausfÃ¼hrlich Beschreib
 #.  $TMPDIR/SCOPES-W   (-D 32)
 #.  $TMPDIR/ACTIVE     (-D 64)
 #. type: Plain text
-#: doc/tin.1:3497 doc/tin.5:42
+#: doc/tin.1:3563 doc/tin.5:42
 msgid "I<$MAILCAPS>"
 msgstr "I<$MAILCAPS>"
 
 #. type: Plain text
-#: doc/tin.1:3499 doc/tin.5:44
+#: doc/tin.1:3565 doc/tin.5:44
 msgid "I<~/.mailcap>"
 msgstr "I<~/.mailcap>"
 
 #. type: Plain text
-#: doc/tin.1:3501 doc/tin.5:46
+#: doc/tin.1:3567 doc/tin.5:46
 msgid "I</etc/mailcap>"
 msgstr "I</etc/mailcap>"
 
 #. type: Plain text
-#: doc/tin.1:3503 doc/tin.5:48
+#: doc/tin.1:3569 doc/tin.5:48
 msgid "I</usr/etc/mailcap>"
 msgstr "I</usr/etc/mailcap>"
 
 #. type: Plain text
-#: doc/tin.1:3505 doc/tin.5:50
+#: doc/tin.1:3571 doc/tin.5:50
 msgid "I</usr/local/etc/mailcap>"
 msgstr "I</usr/local/etc/mailcap>"
 
 #. type: Plain text
-#: doc/tin.1:3507 doc/tin.5:52
+#: doc/tin.1:3573 doc/tin.5:52
 msgid "I</etc/mail/mailcap>"
 msgstr "I</etc/mail/mailcap>"
 
 #. type: Plain text
-#: doc/tin.1:3510 doc/tin.5:221
+#: doc/tin.1:3576 doc/tin.5:221
 msgid "I</etc/nntpserver>"
 msgstr "I</etc/nntpserver>"
 
 #. type: Plain text
-#: doc/tin.1:3513 doc/tin.5:231
+#: doc/tin.1:3579 doc/tin.5:231
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.cancelsecret>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.cancelsecret>"
 
 #. type: Plain text
-#: doc/tin.1:3516 doc/tin.5:241
+#: doc/tin.1:3582 doc/tin.5:241
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.mime.types>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.mime.types>"
 
 #. type: Plain text
-#: doc/tin.1:3518 doc/tin.5:243
+#: doc/tin.1:3584 doc/tin.5:243
 msgid "I</etc/mime.types>"
 msgstr "I</etc/mime.types>"
 
 #. type: Plain text
-#: doc/tin.1:3520 doc/tin.5:245
+#: doc/tin.1:3586 doc/tin.5:245
 msgid "I</etc/tin/mime.types>"
 msgstr "I</etc/tin/mime.types>"
 
 #. type: Plain text
-#: doc/tin.1:3523 doc/tin.5:252
+#: doc/tin.1:3589 doc/tin.5:252
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsauth>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsauth>"
 
 #. type: Plain text
-#: doc/tin.1:3526 doc/tin.5:287
+#: doc/tin.1:3592 doc/tin.5:287
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>"
 
 #. type: Plain text
-#: doc/tin.1:3530 doc/tin.5:318
+#: doc/tin.1:3596 doc/tin.5:318
 #, no-wrap
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/.oldnewsrc>\n"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/.oldnewsrc>\n"
 
 #. type: Plain text
-#: doc/tin.1:3534 doc/tin.5:326
+#: doc/tin.1:3600 doc/tin.5:326
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.signature>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.signature>"
 
 #. type: Plain text
-#: doc/tin.1:3536 doc/tin.5:328
+#: doc/tin.1:3602 doc/tin.5:328
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>"
 
 #. type: Plain text
-#: doc/tin.1:3539 doc/tin.5:335
+#: doc/tin.1:3605 doc/tin.5:335
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.sigfixed>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.sigfixed>"
 
 #. type: Plain text
-#: doc/tin.1:3542 doc/tin.5:342
+#: doc/tin.1:3608 doc/tin.5:342
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/.inputhistory>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/.inputhistory>"
 
 #. type: Plain text
-#: doc/tin.1:3545 doc/tin.5:349
+#: doc/tin.1:3611 doc/tin.5:349
 msgid "I<${TIN_INDEX_MAILDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.mail/>"
 msgstr "I<${TIN_INDEX_MAILDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.mail/>"
 
 #. type: Plain text
-#: doc/tin.1:3549 doc/tin.5:357
+#: doc/tin.1:3615 doc/tin.5:357
 #, no-wrap
 msgid "I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news${NNTPSERVER:+\"-$NNTPSERVER\"}/>\n"
 msgstr "I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news${NNTPSERVER:+\"-$NNTPSERVER\"}/>\n"
 
 #. type: Plain text
-#: doc/tin.1:3553 doc/tin.5:365
+#: doc/tin.1:3619 doc/tin.5:365
 msgid "I<${TIN_INDEX_SAVEDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.save/>"
 msgstr "I<${TIN_INDEX_SAVEDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.save/>"
 
 #. type: Plain text
-#: doc/tin.1:3556 doc/tin.5:372
+#: doc/tin.1:3622 doc/tin.5:372
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/active.mail>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/active.mail>"
 
 #. type: Plain text
-#: doc/tin.1:3559 doc/tin.5:407
+#: doc/tin.1:3625 doc/tin.5:407
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/active.save>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/active.save>"
 
@@ -8585,97 +8871,103 @@ msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin
 #.  we should think about checking for the new Paths (/news/etc/)
 #.  ${TIN_LIBDIR\-/news/etc"}/attributes
 #. type: Plain text
-#: doc/tin.1:3563 doc/tin.5:418
+#: doc/tin.1:3629 doc/tin.5:418
 msgid "I</etc/tin/attributes>"
 msgstr "I</etc/tin/attributes>"
 
 #. type: Plain text
-#: doc/tin.1:3565 doc/tin.5:420
+#: doc/tin.1:3631 doc/tin.5:420
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes>"
 
 #.  TODO: add missing descriptions and explain things in detail.
 #. type: Plain text
-#: doc/tin.1:3568 doc/tin.5:755
+#: doc/tin.1:3634 doc/tin.5:772
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/filter>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/filter>"
 
 #. type: Plain text
-#: doc/tin.1:3572 doc/tin.5:898
+#: doc/tin.1:3638 doc/tin.5:915
 #, no-wrap
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/keymap${${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}:+\".${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}\"}>\n"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/keymap${${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}:+\".${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}\"}>\n"
 
 #. type: Plain text
-#: doc/tin.1:3574 doc/tin.5:900
+#: doc/tin.1:3640 doc/tin.5:917
 #, no-wrap
 msgid "I</etc/tin/keymap${${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}:+\".${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}\"}>\n"
 msgstr "I</etc/tin/keymap${${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}:+\".${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}\"}>\n"
 
 #. type: Plain text
-#: doc/tin.1:3578 doc/tin.5:1145
+#: doc/tin.1:3644 doc/tin.5:1163
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/mailgroups>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/mailgroups>"
 
 #. type: Plain text
-#: doc/tin.1:3581 doc/tin.5:1161
+#: doc/tin.1:3647 doc/tin.5:1179
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable>"
 
 #. type: Plain text
-#: doc/tin.1:3584 doc/tin.5:1193
+#: doc/tin.1:3650 doc/tin.5:1224
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/posted>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/posted>"
 
 #. type: Plain text
-#: doc/tin.1:3587 doc/tin.5:1208
+#: doc/tin.1:3653 doc/tin.5:1239
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/Mail/posted>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/Mail/posted>"
 
 #. type: Plain text
-#: doc/tin.1:3590 doc/tin.5:1218
+#: doc/tin.1:3656 doc/tin.5:1249
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/postponed.articles>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/postponed.articles>"
 
 #. type: Plain text
-#: doc/tin.1:3594 doc/tin.5:1228
+#: doc/tin.1:3660 doc/tin.5:1259
+#, no-wrap
+msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/motd>\n"
+msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/motd>\n"
+
+#. type: Plain text
+#: doc/tin.1:3665 doc/tin.5:1270
+#, no-wrap
+msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/msglog>\n"
+msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/msglog>\n"
+
+#. type: Plain text
+#: doc/tin.1:3670 doc/tin.5:1280
 #, no-wrap
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/newsgroups>\n"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/newsgroups>\n"
 
 #. type: Plain text
-#: doc/tin.1:3599 doc/tin.5:1247
+#: doc/tin.1:3675 doc/tin.5:1299
 #, no-wrap
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/serverrc>\n"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/serverrc>\n"
 
-#. type: Plain text
-#: doc/tin.1:3604 doc/tin.5:1267
-#, no-wrap
-msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/msglog>\n"
-msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/msglog>\n"
-
 #.  tin uses inns old (pre 2.x) Path convention.
 #.  as with inn >= 2.2.x getting more and more popular
 #.  we should think about checking for the new Paths (/news/etc/)
 #.  .IR ${TIN_LIBDIR\-"/news/etc"}/tinrc
 #. type: Plain text
-#: doc/tin.1:3609 doc/tin.5:1280
+#: doc/tin.1:3680 doc/tin.5:1326
 msgid "I</etc/tin/tinrc>"
 msgstr "I</etc/tin/tinrc>"
 
 #. type: Plain text
-#: doc/tin.1:3611 doc/tin.5:1282
+#: doc/tin.1:3682 doc/tin.5:1328
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc>"
 
 #. type: Plain text
-#: doc/tin.1:3614 doc/tin.5:2562
+#: doc/tin.1:3685 doc/tin.5:2629
 msgid "I</etc/tin/tin.defaults>"
 msgstr "I</etc/tin/tin.defaults>"
 
 #. type: Plain text
-#: doc/tin.1:3617
+#: doc/tin.1:3688
 msgid "I</usr/local/share/locale/${LC_MESSAGES}/LC_MESSAGES/tin.mo>"
 msgstr "I</usr/local/share/locale/${LC_MESSAGES}/LC_MESSAGES/tin.mo>"
 
@@ -8684,51 +8976,51 @@ msgstr "I</usr/local/share/locale/${LC_M
 #.  we should think about checking for the new Paths
 #.  (described shown below).
 #. type: Plain text
-#: doc/tin.1:3620 doc/tin.5:2672
+#: doc/tin.1:3691 doc/tin.5:2739
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}>"
 
 #. type: Plain text
-#: doc/tin.1:3623 doc/tin.5:2733
+#: doc/tin.1:3694 doc/tin.5:2800
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/active.times>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}/active.times>"
 
 #. type: Plain text
-#: doc/tin.1:3626 doc/tin.5:2760
+#: doc/tin.1:3697 doc/tin.5:2827
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/newsgroups>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}/newsgroups>"
 
 #. type: Plain text
-#: doc/tin.1:3629 doc/tin.5:2783
+#: doc/tin.1:3700 doc/tin.5:2850
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/organization>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}/organization>"
 
 #.  is the Path correct? or is it /news/etc/overview.fmt
 #. type: Plain text
-#: doc/tin.1:3632 doc/tin.5:2793
+#: doc/tin.1:3703 doc/tin.5:2860
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/overview.fmt>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}/overview.fmt>"
 
 #.  is the Path correct? or is it /news/etc/subscriptions
 #. type: Plain text
-#: doc/tin.1:3637 doc/tin.5:2811
+#: doc/tin.1:3708 doc/tin.5:2878
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/subscriptions>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}/subscriptions>"
 
-#. type: IX
-#: doc/tin.1:3637 doc/tin.1:3638
+#. type: SH
+#: doc/tin.1:3708
 #, no-wrap
 msgid "ENVIRONMENT"
 msgstr "UMGEBUNGSVARIABLEN"
 
 #. type: TP
-#: doc/tin.1:3642
+#: doc/tin.1:3712
 #, no-wrap
 msgid "B<TINRC>"
 msgstr "B<TINRC>"
 
 #. type: Plain text
-#: doc/tin.1:3650
+#: doc/tin.1:3720
 msgid ""
 "Define this variable if you want to specify command-line options that B<tin> "
 "should be started with to save typing them each time it is started. The "
@@ -8736,20 +9028,20 @@ msgid ""
 "line options before it is parsed therefore allowing an option specified on "
 "the command-line to override the same option specified in the environment."
 msgstr ""
-"Setzen Sie diese Variable wenn Sie Befehlszeilenoptionen angeben mÃ¶chten mit "
-"denen B<tin> gestartet werden soll um die Eingabe, jedes Mal wenn B<tin> "
+"Setzen Sie diese Variable wenn Sie Kommandozeilenoptionen angeben mÃ¶chten "
+"mit denen B<tin> gestartet werden soll um die Eingabe, jedes Mal wenn B<tin> "
 "ausgefÃ¼hrt wird, zu sparen. Der Inhalt der Umgebungsvariablen wird den "
-"angegebenen Befehlszeilenoptionen vorangestellt \\(em bevor diese auf "
+"angegebenen Kommandozeilenoptionen vorangestellt \\(em bevor diese auf "
 "GÃ¼ltigkeit Ã¼berprÃ¼ft werden \\(em um Sie manuell Ã¼bersteuern zu kÃ¶nnen."
 
 #. type: TP
-#: doc/tin.1:3650
+#: doc/tin.1:3720
 #, no-wrap
 msgid "B<TIN_HOMEDIR>"
 msgstr "B<TIN_HOMEDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3655
+#: doc/tin.1:3725
 msgid ""
 "Define this variable if you do not want the I<.tin> directory in I<$HOME/>. "
 "E.g., if you want all B<tin>'s private files in I</tmp/.tin> you would set "
@@ -8760,55 +9052,55 @@ msgstr ""
 "tin> haben mÃ¶chten, setzen Sie $B<TIN_HOMEDIR> auf I</tmp>."
 
 #. type: TP
-#: doc/tin.1:3655
+#: doc/tin.1:3725
 #, no-wrap
 msgid "B<TIN_INDEX_NEWSDIR>"
 msgstr "B<TIN_INDEX_NEWSDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3661
+#: doc/tin.1:3731
 msgid ""
-"Define this variable if you do not want the I<.news> directory in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s news index "
-"files in I</tmp/.news> you would set $B<TIN_INDEX_NEWSDIR> to I</tmp>."
+"Define this variable if you do not want the I<.news> directory in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s news "
+"index files in I</tmp/.news> you would set $B<TIN_INDEX_NEWSDIR> to I</tmp>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3661
+#: doc/tin.1:3731
 #, no-wrap
 msgid "B<TIN_INDEX_MAILDIR>"
 msgstr "B<TIN_INDEX_MAILDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3667
+#: doc/tin.1:3737
 msgid ""
-"Define this variable if you do not want the I<.mail> directory in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s mail index "
-"files in I</tmp/.mail> you would set $B<TIN_INDEX_MAILDIR> to I</tmp>."
+"Define this variable if you do not want the I<.mail> directory in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s mail "
+"index files in I</tmp/.mail> you would set $B<TIN_INDEX_MAILDIR> to I</tmp>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3667
+#: doc/tin.1:3737
 #, no-wrap
 msgid "B<TIN_INDEX_SAVEDIR>"
 msgstr "B<TIN_INDEX_SAVEDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3673
+#: doc/tin.1:3743
 msgid ""
-"Define this variable if you do not want the I<.save> directory in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s save index "
-"files in I</tmp/.save> you would set $B<TIN_INDEX_SAVEDIR> to I</tmp>."
+"Define this variable if you do not want the I<.save> directory in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s save "
+"index files in I</tmp/.save> you would set $B<TIN_INDEX_SAVEDIR> to I</tmp>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3673
+#: doc/tin.1:3743
 #, no-wrap
 msgid "B<TIN_LIBDIR>"
 msgstr "B<TIN_LIBDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3678
+#: doc/tin.1:3748
 msgid ""
 "Define this variable if you want to override the B<NEWSLIBDIR> path that was "
 "compiled into the B<tin> binary, default is I</usr/lib/news>.  If B<tin> is "
@@ -8816,13 +9108,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3678
+#: doc/tin.1:3748
 #, no-wrap
 msgid "B<TIN_SPOOLDIR>"
 msgstr "B<TIN_SPOOLDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3683
+#: doc/tin.1:3753
 msgid ""
 "Define this variable if you want to override the B<SPOOLDIR> path that was "
 "compiled into the B<tin> binary, default is I</var/spool/news>.  If B<tin> "
@@ -8830,13 +9122,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3683
+#: doc/tin.1:3753
 #, no-wrap
 msgid "B<TIN_NOVROOTDIR>"
 msgstr "B<TIN_NOVROOTDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3689
+#: doc/tin.1:3759
 msgid ""
 "Define this variable if you want to override the B<NOVROOTDIR> path that was "
 "compiled into the B<tin> binary, default is B<SPOOLDIR> (see above). If "
@@ -8844,13 +9136,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3689
+#: doc/tin.1:3759
 #, no-wrap
 msgid "B<TIN_NOVFILENAME>"
 msgstr "B<TIN_NOVFILENAME>"
 
 #. type: Plain text
-#: doc/tin.1:3695
+#: doc/tin.1:3765
 msgid ""
 "Define this variable if you want to override the B<OVERVIEW_FILE> filename "
 "that was compiled into the B<tin> binary, default is I<.overview>. If B<tin> "
@@ -8858,13 +9150,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3695
+#: doc/tin.1:3765
 #, no-wrap
 msgid "B<TIN_ACTIVEFILE>"
 msgstr "B<TIN_ACTIVEFILE>"
 
 #. type: Plain text
-#: doc/tin.1:3701
+#: doc/tin.1:3771
 msgid ""
 "Define this variable if you want to override the B<NEWSLIBDIR/active> path "
 "that was compiled into the B<tin> binary. If B<tin> is running in NNTP mode "
@@ -8877,13 +9169,13 @@ msgstr ""
 "$B<TIN_LIBDIR> gesetzt sein wird es $B<TIN_ACTIVEFILE> vorangestellt."
 
 #. type: TP
-#: doc/tin.1:3701
+#: doc/tin.1:3771
 #, no-wrap
 msgid "B<NNTPSERVER>"
 msgstr "B<NNTPSERVER>"
 
 #. type: Plain text
-#: doc/tin.1:3707
+#: doc/tin.1:3777
 msgid ""
 "The default NNTP server to remotely read news from. This variable only needs "
 "to be set if the ''B<-r>'' command-line option is specified and the file I</"
@@ -8892,27 +9184,41 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3707
+#: doc/tin.1:3777
 #, no-wrap
 msgid "B<NNTPPORT>"
 msgstr "B<NNTPPORT>"
 
 #. type: Plain text
-#: doc/tin.1:3712
+#: doc/tin.1:3782
 msgid ""
 "The NNTP TCP-port to read news from. This variable only needs to be set if "
-"the TCP-port is not 119 (the default). The ''B<-p>'' and ''B<-T>'' command-"
-"line options do override $B<NNTPPORT>."
+"the TCP-port is not 119 (the default). The ''B<-p>'' command-line option "
+"does override $B<NNTPPORT>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3712
+#: doc/tin.1:3782
+#, no-wrap
+msgid "B<NNTPSPORT>"
+msgstr "B<NNTPSPORT>"
+
+#. type: Plain text
+#: doc/tin.1:3787
+msgid ""
+"The NNTPS TCP-port to read news from. This variable only needs to be set if "
+"the TCP-port is not 563 (the default). The ''B<-p>'' and ''B<-T>'' command-"
+"line options do override $B<NNTPSPORT>."
+msgstr ""
+
+#. type: TP
+#: doc/tin.1:3787
 #, no-wrap
 msgid "B<DISTRIBUTION>"
 msgstr "B<DISTRIBUTION>"
 
 #. type: Plain text
-#: doc/tin.1:3716
+#: doc/tin.1:3791
 msgid ""
 "Set the article header field ''Distribution:'' to the contents of the "
 "variable instead of the system default."
@@ -8921,13 +9227,13 @@ msgstr ""
 "statt auf den Systemstandard."
 
 #. type: TP
-#: doc/tin.1:3716
+#: doc/tin.1:3791
 #, no-wrap
 msgid "B<ISO2ASC>"
 msgstr "B<ISO2ASC>"
 
 #. type: Plain text
-#: doc/tin.1:3720
+#: doc/tin.1:3795
 msgid ""
 "Set the ISO to ASCII charset decoding table character to use in decoding an "
 "article text. Values can range from -1 to 6."
@@ -8936,34 +9242,34 @@ msgstr ""
 "Dekodierung des Artikeltextes. Die Werte kÃ¶nnen von -1 bis 6 reichen."
 
 #. type: TP
-#: doc/tin.1:3721
+#: doc/tin.1:3796
 #, no-wrap
 msgid "B<-1>"
 msgstr "B<-1>"
 
 #. type: Plain text
-#: doc/tin.1:3724
+#: doc/tin.1:3799
 msgid "no conversion"
 msgstr "Keine Umformung"
 
 #. type: Plain text
-#: doc/tin.1:3727
+#: doc/tin.1:3802
 msgid "universal table for many languages"
 msgstr "Universal-Tabelle fÃ¼r viele Sprachen"
 
 #. type: Plain text
-#: doc/tin.1:3730
+#: doc/tin.1:3805
 msgid "single-spacing universal table"
 msgstr "Universal-Tabelle mit einfachem Abstand"
 
 #. type: Plain text
-#: doc/tin.1:3733
+#: doc/tin.1:3808
 msgid "table for Danish, Dutch, German, Norwegian and Swedish"
 msgstr ""
 "Tabelle fÃ¼r DÃ¤nisch, NiederlÃ¤ndisch, Deutsch, Norwegisch und Schwedisch"
 
 #. type: Plain text
-#: doc/tin.1:3737
+#: doc/tin.1:3812
 msgid ""
 "table for Danish, Finnish, Norwegian and Swedish using the appropriate ISO "
 "646 variant"
@@ -8972,40 +9278,40 @@ msgstr ""
 "entsprechenden ISO 646-Variante"
 
 #. type: Plain text
-#: doc/tin.1:3740
+#: doc/tin.1:3815
 msgid "table with B<RFC\\%1345> codes in brackets"
 msgstr "Tabelle mit B<RFC\\%1345>-Codes in Klammern"
 
 #. type: TP
-#: doc/tin.1:3740
+#: doc/tin.1:3815
 #, no-wrap
 msgid "B<5>"
 msgstr "B<5>"
 
 #. type: Plain text
-#: doc/tin.1:3743
+#: doc/tin.1:3818
 msgid "table for printers that allow overstriking with backspace"
 msgstr "Tabelle fÃ¼r Drucker, die es erlauben, mit Backspace zu Ã¼berschreiben"
 
 #. type: TP
-#: doc/tin.1:3743
+#: doc/tin.1:3818
 #, no-wrap
 msgid "B<6>"
 msgstr "B<6>"
 
 #. type: Plain text
-#: doc/tin.1:3746
+#: doc/tin.1:3821
 msgid "table for IBM PC character set (code page 437)"
 msgstr "Tabelle fÃ¼r IBM PC-Zeichensatz (Codepage 437)"
 
 #. type: TP
-#: doc/tin.1:3747
+#: doc/tin.1:3822
 #, no-wrap
 msgid "B<ORGANIZATION>"
 msgstr "B<ORGANIZATION>"
 
 #. type: Plain text
-#: doc/tin.1:3754
+#: doc/tin.1:3829
 msgid ""
 "Set the article header field ''Organization:'' to the contents of the "
 "variable instead of the system default. If it points to a readable file a "
@@ -9015,26 +9321,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3754
+#: doc/tin.1:3829
 #, no-wrap
 msgid "B<NEWSORG (DomainOS)>"
 msgstr "B<NEWSORG (DomainOS)>"
 
 #. type: Plain text
-#: doc/tin.1:3757
+#: doc/tin.1:3832
 msgid "DomainOS specific, same as $B<ORGANIZATION> on other OSs (see above)."
 msgstr ""
-"DomainOS spezifisch, wie $B<ORGANISATION> auf anderen Betriebssystemen "
+"DomainOS spezifisch, wie $B<ORGANIZATION> auf anderen Betriebssystemen "
 "(siehe oben)."
 
 #. type: TP
-#: doc/tin.1:3757
+#: doc/tin.1:3832
 #, no-wrap
 msgid "B<REPLYTO>"
 msgstr "B<REPLYTO>"
 
 #. type: Plain text
-#: doc/tin.1:3762
+#: doc/tin.1:3837
 msgid ""
 "Set the article header field ''Reply-To:'' to the return address specified "
 "by the variable. This is useful if you wish to receive replies at a "
@@ -9045,13 +9351,13 @@ msgstr ""
 "Adresse erhalten mÃ¶chten."
 
 #. type: TP
-#: doc/tin.1:3762
+#: doc/tin.1:3837
 #, no-wrap
 msgid "B<NAME>"
 msgstr "B<NAME>"
 
 #. type: Plain text
-#: doc/tin.1:3766
+#: doc/tin.1:3841
 msgid ""
 "Overrides the full name given in the gecos-field in I</etc/passwd>, see also "
 "B<mail_address>."
@@ -9060,38 +9366,38 @@ msgstr ""
 "angegeben ist, siehe auch B<mail_address>."
 
 #. type: TP
-#: doc/tin.1:3766
+#: doc/tin.1:3841
 #, no-wrap
 msgid "B<REALNAME>"
 msgstr "B<REALNAME>"
 
 #. type: Plain text
-#: doc/tin.1:3769
+#: doc/tin.1:3844
 msgid "Same as $B<NAME>."
 msgstr "Bewirkt das Gleiche wie $B<NAME>."
 
 #. type: TP
-#: doc/tin.1:3769
+#: doc/tin.1:3844
 #, no-wrap
 msgid "B<HOME>"
 msgstr "B<HOME>"
 
 #. type: Plain text
-#: doc/tin.1:3774
+#: doc/tin.1:3849
 msgid ""
 "Pathname of the user's home directory. See B<\\%environ>(5)  for more info."
 msgstr ""
-"Das Anmeldeverzeichnis des Benutzers. Weitere Informationen finden sich in B<"
-"\\%environ>(5)."
+"Das Anmeldeverzeichnis des Benutzers. Weitere Informationen finden sich in "
+"B<\\%environ>(5)."
 
 #. type: TP
-#: doc/tin.1:3774
+#: doc/tin.1:3849
 #, no-wrap
 msgid "B<MAILER>"
 msgstr "B<MAILER>"
 
 #. type: Plain text
-#: doc/tin.1:3778
+#: doc/tin.1:3853
 msgid ""
 "This variable has precedence over the default mailer that is used in all "
 "mailing operations within B<tin>."
@@ -9100,24 +9406,40 @@ msgstr ""
 "Versandoperationen innerhalb von B<tin> verwendet wird."
 
 #. type: TP
-#: doc/tin.1:3778
+#: doc/tin.1:3853
 #, no-wrap
 msgid "B<MAIL>"
 msgstr "B<MAIL>"
 
 #. type: Plain text
-#: doc/tin.1:3781
+#: doc/tin.1:3856
 msgid "Full path to the user's mailbox."
 msgstr "Voller Pfad zum Postfach des Benutzers."
 
+#.  we don't support the %message || ?message notation
 #. type: TP
-#: doc/tin.1:3781
+#: doc/tin.1:3856
+#, no-wrap
+msgid "B<MAILPATH>"
+msgstr "B<MAILPATH>"
+
+#. type: Plain text
+#: doc/tin.1:3861
+msgid ""
+"A colon-separated list of filenames which are checked for new mail. This "
+"overrides the $B<MAIL> variable."
+msgstr ""
+"Eine durch Doppelpunkte getrennte Liste von Dateinamen, die auf neue E-Mails "
+"Ã¼berprÃ¼ft werden. Ãœbersteuert die Variable $B<MAIL>."
+
+#. type: TP
+#: doc/tin.1:3861
 #, no-wrap
 msgid "B<VISUAL>"
 msgstr "B<VISUAL>"
 
 #. type: Plain text
-#: doc/tin.1:3790
+#: doc/tin.1:3870
 msgid ""
 "This variable has precedence over the default editor (i.e., B<\\%vi>(1))  "
 "that is used in all editing operations within B<tin> (e.g., posting, "
@@ -9126,13 +9448,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3790
+#: doc/tin.1:3870
 #, no-wrap
 msgid "B<EDITOR>"
 msgstr "B<EDITOR>"
 
 #. type: Plain text
-#: doc/tin.1:3799
+#: doc/tin.1:3879
 msgid ""
 "If $B<VISUAL> is unset, then this variable is looked up for a default "
 "editor. If $B<EDITOR> and $B<VISUAL> are both unset, B<tin> uses the systems "
@@ -9145,13 +9467,13 @@ msgstr ""
 "Systemen). Weitere Informationen finden sich in B<\\%environ>(5)."
 
 #. type: TP
-#: doc/tin.1:3799
+#: doc/tin.1:3879
 #, no-wrap
 msgid "B<AUTOSUBSCRIBE>"
 msgstr "B<AUTOSUBSCRIBE>"
 
 #. type: Plain text
-#: doc/tin.1:3805
+#: doc/tin.1:3885
 msgid ""
 "A new group is checked against the list of patterns; if it matches, B<tin> "
 "subscribes the user to the group without further query.  See the section "
@@ -9160,12 +9482,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3807
+#: doc/tin.1:3887
 msgid "I<AUTOSUBSCRIBE=comp.os.unix.*,talk.*,!talk.politics.*>"
 msgstr "I<AUTOSUBSCRIBE=comp.os.unix.*,talk.*,!talk.politics.*>"
 
 #. type: Plain text
-#: doc/tin.1:3812
+#: doc/tin.1:3892
 msgid ""
 "will automatically subscribe the user to all new groups in the comp.os.unix "
 "hierarchy, and all talk groups other than talk.politics groups (which will "
@@ -9174,25 +9496,25 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3812
+#: doc/tin.1:3892
 #, no-wrap
 msgid "B<AUTOUNSUBSCRIBE>"
 msgstr "B<AUTOUNSUBSCRIBE>"
 
 #. type: Plain text
-#: doc/tin.1:3816
+#: doc/tin.1:3896
 msgid ""
 "Is handled like the $B<AUTOSUBSCRIBE> variable, but groups matching the list "
 "are unsubscribed from without further query. For example, setting"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3818
+#: doc/tin.1:3898
 msgid "I<AUTOUNSUBSCRIBE=alt.flame.*,u*,!uk.*>"
 msgstr "I<AUTOUNSUBSCRIBE=alt.flame.*,u*,!uk.*>"
 
 #. type: Plain text
-#: doc/tin.1:3822
+#: doc/tin.1:3902
 msgid ""
 "will automatically unsubscribe the user from all new alt.flame groups and "
 "all groups starting with u (university groups) other than UK groups (which "
@@ -9203,13 +9525,13 @@ msgstr ""
 "Gruppen (die wie gewohnt abgefragt werden), abmelden."
 
 #. type: TP
-#: doc/tin.1:3822
+#: doc/tin.1:3902
 #, no-wrap
 msgid "B<TMPDIR>"
 msgstr "B<TMPDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3826
+#: doc/tin.1:3906
 msgid ""
 "A pathname of a directory made available for B<tin> to create temporary "
 "files."
@@ -9218,13 +9540,13 @@ msgstr ""
 "Dateien zur VerfÃ¼gung gestellt wird."
 
 #. type: TP
-#: doc/tin.1:3826
+#: doc/tin.1:3906
 #, no-wrap
 msgid "B<MAILCAPS>"
 msgstr "B<MAILCAPS>"
 
 #. type: Plain text
-#: doc/tin.1:3832
+#: doc/tin.1:3912
 msgid ""
 "This variable can be used to override the default path search for B<\\"
 "%mailcap>(5)  files. See also B<\\%tin>(5)."
@@ -9233,28 +9555,28 @@ msgstr ""
 "%mailcap>(5)-Dateien zu Ã¼berschreiben. Siehe auch B<\\%tin>(5)."
 
 #. type: TP
-#: doc/tin.1:3832
+#: doc/tin.1:3912
 #, no-wrap
 msgid "B<NOMETAMAIL>"
 msgstr "B<NOMETAMAIL>"
 
 #. type: Plain text
-#: doc/tin.1:3837
+#: doc/tin.1:3917
 msgid ""
 "Set this variable to disable the use of B<\\%metamail>(1)  or a replacement "
-"(e.g. metamutt)."
+"(e.g., metamutt)."
 msgstr ""
 "Setzen Sie diese Variable, um die Verwendung von B<\\%metamail>(1) oder "
 "einen Ersatz (z. B. metamutt) zu unterdrÃ¼cken."
 
 #. type: TP
-#: doc/tin.1:3837
+#: doc/tin.1:3917
 #, no-wrap
 msgid "B<MM_CHARSET>"
 msgstr "B<MM_CHARSET>"
 
 #. type: Plain text
-#: doc/tin.1:3841
+#: doc/tin.1:3921
 msgid ""
 "MIME character set used if not configured via the tinrc variable "
 "B<mm_charset>."
@@ -9263,39 +9585,41 @@ msgstr ""
 "B<mm_charset> konfiguriert."
 
 #. type: TP
-#: doc/tin.1:3841
+#: doc/tin.1:3921
 #, no-wrap
 msgid "B<ISPELL>"
 msgstr "B<ISPELL>"
 
 #. type: Plain text
-#: doc/tin.1:3846
+#: doc/tin.1:3926
 msgid ""
 "Set this variable to point to B<\\%ispell>(1)  or a replacement and its cmd-"
 "line options."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3846
+#: doc/tin.1:3926
 #, no-wrap
 msgid "B<PGPOPTS>"
 msgstr "B<PGPOPTS>"
 
 #. type: Plain text
-#: doc/tin.1:3853
+#: doc/tin.1:3933
 msgid ""
 "Define any additional options that you wish to pass to your B<\\%pgp>(1)  or "
 "B<\\%gpg>(1)  program."
 msgstr ""
+"ZusÃ¤tzliche Optionen, die Sie an Ihr B<\\%pgp>(1)- oder B<\\%gpg>(1)-"
+"Programm Ã¼bergeben mÃ¶chten."
 
 #. type: TP
-#: doc/tin.1:3853
+#: doc/tin.1:3933
 #, no-wrap
 msgid "B<PGPPATH>"
 msgstr "B<PGPPATH>"
 
 #. type: Plain text
-#: doc/tin.1:3858
+#: doc/tin.1:3938
 msgid ""
 "Override the name of the B<\\%pgp>(1)  directory in B<$HOME> that holds your "
 "keys etc.."
@@ -9304,13 +9628,13 @@ msgstr ""
 "deine SchlÃ¼ssel usw. enthÃ¤lt."
 
 #. type: TP
-#: doc/tin.1:3858
+#: doc/tin.1:3938
 #, no-wrap
 msgid "B<GNUPGHOME>"
 msgstr "B<GNUPGHOME>"
 
 #. type: Plain text
-#: doc/tin.1:3863
+#: doc/tin.1:3943
 msgid ""
 "Override the name of the B<\\%gpg>(1)  directory in B<$HOME> that holds your "
 "keys etc.."
@@ -9319,13 +9643,13 @@ msgstr ""
 "deine SchlÃ¼ssel usw. enthÃ¤lt."
 
 #. type: TP
-#: doc/tin.1:3863
+#: doc/tin.1:3943
 #, no-wrap
 msgid "B<LC_CTYPE>"
 msgstr "B<LC_CTYPE>"
 
 #. type: Plain text
-#: doc/tin.1:3875
+#: doc/tin.1:3955
 msgid ""
 "This variable determines the B<\\%locale>(5)  category for character "
 "handling functions. Usually it determines the character classes for pattern "
@@ -9337,100 +9661,120 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3875
+#: doc/tin.1:3955
 #, no-wrap
 msgid "B<LC_MESSAGES>"
 msgstr "B<LC_MESSAGES>"
 
 #. type: Plain text
-#: doc/tin.1:3884
+#: doc/tin.1:3964
 msgid ""
 "Formats of informative and diagnostic messages and interactive responses.  "
 "Its value should be of the form I<language>[I<_territory>][I<.codeset>]"
 "[I<@modifier>]. See B<\\%locale>(5)  and B<\\%environ>(5)  for more "
 "information."
 msgstr ""
-"Datums- und Zeitformate. Sein Wert sollte der Form I<language>[I<_territory>]"
+"Datums- und Zeitformate. Ihr Wert sollte der Form I<language>[I<_territory>]"
 "[I<.codeset>][I<@modifier>] entsprechen. FÃ¼r weitere Informationen siehe B<\\"
 "%locale>(5) und B<\\%environ>(5)."
 
 #. type: TP
-#: doc/tin.1:3884
+#: doc/tin.1:3964
+#, no-wrap
+msgid "B<LC_NUMERIC>"
+msgstr "B<LC_NUMERIC>"
+
+#. type: Plain text
+#: doc/tin.1:3972
+msgid ""
+"Numeric value formats. Its value should be of the form "
+"I<language>[I<_territory>][I<.codeset>][I<@modifier>]. See B<\\%locale>(5)  "
+"and B<\\%environ>(5)  for more information."
+msgstr ""
+"Formate fÃ¼r numerische Werte. Ihr Wert sollte der Form "
+"I<language>[I<_territory>][I<.codeset>][I<@modifier>] entsprechen. FÃ¼r "
+"weitere Informationen siehe B<\\%locale>(5) und B<\\%environ>(5)."
+
+#. type: TP
+#: doc/tin.1:3972
 #, no-wrap
 msgid "B<LC_TIME>"
 msgstr "B<LC_TIME>"
 
 #. type: Plain text
-#: doc/tin.1:3892
+#: doc/tin.1:3980
 msgid ""
 "Date and time formats. Its value should be of the form "
 "I<language>[I<_territory>][I<.codeset>][I<@modifier>]. See B<\\%locale>(5)  "
 "and B<\\%environ>(5)  for more information."
 msgstr ""
-"Datums- und Zeitformate. Sein Wert sollte der Form I<language>[I<_territory>]"
+"Datums- und Zeitformate. Ihr Wert sollte der Form I<language>[I<_territory>]"
 "[I<.codeset>][I<@modifier>] entsprechen. FÃ¼r weitere Informationen siehe B<\\"
 "%locale>(5) und B<\\%environ>(5)."
 
 #. type: TP
-#: doc/tin.1:3892
+#: doc/tin.1:3980
 #, no-wrap
 msgid "B<LC_ALL>"
 msgstr "B<LC_ALL>"
 
 #. type: Plain text
-#: doc/tin.1:3901
+#: doc/tin.1:3989
 msgid ""
-"This variable overrides the value of the B<$LANG> variable and any other B<"
-"$LC_> variable. Its value should be of the form I<language>[I<_territory>]"
+"This variable overrides the value of the B<$LANG> variable and any other "
+"B<$LC_> variable. Its value should be of the form I<language>[I<_territory>]"
 "[I<.codeset>]. See B<\\%locale>(5)  and B<\\%environ>(5)  for more "
 "information."
 msgstr ""
-"Datums- und Zeitformate. Sein Wert sollte der Form I<language>[I<_territory>]"
+"Datums- und Zeitformate. Ihr Wert sollte der Form I<language>[I<_territory>]"
 "[I<.codeset>][I<@modifier>] entsprechen. FÃ¼r weitere Informationen siehe B<\\"
 "%locale>(5) und B<\\%environ>(5)."
 
 #. type: TP
-#: doc/tin.1:3901
+#: doc/tin.1:3989
 #, no-wrap
 msgid "B<LANG>"
 msgstr "B<LANG>"
 
 #. type: Plain text
-#: doc/tin.1:3910
+#: doc/tin.1:3998
 msgid ""
 "This variable determines the B<\\%locale>(5)  category for any category not "
 "specifically selected with a variable starting with B<$LC_>. Its value "
 "should be of the form I<language>[I<_territory>][I<.codeset>]. See B<\\"
 "%environ>(5)  for more information."
 msgstr ""
-"Datums- und Zeitformate. Sein Wert sollte der Form I<language>[I<_territory>]"
+"Datums- und Zeitformate. Ihr Wert sollte der Form I<language>[I<_territory>]"
 "[I<.codeset>][I<@modifier>] entsprechen. FÃ¼r weitere Informationen siehe B<\\"
 "%locale>(5) und B<\\%environ>(5)."
 
 #. type: TP
-#: doc/tin.1:3910
+#: doc/tin.1:3998
 #, no-wrap
 msgid "B<LANGUAGE>"
 msgstr "B<LANGUAGE>"
 
 #. type: Plain text
-#: doc/tin.1:3918
+#: doc/tin.1:4006
 msgid ""
 "This variable defines a priority list for translations. Whenever a "
-"translation is not available in the language selected via B<$LC_ALL> or B<"
-"$LANG> the next language from the list is tried. Its value should be of the "
-"form I<language:language[:language]>. See B<\\%environ>(5)  for more "
-"information."
+"translation is not available the next language from the list is tried.  Its "
+"value should be of the form I<language:language[:language]>.  Requires "
+"B<$LC_ALL> or B<$LANG> to be set. See B<\\%environ>(5)  for more information."
 msgstr ""
+"Datums- und Zeitformate. Ihr Wert sollte der Form I<language>[I<_territory>]"
+"[I<.codeset>][I<@modifier>] entsprechen. B<$LC_ALL> der B<$LANG> muss "
+"ebenfalls gesetzt sein. FÃ¼r weitere Informationen siehe B<\\%locale>(5) und "
+"B<\\%environ>(5)."
 
 #. type: TP
-#: doc/tin.1:3918
+#: doc/tin.1:4006
 #, no-wrap
 msgid "B<COLUMNS>"
 msgstr "B<COLUMNS>"
 
 #. type: Plain text
-#: doc/tin.1:3928
+#: doc/tin.1:4016
 msgid ""
 "A decimal integer E<gt> 0 used to indicate the user's preferred width in "
 "column positions for the terminal screen or window. If this variable is "
@@ -9443,13 +9787,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3928
+#: doc/tin.1:4016
 #, no-wrap
 msgid "B<LINES>"
 msgstr "B<LINES>"
 
 #. type: Plain text
-#: doc/tin.1:3938
+#: doc/tin.1:4026
 msgid ""
 "A decimal integer E<gt> 0 used to indicate the user's preferred number of "
 "lines on a page or the vertical screen or window size in lines. A line in "
@@ -9462,7 +9806,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3938
+#: doc/tin.1:4026
 #, no-wrap
 msgid "B<TERM>"
 msgstr "B<TERM>"
@@ -9470,7 +9814,7 @@ msgstr "B<TERM>"
 #
 #
 #. type: Plain text
-#: doc/tin.1:3944
+#: doc/tin.1:4032
 msgid ""
 "The type of terminal in use. This is used when looking up termcap "
 "sequences.  See B<\\%environ>(5)  for more information."
@@ -9479,24 +9823,24 @@ msgstr ""
 "%environ>(5)."
 
 #. type: TP
-#: doc/tin.1:3944
+#: doc/tin.1:4032
 #, no-wrap
 msgid "B<DISPLAY>"
 msgstr "B<DISPLAY>"
 
 #. type: Plain text
-#: doc/tin.1:3947
+#: doc/tin.1:4035
 msgid "Display name, pointing to the X server; required for xface."
 msgstr "Anzeigename der auf den X-Server zeigt; erforderlich fÃ¼r xface."
 
 #. type: TP
-#: doc/tin.1:3947
+#: doc/tin.1:4035
 #, no-wrap
 msgid "B<WINDOWID>"
 msgstr "B<WINDOWID>"
 
 #. type: Plain text
-#: doc/tin.1:3951
+#: doc/tin.1:4039
 msgid ""
 "Used for determining terminal's X window id; required for xface. Should be "
 "set by the terminal emulator."
@@ -9505,13 +9849,13 @@ msgstr ""
 "fÃ¼r xface. Sollte vom Terminalemulator gesetzt werden."
 
 #. type: TP
-#: doc/tin.1:3951
+#: doc/tin.1:4039
 #, no-wrap
 msgid "B<SHELL>"
 msgstr "B<SHELL>"
 
 #. type: Plain text
-#: doc/tin.1:3955
+#: doc/tin.1:4043
 msgid ""
 "The pathname of the user's login shell. Used to set B<default_shell_command>."
 msgstr ""
@@ -9519,61 +9863,61 @@ msgstr ""
 "B<default_shell_command>."
 
 #. type: TP
-#: doc/tin.1:3955
+#: doc/tin.1:4043
 #, no-wrap
 msgid "B<XDG_RUNTIME_DIR>"
 msgstr "B<XDG_RUNTIME_DIR>"
 
 #. type: Plain text
-#: doc/tin.1:3960
+#: doc/tin.1:4048
 msgid ""
 "The pathname of the user's dir to put non-essential run time files into."
 msgstr ""
 "Pfadname des Verzeichnisses, in dem nicht zwingend benÃ¶tigte Laufzeitdateien "
 "abgelegt werden sollen."
 
-#. type: IX
-#: doc/tin.1:3960 doc/tin.1:3961
+#. type: SH
+#: doc/tin.1:4048
 #, no-wrap
 msgid "SIGNALS"
 msgstr "SIGNALE"
 
 #.  TODO: add missing, sort useful, document in detail
 #. type: Plain text
-#: doc/tin.1:3965
+#: doc/tin.1:4052
 msgid "B<tin> handles a couple of signals:"
 msgstr "B<tin> verarbeitet folgende Signale:"
 
 #. type: TP
-#: doc/tin.1:3965
+#: doc/tin.1:4052
 #, no-wrap
 msgid "B<SIGHUP>"
 msgstr "B<SIGHUP>"
 
 #. type: Plain text
-#: doc/tin.1:3968 doc/tin.1:3971
+#: doc/tin.1:4055 doc/tin.1:4058
 msgid "Terminate gracefully."
 msgstr "Sauber beenden."
 
 #. type: TP
-#: doc/tin.1:3968
+#: doc/tin.1:4055
 #, no-wrap
 msgid "B<SIGTERM>"
 msgstr "B<SIGTERM>"
 
 #. type: TP
-#: doc/tin.1:3971
+#: doc/tin.1:4058
 #, no-wrap
 msgid "B<SIGUSR1>"
 msgstr "B<SIGUSR1>"
 
 #. type: Plain text
-#: doc/tin.1:3974
+#: doc/tin.1:4061
 msgid "Terminate gracefully but do not restore terminal (tty)."
 msgstr "Beenden ohne das Terminal (tty) wiederherzustellen."
 
 #. type: TP
-#: doc/tin.1:3974
+#: doc/tin.1:4061
 #, no-wrap
 msgid "B<SIGUSR2>"
 msgstr "B<SIGUSR2>"
@@ -9584,34 +9928,34 @@ msgstr "B<SIGUSR2>"
 #.  give an overview of the most common error messages and how to cope with
 #.  them.
 #. type: Plain text
-#: doc/tin.1:3985
+#: doc/tin.1:4072
 msgid "Write out I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>-file."
 msgstr "Speichern der I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>-Datei."
 
-#. type: IX
-#: doc/tin.1:3985 doc/tin.1:3986
+#. type: SH
+#: doc/tin.1:4072
 #, no-wrap
 msgid "SECURITY"
 msgstr "SICHERHEIT"
 
 #. type: Plain text
-#: doc/tin.1:3992
+#: doc/tin.1:4078
 msgid ""
 "If B<tin> is started in debug mode (''B<-D n>'') it will create world "
 "readable files in B<$TMPDIR> which may contain sensitive data like the users "
-"NNTP password in cleartext (if running verbose). On multiuser-systems B<"
-"$TMPDIR> should be set to a safe location before starting B<tin> in "
-"(verbose) debug mode (e.g. B<TMPDIR=$HOME tin -vD 1>)."
-msgstr ""
-"Falls B<tin> im Debug-Modus (''B<-D n>'') gestartet wird, werden in B<"
-"$TMPDIR> fÃ¼r alle Benutzer lesbare Dateien erzeugt, welche das NNTP-Passwort "
-"des aktuellen Benutzers im Klartext enthalten kÃ¶nnen (falls Verbose "
+"NNTP password in cleartext (if running verbose). On multiuser-systems "
+"B<$TMPDIR> should be set to a safe location before starting B<tin> in "
+"(verbose) debug mode (e.g., B<TMPDIR=$HOME tin -vD 1>)."
+msgstr ""
+"Falls B<tin> im Debug-Modus (''B<-D n>'') gestartet wird, werden in "
+"B<$TMPDIR> fÃ¼r alle Benutzer lesbare Dateien erzeugt, welche das NNTP-"
+"Passwort des aktuellen Benutzers im Klartext enthalten kÃ¶nnen (falls Verbose "
 "angeschaltet ist). Auf Multiuser-Systemen sollte daher $TMPDIR auf einen "
 "sicheren Speicherort gesetzt werden, bevor B<tin> im (verbosen) Debug-Modus "
-"gestartet wird (z. B. TMPDIR=$HOME tin -vD 1)."
+"gestartet wird (z. B. B<TMPDIR=$HOME tin -vD 1>)."
 
 #. type: Plain text
-#: doc/tin.1:3996
+#: doc/tin.1:4082
 msgid ""
 "Using the ''B<-k>'' option to skip certificate verification makes the "
 "session insecure as the server's certificate is not checked; avoid this "
@@ -9622,7 +9966,7 @@ msgstr ""
 "Servers nicht Ã¼berprÃ¼ft wird; Vermeiden Sie diese Option nach MÃ¶glichkeit."
 
 #. type: Plain text
-#: doc/tin.1:4003
+#: doc/tin.1:4089
 msgid ""
 "If the server does not initially require authentication but supports "
 "compression and compression is requested, B<tin> will exit when "
@@ -9635,8 +9979,8 @@ msgstr ""
 "der Befehlszeilenoption ''B<-A>'' in Verbindung mit ''B<-C>'' kann dieses "
 "Verhalten umgangen werden."
 
-#. type: IX
-#: doc/tin.1:4003 doc/tin.1:4004
+#. type: SH
+#: doc/tin.1:4089
 #, no-wrap
 msgid "CONFORMING TO"
 msgstr "KONFORM ZU"
@@ -9644,21 +9988,24 @@ msgstr "KONFORM ZU"
 #.  - RFC\%2045, RFC\%2047, RFC\%2231, RFC\%2980, RFC\%3977, RFC\%4155
 #.    RFC\%4643, RFC\%5322, RFC\%5536, RFC\%5537, RFC\%6048 or whatever
 #. type: Plain text
-#: doc/tin.1:4012
+#: doc/tin.1:4097
 msgid ""
 "B<tin> does conform to the Base Definitions volume of IEEE Std 1003.1-2008, "
 "Section 12, Utility Conventions (Utility Argument Syntax, Utility Syntax "
 "Guidelines)."
 msgstr ""
+"B<tin> ist konform zu dem Basisdefinitionsband von IEEE Std 1003.1-2008, "
+"Abschnitt 12, Utility-Konventionen (Utility Argument Syntax, Utility Syntax "
+"Guidelines)."
 
-#. type: IX
-#: doc/tin.1:4012 doc/tin.1:4013
+#. type: SH
+#: doc/tin.1:4097
 #, no-wrap
 msgid "NOTES"
 msgstr "ANMERKUNGEN"
 
 #. type: Plain text
-#: doc/tin.1:4020
+#: doc/tin.1:4104
 msgid ""
 "Regular expression support is provided by the PCRE library package B<\\"
 "%pcre>(3)  or B<\\%pcre2>(3)  which is open source software, written by "
@@ -9670,18 +10017,18 @@ msgstr ""
 "University of Cambridge, England."
 
 #. type: Plain text
-#: doc/tin.1:4024
+#: doc/tin.1:4108
 msgid "E<lt>https://www.pcre.org/E<gt>"
 msgstr "E<lt>https://www.pcre.org/E<gt>"
 
-#. type: IX
-#: doc/tin.1:4024 doc/tin.1:4025
+#. type: SH
+#: doc/tin.1:4108
 #, no-wrap
 msgid "BUGS"
 msgstr "FEHLER"
 
 #. type: Plain text
-#: doc/tin.1:4033
+#: doc/tin.1:4116
 msgid ""
 "B<CNews>\\0NNTPd, B<\\%noffle>(1)  (E<lt>= V1.0-pre5) and B<NewsCache> "
 "(E<lt>= V1.1.91) can't handle pipelined GROUP commands (B<RFC\\%3977>).  If "
@@ -9695,20 +10042,20 @@ msgstr ""
 "kompilieren Sie das Programm neu."
 
 #. type: Plain text
-#: doc/tin.1:4040
+#: doc/tin.1:4123
 msgid ""
 "Using the ''B<-C>'' (COMPRESS) flag with B<INN>\\0nnrpd versions between "
 "2.6.1 and 2.7.1 (both incl.) may cause B<tin> to hang and later timeout when "
 "posting. This has been fixed in B<INN>\\0nnrpd version 2.7.2. As a "
 "workaround simply don't use ''B<-C>''."
 msgstr ""
-"Die Verwendung des ''-C'' (COMPRESS)-Flags mit B<INN>-Versionen zwischen "
+"Die Verwendung des ''B<-C>'' (COMPRESS)-Flags mit B<INN>-Versionen zwischen "
 "2.6.1 und 2.7.1 (beide einschl.) kann dazu fÃ¼hren, dass B<tin> beim Posten "
 "hÃ¤ngt und sich mit einem Timeout beendet. Dies wurde in der B<INN>-Version "
-"2.7.2 behoben. Als Workaround verwenden Sie einfach kein ''-C''."
+"2.7.2 behoben. Als Workaround verwenden Sie einfach kein ''B<-C>''."
 
 #. type: Plain text
-#: doc/tin.1:4049
+#: doc/tin.1:4132
 msgid ""
 "Before mailing a bug-report to E<lt>tin-bugs@tin.orgE<gt> please check if "
 "you are using the latest (stable) release, and if not, please upgrade first! "
@@ -9725,14 +10072,14 @@ msgstr ""
 "auf Englisch. Bitte fÃ¼gen Sie Ihrem Bug-Report KEINE Core-Datei bei \\(em "
 "auÃŸer wir haben diese angefordert."
 
-#. type: IX
-#: doc/tin.1:4049 doc/tin.1:4050
+#. type: SH
+#: doc/tin.1:4132
 #, no-wrap
 msgid "HISTORY"
 msgstr "GESCHICHTE"
 
 #. type: Plain text
-#: doc/tin.1:4059
+#: doc/tin.1:4141
 msgid ""
 "B<tin> is based on the B<\\%tass>(1)  newsreader that was developed by Rich "
 "Skrenta and posted to alt.sources in March 1991; its first version was "
@@ -9750,127 +10097,127 @@ msgstr ""
 "Versionen findet sich unter"
 
 #. type: Plain text
-#: doc/tin.1:4063
+#: doc/tin.1:4145
 msgid "E<lt>http://www.tin.org/history.htmlE<gt>."
 msgstr "E<lt>http://www.tin.org/history.htmlE<gt>."
 
 #. type: SH
-#: doc/tin.1:4063
+#: doc/tin.1:4145
 #, no-wrap
 msgid "CREDITS"
 msgstr "DANKSAGUNGEN"
 
 #. type: IP
-#: doc/tin.1:4064
+#: doc/tin.1:4146
 #, no-wrap
 msgid "Rich Skrenta"
 msgstr "Rich Skrenta"
 
 #. type: Plain text
-#: doc/tin.1:4068
+#: doc/tin.1:4150
 msgid "author of B<\\%tass>(1)  v3.2 which this newsreader used as its base."
 msgstr "Autor von B<\\%tass>(1) v3.2, der Basis fÃ¼r diesen Newsreader."
 
 #. type: IP
-#: doc/tin.1:4068
+#: doc/tin.1:4150
 #, no-wrap
 msgid "Bill Davidsen"
 msgstr "Bill Davidsen"
 
 #. type: Plain text
-#: doc/tin.1:4070
+#: doc/tin.1:4152
 msgid "author of envarg.c environment variable reading routine."
 msgstr "Autor von envarg.c, Umgebungsvariablenleseroutine."
 
 #. type: IP
-#: doc/tin.1:4070
+#: doc/tin.1:4152
 #, no-wrap
 msgid "Mike Gleason"
 msgstr "Mike Gleason"
 
 #. type: Plain text
-#: doc/tin.1:4072
+#: doc/tin.1:4154
 msgid "author of sigfile.c random signature generation routines."
 msgstr "Autor von sigfile.c, Zufallssignaturengenerierungsroutine."
 
 #. type: IP
-#: doc/tin.1:4072
+#: doc/tin.1:4154
 #, no-wrap
 msgid "Markus Kuhn E<lt>Markus.Kuhn@cl.cam.ac.ukE<gt>"
 msgstr "Markus Kuhn E<lt>Markus.Kuhn@cl.cam.ac.ukE<gt>"
 
 #. type: Plain text
-#: doc/tin.1:4074
+#: doc/tin.1:4156
 msgid ""
 "author of langinfo.c, charset.c and iso2asc.txt ISO-8859-1 documentation."
 msgstr ""
 "Autor von langinfo.c, charset.c und der iso2asc.txt ISO-8859-1 Dokumentation."
 
 #. type: IP
-#: doc/tin.1:4074
+#: doc/tin.1:4156
 #, no-wrap
-msgid "Arnold Robbins"
-msgstr "Arnold Robbins"
+msgid "Arnold D. Robbins"
+msgstr "Arnold D. Robbins"
 
 #. type: Plain text
-#: doc/tin.1:4076
+#: doc/tin.1:4158
 msgid "author of strftime.c date formatting routine."
 msgstr "Autor von strftime.c, Datumsfromatierungsroutine."
 
 #. type: IP
-#: doc/tin.1:4076
+#: doc/tin.1:4158
 #, no-wrap
 msgid "Rich Salz"
 msgstr "Rich Salz"
 
 #. type: Plain text
-#: doc/tin.1:4078
+#: doc/tin.1:4160
 msgid ""
 "author of wildmat.c pattern matching and parsdate.y date parsing routines."
 msgstr ""
 "Autor von wildmat.c Mustervergleichs- und parsdate.y Datumsanalyseroutinen."
 
 #. type: IP
-#: doc/tin.1:4078
+#: doc/tin.1:4160
 #, no-wrap
 msgid "Dave Taylor"
 msgstr "Dave Taylor"
 
 #. type: Plain text
-#: doc/tin.1:4082
+#: doc/tin.1:4164
 msgid "author of curses.c from the B<\\%elm>(1)  mailreader."
 msgstr "Autor von curses.c aus dem Mailreader B<\\%elm>(1)."
 
 #. type: IP
-#: doc/tin.1:4082
+#: doc/tin.1:4164
 #, no-wrap
 msgid "Chris Thewalt"
 msgstr "Chris Thewalt"
 
 #. type: Plain text
-#: doc/tin.1:4086
+#: doc/tin.1:4168
 msgid "author of getline.c B<\\%emacs>(1)  style editing routine."
 msgstr "Autor von getline.c, B<\\%emacs>(1)-artige Eingaberoutine."
 
 #. type: IP
-#: doc/tin.1:4086
+#: doc/tin.1:4168
 #, no-wrap
 msgid "Steven Madsen"
 msgstr "Steven Madsen"
 
 #. type: Plain text
-#: doc/tin.1:4090
+#: doc/tin.1:4172
 msgid "for adding B<\\%pgp>(1)  (Pretty Good Privacy) support."
 msgstr "fÃ¼r B<\\%pgp>(1) (Pretty Good Privacy) UnterstÃ¼tzung."
 
 #. type: IP
-#: doc/tin.1:4090
+#: doc/tin.1:4172
 #, no-wrap
 msgid "Philip Hazel E<lt>ph10@cam.ac.ukE<gt>"
 msgstr "Philip Hazel E<lt>ph10@cam.ac.ukE<gt>"
 
 #. type: Plain text
-#: doc/tin.1:4095
+#: doc/tin.1:4177
 msgid ""
 "for B<\\%pcre>(3), B<\\%pcre2>(3)  (Perl-compatible regular expression "
 "library)."
@@ -9879,78 +10226,80 @@ msgstr ""
 "AusdrÃ¼cke)."
 
 #. type: IP
-#: doc/tin.1:4095
+#: doc/tin.1:4177
 #, no-wrap
-msgid "Patrick Powell E<lt>papowell@astart.comE<gt>"
-msgstr "Patrick Powell E<lt>papowell@astart.comE<gt>"
+msgid "Mark Martinec E<lt>mark.martinec@ijs.siE<gt>"
+msgstr "Mark Martinec E<lt>mark.martinec@ijs.siE<gt>"
 
 #. type: Plain text
-#: doc/tin.1:4103
+#: doc/tin.1:4185
 msgid "for B<\\%snprintf>(3)  and B<\\%vsnprintf>(3)  fallbacks."
 msgstr "fÃ¼r B<\\%snprintf>(3) und B<\\%vsnprintf>(3) Fallbacks."
 
 #. type: SH
-#: doc/tin.1:4103
+#: doc/tin.1:4185
 #, no-wrap
 msgid "AUTHOR"
 msgstr "AUTOR"
 
 #. type: TP
-#: doc/tin.1:4104
+#: doc/tin.1:4186
 #, no-wrap
 msgid "Iain Lea E<lt>iain@bricbrac.deE<gt>"
 msgstr "Iain Lea E<lt>iain@bricbrac.deE<gt>"
 
 #. type: SH
-#: doc/tin.1:4108
+#: doc/tin.1:4190
 #, no-wrap
 msgid "MAINTAINER"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:4109
+#: doc/tin.1:4191
 #, no-wrap
 msgid "Urs Janssen E<lt>urs@tin.orgE<gt>"
 msgstr "Urs JanÃŸen E<lt>urs@tin.orgE<gt>"
 
 #. type: SH
-#: doc/tin.1:4113 doc/tin.1:4114 doc/tin.5:2823
+#: doc/tin.1:4195 doc/tin.5:2890
 #, no-wrap
 msgid "SEE ALSO"
 msgstr "SIEHE AUCH"
 
 #. type: Plain text
-#: doc/tin.1:4176
+#: doc/tin.1:4259
 msgid ""
 "B<\\%elm>(1), B<\\%emacs>(1), B<\\%gpg>(1), B<\\%inews>(1), B<\\%ispell>(1), "
 "B<\\%lp>(1), B<\\%lpr>(1), B<\\%metamail>(1), B<\\%mutt>(1), B<\\"
 "%noffle>(1), B<\\%perl>(1), B<\\%perlre>(1), B<\\%pgp>(1), B<\\%rn>(1), B<\\"
 "%sendmail>(1), B<\\%shar>(1), B<\\%slrnface>(1), B<\\%tass>(1), B<\\"
 "%unshar>(1), B<\\%uudecode>(1), B<\\%vi>(1), B<\\%xterm>(1x), B<\\"
-"%heapsort>(3), B<\\%iconv>(3), B<\\%iconv_open>(3), B<\\%nl_langinfo>(3), B<"
-"\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\%pcre2pattern>(3), B<"
-"\\%qsort>(3), B<\\%snprintf>(3), B<\\%strftime>(3), B<\\%vsnprintf>(3), B<\\"
-"%wildmat>(3), B<\\%environ>(5), B<\\%locale>(5), B<\\%mailcap>(5), B<\\"
+"%heapsort>(3), B<\\%iconv>(3), B<\\%iconv_open>(3), B<\\%nl_langinfo>(3), "
+"B<\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\%pcre2pattern>(3), "
+"B<\\%qsort>(3), B<\\%snprintf>(3), B<\\%strftime>(3), B<\\%vsnprintf>(3), "
+"B<\\%wildmat>(3), B<\\%environ>(5), B<\\%locale>(5), B<\\%mailcap>(5), B<\\"
 "%mbox>(5), B<\\%mmdf>(5), B<\\%newsoverview>(5), B<\\%tin>(5), B<\\"
-"%cron>(8), B<RFC\\%1345>, B<RFC\\%1524>, B<RFC\\%2045>, B<RFC\\%2046>, B<RFC"
-"\\%2047>, B<RFC\\%2048>, B<RFC\\%2231>, B<RFC\\%2980>, B<RFC\\%3156>, B<RFC\\"
-"%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%4880>, B<RFC\\%5322>, B<RFC\\"
-"%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%8054>, B<RFC\\%8143>"
+"%cron>(8), B<RFC\\%1345>, B<RFC\\%1524>, B<RFC\\%1952>, B<RFC\\%2045>, "
+"B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2231>, B<RFC\\%2980>, B<RFC\\%3156>, "
+"B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%4880>, B<RFC\\%5198>, "
+"B<RFC\\%5322>, B<RFC\\%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%6838>, "
+"B<RFC\\%8054>, B<RFC\\%8143>"
 msgstr ""
 "B<\\%elm>(1), B<\\%emacs>(1), B<\\%gpg>(1), B<\\%inews>(1), B<\\%ispell>(1), "
 "B<\\%lp>(1), B<\\%lpr>(1), B<\\%metamail>(1), B<\\%mutt>(1), B<\\"
 "%noffle>(1), B<\\%perl>(1), B<\\%perlre>(1), B<\\%pgp>(1), B<\\%rn>(1), B<\\"
 "%sendmail>(1), B<\\%shar>(1), B<\\%slrnface>(1), B<\\%tass>(1), B<\\"
 "%unshar>(1), B<\\%uudecode>(1), B<\\%vi>(1), B<\\%xterm>(1x), B<\\"
-"%heapsort>(3), B<\\%iconv>(3), B<\\%iconv_open>(3), B<\\%nl_langinfo>(3), B<"
-"\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\%pcre2pattern>(3), B<"
-"\\%qsort>(3), B<\\%snprintf>(3), B<\\%strftime>(3), B<\\%vsnprintf>(3), B<\\"
-"%wildmat>(3), B<\\%environ>(5), B<\\%locale>(5), B<\\%mailcap>(5), B<\\"
+"%heapsort>(3), B<\\%iconv>(3), B<\\%iconv_open>(3), B<\\%nl_langinfo>(3), "
+"B<\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\%pcre2pattern>(3), "
+"B<\\%qsort>(3), B<\\%snprintf>(3), B<\\%strftime>(3), B<\\%vsnprintf>(3), "
+"B<\\%wildmat>(3), B<\\%environ>(5), B<\\%locale>(5), B<\\%mailcap>(5), B<\\"
 "%mbox>(5), B<\\%mmdf>(5), B<\\%newsoverview>(5), B<\\%tin>(5), B<\\"
-"%cron>(8), B<RFC\\%1345>, B<RFC\\%1524>, B<RFC\\%2045>, B<RFC\\%2046>, B<RFC"
-"\\%2047>, B<RFC\\%2048>, B<RFC\\%2231>, B<RFC\\%2980>, B<RFC\\%3156>, B<RFC\\"
-"%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%4880>, B<RFC\\%5322>, B<RFC\\"
-"%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%8054>, B<RFC\\%8143>"
+"%cron>(8), B<RFC\\%1345>, B<RFC\\%1524>, B<RFC\\%1952>, B<RFC\\%2045>, "
+"B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2231>, B<RFC\\%2980>, B<RFC\\%3156>, "
+"B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%4880>, B<RFC\\%5198>, "
+"B<RFC\\%5322>, B<RFC\\%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%6838>, "
+"B<RFC\\%8054>, B<RFC\\%8143>"
 
 #. type: Plain text
 #: doc/tin.5:13
@@ -9993,8 +10342,8 @@ msgid ""
 "command to execute, and (possibly) a set of optional \"flag\" values."
 msgstr ""
 "Jeder einzelne Mailcap-Eintrag besteht aus einer Content-Typ-Spezifikation, "
-"einem Befehl zum AusfÃ¼hren und (mÃ¶glicherweise) einem Satz optionaler \"Flag"
-"\"-Werte."
+"einem Befehl zum AusfÃ¼hren und (mÃ¶glicherweise) einem Satz optionaler "
+"\"Flag\"-Werte."
 
 #. type: Plain text
 #: doc/tin.5:69
@@ -10169,7 +10518,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:153 doc/tin.5:1154
+#: doc/tin.5:153 doc/tin.5:1172
 #, no-wrap
 msgid "B<description>"
 msgstr "B<description>"
@@ -10181,6 +10530,10 @@ msgid ""
 "quoted, that describes the type of data, to be used optionally by mail "
 "readers that wish to describe the data before offering to display it."
 msgstr ""
+"Das Feld \"description\" stellt eine Textbeschreibung (optional in "
+"AnfÃ¼hrungszeichen) bereit, die den Datentyp beschreibt und von E-Mail-"
+"Programmen verwendet werden kann, die die Daten beschreiben mÃ¶chten, bevor "
+"sie ihre Anzeige anbieten."
 
 #. type: TP
 #: doc/tin.5:158
@@ -10240,8 +10593,8 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:184 doc/tin.5:272 doc/tin.5:302 doc/tin.5:393 doc/tin.5:712
-#: doc/tin.5:872 doc/tin.5:1178
+#: doc/tin.5:184 doc/tin.5:272 doc/tin.5:302 doc/tin.5:393 doc/tin.5:724
+#: doc/tin.5:889 doc/tin.5:1201
 #, no-wrap
 msgid "Example:"
 msgstr "Beispiel:"
@@ -10351,16 +10704,16 @@ msgstr "Mime-Typ / Dateinamen Erweiterun
 #: doc/tin.5:261
 msgid ""
 "\"I<nntpserver[:port]> I<password> [I<user>]\" pairs for NNTP servers that "
-"require authorization.  If the password contains a space or a tab it must be "
-"enclosed in double quotes (\").  Usernames must not be enclosed in double "
-"quotes and thus can't contain spaces or tabs.  Any line that starts with \"#"
-"\" is a comment.  Blank lines are ignored.  This file should be readable "
+"require authorization. If the password contains a space or a tab it must be "
+"enclosed in double quotes (\"). Usernames must not be enclosed in double "
+"quotes and thus can't contain spaces or tabs. Any line that starts with "
+"\"#\" is a comment. Blank lines are ignored. This file should be readable "
 "only for the user as it contains the user's unencrypted password for reading "
 "news!"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:261 doc/tin.5:1167
+#: doc/tin.5:261 doc/tin.5:1185
 #, no-wrap
 msgid "B<nntpserver>"
 msgstr "B<NNTPServer>"
@@ -10447,8 +10800,9 @@ msgstr "B<Markierung>"
 
 #. type: Plain text
 #: doc/tin.5:297
-msgid "a flag indicating if the group is subscribed ':' or not '!'."
-msgstr "Markierung die angibt ob die Gruppe abonniert ist ':' oder nicht '!'."
+msgid "a flag indicating if the group is subscribed ':' or not '!\\&'."
+msgstr ""
+"Markierung die angibt ob die Gruppe abonniert ist ':' oder nicht '!\\&'."
 
 #. type: TP
 #: doc/tin.5:297
@@ -10500,8 +10854,10 @@ msgstr "Signatur"
 
 #. type: Plain text
 #: doc/tin.5:338
-msgid "fixed part of a randomly generated signature"
-msgstr "Fester Bestandteil einer zufÃ¤llig erzeugten Signatur"
+msgid "fixed part of a randomly generated signature, this will be added first"
+msgstr ""
+"Fester Bestandteil einer zufÃ¤llig erzeugten Signatur, dieser wird zuerst "
+"hinzugefÃ¼gt"
 
 #. type: Plain text
 #: doc/tin.5:345
@@ -10530,20 +10886,24 @@ msgid ""
 "quadruples) of user's mailgroups (requires B<\\%tin>(1)  to be built with mh-"
 "mail-handling support)."
 msgstr ""
+"Active Datei (\"I<Mailgroupname> I<Maximalwert> I<Minimalwert> "
+"I<Mailspool>\" Quadrupel) der E-Mail-Gruppen des Benutzers (erfordert, dass "
+"B<\\%tin>(1) mit mh-Mail-Handling-UnterstÃ¼tzung gebaut wurde)."
 
 #. type: TP
-#: doc/tin.5:378 doc/tin.5:1151
+#: doc/tin.5:378 doc/tin.5:1169
 #, no-wrap
 msgid "B<mailgroupname>"
-msgstr ""
+msgstr "B<Mailgroupname>"
 
 #. type: Plain text
 #: doc/tin.5:382
 msgid ""
 "must be the pathname of the mailbox relative to field #4 with '/' changed to "
-"'.'"
+"'.\\&'"
 msgstr ""
-"Pfad der Mailbox relativ zu Feld #4, wobei '/' in '.' umgewandelt sein muss."
+"Pfad der Mailbox relativ zu Feld #4, wobei '/' in '.\\&' umgewandelt sein "
+"muss."
 
 #. type: TP
 #: doc/tin.5:382
@@ -10602,6 +10962,9 @@ msgid ""
 "This allows access to the 'inbox' and 'outbox' folders of user foo.  They "
 "are accessed via /home/foo/Mail/inbox and /home/foo/Mail/outbox"
 msgstr ""
+"Dies ermÃ¶glicht den Zugriff auf die Ordner \"Posteingang\"und "
+"\"Postausgang\" des Benutzers foo. Der Zugriff erfolgt Ã¼ber /home/foo/Mail/"
+"inbox und /home/foo/Mail/outbox"
 
 #. type: Plain text
 #: doc/tin.5:410
@@ -10640,7 +11003,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:438 doc/tin.5:1300
+#: doc/tin.5:438 doc/tin.5:1347
 #, no-wrap
 msgid "B<add_posted_to_filter>"
 msgstr "B<add_posted_to_filter>"
@@ -10660,13 +11023,13 @@ msgid "Identical to the tinrc variable o
 msgstr "Identisch mit der tinrc-Variable gleichen Namens"
 
 #. type: TP
-#: doc/tin.5:441 doc/tin.5:1304
+#: doc/tin.5:441 doc/tin.5:1351
 #, no-wrap
 msgid "B<advertising>"
 msgstr "B<advertising>"
 
 #. type: TP
-#: doc/tin.5:444 doc/tin.5:1307
+#: doc/tin.5:444 doc/tin.5:1354
 #, no-wrap
 msgid "B<alternative_handling>"
 msgstr "B<alternative_handling>"
@@ -10678,13 +11041,13 @@ msgid "B<ask_for_metamail>"
 msgstr "B<ask_for_metamail>"
 
 #. type: TP
-#: doc/tin.5:450 doc/tin.5:1356
+#: doc/tin.5:450 doc/tin.5:1403
 #, no-wrap
 msgid "B<auto_cc_bcc>"
 msgstr "B<auto_cc_bcc>"
 
 #. type: TP
-#: doc/tin.5:453 doc/tin.5:1360
+#: doc/tin.5:453 doc/tin.5:1407
 #, no-wrap
 msgid "B<auto_list_thread>"
 msgstr "B<auto_list_thread>"
@@ -10705,7 +11068,7 @@ msgstr ""
 "B<GroupMarkUnselArtRead> ('B<X>') aus."
 
 #. type: TP
-#: doc/tin.5:460 doc/tin.5:1367
+#: doc/tin.5:460 doc/tin.5:1414
 #, no-wrap
 msgid "B<batch_save>"
 msgstr "B<batch_save>"
@@ -10714,15 +11077,15 @@ msgstr "B<batch_save>"
 #: doc/tin.5:466
 msgid ""
 "Can be used to override the global setting in tinrc on a per group basis. "
-"For more information read section AUTOMATIC MAILING AND SAVING NEW NEWS in B<"
-"\\%tin>(1)."
+"For more information read section AUTOMATIC MAILING AND SAVING NEW NEWS in "
+"B<\\%tin>(1)."
 msgstr ""
 "Sende ungelesene Artikel an den angegebenen Benutzer um sie spÃ¤ter lesen zu "
 "kÃ¶nnen. FÃ¼r weitere Informationen siehe den Abschnitt \"AUTOMATISCHES MAILEN "
 "UND SPEICHERN VON UNGELESENEN ARTIKELN\" in B<\\%tin>(1)."
 
 #. type: TP
-#: doc/tin.5:466 doc/tin.5:1499
+#: doc/tin.5:466 doc/tin.5:1551
 #, no-wrap
 msgid "B<date_format>"
 msgstr "B<date_format>"
@@ -10743,13 +11106,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:476 doc/tin.5:1616
+#: doc/tin.5:476 doc/tin.5:1672
 #, no-wrap
 msgid "B<editor_format>"
 msgstr "B<editor_format>"
 
 #. type: TP
-#: doc/tin.5:479 doc/tin.5:1623
+#: doc/tin.5:479 doc/tin.5:1679
 #, no-wrap
 msgid "B<extquote_handling>"
 msgstr "B<extquote_handling>"
@@ -10766,6 +11129,8 @@ msgid ""
 "Mailbox to save sent mails. The format of the mailbox is controlled via the "
 "tinrc B<mailbox_format> variable."
 msgstr ""
+"Postfach zum Speichern gesendeter E-Mails. Das verwendete Format wird Ã¼ber "
+"die Variable tinrc B<mailbox_format> festgelegt."
 
 #. type: TP
 #: doc/tin.5:486
@@ -10779,7 +11144,7 @@ msgid "Set ''Followup-To:'' header to th
 msgstr "Setzt den ''Followup-To:''-Header auf die angegebene(n) Gruppe(n)."
 
 #. type: TP
-#: doc/tin.5:489 doc/tin.5:785
+#: doc/tin.5:489 doc/tin.5:802
 #, no-wrap
 msgid "B<from>"
 msgstr "B<from>"
@@ -10790,31 +11155,31 @@ msgid "Identical to the tinrc variable B
 msgstr "Identisch mit der tinrc-Variable B<mail_address>"
 
 #. type: TP
-#: doc/tin.5:492 doc/tin.5:1658
+#: doc/tin.5:492 doc/tin.5:1714
 #, no-wrap
 msgid "B<group_catchup_on_exit>"
 msgstr "B<group_catchup_on_exit>"
 
 #. type: TP
-#: doc/tin.5:495 doc/tin.5:1661
+#: doc/tin.5:495 doc/tin.5:1717
 #, no-wrap
 msgid "B<group_format>"
 msgstr "B<group_format>"
 
 #. type: TP
-#: doc/tin.5:498 doc/tin.5:1741
+#: doc/tin.5:498 doc/tin.5:1797
 #, no-wrap
 msgid "B<mail_8bit_header>"
 msgstr "B<mail_8bit_header>"
 
 #. type: TP
-#: doc/tin.5:501 doc/tin.5:1753 doc/tin.5:2599
+#: doc/tin.5:501 doc/tin.5:1809 doc/tin.5:2666
 #, no-wrap
 msgid "B<mail_mime_encoding>"
 msgstr "B<mail_mime_encoding>"
 
 #. type: TP
-#: doc/tin.5:504 doc/tin.5:1772
+#: doc/tin.5:504 doc/tin.5:1829
 #, no-wrap
 msgid "B<maildir>"
 msgstr "B<maildir>"
@@ -10831,15 +11196,17 @@ msgid ""
 "Used when a group is a mailing list. All responses to the group will be "
 "directed to this email address instead"
 msgstr ""
+"Wird verwendet, falls eine Gruppe eine Mailingliste ist. Alle Antworten an "
+"die Gruppe werden stattdessen an diese E-Mail-Adresse weitergeleitet."
 
 #. type: TP
-#: doc/tin.5:511 doc/tin.5:1811
+#: doc/tin.5:511 doc/tin.5:1867
 #, no-wrap
 msgid "B<mark_ignore_tags>"
 msgstr "B<mark_ignore_tags>"
 
 #. type: TP
-#: doc/tin.5:514 doc/tin.5:1808
+#: doc/tin.5:514 doc/tin.5:1864
 #, no-wrap
 msgid "B<mark_saved_read>"
 msgstr "B<mark_saved_read>"
@@ -10885,25 +11252,25 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:541 doc/tin.5:1890
+#: doc/tin.5:541 doc/tin.5:1950
 #, no-wrap
 msgid "B<news_headers_to_display>"
 msgstr "B<news_headers_to_display>"
 
 #. type: TP
-#: doc/tin.5:544 doc/tin.5:1897
+#: doc/tin.5:544 doc/tin.5:1957
 #, no-wrap
 msgid "B<news_headers_to_not_display>"
 msgstr "B<news_headers_to_not_display>"
 
 #. type: TP
-#: doc/tin.5:547 doc/tin.5:1906
+#: doc/tin.5:547 doc/tin.5:1966
 #, no-wrap
 msgid "B<news_quote_format>"
 msgstr "B<news_quote_format>"
 
 #. type: TP
-#: doc/tin.5:550 doc/tin.5:2572
+#: doc/tin.5:550 doc/tin.5:2639
 #, no-wrap
 msgid "B<organization>"
 msgstr "B<organization>"
@@ -10919,61 +11286,61 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:558 doc/tin.5:1948
+#: doc/tin.5:558 doc/tin.5:2009
 #, no-wrap
 msgid "B<pos_first_unread>"
 msgstr "B<pos_first_unread>"
 
 #. type: TP
-#: doc/tin.5:561 doc/tin.5:1952
+#: doc/tin.5:561 doc/tin.5:2013
 #, no-wrap
 msgid "B<post_8bit_header>"
 msgstr "B<post_8bit_header>"
 
 #. type: TP
-#: doc/tin.5:564 doc/tin.5:1963 doc/tin.5:2596
+#: doc/tin.5:564 doc/tin.5:2024 doc/tin.5:2663
 #, no-wrap
 msgid "B<post_mime_encoding>"
 msgstr "B<post_mime_encoding>"
 
 #. type: TP
-#: doc/tin.5:567 doc/tin.5:1976
+#: doc/tin.5:567 doc/tin.5:2037
 #, no-wrap
 msgid "B<post_process_type>"
 msgstr "B<post_process_type>"
 
 #. type: TP
-#: doc/tin.5:570 doc/tin.5:1968
+#: doc/tin.5:570 doc/tin.5:2029
 #, no-wrap
 msgid "B<post_process_view>"
 msgstr "B<post_process_view>"
 
 #. type: TP
-#: doc/tin.5:573 doc/tin.5:2000
+#: doc/tin.5:573 doc/tin.5:2061
 #, no-wrap
 msgid "B<print_header>"
 msgstr "B<print_header>"
 
 #. type: TP
-#: doc/tin.5:576 doc/tin.5:2014
+#: doc/tin.5:576 doc/tin.5:2075
 #, no-wrap
 msgid "B<process_only_unread>"
 msgstr "B<process_only_unread>"
 
 #. type: TP
-#: doc/tin.5:579 doc/tin.5:2018
+#: doc/tin.5:579 doc/tin.5:2079
 #, no-wrap
 msgid "B<prompt_followupto>"
 msgstr "B<prompt_followupto>"
 
 #. type: TP
-#: doc/tin.5:582 doc/tin.5:2022
+#: doc/tin.5:582 doc/tin.5:2083
 #, no-wrap
 msgid "B<quote_chars>"
 msgstr "B<quote_chars>"
 
 #. type: TP
-#: doc/tin.5:585 doc/tin.5:2084
+#: doc/tin.5:585 doc/tin.5:2148
 #, no-wrap
 msgid "B<savedir>"
 msgstr "B<savedir>"
@@ -10986,49 +11353,49 @@ msgid "B<savefile>"
 msgstr "B<savefile>"
 
 #. type: TP
-#: doc/tin.5:591 doc/tin.5:2160
+#: doc/tin.5:591 doc/tin.5:2224
 #, no-wrap
 msgid "B<show_art_score>"
 msgstr "B<show_art_score>"
 
 #. type: TP
-#: doc/tin.5:594 doc/tin.5:2143
+#: doc/tin.5:594 doc/tin.5:2207
 #, no-wrap
 msgid "B<show_author>"
 msgstr "B<show_author>"
 
 #. type: TP
-#: doc/tin.5:597 doc/tin.5:2192
+#: doc/tin.5:597 doc/tin.5:2256
 #, no-wrap
 msgid "B<show_only_unread_arts>"
 msgstr "B<show_only_unread_arts>"
 
 #. type: TP
-#: doc/tin.5:600 doc/tin.5:2200
+#: doc/tin.5:600 doc/tin.5:2264
 #, no-wrap
 msgid "B<show_signatures>"
 msgstr "B<show_signatures>"
 
 #. type: TP
-#: doc/tin.5:603 doc/tin.5:2203
+#: doc/tin.5:603 doc/tin.5:2267
 #, no-wrap
 msgid "B<sigdashes>"
 msgstr "B<sigdashes>"
 
 #. type: TP
-#: doc/tin.5:606 doc/tin.5:2206
+#: doc/tin.5:606 doc/tin.5:2270
 #, no-wrap
 msgid "B<sigfile>"
 msgstr "B<sigfile>"
 
 #. type: TP
-#: doc/tin.5:609 doc/tin.5:2216
+#: doc/tin.5:609 doc/tin.5:2283
 #, no-wrap
 msgid "B<signature_repost>"
 msgstr "B<signature_repost>"
 
 #. type: TP
-#: doc/tin.5:612 doc/tin.5:2226
+#: doc/tin.5:612 doc/tin.5:2293
 #, no-wrap
 msgid "B<sort_article_type>"
 msgstr "B<sort_article_type>"
@@ -11039,61 +11406,61 @@ msgid "Identical to the tinrc variable B
 msgstr "Identisch mit der tinrc-Variable B<sort_article_type>"
 
 #. type: TP
-#: doc/tin.5:615 doc/tin.5:2255
+#: doc/tin.5:615 doc/tin.5:2322
 #, no-wrap
 msgid "B<sort_threads_type>"
 msgstr "B<sort_threads_type>"
 
 #. type: TP
-#: doc/tin.5:618 doc/tin.5:2322
+#: doc/tin.5:618 doc/tin.5:2389
 #, no-wrap
 msgid "B<tex2iso_conv>"
 msgstr "B<tex2iso_conv>"
 
 #. type: TP
-#: doc/tin.5:621 doc/tin.5:2327
+#: doc/tin.5:621 doc/tin.5:2394
 #, no-wrap
 msgid "B<thread_articles>"
 msgstr "B<thread_articles>"
 
 #. type: TP
-#: doc/tin.5:624 doc/tin.5:2371
+#: doc/tin.5:624 doc/tin.5:2438
 #, no-wrap
 msgid "B<thread_catchup_on_exit>"
 msgstr "B<thread_catchup_on_exit>"
 
 #. type: TP
-#: doc/tin.5:627 doc/tin.5:2347
+#: doc/tin.5:627 doc/tin.5:2414
 #, no-wrap
 msgid "B<thread_format>"
 msgstr "B<thread_format>"
 
 #. type: TP
-#: doc/tin.5:630 doc/tin.5:2366
+#: doc/tin.5:630 doc/tin.5:2433
 #, no-wrap
 msgid "B<thread_perc>"
 msgstr "B<thread_perc>"
 
 #. type: TP
-#: doc/tin.5:633 doc/tin.5:2400
+#: doc/tin.5:633 doc/tin.5:2467
 #, no-wrap
 msgid "B<trim_article_body>"
 msgstr "B<trim_article_body>"
 
 #. type: TP
-#: doc/tin.5:636 doc/tin.5:2425
+#: doc/tin.5:636 doc/tin.5:2492
 #, no-wrap
 msgid "B<suppress_soft_hyphens>"
 msgstr "B<suppress_soft_hyphens>"
 
 #. type: TP
-#: doc/tin.5:639 doc/tin.5:2490
+#: doc/tin.5:639 doc/tin.5:2557
 #, no-wrap
 msgid "B<verbatim_handling>"
 msgstr "B<verbatim_handling>"
 
 #. type: TP
-#: doc/tin.5:642 doc/tin.5:2548
+#: doc/tin.5:642 doc/tin.5:2615
 #, no-wrap
 msgid "B<wrap_on_next_unread>"
 msgstr "B<wrap_on_next_unread>"
@@ -11112,7 +11479,7 @@ msgid ""
 "containing the text to insert. If the string starts with a ! then what "
 "follows is assumed to be the path to a program to be executed to generate "
 "the content. %G is expanded to the current news.group.name and %P is "
-"expanded to the news.group.name with all '.' replaced by '/'."
+"expanded to the news.group.name with all '.\\&' replaced by '/'."
 msgstr ""
 
 #. type: TP
@@ -11125,7 +11492,7 @@ msgstr "B<x_comment_to>"
 #: doc/tin.5:656
 msgid "Insert ''X-Comment-To:'' header, this is only useful in FIDO groups."
 msgstr ""
-"FÃ¼gt Header â€žX-Comment-To:â€œ ein, dies ist nur in FIDO-Gruppen nÃ¼tzlich."
+"FÃ¼gt Header ''X-Comment-To:'' ein, dies ist nur in FIDO-Gruppen nÃ¼tzlich."
 
 #. type: TP
 #: doc/tin.5:656
@@ -11142,7 +11509,7 @@ msgid ""
 "be inserted. If the string starts with a ! then what follows is assumed to "
 "be the path to a program to be executed to generate the header and its "
 "content. %G is expanded to the current news.group.name and %P is expanded to "
-"the news.group.name with all '.' replaced by '/'."
+"the news.group.name with all '.\\&' replaced by '/'."
 msgstr ""
 
 #. type: TP
@@ -11256,12 +11623,12 @@ msgstr "B<ispell>"
 #. type: Plain text
 #: doc/tin.5:700
 msgid ""
-"Path and options for B<\\%ispell>(1)-like spell-checker, e.g. \"aspell --"
+"Path and options for B<\\%ispell>(1)-like spell-checker, e.g., \"aspell --"
 "mode=email --dont-backup check\""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:700 doc/tin.5:1844
+#: doc/tin.5:700 doc/tin.5:1902
 #, no-wrap
 msgid "B<mm_network_charset>"
 msgstr "B<mm_network_charset>"
@@ -11273,33 +11640,49 @@ msgid "B<undeclared_charset>"
 msgstr "B<undeclared_charset>"
 
 #. type: Plain text
-#: doc/tin.5:712
+#: doc/tin.5:714
 msgid ""
 "Assume (broken) articles without MIME charset declaration have this charset "
 "\\(em default is US-ASCII. This attribute works only on systems with working "
-"B<\\%iconv>(3), others might have to compile B<\\%tin>(1)  with --disable-"
-"mime-strict-charset."
+"B<\\%iconv>(3)  or B<\\%ucnv_*>(), others might have to compile B<\\"
+"%tin>(1)  with --disable-mime-strict-charset."
 msgstr ""
 
+#. type: TP
+#: doc/tin.5:714
+#, no-wrap
+msgid "B<undeclared_cs_guess>"
+msgstr "B<undeclared_cs_guess>"
+
 #. type: Plain text
-#: doc/tin.5:721
+#: doc/tin.5:724
+msgid ""
+"Guess charset for (broken) articles without MIME charset declaration.  This "
+"attribute works only on systems with working B<\\%iconv>(3)  or B<\\"
+"%ucnv_*>()  and B<\\%ucsdet_getName()> from libicui18n. It has no effect if "
+"undeclared_charset is also set."
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:734
 #, no-wrap
 msgid ""
 "# include extra headers\n"
 "# assume ISO-8859-1 as charset if no charset is declared\n"
-"scope=*\n"
+"# in all but fido7.* groups\n"
+"scope=*,!fido7.*\n"
 "x_headers=~/.tin/headers\n"
 "undeclared_charset=ISO-8859-1\n"
 msgstr ""
 "# zusÃ¤tzliche Header einfÃ¼gen\n"
 "# ISO-8859-1 als Zeichensatz annehmen falls keiner\n"
-"# angegeben wurde\n"
-"scope=*\n"
+"# angegeben wurde; in allen Gruppen auÃŸer fido7.*\n"
+"scope=*,!fido7.*\n"
 "x_headers=~/.tin/headers\n"
 "undeclared_charset=ISO-8859-1\n"
 
 #. type: Plain text
-#: doc/tin.5:725
+#: doc/tin.5:738
 #, no-wrap
 msgid ""
 "# in *sources* set post process type to shar only\n"
@@ -11311,7 +11694,7 @@ msgstr ""
 "post_process_type=1\n"
 
 #. type: Plain text
-#: doc/tin.5:732
+#: doc/tin.5:745
 #, no-wrap
 msgid ""
 "# in *binaries* turn on full post processing,\n"
@@ -11323,7 +11706,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:738
+#: doc/tin.5:751
 #, no-wrap
 msgid ""
 "# in fido.* newsgroups change quote_chars\n"
@@ -11339,7 +11722,19 @@ msgstr ""
 "x_comment_to=ON\n"
 
 #. type: Plain text
-#: doc/tin.5:744
+#: doc/tin.5:755
+#, no-wrap
+msgid ""
+"# in fido7.* newsgroups guess charset\n"
+"scope=fido7.*\n"
+"undeclared_cs_guess=ON\n"
+msgstr ""
+"# in fido7.* Gruppen den Zeichnsatz erraten\n"
+"scope=fido7.*\n"
+"undeclared_cs_guess=ON\n"
+
+#. type: Plain text
+#: doc/tin.5:761
 #, no-wrap
 msgid ""
 "# in *.test newsgroups, don't append signature\n"
@@ -11355,7 +11750,7 @@ msgstr ""
 "x_headers=Subject: Test - ignore - no reply\n"
 
 #. type: Plain text
-#: doc/tin.5:748
+#: doc/tin.5:765
 #, no-wrap
 msgid ""
 "# assume ISO-2022-JP-2 as charset\n"
@@ -11367,7 +11762,7 @@ msgstr ""
 "undeclared_charset=ISO-2022-JP-2\n"
 
 #. type: Plain text
-#: doc/tin.5:762
+#: doc/tin.5:779
 msgid ""
 "The filter file is used to assign scores to certain articles. Based on the "
 "score an article can be filtered out (hidden) or marked hot. Empty lines or "
@@ -11377,13 +11772,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:762
+#: doc/tin.5:779
 #, no-wrap
 msgid "B<comment>"
 msgstr "B<comment>"
 
 #. type: Plain text
-#: doc/tin.5:771
+#: doc/tin.5:788
 msgid ""
 "Every entry (rule) in the filter file might get a comment. Multiple lines "
 "are allowed (but only for comments yet). Every line must start with the "
@@ -11394,13 +11789,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:771
+#: doc/tin.5:788
 #, no-wrap
 msgid "B<group>"
 msgstr "B<group>"
 
 #. type: Plain text
-#: doc/tin.5:775
+#: doc/tin.5:792
 msgid ""
 "A comma-separated list of newsgroup patterns in wildmat-style to which "
 "groups the filter rule will be applied. This line is mandatory!"
@@ -11410,37 +11805,38 @@ msgstr ""
 "erforderlich!"
 
 #. type: TP
-#: doc/tin.5:775
+#: doc/tin.5:792
 #, no-wrap
 msgid "B<case>"
 msgstr "B<case>"
 
 #. type: Plain text
-#: doc/tin.5:778
+#: doc/tin.5:795
 msgid "0=case-sensitive, 1=case-insensitive"
 msgstr "0=GroÃŸ/Kleinschreibung beachten, 1=GroÃŸ/Kleinschreibung ignorieren"
 
 #. type: TP
-#: doc/tin.5:778
+#: doc/tin.5:795
 #, no-wrap
 msgid "B<score>"
 msgstr "B<score>"
 
 #. type: Plain text
-#: doc/tin.5:781
+#: doc/tin.5:798
 msgid ""
-"Score value of the rule; can also be one of the magic words \"kill\" or \"hot"
-"\"."
+"Score value of the rule; can also be one of the magic words \"kill\" or "
+"\"hot\"."
 msgstr ""
+"Wert der Regel; kann auch eines der ZauberwÃ¶rter \"kill\" oder \"hot\" sein."
 
 #. type: TP
-#: doc/tin.5:781
+#: doc/tin.5:798
 #, no-wrap
 msgid "B<subj>"
 msgstr "B<subj>"
 
 #. type: Plain text
-#: doc/tin.5:785
+#: doc/tin.5:802
 msgid ""
 "Match against ''Subject:''. The matching type used (wildmat or regex) "
 "depends on the setting of the tinrc variable B<wildcard>."
@@ -11449,23 +11845,23 @@ msgstr ""
 "Regex) hÃ¤ngt von der Einstellung der tinrc-Variable B<wildcard> ab."
 
 #. type: Plain text
-#: doc/tin.5:794
+#: doc/tin.5:811
 msgid ""
 "Match against ''From:''.  B<\\%tin>(1)  converts the contents of the "
-"''From:'' header to an old style e-mail address, e.g. ''some@body.example "
+"''From:'' header to an old style e-mail address, e.g., ''some@body.example "
 "(John Doe)'' instead of ''John Doe E<lt>some@body.exampleE<gt>'', before "
 "trying to match the patterns in the filter rule. The matching type used "
 "(wildmat or regex) depends on the setting of the tinrc variable B<wildcard>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:794
+#: doc/tin.5:811
 #, no-wrap
 msgid "B<msgid>"
 msgstr "B<msgid>"
 
 #. type: Plain text
-#: doc/tin.5:799
+#: doc/tin.5:816
 msgid ""
 "Match against ''Message-ID:'' and full ''References:''. The matching type "
 "used (wildmat or regex) depends on the setting of the tinrc variable "
@@ -11476,13 +11872,13 @@ msgstr ""
 "Variablen B<wildcard> ab."
 
 #. type: TP
-#: doc/tin.5:799
+#: doc/tin.5:816
 #, no-wrap
 msgid "B<msgid_last>"
 msgstr "B<msgid_last>"
 
 #. type: Plain text
-#: doc/tin.5:804
+#: doc/tin.5:821
 msgid ""
 "Match against ''Message-ID:'' and last ''References:'' entry (direct "
 "responses) only. The matching type used (wildmat or regex) depends on the "
@@ -11493,13 +11889,13 @@ msgstr ""
 "Einstellung der tinrc-Variable B<wildcard> ab."
 
 #. type: TP
-#: doc/tin.5:804
+#: doc/tin.5:821
 #, no-wrap
 msgid "B<msgid_only>"
 msgstr "B<msgid_only>"
 
 #. type: Plain text
-#: doc/tin.5:808
+#: doc/tin.5:825
 msgid ""
 "Match against ''Message-ID:''. The matching type used (wildmat or regex)  "
 "depends on the setting of the tinrc variable B<wildcard>."
@@ -11508,13 +11904,13 @@ msgstr ""
 "Regex) hÃ¤ngt von der Einstellung der tinrc-Variable B<wildcard> ab."
 
 #. type: TP
-#: doc/tin.5:808
+#: doc/tin.5:825
 #, no-wrap
 msgid "B<refs_only>"
 msgstr "B<refs_only>"
 
 #. type: Plain text
-#: doc/tin.5:812
+#: doc/tin.5:829
 msgid ""
 "Match against ''References:''. The matching type used (wildmat or regex)  "
 "depends on the setting of the tinrc variable B<wildcard>."
@@ -11523,13 +11919,13 @@ msgstr ""
 "Regex) hÃ¤ngt von der Einstellung der tinrc-Variable B<wildcard> ab."
 
 #. type: TP
-#: doc/tin.5:812
+#: doc/tin.5:829
 #, no-wrap
 msgid "B<lines>"
 msgstr "B<lines>"
 
 #. type: Plain text
-#: doc/tin.5:815
+#: doc/tin.5:832
 msgid ""
 "Match against ''Lines:'', E<lt>num matches less than, E<gt>num matches more "
 "than."
@@ -11538,13 +11934,13 @@ msgstr ""
 "entspricht mehr als."
 
 #. type: TP
-#: doc/tin.5:815
+#: doc/tin.5:832
 #, no-wrap
 msgid "B<gnksa>"
 msgstr "B<gnksa>"
 
 #. type: Plain text
-#: doc/tin.5:822
+#: doc/tin.5:839
 msgid ""
 "Match against ''From:'' address parser return codes. E<lt>num matches less "
 "than, E<gt>num matches more than the returned numeric value. "
@@ -11554,13 +11950,13 @@ msgid ""
 msgstr ""
 
 #. type: ta
-#: doc/tin.5:824
+#: doc/tin.5:841
 #, no-wrap
 msgid "\\w'%406\t'u +\\w'GNKSA_ZERO_LENGTH_LOCAL_WORD'u"
 msgstr "\\w'%406\t'u +\\w'GNKSA_ZERO_LENGTH_LOCAL_WORD'u"
 
 #. type: Plain text
-#: doc/tin.5:854
+#: doc/tin.5:871
 #, no-wrap
 msgid ""
 "  B<0>\tGNKSA_OK\n"
@@ -11624,30 +12020,30 @@ msgstr ""
 "B<406>\tGNKSA_MISSING_REALNAME\n"
 
 #. type: TP
-#: doc/tin.5:856
+#: doc/tin.5:873
 #, no-wrap
 msgid "B<xref>"
 msgstr "B<xref>"
 
 #. type: Plain text
-#: doc/tin.5:863
+#: doc/tin.5:880
 msgid ""
 "Match against ''Xref:'' line. Before any matching is done the line is turned "
 "into the same format ''Newsgroups:'' has that is it is turned into a comma "
-"separated newsgroup list with all other information (i.e.  the article "
+"separated newsgroup list with all other information (i.e., the article "
 "counter) removed. The matching type used (wildmat or regex)  depends on the "
 "setting of the tinrc variable B<wildcard>."
 msgstr ""
 
 #.  TODO: document option in detail
 #. type: TP
-#: doc/tin.5:863
+#: doc/tin.5:880
 #, no-wrap
 msgid "B<path>"
 msgstr "B<path>"
 
 #. type: Plain text
-#: doc/tin.5:869
+#: doc/tin.5:886
 msgid ""
 "Match against ''Path:'' line. This may not work on some servers. The "
 "matching type used (wildmat or regex) depends on the setting of the tinrc "
@@ -11655,18 +12051,18 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:869 doc/tin.5:2743
+#: doc/tin.5:886 doc/tin.5:2810
 #, no-wrap
 msgid "B<time>"
 msgstr "B<time>"
 
 #. type: Plain text
-#: doc/tin.5:872
+#: doc/tin.5:889
 msgid "time_t value when rule expires"
 msgstr "time_t Wert wann die Regel ablÃ¤uft"
 
 #. type: Plain text
-#: doc/tin.5:882
+#: doc/tin.5:899
 #, no-wrap
 msgid ""
 "comment=mark all articles about tin, rtin,\n"
@@ -11684,10 +12080,10 @@ msgstr ""
 "subj=\\eb(cd|[rk]?)?tin(d|pre)?[-.0-9]*\\eb\n"
 
 #. type: Plain text
-#: doc/tin.5:891
+#: doc/tin.5:908
 #, no-wrap
 msgid ""
-"comment=downscore postings in nsr from google base on\n"
+"comment=downscore postings in nsr from google based on\n"
 "comment=message-id or path, if both hit they end up with\n"
 "comment=a score of -66 which is enough to mark them killed\n"
 "group=news.software.readers\n"
@@ -11698,7 +12094,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:912
+#: doc/tin.5:929
 msgid ""
 "Keymap-file, containing \"I<keyname> I<value> I<[value]>\" pairs separated "
 "by spaces or tabs. If the keymap-file named with full specified B<\\"
@@ -11710,13 +12106,13 @@ msgid ""
 msgstr ""
 
 #. type: ta
-#: doc/tin.5:914
+#: doc/tin.5:931
 #, no-wrap
 msgid "\\w'GroupSelThdIfUnreadSelected    'u +\\w'SPACE'u +\\w'SPACE'u"
 msgstr "\\w'GroupSelThdIfUnreadSelected    'u +\\w'SPACE'u +\\w'SPACE'u"
 
 #. type: Plain text
-#: doc/tin.5:962
+#: doc/tin.5:979
 #, no-wrap
 msgid ""
 "B<ShellEscape>\t!\n"
@@ -11816,7 +12212,7 @@ msgstr ""
 "B<MarkFeedUnread>\t^W\n"
 
 #. type: Plain text
-#: doc/tin.5:970
+#: doc/tin.5:987
 #, no-wrap
 msgid ""
 "B<AttachSelect>\t^J\t^M\n"
@@ -11836,7 +12232,7 @@ msgstr ""
 "B<AttachToggleTagged>\t@\n"
 
 #. type: Plain text
-#: doc/tin.5:978
+#: doc/tin.5:995
 #, no-wrap
 msgid ""
 "B<ConfigToggleAttrib>\tTAB\n"
@@ -11856,7 +12252,7 @@ msgstr ""
 "B<ConfigResetAttrib>\tr\n"
 
 #. type: Plain text
-#: doc/tin.5:986
+#: doc/tin.5:1003
 #, no-wrap
 msgid ""
 "B<FeedTag>\tT\n"
@@ -11876,7 +12272,7 @@ msgstr ""
 "B<FeedThd>\tt\n"
 
 #. type: Plain text
-#: doc/tin.5:989
+#: doc/tin.5:1006
 #, no-wrap
 msgid ""
 "B<FilterEdit>\te\n"
@@ -11886,7 +12282,7 @@ msgstr ""
 "B<FilterSave>\ts\n"
 
 #. type: Plain text
-#: doc/tin.5:1019
+#: doc/tin.5:1036
 #, no-wrap
 msgid ""
 "B<GroupNextUnreadArtOrGrp>\tTAB\n"
@@ -11950,7 +12346,7 @@ msgstr ""
 "B<GroupUndoSel>\t~\n"
 
 #. type: Plain text
-#: doc/tin.5:1022
+#: doc/tin.5:1039
 #, no-wrap
 msgid ""
 "B<HelpLastPage>\tG\n"
@@ -11960,7 +12356,7 @@ msgstr ""
 "B<HelpFirstPage>\tg\n"
 
 #. type: Plain text
-#: doc/tin.5:1062
+#: doc/tin.5:1080
 #, no-wrap
 msgid ""
 "B<PageReplyQuoteHeaders>\t^E\n"
@@ -11972,6 +12368,7 @@ msgid ""
 "B<PageFollowupQuoteHeaders>\t^W\n"
 "B<PageToggleTex2iso>\t\"\n"
 "B<PageToggleAllHeaders>\t*\n"
+"B<PageArticleInfo>\t'\n"
 "B<PageToggleRot>\t%\n"
 "B<PageToggleUue>\t(\n"
 "B<PageReveal>\t)\n"
@@ -12012,6 +12409,7 @@ msgstr ""
 "B<PageFollowupQuoteHeaders>\t^W\n"
 "B<PageToggleTex2iso>\t\"\n"
 "B<PageToggleAllHeaders>\t*\n"
+"B<PageArticleInfo>\t'\n"
 "B<PageToggleRot>\t%\n"
 "B<PageToggleUue>\t(\n"
 "B<PageReveal>\t)\n"
@@ -12044,7 +12442,7 @@ msgstr ""
 "B<PageRepost>\tx\n"
 
 #. type: Plain text
-#: doc/tin.5:1067
+#: doc/tin.5:1085
 #, no-wrap
 msgid ""
 "B<PgpEncSign>\tb\n"
@@ -12058,7 +12456,7 @@ msgstr ""
 "B<PgpSign>\ts\n"
 
 #. type: Plain text
-#: doc/tin.5:1080
+#: doc/tin.5:1098
 #, no-wrap
 msgid ""
 "B<PostAbort>\ta\n"
@@ -12088,13 +12486,13 @@ msgstr ""
 "B<PostSend>\ts\ty\n"
 
 #. type: Plain text
-#: doc/tin.5:1082
+#: doc/tin.5:1100
 #, no-wrap
 msgid "B<PostedArticlesSelect>\t^J\t^M\n"
 msgstr "B<PostedArticlesSelect>\t^J\t^M\n"
 
 #. type: Plain text
-#: doc/tin.5:1085
+#: doc/tin.5:1103
 #, no-wrap
 msgid ""
 "B<PostponeOverride>\tY\n"
@@ -12104,7 +12502,7 @@ msgstr ""
 "B<PostponeAll>\tA\n"
 
 #. type: Plain text
-#: doc/tin.5:1088
+#: doc/tin.5:1106
 #, no-wrap
 msgid ""
 "B<PromptYes>\ty\tY\n"
@@ -12114,7 +12512,7 @@ msgstr ""
 "B<PromptNo>\tn\tN\n"
 
 #. type: Plain text
-#: doc/tin.5:1092
+#: doc/tin.5:1110
 #, no-wrap
 msgid ""
 "B<PProcNone>\tn\n"
@@ -12126,7 +12524,7 @@ msgstr ""
 "B<PProcYes>\ty\n"
 
 #. type: Plain text
-#: doc/tin.5:1095
+#: doc/tin.5:1113
 #, no-wrap
 msgid ""
 "B<SaveAppendFile>\ta\n"
@@ -12136,7 +12534,7 @@ msgstr ""
 "B<SaveOverwriteFile>\to\n"
 
 #. type: Plain text
-#: doc/tin.5:1113
+#: doc/tin.5:1131
 #, no-wrap
 msgid ""
 "B<SelectEnterNextUnreadGrp>\tTAB\tn\n"
@@ -12176,7 +12574,7 @@ msgstr ""
 "B<SelectMarkGrpUnread>\tz\tZ\n"
 
 #. type: Plain text
-#: doc/tin.5:1120
+#: doc/tin.5:1138
 #, no-wrap
 msgid ""
 "B<ScopeSelect>\t^J\t^M\n"
@@ -12194,7 +12592,7 @@ msgstr ""
 "B<ScopeRename>\tr\n"
 
 #. type: Plain text
-#: doc/tin.5:1138
+#: doc/tin.5:1156
 #, no-wrap
 msgid ""
 "B<ThreadReadNextArtOrThread>\tTAB\n"
@@ -12234,13 +12632,13 @@ msgstr ""
 "B<ThreadUndoSel>\t~\n"
 
 #. type: Plain text
-#: doc/tin.5:1140
+#: doc/tin.5:1158
 #, no-wrap
 msgid "B<UrlSelect>\t^J\t^M\n"
 msgstr "B<UrlSelect>\t^J\t^M\n"
 
 #. type: Plain text
-#: doc/tin.5:1151
+#: doc/tin.5:1169
 msgid ""
 "This file provides short descriptions of each mailgroup. (requires B<\\"
 "%tin>(1)  to be built with mh-mail-handling support). Each line consist of "
@@ -12252,83 +12650,116 @@ msgstr ""
 "Tabulator getrennten Feldern \"I<Gruppen.Name>\tI<Kurzbeschreibung>\"."
 
 #. type: Plain text
-#: doc/tin.5:1154 doc/tin.5:1239 doc/tin.5:2689 doc/tin.5:2743 doc/tin.5:2770
+#: doc/tin.5:1172 doc/tin.5:1291 doc/tin.5:2756 doc/tin.5:2810 doc/tin.5:2837
 msgid "is the name of the newsgroup"
 msgstr "ist der Name der Newsgruppe"
 
 #. type: Plain text
-#: doc/tin.5:1157 doc/tin.5:1242 doc/tin.5:2773
+#: doc/tin.5:1175 doc/tin.5:1294 doc/tin.5:2840
 msgid "is a short single-line description of the group"
 msgstr "ist die zugehÃ¶rige Kurzbeschreibung"
 
 #. type: Plain text
-#: doc/tin.5:1167
+#: doc/tin.5:1185
 msgid ""
 "\"I<nntpserver[:port]> I<newsrc> [I<shortname> [I<...>]]\" pairs to use with "
 "the ''B<-g>'' command-line switch. The matching is case-insensitive and any "
-"line that starts with \"#\", \";\" or \" \" is treated as a comment."
+"line that starts with \"#\", \";\" or \" \" is treated as a comment. This is "
+"only available if reading via NNTP."
 msgstr ""
 "\"I<NNTPServer[:Port]> I<newsrc> [I<Kurzname> [I<...>]]\" Paare fÃ¼r den ''B<-"
 "g>''Kommandozeilenschalter. Bei der Suche wird nicht zwischen GroÃŸ- und "
 "Kleinschreibung unterschieden und jede Zeile, die mit \"#\", \";\" oder \" "
-"\" beginnt, wird als Kommentar behandelt."
+"\" beginnt, wird als Kommentar behandelt. Nur verfÃ¼gbar, wenn via NNTP "
+"gelesen wird."
 
 #. type: Plain text
-#: doc/tin.5:1172
+#: doc/tin.5:1194
 msgid ""
-"full qualified domain name of the news server. Additionally, a port can be "
-"specified by appending :portnumber. The string \"default\" or \"*\" acts as "
-"wildcard to match any name, such a line should be placed last."
-msgstr ""
-"VollstÃ¤ndig qualifizierter DomÃ¤nenname des Newsservers. ZusÃ¤tzlich kann "
-"ein Port durch AnhÃ¤ngen von :portnumber angegeben werden. Die Zeichenfolge "
-"\"default\" oder \"*\" fungiert als Platzhalter fÃ¼r die Ãœbereinstimmung mit "
-"jedem Namen. Eine solche Zeile sollte an letzter Stelle stehen."
+"full qualified domain name of the news server. Plain IPv6 address must be "
+"enclosed in square brackets. Additionally, a port can be specified by "
+"appending :portnumber. Be aware that if a port is given it will override any "
+"port given with ''B<-g>'' or ''B<-p>'' or implied by ''B<-T>'' or ''B<-k>'' "
+"or set via $B<NNTPPORT>. The string \"default\" or \"*\" acts as wildcard to "
+"match any name, such a line should be placed last."
+msgstr ""
+"VollstÃ¤ndig qualifizierter DomÃ¤nenname des Newsservers. Eine einfache IPv6-"
+"Adresse muss in eckige Klammern gesetzt werden. ZusÃ¤tzlich kann ein Port "
+"durch AnhÃ¤ngen von :portnumber angegeben werden. Wenn ein Port angegeben "
+"wird, Ã¼berschreibt er jeden Port, der mit ''B<-g>'' oder ''B<-p>'' angegeben "
+"oder durch ''B<-T>'' oder ''B<-k>'' impliziert oder Ã¼ber $B<NNTPPORT> "
+"gesetzt wurde. Die Zeichenfolge \"default\" oder \"*\" fungiert als "
+"Platzhalter fÃ¼r die Ãœbereinstimmung mit jedem Namen. Eine solche Zeile "
+"sollte an letzter Stelle stehen."
 
 #. type: TP
-#: doc/tin.5:1172
+#: doc/tin.5:1194
 #, no-wrap
 msgid "B<newsrc>"
 msgstr "B<newsrc>"
 
 #. type: Plain text
-#: doc/tin.5:1175
-msgid "related newsrc."
-msgstr "zugehÃ¶rige newsrc-Datei."
+#: doc/tin.5:1197
+msgid "related newsrc. A file specified via ''B<-f>'' has a higher priority."
+msgstr ""
+"ZugehÃ¶riges newsrc. Eine mit ''B<-f>'' angegebene Datei hat eine hÃ¶here "
+"PrioritÃ¤t."
 
 #. type: TP
-#: doc/tin.5:1175
+#: doc/tin.5:1197
 #, no-wrap
 msgid "B<shortname>"
 msgstr "B<Kurzname>"
 
 #. type: Plain text
-#: doc/tin.5:1178
-msgid "nickname(s) for the nntpserver."
-msgstr "Kurzname(n) fÃ¼r den NNTP-Server."
+#: doc/tin.5:1201
+msgid ""
+"nickname(s) for the nntpserver. Nicknames must not contain \":\" and must be "
+"unique."
+msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1182
+#: doc/tin.5:1205
 msgid "# sample newsrctable file"
 msgstr "# Beispiel newsrctable-Datei"
 
 #. type: Plain text
-#: doc/tin.5:1184
+#: doc/tin.5:1207
 msgid "news.tin.org .newsrc-tin.org tinorg"
 msgstr "news.tin.org .newsrc-tin.org tinorg"
 
 #. type: Plain text
-#: doc/tin.5:1186
+#: doc/tin.5:1209
 msgid "news.example.org /tmp/nrc-ex example ex"
 msgstr "news.example.org /tmp/nrc-ex example ex"
 
 #. type: Plain text
-#: doc/tin.5:1188
-msgid "* ~/.tin/newsrcs/${NNTPSERVER-localhost}"
-msgstr "* ~/.tin/newsrcs/${NNTPSERVER-localhost}"
+#: doc/tin.5:1211
+msgid "[::1]:1119 /tmp/localhost6-1119 lh6"
+msgstr "[::1]:1119 /tmp/localhost6-1119 lh6"
+
+#. type: Plain text
+#: doc/tin.5:1213
+msgid "# catch all rules should go last"
+msgstr "# Catch-All-Regeln sollten an letzter Stelle stehen"
+
+#. type: Plain text
+#: doc/tin.5:1215
+msgid "# with the more specific one on top"
+msgstr "# mit der spezifischeren Regel an erster Stelle"
 
 #. type: Plain text
-#: doc/tin.5:1204
+#: doc/tin.5:1217
+msgid "*:563 ~/.tin/newsrcs/${NNTPSERVER-localhost}:563/newsrc"
+msgstr "*:563 ~/.tin/newsrcs/${NNTPSERVER-localhost}:563/newsrc"
+
+#. type: Plain text
+#: doc/tin.5:1219
+msgid "* ~/.tin/newsrcs/${NNTPSERVER-localhost}/newsrc"
+msgstr "* ~/.tin/newsrcs/${NNTPSERVER-localhost}/newsrc"
+
+#. type: Plain text
+#: doc/tin.5:1235
 msgid ""
 "Posting history. The file is written by B<\\%tin>(1)  and used by "
 "B<DisplayPostHist> ('B<W>') command. It should not be altered manually. Any "
@@ -12350,7 +12781,7 @@ msgstr ""
 "der ''Message-ID'' der Nachricht, falls bekannt."
 
 #. type: Plain text
-#: doc/tin.5:1214
+#: doc/tin.5:1245
 msgid ""
 "Copy of all posted articles in B<\\%mbox>(5)  format. The filename can be "
 "changed by setting B<posted_articles_file>."
@@ -12359,20 +12790,38 @@ msgstr ""
 "durch setzen von B<posted_articles_file> geÃ¤ndert werden."
 
 #. type: Plain text
-#: doc/tin.5:1223
+#: doc/tin.5:1254
 msgid "Pool of postponed articles. This file is in B<\\%mbox>(5)  format."
 msgstr ""
 "Vorrat an zurÃ¼ckgestellten Artikeln. Diese Datei benutzt das B<\\%mbox>(5)-"
 "Format."
 
 #. type: Plain text
-#: doc/tin.5:1236
+#: doc/tin.5:1265
+msgid ""
+"This file is a copy of the servers message of the day (MOTD) message.  It is "
+"automatically created on startup except when using the ''B<-Q>'' command-"
+"line option and is unlinked on exit."
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:1275
+msgid ""
+"File to store $B<NNTPSERVER> and $B<NNTPPORT> related info- and error-"
+"messages. The file is overwritten on startup and meant for debugging."
+msgstr ""
+"Datei zum Speichern von $B<NNTPSERVER> und $B<NNTPPORT> bezogenen Info- und "
+"Fehlermeldungen. Die Datei wird beim Start Ã¼berschrieben und ist zur "
+"Debuggen gedacht."
+
+#. type: Plain text
+#: doc/tin.5:1288
 msgid ""
-"This file a copy of the servers newsgroups file which provides short "
+"This file is a copy of the servers newsgroups file which provides short "
 "descriptions of each newsgroup. It is automatically updated on startup "
 "except when using the ''B<-X>''or ''B<-q>'' command-line option and an old "
-"copy exists. Each line consist of two tab-separated fields \"I<group.name>"
-"\tI<one-line description>\"."
+"copy exists. Each line consist of two tab-separated fields \"I<group."
+"name>\tI<one-line description>\"."
 msgstr ""
 "Eine Kopie der Newsgroups-Datei des Servers, die kurze Beschreibungen jeder "
 "Newsgruppe enthÃ¤lt. Sie wird beim Start automatisch aktualisiert, auÃŸer wenn "
@@ -12381,44 +12830,59 @@ msgstr ""
 "Feldern \"I<Gruppen.Name>\tI<Kurzbeschreibung>\"."
 
 #. type: TP
-#: doc/tin.5:1236 doc/tin.5:2767
+#: doc/tin.5:1288 doc/tin.5:2834
 #, no-wrap
 msgid "B<group.name>"
 msgstr "B<Gruppen.Name>"
 
 #. type: TP
-#: doc/tin.5:1239 doc/tin.5:2770
+#: doc/tin.5:1291 doc/tin.5:2837
 #, no-wrap
 msgid "B<one-line description>"
 msgstr "B<Kurzbeschreibung>"
 
 #. type: Plain text
-#: doc/tin.5:1254
+#: doc/tin.5:1306
 msgid ""
 "File to store $B<NNTPSERVER> and $B<NNTPPORT> related data via a list of "
-"\"I<variable>=I<value>\" pairs. Currently there are only two variables, both "
-"are not meant to be changed by the user."
+"\"I<variable>=I<value>\" pairs. Currently there are only a few variables, "
+"all are not meant to be changed by the user."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1254
+#: doc/tin.5:1306
 #, no-wrap
 msgid "B<version>"
 msgstr "B<version>"
 
 #. type: Plain text
-#: doc/tin.5:1257
+#: doc/tin.5:1309
 msgid "Internal version number."
 msgstr "Interne Versionsnummer."
 
 #. type: TP
-#: doc/tin.5:1257
+#: doc/tin.5:1309
+#, no-wrap
+msgid "B<motd_hash>"
+msgstr "B<motd_hash>"
+
+#. type: Plain text
+#: doc/tin.5:1313
+msgid ""
+"Internal hash of the servers MOTD, so displaying it can be skipped if it is "
+"unchanged."
+msgstr ""
+"Interner Hash der MOTD des Servers, damit dessen Anzeige Ã¼bersprungen werden "
+"kann, falls dieser unverÃ¤ndert ist."
+
+#. type: TP
+#: doc/tin.5:1313
 #, no-wrap
 msgid "B<last_newnews>"
 msgstr "B<last_newnews>"
 
 #. type: Plain text
-#: doc/tin.5:1262
+#: doc/tin.5:1318
 msgid ""
 "Internal timestamp used by B<\\%tin>(1)  to keep track of new newsgroups on "
 "the server."
@@ -12427,89 +12891,91 @@ msgstr ""
 "Newsgruppen auf dem Server zu erkennen."
 
 #. type: Plain text
-#: doc/tin.5:1272
-msgid ""
-"File to store $B<NNTPSERVER> and $B<NNTPPORT> related info- and error-"
-"messages. The file is overwritten on startup and meant for debugging."
-msgstr ""
-"Datei zum Speichern von $B<NNTPSERVER> und $B<NNTPPORT> bezogenen "
-"Info- und Fehlermeldungen. Die Datei wird beim Start Ã¼berschrieben "
-"und ist zur Debuggen gedacht."
-
-#. type: Plain text
-#: doc/tin.5:1294
+#: doc/tin.5:1341
 msgid ""
 "At startup, B<\\%tin>(1)  reads in the configuration file. This contains a "
 "list of \"I<variable>=I<value>\" pairs that can be used to configure the way "
-"B<\\%tin>(1)  works. If it exists, the global configuration file, I<"
-"${TIN_LIBDIR:-NEWSLIBDIR}/tinrc> is read first. After that, the user's own "
-"configuration file I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc> is read. The "
-"global file is useful for distributing system-wide defaults to new users who "
-"have no private tinrc yet (see also B</etc/tin/tin.defaults>)."
+"B<\\%tin>(1)  works. I<value> strings are limited to 1022 chars and will be "
+"discarded if exceeding this limit. If it exists, the global configuration "
+"file, I<${TIN_LIBDIR:-NEWSLIBDIR}/tinrc> is read first. After that, the "
+"user's own configuration file I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc> is "
+"read. The global file is useful for distributing system-wide defaults to new "
+"users who have no private tinrc yet (see also B</etc/tin/tin.defaults>)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1294
+#: doc/tin.5:1341
 #, no-wrap
 msgid "B<abbreviate_groupname>"
 msgstr "B<abbreviate_groupname>"
 
+#. type: Plain text
+#: doc/tin.5:1347
+msgid ""
+"If ON abbreviate long newsgroup names at group selection level and article "
+"level (if necessary) like this: news.software.readers -E<gt> n.software."
+"readers -E<gt> n.s.readers -E<gt> n.s.r.  Default is OFF."
+msgstr ""
+"Falls ON werden, sofern nÃ¶tig, lange Newsgruppennamen in der Auswahl- und "
+"Artikelebene wie folgt abgekÃ¼rzt: news.software.readers -E<gt> n.software."
+"readers -E<gt> n.s.readers -E<gt> n.s.r. Voreinstellung ist OFF."
+
 #. type: TP
-#: doc/tin.5:1310
+#: doc/tin.5:1357
 #, no-wrap
 msgid "B<art_marked_deleted>"
 msgstr "B<art_marked_deleted>"
 
 #. type: TP
-#: doc/tin.5:1313
+#: doc/tin.5:1360
 #, no-wrap
 msgid "B<art_marked_inrange>"
 msgstr "B<art_marked_inrange>"
 
 #. type: TP
-#: doc/tin.5:1316
+#: doc/tin.5:1363
 #, no-wrap
 msgid "B<art_marked_return>"
 msgstr "B<art_marked_return>"
 
 #. type: TP
-#: doc/tin.5:1320
+#: doc/tin.5:1367
 #, no-wrap
 msgid "B<art_marked_selected>"
 msgstr "B<art_marked_selected>"
 
 #. type: TP
-#: doc/tin.5:1324
+#: doc/tin.5:1371
 #, no-wrap
 msgid "B<art_marked_recent>"
 msgstr "B<art_marked_recent>"
 
 #. type: TP
-#: doc/tin.5:1328
+#: doc/tin.5:1375
 #, no-wrap
 msgid "B<art_marked_unread>"
 msgstr "B<art_marked_unread>"
 
 #. type: TP
-#: doc/tin.5:1332
+#: doc/tin.5:1379
 #, no-wrap
 msgid "B<art_marked_read>"
 msgstr "B<art_marked_read>"
 
 #. type: TP
-#: doc/tin.5:1335
+#: doc/tin.5:1382
 #, no-wrap
 msgid "B<art_marked_killed>"
 msgstr "B<art_marked_killed>"
 
 #. type: TP
-#: doc/tin.5:1339
+#: doc/tin.5:1386
 #, no-wrap
 msgid "B<art_marked_read_selected>"
 msgstr "B<art_marked_read_selected>"
 
 #. type: Plain text
-#: doc/tin.5:1350
+#: doc/tin.5:1397
 msgid ""
 "If ON B<\\%tin>(1)  will ask before using a MIME viewer (B<metamail_prog>) "
 "to display MIME messages. This only occurs if a MIME viewer is set. Default "
@@ -12517,13 +12983,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1350
+#: doc/tin.5:1397
 #, no-wrap
 msgid "B<attachment_format>"
 msgstr "B<attachment_format>"
 
 #. type: Plain text
-#: doc/tin.5:1356
+#: doc/tin.5:1403
 msgid ""
 "Format string B<\\%tin>(1)  uses for Attachment level representation.  "
 "Default is \"%t%s%e%c%d\"."
@@ -12532,31 +12998,31 @@ msgstr ""
 "benutzt. Voreingestellt ist \"%t%s%e%c%d\"."
 
 #. type: TP
-#: doc/tin.5:1364
+#: doc/tin.5:1411
 #, no-wrap
 msgid "B<auto_reconnect>"
 msgstr "B<auto_reconnect>"
 
 #. type: Plain text
-#: doc/tin.5:1367
+#: doc/tin.5:1414
 msgid "Reconnect to server automatically. Default is OFF."
 msgstr ""
 "Automatisch Verbindung zum Server wiederherstellen. Voreinstellung ist OFF."
 
 #. type: TP
-#: doc/tin.5:1372
+#: doc/tin.5:1419
 #, no-wrap
 msgid "B<beginner_level>"
 msgstr "B<beginner_level>"
 
 #. type: TP
-#: doc/tin.5:1377
+#: doc/tin.5:1424
 #, no-wrap
 msgid "B<cache_overview_files>"
 msgstr "B<cache_overview_files>"
 
 #. type: Plain text
-#: doc/tin.5:1382
+#: doc/tin.5:1429
 msgid ""
 "If ON, create local copies of NNTP overview files. This can be used to "
 "considerably speed up accessing large groups when using a slow connection.  "
@@ -12564,187 +13030,205 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1382
+#: doc/tin.5:1429
+#, no-wrap
+msgid "B<compress_overview_files>"
+msgstr "B<compress_overview_files>"
+
+#. type: TP
+#: doc/tin.5:1434
 #, no-wrap
 msgid "B<cancel_lock_algo>"
 msgstr "B<cancel_lock_algo>"
 
+#. type: Plain text
+#: doc/tin.5:1440
+msgid ""
+"Use this hash algorithm for cancel-locks. Only available when built with "
+"cancel-lock support. none disables the generation of cancel-locks. Valid "
+"values are none, sha1, sha256 and sha512.  Default is sha1."
+msgstr ""
+"Diesen Hash-Algorithmus fÃ¼r Cancel-Locks verwenden. Nur vorhanden falls "
+"B<tin> mit Cancel-Lock-UnterstÃ¼tzung gebaut wurde. Keiner deaktiviert die "
+"Erzeugung von Cancel-Locks. GÃ¼ltige Werte sind Keiner, sha1, sha256 und "
+"sha512. Voreinstellung ist sha1."
+
 #. type: TP
-#: doc/tin.5:1388
+#: doc/tin.5:1440
 #, no-wrap
 msgid "B<catchup_read_groups>"
 msgstr "B<catchup_read_groups>"
 
 #. type: TP
-#: doc/tin.5:1392
+#: doc/tin.5:1444
 #, no-wrap
 msgid "B<col_back>"
 msgstr "B<col_back>"
 
 #. type: TP
-#: doc/tin.5:1395
+#: doc/tin.5:1447
 #, no-wrap
 msgid "B<col_extquote>"
 msgstr "B<col_extquote>"
 
 #. type: TP
-#: doc/tin.5:1398
+#: doc/tin.5:1450
 #, no-wrap
 msgid "B<col_from>"
 msgstr "B<col_from>"
 
 #. type: TP
-#: doc/tin.5:1401
+#: doc/tin.5:1453
 #, no-wrap
 msgid "B<col_head>"
 msgstr "B<col_head>"
 
 #. type: TP
-#: doc/tin.5:1404
+#: doc/tin.5:1456
 #, no-wrap
 msgid "B<col_help>"
 msgstr "B<col_help>"
 
 #. type: TP
-#: doc/tin.5:1407
+#: doc/tin.5:1459
 #, no-wrap
 msgid "B<col_invers_bg>"
 msgstr "B<col_invers_bg>"
 
 #. type: TP
-#: doc/tin.5:1410
+#: doc/tin.5:1462
 #, no-wrap
 msgid "B<col_invers_fg>"
 msgstr "B<col_invers_fg>"
 
 #. type: TP
-#: doc/tin.5:1413
+#: doc/tin.5:1465
 #, no-wrap
 msgid "B<col_markdash>"
 msgstr "B<col_markdash>"
 
 #. type: TP
-#: doc/tin.5:1417
+#: doc/tin.5:1469
 #, no-wrap
 msgid "B<col_markslash>"
 msgstr "B<col_markslash>"
 
 #. type: TP
-#: doc/tin.5:1421
+#: doc/tin.5:1473
 #, no-wrap
 msgid "B<col_markstar>"
 msgstr "B<col_markstar>"
 
 #. type: TP
-#: doc/tin.5:1425
+#: doc/tin.5:1477
 #, no-wrap
 msgid "B<col_markstroke>"
 msgstr "B<col_markstroke>"
 
 #. type: TP
-#: doc/tin.5:1429
+#: doc/tin.5:1481
 #, no-wrap
 msgid "B<col_message>"
 msgstr "B<col_message>"
 
 #. type: TP
-#: doc/tin.5:1432
+#: doc/tin.5:1484
 #, no-wrap
 msgid "B<col_minihelp>"
 msgstr "B<col_minihelp>"
 
 #. type: TP
-#: doc/tin.5:1435
+#: doc/tin.5:1487
 #, no-wrap
 msgid "B<col_newsheaders>"
 msgstr "B<col_newsheaders>"
 
 #. type: TP
-#: doc/tin.5:1438
+#: doc/tin.5:1490
 #, no-wrap
 msgid "B<col_normal>"
 msgstr "B<col_normal>"
 
 #. type: TP
-#: doc/tin.5:1441
+#: doc/tin.5:1493
 #, no-wrap
 msgid "B<col_quote>"
 msgstr "B<col_quote>"
 
 #. type: TP
-#: doc/tin.5:1444
+#: doc/tin.5:1496
 #, no-wrap
 msgid "B<col_quote2>"
 msgstr "B<col_quote2>"
 
 #. type: TP
-#: doc/tin.5:1447
+#: doc/tin.5:1499
 #, no-wrap
 msgid "B<col_quote3>"
 msgstr "B<col_quote3>"
 
 #. type: TP
-#: doc/tin.5:1450
+#: doc/tin.5:1502
 #, no-wrap
 msgid "B<col_response>"
 msgstr "B<col_response>"
 
 #. type: TP
-#: doc/tin.5:1454
+#: doc/tin.5:1506
 #, no-wrap
 msgid "B<col_signature>"
 msgstr "B<col_signature>"
 
 #. type: TP
-#: doc/tin.5:1457
+#: doc/tin.5:1509
 #, no-wrap
 msgid "B<col_score_neg>"
 msgstr "B<col_score_neg>"
 
 #. type: TP
-#: doc/tin.5:1460
+#: doc/tin.5:1512
 #, no-wrap
 msgid "B<col_score_pos>"
 msgstr "B<col_score_pos>"
 
 #. type: TP
-#: doc/tin.5:1463
+#: doc/tin.5:1515
 #, no-wrap
 msgid "B<col_urls>"
 msgstr "B<col_urls>"
 
 #. type: TP
-#: doc/tin.5:1466
+#: doc/tin.5:1518
 #, no-wrap
 msgid "B<col_verbatim>"
 msgstr "B<col_verbatim>"
 
 #. type: TP
-#: doc/tin.5:1469
+#: doc/tin.5:1521
 #, no-wrap
 msgid "B<col_subject>"
 msgstr "B<col_subject>"
 
 #. type: TP
-#: doc/tin.5:1472
+#: doc/tin.5:1524
 #, no-wrap
 msgid "B<col_text>"
 msgstr "B<col_text>"
 
 #. type: TP
-#: doc/tin.5:1475
+#: doc/tin.5:1527
 #, no-wrap
 msgid "B<col_title>"
 msgstr "B<col_title>"
 
 #. type: TP
-#: doc/tin.5:1478
+#: doc/tin.5:1530
 #, no-wrap
 msgid "B<confirm_choice>"
 msgstr "B<confirm_choice>"
 
 #. type: Plain text
-#: doc/tin.5:1482
+#: doc/tin.5:1534
 msgid ""
 "B<\\%tin>(1)  can ask for manual confirmation to protect the user. Available "
 "choices:"
@@ -12752,7 +13236,7 @@ msgstr ""
 
 #.  TODO: check if all affected commands are marked [after confirmation]
 #. type: Plain text
-#: doc/tin.5:1488
+#: doc/tin.5:1540
 msgid ""
 "B<commands>: Ask for confirmation before executing certain dangerous "
 "commands (e.g., B<Catchup> ('B<c>')). Commands that this affects are marked "
@@ -12760,26 +13244,26 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1493
+#: doc/tin.5:1545
 msgid ""
 "B<quit>: You'll be asked to confirm that you wish to exit B<\\%tin>(1)  when "
 "you use the B<Quit> ('B<q>') command."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1497
+#: doc/tin.5:1549
 msgid ""
 "B<select>: Ask for confirmation before marking all not selected (with "
 "B<GroupMarkUnselArtRead> ('B<X>') command) articles as read."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1499
+#: doc/tin.5:1551
 msgid "Default is commands & quit."
 msgstr "Voreinstellung ist Kommandos & Ende."
 
 #. type: Plain text
-#: doc/tin.5:1510
+#: doc/tin.5:1562
 msgid ""
 "Format string used for date representation. A description of the different "
 "format options can be found at B<\\%strftime>(3).  B<\\%tin>(1)  uses B<\\"
@@ -12788,61 +13272,61 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1510
+#: doc/tin.5:1562
 #, no-wrap
 msgid "B<default_art_search>"
 msgstr "B<default_art_search>"
 
 #. type: TP
-#: doc/tin.5:1512
+#: doc/tin.5:1564
 #, no-wrap
 msgid "B<default_author_search>"
 msgstr "B<default_author_search>"
 
 #. type: TP
-#: doc/tin.5:1514
+#: doc/tin.5:1566
 #, no-wrap
 msgid "B<default_config_search>"
 msgstr "B<default_config_search>"
 
 #. type: TP
-#: doc/tin.5:1517
+#: doc/tin.5:1569
 #, no-wrap
 msgid "B<default_filter_days>"
 msgstr "B<default_filter_days>"
 
 #. type: TP
-#: doc/tin.5:1520
+#: doc/tin.5:1572
 #, no-wrap
 msgid "B<default_filter_kill_case>"
 msgstr "B<default_filter_kill_case>"
 
 #. type: TP
-#: doc/tin.5:1524
+#: doc/tin.5:1576
 #, no-wrap
 msgid "B<default_filter_kill_expire>"
 msgstr "B<default_filter_kill_expire>"
 
 #. type: TP
-#: doc/tin.5:1529
+#: doc/tin.5:1581
 #, no-wrap
 msgid "B<default_filter_kill_global>"
 msgstr "B<default_filter_kill_global>"
 
 #. type: TP
-#: doc/tin.5:1533
+#: doc/tin.5:1585
 #, no-wrap
 msgid "B<default_filter_kill_header>"
 msgstr "B<default_filter_kill_header>"
 
 #. type: ta
-#: doc/tin.5:1538 doc/tin.5:1567
+#: doc/tin.5:1590 doc/tin.5:1619
 #, no-wrap
 msgid "\\w'0,1   'u +\\w'\\'\\'Message-ID:\\'\\' & last \\'\\'References:\\'\\' entry only'u"
 msgstr "\\w'0,1   'u +\\w'\\'\\'Message-ID:\\'\\' & letzter \\'\\'References:\\'\\' Eintrag'u"
 
 #. type: Plain text
-#: doc/tin.5:1547 doc/tin.5:1576
+#: doc/tin.5:1599 doc/tin.5:1628
 #, no-wrap
 msgid ""
 "0\t''Subject:'' (case sensitive)\n"
@@ -12864,154 +13348,170 @@ msgstr ""
 "7\t''Lines:''\n"
 
 #. type: TP
-#: doc/tin.5:1549
+#: doc/tin.5:1601
 #, no-wrap
 msgid "B<default_filter_select_case>"
 msgstr "B<default_filter_select_case>"
 
 #. type: TP
-#: doc/tin.5:1553
+#: doc/tin.5:1605
 #, no-wrap
 msgid "B<default_filter_select_expire>"
 msgstr "B<default_filter_select_expire>"
 
 #. type: TP
-#: doc/tin.5:1558
+#: doc/tin.5:1610
 #, no-wrap
 msgid "B<default_filter_select_global>"
 msgstr "B<default_filter_select_global>"
 
 #. type: TP
-#: doc/tin.5:1562
+#: doc/tin.5:1614
 #, no-wrap
 msgid "B<default_filter_select_header>"
 msgstr "B<default_filter_select_header>"
 
 #. type: TP
-#: doc/tin.5:1578
+#: doc/tin.5:1630
 #, no-wrap
 msgid "B<default_goto_group>"
 msgstr "B<default_goto_group>"
 
 #. type: TP
-#: doc/tin.5:1580
+#: doc/tin.5:1632
 #, no-wrap
 msgid "B<default_group_search>"
 msgstr "B<default_group_search>"
 
 #. type: TP
-#: doc/tin.5:1582
+#: doc/tin.5:1634
 #, no-wrap
 msgid "B<default_mail_address>"
 msgstr "B<default_mail_address>"
 
 #. type: TP
-#: doc/tin.5:1584
+#: doc/tin.5:1636
 #, no-wrap
 msgid "B<default_move_group>"
 msgstr "B<default_move_group>"
 
 #. type: TP
-#: doc/tin.5:1586
+#: doc/tin.5:1638
 #, no-wrap
 msgid "B<default_pattern>"
 msgstr "B<default_pattern>"
 
 #. type: TP
-#: doc/tin.5:1588
+#: doc/tin.5:1640
 #, no-wrap
 msgid "B<default_pipe_command>"
 msgstr "B<default_pipe_command>"
 
 #. type: TP
-#: doc/tin.5:1590
+#: doc/tin.5:1642
 #, no-wrap
 msgid "B<default_post_newsgroups>"
 msgstr "B<default_post_newsgroups>"
 
 #. type: TP
-#: doc/tin.5:1592
+#: doc/tin.5:1644
 #, no-wrap
 msgid "B<default_post_subject>"
 msgstr "B<default_post_subject>"
 
 #. type: TP
-#: doc/tin.5:1594
+#: doc/tin.5:1646
 #, no-wrap
 msgid "B<default_range_group>"
 msgstr "B<default_range_group>"
 
 #. type: TP
-#: doc/tin.5:1596
+#: doc/tin.5:1648
 #, no-wrap
 msgid "B<default_range_select>"
 msgstr "B<default_range_select>"
 
 #. type: TP
-#: doc/tin.5:1598
+#: doc/tin.5:1650
 #, no-wrap
 msgid "B<default_range_thread>"
 msgstr "B<default_range_thread>"
 
 #. type: TP
-#: doc/tin.5:1600
+#: doc/tin.5:1652
 #, no-wrap
 msgid "B<default_repost_group>"
 msgstr "B<default_repost_group>"
 
 #. type: TP
-#: doc/tin.5:1602
+#: doc/tin.5:1654
 #, no-wrap
 msgid "B<default_save_file>"
 msgstr "B<default_save_file>"
 
 #. type: TP
-#: doc/tin.5:1604
+#: doc/tin.5:1656
 #, no-wrap
 msgid "B<default_save_mode>"
 msgstr "B<default_save_mode>"
 
 #. type: TP
-#: doc/tin.5:1606
+#: doc/tin.5:1658
 #, no-wrap
 msgid "B<default_select_pattern>"
 msgstr "B<default_select_pattern>"
 
 #. type: TP
-#: doc/tin.5:1608
+#: doc/tin.5:1660
 #, no-wrap
 msgid "B<default_shell_command>"
 msgstr "B<default_shell_command>"
 
 #. type: TP
-#: doc/tin.5:1610
+#: doc/tin.5:1662
 #, no-wrap
 msgid "B<default_subject_search>"
 msgstr "B<default_subject_search>"
 
 #. type: TP
-#: doc/tin.5:1612
+#: doc/tin.5:1664
+#, no-wrap
+msgid "B<dont_break_words>"
+msgstr "B<dont_break_words>"
+
+#. type: TP
+#: doc/tin.5:1668
 #, no-wrap
 msgid "B<draw_arrow>"
 msgstr "B<draw_arrow>"
 
 #. type: Plain text
-#: doc/tin.5:1623
+#: doc/tin.5:1672
+msgid ""
+"Allows groups/articles to be selected by an arrow '-E<gt>' if set ON or by a "
+"highlighted bar if set OFF. Default is OFF."
+msgstr ""
+"ErmÃ¶glicht die Auswahl von Gruppen/Artikeln mit einem Pfeil '-E<gt>', wenn "
+"aktiviert, oder durch eine hervorgehobene Leiste, wenn deaktiviert. Der "
+"Standardwert ist OFF."
+
+#. type: Plain text
+#: doc/tin.5:1679
 msgid ""
 "The format string used to create the editor start command with parameters.  "
 "Default is '%E +%N %F' with %E=Editor, %N=Linenumber and %F=Filename (e.g., /"
-"bin/vi +7 .article). See also $B<VISUAL> and $B<EDITOR> under \"ENVIRONMENT"
-"\" in B<\\%tin>(1)"
+"bin/vi +7 .article). See also $B<VISUAL> and $B<EDITOR> under "
+"\"ENVIRONMENT\" in B<\\%tin>(1)"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1626
+#: doc/tin.5:1682
 #, no-wrap
 msgid "B<extquote_regex>"
 msgstr "B<extquote_regex>"
 
 #. type: Plain text
-#: doc/tin.5:1633
+#: doc/tin.5:1689
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_extquote>. If B<extquote_regex> is blank, "
@@ -13019,34 +13519,34 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1633
+#: doc/tin.5:1689
 #, no-wrap
 msgid "B<force_screen_redraw>"
 msgstr "B<force_screen_redraw>"
 
 #. type: TP
-#: doc/tin.5:1637
+#: doc/tin.5:1693
 #, no-wrap
 msgid "B<getart_limit>"
 msgstr "B<getart_limit>"
 
 #. type: Plain text
-#: doc/tin.5:1644
+#: doc/tin.5:1700
 msgid ""
 "If B<getart_limit> is E<gt> 0 not more than the last B<getart_limit> "
-"articles/group are fetched from the server. If B<getart_limit> is E<lt> 0 B<"
-"\\%tin>(1)  will start fetching articles from your first unread minus "
+"articles/group are fetched from the server. If B<getart_limit> is E<lt> 0 "
+"B<\\%tin>(1)  will start fetching articles from your first unread minus "
 "absolute value of B<getart_limit>. Default is 0, which means no limit."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1644
+#: doc/tin.5:1700
 #, no-wrap
 msgid "B<goto_next_unread>"
 msgstr "B<goto_next_unread>"
 
 #. type: Plain text
-#: doc/tin.5:1658
+#: doc/tin.5:1714
 msgid ""
 "Which keys B<\\%tin>(1)  should accept to jump to the next unread article.  "
 "Possible is any combination of B<PageDown> and B<PageNextUnread>.  When "
@@ -13057,7 +13557,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1665
+#: doc/tin.5:1721
 msgid ""
 "The format string used for the Group level. Default is \"%n\\ %m\\ %R\\ %L\\ "
 "\\ %s\\ \\ %F\". The following substitutions are supported:"
@@ -13067,13 +13567,13 @@ msgstr ""
 "Ersetzungen werden unterstÃ¼tzt:"
 
 #. type: ta
-#: doc/tin.5:1667
+#: doc/tin.5:1723
 #, no-wrap
 msgid "\\w'%G    'u +\\w'number of responses in thread'u"
 msgstr "\\w'%G    'u +\\w'Absender, Name und/oder E-Mail Adresse'u"
 
 #. type: Plain text
-#: doc/tin.5:1679
+#: doc/tin.5:1735
 #, no-wrap
 msgid ""
 "%D\tdate\n"
@@ -13101,65 +13601,65 @@ msgstr ""
 "%%\t%\n"
 
 #. type: TP
-#: doc/tin.5:1681
+#: doc/tin.5:1737
 #, no-wrap
 msgid "B<hide_uue>"
 msgstr "B<hide_uue>"
 
 #. type: TP
-#: doc/tin.5:1691
+#: doc/tin.5:1747
 #, no-wrap
 msgid "B<inews_prog>"
 msgstr "B<inews_prog>"
 
 #. type: TP
-#: doc/tin.5:1698
+#: doc/tin.5:1754
 #, no-wrap
 msgid "B<info_in_last_line>"
 msgstr "B<info_in_last_line>"
 
 #. type: TP
-#: doc/tin.5:1704
+#: doc/tin.5:1760
 #, no-wrap
 msgid "B<interactive_mailer>"
 msgstr "B<interactive_mailer>"
 
 #. type: Plain text
-#: doc/tin.5:1710
+#: doc/tin.5:1766
 msgid ""
 "If greater than 0 your mailreader will be invoked earlier for reply so you "
-"can use more of its features (e.g. MIME, pgp, ...). 1 means include headers, "
-"2 means don't include headers (old use_mailreader_i=ON option). 0 turns off "
-"usage. This option has to suit B<mailer_format>. Default is 0."
+"can use more of its features (e.g., MIME, pgp, ...). 1 means include "
+"headers, 2 means don't include headers (old use_mailreader_i=ON option). 0 "
+"turns off usage. This option has to suit B<mailer_format>. Default is 0."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1710
+#: doc/tin.5:1766
 #, no-wrap
 msgid "B<inverse_okay>"
 msgstr "B<inverse_okay>"
 
 #. type: TP
-#: doc/tin.5:1714
+#: doc/tin.5:1770
 #, no-wrap
 msgid "B<keep_dead_articles>"
 msgstr "B<keep_dead_articles>"
 
 #. type: TP
-#: doc/tin.5:1719
+#: doc/tin.5:1775
 #, no-wrap
 msgid "B<kill_level>"
 msgstr "B<kill_level>"
 
 #. type: Plain text
-#: doc/tin.5:1723
+#: doc/tin.5:1779
 msgid ""
 "This option controls the processing and display of articles that are killed. "
 "There are 3 options, default is 0 (B<Kill only unread arts>)."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1731
+#: doc/tin.5:1787
 msgid ""
 "B<Kill only unread arts> is the 'traditional' behavior of B<\\%tin>(1).  "
 "Only unread articles are killed once only by marking them read. As filtering "
@@ -13169,106 +13669,138 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1747
+#: doc/tin.5:1803
 #, no-wrap
 msgid "B<mail_address>"
 msgstr "B<mail_address>"
 
 #. type: Plain text
-#: doc/tin.5:1753
+#: doc/tin.5:1809
 msgid ""
 "User's mail address (and full name), if not username@host. This is used when "
 "creating articles, sending mail and when B<\\%pgp>(1)  signing."
 msgstr ""
+"E-Mail-Adresse des Benutzers (und vollstÃ¤ndiger Name), falls nicht "
+"benutzername@host. Wird beim Erstellen von Artikeln, beim Versenden von E-"
+"Mails und beim Signieren mit B<\\%pgp>(1) verwendet."
 
 #. type: TP
-#: doc/tin.5:1757
+#: doc/tin.5:1813
 #, no-wrap
 msgid "B<mail_quote_format>"
 msgstr "B<mail_quote_format>"
 
 #. type: TP
-#: doc/tin.5:1762
+#: doc/tin.5:1819
 #, no-wrap
 msgid "B<mailbox_format>"
 msgstr "B<mailbox_format>"
 
 #. type: TP
-#: doc/tin.5:1781
+#: doc/tin.5:1838
 #, no-wrap
 msgid "B<mailer_format>"
 msgstr "B<mailer_format>"
 
 #. type: TP
-#: doc/tin.5:1819
+#: doc/tin.5:1875
 #, no-wrap
 msgid "B<metamail_prog>"
 msgstr "B<metamail_prog>"
 
 #. type: TP
-#: doc/tin.5:1831 doc/tin.5:2592
+#: doc/tin.5:1887 doc/tin.5:2659
 #, no-wrap
 msgid "B<mm_charset>"
 msgstr "B<mm_charset>"
 
+#. type: Plain text
+#: doc/tin.5:1902
+msgid ""
+"Charset supported locally, which is also used for MIME header (charset "
+"parameter and charset name in header encoding) in mail and news postings. If "
+"B<MIME_STRICT_CHARSET> is defined at compile time, text in charset other "
+"than the value of this parameter is considered not displayable and "
+"represented as '?'. Otherwise, all character sets are regarded as compatible "
+"with the display. If it's not set, the value of the environment variable "
+"$B<MM_CHARSET> is used. US-ASCII or compile-time default is used in case "
+"neither of them is defined. If your system supports B<\\%iconv>(3)  or B<\\"
+"%ucnv_*>(), this option is disabled and you should use B<mm_network_charset> "
+"instead."
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:1915
+msgid ""
+"Charset used for posting and MIME headers; replaces B<mm_charset>.  "
+"Conversion between B<mm_network_charset> and local charset (determined via "
+"B<\\%nl_langinfo>(3))  is done via B<\\%iconv>(3)  or B<\\%ucnv_*>(), if "
+"none of these functions are available on your system this option is disabled "
+"and you have to use B<mm_charset> instead. B<mm_network_charset> is limited "
+"to one of the following charsets:"
+msgstr ""
+
 #. type: TP
-#: doc/tin.5:1864
+#: doc/tin.5:1924
 #, no-wrap
 msgid "B<mono_markdash>"
 msgstr "B<mono_markdash>"
 
 #. type: TP
-#: doc/tin.5:1869
+#: doc/tin.5:1929
 #, no-wrap
 msgid "B<mono_markslash>"
 msgstr "B<mono_markslash>"
 
 #. type: TP
-#: doc/tin.5:1874
+#: doc/tin.5:1934
 #, no-wrap
 msgid "B<mono_markstar>"
 msgstr "B<mono_markstar>"
 
 #. type: TP
-#: doc/tin.5:1879
+#: doc/tin.5:1939
 #, no-wrap
 msgid "B<mono_markstroke>"
 msgstr "B<mono_markstroke>"
 
 #. type: TP
-#: doc/tin.5:1884
+#: doc/tin.5:1944
 #, no-wrap
 msgid "B<newnews>"
 msgstr "B<newnews>"
 
 #. type: Plain text
-#: doc/tin.5:1890
+#: doc/tin.5:1950
 msgid ""
 "These are internal timers used by B<\\%tin>(1)  to keep track of new "
 "newsgroups. Do not change them unless you understand what they are for."
 msgstr ""
+"Interne Timer, die von B<\\%tin>(1) verwendet werden, um den Ãœberblick Ã¼ber "
+"neue Newsgroups zu behalten. Nicht Ã¤ndern, es sei denn, Sie verstehen genau "
+"wozu sie dienen."
 
 #. type: TP
-#: doc/tin.5:1911
+#: doc/tin.5:1972
 #, no-wrap
 msgid "B<nntp_read_timeout_secs>"
 msgstr "B<nntp_read_timeout_secs>"
 
 #. type: Plain text
-#: doc/tin.5:1914
+#: doc/tin.5:1975
 msgid "Time in seconds to wait for a response from the server. Default is 120."
 msgstr ""
 "Maximal n Sekunden auf eine Antwort vom Server warten (0 = kein Zeitlimit). "
 "Voreinstellung ist 120."
 
 #. type: TP
-#: doc/tin.5:1914
+#: doc/tin.5:1975
 #, no-wrap
 msgid "B<normalization_form>"
 msgstr "B<normalization_form>"
 
 #. type: Plain text
-#: doc/tin.5:1918
+#: doc/tin.5:1979
 msgid ""
 "The normalization form which should be used to normalize unicode input.  The "
 "possible values are:"
@@ -13277,37 +13809,40 @@ msgstr ""
 "normalisieren. Die mÃ¶glichen Werte sind:"
 
 #. type: Plain text
-#: doc/tin.5:1936
+#: doc/tin.5:1997
 msgid ""
 "Some normalization modes are only available if they are supported by the "
 "library B<\\%tin>(1)  uses to do the normalization. NFC should be used if "
-"possible."
+"possible (B<RFC\\%5198>)."
 msgstr ""
+"Einige Normalisierungsarten sind nur verfÃ¼gbar, wenn sie von der Bibliothek "
+"unterstÃ¼tzt werden, die B<\\%tin>(1) fÃ¼r die Normalisierung verwendet. Nach "
+"MÃ¶glichkeit sollte NFC verwendet werden (B<RFC\\%5198>)."
 
 #. type: TP
-#: doc/tin.5:1936
+#: doc/tin.5:1997
 #, no-wrap
 msgid "B<page_mime_format>"
 msgstr "B<page_mime_format>"
 
 #. type: Plain text
-#: doc/tin.5:1942
+#: doc/tin.5:2003
 msgid ""
 "Format string B<\\%tin>(1)  uses for mime header at Page level.  Default is "
 "\"[-- %T%S%*n%z%*l%!c%!d%*e --]\"."
 msgstr ""
 "Diese Formatanweisung wird von tin B<\\%tin>(1) zur Darstellung von Mime-"
-"Headern auf Artikelebene benutzt. Voreingestellt ist \"[-- %T%S%*n%z%*l%!c%!d"
-"%*e --]\"."
+"Headern auf Artikelebene benutzt. Voreingestellt ist \"[-- %T%S%*n%z%*l%!c%!"
+"d%*e --]\"."
 
 #. type: TP
-#: doc/tin.5:1942
+#: doc/tin.5:2003
 #, no-wrap
 msgid "B<page_uue_format>"
 msgstr "B<page_uue_format>"
 
 #. type: Plain text
-#: doc/tin.5:1948
+#: doc/tin.5:2009
 msgid ""
 "Format string B<\\%tin>(1)  uses for uue header at Page level.  Default is "
 "\"[-- %T%S%*n%I%!d%*e --]\"."
@@ -13317,7 +13852,7 @@ msgstr ""
 "--]\"."
 
 #. type: Plain text
-#: doc/tin.5:1976
+#: doc/tin.5:2037
 msgid ""
 "If ON, then B<\\%tin>(1)  will start an appropriate viewer program to "
 "display any files that were post processed and uudecoded. The program is "
@@ -13325,19 +13860,19 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1992
+#: doc/tin.5:2053
 #, no-wrap
 msgid "B<posted_articles_file>"
 msgstr "B<posted_articles_file>"
 
 #. type: TP
-#: doc/tin.5:2004
+#: doc/tin.5:2065
 #, no-wrap
 msgid "B<printer>"
 msgstr "B<printer>"
 
 #. type: Plain text
-#: doc/tin.5:2014
+#: doc/tin.5:2075
 msgid ""
 "The printer program with options that is to be used to print articles. The "
 "default is B<\\%lpr>(1)  for BSD machines and B<\\%lp>(1)  for SysV "
@@ -13346,7 +13881,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2022
+#: doc/tin.5:2083
 msgid ""
 "If ON show empty ''Followup-To:'' header when editing an article.  Default "
 "is OFF."
@@ -13355,13 +13890,13 @@ msgstr ""
 "ist OFF."
 
 #. type: TP
-#: doc/tin.5:2027
+#: doc/tin.5:2089
 #, no-wrap
 msgid "B<quote_style>"
 msgstr "B<quote_style>"
 
 #. type: Plain text
-#: doc/tin.5:2033
+#: doc/tin.5:2095
 msgid ""
 "This bit coded integer value controls how articles are to be quoted when "
 "following up or replying to them. Any of the following options can be "
@@ -13370,7 +13905,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2038
+#: doc/tin.5:2098
+msgid "B<Nothing special> Non empty lines are quoted."
+msgstr "B<Nichts besonderes> Nicht leere Zeilen zitieren."
+
+#. type: Plain text
+#: doc/tin.5:2102
 msgid ""
 "B<Compress quotes> Compress quote characters together when quoting multiple "
 "times (for example, 'E<gt> E<gt> E<gt>' will be turned into "
@@ -13378,7 +13918,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2044
+#: doc/tin.5:2108
 msgid ""
 "B<Quote Signatures> This option is off by default. Signatures are always "
 "quoted regardless of this option when you are viewing an article in raw mode "
@@ -13387,32 +13927,32 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2046
+#: doc/tin.5:2110
 msgid "B<Quote empty lines> This option is on by default."
 msgstr "B<Leerzeilen zitieren> Diese Option ist standardmÃ¤ÃŸig aktiviert."
 
 #. type: TP
-#: doc/tin.5:2047
+#: doc/tin.5:2111
 #, no-wrap
 msgid "B<quote_regex>"
 msgstr "B<quote_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2054
+#: doc/tin.5:2118
 msgid ""
 "A regular expression that will be applied when reading articles. All "
-"matching lines are shown in B<col_quote>. If B<quote_regex> is blank, then B<"
-"\\%tin>(1)  uses a built-in default."
+"matching lines are shown in B<col_quote>. If B<quote_regex> is blank, then "
+"B<\\%tin>(1)  uses a built-in default."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2054
+#: doc/tin.5:2118
 #, no-wrap
 msgid "B<quote_regex2>"
 msgstr "B<quote_regex2>"
 
 #. type: Plain text
-#: doc/tin.5:2061
+#: doc/tin.5:2125
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote2>. If B<quote_regex2> is blank, then "
@@ -13420,13 +13960,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2061
+#: doc/tin.5:2125
 #, no-wrap
 msgid "B<quote_regex3>"
 msgstr "B<quote_regex3>"
 
 #. type: Plain text
-#: doc/tin.5:2068
+#: doc/tin.5:2132
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote3>. If B<quote_regex3> is blank, then "
@@ -13434,80 +13974,83 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2068
+#: doc/tin.5:2132
 #, no-wrap
 msgid "B<recent_time>"
 msgstr "B<recent_time>"
 
 #. type: TP
-#: doc/tin.5:2072
+#: doc/tin.5:2136
 #, no-wrap
 msgid "B<render_bidi>"
 msgstr "B<render_bidi>"
 
 #. type: Plain text
-#: doc/tin.5:2079
+#: doc/tin.5:2143
 msgid ""
 "If ON B<\\%tin>(1)  does the rendering of bi-directional text. If OFF B<\\"
 "%tin>(1)  leaves the rendering of bi-directional text to the terminal. "
 "Default is OFF."
 msgstr ""
+"Falls ON, kÃ¼mmert sich B<\\%tin>(1) um die Darstellung von bidirektionalem "
+"Text. Bei OFF, Ã¼berlÃ¤sst B<\\%tin>(1) die Darstellung von bidirektionalem "
+"Text dem Terminal."
 
 #. type: TP
-#: doc/tin.5:2079
+#: doc/tin.5:2143
 #, no-wrap
 msgid "B<reread_active_file_secs>"
 msgstr "B<reread_active_file_secs>"
 
 #. type: TP
-#: doc/tin.5:2088
+#: doc/tin.5:2152
 #, no-wrap
 msgid "B<score_limit_kill>"
 msgstr "B<score_limit_kill>"
 
 #. type: TP
-#: doc/tin.5:2092
+#: doc/tin.5:2156
 #, no-wrap
 msgid "B<score_limit_select>"
 msgstr "B<score_limit_select>"
 
 #. type: TP
-#: doc/tin.5:2096
+#: doc/tin.5:2160
 #, no-wrap
 msgid "B<score_kill>"
 msgstr "B<score_kill>"
 
 #. type: TP
-#: doc/tin.5:2100
+#: doc/tin.5:2164
 #, no-wrap
 msgid "B<score_select>"
 msgstr "B<score_select>"
 
 #. type: TP
-#: doc/tin.5:2104
+#: doc/tin.5:2168
 #, no-wrap
 msgid "B<scroll_lines>"
 msgstr "B<scroll_lines>"
 
 #. type: Plain text
-#: doc/tin.5:2114
+#: doc/tin.5:2178
 msgid ""
 "The number of lines that will be scrolled up/down in the article pager when "
 "using cursor-up/down. The default is 1 (line-by-line). Set to 0 to get "
 "traditional B<\\%tin>(1)  page-by-page scrolling. Set to -1 to get page-by-"
 "page scrolling where the top/bottom line is carried over onto the next "
-"page.  This setting supersedes show_last_line_prev_page=ON. Set to -2 to get "
-"half-page scrolling. This setting supersedes B<full_page_scroll>=OFF."
+"page.  This setting supersedes B<show_last_line_prev_page>=ON. Set to -2 to "
+"get half-page scrolling. This setting supersedes B<full_page_scroll>=OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2114
+#: doc/tin.5:2178
 #, no-wrap
 msgid "B<select_format>"
 msgstr "B<select_format>"
 
 #. type: Plain text
-#: doc/tin.5:2118
+#: doc/tin.5:2182
 msgid ""
 "The format string used for the Selection level. Default is \"%f\\ %n\\ %U\\ "
 "\\ %G\\ \\ %d\". The following substitutions are supported:"
@@ -13517,13 +14060,13 @@ msgstr ""
 "Ersetzungen werden unterstÃ¼tzt:"
 
 #. type: ta
-#: doc/tin.5:2120
+#: doc/tin.5:2184
 #, no-wrap
 msgid "\\w'%G    'u +\\w'current group number'u"
 msgstr "\\w'%G    'u +\\w'Anzahl ungelesener Artikel'u"
 
 #. type: Plain text
-#: doc/tin.5:2127
+#: doc/tin.5:2191
 #, no-wrap
 msgid ""
 "%G\tgroup name\n"
@@ -13541,19 +14084,19 @@ msgstr ""
 "%%\t%\n"
 
 #. type: TP
-#: doc/tin.5:2129
+#: doc/tin.5:2193
 #, no-wrap
 msgid "B<sort_function>"
 msgstr "B<sort_function>"
 
 #. type: TP
-#: doc/tin.5:2164
+#: doc/tin.5:2228
 #, no-wrap
 msgid "B<show_description>"
 msgstr "B<show_description>"
 
 #. type: Plain text
-#: doc/tin.5:2173
+#: doc/tin.5:2237
 msgid ""
 "If ON show a short group description text after newsgroup name at the group "
 "selection level. The ''B<-d>'' command-line flag will override the setting "
@@ -13564,32 +14107,51 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2173
+#: doc/tin.5:2237
 #, no-wrap
 msgid "B<show_help_mail_sign>"
 msgstr "B<show_help_mail_sign>"
 
 #. type: Plain text
-#: doc/tin.5:2180
+#: doc/tin.5:2244
 msgid ""
 "Allows you to select whether B<\\%tin>(1)  shows a help indication, a new "
 "mail indication, both, or neither in the various level titles.  Default is 3."
 msgstr ""
+"Auswahl ob B<\\%tin>(1) in den verschiedenen Ebenentiteln eine Hilfeanzeige, "
+"eine neue E-Mail-Anzeige, beides oder keines von beiden anzeigt. Die "
+"Voreinstellung ist 3."
 
 #. type: TP
-#: doc/tin.5:2196
+#: doc/tin.5:2260
 #, no-wrap
 msgid "B<show_only_unread_groups>"
 msgstr "B<show_only_unread_groups>"
 
+#. type: Plain text
+#: doc/tin.5:2283
+msgid ""
+"The path that specifies the signature file to use when posting, following up "
+"to or replying to an article. If the path is a directory then the signature "
+"will be randomly generated from files that are in the specified directory. "
+"If a file named I<.sigfixed> does exist in that dir or I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.sigfixed> does exist it will be prepended to the chosen "
+"signature (first match counts). If the path starts with a ! the program the "
+"path points to will be executed to generate a signature. In order to pass "
+"the group name to the program, %G can be specified.  This will be replaced "
+"by the name of the current newsgroup. --none will suppress any signature. "
+"Default is I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>.  See also I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.sigfixed>."
+msgstr ""
+
 #. type: TP
-#: doc/tin.5:2219
+#: doc/tin.5:2286
 #, no-wrap
 msgid "B<slashes_regex>"
 msgstr "B<slashes_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2226
+#: doc/tin.5:2293
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markslash> or B<mono_markslash>. If "
@@ -13597,19 +14159,19 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2272
+#: doc/tin.5:2339
 #, no-wrap
 msgid "B<spamtrap_warning_addresses>"
 msgstr "B<spamtrap_warning_addresses>"
 
 #. type: TP
-#: doc/tin.5:2279
+#: doc/tin.5:2346
 #, no-wrap
 msgid "B<stars_regex>"
 msgstr "B<stars_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2286
+#: doc/tin.5:2353
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markstar> or B<mono_markstar>. If "
@@ -13617,50 +14179,53 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2286
+#: doc/tin.5:2353
 #, no-wrap
 msgid "B<strip_blanks>"
 msgstr "B<strip_blanks>"
 
 #. type: TP
-#: doc/tin.5:2290
+#: doc/tin.5:2357
 #, no-wrap
 msgid "B<strip_bogus>"
 msgstr "B<strip_bogus>"
 
 #. type: TP
-#: doc/tin.5:2299
+#: doc/tin.5:2366
 #, no-wrap
 msgid "B<strip_newsrc>"
 msgstr "B<strip_newsrc>"
 
 #. type: TP
-#: doc/tin.5:2303
+#: doc/tin.5:2370
 #, no-wrap
 msgid "B<strip_re_regex>"
 msgstr "B<strip_re_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2309
+#: doc/tin.5:2376
 msgid ""
 "A regular expression to find Subject prefixes like \"Re:\" to remove If "
 "B<strip_re_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
 msgstr ""
+"Ein regulÃ¤rer Ausdruck zum Suchen nach BetreffprÃ¤fixen wie \"Re:\", die "
+"entfernt werden sollen. Wenn B<strip_re_regex> leer ist, verwendet B<\\"
+"%tin>(1) einen integrierten Standardwert."
 
 #. type: TP
-#: doc/tin.5:2309
+#: doc/tin.5:2376
 #, no-wrap
 msgid "B<strip_was_regex>"
 msgstr "B<strip_was_regex>"
 
 #. type: TP
-#: doc/tin.5:2315
+#: doc/tin.5:2382
 #, no-wrap
 msgid "B<strokes_regex>"
 msgstr "B<strokes_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2322
+#: doc/tin.5:2389
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markstroke> or B<mono_markstroke>.  If "
@@ -13668,7 +14233,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2327
+#: doc/tin.5:2394
 msgid ""
 "Decode German style TeX umlaut codes to ISO If ON, show \"a as Umlaut-a, "
 "etc. Default is OFF. This behavior can also be toggled in the article viewer "
@@ -13676,53 +14241,53 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2330
+#: doc/tin.5:2397
 msgid "Defines which threading method to use. The choices are:"
 msgstr ""
 "Definiert wie der Diskussionsfaden gebaut werden soll. Zur Auswahl stehen:"
 
 #. type: Plain text
-#: doc/tin.5:2333
+#: doc/tin.5:2400
 msgid "Don't thread"
 msgstr "Keinen Diskussionsfaden aufbauen."
 
 #. type: Plain text
-#: doc/tin.5:2335
+#: doc/tin.5:2402
 msgid "Thread on Subject only"
 msgstr "Diskussionsfaden nur anhand von ''Subject:'' aufbauen."
 
 #. type: Plain text
-#: doc/tin.5:2337
+#: doc/tin.5:2404
 msgid "Thread on References only"
 msgstr "Diskussionsfaden nur anhand von ''References:'' aufbauen."
 
 #. type: Plain text
-#: doc/tin.5:2339
+#: doc/tin.5:2406
 msgid "Thread on References then Subject (default)"
 msgstr ""
 "Diskussionsfaden anhand von ''References:'' und ''Subject:'' aufbauen "
 "(Voreinstellung)."
 
 #. type: Plain text
-#: doc/tin.5:2341
+#: doc/tin.5:2408
 msgid "Thread multipart articles on Subject"
 msgstr "Diskussionsfaden mehrteiliger Artikel anhand von 'Subject:'' aufbauen."
 
 #. type: Plain text
-#: doc/tin.5:2343
+#: doc/tin.5:2410
 msgid "Thread on Percentage Match of the Subjects"
 msgstr "Anhand der prozentualen Ãœbereinstimmung der Subjects gruppieren"
 
 #. type: Plain text
-#: doc/tin.5:2347
+#: doc/tin.5:2414
 msgid ""
 "It's also possible to set the threading type on a per group basis by setting "
-"the group attribute variable B<thread_articles> to 0 \\(en 5 in the file I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes>."
+"the group attribute variable B<thread_articles> to 0 \\(en 5 in the file "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes>."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2351
+#: doc/tin.5:2418
 msgid ""
 "The format string used for the Thread level. Default is \"%n\\ %m\\ \\ "
 "[%L]\\ \\ %T\\ \\ %F\". The following substitutions are supported:"
@@ -13732,13 +14297,13 @@ msgstr ""
 "Ersetzungen werden unterstÃ¼tzt:"
 
 #. type: ta
-#: doc/tin.5:2353
+#: doc/tin.5:2420
 #, no-wrap
 msgid "\\w'%G    'u +\\w'from, name and/or address'u"
 msgstr "\\w'%G    'u +\\w'Subject und/oder Baumdarstellung des Thread'u"
 
 #. type: Plain text
-#: doc/tin.5:2364
+#: doc/tin.5:2431
 #, no-wrap
 msgid ""
 "%D\tdate\n"
@@ -13764,7 +14329,7 @@ msgstr ""
 "%%\t%\n"
 
 #. type: Plain text
-#: doc/tin.5:2371
+#: doc/tin.5:2438
 msgid ""
 "Defines how close the subjects must match while threading by Percentage "
 "Match for threads to be considered part of a single thread. This value is in "
@@ -13772,40 +14337,46 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2375
+#: doc/tin.5:2442
 #, no-wrap
 msgid "B<thread_score>"
 msgstr "B<thread_score>"
 
 #. type: TP
-#: doc/tin.5:2387
+#: doc/tin.5:2454
 #, no-wrap
 msgid "B<tls_ca_cert_file>"
 msgstr "B<tls_ca_cert_file>"
 
 #. type: Plain text
-#: doc/tin.5:2392
+#: doc/tin.5:2459
 msgid ""
-"The name of file containing all trusted CA certificates used for NNTPS (B<RFC"
-"\\%8143>) connections. If left empty the system default will be used."
+"The name of file containing all trusted CA certificates used for NNTPS "
+"(B<RFC\\%8143>) connections. If left empty the system default will be used."
 msgstr ""
+"Name der Datei, die alle vertrauenswÃ¼rdigen CA-Zertifikate enthÃ¤lt, die fÃ¼r "
+"NNTPS-Verbindungen (B<RFC\\%8143>) verwendet werden. Falls es leer bleibt, "
+"wird der Systemstandard verwendet."
 
 #. type: TP
-#: doc/tin.5:2392
+#: doc/tin.5:2459
 #, no-wrap
 msgid "B<translit>"
 msgstr "B<translit>"
 
 #. type: Plain text
-#: doc/tin.5:2406
+#: doc/tin.5:2473
 msgid ""
 "Allows you to select how B<\\%tin>(1)  treats blank lines in article "
 "bodies.  Default is 0. This option does not affect lines within verbatim "
 "blocks."
 msgstr ""
+"Auswahl, wie B<\\%tin>(1) Leerzeilen in ArtikelkÃ¶rpern behandelt. Der "
+"Voreinstellung ist 0. Diese Option wirkt sich nicht auf Zeilen innerhalb von "
+"wortgetreu wiederzugebenden TextblÃ¶cken aus."
 
 #. type: Plain text
-#: doc/tin.5:2429
+#: doc/tin.5:2496
 msgid ""
 "If ON remove soft hyphens (U+00AD) from non verbatim blocks when displaying "
 "articles. Default is OFF."
@@ -13814,27 +14385,31 @@ msgstr ""
 "bei der Artikelanzeige entfernt. Voreinstellung ist OFF."
 
 #. type: TP
-#: doc/tin.5:2429
+#: doc/tin.5:2496
 #, no-wrap
 msgid "B<underscores_regex>"
 msgstr "B<underscores_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2436
+#: doc/tin.5:2503
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markdash> or B<mono_markdash>. If "
 "B<underscores_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
 msgstr ""
+"RegulÃ¤rer Ausdruck, der beim Lesen von Artikeln angewendet wird. Alle "
+"passenden WÃ¶rter werden in B<col_markdash> oder B<mono_markdash> angezeigt. "
+"Falls B<underscores_regex> leer ist, verwendet B<\\%tin>(1) einen "
+"integrierten Standardwert."
 
 #. type: TP
-#: doc/tin.5:2436
+#: doc/tin.5:2503
 #, no-wrap
 msgid "B<unlink_article>"
 msgstr "B<unlink_article>"
 
 #. type: Plain text
-#: doc/tin.5:2440
+#: doc/tin.5:2507
 msgid ""
 "If ON remove I<${TIN_HOMEDIR:-\"$HOME\"}/.article> after posting. Default is "
 "ON."
@@ -13843,56 +14418,56 @@ msgstr ""
 "Voreinstellung ist ON."
 
 #. type: TP
-#: doc/tin.5:2440
+#: doc/tin.5:2507
 #, no-wrap
 msgid "B<url_handler>"
 msgstr "B<url_handler>"
 
 #. type: TP
-#: doc/tin.5:2445
+#: doc/tin.5:2512
 #, no-wrap
 msgid "B<url_highlight>"
 msgstr "B<url_highlight>"
 
 #. type: TP
-#: doc/tin.5:2448
+#: doc/tin.5:2515
 #, no-wrap
 msgid "B<use_color>"
 msgstr "B<use_color>"
 
 #. type: Plain text
-#: doc/tin.5:2453
+#: doc/tin.5:2520
 msgid "If enabled B<\\%tin>(1)  uses ANSI-colors. Default is OFF."
 msgstr ""
 "Falls aktiviert verwendet B<\\%tin>(1) ANSI-Farben. Die Voreinstellung ist "
 "OFF."
 
 #. type: TP
-#: doc/tin.5:2453
+#: doc/tin.5:2520
 #, no-wrap
 msgid "B<use_keypad>"
 msgstr "B<use_keypad>"
 
 #. type: Plain text
-#: doc/tin.5:2456
+#: doc/tin.5:2523
 msgid "Use scroll keys on keypad. Default is OFF."
 msgstr ""
 "Navigationstasten auf dem Tastenfeld verwenden. Voreinstellung ist OFF."
 
 #. type: TP
-#: doc/tin.5:2456
+#: doc/tin.5:2523
 #, no-wrap
 msgid "B<use_mouse>"
 msgstr "B<use_mouse>"
 
 #. type: TP
-#: doc/tin.5:2462
+#: doc/tin.5:2529
 #, no-wrap
 msgid "B<use_slrnface>"
 msgstr "B<use_slrnface>"
 
 #. type: Plain text
-#: doc/tin.5:2474
+#: doc/tin.5:2541
 msgid ""
 "If enabled B<\\%slrnface>(1)  will be used to interpret the ''X-Face:'' "
 "header. For this option to have any effect, B<\\%tin>(1)  must be running in "
@@ -13901,19 +14476,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2474
+#: doc/tin.5:2541
 #, no-wrap
 msgid "B<utf8_graphics>"
 msgstr "B<utf8_graphics>"
 
+#. type: Plain text
+#: doc/tin.5:2545
+msgid ""
+"If ON use UTF-8 characters for indicator ('-E<gt>'), thread/attachment tree "
+"and ellipsis ('...'). Default is OFF."
+msgstr ""
+
 #. type: TP
-#: doc/tin.5:2478
+#: doc/tin.5:2545
 #, no-wrap
 msgid "B<verbatim_begin_regex>"
 msgstr "B<verbatim_begin_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2484
+#: doc/tin.5:2551
 msgid ""
 "A regular expression that B<\\%tin>(1)  will use to find the begin of a "
 "verbatim block. Default is #v+"
@@ -13922,13 +14504,13 @@ msgstr ""
 "Absatzes findet. Voreinstellung ist #v+"
 
 #. type: TP
-#: doc/tin.5:2484
+#: doc/tin.5:2551
 #, no-wrap
 msgid "B<verbatim_end_regex>"
 msgstr "B<verbatim_end_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2490
+#: doc/tin.5:2557
 msgid ""
 "A regular expression that B<\\%tin>(1)  will use to find the end of a "
 "verbatim block. Default is #v-"
@@ -13937,13 +14519,13 @@ msgstr ""
 "Absatzes findet. Voreinstellung ist #v-"
 
 #. type: TP
-#: doc/tin.5:2493
+#: doc/tin.5:2560
 #, no-wrap
 msgid "B<wildcard>"
 msgstr "B<Platzhalter>"
 
 #. type: Plain text
-#: doc/tin.5:2517
+#: doc/tin.5:2584
 msgid ""
 "Allows you to select how B<\\%tin>(1)  matches strings. The default is 0 and "
 "uses the B<\\%wildmat>(3)  notation, which is how this has traditionally "
@@ -13955,31 +14537,31 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2517
+#: doc/tin.5:2584
 #, no-wrap
 msgid "B<word_h_display_marks>"
 msgstr "B<word_h_display_marks>"
 
 #. type: TP
-#: doc/tin.5:2529
+#: doc/tin.5:2596
 #, no-wrap
 msgid "B<word_highlight>"
 msgstr "B<word_highlight>"
 
 #. type: TP
-#: doc/tin.5:2537
+#: doc/tin.5:2604
 #, no-wrap
 msgid "B<wrap_column>"
 msgstr "B<wrap_column>"
 
 #. type: TP
-#: doc/tin.5:2553
+#: doc/tin.5:2620
 #, no-wrap
 msgid "B<xpost_quote_format>"
 msgstr "B<xpost_quote_format>"
 
 #. type: Plain text
-#: doc/tin.5:2569
+#: doc/tin.5:2636
 msgid ""
 "Yet another global configuration file with \"I<variable>=I<value>\" pairs. "
 "This one is for the more general options which usually can't be controlled "
@@ -13989,18 +14571,18 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2569
+#: doc/tin.5:2636
 #, no-wrap
 msgid "B<domainname>"
 msgstr "B<domainname>"
 
 #. type: Plain text
-#: doc/tin.5:2572
+#: doc/tin.5:2639
 msgid "Sets a global domain name used in From lines"
 msgstr "Setzt den globalen DomÃ¤nennamen, der in From-Zeilen verwendet wird"
 
 #. type: Plain text
-#: doc/tin.5:2576
+#: doc/tin.5:2643
 msgid ""
 "Defines the name of your organization. $B<ORGANIZATION> overrides any "
 "specified value."
@@ -14009,27 +14591,30 @@ msgstr ""
 "angegebenen Wert."
 
 #. type: TP
-#: doc/tin.5:2576
+#: doc/tin.5:2643
 #, no-wrap
 msgid "B<newslibdir>"
 msgstr "B<newslibdir>"
 
 #. type: Plain text
-#: doc/tin.5:2581
+#: doc/tin.5:2648
 msgid ""
 "Defines the default place for some configuration files, common values are I</"
 "usr/lib/news>, I</var/lib/news>, I</usr/local/lib/news> or I</news/db>. "
 "$B<TIN_LIBDIR> overrides any specified value."
 msgstr ""
+"Definiert den Standardspeicherort fÃ¼r einige Konfigurationsdateien. Ãœbliche "
+"Werte sind I</usr/lib/news>, I</var/lib/news>, I</usr/local/lib/news> oder "
+"I</news/db>. $B<TIN_LIBDIR> Ã¼bersteuert den angegebenen Wert."
 
 #. type: TP
-#: doc/tin.5:2581
+#: doc/tin.5:2648
 #, no-wrap
 msgid "B<bugaddress>"
 msgstr "B<bugaddress>"
 
 #. type: Plain text
-#: doc/tin.5:2587
+#: doc/tin.5:2654
 msgid ""
 "Defines the email address to which users can send bug reports using a built-"
 "in function. The default points to a developers mailing list located at tin."
@@ -14042,19 +14627,19 @@ msgstr ""
 "Ã¤ndern, wenn Sie die Probleme Ihrer Benutzer selbst lÃ¶sen wollen."
 
 #. type: TP
-#: doc/tin.5:2587
+#: doc/tin.5:2654
 #, no-wrap
 msgid "B<inewsdir>"
 msgstr "B<inewsdir>"
 
 #. type: Plain text
-#: doc/tin.5:2592
+#: doc/tin.5:2659
 msgid "Defines the directory containing the B<\\%inews>(1)  executable."
 msgstr ""
 "Definiert das Verzeichnis, welches das ausfÃ¼hrbare B<\\%inews>(1) enthÃ¤lt."
 
 #. type: Plain text
-#: doc/tin.5:2596
+#: doc/tin.5:2663
 msgid ""
 "Default charset to be used in MIME's ''Content-Type:'' header.  "
 "$B<MM_CHARSET> overrides any specified value."
@@ -14063,7 +14648,7 @@ msgstr ""
 "soll. $B<MM_CHARSET> Ã¼berschreibt den angegebenen Wert."
 
 #. type: Plain text
-#: doc/tin.5:2599
+#: doc/tin.5:2666
 msgid ""
 "Default encoding scheme used in MIME articles. 8bit might be the best value."
 msgstr ""
@@ -14071,7 +14656,7 @@ msgstr ""
 "die beste Wahl."
 
 #. type: Plain text
-#: doc/tin.5:2603
+#: doc/tin.5:2670
 msgid ""
 "Default encoding scheme used in MIME letters. quoted-printable is a good "
 "choice here."
@@ -14080,13 +14665,13 @@ msgstr ""
 "eine gute Wahl."
 
 #. type: TP
-#: doc/tin.5:2603
+#: doc/tin.5:2670
 #, no-wrap
 msgid "B<disable_gnksa_domain_check>"
 msgstr "B<disable_gnksa_domain_check>"
 
 #. type: Plain text
-#: doc/tin.5:2609
+#: doc/tin.5:2676
 msgid ""
 "Allow unregistered top level domains. As the list of valid TLDs is no longer "
 "actively maintained the default was changed to ON starting with B<\\"
@@ -14097,13 +14682,13 @@ msgstr ""
 "Voreinstellung auf ON geÃ¤ndert."
 
 #. type: TP
-#: doc/tin.5:2609
+#: doc/tin.5:2676
 #, no-wrap
 msgid "B<disable_sender>"
 msgstr "B<disable_sender>"
 
 #. type: Plain text
-#: doc/tin.5:2613
+#: doc/tin.5:2680
 msgid ""
 "Don't generate a ''Sender:'' header. This has an effect only if "
 "B<inews_prog> is set to --internal."
@@ -14112,13 +14697,13 @@ msgstr ""
 "steht wird die Einstellung ignoriert."
 
 #. type: TP
-#: doc/tin.5:2613
+#: doc/tin.5:2680
 #, no-wrap
 msgid "B<spooldir>"
 msgstr "B<spooldir>"
 
 #. type: Plain text
-#: doc/tin.5:2618
+#: doc/tin.5:2685
 msgid ""
 "Base of your newsspool (Bnews, Cnews and INN traditional spool style), "
 "common values are I</var/spool/news>, I</usr/spool/news>, I</news/spool>.  "
@@ -14129,13 +14714,13 @@ msgstr ""
 "news/spool>. $B<TIN_SPOOLDIR> Ã¼berschreibt einen angegebenen Wert."
 
 #. type: TP
-#: doc/tin.5:2618
+#: doc/tin.5:2685
 #, no-wrap
 msgid "B<overviewdir>"
 msgstr "B<overviewdir>"
 
 #. type: Plain text
-#: doc/tin.5:2626
+#: doc/tin.5:2693
 msgid ""
 "Base of your NOV database B<\\%newsoverview>(5)  (tradspool style; might be "
 "the same dir as I<spooldir>), common values are I</var/spool/overview>, I</"
@@ -14148,13 +14733,13 @@ msgstr ""
 "Ã¼berschreibt einen angegebenen Wert."
 
 #. type: TP
-#: doc/tin.5:2626
+#: doc/tin.5:2693
 #, no-wrap
 msgid "B<overviewfile>"
 msgstr "B<overviewfile>"
 
 #. type: Plain text
-#: doc/tin.5:2630
+#: doc/tin.5:2697
 msgid ""
 "Name of a single overview file, common values are I<.overview> or I<over."
 "view>. $B<TIN_NOVFILENAME> overrides any specified value."
@@ -14163,13 +14748,13 @@ msgstr ""
 "view>. $B<TIN_NOVFILENAME> Ã¼bersteuert den angegebenen Wert."
 
 #. type: TP
-#: doc/tin.5:2630
+#: doc/tin.5:2697
 #, no-wrap
 msgid "B<overviewfmtfile>"
 msgstr "B<overviewfmtfile>"
 
 #. type: Plain text
-#: doc/tin.5:2635
+#: doc/tin.5:2702
 msgid ""
 "Full pathname of your newssystem's overview.fmt file; usually the file "
 "resides in I<newslibdir> and is named I<overview.fmt>, so you only have to "
@@ -14181,13 +14766,13 @@ msgstr ""
 "Konfiguration unterscheidet."
 
 #. type: TP
-#: doc/tin.5:2635
+#: doc/tin.5:2702
 #, no-wrap
 msgid "B<activefile>"
 msgstr "B<activefile>"
 
 #. type: Plain text
-#: doc/tin.5:2641
+#: doc/tin.5:2708
 msgid ""
 "Full pathname of your newssystem's active file; usually the file resides in "
 "I<newslibdir> and is named I<active>, so you only have to change this "
@@ -14197,30 +14782,34 @@ msgstr ""
 "VollstÃ¤ndiger Pfadname der Aktive-Datei Ihres Newssystems; normalerweise "
 "befindet sich die Datei in I<newslibdir> und heiÃŸt I<active>, so dass Sie "
 "diese Einstellung nur Ã¤ndern mÃ¼ssen wenn sich Ihre Konfiguration "
-"unterscheidet."
+"unterscheidet. $B<TIN_ACTIVEFILE> Ã¼berschreibt einen angegebenen Wert."
 
 #. type: TP
-#: doc/tin.5:2641
+#: doc/tin.5:2708
 #, no-wrap
 msgid "B<activetimesfile>"
 msgstr "B<activetimesfile>"
 
 #. type: Plain text
-#: doc/tin.5:2646
+#: doc/tin.5:2713
 msgid ""
 "Full pathname of your newssystem's active.times file; usually the file "
 "resides in I<newslibdir> and is named I<active.times>, so you only have to "
 "change this setting if your configuration differs."
 msgstr ""
+"VollstÃ¤ndiger Pfadname der active.times-Datei Ihres Newssystems; "
+"normalerweise befindet sich die Datei in I<newslibdir> und heiÃŸt I<active."
+"times>, daher mÃ¼ssen Sie diese Einstellung nur Ã¤ndern, wenn Ihre "
+"Konfiguration abweicht."
 
 #. type: TP
-#: doc/tin.5:2646
+#: doc/tin.5:2713
 #, no-wrap
 msgid "B<newsgroupsfile>"
 msgstr "B<newsgroupsfile>"
 
 #. type: Plain text
-#: doc/tin.5:2651
+#: doc/tin.5:2718
 msgid ""
 "Full pathname of your newssystem's newsgroups file; usually the file resides "
 "in I<newslibdir> and is named I<newsgroups>, so you only have to change this "
@@ -14232,13 +14821,13 @@ msgstr ""
 "unterscheidet."
 
 #. type: TP
-#: doc/tin.5:2651
+#: doc/tin.5:2718
 #, no-wrap
 msgid "B<subscriptionsfile>"
 msgstr "B<subscriptionsfile>"
 
 #. type: Plain text
-#: doc/tin.5:2656
+#: doc/tin.5:2723
 msgid ""
 "Full pathname of your newssystem's subscriptions file; usually the file "
 "resides in I<newslibdir> and is named I<subscriptions>, so you only have to "
@@ -14250,12 +14839,12 @@ msgstr ""
 "Ihre Konfiguration unterscheidet."
 
 #. type: Plain text
-#: doc/tin.5:2660
+#: doc/tin.5:2727
 msgid "I</usr/local/share/locale/$LC_MESSAGES/LC_MESSAGES/tin.mo>"
 msgstr "I</usr/local/share/locale/$LC_MESSAGES/LC_MESSAGES/tin.mo>"
 
 #. type: Plain text
-#: doc/tin.5:2664
+#: doc/tin.5:2731
 msgid ""
 "translation into language specified in $B<LC_ALL>, $B<LC_MESSAGES> or "
 "$B<LANG>"
@@ -14264,7 +14853,7 @@ msgstr ""
 "Sprache"
 
 #. type: Plain text
-#: doc/tin.5:2678
+#: doc/tin.5:2745
 msgid ""
 "This file lists the newsgroups that the local site receives. Each newsgroup "
 "should be listed only once. Each line specifies one group; within each "
@@ -14276,9 +14865,9 @@ msgstr ""
 "beschreibt eine Gruppe; in jeder Newsgruppe haben die Artikel eindeutige "
 "Namen: monoton steigende Nummern."
 
-#.  TODO: IIRC tin issues just a warning in that case?
+#.  TODO: tin issues just a warning in that case.
 #. type: Plain text
-#: doc/tin.5:2683
+#: doc/tin.5:2750
 msgid ""
 "If an article is posted to newsgroups not mentioned in this file, those "
 "newsgroups are ignored.  If no valid newsgroups are specified, the article "
@@ -14289,7 +14878,7 @@ msgstr ""
 "Newsgruppen angegeben werden, wird der Artikel zurÃ¼ckgewiesen."
 
 #. type: Plain text
-#: doc/tin.5:2686
+#: doc/tin.5:2753
 msgid ""
 "Each line consists of four space-separated fields \"I<name> I<highmark> "
 "I<lowmark> I<flags>\"."
@@ -14298,30 +14887,30 @@ msgstr ""
 "I<highmark> I<lowmark> I<Marker>\"."
 
 #. type: TP
-#: doc/tin.5:2686 doc/tin.5:2740
+#: doc/tin.5:2753 doc/tin.5:2807
 #, no-wrap
 msgid "B<name>"
 msgstr "B<Name>"
 
 #. type: TP
-#: doc/tin.5:2689
+#: doc/tin.5:2756
 #, no-wrap
 msgid "B<highmark>"
 msgstr "B<highmark>"
 
 #. type: Plain text
-#: doc/tin.5:2692
+#: doc/tin.5:2759
 msgid "is the highest article number that has been used in that newsgroup"
 msgstr "die hÃ¶chste Artikelnummer die je in der Gruppe benutzt wurde"
 
 #. type: TP
-#: doc/tin.5:2692
+#: doc/tin.5:2759
 #, no-wrap
 msgid "B<lowmark>"
 msgstr "B<lowmark>"
 
 #. type: Plain text
-#: doc/tin.5:2699
+#: doc/tin.5:2766
 msgid ""
 "is the lowest article number in the group; this number is not guaranteed to "
 "be accurate, and should only be taken to be a hint. Note that because of "
@@ -14337,92 +14926,92 @@ msgstr ""
 "Newsgroup."
 
 #. type: TP
-#: doc/tin.5:2699
+#: doc/tin.5:2766
 #, no-wrap
 msgid "B<flags>"
 msgstr "B<Marker>"
 
 #. type: Plain text
-#: doc/tin.5:2702
+#: doc/tin.5:2769
 msgid "can be one of those"
 msgstr "kann eines der folgenden sein"
 
 #. type: TP
-#: doc/tin.5:2703
+#: doc/tin.5:2770
 #, no-wrap
 msgid "B<y>"
 msgstr "B<y>"
 
 #. type: Plain text
-#: doc/tin.5:2706
+#: doc/tin.5:2773
 msgid "local postings are allowed"
 msgstr "lokale Postings sind erlaubt"
 
 #. type: TP
-#: doc/tin.5:2706
+#: doc/tin.5:2773
 #, no-wrap
 msgid "B<n>"
 msgstr "B<n>"
 
 #. type: Plain text
-#: doc/tin.5:2709
+#: doc/tin.5:2776
 msgid "no local postings are allowed, only remote ones"
 msgstr ""
 "lokale Postings sind nicht erlaubt, Artikel kommen nur Ã¼ber andere Server"
 
 #. type: TP
-#: doc/tin.5:2709
+#: doc/tin.5:2776
 #, no-wrap
 msgid "B<m>"
 msgstr "B<m>"
 
 #. type: Plain text
-#: doc/tin.5:2712
+#: doc/tin.5:2779
 msgid "the group is moderated and all postings must be approved"
 msgstr "die Gruppe ist moderiert und alle Postings mÃ¼ssen approved werden"
 
 #. type: TP
-#: doc/tin.5:2712
+#: doc/tin.5:2779
 #, no-wrap
 msgid "B<j>"
 msgstr "B<j>"
 
 #. type: Plain text
-#: doc/tin.5:2715
+#: doc/tin.5:2782
 msgid "articles in this group are not kept, but only passed on"
 msgstr ""
 "Artikel in dieser Gruppe werden nicht gespeichert sondern nur durchgereicht"
 
 #. type: TP
-#: doc/tin.5:2715
+#: doc/tin.5:2782
 #, no-wrap
 msgid "B<x>"
 msgstr "B<x>"
 
 #. type: Plain text
-#: doc/tin.5:2718
+#: doc/tin.5:2785
 msgid "articles cannot be posted to this newsgroup"
 msgstr "in diese Gruppe darf nicht gepostet werden"
 
 #. type: TP
-#: doc/tin.5:2718
+#: doc/tin.5:2785
 #, no-wrap
 msgid "B<=foo.bar>"
 msgstr "B<=foo.bar>"
 
 #. type: Plain text
-#: doc/tin.5:2721
+#: doc/tin.5:2788
 msgid "articles are locally filed into the ''foo.bar'' group"
 msgstr "Artikel werden auf dem Server in der Gruppe ''foo.bar'' abgelegt"
 
 #. type: TP
-#: doc/tin.5:2722 doc/tin.5:2750 doc/tin.5:2773
+#: doc/tin.5:2789 doc/tin.5:2817 doc/tin.5:2840
 #, no-wrap
 msgid "B<\\%tin>(1)"
 msgstr "B<\\%tin>(1)"
 
 #. type: Plain text
-#: doc/tin.5:2729
+#: doc/tin.5:2796
 msgid ""
 "only tries to read the file if you read directly from the local spool, if "
 "you read news via NNTP, B<\\%tin>(1)  uses the LIST (B<RFC\\%3977>) or LIST "
@@ -14433,10 +15022,10 @@ msgstr ""
 "LIST (B<RFC\\%3977>) oder LIST COUNTS (B<RFC\\%6048>)."
 
 #. type: Plain text
-#: doc/tin.5:2740
+#: doc/tin.5:2807
 msgid ""
 "This file provides a chronological record of when newsgroups are created. It "
-"is normally updated by the local news server (e.g.  B<\\%innd>(8))  whenever "
+"is normally updated by the local news server (e.g., B<\\%innd>(8))  whenever "
 "a new group is created. Each line consist of three space-separated fields "
 "\"I<name> I<time> I<creator>\"."
 msgstr ""
@@ -14447,7 +15036,7 @@ msgstr ""
 "I<Ersteller>\"."
 
 #. type: Plain text
-#: doc/tin.5:2747
+#: doc/tin.5:2814
 msgid ""
 "is the time when the group was created, expressed as the number of seconds "
 "since the Epoch."
@@ -14456,18 +15045,18 @@ msgstr ""
 "Beginn der Epoche."
 
 #. type: TP
-#: doc/tin.5:2747
+#: doc/tin.5:2814
 #, no-wrap
 msgid "B<creator>"
 msgstr "B<Ersteller>"
 
 #. type: Plain text
-#: doc/tin.5:2750
+#: doc/tin.5:2817
 msgid "is the electronic mail address of the person who created the group."
 msgstr "die Mailadresse der Person die die Gruppe angelegt hat."
 
 #. type: Plain text
-#: doc/tin.5:2756
+#: doc/tin.5:2823
 msgid ""
 "only tries to read the file if you read directly from the local spool, if "
 "you read news via NNTP, B<\\%tin>(1)  uses the NEWGROUPS (B<RFC\\%3977>) "
@@ -14478,12 +15067,12 @@ msgstr ""
 "(B<RFC\\%3977>) Befehl."
 
 #. type: Plain text
-#: doc/tin.5:2767
+#: doc/tin.5:2834
 msgid ""
 "This file provides short descriptions of each newsgroup. It is normally "
-"updated by the local news server (e.g.  B<\\%innd>(8))  whenever a new group "
-"is created. Each line consist of two tab-separated fields \"I<group.name>"
-"\tI<one-line description>\"."
+"updated by the local news server (e.g., B<\\%innd>(8))  whenever a new group "
+"is created. Each line consist of two tab-separated fields \"I<group."
+"name>\tI<one-line description>\"."
 msgstr ""
 "Diese Datei enthÃ¤lt kurze Beschreibungen der einzelnen Newsgruppen. Es wird "
 "normalerweise durch die lokalen Newsserver aktualisiert (zB. B<\\%innd>(8)) "
@@ -14491,7 +15080,7 @@ msgstr ""
 "Tabulator getrennten Feldern \"I<Gruppen.Name>\tI<Kurzbeschreibung>\"."
 
 #. type: Plain text
-#: doc/tin.5:2779
+#: doc/tin.5:2846
 msgid ""
 "only tries to read the file if you read directly from the local spool, if "
 "you read news via NNTP, B<\\%tin>(1)  uses the LIST NEWSGROUPS (B<RFC\\"
@@ -14502,7 +15091,7 @@ msgstr ""
 "NEWSGROUPS (B<RFC\\%3977>) Befehl."
 
 #. type: Plain text
-#: doc/tin.5:2788
+#: doc/tin.5:2855
 msgid ""
 "This file might hold a default organization to be used in the "
 "''Organization:'' header. $B<ORGANIZATION> has a higher priority if set."
@@ -14512,7 +15101,7 @@ msgstr ""
 "PrioritÃ¤t falls gesetzt."
 
 #. type: Plain text
-#: doc/tin.5:2806
+#: doc/tin.5:2873
 msgid ""
 "This file specifies the organization of the news overview database (see also "
 "B<\\%newsoverview>(5)).  The order of lines in this file is important; it "
@@ -14530,7 +15119,7 @@ msgstr ""
 "Befehl LIST OVERVIEW.FMT (B<RFC\\%3977>)."
 
 #. type: Plain text
-#: doc/tin.5:2821
+#: doc/tin.5:2888
 msgid ""
 "This file contains a list of newsgroups \\(em one per line \\(em which the "
 "client should subscribe to when the user has no ${TIN_HOMEDIR:-\"$HOME\"}/."
@@ -14539,14 +15128,14 @@ msgid ""
 "%tin>(1)  uses the LIST SUBSCRIPTIONS (B<RFC\\%6048>) command instead."
 msgstr ""
 "Diese Datei enthÃ¤lt eine Liste von Newsgroups \\(em eine pro Zeile \\(em die "
-"der Client abonnieren sollte, wenn der Benutzer keine ${TIN_HOMEDIR:-\"$HOME"
-"\"}/.newsrc fÃ¼r den Newsserver hat. B<\\%tin>(1) versucht die Datei nur dann "
-"zu lesen, wenn Sie direkt aus dem lokalen Spool lesen. Falls Sie Nachrichten "
-"mittels NNTP lesen, verwendet B<\\%tin>(1) stattdessen den Befehl LIST "
-"SUBSCRIPTIONS (B<RFC\\%6048>)."
+"der Client abonnieren sollte, wenn der Benutzer keine ${TIN_HOMEDIR:-"
+"\"$HOME\"}/.newsrc fÃ¼r den Newsserver hat. B<\\%tin>(1) versucht die Datei "
+"nur dann zu lesen, wenn Sie direkt aus dem lokalen Spool lesen. Falls Sie "
+"Nachrichten mittels NNTP lesen, verwendet B<\\%tin>(1) stattdessen den "
+"Befehl LIST SUBSCRIPTIONS (B<RFC\\%6048>)."
 
 #. type: Plain text
-#: doc/tin.5:2870
+#: doc/tin.5:2939
 msgid ""
 "B<\\%inews>(1), B<\\%ispell>(1), B<\\%lp>(1), B<\\%lpr>(1), B<\\"
 "%metamail>(1), B<\\%mutt>(1), B<\\%perl>(1), B<\\%perlre>(1), B<\\%pgp>(1), "
@@ -14555,10 +15144,11 @@ msgid ""
 "%nl_langinfo>(3), B<\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\"
 "%pcre2pattern>(3), B<\\%qsort>(3), B<\\%strftime>(3), B<\\%system>(3), B<\\"
 "%active>(5), B<\\%mailcap>(5), B<\\%mbox>(5), B<\\%mmdf>(5), B<\\"
-"%newsoverview>(5), B<\\%overview.fmt>(5), B<\\%innd>(8), B<RFC\\%1524>, B<RFC"
-"\\%2045>, B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2048>, B<RFC\\%2231>, B<RFC\\"
-"%2980>, B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%5322>, B<RFC\\"
-"%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%8143>"
+"%newsoverview>(5), B<\\%overview.fmt>(5), B<\\%innd>(8), B<RFC\\%1524>, "
+"B<RFC\\%1952>, B<RFC\\%2045>, B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2231>, "
+"B<RFC\\%2980>, B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%5198>, "
+"B<RFC\\%5322>, B<RFC\\%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%6838>, "
+"B<RFC\\%8143>"
 msgstr ""
 "B<\\%inews>(1), B<\\%ispell>(1), B<\\%lp>(1), B<\\%lpr>(1), B<\\"
 "%metamail>(1), B<\\%mutt>(1), B<\\%perl>(1), B<\\%perlre>(1), B<\\%pgp>(1), "
@@ -14567,7 +15157,8 @@ msgstr ""
 "%nl_langinfo>(3), B<\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\"
 "%pcre2pattern>(3), B<\\%qsort>(3), B<\\%strftime>(3), B<\\%system>(3), B<\\"
 "%active>(5), B<\\%mailcap>(5), B<\\%mbox>(5), B<\\%mmdf>(5), B<\\"
-"%newsoverview>(5), B<\\%overview.fmt>(5), B<\\%innd>(8), B<RFC\\%1524>, B<RFC"
-"\\%2045>, B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2048>, B<RFC\\%2231>, B<RFC\\"
-"%2980>, B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%5322>, B<RFC\\"
-"%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%8143>"
+"%newsoverview>(5), B<\\%overview.fmt>(5), B<\\%innd>(8), B<RFC\\%1524>, "
+"B<RFC\\%1952>, B<RFC\\%2045>, B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2231>, "
+"B<RFC\\%2980>, B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%5198>, "
+"B<RFC\\%5322>, B<RFC\\%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%6838>, "
+"B<RFC\\%8143>"
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/l10n/en_GB/tin.1 tin-2.6.4/doc/l10n/en_GB/tin.1
--- tin-2.6.3/doc/l10n/en_GB/tin.1	2023-12-24 00:38:34.000000000 +0100
+++ tin-2.6.4/doc/l10n/en_GB/tin.1	2024-12-23 10:56:20.691679472 +0100
@@ -3,19 +3,17 @@
 .\" Module    : tin.1
 .\" Author    : I. Lea, U. Janssen
 .\" Created   : 1991-08-23
-.\" Updated   : 2023-12-24
+.\" Updated   : 2024-12-24
 .\" Notes     : use American English; still needs some work, e.g.:
 .\"             - document authorization (.newsauth)
 .\"             - document random organization feature
 .\"
-.\"
-.IX Title "tin 1"
 .\"*******************************************************************
 .\"
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH tin 1 "December 24th, 2023" 2.6.3 "Usenet newsreader"
+.TH tin 1 "December 24th, 2024" 2.6.4 "Usenet newsreader"
 .\"
 .\"
 .SH NAME
@@ -23,18 +21,17 @@
 .\"
 tin, rtin \- Usenet newsreader
 .SH SYNOPSIS
-.IX Header SYNOPSIS
 .\"
 .\"
 \fBtin\fP [\|[\|\fB\-h\fP\||\|\fB\-H\fP\||\|\fB\-V\fP\|]\ \|| [\|[\|\fB\-a\fP\|]
 [\|\fB\-dlnq\fP\||\|\fB\-Q\fP\|] [\|\fB\-ACkrTzxX\fP\|]\|] [\|[\|\fB\-R\fP\||\|\fB\-S\fP\|]
 \|\|\fB\-s\fP \fINews_dir\fP\|] [\|\fB\-cuvZ\fP\|] [\|\fB\-4\fP\||\|\fB\-6\fP\|]
 [\|\fB\-o\fP\||\|\fB\-w\fP\||\|\fB\-N\fP\||\|\fB\-M\fP \fIaddress\fP\|] [\|\fB\-D\fP
-\fIdebug_level\fP\|] [\|\fB\-G\fP \fIarticle_limit\fP\|] [\|\fB\-f\fP \fInewsrc_file\fP\|]
-[\|\fB\-g\fP \fIserver\fP\|[\|:\fIport\fP\|]\|] [\|\fB\-m\fP \fIMail_dir\fP\|] [\|\fB\-p\fP
-\fIport\fP\|] [\|\fB\-t\fP \fItimeout\fP\|] [\|\fB\-I\fP \fIindex_dir\fP\|]\ \|[\fInewsgroup\fP\|[\|,.\|.\|.\|]\|]\|]
+\fIdebug_level\fP\|] [\|\fB\-F\fP \fIfilter_file\fP\|] [\|\fB\-G\fP \fIarticle_limit\fP\|]
+[\|\fB\-f\fP \fInewsrc_file\fP\|] [\|\fB\-g\fP \fIserver\fP\|[\|:\fIport\fP\|]\|] [\|\fB\-L\fP
+\fIMessage\-ID\fP\|] [\|\fB\-m\fP \fIMail_dir\fP\|] [\|\fB\-p\fP \fIport\fP\|] [\|\fB\-t\fP
+\fItimeout\fP\|] [\|\fB\-I\fP \fIindex_dir\fP\|]\ \|[\fInewsgroup\fP\|[\|,.\|.\|.\|]\|]\|]
 .SH DESCRIPTION
-.IX Header DESCRIPTION
 \fBtin\fP is a full\-screen easy to use Usenet newsreader. It can read news
 locally (e.g., \fI/var/spool/news\fP) or remotely (\fBrtin\fP or \fBtin \-r\fP option)
 via an NNTP (Network News Transport Protocol, \fBRFC\%3977\fP) or NNTPS
@@ -47,7 +44,7 @@ Thread level and Article level. Use the
 list of the commands available at a particular level.
 .PP
 On startup \fBtin\fP will show a list of the newsgroups found in
-\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP. An arrow '\->' or highlighted bar
+\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP. An arrow '\(->' or highlighted bar
 will point to the first newsgroup. Move to a group by using the terminal
 arrow keys (terminal dependent) or \fBDown\fP ('\fBj\fP')  and \fBUp\fP ('\fBk\fP'). Use
 PgUp/PgDn (terminal dependent) or \fBPageUp\fP ('\fB^U\fP') (CTRL\-U) and
@@ -59,9 +56,8 @@ pressing '\fB<CR>\fP'.
 The \fBGroupNextUnreadArtOrGrp\fP ('\fB<TAB>\fP') key enters the next
 newsgroup with unread articles.
 .SH "EXIT STATUS"
-.IX Header "EXIT STATUS"
 .\" TODO: also exits with signalnr caught as exit status
-.TP 
+.TP  12
 \fB0\fP
 Successful program execution. No unread news available in batch mode.
 .TP 
@@ -76,7 +72,6 @@ Unread news available (batch mode (\*(rq
 .\"
 NNTP error.
 .SH OPTIONS
-.IX Header OPTIONS
 .TP  12
 \fB\-4\fP
 Force connecting via IPv4 to the remote NNTP server. Only available when
@@ -109,20 +104,43 @@ Don't load newsgroup descriptions and se
 (interactive mode).
 .TP 
 \fB\-D\fP\fI debug\-level\fP
-Enter debug\-level (1 = NNTP, 2 = filter, 4 = newsrc, 8 = threading, 16 =
-memory, 32 = attributes, 64 = misc, 128 = remove existing debug files).  For
-NNTP\-level \*(rq\fB\-v\fP\*(rq controls the verbosity of the output.  Depending on the
-debug\-level various files may be written to \fI$TMPDIR\fP and/or on screen
+Enter debug\-level, the levels can specified via number (should be avoided as
+it will be removed in the future) or name (case insensitive) as listed
+below. Use comma to give multiple levels, any combinations are allowed
+(e.g., \*(rq\fB\-D\fP \fIGNKSA,2,NNTP\fP\*(rq). If removal is requested it will be
+performed at startup and on normal termination (that is the files are only
+available while tin is running).
+.in +.3i
+.nf
+.ta \w'%128 'u +\w'ATTRIBUTES 'u +\w'ATTRIBUTES 'u +\w'ATTRIBUTES'u
+  \fI1	NNTP	NNTPS\fP
+  \fI2	FILTER	ARTS\fP
+  \fI4	NEWSRC	BITMAP\fP
+  \fI8	THREADING	REFS\fP
+ \fI16	MEMORY	MALLOC\fP
+ \fI32	ATTRIBUTES\fP
+ \fI64	MISC	GNKSA	ACTIVE\fP
+\fI127	ALL	EVERYTHING\fP
+\fI128	REMOVE	DELETE\fP
+.fi
+.in -0.3i
+For NNTP\-level \*(rq\fB\-v\fP\*(rq controls the verbosity of the output.  Depending on
+the debug\-level various files may be written to \fI$TMPDIR\fP and/or on screen
 output may be given. See also the "SECURITY" section!
 .TP 
 \fB\-f\fP\fI file\fP
 Use the specified file of subscribed to newsgroups in place of
-\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP.
+\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP or a file specified via
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fP.
+.TP 
+\fB\-F\fP\fI file\fP
+Use the specified filter file instead of \fI${TIN_HOMEDIR:\-"$HOME"}/.filter\fP.
 .TP 
-\fB\-g\fP\fI server[:port]\fP
+\fB\-g\fP\fI server\fP[\fB:\fP\fIport\fP]
 Use the server[:port] and newsrc specified in
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fP. Only available when reading via
-NNTP.
+NNTP.  If you want to give a port with a plain IPv6 address, the address
+must be enclosed in square brackets.
 .TP 
 \fB\-G\fP\fI article\-limit\fP
 Limit the number of articles/group to retrieve from the server.  If
@@ -161,6 +179,10 @@ command (\fBRFC\%3977\fP) \*(rq\fB\-ln\f
 (\fBRFC\%6048\fP) is available that is used instead as it gives more accurate
 article counts.
 .TP 
+\fB\-L\fP
+Show the message with the given Message\-ID if available. Only available when
+reading via NNTP.
+.TP 
 \fB\-m\fP\fI dir\fP
 Mailbox directory to use. Default is \fI${TIN_HOMEDIR:\-"$HOME"}/Mail\fP.
 .TP 
@@ -185,8 +207,8 @@ quick, it should be used with \*(rq\fB\-
 .TP 
 \fB\-p\fP\fI port\fP
 Port to use if reading via NNTP (default is 119 or 563 if NNTPS is enabled,
-see \*(rq\fB\-T\fP\*(rq). This also overrides the environment variable $\fBNNTPPORT\fP if
-set. Only available when reading via NNTP.
+see \*(rq\fB\-T\fP\*(rq). This also overrides the environment variables $\fBNNTPPORT\fP
+and $\fBNNTPSPORT\fP if set. Only available when reading via NNTP.
 .TP 
 \fB\-q\fP
 Don't check for new newsgroups and skip loading the servers message of the
@@ -218,7 +240,7 @@ seconds. allowed maximum is 16383.
 .TP 
 \fB\-T\fP
 Enable NNTPS (NNTP over TLS). This also overrides the environment variable
-$\fBNNTPPORT\fP if set. Only available when reading via NNTP.
+$\fBNNTPSPORT\fP if set. Only available when reading via NNTP.
 .TP 
 \fB\-u\fP
 Create/update index files for every group in
@@ -228,8 +250,8 @@ NNTP server and \fBcache_overview_files\
 .TP 
 \fB\-v\fP
 Verbose mode for \*(rq\fB\-c\fP\*(rq, \*(rq\fB\-D\fP\*(rq, \*(rq\fB\-M\fP\*(rq, \*(rq\fB\-N\fP\*(rq, \&\*(rq\fB\-S\fP\*(rq,
-\&\*(rq\fB\-u\fP\*(rq and \*(rq\fB\-Z\fP\*(rq options. Can be used multiple times to increase
-verbosity.
+\&\*(rq\fB\-u\fP\*(rq, \*(rq\fB\-V\fP\*(rq and \*(rq\fB\-Z\fP\*(rq options. Can be used multiple times to
+increase verbosity.
 .TP 
 \fB\-V\fP
 Print version information and compilation options.
@@ -245,7 +267,7 @@ No\-posting mode. You cannot post articl
 \fB\-X\fP
 No overwrite mode. \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP and files in
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin\fP will not be overwritten but may be created
-if they don't exist.
+if they don't exist. Should be used with \*(rq\fB\-x\fP\*(rq if possible.
 .TP 
 \fB\-z\fP
 Only start \fBtin\fP if there is any new/unread news. If there is news \fBtin\fP
@@ -292,9 +314,13 @@ NB: With the \*(rq\fB\-n\fP\*(rq flag, o
 .\"
 .\"
 Command\-line options have higher priority than attributes and tinrc
-options.  Thus, command\-line option takes precedence over configured values.
+options.  Thus, command\-line option takes precedence over configured values
+with the single exception that if a port is given for the newsserver in
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fP it will override any port given
+on the command\-line. The order of command\-line options is not important. If
+they are mutual exclusive the one with the highest priority will be chosen
+and a warning may be given.
 .SH USAGE
-.IX Header USAGE
 .\"
 .\"
 .SS "NEWS ADMINISTRATION"
@@ -322,13 +348,12 @@ displayed in the middle of the screen us
 articles displayed on the same line in front, but it can be customised via
 \fBselect_format\fP.
 .PP
-.\" FIXME - make this auto scale
 .nf
-\->M    1     2  comp.security.announce  Announcements from the CERT abou
+\f(CR\(->M    1     2  comp.security.announce  Announcements from the CERT abou
   M    2     1  news.admin.announce     Announcements for news adminstra
        3    22  news.software.misc      News\-related software other than
        4  1475  news.software.nntp      The Network News Transfer Protoc
-  X    5   124  news.software.readers   Discussion of software used to r
+  X    5   124  news.software.readers   Discussion of software used to r\fR
 .fi
 .PP
 There may also be a character prefixing the line. An explanation follows:
@@ -396,39 +421,36 @@ section "FILTERING ARTICLES") it's marke
 front of the total number of articles in the thread. The display can be
 customised via \fBgroup_format\fP.
 .PP
-.\" FIXME - make this auto scale
 .nf
-                de.admin.net\-abuse.announce (11B 13+ 1* 1o 0K) M
+\f(CR                de.admin.net\-abuse.announce (11B 13+ 1* 1o 0K) M\fR
 
-\->   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg <l
+\f(CR\(->   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg <l
      2   +       69 EMP/ECP gecancelt. xynx. BI= 10  Henning Weede <hwee
      3   o       93 EMP gecancelt. SouthBeach/Palms  Henning Weede <hwee
-     4   *      368 <1997\-11\-12> Fremdcancel\-FAQ     Thomas Roessler <ro
+     4   *      368 <1997\-11\-12> Fremdcancel\-FAQ     Thomas Roessler <ro\fR
 .fi
 .PP
 .\" FIXME - add description of fields
 At the Thread level the screen usually (depends on the threading method
 used) looks like this, but can be customised via \fBthread_format\fP:
 .PP
-.\" FIXME - make this auto scale
 .nf
-\->   1      [   7]  What is this funny tree in the thr  Robert F. Simmig
+\f(CR\(->   1      [   7]  What is this funny tree in the thr  Robert F. Simmig
      2      [  12]  +\->                                 Sephan Wagner <s
      3      [ 230]  | `\->Tin thread\-level (was: What is Bob Johnson <bob
-     4      [  22]  `\->tin threading menu               Brian Richardson
+     4      [  22]  `\->tin threading menu               Brian Richardson\fR
 
 .fi
 .PP
 .\" FIXME - add description of fields
 At the Article level the page header has the following format:
 .PP
-.\" FIXME - make this auto scale
 .nf
-Sun, 28 Dec 1997 21:21:01   de.admin.news.groups      Thread   20 of 86
+\f(CRSun, 28 Dec 1997 21:21:01   de.admin.news.groups      Thread   20 of 86
 Lines 50   Re: EINSPRUCH zu RESULT:de.comm.mobil.ALL   Article  47 of 59
-Urs Janssen <urs@akk.org>        at Arbeitskreis Kultur und Kommunikati
+Urs Janssen <urs@akk.org>        at Arbeitskreis Kultur und Kommunikati\fR
 
-article\-body
+\f(CRarticle\-body\fR
 .fi
 .PP
 .\"
@@ -739,7 +761,7 @@ auto\-selection on author where reader w
 \fBGroupSelPattern '='\fP
 Prompts for a pattern with which to match on. All threads whose subjects
 match the pattern will be marked selected. A pattern of \*(rq*\*(rq will match all
-subjects. Entering just '\fB<CR>\fP' will re\-use the last pattern that
+subjects. Entering just '\fB<CR>\fP' will reuse the last pattern that
 was entered.
 .TP 
 \fBGroupReverseSel '@'\fP
@@ -838,7 +860,8 @@ prompt asks how to proceed.
 Open the thread under the current cursor position.
 .TP 
 \fBLookupMessage 'L'\fP
-Look up article by \*(rqMessage\-ID:\*(rq.
+Look up article by \*(rqMessage\-ID:\*(rq. In this level only the IDs in the
+current group are searched.
 .TP 
 \fBGroupMail 'm'\fP
 Mail current article / thread / auto\-selected (hot) articles / articles
@@ -1050,7 +1073,8 @@ articles is set, the range will be marke
 article. When tagged articles are present, a prompt asks how to proceed.
 .TP 
 \fBLookupMessage 'L'\fP
-Look up article by \*(rqMessage\-ID:\*(rq.
+Look up article by \*(rqMessage\-ID:\*(rq. In this level only the IDs in the
+current group are searched.
 .TP 
 \fBThreadMail 'm'\fP
 Mail current article / thread / auto\-selected (hot) articles / articles
@@ -1149,6 +1173,9 @@ taken from the \fBtex2iso_conv\fP variab
 Toggles the display of all headers vs. headers in
 \fBnews_headers_to_display\fP.
 .TP 
+\fBPageArticleInfo \*(rq'\fP
+Detailed MIME information of the article.
+.TP 
 \fBPageToggleRot '%'\fP
 Toggle ROT\-13 decoding for this article.
 .TP 
@@ -1277,7 +1304,8 @@ Mark rest of thread as read and move ont
 Show the thread menu that the current article is a part of.
 .TP 
 \fBLookupMessage 'L'\fP
-Look up article by \*(rqMessage\-ID:\*(rq.
+Look up article by \*(rqMessage\-ID:\*(rq. In this level only the IDs in the
+current group are searched.
 .TP 
 \fBPageMail 'm'\fP
 Mail current article / thread / auto\-selected (hot) articles / articles
@@ -1544,8 +1572,8 @@ the name of the corresponding setting in
 .TP  4
 \fBAbbreviate long newsgroup names (abbreviate_groupname)\fP
 If ON abbreviate long newsgroup names at group selection level and article
-level (if necessary) like this: news.software.readers \->
-n.software.readers \-> n.s.readers \-> n.s.r.  Default is OFF.
+level (if necessary) like this: news.software.readers \(->
+n.software.readers \(-> n.s.readers \(-> n.s.r.  Default is OFF.
 .TP 
 \fBAdd posted articles to filter (add_posted_to_filter)\fP
 If ON add posted articles which start a new thread to filter for
@@ -1624,10 +1652,16 @@ If ON, create local copies of NNTP overv
 considerably speed up accessing large groups when using a slow connection.
 See also "INDEX FILES". Default is OFF.
 .TP 
+\fBCompress locally cached NNTP overview files (compress_overview_files)\fP
+If ON, locally cached NNTP overview files (\fBcache_overview_files\fP) are
+saved in compressed form (\fBRFC\%1952\fP). Useful to reduce local disk space
+used. Default is OFF.
+.TP 
 \fBHash algorithm for cancel\-locks (cancel_lock_algo)\fP
 Use this hash algorithm for cancel\-locks. Only available when built with
 cancel\-lock support. none disables the generation of cancel\-locks. Valid
-values are none, sha1, sha256 and sha512.  Default is sha1.
+values are none, sha1, sha256 and sha512.  Default is sha1. See also
+\fI${TIN_HOMEDIR:\-"$HOME"}/.cancelsecret\fP in \fB\%tin\fP(5).
 .TP 
 \fBCatchup read groups when quitting (catchup_read_groups)\fP
 .\"
@@ -1856,9 +1890,13 @@ Default for quick (1 key) auto\-selectio
 .TP 
 \fB(default_subject_search)\fP
 .TP 
-\fBDraw \-> instead of highlighted bar (draw_arrow)\fP
-Allows groups/articles to be selected by an arrow '\->' if set ON or by a
-highlighted bar if set OFF. Default is OFF.
+\fBDon't break words when wrapping (dont_break_words)\fP
+Do not break long lines inside a word. This applies to the body except for
+verbatim blocks. ee also \fBwrap_column\fP. Default is OFF.
+.TP 
+\fBDraw \(-> instead of highlighted bar (draw_arrow)\fP
+Allows groups/articles to be selected by an arrow '\(->' if set ON or by
+a highlighted bar if set OFF. Default is OFF.
 .TP 
 \fBInvocation of your editor (editor_format)\fP
 The format string used to create the editor start command with parameters.
@@ -1923,7 +1961,7 @@ available to display long subjects. Defa
 .TP 
 \fBUse interactive mail reader (interactive_mailer)\fP
 Interactive mailreader: if greater than 0 your mailreader will be invoked
-earlier for reply so you can use more of its features (e.g. MIME, pgp,
+earlier for reply so you can use more of its features (e.g., MIME, pgp,
 \&...). 1 means include headers, 2 means don't include headers (old
 use_mailreader_i=ON option). 0 turns off usage. This option has to suit
 \fBmailer_format\fP. Default is 0.
@@ -1980,7 +2018,8 @@ quoted\-printable, 7bit). Default is quo
 \fBQuote line when mailing (mail_quote_format)\fP
 Format of quote line when replying (via mail) to an article (%A=Address,
 %D=Date, %F=Fullname+Address, %G=Groupname, %M=Message\-ID, %N=Fullname,
-%C=Firstname, %I=Initials). Default is "In article %M you wrote:"
+%C=Firstname, %I=Initials). If the article has multiple addresses only the
+first is evaluated. Default is "In article %M you wrote:"
 .TP 
 \fBFormat of the mailbox (mailbox_format)\fP
 Select one of the following mailbox\-formats: MBOXO (default, except on SCO),
@@ -2001,11 +2040,10 @@ mailers with different command line para
 .in +.3i
 .nf
 sendmail \-oem \-t < %F
-mutt \-s "%S" \-\- "%T" < %F
 mutt \-H %F
 claws\-mail \-\-compose "mailto:%T?subject=%S&insert=%F"
 .fi
-.in -.3i
+.in -0.3i
 \fBinteractive_mailer\fP must be set adequate. The following substitutions are
 supported:
 .in +.3i
@@ -2018,7 +2056,7 @@ supported:
 %U	username
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \&\fB'Mark as (un)read' ignores tags (mark_ignore_tags)\fP
 When this is ON, the \fBGroupMarkThdRead\fP ('\fBK\fP'), \fBThreadMarkArtRead\fP
@@ -2047,20 +2085,21 @@ than the value of this parameter is cons
 represented as '?'. Otherwise, all character sets are regarded as compatible
 with the display. If it's not set, the value of the environment variable
 $\fBMM_CHARSET\fP is used. US\-ASCII or compile\-time default is used in case
-neither of them is defined. If your system supports \fB\%iconv\fP(3), this
-option is disabled and you should use \fBmm_network_charset\fP instead.
+neither of them is defined. If your system supports \fB\%iconv\fP(3), or
+\fB\%ucnv_*\fP(), this option is disabled and you should use
+\fBmm_network_charset\fP instead.
 .TP 
 \fBMM_NETWORK_CHARSET (mm_network_charset)\fP
 Charset used for posting and MIME headers; replaces \fBmm_charset\fP.
 Conversion between \fBmm_network_charset\fP and local charset (determined via
-\fB\%nl_langinfo\fP(3))  is done via \fB\%iconv\fP(3), if this function is not
-available on your system this option is disabled and you have to use
-\fBmm_charset\fP instead. \fBmm_network_charset\fP is limited to one of the
-following charsets:
+\fB\%nl_langinfo\fP(3))  is done via \fB\%iconv\fP(3), or \fB\%ucnv_*\fP(), if none
+of these functions are available on your system this option is disabled and
+you have to use \fBmm_charset\fP instead. \fBmm_network_charset\fP is limited to
+one of the following charsets:
 .in +.3i
 US\-ASCII, ISO\-8859\-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8\-{R,U,RU}
 EUC\-{CN,JP,KR,TW}, ISO\-2022\-{CN,CN\-EXT,JP,JP\-1,JP\-2}, Big5, UTF\-8
-.in -.3i
+.in -0.3i
 Not all values might work on your system, see \fB\%iconv_open\fP(3)  for more
 details. If it's not set, the value of the environment variable
 $\fBMM_CHARSET\fP is used. US\-ASCII or compile\-time default is used in case
@@ -2108,7 +2147,8 @@ this option.
 \fBQuote line when following up (news_quote_format)\fP
 Format of quote line when posting/following up an article (%A=Address,
 %D=Date, %F=Fullname+Address, %G=Groupname, %M=Message\-ID, %N=Fullname,
-%C=Firstname, %I=Initials). Default is "%F wrote:".
+%C=Firstname, %I=Initials). If the article has multiple addresses only the
+first is evaluated. Default is "%F wrote:".
 .TP 
 \fBNNTP read timeout in seconds (nntp_read_timeout_secs)\fP
 Time in seconds to wait for a response from the server. Default is 120.
@@ -2138,7 +2178,8 @@ possible values are:
 and Case Folding
 .RE
 Some normalisation modes are only available if they are supported by the
-library \fBtin\fP uses to do the normalisation. NFC should be used if possible.
+library \fBtin\fP uses to do the normalisation. NFC should be used if possible
+(\fBRFC\%5198\fP).
 .TP 
 \fBFormat string for the display of mime header at Article level (page_mime_format)\fP
 Format string \fBtin\fP uses for mime header at Page level. See the section
@@ -2216,7 +2257,8 @@ OFF.
 \fBCharacters used as quote\-marks (quote_chars)\fP
 The character used in quoting included text to article followups and mail
 replies. The '_' character represents a blank character and is replaced with
-\&' ' when read, %I is replaced by author's initials. Default is '>_'.
+\&' ' when read, %I is replaced by author's initials. If the article has
+multiple addresses only the first is evaluated. Default is '>_'.
 .TP 
 \fBQuoting behaviour (quote_style)\fP
 How articles should be quoted when following up or replying to them. There
@@ -2599,8 +2641,8 @@ header. For this option to have any effe
 OFF.
 .TP 
 \fBUse UTF\-8 graphics (utf8_graphics)\fP
-If ON use UTF\-8 characters for indicator ('\->'), thread/attachment tree
-and ellipsis ('...'). Default is OFF.
+If ON use UTF\-8 characters for indicator ('\(->'), thread/attachment
+tree and ellipsis ('...'). Default is OFF.
 .TP 
 \fBRegex for begin of a verbatim block (verbatim_begin_regex)\fP
 A regular expression that  \fBtin\fP will use to find the begin of a verbatim
@@ -2645,12 +2687,12 @@ are used. Default is ON.
 \fBPage line wrap column (wrap_column)\fP
 Sets the column at which a displayed article body should be wrapped.  If
 this value is equal to 0, it defaults to the current screen width.  If this
-value is greater than your current screen width the part off\-screen is not
-displayed. Thus setting this option to a large value can be used to disable
-wrapping. If this value is negative the wrap margin is the current screen
-width plus the given value (as long as the result is still positive,
-otherwise it will fall back to the current screen width). Default is 0,
-wrapping at the current screen width.
+value is greater than your current screen width and \fBdont_break_words\fP is
+unset the part off\-screen is not displayed.  Thus setting this option to a
+large value can be used to disable wrapping.  If this value is negative the
+wrap margin is the current screen width plus the given value (as long as the
+result is still positive, otherwise it will fall back to the current screen
+width). Default is 0, wrapping at the current screen width.
 .TP 
 \fBQuote line when crossposting (xpost_quote_format)\fP
 .\"
@@ -2687,7 +2729,7 @@ options menu the attributes menu provide
 .SS "SCOPES MENU"
 The scopes menu (accessible from the options menu with \fBConfigScopeMenu\fP
 ('\fBS\fP')) shows all scopes read from the global and local attributes file.
-Scopes from the global attributes file are marked with '!' to the left of
+Scopes from the global attributes file are marked with '!\&' to the left of
 the scope number. Delete/rename/move are not possible with those scopes.
 .PP
 .\"
@@ -2710,9 +2752,9 @@ specify. This can be anything from the n
 lines in an article.
 .PP
 When \fBtin\fP starts up the user's kill\-file
-\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/filter\fP (see also \fB\%tin\fP(5))  is read. Each
-time a newsgroup is entered the rules are applied and articles killed or
-selected when they meet certain criteria.
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/filter\fP or the file specified via \*(rq\fB\-F\fP\*(rq
+is read (see also \fB\%tin\fP(5)  ). Each time a newsgroup is entered the rules
+are applied and articles killed or selected when they meet certain criteria.
 .PP
 The degree to which rules are applied depend on the \fBkill_level\fP tinrc
 setting. By default killed articles will only be marked read. Adjust
@@ -2729,7 +2771,7 @@ previous versions to include scoring and
 recommended that you read the file \fIfiltering\fP in the \fBtin\fP documentation
 directory. This file can also be read online at
 .br
-<http://www.tin.org/filtering.txt>.
+<http://bzr.tin.org/doc/filtering>.
 .PP
 .\" FIXME - Next paragraph is out of date
 .\"
@@ -2785,10 +2827,11 @@ or send the article to the author via \f
 When posting a followup to an article or replying direct to the author of an
 article via email the text of the article can be quoted. The beginning of
 the quoted text can contain information about the quoted article (e.g., Name
-and the Message\-ID of the article). To allow for different situations
-certain information from the article can be used in the quoted string. The
-following variables are expanded if found in the tinrc variables
-\fBmail_quote_format\fP, \fBnews_quote_format\fP or \fBxpost_quote_format\fP:
+and the Message\-ID of the article). If the article has multiple addresses
+only the first is evaluated. To allow for different situations certain
+information from the article can be used in the quoted string. The following
+variables are expanded if found in the tinrc variables \fBmail_quote_format\fP,
+\fBnews_quote_format\fP or \fBxpost_quote_format\fP:
 .RS
 .nf
 .ta \w'%A  'u +\w'Address'u
@@ -2805,15 +2848,15 @@ following variables are expanded if foun
 e.g.,
 .RS
 .nf
-\f(CWmail_quote_format=On %D in %G you wrote:
-news_quote_format=In %M, %F wrote:\fP
+\f(CRmail_quote_format=On %D in %G you wrote:
+news_quote_format=In %M, %F wrote:\fR
 .fi
 .RE
 would expand to:
 .RS
 .nf
-\f(CWOn 21 Sep 1993 09:45:51 \-0400 in alt.sources you wrote:
-In <abcINN123@example.org>, Joe Bar <joe@example.org> wrote:\fP
+\f(CROn 21 Sep 1993 09:45:51 \-0400 in alt.sources you wrote:
+In <abcINN123@example.org>, Joe Bar <joe@example.org> wrote:\fR
 .fi
 .RE
 .\"
@@ -2862,7 +2905,7 @@ mailbox with the name of the current new
 To save in savedir/<news.group.name>/<filename> format enter
 \&'+<filename>'.  See \fBsavedir\fP. Like '+' %G is expanded to the
 current news.group.name but without \fBsavedir\fP prefixed. %P is expanded to
-the news.group.name with all '.' replaced by '/'.
+the news.group.name with all '.\&' replaced by '/'.
 .PP
 If saving multiple files at once the filename (if not referring to a
 mailbox)  will be extended by ".num" where "num" is at least 3 digit number
@@ -2912,10 +2955,10 @@ mark them as read)
 A range is simply a group of items marked using the \fBSetRange\fP (\fB'#'\fP)
 key. Certain \fBtin\fP commands will operate on a range if one exists rather
 than just the current item. A range is an expression of the form
-<min>\(en<max>, e.g. 10\(en15 will highlight items 10
-through 15 on the current screen. Other than absolute numeric positions, '.'
-can be used in place of the current cursor position and '$' can be used to
-mean the highest number available. Entering '0' at the prompt undoes the
+<min>\(en<max>, e.g., 10\(en15 will highlight items 10
+through 15 on the current screen. Other than absolute numeric positions,
+\&'.\&' can be used in place of the current cursor position and '$' can beused
+to mean the highest number available. Entering '0' at the prompt undoes the
 previously entered range selection. Currently the only commands that
 understand ranges are \fBGroupMarkThdRead\fP ('\fBK\fP'), \fBMarkArtUnread\fP
 ('\fBz\fP') and \fBMarkThdUnread\fP ('\fBZ\fP').
@@ -2952,8 +2995,8 @@ editor for both posting and mailing comm
 The following is an example of a \fI.Sig\fP file:
 .RS
 .nf
-\f(CWNAMES  Joe Bar <joe@example.org>
-SNAIL  Musterweg 12, 99999 Notreal, Germany\fP
+\f(CRNAMES  Joe Bar <joe@example.org>
+SNAIL  Musterweg 12, 99999 Notreal, Germany\fR
 .fi
 .RE
 .PP
@@ -2972,7 +3015,8 @@ sig is read from the file \fI$HOME/.sigf
 The look of the Selection, Group and Thread level can be customised via
 format strings. These format strings define the content and the position of
 each element on the screen. Variables are used within the format strings as
-placeholders. The following variables are available:
+placeholders. If the article has multiple addresses only the first is
+evaluated. The following variables are available:
 .PP
 .in +.3i
 .nf
@@ -2994,7 +3038,7 @@ placeholders. The following variables ar
 \fB%s\fP	subject
 \fB%%\fP	%
 .fi
-.in -.3i
+.in -0.3i
 .PP
 Not all variables can be used in each level. The following table provides an
 overview:
@@ -3020,7 +3064,7 @@ overview:
 \fB%s\fP		X
 \fB%%\fP	X	X	X
 .fi
-.in -.3i
+.in -0.3i
 .PP
 Defaults for the format strings:
 .PP
@@ -3031,7 +3075,7 @@ Defaults for the format strings:
 \fBgroup_format\fP:	"\fB%n %m %R %L  %s  %F\fP"
 \fBthread_format\fP:	"\fB%n %m  [%L]  %T  %F\fP"
 .fi
-.in -.3i
+.in -0.3i
 .PP
 \fBshow_description\fP controls whether the newsgroup description is shown or
 not. The description can also be toggled with \fBSelectToggleDescriptions\fP
@@ -3042,8 +3086,7 @@ The information displayed with '\fB%F\fP
 ('\fBd\fP') switches through all available options.
 .PP
 For date representation '\fB%D\fP' uses \fBdate_format\fP. It is possible to
-specify a different date format in round brackets (e.g. '\fB%(%d %b %y
-%H:%M)D\fP'). See \fBdate_format\fP for more details.
+specify a different date format in round brackets (e.g., '\fB%(%d %b %y %H:%M)D\fP'). See \fBdate_format\fP for more details.
 .PP
 The length of each item (except '\fB%%\fP') can be defined with a positive
 number after the '\fB%\fP'. The following example displays the score in the
@@ -3051,8 +3094,8 @@ thread level 10 characters wide: '\fB%10
 .PP
 If the newsgroup name is displayed together with the newsgroup description,
 the width of the newsgroup name can be controlled via an optional comma
-separated second value (e.g. '\fB%60,20G\fP'). It is valid to omit the first
-value (e.g. ('\fB%,20G\fP')). If no second value is given, \fBtin\fP uses a
+separated second value (e.g., '\fB%60,20G\fP'). It is valid to omit the first
+value (e.g., ('\fB%,20G\fP')). If no second value is given, \fBtin\fP uses a
 default value of 32.
 .PP
 Some variables do have a default width which may lead to truncation.
@@ -3060,7 +3103,7 @@ Truncation for variables which contain o
 value with a sufficient power of ten and adding a SI suffix to the result,
 that is the variable holds a value of 54321 and the width for the variable
 is 4 the result will be "54 k". If that's undesired you have to specify a
-larger width manually, e.g. '\fB%6n\fP'. Here is an overview of the defaults:
+larger width manually, e.g., '\fB%6n\fP'. Here is an overview of the defaults:
 .PP
 .in +.3i
 .nf
@@ -3074,7 +3117,7 @@ Variable	width
 \fB%U\fP	 5
 \fB%n\fP	 4
 .fi
-.in -.3i
+.in -0.3i
 .PP
 If no length is given for '\fB%D\fP', the length is determined by the format
 string for the date and the date of the current day. If the date format
@@ -3093,19 +3136,28 @@ When the format string contains the spec
 resp. '\fB%T\fP' and no length are given, '\fB%F\fP' will use one third and
 \&'\fB%s\fP' resp. '\fB%T\fP' will use two third of the available space.
 .PP
-In addition, a minimum screen width can be defined for each item (except
-\&'\fB%%\fP'). In this case, the item will only be displayed when the screen is
-wider than specified. This comes in handy to not overload a small screen but
-have maximum information on a large screen. The minimum screen width has to
-be specified by a positive number preceded by an '\fB>\fP'. In the
-following example \fBtin\fP will display the score only if the screen is wider
-than 100 characters: '\fB%>100S\fP'.
-.PP
-If both the length and the minimum screen width should be specified for an
-item, the length must be the first parameter and the minimum screen width
-must be the second one. The following example displays the score with a
-length of 10 characters only if the screen is wider than 100 characters:
-\&'\fB%10>100S\fP'.
+In addition, a minimum or a maximum screen width can be defined for each
+item (except '\fB%%\fP'). In this case, the item will only be displayed when
+the screen is wider resp. smaller than specified. This comes in handy to not
+overload a small screen but have maximum information on a large screen.  The
+minimum screen width has to be specified by a positive number preceded by an
+\&'\fB>\fP', the maximum screenwidth has to be specified by a positive number
+preceded by an '\fB<\fP'. In the following example \fBtin\fP will display the
+score only if the screen is wider than 100 characters: '\fB%>100S\fP'.
+.PP
+If both the length and the minimum or maximum screen width should be
+specified for an item, the length must be the first parameter and the
+minimum or maximum screen width must be the second one. The following
+example displays the score with a length of 10 characters only if the screen
+is wider than 100 characters: '\fB%10>100S\fP'. A second length can be
+specified for '\fB%F\fP' and '\fB%s\fP' resp.  '\fB%T\fP', separated by a colon,
+which is used if the minimum or maximum screen width is not reached. If no
+length is specified after the colon, the item is displayed even if the
+minimum screen width is not reached and the length is calculated as if no
+minimum (or maximum) screen width had been specified. In the following
+example \fBtin\fP will display the subject with a length of 60 characters if
+the screen is wider than 100 characters, otherwise a length of 40 characters
+is used: '\fB%60>100:40s\fP'.
 .PP
 The look of the Attachment level and the mime and uue header at Page level
 can be customised too via format strings.  The following variables are
@@ -3133,7 +3185,7 @@ available:
 \fB%z\fP	Like %Z but with description
 \fB%%\fP	%
 .fi
-.in -.3i
+.in -0.3i
 .PP
 Not all items can be used in each variable. The following table provides an
 overview:
@@ -3161,14 +3213,14 @@ overview:
 \fB%z\fP	X	X	X
 \fB%%\fP	X	X	X
 .fi
-.in -.3i
+.in -0.3i
 .PP
 By default, the string is not truncated. If it exceeds the screen width, it
-is wrapped. If the % sign is followed by an exclamation mark ('!') for
+is wrapped. If the % sign is followed by an exclamation mark ('!\&') for
 uppercase letters, the element is omitted if there is not enough space. If
 the % sign is followed by an asterisk ('*') for a lowercase letter, the
 description is omitted if there is not enough space. If the % sign is
-followed by an exclamation mark ('!') for a lowercase letter, the
+followed by an exclamation mark ('!\&') for a lowercase letter, the
 description is omitted first and then the content. The shortening is always
 from right to left, first the description is omitted and when no more
 description is displayed, the content is omitted. If %T and %S follow each
@@ -3290,7 +3342,8 @@ If your news server doesn't support NOV
 connection to your news server then \fBtin\fP can cache the index for each
 newsgroup if \fBcache_overview_files\fP is set to ON.  Note that this cache can
 use up large amounts of disk space if you read a lot of groups and/or high
-traffic groups.
+traffic groups. To reduce the amount of disk space used,
+\fBcompress_overview_files\fP can be set to ON.
 .PP
 Each user creates/updates his/her own index files that are stored in
 \fI${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news/\fP. If you are
@@ -3312,7 +3365,7 @@ batcher \fB\%cron\fP(8)  with the \*(rq\
 .PP
 .RS
 .nf
-\f(CW30 6 * * * /usr/local/bin/tin \-u\fP
+\f(CR30 6 * * * /usr/local/bin/tin \-u\fR
 .fi
 .RE
 .PP
@@ -3321,14 +3374,13 @@ cached data for groups you are not readi
 .PP
 .RS
 .nf
-\f(CWfind ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news* \e
-\-type f \-name "[0\-9]*.[0\-9]" \-atime +28 | xargs rm \-f\fP
+\f(CRffind ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news* \e
+\-type f \-name "[0\-9]*.[0\-9]" \-atime +28 | xargs rm \-f\fR
 .fi
 .RE
 .\"
 .\"
 .SH FILES
-.IX Header FILES
 .\" TODO: mention dead.article, dead.articles
 .\"               .article[.$$], .cancel[.$$], .letter[.$$]?
 .\"       ${XDG_RUNTIME_DIR:\-"$HOME"}/.slrnfaces
@@ -3344,6 +3396,7 @@ cached data for groups you are not readi
 .\"       $TMPDIR/SCOPES-R   (-D 32)
 .\"       $TMPDIR/SCOPES-W   (-D 32)
 .\"       $TMPDIR/ACTIVE     (-D 64)
+.\"       $TMPDIR/GNKSA      (-D 64)
 For a detailed description see \fB\%tin\fP(5).
 .PP
 \fI$MAILCAPS\fP
@@ -3411,7 +3464,7 @@ For a detailed description see \fB\%tin\
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/active.save\fP
 .PP
 
-.\" .IR ${TIN_LIBDIR:\-NEWSLIBDIR}/attributes
+.\" .I ${TIN_LIBDIR:\-NEWSLIBDIR}/attributes
 \fI/etc/tin/attributes\fP
 .br
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes\fP
@@ -3443,21 +3496,26 @@ For a detailed description see \fB\%tin\
 .PP
 
 .nf
-\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/newsgroups\fP
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/motd\fP
 .fi
 .PP
 
 .nf
-\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/serverrc\fP
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog\fP
 .fi
 .PP
 
 .nf
-\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog\fP
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/newsgroups\fP
+.fi
+.PP
+
+.nf
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/serverrc\fP
 .fi
 .PP
 
-.\" .IR ${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc
+.\" .I ${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc
 \fI/etc/tin/tinrc\fP
 .br
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP
@@ -3488,7 +3546,6 @@ For a detailed description see \fB\%tin\
 .\"
 \fI${TIN_LIBDIR:\-NEWSLIBDIR}/subscriptions\fP
 .SH ENVIRONMENT
-.IX Header ENVIRONMENT
 .\" TODO: - sort in a useful order
 .\"       - add undocumented env-vars (e.g. $DEV_TCP (SCO),
 .\"         ${HOST:-"$HOSTNAME"} fallback)
@@ -3555,8 +3612,13 @@ overrides $\fBNNTPSERVER\fP.
 .TP 
 \fBNNTPPORT\fP
 The NNTP TCP\-port to read news from. This variable only needs to be set if
-the TCP\-port is not 119 (the default). The \*(rq\fB\-p\fP\*(rq and \*(rq\fB\-T\fP\*(rq
-command\-line options do override $\fBNNTPPORT\fP.
+the TCP\-port is not 119 (the default). The \*(rq\fB\-p\fP\*(rq command\-line option
+does override $\fBNNTPPORT\fP.
+.TP 
+\fBNNTPSPORT\fP
+The NNTPS TCP\-port to read news from. This variable only needs to be set if
+the TCP\-port is not 563 (the default). The \*(rq\fB\-p\fP\*(rq and \*(rq\fB\-T\fP\*(rq
+command\-line options do override $\fBNNTPSPORT\fP.
 .TP 
 \fBDISTRIBUTION\fP
 Set the article header field \*(rqDistribution:\*(rq to the contents of the
@@ -3625,6 +3687,11 @@ mailing operations within \fBtin\fP.
 \fBMAIL\fP
 Full path to the user's mailbox.
 .TP 
+.\" we don't support the %message || ?message notation
+\fBMAILPATH\fP
+A colon\-separated list of filenames which are checked for new mail. This
+overrides the $\fBMAIL\fP variable.
+.TP 
 \fBVISUAL\fP
 This variable has precedence over the default editor (i.e., \fB\%vi\fP(1))
 that is used in all editing operations within \fBtin\fP (e.g., posting,
@@ -3670,7 +3737,7 @@ This variable can be used to override th
 .TP 
 \fBNOMETAMAIL\fP
 Set this variable to disable the use of \fB\%metamail\fP(1)  or a replacement
-(e.g. metamutt).
+(e.g., metamutt).
 .TP 
 \fBMM_CHARSET\fP
 MIME character set used if not configured via the tinrc variable
@@ -3707,6 +3774,11 @@ Its value should be of the form
 \fIlanguage\fP[\fI_territory\fP][\fI.codeset\fP][\fI@modifier\fP]. See \fB\%locale\fP(5)
 and \fB\%environ\fP(5)  for more information.
 .TP 
+\fBLC_NUMERIC\fP
+Numeric value formats. Its value should be of the form
+\fIlanguage\fP[\fI_territory\fP][\fI.codeset\fP][\fI@modifier\fP]. See \fB\%locale\fP(5)
+and \fB\%environ\fP(5)  for more information.
+.TP 
 \fBLC_TIME\fP
 Date and time formats. Its value should be of the form
 \fIlanguage\fP[\fI_territory\fP][\fI.codeset\fP][\fI@modifier\fP]. See \fB\%locale\fP(5)
@@ -3726,10 +3798,9 @@ should be of the form \fIlanguage\fP[\fI
 .TP 
 \fBLANGUAGE\fP
 This variable defines a priority list for translations. Whenever a
-translation is not available in the language selected via \fB$LC_ALL\fP or
-\fB$LANG\fP the next language from the list is tried. Its value should be of
-the form \fIlanguage:language[:language]\fP. See \fB\%environ\fP(5)  for more
-information.
+translation is not available the next language from the list is tried.  Its
+value should be of the form \fIlanguage:language[:language]\fP.  Requires
+\fB$LC_ALL\fP or \fB$LANG\fP to be set. See \fB\%environ\fP(5)  for more information.
 .TP 
 \fBCOLUMNS\fP
 A decimal integer > 0 used to indicate the user's preferred width in
@@ -3771,7 +3842,6 @@ The pathname of the user's login shell.
 .\"
 The pathname of the user's dir to put non\-essential run time files into.
 .SH SIGNALS
-.IX Header SIGNALS
 .\" TODO: add missing, sort useful, document in detail
 \fBtin\fP handles a couple of signals:
 .TP 
@@ -3795,12 +3865,11 @@ Terminate gracefully but do not restore
 .\"
 Write out \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP\-file.
 .SH SECURITY
-.IX Header SECURITY
 If \fBtin\fP is started in debug mode (\*(rq\fB\-D n\fP\*(rq) it will create world
 readable files in \fB$TMPDIR\fP which may contain sensitive data like the users
 NNTP password in cleartext (if running verbose). On multiuser\-systems
 \fB$TMPDIR\fP should be set to a safe location before starting \fBtin\fP in
-(verbose) debug mode (e.g. \fBTMPDIR=$HOME tin \-vD 1\fP).
+(verbose) debug mode (e.g., \fBTMPDIR=$HOME tin \-vD 1\fP).
 .PP
 Using the \*(rq\fB\-k\fP\*(rq option to skip certificate verification makes the
 session insecure as the server's certificate is not checked; avoid this
@@ -3813,7 +3882,6 @@ compression and compression is requested
 authentication is required later on. Using the \*(rq\fB\-A\fP\*(rq command line option
 in conjunction with \*(rq\fB\-C\fP\*(rq circumvents this behaviour.
 .SH "CONFORMING TO"
-.IX Header "CONFORMING TO"
 .\" - RFC\%2045, RFC\%2047, RFC\%2231, RFC\%2980, RFC\%3977, RFC\%4155
 .\"   RFC\%4643, RFC\%5322, RFC\%5536, RFC\%5537, RFC\%6048 or whatever
 .\"
@@ -3822,7 +3890,6 @@ in conjunction with \*(rq\fB\-C\fP\*(rq
 Section 12, Utility Conventions (Utility Argument Syntax, Utility Syntax
 Guidelines).
 .SH NOTES
-.IX Header NOTES
 Regular expression support is provided by the PCRE library package
 \fB\%pcre\fP(3)  or \fB\%pcre2\fP(3)  which is open source software, written by
 Philip Hazel, and copyright \(co by the University of Cambridge, England.
@@ -3831,7 +3898,6 @@ Philip Hazel, and copyright \(co by the
 .\"
 <https://www.pcre.org/>
 .SH BUGS
-.IX Header BUGS
 \fBCNews\fP\0NNTPd, \fB\%noffle\fP(1)  (<= V1.0\-pre5) and \fBNewsCache\fP (<=
 V1.1.91) can't handle pipelined GROUP commands (\fBRFC\%3977\fP).  If you run
 into trouble with any of the mentioned historical servers define
@@ -3851,7 +3917,6 @@ found a bug, please use the \fBBugReport
 English. Please do NOT enclose a core\-file in your bug\-report until we
 request it.
 .SH HISTORY
-.IX Header HISTORY
 \fBtin\fP is based on the \fB\%tass\fP(1)  newsreader that was developed by Rich
 Skrenta and posted to alt.sources in March 1991; its first version was
 released on August 23rd 1991.  \fB\%tass\fP(1)  itself was heavily influenced
@@ -3871,7 +3936,7 @@ author of envarg.c environment variable
 author of sigfile.c random signature generation routines.
 .IP "Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>"
 author of langinfo.c, charset.c and iso2asc.txt ISO\-8859\-1 documentation.
-.IP "Arnold Robbins"
+.IP "Arnold D. Robbins"
 author of strftime.c date formatting routine.
 .IP "Rich Salz"
 author of wildmat.c pattern matching and parsdate.y date parsing routines.
@@ -3884,7 +3949,7 @@ for adding \fB\%pgp\fP(1)  (Pretty Good
 .IP "Philip Hazel <ph10@cam.ac.uk>"
 for \fB\%pcre\fP(3), \fB\%pcre2\fP(3)  (Perl\-compatible regular expression
 library).
-.IP "Patrick Powell <papowell@astart.com>"
+.IP "Mark Martinec <mark.martinec@ijs.si>"
 .\"
 .\"
 for \fB\%snprintf\fP(3)  and \fB\%vsnprintf\fP(3)  fallbacks.
@@ -3899,7 +3964,6 @@ Urs Janssen <urs@tin.org>
 .\"
 .\"
 .SH "SEE ALSO"
-.IX Header "SEE ALSO"
 \fB\%elm\fP(1), \fB\%emacs\fP(1), \fB\%gpg\fP(1), \fB\%inews\fP(1), \fB\%ispell\fP(1),
 \fB\%lp\fP(1), \fB\%lpr\fP(1), \fB\%metamail\fP(1), \fB\%mutt\fP(1), \fB\%noffle\fP(1),
 \fB\%perl\fP(1), \fB\%perlre\fP(1), \fB\%pgp\fP(1), \fB\%rn\fP(1), \fB\%sendmail\fP(1),
@@ -3910,7 +3974,7 @@ Urs Janssen <urs@tin.org>
 \fB\%snprintf\fP(3), \fB\%strftime\fP(3), \fB\%vsnprintf\fP(3), \fB\%wildmat\fP(3),
 \fB\%environ\fP(5), \fB\%locale\fP(5), \fB\%mailcap\fP(5), \fB\%mbox\fP(5),
 \fB\%mmdf\fP(5), \fB\%newsoverview\fP(5), \fB\%tin\fP(5), \fB\%cron\fP(8), \fBRFC\%1345\fP,
-\fBRFC\%1524\fP, \fBRFC\%2045\fP, \fBRFC\%2046\fP, \fBRFC\%2047\fP, \fBRFC\%2048\fP,
+\fBRFC\%1524\fP, \fBRFC\%1952\fP, \fBRFC\%2045\fP, \fBRFC\%2046\fP, \fBRFC\%2047\fP,
 \fBRFC\%2231\fP, \fBRFC\%2980\fP, \fBRFC\%3156\fP, \fBRFC\%3977\fP, \fBRFC\%4155\fP,
-\fBRFC\%4643\fP, \fBRFC\%4880\fP, \fBRFC\%5322\fP, \fBRFC\%5536\fP, \fBRFC\%5537\fP,
-\fBRFC\%6048\fP, \fBRFC\%8054\fP, \fBRFC\%8143\fP
+\fBRFC\%4643\fP, \fBRFC\%4880\fP, \fBRFC\%5198\fP, \fBRFC\%5322\fP, \fBRFC\%5536\fP,
+\fBRFC\%5537\fP, \fBRFC\%6048\fP, \fBRFC\%6838\fP, \fBRFC\%8054\fP, \fBRFC\%8143\fP
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/l10n/en_GB/tin.5 tin-2.6.4/doc/l10n/en_GB/tin.5
--- tin-2.6.3/doc/l10n/en_GB/tin.5	2023-12-24 00:38:34.000000000 +0100
+++ tin-2.6.4/doc/l10n/en_GB/tin.5	2024-12-23 10:56:21.159697609 +0100
@@ -2,8 +2,8 @@
 .\" Module    : tin.5
 .\" Author    : U. Janssen
 .\" Created   : 2000-07-10
-.\" Updated   : 2023-12-24
-.\" Notes     : needs a some work
+.\" Updated   : 2024-12-24
+.\" Notes     : needs a some work, see TODOs
 .\"
 .\"
 .\"*******************************************************************
@@ -11,7 +11,7 @@
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH tin 5 "December 24th, 2023" 2.6.3 "Usenet newsreader"
+.TH tin 5 "December 24th, 2024" 2.6.4 "Usenet newsreader"
 
 .SH NAME
 tin, rtin \- related files
@@ -188,7 +188,7 @@ Example:
 .br
 image/*;\e
 .br
-.in +.3i
+.in +0.3i
 xv \-8 \-geometry +0 '%s';\e
 .br
 description=%{name} %t\-Image;\e
@@ -196,11 +196,11 @@ description=%{name} %t\-Image;\e
 test=test "$DISPLAY" != "";\e
 .br
 nametemplate=%s.IMAGE
-.in -.3i
+.in -0.3i
 .sp
 message/rfc822;\e
 .br
-.in +.3i
+.in +0.3i
 ${PAGER:\-"more"} '%s';\e
 .br
 edit=${EDITOR:\-"vi"} '%s';\e
@@ -210,7 +210,7 @@ compose=${EDITOR:\-"vi"} '%s';\e
 print=a2ps '%s';\e
 .br
 needsterminal
-.in -.3i
+.in -0.3i
 .fi
 .RE
 .RE
@@ -288,7 +288,7 @@ news.example.com "top secret" james.bond
 the name of the newsgroup.
 .TP 
 \fBflag\fP
-a flag indicating if the group is subscribed ':' or not '!'.
+a flag indicating if the group is subscribed ':' or not '!\&'.
 .TP 
 \fBarticle\fP
 range of already read articles from that group; numbers separated by commas
@@ -329,7 +329,7 @@ signature
 \fI${TIN_HOMEDIR:\-"$HOME"}/.sigfixed\fP
 .sp
 .RS
-fixed part of a randomly generated signature
+fixed part of a randomly generated signature, this will be added first
 .RE
 .PP
 
@@ -372,7 +372,7 @@ mh\-mail\-handling support).
 .TP 
 \fBmailgroupname\fP
 must be the pathname of the mailbox relative to field #4 with '/' changed to
-\&'.'
+\&'.\&'
 .TP 
 \fBmaxnum\fP
 just put a large number here, something higher than the highest message in
@@ -637,7 +637,7 @@ string starts with a / or ~ then it is a
 containing the text to insert. If the string starts with a ! then what
 follows is assumed to be the path to a program to be executed to generate
 the content. %G is expanded to the current news.group.name and %P is
-expanded to the news.group.name with all '.' replaced by '/'.
+expanded to the news.group.name with all '.\&' replaced by '/'.
 .TP 
 \fBx_comment_to\fP
 Insert \*(rqX\-Comment\-To:\*(rq header, this is only useful in FIDO groups.
@@ -649,7 +649,7 @@ is assumed to be the name of a file cont
 be inserted. If the string starts with a ! then what follows is assumed to
 be the path to a program to be executed to generate the header and its
 content. %G is expanded to the current news.group.name and %P is expanded to
-the news.group.name with all '.' replaced by '/'.
+the news.group.name with all '.\&' replaced by '/'.
 .TP 
 \fBquick_kill_scope\fP
 A comma\-separated list of newsgroup patterns (wildmat\-style) to which groups
@@ -681,7 +681,7 @@ Identical to the tinrc variable \fBdefau
 Identical to the tinrc variable \fBdefault_filter_select_header\fP
 .TP 
 \fBispell\fP
-Path and options for \fB\%ispell\fP(1)\-like spell\-checker, e.g. "aspell
+Path and options for \fB\%ispell\fP(1)\-like spell\-checker, e.g., "aspell
 \-\-mode=email \-\-dont\-backup check"
 .TP 
 \fBmm_network_charset\fP
@@ -690,15 +690,22 @@ Identical to the tinrc variable of the s
 \fBundeclared_charset\fP
 Assume (broken) articles without MIME charset declaration have this charset
 \(em default is US\-ASCII. This attribute works only on systems with working
-\fB\%iconv\fP(3), others might have to compile \fB\%tin\fP(1)  with
-\-\-disable\-mime\-strict\-charset.
+\fB\%iconv\fP(3)  or \fB\%ucnv_*\fP(), others might have to compile \fB\%tin\fP(1)
+with \-\-disable\-mime\-strict\-charset.
+.TP 
+\fBundeclared_cs_guess\fP
+Guess charset for (broken) articles without MIME charset declaration.  This
+attribute works only on systems with working \fB\%iconv\fP(3)  or \fB\%ucnv_*\fP()
+and \fB\%ucsdet_getName\fP()  from libicui18n. It has no effect if
+undeclared_charset is also set.
 .TP 
 Example:
 .RS
 .nf
 # include extra headers
 # assume ISO\-8859\-1 as charset if no charset is declared
-scope=*
+# in all but fido7.* groups
+scope=*,!fido7.*
 x_headers=~/.tin/headers
 undeclared_charset=ISO\-8859\-1
 
@@ -719,6 +726,10 @@ scope=fido.*
 quote_chars=%I>_
 x_comment_to=ON
 
+# in fido7.* newsgroups guess charset
+scope=fido7.*
+undeclared_cs_guess=ON
+
 # in *.test newsgroups, don't append signature
 # and preset Subject
 scope=*.test
@@ -767,7 +778,7 @@ depends on the setting of the tinrc vari
 .TP 
 \fBfrom\fP
 Match against \*(rqFrom:\*(rq.  \fB\%tin\fP(1)  converts the contents of the
-\&\*(rqFrom:\*(rq header to an old style e\-mail address, e.g. \*(rqsome@body.example
+\&\*(rqFrom:\*(rq header to an old style e\-mail address, e.g., \*(rqsome@body.example
 (John Doe)\*(rq instead of \*(rqJohn Doe <some@body.example>\*(rq, before
 trying to match the patterns in the filter rule. The matching type used
 (wildmat or regex) depends on the setting of the tinrc variable \fBwildcard\fP.
@@ -800,7 +811,7 @@ than, >num matches more than the returne
 value. GNKSA_LOCAL_DOMAIN_LITERAL or GNKSA_INVALID_DOMAIN are only returned
 if \fBdisable_gnksa_domain_check\fP is set to false. As the built in domain
 list is outdated this should be considered carefully.
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%406	'u +\w'GNKSA_ZERO_LENGTH_LOCAL_WORD'u
   \fB0\fP	GNKSA_OK
@@ -833,12 +844,12 @@ list is outdated this should be consider
 \fB405\fP	GNKSA_INVALID_REALNAME
 \fB406\fP	GNKSA_MISSING_REALNAME
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBxref\fP
 Match against \*(rqXref:\*(rq line. Before any matching is done the line is turned
 into the same format \*(rqNewsgroups:\*(rq has that is it is turned into a comma
-separated newsgroup list with all other information (i.e.  the article
+separated newsgroup list with all other information (i.e., the article
 counter) removed. The matching type used (wildmat or regex)  depends on the
 setting of the tinrc variable \fBwildcard\fP.
 .TP 
@@ -861,7 +872,7 @@ case=1
 score=hot
 subj=\eb(cd|[rk]?)?tin(d|pre)?[\-.0\-9]*\eb
 
-comment=downscore postings in nsr from google base on
+comment=downscore postings in nsr from google based on
 comment=message\-id or path, if both hit they end up with
 comment=a score of \-66 which is enough to mark them killed
 group=news.software.readers
@@ -884,7 +895,7 @@ msgid_only=@googlegroups\e.com>
 Keymap\-file, containing "\fIkeyname\fP \fIvalue\fP \fI[value]\fP" pairs separated by
 spaces or tabs. If the keymap\-file named with full specified \fB\%locale\fP(5)
 is not found, less specific ones are looked for. Various parts will be
-stripped off the name, in the following order codeset, normalized codeset,
+stripped off the name, in the following order codeset, normalised codeset,
 territory and modifier when looking for the keymap\-file.  Below is a list of
 all rebindable keynames and their defaults. If a keyname is bound to NULL it
 is unassigned.
@@ -1008,6 +1019,7 @@ is unassigned.
 \fBPageFollowupQuoteHeaders\fP	^W
 \fBPageToggleTex2iso\fP	"
 \fBPageToggleAllHeaders\fP	*
+\fBPageArticleInfo\fP	'
 \fBPageToggleRot\fP	%
 \fBPageToggleUue\fP	(
 \fBPageReveal\fP	)
@@ -1140,18 +1152,23 @@ is a short single\-line description of t
 .RS
 "\fInntpserver[:port]\fP \fInewsrc\fP [\fIshortname\fP [\fI...\fP]]" pairs to use with
 the \*(rq\fB\-g\fP\*(rq command\-line switch. The matching is case\-insensitive and any
-line that starts with "#", ";" or " " is treated as a comment.
+line that starts with "#", ";" or " " is treated as a comment. This is only
+available if reading via NNTP.
 .TP 
 \fBnntpserver\fP
-full qualified domain name of the news server. Additionally, a port can be
-pecified by appending :portnumber. The string "default" or "*" acts as
-wildcard to match any name, such a line should be placed last.
+full qualified domain name of the news server. Plain IPv6 address must be
+enclosed in square brackets. Additionally, a port can be specified by
+appending :portnumber. Be aware that if a port is given it will override any
+port given with \*(rq\fB\-g\fP\*(rq or \*(rq\fB\-p\fP\*(rq or implied by \*(rq\fB\-T\fP\*(rq or \*(rq\fB\-k\fP\*(rq
+or set via $\fBNNTPPORT\fP. The string "default" or "*" acts as wildcard to
+match any name, such a line should be placed last.
 .TP 
 \fBnewsrc\fP
-related newsrc.
+related newsrc. A file specified via \*(rq\fB\-f\fP\*(rq has a higher priority.
 .TP 
 \fBshortname\fP
-nickname(s) for the nntpserver.
+nickname(s) for the nntpserver. Nicknames must not contain ":" and must be
+unique.
 .TP 
 Example:
 .RS
@@ -1161,7 +1178,15 @@ news.tin.org .newsrc\-tin.org tinorg
 .br
 news.example.org /tmp/nrc\-ex example ex
 .br
-* ~/.tin/newsrcs/${NNTPSERVER\-localhost}
+[::1]:1119 /tmp/localhost6\-1119 lh6
+.br
+# catch all rules should go last
+.br
+# with the more specific one on top
+.br
+*:563 ~/.tin/newsrcs/${NNTPSERVER\-localhost}:563/newsrc
+.br
+* ~/.tin/newsrcs/${NNTPSERVER\-localhost}/newsrc
 .RE
 .RE
 .PP
@@ -1195,11 +1220,32 @@ Pool of postponed articles. This file is
 .PP
 
 .nf
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/motd\fP
+.fi
+.sp
+.RS
+This file is a copy of the servers message of the day (MOTD) message.  It is
+automatically created on startup except when using the \*(rq\fB\-Q\fP\*(rq
+command\-line option and is unlinked on exit.
+.RE
+.PP
+
+.nf
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog\fP
+.fi
+.sp
+.RS
+File to store $\fBNNTPSERVER\fP and $\fBNNTPPORT\fP related info\- and
+error\-messages. The file is overwritten on startup and meant for debugging.
+.RE
+.PP
+
+.nf
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/newsgroups\fP
 .fi
 .sp
 .RS
-This file a copy of the servers newsgroups file which provides short
+This file is a copy of the servers newsgroups file which provides short
 descriptions of each newsgroup. It is automatically updated on startup
 except when using the \*(rq\fB\-X\fP\*(rqor \*(rq\fB\-q\fP\*(rq command\-line option and an old
 copy exists. Each line consist of two tab\-separated fields
@@ -1219,28 +1265,22 @@ is a short single\-line description of t
 .sp
 .RS
 File to store $\fBNNTPSERVER\fP and $\fBNNTPPORT\fP related data via a list of
-"\fIvariable\fP=\fIvalue\fP" pairs. Currently there are only two variables, both
+"\fIvariable\fP=\fIvalue\fP" pairs. Currently there are only a few variables, all
 are not meant to be changed by the user.
 .TP 
 \fBversion\fP
 Internal version number.
 .TP 
+\fBmotd_hash\fP
+Internal hash of the servers MOTD, so displaying it can be skipped if it is
+unchanged.
+.TP 
 \fBlast_newnews\fP
 Internal timestamp used by \fB\%tin\fP(1)  to keep track of new newsgroups on
 the server.
 .RE
 .PP
 
-.nf
-\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog\fP
-.fi
-.sp
-.RS
-File to store $\fBNNTPSERVER\fP and $\fBNNTPPORT\fP related info\- and
-error\-messages. The file is overwritten on startup and meant for debugging.
-.RE
-.PP
-
 .\" tin uses inns old (pre 2.x) Path convention.
 .\" as with inn >= 2.2.x getting more and more popular
 .\" we should think about checking for the new Paths (/news/etc/)
@@ -1252,11 +1292,12 @@ error\-messages. The file is overwritten
 .RS
 At startup, \fB\%tin\fP(1)  reads in the configuration file. This contains a
 list of "\fIvariable\fP=\fIvalue\fP" pairs that can be used to configure the way
-\fB\%tin\fP(1)  works. If it exists, the global configuration file,
-\fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fP is read first. After that, the user's own
-configuration file \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP is read. The global
-file is useful for distributing system\-wide defaults to new users who have
-no private tinrc yet (see also \fB/etc/tin/tin.defaults\fP).
+\fB\%tin\fP(1)  works. \fIvalue\fP strings are limited to 1022 chars and will be
+discarded if exceeding this limit. If it exists, the global configuration
+file, \fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fP is read first. After that, the
+user's own configuration file \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP is
+read. The global file is useful for distributing system\-wide defaults to new
+users who have no private tinrc yet (see also \fB/etc/tin/tin.defaults\fP).
 .TP 
 \fBabbreviate_groupname\fP
 If ON abbreviate long newsgroup names at group selection level and article
@@ -1340,6 +1381,11 @@ If ON, create local copies of NNTP overv
 considerably speed up accessing large groups when using a slow connection.
 Default is OFF.
 .TP 
+\fBcache_overview_files\fP
+If ON, locally cached NNTP overview files (\fBcache_overview_files\fP) are
+saved in compressed form (\fBRFC\%1952\fP). Useful to reduce local disk space
+used. Default is OFF.
+.TP 
 \fBcancel_lock_algo\fP
 Use this hash algorithm for cancel\-locks. Only available when built with
 cancel\-lock support. none disables the generation of cancel\-locks. Valid
@@ -1438,7 +1484,7 @@ Colour of help/mail sign
 \fBconfirm_choice\fP
 \fB\%tin\fP(1)  can ask for manual confirmation to protect the user. Available
 choices:
-.in +.5i
+.in +0.5i
 .\" TODO: check if all affected commands are marked [after confirmation]
 \fBcommands\fP: Ask for confirmation before executing certain dangerous
 commands (e.g., \fBCatchup\fP ('\fBc\fP')). Commands that this affects are marked
@@ -1449,7 +1495,7 @@ you use the \fBQuit\fP ('\fBq\fP') comma
 .sp
 \fBselect\fP: Ask for confirmation before marking all not selected (with
 \fBGroupMarkUnselArtRead\fP ('\fBX\fP') command) articles as read.
-.in -.5i
+.in -0.5i
 Default is commands & quit.
 .TP 
 \fBdate_format\fP
@@ -1482,7 +1528,7 @@ OFF=apply to current group. Default is O
 .TP 
 \fBdefault_filter_kill_header\fP
 Default for quick (1 key) kill filter header.
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'0,1   'u +\w'\'\'Message\-ID:\'\' & last \'\'References:\'\' entry only'u
 0	\*(rqSubject:\*(rq (case\-sensitive)
@@ -1494,7 +1540,7 @@ Default for quick (1 key) kill filter he
 6	\*(rqMessage\-ID:\*(rq entry only
 7	\*(rqLines:\*(rq
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBdefault_filter_select_case\fP
 Default for quick (1 key) auto\-selection filter case. ON=filter
@@ -1510,7 +1556,7 @@ groups, OFF=apply to current group. Defa
 .TP 
 \fBdefault_filter_select_header\fP
 Default for quick (1 key) auto\-selection filter header.
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'0,1   'u +\w'\'\'Message\-ID:\'\' & last \'\'References:\'\' entry only'u
 0	\*(rqSubject:\*(rq (case\-sensitive)
@@ -1522,7 +1568,7 @@ Default for quick (1 key) auto\-selectio
 6	\*(rqMessage\-ID:\*(rq entry only
 7	\*(rqLines:\*(rq
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBdefault_goto_group\fP
 .TP 
@@ -1558,6 +1604,10 @@ Default for quick (1 key) auto\-selectio
 .TP 
 \fBdefault_subject_search\fP
 .TP 
+\fBdont_break_words\fP
+Do not break long lines inside a word. This applies to the body except for
+verbatim blocks. ee also \fBwrap_column\fP. Default is OFF.
+.TP 
 \fBdraw_arrow\fP
 Allows groups/articles to be selected by an arrow '\->' if set ON or by a
 highlighted bar if set OFF. Default is OFF.
@@ -1599,7 +1649,7 @@ If ON catchup group when leaving with th
 .TP 
 \fBgroup_format\fP
 The format string used for the Group level. Default is "%n\ %m\ %R\ %L\ \ %s\ \ %F". The following substitutions are supported:
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%G    'u +\w'number of responses in thread'u
 %D	date
@@ -1614,7 +1664,7 @@ The format string used for the Group lev
 %s	subject
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBhide_uue\fP
 If set to 'No' then raw uuencoded data is displayed. If set to 'Yes' then
@@ -1639,9 +1689,9 @@ available to display long subjects. Defa
 .TP 
 \fBinteractive_mailer\fP
 If greater than 0 your mailreader will be invoked earlier for reply so you
-can use more of its features (e.g. MIME, pgp, ...). 1 means include headers,
-2 means don't include headers (old use_mailreader_i=ON option). 0 turns off
-usage. This option has to suit \fBmailer_format\fP. Default is 0.
+can use more of its features (e.g., MIME, pgp, ...). 1 means include
+headers, 2 means don't include headers (old use_mailreader_i=ON option). 0
+turns off usage. This option has to suit \fBmailer_format\fP. Default is 0.
 .TP 
 \fBinverse_okay\fP
 If ON use inverse video for page headers and URL highlighting.  Default is
@@ -1690,7 +1740,8 @@ quoted\-printable, 7bit). Default is quo
 \fBmail_quote_format\fP
 Format of quote line when replying (via mail) to an article (%A=Address,
 %D=Date, %F=Fullname+Address, %G=Groupname, %M=Message\-ID, %N=Fullname,
-%C=Firstname, %I=Initials). Default is "In article %M you wrote:"
+%C=Firstname, %I=Initials). If the article has multiple addresses only the
+first is evaluated. Default is "In article %M you wrote:"
 .TP 
 \fBmailbox_format\fP
 Select one of the following mailbox\-formats: MBOXO (default, except on SCO),
@@ -1708,17 +1759,16 @@ The format string used to create the mai
 used for mailing articles to other people. Default is '%M "%T" < %F'
 (e.g., /bin/mail "iain" < ~/.article). The flexible format allows other
 mailers with different command line parameters to be used such as
-.in +.3i
+.in +0.3i
 .nf
 sendmail \-oem \-t < %F
-mutt \-s "%S" \-\- "%T" < %F
 mutt \-H %F
 claws\-mail \-\-compose "mailto:%T?subject=%S&insert=%F"
 .fi
-.in -.3i
+.in -0.3i
 \fBinteractive_mailer\fP must be set adequate. The following substitutions are
 supported:
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%S'u +\w'default_mailer'u
 %F	filename
@@ -1728,7 +1778,7 @@ supported:
 %U	username
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBmark_saved_read\fP
 If ON mark articles that are saved as read. Default is ON.
@@ -1757,20 +1807,21 @@ than the value of this parameter is cons
 represented as '?'. Otherwise, all character sets are regarded as compatible
 with the display. If it's not set, the value of the environment variable
 $\fBMM_CHARSET\fP is used. US\-ASCII or compile\-time default is used in case
-neither of them is defined. If your system supports \fB\%iconv\fP(3), this
-option is disabled and you should use \fBmm_network_charset\fP instead.
+neither of them is defined. If your system supports \fB\%iconv\fP(3)  or
+\fB\%ucnv_*\fP(), this option is disabled and you should use
+\fBmm_network_charset\fP instead.
 .TP 
 \fBmm_network_charset\fP
 Charset used for posting and MIME headers; replaces \fBmm_charset\fP.
 Conversion between \fBmm_network_charset\fP and local charset (determined via
-\fB\%nl_langinfo\fP(3))  is done via \fB\%iconv\fP(3), if this function is not
-available on your system this option is disabled and you have to use
-\fBmm_charset\fP instead. \fBmm_network_charset\fP is limited to one of the
-following charsets:
-.in +.3i
+\fB\%nl_langinfo\fP(3))  is done via \fB\%iconv\fP(3)  or \fB\%ucnv_*\fP(), if none
+of these functions are available on your system this option is disabled and
+you have to use \fBmm_charset\fP instead. \fBmm_network_charset\fP is limited to
+one of the following charsets:
+.in +0.3i
 US\-ASCII, ISO\-8859\-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8\-{R,U,RU}
 EUC\-{CN,JP,KR,TW}, ISO\-2022\-{CN,CN\-EXT,JP,JP\-1,JP\-2}, Big5, UTF\-8
-.in -.3i
+.in -0.3i
 Not all values might work on your system, see \fB\%iconv_open\fP(3)  for more
 details. If it's not set, the value of the environment variable
 $\fBMM_CHARSET\fP is used. US\-ASCII or compile\-time default is used in case
@@ -1818,7 +1869,8 @@ this option.
 \fBnews_quote_format\fP
 Format of quote line when posting/following up an article (%A=Address,
 %D=Date, %F=Fullname+Address, %G=Groupname, %M=Message\-ID, %N=Fullname,
-%C=Firstname, %I=Initials). Default is "%F wrote:".
+%C=Firstname, %I=Initials). If the article has multiple addresses only the
+first is evaluated. Default is "%F wrote:".
 .TP 
 \fBnntp_read_timeout_secs\fP
 Time in seconds to wait for a response from the server. Default is 120.
@@ -1843,7 +1895,7 @@ and Case Folding
 .RE
 Some normalisation modes are only available if they are supported by the
 library \fB\%tin\fP(1)  uses to do the normalisation. NFC should be used if
-possible.
+possible (\fBRFC\%5198\fP).
 .TP 
 \fBpage_mime_format\fP
 Format string \fB\%tin\fP(1) uses for mime header at Page level.  Default is
@@ -1920,7 +1972,8 @@ is OFF.
 \fBquote_chars\fP
 The character used in quoting included text to article followups and mail
 replies. The '_' character represents a blank character and is replaced with
-\&' ' when read, %I is replaced by author's initials. Default is '>_'.
+\&' ' when read, %I is replaced by author's initials. If the article has
+multiple addresses only the first is evaluated. Default is '>_'.
 .TP 
 \fBquote_style\fP
 This bit coded integer value controls how articles are to be quoted when
@@ -1928,7 +1981,9 @@ following up or replying to them. Any of
 combined by adding all relevant values. Default is 5, which means that quote
 characters are compressed and empty lines are quoted.
 .RS +1i
-.IP 1 3
+.IP 0 3
+\fBNothing special\fP Non empty lines are quoted.
+.IP 1
 \fBCompress quotes\fP Compress quote characters together when quoting multiple
 times (for example, '> > >' will be turned into
 \&'>>>'). This option is on by default.
@@ -1995,12 +2050,13 @@ The number of lines that will be scrolle
 using cursor\-up/down. The default is 1 (line\-by\-line). Set to 0 to get
 traditional \fB\%tin\fP(1) page\-by\-page scrolling. Set to \-1 to get
 page\-by\-page scrolling where the top/bottom line is carried over onto the
-next page.  This setting supersedes show_last_line_prev_page=ON. Set to \-2
-to get half\-page scrolling. This setting supersedes \fBfull_page_scroll\fP=OFF.
+next page.  This setting supersedes \fBshow_last_line_prev_page\fP=ON. Set to
+\-2 to get half\-page scrolling. This setting supersedes
+\fBfull_page_scroll\fP=OFF.
 .TP 
 \fBselect_format\fP
 The format string used for the Selection level. Default is "%f\ %n\ %U\ \ %G\ \ %d". The following substitutions are supported:
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%G    'u +\w'current group number'u
 %G	group name
@@ -2010,7 +2066,7 @@ The format string used for the Selection
 %n	current group number
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBsort_function\fP
 Function used for sorting articles. Default is 0.
@@ -2086,11 +2142,14 @@ If ON prefix the signature with sigdashe
 The path that specifies the signature file to use when posting, following up
 to or replying to an article. If the path is a directory then the signature
 will be randomly generated from files that are in the specified
-directory. If the path starts with a ! the program the path points to will
-be executed to generate a signature. In order to pass the group name to the
-program, %G can be specified. This will be replaced by the name of the
-current newsgroup. \-\-none will suppress any signature.  Default is
-\fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fP.
+directory. If a file named \fI.sigfixed\fP does exist in that dir or
+\fI${TIN_HOMEDIR:\-"$HOME"}/.sigfixed\fP does exist it will be prepended to the
+chosen signature (first match counts). If the path starts with a ! the
+program the path points to will be executed to generate a signature. In
+order to pass the group name to the program, %G can be specified. This will
+be replaced by the name of the current newsgroup. \-\-none will suppress any
+signature. Default is \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fP. See also
+\fI${TIN_HOMEDIR:\-"$HOME"}/.sigfixed\fP.
 .TP 
 \fBsignature_repost\fP
 If ON add signature to reposted articles. Default is ON.
@@ -2215,7 +2274,7 @@ the group attribute variable \fBthread_a
 .TP 
 \fBthread_format\fP
 The format string used for the Thread level. Default is "%n\ %m\ \ [%L]\ \ %T\ \ %F". The following substitutions are supported:
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%G    'u +\w'from, name and/or address'u
 %D	date
@@ -2229,7 +2288,7 @@ The format string used for the Thread le
 %n	current article number
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBthread_perc\fP
 Defines how close the subjects must match while threading by Percentage
@@ -2371,12 +2430,12 @@ are used. Default is ON.
 \fBwrap_column\fP
 Sets the column at which a displayed article body should be wrapped.  If
 this value is equal to 0, it defaults to the current screen width.  If this
-value is greater than your current screen width the part off\-screen is not
-displayed. Thus setting this option to a large value can be used to disable
-wrapping. If this value is negative the wrap margin is the current screen
-width plus the given value (as long as the result is still positive,
-otherwise it will fall back to the current screen width). Default is 0,
-wrapping at the current screen width.
+value is greater than your current screen width and \fBdont_break_words\fP is
+unset the part off\-screen is not displayed.  Thus setting this option to a
+large value can be used to disable wrapping.  If this value is negative the
+wrap margin is the current screen width plus the given value (as long as the
+result is still positive, otherwise it will fall back to the current screen
+width). Default is 0, wrapping at the current screen width.
 .TP 
 \fBwrap_on_next_unread\fP
 If enabled a search for the next unread article will wrap around all
@@ -2502,7 +2561,7 @@ should be listed only once. Each line sp
 newsgroup, articles are assigned unique names, which are monotonically
 increasing numbers.
 .sp
-.\" TODO: IIRC tin issues just a warning in that case?
+.\" TODO: tin issues just a warning in that case.
 If an article is posted to newsgroups not mentioned in this file, those
 newsgroups are ignored.  If no valid newsgroups are specified, the article
 is rejected.
@@ -2557,7 +2616,7 @@ COUNTS (\fBRFC\%6048\fP) command instead
 .sp
 .RS
 This file provides a chronological record of when newsgroups are created. It
-is normally updated by the local news server (e.g.  \fB\%innd\fP(8))  whenever
+is normally updated by the local news server (e.g.,  \fB\%innd\fP(8))  whenever
 a new group is created. Each line consist of three space\-separated fields
 "\fIname\fP \fItime\fP \fIcreator\fP".
 .TP 
@@ -2582,7 +2641,7 @@ command instead.
 .sp
 .RS
 This file provides short descriptions of each newsgroup. It is normally
-updated by the local news server (e.g.  \fB\%innd\fP(8))  whenever a new group
+updated by the local news server (e.g.,  \fB\%innd\fP(8))  whenever a new group
 is created. Each line consist of two tab\-separated fields
 "\fIgroup.name\fP	\fIone\-line description\fP".
 .TP 
@@ -2640,7 +2699,7 @@ command instead.
 \fB\%pcre\fP(3), \fB\%pcre2\fP(3), \fB\%pcrepattern\fP(3), \fB\%pcre2pattern\fP(3),
 \fB\%qsort\fP(3), \fB\%strftime\fP(3), \fB\%system\fP(3), \fB\%active\fP(5),
 \fB\%mailcap\fP(5), \fB\%mbox\fP(5), \fB\%mmdf\fP(5), \fB\%newsoverview\fP(5),
-\fB\%overview.fmt\fP(5), \fB\%innd\fP(8), \fBRFC\%1524\fP, \fBRFC\%2045\fP,
-\fBRFC\%2046\fP, \fBRFC\%2047\fP, \fBRFC\%2048\fP, \fBRFC\%2231\fP, \fBRFC\%2980\fP,
-\fBRFC\%3977\fP, \fBRFC\%4155\fP, \fBRFC\%4643\fP, \fBRFC\%5322\fP, \fBRFC\%5536\fP,
-\fBRFC\%5537\fP, \fBRFC\%6048\fP, \fBRFC\%8143\fP
+\fB\%overview.fmt\fP(5), \fB\%innd\fP(8), \fBRFC\%1524\fP, \fBRFC\%1952\fP,
+\fBRFC\%2045\fP, \fBRFC\%2046\fP, \fBRFC\%2047\fP, \fBRFC\%2231\fP, \fBRFC\%2980\fP,
+\fBRFC\%3977\fP, \fBRFC\%4155\fP, \fBRFC\%4643\fP, \fBRFC\%5198\fP, \fBRFC\%5322\fP,
+\fBRFC\%5536\fP, \fBRFC\%5537\fP, \fBRFC\%6048\fP, \fBRFC\%6838\fP, \fBRFC\%8143\fP
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/l10n/en_GB.po tin-2.6.4/doc/l10n/en_GB.po
--- tin-2.6.3/doc/l10n/en_GB.po	2023-12-24 00:38:34.000000000 +0100
+++ tin-2.6.4/doc/l10n/en_GB.po	2024-12-23 10:55:57.398776611 +0100
@@ -1,13 +1,13 @@
 # English (United Kingdom) translations for the tin man pages.
 # This file is distributed under the same license as the tin package.
-# Urs Janssen <urs@tin.org>, 2011-2024.
+# Urs Janssen <urs@tin.org>, 2011-2025.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: tin-man 2.6.3\n"
+"Project-Id-Version: tin-man 2.6.4\n"
 "Report-Msgid-Bugs-To: translation@tin.org\n"
-"POT-Creation-Date: 2023-12-11 23:52+0100\n"
-"PO-Revision-Date: 2023-12-11 23:53+0100\n"
+"POT-Creation-Date: 2024-12-23 10:54+0100\n"
+"PO-Revision-Date: 2024-12-23 10:55+0100\n"
 "Last-Translator: Urs Janssen <urs@tin.org>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: en_GB\n"
@@ -15,108 +15,72 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#
-#.  Project   : tin - a Usenet newsreader
-#.  Module    : tin.1
-#.  Author    : I. Lea, U. Janssen
-#.  Created   : 1991-08-23
-#.  Updated   : 2023-12-24
-#.  Notes     : use American English; still needs some work, e.g.:
-#.              - document authorization (.newsauth)
-#.              - document random organization feature
-#. type: IX
-#: doc/tin.1:12
-#, no-wrap
-msgid "Title"
-msgstr "Title"
-
-#
-#.  Project   : tin - a Usenet newsreader
-#.  Module    : tin.1
-#.  Author    : I. Lea, U. Janssen
-#.  Created   : 1991-08-23
-#.  Updated   : 2023-12-24
-#.  Notes     : use American English; still needs some work, e.g.:
-#.              - document authorization (.newsauth)
-#.              - document random organization feature
-#. type: IX
-#: doc/tin.1:12
-#, no-wrap
-msgid "tin 1"
-msgstr "tin 1"
-
 #. type: TH
-#: doc/tin.1:13 doc/tin.5:9
+#: doc/tin.1:11 doc/tin.5:9
 #, no-wrap
 msgid "tin"
 msgstr "tin"
 
 #. type: TH
-#: doc/tin.1:13 doc/tin.5:9
+#: doc/tin.1:11 doc/tin.5:9
 #, no-wrap
-msgid "December 24th, 2023"
-msgstr "December 24th, 2023"
+msgid "December 24th, 2024"
+msgstr "December 24th, 2024"
 
 #. type: TH
-#: doc/tin.1:13 doc/tin.5:9
+#: doc/tin.1:11 doc/tin.5:9
 #, no-wrap
-msgid "2.6.3"
-msgstr "2.6.3"
+msgid "2.6.4"
+msgstr "2.6.4"
 
 #. type: TH
-#: doc/tin.1:13 doc/tin.5:9
+#: doc/tin.1:11 doc/tin.5:9
 #, no-wrap
 msgid "Usenet newsreader"
 msgstr "Usenet newsreader"
 
 #. type: SH
-#: doc/tin.1:16 doc/tin.5:11
+#: doc/tin.1:14 doc/tin.5:11
 #, no-wrap
 msgid "NAME"
 msgstr "NAME"
 
 #. type: Plain text
-#: doc/tin.1:20
+#: doc/tin.1:18
 msgid "tin, rtin - Usenet newsreader"
 msgstr "tin, rtin - Usenet newsreader"
 
-#. type: IX
-#: doc/tin.1:20 doc/tin.1:21
+#. type: SH
+#: doc/tin.1:18
 #, no-wrap
 msgid "SYNOPSIS"
 msgstr "SYNOPSIS"
 
-#. type: IX
-#: doc/tin.1:21 doc/tin.1:53 doc/tin.1:82 doc/tin.1:99 doc/tin.1:319
-#: doc/tin.1:3477 doc/tin.1:3638 doc/tin.1:3961 doc/tin.1:3986 doc/tin.1:4004
-#: doc/tin.1:4013 doc/tin.1:4025 doc/tin.1:4050 doc/tin.1:4114
-#, no-wrap
-msgid "Header"
-msgstr "Header"
-
 #. type: Plain text
-#: doc/tin.1:52
+#: doc/tin.1:53
 msgid ""
 "B<tin> [\\|[\\|B<-h>\\||\\|B<-H>\\||\\|B<-V>\\|]\\ \\|| [\\|[\\|B<-a>\\|] "
 "[\\|B<-dlnq>\\||\\|B<-Q>\\|] [\\|B<-ACkrTzxX>\\|]\\|] [\\|[\\|B<-R>\\||\\|B<-"
-"S>\\|] \\|\\|B<-s> I<News_dir>\\|] [\\|B<-cuvZ>\\|] [\\|B<-4>\\||\\|B<-6>"
-"\\|] [\\|B<-o>\\||\\|B<-w>\\||\\|B<-N>\\||\\|B<-M> I<address>\\|] [\\|B<-D> "
-"I<debug_level>\\|] [\\|B<-G> I<article_limit>\\|] [\\|B<-f> I<newsrc_file>"
-"\\|] [\\|B<-g> I<server>\\|[\\|:I<port>\\|]\\|] [\\|B<-m> I<Mail_dir>\\|] "
-"[\\|B<-p> I<port>\\|] [\\|B<-t> I<timeout>\\|] [\\|B<-I> I<index_dir>\\|]\\ "
-"\\|[I<newsgroup>\\|[\\|,.\\|.\\|.\\|]\\|]\\|]"
+"S>\\|] \\|\\|B<-s> I<News_dir>\\|] [\\|B<-cuvZ>\\|] [\\|B<-4>\\||\\|"
+"B<-6>\\|] [\\|B<-o>\\||\\|B<-w>\\||\\|B<-N>\\||\\|B<-M> I<address>\\|] [\\|"
+"B<-D> I<debug_level>\\|] [\\|B<-F> I<filter_file>\\|] [\\|B<-G> "
+"I<article_limit>\\|] [\\|B<-f> I<newsrc_file>\\|] [\\|B<-g> I<server>\\|[\\|:"
+"I<port>\\|]\\|] [\\|B<-L> I<Message-ID>\\|] [\\|B<-m> I<Mail_dir>\\|] [\\|B<-"
+"p> I<port>\\|] [\\|B<-t> I<timeout>\\|] [\\|B<-I> I<index_dir>\\|]\\ \\|"
+"[I<newsgroup>\\|[\\|,.\\|.\\|.\\|]\\|]\\|]"
 msgstr ""
 "B<tin> [\\|[\\|B<-h>\\||\\|B<-H>\\||\\|B<-V>\\|]\\ \\|| [\\|[\\|B<-a>\\|] "
 "[\\|B<-dlnq>\\||\\|B<-Q>\\|] [\\|B<-ACkrTzxX>\\|]\\|] [\\|[\\|B<-R>\\||\\|B<-"
-"S>\\|] \\|\\|B<-s> I<News_dir>\\|] [\\|B<-cuvZ>\\|] [\\|B<-4>\\||\\|B<-6>"
-"\\|] [\\|B<-o>\\||\\|B<-w>\\||\\|B<-N>\\||\\|B<-M> I<address>\\|] [\\|B<-D> "
-"I<debug_level>\\|] [\\|B<-G> I<article_limit>\\|] [\\|B<-f> I<newsrc_file>"
-"\\|] [\\|B<-g> I<server>\\|[\\|:I<port>\\|]\\|] [\\|B<-m> I<Mail_dir>\\|] "
-"[\\|B<-p> I<port>\\|] [\\|B<-t> I<timeout>\\|] [\\|B<-I> I<index_dir>\\|]\\ "
-"\\|[I<newsgroup>\\|[\\|,.\\|.\\|.\\|]\\|]\\|]"
+"S>\\|] \\|\\|B<-s> I<News_dir>\\|] [\\|B<-cuvZ>\\|] [\\|B<-4>\\||\\|"
+"B<-6>\\|] [\\|B<-o>\\||\\|B<-w>\\||\\|B<-N>\\||\\|B<-M> I<address>\\|] [\\|"
+"B<-D> I<debug_level>\\|] [\\|B<-F> I<filter_file>\\|] [\\|B<-G> "
+"I<article_limit>\\|] [\\|B<-f> I<newsrc_file>\\|] [\\|B<-g> I<server>\\|[\\|:"
+"I<port>\\|]\\|] [\\|B<-L> I<Message-ID>\\|] [\\|B<-m> I<Mail_dir>\\|] [\\|B<-"
+"p> I<port>\\|] [\\|B<-t> I<timeout>\\|] [\\|B<-I> I<index_dir>\\|]\\ \\|"
+"[I<newsgroup>\\|[\\|,.\\|.\\|.\\|]\\|]\\|]"
 
 #. type: SH
-#: doc/tin.1:52 doc/tin.1:53 doc/tin.5:14
+#: doc/tin.1:53 doc/tin.5:14
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr "DESCRIPTION"
@@ -126,17 +90,17 @@ msgstr "DESCRIPTION"
 msgid ""
 "B<tin> is a full-screen easy to use Usenet newsreader. It can read news "
 "locally (e.g., I</var/spool/news>) or remotely (B<rtin> or B<tin -r> option) "
-"via an NNTP (Network News Transport Protocol, B<RFC\\%3977>) or NNTPS (B<RFC"
-"\\%8143>) server. It will automatically utilize NOV B<\\%newsoverview>(5)  "
-"style index files if available locally or via the NNTP [X]OVER command (B<RFC"
-"\\%2980>, B<RFC\\%3977>)."
+"via an NNTP (Network News Transport Protocol, B<RFC\\%3977>) or NNTPS "
+"(B<RFC\\%8143>) server. It will automatically utilize NOV B<\\"
+"%newsoverview>(5)  style index files if available locally or via the NNTP "
+"[X]OVER command (B<RFC\\%2980>, B<RFC\\%3977>)."
 msgstr ""
 "B<tin> is a full-screen easy to use Usenet newsreader. It can read news "
 "locally (e.g., I</var/spool/news>) or remotely (B<rtin> or B<tin -r> option) "
-"via an NNTP (Network News Transport Protocol, B<RFC\\%3977>) or NNTPS (B<RFC"
-"\\%8143>) server. It will automatically utilise NOV B<\\%newsoverview>(5)  "
-"style index files if available locally or via the NNTP [X]OVER command (B<RFC"
-"\\%2980>, B<RFC\\%3977>)."
+"via an NNTP (Network News Transport Protocol, B<RFC\\%3977>) or NNTPS "
+"(B<RFC\\%8143>) server. It will automatically utilise NOV B<\\"
+"%newsoverview>(5)  style index files if available locally or via the NNTP "
+"[X]OVER command (B<RFC\\%2980>, B<RFC\\%3977>)."
 
 #. type: Plain text
 #: doc/tin.1:68
@@ -152,17 +116,17 @@ msgstr ""
 #. type: Plain text
 #: doc/tin.1:76
 msgid ""
-"On startup B<tin> will show a list of the newsgroups found in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>. An arrow '-E<gt>' or highlighted bar "
-"will point to the first newsgroup. Move to a group by using the terminal "
+"On startup B<tin> will show a list of the newsgroups found in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>. An arrow '\\(-E<gt>' or highlighted "
+"bar will point to the first newsgroup. Move to a group by using the terminal "
 "arrow keys (terminal dependent) or B<Down> ('B<j>')  and B<Up> ('B<k>'). Use "
 "PgUp/PgDn (terminal dependent) or B<PageUp> ('B<^U>') (CTRL-U) and "
 "B<PageDown> ('B<^D>')  (CTRL-D) to page up/down. Enter a newsgroup by "
 "pressing 'B<E<lt>CRE<gt>>'."
 msgstr ""
-"On startup B<tin> will show a list of the newsgroups found in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>. An arrow '-E<gt>' or highlighted bar "
-"will point to the first newsgroup. Move to a group by using the terminal "
+"On startup B<tin> will show a list of the newsgroups found in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>. An arrow '\\(-E<gt>' or highlighted "
+"bar will point to the first newsgroup. Move to a group by using the terminal "
 "arrow keys (terminal dependent) or B<Down> ('B<j>')  and B<Up> ('B<k>'). Use "
 "PgUp/PgDn (terminal dependent) or B<PageUp> ('B<^U>') (CTRL-U) and "
 "B<PageDown> ('B<^D>')  (CTRL-D) to page up/down. Enter a newsgroup by "
@@ -177,70 +141,70 @@ msgstr ""
 "The B<GroupNextUnreadArtOrGrp> ('B<E<lt>TABE<gt>>') key enters the next "
 "newsgroup with unread articles."
 
-#. type: IX
-#: doc/tin.1:81 doc/tin.1:82
+#. type: SH
+#: doc/tin.1:81
 #, no-wrap
 msgid "EXIT STATUS"
 msgstr "EXIT STATUS"
 
 #. type: TP
-#: doc/tin.1:84 doc/tin.1:1141 doc/tin.1:3724
+#: doc/tin.1:83 doc/tin.1:1173 doc/tin.1:3799
 #, no-wrap
 msgid "B<0>"
 msgstr "B<0>"
 
 #. type: Plain text
-#: doc/tin.1:87
+#: doc/tin.1:86
 msgid "Successful program execution. No unread news available in batch mode."
 msgstr "Successful program execution. No unread news available in batch mode."
 
 #. type: TP
-#: doc/tin.1:87 doc/tin.1:3727
+#: doc/tin.1:86 doc/tin.1:3802
 #, no-wrap
 msgid "B<1>"
 msgstr "B<1>"
 
 #. type: Plain text
-#: doc/tin.1:90
+#: doc/tin.1:89
 msgid "Usage, syntax, configuration file or network error."
 msgstr "Usage, syntax, configuration file or network error."
 
 #. type: TP
-#: doc/tin.1:90 doc/tin.1:3730
+#: doc/tin.1:89 doc/tin.1:3805
 #, no-wrap
 msgid "B<2>"
 msgstr "B<2>"
 
 #. type: Plain text
-#: doc/tin.1:93
+#: doc/tin.1:92
 msgid "Unread news available (batch mode (''B<-Z>'') only)."
 msgstr "Unread news available (batch mode (''B<-Z>'') only)."
 
 #. type: TP
-#: doc/tin.1:93 doc/tin.1:3733
+#: doc/tin.1:92 doc/tin.1:3808
 #, no-wrap
 msgid "B<3>"
 msgstr "B<3>"
 
 #. type: Plain text
-#: doc/tin.1:98
+#: doc/tin.1:97
 msgid "NNTP error."
 msgstr "NNTP error."
 
-#. type: IX
-#: doc/tin.1:98 doc/tin.1:99
+#. type: SH
+#: doc/tin.1:97
 #, no-wrap
 msgid "OPTIONS"
 msgstr "OPTIONS"
 
 #. type: TP
-#: doc/tin.1:100
+#: doc/tin.1:98
 #, no-wrap
 msgid "B<-4>"
 msgstr "B<-4>"
 
 #. type: Plain text
-#: doc/tin.1:104
+#: doc/tin.1:102
 msgid ""
 "Force connecting via IPv4 to the remote NNTP server. Only available when "
 "built with IPv6 support."
@@ -249,13 +213,13 @@ msgstr ""
 "built with IPv6 support."
 
 #. type: TP
-#: doc/tin.1:104
+#: doc/tin.1:102
 #, no-wrap
 msgid "B<-6>"
 msgstr "B<-6>"
 
 #. type: Plain text
-#: doc/tin.1:108
+#: doc/tin.1:106
 msgid ""
 "Force connecting via IPv6 to the remote NNTP server. Only available when "
 "built with IPv6 support."
@@ -264,24 +228,24 @@ msgstr ""
 "built with IPv6 support."
 
 #. type: TP
-#: doc/tin.1:108
+#: doc/tin.1:106
 #, no-wrap
 msgid "B<-a>"
 msgstr "B<-a>"
 
 #. type: Plain text
-#: doc/tin.1:111
+#: doc/tin.1:109
 msgid "Toggle ANSI color (default is off)."
 msgstr "Toggle ANSI colour (default is off)."
 
 #. type: TP
-#: doc/tin.1:111
+#: doc/tin.1:109
 #, no-wrap
 msgid "B<-A>"
 msgstr "B<-A>"
 
 #. type: Plain text
-#: doc/tin.1:114
+#: doc/tin.1:112
 msgid ""
 "Force authentication on initial connect. Only available when reading via "
 "NNTP."
@@ -290,13 +254,13 @@ msgstr ""
 "NNTP."
 
 #. type: TP
-#: doc/tin.1:114
+#: doc/tin.1:112
 #, no-wrap
 msgid "B<-c>"
 msgstr "B<-c>"
 
 #. type: Plain text
-#: doc/tin.1:119
+#: doc/tin.1:117
 msgid ""
 "Create/update index files for every group in I<${TIN_HOMEDIR:-\"$HOME\"}/."
 "newsrc> or file specified by the ''B<-f>'' option and mark all articles as "
@@ -307,13 +271,13 @@ msgstr ""
 "read."
 
 #. type: TP
-#: doc/tin.1:119
+#: doc/tin.1:117
 #, no-wrap
 msgid "B<-C>"
 msgstr "B<-C>"
 
 #. type: Plain text
-#: doc/tin.1:124
+#: doc/tin.1:122
 msgid ""
 "Use COMPRESS NNTP extension (B<RFC\\%8054>) if available. See also "
 "B<nntp_read_timeout_secs>, 'B<-t>'' and the \"SECURITY\" and \"BUGS\" "
@@ -324,14 +288,14 @@ msgstr ""
 "section."
 
 #. type: TP
-#: doc/tin.1:124
+#: doc/tin.1:122
 #, no-wrap
 msgid "B<-d>"
 msgstr "B<-d>"
 
 #.  FIXME: explain debug levels
 #. type: Plain text
-#: doc/tin.1:130
+#: doc/tin.1:128
 msgid ""
 "Don't load newsgroup descriptions and servers message of the day "
 "(interactive mode)."
@@ -340,64 +304,128 @@ msgstr ""
 "(interactive mode)."
 
 #. type: TP
-#: doc/tin.1:130
+#: doc/tin.1:128
 #, no-wrap
 msgid "B<-D>I< debug-level>"
 msgstr "B<-D>I< debug-level>"
 
 #. type: Plain text
-#: doc/tin.1:137
+#: doc/tin.1:136
 msgid ""
-"Enter debug-level (1 = NNTP, 2 = filter, 4 = newsrc, 8 = threading, 16 = "
-"memory, 32 = attributes, 64 = misc, 128 = remove existing debug files).  For "
-"NNTP-level ''B<-v>'' controls the verbosity of the output.  Depending on the "
-"debug-level various files may be written to I<$TMPDIR> and/or on screen "
+"Enter debug-level, the levels can specified via number (should be avoided as "
+"it will be removed in the future) or name (case insensitive) as listed "
+"below. Use comma to give multiple levels, any combinations are allowed (e."
+"g., ''B<-D> I<GNKSA,2,NNTP>''). If removal is requested it will be performed "
+"at startup and on normal termination (that is the files are only available "
+"while tin is running)."
+msgstr ""
+"Enter debug-level, the levels can specified via number (should be avoided as "
+"it will be removed in the future) or name (case insensitive) as listed "
+"below. Use comma to give multiple levels, any combinations are allowed (e."
+"g., ''B<-D> I<GNKSA,2,NNTP>''). If removal is requested it will be performed "
+"at startup and on normal termination (that is the files are only available "
+"while tin is running)."
+
+#. type: ta
+#: doc/tin.1:138
+#, no-wrap
+msgid "\\w'%128 'u +\\w'ATTRIBUTES 'u +\\w'ATTRIBUTES 'u +\\w'ATTRIBUTES'u"
+msgstr "\\w'%128 'u +\\w'ATTRIBUTES 'u +\\w'ATTRIBUTES 'u +\\w'ATTRIBUTES'u"
+
+#. type: Plain text
+#: doc/tin.1:148
+#, no-wrap
+msgid ""
+"  I<1\tNNTP\tNNTPS>\n"
+"  I<2\tFILTER\tARTS>\n"
+"  I<4\tNEWSRC\tBITMAP>\n"
+"  I<8\tTHREADING\tREFS>\n"
+" I<16\tMEMORY\tMALLOC>\n"
+" I<32\tATTRIBUTES>\n"
+" I<64\tMISC\tGNKSA\tACTIVE>\n"
+"I<127\tALL\tEVERYTHING>\n"
+"I<128\tREMOVE\tDELETE>\n"
+msgstr ""
+"  I<1\tNNTP\tNNTPS>\n"
+"  I<2\tFILTER\tARTS>\n"
+"  I<4\tNEWSRC\tBITMAP>\n"
+"  I<8\tTHREADING\tREFS>\n"
+" I<16\tMEMORY\tMALLOC>\n"
+" I<32\tATTRIBUTES>\n"
+" I<64\tMISC\tGNKSA\tACTIVE>\n"
+"I<127\tALL\tEVERYTHING>\n"
+"I<128\tREMOVE\tDELETE>\n"
+
+#. type: Plain text
+#: doc/tin.1:153
+msgid ""
+"For NNTP-level ''B<-v>'' controls the verbosity of the output.  Depending on "
+"the debug-level various files may be written to I<$TMPDIR> and/or on screen "
 "output may be given. See also the \"SECURITY\" section!"
 msgstr ""
-"Enter debug-level (1 = NNTP, 2 = filter, 4 = newsrc, 8 = threading, 16 = "
-"memory, 32 = attributes, 64 = misc, 128 = remove existing debug files).  For "
-"NNTP-level ''B<-v>'' controls the verbosity of the output.  Depending on the "
-"debug-level various files may be written to I<$TMPDIR> and/or on screen "
+"For NNTP-level ''B<-v>'' controls the verbosity of the output.  Depending on "
+"the debug-level various files may be written to I<$TMPDIR> and/or on screen "
 "output may be given. See also the \"SECURITY\" section!"
 
 #. type: TP
-#: doc/tin.1:137
+#: doc/tin.1:153
 #, no-wrap
 msgid "B<-f>I< file>"
 msgstr "B<-f>I< file>"
 
 #. type: Plain text
-#: doc/tin.1:141
+#: doc/tin.1:158
 msgid ""
-"Use the specified file of subscribed to newsgroups in place of I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>."
+"Use the specified file of subscribed to newsgroups in place of "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> or a file specified via "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable>."
 msgstr ""
-"Use the specified file of subscribed to newsgroups in place of I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>."
+"Use the specified file of subscribed to newsgroups in place of "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> or a file specified via "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable>."
 
 #. type: TP
-#: doc/tin.1:141
+#: doc/tin.1:158
+#, no-wrap
+msgid "B<-F>I< file>"
+msgstr "B<-F>I< file>"
+
+#. type: Plain text
+#: doc/tin.1:161
+msgid ""
+"Use the specified filter file instead of I<${TIN_HOMEDIR:-\"$HOME\"}/."
+"filter>."
+msgstr ""
+"Use the specified filter file instead of I<${TIN_HOMEDIR:-\"$HOME\"}/."
+"filter>."
+
+#. type: TP
+#: doc/tin.1:161
 #, no-wrap
-msgid "B<-g>I< server[:port]>"
-msgstr "B<-g>I< server[:port]>"
+msgid "B<-g>I< server>[B<:>I<port>]"
+msgstr "B<-g>I< server>[B<:>I<port>]"
 
 #. type: Plain text
-#: doc/tin.1:146
+#: doc/tin.1:167
 msgid ""
 "Use the server[:port] and newsrc specified in I<${TIN_HOMEDIR:-\"$HOME\"}/."
-"tin/newsrctable>. Only available when reading via NNTP."
+"tin/newsrctable>. Only available when reading via NNTP. If you want to give "
+"a port with a plain IPv6 address, the address must be enclosed in square "
+"brackets."
 msgstr ""
 "Use the server[:port] and newsrc specified in I<${TIN_HOMEDIR:-\"$HOME\"}/."
-"tin/newsrctable>. Only available when reading via NNTP."
+"tin/newsrctable>. Only available when reading via NNTP.  If you want to give "
+"a port with a plain IPv6 address, the address must be enclosed in square "
+"brackets."
 
 #. type: TP
-#: doc/tin.1:146
+#: doc/tin.1:167
 #, no-wrap
 msgid "B<-G>I< article-limit>"
 msgstr "B<-G>I< article-limit>"
 
 #. type: Plain text
-#: doc/tin.1:154
+#: doc/tin.1:175
 msgid ""
 "Limit the number of articles/group to retrieve from the server.  If "
 "I<article-limit> is E<gt> 0 not more than the last I<article-limit> articles/"
@@ -412,56 +440,56 @@ msgstr ""
 "I<article-limit>. Default is 0, which means no limit."
 
 #. type: TP
-#: doc/tin.1:154
+#: doc/tin.1:175
 #, no-wrap
 msgid "B<-h>"
 msgstr "B<-h>"
 
 #. type: Plain text
-#: doc/tin.1:157
+#: doc/tin.1:178
 msgid "Help listing all command-line options."
 msgstr "Help listing all command-line options."
 
 #. type: TP
-#: doc/tin.1:157
+#: doc/tin.1:178
 #, no-wrap
 msgid "B<-H>"
 msgstr "B<-H>"
 
 #. type: Plain text
-#: doc/tin.1:161
+#: doc/tin.1:182
 msgid ""
 "Brief introduction to B<tin> that is also shown the first time it is started."
 msgstr ""
 "Brief introduction to B<tin> that is also shown the first time it is started."
 
 #. type: TP
-#: doc/tin.1:161
+#: doc/tin.1:182
 #, no-wrap
 msgid "B<-I>I< dir>"
 msgstr "B<-I>I< dir>"
 
 #. type: Plain text
-#: doc/tin.1:167
+#: doc/tin.1:188
 msgid ""
-"Directory in which to store newsgroup index files. Default is I<"
-"${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news>.  This "
+"Directory in which to store newsgroup index files. Default is "
+"I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news>.  This "
 "option has no effect if B<tin> retrieves its index files via NNTP and "
 "B<cache_overview_files> is turned off."
 msgstr ""
-"Directory in which to store newsgroup index files. Default is I<"
-"${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news>.  This "
+"Directory in which to store newsgroup index files. Default is "
+"I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news>.  This "
 "option has no effect if B<tin> retrieves its index files via NNTP and "
 "B<cache_overview_files> is turned off."
 
 #. type: TP
-#: doc/tin.1:167
+#: doc/tin.1:188
 #, no-wrap
 msgid "B<-k>"
 msgstr "B<-k>"
 
 #. type: Plain text
-#: doc/tin.1:172
+#: doc/tin.1:193
 msgid ""
 "Skip the certificate verification step for NNTPS connections and proceed "
 "without checking. This option implies ''B<-T>''. See also the \"SECURITY\" "
@@ -472,13 +500,13 @@ msgstr ""
 "section."
 
 #. type: TP
-#: doc/tin.1:172
+#: doc/tin.1:193
 #, no-wrap
 msgid "B<-l>"
 msgstr "B<-l>"
 
 #. type: Plain text
-#: doc/tin.1:184
+#: doc/tin.1:205
 msgid ""
 "Get number of articles per group from the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/"
 "\"${TIN_ACTIVEFILE:-active}> file. If reading via NNTP this is done with the "
@@ -499,25 +527,40 @@ msgstr ""
 "available that is used instead as it gives more accurate article counts."
 
 #. type: TP
-#: doc/tin.1:184
+#: doc/tin.1:205
+#, no-wrap
+msgid "B<-L>"
+msgstr "B<-L>"
+
+#. type: Plain text
+#: doc/tin.1:209
+msgid ""
+"Show the message with the given Message-ID if available. Only available when "
+"reading via NNTP."
+msgstr ""
+"Show the message with the given Message-ID if available. Only available when "
+"reading via NNTP."
+
+#. type: TP
+#: doc/tin.1:209
 #, no-wrap
 msgid "B<-m>I< dir>"
 msgstr "B<-m>I< dir>"
 
 #. type: Plain text
-#: doc/tin.1:187
+#: doc/tin.1:212
 msgid "Mailbox directory to use. Default is I<${TIN_HOMEDIR:-\"$HOME\"}/Mail>."
 msgstr ""
 "Mailbox directory to use. Default is I<${TIN_HOMEDIR:-\"$HOME\"}/Mail>."
 
 #. type: TP
-#: doc/tin.1:187
+#: doc/tin.1:212
 #, no-wrap
 msgid "B<-M>I< user>"
 msgstr "B<-M>I< user>"
 
 #. type: Plain text
-#: doc/tin.1:191
+#: doc/tin.1:216
 msgid ""
 "Mail unread articles to specified user for later reading. For more "
 "information read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"."
@@ -526,34 +569,34 @@ msgstr ""
 "information read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"."
 
 #. type: TP
-#: doc/tin.1:191
+#: doc/tin.1:216
 #, no-wrap
 msgid "B<-n>"
 msgstr "B<-n>"
 
 #. type: Plain text
-#: doc/tin.1:198
+#: doc/tin.1:223
 msgid ""
 "Only load groups from the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-"
-"active}> file that are subscribed to in the user's I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.newsrc>. This allows a noticeable speedup when connecting via a slow "
-"line, but B<tin> may not be able detect which groups are moderated. See also "
-"''B<-l>''."
+"active}> file that are subscribed to in the user's I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.newsrc>. This allows a noticeable speedup when connecting via a "
+"slow line, but B<tin> may not be able detect which groups are moderated. See "
+"also ''B<-l>''."
 msgstr ""
 "Only load groups from the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-"
-"active}> file that are subscribed to in the user's I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.newsrc>. This allows a noticeable speedup when connecting via a slow "
-"line, but B<tin> may not be able detect which groups are moderated. See also "
-"''B<-l>''."
+"active}> file that are subscribed to in the user's I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.newsrc>. This allows a noticeable speedup when connecting via a "
+"slow line, but B<tin> may not be able detect which groups are moderated. See "
+"also ''B<-l>''."
 
 #. type: TP
-#: doc/tin.1:198
+#: doc/tin.1:223
 #, no-wrap
 msgid "B<-N>"
 msgstr "B<-N>"
 
 #. type: Plain text
-#: doc/tin.1:202
+#: doc/tin.1:227
 msgid ""
 "Mail unread articles to yourself for later reading. For more information "
 "read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"."
@@ -562,13 +605,13 @@ msgstr ""
 "read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"."
 
 #. type: TP
-#: doc/tin.1:202
+#: doc/tin.1:227
 #, no-wrap
 msgid "B<-o>"
 msgstr "B<-o>"
 
 #. type: Plain text
-#: doc/tin.1:206
+#: doc/tin.1:231
 msgid ""
 "Quick post all postponed articles and exit. In order for this to be really "
 "quick, it should be used with ''B<-n>'' if possible."
@@ -577,30 +620,30 @@ msgstr ""
 "quick, it should be used with ''B<-n>'' if possible."
 
 #. type: TP
-#: doc/tin.1:206
+#: doc/tin.1:231
 #, no-wrap
 msgid "B<-p>I< port>"
 msgstr "B<-p>I< port>"
 
 #. type: Plain text
-#: doc/tin.1:211
+#: doc/tin.1:236
 msgid ""
 "Port to use if reading via NNTP (default is 119 or 563 if NNTPS is enabled, "
-"see ''B<-T>''). This also overrides the environment variable $B<NNTPPORT> if "
-"set. Only available when reading via NNTP."
+"see ''B<-T>''). This also overrides the environment variables $B<NNTPPORT> "
+"and $B<NNTPSPORT> if set. Only available when reading via NNTP."
 msgstr ""
 "Port to use if reading via NNTP (default is 119 or 563 if NNTPS is enabled, "
-"see ''B<-T>''). This also overrides the environment variable $B<NNTPPORT> if "
-"set. Only available when reading via NNTP."
+"see ''B<-T>''). This also overrides the environment variables $B<NNTPPORT> "
+"and $B<NNTPSPORT> if set. Only available when reading via NNTP."
 
 #. type: TP
-#: doc/tin.1:211
+#: doc/tin.1:236
 #, no-wrap
 msgid "B<-q>"
 msgstr "B<-q>"
 
 #. type: Plain text
-#: doc/tin.1:214
+#: doc/tin.1:239
 msgid ""
 "Don't check for new newsgroups and skip loading the servers message of the "
 "day."
@@ -609,13 +652,13 @@ msgstr ""
 "day."
 
 #. type: TP
-#: doc/tin.1:214
+#: doc/tin.1:239
 #, no-wrap
 msgid "B<-Q>"
 msgstr "B<-Q>"
 
 #. type: Plain text
-#: doc/tin.1:219
+#: doc/tin.1:244
 msgid ""
 "Quick start. Start B<tin> as quickly as possible. Currently this is "
 "equivalent to ''B<-dnq>''. See also the ''B<-C>'' and ''B<-G>'' command-line "
@@ -626,13 +669,13 @@ msgstr ""
 "options."
 
 #. type: TP
-#: doc/tin.1:219
+#: doc/tin.1:244
 #, no-wrap
 msgid "B<-r>"
 msgstr "B<-r>"
 
 #. type: Plain text
-#: doc/tin.1:224
+#: doc/tin.1:249
 msgid ""
 "Read news remotely from the default NNTP server specified in the environment "
 "variable $B<NNTPSERVER> or contained in the file I</etc/nntpserver>."
@@ -641,24 +684,24 @@ msgstr ""
 "variable $B<NNTPSERVER> or contained in the file I</etc/nntpserver>."
 
 #. type: TP
-#: doc/tin.1:224
+#: doc/tin.1:249
 #, no-wrap
 msgid "B<-R>"
 msgstr "B<-R>"
 
 #. type: Plain text
-#: doc/tin.1:227
+#: doc/tin.1:252
 msgid "Read news saved by the ''B<-S>'' option."
 msgstr "Read news saved by the ''B<-S>'' option."
 
 #. type: TP
-#: doc/tin.1:227
+#: doc/tin.1:252
 #, no-wrap
 msgid "B<-s>I< dir>"
 msgstr "B<-s>I< dir>"
 
 #. type: Plain text
-#: doc/tin.1:231
+#: doc/tin.1:256
 msgid ""
 "Save/read articles to/in directory. Default is I<${TIN_HOMEDIR:-\"$HOME\"}/"
 "News>."
@@ -667,13 +710,13 @@ msgstr ""
 "News>."
 
 #. type: TP
-#: doc/tin.1:231
+#: doc/tin.1:256
 #, no-wrap
 msgid "B<-S>"
 msgstr "B<-S>"
 
 #. type: Plain text
-#: doc/tin.1:235
+#: doc/tin.1:260
 msgid ""
 "Save unread articles for later reading by the ''B<-R>'' option. For more "
 "information read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"."
@@ -682,13 +725,13 @@ msgstr ""
 "information read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"."
 
 #. type: TP
-#: doc/tin.1:235
+#: doc/tin.1:260
 #, no-wrap
 msgid "B<-t>I< timeout>"
 msgstr "B<-t>I< timeout>"
 
 #. type: Plain text
-#: doc/tin.1:239
+#: doc/tin.1:264
 msgid ""
 "Override the B<nntp_read_timeout_secs> setting. Default is 120 seconds, "
 "allowed maximum is 16383."
@@ -697,28 +740,28 @@ msgstr ""
 "allowed maximum is 16383."
 
 #. type: TP
-#: doc/tin.1:239
+#: doc/tin.1:264
 #, no-wrap
 msgid "B<-T>"
 msgstr "B<-T>"
 
 #. type: Plain text
-#: doc/tin.1:243
+#: doc/tin.1:268
 msgid ""
 "Enable NNTPS (NNTP over TLS). This also overrides the environment variable "
-"$B<NNTPPORT> if set. Only available when reading via NNTP."
+"$B<NNTPSPORT> if set. Only available when reading via NNTP."
 msgstr ""
 "Enable NNTPS (NNTP over TLS). This also overrides the environment variable "
-"$B<NNTPPORT> if set. Only available when reading via NNTP."
+"$B<NNTPSPORT> if set. Only available when reading via NNTP."
 
 #. type: TP
-#: doc/tin.1:243
+#: doc/tin.1:268
 #, no-wrap
 msgid "B<-u>"
 msgstr "B<-u>"
 
 #. type: Plain text
-#: doc/tin.1:249
+#: doc/tin.1:274
 msgid ""
 "Create/update index files for every group in I<${TIN_HOMEDIR:-\"$HOME\"}/."
 "newsrc> or file specified by the ''B<-f>'' option. This option is disabled "
@@ -731,41 +774,41 @@ msgstr ""
 "B<cache_overview_files> is turned off."
 
 #. type: TP
-#: doc/tin.1:249
+#: doc/tin.1:274
 #, no-wrap
 msgid "B<-v>"
 msgstr "B<-v>"
 
 #. type: Plain text
-#: doc/tin.1:254
+#: doc/tin.1:279
 msgid ""
 "Verbose mode for ''B<-c>'', ''B<-D>'', ''B<-M>'', ''B<-N>'', \\&''B<-S>'', "
-"''B<-u>'' and ''B<-Z>'' options. Can be used multiple times to increase "
-"verbosity."
+"''B<-u>'', ''B<-V>'' and ''B<-Z>'' options. Can be used multiple times to "
+"increase verbosity."
 msgstr ""
 "Verbose mode for ''B<-c>'', ''B<-D>'', ''B<-M>'', ''B<-N>'', \\&''B<-S>'', "
-"''B<-u>'' and ''B<-Z>'' options. Can be used multiple times to increase "
-"verbosity."
+"''B<-u>'', ''B<-V>'' and ''B<-Z>'' options. Can be used multiple times to "
+"increase verbosity."
 
 #. type: TP
-#: doc/tin.1:254
+#: doc/tin.1:279
 #, no-wrap
 msgid "B<-V>"
 msgstr "B<-V>"
 
 #. type: Plain text
-#: doc/tin.1:257
+#: doc/tin.1:282
 msgid "Print version information and compilation options."
 msgstr "Print version information and compilation options."
 
 #. type: TP
-#: doc/tin.1:257
+#: doc/tin.1:282
 #, no-wrap
 msgid "B<-w>"
 msgstr "B<-w>"
 
 #. type: Plain text
-#: doc/tin.1:262
+#: doc/tin.1:287
 msgid ""
 "Quick mode to post an article and then exit. This option implies \\&''B<-"
 "d>''. In order for this to be really quick, it should be used with ''B<-n>'' "
@@ -776,41 +819,41 @@ msgstr ""
 "if possible."
 
 #. type: TP
-#: doc/tin.1:262
+#: doc/tin.1:287
 #, no-wrap
 msgid "B<-x>"
 msgstr "B<-x>"
 
 #. type: Plain text
-#: doc/tin.1:265
+#: doc/tin.1:290
 msgid "No-posting mode. You cannot post articles if you use this option."
 msgstr "No-posting mode. You cannot post articles if you use this option."
 
 #. type: TP
-#: doc/tin.1:265
+#: doc/tin.1:290
 #, no-wrap
 msgid "B<-X>"
 msgstr "B<-X>"
 
 #. type: Plain text
-#: doc/tin.1:270
+#: doc/tin.1:296
 msgid ""
-"No overwrite mode. I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> and files in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin> will not be overwritten but may be created "
-"if they don't exist."
+"No overwrite mode. I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> and files in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin> will not be overwritten but may be created "
+"if they don't exist. Should be used with ''B<-x>'' if possible."
 msgstr ""
-"No overwrite mode. I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> and files in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin> will not be overwritten but may be created "
-"if they don't exist."
+"No overwrite mode. I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> and files in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin> will not be overwritten but may be created "
+"if they don't exist. Should be used with ''B<-x>'' if possible."
 
 #. type: TP
-#: doc/tin.1:270
+#: doc/tin.1:296
 #, no-wrap
 msgid "B<-z>"
 msgstr "B<-z>"
 
 #. type: Plain text
-#: doc/tin.1:275
+#: doc/tin.1:301
 msgid ""
 "Only start B<tin> if there is any new/unread news. If there is news B<tin> "
 "will position cursor at first group with unread news. Useful for putting in "
@@ -821,13 +864,13 @@ msgstr ""
 "login file."
 
 #. type: TP
-#: doc/tin.1:275
+#: doc/tin.1:301
 #, no-wrap
 msgid "B<-Z>"
 msgstr "B<-Z>"
 
 #. type: Plain text
-#: doc/tin.1:281
+#: doc/tin.1:307
 msgid ""
 "Check if there is any new/unread news and exit with appropriate status. If "
 "\\&''B<-v>'' option is specified the number of unread articles in each group "
@@ -840,7 +883,7 @@ msgstr ""
 "that new/unread news exists. Useful for writing scripts."
 
 #. type: Plain text
-#: doc/tin.1:287
+#: doc/tin.1:313
 msgid ""
 "B<tin> can also dynamically change its options by the B<OptionMenu> ('B<M>') "
 "command. Any changes are written to I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc>. "
@@ -853,7 +896,7 @@ msgstr ""
 "CONFIGURABLE VARIABLES\" and B<\\%tin>(5)."
 
 #. type: Plain text
-#: doc/tin.1:292
+#: doc/tin.1:318
 msgid ""
 "A list of groups can be specified after the other command-line options. This "
 "can be useful if you wish to yank in or subscribe to a hand-picked subset of "
@@ -866,7 +909,7 @@ msgstr ""
 "the types of pattern that B<tin> understands."
 
 #. type: Plain text
-#: doc/tin.1:297
+#: doc/tin.1:323
 msgid ""
 "If you specify a single group-name, or a wildcard that matches a single "
 "group, then you will automatically enter that group. Otherwise the normal "
@@ -879,7 +922,7 @@ msgstr ""
 "too, as though you had yanked just those groups in."
 
 #. type: Plain text
-#: doc/tin.1:301
+#: doc/tin.1:327
 msgid ""
 "With the ''B<-w>'' flag a given group-name is used as default group to post "
 "to. If more than one group or a wildcard is specified only the first group "
@@ -890,7 +933,7 @@ msgstr ""
 "respectively the first group that matches is used."
 
 #. type: Plain text
-#: doc/tin.1:308
+#: doc/tin.1:334
 msgid ""
 "Once you use B<SelectYankActive> ('B<y>') to yank in all active groups, or "
 "B<SelectToggleReadDisplay> ('B<r>') to toggle the read/unread status, then "
@@ -905,41 +948,51 @@ msgstr ""
 "active}> file and get them back."
 
 #. type: Plain text
-#: doc/tin.1:313
+#: doc/tin.1:339
 msgid ""
-"NB: With the ''B<-n>'' flag, only unsubscribed groups in the I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file (or the newsrc-file given by the "
+"NB: With the ''B<-n>'' flag, only unsubscribed groups in the "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file (or the newsrc-file given by the "
 "\\&''B<-f>'' command-line switch or via I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/"
 "newsrctable>) can be matched."
 msgstr ""
-"NB: With the ''B<-n>'' flag, only unsubscribed groups in the I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file (or the newsrc-file given by the "
+"NB: With the ''B<-n>'' flag, only unsubscribed groups in the "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file (or the newsrc-file given by the "
 "\\&''B<-f>'' command-line switch or via I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/"
 "newsrctable>) can be matched."
 
 #. type: Plain text
-#: doc/tin.1:318
+#: doc/tin.1:349
 msgid ""
 "Command-line options have higher priority than attributes and tinrc "
-"options.  Thus, command-line option takes precedence over configured values."
+"options.  Thus, command-line option takes precedence over configured values "
+"with the single exception that if a port is given for the newsserver in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable> it will override any port "
+"given on the command-line. The order of command-line options is not "
+"important. If they are mutual exclusive the one with the highest priority "
+"will be chosen and a warning may be given."
 msgstr ""
 "Command-line options have higher priority than attributes and tinrc "
-"options.  Thus, command-line option takes precedence over configured values."
+"options.  Thus, command-line option takes precedence over configured values "
+"with the single exception that if a port is given for the newsserver in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable> it will override any port "
+"given on the command-line. The order of command-line options is not "
+"important. If they are mutual exclusive the one with the highest priority "
+"will be chosen and a warning may be given."
 
-#. type: IX
-#: doc/tin.1:318 doc/tin.1:319
+#. type: SH
+#: doc/tin.1:349
 #, no-wrap
 msgid "USAGE"
 msgstr "USAGE"
 
 #. type: SS
-#: doc/tin.1:322
+#: doc/tin.1:352
 #, no-wrap
 msgid "NEWS ADMINISTRATION"
 msgstr "NEWS ADMINISTRATION"
 
 #. type: Plain text
-#: doc/tin.1:326
+#: doc/tin.1:356
 msgid ""
 "Maintaining Netnews on large networks of machines can be a pretty time "
 "consuming job as I discovered when I was given the job of maintaining our "
@@ -950,32 +1003,32 @@ msgstr ""
 "news system and news users."
 
 #. type: Plain text
-#: doc/tin.1:336
+#: doc/tin.1:366
 msgid ""
 "A user starting B<tin> for the first time can be automatically subscribed to "
 "a list of newsgroups that are deemed appropriate by the news administrator. "
-"The subscriptions file should be created in your news lib directory (i.e., I<"
-"${TIN_LIBDIR:-NEWSLIBDIR}/subscriptions>) and should be world readable. If "
+"The subscriptions file should be created in your news lib directory (i.e., "
+"I<${TIN_LIBDIR:-NEWSLIBDIR}/subscriptions>) and should be world readable. If "
 "you read news via NNTP, then your news server must support the LIST "
 "SUBSCRIPTIONS command. It is part of the NNTP List Extensions (B<RFC\\"
 "%6048>) and all modern servers should understand it."
 msgstr ""
 "A user starting B<tin> for the first time can be automatically subscribed to "
 "a list of newsgroups that are deemed appropriate by the news administrator. "
-"The subscriptions file should be created in your news lib directory (i.e., I<"
-"${TIN_LIBDIR:-NEWSLIBDIR}/subscriptions>) and should be world readable. If "
+"The subscriptions file should be created in your news lib directory (i.e., "
+"I<${TIN_LIBDIR:-NEWSLIBDIR}/subscriptions>) and should be world readable. If "
 "you read news via NNTP, then your news server must support the LIST "
 "SUBSCRIPTIONS command. It is part of the NNTP List Extensions (B<RFC\\"
 "%6048>) and all modern servers should understand it."
 
 #. type: SS
-#: doc/tin.1:336
+#: doc/tin.1:366
 #, no-wrap
 msgid "SCREEN FORMAT"
 msgstr "SCREEN FORMAT"
 
 #. type: Plain text
-#: doc/tin.1:339
+#: doc/tin.1:369
 msgid ""
 "B<tin> has four separate levels of operation: Selection level, Group level, "
 "Thread level and Article level."
@@ -984,7 +1037,7 @@ msgstr ""
 "Thread level and Article level."
 
 #. type: Plain text
-#: doc/tin.1:346
+#: doc/tin.1:376
 msgid ""
 "At the Selection level the title displays (the name of the news server (with "
 "a \"[T]\"- or \"[k]\"-suffix if reading via NNTPS (insecurely)) and) the "
@@ -1001,36 +1054,36 @@ msgstr ""
 "B<select_format>."
 
 #. type: Plain text
-#: doc/tin.1:354
+#: doc/tin.1:384
 #, no-wrap
 msgid ""
-"-E<gt>M    1     2  comp.security.announce  Announcements from the CERT abou\n"
+"\\f(CR\\(-E<gt>M    1     2  comp.security.announce  Announcements from the CERT abou\n"
 "  M    2     1  news.admin.announce     Announcements for news adminstra\n"
 "       3    22  news.software.misc      News-related software other than\n"
 "       4  1475  news.software.nntp      The Network News Transfer Protoc\n"
-"  X    5   124  news.software.readers   Discussion of software used to r\n"
+"  X    5   124  news.software.readers   Discussion of software used to r\\fR\n"
 msgstr ""
-"-E<gt>M    1     2  comp.security.announce  Announcements from the CERT abou\n"
+"\\f(CR\\(-E<gt>M    1     2  comp.security.announce  Announcements from the CERT abou\n"
 "  M    2     1  news.admin.announce     Announcements for news adminstra\n"
 "       3    22  news.software.misc      News-related software other than\n"
 "       4  1475  news.software.nntp      The Network News Transfer Protoc\n"
-"  X    5   124  news.software.readers   Discussion of software used to r\n"
+"  X    5   124  news.software.readers   Discussion of software used to r\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:357
+#: doc/tin.1:387
 msgid ""
 "There may also be a character prefixing the line. An explanation follows:"
 msgstr ""
 "There may also be a character prefixing the line. An explanation follows:"
 
 #. type: TP
-#: doc/tin.1:357
+#: doc/tin.1:387
 #, no-wrap
 msgid "B<u>"
 msgstr "B<u>"
 
 #. type: Plain text
-#: doc/tin.1:362
+#: doc/tin.1:392
 msgid ""
 "This group is unsubscribed. To see only your subscribed groups use the "
 "B<SelectToggleReadDisplay> ('B<r>') or B<SelectYankActive> ('B<y>') toggle "
@@ -1041,13 +1094,13 @@ msgstr ""
 "keys."
 
 #. type: TP
-#: doc/tin.1:362
+#: doc/tin.1:392
 #, no-wrap
 msgid "B<M>"
 msgstr "B<M>"
 
 #. type: Plain text
-#: doc/tin.1:367
+#: doc/tin.1:397
 msgid ""
 "This is a moderated group. Any posts you make will have to be approved by "
 "the group administrator before it will be made public. B<tin> will ask for "
@@ -1058,13 +1111,13 @@ msgstr ""
 "confirmation before you post to a moderated group."
 
 #. type: TP
-#: doc/tin.1:367
+#: doc/tin.1:397
 #, no-wrap
 msgid "B<N>"
 msgstr "B<N>"
 
 #. type: Plain text
-#: doc/tin.1:376
+#: doc/tin.1:406
 msgid ""
 "This is a new newsgroup which has been created since you last used B<tin>. "
 "New newsgroups are not subscribed to by default (However, see the "
@@ -1083,13 +1136,13 @@ msgstr ""
 "in a later session."
 
 #. type: TP
-#: doc/tin.1:376
+#: doc/tin.1:406
 #, no-wrap
 msgid "B<D>"
 msgstr "B<D>"
 
 #. type: Plain text
-#: doc/tin.1:381
+#: doc/tin.1:411
 msgid ""
 "This group no longer exists. If you no longer wish to see this group then "
 "unsubscribe from it in the normal way. This flag will only appear if you "
@@ -1100,13 +1153,13 @@ msgstr ""
 "have set B<strip_bogus> to \"ask\" in the Options Menu."
 
 #. type: TP
-#: doc/tin.1:381
+#: doc/tin.1:411
 #, no-wrap
 msgid "B<X>"
 msgstr "B<X>"
 
 #. type: Plain text
-#: doc/tin.1:385
+#: doc/tin.1:415
 msgid ""
 "You may no longer make posts to this group. Often a group will be superseded "
 "by a more appropriately named one."
@@ -1115,13 +1168,13 @@ msgstr ""
 "by a more appropriately named one."
 
 #. type: TP
-#: doc/tin.1:385
+#: doc/tin.1:415
 #, no-wrap
 msgid "B<=>"
 msgstr "B<=>"
 
 #. type: Plain text
-#: doc/tin.1:390
+#: doc/tin.1:420
 msgid ""
 "This group has been renamed and you may no longer post to it. If you do, "
 "then you will receive an error from your news server telling you the correct "
@@ -1132,7 +1185,7 @@ msgstr ""
 "group to post to."
 
 #. type: Plain text
-#: doc/tin.1:400
+#: doc/tin.1:430
 msgid ""
 "At the Group level the title contains the name of the group, the number of "
 "conversation threads, the abbreviated threading method (B<thread_articles>), "
@@ -1154,13 +1207,13 @@ msgstr ""
 
 #.  FIXME - make this autocenter
 #. type: Plain text
-#: doc/tin.1:404
+#: doc/tin.1:434
 #, no-wrap
 msgid "            alt.sources (5B -50/23+ 0* 3o 0K)\n"
 msgstr "            alt.sources (5B -50/23+ 0* 3o 0K)\n"
 
 #. type: Plain text
-#: doc/tin.1:412
+#: doc/tin.1:442
 msgid ""
 "The characters after the numbers are depending to the configuration and if "
 "your are in B<show_only_unread_arts> mode or not. Some numbers could be "
@@ -1177,7 +1230,7 @@ msgstr ""
 "redirected."
 
 #. type: Plain text
-#: doc/tin.1:421
+#: doc/tin.1:451
 msgid ""
 "If a thread has unread articles it is marked with B<art_marked_unread> in "
 "front of the total number of articles in the thread. If there are recent "
@@ -1198,28 +1251,28 @@ msgstr ""
 "customised via B<group_format>."
 
 #. type: Plain text
-#: doc/tin.1:425
+#: doc/tin.1:455
 #, no-wrap
-msgid "                de.admin.net-abuse.announce (11B 13+ 1* 1o 0K) M\n"
-msgstr "                de.admin.net-abuse.announce (11B 13+ 1* 1o 0K) M\n"
+msgid "\\f(CR                de.admin.net-abuse.announce (11B 13+ 1* 1o 0K) M\\fR\n"
+msgstr "\\f(CR                de.admin.net-abuse.announce (11B 13+ 1* 1o 0K) M\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:430
+#: doc/tin.1:460
 #, no-wrap
 msgid ""
-"-E<gt>   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg E<lt>l\n"
+"\\f(CR\\(-E<gt>   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg E<lt>l\n"
 "     2   +       69 EMP/ECP gecancelt. xynx. BI= 10  Henning Weede E<lt>hwee\n"
 "     3   o       93 EMP gecancelt. SouthBeach/Palms  Henning Weede E<lt>hwee\n"
-"     4   *      368 E<lt>1997-11-12E<gt> Fremdcancel-FAQ     Thomas Roessler E<lt>ro\n"
+"     4   *      368 E<lt>1997-11-12E<gt> Fremdcancel-FAQ     Thomas Roessler E<lt>ro\\fR\n"
 msgstr ""
-"-E<gt>   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg E<lt>l\n"
+"\\f(CR\\(-E<gt>   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg E<lt>l\n"
 "     2   +       69 EMP/ECP gecancelt. xynx. BI= 10  Henning Weede E<lt>hwee\n"
 "     3   o       93 EMP gecancelt. SouthBeach/Palms  Henning Weede E<lt>hwee\n"
-"     4   *      368 E<lt>1997-11-12E<gt> Fremdcancel-FAQ     Thomas Roessler E<lt>ro\n"
+"     4   *      368 E<lt>1997-11-12E<gt> Fremdcancel-FAQ     Thomas Roessler E<lt>ro\\fR\n"
 
 #.  FIXME - add description of fields
 #. type: Plain text
-#: doc/tin.1:435
+#: doc/tin.1:465
 msgid ""
 "At the Thread level the screen usually (depends on the threading method "
 "used) looks like this, but can be customized via B<thread_format>:"
@@ -1228,45 +1281,45 @@ msgstr ""
 "used) looks like this, but can be customised via B<thread_format>:"
 
 #. type: Plain text
-#: doc/tin.1:442
+#: doc/tin.1:472
 #, no-wrap
 msgid ""
-"-E<gt>   1      [   7]  What is this funny tree in the thr  Robert F. Simmig\n"
-"     2      [  12]  +-E<gt>                                 Sephan Wagner E<lt>s\n"
-"     3      [ 230]  | `-E<gt>Tin thread-level (was: What is Bob Johnson E<lt>bob\n"
-"     4      [  22]  `-E<gt>tin threading menu               Brian Richardson\n"
+"\\f(CR\\(-E<gt>   1      [   7]  What is this funny tree in the thr  Robert F. Simmig\n"
+"     2      [  12]  +\\(-E<gt>                                 Sephan Wagner E<lt>s\n"
+"     3      [ 230]  | `\\(-E<gt>Tin thread-level (was: What is Bob Johnson E<lt>bob\n"
+"     4      [  22]  `\\(-E<gt>tin threading menu               Brian Richardson\\fR\n"
 msgstr ""
-"-E<gt>   1      [   7]  What is this funny tree in the thr  Robert F. Simmig\n"
+"\\f(CR\\(-E<gt>   1      [   7]  What is this funny tree in the thr  Robert F. Simmig\n"
 "     2      [  12]  +-E<gt>                                 Sephan Wagner E<lt>s\n"
 "     3      [ 230]  | `-E<gt>Tin thread-level (was: What is Bob Johnson E<lt>bob\n"
-"     4      [  22]  `-E<gt>tin threading menu               Brian Richardson\n"
+"     4      [  22]  `-E<gt>tin threading menu               Brian Richardson\\fR\n"
 
 #.  FIXME - add description of fields
 #. type: Plain text
-#: doc/tin.1:447
+#: doc/tin.1:477
 msgid "At the Article level the page header has the following format:"
 msgstr "At the Article level the page header has the following format:"
 
 #. type: Plain text
-#: doc/tin.1:453
+#: doc/tin.1:483
 #, no-wrap
 msgid ""
-"Sun, 28 Dec 1997 21:21:01   de.admin.news.groups      Thread   20 of 86\n"
+"\\f(CRSun, 28 Dec 1997 21:21:01   de.admin.news.groups      Thread   20 of 86\n"
 "Lines 50   Re: EINSPRUCH zu RESULT:de.comm.mobil.ALL   Article  47 of 59\n"
-"Urs Janssen E<lt>urs@akk.orgE<gt>        at Arbeitskreis Kultur und Kommunikati\n"
+"Urs Janssen E<lt>urs@akk.orgE<gt>        at Arbeitskreis Kultur und Kommunikati\\fR\n"
 msgstr ""
-"Sun, 28 Dec 1997 21:21:01   de.admin.news.groups      Thread   20 of 86\n"
+"\\f(CRSun, 28 Dec 1997 21:21:01   de.admin.news.groups      Thread   20 of 86\n"
 "Lines 50   Re: EINSPRUCH zu RESULT:de.comm.mobil.ALL   Article  47 of 59\n"
-"Urs Janssen E<lt>urs@akk.orgE<gt>        at Arbeitskreis Kultur und Kommunikati\n"
+"Urs Janssen E<lt>urs@akk.orgE<gt>        at Arbeitskreis Kultur und Kommunikati\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:455
+#: doc/tin.1:485
 #, no-wrap
-msgid "article-body\n"
-msgstr "article-body\n"
+msgid "\\f(CRarticle-body\\fR\n"
+msgstr "\\f(CRarticle-body\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:461
+#: doc/tin.1:491
 msgid ""
 "The look of the Selection, Group and Thread level can be customized. See the "
 "section \"CUSTOMIZING THE SCREEN FORMAT\"."
@@ -1275,13 +1328,13 @@ msgstr ""
 "section \"CUSTOMISING THE SCREEN FORMAT\"."
 
 #. type: SS
-#: doc/tin.1:461
+#: doc/tin.1:491
 #, no-wrap
 msgid "COMMON MOVING KEYS"
 msgstr "COMMON MOVING KEYS"
 
 #. type: Plain text
-#: doc/tin.1:464
+#: doc/tin.1:494
 msgid ""
 "This table shows the common keys used for moving around all levels within "
 "B<tin>."
@@ -1290,13 +1343,13 @@ msgstr ""
 "B<tin>."
 
 #. type: ta
-#: doc/tin.1:466
+#: doc/tin.1:496
 #, no-wrap
 msgid "\\w'Beg. of list/article  'u +\\w'ANSI/vt100   'u"
 msgstr "\\w'Beg. of list/article  'u +\\w'ANSI/vt100   'u"
 
 #. type: Plain text
-#: doc/tin.1:474
+#: doc/tin.1:504
 #, no-wrap
 msgid ""
 "\tANSI/vt100\tOther Terminals\n"
@@ -1316,13 +1369,13 @@ msgstr ""
 "Line Down\tB<Down arrow>\tB<Down> (B<j> or B<^N>)\n"
 
 #. type: SS
-#: doc/tin.1:478
+#: doc/tin.1:508
 #, no-wrap
 msgid "COMMON EDITING COMMANDS"
 msgstr "COMMON EDITING COMMANDS"
 
 #. type: Plain text
-#: doc/tin.1:485
+#: doc/tin.1:515
 msgid ""
 "An B<\\%emacs>(1)  style editing package allows the easy editing of input "
 "strings.  A history list allows the easy reuse of previously entered "
@@ -1335,35 +1388,35 @@ msgstr ""
 "available when editing a string:"
 
 #. type: TP
-#: doc/tin.1:485
+#: doc/tin.1:515
 #, no-wrap
 msgid "B<^A, ^E>"
 msgstr "B<^A, ^E>"
 
 #. type: Plain text
-#: doc/tin.1:488
+#: doc/tin.1:518
 msgid "move to beginning or end of line, respectively."
 msgstr "move to beginning or end of line, respectively."
 
 #. type: TP
-#: doc/tin.1:488
+#: doc/tin.1:518
 #, no-wrap
 msgid "B<^F, ^B>"
 msgstr "B<^F, ^B>"
 
 #. type: Plain text
-#: doc/tin.1:491
+#: doc/tin.1:521
 msgid "non-destructive move forward or back one location, respectively."
 msgstr "non-destructive move forward or back one location, respectively."
 
 #. type: TP
-#: doc/tin.1:491
+#: doc/tin.1:521
 #, no-wrap
 msgid "B<^D>"
 msgstr "B<^D>"
 
 #. type: Plain text
-#: doc/tin.1:495
+#: doc/tin.1:525
 msgid ""
 "delete the character currently under the cursor, or send EOF if no "
 "characters in the buffer."
@@ -1372,57 +1425,57 @@ msgstr ""
 "characters in the buffer."
 
 #. type: TP
-#: doc/tin.1:495
+#: doc/tin.1:525
 #, no-wrap
 msgid "B<^H, E<lt>DELE<gt>>"
 msgstr "B<^H, E<lt>DELE<gt>>"
 
 #. type: Plain text
-#: doc/tin.1:498
+#: doc/tin.1:528
 msgid "delete character left of the cursor."
 msgstr "delete character left of the cursor."
 
 #. type: TP
-#: doc/tin.1:498
+#: doc/tin.1:528
 #, no-wrap
 msgid "B<^K>"
 msgstr "B<^K>"
 
 #. type: Plain text
-#: doc/tin.1:501
+#: doc/tin.1:531
 msgid "delete from cursor to end of line."
 msgstr "delete from cursor to end of line."
 
 #. type: TP
-#: doc/tin.1:501
+#: doc/tin.1:531
 #, no-wrap
 msgid "B<^P, ^N>"
 msgstr "B<^P, ^N>"
 
 #. type: Plain text
-#: doc/tin.1:504
+#: doc/tin.1:534
 msgid "move through history, previous and next, respectively."
 msgstr "move through history, previous and next, respectively."
 
 #. type: TP
-#: doc/tin.1:504
+#: doc/tin.1:534
 #, no-wrap
 msgid "B<^L, ^R>"
 msgstr "B<^L, ^R>"
 
 #. type: Plain text
-#: doc/tin.1:507
+#: doc/tin.1:537
 msgid "redraw the current line."
 msgstr "redraw the current line."
 
 #. type: TP
-#: doc/tin.1:507
+#: doc/tin.1:537
 #, no-wrap
 msgid "B<E<lt>CRE<gt>>"
 msgstr "B<E<lt>CRE<gt>>"
 
 #. type: Plain text
-#: doc/tin.1:511
+#: doc/tin.1:541
 msgid ""
 "places line on history list if non-blank, appends newline and returns to the "
 "caller."
@@ -1431,24 +1484,24 @@ msgstr ""
 "caller."
 
 #. type: TP
-#: doc/tin.1:511
+#: doc/tin.1:541
 #, no-wrap
 msgid "B<E<lt>ESCE<gt>>"
 msgstr "B<E<lt>ESCE<gt>>"
 
 #. type: Plain text
-#: doc/tin.1:516
+#: doc/tin.1:546
 msgid "aborts the present editing operation."
 msgstr "aborts the present editing operation."
 
 #. type: SS
-#: doc/tin.1:516
+#: doc/tin.1:546
 #, no-wrap
 msgid "GLOBAL COMMANDS"
 msgstr "GLOBAL COMMANDS"
 
 #. type: Plain text
-#: doc/tin.1:519
+#: doc/tin.1:549
 msgid ""
 "The following commands are available at all 4 menu levels and always have "
 "the same effect."
@@ -1457,13 +1510,13 @@ msgstr ""
 "the same effect."
 
 #. type: TP
-#: doc/tin.1:519 doc/tin.1:1419 doc/tin.1:1473 doc/tin.1:1519
+#: doc/tin.1:549 doc/tin.1:1455 doc/tin.1:1509 doc/tin.1:1555
 #, no-wrap
 msgid "B<ShellEscape '!'>"
 msgstr "B<ShellEscape '!'>"
 
 #. type: Plain text
-#: doc/tin.1:524
+#: doc/tin.1:554
 msgid ""
 "Shell escape. B<ShellEscape> by itself will launch a shell, B<ShellEscape> "
 "E<lt>commandE<gt> will run an external E<lt>commandE<gt>. This facility may "
@@ -1474,57 +1527,57 @@ msgstr ""
 "have been disabled by the System Administrator."
 
 #. type: TP
-#: doc/tin.1:524
+#: doc/tin.1:554
 #, no-wrap
 msgid "B<ToggleColor '&'>"
 msgstr "B<ToggleColor '&'>"
 
 #. type: Plain text
-#: doc/tin.1:527
+#: doc/tin.1:557
 msgid "Toggle use of ANSI color."
 msgstr "Toggle use of ANSI colour."
 
 #. type: TP
-#: doc/tin.1:527
+#: doc/tin.1:557
 #, no-wrap
 msgid "B<RedrawScr '^L'>"
 msgstr "B<RedrawScr '^L'>"
 
 #. type: Plain text
-#: doc/tin.1:530
+#: doc/tin.1:560
 msgid "Redraw the current screen."
 msgstr "Redraw the current screen."
 
 #. type: TP
-#: doc/tin.1:530
+#: doc/tin.1:560
 #, no-wrap
 msgid "B<ScrollUp 'E<lt>'>"
 msgstr "B<ScrollUp 'E<lt>'>"
 
 #. type: Plain text
-#: doc/tin.1:533
+#: doc/tin.1:563
 msgid "Scroll screen up by one line."
 msgstr "Scroll screen up by one line."
 
 #. type: TP
-#: doc/tin.1:533
+#: doc/tin.1:563
 #, no-wrap
 msgid "B<ScrollDown 'E<gt>'>"
 msgstr "B<ScrollDown 'E<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:536
+#: doc/tin.1:566
 msgid "Scroll screen down by one line."
 msgstr "Scroll screen down by one line."
 
 #. type: TP
-#: doc/tin.1:536
+#: doc/tin.1:566
 #, no-wrap
 msgid "B<Postponed 'O' '^O'>"
 msgstr "B<Postponed 'O' '^O'>"
 
 #. type: Plain text
-#: doc/tin.1:550
+#: doc/tin.1:580
 msgid ""
 "Reload postponed article. If your system blocks the B<Postponed> key you "
 "must quote it by pressing 'B<^V>' (CTRL-V) first. The postpone-menu offers "
@@ -1551,30 +1604,30 @@ msgstr ""
 "('B<^O>''B<y>''B<q>'). See also ''B<-o>'' command-line switch."
 
 #. type: TP
-#: doc/tin.1:550 doc/tin.1:1425 doc/tin.1:1480 doc/tin.1:1525
+#: doc/tin.1:580 doc/tin.1:1461 doc/tin.1:1516 doc/tin.1:1561
 #, no-wrap
 msgid "B<Help 'h'>"
 msgstr "B<Help 'h'>"
 
 #. type: Plain text
-#: doc/tin.1:556
+#: doc/tin.1:586
 msgid ""
 "Help screen of commands available on the current menu. You can use "
-"B<SearchSubjF> ('B</>'), B<SearchSubjB> ('B<?>') and B<SearchRepeat> ('B<"
-"\\(rs>') to search on this screen. B<Quit> ('B<q>') returns to the menu."
+"B<SearchSubjF> ('B</>'), B<SearchSubjB> ('B<?>') and B<SearchRepeat> "
+"('B<\\(rs>') to search on this screen. B<Quit> ('B<q>') returns to the menu."
 msgstr ""
 "Help screen of commands available on the current menu. You can use "
-"B<SearchSubjF> ('B</>'), B<SearchSubjB> ('B<?>') and B<SearchRepeat> ('B<"
-"\\(rs>') to search on this screen. B<Quit> ('B<q>') returns to the menu."
+"B<SearchSubjF> ('B</>'), B<SearchSubjB> ('B<?>') and B<SearchRepeat> "
+"('B<\\(rs>') to search on this screen. B<Quit> ('B<q>') returns to the menu."
 
 #. type: TP
-#: doc/tin.1:556 doc/tin.1:1428 doc/tin.1:1483 doc/tin.1:1528
+#: doc/tin.1:586 doc/tin.1:1464 doc/tin.1:1519 doc/tin.1:1564
 #, no-wrap
 msgid "B<ToggleHelpDisplay 'H'>"
 msgstr "B<ToggleHelpDisplay 'H'>"
 
 #. type: Plain text
-#: doc/tin.1:560 doc/tin.1:1432 doc/tin.1:1487 doc/tin.1:1532
+#: doc/tin.1:590 doc/tin.1:1468 doc/tin.1:1523 doc/tin.1:1568
 msgid ""
 "Toggle the display of help mini menu at the bottom of the screen and posting "
 "etiquette after composing an article (B<beginner_level>)."
@@ -1583,13 +1636,13 @@ msgstr ""
 "etiquette after composing an article (B<beginner_level>)."
 
 #. type: TP
-#: doc/tin.1:560
+#: doc/tin.1:590
 #, no-wrap
 msgid "B<DisplayPostHist 'W'>"
 msgstr "B<DisplayPostHist 'W'>"
 
 #. type: Plain text
-#: doc/tin.1:565
+#: doc/tin.1:595
 msgid ""
 "List articles posted by user. The date posted, the newsgroup and the subject "
 "are listed. See the section \"POSTING HISTORY LISTING\" for more information."
@@ -1598,42 +1651,42 @@ msgstr ""
 "are listed. See the section \"POSTING HISTORY LISTING\" for more information."
 
 #. type: TP
-#: doc/tin.1:565
+#: doc/tin.1:595
 #, no-wrap
 msgid "B<Version 'v'>"
 msgstr "B<Version 'v'>"
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:570
+#: doc/tin.1:600
 msgid "Print B<tin> version information."
 msgstr "Print B<tin> version information."
 
 #. type: SS
-#: doc/tin.1:570
+#: doc/tin.1:600
 #, no-wrap
 msgid "NEWSGROUP SELECTION COMMANDS"
 msgstr "NEWSGROUP SELECTION COMMANDS"
 
 #. type: TP
-#: doc/tin.1:571 doc/tin.1:712 doc/tin.1:967 doc/tin.1:1144 doc/tin.1:3737
+#: doc/tin.1:601 doc/tin.1:742 doc/tin.1:998 doc/tin.1:1176 doc/tin.1:3812
 #, no-wrap
 msgid "B<4>"
 msgstr "B<4>"
 
 #. type: Plain text
-#: doc/tin.1:574
+#: doc/tin.1:604
 msgid "Select group 4."
 msgstr "Select group 4."
 
 #. type: TP
-#: doc/tin.1:574
+#: doc/tin.1:604
 #, no-wrap
 msgid "B<SelectResetNewsrc '^R'>"
 msgstr "B<SelectResetNewsrc '^R'>"
 
 #. type: Plain text
-#: doc/tin.1:578
+#: doc/tin.1:608
 msgid ""
 "Reset I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file. This will destroy all "
 "records of which articles have been read, so use this carefully."
@@ -1642,13 +1695,13 @@ msgstr ""
 "records of which articles have been read, so use this carefully."
 
 #. type: TP
-#: doc/tin.1:578 doc/tin.1:733 doc/tin.1:988
+#: doc/tin.1:608 doc/tin.1:763 doc/tin.1:1019
 #, no-wrap
 msgid "B<SetRange '#'>"
 msgstr "B<SetRange '#'>"
 
 #. type: Plain text
-#: doc/tin.1:582 doc/tin.1:737 doc/tin.1:992
+#: doc/tin.1:612 doc/tin.1:767 doc/tin.1:1023
 msgid ""
 "Choose a range of articles to be affected by the next command. See the "
 "section \"RANGES\" for more information."
@@ -1657,72 +1710,72 @@ msgstr ""
 "section \"RANGES\" for more information."
 
 #. type: TP
-#: doc/tin.1:582
+#: doc/tin.1:612
 #, no-wrap
 msgid "B<SelectSortActive '.'>"
 msgstr "B<SelectSortActive '.'>"
 
 #. type: Plain text
-#: doc/tin.1:585
+#: doc/tin.1:615
 msgid "Sort the list of newsgroups."
 msgstr "Sort the list of newsgroups."
 
 #. type: TP
-#: doc/tin.1:585 doc/tin.1:740 doc/tin.1:995 doc/tin.1:1201 doc/tin.1:1416
-#: doc/tin.1:1467 doc/tin.1:1516
+#: doc/tin.1:615 doc/tin.1:770 doc/tin.1:1026 doc/tin.1:1236 doc/tin.1:1452
+#: doc/tin.1:1503 doc/tin.1:1552
 #, no-wrap
 msgid "B<SearchRepeat '\\(rs'>"
 msgstr "B<SearchRepeat '\\(rs'>"
 
 #. type: Plain text
-#: doc/tin.1:588 doc/tin.1:743 doc/tin.1:998 doc/tin.1:1204 doc/tin.1:1419
-#: doc/tin.1:1470 doc/tin.1:1519
+#: doc/tin.1:618 doc/tin.1:773 doc/tin.1:1029 doc/tin.1:1239 doc/tin.1:1455
+#: doc/tin.1:1506 doc/tin.1:1555
 msgid "Repeat the previous search."
 msgstr "Repeat the previous search."
 
 #. type: TP
-#: doc/tin.1:588 doc/tin.1:743 doc/tin.1:998 doc/tin.1:1204 doc/tin.1:1410
-#: doc/tin.1:1461 doc/tin.1:1510
+#: doc/tin.1:618 doc/tin.1:773 doc/tin.1:1029 doc/tin.1:1239 doc/tin.1:1446
+#: doc/tin.1:1497 doc/tin.1:1546
 #, no-wrap
 msgid "B<SearchSubjF '/'>"
 msgstr "B<SearchSubjF '/'>"
 
 #. type: Plain text
-#: doc/tin.1:591
+#: doc/tin.1:621
 msgid "Search for a group by name and description (if displayed)."
 msgstr "Search for a group by name and description (if displayed)."
 
 #. type: TP
-#: doc/tin.1:591 doc/tin.1:746 doc/tin.1:1001 doc/tin.1:1207 doc/tin.1:1413
-#: doc/tin.1:1464 doc/tin.1:1513
+#: doc/tin.1:621 doc/tin.1:776 doc/tin.1:1032 doc/tin.1:1242 doc/tin.1:1449
+#: doc/tin.1:1500 doc/tin.1:1549
 #, no-wrap
 msgid "B<SearchSubjB '?'>"
 msgstr "B<SearchSubjB '?'>"
 
 #. type: Plain text
-#: doc/tin.1:594
+#: doc/tin.1:624
 msgid "Backward search through the group names and descriptions."
 msgstr "Backward search through the group names and descriptions."
 
 #. type: TP
-#: doc/tin.1:594
+#: doc/tin.1:624
 #, no-wrap
 msgid "B<SelectReadGrp '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<SelectReadGrp '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:597
+#: doc/tin.1:627
 msgid "Read current group."
 msgstr "Read current group."
 
 #. type: TP
-#: doc/tin.1:597
+#: doc/tin.1:627
 #, no-wrap
 msgid "B<SelectEnterNextUnreadGrp 'E<lt>TABE<gt>' 'n'>"
 msgstr "B<SelectEnterNextUnreadGrp 'E<lt>TABE<gt>' 'n'>"
 
 #. type: Plain text
-#: doc/tin.1:601
+#: doc/tin.1:631
 msgid ""
 "Enter next group with unread news. Will wrap around to the beginning of the "
 "group selection list looking for unread groups."
@@ -1731,13 +1784,13 @@ msgstr ""
 "group selection list looking for unread groups."
 
 #. type: TP
-#: doc/tin.1:601 doc/tin.1:821 doc/tin.1:1039 doc/tin.1:1265
+#: doc/tin.1:631 doc/tin.1:851 doc/tin.1:1070 doc/tin.1:1300
 #, no-wrap
 msgid "B<Catchup 'c'>"
 msgstr "B<Catchup 'c'>"
 
 #. type: Plain text
-#: doc/tin.1:605
+#: doc/tin.1:635
 msgid ""
 "Make current group as all read [after confirmation] and move to the next "
 "group in the group selection list."
@@ -1746,13 +1799,13 @@ msgstr ""
 "group in the group selection list."
 
 #. type: TP
-#: doc/tin.1:605 doc/tin.1:825 doc/tin.1:1043 doc/tin.1:1269
+#: doc/tin.1:635 doc/tin.1:855 doc/tin.1:1074 doc/tin.1:1304
 #, no-wrap
 msgid "B<CatchupNextUnread 'C'>"
 msgstr "B<CatchupNextUnread 'C'>"
 
 #. type: Plain text
-#: doc/tin.1:609
+#: doc/tin.1:639
 msgid ""
 "Mark current group as all read [after confirmation] and enter the next "
 "unread group in the group selection list."
@@ -1761,13 +1814,13 @@ msgstr ""
 "unread group in the group selection list."
 
 #. type: TP
-#: doc/tin.1:609
+#: doc/tin.1:639
 #, no-wrap
 msgid "B<SelectToggleDescriptions 'd'>"
 msgstr "B<SelectToggleDescriptions 'd'>"
 
 #. type: Plain text
-#: doc/tin.1:613
+#: doc/tin.1:643
 msgid ""
 "Toggle display to show just the group name or the group name and the group "
 "descriptions."
@@ -1776,24 +1829,24 @@ msgstr ""
 "descriptions."
 
 #. type: TP
-#: doc/tin.1:613 doc/tin.1:838 doc/tin.1:1056 doc/tin.1:1281
+#: doc/tin.1:643 doc/tin.1:868 doc/tin.1:1087 doc/tin.1:1316
 #, no-wrap
 msgid "B<EditFilter 'E'>"
 msgstr "B<EditFilter 'E'>"
 
 #. type: Plain text
-#: doc/tin.1:616 doc/tin.1:841 doc/tin.1:1059 doc/tin.1:1284
+#: doc/tin.1:646 doc/tin.1:871 doc/tin.1:1090 doc/tin.1:1319
 msgid "Edit the filter file and reload it afterwards."
 msgstr "Edit the filter file and reload it afterwards."
 
 #. type: TP
-#: doc/tin.1:616
+#: doc/tin.1:646
 #, no-wrap
 msgid "B<SelectGoto 'g'>"
 msgstr "B<SelectGoto 'g'>"
 
 #. type: Plain text
-#: doc/tin.1:620 doc/tin.1:845
+#: doc/tin.1:650 doc/tin.1:875
 msgid ""
 "Choose a new group by name. This command can be used to access any group, "
 "even those not currently yanked in."
@@ -1802,14 +1855,14 @@ msgstr ""
 "even those not currently yanked in."
 
 #. type: TP
-#: doc/tin.1:620 doc/tin.1:848 doc/tin.1:1065 doc/tin.1:1297 doc/tin.1:1422
-#: doc/tin.1:1476 doc/tin.1:1522
+#: doc/tin.1:650 doc/tin.1:878 doc/tin.1:1096 doc/tin.1:1332 doc/tin.1:1458
+#: doc/tin.1:1512 doc/tin.1:1558
 #, no-wrap
 msgid "B<ToggleInfoLastLine 'i'>"
 msgstr "B<ToggleInfoLastLine 'i'>"
 
 #. type: Plain text
-#: doc/tin.1:625
+#: doc/tin.1:655
 msgid ""
 "Toggle the display of the description of the current newsgroup in the last "
 "line. This will not be available if B<tin> was started with the \\&''B<-d>'' "
@@ -1820,35 +1873,35 @@ msgstr ""
 "option."
 
 #. type: TP
-#: doc/tin.1:625 doc/tin.1:852 doc/tin.1:1068 doc/tin.1:1300
+#: doc/tin.1:655 doc/tin.1:882 doc/tin.1:1099 doc/tin.1:1335
 #, no-wrap
 msgid "B<ToggleInverseVideo 'I'>"
 msgstr "B<ToggleInverseVideo 'I'>"
 
 #. type: Plain text
-#: doc/tin.1:628 doc/tin.1:855 doc/tin.1:1071 doc/tin.1:1303
+#: doc/tin.1:658 doc/tin.1:885 doc/tin.1:1102 doc/tin.1:1338
 msgid "Toggle inverse video."
 msgstr "Toggle inverse video."
 
 #. type: TP
-#: doc/tin.1:628 doc/tin.1:855 doc/tin.1:1071 doc/tin.1:1303
+#: doc/tin.1:658 doc/tin.1:885 doc/tin.1:1102 doc/tin.1:1338
 #, no-wrap
 msgid "B<ConnectionInfo 'J'>"
 msgstr "B<ConnectionInfo 'J'>"
 
 #. type: Plain text
-#: doc/tin.1:631 doc/tin.1:858 doc/tin.1:1074 doc/tin.1:1306
+#: doc/tin.1:661 doc/tin.1:888 doc/tin.1:1105 doc/tin.1:1341
 msgid "Show details about current connection."
 msgstr "Show details about current connection."
 
 #. type: TP
-#: doc/tin.1:631 doc/tin.1:867 doc/tin.1:1080 doc/tin.1:1312
+#: doc/tin.1:661 doc/tin.1:897 doc/tin.1:1111 doc/tin.1:1347
 #, no-wrap
 msgid "B<LookupMessage 'L'>"
 msgstr "B<LookupMessage 'L'>"
 
 #. type: Plain text
-#: doc/tin.1:638
+#: doc/tin.1:668
 msgid ""
 "Look up article by ''Message-ID:''. If none of the groups listed in the "
 "''Newsgroups:''-header of the referenced article is available, just the "
@@ -1863,13 +1916,13 @@ msgstr ""
 "supports [X]HDR (B<RFC\\%2980>, B<RFC\\%3977>) or XPAT (B<RFC\\%2980>)."
 
 #. type: TP
-#: doc/tin.1:638
+#: doc/tin.1:668
 #, no-wrap
 msgid "B<SelectMoveGrp 'm'>"
 msgstr "B<SelectMoveGrp 'm'>"
 
 #. type: Plain text
-#: doc/tin.1:644
+#: doc/tin.1:674
 msgid ""
 "Move the current group within the group selection list. By entering '1' the "
 "group will become the first displayed group in the list, by entering '8' the "
@@ -1882,13 +1935,13 @@ msgstr ""
 "group displayed."
 
 #. type: TP
-#: doc/tin.1:644 doc/tin.1:875 doc/tin.1:1320
+#: doc/tin.1:674 doc/tin.1:906 doc/tin.1:1356
 #, no-wrap
 msgid "B<OptionMenu 'M'>"
 msgstr "B<OptionMenu 'M'>"
 
 #. type: Plain text
-#: doc/tin.1:648 doc/tin.1:879 doc/tin.1:1324
+#: doc/tin.1:678 doc/tin.1:910 doc/tin.1:1360
 msgid ""
 "User configurable options menu (for more information see section \"GLOBAL "
 "OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES\")."
@@ -1897,24 +1950,24 @@ msgstr ""
 "OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES\")."
 
 #. type: TP
-#: doc/tin.1:648
+#: doc/tin.1:678
 #, no-wrap
 msgid "B<SelectNextUnreadGrp 'N'>"
 msgstr "B<SelectNextUnreadGrp 'N'>"
 
 #. type: Plain text
-#: doc/tin.1:651
+#: doc/tin.1:681
 msgid "Positions the cursor on the next group with unread articles in it."
 msgstr "Positions the cursor on the next group with unread articles in it."
 
 #. type: TP
-#: doc/tin.1:651 doc/tin.1:896 doc/tin.1:1093 doc/tin.1:1341
+#: doc/tin.1:681 doc/tin.1:927 doc/tin.1:1125 doc/tin.1:1377
 #, no-wrap
 msgid "B<Quit 'q'>"
 msgstr "B<Quit 'q'>"
 
 #. type: Plain text
-#: doc/tin.1:655
+#: doc/tin.1:685
 msgid ""
 "Quit B<tin> \\(em ask the user to confirm if B<confirm_choice> is set "
 "accordingly."
@@ -1923,24 +1976,24 @@ msgstr ""
 "accordingly."
 
 #. type: TP
-#: doc/tin.1:655 doc/tin.1:899 doc/tin.1:1096 doc/tin.1:1344
+#: doc/tin.1:685 doc/tin.1:930 doc/tin.1:1128 doc/tin.1:1380
 #, no-wrap
 msgid "B<QuitTin 'Q'>"
 msgstr "B<QuitTin 'Q'>"
 
 #. type: Plain text
-#: doc/tin.1:658 doc/tin.1:902 doc/tin.1:1099 doc/tin.1:1347
+#: doc/tin.1:688 doc/tin.1:933 doc/tin.1:1131 doc/tin.1:1383
 msgid "Quit B<tin> \\(em don't ask the user to confirm."
 msgstr "Quit B<tin> \\(em don't ask the user to confirm."
 
 #. type: TP
-#: doc/tin.1:658
+#: doc/tin.1:688
 #, no-wrap
 msgid "B<SelectToggleReadDisplay 'r'>"
 msgstr "B<SelectToggleReadDisplay 'r'>"
 
 #. type: Plain text
-#: doc/tin.1:663
+#: doc/tin.1:693
 msgid ""
 "Toggle display of all subscribed to groups and just those groups containing "
 "unread articles. Command has no effect if groups were specified on the "
@@ -1951,13 +2004,13 @@ msgstr ""
 "command-line when B<tin> was started."
 
 #. type: TP
-#: doc/tin.1:663 doc/tin.1:905 doc/tin.1:1099
+#: doc/tin.1:693 doc/tin.1:936 doc/tin.1:1131
 #, no-wrap
 msgid "B<BugReport 'R'>"
 msgstr "B<BugReport 'R'>"
 
 #. type: Plain text
-#: doc/tin.1:667 doc/tin.1:909 doc/tin.1:1103
+#: doc/tin.1:697 doc/tin.1:940 doc/tin.1:1135
 msgid ""
 "Mail a bug report or comment to E<lt>tin-bugs@tin.orgE<gt>. This is the best "
 "way of getting bugs fixed and features added/changed."
@@ -1966,24 +2019,24 @@ msgstr ""
 "way of getting bugs fixed and features added/changed."
 
 #. type: TP
-#: doc/tin.1:667
+#: doc/tin.1:697
 #, no-wrap
 msgid "B<SelectSubscribe 's'>"
 msgstr "B<SelectSubscribe 's'>"
 
 #. type: Plain text
-#: doc/tin.1:670
+#: doc/tin.1:700
 msgid "Subscribe to current group."
 msgstr "Subscribe to current group."
 
 #. type: TP
-#: doc/tin.1:670
+#: doc/tin.1:700
 #, no-wrap
 msgid "B<SelectSubscribePat 'S'>"
 msgstr "B<SelectSubscribePat 'S'>"
 
 #. type: Plain text
-#: doc/tin.1:675
+#: doc/tin.1:705
 msgid ""
 "Subscribe to groups matching user specified pattern. See the section "
 "\"NEWSGROUP LISTS & WILDCARDS\" for the types of pattern that B<tin> "
@@ -1994,30 +2047,30 @@ msgstr ""
 "understands."
 
 #. type: TP
-#: doc/tin.1:675
+#: doc/tin.1:705
 #, no-wrap
 msgid "B<SelectUnsubscribe 'u'>"
 msgstr "B<SelectUnsubscribe 'u'>"
 
 #. type: Plain text
-#: doc/tin.1:680
+#: doc/tin.1:710
 msgid ""
 "Unsubscribe to current group. This can be used to remove bogus groups.  See "
-"B<strip_bogus> in the \"GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES"
-"\" section."
+"B<strip_bogus> in the \"GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE "
+"VARIABLES\" section."
 msgstr ""
 "Unsubscribe to current group. This can be used to remove bogus groups.  See "
-"B<strip_bogus> in the \"GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES"
-"\" section."
+"B<strip_bogus> in the \"GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE "
+"VARIABLES\" section."
 
 #. type: TP
-#: doc/tin.1:680
+#: doc/tin.1:710
 #, no-wrap
 msgid "B<SelectUnsubscribePat 'U'>"
 msgstr "B<SelectUnsubscribePat 'U'>"
 
 #. type: Plain text
-#: doc/tin.1:685
+#: doc/tin.1:715
 msgid ""
 "Unsubscribe to groups matching user specified pattern. See the section "
 "\"NEWSGROUP LISTS & WILDCARDS\" for the types of pattern that B<tin> "
@@ -2028,13 +2081,13 @@ msgstr ""
 "understands."
 
 #. type: TP
-#: doc/tin.1:685 doc/tin.1:934 doc/tin.1:1122 doc/tin.1:1381
+#: doc/tin.1:715 doc/tin.1:965 doc/tin.1:1154 doc/tin.1:1417
 #, no-wrap
 msgid "B<Post 'w'>"
 msgstr "B<Post 'w'>"
 
 #. type: Plain text
-#: doc/tin.1:691
+#: doc/tin.1:721
 msgid ""
 "Post an article to current group. If posting fails for some reason, you'll "
 "get the chance to B<PostEdit> ('B<e>') the article again, B<PostPostpone> "
@@ -2047,24 +2100,24 @@ msgstr ""
 "discard it via B<Quit> ('B<q>')."
 
 #. type: TP
-#: doc/tin.1:691
+#: doc/tin.1:721
 #, no-wrap
 msgid "B<SelectQuitNoWrite 'X'>"
 msgstr "B<SelectQuitNoWrite 'X'>"
 
 #. type: Plain text
-#: doc/tin.1:694
+#: doc/tin.1:724
 msgid "Quit B<tin> without saving any changes to the configuration."
 msgstr "Quit B<tin> without saving any changes to the configuration."
 
 #. type: TP
-#: doc/tin.1:694
+#: doc/tin.1:724
 #, no-wrap
 msgid "B<SelectYankActive 'y'>"
 msgstr "B<SelectYankActive 'y'>"
 
 #. type: Plain text
-#: doc/tin.1:699
+#: doc/tin.1:729
 msgid ""
 "Yanks in all groups. Toggles the displayed groups between all the groups in "
 "the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file and just "
@@ -2075,13 +2128,13 @@ msgstr ""
 "those that are subscribed to in I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>."
 
 #. type: TP
-#: doc/tin.1:699
+#: doc/tin.1:729
 #, no-wrap
 msgid "B<SelectSyncWithActive 'Y'>"
 msgstr "B<SelectSyncWithActive 'Y'>"
 
 #. type: Plain text
-#: doc/tin.1:703
+#: doc/tin.1:733
 msgid ""
 "Reread the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file "
 "to see if any new news has arrived since starting B<tin>."
@@ -2090,25 +2143,25 @@ msgstr ""
 "to see if any new news has arrived since starting B<tin>."
 
 #. type: TP
-#: doc/tin.1:703
+#: doc/tin.1:733
 #, no-wrap
 msgid "B<SelectMarkGrpUnread 'z' 'Z'>"
 msgstr "B<SelectMarkGrpUnread 'z' 'Z'>"
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:708
+#: doc/tin.1:738
 msgid "Mark all articles in the current group as unread."
 msgstr "Mark all articles in the current group as unread."
 
 #. type: SS
-#: doc/tin.1:708
+#: doc/tin.1:738
 #, no-wrap
 msgid "GROUP INDEX COMMANDS"
 msgstr "GROUP INDEX COMMANDS"
 
 #. type: Plain text
-#: doc/tin.1:712
+#: doc/tin.1:742
 msgid ""
 "All searches in this level are limited to unread articles if in "
 "B<show_only_unread_arts> mode. B<GroupToggleReadUnread> ('B<r>')  can be use "
@@ -2119,18 +2172,18 @@ msgstr ""
 "toggle the setting right before/after the search."
 
 #. type: Plain text
-#: doc/tin.1:715
+#: doc/tin.1:745
 msgid "Select article 4."
 msgstr "Select article 4."
 
 #. type: TP
-#: doc/tin.1:715 doc/tin.1:970 doc/tin.1:1147
+#: doc/tin.1:745 doc/tin.1:1001 doc/tin.1:1179
 #, no-wrap
 msgid "B<MenuFilterSelect '^A'>"
 msgstr "B<MenuFilterSelect '^A'>"
 
 #. type: Plain text
-#: doc/tin.1:719 doc/tin.1:974 doc/tin.1:1151
+#: doc/tin.1:749 doc/tin.1:1005 doc/tin.1:1183
 msgid ""
 "Auto select article(s) using a menu. Read the section \"FILTERING ARTICLES\" "
 "for more information."
@@ -2139,13 +2192,13 @@ msgstr ""
 "for more information."
 
 #. type: TP
-#: doc/tin.1:719 doc/tin.1:974 doc/tin.1:1166
+#: doc/tin.1:749 doc/tin.1:1005 doc/tin.1:1198
 #, no-wrap
 msgid "B<MenuFilterKill '^K'>"
 msgstr "B<MenuFilterKill '^K'>"
 
 #. type: Plain text
-#: doc/tin.1:723 doc/tin.1:978 doc/tin.1:1170
+#: doc/tin.1:753 doc/tin.1:1009 doc/tin.1:1202
 msgid ""
 "Kill article(s) using a menu. Read the section \"FILTERING ARTICLES\" for "
 "more information."
@@ -2154,13 +2207,13 @@ msgstr ""
 "more information."
 
 #. type: TP
-#: doc/tin.1:723 doc/tin.1:978
+#: doc/tin.1:753 doc/tin.1:1009
 #, no-wrap
 msgid "B<MarkFeedRead '^X'>"
 msgstr "B<MarkFeedRead '^X'>"
 
 #. type: Plain text
-#: doc/tin.1:728 doc/tin.1:983
+#: doc/tin.1:758 doc/tin.1:1014
 msgid ""
 "Mark current article, thread, range, auto-selected (hot) articles, articles "
 "matching pattern or tagged articles as read. A prompt asks which type should "
@@ -2171,13 +2224,13 @@ msgstr ""
 "be marked."
 
 #. type: TP
-#: doc/tin.1:728 doc/tin.1:983
+#: doc/tin.1:758 doc/tin.1:1014
 #, no-wrap
 msgid "B<MarkFeedUnread '^W'>"
 msgstr "B<MarkFeedUnread '^W'>"
 
 #. type: Plain text
-#: doc/tin.1:733 doc/tin.1:988
+#: doc/tin.1:763 doc/tin.1:1019
 msgid ""
 "Mark current article, thread, range, auto-selected (hot) articles, articles "
 "matching pattern or tagged articles as unread. A prompt asks which type "
@@ -2188,45 +2241,45 @@ msgstr ""
 "should be marked."
 
 #. type: TP
-#: doc/tin.1:737 doc/tin.1:992 doc/tin.1:1198
+#: doc/tin.1:767 doc/tin.1:1023 doc/tin.1:1233
 #, no-wrap
 msgid "B<LastViewed '-'>"
 msgstr "B<LastViewed '-'>"
 
 #. type: Plain text
-#: doc/tin.1:740 doc/tin.1:995 doc/tin.1:1201
+#: doc/tin.1:770 doc/tin.1:1026 doc/tin.1:1236
 msgid "Re-enter the last message that was viewed."
 msgstr "Re-enter the last message that was viewed."
 
 #. type: Plain text
-#: doc/tin.1:746 doc/tin.1:1001
+#: doc/tin.1:776 doc/tin.1:1032
 msgid "Search forward for specified subject."
 msgstr "Search forward for specified subject."
 
 #. type: Plain text
-#: doc/tin.1:749 doc/tin.1:1004
+#: doc/tin.1:779 doc/tin.1:1035
 msgid "Search backwards for specified subject."
 msgstr "Search backwards for specified subject."
 
 #. type: TP
-#: doc/tin.1:749
+#: doc/tin.1:779
 #, no-wrap
 msgid "B<GroupSelThd '*'>"
 msgstr "B<GroupSelThd '*'>"
 
 #. type: Plain text
-#: doc/tin.1:752 doc/tin.1:1007
+#: doc/tin.1:782 doc/tin.1:1038
 msgid "Select current thread for later processing."
 msgstr "Select current thread for later processing."
 
 #. type: TP
-#: doc/tin.1:752
+#: doc/tin.1:782
 #, no-wrap
 msgid "B<GroupDoAutoSel '+'>"
 msgstr "B<GroupDoAutoSel '+'>"
 
 #. type: Plain text
-#: doc/tin.1:756
+#: doc/tin.1:786
 msgid ""
 "Selects all threads in current group. It is a shortcut for calling "
 "B<GroupSelPattern> with a pattern of ''*''."
@@ -2235,13 +2288,13 @@ msgstr ""
 "B<GroupSelPattern> with a pattern of ''*''."
 
 #. type: TP
-#: doc/tin.1:756
+#: doc/tin.1:786
 #, no-wrap
 msgid "B<GroupToggleThdSel '.'>"
 msgstr "B<GroupToggleThdSel '.'>"
 
 #. type: Plain text
-#: doc/tin.1:761
+#: doc/tin.1:791
 msgid ""
 "Toggle selection of current thread. If at least one unread article, (but not "
 "every unread article) in the current thread is selected, then all unread "
@@ -2252,13 +2305,13 @@ msgstr ""
 "articles become selected."
 
 #. type: TP
-#: doc/tin.1:761
+#: doc/tin.1:791
 #, no-wrap
 msgid "B<GroupSelThdIfUnreadSelected ';'>"
 msgstr "B<GroupSelThdIfUnreadSelected ';'>"
 
 #. type: Plain text
-#: doc/tin.1:766
+#: doc/tin.1:796
 msgid ""
 "For each thread in current group, if it at least one unread article is "
 "selected, all unread articles become selected. This is useful for auto-"
@@ -2269,43 +2322,43 @@ msgstr ""
 "selection on author where reader wants to see entire thread."
 
 #. type: TP
-#: doc/tin.1:766
+#: doc/tin.1:796
 #, no-wrap
 msgid "B<GroupSelPattern '='>"
 msgstr "B<GroupSelPattern '='>"
 
 #. type: Plain text
-#: doc/tin.1:772
+#: doc/tin.1:802
 msgid ""
 "Prompts for a pattern with which to match on. All threads whose subjects "
 "match the pattern will be marked selected. A pattern of ''*'' will match all "
-"subjects. Entering just 'B<E<lt>CRE<gt>>' will re-use the last pattern that "
+"subjects. Entering just 'B<E<lt>CRE<gt>>' will reuse the last pattern that "
 "was entered."
 msgstr ""
 "Prompts for a pattern with which to match on. All threads whose subjects "
 "match the pattern will be marked selected. A pattern of ''*'' will match all "
-"subjects. Entering just 'B<E<lt>CRE<gt>>' will re-use the last pattern that "
+"subjects. Entering just 'B<E<lt>CRE<gt>>' will reuse the last pattern that "
 "was entered."
 
 #. type: TP
-#: doc/tin.1:772
+#: doc/tin.1:802
 #, no-wrap
 msgid "B<GroupReverseSel '@'>"
 msgstr "B<GroupReverseSel '@'>"
 
 #. type: Plain text
-#: doc/tin.1:775
+#: doc/tin.1:805
 msgid "Reverse all selections on all articles."
 msgstr "Reverse all selections on all articles."
 
 #. type: TP
-#: doc/tin.1:775
+#: doc/tin.1:805
 #, no-wrap
 msgid "B<GroupUndoSel '~'>"
 msgstr "B<GroupUndoSel '~'>"
 
 #. type: Plain text
-#: doc/tin.1:781
+#: doc/tin.1:811
 msgid ""
 "Undo all selections on all articles. It clears the toggle effect of "
 "B<GroupMarkUnselArtRead> ('B<X>') command. Thus after first doing a "
@@ -2318,13 +2371,13 @@ msgstr ""
 "Thus, one can iteratively whittle down uninteresting threads."
 
 #. type: TP
-#: doc/tin.1:781 doc/tin.1:1016 doc/tin.1:1224
+#: doc/tin.1:811 doc/tin.1:1047 doc/tin.1:1259
 #, no-wrap
 msgid "B<Pipe '|'>"
 msgstr "B<Pipe '|'>"
 
 #. type: Plain text
-#: doc/tin.1:786 doc/tin.1:1021 doc/tin.1:1229
+#: doc/tin.1:816 doc/tin.1:1052 doc/tin.1:1264
 msgid ""
 "Pipe current article / thread / auto-selected (hot) articles / articles "
 "matching pattern / tagged articles into command. See the section \"MAILING "
@@ -2335,13 +2388,13 @@ msgstr ""
 "PIPING PRINTING REPOSTING AND SAVING ARTICLES\" for more information."
 
 #. type: TP
-#: doc/tin.1:786 doc/tin.1:1229
+#: doc/tin.1:816 doc/tin.1:1264
 #, no-wrap
 msgid "B<QuickFilterSelect '['>"
 msgstr "B<QuickFilterSelect '['>"
 
 #. type: Plain text
-#: doc/tin.1:795
+#: doc/tin.1:825
 msgid ""
 "Auto select article(s) with a single key [after confirmation]. The defaults "
 "used for selection are based upon the following four tinrc config variables: "
@@ -2360,13 +2413,13 @@ msgstr ""
 "information on filtering."
 
 #. type: TP
-#: doc/tin.1:795 doc/tin.1:1238
+#: doc/tin.1:825 doc/tin.1:1273
 #, no-wrap
 msgid "B<QuickFilterKill ']'>"
 msgstr "B<QuickFilterKill ']'>"
 
 #. type: Plain text
-#: doc/tin.1:804
+#: doc/tin.1:834
 msgid ""
 "Kill article(s) with a single key [after confirmation]. The defaults used "
 "for killing are based upon the following four tinrc config variables: "
@@ -2385,35 +2438,35 @@ msgstr ""
 "information on filtering."
 
 #. type: TP
-#: doc/tin.1:804
+#: doc/tin.1:834
 #, no-wrap
 msgid "B<GroupReadBasenote '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<GroupReadBasenote '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:807
+#: doc/tin.1:837
 msgid "Read current article."
 msgstr "Read current article."
 
 #. type: TP
-#: doc/tin.1:807
+#: doc/tin.1:837
 #, no-wrap
 msgid "B<GroupNextUnreadArtOrGrp 'E<lt>TABE<gt>'>"
 msgstr "B<GroupNextUnreadArtOrGrp 'E<lt>TABE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:810
+#: doc/tin.1:840
 msgid "View next unread article or group."
 msgstr "View next unread article or group."
 
 #. type: TP
-#: doc/tin.1:810 doc/tin.1:1027 doc/tin.1:1255
+#: doc/tin.1:840 doc/tin.1:1058 doc/tin.1:1290
 #, no-wrap
 msgid "B<SearchAuthF 'a'>"
 msgstr "B<SearchAuthF 'a'>"
 
 #. type: Plain text
-#: doc/tin.1:814
+#: doc/tin.1:844
 msgid ""
 "Author forward search. This searches for articles with a specific ''From:'' "
 "line."
@@ -2422,24 +2475,24 @@ msgstr ""
 "line."
 
 #. type: TP
-#: doc/tin.1:814 doc/tin.1:1032 doc/tin.1:1258
+#: doc/tin.1:844 doc/tin.1:1063 doc/tin.1:1293
 #, no-wrap
 msgid "B<SearchAuthB 'A'>"
 msgstr "B<SearchAuthB 'A'>"
 
 #. type: Plain text
-#: doc/tin.1:817 doc/tin.1:1035
+#: doc/tin.1:847 doc/tin.1:1066
 msgid "Author backward search. Otherwise, see B<SearchAuthF> ('B<a>') above."
 msgstr "Author backward search. Otherwise, see B<SearchAuthF> ('B<a>') above."
 
 #. type: TP
-#: doc/tin.1:817 doc/tin.1:1035 doc/tin.1:1261
+#: doc/tin.1:847 doc/tin.1:1066 doc/tin.1:1296
 #, no-wrap
 msgid "B<SearchBody 'B'>"
 msgstr "B<SearchBody 'B'>"
 
 #. type: Plain text
-#: doc/tin.1:821 doc/tin.1:1039 doc/tin.1:1265
+#: doc/tin.1:851 doc/tin.1:1070 doc/tin.1:1300
 msgid ""
 "Search the body of all articles in group (can be slow). You can abort the "
 "search using B<Quit> ('B<q>')."
@@ -2448,7 +2501,7 @@ msgstr ""
 "search using B<Quit> ('B<q>')."
 
 #. type: Plain text
-#: doc/tin.1:825
+#: doc/tin.1:855
 msgid ""
 "Mark all articles as read [after confirmation] then return to the group "
 "selection list. Move cursor to next group."
@@ -2457,7 +2510,7 @@ msgstr ""
 "selection list. Move cursor to next group."
 
 #. type: Plain text
-#: doc/tin.1:829
+#: doc/tin.1:859
 msgid ""
 "Mark all articles as read [after confirmation] and enter the next group with "
 "unread news."
@@ -2466,13 +2519,13 @@ msgstr ""
 "unread news."
 
 #. type: TP
-#: doc/tin.1:829
+#: doc/tin.1:859
 #, no-wrap
 msgid "B<GroupToggleSubjDisplay 'd'>"
 msgstr "B<GroupToggleSubjDisplay 'd'>"
 
 #. type: Plain text
-#: doc/tin.1:833 doc/tin.1:1051
+#: doc/tin.1:863 doc/tin.1:1082
 msgid ""
 "Cycle the display of the author through all the possible options for the "
 "tinrc variable B<show_author>."
@@ -2481,13 +2534,13 @@ msgstr ""
 "tinrc variable B<show_author>."
 
 #. type: TP
-#: doc/tin.1:833
+#: doc/tin.1:863
 #, no-wrap
 msgid "B<GroupCancel 'D'>"
 msgstr "B<GroupCancel 'D'>"
 
 #. type: Plain text
-#: doc/tin.1:838 doc/tin.1:1056 doc/tin.1:1278
+#: doc/tin.1:868 doc/tin.1:1087 doc/tin.1:1313
 msgid ""
 "Cancel (delete) or supersede (overwrite) the current article. It must have "
 "been posted by the same user. The cancel message can be seen in the "
@@ -2498,24 +2551,24 @@ msgstr ""
 "newsgroup 'control' or 'control.cancel'."
 
 #. type: TP
-#: doc/tin.1:841
+#: doc/tin.1:871
 #, no-wrap
 msgid "B<GroupGoto 'g'>"
 msgstr "B<GroupGoto 'g'>"
 
 #. type: TP
-#: doc/tin.1:845
+#: doc/tin.1:875
 #, no-wrap
 msgid "B<GroupToggleGetartLimit 'G'>"
 msgstr "B<GroupToggleGetartLimit 'G'>"
 
 #. type: Plain text
-#: doc/tin.1:848
+#: doc/tin.1:878
 msgid "Toggle article/group limit."
 msgstr "Toggle article/group limit."
 
 #. type: Plain text
-#: doc/tin.1:852
+#: doc/tin.1:882
 msgid ""
 "Display the subject of the first article in the current thread in the last "
 "line."
@@ -2524,13 +2577,13 @@ msgstr ""
 "line."
 
 #. type: TP
-#: doc/tin.1:858
+#: doc/tin.1:888
 #, no-wrap
 msgid "B<GroupMarkThdRead 'K'>"
 msgstr "B<GroupMarkThdRead 'K'>"
 
 #. type: Plain text
-#: doc/tin.1:864
+#: doc/tin.1:894
 msgid ""
 "Mark article/thread as read and move onto the next unread article/thread. If "
 "a range of articles/threads is set, the range will be marked as read instead "
@@ -2543,29 +2596,33 @@ msgstr ""
 "prompt asks how to proceed."
 
 #. type: TP
-#: doc/tin.1:864
+#: doc/tin.1:894
 #, no-wrap
 msgid "B<GroupListThd 'l'>"
 msgstr "B<GroupListThd 'l'>"
 
 #. type: Plain text
-#: doc/tin.1:867
+#: doc/tin.1:897
 msgid "Open the thread under the current cursor position."
 msgstr "Open the thread under the current cursor position."
 
 #. type: Plain text
-#: doc/tin.1:870 doc/tin.1:1083 doc/tin.1:1315
-msgid "Look up article by ''Message-ID:''."
-msgstr "Look up article by ''Message-ID:''."
+#: doc/tin.1:901 doc/tin.1:1115 doc/tin.1:1351
+msgid ""
+"Look up article by ''Message-ID:''. In this level only the IDs in the "
+"current group are searched."
+msgstr ""
+"Look up article by ''Message-ID:''. In this level only the IDs in the "
+"current group are searched."
 
 #. type: TP
-#: doc/tin.1:870
+#: doc/tin.1:901
 #, no-wrap
 msgid "B<GroupMail 'm'>"
 msgstr "B<GroupMail 'm'>"
 
 #. type: Plain text
-#: doc/tin.1:875 doc/tin.1:1088 doc/tin.1:1320
+#: doc/tin.1:906 doc/tin.1:1120 doc/tin.1:1356
 msgid ""
 "Mail current article / thread / auto-selected (hot) articles / articles "
 "matching pattern / tagged articles to someone. See the section \"MAILING "
@@ -2576,35 +2633,35 @@ msgstr ""
 "PIPING PRINTING REPOSTING AND SAVING ARTICLES\" for more information."
 
 #. type: TP
-#: doc/tin.1:879
+#: doc/tin.1:910
 #, no-wrap
 msgid "B<GroupNextGroup 'n'>"
 msgstr "B<GroupNextGroup 'n'>"
 
 #. type: Plain text
-#: doc/tin.1:882
+#: doc/tin.1:913
 msgid "Go to next group."
 msgstr "Go to next group."
 
 #. type: TP
-#: doc/tin.1:882
+#: doc/tin.1:913
 #, no-wrap
 msgid "B<GroupNextUnreadArt 'N'>"
 msgstr "B<GroupNextUnreadArt 'N'>"
 
 #. type: Plain text
-#: doc/tin.1:885 doc/tin.1:1330
+#: doc/tin.1:916 doc/tin.1:1366
 msgid "Go to the next unread article."
 msgstr "Go to the next unread article."
 
 #. type: TP
-#: doc/tin.1:885 doc/tin.1:1088 doc/tin.1:1330
+#: doc/tin.1:916 doc/tin.1:1120 doc/tin.1:1366
 #, no-wrap
 msgid "B<Print 'o'>"
 msgstr "B<Print 'o'>"
 
 #. type: Plain text
-#: doc/tin.1:890 doc/tin.1:1093 doc/tin.1:1335
+#: doc/tin.1:921 doc/tin.1:1125 doc/tin.1:1371
 msgid ""
 "Send current article / thread / auto-selected (hot) articles / articles "
 "matching pattern / tagged articles to printer. See the section \"MAILING "
@@ -2615,51 +2672,51 @@ msgstr ""
 "PIPING PRINTING REPOSTING AND SAVING ARTICLES\" for more information."
 
 #. type: TP
-#: doc/tin.1:890
+#: doc/tin.1:921
 #, no-wrap
 msgid "B<GroupPrevGroup 'p'>"
 msgstr "B<GroupPrevGroup 'p'>"
 
 #. type: Plain text
-#: doc/tin.1:893
+#: doc/tin.1:924
 msgid "Go to previous group."
 msgstr "Go to previous group."
 
 #. type: TP
-#: doc/tin.1:893
+#: doc/tin.1:924
 #, no-wrap
 msgid "B<GroupPrevUnreadArt 'P'>"
 msgstr "B<GroupPrevUnreadArt 'P'>"
 
 #. type: Plain text
-#: doc/tin.1:896
+#: doc/tin.1:927
 msgid "Go to previous unread article."
 msgstr "Go to previous unread article."
 
 #. type: Plain text
-#: doc/tin.1:899 doc/tin.1:1096
+#: doc/tin.1:930 doc/tin.1:1128
 msgid "Return to previous level."
 msgstr "Return to previous level."
 
 #. type: TP
-#: doc/tin.1:902
+#: doc/tin.1:933
 #, no-wrap
 msgid "B<GroupToggleReadUnread 'r'>"
 msgstr "B<GroupToggleReadUnread 'r'>"
 
 #. type: Plain text
-#: doc/tin.1:905
+#: doc/tin.1:936
 msgid "Toggle the display between all articles and unread articles."
 msgstr "Toggle the display between all articles and unread articles."
 
 #. type: TP
-#: doc/tin.1:909
+#: doc/tin.1:940
 #, no-wrap
 msgid "B<GroupSave 's'>"
 msgstr "B<GroupSave 's'>"
 
 #. type: Plain text
-#: doc/tin.1:914 doc/tin.1:1108 doc/tin.1:1360
+#: doc/tin.1:945 doc/tin.1:1140 doc/tin.1:1396
 msgid ""
 "Save current article / thread / auto-selected (hot) articles / articles "
 "matching pattern / tagged articles. See the section \"MAILING PIPING "
@@ -2670,24 +2727,24 @@ msgstr ""
 "PRINTING REPOSTING AND SAVING ARTICLES\" for more information."
 
 #. type: TP
-#: doc/tin.1:914
+#: doc/tin.1:945
 #, no-wrap
 msgid "B<GroupAutoSave 'S'>"
 msgstr "B<GroupAutoSave 'S'>"
 
 #. type: Plain text
-#: doc/tin.1:917 doc/tin.1:1111 doc/tin.1:1363
+#: doc/tin.1:948 doc/tin.1:1143 doc/tin.1:1399
 msgid "Save marked articles automatically without further prompting."
 msgstr "Save marked articles automatically without further prompting."
 
 #. type: TP
-#: doc/tin.1:917
+#: doc/tin.1:948
 #, no-wrap
 msgid "B<GroupTag 't'>"
 msgstr "B<GroupTag 't'>"
 
 #. type: Plain text
-#: doc/tin.1:922
+#: doc/tin.1:953
 msgid ""
 "Toggle tag-status of current article / thread for B<GroupMail> ('B<m>')  / "
 "B<Pipe> ('B<|>') / B<Print> ('B<o>') / B<GroupSave> ('B<s>') / "
@@ -2698,13 +2755,13 @@ msgstr ""
 "B<GroupRepost> ('B<x>')."
 
 #. type: TP
-#: doc/tin.1:922
+#: doc/tin.1:953
 #, no-wrap
 msgid "B<GroupTagParts 'T'>"
 msgstr "B<GroupTagParts 'T'>"
 
 #. type: Plain text
-#: doc/tin.1:926 doc/tin.1:1119
+#: doc/tin.1:957 doc/tin.1:1151
 msgid ""
 "Automatically tag/untag all the parts of the current multi-part message in "
 "order."
@@ -2713,13 +2770,13 @@ msgstr ""
 "order."
 
 #. type: TP
-#: doc/tin.1:926
+#: doc/tin.1:957
 #, no-wrap
 msgid "B<GroupToggleThreading 'u'>"
 msgstr "B<GroupToggleThreading 'u'>"
 
 #. type: Plain text
-#: doc/tin.1:931
+#: doc/tin.1:962
 msgid ""
 "Cycle the threading mode through no threading, threading by subject, "
 "threading by references, threading on both subject and references, group "
@@ -2730,18 +2787,18 @@ msgstr ""
 "multipart articles into a thread (''Subject:'' based)."
 
 #. type: TP
-#: doc/tin.1:931
+#: doc/tin.1:962
 #, no-wrap
 msgid "B<GroupUntag 'U'>"
 msgstr "B<GroupUntag 'U'>"
 
 #. type: Plain text
-#: doc/tin.1:934
+#: doc/tin.1:965
 msgid "Untag all articles that were tagged."
 msgstr "Untag all articles that were tagged."
 
 #. type: Plain text
-#: doc/tin.1:941 doc/tin.1:1129 doc/tin.1:1388
+#: doc/tin.1:972 doc/tin.1:1161 doc/tin.1:1424
 msgid ""
 "Post an article to the current group. If posting fails for some reason, "
 "you'll get the chance to edit the article again via B<PostEdit> ('B<e>'), "
@@ -2754,13 +2811,13 @@ msgstr ""
 "o>'' command-line switch) or discard it via B<Quit> ('B<q>')."
 
 #. type: TP
-#: doc/tin.1:941
+#: doc/tin.1:972
 #, no-wrap
 msgid "B<GroupRepost 'x'>"
 msgstr "B<GroupRepost 'x'>"
 
 #. type: Plain text
-#: doc/tin.1:947 doc/tin.1:1394
+#: doc/tin.1:978 doc/tin.1:1430
 msgid ""
 "Repost an already posted article / thread / auto-selected (hot) articles / "
 "articles matching pattern / tagged articles to another newsgroup(s). Useful "
@@ -2773,13 +2830,13 @@ msgstr ""
 "your own articles."
 
 #. type: TP
-#: doc/tin.1:947
+#: doc/tin.1:978
 #, no-wrap
 msgid "B<GroupMarkUnselArtRead 'X'>"
 msgstr "B<GroupMarkUnselArtRead 'X'>"
 
 #. type: Plain text
-#: doc/tin.1:955
+#: doc/tin.1:986
 msgid ""
 "Mark all unread articles that have not been selected as read, redraw screen "
 "to reflect changes and put index at the first thread to begin reading.  "
@@ -2796,25 +2853,25 @@ msgstr ""
 "changes permanent."
 
 #. type: TP
-#: doc/tin.1:955 doc/tin.1:1129 doc/tin.1:1394
+#: doc/tin.1:986 doc/tin.1:1161 doc/tin.1:1430
 #, no-wrap
 msgid "B<MarkArtUnread 'z'>"
 msgstr "B<MarkArtUnread 'z'>"
 
 #. type: Plain text
-#: doc/tin.1:958
+#: doc/tin.1:989
 msgid "Mark current article as unread."
 msgstr "Mark current article as unread."
 
 #. type: TP
-#: doc/tin.1:958 doc/tin.1:1134 doc/tin.1:1397
+#: doc/tin.1:989 doc/tin.1:1166 doc/tin.1:1433
 #, no-wrap
 msgid "B<MarkThdUnread 'Z'>"
 msgstr "B<MarkThdUnread 'Z'>"
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:965
+#: doc/tin.1:996
 msgid ""
 "Mark current thread as unread. If a range of threads is set, the range will "
 "be marked as unread instead of the current thread. When tagged threads are "
@@ -2825,79 +2882,79 @@ msgstr ""
 "present, a prompt asks how to proceed."
 
 #. type: SS
-#: doc/tin.1:965
+#: doc/tin.1:996
 #, no-wrap
 msgid "THREAD LISTING COMMANDS"
 msgstr "THREAD LISTING COMMANDS"
 
 #. type: Plain text
-#: doc/tin.1:970
+#: doc/tin.1:1001
 msgid "Select article 4 within thread."
 msgstr "Select article 4 within thread."
 
 #. type: TP
-#: doc/tin.1:1004
+#: doc/tin.1:1035
 #, no-wrap
 msgid "B<ThreadSelArt '*'>"
 msgstr "B<ThreadSelArt '*'>"
 
 #. type: TP
-#: doc/tin.1:1007
+#: doc/tin.1:1038
 #, no-wrap
 msgid "B<ThreadToggleArtSel '.'>"
 msgstr "B<ThreadToggleArtSel '.'>"
 
 #. type: Plain text
-#: doc/tin.1:1010
+#: doc/tin.1:1041
 msgid "Toggle selection of current article."
 msgstr "Toggle selection of current article."
 
 #. type: TP
-#: doc/tin.1:1010
+#: doc/tin.1:1041
 #, no-wrap
 msgid "B<ThreadReverseSel '@'>"
 msgstr "B<ThreadReverseSel '@'>"
 
 #. type: Plain text
-#: doc/tin.1:1013
+#: doc/tin.1:1044
 msgid "Reverse article selections."
 msgstr "Reverse article selections."
 
 #. type: TP
-#: doc/tin.1:1013
+#: doc/tin.1:1044
 #, no-wrap
 msgid "B<ThreadUndoSel '~'>"
 msgstr "B<ThreadUndoSel '~'>"
 
 #. type: Plain text
-#: doc/tin.1:1016
+#: doc/tin.1:1047
 msgid "Undo all selections on current thread."
 msgstr "Undo all selections on current thread."
 
 #. type: TP
-#: doc/tin.1:1021
+#: doc/tin.1:1052
 #, no-wrap
 msgid "B<ThreadReadArt '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<ThreadReadArt '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1024
+#: doc/tin.1:1055
 msgid "Read current article within thread."
 msgstr "Read current article within thread."
 
 #. type: TP
-#: doc/tin.1:1024
+#: doc/tin.1:1055
 #, no-wrap
 msgid "B<ThreadReadNextArtOrThread 'E<lt>TABE<gt>'>"
 msgstr "B<ThreadReadNextArtOrThread 'E<lt>TABE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1027
+#: doc/tin.1:1058
 msgid "View next unread article within thread."
 msgstr "View next unread article within thread."
 
 #. type: Plain text
-#: doc/tin.1:1032
+#: doc/tin.1:1063
 msgid ""
 "Author forward search. This searches for articles with a specific ''From:'' "
 "line. The search will wrap over into the next thread if nothing is found in "
@@ -2908,7 +2965,7 @@ msgstr ""
 "the current one."
 
 #. type: Plain text
-#: doc/tin.1:1043
+#: doc/tin.1:1074
 msgid ""
 "Mark thread as read [after confirmation] and return to the group index "
 "page.  Move cursor to next thread."
@@ -2917,7 +2974,7 @@ msgstr ""
 "page.  Move cursor to next thread."
 
 #. type: Plain text
-#: doc/tin.1:1047
+#: doc/tin.1:1078
 msgid ""
 "Mark thread as read [after confirmation] and enter the next thread "
 "containing unread news."
@@ -2926,38 +2983,38 @@ msgstr ""
 "containing unread news."
 
 #. type: TP
-#: doc/tin.1:1047
+#: doc/tin.1:1078
 #, no-wrap
 msgid "B<ThreadToggleSubjDisplay 'd'>"
 msgstr "B<ThreadToggleSubjDisplay 'd'>"
 
 #. type: TP
-#: doc/tin.1:1051
+#: doc/tin.1:1082
 #, no-wrap
 msgid "B<ThreadCancel 'D'>"
 msgstr "B<ThreadCancel 'D'>"
 
 #. type: TP
-#: doc/tin.1:1059
+#: doc/tin.1:1090
 #, no-wrap
 msgid "B<ThreadFollowupQuote 'f'>"
 msgstr "B<ThreadFollowupQuote 'f'>"
 
 #. type: Plain text
-#: doc/tin.1:1062 doc/tin.1:1287
+#: doc/tin.1:1093 doc/tin.1:1322
 msgid ""
 "Post a followup to the current article with a copy of the article included."
 msgstr ""
 "Post a followup to the current article with a copy of the article included."
 
 #. type: TP
-#: doc/tin.1:1062
+#: doc/tin.1:1093
 #, no-wrap
 msgid "B<ThreadFollowup 'F'>"
 msgstr "B<ThreadFollowup 'F'>"
 
 #. type: Plain text
-#: doc/tin.1:1065
+#: doc/tin.1:1096
 msgid ""
 "Post a followup to the current article without a copy of the article "
 "included."
@@ -2966,18 +3023,18 @@ msgstr ""
 "included."
 
 #. type: Plain text
-#: doc/tin.1:1068 doc/tin.1:1300
+#: doc/tin.1:1099 doc/tin.1:1335
 msgid "Display the subject of the current article in the last line."
 msgstr "Display the subject of the current article in the last line."
 
 #. type: TP
-#: doc/tin.1:1074
+#: doc/tin.1:1105
 #, no-wrap
 msgid "B<ThreadMarkArtRead 'K'>"
 msgstr "B<ThreadMarkArtRead 'K'>"
 
 #. type: Plain text
-#: doc/tin.1:1080
+#: doc/tin.1:1111
 msgid ""
 "Mark article as read and move onto the next unread article. If a range of "
 "articles is set, the range will be marked as read instead of the current "
@@ -2988,31 +3045,31 @@ msgstr ""
 "article. When tagged articles are present, a prompt asks how to proceed."
 
 #. type: TP
-#: doc/tin.1:1083
+#: doc/tin.1:1115
 #, no-wrap
 msgid "B<ThreadMail 'm'>"
 msgstr "B<ThreadMail 'm'>"
 
 #. type: TP
-#: doc/tin.1:1103
+#: doc/tin.1:1135
 #, no-wrap
 msgid "B<ThreadSave 's'>"
 msgstr "B<ThreadSave 's'>"
 
 #. type: TP
-#: doc/tin.1:1108
+#: doc/tin.1:1140
 #, no-wrap
 msgid "B<ThreadAutoSave 'S'>"
 msgstr "B<ThreadAutoSave 'S'>"
 
 #. type: TP
-#: doc/tin.1:1111
+#: doc/tin.1:1143
 #, no-wrap
 msgid "B<ThreadTag 't'>"
 msgstr "B<ThreadTag 't'>"
 
 #. type: Plain text
-#: doc/tin.1:1115 doc/tin.1:1367
+#: doc/tin.1:1147 doc/tin.1:1403
 msgid ""
 "Toggle tag status of current article for mailing, piping, printing, saving "
 "or reposting."
@@ -3021,24 +3078,24 @@ msgstr ""
 "or reposting."
 
 #. type: TP
-#: doc/tin.1:1115
+#: doc/tin.1:1147
 #, no-wrap
 msgid "B<ThreadTagParts 'T'>"
 msgstr "B<ThreadTagParts 'T'>"
 
 #. type: TP
-#: doc/tin.1:1119
+#: doc/tin.1:1151
 #, no-wrap
 msgid "B<ThreadUntag 'U'>"
 msgstr "B<ThreadUntag 'U'>"
 
 #. type: Plain text
-#: doc/tin.1:1122
+#: doc/tin.1:1154
 msgid "Untag all tagged threads."
 msgstr "Untag all tagged threads."
 
 #. type: Plain text
-#: doc/tin.1:1134
+#: doc/tin.1:1166
 msgid ""
 "Mark current article in thread as unread. If a range of articles is set, the "
 "range will be marked as unread instead of the current article. When tagged "
@@ -3050,34 +3107,34 @@ msgstr ""
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:1139
+#: doc/tin.1:1171
 msgid "Mark all articles in thread as unread."
 msgstr "Mark all articles in thread as unread."
 
 #. type: SS
-#: doc/tin.1:1139
+#: doc/tin.1:1171
 #, no-wrap
 msgid "ARTICLE VIEWER COMMANDS"
 msgstr "ARTICLE VIEWER COMMANDS"
 
 #. type: Plain text
-#: doc/tin.1:1144
+#: doc/tin.1:1176
 msgid "Read the first (base) article in this thread."
 msgstr "Read the first (base) article in this thread."
 
 #. type: Plain text
-#: doc/tin.1:1147
+#: doc/tin.1:1179
 msgid "Read response 4 in this thread."
 msgstr "Read response 4 in this thread."
 
 #. type: TP
-#: doc/tin.1:1151
+#: doc/tin.1:1183
 #, no-wrap
 msgid "B<PageReplyQuoteHeaders '^E'>"
 msgstr "B<PageReplyQuoteHeaders '^E'>"
 
 #. type: Plain text
-#: doc/tin.1:1155
+#: doc/tin.1:1187
 msgid ""
 "Reply through mail to the author of the current article with a copy of the "
 "article with all headers included."
@@ -3086,13 +3143,13 @@ msgstr ""
 "article with all headers included."
 
 #. type: TP
-#: doc/tin.1:1155
+#: doc/tin.1:1187
 #, no-wrap
 msgid "B<PagePGPCheckArticle '^G'>"
 msgstr "B<PagePGPCheckArticle '^G'>"
 
 #. type: Plain text
-#: doc/tin.1:1163
+#: doc/tin.1:1195
 msgid ""
 "Perform B<\\%pgp>(1)  / B<\\%gpg>(1)  operations on article. This expects "
 "inline pgp (B<RFC\\%4880>) and not MIME pgp (B<RFC\\%3156>)."
@@ -3101,35 +3158,35 @@ msgstr ""
 "inline pgp (B<RFC\\%4880>) and not MIME pgp (B<RFC\\%3156>)."
 
 #. type: TP
-#: doc/tin.1:1163
+#: doc/tin.1:1195
 #, no-wrap
 msgid "B<PageToggleRaw '^H'>"
 msgstr "B<PageToggleRaw '^H'>"
 
 #. type: Plain text
-#: doc/tin.1:1166
+#: doc/tin.1:1198
 msgid "Toggles the display mode (raw including all headers vs. cooked)."
 msgstr "Toggles the display mode (raw including all headers vs. cooked)."
 
 #. type: TP
-#: doc/tin.1:1170
+#: doc/tin.1:1202
 #, no-wrap
 msgid "B<PageToggleTabs '^T'>"
 msgstr "B<PageToggleTabs '^T'>"
 
 #. type: Plain text
-#: doc/tin.1:1173
+#: doc/tin.1:1205
 msgid "Toggle the TAB width between 4 and 8 characters."
 msgstr "Toggle the TAB width between 4 and 8 characters."
 
 #. type: TP
-#: doc/tin.1:1173
+#: doc/tin.1:1205
 #, no-wrap
 msgid "B<PageFollowupQuoteHeaders '^W'>"
 msgstr "B<PageFollowupQuoteHeaders '^W'>"
 
 #. type: Plain text
-#: doc/tin.1:1177
+#: doc/tin.1:1209
 msgid ""
 "Post a followup to the current article with a copy of the article with all "
 "headers included."
@@ -3138,13 +3195,13 @@ msgstr ""
 "headers included."
 
 #. type: TP
-#: doc/tin.1:1177
+#: doc/tin.1:1209
 #, no-wrap
 msgid "B<PageToggleTex2iso '\"'>"
 msgstr "B<PageToggleTex2iso '\"'>"
 
 #. type: Plain text
-#: doc/tin.1:1181
+#: doc/tin.1:1213
 msgid ""
 "Toggle TeX to ISO decoding for current article. The default behavior is "
 "taken from the B<tex2iso_conv> variable in the tinrc file."
@@ -3153,37 +3210,48 @@ msgstr ""
 "taken from the B<tex2iso_conv> variable in the tinrc file."
 
 #. type: TP
-#: doc/tin.1:1181
+#: doc/tin.1:1213
 #, no-wrap
 msgid "B<PageToggleAllHeaders '*'>"
 msgstr "B<PageToggleAllHeaders '*'>"
 
 #. type: Plain text
-#: doc/tin.1:1184
+#: doc/tin.1:1216
 msgid ""
 "Toggles the display of all headers vs. headers in B<news_headers_to_display>."
 msgstr ""
 "Toggles the display of all headers vs. headers in B<news_headers_to_display>."
 
 #. type: TP
-#: doc/tin.1:1184
+#: doc/tin.1:1216
+#, no-wrap
+msgid "B<PageArticleInfo '''>"
+msgstr "B<PageArticleInfo '''>"
+
+#. type: Plain text
+#: doc/tin.1:1219
+msgid "Detailed MIME information of the article."
+msgstr "Detailed MIME information of the article."
+
+#. type: TP
+#: doc/tin.1:1219
 #, no-wrap
 msgid "B<PageToggleRot '%'>"
 msgstr "B<PageToggleRot '%'>"
 
 #. type: Plain text
-#: doc/tin.1:1187
+#: doc/tin.1:1222
 msgid "Toggle ROT-13 decoding for this article."
 msgstr "Toggle ROT-13 decoding for this article."
 
 #. type: TP
-#: doc/tin.1:1187
+#: doc/tin.1:1222
 #, no-wrap
 msgid "B<PageToggleUue '('>"
 msgstr "B<PageToggleUue '('>"
 
 #. type: Plain text
-#: doc/tin.1:1191
+#: doc/tin.1:1226
 msgid ""
 "Toggle the display of uuencoded sections. The default behavior is taken from "
 "the B<hide_uue> variable in the tinrc file."
@@ -3192,13 +3260,13 @@ msgstr ""
 "from the B<hide_uue> variable in the tinrc file."
 
 #. type: TP
-#: doc/tin.1:1191
+#: doc/tin.1:1226
 #, no-wrap
 msgid "B<PageReveal ')'>"
 msgstr "B<PageReveal ')'>"
 
 #. type: Plain text
-#: doc/tin.1:1198
+#: doc/tin.1:1233
 msgid ""
 "The form feed character (^L) is often used to hide 'spoilers' that the "
 "reader may not initially wish to see when viewing an article. Any text after "
@@ -3213,23 +3281,23 @@ msgstr ""
 "up will hide it again."
 
 #. type: Plain text
-#: doc/tin.1:1207
+#: doc/tin.1:1242
 msgid "Forward search the text of this article."
 msgstr "Forward search the text of this article."
 
 #. type: Plain text
-#: doc/tin.1:1210
+#: doc/tin.1:1245
 msgid "Backward search the text of this article."
 msgstr "Backward search the text of this article."
 
 #. type: TP
-#: doc/tin.1:1210
+#: doc/tin.1:1245
 #, no-wrap
 msgid "B<PageSkipIncludedText ':'>"
 msgstr "B<PageSkipIncludedText ':'>"
 
 #. type: Plain text
-#: doc/tin.1:1215
+#: doc/tin.1:1250
 msgid ""
 "Skip to the end of the next quoted text-block in this article. Quoted text "
 "is everything which matches B<quote_regex>, B<quote_regex2> or "
@@ -3240,40 +3308,40 @@ msgstr ""
 "B<quote_regex3>."
 
 #. type: TP
-#: doc/tin.1:1215
+#: doc/tin.1:1250
 #, no-wrap
 msgid "B<PageTopThd 'E<lt>'>"
 msgstr "B<PageTopThd 'E<lt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1218
+#: doc/tin.1:1253
 msgid "Go to the first article in the current thread."
 msgstr "Go to the first article in the current thread."
 
 #. type: TP
-#: doc/tin.1:1218
+#: doc/tin.1:1253
 #, no-wrap
 msgid "B<PageBotThd 'E<gt>'>"
 msgstr "B<PageBotThd 'E<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1221
+#: doc/tin.1:1256
 msgid "Go to the last article in the current thread."
 msgstr "Go to the last article in the current thread."
 
 #. type: TP
-#: doc/tin.1:1221
+#: doc/tin.1:1256
 #, no-wrap
 msgid "B<PageToggleHighlight '_'>"
 msgstr "B<PageToggleHighlight '_'>"
 
 #. type: Plain text
-#: doc/tin.1:1224
+#: doc/tin.1:1259
 msgid "Toggle word highlighting on/off."
 msgstr "Toggle word highlighting on/off."
 
 #. type: Plain text
-#: doc/tin.1:1238
+#: doc/tin.1:1273
 msgid ""
 "Auto select article(s) with a single key. The defaults used for selection "
 "are set based upon the following four tinrc config variables: "
@@ -3292,7 +3360,7 @@ msgstr ""
 "information on filtering."
 
 #. type: Plain text
-#: doc/tin.1:1247
+#: doc/tin.1:1282
 msgid ""
 "Kill article(s) with a single key. The defaults used for killing are based "
 "upon the following four tinrc config variables: B<default_filter_kill_case>, "
@@ -3309,24 +3377,24 @@ msgstr ""
 "\"FILTERING ARTICLES\" for more information on filtering."
 
 #. type: TP
-#: doc/tin.1:1247
+#: doc/tin.1:1282
 #, no-wrap
 msgid "B<PageNextThd '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<PageNextThd '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1250
+#: doc/tin.1:1285
 msgid "Go to next base article."
 msgstr "Go to next base article."
 
 #. type: TP
-#: doc/tin.1:1250
+#: doc/tin.1:1285
 #, no-wrap
 msgid "B<PageNextUnread 'E<lt>TABE<gt>'>"
 msgstr "B<PageNextUnread 'E<lt>TABE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1255
+#: doc/tin.1:1290
 msgid ""
 "Go to next unread article. If the tinrc variable B<goto_next_unread> doesn't "
 "contain PageNextUnread, then this key will first page through the current "
@@ -3337,17 +3405,17 @@ msgstr ""
 "article."
 
 #. type: Plain text
-#: doc/tin.1:1258
+#: doc/tin.1:1293
 msgid "Author forward search."
 msgstr "Author forward search."
 
 #. type: Plain text
-#: doc/tin.1:1261
+#: doc/tin.1:1296
 msgid "Author backward search."
 msgstr "Author backward search."
 
 #. type: Plain text
-#: doc/tin.1:1269
+#: doc/tin.1:1304
 msgid ""
 "Mark the current thread as read [after confirmation] and return to the "
 "previous menu. Move cursor to next item."
@@ -3356,7 +3424,7 @@ msgstr ""
 "previous menu. Move cursor to next item."
 
 #. type: Plain text
-#: doc/tin.1:1273
+#: doc/tin.1:1308
 msgid ""
 "Mark the rest of the current thread as read [after confirmation] and enter "
 "the next thread with unread articles."
@@ -3365,38 +3433,38 @@ msgstr ""
 "the next thread with unread articles."
 
 #. type: TP
-#: doc/tin.1:1273
+#: doc/tin.1:1308
 #, no-wrap
 msgid "B<PageCancel 'D'>"
 msgstr "B<PageCancel 'D'>"
 
 #. type: TP
-#: doc/tin.1:1278
+#: doc/tin.1:1313
 #, no-wrap
 msgid "B<PageEditArticle 'e'>"
 msgstr "B<PageEditArticle 'e'>"
 
 #. type: Plain text
-#: doc/tin.1:1281
+#: doc/tin.1:1316
 msgid ""
 "Edit the current article. This is restricted to mailgroups and saved news."
 msgstr ""
 "Edit the current article. This is restricted to mailgroups and saved news."
 
 #. type: TP
-#: doc/tin.1:1284
+#: doc/tin.1:1319
 #, no-wrap
 msgid "B<PageFollowupQuote 'f'>"
 msgstr "B<PageFollowupQuote 'f'>"
 
 #. type: TP
-#: doc/tin.1:1287
+#: doc/tin.1:1322
 #, no-wrap
 msgid "B<PageFollowup 'F'>"
 msgstr "B<PageFollowup 'F'>"
 
 #. type: Plain text
-#: doc/tin.1:1291
+#: doc/tin.1:1326
 msgid ""
 "Post a followup to the current article without including a copy of the "
 "article."
@@ -3405,107 +3473,107 @@ msgstr ""
 "article."
 
 #. type: TP
-#: doc/tin.1:1291
+#: doc/tin.1:1326
 #, no-wrap
 msgid "B<PageFirstPage 'g'>"
 msgstr "B<PageFirstPage 'g'>"
 
 #. type: Plain text
-#: doc/tin.1:1294
+#: doc/tin.1:1329
 msgid "Go to the start of the article."
 msgstr "Go to the start of the article."
 
 #. type: TP
-#: doc/tin.1:1294
+#: doc/tin.1:1329
 #, no-wrap
 msgid "B<PageLastPage 'G'>"
 msgstr "B<PageLastPage 'G'>"
 
 #. type: Plain text
-#: doc/tin.1:1297
+#: doc/tin.1:1332
 msgid "Go to the end of the article."
 msgstr "Go to the end of the article."
 
 #. type: TP
-#: doc/tin.1:1306
+#: doc/tin.1:1341
 #, no-wrap
 msgid "B<PageKillThd 'K'>"
 msgstr "B<PageKillThd 'K'>"
 
 #. type: Plain text
-#: doc/tin.1:1309
+#: doc/tin.1:1344
 msgid "Mark rest of thread as read and move onto the next unread thread."
 msgstr "Mark rest of thread as read and move onto the next unread thread."
 
 #. type: TP
-#: doc/tin.1:1309
+#: doc/tin.1:1344
 #, no-wrap
 msgid "B<PageListThd 'l'>"
 msgstr "B<PageListThd 'l'>"
 
 #. type: Plain text
-#: doc/tin.1:1312
+#: doc/tin.1:1347
 msgid "Show the thread menu that the current article is a part of."
 msgstr "Show the thread menu that the current article is a part of."
 
 #. type: TP
-#: doc/tin.1:1315
+#: doc/tin.1:1351
 #, no-wrap
 msgid "B<PageMail 'm'>"
 msgstr "B<PageMail 'm'>"
 
 #. type: TP
-#: doc/tin.1:1324
+#: doc/tin.1:1360
 #, no-wrap
 msgid "B<PageNextArt 'n'>"
 msgstr "B<PageNextArt 'n'>"
 
 #. type: Plain text
-#: doc/tin.1:1327
+#: doc/tin.1:1363
 msgid "Go to the next article."
 msgstr "Go to the next article."
 
 #. type: TP
-#: doc/tin.1:1327
+#: doc/tin.1:1363
 #, no-wrap
 msgid "B<PageNextUnreadArt 'N'>"
 msgstr "B<PageNextUnreadArt 'N'>"
 
 #. type: TP
-#: doc/tin.1:1335
+#: doc/tin.1:1371
 #, no-wrap
 msgid "B<PagePrevArt 'p'>"
 msgstr "B<PagePrevArt 'p'>"
 
 #. type: Plain text
-#: doc/tin.1:1338
+#: doc/tin.1:1374
 msgid "Go to the previous article."
 msgstr "Go to the previous article."
 
 #. type: TP
-#: doc/tin.1:1338
+#: doc/tin.1:1374
 #, no-wrap
 msgid "B<PagePrevUnreadArt 'P'>"
 msgstr "B<PagePrevUnreadArt 'P'>"
 
 #. type: Plain text
-#: doc/tin.1:1341
+#: doc/tin.1:1377
 msgid "Go to the previous unread article."
 msgstr "Go to the previous unread article."
 
 #. type: Plain text
-#: doc/tin.1:1344
+#: doc/tin.1:1380
 msgid "Return to the previous level."
 msgstr "Return to the previous level."
 
 #. type: TP
-#: doc/tin.1:1347
+#: doc/tin.1:1383
 #, no-wrap
 msgid "B<PageReplyQuote 'r'>"
 msgstr "B<PageReplyQuote 'r'>"
 
 #. type: Plain text
-#: doc/tin.1:1351
+#: doc/tin.1:1387
 msgid ""
 "Reply through mail to the author of the current article with a copy of the "
 "article included."
@@ -3514,13 +3582,13 @@ msgstr ""
 "article included."
 
 #. type: TP
-#: doc/tin.1:1351
+#: doc/tin.1:1387
 #, no-wrap
 msgid "B<PageReply 'R'>"
 msgstr "B<PageReply 'R'>"
 
 #. type: Plain text
-#: doc/tin.1:1355
+#: doc/tin.1:1391
 msgid ""
 "Reply through mail to the author of the current article without including "
 "the original article."
@@ -3529,68 +3597,68 @@ msgstr ""
 "the original article."
 
 #. type: TP
-#: doc/tin.1:1355
+#: doc/tin.1:1391
 #, no-wrap
 msgid "B<PageSave 's'>"
 msgstr "B<PageSave 's'>"
 
 #. type: TP
-#: doc/tin.1:1360
+#: doc/tin.1:1396
 #, no-wrap
 msgid "B<PageAutoSave 'S'>"
 msgstr "B<PageAutoSave 'S'>"
 
 #. type: TP
-#: doc/tin.1:1363
+#: doc/tin.1:1399
 #, no-wrap
 msgid "B<PageTag 't'>"
 msgstr "B<PageTag 't'>"
 
 #. type: TP
-#: doc/tin.1:1367
+#: doc/tin.1:1403
 #, no-wrap
 msgid "B<PageGroupSel 'T'>"
 msgstr "B<PageGroupSel 'T'>"
 
 #. type: Plain text
-#: doc/tin.1:1370
+#: doc/tin.1:1406
 msgid "Return to group selection level."
 msgstr "Return to group selection level."
 
 #. type: TP
-#: doc/tin.1:1370
+#: doc/tin.1:1406
 #, no-wrap
 msgid "B<PageGotoParent 'u'>"
 msgstr "B<PageGotoParent 'u'>"
 
 #. type: Plain text
-#: doc/tin.1:1373
+#: doc/tin.1:1409
 msgid "Go to parent article."
 msgstr "Go to parent article."
 
 #. type: TP
-#: doc/tin.1:1373
+#: doc/tin.1:1409
 #, no-wrap
 msgid "B<PageViewUrl 'U'>"
 msgstr "B<PageViewUrl 'U'>"
 
 #. type: Plain text
-#: doc/tin.1:1377
+#: doc/tin.1:1413
 msgid ""
-"Display a list of URLs in the current article. See the section \"URL LISTING"
-"\" for more information."
+"Display a list of URLs in the current article. See the section \"URL "
+"LISTING\" for more information."
 msgstr ""
-"Display a list of URLs in the current article. See the section \"URL LISTING"
-"\" for more information."
+"Display a list of URLs in the current article. See the section \"URL "
+"LISTING\" for more information."
 
 #. type: TP
-#: doc/tin.1:1377
+#: doc/tin.1:1413
 #, no-wrap
 msgid "B<PageViewAttach 'V'>"
 msgstr "B<PageViewAttach 'V'>"
 
 #. type: Plain text
-#: doc/tin.1:1381
+#: doc/tin.1:1417
 msgid ""
 "Display a list of attachments of the current article. See the section "
 "\"ATTACHMENT LISTING\" for more information."
@@ -3599,30 +3667,30 @@ msgstr ""
 "\"ATTACHMENT LISTING\" for more information."
 
 #. type: TP
-#: doc/tin.1:1388
+#: doc/tin.1:1424
 #, no-wrap
 msgid "B<PageRepost 'x'>"
 msgstr "B<PageRepost 'x'>"
 
 #. type: Plain text
-#: doc/tin.1:1397
+#: doc/tin.1:1433
 msgid "Mark article as unread."
 msgstr "Mark article as unread."
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:1402
+#: doc/tin.1:1438
 msgid "Mark the current thread as unread."
 msgstr "Mark the current thread as unread."
 
 #. type: SS
-#: doc/tin.1:1402
+#: doc/tin.1:1438
 #, no-wrap
 msgid "URL LISTING"
 msgstr "URL LISTING"
 
 #. type: Plain text
-#: doc/tin.1:1405
+#: doc/tin.1:1441
 msgid ""
 "B<PageViewUrl> ('B<U>') displays a list of URLs in the current article. "
 "Besides the common moving keys, the following commands are available:"
@@ -3631,13 +3699,13 @@ msgstr ""
 "Besides the common moving keys, the following commands are available:"
 
 #. type: TP
-#: doc/tin.1:1406
+#: doc/tin.1:1442
 #, no-wrap
 msgid "B<UrlSelect '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<UrlSelect '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1410
+#: doc/tin.1:1446
 msgid ""
 "The current URL will be prompted and opened using the B<url_handler>. "
 "'B<E<lt>ESCE<gt>>' or no input will skip the URL."
@@ -3646,39 +3714,39 @@ msgstr ""
 "'B<E<lt>ESCE<gt>>' or no input will skip the URL."
 
 #. type: Plain text
-#: doc/tin.1:1413 doc/tin.1:1513
+#: doc/tin.1:1449 doc/tin.1:1549
 msgid "URL forward search."
 msgstr "URL forward search."
 
 #. type: Plain text
-#: doc/tin.1:1416 doc/tin.1:1516
+#: doc/tin.1:1452 doc/tin.1:1552
 msgid "URL backward search."
 msgstr "URL backward search."
 
 #. type: Plain text
-#: doc/tin.1:1422 doc/tin.1:1476 doc/tin.1:1522
+#: doc/tin.1:1458 doc/tin.1:1512 doc/tin.1:1558
 msgid "Shell escape."
 msgstr "Shell escape."
 
 #. type: Plain text
-#: doc/tin.1:1425
+#: doc/tin.1:1461
 msgid "Toggle the display of the current URL in the last line."
 msgstr "Toggle the display of the current URL in the last line."
 
 #. type: Plain text
-#: doc/tin.1:1428 doc/tin.1:1483 doc/tin.1:1528
+#: doc/tin.1:1464 doc/tin.1:1519 doc/tin.1:1564
 msgid "Help screen of commands available."
 msgstr "Help screen of commands available."
 
 #.  -------------------------------------------------------------------
 #. type: SS
-#: doc/tin.1:1435
+#: doc/tin.1:1471
 #, no-wrap
 msgid "ATTACHMENT LISTING"
 msgstr "ATTACHMENT LISTING"
 
 #. type: Plain text
-#: doc/tin.1:1438
+#: doc/tin.1:1474
 msgid ""
 "B<PageViewAttach> ('B<V>') displays a list of attachments of the current "
 "article. Besides the common moving keys, the following commands are "
@@ -3689,57 +3757,57 @@ msgstr ""
 "available:"
 
 #. type: TP
-#: doc/tin.1:1439
+#: doc/tin.1:1475
 #, no-wrap
 msgid "B<AttachPipe 'p'>"
 msgstr "B<AttachPipe 'p'>"
 
 #. type: Plain text
-#: doc/tin.1:1442
+#: doc/tin.1:1478
 msgid "Pipe attachment into command."
 msgstr "Pipe attachment into command."
 
 #. type: TP
-#: doc/tin.1:1442
+#: doc/tin.1:1478
 #, no-wrap
 msgid "B<AttachSave 's'>"
 msgstr "B<AttachSave 's'>"
 
 #. type: Plain text
-#: doc/tin.1:1445
+#: doc/tin.1:1481
 msgid "Save current attachment / tagged attachments to disk."
 msgstr "Save current attachment / tagged attachments to disk."
 
 #. type: TP
-#: doc/tin.1:1445
+#: doc/tin.1:1481
 #, no-wrap
 msgid "B<AttachSelect '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<AttachSelect '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1448
+#: doc/tin.1:1484
 msgid "View attachment."
 msgstr "View attachment."
 
 #. type: TP
-#: doc/tin.1:1448
+#: doc/tin.1:1484
 #, no-wrap
 msgid "B<AttachTag 't'>"
 msgstr "B<AttachTag 't'>"
 
 #. type: Plain text
-#: doc/tin.1:1451
+#: doc/tin.1:1487
 msgid "Tag one or more attachments for saving."
 msgstr "Tag one or more attachments for saving."
 
 #. type: TP
-#: doc/tin.1:1451
+#: doc/tin.1:1487
 #, no-wrap
 msgid "B<AttachTagPattern '='>"
 msgstr "B<AttachTagPattern '='>"
 
 #. type: Plain text
-#: doc/tin.1:1455
+#: doc/tin.1:1491
 msgid ""
 "Prompts for a pattern to match. All attachments whose name/description or "
 "content type/transfer encoding match the pattern will be tagged."
@@ -3748,52 +3816,52 @@ msgstr ""
 "content type/transfer encoding match the pattern will be tagged."
 
 #. type: TP
-#: doc/tin.1:1455
+#: doc/tin.1:1491
 #, no-wrap
 msgid "B<AttachToggleTagged '@'>"
 msgstr "B<AttachToggleTagged '@'>"
 
 #. type: Plain text
-#: doc/tin.1:1458
+#: doc/tin.1:1494
 msgid "Reverse tagging of all attachments."
 msgstr "Reverse tagging of all attachments."
 
 #. type: TP
-#: doc/tin.1:1458
+#: doc/tin.1:1494
 #, no-wrap
 msgid "B<AttachUntag 'U'>"
 msgstr "B<AttachUntag 'U'>"
 
 #. type: Plain text
-#: doc/tin.1:1461
+#: doc/tin.1:1497
 msgid "Untag all tagged attachments."
 msgstr "Untag all tagged attachments."
 
 #. type: Plain text
-#: doc/tin.1:1464
+#: doc/tin.1:1500
 msgid "Attachment forward search."
 msgstr "Attachment forward search."
 
 #. type: Plain text
-#: doc/tin.1:1467
+#: doc/tin.1:1503
 msgid "Attachment backward search."
 msgstr "Attachment backward search."
 
 #. type: TP
-#: doc/tin.1:1470
+#: doc/tin.1:1506
 #, no-wrap
 msgid "B<GlobalPipe '|'>"
 msgstr "B<GlobalPipe '|'>"
 
 #. type: Plain text
-#: doc/tin.1:1473
+#: doc/tin.1:1509
 msgid ""
 "Pipe attachment into command. Uses the raw attachment, no decoding is done."
 msgstr ""
 "Pipe attachment into command. Uses the raw attachment, no decoding is done."
 
 #. type: Plain text
-#: doc/tin.1:1480
+#: doc/tin.1:1516
 msgid ""
 "Toggle the display of the name/description of the current attachment in the "
 "last line."
@@ -3803,14 +3871,14 @@ msgstr ""
 
 #.  -------------------------------------------------------------------
 #. type: SS
-#: doc/tin.1:1490
+#: doc/tin.1:1526
 #, no-wrap
 msgid "POSTING HISTORY LISTING"
 msgstr "POSTING HISTORY LISTING"
 
 #
 #. type: Plain text
-#: doc/tin.1:1498
+#: doc/tin.1:1534
 msgid ""
 "B<DisplayPostHist> ('B<W>') displays a list of all previous posted articles "
 "stored in I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/posted>. The following "
@@ -3829,13 +3897,13 @@ msgstr ""
 "moving keys, the following commands are available:"
 
 #. type: TP
-#: doc/tin.1:1499
+#: doc/tin.1:1535
 #, no-wrap
 msgid "B<PostedArticlesSelect '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<PostedArticlesSelect '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1510
+#: doc/tin.1:1546
 msgid ""
 "The article with the current ''Message-ID:'' will be opened if available.  "
 "Note that this requires that the ''Message-ID:'' of the article was recorded "
@@ -3856,13 +3924,13 @@ msgstr ""
 "spool) it is not."
 
 #. type: Plain text
-#: doc/tin.1:1525
+#: doc/tin.1:1561
 msgid "Toggle the display of the current ''Message-ID:'' in the last line."
 msgstr "Toggle the display of the current ''Message-ID:'' in the last line."
 
 #.  -------------------------------------------------------------------
 #. type: SS
-#: doc/tin.1:1535
+#: doc/tin.1:1571
 #, no-wrap
 msgid "GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES"
 msgstr "GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES"
@@ -3871,7 +3939,7 @@ msgstr "GLOBAL OPTIONS MENU AND TINRC CO
 #.        - \fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fR is used
 #.          in the !TIN_DEFAULTS_DIR config case
 #. type: Plain text
-#: doc/tin.1:1547
+#: doc/tin.1:1583
 msgid ""
 "At startup, B<tin> reads in the configuration files (see also B<\\"
 "%tin>(5)).  They contain a list of variables that can be used to configure "
@@ -3888,7 +3956,7 @@ msgstr ""
 "distributing system-wide defaults to new users who have no private tinrc yet."
 
 #. type: Plain text
-#: doc/tin.1:1555
+#: doc/tin.1:1591
 msgid ""
 "The variables are user configurable by editing I<${TIN_HOMEDIR:-\"$HOME\"}/."
 "tin/tinrc> directly. Most of them can also be set in the GLOBAL OPTIONS MENU "
@@ -3905,7 +3973,7 @@ msgstr ""
 "don't edit the file directly whilst B<tin> is running."
 
 #. type: Plain text
-#: doc/tin.1:1561
+#: doc/tin.1:1597
 msgid ""
 "In the options menu use the cursor keys in the usual way to move around. Use "
 "B<ConfigSelect> ('B<^J>' or 'B<E<lt>CRE<gt>>') to 'open' the option you wish "
@@ -3920,7 +3988,7 @@ msgstr ""
 "\\&'B<E<lt>ESCE<gt>>' will abort without saving changes."
 
 #. type: Plain text
-#: doc/tin.1:1568
+#: doc/tin.1:1604
 msgid ""
 "As with the other menus, B<RedrawScr> ('B<^L>') will redraw the screen. You "
 "can use B<SearchSubjF> ('B</>'), B<SearchSubjB> ('B<?>') and B<SearchRepeat> "
@@ -3935,7 +4003,7 @@ msgstr ""
 "without keeping your changes."
 
 #. type: Plain text
-#: doc/tin.1:1573
+#: doc/tin.1:1609
 msgid ""
 "The options menu provides access to the attributes menu for the current "
 "group by the B<ConfigToggleAttrib> ('B<E<lt>TABE<gt>>') command. Pressing "
@@ -3948,7 +4016,7 @@ msgstr ""
 "information see section \"ATTRIBUTES MENU AND GROUP ATTRIBUTES\"."
 
 #. type: Plain text
-#: doc/tin.1:1576
+#: doc/tin.1:1612
 msgid ""
 "The B<ConfigScopeMenu> ('B<S>') command brings up the scopes menu. For more "
 "information see section \"SCOPES MENU\"."
@@ -3957,7 +4025,7 @@ msgstr ""
 "information see section \"SCOPES MENU\"."
 
 #. type: Plain text
-#: doc/tin.1:1580
+#: doc/tin.1:1616
 msgid ""
 "Here is a full list of all the available variables. The name in braces is "
 "the name of the corresponding setting in I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/"
@@ -3968,30 +4036,30 @@ msgstr ""
 "tinrc>."
 
 #. type: TP
-#: doc/tin.1:1580
+#: doc/tin.1:1616
 #, no-wrap
 msgid "B<Abbreviate long newsgroup names (abbreviate_groupname)>"
 msgstr "B<Abbreviate long newsgroup names (abbreviate_groupname)>"
 
 #. type: Plain text
-#: doc/tin.1:1586 doc/tin.5:1300
+#: doc/tin.1:1622
 msgid ""
 "If ON abbreviate long newsgroup names at group selection level and article "
-"level (if necessary) like this: news.software.readers -E<gt> n.software."
-"readers -E<gt> n.s.readers -E<gt> n.s.r.  Default is OFF."
+"level (if necessary) like this: news.software.readers \\(-E<gt> n.software."
+"readers \\(-E<gt> n.s.readers \\(-E<gt> n.s.r.  Default is OFF."
 msgstr ""
 "If ON abbreviate long newsgroup names at group selection level and article "
-"level (if necessary) like this: news.software.readers -E<gt> n.software."
-"readers -E<gt> n.s.readers -E<gt> n.s.r.  Default is OFF."
+"level (if necessary) like this: news.software.readers \\(-E<gt> n.software."
+"readers \\(-E<gt> n.s.readers \\(-E<gt> n.s.r.  Default is OFF."
 
 #. type: TP
-#: doc/tin.1:1586
+#: doc/tin.1:1622
 #, no-wrap
 msgid "B<Add posted articles to filter (add_posted_to_filter)>"
 msgstr "B<Add posted articles to filter (add_posted_to_filter)>"
 
 #. type: Plain text
-#: doc/tin.1:1590 doc/tin.5:1304
+#: doc/tin.1:1626 doc/tin.5:1351
 msgid ""
 "If ON add posted articles which start a new thread to filter for "
 "highlighting follow-ups. Default is ON."
@@ -4000,62 +4068,62 @@ msgstr ""
 "highlighting follow-ups. Default is ON."
 
 #. type: TP
-#: doc/tin.1:1590
+#: doc/tin.1:1626
 #, no-wrap
 msgid "B<Insert 'User-Agent:'-header (advertising)>"
 msgstr "B<Insert 'User-Agent:'-header (advertising)>"
 
 #. type: Plain text
-#: doc/tin.1:1593 doc/tin.5:1307
+#: doc/tin.1:1629 doc/tin.5:1354
 msgid "Turn ON advertising in header (''User-Agent:''). Default is ON."
 msgstr "Turn ON advertising in header (''User-Agent:''). Default is ON."
 
 #. type: TP
-#: doc/tin.1:1593
+#: doc/tin.1:1629
 #, no-wrap
 msgid "B<Skip multipart/alternative parts (alternative_handling)>"
 msgstr "B<Skip multipart/alternative parts (alternative_handling)>"
 
 #. type: Plain text
-#: doc/tin.1:1596 doc/tin.5:1310
+#: doc/tin.1:1632 doc/tin.5:1357
 msgid ""
 "If ON strip multipart/alternative messages automatically. Default is ON."
 msgstr ""
 "If ON strip multipart/alternative messages automatically. Default is ON."
 
 #. type: TP
-#: doc/tin.1:1596
+#: doc/tin.1:1632
 #, no-wrap
 msgid "B<Character to show deleted articles (art_marked_deleted)>"
 msgstr "B<Character to show deleted articles (art_marked_deleted)>"
 
 #. type: Plain text
-#: doc/tin.1:1599 doc/tin.5:1313
+#: doc/tin.1:1635 doc/tin.5:1360
 msgid "The character used to show that an article was deleted. Default is 'D'."
 msgstr ""
 "The character used to show that an article was deleted. Default is 'D'."
 
 #. type: TP
-#: doc/tin.1:1599
+#: doc/tin.1:1635
 #, no-wrap
 msgid "B<Character to show inrange articles (art_marked_inrange)>"
 msgstr "B<Character to show inrange articles (art_marked_inrange)>"
 
 #. type: Plain text
-#: doc/tin.1:1602 doc/tin.5:1316
+#: doc/tin.1:1638 doc/tin.5:1363
 msgid ""
 "The character used to show that an article is in a range. Default is '#'."
 msgstr ""
 "The character used to show that an article is in a range. Default is '#'."
 
 #. type: TP
-#: doc/tin.1:1602
+#: doc/tin.1:1638
 #, no-wrap
 msgid "B<Character to show returning arts (art_marked_return)>"
 msgstr "B<Character to show returning arts (art_marked_return)>"
 
 #. type: Plain text
-#: doc/tin.1:1606 doc/tin.5:1320
+#: doc/tin.1:1642 doc/tin.5:1367
 msgid ""
 "The character used to show that an article will return as an unread article "
 "when the group is next entered. Default is '-'."
@@ -4064,13 +4132,13 @@ msgstr ""
 "when the group is next entered. Default is '-'."
 
 #. type: TP
-#: doc/tin.1:1606
+#: doc/tin.1:1642
 #, no-wrap
 msgid "B<Character to show selected articles (art_marked_selected)>"
 msgstr "B<Character to show selected articles (art_marked_selected)>"
 
 #. type: Plain text
-#: doc/tin.1:1610 doc/tin.5:1324
+#: doc/tin.1:1646 doc/tin.5:1371
 msgid ""
 "The character used to show that an article/thread is auto-selected (hot).  "
 "Default is '*'."
@@ -4079,13 +4147,13 @@ msgstr ""
 "Default is '*'."
 
 #. type: TP
-#: doc/tin.1:1610
+#: doc/tin.1:1646
 #, no-wrap
 msgid "B<Character to show recent articles (art_marked_recent)>"
 msgstr "B<Character to show recent articles (art_marked_recent)>"
 
 #. type: Plain text
-#: doc/tin.1:1614 doc/tin.5:1328
+#: doc/tin.1:1650 doc/tin.5:1375
 msgid ""
 "The character used to show that an article/thread is recent (not older than "
 "X days). See also B<recent_time>. Default is 'o'."
@@ -4094,13 +4162,13 @@ msgstr ""
 "X days). See also B<recent_time>. Default is 'o'."
 
 #. type: TP
-#: doc/tin.1:1614
+#: doc/tin.1:1650
 #, no-wrap
 msgid "B<Character to show unread articles (art_marked_unread)>"
 msgstr "B<Character to show unread articles (art_marked_unread)>"
 
 #. type: Plain text
-#: doc/tin.1:1618 doc/tin.5:1332
+#: doc/tin.1:1654 doc/tin.5:1379
 msgid ""
 "The character used to show that an article has not been read.  Default is "
 "'+'."
@@ -4109,24 +4177,24 @@ msgstr ""
 "'+'."
 
 #. type: TP
-#: doc/tin.1:1618
+#: doc/tin.1:1654
 #, no-wrap
 msgid "B<Character to show read articles (art_marked_read)>"
 msgstr "B<Character to show read articles (art_marked_read)>"
 
 #. type: Plain text
-#: doc/tin.1:1621 doc/tin.5:1335
+#: doc/tin.1:1657 doc/tin.5:1382
 msgid "The character used to show that an article was read. Default is ' '."
 msgstr "The character used to show that an article was read. Default is ' '."
 
 #. type: TP
-#: doc/tin.1:1621
+#: doc/tin.1:1657
 #, no-wrap
 msgid "B<Character to show killed articles (art_marked_killed)>"
 msgstr "B<Character to show killed articles (art_marked_killed)>"
 
 #. type: Plain text
-#: doc/tin.1:1625 doc/tin.5:1339
+#: doc/tin.1:1661 doc/tin.5:1386
 msgid ""
 "The character used to show that an article was killed. Default is 'K'.  "
 "B<kill_level> must be set accordingly."
@@ -4135,13 +4203,13 @@ msgstr ""
 "B<kill_level> must be set accordingly."
 
 #. type: TP
-#: doc/tin.1:1625
+#: doc/tin.1:1661
 #, no-wrap
 msgid "B<Character to show read selected arts (art_marked_read_selected)>"
 msgstr "B<Character to show read selected arts (art_marked_read_selected)>"
 
 #. type: Plain text
-#: doc/tin.1:1629 doc/tin.5:1343
+#: doc/tin.1:1665 doc/tin.5:1390
 msgid ""
 "The character used to show that an article was hot before it was read.  "
 "Default is ':'. B<kill_level> must be set accordingly."
@@ -4150,13 +4218,13 @@ msgstr ""
 "Default is ':'. B<kill_level> must be set accordingly."
 
 #. type: TP
-#: doc/tin.1:1629 doc/tin.5:1343
+#: doc/tin.1:1665 doc/tin.5:1390
 #, no-wrap
 msgid "B<Ask before using MIME viewer (ask_for_metamail)>"
 msgstr "B<Ask before using MIME viewer (ask_for_metamail)>"
 
 #. type: Plain text
-#: doc/tin.1:1634
+#: doc/tin.1:1670
 msgid ""
 "If ON B<tin> will ask before using a MIME viewer (B<metamail_prog>) to "
 "display MIME messages. This only occurs if a MIME viewer is set. Default is "
@@ -4167,13 +4235,13 @@ msgstr ""
 "OFF."
 
 #. type: TP
-#: doc/tin.1:1634
+#: doc/tin.1:1670
 #, no-wrap
 msgid "B<Format string for the Attachment level (attachment_format)>"
 msgstr "B<Format string for the Attachment level (attachment_format)>"
 
 #. type: Plain text
-#: doc/tin.1:1639
+#: doc/tin.1:1675
 msgid ""
 "Format string B<tin> uses for Attachment level representation. See the "
 "section \"CUSTOMIZING THE SCREEN FORMAT\".  Default is \"%t%s%e%c%d\"."
@@ -4182,13 +4250,13 @@ msgstr ""
 "section \"CUSTOMISING THE SCREEN FORMAT\".  Default is \"%t%s%e%c%d\"."
 
 #. type: TP
-#: doc/tin.1:1639
+#: doc/tin.1:1675
 #, no-wrap
 msgid "B<Send you a cc and/or bcc automatically (auto_cc_bcc)>"
 msgstr "B<Send you a cc and/or bcc automatically (auto_cc_bcc)>"
 
 #. type: Plain text
-#: doc/tin.1:1643 doc/tin.5:1360
+#: doc/tin.1:1679 doc/tin.5:1407
 msgid ""
 "Automatically put your name in the ''Cc:'' and/or ''Bcc:'' field when "
 "mailing an article. Default is No."
@@ -4197,13 +4265,13 @@ msgstr ""
 "mailing an article. Default is No."
 
 #. type: TP
-#: doc/tin.1:1643
+#: doc/tin.1:1679
 #, no-wrap
 msgid "B<List thread using right arrow key (auto_list_thread)>"
 msgstr "B<List thread using right arrow key (auto_list_thread)>"
 
 #. type: Plain text
-#: doc/tin.1:1647 doc/tin.5:1364
+#: doc/tin.1:1683 doc/tin.5:1411
 msgid ""
 "If ON automatically list thread when entering it using right arrow key.  "
 "Default is ON."
@@ -4212,24 +4280,24 @@ msgstr ""
 "Default is ON."
 
 #. type: TP
-#: doc/tin.1:1647
+#: doc/tin.1:1683
 #, no-wrap
 msgid "B<Reconnect to server automatically (auto_reconnect)>"
 msgstr "B<Reconnect to server automatically (auto_reconnect)>"
 
 #. type: Plain text
-#: doc/tin.1:1650 doc/tin.1:2684
+#: doc/tin.1:1686 doc/tin.1:2736
 msgid "Default is OFF."
 msgstr "Default is OFF."
 
 #. type: TP
-#: doc/tin.1:1650
+#: doc/tin.1:1686
 #, no-wrap
 msgid "B<Save articles in batch mode (batch_save)>"
 msgstr "B<Save articles in batch mode (batch_save)>"
 
 #. type: Plain text
-#: doc/tin.1:1655 doc/tin.5:1372
+#: doc/tin.1:1691 doc/tin.5:1419
 msgid ""
 "If set ON articles/threads will be saved in batch mode when save \\&''B<-"
 "S>'' or mail ''B<-M>, B<-N>'' is specified on the command line. Default is "
@@ -4240,13 +4308,13 @@ msgstr ""
 "ON."
 
 #. type: TP
-#: doc/tin.1:1655
+#: doc/tin.1:1691
 #, no-wrap
 msgid "B<Show mini menu & posting etiquette (beginner_level)>"
 msgstr "B<Show mini menu & posting etiquette (beginner_level)>"
 
 #. type: Plain text
-#: doc/tin.1:1660 doc/tin.5:1377
+#: doc/tin.1:1696 doc/tin.5:1424
 msgid ""
 "If set ON a mini menu of the most useful commands will be displayed at the "
 "bottom of the screen for each level. Also a short posting etiquette will be "
@@ -4257,13 +4325,13 @@ msgstr ""
 "displayed after composing an article. Default is ON."
 
 #. type: TP
-#: doc/tin.1:1660
+#: doc/tin.1:1696
 #, no-wrap
 msgid "B<Cache NNTP overview files locally (cache_overview_files)>"
 msgstr "B<Cache NNTP overview files locally (cache_overview_files)>"
 
 #. type: Plain text
-#: doc/tin.1:1665
+#: doc/tin.1:1701
 msgid ""
 "If ON, create local copies of NNTP overview files. This can be used to "
 "considerably speed up accessing large groups when using a slow connection.  "
@@ -4274,30 +4342,49 @@ msgstr ""
 "See also \"INDEX FILES\". Default is OFF."
 
 #. type: TP
-#: doc/tin.1:1665
+#: doc/tin.1:1701
+#, no-wrap
+msgid "B<Compress locally cached NNTP overview files (compress_overview_files)>"
+msgstr "B<Compress locally cached NNTP overview files (compress_overview_files)>"
+
+#. type: Plain text
+#: doc/tin.1:1706 doc/tin.5:1434
+msgid ""
+"If ON, locally cached NNTP overview files (B<cache_overview_files>) are "
+"saved in compressed form (B<RFC\\%1952>). Useful to reduce local disk space "
+"used. Default is OFF."
+msgstr ""
+"If ON, locally cached NNTP overview files (B<cache_overview_files>) are "
+"saved in compressed form (B<RFC\\%1952>). Useful to reduce local disk space "
+"used. Default is OFF."
+
+#. type: TP
+#: doc/tin.1:1706
 #, no-wrap
 msgid "B<Hash algorithm for cancel-locks (cancel_lock_algo)>"
 msgstr "B<Hash algorithm for cancel-locks (cancel_lock_algo)>"
 
 #. type: Plain text
-#: doc/tin.1:1671 doc/tin.5:1388
+#: doc/tin.1:1713
 msgid ""
 "Use this hash algorithm for cancel-locks. Only available when built with "
 "cancel-lock support. none disables the generation of cancel-locks. Valid "
-"values are none, sha1, sha256 and sha512.  Default is sha1."
+"values are none, sha1, sha256 and sha512.  Default is sha1. See also "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.cancelsecret> in B<\\%tin>(5)."
 msgstr ""
 "Use this hash algorithm for cancel-locks. Only available when built with "
 "cancel-lock support. none disables the generation of cancel-locks. Valid "
-"values are none, sha1, sha256 and sha512.  Default is sha1."
+"values are none, sha1, sha256 and sha512.  Default is sha1. See also "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.cancelsecret> in B<\\%tin>(5)."
 
 #. type: TP
-#: doc/tin.1:1671
+#: doc/tin.1:1713
 #, no-wrap
 msgid "B<Catchup read groups when quitting (catchup_read_groups)>"
 msgstr "B<Catchup read groups when quitting (catchup_read_groups)>"
 
 #. type: Plain text
-#: doc/tin.1:1677 doc/tin.5:1392
+#: doc/tin.1:1719 doc/tin.5:1444
 msgid ""
 "If set ON the user is asked when quitting if all groups read during the "
 "current session should be marked read. Default is OFF."
@@ -4306,101 +4393,101 @@ msgstr ""
 "current session should be marked read. Default is OFF."
 
 #. type: TP
-#: doc/tin.1:1677
+#: doc/tin.1:1719
 #, no-wrap
 msgid "B<Standard background color (col_back)>"
 msgstr "B<Standard background colour (col_back)>"
 
 #. type: Plain text
-#: doc/tin.1:1680 doc/tin.5:1395
+#: doc/tin.1:1722 doc/tin.5:1447
 msgid "Standard background color"
 msgstr "Standard background colour"
 
 #. type: TP
-#: doc/tin.1:1680
+#: doc/tin.1:1722
 #, no-wrap
 msgid "B<Color of quoted text from external sources (col_extquote)>"
 msgstr "B<Colour of quoted text from external sources (col_extquote)>"
 
 #. type: Plain text
-#: doc/tin.1:1683 doc/tin.5:1398
+#: doc/tin.1:1725 doc/tin.5:1450
 msgid "Color of quoted text from external sources"
 msgstr "Colour of quoted text from external sources"
 
 #. type: TP
-#: doc/tin.1:1683
+#: doc/tin.1:1725
 #, no-wrap
 msgid "B<Color of sender (From:) (col_from)>"
 msgstr "B<Colour of sender (From:) (col_from)>"
 
 #. type: Plain text
-#: doc/tin.1:1686 doc/tin.5:1401
+#: doc/tin.1:1728 doc/tin.5:1453
 msgid "Color of sender (From:)"
 msgstr "Colour of sender (From:)"
 
 #. type: TP
-#: doc/tin.1:1686
+#: doc/tin.1:1728
 #, no-wrap
 msgid "B<Color of article header lines (col_head)>"
 msgstr "B<Colour of article header lines (col_head)>"
 
 #. type: Plain text
-#: doc/tin.1:1689 doc/tin.5:1404
+#: doc/tin.1:1731 doc/tin.5:1456
 msgid "Color of header-lines"
 msgstr "Colour of header-lines"
 
 #. type: TP
-#: doc/tin.1:1689
+#: doc/tin.1:1731
 #, no-wrap
 msgid "B<Color of help text (col_help)>"
 msgstr "B<Colour of help text (col_help)>"
 
 #. type: Plain text
-#: doc/tin.1:1692 doc/tin.5:1407
+#: doc/tin.1:1734 doc/tin.5:1459
 msgid "Color of help pages"
 msgstr "Colour of help pages"
 
 #. type: TP
-#: doc/tin.1:1692
+#: doc/tin.1:1734
 #, no-wrap
 msgid "B<Color for inverse text (background) (col_invers_bg)>"
 msgstr "B<Colour for inverse text (background) (col_invers_bg)>"
 
 #. type: Plain text
-#: doc/tin.1:1695 doc/tin.5:1410
+#: doc/tin.1:1737 doc/tin.5:1462
 msgid "Color of background for inverse text"
 msgstr "Colour of background for inverse text"
 
 #. type: TP
-#: doc/tin.1:1695
+#: doc/tin.1:1737
 #, no-wrap
 msgid "B<Color for inverse text (foreground) (col_invers_fg)>"
 msgstr "B<Colour for inverse text (foreground) (col_invers_fg)>"
 
 #. type: Plain text
-#: doc/tin.1:1698 doc/tin.5:1413
+#: doc/tin.1:1740 doc/tin.5:1465
 msgid "Color of foreground for inverse text"
 msgstr "Colour of foreground for inverse text"
 
 #. type: TP
-#: doc/tin.1:1698
+#: doc/tin.1:1740
 #, no-wrap
 msgid "B<Color of status messages (col_message)>"
 msgstr "B<Colour of status messages (col_message)>"
 
 #. type: Plain text
-#: doc/tin.1:1701 doc/tin.5:1432
+#: doc/tin.1:1743 doc/tin.5:1484
 msgid "Color of status messages in last line"
 msgstr "Colour of status messages in last line"
 
 #. type: TP
-#: doc/tin.1:1701
+#: doc/tin.1:1743
 #, no-wrap
 msgid "B<Color of highlighting with _dash_ (col_markdash)>"
 msgstr "B<Colour of highlighting with _dash_ (col_markdash)>"
 
 #. type: Plain text
-#: doc/tin.1:1705 doc/tin.5:1417
+#: doc/tin.1:1747 doc/tin.5:1469
 msgid ""
 "Color of words emphasized like _this_. See also B<word_h_display_marks> and "
 "B<word_highlight>."
@@ -4409,13 +4496,13 @@ msgstr ""
 "B<word_highlight>."
 
 #. type: TP
-#: doc/tin.1:1705
+#: doc/tin.1:1747
 #, no-wrap
 msgid "B<Color of highlighting with /slash/ (col_markslash)>"
 msgstr "B<Colour of highlighting with /slash/ (col_markslash)>"
 
 #. type: Plain text
-#: doc/tin.1:1709 doc/tin.5:1421
+#: doc/tin.1:1751 doc/tin.5:1473
 msgid ""
 "Color of words emphasized like /this/. See also B<word_h_display_marks> and "
 "B<word_highlight>."
@@ -4424,13 +4511,13 @@ msgstr ""
 "B<word_highlight>."
 
 #. type: TP
-#: doc/tin.1:1709
+#: doc/tin.1:1751
 #, no-wrap
 msgid "B<Color of highlighting with *stars* (col_markstar)>"
 msgstr "B<Colour of highlighting with *stars* (col_markstar)>"
 
 #. type: Plain text
-#: doc/tin.1:1713 doc/tin.5:1425
+#: doc/tin.1:1755 doc/tin.5:1477
 msgid ""
 "Color of words emphasized like *this*. See also B<word_h_display_marks> and "
 "B<word_highlight>."
@@ -4439,13 +4526,13 @@ msgstr ""
 "B<word_highlight>."
 
 #. type: TP
-#: doc/tin.1:1713
+#: doc/tin.1:1755
 #, no-wrap
 msgid "B<Color of highlighting with -stroke- (col_markstroke)>"
 msgstr "B<Colour of highlighting with -stroke- (col_markstroke)>"
 
 #. type: Plain text
-#: doc/tin.1:1717 doc/tin.5:1429
+#: doc/tin.1:1759 doc/tin.5:1481
 msgid ""
 "Color of words emphasized like -this-. See also B<word_h_display_marks> and "
 "B<word_highlight>."
@@ -4454,79 +4541,79 @@ msgstr ""
 "B<word_highlight>."
 
 #. type: TP
-#: doc/tin.1:1717
+#: doc/tin.1:1759
 #, no-wrap
 msgid "B<Color of mini help menu (col_minihelp)>"
 msgstr "B<Colour of mini help menu (col_minihelp)>"
 
 #. type: Plain text
-#: doc/tin.1:1720 doc/tin.5:1435
+#: doc/tin.1:1762 doc/tin.5:1487
 msgid "Color of mini help menu"
 msgstr "Colour of mini help menu"
 
 #. type: TP
-#: doc/tin.1:1720
+#: doc/tin.1:1762
 #, no-wrap
 msgid "B<Color of actual news header fields (col_newsheaders)>"
 msgstr "B<Colour of actual news header fields (col_newsheaders)>"
 
 #. type: Plain text
-#: doc/tin.1:1723 doc/tin.5:1438
+#: doc/tin.1:1765 doc/tin.5:1490
 msgid "Color of actual news header fields"
 msgstr "Colour of actual news header fields"
 
 #. type: TP
-#: doc/tin.1:1723
+#: doc/tin.1:1765
 #, no-wrap
 msgid "B<Standard foreground color (col_normal)>"
 msgstr "B<Standard foreground colour (col_normal)>"
 
 #. type: Plain text
-#: doc/tin.1:1726 doc/tin.5:1441
+#: doc/tin.1:1768 doc/tin.5:1493
 msgid "Standard foreground color"
 msgstr "Standard foreground colour"
 
 #. type: TP
-#: doc/tin.1:1726
+#: doc/tin.1:1768
 #, no-wrap
 msgid "B<Color of quoted lines (col_quote)>"
 msgstr "B<Colour of quoted lines (col_quote)>"
 
 #. type: Plain text
-#: doc/tin.1:1729 doc/tin.5:1444
+#: doc/tin.1:1771 doc/tin.5:1496
 msgid "Color of quoted lines"
 msgstr "Colour of quoted lines"
 
 #. type: TP
-#: doc/tin.1:1729
+#: doc/tin.1:1771
 #, no-wrap
 msgid "B<Color of twice quoted line (col_quote2)>"
 msgstr "B<Colour of twice quoted line (col_quote2)>"
 
 #. type: Plain text
-#: doc/tin.1:1732 doc/tin.5:1447
+#: doc/tin.1:1774 doc/tin.5:1499
 msgid "Color of twice quoted lines"
 msgstr "Colour of twice quoted lines"
 
 #. type: TP
-#: doc/tin.1:1732
+#: doc/tin.1:1774
 #, no-wrap
 msgid "B<Color of =E<gt>3 times quoted line (col_quote3)>"
 msgstr "B<Colour of =E<gt>3 times quoted line (col_quote3)>"
 
 #. type: Plain text
-#: doc/tin.1:1735 doc/tin.5:1450
+#: doc/tin.1:1777 doc/tin.5:1502
 msgid "Color of E<gt>=3 times quoted lines"
 msgstr "Colour of E<gt>=3 times quoted lines"
 
 #. type: TP
-#: doc/tin.1:1735
+#: doc/tin.1:1777
 #, no-wrap
 msgid "B<Color of response counter (col_response)>"
 msgstr "B<Colour of response counter (col_response)>"
 
 #. type: Plain text
-#: doc/tin.1:1739 doc/tin.5:1454
+#: doc/tin.1:1781 doc/tin.5:1506
 msgid ""
 "Color of response counter. This is the text that says \"Response x of y\" in "
 "the article viewer."
@@ -4535,113 +4622,113 @@ msgstr ""
 "in the article viewer."
 
 #. type: TP
-#: doc/tin.1:1739
+#: doc/tin.1:1781
 #, no-wrap
 msgid "B<Color of signatures (col_signature)>"
 msgstr "B<Colour of signatures (col_signature)>"
 
 #. type: Plain text
-#: doc/tin.1:1742 doc/tin.5:1457
+#: doc/tin.1:1784 doc/tin.5:1509
 msgid "Color of signatures"
 msgstr "Colour of signatures"
 
 #. type: TP
-#: doc/tin.1:1742
+#: doc/tin.1:1784
 #, no-wrap
 msgid "B<Color of negative score (col_score_neg)>"
 msgstr "B<Colour of negative score (col_score_neg)>"
 
 #. type: Plain text
-#: doc/tin.1:1745 doc/tin.5:1460
+#: doc/tin.1:1787 doc/tin.5:1512
 msgid "Color of negative score"
 msgstr "Colour of negative score"
 
 #. type: TP
-#: doc/tin.1:1745
+#: doc/tin.1:1787
 #, no-wrap
 msgid "B<Color of positive score (col_score_pos)>"
 msgstr "B<Colour of positive score (col_score_pos)>"
 
 #. type: Plain text
-#: doc/tin.1:1748 doc/tin.5:1463
+#: doc/tin.1:1790 doc/tin.5:1515
 msgid "Color of positive score"
 msgstr "Colour of positive score"
 
 #. type: TP
-#: doc/tin.1:1748
+#: doc/tin.1:1790
 #, no-wrap
 msgid "B<Color of urls highlight (col_urls)>"
 msgstr "B<Colour of urls highlight (col_urls)>"
 
 #. type: Plain text
-#: doc/tin.1:1751 doc/tin.5:1466
+#: doc/tin.1:1793 doc/tin.5:1518
 msgid "Color of urls highlight"
 msgstr "Colour of urls highlight"
 
 #. type: TP
-#: doc/tin.1:1751
+#: doc/tin.1:1793
 #, no-wrap
 msgid "B<Color of verbatim blocks (col_verbatim)>"
 msgstr "B<Colour of verbatim blocks (col_verbatim)>"
 
 #. type: Plain text
-#: doc/tin.1:1754 doc/tin.5:1469
+#: doc/tin.1:1796 doc/tin.5:1521
 msgid "Color of verbatim blocks"
 msgstr "Colour of verbatim blocks"
 
 #. type: TP
-#: doc/tin.1:1754
+#: doc/tin.1:1796
 #, no-wrap
 msgid "B<Color of article subject lines (col_subject)>"
 msgstr "B<Colour of article subject lines (col_subject)>"
 
 #. type: Plain text
-#: doc/tin.1:1757 doc/tin.5:1472
+#: doc/tin.1:1799 doc/tin.5:1524
 msgid "Color of article subject"
 msgstr "Colour of article subject"
 
 #. type: TP
-#: doc/tin.1:1757
+#: doc/tin.1:1799
 #, no-wrap
 msgid "B<Color of text lines (col_text)>"
 msgstr "B<Colour of text lines (col_text)>"
 
 #. type: Plain text
-#: doc/tin.1:1760 doc/tin.5:1475
+#: doc/tin.1:1802 doc/tin.5:1527
 msgid "Color of text-lines"
 msgstr "Colour of text-lines"
 
 #. type: TP
-#: doc/tin.1:1760
+#: doc/tin.1:1802
 #, no-wrap
 msgid "B<Color of help/mail sign (col_title)>"
 msgstr "B<Colour of help/mail sign (col_title)>"
 
 #. type: Plain text
-#: doc/tin.1:1763 doc/tin.5:1478
+#: doc/tin.1:1805 doc/tin.5:1530
 msgid "Color of help/mail sign"
 msgstr "Colour of help/mail sign"
 
 #. type: TP
-#: doc/tin.1:1763
+#: doc/tin.1:1805
 #, no-wrap
 msgid "B<Which actions require confirmation (confirm_choice)>"
 msgstr "B<Which actions require confirmation (confirm_choice)>"
 
 #. type: Plain text
-#: doc/tin.1:1766
+#: doc/tin.1:1808
 msgid "Ask for manual confirmation to protect the user."
 msgstr "Ask for manual confirmation to protect the user."
 
 #. type: IP
-#: doc/tin.1:1767 doc/tin.1:1773 doc/tin.1:1777
+#: doc/tin.1:1809 doc/tin.1:1815 doc/tin.1:1819
 #, no-wrap
 msgid "\\(bu"
 msgstr "\\(bu"
 
 #.  TODO: check if all affected commands are marked [after confirmation]
 #. type: Plain text
-#: doc/tin.1:1773
+#: doc/tin.1:1815
 msgid ""
 "B<commands> Ask for confirmation before executing certain dangerous commands "
 "(e.g., B<Catchup> ('B<c>')). Commands that this affects are marked in this "
@@ -4652,7 +4739,7 @@ msgstr ""
 "manual with '[after confirmation]'. Default is commands & quit."
 
 #. type: Plain text
-#: doc/tin.1:1777
+#: doc/tin.1:1819
 msgid ""
 "B<quit> You'll be asked to confirm that you wish to exit B<tin> when you use "
 "the B<Quit> ('B<q>') command."
@@ -4661,7 +4748,7 @@ msgstr ""
 "the B<Quit> ('B<q>') command."
 
 #. type: Plain text
-#: doc/tin.1:1781
+#: doc/tin.1:1823
 msgid ""
 "B<select> Ask for confirmation before marking all not selected (with "
 "B<GroupMarkUnselArtRead> ('B<X>') command) articles as read."
@@ -4670,7 +4757,7 @@ msgstr ""
 "B<GroupMarkUnselArtRead> ('B<X>') command) articles as read."
 
 #. type: TP
-#: doc/tin.1:1782
+#: doc/tin.1:1824
 #, no-wrap
 msgid "B<Format string for display of dates (date_format)>"
 msgstr "B<Format string for display of dates (date_format)>"
@@ -4678,7 +4765,7 @@ msgstr "B<Format string for display of d
 #.  most of these default_* settings are not available from the menu
 #.  as they are intended for internal use only.
 #. type: Plain text
-#: doc/tin.1:1794
+#: doc/tin.1:1836
 msgid ""
 "Format string B<tin> uses for date representation. A description of the "
 "different format options can be found at B<\\%strftime>(3).  B<tin> uses B<\\"
@@ -4691,47 +4778,47 @@ msgstr ""
 "fallback code.  Default is \"%a, %d %b %Y %H:%M:%S\"."
 
 #. type: TP
-#: doc/tin.1:1794
+#: doc/tin.1:1836
 #, no-wrap
 msgid "B<(default_art_search)>"
 msgstr "B<(default_art_search)>"
 
 #. type: TP
-#: doc/tin.1:1796
+#: doc/tin.1:1838
 #, no-wrap
 msgid "B<(default_author_search)>"
 msgstr "B<(default_author_search)>"
 
 #. type: TP
-#: doc/tin.1:1798
+#: doc/tin.1:1840
 #, no-wrap
 msgid "B<(default_config_search)>"
 msgstr "B<(default_config_search)>"
 
 #. type: Plain text
-#: doc/tin.1:1801 doc/tin.5:1517
+#: doc/tin.1:1843 doc/tin.5:1569
 msgid "The last article/author/config option that was searched for."
 msgstr "The last article/author/config option that was searched for."
 
 #. type: TP
-#: doc/tin.1:1801
+#: doc/tin.1:1843
 #, no-wrap
 msgid "B<(default_filter_days)>"
 msgstr "B<(default_filter_days)>"
 
 #. type: Plain text
-#: doc/tin.1:1804 doc/tin.5:1520
+#: doc/tin.1:1846 doc/tin.5:1572
 msgid "Default is 28."
 msgstr "Default is 28."
 
 #. type: TP
-#: doc/tin.1:1804
+#: doc/tin.1:1846
 #, no-wrap
 msgid "B<(default_filter_kill_case)>"
 msgstr "B<(default_filter_kill_case)>"
 
 #. type: Plain text
-#: doc/tin.1:1808 doc/tin.5:1524
+#: doc/tin.1:1850 doc/tin.5:1576
 msgid ""
 "Default for quick (1 key) kill filter case.  ON = filter case sensitive, OFF "
 "= ignore case. Default is OFF."
@@ -4740,13 +4827,13 @@ msgstr ""
 "= ignore case. Default is OFF."
 
 #. type: TP
-#: doc/tin.1:1808
+#: doc/tin.1:1850
 #, no-wrap
 msgid "B<(default_filter_kill_expire)>"
 msgstr "B<(default_filter_kill_expire)>"
 
 #. type: Plain text
-#: doc/tin.1:1813 doc/tin.5:1529
+#: doc/tin.1:1855 doc/tin.5:1581
 msgid ""
 "Default for quick (1 key) kill filter expire.  ON = limit to "
 "B<default_filter_days>, OFF = don't ever expire. Default is OFF."
@@ -4755,13 +4842,13 @@ msgstr ""
 "B<default_filter_days>, OFF = don't ever expire. Default is OFF."
 
 #. type: TP
-#: doc/tin.1:1813
+#: doc/tin.1:1855
 #, no-wrap
 msgid "B<(default_filter_kill_global)>"
 msgstr "B<(default_filter_kill_global)>"
 
 #. type: Plain text
-#: doc/tin.1:1817 doc/tin.5:1533
+#: doc/tin.1:1859 doc/tin.5:1585
 msgid ""
 "Default for quick (1 key) kill filter global.  ON=apply to all groups, "
 "OFF=apply to current group. Default is ON."
@@ -4770,134 +4857,134 @@ msgstr ""
 "OFF=apply to current group. Default is ON."
 
 #. type: TP
-#: doc/tin.1:1817
+#: doc/tin.1:1859
 #, no-wrap
 msgid "B<(default_filter_kill_header)>"
 msgstr "B<(default_filter_kill_header)>"
 
 #. type: Plain text
-#: doc/tin.1:1820 doc/tin.5:1536
+#: doc/tin.1:1862 doc/tin.5:1588
 msgid "Default for quick (1 key) kill filter header."
 msgstr "Default for quick (1 key) kill filter header."
 
 #. type: IP
-#: doc/tin.1:1821 doc/tin.1:1855 doc/tin.1:1998 doc/tin.1:2199 doc/tin.1:2259
-#: doc/tin.1:2378 doc/tin.1:2403 doc/tin.1:2419 doc/tin.1:2471 doc/tin.1:2501
-#: doc/tin.1:2579 doc/tin.1:2611 doc/tin.1:2636 doc/tin.1:2742 doc/tin.5:1724
-#: doc/tin.5:1919 doc/tin.5:1983 doc/tin.5:2133 doc/tin.5:2148 doc/tin.5:2181
-#: doc/tin.5:2231 doc/tin.5:2260 doc/tin.5:2331 doc/tin.5:2380 doc/tin.5:2407
-#: doc/tin.5:2522
+#: doc/tin.1:1863 doc/tin.1:1897 doc/tin.1:2044 doc/tin.1:2250 doc/tin.1:2310
+#: doc/tin.1:2430 doc/tin.1:2455 doc/tin.1:2471 doc/tin.1:2523 doc/tin.1:2553
+#: doc/tin.1:2631 doc/tin.1:2663 doc/tin.1:2688 doc/tin.1:2794 doc/tin.5:1780
+#: doc/tin.5:1980 doc/tin.5:2044 doc/tin.5:2096 doc/tin.5:2197 doc/tin.5:2212
+#: doc/tin.5:2245 doc/tin.5:2298 doc/tin.5:2327 doc/tin.5:2398 doc/tin.5:2447
+#: doc/tin.5:2474 doc/tin.5:2589
 #, no-wrap
 msgid "0"
 msgstr "0"
 
 #. type: Plain text
-#: doc/tin.1:1823 doc/tin.1:1857
+#: doc/tin.1:1865 doc/tin.1:1899
 msgid "\\%''Subject:'' (case sensitive)"
 msgstr "\\%''Subject:'' (case-sensitive)"
 
 #. type: IP
-#: doc/tin.1:1823 doc/tin.1:1857 doc/tin.1:2004 doc/tin.1:2201 doc/tin.1:2261
-#: doc/tin.1:2380 doc/tin.1:2407 doc/tin.1:2421 doc/tin.1:2473 doc/tin.1:2503
-#: doc/tin.1:2581 doc/tin.1:2613 doc/tin.1:2638 doc/tin.1:2744 doc/tin.5:1731
-#: doc/tin.5:1921 doc/tin.5:1985 doc/tin.5:2034 doc/tin.5:2137 doc/tin.5:2150
-#: doc/tin.5:2183 doc/tin.5:2233 doc/tin.5:2262 doc/tin.5:2333 doc/tin.5:2382
-#: doc/tin.5:2409 doc/tin.5:2524
+#: doc/tin.1:1865 doc/tin.1:1899 doc/tin.1:2050 doc/tin.1:2252 doc/tin.1:2312
+#: doc/tin.1:2432 doc/tin.1:2459 doc/tin.1:2473 doc/tin.1:2525 doc/tin.1:2555
+#: doc/tin.1:2633 doc/tin.1:2665 doc/tin.1:2690 doc/tin.1:2796 doc/tin.5:1787
+#: doc/tin.5:1982 doc/tin.5:2046 doc/tin.5:2098 doc/tin.5:2201 doc/tin.5:2214
+#: doc/tin.5:2247 doc/tin.5:2300 doc/tin.5:2329 doc/tin.5:2400 doc/tin.5:2449
+#: doc/tin.5:2476 doc/tin.5:2591
 #, no-wrap
 msgid "1"
 msgstr "1"
 
 #. type: Plain text
-#: doc/tin.1:1825 doc/tin.1:1859
+#: doc/tin.1:1867 doc/tin.1:1901
 msgid "\\%''Subject:'' (ignore case)"
 msgstr "\\%''Subject:'' (ignore case)"
 
 #. type: IP
-#: doc/tin.1:1825 doc/tin.1:1859 doc/tin.1:2009 doc/tin.1:2203 doc/tin.1:2265
-#: doc/tin.1:2383 doc/tin.1:2423 doc/tin.1:2475 doc/tin.1:2506 doc/tin.1:2583
-#: doc/tin.1:2615 doc/tin.1:2640 doc/tin.1:2746 doc/tin.5:1736 doc/tin.5:1923
-#: doc/tin.5:1989 doc/tin.5:2038 doc/tin.5:2153 doc/tin.5:2185 doc/tin.5:2235
-#: doc/tin.5:2265 doc/tin.5:2335 doc/tin.5:2384 doc/tin.5:2411 doc/tin.5:2526
+#: doc/tin.1:1867 doc/tin.1:1901 doc/tin.1:2055 doc/tin.1:2254 doc/tin.1:2316
+#: doc/tin.1:2435 doc/tin.1:2475 doc/tin.1:2527 doc/tin.1:2558 doc/tin.1:2635
+#: doc/tin.1:2667 doc/tin.1:2692 doc/tin.1:2798 doc/tin.5:1792 doc/tin.5:1984
+#: doc/tin.5:2050 doc/tin.5:2102 doc/tin.5:2217 doc/tin.5:2249 doc/tin.5:2302
+#: doc/tin.5:2332 doc/tin.5:2402 doc/tin.5:2451 doc/tin.5:2478 doc/tin.5:2593
 #, no-wrap
 msgid "2"
 msgstr "2"
 
 #. type: Plain text
-#: doc/tin.1:1827 doc/tin.1:1861
+#: doc/tin.1:1869 doc/tin.1:1903
 msgid "\\%''From:'' (case sensitive)"
 msgstr "\\%''From:'' (case-sensitive)"
 
 #. type: IP
-#: doc/tin.1:1827 doc/tin.1:1861 doc/tin.1:2205 doc/tin.1:2386 doc/tin.1:2426
-#: doc/tin.1:2477 doc/tin.1:2508 doc/tin.1:2585 doc/tin.1:2642 doc/tin.5:1925
-#: doc/tin.5:2156 doc/tin.5:2188 doc/tin.5:2237 doc/tin.5:2267 doc/tin.5:2337
-#: doc/tin.5:2413
+#: doc/tin.1:1869 doc/tin.1:1903 doc/tin.1:2256 doc/tin.1:2438 doc/tin.1:2478
+#: doc/tin.1:2529 doc/tin.1:2560 doc/tin.1:2637 doc/tin.1:2694 doc/tin.5:1986
+#: doc/tin.5:2220 doc/tin.5:2252 doc/tin.5:2304 doc/tin.5:2334 doc/tin.5:2404
+#: doc/tin.5:2480
 #, no-wrap
 msgid "3"
 msgstr "3"
 
 #. type: Plain text
-#: doc/tin.1:1829 doc/tin.1:1863
+#: doc/tin.1:1871 doc/tin.1:1905
 msgid "\\%''From:'' (ignore case)"
 msgstr "\\%''From:'' (ignore case)"
 
 #. type: IP
-#: doc/tin.1:1829 doc/tin.1:1863 doc/tin.1:2207 doc/tin.1:2479 doc/tin.1:2510
-#: doc/tin.1:2588 doc/tin.1:2644 doc/tin.5:1927 doc/tin.5:2044 doc/tin.5:2239
-#: doc/tin.5:2269 doc/tin.5:2339 doc/tin.5:2415
+#: doc/tin.1:1871 doc/tin.1:1905 doc/tin.1:2258 doc/tin.1:2531 doc/tin.1:2562
+#: doc/tin.1:2640 doc/tin.1:2696 doc/tin.5:1988 doc/tin.5:2108 doc/tin.5:2306
+#: doc/tin.5:2336 doc/tin.5:2406 doc/tin.5:2482
 #, no-wrap
 msgid "4"
 msgstr "4"
 
 #. type: Plain text
-#: doc/tin.1:1831 doc/tin.1:1865
+#: doc/tin.1:1873 doc/tin.1:1907
 msgid "\\%''Message-ID:'' & full ''References:'' line"
 msgstr "\\%''Message-ID:'' & full ''References:'' line"
 
 #. type: IP
-#: doc/tin.1:1831 doc/tin.1:1865 doc/tin.1:2209 doc/tin.1:2481 doc/tin.1:2590
-#: doc/tin.1:2647 doc/tin.5:1929 doc/tin.5:2241 doc/tin.5:2341 doc/tin.5:2418
+#: doc/tin.1:1873 doc/tin.1:1907 doc/tin.1:2260 doc/tin.1:2533 doc/tin.1:2642
+#: doc/tin.1:2699 doc/tin.5:1990 doc/tin.5:2308 doc/tin.5:2408 doc/tin.5:2485
 #, no-wrap
 msgid "5"
 msgstr "5"
 
 #. type: Plain text
-#: doc/tin.1:1833 doc/tin.1:1867
+#: doc/tin.1:1875 doc/tin.1:1909
 msgid "\\%''Message-ID:'' & last ''References:'' entry only"
 msgstr "\\%''Message-ID:'' & last ''References:'' entry only"
 
 #. type: IP
-#: doc/tin.1:1833 doc/tin.1:1867 doc/tin.1:2483 doc/tin.1:2649 doc/tin.5:2243
-#: doc/tin.5:2420
+#: doc/tin.1:1875 doc/tin.1:1909 doc/tin.1:2535 doc/tin.1:2701 doc/tin.5:2310
+#: doc/tin.5:2487
 #, no-wrap
 msgid "6"
 msgstr "6"
 
 #. type: Plain text
-#: doc/tin.1:1835 doc/tin.1:1869
+#: doc/tin.1:1877 doc/tin.1:1911
 msgid "\\%''Message-ID:'' entry only"
 msgstr "\\%''Message-ID:'' entry only"
 
 #. type: IP
-#: doc/tin.1:1835 doc/tin.1:1869 doc/tin.1:2486 doc/tin.1:2651 doc/tin.5:2246
-#: doc/tin.5:2422
+#: doc/tin.1:1877 doc/tin.1:1911 doc/tin.1:2538 doc/tin.1:2703 doc/tin.5:2313
+#: doc/tin.5:2489
 #, no-wrap
 msgid "7"
 msgstr "7"
 
 #. type: Plain text
-#: doc/tin.1:1837 doc/tin.1:1871
+#: doc/tin.1:1879 doc/tin.1:1913
 msgid "\\%''Lines:''"
 msgstr "\\%''Lines:''"
 
 #. type: TP
-#: doc/tin.1:1838
+#: doc/tin.1:1880
 #, no-wrap
 msgid "B<(default_filter_select_case)>"
 msgstr "B<(default_filter_select_case)>"
 
 #. type: Plain text
-#: doc/tin.1:1842 doc/tin.5:1553
+#: doc/tin.1:1884 doc/tin.5:1605
 msgid ""
 "Default for quick (1 key) auto-selection filter case. ON=filter case "
 "sensitive, OFF=ignore case. Default is OFF."
@@ -4906,13 +4993,13 @@ msgstr ""
 "sensitive, OFF=ignore case. Default is OFF."
 
 #. type: TP
-#: doc/tin.1:1842
+#: doc/tin.1:1884
 #, no-wrap
 msgid "B<(default_filter_select_expire)>"
 msgstr "B<(default_filter_select_expire)>"
 
 #. type: Plain text
-#: doc/tin.1:1847 doc/tin.5:1558
+#: doc/tin.1:1889 doc/tin.5:1610
 msgid ""
 "Default for quick (1 key) auto-selection filter expire.  ON = limit to "
 "B<default_filter_days>, OFF = don't ever expire.  Default is OFF."
@@ -4921,13 +5008,13 @@ msgstr ""
 "B<default_filter_days>, OFF = don't ever expire.  Default is OFF."
 
 #. type: TP
-#: doc/tin.1:1847
+#: doc/tin.1:1889
 #, no-wrap
 msgid "B<(default_filter_select_global)>"
 msgstr "B<(default_filter_select_global)>"
 
 #. type: Plain text
-#: doc/tin.1:1851 doc/tin.5:1562
+#: doc/tin.1:1893 doc/tin.5:1614
 msgid ""
 "Default for quick (1 key) auto-selection filter global.  ON=apply to all "
 "groups, OFF=apply to current group. Default is ON."
@@ -4936,171 +5023,186 @@ msgstr ""
 "groups, OFF=apply to current group. Default is ON."
 
 #. type: TP
-#: doc/tin.1:1851
+#: doc/tin.1:1893
 #, no-wrap
 msgid "B<(default_filter_select_header)>"
 msgstr "B<(default_filter_select_header)>"
 
 #. type: Plain text
-#: doc/tin.1:1854 doc/tin.5:1565
+#: doc/tin.1:1896 doc/tin.5:1617
 msgid "Default for quick (1 key) auto-selection filter header."
 msgstr "Default for quick (1 key) auto-selection filter header."
 
 #. type: TP
-#: doc/tin.1:1872
+#: doc/tin.1:1914
 #, no-wrap
 msgid "B<(default_goto_group)>"
 msgstr "B<(default_goto_group)>"
 
 #. type: TP
-#: doc/tin.1:1874
+#: doc/tin.1:1916
 #, no-wrap
 msgid "B<(default_group_search)>"
 msgstr "B<(default_group_search)>"
 
 #. type: TP
-#: doc/tin.1:1876
+#: doc/tin.1:1918
 #, no-wrap
 msgid "B<(default_mail_address)>"
 msgstr "B<(default_mail_address)>"
 
 #. type: TP
-#: doc/tin.1:1878
+#: doc/tin.1:1920
 #, no-wrap
 msgid "B<(default_move_group)>"
 msgstr "B<(default_move_group)>"
 
 #. type: TP
-#: doc/tin.1:1880
+#: doc/tin.1:1922
 #, no-wrap
 msgid "B<(default_pattern)>"
 msgstr "B<(default_pattern)>"
 
 #. type: TP
-#: doc/tin.1:1882
+#: doc/tin.1:1924
 #, no-wrap
 msgid "B<(default_pipe_command)>"
 msgstr "B<(default_pipe_command)>"
 
 #. type: TP
-#: doc/tin.1:1884
+#: doc/tin.1:1926
 #, no-wrap
 msgid "B<(default_post_newsgroups)>"
 msgstr "B<(default_post_newsgroups)>"
 
 #. type: TP
-#: doc/tin.1:1886
+#: doc/tin.1:1928
 #, no-wrap
 msgid "B<(default_post_subject)>"
 msgstr "B<(default_post_subject)>"
 
 #. type: TP
-#: doc/tin.1:1888
+#: doc/tin.1:1930
 #, no-wrap
 msgid "B<(default_range_group)>"
 msgstr "B<(default_range_group)>"
 
 #. type: TP
-#: doc/tin.1:1890
+#: doc/tin.1:1932
 #, no-wrap
 msgid "B<(default_range_select)>"
 msgstr "B<(default_range_select)>"
 
 #. type: TP
-#: doc/tin.1:1892
+#: doc/tin.1:1934
 #, no-wrap
 msgid "B<(default_range_thread)>"
 msgstr "B<(default_range_thread)>"
 
 #. type: TP
-#: doc/tin.1:1894
+#: doc/tin.1:1936
 #, no-wrap
 msgid "B<(default_repost_group)>"
 msgstr "B<(default_repost_group)>"
 
 #. type: TP
-#: doc/tin.1:1896
+#: doc/tin.1:1938
 #, no-wrap
 msgid "B<(default_save_file)>"
 msgstr "B<(default_save_file)>"
 
 #. type: TP
-#: doc/tin.1:1898
+#: doc/tin.1:1940
 #, no-wrap
 msgid "B<(default_save_mode)>"
 msgstr "B<(default_save_mode)>"
 
 #. type: TP
-#: doc/tin.1:1900
+#: doc/tin.1:1942
 #, no-wrap
 msgid "B<(default_select_pattern)>"
 msgstr "B<(default_select_pattern)>"
 
 #. type: TP
-#: doc/tin.1:1902
+#: doc/tin.1:1944
 #, no-wrap
 msgid "B<(default_shell_command)>"
 msgstr "B<(default_shell_command)>"
 
 #. type: TP
-#: doc/tin.1:1904
+#: doc/tin.1:1946
 #, no-wrap
 msgid "B<(default_subject_search)>"
 msgstr "B<(default_subject_search)>"
 
 #. type: TP
-#: doc/tin.1:1906
+#: doc/tin.1:1948
 #, no-wrap
-msgid "B<Draw -E<gt> instead of highlighted bar (draw_arrow)>"
-msgstr "B<Draw -E<gt> instead of highlighted bar (draw_arrow)>"
+msgid "B<Don't break words when wrapping (dont_break_words)>"
+msgstr "B<Don't break words when wrapping (dont_break_words)>"
 
 #. type: Plain text
-#: doc/tin.1:1910 doc/tin.5:1616
+#: doc/tin.1:1952 doc/tin.5:1668
 msgid ""
-"Allows groups/articles to be selected by an arrow '-E<gt>' if set ON or by a "
-"highlighted bar if set OFF. Default is OFF."
+"Do not break long lines inside a word. This applies to the body except for "
+"verbatim blocks. See also B<wrap_column>. Default is OFF."
 msgstr ""
-"Allows groups/articles to be selected by an arrow '-E<gt>' if set ON or by a "
-"highlighted bar if set OFF. Default is OFF."
+"Do not break long lines inside a word. This applies to the body except for "
+"verbatim blocks. ee also B<wrap_column>. Default is OFF."
 
 #. type: TP
-#: doc/tin.1:1910
+#: doc/tin.1:1952
+#, no-wrap
+msgid "B<Draw \\(-E<gt> instead of highlighted bar (draw_arrow)>"
+msgstr "B<Draw \\(-E<gt> instead of highlighted bar (draw_arrow)>"
+
+#. type: Plain text
+#: doc/tin.1:1956
+msgid ""
+"Allows groups/articles to be selected by an arrow '\\(-E<gt>' if set ON or "
+"by a highlighted bar if set OFF. Default is OFF."
+msgstr ""
+"Allows groups/articles to be selected by an arrow '\\(-E<gt>' if set ON or "
+"by a highlighted bar if set OFF. Default is OFF."
+
+#. type: TP
+#: doc/tin.1:1956
 #, no-wrap
 msgid "B<Invocation of your editor (editor_format)>"
 msgstr "B<Invocation of your editor (editor_format)>"
 
 #. type: Plain text
-#: doc/tin.1:1916
+#: doc/tin.1:1962
 msgid ""
 "The format string used to create the editor start command with parameters.  "
 "Default is '%E +%N %F' with %E=Editor, %N=Linenumber and %F=Filename (e.g., /"
-"bin/vi +7 .article). See also $B<VISUAL> and $B<EDITOR> under \"ENVIRONMENT"
-"\"."
+"bin/vi +7 .article). See also $B<VISUAL> and $B<EDITOR> under "
+"\"ENVIRONMENT\"."
 msgstr ""
 "The format string used to create the editor start command with parameters.  "
 "Default is '%E +%N %F' with %E=Editor, %N=Linenumber and %F=Filename (e.g., /"
-"bin/vi +7 .article). See also $B<VISUAL> and $B<EDITOR> under \"ENVIRONMENT"
-"\"."
+"bin/vi +7 .article). See also $B<VISUAL> and $B<EDITOR> under "
+"\"ENVIRONMENT\"."
 
 #. type: TP
-#: doc/tin.1:1916
+#: doc/tin.1:1962
 #, no-wrap
 msgid "B<Detection of external quotes (extquote_handling)>"
 msgstr "B<Detection of external quotes (extquote_handling)>"
 
 #. type: Plain text
-#: doc/tin.1:1919 doc/tin.5:1626
+#: doc/tin.1:1965 doc/tin.5:1682
 msgid "If ON quotes from external sources will be detected. Default is OFF."
 msgstr "If ON quotes from external sources will be detected. Default is OFF."
 
 #. type: TP
-#: doc/tin.1:1919
+#: doc/tin.1:1965
 #, no-wrap
 msgid "B<Regex used to show external quotes (extquote_regex)>"
 msgstr "B<Regex used to show external quotes (extquote_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:1924
+#: doc/tin.1:1970
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_extquote>. If B<extquote_regex> is blank, "
@@ -5111,13 +5213,13 @@ msgstr ""
 "then B<tin> uses a built-in default."
 
 #. type: TP
-#: doc/tin.1:1924
+#: doc/tin.1:1970
 #, no-wrap
 msgid "B<Force redraw after certain commands (force_screen_redraw)>"
 msgstr "B<Force redraw after certain commands (force_screen_redraw)>"
 
 #. type: Plain text
-#: doc/tin.1:1928 doc/tin.5:1637
+#: doc/tin.1:1974 doc/tin.5:1693
 msgid ""
 "Specifies whether a screen redraw should always be done after certain "
 "external commands. Default is OFF."
@@ -5126,13 +5228,13 @@ msgstr ""
 "external commands. Default is OFF."
 
 #. type: TP
-#: doc/tin.1:1928
+#: doc/tin.1:1974
 #, no-wrap
 msgid "B<Number of articles to get (getart_limit)>"
 msgstr "B<Number of articles to get (getart_limit)>"
 
 #. type: Plain text
-#: doc/tin.1:1935
+#: doc/tin.1:1981
 msgid ""
 "If B<getart_limit> is E<gt> 0 not more than the last B<getart_limit> "
 "articles/group are fetched from the server. If B<getart_limit> is E<lt> 0 "
@@ -5145,26 +5247,26 @@ msgstr ""
 "value of B<getart_limit>. Default is 0, which means no limit."
 
 #. type: TP
-#: doc/tin.1:1935
+#: doc/tin.1:1981
 #, no-wrap
 msgid "B<Catchup group using left key (group_catchup_on_exit)>"
 msgstr "B<Catchup group using left key (group_catchup_on_exit)>"
 
 #. type: Plain text
-#: doc/tin.1:1938 doc/tin.5:1661
+#: doc/tin.1:1984 doc/tin.5:1717
 msgid ""
 "If ON catchup group when leaving with the left arrow key. Default is ON."
 msgstr ""
 "If ON catchup group when leaving with the left arrow key. Default is ON."
 
 #. type: TP
-#: doc/tin.1:1938
+#: doc/tin.1:1984
 #, no-wrap
 msgid "B<Format string for the Group level (group_format)>"
 msgstr "B<Format string for the Group level (group_format)>"
 
 #. type: Plain text
-#: doc/tin.1:1942
+#: doc/tin.1:1988
 msgid ""
 "Format string B<tin> uses for Group level representation. See the section "
 "\"CUSTOMIZING THE SCREEN FORMAT\". Default is \"%n\\ %m\\ %R\\ %L\\ \\ %s\\ "
@@ -5175,13 +5277,13 @@ msgstr ""
 "\\ %F\"."
 
 #. type: TP
-#: doc/tin.1:1942
+#: doc/tin.1:1988
 #, no-wrap
 msgid "B<Go to the next unread article with (goto_next_unread)>"
 msgstr "B<Go to the next unread article with (goto_next_unread)>"
 
 #. type: Plain text
-#: doc/tin.1:1950
+#: doc/tin.1:1996
 msgid ""
 "Which keys B<tin> should accept to jump to the next unread article.  "
 "Possible is any combination of B<PageDown> and B<PageNextUnread>.  When "
@@ -5198,13 +5300,13 @@ msgstr ""
 "Default is B<PageNextUnread>."
 
 #. type: TP
-#: doc/tin.1:1950
+#: doc/tin.1:1996
 #, no-wrap
 msgid "B<Display uue data as an attachment (hide_uue)>"
 msgstr "B<Display uue data as an attachment (hide_uue)>"
 
 #. type: Plain text
-#: doc/tin.1:1960 doc/tin.5:1691
+#: doc/tin.1:2006 doc/tin.5:1747
 msgid ""
 "If set to 'No' then raw uuencoded data is displayed. If set to 'Yes' then "
 "sections of uuencoded data will be shown with a single tag line showing the "
@@ -5223,13 +5325,13 @@ msgstr ""
 "toggled in the article viewer.  Default is 'No'."
 
 #. type: TP
-#: doc/tin.1:1960
+#: doc/tin.1:2006
 #, no-wrap
 msgid "B<External inews (inews_prog)>"
 msgstr "B<External inews (inews_prog)>"
 
 #. type: Plain text
-#: doc/tin.1:1967 doc/tin.5:1698
+#: doc/tin.1:2013 doc/tin.5:1754
 msgid ""
 "Path, name and options of external B<\\%inews>(1).  If you are reading via "
 "NNTP the default value is \"--internal\" (use built-in NNTP inews), else it "
@@ -5242,13 +5344,13 @@ msgstr ""
 "article'."
 
 #. type: TP
-#: doc/tin.1:1967
+#: doc/tin.1:2013
 #, no-wrap
 msgid "B<(info_in_last_line)>"
 msgstr "B<(info_in_last_line)>"
 
 #. type: Plain text
-#: doc/tin.1:1974 doc/tin.5:1704
+#: doc/tin.1:2020 doc/tin.5:1760
 msgid ""
 "If ON, show current group description or article subject in the last line "
 "(not in the pager and global menu) \\(em B<ToggleInfoLastLine> ('B<i>')  "
@@ -5261,23 +5363,23 @@ msgstr ""
 "available to display long subjects. Default is OFF."
 
 #. type: TP
-#: doc/tin.1:1974
+#: doc/tin.1:2020
 #, no-wrap
 msgid "B<Use interactive mail reader (interactive_mailer)>"
 msgstr "B<Use interactive mail reader (interactive_mailer)>"
 
 #. type: Plain text
-#: doc/tin.1:1981
+#: doc/tin.1:2027
 msgid ""
 "Interactive mailreader: if greater than 0 your mailreader will be invoked "
-"earlier for reply so you can use more of its features (e.g. MIME, pgp, ...). "
-"1 means include headers, 2 means don't include headers (old "
+"earlier for reply so you can use more of its features (e.g., MIME, "
+"pgp, ...). 1 means include headers, 2 means don't include headers (old "
 "use_mailreader_i=ON option). 0 turns off usage. This option has to suit "
 "B<mailer_format>. Default is 0."
 msgstr ""
 "Interactive mailreader: if greater than 0 your mailreader will be invoked "
-"earlier for reply so you can use more of its features (e.g. MIME, pgp, ...). "
-"1 means include headers, 2 means don't include headers (old "
+"earlier for reply so you can use more of its features (e.g., MIME, "
+"pgp, ...). 1 means include headers, 2 means don't include headers (old "
 "use_mailreader_i=ON option). 0 turns off usage. This option has to suit "
 "B<mailer_format>. Default is 0."
 
@@ -5285,13 +5387,13 @@ msgstr ""
 #.        mono_mark* currently do allow "Reverse video" even if
 #.        inverse_okay=FALSE
 #. type: TP
-#: doc/tin.1:1981
+#: doc/tin.1:2027
 #, no-wrap
 msgid "B<Use inverse video for page headers (inverse_okay)>"
 msgstr "B<Use inverse video for page headers (inverse_okay)>"
 
 #. type: Plain text
-#: doc/tin.1:1988 doc/tin.5:1714
+#: doc/tin.1:2034 doc/tin.5:1770
 msgid ""
 "If ON use inverse video for page headers and URL highlighting.  Default is "
 "ON."
@@ -5300,13 +5402,13 @@ msgstr ""
 "ON."
 
 #. type: TP
-#: doc/tin.1:1988
+#: doc/tin.1:2034
 #, no-wrap
 msgid "B<Keep failed arts in ~/dead.articles (keep_dead_articles)>"
 msgstr "B<Keep failed arts in ~/dead.articles (keep_dead_articles)>"
 
 #. type: Plain text
-#: doc/tin.1:1993 doc/tin.5:1719
+#: doc/tin.1:2039 doc/tin.5:1775
 msgid ""
 "If ON keep all failed postings in I<${TIN_HOMEDIR:-\"$HOME\"}/dead.articles> "
 "besides keeping the last failed posting in I<${TIN_HOMEDIR:-\"$HOME\"}/dead."
@@ -5317,13 +5419,13 @@ msgstr ""
 "article>. Default is ON."
 
 #. type: TP
-#: doc/tin.1:1993
+#: doc/tin.1:2039
 #, no-wrap
 msgid "B<Filter which articles (kill_level)>"
 msgstr "B<Filter which articles (kill_level)>"
 
 #. type: Plain text
-#: doc/tin.1:1997
+#: doc/tin.1:2043
 msgid ""
 "This option controls the processing and display of articles that are "
 "killed.  There are 3 options:"
@@ -5332,7 +5434,7 @@ msgstr ""
 "killed.  There are 3 options:"
 
 #. type: Plain text
-#: doc/tin.1:2004
+#: doc/tin.1:2050
 msgid ""
 "B<Kill only unread arts> is the 'traditional' behavior of B<tin>. Only "
 "unread articles are killed once only by marking them read. As filtering only "
@@ -5347,7 +5449,7 @@ msgstr ""
 "group the mark will be gone."
 
 #. type: Plain text
-#: doc/tin.1:2009 doc/tin.5:1736
+#: doc/tin.1:2055 doc/tin.5:1792
 msgid ""
 "B<Kill all arts & show with K> will process all articles in the group and "
 "therefore there is a processing overhead when using this option. Killed "
@@ -5360,7 +5462,7 @@ msgstr ""
 "B<art_marked_killed>."
 
 #. type: Plain text
-#: doc/tin.1:2013 doc/tin.5:1740
+#: doc/tin.1:2059 doc/tin.5:1796
 msgid ""
 "B<Kill all arts and never show> will process all articles in the group and "
 "therefore there is a processing overhead when using this option. Killed "
@@ -5371,18 +5473,18 @@ msgstr ""
 "articles simply does not get displayed at all."
 
 #. type: Plain text
-#: doc/tin.1:2015
+#: doc/tin.1:2061
 msgid "Default is 0 (B<Kill only unread arts>)."
 msgstr "Default is 0 (B<Kill only unread arts>)."
 
 #. type: TP
-#: doc/tin.1:2015
+#: doc/tin.1:2061
 #, no-wrap
 msgid "B<Use 8bit characters in mail headers (mail_8bit_header)>"
 msgstr "B<Use 8bit characters in mail headers (mail_8bit_header)>"
 
 #. type: Plain text
-#: doc/tin.1:2021 doc/tin.5:1747
+#: doc/tin.1:2067 doc/tin.5:1803
 msgid ""
 "Allows 8bit characters unencoded in the header of mail message. Default is "
 "OFF. Turning it ON is effective only if B<mail_mime_encoding> is also set to "
@@ -5395,13 +5497,13 @@ msgstr ""
 "Standard (B<RFC\\%5322> and B<RFC\\%2047>). Default is OFF."
 
 #. type: TP
-#: doc/tin.1:2021
+#: doc/tin.1:2067
 #, no-wrap
 msgid "B<Mail address (mail_address)>"
 msgstr "B<Mail address (mail_address)>"
 
 #. type: Plain text
-#: doc/tin.1:2029
+#: doc/tin.1:2075
 msgid ""
 "User's mail address (and full name), if not username@host. This is used when "
 "creating articles, sending mail and when B<\\%pgp>(1)  / B<\\%gpg>(1)  "
@@ -5412,13 +5514,13 @@ msgstr ""
 "signing (B<RFC\\%4880>)."
 
 #. type: TP
-#: doc/tin.1:2029
+#: doc/tin.1:2075
 #, no-wrap
 msgid "B<MIME encoding in mail messages (mail_mime_encoding)>"
 msgstr "B<MIME encoding in mail messages (mail_mime_encoding)>"
 
 #. type: Plain text
-#: doc/tin.1:2033 doc/tin.5:1757
+#: doc/tin.1:2079 doc/tin.5:1813
 msgid ""
 "MIME encoding of the body in mail message, if necessary (8bit, base64, "
 "quoted-printable, 7bit). Default is quoted-printable."
@@ -5427,30 +5529,32 @@ msgstr ""
 "quoted-printable, 7bit). Default is quoted-printable."
 
 #. type: TP
-#: doc/tin.1:2033
+#: doc/tin.1:2079
 #, no-wrap
 msgid "B<Quote line when mailing (mail_quote_format)>"
 msgstr "B<Quote line when mailing (mail_quote_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2038 doc/tin.5:1762
+#: doc/tin.1:2085 doc/tin.5:1819
 msgid ""
 "Format of quote line when replying (via mail) to an article (%A=Address, "
 "%D=Date, %F=Fullname+Address, %G=Groupname, %M=Message-ID, %N=Fullname, "
-"%C=Firstname, %I=Initials). Default is \"In article %M you wrote:\""
+"%C=Firstname, %I=Initials). If the article has multiple addresses only the "
+"first is evaluated. Default is \"In article %M you wrote:\""
 msgstr ""
 "Format of quote line when replying (via mail) to an article (%A=Address, "
 "%D=Date, %F=Fullname+Address, %G=Groupname, %M=Message-ID, %N=Fullname, "
-"%C=Firstname, %I=Initials). Default is \"In article %M you wrote:\""
+"%C=Firstname, %I=Initials). If the article has multiple addresses only the "
+"first is evaluated. Default is \"In article %M you wrote:\""
 
 #. type: TP
-#: doc/tin.1:2038
+#: doc/tin.1:2085
 #, no-wrap
 msgid "B<Format of the mailbox (mailbox_format)>"
 msgstr "B<Format of the mailbox (mailbox_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2048 doc/tin.5:1772
+#: doc/tin.1:2095 doc/tin.5:1829
 msgid ""
 "Select one of the following mailbox-formats: MBOXO (default, except on SCO), "
 "MBOXRD or MMDF (default on SCO). See B<\\%mbox>(5)  and B<RFC\\%4155> for "
@@ -5463,13 +5567,13 @@ msgstr ""
 "MMDF."
 
 #. type: TP
-#: doc/tin.1:2048
+#: doc/tin.1:2095
 #, no-wrap
 msgid "B<Mail directory (maildir)>"
 msgstr "B<Mail directory (maildir)>"
 
 #. type: Plain text
-#: doc/tin.1:2057 doc/tin.5:1781
+#: doc/tin.1:2104 doc/tin.5:1838
 msgid ""
 "The directory where articles/threads are to be saved in B<\\%mbox>(5)  "
 "format. This feature is mainly for use with the B<\\%mutt>(1)  mail program. "
@@ -5482,13 +5586,13 @@ msgstr ""
 "the filename to save to.  Default is I<${TIN_HOMEDIR:-\"$HOME\"}/Mail>."
 
 #. type: TP
-#: doc/tin.1:2057
+#: doc/tin.1:2104
 #, no-wrap
 msgid "B<Invocation of your mail command (mailer_format)>"
 msgstr "B<Invocation of your mail command (mailer_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2063 doc/tin.5:1787
+#: doc/tin.1:2110 doc/tin.5:1844
 msgid ""
 "The format string used to create the mailer command with parameters that is "
 "used for mailing articles to other people. Default is '%M \"%T\" E<lt> "
@@ -5501,21 +5605,19 @@ msgstr ""
 "other mailers with different command line parameters to be used such as"
 
 #. type: Plain text
-#: doc/tin.1:2069 doc/tin.5:1793
+#: doc/tin.1:2115 doc/tin.5:1849
 #, no-wrap
 msgid ""
 "sendmail -oem -t E<lt> %F\n"
-"mutt -s \"%S\" -- \"%T\" E<lt> %F\n"
 "mutt -H %F\n"
 "claws-mail --compose \"mailto:%T?subject=%S&insert=%F\"\n"
 msgstr ""
 "sendmail -oem -t E<lt> %F\n"
-"mutt -s \"%S\" -- \"%T\" E<lt> %F\n"
 "mutt -H %F\n"
 "claws-mail --compose \"mailto:%T?subject=%S&insert=%F\"\n"
 
 #. type: Plain text
-#: doc/tin.1:2073 doc/tin.5:1797
+#: doc/tin.1:2119 doc/tin.5:1853
 msgid ""
 "B<interactive_mailer> must be set adequate. The following substitutions are "
 "supported:"
@@ -5524,13 +5626,13 @@ msgstr ""
 "supported:"
 
 #. type: ta
-#: doc/tin.1:2075 doc/tin.5:1799
+#: doc/tin.1:2121 doc/tin.5:1855
 #, no-wrap
 msgid "\\w'%S'u +\\w'default_mailer'u"
 msgstr "\\w'%S'u +\\w'default_mailer'u"
 
 #. type: Plain text
-#: doc/tin.1:2082 doc/tin.5:1806
+#: doc/tin.1:2128 doc/tin.5:1862
 #, no-wrap
 msgid ""
 "%F\tfilename\n"
@@ -5548,13 +5650,13 @@ msgstr ""
 "%%\t%\n"
 
 #. type: TP
-#: doc/tin.1:2084
+#: doc/tin.1:2130
 #, no-wrap
 msgid "B<'Mark as (un)read' ignores tags (mark_ignore_tags)>"
 msgstr "B<'Mark as (un)read' ignores tags (mark_ignore_tags)>"
 
 #. type: Plain text
-#: doc/tin.1:2092 doc/tin.5:1819
+#: doc/tin.1:2138 doc/tin.5:1875
 msgid ""
 "When this is ON, the B<GroupMarkThdRead> ('B<K>'), B<ThreadMarkArtRead> "
 "('B<K>'), B<MarkThdUnread> ('B<Z>') at Group level and B<MarkArtUnread> "
@@ -5571,24 +5673,24 @@ msgstr ""
 "unread articles, or nothing."
 
 #. type: TP
-#: doc/tin.1:2092
+#: doc/tin.1:2138
 #, no-wrap
 msgid "B<Mark saved articles/threads as read (mark_saved_read)>"
 msgstr "B<Mark saved articles/threads as read (mark_saved_read)>"
 
 #. type: Plain text
-#: doc/tin.1:2095 doc/tin.5:1811
+#: doc/tin.1:2141 doc/tin.5:1867
 msgid "If ON mark articles that are saved as read. Default is ON."
 msgstr "If ON mark articles that are saved as read. Default is ON."
 
 #. type: TP
-#: doc/tin.1:2095
+#: doc/tin.1:2141
 #, no-wrap
 msgid "B<Viewer program for MIME articles (metamail_prog)>"
 msgstr "B<Viewer program for MIME articles (metamail_prog)>"
 
 #. type: Plain text
-#: doc/tin.1:2107 doc/tin.5:1831
+#: doc/tin.1:2153 doc/tin.5:1887
 msgid ""
 "Path, name and options of external B<\\%metamail>(1)  program used to view "
 "non-textual parts of articles.  To use the built-in viewer, set to --"
@@ -5605,13 +5707,13 @@ msgstr ""
 "used to manually view any attachments. See also B<ask_for_metamail>."
 
 #. type: TP
-#: doc/tin.1:2107
+#: doc/tin.1:2153
 #, no-wrap
 msgid "B<MM_CHARSET (mm_charset)>"
 msgstr "B<MM_CHARSET (mm_charset)>"
 
 #. type: Plain text
-#: doc/tin.1:2120 doc/tin.5:1844
+#: doc/tin.1:2168
 msgid ""
 "Charset supported locally, which is also used for MIME header (charset "
 "parameter and charset name in header encoding) in mail and news postings. If "
@@ -5620,8 +5722,9 @@ msgid ""
 "represented as '?'. Otherwise, all character sets are regarded as compatible "
 "with the display. If it's not set, the value of the environment variable "
 "$B<MM_CHARSET> is used. US-ASCII or compile-time default is used in case "
-"neither of them is defined. If your system supports B<\\%iconv>(3), this "
-"option is disabled and you should use B<mm_network_charset> instead."
+"neither of them is defined. If your system supports B<\\%iconv>(3), or B<\\"
+"%ucnv_*>(), this option is disabled and you should use B<mm_network_charset> "
+"instead."
 msgstr ""
 "Charset supported locally, which is also used for MIME header (charset "
 "parameter and charset name in header encoding) in mail and news postings. If "
@@ -5630,34 +5733,35 @@ msgstr ""
 "represented as '?'. Otherwise, all character sets are regarded as compatible "
 "with the display. If it's not set, the value of the environment variable "
 "$B<MM_CHARSET> is used. US-ASCII or compile-time default is used in case "
-"neither of them is defined. If your system supports B<\\%iconv>(3), this "
-"option is disabled and you should use B<mm_network_charset> instead."
+"neither of them is defined. If your system supports B<\\%iconv>(3), or B<\\"
+"%ucnv_*>(), this option is disabled and you should use B<mm_network_charset> "
+"instead."
 
 #. type: TP
-#: doc/tin.1:2120
+#: doc/tin.1:2168
 #, no-wrap
 msgid "B<MM_NETWORK_CHARSET (mm_network_charset)>"
 msgstr "B<MM_NETWORK_CHARSET (mm_network_charset)>"
 
 #. type: Plain text
-#: doc/tin.1:2131 doc/tin.5:1855
+#: doc/tin.1:2181
 msgid ""
 "Charset used for posting and MIME headers; replaces B<mm_charset>.  "
-"Conversion between B<mm_network_charset> and local charset (determined via B<"
-"\\%nl_langinfo>(3))  is done via B<\\%iconv>(3), if this function is not "
-"available on your system this option is disabled and you have to use "
-"B<mm_charset> instead. B<mm_network_charset> is limited to one of the "
-"following charsets:"
+"Conversion between B<mm_network_charset> and local charset (determined via "
+"B<\\%nl_langinfo>(3))  is done via B<\\%iconv>(3), or B<\\%ucnv_*>(), if "
+"none of these functions are available on your system this option is disabled "
+"and you have to use B<mm_charset> instead. B<mm_network_charset> is limited "
+"to one of the following charsets:"
 msgstr ""
 "Charset used for posting and MIME headers; replaces B<mm_charset>.  "
-"Conversion between B<mm_network_charset> and local charset (determined via B<"
-"\\%nl_langinfo>(3))  is done via B<\\%iconv>(3), if this function is not "
-"available on your system this option is disabled and you have to use "
-"B<mm_charset> instead. B<mm_network_charset> is limited to one of the "
-"following charsets:"
+"Conversion between B<mm_network_charset> and local charset (determined via "
+"B<\\%nl_langinfo>(3))  is done via B<\\%iconv>(3), or B<\\%ucnv_*>(), if "
+"none of these functions are available on your system this option is disabled "
+"and you have to use B<mm_charset> instead. B<mm_network_charset> is limited "
+"to one of the following charsets:"
 
 #. type: Plain text
-#: doc/tin.1:2134 doc/tin.5:1858
+#: doc/tin.1:2184 doc/tin.5:1918
 msgid ""
 "US-ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8-{R,U,RU} EUC-{CN,JP,"
 "KR,TW}, ISO-2022-{CN,CN-EXT,JP,JP-1,JP-2}, Big5, UTF-8"
@@ -5666,7 +5770,7 @@ msgstr ""
 "KR,TW}, ISO-2022-{CN,CN-EXT,JP,JP-1,JP-2}, Big5, UTF-8"
 
 #. type: Plain text
-#: doc/tin.1:2140 doc/tin.5:1864
+#: doc/tin.1:2190 doc/tin.5:1924
 msgid ""
 "Not all values might work on your system, see B<\\%iconv_open>(3)  for more "
 "details. If it's not set, the value of the environment variable "
@@ -5679,13 +5783,13 @@ msgstr ""
 "neither of them is defined."
 
 #. type: TP
-#: doc/tin.1:2140
+#: doc/tin.1:2190
 #, no-wrap
 msgid "B<Attribute of highlighting with _dash_ (mono_markdash)>"
 msgstr "B<Attribute of highlighting with _dash_ (mono_markdash)>"
 
 #. type: Plain text
-#: doc/tin.1:2145 doc/tin.5:1869
+#: doc/tin.1:2195 doc/tin.5:1929
 msgid ""
 "Character attribute of words emphasized like _this_. It depends on your "
 "terminal which attributes are usable. See also B<word_h_display_marks> and "
@@ -5696,13 +5800,13 @@ msgstr ""
 "B<word_highlight>."
 
 #. type: TP
-#: doc/tin.1:2145
+#: doc/tin.1:2195
 #, no-wrap
 msgid "B<Attribute of highlighting with /slash/ (mono_markslash)>"
 msgstr "B<Attribute of highlighting with /slash/ (mono_markslash)>"
 
 #. type: Plain text
-#: doc/tin.1:2150 doc/tin.5:1874
+#: doc/tin.1:2200 doc/tin.5:1934
 msgid ""
 "Character attribute of words emphasized like /this/. It depends on your "
 "terminal which attributes are usable. See also B<word_h_display_marks> and "
@@ -5713,13 +5817,13 @@ msgstr ""
 "B<word_highlight>."
 
 #. type: TP
-#: doc/tin.1:2150
+#: doc/tin.1:2200
 #, no-wrap
 msgid "B<Attribute of highlighting with *stars* (mono_markstar)>"
 msgstr "B<Attribute of highlighting with *stars* (mono_markstar)>"
 
 #. type: Plain text
-#: doc/tin.1:2155 doc/tin.5:1879
+#: doc/tin.1:2205 doc/tin.5:1939
 msgid ""
 "Character attribute of words emphasized like *this*. It depends on your "
 "terminal which attributes are usable. See also B<word_h_display_marks> and "
@@ -5730,13 +5834,13 @@ msgstr ""
 "B<word_highlight>."
 
 #. type: TP
-#: doc/tin.1:2155
+#: doc/tin.1:2205
 #, no-wrap
 msgid "B<Attribute of highlighting with -stroke- (mono_markstroke)>"
 msgstr "B<Attribute of highlighting with -stroke- (mono_markstroke)>"
 
 #. type: Plain text
-#: doc/tin.1:2160 doc/tin.5:1884
+#: doc/tin.1:2210 doc/tin.5:1944
 msgid ""
 "Character attribute of words emphasized like -this-. It depends on your "
 "terminal which attributes are usable. See also B<word_h_display_marks> and "
@@ -5747,13 +5851,13 @@ msgstr ""
 "B<word_highlight>."
 
 #. type: TP
-#: doc/tin.1:2160
+#: doc/tin.1:2210
 #, no-wrap
 msgid "B<(newnews)>"
 msgstr "B<(newnews)>"
 
 #. type: Plain text
-#: doc/tin.1:2164
+#: doc/tin.1:2214
 msgid ""
 "These are internal timers used by B<tin> to keep track of new newsgroups.  "
 "Do not change them unless you understand what they are for."
@@ -5762,13 +5866,13 @@ msgstr ""
 "Do not change them unless you understand what they are for."
 
 #. type: TP
-#: doc/tin.1:2164
+#: doc/tin.1:2214
 #, no-wrap
 msgid "B<Display these header fields (or *) (news_headers_to_display)>"
 msgstr "B<Display these header fields (or *) (news_headers_to_display)>"
 
 #. type: Plain text
-#: doc/tin.1:2171 doc/tin.5:1897
+#: doc/tin.1:2221 doc/tin.5:1957
 msgid ""
 "Which news headers you wish to see. If you want to see _all_ the headers, "
 "place an '*' as this value. This is the only way a wildcard can be used.  If "
@@ -5783,13 +5887,13 @@ msgstr ""
 "spaces. Not defining anything turns off this option."
 
 #. type: TP
-#: doc/tin.1:2171
+#: doc/tin.1:2221
 #, no-wrap
 msgid "B<Do not display these header fields (news_headers_to_not_display)>"
 msgstr "B<Do not display these header fields (news_headers_to_not_display)>"
 
 #. type: Plain text
-#: doc/tin.1:2180 doc/tin.5:1906
+#: doc/tin.1:2230 doc/tin.5:1966
 msgid ""
 "Same as B<news_headers_to_display> except it denotes the opposite. An "
 "example of using both options might be if you thought 'X-' headers were A "
@@ -5806,30 +5910,32 @@ msgstr ""
 "this option."
 
 #. type: TP
-#: doc/tin.1:2180
+#: doc/tin.1:2230
 #, no-wrap
 msgid "B<Quote line when following up (news_quote_format)>"
 msgstr "B<Quote line when following up (news_quote_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2185 doc/tin.5:1911
+#: doc/tin.1:2236 doc/tin.5:1972
 msgid ""
 "Format of quote line when posting/following up an article (%A=Address, "
 "%D=Date, %F=Fullname+Address, %G=Groupname, %M=Message-ID, %N=Fullname, "
-"%C=Firstname, %I=Initials). Default is \"%F wrote:\"."
+"%C=Firstname, %I=Initials). If the article has multiple addresses only the "
+"first is evaluated. Default is \"%F wrote:\"."
 msgstr ""
 "Format of quote line when posting/following up an article (%A=Address, "
 "%D=Date, %F=Fullname+Address, %G=Groupname, %M=Message-ID, %N=Fullname, "
-"%C=Firstname, %I=Initials). Default is \"%F wrote:\"."
+"%C=Firstname, %I=Initials). If the article has multiple addresses only the "
+"first is evaluated. Default is \"%F wrote:\"."
 
 #. type: TP
-#: doc/tin.1:2185
+#: doc/tin.1:2236
 #, no-wrap
 msgid "B<NNTP read timeout in seconds (nntp_read_timeout_secs)>"
 msgstr "B<NNTP read timeout in seconds (nntp_read_timeout_secs)>"
 
 #. type: Plain text
-#: doc/tin.1:2194
+#: doc/tin.1:2245
 msgid ""
 "Time in seconds to wait for a response from the server. Default is 120.  "
 "Setting this to 0 means no timeout. As if you use the \"B<-C>\" option in "
@@ -5848,13 +5954,13 @@ msgstr ""
 "value should not be set too small."
 
 #. type: TP
-#: doc/tin.1:2194
+#: doc/tin.1:2245
 #, no-wrap
 msgid "B<Unicode normalization form (normalization_form)>"
 msgstr "B<Unicode normalisation form (normalization_form)>"
 
 #. type: Plain text
-#: doc/tin.1:2198
+#: doc/tin.1:2249
 msgid ""
 "The normalization form B<tin> should use to normalize unicode input.  The "
 "possible values are:"
@@ -5863,33 +5969,33 @@ msgstr ""
 "possible values are:"
 
 #. type: Plain text
-#: doc/tin.1:2201 doc/tin.5:1921
+#: doc/tin.1:2252 doc/tin.5:1982
 msgid "B<None>: no normalization"
 msgstr "B<None>: no normalisation"
 
 #. type: Plain text
-#: doc/tin.1:2203 doc/tin.5:1923
+#: doc/tin.1:2254 doc/tin.5:1984
 msgid "B<NFKC>: Compatibility Decomposition, followed by Canonical Composition"
 msgstr ""
 "B<NFKC>: Compatibility Decomposition, followed by Canonical Composition"
 
 #. type: Plain text
-#: doc/tin.1:2205 doc/tin.5:1925
+#: doc/tin.1:2256 doc/tin.5:1986
 msgid "B<NFKD>: Compatibility Decomposition"
 msgstr "B<NFKD>: Compatibility Decomposition"
 
 #. type: Plain text
-#: doc/tin.1:2207 doc/tin.5:1927
+#: doc/tin.1:2258 doc/tin.5:1988
 msgid "B<NFC>: Canonical Decomposition, followed by Canonical Composition"
 msgstr "B<NFC>: Canonical Decomposition, followed by Canonical Composition"
 
 #. type: Plain text
-#: doc/tin.1:2209 doc/tin.5:1929
+#: doc/tin.1:2260 doc/tin.5:1990
 msgid "B<NFD>: Canonical Decomposition"
 msgstr "B<NFD>: Canonical Decomposition"
 
 #. type: Plain text
-#: doc/tin.1:2211 doc/tin.5:1931
+#: doc/tin.1:2262 doc/tin.5:1992
 msgid ""
 "B<NFKC_CF>: Compatibility Decomposition, followed by Canonical Composition "
 "and Case Folding"
@@ -5898,22 +6004,24 @@ msgstr ""
 "and Case Folding"
 
 #. type: Plain text
-#: doc/tin.1:2215
+#: doc/tin.1:2266
 msgid ""
 "Some normalization modes are only available if they are supported by the "
-"library B<tin> uses to do the normalization. NFC should be used if possible."
+"library B<tin> uses to do the normalization. NFC should be used if possible "
+"(B<RFC\\%5198>)."
 msgstr ""
 "Some normalisation modes are only available if they are supported by the "
-"library B<tin> uses to do the normalisation. NFC should be used if possible."
+"library B<tin> uses to do the normalisation. NFC should be used if possible "
+"(B<RFC\\%5198>)."
 
 #. type: TP
-#: doc/tin.1:2215
+#: doc/tin.1:2266
 #, no-wrap
 msgid "B<Format string for the display of mime header at Article level (page_mime_format)>"
 msgstr "B<Format string for the display of mime header at Article level (page_mime_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2220
+#: doc/tin.1:2271
 msgid ""
 "Format string B<tin> uses for mime header at Page level. See the section "
 "\"CUSTOMIZING THE SCREEN FORMAT\".  Default is \"[-- %T%S%*n%z%*l%!c%!d%*e "
@@ -5924,13 +6032,13 @@ msgstr ""
 "--]\"."
 
 #. type: TP
-#: doc/tin.1:2220
+#: doc/tin.1:2271
 #, no-wrap
 msgid "B<Format string for the display of uue header at Article level (page_uue_format)>"
 msgstr "B<Format string for the display of uue header at Article level (page_uue_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2225
+#: doc/tin.1:2276
 msgid ""
 "Format string B<tin> uses for uue header at Page level. See the section "
 "\"CUSTOMIZING THE SCREEN FORMAT\".  Default is \"[-- %T%S%*n%I%!d%*e --]\"."
@@ -5939,13 +6047,13 @@ msgstr ""
 "\"CUSTOMISING THE SCREEN FORMAT\".  Default is \"[-- %T%S%*n%I%!d%*e --]\"."
 
 #. type: TP
-#: doc/tin.1:2225
+#: doc/tin.1:2276
 #, no-wrap
 msgid "B<Go to first unread article in group (pos_first_unread)>"
 msgstr "B<Go to first unread article in group (pos_first_unread)>"
 
 #. type: Plain text
-#: doc/tin.1:2229 doc/tin.5:1952
+#: doc/tin.1:2280 doc/tin.5:2013
 msgid ""
 "If ON put cursor at first unread article in group otherwise at last article. "
 "Default is ON."
@@ -5954,13 +6062,13 @@ msgstr ""
 "Default is ON."
 
 #. type: TP
-#: doc/tin.1:2229
+#: doc/tin.1:2280
 #, no-wrap
 msgid "B<Use 8bit characters in news headers (post_8bit_header)>"
 msgstr "B<Use 8bit characters in news headers (post_8bit_header)>"
 
 #. type: Plain text
-#: doc/tin.1:2240 doc/tin.5:1963
+#: doc/tin.1:2291 doc/tin.5:2024
 msgid ""
 "Allows 8bit characters unencoded in the header of a news article, if set "
 "this also disables the generation of MIME-headers when they are usually "
@@ -5981,13 +6089,13 @@ msgstr ""
 "B<post_mime_encoding>."
 
 #. type: TP
-#: doc/tin.1:2240
+#: doc/tin.1:2291
 #, no-wrap
 msgid "B<MIME encoding in news messages (post_mime_encoding)>"
 msgstr "B<MIME encoding in news messages (post_mime_encoding)>"
 
 #. type: Plain text
-#: doc/tin.1:2245 doc/tin.5:1968
+#: doc/tin.1:2296 doc/tin.5:2029
 msgid ""
 "MIME encoding of the body in news message, if necessary. (8bit, base64, "
 "quoted-printable, 7bit). Default is 8bit, which leads to no encoding.  "
@@ -5998,13 +6106,13 @@ msgstr ""
 "base64 and quoted-printable are usually undesired on usenet."
 
 #. type: TP
-#: doc/tin.1:2245
+#: doc/tin.1:2296
 #, no-wrap
 msgid "B<View post-processed files (post_process_view)>"
 msgstr "B<View post-processed files (post_process_view)>"
 
 #. type: Plain text
-#: doc/tin.1:2252
+#: doc/tin.1:2303
 msgid ""
 "If ON, then B<tin> will start an appropriate viewer program to display any "
 "files that were post processed and uudecoded. The program is determined "
@@ -6015,13 +6123,13 @@ msgstr ""
 "using the B<\\%mailcap>(5)  file. Default is ON."
 
 #. type: TP
-#: doc/tin.1:2252
+#: doc/tin.1:2303
 #, no-wrap
 msgid "B<Post process saved articles (post_process_type)>"
 msgstr "B<Post process saved articles (post_process_type)>"
 
 #. type: Plain text
-#: doc/tin.1:2258 doc/tin.5:1982
+#: doc/tin.1:2309 doc/tin.5:2043
 msgid ""
 "This specifies whether to perform post processing on saved articles.  "
 "Because the shell archive may contain commands you may not want to be "
@@ -6034,28 +6142,28 @@ msgstr ""
 "are allowed:"
 
 #. type: Plain text
-#: doc/tin.1:2261 doc/tin.5:1985
+#: doc/tin.1:2312 doc/tin.5:2046
 msgid "B<No> (default), no post processing is done."
 msgstr "B<No> (default), no post processing is done."
 
 #. type: Plain text
-#: doc/tin.1:2265 doc/tin.5:1989
+#: doc/tin.1:2316 doc/tin.5:2050
 msgid "B<Shell archives>, unpacking of multi-part B<\\%shar>(1)  files only."
 msgstr "B<Shell archives>, unpacking of multi-part B<\\%shar>(1)  files only."
 
 #. type: Plain text
-#: doc/tin.1:2267 doc/tin.5:1991
+#: doc/tin.1:2318 doc/tin.5:2052
 msgid "B<Yes>, binary attachments and data will be decoded and saved."
 msgstr "B<Yes>, binary attachments and data will be decoded and saved."
 
 #. type: TP
-#: doc/tin.1:2268
+#: doc/tin.1:2319
 #, no-wrap
 msgid "B<Filename to be used for storing posted articles (posted_articles_file)>"
 msgstr "B<Filename to be used for storing posted articles (posted_articles_file)>"
 
 #. type: Plain text
-#: doc/tin.1:2276 doc/tin.5:2000
+#: doc/tin.1:2327 doc/tin.5:2061
 msgid ""
 "Keep posted articles in given file. If the given filename does not contain "
 "any expandable strings it will be prefixed with I<${TIN_HOMEDIR:-\"$HOME\"}/"
@@ -6070,13 +6178,13 @@ msgstr ""
 "information about the various expansion characters. Default is 'posted'."
 
 #. type: TP
-#: doc/tin.1:2276
+#: doc/tin.1:2327
 #, no-wrap
 msgid "B<Print all headers when printing (print_header)>"
 msgstr "B<Print all headers when printing (print_header)>"
 
 #. type: Plain text
-#: doc/tin.1:2280 doc/tin.5:2004
+#: doc/tin.1:2331 doc/tin.5:2065
 msgid ""
 "If ON, then the full article header is sent to the printer. Otherwise only "
 "the ''Subject:'' and ''From:'' fields are output. Default is OFF."
@@ -6085,13 +6193,13 @@ msgstr ""
 "the ''Subject:'' and ''From:'' fields are output. Default is OFF."
 
 #. type: TP
-#: doc/tin.1:2280
+#: doc/tin.1:2331
 #, no-wrap
 msgid "B<Printer program with options (printer)>"
 msgstr "B<Printer program with options (printer)>"
 
 #. type: Plain text
-#: doc/tin.1:2289
+#: doc/tin.1:2340
 msgid ""
 "The printer program with options that is to be used to print articles.  The "
 "default is B<\\%lpr>(1)  for BSD machines and B<\\%lp>(1)  for SysV "
@@ -6104,13 +6212,13 @@ msgstr ""
 "Administrator."
 
 #. type: TP
-#: doc/tin.1:2289
+#: doc/tin.1:2340
 #, no-wrap
 msgid "B<Process only unread articles (process_only_unread)>"
 msgstr "B<Process only unread articles (process_only_unread)>"
 
 #. type: Plain text
-#: doc/tin.1:2293 doc/tin.5:2018
+#: doc/tin.1:2344 doc/tin.5:2079
 msgid ""
 "If ON only save/print/pipe/mail unread articles (tagged articles excepted).  "
 "Default is OFF."
@@ -6119,13 +6227,13 @@ msgstr ""
 "Default is OFF."
 
 #. type: TP
-#: doc/tin.1:2293
+#: doc/tin.1:2344
 #, no-wrap
 msgid "B<Show empty Followup-To in editor (prompt_followupto)>"
 msgstr "B<Show empty Followup-To in editor (prompt_followupto)>"
 
 #. type: Plain text
-#: doc/tin.1:2297
+#: doc/tin.1:2348
 msgid ""
 "If ON show empty ''Followup-To:'' header when editing an article. Default is "
 "OFF."
@@ -6134,30 +6242,32 @@ msgstr ""
 "OFF."
 
 #. type: TP
-#: doc/tin.1:2297
+#: doc/tin.1:2348
 #, no-wrap
 msgid "B<Characters used as quote-marks (quote_chars)>"
 msgstr "B<Characters used as quote-marks (quote_chars)>"
 
 #. type: Plain text
-#: doc/tin.1:2302 doc/tin.5:2027
+#: doc/tin.1:2354 doc/tin.5:2089
 msgid ""
 "The character used in quoting included text to article followups and mail "
 "replies. The '_' character represents a blank character and is replaced with "
-"' ' when read, %I is replaced by author's initials. Default is 'E<gt>_'."
+"' ' when read, %I is replaced by author's initials. If the article has "
+"multiple addresses only the first is evaluated. Default is 'E<gt>_'."
 msgstr ""
 "The character used in quoting included text to article followups and mail "
 "replies. The '_' character represents a blank character and is replaced with "
-"' ' when read, %I is replaced by author's initials. Default is 'E<gt>_'."
+"' ' when read, %I is replaced by author's initials. If the article has "
+"multiple addresses only the first is evaluated. Default is 'E<gt>_'."
 
 #. type: TP
-#: doc/tin.1:2302
+#: doc/tin.1:2354
 #, no-wrap
 msgid "B<Quoting behavior (quote_style)>"
 msgstr "B<Quoting behaviour (quote_style)>"
 
 #. type: Plain text
-#: doc/tin.1:2309
+#: doc/tin.1:2361
 msgid ""
 "How articles should be quoted when following up or replying to them. There "
 "are a number of things that can be done: empty lines can be quoted, "
@@ -6174,7 +6284,7 @@ msgstr ""
 "lines."
 
 #. type: Plain text
-#: doc/tin.1:2313
+#: doc/tin.1:2365
 msgid ""
 "When you are viewing an article in raw mode ('B<^H>'), and follow up or "
 "reply to it, the signature will be quoted even if it would otherwise not "
@@ -6185,13 +6295,13 @@ msgstr ""
 "be.  If B<show_signatures> is off, then the signature will never be quoted."
 
 #. type: TP
-#: doc/tin.1:2313
+#: doc/tin.1:2365
 #, no-wrap
 msgid "B<Regex used to show quoted lines (quote_regex)>"
 msgstr "B<Regex used to show quoted lines (quote_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2318
+#: doc/tin.1:2370
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote>. If B<quote_regex> is blank, then "
@@ -6202,13 +6312,13 @@ msgstr ""
 "B<tin> uses a built-in default."
 
 #. type: TP
-#: doc/tin.1:2318
+#: doc/tin.1:2370
 #, no-wrap
 msgid "B<Regex used to show twice quoted l. (quote_regex2)>"
 msgstr "B<Regex used to show twice quoted l. (quote_regex2)>"
 
 #. type: Plain text
-#: doc/tin.1:2323
+#: doc/tin.1:2375
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote2>. If B<quote_regex2> is blank, then "
@@ -6219,13 +6329,13 @@ msgstr ""
 "B<tin> uses a built-in default."
 
 #. type: TP
-#: doc/tin.1:2323
+#: doc/tin.1:2375
 #, no-wrap
 msgid "B<Regex used to show E<gt>= 3 times q.l. (quote_regex3)>"
 msgstr "B<Regex used to show E<gt>= 3 times q.l. (quote_regex3)>"
 
 #. type: Plain text
-#: doc/tin.1:2328
+#: doc/tin.1:2380
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote3>. If B<quote_regex3> is blank, then "
@@ -6236,13 +6346,13 @@ msgstr ""
 "B<tin> uses a built-in default."
 
 #. type: TP
-#: doc/tin.1:2328
+#: doc/tin.1:2380
 #, no-wrap
 msgid "B<Article recentness time limit (recent_time)>"
 msgstr "B<Article recentness time limit (recent_time)>"
 
 #. type: Plain text
-#: doc/tin.1:2332 doc/tin.5:2072
+#: doc/tin.1:2384 doc/tin.5:2136
 msgid ""
 "If set to 0, this feature is deactivated, otherwise it means the number of "
 "days. Default is 2."
@@ -6251,13 +6361,13 @@ msgstr ""
 "days. Default is 2."
 
 #. type: TP
-#: doc/tin.1:2332
+#: doc/tin.1:2384
 #, no-wrap
 msgid "B<Render BiDi (render_bidi)>"
 msgstr "B<Render BiDi (render_bidi)>"
 
 #. type: Plain text
-#: doc/tin.1:2336
+#: doc/tin.1:2388
 msgid ""
 "If ON B<tin> does the rendering of bi-directional text. If OFF B<tin> leaves "
 "the rendering of bi-directional text to the terminal. Default is OFF."
@@ -6266,13 +6376,13 @@ msgstr ""
 "the rendering of bi-directional text to the terminal. Default is OFF."
 
 #. type: TP
-#: doc/tin.1:2336
+#: doc/tin.1:2388
 #, no-wrap
 msgid "B<Interval in seconds to reread active (reread_active_file_secs)>"
 msgstr "B<Interval in seconds to reread active (reread_active_file_secs)>"
 
 #. type: Plain text
-#: doc/tin.1:2341 doc/tin.5:2084
+#: doc/tin.1:2393 doc/tin.5:2148
 msgid ""
 "The news I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file is "
 "reread at regular intervals to show if any new news has arrived. Default is "
@@ -6283,13 +6393,13 @@ msgstr ""
 "1200. Setting this to 0 will disable this feature."
 
 #. type: TP
-#: doc/tin.1:2341
+#: doc/tin.1:2393
 #, no-wrap
 msgid "B<Directory to save arts/threads in (savedir)>"
 msgstr "B<Directory to save arts/threads in (savedir)>"
 
 #. type: Plain text
-#: doc/tin.1:2345 doc/tin.5:2088
+#: doc/tin.1:2397 doc/tin.5:2152
 msgid ""
 "Directory where articles/threads are saved. Default is I<${TIN_HOMEDIR:-"
 "\"$HOME\"}/News>."
@@ -6298,13 +6408,13 @@ msgstr ""
 "\"$HOME\"}/News>."
 
 #. type: TP
-#: doc/tin.1:2345
+#: doc/tin.1:2397
 #, no-wrap
 msgid "B<Score limit (kill) (score_limit_kill)>"
 msgstr "B<Score limit (kill) (score_limit_kill)>"
 
 #. type: Plain text
-#: doc/tin.1:2349 doc/tin.5:2092
+#: doc/tin.1:2401 doc/tin.5:2156
 msgid ""
 "If the score of an article is below or equal this value the article gets "
 "marked as killed."
@@ -6313,13 +6423,13 @@ msgstr ""
 "marked as killed."
 
 #. type: TP
-#: doc/tin.1:2349
+#: doc/tin.1:2401
 #, no-wrap
 msgid "B<Score limit (select) (score_limit_select)>"
 msgstr "B<Score limit (select) (score_limit_select)>"
 
 #. type: Plain text
-#: doc/tin.1:2353 doc/tin.5:2096
+#: doc/tin.1:2405 doc/tin.5:2160
 msgid ""
 "If the score of an article is above or equal this value the article gets "
 "marked as hot."
@@ -6328,13 +6438,13 @@ msgstr ""
 "marked as hot."
 
 #. type: TP
-#: doc/tin.1:2353
+#: doc/tin.1:2405
 #, no-wrap
 msgid "B<Default score to kill articles (score_kill)>"
 msgstr "B<Default score to kill articles (score_kill)>"
 
 #. type: Plain text
-#: doc/tin.1:2357 doc/tin.5:2100
+#: doc/tin.1:2409 doc/tin.5:2164
 msgid ""
 "Score of an article which should be killed, this must be E<lt>= "
 "B<score_limit_kill>."
@@ -6343,13 +6453,13 @@ msgstr ""
 "B<score_limit_kill>."
 
 #. type: TP
-#: doc/tin.1:2357
+#: doc/tin.1:2409
 #, no-wrap
 msgid "B<Default score to select articles (score_select)>"
 msgstr "B<Default score to select articles (score_select)>"
 
 #. type: Plain text
-#: doc/tin.1:2361 doc/tin.5:2104
+#: doc/tin.1:2413 doc/tin.5:2168
 msgid ""
 "Score of an article which should be marked hot, this must be E<gt>= "
 "B<score_limit_select>."
@@ -6358,13 +6468,13 @@ msgstr ""
 "B<score_limit_select>."
 
 #. type: TP
-#: doc/tin.1:2361
+#: doc/tin.1:2413
 #, no-wrap
 msgid "B<Number of lines to scroll in pager (scroll_lines)>"
 msgstr "B<Number of lines to scroll in pager (scroll_lines)>"
 
 #. type: Plain text
-#: doc/tin.1:2369
+#: doc/tin.1:2421
 msgid ""
 "The number of lines that will be scrolled up/down in the article pager when "
 "using cursor-up/down. The default is 1 (line-by-line). Set to 0 to get "
@@ -6381,30 +6491,30 @@ msgstr ""
 "page scrolling. This setting supersedes B<full_page_scroll>=OFF."
 
 #. type: TP
-#: doc/tin.1:2369
+#: doc/tin.1:2421
 #, no-wrap
 msgid "B<Format string for the Selection level (select_format)>"
 msgstr "B<Format string for the Selection level (select_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2373
+#: doc/tin.1:2425
 msgid ""
 "Format string B<tin> uses for Selection level representation. See the "
-"section \"CUSTOMIZING THE SCREEN FORMAT\". Default is \"%f\\ %n\\ %U\\ \\ %G"
-"\\ \\ %d\"."
+"section \"CUSTOMIZING THE SCREEN FORMAT\". Default is \"%f\\ %n\\ %U\\ \\ "
+"%G\\ \\ %d\"."
 msgstr ""
 "Format string B<tin> uses for Selection level representation. See the "
-"section \"CUSTOMISING THE SCREEN FORMAT\". Default is \"%f\\ %n\\ %U\\ \\ %G"
-"\\ \\ %d\"."
+"section \"CUSTOMISING THE SCREEN FORMAT\". Default is \"%f\\ %n\\ %U\\ \\ "
+"%G\\ \\ %d\"."
 
 #. type: TP
-#: doc/tin.1:2373
+#: doc/tin.1:2425
 #, no-wrap
 msgid "B<In group and thread level, show author by (show_author)>"
 msgstr "B<In group and thread level, show author by (show_author)>"
 
 #. type: Plain text
-#: doc/tin.1:2377 doc/tin.5:2147
+#: doc/tin.1:2429 doc/tin.5:2211
 msgid ""
 "Which information about the author should be shown. Default is 2, authors "
 "full name."
@@ -6413,12 +6523,12 @@ msgstr ""
 "full name."
 
 #. type: Plain text
-#: doc/tin.1:2380 doc/tin.5:2150
+#: doc/tin.1:2432 doc/tin.5:2214
 msgid "B<None>, only the ''Subject:'' line will be displayed."
 msgstr "B<None>, only the ''Subject:'' line will be displayed."
 
 #. type: Plain text
-#: doc/tin.1:2383 doc/tin.5:2153
+#: doc/tin.1:2435 doc/tin.5:2217
 msgid ""
 "B<Address>, ''Subject:'' line & the address part of the ''From:'' line are "
 "displayed."
@@ -6427,7 +6537,7 @@ msgstr ""
 "displayed."
 
 #. type: Plain text
-#: doc/tin.1:2386 doc/tin.5:2156
+#: doc/tin.1:2438 doc/tin.5:2220
 msgid ""
 "B<Full Name>, ''Subject:'' line & the authors full name part of the "
 "\\&''From:'' line are displayed (default)."
@@ -6436,7 +6546,7 @@ msgstr ""
 "\\&''From:'' line are displayed (default)."
 
 #. type: Plain text
-#: doc/tin.1:2389 doc/tin.5:2159
+#: doc/tin.1:2441 doc/tin.5:2223
 msgid ""
 "B<Address and Name>, ''Subject:'' line & all of the ''From:'' line are "
 "displayed."
@@ -6445,13 +6555,13 @@ msgstr ""
 "displayed."
 
 #. type: TP
-#: doc/tin.1:2390
+#: doc/tin.1:2442
 #, no-wrap
 msgid "B<Show description of each newsgroup (show_description)>"
 msgstr "B<Show description of each newsgroup (show_description)>"
 
 #. type: Plain text
-#: doc/tin.1:2399
+#: doc/tin.1:2451
 msgid ""
 "If ON show a short group description text after newsgroup name at the group "
 "selection level. The ''B<-d>'' command-line flag will override the setting "
@@ -6468,23 +6578,23 @@ msgstr ""
 "mailgroups> for mailgroups. Default is ON."
 
 #. type: TP
-#: doc/tin.1:2399
+#: doc/tin.1:2451
 #, no-wrap
 msgid "B<Function for sorting articles (sort_function)>"
 msgstr "B<Function for sorting articles (sort_function)>"
 
 #. type: Plain text
-#: doc/tin.1:2402 doc/tin.5:2132
+#: doc/tin.1:2454 doc/tin.5:2196
 msgid "Function used for sorting articles. Default is 0."
 msgstr "Function used for sorting articles. Default is 0."
 
 #. type: Plain text
-#: doc/tin.1:2407 doc/tin.5:2137
+#: doc/tin.1:2459 doc/tin.5:2201
 msgid "Use B<\\%qsort>(3)  for sorting."
 msgstr "Use B<\\%qsort>(3)  for sorting."
 
 #. type: Plain text
-#: doc/tin.1:2412 doc/tin.5:2142
+#: doc/tin.1:2464 doc/tin.5:2206
 msgid ""
 "Use B<\\%heapsort>(3)  for sorting. This might be faster in large groups "
 "with long threads (somewhat presorted data)."
@@ -6493,13 +6603,13 @@ msgstr ""
 "with long threads (somewhat presorted data)."
 
 #. type: TP
-#: doc/tin.1:2413
+#: doc/tin.1:2465
 #, no-wrap
 msgid "B<Show help/mail sign in level titles (show_help_mail_sign)>"
 msgstr "B<Show help/mail sign in level titles (show_help_mail_sign)>"
 
 #. type: Plain text
-#: doc/tin.1:2418
+#: doc/tin.1:2470
 msgid ""
 "Allows you to select whether B<tin> shows a help indication, a new mail "
 "indication, both, or neither in the various level titles.  Default is 3."
@@ -6508,17 +6618,17 @@ msgstr ""
 "indication, both, or neither in the various level titles.  Default is 3."
 
 #. type: Plain text
-#: doc/tin.1:2421 doc/tin.5:2183
+#: doc/tin.1:2473 doc/tin.5:2247
 msgid "B<Don't show help or mail sign>."
 msgstr "B<Don't show help or mail sign>."
 
 #. type: Plain text
-#: doc/tin.1:2423 doc/tin.5:2185
+#: doc/tin.1:2475 doc/tin.5:2249
 msgid "B<Show only help sign>."
 msgstr "B<Show only help sign>."
 
 #. type: Plain text
-#: doc/tin.1:2426 doc/tin.5:2188
+#: doc/tin.1:2478 doc/tin.5:2252
 msgid ""
 "B<Show only mail sign if new mail>, show only the mail sign, and only if new "
 "mail has arrived."
@@ -6527,7 +6637,7 @@ msgstr ""
 "mail has arrived."
 
 #. type: Plain text
-#: doc/tin.1:2429 doc/tin.5:2191
+#: doc/tin.1:2481 doc/tin.5:2255
 msgid ""
 "B<Show mail if new mail else help s.>, show mail sign if new mail has "
 "arrived otherwise show help sign."
@@ -6536,13 +6646,13 @@ msgstr ""
 "arrived otherwise show help sign."
 
 #. type: TP
-#: doc/tin.1:2430
+#: doc/tin.1:2482
 #, no-wrap
 msgid "B<Show only unread articles (show_only_unread_arts)>"
 msgstr "B<Show only unread articles (show_only_unread_arts)>"
 
 #. type: Plain text
-#: doc/tin.1:2434 doc/tin.5:2196
+#: doc/tin.1:2486 doc/tin.5:2260
 msgid ""
 "If ON show only new/unread articles otherwise show all articles.  Default is "
 "ON."
@@ -6551,13 +6661,13 @@ msgstr ""
 "ON."
 
 #. type: TP
-#: doc/tin.1:2434
+#: doc/tin.1:2486
 #, no-wrap
 msgid "B<Show only groups with unread arts (show_only_unread_groups)>"
 msgstr "B<Show only groups with unread arts (show_only_unread_groups)>"
 
 #. type: Plain text
-#: doc/tin.1:2438 doc/tin.5:2200
+#: doc/tin.1:2490 doc/tin.5:2264
 msgid ""
 "If ON show only subscribed groups that contain unread articles. Default is "
 "OFF."
@@ -6566,24 +6676,24 @@ msgstr ""
 "OFF."
 
 #. type: TP
-#: doc/tin.1:2438
+#: doc/tin.1:2490
 #, no-wrap
 msgid "B<Display signatures (show_signatures)>"
 msgstr "B<Display signatures (show_signatures)>"
 
 #. type: Plain text
-#: doc/tin.1:2441 doc/tin.5:2203
+#: doc/tin.1:2493 doc/tin.5:2267
 msgid "If OFF don't show signatures when displaying articles. Default is ON."
 msgstr "If OFF don't show signatures when displaying articles. Default is ON."
 
 #. type: TP
-#: doc/tin.1:2441
+#: doc/tin.1:2493
 #, no-wrap
 msgid "B<Display score (show_art_score)>"
 msgstr "B<Display score (show_art_score)>"
 
 #. type: Plain text
-#: doc/tin.1:2445 doc/tin.5:2164
+#: doc/tin.1:2497 doc/tin.5:2228
 msgid ""
 "If ON show article score in the lower left corner when displaying articles.  "
 "Default is OFF. See also B<col_score_neg> and B<col_score_pos>."
@@ -6592,24 +6702,24 @@ msgstr ""
 "Default is OFF. See also B<col_score_neg> and B<col_score_pos>."
 
 #. type: TP
-#: doc/tin.1:2445
+#: doc/tin.1:2497
 #, no-wrap
 msgid "B<Prepend signature with '\\en-- \\en' (sigdashes)>"
 msgstr "B<Prepend signature with '\\en-- \\en' (sigdashes)>"
 
 #. type: Plain text
-#: doc/tin.1:2448 doc/tin.5:2206
+#: doc/tin.1:2500 doc/tin.5:2270
 msgid "If ON prepend the signature with sigdashes. Default is ON."
 msgstr "If ON prefix the signature with sigdashes. Default is ON."
 
 #. type: TP
-#: doc/tin.1:2448
+#: doc/tin.1:2500
 #, no-wrap
 msgid "B<Create signature from path/command (sigfile)>"
 msgstr "B<Create signature from path/command (sigfile)>"
 
 #. type: Plain text
-#: doc/tin.1:2458 doc/tin.5:2216
+#: doc/tin.1:2510
 msgid ""
 "The path that specifies the signature file to use when posting, following up "
 "to or replying to an article. If the path is a directory then the signature "
@@ -6630,24 +6740,24 @@ msgstr ""
 "\"$HOME\"}/.Sig>."
 
 #. type: TP
-#: doc/tin.1:2458
+#: doc/tin.1:2510
 #, no-wrap
 msgid "B<Add signature when reposting (signature_repost)>"
 msgstr "B<Add signature when reposting (signature_repost)>"
 
 #. type: Plain text
-#: doc/tin.1:2461 doc/tin.5:2219
+#: doc/tin.1:2513 doc/tin.5:2286
 msgid "If ON add signature to reposted articles. Default is ON."
 msgstr "If ON add signature to reposted articles. Default is ON."
 
 #. type: TP
-#: doc/tin.1:2461
+#: doc/tin.1:2513
 #, no-wrap
 msgid "B<Regex used to highlight /slashes/ (slashes_regex)>"
 msgstr "B<Regex used to highlight /slashes/ (slashes_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2466
+#: doc/tin.1:2518
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markslash> or B<mono_markslash>. If "
@@ -6658,13 +6768,13 @@ msgstr ""
 "B<slashes_regex> is blank, then B<tin> uses a built-in default."
 
 #. type: TP
-#: doc/tin.1:2466
+#: doc/tin.1:2518
 #, no-wrap
 msgid "B<Sort articles by (sort_article_type)>"
 msgstr "B<Sort articles by (sort_article_type)>"
 
 #. type: Plain text
-#: doc/tin.1:2470 doc/tin.5:2230
+#: doc/tin.1:2522 doc/tin.5:2297
 msgid ""
 "This specifies how articles should be sorted. Sort by ascending Date (6) is "
 "the default. The following sort types are allowed:"
@@ -6673,91 +6783,91 @@ msgstr ""
 "the default. The following sort types are allowed:"
 
 #. type: Plain text
-#: doc/tin.1:2473 doc/tin.5:2233
+#: doc/tin.1:2525 doc/tin.5:2300
 msgid "B<Nothing>, don't sort articles."
 msgstr "B<Nothing>, don't sort articles."
 
 #. type: Plain text
-#: doc/tin.1:2475 doc/tin.5:2235
+#: doc/tin.1:2527 doc/tin.5:2302
 msgid ""
 "B<Subject: (descending)>, sort articles by ''Subject:'' field descending."
 msgstr ""
 "B<Subject: (descending)>, sort articles by ''Subject:'' field descending."
 
 #. type: Plain text
-#: doc/tin.1:2477 doc/tin.5:2237
+#: doc/tin.1:2529 doc/tin.5:2304
 msgid "B<Subject: (ascending)>, sort articles by ''Subject:'' field ascending."
 msgstr ""
 "B<Subject: (ascending)>, sort articles by ''Subject:'' field ascending."
 
 #. type: Plain text
-#: doc/tin.1:2479 doc/tin.5:2239
+#: doc/tin.1:2531 doc/tin.5:2306
 msgid "B<From: (descending)>, sort articles by ''From:'' field descending."
 msgstr "B<From: (descending)>, sort articles by ''From:'' field descending."
 
 #. type: Plain text
-#: doc/tin.1:2481 doc/tin.5:2241
+#: doc/tin.1:2533 doc/tin.5:2308
 msgid "B<From: (ascending)>, sort articles by ''From:'' field ascending."
 msgstr "B<From: (ascending)>, sort articles by ''From:'' field ascending."
 
 #. type: Plain text
-#: doc/tin.1:2483 doc/tin.5:2243
+#: doc/tin.1:2535 doc/tin.5:2310
 msgid "B<Date: (descending)>, sort articles by ''Date:'' field descending."
 msgstr "B<Date: (descending)>, sort articles by ''Date:'' field descending."
 
 #. type: Plain text
-#: doc/tin.1:2486 doc/tin.5:2246
+#: doc/tin.1:2538 doc/tin.5:2313
 msgid ""
 "B<Date: (ascending)>, sort articles by ''Date:'' field ascending (default)."
 msgstr ""
 "B<Date: (ascending)>, sort articles by ''Date:'' field ascending (default)."
 
 #. type: Plain text
-#: doc/tin.1:2488 doc/tin.5:2248
+#: doc/tin.1:2540 doc/tin.5:2315
 msgid "B<Score (descending)>, sort articles by filtering score descending."
 msgstr "B<Score (descending)>, sort articles by filtering score descending."
 
 #. type: IP
-#: doc/tin.1:2488 doc/tin.5:2248
+#: doc/tin.1:2540 doc/tin.5:2315
 #, no-wrap
 msgid "8"
 msgstr "8"
 
 #. type: Plain text
-#: doc/tin.1:2490 doc/tin.5:2250
+#: doc/tin.1:2542 doc/tin.5:2317
 msgid "B<Score (ascending)>, sort articles by filtering score ascending."
 msgstr "B<Score (ascending)>, sort articles by filtering score ascending."
 
 #. type: IP
-#: doc/tin.1:2490 doc/tin.5:2250
+#: doc/tin.1:2542 doc/tin.5:2317
 #, no-wrap
 msgid "9"
 msgstr "9"
 
 #. type: Plain text
-#: doc/tin.1:2492 doc/tin.5:2252
+#: doc/tin.1:2544 doc/tin.5:2319
 msgid "B<Lines: (descending)>, sort articles by ''Lines:'' field descending."
 msgstr "B<Lines: (descending)>, sort articles by ''Lines:'' field descending."
 
 #. type: IP
-#: doc/tin.1:2492 doc/tin.5:2252
+#: doc/tin.1:2544 doc/tin.5:2319
 #, no-wrap
 msgid "10"
 msgstr "10"
 
 #. type: Plain text
-#: doc/tin.1:2494 doc/tin.5:2254
+#: doc/tin.1:2546 doc/tin.5:2321
 msgid "B<Lines: (ascending)>, sort articles by ''Lines:'' field ascending."
 msgstr "B<Lines: (ascending)>, sort articles by ''Lines:'' field ascending."
 
 #. type: TP
-#: doc/tin.1:2495
+#: doc/tin.1:2547
 #, no-wrap
 msgid "B<Sort threads by (sort_threads_type)>"
 msgstr "B<Sort threads by (sort_threads_type)>"
 
 #. type: Plain text
-#: doc/tin.1:2500 doc/tin.5:2259
+#: doc/tin.1:2552 doc/tin.5:2326
 msgid ""
 "This specifies how threads will be sorted. Sort by descending Score (1) is "
 "the default. The following sort types are allowed:"
@@ -6766,24 +6876,24 @@ msgstr ""
 "the default. The following sort types are allowed:"
 
 #. type: Plain text
-#: doc/tin.1:2503 doc/tin.5:2262
+#: doc/tin.1:2555 doc/tin.5:2329
 msgid "B<Nothing>, don't sort threads."
 msgstr "B<Nothing>, don't sort threads."
 
 #. type: Plain text
-#: doc/tin.1:2506 doc/tin.5:2265
+#: doc/tin.1:2558 doc/tin.5:2332
 msgid ""
 "B<Score (descending)>, sort threads by filtering score descending (default)."
 msgstr ""
 "B<Score (descending)>, sort threads by filtering score descending (default)."
 
 #. type: Plain text
-#: doc/tin.1:2508 doc/tin.5:2267
+#: doc/tin.1:2560 doc/tin.5:2334
 msgid "B<Score (ascending)>, sort threads by filtering score ascending."
 msgstr "B<Score (ascending)>, sort threads by filtering score ascending."
 
 #. type: Plain text
-#: doc/tin.1:2510 doc/tin.5:2269
+#: doc/tin.1:2562 doc/tin.5:2336
 msgid ""
 "B<Last posting date (descending)>, sort threads by date of last posting "
 "descending."
@@ -6792,7 +6902,7 @@ msgstr ""
 "descending."
 
 #. type: Plain text
-#: doc/tin.1:2512 doc/tin.5:2271
+#: doc/tin.1:2564 doc/tin.5:2338
 msgid ""
 "B<Last posting date (ascending)>, sort threads by date of last posting "
 "ascending."
@@ -6801,13 +6911,13 @@ msgstr ""
 "ascending."
 
 #. type: TP
-#: doc/tin.1:2513
+#: doc/tin.1:2565
 #, no-wrap
 msgid "B<Spamtrap warning address parts (spamtrap_warning_addresses)>"
 msgstr "B<Spamtrap warning address parts (spamtrap_warning_addresses)>"
 
 #. type: Plain text
-#: doc/tin.1:2518 doc/tin.5:2277
+#: doc/tin.1:2570 doc/tin.5:2344
 msgid ""
 "Set this option to a list of comma-separated strings to be warned if you are "
 "replying to an article by mail where the e-mail address contains one of "
@@ -6818,18 +6928,18 @@ msgstr ""
 "these strings. The matching is case-insensitive. Example:"
 
 #. type: Plain text
-#: doc/tin.1:2520 doc/tin.5:2279
+#: doc/tin.1:2572 doc/tin.5:2346
 msgid "I<spam,delete,remove>"
 msgstr "I<spam,delete,remove>"
 
 #. type: TP
-#: doc/tin.1:2520
+#: doc/tin.1:2572
 #, no-wrap
 msgid "B<Regex used to highlight *stars* (stars_regex)>"
 msgstr "B<Regex used to highlight *stars* (stars_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2525
+#: doc/tin.1:2577
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markstar> or B<mono_markstar>. If "
@@ -6840,13 +6950,13 @@ msgstr ""
 "B<stars_regex> is blank, then B<tin> uses a built-in default."
 
 #. type: TP
-#: doc/tin.1:2525
+#: doc/tin.1:2577
 #, no-wrap
 msgid "B<Strip blanks of end of lines (strip_blanks)>"
 msgstr "B<Strip blanks of end of lines (strip_blanks)>"
 
 #. type: Plain text
-#: doc/tin.1:2531 doc/tin.5:2290
+#: doc/tin.1:2583 doc/tin.5:2357
 msgid ""
 "Strips the blanks from the end of each line therefore speeding up the "
 "display when reading on a slow terminal or via modem. Default is ON."
@@ -6855,51 +6965,51 @@ msgstr ""
 "display when reading on a slow terminal or via modem. Default is ON."
 
 #. type: TP
-#: doc/tin.1:2531
+#: doc/tin.1:2583
 #, no-wrap
 msgid "B<Remove bogus groups from newsrc (strip_bogus)>"
 msgstr "B<Remove bogus groups from newsrc (strip_bogus)>"
 
 #. type: Plain text
-#: doc/tin.1:2540 doc/tin.5:2299
+#: doc/tin.1:2592 doc/tin.5:2366
 msgid ""
-"Bogus groups are groups that are present in your I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.newsrc> file that no longer exist on the news server. There are 3 "
-"options. 0 means do nothing & always keep bogus groups.  1 means bogus "
+"Bogus groups are groups that are present in your I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.newsrc> file that no longer exist on the news server. There are "
+"3 options. 0 means do nothing & always keep bogus groups.  1 means bogus "
 "groups will be permanently removed. 2 means that bogus groups will appear on "
 "the Group Selection Menu, prefixed with a 'D'. This allows you to "
 "unsubscribe from them as and when you wish. Default is 0 (Always Keep)."
 msgstr ""
-"Bogus groups are groups that are present in your I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.newsrc> file that no longer exist on the news server. There are 3 "
-"options. 0 means do nothing & always keep bogus groups.  1 means bogus "
+"Bogus groups are groups that are present in your I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.newsrc> file that no longer exist on the news server. There are "
+"3 options. 0 means do nothing & always keep bogus groups.  1 means bogus "
 "groups will be permanently removed. 2 means that bogus groups will appear on "
 "the Group Selection Menu, prefixed with a 'D'. This allows you to "
 "unsubscribe from them as and when you wish. Default is 0 (Always Keep)."
 
 #. type: TP
-#: doc/tin.1:2540
+#: doc/tin.1:2592
 #, no-wrap
 msgid "B<No unsubscribed groups in newsrc (strip_newsrc)>"
 msgstr "B<No unsubscribed groups in newsrc (strip_newsrc)>"
 
 #. type: Plain text
-#: doc/tin.1:2544 doc/tin.5:2303
+#: doc/tin.1:2596 doc/tin.5:2370
 msgid ""
-"If ON, then unsubscribed groups will be permanently removed from your I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file. Default is OFF."
+"If ON, then unsubscribed groups will be permanently removed from your "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file. Default is OFF."
 msgstr ""
-"If ON, then unsubscribed groups will be permanently removed from your I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file. Default is OFF."
+"If ON, then unsubscribed groups will be permanently removed from your "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file. Default is OFF."
 
 #. type: TP
-#: doc/tin.1:2544
+#: doc/tin.1:2596
 #, no-wrap
 msgid "B<Regex with Subject prefixes (strip_re_regex)>"
 msgstr "B<Regex with Subject prefixes (strip_re_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2550
+#: doc/tin.1:2602
 msgid ""
 "A regular expression to find Subject prefixes like \"Re:\" to remove.  If "
 "B<strip_re_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
@@ -6908,13 +7018,13 @@ msgstr ""
 "B<strip_re_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
 
 #. type: TP
-#: doc/tin.1:2550
+#: doc/tin.1:2602
 #, no-wrap
 msgid "B<Regex with Subject suffixes (strip_was_regex)>"
 msgstr "B<Regex with Subject suffixes (strip_was_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2556 doc/tin.5:2315
+#: doc/tin.1:2608 doc/tin.5:2382
 msgid ""
 "A regular expression to find Subject suffixes like \"(was:\" to remove.  If "
 "B<strip_was_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
@@ -6923,13 +7033,13 @@ msgstr ""
 "B<strip_was_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
 
 #. type: TP
-#: doc/tin.1:2556
+#: doc/tin.1:2608
 #, no-wrap
 msgid "B<Regex used to highlight -strokes- (strokes_regex)>"
 msgstr "B<Regex used to highlight -strokes- (strokes_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2561
+#: doc/tin.1:2613
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markstroke> or B<mono_markstroke>.  If "
@@ -6940,13 +7050,13 @@ msgstr ""
 "B<strokes_regex> is blank, then B<tin> uses a built-in default."
 
 #. type: TP
-#: doc/tin.1:2561
+#: doc/tin.1:2613
 #, no-wrap
 msgid "B<Wrap around threads on next unread (wrap_on_next_unread)>"
 msgstr "B<Wrap around threads on next unread (wrap_on_next_unread)>"
 
 #. type: Plain text
-#: doc/tin.1:2566 doc/tin.5:2553
+#: doc/tin.1:2618 doc/tin.5:2620
 msgid ""
 "If enabled a search for the next unread article will wrap around all "
 "articles to find also previous unread articles. If disabled the search stops "
@@ -6957,13 +7067,13 @@ msgstr ""
 "at the end of the thread list. Default is ON."
 
 #. type: TP
-#: doc/tin.1:2566
+#: doc/tin.1:2618
 #, no-wrap
 msgid "B<Display \"a as Umlaut-a (tex2iso_conv)>"
 msgstr "B<Display \"a as Umlaut-a (tex2iso_conv)>"
 
 #. type: Plain text
-#: doc/tin.1:2570
+#: doc/tin.1:2622
 msgid ""
 "If ON, show \"a as Umlaut-a, etc. Default is OFF. This behavior can also be "
 "toggled in the article viewer via B<PageToggleTex2iso> ('B<\">')."
@@ -6972,13 +7082,13 @@ msgstr ""
 "toggled in the article viewer via B<PageToggleTex2iso> ('B<\">')."
 
 #. type: TP
-#: doc/tin.1:2570
+#: doc/tin.1:2622
 #, no-wrap
 msgid "B<Thread articles by (thread_articles)>"
 msgstr "B<Thread articles by (thread_articles)>"
 
 #. type: Plain text
-#: doc/tin.1:2578
+#: doc/tin.1:2630
 msgid ""
 "Defines which threading method to use. It's possible to set the threading "
 "type on a per group basis by setting the group attribute variable "
@@ -6993,22 +7103,22 @@ msgstr ""
 "and References.  The choices are:"
 
 #. type: Plain text
-#: doc/tin.1:2581
+#: doc/tin.1:2633
 msgid "B<None>, don't thread."
 msgstr "B<None>, don't thread."
 
 #. type: Plain text
-#: doc/tin.1:2583
+#: doc/tin.1:2635
 msgid "B<Subject>, thread on ''Subject:'' only."
 msgstr "B<Subject>, thread on ''Subject:'' only."
 
 #. type: Plain text
-#: doc/tin.1:2585
+#: doc/tin.1:2637
 msgid "B<References>, thread on ''References:'' only."
 msgstr "B<References>, thread on ''References:'' only."
 
 #. type: Plain text
-#: doc/tin.1:2588
+#: doc/tin.1:2640
 msgid ""
 "B<Both Subject and References>, thread on ''References:'' then "
 "\\&''Subject:'' (default)."
@@ -7017,12 +7127,12 @@ msgstr ""
 "\\&''Subject:'' (default)."
 
 #. type: Plain text
-#: doc/tin.1:2590
+#: doc/tin.1:2642
 msgid "B<Multipart Subject>, thread multipart articles on ''Subject:''."
 msgstr "B<Multipart Subject>, thread multipart articles on ''Subject:''."
 
 #. type: Plain text
-#: doc/tin.1:2593
+#: doc/tin.1:2645
 msgid ""
 "B<Percentage Match>, thread base upon a partial character match on "
 "\\&''Subject:''."
@@ -7031,13 +7141,13 @@ msgstr ""
 "\\&''Subject:''."
 
 #. type: TP
-#: doc/tin.1:2594
+#: doc/tin.1:2646
 #, no-wrap
 msgid "B<Catchup thread by using left key (thread_catchup_on_exit)>"
 msgstr "B<Catchup thread by using left key (thread_catchup_on_exit)>"
 
 #. type: Plain text
-#: doc/tin.1:2598 doc/tin.5:2375
+#: doc/tin.1:2650 doc/tin.5:2442
 msgid ""
 "If ON catchup group/thread when leaving with the left arrow key. Default is "
 "ON."
@@ -7046,13 +7156,13 @@ msgstr ""
 "ON."
 
 #. type: TP
-#: doc/tin.1:2598
+#: doc/tin.1:2650
 #, no-wrap
 msgid "B<Format string for the Thread level (thread_format)>"
 msgstr "B<Format string for the Thread level (thread_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2602
+#: doc/tin.1:2654
 msgid ""
 "Format string B<tin> uses for Thread level representation. See the section "
 "\"CUSTOMIZING THE SCREEN FORMAT\". Default is \"%n\\ %m\\ \\ [%L]\\ \\ %T\\ "
@@ -7063,13 +7173,13 @@ msgstr ""
 "\\ %F\"."
 
 #. type: TP
-#: doc/tin.1:2602
+#: doc/tin.1:2654
 #, no-wrap
 msgid "B<Matchingness of a thread (thread_perc)>"
 msgstr "B<Matchingness of a thread (thread_perc)>"
 
 #. type: Plain text
-#: doc/tin.1:2606
+#: doc/tin.1:2658
 msgid ""
 "How closely the subjects must match for two threads to be considered part of "
 "the same thread. This is a percentage and the default if 75%."
@@ -7078,13 +7188,13 @@ msgstr ""
 "the same thread. This is a percentage and the default if 75%."
 
 #. type: TP
-#: doc/tin.1:2606
+#: doc/tin.1:2658
 #, no-wrap
 msgid "B<Score of a thread (thread_score)>"
 msgstr "B<Score of a thread (thread_score)>"
 
 #. type: Plain text
-#: doc/tin.1:2610 doc/tin.5:2379
+#: doc/tin.1:2662 doc/tin.5:2446
 msgid ""
 "How the total score of a thread is computed. Default is 0, the maximum score "
 "in this thread."
@@ -7093,28 +7203,28 @@ msgstr ""
 "in this thread."
 
 #. type: Plain text
-#: doc/tin.1:2613 doc/tin.5:2382
+#: doc/tin.1:2665 doc/tin.5:2449
 msgid "B<Max>, the maximum score in this thread."
 msgstr "B<Max>, the maximum score in this thread."
 
 #. type: Plain text
-#: doc/tin.1:2615 doc/tin.5:2384
+#: doc/tin.1:2667 doc/tin.5:2451
 msgid "B<Sum>, the sum of all scores in this thread."
 msgstr "B<Sum>, the sum of all scores in this thread."
 
 #. type: Plain text
-#: doc/tin.1:2617 doc/tin.5:2386
+#: doc/tin.1:2669 doc/tin.5:2453
 msgid "B<Average>, the average score in this thread."
 msgstr "B<Average>, the average score in this thread."
 
 #. type: TP
-#: doc/tin.1:2618
+#: doc/tin.1:2670
 #, no-wrap
 msgid "B<CA certificate file (tls_ca_cert_file)>"
 msgstr "B<CA certificate file (tls_ca_cert_file)>"
 
 #. type: Plain text
-#: doc/tin.1:2623
+#: doc/tin.1:2675
 msgid ""
 "The name of file containing all trusted CA certificates used for NNTPS (B<\\"
 "%RFC8143>) connections. If left empty the system default will be used."
@@ -7123,13 +7233,13 @@ msgstr ""
 "%RFC8143>) connections. If left empty the system default will be used."
 
 #. type: TP
-#: doc/tin.1:2623
+#: doc/tin.1:2675
 #, no-wrap
 msgid "B<Transliteration (translit)>"
 msgstr "B<Transliteration (translit)>"
 
 #. type: Plain text
-#: doc/tin.1:2631 doc/tin.5:2400
+#: doc/tin.1:2683 doc/tin.5:2467
 msgid ""
 "If ON append //TRANSLIT to the first argument of B<\\%iconv_open>(3)  to "
 "enable transliteration. This means that when a character cannot be "
@@ -7144,13 +7254,13 @@ msgstr ""
 "doesn't exist, this option is disabled. Default is OFF."
 
 #. type: TP
-#: doc/tin.1:2631
+#: doc/tin.1:2683
 #, no-wrap
 msgid "B<How to treat blank lines (trim_article_body)>"
 msgstr "B<How to treat blank lines (trim_article_body)>"
 
 #. type: Plain text
-#: doc/tin.1:2635
+#: doc/tin.1:2687
 msgid ""
 "Allows you to select how B<tin> treats blank lines in article bodies.  "
 "Default is 0. This option does not affect lines within verbatim blocks."
@@ -7159,29 +7269,29 @@ msgstr ""
 "Default is 0. This option does not affect lines within verbatim blocks."
 
 #. type: Plain text
-#: doc/tin.1:2638 doc/tin.5:2409
+#: doc/tin.1:2690 doc/tin.5:2476
 msgid "B<Don't trim article body>, do nothing."
 msgstr "B<Don't trim article body>, do nothing."
 
 #. type: Plain text
-#: doc/tin.1:2640 doc/tin.5:2411
+#: doc/tin.1:2692 doc/tin.5:2478
 msgid "B<Skip leading blank lines>."
 msgstr "B<Skip leading blank lines>."
 
 #. type: Plain text
-#: doc/tin.1:2642 doc/tin.5:2413
+#: doc/tin.1:2694 doc/tin.5:2480
 msgid "B<Skip trailing blank lines>."
 msgstr "B<Skip trailing blank lines>."
 
 #. type: Plain text
-#: doc/tin.1:2644 doc/tin.5:2415
+#: doc/tin.1:2696 doc/tin.5:2482
 msgid ""
 "B<Skip leading and trailing blank l.>, skip leading and trailing blank lines."
 msgstr ""
 "B<Skip leading and trailing blank l.>, skip leading and trailing blank lines."
 
 #. type: Plain text
-#: doc/tin.1:2647 doc/tin.5:2418
+#: doc/tin.1:2699 doc/tin.5:2485
 msgid ""
 "B<Compact multiple between text>, replace multiple blank lines between text "
 "blocks with one blank line."
@@ -7190,28 +7300,28 @@ msgstr ""
 "blocks with one blank line."
 
 #. type: Plain text
-#: doc/tin.1:2649 doc/tin.5:2420
+#: doc/tin.1:2701 doc/tin.5:2487
 msgid "B<Compact multiple and skip leading>, 4 + 1"
 msgstr "B<Compact multiple and skip leading>, 4 + 1"
 
 #. type: Plain text
-#: doc/tin.1:2651 doc/tin.5:2422
+#: doc/tin.1:2703 doc/tin.5:2489
 msgid "B<Compact multiple and skip trailing>, 4 + 2"
 msgstr "B<Compact multiple and skip trailing>, 4 + 2"
 
 #. type: Plain text
-#: doc/tin.1:2653 doc/tin.5:2424
+#: doc/tin.1:2705 doc/tin.5:2491
 msgid "B<Compact mltpl., skip lead. & trai.>, 4 + 3"
 msgstr "B<Compact mltpl., skip lead. & trai.>, 4 + 3"
 
 #. type: TP
-#: doc/tin.1:2654
+#: doc/tin.1:2706
 #, no-wrap
 msgid "B<Suppress soft hyphens (suppress_soft_hyphens)>"
 msgstr "B<Suppress soft hyphens (suppress_soft_hyphens)>"
 
 #. type: Plain text
-#: doc/tin.1:2662
+#: doc/tin.1:2714
 msgid ""
 "If ON remove soft hyphens in non verbatim blocks of articles in UTF-8 when "
 "they are displayed in a UTF-8 locale. The character SOFT HYPHEN (U+00AD) is "
@@ -7228,13 +7338,13 @@ msgstr ""
 "used to improve the display of those articles. Default is OFF."
 
 #. type: TP
-#: doc/tin.1:2662
+#: doc/tin.1:2714
 #, no-wrap
 msgid "B<Regex used to highlight _underline_ (underscores_regex)>"
 msgstr "B<Regex used to highlight _underline_ (underscores_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2667
+#: doc/tin.1:2719
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markdash> or B<mono_markdash>. If "
@@ -7245,24 +7355,24 @@ msgstr ""
 "B<underscores_regex> is blank, then B<tin> uses a built-in default."
 
 #. type: TP
-#: doc/tin.1:2667
+#: doc/tin.1:2719
 #, no-wrap
 msgid "B<Remove ~/.article after posting (unlink_article)>"
 msgstr "B<Remove ~/.article after posting (unlink_article)>"
 
 #. type: Plain text
-#: doc/tin.1:2670
+#: doc/tin.1:2722
 msgid "If ON remove I<~/.article> after posting. Default is ON."
 msgstr "If ON remove I<~/.article> after posting. Default is ON."
 
 #. type: TP
-#: doc/tin.1:2670
+#: doc/tin.1:2722
 #, no-wrap
 msgid "B<Program that opens URLs (url_handler)>"
 msgstr "B<Program that opens URLs (url_handler)>"
 
 #. type: Plain text
-#: doc/tin.1:2675 doc/tin.5:2445
+#: doc/tin.1:2727 doc/tin.5:2512
 msgid ""
 "The program that will be run when launching URLs in the article viewer using "
 "B<PageViewUrl> ('B<U>'). The actual URL will be appended.  Default is "
@@ -7273,41 +7383,41 @@ msgstr ""
 "B<url_handler.pl>."
 
 #. type: TP
-#: doc/tin.1:2675
+#: doc/tin.1:2727
 #, no-wrap
 msgid "B<URL highlighting in message body (url_highlight)>"
 msgstr "B<URL highlighting in message body (url_highlight)>"
 
 #. type: Plain text
-#: doc/tin.1:2678 doc/tin.5:2448
+#: doc/tin.1:2730 doc/tin.5:2515
 msgid "Enable highlighting URLs in message body. Default is ON."
 msgstr "Enable highlighting URLs in message body. Default is ON."
 
 #. type: TP
-#: doc/tin.1:2678
+#: doc/tin.1:2730
 #, no-wrap
 msgid "B<Use ANSI color (use_color)>"
 msgstr "B<Use ANSI colour (use_color)>"
 
 #. type: Plain text
-#: doc/tin.1:2681
+#: doc/tin.1:2733
 msgid "If enabled B<tin> uses ANSI-colors. Default is OFF."
 msgstr "If enabled B<tin> uses ANSI-colours. Default is OFF."
 
 #. type: TP
-#: doc/tin.1:2681
+#: doc/tin.1:2733
 #, no-wrap
 msgid "B<Use scroll keys on keypad (use_keypad)>"
 msgstr "B<Use scroll keys on keypad (use_keypad)>"
 
 #. type: TP
-#: doc/tin.1:2684
+#: doc/tin.1:2736
 #, no-wrap
 msgid "B<Use mouse in xterm (use_mouse)>"
 msgstr "B<Use mouse in xterm (use_mouse)>"
 
 #. type: Plain text
-#: doc/tin.1:2690 doc/tin.5:2462
+#: doc/tin.1:2742 doc/tin.5:2529
 msgid ""
 "Allows the mouse button support in an B<\\%xterm>(1x)  to be enabled/"
 "disabled.  Default is OFF."
@@ -7316,13 +7426,13 @@ msgstr ""
 "disabled.  Default is OFF."
 
 #. type: TP
-#: doc/tin.1:2690
+#: doc/tin.1:2742
 #, no-wrap
 msgid "B<Use slrnface to show ''X-Face:''s (use_slrnface)>"
 msgstr "B<Use slrnface to show ''X-Face:''s (use_slrnface)>"
 
 #. type: Plain text
-#: doc/tin.1:2700
+#: doc/tin.1:2752
 msgid ""
 "If enabled B<tin> uses B<\\%slrnface>(1)  to interpret the ''X-Face:'' "
 "header. For this option to have any effect, B<tin> must be running in an B<\\"
@@ -7333,28 +7443,28 @@ msgstr ""
 "%xterm>(1x)  and B<\\%slrnface>(1)  must be in your $B<PATH>. Default is OFF."
 
 #. type: TP
-#: doc/tin.1:2700
+#: doc/tin.1:2752
 #, no-wrap
 msgid "B<Use UTF-8 graphics (utf8_graphics)>"
 msgstr "B<Use UTF-8 graphics (utf8_graphics)>"
 
 #. type: Plain text
-#: doc/tin.1:2704 doc/tin.5:2478
+#: doc/tin.1:2756
 msgid ""
-"If ON use UTF-8 characters for indicator ('-E<gt>'), thread/attachment tree "
-"and ellipsis ('...'). Default is OFF."
+"If ON use UTF-8 characters for indicator ('\\(-E<gt>'), thread/attachment "
+"tree and ellipsis ('...'). Default is OFF."
 msgstr ""
-"If ON use UTF-8 characters for indicator ('-E<gt>'), thread/attachment tree "
-"and ellipsis ('...'). Default is OFF."
+"If ON use UTF-8 characters for indicator ('\\(-E<gt>'), thread/attachment "
+"tree and ellipsis ('...'). Default is OFF."
 
 #. type: TP
-#: doc/tin.1:2704
+#: doc/tin.1:2756
 #, no-wrap
 msgid "B<Regex for begin of a verbatim block (verbatim_begin_regex)>"
 msgstr "B<Regex for begin of a verbatim block (verbatim_begin_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2708
+#: doc/tin.1:2760
 msgid ""
 "A regular expression that B<tin> will use to find the begin of a verbatim "
 "block."
@@ -7363,13 +7473,13 @@ msgstr ""
 "block."
 
 #. type: TP
-#: doc/tin.1:2708
+#: doc/tin.1:2760
 #, no-wrap
 msgid "B<Regex for end of a verbatim block (verbatim_end_regex)>"
 msgstr "B<Regex for end of a verbatim block (verbatim_end_regex)>"
 
 #. type: Plain text
-#: doc/tin.1:2712
+#: doc/tin.1:2764
 msgid ""
 "A regular expression that B<tin> will use to find the end of a verbatim "
 "block."
@@ -7378,24 +7488,24 @@ msgstr ""
 "block."
 
 #. type: TP
-#: doc/tin.1:2712
+#: doc/tin.1:2764
 #, no-wrap
 msgid "B<Detection of verbatim blocks (verbatim_handling)>"
 msgstr "B<Detection of verbatim blocks (verbatim_handling)>"
 
 #. type: Plain text
-#: doc/tin.1:2715 doc/tin.5:2493
+#: doc/tin.1:2767 doc/tin.5:2560
 msgid "If ON verbatim blocks will be detected. Default is ON."
 msgstr "If ON verbatim blocks will be detected. Default is ON."
 
 #. type: TP
-#: doc/tin.1:2715
+#: doc/tin.1:2767
 #, no-wrap
 msgid "B<Wildcard matching (wildcard)>"
 msgstr "B<Wildcard matching (wildcard)>"
 
 #. type: Plain text
-#: doc/tin.1:2737
+#: doc/tin.1:2789
 msgid ""
 "Allows you to select how B<tin> matches strings. The default is 0 and uses "
 "the B<\\%wildmat>(3)  notation, which is how this has traditionally been "
@@ -7414,13 +7524,13 @@ msgstr ""
 "Newsgroup names will always be matched using the B<\\%wildmat>(3)  notation."
 
 #. type: TP
-#: doc/tin.1:2737
+#: doc/tin.1:2789
 #, no-wrap
 msgid "B<What to display instead of mark (word_h_display_marks)>"
 msgstr "B<What to display instead of mark (word_h_display_marks)>"
 
 #. type: Plain text
-#: doc/tin.1:2741 doc/tin.5:2521
+#: doc/tin.1:2793 doc/tin.5:2588
 msgid ""
 "Should the leading and ending stars, slashes, strokes and dashes also be "
 "displayed, even when they are highlighting marks?"
@@ -7429,28 +7539,28 @@ msgstr ""
 "displayed, even when they are highlighting marks?"
 
 #. type: Plain text
-#: doc/tin.1:2744 doc/tin.5:2524
+#: doc/tin.1:2796 doc/tin.5:2591
 msgid "B<no>"
 msgstr "B<no>"
 
 #. type: Plain text
-#: doc/tin.1:2746 doc/tin.5:2526
+#: doc/tin.1:2798 doc/tin.5:2593
 msgid "yes, B<display mark>"
 msgstr "yes, B<display mark>"
 
 #. type: Plain text
-#: doc/tin.1:2748 doc/tin.5:2528
+#: doc/tin.1:2800 doc/tin.5:2595
 msgid "print a B<space> instead"
 msgstr "print a B<space> instead"
 
 #. type: TP
-#: doc/tin.1:2749
+#: doc/tin.1:2801
 #, no-wrap
 msgid "B<Word highlighting in message body (word_highlight)>"
 msgstr "B<Word highlighting in message body (word_highlight)>"
 
 #. type: Plain text
-#: doc/tin.1:2757 doc/tin.5:2537
+#: doc/tin.1:2809 doc/tin.5:2604
 msgid ""
 "Enable word highlighting. See B<word_h_display_marks> for the options "
 "available. If B<use_color> is enabled the colors specified in "
@@ -7467,40 +7577,40 @@ msgstr ""
 "are used. Default is ON."
 
 #. type: TP
-#: doc/tin.1:2757
+#: doc/tin.1:2809
 #, no-wrap
 msgid "B<Page line wrap column (wrap_column)>"
 msgstr "B<Page line wrap column (wrap_column)>"
 
 #. type: Plain text
-#: doc/tin.1:2768 doc/tin.5:2548
+#: doc/tin.1:2820 doc/tin.5:2615
 msgid ""
 "Sets the column at which a displayed article body should be wrapped.  If "
 "this value is equal to 0, it defaults to the current screen width.  If this "
-"value is greater than your current screen width the part off-screen is not "
-"displayed. Thus setting this option to a large value can be used to disable "
-"wrapping. If this value is negative the wrap margin is the current screen "
-"width plus the given value (as long as the result is still positive, "
-"otherwise it will fall back to the current screen width). Default is 0, "
-"wrapping at the current screen width."
+"value is greater than your current screen width and B<dont_break_words> is "
+"unset the part off-screen is not displayed.  Thus setting this option to a "
+"large value can be used to disable wrapping.  If this value is negative the "
+"wrap margin is the current screen width plus the given value (as long as the "
+"result is still positive, otherwise it will fall back to the current screen "
+"width). Default is 0, wrapping at the current screen width."
 msgstr ""
 "Sets the column at which a displayed article body should be wrapped.  If "
 "this value is equal to 0, it defaults to the current screen width.  If this "
-"value is greater than your current screen width the part off-screen is not "
-"displayed. Thus setting this option to a large value can be used to disable "
-"wrapping. If this value is negative the wrap margin is the current screen "
-"width plus the given value (as long as the result is still positive, "
-"otherwise it will fall back to the current screen width). Default is 0, "
-"wrapping at the current screen width."
+"value is greater than your current screen width and B<dont_break_words> is "
+"unset the part off-screen is not displayed.  Thus setting this option to a "
+"large value can be used to disable wrapping.  If this value is negative the "
+"wrap margin is the current screen width plus the given value (as long as the "
+"result is still positive, otherwise it will fall back to the current screen "
+"width). Default is 0, wrapping at the current screen width."
 
 #. type: TP
-#: doc/tin.1:2768
+#: doc/tin.1:2820
 #, no-wrap
 msgid "B<Quote line when crossposting (xpost_quote_format)>"
 msgstr "B<Quote line when crossposting (xpost_quote_format)>"
 
 #. type: Plain text
-#: doc/tin.1:2775 doc/tin.5:2558
+#: doc/tin.1:2827 doc/tin.5:2625
 msgid ""
 "Format is the same as for B<news_quote_format>, this is used when answering "
 "to a crossposting to several groups with no ''Followup-To:'' set."
@@ -7509,30 +7619,30 @@ msgstr ""
 "to a crossposting to several groups with no ''Followup-To:'' set."
 
 #. type: SS
-#: doc/tin.1:2775
+#: doc/tin.1:2827
 #, no-wrap
 msgid "ATTRIBUTES MENU AND GROUP ATTRIBUTES"
 msgstr "ATTRIBUTES MENU AND GROUP ATTRIBUTES"
 
 #. type: Plain text
-#: doc/tin.1:2782
+#: doc/tin.1:2834
 msgid ""
 "B<tin> allows certain attributes to be set on a per group basis. If it "
 "exists, the global attributes file, I<${TIN_LIBDIR:-NEWSLIBDIR}/attributes> "
-"is read. After that, the user's own attributes file I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.tin/attributes> is read.  The global attributes file is useful for "
-"distributing system-wide defaults to new users who have no private "
+"is read. After that, the user's own attributes file I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.tin/attributes> is read.  The global attributes file is useful "
+"for distributing system-wide defaults to new users who have no private "
 "attributes file yet."
 msgstr ""
 "B<tin> allows certain attributes to be set on a per group basis. If it "
 "exists, the global attributes file, I<${TIN_LIBDIR:-NEWSLIBDIR}/attributes> "
-"is read. After that, the user's own attributes file I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.tin/attributes> is read.  The global attributes file is useful for "
-"distributing system-wide defaults to new users who have no private "
+"is read. After that, the user's own attributes file I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.tin/attributes> is read.  The global attributes file is useful "
+"for distributing system-wide defaults to new users who have no private "
 "attributes file yet."
 
 #. type: Plain text
-#: doc/tin.1:2790
+#: doc/tin.1:2842
 msgid ""
 "Note that the I<scope=E<lt>grouplistE<gt>> line has to be specified before "
 "the attributes are specified for that list. All attributes are set to a "
@@ -7549,7 +7659,7 @@ msgstr ""
 "For more details see B<\\%tin>(5)."
 
 #. type: Plain text
-#: doc/tin.1:2797
+#: doc/tin.1:2849
 msgid ""
 "Attributes can also be changed from the attributes menu which can be "
 "accessed by B<ConfigToggleAttrib> ('B<E<lt>TABE<gt>>') from the options menu "
@@ -7566,7 +7676,7 @@ msgstr ""
 "marked with '+' to the left of the attributes number."
 
 #. type: Plain text
-#: doc/tin.1:2804
+#: doc/tin.1:2856
 msgid ""
 "Besides the keys for moving around and changing values known from the "
 "options menu the attributes menu provides the following command: "
@@ -7577,26 +7687,26 @@ msgstr ""
 "B<ConfigResetAttrib> ('B<r>') which resets an attribute to a default value."
 
 #. type: SS
-#: doc/tin.1:2804
+#: doc/tin.1:2856
 #, no-wrap
 msgid "SCOPES MENU"
 msgstr "SCOPES MENU"
 
 #. type: Plain text
-#: doc/tin.1:2809
+#: doc/tin.1:2861
 msgid ""
 "The scopes menu (accessible from the options menu with B<ConfigScopeMenu> "
 "('B<S>')) shows all scopes read from the global and local attributes file.  "
-"Scopes from the global attributes file are marked with '!' to the left of "
+"Scopes from the global attributes file are marked with '!\\&' to the left of "
 "the scope number. Delete/rename/move are not possible with those scopes."
 msgstr ""
 "The scopes menu (accessible from the options menu with B<ConfigScopeMenu> "
 "('B<S>')) shows all scopes read from the global and local attributes file.  "
-"Scopes from the global attributes file are marked with '!' to the left of "
+"Scopes from the global attributes file are marked with '!\\&' to the left of "
 "the scope number. Delete/rename/move are not possible with those scopes."
 
 #. type: Plain text
-#: doc/tin.1:2821
+#: doc/tin.1:2873
 msgid ""
 "In addition to the common moving keys the following commands are available: "
 "B<ScopeSelect> ('B<^J>' or 'B<E<lt>CRE<gt>>') enter the attributes menu for "
@@ -7619,14 +7729,14 @@ msgstr ""
 "(B<beginner_level>)."
 
 #. type: SS
-#: doc/tin.1:2821
+#: doc/tin.1:2873
 #, no-wrap
 msgid "FILTERING ARTICLES"
 msgstr "FILTERING ARTICLES"
 
 #.  FIXME - add scoring description
 #. type: Plain text
-#: doc/tin.1:2828
+#: doc/tin.1:2880
 msgid ""
 "When there is a subject or an author which you are either very interested "
 "in, or find completely uninteresting, you can easily instruct B<tin> to "
@@ -7641,20 +7751,20 @@ msgstr ""
 "lines in an article."
 
 #. type: Plain text
-#: doc/tin.1:2834
+#: doc/tin.1:2887
 msgid ""
 "When B<tin> starts up the user's kill-file I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/"
-"filter> (see also B<\\%tin>(5))  is read. Each time a newsgroup is entered "
-"the rules are applied and articles killed or selected when they meet certain "
-"criteria."
+"filter> or the file specified via ''B<-F>'' is read (see also B<\\"
+"%tin>(5)  ). Each time a newsgroup is entered the rules are applied and "
+"articles killed or selected when they meet certain criteria."
 msgstr ""
 "When B<tin> starts up the user's kill-file I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/"
-"filter> (see also B<\\%tin>(5))  is read. Each time a newsgroup is entered "
-"the rules are applied and articles killed or selected when they meet certain "
-"criteria."
+"filter> or the file specified via ''B<-F>'' is read (see also B<\\"
+"%tin>(5)  ). Each time a newsgroup is entered the rules are applied and "
+"articles killed or selected when they meet certain criteria."
 
 #. type: Plain text
-#: doc/tin.1:2839
+#: doc/tin.1:2892
 msgid ""
 "The degree to which rules are applied depend on the B<kill_level> tinrc "
 "setting. By default killed articles will only be marked read. Adjust "
@@ -7667,7 +7777,7 @@ msgstr ""
 "selection rule are marked with a ''*''."
 
 #. type: Plain text
-#: doc/tin.1:2844
+#: doc/tin.1:2897
 msgid ""
 "Filtering rules can be manually entered into I<${TIN_HOMEDIR:-\"$HOME\"}/."
 "tin/filter> (but don't do this whilst running B<tin> else you will lose your "
@@ -7678,7 +7788,7 @@ msgstr ""
 "changes) or by using an on-screen menu within B<tin>."
 
 #. type: Plain text
-#: doc/tin.1:2849
+#: doc/tin.1:2902
 msgid ""
 "The filtering capabilities of B<tin> have been significantly enhanced over "
 "previous versions to include scoring and better pattern matching. It is "
@@ -7691,13 +7801,13 @@ msgstr ""
 "directory. This file can also be read online at"
 
 #. type: Plain text
-#: doc/tin.1:2851
-msgid "E<lt>http://www.tin.org/filtering.txtE<gt>."
-msgstr "E<lt>http://www.tin.org/filtering.txtE<gt>."
+#: doc/tin.1:2904
+msgid "E<lt>http://bzr.tin.org/doc/filteringE<gt>."
+msgstr "E<lt>http://bzr.tin.org/doc/filteringE<gt>."
 
 #.  FIXME - Next paragraph is out of date
 #. type: Plain text
-#: doc/tin.1:2864
+#: doc/tin.1:2917
 msgid ""
 "The on-screen filtering menu is accessed by pressing B<MenuFilterKill> "
 "('B<^K>') or B<MenuFilterSelect> ('B<^A>')  at the Group and Article levels. "
@@ -7718,13 +7828,13 @@ msgstr ""
 "the new filter, edit the full filter file or save filter."
 
 #. type: SS
-#: doc/tin.1:2864
+#: doc/tin.1:2917
 #, no-wrap
 msgid "POSTING ARTICLES"
 msgstr "POSTING ARTICLES"
 
 #. type: Plain text
-#: doc/tin.1:2867
+#: doc/tin.1:2920
 msgid ""
 "B<tin> allows posting of articles, follow-up to already posted articles and "
 "replying direct through mail to the author of an article."
@@ -7733,7 +7843,7 @@ msgstr ""
 "replying direct through mail to the author of an article."
 
 #. type: Plain text
-#: doc/tin.1:2877
+#: doc/tin.1:2930
 msgid ""
 "Use the B<Post> ('B<w>') command to post an article to a newsgroup.  After "
 "entering the post subject the default editor (i.e., B<\\%vi>(1))  or the "
@@ -7754,7 +7864,7 @@ msgstr ""
 "again or p)ost the article to the specified newsgroup(s)."
 
 #. type: Plain text
-#: doc/tin.1:2882
+#: doc/tin.1:2935
 msgid ""
 "Use the B<DisplayPostHist> ('B<W>') command to display a history of the "
 "articles you have posted. The date the article was posted, which newsgroups "
@@ -7767,7 +7877,7 @@ msgstr ""
 "the section \"POSTING HISTORY LISTING\" for more information."
 
 #. type: Plain text
-#: doc/tin.1:2890
+#: doc/tin.1:2943
 msgid ""
 "Use the B<PageFollowupQuote> ('B<f>'), B<PageFollowup> ('B<F>')  or "
 "B<PageFollowupQuoteHeaders> ('B<^W>') command to post a follow-up article to "
@@ -7786,7 +7896,7 @@ msgstr ""
 "when posting an article with the B<Post> ('B<w>') command."
 
 #. type: Plain text
-#: doc/tin.1:2904
+#: doc/tin.1:2957
 msgid ""
 "Use the B<PageReplyQuote> ('B<r>'), B<PageReply> ('B<R>') or "
 "B<PageReplyQuoteHeaders> ('B<^E>') command to reply direct through mail to "
@@ -7811,38 +7921,40 @@ msgstr ""
 "or send the article to the author via B<PostSend> ('B<s>')."
 
 #. type: SS
-#: doc/tin.1:2904
+#: doc/tin.1:2957
 #, no-wrap
 msgid "CUSTOMIZING THE ARTICLE QUOTE STRING"
 msgstr "CUSTOMISING THE ARTICLE QUOTE STRING"
 
 #. type: Plain text
-#: doc/tin.1:2912
+#: doc/tin.1:2966
 msgid ""
 "When posting a followup to an article or replying direct to the author of an "
 "article via email the text of the article can be quoted. The beginning of "
 "the quoted text can contain information about the quoted article (e.g., Name "
-"and the Message-ID of the article). To allow for different situations "
-"certain information from the article can be used in the quoted string. The "
-"following variables are expanded if found in the tinrc variables "
-"B<mail_quote_format>, B<news_quote_format> or B<xpost_quote_format>:"
+"and the Message-ID of the article). If the article has multiple addresses "
+"only the first is evaluated. To allow for different situations certain "
+"information from the article can be used in the quoted string. The following "
+"variables are expanded if found in the tinrc variables B<mail_quote_format>, "
+"B<news_quote_format> or B<xpost_quote_format>:"
 msgstr ""
 "When posting a followup to an article or replying direct to the author of an "
 "article via email the text of the article can be quoted. The beginning of "
 "the quoted text can contain information about the quoted article (e.g., Name "
-"and the Message-ID of the article). To allow for different situations "
-"certain information from the article can be used in the quoted string. The "
-"following variables are expanded if found in the tinrc variables "
-"B<mail_quote_format>, B<news_quote_format> or B<xpost_quote_format>:"
+"and the Message-ID of the article). If the article has multiple addresses "
+"only the first is evaluated. To allow for different situations certain "
+"information from the article can be used in the quoted string. The following "
+"variables are expanded if found in the tinrc variables B<mail_quote_format>, "
+"B<news_quote_format> or B<xpost_quote_format>:"
 
 #. type: ta
-#: doc/tin.1:2914
+#: doc/tin.1:2968
 #, no-wrap
 msgid "\\w'%A  'u +\\w'Address'u"
 msgstr "\\w'%A  'u +\\w'Address'u"
 
 #. type: Plain text
-#: doc/tin.1:2923
+#: doc/tin.1:2977
 #, no-wrap
 msgid ""
 "B<%A>\tAddress (Email)\n"
@@ -7864,37 +7976,37 @@ msgstr ""
 "B<%I>\tInitials of author\n"
 
 #. type: Plain text
-#: doc/tin.1:2926
+#: doc/tin.1:2980
 msgid "e.g.,"
 msgstr "e.g.,"
 
 #. type: Plain text
-#: doc/tin.1:2931
+#: doc/tin.1:2985
 #, no-wrap
 msgid ""
-"CW<mail_quote_format=On %D in %G you wrote:\n"
-"news_quote_format=In %M, %F wrote:>\n"
+"\\f(CRmail_quote_format=On %D in %G you wrote:\n"
+"news_quote_format=In %M, %F wrote:\\fR\n"
 msgstr ""
-"CW<mail_quote_format=On %D in %G you wrote:\n"
-"news_quote_format=In %M, %F wrote:>\n"
+"\\f(CRmail_quote_format=On %D in %G you wrote:\n"
+"news_quote_format=In %M, %F wrote:\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:2935
+#: doc/tin.1:2989
 msgid "would expand to:"
 msgstr "would expand to:"
 
 #. type: Plain text
-#: doc/tin.1:2940
+#: doc/tin.1:2994
 #, no-wrap
 msgid ""
-"CW<On 21 Sep 1993 09:45:51 -0400 in alt.sources you wrote:\n"
-"In E<lt>abcINN123@example.orgE<gt>, Joe Bar E<lt>joe@example.orgE<gt> wrote:>\n"
+"\\f(CROn 21 Sep 1993 09:45:51 -0400 in alt.sources you wrote:\n"
+"In E<lt>abcINN123@example.orgE<gt>, Joe Bar E<lt>joe@example.orgE<gt> wrote:\\fR\n"
 msgstr ""
-"CW<On 21 Sep 1993 09:45:51 -0400 in alt.sources you wrote:\n"
-"In E<lt>abcINN123@example.orgE<gt>, Joe Bar E<lt>joe@example.orgE<gt> wrote:>\n"
+"\\f(CROn 21 Sep 1993 09:45:51 -0400 in alt.sources you wrote:\n"
+"In E<lt>abcINN123@example.orgE<gt>, Joe Bar E<lt>joe@example.orgE<gt> wrote:\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:2950
+#: doc/tin.1:3004
 msgid ""
 "The quoted text section of an article is marked by a preceding quote string "
 "at the beginning of each quoted line. The default quote string is set to "
@@ -7909,13 +8021,13 @@ msgstr ""
 "represent a space)."
 
 #. type: SS
-#: doc/tin.1:2950
+#: doc/tin.1:3004
 #, no-wrap
 msgid "MAILING PIPING PRINTING REPOSTING AND SAVING ARTICLES"
 msgstr "MAILING PIPING PRINTING REPOSTING AND SAVING ARTICLES"
 
 #. type: Plain text
-#: doc/tin.1:2957
+#: doc/tin.1:3011
 msgid ""
 "The command interface to B<GroupMail>, B<PageMail>, B<PostMail> or "
 "B<ThreadMail> ('B<m>'), B<Pipe> ('B<|>'), B<Print> ('B<o>'), B<PageRepost> "
@@ -7930,7 +8042,7 @@ msgstr ""
 "articles is the same for ease of use."
 
 #. type: Plain text
-#: doc/tin.1:2962
+#: doc/tin.1:3016
 msgid ""
 "Auto-saving with B<*AutoSave> ('B<S>') is a special case and operates only "
 "on marked articles. They will processed without any further prompting "
@@ -7943,7 +8055,7 @@ msgstr ""
 "attributes set for the current group."
 
 #. type: Plain text
-#: doc/tin.1:2966
+#: doc/tin.1:3020
 msgid ""
 "Otherwise, the initial prompt will ask you to select which article, thread, "
 "hot (auto-selected), regular expression pattern, tagged articles you wish to "
@@ -7954,7 +8066,7 @@ msgstr ""
 "mail, pipe etc."
 
 #. type: Plain text
-#: doc/tin.1:2970
+#: doc/tin.1:3024
 msgid ""
 "Tagged articles must have already been tagged with a B<*Tag> ('B<t>')  "
 "command. All tagged articles can be untagged by a B<*Untag> ('B<U>')  untag "
@@ -7965,7 +8077,7 @@ msgstr ""
 "command."
 
 #. type: Plain text
-#: doc/tin.1:2976
+#: doc/tin.1:3030
 msgid ""
 "If a regular expression pattern is selected you are asked to enter a pattern "
 "(e.g., to match all articles subject lines containing 'net News' you enter "
@@ -7980,7 +8092,7 @@ msgstr ""
 "pattern matching options."
 
 #. type: Plain text
-#: doc/tin.1:2981
+#: doc/tin.1:3035
 msgid ""
 "Various expansion characters are recognized when entering the directory and "
 "file to save to. Environment variables (prefixed with '$') and user home "
@@ -7993,7 +8105,7 @@ msgstr ""
 "variables can themselves contain other special characters."
 
 #. type: Plain text
-#: doc/tin.1:2986
+#: doc/tin.1:3040
 msgid ""
 "To save articles to a mailbox enter '=E<lt>mailbox nameE<gt>' when asked for "
 "the save filename. If you enter just '=' then articles will be saved to a "
@@ -8006,20 +8118,20 @@ msgstr ""
 "B<maildir>."
 
 #. type: Plain text
-#: doc/tin.1:2991
+#: doc/tin.1:3045
 msgid ""
 "To save in savedir/E<lt>news.group.nameE<gt>/E<lt>filenameE<gt> format enter "
 "'+E<lt>filenameE<gt>'.  See B<savedir>. Like '+' %G is expanded to the "
 "current news.group.name but without B<savedir> prefixed. %P is expanded to "
-"the news.group.name with all '.' replaced by '/'."
+"the news.group.name with all '.\\&' replaced by '/'."
 msgstr ""
 "To save in savedir/E<lt>news.group.nameE<gt>/E<lt>filenameE<gt> format enter "
 "'+E<lt>filenameE<gt>'.  See B<savedir>. Like '+' %G is expanded to the "
 "current news.group.name but without B<savedir> prefixed. %P is expanded to "
-"the news.group.name with all '.' replaced by '/'."
+"the news.group.name with all '.\\&' replaced by '/'."
 
 #. type: Plain text
-#: doc/tin.1:2996
+#: doc/tin.1:3050
 msgid ""
 "If saving multiple files at once the filename (if not referring to a "
 "mailbox)  will be extended by \".num\" where \"num\" is at least 3 digit "
@@ -8032,7 +8144,7 @@ msgstr ""
 "filename (e.g., I<$SOURCES/dir/filename>)."
 
 #. type: Plain text
-#: doc/tin.1:3002
+#: doc/tin.1:3056
 msgid ""
 "When saving articles you can specify whether the saved files should be post "
 "processed. A default process type can be set via B<post_process_type>."
@@ -8041,13 +8153,13 @@ msgstr ""
 "processed. A default process type can be set via B<post_process_type>."
 
 #. type: SS
-#: doc/tin.1:3002
+#: doc/tin.1:3056
 #, no-wrap
 msgid "AUTOMATIC MAILING AND SAVING NEW NEWS"
 msgstr "AUTOMATIC MAILING AND SAVING NEW NEWS"
 
 #. type: Plain text
-#: doc/tin.1:3014
+#: doc/tin.1:3068
 msgid ""
 "B<tin> allows new/unread news articles to be mailed (''B<-M>'' and \\&''B<-"
 "N>'' option) or saved (''B<-S>'' option) in batch mode for later reading. "
@@ -8072,7 +8184,7 @@ msgstr ""
 "you could overflow your file system."
 
 #. type: Plain text
-#: doc/tin.1:3018
+#: doc/tin.1:3072
 msgid ""
 "When using ''B<-S>'' together with a given directory to save to (''B<-s>'' "
 "option), the same directory must be specified when reading the articles by "
@@ -8083,7 +8195,7 @@ msgstr ""
 "''B<-R>''."
 
 #. type: Plain text
-#: doc/tin.1:3025
+#: doc/tin.1:3079
 msgid ""
 "If you only want to save some of your groups use the B<batch_save> tinrc "
 "variable. Set to ON or OFF in tinrc to enable/disable saving of all groups "
@@ -8100,13 +8212,13 @@ msgstr ""
 "want using attributes."
 
 #. type: TP
-#: doc/tin.1:3025
+#: doc/tin.1:3079
 #, no-wrap
 msgid "B<tin -M iain -c -f newsrc.mail>"
 msgstr "B<tin -M iain -c -f newsrc.mail>"
 
 #. type: Plain text
-#: doc/tin.1:3029
+#: doc/tin.1:3083
 msgid ""
 "(mail any unread articles in newsgroups specified in file newsrc.mail to the "
 "local user iain and mark them as read)"
@@ -8115,13 +8227,13 @@ msgstr ""
 "local user iain and mark them as read)"
 
 #. type: TP
-#: doc/tin.1:3029
+#: doc/tin.1:3083
 #, no-wrap
 msgid "B<tin -S -c -f newsrc.save>"
 msgstr "B<tin -S -c -f newsrc.save>"
 
 #. type: Plain text
-#: doc/tin.1:3033
+#: doc/tin.1:3087
 msgid ""
 "(save any unread articles in newsgroups specified in file newsrc.save and "
 "mark them as read)"
@@ -8130,32 +8242,32 @@ msgstr ""
 "mark them as read)"
 
 #. type: TP
-#: doc/tin.1:3033
+#: doc/tin.1:3087
 #, no-wrap
 msgid "B<tin -R>"
 msgstr "B<tin -R>"
 
 #. type: Plain text
-#: doc/tin.1:3038
+#: doc/tin.1:3092
 msgid "(read any articles saved by B<tin -S>)"
 msgstr "(read any articles saved by B<tin -S>)"
 
 #. type: SS
-#: doc/tin.1:3038
+#: doc/tin.1:3092
 #, no-wrap
 msgid "RANGES"
 msgstr "RANGES"
 
 #. type: Plain text
-#: doc/tin.1:3050
+#: doc/tin.1:3104
 msgid ""
 "A range is simply a group of items marked using the B<SetRange> (B<'#'>) "
 "key. Certain B<tin> commands will operate on a range if one exists rather "
 "than just the current item. A range is an expression of the form "
-"E<lt>minE<gt>\\(enE<lt>maxE<gt>, e.g. 10\\(en15 will highlight items 10 "
-"through 15 on the current screen. Other than absolute numeric positions, '.' "
-"can be used in place of the current cursor position and '$' can be used to "
-"mean the highest number available. Entering '0' at the prompt undoes the "
+"E<lt>minE<gt>\\(enE<lt>maxE<gt>, e.g., 10\\(en15 will highlight items 10 "
+"through 15 on the current screen. Other than absolute numeric positions, '."
+"\\&' can be used in place of the current cursor position and '$' can be used "
+"to mean the highest number available. Entering '0' at the prompt undoes the "
 "previously entered range selection. Currently the only commands that "
 "understand ranges are B<GroupMarkThdRead> ('B<K>'), B<MarkArtUnread> "
 "('B<z>') and B<MarkThdUnread> ('B<Z>')."
@@ -8163,22 +8275,22 @@ msgstr ""
 "A range is simply a group of items marked using the B<SetRange> (B<'#'>) "
 "key. Certain B<tin> commands will operate on a range if one exists rather "
 "than just the current item. A range is an expression of the form "
-"E<lt>minE<gt>\\(enE<lt>maxE<gt>, e.g. 10\\(en15 will highlight items 10 "
-"through 15 on the current screen. Other than absolute numeric positions, '.' "
-"can be used in place of the current cursor position and '$' can be used to "
-"mean the highest number available. Entering '0' at the prompt undoes the "
+"E<lt>minE<gt>\\(enE<lt>maxE<gt>, e.g., 10\\(en15 will highlight items 10 "
+"through 15 on the current screen. Other than absolute numeric positions, '."
+"\\&' can be used in place of the current cursor position and '$' can beused "
+"to mean the highest number available. Entering '0' at the prompt undoes the "
 "previously entered range selection. Currently the only commands that "
 "understand ranges are B<GroupMarkThdRead> ('B<K>'), B<MarkArtUnread> "
 "('B<z>') and B<MarkThdUnread> ('B<Z>')."
 
 #. type: SS
-#: doc/tin.1:3050
+#: doc/tin.1:3104
 #, no-wrap
 msgid "NEWSGROUP LISTS & WILDCARDS"
 msgstr "NEWSGROUP LISTS & WILDCARDS"
 
 #. type: Plain text
-#: doc/tin.1:3062
+#: doc/tin.1:3116
 msgid ""
 "Several places in B<tin> allow you to specify a list of newsgroups. These "
 "include command-line groups, (un)subscribe groups, the AUTO[UN]SUBSCRIBE "
@@ -8186,8 +8298,8 @@ msgid ""
 "also use the same syntax. B<tin> interprets this variable similarly to B<\\"
 "%rn>(1).  It contains a list of patterns, separated by commas and possibly "
 "prefixed with exclamation points. An exclamation point negates the meaning "
-"of a match on this pattern, and can be used to cancel certain matches. See B<"
-"\\%wildmat>(3)  for details about the understood patterns. Some examples:"
+"of a match on this pattern, and can be used to cancel certain matches. See "
+"B<\\%wildmat>(3)  for details about the understood patterns. Some examples:"
 msgstr ""
 "Several places in B<tin> allow you to specify a list of newsgroups. These "
 "include command-line groups, (un)subscribe groups, the AUTO[UN]SUBSCRIBE "
@@ -8195,23 +8307,23 @@ msgstr ""
 "also use the same syntax. B<tin> interprets this variable similarly to B<\\"
 "%rn>(1).  It contains a list of patterns, separated by commas and possibly "
 "prefixed with exclamation points. An exclamation point negates the meaning "
-"of a match on this pattern, and can be used to cancel certain matches. See B<"
-"\\%wildmat>(3)  for details about the understood patterns. Some examples:"
+"of a match on this pattern, and can be used to cancel certain matches. See "
+"B<\\%wildmat>(3)  for details about the understood patterns. Some examples:"
 
 #. type: Plain text
-#: doc/tin.1:3064
+#: doc/tin.1:3118
 msgid "I<alt.config,news.*,!news.test>"
 msgstr "I<alt.config,news.*,!news.test>"
 
 #. type: Plain text
-#: doc/tin.1:3066
+#: doc/tin.1:3120
 msgid ""
 "Matches alt.config and everything in the 'news' hierarchy except news.test"
 msgstr ""
 "Matches alt.config and everything in the 'news' hierarchy except news.test"
 
 #. type: Plain text
-#: doc/tin.1:3071
+#: doc/tin.1:3125
 msgid ""
 "See the explanation for the $B<AUTOSUBSCRIBE> and $B<AUTOUNSUBSCRIBE> "
 "variables for further examples."
@@ -8220,30 +8332,30 @@ msgstr ""
 "variables for further examples."
 
 #. type: SS
-#: doc/tin.1:3071
+#: doc/tin.1:3125
 #, no-wrap
 msgid "SIGNATURES"
 msgstr "SIGNATURES"
 
 #. type: Plain text
-#: doc/tin.1:3080
+#: doc/tin.1:3134
 msgid ""
 "B<tin> will recognize a signature in either I<${TIN_HOMEDIR:-\"$HOME\"}/."
-"signature> or I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>.  If I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.signature> exists, then the signature will be pulled into the editor "
-"for mail commands only. A signature in I<${TIN_HOMEDIR:-\"$HOME\"}/."
+"signature> or I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>.  If I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.signature> exists, then the signature will be pulled into the "
+"editor for mail commands only. A signature in I<${TIN_HOMEDIR:-\"$HOME\"}/."
 "signature> will not be pulled into the editor for posting commands since B<\\"
 "%inews>(1)  will append the signature itself."
 msgstr ""
 "B<tin> will recognise a signature in either I<${TIN_HOMEDIR:-\"$HOME\"}/."
-"signature> or I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>.  If I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.signature> exists, then the signature will be pulled into the editor "
-"for mail commands only. A signature in I<${TIN_HOMEDIR:-\"$HOME\"}/."
+"signature> or I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>.  If I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.signature> exists, then the signature will be pulled into the "
+"editor for mail commands only. A signature in I<${TIN_HOMEDIR:-\"$HOME\"}/."
 "signature> will not be pulled into the editor for posting commands since B<\\"
 "%inews>(1)  will append the signature itself."
 
 #. type: Plain text
-#: doc/tin.1:3083
+#: doc/tin.1:3137
 msgid ""
 "A signature in I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig> will be pulled into the "
 "editor for both posting and mailing commands."
@@ -8252,22 +8364,22 @@ msgstr ""
 "editor for both posting and mailing commands."
 
 #. type: Plain text
-#: doc/tin.1:3085
+#: doc/tin.1:3139
 msgid "The following is an example of a I<.Sig> file:"
 msgstr "The following is an example of a I<.Sig> file:"
 
 #. type: Plain text
-#: doc/tin.1:3090
+#: doc/tin.1:3144
 #, no-wrap
 msgid ""
-"CW<NAMES  Joe Bar E<lt>joe@example.orgE<gt>\n"
-"SNAIL  Musterweg 12, 99999 Notreal, Germany>\n"
+"\\f(CRNAMES  Joe Bar E<lt>joe@example.orgE<gt>\n"
+"SNAIL  Musterweg 12, 99999 Notreal, Germany\\fR\n"
 msgstr ""
-"CW<NAMES  Joe Bar E<lt>joe@example.orgE<gt>\n"
-"SNAIL  Musterweg 12, 99999 Notreal, Germany>\n"
+"\\f(CRNAMES  Joe Bar E<lt>joe@example.orgE<gt>\n"
+"SNAIL  Musterweg 12, 99999 Notreal, Germany\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:3105
+#: doc/tin.1:3159
 msgid ""
 "B<tin> also has the capability to generate random signatures on a per "
 "newsgroup basis if so desired. The way to accomplish this is to specify the "
@@ -8290,32 +8402,34 @@ msgstr ""
 "sig is read from the file I<$HOME/.sigfixed>."
 
 #. type: SS
-#: doc/tin.1:3105
+#: doc/tin.1:3159
 #, no-wrap
 msgid "CUSTOMIZING THE SCREEN FORMAT"
 msgstr "CUSTOMISING THE SCREEN FORMAT"
 
 #. type: Plain text
-#: doc/tin.1:3110
+#: doc/tin.1:3165
 msgid ""
 "The look of the Selection, Group and Thread level can be customized via "
 "format strings. These format strings define the content and the position of "
 "each element on the screen. Variables are used within the format strings as "
-"placeholders. The following variables are available:"
+"placeholders. If the article has multiple addresses only the first is "
+"evaluated. The following variables are available:"
 msgstr ""
 "The look of the Selection, Group and Thread level can be customised via "
 "format strings. These format strings define the content and the position of "
 "each element on the screen. Variables are used within the format strings as "
-"placeholders. The following variables are available:"
+"placeholders. If the article has multiple addresses only the first is "
+"evaluated. The following variables are available:"
 
 #. type: ta
-#: doc/tin.1:3113
+#: doc/tin.1:3168
 #, no-wrap
 msgid "\\w'%G    'u +\\w'current group/thread/article number'u"
 msgstr "\\w'%G    'u +\\w'current group/thread/article number'u"
 
 #. type: Plain text
-#: doc/tin.1:3130
+#: doc/tin.1:3185
 #, no-wrap
 msgid ""
 "B<%D>\tdate\n"
@@ -8353,7 +8467,7 @@ msgstr ""
 "B<%%>\t%\n"
 
 #. type: Plain text
-#: doc/tin.1:3135
+#: doc/tin.1:3190
 msgid ""
 "Not all variables can be used in each level. The following table provides an "
 "overview:"
@@ -8362,13 +8476,13 @@ msgstr ""
 "overview:"
 
 #. type: ta
-#: doc/tin.1:3138
+#: doc/tin.1:3193
 #, no-wrap
 msgid "\\w'%G        'uC +\\w'B<select_format> 'uC +\\w'B<group_format> 'uC +\\w'B<thread_format>'uC"
 msgstr "\\w'%G        'uC +\\w'B<select_format> 'uC +\\w'B<group_format> 'uC +\\w'B<thread_format>'uC"
 
 #. type: Plain text
-#: doc/tin.1:3156
+#: doc/tin.1:3211
 #, no-wrap
 msgid ""
 "\tB<select_format>\tB<group_format>\tB<thread_format>\n"
@@ -8408,18 +8522,18 @@ msgstr ""
 "B<%%>\tX\tX\tX\n"
 
 #. type: Plain text
-#: doc/tin.1:3160 doc/tin.1:3314
+#: doc/tin.1:3215 doc/tin.1:3379
 msgid "Defaults for the format strings:"
 msgstr "Defaults for the format strings:"
 
 #. type: ta
-#: doc/tin.1:3163
+#: doc/tin.1:3218
 #, no-wrap
 msgid "\\w'select_format  'u +\\w'\"B<%n %m  [%L]  %T  %F>\"'u"
 msgstr "\\w'select_format  'u +\\w'\"B<%n %m  [%L]  %T  %F>\"'u"
 
 #. type: Plain text
-#: doc/tin.1:3167
+#: doc/tin.1:3222
 #, no-wrap
 msgid ""
 "B<select_format>:\t\"B<%f %n %U  %G  %d>\"\n"
@@ -8431,7 +8545,7 @@ msgstr ""
 "B<thread_format>:\t\"B<%n %m  [%L]  %T  %F>\"\n"
 
 #. type: Plain text
-#: doc/tin.1:3173
+#: doc/tin.1:3228
 msgid ""
 "B<show_description> controls whether the newsgroup description is shown or "
 "not. The description can also be toggled with B<SelectToggleDescriptions> "
@@ -8442,7 +8556,7 @@ msgstr ""
 "('B<d>')."
 
 #. type: Plain text
-#: doc/tin.1:3178
+#: doc/tin.1:3233
 msgid ""
 "The information displayed with 'B<%F>' depends on the value of "
 "B<show_author>. B<GroupToggleSubjDisplay> resp.  B<ThreadToggleSubjDisplay> "
@@ -8453,18 +8567,18 @@ msgstr ""
 "('B<d>') switches through all available options."
 
 #. type: Plain text
-#: doc/tin.1:3182
+#: doc/tin.1:3237
 msgid ""
 "For date representation 'B<%D>' uses B<date_format>. It is possible to "
-"specify a different date format in round brackets (e.g. 'B<%(%d %b %y %H:"
+"specify a different date format in round brackets (e.g., 'B<%(%d %b %y %H:"
 "%M)D>'). See B<date_format> for more details."
 msgstr ""
 "For date representation 'B<%D>' uses B<date_format>. It is possible to "
-"specify a different date format in round brackets (e.g. 'B<%(%d %b %y %H:"
+"specify a different date format in round brackets (e.g., 'B<%(%d %b %y %H:"
 "%M)D>'). See B<date_format> for more details."
 
 #. type: Plain text
-#: doc/tin.1:3186
+#: doc/tin.1:3241
 msgid ""
 "The length of each item (except 'B<%%>') can be defined with a positive "
 "number after the 'B<%>'. The following example displays the score in the "
@@ -8475,45 +8589,45 @@ msgstr ""
 "thread level 10 characters wide: 'B<%10S>'."
 
 #. type: Plain text
-#: doc/tin.1:3192
+#: doc/tin.1:3247
 msgid ""
 "If the newsgroup name is displayed together with the newsgroup description, "
 "the width of the newsgroup name can be controlled via an optional comma "
-"separated second value (e.g. 'B<%60,20G>'). It is valid to omit the first "
-"value (e.g. ('B<%,20G>')). If no second value is given, B<tin> uses a "
+"separated second value (e.g., 'B<%60,20G>'). It is valid to omit the first "
+"value (e.g., ('B<%,20G>')). If no second value is given, B<tin> uses a "
 "default value of 32."
 msgstr ""
 "If the newsgroup name is displayed together with the newsgroup description, "
 "the width of the newsgroup name can be controlled via an optional comma "
-"separated second value (e.g. 'B<%60,20G>'). It is valid to omit the first "
-"value (e.g. ('B<%,20G>')). If no second value is given, B<tin> uses a "
+"separated second value (e.g., 'B<%60,20G>'). It is valid to omit the first "
+"value (e.g., ('B<%,20G>')). If no second value is given, B<tin> uses a "
 "default value of 32."
 
 #. type: Plain text
-#: doc/tin.1:3199
+#: doc/tin.1:3254
 msgid ""
 "Some variables do have a default width which may lead to truncation.  "
 "Truncation for variables which contain only numbers happens by dividing the "
 "value with a sufficient power of ten and adding a SI suffix to the result, "
 "that is the variable holds a value of 54321 and the width for the variable "
 "is 4 the result will be \"54 k\". If that's undesired you have to specify a "
-"larger width manually, e.g. 'B<%6n>'. Here is an overview of the defaults:"
+"larger width manually, e.g., 'B<%6n>'. Here is an overview of the defaults:"
 msgstr ""
 "Some variables do have a default width which may lead to truncation.  "
 "Truncation for variables which contain only numbers happens by dividing the "
 "value with a sufficient power of ten and adding a SI suffix to the result, "
 "that is the variable holds a value of 54321 and the width for the variable "
 "is 4 the result will be \"54 k\". If that's undesired you have to specify a "
-"larger width manually, e.g. 'B<%6n>'. Here is an overview of the defaults:"
+"larger width manually, e.g., 'B<%6n>'. Here is an overview of the defaults:"
 
 #. type: ta
-#: doc/tin.1:3202
+#: doc/tin.1:3257
 #, no-wrap
 msgid "\\w'Variable  'u +\\w'width'u"
 msgstr "\\w'Variable  'u +\\w'width'u"
 
 #. type: Plain text
-#: doc/tin.1:3211
+#: doc/tin.1:3266
 #, no-wrap
 msgid ""
 "Variable\twidth\n"
@@ -8535,7 +8649,7 @@ msgstr ""
 "B<%n>\t 4\n"
 
 #. type: Plain text
-#: doc/tin.1:3222
+#: doc/tin.1:3277
 msgid ""
 "If no length is given for 'B<%D>', the length is determined by the format "
 "string for the date and the date of the current day. If the date format "
@@ -8556,7 +8670,7 @@ msgstr ""
 "specify the length in the format string."
 
 #. type: Plain text
-#: doc/tin.1:3226
+#: doc/tin.1:3281
 msgid ""
 "In case the format string contains 'B<%G>' and 'B<%d>' and no length are "
 "given, B<tin> determines the longest newsgroup name and uses this length for "
@@ -8567,52 +8681,71 @@ msgstr ""
 "'B<%G>'. The remaining space will used for 'B<%d>'."
 
 #. type: Plain text
-#: doc/tin.1:3230
-msgid ""
-"When the format string contains the specifier 'B<%F>' and 'B<%s>' resp. 'B<"
-"%T>' and no length are given, 'B<%F>' will use one third and 'B<%s>' resp. "
-"'B<%T>' will use two third of the available space."
-msgstr ""
-"When the format string contains the specifier 'B<%F>' and 'B<%s>' resp. 'B<"
-"%T>' and no length are given, 'B<%F>' will use one third and 'B<%s>' resp. "
-"'B<%T>' will use two third of the available space."
-
-#. type: Plain text
-#: doc/tin.1:3238
+#: doc/tin.1:3285
 msgid ""
-"In addition, a minimum screen width can be defined for each item (except 'B<%"
-"%>'). In this case, the item will only be displayed when the screen is wider "
-"than specified. This comes in handy to not overload a small screen but have "
-"maximum information on a large screen. The minimum screen width has to be "
-"specified by a positive number preceded by an 'B<E<gt>>'. In the following "
-"example B<tin> will display the score only if the screen is wider than 100 "
-"characters: 'B<%E<gt>100S>'."
-msgstr ""
-"In addition, a minimum screen width can be defined for each item (except 'B<%"
-"%>'). In this case, the item will only be displayed when the screen is wider "
-"than specified. This comes in handy to not overload a small screen but have "
-"maximum information on a large screen. The minimum screen width has to be "
-"specified by a positive number preceded by an 'B<E<gt>>'. In the following "
-"example B<tin> will display the score only if the screen is wider than 100 "
-"characters: 'B<%E<gt>100S>'."
+"When the format string contains the specifier 'B<%F>' and 'B<%s>' resp. "
+"'B<%T>' and no length are given, 'B<%F>' will use one third and 'B<%s>' "
+"resp. 'B<%T>' will use two third of the available space."
+msgstr ""
+"When the format string contains the specifier 'B<%F>' and 'B<%s>' resp. "
+"'B<%T>' and no length are given, 'B<%F>' will use one third and 'B<%s>' "
+"resp. 'B<%T>' will use two third of the available space."
+
+#. type: Plain text
+#: doc/tin.1:3295
+msgid ""
+"In addition, a minimum or a maximum screen width can be defined for each "
+"item (except 'B<%%>'). In this case, the item will only be displayed when "
+"the screen is wider resp. smaller than specified. This comes in handy to not "
+"overload a small screen but have maximum information on a large screen. The "
+"minimum screen width has to be specified by a positive number preceded by an "
+"'B<E<gt>>', the maximum screenwidth has to be specified by a positive number "
+"preceded by an 'B<E<lt>>'. In the following example B<tin> will display the "
+"score only if the screen is wider than 100 characters: 'B<%E<gt>100S>'."
+msgstr ""
+"In addition, a minimum or a maximum screen width can be defined for each "
+"item (except 'B<%%>'). In this case, the item will only be displayed when "
+"the screen is wider resp. smaller than specified. This comes in handy to "
+"not overload a small screen but have maximum information on a large screen.  "
+"The minimum screen width has to be specified by a positive number preceded "
+"by an 'B<E<gt>>', the maximum screenwidth has to be specified by a positive "
+"number preceded by an 'B<E<lt>>'. In the following example B<tin> will "
+"display the score only if the screen is wider than 100 characters: "
+"'B<%E<gt>100S>'."
+
+#. type: Plain text
+#: doc/tin.1:3309
+msgid ""
+"If both the length and the minimum or maximum screen width should be "
+"specified for an item, the length must be the first parameter and the "
+"minimum or maximum screen width must be the second one. The following "
+"example displays the score with a length of 10 characters only if the screen "
+"is wider than 100 characters: 'B<%10E<gt>100S>'. A second length can be "
+"specified for 'B<%F>' and 'B<%s>' resp. 'B<%T>', separated by a colon, which "
+"is used if the minimum or maximum screen width is not reached.  If no length "
+"is specified after the colon, the item is displayed even if the minimum "
+"screen width is not reached and the length is calculated as if no minimum "
+"(or maximum) screen width had been specified. In the following example "
+"B<tin> will display the subject with a length of 60 characters if the screen "
+"is wider than 100 characters, otherwise a length of 40 characters is used: "
+"'B<%60E<gt>100:40s>'."
+msgstr ""
+"If both the length and the minimum or maximum screen width should be "
+"specified for an item, the length must be the first parameter and the "
+"minimum or maximum screen width must be the second one. The following "
+"example displays the score with a length of 10 characters only if the screen "
+"is wider than 100 characters: 'B<%10E<gt>100S>'. A second length can be "
+"specified for 'B<%F>' and 'B<%s>' resp.  'B<%T>', separated by a colon, "
+"which is used if the minimum or maximum screen width is not reached. If no "
+"length is specified after the colon, the item is displayed even if the "
+"minimum screen width is not reached and the length is calculated as if no "
+"minimum (or maximum) screen width had been specified. In the following "
+"example B<tin> will display the subject with a length of 60 characters if "
+"the screen is wider than 100 characters, otherwise a length of 40 characters "
+"is used: 'B<%60E<gt>100:40s>'."
 
 #. type: Plain text
-#: doc/tin.1:3244
-msgid ""
-"If both the length and the minimum screen width should be specified for an "
-"item, the length must be the first parameter and the minimum screen width "
-"must be the second one. The following example displays the score with a "
-"length of 10 characters only if the screen is wider than 100 characters: 'B<"
-"%10E<gt>100S>'."
-msgstr ""
-"If both the length and the minimum screen width should be specified for an "
-"item, the length must be the first parameter and the minimum screen width "
-"must be the second one. The following example displays the score with a "
-"length of 10 characters only if the screen is wider than 100 characters: 'B<"
-"%10E<gt>100S>'."
-
-#. type: Plain text
-#: doc/tin.1:3248
+#: doc/tin.1:3313
 msgid ""
 "The look of the Attachment level and the mime and uue header at Page level "
 "can be customized too via format strings.  The following variables are "
@@ -8623,13 +8756,13 @@ msgstr ""
 "available:"
 
 #. type: ta
-#: doc/tin.1:3251
+#: doc/tin.1:3316
 #, no-wrap
 msgid "\\w'%G    'u +\\w'Complete/incomplete UUE part indicator'u"
 msgstr "\\w'%G    'u +\\w'Complete/incomplete UUE part indicator'u"
 
 #. type: Plain text
-#: doc/tin.1:3270
+#: doc/tin.1:3335
 #, no-wrap
 msgid ""
 "B<%C>\tCharset\n"
@@ -8671,7 +8804,7 @@ msgstr ""
 "B<%%>\t%\n"
 
 #. type: Plain text
-#: doc/tin.1:3275
+#: doc/tin.1:3340
 msgid ""
 "Not all items can be used in each variable. The following table provides an "
 "overview:"
@@ -8680,13 +8813,13 @@ msgstr ""
 "overview:"
 
 #. type: ta
-#: doc/tin.1:3278
+#: doc/tin.1:3343
 #, no-wrap
 msgid "\\w'%G   'uC +\\w'B<attachment_format> 'uC +\\w'B<page_mime_format> 'uC +\\w'B<page_uue_format>'uC"
 msgstr "\\w'%G   'uC +\\w'B<attachment_format> 'uC +\\w'B<page_mime_format> 'uC +\\w'B<page_uue_format>'uC"
 
 #. type: Plain text
-#: doc/tin.1:3298
+#: doc/tin.1:3363
 #, no-wrap
 msgid ""
 "\tB<attachment_format>\tB<page_mime_format>\tB<page_uue_format>\n"
@@ -8730,14 +8863,14 @@ msgstr ""
 "B<%%>\tX\tX\tX\n"
 
 #. type: Plain text
-#: doc/tin.1:3312
+#: doc/tin.1:3377
 msgid ""
 "By default, the string is not truncated. If it exceeds the screen width, it "
-"is wrapped. If the % sign is followed by an exclamation mark ('!') for "
+"is wrapped. If the % sign is followed by an exclamation mark ('!\\&') for "
 "uppercase letters, the element is omitted if there is not enough space. If "
 "the % sign is followed by an asterisk ('*') for a lowercase letter, the "
 "description is omitted if there is not enough space. If the % sign is "
-"followed by an exclamation mark ('!') for a lowercase letter, the "
+"followed by an exclamation mark ('!\\&') for a lowercase letter, the "
 "description is omitted first and then the content. The shortening is always "
 "from right to left, first the description is omitted and when no more "
 "description is displayed, the content is omitted. If %T and %S follow each "
@@ -8745,11 +8878,11 @@ msgid ""
 "decimal point and may have a one letter bi-suffix."
 msgstr ""
 "By default, the string is not truncated. If it exceeds the screen width, it "
-"is wrapped. If the % sign is followed by an exclamation mark ('!') for "
+"is wrapped. If the % sign is followed by an exclamation mark ('!\\&') for "
 "uppercase letters, the element is omitted if there is not enough space. If "
 "the % sign is followed by an asterisk ('*') for a lowercase letter, the "
 "description is omitted if there is not enough space. If the % sign is "
-"followed by an exclamation mark ('!') for a lowercase letter, the "
+"followed by an exclamation mark ('!\\&') for a lowercase letter, the "
 "description is omitted first and then the content. The shortening is always "
 "from right to left, first the description is omitted and when no more "
 "description is displayed, the content is omitted. If %T and %S follow each "
@@ -8757,13 +8890,13 @@ msgstr ""
 "decimal point and may have a one letter bi-suffix."
 
 #. type: ta
-#: doc/tin.1:3317
+#: doc/tin.1:3382
 #, no-wrap
 msgid "\\w'attachment_format'u +\\w'\"B<%T%S%E%C%d>\"'u"
 msgstr "\\w'attachment_format'u +\\w'\"B<%T%S%E%C%d>\"'u"
 
 #. type: Plain text
-#: doc/tin.1:3321
+#: doc/tin.1:3386
 #, no-wrap
 msgid ""
 "B<attachment_format>:\t\"B<%T%S%E%C%d>\"\n"
@@ -8775,13 +8908,13 @@ msgstr ""
 "B<page_uue_format>:\t\t\"B<[-- %T%S%*n%I%!d%*e --]>\"\n"
 
 #. type: SS
-#: doc/tin.1:3324
+#: doc/tin.1:3389
 #, no-wrap
 msgid "TIPS AND TRICKS"
 msgstr "TIPS AND TRICKS"
 
 #. type: Plain text
-#: doc/tin.1:3328
+#: doc/tin.1:3393
 msgid ""
 "B<tin> can be pretty much be navigated by using the four cursor keys.  The "
 "left arrow key goes up a level, the right arrow key goes down a level, the "
@@ -8792,14 +8925,14 @@ msgstr ""
 "up arrow key goes up a line and the down arrow key goes down a line."
 
 #. type: Plain text
-#: doc/tin.1:3330
+#: doc/tin.1:3395
 msgid ""
 "The following newsgroups provide useful information concerning news software:"
 msgstr ""
 "The following newsgroups provide useful information concerning news software:"
 
 #. type: Plain text
-#: doc/tin.1:3333
+#: doc/tin.1:3398
 msgid ""
 "\\(emnews.software.readers (info. about news user agents tin, rn, nn, slrn "
 "etc.)"
@@ -8808,12 +8941,12 @@ msgstr ""
 "etc.)"
 
 #. type: Plain text
-#: doc/tin.1:3335
+#: doc/tin.1:3400
 msgid "\\(emnews.software.nntp (info. about NNTP)"
 msgstr "\\(emnews.software.nntp (info. about NNTP)"
 
 #. type: Plain text
-#: doc/tin.1:3337
+#: doc/tin.1:3402
 msgid ""
 "\\(emnews.answers (Frequently Asked Questions (FAQ) about many different "
 "themes)"
@@ -8822,7 +8955,7 @@ msgstr ""
 "themes)"
 
 #. type: Plain text
-#: doc/tin.1:3341
+#: doc/tin.1:3406
 msgid ""
 "Many prompts within B<tin> offer a default choice that the cursor is "
 "positioned on. By pressing 'B<E<lt>CRE<gt>>' the default value is taken.  "
@@ -8833,7 +8966,7 @@ msgstr ""
 "Most prompts can be aborted by pressing 'B<E<lt>ESCE<gt>>'."
 
 #. type: Plain text
-#: doc/tin.1:3348
+#: doc/tin.1:3413
 msgid ""
 "When B<tin> is run in an B<\\%xterm>(1x)  it will resize itself each time "
 "the B<\\%xterm>(1x)  is resized."
@@ -8842,7 +8975,7 @@ msgstr ""
 "the B<\\%xterm>(1x)  is resized."
 
 #. type: Plain text
-#: doc/tin.1:3352
+#: doc/tin.1:3417
 msgid ""
 "B<tin> will reread the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-"
 "active}> file at set intervals (B<reread_active_file_secs>) to show any "
@@ -8853,7 +8986,7 @@ msgstr ""
 "newly arrived news."
 
 #. type: Plain text
-#: doc/tin.1:3357
+#: doc/tin.1:3422
 msgid ""
 "If you find large number of new newsgroups cluttering up your screen, "
 "pressing B<SelectToggleReadDisplay> ('B<r>') will make them go away."
@@ -8862,13 +8995,13 @@ msgstr ""
 "pressing B<SelectToggleReadDisplay> ('B<r>') will make them go away."
 
 #. type: SS
-#: doc/tin.1:3357
+#: doc/tin.1:3422
 #, no-wrap
 msgid "XTERM BUTTONS"
 msgstr "XTERM BUTTONS"
 
 #. type: Plain text
-#: doc/tin.1:3363
+#: doc/tin.1:3428
 msgid ""
 "If the environment variable B<$TERM> is set to B<\\%xterm>(1x), then button "
 "pressing can be used to select groups and articles. In this discussion, the "
@@ -8881,31 +9014,31 @@ msgstr ""
 "button)."
 
 #. type: Plain text
-#: doc/tin.1:3365
+#: doc/tin.1:3430
 msgid "In general (i.e., for the group, thread and article menus),"
 msgstr "In general (i.e., for the group, thread and article menus),"
 
 #. type: TP
-#: doc/tin.1:3365
+#: doc/tin.1:3430
 #, no-wrap
 msgid "Button1 (left)"
 msgstr "Button1 (left)"
 
 #. type: Plain text
-#: doc/tin.1:3368
+#: doc/tin.1:3433
 msgid ""
 "enters next (lower) level if you click on an article, otherwise pages down."
 msgstr ""
 "enters next (lower) level if you click on an article, otherwise pages down."
 
 #. type: TP
-#: doc/tin.1:3368
+#: doc/tin.1:3433
 #, no-wrap
 msgid "Button2 (center)"
 msgstr "Button2 (centre)"
 
 #. type: Plain text
-#: doc/tin.1:3372
+#: doc/tin.1:3437
 msgid ""
 "returns to the previous (upper) level if you click on an article, otherwise "
 "pages up."
@@ -8914,13 +9047,13 @@ msgstr ""
 "pages up."
 
 #. type: TP
-#: doc/tin.1:3372
+#: doc/tin.1:3437
 #, no-wrap
 msgid "Button3 (right)"
 msgstr "Button3 (right)"
 
 #. type: Plain text
-#: doc/tin.1:3376
+#: doc/tin.1:3441
 msgid ""
 "positions on the article line under mouse cursor, or pages down if you've "
 "clicked outside the list of articles."
@@ -8929,18 +9062,18 @@ msgstr ""
 "clicked outside the list of articles."
 
 #. type: Plain text
-#: doc/tin.1:3378
+#: doc/tin.1:3443
 msgid "In the group selection menu, if the mouse is pointing at a group then:"
 msgstr "In the group selection menu, if the mouse is pointing at a group then:"
 
 #. type: TP
-#: doc/tin.1:3378 doc/tin.1:3390 doc/tin.1:3404
+#: doc/tin.1:3443 doc/tin.1:3455 doc/tin.1:3469
 #, no-wrap
 msgid "left button"
 msgstr "left button"
 
 #. type: Plain text
-#: doc/tin.1:3382
+#: doc/tin.1:3447
 msgid ""
 "moves to and selects the group pointed at, just like B<SelectReadGrp> "
 "('B<E<lt>CRE<gt>>')."
@@ -8949,36 +9082,36 @@ msgstr ""
 "('B<E<lt>CRE<gt>>')."
 
 #. type: TP
-#: doc/tin.1:3382 doc/tin.1:3394 doc/tin.1:3407
+#: doc/tin.1:3447 doc/tin.1:3459 doc/tin.1:3472
 #, no-wrap
 msgid "center button"
 msgstr "centre button"
 
 #. type: Plain text
-#: doc/tin.1:3385
+#: doc/tin.1:3450
 msgid "quits the program, just like B<Quit> ('B<q>')."
 msgstr "quits the program, just like B<Quit> ('B<q>')."
 
 #. type: TP
-#: doc/tin.1:3385 doc/tin.1:3399 doc/tin.1:3412
+#: doc/tin.1:3450 doc/tin.1:3464 doc/tin.1:3477
 #, no-wrap
 msgid "right button"
 msgstr "right button"
 
 #. type: Plain text
-#: doc/tin.1:3388
+#: doc/tin.1:3453
 msgid "moves to the group pointed at."
 msgstr "moves to the group pointed at."
 
 #. type: Plain text
-#: doc/tin.1:3390
+#: doc/tin.1:3455
 msgid ""
 "In the article menu, if the mouse is pointing at an article (or thread) then:"
 msgstr ""
 "In the article menu, if the mouse is pointing at an article (or thread) then:"
 
 #. type: Plain text
-#: doc/tin.1:3394
+#: doc/tin.1:3459
 msgid ""
 "reads the article pointed at, just like B<GroupReadBasenote> "
 "('B<E<lt>CRE<gt>>'), or the thread, just like B<GroupListThd> ('B<l>')."
@@ -8987,7 +9120,7 @@ msgstr ""
 "('B<E<lt>CRE<gt>>'), or the thread, just like B<GroupListThd> ('B<l>')."
 
 #. type: Plain text
-#: doc/tin.1:3399
+#: doc/tin.1:3464
 msgid ""
 "exits the menu, catching up on the group if you have "
 "B<group_catchup_on_exit> set in your configuration, just like B<Quit> "
@@ -8998,24 +9131,24 @@ msgstr ""
 "('B<q>')."
 
 #. type: Plain text
-#: doc/tin.1:3402
+#: doc/tin.1:3467
 msgid "moves to the article (or thread) pointed at."
 msgstr "moves to the article (or thread) pointed at."
 
 #. type: Plain text
-#: doc/tin.1:3404
+#: doc/tin.1:3469
 msgid "In the thread menu, if the mouse is pointing at an article then:"
 msgstr "In the thread menu, if the mouse is pointing at an article then:"
 
 #. type: Plain text
-#: doc/tin.1:3407
+#: doc/tin.1:3472
 msgid ""
 "reads article pointed at, just like B<ThreadReadArt> ('B<E<lt>CRE<gt>>')."
 msgstr ""
 "reads article pointed at, just like B<ThreadReadArt> ('B<E<lt>CRE<gt>>')."
 
 #. type: Plain text
-#: doc/tin.1:3412
+#: doc/tin.1:3477
 msgid ""
 "exits the menu, catching up on the thread if you have "
 "B<thread_catchup_on_exit> set in your configuration, just like B<Quit> "
@@ -9026,12 +9159,12 @@ msgstr ""
 "('B<q>')."
 
 #. type: Plain text
-#: doc/tin.1:3415
+#: doc/tin.1:3480
 msgid "moves to the article pointed at."
 msgstr "moves to the article pointed at."
 
 #. type: Plain text
-#: doc/tin.1:3422
+#: doc/tin.1:3487
 msgid ""
 "In other menus and areas button pressing reverts back to usual cut and paste "
 "of B<\\%xterm>(1x), but after one click of any button."
@@ -9040,13 +9173,13 @@ msgstr ""
 "of B<\\%xterm>(1x), but after one click of any button."
 
 #. type: SS
-#: doc/tin.1:3422
+#: doc/tin.1:3487
 #, no-wrap
 msgid "INDEX FILES"
 msgstr "INDEX FILES"
 
 #. type: Plain text
-#: doc/tin.1:3427
+#: doc/tin.1:3492
 msgid ""
 "If your news server supports NOV index files (see B<\\%newsoverview>(5), "
 "most modern installations will) and you have a fast connection to your news "
@@ -9057,41 +9190,43 @@ msgstr ""
 "server then this section can be ignored."
 
 #. type: Plain text
-#: doc/tin.1:3433
+#: doc/tin.1:3499
 msgid ""
 "If your news server doesn't support NOV index files or you have a very slow "
 "connection to your news server then B<tin> can cache the index for each "
 "newsgroup if B<cache_overview_files> is set to ON.  Note that this cache can "
 "use up large amounts of disk space if you read a lot of groups and/or high "
-"traffic groups."
+"traffic groups. To reduce the amount of disk space used, "
+"B<compress_overview_files> can be set to ON."
 msgstr ""
 "If your news server doesn't support NOV index files or you have a very slow "
 "connection to your news server then B<tin> can cache the index for each "
 "newsgroup if B<cache_overview_files> is set to ON.  Note that this cache can "
 "use up large amounts of disk space if you read a lot of groups and/or high "
-"traffic groups."
+"traffic groups. To reduce the amount of disk space used, "
+"B<compress_overview_files> can be set to ON."
 
 #. type: Plain text
-#: doc/tin.1:3442
+#: doc/tin.1:3508
 msgid ""
-"Each user creates/updates his/her own index files that are stored in I<"
-"${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news/>. If you are "
-"reading via NNTP then the news server name will be appended to keep the "
+"Each user creates/updates his/her own index files that are stored in "
+"I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news/>. If you "
+"are reading via NNTP then the news server name will be appended to keep the "
 "indexes for different servers separate. If you are reading off the local "
 "spool and local overview files already exist then turning on caching will "
 "have no effect. Likewise unless you see significant delays entering a group "
 "when reading via NNTP then turning on caching will have little or no effect."
 msgstr ""
-"Each user creates/updates his/her own index files that are stored in I<"
-"${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news/>. If you are "
-"reading via NNTP then the news server name will be appended to keep the "
+"Each user creates/updates his/her own index files that are stored in "
+"I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news/>. If you "
+"are reading via NNTP then the news server name will be appended to keep the "
 "indexes for different servers separate. If you are reading off the local "
 "spool and local overview files already exist then turning on caching will "
 "have no effect. Likewise unless you see significant delays entering a group "
 "when reading via NNTP then turning on caching will have little or no effect."
 
 #. type: Plain text
-#: doc/tin.1:3449
+#: doc/tin.1:3515
 msgid ""
 "Entering a group the first time tends to be slow because the index file must "
 "be built from scratch. To alleviate the slowness start B<tin> to create all "
@@ -9108,7 +9243,7 @@ msgstr ""
 "need to be cached."
 
 #. type: Plain text
-#: doc/tin.1:3454
+#: doc/tin.1:3520
 msgid ""
 "As indexing might take some time you may want to run B<tin> from the system "
 "batcher B<\\%cron>(8)  with the ''B<-u>'' option:"
@@ -9117,13 +9252,13 @@ msgstr ""
 "batcher B<\\%cron>(8)  with the ''B<-u>'' option:"
 
 #. type: Plain text
-#: doc/tin.1:3459
+#: doc/tin.1:3525
 #, no-wrap
-msgid "CW<30 6 * * * /usr/local/bin/tin -u>\n"
-msgstr "CW<30 6 * * * /usr/local/bin/tin -u>\n"
+msgid "\\f(CR30 6 * * * /usr/local/bin/tin -u\\fR\n"
+msgstr "\\f(CR30 6 * * * /usr/local/bin/tin -u\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:3465
+#: doc/tin.1:3531
 msgid ""
 "If you are low on local disk space you should consider to manually purge "
 "cached data for groups you are not reading anymore with something like:"
@@ -9132,17 +9267,17 @@ msgstr ""
 "cached data for groups you are not reading anymore with something like:"
 
 #. type: Plain text
-#: doc/tin.1:3471
+#: doc/tin.1:3537
 #, no-wrap
 msgid ""
-"CW<find ${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news* \\e\n"
-"-type f -name \"[0-9]*.[0-9]\" -atime +28 | xargs rm -f>\n"
+"\\f(CRfind ${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news* \\e\n"
+"-type f -name \"[0-9]*.[0-9]\" -atime +28 | xargs rm -f\\fR\n"
 msgstr ""
-"CW<find ${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news* \\e\n"
-"-type f -name \"[0-9]*.[0-9]\" -atime +28 | xargs rm -f>\n"
+"\\f(CRffind ${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news* \\e\n"
+"-type f -name \"[0-9]*.[0-9]\" -atime +28 | xargs rm -f\\fR\n"
 
 #. type: SH
-#: doc/tin.1:3476 doc/tin.1:3477 doc/tin.5:21
+#: doc/tin.1:3542 doc/tin.5:21
 #, no-wrap
 msgid "FILES"
 msgstr "FILES"
@@ -9162,8 +9297,9 @@ msgstr "FILES"
 #.        $TMPDIR/SCOPES-R   (-D 32)
 #.        $TMPDIR/SCOPES-W   (-D 32)
 #.        $TMPDIR/ACTIVE     (-D 64)
+#.        $TMPDIR/GNKSA      (-D 64)
 #. type: Plain text
-#: doc/tin.1:3495
+#: doc/tin.1:3561
 msgid "For a detailed description see B<\\%tin>(5)."
 msgstr "For a detailed description see B<\\%tin>(5)."
 
@@ -9187,119 +9323,119 @@ msgstr "For a detailed description see B
 #.  $TMPDIR/SCOPES-W   (-D 32)
 #.  $TMPDIR/ACTIVE     (-D 64)
 #. type: Plain text
-#: doc/tin.1:3497 doc/tin.5:42
+#: doc/tin.1:3563 doc/tin.5:42
 msgid "I<$MAILCAPS>"
 msgstr "I<$MAILCAPS>"
 
 #. type: Plain text
-#: doc/tin.1:3499 doc/tin.5:44
+#: doc/tin.1:3565 doc/tin.5:44
 msgid "I<~/.mailcap>"
 msgstr "I<~/.mailcap>"
 
 #. type: Plain text
-#: doc/tin.1:3501 doc/tin.5:46
+#: doc/tin.1:3567 doc/tin.5:46
 msgid "I</etc/mailcap>"
 msgstr "I</etc/mailcap>"
 
 #. type: Plain text
-#: doc/tin.1:3503 doc/tin.5:48
+#: doc/tin.1:3569 doc/tin.5:48
 msgid "I</usr/etc/mailcap>"
 msgstr "I</usr/etc/mailcap>"
 
 #. type: Plain text
-#: doc/tin.1:3505 doc/tin.5:50
+#: doc/tin.1:3571 doc/tin.5:50
 msgid "I</usr/local/etc/mailcap>"
 msgstr "I</usr/local/etc/mailcap>"
 
 #. type: Plain text
-#: doc/tin.1:3507 doc/tin.5:52
+#: doc/tin.1:3573 doc/tin.5:52
 msgid "I</etc/mail/mailcap>"
 msgstr "I</etc/mail/mailcap>"
 
 #. type: Plain text
-#: doc/tin.1:3510 doc/tin.5:221
+#: doc/tin.1:3576 doc/tin.5:221
 msgid "I</etc/nntpserver>"
 msgstr "I</etc/nntpserver>"
 
 #. type: Plain text
-#: doc/tin.1:3513 doc/tin.5:231
+#: doc/tin.1:3579 doc/tin.5:231
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.cancelsecret>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.cancelsecret>"
 
 #. type: Plain text
-#: doc/tin.1:3516 doc/tin.5:241
+#: doc/tin.1:3582 doc/tin.5:241
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.mime.types>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.mime.types>"
 
 #. type: Plain text
-#: doc/tin.1:3518 doc/tin.5:243
+#: doc/tin.1:3584 doc/tin.5:243
 msgid "I</etc/mime.types>"
 msgstr "I</etc/mime.types>"
 
 #. type: Plain text
-#: doc/tin.1:3520 doc/tin.5:245
+#: doc/tin.1:3586 doc/tin.5:245
 msgid "I</etc/tin/mime.types>"
 msgstr "I</etc/tin/mime.types>"
 
 #. type: Plain text
-#: doc/tin.1:3523 doc/tin.5:252
+#: doc/tin.1:3589 doc/tin.5:252
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsauth>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsauth>"
 
 #. type: Plain text
-#: doc/tin.1:3526 doc/tin.5:287
+#: doc/tin.1:3592 doc/tin.5:287
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>"
 
 #. type: Plain text
-#: doc/tin.1:3530 doc/tin.5:318
+#: doc/tin.1:3596 doc/tin.5:318
 #, no-wrap
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/.oldnewsrc>\n"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/.oldnewsrc>\n"
 
 #. type: Plain text
-#: doc/tin.1:3534 doc/tin.5:326
+#: doc/tin.1:3600 doc/tin.5:326
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.signature>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.signature>"
 
 #. type: Plain text
-#: doc/tin.1:3536 doc/tin.5:328
+#: doc/tin.1:3602 doc/tin.5:328
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>"
 
 #. type: Plain text
-#: doc/tin.1:3539 doc/tin.5:335
+#: doc/tin.1:3605 doc/tin.5:335
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.sigfixed>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.sigfixed>"
 
 #. type: Plain text
-#: doc/tin.1:3542 doc/tin.5:342
+#: doc/tin.1:3608 doc/tin.5:342
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/.inputhistory>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/.inputhistory>"
 
 #. type: Plain text
-#: doc/tin.1:3545 doc/tin.5:349
+#: doc/tin.1:3611 doc/tin.5:349
 msgid "I<${TIN_INDEX_MAILDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.mail/>"
 msgstr "I<${TIN_INDEX_MAILDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.mail/>"
 
 #. type: Plain text
-#: doc/tin.1:3549 doc/tin.5:357
+#: doc/tin.1:3615 doc/tin.5:357
 #, no-wrap
 msgid "I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news${NNTPSERVER:+\"-$NNTPSERVER\"}/>\n"
 msgstr "I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news${NNTPSERVER:+\"-$NNTPSERVER\"}/>\n"
 
 #. type: Plain text
-#: doc/tin.1:3553 doc/tin.5:365
+#: doc/tin.1:3619 doc/tin.5:365
 msgid "I<${TIN_INDEX_SAVEDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.save/>"
 msgstr "I<${TIN_INDEX_SAVEDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.save/>"
 
 #. type: Plain text
-#: doc/tin.1:3556 doc/tin.5:372
+#: doc/tin.1:3622 doc/tin.5:372
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/active.mail>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/active.mail>"
 
 #. type: Plain text
-#: doc/tin.1:3559 doc/tin.5:407
+#: doc/tin.1:3625 doc/tin.5:407
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/active.save>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/active.save>"
 
@@ -9308,97 +9444,103 @@ msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin
 #.  we should think about checking for the new Paths (/news/etc/)
 #.  ${TIN_LIBDIR\-/news/etc"}/attributes
 #. type: Plain text
-#: doc/tin.1:3563 doc/tin.5:418
+#: doc/tin.1:3629 doc/tin.5:418
 msgid "I</etc/tin/attributes>"
 msgstr "I</etc/tin/attributes>"
 
 #. type: Plain text
-#: doc/tin.1:3565 doc/tin.5:420
+#: doc/tin.1:3631 doc/tin.5:420
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes>"
 
 #.  TODO: add missing descriptions and explain things in detail.
 #. type: Plain text
-#: doc/tin.1:3568 doc/tin.5:755
+#: doc/tin.1:3634 doc/tin.5:772
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/filter>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/filter>"
 
 #. type: Plain text
-#: doc/tin.1:3572 doc/tin.5:898
+#: doc/tin.1:3638 doc/tin.5:915
 #, no-wrap
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/keymap${${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}:+\".${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}\"}>\n"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/keymap${${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}:+\".${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}\"}>\n"
 
 #. type: Plain text
-#: doc/tin.1:3574 doc/tin.5:900
+#: doc/tin.1:3640 doc/tin.5:917
 #, no-wrap
 msgid "I</etc/tin/keymap${${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}:+\".${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}\"}>\n"
 msgstr "I</etc/tin/keymap${${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}:+\".${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}\"}>\n"
 
 #. type: Plain text
-#: doc/tin.1:3578 doc/tin.5:1145
+#: doc/tin.1:3644 doc/tin.5:1163
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/mailgroups>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/mailgroups>"
 
 #. type: Plain text
-#: doc/tin.1:3581 doc/tin.5:1161
+#: doc/tin.1:3647 doc/tin.5:1179
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable>"
 
 #. type: Plain text
-#: doc/tin.1:3584 doc/tin.5:1193
+#: doc/tin.1:3650 doc/tin.5:1224
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/posted>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/posted>"
 
 #. type: Plain text
-#: doc/tin.1:3587 doc/tin.5:1208
+#: doc/tin.1:3653 doc/tin.5:1239
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/Mail/posted>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/Mail/posted>"
 
 #. type: Plain text
-#: doc/tin.1:3590 doc/tin.5:1218
+#: doc/tin.1:3656 doc/tin.5:1249
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/postponed.articles>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/postponed.articles>"
 
 #. type: Plain text
-#: doc/tin.1:3594 doc/tin.5:1228
+#: doc/tin.1:3660 doc/tin.5:1259
+#, no-wrap
+msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/motd>\n"
+msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/motd>\n"
+
+#. type: Plain text
+#: doc/tin.1:3665 doc/tin.5:1270
+#, no-wrap
+msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/msglog>\n"
+msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/msglog>\n"
+
+#. type: Plain text
+#: doc/tin.1:3670 doc/tin.5:1280
 #, no-wrap
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/newsgroups>\n"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/newsgroups>\n"
 
 #. type: Plain text
-#: doc/tin.1:3599 doc/tin.5:1247
+#: doc/tin.1:3675 doc/tin.5:1299
 #, no-wrap
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/serverrc>\n"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/serverrc>\n"
 
-#. type: Plain text
-#: doc/tin.1:3604 doc/tin.5:1267
-#, no-wrap
-msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/msglog>\n"
-msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/msglog>\n"
-
 #.  tin uses inns old (pre 2.x) Path convention.
 #.  as with inn >= 2.2.x getting more and more popular
 #.  we should think about checking for the new Paths (/news/etc/)
 #.  .IR ${TIN_LIBDIR\-"/news/etc"}/tinrc
 #. type: Plain text
-#: doc/tin.1:3609 doc/tin.5:1280
+#: doc/tin.1:3680 doc/tin.5:1326
 msgid "I</etc/tin/tinrc>"
 msgstr "I</etc/tin/tinrc>"
 
 #. type: Plain text
-#: doc/tin.1:3611 doc/tin.5:1282
+#: doc/tin.1:3682 doc/tin.5:1328
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc>"
 
 #. type: Plain text
-#: doc/tin.1:3614 doc/tin.5:2562
+#: doc/tin.1:3685 doc/tin.5:2629
 msgid "I</etc/tin/tin.defaults>"
 msgstr "I</etc/tin/tin.defaults>"
 
 #. type: Plain text
-#: doc/tin.1:3617
+#: doc/tin.1:3688
 msgid "I</usr/local/share/locale/${LC_MESSAGES}/LC_MESSAGES/tin.mo>"
 msgstr "I</usr/local/share/locale/${LC_MESSAGES}/LC_MESSAGES/tin.mo>"
 
@@ -9407,51 +9549,51 @@ msgstr "I</usr/local/share/locale/${LC_M
 #.  we should think about checking for the new Paths
 #.  (described shown below).
 #. type: Plain text
-#: doc/tin.1:3620 doc/tin.5:2672
+#: doc/tin.1:3691 doc/tin.5:2739
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}>"
 
 #. type: Plain text
-#: doc/tin.1:3623 doc/tin.5:2733
+#: doc/tin.1:3694 doc/tin.5:2800
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/active.times>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}/active.times>"
 
 #. type: Plain text
-#: doc/tin.1:3626 doc/tin.5:2760
+#: doc/tin.1:3697 doc/tin.5:2827
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/newsgroups>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}/newsgroups>"
 
 #. type: Plain text
-#: doc/tin.1:3629 doc/tin.5:2783
+#: doc/tin.1:3700 doc/tin.5:2850
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/organization>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}/organization>"
 
 #.  is the Path correct? or is it /news/etc/overview.fmt
 #. type: Plain text
-#: doc/tin.1:3632 doc/tin.5:2793
+#: doc/tin.1:3703 doc/tin.5:2860
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/overview.fmt>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}/overview.fmt>"
 
 #.  is the Path correct? or is it /news/etc/subscriptions
 #. type: Plain text
-#: doc/tin.1:3637 doc/tin.5:2811
+#: doc/tin.1:3708 doc/tin.5:2878
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/subscriptions>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}/subscriptions>"
 
-#. type: IX
-#: doc/tin.1:3637 doc/tin.1:3638
+#. type: SH
+#: doc/tin.1:3708
 #, no-wrap
 msgid "ENVIRONMENT"
 msgstr "ENVIRONMENT"
 
 #. type: TP
-#: doc/tin.1:3642
+#: doc/tin.1:3712
 #, no-wrap
 msgid "B<TINRC>"
 msgstr "B<TINRC>"
 
 #. type: Plain text
-#: doc/tin.1:3650
+#: doc/tin.1:3720
 msgid ""
 "Define this variable if you want to specify command-line options that B<tin> "
 "should be started with to save typing them each time it is started. The "
@@ -9466,13 +9608,13 @@ msgstr ""
 "the command-line to override the same option specified in the environment."
 
 #. type: TP
-#: doc/tin.1:3650
+#: doc/tin.1:3720
 #, no-wrap
 msgid "B<TIN_HOMEDIR>"
 msgstr "B<TIN_HOMEDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3655
+#: doc/tin.1:3725
 msgid ""
 "Define this variable if you do not want the I<.tin> directory in I<$HOME/>. "
 "E.g., if you want all B<tin>'s private files in I</tmp/.tin> you would set "
@@ -9483,64 +9625,64 @@ msgstr ""
 "$B<TIN_HOMEDIR> to I</tmp>."
 
 #. type: TP
-#: doc/tin.1:3655
+#: doc/tin.1:3725
 #, no-wrap
 msgid "B<TIN_INDEX_NEWSDIR>"
 msgstr "B<TIN_INDEX_NEWSDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3661
+#: doc/tin.1:3731
 msgid ""
-"Define this variable if you do not want the I<.news> directory in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s news index "
-"files in I</tmp/.news> you would set $B<TIN_INDEX_NEWSDIR> to I</tmp>."
+"Define this variable if you do not want the I<.news> directory in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s news "
+"index files in I</tmp/.news> you would set $B<TIN_INDEX_NEWSDIR> to I</tmp>."
 msgstr ""
-"Define this variable if you do not want the I<.news> directory in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s news index "
-"files in I</tmp/.news> you would set $B<TIN_INDEX_NEWSDIR> to I</tmp>."
+"Define this variable if you do not want the I<.news> directory in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s news "
+"index files in I</tmp/.news> you would set $B<TIN_INDEX_NEWSDIR> to I</tmp>."
 
 #. type: TP
-#: doc/tin.1:3661
+#: doc/tin.1:3731
 #, no-wrap
 msgid "B<TIN_INDEX_MAILDIR>"
 msgstr "B<TIN_INDEX_MAILDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3667
+#: doc/tin.1:3737
 msgid ""
-"Define this variable if you do not want the I<.mail> directory in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s mail index "
-"files in I</tmp/.mail> you would set $B<TIN_INDEX_MAILDIR> to I</tmp>."
-msgstr ""
-"Define this variable if you do not want the I<.mail> directory in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s mail index "
-"files in I</tmp/.mail> you would set $B<TIN_INDEX_MAILDIR> to I</tmp>."
+"Define this variable if you do not want the I<.mail> directory in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s mail "
+"index files in I</tmp/.mail> you would set $B<TIN_INDEX_MAILDIR> to I</tmp>."
+msgstr ""
+"Define this variable if you do not want the I<.mail> directory in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s mail "
+"index files in I</tmp/.mail> you would set $B<TIN_INDEX_MAILDIR> to I</tmp>."
 
 #. type: TP
-#: doc/tin.1:3667
+#: doc/tin.1:3737
 #, no-wrap
 msgid "B<TIN_INDEX_SAVEDIR>"
 msgstr "B<TIN_INDEX_SAVEDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3673
+#: doc/tin.1:3743
 msgid ""
-"Define this variable if you do not want the I<.save> directory in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s save index "
-"files in I</tmp/.save> you would set $B<TIN_INDEX_SAVEDIR> to I</tmp>."
-msgstr ""
-"Define this variable if you do not want the I<.save> directory in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s save index "
-"files in I</tmp/.save> you would set $B<TIN_INDEX_SAVEDIR> to I</tmp>."
+"Define this variable if you do not want the I<.save> directory in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s save "
+"index files in I</tmp/.save> you would set $B<TIN_INDEX_SAVEDIR> to I</tmp>."
+msgstr ""
+"Define this variable if you do not want the I<.save> directory in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s save "
+"index files in I</tmp/.save> you would set $B<TIN_INDEX_SAVEDIR> to I</tmp>."
 
 #. type: TP
-#: doc/tin.1:3673
+#: doc/tin.1:3743
 #, no-wrap
 msgid "B<TIN_LIBDIR>"
 msgstr "B<TIN_LIBDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3678
+#: doc/tin.1:3748
 msgid ""
 "Define this variable if you want to override the B<NEWSLIBDIR> path that was "
 "compiled into the B<tin> binary, default is I</usr/lib/news>.  If B<tin> is "
@@ -9551,13 +9693,13 @@ msgstr ""
 "running in NNTP mode setting this variable has no effect."
 
 #. type: TP
-#: doc/tin.1:3678
+#: doc/tin.1:3748
 #, no-wrap
 msgid "B<TIN_SPOOLDIR>"
 msgstr "B<TIN_SPOOLDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3683
+#: doc/tin.1:3753
 msgid ""
 "Define this variable if you want to override the B<SPOOLDIR> path that was "
 "compiled into the B<tin> binary, default is I</var/spool/news>.  If B<tin> "
@@ -9568,13 +9710,13 @@ msgstr ""
 "is running in NNTP mode setting this variable has no effect."
 
 #. type: TP
-#: doc/tin.1:3683
+#: doc/tin.1:3753
 #, no-wrap
 msgid "B<TIN_NOVROOTDIR>"
 msgstr "B<TIN_NOVROOTDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3689
+#: doc/tin.1:3759
 msgid ""
 "Define this variable if you want to override the B<NOVROOTDIR> path that was "
 "compiled into the B<tin> binary, default is B<SPOOLDIR> (see above). If "
@@ -9585,13 +9727,13 @@ msgstr ""
 "B<tin> is running in NNTP mode setting this variable has no effect."
 
 #. type: TP
-#: doc/tin.1:3689
+#: doc/tin.1:3759
 #, no-wrap
 msgid "B<TIN_NOVFILENAME>"
 msgstr "B<TIN_NOVFILENAME>"
 
 #. type: Plain text
-#: doc/tin.1:3695
+#: doc/tin.1:3765
 msgid ""
 "Define this variable if you want to override the B<OVERVIEW_FILE> filename "
 "that was compiled into the B<tin> binary, default is I<.overview>. If B<tin> "
@@ -9602,13 +9744,13 @@ msgstr ""
 "is running in NNTP mode setting this variable has no effect."
 
 #. type: TP
-#: doc/tin.1:3695
+#: doc/tin.1:3765
 #, no-wrap
 msgid "B<TIN_ACTIVEFILE>"
 msgstr "B<TIN_ACTIVEFILE>"
 
 #. type: Plain text
-#: doc/tin.1:3701
+#: doc/tin.1:3771
 msgid ""
 "Define this variable if you want to override the B<NEWSLIBDIR/active> path "
 "that was compiled into the B<tin> binary. If B<tin> is running in NNTP mode "
@@ -9621,13 +9763,13 @@ msgstr ""
 "to $B<TIN_ACTIVEFILE>."
 
 #. type: TP
-#: doc/tin.1:3701
+#: doc/tin.1:3771
 #, no-wrap
 msgid "B<NNTPSERVER>"
 msgstr "B<NNTPSERVER>"
 
 #. type: Plain text
-#: doc/tin.1:3707
+#: doc/tin.1:3777
 msgid ""
 "The default NNTP server to remotely read news from. This variable only needs "
 "to be set if the ''B<-r>'' command-line option is specified and the file I</"
@@ -9640,30 +9782,47 @@ msgstr ""
 "$B<NNTPSERVER>."
 
 #. type: TP
-#: doc/tin.1:3707
+#: doc/tin.1:3777
 #, no-wrap
 msgid "B<NNTPPORT>"
 msgstr "B<NNTPPORT>"
 
 #. type: Plain text
-#: doc/tin.1:3712
+#: doc/tin.1:3782
 msgid ""
 "The NNTP TCP-port to read news from. This variable only needs to be set if "
-"the TCP-port is not 119 (the default). The ''B<-p>'' and ''B<-T>'' command-"
-"line options do override $B<NNTPPORT>."
+"the TCP-port is not 119 (the default). The ''B<-p>'' command-line option "
+"does override $B<NNTPPORT>."
 msgstr ""
 "The NNTP TCP-port to read news from. This variable only needs to be set if "
-"the TCP-port is not 119 (the default). The ''B<-p>'' and ''B<-T>'' command-"
-"line options do override $B<NNTPPORT>."
+"the TCP-port is not 119 (the default). The ''B<-p>'' command-line option "
+"does override $B<NNTPPORT>."
 
 #. type: TP
-#: doc/tin.1:3712
+#: doc/tin.1:3782
+#, no-wrap
+msgid "B<NNTPSPORT>"
+msgstr "B<NNTPSPORT>"
+
+#. type: Plain text
+#: doc/tin.1:3787
+msgid ""
+"The NNTPS TCP-port to read news from. This variable only needs to be set if "
+"the TCP-port is not 563 (the default). The ''B<-p>'' and ''B<-T>'' command-"
+"line options do override $B<NNTPSPORT>."
+msgstr ""
+"The NNTPS TCP-port to read news from. This variable only needs to be set if "
+"the TCP-port is not 563 (the default). The ''B<-p>'' and ''B<-T>'' command-"
+"line options do override $B<NNTPSPORT>."
+
+#. type: TP
+#: doc/tin.1:3787
 #, no-wrap
 msgid "B<DISTRIBUTION>"
 msgstr "B<DISTRIBUTION>"
 
 #. type: Plain text
-#: doc/tin.1:3716
+#: doc/tin.1:3791
 msgid ""
 "Set the article header field ''Distribution:'' to the contents of the "
 "variable instead of the system default."
@@ -9672,13 +9831,13 @@ msgstr ""
 "variable instead of the system default."
 
 #. type: TP
-#: doc/tin.1:3716
+#: doc/tin.1:3791
 #, no-wrap
 msgid "B<ISO2ASC>"
 msgstr "B<ISO2ASC>"
 
 #. type: Plain text
-#: doc/tin.1:3720
+#: doc/tin.1:3795
 msgid ""
 "Set the ISO to ASCII charset decoding table character to use in decoding an "
 "article text. Values can range from -1 to 6."
@@ -9687,33 +9846,33 @@ msgstr ""
 "article text. Values can range from -1 to 6."
 
 #. type: TP
-#: doc/tin.1:3721
+#: doc/tin.1:3796
 #, no-wrap
 msgid "B<-1>"
 msgstr "B<-1>"
 
 #. type: Plain text
-#: doc/tin.1:3724
+#: doc/tin.1:3799
 msgid "no conversion"
 msgstr "no conversion"
 
 #. type: Plain text
-#: doc/tin.1:3727
+#: doc/tin.1:3802
 msgid "universal table for many languages"
 msgstr "universal table for many languages"
 
 #. type: Plain text
-#: doc/tin.1:3730
+#: doc/tin.1:3805
 msgid "single-spacing universal table"
 msgstr "single-spacing universal table"
 
 #. type: Plain text
-#: doc/tin.1:3733
+#: doc/tin.1:3808
 msgid "table for Danish, Dutch, German, Norwegian and Swedish"
 msgstr "table for Danish, Dutch, German, Norwegian and Swedish"
 
 #. type: Plain text
-#: doc/tin.1:3737
+#: doc/tin.1:3812
 msgid ""
 "table for Danish, Finnish, Norwegian and Swedish using the appropriate ISO "
 "646 variant"
@@ -9722,40 +9881,40 @@ msgstr ""
 "646 variant"
 
 #. type: Plain text
-#: doc/tin.1:3740
+#: doc/tin.1:3815
 msgid "table with B<RFC\\%1345> codes in brackets"
 msgstr "table with B<RFC\\%1345> codes in brackets"
 
 #. type: TP
-#: doc/tin.1:3740
+#: doc/tin.1:3815
 #, no-wrap
 msgid "B<5>"
 msgstr "B<5>"
 
 #. type: Plain text
-#: doc/tin.1:3743
+#: doc/tin.1:3818
 msgid "table for printers that allow overstriking with backspace"
 msgstr "table for printers that allow overstriking with backspace"
 
 #. type: TP
-#: doc/tin.1:3743
+#: doc/tin.1:3818
 #, no-wrap
 msgid "B<6>"
 msgstr "B<6>"
 
 #. type: Plain text
-#: doc/tin.1:3746
+#: doc/tin.1:3821
 msgid "table for IBM PC character set (code page 437)"
 msgstr "table for IBM PC character set (code page 437)"
 
 #. type: TP
-#: doc/tin.1:3747
+#: doc/tin.1:3822
 #, no-wrap
 msgid "B<ORGANIZATION>"
 msgstr "B<ORGANIZATION>"
 
 #. type: Plain text
-#: doc/tin.1:3754
+#: doc/tin.1:3829
 msgid ""
 "Set the article header field ''Organization:'' to the contents of the "
 "variable instead of the system default. If it points to a readable file a "
@@ -9770,24 +9929,24 @@ msgstr ""
 "of $B<ORGANIZATION>."
 
 #. type: TP
-#: doc/tin.1:3754
+#: doc/tin.1:3829
 #, no-wrap
 msgid "B<NEWSORG (DomainOS)>"
 msgstr "B<NEWSORG (DomainOS)>"
 
 #. type: Plain text
-#: doc/tin.1:3757
+#: doc/tin.1:3832
 msgid "DomainOS specific, same as $B<ORGANIZATION> on other OSs (see above)."
 msgstr "DomainOS specific, same as $B<ORGANIZATION> on other OSs (see above)."
 
 #. type: TP
-#: doc/tin.1:3757
+#: doc/tin.1:3832
 #, no-wrap
 msgid "B<REPLYTO>"
 msgstr "B<REPLYTO>"
 
 #. type: Plain text
-#: doc/tin.1:3762
+#: doc/tin.1:3837
 msgid ""
 "Set the article header field ''Reply-To:'' to the return address specified "
 "by the variable. This is useful if you wish to receive replies at a "
@@ -9798,13 +9957,13 @@ msgstr ""
 "different address."
 
 #. type: TP
-#: doc/tin.1:3762
+#: doc/tin.1:3837
 #, no-wrap
 msgid "B<NAME>"
 msgstr "B<NAME>"
 
 #. type: Plain text
-#: doc/tin.1:3766
+#: doc/tin.1:3841
 msgid ""
 "Overrides the full name given in the gecos-field in I</etc/passwd>, see also "
 "B<mail_address>."
@@ -9813,37 +9972,37 @@ msgstr ""
 "B<mail_address>."
 
 #. type: TP
-#: doc/tin.1:3766
+#: doc/tin.1:3841
 #, no-wrap
 msgid "B<REALNAME>"
 msgstr "B<REALNAME>"
 
 #. type: Plain text
-#: doc/tin.1:3769
+#: doc/tin.1:3844
 msgid "Same as $B<NAME>."
 msgstr "Same as $B<NAME>."
 
 #. type: TP
-#: doc/tin.1:3769
+#: doc/tin.1:3844
 #, no-wrap
 msgid "B<HOME>"
 msgstr "B<HOME>"
 
 #. type: Plain text
-#: doc/tin.1:3774
+#: doc/tin.1:3849
 msgid ""
 "Pathname of the user's home directory. See B<\\%environ>(5)  for more info."
 msgstr ""
 "Pathname of the user's home directory. See B<\\%environ>(5)  for more info."
 
 #. type: TP
-#: doc/tin.1:3774
+#: doc/tin.1:3849
 #, no-wrap
 msgid "B<MAILER>"
 msgstr "B<MAILER>"
 
 #. type: Plain text
-#: doc/tin.1:3778
+#: doc/tin.1:3853
 msgid ""
 "This variable has precedence over the default mailer that is used in all "
 "mailing operations within B<tin>."
@@ -9852,24 +10011,40 @@ msgstr ""
 "mailing operations within B<tin>."
 
 #. type: TP
-#: doc/tin.1:3778
+#: doc/tin.1:3853
 #, no-wrap
 msgid "B<MAIL>"
 msgstr "B<MAIL>"
 
 #. type: Plain text
-#: doc/tin.1:3781
+#: doc/tin.1:3856
 msgid "Full path to the user's mailbox."
 msgstr "Full path to the user's mailbox."
 
+#.  we don't support the %message || ?message notation
 #. type: TP
-#: doc/tin.1:3781
+#: doc/tin.1:3856
+#, no-wrap
+msgid "B<MAILPATH>"
+msgstr "B<MAILPATH>"
+
+#. type: Plain text
+#: doc/tin.1:3861
+msgid ""
+"A colon-separated list of filenames which are checked for new mail. This "
+"overrides the $B<MAIL> variable."
+msgstr ""
+"A colon-separated list of filenames which are checked for new mail. This "
+"overrides the $B<MAIL> variable."
+
+#. type: TP
+#: doc/tin.1:3861
 #, no-wrap
 msgid "B<VISUAL>"
 msgstr "B<VISUAL>"
 
 #. type: Plain text
-#: doc/tin.1:3790
+#: doc/tin.1:3870
 msgid ""
 "This variable has precedence over the default editor (i.e., B<\\%vi>(1))  "
 "that is used in all editing operations within B<tin> (e.g., posting, "
@@ -9882,13 +10057,13 @@ msgstr ""
 "vi}\"}>. See B<\\%environ>(5)  for more info."
 
 #. type: TP
-#: doc/tin.1:3790
+#: doc/tin.1:3870
 #, no-wrap
 msgid "B<EDITOR>"
 msgstr "B<EDITOR>"
 
 #. type: Plain text
-#: doc/tin.1:3799
+#: doc/tin.1:3879
 msgid ""
 "If $B<VISUAL> is unset, then this variable is looked up for a default "
 "editor. If $B<EDITOR> and $B<VISUAL> are both unset, B<tin> uses the systems "
@@ -9901,13 +10076,13 @@ msgstr ""
 "for more info."
 
 #. type: TP
-#: doc/tin.1:3799
+#: doc/tin.1:3879
 #, no-wrap
 msgid "B<AUTOSUBSCRIBE>"
 msgstr "B<AUTOSUBSCRIBE>"
 
 #. type: Plain text
-#: doc/tin.1:3805
+#: doc/tin.1:3885
 msgid ""
 "A new group is checked against the list of patterns; if it matches, B<tin> "
 "subscribes the user to the group without further query.  See the section "
@@ -9920,12 +10095,12 @@ msgstr ""
 "example, setting"
 
 #. type: Plain text
-#: doc/tin.1:3807
+#: doc/tin.1:3887
 msgid "I<AUTOSUBSCRIBE=comp.os.unix.*,talk.*,!talk.politics.*>"
 msgstr "I<AUTOSUBSCRIBE=comp.os.unix.*,talk.*,!talk.politics.*>"
 
 #. type: Plain text
-#: doc/tin.1:3812
+#: doc/tin.1:3892
 msgid ""
 "will automatically subscribe the user to all new groups in the comp.os.unix "
 "hierarchy, and all talk groups other than talk.politics groups (which will "
@@ -9938,13 +10113,13 @@ msgstr ""
 "with the ''B<-X>'' command-line switch."
 
 #. type: TP
-#: doc/tin.1:3812
+#: doc/tin.1:3892
 #, no-wrap
 msgid "B<AUTOUNSUBSCRIBE>"
 msgstr "B<AUTOUNSUBSCRIBE>"
 
 #. type: Plain text
-#: doc/tin.1:3816
+#: doc/tin.1:3896
 msgid ""
 "Is handled like the $B<AUTOSUBSCRIBE> variable, but groups matching the list "
 "are unsubscribed from without further query. For example, setting"
@@ -9953,12 +10128,12 @@ msgstr ""
 "are unsubscribed from without further query. For example, setting"
 
 #. type: Plain text
-#: doc/tin.1:3818
+#: doc/tin.1:3898
 msgid "I<AUTOUNSUBSCRIBE=alt.flame.*,u*,!uk.*>"
 msgstr "I<AUTOUNSUBSCRIBE=alt.flame.*,u*,!uk.*>"
 
 #. type: Plain text
-#: doc/tin.1:3822
+#: doc/tin.1:3902
 msgid ""
 "will automatically unsubscribe the user from all new alt.flame groups and "
 "all groups starting with u (university groups) other than UK groups (which "
@@ -9969,13 +10144,13 @@ msgstr ""
 "will be queried for as usual)."
 
 #. type: TP
-#: doc/tin.1:3822
+#: doc/tin.1:3902
 #, no-wrap
 msgid "B<TMPDIR>"
 msgstr "B<TMPDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3826
+#: doc/tin.1:3906
 msgid ""
 "A pathname of a directory made available for B<tin> to create temporary "
 "files."
@@ -9984,13 +10159,13 @@ msgstr ""
 "files."
 
 #. type: TP
-#: doc/tin.1:3826
+#: doc/tin.1:3906
 #, no-wrap
 msgid "B<MAILCAPS>"
 msgstr "B<MAILCAPS>"
 
 #. type: Plain text
-#: doc/tin.1:3832
+#: doc/tin.1:3912
 msgid ""
 "This variable can be used to override the default path search for B<\\"
 "%mailcap>(5)  files. See also B<\\%tin>(5)."
@@ -9999,28 +10174,28 @@ msgstr ""
 "%mailcap>(5)  files. See also B<\\%tin>(5)."
 
 #. type: TP
-#: doc/tin.1:3832
+#: doc/tin.1:3912
 #, no-wrap
 msgid "B<NOMETAMAIL>"
 msgstr "B<NOMETAMAIL>"
 
 #. type: Plain text
-#: doc/tin.1:3837
+#: doc/tin.1:3917
 msgid ""
 "Set this variable to disable the use of B<\\%metamail>(1)  or a replacement "
-"(e.g. metamutt)."
+"(e.g., metamutt)."
 msgstr ""
 "Set this variable to disable the use of B<\\%metamail>(1)  or a replacement "
-"(e.g. metamutt)."
+"(e.g., metamutt)."
 
 #. type: TP
-#: doc/tin.1:3837
+#: doc/tin.1:3917
 #, no-wrap
 msgid "B<MM_CHARSET>"
 msgstr "B<MM_CHARSET>"
 
 #. type: Plain text
-#: doc/tin.1:3841
+#: doc/tin.1:3921
 msgid ""
 "MIME character set used if not configured via the tinrc variable "
 "B<mm_charset>."
@@ -10029,13 +10204,13 @@ msgstr ""
 "B<mm_charset>."
 
 #. type: TP
-#: doc/tin.1:3841
+#: doc/tin.1:3921
 #, no-wrap
 msgid "B<ISPELL>"
 msgstr "B<ISPELL>"
 
 #. type: Plain text
-#: doc/tin.1:3846
+#: doc/tin.1:3926
 msgid ""
 "Set this variable to point to B<\\%ispell>(1)  or a replacement and its cmd-"
 "line options."
@@ -10044,13 +10219,13 @@ msgstr ""
 "line options."
 
 #. type: TP
-#: doc/tin.1:3846
+#: doc/tin.1:3926
 #, no-wrap
 msgid "B<PGPOPTS>"
 msgstr "B<PGPOPTS>"
 
 #. type: Plain text
-#: doc/tin.1:3853
+#: doc/tin.1:3933
 msgid ""
 "Define any additional options that you wish to pass to your B<\\%pgp>(1)  or "
 "B<\\%gpg>(1)  program."
@@ -10059,13 +10234,13 @@ msgstr ""
 "B<\\%gpg>(1)  program."
 
 #. type: TP
-#: doc/tin.1:3853
+#: doc/tin.1:3933
 #, no-wrap
 msgid "B<PGPPATH>"
 msgstr "B<PGPPATH>"
 
 #. type: Plain text
-#: doc/tin.1:3858
+#: doc/tin.1:3938
 msgid ""
 "Override the name of the B<\\%pgp>(1)  directory in B<$HOME> that holds your "
 "keys etc.."
@@ -10074,13 +10249,13 @@ msgstr ""
 "keys etc.."
 
 #. type: TP
-#: doc/tin.1:3858
+#: doc/tin.1:3938
 #, no-wrap
 msgid "B<GNUPGHOME>"
 msgstr "B<GNUPGHOME>"
 
 #. type: Plain text
-#: doc/tin.1:3863
+#: doc/tin.1:3943
 msgid ""
 "Override the name of the B<\\%gpg>(1)  directory in B<$HOME> that holds your "
 "keys etc.."
@@ -10089,13 +10264,13 @@ msgstr ""
 "keys etc.."
 
 #. type: TP
-#: doc/tin.1:3863
+#: doc/tin.1:3943
 #, no-wrap
 msgid "B<LC_CTYPE>"
 msgstr "B<LC_CTYPE>"
 
 #. type: Plain text
-#: doc/tin.1:3875
+#: doc/tin.1:3955
 msgid ""
 "This variable determines the B<\\%locale>(5)  category for character "
 "handling functions. Usually it determines the character classes for pattern "
@@ -10114,13 +10289,13 @@ msgstr ""
 "for more information."
 
 #. type: TP
-#: doc/tin.1:3875
+#: doc/tin.1:3955
 #, no-wrap
 msgid "B<LC_MESSAGES>"
 msgstr "B<LC_MESSAGES>"
 
 #. type: Plain text
-#: doc/tin.1:3884
+#: doc/tin.1:3964
 msgid ""
 "Formats of informative and diagnostic messages and interactive responses.  "
 "Its value should be of the form I<language>[I<_territory>][I<.codeset>]"
@@ -10133,13 +10308,30 @@ msgstr ""
 "information."
 
 #. type: TP
-#: doc/tin.1:3884
+#: doc/tin.1:3964
+#, no-wrap
+msgid "B<LC_NUMERIC>"
+msgstr "B<LC_NUMERIC>"
+
+#. type: Plain text
+#: doc/tin.1:3972
+msgid ""
+"Numeric value formats. Its value should be of the form "
+"I<language>[I<_territory>][I<.codeset>][I<@modifier>]. See B<\\%locale>(5)  "
+"and B<\\%environ>(5)  for more information."
+msgstr ""
+"Numeric value formats. Its value should be of the form "
+"I<language>[I<_territory>][I<.codeset>][I<@modifier>]. See B<\\%locale>(5)  "
+"and B<\\%environ>(5)  for more information."
+
+#. type: TP
+#: doc/tin.1:3972
 #, no-wrap
 msgid "B<LC_TIME>"
 msgstr "B<LC_TIME>"
 
 #. type: Plain text
-#: doc/tin.1:3892
+#: doc/tin.1:3980
 msgid ""
 "Date and time formats. Its value should be of the form "
 "I<language>[I<_territory>][I<.codeset>][I<@modifier>]. See B<\\%locale>(5)  "
@@ -10150,32 +10342,32 @@ msgstr ""
 "and B<\\%environ>(5)  for more information."
 
 #. type: TP
-#: doc/tin.1:3892
+#: doc/tin.1:3980
 #, no-wrap
 msgid "B<LC_ALL>"
 msgstr "B<LC_ALL>"
 
 #. type: Plain text
-#: doc/tin.1:3901
+#: doc/tin.1:3989
 msgid ""
-"This variable overrides the value of the B<$LANG> variable and any other B<"
-"$LC_> variable. Its value should be of the form I<language>[I<_territory>]"
+"This variable overrides the value of the B<$LANG> variable and any other "
+"B<$LC_> variable. Its value should be of the form I<language>[I<_territory>]"
 "[I<.codeset>]. See B<\\%locale>(5)  and B<\\%environ>(5)  for more "
 "information."
 msgstr ""
-"This variable overrides the value of the B<$LANG> variable and any other B<"
-"$LC_> variable. Its value should be of the form I<language>[I<_territory>]"
+"This variable overrides the value of the B<$LANG> variable and any other "
+"B<$LC_> variable. Its value should be of the form I<language>[I<_territory>]"
 "[I<.codeset>]. See B<\\%locale>(5)  and B<\\%environ>(5)  for more "
 "information."
 
 #. type: TP
-#: doc/tin.1:3901
+#: doc/tin.1:3989
 #, no-wrap
 msgid "B<LANG>"
 msgstr "B<LANG>"
 
 #. type: Plain text
-#: doc/tin.1:3910
+#: doc/tin.1:3998
 msgid ""
 "This variable determines the B<\\%locale>(5)  category for any category not "
 "specifically selected with a variable starting with B<$LC_>. Its value "
@@ -10188,34 +10380,32 @@ msgstr ""
 "%environ>(5)  for more information."
 
 #. type: TP
-#: doc/tin.1:3910
+#: doc/tin.1:3998
 #, no-wrap
 msgid "B<LANGUAGE>"
 msgstr "B<LANGUAGE>"
 
 #. type: Plain text
-#: doc/tin.1:3918
+#: doc/tin.1:4006
 msgid ""
 "This variable defines a priority list for translations. Whenever a "
-"translation is not available in the language selected via B<$LC_ALL> or B<"
-"$LANG> the next language from the list is tried. Its value should be of the "
-"form I<language:language[:language]>. See B<\\%environ>(5)  for more "
-"information."
+"translation is not available the next language from the list is tried.  Its "
+"value should be of the form I<language:language[:language]>.  Requires "
+"B<$LC_ALL> or B<$LANG> to be set. See B<\\%environ>(5)  for more information."
 msgstr ""
 "This variable defines a priority list for translations. Whenever a "
-"translation is not available in the language selected via B<$LC_ALL> or B<"
-"$LANG> the next language from the list is tried. Its value should be of the "
-"form I<language:language[:language]>. See B<\\%environ>(5)  for more "
-"information."
+"translation is not available the next language from the list is tried.  Its "
+"value should be of the form I<language:language[:language]>.  Requires "
+"B<$LC_ALL> or B<$LANG> to be set. See B<\\%environ>(5)  for more information."
 
 #. type: TP
-#: doc/tin.1:3918
+#: doc/tin.1:4006
 #, no-wrap
 msgid "B<COLUMNS>"
 msgstr "B<COLUMNS>"
 
 #. type: Plain text
-#: doc/tin.1:3928
+#: doc/tin.1:4016
 msgid ""
 "A decimal integer E<gt> 0 used to indicate the user's preferred width in "
 "column positions for the terminal screen or window. If this variable is "
@@ -10236,13 +10426,13 @@ msgstr ""
 "characteristics."
 
 #. type: TP
-#: doc/tin.1:3928
+#: doc/tin.1:4016
 #, no-wrap
 msgid "B<LINES>"
 msgstr "B<LINES>"
 
 #. type: Plain text
-#: doc/tin.1:3938
+#: doc/tin.1:4026
 msgid ""
 "A decimal integer E<gt> 0 used to indicate the user's preferred number of "
 "lines on a page or the vertical screen or window size in lines. A line in "
@@ -10263,13 +10453,13 @@ msgstr ""
 "B<$LINES> unless they wish to override the system selection."
 
 #. type: TP
-#: doc/tin.1:3938
+#: doc/tin.1:4026
 #, no-wrap
 msgid "B<TERM>"
 msgstr "B<TERM>"
 
 #. type: Plain text
-#: doc/tin.1:3944
+#: doc/tin.1:4032
 msgid ""
 "The type of terminal in use. This is used when looking up termcap "
 "sequences.  See B<\\%environ>(5)  for more information."
@@ -10278,24 +10468,24 @@ msgstr ""
 "sequences.  See B<\\%environ>(5)  for more information."
 
 #. type: TP
-#: doc/tin.1:3944
+#: doc/tin.1:4032
 #, no-wrap
 msgid "B<DISPLAY>"
 msgstr "B<DISPLAY>"
 
 #. type: Plain text
-#: doc/tin.1:3947
+#: doc/tin.1:4035
 msgid "Display name, pointing to the X server; required for xface."
 msgstr "Display name, pointing to the X server; required for xface."
 
 #. type: TP
-#: doc/tin.1:3947
+#: doc/tin.1:4035
 #, no-wrap
 msgid "B<WINDOWID>"
 msgstr "B<WINDOWID>"
 
 #. type: Plain text
-#: doc/tin.1:3951
+#: doc/tin.1:4039
 msgid ""
 "Used for determining terminal's X window id; required for xface. Should be "
 "set by the terminal emulator."
@@ -10304,73 +10494,73 @@ msgstr ""
 "set by the terminal emulator."
 
 #. type: TP
-#: doc/tin.1:3951
+#: doc/tin.1:4039
 #, no-wrap
 msgid "B<SHELL>"
 msgstr "B<SHELL>"
 
 #. type: Plain text
-#: doc/tin.1:3955
+#: doc/tin.1:4043
 msgid ""
 "The pathname of the user's login shell. Used to set B<default_shell_command>."
 msgstr ""
 "The pathname of the user's login shell. Used to set B<default_shell_command>."
 
 #. type: TP
-#: doc/tin.1:3955
+#: doc/tin.1:4043
 #, no-wrap
 msgid "B<XDG_RUNTIME_DIR>"
 msgstr "B<XDG_RUNTIME_DIR>"
 
 #. type: Plain text
-#: doc/tin.1:3960
+#: doc/tin.1:4048
 msgid ""
 "The pathname of the user's dir to put non-essential run time files into."
 msgstr ""
 "The pathname of the user's dir to put non-essential run time files into."
 
-#. type: IX
-#: doc/tin.1:3960 doc/tin.1:3961
+#. type: SH
+#: doc/tin.1:4048
 #, no-wrap
 msgid "SIGNALS"
 msgstr "SIGNALS"
 
 #.  TODO: add missing, sort useful, document in detail
 #. type: Plain text
-#: doc/tin.1:3965
+#: doc/tin.1:4052
 msgid "B<tin> handles a couple of signals:"
 msgstr "B<tin> handles a couple of signals:"
 
 #. type: TP
-#: doc/tin.1:3965
+#: doc/tin.1:4052
 #, no-wrap
 msgid "B<SIGHUP>"
 msgstr "B<SIGHUP>"
 
 #. type: Plain text
-#: doc/tin.1:3968 doc/tin.1:3971
+#: doc/tin.1:4055 doc/tin.1:4058
 msgid "Terminate gracefully."
 msgstr "Terminate gracefully."
 
 #. type: TP
-#: doc/tin.1:3968
+#: doc/tin.1:4055
 #, no-wrap
 msgid "B<SIGTERM>"
 msgstr "B<SIGTERM>"
 
 #. type: TP
-#: doc/tin.1:3971
+#: doc/tin.1:4058
 #, no-wrap
 msgid "B<SIGUSR1>"
 msgstr "B<SIGUSR1>"
 
 #. type: Plain text
-#: doc/tin.1:3974
+#: doc/tin.1:4061
 msgid "Terminate gracefully but do not restore terminal (tty)."
 msgstr "Terminate gracefully but do not restore terminal (tty)."
 
 #. type: TP
-#: doc/tin.1:3974
+#: doc/tin.1:4061
 #, no-wrap
 msgid "B<SIGUSR2>"
 msgstr "B<SIGUSR2>"
@@ -10379,33 +10569,33 @@ msgstr "B<SIGUSR2>"
 #.  give an overview of the most common error messages and how to cope with
 #.  them.
 #. type: Plain text
-#: doc/tin.1:3985
+#: doc/tin.1:4072
 msgid "Write out I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>-file."
 msgstr "Write out I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>-file."
 
-#. type: IX
-#: doc/tin.1:3985 doc/tin.1:3986
+#. type: SH
+#: doc/tin.1:4072
 #, no-wrap
 msgid "SECURITY"
 msgstr "SECURITY"
 
 #. type: Plain text
-#: doc/tin.1:3992
+#: doc/tin.1:4078
 msgid ""
 "If B<tin> is started in debug mode (''B<-D n>'') it will create world "
 "readable files in B<$TMPDIR> which may contain sensitive data like the users "
-"NNTP password in cleartext (if running verbose). On multiuser-systems B<"
-"$TMPDIR> should be set to a safe location before starting B<tin> in "
-"(verbose) debug mode (e.g. B<TMPDIR=$HOME tin -vD 1>)."
+"NNTP password in cleartext (if running verbose). On multiuser-systems "
+"B<$TMPDIR> should be set to a safe location before starting B<tin> in "
+"(verbose) debug mode (e.g., B<TMPDIR=$HOME tin -vD 1>)."
 msgstr ""
 "If B<tin> is started in debug mode (''B<-D n>'') it will create world "
 "readable files in B<$TMPDIR> which may contain sensitive data like the users "
-"NNTP password in cleartext (if running verbose). On multiuser-systems B<"
-"$TMPDIR> should be set to a safe location before starting B<tin> in "
-"(verbose) debug mode (e.g. B<TMPDIR=$HOME tin -vD 1>)."
+"NNTP password in cleartext (if running verbose). On multiuser-systems "
+"B<$TMPDIR> should be set to a safe location before starting B<tin> in "
+"(verbose) debug mode (e.g., B<TMPDIR=$HOME tin -vD 1>)."
 
 #. type: Plain text
-#: doc/tin.1:3996
+#: doc/tin.1:4082
 msgid ""
 "Using the ''B<-k>'' option to skip certificate verification makes the "
 "session insecure as the server's certificate is not checked; avoid this "
@@ -10416,7 +10606,7 @@ msgstr ""
 "option whenever possible."
 
 #. type: Plain text
-#: doc/tin.1:4003
+#: doc/tin.1:4089
 msgid ""
 "If the server does not initially require authentication but supports "
 "compression and compression is requested, B<tin> will exit when "
@@ -10428,8 +10618,8 @@ msgstr ""
 "authentication is required later on. Using the ''B<-A>'' command line option "
 "in conjunction with ''B<-C>'' circumvents this behaviour."
 
-#. type: IX
-#: doc/tin.1:4003 doc/tin.1:4004
+#. type: SH
+#: doc/tin.1:4089
 #, no-wrap
 msgid "CONFORMING TO"
 msgstr "CONFORMING TO"
@@ -10437,7 +10627,7 @@ msgstr "CONFORMING TO"
 #.  - RFC\%2045, RFC\%2047, RFC\%2231, RFC\%2980, RFC\%3977, RFC\%4155
 #.    RFC\%4643, RFC\%5322, RFC\%5536, RFC\%5537, RFC\%6048 or whatever
 #. type: Plain text
-#: doc/tin.1:4012
+#: doc/tin.1:4097
 msgid ""
 "B<tin> does conform to the Base Definitions volume of IEEE Std 1003.1-2008, "
 "Section 12, Utility Conventions (Utility Argument Syntax, Utility Syntax "
@@ -10447,14 +10637,14 @@ msgstr ""
 "Section 12, Utility Conventions (Utility Argument Syntax, Utility Syntax "
 "Guidelines)."
 
-#. type: IX
-#: doc/tin.1:4012 doc/tin.1:4013
+#. type: SH
+#: doc/tin.1:4097
 #, no-wrap
 msgid "NOTES"
 msgstr "NOTES"
 
 #. type: Plain text
-#: doc/tin.1:4020
+#: doc/tin.1:4104
 msgid ""
 "Regular expression support is provided by the PCRE library package B<\\"
 "%pcre>(3)  or B<\\%pcre2>(3)  which is open source software, written by "
@@ -10465,18 +10655,18 @@ msgstr ""
 "Philip Hazel, and copyright \\(co by the University of Cambridge, England."
 
 #. type: Plain text
-#: doc/tin.1:4024
+#: doc/tin.1:4108
 msgid "E<lt>https://www.pcre.org/E<gt>"
 msgstr "E<lt>https://www.pcre.org/E<gt>"
 
-#. type: IX
-#: doc/tin.1:4024 doc/tin.1:4025
+#. type: SH
+#: doc/tin.1:4108
 #, no-wrap
 msgid "BUGS"
 msgstr "BUGS"
 
 #. type: Plain text
-#: doc/tin.1:4033
+#: doc/tin.1:4116
 msgid ""
 "B<CNews>\\0NNTPd, B<\\%noffle>(1)  (E<lt>= V1.0-pre5) and B<NewsCache> "
 "(E<lt>= V1.1.91) can't handle pipelined GROUP commands (B<RFC\\%3977>).  If "
@@ -10489,7 +10679,7 @@ msgstr ""
 "DISABLE_PIPELINING in include/autoconf.h and recompile."
 
 #. type: Plain text
-#: doc/tin.1:4040
+#: doc/tin.1:4123
 msgid ""
 "Using the ''B<-C>'' (COMPRESS) flag with B<INN>\\0nnrpd versions between "
 "2.6.1 and 2.7.1 (both incl.) may cause B<tin> to hang and later timeout when "
@@ -10502,7 +10692,7 @@ msgstr ""
 "workaround simply don't use ''B<-C>''."
 
 #. type: Plain text
-#: doc/tin.1:4049
+#: doc/tin.1:4132
 msgid ""
 "Before mailing a bug-report to E<lt>tin-bugs@tin.orgE<gt> please check if "
 "you are using the latest (stable) release, and if not, please upgrade first! "
@@ -10518,14 +10708,14 @@ msgstr ""
 "English. Please do NOT enclose a core-file in your bug-report until we "
 "request it."
 
-#. type: IX
-#: doc/tin.1:4049 doc/tin.1:4050
+#. type: SH
+#: doc/tin.1:4132
 #, no-wrap
 msgid "HISTORY"
 msgstr "HISTORY"
 
 #. type: Plain text
-#: doc/tin.1:4059
+#: doc/tin.1:4141
 msgid ""
 "B<tin> is based on the B<\\%tass>(1)  newsreader that was developed by Rich "
 "Skrenta and posted to alt.sources in March 1991; its first version was "
@@ -10542,127 +10732,127 @@ msgstr ""
 "overview see"
 
 #. type: Plain text
-#: doc/tin.1:4063
+#: doc/tin.1:4145
 msgid "E<lt>http://www.tin.org/history.htmlE<gt>."
 msgstr "E<lt>http://www.tin.org/history.htmlE<gt>."
 
 #. type: SH
-#: doc/tin.1:4063
+#: doc/tin.1:4145
 #, no-wrap
 msgid "CREDITS"
 msgstr "CREDITS"
 
 #. type: IP
-#: doc/tin.1:4064
+#: doc/tin.1:4146
 #, no-wrap
 msgid "Rich Skrenta"
 msgstr "Rich Skrenta"
 
 #. type: Plain text
-#: doc/tin.1:4068
+#: doc/tin.1:4150
 msgid "author of B<\\%tass>(1)  v3.2 which this newsreader used as its base."
 msgstr "author of B<\\%tass>(1)  v3.2 which this newsreader used as its base."
 
 #. type: IP
-#: doc/tin.1:4068
+#: doc/tin.1:4150
 #, no-wrap
 msgid "Bill Davidsen"
 msgstr "Bill Davidsen"
 
 #. type: Plain text
-#: doc/tin.1:4070
+#: doc/tin.1:4152
 msgid "author of envarg.c environment variable reading routine."
 msgstr "author of envarg.c environment variable reading routine."
 
 #. type: IP
-#: doc/tin.1:4070
+#: doc/tin.1:4152
 #, no-wrap
 msgid "Mike Gleason"
 msgstr "Mike Gleason"
 
 #. type: Plain text
-#: doc/tin.1:4072
+#: doc/tin.1:4154
 msgid "author of sigfile.c random signature generation routines."
 msgstr "author of sigfile.c random signature generation routines."
 
 #. type: IP
-#: doc/tin.1:4072
+#: doc/tin.1:4154
 #, no-wrap
 msgid "Markus Kuhn E<lt>Markus.Kuhn@cl.cam.ac.ukE<gt>"
 msgstr "Markus Kuhn E<lt>Markus.Kuhn@cl.cam.ac.ukE<gt>"
 
 #. type: Plain text
-#: doc/tin.1:4074
+#: doc/tin.1:4156
 msgid ""
 "author of langinfo.c, charset.c and iso2asc.txt ISO-8859-1 documentation."
 msgstr ""
 "author of langinfo.c, charset.c and iso2asc.txt ISO-8859-1 documentation."
 
 #. type: IP
-#: doc/tin.1:4074
+#: doc/tin.1:4156
 #, no-wrap
-msgid "Arnold Robbins"
-msgstr "Arnold Robbins"
+msgid "Arnold D. Robbins"
+msgstr "Arnold D. Robbins"
 
 #. type: Plain text
-#: doc/tin.1:4076
+#: doc/tin.1:4158
 msgid "author of strftime.c date formatting routine."
 msgstr "author of strftime.c date formatting routine."
 
 #. type: IP
-#: doc/tin.1:4076
+#: doc/tin.1:4158
 #, no-wrap
 msgid "Rich Salz"
 msgstr "Rich Salz"
 
 #. type: Plain text
-#: doc/tin.1:4078
+#: doc/tin.1:4160
 msgid ""
 "author of wildmat.c pattern matching and parsdate.y date parsing routines."
 msgstr ""
 "author of wildmat.c pattern matching and parsdate.y date parsing routines."
 
 #. type: IP
-#: doc/tin.1:4078
+#: doc/tin.1:4160
 #, no-wrap
 msgid "Dave Taylor"
 msgstr "Dave Taylor"
 
 #. type: Plain text
-#: doc/tin.1:4082
+#: doc/tin.1:4164
 msgid "author of curses.c from the B<\\%elm>(1)  mailreader."
 msgstr "author of curses.c from the B<\\%elm>(1)  mailreader."
 
 #. type: IP
-#: doc/tin.1:4082
+#: doc/tin.1:4164
 #, no-wrap
 msgid "Chris Thewalt"
 msgstr "Chris Thewalt"
 
 #. type: Plain text
-#: doc/tin.1:4086
+#: doc/tin.1:4168
 msgid "author of getline.c B<\\%emacs>(1)  style editing routine."
 msgstr "author of getline.c B<\\%emacs>(1)  style editing routine."
 
 #. type: IP
-#: doc/tin.1:4086
+#: doc/tin.1:4168
 #, no-wrap
 msgid "Steven Madsen"
 msgstr "Steven Madsen"
 
 #. type: Plain text
-#: doc/tin.1:4090
+#: doc/tin.1:4172
 msgid "for adding B<\\%pgp>(1)  (Pretty Good Privacy) support."
 msgstr "for adding B<\\%pgp>(1)  (Pretty Good Privacy) support."
 
 #. type: IP
-#: doc/tin.1:4090
+#: doc/tin.1:4172
 #, no-wrap
 msgid "Philip Hazel E<lt>ph10@cam.ac.ukE<gt>"
 msgstr "Philip Hazel E<lt>ph10@cam.ac.ukE<gt>"
 
 #. type: Plain text
-#: doc/tin.1:4095
+#: doc/tin.1:4177
 msgid ""
 "for B<\\%pcre>(3), B<\\%pcre2>(3)  (Perl-compatible regular expression "
 "library)."
@@ -10671,78 +10861,80 @@ msgstr ""
 "library)."
 
 #. type: IP
-#: doc/tin.1:4095
+#: doc/tin.1:4177
 #, no-wrap
-msgid "Patrick Powell E<lt>papowell@astart.comE<gt>"
-msgstr "Patrick Powell E<lt>papowell@astart.comE<gt>"
+msgid "Mark Martinec E<lt>mark.martinec@ijs.siE<gt>"
+msgstr "Mark Martinec E<lt>mark.martinec@ijs.siE<gt>"
 
 #. type: Plain text
-#: doc/tin.1:4103
+#: doc/tin.1:4185
 msgid "for B<\\%snprintf>(3)  and B<\\%vsnprintf>(3)  fallbacks."
 msgstr "for B<\\%snprintf>(3)  and B<\\%vsnprintf>(3)  fallbacks."
 
 #. type: SH
-#: doc/tin.1:4103
+#: doc/tin.1:4185
 #, no-wrap
 msgid "AUTHOR"
 msgstr "AUTHOR"
 
 #. type: TP
-#: doc/tin.1:4104
+#: doc/tin.1:4186
 #, no-wrap
 msgid "Iain Lea E<lt>iain@bricbrac.deE<gt>"
 msgstr "Iain Lea E<lt>iain@bricbrac.deE<gt>"
 
 #. type: SH
-#: doc/tin.1:4108
+#: doc/tin.1:4190
 #, no-wrap
 msgid "MAINTAINER"
 msgstr "MAINTAINER"
 
 #. type: TP
-#: doc/tin.1:4109
+#: doc/tin.1:4191
 #, no-wrap
 msgid "Urs Janssen E<lt>urs@tin.orgE<gt>"
 msgstr "Urs Janssen E<lt>urs@tin.orgE<gt>"
 
 #. type: SH
-#: doc/tin.1:4113 doc/tin.1:4114 doc/tin.5:2823
+#: doc/tin.1:4195 doc/tin.5:2890
 #, no-wrap
 msgid "SEE ALSO"
 msgstr "SEE ALSO"
 
 #. type: Plain text
-#: doc/tin.1:4176
+#: doc/tin.1:4259
 msgid ""
 "B<\\%elm>(1), B<\\%emacs>(1), B<\\%gpg>(1), B<\\%inews>(1), B<\\%ispell>(1), "
 "B<\\%lp>(1), B<\\%lpr>(1), B<\\%metamail>(1), B<\\%mutt>(1), B<\\"
 "%noffle>(1), B<\\%perl>(1), B<\\%perlre>(1), B<\\%pgp>(1), B<\\%rn>(1), B<\\"
 "%sendmail>(1), B<\\%shar>(1), B<\\%slrnface>(1), B<\\%tass>(1), B<\\"
 "%unshar>(1), B<\\%uudecode>(1), B<\\%vi>(1), B<\\%xterm>(1x), B<\\"
-"%heapsort>(3), B<\\%iconv>(3), B<\\%iconv_open>(3), B<\\%nl_langinfo>(3), B<"
-"\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\%pcre2pattern>(3), B<"
-"\\%qsort>(3), B<\\%snprintf>(3), B<\\%strftime>(3), B<\\%vsnprintf>(3), B<\\"
-"%wildmat>(3), B<\\%environ>(5), B<\\%locale>(5), B<\\%mailcap>(5), B<\\"
+"%heapsort>(3), B<\\%iconv>(3), B<\\%iconv_open>(3), B<\\%nl_langinfo>(3), "
+"B<\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\%pcre2pattern>(3), "
+"B<\\%qsort>(3), B<\\%snprintf>(3), B<\\%strftime>(3), B<\\%vsnprintf>(3), "
+"B<\\%wildmat>(3), B<\\%environ>(5), B<\\%locale>(5), B<\\%mailcap>(5), B<\\"
 "%mbox>(5), B<\\%mmdf>(5), B<\\%newsoverview>(5), B<\\%tin>(5), B<\\"
-"%cron>(8), B<RFC\\%1345>, B<RFC\\%1524>, B<RFC\\%2045>, B<RFC\\%2046>, B<RFC"
-"\\%2047>, B<RFC\\%2048>, B<RFC\\%2231>, B<RFC\\%2980>, B<RFC\\%3156>, B<RFC\\"
-"%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%4880>, B<RFC\\%5322>, B<RFC\\"
-"%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%8054>, B<RFC\\%8143>"
+"%cron>(8), B<RFC\\%1345>, B<RFC\\%1524>, B<RFC\\%1952>, B<RFC\\%2045>, "
+"B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2231>, B<RFC\\%2980>, B<RFC\\%3156>, "
+"B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%4880>, B<RFC\\%5198>, "
+"B<RFC\\%5322>, B<RFC\\%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%6838>, "
+"B<RFC\\%8054>, B<RFC\\%8143>"
 msgstr ""
 "B<\\%elm>(1), B<\\%emacs>(1), B<\\%gpg>(1), B<\\%inews>(1), B<\\%ispell>(1), "
 "B<\\%lp>(1), B<\\%lpr>(1), B<\\%metamail>(1), B<\\%mutt>(1), B<\\"
 "%noffle>(1), B<\\%perl>(1), B<\\%perlre>(1), B<\\%pgp>(1), B<\\%rn>(1), B<\\"
 "%sendmail>(1), B<\\%shar>(1), B<\\%slrnface>(1), B<\\%tass>(1), B<\\"
 "%unshar>(1), B<\\%uudecode>(1), B<\\%vi>(1), B<\\%xterm>(1x), B<\\"
-"%heapsort>(3), B<\\%iconv>(3), B<\\%iconv_open>(3), B<\\%nl_langinfo>(3), B<"
-"\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\%pcre2pattern>(3), B<"
-"\\%qsort>(3), B<\\%snprintf>(3), B<\\%strftime>(3), B<\\%vsnprintf>(3), B<\\"
-"%wildmat>(3), B<\\%environ>(5), B<\\%locale>(5), B<\\%mailcap>(5), B<\\"
+"%heapsort>(3), B<\\%iconv>(3), B<\\%iconv_open>(3), B<\\%nl_langinfo>(3), "
+"B<\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\%pcre2pattern>(3), "
+"B<\\%qsort>(3), B<\\%snprintf>(3), B<\\%strftime>(3), B<\\%vsnprintf>(3), "
+"B<\\%wildmat>(3), B<\\%environ>(5), B<\\%locale>(5), B<\\%mailcap>(5), B<\\"
 "%mbox>(5), B<\\%mmdf>(5), B<\\%newsoverview>(5), B<\\%tin>(5), B<\\"
-"%cron>(8), B<RFC\\%1345>, B<RFC\\%1524>, B<RFC\\%2045>, B<RFC\\%2046>, B<RFC"
-"\\%2047>, B<RFC\\%2048>, B<RFC\\%2231>, B<RFC\\%2980>, B<RFC\\%3156>, B<RFC\\"
-"%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%4880>, B<RFC\\%5322>, B<RFC\\"
-"%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%8054>, B<RFC\\%8143>"
+"%cron>(8), B<RFC\\%1345>, B<RFC\\%1524>, B<RFC\\%1952>, B<RFC\\%2045>, "
+"B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2231>, B<RFC\\%2980>, B<RFC\\%3156>, "
+"B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%4880>, B<RFC\\%5198>, "
+"B<RFC\\%5322>, B<RFC\\%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%6838>, "
+"B<RFC\\%8054>, B<RFC\\%8143>"
 
 #. type: Plain text
 #: doc/tin.5:13
@@ -11012,7 +11204,7 @@ msgstr ""
 "needsterminal and copiousoutput are both specified."
 
 #. type: TP
-#: doc/tin.5:153 doc/tin.5:1154
+#: doc/tin.5:153 doc/tin.5:1172
 #, no-wrap
 msgid "B<description>"
 msgstr "B<description>"
@@ -11105,8 +11297,8 @@ msgstr ""
 "yet."
 
 #. type: TP
-#: doc/tin.5:184 doc/tin.5:272 doc/tin.5:302 doc/tin.5:393 doc/tin.5:712
-#: doc/tin.5:872 doc/tin.5:1178
+#: doc/tin.5:184 doc/tin.5:272 doc/tin.5:302 doc/tin.5:393 doc/tin.5:724
+#: doc/tin.5:889 doc/tin.5:1201
 #, no-wrap
 msgid "Example:"
 msgstr "Example:"
@@ -11214,22 +11406,23 @@ msgstr "mime type / filename extension p
 #: doc/tin.5:261
 msgid ""
 "\"I<nntpserver[:port]> I<password> [I<user>]\" pairs for NNTP servers that "
-"require authorization.  If the password contains a space or a tab it must be "
-"enclosed in double quotes (\").  Usernames must not be enclosed in double "
-"quotes and thus can't contain spaces or tabs.  Any line that starts with \"#"
-"\" is a comment.  Blank lines are ignored.  This file should be readable "
+"require authorization. If the password contains a space or a tab it must be "
+"enclosed in double quotes (\"). Usernames must not be enclosed in double "
+"quotes and thus can't contain spaces or tabs. Any line that starts with "
+"\"#\" is a comment. Blank lines are ignored. This file should be readable "
 "only for the user as it contains the user's unencrypted password for reading "
 "news!"
 msgstr ""
 "\"I<nntpserver[:port]> I<password> [I<user>]\" pairs for NNTP servers that "
 "require authorisation. If the password contains a space or a tab it must be "
 "enclosed in double quotes (\"). Usernames must not be enclosed in double "
-"quotes and thus can't contain spaces or tabs. Any line that starts with \"#"
-"\" is a comment. Blank lines are ignored. This file should be readable only "
-"for the user as it contains the user's unencrypted password for reading news!"
+"quotes and thus can't contain spaces or tabs. Any line that starts with "
+"\"#\" is a comment. Blank lines are ignored. This file should be readable "
+"only for the user as it contains the user's unencrypted password for reading "
+"news!"
 
 #. type: TP
-#: doc/tin.5:261 doc/tin.5:1167
+#: doc/tin.5:261 doc/tin.5:1185
 #, no-wrap
 msgid "B<nntpserver>"
 msgstr "B<nntpserver>"
@@ -11315,8 +11508,8 @@ msgstr "B<flag>"
 
 #. type: Plain text
 #: doc/tin.5:297
-msgid "a flag indicating if the group is subscribed ':' or not '!'."
-msgstr "a flag indicating if the group is subscribed ':' or not '!'."
+msgid "a flag indicating if the group is subscribed ':' or not '!\\&'."
+msgstr "a flag indicating if the group is subscribed ':' or not '!\\&'."
 
 #. type: TP
 #: doc/tin.5:297
@@ -11367,8 +11560,8 @@ msgstr "signature"
 
 #. type: Plain text
 #: doc/tin.5:338
-msgid "fixed part of a randomly generated signature"
-msgstr "fixed part of a randomly generated signature"
+msgid "fixed part of a randomly generated signature, this will be added first"
+msgstr "fixed part of a randomly generated signature, this will be added first"
 
 #. type: Plain text
 #: doc/tin.5:345
@@ -11402,7 +11595,7 @@ msgstr ""
 "mail-handling support)."
 
 #. type: TP
-#: doc/tin.5:378 doc/tin.5:1151
+#: doc/tin.5:378 doc/tin.5:1169
 #, no-wrap
 msgid "B<mailgroupname>"
 msgstr "B<mailgroupname>"
@@ -11411,10 +11604,10 @@ msgstr "B<mailgroupname>"
 #: doc/tin.5:382
 msgid ""
 "must be the pathname of the mailbox relative to field #4 with '/' changed to "
-"'.'"
+"'.\\&'"
 msgstr ""
 "must be the pathname of the mailbox relative to field #4 with '/' changed to "
-"'.'"
+"'.\\&'"
 
 #. type: TP
 #: doc/tin.5:382
@@ -11524,7 +11717,7 @@ msgstr ""
 "the types of pattern that can be used here."
 
 #. type: TP
-#: doc/tin.5:438 doc/tin.5:1300
+#: doc/tin.5:438 doc/tin.5:1347
 #, no-wrap
 msgid "B<add_posted_to_filter>"
 msgstr "B<add_posted_to_filter>"
@@ -11544,13 +11737,13 @@ msgid "Identical to the tinrc variable o
 msgstr "Identical to the tinrc variable of the same name"
 
 #. type: TP
-#: doc/tin.5:441 doc/tin.5:1304
+#: doc/tin.5:441 doc/tin.5:1351
 #, no-wrap
 msgid "B<advertising>"
 msgstr "B<advertising>"
 
 #. type: TP
-#: doc/tin.5:444 doc/tin.5:1307
+#: doc/tin.5:444 doc/tin.5:1354
 #, no-wrap
 msgid "B<alternative_handling>"
 msgstr "B<alternative_handling>"
@@ -11562,13 +11755,13 @@ msgid "B<ask_for_metamail>"
 msgstr "B<ask_for_metamail>"
 
 #. type: TP
-#: doc/tin.5:450 doc/tin.5:1356
+#: doc/tin.5:450 doc/tin.5:1403
 #, no-wrap
 msgid "B<auto_cc_bcc>"
 msgstr "B<auto_cc_bcc>"
 
 #. type: TP
-#: doc/tin.5:453 doc/tin.5:1360
+#: doc/tin.5:453 doc/tin.5:1407
 #, no-wrap
 msgid "B<auto_list_thread>"
 msgstr "B<auto_list_thread>"
@@ -11589,7 +11782,7 @@ msgstr ""
 "entering the group."
 
 #. type: TP
-#: doc/tin.5:460 doc/tin.5:1367
+#: doc/tin.5:460 doc/tin.5:1414
 #, no-wrap
 msgid "B<batch_save>"
 msgstr "B<batch_save>"
@@ -11598,15 +11791,15 @@ msgstr "B<batch_save>"
 #: doc/tin.5:466
 msgid ""
 "Can be used to override the global setting in tinrc on a per group basis. "
-"For more information read section AUTOMATIC MAILING AND SAVING NEW NEWS in B<"
-"\\%tin>(1)."
+"For more information read section AUTOMATIC MAILING AND SAVING NEW NEWS in "
+"B<\\%tin>(1)."
 msgstr ""
 "Can be used to override the global setting in tinrc on a per group basis. "
-"For more information read section AUTOMATIC MAILING AND SAVING NEW NEWS in B<"
-"\\%tin>(1)."
+"For more information read section AUTOMATIC MAILING AND SAVING NEW NEWS in "
+"B<\\%tin>(1)."
 
 #. type: TP
-#: doc/tin.5:466 doc/tin.5:1499
+#: doc/tin.5:466 doc/tin.5:1551
 #, no-wrap
 msgid "B<date_format>"
 msgstr "B<date_format>"
@@ -11631,13 +11824,13 @@ msgstr ""
 "using B<GroupAutoSave> ('B<S>') will suppress prompting."
 
 #. type: TP
-#: doc/tin.5:476 doc/tin.5:1616
+#: doc/tin.5:476 doc/tin.5:1672
 #, no-wrap
 msgid "B<editor_format>"
 msgstr "B<editor_format>"
 
 #. type: TP
-#: doc/tin.5:479 doc/tin.5:1623
+#: doc/tin.5:479 doc/tin.5:1679
 #, no-wrap
 msgid "B<extquote_handling>"
 msgstr "B<extquote_handling>"
@@ -11669,7 +11862,7 @@ msgid "Set ''Followup-To:'' header to th
 msgstr "Set ''Followup-To:'' header to the specified group(s)."
 
 #. type: TP
-#: doc/tin.5:489 doc/tin.5:785
+#: doc/tin.5:489 doc/tin.5:802
 #, no-wrap
 msgid "B<from>"
 msgstr "B<from>"
@@ -11680,31 +11873,31 @@ msgid "Identical to the tinrc variable B
 msgstr "Identical to the tinrc variable B<mail_address>"
 
 #. type: TP
-#: doc/tin.5:492 doc/tin.5:1658
+#: doc/tin.5:492 doc/tin.5:1714
 #, no-wrap
 msgid "B<group_catchup_on_exit>"
 msgstr "B<group_catchup_on_exit>"
 
 #. type: TP
-#: doc/tin.5:495 doc/tin.5:1661
+#: doc/tin.5:495 doc/tin.5:1717
 #, no-wrap
 msgid "B<group_format>"
 msgstr "B<group_format>"
 
 #. type: TP
-#: doc/tin.5:498 doc/tin.5:1741
+#: doc/tin.5:498 doc/tin.5:1797
 #, no-wrap
 msgid "B<mail_8bit_header>"
 msgstr "B<mail_8bit_header>"
 
 #. type: TP
-#: doc/tin.5:501 doc/tin.5:1753 doc/tin.5:2599
+#: doc/tin.5:501 doc/tin.5:1809 doc/tin.5:2666
 #, no-wrap
 msgid "B<mail_mime_encoding>"
 msgstr "B<mail_mime_encoding>"
 
 #. type: TP
-#: doc/tin.5:504 doc/tin.5:1772
+#: doc/tin.5:504 doc/tin.5:1829
 #, no-wrap
 msgid "B<maildir>"
 msgstr "B<maildir>"
@@ -11725,13 +11918,13 @@ msgstr ""
 "directed to this email address instead"
 
 #. type: TP
-#: doc/tin.5:511 doc/tin.5:1811
+#: doc/tin.5:511 doc/tin.5:1867
 #, no-wrap
 msgid "B<mark_ignore_tags>"
 msgstr "B<mark_ignore_tags>"
 
 #. type: TP
-#: doc/tin.5:514 doc/tin.5:1808
+#: doc/tin.5:514 doc/tin.5:1864
 #, no-wrap
 msgid "B<mark_saved_read>"
 msgstr "B<mark_saved_read>"
@@ -11795,25 +11988,25 @@ msgstr ""
 "entry will negate it, eg: image/*,!image/bmp,!text/html. Default is */*"
 
 #. type: TP
-#: doc/tin.5:541 doc/tin.5:1890
+#: doc/tin.5:541 doc/tin.5:1950
 #, no-wrap
 msgid "B<news_headers_to_display>"
 msgstr "B<news_headers_to_display>"
 
 #. type: TP
-#: doc/tin.5:544 doc/tin.5:1897
+#: doc/tin.5:544 doc/tin.5:1957
 #, no-wrap
 msgid "B<news_headers_to_not_display>"
 msgstr "B<news_headers_to_not_display>"
 
 #. type: TP
-#: doc/tin.5:547 doc/tin.5:1906
+#: doc/tin.5:547 doc/tin.5:1966
 #, no-wrap
 msgid "B<news_quote_format>"
 msgstr "B<news_quote_format>"
 
 #. type: TP
-#: doc/tin.5:550 doc/tin.5:2572
+#: doc/tin.5:550 doc/tin.5:2639
 #, no-wrap
 msgid "B<organization>"
 msgstr "B<organization>"
@@ -11834,61 +12027,61 @@ msgstr ""
 "servers might still overwrite the \\&''Organization:'' header."
 
 #. type: TP
-#: doc/tin.5:558 doc/tin.5:1948
+#: doc/tin.5:558 doc/tin.5:2009
 #, no-wrap
 msgid "B<pos_first_unread>"
 msgstr "B<pos_first_unread>"
 
 #. type: TP
-#: doc/tin.5:561 doc/tin.5:1952
+#: doc/tin.5:561 doc/tin.5:2013
 #, no-wrap
 msgid "B<post_8bit_header>"
 msgstr "B<post_8bit_header>"
 
 #. type: TP
-#: doc/tin.5:564 doc/tin.5:1963 doc/tin.5:2596
+#: doc/tin.5:564 doc/tin.5:2024 doc/tin.5:2663
 #, no-wrap
 msgid "B<post_mime_encoding>"
 msgstr "B<post_mime_encoding>"
 
 #. type: TP
-#: doc/tin.5:567 doc/tin.5:1976
+#: doc/tin.5:567 doc/tin.5:2037
 #, no-wrap
 msgid "B<post_process_type>"
 msgstr "B<post_process_type>"
 
 #. type: TP
-#: doc/tin.5:570 doc/tin.5:1968
+#: doc/tin.5:570 doc/tin.5:2029
 #, no-wrap
 msgid "B<post_process_view>"
 msgstr "B<post_process_view>"
 
 #. type: TP
-#: doc/tin.5:573 doc/tin.5:2000
+#: doc/tin.5:573 doc/tin.5:2061
 #, no-wrap
 msgid "B<print_header>"
 msgstr "B<print_header>"
 
 #. type: TP
-#: doc/tin.5:576 doc/tin.5:2014
+#: doc/tin.5:576 doc/tin.5:2075
 #, no-wrap
 msgid "B<process_only_unread>"
 msgstr "B<process_only_unread>"
 
 #. type: TP
-#: doc/tin.5:579 doc/tin.5:2018
+#: doc/tin.5:579 doc/tin.5:2079
 #, no-wrap
 msgid "B<prompt_followupto>"
 msgstr "B<prompt_followupto>"
 
 #. type: TP
-#: doc/tin.5:582 doc/tin.5:2022
+#: doc/tin.5:582 doc/tin.5:2083
 #, no-wrap
 msgid "B<quote_chars>"
 msgstr "B<quote_chars>"
 
 #. type: TP
-#: doc/tin.5:585 doc/tin.5:2084
+#: doc/tin.5:585 doc/tin.5:2148
 #, no-wrap
 msgid "B<savedir>"
 msgstr "B<savedir>"
@@ -11901,49 +12094,49 @@ msgid "B<savefile>"
 msgstr "B<savefile>"
 
 #. type: TP
-#: doc/tin.5:591 doc/tin.5:2160
+#: doc/tin.5:591 doc/tin.5:2224
 #, no-wrap
 msgid "B<show_art_score>"
 msgstr "B<show_art_score>"
 
 #. type: TP
-#: doc/tin.5:594 doc/tin.5:2143
+#: doc/tin.5:594 doc/tin.5:2207
 #, no-wrap
 msgid "B<show_author>"
 msgstr "B<show_author>"
 
 #. type: TP
-#: doc/tin.5:597 doc/tin.5:2192
+#: doc/tin.5:597 doc/tin.5:2256
 #, no-wrap
 msgid "B<show_only_unread_arts>"
 msgstr "B<show_only_unread_arts>"
 
 #. type: TP
-#: doc/tin.5:600 doc/tin.5:2200
+#: doc/tin.5:600 doc/tin.5:2264
 #, no-wrap
 msgid "B<show_signatures>"
 msgstr "B<show_signatures>"
 
 #. type: TP
-#: doc/tin.5:603 doc/tin.5:2203
+#: doc/tin.5:603 doc/tin.5:2267
 #, no-wrap
 msgid "B<sigdashes>"
 msgstr "B<sigdashes>"
 
 #. type: TP
-#: doc/tin.5:606 doc/tin.5:2206
+#: doc/tin.5:606 doc/tin.5:2270
 #, no-wrap
 msgid "B<sigfile>"
 msgstr "B<sigfile>"
 
 #. type: TP
-#: doc/tin.5:609 doc/tin.5:2216
+#: doc/tin.5:609 doc/tin.5:2283
 #, no-wrap
 msgid "B<signature_repost>"
 msgstr "B<signature_repost>"
 
 #. type: TP
-#: doc/tin.5:612 doc/tin.5:2226
+#: doc/tin.5:612 doc/tin.5:2293
 #, no-wrap
 msgid "B<sort_article_type>"
 msgstr "B<sort_article_type>"
@@ -11954,61 +12147,61 @@ msgid "Identical to the tinrc variable B
 msgstr "Identical to the tinrc variable B<sort_article_type>"
 
 #. type: TP
-#: doc/tin.5:615 doc/tin.5:2255
+#: doc/tin.5:615 doc/tin.5:2322
 #, no-wrap
 msgid "B<sort_threads_type>"
 msgstr "B<sort_threads_type>"
 
 #. type: TP
-#: doc/tin.5:618 doc/tin.5:2322
+#: doc/tin.5:618 doc/tin.5:2389
 #, no-wrap
 msgid "B<tex2iso_conv>"
 msgstr "B<tex2iso_conv>"
 
 #. type: TP
-#: doc/tin.5:621 doc/tin.5:2327
+#: doc/tin.5:621 doc/tin.5:2394
 #, no-wrap
 msgid "B<thread_articles>"
 msgstr "B<thread_articles>"
 
 #. type: TP
-#: doc/tin.5:624 doc/tin.5:2371
+#: doc/tin.5:624 doc/tin.5:2438
 #, no-wrap
 msgid "B<thread_catchup_on_exit>"
 msgstr "B<thread_catchup_on_exit>"
 
 #. type: TP
-#: doc/tin.5:627 doc/tin.5:2347
+#: doc/tin.5:627 doc/tin.5:2414
 #, no-wrap
 msgid "B<thread_format>"
 msgstr "B<thread_format>"
 
 #. type: TP
-#: doc/tin.5:630 doc/tin.5:2366
+#: doc/tin.5:630 doc/tin.5:2433
 #, no-wrap
 msgid "B<thread_perc>"
 msgstr "B<thread_perc>"
 
 #. type: TP
-#: doc/tin.5:633 doc/tin.5:2400
+#: doc/tin.5:633 doc/tin.5:2467
 #, no-wrap
 msgid "B<trim_article_body>"
 msgstr "B<trim_article_body>"
 
 #. type: TP
-#: doc/tin.5:636 doc/tin.5:2425
+#: doc/tin.5:636 doc/tin.5:2492
 #, no-wrap
 msgid "B<suppress_soft_hyphens>"
 msgstr "B<suppress_soft_hyphens>"
 
 #. type: TP
-#: doc/tin.5:639 doc/tin.5:2490
+#: doc/tin.5:639 doc/tin.5:2557
 #, no-wrap
 msgid "B<verbatim_handling>"
 msgstr "B<verbatim_handling>"
 
 #. type: TP
-#: doc/tin.5:642 doc/tin.5:2548
+#: doc/tin.5:642 doc/tin.5:2615
 #, no-wrap
 msgid "B<wrap_on_next_unread>"
 msgstr "B<wrap_on_next_unread>"
@@ -12027,14 +12220,14 @@ msgid ""
 "containing the text to insert. If the string starts with a ! then what "
 "follows is assumed to be the path to a program to be executed to generate "
 "the content. %G is expanded to the current news.group.name and %P is "
-"expanded to the news.group.name with all '.' replaced by '/'."
+"expanded to the news.group.name with all '.\\&' replaced by '/'."
 msgstr ""
 "A piece of text that will be added at the start of a message body. If this "
 "string starts with a / or ~ then it is assumed to be the name of a file "
 "containing the text to insert. If the string starts with a ! then what "
 "follows is assumed to be the path to a program to be executed to generate "
 "the content. %G is expanded to the current news.group.name and %P is "
-"expanded to the news.group.name with all '.' replaced by '/'."
+"expanded to the news.group.name with all '.\\&' replaced by '/'."
 
 #. type: TP
 #: doc/tin.5:653
@@ -12062,7 +12255,7 @@ msgid ""
 "be inserted. If the string starts with a ! then what follows is assumed to "
 "be the path to a program to be executed to generate the header and its "
 "content. %G is expanded to the current news.group.name and %P is expanded to "
-"the news.group.name with all '.' replaced by '/'."
+"the news.group.name with all '.\\&' replaced by '/'."
 msgstr ""
 "A string including header-name and the contents of the header that will be "
 "automatically added when posting. If the string starts with a / or ~ then it "
@@ -12070,7 +12263,7 @@ msgstr ""
 "be inserted. If the string starts with a ! then what follows is assumed to "
 "be the path to a program to be executed to generate the header and its "
 "content. %G is expanded to the current news.group.name and %P is expanded to "
-"the news.group.name with all '.' replaced by '/'."
+"the news.group.name with all '.\\&' replaced by '/'."
 
 #. type: TP
 #: doc/tin.5:665
@@ -12181,14 +12374,14 @@ msgstr "B<ispell>"
 #. type: Plain text
 #: doc/tin.5:700
 msgid ""
-"Path and options for B<\\%ispell>(1)-like spell-checker, e.g. \"aspell --"
+"Path and options for B<\\%ispell>(1)-like spell-checker, e.g., \"aspell --"
 "mode=email --dont-backup check\""
 msgstr ""
-"Path and options for B<\\%ispell>(1)-like spell-checker, e.g. \"aspell --"
+"Path and options for B<\\%ispell>(1)-like spell-checker, e.g., \"aspell --"
 "mode=email --dont-backup check\""
 
 #. type: TP
-#: doc/tin.5:700 doc/tin.5:1844
+#: doc/tin.5:700 doc/tin.5:1902
 #, no-wrap
 msgid "B<mm_network_charset>"
 msgstr "B<mm_network_charset>"
@@ -12200,36 +12393,57 @@ msgid "B<undeclared_charset>"
 msgstr "B<undeclared_charset>"
 
 #. type: Plain text
-#: doc/tin.5:712
+#: doc/tin.5:714
 msgid ""
 "Assume (broken) articles without MIME charset declaration have this charset "
 "\\(em default is US-ASCII. This attribute works only on systems with working "
-"B<\\%iconv>(3), others might have to compile B<\\%tin>(1)  with --disable-"
-"mime-strict-charset."
+"B<\\%iconv>(3)  or B<\\%ucnv_*>(), others might have to compile B<\\"
+"%tin>(1)  with --disable-mime-strict-charset."
 msgstr ""
 "Assume (broken) articles without MIME charset declaration have this charset "
 "\\(em default is US-ASCII. This attribute works only on systems with working "
-"B<\\%iconv>(3), others might have to compile B<\\%tin>(1)  with --disable-"
-"mime-strict-charset."
+"B<\\%iconv>(3)  or B<\\%ucnv_*>(), others might have to compile B<\\"
+"%tin>(1)  with --disable-mime-strict-charset."
+
+#. type: TP
+#: doc/tin.5:714
+#, no-wrap
+msgid "B<undeclared_cs_guess>"
+msgstr "B<undeclared_cs_guess>"
+
+#. type: Plain text
+#: doc/tin.5:724
+msgid ""
+"Guess charset for (broken) articles without MIME charset declaration.  This "
+"attribute works only on systems with working B<\\%iconv>(3)  or B<\\"
+"%ucnv_*>()  and B<\\%ucsdet_getName()> from libicui18n. It has no effect if "
+"undeclared_charset is also set."
+msgstr ""
+"Guess charset for (broken) articles without MIME charset declaration.  This "
+"attribute works only on systems with working B<\\%iconv>(3)  or B<\\"
+"%ucnv_*>()  and B<\\%ucsdet_getName>()  from libicui18n. It has no effect if "
+"undeclared_charset is also set."
 
 #. type: Plain text
-#: doc/tin.5:721
+#: doc/tin.5:734
 #, no-wrap
 msgid ""
 "# include extra headers\n"
 "# assume ISO-8859-1 as charset if no charset is declared\n"
-"scope=*\n"
+"# in all but fido7.* groups\n"
+"scope=*,!fido7.*\n"
 "x_headers=~/.tin/headers\n"
 "undeclared_charset=ISO-8859-1\n"
 msgstr ""
 "# include extra headers\n"
 "# assume ISO-8859-1 as charset if no charset is declared\n"
-"scope=*\n"
+"# in all but fido7.* groups\n"
+"scope=*,!fido7.*\n"
 "x_headers=~/.tin/headers\n"
 "undeclared_charset=ISO-8859-1\n"
 
 #. type: Plain text
-#: doc/tin.5:725
+#: doc/tin.5:738
 #, no-wrap
 msgid ""
 "# in *sources* set post process type to shar only\n"
@@ -12241,7 +12455,7 @@ msgstr ""
 "post_process_type=1\n"
 
 #. type: Plain text
-#: doc/tin.5:732
+#: doc/tin.5:745
 #, no-wrap
 msgid ""
 "# in *binaries* turn on full post processing,\n"
@@ -12259,7 +12473,7 @@ msgstr ""
 "followup_to=poster\n"
 
 #. type: Plain text
-#: doc/tin.5:738
+#: doc/tin.5:751
 #, no-wrap
 msgid ""
 "# in fido.* newsgroups change quote_chars\n"
@@ -12275,7 +12489,19 @@ msgstr ""
 "x_comment_to=ON\n"
 
 #. type: Plain text
-#: doc/tin.5:744
+#: doc/tin.5:755
+#, no-wrap
+msgid ""
+"# in fido7.* newsgroups guess charset\n"
+"scope=fido7.*\n"
+"undeclared_cs_guess=ON\n"
+msgstr ""
+"# in fido7.* newsgroups guess charset\n"
+"scope=fido7.*\n"
+"undeclared_cs_guess=ON\n"
+
+#. type: Plain text
+#: doc/tin.5:761
 #, no-wrap
 msgid ""
 "# in *.test newsgroups, don't append signature\n"
@@ -12291,7 +12517,7 @@ msgstr ""
 "x_headers=Subject: test - ignore - no reply\n"
 
 #. type: Plain text
-#: doc/tin.5:748
+#: doc/tin.5:765
 #, no-wrap
 msgid ""
 "# assume ISO-2022-JP-2 as charset\n"
@@ -12303,7 +12529,7 @@ msgstr ""
 "undeclared_charset=ISO-2022-JP-2\n"
 
 #. type: Plain text
-#: doc/tin.5:762
+#: doc/tin.5:779
 msgid ""
 "The filter file is used to assign scores to certain articles. Based on the "
 "score an article can be filtered out (hidden) or marked hot. Empty lines or "
@@ -12318,13 +12544,13 @@ msgstr ""
 "same time (logical OR not AND)."
 
 #. type: TP
-#: doc/tin.5:762
+#: doc/tin.5:779
 #, no-wrap
 msgid "B<comment>"
 msgstr "B<comment>"
 
 #. type: Plain text
-#: doc/tin.5:771
+#: doc/tin.5:788
 msgid ""
 "Every entry (rule) in the filter file might get a comment. Multiple lines "
 "are allowed (but only for comments yet). Every line must start with the "
@@ -12341,13 +12567,13 @@ msgstr ""
 "ignored and your comments will get lost on the next write of the file."
 
 #. type: TP
-#: doc/tin.5:771
+#: doc/tin.5:788
 #, no-wrap
 msgid "B<group>"
 msgstr "B<group>"
 
 #. type: Plain text
-#: doc/tin.5:775
+#: doc/tin.5:792
 msgid ""
 "A comma-separated list of newsgroup patterns in wildmat-style to which "
 "groups the filter rule will be applied. This line is mandatory!"
@@ -12356,39 +12582,39 @@ msgstr ""
 "groups the filter rule will be applied. This line is mandatory!"
 
 #. type: TP
-#: doc/tin.5:775
+#: doc/tin.5:792
 #, no-wrap
 msgid "B<case>"
 msgstr "B<case>"
 
 #. type: Plain text
-#: doc/tin.5:778
+#: doc/tin.5:795
 msgid "0=case-sensitive, 1=case-insensitive"
 msgstr "0=case-sensitive, 1=case-insensitive"
 
 #. type: TP
-#: doc/tin.5:778
+#: doc/tin.5:795
 #, no-wrap
 msgid "B<score>"
 msgstr "B<score>"
 
 #. type: Plain text
-#: doc/tin.5:781
+#: doc/tin.5:798
 msgid ""
-"Score value of the rule; can also be one of the magic words \"kill\" or \"hot"
-"\"."
+"Score value of the rule; can also be one of the magic words \"kill\" or "
+"\"hot\"."
 msgstr ""
-"Score value of the rule; can also be one of the magic words \"kill\" or \"hot"
-"\"."
+"Score value of the rule; can also be one of the magic words \"kill\" or "
+"\"hot\"."
 
 #. type: TP
-#: doc/tin.5:781
+#: doc/tin.5:798
 #, no-wrap
 msgid "B<subj>"
 msgstr "B<subj>"
 
 #. type: Plain text
-#: doc/tin.5:785
+#: doc/tin.5:802
 msgid ""
 "Match against ''Subject:''. The matching type used (wildmat or regex) "
 "depends on the setting of the tinrc variable B<wildcard>."
@@ -12397,28 +12623,28 @@ msgstr ""
 "depends on the setting of the tinrc variable B<wildcard>."
 
 #. type: Plain text
-#: doc/tin.5:794
+#: doc/tin.5:811
 msgid ""
 "Match against ''From:''.  B<\\%tin>(1)  converts the contents of the "
-"''From:'' header to an old style e-mail address, e.g. ''some@body.example "
+"''From:'' header to an old style e-mail address, e.g., ''some@body.example "
 "(John Doe)'' instead of ''John Doe E<lt>some@body.exampleE<gt>'', before "
 "trying to match the patterns in the filter rule. The matching type used "
 "(wildmat or regex) depends on the setting of the tinrc variable B<wildcard>."
 msgstr ""
 "Match against ''From:''.  B<\\%tin>(1)  converts the contents of the "
-"''From:'' header to an old style e-mail address, e.g. ''some@body.example "
+"''From:'' header to an old style e-mail address, e.g., ''some@body.example "
 "(John Doe)'' instead of ''John Doe E<lt>some@body.exampleE<gt>'', before "
 "trying to match the patterns in the filter rule. The matching type used "
 "(wildmat or regex) depends on the setting of the tinrc variable B<wildcard>."
 
 #. type: TP
-#: doc/tin.5:794
+#: doc/tin.5:811
 #, no-wrap
 msgid "B<msgid>"
 msgstr "B<msgid>"
 
 #. type: Plain text
-#: doc/tin.5:799
+#: doc/tin.5:816
 msgid ""
 "Match against ''Message-ID:'' and full ''References:''. The matching type "
 "used (wildmat or regex) depends on the setting of the tinrc variable "
@@ -12429,13 +12655,13 @@ msgstr ""
 "B<wildcard>."
 
 #. type: TP
-#: doc/tin.5:799
+#: doc/tin.5:816
 #, no-wrap
 msgid "B<msgid_last>"
 msgstr "B<msgid_last>"
 
 #. type: Plain text
-#: doc/tin.5:804
+#: doc/tin.5:821
 msgid ""
 "Match against ''Message-ID:'' and last ''References:'' entry (direct "
 "responses) only. The matching type used (wildmat or regex) depends on the "
@@ -12446,13 +12672,13 @@ msgstr ""
 "setting of the tinrc variable B<wildcard>."
 
 #. type: TP
-#: doc/tin.5:804
+#: doc/tin.5:821
 #, no-wrap
 msgid "B<msgid_only>"
 msgstr "B<msgid_only>"
 
 #. type: Plain text
-#: doc/tin.5:808
+#: doc/tin.5:825
 msgid ""
 "Match against ''Message-ID:''. The matching type used (wildmat or regex)  "
 "depends on the setting of the tinrc variable B<wildcard>."
@@ -12461,13 +12687,13 @@ msgstr ""
 "depends on the setting of the tinrc variable B<wildcard>."
 
 #. type: TP
-#: doc/tin.5:808
+#: doc/tin.5:825
 #, no-wrap
 msgid "B<refs_only>"
 msgstr "B<refs_only>"
 
 #. type: Plain text
-#: doc/tin.5:812
+#: doc/tin.5:829
 msgid ""
 "Match against ''References:''. The matching type used (wildmat or regex)  "
 "depends on the setting of the tinrc variable B<wildcard>."
@@ -12476,13 +12702,13 @@ msgstr ""
 "depends on the setting of the tinrc variable B<wildcard>."
 
 #. type: TP
-#: doc/tin.5:812
+#: doc/tin.5:829
 #, no-wrap
 msgid "B<lines>"
 msgstr "B<lines>"
 
 #. type: Plain text
-#: doc/tin.5:815
+#: doc/tin.5:832
 msgid ""
 "Match against ''Lines:'', E<lt>num matches less than, E<gt>num matches more "
 "than."
@@ -12491,13 +12717,13 @@ msgstr ""
 "than."
 
 #. type: TP
-#: doc/tin.5:815
+#: doc/tin.5:832
 #, no-wrap
 msgid "B<gnksa>"
 msgstr "B<gnksa>"
 
 #. type: Plain text
-#: doc/tin.5:822
+#: doc/tin.5:839
 msgid ""
 "Match against ''From:'' address parser return codes. E<lt>num matches less "
 "than, E<gt>num matches more than the returned numeric value. "
@@ -12512,13 +12738,13 @@ msgstr ""
 "is outdated this should be considered carefully."
 
 #. type: ta
-#: doc/tin.5:824
+#: doc/tin.5:841
 #, no-wrap
 msgid "\\w'%406\t'u +\\w'GNKSA_ZERO_LENGTH_LOCAL_WORD'u"
 msgstr "\\w'%406\t'u +\\w'GNKSA_ZERO_LENGTH_LOCAL_WORD'u"
 
 #. type: Plain text
-#: doc/tin.5:854
+#: doc/tin.5:871
 #, no-wrap
 msgid ""
 "  B<0>\tGNKSA_OK\n"
@@ -12582,35 +12808,35 @@ msgstr ""
 "B<406>\tGNKSA_MISSING_REALNAME\n"
 
 #. type: TP
-#: doc/tin.5:856
+#: doc/tin.5:873
 #, no-wrap
 msgid "B<xref>"
 msgstr "B<xref>"
 
 #. type: Plain text
-#: doc/tin.5:863
+#: doc/tin.5:880
 msgid ""
 "Match against ''Xref:'' line. Before any matching is done the line is turned "
 "into the same format ''Newsgroups:'' has that is it is turned into a comma "
-"separated newsgroup list with all other information (i.e.  the article "
+"separated newsgroup list with all other information (i.e., the article "
 "counter) removed. The matching type used (wildmat or regex)  depends on the "
 "setting of the tinrc variable B<wildcard>."
 msgstr ""
 "Match against ''Xref:'' line. Before any matching is done the line is turned "
 "into the same format ''Newsgroups:'' has that is it is turned into a comma "
-"separated newsgroup list with all other information (i.e.  the article "
+"separated newsgroup list with all other information (i.e., the article "
 "counter) removed. The matching type used (wildmat or regex)  depends on the "
 "setting of the tinrc variable B<wildcard>."
 
 #.  TODO: document option in detail
 #. type: TP
-#: doc/tin.5:863
+#: doc/tin.5:880
 #, no-wrap
 msgid "B<path>"
 msgstr "B<path>"
 
 #. type: Plain text
-#: doc/tin.5:869
+#: doc/tin.5:886
 msgid ""
 "Match against ''Path:'' line. This may not work on some servers. The "
 "matching type used (wildmat or regex) depends on the setting of the tinrc "
@@ -12621,18 +12847,18 @@ msgstr ""
 "variable B<wildcard>."
 
 #. type: TP
-#: doc/tin.5:869 doc/tin.5:2743
+#: doc/tin.5:886 doc/tin.5:2810
 #, no-wrap
 msgid "B<time>"
 msgstr "B<time>"
 
 #. type: Plain text
-#: doc/tin.5:872
+#: doc/tin.5:889
 msgid "time_t value when rule expires"
 msgstr "time_t value when rule expires"
 
 #. type: Plain text
-#: doc/tin.5:882
+#: doc/tin.5:899
 #, no-wrap
 msgid ""
 "comment=mark all articles about tin, rtin,\n"
@@ -12650,10 +12876,10 @@ msgstr ""
 "subj=\\eb(cd|[rk]?)?tin(d|pre)?[-.0-9]*\\eb\n"
 
 #. type: Plain text
-#: doc/tin.5:891
+#: doc/tin.5:908
 #, no-wrap
 msgid ""
-"comment=downscore postings in nsr from google base on\n"
+"comment=downscore postings in nsr from google based on\n"
 "comment=message-id or path, if both hit they end up with\n"
 "comment=a score of -66 which is enough to mark them killed\n"
 "group=news.software.readers\n"
@@ -12662,7 +12888,7 @@ msgid ""
 "path=\\e.googlegroups\\e.com!not-for-mail$\n"
 "msgid_only=@googlegroups\\e.comE<gt>\n"
 msgstr ""
-"comment=downscore postings in nsr from google base on\n"
+"comment=downscore postings in nsr from google based on\n"
 "comment=message-id or path, if both hit they end up with\n"
 "comment=a score of -66 which is enough to mark them killed\n"
 "group=news.software.readers\n"
@@ -12672,7 +12898,7 @@ msgstr ""
 "msgid_only=@googlegroups\\e.comE<gt>\n"
 
 #. type: Plain text
-#: doc/tin.5:912
+#: doc/tin.5:929
 msgid ""
 "Keymap-file, containing \"I<keyname> I<value> I<[value]>\" pairs separated "
 "by spaces or tabs. If the keymap-file named with full specified B<\\"
@@ -12685,19 +12911,19 @@ msgstr ""
 "Keymap-file, containing \"I<keyname> I<value> I<[value]>\" pairs separated "
 "by spaces or tabs. If the keymap-file named with full specified B<\\"
 "%locale>(5)  is not found, less specific ones are looked for. Various parts "
-"will be stripped off the name, in the following order codeset, normalized "
+"will be stripped off the name, in the following order codeset, normalised "
 "codeset, territory and modifier when looking for the keymap-file.  Below is "
 "a list of all rebindable keynames and their defaults. If a keyname is bound "
 "to NULL it is unassigned."
 
 #. type: ta
-#: doc/tin.5:914
+#: doc/tin.5:931
 #, no-wrap
 msgid "\\w'GroupSelThdIfUnreadSelected    'u +\\w'SPACE'u +\\w'SPACE'u"
 msgstr "\\w'GroupSelThdIfUnreadSelected    'u +\\w'SPACE'u +\\w'SPACE'u"
 
 #. type: Plain text
-#: doc/tin.5:962
+#: doc/tin.5:979
 #, no-wrap
 msgid ""
 "B<ShellEscape>\t!\n"
@@ -12797,7 +13023,7 @@ msgstr ""
 "B<MarkFeedUnread>\t^W\n"
 
 #. type: Plain text
-#: doc/tin.5:970
+#: doc/tin.5:987
 #, no-wrap
 msgid ""
 "B<AttachSelect>\t^J\t^M\n"
@@ -12817,7 +13043,7 @@ msgstr ""
 "B<AttachToggleTagged>\t@\n"
 
 #. type: Plain text
-#: doc/tin.5:978
+#: doc/tin.5:995
 #, no-wrap
 msgid ""
 "B<ConfigToggleAttrib>\tTAB\n"
@@ -12837,7 +13063,7 @@ msgstr ""
 "B<ConfigResetAttrib>\tr\n"
 
 #. type: Plain text
-#: doc/tin.5:986
+#: doc/tin.5:1003
 #, no-wrap
 msgid ""
 "B<FeedTag>\tT\n"
@@ -12857,7 +13083,7 @@ msgstr ""
 "B<FeedThd>\tt\n"
 
 #. type: Plain text
-#: doc/tin.5:989
+#: doc/tin.5:1006
 #, no-wrap
 msgid ""
 "B<FilterEdit>\te\n"
@@ -12867,7 +13093,7 @@ msgstr ""
 "B<FilterSave>\ts\n"
 
 #. type: Plain text
-#: doc/tin.5:1019
+#: doc/tin.5:1036
 #, no-wrap
 msgid ""
 "B<GroupNextUnreadArtOrGrp>\tTAB\n"
@@ -12931,7 +13157,7 @@ msgstr ""
 "B<GroupUndoSel>\t~\n"
 
 #. type: Plain text
-#: doc/tin.5:1022
+#: doc/tin.5:1039
 #, no-wrap
 msgid ""
 "B<HelpLastPage>\tG\n"
@@ -12941,7 +13167,7 @@ msgstr ""
 "B<HelpFirstPage>\tg\n"
 
 #. type: Plain text
-#: doc/tin.5:1062
+#: doc/tin.5:1080
 #, no-wrap
 msgid ""
 "B<PageReplyQuoteHeaders>\t^E\n"
@@ -12953,6 +13179,7 @@ msgid ""
 "B<PageFollowupQuoteHeaders>\t^W\n"
 "B<PageToggleTex2iso>\t\"\n"
 "B<PageToggleAllHeaders>\t*\n"
+"B<PageArticleInfo>\t'\n"
 "B<PageToggleRot>\t%\n"
 "B<PageToggleUue>\t(\n"
 "B<PageReveal>\t)\n"
@@ -12993,6 +13220,7 @@ msgstr ""
 "B<PageFollowupQuoteHeaders>\t^W\n"
 "B<PageToggleTex2iso>\t\"\n"
 "B<PageToggleAllHeaders>\t*\n"
+"B<PageArticleInfo>\t'\n"
 "B<PageToggleRot>\t%\n"
 "B<PageToggleUue>\t(\n"
 "B<PageReveal>\t)\n"
@@ -13025,7 +13253,7 @@ msgstr ""
 "B<PageRepost>\tx\n"
 
 #. type: Plain text
-#: doc/tin.5:1067
+#: doc/tin.5:1085
 #, no-wrap
 msgid ""
 "B<PgpEncSign>\tb\n"
@@ -13039,7 +13267,7 @@ msgstr ""
 "B<PgpSign>\ts\n"
 
 #. type: Plain text
-#: doc/tin.5:1080
+#: doc/tin.5:1098
 #, no-wrap
 msgid ""
 "B<PostAbort>\ta\n"
@@ -13069,13 +13297,13 @@ msgstr ""
 "B<PostSend>\ts\ty\n"
 
 #. type: Plain text
-#: doc/tin.5:1082
+#: doc/tin.5:1100
 #, no-wrap
 msgid "B<PostedArticlesSelect>\t^J\t^M\n"
 msgstr "B<PostedArticlesSelect>\t^J\t^M\n"
 
 #. type: Plain text
-#: doc/tin.5:1085
+#: doc/tin.5:1103
 #, no-wrap
 msgid ""
 "B<PostponeOverride>\tY\n"
@@ -13085,7 +13313,7 @@ msgstr ""
 "B<PostponeAll>\tA\n"
 
 #. type: Plain text
-#: doc/tin.5:1088
+#: doc/tin.5:1106
 #, no-wrap
 msgid ""
 "B<PromptYes>\ty\tY\n"
@@ -13095,7 +13323,7 @@ msgstr ""
 "B<PromptNo>\tn\tN\n"
 
 #. type: Plain text
-#: doc/tin.5:1092
+#: doc/tin.5:1110
 #, no-wrap
 msgid ""
 "B<PProcNone>\tn\n"
@@ -13107,7 +13335,7 @@ msgstr ""
 "B<PProcYes>\ty\n"
 
 #. type: Plain text
-#: doc/tin.5:1095
+#: doc/tin.5:1113
 #, no-wrap
 msgid ""
 "B<SaveAppendFile>\ta\n"
@@ -13117,7 +13345,7 @@ msgstr ""
 "B<SaveOverwriteFile>\to\n"
 
 #. type: Plain text
-#: doc/tin.5:1113
+#: doc/tin.5:1131
 #, no-wrap
 msgid ""
 "B<SelectEnterNextUnreadGrp>\tTAB\tn\n"
@@ -13157,7 +13385,7 @@ msgstr ""
 "B<SelectMarkGrpUnread>\tz\tZ\n"
 
 #. type: Plain text
-#: doc/tin.5:1120
+#: doc/tin.5:1138
 #, no-wrap
 msgid ""
 "B<ScopeSelect>\t^J\t^M\n"
@@ -13175,7 +13403,7 @@ msgstr ""
 "B<ScopeRename>\tr\n"
 
 #. type: Plain text
-#: doc/tin.5:1138
+#: doc/tin.5:1156
 #, no-wrap
 msgid ""
 "B<ThreadReadNextArtOrThread>\tTAB\n"
@@ -13215,13 +13443,13 @@ msgstr ""
 "B<ThreadUndoSel>\t~\n"
 
 #. type: Plain text
-#: doc/tin.5:1140
+#: doc/tin.5:1158
 #, no-wrap
 msgid "B<UrlSelect>\t^J\t^M\n"
 msgstr "B<UrlSelect>\t^J\t^M\n"
 
 #. type: Plain text
-#: doc/tin.5:1151
+#: doc/tin.5:1169
 msgid ""
 "This file provides short descriptions of each mailgroup. (requires B<\\"
 "%tin>(1)  to be built with mh-mail-handling support). Each line consist of "
@@ -13232,81 +13460,113 @@ msgstr ""
 "two tab-separated fields \"I<mailgroupname> I<one-line description>\"."
 
 #. type: Plain text
-#: doc/tin.5:1154 doc/tin.5:1239 doc/tin.5:2689 doc/tin.5:2743 doc/tin.5:2770
+#: doc/tin.5:1172 doc/tin.5:1291 doc/tin.5:2756 doc/tin.5:2810 doc/tin.5:2837
 msgid "is the name of the newsgroup"
 msgstr "is the name of the newsgroup"
 
 #. type: Plain text
-#: doc/tin.5:1157 doc/tin.5:1242 doc/tin.5:2773
+#: doc/tin.5:1175 doc/tin.5:1294 doc/tin.5:2840
 msgid "is a short single-line description of the group"
 msgstr "is a short single-line description of the group"
 
 #. type: Plain text
-#: doc/tin.5:1167
+#: doc/tin.5:1185
 msgid ""
 "\"I<nntpserver[:port]> I<newsrc> [I<shortname> [I<...>]]\" pairs to use with "
 "the ''B<-g>'' command-line switch. The matching is case-insensitive and any "
-"line that starts with \"#\", \";\" or \" \" is treated as a comment."
+"line that starts with \"#\", \";\" or \" \" is treated as a comment. This is "
+"only available if reading via NNTP."
 msgstr ""
 "\"I<nntpserver[:port]> I<newsrc> [I<shortname> [I<...>]]\" pairs to use with "
 "the ''B<-g>'' command-line switch. The matching is case-insensitive and any "
-"line that starts with \"#\", \";\" or \" \" is treated as a comment."
+"line that starts with \"#\", \";\" or \" \" is treated as a comment. This is "
+"only available if reading via NNTP."
 
 #. type: Plain text
-#: doc/tin.5:1172
+#: doc/tin.5:1194
 msgid ""
-"full qualified domain name of the news server. Additionally, a port can be "
-"specified by appending :portnumber. The string \"default\" or \"*\" acts as "
-"wildcard to match any name, such a line should be placed last."
+"full qualified domain name of the news server. Plain IPv6 address must be "
+"enclosed in square brackets. Additionally, a port can be specified by "
+"appending :portnumber. Be aware that if a port is given it will override any "
+"port given with ''B<-g>'' or ''B<-p>'' or implied by ''B<-T>'' or ''B<-k>'' "
+"or set via $B<NNTPPORT>. The string \"default\" or \"*\" acts as wildcard to "
+"match any name, such a line should be placed last."
 msgstr ""
-"full qualified domain name of the news server. Additionally, a port can be "
-"pecified by appending :portnumber. The string \"default\" or \"*\" acts as "
-"wildcard to match any name, such a line should be placed last."
+"full qualified domain name of the news server. Plain IPv6 address must be "
+"enclosed in square brackets. Additionally, a port can be specified by "
+"appending :portnumber. Be aware that if a port is given it will override any "
+"port given with ''B<-g>'' or ''B<-p>'' or implied by ''B<-T>'' or ''B<-k>'' "
+"or set via $B<NNTPPORT>. The string \"default\" or \"*\" acts as wildcard to "
+"match any name, such a line should be placed last."
 
 #. type: TP
-#: doc/tin.5:1172
+#: doc/tin.5:1194
 #, no-wrap
 msgid "B<newsrc>"
 msgstr "B<newsrc>"
 
 #. type: Plain text
-#: doc/tin.5:1175
-msgid "related newsrc."
-msgstr "related newsrc."
+#: doc/tin.5:1197
+msgid "related newsrc. A file specified via ''B<-f>'' has a higher priority."
+msgstr "related newsrc. A file specified via ''B<-f>'' has a higher priority."
 
 #. type: TP
-#: doc/tin.5:1175
+#: doc/tin.5:1197
 #, no-wrap
 msgid "B<shortname>"
 msgstr "B<shortname>"
 
 #. type: Plain text
-#: doc/tin.5:1178
-msgid "nickname(s) for the nntpserver."
-msgstr "nickname(s) for the nntpserver."
+#: doc/tin.5:1201
+msgid ""
+"nickname(s) for the nntpserver. Nicknames must not contain \":\" and must be "
+"unique."
+msgstr ""
+"nickname(s) for the nntpserver. Nicknames must not contain \":\" and must be "
+"unique."
 
 #. type: Plain text
-#: doc/tin.5:1182
+#: doc/tin.5:1205
 msgid "# sample newsrctable file"
 msgstr "# sample newsrctable file"
 
 #. type: Plain text
-#: doc/tin.5:1184
+#: doc/tin.5:1207
 msgid "news.tin.org .newsrc-tin.org tinorg"
 msgstr "news.tin.org .newsrc-tin.org tinorg"
 
 #. type: Plain text
-#: doc/tin.5:1186
+#: doc/tin.5:1209
 msgid "news.example.org /tmp/nrc-ex example ex"
 msgstr "news.example.org /tmp/nrc-ex example ex"
 
 #. type: Plain text
-#: doc/tin.5:1188
-msgid "* ~/.tin/newsrcs/${NNTPSERVER-localhost}"
-msgstr "* ~/.tin/newsrcs/${NNTPSERVER-localhost}"
+#: doc/tin.5:1211
+msgid "[::1]:1119 /tmp/localhost6-1119 lh6"
+msgstr "[::1]:1119 /tmp/localhost6-1119 lh6"
+
+#. type: Plain text
+#: doc/tin.5:1213
+msgid "# catch all rules should go last"
+msgstr "# catch all rules should go last"
+
+#. type: Plain text
+#: doc/tin.5:1215
+msgid "# with the more specific one on top"
+msgstr "# with the more specific one on top"
 
 #. type: Plain text
-#: doc/tin.5:1204
+#: doc/tin.5:1217
+msgid "*:563 ~/.tin/newsrcs/${NNTPSERVER-localhost}:563/newsrc"
+msgstr "*:563 ~/.tin/newsrcs/${NNTPSERVER-localhost}:563/newsrc"
+
+#. type: Plain text
+#: doc/tin.5:1219
+msgid "* ~/.tin/newsrcs/${NNTPSERVER-localhost}/newsrc"
+msgstr "* ~/.tin/newsrcs/${NNTPSERVER-localhost}/newsrc"
+
+#. type: Plain text
+#: doc/tin.5:1235
 msgid ""
 "Posting history. The file is written by B<\\%tin>(1)  and used by "
 "B<DisplayPostHist> ('B<W>') command. It should not be altered manually. Any "
@@ -13327,7 +13587,7 @@ msgstr ""
 "known."
 
 #. type: Plain text
-#: doc/tin.5:1214
+#: doc/tin.5:1245
 msgid ""
 "Copy of all posted articles in B<\\%mbox>(5)  format. The filename can be "
 "changed by setting B<posted_articles_file>."
@@ -13336,67 +13596,102 @@ msgstr ""
 "changed by setting B<posted_articles_file>."
 
 #. type: Plain text
-#: doc/tin.5:1223
+#: doc/tin.5:1254
 msgid "Pool of postponed articles. This file is in B<\\%mbox>(5)  format."
 msgstr "Pool of postponed articles. This file is in B<\\%mbox>(5)  format."
 
 #. type: Plain text
-#: doc/tin.5:1236
+#: doc/tin.5:1265
+msgid ""
+"This file is a copy of the servers message of the day (MOTD) message.  It is "
+"automatically created on startup except when using the ''B<-Q>'' command-"
+"line option and is unlinked on exit."
+msgstr ""
+"This file is a copy of the servers message of the day (MOTD) message.  It is "
+"automatically created on startup except when using the ''B<-Q>'' command-"
+"line option and is unlinked on exit."
+
+#. type: Plain text
+#: doc/tin.5:1275
 msgid ""
-"This file a copy of the servers newsgroups file which provides short "
+"File to store $B<NNTPSERVER> and $B<NNTPPORT> related info- and error-"
+"messages. The file is overwritten on startup and meant for debugging."
+msgstr ""
+"File to store $B<NNTPSERVER> and $B<NNTPPORT> related info- and error-"
+"messages. The file is overwritten on startup and meant for debugging."
+
+#. type: Plain text
+#: doc/tin.5:1288
+msgid ""
+"This file is a copy of the servers newsgroups file which provides short "
 "descriptions of each newsgroup. It is automatically updated on startup "
 "except when using the ''B<-X>''or ''B<-q>'' command-line option and an old "
-"copy exists. Each line consist of two tab-separated fields \"I<group.name>"
-"\tI<one-line description>\"."
+"copy exists. Each line consist of two tab-separated fields \"I<group."
+"name>\tI<one-line description>\"."
 msgstr ""
-"This file a copy of the servers newsgroups file which provides short "
+"This file is a copy of the servers newsgroups file which provides short "
 "descriptions of each newsgroup. It is automatically updated on startup "
 "except when using the ''B<-X>''or ''B<-q>'' command-line option and an old "
-"copy exists. Each line consist of two tab-separated fields \"I<group.name>"
-"\tI<one-line description>\"."
+"copy exists. Each line consist of two tab-separated fields \"I<group."
+"name>\tI<one-line description>\"."
 
 #. type: TP
-#: doc/tin.5:1236 doc/tin.5:2767
+#: doc/tin.5:1288 doc/tin.5:2834
 #, no-wrap
 msgid "B<group.name>"
 msgstr "B<group.name>"
 
 #. type: TP
-#: doc/tin.5:1239 doc/tin.5:2770
+#: doc/tin.5:1291 doc/tin.5:2837
 #, no-wrap
 msgid "B<one-line description>"
 msgstr "B<one-line description>"
 
 #. type: Plain text
-#: doc/tin.5:1254
+#: doc/tin.5:1306
 msgid ""
 "File to store $B<NNTPSERVER> and $B<NNTPPORT> related data via a list of "
-"\"I<variable>=I<value>\" pairs. Currently there are only two variables, both "
-"are not meant to be changed by the user."
+"\"I<variable>=I<value>\" pairs. Currently there are only a few variables, "
+"all are not meant to be changed by the user."
 msgstr ""
 "File to store $B<NNTPSERVER> and $B<NNTPPORT> related data via a list of "
-"\"I<variable>=I<value>\" pairs. Currently there are only two variables, both "
-"are not meant to be changed by the user."
+"\"I<variable>=I<value>\" pairs. Currently there are only a few variables, "
+"all are not meant to be changed by the user."
 
 #. type: TP
-#: doc/tin.5:1254
+#: doc/tin.5:1306
 #, no-wrap
 msgid "B<version>"
 msgstr "B<version>"
 
 #. type: Plain text
-#: doc/tin.5:1257
+#: doc/tin.5:1309
 msgid "Internal version number."
 msgstr "Internal version number."
 
 #. type: TP
-#: doc/tin.5:1257
+#: doc/tin.5:1309
+#, no-wrap
+msgid "B<motd_hash>"
+msgstr "B<motd_hash>"
+
+#. type: Plain text
+#: doc/tin.5:1313
+msgid ""
+"Internal hash of the servers MOTD, so displaying it can be skipped if it is "
+"unchanged."
+msgstr ""
+"Internal hash of the servers MOTD, so displaying it can be skipped if it is "
+"unchanged."
+
+#. type: TP
+#: doc/tin.5:1313
 #, no-wrap
 msgid "B<last_newnews>"
 msgstr "B<last_newnews>"
 
 #. type: Plain text
-#: doc/tin.5:1262
+#: doc/tin.5:1318
 msgid ""
 "Internal timestamp used by B<\\%tin>(1)  to keep track of new newsgroups on "
 "the server."
@@ -13405,95 +13700,99 @@ msgstr ""
 "the server."
 
 #. type: Plain text
-#: doc/tin.5:1272
-msgid ""
-"File to store $B<NNTPSERVER> and $B<NNTPPORT> related info- and error-"
-"messages. The file is overwritten on startup and meant for debugging."
-msgstr ""
-"File to store $B<NNTPSERVER> and $B<NNTPPORT> related info- and error-"
-"messages. The file is overwritten on startup and meant for debugging."
-
-#. type: Plain text
-#: doc/tin.5:1294
+#: doc/tin.5:1341
 msgid ""
 "At startup, B<\\%tin>(1)  reads in the configuration file. This contains a "
 "list of \"I<variable>=I<value>\" pairs that can be used to configure the way "
-"B<\\%tin>(1)  works. If it exists, the global configuration file, I<"
-"${TIN_LIBDIR:-NEWSLIBDIR}/tinrc> is read first. After that, the user's own "
-"configuration file I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc> is read. The "
-"global file is useful for distributing system-wide defaults to new users who "
-"have no private tinrc yet (see also B</etc/tin/tin.defaults>)."
+"B<\\%tin>(1)  works. I<value> strings are limited to 1022 chars and will be "
+"discarded if exceeding this limit. If it exists, the global configuration "
+"file, I<${TIN_LIBDIR:-NEWSLIBDIR}/tinrc> is read first. After that, the "
+"user's own configuration file I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc> is "
+"read. The global file is useful for distributing system-wide defaults to new "
+"users who have no private tinrc yet (see also B</etc/tin/tin.defaults>)."
 msgstr ""
 "At startup, B<\\%tin>(1)  reads in the configuration file. This contains a "
 "list of \"I<variable>=I<value>\" pairs that can be used to configure the way "
-"B<\\%tin>(1)  works. If it exists, the global configuration file, I<"
-"${TIN_LIBDIR:-NEWSLIBDIR}/tinrc> is read first. After that, the user's own "
-"configuration file I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc> is read. The "
-"global file is useful for distributing system-wide defaults to new users who "
-"have no private tinrc yet (see also B</etc/tin/tin.defaults>)."
+"B<\\%tin>(1)  works. I<value> strings are limited to 1022 chars and will be "
+"discarded if exceeding this limit. If it exists, the global configuration "
+"file, I<${TIN_LIBDIR:-NEWSLIBDIR}/tinrc> is read first. After that, the "
+"user's own configuration file I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc> is "
+"read. The global file is useful for distributing system-wide defaults to new "
+"users who have no private tinrc yet (see also B</etc/tin/tin.defaults>)."
 
 #. type: TP
-#: doc/tin.5:1294
+#: doc/tin.5:1341
 #, no-wrap
 msgid "B<abbreviate_groupname>"
 msgstr "B<abbreviate_groupname>"
 
+#. type: Plain text
+#: doc/tin.5:1347
+msgid ""
+"If ON abbreviate long newsgroup names at group selection level and article "
+"level (if necessary) like this: news.software.readers -E<gt> n.software."
+"readers -E<gt> n.s.readers -E<gt> n.s.r.  Default is OFF."
+msgstr ""
+"If ON abbreviate long newsgroup names at group selection level and article "
+"level (if necessary) like this: news.software.readers -E<gt> n.software."
+"readers -E<gt> n.s.readers -E<gt> n.s.r.  Default is OFF."
+
 #. type: TP
-#: doc/tin.5:1310
+#: doc/tin.5:1357
 #, no-wrap
 msgid "B<art_marked_deleted>"
 msgstr "B<art_marked_deleted>"
 
 #. type: TP
-#: doc/tin.5:1313
+#: doc/tin.5:1360
 #, no-wrap
 msgid "B<art_marked_inrange>"
 msgstr "B<art_marked_inrange>"
 
 #. type: TP
-#: doc/tin.5:1316
+#: doc/tin.5:1363
 #, no-wrap
 msgid "B<art_marked_return>"
 msgstr "B<art_marked_return>"
 
 #. type: TP
-#: doc/tin.5:1320
+#: doc/tin.5:1367
 #, no-wrap
 msgid "B<art_marked_selected>"
 msgstr "B<art_marked_selected>"
 
 #. type: TP
-#: doc/tin.5:1324
+#: doc/tin.5:1371
 #, no-wrap
 msgid "B<art_marked_recent>"
 msgstr "B<art_marked_recent>"
 
 #. type: TP
-#: doc/tin.5:1328
+#: doc/tin.5:1375
 #, no-wrap
 msgid "B<art_marked_unread>"
 msgstr "B<art_marked_unread>"
 
 #. type: TP
-#: doc/tin.5:1332
+#: doc/tin.5:1379
 #, no-wrap
 msgid "B<art_marked_read>"
 msgstr "B<art_marked_read>"
 
 #. type: TP
-#: doc/tin.5:1335
+#: doc/tin.5:1382
 #, no-wrap
 msgid "B<art_marked_killed>"
 msgstr "B<art_marked_killed>"
 
 #. type: TP
-#: doc/tin.5:1339
+#: doc/tin.5:1386
 #, no-wrap
 msgid "B<art_marked_read_selected>"
 msgstr "B<art_marked_read_selected>"
 
 #. type: Plain text
-#: doc/tin.5:1350
+#: doc/tin.5:1397
 msgid ""
 "If ON B<\\%tin>(1)  will ask before using a MIME viewer (B<metamail_prog>) "
 "to display MIME messages. This only occurs if a MIME viewer is set. Default "
@@ -13504,13 +13803,13 @@ msgstr ""
 "is OFF."
 
 #. type: TP
-#: doc/tin.5:1350
+#: doc/tin.5:1397
 #, no-wrap
 msgid "B<attachment_format>"
 msgstr "B<attachment_format>"
 
 #. type: Plain text
-#: doc/tin.5:1356
+#: doc/tin.5:1403
 msgid ""
 "Format string B<\\%tin>(1)  uses for Attachment level representation.  "
 "Default is \"%t%s%e%c%d\"."
@@ -13519,30 +13818,30 @@ msgstr ""
 "is \"%t%s%e%c%d\"."
 
 #. type: TP
-#: doc/tin.5:1364
+#: doc/tin.5:1411
 #, no-wrap
 msgid "B<auto_reconnect>"
 msgstr "B<auto_reconnect>"
 
 #. type: Plain text
-#: doc/tin.5:1367
+#: doc/tin.5:1414
 msgid "Reconnect to server automatically. Default is OFF."
 msgstr "Reconnect to server automatically. Default is OFF."
 
 #. type: TP
-#: doc/tin.5:1372
+#: doc/tin.5:1419
 #, no-wrap
 msgid "B<beginner_level>"
 msgstr "B<beginner_level>"
 
 #. type: TP
-#: doc/tin.5:1377
+#: doc/tin.5:1424
 #, no-wrap
 msgid "B<cache_overview_files>"
 msgstr "B<cache_overview_files>"
 
 #. type: Plain text
-#: doc/tin.5:1382
+#: doc/tin.5:1429
 msgid ""
 "If ON, create local copies of NNTP overview files. This can be used to "
 "considerably speed up accessing large groups when using a slow connection.  "
@@ -13553,187 +13852,204 @@ msgstr ""
 "Default is OFF."
 
 #. type: TP
-#: doc/tin.5:1382
+#: doc/tin.5:1429
+#, no-wrap
+msgid "B<compress_overview_files>"
+msgstr "B<cache_overview_files>"
+
+#. type: TP
+#: doc/tin.5:1434
 #, no-wrap
 msgid "B<cancel_lock_algo>"
 msgstr "B<cancel_lock_algo>"
 
+#. type: Plain text
+#: doc/tin.5:1440
+msgid ""
+"Use this hash algorithm for cancel-locks. Only available when built with "
+"cancel-lock support. none disables the generation of cancel-locks. Valid "
+"values are none, sha1, sha256 and sha512.  Default is sha1."
+msgstr ""
+"Use this hash algorithm for cancel-locks. Only available when built with "
+"cancel-lock support. none disables the generation of cancel-locks. Valid "
+"values are none, sha1, sha256 and sha512.  Default is sha1."
+
 #. type: TP
-#: doc/tin.5:1388
+#: doc/tin.5:1440
 #, no-wrap
 msgid "B<catchup_read_groups>"
 msgstr "B<catchup_read_groups>"
 
 #. type: TP
-#: doc/tin.5:1392
+#: doc/tin.5:1444
 #, no-wrap
 msgid "B<col_back>"
 msgstr "B<col_back>"
 
 #. type: TP
-#: doc/tin.5:1395
+#: doc/tin.5:1447
 #, no-wrap
 msgid "B<col_extquote>"
 msgstr "B<col_extquote>"
 
 #. type: TP
-#: doc/tin.5:1398
+#: doc/tin.5:1450
 #, no-wrap
 msgid "B<col_from>"
 msgstr "B<col_from>"
 
 #. type: TP
-#: doc/tin.5:1401
+#: doc/tin.5:1453
 #, no-wrap
 msgid "B<col_head>"
 msgstr "B<col_head>"
 
 #. type: TP
-#: doc/tin.5:1404
+#: doc/tin.5:1456
 #, no-wrap
 msgid "B<col_help>"
 msgstr "B<col_help>"
 
 #. type: TP
-#: doc/tin.5:1407
+#: doc/tin.5:1459
 #, no-wrap
 msgid "B<col_invers_bg>"
 msgstr "B<col_invers_bg>"
 
 #. type: TP
-#: doc/tin.5:1410
+#: doc/tin.5:1462
 #, no-wrap
 msgid "B<col_invers_fg>"
 msgstr "B<col_invers_fg>"
 
 #. type: TP
-#: doc/tin.5:1413
+#: doc/tin.5:1465
 #, no-wrap
 msgid "B<col_markdash>"
 msgstr "B<col_markdash>"
 
 #. type: TP
-#: doc/tin.5:1417
+#: doc/tin.5:1469
 #, no-wrap
 msgid "B<col_markslash>"
 msgstr "B<col_markslash>"
 
 #. type: TP
-#: doc/tin.5:1421
+#: doc/tin.5:1473
 #, no-wrap
 msgid "B<col_markstar>"
 msgstr "B<col_markstar>"
 
 #. type: TP
-#: doc/tin.5:1425
+#: doc/tin.5:1477
 #, no-wrap
 msgid "B<col_markstroke>"
 msgstr "B<col_markstroke>"
 
 #. type: TP
-#: doc/tin.5:1429
+#: doc/tin.5:1481
 #, no-wrap
 msgid "B<col_message>"
 msgstr "B<col_message>"
 
 #. type: TP
-#: doc/tin.5:1432
+#: doc/tin.5:1484
 #, no-wrap
 msgid "B<col_minihelp>"
 msgstr "B<col_minihelp>"
 
 #. type: TP
-#: doc/tin.5:1435
+#: doc/tin.5:1487
 #, no-wrap
 msgid "B<col_newsheaders>"
 msgstr "B<col_newsheaders>"
 
 #. type: TP
-#: doc/tin.5:1438
+#: doc/tin.5:1490
 #, no-wrap
 msgid "B<col_normal>"
 msgstr "B<col_normal>"
 
 #. type: TP
-#: doc/tin.5:1441
+#: doc/tin.5:1493
 #, no-wrap
 msgid "B<col_quote>"
 msgstr "B<col_quote>"
 
 #. type: TP
-#: doc/tin.5:1444
+#: doc/tin.5:1496
 #, no-wrap
 msgid "B<col_quote2>"
 msgstr "B<col_quote2>"
 
 #. type: TP
-#: doc/tin.5:1447
+#: doc/tin.5:1499
 #, no-wrap
 msgid "B<col_quote3>"
 msgstr "B<col_quote3>"
 
 #. type: TP
-#: doc/tin.5:1450
+#: doc/tin.5:1502
 #, no-wrap
 msgid "B<col_response>"
 msgstr "B<col_response>"
 
 #. type: TP
-#: doc/tin.5:1454
+#: doc/tin.5:1506
 #, no-wrap
 msgid "B<col_signature>"
 msgstr "B<col_signature>"
 
 #. type: TP
-#: doc/tin.5:1457
+#: doc/tin.5:1509
 #, no-wrap
 msgid "B<col_score_neg>"
 msgstr "B<col_score_neg>"
 
 #. type: TP
-#: doc/tin.5:1460
+#: doc/tin.5:1512
 #, no-wrap
 msgid "B<col_score_pos>"
 msgstr "B<col_score_pos>"
 
 #. type: TP
-#: doc/tin.5:1463
+#: doc/tin.5:1515
 #, no-wrap
 msgid "B<col_urls>"
 msgstr "B<col_urls>"
 
 #. type: TP
-#: doc/tin.5:1466
+#: doc/tin.5:1518
 #, no-wrap
 msgid "B<col_verbatim>"
 msgstr "B<col_verbatim>"
 
 #. type: TP
-#: doc/tin.5:1469
+#: doc/tin.5:1521
 #, no-wrap
 msgid "B<col_subject>"
 msgstr "B<col_subject>"
 
 #. type: TP
-#: doc/tin.5:1472
+#: doc/tin.5:1524
 #, no-wrap
 msgid "B<col_text>"
 msgstr "B<col_text>"
 
 #. type: TP
-#: doc/tin.5:1475
+#: doc/tin.5:1527
 #, no-wrap
 msgid "B<col_title>"
 msgstr "B<col_title>"
 
 #. type: TP
-#: doc/tin.5:1478
+#: doc/tin.5:1530
 #, no-wrap
 msgid "B<confirm_choice>"
 msgstr "B<confirm_choice>"
 
 #. type: Plain text
-#: doc/tin.5:1482
+#: doc/tin.5:1534
 msgid ""
 "B<\\%tin>(1)  can ask for manual confirmation to protect the user. Available "
 "choices:"
@@ -13743,7 +14059,7 @@ msgstr ""
 
 #.  TODO: check if all affected commands are marked [after confirmation]
 #. type: Plain text
-#: doc/tin.5:1488
+#: doc/tin.5:1540
 msgid ""
 "B<commands>: Ask for confirmation before executing certain dangerous "
 "commands (e.g., B<Catchup> ('B<c>')). Commands that this affects are marked "
@@ -13754,7 +14070,7 @@ msgstr ""
 "in this manual with '[after confirmation]'."
 
 #. type: Plain text
-#: doc/tin.5:1493
+#: doc/tin.5:1545
 msgid ""
 "B<quit>: You'll be asked to confirm that you wish to exit B<\\%tin>(1)  when "
 "you use the B<Quit> ('B<q>') command."
@@ -13763,7 +14079,7 @@ msgstr ""
 "you use the B<Quit> ('B<q>') command."
 
 #. type: Plain text
-#: doc/tin.5:1497
+#: doc/tin.5:1549
 msgid ""
 "B<select>: Ask for confirmation before marking all not selected (with "
 "B<GroupMarkUnselArtRead> ('B<X>') command) articles as read."
@@ -13772,12 +14088,12 @@ msgstr ""
 "B<GroupMarkUnselArtRead> ('B<X>') command) articles as read."
 
 #. type: Plain text
-#: doc/tin.5:1499
+#: doc/tin.5:1551
 msgid "Default is commands & quit."
 msgstr "Default is commands & quit."
 
 #. type: Plain text
-#: doc/tin.5:1510
+#: doc/tin.5:1562
 msgid ""
 "Format string used for date representation. A description of the different "
 "format options can be found at B<\\%strftime>(3).  B<\\%tin>(1)  uses B<\\"
@@ -13790,61 +14106,61 @@ msgstr ""
 "fallback code.  Default is \"%a, %d %b %Y %H:%M:%S\"."
 
 #. type: TP
-#: doc/tin.5:1510
+#: doc/tin.5:1562
 #, no-wrap
 msgid "B<default_art_search>"
 msgstr "B<default_art_search>"
 
 #. type: TP
-#: doc/tin.5:1512
+#: doc/tin.5:1564
 #, no-wrap
 msgid "B<default_author_search>"
 msgstr "B<default_author_search>"
 
 #. type: TP
-#: doc/tin.5:1514
+#: doc/tin.5:1566
 #, no-wrap
 msgid "B<default_config_search>"
 msgstr "B<default_config_search>"
 
 #. type: TP
-#: doc/tin.5:1517
+#: doc/tin.5:1569
 #, no-wrap
 msgid "B<default_filter_days>"
 msgstr "B<default_filter_days>"
 
 #. type: TP
-#: doc/tin.5:1520
+#: doc/tin.5:1572
 #, no-wrap
 msgid "B<default_filter_kill_case>"
 msgstr "B<default_filter_kill_case>"
 
 #. type: TP
-#: doc/tin.5:1524
+#: doc/tin.5:1576
 #, no-wrap
 msgid "B<default_filter_kill_expire>"
 msgstr "B<default_filter_kill_expire>"
 
 #. type: TP
-#: doc/tin.5:1529
+#: doc/tin.5:1581
 #, no-wrap
 msgid "B<default_filter_kill_global>"
 msgstr "B<default_filter_kill_global>"
 
 #. type: TP
-#: doc/tin.5:1533
+#: doc/tin.5:1585
 #, no-wrap
 msgid "B<default_filter_kill_header>"
 msgstr "B<default_filter_kill_header>"
 
 #. type: ta
-#: doc/tin.5:1538 doc/tin.5:1567
+#: doc/tin.5:1590 doc/tin.5:1619
 #, no-wrap
 msgid "\\w'0,1   'u +\\w'\\'\\'Message-ID:\\'\\' & last \\'\\'References:\\'\\' entry only'u"
 msgstr "\\w'0,1   'u +\\w'\\'\\'Message-ID:\\'\\' & last \\'\\'References:\\'\\' entry only'u"
 
 #. type: Plain text
-#: doc/tin.5:1547 doc/tin.5:1576
+#: doc/tin.5:1599 doc/tin.5:1628
 #, no-wrap
 msgid ""
 "0\t''Subject:'' (case sensitive)\n"
@@ -13866,158 +14182,173 @@ msgstr ""
 "7\t''Lines:''\n"
 
 #. type: TP
-#: doc/tin.5:1549
+#: doc/tin.5:1601
 #, no-wrap
 msgid "B<default_filter_select_case>"
 msgstr "B<default_filter_select_case>"
 
 #. type: TP
-#: doc/tin.5:1553
+#: doc/tin.5:1605
 #, no-wrap
 msgid "B<default_filter_select_expire>"
 msgstr "B<default_filter_select_expire>"
 
 #. type: TP
-#: doc/tin.5:1558
+#: doc/tin.5:1610
 #, no-wrap
 msgid "B<default_filter_select_global>"
 msgstr "B<default_filter_select_global>"
 
 #. type: TP
-#: doc/tin.5:1562
+#: doc/tin.5:1614
 #, no-wrap
 msgid "B<default_filter_select_header>"
 msgstr "B<default_filter_select_header>"
 
 #. type: TP
-#: doc/tin.5:1578
+#: doc/tin.5:1630
 #, no-wrap
 msgid "B<default_goto_group>"
 msgstr "B<default_goto_group>"
 
 #. type: TP
-#: doc/tin.5:1580
+#: doc/tin.5:1632
 #, no-wrap
 msgid "B<default_group_search>"
 msgstr "B<default_group_search>"
 
 #. type: TP
-#: doc/tin.5:1582
+#: doc/tin.5:1634
 #, no-wrap
 msgid "B<default_mail_address>"
 msgstr "B<default_mail_address>"
 
 #. type: TP
-#: doc/tin.5:1584
+#: doc/tin.5:1636
 #, no-wrap
 msgid "B<default_move_group>"
 msgstr "B<default_move_group>"
 
 #. type: TP
-#: doc/tin.5:1586
+#: doc/tin.5:1638
 #, no-wrap
 msgid "B<default_pattern>"
 msgstr "B<default_pattern>"
 
 #. type: TP
-#: doc/tin.5:1588
+#: doc/tin.5:1640
 #, no-wrap
 msgid "B<default_pipe_command>"
 msgstr "B<default_pipe_command>"
 
 #. type: TP
-#: doc/tin.5:1590
+#: doc/tin.5:1642
 #, no-wrap
 msgid "B<default_post_newsgroups>"
 msgstr "B<default_post_newsgroups>"
 
 #. type: TP
-#: doc/tin.5:1592
+#: doc/tin.5:1644
 #, no-wrap
 msgid "B<default_post_subject>"
 msgstr "B<default_post_subject>"
 
 #. type: TP
-#: doc/tin.5:1594
+#: doc/tin.5:1646
 #, no-wrap
 msgid "B<default_range_group>"
 msgstr "B<default_range_group>"
 
 #. type: TP
-#: doc/tin.5:1596
+#: doc/tin.5:1648
 #, no-wrap
 msgid "B<default_range_select>"
 msgstr "B<default_range_select>"
 
 #. type: TP
-#: doc/tin.5:1598
+#: doc/tin.5:1650
 #, no-wrap
 msgid "B<default_range_thread>"
 msgstr "B<default_range_thread>"
 
 #. type: TP
-#: doc/tin.5:1600
+#: doc/tin.5:1652
 #, no-wrap
 msgid "B<default_repost_group>"
 msgstr "B<default_repost_group>"
 
 #. type: TP
-#: doc/tin.5:1602
+#: doc/tin.5:1654
 #, no-wrap
 msgid "B<default_save_file>"
 msgstr "B<default_save_file>"
 
 #. type: TP
-#: doc/tin.5:1604
+#: doc/tin.5:1656
 #, no-wrap
 msgid "B<default_save_mode>"
 msgstr "B<default_save_mode>"
 
 #. type: TP
-#: doc/tin.5:1606
+#: doc/tin.5:1658
 #, no-wrap
 msgid "B<default_select_pattern>"
 msgstr "B<default_select_pattern>"
 
 #. type: TP
-#: doc/tin.5:1608
+#: doc/tin.5:1660
 #, no-wrap
 msgid "B<default_shell_command>"
 msgstr "B<default_shell_command>"
 
 #. type: TP
-#: doc/tin.5:1610
+#: doc/tin.5:1662
 #, no-wrap
 msgid "B<default_subject_search>"
 msgstr "B<default_subject_search>"
 
 #. type: TP
-#: doc/tin.5:1612
+#: doc/tin.5:1664
+#, no-wrap
+msgid "B<dont_break_words>"
+msgstr "B<dont_break_words>"
+
+#. type: TP
+#: doc/tin.5:1668
 #, no-wrap
 msgid "B<draw_arrow>"
 msgstr "B<draw_arrow>"
 
 #. type: Plain text
-#: doc/tin.5:1623
+#: doc/tin.5:1672
+msgid ""
+"Allows groups/articles to be selected by an arrow '-E<gt>' if set ON or by a "
+"highlighted bar if set OFF. Default is OFF."
+msgstr ""
+"Allows groups/articles to be selected by an arrow '-E<gt>' if set ON or by a "
+"highlighted bar if set OFF. Default is OFF."
+
+#. type: Plain text
+#: doc/tin.5:1679
 msgid ""
 "The format string used to create the editor start command with parameters.  "
 "Default is '%E +%N %F' with %E=Editor, %N=Linenumber and %F=Filename (e.g., /"
-"bin/vi +7 .article). See also $B<VISUAL> and $B<EDITOR> under \"ENVIRONMENT"
-"\" in B<\\%tin>(1)"
+"bin/vi +7 .article). See also $B<VISUAL> and $B<EDITOR> under "
+"\"ENVIRONMENT\" in B<\\%tin>(1)"
 msgstr ""
 "The format string used to create the editor start command with parameters.  "
 "Default is '%E +%N %F' with %E=Editor, %N=Linenumber and %F=Filename (e.g., /"
-"bin/vi +7 .article). See also $B<VISUAL> and $B<EDITOR> under \"ENVIRONMENT"
-"\" in B<\\%tin>(1)"
+"bin/vi +7 .article). See also $B<VISUAL> and $B<EDITOR> under "
+"\"ENVIRONMENT\" in B<\\%tin>(1)"
 
 #. type: TP
-#: doc/tin.5:1626
+#: doc/tin.5:1682
 #, no-wrap
 msgid "B<extquote_regex>"
 msgstr "B<extquote_regex>"
 
 #. type: Plain text
-#: doc/tin.5:1633
+#: doc/tin.5:1689
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_extquote>. If B<extquote_regex> is blank, "
@@ -14028,38 +14359,38 @@ msgstr ""
 "then B<\\%tin>(1) uses a built-in default."
 
 #. type: TP
-#: doc/tin.5:1633
+#: doc/tin.5:1689
 #, no-wrap
 msgid "B<force_screen_redraw>"
 msgstr "B<force_screen_redraw>"
 
 #. type: TP
-#: doc/tin.5:1637
+#: doc/tin.5:1693
 #, no-wrap
 msgid "B<getart_limit>"
 msgstr "B<getart_limit>"
 
 #. type: Plain text
-#: doc/tin.5:1644
+#: doc/tin.5:1700
 msgid ""
 "If B<getart_limit> is E<gt> 0 not more than the last B<getart_limit> "
-"articles/group are fetched from the server. If B<getart_limit> is E<lt> 0 B<"
-"\\%tin>(1)  will start fetching articles from your first unread minus "
+"articles/group are fetched from the server. If B<getart_limit> is E<lt> 0 "
+"B<\\%tin>(1)  will start fetching articles from your first unread minus "
 "absolute value of B<getart_limit>. Default is 0, which means no limit."
 msgstr ""
 "If B<getart_limit> is E<gt> 0 not more than the last B<getart_limit> "
-"articles/group are fetched from the server. If B<getart_limit> is E<lt> 0 B<"
-"\\%tin>(1)  will start fetching articles from your first unread minus "
+"articles/group are fetched from the server. If B<getart_limit> is E<lt> 0 "
+"B<\\%tin>(1)  will start fetching articles from your first unread minus "
 "absolute value of B<getart_limit>. Default is 0, which means no limit."
 
 #. type: TP
-#: doc/tin.5:1644
+#: doc/tin.5:1700
 #, no-wrap
 msgid "B<goto_next_unread>"
 msgstr "B<goto_next_unread>"
 
 #. type: Plain text
-#: doc/tin.5:1658
+#: doc/tin.5:1714
 msgid ""
 "Which keys B<\\%tin>(1)  should accept to jump to the next unread article.  "
 "Possible is any combination of B<PageDown> and B<PageNextUnread>.  When "
@@ -14076,7 +14407,7 @@ msgstr ""
 "Default is B<PageNextUnread>."
 
 #. type: Plain text
-#: doc/tin.5:1665
+#: doc/tin.5:1721
 msgid ""
 "The format string used for the Group level. Default is \"%n\\ %m\\ %R\\ %L\\ "
 "\\ %s\\ \\ %F\". The following substitutions are supported:"
@@ -14085,13 +14416,13 @@ msgstr ""
 "\\ %s\\ \\ %F\". The following substitutions are supported:"
 
 #. type: ta
-#: doc/tin.5:1667
+#: doc/tin.5:1723
 #, no-wrap
 msgid "\\w'%G    'u +\\w'number of responses in thread'u"
 msgstr "\\w'%G    'u +\\w'number of responses in thread'u"
 
 #. type: Plain text
-#: doc/tin.5:1679
+#: doc/tin.5:1735
 #, no-wrap
 msgid ""
 "%D\tdate\n"
@@ -14119,62 +14450,62 @@ msgstr ""
 "%%\t%\n"
 
 #. type: TP
-#: doc/tin.5:1681
+#: doc/tin.5:1737
 #, no-wrap
 msgid "B<hide_uue>"
 msgstr "B<hide_uue>"
 
 #. type: TP
-#: doc/tin.5:1691
+#: doc/tin.5:1747
 #, no-wrap
 msgid "B<inews_prog>"
 msgstr "B<inews_prog>"
 
 #. type: TP
-#: doc/tin.5:1698
+#: doc/tin.5:1754
 #, no-wrap
 msgid "B<info_in_last_line>"
 msgstr "B<info_in_last_line>"
 
 #. type: TP
-#: doc/tin.5:1704
+#: doc/tin.5:1760
 #, no-wrap
 msgid "B<interactive_mailer>"
 msgstr "B<interactive_mailer>"
 
 #. type: Plain text
-#: doc/tin.5:1710
+#: doc/tin.5:1766
 msgid ""
 "If greater than 0 your mailreader will be invoked earlier for reply so you "
-"can use more of its features (e.g. MIME, pgp, ...). 1 means include headers, "
-"2 means don't include headers (old use_mailreader_i=ON option). 0 turns off "
-"usage. This option has to suit B<mailer_format>. Default is 0."
+"can use more of its features (e.g., MIME, pgp, ...). 1 means include "
+"headers, 2 means don't include headers (old use_mailreader_i=ON option). 0 "
+"turns off usage. This option has to suit B<mailer_format>. Default is 0."
 msgstr ""
 "If greater than 0 your mailreader will be invoked earlier for reply so you "
-"can use more of its features (e.g. MIME, pgp, ...). 1 means include headers, "
-"2 means don't include headers (old use_mailreader_i=ON option). 0 turns off "
-"usage. This option has to suit B<mailer_format>. Default is 0."
+"can use more of its features (e.g., MIME, pgp, ...). 1 means include "
+"headers, 2 means don't include headers (old use_mailreader_i=ON option). 0 "
+"turns off usage. This option has to suit B<mailer_format>. Default is 0."
 
 #. type: TP
-#: doc/tin.5:1710
+#: doc/tin.5:1766
 #, no-wrap
 msgid "B<inverse_okay>"
 msgstr "B<inverse_okay>"
 
 #. type: TP
-#: doc/tin.5:1714
+#: doc/tin.5:1770
 #, no-wrap
 msgid "B<keep_dead_articles>"
 msgstr "B<keep_dead_articles>"
 
 #. type: TP
-#: doc/tin.5:1719
+#: doc/tin.5:1775
 #, no-wrap
 msgid "B<kill_level>"
 msgstr "B<kill_level>"
 
 #. type: Plain text
-#: doc/tin.5:1723
+#: doc/tin.5:1779
 msgid ""
 "This option controls the processing and display of articles that are killed. "
 "There are 3 options, default is 0 (B<Kill only unread arts>)."
@@ -14183,7 +14514,7 @@ msgstr ""
 "There are 3 options, default is 0 (B<Kill only unread arts>)."
 
 #. type: Plain text
-#: doc/tin.5:1731
+#: doc/tin.5:1787
 msgid ""
 "B<Kill only unread arts> is the 'traditional' behavior of B<\\%tin>(1).  "
 "Only unread articles are killed once only by marking them read. As filtering "
@@ -14198,13 +14529,13 @@ msgstr ""
 "When you reenter the group the mark will be gone."
 
 #. type: TP
-#: doc/tin.5:1747
+#: doc/tin.5:1803
 #, no-wrap
 msgid "B<mail_address>"
 msgstr "B<mail_address>"
 
 #. type: Plain text
-#: doc/tin.5:1753
+#: doc/tin.5:1809
 msgid ""
 "User's mail address (and full name), if not username@host. This is used when "
 "creating articles, sending mail and when B<\\%pgp>(1)  signing."
@@ -14213,67 +14544,109 @@ msgstr ""
 "creating articles, sending mail and when B<\\%pgp>(1)  signing."
 
 #. type: TP
-#: doc/tin.5:1757
+#: doc/tin.5:1813
 #, no-wrap
 msgid "B<mail_quote_format>"
 msgstr "B<mail_quote_format>"
 
 #. type: TP
-#: doc/tin.5:1762
+#: doc/tin.5:1819
 #, no-wrap
 msgid "B<mailbox_format>"
 msgstr "B<mailbox_format>"
 
 #. type: TP
-#: doc/tin.5:1781
+#: doc/tin.5:1838
 #, no-wrap
 msgid "B<mailer_format>"
 msgstr "B<mailer_format>"
 
 #. type: TP
-#: doc/tin.5:1819
+#: doc/tin.5:1875
 #, no-wrap
 msgid "B<metamail_prog>"
 msgstr "B<metamail_prog>"
 
 #. type: TP
-#: doc/tin.5:1831 doc/tin.5:2592
+#: doc/tin.5:1887 doc/tin.5:2659
 #, no-wrap
 msgid "B<mm_charset>"
 msgstr "B<mm_charset>"
 
+#. type: Plain text
+#: doc/tin.5:1902
+msgid ""
+"Charset supported locally, which is also used for MIME header (charset "
+"parameter and charset name in header encoding) in mail and news postings. If "
+"B<MIME_STRICT_CHARSET> is defined at compile time, text in charset other "
+"than the value of this parameter is considered not displayable and "
+"represented as '?'. Otherwise, all character sets are regarded as compatible "
+"with the display. If it's not set, the value of the environment variable "
+"$B<MM_CHARSET> is used. US-ASCII or compile-time default is used in case "
+"neither of them is defined. If your system supports B<\\%iconv>(3)  or B<\\"
+"%ucnv_*>(), this option is disabled and you should use B<mm_network_charset> "
+"instead."
+msgstr ""
+"Charset supported locally, which is also used for MIME header (charset "
+"parameter and charset name in header encoding) in mail and news postings. If "
+"B<MIME_STRICT_CHARSET> is defined at compile time, text in charset other "
+"than the value of this parameter is considered not displayable and "
+"represented as '?'. Otherwise, all character sets are regarded as compatible "
+"with the display. If it's not set, the value of the environment variable "
+"$B<MM_CHARSET> is used. US-ASCII or compile-time default is used in case "
+"neither of them is defined. If your system supports B<\\%iconv>(3)  or B<\\"
+"%ucnv_*>(), this option is disabled and you should use B<mm_network_charset> "
+"instead."
+
+#. type: Plain text
+#: doc/tin.5:1915
+msgid ""
+"Charset used for posting and MIME headers; replaces B<mm_charset>.  "
+"Conversion between B<mm_network_charset> and local charset (determined via "
+"B<\\%nl_langinfo>(3))  is done via B<\\%iconv>(3)  or B<\\%ucnv_*>(), if "
+"none of these functions are available on your system this option is disabled "
+"and you have to use B<mm_charset> instead. B<mm_network_charset> is limited "
+"to one of the following charsets:"
+msgstr ""
+"Charset used for posting and MIME headers; replaces B<mm_charset>.  "
+"Conversion between B<mm_network_charset> and local charset (determined via "
+"B<\\%nl_langinfo>(3))  is done via B<\\%iconv>(3)  or B<\\%ucnv_*>(), if "
+"none of these functions are available on your system this option is disabled "
+"and you have to use B<mm_charset> instead. B<mm_network_charset> is limited "
+"to one of the following charsets:"
+
 #. type: TP
-#: doc/tin.5:1864
+#: doc/tin.5:1924
 #, no-wrap
 msgid "B<mono_markdash>"
 msgstr "B<mono_markdash>"
 
 #. type: TP
-#: doc/tin.5:1869
+#: doc/tin.5:1929
 #, no-wrap
 msgid "B<mono_markslash>"
 msgstr "B<mono_markslash>"
 
 #. type: TP
-#: doc/tin.5:1874
+#: doc/tin.5:1934
 #, no-wrap
 msgid "B<mono_markstar>"
 msgstr "B<mono_markstar>"
 
 #. type: TP
-#: doc/tin.5:1879
+#: doc/tin.5:1939
 #, no-wrap
 msgid "B<mono_markstroke>"
 msgstr "B<mono_markstroke>"
 
 #. type: TP
-#: doc/tin.5:1884
+#: doc/tin.5:1944
 #, no-wrap
 msgid "B<newnews>"
 msgstr "B<newnews>"
 
 #. type: Plain text
-#: doc/tin.5:1890
+#: doc/tin.5:1950
 msgid ""
 "These are internal timers used by B<\\%tin>(1)  to keep track of new "
 "newsgroups. Do not change them unless you understand what they are for."
@@ -14282,25 +14655,25 @@ msgstr ""
 "newsgroups. Do not change them unless you understand what they are for."
 
 #. type: TP
-#: doc/tin.5:1911
+#: doc/tin.5:1972
 #, no-wrap
 msgid "B<nntp_read_timeout_secs>"
 msgstr "B<nntp_read_timeout_secs>"
 
 #. type: Plain text
-#: doc/tin.5:1914
+#: doc/tin.5:1975
 msgid "Time in seconds to wait for a response from the server. Default is 120."
 msgstr ""
 "Time in seconds to wait for a response from the server. Default is 120."
 
 #. type: TP
-#: doc/tin.5:1914
+#: doc/tin.5:1975
 #, no-wrap
 msgid "B<normalization_form>"
 msgstr "B<normalization_form>"
 
 #. type: Plain text
-#: doc/tin.5:1918
+#: doc/tin.5:1979
 msgid ""
 "The normalization form which should be used to normalize unicode input.  The "
 "possible values are:"
@@ -14309,24 +14682,24 @@ msgstr ""
 "possible values are:"
 
 #. type: Plain text
-#: doc/tin.5:1936
+#: doc/tin.5:1997
 msgid ""
 "Some normalization modes are only available if they are supported by the "
 "library B<\\%tin>(1)  uses to do the normalization. NFC should be used if "
-"possible."
+"possible (B<RFC\\%5198>)."
 msgstr ""
 "Some normalisation modes are only available if they are supported by the "
 "library B<\\%tin>(1)  uses to do the normalisation. NFC should be used if "
-"possible."
+"possible (B<RFC\\%5198>)."
 
 #. type: TP
-#: doc/tin.5:1936
+#: doc/tin.5:1997
 #, no-wrap
 msgid "B<page_mime_format>"
 msgstr "B<page_mime_format>"
 
 #. type: Plain text
-#: doc/tin.5:1942
+#: doc/tin.5:2003
 msgid ""
 "Format string B<\\%tin>(1)  uses for mime header at Page level.  Default is "
 "\"[-- %T%S%*n%z%*l%!c%!d%*e --]\"."
@@ -14335,13 +14708,13 @@ msgstr ""
 "\"[-- %T%S%*n%z%*l%!c%!d%*e --]\"."
 
 #. type: TP
-#: doc/tin.5:1942
+#: doc/tin.5:2003
 #, no-wrap
 msgid "B<page_uue_format>"
 msgstr "B<page_uue_format>"
 
 #. type: Plain text
-#: doc/tin.5:1948
+#: doc/tin.5:2009
 msgid ""
 "Format string B<\\%tin>(1)  uses for uue header at Page level.  Default is "
 "\"[-- %T%S%*n%I%!d%*e --]\"."
@@ -14350,7 +14723,7 @@ msgstr ""
 "\"[-- %T%S%*n%I%!d%*e --]\"."
 
 #. type: Plain text
-#: doc/tin.5:1976
+#: doc/tin.5:2037
 msgid ""
 "If ON, then B<\\%tin>(1)  will start an appropriate viewer program to "
 "display any files that were post processed and uudecoded. The program is "
@@ -14361,19 +14734,19 @@ msgstr ""
 "determined using the B<\\%mailcap>(5)  file. Default is ON."
 
 #. type: TP
-#: doc/tin.5:1992
+#: doc/tin.5:2053
 #, no-wrap
 msgid "B<posted_articles_file>"
 msgstr "B<posted_articles_file>"
 
 #. type: TP
-#: doc/tin.5:2004
+#: doc/tin.5:2065
 #, no-wrap
 msgid "B<printer>"
 msgstr "B<printer>"
 
 #. type: Plain text
-#: doc/tin.5:2014
+#: doc/tin.5:2075
 msgid ""
 "The printer program with options that is to be used to print articles. The "
 "default is B<\\%lpr>(1)  for BSD machines and B<\\%lp>(1)  for SysV "
@@ -14386,7 +14759,7 @@ msgstr ""
 "Administrator."
 
 #. type: Plain text
-#: doc/tin.5:2022
+#: doc/tin.5:2083
 msgid ""
 "If ON show empty ''Followup-To:'' header when editing an article.  Default "
 "is OFF."
@@ -14395,13 +14768,13 @@ msgstr ""
 "is OFF."
 
 #. type: TP
-#: doc/tin.5:2027
+#: doc/tin.5:2089
 #, no-wrap
 msgid "B<quote_style>"
 msgstr "B<quote_style>"
 
 #. type: Plain text
-#: doc/tin.5:2033
+#: doc/tin.5:2095
 msgid ""
 "This bit coded integer value controls how articles are to be quoted when "
 "following up or replying to them. Any of the following options can be "
@@ -14414,7 +14787,12 @@ msgstr ""
 "characters are compressed and empty lines are quoted."
 
 #. type: Plain text
-#: doc/tin.5:2038
+#: doc/tin.5:2098
+msgid "B<Nothing special> Non empty lines are quoted."
+msgstr "B<Nothing special> Non empty lines are quoted."
+
+#. type: Plain text
+#: doc/tin.5:2102
 msgid ""
 "B<Compress quotes> Compress quote characters together when quoting multiple "
 "times (for example, 'E<gt> E<gt> E<gt>' will be turned into "
@@ -14425,7 +14803,7 @@ msgstr ""
 "'E<gt>E<gt>E<gt>'). This option is on by default."
 
 #. type: Plain text
-#: doc/tin.5:2044
+#: doc/tin.5:2108
 msgid ""
 "B<Quote Signatures> This option is off by default. Signatures are always "
 "quoted regardless of this option when you are viewing an article in raw mode "
@@ -14438,35 +14816,35 @@ msgstr ""
 "quoted regardless of this option when B<show_signatures> is off."
 
 #. type: Plain text
-#: doc/tin.5:2046
+#: doc/tin.5:2110
 msgid "B<Quote empty lines> This option is on by default."
 msgstr "B<Quote empty lines> This option is on by default."
 
 #. type: TP
-#: doc/tin.5:2047
+#: doc/tin.5:2111
 #, no-wrap
 msgid "B<quote_regex>"
 msgstr "B<quote_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2054
+#: doc/tin.5:2118
 msgid ""
 "A regular expression that will be applied when reading articles. All "
-"matching lines are shown in B<col_quote>. If B<quote_regex> is blank, then B<"
-"\\%tin>(1)  uses a built-in default."
+"matching lines are shown in B<col_quote>. If B<quote_regex> is blank, then "
+"B<\\%tin>(1)  uses a built-in default."
 msgstr ""
 "A regular expression that will be applied when reading articles. All "
-"matching lines are shown in B<col_quote>. If B<quote_regex> is blank, then B<"
-"\\%tin>(1)  uses a built-in default."
+"matching lines are shown in B<col_quote>. If B<quote_regex> is blank, then "
+"B<\\%tin>(1)  uses a built-in default."
 
 #. type: TP
-#: doc/tin.5:2054
+#: doc/tin.5:2118
 #, no-wrap
 msgid "B<quote_regex2>"
 msgstr "B<quote_regex2>"
 
 #. type: Plain text
-#: doc/tin.5:2061
+#: doc/tin.5:2125
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote2>. If B<quote_regex2> is blank, then "
@@ -14477,13 +14855,13 @@ msgstr ""
 "B<\\%tin>(1)  uses a built-in default."
 
 #. type: TP
-#: doc/tin.5:2061
+#: doc/tin.5:2125
 #, no-wrap
 msgid "B<quote_regex3>"
 msgstr "B<quote_regex3>"
 
 #. type: Plain text
-#: doc/tin.5:2068
+#: doc/tin.5:2132
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote3>. If B<quote_regex3> is blank, then "
@@ -14494,19 +14872,19 @@ msgstr ""
 "B<\\%tin>(1)  uses a built-in default."
 
 #. type: TP
-#: doc/tin.5:2068
+#: doc/tin.5:2132
 #, no-wrap
 msgid "B<recent_time>"
 msgstr "B<recent_time>"
 
 #. type: TP
-#: doc/tin.5:2072
+#: doc/tin.5:2136
 #, no-wrap
 msgid "B<render_bidi>"
 msgstr "B<render_bidi>"
 
 #. type: Plain text
-#: doc/tin.5:2079
+#: doc/tin.5:2143
 msgid ""
 "If ON B<\\%tin>(1)  does the rendering of bi-directional text. If OFF B<\\"
 "%tin>(1)  leaves the rendering of bi-directional text to the terminal. "
@@ -14517,66 +14895,66 @@ msgstr ""
 "Default is OFF."
 
 #. type: TP
-#: doc/tin.5:2079
+#: doc/tin.5:2143
 #, no-wrap
 msgid "B<reread_active_file_secs>"
 msgstr "B<reread_active_file_secs>"
 
 #. type: TP
-#: doc/tin.5:2088
+#: doc/tin.5:2152
 #, no-wrap
 msgid "B<score_limit_kill>"
 msgstr "B<score_limit_kill>"
 
 #. type: TP
-#: doc/tin.5:2092
+#: doc/tin.5:2156
 #, no-wrap
 msgid "B<score_limit_select>"
 msgstr "B<score_limit_select>"
 
 #. type: TP
-#: doc/tin.5:2096
+#: doc/tin.5:2160
 #, no-wrap
 msgid "B<score_kill>"
 msgstr "B<score_kill>"
 
 #. type: TP
-#: doc/tin.5:2100
+#: doc/tin.5:2164
 #, no-wrap
 msgid "B<score_select>"
 msgstr "B<score_select>"
 
 #. type: TP
-#: doc/tin.5:2104
+#: doc/tin.5:2168
 #, no-wrap
 msgid "B<scroll_lines>"
 msgstr "B<scroll_lines>"
 
 #. type: Plain text
-#: doc/tin.5:2114
+#: doc/tin.5:2178
 msgid ""
 "The number of lines that will be scrolled up/down in the article pager when "
 "using cursor-up/down. The default is 1 (line-by-line). Set to 0 to get "
 "traditional B<\\%tin>(1)  page-by-page scrolling. Set to -1 to get page-by-"
 "page scrolling where the top/bottom line is carried over onto the next "
-"page.  This setting supersedes show_last_line_prev_page=ON. Set to -2 to get "
-"half-page scrolling. This setting supersedes B<full_page_scroll>=OFF."
+"page.  This setting supersedes B<show_last_line_prev_page>=ON. Set to -2 to "
+"get half-page scrolling. This setting supersedes B<full_page_scroll>=OFF."
 msgstr ""
 "The number of lines that will be scrolled up/down in the article pager when "
 "using cursor-up/down. The default is 1 (line-by-line). Set to 0 to get "
 "traditional B<\\%tin>(1) page-by-page scrolling. Set to -1 to get page-by-"
 "page scrolling where the top/bottom line is carried over onto the next "
-"page.  This setting supersedes show_last_line_prev_page=ON. Set to -2 to get "
-"half-page scrolling. This setting supersedes B<full_page_scroll>=OFF."
+"page.  This setting supersedes B<show_last_line_prev_page>=ON. Set to -2 to "
+"get half-page scrolling. This setting supersedes B<full_page_scroll>=OFF."
 
 #. type: TP
-#: doc/tin.5:2114
+#: doc/tin.5:2178
 #, no-wrap
 msgid "B<select_format>"
 msgstr "B<select_format>"
 
 #. type: Plain text
-#: doc/tin.5:2118
+#: doc/tin.5:2182
 msgid ""
 "The format string used for the Selection level. Default is \"%f\\ %n\\ %U\\ "
 "\\ %G\\ \\ %d\". The following substitutions are supported:"
@@ -14585,13 +14963,13 @@ msgstr ""
 "\\ %G\\ \\ %d\". The following substitutions are supported:"
 
 #. type: ta
-#: doc/tin.5:2120
+#: doc/tin.5:2184
 #, no-wrap
 msgid "\\w'%G    'u +\\w'current group number'u"
 msgstr "\\w'%G    'u +\\w'current group number'u"
 
 #. type: Plain text
-#: doc/tin.5:2127
+#: doc/tin.5:2191
 #, no-wrap
 msgid ""
 "%G\tgroup name\n"
@@ -14609,19 +14987,19 @@ msgstr ""
 "%%\t%\n"
 
 #. type: TP
-#: doc/tin.5:2129
+#: doc/tin.5:2193
 #, no-wrap
 msgid "B<sort_function>"
 msgstr "B<sort_function>"
 
 #. type: TP
-#: doc/tin.5:2164
+#: doc/tin.5:2228
 #, no-wrap
 msgid "B<show_description>"
 msgstr "B<show_description>"
 
 #. type: Plain text
-#: doc/tin.5:2173
+#: doc/tin.5:2237
 msgid ""
 "If ON show a short group description text after newsgroup name at the group "
 "selection level. The ''B<-d>'' command-line flag will override the setting "
@@ -14638,13 +15016,13 @@ msgstr ""
 "mailgroups> for mailgroups. Default is ON."
 
 #. type: TP
-#: doc/tin.5:2173
+#: doc/tin.5:2237
 #, no-wrap
 msgid "B<show_help_mail_sign>"
 msgstr "B<show_help_mail_sign>"
 
 #. type: Plain text
-#: doc/tin.5:2180
+#: doc/tin.5:2244
 msgid ""
 "Allows you to select whether B<\\%tin>(1)  shows a help indication, a new "
 "mail indication, both, or neither in the various level titles.  Default is 3."
@@ -14653,19 +15031,46 @@ msgstr ""
 "mail indication, both, or neither in the various level titles.  Default is 3."
 
 #. type: TP
-#: doc/tin.5:2196
+#: doc/tin.5:2260
 #, no-wrap
 msgid "B<show_only_unread_groups>"
 msgstr "B<show_only_unread_groups>"
 
+#. type: Plain text
+#: doc/tin.5:2283
+msgid ""
+"The path that specifies the signature file to use when posting, following up "
+"to or replying to an article. If the path is a directory then the signature "
+"will be randomly generated from files that are in the specified directory. "
+"If a file named I<.sigfixed> does exist in that dir or I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.sigfixed> does exist it will be prepended to the chosen "
+"signature (first match counts). If the path starts with a ! the program the "
+"path points to will be executed to generate a signature. In order to pass "
+"the group name to the program, %G can be specified.  This will be replaced "
+"by the name of the current newsgroup. --none will suppress any signature. "
+"Default is I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>.  See also I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.sigfixed>."
+msgstr ""
+"The path that specifies the signature file to use when posting, following up "
+"to or replying to an article. If the path is a directory then the signature "
+"will be randomly generated from files that are in the specified directory. "
+"If a file named I<.sigfixed> does exist in that dir or I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.sigfixed> does exist it will be prepended to the chosen "
+"signature (first match counts). If the path starts with a ! the program the "
+"path points to will be executed to generate a signature. In order to pass "
+"the group name to the program, %G can be specified. This will be replaced by "
+"the name of the current newsgroup. --none will suppress any signature. "
+"Default is I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>. See also I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.sigfixed>."
+
 #. type: TP
-#: doc/tin.5:2219
+#: doc/tin.5:2286
 #, no-wrap
 msgid "B<slashes_regex>"
 msgstr "B<slashes_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2226
+#: doc/tin.5:2293
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markslash> or B<mono_markslash>. If "
@@ -14676,19 +15081,19 @@ msgstr ""
 "B<slashes_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
 
 #. type: TP
-#: doc/tin.5:2272
+#: doc/tin.5:2339
 #, no-wrap
 msgid "B<spamtrap_warning_addresses>"
 msgstr "B<spamtrap_warning_addresses>"
 
 #. type: TP
-#: doc/tin.5:2279
+#: doc/tin.5:2346
 #, no-wrap
 msgid "B<stars_regex>"
 msgstr "B<stars_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2286
+#: doc/tin.5:2353
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markstar> or B<mono_markstar>. If "
@@ -14699,31 +15104,31 @@ msgstr ""
 "B<stars_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
 
 #. type: TP
-#: doc/tin.5:2286
+#: doc/tin.5:2353
 #, no-wrap
 msgid "B<strip_blanks>"
 msgstr "B<strip_blanks>"
 
 #. type: TP
-#: doc/tin.5:2290
+#: doc/tin.5:2357
 #, no-wrap
 msgid "B<strip_bogus>"
 msgstr "B<strip_bogus>"
 
 #. type: TP
-#: doc/tin.5:2299
+#: doc/tin.5:2366
 #, no-wrap
 msgid "B<strip_newsrc>"
 msgstr "B<strip_newsrc>"
 
 #. type: TP
-#: doc/tin.5:2303
+#: doc/tin.5:2370
 #, no-wrap
 msgid "B<strip_re_regex>"
 msgstr "B<strip_re_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2309
+#: doc/tin.5:2376
 msgid ""
 "A regular expression to find Subject prefixes like \"Re:\" to remove If "
 "B<strip_re_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
@@ -14732,19 +15137,19 @@ msgstr ""
 "B<strip_re_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
 
 #. type: TP
-#: doc/tin.5:2309
+#: doc/tin.5:2376
 #, no-wrap
 msgid "B<strip_was_regex>"
 msgstr "B<strip_was_regex>"
 
 #. type: TP
-#: doc/tin.5:2315
+#: doc/tin.5:2382
 #, no-wrap
 msgid "B<strokes_regex>"
 msgstr "B<strokes_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2322
+#: doc/tin.5:2389
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markstroke> or B<mono_markstroke>.  If "
@@ -14755,7 +15160,7 @@ msgstr ""
 "B<strokes_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
 
 #. type: Plain text
-#: doc/tin.5:2327
+#: doc/tin.5:2394
 msgid ""
 "Decode German style TeX umlaut codes to ISO If ON, show \"a as Umlaut-a, "
 "etc. Default is OFF. This behavior can also be toggled in the article viewer "
@@ -14766,53 +15171,53 @@ msgstr ""
 "viewer via B<PageToggleTex2iso> ('B<\">')."
 
 #. type: Plain text
-#: doc/tin.5:2330
+#: doc/tin.5:2397
 msgid "Defines which threading method to use. The choices are:"
 msgstr "Defines which threading method to use. The choices are:"
 
 #. type: Plain text
-#: doc/tin.5:2333
+#: doc/tin.5:2400
 msgid "Don't thread"
 msgstr "Don't thread"
 
 #. type: Plain text
-#: doc/tin.5:2335
+#: doc/tin.5:2402
 msgid "Thread on Subject only"
 msgstr "Thread on Subject only"
 
 #. type: Plain text
-#: doc/tin.5:2337
+#: doc/tin.5:2404
 msgid "Thread on References only"
 msgstr "Thread on References only"
 
 #. type: Plain text
-#: doc/tin.5:2339
+#: doc/tin.5:2406
 msgid "Thread on References then Subject (default)"
 msgstr "Thread on References then Subject (default)"
 
 #. type: Plain text
-#: doc/tin.5:2341
+#: doc/tin.5:2408
 msgid "Thread multipart articles on Subject"
 msgstr "Thread multipart articles on Subject"
 
 #. type: Plain text
-#: doc/tin.5:2343
+#: doc/tin.5:2410
 msgid "Thread on Percentage Match of the Subjects"
 msgstr "Thread on Percentage Match of the Subjects"
 
 #. type: Plain text
-#: doc/tin.5:2347
+#: doc/tin.5:2414
 msgid ""
 "It's also possible to set the threading type on a per group basis by setting "
-"the group attribute variable B<thread_articles> to 0 \\(en 5 in the file I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes>."
+"the group attribute variable B<thread_articles> to 0 \\(en 5 in the file "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes>."
 msgstr ""
 "It's also possible to set the threading type on a per group basis by setting "
-"the group attribute variable B<thread_articles> to 0 \\(en 5 in the file I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes>."
+"the group attribute variable B<thread_articles> to 0 \\(en 5 in the file "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes>."
 
 #. type: Plain text
-#: doc/tin.5:2351
+#: doc/tin.5:2418
 msgid ""
 "The format string used for the Thread level. Default is \"%n\\ %m\\ \\ "
 "[%L]\\ \\ %T\\ \\ %F\". The following substitutions are supported:"
@@ -14821,13 +15226,13 @@ msgstr ""
 "[%L]\\ \\ %T\\ \\ %F\". The following substitutions are supported:"
 
 #. type: ta
-#: doc/tin.5:2353
+#: doc/tin.5:2420
 #, no-wrap
 msgid "\\w'%G    'u +\\w'from, name and/or address'u"
 msgstr "\\w'%G    'u +\\w'from, name and/or address'u"
 
 #. type: Plain text
-#: doc/tin.5:2364
+#: doc/tin.5:2431
 #, no-wrap
 msgid ""
 "%D\tdate\n"
@@ -14853,7 +15258,7 @@ msgstr ""
 "%%\t%\n"
 
 #. type: Plain text
-#: doc/tin.5:2371
+#: doc/tin.5:2438
 msgid ""
 "Defines how close the subjects must match while threading by Percentage "
 "Match for threads to be considered part of a single thread. This value is in "
@@ -14864,34 +15269,34 @@ msgstr ""
 "the range 0 to 100. The default is 75."
 
 #. type: TP
-#: doc/tin.5:2375
+#: doc/tin.5:2442
 #, no-wrap
 msgid "B<thread_score>"
 msgstr "B<thread_score>"
 
 #. type: TP
-#: doc/tin.5:2387
+#: doc/tin.5:2454
 #, no-wrap
 msgid "B<tls_ca_cert_file>"
 msgstr "B<tls_ca_cert_file>"
 
 #. type: Plain text
-#: doc/tin.5:2392
+#: doc/tin.5:2459
 msgid ""
-"The name of file containing all trusted CA certificates used for NNTPS (B<RFC"
-"\\%8143>) connections. If left empty the system default will be used."
+"The name of file containing all trusted CA certificates used for NNTPS "
+"(B<RFC\\%8143>) connections. If left empty the system default will be used."
 msgstr ""
-"The name of file containing all trusted CA certificates used for NNTPS (B<RFC"
-"\\%8143>) connections. If left empty the system default will be used."
+"The name of file containing all trusted CA certificates used for NNTPS "
+"(B<RFC\\%8143>) connections. If left empty the system default will be used."
 
 #. type: TP
-#: doc/tin.5:2392
+#: doc/tin.5:2459
 #, no-wrap
 msgid "B<translit>"
 msgstr "B<translit>"
 
 #. type: Plain text
-#: doc/tin.5:2406
+#: doc/tin.5:2473
 msgid ""
 "Allows you to select how B<\\%tin>(1)  treats blank lines in article "
 "bodies.  Default is 0. This option does not affect lines within verbatim "
@@ -14901,7 +15306,7 @@ msgstr ""
 "Default is 0. This option does not affect lines within verbatim blocks."
 
 #. type: Plain text
-#: doc/tin.5:2429
+#: doc/tin.5:2496
 msgid ""
 "If ON remove soft hyphens (U+00AD) from non verbatim blocks when displaying "
 "articles. Default is OFF."
@@ -14910,13 +15315,13 @@ msgstr ""
 "articles. Default is OFF."
 
 #. type: TP
-#: doc/tin.5:2429
+#: doc/tin.5:2496
 #, no-wrap
 msgid "B<underscores_regex>"
 msgstr "B<underscores_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2436
+#: doc/tin.5:2503
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markdash> or B<mono_markdash>. If "
@@ -14927,13 +15332,13 @@ msgstr ""
 "B<underscores_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
 
 #. type: TP
-#: doc/tin.5:2436
+#: doc/tin.5:2503
 #, no-wrap
 msgid "B<unlink_article>"
 msgstr "B<unlink_article>"
 
 #. type: Plain text
-#: doc/tin.5:2440
+#: doc/tin.5:2507
 msgid ""
 "If ON remove I<${TIN_HOMEDIR:-\"$HOME\"}/.article> after posting. Default is "
 "ON."
@@ -14942,53 +15347,53 @@ msgstr ""
 "ON."
 
 #. type: TP
-#: doc/tin.5:2440
+#: doc/tin.5:2507
 #, no-wrap
 msgid "B<url_handler>"
 msgstr "B<url_handler>"
 
 #. type: TP
-#: doc/tin.5:2445
+#: doc/tin.5:2512
 #, no-wrap
 msgid "B<url_highlight>"
 msgstr "B<url_highlight>"
 
 #. type: TP
-#: doc/tin.5:2448
+#: doc/tin.5:2515
 #, no-wrap
 msgid "B<use_color>"
 msgstr "B<use_color>"
 
 #. type: Plain text
-#: doc/tin.5:2453
+#: doc/tin.5:2520
 msgid "If enabled B<\\%tin>(1)  uses ANSI-colors. Default is OFF."
 msgstr "If enabled B<\\%tin>(1)  uses ANSI-colours. Default is OFF."
 
 #. type: TP
-#: doc/tin.5:2453
+#: doc/tin.5:2520
 #, no-wrap
 msgid "B<use_keypad>"
 msgstr "B<use_keypad>"
 
 #. type: Plain text
-#: doc/tin.5:2456
+#: doc/tin.5:2523
 msgid "Use scroll keys on keypad. Default is OFF."
 msgstr "Use scroll keys on keypad. Default is OFF."
 
 #. type: TP
-#: doc/tin.5:2456
+#: doc/tin.5:2523
 #, no-wrap
 msgid "B<use_mouse>"
 msgstr "B<use_mouse>"
 
 #. type: TP
-#: doc/tin.5:2462
+#: doc/tin.5:2529
 #, no-wrap
 msgid "B<use_slrnface>"
 msgstr "B<use_slrnface>"
 
 #. type: Plain text
-#: doc/tin.5:2474
+#: doc/tin.5:2541
 msgid ""
 "If enabled B<\\%slrnface>(1)  will be used to interpret the ''X-Face:'' "
 "header. For this option to have any effect, B<\\%tin>(1)  must be running in "
@@ -15001,19 +15406,28 @@ msgstr ""
 "is OFF."
 
 #. type: TP
-#: doc/tin.5:2474
+#: doc/tin.5:2541
 #, no-wrap
 msgid "B<utf8_graphics>"
 msgstr "B<utf8_graphics>"
 
+#. type: Plain text
+#: doc/tin.5:2545
+msgid ""
+"If ON use UTF-8 characters for indicator ('-E<gt>'), thread/attachment tree "
+"and ellipsis ('...'). Default is OFF."
+msgstr ""
+"If ON use UTF-8 characters for indicator ('-E<gt>'), thread/attachment tree "
+"and ellipsis ('...'). Default is OFF."
+
 #. type: TP
-#: doc/tin.5:2478
+#: doc/tin.5:2545
 #, no-wrap
 msgid "B<verbatim_begin_regex>"
 msgstr "B<verbatim_begin_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2484
+#: doc/tin.5:2551
 msgid ""
 "A regular expression that B<\\%tin>(1)  will use to find the begin of a "
 "verbatim block. Default is #v+"
@@ -15022,13 +15436,13 @@ msgstr ""
 "verbatim block. Default is #v+"
 
 #. type: TP
-#: doc/tin.5:2484
+#: doc/tin.5:2551
 #, no-wrap
 msgid "B<verbatim_end_regex>"
 msgstr "B<verbatim_end_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2490
+#: doc/tin.5:2557
 msgid ""
 "A regular expression that B<\\%tin>(1)  will use to find the end of a "
 "verbatim block. Default is #v-"
@@ -15037,13 +15451,13 @@ msgstr ""
 "verbatim block. Default is #v-"
 
 #. type: TP
-#: doc/tin.5:2493
+#: doc/tin.5:2560
 #, no-wrap
 msgid "B<wildcard>"
 msgstr "B<wildcard>"
 
 #. type: Plain text
-#: doc/tin.5:2517
+#: doc/tin.5:2584
 msgid ""
 "Allows you to select how B<\\%tin>(1)  matches strings. The default is 0 and "
 "uses the B<\\%wildmat>(3)  notation, which is how this has traditionally "
@@ -15062,31 +15476,31 @@ msgstr ""
 "Newsgroup names will always be matched using the B<\\%wildmat>(3)  notation."
 
 #. type: TP
-#: doc/tin.5:2517
+#: doc/tin.5:2584
 #, no-wrap
 msgid "B<word_h_display_marks>"
 msgstr "B<word_h_display_marks>"
 
 #. type: TP
-#: doc/tin.5:2529
+#: doc/tin.5:2596
 #, no-wrap
 msgid "B<word_highlight>"
 msgstr "B<word_highlight>"
 
 #. type: TP
-#: doc/tin.5:2537
+#: doc/tin.5:2604
 #, no-wrap
 msgid "B<wrap_column>"
 msgstr "B<wrap_column>"
 
 #. type: TP
-#: doc/tin.5:2553
+#: doc/tin.5:2620
 #, no-wrap
 msgid "B<xpost_quote_format>"
 msgstr "B<xpost_quote_format>"
 
 #. type: Plain text
-#: doc/tin.5:2569
+#: doc/tin.5:2636
 msgid ""
 "Yet another global configuration file with \"I<variable>=I<value>\" pairs. "
 "This one is for the more general options which usually can't be controlled "
@@ -15101,18 +15515,18 @@ msgstr ""
 "I<newslibdir>."
 
 #. type: TP
-#: doc/tin.5:2569
+#: doc/tin.5:2636
 #, no-wrap
 msgid "B<domainname>"
 msgstr "B<domainname>"
 
 #. type: Plain text
-#: doc/tin.5:2572
+#: doc/tin.5:2639
 msgid "Sets a global domain name used in From lines"
 msgstr "Sets a global domain name used in From lines"
 
 #. type: Plain text
-#: doc/tin.5:2576
+#: doc/tin.5:2643
 msgid ""
 "Defines the name of your organization. $B<ORGANIZATION> overrides any "
 "specified value."
@@ -15121,13 +15535,13 @@ msgstr ""
 "specified value."
 
 #. type: TP
-#: doc/tin.5:2576
+#: doc/tin.5:2643
 #, no-wrap
 msgid "B<newslibdir>"
 msgstr "B<newslibdir>"
 
 #. type: Plain text
-#: doc/tin.5:2581
+#: doc/tin.5:2648
 msgid ""
 "Defines the default place for some configuration files, common values are I</"
 "usr/lib/news>, I</var/lib/news>, I</usr/local/lib/news> or I</news/db>. "
@@ -15138,13 +15552,13 @@ msgstr ""
 "$B<TIN_LIBDIR> overrides any specified value."
 
 #. type: TP
-#: doc/tin.5:2581
+#: doc/tin.5:2648
 #, no-wrap
 msgid "B<bugaddress>"
 msgstr "B<bugaddress>"
 
 #. type: Plain text
-#: doc/tin.5:2587
+#: doc/tin.5:2654
 msgid ""
 "Defines the email address to which users can send bug reports using a built-"
 "in function. The default points to a developers mailing list located at tin."
@@ -15157,18 +15571,18 @@ msgstr ""
 "administration if you want to deal with your lusers problems on your own."
 
 #. type: TP
-#: doc/tin.5:2587
+#: doc/tin.5:2654
 #, no-wrap
 msgid "B<inewsdir>"
 msgstr "B<inewsdir>"
 
 #. type: Plain text
-#: doc/tin.5:2592
+#: doc/tin.5:2659
 msgid "Defines the directory containing the B<\\%inews>(1)  executable."
 msgstr "Defines the directory containing the B<\\%inews>(1)  executable."
 
 #. type: Plain text
-#: doc/tin.5:2596
+#: doc/tin.5:2663
 msgid ""
 "Default charset to be used in MIME's ''Content-Type:'' header.  "
 "$B<MM_CHARSET> overrides any specified value."
@@ -15177,14 +15591,14 @@ msgstr ""
 "$B<MM_CHARSET> overrides any specified value."
 
 #. type: Plain text
-#: doc/tin.5:2599
+#: doc/tin.5:2666
 msgid ""
 "Default encoding scheme used in MIME articles. 8bit might be the best value."
 msgstr ""
 "Default encoding scheme used in MIME articles. 8bit might be the best value."
 
 #. type: Plain text
-#: doc/tin.5:2603
+#: doc/tin.5:2670
 msgid ""
 "Default encoding scheme used in MIME letters. quoted-printable is a good "
 "choice here."
@@ -15193,13 +15607,13 @@ msgstr ""
 "choice here."
 
 #. type: TP
-#: doc/tin.5:2603
+#: doc/tin.5:2670
 #, no-wrap
 msgid "B<disable_gnksa_domain_check>"
 msgstr "B<disable_gnksa_domain_check>"
 
 #. type: Plain text
-#: doc/tin.5:2609
+#: doc/tin.5:2676
 msgid ""
 "Allow unregistered top level domains. As the list of valid TLDs is no longer "
 "actively maintained the default was changed to ON starting with B<\\"
@@ -15210,13 +15624,13 @@ msgstr ""
 "%tin>(1)  version 2.1.5"
 
 #. type: TP
-#: doc/tin.5:2609
+#: doc/tin.5:2676
 #, no-wrap
 msgid "B<disable_sender>"
 msgstr "B<disable_sender>"
 
 #. type: Plain text
-#: doc/tin.5:2613
+#: doc/tin.5:2680
 msgid ""
 "Don't generate a ''Sender:'' header. This has an effect only if "
 "B<inews_prog> is set to --internal."
@@ -15225,13 +15639,13 @@ msgstr ""
 "B<inews_prog> is set to --internal."
 
 #. type: TP
-#: doc/tin.5:2613
+#: doc/tin.5:2680
 #, no-wrap
 msgid "B<spooldir>"
 msgstr "B<spooldir>"
 
 #. type: Plain text
-#: doc/tin.5:2618
+#: doc/tin.5:2685
 msgid ""
 "Base of your newsspool (Bnews, Cnews and INN traditional spool style), "
 "common values are I</var/spool/news>, I</usr/spool/news>, I</news/spool>.  "
@@ -15242,13 +15656,13 @@ msgstr ""
 "$B<TIN_SPOOLDIR> overrides any specified value."
 
 #. type: TP
-#: doc/tin.5:2618
+#: doc/tin.5:2685
 #, no-wrap
 msgid "B<overviewdir>"
 msgstr "B<overviewdir>"
 
 #. type: Plain text
-#: doc/tin.5:2626
+#: doc/tin.5:2693
 msgid ""
 "Base of your NOV database B<\\%newsoverview>(5)  (tradspool style; might be "
 "the same dir as I<spooldir>), common values are I</var/spool/overview>, I</"
@@ -15261,13 +15675,13 @@ msgstr ""
 "specified value."
 
 #. type: TP
-#: doc/tin.5:2626
+#: doc/tin.5:2693
 #, no-wrap
 msgid "B<overviewfile>"
 msgstr "B<overviewfile>"
 
 #. type: Plain text
-#: doc/tin.5:2630
+#: doc/tin.5:2697
 msgid ""
 "Name of a single overview file, common values are I<.overview> or I<over."
 "view>. $B<TIN_NOVFILENAME> overrides any specified value."
@@ -15276,13 +15690,13 @@ msgstr ""
 "view>. $B<TIN_NOVFILENAME> overrides any specified value."
 
 #. type: TP
-#: doc/tin.5:2630
+#: doc/tin.5:2697
 #, no-wrap
 msgid "B<overviewfmtfile>"
 msgstr "B<overviewfmtfile>"
 
 #. type: Plain text
-#: doc/tin.5:2635
+#: doc/tin.5:2702
 msgid ""
 "Full pathname of your newssystem's overview.fmt file; usually the file "
 "resides in I<newslibdir> and is named I<overview.fmt>, so you only have to "
@@ -15293,13 +15707,13 @@ msgstr ""
 "change this setting if your configuration differs."
 
 #. type: TP
-#: doc/tin.5:2635
+#: doc/tin.5:2702
 #, no-wrap
 msgid "B<activefile>"
 msgstr "B<activefile>"
 
 #. type: Plain text
-#: doc/tin.5:2641
+#: doc/tin.5:2708
 msgid ""
 "Full pathname of your newssystem's active file; usually the file resides in "
 "I<newslibdir> and is named I<active>, so you only have to change this "
@@ -15312,13 +15726,13 @@ msgstr ""
 "specified value."
 
 #. type: TP
-#: doc/tin.5:2641
+#: doc/tin.5:2708
 #, no-wrap
 msgid "B<activetimesfile>"
 msgstr "B<activetimesfile>"
 
 #. type: Plain text
-#: doc/tin.5:2646
+#: doc/tin.5:2713
 msgid ""
 "Full pathname of your newssystem's active.times file; usually the file "
 "resides in I<newslibdir> and is named I<active.times>, so you only have to "
@@ -15329,13 +15743,13 @@ msgstr ""
 "change this setting if your configuration differs."
 
 #. type: TP
-#: doc/tin.5:2646
+#: doc/tin.5:2713
 #, no-wrap
 msgid "B<newsgroupsfile>"
 msgstr "B<newsgroupsfile>"
 
 #. type: Plain text
-#: doc/tin.5:2651
+#: doc/tin.5:2718
 msgid ""
 "Full pathname of your newssystem's newsgroups file; usually the file resides "
 "in I<newslibdir> and is named I<newsgroups>, so you only have to change this "
@@ -15346,13 +15760,13 @@ msgstr ""
 "setting if your configuration differs."
 
 #. type: TP
-#: doc/tin.5:2651
+#: doc/tin.5:2718
 #, no-wrap
 msgid "B<subscriptionsfile>"
 msgstr "B<subscriptionsfile>"
 
 #. type: Plain text
-#: doc/tin.5:2656
+#: doc/tin.5:2723
 msgid ""
 "Full pathname of your newssystem's subscriptions file; usually the file "
 "resides in I<newslibdir> and is named I<subscriptions>, so you only have to "
@@ -15363,12 +15777,12 @@ msgstr ""
 "change this setting if your configuration differs."
 
 #. type: Plain text
-#: doc/tin.5:2660
+#: doc/tin.5:2727
 msgid "I</usr/local/share/locale/$LC_MESSAGES/LC_MESSAGES/tin.mo>"
 msgstr "I</usr/local/share/locale/$LC_MESSAGES/LC_MESSAGES/tin.mo>"
 
 #. type: Plain text
-#: doc/tin.5:2664
+#: doc/tin.5:2731
 msgid ""
 "translation into language specified in $B<LC_ALL>, $B<LC_MESSAGES> or "
 "$B<LANG>"
@@ -15377,7 +15791,7 @@ msgstr ""
 "$B<LANG>"
 
 #. type: Plain text
-#: doc/tin.5:2678
+#: doc/tin.5:2745
 msgid ""
 "This file lists the newsgroups that the local site receives. Each newsgroup "
 "should be listed only once. Each line specifies one group; within each "
@@ -15389,9 +15803,9 @@ msgstr ""
 "newsgroup, articles are assigned unique names, which are monotonically "
 "increasing numbers."
 
-#.  TODO: IIRC tin issues just a warning in that case?
+#.  TODO: tin issues just a warning in that case.
 #. type: Plain text
-#: doc/tin.5:2683
+#: doc/tin.5:2750
 msgid ""
 "If an article is posted to newsgroups not mentioned in this file, those "
 "newsgroups are ignored.  If no valid newsgroups are specified, the article "
@@ -15402,7 +15816,7 @@ msgstr ""
 "is rejected."
 
 #. type: Plain text
-#: doc/tin.5:2686
+#: doc/tin.5:2753
 msgid ""
 "Each line consists of four space-separated fields \"I<name> I<highmark> "
 "I<lowmark> I<flags>\"."
@@ -15411,30 +15825,30 @@ msgstr ""
 "I<lowmark> I<flags>\"."
 
 #. type: TP
-#: doc/tin.5:2686 doc/tin.5:2740
+#: doc/tin.5:2753 doc/tin.5:2807
 #, no-wrap
 msgid "B<name>"
 msgstr "B<name>"
 
 #. type: TP
-#: doc/tin.5:2689
+#: doc/tin.5:2756
 #, no-wrap
 msgid "B<highmark>"
 msgstr "B<highmark>"
 
 #. type: Plain text
-#: doc/tin.5:2692
+#: doc/tin.5:2759
 msgid "is the highest article number that has been used in that newsgroup"
 msgstr "is the highest article number that has been used in that newsgroup"
 
 #. type: TP
-#: doc/tin.5:2692
+#: doc/tin.5:2759
 #, no-wrap
 msgid "B<lowmark>"
 msgstr "B<lowmark>"
 
 #. type: Plain text
-#: doc/tin.5:2699
+#: doc/tin.5:2766
 msgid ""
 "is the lowest article number in the group; this number is not guaranteed to "
 "be accurate, and should only be taken to be a hint. Note that because of "
@@ -15449,90 +15863,90 @@ msgstr ""
 "are no articles in the newsgroup."
 
 #. type: TP
-#: doc/tin.5:2699
+#: doc/tin.5:2766
 #, no-wrap
 msgid "B<flags>"
 msgstr "B<flags>"
 
 #. type: Plain text
-#: doc/tin.5:2702
+#: doc/tin.5:2769
 msgid "can be one of those"
 msgstr "can be one of those"
 
 #. type: TP
-#: doc/tin.5:2703
+#: doc/tin.5:2770
 #, no-wrap
 msgid "B<y>"
 msgstr "B<y>"
 
 #. type: Plain text
-#: doc/tin.5:2706
+#: doc/tin.5:2773
 msgid "local postings are allowed"
 msgstr "local postings are allowed"
 
 #. type: TP
-#: doc/tin.5:2706
+#: doc/tin.5:2773
 #, no-wrap
 msgid "B<n>"
 msgstr "B<n>"
 
 #. type: Plain text
-#: doc/tin.5:2709
+#: doc/tin.5:2776
 msgid "no local postings are allowed, only remote ones"
 msgstr "no local postings are allowed, only remote ones"
 
 #. type: TP
-#: doc/tin.5:2709
+#: doc/tin.5:2776
 #, no-wrap
 msgid "B<m>"
 msgstr "B<m>"
 
 #. type: Plain text
-#: doc/tin.5:2712
+#: doc/tin.5:2779
 msgid "the group is moderated and all postings must be approved"
 msgstr "the group is moderated and all postings must be approved"
 
 #. type: TP
-#: doc/tin.5:2712
+#: doc/tin.5:2779
 #, no-wrap
 msgid "B<j>"
 msgstr "B<j>"
 
 #. type: Plain text
-#: doc/tin.5:2715
+#: doc/tin.5:2782
 msgid "articles in this group are not kept, but only passed on"
 msgstr "articles in this group are not kept, but only passed on"
 
 #. type: TP
-#: doc/tin.5:2715
+#: doc/tin.5:2782
 #, no-wrap
 msgid "B<x>"
 msgstr "B<x>"
 
 #. type: Plain text
-#: doc/tin.5:2718
+#: doc/tin.5:2785
 msgid "articles cannot be posted to this newsgroup"
 msgstr "articles cannot be posted to this newsgroup"
 
 #. type: TP
-#: doc/tin.5:2718
+#: doc/tin.5:2785
 #, no-wrap
 msgid "B<=foo.bar>"
 msgstr "B<=foo.bar>"
 
 #. type: Plain text
-#: doc/tin.5:2721
+#: doc/tin.5:2788
 msgid "articles are locally filed into the ''foo.bar'' group"
 msgstr "articles are locally filed into the ''foo.bar'' group"
 
 #. type: TP
-#: doc/tin.5:2722 doc/tin.5:2750 doc/tin.5:2773
+#: doc/tin.5:2789 doc/tin.5:2817 doc/tin.5:2840
 #, no-wrap
 msgid "B<\\%tin>(1)"
 msgstr "B<\\%tin>(1)"
 
 #. type: Plain text
-#: doc/tin.5:2729
+#: doc/tin.5:2796
 msgid ""
 "only tries to read the file if you read directly from the local spool, if "
 "you read news via NNTP, B<\\%tin>(1)  uses the LIST (B<RFC\\%3977>) or LIST "
@@ -15543,20 +15957,20 @@ msgstr ""
 "COUNTS (B<RFC\\%6048>) command instead."
 
 #. type: Plain text
-#: doc/tin.5:2740
+#: doc/tin.5:2807
 msgid ""
 "This file provides a chronological record of when newsgroups are created. It "
-"is normally updated by the local news server (e.g.  B<\\%innd>(8))  whenever "
+"is normally updated by the local news server (e.g., B<\\%innd>(8))  whenever "
 "a new group is created. Each line consist of three space-separated fields "
 "\"I<name> I<time> I<creator>\"."
 msgstr ""
 "This file provides a chronological record of when newsgroups are created. It "
-"is normally updated by the local news server (e.g.  B<\\%innd>(8))  whenever "
-"a new group is created. Each line consist of three space-separated fields "
-"\"I<name> I<time> I<creator>\"."
+"is normally updated by the local news server (e.g.,  B<\\%innd>(8))  "
+"whenever a new group is created. Each line consist of three space-separated "
+"fields \"I<name> I<time> I<creator>\"."
 
 #. type: Plain text
-#: doc/tin.5:2747
+#: doc/tin.5:2814
 msgid ""
 "is the time when the group was created, expressed as the number of seconds "
 "since the Epoch."
@@ -15565,18 +15979,18 @@ msgstr ""
 "since the Epoch."
 
 #. type: TP
-#: doc/tin.5:2747
+#: doc/tin.5:2814
 #, no-wrap
 msgid "B<creator>"
 msgstr "B<creator>"
 
 #. type: Plain text
-#: doc/tin.5:2750
+#: doc/tin.5:2817
 msgid "is the electronic mail address of the person who created the group."
 msgstr "is the electronic mail address of the person who created the group."
 
 #. type: Plain text
-#: doc/tin.5:2756
+#: doc/tin.5:2823
 msgid ""
 "only tries to read the file if you read directly from the local spool, if "
 "you read news via NNTP, B<\\%tin>(1)  uses the NEWGROUPS (B<RFC\\%3977>) "
@@ -15587,20 +16001,20 @@ msgstr ""
 "command instead."
 
 #. type: Plain text
-#: doc/tin.5:2767
+#: doc/tin.5:2834
 msgid ""
 "This file provides short descriptions of each newsgroup. It is normally "
-"updated by the local news server (e.g.  B<\\%innd>(8))  whenever a new group "
-"is created. Each line consist of two tab-separated fields \"I<group.name>"
-"\tI<one-line description>\"."
+"updated by the local news server (e.g., B<\\%innd>(8))  whenever a new group "
+"is created. Each line consist of two tab-separated fields \"I<group."
+"name>\tI<one-line description>\"."
 msgstr ""
 "This file provides short descriptions of each newsgroup. It is normally "
-"updated by the local news server (e.g.  B<\\%innd>(8))  whenever a new group "
-"is created. Each line consist of two tab-separated fields \"I<group.name>"
-"\tI<one-line description>\"."
+"updated by the local news server (e.g.,  B<\\%innd>(8))  whenever a new "
+"group is created. Each line consist of two tab-separated fields \"I<group."
+"name>\tI<one-line description>\"."
 
 #. type: Plain text
-#: doc/tin.5:2779
+#: doc/tin.5:2846
 msgid ""
 "only tries to read the file if you read directly from the local spool, if "
 "you read news via NNTP, B<\\%tin>(1)  uses the LIST NEWSGROUPS (B<RFC\\"
@@ -15611,7 +16025,7 @@ msgstr ""
 "%3977>) command instead."
 
 #. type: Plain text
-#: doc/tin.5:2788
+#: doc/tin.5:2855
 msgid ""
 "This file might hold a default organization to be used in the "
 "''Organization:'' header. $B<ORGANIZATION> has a higher priority if set."
@@ -15620,7 +16034,7 @@ msgstr ""
 "''Organization:'' header. $B<ORGANIZATION> has a higher priority if set."
 
 #. type: Plain text
-#: doc/tin.5:2806
+#: doc/tin.5:2873
 msgid ""
 "This file specifies the organization of the news overview database (see also "
 "B<\\%newsoverview>(5)).  The order of lines in this file is important; it "
@@ -15637,7 +16051,7 @@ msgstr ""
 "%tin>(1)  uses the LIST OVERVIEW.FMT (B<RFC\\%3977>) command instead."
 
 #. type: Plain text
-#: doc/tin.5:2821
+#: doc/tin.5:2888
 msgid ""
 "This file contains a list of newsgroups \\(em one per line \\(em which the "
 "client should subscribe to when the user has no ${TIN_HOMEDIR:-\"$HOME\"}/."
@@ -15652,7 +16066,7 @@ msgstr ""
 "%tin>(1)  uses the LIST SUBSCRIPTIONS (B<RFC\\%6048>) command instead."
 
 #. type: Plain text
-#: doc/tin.5:2870
+#: doc/tin.5:2939
 msgid ""
 "B<\\%inews>(1), B<\\%ispell>(1), B<\\%lp>(1), B<\\%lpr>(1), B<\\"
 "%metamail>(1), B<\\%mutt>(1), B<\\%perl>(1), B<\\%perlre>(1), B<\\%pgp>(1), "
@@ -15661,10 +16075,11 @@ msgid ""
 "%nl_langinfo>(3), B<\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\"
 "%pcre2pattern>(3), B<\\%qsort>(3), B<\\%strftime>(3), B<\\%system>(3), B<\\"
 "%active>(5), B<\\%mailcap>(5), B<\\%mbox>(5), B<\\%mmdf>(5), B<\\"
-"%newsoverview>(5), B<\\%overview.fmt>(5), B<\\%innd>(8), B<RFC\\%1524>, B<RFC"
-"\\%2045>, B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2048>, B<RFC\\%2231>, B<RFC\\"
-"%2980>, B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%5322>, B<RFC\\"
-"%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%8143>"
+"%newsoverview>(5), B<\\%overview.fmt>(5), B<\\%innd>(8), B<RFC\\%1524>, "
+"B<RFC\\%1952>, B<RFC\\%2045>, B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2231>, "
+"B<RFC\\%2980>, B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%5198>, "
+"B<RFC\\%5322>, B<RFC\\%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%6838>, "
+"B<RFC\\%8143>"
 msgstr ""
 "B<\\%inews>(1), B<\\%ispell>(1), B<\\%lp>(1), B<\\%lpr>(1), B<\\"
 "%metamail>(1), B<\\%mutt>(1), B<\\%perl>(1), B<\\%perlre>(1), B<\\%pgp>(1), "
@@ -15673,7 +16088,8 @@ msgstr ""
 "%nl_langinfo>(3), B<\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\"
 "%pcre2pattern>(3), B<\\%qsort>(3), B<\\%strftime>(3), B<\\%system>(3), B<\\"
 "%active>(5), B<\\%mailcap>(5), B<\\%mbox>(5), B<\\%mmdf>(5), B<\\"
-"%newsoverview>(5), B<\\%overview.fmt>(5), B<\\%innd>(8), B<RFC\\%1524>, B<RFC"
-"\\%2045>, B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2048>, B<RFC\\%2231>, B<RFC\\"
-"%2980>, B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%5322>, B<RFC\\"
-"%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%8143>"
+"%newsoverview>(5), B<\\%overview.fmt>(5), B<\\%innd>(8), B<RFC\\%1524>, "
+"B<RFC\\%1952>, B<RFC\\%2045>, B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2231>, "
+"B<RFC\\%2980>, B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%5198>, "
+"B<RFC\\%5322>, B<RFC\\%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%6838>, "
+"B<RFC\\%8143>"
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/l10n/es/tin.1 tin-2.6.4/doc/l10n/es/tin.1
--- tin-2.6.3/doc/l10n/es/tin.1	2023-12-24 00:38:34.000000000 +0100
+++ tin-2.6.4/doc/l10n/es/tin.1	2024-12-23 10:54:29.007349303 +0100
@@ -3,19 +3,17 @@
 .\" Module    : tin.1
 .\" Author    : I. Lea, U. Janssen
 .\" Created   : 1991-08-23
-.\" Updated   : 2023-12-24
+.\" Updated   : 2024-12-24
 .\" Notes     : use American English; still needs some work, e.g.:
 .\"             - document authorization (.newsauth)
 .\"             - document random organization feature
 .\"
-.\"
-.IX Title "tin 1"
 .\"*******************************************************************
 .\"
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH tin 1 "24 diciembre 2023" 2.6.3 "Usenet newsreader"
+.TH tin 1 "December 24th, 2024" 2.6.4 "Usenet newsreader"
 .\"
 .\"
 .SH NOMBRE
@@ -23,18 +21,17 @@
 .\"
 tin, rtin \- Usenet newsreader
 .SH SINOPSIS
-.IX Header SINOPSIS
 .\"
 .\"
 \fBtin\fP [\|[\|\fB\-h\fP\||\|\fB\-H\fP\||\|\fB\-V\fP\|]\ \|| [\|[\|\fB\-a\fP\|]
 [\|\fB\-dlnq\fP\||\|\fB\-Q\fP\|] [\|\fB\-ACkrTzxX\fP\|]\|] [\|[\|\fB\-R\fP\||\|\fB\-S\fP\|]
 \|\|\fB\-s\fP \fINews_dir\fP\|] [\|\fB\-cuvZ\fP\|] [\|\fB\-4\fP\||\|\fB\-6\fP\|]
 [\|\fB\-o\fP\||\|\fB\-w\fP\||\|\fB\-N\fP\||\|\fB\-M\fP \fIaddress\fP\|] [\|\fB\-D\fP
-\fIdebug_level\fP\|] [\|\fB\-G\fP \fIarticle_limit\fP\|] [\|\fB\-f\fP \fInewsrc_file\fP\|]
-[\|\fB\-g\fP \fIserver\fP\|[\|:\fIport\fP\|]\|] [\|\fB\-m\fP \fIMail_dir\fP\|] [\|\fB\-p\fP
-\fIport\fP\|] [\|\fB\-t\fP \fItimeout\fP\|] [\|\fB\-I\fP \fIindex_dir\fP\|]\ \|[\fInewsgroup\fP\|[\|,.\|.\|.\|]\|]\|]
+\fIdebug_level\fP\|] [\|\fB\-F\fP \fIfilter_file\fP\|] [\|\fB\-G\fP \fIarticle_limit\fP\|]
+[\|\fB\-f\fP \fInewsrc_file\fP\|] [\|\fB\-g\fP \fIserver\fP\|[\|:\fIport\fP\|]\|] [\|\fB\-L\fP
+\fIMessage\-ID\fP\|] [\|\fB\-m\fP \fIMail_dir\fP\|] [\|\fB\-p\fP \fIport\fP\|] [\|\fB\-t\fP
+\fItimeout\fP\|] [\|\fB\-I\fP \fIindex_dir\fP\|]\ \|[\fInewsgroup\fP\|[\|,.\|.\|.\|]\|]\|]
 .SH DESCRIPCIÃ“N
-.IX Header DESCRIPCIÃ“N
 \fBtin\fP is a full\-screen easy to use Usenet newsreader. It can read news
 locally (e.g., \fI/var/spool/news\fP) or remotely (\fBrtin\fP or \fBtin \-r\fP option)
 via an NNTP (Network News Transport Protocol, \fBRFC\%3977\fP) or NNTPS
@@ -47,7 +44,7 @@ Thread level and Article level. Use the
 list of the commands available at a particular level.
 .PP
 On startup \fBtin\fP will show a list of the newsgroups found in
-\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP. An arrow '\->' or highlighted bar
+\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP. An arrow '\(->' or highlighted bar
 will point to the first newsgroup. Move to a group by using the terminal
 arrow keys (terminal dependent) or \fBDown\fP ('\fBj\fP')  and \fBUp\fP ('\fBk\fP'). Use
 PgUp/PgDn (terminal dependent) or \fBPageUp\fP ('\fB^U\fP') (CTRL\-U) and
@@ -59,9 +56,8 @@ pressing '\fB<CR>\fP'.
 The \fBGroupNextUnreadArtOrGrp\fP ('\fB<TAB>\fP') key enters the next
 newsgroup with unread articles.
 .SH "ESTADO SALIENTE"
-.IX Header "ESTADO SALIENTE"
 .\" TODO: also exits with signalnr caught as exit status
-.TP 
+.TP  12
 \fB0\fP
 Successful program execution. No unread news available in batch mode.
 .TP 
@@ -76,7 +72,6 @@ Unread news available (batch mode (\*(rq
 .\"
 Error NNTP
 .SH OPCIONES
-.IX Header OPCIONES
 .TP  12
 \fB\-4\fP
 Force connecting via IPv4 to the remote NNTP server. Only available when
@@ -109,20 +104,43 @@ Don't load newsgroup descriptions and se
 (interactive mode).
 .TP 
 \fB\-D\fP\fI debug\-level\fP
-Enter debug\-level (1 = NNTP, 2 = filter, 4 = newsrc, 8 = threading, 16 =
-memory, 32 = attributes, 64 = misc, 128 = remove existing debug files).  For
-NNTP\-level \*(rq\fB\-v\fP\*(rq controls the verbosity of the output.  Depending on the
-debug\-level various files may be written to \fI$TMPDIR\fP and/or on screen
+Enter debug\-level, the levels can specified via number (should be avoided as
+it will be removed in the future) or name (case insensitive) as listed
+below. Use comma to give multiple levels, any combinations are allowed
+(e.g., \*(rq\fB\-D\fP \fIGNKSA,2,NNTP\fP\*(rq). If removal is requested it will be
+performed at startup and on normal termination (that is the files are only
+available while tin is running).
+.in +.3i
+.nf
+.ta \w'%128 'u +\w'ATTRIBUTES 'u +\w'ATTRIBUTES 'u +\w'ATTRIBUTES'u
+  \fI1	NNTP	NNTPS\fP
+  \fI2	FILTER	ARTS\fP
+  \fI4	NEWSRC	BITMAP\fP
+  \fI8	THREADING	REFS\fP
+ \fI16	MEMORY	MALLOC\fP
+ \fI32	ATTRIBUTES\fP
+ \fI64	MISC	GNKSA	ACTIVE\fP
+\fI127	ALL	EVERYTHING\fP
+\fI128	REMOVE	DELETE\fP
+.fi
+.in -0.3i
+For NNTP\-level \*(rq\fB\-v\fP\*(rq controls the verbosity of the output.  Depending on
+the debug\-level various files may be written to \fI$TMPDIR\fP and/or on screen
 output may be given. See also the "SECURITY" section!
 .TP 
 \fB\-f\fP\fI file\fP
 Use the specified file of subscribed to newsgroups in place of
-\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP.
+\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP or a file specified via
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fP.
+.TP 
+\fB\-F\fP\fI file\fP
+Use the specified filter file instead of \fI${TIN_HOMEDIR:\-"$HOME"}/.filter\fP.
 .TP 
-\fB\-g\fP\fI server[:port]\fP
+\fB\-g\fP\fI server\fP[\fB:\fP\fIport\fP]
 Use the server[:port] and newsrc specified in
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fP. Only available when reading via
-NNTP.
+NNTP. If you want to give a port with a plain IPv6 address, the address must
+be enclosed in square brackets.
 .TP 
 \fB\-G\fP\fI article\-limit\fP
 Limit the number of articles/group to retrieve from the server.  If
@@ -161,6 +179,10 @@ command (\fBRFC\%3977\fP) \*(rq\fB\-ln\f
 (\fBRFC\%6048\fP) is available that is used instead as it gives more accurate
 article counts.
 .TP 
+\fB\-L\fP
+Show the message with the given Message\-ID if available. Only available when
+reading via NNTP.
+.TP 
 \fB\-m\fP\fI dir\fP
 Mailbox directory to use. Default is \fI${TIN_HOMEDIR:\-"$HOME"}/Mail\fP.
 .TP 
@@ -185,8 +207,8 @@ quick, it should be used with \*(rq\fB\-
 .TP 
 \fB\-p\fP\fI port\fP
 Port to use if reading via NNTP (default is 119 or 563 if NNTPS is enabled,
-see \*(rq\fB\-T\fP\*(rq). This also overrides the environment variable $\fBNNTPPORT\fP if
-set. Only available when reading via NNTP.
+see \*(rq\fB\-T\fP\*(rq). This also overrides the environment variables $\fBNNTPPORT\fP
+and $\fBNNTPSPORT\fP if set. Only available when reading via NNTP.
 .TP 
 \fB\-q\fP
 Don't check for new newsgroups and skip loading the servers message of the
@@ -218,7 +240,7 @@ allowed maximum is 16383.
 .TP 
 \fB\-T\fP
 Enable NNTPS (NNTP over TLS). This also overrides the environment variable
-$\fBNNTPPORT\fP if set. Only available when reading via NNTP.
+$\fBNNTPSPORT\fP if set. Only available when reading via NNTP.
 .TP 
 \fB\-u\fP
 Create/update index files for every group in
@@ -228,8 +250,8 @@ NNTP server and \fBcache_overview_files\
 .TP 
 \fB\-v\fP
 Verbose mode for \*(rq\fB\-c\fP\*(rq, \*(rq\fB\-D\fP\*(rq, \*(rq\fB\-M\fP\*(rq, \*(rq\fB\-N\fP\*(rq, \&\*(rq\fB\-S\fP\*(rq,
-\&\*(rq\fB\-u\fP\*(rq and \*(rq\fB\-Z\fP\*(rq options. Can be used multiple times to increase
-verbosity.
+\&\*(rq\fB\-u\fP\*(rq, \*(rq\fB\-V\fP\*(rq and \*(rq\fB\-Z\fP\*(rq options. Can be used multiple times to
+increase verbosity.
 .TP 
 \fB\-V\fP
 Print version information and compilation options.
@@ -245,7 +267,7 @@ No\-posting mode. You cannot post articl
 \fB\-X\fP
 No overwrite mode. \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP and files in
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin\fP will not be overwritten but may be created
-if they don't exist.
+if they don't exist. Should be used with \*(rq\fB\-x\fP\*(rq if possible.
 .TP 
 \fB\-z\fP
 Only start \fBtin\fP if there is any new/unread news. If there is news \fBtin\fP
@@ -292,9 +314,13 @@ NB: With the \*(rq\fB\-n\fP\*(rq flag, o
 .\"
 .\"
 Command\-line options have higher priority than attributes and tinrc
-options.  Thus, command\-line option takes precedence over configured values.
+options.  Thus, command\-line option takes precedence over configured values
+with the single exception that if a port is given for the newsserver in
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fP it will override any port given
+on the command\-line. The order of command\-line options is not important. If
+they are mutual exclusive the one with the highest priority will be chosen
+and a warning may be given.
 .SH UTILIZACIÃ“N
-.IX Header UTILIZACIÃ“N
 .\"
 .\"
 .SS "ADMINISTRACIÃ“N DE NOTICIARIOS"
@@ -322,13 +348,12 @@ displayed in the middle of the screen us
 articles displayed on the same line in front, but it can be customized via
 \fBselect_format\fP.
 .PP
-.\" FIXME - make this auto scale
 .nf
-\->M    1     2  comp.security.announce  Announcements from the CERT abou
+\f(CR\(->M    1     2  comp.security.announce  Announcements from the CERT abou
   M    2     1  news.admin.announce     Announcements for news adminstra
        3    22  news.software.misc      News\-related software other than
        4  1475  news.software.nntp      The Network News Transfer Protoc
-  X    5   124  news.software.readers   Discussion of software used to r
+  X    5   124  news.software.readers   Discussion of software used to r\fR
 .fi
 .PP
 There may also be a character prefixing the line. An explanation follows:
@@ -396,39 +421,36 @@ section "FILTERING ARTICLES") it's marke
 front of the total number of articles in the thread. The display can be
 customized via \fBgroup_format\fP.
 .PP
-.\" FIXME - make this auto scale
 .nf
-                de.admin.net\-abuse.announce (11B 13+ 1* 1o 0K) M
+\f(CR                de.admin.net\-abuse.announce (11B 13+ 1* 1o 0K) M\fR
 
-\->   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg <l
+\f(CR\(->   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg <l
      2   +       69 EMP/ECP gecancelt. xynx. BI= 10  Henning Weede <hwee
      3   o       93 EMP gecancelt. SouthBeach/Palms  Henning Weede <hwee
-     4   *      368 <1997\-11\-12> Fremdcancel\-FAQ     Thomas Roessler <ro
+     4   *      368 <1997\-11\-12> Fremdcancel\-FAQ     Thomas Roessler <ro\fR
 .fi
 .PP
 .\" FIXME - add description of fields
 At the Thread level the screen usually (depends on the threading method
 used) looks like this, but can be customized via \fBthread_format\fP:
 .PP
-.\" FIXME - make this auto scale
 .nf
-\->   1      [   7]  What is this funny tree in the thr  Robert F. Simmig
-     2      [  12]  +\->                                 Sephan Wagner <s
-     3      [ 230]  | `\->Tin thread\-level (was: What is Bob Johnson <bob
-     4      [  22]  `\->tin threading menu               Brian Richardson
+\f(CR\(->   1      [   7]  What is this funny tree in the thr  Robert F. Simmig
+     2      [  12]  +\(->                                 Sephan Wagner <s
+     3      [ 230]  | `\(->Tin thread\-level (was: What is Bob Johnson <bob
+     4      [  22]  `\(->tin threading menu               Brian Richardson\fR
 
 .fi
 .PP
 .\" FIXME - add description of fields
 At the Article level the page header has the following format:
 .PP
-.\" FIXME - make this auto scale
 .nf
-Sun, 28 Dec 1997 21:21:01   de.admin.news.groups      Thread   20 of 86
+\f(CRSun, 28 Dec 1997 21:21:01   de.admin.news.groups      Thread   20 of 86
 Lines 50   Re: EINSPRUCH zu RESULT:de.comm.mobil.ALL   Article  47 of 59
-Urs Janssen <urs@akk.org>        at Arbeitskreis Kultur und Kommunikati
+Urs Janssen <urs@akk.org>        at Arbeitskreis Kultur und Kommunikati\fR
 
-article\-body
+\f(CRarticle\-body\fR
 .fi
 .PP
 .\"
@@ -739,7 +761,7 @@ auto\-selection on author where reader w
 \fBGroupSelPattern '='\fP
 Prompts for a pattern with which to match on. All threads whose subjects
 match the pattern will be marked selected. A pattern of \*(rq*\*(rq will match all
-subjects. Entering just '\fB<CR>\fP' will re\-use the last pattern that
+subjects. Entering just '\fB<CR>\fP' will reuse the last pattern that
 was entered.
 .TP 
 \fBGroupReverseSel '@'\fP
@@ -838,7 +860,8 @@ prompt asks how to proceed.
 Open the thread under the current cursor position.
 .TP 
 \fBLookupMessage 'L'\fP
-Look up article by \*(rqMessage\-ID:\*(rq.
+Look up article by \*(rqMessage\-ID:\*(rq. In this level only the IDs in the
+current group are searched.
 .TP 
 \fBGroupMail 'm'\fP
 Mail current article / thread / auto\-selected (hot) articles / articles
@@ -1050,7 +1073,8 @@ articles is set, the range will be marke
 article. When tagged articles are present, a prompt asks how to proceed.
 .TP 
 \fBLookupMessage 'L'\fP
-Look up article by \*(rqMessage\-ID:\*(rq.
+Look up article by \*(rqMessage\-ID:\*(rq. In this level only the IDs in the
+current group are searched.
 .TP 
 \fBThreadMail 'm'\fP
 Mail current article / thread / auto\-selected (hot) articles / articles
@@ -1149,6 +1173,9 @@ taken from the \fBtex2iso_conv\fP variab
 Toggles the display of all headers vs. headers in
 \fBnews_headers_to_display\fP.
 .TP 
+\fBPageArticleInfo \*(rq'\fP
+Detailed MIME information of the article.
+.TP 
 \fBPageToggleRot '%'\fP
 Toggle ROT\-13 decoding for this article.
 .TP 
@@ -1277,7 +1304,8 @@ Mark rest of thread as read and move ont
 Show the thread menu that the current article is a part of.
 .TP 
 \fBLookupMessage 'L'\fP
-Look up article by \*(rqMessage\-ID:\*(rq.
+Look up article by \*(rqMessage\-ID:\*(rq. In this level only the IDs in the
+current group are searched.
 .TP 
 \fBPageMail 'm'\fP
 Mail current article / thread / auto\-selected (hot) articles / articles
@@ -1544,8 +1572,8 @@ the name of the corresponding setting in
 .TP  4
 \fBAbbreviate long newsgroup names (abbreviate_groupname)\fP
 If ON abbreviate long newsgroup names at group selection level and article
-level (if necessary) like this: news.software.readers \->
-n.software.readers \-> n.s.readers \-> n.s.r.  Default is OFF.
+level (if necessary) like this: news.software.readers \(->
+n.software.readers \(-> n.s.readers \(-> n.s.r.  Default is OFF.
 .TP 
 \fBAdd posted articles to filter (add_posted_to_filter)\fP
 If ON add posted articles which start a new thread to filter for
@@ -1624,10 +1652,16 @@ If ON, create local copies of NNTP overv
 considerably speed up accessing large groups when using a slow connection.
 See also "INDEX FILES". Default is OFF.
 .TP 
+\fBCompress locally cached NNTP overview files (compress_overview_files)\fP
+If ON, locally cached NNTP overview files (\fBcache_overview_files\fP) are
+saved in compressed form (\fBRFC\%1952\fP). Useful to reduce local disk space
+used. Default is OFF.
+.TP 
 \fBHash algorithm for cancel\-locks (cancel_lock_algo)\fP
 Use this hash algorithm for cancel\-locks. Only available when built with
 cancel\-lock support. none disables the generation of cancel\-locks. Valid
-values are none, sha1, sha256 and sha512.  Default is sha1.
+values are none, sha1, sha256 and sha512.  Default is sha1. See also
+\fI${TIN_HOMEDIR:\-"$HOME"}/.cancelsecret\fP in \fB\%tin\fP(5).
 .TP 
 \fBCatchup read groups when quitting (catchup_read_groups)\fP
 .\"
@@ -1856,9 +1890,13 @@ Default for quick (1 key) auto\-selectio
 .TP 
 \fB(default_subject_search)\fP
 .TP 
-\fBDraw \-> instead of highlighted bar (draw_arrow)\fP
-Allows groups/articles to be selected by an arrow '\->' if set ON or by a
-highlighted bar if set OFF. Default is OFF.
+\fBDon't break words when wrapping (dont_break_words)\fP
+Do not break long lines inside a word. This applies to the body except for
+verbatim blocks. See also \fBwrap_column\fP. Default is OFF.
+.TP 
+\fBDraw \(-> instead of highlighted bar (draw_arrow)\fP
+Allows groups/articles to be selected by an arrow '\(->' if set ON or by
+a highlighted bar if set OFF. Default is OFF.
 .TP 
 \fBInvocation of your editor (editor_format)\fP
 The format string used to create the editor start command with parameters.
@@ -1923,7 +1961,7 @@ available to display long subjects. Defa
 .TP 
 \fBUse interactive mail reader (interactive_mailer)\fP
 Interactive mailreader: if greater than 0 your mailreader will be invoked
-earlier for reply so you can use more of its features (e.g. MIME, pgp,
+earlier for reply so you can use more of its features (e.g., MIME, pgp,
 \&...). 1 means include headers, 2 means don't include headers (old
 use_mailreader_i=ON option). 0 turns off usage. This option has to suit
 \fBmailer_format\fP. Default is 0.
@@ -1980,7 +2018,8 @@ quoted\-printable, 7bit). Default is quo
 \fBQuote line when mailing (mail_quote_format)\fP
 Format of quote line when replying (via mail) to an article (%A=Address,
 %D=Date, %F=Fullname+Address, %G=Groupname, %M=Message\-ID, %N=Fullname,
-%C=Firstname, %I=Initials). Default is "In article %M you wrote:"
+%C=Firstname, %I=Initials). If the article has multiple addresses only the
+first is evaluated. Default is "In article %M you wrote:"
 .TP 
 \fBFormat of the mailbox (mailbox_format)\fP
 Select one of the following mailbox\-formats: MBOXO (default, except on SCO),
@@ -2001,11 +2040,10 @@ mailers with different command line para
 .in +.3i
 .nf
 sendmail \-oem \-t < %F
-mutt \-s "%S" \-\- "%T" < %F
 mutt \-H %F
 claws\-mail \-\-compose "mailto:%T?subject=%S&insert=%F"
 .fi
-.in -.3i
+.in -0.3i
 \fBinteractive_mailer\fP must be set adequate. The following substitutions are
 supported:
 .in +.3i
@@ -2018,7 +2056,7 @@ supported:
 %U	username
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \&\fB'Mark as (un)read' ignores tags (mark_ignore_tags)\fP
 When this is ON, the \fBGroupMarkThdRead\fP ('\fBK\fP'), \fBThreadMarkArtRead\fP
@@ -2047,20 +2085,21 @@ than the value of this parameter is cons
 represented as '?'. Otherwise, all character sets are regarded as compatible
 with the display. If it's not set, the value of the environment variable
 $\fBMM_CHARSET\fP is used. US\-ASCII or compile\-time default is used in case
-neither of them is defined. If your system supports \fB\%iconv\fP(3), this
-option is disabled and you should use \fBmm_network_charset\fP instead.
+neither of them is defined. If your system supports \fB\%iconv\fP(3), or
+\fB\%ucnv_*\fP(), this option is disabled and you should use
+\fBmm_network_charset\fP instead.
 .TP 
 \fBMM_NETWORK_CHARSET (mm_network_charset)\fP
 Charset used for posting and MIME headers; replaces \fBmm_charset\fP.
 Conversion between \fBmm_network_charset\fP and local charset (determined via
-\fB\%nl_langinfo\fP(3))  is done via \fB\%iconv\fP(3), if this function is not
-available on your system this option is disabled and you have to use
-\fBmm_charset\fP instead. \fBmm_network_charset\fP is limited to one of the
-following charsets:
+\fB\%nl_langinfo\fP(3))  is done via \fB\%iconv\fP(3), or \fB\%ucnv_*\fP(), if none
+of these functions are available on your system this option is disabled and
+you have to use \fBmm_charset\fP instead. \fBmm_network_charset\fP is limited to
+one of the following charsets:
 .in +.3i
 US\-ASCII, ISO\-8859\-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8\-{R,U,RU}
 EUC\-{CN,JP,KR,TW}, ISO\-2022\-{CN,CN\-EXT,JP,JP\-1,JP\-2}, Big5, UTF\-8
-.in -.3i
+.in -0.3i
 Not all values might work on your system, see \fB\%iconv_open\fP(3)  for more
 details. If it's not set, the value of the environment variable
 $\fBMM_CHARSET\fP is used. US\-ASCII or compile\-time default is used in case
@@ -2108,7 +2147,8 @@ this option.
 \fBQuote line when following up (news_quote_format)\fP
 Format of quote line when posting/following up an article (%A=Address,
 %D=Date, %F=Fullname+Address, %G=Groupname, %M=Message\-ID, %N=Fullname,
-%C=Firstname, %I=Initials). Default is "%F wrote:".
+%C=Firstname, %I=Initials). If the article has multiple addresses only the
+first is evaluated. Default is "%F wrote:".
 .TP 
 \fBNNTP read timeout in seconds (nntp_read_timeout_secs)\fP
 Time in seconds to wait for a response from the server. Default is 120.
@@ -2138,7 +2178,8 @@ possible values are:
 and Case Folding
 .RE
 Some normalization modes are only available if they are supported by the
-library \fBtin\fP uses to do the normalization. NFC should be used if possible.
+library \fBtin\fP uses to do the normalization. NFC should be used if possible
+(\fBRFC\%5198\fP).
 .TP 
 \fBFormat string for the display of mime header at Article level (page_mime_format)\fP
 Format string \fBtin\fP uses for mime header at Page level. See the section
@@ -2216,7 +2257,8 @@ OFF.
 \fBCharacters used as quote\-marks (quote_chars)\fP
 The character used in quoting included text to article followups and mail
 replies. The '_' character represents a blank character and is replaced with
-\&' ' when read, %I is replaced by author's initials. Default is '>_'.
+\&' ' when read, %I is replaced by author's initials. If the article has
+multiple addresses only the first is evaluated. Default is '>_'.
 .TP 
 \fBQuoting behavior (quote_style)\fP
 How articles should be quoted when following up or replying to them. There
@@ -2599,8 +2641,8 @@ header. For this option to have any effe
 OFF.
 .TP 
 \fBUse UTF\-8 graphics (utf8_graphics)\fP
-If ON use UTF\-8 characters for indicator ('\->'), thread/attachment tree
-and ellipsis ('...'). Default is OFF.
+If ON use UTF\-8 characters for indicator ('\(->'), thread/attachment
+tree and ellipsis ('...'). Default is OFF.
 .TP 
 \fBRegex for begin of a verbatim block (verbatim_begin_regex)\fP
 A regular expression that \fBtin\fP will use to find the begin of a verbatim
@@ -2629,7 +2671,7 @@ displayed, even when they are highlighti
 .IP 0 3
 \fBno\fP
 .IP 1
-yes, \fBdisplay mark\fP
+si \fBdisplay mark\fP
 .IP 2
 print a \fBspace\fP instead
 .RE
@@ -2645,12 +2687,12 @@ are used. Default is ON.
 \fBPage line wrap column (wrap_column)\fP
 Sets the column at which a displayed article body should be wrapped.  If
 this value is equal to 0, it defaults to the current screen width.  If this
-value is greater than your current screen width the part off\-screen is not
-displayed. Thus setting this option to a large value can be used to disable
-wrapping. If this value is negative the wrap margin is the current screen
-width plus the given value (as long as the result is still positive,
-otherwise it will fall back to the current screen width). Default is 0,
-wrapping at the current screen width.
+value is greater than your current screen width and \fBdont_break_words\fP is
+unset the part off\-screen is not displayed.  Thus setting this option to a
+large value can be used to disable wrapping.  If this value is negative the
+wrap margin is the current screen width plus the given value (as long as the
+result is still positive, otherwise it will fall back to the current screen
+width). Default is 0, wrapping at the current screen width.
 .TP 
 \fBQuote line when crossposting (xpost_quote_format)\fP
 .\"
@@ -2687,7 +2729,7 @@ options menu the attributes menu provide
 .SS ÃMBITO
 The scopes menu (accessible from the options menu with \fBConfigScopeMenu\fP
 ('\fBS\fP')) shows all scopes read from the global and local attributes file.
-Scopes from the global attributes file are marked with '!' to the left of
+Scopes from the global attributes file are marked with '!\&' to the left of
 the scope number. Delete/rename/move are not possible with those scopes.
 .PP
 .\"
@@ -2710,9 +2752,9 @@ specify. This can be anything from the n
 lines in an article.
 .PP
 When \fBtin\fP starts up the user's kill\-file
-\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/filter\fP (see also \fB\%tin\fP(5))  is read. Each
-time a newsgroup is entered the rules are applied and articles killed or
-selected when they meet certain criteria.
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/filter\fP or the file specified via \*(rq\fB\-F\fP\*(rq
+is read (see also \fB\%tin\fP(5)  ). Each time a newsgroup is entered the rules
+are applied and articles killed or selected when they meet certain criteria.
 .PP
 The degree to which rules are applied depend on the \fBkill_level\fP tinrc
 setting. By default killed articles will only be marked read. Adjust
@@ -2729,7 +2771,7 @@ previous versions to include scoring and
 recommended that you read the file \fIfiltering\fP in the \fBtin\fP documentation
 directory. This file can also be read online at
 .br
-<http://www.tin.org/filtering.txt>.
+<http://bzr.tin.org/doc/filtering>.
 .PP
 .\" FIXME - Next paragraph is out of date
 .\"
@@ -2785,10 +2827,11 @@ or send the article to the author via \f
 When posting a followup to an article or replying direct to the author of an
 article via email the text of the article can be quoted. The beginning of
 the quoted text can contain information about the quoted article (e.g., Name
-and the Message\-ID of the article). To allow for different situations
-certain information from the article can be used in the quoted string. The
-following variables are expanded if found in the tinrc variables
-\fBmail_quote_format\fP, \fBnews_quote_format\fP or \fBxpost_quote_format\fP:
+and the Message\-ID of the article). If the article has multiple addresses
+only the first is evaluated. To allow for different situations certain
+information from the article can be used in the quoted string. The following
+variables are expanded if found in the tinrc variables \fBmail_quote_format\fP,
+\fBnews_quote_format\fP or \fBxpost_quote_format\fP:
 .RS
 .nf
 .ta \w'%A  'u +\w'Address'u
@@ -2805,15 +2848,15 @@ following variables are expanded if foun
 p.e.,
 .RS
 .nf
-\f(CWmail_quote_format=On %D in %G you wrote:
-news_quote_format=In %M, %F wrote:\fP
+\f(CRmail_quote_format=On %D in %G you wrote:
+news_quote_format=In %M, %F wrote:\fR
 .fi
 .RE
 would expand to:
 .RS
 .nf
-\f(CWOn 21 Sep 1993 09:45:51 \-0400 in alt.sources you wrote:
-In <abcINN123@example.org>, Joe Bar <joe@example.org> wrote:\fP
+\f(CROn 21 Sep 1993 09:45:51 \-0400 in alt.sources you wrote:
+In <abcINN123@example.org>, Joe Bar <joe@example.org> wrote:\fR
 .fi
 .RE
 .\"
@@ -2862,7 +2905,7 @@ mailbox with the name of the current new
 To save in savedir/<news.group.name>/<filename> format enter
 \&'+<filename>'.  See \fBsavedir\fP. Like '+' %G is expanded to the
 current news.group.name but without \fBsavedir\fP prefixed. %P is expanded to
-the news.group.name with all '.' replaced by '/'.
+the news.group.name with all '.\&' replaced by '/'.
 .PP
 If saving multiple files at once the filename (if not referring to a
 mailbox)  will be extended by ".num" where "num" is at least 3 digit number
@@ -2912,11 +2955,11 @@ mark them as read)
 A range is simply a group of items marked using the \fBSetRange\fP (\fB'#'\fP)
 key. Certain \fBtin\fP commands will operate on a range if one exists rather
 than just the current item. A range is an expression of the form
-<min>\(en<max>, e.g. 10\(en15 will highlight items 10
-through 15 on the current screen. Other than absolute numeric positions, '.'
-can be used in place of the current cursor position and '$' can be used to
-mean the highest number available. Entering '0' at the prompt undoes the
-previously entered range selection. Currently the only commands that
+<min>\(en<max>, e.g., 10\(en15 will highlight items 10
+through 15 on the current screen. Other than absolute numeric positions,
+\&'.\&' can be used in place of the current cursor position and '$' can be
+used to mean the highest number available. Entering '0' at the prompt undoes
+the previously entered range selection. Currently the only commands that
 understand ranges are \fBGroupMarkThdRead\fP ('\fBK\fP'), \fBMarkArtUnread\fP
 ('\fBz\fP') and \fBMarkThdUnread\fP ('\fBZ\fP').
 .SS "LISTADOS DE GRUPOS NOTICIARIOS Y COMODINES"
@@ -2952,8 +2995,8 @@ editor for both posting and mailing comm
 The following is an example of a \fI.Sig\fP file:
 .RS
 .nf
-\f(CWNAMES  Joe Bar <joe@example.org>
-SNAIL  Musterweg 12, 99999 Notreal, Germany\fP
+\f(CRNAMES  Joe Bar <joe@example.org>
+SNAIL  Musterweg 12, 99999 Notreal, Germany\fR
 .fi
 .RE
 .PP
@@ -2972,7 +3015,8 @@ sig is read from the file \fI$HOME/.sigf
 The look of the Selection, Group and Thread level can be customized via
 format strings. These format strings define the content and the position of
 each element on the screen. Variables are used within the format strings as
-placeholders. The following variables are available:
+placeholders. If the article has multiple addresses only the first is
+evaluated. The following variables are available:
 .PP
 .in +.3i
 .nf
@@ -2994,7 +3038,7 @@ placeholders. The following variables ar
 \fB%s\fP	subject
 \fB%%\fP	%
 .fi
-.in -.3i
+.in -0.3i
 .PP
 Not all variables can be used in each level. The following table provides an
 overview:
@@ -3020,7 +3064,7 @@ overview:
 \fB%s\fP		X
 \fB%%\fP	X	X	X
 .fi
-.in -.3i
+.in -0.3i
 .PP
 Defaults for the format strings:
 .PP
@@ -3031,7 +3075,7 @@ Defaults for the format strings:
 \fBgroup_format\fP:	"\fB%n %m %R %L  %s  %F\fP"
 \fBthread_format\fP:	"\fB%n %m  [%L]  %T  %F\fP"
 .fi
-.in -.3i
+.in -0.3i
 .PP
 \fBshow_description\fP controls whether the newsgroup description is shown or
 not. The description can also be toggled with \fBSelectToggleDescriptions\fP
@@ -3042,8 +3086,7 @@ The information displayed with '\fB%F\fP
 ('\fBd\fP') switches through all available options.
 .PP
 For date representation '\fB%D\fP' uses \fBdate_format\fP. It is possible to
-specify a different date format in round brackets (e.g. '\fB%(%d %b %y
-%H:%M)D\fP'). See \fBdate_format\fP for more details.
+specify a different date format in round brackets (e.g., '\fB%(%d %b %y %H:%M)D\fP'). See \fBdate_format\fP for more details.
 .PP
 The length of each item (except '\fB%%\fP') can be defined with a positive
 number after the '\fB%\fP'. The following example displays the score in the
@@ -3051,8 +3094,8 @@ thread level 10 characters wide: '\fB%10
 .PP
 If the newsgroup name is displayed together with the newsgroup description,
 the width of the newsgroup name can be controlled via an optional comma
-separated second value (e.g. '\fB%60,20G\fP'). It is valid to omit the first
-value (e.g. ('\fB%,20G\fP')). If no second value is given, \fBtin\fP uses a
+separated second value (e.g., '\fB%60,20G\fP'). It is valid to omit the first
+value (e.g., ('\fB%,20G\fP')). If no second value is given, \fBtin\fP uses a
 default value of 32.
 .PP
 Some variables do have a default width which may lead to truncation.
@@ -3060,7 +3103,7 @@ Truncation for variables which contain o
 value with a sufficient power of ten and adding a SI suffix to the result,
 that is the variable holds a value of 54321 and the width for the variable
 is 4 the result will be "54 k". If that's undesired you have to specify a
-larger width manually, e.g. '\fB%6n\fP'. Here is an overview of the defaults:
+larger width manually, e.g., '\fB%6n\fP'. Here is an overview of the defaults:
 .PP
 .in +.3i
 .nf
@@ -3074,7 +3117,7 @@ Variable	width
 \fB%U\fP	 5
 \fB%n\fP	 4
 .fi
-.in -.3i
+.in -0.3i
 .PP
 If no length is given for '\fB%D\fP', the length is determined by the format
 string for the date and the date of the current day. If the date format
@@ -3093,19 +3136,28 @@ When the format string contains the spec
 resp. '\fB%T\fP' and no length are given, '\fB%F\fP' will use one third and
 \&'\fB%s\fP' resp. '\fB%T\fP' will use two third of the available space.
 .PP
-In addition, a minimum screen width can be defined for each item (except
-\&'\fB%%\fP'). In this case, the item will only be displayed when the screen is
-wider than specified. This comes in handy to not overload a small screen but
-have maximum information on a large screen. The minimum screen width has to
-be specified by a positive number preceded by an '\fB>\fP'. In the
-following example \fBtin\fP will display the score only if the screen is wider
-than 100 characters: '\fB%>100S\fP'.
-.PP
-If both the length and the minimum screen width should be specified for an
-item, the length must be the first parameter and the minimum screen width
-must be the second one. The following example displays the score with a
-length of 10 characters only if the screen is wider than 100 characters:
-\&'\fB%10>100S\fP'.
+In addition, a minimum or a maximum screen width can be defined for each
+item (except '\fB%%\fP'). In this case, the item will only be displayed when
+the screen is wider resp. smaller than specified. This comes in handy to not
+overload a small screen but have maximum information on a large screen. The
+minimum screen width has to be specified by a positive number preceded by an
+\&'\fB>\fP', the maximum screenwidth has to be specified by a positive number
+preceded by an '\fB<\fP'. In the following example \fBtin\fP will display the
+score only if the screen is wider than 100 characters: '\fB%>100S\fP'.
+.PP
+If both the length and the minimum or maximum screen width should be
+specified for an item, the length must be the first parameter and the
+minimum or maximum screen width must be the second one. The following
+example displays the score with a length of 10 characters only if the screen
+is wider than 100 characters: '\fB%10>100S\fP'. A second length can be
+specified for '\fB%F\fP' and '\fB%s\fP' resp. '\fB%T\fP', separated by a colon, which
+is used if the minimum or maximum screen width is not reached.  If no length
+is specified after the colon, the item is displayed even if the minimum
+screen width is not reached and the length is calculated as if no minimum
+(or maximum) screen width had been specified. In the following example
+\fBtin\fP will display the subject with a length of 60 characters if the screen
+is wider than 100 characters, otherwise a length of 40 characters is used:
+\&'\fB%60>100:40s\fP'.
 .PP
 The look of the Attachment level and the mime and uue header at Page level
 can be customized too via format strings.  The following variables are
@@ -3133,7 +3185,7 @@ available:
 \fB%z\fP	Like %Z but with description
 \fB%%\fP	%
 .fi
-.in -.3i
+.in -0.3i
 .PP
 Not all items can be used in each variable. The following table provides an
 overview:
@@ -3161,14 +3213,14 @@ overview:
 \fB%z\fP	X	X	X
 \fB%%\fP	X	X	X
 .fi
-.in -.3i
+.in -0.3i
 .PP
 By default, the string is not truncated. If it exceeds the screen width, it
-is wrapped. If the % sign is followed by an exclamation mark ('!') for
+is wrapped. If the % sign is followed by an exclamation mark ('!\&') for
 uppercase letters, the element is omitted if there is not enough space. If
 the % sign is followed by an asterisk ('*') for a lowercase letter, the
 description is omitted if there is not enough space. If the % sign is
-followed by an exclamation mark ('!') for a lowercase letter, the
+followed by an exclamation mark ('!\&') for a lowercase letter, the
 description is omitted first and then the content. The shortening is always
 from right to left, first the description is omitted and when no more
 description is displayed, the content is omitted. If %T and %S follow each
@@ -3290,7 +3342,8 @@ If your news server doesn't support NOV
 connection to your news server then \fBtin\fP can cache the index for each
 newsgroup if \fBcache_overview_files\fP is set to ON.  Note that this cache can
 use up large amounts of disk space if you read a lot of groups and/or high
-traffic groups.
+traffic groups. To reduce the amount of disk space used,
+\fBcompress_overview_files\fP can be set to ON.
 .PP
 Each user creates/updates his/her own index files that are stored in
 \fI${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news/\fP. If you are
@@ -3312,7 +3365,7 @@ batcher \fB\%cron\fP(8)  with the \*(rq\
 .PP
 .RS
 .nf
-\f(CW30 6 * * * /usr/local/bin/tin \-u\fP
+\f(CR30 6 * * * /usr/local/bin/tin \-u\fR
 .fi
 .RE
 .PP
@@ -3321,14 +3374,13 @@ cached data for groups you are not readi
 .PP
 .RS
 .nf
-\f(CWfind ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news* \e
-\-type f \-name "[0\-9]*.[0\-9]" \-atime +28 | xargs rm \-f\fP
+\f(CRfind ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news* \e
+\-type f \-name "[0\-9]*.[0\-9]" \-atime +28 | xargs rm \-f\fR
 .fi
 .RE
 .\"
 .\"
 .SH FICHEROS
-.IX Header FICHEROS
 .\" TODO: mention dead.article, dead.articles
 .\"               .article[.$$], .cancel[.$$], .letter[.$$]?
 .\"       ${XDG_RUNTIME_DIR:\-"$HOME"}/.slrnfaces
@@ -3344,6 +3396,7 @@ cached data for groups you are not readi
 .\"       $TMPDIR/SCOPES-R   (-D 32)
 .\"       $TMPDIR/SCOPES-W   (-D 32)
 .\"       $TMPDIR/ACTIVE     (-D 64)
+.\"       $TMPDIR/GNKSA      (-D 64)
 For a detailed description see \fB\%tin\fP(5).
 .PP
 \fI$MAILCAPS\fP
@@ -3411,7 +3464,7 @@ For a detailed description see \fB\%tin\
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/active.save\fP
 .PP
 
-.\" .IR ${TIN_LIBDIR:\-NEWSLIBDIR}/attributes
+.\" .I ${TIN_LIBDIR:\-NEWSLIBDIR}/attributes
 \fI/etc/tin/attributes\fP
 .br
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes\fP
@@ -3443,21 +3496,26 @@ For a detailed description see \fB\%tin\
 .PP
 
 .nf
-\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/newsgroups\fP
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/motd\fP
 .fi
 .PP
 
 .nf
-\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/serverrc\fP
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog\fP
 .fi
 .PP
 
 .nf
-\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog\fP
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/newsgroups\fP
+.fi
+.PP
+
+.nf
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/serverrc\fP
 .fi
 .PP
 
-.\" .IR ${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc
+.\" .I ${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc
 \fI/etc/tin/tinrc\fP
 .br
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP
@@ -3488,7 +3546,6 @@ For a detailed description see \fB\%tin\
 .\"
 \fI${TIN_LIBDIR:\-NEWSLIBDIR}/subscriptions\fP
 .SH ENTORNO
-.IX Header ENTORNO
 .\" TODO: - sort in a useful order
 .\"       - add undocumented env-vars (e.g. $DEV_TCP (SCO),
 .\"         ${HOST:-"$HOSTNAME"} fallback)
@@ -3555,8 +3612,13 @@ overrides $\fBNNTPSERVER\fP.
 .TP 
 \fBNNTPPORT\fP
 The NNTP TCP\-port to read news from. This variable only needs to be set if
-the TCP\-port is not 119 (the default). The \*(rq\fB\-p\fP\*(rq and \*(rq\fB\-T\fP\*(rq
-command\-line options do override $\fBNNTPPORT\fP.
+the TCP\-port is not 119 (the default). The \*(rq\fB\-p\fP\*(rq command\-line option
+does override $\fBNNTPPORT\fP.
+.TP 
+\fBNNTPSPORT\fP
+The NNTPS TCP\-port to read news from. This variable only needs to be set if
+the TCP\-port is not 563 (the default). The \*(rq\fB\-p\fP\*(rq and \*(rq\fB\-T\fP\*(rq
+command\-line options do override $\fBNNTPSPORT\fP.
 .TP 
 \fBDISTRIBUTION\fP
 Set the article header field \*(rqDistribution:\*(rq to the contents of the
@@ -3625,6 +3687,11 @@ mailing operations within \fBtin\fP.
 \fBMAIL\fP
 Full path to the user's mailbox.
 .TP 
+.\" we don't support the %message || ?message notation
+\fBMAILPATH\fP
+A colon\-separated list of filenames which are checked for new mail. This
+overrides the $\fBMAIL\fP variable.
+.TP 
 \fBVISUAL\fP
 This variable has precedence over the default editor (i.e., \fB\%vi\fP(1))
 that is used in all editing operations within \fBtin\fP (e.g., posting,
@@ -3670,7 +3737,7 @@ This variable can be used to override th
 .TP 
 \fBNOMETAMAIL\fP
 Set this variable to disable the use of \fB\%metamail\fP(1)  or a replacement
-(e.g. metamutt).
+(e.g., metamutt).
 .TP 
 \fBMM_CHARSET\fP
 MIME character set used if not configured via the tinrc variable
@@ -3707,6 +3774,11 @@ Its value should be of the form
 \fIlanguage\fP[\fI_territory\fP][\fI.codeset\fP][\fI@modifier\fP]. See \fB\%locale\fP(5)
 and \fB\%environ\fP(5)  for more information.
 .TP 
+\fBLC_NUMERIC\fP
+Numeric value formats. Its value should be of the form
+\fIlanguage\fP[\fI_territory\fP][\fI.codeset\fP][\fI@modifier\fP]. See \fB\%locale\fP(5)
+and \fB\%environ\fP(5)  for more information.
+.TP 
 \fBLC_TIME\fP
 Date and time formats. Its value should be of the form
 \fIlanguage\fP[\fI_territory\fP][\fI.codeset\fP][\fI@modifier\fP]. See \fB\%locale\fP(5)
@@ -3726,10 +3798,9 @@ should be of the form \fIlanguage\fP[\fI
 .TP 
 \fBLANGUAGE\fP
 This variable defines a priority list for translations. Whenever a
-translation is not available in the language selected via \fB$LC_ALL\fP or
-\fB$LANG\fP the next language from the list is tried. Its value should be of
-the form \fIlanguage:language[:language]\fP. See \fB\%environ\fP(5)  for more
-information.
+translation is not available the next language from the list is tried.  Its
+value should be of the form \fIlanguage:language[:language]\fP.  Requires
+\fB$LC_ALL\fP or \fB$LANG\fP to be set. See \fB\%environ\fP(5)  for more information.
 .TP 
 \fBCOLUMNS\fP
 A decimal integer > 0 used to indicate the user's preferred width in
@@ -3771,7 +3842,6 @@ The pathname of the user's login shell.
 .\"
 The pathname of the user's dir to put non\-essential run time files into.
 .SH SEÃ‘ALES
-.IX Header SEÃ‘ALES
 .\" TODO: add missing, sort useful, document in detail
 \fBtin\fP handles a couple of signals:
 .TP 
@@ -3795,12 +3865,11 @@ Terminate gracefully but do not restore
 .\"
 Write out \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP\-file.
 .SH GARANTÃA
-.IX Header GARANTÃA
 If \fBtin\fP is started in debug mode (\*(rq\fB\-D n\fP\*(rq) it will create world
 readable files in \fB$TMPDIR\fP which may contain sensitive data like the users
 NNTP password in cleartext (if running verbose). On multiuser\-systems
 \fB$TMPDIR\fP should be set to a safe location before starting \fBtin\fP in
-(verbose) debug mode (e.g. \fBTMPDIR=$HOME tin \-vD 1\fP).
+(verbose) debug mode (e.g., \fBTMPDIR=$HOME tin \-vD 1\fP).
 .PP
 Using the \*(rq\fB\-k\fP\*(rq option to skip certificate verification makes the
 session insecure as the server's certificate is not checked; avoid this
@@ -3813,7 +3882,6 @@ compression and compression is requested
 authentication is required later on. Using the \*(rq\fB\-A\fP\*(rq command line option
 in conjunction with \*(rq\fB\-C\fP\*(rq circumvents this behavior.
 .SH "CONFORME A"
-.IX Header "CONFORME A"
 .\" - RFC\%2045, RFC\%2047, RFC\%2231, RFC\%2980, RFC\%3977, RFC\%4155
 .\"   RFC\%4643, RFC\%5322, RFC\%5536, RFC\%5537, RFC\%6048 or whatever
 .\"
@@ -3822,7 +3890,6 @@ in conjunction with \*(rq\fB\-C\fP\*(rq
 Section 12, Utility Conventions (Utility Argument Syntax, Utility Syntax
 Guidelines).
 .SH ANOTACIONES
-.IX Header ANOTACIONES
 Regular expression support is provided by the PCRE library package
 \fB\%pcre\fP(3)  or \fB\%pcre2\fP(3)  which is open source software, written by
 Philip Hazel, and copyright \(co by the University of Cambridge, England.
@@ -3831,7 +3898,6 @@ Philip Hazel, and copyright \(co by the
 .\"
 <https://www.pcre.org/>
 .SH DEFECTOS
-.IX Header DEFECTOS
 \fBCNews\fP\0NNTPd, \fB\%noffle\fP(1)  (<= V1.0\-pre5) and \fBNewsCache\fP (<=
 V1.1.91) can't handle pipelined GROUP commands (\fBRFC\%3977\fP).  If you run
 into trouble with any of the mentioned historical servers define
@@ -3851,7 +3917,6 @@ found a bug, please use the \fBBugReport
 English. Please do NOT enclose a core\-file in your bug\-report until we
 request it.
 .SH HISTORIAL
-.IX Header HISTORIAL
 \fBtin\fP is based on the \fB\%tass\fP(1)  newsreader that was developed by Rich
 Skrenta and posted to alt.sources in March 1991; its first version was
 released on August 23rd 1991.  \fB\%tass\fP(1)  itself was heavily influenced
@@ -3871,7 +3936,7 @@ author of envarg.c environment variable
 author of sigfile.c random signature generation routines.
 .IP "Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>"
 author of langinfo.c, charset.c and iso2asc.txt ISO\-8859\-1 documentation.
-.IP "Arnold Robbins"
+.IP "Arnold D. Robbins"
 author of strftime.c date formatting routine.
 .IP "Rich Salz"
 author of wildmat.c pattern matching and parsdate.y date parsing routines.
@@ -3884,7 +3949,7 @@ for adding \fB\%pgp\fP(1)  (Pretty Good
 .IP "Philip Hazel <ph10@cam.ac.uk>"
 for \fB\%pcre\fP(3), \fB\%pcre2\fP(3)  (Perl\-compatible regular expression
 library).
-.IP "Patrick Powell <papowell@astart.com>"
+.IP "Mark Martinec <mark.martinec@ijs.si>"
 .\"
 .\"
 for \fB\%snprintf\fP(3)  and \fB\%vsnprintf\fP(3)  fallbacks.
@@ -3899,7 +3964,6 @@ Urs Janssen <urs@tin.org>
 .\"
 .\"
 .SH "VEA ADEMÃS"
-.IX Header "VEA ADEMÃS"
 \fB\%elm\fP(1), \fB\%emacs\fP(1), \fB\%gpg\fP(1), \fB\%inews\fP(1), \fB\%ispell\fP(1),
 \fB\%lp\fP(1), \fB\%lpr\fP(1), \fB\%metamail\fP(1), \fB\%mutt\fP(1), \fB\%noffle\fP(1),
 \fB\%perl\fP(1), \fB\%perlre\fP(1), \fB\%pgp\fP(1), \fB\%rn\fP(1), \fB\%sendmail\fP(1),
@@ -3910,7 +3974,7 @@ Urs Janssen <urs@tin.org>
 \fB\%snprintf\fP(3), \fB\%strftime\fP(3), \fB\%vsnprintf\fP(3), \fB\%wildmat\fP(3),
 \fB\%environ\fP(5), \fB\%locale\fP(5), \fB\%mailcap\fP(5), \fB\%mbox\fP(5),
 \fB\%mmdf\fP(5), \fB\%newsoverview\fP(5), \fB\%tin\fP(5), \fB\%cron\fP(8), \fBRFC\%1345\fP,
-\fBRFC\%1524\fP, \fBRFC\%2045\fP, \fBRFC\%2046\fP, \fBRFC\%2047\fP, \fBRFC\%2048\fP,
+\fBRFC\%1524\fP, \fBRFC\%1952\fP, \fBRFC\%2045\fP, \fBRFC\%2046\fP, \fBRFC\%2047\fP,
 \fBRFC\%2231\fP, \fBRFC\%2980\fP, \fBRFC\%3156\fP, \fBRFC\%3977\fP, \fBRFC\%4155\fP,
-\fBRFC\%4643\fP, \fBRFC\%4880\fP, \fBRFC\%5322\fP, \fBRFC\%5536\fP, \fBRFC\%5537\fP,
-\fBRFC\%6048\fP, \fBRFC\%8054\fP, \fBRFC\%8143\fP
+\fBRFC\%4643\fP, \fBRFC\%4880\fP, \fBRFC\%5198\fP, \fBRFC\%5322\fP, \fBRFC\%5536\fP,
+\fBRFC\%5537\fP, \fBRFC\%6048\fP, \fBRFC\%6838\fP, \fBRFC\%8054\fP, \fBRFC\%8143\fP
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/l10n/es/tin.5 tin-2.6.4/doc/l10n/es/tin.5
--- tin-2.6.3/doc/l10n/es/tin.5	2023-12-24 00:38:34.000000000 +0100
+++ tin-2.6.4/doc/l10n/es/tin.5	2024-12-23 10:54:29.475367450 +0100
@@ -2,8 +2,8 @@
 .\" Module    : tin.5
 .\" Author    : U. Janssen
 .\" Created   : 2000-07-10
-.\" Updated   : 2023-12-24
-.\" Notes     : needs a some work
+.\" Updated   : 2024-12-24
+.\" Notes     : needs a some work, see TODOs
 .\"
 .\"
 .\"*******************************************************************
@@ -11,7 +11,7 @@
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH tin 5 "24 diciembre 2023" 2.6.3 "Usenet newsreader"
+.TH tin 5 "December 24th, 2024" 2.6.4 "Usenet newsreader"
 
 .SH NOMBRE
 tin, rtin \- related files
@@ -188,7 +188,7 @@ Example:
 .br
 image/*;\e
 .br
-.in +.3i
+.in +0.3i
 xv \-8 \-geometry +0 '%s';\e
 .br
 description=%{name} %t\-Image;\e
@@ -196,11 +196,11 @@ description=%{name} %t\-Image;\e
 test=test "$DISPLAY" != "";\e
 .br
 nametemplate=%s.IMAGE
-.in -.3i
+.in -0.3i
 .sp
 message/rfc822;\e
 .br
-.in +.3i
+.in +0.3i
 ${PAGER:\-"more"} '%s';\e
 .br
 edit=${EDITOR:\-"vi"} '%s';\e
@@ -210,7 +210,7 @@ compose=${EDITOR:\-"vi"} '%s';\e
 print=a2ps '%s';\e
 .br
 needsterminal
-.in -.3i
+.in -0.3i
 .fi
 .RE
 .RE
@@ -249,21 +249,20 @@ mime type / filename extension pairs
 .sp
 .RS
 "\fInntpserver[:port]\fP \fIpassword\fP [\fIuser\fP]" pairs for NNTP servers that
-require authorization.  If the password contains a space or a tab it must be
-enclosed in double quotes (").  Usernames must not be enclosed in double
-quotes and thus can't contain spaces or tabs.  Any line that starts with "#"
-is a comment.  Blank lines are ignored.  This file should be readable only
-for the user as it contains the user's unencrypted password for reading
-news!
+require authorization. If the password contains a space or a tab it must be
+enclosed in double quotes ("). Usernames must not be enclosed in double
+quotes and thus can't contain spaces or tabs. Any line that starts with "#"
+is a comment. Blank lines are ignored. This file should be readable only for
+the user as it contains the user's unencrypted password for reading news!
 .TP 
 \fBnntpserver\fP
 full qualified domain name of the news server. Additionally, a port can be
 specified by appending :portnumber.
 .TP 
-\fBpassword\fP
+\fBcontraseÃ±a\fP
 user's unencrypted password for reading news.
 .TP 
-\fBuser\fP
+\fBusuario\fP
 username on the news server if it differs from the local login. This field
 is optional.
 .TP 
@@ -289,7 +288,7 @@ news.example.com "top secret" james.bond
 the name of the newsgroup.
 .TP 
 \fBflag\fP
-a flag indicating if the group is subscribed ':' or not '!'.
+a flag indicating if the group is subscribed ':' or not '!\&'.
 .TP 
 \fBarticle\fP
 range of already read articles from that group; numbers separated by commas
@@ -330,7 +329,7 @@ signature
 \fI${TIN_HOMEDIR:\-"$HOME"}/.sigfixed\fP
 .sp
 .RS
-fixed part of a randomly generated signature
+fixed part of a randomly generated signature, this will be added first
 .RE
 .PP
 
@@ -373,7 +372,7 @@ mh\-mail\-handling support).
 .TP 
 \fBmailgroupname\fP
 must be the pathname of the mailbox relative to field #4 with '/' changed to
-\&'.'
+\&'.\&'
 .TP 
 \fBmaxnum\fP
 just put a large number here, something higher than the highest message in
@@ -638,7 +637,7 @@ string starts with a / or ~ then it is a
 containing the text to insert. If the string starts with a ! then what
 follows is assumed to be the path to a program to be executed to generate
 the content. %G is expanded to the current news.group.name and %P is
-expanded to the news.group.name with all '.' replaced by '/'.
+expanded to the news.group.name with all '.\&' replaced by '/'.
 .TP 
 \fBx_comment_to\fP
 Insert \*(rqX\-Comment\-To:\*(rq header, this is only useful in FIDO groups.
@@ -650,7 +649,7 @@ is assumed to be the name of a file cont
 be inserted. If the string starts with a ! then what follows is assumed to
 be the path to a program to be executed to generate the header and its
 content. %G is expanded to the current news.group.name and %P is expanded to
-the news.group.name with all '.' replaced by '/'.
+the news.group.name with all '.\&' replaced by '/'.
 .TP 
 \fBquick_kill_scope\fP
 A comma\-separated list of newsgroup patterns (wildmat\-style) to which groups
@@ -682,7 +681,7 @@ Identical to the tinrc variable \fBdefau
 Identical to the tinrc variable \fBdefault_filter_select_header\fP
 .TP 
 \fBispell\fP
-Path and options for \fB\%ispell\fP(1)\-like spell\-checker, e.g. "aspell
+Path and options for \fB\%ispell\fP(1)\-like spell\-checker, e.g., "aspell
 \-\-mode=email \-\-dont\-backup check"
 .TP 
 \fBmm_network_charset\fP
@@ -691,15 +690,22 @@ Identical to the tinrc variable of the s
 \fBundeclared_charset\fP
 Assume (broken) articles without MIME charset declaration have this charset
 \(em default is US\-ASCII. This attribute works only on systems with working
-\fB\%iconv\fP(3), others might have to compile \fB\%tin\fP(1)  with
-\-\-disable\-mime\-strict\-charset.
+\fB\%iconv\fP(3)  or \fB\%ucnv_*\fP(), others might have to compile \fB\%tin\fP(1)
+with \-\-disable\-mime\-strict\-charset.
+.TP 
+\fBundeclared_cs_guess\fP
+Guess charset for (broken) articles without MIME charset declaration.  This
+attribute works only on systems with working \fB\%iconv\fP(3)  or \fB\%ucnv_*\fP()
+and \fB\%ucsdet_getName()\fP from libicui18n. It has no effect if
+undeclared_charset is also set.
 .TP 
 Example:
 .RS
 .nf
 # include extra headers
 # assume ISO\-8859\-1 as charset if no charset is declared
-scope=*
+# in all but fido7.* groups
+scope=*,!fido7.*
 x_headers=~/.tin/headers
 undeclared_charset=ISO\-8859\-1
 
@@ -720,6 +726,10 @@ scope=fido.*
 quote_chars=%I>_
 x_comment_to=ON
 
+# in fido7.* newsgroups guess charset
+scope=fido7.*
+undeclared_cs_guess=ON
+
 # in *.test newsgroups, don't append signature
 # and preset Subject
 scope=*.test
@@ -768,7 +778,7 @@ depends on the setting of the tinrc vari
 .TP 
 \fBfrom\fP
 Match against \*(rqFrom:\*(rq.  \fB\%tin\fP(1)  converts the contents of the
-\&\*(rqFrom:\*(rq header to an old style e\-mail address, e.g. \*(rqsome@body.example
+\&\*(rqFrom:\*(rq header to an old style e\-mail address, e.g., \*(rqsome@body.example
 (John Doe)\*(rq instead of \*(rqJohn Doe <some@body.example>\*(rq, before
 trying to match the patterns in the filter rule. The matching type used
 (wildmat or regex) depends on the setting of the tinrc variable \fBwildcard\fP.
@@ -801,7 +811,7 @@ than, >num matches more than the returne
 value. GNKSA_LOCAL_DOMAIN_LITERAL or GNKSA_INVALID_DOMAIN are only returned
 if \fBdisable_gnksa_domain_check\fP is set to false. As the built in domain
 list is outdated this should be considered carefully.
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%406	'u +\w'GNKSA_ZERO_LENGTH_LOCAL_WORD'u
   \fB0\fP	GNKSA_OK
@@ -834,12 +844,12 @@ list is outdated this should be consider
 \fB405\fP	GNKSA_INVALID_REALNAME
 \fB406\fP	GNKSA_MISSING_REALNAME
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBxref\fP
 Match against \*(rqXref:\*(rq line. Before any matching is done the line is turned
 into the same format \*(rqNewsgroups:\*(rq has that is it is turned into a comma
-separated newsgroup list with all other information (i.e.  the article
+separated newsgroup list with all other information (i.e., the article
 counter) removed. The matching type used (wildmat or regex)  depends on the
 setting of the tinrc variable \fBwildcard\fP.
 .TP 
@@ -862,7 +872,7 @@ case=1
 score=hot
 subj=\eb(cd|[rk]?)?tin(d|pre)?[\-.0\-9]*\eb
 
-comment=downscore postings in nsr from google base on
+comment=downscore postings in nsr from google based on
 comment=message\-id or path, if both hit they end up with
 comment=a score of \-66 which is enough to mark them killed
 group=news.software.readers
@@ -1009,6 +1019,7 @@ is unassigned.
 \fBPageFollowupQuoteHeaders\fP	^W
 \fBPageToggleTex2iso\fP	"
 \fBPageToggleAllHeaders\fP	*
+\fBPageArticleInfo\fP	'
 \fBPageToggleRot\fP	%
 \fBPageToggleUue\fP	(
 \fBPageReveal\fP	)
@@ -1141,18 +1152,23 @@ is a short single\-line description of t
 .RS
 "\fInntpserver[:port]\fP \fInewsrc\fP [\fIshortname\fP [\fI...\fP]]" pairs to use with
 the \*(rq\fB\-g\fP\*(rq command\-line switch. The matching is case\-insensitive and any
-line that starts with "#", ";" or " " is treated as a comment.
+line that starts with "#", ";" or " " is treated as a comment. This is only
+available if reading via NNTP.
 .TP 
 \fBnntpserver\fP
-full qualified domain name of the news server. Additionally, a port can be
-specified by appending :portnumber. The string "default" or "*" acts as
-wildcard to match any name, such a line should be placed last.
+full qualified domain name of the news server. Plain IPv6 address must be
+enclosed in square brackets. Additionally, a port can be specified by
+appending :portnumber. Be aware that if a port is given it will override any
+port given with \*(rq\fB\-g\fP\*(rq or \*(rq\fB\-p\fP\*(rq or implied by \*(rq\fB\-T\fP\*(rq or \*(rq\fB\-k\fP\*(rq
+or set via $\fBNNTPPORT\fP. The string "default" or "*" acts as wildcard to
+match any name, such a line should be placed last.
 .TP 
 \fBnewsrc\fP
-related newsrc.
+related newsrc. A file specified via \*(rq\fB\-f\fP\*(rq has a higher priority.
 .TP 
 \fBshortname\fP
-nickname(s) for the nntpserver.
+nickname(s) for the nntpserver. Nicknames must not contain ":" and must be
+unique.
 .TP 
 Example:
 .RS
@@ -1162,7 +1178,15 @@ news.tin.org .newsrc\-tin.org tinorg
 .br
 news.example.org /tmp/nrc\-ex example ex
 .br
-* ~/.tin/newsrcs/${NNTPSERVER\-localhost}
+[::1]:1119 /tmp/localhost6\-1119 lh6
+.br
+# catch all rules should go last
+.br
+# with the more specific one on top
+.br
+*:563 ~/.tin/newsrcs/${NNTPSERVER\-localhost}:563/newsrc
+.br
+* ~/.tin/newsrcs/${NNTPSERVER\-localhost}/newsrc
 .RE
 .RE
 .PP
@@ -1196,11 +1220,32 @@ Pool of postponed articles. This file is
 .PP
 
 .nf
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/motd\fP
+.fi
+.sp
+.RS
+This file is a copy of the servers message of the day (MOTD) message.  It is
+automatically created on startup except when using the \*(rq\fB\-Q\fP\*(rq
+command\-line option and is unlinked on exit.
+.RE
+.PP
+
+.nf
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog\fP
+.fi
+.sp
+.RS
+File to store $\fBNNTPSERVER\fP and $\fBNNTPPORT\fP related info\- and
+error\-messages. The file is overwritten on startup and meant for debugging.
+.RE
+.PP
+
+.nf
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/newsgroups\fP
 .fi
 .sp
 .RS
-This file a copy of the servers newsgroups file which provides short
+This file is a copy of the servers newsgroups file which provides short
 descriptions of each newsgroup. It is automatically updated on startup
 except when using the \*(rq\fB\-X\fP\*(rqor \*(rq\fB\-q\fP\*(rq command\-line option and an old
 copy exists. Each line consist of two tab\-separated fields
@@ -1220,28 +1265,22 @@ is a short single\-line description of t
 .sp
 .RS
 File to store $\fBNNTPSERVER\fP and $\fBNNTPPORT\fP related data via a list of
-"\fIvariable\fP=\fIvalue\fP" pairs. Currently there are only two variables, both
+"\fIvariable\fP=\fIvalue\fP" pairs. Currently there are only a few variables, all
 are not meant to be changed by the user.
 .TP 
 \fBversion\fP
 Internal version number.
 .TP 
+\fBmotd_hash\fP
+Internal hash of the servers MOTD, so displaying it can be skipped if it is
+unchanged.
+.TP 
 \fBlast_newnews\fP
 Internal timestamp used by \fB\%tin\fP(1)  to keep track of new newsgroups on
 the server.
 .RE
 .PP
 
-.nf
-\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog\fP
-.fi
-.sp
-.RS
-File to store $\fBNNTPSERVER\fP and $\fBNNTPPORT\fP related info\- and
-error\-messages. The file is overwritten on startup and meant for debugging.
-.RE
-.PP
-
 .\" tin uses inns old (pre 2.x) Path convention.
 .\" as with inn >= 2.2.x getting more and more popular
 .\" we should think about checking for the new Paths (/news/etc/)
@@ -1253,11 +1292,12 @@ error\-messages. The file is overwritten
 .RS
 At startup, \fB\%tin\fP(1)  reads in the configuration file. This contains a
 list of "\fIvariable\fP=\fIvalue\fP" pairs that can be used to configure the way
-\fB\%tin\fP(1)  works. If it exists, the global configuration file,
-\fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fP is read first. After that, the user's own
-configuration file \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP is read. The global
-file is useful for distributing system\-wide defaults to new users who have
-no private tinrc yet (see also \fB/etc/tin/tin.defaults\fP).
+\fB\%tin\fP(1)  works. \fIvalue\fP strings are limited to 1022 chars and will be
+discarded if exceeding this limit. If it exists, the global configuration
+file, \fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fP is read first. After that, the
+user's own configuration file \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP is
+read. The global file is useful for distributing system\-wide defaults to new
+users who have no private tinrc yet (see also \fB/etc/tin/tin.defaults\fP).
 .TP 
 \fBabbreviate_groupname\fP
 If ON abbreviate long newsgroup names at group selection level and article
@@ -1341,6 +1381,11 @@ If ON, create local copies of NNTP overv
 considerably speed up accessing large groups when using a slow connection.
 Default is OFF.
 .TP 
+\fBcompress_overview_files\fP
+If ON, locally cached NNTP overview files (\fBcache_overview_files\fP) are
+saved in compressed form (\fBRFC\%1952\fP). Useful to reduce local disk space
+used. Default is OFF.
+.TP 
 \fBcancel_lock_algo\fP
 Use this hash algorithm for cancel\-locks. Only available when built with
 cancel\-lock support. none disables the generation of cancel\-locks. Valid
@@ -1439,7 +1484,7 @@ Color of help/mail sign
 \fBconfirm_choice\fP
 \fB\%tin\fP(1)  can ask for manual confirmation to protect the user. Available
 choices:
-.in +.5i
+.in +0.5i
 .\" TODO: check if all affected commands are marked [after confirmation]
 \fBcommands\fP: Ask for confirmation before executing certain dangerous
 commands (e.g., \fBCatchup\fP ('\fBc\fP')). Commands that this affects are marked
@@ -1450,7 +1495,7 @@ you use the \fBQuit\fP ('\fBq\fP') comma
 .sp
 \fBselect\fP: Ask for confirmation before marking all not selected (with
 \fBGroupMarkUnselArtRead\fP ('\fBX\fP') command) articles as read.
-.in -.5i
+.in -0.5i
 Default is commands & quit.
 .TP 
 \fBdate_format\fP
@@ -1483,7 +1528,7 @@ OFF=apply to current group. Default is O
 .TP 
 \fBdefault_filter_kill_header\fP
 Default for quick (1 key) kill filter header.
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'0,1   'u +\w'\'\'Message\-ID:\'\' & last \'\'References:\'\' entry only'u
 0	\*(rqSubject:\*(rq (case sensitive)
@@ -1495,7 +1540,7 @@ Default for quick (1 key) kill filter he
 6	\*(rqMessage\-ID:\*(rq entry only
 7	\*(rqLines:\*(rq
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBdefault_filter_select_case\fP
 Default for quick (1 key) auto\-selection filter case. ON=filter case
@@ -1511,7 +1556,7 @@ groups, OFF=apply to current group. Defa
 .TP 
 \fBdefault_filter_select_header\fP
 Default for quick (1 key) auto\-selection filter header.
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'0,1   'u +\w'\'\'Message\-ID:\'\' & last \'\'References:\'\' entry only'u
 0	\*(rqSubject:\*(rq (case sensitive)
@@ -1523,7 +1568,7 @@ Default for quick (1 key) auto\-selectio
 6	\*(rqMessage\-ID:\*(rq entry only
 7	\*(rqLines:\*(rq
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBdefault_goto_group\fP
 .TP 
@@ -1559,6 +1604,10 @@ Default for quick (1 key) auto\-selectio
 .TP 
 \fBdefault_subject_search\fP
 .TP 
+\fBdont_break_words\fP
+Do not break long lines inside a word. This applies to the body except for
+verbatim blocks. See also \fBwrap_column\fP. Default is OFF.
+.TP 
 \fBdraw_arrow\fP
 Allows groups/articles to be selected by an arrow '\->' if set ON or by a
 highlighted bar if set OFF. Default is OFF.
@@ -1600,7 +1649,7 @@ If ON catchup group when leaving with th
 .TP 
 \fBgroup_format\fP
 The format string used for the Group level. Default is "%n\ %m\ %R\ %L\ \ %s\ \ %F". The following substitutions are supported:
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%G    'u +\w'number of responses in thread'u
 %D	date
@@ -1615,7 +1664,7 @@ The format string used for the Group lev
 %s	subject
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBhide_uue\fP
 If set to 'No' then raw uuencoded data is displayed. If set to 'Yes' then
@@ -1640,9 +1689,9 @@ available to display long subjects. Defa
 .TP 
 \fBinteractive_mailer\fP
 If greater than 0 your mailreader will be invoked earlier for reply so you
-can use more of its features (e.g. MIME, pgp, ...). 1 means include headers,
-2 means don't include headers (old use_mailreader_i=ON option). 0 turns off
-usage. This option has to suit \fBmailer_format\fP. Default is 0.
+can use more of its features (e.g., MIME, pgp, ...). 1 means include
+headers, 2 means don't include headers (old use_mailreader_i=ON option). 0
+turns off usage. This option has to suit \fBmailer_format\fP. Default is 0.
 .TP 
 \fBinverse_okay\fP
 If ON use inverse video for page headers and URL highlighting.  Default is
@@ -1691,7 +1740,8 @@ quoted\-printable, 7bit). Default is quo
 \fBmail_quote_format\fP
 Format of quote line when replying (via mail) to an article (%A=Address,
 %D=Date, %F=Fullname+Address, %G=Groupname, %M=Message\-ID, %N=Fullname,
-%C=Firstname, %I=Initials). Default is "In article %M you wrote:"
+%C=Firstname, %I=Initials). If the article has multiple addresses only the
+first is evaluated. Default is "In article %M you wrote:"
 .TP 
 \fBmailbox_format\fP
 Select one of the following mailbox\-formats: MBOXO (default, except on SCO),
@@ -1709,17 +1759,16 @@ The format string used to create the mai
 used for mailing articles to other people. Default is '%M "%T" < %F'
 (e.g., /bin/mail "iain" < ~/.article). The flexible format allows other
 mailers with different command line parameters to be used such as
-.in +.3i
+.in +0.3i
 .nf
 sendmail \-oem \-t < %F
-mutt \-s "%S" \-\- "%T" < %F
 mutt \-H %F
 claws\-mail \-\-compose "mailto:%T?subject=%S&insert=%F"
 .fi
-.in -.3i
+.in -0.3i
 \fBinteractive_mailer\fP must be set adequate. The following substitutions are
 supported:
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%S'u +\w'default_mailer'u
 %F	filename
@@ -1729,7 +1778,7 @@ supported:
 %U	username
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBmark_saved_read\fP
 If ON mark articles that are saved as read. Default is ON.
@@ -1758,20 +1807,21 @@ than the value of this parameter is cons
 represented as '?'. Otherwise, all character sets are regarded as compatible
 with the display. If it's not set, the value of the environment variable
 $\fBMM_CHARSET\fP is used. US\-ASCII or compile\-time default is used in case
-neither of them is defined. If your system supports \fB\%iconv\fP(3), this
-option is disabled and you should use \fBmm_network_charset\fP instead.
+neither of them is defined. If your system supports \fB\%iconv\fP(3)  or
+\fB\%ucnv_*\fP(), this option is disabled and you should use
+\fBmm_network_charset\fP instead.
 .TP 
 \fBmm_network_charset\fP
 Charset used for posting and MIME headers; replaces \fBmm_charset\fP.
 Conversion between \fBmm_network_charset\fP and local charset (determined via
-\fB\%nl_langinfo\fP(3))  is done via \fB\%iconv\fP(3), if this function is not
-available on your system this option is disabled and you have to use
-\fBmm_charset\fP instead. \fBmm_network_charset\fP is limited to one of the
-following charsets:
-.in +.3i
+\fB\%nl_langinfo\fP(3))  is done via \fB\%iconv\fP(3)  or \fB\%ucnv_*\fP(), if none
+of these functions are available on your system this option is disabled and
+you have to use \fBmm_charset\fP instead. \fBmm_network_charset\fP is limited to
+one of the following charsets:
+.in +0.3i
 US\-ASCII, ISO\-8859\-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8\-{R,U,RU}
 EUC\-{CN,JP,KR,TW}, ISO\-2022\-{CN,CN\-EXT,JP,JP\-1,JP\-2}, Big5, UTF\-8
-.in -.3i
+.in -0.3i
 Not all values might work on your system, see \fB\%iconv_open\fP(3)  for more
 details. If it's not set, the value of the environment variable
 $\fBMM_CHARSET\fP is used. US\-ASCII or compile\-time default is used in case
@@ -1819,7 +1869,8 @@ this option.
 \fBnews_quote_format\fP
 Format of quote line when posting/following up an article (%A=Address,
 %D=Date, %F=Fullname+Address, %G=Groupname, %M=Message\-ID, %N=Fullname,
-%C=Firstname, %I=Initials). Default is "%F wrote:".
+%C=Firstname, %I=Initials). If the article has multiple addresses only the
+first is evaluated. Default is "%F wrote:".
 .TP 
 \fBnntp_read_timeout_secs\fP
 Time in seconds to wait for a response from the server. Default is 120.
@@ -1844,7 +1895,7 @@ and Case Folding
 .RE
 Some normalization modes are only available if they are supported by the
 library \fB\%tin\fP(1)  uses to do the normalization. NFC should be used if
-possible.
+possible (\fBRFC\%5198\fP).
 .TP 
 \fBpage_mime_format\fP
 Format string \fB\%tin\fP(1)  uses for mime header at Page level.  Default is
@@ -1921,7 +1972,8 @@ is OFF.
 \fBquote_chars\fP
 The character used in quoting included text to article followups and mail
 replies. The '_' character represents a blank character and is replaced with
-\&' ' when read, %I is replaced by author's initials. Default is '>_'.
+\&' ' when read, %I is replaced by author's initials. If the article has
+multiple addresses only the first is evaluated. Default is '>_'.
 .TP 
 \fBquote_style\fP
 This bit coded integer value controls how articles are to be quoted when
@@ -1929,7 +1981,9 @@ following up or replying to them. Any of
 combined by adding all relevant values. Default is 5, which means that quote
 characters are compressed and empty lines are quoted.
 .RS +1i
-.IP 1 3
+.IP 0 3
+\fBNothing special\fP Non empty lines are quoted.
+.IP 1
 \fBCompress quotes\fP Compress quote characters together when quoting multiple
 times (for example, '> > >' will be turned into
 \&'>>>'). This option is on by default.
@@ -1996,12 +2050,13 @@ The number of lines that will be scrolle
 using cursor\-up/down. The default is 1 (line\-by\-line). Set to 0 to get
 traditional \fB\%tin\fP(1)  page\-by\-page scrolling. Set to \-1 to get
 page\-by\-page scrolling where the top/bottom line is carried over onto the
-next page.  This setting supersedes show_last_line_prev_page=ON. Set to \-2
-to get half\-page scrolling. This setting supersedes \fBfull_page_scroll\fP=OFF.
+next page.  This setting supersedes \fBshow_last_line_prev_page\fP=ON. Set to
+\-2 to get half\-page scrolling. This setting supersedes
+\fBfull_page_scroll\fP=OFF.
 .TP 
 \fBselect_format\fP
 The format string used for the Selection level. Default is "%f\ %n\ %U\ \ %G\ \ %d". The following substitutions are supported:
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%G    'u +\w'current group number'u
 %G	group name
@@ -2011,7 +2066,7 @@ The format string used for the Selection
 %n	current group number
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBsort_function\fP
 Function used for sorting articles. Default is 0.
@@ -2087,11 +2142,14 @@ If ON prepend the signature with sigdash
 The path that specifies the signature file to use when posting, following up
 to or replying to an article. If the path is a directory then the signature
 will be randomly generated from files that are in the specified
-directory. If the path starts with a ! the program the path points to will
-be executed to generate a signature. In order to pass the group name to the
-program, %G can be specified. This will be replaced by the name of the
-current newsgroup. \-\-none will suppress any signature.  Default is
-\fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fP.
+directory. If a file named \fI.sigfixed\fP does exist in that dir or
+\fI${TIN_HOMEDIR:\-"$HOME"}/.sigfixed\fP does exist it will be prepended to the
+chosen signature (first match counts). If the path starts with a ! the
+program the path points to will be executed to generate a signature. In
+order to pass the group name to the program, %G can be specified.  This will
+be replaced by the name of the current newsgroup. \-\-none will suppress any
+signature. Default is \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fP.  See also
+\fI${TIN_HOMEDIR:\-"$HOME"}/.sigfixed\fP.
 .TP 
 \fBsignature_repost\fP
 If ON add signature to reposted articles. Default is ON.
@@ -2216,7 +2274,7 @@ the group attribute variable \fBthread_a
 .TP 
 \fBthread_format\fP
 The format string used for the Thread level. Default is "%n\ %m\ \ [%L]\ \ %T\ \ %F". The following substitutions are supported:
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%G    'u +\w'from, name and/or address'u
 %D	date
@@ -2230,7 +2288,7 @@ The format string used for the Thread le
 %n	current article number
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP 
 \fBthread_perc\fP
 Defines how close the subjects must match while threading by Percentage
@@ -2356,7 +2414,7 @@ displayed, even when they are highlighti
 .IP 0 3
 \fBno\fP
 .IP 1
-yes, \fBdisplay mark\fP
+si \fBdisplay mark\fP
 .IP 2
 print a \fBspace\fP instead
 .RE
@@ -2372,12 +2430,12 @@ are used. Default is ON.
 \fBwrap_column\fP
 Sets the column at which a displayed article body should be wrapped.  If
 this value is equal to 0, it defaults to the current screen width.  If this
-value is greater than your current screen width the part off\-screen is not
-displayed. Thus setting this option to a large value can be used to disable
-wrapping. If this value is negative the wrap margin is the current screen
-width plus the given value (as long as the result is still positive,
-otherwise it will fall back to the current screen width). Default is 0,
-wrapping at the current screen width.
+value is greater than your current screen width and \fBdont_break_words\fP is
+unset the part off\-screen is not displayed.  Thus setting this option to a
+large value can be used to disable wrapping.  If this value is negative the
+wrap margin is the current screen width plus the given value (as long as the
+result is still positive, otherwise it will fall back to the current screen
+width). Default is 0, wrapping at the current screen width.
 .TP 
 \fBwrap_on_next_unread\fP
 If enabled a search for the next unread article will wrap around all
@@ -2503,7 +2561,7 @@ should be listed only once. Each line sp
 newsgroup, articles are assigned unique names, which are monotonically
 increasing numbers.
 .sp
-.\" TODO: IIRC tin issues just a warning in that case?
+.\" TODO: tin issues just a warning in that case.
 If an article is posted to newsgroups not mentioned in this file, those
 newsgroups are ignored.  If no valid newsgroups are specified, the article
 is rejected.
@@ -2511,7 +2569,7 @@ is rejected.
 Each line consists of four space\-separated fields "\fIname\fP \fIhighmark\fP
 \fIlowmark\fP \fIflags\fP".
 .TP 
-\fBname\fP
+\fBnombre\fP
 is the name of the newsgroup
 .TP 
 \fBhighmark\fP
@@ -2558,11 +2616,11 @@ COUNTS (\fBRFC\%6048\fP) command instead
 .sp
 .RS
 This file provides a chronological record of when newsgroups are created. It
-is normally updated by the local news server (e.g.  \fB\%innd\fP(8))  whenever
+is normally updated by the local news server (e.g., \fB\%innd\fP(8))  whenever
 a new group is created. Each line consist of three space\-separated fields
 "\fIname\fP \fItime\fP \fIcreator\fP".
 .TP 
-\fBname\fP
+\fBnombre\fP
 is the name of the newsgroup
 .TP 
 \fBtime\fP
@@ -2583,7 +2641,7 @@ command instead.
 .sp
 .RS
 This file provides short descriptions of each newsgroup. It is normally
-updated by the local news server (e.g.  \fB\%innd\fP(8))  whenever a new group
+updated by the local news server (e.g., \fB\%innd\fP(8))  whenever a new group
 is created. Each line consist of two tab\-separated fields
 "\fIgroup.name\fP	\fIone\-line description\fP".
 .TP 
@@ -2641,7 +2699,7 @@ command instead.
 \fB\%pcre\fP(3), \fB\%pcre2\fP(3), \fB\%pcrepattern\fP(3), \fB\%pcre2pattern\fP(3),
 \fB\%qsort\fP(3), \fB\%strftime\fP(3), \fB\%system\fP(3), \fB\%active\fP(5),
 \fB\%mailcap\fP(5), \fB\%mbox\fP(5), \fB\%mmdf\fP(5), \fB\%newsoverview\fP(5),
-\fB\%overview.fmt\fP(5), \fB\%innd\fP(8), \fBRFC\%1524\fP, \fBRFC\%2045\fP,
-\fBRFC\%2046\fP, \fBRFC\%2047\fP, \fBRFC\%2048\fP, \fBRFC\%2231\fP, \fBRFC\%2980\fP,
-\fBRFC\%3977\fP, \fBRFC\%4155\fP, \fBRFC\%4643\fP, \fBRFC\%5322\fP, \fBRFC\%5536\fP,
-\fBRFC\%5537\fP, \fBRFC\%6048\fP, \fBRFC\%8143\fP
+\fB\%overview.fmt\fP(5), \fB\%innd\fP(8), \fBRFC\%1524\fP, \fBRFC\%1952\fP,
+\fBRFC\%2045\fP, \fBRFC\%2046\fP, \fBRFC\%2047\fP, \fBRFC\%2231\fP, \fBRFC\%2980\fP,
+\fBRFC\%3977\fP, \fBRFC\%4155\fP, \fBRFC\%4643\fP, \fBRFC\%5198\fP, \fBRFC\%5322\fP,
+\fBRFC\%5536\fP, \fBRFC\%5537\fP, \fBRFC\%6048\fP, \fBRFC\%6838\fP, \fBRFC\%8143\fP
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/l10n/es.po tin-2.6.4/doc/l10n/es.po
--- tin-2.6.3/doc/l10n/es.po	2023-12-24 00:38:34.000000000 +0100
+++ tin-2.6.4/doc/l10n/es.po	2024-12-23 10:54:25.283204901 +0100
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: tin-man 2.4.2\n"
-"POT-Creation-Date: 2023-12-11 23:52+0100\n"
-"PO-Revision-Date: 2023-12-11 23:54+0200\n"
+"POT-Creation-Date: 2024-12-23 10:54+0100\n"
+"PO-Revision-Date: 2024-08-01 11:39+0200\n"
 "Last-Translator: Francisco Javier Serrador <fserrador@gmail.com>\n"
 "Language-Team: Spanish <es@tp.org.es>\n"
 "Language: es\n"
@@ -18,100 +18,63 @@ msgstr ""
 "X-Generator: Poedit 2.0.4\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#
-#.  Project   : tin - a Usenet newsreader
-#.  Module    : tin.1
-#.  Author    : I. Lea, U. Janssen
-#.  Created   : 1991-08-23
-#.  Updated   : 2023-12-24
-#.  Notes     : use American English; still needs some work, e.g.:
-#.              - document authorization (.newsauth)
-#.              - document random organization feature
-#. type: IX
-#: doc/tin.1:12
-#, no-wrap
-msgid "Title"
-msgstr ""
-
-#
-#.  Project   : tin - a Usenet newsreader
-#.  Module    : tin.1
-#.  Author    : I. Lea, U. Janssen
-#.  Created   : 1991-08-23
-#.  Updated   : 2023-12-24
-#.  Notes     : use American English; still needs some work, e.g.:
-#.              - document authorization (.newsauth)
-#.              - document random organization feature
-#. type: IX
-#: doc/tin.1:12
-#, no-wrap
-msgid "tin 1"
-msgstr "tin 1"
-
 #. type: TH
-#: doc/tin.1:13 doc/tin.5:9
+#: doc/tin.1:11 doc/tin.5:9
 #, no-wrap
 msgid "tin"
 msgstr "tin"
 
 #. type: TH
-#: doc/tin.1:13 doc/tin.5:9
-#, no-wrap
-msgid "December 24th, 2023"
-msgstr "24 diciembre 2023"
+#: doc/tin.1:11 doc/tin.5:9
+#, fuzzy, no-wrap
+msgid "December 24th, 2024"
+msgstr "24 diciembre 2024"
 
 #. type: TH
-#: doc/tin.1:13 doc/tin.5:9
+#: doc/tin.1:11 doc/tin.5:9
 #, no-wrap
-msgid "2.6.3"
-msgstr "2.6.3"
+msgid "2.6.4"
+msgstr "2.6.4"
 
 #. type: TH
-#: doc/tin.1:13 doc/tin.5:9
+#: doc/tin.1:11 doc/tin.5:9
 #, no-wrap
 msgid "Usenet newsreader"
 msgstr ""
 
 #. type: SH
-#: doc/tin.1:16 doc/tin.5:11
+#: doc/tin.1:14 doc/tin.5:11
 #, no-wrap
 msgid "NAME"
 msgstr "NOMBRE"
 
 #. type: Plain text
-#: doc/tin.1:20
+#: doc/tin.1:18
 msgid "tin, rtin - Usenet newsreader"
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:20 doc/tin.1:21
+#. type: SH
+#: doc/tin.1:18
 #, no-wrap
 msgid "SYNOPSIS"
 msgstr "SINOPSIS"
 
-#. type: IX
-#: doc/tin.1:21 doc/tin.1:53 doc/tin.1:82 doc/tin.1:99 doc/tin.1:319
-#: doc/tin.1:3477 doc/tin.1:3638 doc/tin.1:3961 doc/tin.1:3986 doc/tin.1:4004
-#: doc/tin.1:4013 doc/tin.1:4025 doc/tin.1:4050 doc/tin.1:4114
-#, no-wrap
-msgid "Header"
-msgstr ""
-
 #. type: Plain text
-#: doc/tin.1:52
+#: doc/tin.1:53
 msgid ""
 "B<tin> [\\|[\\|B<-h>\\||\\|B<-H>\\||\\|B<-V>\\|]\\ \\|| [\\|[\\|B<-a>\\|] "
 "[\\|B<-dlnq>\\||\\|B<-Q>\\|] [\\|B<-ACkrTzxX>\\|]\\|] [\\|[\\|B<-R>\\||\\|B<-"
-"S>\\|] \\|\\|B<-s> I<News_dir>\\|] [\\|B<-cuvZ>\\|] [\\|B<-4>\\||\\|B<-6>"
-"\\|] [\\|B<-o>\\||\\|B<-w>\\||\\|B<-N>\\||\\|B<-M> I<address>\\|] [\\|B<-D> "
-"I<debug_level>\\|] [\\|B<-G> I<article_limit>\\|] [\\|B<-f> I<newsrc_file>"
-"\\|] [\\|B<-g> I<server>\\|[\\|:I<port>\\|]\\|] [\\|B<-m> I<Mail_dir>\\|] "
-"[\\|B<-p> I<port>\\|] [\\|B<-t> I<timeout>\\|] [\\|B<-I> I<index_dir>\\|]\\ "
-"\\|[I<newsgroup>\\|[\\|,.\\|.\\|.\\|]\\|]\\|]"
+"S>\\|] \\|\\|B<-s> I<News_dir>\\|] [\\|B<-cuvZ>\\|] [\\|B<-4>\\||\\|"
+"B<-6>\\|] [\\|B<-o>\\||\\|B<-w>\\||\\|B<-N>\\||\\|B<-M> I<address>\\|] [\\|"
+"B<-D> I<debug_level>\\|] [\\|B<-F> I<filter_file>\\|] [\\|B<-G> "
+"I<article_limit>\\|] [\\|B<-f> I<newsrc_file>\\|] [\\|B<-g> I<server>\\|[\\|:"
+"I<port>\\|]\\|] [\\|B<-L> I<Message-ID>\\|] [\\|B<-m> I<Mail_dir>\\|] [\\|B<-"
+"p> I<port>\\|] [\\|B<-t> I<timeout>\\|] [\\|B<-I> I<index_dir>\\|]\\ \\|"
+"[I<newsgroup>\\|[\\|,.\\|.\\|.\\|]\\|]\\|]"
 msgstr ""
 
 #. type: SH
-#: doc/tin.1:52 doc/tin.1:53 doc/tin.5:14
+#: doc/tin.1:53 doc/tin.5:14
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr "DESCRIPCIÃ“N"
@@ -121,10 +84,10 @@ msgstr "DESCRIPCIÃ“N"
 msgid ""
 "B<tin> is a full-screen easy to use Usenet newsreader. It can read news "
 "locally (e.g., I</var/spool/news>) or remotely (B<rtin> or B<tin -r> option) "
-"via an NNTP (Network News Transport Protocol, B<RFC\\%3977>) or NNTPS (B<RFC"
-"\\%8143>) server. It will automatically utilize NOV B<\\%newsoverview>(5)  "
-"style index files if available locally or via the NNTP [X]OVER command (B<RFC"
-"\\%2980>, B<RFC\\%3977>)."
+"via an NNTP (Network News Transport Protocol, B<RFC\\%3977>) or NNTPS "
+"(B<RFC\\%8143>) server. It will automatically utilize NOV B<\\"
+"%newsoverview>(5)  style index files if available locally or via the NNTP "
+"[X]OVER command (B<RFC\\%2980>, B<RFC\\%3977>)."
 msgstr ""
 
 #. type: Plain text
@@ -138,9 +101,9 @@ msgstr ""
 #. type: Plain text
 #: doc/tin.1:76
 msgid ""
-"On startup B<tin> will show a list of the newsgroups found in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>. An arrow '-E<gt>' or highlighted bar "
-"will point to the first newsgroup. Move to a group by using the terminal "
+"On startup B<tin> will show a list of the newsgroups found in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>. An arrow '\\(-E<gt>' or highlighted "
+"bar will point to the first newsgroup. Move to a group by using the terminal "
 "arrow keys (terminal dependent) or B<Down> ('B<j>')  and B<Up> ('B<k>'). Use "
 "PgUp/PgDn (terminal dependent) or B<PageUp> ('B<^U>') (CTRL-U) and "
 "B<PageDown> ('B<^D>')  (CTRL-D) to page up/down. Enter a newsgroup by "
@@ -154,120 +117,120 @@ msgid ""
 "newsgroup with unread articles."
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:81 doc/tin.1:82
+#. type: SH
+#: doc/tin.1:81
 #, no-wrap
 msgid "EXIT STATUS"
 msgstr "ESTADO SALIENTE"
 
 #. type: TP
-#: doc/tin.1:84 doc/tin.1:1141 doc/tin.1:3724
+#: doc/tin.1:83 doc/tin.1:1173 doc/tin.1:3799
 #, no-wrap
 msgid "B<0>"
 msgstr "B<0>"
 
 #. type: Plain text
-#: doc/tin.1:87
+#: doc/tin.1:86
 msgid "Successful program execution. No unread news available in batch mode."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:87 doc/tin.1:3727
+#: doc/tin.1:86 doc/tin.1:3802
 #, no-wrap
 msgid "B<1>"
 msgstr "B<1>"
 
 #. type: Plain text
-#: doc/tin.1:90
+#: doc/tin.1:89
 msgid "Usage, syntax, configuration file or network error."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:90 doc/tin.1:3730
+#: doc/tin.1:89 doc/tin.1:3805
 #, no-wrap
 msgid "B<2>"
 msgstr "B<2>"
 
 #. type: Plain text
-#: doc/tin.1:93
+#: doc/tin.1:92
 msgid "Unread news available (batch mode (''B<-Z>'') only)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:93 doc/tin.1:3733
+#: doc/tin.1:92 doc/tin.1:3808
 #, no-wrap
 msgid "B<3>"
 msgstr "B<3>"
 
 #. type: Plain text
-#: doc/tin.1:98
+#: doc/tin.1:97
 msgid "NNTP error."
 msgstr "Error NNTP"
 
-#. type: IX
-#: doc/tin.1:98 doc/tin.1:99
+#. type: SH
+#: doc/tin.1:97
 #, no-wrap
 msgid "OPTIONS"
 msgstr "OPCIONES"
 
 #. type: TP
-#: doc/tin.1:100
+#: doc/tin.1:98
 #, no-wrap
 msgid "B<-4>"
 msgstr "B<-4>"
 
 #. type: Plain text
-#: doc/tin.1:104
+#: doc/tin.1:102
 msgid ""
 "Force connecting via IPv4 to the remote NNTP server. Only available when "
 "built with IPv6 support."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:104
+#: doc/tin.1:102
 #, no-wrap
 msgid "B<-6>"
 msgstr "B<-6>"
 
 #. type: Plain text
-#: doc/tin.1:108
+#: doc/tin.1:106
 msgid ""
 "Force connecting via IPv6 to the remote NNTP server. Only available when "
 "built with IPv6 support."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:108
+#: doc/tin.1:106
 #, no-wrap
 msgid "B<-a>"
 msgstr "B<-a>"
 
 #. type: Plain text
-#: doc/tin.1:111
+#: doc/tin.1:109
 msgid "Toggle ANSI color (default is off)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:111
+#: doc/tin.1:109
 #, no-wrap
 msgid "B<-A>"
 msgstr "B<-A>"
 
 #. type: Plain text
-#: doc/tin.1:114
+#: doc/tin.1:112
 msgid ""
 "Force authentication on initial connect. Only available when reading via "
 "NNTP."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:114
+#: doc/tin.1:112
 #, no-wrap
 msgid "B<-c>"
 msgstr "B<-c>"
 
 #. type: Plain text
-#: doc/tin.1:119
+#: doc/tin.1:117
 msgid ""
 "Create/update index files for every group in I<${TIN_HOMEDIR:-\"$HOME\"}/."
 "newsrc> or file specified by the ''B<-f>'' option and mark all articles as "
@@ -275,13 +238,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:119
+#: doc/tin.1:117
 #, no-wrap
 msgid "B<-C>"
 msgstr "B<-C>"
 
 #. type: Plain text
-#: doc/tin.1:124
+#: doc/tin.1:122
 msgid ""
 "Use COMPRESS NNTP extension (B<RFC\\%8054>) if available. See also "
 "B<nntp_read_timeout_secs>, 'B<-t>'' and the \"SECURITY\" and \"BUGS\" "
@@ -289,7 +252,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:124
+#: doc/tin.1:122
 #, no-wrap
 msgid "B<-d>"
 msgstr "B<-d>"
@@ -297,62 +260,108 @@ msgstr "B<-d>"
 #
 #.  FIXME: explain debug levels
 #. type: Plain text
-#: doc/tin.1:130
+#: doc/tin.1:128
 msgid ""
 "Don't load newsgroup descriptions and servers message of the day "
 "(interactive mode)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:130
+#: doc/tin.1:128
 #, no-wrap
 msgid "B<-D>I< debug-level>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:137
+#: doc/tin.1:136
+msgid ""
+"Enter debug-level, the levels can specified via number (should be avoided as "
+"it will be removed in the future) or name (case insensitive) as listed "
+"below. Use comma to give multiple levels, any combinations are allowed (e."
+"g., ''B<-D> I<GNKSA,2,NNTP>''). If removal is requested it will be performed "
+"at startup and on normal termination (that is the files are only available "
+"while tin is running)."
+msgstr ""
+
+#. type: ta
+#: doc/tin.1:138
+#, no-wrap
+msgid "\\w'%128 'u +\\w'ATTRIBUTES 'u +\\w'ATTRIBUTES 'u +\\w'ATTRIBUTES'u"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.1:148
+#, no-wrap
+msgid ""
+"  I<1\tNNTP\tNNTPS>\n"
+"  I<2\tFILTER\tARTS>\n"
+"  I<4\tNEWSRC\tBITMAP>\n"
+"  I<8\tTHREADING\tREFS>\n"
+" I<16\tMEMORY\tMALLOC>\n"
+" I<32\tATTRIBUTES>\n"
+" I<64\tMISC\tGNKSA\tACTIVE>\n"
+"I<127\tALL\tEVERYTHING>\n"
+"I<128\tREMOVE\tDELETE>\n"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.1:153
 msgid ""
-"Enter debug-level (1 = NNTP, 2 = filter, 4 = newsrc, 8 = threading, 16 = "
-"memory, 32 = attributes, 64 = misc, 128 = remove existing debug files).  For "
-"NNTP-level ''B<-v>'' controls the verbosity of the output.  Depending on the "
-"debug-level various files may be written to I<$TMPDIR> and/or on screen "
+"For NNTP-level ''B<-v>'' controls the verbosity of the output.  Depending on "
+"the debug-level various files may be written to I<$TMPDIR> and/or on screen "
 "output may be given. See also the \"SECURITY\" section!"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:137
+#: doc/tin.1:153
 #, fuzzy, no-wrap
 msgid "B<-f>I< file>"
 msgstr "B<-f>I< archivo>"
 
 #. type: Plain text
-#: doc/tin.1:141
+#: doc/tin.1:158
+msgid ""
+"Use the specified file of subscribed to newsgroups in place of "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> or a file specified via "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable>."
+msgstr ""
+
+#. type: TP
+#: doc/tin.1:158
+#, fuzzy, no-wrap
+msgid "B<-F>I< file>"
+msgstr "B<-F>I< archivo>"
+
+#. type: Plain text
+#: doc/tin.1:161
 msgid ""
-"Use the specified file of subscribed to newsgroups in place of I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>."
+"Use the specified filter file instead of I<${TIN_HOMEDIR:-\"$HOME\"}/."
+"filter>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:141
+#: doc/tin.1:161
 #, fuzzy, no-wrap
-msgid "B<-g>I< server[:port]>"
-msgstr "B<-g>I< servidor[:puerto]>"
+msgid "B<-g>I< server>[B<:>I<port>]"
+msgstr "B<-g>I< servidor>[B<:>I<puerto>]"
 
 #. type: Plain text
-#: doc/tin.1:146
+#: doc/tin.1:167
 msgid ""
 "Use the server[:port] and newsrc specified in I<${TIN_HOMEDIR:-\"$HOME\"}/."
-"tin/newsrctable>. Only available when reading via NNTP."
+"tin/newsrctable>. Only available when reading via NNTP. If you want to give "
+"a port with a plain IPv6 address, the address must be enclosed in square "
+"brackets."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:146
+#: doc/tin.1:167
 #, no-wrap
 msgid "B<-G>I< article-limit>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:154
+#: doc/tin.1:175
 msgid ""
 "Limit the number of articles/group to retrieve from the server.  If "
 "I<article-limit> is E<gt> 0 not more than the last I<article-limit> articles/"
@@ -362,51 +371,51 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:154
+#: doc/tin.1:175
 #, no-wrap
 msgid "B<-h>"
 msgstr "B<-h>"
 
 #. type: Plain text
-#: doc/tin.1:157
+#: doc/tin.1:178
 msgid "Help listing all command-line options."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:157
+#: doc/tin.1:178
 #, no-wrap
 msgid "B<-H>"
 msgstr "B<-H>"
 
 #. type: Plain text
-#: doc/tin.1:161
+#: doc/tin.1:182
 msgid ""
 "Brief introduction to B<tin> that is also shown the first time it is started."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:161
+#: doc/tin.1:182
 #, no-wrap
 msgid "B<-I>I< dir>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:167
+#: doc/tin.1:188
 msgid ""
-"Directory in which to store newsgroup index files. Default is I<"
-"${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news>.  This "
+"Directory in which to store newsgroup index files. Default is "
+"I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news>.  This "
 "option has no effect if B<tin> retrieves its index files via NNTP and "
 "B<cache_overview_files> is turned off."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:167
+#: doc/tin.1:188
 #, no-wrap
 msgid "B<-k>"
 msgstr "B<-k>"
 
 #. type: Plain text
-#: doc/tin.1:172
+#: doc/tin.1:193
 msgid ""
 "Skip the certificate verification step for NNTPS connections and proceed "
 "without checking. This option implies ''B<-T>''. See also the \"SECURITY\" "
@@ -414,13 +423,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:172
+#: doc/tin.1:193
 #, no-wrap
 msgid "B<-l>"
 msgstr "B<-l>"
 
 #. type: Plain text
-#: doc/tin.1:184
+#: doc/tin.1:205
 msgid ""
 "Get number of articles per group from the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/"
 "\"${TIN_ACTIVEFILE:-active}> file. If reading via NNTP this is done with the "
@@ -433,106 +442,119 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:184
+#: doc/tin.1:205
+#, no-wrap
+msgid "B<-L>"
+msgstr "B<-L>"
+
+#. type: Plain text
+#: doc/tin.1:209
+msgid ""
+"Show the message with the given Message-ID if available. Only available when "
+"reading via NNTP."
+msgstr ""
+
+#. type: TP
+#: doc/tin.1:209
 #, no-wrap
 msgid "B<-m>I< dir>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:187
+#: doc/tin.1:212
 msgid "Mailbox directory to use. Default is I<${TIN_HOMEDIR:-\"$HOME\"}/Mail>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:187
+#: doc/tin.1:212
 #, fuzzy, no-wrap
 msgid "B<-M>I< user>"
 msgstr "B<-M>I< usuario>"
 
 #. type: Plain text
-#: doc/tin.1:191
+#: doc/tin.1:216
 msgid ""
 "Mail unread articles to specified user for later reading. For more "
 "information read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:191
+#: doc/tin.1:216
 #, no-wrap
 msgid "B<-n>"
 msgstr "B<-n>"
 
 #. type: Plain text
-#: doc/tin.1:198
+#: doc/tin.1:223
 msgid ""
 "Only load groups from the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-"
-"active}> file that are subscribed to in the user's I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.newsrc>. This allows a noticeable speedup when connecting via a slow "
-"line, but B<tin> may not be able detect which groups are moderated. See also "
-"''B<-l>''."
+"active}> file that are subscribed to in the user's I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.newsrc>. This allows a noticeable speedup when connecting via a "
+"slow line, but B<tin> may not be able detect which groups are moderated. See "
+"also ''B<-l>''."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:198
+#: doc/tin.1:223
 #, no-wrap
 msgid "B<-N>"
 msgstr "B<-N>"
 
 #. type: Plain text
-#: doc/tin.1:202
+#: doc/tin.1:227
 msgid ""
 "Mail unread articles to yourself for later reading. For more information "
 "read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:202
+#: doc/tin.1:227
 #, no-wrap
 msgid "B<-o>"
 msgstr "B<-o>"
 
 #. type: Plain text
-#: doc/tin.1:206
+#: doc/tin.1:231
 msgid ""
 "Quick post all postponed articles and exit. In order for this to be really "
 "quick, it should be used with ''B<-n>'' if possible."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:206
+#: doc/tin.1:231
 #, no-wrap
 msgid "B<-p>I< port>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:211
+#: doc/tin.1:236
 msgid ""
 "Port to use if reading via NNTP (default is 119 or 563 if NNTPS is enabled, "
-"see ''B<-T>''). This also overrides the environment variable $B<NNTPPORT> if "
-"set. Only available when reading via NNTP."
+"see ''B<-T>''). This also overrides the environment variables $B<NNTPPORT> "
+"and $B<NNTPSPORT> if set. Only available when reading via NNTP."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:211
+#: doc/tin.1:236
 #, no-wrap
 msgid "B<-q>"
 msgstr "B<-q>"
 
 #. type: Plain text
-#: doc/tin.1:214
+#: doc/tin.1:239
 msgid ""
 "Don't check for new newsgroups and skip loading the servers message of the "
 "day."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:214
+#: doc/tin.1:239
 #, no-wrap
 msgid "B<-Q>"
 msgstr "B<-Q>"
 
 #. type: Plain text
-#: doc/tin.1:219
+#: doc/tin.1:244
 msgid ""
 "Quick start. Start B<tin> as quickly as possible. Currently this is "
 "equivalent to ''B<-dnq>''. See also the ''B<-C>'' and ''B<-G>'' command-line "
@@ -540,89 +562,89 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:219
+#: doc/tin.1:244
 #, no-wrap
 msgid "B<-r>"
 msgstr "B<-r>"
 
 #. type: Plain text
-#: doc/tin.1:224
+#: doc/tin.1:249
 msgid ""
 "Read news remotely from the default NNTP server specified in the environment "
 "variable $B<NNTPSERVER> or contained in the file I</etc/nntpserver>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:224
+#: doc/tin.1:249
 #, no-wrap
 msgid "B<-R>"
 msgstr "B<-R>"
 
 #. type: Plain text
-#: doc/tin.1:227
+#: doc/tin.1:252
 msgid "Read news saved by the ''B<-S>'' option."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:227
+#: doc/tin.1:252
 #, no-wrap
 msgid "B<-s>I< dir>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:231
+#: doc/tin.1:256
 msgid ""
 "Save/read articles to/in directory. Default is I<${TIN_HOMEDIR:-\"$HOME\"}/"
 "News>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:231
+#: doc/tin.1:256
 #, no-wrap
 msgid "B<-S>"
 msgstr "B<-S>"
 
 #. type: Plain text
-#: doc/tin.1:235
+#: doc/tin.1:260
 msgid ""
 "Save unread articles for later reading by the ''B<-R>'' option. For more "
 "information read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:235
+#: doc/tin.1:260
 #, fuzzy, no-wrap
 msgid "B<-t>I< timeout>"
 msgstr "B<-t>I< tiempo de expiracion>"
 
 #. type: Plain text
-#: doc/tin.1:239
+#: doc/tin.1:264
 msgid ""
 "Override the B<nntp_read_timeout_secs> setting. Default is 120 seconds, "
 "allowed maximum is 16383."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:239
+#: doc/tin.1:264
 #, no-wrap
 msgid "B<-T>"
 msgstr "B<-T>"
 
 #. type: Plain text
-#: doc/tin.1:243
+#: doc/tin.1:268
 msgid ""
 "Enable NNTPS (NNTP over TLS). This also overrides the environment variable "
-"$B<NNTPPORT> if set. Only available when reading via NNTP."
+"$B<NNTPSPORT> if set. Only available when reading via NNTP."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:243
+#: doc/tin.1:268
 #, no-wrap
 msgid "B<-u>"
 msgstr "B<-u>"
 
 #. type: Plain text
-#: doc/tin.1:249
+#: doc/tin.1:274
 msgid ""
 "Create/update index files for every group in I<${TIN_HOMEDIR:-\"$HOME\"}/."
 "newsrc> or file specified by the ''B<-f>'' option. This option is disabled "
@@ -631,38 +653,38 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:249
+#: doc/tin.1:274
 #, no-wrap
 msgid "B<-v>"
 msgstr "B<-v>"
 
 #. type: Plain text
-#: doc/tin.1:254
+#: doc/tin.1:279
 msgid ""
 "Verbose mode for ''B<-c>'', ''B<-D>'', ''B<-M>'', ''B<-N>'', \\&''B<-S>'', "
-"''B<-u>'' and ''B<-Z>'' options. Can be used multiple times to increase "
-"verbosity."
+"''B<-u>'', ''B<-V>'' and ''B<-Z>'' options. Can be used multiple times to "
+"increase verbosity."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:254
+#: doc/tin.1:279
 #, no-wrap
 msgid "B<-V>"
 msgstr "B<-V>"
 
 #. type: Plain text
-#: doc/tin.1:257
+#: doc/tin.1:282
 msgid "Print version information and compilation options."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:257
+#: doc/tin.1:282
 #, no-wrap
 msgid "B<-w>"
 msgstr "B<-w>"
 
 #. type: Plain text
-#: doc/tin.1:262
+#: doc/tin.1:287
 msgid ""
 "Quick mode to post an article and then exit. This option implies \\&''B<-"
 "d>''. In order for this to be really quick, it should be used with ''B<-n>'' "
@@ -670,38 +692,38 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:262
+#: doc/tin.1:287
 #, no-wrap
 msgid "B<-x>"
 msgstr "B<-x>"
 
 #. type: Plain text
-#: doc/tin.1:265
+#: doc/tin.1:290
 msgid "No-posting mode. You cannot post articles if you use this option."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:265
+#: doc/tin.1:290
 #, no-wrap
 msgid "B<-X>"
 msgstr "B<-X>"
 
 #. type: Plain text
-#: doc/tin.1:270
+#: doc/tin.1:296
 msgid ""
-"No overwrite mode. I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> and files in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin> will not be overwritten but may be created "
-"if they don't exist."
+"No overwrite mode. I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> and files in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin> will not be overwritten but may be created "
+"if they don't exist. Should be used with ''B<-x>'' if possible."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:270
+#: doc/tin.1:296
 #, no-wrap
 msgid "B<-z>"
 msgstr "B<-z>"
 
 #. type: Plain text
-#: doc/tin.1:275
+#: doc/tin.1:301
 msgid ""
 "Only start B<tin> if there is any new/unread news. If there is news B<tin> "
 "will position cursor at first group with unread news. Useful for putting in "
@@ -709,13 +731,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:275
+#: doc/tin.1:301
 #, no-wrap
 msgid "B<-Z>"
 msgstr "B<-Z>"
 
 #. type: Plain text
-#: doc/tin.1:281
+#: doc/tin.1:307
 msgid ""
 "Check if there is any new/unread news and exit with appropriate status. If "
 "\\&''B<-v>'' option is specified the number of unread articles in each group "
@@ -724,7 +746,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:287
+#: doc/tin.1:313
 msgid ""
 "B<tin> can also dynamically change its options by the B<OptionMenu> ('B<M>') "
 "command. Any changes are written to I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc>. "
@@ -733,7 +755,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:292
+#: doc/tin.1:318
 msgid ""
 "A list of groups can be specified after the other command-line options. This "
 "can be useful if you wish to yank in or subscribe to a hand-picked subset of "
@@ -742,7 +764,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:297
+#: doc/tin.1:323
 msgid ""
 "If you specify a single group-name, or a wildcard that matches a single "
 "group, then you will automatically enter that group. Otherwise the normal "
@@ -751,7 +773,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:301
+#: doc/tin.1:327
 msgid ""
 "With the ''B<-w>'' flag a given group-name is used as default group to post "
 "to. If more than one group or a wildcard is specified only the first group "
@@ -759,7 +781,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:308
+#: doc/tin.1:334
 msgid ""
 "Once you use B<SelectYankActive> ('B<y>') to yank in all active groups, or "
 "B<SelectToggleReadDisplay> ('B<r>') to toggle the read/unread status, then "
@@ -769,35 +791,40 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:313
+#: doc/tin.1:339
 msgid ""
-"NB: With the ''B<-n>'' flag, only unsubscribed groups in the I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file (or the newsrc-file given by the "
+"NB: With the ''B<-n>'' flag, only unsubscribed groups in the "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file (or the newsrc-file given by the "
 "\\&''B<-f>'' command-line switch or via I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/"
 "newsrctable>) can be matched."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:318
+#: doc/tin.1:349
 msgid ""
 "Command-line options have higher priority than attributes and tinrc "
-"options.  Thus, command-line option takes precedence over configured values."
+"options.  Thus, command-line option takes precedence over configured values "
+"with the single exception that if a port is given for the newsserver in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable> it will override any port "
+"given on the command-line. The order of command-line options is not "
+"important. If they are mutual exclusive the one with the highest priority "
+"will be chosen and a warning may be given."
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:318 doc/tin.1:319
+#. type: SH
+#: doc/tin.1:349
 #, no-wrap
 msgid "USAGE"
 msgstr "UTILIZACIÃ“N"
 
 #. type: SS
-#: doc/tin.1:322
+#: doc/tin.1:352
 #, no-wrap
 msgid "NEWS ADMINISTRATION"
 msgstr "ADMINISTRACIÃ“N DE NOTICIARIOS"
 
 #. type: Plain text
-#: doc/tin.1:326
+#: doc/tin.1:356
 msgid ""
 "Maintaining Netnews on large networks of machines can be a pretty time "
 "consuming job as I discovered when I was given the job of maintaining our "
@@ -805,32 +832,32 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:336
+#: doc/tin.1:366
 msgid ""
 "A user starting B<tin> for the first time can be automatically subscribed to "
 "a list of newsgroups that are deemed appropriate by the news administrator. "
-"The subscriptions file should be created in your news lib directory (i.e., I<"
-"${TIN_LIBDIR:-NEWSLIBDIR}/subscriptions>) and should be world readable. If "
+"The subscriptions file should be created in your news lib directory (i.e., "
+"I<${TIN_LIBDIR:-NEWSLIBDIR}/subscriptions>) and should be world readable. If "
 "you read news via NNTP, then your news server must support the LIST "
 "SUBSCRIPTIONS command. It is part of the NNTP List Extensions (B<RFC\\"
 "%6048>) and all modern servers should understand it."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:336
+#: doc/tin.1:366
 #, no-wrap
 msgid "SCREEN FORMAT"
 msgstr "PERSONALIZANDO FORMATO DE PANTALLA"
 
 #. type: Plain text
-#: doc/tin.1:339
+#: doc/tin.1:369
 msgid ""
 "B<tin> has four separate levels of operation: Selection level, Group level, "
 "Thread level and Article level."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:346
+#: doc/tin.1:376
 msgid ""
 "At the Selection level the title displays (the name of the news server (with "
 "a \"[T]\"- or \"[k]\"-suffix if reading via NNTPS (insecurely)) and) the "
@@ -841,30 +868,35 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:354
+#: doc/tin.1:384
 #, no-wrap
 msgid ""
-"-E<gt>M    1     2  comp.security.announce  Announcements from the CERT abou\n"
+"\\f(CR\\(-E<gt>M    1     2  comp.security.announce  Announcements from the CERT abou\n"
 "  M    2     1  news.admin.announce     Announcements for news adminstra\n"
 "       3    22  news.software.misc      News-related software other than\n"
 "       4  1475  news.software.nntp      The Network News Transfer Protoc\n"
-"  X    5   124  news.software.readers   Discussion of software used to r\n"
+"  X    5   124  news.software.readers   Discussion of software used to r\\fR\n"
 msgstr ""
+"\\f(CR\\(-E<gt>M    1     2  comp.security.announce  Announcements from the CERT abou\n"
+"  M    2     1  news.admin.announce     Announcements for news adminstra\n"
+"       3    22  news.software.misc      News-related software other than\n"
+"       4  1475  news.software.nntp      The Network News Transfer Protoc\n"
+"  X    5   124  news.software.readers   Discussion of software used to r\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:357
+#: doc/tin.1:387
 msgid ""
 "There may also be a character prefixing the line. An explanation follows:"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:357
+#: doc/tin.1:387
 #, no-wrap
 msgid "B<u>"
 msgstr "B<u>"
 
 #. type: Plain text
-#: doc/tin.1:362
+#: doc/tin.1:392
 msgid ""
 "This group is unsubscribed. To see only your subscribed groups use the "
 "B<SelectToggleReadDisplay> ('B<r>') or B<SelectYankActive> ('B<y>') toggle "
@@ -872,13 +904,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:362
+#: doc/tin.1:392
 #, no-wrap
 msgid "B<M>"
 msgstr "B<M>"
 
 #. type: Plain text
-#: doc/tin.1:367
+#: doc/tin.1:397
 msgid ""
 "This is a moderated group. Any posts you make will have to be approved by "
 "the group administrator before it will be made public. B<tin> will ask for "
@@ -886,13 +918,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:367
+#: doc/tin.1:397
 #, no-wrap
 msgid "B<N>"
 msgstr "B<N>"
 
 #. type: Plain text
-#: doc/tin.1:376
+#: doc/tin.1:406
 msgid ""
 "This is a new newsgroup which has been created since you last used B<tin>. "
 "New newsgroups are not subscribed to by default (However, see the "
@@ -904,13 +936,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:376
+#: doc/tin.1:406
 #, no-wrap
 msgid "B<D>"
 msgstr "B<D>"
 
 #. type: Plain text
-#: doc/tin.1:381
+#: doc/tin.1:411
 msgid ""
 "This group no longer exists. If you no longer wish to see this group then "
 "unsubscribe from it in the normal way. This flag will only appear if you "
@@ -918,26 +950,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:381
+#: doc/tin.1:411
 #, no-wrap
 msgid "B<X>"
 msgstr "B<X>"
 
 #. type: Plain text
-#: doc/tin.1:385
+#: doc/tin.1:415
 msgid ""
 "You may no longer make posts to this group. Often a group will be superseded "
 "by a more appropriately named one."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:385
+#: doc/tin.1:415
 #, no-wrap
 msgid "B<=>"
 msgstr "B<=>"
 
 #. type: Plain text
-#: doc/tin.1:390
+#: doc/tin.1:420
 msgid ""
 "This group has been renamed and you may no longer post to it. If you do, "
 "then you will receive an error from your news server telling you the correct "
@@ -945,7 +977,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:400
+#: doc/tin.1:430
 msgid ""
 "At the Group level the title contains the name of the group, the number of "
 "conversation threads, the abbreviated threading method (B<thread_articles>), "
@@ -959,13 +991,13 @@ msgstr ""
 
 #.  FIXME - make this autocenter
 #. type: Plain text
-#: doc/tin.1:404
+#: doc/tin.1:434
 #, no-wrap
 msgid "            alt.sources (5B -50/23+ 0* 3o 0K)\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:412
+#: doc/tin.1:442
 msgid ""
 "The characters after the numbers are depending to the configuration and if "
 "your are in B<show_only_unread_arts> mode or not. Some numbers could be "
@@ -976,7 +1008,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:421
+#: doc/tin.1:451
 msgid ""
 "If a thread has unread articles it is marked with B<art_marked_unread> in "
 "front of the total number of articles in the thread. If there are recent "
@@ -989,88 +1021,99 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:425
+#: doc/tin.1:455
 #, no-wrap
-msgid "                de.admin.net-abuse.announce (11B 13+ 1* 1o 0K) M\n"
-msgstr ""
+msgid "\\f(CR                de.admin.net-abuse.announce (11B 13+ 1* 1o 0K) M\\fR\n"
+msgstr "\\f(CR                de.admin.net-abuse.announce (11B 13+ 1* 1o 0K) M\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:430
+#: doc/tin.1:460
 #, no-wrap
 msgid ""
-"-E<gt>   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg E<lt>l\n"
+"\\f(CR\\(-E<gt>   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg E<lt>l\n"
 "     2   +       69 EMP/ECP gecancelt. xynx. BI= 10  Henning Weede E<lt>hwee\n"
 "     3   o       93 EMP gecancelt. SouthBeach/Palms  Henning Weede E<lt>hwee\n"
-"     4   *      368 E<lt>1997-11-12E<gt> Fremdcancel-FAQ     Thomas Roessler E<lt>ro\n"
+"     4   *      368 E<lt>1997-11-12E<gt> Fremdcancel-FAQ     Thomas Roessler E<lt>ro\\fR\n"
 msgstr ""
+"\\f(CR\\(-E<gt>   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg E<lt>l\n"
+"     2   +       69 EMP/ECP gecancelt. xynx. BI= 10  Henning Weede E<lt>hwee\n"
+"     3   o       93 EMP gecancelt. SouthBeach/Palms  Henning Weede E<lt>hwee\n"
+"     4   *      368 E<lt>1997-11-12E<gt> Fremdcancel-FAQ     Thomas Roessler E<lt>ro\\fR\n"
 
 #.  FIXME - add description of fields
 #. type: Plain text
-#: doc/tin.1:435
+#: doc/tin.1:465
 msgid ""
 "At the Thread level the screen usually (depends on the threading method "
 "used) looks like this, but can be customized via B<thread_format>:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:442
+#: doc/tin.1:472
 #, no-wrap
 msgid ""
-"-E<gt>   1      [   7]  What is this funny tree in the thr  Robert F. Simmig\n"
-"     2      [  12]  +-E<gt>                                 Sephan Wagner E<lt>s\n"
-"     3      [ 230]  | `-E<gt>Tin thread-level (was: What is Bob Johnson E<lt>bob\n"
-"     4      [  22]  `-E<gt>tin threading menu               Brian Richardson\n"
-msgstr ""
+"\\f(CR\\(-E<gt>   1      [   7]  What is this funny tree in the thr  Robert F. Simmig\n"
+"     2      [  12]  +\\(-E<gt>                                 Sephan Wagner E<lt>s\n"
+"     3      [ 230]  | `\\(-E<gt>Tin thread-level (was: What is Bob Johnson E<lt>bob\n"
+"     4      [  22]  `\\(-E<gt>tin threading menu               Brian Richardson\\fR\n"
+msgstr ""
+"\\f(CR\\(-E<gt>   1      [   7]  What is this funny tree in the thr  Robert F. Simmig\n"
+"     2      [  12]  +\\(-E<gt>                                 Sephan Wagner E<lt>s\n"
+"     3      [ 230]  | `\\(-E<gt>Tin thread-level (was: What is Bob Johnson E<lt>bob\n"
+"     4      [  22]  `\\(-E<gt>tin threading menu               Brian Richardson\\fR\n"
 
 #.  FIXME - add description of fields
 #. type: Plain text
-#: doc/tin.1:447
+#: doc/tin.1:477
 msgid "At the Article level the page header has the following format:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:453
+#: doc/tin.1:483
 #, no-wrap
 msgid ""
-"Sun, 28 Dec 1997 21:21:01   de.admin.news.groups      Thread   20 of 86\n"
+"\\f(CRSun, 28 Dec 1997 21:21:01   de.admin.news.groups      Thread   20 of 86\n"
 "Lines 50   Re: EINSPRUCH zu RESULT:de.comm.mobil.ALL   Article  47 of 59\n"
-"Urs Janssen E<lt>urs@akk.orgE<gt>        at Arbeitskreis Kultur und Kommunikati\n"
+"Urs Janssen E<lt>urs@akk.orgE<gt>        at Arbeitskreis Kultur und Kommunikati\\fR\n"
 msgstr ""
+"\\f(CRSun, 28 Dec 1997 21:21:01   de.admin.news.groups      Thread   20 of 86\n"
+"Lines 50   Re: EINSPRUCH zu RESULT:de.comm.mobil.ALL   Article  47 of 59\n"
+"Urs Janssen E<lt>urs@akk.orgE<gt>        at Arbeitskreis Kultur und Kommunikati\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:455
+#: doc/tin.1:485
 #, no-wrap
-msgid "article-body\n"
-msgstr ""
+msgid "\\f(CRarticle-body\\fR\n"
+msgstr "\\f(CRarticle-body\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:461
+#: doc/tin.1:491
 msgid ""
 "The look of the Selection, Group and Thread level can be customized. See the "
 "section \"CUSTOMIZING THE SCREEN FORMAT\"."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:461
+#: doc/tin.1:491
 #, no-wrap
 msgid "COMMON MOVING KEYS"
 msgstr "TECLAS DE MOVIMIENTO COMUNES"
 
 #. type: Plain text
-#: doc/tin.1:464
+#: doc/tin.1:494
 msgid ""
 "This table shows the common keys used for moving around all levels within "
 "B<tin>."
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:466
+#: doc/tin.1:496
 #, no-wrap
 msgid "\\w'Beg. of list/article  'u +\\w'ANSI/vt100   'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:474
+#: doc/tin.1:504
 #, no-wrap
 msgid ""
 "\tANSI/vt100\tOther Terminals\n"
@@ -1083,13 +1126,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:478
+#: doc/tin.1:508
 #, no-wrap
 msgid "COMMON EDITING COMMANDS"
 msgstr "MANDATOS COMUNES EDITADOS"
 
 #. type: Plain text
-#: doc/tin.1:485
+#: doc/tin.1:515
 msgid ""
 "An B<\\%emacs>(1)  style editing package allows the easy editing of input "
 "strings.  A history list allows the easy reuse of previously entered "
@@ -1098,129 +1141,129 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:485
+#: doc/tin.1:515
 #, no-wrap
 msgid "B<^A, ^E>"
 msgstr "B<^A, ^E>"
 
 #. type: Plain text
-#: doc/tin.1:488
+#: doc/tin.1:518
 msgid "move to beginning or end of line, respectively."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:488
+#: doc/tin.1:518
 #, no-wrap
 msgid "B<^F, ^B>"
 msgstr "B<^F, ^B>"
 
 #. type: Plain text
-#: doc/tin.1:491
+#: doc/tin.1:521
 msgid "non-destructive move forward or back one location, respectively."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:491
+#: doc/tin.1:521
 #, no-wrap
 msgid "B<^D>"
 msgstr "B<^D>"
 
 #. type: Plain text
-#: doc/tin.1:495
+#: doc/tin.1:525
 msgid ""
 "delete the character currently under the cursor, or send EOF if no "
 "characters in the buffer."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:495
+#: doc/tin.1:525
 #, no-wrap
 msgid "B<^H, E<lt>DELE<gt>>"
 msgstr "B<^H, E<lt>BORR<gt>>"
 
 #. type: Plain text
-#: doc/tin.1:498
+#: doc/tin.1:528
 msgid "delete character left of the cursor."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:498
+#: doc/tin.1:528
 #, no-wrap
 msgid "B<^K>"
 msgstr "B<^K>"
 
 #. type: Plain text
-#: doc/tin.1:501
+#: doc/tin.1:531
 msgid "delete from cursor to end of line."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:501
+#: doc/tin.1:531
 #, no-wrap
 msgid "B<^P, ^N>"
 msgstr "B<^P, ^N>"
 
 #. type: Plain text
-#: doc/tin.1:504
+#: doc/tin.1:534
 msgid "move through history, previous and next, respectively."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:504
+#: doc/tin.1:534
 #, no-wrap
 msgid "B<^L, ^R>"
 msgstr "B<^L, ^R>"
 
 #. type: Plain text
-#: doc/tin.1:507
+#: doc/tin.1:537
 msgid "redraw the current line."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:507
+#: doc/tin.1:537
 #, no-wrap
 msgid "B<E<lt>CRE<gt>>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:511
+#: doc/tin.1:541
 msgid ""
 "places line on history list if non-blank, appends newline and returns to the "
 "caller."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:511
+#: doc/tin.1:541
 #, no-wrap
 msgid "B<E<lt>ESCE<gt>>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:516
+#: doc/tin.1:546
 msgid "aborts the present editing operation."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:516
+#: doc/tin.1:546
 #, no-wrap
 msgid "GLOBAL COMMANDS"
 msgstr "MANDATOS GLOBALES"
 
 #. type: Plain text
-#: doc/tin.1:519
+#: doc/tin.1:549
 msgid ""
 "The following commands are available at all 4 menu levels and always have "
 "the same effect."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:519 doc/tin.1:1419 doc/tin.1:1473 doc/tin.1:1519
+#: doc/tin.1:549 doc/tin.1:1455 doc/tin.1:1509 doc/tin.1:1555
 #, no-wrap
 msgid "B<ShellEscape '!'>"
 msgstr "B<ShellEscape '!'>"
 
 #. type: Plain text
-#: doc/tin.1:524
+#: doc/tin.1:554
 msgid ""
 "Shell escape. B<ShellEscape> by itself will launch a shell, B<ShellEscape> "
 "E<lt>commandE<gt> will run an external E<lt>commandE<gt>. This facility may "
@@ -1228,57 +1271,57 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:524
+#: doc/tin.1:554
 #, no-wrap
 msgid "B<ToggleColor '&'>"
 msgstr "B<ToggleColor '&'>"
 
 #. type: Plain text
-#: doc/tin.1:527
+#: doc/tin.1:557
 msgid "Toggle use of ANSI color."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:527
+#: doc/tin.1:557
 #, no-wrap
 msgid "B<RedrawScr '^L'>"
 msgstr "B<RedrawScr '^L'>"
 
 #. type: Plain text
-#: doc/tin.1:530
+#: doc/tin.1:560
 msgid "Redraw the current screen."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:530
+#: doc/tin.1:560
 #, no-wrap
 msgid "B<ScrollUp 'E<lt>'>"
 msgstr "B<ScrollUp 'E<lt>'>"
 
 #. type: Plain text
-#: doc/tin.1:533
+#: doc/tin.1:563
 msgid "Scroll screen up by one line."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:533
+#: doc/tin.1:563
 #, no-wrap
 msgid "B<ScrollDown 'E<gt>'>"
 msgstr "B<ScrollDown 'E<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:536
+#: doc/tin.1:566
 msgid "Scroll screen down by one line."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:536
+#: doc/tin.1:566
 #, no-wrap
 msgid "B<Postponed 'O' '^O'>"
 msgstr "B<Postponed 'O' '^O'>"
 
 #. type: Plain text
-#: doc/tin.1:550
+#: doc/tin.1:580
 msgid ""
 "Reload postponed article. If your system blocks the B<Postponed> key you "
 "must quote it by pressing 'B<^V>' (CTRL-V) first. The postpone-menu offers "
@@ -1294,244 +1337,244 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:550 doc/tin.1:1425 doc/tin.1:1480 doc/tin.1:1525
+#: doc/tin.1:580 doc/tin.1:1461 doc/tin.1:1516 doc/tin.1:1561
 #, no-wrap
 msgid "B<Help 'h'>"
 msgstr "B<Help 'h'>"
 
 #. type: Plain text
-#: doc/tin.1:556
+#: doc/tin.1:586
 msgid ""
 "Help screen of commands available on the current menu. You can use "
-"B<SearchSubjF> ('B</>'), B<SearchSubjB> ('B<?>') and B<SearchRepeat> ('B<"
-"\\(rs>') to search on this screen. B<Quit> ('B<q>') returns to the menu."
+"B<SearchSubjF> ('B</>'), B<SearchSubjB> ('B<?>') and B<SearchRepeat> "
+"('B<\\(rs>') to search on this screen. B<Quit> ('B<q>') returns to the menu."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:556 doc/tin.1:1428 doc/tin.1:1483 doc/tin.1:1528
+#: doc/tin.1:586 doc/tin.1:1464 doc/tin.1:1519 doc/tin.1:1564
 #, no-wrap
 msgid "B<ToggleHelpDisplay 'H'>"
 msgstr "B<ToggleHelpDisplay 'H'>"
 
 #. type: Plain text
-#: doc/tin.1:560 doc/tin.1:1432 doc/tin.1:1487 doc/tin.1:1532
+#: doc/tin.1:590 doc/tin.1:1468 doc/tin.1:1523 doc/tin.1:1568
 msgid ""
 "Toggle the display of help mini menu at the bottom of the screen and posting "
 "etiquette after composing an article (B<beginner_level>)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:560
+#: doc/tin.1:590
 #, no-wrap
 msgid "B<DisplayPostHist 'W'>"
 msgstr "B<DisplayPostHist 'W'>"
 
 #. type: Plain text
-#: doc/tin.1:565
+#: doc/tin.1:595
 msgid ""
 "List articles posted by user. The date posted, the newsgroup and the subject "
 "are listed. See the section \"POSTING HISTORY LISTING\" for more information."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:565
+#: doc/tin.1:595
 #, no-wrap
 msgid "B<Version 'v'>"
 msgstr "B<Version 'v'>"
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:570
+#: doc/tin.1:600
 msgid "Print B<tin> version information."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:570
+#: doc/tin.1:600
 #, no-wrap
 msgid "NEWSGROUP SELECTION COMMANDS"
 msgstr "MANDATOS SELECCIONADOS DE GRUPOS NOTICIARIOS"
 
 #. type: TP
-#: doc/tin.1:571 doc/tin.1:712 doc/tin.1:967 doc/tin.1:1144 doc/tin.1:3737
+#: doc/tin.1:601 doc/tin.1:742 doc/tin.1:998 doc/tin.1:1176 doc/tin.1:3812
 #, no-wrap
 msgid "B<4>"
 msgstr "B<4>"
 
 #. type: Plain text
-#: doc/tin.1:574
+#: doc/tin.1:604
 msgid "Select group 4."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:574
+#: doc/tin.1:604
 #, no-wrap
 msgid "B<SelectResetNewsrc '^R'>"
 msgstr "B<SelectResetNewsrc '^R'>"
 
 #. type: Plain text
-#: doc/tin.1:578
+#: doc/tin.1:608
 msgid ""
 "Reset I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file. This will destroy all "
 "records of which articles have been read, so use this carefully."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:578 doc/tin.1:733 doc/tin.1:988
+#: doc/tin.1:608 doc/tin.1:763 doc/tin.1:1019
 #, no-wrap
 msgid "B<SetRange '#'>"
 msgstr "B<SetRange '#'>"
 
 #. type: Plain text
-#: doc/tin.1:582 doc/tin.1:737 doc/tin.1:992
+#: doc/tin.1:612 doc/tin.1:767 doc/tin.1:1023
 msgid ""
 "Choose a range of articles to be affected by the next command. See the "
 "section \"RANGES\" for more information."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:582
+#: doc/tin.1:612
 #, no-wrap
 msgid "B<SelectSortActive '.'>"
 msgstr "B<SelectSortActive '.'>"
 
 #. type: Plain text
-#: doc/tin.1:585
+#: doc/tin.1:615
 msgid "Sort the list of newsgroups."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:585 doc/tin.1:740 doc/tin.1:995 doc/tin.1:1201 doc/tin.1:1416
-#: doc/tin.1:1467 doc/tin.1:1516
+#: doc/tin.1:615 doc/tin.1:770 doc/tin.1:1026 doc/tin.1:1236 doc/tin.1:1452
+#: doc/tin.1:1503 doc/tin.1:1552
 #, no-wrap
 msgid "B<SearchRepeat '\\(rs'>"
 msgstr "B<SearchRepeat '\\(rs'>"
 
 #. type: Plain text
-#: doc/tin.1:588 doc/tin.1:743 doc/tin.1:998 doc/tin.1:1204 doc/tin.1:1419
-#: doc/tin.1:1470 doc/tin.1:1519
+#: doc/tin.1:618 doc/tin.1:773 doc/tin.1:1029 doc/tin.1:1239 doc/tin.1:1455
+#: doc/tin.1:1506 doc/tin.1:1555
 msgid "Repeat the previous search."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:588 doc/tin.1:743 doc/tin.1:998 doc/tin.1:1204 doc/tin.1:1410
-#: doc/tin.1:1461 doc/tin.1:1510
+#: doc/tin.1:618 doc/tin.1:773 doc/tin.1:1029 doc/tin.1:1239 doc/tin.1:1446
+#: doc/tin.1:1497 doc/tin.1:1546
 #, no-wrap
 msgid "B<SearchSubjF '/'>"
 msgstr "B<SearchSubjF '/'>"
 
 #. type: Plain text
-#: doc/tin.1:591
+#: doc/tin.1:621
 msgid "Search for a group by name and description (if displayed)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:591 doc/tin.1:746 doc/tin.1:1001 doc/tin.1:1207 doc/tin.1:1413
-#: doc/tin.1:1464 doc/tin.1:1513
+#: doc/tin.1:621 doc/tin.1:776 doc/tin.1:1032 doc/tin.1:1242 doc/tin.1:1449
+#: doc/tin.1:1500 doc/tin.1:1549
 #, no-wrap
 msgid "B<SearchSubjB '?'>"
 msgstr "B<SearchSubjB '?'>"
 
 #. type: Plain text
-#: doc/tin.1:594
+#: doc/tin.1:624
 msgid "Backward search through the group names and descriptions."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:594
+#: doc/tin.1:624
 #, no-wrap
 msgid "B<SelectReadGrp '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<SelectReadGrp '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:597
+#: doc/tin.1:627
 msgid "Read current group."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:597
+#: doc/tin.1:627
 #, no-wrap
 msgid "B<SelectEnterNextUnreadGrp 'E<lt>TABE<gt>' 'n'>"
 msgstr "B<SelectEnterNextUnreadGrp 'E<lt>TABE<gt>' 'n'>"
 
 #. type: Plain text
-#: doc/tin.1:601
+#: doc/tin.1:631
 msgid ""
 "Enter next group with unread news. Will wrap around to the beginning of the "
 "group selection list looking for unread groups."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:601 doc/tin.1:821 doc/tin.1:1039 doc/tin.1:1265
+#: doc/tin.1:631 doc/tin.1:851 doc/tin.1:1070 doc/tin.1:1300
 #, no-wrap
 msgid "B<Catchup 'c'>"
 msgstr "B<Catchup 'c'>"
 
 #. type: Plain text
-#: doc/tin.1:605
+#: doc/tin.1:635
 msgid ""
 "Make current group as all read [after confirmation] and move to the next "
 "group in the group selection list."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:605 doc/tin.1:825 doc/tin.1:1043 doc/tin.1:1269
+#: doc/tin.1:635 doc/tin.1:855 doc/tin.1:1074 doc/tin.1:1304
 #, no-wrap
 msgid "B<CatchupNextUnread 'C'>"
 msgstr "B<CatchupNextUnread 'C'>"
 
 #. type: Plain text
-#: doc/tin.1:609
+#: doc/tin.1:639
 msgid ""
 "Mark current group as all read [after confirmation] and enter the next "
 "unread group in the group selection list."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:609
+#: doc/tin.1:639
 #, no-wrap
 msgid "B<SelectToggleDescriptions 'd'>"
 msgstr "B<SelectToggleDescriptions 'd'>"
 
 #. type: Plain text
-#: doc/tin.1:613
+#: doc/tin.1:643
 msgid ""
 "Toggle display to show just the group name or the group name and the group "
 "descriptions."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:613 doc/tin.1:838 doc/tin.1:1056 doc/tin.1:1281
+#: doc/tin.1:643 doc/tin.1:868 doc/tin.1:1087 doc/tin.1:1316
 #, no-wrap
 msgid "B<EditFilter 'E'>"
 msgstr "B<EditFilter 'E'>"
 
 #. type: Plain text
-#: doc/tin.1:616 doc/tin.1:841 doc/tin.1:1059 doc/tin.1:1284
+#: doc/tin.1:646 doc/tin.1:871 doc/tin.1:1090 doc/tin.1:1319
 msgid "Edit the filter file and reload it afterwards."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:616
+#: doc/tin.1:646
 #, no-wrap
 msgid "B<SelectGoto 'g'>"
 msgstr "B<SelectGoto 'g'>"
 
 #. type: Plain text
-#: doc/tin.1:620 doc/tin.1:845
+#: doc/tin.1:650 doc/tin.1:875
 msgid ""
 "Choose a new group by name. This command can be used to access any group, "
 "even those not currently yanked in."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:620 doc/tin.1:848 doc/tin.1:1065 doc/tin.1:1297 doc/tin.1:1422
-#: doc/tin.1:1476 doc/tin.1:1522
+#: doc/tin.1:650 doc/tin.1:878 doc/tin.1:1096 doc/tin.1:1332 doc/tin.1:1458
+#: doc/tin.1:1512 doc/tin.1:1558
 #, no-wrap
 msgid "B<ToggleInfoLastLine 'i'>"
 msgstr "B<ToggleInfoLastLine 'i'>"
 
 #. type: Plain text
-#: doc/tin.1:625
+#: doc/tin.1:655
 msgid ""
 "Toggle the display of the description of the current newsgroup in the last "
 "line. This will not be available if B<tin> was started with the \\&''B<-d>'' "
@@ -1539,35 +1582,35 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:625 doc/tin.1:852 doc/tin.1:1068 doc/tin.1:1300
+#: doc/tin.1:655 doc/tin.1:882 doc/tin.1:1099 doc/tin.1:1335
 #, no-wrap
 msgid "B<ToggleInverseVideo 'I'>"
 msgstr "B<ToggleInverseVideo 'I'>"
 
 #. type: Plain text
-#: doc/tin.1:628 doc/tin.1:855 doc/tin.1:1071 doc/tin.1:1303
+#: doc/tin.1:658 doc/tin.1:885 doc/tin.1:1102 doc/tin.1:1338
 msgid "Toggle inverse video."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:628 doc/tin.1:855 doc/tin.1:1071 doc/tin.1:1303
+#: doc/tin.1:658 doc/tin.1:885 doc/tin.1:1102 doc/tin.1:1338
 #, no-wrap
 msgid "B<ConnectionInfo 'J'>"
 msgstr "B<ConnectionInfo 'J'>"
 
 #. type: Plain text
-#: doc/tin.1:631 doc/tin.1:858 doc/tin.1:1074 doc/tin.1:1306
+#: doc/tin.1:661 doc/tin.1:888 doc/tin.1:1105 doc/tin.1:1341
 msgid "Show details about current connection."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:631 doc/tin.1:867 doc/tin.1:1080 doc/tin.1:1312
+#: doc/tin.1:661 doc/tin.1:897 doc/tin.1:1111 doc/tin.1:1347
 #, no-wrap
 msgid "B<LookupMessage 'L'>"
 msgstr "B<LookupMessage 'L'>"
 
 #. type: Plain text
-#: doc/tin.1:638
+#: doc/tin.1:668
 msgid ""
 "Look up article by ''Message-ID:''. If none of the groups listed in the "
 "''Newsgroups:''-header of the referenced article is available, just the "
@@ -1577,13 +1620,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:638
+#: doc/tin.1:668
 #, no-wrap
 msgid "B<SelectMoveGrp 'm'>"
 msgstr "B<SelectMoveGrp 'm'>"
 
 #. type: Plain text
-#: doc/tin.1:644
+#: doc/tin.1:674
 msgid ""
 "Move the current group within the group selection list. By entering '1' the "
 "group will become the first displayed group in the list, by entering '8' the "
@@ -1592,61 +1635,61 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:644 doc/tin.1:875 doc/tin.1:1320
+#: doc/tin.1:674 doc/tin.1:906 doc/tin.1:1356
 #, no-wrap
 msgid "B<OptionMenu 'M'>"
 msgstr "B<OptionMenu 'M'>"
 
 #. type: Plain text
-#: doc/tin.1:648 doc/tin.1:879 doc/tin.1:1324
+#: doc/tin.1:678 doc/tin.1:910 doc/tin.1:1360
 msgid ""
 "User configurable options menu (for more information see section \"GLOBAL "
 "OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES\")."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:648
+#: doc/tin.1:678
 #, no-wrap
 msgid "B<SelectNextUnreadGrp 'N'>"
 msgstr "B<SelectNextUnreadGrp 'N'>"
 
 #. type: Plain text
-#: doc/tin.1:651
+#: doc/tin.1:681
 msgid "Positions the cursor on the next group with unread articles in it."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:651 doc/tin.1:896 doc/tin.1:1093 doc/tin.1:1341
+#: doc/tin.1:681 doc/tin.1:927 doc/tin.1:1125 doc/tin.1:1377
 #, no-wrap
 msgid "B<Quit 'q'>"
 msgstr "B<Quit 'q'>"
 
 #. type: Plain text
-#: doc/tin.1:655
+#: doc/tin.1:685
 msgid ""
 "Quit B<tin> \\(em ask the user to confirm if B<confirm_choice> is set "
 "accordingly."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:655 doc/tin.1:899 doc/tin.1:1096 doc/tin.1:1344
+#: doc/tin.1:685 doc/tin.1:930 doc/tin.1:1128 doc/tin.1:1380
 #, no-wrap
 msgid "B<QuitTin 'Q'>"
 msgstr "B<QuitTin 'Q'>"
 
 #. type: Plain text
-#: doc/tin.1:658 doc/tin.1:902 doc/tin.1:1099 doc/tin.1:1347
+#: doc/tin.1:688 doc/tin.1:933 doc/tin.1:1131 doc/tin.1:1383
 msgid "Quit B<tin> \\(em don't ask the user to confirm."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:658
+#: doc/tin.1:688
 #, no-wrap
 msgid "B<SelectToggleReadDisplay 'r'>"
 msgstr "B<SelectToggleReadDisplay 'r'>"
 
 #. type: Plain text
-#: doc/tin.1:663
+#: doc/tin.1:693
 msgid ""
 "Toggle display of all subscribed to groups and just those groups containing "
 "unread articles. Command has no effect if groups were specified on the "
@@ -1654,37 +1697,37 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:663 doc/tin.1:905 doc/tin.1:1099
+#: doc/tin.1:693 doc/tin.1:936 doc/tin.1:1131
 #, no-wrap
 msgid "B<BugReport 'R'>"
 msgstr "B<BugReport 'R'>"
 
 #. type: Plain text
-#: doc/tin.1:667 doc/tin.1:909 doc/tin.1:1103
+#: doc/tin.1:697 doc/tin.1:940 doc/tin.1:1135
 msgid ""
 "Mail a bug report or comment to E<lt>tin-bugs@tin.orgE<gt>. This is the best "
 "way of getting bugs fixed and features added/changed."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:667
+#: doc/tin.1:697
 #, no-wrap
 msgid "B<SelectSubscribe 's'>"
 msgstr "B<SelectSubscribe 's'>"
 
 #. type: Plain text
-#: doc/tin.1:670
+#: doc/tin.1:700
 msgid "Subscribe to current group."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:670
+#: doc/tin.1:700
 #, no-wrap
 msgid "B<SelectSubscribePat 'S'>"
 msgstr "B<SelectSubscribePat 'S'>"
 
 #. type: Plain text
-#: doc/tin.1:675
+#: doc/tin.1:705
 msgid ""
 "Subscribe to groups matching user specified pattern. See the section "
 "\"NEWSGROUP LISTS & WILDCARDS\" for the types of pattern that B<tin> "
@@ -1692,27 +1735,27 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:675
+#: doc/tin.1:705
 #, no-wrap
 msgid "B<SelectUnsubscribe 'u'>"
 msgstr "B<SelectUnsubscribe 'u'>"
 
 #. type: Plain text
-#: doc/tin.1:680
+#: doc/tin.1:710
 msgid ""
 "Unsubscribe to current group. This can be used to remove bogus groups.  See "
-"B<strip_bogus> in the \"GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES"
-"\" section."
+"B<strip_bogus> in the \"GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE "
+"VARIABLES\" section."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:680
+#: doc/tin.1:710
 #, no-wrap
 msgid "B<SelectUnsubscribePat 'U'>"
 msgstr "B<SelectUnsubscribePat 'U'>"
 
 #. type: Plain text
-#: doc/tin.1:685
+#: doc/tin.1:715
 msgid ""
 "Unsubscribe to groups matching user specified pattern. See the section "
 "\"NEWSGROUP LISTS & WILDCARDS\" for the types of pattern that B<tin> "
@@ -1720,13 +1763,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:685 doc/tin.1:934 doc/tin.1:1122 doc/tin.1:1381
+#: doc/tin.1:715 doc/tin.1:965 doc/tin.1:1154 doc/tin.1:1417
 #, no-wrap
 msgid "B<Post 'w'>"
 msgstr "B<Post 'w'>"
 
 #. type: Plain text
-#: doc/tin.1:691
+#: doc/tin.1:721
 msgid ""
 "Post an article to current group. If posting fails for some reason, you'll "
 "get the chance to B<PostEdit> ('B<e>') the article again, B<PostPostpone> "
@@ -1735,24 +1778,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:691
+#: doc/tin.1:721
 #, no-wrap
 msgid "B<SelectQuitNoWrite 'X'>"
 msgstr "B<SelectQuitNoWrite 'X'>"
 
 #. type: Plain text
-#: doc/tin.1:694
+#: doc/tin.1:724
 msgid "Quit B<tin> without saving any changes to the configuration."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:694
+#: doc/tin.1:724
 #, no-wrap
 msgid "B<SelectYankActive 'y'>"
 msgstr "B<SelectYankActive 'y'>"
 
 #. type: Plain text
-#: doc/tin.1:699
+#: doc/tin.1:729
 msgid ""
 "Yanks in all groups. Toggles the displayed groups between all the groups in "
 "the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file and just "
@@ -1760,38 +1803,38 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:699
+#: doc/tin.1:729
 #, no-wrap
 msgid "B<SelectSyncWithActive 'Y'>"
 msgstr "B<SelectSyncWithActive 'Y'>"
 
 #. type: Plain text
-#: doc/tin.1:703
+#: doc/tin.1:733
 msgid ""
 "Reread the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file "
 "to see if any new news has arrived since starting B<tin>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:703
+#: doc/tin.1:733
 #, no-wrap
 msgid "B<SelectMarkGrpUnread 'z' 'Z'>"
 msgstr "B<SelectMarkGrpUnread 'z' 'Z'>"
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:708
+#: doc/tin.1:738
 msgid "Mark all articles in the current group as unread."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:708
+#: doc/tin.1:738
 #, no-wrap
 msgid "GROUP INDEX COMMANDS"
 msgstr "ÃNDICE DE MANDATOS AGRUPADOS"
 
 #. type: Plain text
-#: doc/tin.1:712
+#: doc/tin.1:742
 msgid ""
 "All searches in this level are limited to unread articles if in "
 "B<show_only_unread_arts> mode. B<GroupToggleReadUnread> ('B<r>')  can be use "
@@ -1799,44 +1842,44 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:715
+#: doc/tin.1:745
 msgid "Select article 4."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:715 doc/tin.1:970 doc/tin.1:1147
+#: doc/tin.1:745 doc/tin.1:1001 doc/tin.1:1179
 #, no-wrap
 msgid "B<MenuFilterSelect '^A'>"
 msgstr "B<MenuFilterSelect '^A'>"
 
 #. type: Plain text
-#: doc/tin.1:719 doc/tin.1:974 doc/tin.1:1151
+#: doc/tin.1:749 doc/tin.1:1005 doc/tin.1:1183
 msgid ""
 "Auto select article(s) using a menu. Read the section \"FILTERING ARTICLES\" "
 "for more information."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:719 doc/tin.1:974 doc/tin.1:1166
+#: doc/tin.1:749 doc/tin.1:1005 doc/tin.1:1198
 #, no-wrap
 msgid "B<MenuFilterKill '^K'>"
 msgstr "B<MenuFilterKill '^K'>"
 
 #. type: Plain text
-#: doc/tin.1:723 doc/tin.1:978 doc/tin.1:1170
+#: doc/tin.1:753 doc/tin.1:1009 doc/tin.1:1202
 msgid ""
 "Kill article(s) using a menu. Read the section \"FILTERING ARTICLES\" for "
 "more information."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:723 doc/tin.1:978
+#: doc/tin.1:753 doc/tin.1:1009
 #, no-wrap
 msgid "B<MarkFeedRead '^X'>"
 msgstr "B<MarkFeedRead '^X'>"
 
 #. type: Plain text
-#: doc/tin.1:728 doc/tin.1:983
+#: doc/tin.1:758 doc/tin.1:1014
 msgid ""
 "Mark current article, thread, range, auto-selected (hot) articles, articles "
 "matching pattern or tagged articles as read. A prompt asks which type should "
@@ -1844,13 +1887,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:728 doc/tin.1:983
+#: doc/tin.1:758 doc/tin.1:1014
 #, no-wrap
 msgid "B<MarkFeedUnread '^W'>"
 msgstr "B<MarkFeedUnread '^W'>"
 
 #. type: Plain text
-#: doc/tin.1:733 doc/tin.1:988
+#: doc/tin.1:763 doc/tin.1:1019
 msgid ""
 "Mark current article, thread, range, auto-selected (hot) articles, articles "
 "matching pattern or tagged articles as unread. A prompt asks which type "
@@ -1858,58 +1901,58 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:737 doc/tin.1:992 doc/tin.1:1198
+#: doc/tin.1:767 doc/tin.1:1023 doc/tin.1:1233
 #, no-wrap
 msgid "B<LastViewed '-'>"
 msgstr "B<LastViewed '-'>"
 
 #. type: Plain text
-#: doc/tin.1:740 doc/tin.1:995 doc/tin.1:1201
+#: doc/tin.1:770 doc/tin.1:1026 doc/tin.1:1236
 msgid "Re-enter the last message that was viewed."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:746 doc/tin.1:1001
+#: doc/tin.1:776 doc/tin.1:1032
 msgid "Search forward for specified subject."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:749 doc/tin.1:1004
+#: doc/tin.1:779 doc/tin.1:1035
 msgid "Search backwards for specified subject."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:749
+#: doc/tin.1:779
 #, no-wrap
 msgid "B<GroupSelThd '*'>"
 msgstr "B<GroupSelThd '*'>"
 
 #. type: Plain text
-#: doc/tin.1:752 doc/tin.1:1007
+#: doc/tin.1:782 doc/tin.1:1038
 msgid "Select current thread for later processing."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:752
+#: doc/tin.1:782
 #, no-wrap
 msgid "B<GroupDoAutoSel '+'>"
 msgstr "B<GroupDoAutoSel '+'>"
 
 #. type: Plain text
-#: doc/tin.1:756
+#: doc/tin.1:786
 msgid ""
 "Selects all threads in current group. It is a shortcut for calling "
 "B<GroupSelPattern> with a pattern of ''*''."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:756
+#: doc/tin.1:786
 #, no-wrap
 msgid "B<GroupToggleThdSel '.'>"
 msgstr "B<GroupToggleThdSel '.'>"
 
 #. type: Plain text
-#: doc/tin.1:761
+#: doc/tin.1:791
 msgid ""
 "Toggle selection of current thread. If at least one unread article, (but not "
 "every unread article) in the current thread is selected, then all unread "
@@ -1917,13 +1960,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:761
+#: doc/tin.1:791
 #, no-wrap
 msgid "B<GroupSelThdIfUnreadSelected ';'>"
 msgstr "B<GroupSelThdIfUnreadSelected ';'>"
 
 #. type: Plain text
-#: doc/tin.1:766
+#: doc/tin.1:796
 msgid ""
 "For each thread in current group, if it at least one unread article is "
 "selected, all unread articles become selected. This is useful for auto-"
@@ -1931,39 +1974,39 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:766
+#: doc/tin.1:796
 #, no-wrap
 msgid "B<GroupSelPattern '='>"
 msgstr "B<GroupSelPattern '='>"
 
 #. type: Plain text
-#: doc/tin.1:772
+#: doc/tin.1:802
 msgid ""
 "Prompts for a pattern with which to match on. All threads whose subjects "
 "match the pattern will be marked selected. A pattern of ''*'' will match all "
-"subjects. Entering just 'B<E<lt>CRE<gt>>' will re-use the last pattern that "
+"subjects. Entering just 'B<E<lt>CRE<gt>>' will reuse the last pattern that "
 "was entered."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:772
+#: doc/tin.1:802
 #, no-wrap
 msgid "B<GroupReverseSel '@'>"
 msgstr "B<GroupReverseSel '@'>"
 
 #. type: Plain text
-#: doc/tin.1:775
+#: doc/tin.1:805
 msgid "Reverse all selections on all articles."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:775
+#: doc/tin.1:805
 #, no-wrap
 msgid "B<GroupUndoSel '~'>"
 msgstr "B<GroupUndoSel '~'>"
 
 #. type: Plain text
-#: doc/tin.1:781
+#: doc/tin.1:811
 msgid ""
 "Undo all selections on all articles. It clears the toggle effect of "
 "B<GroupMarkUnselArtRead> ('B<X>') command. Thus after first doing a "
@@ -1972,13 +2015,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:781 doc/tin.1:1016 doc/tin.1:1224
+#: doc/tin.1:811 doc/tin.1:1047 doc/tin.1:1259
 #, no-wrap
 msgid "B<Pipe '|'>"
 msgstr "B<Pipe '|'>"
 
 #. type: Plain text
-#: doc/tin.1:786 doc/tin.1:1021 doc/tin.1:1229
+#: doc/tin.1:816 doc/tin.1:1052 doc/tin.1:1264
 msgid ""
 "Pipe current article / thread / auto-selected (hot) articles / articles "
 "matching pattern / tagged articles into command. See the section \"MAILING "
@@ -1986,13 +2029,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:786 doc/tin.1:1229
+#: doc/tin.1:816 doc/tin.1:1264
 #, no-wrap
 msgid "B<QuickFilterSelect '['>"
 msgstr "B<QuickFilterSelect '['>"
 
 #. type: Plain text
-#: doc/tin.1:795
+#: doc/tin.1:825
 msgid ""
 "Auto select article(s) with a single key [after confirmation]. The defaults "
 "used for selection are based upon the following four tinrc config variables: "
@@ -2004,13 +2047,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:795 doc/tin.1:1238
+#: doc/tin.1:825 doc/tin.1:1273
 #, no-wrap
 msgid "B<QuickFilterKill ']'>"
 msgstr "B<QuickFilterKill ']'>"
 
 #. type: Plain text
-#: doc/tin.1:804
+#: doc/tin.1:834
 msgid ""
 "Kill article(s) with a single key [after confirmation]. The defaults used "
 "for killing are based upon the following four tinrc config variables: "
@@ -2022,99 +2065,99 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:804
+#: doc/tin.1:834
 #, no-wrap
 msgid "B<GroupReadBasenote '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<GroupReadBasenote '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:807
+#: doc/tin.1:837
 msgid "Read current article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:807
+#: doc/tin.1:837
 #, no-wrap
 msgid "B<GroupNextUnreadArtOrGrp 'E<lt>TABE<gt>'>"
 msgstr "B<GroupNextUnreadArtOrGrp 'E<lt>TABE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:810
+#: doc/tin.1:840
 msgid "View next unread article or group."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:810 doc/tin.1:1027 doc/tin.1:1255
+#: doc/tin.1:840 doc/tin.1:1058 doc/tin.1:1290
 #, no-wrap
 msgid "B<SearchAuthF 'a'>"
 msgstr "B<SearchAuthF 'a'>"
 
 #. type: Plain text
-#: doc/tin.1:814
+#: doc/tin.1:844
 msgid ""
 "Author forward search. This searches for articles with a specific ''From:'' "
 "line."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:814 doc/tin.1:1032 doc/tin.1:1258
+#: doc/tin.1:844 doc/tin.1:1063 doc/tin.1:1293
 #, no-wrap
 msgid "B<SearchAuthB 'A'>"
 msgstr "B<SearchAuthB 'A'>"
 
 #. type: Plain text
-#: doc/tin.1:817 doc/tin.1:1035
+#: doc/tin.1:847 doc/tin.1:1066
 msgid "Author backward search. Otherwise, see B<SearchAuthF> ('B<a>') above."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:817 doc/tin.1:1035 doc/tin.1:1261
+#: doc/tin.1:847 doc/tin.1:1066 doc/tin.1:1296
 #, no-wrap
 msgid "B<SearchBody 'B'>"
 msgstr "B<SearchBody 'B'>"
 
 #. type: Plain text
-#: doc/tin.1:821 doc/tin.1:1039 doc/tin.1:1265
+#: doc/tin.1:851 doc/tin.1:1070 doc/tin.1:1300
 msgid ""
 "Search the body of all articles in group (can be slow). You can abort the "
 "search using B<Quit> ('B<q>')."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:825
+#: doc/tin.1:855
 msgid ""
 "Mark all articles as read [after confirmation] then return to the group "
 "selection list. Move cursor to next group."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:829
+#: doc/tin.1:859
 msgid ""
 "Mark all articles as read [after confirmation] and enter the next group with "
 "unread news."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:829
+#: doc/tin.1:859
 #, no-wrap
 msgid "B<GroupToggleSubjDisplay 'd'>"
 msgstr "B<GroupToggleSubjDisplay 'd'>"
 
 #. type: Plain text
-#: doc/tin.1:833 doc/tin.1:1051
+#: doc/tin.1:863 doc/tin.1:1082
 msgid ""
 "Cycle the display of the author through all the possible options for the "
 "tinrc variable B<show_author>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:833
+#: doc/tin.1:863
 #, no-wrap
 msgid "B<GroupCancel 'D'>"
 msgstr "B<GroupCancel 'D'>"
 
 #. type: Plain text
-#: doc/tin.1:838 doc/tin.1:1056 doc/tin.1:1278
+#: doc/tin.1:868 doc/tin.1:1087 doc/tin.1:1313
 msgid ""
 "Cancel (delete) or supersede (overwrite) the current article. It must have "
 "been posted by the same user. The cancel message can be seen in the "
@@ -2122,37 +2165,37 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:841
+#: doc/tin.1:871
 #, no-wrap
 msgid "B<GroupGoto 'g'>"
 msgstr "B<GroupGoto 'g'>"
 
 #. type: TP
-#: doc/tin.1:845
+#: doc/tin.1:875
 #, no-wrap
 msgid "B<GroupToggleGetartLimit 'G'>"
 msgstr "B<GroupToggleGetartLimit 'G'>"
 
 #. type: Plain text
-#: doc/tin.1:848
+#: doc/tin.1:878
 msgid "Toggle article/group limit."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:852
+#: doc/tin.1:882
 msgid ""
 "Display the subject of the first article in the current thread in the last "
 "line."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:858
+#: doc/tin.1:888
 #, no-wrap
 msgid "B<GroupMarkThdRead 'K'>"
 msgstr "B<GroupMarkThdRead 'K'>"
 
 #. type: Plain text
-#: doc/tin.1:864
+#: doc/tin.1:894
 msgid ""
 "Mark article/thread as read and move onto the next unread article/thread. If "
 "a range of articles/threads is set, the range will be marked as read instead "
@@ -2161,29 +2204,31 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:864
+#: doc/tin.1:894
 #, no-wrap
 msgid "B<GroupListThd 'l'>"
 msgstr "B<GroupListThd 'l'>"
 
 #. type: Plain text
-#: doc/tin.1:867
+#: doc/tin.1:897
 msgid "Open the thread under the current cursor position."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:870 doc/tin.1:1083 doc/tin.1:1315
-msgid "Look up article by ''Message-ID:''."
+#: doc/tin.1:901 doc/tin.1:1115 doc/tin.1:1351
+msgid ""
+"Look up article by ''Message-ID:''. In this level only the IDs in the "
+"current group are searched."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:870
+#: doc/tin.1:901
 #, no-wrap
 msgid "B<GroupMail 'm'>"
 msgstr "B<GroupMail 'm'>"
 
 #. type: Plain text
-#: doc/tin.1:875 doc/tin.1:1088 doc/tin.1:1320
+#: doc/tin.1:906 doc/tin.1:1120 doc/tin.1:1356
 msgid ""
 "Mail current article / thread / auto-selected (hot) articles / articles "
 "matching pattern / tagged articles to someone. See the section \"MAILING "
@@ -2191,35 +2236,35 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:879
+#: doc/tin.1:910
 #, no-wrap
 msgid "B<GroupNextGroup 'n'>"
 msgstr "B<GroupNextGroup 'n'>"
 
 #. type: Plain text
-#: doc/tin.1:882
+#: doc/tin.1:913
 msgid "Go to next group."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:882
+#: doc/tin.1:913
 #, no-wrap
 msgid "B<GroupNextUnreadArt 'N'>"
 msgstr "B<GroupNextUnreadArt 'N'>"
 
 #. type: Plain text
-#: doc/tin.1:885 doc/tin.1:1330
+#: doc/tin.1:916 doc/tin.1:1366
 msgid "Go to the next unread article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:885 doc/tin.1:1088 doc/tin.1:1330
+#: doc/tin.1:916 doc/tin.1:1120 doc/tin.1:1366
 #, no-wrap
 msgid "B<Print 'o'>"
 msgstr "B<Print 'o'>"
 
 #. type: Plain text
-#: doc/tin.1:890 doc/tin.1:1093 doc/tin.1:1335
+#: doc/tin.1:921 doc/tin.1:1125 doc/tin.1:1371
 msgid ""
 "Send current article / thread / auto-selected (hot) articles / articles "
 "matching pattern / tagged articles to printer. See the section \"MAILING "
@@ -2227,51 +2272,51 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:890
+#: doc/tin.1:921
 #, no-wrap
 msgid "B<GroupPrevGroup 'p'>"
 msgstr "B<GroupPrevGroup 'p'>"
 
 #. type: Plain text
-#: doc/tin.1:893
+#: doc/tin.1:924
 msgid "Go to previous group."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:893
+#: doc/tin.1:924
 #, no-wrap
 msgid "B<GroupPrevUnreadArt 'P'>"
 msgstr "B<GroupPrevUnreadArt 'P'>"
 
 #. type: Plain text
-#: doc/tin.1:896
+#: doc/tin.1:927
 msgid "Go to previous unread article."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:899 doc/tin.1:1096
+#: doc/tin.1:930 doc/tin.1:1128
 msgid "Return to previous level."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:902
+#: doc/tin.1:933
 #, no-wrap
 msgid "B<GroupToggleReadUnread 'r'>"
 msgstr "B<GroupToggleReadUnread 'r'>"
 
 #. type: Plain text
-#: doc/tin.1:905
+#: doc/tin.1:936
 msgid "Toggle the display between all articles and unread articles."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:909
+#: doc/tin.1:940
 #, no-wrap
 msgid "B<GroupSave 's'>"
 msgstr "B<GroupSave 's'>"
 
 #. type: Plain text
-#: doc/tin.1:914 doc/tin.1:1108 doc/tin.1:1360
+#: doc/tin.1:945 doc/tin.1:1140 doc/tin.1:1396
 msgid ""
 "Save current article / thread / auto-selected (hot) articles / articles "
 "matching pattern / tagged articles. See the section \"MAILING PIPING "
@@ -2279,24 +2324,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:914
+#: doc/tin.1:945
 #, no-wrap
 msgid "B<GroupAutoSave 'S'>"
 msgstr "B<GroupAutoSave 'S'>"
 
 #. type: Plain text
-#: doc/tin.1:917 doc/tin.1:1111 doc/tin.1:1363
+#: doc/tin.1:948 doc/tin.1:1143 doc/tin.1:1399
 msgid "Save marked articles automatically without further prompting."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:917
+#: doc/tin.1:948
 #, no-wrap
 msgid "B<GroupTag 't'>"
 msgstr "B<GroupTag 't'>"
 
 #. type: Plain text
-#: doc/tin.1:922
+#: doc/tin.1:953
 msgid ""
 "Toggle tag-status of current article / thread for B<GroupMail> ('B<m>')  / "
 "B<Pipe> ('B<|>') / B<Print> ('B<o>') / B<GroupSave> ('B<s>') / "
@@ -2304,26 +2349,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:922
+#: doc/tin.1:953
 #, no-wrap
 msgid "B<GroupTagParts 'T'>"
 msgstr "B<GroupTagParts 'T'>"
 
 #. type: Plain text
-#: doc/tin.1:926 doc/tin.1:1119
+#: doc/tin.1:957 doc/tin.1:1151
 msgid ""
 "Automatically tag/untag all the parts of the current multi-part message in "
 "order."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:926
+#: doc/tin.1:957
 #, no-wrap
 msgid "B<GroupToggleThreading 'u'>"
 msgstr "B<GroupToggleThreading 'u'>"
 
 #. type: Plain text
-#: doc/tin.1:931
+#: doc/tin.1:962
 msgid ""
 "Cycle the threading mode through no threading, threading by subject, "
 "threading by references, threading on both subject and references, group "
@@ -2331,18 +2376,18 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:931
+#: doc/tin.1:962
 #, no-wrap
 msgid "B<GroupUntag 'U'>"
 msgstr "B<GroupUntag 'U'>"
 
 #. type: Plain text
-#: doc/tin.1:934
+#: doc/tin.1:965
 msgid "Untag all articles that were tagged."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:941 doc/tin.1:1129 doc/tin.1:1388
+#: doc/tin.1:972 doc/tin.1:1161 doc/tin.1:1424
 msgid ""
 "Post an article to the current group. If posting fails for some reason, "
 "you'll get the chance to edit the article again via B<PostEdit> ('B<e>'), "
@@ -2351,13 +2396,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:941
+#: doc/tin.1:972
 #, no-wrap
 msgid "B<GroupRepost 'x'>"
 msgstr "B<GroupRepost 'x'>"
 
 #. type: Plain text
-#: doc/tin.1:947 doc/tin.1:1394
+#: doc/tin.1:978 doc/tin.1:1430
 msgid ""
 "Repost an already posted article / thread / auto-selected (hot) articles / "
 "articles matching pattern / tagged articles to another newsgroup(s). Useful "
@@ -2366,13 +2411,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:947
+#: doc/tin.1:978
 #, no-wrap
 msgid "B<GroupMarkUnselArtRead 'X'>"
 msgstr "B<GroupMarkUnselArtRead 'X'>"
 
 #. type: Plain text
-#: doc/tin.1:955
+#: doc/tin.1:986
 msgid ""
 "Mark all unread articles that have not been selected as read, redraw screen "
 "to reflect changes and put index at the first thread to begin reading.  "
@@ -2383,25 +2428,25 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:955 doc/tin.1:1129 doc/tin.1:1394
+#: doc/tin.1:986 doc/tin.1:1161 doc/tin.1:1430
 #, no-wrap
 msgid "B<MarkArtUnread 'z'>"
 msgstr "B<MarkArtUnread 'z'>"
 
 #. type: Plain text
-#: doc/tin.1:958
+#: doc/tin.1:989
 msgid "Mark current article as unread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:958 doc/tin.1:1134 doc/tin.1:1397
+#: doc/tin.1:989 doc/tin.1:1166 doc/tin.1:1433
 #, no-wrap
 msgid "B<MarkThdUnread 'Z'>"
 msgstr "B<MarkThdUnread 'Z'>"
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:965
+#: doc/tin.1:996
 msgid ""
 "Mark current thread as unread. If a range of threads is set, the range will "
 "be marked as unread instead of the current thread. When tagged threads are "
@@ -2409,79 +2454,79 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:965
+#: doc/tin.1:996
 #, no-wrap
 msgid "THREAD LISTING COMMANDS"
 msgstr "HILOS DE MANDATOS LISTADOS"
 
 #. type: Plain text
-#: doc/tin.1:970
+#: doc/tin.1:1001
 msgid "Select article 4 within thread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1004
+#: doc/tin.1:1035
 #, no-wrap
 msgid "B<ThreadSelArt '*'>"
 msgstr "B<ThreadSelArt '*'>"
 
 #. type: TP
-#: doc/tin.1:1007
+#: doc/tin.1:1038
 #, no-wrap
 msgid "B<ThreadToggleArtSel '.'>"
 msgstr "B<ThreadToggleArtSel '.'>"
 
 #. type: Plain text
-#: doc/tin.1:1010
+#: doc/tin.1:1041
 msgid "Toggle selection of current article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1010
+#: doc/tin.1:1041
 #, no-wrap
 msgid "B<ThreadReverseSel '@'>"
 msgstr "B<ThreadReverseSel '@'>"
 
 #. type: Plain text
-#: doc/tin.1:1013
+#: doc/tin.1:1044
 msgid "Reverse article selections."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1013
+#: doc/tin.1:1044
 #, no-wrap
 msgid "B<ThreadUndoSel '~'>"
 msgstr "B<ThreadUndoSel '~'>"
 
 #. type: Plain text
-#: doc/tin.1:1016
+#: doc/tin.1:1047
 msgid "Undo all selections on current thread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1021
+#: doc/tin.1:1052
 #, no-wrap
 msgid "B<ThreadReadArt '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<ThreadReadArt '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1024
+#: doc/tin.1:1055
 msgid "Read current article within thread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1024
+#: doc/tin.1:1055
 #, no-wrap
 msgid "B<ThreadReadNextArtOrThread 'E<lt>TABE<gt>'>"
 msgstr "B<ThreadReadNextArtOrThread 'E<lt>TABE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1027
+#: doc/tin.1:1058
 msgid "View next unread article within thread."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1032
+#: doc/tin.1:1063
 msgid ""
 "Author forward search. This searches for articles with a specific ''From:'' "
 "line. The search will wrap over into the next thread if nothing is found in "
@@ -2489,69 +2534,69 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1043
+#: doc/tin.1:1074
 msgid ""
 "Mark thread as read [after confirmation] and return to the group index "
 "page.  Move cursor to next thread."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1047
+#: doc/tin.1:1078
 msgid ""
 "Mark thread as read [after confirmation] and enter the next thread "
 "containing unread news."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1047
+#: doc/tin.1:1078
 #, no-wrap
 msgid "B<ThreadToggleSubjDisplay 'd'>"
 msgstr "B<ThreadToggleSubjDisplay 'd'>"
 
 #. type: TP
-#: doc/tin.1:1051
+#: doc/tin.1:1082
 #, no-wrap
 msgid "B<ThreadCancel 'D'>"
 msgstr "B<ThreadCancel 'D'>"
 
 #. type: TP
-#: doc/tin.1:1059
+#: doc/tin.1:1090
 #, no-wrap
 msgid "B<ThreadFollowupQuote 'f'>"
 msgstr "B<ThreadFollowupQuote 'f'>"
 
 #. type: Plain text
-#: doc/tin.1:1062 doc/tin.1:1287
+#: doc/tin.1:1093 doc/tin.1:1322
 msgid ""
 "Post a followup to the current article with a copy of the article included."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1062
+#: doc/tin.1:1093
 #, no-wrap
 msgid "B<ThreadFollowup 'F'>"
 msgstr "B<ThreadFollowup 'F'>"
 
 #. type: Plain text
-#: doc/tin.1:1065
+#: doc/tin.1:1096
 msgid ""
 "Post a followup to the current article without a copy of the article "
 "included."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1068 doc/tin.1:1300
+#: doc/tin.1:1099 doc/tin.1:1335
 msgid "Display the subject of the current article in the last line."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1074
+#: doc/tin.1:1105
 #, no-wrap
 msgid "B<ThreadMarkArtRead 'K'>"
 msgstr "B<ThreadMarkArtRead 'K'>"
 
 #. type: Plain text
-#: doc/tin.1:1080
+#: doc/tin.1:1111
 msgid ""
 "Mark article as read and move onto the next unread article. If a range of "
 "articles is set, the range will be marked as read instead of the current "
@@ -2559,55 +2604,55 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1083
+#: doc/tin.1:1115
 #, no-wrap
 msgid "B<ThreadMail 'm'>"
 msgstr "B<ThreadMail 'm'>"
 
 #. type: TP
-#: doc/tin.1:1103
+#: doc/tin.1:1135
 #, no-wrap
 msgid "B<ThreadSave 's'>"
 msgstr "B<ThreadSave 's'>"
 
 #. type: TP
-#: doc/tin.1:1108
+#: doc/tin.1:1140
 #, no-wrap
 msgid "B<ThreadAutoSave 'S'>"
 msgstr "B<ThreadAutoSave 'S'>"
 
 #. type: TP
-#: doc/tin.1:1111
+#: doc/tin.1:1143
 #, no-wrap
 msgid "B<ThreadTag 't'>"
 msgstr "B<ThreadTag 't'>"
 
 #. type: Plain text
-#: doc/tin.1:1115 doc/tin.1:1367
+#: doc/tin.1:1147 doc/tin.1:1403
 msgid ""
 "Toggle tag status of current article for mailing, piping, printing, saving "
 "or reposting."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1115
+#: doc/tin.1:1147
 #, no-wrap
 msgid "B<ThreadTagParts 'T'>"
 msgstr "B<ThreadTagParts 'T'>"
 
 #. type: TP
-#: doc/tin.1:1119
+#: doc/tin.1:1151
 #, no-wrap
 msgid "B<ThreadUntag 'U'>"
 msgstr "B<ThreadUntag 'U'>"
 
 #. type: Plain text
-#: doc/tin.1:1122
+#: doc/tin.1:1154
 msgid "Untag all tagged threads."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1134
+#: doc/tin.1:1166
 msgid ""
 "Mark current article in thread as unread. If a range of articles is set, the "
 "range will be marked as unread instead of the current article. When tagged "
@@ -2616,144 +2661,155 @@ msgstr ""
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:1139
+#: doc/tin.1:1171
 msgid "Mark all articles in thread as unread."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:1139
+#: doc/tin.1:1171
 #, no-wrap
 msgid "ARTICLE VIEWER COMMANDS"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1144
+#: doc/tin.1:1176
 msgid "Read the first (base) article in this thread."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1147
+#: doc/tin.1:1179
 msgid "Read response 4 in this thread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1151
+#: doc/tin.1:1183
 #, no-wrap
 msgid "B<PageReplyQuoteHeaders '^E'>"
 msgstr "B<PageReplyQuoteHeaders '^E'>"
 
 #. type: Plain text
-#: doc/tin.1:1155
+#: doc/tin.1:1187
 msgid ""
 "Reply through mail to the author of the current article with a copy of the "
 "article with all headers included."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1155
+#: doc/tin.1:1187
 #, no-wrap
 msgid "B<PagePGPCheckArticle '^G'>"
 msgstr "B<PagePGPCheckArticle '^G'>"
 
 #. type: Plain text
-#: doc/tin.1:1163
+#: doc/tin.1:1195
 msgid ""
 "Perform B<\\%pgp>(1)  / B<\\%gpg>(1)  operations on article. This expects "
 "inline pgp (B<RFC\\%4880>) and not MIME pgp (B<RFC\\%3156>)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1163
+#: doc/tin.1:1195
 #, no-wrap
 msgid "B<PageToggleRaw '^H'>"
 msgstr "B<PageToggleRaw '^H'>"
 
 #. type: Plain text
-#: doc/tin.1:1166
+#: doc/tin.1:1198
 msgid "Toggles the display mode (raw including all headers vs. cooked)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1170
+#: doc/tin.1:1202
 #, no-wrap
 msgid "B<PageToggleTabs '^T'>"
 msgstr "B<PageToggleTabs '^T'>"
 
 #. type: Plain text
-#: doc/tin.1:1173
+#: doc/tin.1:1205
 msgid "Toggle the TAB width between 4 and 8 characters."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1173
+#: doc/tin.1:1205
 #, no-wrap
 msgid "B<PageFollowupQuoteHeaders '^W'>"
 msgstr "B<PageFollowupQuoteHeaders '^W'>"
 
 #. type: Plain text
-#: doc/tin.1:1177
+#: doc/tin.1:1209
 msgid ""
 "Post a followup to the current article with a copy of the article with all "
 "headers included."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1177
+#: doc/tin.1:1209
 #, no-wrap
 msgid "B<PageToggleTex2iso '\"'>"
 msgstr "B<PageToggleTex2iso '\"'>"
 
 #. type: Plain text
-#: doc/tin.1:1181
+#: doc/tin.1:1213
 msgid ""
 "Toggle TeX to ISO decoding for current article. The default behavior is "
 "taken from the B<tex2iso_conv> variable in the tinrc file."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1181
+#: doc/tin.1:1213
 #, no-wrap
 msgid "B<PageToggleAllHeaders '*'>"
 msgstr "B<PageToggleAllHeaders '*'>"
 
 #. type: Plain text
-#: doc/tin.1:1184
+#: doc/tin.1:1216
 msgid ""
 "Toggles the display of all headers vs. headers in B<news_headers_to_display>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1184
+#: doc/tin.1:1216
+#, no-wrap
+msgid "B<PageArticleInfo '''>"
+msgstr "B<PageArticleInfo '''>"
+
+#. type: Plain text
+#: doc/tin.1:1219
+msgid "Detailed MIME information of the article."
+msgstr ""
+
+#. type: TP
+#: doc/tin.1:1219
 #, no-wrap
 msgid "B<PageToggleRot '%'>"
 msgstr "B<PageToggleRot '%'>"
 
 #. type: Plain text
-#: doc/tin.1:1187
+#: doc/tin.1:1222
 msgid "Toggle ROT-13 decoding for this article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1187
+#: doc/tin.1:1222
 #, no-wrap
 msgid "B<PageToggleUue '('>"
 msgstr "B<PageToggleUue '('>"
 
 #. type: Plain text
-#: doc/tin.1:1191
+#: doc/tin.1:1226
 msgid ""
 "Toggle the display of uuencoded sections. The default behavior is taken from "
 "the B<hide_uue> variable in the tinrc file."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1191
+#: doc/tin.1:1226
 #, no-wrap
 msgid "B<PageReveal ')'>"
 msgstr "B<PageReveal ')'>"
 
 #. type: Plain text
-#: doc/tin.1:1198
+#: doc/tin.1:1233
 msgid ""
 "The form feed character (^L) is often used to hide 'spoilers' that the "
 "reader may not initially wish to see when viewing an article. Any text after "
@@ -2763,23 +2819,23 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1207
+#: doc/tin.1:1242
 msgid "Forward search the text of this article."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1210
+#: doc/tin.1:1245
 msgid "Backward search the text of this article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1210
+#: doc/tin.1:1245
 #, no-wrap
 msgid "B<PageSkipIncludedText ':'>"
 msgstr "B<PageSkipIncludedText ':'>"
 
 #. type: Plain text
-#: doc/tin.1:1215
+#: doc/tin.1:1250
 msgid ""
 "Skip to the end of the next quoted text-block in this article. Quoted text "
 "is everything which matches B<quote_regex>, B<quote_regex2> or "
@@ -2787,40 +2843,40 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1215
+#: doc/tin.1:1250
 #, no-wrap
 msgid "B<PageTopThd 'E<lt>'>"
 msgstr "B<PageTopThd 'E<lt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1218
+#: doc/tin.1:1253
 msgid "Go to the first article in the current thread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1218
+#: doc/tin.1:1253
 #, no-wrap
 msgid "B<PageBotThd 'E<gt>'>"
 msgstr "B<PageBotThd 'E<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1221
+#: doc/tin.1:1256
 msgid "Go to the last article in the current thread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1221
+#: doc/tin.1:1256
 #, no-wrap
 msgid "B<PageToggleHighlight '_'>"
 msgstr "B<PageToggleHighlight '_'>"
 
 #. type: Plain text
-#: doc/tin.1:1224
+#: doc/tin.1:1259
 msgid "Toggle word highlighting on/off."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1238
+#: doc/tin.1:1273
 msgid ""
 "Auto select article(s) with a single key. The defaults used for selection "
 "are set based upon the following four tinrc config variables: "
@@ -2832,7 +2888,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1247
+#: doc/tin.1:1282
 msgid ""
 "Kill article(s) with a single key. The defaults used for killing are based "
 "upon the following four tinrc config variables: B<default_filter_kill_case>, "
@@ -2843,24 +2899,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1247
+#: doc/tin.1:1282
 #, no-wrap
 msgid "B<PageNextThd '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<PageNextThd '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1250
+#: doc/tin.1:1285
 msgid "Go to next base article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1250
+#: doc/tin.1:1285
 #, no-wrap
 msgid "B<PageNextUnread 'E<lt>TABE<gt>'>"
 msgstr "B<PageNextUnread 'E<lt>TABE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1255
+#: doc/tin.1:1290
 msgid ""
 "Go to next unread article. If the tinrc variable B<goto_next_unread> doesn't "
 "contain PageNextUnread, then this key will first page through the current "
@@ -2868,329 +2924,329 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1258
+#: doc/tin.1:1293
 msgid "Author forward search."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1261
+#: doc/tin.1:1296
 msgid "Author backward search."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1269
+#: doc/tin.1:1304
 msgid ""
 "Mark the current thread as read [after confirmation] and return to the "
 "previous menu. Move cursor to next item."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1273
+#: doc/tin.1:1308
 msgid ""
 "Mark the rest of the current thread as read [after confirmation] and enter "
 "the next thread with unread articles."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1273
+#: doc/tin.1:1308
 #, no-wrap
 msgid "B<PageCancel 'D'>"
 msgstr "B<PageCancel 'D'>"
 
 #. type: TP
-#: doc/tin.1:1278
+#: doc/tin.1:1313
 #, no-wrap
 msgid "B<PageEditArticle 'e'>"
 msgstr "B<PageEditArticle 'e'>"
 
 #. type: Plain text
-#: doc/tin.1:1281
+#: doc/tin.1:1316
 msgid ""
 "Edit the current article. This is restricted to mailgroups and saved news."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1284
+#: doc/tin.1:1319
 #, no-wrap
 msgid "B<PageFollowupQuote 'f'>"
 msgstr "B<PageFollowupQuote 'f'>"
 
 #. type: TP
-#: doc/tin.1:1287
+#: doc/tin.1:1322
 #, no-wrap
 msgid "B<PageFollowup 'F'>"
 msgstr "B<PageFollowup 'F'>"
 
 #. type: Plain text
-#: doc/tin.1:1291
+#: doc/tin.1:1326
 msgid ""
 "Post a followup to the current article without including a copy of the "
 "article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1291
+#: doc/tin.1:1326
 #, no-wrap
 msgid "B<PageFirstPage 'g'>"
 msgstr "B<PageFirstPage 'g'>"
 
 #. type: Plain text
-#: doc/tin.1:1294
+#: doc/tin.1:1329
 msgid "Go to the start of the article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1294
+#: doc/tin.1:1329
 #, no-wrap
 msgid "B<PageLastPage 'G'>"
 msgstr "B<PageLastPage 'G'>"
 
 #. type: Plain text
-#: doc/tin.1:1297
+#: doc/tin.1:1332
 msgid "Go to the end of the article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1306
+#: doc/tin.1:1341
 #, no-wrap
 msgid "B<PageKillThd 'K'>"
 msgstr "B<PageKillThd 'K'>"
 
 #. type: Plain text
-#: doc/tin.1:1309
+#: doc/tin.1:1344
 msgid "Mark rest of thread as read and move onto the next unread thread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1309
+#: doc/tin.1:1344
 #, no-wrap
 msgid "B<PageListThd 'l'>"
 msgstr "B<PageListThd 'l'>"
 
 #. type: Plain text
-#: doc/tin.1:1312
+#: doc/tin.1:1347
 msgid "Show the thread menu that the current article is a part of."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1315
+#: doc/tin.1:1351
 #, no-wrap
 msgid "B<PageMail 'm'>"
 msgstr "B<PageMail 'm'>"
 
 #. type: TP
-#: doc/tin.1:1324
+#: doc/tin.1:1360
 #, no-wrap
 msgid "B<PageNextArt 'n'>"
 msgstr "B<PageNextArt 'n'>"
 
 #. type: Plain text
-#: doc/tin.1:1327
+#: doc/tin.1:1363
 msgid "Go to the next article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1327
+#: doc/tin.1:1363
 #, no-wrap
 msgid "B<PageNextUnreadArt 'N'>"
 msgstr "B<PageNextUnreadArt 'N'>"
 
 #. type: TP
-#: doc/tin.1:1335
+#: doc/tin.1:1371
 #, no-wrap
 msgid "B<PagePrevArt 'p'>"
 msgstr "B<PagePrevArt 'p'>"
 
 #. type: Plain text
-#: doc/tin.1:1338
+#: doc/tin.1:1374
 msgid "Go to the previous article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1338
+#: doc/tin.1:1374
 #, no-wrap
 msgid "B<PagePrevUnreadArt 'P'>"
 msgstr "B<PagePrevUnreadArt 'P'>"
 
 #. type: Plain text
-#: doc/tin.1:1341
+#: doc/tin.1:1377
 msgid "Go to the previous unread article."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1344
+#: doc/tin.1:1380
 msgid "Return to the previous level."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1347
+#: doc/tin.1:1383
 #, no-wrap
 msgid "B<PageReplyQuote 'r'>"
 msgstr "B<PageReplyQuote 'r'>"
 
 #. type: Plain text
-#: doc/tin.1:1351
+#: doc/tin.1:1387
 msgid ""
 "Reply through mail to the author of the current article with a copy of the "
 "article included."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1351
+#: doc/tin.1:1387
 #, no-wrap
 msgid "B<PageReply 'R'>"
 msgstr "B<PageReply 'R'>"
 
 #. type: Plain text
-#: doc/tin.1:1355
+#: doc/tin.1:1391
 msgid ""
 "Reply through mail to the author of the current article without including "
 "the original article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1355
+#: doc/tin.1:1391
 #, no-wrap
 msgid "B<PageSave 's'>"
 msgstr "B<PageSave 's'>"
 
 #. type: TP
-#: doc/tin.1:1360
+#: doc/tin.1:1396
 #, no-wrap
 msgid "B<PageAutoSave 'S'>"
 msgstr "B<PageAutoSave 'S'>"
 
 #. type: TP
-#: doc/tin.1:1363
+#: doc/tin.1:1399
 #, no-wrap
 msgid "B<PageTag 't'>"
 msgstr "B<PageTag 't'>"
 
 #. type: TP
-#: doc/tin.1:1367
+#: doc/tin.1:1403
 #, no-wrap
 msgid "B<PageGroupSel 'T'>"
 msgstr "B<PageGroupSel 'T'>"
 
 #. type: Plain text
-#: doc/tin.1:1370
+#: doc/tin.1:1406
 msgid "Return to group selection level."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1370
+#: doc/tin.1:1406
 #, no-wrap
 msgid "B<PageGotoParent 'u'>"
 msgstr "B<PageGotoParent 'u'>"
 
 #. type: Plain text
-#: doc/tin.1:1373
+#: doc/tin.1:1409
 msgid "Go to parent article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1373
+#: doc/tin.1:1409
 #, no-wrap
 msgid "B<PageViewUrl 'U'>"
 msgstr "B<PageViewUrl 'U'>"
 
 #. type: Plain text
-#: doc/tin.1:1377
+#: doc/tin.1:1413
 msgid ""
-"Display a list of URLs in the current article. See the section \"URL LISTING"
-"\" for more information."
+"Display a list of URLs in the current article. See the section \"URL "
+"LISTING\" for more information."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1377
+#: doc/tin.1:1413
 #, no-wrap
 msgid "B<PageViewAttach 'V'>"
 msgstr "B<PageViewAttach 'V'>"
 
 #. type: Plain text
-#: doc/tin.1:1381
+#: doc/tin.1:1417
 msgid ""
 "Display a list of attachments of the current article. See the section "
 "\"ATTACHMENT LISTING\" for more information."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1388
+#: doc/tin.1:1424
 #, no-wrap
 msgid "B<PageRepost 'x'>"
 msgstr "B<PageRepost 'x'>"
 
 #. type: Plain text
-#: doc/tin.1:1397
+#: doc/tin.1:1433
 msgid "Mark article as unread."
 msgstr ""
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:1402
+#: doc/tin.1:1438
 msgid "Mark the current thread as unread."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:1402
+#: doc/tin.1:1438
 #, no-wrap
 msgid "URL LISTING"
 msgstr "LISTADO URL"
 
 #. type: Plain text
-#: doc/tin.1:1405
+#: doc/tin.1:1441
 msgid ""
 "B<PageViewUrl> ('B<U>') displays a list of URLs in the current article. "
 "Besides the common moving keys, the following commands are available:"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1406
+#: doc/tin.1:1442
 #, no-wrap
 msgid "B<UrlSelect '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<UrlSelect '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1410
+#: doc/tin.1:1446
 msgid ""
 "The current URL will be prompted and opened using the B<url_handler>. "
 "'B<E<lt>ESCE<gt>>' or no input will skip the URL."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1413 doc/tin.1:1513
+#: doc/tin.1:1449 doc/tin.1:1549
 msgid "URL forward search."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1416 doc/tin.1:1516
+#: doc/tin.1:1452 doc/tin.1:1552
 msgid "URL backward search."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1422 doc/tin.1:1476 doc/tin.1:1522
+#: doc/tin.1:1458 doc/tin.1:1512 doc/tin.1:1558
 msgid "Shell escape."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1425
+#: doc/tin.1:1461
 msgid "Toggle the display of the current URL in the last line."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1428 doc/tin.1:1483 doc/tin.1:1528
+#: doc/tin.1:1464 doc/tin.1:1519 doc/tin.1:1564
 msgid "Help screen of commands available."
 msgstr ""
 
 #.  -------------------------------------------------------------------
 #. type: SS
-#: doc/tin.1:1435
+#: doc/tin.1:1471
 #, no-wrap
 msgid "ATTACHMENT LISTING"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1438
+#: doc/tin.1:1474
 msgid ""
 "B<PageViewAttach> ('B<V>') displays a list of attachments of the current "
 "article. Besides the common moving keys, the following commands are "
@@ -3198,108 +3254,108 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1439
+#: doc/tin.1:1475
 #, no-wrap
 msgid "B<AttachPipe 'p'>"
 msgstr "B<AttachPipe 'p'>"
 
 #. type: Plain text
-#: doc/tin.1:1442
+#: doc/tin.1:1478
 msgid "Pipe attachment into command."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1442
+#: doc/tin.1:1478
 #, no-wrap
 msgid "B<AttachSave 's'>"
 msgstr "B<AttachSave 's'>"
 
 #. type: Plain text
-#: doc/tin.1:1445
+#: doc/tin.1:1481
 msgid "Save current attachment / tagged attachments to disk."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1445
+#: doc/tin.1:1481
 #, no-wrap
 msgid "B<AttachSelect '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<AttachSelect '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1448
+#: doc/tin.1:1484
 msgid "View attachment."
 msgstr "Vea adjunto."
 
 #. type: TP
-#: doc/tin.1:1448
+#: doc/tin.1:1484
 #, no-wrap
 msgid "B<AttachTag 't'>"
 msgstr "B<AttachTag 't'>"
 
 #. type: Plain text
-#: doc/tin.1:1451
+#: doc/tin.1:1487
 msgid "Tag one or more attachments for saving."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1451
+#: doc/tin.1:1487
 #, no-wrap
 msgid "B<AttachTagPattern '='>"
 msgstr "B<AttachTagPattern '='>"
 
 #. type: Plain text
-#: doc/tin.1:1455
+#: doc/tin.1:1491
 msgid ""
 "Prompts for a pattern to match. All attachments whose name/description or "
 "content type/transfer encoding match the pattern will be tagged."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1455
+#: doc/tin.1:1491
 #, no-wrap
 msgid "B<AttachToggleTagged '@'>"
 msgstr "B<AttachToggleTagged '@'>"
 
 #. type: Plain text
-#: doc/tin.1:1458
+#: doc/tin.1:1494
 msgid "Reverse tagging of all attachments."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1458
+#: doc/tin.1:1494
 #, no-wrap
 msgid "B<AttachUntag 'U'>"
 msgstr "B<AttachUntag 'U'>"
 
 #. type: Plain text
-#: doc/tin.1:1461
+#: doc/tin.1:1497
 msgid "Untag all tagged attachments."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1464
+#: doc/tin.1:1500
 msgid "Attachment forward search."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1467
+#: doc/tin.1:1503
 msgid "Attachment backward search."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1470
+#: doc/tin.1:1506
 #, no-wrap
 msgid "B<GlobalPipe '|'>"
 msgstr "B<GlobalPipe '|'>"
 
 #. type: Plain text
-#: doc/tin.1:1473
+#: doc/tin.1:1509
 msgid ""
 "Pipe attachment into command. Uses the raw attachment, no decoding is done."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1480
+#: doc/tin.1:1516
 msgid ""
 "Toggle the display of the name/description of the current attachment in the "
 "last line."
@@ -3307,13 +3363,13 @@ msgstr ""
 
 #.  -------------------------------------------------------------------
 #. type: SS
-#: doc/tin.1:1490
+#: doc/tin.1:1526
 #, no-wrap
 msgid "POSTING HISTORY LISTING"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1498
+#: doc/tin.1:1534
 msgid ""
 "B<DisplayPostHist> ('B<W>') displays a list of all previous posted articles "
 "stored in I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/posted>. The following "
@@ -3325,13 +3381,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1499
+#: doc/tin.1:1535
 #, no-wrap
 msgid "B<PostedArticlesSelect '^J' 'E<lt>CRE<gt>'>"
 msgstr "B<PostedArticlesSelect '^J' 'E<lt>CRE<gt>'>"
 
 #. type: Plain text
-#: doc/tin.1:1510
+#: doc/tin.1:1546
 msgid ""
 "The article with the current ''Message-ID:'' will be opened if available.  "
 "Note that this requires that the ''Message-ID:'' of the article was recorded "
@@ -3344,13 +3400,13 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1525
+#: doc/tin.1:1561
 msgid "Toggle the display of the current ''Message-ID:'' in the last line."
 msgstr ""
 
 #.  -------------------------------------------------------------------
 #. type: SS
-#: doc/tin.1:1535
+#: doc/tin.1:1571
 #, no-wrap
 msgid "GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES"
 msgstr ""
@@ -3359,7 +3415,7 @@ msgstr ""
 #.        - \fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fR is used
 #.          in the !TIN_DEFAULTS_DIR config case
 #. type: Plain text
-#: doc/tin.1:1547
+#: doc/tin.1:1583
 msgid ""
 "At startup, B<tin> reads in the configuration files (see also B<\\"
 "%tin>(5)).  They contain a list of variables that can be used to configure "
@@ -3370,7 +3426,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1555
+#: doc/tin.1:1591
 msgid ""
 "The variables are user configurable by editing I<${TIN_HOMEDIR:-\"$HOME\"}/."
 "tin/tinrc> directly. Most of them can also be set in the GLOBAL OPTIONS MENU "
@@ -3381,7 +3437,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1561
+#: doc/tin.1:1597
 msgid ""
 "In the options menu use the cursor keys in the usual way to move around. Use "
 "B<ConfigSelect> ('B<^J>' or 'B<E<lt>CRE<gt>>') to 'open' the option you wish "
@@ -3391,7 +3447,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1568
+#: doc/tin.1:1604
 msgid ""
 "As with the other menus, B<RedrawScr> ('B<^L>') will redraw the screen. You "
 "can use B<SearchSubjF> ('B</>'), B<SearchSubjB> ('B<?>') and B<SearchRepeat> "
@@ -3401,7 +3457,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1573
+#: doc/tin.1:1609
 msgid ""
 "The options menu provides access to the attributes menu for the current "
 "group by the B<ConfigToggleAttrib> ('B<E<lt>TABE<gt>>') command. Pressing "
@@ -3410,14 +3466,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1576
+#: doc/tin.1:1612
 msgid ""
 "The B<ConfigScopeMenu> ('B<S>') command brings up the scopes menu. For more "
 "information see section \"SCOPES MENU\"."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1580
+#: doc/tin.1:1616
 msgid ""
 "Here is a full list of all the available variables. The name in braces is "
 "the name of the corresponding setting in I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/"
@@ -3425,175 +3481,175 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1580
+#: doc/tin.1:1616
 #, no-wrap
 msgid "B<Abbreviate long newsgroup names (abbreviate_groupname)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1586 doc/tin.5:1300
+#: doc/tin.1:1622
 msgid ""
 "If ON abbreviate long newsgroup names at group selection level and article "
-"level (if necessary) like this: news.software.readers -E<gt> n.software."
-"readers -E<gt> n.s.readers -E<gt> n.s.r.  Default is OFF."
+"level (if necessary) like this: news.software.readers \\(-E<gt> n.software."
+"readers \\(-E<gt> n.s.readers \\(-E<gt> n.s.r.  Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1586
+#: doc/tin.1:1622
 #, no-wrap
 msgid "B<Add posted articles to filter (add_posted_to_filter)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1590 doc/tin.5:1304
+#: doc/tin.1:1626 doc/tin.5:1351
 msgid ""
 "If ON add posted articles which start a new thread to filter for "
 "highlighting follow-ups. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1590
+#: doc/tin.1:1626
 #, no-wrap
 msgid "B<Insert 'User-Agent:'-header (advertising)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1593 doc/tin.5:1307
+#: doc/tin.1:1629 doc/tin.5:1354
 msgid "Turn ON advertising in header (''User-Agent:''). Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1593
+#: doc/tin.1:1629
 #, no-wrap
 msgid "B<Skip multipart/alternative parts (alternative_handling)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1596 doc/tin.5:1310
+#: doc/tin.1:1632 doc/tin.5:1357
 msgid ""
 "If ON strip multipart/alternative messages automatically. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1596
+#: doc/tin.1:1632
 #, no-wrap
 msgid "B<Character to show deleted articles (art_marked_deleted)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1599 doc/tin.5:1313
+#: doc/tin.1:1635 doc/tin.5:1360
 msgid "The character used to show that an article was deleted. Default is 'D'."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1599
+#: doc/tin.1:1635
 #, no-wrap
 msgid "B<Character to show inrange articles (art_marked_inrange)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1602 doc/tin.5:1316
+#: doc/tin.1:1638 doc/tin.5:1363
 msgid ""
 "The character used to show that an article is in a range. Default is '#'."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1602
+#: doc/tin.1:1638
 #, no-wrap
 msgid "B<Character to show returning arts (art_marked_return)>"
 msgstr "B<CarÃ¡cter para mostrar artes devueltos (art_marked_return)>"
 
 #. type: Plain text
-#: doc/tin.1:1606 doc/tin.5:1320
+#: doc/tin.1:1642 doc/tin.5:1367
 msgid ""
 "The character used to show that an article will return as an unread article "
 "when the group is next entered. Default is '-'."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1606
+#: doc/tin.1:1642
 #, no-wrap
 msgid "B<Character to show selected articles (art_marked_selected)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1610 doc/tin.5:1324
+#: doc/tin.1:1646 doc/tin.5:1371
 msgid ""
 "The character used to show that an article/thread is auto-selected (hot).  "
 "Default is '*'."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1610
+#: doc/tin.1:1646
 #, no-wrap
 msgid "B<Character to show recent articles (art_marked_recent)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1614 doc/tin.5:1328
+#: doc/tin.1:1650 doc/tin.5:1375
 msgid ""
 "The character used to show that an article/thread is recent (not older than "
 "X days). See also B<recent_time>. Default is 'o'."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1614
+#: doc/tin.1:1650
 #, no-wrap
 msgid "B<Character to show unread articles (art_marked_unread)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1618 doc/tin.5:1332
+#: doc/tin.1:1654 doc/tin.5:1379
 msgid ""
 "The character used to show that an article has not been read.  Default is "
 "'+'."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1618
+#: doc/tin.1:1654
 #, no-wrap
 msgid "B<Character to show read articles (art_marked_read)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1621 doc/tin.5:1335
+#: doc/tin.1:1657 doc/tin.5:1382
 msgid "The character used to show that an article was read. Default is ' '."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1621
+#: doc/tin.1:1657
 #, no-wrap
 msgid "B<Character to show killed articles (art_marked_killed)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1625 doc/tin.5:1339
+#: doc/tin.1:1661 doc/tin.5:1386
 msgid ""
 "The character used to show that an article was killed. Default is 'K'.  "
 "B<kill_level> must be set accordingly."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1625
+#: doc/tin.1:1661
 #, no-wrap
 msgid "B<Character to show read selected arts (art_marked_read_selected)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1629 doc/tin.5:1343
+#: doc/tin.1:1665 doc/tin.5:1390
 msgid ""
 "The character used to show that an article was hot before it was read.  "
 "Default is ':'. B<kill_level> must be set accordingly."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1629 doc/tin.5:1343
+#: doc/tin.1:1665 doc/tin.5:1390
 #, no-wrap
 msgid "B<Ask before using MIME viewer (ask_for_metamail)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1634
+#: doc/tin.1:1670
 msgid ""
 "If ON B<tin> will ask before using a MIME viewer (B<metamail_prog>) to "
 "display MIME messages. This only occurs if a MIME viewer is set. Default is "
@@ -3601,63 +3657,63 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1634
+#: doc/tin.1:1670
 #, no-wrap
 msgid "B<Format string for the Attachment level (attachment_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1639
+#: doc/tin.1:1675
 msgid ""
 "Format string B<tin> uses for Attachment level representation. See the "
 "section \"CUSTOMIZING THE SCREEN FORMAT\".  Default is \"%t%s%e%c%d\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1639
+#: doc/tin.1:1675
 #, no-wrap
 msgid "B<Send you a cc and/or bcc automatically (auto_cc_bcc)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1643 doc/tin.5:1360
+#: doc/tin.1:1679 doc/tin.5:1407
 msgid ""
 "Automatically put your name in the ''Cc:'' and/or ''Bcc:'' field when "
 "mailing an article. Default is No."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1643
+#: doc/tin.1:1679
 #, no-wrap
 msgid "B<List thread using right arrow key (auto_list_thread)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1647 doc/tin.5:1364
+#: doc/tin.1:1683 doc/tin.5:1411
 msgid ""
 "If ON automatically list thread when entering it using right arrow key.  "
 "Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1647
+#: doc/tin.1:1683
 #, no-wrap
 msgid "B<Reconnect to server automatically (auto_reconnect)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1650 doc/tin.1:2684
+#: doc/tin.1:1686 doc/tin.1:2736
 msgid "Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1650
+#: doc/tin.1:1686
 #, no-wrap
 msgid "B<Save articles in batch mode (batch_save)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1655 doc/tin.5:1372
+#: doc/tin.1:1691 doc/tin.5:1419
 msgid ""
 "If set ON articles/threads will be saved in batch mode when save \\&''B<-"
 "S>'' or mail ''B<-M>, B<-N>'' is specified on the command line. Default is "
@@ -3665,13 +3721,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1655
+#: doc/tin.1:1691
 #, no-wrap
 msgid "B<Show mini menu & posting etiquette (beginner_level)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1660 doc/tin.5:1377
+#: doc/tin.1:1696 doc/tin.5:1424
 msgid ""
 "If set ON a mini menu of the most useful commands will be displayed at the "
 "bottom of the screen for each level. Also a short posting etiquette will be "
@@ -3679,13 +3735,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1660
+#: doc/tin.1:1696
 #, no-wrap
 msgid "B<Cache NNTP overview files locally (cache_overview_files)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1665
+#: doc/tin.1:1701
 msgid ""
 "If ON, create local copies of NNTP overview files. This can be used to "
 "considerably speed up accessing large groups when using a slow connection.  "
@@ -3693,361 +3749,376 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1665
+#: doc/tin.1:1701
+#, no-wrap
+msgid "B<Compress locally cached NNTP overview files (compress_overview_files)>"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.1:1706 doc/tin.5:1434
+msgid ""
+"If ON, locally cached NNTP overview files (B<cache_overview_files>) are "
+"saved in compressed form (B<RFC\\%1952>). Useful to reduce local disk space "
+"used. Default is OFF."
+msgstr ""
+
+#. type: TP
+#: doc/tin.1:1706
 #, no-wrap
 msgid "B<Hash algorithm for cancel-locks (cancel_lock_algo)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1671 doc/tin.5:1388
+#: doc/tin.1:1713
 msgid ""
 "Use this hash algorithm for cancel-locks. Only available when built with "
 "cancel-lock support. none disables the generation of cancel-locks. Valid "
-"values are none, sha1, sha256 and sha512.  Default is sha1."
+"values are none, sha1, sha256 and sha512.  Default is sha1. See also "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.cancelsecret> in B<\\%tin>(5)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1671
+#: doc/tin.1:1713
 #, no-wrap
 msgid "B<Catchup read groups when quitting (catchup_read_groups)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1677 doc/tin.5:1392
+#: doc/tin.1:1719 doc/tin.5:1444
 msgid ""
 "If set ON the user is asked when quitting if all groups read during the "
 "current session should be marked read. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1677
+#: doc/tin.1:1719
 #, fuzzy, no-wrap
 msgid "B<Standard background color (col_back)>"
 msgstr "B<Color de fondo estÃ¡ndar (col_back)>"
 
 #. type: Plain text
-#: doc/tin.1:1680 doc/tin.5:1395
+#: doc/tin.1:1722 doc/tin.5:1447
 #, fuzzy
 msgid "Standard background color"
 msgstr "Color de fondo estÃ¡ndar"
 
 #. type: TP
-#: doc/tin.1:1680
+#: doc/tin.1:1722
 #, no-wrap
 msgid "B<Color of quoted text from external sources (col_extquote)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1683 doc/tin.5:1398
+#: doc/tin.1:1725 doc/tin.5:1450
 msgid "Color of quoted text from external sources"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1683
+#: doc/tin.1:1725
 #, no-wrap
 msgid "B<Color of sender (From:) (col_from)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1686 doc/tin.5:1401
+#: doc/tin.1:1728 doc/tin.5:1453
 msgid "Color of sender (From:)"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1686
+#: doc/tin.1:1728
 #, no-wrap
 msgid "B<Color of article header lines (col_head)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1689 doc/tin.5:1404
+#: doc/tin.1:1731 doc/tin.5:1456
 msgid "Color of header-lines"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1689
+#: doc/tin.1:1731
 #, no-wrap
 msgid "B<Color of help text (col_help)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1692 doc/tin.5:1407
+#: doc/tin.1:1734 doc/tin.5:1459
 msgid "Color of help pages"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1692
+#: doc/tin.1:1734
 #, no-wrap
 msgid "B<Color for inverse text (background) (col_invers_bg)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1695 doc/tin.5:1410
+#: doc/tin.1:1737 doc/tin.5:1462
 msgid "Color of background for inverse text"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1695
+#: doc/tin.1:1737
 #, no-wrap
 msgid "B<Color for inverse text (foreground) (col_invers_fg)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1698 doc/tin.5:1413
+#: doc/tin.1:1740 doc/tin.5:1465
 msgid "Color of foreground for inverse text"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1698
+#: doc/tin.1:1740
 #, no-wrap
 msgid "B<Color of status messages (col_message)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1701 doc/tin.5:1432
+#: doc/tin.1:1743 doc/tin.5:1484
 msgid "Color of status messages in last line"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1701
+#: doc/tin.1:1743
 #, no-wrap
 msgid "B<Color of highlighting with _dash_ (col_markdash)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1705 doc/tin.5:1417
+#: doc/tin.1:1747 doc/tin.5:1469
 msgid ""
 "Color of words emphasized like _this_. See also B<word_h_display_marks> and "
 "B<word_highlight>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1705
+#: doc/tin.1:1747
 #, no-wrap
 msgid "B<Color of highlighting with /slash/ (col_markslash)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1709 doc/tin.5:1421
+#: doc/tin.1:1751 doc/tin.5:1473
 msgid ""
 "Color of words emphasized like /this/. See also B<word_h_display_marks> and "
 "B<word_highlight>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1709
+#: doc/tin.1:1751
 #, no-wrap
 msgid "B<Color of highlighting with *stars* (col_markstar)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1713 doc/tin.5:1425
+#: doc/tin.1:1755 doc/tin.5:1477
 msgid ""
 "Color of words emphasized like *this*. See also B<word_h_display_marks> and "
 "B<word_highlight>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1713
+#: doc/tin.1:1755
 #, no-wrap
 msgid "B<Color of highlighting with -stroke- (col_markstroke)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1717 doc/tin.5:1429
+#: doc/tin.1:1759 doc/tin.5:1481
 msgid ""
 "Color of words emphasized like -this-. See also B<word_h_display_marks> and "
 "B<word_highlight>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1717
+#: doc/tin.1:1759
 #, no-wrap
 msgid "B<Color of mini help menu (col_minihelp)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1720 doc/tin.5:1435
+#: doc/tin.1:1762 doc/tin.5:1487
 msgid "Color of mini help menu"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1720
+#: doc/tin.1:1762
 #, no-wrap
 msgid "B<Color of actual news header fields (col_newsheaders)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1723 doc/tin.5:1438
+#: doc/tin.1:1765 doc/tin.5:1490
 msgid "Color of actual news header fields"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1723
+#: doc/tin.1:1765
 #, fuzzy, no-wrap
 msgid "B<Standard foreground color (col_normal)>"
 msgstr "B<Color de primer plano estÃ¡ndar (col_normal)>"
 
 #. type: Plain text
-#: doc/tin.1:1726 doc/tin.5:1441
+#: doc/tin.1:1768 doc/tin.5:1493
 #, fuzzy
 msgid "Standard foreground color"
 msgstr "Color de primer plano estÃ¡ndar"
 
 #. type: TP
-#: doc/tin.1:1726
+#: doc/tin.1:1768
 #, no-wrap
 msgid "B<Color of quoted lines (col_quote)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1729 doc/tin.5:1444
+#: doc/tin.1:1771 doc/tin.5:1496
 msgid "Color of quoted lines"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1729
+#: doc/tin.1:1771
 #, no-wrap
 msgid "B<Color of twice quoted line (col_quote2)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1732 doc/tin.5:1447
+#: doc/tin.1:1774 doc/tin.5:1499
 msgid "Color of twice quoted lines"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1732
+#: doc/tin.1:1774
 #, no-wrap
 msgid "B<Color of =E<gt>3 times quoted line (col_quote3)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1735 doc/tin.5:1450
+#: doc/tin.1:1777 doc/tin.5:1502
 msgid "Color of E<gt>=3 times quoted lines"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1735
+#: doc/tin.1:1777
 #, no-wrap
 msgid "B<Color of response counter (col_response)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1739 doc/tin.5:1454
+#: doc/tin.1:1781 doc/tin.5:1506
 msgid ""
 "Color of response counter. This is the text that says \"Response x of y\" in "
 "the article viewer."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1739
+#: doc/tin.1:1781
 #, no-wrap
 msgid "B<Color of signatures (col_signature)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1742 doc/tin.5:1457
+#: doc/tin.1:1784 doc/tin.5:1509
 msgid "Color of signatures"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1742
+#: doc/tin.1:1784
 #, no-wrap
 msgid "B<Color of negative score (col_score_neg)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1745 doc/tin.5:1460
+#: doc/tin.1:1787 doc/tin.5:1512
 msgid "Color of negative score"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1745
+#: doc/tin.1:1787
 #, no-wrap
 msgid "B<Color of positive score (col_score_pos)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1748 doc/tin.5:1463
+#: doc/tin.1:1790 doc/tin.5:1515
 msgid "Color of positive score"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1748
+#: doc/tin.1:1790
 #, no-wrap
 msgid "B<Color of urls highlight (col_urls)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1751 doc/tin.5:1466
+#: doc/tin.1:1793 doc/tin.5:1518
 msgid "Color of urls highlight"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1751
+#: doc/tin.1:1793
 #, no-wrap
 msgid "B<Color of verbatim blocks (col_verbatim)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1754 doc/tin.5:1469
+#: doc/tin.1:1796 doc/tin.5:1521
 msgid "Color of verbatim blocks"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1754
+#: doc/tin.1:1796
 #, no-wrap
 msgid "B<Color of article subject lines (col_subject)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1757 doc/tin.5:1472
+#: doc/tin.1:1799 doc/tin.5:1524
 msgid "Color of article subject"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1757
+#: doc/tin.1:1799
 #, no-wrap
 msgid "B<Color of text lines (col_text)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1760 doc/tin.5:1475
+#: doc/tin.1:1802 doc/tin.5:1527
 msgid "Color of text-lines"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1760
+#: doc/tin.1:1802
 #, no-wrap
 msgid "B<Color of help/mail sign (col_title)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1763 doc/tin.5:1478
+#: doc/tin.1:1805 doc/tin.5:1530
 msgid "Color of help/mail sign"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1763
+#: doc/tin.1:1805
 #, no-wrap
 msgid "B<Which actions require confirmation (confirm_choice)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1766
+#: doc/tin.1:1808
 msgid "Ask for manual confirmation to protect the user."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1767 doc/tin.1:1773 doc/tin.1:1777
+#: doc/tin.1:1809 doc/tin.1:1815 doc/tin.1:1819
 #, no-wrap
 msgid "\\(bu"
 msgstr ""
 
 #.  TODO: check if all affected commands are marked [after confirmation]
 #. type: Plain text
-#: doc/tin.1:1773
+#: doc/tin.1:1815
 msgid ""
 "B<commands> Ask for confirmation before executing certain dangerous commands "
 "(e.g., B<Catchup> ('B<c>')). Commands that this affects are marked in this "
@@ -4055,21 +4126,21 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1777
+#: doc/tin.1:1819
 msgid ""
 "B<quit> You'll be asked to confirm that you wish to exit B<tin> when you use "
 "the B<Quit> ('B<q>') command."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1781
+#: doc/tin.1:1823
 msgid ""
 "B<select> Ask for confirmation before marking all not selected (with "
 "B<GroupMarkUnselArtRead> ('B<X>') command) articles as read."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1782
+#: doc/tin.1:1824
 #, no-wrap
 msgid "B<Format string for display of dates (date_format)>"
 msgstr ""
@@ -4078,7 +4149,7 @@ msgstr ""
 #.  most of these default_* settings are not available from the menu
 #.  as they are intended for internal use only.
 #. type: Plain text
-#: doc/tin.1:1794
+#: doc/tin.1:1836
 msgid ""
 "Format string B<tin> uses for date representation. A description of the "
 "different format options can be found at B<\\%strftime>(3).  B<tin> uses B<\\"
@@ -4087,398 +4158,411 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1794
+#: doc/tin.1:1836
 #, no-wrap
 msgid "B<(default_art_search)>"
 msgstr "B<(default_art_search)>"
 
 #. type: TP
-#: doc/tin.1:1796
+#: doc/tin.1:1838
 #, no-wrap
 msgid "B<(default_author_search)>"
 msgstr "B<(default_author_search)>"
 
 #. type: TP
-#: doc/tin.1:1798
+#: doc/tin.1:1840
 #, no-wrap
 msgid "B<(default_config_search)>"
 msgstr "B<(default_config_search)>"
 
 #. type: Plain text
-#: doc/tin.1:1801 doc/tin.5:1517
+#: doc/tin.1:1843 doc/tin.5:1569
 msgid "The last article/author/config option that was searched for."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1801
+#: doc/tin.1:1843
 #, no-wrap
 msgid "B<(default_filter_days)>"
 msgstr "B<(default_filter_days)>"
 
 #. type: Plain text
-#: doc/tin.1:1804 doc/tin.5:1520
+#: doc/tin.1:1846 doc/tin.5:1572
 msgid "Default is 28."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1804
+#: doc/tin.1:1846
 #, no-wrap
 msgid "B<(default_filter_kill_case)>"
 msgstr "B<(default_filter_kill_case)>"
 
 #. type: Plain text
-#: doc/tin.1:1808 doc/tin.5:1524
+#: doc/tin.1:1850 doc/tin.5:1576
 msgid ""
 "Default for quick (1 key) kill filter case.  ON = filter case sensitive, OFF "
 "= ignore case. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1808
+#: doc/tin.1:1850
 #, no-wrap
 msgid "B<(default_filter_kill_expire)>"
 msgstr "B<(default_filter_kill_expire)>"
 
 #. type: Plain text
-#: doc/tin.1:1813 doc/tin.5:1529
+#: doc/tin.1:1855 doc/tin.5:1581
 msgid ""
 "Default for quick (1 key) kill filter expire.  ON = limit to "
 "B<default_filter_days>, OFF = don't ever expire. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1813
+#: doc/tin.1:1855
 #, no-wrap
 msgid "B<(default_filter_kill_global)>"
 msgstr "B<(default_filter_kill_global)>"
 
 #. type: Plain text
-#: doc/tin.1:1817 doc/tin.5:1533
+#: doc/tin.1:1859 doc/tin.5:1585
 msgid ""
 "Default for quick (1 key) kill filter global.  ON=apply to all groups, "
 "OFF=apply to current group. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1817
+#: doc/tin.1:1859
 #, no-wrap
 msgid "B<(default_filter_kill_header)>"
 msgstr "B<(default_filter_kill_header)>"
 
 #. type: Plain text
-#: doc/tin.1:1820 doc/tin.5:1536
+#: doc/tin.1:1862 doc/tin.5:1588
 msgid "Default for quick (1 key) kill filter header."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1821 doc/tin.1:1855 doc/tin.1:1998 doc/tin.1:2199 doc/tin.1:2259
-#: doc/tin.1:2378 doc/tin.1:2403 doc/tin.1:2419 doc/tin.1:2471 doc/tin.1:2501
-#: doc/tin.1:2579 doc/tin.1:2611 doc/tin.1:2636 doc/tin.1:2742 doc/tin.5:1724
-#: doc/tin.5:1919 doc/tin.5:1983 doc/tin.5:2133 doc/tin.5:2148 doc/tin.5:2181
-#: doc/tin.5:2231 doc/tin.5:2260 doc/tin.5:2331 doc/tin.5:2380 doc/tin.5:2407
-#: doc/tin.5:2522
+#: doc/tin.1:1863 doc/tin.1:1897 doc/tin.1:2044 doc/tin.1:2250 doc/tin.1:2310
+#: doc/tin.1:2430 doc/tin.1:2455 doc/tin.1:2471 doc/tin.1:2523 doc/tin.1:2553
+#: doc/tin.1:2631 doc/tin.1:2663 doc/tin.1:2688 doc/tin.1:2794 doc/tin.5:1780
+#: doc/tin.5:1980 doc/tin.5:2044 doc/tin.5:2096 doc/tin.5:2197 doc/tin.5:2212
+#: doc/tin.5:2245 doc/tin.5:2298 doc/tin.5:2327 doc/tin.5:2398 doc/tin.5:2447
+#: doc/tin.5:2474 doc/tin.5:2589
 #, no-wrap
 msgid "0"
 msgstr "0"
 
 #. type: Plain text
-#: doc/tin.1:1823 doc/tin.1:1857
+#: doc/tin.1:1865 doc/tin.1:1899
 msgid "\\%''Subject:'' (case sensitive)"
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1823 doc/tin.1:1857 doc/tin.1:2004 doc/tin.1:2201 doc/tin.1:2261
-#: doc/tin.1:2380 doc/tin.1:2407 doc/tin.1:2421 doc/tin.1:2473 doc/tin.1:2503
-#: doc/tin.1:2581 doc/tin.1:2613 doc/tin.1:2638 doc/tin.1:2744 doc/tin.5:1731
-#: doc/tin.5:1921 doc/tin.5:1985 doc/tin.5:2034 doc/tin.5:2137 doc/tin.5:2150
-#: doc/tin.5:2183 doc/tin.5:2233 doc/tin.5:2262 doc/tin.5:2333 doc/tin.5:2382
-#: doc/tin.5:2409 doc/tin.5:2524
+#: doc/tin.1:1865 doc/tin.1:1899 doc/tin.1:2050 doc/tin.1:2252 doc/tin.1:2312
+#: doc/tin.1:2432 doc/tin.1:2459 doc/tin.1:2473 doc/tin.1:2525 doc/tin.1:2555
+#: doc/tin.1:2633 doc/tin.1:2665 doc/tin.1:2690 doc/tin.1:2796 doc/tin.5:1787
+#: doc/tin.5:1982 doc/tin.5:2046 doc/tin.5:2098 doc/tin.5:2201 doc/tin.5:2214
+#: doc/tin.5:2247 doc/tin.5:2300 doc/tin.5:2329 doc/tin.5:2400 doc/tin.5:2449
+#: doc/tin.5:2476 doc/tin.5:2591
 #, no-wrap
 msgid "1"
 msgstr "1"
 
 #. type: Plain text
-#: doc/tin.1:1825 doc/tin.1:1859
+#: doc/tin.1:1867 doc/tin.1:1901
 msgid "\\%''Subject:'' (ignore case)"
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1825 doc/tin.1:1859 doc/tin.1:2009 doc/tin.1:2203 doc/tin.1:2265
-#: doc/tin.1:2383 doc/tin.1:2423 doc/tin.1:2475 doc/tin.1:2506 doc/tin.1:2583
-#: doc/tin.1:2615 doc/tin.1:2640 doc/tin.1:2746 doc/tin.5:1736 doc/tin.5:1923
-#: doc/tin.5:1989 doc/tin.5:2038 doc/tin.5:2153 doc/tin.5:2185 doc/tin.5:2235
-#: doc/tin.5:2265 doc/tin.5:2335 doc/tin.5:2384 doc/tin.5:2411 doc/tin.5:2526
+#: doc/tin.1:1867 doc/tin.1:1901 doc/tin.1:2055 doc/tin.1:2254 doc/tin.1:2316
+#: doc/tin.1:2435 doc/tin.1:2475 doc/tin.1:2527 doc/tin.1:2558 doc/tin.1:2635
+#: doc/tin.1:2667 doc/tin.1:2692 doc/tin.1:2798 doc/tin.5:1792 doc/tin.5:1984
+#: doc/tin.5:2050 doc/tin.5:2102 doc/tin.5:2217 doc/tin.5:2249 doc/tin.5:2302
+#: doc/tin.5:2332 doc/tin.5:2402 doc/tin.5:2451 doc/tin.5:2478 doc/tin.5:2593
 #, no-wrap
 msgid "2"
 msgstr "2"
 
 #. type: Plain text
-#: doc/tin.1:1827 doc/tin.1:1861
+#: doc/tin.1:1869 doc/tin.1:1903
 msgid "\\%''From:'' (case sensitive)"
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1827 doc/tin.1:1861 doc/tin.1:2205 doc/tin.1:2386 doc/tin.1:2426
-#: doc/tin.1:2477 doc/tin.1:2508 doc/tin.1:2585 doc/tin.1:2642 doc/tin.5:1925
-#: doc/tin.5:2156 doc/tin.5:2188 doc/tin.5:2237 doc/tin.5:2267 doc/tin.5:2337
-#: doc/tin.5:2413
+#: doc/tin.1:1869 doc/tin.1:1903 doc/tin.1:2256 doc/tin.1:2438 doc/tin.1:2478
+#: doc/tin.1:2529 doc/tin.1:2560 doc/tin.1:2637 doc/tin.1:2694 doc/tin.5:1986
+#: doc/tin.5:2220 doc/tin.5:2252 doc/tin.5:2304 doc/tin.5:2334 doc/tin.5:2404
+#: doc/tin.5:2480
 #, no-wrap
 msgid "3"
 msgstr "3"
 
 #. type: Plain text
-#: doc/tin.1:1829 doc/tin.1:1863
+#: doc/tin.1:1871 doc/tin.1:1905
 msgid "\\%''From:'' (ignore case)"
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1829 doc/tin.1:1863 doc/tin.1:2207 doc/tin.1:2479 doc/tin.1:2510
-#: doc/tin.1:2588 doc/tin.1:2644 doc/tin.5:1927 doc/tin.5:2044 doc/tin.5:2239
-#: doc/tin.5:2269 doc/tin.5:2339 doc/tin.5:2415
+#: doc/tin.1:1871 doc/tin.1:1905 doc/tin.1:2258 doc/tin.1:2531 doc/tin.1:2562
+#: doc/tin.1:2640 doc/tin.1:2696 doc/tin.5:1988 doc/tin.5:2108 doc/tin.5:2306
+#: doc/tin.5:2336 doc/tin.5:2406 doc/tin.5:2482
 #, no-wrap
 msgid "4"
 msgstr "4"
 
 #. type: Plain text
-#: doc/tin.1:1831 doc/tin.1:1865
+#: doc/tin.1:1873 doc/tin.1:1907
 msgid "\\%''Message-ID:'' & full ''References:'' line"
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1831 doc/tin.1:1865 doc/tin.1:2209 doc/tin.1:2481 doc/tin.1:2590
-#: doc/tin.1:2647 doc/tin.5:1929 doc/tin.5:2241 doc/tin.5:2341 doc/tin.5:2418
+#: doc/tin.1:1873 doc/tin.1:1907 doc/tin.1:2260 doc/tin.1:2533 doc/tin.1:2642
+#: doc/tin.1:2699 doc/tin.5:1990 doc/tin.5:2308 doc/tin.5:2408 doc/tin.5:2485
 #, no-wrap
 msgid "5"
 msgstr "5"
 
 #. type: Plain text
-#: doc/tin.1:1833 doc/tin.1:1867
+#: doc/tin.1:1875 doc/tin.1:1909
 msgid "\\%''Message-ID:'' & last ''References:'' entry only"
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1833 doc/tin.1:1867 doc/tin.1:2483 doc/tin.1:2649 doc/tin.5:2243
-#: doc/tin.5:2420
+#: doc/tin.1:1875 doc/tin.1:1909 doc/tin.1:2535 doc/tin.1:2701 doc/tin.5:2310
+#: doc/tin.5:2487
 #, no-wrap
 msgid "6"
 msgstr "6"
 
 #. type: Plain text
-#: doc/tin.1:1835 doc/tin.1:1869
+#: doc/tin.1:1877 doc/tin.1:1911
 msgid "\\%''Message-ID:'' entry only"
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1835 doc/tin.1:1869 doc/tin.1:2486 doc/tin.1:2651 doc/tin.5:2246
-#: doc/tin.5:2422
+#: doc/tin.1:1877 doc/tin.1:1911 doc/tin.1:2538 doc/tin.1:2703 doc/tin.5:2313
+#: doc/tin.5:2489
 #, no-wrap
 msgid "7"
 msgstr "7"
 
 #. type: Plain text
-#: doc/tin.1:1837 doc/tin.1:1871
+#: doc/tin.1:1879 doc/tin.1:1913
 msgid "\\%''Lines:''"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1838
+#: doc/tin.1:1880
 #, no-wrap
 msgid "B<(default_filter_select_case)>"
 msgstr "B<(default_filter_select_case)>"
 
 #. type: Plain text
-#: doc/tin.1:1842 doc/tin.5:1553
+#: doc/tin.1:1884 doc/tin.5:1605
 msgid ""
 "Default for quick (1 key) auto-selection filter case. ON=filter case "
 "sensitive, OFF=ignore case. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1842
+#: doc/tin.1:1884
 #, no-wrap
 msgid "B<(default_filter_select_expire)>"
 msgstr "B<(default_filter_select_expire)>"
 
 #. type: Plain text
-#: doc/tin.1:1847 doc/tin.5:1558
+#: doc/tin.1:1889 doc/tin.5:1610
 msgid ""
 "Default for quick (1 key) auto-selection filter expire.  ON = limit to "
 "B<default_filter_days>, OFF = don't ever expire.  Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1847
+#: doc/tin.1:1889
 #, no-wrap
 msgid "B<(default_filter_select_global)>"
 msgstr "B<(default_filter_select_global)>"
 
 #. type: Plain text
-#: doc/tin.1:1851 doc/tin.5:1562
+#: doc/tin.1:1893 doc/tin.5:1614
 msgid ""
 "Default for quick (1 key) auto-selection filter global.  ON=apply to all "
 "groups, OFF=apply to current group. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1851
+#: doc/tin.1:1893
 #, no-wrap
 msgid "B<(default_filter_select_header)>"
 msgstr "B<(default_filter_select_header)>"
 
 #. type: Plain text
-#: doc/tin.1:1854 doc/tin.5:1565
+#: doc/tin.1:1896 doc/tin.5:1617
 msgid "Default for quick (1 key) auto-selection filter header."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1872
+#: doc/tin.1:1914
 #, no-wrap
 msgid "B<(default_goto_group)>"
 msgstr "B<(default_goto_group)>"
 
 #. type: TP
-#: doc/tin.1:1874
+#: doc/tin.1:1916
 #, no-wrap
 msgid "B<(default_group_search)>"
 msgstr "B<(default_group_search)>"
 
 #. type: TP
-#: doc/tin.1:1876
+#: doc/tin.1:1918
 #, no-wrap
 msgid "B<(default_mail_address)>"
 msgstr "B<(default_mail_address)>"
 
 #. type: TP
-#: doc/tin.1:1878
+#: doc/tin.1:1920
 #, no-wrap
 msgid "B<(default_move_group)>"
 msgstr "B<(default_move_group)>"
 
 #. type: TP
-#: doc/tin.1:1880
+#: doc/tin.1:1922
 #, no-wrap
 msgid "B<(default_pattern)>"
 msgstr "B<(default_pattern)>"
 
 #. type: TP
-#: doc/tin.1:1882
+#: doc/tin.1:1924
 #, no-wrap
 msgid "B<(default_pipe_command)>"
 msgstr "B<(default_pipe_command)>"
 
 #. type: TP
-#: doc/tin.1:1884
+#: doc/tin.1:1926
 #, no-wrap
 msgid "B<(default_post_newsgroups)>"
 msgstr "B<(default_post_newsgroups)>"
 
 #. type: TP
-#: doc/tin.1:1886
+#: doc/tin.1:1928
 #, no-wrap
 msgid "B<(default_post_subject)>"
 msgstr "B<(default_post_subject)>"
 
 #. type: TP
-#: doc/tin.1:1888
+#: doc/tin.1:1930
 #, no-wrap
 msgid "B<(default_range_group)>"
 msgstr "B<(default_range_group)>"
 
 #. type: TP
-#: doc/tin.1:1890
+#: doc/tin.1:1932
 #, no-wrap
 msgid "B<(default_range_select)>"
 msgstr "B<(default_range_select)>"
 
 #. type: TP
-#: doc/tin.1:1892
+#: doc/tin.1:1934
 #, no-wrap
 msgid "B<(default_range_thread)>"
 msgstr "B<(default_range_thread)>"
 
 #. type: TP
-#: doc/tin.1:1894
+#: doc/tin.1:1936
 #, no-wrap
 msgid "B<(default_repost_group)>"
 msgstr "B<(default_repost_group)>"
 
 #. type: TP
-#: doc/tin.1:1896
+#: doc/tin.1:1938
 #, no-wrap
 msgid "B<(default_save_file)>"
 msgstr "B<(default_save_file)>"
 
 #. type: TP
-#: doc/tin.1:1898
+#: doc/tin.1:1940
 #, no-wrap
 msgid "B<(default_save_mode)>"
 msgstr "B<(default_save_mode)>"
 
 #. type: TP
-#: doc/tin.1:1900
+#: doc/tin.1:1942
 #, no-wrap
 msgid "B<(default_select_pattern)>"
 msgstr "B<(default_select_pattern)>"
 
 #. type: TP
-#: doc/tin.1:1902
+#: doc/tin.1:1944
 #, no-wrap
 msgid "B<(default_shell_command)>"
 msgstr "B<(default_shell_command)>"
 
 #. type: TP
-#: doc/tin.1:1904
+#: doc/tin.1:1946
 #, no-wrap
 msgid "B<(default_subject_search)>"
 msgstr "B<(default_subject_search)>"
 
 #. type: TP
-#: doc/tin.1:1906
+#: doc/tin.1:1948
 #, no-wrap
-msgid "B<Draw -E<gt> instead of highlighted bar (draw_arrow)>"
+msgid "B<Don't break words when wrapping (dont_break_words)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1910 doc/tin.5:1616
+#: doc/tin.1:1952 doc/tin.5:1668
 msgid ""
-"Allows groups/articles to be selected by an arrow '-E<gt>' if set ON or by a "
-"highlighted bar if set OFF. Default is OFF."
+"Do not break long lines inside a word. This applies to the body except for "
+"verbatim blocks. See also B<wrap_column>. Default is OFF."
+msgstr ""
+
+#. type: TP
+#: doc/tin.1:1952
+#, no-wrap
+msgid "B<Draw \\(-E<gt> instead of highlighted bar (draw_arrow)>"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.1:1956
+msgid ""
+"Allows groups/articles to be selected by an arrow '\\(-E<gt>' if set ON or "
+"by a highlighted bar if set OFF. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1910
+#: doc/tin.1:1956
 #, no-wrap
 msgid "B<Invocation of your editor (editor_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1916
+#: doc/tin.1:1962
 msgid ""
 "The format string used to create the editor start command with parameters.  "
 "Default is '%E +%N %F' with %E=Editor, %N=Linenumber and %F=Filename (e.g., /"
-"bin/vi +7 .article). See also $B<VISUAL> and $B<EDITOR> under \"ENVIRONMENT"
-"\"."
+"bin/vi +7 .article). See also $B<VISUAL> and $B<EDITOR> under "
+"\"ENVIRONMENT\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1916
+#: doc/tin.1:1962
 #, no-wrap
 msgid "B<Detection of external quotes (extquote_handling)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1919 doc/tin.5:1626
+#: doc/tin.1:1965 doc/tin.5:1682
 msgid "If ON quotes from external sources will be detected. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1919
+#: doc/tin.1:1965
 #, no-wrap
 msgid "B<Regex used to show external quotes (extquote_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1924
+#: doc/tin.1:1970
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_extquote>. If B<extquote_regex> is blank, "
@@ -4486,26 +4570,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1924
+#: doc/tin.1:1970
 #, no-wrap
 msgid "B<Force redraw after certain commands (force_screen_redraw)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1928 doc/tin.5:1637
+#: doc/tin.1:1974 doc/tin.5:1693
 msgid ""
 "Specifies whether a screen redraw should always be done after certain "
 "external commands. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1928
+#: doc/tin.1:1974
 #, no-wrap
 msgid "B<Number of articles to get (getart_limit)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1935
+#: doc/tin.1:1981
 msgid ""
 "If B<getart_limit> is E<gt> 0 not more than the last B<getart_limit> "
 "articles/group are fetched from the server. If B<getart_limit> is E<lt> 0 "
@@ -4514,25 +4598,25 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1935
+#: doc/tin.1:1981
 #, no-wrap
 msgid "B<Catchup group using left key (group_catchup_on_exit)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1938 doc/tin.5:1661
+#: doc/tin.1:1984 doc/tin.5:1717
 msgid ""
 "If ON catchup group when leaving with the left arrow key. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1938
+#: doc/tin.1:1984
 #, no-wrap
 msgid "B<Format string for the Group level (group_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1942
+#: doc/tin.1:1988
 msgid ""
 "Format string B<tin> uses for Group level representation. See the section "
 "\"CUSTOMIZING THE SCREEN FORMAT\". Default is \"%n\\ %m\\ %R\\ %L\\ \\ %s\\ "
@@ -4540,13 +4624,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1942
+#: doc/tin.1:1988
 #, no-wrap
 msgid "B<Go to the next unread article with (goto_next_unread)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1950
+#: doc/tin.1:1996
 msgid ""
 "Which keys B<tin> should accept to jump to the next unread article.  "
 "Possible is any combination of B<PageDown> and B<PageNextUnread>.  When "
@@ -4557,13 +4641,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1950
+#: doc/tin.1:1996
 #, no-wrap
 msgid "B<Display uue data as an attachment (hide_uue)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1960 doc/tin.5:1691
+#: doc/tin.1:2006 doc/tin.5:1747
 msgid ""
 "If set to 'No' then raw uuencoded data is displayed. If set to 'Yes' then "
 "sections of uuencoded data will be shown with a single tag line showing the "
@@ -4575,13 +4659,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1960
+#: doc/tin.1:2006
 #, no-wrap
 msgid "B<External inews (inews_prog)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1967 doc/tin.5:1698
+#: doc/tin.1:2013 doc/tin.5:1754
 msgid ""
 "Path, name and options of external B<\\%inews>(1).  If you are reading via "
 "NNTP the default value is \"--internal\" (use built-in NNTP inews), else it "
@@ -4590,13 +4674,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1967
+#: doc/tin.1:2013
 #, no-wrap
 msgid "B<(info_in_last_line)>"
 msgstr "B<(info_in_last_line)>"
 
 #. type: Plain text
-#: doc/tin.1:1974 doc/tin.5:1704
+#: doc/tin.1:2020 doc/tin.5:1760
 msgid ""
 "If ON, show current group description or article subject in the last line "
 "(not in the pager and global menu) \\(em B<ToggleInfoLastLine> ('B<i>')  "
@@ -4605,17 +4689,17 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1974
+#: doc/tin.1:2020
 #, no-wrap
 msgid "B<Use interactive mail reader (interactive_mailer)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1981
+#: doc/tin.1:2027
 msgid ""
 "Interactive mailreader: if greater than 0 your mailreader will be invoked "
-"earlier for reply so you can use more of its features (e.g. MIME, pgp, ...). "
-"1 means include headers, 2 means don't include headers (old "
+"earlier for reply so you can use more of its features (e.g., MIME, "
+"pgp, ...). 1 means include headers, 2 means don't include headers (old "
 "use_mailreader_i=ON option). 0 turns off usage. This option has to suit "
 "B<mailer_format>. Default is 0."
 msgstr ""
@@ -4624,26 +4708,26 @@ msgstr ""
 #.        mono_mark* currently do allow "Reverse video" even if
 #.        inverse_okay=FALSE
 #. type: TP
-#: doc/tin.1:1981
+#: doc/tin.1:2027
 #, no-wrap
 msgid "B<Use inverse video for page headers (inverse_okay)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1988 doc/tin.5:1714
+#: doc/tin.1:2034 doc/tin.5:1770
 msgid ""
 "If ON use inverse video for page headers and URL highlighting.  Default is "
 "ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1988
+#: doc/tin.1:2034
 #, no-wrap
 msgid "B<Keep failed arts in ~/dead.articles (keep_dead_articles)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1993 doc/tin.5:1719
+#: doc/tin.1:2039 doc/tin.5:1775
 msgid ""
 "If ON keep all failed postings in I<${TIN_HOMEDIR:-\"$HOME\"}/dead.articles> "
 "besides keeping the last failed posting in I<${TIN_HOMEDIR:-\"$HOME\"}/dead."
@@ -4651,20 +4735,20 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1993
+#: doc/tin.1:2039
 #, no-wrap
 msgid "B<Filter which articles (kill_level)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1997
+#: doc/tin.1:2043
 msgid ""
 "This option controls the processing and display of articles that are "
 "killed.  There are 3 options:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2004
+#: doc/tin.1:2050
 msgid ""
 "B<Kill only unread arts> is the 'traditional' behavior of B<tin>. Only "
 "unread articles are killed once only by marking them read. As filtering only "
@@ -4674,7 +4758,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2009 doc/tin.5:1736
+#: doc/tin.1:2055 doc/tin.5:1792
 msgid ""
 "B<Kill all arts & show with K> will process all articles in the group and "
 "therefore there is a processing overhead when using this option. Killed "
@@ -4683,7 +4767,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2013 doc/tin.5:1740
+#: doc/tin.1:2059 doc/tin.5:1796
 msgid ""
 "B<Kill all arts and never show> will process all articles in the group and "
 "therefore there is a processing overhead when using this option. Killed "
@@ -4691,18 +4775,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2015
+#: doc/tin.1:2061
 msgid "Default is 0 (B<Kill only unread arts>)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2015
+#: doc/tin.1:2061
 #, no-wrap
 msgid "B<Use 8bit characters in mail headers (mail_8bit_header)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2021 doc/tin.5:1747
+#: doc/tin.1:2067 doc/tin.5:1803
 msgid ""
 "Allows 8bit characters unencoded in the header of mail message. Default is "
 "OFF. Turning it ON is effective only if B<mail_mime_encoding> is also set to "
@@ -4711,13 +4795,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2021
+#: doc/tin.1:2067
 #, no-wrap
 msgid "B<Mail address (mail_address)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2029
+#: doc/tin.1:2075
 msgid ""
 "User's mail address (and full name), if not username@host. This is used when "
 "creating articles, sending mail and when B<\\%pgp>(1)  / B<\\%gpg>(1)  "
@@ -4725,40 +4809,41 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2029
+#: doc/tin.1:2075
 #, no-wrap
 msgid "B<MIME encoding in mail messages (mail_mime_encoding)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2033 doc/tin.5:1757
+#: doc/tin.1:2079 doc/tin.5:1813
 msgid ""
 "MIME encoding of the body in mail message, if necessary (8bit, base64, "
 "quoted-printable, 7bit). Default is quoted-printable."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2033
+#: doc/tin.1:2079
 #, no-wrap
 msgid "B<Quote line when mailing (mail_quote_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2038 doc/tin.5:1762
+#: doc/tin.1:2085 doc/tin.5:1819
 msgid ""
 "Format of quote line when replying (via mail) to an article (%A=Address, "
 "%D=Date, %F=Fullname+Address, %G=Groupname, %M=Message-ID, %N=Fullname, "
-"%C=Firstname, %I=Initials). Default is \"In article %M you wrote:\""
+"%C=Firstname, %I=Initials). If the article has multiple addresses only the "
+"first is evaluated. Default is \"In article %M you wrote:\""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2038
+#: doc/tin.1:2085
 #, no-wrap
 msgid "B<Format of the mailbox (mailbox_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2048 doc/tin.5:1772
+#: doc/tin.1:2095 doc/tin.5:1829
 msgid ""
 "Select one of the following mailbox-formats: MBOXO (default, except on SCO), "
 "MBOXRD or MMDF (default on SCO). See B<\\%mbox>(5)  and B<RFC\\%4155> for "
@@ -4767,13 +4852,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2048
+#: doc/tin.1:2095
 #, no-wrap
 msgid "B<Mail directory (maildir)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2057 doc/tin.5:1781
+#: doc/tin.1:2104 doc/tin.5:1838
 msgid ""
 "The directory where articles/threads are to be saved in B<\\%mbox>(5)  "
 "format. This feature is mainly for use with the B<\\%mutt>(1)  mail program. "
@@ -4782,13 +4867,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2057
+#: doc/tin.1:2104
 #, no-wrap
 msgid "B<Invocation of your mail command (mailer_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2063 doc/tin.5:1787
+#: doc/tin.1:2110 doc/tin.5:1844
 msgid ""
 "The format string used to create the mailer command with parameters that is "
 "used for mailing articles to other people. Default is '%M \"%T\" E<lt> "
@@ -4797,34 +4882,32 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2069 doc/tin.5:1793
+#: doc/tin.1:2115 doc/tin.5:1849
 #, no-wrap
 msgid ""
 "sendmail -oem -t E<lt> %F\n"
-"mutt -s \"%S\" -- \"%T\" E<lt> %F\n"
 "mutt -H %F\n"
 "claws-mail --compose \"mailto:%T?subject=%S&insert=%F\"\n"
 msgstr ""
 "sendmail -oem -t E<lt> %F\n"
-"mutt -s \"%S\" -- \"%T\" E<lt> %F\n"
 "mutt -H %F\n"
 "claws-mail --compose \"mailto:%T?subject=%S&insert=%F\"\n"
 
 #. type: Plain text
-#: doc/tin.1:2073 doc/tin.5:1797
+#: doc/tin.1:2119 doc/tin.5:1853
 msgid ""
 "B<interactive_mailer> must be set adequate. The following substitutions are "
 "supported:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:2075 doc/tin.5:1799
+#: doc/tin.1:2121 doc/tin.5:1855
 #, no-wrap
 msgid "\\w'%S'u +\\w'default_mailer'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2082 doc/tin.5:1806
+#: doc/tin.1:2128 doc/tin.5:1862
 #, no-wrap
 msgid ""
 "%F\tfilename\n"
@@ -4836,13 +4919,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2084
+#: doc/tin.1:2130
 #, no-wrap
 msgid "B<'Mark as (un)read' ignores tags (mark_ignore_tags)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2092 doc/tin.5:1819
+#: doc/tin.1:2138 doc/tin.5:1875
 msgid ""
 "When this is ON, the B<GroupMarkThdRead> ('B<K>'), B<ThreadMarkArtRead> "
 "('B<K>'), B<MarkThdUnread> ('B<Z>') at Group level and B<MarkArtUnread> "
@@ -4853,24 +4936,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2092
+#: doc/tin.1:2138
 #, no-wrap
 msgid "B<Mark saved articles/threads as read (mark_saved_read)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2095 doc/tin.5:1811
+#: doc/tin.1:2141 doc/tin.5:1867
 msgid "If ON mark articles that are saved as read. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2095
+#: doc/tin.1:2141
 #, no-wrap
 msgid "B<Viewer program for MIME articles (metamail_prog)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2107 doc/tin.5:1831
+#: doc/tin.1:2153 doc/tin.5:1887
 msgid ""
 "Path, name and options of external B<\\%metamail>(1)  program used to view "
 "non-textual parts of articles.  To use the built-in viewer, set to --"
@@ -4881,13 +4964,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2107
+#: doc/tin.1:2153
 #, no-wrap
 msgid "B<MM_CHARSET (mm_charset)>"
 msgstr "B<MM_CHARSET (mm_charset)>"
 
 #. type: Plain text
-#: doc/tin.1:2120 doc/tin.5:1844
+#: doc/tin.1:2168
 msgid ""
 "Charset supported locally, which is also used for MIME header (charset "
 "parameter and charset name in header encoding) in mail and news postings. If "
@@ -4896,29 +4979,30 @@ msgid ""
 "represented as '?'. Otherwise, all character sets are regarded as compatible "
 "with the display. If it's not set, the value of the environment variable "
 "$B<MM_CHARSET> is used. US-ASCII or compile-time default is used in case "
-"neither of them is defined. If your system supports B<\\%iconv>(3), this "
-"option is disabled and you should use B<mm_network_charset> instead."
+"neither of them is defined. If your system supports B<\\%iconv>(3), or B<\\"
+"%ucnv_*>(), this option is disabled and you should use B<mm_network_charset> "
+"instead."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2120
+#: doc/tin.1:2168
 #, no-wrap
 msgid "B<MM_NETWORK_CHARSET (mm_network_charset)>"
 msgstr "B<MM_NETWORK_CHARSET (mm_network_charset)>"
 
 #. type: Plain text
-#: doc/tin.1:2131 doc/tin.5:1855
+#: doc/tin.1:2181
 msgid ""
 "Charset used for posting and MIME headers; replaces B<mm_charset>.  "
-"Conversion between B<mm_network_charset> and local charset (determined via B<"
-"\\%nl_langinfo>(3))  is done via B<\\%iconv>(3), if this function is not "
-"available on your system this option is disabled and you have to use "
-"B<mm_charset> instead. B<mm_network_charset> is limited to one of the "
-"following charsets:"
+"Conversion between B<mm_network_charset> and local charset (determined via "
+"B<\\%nl_langinfo>(3))  is done via B<\\%iconv>(3), or B<\\%ucnv_*>(), if "
+"none of these functions are available on your system this option is disabled "
+"and you have to use B<mm_charset> instead. B<mm_network_charset> is limited "
+"to one of the following charsets:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2134 doc/tin.5:1858
+#: doc/tin.1:2184 doc/tin.5:1918
 msgid ""
 "US-ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8-{R,U,RU} EUC-{CN,JP,"
 "KR,TW}, ISO-2022-{CN,CN-EXT,JP,JP-1,JP-2}, Big5, UTF-8"
@@ -4927,7 +5011,7 @@ msgstr ""
 "KR,TW}, ISO-2022-{CN,CN-EXT,JP,JP-1,JP-2}, Big5, UTF-8"
 
 #. type: Plain text
-#: doc/tin.1:2140 doc/tin.5:1864
+#: doc/tin.1:2190 doc/tin.5:1924
 msgid ""
 "Not all values might work on your system, see B<\\%iconv_open>(3)  for more "
 "details. If it's not set, the value of the environment variable "
@@ -4936,13 +5020,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2140
+#: doc/tin.1:2190
 #, no-wrap
 msgid "B<Attribute of highlighting with _dash_ (mono_markdash)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2145 doc/tin.5:1869
+#: doc/tin.1:2195 doc/tin.5:1929
 msgid ""
 "Character attribute of words emphasized like _this_. It depends on your "
 "terminal which attributes are usable. See also B<word_h_display_marks> and "
@@ -4950,13 +5034,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2145
+#: doc/tin.1:2195
 #, no-wrap
 msgid "B<Attribute of highlighting with /slash/ (mono_markslash)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2150 doc/tin.5:1874
+#: doc/tin.1:2200 doc/tin.5:1934
 msgid ""
 "Character attribute of words emphasized like /this/. It depends on your "
 "terminal which attributes are usable. See also B<word_h_display_marks> and "
@@ -4964,13 +5048,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2150
+#: doc/tin.1:2200
 #, no-wrap
 msgid "B<Attribute of highlighting with *stars* (mono_markstar)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2155 doc/tin.5:1879
+#: doc/tin.1:2205 doc/tin.5:1939
 msgid ""
 "Character attribute of words emphasized like *this*. It depends on your "
 "terminal which attributes are usable. See also B<word_h_display_marks> and "
@@ -4978,13 +5062,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2155
+#: doc/tin.1:2205
 #, no-wrap
 msgid "B<Attribute of highlighting with -stroke- (mono_markstroke)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2160 doc/tin.5:1884
+#: doc/tin.1:2210 doc/tin.5:1944
 msgid ""
 "Character attribute of words emphasized like -this-. It depends on your "
 "terminal which attributes are usable. See also B<word_h_display_marks> and "
@@ -4992,26 +5076,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2160
+#: doc/tin.1:2210
 #, no-wrap
 msgid "B<(newnews)>"
 msgstr "B<(newnews)>"
 
 #. type: Plain text
-#: doc/tin.1:2164
+#: doc/tin.1:2214
 msgid ""
 "These are internal timers used by B<tin> to keep track of new newsgroups.  "
 "Do not change them unless you understand what they are for."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2164
+#: doc/tin.1:2214
 #, no-wrap
 msgid "B<Display these header fields (or *) (news_headers_to_display)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2171 doc/tin.5:1897
+#: doc/tin.1:2221 doc/tin.5:1957
 msgid ""
 "Which news headers you wish to see. If you want to see _all_ the headers, "
 "place an '*' as this value. This is the only way a wildcard can be used.  If "
@@ -5021,13 +5105,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2171
+#: doc/tin.1:2221
 #, no-wrap
 msgid "B<Do not display these header fields (news_headers_to_not_display)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2180 doc/tin.5:1906
+#: doc/tin.1:2230 doc/tin.5:1966
 msgid ""
 "Same as B<news_headers_to_display> except it denotes the opposite. An "
 "example of using both options might be if you thought 'X-' headers were A "
@@ -5038,27 +5122,28 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2180
+#: doc/tin.1:2230
 #, no-wrap
 msgid "B<Quote line when following up (news_quote_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2185 doc/tin.5:1911
+#: doc/tin.1:2236 doc/tin.5:1972
 msgid ""
 "Format of quote line when posting/following up an article (%A=Address, "
 "%D=Date, %F=Fullname+Address, %G=Groupname, %M=Message-ID, %N=Fullname, "
-"%C=Firstname, %I=Initials). Default is \"%F wrote:\"."
+"%C=Firstname, %I=Initials). If the article has multiple addresses only the "
+"first is evaluated. Default is \"%F wrote:\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2185
+#: doc/tin.1:2236
 #, no-wrap
 msgid "B<NNTP read timeout in seconds (nntp_read_timeout_secs)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2194
+#: doc/tin.1:2245
 msgid ""
 "Time in seconds to wait for a response from the server. Default is 120.  "
 "Setting this to 0 means no timeout. As if you use the \"B<-C>\" option in "
@@ -5070,65 +5155,66 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2194
+#: doc/tin.1:2245
 #, no-wrap
 msgid "B<Unicode normalization form (normalization_form)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2198
+#: doc/tin.1:2249
 msgid ""
 "The normalization form B<tin> should use to normalize unicode input.  The "
 "possible values are:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2201 doc/tin.5:1921
+#: doc/tin.1:2252 doc/tin.5:1982
 msgid "B<None>: no normalization"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2203 doc/tin.5:1923
+#: doc/tin.1:2254 doc/tin.5:1984
 msgid "B<NFKC>: Compatibility Decomposition, followed by Canonical Composition"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2205 doc/tin.5:1925
+#: doc/tin.1:2256 doc/tin.5:1986
 msgid "B<NFKD>: Compatibility Decomposition"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2207 doc/tin.5:1927
+#: doc/tin.1:2258 doc/tin.5:1988
 msgid "B<NFC>: Canonical Decomposition, followed by Canonical Composition"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2209 doc/tin.5:1929
+#: doc/tin.1:2260 doc/tin.5:1990
 msgid "B<NFD>: Canonical Decomposition"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2211 doc/tin.5:1931
+#: doc/tin.1:2262 doc/tin.5:1992
 msgid ""
 "B<NFKC_CF>: Compatibility Decomposition, followed by Canonical Composition "
 "and Case Folding"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2215
+#: doc/tin.1:2266
 msgid ""
 "Some normalization modes are only available if they are supported by the "
-"library B<tin> uses to do the normalization. NFC should be used if possible."
+"library B<tin> uses to do the normalization. NFC should be used if possible "
+"(B<RFC\\%5198>)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2215
+#: doc/tin.1:2266
 #, no-wrap
 msgid "B<Format string for the display of mime header at Article level (page_mime_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2220
+#: doc/tin.1:2271
 msgid ""
 "Format string B<tin> uses for mime header at Page level. See the section "
 "\"CUSTOMIZING THE SCREEN FORMAT\".  Default is \"[-- %T%S%*n%z%*l%!c%!d%*e "
@@ -5136,39 +5222,39 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2220
+#: doc/tin.1:2271
 #, no-wrap
 msgid "B<Format string for the display of uue header at Article level (page_uue_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2225
+#: doc/tin.1:2276
 msgid ""
 "Format string B<tin> uses for uue header at Page level. See the section "
 "\"CUSTOMIZING THE SCREEN FORMAT\".  Default is \"[-- %T%S%*n%I%!d%*e --]\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2225
+#: doc/tin.1:2276
 #, no-wrap
 msgid "B<Go to first unread article in group (pos_first_unread)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2229 doc/tin.5:1952
+#: doc/tin.1:2280 doc/tin.5:2013
 msgid ""
 "If ON put cursor at first unread article in group otherwise at last article. "
 "Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2229
+#: doc/tin.1:2280
 #, no-wrap
 msgid "B<Use 8bit characters in news headers (post_8bit_header)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2240 doc/tin.5:1963
+#: doc/tin.1:2291 doc/tin.5:2024
 msgid ""
 "Allows 8bit characters unencoded in the header of a news article, if set "
 "this also disables the generation of MIME-headers when they are usually "
@@ -5181,13 +5267,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2240
+#: doc/tin.1:2291
 #, no-wrap
 msgid "B<MIME encoding in news messages (post_mime_encoding)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2245 doc/tin.5:1968
+#: doc/tin.1:2296 doc/tin.5:2029
 msgid ""
 "MIME encoding of the body in news message, if necessary. (8bit, base64, "
 "quoted-printable, 7bit). Default is 8bit, which leads to no encoding.  "
@@ -5195,13 +5281,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2245
+#: doc/tin.1:2296
 #, no-wrap
 msgid "B<View post-processed files (post_process_view)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2252
+#: doc/tin.1:2303
 msgid ""
 "If ON, then B<tin> will start an appropriate viewer program to display any "
 "files that were post processed and uudecoded. The program is determined "
@@ -5209,13 +5295,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2252
+#: doc/tin.1:2303
 #, no-wrap
 msgid "B<Post process saved articles (post_process_type)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2258 doc/tin.5:1982
+#: doc/tin.1:2309 doc/tin.5:2043
 msgid ""
 "This specifies whether to perform post processing on saved articles.  "
 "Because the shell archive may contain commands you may not want to be "
@@ -5224,28 +5310,28 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2261 doc/tin.5:1985
+#: doc/tin.1:2312 doc/tin.5:2046
 msgid "B<No> (default), no post processing is done."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2265 doc/tin.5:1989
+#: doc/tin.1:2316 doc/tin.5:2050
 msgid "B<Shell archives>, unpacking of multi-part B<\\%shar>(1)  files only."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2267 doc/tin.5:1991
+#: doc/tin.1:2318 doc/tin.5:2052
 msgid "B<Yes>, binary attachments and data will be decoded and saved."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2268
+#: doc/tin.1:2319
 #, no-wrap
 msgid "B<Filename to be used for storing posted articles (posted_articles_file)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2276 doc/tin.5:2000
+#: doc/tin.1:2327 doc/tin.5:2061
 msgid ""
 "Keep posted articles in given file. If the given filename does not contain "
 "any expandable strings it will be prefixed with I<${TIN_HOMEDIR:-\"$HOME\"}/"
@@ -5255,26 +5341,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2276
+#: doc/tin.1:2327
 #, no-wrap
 msgid "B<Print all headers when printing (print_header)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2280 doc/tin.5:2004
+#: doc/tin.1:2331 doc/tin.5:2065
 msgid ""
 "If ON, then the full article header is sent to the printer. Otherwise only "
 "the ''Subject:'' and ''From:'' fields are output. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2280
+#: doc/tin.1:2331
 #, no-wrap
 msgid "B<Printer program with options (printer)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2289
+#: doc/tin.1:2340
 msgid ""
 "The printer program with options that is to be used to print articles.  The "
 "default is B<\\%lpr>(1)  for BSD machines and B<\\%lp>(1)  for SysV "
@@ -5283,53 +5369,54 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2289
+#: doc/tin.1:2340
 #, no-wrap
 msgid "B<Process only unread articles (process_only_unread)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2293 doc/tin.5:2018
+#: doc/tin.1:2344 doc/tin.5:2079
 msgid ""
 "If ON only save/print/pipe/mail unread articles (tagged articles excepted).  "
 "Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2293
+#: doc/tin.1:2344
 #, no-wrap
 msgid "B<Show empty Followup-To in editor (prompt_followupto)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2297
+#: doc/tin.1:2348
 msgid ""
 "If ON show empty ''Followup-To:'' header when editing an article. Default is "
 "OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2297
+#: doc/tin.1:2348
 #, no-wrap
 msgid "B<Characters used as quote-marks (quote_chars)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2302 doc/tin.5:2027
+#: doc/tin.1:2354 doc/tin.5:2089
 msgid ""
 "The character used in quoting included text to article followups and mail "
 "replies. The '_' character represents a blank character and is replaced with "
-"' ' when read, %I is replaced by author's initials. Default is 'E<gt>_'."
+"' ' when read, %I is replaced by author's initials. If the article has "
+"multiple addresses only the first is evaluated. Default is 'E<gt>_'."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2302
+#: doc/tin.1:2354
 #, no-wrap
 msgid "B<Quoting behavior (quote_style)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2309
+#: doc/tin.1:2361
 msgid ""
 "How articles should be quoted when following up or replying to them. There "
 "are a number of things that can be done: empty lines can be quoted, "
@@ -5340,7 +5427,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2313
+#: doc/tin.1:2365
 msgid ""
 "When you are viewing an article in raw mode ('B<^H>'), and follow up or "
 "reply to it, the signature will be quoted even if it would otherwise not "
@@ -5348,13 +5435,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2313
+#: doc/tin.1:2365
 #, no-wrap
 msgid "B<Regex used to show quoted lines (quote_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2318
+#: doc/tin.1:2370
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote>. If B<quote_regex> is blank, then "
@@ -5362,13 +5449,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2318
+#: doc/tin.1:2370
 #, no-wrap
 msgid "B<Regex used to show twice quoted l. (quote_regex2)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2323
+#: doc/tin.1:2375
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote2>. If B<quote_regex2> is blank, then "
@@ -5376,13 +5463,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2323
+#: doc/tin.1:2375
 #, no-wrap
 msgid "B<Regex used to show E<gt>= 3 times q.l. (quote_regex3)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2328
+#: doc/tin.1:2380
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote3>. If B<quote_regex3> is blank, then "
@@ -5390,39 +5477,39 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2328
+#: doc/tin.1:2380
 #, no-wrap
 msgid "B<Article recentness time limit (recent_time)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2332 doc/tin.5:2072
+#: doc/tin.1:2384 doc/tin.5:2136
 msgid ""
 "If set to 0, this feature is deactivated, otherwise it means the number of "
 "days. Default is 2."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2332
+#: doc/tin.1:2384
 #, no-wrap
 msgid "B<Render BiDi (render_bidi)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2336
+#: doc/tin.1:2388
 msgid ""
 "If ON B<tin> does the rendering of bi-directional text. If OFF B<tin> leaves "
 "the rendering of bi-directional text to the terminal. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2336
+#: doc/tin.1:2388
 #, no-wrap
 msgid "B<Interval in seconds to reread active (reread_active_file_secs)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2341 doc/tin.5:2084
+#: doc/tin.1:2393 doc/tin.5:2148
 msgid ""
 "The news I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file is "
 "reread at regular intervals to show if any new news has arrived. Default is "
@@ -5430,78 +5517,78 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2341
+#: doc/tin.1:2393
 #, no-wrap
 msgid "B<Directory to save arts/threads in (savedir)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2345 doc/tin.5:2088
+#: doc/tin.1:2397 doc/tin.5:2152
 msgid ""
 "Directory where articles/threads are saved. Default is I<${TIN_HOMEDIR:-"
 "\"$HOME\"}/News>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2345
+#: doc/tin.1:2397
 #, no-wrap
 msgid "B<Score limit (kill) (score_limit_kill)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2349 doc/tin.5:2092
+#: doc/tin.1:2401 doc/tin.5:2156
 msgid ""
 "If the score of an article is below or equal this value the article gets "
 "marked as killed."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2349
+#: doc/tin.1:2401
 #, no-wrap
 msgid "B<Score limit (select) (score_limit_select)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2353 doc/tin.5:2096
+#: doc/tin.1:2405 doc/tin.5:2160
 msgid ""
 "If the score of an article is above or equal this value the article gets "
 "marked as hot."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2353
+#: doc/tin.1:2405
 #, no-wrap
 msgid "B<Default score to kill articles (score_kill)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2357 doc/tin.5:2100
+#: doc/tin.1:2409 doc/tin.5:2164
 msgid ""
 "Score of an article which should be killed, this must be E<lt>= "
 "B<score_limit_kill>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2357
+#: doc/tin.1:2409
 #, no-wrap
 msgid "B<Default score to select articles (score_select)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2361 doc/tin.5:2104
+#: doc/tin.1:2413 doc/tin.5:2168
 msgid ""
 "Score of an article which should be marked hot, this must be E<gt>= "
 "B<score_limit_select>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2361
+#: doc/tin.1:2413
 #, no-wrap
 msgid "B<Number of lines to scroll in pager (scroll_lines)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2369
+#: doc/tin.1:2421
 msgid ""
 "The number of lines that will be scrolled up/down in the article pager when "
 "using cursor-up/down. The default is 1 (line-by-line). Set to 0 to get "
@@ -5512,66 +5599,66 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2369
+#: doc/tin.1:2421
 #, no-wrap
 msgid "B<Format string for the Selection level (select_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2373
+#: doc/tin.1:2425
 msgid ""
 "Format string B<tin> uses for Selection level representation. See the "
-"section \"CUSTOMIZING THE SCREEN FORMAT\". Default is \"%f\\ %n\\ %U\\ \\ %G"
-"\\ \\ %d\"."
+"section \"CUSTOMIZING THE SCREEN FORMAT\". Default is \"%f\\ %n\\ %U\\ \\ "
+"%G\\ \\ %d\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2373
+#: doc/tin.1:2425
 #, no-wrap
 msgid "B<In group and thread level, show author by (show_author)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2377 doc/tin.5:2147
+#: doc/tin.1:2429 doc/tin.5:2211
 msgid ""
 "Which information about the author should be shown. Default is 2, authors "
 "full name."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2380 doc/tin.5:2150
+#: doc/tin.1:2432 doc/tin.5:2214
 msgid "B<None>, only the ''Subject:'' line will be displayed."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2383 doc/tin.5:2153
+#: doc/tin.1:2435 doc/tin.5:2217
 msgid ""
 "B<Address>, ''Subject:'' line & the address part of the ''From:'' line are "
 "displayed."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2386 doc/tin.5:2156
+#: doc/tin.1:2438 doc/tin.5:2220
 msgid ""
 "B<Full Name>, ''Subject:'' line & the authors full name part of the "
 "\\&''From:'' line are displayed (default)."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2389 doc/tin.5:2159
+#: doc/tin.1:2441 doc/tin.5:2223
 msgid ""
 "B<Address and Name>, ''Subject:'' line & all of the ''From:'' line are "
 "displayed."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2390
+#: doc/tin.1:2442
 #, no-wrap
 msgid "B<Show description of each newsgroup (show_description)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2399
+#: doc/tin.1:2451
 msgid ""
 "If ON show a short group description text after newsgroup name at the group "
 "selection level. The ''B<-d>'' command-line flag will override the setting "
@@ -5582,134 +5669,134 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2399
+#: doc/tin.1:2451
 #, no-wrap
 msgid "B<Function for sorting articles (sort_function)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2402 doc/tin.5:2132
+#: doc/tin.1:2454 doc/tin.5:2196
 msgid "Function used for sorting articles. Default is 0."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2407 doc/tin.5:2137
+#: doc/tin.1:2459 doc/tin.5:2201
 msgid "Use B<\\%qsort>(3)  for sorting."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2412 doc/tin.5:2142
+#: doc/tin.1:2464 doc/tin.5:2206
 msgid ""
 "Use B<\\%heapsort>(3)  for sorting. This might be faster in large groups "
 "with long threads (somewhat presorted data)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2413
+#: doc/tin.1:2465
 #, no-wrap
 msgid "B<Show help/mail sign in level titles (show_help_mail_sign)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2418
+#: doc/tin.1:2470
 msgid ""
 "Allows you to select whether B<tin> shows a help indication, a new mail "
 "indication, both, or neither in the various level titles.  Default is 3."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2421 doc/tin.5:2183
+#: doc/tin.1:2473 doc/tin.5:2247
 msgid "B<Don't show help or mail sign>."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2423 doc/tin.5:2185
+#: doc/tin.1:2475 doc/tin.5:2249
 msgid "B<Show only help sign>."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2426 doc/tin.5:2188
+#: doc/tin.1:2478 doc/tin.5:2252
 msgid ""
 "B<Show only mail sign if new mail>, show only the mail sign, and only if new "
 "mail has arrived."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2429 doc/tin.5:2191
+#: doc/tin.1:2481 doc/tin.5:2255
 msgid ""
 "B<Show mail if new mail else help s.>, show mail sign if new mail has "
 "arrived otherwise show help sign."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2430
+#: doc/tin.1:2482
 #, no-wrap
 msgid "B<Show only unread articles (show_only_unread_arts)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2434 doc/tin.5:2196
+#: doc/tin.1:2486 doc/tin.5:2260
 msgid ""
 "If ON show only new/unread articles otherwise show all articles.  Default is "
 "ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2434
+#: doc/tin.1:2486
 #, no-wrap
 msgid "B<Show only groups with unread arts (show_only_unread_groups)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2438 doc/tin.5:2200
+#: doc/tin.1:2490 doc/tin.5:2264
 msgid ""
 "If ON show only subscribed groups that contain unread articles. Default is "
 "OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2438
+#: doc/tin.1:2490
 #, no-wrap
 msgid "B<Display signatures (show_signatures)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2441 doc/tin.5:2203
+#: doc/tin.1:2493 doc/tin.5:2267
 msgid "If OFF don't show signatures when displaying articles. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2441
+#: doc/tin.1:2493
 #, no-wrap
 msgid "B<Display score (show_art_score)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2445 doc/tin.5:2164
+#: doc/tin.1:2497 doc/tin.5:2228
 msgid ""
 "If ON show article score in the lower left corner when displaying articles.  "
 "Default is OFF. See also B<col_score_neg> and B<col_score_pos>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2445
+#: doc/tin.1:2497
 #, no-wrap
 msgid "B<Prepend signature with '\\en-- \\en' (sigdashes)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2448 doc/tin.5:2206
+#: doc/tin.1:2500 doc/tin.5:2270
 msgid "If ON prepend the signature with sigdashes. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2448
+#: doc/tin.1:2500
 #, no-wrap
 msgid "B<Create signature from path/command (sigfile)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2458 doc/tin.5:2216
+#: doc/tin.1:2510
 msgid ""
 "The path that specifies the signature file to use when posting, following up "
 "to or replying to an article. If the path is a directory then the signature "
@@ -5722,24 +5809,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2458
+#: doc/tin.1:2510
 #, no-wrap
 msgid "B<Add signature when reposting (signature_repost)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2461 doc/tin.5:2219
+#: doc/tin.1:2513 doc/tin.5:2286
 msgid "If ON add signature to reposted articles. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2461
+#: doc/tin.1:2513
 #, no-wrap
 msgid "B<Regex used to highlight /slashes/ (slashes_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2466
+#: doc/tin.1:2518
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markslash> or B<mono_markslash>. If "
@@ -5747,144 +5834,144 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2466
+#: doc/tin.1:2518
 #, no-wrap
 msgid "B<Sort articles by (sort_article_type)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2470 doc/tin.5:2230
+#: doc/tin.1:2522 doc/tin.5:2297
 msgid ""
 "This specifies how articles should be sorted. Sort by ascending Date (6) is "
 "the default. The following sort types are allowed:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2473 doc/tin.5:2233
+#: doc/tin.1:2525 doc/tin.5:2300
 msgid "B<Nothing>, don't sort articles."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2475 doc/tin.5:2235
+#: doc/tin.1:2527 doc/tin.5:2302
 msgid ""
 "B<Subject: (descending)>, sort articles by ''Subject:'' field descending."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2477 doc/tin.5:2237
+#: doc/tin.1:2529 doc/tin.5:2304
 msgid "B<Subject: (ascending)>, sort articles by ''Subject:'' field ascending."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2479 doc/tin.5:2239
+#: doc/tin.1:2531 doc/tin.5:2306
 msgid "B<From: (descending)>, sort articles by ''From:'' field descending."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2481 doc/tin.5:2241
+#: doc/tin.1:2533 doc/tin.5:2308
 msgid "B<From: (ascending)>, sort articles by ''From:'' field ascending."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2483 doc/tin.5:2243
+#: doc/tin.1:2535 doc/tin.5:2310
 msgid "B<Date: (descending)>, sort articles by ''Date:'' field descending."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2486 doc/tin.5:2246
+#: doc/tin.1:2538 doc/tin.5:2313
 msgid ""
 "B<Date: (ascending)>, sort articles by ''Date:'' field ascending (default)."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2488 doc/tin.5:2248
+#: doc/tin.1:2540 doc/tin.5:2315
 msgid "B<Score (descending)>, sort articles by filtering score descending."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:2488 doc/tin.5:2248
+#: doc/tin.1:2540 doc/tin.5:2315
 #, no-wrap
 msgid "8"
 msgstr "8"
 
 #. type: Plain text
-#: doc/tin.1:2490 doc/tin.5:2250
+#: doc/tin.1:2542 doc/tin.5:2317
 msgid "B<Score (ascending)>, sort articles by filtering score ascending."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:2490 doc/tin.5:2250
+#: doc/tin.1:2542 doc/tin.5:2317
 #, no-wrap
 msgid "9"
 msgstr "9"
 
 #. type: Plain text
-#: doc/tin.1:2492 doc/tin.5:2252
+#: doc/tin.1:2544 doc/tin.5:2319
 msgid "B<Lines: (descending)>, sort articles by ''Lines:'' field descending."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:2492 doc/tin.5:2252
+#: doc/tin.1:2544 doc/tin.5:2319
 #, no-wrap
 msgid "10"
 msgstr "10"
 
 #. type: Plain text
-#: doc/tin.1:2494 doc/tin.5:2254
+#: doc/tin.1:2546 doc/tin.5:2321
 msgid "B<Lines: (ascending)>, sort articles by ''Lines:'' field ascending."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2495
+#: doc/tin.1:2547
 #, no-wrap
 msgid "B<Sort threads by (sort_threads_type)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2500 doc/tin.5:2259
+#: doc/tin.1:2552 doc/tin.5:2326
 msgid ""
 "This specifies how threads will be sorted. Sort by descending Score (1) is "
 "the default. The following sort types are allowed:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2503 doc/tin.5:2262
+#: doc/tin.1:2555 doc/tin.5:2329
 msgid "B<Nothing>, don't sort threads."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2506 doc/tin.5:2265
+#: doc/tin.1:2558 doc/tin.5:2332
 msgid ""
 "B<Score (descending)>, sort threads by filtering score descending (default)."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2508 doc/tin.5:2267
+#: doc/tin.1:2560 doc/tin.5:2334
 msgid "B<Score (ascending)>, sort threads by filtering score ascending."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2510 doc/tin.5:2269
+#: doc/tin.1:2562 doc/tin.5:2336
 msgid ""
 "B<Last posting date (descending)>, sort threads by date of last posting "
 "descending."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2512 doc/tin.5:2271
+#: doc/tin.1:2564 doc/tin.5:2338
 msgid ""
 "B<Last posting date (ascending)>, sort threads by date of last posting "
 "ascending."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2513
+#: doc/tin.1:2565
 #, no-wrap
 msgid "B<Spamtrap warning address parts (spamtrap_warning_addresses)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2518 doc/tin.5:2277
+#: doc/tin.1:2570 doc/tin.5:2344
 msgid ""
 "Set this option to a list of comma-separated strings to be warned if you are "
 "replying to an article by mail where the e-mail address contains one of "
@@ -5892,18 +5979,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2520 doc/tin.5:2279
+#: doc/tin.1:2572 doc/tin.5:2346
 msgid "I<spam,delete,remove>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2520
+#: doc/tin.1:2572
 #, no-wrap
 msgid "B<Regex used to highlight *stars* (stars_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2525
+#: doc/tin.1:2577
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markstar> or B<mono_markstar>. If "
@@ -5911,82 +5998,82 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2525
+#: doc/tin.1:2577
 #, no-wrap
 msgid "B<Strip blanks of end of lines (strip_blanks)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2531 doc/tin.5:2290
+#: doc/tin.1:2583 doc/tin.5:2357
 msgid ""
 "Strips the blanks from the end of each line therefore speeding up the "
 "display when reading on a slow terminal or via modem. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2531
+#: doc/tin.1:2583
 #, no-wrap
 msgid "B<Remove bogus groups from newsrc (strip_bogus)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2540 doc/tin.5:2299
+#: doc/tin.1:2592 doc/tin.5:2366
 msgid ""
-"Bogus groups are groups that are present in your I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.newsrc> file that no longer exist on the news server. There are 3 "
-"options. 0 means do nothing & always keep bogus groups.  1 means bogus "
+"Bogus groups are groups that are present in your I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.newsrc> file that no longer exist on the news server. There are "
+"3 options. 0 means do nothing & always keep bogus groups.  1 means bogus "
 "groups will be permanently removed. 2 means that bogus groups will appear on "
 "the Group Selection Menu, prefixed with a 'D'. This allows you to "
 "unsubscribe from them as and when you wish. Default is 0 (Always Keep)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2540
+#: doc/tin.1:2592
 #, no-wrap
 msgid "B<No unsubscribed groups in newsrc (strip_newsrc)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2544 doc/tin.5:2303
+#: doc/tin.1:2596 doc/tin.5:2370
 msgid ""
-"If ON, then unsubscribed groups will be permanently removed from your I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file. Default is OFF."
+"If ON, then unsubscribed groups will be permanently removed from your "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2544
+#: doc/tin.1:2596
 #, no-wrap
 msgid "B<Regex with Subject prefixes (strip_re_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2550
+#: doc/tin.1:2602
 msgid ""
 "A regular expression to find Subject prefixes like \"Re:\" to remove.  If "
 "B<strip_re_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2550
+#: doc/tin.1:2602
 #, no-wrap
 msgid "B<Regex with Subject suffixes (strip_was_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2556 doc/tin.5:2315
+#: doc/tin.1:2608 doc/tin.5:2382
 msgid ""
 "A regular expression to find Subject suffixes like \"(was:\" to remove.  If "
 "B<strip_was_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2556
+#: doc/tin.1:2608
 #, no-wrap
 msgid "B<Regex used to highlight -strokes- (strokes_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2561
+#: doc/tin.1:2613
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markstroke> or B<mono_markstroke>.  If "
@@ -5994,13 +6081,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2561
+#: doc/tin.1:2613
 #, no-wrap
 msgid "B<Wrap around threads on next unread (wrap_on_next_unread)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2566 doc/tin.5:2553
+#: doc/tin.1:2618 doc/tin.5:2620
 msgid ""
 "If enabled a search for the next unread article will wrap around all "
 "articles to find also previous unread articles. If disabled the search stops "
@@ -6008,26 +6095,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2566
+#: doc/tin.1:2618
 #, no-wrap
 msgid "B<Display \"a as Umlaut-a (tex2iso_conv)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2570
+#: doc/tin.1:2622
 msgid ""
 "If ON, show \"a as Umlaut-a, etc. Default is OFF. This behavior can also be "
 "toggled in the article viewer via B<PageToggleTex2iso> ('B<\">')."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2570
+#: doc/tin.1:2622
 #, no-wrap
 msgid "B<Thread articles by (thread_articles)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2578
+#: doc/tin.1:2630
 msgid ""
 "Defines which threading method to use. It's possible to set the threading "
 "type on a per group basis by setting the group attribute variable "
@@ -6037,60 +6124,60 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2581
+#: doc/tin.1:2633
 msgid "B<None>, don't thread."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2583
+#: doc/tin.1:2635
 msgid "B<Subject>, thread on ''Subject:'' only."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2585
+#: doc/tin.1:2637
 msgid "B<References>, thread on ''References:'' only."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2588
+#: doc/tin.1:2640
 msgid ""
 "B<Both Subject and References>, thread on ''References:'' then "
 "\\&''Subject:'' (default)."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2590
+#: doc/tin.1:2642
 msgid "B<Multipart Subject>, thread multipart articles on ''Subject:''."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2593
+#: doc/tin.1:2645
 msgid ""
 "B<Percentage Match>, thread base upon a partial character match on "
 "\\&''Subject:''."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2594
+#: doc/tin.1:2646
 #, no-wrap
 msgid "B<Catchup thread by using left key (thread_catchup_on_exit)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2598 doc/tin.5:2375
+#: doc/tin.1:2650 doc/tin.5:2442
 msgid ""
 "If ON catchup group/thread when leaving with the left arrow key. Default is "
 "ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2598
+#: doc/tin.1:2650
 #, no-wrap
 msgid "B<Format string for the Thread level (thread_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2602
+#: doc/tin.1:2654
 msgid ""
 "Format string B<tin> uses for Thread level representation. See the section "
 "\"CUSTOMIZING THE SCREEN FORMAT\". Default is \"%n\\ %m\\ \\ [%L]\\ \\ %T\\ "
@@ -6098,68 +6185,67 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2602
+#: doc/tin.1:2654
 #, no-wrap
 msgid "B<Matchingness of a thread (thread_perc)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2606
+#: doc/tin.1:2658
 msgid ""
 "How closely the subjects must match for two threads to be considered part of "
 "the same thread. This is a percentage and the default if 75%."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2606
+#: doc/tin.1:2658
 #, no-wrap
 msgid "B<Score of a thread (thread_score)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2610 doc/tin.5:2379
+#: doc/tin.1:2662 doc/tin.5:2446
 msgid ""
 "How the total score of a thread is computed. Default is 0, the maximum score "
 "in this thread."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2613 doc/tin.5:2382
+#: doc/tin.1:2665 doc/tin.5:2449
 msgid "B<Max>, the maximum score in this thread."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2615 doc/tin.5:2384
+#: doc/tin.1:2667 doc/tin.5:2451
 msgid "B<Sum>, the sum of all scores in this thread."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2617 doc/tin.5:2386
+#: doc/tin.1:2669 doc/tin.5:2453
 msgid "B<Average>, the average score in this thread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2618
-#, fuzzy, no-wrap
-#| msgid "B<tls_ca_cert_file>"
+#: doc/tin.1:2670
+#, no-wrap
 msgid "B<CA certificate file (tls_ca_cert_file)>"
-msgstr "B<tls_ca_cert_file>"
+msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2623
+#: doc/tin.1:2675
 msgid ""
 "The name of file containing all trusted CA certificates used for NNTPS (B<\\"
 "%RFC8143>) connections. If left empty the system default will be used."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2623
+#: doc/tin.1:2675
 #, no-wrap
 msgid "B<Transliteration (translit)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2631 doc/tin.5:2400
+#: doc/tin.1:2683 doc/tin.5:2467
 msgid ""
 "If ON append //TRANSLIT to the first argument of B<\\%iconv_open>(3)  to "
 "enable transliteration. This means that when a character cannot be "
@@ -6169,69 +6255,69 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2631
+#: doc/tin.1:2683
 #, no-wrap
 msgid "B<How to treat blank lines (trim_article_body)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2635
+#: doc/tin.1:2687
 msgid ""
 "Allows you to select how B<tin> treats blank lines in article bodies.  "
 "Default is 0. This option does not affect lines within verbatim blocks."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2638 doc/tin.5:2409
+#: doc/tin.1:2690 doc/tin.5:2476
 msgid "B<Don't trim article body>, do nothing."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2640 doc/tin.5:2411
+#: doc/tin.1:2692 doc/tin.5:2478
 msgid "B<Skip leading blank lines>."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2642 doc/tin.5:2413
+#: doc/tin.1:2694 doc/tin.5:2480
 msgid "B<Skip trailing blank lines>."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2644 doc/tin.5:2415
+#: doc/tin.1:2696 doc/tin.5:2482
 msgid ""
 "B<Skip leading and trailing blank l.>, skip leading and trailing blank lines."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2647 doc/tin.5:2418
+#: doc/tin.1:2699 doc/tin.5:2485
 msgid ""
 "B<Compact multiple between text>, replace multiple blank lines between text "
 "blocks with one blank line."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2649 doc/tin.5:2420
+#: doc/tin.1:2701 doc/tin.5:2487
 msgid "B<Compact multiple and skip leading>, 4 + 1"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2651 doc/tin.5:2422
+#: doc/tin.1:2703 doc/tin.5:2489
 msgid "B<Compact multiple and skip trailing>, 4 + 2"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2653 doc/tin.5:2424
+#: doc/tin.1:2705 doc/tin.5:2491
 msgid "B<Compact mltpl., skip lead. & trai.>, 4 + 3"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2654
+#: doc/tin.1:2706
 #, no-wrap
 msgid "B<Suppress soft hyphens (suppress_soft_hyphens)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2662
+#: doc/tin.1:2714
 msgid ""
 "If ON remove soft hyphens in non verbatim blocks of articles in UTF-8 when "
 "they are displayed in a UTF-8 locale. The character SOFT HYPHEN (U+00AD) is "
@@ -6242,13 +6328,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2662
+#: doc/tin.1:2714
 #, no-wrap
 msgid "B<Regex used to highlight _underline_ (underscores_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2667
+#: doc/tin.1:2719
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markdash> or B<mono_markdash>. If "
@@ -6256,24 +6342,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2667
+#: doc/tin.1:2719
 #, no-wrap
 msgid "B<Remove ~/.article after posting (unlink_article)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2670
+#: doc/tin.1:2722
 msgid "If ON remove I<~/.article> after posting. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2670
+#: doc/tin.1:2722
 #, no-wrap
 msgid "B<Program that opens URLs (url_handler)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2675 doc/tin.5:2445
+#: doc/tin.1:2727 doc/tin.5:2512
 msgid ""
 "The program that will be run when launching URLs in the article viewer using "
 "B<PageViewUrl> ('B<U>'). The actual URL will be appended.  Default is "
@@ -6281,54 +6367,54 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2675
+#: doc/tin.1:2727
 #, no-wrap
 msgid "B<URL highlighting in message body (url_highlight)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2678 doc/tin.5:2448
+#: doc/tin.1:2730 doc/tin.5:2515
 msgid "Enable highlighting URLs in message body. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2678
+#: doc/tin.1:2730
 #, no-wrap
 msgid "B<Use ANSI color (use_color)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2681
+#: doc/tin.1:2733
 msgid "If enabled B<tin> uses ANSI-colors. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2681
+#: doc/tin.1:2733
 #, no-wrap
 msgid "B<Use scroll keys on keypad (use_keypad)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2684
+#: doc/tin.1:2736
 #, no-wrap
 msgid "B<Use mouse in xterm (use_mouse)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2690 doc/tin.5:2462
+#: doc/tin.1:2742 doc/tin.5:2529
 msgid ""
 "Allows the mouse button support in an B<\\%xterm>(1x)  to be enabled/"
 "disabled.  Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2690
+#: doc/tin.1:2742
 #, no-wrap
 msgid "B<Use slrnface to show ''X-Face:''s (use_slrnface)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2700
+#: doc/tin.1:2752
 msgid ""
 "If enabled B<tin> uses B<\\%slrnface>(1)  to interpret the ''X-Face:'' "
 "header. For this option to have any effect, B<tin> must be running in an B<\\"
@@ -6336,63 +6422,63 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2700
+#: doc/tin.1:2752
 #, no-wrap
 msgid "B<Use UTF-8 graphics (utf8_graphics)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2704 doc/tin.5:2478
+#: doc/tin.1:2756
 msgid ""
-"If ON use UTF-8 characters for indicator ('-E<gt>'), thread/attachment tree "
-"and ellipsis ('...'). Default is OFF."
+"If ON use UTF-8 characters for indicator ('\\(-E<gt>'), thread/attachment "
+"tree and ellipsis ('...'). Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2704
+#: doc/tin.1:2756
 #, no-wrap
 msgid "B<Regex for begin of a verbatim block (verbatim_begin_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2708
+#: doc/tin.1:2760
 msgid ""
 "A regular expression that B<tin> will use to find the begin of a verbatim "
 "block."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2708
+#: doc/tin.1:2760
 #, no-wrap
 msgid "B<Regex for end of a verbatim block (verbatim_end_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2712
+#: doc/tin.1:2764
 msgid ""
 "A regular expression that B<tin> will use to find the end of a verbatim "
 "block."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2712
+#: doc/tin.1:2764
 #, no-wrap
 msgid "B<Detection of verbatim blocks (verbatim_handling)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2715 doc/tin.5:2493
+#: doc/tin.1:2767 doc/tin.5:2560
 msgid "If ON verbatim blocks will be detected. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2715
+#: doc/tin.1:2767
 #, no-wrap
 msgid "B<Wildcard matching (wildcard)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2737
+#: doc/tin.1:2789
 msgid ""
 "Allows you to select how B<tin> matches strings. The default is 0 and uses "
 "the B<\\%wildmat>(3)  notation, which is how this has traditionally been "
@@ -6404,41 +6490,43 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2737
+#: doc/tin.1:2789
 #, no-wrap
 msgid "B<What to display instead of mark (word_h_display_marks)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2741 doc/tin.5:2521
+#: doc/tin.1:2793 doc/tin.5:2588
 msgid ""
 "Should the leading and ending stars, slashes, strokes and dashes also be "
 "displayed, even when they are highlighting marks?"
 msgstr ""
 
+# fuzzy
 #. type: Plain text
-#: doc/tin.1:2744 doc/tin.5:2524
+#: doc/tin.1:2796 doc/tin.5:2591
 msgid "B<no>"
-msgstr ""
+msgstr "B<no>"
 
+# fuzzy
 #. type: Plain text
-#: doc/tin.1:2746 doc/tin.5:2526
+#: doc/tin.1:2798 doc/tin.5:2593
 msgid "yes, B<display mark>"
-msgstr ""
+msgstr "si B<display mark>"
 
 #. type: Plain text
-#: doc/tin.1:2748 doc/tin.5:2528
+#: doc/tin.1:2800 doc/tin.5:2595
 msgid "print a B<space> instead"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2749
+#: doc/tin.1:2801
 #, no-wrap
 msgid "B<Word highlighting in message body (word_highlight)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2757 doc/tin.5:2537
+#: doc/tin.1:2809 doc/tin.5:2604
 msgid ""
 "Enable word highlighting. See B<word_h_display_marks> for the options "
 "available. If B<use_color> is enabled the colors specified in "
@@ -6449,56 +6537,56 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2757
+#: doc/tin.1:2809
 #, no-wrap
 msgid "B<Page line wrap column (wrap_column)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2768 doc/tin.5:2548
+#: doc/tin.1:2820 doc/tin.5:2615
 msgid ""
 "Sets the column at which a displayed article body should be wrapped.  If "
 "this value is equal to 0, it defaults to the current screen width.  If this "
-"value is greater than your current screen width the part off-screen is not "
-"displayed. Thus setting this option to a large value can be used to disable "
-"wrapping. If this value is negative the wrap margin is the current screen "
-"width plus the given value (as long as the result is still positive, "
-"otherwise it will fall back to the current screen width). Default is 0, "
-"wrapping at the current screen width."
+"value is greater than your current screen width and B<dont_break_words> is "
+"unset the part off-screen is not displayed.  Thus setting this option to a "
+"large value can be used to disable wrapping.  If this value is negative the "
+"wrap margin is the current screen width plus the given value (as long as the "
+"result is still positive, otherwise it will fall back to the current screen "
+"width). Default is 0, wrapping at the current screen width."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2768
+#: doc/tin.1:2820
 #, no-wrap
 msgid "B<Quote line when crossposting (xpost_quote_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2775 doc/tin.5:2558
+#: doc/tin.1:2827 doc/tin.5:2625
 msgid ""
 "Format is the same as for B<news_quote_format>, this is used when answering "
 "to a crossposting to several groups with no ''Followup-To:'' set."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:2775
+#: doc/tin.1:2827
 #, no-wrap
 msgid "ATTRIBUTES MENU AND GROUP ATTRIBUTES"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2782
+#: doc/tin.1:2834
 msgid ""
 "B<tin> allows certain attributes to be set on a per group basis. If it "
 "exists, the global attributes file, I<${TIN_LIBDIR:-NEWSLIBDIR}/attributes> "
-"is read. After that, the user's own attributes file I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.tin/attributes> is read.  The global attributes file is useful for "
-"distributing system-wide defaults to new users who have no private "
+"is read. After that, the user's own attributes file I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.tin/attributes> is read.  The global attributes file is useful "
+"for distributing system-wide defaults to new users who have no private "
 "attributes file yet."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2790
+#: doc/tin.1:2842
 msgid ""
 "Note that the I<scope=E<lt>grouplistE<gt>> line has to be specified before "
 "the attributes are specified for that list. All attributes are set to a "
@@ -6509,7 +6597,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2797
+#: doc/tin.1:2849
 msgid ""
 "Attributes can also be changed from the attributes menu which can be "
 "accessed by B<ConfigToggleAttrib> ('B<E<lt>TABE<gt>>') from the options menu "
@@ -6520,7 +6608,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2804
+#: doc/tin.1:2856
 msgid ""
 "Besides the keys for moving around and changing values known from the "
 "options menu the attributes menu provides the following command: "
@@ -6528,22 +6616,22 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:2804
+#: doc/tin.1:2856
 #, no-wrap
 msgid "SCOPES MENU"
 msgstr "ÃMBITO"
 
 #. type: Plain text
-#: doc/tin.1:2809
+#: doc/tin.1:2861
 msgid ""
 "The scopes menu (accessible from the options menu with B<ConfigScopeMenu> "
 "('B<S>')) shows all scopes read from the global and local attributes file.  "
-"Scopes from the global attributes file are marked with '!' to the left of "
+"Scopes from the global attributes file are marked with '!\\&' to the left of "
 "the scope number. Delete/rename/move are not possible with those scopes."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2821
+#: doc/tin.1:2873
 msgid ""
 "In addition to the common moving keys the following commands are available: "
 "B<ScopeSelect> ('B<^J>' or 'B<E<lt>CRE<gt>>') enter the attributes menu for "
@@ -6557,14 +6645,14 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:2821
+#: doc/tin.1:2873
 #, no-wrap
 msgid "FILTERING ARTICLES"
 msgstr ""
 
 #.  FIXME - add scoring description
 #. type: Plain text
-#: doc/tin.1:2828
+#: doc/tin.1:2880
 msgid ""
 "When there is a subject or an author which you are either very interested "
 "in, or find completely uninteresting, you can easily instruct B<tin> to "
@@ -6574,16 +6662,16 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2834
+#: doc/tin.1:2887
 msgid ""
 "When B<tin> starts up the user's kill-file I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/"
-"filter> (see also B<\\%tin>(5))  is read. Each time a newsgroup is entered "
-"the rules are applied and articles killed or selected when they meet certain "
-"criteria."
+"filter> or the file specified via ''B<-F>'' is read (see also B<\\"
+"%tin>(5)  ). Each time a newsgroup is entered the rules are applied and "
+"articles killed or selected when they meet certain criteria."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2839
+#: doc/tin.1:2892
 msgid ""
 "The degree to which rules are applied depend on the B<kill_level> tinrc "
 "setting. By default killed articles will only be marked read. Adjust "
@@ -6592,7 +6680,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2844
+#: doc/tin.1:2897
 msgid ""
 "Filtering rules can be manually entered into I<${TIN_HOMEDIR:-\"$HOME\"}/."
 "tin/filter> (but don't do this whilst running B<tin> else you will lose your "
@@ -6600,7 +6688,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2849
+#: doc/tin.1:2902
 msgid ""
 "The filtering capabilities of B<tin> have been significantly enhanced over "
 "previous versions to include scoring and better pattern matching. It is "
@@ -6609,13 +6697,13 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2851
-msgid "E<lt>http://www.tin.org/filtering.txtE<gt>."
-msgstr ""
+#: doc/tin.1:2904
+msgid "E<lt>http://bzr.tin.org/doc/filteringE<gt>."
+msgstr "E<lt>http://bzr.tin.org/doc/filteringE<gt>."
 
 #.  FIXME - Next paragraph is out of date
 #. type: Plain text
-#: doc/tin.1:2864
+#: doc/tin.1:2917
 msgid ""
 "The on-screen filtering menu is accessed by pressing B<MenuFilterKill> "
 "('B<^K>') or B<MenuFilterSelect> ('B<^A>')  at the Group and Article levels. "
@@ -6628,20 +6716,20 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:2864
+#: doc/tin.1:2917
 #, no-wrap
 msgid "POSTING ARTICLES"
 msgstr "RETENIENDO ARTÃCULOS"
 
 #. type: Plain text
-#: doc/tin.1:2867
+#: doc/tin.1:2920
 msgid ""
 "B<tin> allows posting of articles, follow-up to already posted articles and "
 "replying direct through mail to the author of an article."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2877
+#: doc/tin.1:2930
 msgid ""
 "Use the B<Post> ('B<w>') command to post an article to a newsgroup.  After "
 "entering the post subject the default editor (i.e., B<\\%vi>(1))  or the "
@@ -6654,7 +6742,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2882
+#: doc/tin.1:2935
 msgid ""
 "Use the B<DisplayPostHist> ('B<W>') command to display a history of the "
 "articles you have posted. The date the article was posted, which newsgroups "
@@ -6663,7 +6751,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2890
+#: doc/tin.1:2943
 msgid ""
 "Use the B<PageFollowupQuote> ('B<f>'), B<PageFollowup> ('B<F>')  or "
 "B<PageFollowupQuoteHeaders> ('B<^W>') command to post a follow-up article to "
@@ -6675,7 +6763,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2904
+#: doc/tin.1:2957
 msgid ""
 "Use the B<PageReplyQuote> ('B<r>'), B<PageReply> ('B<R>') or "
 "B<PageReplyQuoteHeaders> ('B<^E>') command to reply direct through mail to "
@@ -6690,31 +6778,32 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:2904
+#: doc/tin.1:2957
 #, no-wrap
 msgid "CUSTOMIZING THE ARTICLE QUOTE STRING"
 msgstr "ADAPTADO LOS ARTÃCULOS ENTRECOMILLADOS"
 
 #. type: Plain text
-#: doc/tin.1:2912
+#: doc/tin.1:2966
 msgid ""
 "When posting a followup to an article or replying direct to the author of an "
 "article via email the text of the article can be quoted. The beginning of "
 "the quoted text can contain information about the quoted article (e.g., Name "
-"and the Message-ID of the article). To allow for different situations "
-"certain information from the article can be used in the quoted string. The "
-"following variables are expanded if found in the tinrc variables "
-"B<mail_quote_format>, B<news_quote_format> or B<xpost_quote_format>:"
+"and the Message-ID of the article). If the article has multiple addresses "
+"only the first is evaluated. To allow for different situations certain "
+"information from the article can be used in the quoted string. The following "
+"variables are expanded if found in the tinrc variables B<mail_quote_format>, "
+"B<news_quote_format> or B<xpost_quote_format>:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:2914
+#: doc/tin.1:2968
 #, no-wrap
 msgid "\\w'%A  'u +\\w'Address'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2923
+#: doc/tin.1:2977
 #, no-wrap
 msgid ""
 "B<%A>\tAddress (Email)\n"
@@ -6728,33 +6817,35 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2926
+#: doc/tin.1:2980
 msgid "e.g.,"
 msgstr "p.e.,"
 
 #. type: Plain text
-#: doc/tin.1:2931
+#: doc/tin.1:2985
 #, no-wrap
 msgid ""
-"CW<mail_quote_format=On %D in %G you wrote:\n"
-"news_quote_format=In %M, %F wrote:>\n"
+"\\f(CRmail_quote_format=On %D in %G you wrote:\n"
+"news_quote_format=In %M, %F wrote:\\fR\n"
 msgstr ""
+"\\f(CRmail_quote_format=On %D in %G you wrote:\n"
+"news_quote_format=In %M, %F wrote:\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:2935
+#: doc/tin.1:2989
 msgid "would expand to:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2940
+#: doc/tin.1:2994
 #, no-wrap
 msgid ""
-"CW<On 21 Sep 1993 09:45:51 -0400 in alt.sources you wrote:\n"
-"In E<lt>abcINN123@example.orgE<gt>, Joe Bar E<lt>joe@example.orgE<gt> wrote:>\n"
+"\\f(CROn 21 Sep 1993 09:45:51 -0400 in alt.sources you wrote:\n"
+"In E<lt>abcINN123@example.orgE<gt>, Joe Bar E<lt>joe@example.orgE<gt> wrote:\\fR\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2950
+#: doc/tin.1:3004
 msgid ""
 "The quoted text section of an article is marked by a preceding quote string "
 "at the beginning of each quoted line. The default quote string is set to "
@@ -6764,13 +6855,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:2950
+#: doc/tin.1:3004
 #, no-wrap
 msgid "MAILING PIPING PRINTING REPOSTING AND SAVING ARTICLES"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2957
+#: doc/tin.1:3011
 msgid ""
 "The command interface to B<GroupMail>, B<PageMail>, B<PostMail> or "
 "B<ThreadMail> ('B<m>'), B<Pipe> ('B<|>'), B<Print> ('B<o>'), B<PageRepost> "
@@ -6780,7 +6871,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2962
+#: doc/tin.1:3016
 msgid ""
 "Auto-saving with B<*AutoSave> ('B<S>') is a special case and operates only "
 "on marked articles. They will processed without any further prompting "
@@ -6789,7 +6880,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2966
+#: doc/tin.1:3020
 msgid ""
 "Otherwise, the initial prompt will ask you to select which article, thread, "
 "hot (auto-selected), regular expression pattern, tagged articles you wish to "
@@ -6797,7 +6888,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2970
+#: doc/tin.1:3024
 msgid ""
 "Tagged articles must have already been tagged with a B<*Tag> ('B<t>')  "
 "command. All tagged articles can be untagged by a B<*Untag> ('B<U>')  untag "
@@ -6805,7 +6896,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2976
+#: doc/tin.1:3030
 msgid ""
 "If a regular expression pattern is selected you are asked to enter a pattern "
 "(e.g., to match all articles subject lines containing 'net News' you enter "
@@ -6815,7 +6906,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2981
+#: doc/tin.1:3035
 msgid ""
 "Various expansion characters are recognized when entering the directory and "
 "file to save to. Environment variables (prefixed with '$') and user home "
@@ -6824,7 +6915,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2986
+#: doc/tin.1:3040
 msgid ""
 "To save articles to a mailbox enter '=E<lt>mailbox nameE<gt>' when asked for "
 "the save filename. If you enter just '=' then articles will be saved to a "
@@ -6833,16 +6924,16 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2991
+#: doc/tin.1:3045
 msgid ""
 "To save in savedir/E<lt>news.group.nameE<gt>/E<lt>filenameE<gt> format enter "
 "'+E<lt>filenameE<gt>'.  See B<savedir>. Like '+' %G is expanded to the "
 "current news.group.name but without B<savedir> prefixed. %P is expanded to "
-"the news.group.name with all '.' replaced by '/'."
+"the news.group.name with all '.\\&' replaced by '/'."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2996
+#: doc/tin.1:3050
 msgid ""
 "If saving multiple files at once the filename (if not referring to a "
 "mailbox)  will be extended by \".num\" where \"num\" is at least 3 digit "
@@ -6851,20 +6942,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3002
+#: doc/tin.1:3056
 msgid ""
 "When saving articles you can specify whether the saved files should be post "
 "processed. A default process type can be set via B<post_process_type>."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3002
+#: doc/tin.1:3056
 #, no-wrap
 msgid "AUTOMATIC MAILING AND SAVING NEW NEWS"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3014
+#: doc/tin.1:3068
 msgid ""
 "B<tin> allows new/unread news articles to be mailed (''B<-M>'' and \\&''B<-"
 "N>'' option) or saved (''B<-S>'' option) in batch mode for later reading. "
@@ -6879,7 +6970,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3018
+#: doc/tin.1:3072
 msgid ""
 "When using ''B<-S>'' together with a given directory to save to (''B<-s>'' "
 "option), the same directory must be specified when reading the articles by "
@@ -6887,7 +6978,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3025
+#: doc/tin.1:3079
 msgid ""
 "If you only want to save some of your groups use the B<batch_save> tinrc "
 "variable. Set to ON or OFF in tinrc to enable/disable saving of all groups "
@@ -6898,71 +6989,71 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3025
+#: doc/tin.1:3079
 #, no-wrap
 msgid "B<tin -M iain -c -f newsrc.mail>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3029
+#: doc/tin.1:3083
 msgid ""
 "(mail any unread articles in newsgroups specified in file newsrc.mail to the "
 "local user iain and mark them as read)"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3029
+#: doc/tin.1:3083
 #, no-wrap
 msgid "B<tin -S -c -f newsrc.save>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3033
+#: doc/tin.1:3087
 msgid ""
 "(save any unread articles in newsgroups specified in file newsrc.save and "
 "mark them as read)"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3033
+#: doc/tin.1:3087
 #, no-wrap
 msgid "B<tin -R>"
 msgstr "B<tin -R>"
 
 #. type: Plain text
-#: doc/tin.1:3038
+#: doc/tin.1:3092
 msgid "(read any articles saved by B<tin -S>)"
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3038
+#: doc/tin.1:3092
 #, no-wrap
 msgid "RANGES"
 msgstr "LÃMITES"
 
 #. type: Plain text
-#: doc/tin.1:3050
+#: doc/tin.1:3104
 msgid ""
 "A range is simply a group of items marked using the B<SetRange> (B<'#'>) "
 "key. Certain B<tin> commands will operate on a range if one exists rather "
 "than just the current item. A range is an expression of the form "
-"E<lt>minE<gt>\\(enE<lt>maxE<gt>, e.g. 10\\(en15 will highlight items 10 "
-"through 15 on the current screen. Other than absolute numeric positions, '.' "
-"can be used in place of the current cursor position and '$' can be used to "
-"mean the highest number available. Entering '0' at the prompt undoes the "
+"E<lt>minE<gt>\\(enE<lt>maxE<gt>, e.g., 10\\(en15 will highlight items 10 "
+"through 15 on the current screen. Other than absolute numeric positions, '."
+"\\&' can be used in place of the current cursor position and '$' can be used "
+"to mean the highest number available. Entering '0' at the prompt undoes the "
 "previously entered range selection. Currently the only commands that "
 "understand ranges are B<GroupMarkThdRead> ('B<K>'), B<MarkArtUnread> "
 "('B<z>') and B<MarkThdUnread> ('B<Z>')."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3050
+#: doc/tin.1:3104
 #, no-wrap
 msgid "NEWSGROUP LISTS & WILDCARDS"
 msgstr "LISTADOS DE GRUPOS NOTICIARIOS Y COMODINES"
 
 #. type: Plain text
-#: doc/tin.1:3062
+#: doc/tin.1:3116
 msgid ""
 "Several places in B<tin> allow you to specify a list of newsgroups. These "
 "include command-line groups, (un)subscribe groups, the AUTO[UN]SUBSCRIBE "
@@ -6970,67 +7061,67 @@ msgid ""
 "also use the same syntax. B<tin> interprets this variable similarly to B<\\"
 "%rn>(1).  It contains a list of patterns, separated by commas and possibly "
 "prefixed with exclamation points. An exclamation point negates the meaning "
-"of a match on this pattern, and can be used to cancel certain matches. See B<"
-"\\%wildmat>(3)  for details about the understood patterns. Some examples:"
+"of a match on this pattern, and can be used to cancel certain matches. See "
+"B<\\%wildmat>(3)  for details about the understood patterns. Some examples:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3064
+#: doc/tin.1:3118
 msgid "I<alt.config,news.*,!news.test>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3066
+#: doc/tin.1:3120
 msgid ""
 "Matches alt.config and everything in the 'news' hierarchy except news.test"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3071
+#: doc/tin.1:3125
 msgid ""
 "See the explanation for the $B<AUTOSUBSCRIBE> and $B<AUTOUNSUBSCRIBE> "
 "variables for further examples."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3071
+#: doc/tin.1:3125
 #, no-wrap
 msgid "SIGNATURES"
 msgstr "FIRMAS"
 
 #. type: Plain text
-#: doc/tin.1:3080
+#: doc/tin.1:3134
 msgid ""
 "B<tin> will recognize a signature in either I<${TIN_HOMEDIR:-\"$HOME\"}/."
-"signature> or I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>.  If I<${TIN_HOMEDIR:-\"$HOME"
-"\"}/.signature> exists, then the signature will be pulled into the editor "
-"for mail commands only. A signature in I<${TIN_HOMEDIR:-\"$HOME\"}/."
+"signature> or I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>.  If I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.signature> exists, then the signature will be pulled into the "
+"editor for mail commands only. A signature in I<${TIN_HOMEDIR:-\"$HOME\"}/."
 "signature> will not be pulled into the editor for posting commands since B<\\"
 "%inews>(1)  will append the signature itself."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3083
+#: doc/tin.1:3137
 msgid ""
 "A signature in I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig> will be pulled into the "
 "editor for both posting and mailing commands."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3085
+#: doc/tin.1:3139
 msgid "The following is an example of a I<.Sig> file:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3090
+#: doc/tin.1:3144
 #, no-wrap
 msgid ""
-"CW<NAMES  Joe Bar E<lt>joe@example.orgE<gt>\n"
-"SNAIL  Musterweg 12, 99999 Notreal, Germany>\n"
+"\\f(CRNAMES  Joe Bar E<lt>joe@example.orgE<gt>\n"
+"SNAIL  Musterweg 12, 99999 Notreal, Germany\\fR\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3105
+#: doc/tin.1:3159
 msgid ""
 "B<tin> also has the capability to generate random signatures on a per "
 "newsgroup basis if so desired. The way to accomplish this is to specify the "
@@ -7044,28 +7135,29 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3105
+#: doc/tin.1:3159
 #, no-wrap
 msgid "CUSTOMIZING THE SCREEN FORMAT"
 msgstr "PERSONALIZANDO FORMATO DE PANTALLA"
 
 #. type: Plain text
-#: doc/tin.1:3110
+#: doc/tin.1:3165
 msgid ""
 "The look of the Selection, Group and Thread level can be customized via "
 "format strings. These format strings define the content and the position of "
 "each element on the screen. Variables are used within the format strings as "
-"placeholders. The following variables are available:"
+"placeholders. If the article has multiple addresses only the first is "
+"evaluated. The following variables are available:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:3113
+#: doc/tin.1:3168
 #, no-wrap
 msgid "\\w'%G    'u +\\w'current group/thread/article number'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3130
+#: doc/tin.1:3185
 #, no-wrap
 msgid ""
 "B<%D>\tdate\n"
@@ -7087,20 +7179,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3135
+#: doc/tin.1:3190
 msgid ""
 "Not all variables can be used in each level. The following table provides an "
 "overview:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:3138
+#: doc/tin.1:3193
 #, no-wrap
 msgid "\\w'%G        'uC +\\w'B<select_format> 'uC +\\w'B<group_format> 'uC +\\w'B<thread_format>'uC"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3156
+#: doc/tin.1:3211
 #, no-wrap
 msgid ""
 "\tB<select_format>\tB<group_format>\tB<thread_format>\n"
@@ -7123,18 +7215,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3160 doc/tin.1:3314
+#: doc/tin.1:3215 doc/tin.1:3379
 msgid "Defaults for the format strings:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:3163
+#: doc/tin.1:3218
 #, no-wrap
 msgid "\\w'select_format  'u +\\w'\"B<%n %m  [%L]  %T  %F>\"'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3167
+#: doc/tin.1:3222
 #, no-wrap
 msgid ""
 "B<select_format>:\t\"B<%f %n %U  %G  %d>\"\n"
@@ -7143,7 +7235,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3173
+#: doc/tin.1:3228
 msgid ""
 "B<show_description> controls whether the newsgroup description is shown or "
 "not. The description can also be toggled with B<SelectToggleDescriptions> "
@@ -7151,7 +7243,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3178
+#: doc/tin.1:3233
 msgid ""
 "The information displayed with 'B<%F>' depends on the value of "
 "B<show_author>. B<GroupToggleSubjDisplay> resp.  B<ThreadToggleSubjDisplay> "
@@ -7159,15 +7251,15 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3182
+#: doc/tin.1:3237
 msgid ""
 "For date representation 'B<%D>' uses B<date_format>. It is possible to "
-"specify a different date format in round brackets (e.g. 'B<%(%d %b %y %H:"
+"specify a different date format in round brackets (e.g., 'B<%(%d %b %y %H:"
 "%M)D>'). See B<date_format> for more details."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3186
+#: doc/tin.1:3241
 msgid ""
 "The length of each item (except 'B<%%>') can be defined with a positive "
 "number after the 'B<%>'. The following example displays the score in the "
@@ -7175,34 +7267,34 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3192
+#: doc/tin.1:3247
 msgid ""
 "If the newsgroup name is displayed together with the newsgroup description, "
 "the width of the newsgroup name can be controlled via an optional comma "
-"separated second value (e.g. 'B<%60,20G>'). It is valid to omit the first "
-"value (e.g. ('B<%,20G>')). If no second value is given, B<tin> uses a "
+"separated second value (e.g., 'B<%60,20G>'). It is valid to omit the first "
+"value (e.g., ('B<%,20G>')). If no second value is given, B<tin> uses a "
 "default value of 32."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3199
+#: doc/tin.1:3254
 msgid ""
 "Some variables do have a default width which may lead to truncation.  "
 "Truncation for variables which contain only numbers happens by dividing the "
 "value with a sufficient power of ten and adding a SI suffix to the result, "
 "that is the variable holds a value of 54321 and the width for the variable "
 "is 4 the result will be \"54 k\". If that's undesired you have to specify a "
-"larger width manually, e.g. 'B<%6n>'. Here is an overview of the defaults:"
+"larger width manually, e.g., 'B<%6n>'. Here is an overview of the defaults:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:3202
+#: doc/tin.1:3257
 #, no-wrap
 msgid "\\w'Variable  'u +\\w'width'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3211
+#: doc/tin.1:3266
 #, no-wrap
 msgid ""
 "Variable\twidth\n"
@@ -7216,7 +7308,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3222
+#: doc/tin.1:3277
 msgid ""
 "If no length is given for 'B<%D>', the length is determined by the format "
 "string for the date and the date of the current day. If the date format "
@@ -7229,7 +7321,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3226
+#: doc/tin.1:3281
 msgid ""
 "In case the format string contains 'B<%G>' and 'B<%d>' and no length are "
 "given, B<tin> determines the longest newsgroup name and uses this length for "
@@ -7237,37 +7329,46 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3230
+#: doc/tin.1:3285
 msgid ""
-"When the format string contains the specifier 'B<%F>' and 'B<%s>' resp. 'B<"
-"%T>' and no length are given, 'B<%F>' will use one third and 'B<%s>' resp. "
-"'B<%T>' will use two third of the available space."
+"When the format string contains the specifier 'B<%F>' and 'B<%s>' resp. "
+"'B<%T>' and no length are given, 'B<%F>' will use one third and 'B<%s>' "
+"resp. 'B<%T>' will use two third of the available space."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3238
+#: doc/tin.1:3295
 msgid ""
-"In addition, a minimum screen width can be defined for each item (except 'B<%"
-"%>'). In this case, the item will only be displayed when the screen is wider "
-"than specified. This comes in handy to not overload a small screen but have "
-"maximum information on a large screen. The minimum screen width has to be "
-"specified by a positive number preceded by an 'B<E<gt>>'. In the following "
-"example B<tin> will display the score only if the screen is wider than 100 "
-"characters: 'B<%E<gt>100S>'."
+"In addition, a minimum or a maximum screen width can be defined for each "
+"item (except 'B<%%>'). In this case, the item will only be displayed when "
+"the screen is wider resp. smaller than specified. This comes in handy to not "
+"overload a small screen but have maximum information on a large screen. The "
+"minimum screen width has to be specified by a positive number preceded by an "
+"'B<E<gt>>', the maximum screenwidth has to be specified by a positive number "
+"preceded by an 'B<E<lt>>'. In the following example B<tin> will display the "
+"score only if the screen is wider than 100 characters: 'B<%E<gt>100S>'."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3244
+#: doc/tin.1:3309
 msgid ""
-"If both the length and the minimum screen width should be specified for an "
-"item, the length must be the first parameter and the minimum screen width "
-"must be the second one. The following example displays the score with a "
-"length of 10 characters only if the screen is wider than 100 characters: 'B<"
-"%10E<gt>100S>'."
+"If both the length and the minimum or maximum screen width should be "
+"specified for an item, the length must be the first parameter and the "
+"minimum or maximum screen width must be the second one. The following "
+"example displays the score with a length of 10 characters only if the screen "
+"is wider than 100 characters: 'B<%10E<gt>100S>'. A second length can be "
+"specified for 'B<%F>' and 'B<%s>' resp. 'B<%T>', separated by a colon, which "
+"is used if the minimum or maximum screen width is not reached.  If no length "
+"is specified after the colon, the item is displayed even if the minimum "
+"screen width is not reached and the length is calculated as if no minimum "
+"(or maximum) screen width had been specified. In the following example "
+"B<tin> will display the subject with a length of 60 characters if the screen "
+"is wider than 100 characters, otherwise a length of 40 characters is used: "
+"'B<%60E<gt>100:40s>'."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3248
+#: doc/tin.1:3313
 msgid ""
 "The look of the Attachment level and the mime and uue header at Page level "
 "can be customized too via format strings.  The following variables are "
@@ -7275,13 +7376,13 @@ msgid ""
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:3251
+#: doc/tin.1:3316
 #, no-wrap
 msgid "\\w'%G    'u +\\w'Complete/incomplete UUE part indicator'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3270
+#: doc/tin.1:3335
 #, no-wrap
 msgid ""
 "B<%C>\tCharset\n"
@@ -7305,20 +7406,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3275
+#: doc/tin.1:3340
 msgid ""
 "Not all items can be used in each variable. The following table provides an "
 "overview:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:3278
+#: doc/tin.1:3343
 #, no-wrap
 msgid "\\w'%G   'uC +\\w'B<attachment_format> 'uC +\\w'B<page_mime_format> 'uC +\\w'B<page_uue_format>'uC"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3298
+#: doc/tin.1:3363
 #, no-wrap
 msgid ""
 "\tB<attachment_format>\tB<page_mime_format>\tB<page_uue_format>\n"
@@ -7343,14 +7444,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3312
+#: doc/tin.1:3377
 msgid ""
 "By default, the string is not truncated. If it exceeds the screen width, it "
-"is wrapped. If the % sign is followed by an exclamation mark ('!') for "
+"is wrapped. If the % sign is followed by an exclamation mark ('!\\&') for "
 "uppercase letters, the element is omitted if there is not enough space. If "
 "the % sign is followed by an asterisk ('*') for a lowercase letter, the "
 "description is omitted if there is not enough space. If the % sign is "
-"followed by an exclamation mark ('!') for a lowercase letter, the "
+"followed by an exclamation mark ('!\\&') for a lowercase letter, the "
 "description is omitted first and then the content. The shortening is always "
 "from right to left, first the description is omitted and when no more "
 "description is displayed, the content is omitted. If %T and %S follow each "
@@ -7359,13 +7460,13 @@ msgid ""
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:3317
+#: doc/tin.1:3382
 #, no-wrap
 msgid "\\w'attachment_format'u +\\w'\"B<%T%S%E%C%d>\"'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3321
+#: doc/tin.1:3386
 #, no-wrap
 msgid ""
 "B<attachment_format>:\t\"B<%T%S%E%C%d>\"\n"
@@ -7374,13 +7475,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3324
+#: doc/tin.1:3389
 #, no-wrap
 msgid "TIPS AND TRICKS"
 msgstr "CONSEJOS Y TRUCOS"
 
 #. type: Plain text
-#: doc/tin.1:3328
+#: doc/tin.1:3393
 msgid ""
 "B<tin> can be pretty much be navigated by using the four cursor keys.  The "
 "left arrow key goes up a level, the right arrow key goes down a level, the "
@@ -7388,32 +7489,32 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3330
+#: doc/tin.1:3395
 msgid ""
 "The following newsgroups provide useful information concerning news software:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3333
+#: doc/tin.1:3398
 msgid ""
 "\\(emnews.software.readers (info. about news user agents tin, rn, nn, slrn "
 "etc.)"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3335
+#: doc/tin.1:3400
 msgid "\\(emnews.software.nntp (info. about NNTP)"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3337
+#: doc/tin.1:3402
 msgid ""
 "\\(emnews.answers (Frequently Asked Questions (FAQ) about many different "
 "themes)"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3341
+#: doc/tin.1:3406
 msgid ""
 "Many prompts within B<tin> offer a default choice that the cursor is "
 "positioned on. By pressing 'B<E<lt>CRE<gt>>' the default value is taken.  "
@@ -7421,14 +7522,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3348
+#: doc/tin.1:3413
 msgid ""
 "When B<tin> is run in an B<\\%xterm>(1x)  it will resize itself each time "
 "the B<\\%xterm>(1x)  is resized."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3352
+#: doc/tin.1:3417
 msgid ""
 "B<tin> will reread the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-"
 "active}> file at set intervals (B<reread_active_file_secs>) to show any "
@@ -7436,20 +7537,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3357
+#: doc/tin.1:3422
 msgid ""
 "If you find large number of new newsgroups cluttering up your screen, "
 "pressing B<SelectToggleReadDisplay> ('B<r>') will make them go away."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3357
+#: doc/tin.1:3422
 #, no-wrap
 msgid "XTERM BUTTONS"
 msgstr "BOTONES TERMINALES XTERM"
 
 #. type: Plain text
-#: doc/tin.1:3363
+#: doc/tin.1:3428
 msgid ""
 "If the environment variable B<$TERM> is set to B<\\%xterm>(1x), then button "
 "pressing can be used to select groups and articles. In this discussion, the "
@@ -7458,103 +7559,103 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3365
+#: doc/tin.1:3430
 msgid "In general (i.e., for the group, thread and article menus),"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3365
+#: doc/tin.1:3430
 #, no-wrap
 msgid "Button1 (left)"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3368
+#: doc/tin.1:3433
 msgid ""
 "enters next (lower) level if you click on an article, otherwise pages down."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3368
+#: doc/tin.1:3433
 #, no-wrap
 msgid "Button2 (center)"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3372
+#: doc/tin.1:3437
 msgid ""
 "returns to the previous (upper) level if you click on an article, otherwise "
 "pages up."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3372
+#: doc/tin.1:3437
 #, no-wrap
 msgid "Button3 (right)"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3376
+#: doc/tin.1:3441
 msgid ""
 "positions on the article line under mouse cursor, or pages down if you've "
 "clicked outside the list of articles."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3378
+#: doc/tin.1:3443
 msgid "In the group selection menu, if the mouse is pointing at a group then:"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3378 doc/tin.1:3390 doc/tin.1:3404
+#: doc/tin.1:3443 doc/tin.1:3455 doc/tin.1:3469
 #, no-wrap
 msgid "left button"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3382
+#: doc/tin.1:3447
 msgid ""
 "moves to and selects the group pointed at, just like B<SelectReadGrp> "
 "('B<E<lt>CRE<gt>>')."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3382 doc/tin.1:3394 doc/tin.1:3407
+#: doc/tin.1:3447 doc/tin.1:3459 doc/tin.1:3472
 #, no-wrap
 msgid "center button"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3385
+#: doc/tin.1:3450
 msgid "quits the program, just like B<Quit> ('B<q>')."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3385 doc/tin.1:3399 doc/tin.1:3412
+#: doc/tin.1:3450 doc/tin.1:3464 doc/tin.1:3477
 #, no-wrap
 msgid "right button"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3388
+#: doc/tin.1:3453
 msgid "moves to the group pointed at."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3390
+#: doc/tin.1:3455
 msgid ""
 "In the article menu, if the mouse is pointing at an article (or thread) then:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3394
+#: doc/tin.1:3459
 msgid ""
 "reads the article pointed at, just like B<GroupReadBasenote> "
 "('B<E<lt>CRE<gt>>'), or the thread, just like B<GroupListThd> ('B<l>')."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3399
+#: doc/tin.1:3464
 msgid ""
 "exits the menu, catching up on the group if you have "
 "B<group_catchup_on_exit> set in your configuration, just like B<Quit> "
@@ -7562,23 +7663,23 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3402
+#: doc/tin.1:3467
 msgid "moves to the article (or thread) pointed at."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3404
+#: doc/tin.1:3469
 msgid "In the thread menu, if the mouse is pointing at an article then:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3407
+#: doc/tin.1:3472
 msgid ""
 "reads article pointed at, just like B<ThreadReadArt> ('B<E<lt>CRE<gt>>')."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3412
+#: doc/tin.1:3477
 msgid ""
 "exits the menu, catching up on the thread if you have "
 "B<thread_catchup_on_exit> set in your configuration, just like B<Quit> "
@@ -7586,25 +7687,25 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3415
+#: doc/tin.1:3480
 msgid "moves to the article pointed at."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3422
+#: doc/tin.1:3487
 msgid ""
 "In other menus and areas button pressing reverts back to usual cut and paste "
 "of B<\\%xterm>(1x), but after one click of any button."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3422
+#: doc/tin.1:3487
 #, no-wrap
 msgid "INDEX FILES"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3427
+#: doc/tin.1:3492
 msgid ""
 "If your news server supports NOV index files (see B<\\%newsoverview>(5), "
 "most modern installations will) and you have a fast connection to your news "
@@ -7612,21 +7713,22 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3433
+#: doc/tin.1:3499
 msgid ""
 "If your news server doesn't support NOV index files or you have a very slow "
 "connection to your news server then B<tin> can cache the index for each "
 "newsgroup if B<cache_overview_files> is set to ON.  Note that this cache can "
 "use up large amounts of disk space if you read a lot of groups and/or high "
-"traffic groups."
+"traffic groups. To reduce the amount of disk space used, "
+"B<compress_overview_files> can be set to ON."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3442
+#: doc/tin.1:3508
 msgid ""
-"Each user creates/updates his/her own index files that are stored in I<"
-"${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news/>. If you are "
-"reading via NNTP then the news server name will be appended to keep the "
+"Each user creates/updates his/her own index files that are stored in "
+"I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news/>. If you "
+"are reading via NNTP then the news server name will be appended to keep the "
 "indexes for different servers separate. If you are reading off the local "
 "spool and local overview files already exist then turning on caching will "
 "have no effect. Likewise unless you see significant delays entering a group "
@@ -7634,7 +7736,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3449
+#: doc/tin.1:3515
 msgid ""
 "Entering a group the first time tends to be slow because the index file must "
 "be built from scratch. To alleviate the slowness start B<tin> to create all "
@@ -7645,35 +7747,37 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3454
+#: doc/tin.1:3520
 msgid ""
 "As indexing might take some time you may want to run B<tin> from the system "
 "batcher B<\\%cron>(8)  with the ''B<-u>'' option:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3459
+#: doc/tin.1:3525
 #, no-wrap
-msgid "CW<30 6 * * * /usr/local/bin/tin -u>\n"
-msgstr ""
+msgid "\\f(CR30 6 * * * /usr/local/bin/tin -u\\fR\n"
+msgstr "\\f(CR30 6 * * * /usr/local/bin/tin -u\\fR\n"
 
 #. type: Plain text
-#: doc/tin.1:3465
+#: doc/tin.1:3531
 msgid ""
 "If you are low on local disk space you should consider to manually purge "
 "cached data for groups you are not reading anymore with something like:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3471
+#: doc/tin.1:3537
 #, no-wrap
 msgid ""
-"CW<find ${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news* \\e\n"
-"-type f -name \"[0-9]*.[0-9]\" -atime +28 | xargs rm -f>\n"
+"\\f(CRfind ${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news* \\e\n"
+"-type f -name \"[0-9]*.[0-9]\" -atime +28 | xargs rm -f\\fR\n"
 msgstr ""
+"\\f(CRfind ${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news* \\e\n"
+"-type f -name \"[0-9]*.[0-9]\" -atime +28 | xargs rm -f\\fR\n"
 
 #. type: SH
-#: doc/tin.1:3476 doc/tin.1:3477 doc/tin.5:21
+#: doc/tin.1:3542 doc/tin.5:21
 #, no-wrap
 msgid "FILES"
 msgstr "FICHEROS"
@@ -7693,8 +7797,9 @@ msgstr "FICHEROS"
 #.        $TMPDIR/SCOPES-R   (-D 32)
 #.        $TMPDIR/SCOPES-W   (-D 32)
 #.        $TMPDIR/ACTIVE     (-D 64)
+#.        $TMPDIR/GNKSA      (-D 64)
 #. type: Plain text
-#: doc/tin.1:3495
+#: doc/tin.1:3561
 msgid "For a detailed description see B<\\%tin>(5)."
 msgstr ""
 
@@ -7718,119 +7823,119 @@ msgstr ""
 #.  $TMPDIR/SCOPES-W   (-D 32)
 #.  $TMPDIR/ACTIVE     (-D 64)
 #. type: Plain text
-#: doc/tin.1:3497 doc/tin.5:42
+#: doc/tin.1:3563 doc/tin.5:42
 msgid "I<$MAILCAPS>"
 msgstr "I<$MAILCAPS>"
 
 #. type: Plain text
-#: doc/tin.1:3499 doc/tin.5:44
+#: doc/tin.1:3565 doc/tin.5:44
 msgid "I<~/.mailcap>"
 msgstr "I<~/.mailcap>"
 
 #. type: Plain text
-#: doc/tin.1:3501 doc/tin.5:46
+#: doc/tin.1:3567 doc/tin.5:46
 msgid "I</etc/mailcap>"
 msgstr "I</etc/mailcap>"
 
 #. type: Plain text
-#: doc/tin.1:3503 doc/tin.5:48
+#: doc/tin.1:3569 doc/tin.5:48
 msgid "I</usr/etc/mailcap>"
 msgstr "I</usr/etc/mailcap>"
 
 #. type: Plain text
-#: doc/tin.1:3505 doc/tin.5:50
+#: doc/tin.1:3571 doc/tin.5:50
 msgid "I</usr/local/etc/mailcap>"
 msgstr "I</usr/local/etc/mailcap>"
 
 #. type: Plain text
-#: doc/tin.1:3507 doc/tin.5:52
+#: doc/tin.1:3573 doc/tin.5:52
 msgid "I</etc/mail/mailcap>"
 msgstr "I</etc/mail/mailcap>"
 
 #. type: Plain text
-#: doc/tin.1:3510 doc/tin.5:221
+#: doc/tin.1:3576 doc/tin.5:221
 msgid "I</etc/nntpserver>"
 msgstr "I</etc/nntpserver>"
 
 #. type: Plain text
-#: doc/tin.1:3513 doc/tin.5:231
+#: doc/tin.1:3579 doc/tin.5:231
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.cancelsecret>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.cancelsecret>"
 
 #. type: Plain text
-#: doc/tin.1:3516 doc/tin.5:241
+#: doc/tin.1:3582 doc/tin.5:241
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.mime.types>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.mime.types>"
 
 #. type: Plain text
-#: doc/tin.1:3518 doc/tin.5:243
+#: doc/tin.1:3584 doc/tin.5:243
 msgid "I</etc/mime.types>"
 msgstr "I</etc/mime.types>"
 
 #. type: Plain text
-#: doc/tin.1:3520 doc/tin.5:245
+#: doc/tin.1:3586 doc/tin.5:245
 msgid "I</etc/tin/mime.types>"
 msgstr "I</etc/tin/mime.types>"
 
 #. type: Plain text
-#: doc/tin.1:3523 doc/tin.5:252
+#: doc/tin.1:3589 doc/tin.5:252
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsauth>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsauth>"
 
 #. type: Plain text
-#: doc/tin.1:3526 doc/tin.5:287
+#: doc/tin.1:3592 doc/tin.5:287
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>"
 
 #. type: Plain text
-#: doc/tin.1:3530 doc/tin.5:318
+#: doc/tin.1:3596 doc/tin.5:318
 #, no-wrap
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/.oldnewsrc>\n"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/.oldnewsrc>\n"
 
 #. type: Plain text
-#: doc/tin.1:3534 doc/tin.5:326
+#: doc/tin.1:3600 doc/tin.5:326
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.signature>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.signature>"
 
 #. type: Plain text
-#: doc/tin.1:3536 doc/tin.5:328
+#: doc/tin.1:3602 doc/tin.5:328
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>"
 
 #. type: Plain text
-#: doc/tin.1:3539 doc/tin.5:335
+#: doc/tin.1:3605 doc/tin.5:335
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.sigfixed>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.sigfixed>"
 
 #. type: Plain text
-#: doc/tin.1:3542 doc/tin.5:342
+#: doc/tin.1:3608 doc/tin.5:342
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/.inputhistory>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/.inputhistory>"
 
 #. type: Plain text
-#: doc/tin.1:3545 doc/tin.5:349
+#: doc/tin.1:3611 doc/tin.5:349
 msgid "I<${TIN_INDEX_MAILDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.mail/>"
 msgstr "I<${TIN_INDEX_MAILDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.mail/>"
 
 #. type: Plain text
-#: doc/tin.1:3549 doc/tin.5:357
+#: doc/tin.1:3615 doc/tin.5:357
 #, no-wrap
 msgid "I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news${NNTPSERVER:+\"-$NNTPSERVER\"}/>\n"
 msgstr "I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news${NNTPSERVER:+\"-$NNTPSERVER\"}/>\n"
 
 #. type: Plain text
-#: doc/tin.1:3553 doc/tin.5:365
+#: doc/tin.1:3619 doc/tin.5:365
 msgid "I<${TIN_INDEX_SAVEDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.save/>"
 msgstr "I<${TIN_INDEX_SAVEDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.save/>"
 
 #. type: Plain text
-#: doc/tin.1:3556 doc/tin.5:372
+#: doc/tin.1:3622 doc/tin.5:372
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/active.mail>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/active.mail>"
 
 #. type: Plain text
-#: doc/tin.1:3559 doc/tin.5:407
+#: doc/tin.1:3625 doc/tin.5:407
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/active.save>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/active.save>"
 
@@ -7839,97 +7944,103 @@ msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin
 #.  we should think about checking for the new Paths (/news/etc/)
 #.  ${TIN_LIBDIR\-/news/etc"}/attributes
 #. type: Plain text
-#: doc/tin.1:3563 doc/tin.5:418
+#: doc/tin.1:3629 doc/tin.5:418
 msgid "I</etc/tin/attributes>"
 msgstr "I</etc/tin/attributes>"
 
 #. type: Plain text
-#: doc/tin.1:3565 doc/tin.5:420
+#: doc/tin.1:3631 doc/tin.5:420
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes>"
 
 #.  TODO: add missing descriptions and explain things in detail.
 #. type: Plain text
-#: doc/tin.1:3568 doc/tin.5:755
+#: doc/tin.1:3634 doc/tin.5:772
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/filter>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/filter>"
 
 #. type: Plain text
-#: doc/tin.1:3572 doc/tin.5:898
+#: doc/tin.1:3638 doc/tin.5:915
 #, no-wrap
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/keymap${${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}:+\".${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}\"}>\n"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/keymap${${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}:+\".${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}\"}>\n"
 
 #. type: Plain text
-#: doc/tin.1:3574 doc/tin.5:900
+#: doc/tin.1:3640 doc/tin.5:917
 #, no-wrap
 msgid "I</etc/tin/keymap${${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}:+\".${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}\"}>\n"
 msgstr "I</etc/tin/keymap${${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}:+\".${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}\"}>\n"
 
 #. type: Plain text
-#: doc/tin.1:3578 doc/tin.5:1145
+#: doc/tin.1:3644 doc/tin.5:1163
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/mailgroups>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/mailgroups>"
 
 #. type: Plain text
-#: doc/tin.1:3581 doc/tin.5:1161
+#: doc/tin.1:3647 doc/tin.5:1179
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable>"
 
 #. type: Plain text
-#: doc/tin.1:3584 doc/tin.5:1193
+#: doc/tin.1:3650 doc/tin.5:1224
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/posted>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/posted>"
 
 #. type: Plain text
-#: doc/tin.1:3587 doc/tin.5:1208
+#: doc/tin.1:3653 doc/tin.5:1239
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/Mail/posted>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/Mail/posted>"
 
 #. type: Plain text
-#: doc/tin.1:3590 doc/tin.5:1218
+#: doc/tin.1:3656 doc/tin.5:1249
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/postponed.articles>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/postponed.articles>"
 
 #. type: Plain text
-#: doc/tin.1:3594 doc/tin.5:1228
+#: doc/tin.1:3660 doc/tin.5:1259
+#, no-wrap
+msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/motd>\n"
+msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/motd>\n"
+
+#. type: Plain text
+#: doc/tin.1:3665 doc/tin.5:1270
+#, no-wrap
+msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/msglog>\n"
+msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/msglog>\n"
+
+#. type: Plain text
+#: doc/tin.1:3670 doc/tin.5:1280
 #, no-wrap
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/newsgroups>\n"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/newsgroups>\n"
 
 #. type: Plain text
-#: doc/tin.1:3599 doc/tin.5:1247
+#: doc/tin.1:3675 doc/tin.5:1299
 #, no-wrap
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/serverrc>\n"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/serverrc>\n"
 
-#. type: Plain text
-#: doc/tin.1:3604 doc/tin.5:1267
-#, no-wrap
-msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/msglog>\n"
-msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/msglog>\n"
-
 #.  tin uses inns old (pre 2.x) Path convention.
 #.  as with inn >= 2.2.x getting more and more popular
 #.  we should think about checking for the new Paths (/news/etc/)
 #.  .IR ${TIN_LIBDIR\-"/news/etc"}/tinrc
 #. type: Plain text
-#: doc/tin.1:3609 doc/tin.5:1280
+#: doc/tin.1:3680 doc/tin.5:1326
 msgid "I</etc/tin/tinrc>"
 msgstr "I</etc/tin/tinrc>"
 
 #. type: Plain text
-#: doc/tin.1:3611 doc/tin.5:1282
+#: doc/tin.1:3682 doc/tin.5:1328
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc>"
 msgstr "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc>"
 
 #. type: Plain text
-#: doc/tin.1:3614 doc/tin.5:2562
+#: doc/tin.1:3685 doc/tin.5:2629
 msgid "I</etc/tin/tin.defaults>"
 msgstr "I</etc/tin/tin.defaults>"
 
 #. type: Plain text
-#: doc/tin.1:3617
+#: doc/tin.1:3688
 msgid "I</usr/local/share/locale/${LC_MESSAGES}/LC_MESSAGES/tin.mo>"
 msgstr "I</usr/local/share/locale/${LC_MESSAGES}/LC_MESSAGES/tin.mo>"
 
@@ -7938,51 +8049,51 @@ msgstr "I</usr/local/share/locale/${LC_M
 #.  we should think about checking for the new Paths
 #.  (described shown below).
 #. type: Plain text
-#: doc/tin.1:3620 doc/tin.5:2672
+#: doc/tin.1:3691 doc/tin.5:2739
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}>"
 
 #. type: Plain text
-#: doc/tin.1:3623 doc/tin.5:2733
+#: doc/tin.1:3694 doc/tin.5:2800
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/active.times>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}/active.times>"
 
 #. type: Plain text
-#: doc/tin.1:3626 doc/tin.5:2760
+#: doc/tin.1:3697 doc/tin.5:2827
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/newsgroups>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}/newsgroups>"
 
 #. type: Plain text
-#: doc/tin.1:3629 doc/tin.5:2783
+#: doc/tin.1:3700 doc/tin.5:2850
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/organization>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}/organization>"
 
 #.  is the Path correct? or is it /news/etc/overview.fmt
 #. type: Plain text
-#: doc/tin.1:3632 doc/tin.5:2793
+#: doc/tin.1:3703 doc/tin.5:2860
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/overview.fmt>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}/overview.fmt>"
 
 #.  is the Path correct? or is it /news/etc/subscriptions
 #. type: Plain text
-#: doc/tin.1:3637 doc/tin.5:2811
+#: doc/tin.1:3708 doc/tin.5:2878
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/subscriptions>"
 msgstr "I<${TIN_LIBDIR:-NEWSLIBDIR}/subscriptions>"
 
-#. type: IX
-#: doc/tin.1:3637 doc/tin.1:3638
+#. type: SH
+#: doc/tin.1:3708
 #, no-wrap
 msgid "ENVIRONMENT"
 msgstr "ENTORNO"
 
 #. type: TP
-#: doc/tin.1:3642
+#: doc/tin.1:3712
 #, no-wrap
 msgid "B<TINRC>"
 msgstr "B<TINRC>"
 
 #. type: Plain text
-#: doc/tin.1:3650
+#: doc/tin.1:3720
 msgid ""
 "Define this variable if you want to specify command-line options that B<tin> "
 "should be started with to save typing them each time it is started. The "
@@ -7992,13 +8103,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3650
+#: doc/tin.1:3720
 #, no-wrap
 msgid "B<TIN_HOMEDIR>"
 msgstr "B<TIN_HOMEDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3655
+#: doc/tin.1:3725
 msgid ""
 "Define this variable if you do not want the I<.tin> directory in I<$HOME/>. "
 "E.g., if you want all B<tin>'s private files in I</tmp/.tin> you would set "
@@ -8006,55 +8117,55 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3655
+#: doc/tin.1:3725
 #, no-wrap
 msgid "B<TIN_INDEX_NEWSDIR>"
 msgstr "B<TIN_INDEX_NEWSDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3661
+#: doc/tin.1:3731
 msgid ""
-"Define this variable if you do not want the I<.news> directory in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s news index "
-"files in I</tmp/.news> you would set $B<TIN_INDEX_NEWSDIR> to I</tmp>."
+"Define this variable if you do not want the I<.news> directory in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s news "
+"index files in I</tmp/.news> you would set $B<TIN_INDEX_NEWSDIR> to I</tmp>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3661
+#: doc/tin.1:3731
 #, no-wrap
 msgid "B<TIN_INDEX_MAILDIR>"
 msgstr "B<TIN_INDEX_MAILDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3667
+#: doc/tin.1:3737
 msgid ""
-"Define this variable if you do not want the I<.mail> directory in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s mail index "
-"files in I</tmp/.mail> you would set $B<TIN_INDEX_MAILDIR> to I</tmp>."
+"Define this variable if you do not want the I<.mail> directory in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s mail "
+"index files in I</tmp/.mail> you would set $B<TIN_INDEX_MAILDIR> to I</tmp>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3667
+#: doc/tin.1:3737
 #, no-wrap
 msgid "B<TIN_INDEX_SAVEDIR>"
 msgstr "B<TIN_INDEX_SAVEDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3673
+#: doc/tin.1:3743
 msgid ""
-"Define this variable if you do not want the I<.save> directory in I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s save index "
-"files in I</tmp/.save> you would set $B<TIN_INDEX_SAVEDIR> to I</tmp>."
+"Define this variable if you do not want the I<.save> directory in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s save "
+"index files in I</tmp/.save> you would set $B<TIN_INDEX_SAVEDIR> to I</tmp>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3673
+#: doc/tin.1:3743
 #, no-wrap
 msgid "B<TIN_LIBDIR>"
 msgstr "B<TIN_LIBDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3678
+#: doc/tin.1:3748
 msgid ""
 "Define this variable if you want to override the B<NEWSLIBDIR> path that was "
 "compiled into the B<tin> binary, default is I</usr/lib/news>.  If B<tin> is "
@@ -8062,13 +8173,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3678
+#: doc/tin.1:3748
 #, no-wrap
 msgid "B<TIN_SPOOLDIR>"
 msgstr "B<TIN_SPOOLDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3683
+#: doc/tin.1:3753
 msgid ""
 "Define this variable if you want to override the B<SPOOLDIR> path that was "
 "compiled into the B<tin> binary, default is I</var/spool/news>.  If B<tin> "
@@ -8076,13 +8187,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3683
+#: doc/tin.1:3753
 #, no-wrap
 msgid "B<TIN_NOVROOTDIR>"
 msgstr "B<TIN_NOVROOTDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3689
+#: doc/tin.1:3759
 msgid ""
 "Define this variable if you want to override the B<NOVROOTDIR> path that was "
 "compiled into the B<tin> binary, default is B<SPOOLDIR> (see above). If "
@@ -8090,13 +8201,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3689
+#: doc/tin.1:3759
 #, no-wrap
 msgid "B<TIN_NOVFILENAME>"
 msgstr "B<TIN_NOVFILENAME>"
 
 #. type: Plain text
-#: doc/tin.1:3695
+#: doc/tin.1:3765
 msgid ""
 "Define this variable if you want to override the B<OVERVIEW_FILE> filename "
 "that was compiled into the B<tin> binary, default is I<.overview>. If B<tin> "
@@ -8104,13 +8215,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3695
+#: doc/tin.1:3765
 #, no-wrap
 msgid "B<TIN_ACTIVEFILE>"
 msgstr "B<TIN_ACTIVEFILE>"
 
 #. type: Plain text
-#: doc/tin.1:3701
+#: doc/tin.1:3771
 msgid ""
 "Define this variable if you want to override the B<NEWSLIBDIR/active> path "
 "that was compiled into the B<tin> binary. If B<tin> is running in NNTP mode "
@@ -8119,13 +8230,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3701
+#: doc/tin.1:3771
 #, no-wrap
 msgid "B<NNTPSERVER>"
 msgstr "B<NNTPSERVER>"
 
 #. type: Plain text
-#: doc/tin.1:3707
+#: doc/tin.1:3777
 msgid ""
 "The default NNTP server to remotely read news from. This variable only needs "
 "to be set if the ''B<-r>'' command-line option is specified and the file I</"
@@ -8134,113 +8245,127 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3707
+#: doc/tin.1:3777
 #, no-wrap
 msgid "B<NNTPPORT>"
 msgstr "B<NNTPPORT>"
 
 #. type: Plain text
-#: doc/tin.1:3712
+#: doc/tin.1:3782
 msgid ""
 "The NNTP TCP-port to read news from. This variable only needs to be set if "
-"the TCP-port is not 119 (the default). The ''B<-p>'' and ''B<-T>'' command-"
-"line options do override $B<NNTPPORT>."
+"the TCP-port is not 119 (the default). The ''B<-p>'' command-line option "
+"does override $B<NNTPPORT>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3712
+#: doc/tin.1:3782
+#, no-wrap
+msgid "B<NNTPSPORT>"
+msgstr "B<NNTPSPORT>"
+
+#. type: Plain text
+#: doc/tin.1:3787
+msgid ""
+"The NNTPS TCP-port to read news from. This variable only needs to be set if "
+"the TCP-port is not 563 (the default). The ''B<-p>'' and ''B<-T>'' command-"
+"line options do override $B<NNTPSPORT>."
+msgstr ""
+
+#. type: TP
+#: doc/tin.1:3787
 #, no-wrap
 msgid "B<DISTRIBUTION>"
 msgstr "B<DISTRIBUTION>"
 
 #. type: Plain text
-#: doc/tin.1:3716
+#: doc/tin.1:3791
 msgid ""
 "Set the article header field ''Distribution:'' to the contents of the "
 "variable instead of the system default."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3716
+#: doc/tin.1:3791
 #, no-wrap
 msgid "B<ISO2ASC>"
 msgstr "B<ISO2ASC>"
 
 #. type: Plain text
-#: doc/tin.1:3720
+#: doc/tin.1:3795
 msgid ""
 "Set the ISO to ASCII charset decoding table character to use in decoding an "
 "article text. Values can range from -1 to 6."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3721
+#: doc/tin.1:3796
 #, no-wrap
 msgid "B<-1>"
 msgstr "B<-1>"
 
 #. type: Plain text
-#: doc/tin.1:3724
+#: doc/tin.1:3799
 msgid "no conversion"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3727
+#: doc/tin.1:3802
 msgid "universal table for many languages"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3730
+#: doc/tin.1:3805
 msgid "single-spacing universal table"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3733
+#: doc/tin.1:3808
 msgid "table for Danish, Dutch, German, Norwegian and Swedish"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3737
+#: doc/tin.1:3812
 msgid ""
 "table for Danish, Finnish, Norwegian and Swedish using the appropriate ISO "
 "646 variant"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3740
+#: doc/tin.1:3815
 msgid "table with B<RFC\\%1345> codes in brackets"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3740
+#: doc/tin.1:3815
 #, no-wrap
 msgid "B<5>"
 msgstr "B<5>"
 
 #. type: Plain text
-#: doc/tin.1:3743
+#: doc/tin.1:3818
 msgid "table for printers that allow overstriking with backspace"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3743
+#: doc/tin.1:3818
 #, no-wrap
 msgid "B<6>"
 msgstr "B<6>"
 
 #. type: Plain text
-#: doc/tin.1:3746
+#: doc/tin.1:3821
 msgid "table for IBM PC character set (code page 437)"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3747
+#: doc/tin.1:3822
 #, no-wrap
 msgid "B<ORGANIZATION>"
 msgstr "B<ORGANIZATION>"
 
 #. type: Plain text
-#: doc/tin.1:3754
+#: doc/tin.1:3829
 msgid ""
 "Set the article header field ''Organization:'' to the contents of the "
 "variable instead of the system default. If it points to a readable file a "
@@ -8250,24 +8375,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3754
+#: doc/tin.1:3829
 #, no-wrap
 msgid "B<NEWSORG (DomainOS)>"
 msgstr "B<NEWSORG (DomainOS)>"
 
 #. type: Plain text
-#: doc/tin.1:3757
+#: doc/tin.1:3832
 msgid "DomainOS specific, same as $B<ORGANIZATION> on other OSs (see above)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3757
+#: doc/tin.1:3832
 #, no-wrap
 msgid "B<REPLYTO>"
 msgstr "B<REPLYTO>"
 
 #. type: Plain text
-#: doc/tin.1:3762
+#: doc/tin.1:3837
 msgid ""
 "Set the article header field ''Reply-To:'' to the return address specified "
 "by the variable. This is useful if you wish to receive replies at a "
@@ -8275,73 +8400,90 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3762
+#: doc/tin.1:3837
 #, no-wrap
 msgid "B<NAME>"
 msgstr "B<NAME>"
 
 #. type: Plain text
-#: doc/tin.1:3766
+#: doc/tin.1:3841
 msgid ""
 "Overrides the full name given in the gecos-field in I</etc/passwd>, see also "
 "B<mail_address>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3766
+#: doc/tin.1:3841
 #, no-wrap
 msgid "B<REALNAME>"
 msgstr "B<REALNAME>"
 
 #. type: Plain text
-#: doc/tin.1:3769
+#: doc/tin.1:3844
 msgid "Same as $B<NAME>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3769
+#: doc/tin.1:3844
 #, no-wrap
 msgid "B<HOME>"
 msgstr "B<HOME>"
 
 #. type: Plain text
-#: doc/tin.1:3774
+#: doc/tin.1:3849
 msgid ""
 "Pathname of the user's home directory. See B<\\%environ>(5)  for more info."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3774
+#: doc/tin.1:3849
 #, no-wrap
 msgid "B<MAILER>"
 msgstr "B<MAILER>"
 
 #. type: Plain text
-#: doc/tin.1:3778
+#: doc/tin.1:3853
 msgid ""
 "This variable has precedence over the default mailer that is used in all "
 "mailing operations within B<tin>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3778
+#: doc/tin.1:3853
 #, no-wrap
 msgid "B<MAIL>"
 msgstr "B<MAIL>"
 
 #. type: Plain text
-#: doc/tin.1:3781
+#: doc/tin.1:3856
 msgid "Full path to the user's mailbox."
 msgstr ""
 
+#.  we don't support the %message || ?message notation
 #. type: TP
-#: doc/tin.1:3781
+#: doc/tin.1:3856
+#, no-wrap
+msgid "B<MAILPATH>"
+msgstr "B<MAILPATH>"
+
+#. type: Plain text
+#: doc/tin.1:3861
+#, fuzzy
+msgid ""
+"A colon-separated list of filenames which are checked for new mail. This "
+"overrides the $B<MAIL> variable."
+msgstr ""
+"Una lista de nombres de archivos separados por dos puntos que se comprueban "
+"en busca de correo nuevo. Esto anula la variable $B<MAIL>."
+
+#. type: TP
+#: doc/tin.1:3861
 #, no-wrap
 msgid "B<VISUAL>"
 msgstr "B<VISUAL>"
 
 #. type: Plain text
-#: doc/tin.1:3790
+#: doc/tin.1:3870
 msgid ""
 "This variable has precedence over the default editor (i.e., B<\\%vi>(1))  "
 "that is used in all editing operations within B<tin> (e.g., posting, "
@@ -8350,13 +8492,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3790
+#: doc/tin.1:3870
 #, no-wrap
 msgid "B<EDITOR>"
 msgstr "B<EDITOR>"
 
 #. type: Plain text
-#: doc/tin.1:3799
+#: doc/tin.1:3879
 msgid ""
 "If $B<VISUAL> is unset, then this variable is looked up for a default "
 "editor. If $B<EDITOR> and $B<VISUAL> are both unset, B<tin> uses the systems "
@@ -8365,13 +8507,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3799
+#: doc/tin.1:3879
 #, no-wrap
 msgid "B<AUTOSUBSCRIBE>"
 msgstr "B<AUTOSUBSCRIBE>"
 
 #. type: Plain text
-#: doc/tin.1:3805
+#: doc/tin.1:3885
 msgid ""
 "A new group is checked against the list of patterns; if it matches, B<tin> "
 "subscribes the user to the group without further query.  See the section "
@@ -8380,12 +8522,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3807
+#: doc/tin.1:3887
 msgid "I<AUTOSUBSCRIBE=comp.os.unix.*,talk.*,!talk.politics.*>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3812
+#: doc/tin.1:3892
 msgid ""
 "will automatically subscribe the user to all new groups in the comp.os.unix "
 "hierarchy, and all talk groups other than talk.politics groups (which will "
@@ -8394,25 +8536,25 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3812
+#: doc/tin.1:3892
 #, no-wrap
 msgid "B<AUTOUNSUBSCRIBE>"
 msgstr "B<AUTOUNSUBSCRIBE>"
 
 #. type: Plain text
-#: doc/tin.1:3816
+#: doc/tin.1:3896
 msgid ""
 "Is handled like the $B<AUTOSUBSCRIBE> variable, but groups matching the list "
 "are unsubscribed from without further query. For example, setting"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3818
+#: doc/tin.1:3898
 msgid "I<AUTOUNSUBSCRIBE=alt.flame.*,u*,!uk.*>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3822
+#: doc/tin.1:3902
 msgid ""
 "will automatically unsubscribe the user from all new alt.flame groups and "
 "all groups starting with u (university groups) other than UK groups (which "
@@ -8420,117 +8562,117 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3822
+#: doc/tin.1:3902
 #, no-wrap
 msgid "B<TMPDIR>"
 msgstr "B<TMPDIR>"
 
 #. type: Plain text
-#: doc/tin.1:3826
+#: doc/tin.1:3906
 msgid ""
 "A pathname of a directory made available for B<tin> to create temporary "
 "files."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3826
+#: doc/tin.1:3906
 #, no-wrap
 msgid "B<MAILCAPS>"
 msgstr "B<MAILCAPS>"
 
 #. type: Plain text
-#: doc/tin.1:3832
+#: doc/tin.1:3912
 msgid ""
 "This variable can be used to override the default path search for B<\\"
 "%mailcap>(5)  files. See also B<\\%tin>(5)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3832
+#: doc/tin.1:3912
 #, no-wrap
 msgid "B<NOMETAMAIL>"
 msgstr "B<NOMETAMAIL>"
 
 #. type: Plain text
-#: doc/tin.1:3837
+#: doc/tin.1:3917
 msgid ""
 "Set this variable to disable the use of B<\\%metamail>(1)  or a replacement "
-"(e.g. metamutt)."
+"(e.g., metamutt)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3837
+#: doc/tin.1:3917
 #, no-wrap
 msgid "B<MM_CHARSET>"
 msgstr "B<MM_CHARSET>"
 
 #. type: Plain text
-#: doc/tin.1:3841
+#: doc/tin.1:3921
 msgid ""
 "MIME character set used if not configured via the tinrc variable "
 "B<mm_charset>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3841
+#: doc/tin.1:3921
 #, no-wrap
 msgid "B<ISPELL>"
 msgstr "B<ISPELL>"
 
 #. type: Plain text
-#: doc/tin.1:3846
+#: doc/tin.1:3926
 msgid ""
 "Set this variable to point to B<\\%ispell>(1)  or a replacement and its cmd-"
 "line options."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3846
+#: doc/tin.1:3926
 #, no-wrap
 msgid "B<PGPOPTS>"
 msgstr "B<PGPOPTS>"
 
 #. type: Plain text
-#: doc/tin.1:3853
+#: doc/tin.1:3933
 msgid ""
 "Define any additional options that you wish to pass to your B<\\%pgp>(1)  or "
 "B<\\%gpg>(1)  program."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3853
+#: doc/tin.1:3933
 #, no-wrap
 msgid "B<PGPPATH>"
 msgstr "B<PGPPATH>"
 
 #. type: Plain text
-#: doc/tin.1:3858
+#: doc/tin.1:3938
 msgid ""
 "Override the name of the B<\\%pgp>(1)  directory in B<$HOME> that holds your "
 "keys etc.."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3858
+#: doc/tin.1:3938
 #, no-wrap
 msgid "B<GNUPGHOME>"
 msgstr "B<GNUPGHOME>"
 
 #. type: Plain text
-#: doc/tin.1:3863
+#: doc/tin.1:3943
 msgid ""
 "Override the name of the B<\\%gpg>(1)  directory in B<$HOME> that holds your "
 "keys etc.."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3863
+#: doc/tin.1:3943
 #, no-wrap
 msgid "B<LC_CTYPE>"
 msgstr "B<LC_CTYPE>"
 
 #. type: Plain text
-#: doc/tin.1:3875
+#: doc/tin.1:3955
 msgid ""
 "This variable determines the B<\\%locale>(5)  category for character "
 "handling functions. Usually it determines the character classes for pattern "
@@ -8542,13 +8684,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3875
+#: doc/tin.1:3955
 #, no-wrap
 msgid "B<LC_MESSAGES>"
 msgstr "B<LC_MESSAGES>"
 
 #. type: Plain text
-#: doc/tin.1:3884
+#: doc/tin.1:3964
 msgid ""
 "Formats of informative and diagnostic messages and interactive responses.  "
 "Its value should be of the form I<language>[I<_territory>][I<.codeset>]"
@@ -8557,13 +8699,27 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3884
+#: doc/tin.1:3964
+#, no-wrap
+msgid "B<LC_NUMERIC>"
+msgstr "B<LC_NUMERIC>"
+
+#. type: Plain text
+#: doc/tin.1:3972
+msgid ""
+"Numeric value formats. Its value should be of the form "
+"I<language>[I<_territory>][I<.codeset>][I<@modifier>]. See B<\\%locale>(5)  "
+"and B<\\%environ>(5)  for more information."
+msgstr ""
+
+#. type: TP
+#: doc/tin.1:3972
 #, no-wrap
 msgid "B<LC_TIME>"
 msgstr "B<LC_TIME>"
 
 #. type: Plain text
-#: doc/tin.1:3892
+#: doc/tin.1:3980
 msgid ""
 "Date and time formats. Its value should be of the form "
 "I<language>[I<_territory>][I<.codeset>][I<@modifier>]. See B<\\%locale>(5)  "
@@ -8571,28 +8727,28 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3892
+#: doc/tin.1:3980
 #, no-wrap
 msgid "B<LC_ALL>"
 msgstr "B<LC_ALL>"
 
 #. type: Plain text
-#: doc/tin.1:3901
+#: doc/tin.1:3989
 msgid ""
-"This variable overrides the value of the B<$LANG> variable and any other B<"
-"$LC_> variable. Its value should be of the form I<language>[I<_territory>]"
+"This variable overrides the value of the B<$LANG> variable and any other "
+"B<$LC_> variable. Its value should be of the form I<language>[I<_territory>]"
 "[I<.codeset>]. See B<\\%locale>(5)  and B<\\%environ>(5)  for more "
 "information."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3901
+#: doc/tin.1:3989
 #, no-wrap
 msgid "B<LANG>"
 msgstr "B<LANG>"
 
 #. type: Plain text
-#: doc/tin.1:3910
+#: doc/tin.1:3998
 msgid ""
 "This variable determines the B<\\%locale>(5)  category for any category not "
 "specifically selected with a variable starting with B<$LC_>. Its value "
@@ -8601,29 +8757,28 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3910
+#: doc/tin.1:3998
 #, no-wrap
 msgid "B<LANGUAGE>"
 msgstr "B<LANGUAGE>"
 
 #. type: Plain text
-#: doc/tin.1:3918
+#: doc/tin.1:4006
 msgid ""
 "This variable defines a priority list for translations. Whenever a "
-"translation is not available in the language selected via B<$LC_ALL> or B<"
-"$LANG> the next language from the list is tried. Its value should be of the "
-"form I<language:language[:language]>. See B<\\%environ>(5)  for more "
-"information."
+"translation is not available the next language from the list is tried.  Its "
+"value should be of the form I<language:language[:language]>.  Requires "
+"B<$LC_ALL> or B<$LANG> to be set. See B<\\%environ>(5)  for more information."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3918
+#: doc/tin.1:4006
 #, no-wrap
 msgid "B<COLUMNS>"
 msgstr "B<COLUMNS>"
 
 #. type: Plain text
-#: doc/tin.1:3928
+#: doc/tin.1:4016
 msgid ""
 "A decimal integer E<gt> 0 used to indicate the user's preferred width in "
 "column positions for the terminal screen or window. If this variable is "
@@ -8636,13 +8791,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3928
+#: doc/tin.1:4016
 #, no-wrap
 msgid "B<LINES>"
 msgstr "B<LINES>"
 
 #. type: Plain text
-#: doc/tin.1:3938
+#: doc/tin.1:4026
 msgid ""
 "A decimal integer E<gt> 0 used to indicate the user's preferred number of "
 "lines on a page or the vertical screen or window size in lines. A line in "
@@ -8655,108 +8810,108 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3938
+#: doc/tin.1:4026
 #, no-wrap
 msgid "B<TERM>"
 msgstr "B<TERM>"
 
 #. type: Plain text
-#: doc/tin.1:3944
+#: doc/tin.1:4032
 msgid ""
 "The type of terminal in use. This is used when looking up termcap "
 "sequences.  See B<\\%environ>(5)  for more information."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3944
+#: doc/tin.1:4032
 #, no-wrap
 msgid "B<DISPLAY>"
 msgstr "B<DISPLAY>"
 
 #. type: Plain text
-#: doc/tin.1:3947
+#: doc/tin.1:4035
 msgid "Display name, pointing to the X server; required for xface."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3947
+#: doc/tin.1:4035
 #, no-wrap
 msgid "B<WINDOWID>"
 msgstr "B<WINDOWID>"
 
 #. type: Plain text
-#: doc/tin.1:3951
+#: doc/tin.1:4039
 msgid ""
 "Used for determining terminal's X window id; required for xface. Should be "
 "set by the terminal emulator."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3951
+#: doc/tin.1:4039
 #, no-wrap
 msgid "B<SHELL>"
 msgstr "B<SHELL>"
 
 #. type: Plain text
-#: doc/tin.1:3955
+#: doc/tin.1:4043
 msgid ""
 "The pathname of the user's login shell. Used to set B<default_shell_command>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3955
+#: doc/tin.1:4043
 #, no-wrap
 msgid "B<XDG_RUNTIME_DIR>"
 msgstr "B<XDG_RUNTIME_DIR>"
 
 #. type: Plain text
-#: doc/tin.1:3960
+#: doc/tin.1:4048
 msgid ""
 "The pathname of the user's dir to put non-essential run time files into."
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:3960 doc/tin.1:3961
+#. type: SH
+#: doc/tin.1:4048
 #, no-wrap
 msgid "SIGNALS"
 msgstr "SEÃ‘ALES"
 
 #.  TODO: add missing, sort useful, document in detail
 #. type: Plain text
-#: doc/tin.1:3965
+#: doc/tin.1:4052
 msgid "B<tin> handles a couple of signals:"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3965
+#: doc/tin.1:4052
 #, no-wrap
 msgid "B<SIGHUP>"
 msgstr "B<SIGHUP>"
 
 #. type: Plain text
-#: doc/tin.1:3968 doc/tin.1:3971
+#: doc/tin.1:4055 doc/tin.1:4058
 msgid "Terminate gracefully."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3968
+#: doc/tin.1:4055
 #, no-wrap
 msgid "B<SIGTERM>"
 msgstr "B<SIGTERM>"
 
 #. type: TP
-#: doc/tin.1:3971
+#: doc/tin.1:4058
 #, no-wrap
 msgid "B<SIGUSR1>"
 msgstr "B<SIGUSR1>"
 
 #. type: Plain text
-#: doc/tin.1:3974
+#: doc/tin.1:4061
 msgid "Terminate gracefully but do not restore terminal (tty)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3974
+#: doc/tin.1:4061
 #, no-wrap
 msgid "B<SIGUSR2>"
 msgstr "B<SIGUSR2>"
@@ -8767,28 +8922,28 @@ msgstr "B<SIGUSR2>"
 #.  give an overview of the most common error messages and how to cope with
 #.  them.
 #. type: Plain text
-#: doc/tin.1:3985
+#: doc/tin.1:4072
 msgid "Write out I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>-file."
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:3985 doc/tin.1:3986
+#. type: SH
+#: doc/tin.1:4072
 #, no-wrap
 msgid "SECURITY"
 msgstr "GARANTÃA"
 
 #. type: Plain text
-#: doc/tin.1:3992
+#: doc/tin.1:4078
 msgid ""
 "If B<tin> is started in debug mode (''B<-D n>'') it will create world "
 "readable files in B<$TMPDIR> which may contain sensitive data like the users "
-"NNTP password in cleartext (if running verbose). On multiuser-systems B<"
-"$TMPDIR> should be set to a safe location before starting B<tin> in "
-"(verbose) debug mode (e.g. B<TMPDIR=$HOME tin -vD 1>)."
+"NNTP password in cleartext (if running verbose). On multiuser-systems "
+"B<$TMPDIR> should be set to a safe location before starting B<tin> in "
+"(verbose) debug mode (e.g., B<TMPDIR=$HOME tin -vD 1>)."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3996
+#: doc/tin.1:4082
 msgid ""
 "Using the ''B<-k>'' option to skip certificate verification makes the "
 "session insecure as the server's certificate is not checked; avoid this "
@@ -8796,7 +8951,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4003
+#: doc/tin.1:4089
 msgid ""
 "If the server does not initially require authentication but supports "
 "compression and compression is requested, B<tin> will exit when "
@@ -8804,8 +8959,8 @@ msgid ""
 "in conjunction with ''B<-C>'' circumvents this behavior."
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:4003 doc/tin.1:4004
+#. type: SH
+#: doc/tin.1:4089
 #, no-wrap
 msgid "CONFORMING TO"
 msgstr "CONFORME A"
@@ -8813,21 +8968,21 @@ msgstr "CONFORME A"
 #.  - RFC\%2045, RFC\%2047, RFC\%2231, RFC\%2980, RFC\%3977, RFC\%4155
 #.    RFC\%4643, RFC\%5322, RFC\%5536, RFC\%5537, RFC\%6048 or whatever
 #. type: Plain text
-#: doc/tin.1:4012
+#: doc/tin.1:4097
 msgid ""
 "B<tin> does conform to the Base Definitions volume of IEEE Std 1003.1-2008, "
 "Section 12, Utility Conventions (Utility Argument Syntax, Utility Syntax "
 "Guidelines)."
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:4012 doc/tin.1:4013
+#. type: SH
+#: doc/tin.1:4097
 #, no-wrap
 msgid "NOTES"
 msgstr "ANOTACIONES"
 
 #. type: Plain text
-#: doc/tin.1:4020
+#: doc/tin.1:4104
 msgid ""
 "Regular expression support is provided by the PCRE library package B<\\"
 "%pcre>(3)  or B<\\%pcre2>(3)  which is open source software, written by "
@@ -8835,18 +8990,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4024
+#: doc/tin.1:4108
 msgid "E<lt>https://www.pcre.org/E<gt>"
 msgstr "E<lt>https://www.pcre.org/E<gt>"
 
-#. type: IX
-#: doc/tin.1:4024 doc/tin.1:4025
+#. type: SH
+#: doc/tin.1:4108
 #, no-wrap
 msgid "BUGS"
 msgstr "DEFECTOS"
 
 #. type: Plain text
-#: doc/tin.1:4033
+#: doc/tin.1:4116
 msgid ""
 "B<CNews>\\0NNTPd, B<\\%noffle>(1)  (E<lt>= V1.0-pre5) and B<NewsCache> "
 "(E<lt>= V1.1.91) can't handle pipelined GROUP commands (B<RFC\\%3977>).  If "
@@ -8855,7 +9010,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4040
+#: doc/tin.1:4123
 msgid ""
 "Using the ''B<-C>'' (COMPRESS) flag with B<INN>\\0nnrpd versions between "
 "2.6.1 and 2.7.1 (both incl.) may cause B<tin> to hang and later timeout when "
@@ -8864,7 +9019,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4049
+#: doc/tin.1:4132
 msgid ""
 "Before mailing a bug-report to E<lt>tin-bugs@tin.orgE<gt> please check if "
 "you are using the latest (stable) release, and if not, please upgrade first! "
@@ -8874,14 +9029,14 @@ msgid ""
 "request it."
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:4049 doc/tin.1:4050
+#. type: SH
+#: doc/tin.1:4132
 #, no-wrap
 msgid "HISTORY"
 msgstr "HISTORIAL"
 
 #. type: Plain text
-#: doc/tin.1:4059
+#: doc/tin.1:4141
 msgid ""
 "B<tin> is based on the B<\\%tass>(1)  newsreader that was developed by Rich "
 "Skrenta and posted to alt.sources in March 1991; its first version was "
@@ -8892,203 +9047,205 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4063
+#: doc/tin.1:4145
 msgid "E<lt>http://www.tin.org/history.htmlE<gt>."
 msgstr "E<lt>http://www.tin.org/history.htmlE<gt>."
 
 #. type: SH
-#: doc/tin.1:4063
+#: doc/tin.1:4145
 #, no-wrap
 msgid "CREDITS"
 msgstr "DERECHOS"
 
 #. type: IP
-#: doc/tin.1:4064
+#: doc/tin.1:4146
 #, no-wrap
 msgid "Rich Skrenta"
 msgstr "Rich Skrenta"
 
 #. type: Plain text
-#: doc/tin.1:4068
+#: doc/tin.1:4150
 msgid "author of B<\\%tass>(1)  v3.2 which this newsreader used as its base."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4068
+#: doc/tin.1:4150
 #, no-wrap
 msgid "Bill Davidsen"
 msgstr "Bill Davidsen"
 
 #. type: Plain text
-#: doc/tin.1:4070
+#: doc/tin.1:4152
 msgid "author of envarg.c environment variable reading routine."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4070
+#: doc/tin.1:4152
 #, no-wrap
 msgid "Mike Gleason"
 msgstr "Mike Gleason"
 
 #. type: Plain text
-#: doc/tin.1:4072
+#: doc/tin.1:4154
 msgid "author of sigfile.c random signature generation routines."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4072
+#: doc/tin.1:4154
 #, no-wrap
 msgid "Markus Kuhn E<lt>Markus.Kuhn@cl.cam.ac.ukE<gt>"
 msgstr "Markus Kuhn E<lt>Markus.Kuhn@cl.cam.ac.ukE<gt>"
 
 #. type: Plain text
-#: doc/tin.1:4074
+#: doc/tin.1:4156
 msgid ""
 "author of langinfo.c, charset.c and iso2asc.txt ISO-8859-1 documentation."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4074
+#: doc/tin.1:4156
 #, no-wrap
-msgid "Arnold Robbins"
-msgstr "Arnold Robbins"
+msgid "Arnold D. Robbins"
+msgstr "Arnold D. Robbins"
 
 #. type: Plain text
-#: doc/tin.1:4076
+#: doc/tin.1:4158
 msgid "author of strftime.c date formatting routine."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4076
+#: doc/tin.1:4158
 #, no-wrap
 msgid "Rich Salz"
 msgstr "Rich Salz"
 
 #. type: Plain text
-#: doc/tin.1:4078
+#: doc/tin.1:4160
 msgid ""
 "author of wildmat.c pattern matching and parsdate.y date parsing routines."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4078
+#: doc/tin.1:4160
 #, no-wrap
 msgid "Dave Taylor"
 msgstr "Dave Taylor"
 
 #. type: Plain text
-#: doc/tin.1:4082
+#: doc/tin.1:4164
 msgid "author of curses.c from the B<\\%elm>(1)  mailreader."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4082
+#: doc/tin.1:4164
 #, no-wrap
 msgid "Chris Thewalt"
 msgstr "Chris Thewalt"
 
 #. type: Plain text
-#: doc/tin.1:4086
+#: doc/tin.1:4168
 msgid "author of getline.c B<\\%emacs>(1)  style editing routine."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4086
+#: doc/tin.1:4168
 #, no-wrap
 msgid "Steven Madsen"
 msgstr "Steven Madsen"
 
 #. type: Plain text
-#: doc/tin.1:4090
+#: doc/tin.1:4172
 msgid "for adding B<\\%pgp>(1)  (Pretty Good Privacy) support."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4090
+#: doc/tin.1:4172
 #, no-wrap
 msgid "Philip Hazel E<lt>ph10@cam.ac.ukE<gt>"
 msgstr "Philip Hazel E<lt>ph10@cam.ac.ukE<gt>"
 
 #. type: Plain text
-#: doc/tin.1:4095
+#: doc/tin.1:4177
 msgid ""
 "for B<\\%pcre>(3), B<\\%pcre2>(3)  (Perl-compatible regular expression "
 "library)."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4095
+#: doc/tin.1:4177
 #, no-wrap
-msgid "Patrick Powell E<lt>papowell@astart.comE<gt>"
-msgstr "Patrick Powell E<lt>papowell@astart.comE<gt>"
+msgid "Mark Martinec E<lt>mark.martinec@ijs.siE<gt>"
+msgstr "Mark Martinec E<lt>mark.martinec@ijs.siE<gt>"
 
 #. type: Plain text
-#: doc/tin.1:4103
+#: doc/tin.1:4185
 msgid "for B<\\%snprintf>(3)  and B<\\%vsnprintf>(3)  fallbacks."
 msgstr ""
 
 #. type: SH
-#: doc/tin.1:4103
+#: doc/tin.1:4185
 #, no-wrap
 msgid "AUTHOR"
 msgstr "AUTOR"
 
 #. type: TP
-#: doc/tin.1:4104
+#: doc/tin.1:4186
 #, no-wrap
 msgid "Iain Lea E<lt>iain@bricbrac.deE<gt>"
 msgstr "Iain Lea E<lt>iain@bricbrac.deE<gt>"
 
 #. type: SH
-#: doc/tin.1:4108
+#: doc/tin.1:4190
 #, no-wrap
 msgid "MAINTAINER"
 msgstr "RESPONSABLE"
 
 #. type: TP
-#: doc/tin.1:4109
+#: doc/tin.1:4191
 #, no-wrap
 msgid "Urs Janssen E<lt>urs@tin.orgE<gt>"
 msgstr "Urs Janssen E<lt>urs@tin.orgE<gt>"
 
 #. type: SH
-#: doc/tin.1:4113 doc/tin.1:4114 doc/tin.5:2823
+#: doc/tin.1:4195 doc/tin.5:2890
 #, no-wrap
 msgid "SEE ALSO"
 msgstr "VEA ADEMÃS"
 
 #. type: Plain text
-#: doc/tin.1:4176
+#: doc/tin.1:4259
 msgid ""
 "B<\\%elm>(1), B<\\%emacs>(1), B<\\%gpg>(1), B<\\%inews>(1), B<\\%ispell>(1), "
 "B<\\%lp>(1), B<\\%lpr>(1), B<\\%metamail>(1), B<\\%mutt>(1), B<\\"
 "%noffle>(1), B<\\%perl>(1), B<\\%perlre>(1), B<\\%pgp>(1), B<\\%rn>(1), B<\\"
 "%sendmail>(1), B<\\%shar>(1), B<\\%slrnface>(1), B<\\%tass>(1), B<\\"
 "%unshar>(1), B<\\%uudecode>(1), B<\\%vi>(1), B<\\%xterm>(1x), B<\\"
-"%heapsort>(3), B<\\%iconv>(3), B<\\%iconv_open>(3), B<\\%nl_langinfo>(3), B<"
-"\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\%pcre2pattern>(3), B<"
-"\\%qsort>(3), B<\\%snprintf>(3), B<\\%strftime>(3), B<\\%vsnprintf>(3), B<\\"
-"%wildmat>(3), B<\\%environ>(5), B<\\%locale>(5), B<\\%mailcap>(5), B<\\"
+"%heapsort>(3), B<\\%iconv>(3), B<\\%iconv_open>(3), B<\\%nl_langinfo>(3), "
+"B<\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\%pcre2pattern>(3), "
+"B<\\%qsort>(3), B<\\%snprintf>(3), B<\\%strftime>(3), B<\\%vsnprintf>(3), "
+"B<\\%wildmat>(3), B<\\%environ>(5), B<\\%locale>(5), B<\\%mailcap>(5), B<\\"
 "%mbox>(5), B<\\%mmdf>(5), B<\\%newsoverview>(5), B<\\%tin>(5), B<\\"
-"%cron>(8), B<RFC\\%1345>, B<RFC\\%1524>, B<RFC\\%2045>, B<RFC\\%2046>, B<RFC"
-"\\%2047>, B<RFC\\%2048>, B<RFC\\%2231>, B<RFC\\%2980>, B<RFC\\%3156>, B<RFC\\"
-"%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%4880>, B<RFC\\%5322>, B<RFC\\"
-"%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%8054>, B<RFC\\%8143>"
+"%cron>(8), B<RFC\\%1345>, B<RFC\\%1524>, B<RFC\\%1952>, B<RFC\\%2045>, "
+"B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2231>, B<RFC\\%2980>, B<RFC\\%3156>, "
+"B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%4880>, B<RFC\\%5198>, "
+"B<RFC\\%5322>, B<RFC\\%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%6838>, "
+"B<RFC\\%8054>, B<RFC\\%8143>"
 msgstr ""
 "B<\\%elm>(1), B<\\%emacs>(1), B<\\%gpg>(1), B<\\%inews>(1), B<\\%ispell>(1), "
 "B<\\%lp>(1), B<\\%lpr>(1), B<\\%metamail>(1), B<\\%mutt>(1), B<\\"
 "%noffle>(1), B<\\%perl>(1), B<\\%perlre>(1), B<\\%pgp>(1), B<\\%rn>(1), B<\\"
 "%sendmail>(1), B<\\%shar>(1), B<\\%slrnface>(1), B<\\%tass>(1), B<\\"
 "%unshar>(1), B<\\%uudecode>(1), B<\\%vi>(1), B<\\%xterm>(1x), B<\\"
-"%heapsort>(3), B<\\%iconv>(3), B<\\%iconv_open>(3), B<\\%nl_langinfo>(3), B<"
-"\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\%pcre2pattern>(3), B<"
-"\\%qsort>(3), B<\\%snprintf>(3), B<\\%strftime>(3), B<\\%vsnprintf>(3), B<\\"
-"%wildmat>(3), B<\\%environ>(5), B<\\%locale>(5), B<\\%mailcap>(5), B<\\"
+"%heapsort>(3), B<\\%iconv>(3), B<\\%iconv_open>(3), B<\\%nl_langinfo>(3), "
+"B<\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\%pcre2pattern>(3), "
+"B<\\%qsort>(3), B<\\%snprintf>(3), B<\\%strftime>(3), B<\\%vsnprintf>(3), "
+"B<\\%wildmat>(3), B<\\%environ>(5), B<\\%locale>(5), B<\\%mailcap>(5), B<\\"
 "%mbox>(5), B<\\%mmdf>(5), B<\\%newsoverview>(5), B<\\%tin>(5), B<\\"
-"%cron>(8), B<RFC\\%1345>, B<RFC\\%1524>, B<RFC\\%2045>, B<RFC\\%2046>, B<RFC"
-"\\%2047>, B<RFC\\%2048>, B<RFC\\%2231>, B<RFC\\%2980>, B<RFC\\%3156>, B<RFC\\"
-"%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%4880>, B<RFC\\%5322>, B<RFC\\"
-"%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%8054>, B<RFC\\%8143>"
+"%cron>(8), B<RFC\\%1345>, B<RFC\\%1524>, B<RFC\\%1952>, B<RFC\\%2045>, "
+"B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2231>, B<RFC\\%2980>, B<RFC\\%3156>, "
+"B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%4880>, B<RFC\\%5198>, "
+"B<RFC\\%5322>, B<RFC\\%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%6838>, "
+"B<RFC\\%8054>, B<RFC\\%8143>"
 
 #. type: Plain text
 #: doc/tin.5:13
@@ -9286,7 +9443,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:153 doc/tin.5:1154
+#: doc/tin.5:153 doc/tin.5:1172
 #, no-wrap
 msgid "B<description>"
 msgstr "B<description>"
@@ -9357,8 +9514,8 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:184 doc/tin.5:272 doc/tin.5:302 doc/tin.5:393 doc/tin.5:712
-#: doc/tin.5:872 doc/tin.5:1178
+#: doc/tin.5:184 doc/tin.5:272 doc/tin.5:302 doc/tin.5:393 doc/tin.5:724
+#: doc/tin.5:889 doc/tin.5:1201
 #, no-wrap
 msgid "Example:"
 msgstr ""
@@ -9460,16 +9617,16 @@ msgstr ""
 #: doc/tin.5:261
 msgid ""
 "\"I<nntpserver[:port]> I<password> [I<user>]\" pairs for NNTP servers that "
-"require authorization.  If the password contains a space or a tab it must be "
-"enclosed in double quotes (\").  Usernames must not be enclosed in double "
-"quotes and thus can't contain spaces or tabs.  Any line that starts with \"#"
-"\" is a comment.  Blank lines are ignored.  This file should be readable "
+"require authorization. If the password contains a space or a tab it must be "
+"enclosed in double quotes (\"). Usernames must not be enclosed in double "
+"quotes and thus can't contain spaces or tabs. Any line that starts with "
+"\"#\" is a comment. Blank lines are ignored. This file should be readable "
 "only for the user as it contains the user's unencrypted password for reading "
 "news!"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:261 doc/tin.5:1167
+#: doc/tin.5:261 doc/tin.5:1185
 #, no-wrap
 msgid "B<nntpserver>"
 msgstr "B<nntpserver>"
@@ -9481,22 +9638,24 @@ msgid ""
 "specified by appending :portnumber."
 msgstr ""
 
+# fuzzy
 #. type: TP
 #: doc/tin.5:265
 #, no-wrap
 msgid "B<password>"
-msgstr ""
+msgstr "B<contraseÃ±a>"
 
 #. type: Plain text
 #: doc/tin.5:268
 msgid "user's unencrypted password for reading news."
 msgstr ""
 
+# fuzzy
 #. type: TP
 #: doc/tin.5:268
 #, no-wrap
 msgid "B<user>"
-msgstr ""
+msgstr "B<usuario>"
 
 #. type: Plain text
 #: doc/tin.5:272
@@ -9550,7 +9709,7 @@ msgstr ""
 
 #. type: Plain text
 #: doc/tin.5:297
-msgid "a flag indicating if the group is subscribed ':' or not '!'."
+msgid "a flag indicating if the group is subscribed ':' or not '!\\&'."
 msgstr ""
 
 #. type: TP
@@ -9599,7 +9758,7 @@ msgstr "signature"
 
 #. type: Plain text
 #: doc/tin.5:338
-msgid "fixed part of a randomly generated signature"
+msgid "fixed part of a randomly generated signature, this will be added first"
 msgstr ""
 
 #. type: Plain text
@@ -9631,7 +9790,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:378 doc/tin.5:1151
+#: doc/tin.5:378 doc/tin.5:1169
 #, no-wrap
 msgid "B<mailgroupname>"
 msgstr ""
@@ -9640,7 +9799,7 @@ msgstr ""
 #: doc/tin.5:382
 msgid ""
 "must be the pathname of the mailbox relative to field #4 with '/' changed to "
-"'.'"
+"'.\\&'"
 msgstr ""
 
 #. type: TP
@@ -9732,7 +9891,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:438 doc/tin.5:1300
+#: doc/tin.5:438 doc/tin.5:1347
 #, no-wrap
 msgid "B<add_posted_to_filter>"
 msgstr "B<add_posted_to_filter>"
@@ -9752,13 +9911,13 @@ msgid "Identical to the tinrc variable o
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:441 doc/tin.5:1304
+#: doc/tin.5:441 doc/tin.5:1351
 #, no-wrap
 msgid "B<advertising>"
 msgstr "B<advertising>"
 
 #. type: TP
-#: doc/tin.5:444 doc/tin.5:1307
+#: doc/tin.5:444 doc/tin.5:1354
 #, no-wrap
 msgid "B<alternative_handling>"
 msgstr "B<alternative_handling>"
@@ -9770,13 +9929,13 @@ msgid "B<ask_for_metamail>"
 msgstr "B<ask_for_metamail>"
 
 #. type: TP
-#: doc/tin.5:450 doc/tin.5:1356
+#: doc/tin.5:450 doc/tin.5:1403
 #, no-wrap
 msgid "B<auto_cc_bcc>"
 msgstr "B<auto_cc_bcc>"
 
 #. type: TP
-#: doc/tin.5:453 doc/tin.5:1360
+#: doc/tin.5:453 doc/tin.5:1407
 #, no-wrap
 msgid "B<auto_list_thread>"
 msgstr "B<auto_list_thread>"
@@ -9795,7 +9954,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:460 doc/tin.5:1367
+#: doc/tin.5:460 doc/tin.5:1414
 #, no-wrap
 msgid "B<batch_save>"
 msgstr "B<batch_save>"
@@ -9804,12 +9963,12 @@ msgstr "B<batch_save>"
 #: doc/tin.5:466
 msgid ""
 "Can be used to override the global setting in tinrc on a per group basis. "
-"For more information read section AUTOMATIC MAILING AND SAVING NEW NEWS in B<"
-"\\%tin>(1)."
+"For more information read section AUTOMATIC MAILING AND SAVING NEW NEWS in "
+"B<\\%tin>(1)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:466 doc/tin.5:1499
+#: doc/tin.5:466 doc/tin.5:1551
 #, no-wrap
 msgid "B<date_format>"
 msgstr "B<date_format>"
@@ -9830,13 +9989,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:476 doc/tin.5:1616
+#: doc/tin.5:476 doc/tin.5:1672
 #, no-wrap
 msgid "B<editor_format>"
 msgstr "B<editor_format>"
 
 #. type: TP
-#: doc/tin.5:479 doc/tin.5:1623
+#: doc/tin.5:479 doc/tin.5:1679
 #, no-wrap
 msgid "B<extquote_handling>"
 msgstr "B<extquote_handling>"
@@ -9866,7 +10025,7 @@ msgid "Set ''Followup-To:'' header to th
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:489 doc/tin.5:785
+#: doc/tin.5:489 doc/tin.5:802
 #, no-wrap
 msgid "B<from>"
 msgstr "B<from>"
@@ -9877,31 +10036,31 @@ msgid "Identical to the tinrc variable B
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:492 doc/tin.5:1658
+#: doc/tin.5:492 doc/tin.5:1714
 #, no-wrap
 msgid "B<group_catchup_on_exit>"
 msgstr "B<group_catchup_on_exit>"
 
 #. type: TP
-#: doc/tin.5:495 doc/tin.5:1661
+#: doc/tin.5:495 doc/tin.5:1717
 #, no-wrap
 msgid "B<group_format>"
 msgstr "B<group_format>"
 
 #. type: TP
-#: doc/tin.5:498 doc/tin.5:1741
+#: doc/tin.5:498 doc/tin.5:1797
 #, no-wrap
 msgid "B<mail_8bit_header>"
 msgstr "B<mail_8bit_header>"
 
 #. type: TP
-#: doc/tin.5:501 doc/tin.5:1753 doc/tin.5:2599
+#: doc/tin.5:501 doc/tin.5:1809 doc/tin.5:2666
 #, no-wrap
 msgid "B<mail_mime_encoding>"
 msgstr "B<mail_mime_encoding>"
 
 #. type: TP
-#: doc/tin.5:504 doc/tin.5:1772
+#: doc/tin.5:504 doc/tin.5:1829
 #, no-wrap
 msgid "B<maildir>"
 msgstr "B<maildir>"
@@ -9920,13 +10079,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:511 doc/tin.5:1811
+#: doc/tin.5:511 doc/tin.5:1867
 #, no-wrap
 msgid "B<mark_ignore_tags>"
 msgstr "B<mark_ignore_tags>"
 
 #. type: TP
-#: doc/tin.5:514 doc/tin.5:1808
+#: doc/tin.5:514 doc/tin.5:1864
 #, no-wrap
 msgid "B<mark_saved_read>"
 msgstr "B<mark_saved_read>"
@@ -9972,25 +10131,25 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:541 doc/tin.5:1890
+#: doc/tin.5:541 doc/tin.5:1950
 #, no-wrap
 msgid "B<news_headers_to_display>"
 msgstr "B<news_headers_to_display>"
 
 #. type: TP
-#: doc/tin.5:544 doc/tin.5:1897
+#: doc/tin.5:544 doc/tin.5:1957
 #, no-wrap
 msgid "B<news_headers_to_not_display>"
 msgstr "B<news_headers_to_not_display>"
 
 #. type: TP
-#: doc/tin.5:547 doc/tin.5:1906
+#: doc/tin.5:547 doc/tin.5:1966
 #, no-wrap
 msgid "B<news_quote_format>"
 msgstr "B<news_quote_format>"
 
 #. type: TP
-#: doc/tin.5:550 doc/tin.5:2572
+#: doc/tin.5:550 doc/tin.5:2639
 #, no-wrap
 msgid "B<organization>"
 msgstr "B<organization>"
@@ -10006,61 +10165,61 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:558 doc/tin.5:1948
+#: doc/tin.5:558 doc/tin.5:2009
 #, no-wrap
 msgid "B<pos_first_unread>"
 msgstr "B<pos_first_unread>"
 
 #. type: TP
-#: doc/tin.5:561 doc/tin.5:1952
+#: doc/tin.5:561 doc/tin.5:2013
 #, no-wrap
 msgid "B<post_8bit_header>"
 msgstr "B<post_8bit_header>"
 
 #. type: TP
-#: doc/tin.5:564 doc/tin.5:1963 doc/tin.5:2596
+#: doc/tin.5:564 doc/tin.5:2024 doc/tin.5:2663
 #, no-wrap
 msgid "B<post_mime_encoding>"
 msgstr "B<post_mime_encoding>"
 
 #. type: TP
-#: doc/tin.5:567 doc/tin.5:1976
+#: doc/tin.5:567 doc/tin.5:2037
 #, no-wrap
 msgid "B<post_process_type>"
 msgstr "B<post_process_type>"
 
 #. type: TP
-#: doc/tin.5:570 doc/tin.5:1968
+#: doc/tin.5:570 doc/tin.5:2029
 #, no-wrap
 msgid "B<post_process_view>"
 msgstr "B<post_process_view>"
 
 #. type: TP
-#: doc/tin.5:573 doc/tin.5:2000
+#: doc/tin.5:573 doc/tin.5:2061
 #, no-wrap
 msgid "B<print_header>"
 msgstr "B<print_header>"
 
 #. type: TP
-#: doc/tin.5:576 doc/tin.5:2014
+#: doc/tin.5:576 doc/tin.5:2075
 #, no-wrap
 msgid "B<process_only_unread>"
 msgstr "B<process_only_unread>"
 
 #. type: TP
-#: doc/tin.5:579 doc/tin.5:2018
+#: doc/tin.5:579 doc/tin.5:2079
 #, no-wrap
 msgid "B<prompt_followupto>"
 msgstr "B<prompt_followupto>"
 
 #. type: TP
-#: doc/tin.5:582 doc/tin.5:2022
+#: doc/tin.5:582 doc/tin.5:2083
 #, no-wrap
 msgid "B<quote_chars>"
 msgstr "B<quote_chars>"
 
 #. type: TP
-#: doc/tin.5:585 doc/tin.5:2084
+#: doc/tin.5:585 doc/tin.5:2148
 #, no-wrap
 msgid "B<savedir>"
 msgstr "B<savedir>"
@@ -10073,50 +10232,49 @@ msgid "B<savefile>"
 msgstr "B<savefile>"
 
 #. type: TP
-#: doc/tin.5:591 doc/tin.5:2160
-#, fuzzy, no-wrap
-#| msgid "B<show_author>"
+#: doc/tin.5:591 doc/tin.5:2224
+#, no-wrap
 msgid "B<show_art_score>"
-msgstr "B<show_author>"
+msgstr "B<show_art_score>"
 
 #. type: TP
-#: doc/tin.5:594 doc/tin.5:2143
+#: doc/tin.5:594 doc/tin.5:2207
 #, no-wrap
 msgid "B<show_author>"
 msgstr "B<show_author>"
 
 #. type: TP
-#: doc/tin.5:597 doc/tin.5:2192
+#: doc/tin.5:597 doc/tin.5:2256
 #, no-wrap
 msgid "B<show_only_unread_arts>"
 msgstr "B<show_only_unread_arts>"
 
 #. type: TP
-#: doc/tin.5:600 doc/tin.5:2200
+#: doc/tin.5:600 doc/tin.5:2264
 #, no-wrap
 msgid "B<show_signatures>"
 msgstr "B<show_signatures>"
 
 #. type: TP
-#: doc/tin.5:603 doc/tin.5:2203
+#: doc/tin.5:603 doc/tin.5:2267
 #, no-wrap
 msgid "B<sigdashes>"
 msgstr "B<sigdashes>"
 
 #. type: TP
-#: doc/tin.5:606 doc/tin.5:2206
+#: doc/tin.5:606 doc/tin.5:2270
 #, no-wrap
 msgid "B<sigfile>"
 msgstr "B<sigfile>"
 
 #. type: TP
-#: doc/tin.5:609 doc/tin.5:2216
+#: doc/tin.5:609 doc/tin.5:2283
 #, no-wrap
 msgid "B<signature_repost>"
 msgstr "B<signature_repost>"
 
 #. type: TP
-#: doc/tin.5:612 doc/tin.5:2226
+#: doc/tin.5:612 doc/tin.5:2293
 #, no-wrap
 msgid "B<sort_article_type>"
 msgstr "B<sort_article_type>"
@@ -10127,61 +10285,61 @@ msgid "Identical to the tinrc variable B
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:615 doc/tin.5:2255
+#: doc/tin.5:615 doc/tin.5:2322
 #, no-wrap
 msgid "B<sort_threads_type>"
 msgstr "B<sort_threads_type>"
 
 #. type: TP
-#: doc/tin.5:618 doc/tin.5:2322
+#: doc/tin.5:618 doc/tin.5:2389
 #, no-wrap
 msgid "B<tex2iso_conv>"
 msgstr "B<tex2iso_conv>"
 
 #. type: TP
-#: doc/tin.5:621 doc/tin.5:2327
+#: doc/tin.5:621 doc/tin.5:2394
 #, no-wrap
 msgid "B<thread_articles>"
 msgstr "B<thread_articles>"
 
 #. type: TP
-#: doc/tin.5:624 doc/tin.5:2371
+#: doc/tin.5:624 doc/tin.5:2438
 #, no-wrap
 msgid "B<thread_catchup_on_exit>"
 msgstr "B<thread_catchup_on_exit>"
 
 #. type: TP
-#: doc/tin.5:627 doc/tin.5:2347
+#: doc/tin.5:627 doc/tin.5:2414
 #, no-wrap
 msgid "B<thread_format>"
 msgstr "B<thread_format>"
 
 #. type: TP
-#: doc/tin.5:630 doc/tin.5:2366
+#: doc/tin.5:630 doc/tin.5:2433
 #, no-wrap
 msgid "B<thread_perc>"
 msgstr "B<thread_perc>"
 
 #. type: TP
-#: doc/tin.5:633 doc/tin.5:2400
+#: doc/tin.5:633 doc/tin.5:2467
 #, no-wrap
 msgid "B<trim_article_body>"
 msgstr "B<trim_article_body>"
 
 #. type: TP
-#: doc/tin.5:636 doc/tin.5:2425
+#: doc/tin.5:636 doc/tin.5:2492
 #, no-wrap
 msgid "B<suppress_soft_hyphens>"
 msgstr "B<suppress_soft_hyphens>"
 
 #. type: TP
-#: doc/tin.5:639 doc/tin.5:2490
+#: doc/tin.5:639 doc/tin.5:2557
 #, no-wrap
 msgid "B<verbatim_handling>"
 msgstr "B<verbatim_handling>"
 
 #. type: TP
-#: doc/tin.5:642 doc/tin.5:2548
+#: doc/tin.5:642 doc/tin.5:2615
 #, no-wrap
 msgid "B<wrap_on_next_unread>"
 msgstr "B<wrap_on_next_unread>"
@@ -10200,7 +10358,7 @@ msgid ""
 "containing the text to insert. If the string starts with a ! then what "
 "follows is assumed to be the path to a program to be executed to generate "
 "the content. %G is expanded to the current news.group.name and %P is "
-"expanded to the news.group.name with all '.' replaced by '/'."
+"expanded to the news.group.name with all '.\\&' replaced by '/'."
 msgstr ""
 
 #. type: TP
@@ -10229,7 +10387,7 @@ msgid ""
 "be inserted. If the string starts with a ! then what follows is assumed to "
 "be the path to a program to be executed to generate the header and its "
 "content. %G is expanded to the current news.group.name and %P is expanded to "
-"the news.group.name with all '.' replaced by '/'."
+"the news.group.name with all '.\\&' replaced by '/'."
 msgstr ""
 
 #. type: TP
@@ -10335,12 +10493,12 @@ msgstr "B<ispell>"
 #. type: Plain text
 #: doc/tin.5:700
 msgid ""
-"Path and options for B<\\%ispell>(1)-like spell-checker, e.g. \"aspell --"
+"Path and options for B<\\%ispell>(1)-like spell-checker, e.g., \"aspell --"
 "mode=email --dont-backup check\""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:700 doc/tin.5:1844
+#: doc/tin.5:700 doc/tin.5:1902
 #, no-wrap
 msgid "B<mm_network_charset>"
 msgstr "B<mm_network_charset>"
@@ -10352,27 +10510,43 @@ msgid "B<undeclared_charset>"
 msgstr "B<undeclared_charset>"
 
 #. type: Plain text
-#: doc/tin.5:712
+#: doc/tin.5:714
 msgid ""
 "Assume (broken) articles without MIME charset declaration have this charset "
 "\\(em default is US-ASCII. This attribute works only on systems with working "
-"B<\\%iconv>(3), others might have to compile B<\\%tin>(1)  with --disable-"
-"mime-strict-charset."
+"B<\\%iconv>(3)  or B<\\%ucnv_*>(), others might have to compile B<\\"
+"%tin>(1)  with --disable-mime-strict-charset."
+msgstr ""
+
+#. type: TP
+#: doc/tin.5:714
+#, no-wrap
+msgid "B<undeclared_cs_guess>"
+msgstr "B<undeclared_cs_guess>"
+
+#. type: Plain text
+#: doc/tin.5:724
+msgid ""
+"Guess charset for (broken) articles without MIME charset declaration.  This "
+"attribute works only on systems with working B<\\%iconv>(3)  or B<\\"
+"%ucnv_*>()  and B<\\%ucsdet_getName()> from libicui18n. It has no effect if "
+"undeclared_charset is also set."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:721
+#: doc/tin.5:734
 #, no-wrap
 msgid ""
 "# include extra headers\n"
 "# assume ISO-8859-1 as charset if no charset is declared\n"
-"scope=*\n"
+"# in all but fido7.* groups\n"
+"scope=*,!fido7.*\n"
 "x_headers=~/.tin/headers\n"
 "undeclared_charset=ISO-8859-1\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:725
+#: doc/tin.5:738
 #, no-wrap
 msgid ""
 "# in *sources* set post process type to shar only\n"
@@ -10381,7 +10555,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:732
+#: doc/tin.5:745
 #, no-wrap
 msgid ""
 "# in *binaries* turn on full post processing,\n"
@@ -10393,7 +10567,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:738
+#: doc/tin.5:751
 #, no-wrap
 msgid ""
 "# in fido.* newsgroups change quote_chars\n"
@@ -10404,7 +10578,16 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:744
+#: doc/tin.5:755
+#, no-wrap
+msgid ""
+"# in fido7.* newsgroups guess charset\n"
+"scope=fido7.*\n"
+"undeclared_cs_guess=ON\n"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:761
 #, no-wrap
 msgid ""
 "# in *.test newsgroups, don't append signature\n"
@@ -10415,7 +10598,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:748
+#: doc/tin.5:765
 #, no-wrap
 msgid ""
 "# assume ISO-2022-JP-2 as charset\n"
@@ -10424,7 +10607,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:762
+#: doc/tin.5:779
 msgid ""
 "The filter file is used to assign scores to certain articles. Based on the "
 "score an article can be filtered out (hidden) or marked hot. Empty lines or "
@@ -10434,13 +10617,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:762
+#: doc/tin.5:779
 #, no-wrap
 msgid "B<comment>"
 msgstr "B<comment>"
 
 #. type: Plain text
-#: doc/tin.5:771
+#: doc/tin.5:788
 msgid ""
 "Every entry (rule) in the filter file might get a comment. Multiple lines "
 "are allowed (but only for comments yet). Every line must start with the "
@@ -10451,73 +10634,73 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:771
+#: doc/tin.5:788
 #, no-wrap
 msgid "B<group>"
 msgstr "B<group>"
 
 #. type: Plain text
-#: doc/tin.5:775
+#: doc/tin.5:792
 msgid ""
 "A comma-separated list of newsgroup patterns in wildmat-style to which "
 "groups the filter rule will be applied. This line is mandatory!"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:775
+#: doc/tin.5:792
 #, no-wrap
 msgid "B<case>"
 msgstr "B<case>"
 
 #. type: Plain text
-#: doc/tin.5:778
+#: doc/tin.5:795
 msgid "0=case-sensitive, 1=case-insensitive"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:778
+#: doc/tin.5:795
 #, no-wrap
 msgid "B<score>"
 msgstr "B<score>"
 
 #. type: Plain text
-#: doc/tin.5:781
+#: doc/tin.5:798
 msgid ""
-"Score value of the rule; can also be one of the magic words \"kill\" or \"hot"
-"\"."
+"Score value of the rule; can also be one of the magic words \"kill\" or "
+"\"hot\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:781
+#: doc/tin.5:798
 #, no-wrap
 msgid "B<subj>"
 msgstr "B<subj>"
 
 #. type: Plain text
-#: doc/tin.5:785
+#: doc/tin.5:802
 msgid ""
 "Match against ''Subject:''. The matching type used (wildmat or regex) "
 "depends on the setting of the tinrc variable B<wildcard>."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:794
+#: doc/tin.5:811
 msgid ""
 "Match against ''From:''.  B<\\%tin>(1)  converts the contents of the "
-"''From:'' header to an old style e-mail address, e.g. ''some@body.example "
+"''From:'' header to an old style e-mail address, e.g., ''some@body.example "
 "(John Doe)'' instead of ''John Doe E<lt>some@body.exampleE<gt>'', before "
 "trying to match the patterns in the filter rule. The matching type used "
 "(wildmat or regex) depends on the setting of the tinrc variable B<wildcard>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:794
+#: doc/tin.5:811
 #, no-wrap
 msgid "B<msgid>"
 msgstr "B<msgid>"
 
 #. type: Plain text
-#: doc/tin.5:799
+#: doc/tin.5:816
 msgid ""
 "Match against ''Message-ID:'' and full ''References:''. The matching type "
 "used (wildmat or regex) depends on the setting of the tinrc variable "
@@ -10525,13 +10708,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:799
+#: doc/tin.5:816
 #, no-wrap
 msgid "B<msgid_last>"
 msgstr "B<msgid_last>"
 
 #. type: Plain text
-#: doc/tin.5:804
+#: doc/tin.5:821
 msgid ""
 "Match against ''Message-ID:'' and last ''References:'' entry (direct "
 "responses) only. The matching type used (wildmat or regex) depends on the "
@@ -10539,52 +10722,52 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:804
+#: doc/tin.5:821
 #, no-wrap
 msgid "B<msgid_only>"
 msgstr "B<msgid_only>"
 
 #. type: Plain text
-#: doc/tin.5:808
+#: doc/tin.5:825
 msgid ""
 "Match against ''Message-ID:''. The matching type used (wildmat or regex)  "
 "depends on the setting of the tinrc variable B<wildcard>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:808
+#: doc/tin.5:825
 #, no-wrap
 msgid "B<refs_only>"
 msgstr "B<refs_only>"
 
 #. type: Plain text
-#: doc/tin.5:812
+#: doc/tin.5:829
 msgid ""
 "Match against ''References:''. The matching type used (wildmat or regex)  "
 "depends on the setting of the tinrc variable B<wildcard>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:812
+#: doc/tin.5:829
 #, no-wrap
 msgid "B<lines>"
 msgstr "B<lines>"
 
 #. type: Plain text
-#: doc/tin.5:815
+#: doc/tin.5:832
 msgid ""
 "Match against ''Lines:'', E<lt>num matches less than, E<gt>num matches more "
 "than."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:815
+#: doc/tin.5:832
 #, no-wrap
 msgid "B<gnksa>"
 msgstr "B<gnksa>"
 
 #. type: Plain text
-#: doc/tin.5:822
+#: doc/tin.5:839
 msgid ""
 "Match against ''From:'' address parser return codes. E<lt>num matches less "
 "than, E<gt>num matches more than the returned numeric value. "
@@ -10594,13 +10777,13 @@ msgid ""
 msgstr ""
 
 #. type: ta
-#: doc/tin.5:824
+#: doc/tin.5:841
 #, no-wrap
 msgid "\\w'%406\t'u +\\w'GNKSA_ZERO_LENGTH_LOCAL_WORD'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:854
+#: doc/tin.5:871
 #, no-wrap
 msgid ""
 "  B<0>\tGNKSA_OK\n"
@@ -10635,30 +10818,30 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:856
+#: doc/tin.5:873
 #, no-wrap
 msgid "B<xref>"
 msgstr "B<xref>"
 
 #. type: Plain text
-#: doc/tin.5:863
+#: doc/tin.5:880
 msgid ""
 "Match against ''Xref:'' line. Before any matching is done the line is turned "
 "into the same format ''Newsgroups:'' has that is it is turned into a comma "
-"separated newsgroup list with all other information (i.e.  the article "
+"separated newsgroup list with all other information (i.e., the article "
 "counter) removed. The matching type used (wildmat or regex)  depends on the "
 "setting of the tinrc variable B<wildcard>."
 msgstr ""
 
 #.  TODO: document option in detail
 #. type: TP
-#: doc/tin.5:863
+#: doc/tin.5:880
 #, no-wrap
 msgid "B<path>"
 msgstr "B<path>"
 
 #. type: Plain text
-#: doc/tin.5:869
+#: doc/tin.5:886
 msgid ""
 "Match against ''Path:'' line. This may not work on some servers. The "
 "matching type used (wildmat or regex) depends on the setting of the tinrc "
@@ -10666,18 +10849,18 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:869 doc/tin.5:2743
+#: doc/tin.5:886 doc/tin.5:2810
 #, no-wrap
 msgid "B<time>"
 msgstr "B<time>"
 
 #. type: Plain text
-#: doc/tin.5:872
+#: doc/tin.5:889
 msgid "time_t value when rule expires"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:882
+#: doc/tin.5:899
 #, no-wrap
 msgid ""
 "comment=mark all articles about tin, rtin,\n"
@@ -10689,10 +10872,10 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:891
+#: doc/tin.5:908
 #, no-wrap
 msgid ""
-"comment=downscore postings in nsr from google base on\n"
+"comment=downscore postings in nsr from google based on\n"
 "comment=message-id or path, if both hit they end up with\n"
 "comment=a score of -66 which is enough to mark them killed\n"
 "group=news.software.readers\n"
@@ -10703,7 +10886,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:912
+#: doc/tin.5:929
 msgid ""
 "Keymap-file, containing \"I<keyname> I<value> I<[value]>\" pairs separated "
 "by spaces or tabs. If the keymap-file named with full specified B<\\"
@@ -10715,13 +10898,13 @@ msgid ""
 msgstr ""
 
 #. type: ta
-#: doc/tin.5:914
+#: doc/tin.5:931
 #, no-wrap
 msgid "\\w'GroupSelThdIfUnreadSelected    'u +\\w'SPACE'u +\\w'SPACE'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:962
+#: doc/tin.5:979
 #, no-wrap
 msgid ""
 "B<ShellEscape>\t!\n"
@@ -10772,9 +10955,56 @@ msgid ""
 "B<MarkFeedRead>\t^X\n"
 "B<MarkFeedUnread>\t^W\n"
 msgstr ""
+"B<ShellEscape>\t!\n"
+"B<SetRange>\t#\n"
+"B<LastPage>\t$\n"
+"B<ToggleColor>\t&\n"
+"B<LastViewed>\t-\n"
+"B<SearchRepeat>\t\\(rs\n"
+"B<SearchSubjF>\t/\n"
+"B<SearchSubjB>\t?\n"
+"B<SearchAuthB>\tA\n"
+"B<SearchBody>\tB\n"
+"B<CatchupNextUnread>\tC\n"
+"B<EditFilter>\tE\n"
+"B<ToggleHelpDisplay>\tH\n"
+"B<ToggleInverseVideo>\tI\n"
+"B<ConnectionInfo>\tJ\n"
+"B<LookupMessage>\tL\n"
+"B<OptionMenu>\tM\n"
+"B<Postponed>\tO\t^O\n"
+"B<QuitTin>\tQ\n"
+"B<BugReport>\tR\n"
+"B<DisplayPostHist>\tW\n"
+"B<MarkThrUnread>\tZ\n"
+"B<FirstPage>\t^\n"
+"B<SearchAuthF>\ta\n"
+"B<Catchup>\tc\n"
+"B<Help>\th\n"
+"B<ToggleInfoLastLine>\ti\n"
+"B<Down>\tj\t^N\n"
+"B<Up>\tk\t^P\n"
+"B<Print>\to\n"
+"B<Quit>\tq\n"
+"B<Version>\tv\n"
+"B<Post>\tw\n"
+"B<MarkArtUnread>\tz\n"
+"B<QuickFilterSelect>\t[\n"
+"B<QuickFilterKill>\t]\n"
+"B<Pipe>\t|\n"
+"B<ScrollUp>\tE<lt>\n"
+"B<ScrollDown>\tE<gt>\n"
+"B<PageUp>\tb\t^B\t^U\n"
+"B<PageDown>\t^D\t^F\tSPACE\n"
+"B<RedrawScr>\t^L\n"
+"B<Postponed>\t^O\n"
+"B<MenuFilterSelect>\t^A\n"
+"B<MenuFilterKill>\t^K\n"
+"B<MarkFeedRead>\t^X\n"
+"B<MarkFeedUnread>\t^W\n"
 
 #. type: Plain text
-#: doc/tin.5:970
+#: doc/tin.5:987
 #, no-wrap
 msgid ""
 "B<AttachSelect>\t^J\t^M\n"
@@ -10785,9 +11015,16 @@ msgid ""
 "B<AttachTagPattern>\t=\n"
 "B<AttachToggleTagged>\t@\n"
 msgstr ""
+"B<AttachSelect>\t^J\t^M\n"
+"B<AttachPipe>\tp\n"
+"B<AttachSave>\ts\n"
+"B<AttachTag>\tt\n"
+"B<AttachUntag>\tU\n"
+"B<AttachTagPattern>\t=\n"
+"B<AttachToggleTagged>\t@\n"
 
 #. type: Plain text
-#: doc/tin.5:978
+#: doc/tin.5:995
 #, no-wrap
 msgid ""
 "B<ConfigToggleAttrib>\tTAB\n"
@@ -10798,9 +11035,16 @@ msgid ""
 "B<ConfigFirstPage>\tg\n"
 "B<ConfigResetAttrib>\tr\n"
 msgstr ""
+"B<ConfigToggleAttrib>\tTAB\n"
+"B<ConfigSelect>\t^J\t^M\n"
+"B<ConfigLastPage>\tG\n"
+"B<ConfigNoSave>\tQ\n"
+"B<ConfigScopeMenu>\tS\n"
+"B<ConfigFirstPage>\tg\n"
+"B<ConfigResetAttrib>\tr\n"
 
 #. type: Plain text
-#: doc/tin.5:986
+#: doc/tin.5:1003
 #, no-wrap
 msgid ""
 "B<FeedTag>\tT\n"
@@ -10811,17 +11055,26 @@ msgid ""
 "B<FeedSupersede>\ts\n"
 "B<FeedThd>\tt\n"
 msgstr ""
+"B<FeedTag>\tT\n"
+"B<FeedArt>\ta\n"
+"B<FeedHot>\th\n"
+"B<FeedPat>\tp\n"
+"B<FeedRepost>\tr\n"
+"B<FeedSupersede>\ts\n"
+"B<FeedThd>\tt\n"
 
 #. type: Plain text
-#: doc/tin.5:989
+#: doc/tin.5:1006
 #, no-wrap
 msgid ""
 "B<FilterEdit>\te\n"
 "B<FilterSave>\ts\n"
 msgstr ""
+"B<FilterEdit>\te\n"
+"B<FilterSave>\ts\n"
 
 #. type: Plain text
-#: doc/tin.5:1019
+#: doc/tin.5:1036
 #, no-wrap
 msgid ""
 "B<GroupNextUnreadArtOrGrp>\tTAB\n"
@@ -10854,17 +11107,48 @@ msgid ""
 "B<GroupRepost>\tx\n"
 "B<GroupUndoSel>\t~\n"
 msgstr ""
+"B<GroupNextUnreadArtOrGrp>\tTAB\n"
+"B<GroupReadBasenote>\t^J\t^M\n"
+"B<GroupSelThd>\t*\n"
+"B<GroupDoAutoSel>\t+\n"
+"B<GroupToggleThdSel>\t.\n"
+"B<GroupSelThdIfUnreadSelected>\t;\n"
+"B<GroupSelPattern>\t=\n"
+"B<GroupReverseSel>\t@\n"
+"B<GroupCancel>\tD\n"
+"B<GroupToggleGetartLimit>\tG\n"
+"B<GroupMarkThdRead>\tK\n"
+"B<GroupNextUnreadArt>\tN\n"
+"B<GroupPrevUnreadArt>\tP\n"
+"B<GroupAutoSave>\tS\n"
+"B<GroupTagParts>\tT\n"
+"B<GroupUntag>\tU\n"
+"B<GroupMarkUnselArtRead>\tX\n"
+"B<GroupToggleSubjDisplay>\td\n"
+"B<GroupGoto>\tg\n"
+"B<GroupListThd>\tl\n"
+"B<GroupMail>\tm\n"
+"B<GroupNextGroup>\tn\n"
+"B<GroupPrevGroup>\tp\n"
+"B<GroupToggleReadUnread>\tr\n"
+"B<GroupSave>\ts\n"
+"B<GroupTag>\tt\n"
+"B<GroupToggleThreading>\tu\n"
+"B<GroupRepost>\tx\n"
+"B<GroupUndoSel>\t~\n"
 
 #. type: Plain text
-#: doc/tin.5:1022
+#: doc/tin.5:1039
 #, no-wrap
 msgid ""
 "B<HelpLastPage>\tG\n"
 "B<HelpFirstPage>\tg\n"
 msgstr ""
+"B<HelpLastPage>\tG\n"
+"B<HelpFirstPage>\tg\n"
 
 #. type: Plain text
-#: doc/tin.5:1062
+#: doc/tin.5:1080
 #, no-wrap
 msgid ""
 "B<PageReplyQuoteHeaders>\t^E\n"
@@ -10876,6 +11160,7 @@ msgid ""
 "B<PageFollowupQuoteHeaders>\t^W\n"
 "B<PageToggleTex2iso>\t\"\n"
 "B<PageToggleAllHeaders>\t*\n"
+"B<PageArticleInfo>\t'\n"
 "B<PageToggleRot>\t%\n"
 "B<PageToggleUue>\t(\n"
 "B<PageReveal>\t)\n"
@@ -10907,9 +11192,49 @@ msgid ""
 "B<PageGotoParent>\tu\n"
 "B<PageRepost>\tx\n"
 msgstr ""
+"B<PageReplyQuoteHeaders>\t^E\n"
+"B<PagePGPCheckArticle>\t^G\n"
+"B<PageToggleRaw>\t^H\n"
+"B<PageNextUnread>\tTAB\n"
+"B<PageNextThd>\t^J\t^M\n"
+"B<PageToggleTabs>\t^T\n"
+"B<PageFollowupQuoteHeaders>\t^W\n"
+"B<PageToggleTex2iso>\t\"\n"
+"B<PageToggleAllHeaders>\t*\n"
+"B<PageArticleInfo>\t'\n"
+"B<PageToggleRot>\t%\n"
+"B<PageToggleUue>\t(\n"
+"B<PageReveal>\t)\n"
+"B<PageSkipIncludedText>\t:\n"
+"B<PageTopThd>\tE<lt>\n"
+"B<PageBotThd>\tE<gt>\n"
+"B<PageCancel>\tD\n"
+"B<PageFollowup>\tF\n"
+"B<PageLastPage>\tG\n"
+"B<PageKillThd>\tK\n"
+"B<PageNextUnreadArt>\tN\n"
+"B<PagePrevUnreadArt>\tP\n"
+"B<PageReply>\tR\n"
+"B<PageAutoSave>\tS\n"
+"B<PageGroupSel>\tT\n"
+"B<PageViewUrl>\tU\n"
+"B<PageViewAttach>\tV\n"
+"B<PageToggleHighlight>\t_\n"
+"B<PageEditArticle>\te\n"
+"B<PageFollowupQuote>\tf\n"
+"B<PageFirstPage>\tg\n"
+"B<PageListThd>\tl\n"
+"B<PageMail>\tm\n"
+"B<PageNextArt>\tn\n"
+"B<PagePrevArt>\tp\n"
+"B<PageReplyQuote>\tr\n"
+"B<PageSave>\ts\n"
+"B<PageTag>\tt\n"
+"B<PageGotoParent>\tu\n"
+"B<PageRepost>\tx\n"
 
 #. type: Plain text
-#: doc/tin.5:1067
+#: doc/tin.5:1085
 #, no-wrap
 msgid ""
 "B<PgpEncSign>\tb\n"
@@ -10917,9 +11242,13 @@ msgid ""
 "B<PgpIncludekey>\ti\n"
 "B<PgpSign>\ts\n"
 msgstr ""
+"B<PgpEncSign>\tb\n"
+"B<PgpEncrypt>\te\n"
+"B<PgpIncludekey>\ti\n"
+"B<PgpSign>\ts\n"
 
 #. type: Plain text
-#: doc/tin.5:1080
+#: doc/tin.5:1098
 #, no-wrap
 msgid ""
 "B<PostAbort>\ta\n"
@@ -10949,13 +11278,13 @@ msgstr ""
 "B<PostSend>\ts\ty\n"
 
 #. type: Plain text
-#: doc/tin.5:1082
+#: doc/tin.5:1100
 #, no-wrap
 msgid "B<PostedArticlesSelect>\t^J\t^M\n"
 msgstr "B<PostedArticlesSelect>\t^J\t^M\n"
 
 #. type: Plain text
-#: doc/tin.5:1085
+#: doc/tin.5:1103
 #, no-wrap
 msgid ""
 "B<PostponeOverride>\tY\n"
@@ -10965,7 +11294,7 @@ msgstr ""
 "B<PostponeAll>\tA\n"
 
 #. type: Plain text
-#: doc/tin.5:1088
+#: doc/tin.5:1106
 #, no-wrap
 msgid ""
 "B<PromptYes>\ty\tY\n"
@@ -10975,24 +11304,29 @@ msgstr ""
 "B<PromptNo>\tn\tN\n"
 
 #. type: Plain text
-#: doc/tin.5:1092
+#: doc/tin.5:1110
 #, no-wrap
 msgid ""
 "B<PProcNone>\tn\n"
 "B<PProcShar>\ts\n"
 "B<PProcYes>\ty\n"
 msgstr ""
+"B<PProcNone>\tn\n"
+"B<PProcShar>\ts\n"
+"B<PProcYes>\ty\n"
 
 #. type: Plain text
-#: doc/tin.5:1095
+#: doc/tin.5:1113
 #, no-wrap
 msgid ""
 "B<SaveAppendFile>\ta\n"
 "B<SaveOverwriteFile>\to\n"
 msgstr ""
+"B<SaveAppendFile>\ta\n"
+"B<SaveOverwriteFile>\to\n"
 
 #. type: Plain text
-#: doc/tin.5:1113
+#: doc/tin.5:1131
 #, no-wrap
 msgid ""
 "B<SelectEnterNextUnreadGrp>\tTAB\tn\n"
@@ -11013,9 +11347,26 @@ msgid ""
 "B<SelectYankActive>\ty\n"
 "B<SelectMarkGrpUnread>\tz\tZ\n"
 msgstr ""
+"B<SelectEnterNextUnreadGrp>\tTAB\tn\n"
+"B<SelectReadGrp>\t^J\t^M\n"
+"B<SelectResetNewsrc>\t^R\n"
+"B<SelectSortActive>\t.\n"
+"B<SelectNextUnreadGrp>\tN\n"
+"B<SelectSubscribePat>\tS\n"
+"B<SelectUnsubscribePat>\tU\n"
+"B<SelectQuitNoWrite>\tX\n"
+"B<SelectSyncWithActive>\tY\n"
+"B<SelectToggleDescriptions>\td\n"
+"B<SelectGoto>\tg\n"
+"B<SelectMoveGrp>\tm\n"
+"B<SelectToggleReadDisplay>\tr\n"
+"B<SelectSubscribe>\ts\n"
+"B<SelectUnsubscribe>\tu\n"
+"B<SelectYankActive>\ty\n"
+"B<SelectMarkGrpUnread>\tz\tZ\n"
 
 #. type: Plain text
-#: doc/tin.5:1120
+#: doc/tin.5:1138
 #, no-wrap
 msgid ""
 "B<ScopeSelect>\t^J\t^M\n"
@@ -11025,9 +11376,15 @@ msgid ""
 "B<ScopeMove>\tm\n"
 "B<ScopeRename>\tr\n"
 msgstr ""
+"B<ScopeSelect>\t^J\t^M\n"
+"B<ScopeEditAttributesFile>\tE\n"
+"B<ScopeAdd>\ta\n"
+"B<ScopeDelete>\td\n"
+"B<ScopeMove>\tm\n"
+"B<ScopeRename>\tr\n"
 
 #. type: Plain text
-#: doc/tin.5:1138
+#: doc/tin.5:1156
 #, no-wrap
 msgid ""
 "B<ThreadReadNextArtOrThread>\tTAB\n"
@@ -11048,15 +11405,32 @@ msgid ""
 "B<ThreadTagParts>\tT\n"
 "B<ThreadUndoSel>\t~\n"
 msgstr ""
+"B<ThreadReadNextArtOrThread>\tTAB\n"
+"B<ThreadReadArt>\t^J\t^M\n"
+"B<ThreadSelArt>\t*\n"
+"B<ThreadToggleArtSel>\t.\n"
+"B<ThreadReverseSel>\t@\n"
+"B<ThreadCancel>\tD\n"
+"B<ThreadFollowup>\tF\n"
+"B<ThreadMarkArtRead>\tK\n"
+"B<ThreadAutoSave>\tS\n"
+"B<ThreadUntag>\tU\n"
+"B<ThreadToggleSubjDisplay>\td\n"
+"B<ThreadFollowupQuote>\tf\n"
+"B<ThreadMail>\tm\n"
+"B<ThreadSave>\ts\n"
+"B<ThreadTag>\tt\n"
+"B<ThreadTagParts>\tT\n"
+"B<ThreadUndoSel>\t~\n"
 
 #. type: Plain text
-#: doc/tin.5:1140
+#: doc/tin.5:1158
 #, no-wrap
 msgid "B<UrlSelect>\t^J\t^M\n"
-msgstr ""
+msgstr "B<UrlSelect>\t^J\t^M\n"
 
 #. type: Plain text
-#: doc/tin.5:1151
+#: doc/tin.5:1169
 msgid ""
 "This file provides short descriptions of each mailgroup. (requires B<\\"
 "%tin>(1)  to be built with mh-mail-handling support). Each line consist of "
@@ -11064,75 +11438,101 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1154 doc/tin.5:1239 doc/tin.5:2689 doc/tin.5:2743 doc/tin.5:2770
+#: doc/tin.5:1172 doc/tin.5:1291 doc/tin.5:2756 doc/tin.5:2810 doc/tin.5:2837
 msgid "is the name of the newsgroup"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1157 doc/tin.5:1242 doc/tin.5:2773
+#: doc/tin.5:1175 doc/tin.5:1294 doc/tin.5:2840
 msgid "is a short single-line description of the group"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1167
+#: doc/tin.5:1185
 msgid ""
 "\"I<nntpserver[:port]> I<newsrc> [I<shortname> [I<...>]]\" pairs to use with "
 "the ''B<-g>'' command-line switch. The matching is case-insensitive and any "
-"line that starts with \"#\", \";\" or \" \" is treated as a comment."
+"line that starts with \"#\", \";\" or \" \" is treated as a comment. This is "
+"only available if reading via NNTP."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1172
+#: doc/tin.5:1194
 msgid ""
-"full qualified domain name of the news server. Additionally, a port can be "
-"specified by appending :portnumber. The string \"default\" or \"*\" acts as "
-"wildcard to match any name, such a line should be placed last."
+"full qualified domain name of the news server. Plain IPv6 address must be "
+"enclosed in square brackets. Additionally, a port can be specified by "
+"appending :portnumber. Be aware that if a port is given it will override any "
+"port given with ''B<-g>'' or ''B<-p>'' or implied by ''B<-T>'' or ''B<-k>'' "
+"or set via $B<NNTPPORT>. The string \"default\" or \"*\" acts as wildcard to "
+"match any name, such a line should be placed last."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1172
+#: doc/tin.5:1194
 #, no-wrap
 msgid "B<newsrc>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1175
-msgid "related newsrc."
+#: doc/tin.5:1197
+msgid "related newsrc. A file specified via ''B<-f>'' has a higher priority."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1175
+#: doc/tin.5:1197
 #, no-wrap
 msgid "B<shortname>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1178
-msgid "nickname(s) for the nntpserver."
+#: doc/tin.5:1201
+msgid ""
+"nickname(s) for the nntpserver. Nicknames must not contain \":\" and must be "
+"unique."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1182
+#: doc/tin.5:1205
 msgid "# sample newsrctable file"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1184
+#: doc/tin.5:1207
 msgid "news.tin.org .newsrc-tin.org tinorg"
-msgstr ""
+msgstr "news.tin.org .newsrc-tin.org tinorg"
 
 #. type: Plain text
-#: doc/tin.5:1186
+#: doc/tin.5:1209
 msgid "news.example.org /tmp/nrc-ex example ex"
+msgstr "news.example.org /tmp/nrc-ex example ex"
+
+#. type: Plain text
+#: doc/tin.5:1211
+msgid "[::1]:1119 /tmp/localhost6-1119 lh6"
+msgstr "[::1]:1119 /tmp/localhost6-1119 lh6"
+
+#. type: Plain text
+#: doc/tin.5:1213
+msgid "# catch all rules should go last"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1188
-msgid "* ~/.tin/newsrcs/${NNTPSERVER-localhost}"
+#: doc/tin.5:1215
+msgid "# with the more specific one on top"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1204
+#: doc/tin.5:1217
+msgid "*:563 ~/.tin/newsrcs/${NNTPSERVER-localhost}:563/newsrc"
+msgstr "*:563 ~/.tin/newsrcs/${NNTPSERVER-localhost}:563/newsrc"
+
+#. type: Plain text
+#: doc/tin.5:1219
+msgid "* ~/.tin/newsrcs/${NNTPSERVER-localhost}/newsrc"
+msgstr "* ~/.tin/newsrcs/${NNTPSERVER-localhost}/newsrc"
+
+#. type: Plain text
+#: doc/tin.5:1235
 msgid ""
 "Posting history. The file is written by B<\\%tin>(1)  and used by "
 "B<DisplayPostHist> ('B<W>') command. It should not be altered manually. Any "
@@ -11145,152 +11545,185 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1214
+#: doc/tin.5:1245
 msgid ""
 "Copy of all posted articles in B<\\%mbox>(5)  format. The filename can be "
 "changed by setting B<posted_articles_file>."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1223
+#: doc/tin.5:1254
 msgid "Pool of postponed articles. This file is in B<\\%mbox>(5)  format."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1236
+#: doc/tin.5:1265
+msgid ""
+"This file is a copy of the servers message of the day (MOTD) message.  It is "
+"automatically created on startup except when using the ''B<-Q>'' command-"
+"line option and is unlinked on exit."
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:1275
+msgid ""
+"File to store $B<NNTPSERVER> and $B<NNTPPORT> related info- and error-"
+"messages. The file is overwritten on startup and meant for debugging."
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:1288
 msgid ""
-"This file a copy of the servers newsgroups file which provides short "
+"This file is a copy of the servers newsgroups file which provides short "
 "descriptions of each newsgroup. It is automatically updated on startup "
 "except when using the ''B<-X>''or ''B<-q>'' command-line option and an old "
-"copy exists. Each line consist of two tab-separated fields \"I<group.name>"
-"\tI<one-line description>\"."
+"copy exists. Each line consist of two tab-separated fields \"I<group."
+"name>\tI<one-line description>\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1236 doc/tin.5:2767
+#: doc/tin.5:1288 doc/tin.5:2834
 #, no-wrap
 msgid "B<group.name>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1239 doc/tin.5:2770
+#: doc/tin.5:1291 doc/tin.5:2837
 #, no-wrap
 msgid "B<one-line description>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1254
+#: doc/tin.5:1306
 msgid ""
 "File to store $B<NNTPSERVER> and $B<NNTPPORT> related data via a list of "
-"\"I<variable>=I<value>\" pairs. Currently there are only two variables, both "
-"are not meant to be changed by the user."
+"\"I<variable>=I<value>\" pairs. Currently there are only a few variables, "
+"all are not meant to be changed by the user."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1254
+#: doc/tin.5:1306
 #, no-wrap
 msgid "B<version>"
 msgstr "B<version>"
 
 #. type: Plain text
-#: doc/tin.5:1257
+#: doc/tin.5:1309
 msgid "Internal version number."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1257
+#: doc/tin.5:1309
 #, no-wrap
-msgid "B<last_newnews>"
-msgstr "B<last_newnews>"
+msgid "B<motd_hash>"
+msgstr "B<motd_hash>"
 
 #. type: Plain text
-#: doc/tin.5:1262
+#: doc/tin.5:1313
+#, fuzzy
 msgid ""
-"Internal timestamp used by B<\\%tin>(1)  to keep track of new newsgroups on "
-"the server."
+"Internal hash of the servers MOTD, so displaying it can be skipped if it is "
+"unchanged."
 msgstr ""
+"Hash interno del MOTD del servidor, por lo que se puede omitir su "
+"visualizaciÃ³n si no se ha modificado."
+
+#. type: TP
+#: doc/tin.5:1313
+#, no-wrap
+msgid "B<last_newnews>"
+msgstr "B<last_newnews>"
 
 #. type: Plain text
-#: doc/tin.5:1272
+#: doc/tin.5:1318
 msgid ""
-"File to store $B<NNTPSERVER> and $B<NNTPPORT> related info- and error-"
-"messages. The file is overwritten on startup and meant for debugging."
+"Internal timestamp used by B<\\%tin>(1)  to keep track of new newsgroups on "
+"the server."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1294
+#: doc/tin.5:1341
 msgid ""
 "At startup, B<\\%tin>(1)  reads in the configuration file. This contains a "
 "list of \"I<variable>=I<value>\" pairs that can be used to configure the way "
-"B<\\%tin>(1)  works. If it exists, the global configuration file, I<"
-"${TIN_LIBDIR:-NEWSLIBDIR}/tinrc> is read first. After that, the user's own "
-"configuration file I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc> is read. The "
-"global file is useful for distributing system-wide defaults to new users who "
-"have no private tinrc yet (see also B</etc/tin/tin.defaults>)."
+"B<\\%tin>(1)  works. I<value> strings are limited to 1022 chars and will be "
+"discarded if exceeding this limit. If it exists, the global configuration "
+"file, I<${TIN_LIBDIR:-NEWSLIBDIR}/tinrc> is read first. After that, the "
+"user's own configuration file I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc> is "
+"read. The global file is useful for distributing system-wide defaults to new "
+"users who have no private tinrc yet (see also B</etc/tin/tin.defaults>)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1294
+#: doc/tin.5:1341
 #, no-wrap
 msgid "B<abbreviate_groupname>"
 msgstr "B<abbreviate_groupname>"
 
+#. type: Plain text
+#: doc/tin.5:1347
+msgid ""
+"If ON abbreviate long newsgroup names at group selection level and article "
+"level (if necessary) like this: news.software.readers -E<gt> n.software."
+"readers -E<gt> n.s.readers -E<gt> n.s.r.  Default is OFF."
+msgstr ""
+
 #. type: TP
-#: doc/tin.5:1310
+#: doc/tin.5:1357
 #, no-wrap
 msgid "B<art_marked_deleted>"
 msgstr "B<art_marked_deleted>"
 
 #. type: TP
-#: doc/tin.5:1313
+#: doc/tin.5:1360
 #, no-wrap
 msgid "B<art_marked_inrange>"
 msgstr "B<art_marked_inrange>"
 
 #. type: TP
-#: doc/tin.5:1316
+#: doc/tin.5:1363
 #, no-wrap
 msgid "B<art_marked_return>"
 msgstr "B<art_marked_return>"
 
 #. type: TP
-#: doc/tin.5:1320
+#: doc/tin.5:1367
 #, no-wrap
 msgid "B<art_marked_selected>"
 msgstr "B<art_marked_selected>"
 
 #. type: TP
-#: doc/tin.5:1324
+#: doc/tin.5:1371
 #, no-wrap
 msgid "B<art_marked_recent>"
 msgstr "B<art_marked_recent>"
 
 #. type: TP
-#: doc/tin.5:1328
+#: doc/tin.5:1375
 #, no-wrap
 msgid "B<art_marked_unread>"
 msgstr "B<art_marked_unread>"
 
 #. type: TP
-#: doc/tin.5:1332
+#: doc/tin.5:1379
 #, no-wrap
 msgid "B<art_marked_read>"
 msgstr "B<art_marked_read>"
 
 #. type: TP
-#: doc/tin.5:1335
+#: doc/tin.5:1382
 #, no-wrap
 msgid "B<art_marked_killed>"
 msgstr "B<art_marked_killed>"
 
 #. type: TP
-#: doc/tin.5:1339
+#: doc/tin.5:1386
 #, no-wrap
 msgid "B<art_marked_read_selected>"
 msgstr "B<art_marked_read_selected>"
 
 #. type: Plain text
-#: doc/tin.5:1350
+#: doc/tin.5:1397
 msgid ""
 "If ON B<\\%tin>(1)  will ask before using a MIME viewer (B<metamail_prog>) "
 "to display MIME messages. This only occurs if a MIME viewer is set. Default "
@@ -11298,44 +11731,43 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1350
-#, fuzzy, no-wrap
-#| msgid "B<date_format>"
+#: doc/tin.5:1397
+#, no-wrap
 msgid "B<attachment_format>"
-msgstr "B<date_format>"
+msgstr "B<attachment_format>"
 
 #. type: Plain text
-#: doc/tin.5:1356
+#: doc/tin.5:1403
 msgid ""
 "Format string B<\\%tin>(1)  uses for Attachment level representation.  "
 "Default is \"%t%s%e%c%d\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1364
+#: doc/tin.5:1411
 #, no-wrap
 msgid "B<auto_reconnect>"
 msgstr "B<auto_reconnect>"
 
 #. type: Plain text
-#: doc/tin.5:1367
+#: doc/tin.5:1414
 msgid "Reconnect to server automatically. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1372
+#: doc/tin.5:1419
 #, no-wrap
 msgid "B<beginner_level>"
 msgstr "B<beginner_level>"
 
 #. type: TP
-#: doc/tin.5:1377
+#: doc/tin.5:1424
 #, no-wrap
 msgid "B<cache_overview_files>"
 msgstr "B<cache_overview_files>"
 
 #. type: Plain text
-#: doc/tin.5:1382
+#: doc/tin.5:1429
 msgid ""
 "If ON, create local copies of NNTP overview files. This can be used to "
 "considerably speed up accessing large groups when using a slow connection.  "
@@ -11343,189 +11775,201 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1382
+#: doc/tin.5:1429
+#, no-wrap
+msgid "B<compress_overview_files>"
+msgstr "B<compress_overview_files>"
+
+#. type: TP
+#: doc/tin.5:1434
 #, no-wrap
 msgid "B<cancel_lock_algo>"
 msgstr "B<cancel_lock_algo>"
 
+#. type: Plain text
+#: doc/tin.5:1440
+msgid ""
+"Use this hash algorithm for cancel-locks. Only available when built with "
+"cancel-lock support. none disables the generation of cancel-locks. Valid "
+"values are none, sha1, sha256 and sha512.  Default is sha1."
+msgstr ""
+
 #. type: TP
-#: doc/tin.5:1388
+#: doc/tin.5:1440
 #, no-wrap
 msgid "B<catchup_read_groups>"
 msgstr "B<catchup_read_groups>"
 
 #. type: TP
-#: doc/tin.5:1392
+#: doc/tin.5:1444
 #, no-wrap
 msgid "B<col_back>"
 msgstr "B<col_back>"
 
 #. type: TP
-#: doc/tin.5:1395
+#: doc/tin.5:1447
 #, no-wrap
 msgid "B<col_extquote>"
 msgstr "B<col_extquote>"
 
 #. type: TP
-#: doc/tin.5:1398
+#: doc/tin.5:1450
 #, no-wrap
 msgid "B<col_from>"
 msgstr "B<col_from>"
 
 #. type: TP
-#: doc/tin.5:1401
+#: doc/tin.5:1453
 #, no-wrap
 msgid "B<col_head>"
 msgstr "B<col_head>"
 
 #. type: TP
-#: doc/tin.5:1404
+#: doc/tin.5:1456
 #, no-wrap
 msgid "B<col_help>"
 msgstr "B<col_help>"
 
 #. type: TP
-#: doc/tin.5:1407
+#: doc/tin.5:1459
 #, no-wrap
 msgid "B<col_invers_bg>"
 msgstr "B<col_invers_bg>"
 
 #. type: TP
-#: doc/tin.5:1410
+#: doc/tin.5:1462
 #, no-wrap
 msgid "B<col_invers_fg>"
 msgstr "B<col_invers_fg>"
 
 #. type: TP
-#: doc/tin.5:1413
+#: doc/tin.5:1465
 #, no-wrap
 msgid "B<col_markdash>"
 msgstr "B<col_markdash>"
 
 #. type: TP
-#: doc/tin.5:1417
+#: doc/tin.5:1469
 #, no-wrap
 msgid "B<col_markslash>"
 msgstr "B<col_markslash>"
 
 #. type: TP
-#: doc/tin.5:1421
+#: doc/tin.5:1473
 #, no-wrap
 msgid "B<col_markstar>"
 msgstr "B<col_markstar>"
 
 #. type: TP
-#: doc/tin.5:1425
+#: doc/tin.5:1477
 #, no-wrap
 msgid "B<col_markstroke>"
 msgstr "B<col_markstroke>"
 
 #. type: TP
-#: doc/tin.5:1429
+#: doc/tin.5:1481
 #, no-wrap
 msgid "B<col_message>"
 msgstr "B<col_message>"
 
 #. type: TP
-#: doc/tin.5:1432
+#: doc/tin.5:1484
 #, no-wrap
 msgid "B<col_minihelp>"
 msgstr "B<col_minihelp>"
 
 #. type: TP
-#: doc/tin.5:1435
+#: doc/tin.5:1487
 #, no-wrap
 msgid "B<col_newsheaders>"
 msgstr "B<col_newsheaders>"
 
 #. type: TP
-#: doc/tin.5:1438
+#: doc/tin.5:1490
 #, no-wrap
 msgid "B<col_normal>"
 msgstr "B<col_normal>"
 
 #. type: TP
-#: doc/tin.5:1441
+#: doc/tin.5:1493
 #, no-wrap
 msgid "B<col_quote>"
 msgstr "B<col_quote>"
 
 #. type: TP
-#: doc/tin.5:1444
+#: doc/tin.5:1496
 #, no-wrap
 msgid "B<col_quote2>"
 msgstr "B<col_quote2>"
 
 #. type: TP
-#: doc/tin.5:1447
+#: doc/tin.5:1499
 #, no-wrap
 msgid "B<col_quote3>"
 msgstr "B<col_quote3>"
 
 #. type: TP
-#: doc/tin.5:1450
+#: doc/tin.5:1502
 #, no-wrap
 msgid "B<col_response>"
 msgstr "B<col_response>"
 
 #. type: TP
-#: doc/tin.5:1454
+#: doc/tin.5:1506
 #, no-wrap
 msgid "B<col_signature>"
 msgstr "B<col_signature>"
 
 #. type: TP
-#: doc/tin.5:1457
-#, fuzzy, no-wrap
-#| msgid "B<col_response>"
+#: doc/tin.5:1509
+#, no-wrap
 msgid "B<col_score_neg>"
-msgstr "B<col_response>"
+msgstr "B<col_score_neg>"
 
 #. type: TP
-#: doc/tin.5:1460
-#, fuzzy, no-wrap
-#| msgid "B<col_response>"
+#: doc/tin.5:1512
+#, no-wrap
 msgid "B<col_score_pos>"
-msgstr "B<col_response>"
+msgstr "B<col_score_pos>"
 
 #. type: TP
-#: doc/tin.5:1463
+#: doc/tin.5:1515
 #, no-wrap
 msgid "B<col_urls>"
 msgstr "B<col_urls>"
 
 #. type: TP
-#: doc/tin.5:1466
+#: doc/tin.5:1518
 #, no-wrap
 msgid "B<col_verbatim>"
 msgstr "B<col_verbatim>"
 
 #. type: TP
-#: doc/tin.5:1469
+#: doc/tin.5:1521
 #, no-wrap
 msgid "B<col_subject>"
 msgstr "B<col_subject>"
 
 #. type: TP
-#: doc/tin.5:1472
+#: doc/tin.5:1524
 #, no-wrap
 msgid "B<col_text>"
 msgstr "B<col_text>"
 
 #. type: TP
-#: doc/tin.5:1475
+#: doc/tin.5:1527
 #, no-wrap
 msgid "B<col_title>"
 msgstr "B<col_title>"
 
 #. type: TP
-#: doc/tin.5:1478
+#: doc/tin.5:1530
 #, no-wrap
 msgid "B<confirm_choice>"
 msgstr "B<confirm_choice>"
 
 #. type: Plain text
-#: doc/tin.5:1482
+#: doc/tin.5:1534
 msgid ""
 "B<\\%tin>(1)  can ask for manual confirmation to protect the user. Available "
 "choices:"
@@ -11533,7 +11977,7 @@ msgstr ""
 
 #.  TODO: check if all affected commands are marked [after confirmation]
 #. type: Plain text
-#: doc/tin.5:1488
+#: doc/tin.5:1540
 msgid ""
 "B<commands>: Ask for confirmation before executing certain dangerous "
 "commands (e.g., B<Catchup> ('B<c>')). Commands that this affects are marked "
@@ -11541,26 +11985,26 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1493
+#: doc/tin.5:1545
 msgid ""
 "B<quit>: You'll be asked to confirm that you wish to exit B<\\%tin>(1)  when "
 "you use the B<Quit> ('B<q>') command."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1497
+#: doc/tin.5:1549
 msgid ""
 "B<select>: Ask for confirmation before marking all not selected (with "
 "B<GroupMarkUnselArtRead> ('B<X>') command) articles as read."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1499
+#: doc/tin.5:1551
 msgid "Default is commands & quit."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1510
+#: doc/tin.5:1562
 msgid ""
 "Format string used for date representation. A description of the different "
 "format options can be found at B<\\%strftime>(3).  B<\\%tin>(1)  uses B<\\"
@@ -11569,61 +12013,61 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1510
+#: doc/tin.5:1562
 #, no-wrap
 msgid "B<default_art_search>"
 msgstr "B<default_art_search>"
 
 #. type: TP
-#: doc/tin.5:1512
+#: doc/tin.5:1564
 #, no-wrap
 msgid "B<default_author_search>"
 msgstr "B<default_author_search>"
 
 #. type: TP
-#: doc/tin.5:1514
+#: doc/tin.5:1566
 #, no-wrap
 msgid "B<default_config_search>"
 msgstr "B<default_config_search>"
 
 #. type: TP
-#: doc/tin.5:1517
+#: doc/tin.5:1569
 #, no-wrap
 msgid "B<default_filter_days>"
 msgstr "B<default_filter_days>"
 
 #. type: TP
-#: doc/tin.5:1520
+#: doc/tin.5:1572
 #, no-wrap
 msgid "B<default_filter_kill_case>"
 msgstr "B<default_filter_kill_case>"
 
 #. type: TP
-#: doc/tin.5:1524
+#: doc/tin.5:1576
 #, no-wrap
 msgid "B<default_filter_kill_expire>"
 msgstr "B<default_filter_kill_expire>"
 
 #. type: TP
-#: doc/tin.5:1529
+#: doc/tin.5:1581
 #, no-wrap
 msgid "B<default_filter_kill_global>"
 msgstr "B<default_filter_kill_global>"
 
 #. type: TP
-#: doc/tin.5:1533
+#: doc/tin.5:1585
 #, no-wrap
 msgid "B<default_filter_kill_header>"
 msgstr "B<default_filter_kill_header>"
 
 #. type: ta
-#: doc/tin.5:1538 doc/tin.5:1567
+#: doc/tin.5:1590 doc/tin.5:1619
 #, no-wrap
 msgid "\\w'0,1   'u +\\w'\\'\\'Message-ID:\\'\\' & last \\'\\'References:\\'\\' entry only'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1547 doc/tin.5:1576
+#: doc/tin.5:1599 doc/tin.5:1628
 #, no-wrap
 msgid ""
 "0\t''Subject:'' (case sensitive)\n"
@@ -11637,154 +12081,167 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1549
+#: doc/tin.5:1601
 #, no-wrap
 msgid "B<default_filter_select_case>"
 msgstr "B<default_filter_select_case>"
 
 #. type: TP
-#: doc/tin.5:1553
+#: doc/tin.5:1605
 #, no-wrap
 msgid "B<default_filter_select_expire>"
 msgstr "B<default_filter_select_expire>"
 
 #. type: TP
-#: doc/tin.5:1558
+#: doc/tin.5:1610
 #, no-wrap
 msgid "B<default_filter_select_global>"
 msgstr "B<default_filter_select_global>"
 
 #. type: TP
-#: doc/tin.5:1562
+#: doc/tin.5:1614
 #, no-wrap
 msgid "B<default_filter_select_header>"
 msgstr "B<default_filter_select_header>"
 
 #. type: TP
-#: doc/tin.5:1578
+#: doc/tin.5:1630
 #, no-wrap
 msgid "B<default_goto_group>"
 msgstr "B<default_goto_group>"
 
 #. type: TP
-#: doc/tin.5:1580
+#: doc/tin.5:1632
 #, no-wrap
 msgid "B<default_group_search>"
 msgstr "B<default_group_search>"
 
 #. type: TP
-#: doc/tin.5:1582
+#: doc/tin.5:1634
 #, no-wrap
 msgid "B<default_mail_address>"
 msgstr "B<default_mail_address>"
 
 #. type: TP
-#: doc/tin.5:1584
+#: doc/tin.5:1636
 #, no-wrap
 msgid "B<default_move_group>"
 msgstr "B<default_move_group>"
 
 #. type: TP
-#: doc/tin.5:1586
+#: doc/tin.5:1638
 #, no-wrap
 msgid "B<default_pattern>"
 msgstr "B<default_pattern>"
 
 #. type: TP
-#: doc/tin.5:1588
+#: doc/tin.5:1640
 #, no-wrap
 msgid "B<default_pipe_command>"
 msgstr "B<default_pipe_command>"
 
 #. type: TP
-#: doc/tin.5:1590
+#: doc/tin.5:1642
 #, no-wrap
 msgid "B<default_post_newsgroups>"
 msgstr "B<default_post_newsgroups>"
 
 #. type: TP
-#: doc/tin.5:1592
+#: doc/tin.5:1644
 #, no-wrap
 msgid "B<default_post_subject>"
 msgstr "B<default_post_subject>"
 
 #. type: TP
-#: doc/tin.5:1594
+#: doc/tin.5:1646
 #, no-wrap
 msgid "B<default_range_group>"
 msgstr "B<default_range_group>"
 
 #. type: TP
-#: doc/tin.5:1596
+#: doc/tin.5:1648
 #, no-wrap
 msgid "B<default_range_select>"
 msgstr "B<default_range_select>"
 
 #. type: TP
-#: doc/tin.5:1598
+#: doc/tin.5:1650
 #, no-wrap
 msgid "B<default_range_thread>"
 msgstr "B<default_range_thread>"
 
 #. type: TP
-#: doc/tin.5:1600
+#: doc/tin.5:1652
 #, no-wrap
 msgid "B<default_repost_group>"
 msgstr "B<default_repost_group>"
 
 #. type: TP
-#: doc/tin.5:1602
+#: doc/tin.5:1654
 #, no-wrap
 msgid "B<default_save_file>"
 msgstr "B<default_save_file>"
 
 #. type: TP
-#: doc/tin.5:1604
+#: doc/tin.5:1656
 #, no-wrap
 msgid "B<default_save_mode>"
 msgstr "B<default_save_mode>"
 
 #. type: TP
-#: doc/tin.5:1606
+#: doc/tin.5:1658
 #, no-wrap
 msgid "B<default_select_pattern>"
 msgstr "B<default_select_pattern>"
 
 #. type: TP
-#: doc/tin.5:1608
+#: doc/tin.5:1660
 #, no-wrap
 msgid "B<default_shell_command>"
 msgstr "B<default_shell_command>"
 
 #. type: TP
-#: doc/tin.5:1610
+#: doc/tin.5:1662
 #, no-wrap
 msgid "B<default_subject_search>"
 msgstr "B<default_subject_search>"
 
 #. type: TP
-#: doc/tin.5:1612
+#: doc/tin.5:1664
+#, no-wrap
+msgid "B<dont_break_words>"
+msgstr "B<dont_break_words>"
+
+#. type: TP
+#: doc/tin.5:1668
 #, no-wrap
 msgid "B<draw_arrow>"
 msgstr "B<draw_arrow>"
 
 #. type: Plain text
-#: doc/tin.5:1623
+#: doc/tin.5:1672
+msgid ""
+"Allows groups/articles to be selected by an arrow '-E<gt>' if set ON or by a "
+"highlighted bar if set OFF. Default is OFF."
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:1679
 msgid ""
 "The format string used to create the editor start command with parameters.  "
 "Default is '%E +%N %F' with %E=Editor, %N=Linenumber and %F=Filename (e.g., /"
-"bin/vi +7 .article). See also $B<VISUAL> and $B<EDITOR> under \"ENVIRONMENT"
-"\" in B<\\%tin>(1)"
+"bin/vi +7 .article). See also $B<VISUAL> and $B<EDITOR> under "
+"\"ENVIRONMENT\" in B<\\%tin>(1)"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1626
+#: doc/tin.5:1682
 #, no-wrap
 msgid "B<extquote_regex>"
 msgstr "B<extquote_regex>"
 
 #. type: Plain text
-#: doc/tin.5:1633
+#: doc/tin.5:1689
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_extquote>. If B<extquote_regex> is blank, "
@@ -11792,34 +12249,34 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1633
+#: doc/tin.5:1689
 #, no-wrap
 msgid "B<force_screen_redraw>"
 msgstr "B<force_screen_redraw>"
 
 #. type: TP
-#: doc/tin.5:1637
+#: doc/tin.5:1693
 #, no-wrap
 msgid "B<getart_limit>"
 msgstr "B<getart_limit>"
 
 #. type: Plain text
-#: doc/tin.5:1644
+#: doc/tin.5:1700
 msgid ""
 "If B<getart_limit> is E<gt> 0 not more than the last B<getart_limit> "
-"articles/group are fetched from the server. If B<getart_limit> is E<lt> 0 B<"
-"\\%tin>(1)  will start fetching articles from your first unread minus "
+"articles/group are fetched from the server. If B<getart_limit> is E<lt> 0 "
+"B<\\%tin>(1)  will start fetching articles from your first unread minus "
 "absolute value of B<getart_limit>. Default is 0, which means no limit."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1644
+#: doc/tin.5:1700
 #, no-wrap
 msgid "B<goto_next_unread>"
 msgstr "B<goto_next_unread>"
 
 #. type: Plain text
-#: doc/tin.5:1658
+#: doc/tin.5:1714
 msgid ""
 "Which keys B<\\%tin>(1)  should accept to jump to the next unread article.  "
 "Possible is any combination of B<PageDown> and B<PageNextUnread>.  When "
@@ -11830,20 +12287,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1665
+#: doc/tin.5:1721
 msgid ""
 "The format string used for the Group level. Default is \"%n\\ %m\\ %R\\ %L\\ "
 "\\ %s\\ \\ %F\". The following substitutions are supported:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.5:1667
+#: doc/tin.5:1723
 #, no-wrap
 msgid "\\w'%G    'u +\\w'number of responses in thread'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1679
+#: doc/tin.5:1735
 #, no-wrap
 msgid ""
 "%D\tdate\n"
@@ -11860,65 +12317,65 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1681
+#: doc/tin.5:1737
 #, no-wrap
 msgid "B<hide_uue>"
 msgstr "B<hide_uue>"
 
 #. type: TP
-#: doc/tin.5:1691
+#: doc/tin.5:1747
 #, no-wrap
 msgid "B<inews_prog>"
 msgstr "B<inews_prog>"
 
 #. type: TP
-#: doc/tin.5:1698
+#: doc/tin.5:1754
 #, no-wrap
 msgid "B<info_in_last_line>"
 msgstr "B<info_in_last_line>"
 
 #. type: TP
-#: doc/tin.5:1704
+#: doc/tin.5:1760
 #, no-wrap
 msgid "B<interactive_mailer>"
 msgstr "B<interactive_mailer>"
 
 #. type: Plain text
-#: doc/tin.5:1710
+#: doc/tin.5:1766
 msgid ""
 "If greater than 0 your mailreader will be invoked earlier for reply so you "
-"can use more of its features (e.g. MIME, pgp, ...). 1 means include headers, "
-"2 means don't include headers (old use_mailreader_i=ON option). 0 turns off "
-"usage. This option has to suit B<mailer_format>. Default is 0."
+"can use more of its features (e.g., MIME, pgp, ...). 1 means include "
+"headers, 2 means don't include headers (old use_mailreader_i=ON option). 0 "
+"turns off usage. This option has to suit B<mailer_format>. Default is 0."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1710
+#: doc/tin.5:1766
 #, no-wrap
 msgid "B<inverse_okay>"
 msgstr "B<inverse_okay>"
 
 #. type: TP
-#: doc/tin.5:1714
+#: doc/tin.5:1770
 #, no-wrap
 msgid "B<keep_dead_articles>"
 msgstr "B<keep_dead_articles>"
 
 #. type: TP
-#: doc/tin.5:1719
+#: doc/tin.5:1775
 #, no-wrap
 msgid "B<kill_level>"
 msgstr "B<kill_level>"
 
 #. type: Plain text
-#: doc/tin.5:1723
+#: doc/tin.5:1779
 msgid ""
 "This option controls the processing and display of articles that are killed. "
 "There are 3 options, default is 0 (B<Kill only unread arts>)."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1731
+#: doc/tin.5:1787
 msgid ""
 "B<Kill only unread arts> is the 'traditional' behavior of B<\\%tin>(1).  "
 "Only unread articles are killed once only by marking them read. As filtering "
@@ -11928,147 +12385,171 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1747
+#: doc/tin.5:1803
 #, no-wrap
 msgid "B<mail_address>"
 msgstr "B<mail_address>"
 
 #. type: Plain text
-#: doc/tin.5:1753
+#: doc/tin.5:1809
 msgid ""
 "User's mail address (and full name), if not username@host. This is used when "
 "creating articles, sending mail and when B<\\%pgp>(1)  signing."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1757
+#: doc/tin.5:1813
 #, no-wrap
 msgid "B<mail_quote_format>"
 msgstr "B<mail_quote_format>"
 
 #. type: TP
-#: doc/tin.5:1762
+#: doc/tin.5:1819
 #, no-wrap
 msgid "B<mailbox_format>"
 msgstr "B<mailbox_format>"
 
 #. type: TP
-#: doc/tin.5:1781
+#: doc/tin.5:1838
 #, no-wrap
 msgid "B<mailer_format>"
 msgstr "B<mailer_format>"
 
 #. type: TP
-#: doc/tin.5:1819
+#: doc/tin.5:1875
 #, no-wrap
 msgid "B<metamail_prog>"
 msgstr "B<metamail_prog>"
 
 #. type: TP
-#: doc/tin.5:1831 doc/tin.5:2592
+#: doc/tin.5:1887 doc/tin.5:2659
 #, no-wrap
 msgid "B<mm_charset>"
 msgstr "B<mm_charset>"
 
+#. type: Plain text
+#: doc/tin.5:1902
+msgid ""
+"Charset supported locally, which is also used for MIME header (charset "
+"parameter and charset name in header encoding) in mail and news postings. If "
+"B<MIME_STRICT_CHARSET> is defined at compile time, text in charset other "
+"than the value of this parameter is considered not displayable and "
+"represented as '?'. Otherwise, all character sets are regarded as compatible "
+"with the display. If it's not set, the value of the environment variable "
+"$B<MM_CHARSET> is used. US-ASCII or compile-time default is used in case "
+"neither of them is defined. If your system supports B<\\%iconv>(3)  or B<\\"
+"%ucnv_*>(), this option is disabled and you should use B<mm_network_charset> "
+"instead."
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:1915
+msgid ""
+"Charset used for posting and MIME headers; replaces B<mm_charset>.  "
+"Conversion between B<mm_network_charset> and local charset (determined via "
+"B<\\%nl_langinfo>(3))  is done via B<\\%iconv>(3)  or B<\\%ucnv_*>(), if "
+"none of these functions are available on your system this option is disabled "
+"and you have to use B<mm_charset> instead. B<mm_network_charset> is limited "
+"to one of the following charsets:"
+msgstr ""
+
 #. type: TP
-#: doc/tin.5:1864
+#: doc/tin.5:1924
 #, no-wrap
 msgid "B<mono_markdash>"
 msgstr "B<mono_markdash>"
 
 #. type: TP
-#: doc/tin.5:1869
+#: doc/tin.5:1929
 #, no-wrap
 msgid "B<mono_markslash>"
 msgstr "B<mono_markslash>"
 
 #. type: TP
-#: doc/tin.5:1874
+#: doc/tin.5:1934
 #, no-wrap
 msgid "B<mono_markstar>"
 msgstr "B<mono_markstar>"
 
 #. type: TP
-#: doc/tin.5:1879
+#: doc/tin.5:1939
 #, no-wrap
 msgid "B<mono_markstroke>"
 msgstr "B<mono_markstroke>"
 
 #. type: TP
-#: doc/tin.5:1884
+#: doc/tin.5:1944
 #, no-wrap
 msgid "B<newnews>"
 msgstr "B<newnews>"
 
 #. type: Plain text
-#: doc/tin.5:1890
+#: doc/tin.5:1950
 msgid ""
 "These are internal timers used by B<\\%tin>(1)  to keep track of new "
 "newsgroups. Do not change them unless you understand what they are for."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1911
+#: doc/tin.5:1972
 #, no-wrap
 msgid "B<nntp_read_timeout_secs>"
 msgstr "B<nntp_read_timeout_secs>"
 
 #. type: Plain text
-#: doc/tin.5:1914
+#: doc/tin.5:1975
 msgid "Time in seconds to wait for a response from the server. Default is 120."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1914
+#: doc/tin.5:1975
 #, no-wrap
 msgid "B<normalization_form>"
 msgstr "B<normalization_form>"
 
 #. type: Plain text
-#: doc/tin.5:1918
+#: doc/tin.5:1979
 msgid ""
 "The normalization form which should be used to normalize unicode input.  The "
 "possible values are:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1936
+#: doc/tin.5:1997
 msgid ""
 "Some normalization modes are only available if they are supported by the "
 "library B<\\%tin>(1)  uses to do the normalization. NFC should be used if "
-"possible."
+"possible (B<RFC\\%5198>)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1936
-#, fuzzy, no-wrap
-#| msgid "B<mailer_format>"
+#: doc/tin.5:1997
+#, no-wrap
 msgid "B<page_mime_format>"
-msgstr "B<mailer_format>"
+msgstr "B<page_mime_format>"
 
 #. type: Plain text
-#: doc/tin.5:1942
+#: doc/tin.5:2003
 msgid ""
 "Format string B<\\%tin>(1)  uses for mime header at Page level.  Default is "
 "\"[-- %T%S%*n%z%*l%!c%!d%*e --]\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1942
-#, fuzzy, no-wrap
-#| msgid "B<date_format>"
+#: doc/tin.5:2003
+#, no-wrap
 msgid "B<page_uue_format>"
-msgstr "B<date_format>"
+msgstr "B<page_uue_format>"
 
 #. type: Plain text
-#: doc/tin.5:1948
+#: doc/tin.5:2009
 msgid ""
 "Format string B<\\%tin>(1)  uses for uue header at Page level.  Default is "
 "\"[-- %T%S%*n%I%!d%*e --]\"."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1976
+#: doc/tin.5:2037
 msgid ""
 "If ON, then B<\\%tin>(1)  will start an appropriate viewer program to "
 "display any files that were post processed and uudecoded. The program is "
@@ -12076,19 +12557,19 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1992
+#: doc/tin.5:2053
 #, no-wrap
 msgid "B<posted_articles_file>"
 msgstr "B<posted_articles_file>"
 
 #. type: TP
-#: doc/tin.5:2004
+#: doc/tin.5:2065
 #, no-wrap
 msgid "B<printer>"
 msgstr "B<printer>"
 
 #. type: Plain text
-#: doc/tin.5:2014
+#: doc/tin.5:2075
 msgid ""
 "The printer program with options that is to be used to print articles. The "
 "default is B<\\%lpr>(1)  for BSD machines and B<\\%lp>(1)  for SysV "
@@ -12097,20 +12578,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2022
+#: doc/tin.5:2083
 msgid ""
 "If ON show empty ''Followup-To:'' header when editing an article.  Default "
 "is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2027
+#: doc/tin.5:2089
 #, no-wrap
 msgid "B<quote_style>"
 msgstr "B<quote_style>"
 
 #. type: Plain text
-#: doc/tin.5:2033
+#: doc/tin.5:2095
 msgid ""
 "This bit coded integer value controls how articles are to be quoted when "
 "following up or replying to them. Any of the following options can be "
@@ -12119,7 +12600,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2038
+#: doc/tin.5:2098
+msgid "B<Nothing special> Non empty lines are quoted."
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:2102
 msgid ""
 "B<Compress quotes> Compress quote characters together when quoting multiple "
 "times (for example, 'E<gt> E<gt> E<gt>' will be turned into "
@@ -12127,7 +12613,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2044
+#: doc/tin.5:2108
 msgid ""
 "B<Quote Signatures> This option is off by default. Signatures are always "
 "quoted regardless of this option when you are viewing an article in raw mode "
@@ -12136,32 +12622,32 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2046
+#: doc/tin.5:2110
 msgid "B<Quote empty lines> This option is on by default."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2047
+#: doc/tin.5:2111
 #, no-wrap
 msgid "B<quote_regex>"
 msgstr "B<quote_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2054
+#: doc/tin.5:2118
 msgid ""
 "A regular expression that will be applied when reading articles. All "
-"matching lines are shown in B<col_quote>. If B<quote_regex> is blank, then B<"
-"\\%tin>(1)  uses a built-in default."
+"matching lines are shown in B<col_quote>. If B<quote_regex> is blank, then "
+"B<\\%tin>(1)  uses a built-in default."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2054
+#: doc/tin.5:2118
 #, no-wrap
 msgid "B<quote_regex2>"
 msgstr "B<quote_regex2>"
 
 #. type: Plain text
-#: doc/tin.5:2061
+#: doc/tin.5:2125
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote2>. If B<quote_regex2> is blank, then "
@@ -12169,13 +12655,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2061
+#: doc/tin.5:2125
 #, no-wrap
 msgid "B<quote_regex3>"
 msgstr "B<quote_regex3>"
 
 #. type: Plain text
-#: doc/tin.5:2068
+#: doc/tin.5:2132
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote3>. If B<quote_regex3> is blank, then "
@@ -12183,19 +12669,19 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2068
+#: doc/tin.5:2132
 #, no-wrap
 msgid "B<recent_time>"
 msgstr "B<recent_time>"
 
 #. type: TP
-#: doc/tin.5:2072
+#: doc/tin.5:2136
 #, no-wrap
 msgid "B<render_bidi>"
 msgstr "B<render_bidi>"
 
 #. type: Plain text
-#: doc/tin.5:2079
+#: doc/tin.5:2143
 msgid ""
 "If ON B<\\%tin>(1)  does the rendering of bi-directional text. If OFF B<\\"
 "%tin>(1)  leaves the rendering of bi-directional text to the terminal. "
@@ -12203,73 +12689,73 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2079
+#: doc/tin.5:2143
 #, no-wrap
 msgid "B<reread_active_file_secs>"
 msgstr "B<reread_active_file_secs>"
 
 #. type: TP
-#: doc/tin.5:2088
+#: doc/tin.5:2152
 #, no-wrap
 msgid "B<score_limit_kill>"
 msgstr "B<score_limit_kill>"
 
 #. type: TP
-#: doc/tin.5:2092
+#: doc/tin.5:2156
 #, no-wrap
 msgid "B<score_limit_select>"
 msgstr "B<score_limit_select>"
 
 #. type: TP
-#: doc/tin.5:2096
+#: doc/tin.5:2160
 #, no-wrap
 msgid "B<score_kill>"
 msgstr "B<score_kill>"
 
 #. type: TP
-#: doc/tin.5:2100
+#: doc/tin.5:2164
 #, no-wrap
 msgid "B<score_select>"
 msgstr "B<score_select>"
 
 #. type: TP
-#: doc/tin.5:2104
+#: doc/tin.5:2168
 #, no-wrap
 msgid "B<scroll_lines>"
 msgstr "B<scroll_lines>"
 
 #. type: Plain text
-#: doc/tin.5:2114
+#: doc/tin.5:2178
 msgid ""
 "The number of lines that will be scrolled up/down in the article pager when "
 "using cursor-up/down. The default is 1 (line-by-line). Set to 0 to get "
 "traditional B<\\%tin>(1)  page-by-page scrolling. Set to -1 to get page-by-"
 "page scrolling where the top/bottom line is carried over onto the next "
-"page.  This setting supersedes show_last_line_prev_page=ON. Set to -2 to get "
-"half-page scrolling. This setting supersedes B<full_page_scroll>=OFF."
+"page.  This setting supersedes B<show_last_line_prev_page>=ON. Set to -2 to "
+"get half-page scrolling. This setting supersedes B<full_page_scroll>=OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2114
+#: doc/tin.5:2178
 #, no-wrap
 msgid "B<select_format>"
 msgstr "B<select_format>"
 
 #. type: Plain text
-#: doc/tin.5:2118
+#: doc/tin.5:2182
 msgid ""
 "The format string used for the Selection level. Default is \"%f\\ %n\\ %U\\ "
 "\\ %G\\ \\ %d\". The following substitutions are supported:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.5:2120
+#: doc/tin.5:2184
 #, no-wrap
 msgid "\\w'%G    'u +\\w'current group number'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2127
+#: doc/tin.5:2191
 #, no-wrap
 msgid ""
 "%G\tgroup name\n"
@@ -12281,19 +12767,19 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2129
+#: doc/tin.5:2193
 #, no-wrap
 msgid "B<sort_function>"
 msgstr "B<sort_function>"
 
 #. type: TP
-#: doc/tin.5:2164
+#: doc/tin.5:2228
 #, no-wrap
 msgid "B<show_description>"
 msgstr "B<show_description>"
 
 #. type: Plain text
-#: doc/tin.5:2173
+#: doc/tin.5:2237
 msgid ""
 "If ON show a short group description text after newsgroup name at the group "
 "selection level. The ''B<-d>'' command-line flag will override the setting "
@@ -12304,32 +12790,48 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2173
+#: doc/tin.5:2237
 #, no-wrap
 msgid "B<show_help_mail_sign>"
 msgstr "B<show_help_mail_sign>"
 
 #. type: Plain text
-#: doc/tin.5:2180
+#: doc/tin.5:2244
 msgid ""
 "Allows you to select whether B<\\%tin>(1)  shows a help indication, a new "
 "mail indication, both, or neither in the various level titles.  Default is 3."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2196
+#: doc/tin.5:2260
 #, no-wrap
 msgid "B<show_only_unread_groups>"
 msgstr "B<show_only_unread_groups>"
 
+#. type: Plain text
+#: doc/tin.5:2283
+msgid ""
+"The path that specifies the signature file to use when posting, following up "
+"to or replying to an article. If the path is a directory then the signature "
+"will be randomly generated from files that are in the specified directory. "
+"If a file named I<.sigfixed> does exist in that dir or I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.sigfixed> does exist it will be prepended to the chosen "
+"signature (first match counts). If the path starts with a ! the program the "
+"path points to will be executed to generate a signature. In order to pass "
+"the group name to the program, %G can be specified.  This will be replaced "
+"by the name of the current newsgroup. --none will suppress any signature. "
+"Default is I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>.  See also I<${TIN_HOMEDIR:-"
+"\"$HOME\"}/.sigfixed>."
+msgstr ""
+
 #. type: TP
-#: doc/tin.5:2219
+#: doc/tin.5:2286
 #, no-wrap
 msgid "B<slashes_regex>"
 msgstr "B<slashes_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2226
+#: doc/tin.5:2293
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markslash> or B<mono_markslash>. If "
@@ -12337,19 +12839,19 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2272
+#: doc/tin.5:2339
 #, no-wrap
 msgid "B<spamtrap_warning_addresses>"
 msgstr "B<spamtrap_warning_addresses>"
 
 #. type: TP
-#: doc/tin.5:2279
+#: doc/tin.5:2346
 #, no-wrap
 msgid "B<stars_regex>"
 msgstr "B<stars_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2286
+#: doc/tin.5:2353
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markstar> or B<mono_markstar>. If "
@@ -12357,50 +12859,50 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2286
+#: doc/tin.5:2353
 #, no-wrap
 msgid "B<strip_blanks>"
 msgstr "B<strip_blanks>"
 
 #. type: TP
-#: doc/tin.5:2290
+#: doc/tin.5:2357
 #, no-wrap
 msgid "B<strip_bogus>"
 msgstr "B<strip_bogus>"
 
 #. type: TP
-#: doc/tin.5:2299
+#: doc/tin.5:2366
 #, no-wrap
 msgid "B<strip_newsrc>"
 msgstr "B<strip_newsrc>"
 
 #. type: TP
-#: doc/tin.5:2303
+#: doc/tin.5:2370
 #, no-wrap
 msgid "B<strip_re_regex>"
 msgstr "B<strip_re_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2309
+#: doc/tin.5:2376
 msgid ""
 "A regular expression to find Subject prefixes like \"Re:\" to remove If "
 "B<strip_re_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2309
+#: doc/tin.5:2376
 #, no-wrap
 msgid "B<strip_was_regex>"
 msgstr "B<strip_was_regex>"
 
 #. type: TP
-#: doc/tin.5:2315
+#: doc/tin.5:2382
 #, no-wrap
 msgid "B<strokes_regex>"
 msgstr "B<strokes_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2322
+#: doc/tin.5:2389
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markstroke> or B<mono_markstroke>.  If "
@@ -12408,7 +12910,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2327
+#: doc/tin.5:2394
 msgid ""
 "Decode German style TeX umlaut codes to ISO If ON, show \"a as Umlaut-a, "
 "etc. Default is OFF. This behavior can also be toggled in the article viewer "
@@ -12416,63 +12918,63 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2330
+#: doc/tin.5:2397
 msgid "Defines which threading method to use. The choices are:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2333
+#: doc/tin.5:2400
 msgid "Don't thread"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2335
+#: doc/tin.5:2402
 msgid "Thread on Subject only"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2337
+#: doc/tin.5:2404
 msgid "Thread on References only"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2339
+#: doc/tin.5:2406
 msgid "Thread on References then Subject (default)"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2341
+#: doc/tin.5:2408
 msgid "Thread multipart articles on Subject"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2343
+#: doc/tin.5:2410
 msgid "Thread on Percentage Match of the Subjects"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2347
+#: doc/tin.5:2414
 msgid ""
 "It's also possible to set the threading type on a per group basis by setting "
-"the group attribute variable B<thread_articles> to 0 \\(en 5 in the file I<"
-"${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes>."
+"the group attribute variable B<thread_articles> to 0 \\(en 5 in the file "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes>."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2351
+#: doc/tin.5:2418
 msgid ""
 "The format string used for the Thread level. Default is \"%n\\ %m\\ \\ "
 "[%L]\\ \\ %T\\ \\ %F\". The following substitutions are supported:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.5:2353
+#: doc/tin.5:2420
 #, no-wrap
 msgid "\\w'%G    'u +\\w'from, name and/or address'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2364
+#: doc/tin.5:2431
 #, no-wrap
 msgid ""
 "%D\tdate\n"
@@ -12488,7 +12990,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2371
+#: doc/tin.5:2438
 msgid ""
 "Defines how close the subjects must match while threading by Percentage "
 "Match for threads to be considered part of a single thread. This value is in "
@@ -12496,32 +12998,32 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2375
+#: doc/tin.5:2442
 #, no-wrap
 msgid "B<thread_score>"
 msgstr "B<thread_score>"
 
 #. type: TP
-#: doc/tin.5:2387
+#: doc/tin.5:2454
 #, no-wrap
 msgid "B<tls_ca_cert_file>"
 msgstr "B<tls_ca_cert_file>"
 
 #. type: Plain text
-#: doc/tin.5:2392
+#: doc/tin.5:2459
 msgid ""
-"The name of file containing all trusted CA certificates used for NNTPS (B<RFC"
-"\\%8143>) connections. If left empty the system default will be used."
+"The name of file containing all trusted CA certificates used for NNTPS "
+"(B<RFC\\%8143>) connections. If left empty the system default will be used."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2392
+#: doc/tin.5:2459
 #, no-wrap
 msgid "B<translit>"
 msgstr "B<translit>"
 
 #. type: Plain text
-#: doc/tin.5:2406
+#: doc/tin.5:2473
 msgid ""
 "Allows you to select how B<\\%tin>(1)  treats blank lines in article "
 "bodies.  Default is 0. This option does not affect lines within verbatim "
@@ -12529,20 +13031,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2429
+#: doc/tin.5:2496
 msgid ""
 "If ON remove soft hyphens (U+00AD) from non verbatim blocks when displaying "
 "articles. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2429
+#: doc/tin.5:2496
 #, no-wrap
 msgid "B<underscores_regex>"
 msgstr "B<underscores_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2436
+#: doc/tin.5:2503
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markdash> or B<mono_markdash>. If "
@@ -12550,66 +13052,66 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2436
+#: doc/tin.5:2503
 #, no-wrap
 msgid "B<unlink_article>"
 msgstr "B<unlink_article>"
 
 #. type: Plain text
-#: doc/tin.5:2440
+#: doc/tin.5:2507
 msgid ""
 "If ON remove I<${TIN_HOMEDIR:-\"$HOME\"}/.article> after posting. Default is "
 "ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2440
+#: doc/tin.5:2507
 #, no-wrap
 msgid "B<url_handler>"
 msgstr "B<url_handler>"
 
 #. type: TP
-#: doc/tin.5:2445
+#: doc/tin.5:2512
 #, no-wrap
 msgid "B<url_highlight>"
 msgstr "B<url_highlight>"
 
 #. type: TP
-#: doc/tin.5:2448
+#: doc/tin.5:2515
 #, no-wrap
 msgid "B<use_color>"
 msgstr "B<use_color>"
 
 #. type: Plain text
-#: doc/tin.5:2453
+#: doc/tin.5:2520
 msgid "If enabled B<\\%tin>(1)  uses ANSI-colors. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2453
+#: doc/tin.5:2520
 #, no-wrap
 msgid "B<use_keypad>"
 msgstr "B<use_keypad>"
 
 #. type: Plain text
-#: doc/tin.5:2456
+#: doc/tin.5:2523
 msgid "Use scroll keys on keypad. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2456
+#: doc/tin.5:2523
 #, no-wrap
 msgid "B<use_mouse>"
 msgstr "B<use_mouse>"
 
 #. type: TP
-#: doc/tin.5:2462
+#: doc/tin.5:2529
 #, no-wrap
 msgid "B<use_slrnface>"
 msgstr "B<use_slrnface>"
 
 #. type: Plain text
-#: doc/tin.5:2474
+#: doc/tin.5:2541
 msgid ""
 "If enabled B<\\%slrnface>(1)  will be used to interpret the ''X-Face:'' "
 "header. For this option to have any effect, B<\\%tin>(1)  must be running in "
@@ -12618,45 +13120,52 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2474
+#: doc/tin.5:2541
 #, no-wrap
 msgid "B<utf8_graphics>"
 msgstr "B<utf8_graphics>"
 
+#. type: Plain text
+#: doc/tin.5:2545
+msgid ""
+"If ON use UTF-8 characters for indicator ('-E<gt>'), thread/attachment tree "
+"and ellipsis ('...'). Default is OFF."
+msgstr ""
+
 #. type: TP
-#: doc/tin.5:2478
+#: doc/tin.5:2545
 #, no-wrap
 msgid "B<verbatim_begin_regex>"
 msgstr "B<verbatim_begin_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2484
+#: doc/tin.5:2551
 msgid ""
 "A regular expression that B<\\%tin>(1)  will use to find the begin of a "
 "verbatim block. Default is #v+"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2484
+#: doc/tin.5:2551
 #, no-wrap
 msgid "B<verbatim_end_regex>"
 msgstr "B<verbatim_end_regex>"
 
 #. type: Plain text
-#: doc/tin.5:2490
+#: doc/tin.5:2557
 msgid ""
 "A regular expression that B<\\%tin>(1)  will use to find the end of a "
 "verbatim block. Default is #v-"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2493
+#: doc/tin.5:2560
 #, no-wrap
 msgid "B<wildcard>"
 msgstr "B<wildcard>"
 
 #. type: Plain text
-#: doc/tin.5:2517
+#: doc/tin.5:2584
 msgid ""
 "Allows you to select how B<\\%tin>(1)  matches strings. The default is 0 and "
 "uses the B<\\%wildmat>(3)  notation, which is how this has traditionally "
@@ -12668,31 +13177,31 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2517
+#: doc/tin.5:2584
 #, no-wrap
 msgid "B<word_h_display_marks>"
 msgstr "B<word_h_display_marks>"
 
 #. type: TP
-#: doc/tin.5:2529
+#: doc/tin.5:2596
 #, no-wrap
 msgid "B<word_highlight>"
 msgstr "B<word_highlight>"
 
 #. type: TP
-#: doc/tin.5:2537
+#: doc/tin.5:2604
 #, no-wrap
 msgid "B<wrap_column>"
 msgstr "B<wrap_column>"
 
 #. type: TP
-#: doc/tin.5:2553
+#: doc/tin.5:2620
 #, no-wrap
 msgid "B<xpost_quote_format>"
 msgstr "B<xpost_quote_format>"
 
 #. type: Plain text
-#: doc/tin.5:2569
+#: doc/tin.5:2636
 msgid ""
 "Yet another global configuration file with \"I<variable>=I<value>\" pairs. "
 "This one is for the more general options which usually can't be controlled "
@@ -12702,31 +13211,31 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2569
+#: doc/tin.5:2636
 #, no-wrap
 msgid "B<domainname>"
 msgstr "B<domainname>"
 
 #. type: Plain text
-#: doc/tin.5:2572
+#: doc/tin.5:2639
 msgid "Sets a global domain name used in From lines"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2576
+#: doc/tin.5:2643
 msgid ""
 "Defines the name of your organization. $B<ORGANIZATION> overrides any "
 "specified value."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2576
+#: doc/tin.5:2643
 #, no-wrap
 msgid "B<newslibdir>"
 msgstr "B<newslibdir>"
 
 #. type: Plain text
-#: doc/tin.5:2581
+#: doc/tin.5:2648
 msgid ""
 "Defines the default place for some configuration files, common values are I</"
 "usr/lib/news>, I</var/lib/news>, I</usr/local/lib/news> or I</news/db>. "
@@ -12734,13 +13243,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2581
+#: doc/tin.5:2648
 #, no-wrap
 msgid "B<bugaddress>"
 msgstr "B<bugaddress>"
 
 #. type: Plain text
-#: doc/tin.5:2587
+#: doc/tin.5:2654
 msgid ""
 "Defines the email address to which users can send bug reports using a built-"
 "in function. The default points to a developers mailing list located at tin."
@@ -12749,44 +13258,44 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2587
+#: doc/tin.5:2654
 #, no-wrap
 msgid "B<inewsdir>"
 msgstr "B<inewsdir>"
 
 #. type: Plain text
-#: doc/tin.5:2592
+#: doc/tin.5:2659
 msgid "Defines the directory containing the B<\\%inews>(1)  executable."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2596
+#: doc/tin.5:2663
 msgid ""
 "Default charset to be used in MIME's ''Content-Type:'' header.  "
 "$B<MM_CHARSET> overrides any specified value."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2599
+#: doc/tin.5:2666
 msgid ""
 "Default encoding scheme used in MIME articles. 8bit might be the best value."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2603
+#: doc/tin.5:2670
 msgid ""
 "Default encoding scheme used in MIME letters. quoted-printable is a good "
 "choice here."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2603
+#: doc/tin.5:2670
 #, no-wrap
 msgid "B<disable_gnksa_domain_check>"
 msgstr "B<disable_gnksa_domain_check>"
 
 #. type: Plain text
-#: doc/tin.5:2609
+#: doc/tin.5:2676
 msgid ""
 "Allow unregistered top level domains. As the list of valid TLDs is no longer "
 "actively maintained the default was changed to ON starting with B<\\"
@@ -12794,26 +13303,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2609
+#: doc/tin.5:2676
 #, no-wrap
 msgid "B<disable_sender>"
 msgstr "B<disable_sender>"
 
 #. type: Plain text
-#: doc/tin.5:2613
+#: doc/tin.5:2680
 msgid ""
 "Don't generate a ''Sender:'' header. This has an effect only if "
 "B<inews_prog> is set to --internal."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2613
+#: doc/tin.5:2680
 #, no-wrap
 msgid "B<spooldir>"
 msgstr "B<spooldir>"
 
 #. type: Plain text
-#: doc/tin.5:2618
+#: doc/tin.5:2685
 msgid ""
 "Base of your newsspool (Bnews, Cnews and INN traditional spool style), "
 "common values are I</var/spool/news>, I</usr/spool/news>, I</news/spool>.  "
@@ -12821,13 +13330,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2618
+#: doc/tin.5:2685
 #, no-wrap
 msgid "B<overviewdir>"
 msgstr "B<overviewdir>"
 
 #. type: Plain text
-#: doc/tin.5:2626
+#: doc/tin.5:2693
 msgid ""
 "Base of your NOV database B<\\%newsoverview>(5)  (tradspool style; might be "
 "the same dir as I<spooldir>), common values are I</var/spool/overview>, I</"
@@ -12836,26 +13345,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2626
+#: doc/tin.5:2693
 #, no-wrap
 msgid "B<overviewfile>"
 msgstr "B<overviewfile>"
 
 #. type: Plain text
-#: doc/tin.5:2630
+#: doc/tin.5:2697
 msgid ""
 "Name of a single overview file, common values are I<.overview> or I<over."
 "view>. $B<TIN_NOVFILENAME> overrides any specified value."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2630
+#: doc/tin.5:2697
 #, no-wrap
 msgid "B<overviewfmtfile>"
 msgstr "B<overviewfmtfile>"
 
 #. type: Plain text
-#: doc/tin.5:2635
+#: doc/tin.5:2702
 msgid ""
 "Full pathname of your newssystem's overview.fmt file; usually the file "
 "resides in I<newslibdir> and is named I<overview.fmt>, so you only have to "
@@ -12863,13 +13372,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2635
+#: doc/tin.5:2702
 #, no-wrap
 msgid "B<activefile>"
 msgstr "B<activefile>"
 
 #. type: Plain text
-#: doc/tin.5:2641
+#: doc/tin.5:2708
 msgid ""
 "Full pathname of your newssystem's active file; usually the file resides in "
 "I<newslibdir> and is named I<active>, so you only have to change this "
@@ -12878,13 +13387,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2641
+#: doc/tin.5:2708
 #, no-wrap
 msgid "B<activetimesfile>"
 msgstr "B<activetimesfile>"
 
 #. type: Plain text
-#: doc/tin.5:2646
+#: doc/tin.5:2713
 msgid ""
 "Full pathname of your newssystem's active.times file; usually the file "
 "resides in I<newslibdir> and is named I<active.times>, so you only have to "
@@ -12892,13 +13401,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2646
+#: doc/tin.5:2713
 #, no-wrap
 msgid "B<newsgroupsfile>"
 msgstr "B<newsgroupsfile>"
 
 #. type: Plain text
-#: doc/tin.5:2651
+#: doc/tin.5:2718
 msgid ""
 "Full pathname of your newssystem's newsgroups file; usually the file resides "
 "in I<newslibdir> and is named I<newsgroups>, so you only have to change this "
@@ -12906,13 +13415,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2651
+#: doc/tin.5:2718
 #, no-wrap
 msgid "B<subscriptionsfile>"
 msgstr "B<subscriptionsfile>"
 
 #. type: Plain text
-#: doc/tin.5:2656
+#: doc/tin.5:2723
 msgid ""
 "Full pathname of your newssystem's subscriptions file; usually the file "
 "resides in I<newslibdir> and is named I<subscriptions>, so you only have to "
@@ -12920,12 +13429,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2660
+#: doc/tin.5:2727
 msgid "I</usr/local/share/locale/$LC_MESSAGES/LC_MESSAGES/tin.mo>"
 msgstr "I</usr/local/share/locale/$LC_MESSAGES/LC_MESSAGES/tin.mo>"
 
 #. type: Plain text
-#: doc/tin.5:2664
+#: doc/tin.5:2731
 msgid ""
 "translation into language specified in $B<LC_ALL>, $B<LC_MESSAGES> or "
 "$B<LANG>"
@@ -12934,7 +13443,7 @@ msgstr ""
 "$B<LANG>"
 
 #. type: Plain text
-#: doc/tin.5:2678
+#: doc/tin.5:2745
 msgid ""
 "This file lists the newsgroups that the local site receives. Each newsgroup "
 "should be listed only once. Each line specifies one group; within each "
@@ -12942,9 +13451,9 @@ msgid ""
 "increasing numbers."
 msgstr ""
 
-#.  TODO: IIRC tin issues just a warning in that case?
+#.  TODO: tin issues just a warning in that case.
 #. type: Plain text
-#: doc/tin.5:2683
+#: doc/tin.5:2750
 msgid ""
 "If an article is posted to newsgroups not mentioned in this file, those "
 "newsgroups are ignored.  If no valid newsgroups are specified, the article "
@@ -12952,37 +13461,38 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2686
+#: doc/tin.5:2753
 msgid ""
 "Each line consists of four space-separated fields \"I<name> I<highmark> "
 "I<lowmark> I<flags>\"."
 msgstr ""
 
+# fuzzy
 #. type: TP
-#: doc/tin.5:2686 doc/tin.5:2740
+#: doc/tin.5:2753 doc/tin.5:2807
 #, no-wrap
 msgid "B<name>"
-msgstr ""
+msgstr "B<nombre>"
 
 #. type: TP
-#: doc/tin.5:2689
+#: doc/tin.5:2756
 #, no-wrap
 msgid "B<highmark>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2692
+#: doc/tin.5:2759
 msgid "is the highest article number that has been used in that newsgroup"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2692
+#: doc/tin.5:2759
 #, no-wrap
 msgid "B<lowmark>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2699
+#: doc/tin.5:2766
 msgid ""
 "is the lowest article number in the group; this number is not guaranteed to "
 "be accurate, and should only be taken to be a hint. Note that because of "
@@ -12992,90 +13502,90 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2699
+#: doc/tin.5:2766
 #, no-wrap
 msgid "B<flags>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2702
+#: doc/tin.5:2769
 msgid "can be one of those"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2703
+#: doc/tin.5:2770
 #, no-wrap
 msgid "B<y>"
 msgstr "B<y>"
 
 #. type: Plain text
-#: doc/tin.5:2706
+#: doc/tin.5:2773
 msgid "local postings are allowed"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2706
+#: doc/tin.5:2773
 #, no-wrap
 msgid "B<n>"
 msgstr "B<n>"
 
 #. type: Plain text
-#: doc/tin.5:2709
+#: doc/tin.5:2776
 msgid "no local postings are allowed, only remote ones"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2709
+#: doc/tin.5:2776
 #, no-wrap
 msgid "B<m>"
 msgstr "B<m>"
 
 #. type: Plain text
-#: doc/tin.5:2712
+#: doc/tin.5:2779
 msgid "the group is moderated and all postings must be approved"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2712
+#: doc/tin.5:2779
 #, no-wrap
 msgid "B<j>"
 msgstr "B<j>"
 
 #. type: Plain text
-#: doc/tin.5:2715
+#: doc/tin.5:2782
 msgid "articles in this group are not kept, but only passed on"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2715
+#: doc/tin.5:2782
 #, no-wrap
 msgid "B<x>"
 msgstr "B<x>"
 
 #. type: Plain text
-#: doc/tin.5:2718
+#: doc/tin.5:2785
 msgid "articles cannot be posted to this newsgroup"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2718
+#: doc/tin.5:2785
 #, no-wrap
 msgid "B<=foo.bar>"
 msgstr "B<=foo.bar>"
 
 #. type: Plain text
-#: doc/tin.5:2721
+#: doc/tin.5:2788
 msgid "articles are locally filed into the ''foo.bar'' group"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2722 doc/tin.5:2750 doc/tin.5:2773
+#: doc/tin.5:2789 doc/tin.5:2817 doc/tin.5:2840
 #, no-wrap
 msgid "B<\\%tin>(1)"
 msgstr "B<\\%tin>(1)"
 
 #. type: Plain text
-#: doc/tin.5:2729
+#: doc/tin.5:2796
 msgid ""
 "only tries to read the file if you read directly from the local spool, if "
 "you read news via NNTP, B<\\%tin>(1)  uses the LIST (B<RFC\\%3977>) or LIST "
@@ -13083,34 +13593,34 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2740
+#: doc/tin.5:2807
 msgid ""
 "This file provides a chronological record of when newsgroups are created. It "
-"is normally updated by the local news server (e.g.  B<\\%innd>(8))  whenever "
+"is normally updated by the local news server (e.g., B<\\%innd>(8))  whenever "
 "a new group is created. Each line consist of three space-separated fields "
 "\"I<name> I<time> I<creator>\"."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2747
+#: doc/tin.5:2814
 msgid ""
 "is the time when the group was created, expressed as the number of seconds "
 "since the Epoch."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2747
+#: doc/tin.5:2814
 #, no-wrap
 msgid "B<creator>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2750
+#: doc/tin.5:2817
 msgid "is the electronic mail address of the person who created the group."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2756
+#: doc/tin.5:2823
 msgid ""
 "only tries to read the file if you read directly from the local spool, if "
 "you read news via NNTP, B<\\%tin>(1)  uses the NEWGROUPS (B<RFC\\%3977>) "
@@ -13118,16 +13628,16 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2767
+#: doc/tin.5:2834
 msgid ""
 "This file provides short descriptions of each newsgroup. It is normally "
-"updated by the local news server (e.g.  B<\\%innd>(8))  whenever a new group "
-"is created. Each line consist of two tab-separated fields \"I<group.name>"
-"\tI<one-line description>\"."
+"updated by the local news server (e.g., B<\\%innd>(8))  whenever a new group "
+"is created. Each line consist of two tab-separated fields \"I<group."
+"name>\tI<one-line description>\"."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2779
+#: doc/tin.5:2846
 msgid ""
 "only tries to read the file if you read directly from the local spool, if "
 "you read news via NNTP, B<\\%tin>(1)  uses the LIST NEWSGROUPS (B<RFC\\"
@@ -13135,14 +13645,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2788
+#: doc/tin.5:2855
 msgid ""
 "This file might hold a default organization to be used in the "
 "''Organization:'' header. $B<ORGANIZATION> has a higher priority if set."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2806
+#: doc/tin.5:2873
 msgid ""
 "This file specifies the organization of the news overview database (see also "
 "B<\\%newsoverview>(5)).  The order of lines in this file is important; it "
@@ -13153,7 +13663,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2821
+#: doc/tin.5:2888
 msgid ""
 "This file contains a list of newsgroups \\(em one per line \\(em which the "
 "client should subscribe to when the user has no ${TIN_HOMEDIR:-\"$HOME\"}/."
@@ -13163,7 +13673,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2870
+#: doc/tin.5:2939
 msgid ""
 "B<\\%inews>(1), B<\\%ispell>(1), B<\\%lp>(1), B<\\%lpr>(1), B<\\"
 "%metamail>(1), B<\\%mutt>(1), B<\\%perl>(1), B<\\%perlre>(1), B<\\%pgp>(1), "
@@ -13172,10 +13682,11 @@ msgid ""
 "%nl_langinfo>(3), B<\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\"
 "%pcre2pattern>(3), B<\\%qsort>(3), B<\\%strftime>(3), B<\\%system>(3), B<\\"
 "%active>(5), B<\\%mailcap>(5), B<\\%mbox>(5), B<\\%mmdf>(5), B<\\"
-"%newsoverview>(5), B<\\%overview.fmt>(5), B<\\%innd>(8), B<RFC\\%1524>, B<RFC"
-"\\%2045>, B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2048>, B<RFC\\%2231>, B<RFC\\"
-"%2980>, B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%5322>, B<RFC\\"
-"%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%8143>"
+"%newsoverview>(5), B<\\%overview.fmt>(5), B<\\%innd>(8), B<RFC\\%1524>, "
+"B<RFC\\%1952>, B<RFC\\%2045>, B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2231>, "
+"B<RFC\\%2980>, B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%5198>, "
+"B<RFC\\%5322>, B<RFC\\%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%6838>, "
+"B<RFC\\%8143>"
 msgstr ""
 "B<\\%inews>(1), B<\\%ispell>(1), B<\\%lp>(1), B<\\%lpr>(1), B<\\"
 "%metamail>(1), B<\\%mutt>(1), B<\\%perl>(1), B<\\%perlre>(1), B<\\%pgp>(1), "
@@ -13184,7 +13695,8 @@ msgstr ""
 "%nl_langinfo>(3), B<\\%pcre>(3), B<\\%pcre2>(3), B<\\%pcrepattern>(3), B<\\"
 "%pcre2pattern>(3), B<\\%qsort>(3), B<\\%strftime>(3), B<\\%system>(3), B<\\"
 "%active>(5), B<\\%mailcap>(5), B<\\%mbox>(5), B<\\%mmdf>(5), B<\\"
-"%newsoverview>(5), B<\\%overview.fmt>(5), B<\\%innd>(8), B<RFC\\%1524>, B<RFC"
-"\\%2045>, B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2048>, B<RFC\\%2231>, B<RFC\\"
-"%2980>, B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%5322>, B<RFC\\"
-"%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%8143>"
+"%newsoverview>(5), B<\\%overview.fmt>(5), B<\\%innd>(8), B<RFC\\%1524>, "
+"B<RFC\\%1952>, B<RFC\\%2045>, B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2231>, "
+"B<RFC\\%2980>, B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%5198>, "
+"B<RFC\\%5322>, B<RFC\\%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%6838>, "
+"B<RFC\\%8143>"
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/l10n/tin-man.pot tin-2.6.4/doc/l10n/tin-man.pot
--- tin-2.6.3/doc/l10n/tin-man.pot	2023-12-24 00:38:34.000000000 +0100
+++ tin-2.6.4/doc/l10n/tin-man.pot	2024-12-23 10:54:24.582724571 +0100
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2023-12-11 23:52+0100\n"
+"POT-Creation-Date: 2024-12-23 10:54+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,100 +16,63 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#
-#.  Project   : tin - a Usenet newsreader
-#.  Module    : tin.1
-#.  Author    : I. Lea, U. Janssen
-#.  Created   : 1991-08-23
-#.  Updated   : 2023-12-24
-#.  Notes     : use American English; still needs some work, e.g.:
-#.              - document authorization (.newsauth)
-#.              - document random organization feature
-#. type: IX
-#: doc/tin.1:12
-#, no-wrap
-msgid "Title"
-msgstr ""
-
-#
-#.  Project   : tin - a Usenet newsreader
-#.  Module    : tin.1
-#.  Author    : I. Lea, U. Janssen
-#.  Created   : 1991-08-23
-#.  Updated   : 2023-12-24
-#.  Notes     : use American English; still needs some work, e.g.:
-#.              - document authorization (.newsauth)
-#.              - document random organization feature
-#. type: IX
-#: doc/tin.1:12
-#, no-wrap
-msgid "tin 1"
-msgstr ""
-
 #. type: TH
-#: doc/tin.1:13 doc/tin.5:9
+#: doc/tin.1:11 doc/tin.5:9
 #, no-wrap
 msgid "tin"
 msgstr ""
 
 #. type: TH
-#: doc/tin.1:13 doc/tin.5:9
+#: doc/tin.1:11 doc/tin.5:9
 #, no-wrap
-msgid "December 24th, 2023"
+msgid "December 24th, 2024"
 msgstr ""
 
 #. type: TH
-#: doc/tin.1:13 doc/tin.5:9
+#: doc/tin.1:11 doc/tin.5:9
 #, no-wrap
-msgid "2.6.3"
+msgid "2.6.4"
 msgstr ""
 
 #. type: TH
-#: doc/tin.1:13 doc/tin.5:9
+#: doc/tin.1:11 doc/tin.5:9
 #, no-wrap
 msgid "Usenet newsreader"
 msgstr ""
 
 #. type: SH
-#: doc/tin.1:16 doc/tin.5:11
+#: doc/tin.1:14 doc/tin.5:11
 #, no-wrap
 msgid "NAME"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:20
+#: doc/tin.1:18
 msgid "tin, rtin - Usenet newsreader"
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:20 doc/tin.1:21
+#. type: SH
+#: doc/tin.1:18
 #, no-wrap
 msgid "SYNOPSIS"
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:21 doc/tin.1:53 doc/tin.1:82 doc/tin.1:99 doc/tin.1:319
-#: doc/tin.1:3477 doc/tin.1:3638 doc/tin.1:3961 doc/tin.1:3986 doc/tin.1:4004
-#: doc/tin.1:4013 doc/tin.1:4025 doc/tin.1:4050 doc/tin.1:4114
-#, no-wrap
-msgid "Header"
-msgstr ""
-
 #. type: Plain text
-#: doc/tin.1:52
+#: doc/tin.1:53
 msgid ""
 "B<tin> [\\|[\\|B<-h>\\||\\|B<-H>\\||\\|B<-V>\\|]\\ \\|| [\\|[\\|B<-a>\\|] "
 "[\\|B<-dlnq>\\||\\|B<-Q>\\|] [\\|B<-ACkrTzxX>\\|]\\|] "
 "[\\|[\\|B<-R>\\||\\|B<-S>\\|] \\|\\|B<-s> I<News_dir>\\|] [\\|B<-cuvZ>\\|] "
 "[\\|B<-4>\\||\\|B<-6>\\|] [\\|B<-o>\\||\\|B<-w>\\||\\|B<-N>\\||\\|B<-M> "
-"I<address>\\|] [\\|B<-D> I<debug_level>\\|] [\\|B<-G> I<article_limit>\\|] "
-"[\\|B<-f> I<newsrc_file>\\|] [\\|B<-g> I<server>\\|[\\|:I<port>\\|]\\|] "
-"[\\|B<-m> I<Mail_dir>\\|] [\\|B<-p> I<port>\\|] [\\|B<-t> I<timeout>\\|] "
-"[\\|B<-I> I<index_dir>\\|]\\ \\|[I<newsgroup>\\|[\\|,.\\|.\\|.\\|]\\|]\\|]"
+"I<address>\\|] [\\|B<-D> I<debug_level>\\|] [\\|B<-F> I<filter_file>\\|] "
+"[\\|B<-G> I<article_limit>\\|] [\\|B<-f> I<newsrc_file>\\|] [\\|B<-g> "
+"I<server>\\|[\\|:I<port>\\|]\\|] [\\|B<-L> I<Message-ID>\\|] [\\|B<-m> "
+"I<Mail_dir>\\|] [\\|B<-p> I<port>\\|] [\\|B<-t> I<timeout>\\|] [\\|B<-I> "
+"I<index_dir>\\|]\\ \\|[I<newsgroup>\\|[\\|,.\\|.\\|.\\|]\\|]\\|]"
 msgstr ""
 
 #. type: SH
-#: doc/tin.1:52 doc/tin.1:53 doc/tin.5:14
+#: doc/tin.1:53 doc/tin.5:14
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr ""
@@ -137,8 +100,8 @@ msgstr ""
 #: doc/tin.1:76
 msgid ""
 "On startup B<tin> will show a list of the newsgroups found in "
-"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>. An arrow '-E<gt>' or highlighted bar "
-"will point to the first newsgroup. Move to a group by using the terminal "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>. An arrow '\\(-E<gt>' or highlighted "
+"bar will point to the first newsgroup. Move to a group by using the terminal "
 "arrow keys (terminal dependent) or B<Down> ('B<j>')  and B<Up> ('B<k>'). Use "
 "PgUp/PgDn (terminal dependent) or B<PageUp> ('B<^U>') (CTRL-U) and "
 "B<PageDown> ('B<^D>')  (CTRL-D) to page up/down. Enter a newsgroup by "
@@ -152,120 +115,120 @@ msgid ""
 "newsgroup with unread articles."
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:81 doc/tin.1:82
+#. type: SH
+#: doc/tin.1:81
 #, no-wrap
 msgid "EXIT STATUS"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:84 doc/tin.1:1141 doc/tin.1:3724
+#: doc/tin.1:83 doc/tin.1:1173 doc/tin.1:3799
 #, no-wrap
 msgid "B<0>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:87
+#: doc/tin.1:86
 msgid "Successful program execution. No unread news available in batch mode."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:87 doc/tin.1:3727
+#: doc/tin.1:86 doc/tin.1:3802
 #, no-wrap
 msgid "B<1>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:90
+#: doc/tin.1:89
 msgid "Usage, syntax, configuration file or network error."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:90 doc/tin.1:3730
+#: doc/tin.1:89 doc/tin.1:3805
 #, no-wrap
 msgid "B<2>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:93
+#: doc/tin.1:92
 msgid "Unread news available (batch mode (''B<-Z>'') only)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:93 doc/tin.1:3733
+#: doc/tin.1:92 doc/tin.1:3808
 #, no-wrap
 msgid "B<3>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:98
+#: doc/tin.1:97
 msgid "NNTP error."
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:98 doc/tin.1:99
+#. type: SH
+#: doc/tin.1:97
 #, no-wrap
 msgid "OPTIONS"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:100
+#: doc/tin.1:98
 #, no-wrap
 msgid "B<-4>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:104
+#: doc/tin.1:102
 msgid ""
 "Force connecting via IPv4 to the remote NNTP server. Only available when "
 "built with IPv6 support."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:104
+#: doc/tin.1:102
 #, no-wrap
 msgid "B<-6>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:108
+#: doc/tin.1:106
 msgid ""
 "Force connecting via IPv6 to the remote NNTP server. Only available when "
 "built with IPv6 support."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:108
+#: doc/tin.1:106
 #, no-wrap
 msgid "B<-a>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:111
+#: doc/tin.1:109
 msgid "Toggle ANSI color (default is off)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:111
+#: doc/tin.1:109
 #, no-wrap
 msgid "B<-A>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:114
+#: doc/tin.1:112
 msgid ""
 "Force authentication on initial connect. Only available when reading via "
 "NNTP."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:114
+#: doc/tin.1:112
 #, no-wrap
 msgid "B<-c>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:119
+#: doc/tin.1:117
 msgid ""
 "Create/update index files for every group in "
 "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> or file specified by the ''B<-f>'' "
@@ -273,13 +236,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:119
+#: doc/tin.1:117
 #, no-wrap
 msgid "B<-C>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:124
+#: doc/tin.1:122
 msgid ""
 "Use COMPRESS NNTP extension (B<RFC\\%8054>) if available. See also "
 "B<nntp_read_timeout_secs>, 'B<-t>'' and the \"SECURITY\" and \"BUGS\" "
@@ -287,7 +250,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:124
+#: doc/tin.1:122
 #, no-wrap
 msgid "B<-d>"
 msgstr ""
@@ -295,63 +258,108 @@ msgstr ""
 #
 #.  FIXME: explain debug levels
 #. type: Plain text
-#: doc/tin.1:130
+#: doc/tin.1:128
 msgid ""
 "Don't load newsgroup descriptions and servers message of the day "
 "(interactive mode)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:130
+#: doc/tin.1:128
 #, no-wrap
 msgid "B<-D>I< debug-level>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:137
+#: doc/tin.1:136
+msgid ""
+"Enter debug-level, the levels can specified via number (should be avoided as "
+"it will be removed in the future) or name (case insensitive) as listed "
+"below. Use comma to give multiple levels, any combinations are allowed "
+"(e.g., ''B<-D> I<GNKSA,2,NNTP>''). If removal is requested it will be "
+"performed at startup and on normal termination (that is the files are only "
+"available while tin is running)."
+msgstr ""
+
+#. type: ta
+#: doc/tin.1:138
+#, no-wrap
+msgid "\\w'%128 'u +\\w'ATTRIBUTES 'u +\\w'ATTRIBUTES 'u +\\w'ATTRIBUTES'u"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.1:148
+#, no-wrap
 msgid ""
-"Enter debug-level (1 = NNTP, 2 = filter, 4 = newsrc, 8 = threading, 16 = "
-"memory, 32 = attributes, 64 = misc, 128 = remove existing debug files).  For "
-"NNTP-level ''B<-v>'' controls the verbosity of the output.  Depending on the "
-"debug-level various files may be written to I<$TMPDIR> and/or on screen "
+"  I<1\tNNTP\tNNTPS>\n"
+"  I<2\tFILTER\tARTS>\n"
+"  I<4\tNEWSRC\tBITMAP>\n"
+"  I<8\tTHREADING\tREFS>\n"
+" I<16\tMEMORY\tMALLOC>\n"
+" I<32\tATTRIBUTES>\n"
+" I<64\tMISC\tGNKSA\tACTIVE>\n"
+"I<127\tALL\tEVERYTHING>\n"
+"I<128\tREMOVE\tDELETE>\n"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.1:153
+msgid ""
+"For NNTP-level ''B<-v>'' controls the verbosity of the output.  Depending on "
+"the debug-level various files may be written to I<$TMPDIR> and/or on screen "
 "output may be given. See also the \"SECURITY\" section!"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:137
+#: doc/tin.1:153
 #, no-wrap
 msgid "B<-f>I< file>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:141
+#: doc/tin.1:158
 msgid ""
 "Use the specified file of subscribed to newsgroups in place of "
-"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>."
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> or a file specified via "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:141
+#: doc/tin.1:158
 #, no-wrap
-msgid "B<-g>I< server[:port]>"
+msgid "B<-F>I< file>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:146
+#: doc/tin.1:161
+msgid ""
+"Use the specified filter file instead of "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.filter>."
+msgstr ""
+
+#. type: TP
+#: doc/tin.1:161
+#, no-wrap
+msgid "B<-g>I< server>[B<:>I<port>]"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.1:167
 msgid ""
 "Use the server[:port] and newsrc specified in "
 "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable>. Only available when reading "
-"via NNTP."
+"via NNTP. If you want to give a port with a plain IPv6 address, the address "
+"must be enclosed in square brackets."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:146
+#: doc/tin.1:167
 #, no-wrap
 msgid "B<-G>I< article-limit>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:154
+#: doc/tin.1:175
 msgid ""
 "Limit the number of articles/group to retrieve from the server.  If "
 "I<article-limit> is E<gt> 0 not more than the last I<article-limit> "
@@ -361,37 +369,37 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:154
+#: doc/tin.1:175
 #, no-wrap
 msgid "B<-h>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:157
+#: doc/tin.1:178
 msgid "Help listing all command-line options."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:157
+#: doc/tin.1:178
 #, no-wrap
 msgid "B<-H>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:161
+#: doc/tin.1:182
 msgid ""
 "Brief introduction to B<tin> that is also shown the first time it is "
 "started."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:161
+#: doc/tin.1:182
 #, no-wrap
 msgid "B<-I>I< dir>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:167
+#: doc/tin.1:188
 msgid ""
 "Directory in which to store newsgroup index files. Default is "
 "I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news>.  This "
@@ -400,13 +408,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:167
+#: doc/tin.1:188
 #, no-wrap
 msgid "B<-k>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:172
+#: doc/tin.1:193
 msgid ""
 "Skip the certificate verification step for NNTPS connections and proceed "
 "without checking. This option implies ''B<-T>''. See also the \"SECURITY\" "
@@ -414,13 +422,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:172
+#: doc/tin.1:193
 #, no-wrap
 msgid "B<-l>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:184
+#: doc/tin.1:205
 msgid ""
 "Get number of articles per group from the "
 "I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file. If reading "
@@ -435,37 +443,50 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:184
+#: doc/tin.1:205
+#, no-wrap
+msgid "B<-L>"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.1:209
+msgid ""
+"Show the message with the given Message-ID if available. Only available when "
+"reading via NNTP."
+msgstr ""
+
+#. type: TP
+#: doc/tin.1:209
 #, no-wrap
 msgid "B<-m>I< dir>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:187
+#: doc/tin.1:212
 msgid "Mailbox directory to use. Default is I<${TIN_HOMEDIR:-\"$HOME\"}/Mail>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:187
+#: doc/tin.1:212
 #, no-wrap
 msgid "B<-M>I< user>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:191
+#: doc/tin.1:216
 msgid ""
 "Mail unread articles to specified user for later reading. For more "
 "information read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:191
+#: doc/tin.1:216
 #, no-wrap
 msgid "B<-n>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:198
+#: doc/tin.1:223
 msgid ""
 "Only load groups from the "
 "I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file that are "
@@ -475,66 +496,66 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:198
+#: doc/tin.1:223
 #, no-wrap
 msgid "B<-N>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:202
+#: doc/tin.1:227
 msgid ""
 "Mail unread articles to yourself for later reading. For more information "
 "read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:202
+#: doc/tin.1:227
 #, no-wrap
 msgid "B<-o>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:206
+#: doc/tin.1:231
 msgid ""
 "Quick post all postponed articles and exit. In order for this to be really "
 "quick, it should be used with ''B<-n>'' if possible."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:206
+#: doc/tin.1:231
 #, no-wrap
 msgid "B<-p>I< port>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:211
+#: doc/tin.1:236
 msgid ""
 "Port to use if reading via NNTP (default is 119 or 563 if NNTPS is enabled, "
-"see ''B<-T>''). This also overrides the environment variable $B<NNTPPORT> if "
-"set. Only available when reading via NNTP."
+"see ''B<-T>''). This also overrides the environment variables $B<NNTPPORT> "
+"and $B<NNTPSPORT> if set. Only available when reading via NNTP."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:211
+#: doc/tin.1:236
 #, no-wrap
 msgid "B<-q>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:214
+#: doc/tin.1:239
 msgid ""
 "Don't check for new newsgroups and skip loading the servers message of the "
 "day."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:214
+#: doc/tin.1:239
 #, no-wrap
 msgid "B<-Q>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:219
+#: doc/tin.1:244
 msgid ""
 "Quick start. Start B<tin> as quickly as possible. Currently this is "
 "equivalent to ''B<-dnq>''. See also the ''B<-C>'' and ''B<-G>'' command-line "
@@ -542,89 +563,89 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:219
+#: doc/tin.1:244
 #, no-wrap
 msgid "B<-r>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:224
+#: doc/tin.1:249
 msgid ""
 "Read news remotely from the default NNTP server specified in the environment "
 "variable $B<NNTPSERVER> or contained in the file I</etc/nntpserver>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:224
+#: doc/tin.1:249
 #, no-wrap
 msgid "B<-R>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:227
+#: doc/tin.1:252
 msgid "Read news saved by the ''B<-S>'' option."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:227
+#: doc/tin.1:252
 #, no-wrap
 msgid "B<-s>I< dir>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:231
+#: doc/tin.1:256
 msgid ""
 "Save/read articles to/in directory. Default is "
 "I<${TIN_HOMEDIR:-\"$HOME\"}/News>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:231
+#: doc/tin.1:256
 #, no-wrap
 msgid "B<-S>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:235
+#: doc/tin.1:260
 msgid ""
 "Save unread articles for later reading by the ''B<-R>'' option. For more "
 "information read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:235
+#: doc/tin.1:260
 #, no-wrap
 msgid "B<-t>I< timeout>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:239
+#: doc/tin.1:264
 msgid ""
 "Override the B<nntp_read_timeout_secs> setting. Default is 120 seconds, "
 "allowed maximum is 16383."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:239
+#: doc/tin.1:264
 #, no-wrap
 msgid "B<-T>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:243
+#: doc/tin.1:268
 msgid ""
 "Enable NNTPS (NNTP over TLS). This also overrides the environment variable "
-"$B<NNTPPORT> if set. Only available when reading via NNTP."
+"$B<NNTPSPORT> if set. Only available when reading via NNTP."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:243
+#: doc/tin.1:268
 #, no-wrap
 msgid "B<-u>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:249
+#: doc/tin.1:274
 msgid ""
 "Create/update index files for every group in "
 "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> or file specified by the ''B<-f>'' "
@@ -633,38 +654,38 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:249
+#: doc/tin.1:274
 #, no-wrap
 msgid "B<-v>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:254
+#: doc/tin.1:279
 msgid ""
 "Verbose mode for ''B<-c>'', ''B<-D>'', ''B<-M>'', ''B<-N>'', \\&''B<-S>'', "
-"''B<-u>'' and ''B<-Z>'' options. Can be used multiple times to increase "
-"verbosity."
+"''B<-u>'', ''B<-V>'' and ''B<-Z>'' options. Can be used multiple times to "
+"increase verbosity."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:254
+#: doc/tin.1:279
 #, no-wrap
 msgid "B<-V>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:257
+#: doc/tin.1:282
 msgid "Print version information and compilation options."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:257
+#: doc/tin.1:282
 #, no-wrap
 msgid "B<-w>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:262
+#: doc/tin.1:287
 msgid ""
 "Quick mode to post an article and then exit. This option implies "
 "\\&''B<-d>''. In order for this to be really quick, it should be used with "
@@ -672,38 +693,38 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:262
+#: doc/tin.1:287
 #, no-wrap
 msgid "B<-x>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:265
+#: doc/tin.1:290
 msgid "No-posting mode. You cannot post articles if you use this option."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:265
+#: doc/tin.1:290
 #, no-wrap
 msgid "B<-X>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:270
+#: doc/tin.1:296
 msgid ""
 "No overwrite mode. I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> and files in "
 "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin> will not be overwritten but may be created "
-"if they don't exist."
+"if they don't exist. Should be used with ''B<-x>'' if possible."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:270
+#: doc/tin.1:296
 #, no-wrap
 msgid "B<-z>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:275
+#: doc/tin.1:301
 msgid ""
 "Only start B<tin> if there is any new/unread news. If there is news B<tin> "
 "will position cursor at first group with unread news. Useful for putting in "
@@ -711,13 +732,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:275
+#: doc/tin.1:301
 #, no-wrap
 msgid "B<-Z>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:281
+#: doc/tin.1:307
 msgid ""
 "Check if there is any new/unread news and exit with appropriate status. If "
 "\\&''B<-v>'' option is specified the number of unread articles in each group "
@@ -726,7 +747,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:287
+#: doc/tin.1:313
 msgid ""
 "B<tin> can also dynamically change its options by the B<OptionMenu> ('B<M>') "
 "command. Any changes are written to "
@@ -735,7 +756,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:292
+#: doc/tin.1:318
 msgid ""
 "A list of groups can be specified after the other command-line options. This "
 "can be useful if you wish to yank in or subscribe to a hand-picked subset of "
@@ -744,7 +765,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:297
+#: doc/tin.1:323
 msgid ""
 "If you specify a single group-name, or a wildcard that matches a single "
 "group, then you will automatically enter that group. Otherwise the normal "
@@ -753,7 +774,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:301
+#: doc/tin.1:327
 msgid ""
 "With the ''B<-w>'' flag a given group-name is used as default group to post "
 "to. If more than one group or a wildcard is specified only the first group "
@@ -761,7 +782,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:308
+#: doc/tin.1:334
 msgid ""
 "Once you use B<SelectYankActive> ('B<y>') to yank in all active groups, or "
 "B<SelectToggleReadDisplay> ('B<r>') to toggle the read/unread status, then "
@@ -772,7 +793,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:313
+#: doc/tin.1:339
 msgid ""
 "NB: With the ''B<-n>'' flag, only unsubscribed groups in the "
 "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file (or the newsrc-file given by the "
@@ -781,26 +802,31 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:318
+#: doc/tin.1:349
 msgid ""
 "Command-line options have higher priority than attributes and tinrc "
-"options.  Thus, command-line option takes precedence over configured values."
+"options.  Thus, command-line option takes precedence over configured values "
+"with the single exception that if a port is given for the newsserver in "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable> it will override any port "
+"given on the command-line. The order of command-line options is not "
+"important. If they are mutual exclusive the one with the highest priority "
+"will be chosen and a warning may be given."
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:318 doc/tin.1:319
+#. type: SH
+#: doc/tin.1:349
 #, no-wrap
 msgid "USAGE"
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:322
+#: doc/tin.1:352
 #, no-wrap
 msgid "NEWS ADMINISTRATION"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:326
+#: doc/tin.1:356
 msgid ""
 "Maintaining Netnews on large networks of machines can be a pretty time "
 "consuming job as I discovered when I was given the job of maintaining our "
@@ -808,7 +834,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:336
+#: doc/tin.1:366
 msgid ""
 "A user starting B<tin> for the first time can be automatically subscribed to "
 "a list of newsgroups that are deemed appropriate by the news "
@@ -820,20 +846,20 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:336
+#: doc/tin.1:366
 #, no-wrap
 msgid "SCREEN FORMAT"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:339
+#: doc/tin.1:369
 msgid ""
 "B<tin> has four separate levels of operation: Selection level, Group level, "
 "Thread level and Article level."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:346
+#: doc/tin.1:376
 msgid ""
 "At the Selection level the title displays (the name of the news server (with "
 "a \"[T]\"- or \"[k]\"-suffix if reading via NNTPS (insecurely)) and) the "
@@ -844,30 +870,31 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:354
+#: doc/tin.1:384
 #, no-wrap
 msgid ""
-"-E<gt>M    1     2  comp.security.announce  Announcements from the CERT "
-"abou\n"
+"\\f(CR\\(-E<gt>M    1     2  comp.security.announce  Announcements from the "
+"CERT abou\n"
 "  M    2     1  news.admin.announce     Announcements for news adminstra\n"
 "       3    22  news.software.misc      News-related software other than\n"
 "       4  1475  news.software.nntp      The Network News Transfer Protoc\n"
-"  X    5   124  news.software.readers   Discussion of software used to r\n"
+"  X    5   124  news.software.readers   Discussion of software used to "
+"r\\fR\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:357
+#: doc/tin.1:387
 msgid "There may also be a character prefixing the line. An explanation follows:"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:357
+#: doc/tin.1:387
 #, no-wrap
 msgid "B<u>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:362
+#: doc/tin.1:392
 msgid ""
 "This group is unsubscribed. To see only your subscribed groups use the "
 "B<SelectToggleReadDisplay> ('B<r>') or B<SelectYankActive> ('B<y>') toggle "
@@ -875,13 +902,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:362
+#: doc/tin.1:392
 #, no-wrap
 msgid "B<M>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:367
+#: doc/tin.1:397
 msgid ""
 "This is a moderated group. Any posts you make will have to be approved by "
 "the group administrator before it will be made public. B<tin> will ask for "
@@ -889,13 +916,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:367
+#: doc/tin.1:397
 #, no-wrap
 msgid "B<N>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:376
+#: doc/tin.1:406
 msgid ""
 "This is a new newsgroup which has been created since you last used "
 "B<tin>. New newsgroups are not subscribed to by default (However, see the "
@@ -907,13 +934,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:376
+#: doc/tin.1:406
 #, no-wrap
 msgid "B<D>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:381
+#: doc/tin.1:411
 msgid ""
 "This group no longer exists. If you no longer wish to see this group then "
 "unsubscribe from it in the normal way. This flag will only appear if you "
@@ -921,26 +948,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:381
+#: doc/tin.1:411
 #, no-wrap
 msgid "B<X>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:385
+#: doc/tin.1:415
 msgid ""
 "You may no longer make posts to this group. Often a group will be superseded "
 "by a more appropriately named one."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:385
+#: doc/tin.1:415
 #, no-wrap
 msgid "B<=>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:390
+#: doc/tin.1:420
 msgid ""
 "This group has been renamed and you may no longer post to it. If you do, "
 "then you will receive an error from your news server telling you the correct "
@@ -948,7 +975,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:400
+#: doc/tin.1:430
 msgid ""
 "At the Group level the title contains the name of the group, the number of "
 "conversation threads, the abbreviated threading method (B<thread_articles>), "
@@ -962,13 +989,13 @@ msgstr ""
 
 #.  FIXME - make this autocenter
 #. type: Plain text
-#: doc/tin.1:404
+#: doc/tin.1:434
 #, no-wrap
 msgid "            alt.sources (5B -50/23+ 0* 3o 0K)\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:412
+#: doc/tin.1:442
 msgid ""
 "The characters after the numbers are depending to the configuration and if "
 "your are in B<show_only_unread_arts> mode or not. Some numbers could be "
@@ -979,7 +1006,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:421
+#: doc/tin.1:451
 msgid ""
 "If a thread has unread articles it is marked with B<art_marked_unread> in "
 "front of the total number of articles in the thread. If there are recent "
@@ -992,97 +1019,98 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:425
+#: doc/tin.1:455
 #, no-wrap
-msgid "                de.admin.net-abuse.announce (11B 13+ 1* 1o 0K) M\n"
+msgid "\\f(CR                de.admin.net-abuse.announce (11B 13+ 1* 1o 0K) M\\fR\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:430
+#: doc/tin.1:460
 #, no-wrap
 msgid ""
-"-E<gt>   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg "
-"E<lt>l\n"
+"\\f(CR\\(-E<gt>   1   +   3  108 bincancels in de.talk.sex        "
+"Christopher Lueg E<lt>l\n"
 "     2   +       69 EMP/ECP gecancelt. xynx. BI= 10  Henning Weede "
 "E<lt>hwee\n"
 "     3   o       93 EMP gecancelt. SouthBeach/Palms  Henning Weede "
 "E<lt>hwee\n"
 "     4   *      368 E<lt>1997-11-12E<gt> Fremdcancel-FAQ     Thomas Roessler "
-"E<lt>ro\n"
+"E<lt>ro\\fR\n"
 msgstr ""
 
 #.  FIXME - add description of fields
 #. type: Plain text
-#: doc/tin.1:435
+#: doc/tin.1:465
 msgid ""
 "At the Thread level the screen usually (depends on the threading method "
 "used) looks like this, but can be customized via B<thread_format>:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:442
+#: doc/tin.1:472
 #, no-wrap
 msgid ""
-"-E<gt>   1      [   7]  What is this funny tree in the thr  Robert "
+"\\f(CR\\(-E<gt>   1      [   7]  What is this funny tree in the thr  Robert "
 "F. Simmig\n"
-"     2      [  12]  +-E<gt>                                 Sephan Wagner "
+"     2      [  12]  +\\(-E<gt>                                 Sephan Wagner "
 "E<lt>s\n"
-"     3      [ 230]  | `-E<gt>Tin thread-level (was: What is Bob Johnson "
+"     3      [ 230]  | `\\(-E<gt>Tin thread-level (was: What is Bob Johnson "
 "E<lt>bob\n"
-"     4      [  22]  `-E<gt>tin threading menu               Brian "
-"Richardson\n"
+"     4      [  22]  `\\(-E<gt>tin threading menu               Brian "
+"Richardson\\fR\n"
 msgstr ""
 
 #.  FIXME - add description of fields
 #. type: Plain text
-#: doc/tin.1:447
+#: doc/tin.1:477
 msgid "At the Article level the page header has the following format:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:453
+#: doc/tin.1:483
 #, no-wrap
 msgid ""
-"Sun, 28 Dec 1997 21:21:01   de.admin.news.groups      Thread   20 of 86\n"
+"\\f(CRSun, 28 Dec 1997 21:21:01   de.admin.news.groups      Thread   20 of "
+"86\n"
 "Lines 50   Re: EINSPRUCH zu RESULT:de.comm.mobil.ALL   Article  47 of 59\n"
 "Urs Janssen E<lt>urs@akk.orgE<gt>        at Arbeitskreis Kultur und "
-"Kommunikati\n"
+"Kommunikati\\fR\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:455
+#: doc/tin.1:485
 #, no-wrap
-msgid "article-body\n"
+msgid "\\f(CRarticle-body\\fR\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:461
+#: doc/tin.1:491
 msgid ""
 "The look of the Selection, Group and Thread level can be customized. See the "
 "section \"CUSTOMIZING THE SCREEN FORMAT\"."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:461
+#: doc/tin.1:491
 #, no-wrap
 msgid "COMMON MOVING KEYS"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:464
+#: doc/tin.1:494
 msgid ""
 "This table shows the common keys used for moving around all levels within "
 "B<tin>."
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:466
+#: doc/tin.1:496
 #, no-wrap
 msgid "\\w'Beg. of list/article  'u +\\w'ANSI/vt100   'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:474
+#: doc/tin.1:504
 #, no-wrap
 msgid ""
 "\tANSI/vt100\tOther Terminals\n"
@@ -1095,13 +1123,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:478
+#: doc/tin.1:508
 #, no-wrap
 msgid "COMMON EDITING COMMANDS"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:485
+#: doc/tin.1:515
 msgid ""
 "An B<\\%emacs>(1)  style editing package allows the easy editing of input "
 "strings.  A history list allows the easy reuse of previously entered "
@@ -1110,129 +1138,129 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:485
+#: doc/tin.1:515
 #, no-wrap
 msgid "B<^A, ^E>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:488
+#: doc/tin.1:518
 msgid "move to beginning or end of line, respectively."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:488
+#: doc/tin.1:518
 #, no-wrap
 msgid "B<^F, ^B>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:491
+#: doc/tin.1:521
 msgid "non-destructive move forward or back one location, respectively."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:491
+#: doc/tin.1:521
 #, no-wrap
 msgid "B<^D>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:495
+#: doc/tin.1:525
 msgid ""
 "delete the character currently under the cursor, or send EOF if no "
 "characters in the buffer."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:495
+#: doc/tin.1:525
 #, no-wrap
 msgid "B<^H, E<lt>DELE<gt>>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:498
+#: doc/tin.1:528
 msgid "delete character left of the cursor."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:498
+#: doc/tin.1:528
 #, no-wrap
 msgid "B<^K>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:501
+#: doc/tin.1:531
 msgid "delete from cursor to end of line."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:501
+#: doc/tin.1:531
 #, no-wrap
 msgid "B<^P, ^N>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:504
+#: doc/tin.1:534
 msgid "move through history, previous and next, respectively."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:504
+#: doc/tin.1:534
 #, no-wrap
 msgid "B<^L, ^R>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:507
+#: doc/tin.1:537
 msgid "redraw the current line."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:507
+#: doc/tin.1:537
 #, no-wrap
 msgid "B<E<lt>CRE<gt>>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:511
+#: doc/tin.1:541
 msgid ""
 "places line on history list if non-blank, appends newline and returns to the "
 "caller."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:511
+#: doc/tin.1:541
 #, no-wrap
 msgid "B<E<lt>ESCE<gt>>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:516
+#: doc/tin.1:546
 msgid "aborts the present editing operation."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:516
+#: doc/tin.1:546
 #, no-wrap
 msgid "GLOBAL COMMANDS"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:519
+#: doc/tin.1:549
 msgid ""
 "The following commands are available at all 4 menu levels and always have "
 "the same effect."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:519 doc/tin.1:1419 doc/tin.1:1473 doc/tin.1:1519
+#: doc/tin.1:549 doc/tin.1:1455 doc/tin.1:1509 doc/tin.1:1555
 #, no-wrap
 msgid "B<ShellEscape '!'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:524
+#: doc/tin.1:554
 msgid ""
 "Shell escape. B<ShellEscape> by itself will launch a shell, B<ShellEscape> "
 "E<lt>commandE<gt> will run an external E<lt>commandE<gt>. This facility may "
@@ -1240,57 +1268,57 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:524
+#: doc/tin.1:554
 #, no-wrap
 msgid "B<ToggleColor '&'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:527
+#: doc/tin.1:557
 msgid "Toggle use of ANSI color."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:527
+#: doc/tin.1:557
 #, no-wrap
 msgid "B<RedrawScr '^L'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:530
+#: doc/tin.1:560
 msgid "Redraw the current screen."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:530
+#: doc/tin.1:560
 #, no-wrap
 msgid "B<ScrollUp 'E<lt>'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:533
+#: doc/tin.1:563
 msgid "Scroll screen up by one line."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:533
+#: doc/tin.1:563
 #, no-wrap
 msgid "B<ScrollDown 'E<gt>'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:536
+#: doc/tin.1:566
 msgid "Scroll screen down by one line."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:536
+#: doc/tin.1:566
 #, no-wrap
 msgid "B<Postponed 'O' '^O'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:550
+#: doc/tin.1:580
 msgid ""
 "Reload postponed article. If your system blocks the B<Postponed> key you "
 "must quote it by pressing 'B<^V>' (CTRL-V) first. The postpone-menu offers "
@@ -1306,13 +1334,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:550 doc/tin.1:1425 doc/tin.1:1480 doc/tin.1:1525
+#: doc/tin.1:580 doc/tin.1:1461 doc/tin.1:1516 doc/tin.1:1561
 #, no-wrap
 msgid "B<Help 'h'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:556
+#: doc/tin.1:586
 msgid ""
 "Help screen of commands available on the current menu. You can use "
 "B<SearchSubjF> ('B</>'), B<SearchSubjB> ('B<?>') and B<SearchRepeat> "
@@ -1320,26 +1348,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:556 doc/tin.1:1428 doc/tin.1:1483 doc/tin.1:1528
+#: doc/tin.1:586 doc/tin.1:1464 doc/tin.1:1519 doc/tin.1:1564
 #, no-wrap
 msgid "B<ToggleHelpDisplay 'H'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:560 doc/tin.1:1432 doc/tin.1:1487 doc/tin.1:1532
+#: doc/tin.1:590 doc/tin.1:1468 doc/tin.1:1523 doc/tin.1:1568
 msgid ""
 "Toggle the display of help mini menu at the bottom of the screen and posting "
 "etiquette after composing an article (B<beginner_level>)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:560
+#: doc/tin.1:590
 #, no-wrap
 msgid "B<DisplayPostHist 'W'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:565
+#: doc/tin.1:595
 msgid ""
 "List articles posted by user. The date posted, the newsgroup and the subject "
 "are listed. See the section \"POSTING HISTORY LISTING\" for more "
@@ -1347,204 +1375,204 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:565
+#: doc/tin.1:595
 #, no-wrap
 msgid "B<Version 'v'>"
 msgstr ""
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:570
+#: doc/tin.1:600
 msgid "Print B<tin> version information."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:570
+#: doc/tin.1:600
 #, no-wrap
 msgid "NEWSGROUP SELECTION COMMANDS"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:571 doc/tin.1:712 doc/tin.1:967 doc/tin.1:1144 doc/tin.1:3737
+#: doc/tin.1:601 doc/tin.1:742 doc/tin.1:998 doc/tin.1:1176 doc/tin.1:3812
 #, no-wrap
 msgid "B<4>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:574
+#: doc/tin.1:604
 msgid "Select group 4."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:574
+#: doc/tin.1:604
 #, no-wrap
 msgid "B<SelectResetNewsrc '^R'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:578
+#: doc/tin.1:608
 msgid ""
 "Reset I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file. This will destroy all "
 "records of which articles have been read, so use this carefully."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:578 doc/tin.1:733 doc/tin.1:988
+#: doc/tin.1:608 doc/tin.1:763 doc/tin.1:1019
 #, no-wrap
 msgid "B<SetRange '#'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:582 doc/tin.1:737 doc/tin.1:992
+#: doc/tin.1:612 doc/tin.1:767 doc/tin.1:1023
 msgid ""
 "Choose a range of articles to be affected by the next command. See the "
 "section \"RANGES\" for more information."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:582
+#: doc/tin.1:612
 #, no-wrap
 msgid "B<SelectSortActive '.'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:585
+#: doc/tin.1:615
 msgid "Sort the list of newsgroups."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:585 doc/tin.1:740 doc/tin.1:995 doc/tin.1:1201 doc/tin.1:1416
-#: doc/tin.1:1467 doc/tin.1:1516
+#: doc/tin.1:615 doc/tin.1:770 doc/tin.1:1026 doc/tin.1:1236 doc/tin.1:1452
+#: doc/tin.1:1503 doc/tin.1:1552
 #, no-wrap
 msgid "B<SearchRepeat '\\(rs'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:588 doc/tin.1:743 doc/tin.1:998 doc/tin.1:1204 doc/tin.1:1419
-#: doc/tin.1:1470 doc/tin.1:1519
+#: doc/tin.1:618 doc/tin.1:773 doc/tin.1:1029 doc/tin.1:1239 doc/tin.1:1455
+#: doc/tin.1:1506 doc/tin.1:1555
 msgid "Repeat the previous search."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:588 doc/tin.1:743 doc/tin.1:998 doc/tin.1:1204 doc/tin.1:1410
-#: doc/tin.1:1461 doc/tin.1:1510
+#: doc/tin.1:618 doc/tin.1:773 doc/tin.1:1029 doc/tin.1:1239 doc/tin.1:1446
+#: doc/tin.1:1497 doc/tin.1:1546
 #, no-wrap
 msgid "B<SearchSubjF '/'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:591
+#: doc/tin.1:621
 msgid "Search for a group by name and description (if displayed)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:591 doc/tin.1:746 doc/tin.1:1001 doc/tin.1:1207 doc/tin.1:1413
-#: doc/tin.1:1464 doc/tin.1:1513
+#: doc/tin.1:621 doc/tin.1:776 doc/tin.1:1032 doc/tin.1:1242 doc/tin.1:1449
+#: doc/tin.1:1500 doc/tin.1:1549
 #, no-wrap
 msgid "B<SearchSubjB '?'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:594
+#: doc/tin.1:624
 msgid "Backward search through the group names and descriptions."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:594
+#: doc/tin.1:624
 #, no-wrap
 msgid "B<SelectReadGrp '^J' 'E<lt>CRE<gt>'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:597
+#: doc/tin.1:627
 msgid "Read current group."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:597
+#: doc/tin.1:627
 #, no-wrap
 msgid "B<SelectEnterNextUnreadGrp 'E<lt>TABE<gt>' 'n'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:601
+#: doc/tin.1:631
 msgid ""
 "Enter next group with unread news. Will wrap around to the beginning of the "
 "group selection list looking for unread groups."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:601 doc/tin.1:821 doc/tin.1:1039 doc/tin.1:1265
+#: doc/tin.1:631 doc/tin.1:851 doc/tin.1:1070 doc/tin.1:1300
 #, no-wrap
 msgid "B<Catchup 'c'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:605
+#: doc/tin.1:635
 msgid ""
 "Make current group as all read [after confirmation] and move to the next "
 "group in the group selection list."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:605 doc/tin.1:825 doc/tin.1:1043 doc/tin.1:1269
+#: doc/tin.1:635 doc/tin.1:855 doc/tin.1:1074 doc/tin.1:1304
 #, no-wrap
 msgid "B<CatchupNextUnread 'C'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:609
+#: doc/tin.1:639
 msgid ""
 "Mark current group as all read [after confirmation] and enter the next "
 "unread group in the group selection list."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:609
+#: doc/tin.1:639
 #, no-wrap
 msgid "B<SelectToggleDescriptions 'd'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:613
+#: doc/tin.1:643
 msgid ""
 "Toggle display to show just the group name or the group name and the group "
 "descriptions."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:613 doc/tin.1:838 doc/tin.1:1056 doc/tin.1:1281
+#: doc/tin.1:643 doc/tin.1:868 doc/tin.1:1087 doc/tin.1:1316
 #, no-wrap
 msgid "B<EditFilter 'E'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:616 doc/tin.1:841 doc/tin.1:1059 doc/tin.1:1284
+#: doc/tin.1:646 doc/tin.1:871 doc/tin.1:1090 doc/tin.1:1319
 msgid "Edit the filter file and reload it afterwards."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:616
+#: doc/tin.1:646
 #, no-wrap
 msgid "B<SelectGoto 'g'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:620 doc/tin.1:845
+#: doc/tin.1:650 doc/tin.1:875
 msgid ""
 "Choose a new group by name. This command can be used to access any group, "
 "even those not currently yanked in."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:620 doc/tin.1:848 doc/tin.1:1065 doc/tin.1:1297 doc/tin.1:1422
-#: doc/tin.1:1476 doc/tin.1:1522
+#: doc/tin.1:650 doc/tin.1:878 doc/tin.1:1096 doc/tin.1:1332 doc/tin.1:1458
+#: doc/tin.1:1512 doc/tin.1:1558
 #, no-wrap
 msgid "B<ToggleInfoLastLine 'i'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:625
+#: doc/tin.1:655
 msgid ""
 "Toggle the display of the description of the current newsgroup in the last "
 "line. This will not be available if B<tin> was started with the \\&''B<-d>'' "
@@ -1552,35 +1580,35 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:625 doc/tin.1:852 doc/tin.1:1068 doc/tin.1:1300
+#: doc/tin.1:655 doc/tin.1:882 doc/tin.1:1099 doc/tin.1:1335
 #, no-wrap
 msgid "B<ToggleInverseVideo 'I'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:628 doc/tin.1:855 doc/tin.1:1071 doc/tin.1:1303
+#: doc/tin.1:658 doc/tin.1:885 doc/tin.1:1102 doc/tin.1:1338
 msgid "Toggle inverse video."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:628 doc/tin.1:855 doc/tin.1:1071 doc/tin.1:1303
+#: doc/tin.1:658 doc/tin.1:885 doc/tin.1:1102 doc/tin.1:1338
 #, no-wrap
 msgid "B<ConnectionInfo 'J'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:631 doc/tin.1:858 doc/tin.1:1074 doc/tin.1:1306
+#: doc/tin.1:661 doc/tin.1:888 doc/tin.1:1105 doc/tin.1:1341
 msgid "Show details about current connection."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:631 doc/tin.1:867 doc/tin.1:1080 doc/tin.1:1312
+#: doc/tin.1:661 doc/tin.1:897 doc/tin.1:1111 doc/tin.1:1347
 #, no-wrap
 msgid "B<LookupMessage 'L'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:638
+#: doc/tin.1:668
 msgid ""
 "Look up article by ''Message-ID:''. If none of the groups listed in the "
 "''Newsgroups:''-header of the referenced article is available, just the "
@@ -1590,13 +1618,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:638
+#: doc/tin.1:668
 #, no-wrap
 msgid "B<SelectMoveGrp 'm'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:644
+#: doc/tin.1:674
 msgid ""
 "Move the current group within the group selection list. By entering '1' the "
 "group will become the first displayed group in the list, by entering '8' the "
@@ -1605,61 +1633,61 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:644 doc/tin.1:875 doc/tin.1:1320
+#: doc/tin.1:674 doc/tin.1:906 doc/tin.1:1356
 #, no-wrap
 msgid "B<OptionMenu 'M'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:648 doc/tin.1:879 doc/tin.1:1324
+#: doc/tin.1:678 doc/tin.1:910 doc/tin.1:1360
 msgid ""
 "User configurable options menu (for more information see section \"GLOBAL "
 "OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES\")."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:648
+#: doc/tin.1:678
 #, no-wrap
 msgid "B<SelectNextUnreadGrp 'N'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:651
+#: doc/tin.1:681
 msgid "Positions the cursor on the next group with unread articles in it."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:651 doc/tin.1:896 doc/tin.1:1093 doc/tin.1:1341
+#: doc/tin.1:681 doc/tin.1:927 doc/tin.1:1125 doc/tin.1:1377
 #, no-wrap
 msgid "B<Quit 'q'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:655
+#: doc/tin.1:685
 msgid ""
 "Quit B<tin> \\(em ask the user to confirm if B<confirm_choice> is set "
 "accordingly."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:655 doc/tin.1:899 doc/tin.1:1096 doc/tin.1:1344
+#: doc/tin.1:685 doc/tin.1:930 doc/tin.1:1128 doc/tin.1:1380
 #, no-wrap
 msgid "B<QuitTin 'Q'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:658 doc/tin.1:902 doc/tin.1:1099 doc/tin.1:1347
+#: doc/tin.1:688 doc/tin.1:933 doc/tin.1:1131 doc/tin.1:1383
 msgid "Quit B<tin> \\(em don't ask the user to confirm."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:658
+#: doc/tin.1:688
 #, no-wrap
 msgid "B<SelectToggleReadDisplay 'r'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:663
+#: doc/tin.1:693
 msgid ""
 "Toggle display of all subscribed to groups and just those groups containing "
 "unread articles. Command has no effect if groups were specified on the "
@@ -1667,37 +1695,37 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:663 doc/tin.1:905 doc/tin.1:1099
+#: doc/tin.1:693 doc/tin.1:936 doc/tin.1:1131
 #, no-wrap
 msgid "B<BugReport 'R'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:667 doc/tin.1:909 doc/tin.1:1103
+#: doc/tin.1:697 doc/tin.1:940 doc/tin.1:1135
 msgid ""
 "Mail a bug report or comment to E<lt>tin-bugs@tin.orgE<gt>. This is the best "
 "way of getting bugs fixed and features added/changed."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:667
+#: doc/tin.1:697
 #, no-wrap
 msgid "B<SelectSubscribe 's'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:670
+#: doc/tin.1:700
 msgid "Subscribe to current group."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:670
+#: doc/tin.1:700
 #, no-wrap
 msgid "B<SelectSubscribePat 'S'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:675
+#: doc/tin.1:705
 msgid ""
 "Subscribe to groups matching user specified pattern. See the section "
 "\"NEWSGROUP LISTS & WILDCARDS\" for the types of pattern that B<tin> "
@@ -1705,13 +1733,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:675
+#: doc/tin.1:705
 #, no-wrap
 msgid "B<SelectUnsubscribe 'u'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:680
+#: doc/tin.1:710
 msgid ""
 "Unsubscribe to current group. This can be used to remove bogus groups.  See "
 "B<strip_bogus> in the \"GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE "
@@ -1719,13 +1747,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:680
+#: doc/tin.1:710
 #, no-wrap
 msgid "B<SelectUnsubscribePat 'U'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:685
+#: doc/tin.1:715
 msgid ""
 "Unsubscribe to groups matching user specified pattern. See the section "
 "\"NEWSGROUP LISTS & WILDCARDS\" for the types of pattern that B<tin> "
@@ -1733,13 +1761,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:685 doc/tin.1:934 doc/tin.1:1122 doc/tin.1:1381
+#: doc/tin.1:715 doc/tin.1:965 doc/tin.1:1154 doc/tin.1:1417
 #, no-wrap
 msgid "B<Post 'w'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:691
+#: doc/tin.1:721
 msgid ""
 "Post an article to current group. If posting fails for some reason, you'll "
 "get the chance to B<PostEdit> ('B<e>') the article again, B<PostPostpone> "
@@ -1748,24 +1776,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:691
+#: doc/tin.1:721
 #, no-wrap
 msgid "B<SelectQuitNoWrite 'X'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:694
+#: doc/tin.1:724
 msgid "Quit B<tin> without saving any changes to the configuration."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:694
+#: doc/tin.1:724
 #, no-wrap
 msgid "B<SelectYankActive 'y'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:699
+#: doc/tin.1:729
 msgid ""
 "Yanks in all groups. Toggles the displayed groups between all the groups in "
 "the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file and just "
@@ -1773,38 +1801,38 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:699
+#: doc/tin.1:729
 #, no-wrap
 msgid "B<SelectSyncWithActive 'Y'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:703
+#: doc/tin.1:733
 msgid ""
 "Reread the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file "
 "to see if any new news has arrived since starting B<tin>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:703
+#: doc/tin.1:733
 #, no-wrap
 msgid "B<SelectMarkGrpUnread 'z' 'Z'>"
 msgstr ""
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:708
+#: doc/tin.1:738
 msgid "Mark all articles in the current group as unread."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:708
+#: doc/tin.1:738
 #, no-wrap
 msgid "GROUP INDEX COMMANDS"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:712
+#: doc/tin.1:742
 msgid ""
 "All searches in this level are limited to unread articles if in "
 "B<show_only_unread_arts> mode. B<GroupToggleReadUnread> ('B<r>')  can be use "
@@ -1812,44 +1840,44 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:715
+#: doc/tin.1:745
 msgid "Select article 4."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:715 doc/tin.1:970 doc/tin.1:1147
+#: doc/tin.1:745 doc/tin.1:1001 doc/tin.1:1179
 #, no-wrap
 msgid "B<MenuFilterSelect '^A'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:719 doc/tin.1:974 doc/tin.1:1151
+#: doc/tin.1:749 doc/tin.1:1005 doc/tin.1:1183
 msgid ""
 "Auto select article(s) using a menu. Read the section \"FILTERING ARTICLES\" "
 "for more information."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:719 doc/tin.1:974 doc/tin.1:1166
+#: doc/tin.1:749 doc/tin.1:1005 doc/tin.1:1198
 #, no-wrap
 msgid "B<MenuFilterKill '^K'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:723 doc/tin.1:978 doc/tin.1:1170
+#: doc/tin.1:753 doc/tin.1:1009 doc/tin.1:1202
 msgid ""
 "Kill article(s) using a menu. Read the section \"FILTERING ARTICLES\" for "
 "more information."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:723 doc/tin.1:978
+#: doc/tin.1:753 doc/tin.1:1009
 #, no-wrap
 msgid "B<MarkFeedRead '^X'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:728 doc/tin.1:983
+#: doc/tin.1:758 doc/tin.1:1014
 msgid ""
 "Mark current article, thread, range, auto-selected (hot) articles, articles "
 "matching pattern or tagged articles as read. A prompt asks which type should "
@@ -1857,13 +1885,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:728 doc/tin.1:983
+#: doc/tin.1:758 doc/tin.1:1014
 #, no-wrap
 msgid "B<MarkFeedUnread '^W'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:733 doc/tin.1:988
+#: doc/tin.1:763 doc/tin.1:1019
 msgid ""
 "Mark current article, thread, range, auto-selected (hot) articles, articles "
 "matching pattern or tagged articles as unread. A prompt asks which type "
@@ -1871,58 +1899,58 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:737 doc/tin.1:992 doc/tin.1:1198
+#: doc/tin.1:767 doc/tin.1:1023 doc/tin.1:1233
 #, no-wrap
 msgid "B<LastViewed '-'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:740 doc/tin.1:995 doc/tin.1:1201
+#: doc/tin.1:770 doc/tin.1:1026 doc/tin.1:1236
 msgid "Re-enter the last message that was viewed."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:746 doc/tin.1:1001
+#: doc/tin.1:776 doc/tin.1:1032
 msgid "Search forward for specified subject."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:749 doc/tin.1:1004
+#: doc/tin.1:779 doc/tin.1:1035
 msgid "Search backwards for specified subject."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:749
+#: doc/tin.1:779
 #, no-wrap
 msgid "B<GroupSelThd '*'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:752 doc/tin.1:1007
+#: doc/tin.1:782 doc/tin.1:1038
 msgid "Select current thread for later processing."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:752
+#: doc/tin.1:782
 #, no-wrap
 msgid "B<GroupDoAutoSel '+'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:756
+#: doc/tin.1:786
 msgid ""
 "Selects all threads in current group. It is a shortcut for calling "
 "B<GroupSelPattern> with a pattern of ''*''."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:756
+#: doc/tin.1:786
 #, no-wrap
 msgid "B<GroupToggleThdSel '.'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:761
+#: doc/tin.1:791
 msgid ""
 "Toggle selection of current thread. If at least one unread article, (but not "
 "every unread article) in the current thread is selected, then all unread "
@@ -1930,13 +1958,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:761
+#: doc/tin.1:791
 #, no-wrap
 msgid "B<GroupSelThdIfUnreadSelected ';'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:766
+#: doc/tin.1:796
 msgid ""
 "For each thread in current group, if it at least one unread article is "
 "selected, all unread articles become selected. This is useful for "
@@ -1944,39 +1972,39 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:766
+#: doc/tin.1:796
 #, no-wrap
 msgid "B<GroupSelPattern '='>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:772
+#: doc/tin.1:802
 msgid ""
 "Prompts for a pattern with which to match on. All threads whose subjects "
 "match the pattern will be marked selected. A pattern of ''*'' will match all "
-"subjects. Entering just 'B<E<lt>CRE<gt>>' will re-use the last pattern that "
+"subjects. Entering just 'B<E<lt>CRE<gt>>' will reuse the last pattern that "
 "was entered."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:772
+#: doc/tin.1:802
 #, no-wrap
 msgid "B<GroupReverseSel '@'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:775
+#: doc/tin.1:805
 msgid "Reverse all selections on all articles."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:775
+#: doc/tin.1:805
 #, no-wrap
 msgid "B<GroupUndoSel '~'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:781
+#: doc/tin.1:811
 msgid ""
 "Undo all selections on all articles. It clears the toggle effect of "
 "B<GroupMarkUnselArtRead> ('B<X>') command. Thus after first doing a "
@@ -1985,13 +2013,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:781 doc/tin.1:1016 doc/tin.1:1224
+#: doc/tin.1:811 doc/tin.1:1047 doc/tin.1:1259
 #, no-wrap
 msgid "B<Pipe '|'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:786 doc/tin.1:1021 doc/tin.1:1229
+#: doc/tin.1:816 doc/tin.1:1052 doc/tin.1:1264
 msgid ""
 "Pipe current article / thread / auto-selected (hot) articles / articles "
 "matching pattern / tagged articles into command. See the section \"MAILING "
@@ -1999,13 +2027,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:786 doc/tin.1:1229
+#: doc/tin.1:816 doc/tin.1:1264
 #, no-wrap
 msgid "B<QuickFilterSelect '['>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:795
+#: doc/tin.1:825
 msgid ""
 "Auto select article(s) with a single key [after confirmation]. The defaults "
 "used for selection are based upon the following four tinrc config variables: "
@@ -2017,13 +2045,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:795 doc/tin.1:1238
+#: doc/tin.1:825 doc/tin.1:1273
 #, no-wrap
 msgid "B<QuickFilterKill ']'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:804
+#: doc/tin.1:834
 msgid ""
 "Kill article(s) with a single key [after confirmation]. The defaults used "
 "for killing are based upon the following four tinrc config variables: "
@@ -2035,99 +2063,99 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:804
+#: doc/tin.1:834
 #, no-wrap
 msgid "B<GroupReadBasenote '^J' 'E<lt>CRE<gt>'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:807
+#: doc/tin.1:837
 msgid "Read current article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:807
+#: doc/tin.1:837
 #, no-wrap
 msgid "B<GroupNextUnreadArtOrGrp 'E<lt>TABE<gt>'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:810
+#: doc/tin.1:840
 msgid "View next unread article or group."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:810 doc/tin.1:1027 doc/tin.1:1255
+#: doc/tin.1:840 doc/tin.1:1058 doc/tin.1:1290
 #, no-wrap
 msgid "B<SearchAuthF 'a'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:814
+#: doc/tin.1:844
 msgid ""
 "Author forward search. This searches for articles with a specific ''From:'' "
 "line."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:814 doc/tin.1:1032 doc/tin.1:1258
+#: doc/tin.1:844 doc/tin.1:1063 doc/tin.1:1293
 #, no-wrap
 msgid "B<SearchAuthB 'A'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:817 doc/tin.1:1035
+#: doc/tin.1:847 doc/tin.1:1066
 msgid "Author backward search. Otherwise, see B<SearchAuthF> ('B<a>') above."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:817 doc/tin.1:1035 doc/tin.1:1261
+#: doc/tin.1:847 doc/tin.1:1066 doc/tin.1:1296
 #, no-wrap
 msgid "B<SearchBody 'B'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:821 doc/tin.1:1039 doc/tin.1:1265
+#: doc/tin.1:851 doc/tin.1:1070 doc/tin.1:1300
 msgid ""
 "Search the body of all articles in group (can be slow). You can abort the "
 "search using B<Quit> ('B<q>')."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:825
+#: doc/tin.1:855
 msgid ""
 "Mark all articles as read [after confirmation] then return to the group "
 "selection list. Move cursor to next group."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:829
+#: doc/tin.1:859
 msgid ""
 "Mark all articles as read [after confirmation] and enter the next group with "
 "unread news."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:829
+#: doc/tin.1:859
 #, no-wrap
 msgid "B<GroupToggleSubjDisplay 'd'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:833 doc/tin.1:1051
+#: doc/tin.1:863 doc/tin.1:1082
 msgid ""
 "Cycle the display of the author through all the possible options for the "
 "tinrc variable B<show_author>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:833
+#: doc/tin.1:863
 #, no-wrap
 msgid "B<GroupCancel 'D'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:838 doc/tin.1:1056 doc/tin.1:1278
+#: doc/tin.1:868 doc/tin.1:1087 doc/tin.1:1313
 msgid ""
 "Cancel (delete) or supersede (overwrite) the current article. It must have "
 "been posted by the same user. The cancel message can be seen in the "
@@ -2135,37 +2163,37 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:841
+#: doc/tin.1:871
 #, no-wrap
 msgid "B<GroupGoto 'g'>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:845
+#: doc/tin.1:875
 #, no-wrap
 msgid "B<GroupToggleGetartLimit 'G'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:848
+#: doc/tin.1:878
 msgid "Toggle article/group limit."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:852
+#: doc/tin.1:882
 msgid ""
 "Display the subject of the first article in the current thread in the last "
 "line."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:858
+#: doc/tin.1:888
 #, no-wrap
 msgid "B<GroupMarkThdRead 'K'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:864
+#: doc/tin.1:894
 msgid ""
 "Mark article/thread as read and move onto the next unread article/thread. If "
 "a range of articles/threads is set, the range will be marked as read instead "
@@ -2174,29 +2202,31 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:864
+#: doc/tin.1:894
 #, no-wrap
 msgid "B<GroupListThd 'l'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:867
+#: doc/tin.1:897
 msgid "Open the thread under the current cursor position."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:870 doc/tin.1:1083 doc/tin.1:1315
-msgid "Look up article by ''Message-ID:''."
+#: doc/tin.1:901 doc/tin.1:1115 doc/tin.1:1351
+msgid ""
+"Look up article by ''Message-ID:''. In this level only the IDs in the "
+"current group are searched."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:870
+#: doc/tin.1:901
 #, no-wrap
 msgid "B<GroupMail 'm'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:875 doc/tin.1:1088 doc/tin.1:1320
+#: doc/tin.1:906 doc/tin.1:1120 doc/tin.1:1356
 msgid ""
 "Mail current article / thread / auto-selected (hot) articles / articles "
 "matching pattern / tagged articles to someone. See the section \"MAILING "
@@ -2204,35 +2234,35 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:879
+#: doc/tin.1:910
 #, no-wrap
 msgid "B<GroupNextGroup 'n'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:882
+#: doc/tin.1:913
 msgid "Go to next group."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:882
+#: doc/tin.1:913
 #, no-wrap
 msgid "B<GroupNextUnreadArt 'N'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:885 doc/tin.1:1330
+#: doc/tin.1:916 doc/tin.1:1366
 msgid "Go to the next unread article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:885 doc/tin.1:1088 doc/tin.1:1330
+#: doc/tin.1:916 doc/tin.1:1120 doc/tin.1:1366
 #, no-wrap
 msgid "B<Print 'o'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:890 doc/tin.1:1093 doc/tin.1:1335
+#: doc/tin.1:921 doc/tin.1:1125 doc/tin.1:1371
 msgid ""
 "Send current article / thread / auto-selected (hot) articles / articles "
 "matching pattern / tagged articles to printer. See the section \"MAILING "
@@ -2240,51 +2270,51 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:890
+#: doc/tin.1:921
 #, no-wrap
 msgid "B<GroupPrevGroup 'p'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:893
+#: doc/tin.1:924
 msgid "Go to previous group."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:893
+#: doc/tin.1:924
 #, no-wrap
 msgid "B<GroupPrevUnreadArt 'P'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:896
+#: doc/tin.1:927
 msgid "Go to previous unread article."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:899 doc/tin.1:1096
+#: doc/tin.1:930 doc/tin.1:1128
 msgid "Return to previous level."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:902
+#: doc/tin.1:933
 #, no-wrap
 msgid "B<GroupToggleReadUnread 'r'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:905
+#: doc/tin.1:936
 msgid "Toggle the display between all articles and unread articles."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:909
+#: doc/tin.1:940
 #, no-wrap
 msgid "B<GroupSave 's'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:914 doc/tin.1:1108 doc/tin.1:1360
+#: doc/tin.1:945 doc/tin.1:1140 doc/tin.1:1396
 msgid ""
 "Save current article / thread / auto-selected (hot) articles / articles "
 "matching pattern / tagged articles. See the section \"MAILING PIPING "
@@ -2292,24 +2322,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:914
+#: doc/tin.1:945
 #, no-wrap
 msgid "B<GroupAutoSave 'S'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:917 doc/tin.1:1111 doc/tin.1:1363
+#: doc/tin.1:948 doc/tin.1:1143 doc/tin.1:1399
 msgid "Save marked articles automatically without further prompting."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:917
+#: doc/tin.1:948
 #, no-wrap
 msgid "B<GroupTag 't'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:922
+#: doc/tin.1:953
 msgid ""
 "Toggle tag-status of current article / thread for B<GroupMail> ('B<m>')  / "
 "B<Pipe> ('B<|>') / B<Print> ('B<o>') / B<GroupSave> ('B<s>') / "
@@ -2317,26 +2347,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:922
+#: doc/tin.1:953
 #, no-wrap
 msgid "B<GroupTagParts 'T'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:926 doc/tin.1:1119
+#: doc/tin.1:957 doc/tin.1:1151
 msgid ""
 "Automatically tag/untag all the parts of the current multi-part message in "
 "order."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:926
+#: doc/tin.1:957
 #, no-wrap
 msgid "B<GroupToggleThreading 'u'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:931
+#: doc/tin.1:962
 msgid ""
 "Cycle the threading mode through no threading, threading by subject, "
 "threading by references, threading on both subject and references, group "
@@ -2344,18 +2374,18 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:931
+#: doc/tin.1:962
 #, no-wrap
 msgid "B<GroupUntag 'U'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:934
+#: doc/tin.1:965
 msgid "Untag all articles that were tagged."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:941 doc/tin.1:1129 doc/tin.1:1388
+#: doc/tin.1:972 doc/tin.1:1161 doc/tin.1:1424
 msgid ""
 "Post an article to the current group. If posting fails for some reason, "
 "you'll get the chance to edit the article again via B<PostEdit> ('B<e>'), "
@@ -2364,13 +2394,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:941
+#: doc/tin.1:972
 #, no-wrap
 msgid "B<GroupRepost 'x'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:947 doc/tin.1:1394
+#: doc/tin.1:978 doc/tin.1:1430
 msgid ""
 "Repost an already posted article / thread / auto-selected (hot) articles / "
 "articles matching pattern / tagged articles to another newsgroup(s). Useful "
@@ -2379,13 +2409,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:947
+#: doc/tin.1:978
 #, no-wrap
 msgid "B<GroupMarkUnselArtRead 'X'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:955
+#: doc/tin.1:986
 msgid ""
 "Mark all unread articles that have not been selected as read, redraw screen "
 "to reflect changes and put index at the first thread to begin reading.  "
@@ -2396,25 +2426,25 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:955 doc/tin.1:1129 doc/tin.1:1394
+#: doc/tin.1:986 doc/tin.1:1161 doc/tin.1:1430
 #, no-wrap
 msgid "B<MarkArtUnread 'z'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:958
+#: doc/tin.1:989
 msgid "Mark current article as unread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:958 doc/tin.1:1134 doc/tin.1:1397
+#: doc/tin.1:989 doc/tin.1:1166 doc/tin.1:1433
 #, no-wrap
 msgid "B<MarkThdUnread 'Z'>"
 msgstr ""
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:965
+#: doc/tin.1:996
 msgid ""
 "Mark current thread as unread. If a range of threads is set, the range will "
 "be marked as unread instead of the current thread. When tagged threads are "
@@ -2422,79 +2452,79 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:965
+#: doc/tin.1:996
 #, no-wrap
 msgid "THREAD LISTING COMMANDS"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:970
+#: doc/tin.1:1001
 msgid "Select article 4 within thread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1004
+#: doc/tin.1:1035
 #, no-wrap
 msgid "B<ThreadSelArt '*'>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1007
+#: doc/tin.1:1038
 #, no-wrap
 msgid "B<ThreadToggleArtSel '.'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1010
+#: doc/tin.1:1041
 msgid "Toggle selection of current article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1010
+#: doc/tin.1:1041
 #, no-wrap
 msgid "B<ThreadReverseSel '@'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1013
+#: doc/tin.1:1044
 msgid "Reverse article selections."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1013
+#: doc/tin.1:1044
 #, no-wrap
 msgid "B<ThreadUndoSel '~'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1016
+#: doc/tin.1:1047
 msgid "Undo all selections on current thread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1021
+#: doc/tin.1:1052
 #, no-wrap
 msgid "B<ThreadReadArt '^J' 'E<lt>CRE<gt>'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1024
+#: doc/tin.1:1055
 msgid "Read current article within thread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1024
+#: doc/tin.1:1055
 #, no-wrap
 msgid "B<ThreadReadNextArtOrThread 'E<lt>TABE<gt>'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1027
+#: doc/tin.1:1058
 msgid "View next unread article within thread."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1032
+#: doc/tin.1:1063
 msgid ""
 "Author forward search. This searches for articles with a specific ''From:'' "
 "line. The search will wrap over into the next thread if nothing is found in "
@@ -2502,68 +2532,68 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1043
+#: doc/tin.1:1074
 msgid ""
 "Mark thread as read [after confirmation] and return to the group index "
 "page.  Move cursor to next thread."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1047
+#: doc/tin.1:1078
 msgid ""
 "Mark thread as read [after confirmation] and enter the next thread "
 "containing unread news."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1047
+#: doc/tin.1:1078
 #, no-wrap
 msgid "B<ThreadToggleSubjDisplay 'd'>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1051
+#: doc/tin.1:1082
 #, no-wrap
 msgid "B<ThreadCancel 'D'>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1059
+#: doc/tin.1:1090
 #, no-wrap
 msgid "B<ThreadFollowupQuote 'f'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1062 doc/tin.1:1287
+#: doc/tin.1:1093 doc/tin.1:1322
 msgid "Post a followup to the current article with a copy of the article included."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1062
+#: doc/tin.1:1093
 #, no-wrap
 msgid "B<ThreadFollowup 'F'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1065
+#: doc/tin.1:1096
 msgid ""
 "Post a followup to the current article without a copy of the article "
 "included."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1068 doc/tin.1:1300
+#: doc/tin.1:1099 doc/tin.1:1335
 msgid "Display the subject of the current article in the last line."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1074
+#: doc/tin.1:1105
 #, no-wrap
 msgid "B<ThreadMarkArtRead 'K'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1080
+#: doc/tin.1:1111
 msgid ""
 "Mark article as read and move onto the next unread article. If a range of "
 "articles is set, the range will be marked as read instead of the current "
@@ -2571,55 +2601,55 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1083
+#: doc/tin.1:1115
 #, no-wrap
 msgid "B<ThreadMail 'm'>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1103
+#: doc/tin.1:1135
 #, no-wrap
 msgid "B<ThreadSave 's'>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1108
+#: doc/tin.1:1140
 #, no-wrap
 msgid "B<ThreadAutoSave 'S'>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1111
+#: doc/tin.1:1143
 #, no-wrap
 msgid "B<ThreadTag 't'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1115 doc/tin.1:1367
+#: doc/tin.1:1147 doc/tin.1:1403
 msgid ""
 "Toggle tag status of current article for mailing, piping, printing, saving "
 "or reposting."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1115
+#: doc/tin.1:1147
 #, no-wrap
 msgid "B<ThreadTagParts 'T'>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1119
+#: doc/tin.1:1151
 #, no-wrap
 msgid "B<ThreadUntag 'U'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1122
+#: doc/tin.1:1154
 msgid "Untag all tagged threads."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1134
+#: doc/tin.1:1166
 msgid ""
 "Mark current article in thread as unread. If a range of articles is set, the "
 "range will be marked as unread instead of the current article. When tagged "
@@ -2628,145 +2658,156 @@ msgstr ""
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:1139
+#: doc/tin.1:1171
 msgid "Mark all articles in thread as unread."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:1139
+#: doc/tin.1:1171
 #, no-wrap
 msgid "ARTICLE VIEWER COMMANDS"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1144
+#: doc/tin.1:1176
 msgid "Read the first (base) article in this thread."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1147
+#: doc/tin.1:1179
 msgid "Read response 4 in this thread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1151
+#: doc/tin.1:1183
 #, no-wrap
 msgid "B<PageReplyQuoteHeaders '^E'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1155
+#: doc/tin.1:1187
 msgid ""
 "Reply through mail to the author of the current article with a copy of the "
 "article with all headers included."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1155
+#: doc/tin.1:1187
 #, no-wrap
 msgid "B<PagePGPCheckArticle '^G'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1163
+#: doc/tin.1:1195
 msgid ""
 "Perform B<\\%pgp>(1)  / B<\\%gpg>(1)  operations on article. This expects "
 "inline pgp (B<RFC\\%4880>) and not MIME pgp (B<RFC\\%3156>)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1163
+#: doc/tin.1:1195
 #, no-wrap
 msgid "B<PageToggleRaw '^H'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1166
+#: doc/tin.1:1198
 msgid "Toggles the display mode (raw including all headers vs. cooked)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1170
+#: doc/tin.1:1202
 #, no-wrap
 msgid "B<PageToggleTabs '^T'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1173
+#: doc/tin.1:1205
 msgid "Toggle the TAB width between 4 and 8 characters."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1173
+#: doc/tin.1:1205
 #, no-wrap
 msgid "B<PageFollowupQuoteHeaders '^W'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1177
+#: doc/tin.1:1209
 msgid ""
 "Post a followup to the current article with a copy of the article with all "
 "headers included."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1177
+#: doc/tin.1:1209
 #, no-wrap
 msgid "B<PageToggleTex2iso '\"'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1181
+#: doc/tin.1:1213
 msgid ""
 "Toggle TeX to ISO decoding for current article. The default behavior is "
 "taken from the B<tex2iso_conv> variable in the tinrc file."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1181
+#: doc/tin.1:1213
 #, no-wrap
 msgid "B<PageToggleAllHeaders '*'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1184
+#: doc/tin.1:1216
 msgid ""
 "Toggles the display of all headers vs. headers in "
 "B<news_headers_to_display>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1184
+#: doc/tin.1:1216
+#, no-wrap
+msgid "B<PageArticleInfo '''>"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.1:1219
+msgid "Detailed MIME information of the article."
+msgstr ""
+
+#. type: TP
+#: doc/tin.1:1219
 #, no-wrap
 msgid "B<PageToggleRot '%'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1187
+#: doc/tin.1:1222
 msgid "Toggle ROT-13 decoding for this article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1187
+#: doc/tin.1:1222
 #, no-wrap
 msgid "B<PageToggleUue '('>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1191
+#: doc/tin.1:1226
 msgid ""
 "Toggle the display of uuencoded sections. The default behavior is taken from "
 "the B<hide_uue> variable in the tinrc file."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1191
+#: doc/tin.1:1226
 #, no-wrap
 msgid "B<PageReveal ')'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1198
+#: doc/tin.1:1233
 msgid ""
 "The form feed character (^L) is often used to hide 'spoilers' that the "
 "reader may not initially wish to see when viewing an article. Any text after "
@@ -2776,23 +2817,23 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1207
+#: doc/tin.1:1242
 msgid "Forward search the text of this article."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1210
+#: doc/tin.1:1245
 msgid "Backward search the text of this article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1210
+#: doc/tin.1:1245
 #, no-wrap
 msgid "B<PageSkipIncludedText ':'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1215
+#: doc/tin.1:1250
 msgid ""
 "Skip to the end of the next quoted text-block in this article. Quoted text "
 "is everything which matches B<quote_regex>, B<quote_regex2> or "
@@ -2800,40 +2841,40 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1215
+#: doc/tin.1:1250
 #, no-wrap
 msgid "B<PageTopThd 'E<lt>'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1218
+#: doc/tin.1:1253
 msgid "Go to the first article in the current thread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1218
+#: doc/tin.1:1253
 #, no-wrap
 msgid "B<PageBotThd 'E<gt>'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1221
+#: doc/tin.1:1256
 msgid "Go to the last article in the current thread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1221
+#: doc/tin.1:1256
 #, no-wrap
 msgid "B<PageToggleHighlight '_'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1224
+#: doc/tin.1:1259
 msgid "Toggle word highlighting on/off."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1238
+#: doc/tin.1:1273
 msgid ""
 "Auto select article(s) with a single key. The defaults used for selection "
 "are set based upon the following four tinrc config variables: "
@@ -2845,7 +2886,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1247
+#: doc/tin.1:1282
 msgid ""
 "Kill article(s) with a single key. The defaults used for killing are based "
 "upon the following four tinrc config variables: B<default_filter_kill_case>, "
@@ -2856,24 +2897,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1247
+#: doc/tin.1:1282
 #, no-wrap
 msgid "B<PageNextThd '^J' 'E<lt>CRE<gt>'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1250
+#: doc/tin.1:1285
 msgid "Go to next base article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1250
+#: doc/tin.1:1285
 #, no-wrap
 msgid "B<PageNextUnread 'E<lt>TABE<gt>'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1255
+#: doc/tin.1:1290
 msgid ""
 "Go to next unread article. If the tinrc variable B<goto_next_unread> doesn't "
 "contain PageNextUnread, then this key will first page through the current "
@@ -2881,276 +2922,276 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1258
+#: doc/tin.1:1293
 msgid "Author forward search."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1261
+#: doc/tin.1:1296
 msgid "Author backward search."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1269
+#: doc/tin.1:1304
 msgid ""
 "Mark the current thread as read [after confirmation] and return to the "
 "previous menu. Move cursor to next item."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1273
+#: doc/tin.1:1308
 msgid ""
 "Mark the rest of the current thread as read [after confirmation] and enter "
 "the next thread with unread articles."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1273
+#: doc/tin.1:1308
 #, no-wrap
 msgid "B<PageCancel 'D'>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1278
+#: doc/tin.1:1313
 #, no-wrap
 msgid "B<PageEditArticle 'e'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1281
+#: doc/tin.1:1316
 msgid "Edit the current article. This is restricted to mailgroups and saved news."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1284
+#: doc/tin.1:1319
 #, no-wrap
 msgid "B<PageFollowupQuote 'f'>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1287
+#: doc/tin.1:1322
 #, no-wrap
 msgid "B<PageFollowup 'F'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1291
+#: doc/tin.1:1326
 msgid ""
 "Post a followup to the current article without including a copy of the "
 "article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1291
+#: doc/tin.1:1326
 #, no-wrap
 msgid "B<PageFirstPage 'g'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1294
+#: doc/tin.1:1329
 msgid "Go to the start of the article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1294
+#: doc/tin.1:1329
 #, no-wrap
 msgid "B<PageLastPage 'G'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1297
+#: doc/tin.1:1332
 msgid "Go to the end of the article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1306
+#: doc/tin.1:1341
 #, no-wrap
 msgid "B<PageKillThd 'K'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1309
+#: doc/tin.1:1344
 msgid "Mark rest of thread as read and move onto the next unread thread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1309
+#: doc/tin.1:1344
 #, no-wrap
 msgid "B<PageListThd 'l'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1312
+#: doc/tin.1:1347
 msgid "Show the thread menu that the current article is a part of."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1315
+#: doc/tin.1:1351
 #, no-wrap
 msgid "B<PageMail 'm'>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1324
+#: doc/tin.1:1360
 #, no-wrap
 msgid "B<PageNextArt 'n'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1327
+#: doc/tin.1:1363
 msgid "Go to the next article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1327
+#: doc/tin.1:1363
 #, no-wrap
 msgid "B<PageNextUnreadArt 'N'>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1335
+#: doc/tin.1:1371
 #, no-wrap
 msgid "B<PagePrevArt 'p'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1338
+#: doc/tin.1:1374
 msgid "Go to the previous article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1338
+#: doc/tin.1:1374
 #, no-wrap
 msgid "B<PagePrevUnreadArt 'P'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1341
+#: doc/tin.1:1377
 msgid "Go to the previous unread article."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1344
+#: doc/tin.1:1380
 msgid "Return to the previous level."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1347
+#: doc/tin.1:1383
 #, no-wrap
 msgid "B<PageReplyQuote 'r'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1351
+#: doc/tin.1:1387
 msgid ""
 "Reply through mail to the author of the current article with a copy of the "
 "article included."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1351
+#: doc/tin.1:1387
 #, no-wrap
 msgid "B<PageReply 'R'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1355
+#: doc/tin.1:1391
 msgid ""
 "Reply through mail to the author of the current article without including "
 "the original article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1355
+#: doc/tin.1:1391
 #, no-wrap
 msgid "B<PageSave 's'>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1360
+#: doc/tin.1:1396
 #, no-wrap
 msgid "B<PageAutoSave 'S'>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1363
+#: doc/tin.1:1399
 #, no-wrap
 msgid "B<PageTag 't'>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1367
+#: doc/tin.1:1403
 #, no-wrap
 msgid "B<PageGroupSel 'T'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1370
+#: doc/tin.1:1406
 msgid "Return to group selection level."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1370
+#: doc/tin.1:1406
 #, no-wrap
 msgid "B<PageGotoParent 'u'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1373
+#: doc/tin.1:1409
 msgid "Go to parent article."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1373
+#: doc/tin.1:1409
 #, no-wrap
 msgid "B<PageViewUrl 'U'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1377
+#: doc/tin.1:1413
 msgid ""
 "Display a list of URLs in the current article. See the section \"URL "
 "LISTING\" for more information."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1377
+#: doc/tin.1:1413
 #, no-wrap
 msgid "B<PageViewAttach 'V'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1381
+#: doc/tin.1:1417
 msgid ""
 "Display a list of attachments of the current article. See the section "
 "\"ATTACHMENT LISTING\" for more information."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1388
+#: doc/tin.1:1424
 #, no-wrap
 msgid "B<PageRepost 'x'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1397
+#: doc/tin.1:1433
 msgid "Mark article as unread."
 msgstr ""
 
 #.  -------------------------------------------------------------------
 #. type: Plain text
-#: doc/tin.1:1402
+#: doc/tin.1:1438
 msgid "Mark the current thread as unread."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:1402
+#: doc/tin.1:1438
 #, no-wrap
 msgid "URL LISTING"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1405
+#: doc/tin.1:1441
 msgid ""
 "B<PageViewUrl> ('B<U>') displays a list of URLs in the current "
 "article. Besides the common moving keys, the following commands are "
@@ -3158,52 +3199,52 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1406
+#: doc/tin.1:1442
 #, no-wrap
 msgid "B<UrlSelect '^J' 'E<lt>CRE<gt>'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1410
+#: doc/tin.1:1446
 msgid ""
 "The current URL will be prompted and opened using the "
 "B<url_handler>. 'B<E<lt>ESCE<gt>>' or no input will skip the URL."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1413 doc/tin.1:1513
+#: doc/tin.1:1449 doc/tin.1:1549
 msgid "URL forward search."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1416 doc/tin.1:1516
+#: doc/tin.1:1452 doc/tin.1:1552
 msgid "URL backward search."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1422 doc/tin.1:1476 doc/tin.1:1522
+#: doc/tin.1:1458 doc/tin.1:1512 doc/tin.1:1558
 msgid "Shell escape."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1425
+#: doc/tin.1:1461
 msgid "Toggle the display of the current URL in the last line."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1428 doc/tin.1:1483 doc/tin.1:1528
+#: doc/tin.1:1464 doc/tin.1:1519 doc/tin.1:1564
 msgid "Help screen of commands available."
 msgstr ""
 
 #.  -------------------------------------------------------------------
 #. type: SS
-#: doc/tin.1:1435
+#: doc/tin.1:1471
 #, no-wrap
 msgid "ATTACHMENT LISTING"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1438
+#: doc/tin.1:1474
 msgid ""
 "B<PageViewAttach> ('B<V>') displays a list of attachments of the current "
 "article. Besides the common moving keys, the following commands are "
@@ -3211,107 +3252,107 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1439
+#: doc/tin.1:1475
 #, no-wrap
 msgid "B<AttachPipe 'p'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1442
+#: doc/tin.1:1478
 msgid "Pipe attachment into command."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1442
+#: doc/tin.1:1478
 #, no-wrap
 msgid "B<AttachSave 's'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1445
+#: doc/tin.1:1481
 msgid "Save current attachment / tagged attachments to disk."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1445
+#: doc/tin.1:1481
 #, no-wrap
 msgid "B<AttachSelect '^J' 'E<lt>CRE<gt>'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1448
+#: doc/tin.1:1484
 msgid "View attachment."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1448
+#: doc/tin.1:1484
 #, no-wrap
 msgid "B<AttachTag 't'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1451
+#: doc/tin.1:1487
 msgid "Tag one or more attachments for saving."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1451
+#: doc/tin.1:1487
 #, no-wrap
 msgid "B<AttachTagPattern '='>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1455
+#: doc/tin.1:1491
 msgid ""
 "Prompts for a pattern to match. All attachments whose name/description or "
 "content type/transfer encoding match the pattern will be tagged."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1455
+#: doc/tin.1:1491
 #, no-wrap
 msgid "B<AttachToggleTagged '@'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1458
+#: doc/tin.1:1494
 msgid "Reverse tagging of all attachments."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1458
+#: doc/tin.1:1494
 #, no-wrap
 msgid "B<AttachUntag 'U'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1461
+#: doc/tin.1:1497
 msgid "Untag all tagged attachments."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1464
+#: doc/tin.1:1500
 msgid "Attachment forward search."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1467
+#: doc/tin.1:1503
 msgid "Attachment backward search."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1470
+#: doc/tin.1:1506
 #, no-wrap
 msgid "B<GlobalPipe '|'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1473
+#: doc/tin.1:1509
 msgid "Pipe attachment into command. Uses the raw attachment, no decoding is done."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1480
+#: doc/tin.1:1516
 msgid ""
 "Toggle the display of the name/description of the current attachment in the "
 "last line."
@@ -3319,13 +3360,13 @@ msgstr ""
 
 #.  -------------------------------------------------------------------
 #. type: SS
-#: doc/tin.1:1490
+#: doc/tin.1:1526
 #, no-wrap
 msgid "POSTING HISTORY LISTING"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1498
+#: doc/tin.1:1534
 msgid ""
 "B<DisplayPostHist> ('B<W>') displays a list of all previous posted articles "
 "stored in I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/posted>. The following "
@@ -3337,13 +3378,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1499
+#: doc/tin.1:1535
 #, no-wrap
 msgid "B<PostedArticlesSelect '^J' 'E<lt>CRE<gt>'>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1510
+#: doc/tin.1:1546
 msgid ""
 "The article with the current ''Message-ID:'' will be opened if available.  "
 "Note that this requires that the ''Message-ID:'' of the article was recorded "
@@ -3356,13 +3397,13 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1525
+#: doc/tin.1:1561
 msgid "Toggle the display of the current ''Message-ID:'' in the last line."
 msgstr ""
 
 #.  -------------------------------------------------------------------
 #. type: SS
-#: doc/tin.1:1535
+#: doc/tin.1:1571
 #, no-wrap
 msgid "GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES"
 msgstr ""
@@ -3371,7 +3412,7 @@ msgstr ""
 #.        - \fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fR is used
 #.          in the !TIN_DEFAULTS_DIR config case
 #. type: Plain text
-#: doc/tin.1:1547
+#: doc/tin.1:1583
 msgid ""
 "At startup, B<tin> reads in the configuration files (see also "
 "B<\\%tin>(5)).  They contain a list of variables that can be used to "
@@ -3383,7 +3424,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1555
+#: doc/tin.1:1591
 msgid ""
 "The variables are user configurable by editing "
 "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc> directly. Most of them can also be "
@@ -3395,7 +3436,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1561
+#: doc/tin.1:1597
 msgid ""
 "In the options menu use the cursor keys in the usual way to move around. Use "
 "B<ConfigSelect> ('B<^J>' or 'B<E<lt>CRE<gt>>') to 'open' the option you wish "
@@ -3405,7 +3446,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1568
+#: doc/tin.1:1604
 msgid ""
 "As with the other menus, B<RedrawScr> ('B<^L>') will redraw the screen. You "
 "can use B<SearchSubjF> ('B</>'), B<SearchSubjB> ('B<?>') and B<SearchRepeat> "
@@ -3415,7 +3456,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1573
+#: doc/tin.1:1609
 msgid ""
 "The options menu provides access to the attributes menu for the current "
 "group by the B<ConfigToggleAttrib> ('B<E<lt>TABE<gt>>') command. Pressing "
@@ -3424,14 +3465,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1576
+#: doc/tin.1:1612
 msgid ""
 "The B<ConfigScopeMenu> ('B<S>') command brings up the scopes menu. For more "
 "information see section \"SCOPES MENU\"."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1580
+#: doc/tin.1:1616
 msgid ""
 "Here is a full list of all the available variables. The name in braces is "
 "the name of the corresponding setting in "
@@ -3439,173 +3480,173 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1580
+#: doc/tin.1:1616
 #, no-wrap
 msgid "B<Abbreviate long newsgroup names (abbreviate_groupname)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1586 doc/tin.5:1300
+#: doc/tin.1:1622
 msgid ""
 "If ON abbreviate long newsgroup names at group selection level and article "
-"level (if necessary) like this: news.software.readers -E<gt> "
-"n.software.readers -E<gt> n.s.readers -E<gt> n.s.r.  Default is OFF."
+"level (if necessary) like this: news.software.readers \\(-E<gt> "
+"n.software.readers \\(-E<gt> n.s.readers \\(-E<gt> n.s.r.  Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1586
+#: doc/tin.1:1622
 #, no-wrap
 msgid "B<Add posted articles to filter (add_posted_to_filter)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1590 doc/tin.5:1304
+#: doc/tin.1:1626 doc/tin.5:1351
 msgid ""
 "If ON add posted articles which start a new thread to filter for "
 "highlighting follow-ups. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1590
+#: doc/tin.1:1626
 #, no-wrap
 msgid "B<Insert 'User-Agent:'-header (advertising)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1593 doc/tin.5:1307
+#: doc/tin.1:1629 doc/tin.5:1354
 msgid "Turn ON advertising in header (''User-Agent:''). Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1593
+#: doc/tin.1:1629
 #, no-wrap
 msgid "B<Skip multipart/alternative parts (alternative_handling)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1596 doc/tin.5:1310
+#: doc/tin.1:1632 doc/tin.5:1357
 msgid "If ON strip multipart/alternative messages automatically. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1596
+#: doc/tin.1:1632
 #, no-wrap
 msgid "B<Character to show deleted articles (art_marked_deleted)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1599 doc/tin.5:1313
+#: doc/tin.1:1635 doc/tin.5:1360
 msgid "The character used to show that an article was deleted. Default is 'D'."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1599
+#: doc/tin.1:1635
 #, no-wrap
 msgid "B<Character to show inrange articles (art_marked_inrange)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1602 doc/tin.5:1316
+#: doc/tin.1:1638 doc/tin.5:1363
 msgid "The character used to show that an article is in a range. Default is '#'."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1602
+#: doc/tin.1:1638
 #, no-wrap
 msgid "B<Character to show returning arts (art_marked_return)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1606 doc/tin.5:1320
+#: doc/tin.1:1642 doc/tin.5:1367
 msgid ""
 "The character used to show that an article will return as an unread article "
 "when the group is next entered. Default is '-'."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1606
+#: doc/tin.1:1642
 #, no-wrap
 msgid "B<Character to show selected articles (art_marked_selected)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1610 doc/tin.5:1324
+#: doc/tin.1:1646 doc/tin.5:1371
 msgid ""
 "The character used to show that an article/thread is auto-selected (hot).  "
 "Default is '*'."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1610
+#: doc/tin.1:1646
 #, no-wrap
 msgid "B<Character to show recent articles (art_marked_recent)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1614 doc/tin.5:1328
+#: doc/tin.1:1650 doc/tin.5:1375
 msgid ""
 "The character used to show that an article/thread is recent (not older than "
 "X days). See also B<recent_time>. Default is 'o'."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1614
+#: doc/tin.1:1650
 #, no-wrap
 msgid "B<Character to show unread articles (art_marked_unread)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1618 doc/tin.5:1332
+#: doc/tin.1:1654 doc/tin.5:1379
 msgid ""
 "The character used to show that an article has not been read.  Default is "
 "'+'."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1618
+#: doc/tin.1:1654
 #, no-wrap
 msgid "B<Character to show read articles (art_marked_read)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1621 doc/tin.5:1335
+#: doc/tin.1:1657 doc/tin.5:1382
 msgid "The character used to show that an article was read. Default is ' '."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1621
+#: doc/tin.1:1657
 #, no-wrap
 msgid "B<Character to show killed articles (art_marked_killed)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1625 doc/tin.5:1339
+#: doc/tin.1:1661 doc/tin.5:1386
 msgid ""
 "The character used to show that an article was killed. Default is 'K'.  "
 "B<kill_level> must be set accordingly."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1625
+#: doc/tin.1:1661
 #, no-wrap
 msgid "B<Character to show read selected arts (art_marked_read_selected)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1629 doc/tin.5:1343
+#: doc/tin.1:1665 doc/tin.5:1390
 msgid ""
 "The character used to show that an article was hot before it was read.  "
 "Default is ':'. B<kill_level> must be set accordingly."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1629 doc/tin.5:1343
+#: doc/tin.1:1665 doc/tin.5:1390
 #, no-wrap
 msgid "B<Ask before using MIME viewer (ask_for_metamail)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1634
+#: doc/tin.1:1670
 msgid ""
 "If ON B<tin> will ask before using a MIME viewer (B<metamail_prog>) to "
 "display MIME messages. This only occurs if a MIME viewer is set. Default is "
@@ -3613,63 +3654,63 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1634
+#: doc/tin.1:1670
 #, no-wrap
 msgid "B<Format string for the Attachment level (attachment_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1639
+#: doc/tin.1:1675
 msgid ""
 "Format string B<tin> uses for Attachment level representation. See the "
 "section \"CUSTOMIZING THE SCREEN FORMAT\".  Default is \"%t%s%e%c%d\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1639
+#: doc/tin.1:1675
 #, no-wrap
 msgid "B<Send you a cc and/or bcc automatically (auto_cc_bcc)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1643 doc/tin.5:1360
+#: doc/tin.1:1679 doc/tin.5:1407
 msgid ""
 "Automatically put your name in the ''Cc:'' and/or ''Bcc:'' field when "
 "mailing an article. Default is No."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1643
+#: doc/tin.1:1679
 #, no-wrap
 msgid "B<List thread using right arrow key (auto_list_thread)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1647 doc/tin.5:1364
+#: doc/tin.1:1683 doc/tin.5:1411
 msgid ""
 "If ON automatically list thread when entering it using right arrow key.  "
 "Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1647
+#: doc/tin.1:1683
 #, no-wrap
 msgid "B<Reconnect to server automatically (auto_reconnect)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1650 doc/tin.1:2684
+#: doc/tin.1:1686 doc/tin.1:2736
 msgid "Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1650
+#: doc/tin.1:1686
 #, no-wrap
 msgid "B<Save articles in batch mode (batch_save)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1655 doc/tin.5:1372
+#: doc/tin.1:1691 doc/tin.5:1419
 msgid ""
 "If set ON articles/threads will be saved in batch mode when save "
 "\\&''B<-S>'' or mail ''B<-M>, B<-N>'' is specified on the command "
@@ -3677,13 +3718,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1655
+#: doc/tin.1:1691
 #, no-wrap
 msgid "B<Show mini menu & posting etiquette (beginner_level)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1660 doc/tin.5:1377
+#: doc/tin.1:1696 doc/tin.5:1424
 msgid ""
 "If set ON a mini menu of the most useful commands will be displayed at the "
 "bottom of the screen for each level. Also a short posting etiquette will be "
@@ -3691,13 +3732,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1660
+#: doc/tin.1:1696
 #, no-wrap
 msgid "B<Cache NNTP overview files locally (cache_overview_files)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1665
+#: doc/tin.1:1701
 msgid ""
 "If ON, create local copies of NNTP overview files. This can be used to "
 "considerably speed up accessing large groups when using a slow connection.  "
@@ -3705,359 +3746,374 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1665
+#: doc/tin.1:1701
+#, no-wrap
+msgid "B<Compress locally cached NNTP overview files (compress_overview_files)>"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.1:1706 doc/tin.5:1434
+msgid ""
+"If ON, locally cached NNTP overview files (B<cache_overview_files>) are "
+"saved in compressed form (B<RFC\\%1952>). Useful to reduce local disk space "
+"used. Default is OFF."
+msgstr ""
+
+#. type: TP
+#: doc/tin.1:1706
 #, no-wrap
 msgid "B<Hash algorithm for cancel-locks (cancel_lock_algo)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1671 doc/tin.5:1388
+#: doc/tin.1:1713
 msgid ""
 "Use this hash algorithm for cancel-locks. Only available when built with "
 "cancel-lock support. none disables the generation of cancel-locks. Valid "
-"values are none, sha1, sha256 and sha512.  Default is sha1."
+"values are none, sha1, sha256 and sha512.  Default is sha1. See also "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.cancelsecret> in B<\\%tin>(5)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1671
+#: doc/tin.1:1713
 #, no-wrap
 msgid "B<Catchup read groups when quitting (catchup_read_groups)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1677 doc/tin.5:1392
+#: doc/tin.1:1719 doc/tin.5:1444
 msgid ""
 "If set ON the user is asked when quitting if all groups read during the "
 "current session should be marked read. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1677
+#: doc/tin.1:1719
 #, no-wrap
 msgid "B<Standard background color (col_back)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1680 doc/tin.5:1395
+#: doc/tin.1:1722 doc/tin.5:1447
 msgid "Standard background color"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1680
+#: doc/tin.1:1722
 #, no-wrap
 msgid "B<Color of quoted text from external sources (col_extquote)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1683 doc/tin.5:1398
+#: doc/tin.1:1725 doc/tin.5:1450
 msgid "Color of quoted text from external sources"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1683
+#: doc/tin.1:1725
 #, no-wrap
 msgid "B<Color of sender (From:) (col_from)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1686 doc/tin.5:1401
+#: doc/tin.1:1728 doc/tin.5:1453
 msgid "Color of sender (From:)"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1686
+#: doc/tin.1:1728
 #, no-wrap
 msgid "B<Color of article header lines (col_head)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1689 doc/tin.5:1404
+#: doc/tin.1:1731 doc/tin.5:1456
 msgid "Color of header-lines"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1689
+#: doc/tin.1:1731
 #, no-wrap
 msgid "B<Color of help text (col_help)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1692 doc/tin.5:1407
+#: doc/tin.1:1734 doc/tin.5:1459
 msgid "Color of help pages"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1692
+#: doc/tin.1:1734
 #, no-wrap
 msgid "B<Color for inverse text (background) (col_invers_bg)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1695 doc/tin.5:1410
+#: doc/tin.1:1737 doc/tin.5:1462
 msgid "Color of background for inverse text"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1695
+#: doc/tin.1:1737
 #, no-wrap
 msgid "B<Color for inverse text (foreground) (col_invers_fg)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1698 doc/tin.5:1413
+#: doc/tin.1:1740 doc/tin.5:1465
 msgid "Color of foreground for inverse text"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1698
+#: doc/tin.1:1740
 #, no-wrap
 msgid "B<Color of status messages (col_message)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1701 doc/tin.5:1432
+#: doc/tin.1:1743 doc/tin.5:1484
 msgid "Color of status messages in last line"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1701
+#: doc/tin.1:1743
 #, no-wrap
 msgid "B<Color of highlighting with _dash_ (col_markdash)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1705 doc/tin.5:1417
+#: doc/tin.1:1747 doc/tin.5:1469
 msgid ""
 "Color of words emphasized like _this_. See also B<word_h_display_marks> and "
 "B<word_highlight>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1705
+#: doc/tin.1:1747
 #, no-wrap
 msgid "B<Color of highlighting with /slash/ (col_markslash)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1709 doc/tin.5:1421
+#: doc/tin.1:1751 doc/tin.5:1473
 msgid ""
 "Color of words emphasized like /this/. See also B<word_h_display_marks> and "
 "B<word_highlight>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1709
+#: doc/tin.1:1751
 #, no-wrap
 msgid "B<Color of highlighting with *stars* (col_markstar)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1713 doc/tin.5:1425
+#: doc/tin.1:1755 doc/tin.5:1477
 msgid ""
 "Color of words emphasized like *this*. See also B<word_h_display_marks> and "
 "B<word_highlight>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1713
+#: doc/tin.1:1755
 #, no-wrap
 msgid "B<Color of highlighting with -stroke- (col_markstroke)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1717 doc/tin.5:1429
+#: doc/tin.1:1759 doc/tin.5:1481
 msgid ""
 "Color of words emphasized like -this-. See also B<word_h_display_marks> and "
 "B<word_highlight>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1717
+#: doc/tin.1:1759
 #, no-wrap
 msgid "B<Color of mini help menu (col_minihelp)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1720 doc/tin.5:1435
+#: doc/tin.1:1762 doc/tin.5:1487
 msgid "Color of mini help menu"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1720
+#: doc/tin.1:1762
 #, no-wrap
 msgid "B<Color of actual news header fields (col_newsheaders)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1723 doc/tin.5:1438
+#: doc/tin.1:1765 doc/tin.5:1490
 msgid "Color of actual news header fields"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1723
+#: doc/tin.1:1765
 #, no-wrap
 msgid "B<Standard foreground color (col_normal)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1726 doc/tin.5:1441
+#: doc/tin.1:1768 doc/tin.5:1493
 msgid "Standard foreground color"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1726
+#: doc/tin.1:1768
 #, no-wrap
 msgid "B<Color of quoted lines (col_quote)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1729 doc/tin.5:1444
+#: doc/tin.1:1771 doc/tin.5:1496
 msgid "Color of quoted lines"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1729
+#: doc/tin.1:1771
 #, no-wrap
 msgid "B<Color of twice quoted line (col_quote2)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1732 doc/tin.5:1447
+#: doc/tin.1:1774 doc/tin.5:1499
 msgid "Color of twice quoted lines"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1732
+#: doc/tin.1:1774
 #, no-wrap
 msgid "B<Color of =E<gt>3 times quoted line (col_quote3)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1735 doc/tin.5:1450
+#: doc/tin.1:1777 doc/tin.5:1502
 msgid "Color of E<gt>=3 times quoted lines"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1735
+#: doc/tin.1:1777
 #, no-wrap
 msgid "B<Color of response counter (col_response)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1739 doc/tin.5:1454
+#: doc/tin.1:1781 doc/tin.5:1506
 msgid ""
 "Color of response counter. This is the text that says \"Response x of y\" in "
 "the article viewer."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1739
+#: doc/tin.1:1781
 #, no-wrap
 msgid "B<Color of signatures (col_signature)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1742 doc/tin.5:1457
+#: doc/tin.1:1784 doc/tin.5:1509
 msgid "Color of signatures"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1742
+#: doc/tin.1:1784
 #, no-wrap
 msgid "B<Color of negative score (col_score_neg)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1745 doc/tin.5:1460
+#: doc/tin.1:1787 doc/tin.5:1512
 msgid "Color of negative score"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1745
+#: doc/tin.1:1787
 #, no-wrap
 msgid "B<Color of positive score (col_score_pos)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1748 doc/tin.5:1463
+#: doc/tin.1:1790 doc/tin.5:1515
 msgid "Color of positive score"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1748
+#: doc/tin.1:1790
 #, no-wrap
 msgid "B<Color of urls highlight (col_urls)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1751 doc/tin.5:1466
+#: doc/tin.1:1793 doc/tin.5:1518
 msgid "Color of urls highlight"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1751
+#: doc/tin.1:1793
 #, no-wrap
 msgid "B<Color of verbatim blocks (col_verbatim)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1754 doc/tin.5:1469
+#: doc/tin.1:1796 doc/tin.5:1521
 msgid "Color of verbatim blocks"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1754
+#: doc/tin.1:1796
 #, no-wrap
 msgid "B<Color of article subject lines (col_subject)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1757 doc/tin.5:1472
+#: doc/tin.1:1799 doc/tin.5:1524
 msgid "Color of article subject"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1757
+#: doc/tin.1:1799
 #, no-wrap
 msgid "B<Color of text lines (col_text)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1760 doc/tin.5:1475
+#: doc/tin.1:1802 doc/tin.5:1527
 msgid "Color of text-lines"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1760
+#: doc/tin.1:1802
 #, no-wrap
 msgid "B<Color of help/mail sign (col_title)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1763 doc/tin.5:1478
+#: doc/tin.1:1805 doc/tin.5:1530
 msgid "Color of help/mail sign"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1763
+#: doc/tin.1:1805
 #, no-wrap
 msgid "B<Which actions require confirmation (confirm_choice)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1766
+#: doc/tin.1:1808
 msgid "Ask for manual confirmation to protect the user."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1767 doc/tin.1:1773 doc/tin.1:1777
+#: doc/tin.1:1809 doc/tin.1:1815 doc/tin.1:1819
 #, no-wrap
 msgid "\\(bu"
 msgstr ""
 
 #.  TODO: check if all affected commands are marked [after confirmation]
 #. type: Plain text
-#: doc/tin.1:1773
+#: doc/tin.1:1815
 msgid ""
 "B<commands> Ask for confirmation before executing certain dangerous commands "
 "(e.g., B<Catchup> ('B<c>')). Commands that this affects are marked in this "
@@ -4065,21 +4121,21 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1777
+#: doc/tin.1:1819
 msgid ""
 "B<quit> You'll be asked to confirm that you wish to exit B<tin> when you use "
 "the B<Quit> ('B<q>') command."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1781
+#: doc/tin.1:1823
 msgid ""
 "B<select> Ask for confirmation before marking all not selected (with "
 "B<GroupMarkUnselArtRead> ('B<X>') command) articles as read."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1782
+#: doc/tin.1:1824
 #, no-wrap
 msgid "B<Format string for display of dates (date_format)>"
 msgstr ""
@@ -4088,7 +4144,7 @@ msgstr ""
 #.  most of these default_* settings are not available from the menu
 #.  as they are intended for internal use only.
 #. type: Plain text
-#: doc/tin.1:1794
+#: doc/tin.1:1836
 msgid ""
 "Format string B<tin> uses for date representation. A description of the "
 "different format options can be found at B<\\%strftime>(3).  B<tin> uses "
@@ -4097,372 +4153,385 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1794
+#: doc/tin.1:1836
 #, no-wrap
 msgid "B<(default_art_search)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1796
+#: doc/tin.1:1838
 #, no-wrap
 msgid "B<(default_author_search)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1798
+#: doc/tin.1:1840
 #, no-wrap
 msgid "B<(default_config_search)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1801 doc/tin.5:1517
+#: doc/tin.1:1843 doc/tin.5:1569
 msgid "The last article/author/config option that was searched for."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1801
+#: doc/tin.1:1843
 #, no-wrap
 msgid "B<(default_filter_days)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1804 doc/tin.5:1520
+#: doc/tin.1:1846 doc/tin.5:1572
 msgid "Default is 28."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1804
+#: doc/tin.1:1846
 #, no-wrap
 msgid "B<(default_filter_kill_case)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1808 doc/tin.5:1524
+#: doc/tin.1:1850 doc/tin.5:1576
 msgid ""
 "Default for quick (1 key) kill filter case.  ON = filter case sensitive, OFF "
 "= ignore case. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1808
+#: doc/tin.1:1850
 #, no-wrap
 msgid "B<(default_filter_kill_expire)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1813 doc/tin.5:1529
+#: doc/tin.1:1855 doc/tin.5:1581
 msgid ""
 "Default for quick (1 key) kill filter expire.  ON = limit to "
 "B<default_filter_days>, OFF = don't ever expire. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1813
+#: doc/tin.1:1855
 #, no-wrap
 msgid "B<(default_filter_kill_global)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1817 doc/tin.5:1533
+#: doc/tin.1:1859 doc/tin.5:1585
 msgid ""
 "Default for quick (1 key) kill filter global.  ON=apply to all groups, "
 "OFF=apply to current group. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1817
+#: doc/tin.1:1859
 #, no-wrap
 msgid "B<(default_filter_kill_header)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1820 doc/tin.5:1536
+#: doc/tin.1:1862 doc/tin.5:1588
 msgid "Default for quick (1 key) kill filter header."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1821 doc/tin.1:1855 doc/tin.1:1998 doc/tin.1:2199 doc/tin.1:2259
-#: doc/tin.1:2378 doc/tin.1:2403 doc/tin.1:2419 doc/tin.1:2471 doc/tin.1:2501
-#: doc/tin.1:2579 doc/tin.1:2611 doc/tin.1:2636 doc/tin.1:2742 doc/tin.5:1724
-#: doc/tin.5:1919 doc/tin.5:1983 doc/tin.5:2133 doc/tin.5:2148 doc/tin.5:2181
-#: doc/tin.5:2231 doc/tin.5:2260 doc/tin.5:2331 doc/tin.5:2380 doc/tin.5:2407
-#: doc/tin.5:2522
+#: doc/tin.1:1863 doc/tin.1:1897 doc/tin.1:2044 doc/tin.1:2250 doc/tin.1:2310
+#: doc/tin.1:2430 doc/tin.1:2455 doc/tin.1:2471 doc/tin.1:2523 doc/tin.1:2553
+#: doc/tin.1:2631 doc/tin.1:2663 doc/tin.1:2688 doc/tin.1:2794 doc/tin.5:1780
+#: doc/tin.5:1980 doc/tin.5:2044 doc/tin.5:2096 doc/tin.5:2197 doc/tin.5:2212
+#: doc/tin.5:2245 doc/tin.5:2298 doc/tin.5:2327 doc/tin.5:2398 doc/tin.5:2447
+#: doc/tin.5:2474 doc/tin.5:2589
 #, no-wrap
 msgid "0"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1823 doc/tin.1:1857
+#: doc/tin.1:1865 doc/tin.1:1899
 msgid "\\%''Subject:'' (case sensitive)"
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1823 doc/tin.1:1857 doc/tin.1:2004 doc/tin.1:2201 doc/tin.1:2261
-#: doc/tin.1:2380 doc/tin.1:2407 doc/tin.1:2421 doc/tin.1:2473 doc/tin.1:2503
-#: doc/tin.1:2581 doc/tin.1:2613 doc/tin.1:2638 doc/tin.1:2744 doc/tin.5:1731
-#: doc/tin.5:1921 doc/tin.5:1985 doc/tin.5:2034 doc/tin.5:2137 doc/tin.5:2150
-#: doc/tin.5:2183 doc/tin.5:2233 doc/tin.5:2262 doc/tin.5:2333 doc/tin.5:2382
-#: doc/tin.5:2409 doc/tin.5:2524
+#: doc/tin.1:1865 doc/tin.1:1899 doc/tin.1:2050 doc/tin.1:2252 doc/tin.1:2312
+#: doc/tin.1:2432 doc/tin.1:2459 doc/tin.1:2473 doc/tin.1:2525 doc/tin.1:2555
+#: doc/tin.1:2633 doc/tin.1:2665 doc/tin.1:2690 doc/tin.1:2796 doc/tin.5:1787
+#: doc/tin.5:1982 doc/tin.5:2046 doc/tin.5:2098 doc/tin.5:2201 doc/tin.5:2214
+#: doc/tin.5:2247 doc/tin.5:2300 doc/tin.5:2329 doc/tin.5:2400 doc/tin.5:2449
+#: doc/tin.5:2476 doc/tin.5:2591
 #, no-wrap
 msgid "1"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1825 doc/tin.1:1859
+#: doc/tin.1:1867 doc/tin.1:1901
 msgid "\\%''Subject:'' (ignore case)"
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1825 doc/tin.1:1859 doc/tin.1:2009 doc/tin.1:2203 doc/tin.1:2265
-#: doc/tin.1:2383 doc/tin.1:2423 doc/tin.1:2475 doc/tin.1:2506 doc/tin.1:2583
-#: doc/tin.1:2615 doc/tin.1:2640 doc/tin.1:2746 doc/tin.5:1736 doc/tin.5:1923
-#: doc/tin.5:1989 doc/tin.5:2038 doc/tin.5:2153 doc/tin.5:2185 doc/tin.5:2235
-#: doc/tin.5:2265 doc/tin.5:2335 doc/tin.5:2384 doc/tin.5:2411 doc/tin.5:2526
+#: doc/tin.1:1867 doc/tin.1:1901 doc/tin.1:2055 doc/tin.1:2254 doc/tin.1:2316
+#: doc/tin.1:2435 doc/tin.1:2475 doc/tin.1:2527 doc/tin.1:2558 doc/tin.1:2635
+#: doc/tin.1:2667 doc/tin.1:2692 doc/tin.1:2798 doc/tin.5:1792 doc/tin.5:1984
+#: doc/tin.5:2050 doc/tin.5:2102 doc/tin.5:2217 doc/tin.5:2249 doc/tin.5:2302
+#: doc/tin.5:2332 doc/tin.5:2402 doc/tin.5:2451 doc/tin.5:2478 doc/tin.5:2593
 #, no-wrap
 msgid "2"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1827 doc/tin.1:1861
+#: doc/tin.1:1869 doc/tin.1:1903
 msgid "\\%''From:'' (case sensitive)"
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1827 doc/tin.1:1861 doc/tin.1:2205 doc/tin.1:2386 doc/tin.1:2426
-#: doc/tin.1:2477 doc/tin.1:2508 doc/tin.1:2585 doc/tin.1:2642 doc/tin.5:1925
-#: doc/tin.5:2156 doc/tin.5:2188 doc/tin.5:2237 doc/tin.5:2267 doc/tin.5:2337
-#: doc/tin.5:2413
+#: doc/tin.1:1869 doc/tin.1:1903 doc/tin.1:2256 doc/tin.1:2438 doc/tin.1:2478
+#: doc/tin.1:2529 doc/tin.1:2560 doc/tin.1:2637 doc/tin.1:2694 doc/tin.5:1986
+#: doc/tin.5:2220 doc/tin.5:2252 doc/tin.5:2304 doc/tin.5:2334 doc/tin.5:2404
+#: doc/tin.5:2480
 #, no-wrap
 msgid "3"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1829 doc/tin.1:1863
+#: doc/tin.1:1871 doc/tin.1:1905
 msgid "\\%''From:'' (ignore case)"
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1829 doc/tin.1:1863 doc/tin.1:2207 doc/tin.1:2479 doc/tin.1:2510
-#: doc/tin.1:2588 doc/tin.1:2644 doc/tin.5:1927 doc/tin.5:2044 doc/tin.5:2239
-#: doc/tin.5:2269 doc/tin.5:2339 doc/tin.5:2415
+#: doc/tin.1:1871 doc/tin.1:1905 doc/tin.1:2258 doc/tin.1:2531 doc/tin.1:2562
+#: doc/tin.1:2640 doc/tin.1:2696 doc/tin.5:1988 doc/tin.5:2108 doc/tin.5:2306
+#: doc/tin.5:2336 doc/tin.5:2406 doc/tin.5:2482
 #, no-wrap
 msgid "4"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1831 doc/tin.1:1865
+#: doc/tin.1:1873 doc/tin.1:1907
 msgid "\\%''Message-ID:'' & full ''References:'' line"
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1831 doc/tin.1:1865 doc/tin.1:2209 doc/tin.1:2481 doc/tin.1:2590
-#: doc/tin.1:2647 doc/tin.5:1929 doc/tin.5:2241 doc/tin.5:2341 doc/tin.5:2418
+#: doc/tin.1:1873 doc/tin.1:1907 doc/tin.1:2260 doc/tin.1:2533 doc/tin.1:2642
+#: doc/tin.1:2699 doc/tin.5:1990 doc/tin.5:2308 doc/tin.5:2408 doc/tin.5:2485
 #, no-wrap
 msgid "5"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1833 doc/tin.1:1867
+#: doc/tin.1:1875 doc/tin.1:1909
 msgid "\\%''Message-ID:'' & last ''References:'' entry only"
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1833 doc/tin.1:1867 doc/tin.1:2483 doc/tin.1:2649 doc/tin.5:2243
-#: doc/tin.5:2420
+#: doc/tin.1:1875 doc/tin.1:1909 doc/tin.1:2535 doc/tin.1:2701 doc/tin.5:2310
+#: doc/tin.5:2487
 #, no-wrap
 msgid "6"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1835 doc/tin.1:1869
+#: doc/tin.1:1877 doc/tin.1:1911
 msgid "\\%''Message-ID:'' entry only"
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:1835 doc/tin.1:1869 doc/tin.1:2486 doc/tin.1:2651 doc/tin.5:2246
-#: doc/tin.5:2422
+#: doc/tin.1:1877 doc/tin.1:1911 doc/tin.1:2538 doc/tin.1:2703 doc/tin.5:2313
+#: doc/tin.5:2489
 #, no-wrap
 msgid "7"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1837 doc/tin.1:1871
+#: doc/tin.1:1879 doc/tin.1:1913
 msgid "\\%''Lines:''"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1838
+#: doc/tin.1:1880
 #, no-wrap
 msgid "B<(default_filter_select_case)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1842 doc/tin.5:1553
+#: doc/tin.1:1884 doc/tin.5:1605
 msgid ""
 "Default for quick (1 key) auto-selection filter case. ON=filter case "
 "sensitive, OFF=ignore case. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1842
+#: doc/tin.1:1884
 #, no-wrap
 msgid "B<(default_filter_select_expire)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1847 doc/tin.5:1558
+#: doc/tin.1:1889 doc/tin.5:1610
 msgid ""
 "Default for quick (1 key) auto-selection filter expire.  ON = limit to "
 "B<default_filter_days>, OFF = don't ever expire.  Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1847
+#: doc/tin.1:1889
 #, no-wrap
 msgid "B<(default_filter_select_global)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1851 doc/tin.5:1562
+#: doc/tin.1:1893 doc/tin.5:1614
 msgid ""
 "Default for quick (1 key) auto-selection filter global.  ON=apply to all "
 "groups, OFF=apply to current group. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1851
+#: doc/tin.1:1893
 #, no-wrap
 msgid "B<(default_filter_select_header)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1854 doc/tin.5:1565
+#: doc/tin.1:1896 doc/tin.5:1617
 msgid "Default for quick (1 key) auto-selection filter header."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1872
+#: doc/tin.1:1914
 #, no-wrap
 msgid "B<(default_goto_group)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1874
+#: doc/tin.1:1916
 #, no-wrap
 msgid "B<(default_group_search)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1876
+#: doc/tin.1:1918
 #, no-wrap
 msgid "B<(default_mail_address)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1878
+#: doc/tin.1:1920
 #, no-wrap
 msgid "B<(default_move_group)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1880
+#: doc/tin.1:1922
 #, no-wrap
 msgid "B<(default_pattern)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1882
+#: doc/tin.1:1924
 #, no-wrap
 msgid "B<(default_pipe_command)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1884
+#: doc/tin.1:1926
 #, no-wrap
 msgid "B<(default_post_newsgroups)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1886
+#: doc/tin.1:1928
 #, no-wrap
 msgid "B<(default_post_subject)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1888
+#: doc/tin.1:1930
 #, no-wrap
 msgid "B<(default_range_group)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1890
+#: doc/tin.1:1932
 #, no-wrap
 msgid "B<(default_range_select)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1892
+#: doc/tin.1:1934
 #, no-wrap
 msgid "B<(default_range_thread)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1894
+#: doc/tin.1:1936
 #, no-wrap
 msgid "B<(default_repost_group)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1896
+#: doc/tin.1:1938
 #, no-wrap
 msgid "B<(default_save_file)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1898
+#: doc/tin.1:1940
 #, no-wrap
 msgid "B<(default_save_mode)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1900
+#: doc/tin.1:1942
 #, no-wrap
 msgid "B<(default_select_pattern)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1902
+#: doc/tin.1:1944
 #, no-wrap
 msgid "B<(default_shell_command)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1904
+#: doc/tin.1:1946
 #, no-wrap
 msgid "B<(default_subject_search)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1906
+#: doc/tin.1:1948
 #, no-wrap
-msgid "B<Draw -E<gt> instead of highlighted bar (draw_arrow)>"
+msgid "B<Don't break words when wrapping (dont_break_words)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1910 doc/tin.5:1616
+#: doc/tin.1:1952 doc/tin.5:1668
 msgid ""
-"Allows groups/articles to be selected by an arrow '-E<gt>' if set ON or by a "
-"highlighted bar if set OFF. Default is OFF."
+"Do not break long lines inside a word. This applies to the body except for "
+"verbatim blocks. See also B<wrap_column>. Default is OFF."
+msgstr ""
+
+#. type: TP
+#: doc/tin.1:1952
+#, no-wrap
+msgid "B<Draw \\(-E<gt> instead of highlighted bar (draw_arrow)>"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.1:1956
+msgid ""
+"Allows groups/articles to be selected by an arrow '\\(-E<gt>' if set ON or "
+"by a highlighted bar if set OFF. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1910
+#: doc/tin.1:1956
 #, no-wrap
 msgid "B<Invocation of your editor (editor_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1916
+#: doc/tin.1:1962
 msgid ""
 "The format string used to create the editor start command with parameters.  "
 "Default is '%E +%N %F' with %E=Editor, %N=Linenumber and %F=Filename (e.g., "
@@ -4471,24 +4540,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1916
+#: doc/tin.1:1962
 #, no-wrap
 msgid "B<Detection of external quotes (extquote_handling)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1919 doc/tin.5:1626
+#: doc/tin.1:1965 doc/tin.5:1682
 msgid "If ON quotes from external sources will be detected. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1919
+#: doc/tin.1:1965
 #, no-wrap
 msgid "B<Regex used to show external quotes (extquote_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1924
+#: doc/tin.1:1970
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_extquote>. If B<extquote_regex> is blank, "
@@ -4496,26 +4565,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1924
+#: doc/tin.1:1970
 #, no-wrap
 msgid "B<Force redraw after certain commands (force_screen_redraw)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1928 doc/tin.5:1637
+#: doc/tin.1:1974 doc/tin.5:1693
 msgid ""
 "Specifies whether a screen redraw should always be done after certain "
 "external commands. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1928
+#: doc/tin.1:1974
 #, no-wrap
 msgid "B<Number of articles to get (getart_limit)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1935
+#: doc/tin.1:1981
 msgid ""
 "If B<getart_limit> is E<gt> 0 not more than the last B<getart_limit> "
 "articles/group are fetched from the server. If B<getart_limit> is E<lt> 0 "
@@ -4524,24 +4593,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1935
+#: doc/tin.1:1981
 #, no-wrap
 msgid "B<Catchup group using left key (group_catchup_on_exit)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1938 doc/tin.5:1661
+#: doc/tin.1:1984 doc/tin.5:1717
 msgid "If ON catchup group when leaving with the left arrow key. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1938
+#: doc/tin.1:1984
 #, no-wrap
 msgid "B<Format string for the Group level (group_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1942
+#: doc/tin.1:1988
 msgid ""
 "Format string B<tin> uses for Group level representation. See the section "
 "\"CUSTOMIZING THE SCREEN FORMAT\". Default is \"%n\\ %m\\ %R\\ %L\\ \\ %s\\ "
@@ -4549,13 +4618,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1942
+#: doc/tin.1:1988
 #, no-wrap
 msgid "B<Go to the next unread article with (goto_next_unread)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1950
+#: doc/tin.1:1996
 msgid ""
 "Which keys B<tin> should accept to jump to the next unread article.  "
 "Possible is any combination of B<PageDown> and B<PageNextUnread>.  When "
@@ -4566,13 +4635,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1950
+#: doc/tin.1:1996
 #, no-wrap
 msgid "B<Display uue data as an attachment (hide_uue)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1960 doc/tin.5:1691
+#: doc/tin.1:2006 doc/tin.5:1747
 msgid ""
 "If set to 'No' then raw uuencoded data is displayed. If set to 'Yes' then "
 "sections of uuencoded data will be shown with a single tag line showing the "
@@ -4584,13 +4653,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1960
+#: doc/tin.1:2006
 #, no-wrap
 msgid "B<External inews (inews_prog)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1967 doc/tin.5:1698
+#: doc/tin.1:2013 doc/tin.5:1754
 msgid ""
 "Path, name and options of external B<\\%inews>(1).  If you are reading via "
 "NNTP the default value is \"--internal\" (use built-in NNTP inews), else it "
@@ -4599,13 +4668,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1967
+#: doc/tin.1:2013
 #, no-wrap
 msgid "B<(info_in_last_line)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1974 doc/tin.5:1704
+#: doc/tin.1:2020 doc/tin.5:1760
 msgid ""
 "If ON, show current group description or article subject in the last line "
 "(not in the pager and global menu) \\(em B<ToggleInfoLastLine> ('B<i>')  "
@@ -4614,16 +4683,16 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1974
+#: doc/tin.1:2020
 #, no-wrap
 msgid "B<Use interactive mail reader (interactive_mailer)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1981
+#: doc/tin.1:2027
 msgid ""
 "Interactive mailreader: if greater than 0 your mailreader will be invoked "
-"earlier for reply so you can use more of its features (e.g. MIME, pgp, "
+"earlier for reply so you can use more of its features (e.g., MIME, pgp, "
 "...). 1 means include headers, 2 means don't include headers (old "
 "use_mailreader_i=ON option). 0 turns off usage. This option has to suit "
 "B<mailer_format>. Default is 0."
@@ -4633,26 +4702,26 @@ msgstr ""
 #.        mono_mark* currently do allow "Reverse video" even if
 #.        inverse_okay=FALSE
 #. type: TP
-#: doc/tin.1:1981
+#: doc/tin.1:2027
 #, no-wrap
 msgid "B<Use inverse video for page headers (inverse_okay)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1988 doc/tin.5:1714
+#: doc/tin.1:2034 doc/tin.5:1770
 msgid ""
 "If ON use inverse video for page headers and URL highlighting.  Default is "
 "ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1988
+#: doc/tin.1:2034
 #, no-wrap
 msgid "B<Keep failed arts in ~/dead.articles (keep_dead_articles)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1993 doc/tin.5:1719
+#: doc/tin.1:2039 doc/tin.5:1775
 msgid ""
 "If ON keep all failed postings in I<${TIN_HOMEDIR:-\"$HOME\"}/dead.articles> "
 "besides keeping the last failed posting in "
@@ -4660,20 +4729,20 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:1993
+#: doc/tin.1:2039
 #, no-wrap
 msgid "B<Filter which articles (kill_level)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:1997
+#: doc/tin.1:2043
 msgid ""
 "This option controls the processing and display of articles that are "
 "killed.  There are 3 options:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2004
+#: doc/tin.1:2050
 msgid ""
 "B<Kill only unread arts> is the 'traditional' behavior of B<tin>. Only "
 "unread articles are killed once only by marking them read. As filtering only "
@@ -4683,7 +4752,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2009 doc/tin.5:1736
+#: doc/tin.1:2055 doc/tin.5:1792
 msgid ""
 "B<Kill all arts & show with K> will process all articles in the group and "
 "therefore there is a processing overhead when using this option. Killed "
@@ -4692,7 +4761,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2013 doc/tin.5:1740
+#: doc/tin.1:2059 doc/tin.5:1796
 msgid ""
 "B<Kill all arts and never show> will process all articles in the group and "
 "therefore there is a processing overhead when using this option. Killed "
@@ -4700,18 +4769,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2015
+#: doc/tin.1:2061
 msgid "Default is 0 (B<Kill only unread arts>)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2015
+#: doc/tin.1:2061
 #, no-wrap
 msgid "B<Use 8bit characters in mail headers (mail_8bit_header)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2021 doc/tin.5:1747
+#: doc/tin.1:2067 doc/tin.5:1803
 msgid ""
 "Allows 8bit characters unencoded in the header of mail message. Default is "
 "OFF. Turning it ON is effective only if B<mail_mime_encoding> is also set to "
@@ -4720,13 +4789,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2021
+#: doc/tin.1:2067
 #, no-wrap
 msgid "B<Mail address (mail_address)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2029
+#: doc/tin.1:2075
 msgid ""
 "User's mail address (and full name), if not username@host. This is used when "
 "creating articles, sending mail and when B<\\%pgp>(1)  / B<\\%gpg>(1)  "
@@ -4734,40 +4803,41 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2029
+#: doc/tin.1:2075
 #, no-wrap
 msgid "B<MIME encoding in mail messages (mail_mime_encoding)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2033 doc/tin.5:1757
+#: doc/tin.1:2079 doc/tin.5:1813
 msgid ""
 "MIME encoding of the body in mail message, if necessary (8bit, base64, "
 "quoted-printable, 7bit). Default is quoted-printable."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2033
+#: doc/tin.1:2079
 #, no-wrap
 msgid "B<Quote line when mailing (mail_quote_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2038 doc/tin.5:1762
+#: doc/tin.1:2085 doc/tin.5:1819
 msgid ""
 "Format of quote line when replying (via mail) to an article (%A=Address, "
 "%D=Date, %F=Fullname+Address, %G=Groupname, %M=Message-ID, %N=Fullname, "
-"%C=Firstname, %I=Initials). Default is \"In article %M you wrote:\""
+"%C=Firstname, %I=Initials). If the article has multiple addresses only the "
+"first is evaluated. Default is \"In article %M you wrote:\""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2038
+#: doc/tin.1:2085
 #, no-wrap
 msgid "B<Format of the mailbox (mailbox_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2048 doc/tin.5:1772
+#: doc/tin.1:2095 doc/tin.5:1829
 msgid ""
 "Select one of the following mailbox-formats: MBOXO (default, except on SCO), "
 "MBOXRD or MMDF (default on SCO). See B<\\%mbox>(5)  and B<RFC\\%4155> for "
@@ -4776,13 +4846,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2048
+#: doc/tin.1:2095
 #, no-wrap
 msgid "B<Mail directory (maildir)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2057 doc/tin.5:1781
+#: doc/tin.1:2104 doc/tin.5:1838
 msgid ""
 "The directory where articles/threads are to be saved in B<\\%mbox>(5)  "
 "format. This feature is mainly for use with the B<\\%mutt>(1)  mail "
@@ -4792,13 +4862,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2057
+#: doc/tin.1:2104
 #, no-wrap
 msgid "B<Invocation of your mail command (mailer_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2063 doc/tin.5:1787
+#: doc/tin.1:2110 doc/tin.5:1844
 msgid ""
 "The format string used to create the mailer command with parameters that is "
 "used for mailing articles to other people. Default is '%M \"%T\" E<lt> %F' "
@@ -4807,30 +4877,29 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2069 doc/tin.5:1793
+#: doc/tin.1:2115 doc/tin.5:1849
 #, no-wrap
 msgid ""
 "sendmail -oem -t E<lt> %F\n"
-"mutt -s \"%S\" -- \"%T\" E<lt> %F\n"
 "mutt -H %F\n"
 "claws-mail --compose \"mailto:%T?subject=%S&insert=%F\"\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2073 doc/tin.5:1797
+#: doc/tin.1:2119 doc/tin.5:1853
 msgid ""
 "B<interactive_mailer> must be set adequate. The following substitutions are "
 "supported:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:2075 doc/tin.5:1799
+#: doc/tin.1:2121 doc/tin.5:1855
 #, no-wrap
 msgid "\\w'%S'u +\\w'default_mailer'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2082 doc/tin.5:1806
+#: doc/tin.1:2128 doc/tin.5:1862
 #, no-wrap
 msgid ""
 "%F\tfilename\n"
@@ -4842,13 +4911,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2084
+#: doc/tin.1:2130
 #, no-wrap
 msgid "B<'Mark as (un)read' ignores tags (mark_ignore_tags)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2092 doc/tin.5:1819
+#: doc/tin.1:2138 doc/tin.5:1875
 msgid ""
 "When this is ON, the B<GroupMarkThdRead> ('B<K>'), B<ThreadMarkArtRead> "
 "('B<K>'), B<MarkThdUnread> ('B<Z>') at Group level and B<MarkArtUnread> "
@@ -4859,24 +4928,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2092
+#: doc/tin.1:2138
 #, no-wrap
 msgid "B<Mark saved articles/threads as read (mark_saved_read)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2095 doc/tin.5:1811
+#: doc/tin.1:2141 doc/tin.5:1867
 msgid "If ON mark articles that are saved as read. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2095
+#: doc/tin.1:2141
 #, no-wrap
 msgid "B<Viewer program for MIME articles (metamail_prog)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2107 doc/tin.5:1831
+#: doc/tin.1:2153 doc/tin.5:1887
 msgid ""
 "Path, name and options of external B<\\%metamail>(1)  program used to view "
 "non-textual parts of articles.  To use the built-in viewer, set to "
@@ -4887,13 +4956,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2107
+#: doc/tin.1:2153
 #, no-wrap
 msgid "B<MM_CHARSET (mm_charset)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2120 doc/tin.5:1844
+#: doc/tin.1:2168
 msgid ""
 "Charset supported locally, which is also used for MIME header (charset "
 "parameter and charset name in header encoding) in mail and news postings. If "
@@ -4902,36 +4971,37 @@ msgid ""
 "represented as '?'. Otherwise, all character sets are regarded as compatible "
 "with the display. If it's not set, the value of the environment variable "
 "$B<MM_CHARSET> is used. US-ASCII or compile-time default is used in case "
-"neither of them is defined. If your system supports B<\\%iconv>(3), this "
-"option is disabled and you should use B<mm_network_charset> instead."
+"neither of them is defined. If your system supports B<\\%iconv>(3), or "
+"B<\\%ucnv_*>(), this option is disabled and you should use "
+"B<mm_network_charset> instead."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2120
+#: doc/tin.1:2168
 #, no-wrap
 msgid "B<MM_NETWORK_CHARSET (mm_network_charset)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2131 doc/tin.5:1855
+#: doc/tin.1:2181
 msgid ""
 "Charset used for posting and MIME headers; replaces B<mm_charset>.  "
 "Conversion between B<mm_network_charset> and local charset (determined via "
-"B<\\%nl_langinfo>(3))  is done via B<\\%iconv>(3), if this function is not "
-"available on your system this option is disabled and you have to use "
-"B<mm_charset> instead. B<mm_network_charset> is limited to one of the "
-"following charsets:"
+"B<\\%nl_langinfo>(3))  is done via B<\\%iconv>(3), or B<\\%ucnv_*>(), if "
+"none of these functions are available on your system this option is disabled "
+"and you have to use B<mm_charset> instead. B<mm_network_charset> is limited "
+"to one of the following charsets:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2134 doc/tin.5:1858
+#: doc/tin.1:2184 doc/tin.5:1918
 msgid ""
 "US-ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8-{R,U,RU} "
 "EUC-{CN,JP,KR,TW}, ISO-2022-{CN,CN-EXT,JP,JP-1,JP-2}, Big5, UTF-8"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2140 doc/tin.5:1864
+#: doc/tin.1:2190 doc/tin.5:1924
 msgid ""
 "Not all values might work on your system, see B<\\%iconv_open>(3)  for more "
 "details. If it's not set, the value of the environment variable "
@@ -4940,13 +5010,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2140
+#: doc/tin.1:2190
 #, no-wrap
 msgid "B<Attribute of highlighting with _dash_ (mono_markdash)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2145 doc/tin.5:1869
+#: doc/tin.1:2195 doc/tin.5:1929
 msgid ""
 "Character attribute of words emphasized like _this_. It depends on your "
 "terminal which attributes are usable. See also B<word_h_display_marks> and "
@@ -4954,13 +5024,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2145
+#: doc/tin.1:2195
 #, no-wrap
 msgid "B<Attribute of highlighting with /slash/ (mono_markslash)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2150 doc/tin.5:1874
+#: doc/tin.1:2200 doc/tin.5:1934
 msgid ""
 "Character attribute of words emphasized like /this/. It depends on your "
 "terminal which attributes are usable. See also B<word_h_display_marks> and "
@@ -4968,13 +5038,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2150
+#: doc/tin.1:2200
 #, no-wrap
 msgid "B<Attribute of highlighting with *stars* (mono_markstar)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2155 doc/tin.5:1879
+#: doc/tin.1:2205 doc/tin.5:1939
 msgid ""
 "Character attribute of words emphasized like *this*. It depends on your "
 "terminal which attributes are usable. See also B<word_h_display_marks> and "
@@ -4982,13 +5052,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2155
+#: doc/tin.1:2205
 #, no-wrap
 msgid "B<Attribute of highlighting with -stroke- (mono_markstroke)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2160 doc/tin.5:1884
+#: doc/tin.1:2210 doc/tin.5:1944
 msgid ""
 "Character attribute of words emphasized like -this-. It depends on your "
 "terminal which attributes are usable. See also B<word_h_display_marks> and "
@@ -4996,26 +5066,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2160
+#: doc/tin.1:2210
 #, no-wrap
 msgid "B<(newnews)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2164
+#: doc/tin.1:2214
 msgid ""
 "These are internal timers used by B<tin> to keep track of new newsgroups.  "
 "Do not change them unless you understand what they are for."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2164
+#: doc/tin.1:2214
 #, no-wrap
 msgid "B<Display these header fields (or *) (news_headers_to_display)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2171 doc/tin.5:1897
+#: doc/tin.1:2221 doc/tin.5:1957
 msgid ""
 "Which news headers you wish to see. If you want to see _all_ the headers, "
 "place an '*' as this value. This is the only way a wildcard can be used.  If "
@@ -5025,13 +5095,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2171
+#: doc/tin.1:2221
 #, no-wrap
 msgid "B<Do not display these header fields (news_headers_to_not_display)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2180 doc/tin.5:1906
+#: doc/tin.1:2230 doc/tin.5:1966
 msgid ""
 "Same as B<news_headers_to_display> except it denotes the opposite. An "
 "example of using both options might be if you thought 'X-' headers were A "
@@ -5042,27 +5112,28 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2180
+#: doc/tin.1:2230
 #, no-wrap
 msgid "B<Quote line when following up (news_quote_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2185 doc/tin.5:1911
+#: doc/tin.1:2236 doc/tin.5:1972
 msgid ""
 "Format of quote line when posting/following up an article (%A=Address, "
 "%D=Date, %F=Fullname+Address, %G=Groupname, %M=Message-ID, %N=Fullname, "
-"%C=Firstname, %I=Initials). Default is \"%F wrote:\"."
+"%C=Firstname, %I=Initials). If the article has multiple addresses only the "
+"first is evaluated. Default is \"%F wrote:\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2185
+#: doc/tin.1:2236
 #, no-wrap
 msgid "B<NNTP read timeout in seconds (nntp_read_timeout_secs)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2194
+#: doc/tin.1:2245
 msgid ""
 "Time in seconds to wait for a response from the server. Default is 120.  "
 "Setting this to 0 means no timeout. As if you use the \"B<-C>\" option in "
@@ -5074,59 +5145,60 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2194
+#: doc/tin.1:2245
 #, no-wrap
 msgid "B<Unicode normalization form (normalization_form)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2198
+#: doc/tin.1:2249
 msgid ""
 "The normalization form B<tin> should use to normalize unicode input.  The "
 "possible values are:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2201 doc/tin.5:1921
+#: doc/tin.1:2252 doc/tin.5:1982
 msgid "B<None>: no normalization"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2203 doc/tin.5:1923
+#: doc/tin.1:2254 doc/tin.5:1984
 msgid "B<NFKC>: Compatibility Decomposition, followed by Canonical Composition"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2205 doc/tin.5:1925
+#: doc/tin.1:2256 doc/tin.5:1986
 msgid "B<NFKD>: Compatibility Decomposition"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2207 doc/tin.5:1927
+#: doc/tin.1:2258 doc/tin.5:1988
 msgid "B<NFC>: Canonical Decomposition, followed by Canonical Composition"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2209 doc/tin.5:1929
+#: doc/tin.1:2260 doc/tin.5:1990
 msgid "B<NFD>: Canonical Decomposition"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2211 doc/tin.5:1931
+#: doc/tin.1:2262 doc/tin.5:1992
 msgid ""
 "B<NFKC_CF>: Compatibility Decomposition, followed by Canonical Composition "
 "and Case Folding"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2215
+#: doc/tin.1:2266
 msgid ""
 "Some normalization modes are only available if they are supported by the "
-"library B<tin> uses to do the normalization. NFC should be used if possible."
+"library B<tin> uses to do the normalization. NFC should be used if possible "
+"(B<RFC\\%5198>)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2215
+#: doc/tin.1:2266
 #, no-wrap
 msgid ""
 "B<Format string for the display of mime header at Article level "
@@ -5134,7 +5206,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2220
+#: doc/tin.1:2271
 msgid ""
 "Format string B<tin> uses for mime header at Page level. See the section "
 "\"CUSTOMIZING THE SCREEN FORMAT\".  Default is \"[-- %T%S%*n%z%*l%!c%!d%*e "
@@ -5142,7 +5214,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2220
+#: doc/tin.1:2271
 #, no-wrap
 msgid ""
 "B<Format string for the display of uue header at Article level "
@@ -5150,33 +5222,33 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2225
+#: doc/tin.1:2276
 msgid ""
 "Format string B<tin> uses for uue header at Page level. See the section "
 "\"CUSTOMIZING THE SCREEN FORMAT\".  Default is \"[-- %T%S%*n%I%!d%*e --]\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2225
+#: doc/tin.1:2276
 #, no-wrap
 msgid "B<Go to first unread article in group (pos_first_unread)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2229 doc/tin.5:1952
+#: doc/tin.1:2280 doc/tin.5:2013
 msgid ""
 "If ON put cursor at first unread article in group otherwise at last "
 "article. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2229
+#: doc/tin.1:2280
 #, no-wrap
 msgid "B<Use 8bit characters in news headers (post_8bit_header)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2240 doc/tin.5:1963
+#: doc/tin.1:2291 doc/tin.5:2024
 msgid ""
 "Allows 8bit characters unencoded in the header of a news article, if set "
 "this also disables the generation of MIME-headers when they are usually "
@@ -5189,13 +5261,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2240
+#: doc/tin.1:2291
 #, no-wrap
 msgid "B<MIME encoding in news messages (post_mime_encoding)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2245 doc/tin.5:1968
+#: doc/tin.1:2296 doc/tin.5:2029
 msgid ""
 "MIME encoding of the body in news message, if necessary. (8bit, base64, "
 "quoted-printable, 7bit). Default is 8bit, which leads to no encoding.  "
@@ -5203,13 +5275,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2245
+#: doc/tin.1:2296
 #, no-wrap
 msgid "B<View post-processed files (post_process_view)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2252
+#: doc/tin.1:2303
 msgid ""
 "If ON, then B<tin> will start an appropriate viewer program to display any "
 "files that were post processed and uudecoded. The program is determined "
@@ -5217,13 +5289,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2252
+#: doc/tin.1:2303
 #, no-wrap
 msgid "B<Post process saved articles (post_process_type)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2258 doc/tin.5:1982
+#: doc/tin.1:2309 doc/tin.5:2043
 msgid ""
 "This specifies whether to perform post processing on saved articles.  "
 "Because the shell archive may contain commands you may not want to be "
@@ -5232,28 +5304,28 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2261 doc/tin.5:1985
+#: doc/tin.1:2312 doc/tin.5:2046
 msgid "B<No> (default), no post processing is done."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2265 doc/tin.5:1989
+#: doc/tin.1:2316 doc/tin.5:2050
 msgid "B<Shell archives>, unpacking of multi-part B<\\%shar>(1)  files only."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2267 doc/tin.5:1991
+#: doc/tin.1:2318 doc/tin.5:2052
 msgid "B<Yes>, binary attachments and data will be decoded and saved."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2268
+#: doc/tin.1:2319
 #, no-wrap
 msgid "B<Filename to be used for storing posted articles (posted_articles_file)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2276 doc/tin.5:2000
+#: doc/tin.1:2327 doc/tin.5:2061
 msgid ""
 "Keep posted articles in given file. If the given filename does not contain "
 "any expandable strings it will be prefixed with "
@@ -5264,26 +5336,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2276
+#: doc/tin.1:2327
 #, no-wrap
 msgid "B<Print all headers when printing (print_header)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2280 doc/tin.5:2004
+#: doc/tin.1:2331 doc/tin.5:2065
 msgid ""
 "If ON, then the full article header is sent to the printer. Otherwise only "
 "the ''Subject:'' and ''From:'' fields are output. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2280
+#: doc/tin.1:2331
 #, no-wrap
 msgid "B<Printer program with options (printer)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2289
+#: doc/tin.1:2340
 msgid ""
 "The printer program with options that is to be used to print articles.  The "
 "default is B<\\%lpr>(1)  for BSD machines and B<\\%lp>(1)  for SysV "
@@ -5292,53 +5364,54 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2289
+#: doc/tin.1:2340
 #, no-wrap
 msgid "B<Process only unread articles (process_only_unread)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2293 doc/tin.5:2018
+#: doc/tin.1:2344 doc/tin.5:2079
 msgid ""
 "If ON only save/print/pipe/mail unread articles (tagged articles excepted).  "
 "Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2293
+#: doc/tin.1:2344
 #, no-wrap
 msgid "B<Show empty Followup-To in editor (prompt_followupto)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2297
+#: doc/tin.1:2348
 msgid ""
 "If ON show empty ''Followup-To:'' header when editing an article. Default is "
 "OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2297
+#: doc/tin.1:2348
 #, no-wrap
 msgid "B<Characters used as quote-marks (quote_chars)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2302 doc/tin.5:2027
+#: doc/tin.1:2354 doc/tin.5:2089
 msgid ""
 "The character used in quoting included text to article followups and mail "
 "replies. The '_' character represents a blank character and is replaced with "
-"' ' when read, %I is replaced by author's initials. Default is 'E<gt>_'."
+"' ' when read, %I is replaced by author's initials. If the article has "
+"multiple addresses only the first is evaluated. Default is 'E<gt>_'."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2302
+#: doc/tin.1:2354
 #, no-wrap
 msgid "B<Quoting behavior (quote_style)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2309
+#: doc/tin.1:2361
 msgid ""
 "How articles should be quoted when following up or replying to them. There "
 "are a number of things that can be done: empty lines can be quoted, "
@@ -5349,7 +5422,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2313
+#: doc/tin.1:2365
 msgid ""
 "When you are viewing an article in raw mode ('B<^H>'), and follow up or "
 "reply to it, the signature will be quoted even if it would otherwise not "
@@ -5357,13 +5430,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2313
+#: doc/tin.1:2365
 #, no-wrap
 msgid "B<Regex used to show quoted lines (quote_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2318
+#: doc/tin.1:2370
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote>. If B<quote_regex> is blank, then "
@@ -5371,13 +5444,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2318
+#: doc/tin.1:2370
 #, no-wrap
 msgid "B<Regex used to show twice quoted l. (quote_regex2)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2323
+#: doc/tin.1:2375
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote2>. If B<quote_regex2> is blank, then "
@@ -5385,13 +5458,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2323
+#: doc/tin.1:2375
 #, no-wrap
 msgid "B<Regex used to show E<gt>= 3 times q.l. (quote_regex3)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2328
+#: doc/tin.1:2380
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote3>. If B<quote_regex3> is blank, then "
@@ -5399,39 +5472,39 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2328
+#: doc/tin.1:2380
 #, no-wrap
 msgid "B<Article recentness time limit (recent_time)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2332 doc/tin.5:2072
+#: doc/tin.1:2384 doc/tin.5:2136
 msgid ""
 "If set to 0, this feature is deactivated, otherwise it means the number of "
 "days. Default is 2."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2332
+#: doc/tin.1:2384
 #, no-wrap
 msgid "B<Render BiDi (render_bidi)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2336
+#: doc/tin.1:2388
 msgid ""
 "If ON B<tin> does the rendering of bi-directional text. If OFF B<tin> leaves "
 "the rendering of bi-directional text to the terminal. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2336
+#: doc/tin.1:2388
 #, no-wrap
 msgid "B<Interval in seconds to reread active (reread_active_file_secs)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2341 doc/tin.5:2084
+#: doc/tin.1:2393 doc/tin.5:2148
 msgid ""
 "The news I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file is "
 "reread at regular intervals to show if any new news has arrived. Default is "
@@ -5439,78 +5512,78 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2341
+#: doc/tin.1:2393
 #, no-wrap
 msgid "B<Directory to save arts/threads in (savedir)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2345 doc/tin.5:2088
+#: doc/tin.1:2397 doc/tin.5:2152
 msgid ""
 "Directory where articles/threads are saved. Default is "
 "I<${TIN_HOMEDIR:-\"$HOME\"}/News>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2345
+#: doc/tin.1:2397
 #, no-wrap
 msgid "B<Score limit (kill) (score_limit_kill)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2349 doc/tin.5:2092
+#: doc/tin.1:2401 doc/tin.5:2156
 msgid ""
 "If the score of an article is below or equal this value the article gets "
 "marked as killed."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2349
+#: doc/tin.1:2401
 #, no-wrap
 msgid "B<Score limit (select) (score_limit_select)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2353 doc/tin.5:2096
+#: doc/tin.1:2405 doc/tin.5:2160
 msgid ""
 "If the score of an article is above or equal this value the article gets "
 "marked as hot."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2353
+#: doc/tin.1:2405
 #, no-wrap
 msgid "B<Default score to kill articles (score_kill)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2357 doc/tin.5:2100
+#: doc/tin.1:2409 doc/tin.5:2164
 msgid ""
 "Score of an article which should be killed, this must be E<lt>= "
 "B<score_limit_kill>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2357
+#: doc/tin.1:2409
 #, no-wrap
 msgid "B<Default score to select articles (score_select)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2361 doc/tin.5:2104
+#: doc/tin.1:2413 doc/tin.5:2168
 msgid ""
 "Score of an article which should be marked hot, this must be E<gt>= "
 "B<score_limit_select>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2361
+#: doc/tin.1:2413
 #, no-wrap
 msgid "B<Number of lines to scroll in pager (scroll_lines)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2369
+#: doc/tin.1:2421
 msgid ""
 "The number of lines that will be scrolled up/down in the article pager when "
 "using cursor-up/down. The default is 1 (line-by-line). Set to 0 to get "
@@ -5521,13 +5594,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2369
+#: doc/tin.1:2421
 #, no-wrap
 msgid "B<Format string for the Selection level (select_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2373
+#: doc/tin.1:2425
 msgid ""
 "Format string B<tin> uses for Selection level representation. See the "
 "section \"CUSTOMIZING THE SCREEN FORMAT\". Default is \"%f\\ %n\\ %U\\ \\ "
@@ -5535,52 +5608,52 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2373
+#: doc/tin.1:2425
 #, no-wrap
 msgid "B<In group and thread level, show author by (show_author)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2377 doc/tin.5:2147
+#: doc/tin.1:2429 doc/tin.5:2211
 msgid ""
 "Which information about the author should be shown. Default is 2, authors "
 "full name."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2380 doc/tin.5:2150
+#: doc/tin.1:2432 doc/tin.5:2214
 msgid "B<None>, only the ''Subject:'' line will be displayed."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2383 doc/tin.5:2153
+#: doc/tin.1:2435 doc/tin.5:2217
 msgid ""
 "B<Address>, ''Subject:'' line & the address part of the ''From:'' line are "
 "displayed."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2386 doc/tin.5:2156
+#: doc/tin.1:2438 doc/tin.5:2220
 msgid ""
 "B<Full Name>, ''Subject:'' line & the authors full name part of the "
 "\\&''From:'' line are displayed (default)."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2389 doc/tin.5:2159
+#: doc/tin.1:2441 doc/tin.5:2223
 msgid ""
 "B<Address and Name>, ''Subject:'' line & all of the ''From:'' line are "
 "displayed."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2390
+#: doc/tin.1:2442
 #, no-wrap
 msgid "B<Show description of each newsgroup (show_description)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2399
+#: doc/tin.1:2451
 msgid ""
 "If ON show a short group description text after newsgroup name at the group "
 "selection level. The ''B<-d>'' command-line flag will override the setting "
@@ -5591,134 +5664,134 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2399
+#: doc/tin.1:2451
 #, no-wrap
 msgid "B<Function for sorting articles (sort_function)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2402 doc/tin.5:2132
+#: doc/tin.1:2454 doc/tin.5:2196
 msgid "Function used for sorting articles. Default is 0."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2407 doc/tin.5:2137
+#: doc/tin.1:2459 doc/tin.5:2201
 msgid "Use B<\\%qsort>(3)  for sorting."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2412 doc/tin.5:2142
+#: doc/tin.1:2464 doc/tin.5:2206
 msgid ""
 "Use B<\\%heapsort>(3)  for sorting. This might be faster in large groups "
 "with long threads (somewhat presorted data)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2413
+#: doc/tin.1:2465
 #, no-wrap
 msgid "B<Show help/mail sign in level titles (show_help_mail_sign)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2418
+#: doc/tin.1:2470
 msgid ""
 "Allows you to select whether B<tin> shows a help indication, a new mail "
 "indication, both, or neither in the various level titles.  Default is 3."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2421 doc/tin.5:2183
+#: doc/tin.1:2473 doc/tin.5:2247
 msgid "B<Don't show help or mail sign>."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2423 doc/tin.5:2185
+#: doc/tin.1:2475 doc/tin.5:2249
 msgid "B<Show only help sign>."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2426 doc/tin.5:2188
+#: doc/tin.1:2478 doc/tin.5:2252
 msgid ""
 "B<Show only mail sign if new mail>, show only the mail sign, and only if new "
 "mail has arrived."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2429 doc/tin.5:2191
+#: doc/tin.1:2481 doc/tin.5:2255
 msgid ""
 "B<Show mail if new mail else help s.>, show mail sign if new mail has "
 "arrived otherwise show help sign."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2430
+#: doc/tin.1:2482
 #, no-wrap
 msgid "B<Show only unread articles (show_only_unread_arts)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2434 doc/tin.5:2196
+#: doc/tin.1:2486 doc/tin.5:2260
 msgid ""
 "If ON show only new/unread articles otherwise show all articles.  Default is "
 "ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2434
+#: doc/tin.1:2486
 #, no-wrap
 msgid "B<Show only groups with unread arts (show_only_unread_groups)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2438 doc/tin.5:2200
+#: doc/tin.1:2490 doc/tin.5:2264
 msgid ""
 "If ON show only subscribed groups that contain unread articles. Default is "
 "OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2438
+#: doc/tin.1:2490
 #, no-wrap
 msgid "B<Display signatures (show_signatures)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2441 doc/tin.5:2203
+#: doc/tin.1:2493 doc/tin.5:2267
 msgid "If OFF don't show signatures when displaying articles. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2441
+#: doc/tin.1:2493
 #, no-wrap
 msgid "B<Display score (show_art_score)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2445 doc/tin.5:2164
+#: doc/tin.1:2497 doc/tin.5:2228
 msgid ""
 "If ON show article score in the lower left corner when displaying articles.  "
 "Default is OFF. See also B<col_score_neg> and B<col_score_pos>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2445
+#: doc/tin.1:2497
 #, no-wrap
 msgid "B<Prepend signature with '\\en-- \\en' (sigdashes)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2448 doc/tin.5:2206
+#: doc/tin.1:2500 doc/tin.5:2270
 msgid "If ON prepend the signature with sigdashes. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2448
+#: doc/tin.1:2500
 #, no-wrap
 msgid "B<Create signature from path/command (sigfile)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2458 doc/tin.5:2216
+#: doc/tin.1:2510
 msgid ""
 "The path that specifies the signature file to use when posting, following up "
 "to or replying to an article. If the path is a directory then the signature "
@@ -5731,24 +5804,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2458
+#: doc/tin.1:2510
 #, no-wrap
 msgid "B<Add signature when reposting (signature_repost)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2461 doc/tin.5:2219
+#: doc/tin.1:2513 doc/tin.5:2286
 msgid "If ON add signature to reposted articles. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2461
+#: doc/tin.1:2513
 #, no-wrap
 msgid "B<Regex used to highlight /slashes/ (slashes_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2466
+#: doc/tin.1:2518
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markslash> or B<mono_markslash>. If "
@@ -5756,141 +5829,141 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2466
+#: doc/tin.1:2518
 #, no-wrap
 msgid "B<Sort articles by (sort_article_type)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2470 doc/tin.5:2230
+#: doc/tin.1:2522 doc/tin.5:2297
 msgid ""
 "This specifies how articles should be sorted. Sort by ascending Date (6) is "
 "the default. The following sort types are allowed:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2473 doc/tin.5:2233
+#: doc/tin.1:2525 doc/tin.5:2300
 msgid "B<Nothing>, don't sort articles."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2475 doc/tin.5:2235
+#: doc/tin.1:2527 doc/tin.5:2302
 msgid "B<Subject: (descending)>, sort articles by ''Subject:'' field descending."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2477 doc/tin.5:2237
+#: doc/tin.1:2529 doc/tin.5:2304
 msgid "B<Subject: (ascending)>, sort articles by ''Subject:'' field ascending."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2479 doc/tin.5:2239
+#: doc/tin.1:2531 doc/tin.5:2306
 msgid "B<From: (descending)>, sort articles by ''From:'' field descending."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2481 doc/tin.5:2241
+#: doc/tin.1:2533 doc/tin.5:2308
 msgid "B<From: (ascending)>, sort articles by ''From:'' field ascending."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2483 doc/tin.5:2243
+#: doc/tin.1:2535 doc/tin.5:2310
 msgid "B<Date: (descending)>, sort articles by ''Date:'' field descending."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2486 doc/tin.5:2246
+#: doc/tin.1:2538 doc/tin.5:2313
 msgid "B<Date: (ascending)>, sort articles by ''Date:'' field ascending (default)."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2488 doc/tin.5:2248
+#: doc/tin.1:2540 doc/tin.5:2315
 msgid "B<Score (descending)>, sort articles by filtering score descending."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:2488 doc/tin.5:2248
+#: doc/tin.1:2540 doc/tin.5:2315
 #, no-wrap
 msgid "8"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2490 doc/tin.5:2250
+#: doc/tin.1:2542 doc/tin.5:2317
 msgid "B<Score (ascending)>, sort articles by filtering score ascending."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:2490 doc/tin.5:2250
+#: doc/tin.1:2542 doc/tin.5:2317
 #, no-wrap
 msgid "9"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2492 doc/tin.5:2252
+#: doc/tin.1:2544 doc/tin.5:2319
 msgid "B<Lines: (descending)>, sort articles by ''Lines:'' field descending."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:2492 doc/tin.5:2252
+#: doc/tin.1:2544 doc/tin.5:2319
 #, no-wrap
 msgid "10"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2494 doc/tin.5:2254
+#: doc/tin.1:2546 doc/tin.5:2321
 msgid "B<Lines: (ascending)>, sort articles by ''Lines:'' field ascending."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2495
+#: doc/tin.1:2547
 #, no-wrap
 msgid "B<Sort threads by (sort_threads_type)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2500 doc/tin.5:2259
+#: doc/tin.1:2552 doc/tin.5:2326
 msgid ""
 "This specifies how threads will be sorted. Sort by descending Score (1) is "
 "the default. The following sort types are allowed:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2503 doc/tin.5:2262
+#: doc/tin.1:2555 doc/tin.5:2329
 msgid "B<Nothing>, don't sort threads."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2506 doc/tin.5:2265
+#: doc/tin.1:2558 doc/tin.5:2332
 msgid "B<Score (descending)>, sort threads by filtering score descending (default)."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2508 doc/tin.5:2267
+#: doc/tin.1:2560 doc/tin.5:2334
 msgid "B<Score (ascending)>, sort threads by filtering score ascending."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2510 doc/tin.5:2269
+#: doc/tin.1:2562 doc/tin.5:2336
 msgid ""
 "B<Last posting date (descending)>, sort threads by date of last posting "
 "descending."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2512 doc/tin.5:2271
+#: doc/tin.1:2564 doc/tin.5:2338
 msgid ""
 "B<Last posting date (ascending)>, sort threads by date of last posting "
 "ascending."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2513
+#: doc/tin.1:2565
 #, no-wrap
 msgid "B<Spamtrap warning address parts (spamtrap_warning_addresses)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2518 doc/tin.5:2277
+#: doc/tin.1:2570 doc/tin.5:2344
 msgid ""
 "Set this option to a list of comma-separated strings to be warned if you are "
 "replying to an article by mail where the e-mail address contains one of "
@@ -5898,18 +5971,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2520 doc/tin.5:2279
+#: doc/tin.1:2572 doc/tin.5:2346
 msgid "I<spam,delete,remove>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2520
+#: doc/tin.1:2572
 #, no-wrap
 msgid "B<Regex used to highlight *stars* (stars_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2525
+#: doc/tin.1:2577
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markstar> or B<mono_markstar>. If "
@@ -5917,26 +5990,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2525
+#: doc/tin.1:2577
 #, no-wrap
 msgid "B<Strip blanks of end of lines (strip_blanks)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2531 doc/tin.5:2290
+#: doc/tin.1:2583 doc/tin.5:2357
 msgid ""
 "Strips the blanks from the end of each line therefore speeding up the "
 "display when reading on a slow terminal or via modem. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2531
+#: doc/tin.1:2583
 #, no-wrap
 msgid "B<Remove bogus groups from newsrc (strip_bogus)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2540 doc/tin.5:2299
+#: doc/tin.1:2592 doc/tin.5:2366
 msgid ""
 "Bogus groups are groups that are present in your "
 "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file that no longer exist on the news "
@@ -5948,52 +6021,52 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2540
+#: doc/tin.1:2592
 #, no-wrap
 msgid "B<No unsubscribed groups in newsrc (strip_newsrc)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2544 doc/tin.5:2303
+#: doc/tin.1:2596 doc/tin.5:2370
 msgid ""
 "If ON, then unsubscribed groups will be permanently removed from your "
 "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2544
+#: doc/tin.1:2596
 #, no-wrap
 msgid "B<Regex with Subject prefixes (strip_re_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2550
+#: doc/tin.1:2602
 msgid ""
 "A regular expression to find Subject prefixes like \"Re:\" to remove.  If "
 "B<strip_re_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2550
+#: doc/tin.1:2602
 #, no-wrap
 msgid "B<Regex with Subject suffixes (strip_was_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2556 doc/tin.5:2315
+#: doc/tin.1:2608 doc/tin.5:2382
 msgid ""
 "A regular expression to find Subject suffixes like \"(was:\" to remove.  If "
 "B<strip_was_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2556
+#: doc/tin.1:2608
 #, no-wrap
 msgid "B<Regex used to highlight -strokes- (strokes_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2561
+#: doc/tin.1:2613
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markstroke> or B<mono_markstroke>.  If "
@@ -6001,13 +6074,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2561
+#: doc/tin.1:2613
 #, no-wrap
 msgid "B<Wrap around threads on next unread (wrap_on_next_unread)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2566 doc/tin.5:2553
+#: doc/tin.1:2618 doc/tin.5:2620
 msgid ""
 "If enabled a search for the next unread article will wrap around all "
 "articles to find also previous unread articles. If disabled the search stops "
@@ -6015,26 +6088,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2566
+#: doc/tin.1:2618
 #, no-wrap
 msgid "B<Display \"a as Umlaut-a (tex2iso_conv)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2570
+#: doc/tin.1:2622
 msgid ""
 "If ON, show \"a as Umlaut-a, etc. Default is OFF. This behavior can also be "
 "toggled in the article viewer via B<PageToggleTex2iso> ('B<\">')."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2570
+#: doc/tin.1:2622
 #, no-wrap
 msgid "B<Thread articles by (thread_articles)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2578
+#: doc/tin.1:2630
 msgid ""
 "Defines which threading method to use. It's possible to set the threading "
 "type on a per group basis by setting the group attribute variable "
@@ -6045,60 +6118,60 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2581
+#: doc/tin.1:2633
 msgid "B<None>, don't thread."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2583
+#: doc/tin.1:2635
 msgid "B<Subject>, thread on ''Subject:'' only."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2585
+#: doc/tin.1:2637
 msgid "B<References>, thread on ''References:'' only."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2588
+#: doc/tin.1:2640
 msgid ""
 "B<Both Subject and References>, thread on ''References:'' then "
 "\\&''Subject:'' (default)."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2590
+#: doc/tin.1:2642
 msgid "B<Multipart Subject>, thread multipart articles on ''Subject:''."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2593
+#: doc/tin.1:2645
 msgid ""
 "B<Percentage Match>, thread base upon a partial character match on "
 "\\&''Subject:''."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2594
+#: doc/tin.1:2646
 #, no-wrap
 msgid "B<Catchup thread by using left key (thread_catchup_on_exit)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2598 doc/tin.5:2375
+#: doc/tin.1:2650 doc/tin.5:2442
 msgid ""
 "If ON catchup group/thread when leaving with the left arrow key. Default is "
 "ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2598
+#: doc/tin.1:2650
 #, no-wrap
 msgid "B<Format string for the Thread level (thread_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2602
+#: doc/tin.1:2654
 msgid ""
 "Format string B<tin> uses for Thread level representation. See the section "
 "\"CUSTOMIZING THE SCREEN FORMAT\". Default is \"%n\\ %m\\ \\ [%L]\\ \\ %T\\ "
@@ -6106,67 +6179,67 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2602
+#: doc/tin.1:2654
 #, no-wrap
 msgid "B<Matchingness of a thread (thread_perc)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2606
+#: doc/tin.1:2658
 msgid ""
 "How closely the subjects must match for two threads to be considered part of "
 "the same thread. This is a percentage and the default if 75%."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2606
+#: doc/tin.1:2658
 #, no-wrap
 msgid "B<Score of a thread (thread_score)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2610 doc/tin.5:2379
+#: doc/tin.1:2662 doc/tin.5:2446
 msgid ""
 "How the total score of a thread is computed. Default is 0, the maximum score "
 "in this thread."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2613 doc/tin.5:2382
+#: doc/tin.1:2665 doc/tin.5:2449
 msgid "B<Max>, the maximum score in this thread."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2615 doc/tin.5:2384
+#: doc/tin.1:2667 doc/tin.5:2451
 msgid "B<Sum>, the sum of all scores in this thread."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2617 doc/tin.5:2386
+#: doc/tin.1:2669 doc/tin.5:2453
 msgid "B<Average>, the average score in this thread."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2618
+#: doc/tin.1:2670
 #, no-wrap
 msgid "B<CA certificate file (tls_ca_cert_file)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2623
+#: doc/tin.1:2675
 msgid ""
 "The name of file containing all trusted CA certificates used for NNTPS "
 "(B<\\%RFC8143>) connections. If left empty the system default will be used."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2623
+#: doc/tin.1:2675
 #, no-wrap
 msgid "B<Transliteration (translit)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2631 doc/tin.5:2400
+#: doc/tin.1:2683 doc/tin.5:2467
 msgid ""
 "If ON append //TRANSLIT to the first argument of B<\\%iconv_open>(3)  to "
 "enable transliteration. This means that when a character cannot be "
@@ -6176,70 +6249,70 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2631
+#: doc/tin.1:2683
 #, no-wrap
 msgid "B<How to treat blank lines (trim_article_body)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2635
+#: doc/tin.1:2687
 msgid ""
 "Allows you to select how B<tin> treats blank lines in article bodies.  "
 "Default is 0. This option does not affect lines within verbatim blocks."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2638 doc/tin.5:2409
+#: doc/tin.1:2690 doc/tin.5:2476
 msgid "B<Don't trim article body>, do nothing."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2640 doc/tin.5:2411
+#: doc/tin.1:2692 doc/tin.5:2478
 msgid "B<Skip leading blank lines>."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2642 doc/tin.5:2413
+#: doc/tin.1:2694 doc/tin.5:2480
 msgid "B<Skip trailing blank lines>."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2644 doc/tin.5:2415
+#: doc/tin.1:2696 doc/tin.5:2482
 msgid ""
 "B<Skip leading and trailing blank l.>, skip leading and trailing blank "
 "lines."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2647 doc/tin.5:2418
+#: doc/tin.1:2699 doc/tin.5:2485
 msgid ""
 "B<Compact multiple between text>, replace multiple blank lines between text "
 "blocks with one blank line."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2649 doc/tin.5:2420
+#: doc/tin.1:2701 doc/tin.5:2487
 msgid "B<Compact multiple and skip leading>, 4 + 1"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2651 doc/tin.5:2422
+#: doc/tin.1:2703 doc/tin.5:2489
 msgid "B<Compact multiple and skip trailing>, 4 + 2"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2653 doc/tin.5:2424
+#: doc/tin.1:2705 doc/tin.5:2491
 msgid "B<Compact mltpl., skip lead. & trai.>, 4 + 3"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2654
+#: doc/tin.1:2706
 #, no-wrap
 msgid "B<Suppress soft hyphens (suppress_soft_hyphens)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2662
+#: doc/tin.1:2714
 msgid ""
 "If ON remove soft hyphens in non verbatim blocks of articles in UTF-8 when "
 "they are displayed in a UTF-8 locale. The character SOFT HYPHEN (U+00AD) is "
@@ -6250,13 +6323,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2662
+#: doc/tin.1:2714
 #, no-wrap
 msgid "B<Regex used to highlight _underline_ (underscores_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2667
+#: doc/tin.1:2719
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markdash> or B<mono_markdash>. If "
@@ -6264,24 +6337,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2667
+#: doc/tin.1:2719
 #, no-wrap
 msgid "B<Remove ~/.article after posting (unlink_article)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2670
+#: doc/tin.1:2722
 msgid "If ON remove I<~/.article> after posting. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2670
+#: doc/tin.1:2722
 #, no-wrap
 msgid "B<Program that opens URLs (url_handler)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2675 doc/tin.5:2445
+#: doc/tin.1:2727 doc/tin.5:2512
 msgid ""
 "The program that will be run when launching URLs in the article viewer using "
 "B<PageViewUrl> ('B<U>'). The actual URL will be appended.  Default is "
@@ -6289,54 +6362,54 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2675
+#: doc/tin.1:2727
 #, no-wrap
 msgid "B<URL highlighting in message body (url_highlight)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2678 doc/tin.5:2448
+#: doc/tin.1:2730 doc/tin.5:2515
 msgid "Enable highlighting URLs in message body. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2678
+#: doc/tin.1:2730
 #, no-wrap
 msgid "B<Use ANSI color (use_color)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2681
+#: doc/tin.1:2733
 msgid "If enabled B<tin> uses ANSI-colors. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2681
+#: doc/tin.1:2733
 #, no-wrap
 msgid "B<Use scroll keys on keypad (use_keypad)>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2684
+#: doc/tin.1:2736
 #, no-wrap
 msgid "B<Use mouse in xterm (use_mouse)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2690 doc/tin.5:2462
+#: doc/tin.1:2742 doc/tin.5:2529
 msgid ""
 "Allows the mouse button support in an B<\\%xterm>(1x)  to be "
 "enabled/disabled.  Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2690
+#: doc/tin.1:2742
 #, no-wrap
 msgid "B<Use slrnface to show ''X-Face:''s (use_slrnface)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2700
+#: doc/tin.1:2752
 msgid ""
 "If enabled B<tin> uses B<\\%slrnface>(1)  to interpret the ''X-Face:'' "
 "header. For this option to have any effect, B<tin> must be running in an "
@@ -6345,63 +6418,63 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2700
+#: doc/tin.1:2752
 #, no-wrap
 msgid "B<Use UTF-8 graphics (utf8_graphics)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2704 doc/tin.5:2478
+#: doc/tin.1:2756
 msgid ""
-"If ON use UTF-8 characters for indicator ('-E<gt>'), thread/attachment tree "
-"and ellipsis ('...'). Default is OFF."
+"If ON use UTF-8 characters for indicator ('\\(-E<gt>'), thread/attachment "
+"tree and ellipsis ('...'). Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2704
+#: doc/tin.1:2756
 #, no-wrap
 msgid "B<Regex for begin of a verbatim block (verbatim_begin_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2708
+#: doc/tin.1:2760
 msgid ""
 "A regular expression that B<tin> will use to find the begin of a verbatim "
 "block."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2708
+#: doc/tin.1:2760
 #, no-wrap
 msgid "B<Regex for end of a verbatim block (verbatim_end_regex)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2712
+#: doc/tin.1:2764
 msgid ""
 "A regular expression that B<tin> will use to find the end of a verbatim "
 "block."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2712
+#: doc/tin.1:2764
 #, no-wrap
 msgid "B<Detection of verbatim blocks (verbatim_handling)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2715 doc/tin.5:2493
+#: doc/tin.1:2767 doc/tin.5:2560
 msgid "If ON verbatim blocks will be detected. Default is ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2715
+#: doc/tin.1:2767
 #, no-wrap
 msgid "B<Wildcard matching (wildcard)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2737
+#: doc/tin.1:2789
 msgid ""
 "Allows you to select how B<tin> matches strings. The default is 0 and uses "
 "the B<\\%wildmat>(3)  notation, which is how this has traditionally been "
@@ -6414,41 +6487,41 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2737
+#: doc/tin.1:2789
 #, no-wrap
 msgid "B<What to display instead of mark (word_h_display_marks)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2741 doc/tin.5:2521
+#: doc/tin.1:2793 doc/tin.5:2588
 msgid ""
 "Should the leading and ending stars, slashes, strokes and dashes also be "
 "displayed, even when they are highlighting marks?"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2744 doc/tin.5:2524
+#: doc/tin.1:2796 doc/tin.5:2591
 msgid "B<no>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2746 doc/tin.5:2526
+#: doc/tin.1:2798 doc/tin.5:2593
 msgid "yes, B<display mark>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2748 doc/tin.5:2528
+#: doc/tin.1:2800 doc/tin.5:2595
 msgid "print a B<space> instead"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2749
+#: doc/tin.1:2801
 #, no-wrap
 msgid "B<Word highlighting in message body (word_highlight)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2757 doc/tin.5:2537
+#: doc/tin.1:2809 doc/tin.5:2604
 msgid ""
 "Enable word highlighting. See B<word_h_display_marks> for the options "
 "available. If B<use_color> is enabled the colors specified in "
@@ -6459,45 +6532,45 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2757
+#: doc/tin.1:2809
 #, no-wrap
 msgid "B<Page line wrap column (wrap_column)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2768 doc/tin.5:2548
+#: doc/tin.1:2820 doc/tin.5:2615
 msgid ""
 "Sets the column at which a displayed article body should be wrapped.  If "
 "this value is equal to 0, it defaults to the current screen width.  If this "
-"value is greater than your current screen width the part off-screen is not "
-"displayed. Thus setting this option to a large value can be used to disable "
-"wrapping. If this value is negative the wrap margin is the current screen "
-"width plus the given value (as long as the result is still positive, "
-"otherwise it will fall back to the current screen width). Default is 0, "
-"wrapping at the current screen width."
+"value is greater than your current screen width and B<dont_break_words> is "
+"unset the part off-screen is not displayed.  Thus setting this option to a "
+"large value can be used to disable wrapping.  If this value is negative the "
+"wrap margin is the current screen width plus the given value (as long as the "
+"result is still positive, otherwise it will fall back to the current screen "
+"width). Default is 0, wrapping at the current screen width."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:2768
+#: doc/tin.1:2820
 #, no-wrap
 msgid "B<Quote line when crossposting (xpost_quote_format)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2775 doc/tin.5:2558
+#: doc/tin.1:2827 doc/tin.5:2625
 msgid ""
 "Format is the same as for B<news_quote_format>, this is used when answering "
 "to a crossposting to several groups with no ''Followup-To:'' set."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:2775
+#: doc/tin.1:2827
 #, no-wrap
 msgid "ATTRIBUTES MENU AND GROUP ATTRIBUTES"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2782
+#: doc/tin.1:2834
 msgid ""
 "B<tin> allows certain attributes to be set on a per group basis. If it "
 "exists, the global attributes file, I<${TIN_LIBDIR:-NEWSLIBDIR}/attributes> "
@@ -6508,7 +6581,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2790
+#: doc/tin.1:2842
 msgid ""
 "Note that the I<scope=E<lt>grouplistE<gt>> line has to be specified before "
 "the attributes are specified for that list. All attributes are set to a "
@@ -6519,7 +6592,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2797
+#: doc/tin.1:2849
 msgid ""
 "Attributes can also be changed from the attributes menu which can be "
 "accessed by B<ConfigToggleAttrib> ('B<E<lt>TABE<gt>>') from the options menu "
@@ -6530,7 +6603,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2804
+#: doc/tin.1:2856
 msgid ""
 "Besides the keys for moving around and changing values known from the "
 "options menu the attributes menu provides the following command: "
@@ -6538,22 +6611,22 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:2804
+#: doc/tin.1:2856
 #, no-wrap
 msgid "SCOPES MENU"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2809
+#: doc/tin.1:2861
 msgid ""
 "The scopes menu (accessible from the options menu with B<ConfigScopeMenu> "
 "('B<S>')) shows all scopes read from the global and local attributes file.  "
-"Scopes from the global attributes file are marked with '!' to the left of "
+"Scopes from the global attributes file are marked with '!\\&' to the left of "
 "the scope number. Delete/rename/move are not possible with those scopes."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2821
+#: doc/tin.1:2873
 msgid ""
 "In addition to the common moving keys the following commands are available: "
 "B<ScopeSelect> ('B<^J>' or 'B<E<lt>CRE<gt>>') enter the attributes menu for "
@@ -6567,14 +6640,14 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:2821
+#: doc/tin.1:2873
 #, no-wrap
 msgid "FILTERING ARTICLES"
 msgstr ""
 
 #.  FIXME - add scoring description
 #. type: Plain text
-#: doc/tin.1:2828
+#: doc/tin.1:2880
 msgid ""
 "When there is a subject or an author which you are either very interested "
 "in, or find completely uninteresting, you can easily instruct B<tin> to "
@@ -6584,16 +6657,17 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2834
+#: doc/tin.1:2887
 msgid ""
 "When B<tin> starts up the user's kill-file "
-"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/filter> (see also B<\\%tin>(5))  is "
-"read. Each time a newsgroup is entered the rules are applied and articles "
-"killed or selected when they meet certain criteria."
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/filter> or the file specified via ''B<-F>'' "
+"is read (see also B<\\%tin>(5)  ). Each time a newsgroup is entered the "
+"rules are applied and articles killed or selected when they meet certain "
+"criteria."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2839
+#: doc/tin.1:2892
 msgid ""
 "The degree to which rules are applied depend on the B<kill_level> tinrc "
 "setting. By default killed articles will only be marked read. Adjust "
@@ -6602,7 +6676,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2844
+#: doc/tin.1:2897
 msgid ""
 "Filtering rules can be manually entered into "
 "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/filter> (but don't do this whilst running "
@@ -6611,7 +6685,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2849
+#: doc/tin.1:2902
 msgid ""
 "The filtering capabilities of B<tin> have been significantly enhanced over "
 "previous versions to include scoring and better pattern matching. It is "
@@ -6620,13 +6694,13 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2851
-msgid "E<lt>http://www.tin.org/filtering.txtE<gt>."
+#: doc/tin.1:2904
+msgid "E<lt>http://bzr.tin.org/doc/filteringE<gt>."
 msgstr ""
 
 #.  FIXME - Next paragraph is out of date
 #. type: Plain text
-#: doc/tin.1:2864
+#: doc/tin.1:2917
 msgid ""
 "The on-screen filtering menu is accessed by pressing B<MenuFilterKill> "
 "('B<^K>') or B<MenuFilterSelect> ('B<^A>')  at the Group and Article "
@@ -6640,20 +6714,20 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:2864
+#: doc/tin.1:2917
 #, no-wrap
 msgid "POSTING ARTICLES"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2867
+#: doc/tin.1:2920
 msgid ""
 "B<tin> allows posting of articles, follow-up to already posted articles and "
 "replying direct through mail to the author of an article."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2877
+#: doc/tin.1:2930
 msgid ""
 "Use the B<Post> ('B<w>') command to post an article to a newsgroup.  After "
 "entering the post subject the default editor (i.e., B<\\%vi>(1))  or the "
@@ -6666,7 +6740,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2882
+#: doc/tin.1:2935
 msgid ""
 "Use the B<DisplayPostHist> ('B<W>') command to display a history of the "
 "articles you have posted. The date the article was posted, which newsgroups "
@@ -6675,7 +6749,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2890
+#: doc/tin.1:2943
 msgid ""
 "Use the B<PageFollowupQuote> ('B<f>'), B<PageFollowup> ('B<F>')  or "
 "B<PageFollowupQuoteHeaders> ('B<^W>') command to post a follow-up article to "
@@ -6687,7 +6761,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2904
+#: doc/tin.1:2957
 msgid ""
 "Use the B<PageReplyQuote> ('B<r>'), B<PageReply> ('B<R>') or "
 "B<PageReplyQuoteHeaders> ('B<^E>') command to reply direct through mail to "
@@ -6702,31 +6776,32 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:2904
+#: doc/tin.1:2957
 #, no-wrap
 msgid "CUSTOMIZING THE ARTICLE QUOTE STRING"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2912
+#: doc/tin.1:2966
 msgid ""
 "When posting a followup to an article or replying direct to the author of an "
 "article via email the text of the article can be quoted. The beginning of "
 "the quoted text can contain information about the quoted article (e.g., Name "
-"and the Message-ID of the article). To allow for different situations "
-"certain information from the article can be used in the quoted string. The "
-"following variables are expanded if found in the tinrc variables "
-"B<mail_quote_format>, B<news_quote_format> or B<xpost_quote_format>:"
+"and the Message-ID of the article). If the article has multiple addresses "
+"only the first is evaluated. To allow for different situations certain "
+"information from the article can be used in the quoted string. The following "
+"variables are expanded if found in the tinrc variables B<mail_quote_format>, "
+"B<news_quote_format> or B<xpost_quote_format>:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:2914
+#: doc/tin.1:2968
 #, no-wrap
 msgid "\\w'%A  'u +\\w'Address'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2923
+#: doc/tin.1:2977
 #, no-wrap
 msgid ""
 "B<%A>\tAddress (Email)\n"
@@ -6740,34 +6815,34 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2926
+#: doc/tin.1:2980
 msgid "e.g.,"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2931
+#: doc/tin.1:2985
 #, no-wrap
 msgid ""
-"CW<mail_quote_format=On %D in %G you wrote:\n"
-"news_quote_format=In %M, %F wrote:>\n"
+"\\f(CRmail_quote_format=On %D in %G you wrote:\n"
+"news_quote_format=In %M, %F wrote:\\fR\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2935
+#: doc/tin.1:2989
 msgid "would expand to:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2940
+#: doc/tin.1:2994
 #, no-wrap
 msgid ""
-"CW<On 21 Sep 1993 09:45:51 -0400 in alt.sources you wrote:\n"
+"\\f(CROn 21 Sep 1993 09:45:51 -0400 in alt.sources you wrote:\n"
 "In E<lt>abcINN123@example.orgE<gt>, Joe Bar E<lt>joe@example.orgE<gt> "
-"wrote:>\n"
+"wrote:\\fR\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2950
+#: doc/tin.1:3004
 msgid ""
 "The quoted text section of an article is marked by a preceding quote string "
 "at the beginning of each quoted line. The default quote string is set to "
@@ -6777,13 +6852,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:2950
+#: doc/tin.1:3004
 #, no-wrap
 msgid "MAILING PIPING PRINTING REPOSTING AND SAVING ARTICLES"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2957
+#: doc/tin.1:3011
 msgid ""
 "The command interface to B<GroupMail>, B<PageMail>, B<PostMail> or "
 "B<ThreadMail> ('B<m>'), B<Pipe> ('B<|>'), B<Print> ('B<o>'), B<PageRepost> "
@@ -6793,7 +6868,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2962
+#: doc/tin.1:3016
 msgid ""
 "Auto-saving with B<*AutoSave> ('B<S>') is a special case and operates only "
 "on marked articles. They will processed without any further prompting "
@@ -6802,7 +6877,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2966
+#: doc/tin.1:3020
 msgid ""
 "Otherwise, the initial prompt will ask you to select which article, thread, "
 "hot (auto-selected), regular expression pattern, tagged articles you wish to "
@@ -6810,7 +6885,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2970
+#: doc/tin.1:3024
 msgid ""
 "Tagged articles must have already been tagged with a B<*Tag> ('B<t>')  "
 "command. All tagged articles can be untagged by a B<*Untag> ('B<U>')  untag "
@@ -6818,7 +6893,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2976
+#: doc/tin.1:3030
 msgid ""
 "If a regular expression pattern is selected you are asked to enter a pattern "
 "(e.g., to match all articles subject lines containing 'net News' you enter "
@@ -6828,7 +6903,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2981
+#: doc/tin.1:3035
 msgid ""
 "Various expansion characters are recognized when entering the directory and "
 "file to save to. Environment variables (prefixed with '$') and user home "
@@ -6837,7 +6912,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2986
+#: doc/tin.1:3040
 msgid ""
 "To save articles to a mailbox enter '=E<lt>mailbox nameE<gt>' when asked for "
 "the save filename. If you enter just '=' then articles will be saved to a "
@@ -6846,16 +6921,16 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2991
+#: doc/tin.1:3045
 msgid ""
 "To save in savedir/E<lt>news.group.nameE<gt>/E<lt>filenameE<gt> format enter "
 "'+E<lt>filenameE<gt>'.  See B<savedir>. Like '+' %G is expanded to the "
 "current news.group.name but without B<savedir> prefixed. %P is expanded to "
-"the news.group.name with all '.' replaced by '/'."
+"the news.group.name with all '.\\&' replaced by '/'."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:2996
+#: doc/tin.1:3050
 msgid ""
 "If saving multiple files at once the filename (if not referring to a "
 "mailbox)  will be extended by \".num\" where \"num\" is at least 3 digit "
@@ -6864,20 +6939,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3002
+#: doc/tin.1:3056
 msgid ""
 "When saving articles you can specify whether the saved files should be post "
 "processed. A default process type can be set via B<post_process_type>."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3002
+#: doc/tin.1:3056
 #, no-wrap
 msgid "AUTOMATIC MAILING AND SAVING NEW NEWS"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3014
+#: doc/tin.1:3068
 msgid ""
 "B<tin> allows new/unread news articles to be mailed (''B<-M>'' and "
 "\\&''B<-N>'' option) or saved (''B<-S>'' option) in batch mode for later "
@@ -6892,7 +6967,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3018
+#: doc/tin.1:3072
 msgid ""
 "When using ''B<-S>'' together with a given directory to save to (''B<-s>'' "
 "option), the same directory must be specified when reading the articles by "
@@ -6900,7 +6975,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3025
+#: doc/tin.1:3079
 msgid ""
 "If you only want to save some of your groups use the B<batch_save> tinrc "
 "variable. Set to ON or OFF in tinrc to enable/disable saving of all groups "
@@ -6911,71 +6986,71 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3025
+#: doc/tin.1:3079
 #, no-wrap
 msgid "B<tin -M iain -c -f newsrc.mail>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3029
+#: doc/tin.1:3083
 msgid ""
 "(mail any unread articles in newsgroups specified in file newsrc.mail to the "
 "local user iain and mark them as read)"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3029
+#: doc/tin.1:3083
 #, no-wrap
 msgid "B<tin -S -c -f newsrc.save>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3033
+#: doc/tin.1:3087
 msgid ""
 "(save any unread articles in newsgroups specified in file newsrc.save and "
 "mark them as read)"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3033
+#: doc/tin.1:3087
 #, no-wrap
 msgid "B<tin -R>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3038
+#: doc/tin.1:3092
 msgid "(read any articles saved by B<tin -S>)"
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3038
+#: doc/tin.1:3092
 #, no-wrap
 msgid "RANGES"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3050
+#: doc/tin.1:3104
 msgid ""
 "A range is simply a group of items marked using the B<SetRange> (B<'#'>) "
 "key. Certain B<tin> commands will operate on a range if one exists rather "
 "than just the current item. A range is an expression of the form "
-"E<lt>minE<gt>\\(enE<lt>maxE<gt>, e.g. 10\\(en15 will highlight items 10 "
-"through 15 on the current screen. Other than absolute numeric positions, '.' "
-"can be used in place of the current cursor position and '$' can be used to "
-"mean the highest number available. Entering '0' at the prompt undoes the "
-"previously entered range selection. Currently the only commands that "
+"E<lt>minE<gt>\\(enE<lt>maxE<gt>, e.g., 10\\(en15 will highlight items 10 "
+"through 15 on the current screen. Other than absolute numeric positions, "
+"'.\\&' can be used in place of the current cursor position and '$' can be "
+"used to mean the highest number available. Entering '0' at the prompt undoes "
+"the previously entered range selection. Currently the only commands that "
 "understand ranges are B<GroupMarkThdRead> ('B<K>'), B<MarkArtUnread> "
 "('B<z>') and B<MarkThdUnread> ('B<Z>')."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3050
+#: doc/tin.1:3104
 #, no-wrap
 msgid "NEWSGROUP LISTS & WILDCARDS"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3062
+#: doc/tin.1:3116
 msgid ""
 "Several places in B<tin> allow you to specify a list of newsgroups. These "
 "include command-line groups, (un)subscribe groups, the AUTO[UN]SUBSCRIBE "
@@ -6989,30 +7064,30 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3064
+#: doc/tin.1:3118
 msgid "I<alt.config,news.*,!news.test>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3066
+#: doc/tin.1:3120
 msgid "Matches alt.config and everything in the 'news' hierarchy except news.test"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3071
+#: doc/tin.1:3125
 msgid ""
 "See the explanation for the $B<AUTOSUBSCRIBE> and $B<AUTOUNSUBSCRIBE> "
 "variables for further examples."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3071
+#: doc/tin.1:3125
 #, no-wrap
 msgid "SIGNATURES"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3080
+#: doc/tin.1:3134
 msgid ""
 "B<tin> will recognize a signature in either "
 "I<${TIN_HOMEDIR:-\"$HOME\"}/.signature> or "
@@ -7024,27 +7099,27 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3083
+#: doc/tin.1:3137
 msgid ""
 "A signature in I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig> will be pulled into the "
 "editor for both posting and mailing commands."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3085
+#: doc/tin.1:3139
 msgid "The following is an example of a I<.Sig> file:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3090
+#: doc/tin.1:3144
 #, no-wrap
 msgid ""
-"CW<NAMES  Joe Bar E<lt>joe@example.orgE<gt>\n"
-"SNAIL  Musterweg 12, 99999 Notreal, Germany>\n"
+"\\f(CRNAMES  Joe Bar E<lt>joe@example.orgE<gt>\n"
+"SNAIL  Musterweg 12, 99999 Notreal, Germany\\fR\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3105
+#: doc/tin.1:3159
 msgid ""
 "B<tin> also has the capability to generate random signatures on a per "
 "newsgroup basis if so desired. The way to accomplish this is to specify the "
@@ -7058,28 +7133,29 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3105
+#: doc/tin.1:3159
 #, no-wrap
 msgid "CUSTOMIZING THE SCREEN FORMAT"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3110
+#: doc/tin.1:3165
 msgid ""
 "The look of the Selection, Group and Thread level can be customized via "
 "format strings. These format strings define the content and the position of "
 "each element on the screen. Variables are used within the format strings as "
-"placeholders. The following variables are available:"
+"placeholders. If the article has multiple addresses only the first is "
+"evaluated. The following variables are available:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:3113
+#: doc/tin.1:3168
 #, no-wrap
 msgid "\\w'%G    'u +\\w'current group/thread/article number'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3130
+#: doc/tin.1:3185
 #, no-wrap
 msgid ""
 "B<%D>\tdate\n"
@@ -7101,14 +7177,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3135
+#: doc/tin.1:3190
 msgid ""
 "Not all variables can be used in each level. The following table provides an "
 "overview:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:3138
+#: doc/tin.1:3193
 #, no-wrap
 msgid ""
 "\\w'%G        'uC +\\w'B<select_format> 'uC +\\w'B<group_format> 'uC "
@@ -7116,7 +7192,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3156
+#: doc/tin.1:3211
 #, no-wrap
 msgid ""
 "\tB<select_format>\tB<group_format>\tB<thread_format>\n"
@@ -7139,18 +7215,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3160 doc/tin.1:3314
+#: doc/tin.1:3215 doc/tin.1:3379
 msgid "Defaults for the format strings:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:3163
+#: doc/tin.1:3218
 #, no-wrap
 msgid "\\w'select_format  'u +\\w'\"B<%n %m  [%L]  %T  %F>\"'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3167
+#: doc/tin.1:3222
 #, no-wrap
 msgid ""
 "B<select_format>:\t\"B<%f %n %U  %G  %d>\"\n"
@@ -7159,7 +7235,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3173
+#: doc/tin.1:3228
 msgid ""
 "B<show_description> controls whether the newsgroup description is shown or "
 "not. The description can also be toggled with B<SelectToggleDescriptions> "
@@ -7167,7 +7243,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3178
+#: doc/tin.1:3233
 msgid ""
 "The information displayed with 'B<%F>' depends on the value of "
 "B<show_author>. B<GroupToggleSubjDisplay> resp.  B<ThreadToggleSubjDisplay> "
@@ -7175,15 +7251,15 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3182
+#: doc/tin.1:3237
 msgid ""
 "For date representation 'B<%D>' uses B<date_format>. It is possible to "
-"specify a different date format in round brackets (e.g. 'B<%(%d %b %y "
+"specify a different date format in round brackets (e.g., 'B<%(%d %b %y "
 "%H:%M)D>'). See B<date_format> for more details."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3186
+#: doc/tin.1:3241
 msgid ""
 "The length of each item (except 'B<%%>') can be defined with a positive "
 "number after the 'B<%>'. The following example displays the score in the "
@@ -7191,34 +7267,34 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3192
+#: doc/tin.1:3247
 msgid ""
 "If the newsgroup name is displayed together with the newsgroup description, "
 "the width of the newsgroup name can be controlled via an optional comma "
-"separated second value (e.g. 'B<%60,20G>'). It is valid to omit the first "
-"value (e.g. ('B<%,20G>')). If no second value is given, B<tin> uses a "
+"separated second value (e.g., 'B<%60,20G>'). It is valid to omit the first "
+"value (e.g., ('B<%,20G>')). If no second value is given, B<tin> uses a "
 "default value of 32."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3199
+#: doc/tin.1:3254
 msgid ""
 "Some variables do have a default width which may lead to truncation.  "
 "Truncation for variables which contain only numbers happens by dividing the "
 "value with a sufficient power of ten and adding a SI suffix to the result, "
 "that is the variable holds a value of 54321 and the width for the variable "
 "is 4 the result will be \"54 k\". If that's undesired you have to specify a "
-"larger width manually, e.g. 'B<%6n>'. Here is an overview of the defaults:"
+"larger width manually, e.g., 'B<%6n>'. Here is an overview of the defaults:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:3202
+#: doc/tin.1:3257
 #, no-wrap
 msgid "\\w'Variable  'u +\\w'width'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3211
+#: doc/tin.1:3266
 #, no-wrap
 msgid ""
 "Variable\twidth\n"
@@ -7232,7 +7308,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3222
+#: doc/tin.1:3277
 msgid ""
 "If no length is given for 'B<%D>', the length is determined by the format "
 "string for the date and the date of the current day. If the date format "
@@ -7245,7 +7321,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3226
+#: doc/tin.1:3281
 msgid ""
 "In case the format string contains 'B<%G>' and 'B<%d>' and no length are "
 "given, B<tin> determines the longest newsgroup name and uses this length for "
@@ -7253,7 +7329,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3230
+#: doc/tin.1:3285
 msgid ""
 "When the format string contains the specifier 'B<%F>' and 'B<%s>' "
 "resp. 'B<%T>' and no length are given, 'B<%F>' will use one third and "
@@ -7261,29 +7337,38 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3238
+#: doc/tin.1:3295
 msgid ""
-"In addition, a minimum screen width can be defined for each item (except "
-"'B<%%>'). In this case, the item will only be displayed when the screen is "
-"wider than specified. This comes in handy to not overload a small screen but "
-"have maximum information on a large screen. The minimum screen width has to "
-"be specified by a positive number preceded by an 'B<E<gt>>'. In the "
-"following example B<tin> will display the score only if the screen is wider "
-"than 100 characters: 'B<%E<gt>100S>'."
+"In addition, a minimum or a maximum screen width can be defined for each "
+"item (except 'B<%%>'). In this case, the item will only be displayed when "
+"the screen is wider resp. smaller than specified. This comes in handy to not "
+"overload a small screen but have maximum information on a large screen. The "
+"minimum screen width has to be specified by a positive number preceded by an "
+"'B<E<gt>>', the maximum screenwidth has to be specified by a positive number "
+"preceded by an 'B<E<lt>>'. In the following example B<tin> will display the "
+"score only if the screen is wider than 100 characters: 'B<%E<gt>100S>'."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3244
-msgid ""
-"If both the length and the minimum screen width should be specified for an "
-"item, the length must be the first parameter and the minimum screen width "
-"must be the second one. The following example displays the score with a "
-"length of 10 characters only if the screen is wider than 100 characters: "
-"'B<%10E<gt>100S>'."
+#: doc/tin.1:3309
+msgid ""
+"If both the length and the minimum or maximum screen width should be "
+"specified for an item, the length must be the first parameter and the "
+"minimum or maximum screen width must be the second one. The following "
+"example displays the score with a length of 10 characters only if the screen "
+"is wider than 100 characters: 'B<%10E<gt>100S>'. A second length can be "
+"specified for 'B<%F>' and 'B<%s>' resp. 'B<%T>', separated by a colon, which "
+"is used if the minimum or maximum screen width is not reached.  If no length "
+"is specified after the colon, the item is displayed even if the minimum "
+"screen width is not reached and the length is calculated as if no minimum "
+"(or maximum) screen width had been specified. In the following example "
+"B<tin> will display the subject with a length of 60 characters if the screen "
+"is wider than 100 characters, otherwise a length of 40 characters is used: "
+"'B<%60E<gt>100:40s>'."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3248
+#: doc/tin.1:3313
 msgid ""
 "The look of the Attachment level and the mime and uue header at Page level "
 "can be customized too via format strings.  The following variables are "
@@ -7291,13 +7376,13 @@ msgid ""
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:3251
+#: doc/tin.1:3316
 #, no-wrap
 msgid "\\w'%G    'u +\\w'Complete/incomplete UUE part indicator'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3270
+#: doc/tin.1:3335
 #, no-wrap
 msgid ""
 "B<%C>\tCharset\n"
@@ -7321,14 +7406,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3275
+#: doc/tin.1:3340
 msgid ""
 "Not all items can be used in each variable. The following table provides an "
 "overview:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:3278
+#: doc/tin.1:3343
 #, no-wrap
 msgid ""
 "\\w'%G   'uC +\\w'B<attachment_format> 'uC +\\w'B<page_mime_format> 'uC "
@@ -7336,7 +7421,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3298
+#: doc/tin.1:3363
 #, no-wrap
 msgid ""
 "\tB<attachment_format>\tB<page_mime_format>\tB<page_uue_format>\n"
@@ -7361,14 +7446,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3312
+#: doc/tin.1:3377
 msgid ""
 "By default, the string is not truncated. If it exceeds the screen width, it "
-"is wrapped. If the % sign is followed by an exclamation mark ('!') for "
+"is wrapped. If the % sign is followed by an exclamation mark ('!\\&') for "
 "uppercase letters, the element is omitted if there is not enough space. If "
 "the % sign is followed by an asterisk ('*') for a lowercase letter, the "
 "description is omitted if there is not enough space. If the % sign is "
-"followed by an exclamation mark ('!') for a lowercase letter, the "
+"followed by an exclamation mark ('!\\&') for a lowercase letter, the "
 "description is omitted first and then the content. The shortening is always "
 "from right to left, first the description is omitted and when no more "
 "description is displayed, the content is omitted. If %T and %S follow each "
@@ -7377,13 +7462,13 @@ msgid ""
 msgstr ""
 
 #. type: ta
-#: doc/tin.1:3317
+#: doc/tin.1:3382
 #, no-wrap
 msgid "\\w'attachment_format'u +\\w'\"B<%T%S%E%C%d>\"'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3321
+#: doc/tin.1:3386
 #, no-wrap
 msgid ""
 "B<attachment_format>:\t\"B<%T%S%E%C%d>\"\n"
@@ -7392,13 +7477,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3324
+#: doc/tin.1:3389
 #, no-wrap
 msgid "TIPS AND TRICKS"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3328
+#: doc/tin.1:3393
 msgid ""
 "B<tin> can be pretty much be navigated by using the four cursor keys.  The "
 "left arrow key goes up a level, the right arrow key goes down a level, the "
@@ -7406,33 +7491,33 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3330
+#: doc/tin.1:3395
 msgid ""
 "The following newsgroups provide useful information concerning news "
 "software:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3333
+#: doc/tin.1:3398
 msgid ""
 "\\(emnews.software.readers (info. about news user agents tin, rn, nn, slrn "
 "etc.)"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3335
+#: doc/tin.1:3400
 msgid "\\(emnews.software.nntp (info. about NNTP)"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3337
+#: doc/tin.1:3402
 msgid ""
 "\\(emnews.answers (Frequently Asked Questions (FAQ) about many different "
 "themes)"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3341
+#: doc/tin.1:3406
 msgid ""
 "Many prompts within B<tin> offer a default choice that the cursor is "
 "positioned on. By pressing 'B<E<lt>CRE<gt>>' the default value is taken.  "
@@ -7440,14 +7525,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3348
+#: doc/tin.1:3413
 msgid ""
 "When B<tin> is run in an B<\\%xterm>(1x)  it will resize itself each time "
 "the B<\\%xterm>(1x)  is resized."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3352
+#: doc/tin.1:3417
 msgid ""
 "B<tin> will reread the "
 "I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file at set "
@@ -7455,20 +7540,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3357
+#: doc/tin.1:3422
 msgid ""
 "If you find large number of new newsgroups cluttering up your screen, "
 "pressing B<SelectToggleReadDisplay> ('B<r>') will make them go away."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3357
+#: doc/tin.1:3422
 #, no-wrap
 msgid "XTERM BUTTONS"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3363
+#: doc/tin.1:3428
 msgid ""
 "If the environment variable B<$TERM> is set to B<\\%xterm>(1x), then button "
 "pressing can be used to select groups and articles. In this discussion, the "
@@ -7477,103 +7562,103 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3365
+#: doc/tin.1:3430
 msgid "In general (i.e., for the group, thread and article menus),"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3365
+#: doc/tin.1:3430
 #, no-wrap
 msgid "Button1 (left)"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3368
+#: doc/tin.1:3433
 msgid "enters next (lower) level if you click on an article, otherwise pages down."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3368
+#: doc/tin.1:3433
 #, no-wrap
 msgid "Button2 (center)"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3372
+#: doc/tin.1:3437
 msgid ""
 "returns to the previous (upper) level if you click on an article, otherwise "
 "pages up."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3372
+#: doc/tin.1:3437
 #, no-wrap
 msgid "Button3 (right)"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3376
+#: doc/tin.1:3441
 msgid ""
 "positions on the article line under mouse cursor, or pages down if you've "
 "clicked outside the list of articles."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3378
+#: doc/tin.1:3443
 msgid "In the group selection menu, if the mouse is pointing at a group then:"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3378 doc/tin.1:3390 doc/tin.1:3404
+#: doc/tin.1:3443 doc/tin.1:3455 doc/tin.1:3469
 #, no-wrap
 msgid "left button"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3382
+#: doc/tin.1:3447
 msgid ""
 "moves to and selects the group pointed at, just like B<SelectReadGrp> "
 "('B<E<lt>CRE<gt>>')."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3382 doc/tin.1:3394 doc/tin.1:3407
+#: doc/tin.1:3447 doc/tin.1:3459 doc/tin.1:3472
 #, no-wrap
 msgid "center button"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3385
+#: doc/tin.1:3450
 msgid "quits the program, just like B<Quit> ('B<q>')."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3385 doc/tin.1:3399 doc/tin.1:3412
+#: doc/tin.1:3450 doc/tin.1:3464 doc/tin.1:3477
 #, no-wrap
 msgid "right button"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3388
+#: doc/tin.1:3453
 msgid "moves to the group pointed at."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3390
+#: doc/tin.1:3455
 msgid ""
 "In the article menu, if the mouse is pointing at an article (or thread) "
 "then:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3394
+#: doc/tin.1:3459
 msgid ""
 "reads the article pointed at, just like B<GroupReadBasenote> "
 "('B<E<lt>CRE<gt>>'), or the thread, just like B<GroupListThd> ('B<l>')."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3399
+#: doc/tin.1:3464
 msgid ""
 "exits the menu, catching up on the group if you have "
 "B<group_catchup_on_exit> set in your configuration, just like B<Quit> "
@@ -7581,22 +7666,22 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3402
+#: doc/tin.1:3467
 msgid "moves to the article (or thread) pointed at."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3404
+#: doc/tin.1:3469
 msgid "In the thread menu, if the mouse is pointing at an article then:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3407
+#: doc/tin.1:3472
 msgid "reads article pointed at, just like B<ThreadReadArt> ('B<E<lt>CRE<gt>>')."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3412
+#: doc/tin.1:3477
 msgid ""
 "exits the menu, catching up on the thread if you have "
 "B<thread_catchup_on_exit> set in your configuration, just like B<Quit> "
@@ -7604,25 +7689,25 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3415
+#: doc/tin.1:3480
 msgid "moves to the article pointed at."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3422
+#: doc/tin.1:3487
 msgid ""
 "In other menus and areas button pressing reverts back to usual cut and paste "
 "of B<\\%xterm>(1x), but after one click of any button."
 msgstr ""
 
 #. type: SS
-#: doc/tin.1:3422
+#: doc/tin.1:3487
 #, no-wrap
 msgid "INDEX FILES"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3427
+#: doc/tin.1:3492
 msgid ""
 "If your news server supports NOV index files (see B<\\%newsoverview>(5), "
 "most modern installations will) and you have a fast connection to your news "
@@ -7630,17 +7715,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3433
+#: doc/tin.1:3499
 msgid ""
 "If your news server doesn't support NOV index files or you have a very slow "
 "connection to your news server then B<tin> can cache the index for each "
 "newsgroup if B<cache_overview_files> is set to ON.  Note that this cache can "
 "use up large amounts of disk space if you read a lot of groups and/or high "
-"traffic groups."
+"traffic groups. To reduce the amount of disk space used, "
+"B<compress_overview_files> can be set to ON."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3442
+#: doc/tin.1:3508
 msgid ""
 "Each user creates/updates his/her own index files that are stored in "
 "I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news/>. If you "
@@ -7652,7 +7738,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3449
+#: doc/tin.1:3515
 msgid ""
 "Entering a group the first time tends to be slow because the index file must "
 "be built from scratch. To alleviate the slowness start B<tin> to create all "
@@ -7663,36 +7749,36 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3454
+#: doc/tin.1:3520
 msgid ""
 "As indexing might take some time you may want to run B<tin> from the system "
 "batcher B<\\%cron>(8)  with the ''B<-u>'' option:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3459
+#: doc/tin.1:3525
 #, no-wrap
-msgid "CW<30 6 * * * /usr/local/bin/tin -u>\n"
+msgid "\\f(CR30 6 * * * /usr/local/bin/tin -u\\fR\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3465
+#: doc/tin.1:3531
 msgid ""
 "If you are low on local disk space you should consider to manually purge "
 "cached data for groups you are not reading anymore with something like:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3471
+#: doc/tin.1:3537
 #, no-wrap
 msgid ""
-"CW<find ${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news* "
+"\\f(CRfind ${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news* "
 "\\e\n"
-"-type f -name \"[0-9]*.[0-9]\" -atime +28 | xargs rm -f>\n"
+"-type f -name \"[0-9]*.[0-9]\" -atime +28 | xargs rm -f\\fR\n"
 msgstr ""
 
 #. type: SH
-#: doc/tin.1:3476 doc/tin.1:3477 doc/tin.5:21
+#: doc/tin.1:3542 doc/tin.5:21
 #, no-wrap
 msgid "FILES"
 msgstr ""
@@ -7712,8 +7798,9 @@ msgstr ""
 #.        $TMPDIR/SCOPES-R   (-D 32)
 #.        $TMPDIR/SCOPES-W   (-D 32)
 #.        $TMPDIR/ACTIVE     (-D 64)
+#.        $TMPDIR/GNKSA      (-D 64)
 #. type: Plain text
-#: doc/tin.1:3495
+#: doc/tin.1:3561
 msgid "For a detailed description see B<\\%tin>(5)."
 msgstr ""
 
@@ -7737,119 +7824,119 @@ msgstr ""
 #.  $TMPDIR/SCOPES-W   (-D 32)
 #.  $TMPDIR/ACTIVE     (-D 64)
 #. type: Plain text
-#: doc/tin.1:3497 doc/tin.5:42
+#: doc/tin.1:3563 doc/tin.5:42
 msgid "I<$MAILCAPS>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3499 doc/tin.5:44
+#: doc/tin.1:3565 doc/tin.5:44
 msgid "I<~/.mailcap>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3501 doc/tin.5:46
+#: doc/tin.1:3567 doc/tin.5:46
 msgid "I</etc/mailcap>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3503 doc/tin.5:48
+#: doc/tin.1:3569 doc/tin.5:48
 msgid "I</usr/etc/mailcap>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3505 doc/tin.5:50
+#: doc/tin.1:3571 doc/tin.5:50
 msgid "I</usr/local/etc/mailcap>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3507 doc/tin.5:52
+#: doc/tin.1:3573 doc/tin.5:52
 msgid "I</etc/mail/mailcap>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3510 doc/tin.5:221
+#: doc/tin.1:3576 doc/tin.5:221
 msgid "I</etc/nntpserver>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3513 doc/tin.5:231
+#: doc/tin.1:3579 doc/tin.5:231
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.cancelsecret>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3516 doc/tin.5:241
+#: doc/tin.1:3582 doc/tin.5:241
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.mime.types>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3518 doc/tin.5:243
+#: doc/tin.1:3584 doc/tin.5:243
 msgid "I</etc/mime.types>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3520 doc/tin.5:245
+#: doc/tin.1:3586 doc/tin.5:245
 msgid "I</etc/tin/mime.types>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3523 doc/tin.5:252
+#: doc/tin.1:3589 doc/tin.5:252
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsauth>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3526 doc/tin.5:287
+#: doc/tin.1:3592 doc/tin.5:287
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3530 doc/tin.5:318
+#: doc/tin.1:3596 doc/tin.5:318
 #, no-wrap
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/.oldnewsrc>\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3534 doc/tin.5:326
+#: doc/tin.1:3600 doc/tin.5:326
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.signature>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3536 doc/tin.5:328
+#: doc/tin.1:3602 doc/tin.5:328
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3539 doc/tin.5:335
+#: doc/tin.1:3605 doc/tin.5:335
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.sigfixed>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3542 doc/tin.5:342
+#: doc/tin.1:3608 doc/tin.5:342
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/.inputhistory>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3545 doc/tin.5:349
+#: doc/tin.1:3611 doc/tin.5:349
 msgid "I<${TIN_INDEX_MAILDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.mail/>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3549 doc/tin.5:357
+#: doc/tin.1:3615 doc/tin.5:357
 #, no-wrap
 msgid "I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news${NNTPSERVER:+\"-$NNTPSERVER\"}/>\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3553 doc/tin.5:365
+#: doc/tin.1:3619 doc/tin.5:365
 msgid "I<${TIN_INDEX_SAVEDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.save/>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3556 doc/tin.5:372
+#: doc/tin.1:3622 doc/tin.5:372
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/active.mail>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3559 doc/tin.5:407
+#: doc/tin.1:3625 doc/tin.5:407
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/active.save>"
 msgstr ""
 
@@ -7858,74 +7945,80 @@ msgstr ""
 #.  we should think about checking for the new Paths (/news/etc/)
 #.  ${TIN_LIBDIR\-/news/etc"}/attributes
 #. type: Plain text
-#: doc/tin.1:3563 doc/tin.5:418
+#: doc/tin.1:3629 doc/tin.5:418
 msgid "I</etc/tin/attributes>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3565 doc/tin.5:420
+#: doc/tin.1:3631 doc/tin.5:420
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes>"
 msgstr ""
 
 #.  TODO: add missing descriptions and explain things in detail.
 #. type: Plain text
-#: doc/tin.1:3568 doc/tin.5:755
+#: doc/tin.1:3634 doc/tin.5:772
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/filter>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3572 doc/tin.5:898
+#: doc/tin.1:3638 doc/tin.5:915
 #, no-wrap
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/keymap${${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}:+\".${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}\"}>\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3574 doc/tin.5:900
+#: doc/tin.1:3640 doc/tin.5:917
 #, no-wrap
 msgid "I</etc/tin/keymap${${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}:+\".${LC_ALL:-\"${LC_MESSAGES:-\"${LC_CTYPE:-\"$LANG\"}\"}\"}\"}>\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3578 doc/tin.5:1145
+#: doc/tin.1:3644 doc/tin.5:1163
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/mailgroups>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3581 doc/tin.5:1161
+#: doc/tin.1:3647 doc/tin.5:1179
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3584 doc/tin.5:1193
+#: doc/tin.1:3650 doc/tin.5:1224
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/posted>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3587 doc/tin.5:1208
+#: doc/tin.1:3653 doc/tin.5:1239
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/Mail/posted>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3590 doc/tin.5:1218
+#: doc/tin.1:3656 doc/tin.5:1249
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/postponed.articles>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3594 doc/tin.5:1228
+#: doc/tin.1:3660 doc/tin.5:1259
 #, no-wrap
-msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/newsgroups>\n"
+msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/motd>\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3599 doc/tin.5:1247
+#: doc/tin.1:3665 doc/tin.5:1270
 #, no-wrap
-msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/serverrc>\n"
+msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/msglog>\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3604 doc/tin.5:1267
+#: doc/tin.1:3670 doc/tin.5:1280
 #, no-wrap
-msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/msglog>\n"
+msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/newsgroups>\n"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.1:3675 doc/tin.5:1299
+#, no-wrap
+msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/serverrc>\n"
 msgstr ""
 
 #.  tin uses inns old (pre 2.x) Path convention.
@@ -7933,22 +8026,22 @@ msgstr ""
 #.  we should think about checking for the new Paths (/news/etc/)
 #.  .IR ${TIN_LIBDIR\-"/news/etc"}/tinrc
 #. type: Plain text
-#: doc/tin.1:3609 doc/tin.5:1280
+#: doc/tin.1:3680 doc/tin.5:1326
 msgid "I</etc/tin/tinrc>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3611 doc/tin.5:1282
+#: doc/tin.1:3682 doc/tin.5:1328
 msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3614 doc/tin.5:2562
+#: doc/tin.1:3685 doc/tin.5:2629
 msgid "I</etc/tin/tin.defaults>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3617
+#: doc/tin.1:3688
 msgid "I</usr/local/share/locale/${LC_MESSAGES}/LC_MESSAGES/tin.mo>"
 msgstr ""
 
@@ -7957,51 +8050,51 @@ msgstr ""
 #.  we should think about checking for the new Paths
 #.  (described shown below).
 #. type: Plain text
-#: doc/tin.1:3620 doc/tin.5:2672
+#: doc/tin.1:3691 doc/tin.5:2739
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3623 doc/tin.5:2733
+#: doc/tin.1:3694 doc/tin.5:2800
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/active.times>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3626 doc/tin.5:2760
+#: doc/tin.1:3697 doc/tin.5:2827
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/newsgroups>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3629 doc/tin.5:2783
+#: doc/tin.1:3700 doc/tin.5:2850
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/organization>"
 msgstr ""
 
 #.  is the Path correct? or is it /news/etc/overview.fmt
 #. type: Plain text
-#: doc/tin.1:3632 doc/tin.5:2793
+#: doc/tin.1:3703 doc/tin.5:2860
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/overview.fmt>"
 msgstr ""
 
 #.  is the Path correct? or is it /news/etc/subscriptions
 #. type: Plain text
-#: doc/tin.1:3637 doc/tin.5:2811
+#: doc/tin.1:3708 doc/tin.5:2878
 msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/subscriptions>"
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:3637 doc/tin.1:3638
+#. type: SH
+#: doc/tin.1:3708
 #, no-wrap
 msgid "ENVIRONMENT"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3642
+#: doc/tin.1:3712
 #, no-wrap
 msgid "B<TINRC>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3650
+#: doc/tin.1:3720
 msgid ""
 "Define this variable if you want to specify command-line options that B<tin> "
 "should be started with to save typing them each time it is started. The "
@@ -8012,13 +8105,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3650
+#: doc/tin.1:3720
 #, no-wrap
 msgid "B<TIN_HOMEDIR>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3655
+#: doc/tin.1:3725
 msgid ""
 "Define this variable if you do not want the I<.tin> directory in "
 "I<$HOME/>. E.g., if you want all B<tin>'s private files in I</tmp/.tin> you "
@@ -8026,13 +8119,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3655
+#: doc/tin.1:3725
 #, no-wrap
 msgid "B<TIN_INDEX_NEWSDIR>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3661
+#: doc/tin.1:3731
 msgid ""
 "Define this variable if you do not want the I<.news> directory in "
 "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s news "
@@ -8040,13 +8133,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3661
+#: doc/tin.1:3731
 #, no-wrap
 msgid "B<TIN_INDEX_MAILDIR>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3667
+#: doc/tin.1:3737
 msgid ""
 "Define this variable if you do not want the I<.mail> directory in "
 "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s mail "
@@ -8054,13 +8147,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3667
+#: doc/tin.1:3737
 #, no-wrap
 msgid "B<TIN_INDEX_SAVEDIR>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3673
+#: doc/tin.1:3743
 msgid ""
 "Define this variable if you do not want the I<.save> directory in "
 "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B<tin>'s save "
@@ -8068,13 +8161,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3673
+#: doc/tin.1:3743
 #, no-wrap
 msgid "B<TIN_LIBDIR>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3678
+#: doc/tin.1:3748
 msgid ""
 "Define this variable if you want to override the B<NEWSLIBDIR> path that was "
 "compiled into the B<tin> binary, default is I</usr/lib/news>.  If B<tin> is "
@@ -8082,13 +8175,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3678
+#: doc/tin.1:3748
 #, no-wrap
 msgid "B<TIN_SPOOLDIR>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3683
+#: doc/tin.1:3753
 msgid ""
 "Define this variable if you want to override the B<SPOOLDIR> path that was "
 "compiled into the B<tin> binary, default is I</var/spool/news>.  If B<tin> "
@@ -8096,13 +8189,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3683
+#: doc/tin.1:3753
 #, no-wrap
 msgid "B<TIN_NOVROOTDIR>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3689
+#: doc/tin.1:3759
 msgid ""
 "Define this variable if you want to override the B<NOVROOTDIR> path that was "
 "compiled into the B<tin> binary, default is B<SPOOLDIR> (see above). If "
@@ -8110,13 +8203,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3689
+#: doc/tin.1:3759
 #, no-wrap
 msgid "B<TIN_NOVFILENAME>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3695
+#: doc/tin.1:3765
 msgid ""
 "Define this variable if you want to override the B<OVERVIEW_FILE> filename "
 "that was compiled into the B<tin> binary, default is I<.overview>. If B<tin> "
@@ -8124,13 +8217,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3695
+#: doc/tin.1:3765
 #, no-wrap
 msgid "B<TIN_ACTIVEFILE>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3701
+#: doc/tin.1:3771
 msgid ""
 "Define this variable if you want to override the B<NEWSLIBDIR/active> path "
 "that was compiled into the B<tin> binary. If B<tin> is running in NNTP mode "
@@ -8139,13 +8232,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3701
+#: doc/tin.1:3771
 #, no-wrap
 msgid "B<NNTPSERVER>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3707
+#: doc/tin.1:3777
 msgid ""
 "The default NNTP server to remotely read news from. This variable only needs "
 "to be set if the ''B<-r>'' command-line option is specified and the file "
@@ -8154,113 +8247,127 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3707
+#: doc/tin.1:3777
 #, no-wrap
 msgid "B<NNTPPORT>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3712
+#: doc/tin.1:3782
 msgid ""
 "The NNTP TCP-port to read news from. This variable only needs to be set if "
-"the TCP-port is not 119 (the default). The ''B<-p>'' and ''B<-T>'' "
-"command-line options do override $B<NNTPPORT>."
+"the TCP-port is not 119 (the default). The ''B<-p>'' command-line option "
+"does override $B<NNTPPORT>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3712
+#: doc/tin.1:3782
+#, no-wrap
+msgid "B<NNTPSPORT>"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.1:3787
+msgid ""
+"The NNTPS TCP-port to read news from. This variable only needs to be set if "
+"the TCP-port is not 563 (the default). The ''B<-p>'' and ''B<-T>'' "
+"command-line options do override $B<NNTPSPORT>."
+msgstr ""
+
+#. type: TP
+#: doc/tin.1:3787
 #, no-wrap
 msgid "B<DISTRIBUTION>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3716
+#: doc/tin.1:3791
 msgid ""
 "Set the article header field ''Distribution:'' to the contents of the "
 "variable instead of the system default."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3716
+#: doc/tin.1:3791
 #, no-wrap
 msgid "B<ISO2ASC>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3720
+#: doc/tin.1:3795
 msgid ""
 "Set the ISO to ASCII charset decoding table character to use in decoding an "
 "article text. Values can range from -1 to 6."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3721
+#: doc/tin.1:3796
 #, no-wrap
 msgid "B<-1>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3724
+#: doc/tin.1:3799
 msgid "no conversion"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3727
+#: doc/tin.1:3802
 msgid "universal table for many languages"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3730
+#: doc/tin.1:3805
 msgid "single-spacing universal table"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3733
+#: doc/tin.1:3808
 msgid "table for Danish, Dutch, German, Norwegian and Swedish"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3737
+#: doc/tin.1:3812
 msgid ""
 "table for Danish, Finnish, Norwegian and Swedish using the appropriate ISO "
 "646 variant"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3740
+#: doc/tin.1:3815
 msgid "table with B<RFC\\%1345> codes in brackets"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3740
+#: doc/tin.1:3815
 #, no-wrap
 msgid "B<5>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3743
+#: doc/tin.1:3818
 msgid "table for printers that allow overstriking with backspace"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3743
+#: doc/tin.1:3818
 #, no-wrap
 msgid "B<6>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3746
+#: doc/tin.1:3821
 msgid "table for IBM PC character set (code page 437)"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3747
+#: doc/tin.1:3822
 #, no-wrap
 msgid "B<ORGANIZATION>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3754
+#: doc/tin.1:3829
 msgid ""
 "Set the article header field ''Organization:'' to the contents of the "
 "variable instead of the system default. If it points to a readable file a "
@@ -8270,24 +8377,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3754
+#: doc/tin.1:3829
 #, no-wrap
 msgid "B<NEWSORG (DomainOS)>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3757
+#: doc/tin.1:3832
 msgid "DomainOS specific, same as $B<ORGANIZATION> on other OSs (see above)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3757
+#: doc/tin.1:3832
 #, no-wrap
 msgid "B<REPLYTO>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3762
+#: doc/tin.1:3837
 msgid ""
 "Set the article header field ''Reply-To:'' to the return address specified "
 "by the variable. This is useful if you wish to receive replies at a "
@@ -8295,72 +8402,86 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3762
+#: doc/tin.1:3837
 #, no-wrap
 msgid "B<NAME>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3766
+#: doc/tin.1:3841
 msgid ""
 "Overrides the full name given in the gecos-field in I</etc/passwd>, see also "
 "B<mail_address>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3766
+#: doc/tin.1:3841
 #, no-wrap
 msgid "B<REALNAME>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3769
+#: doc/tin.1:3844
 msgid "Same as $B<NAME>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3769
+#: doc/tin.1:3844
 #, no-wrap
 msgid "B<HOME>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3774
+#: doc/tin.1:3849
 msgid "Pathname of the user's home directory. See B<\\%environ>(5)  for more info."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3774
+#: doc/tin.1:3849
 #, no-wrap
 msgid "B<MAILER>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3778
+#: doc/tin.1:3853
 msgid ""
 "This variable has precedence over the default mailer that is used in all "
 "mailing operations within B<tin>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3778
+#: doc/tin.1:3853
 #, no-wrap
 msgid "B<MAIL>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3781
+#: doc/tin.1:3856
 msgid "Full path to the user's mailbox."
 msgstr ""
 
+#.  we don't support the %message || ?message notation
+#. type: TP
+#: doc/tin.1:3856
+#, no-wrap
+msgid "B<MAILPATH>"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.1:3861
+msgid ""
+"A colon-separated list of filenames which are checked for new mail. This "
+"overrides the $B<MAIL> variable."
+msgstr ""
+
 #. type: TP
-#: doc/tin.1:3781
+#: doc/tin.1:3861
 #, no-wrap
 msgid "B<VISUAL>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3790
+#: doc/tin.1:3870
 msgid ""
 "This variable has precedence over the default editor (i.e., B<\\%vi>(1))  "
 "that is used in all editing operations within B<tin> (e.g., posting, "
@@ -8369,13 +8490,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3790
+#: doc/tin.1:3870
 #, no-wrap
 msgid "B<EDITOR>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3799
+#: doc/tin.1:3879
 msgid ""
 "If $B<VISUAL> is unset, then this variable is looked up for a default "
 "editor. If $B<EDITOR> and $B<VISUAL> are both unset, B<tin> uses the systems "
@@ -8384,13 +8505,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3799
+#: doc/tin.1:3879
 #, no-wrap
 msgid "B<AUTOSUBSCRIBE>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3805
+#: doc/tin.1:3885
 msgid ""
 "A new group is checked against the list of patterns; if it matches, B<tin> "
 "subscribes the user to the group without further query.  See the section "
@@ -8399,12 +8520,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3807
+#: doc/tin.1:3887
 msgid "I<AUTOSUBSCRIBE=comp.os.unix.*,talk.*,!talk.politics.*>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3812
+#: doc/tin.1:3892
 msgid ""
 "will automatically subscribe the user to all new groups in the comp.os.unix "
 "hierarchy, and all talk groups other than talk.politics groups (which will "
@@ -8413,25 +8534,25 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3812
+#: doc/tin.1:3892
 #, no-wrap
 msgid "B<AUTOUNSUBSCRIBE>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3816
+#: doc/tin.1:3896
 msgid ""
 "Is handled like the $B<AUTOSUBSCRIBE> variable, but groups matching the list "
 "are unsubscribed from without further query. For example, setting"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3818
+#: doc/tin.1:3898
 msgid "I<AUTOUNSUBSCRIBE=alt.flame.*,u*,!uk.*>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3822
+#: doc/tin.1:3902
 msgid ""
 "will automatically unsubscribe the user from all new alt.flame groups and "
 "all groups starting with u (university groups) other than UK groups (which "
@@ -8439,117 +8560,117 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3822
+#: doc/tin.1:3902
 #, no-wrap
 msgid "B<TMPDIR>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3826
+#: doc/tin.1:3906
 msgid ""
 "A pathname of a directory made available for B<tin> to create temporary "
 "files."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3826
+#: doc/tin.1:3906
 #, no-wrap
 msgid "B<MAILCAPS>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3832
+#: doc/tin.1:3912
 msgid ""
 "This variable can be used to override the default path search for "
 "B<\\%mailcap>(5)  files. See also B<\\%tin>(5)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3832
+#: doc/tin.1:3912
 #, no-wrap
 msgid "B<NOMETAMAIL>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3837
+#: doc/tin.1:3917
 msgid ""
 "Set this variable to disable the use of B<\\%metamail>(1)  or a replacement "
-"(e.g. metamutt)."
+"(e.g., metamutt)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3837
+#: doc/tin.1:3917
 #, no-wrap
 msgid "B<MM_CHARSET>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3841
+#: doc/tin.1:3921
 msgid ""
 "MIME character set used if not configured via the tinrc variable "
 "B<mm_charset>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3841
+#: doc/tin.1:3921
 #, no-wrap
 msgid "B<ISPELL>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3846
+#: doc/tin.1:3926
 msgid ""
 "Set this variable to point to B<\\%ispell>(1)  or a replacement and its "
 "cmd-line options."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3846
+#: doc/tin.1:3926
 #, no-wrap
 msgid "B<PGPOPTS>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3853
+#: doc/tin.1:3933
 msgid ""
 "Define any additional options that you wish to pass to your B<\\%pgp>(1)  or "
 "B<\\%gpg>(1)  program."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3853
+#: doc/tin.1:3933
 #, no-wrap
 msgid "B<PGPPATH>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3858
+#: doc/tin.1:3938
 msgid ""
 "Override the name of the B<\\%pgp>(1)  directory in B<$HOME> that holds your "
 "keys etc.."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3858
+#: doc/tin.1:3938
 #, no-wrap
 msgid "B<GNUPGHOME>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3863
+#: doc/tin.1:3943
 msgid ""
 "Override the name of the B<\\%gpg>(1)  directory in B<$HOME> that holds your "
 "keys etc.."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3863
+#: doc/tin.1:3943
 #, no-wrap
 msgid "B<LC_CTYPE>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3875
+#: doc/tin.1:3955
 msgid ""
 "This variable determines the B<\\%locale>(5)  category for character "
 "handling functions. Usually it determines the character classes for pattern "
@@ -8561,13 +8682,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3875
+#: doc/tin.1:3955
 #, no-wrap
 msgid "B<LC_MESSAGES>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3884
+#: doc/tin.1:3964
 msgid ""
 "Formats of informative and diagnostic messages and interactive responses.  "
 "Its value should be of the form "
@@ -8576,13 +8697,27 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3884
+#: doc/tin.1:3964
+#, no-wrap
+msgid "B<LC_NUMERIC>"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.1:3972
+msgid ""
+"Numeric value formats. Its value should be of the form "
+"I<language>[I<_territory>][I<.codeset>][I<@modifier>]. See B<\\%locale>(5)  "
+"and B<\\%environ>(5)  for more information."
+msgstr ""
+
+#. type: TP
+#: doc/tin.1:3972
 #, no-wrap
 msgid "B<LC_TIME>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3892
+#: doc/tin.1:3980
 msgid ""
 "Date and time formats. Its value should be of the form "
 "I<language>[I<_territory>][I<.codeset>][I<@modifier>]. See B<\\%locale>(5)  "
@@ -8590,13 +8725,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3892
+#: doc/tin.1:3980
 #, no-wrap
 msgid "B<LC_ALL>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3901
+#: doc/tin.1:3989
 msgid ""
 "This variable overrides the value of the B<$LANG> variable and any other "
 "B<$LC_> variable. Its value should be of the form "
@@ -8605,13 +8740,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3901
+#: doc/tin.1:3989
 #, no-wrap
 msgid "B<LANG>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3910
+#: doc/tin.1:3998
 msgid ""
 "This variable determines the B<\\%locale>(5)  category for any category not "
 "specifically selected with a variable starting with B<$LC_>. Its value "
@@ -8620,29 +8755,29 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3910
+#: doc/tin.1:3998
 #, no-wrap
 msgid "B<LANGUAGE>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3918
+#: doc/tin.1:4006
 msgid ""
 "This variable defines a priority list for translations. Whenever a "
-"translation is not available in the language selected via B<$LC_ALL> or "
-"B<$LANG> the next language from the list is tried. Its value should be of "
-"the form I<language:language[:language]>. See B<\\%environ>(5)  for more "
+"translation is not available the next language from the list is tried.  Its "
+"value should be of the form I<language:language[:language]>.  Requires "
+"B<$LC_ALL> or B<$LANG> to be set. See B<\\%environ>(5)  for more "
 "information."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3918
+#: doc/tin.1:4006
 #, no-wrap
 msgid "B<COLUMNS>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3928
+#: doc/tin.1:4016
 msgid ""
 "A decimal integer E<gt> 0 used to indicate the user's preferred width in "
 "column positions for the terminal screen or window. If this variable is "
@@ -8655,13 +8790,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3928
+#: doc/tin.1:4016
 #, no-wrap
 msgid "B<LINES>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3938
+#: doc/tin.1:4026
 msgid ""
 "A decimal integer E<gt> 0 used to indicate the user's preferred number of "
 "lines on a page or the vertical screen or window size in lines. A line in "
@@ -8674,108 +8809,108 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3938
+#: doc/tin.1:4026
 #, no-wrap
 msgid "B<TERM>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3944
+#: doc/tin.1:4032
 msgid ""
 "The type of terminal in use. This is used when looking up termcap "
 "sequences.  See B<\\%environ>(5)  for more information."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3944
+#: doc/tin.1:4032
 #, no-wrap
 msgid "B<DISPLAY>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3947
+#: doc/tin.1:4035
 msgid "Display name, pointing to the X server; required for xface."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3947
+#: doc/tin.1:4035
 #, no-wrap
 msgid "B<WINDOWID>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3951
+#: doc/tin.1:4039
 msgid ""
 "Used for determining terminal's X window id; required for xface. Should be "
 "set by the terminal emulator."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3951
+#: doc/tin.1:4039
 #, no-wrap
 msgid "B<SHELL>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3955
+#: doc/tin.1:4043
 msgid ""
 "The pathname of the user's login shell. Used to set "
 "B<default_shell_command>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3955
+#: doc/tin.1:4043
 #, no-wrap
 msgid "B<XDG_RUNTIME_DIR>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3960
+#: doc/tin.1:4048
 msgid "The pathname of the user's dir to put non-essential run time files into."
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:3960 doc/tin.1:3961
+#. type: SH
+#: doc/tin.1:4048
 #, no-wrap
 msgid "SIGNALS"
 msgstr ""
 
 #.  TODO: add missing, sort useful, document in detail
 #. type: Plain text
-#: doc/tin.1:3965
+#: doc/tin.1:4052
 msgid "B<tin> handles a couple of signals:"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3965
+#: doc/tin.1:4052
 #, no-wrap
 msgid "B<SIGHUP>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3968 doc/tin.1:3971
+#: doc/tin.1:4055 doc/tin.1:4058
 msgid "Terminate gracefully."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3968
+#: doc/tin.1:4055
 #, no-wrap
 msgid "B<SIGTERM>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3971
+#: doc/tin.1:4058
 #, no-wrap
 msgid "B<SIGUSR1>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3974
+#: doc/tin.1:4061
 msgid "Terminate gracefully but do not restore terminal (tty)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:3974
+#: doc/tin.1:4061
 #, no-wrap
 msgid "B<SIGUSR2>"
 msgstr ""
@@ -8786,28 +8921,28 @@ msgstr ""
 #.  give an overview of the most common error messages and how to cope with
 #.  them.
 #. type: Plain text
-#: doc/tin.1:3985
+#: doc/tin.1:4072
 msgid "Write out I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>-file."
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:3985 doc/tin.1:3986
+#. type: SH
+#: doc/tin.1:4072
 #, no-wrap
 msgid "SECURITY"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3992
+#: doc/tin.1:4078
 msgid ""
 "If B<tin> is started in debug mode (''B<-D n>'') it will create world "
 "readable files in B<$TMPDIR> which may contain sensitive data like the users "
 "NNTP password in cleartext (if running verbose). On multiuser-systems "
 "B<$TMPDIR> should be set to a safe location before starting B<tin> in "
-"(verbose) debug mode (e.g. B<TMPDIR=$HOME tin -vD 1>)."
+"(verbose) debug mode (e.g., B<TMPDIR=$HOME tin -vD 1>)."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:3996
+#: doc/tin.1:4082
 msgid ""
 "Using the ''B<-k>'' option to skip certificate verification makes the "
 "session insecure as the server's certificate is not checked; avoid this "
@@ -8815,7 +8950,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4003
+#: doc/tin.1:4089
 msgid ""
 "If the server does not initially require authentication but supports "
 "compression and compression is requested, B<tin> will exit when "
@@ -8823,8 +8958,8 @@ msgid ""
 "in conjunction with ''B<-C>'' circumvents this behavior."
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:4003 doc/tin.1:4004
+#. type: SH
+#: doc/tin.1:4089
 #, no-wrap
 msgid "CONFORMING TO"
 msgstr ""
@@ -8832,21 +8967,21 @@ msgstr ""
 #.  - RFC\%2045, RFC\%2047, RFC\%2231, RFC\%2980, RFC\%3977, RFC\%4155
 #.    RFC\%4643, RFC\%5322, RFC\%5536, RFC\%5537, RFC\%6048 or whatever
 #. type: Plain text
-#: doc/tin.1:4012
+#: doc/tin.1:4097
 msgid ""
 "B<tin> does conform to the Base Definitions volume of IEEE Std 1003.1-2008, "
 "Section 12, Utility Conventions (Utility Argument Syntax, Utility Syntax "
 "Guidelines)."
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:4012 doc/tin.1:4013
+#. type: SH
+#: doc/tin.1:4097
 #, no-wrap
 msgid "NOTES"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4020
+#: doc/tin.1:4104
 msgid ""
 "Regular expression support is provided by the PCRE library package "
 "B<\\%pcre>(3)  or B<\\%pcre2>(3)  which is open source software, written by "
@@ -8854,18 +8989,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4024
+#: doc/tin.1:4108
 msgid "E<lt>https://www.pcre.org/E<gt>"
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:4024 doc/tin.1:4025
+#. type: SH
+#: doc/tin.1:4108
 #, no-wrap
 msgid "BUGS"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4033
+#: doc/tin.1:4116
 msgid ""
 "B<CNews>\\0NNTPd, B<\\%noffle>(1)  (E<lt>= V1.0-pre5) and B<NewsCache> "
 "(E<lt>= V1.1.91) can't handle pipelined GROUP commands (B<RFC\\%3977>).  If "
@@ -8874,7 +9009,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4040
+#: doc/tin.1:4123
 msgid ""
 "Using the ''B<-C>'' (COMPRESS) flag with B<INN>\\0nnrpd versions between "
 "2.6.1 and 2.7.1 (both incl.) may cause B<tin> to hang and later timeout when "
@@ -8883,7 +9018,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4049
+#: doc/tin.1:4132
 msgid ""
 "Before mailing a bug-report to E<lt>tin-bugs@tin.orgE<gt> please check if "
 "you are using the latest (stable) release, and if not, please upgrade first! "
@@ -8893,14 +9028,14 @@ msgid ""
 "request it."
 msgstr ""
 
-#. type: IX
-#: doc/tin.1:4049 doc/tin.1:4050
+#. type: SH
+#: doc/tin.1:4132
 #, no-wrap
 msgid "HISTORY"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4059
+#: doc/tin.1:4141
 msgid ""
 "B<tin> is based on the B<\\%tass>(1)  newsreader that was developed by Rich "
 "Skrenta and posted to alt.sources in March 1991; its first version was "
@@ -8911,171 +9046,171 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4063
+#: doc/tin.1:4145
 msgid "E<lt>http://www.tin.org/history.htmlE<gt>."
 msgstr ""
 
 #. type: SH
-#: doc/tin.1:4063
+#: doc/tin.1:4145
 #, no-wrap
 msgid "CREDITS"
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4064
+#: doc/tin.1:4146
 #, no-wrap
 msgid "Rich Skrenta"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4068
+#: doc/tin.1:4150
 msgid "author of B<\\%tass>(1)  v3.2 which this newsreader used as its base."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4068
+#: doc/tin.1:4150
 #, no-wrap
 msgid "Bill Davidsen"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4070
+#: doc/tin.1:4152
 msgid "author of envarg.c environment variable reading routine."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4070
+#: doc/tin.1:4152
 #, no-wrap
 msgid "Mike Gleason"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4072
+#: doc/tin.1:4154
 msgid "author of sigfile.c random signature generation routines."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4072
+#: doc/tin.1:4154
 #, no-wrap
 msgid "Markus Kuhn E<lt>Markus.Kuhn@cl.cam.ac.ukE<gt>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4074
+#: doc/tin.1:4156
 msgid "author of langinfo.c, charset.c and iso2asc.txt ISO-8859-1 documentation."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4074
+#: doc/tin.1:4156
 #, no-wrap
-msgid "Arnold Robbins"
+msgid "Arnold D. Robbins"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4076
+#: doc/tin.1:4158
 msgid "author of strftime.c date formatting routine."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4076
+#: doc/tin.1:4158
 #, no-wrap
 msgid "Rich Salz"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4078
+#: doc/tin.1:4160
 msgid "author of wildmat.c pattern matching and parsdate.y date parsing routines."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4078
+#: doc/tin.1:4160
 #, no-wrap
 msgid "Dave Taylor"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4082
+#: doc/tin.1:4164
 msgid "author of curses.c from the B<\\%elm>(1)  mailreader."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4082
+#: doc/tin.1:4164
 #, no-wrap
 msgid "Chris Thewalt"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4086
+#: doc/tin.1:4168
 msgid "author of getline.c B<\\%emacs>(1)  style editing routine."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4086
+#: doc/tin.1:4168
 #, no-wrap
 msgid "Steven Madsen"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4090
+#: doc/tin.1:4172
 msgid "for adding B<\\%pgp>(1)  (Pretty Good Privacy) support."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4090
+#: doc/tin.1:4172
 #, no-wrap
 msgid "Philip Hazel E<lt>ph10@cam.ac.ukE<gt>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4095
+#: doc/tin.1:4177
 msgid ""
 "for B<\\%pcre>(3), B<\\%pcre2>(3)  (Perl-compatible regular expression "
 "library)."
 msgstr ""
 
 #. type: IP
-#: doc/tin.1:4095
+#: doc/tin.1:4177
 #, no-wrap
-msgid "Patrick Powell E<lt>papowell@astart.comE<gt>"
+msgid "Mark Martinec E<lt>mark.martinec@ijs.siE<gt>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4103
+#: doc/tin.1:4185
 msgid "for B<\\%snprintf>(3)  and B<\\%vsnprintf>(3)  fallbacks."
 msgstr ""
 
 #. type: SH
-#: doc/tin.1:4103
+#: doc/tin.1:4185
 #, no-wrap
 msgid "AUTHOR"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:4104
+#: doc/tin.1:4186
 #, no-wrap
 msgid "Iain Lea E<lt>iain@bricbrac.deE<gt>"
 msgstr ""
 
 #. type: SH
-#: doc/tin.1:4108
+#: doc/tin.1:4190
 #, no-wrap
 msgid "MAINTAINER"
 msgstr ""
 
 #. type: TP
-#: doc/tin.1:4109
+#: doc/tin.1:4191
 #, no-wrap
 msgid "Urs Janssen E<lt>urs@tin.orgE<gt>"
 msgstr ""
 
 #. type: SH
-#: doc/tin.1:4113 doc/tin.1:4114 doc/tin.5:2823
+#: doc/tin.1:4195 doc/tin.5:2890
 #, no-wrap
 msgid "SEE ALSO"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.1:4176
+#: doc/tin.1:4259
 msgid ""
 "B<\\%elm>(1), B<\\%emacs>(1), B<\\%gpg>(1), B<\\%inews>(1), B<\\%ispell>(1), "
 "B<\\%lp>(1), B<\\%lpr>(1), B<\\%metamail>(1), B<\\%mutt>(1), "
@@ -9087,11 +9222,11 @@ msgid ""
 "B<\\%pcre2pattern>(3), B<\\%qsort>(3), B<\\%snprintf>(3), B<\\%strftime>(3), "
 "B<\\%vsnprintf>(3), B<\\%wildmat>(3), B<\\%environ>(5), B<\\%locale>(5), "
 "B<\\%mailcap>(5), B<\\%mbox>(5), B<\\%mmdf>(5), B<\\%newsoverview>(5), "
-"B<\\%tin>(5), B<\\%cron>(8), B<RFC\\%1345>, B<RFC\\%1524>, B<RFC\\%2045>, "
-"B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2048>, B<RFC\\%2231>, B<RFC\\%2980>, "
+"B<\\%tin>(5), B<\\%cron>(8), B<RFC\\%1345>, B<RFC\\%1524>, B<RFC\\%1952>, "
+"B<RFC\\%2045>, B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2231>, B<RFC\\%2980>, "
 "B<RFC\\%3156>, B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%4880>, "
-"B<RFC\\%5322>, B<RFC\\%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%8054>, "
-"B<RFC\\%8143>"
+"B<RFC\\%5198>, B<RFC\\%5322>, B<RFC\\%5536>, B<RFC\\%5537>, B<RFC\\%6048>, "
+"B<RFC\\%6838>, B<RFC\\%8054>, B<RFC\\%8143>"
 msgstr ""
 
 #. type: Plain text
@@ -9290,7 +9425,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:153 doc/tin.5:1154
+#: doc/tin.5:153 doc/tin.5:1172
 #, no-wrap
 msgid "B<description>"
 msgstr ""
@@ -9361,8 +9496,8 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:184 doc/tin.5:272 doc/tin.5:302 doc/tin.5:393 doc/tin.5:712
-#: doc/tin.5:872 doc/tin.5:1178
+#: doc/tin.5:184 doc/tin.5:272 doc/tin.5:302 doc/tin.5:393 doc/tin.5:724
+#: doc/tin.5:889 doc/tin.5:1201
 #, no-wrap
 msgid "Example:"
 msgstr ""
@@ -9464,16 +9599,16 @@ msgstr ""
 #: doc/tin.5:261
 msgid ""
 "\"I<nntpserver[:port]> I<password> [I<user>]\" pairs for NNTP servers that "
-"require authorization.  If the password contains a space or a tab it must be "
-"enclosed in double quotes (\").  Usernames must not be enclosed in double "
-"quotes and thus can't contain spaces or tabs.  Any line that starts with "
-"\"#\" is a comment.  Blank lines are ignored.  This file should be readable "
+"require authorization. If the password contains a space or a tab it must be "
+"enclosed in double quotes (\"). Usernames must not be enclosed in double "
+"quotes and thus can't contain spaces or tabs. Any line that starts with "
+"\"#\" is a comment. Blank lines are ignored. This file should be readable "
 "only for the user as it contains the user's unencrypted password for reading "
 "news!"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:261 doc/tin.5:1167
+#: doc/tin.5:261 doc/tin.5:1185
 #, no-wrap
 msgid "B<nntpserver>"
 msgstr ""
@@ -9553,7 +9688,7 @@ msgstr ""
 
 #. type: Plain text
 #: doc/tin.5:297
-msgid "a flag indicating if the group is subscribed ':' or not '!'."
+msgid "a flag indicating if the group is subscribed ':' or not '!\\&'."
 msgstr ""
 
 #. type: TP
@@ -9602,7 +9737,7 @@ msgstr ""
 
 #. type: Plain text
 #: doc/tin.5:338
-msgid "fixed part of a randomly generated signature"
+msgid "fixed part of a randomly generated signature, this will be added first"
 msgstr ""
 
 #. type: Plain text
@@ -9634,7 +9769,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:378 doc/tin.5:1151
+#: doc/tin.5:378 doc/tin.5:1169
 #, no-wrap
 msgid "B<mailgroupname>"
 msgstr ""
@@ -9643,7 +9778,7 @@ msgstr ""
 #: doc/tin.5:382
 msgid ""
 "must be the pathname of the mailbox relative to field #4 with '/' changed to "
-"'.'"
+"'.\\&'"
 msgstr ""
 
 #. type: TP
@@ -9735,7 +9870,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:438 doc/tin.5:1300
+#: doc/tin.5:438 doc/tin.5:1347
 #, no-wrap
 msgid "B<add_posted_to_filter>"
 msgstr ""
@@ -9755,13 +9890,13 @@ msgid "Identical to the tinrc variable o
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:441 doc/tin.5:1304
+#: doc/tin.5:441 doc/tin.5:1351
 #, no-wrap
 msgid "B<advertising>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:444 doc/tin.5:1307
+#: doc/tin.5:444 doc/tin.5:1354
 #, no-wrap
 msgid "B<alternative_handling>"
 msgstr ""
@@ -9773,13 +9908,13 @@ msgid "B<ask_for_metamail>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:450 doc/tin.5:1356
+#: doc/tin.5:450 doc/tin.5:1403
 #, no-wrap
 msgid "B<auto_cc_bcc>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:453 doc/tin.5:1360
+#: doc/tin.5:453 doc/tin.5:1407
 #, no-wrap
 msgid "B<auto_list_thread>"
 msgstr ""
@@ -9798,7 +9933,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:460 doc/tin.5:1367
+#: doc/tin.5:460 doc/tin.5:1414
 #, no-wrap
 msgid "B<batch_save>"
 msgstr ""
@@ -9812,7 +9947,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:466 doc/tin.5:1499
+#: doc/tin.5:466 doc/tin.5:1551
 #, no-wrap
 msgid "B<date_format>"
 msgstr ""
@@ -9833,13 +9968,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:476 doc/tin.5:1616
+#: doc/tin.5:476 doc/tin.5:1672
 #, no-wrap
 msgid "B<editor_format>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:479 doc/tin.5:1623
+#: doc/tin.5:479 doc/tin.5:1679
 #, no-wrap
 msgid "B<extquote_handling>"
 msgstr ""
@@ -9869,7 +10004,7 @@ msgid "Set ''Followup-To:'' header to th
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:489 doc/tin.5:785
+#: doc/tin.5:489 doc/tin.5:802
 #, no-wrap
 msgid "B<from>"
 msgstr ""
@@ -9880,31 +10015,31 @@ msgid "Identical to the tinrc variable B
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:492 doc/tin.5:1658
+#: doc/tin.5:492 doc/tin.5:1714
 #, no-wrap
 msgid "B<group_catchup_on_exit>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:495 doc/tin.5:1661
+#: doc/tin.5:495 doc/tin.5:1717
 #, no-wrap
 msgid "B<group_format>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:498 doc/tin.5:1741
+#: doc/tin.5:498 doc/tin.5:1797
 #, no-wrap
 msgid "B<mail_8bit_header>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:501 doc/tin.5:1753 doc/tin.5:2599
+#: doc/tin.5:501 doc/tin.5:1809 doc/tin.5:2666
 #, no-wrap
 msgid "B<mail_mime_encoding>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:504 doc/tin.5:1772
+#: doc/tin.5:504 doc/tin.5:1829
 #, no-wrap
 msgid "B<maildir>"
 msgstr ""
@@ -9923,13 +10058,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:511 doc/tin.5:1811
+#: doc/tin.5:511 doc/tin.5:1867
 #, no-wrap
 msgid "B<mark_ignore_tags>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:514 doc/tin.5:1808
+#: doc/tin.5:514 doc/tin.5:1864
 #, no-wrap
 msgid "B<mark_saved_read>"
 msgstr ""
@@ -9975,25 +10110,25 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:541 doc/tin.5:1890
+#: doc/tin.5:541 doc/tin.5:1950
 #, no-wrap
 msgid "B<news_headers_to_display>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:544 doc/tin.5:1897
+#: doc/tin.5:544 doc/tin.5:1957
 #, no-wrap
 msgid "B<news_headers_to_not_display>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:547 doc/tin.5:1906
+#: doc/tin.5:547 doc/tin.5:1966
 #, no-wrap
 msgid "B<news_quote_format>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:550 doc/tin.5:2572
+#: doc/tin.5:550 doc/tin.5:2639
 #, no-wrap
 msgid "B<organization>"
 msgstr ""
@@ -10009,61 +10144,61 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:558 doc/tin.5:1948
+#: doc/tin.5:558 doc/tin.5:2009
 #, no-wrap
 msgid "B<pos_first_unread>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:561 doc/tin.5:1952
+#: doc/tin.5:561 doc/tin.5:2013
 #, no-wrap
 msgid "B<post_8bit_header>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:564 doc/tin.5:1963 doc/tin.5:2596
+#: doc/tin.5:564 doc/tin.5:2024 doc/tin.5:2663
 #, no-wrap
 msgid "B<post_mime_encoding>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:567 doc/tin.5:1976
+#: doc/tin.5:567 doc/tin.5:2037
 #, no-wrap
 msgid "B<post_process_type>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:570 doc/tin.5:1968
+#: doc/tin.5:570 doc/tin.5:2029
 #, no-wrap
 msgid "B<post_process_view>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:573 doc/tin.5:2000
+#: doc/tin.5:573 doc/tin.5:2061
 #, no-wrap
 msgid "B<print_header>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:576 doc/tin.5:2014
+#: doc/tin.5:576 doc/tin.5:2075
 #, no-wrap
 msgid "B<process_only_unread>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:579 doc/tin.5:2018
+#: doc/tin.5:579 doc/tin.5:2079
 #, no-wrap
 msgid "B<prompt_followupto>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:582 doc/tin.5:2022
+#: doc/tin.5:582 doc/tin.5:2083
 #, no-wrap
 msgid "B<quote_chars>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:585 doc/tin.5:2084
+#: doc/tin.5:585 doc/tin.5:2148
 #, no-wrap
 msgid "B<savedir>"
 msgstr ""
@@ -10076,49 +10211,49 @@ msgid "B<savefile>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:591 doc/tin.5:2160
+#: doc/tin.5:591 doc/tin.5:2224
 #, no-wrap
 msgid "B<show_art_score>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:594 doc/tin.5:2143
+#: doc/tin.5:594 doc/tin.5:2207
 #, no-wrap
 msgid "B<show_author>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:597 doc/tin.5:2192
+#: doc/tin.5:597 doc/tin.5:2256
 #, no-wrap
 msgid "B<show_only_unread_arts>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:600 doc/tin.5:2200
+#: doc/tin.5:600 doc/tin.5:2264
 #, no-wrap
 msgid "B<show_signatures>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:603 doc/tin.5:2203
+#: doc/tin.5:603 doc/tin.5:2267
 #, no-wrap
 msgid "B<sigdashes>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:606 doc/tin.5:2206
+#: doc/tin.5:606 doc/tin.5:2270
 #, no-wrap
 msgid "B<sigfile>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:609 doc/tin.5:2216
+#: doc/tin.5:609 doc/tin.5:2283
 #, no-wrap
 msgid "B<signature_repost>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:612 doc/tin.5:2226
+#: doc/tin.5:612 doc/tin.5:2293
 #, no-wrap
 msgid "B<sort_article_type>"
 msgstr ""
@@ -10129,61 +10264,61 @@ msgid "Identical to the tinrc variable B
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:615 doc/tin.5:2255
+#: doc/tin.5:615 doc/tin.5:2322
 #, no-wrap
 msgid "B<sort_threads_type>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:618 doc/tin.5:2322
+#: doc/tin.5:618 doc/tin.5:2389
 #, no-wrap
 msgid "B<tex2iso_conv>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:621 doc/tin.5:2327
+#: doc/tin.5:621 doc/tin.5:2394
 #, no-wrap
 msgid "B<thread_articles>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:624 doc/tin.5:2371
+#: doc/tin.5:624 doc/tin.5:2438
 #, no-wrap
 msgid "B<thread_catchup_on_exit>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:627 doc/tin.5:2347
+#: doc/tin.5:627 doc/tin.5:2414
 #, no-wrap
 msgid "B<thread_format>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:630 doc/tin.5:2366
+#: doc/tin.5:630 doc/tin.5:2433
 #, no-wrap
 msgid "B<thread_perc>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:633 doc/tin.5:2400
+#: doc/tin.5:633 doc/tin.5:2467
 #, no-wrap
 msgid "B<trim_article_body>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:636 doc/tin.5:2425
+#: doc/tin.5:636 doc/tin.5:2492
 #, no-wrap
 msgid "B<suppress_soft_hyphens>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:639 doc/tin.5:2490
+#: doc/tin.5:639 doc/tin.5:2557
 #, no-wrap
 msgid "B<verbatim_handling>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:642 doc/tin.5:2548
+#: doc/tin.5:642 doc/tin.5:2615
 #, no-wrap
 msgid "B<wrap_on_next_unread>"
 msgstr ""
@@ -10202,7 +10337,7 @@ msgid ""
 "containing the text to insert. If the string starts with a ! then what "
 "follows is assumed to be the path to a program to be executed to generate "
 "the content. %G is expanded to the current news.group.name and %P is "
-"expanded to the news.group.name with all '.' replaced by '/'."
+"expanded to the news.group.name with all '.\\&' replaced by '/'."
 msgstr ""
 
 #. type: TP
@@ -10231,7 +10366,7 @@ msgid ""
 "be inserted. If the string starts with a ! then what follows is assumed to "
 "be the path to a program to be executed to generate the header and its "
 "content. %G is expanded to the current news.group.name and %P is expanded to "
-"the news.group.name with all '.' replaced by '/'."
+"the news.group.name with all '.\\&' replaced by '/'."
 msgstr ""
 
 #. type: TP
@@ -10338,12 +10473,12 @@ msgstr ""
 #. type: Plain text
 #: doc/tin.5:700
 msgid ""
-"Path and options for B<\\%ispell>(1)-like spell-checker, e.g. \"aspell "
+"Path and options for B<\\%ispell>(1)-like spell-checker, e.g., \"aspell "
 "--mode=email --dont-backup check\""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:700 doc/tin.5:1844
+#: doc/tin.5:700 doc/tin.5:1902
 #, no-wrap
 msgid "B<mm_network_charset>"
 msgstr ""
@@ -10355,27 +10490,43 @@ msgid "B<undeclared_charset>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:712
+#: doc/tin.5:714
 msgid ""
 "Assume (broken) articles without MIME charset declaration have this charset "
 "\\(em default is US-ASCII. This attribute works only on systems with working "
-"B<\\%iconv>(3), others might have to compile B<\\%tin>(1)  with "
-"--disable-mime-strict-charset."
+"B<\\%iconv>(3)  or B<\\%ucnv_*>(), others might have to compile B<\\%tin>(1)  "
+"with --disable-mime-strict-charset."
+msgstr ""
+
+#. type: TP
+#: doc/tin.5:714
+#, no-wrap
+msgid "B<undeclared_cs_guess>"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:724
+msgid ""
+"Guess charset for (broken) articles without MIME charset declaration.  This "
+"attribute works only on systems with working B<\\%iconv>(3)  or "
+"B<\\%ucnv_*>()  and B<\\%ucsdet_getName()> from libicui18n. It has no effect "
+"if undeclared_charset is also set."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:721
+#: doc/tin.5:734
 #, no-wrap
 msgid ""
 "# include extra headers\n"
 "# assume ISO-8859-1 as charset if no charset is declared\n"
-"scope=*\n"
+"# in all but fido7.* groups\n"
+"scope=*,!fido7.*\n"
 "x_headers=~/.tin/headers\n"
 "undeclared_charset=ISO-8859-1\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:725
+#: doc/tin.5:738
 #, no-wrap
 msgid ""
 "# in *sources* set post process type to shar only\n"
@@ -10384,7 +10535,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:732
+#: doc/tin.5:745
 #, no-wrap
 msgid ""
 "# in *binaries* turn on full post processing,\n"
@@ -10396,7 +10547,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:738
+#: doc/tin.5:751
 #, no-wrap
 msgid ""
 "# in fido.* newsgroups change quote_chars\n"
@@ -10407,7 +10558,16 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:744
+#: doc/tin.5:755
+#, no-wrap
+msgid ""
+"# in fido7.* newsgroups guess charset\n"
+"scope=fido7.*\n"
+"undeclared_cs_guess=ON\n"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:761
 #, no-wrap
 msgid ""
 "# in *.test newsgroups, don't append signature\n"
@@ -10418,7 +10578,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:748
+#: doc/tin.5:765
 #, no-wrap
 msgid ""
 "# assume ISO-2022-JP-2 as charset\n"
@@ -10427,7 +10587,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:762
+#: doc/tin.5:779
 msgid ""
 "The filter file is used to assign scores to certain articles. Based on the "
 "score an article can be filtered out (hidden) or marked hot. Empty lines or "
@@ -10437,13 +10597,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:762
+#: doc/tin.5:779
 #, no-wrap
 msgid "B<comment>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:771
+#: doc/tin.5:788
 msgid ""
 "Every entry (rule) in the filter file might get a comment. Multiple lines "
 "are allowed (but only for comments yet). Every line must start with the "
@@ -10454,73 +10614,73 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:771
+#: doc/tin.5:788
 #, no-wrap
 msgid "B<group>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:775
+#: doc/tin.5:792
 msgid ""
 "A comma-separated list of newsgroup patterns in wildmat-style to which "
 "groups the filter rule will be applied. This line is mandatory!"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:775
+#: doc/tin.5:792
 #, no-wrap
 msgid "B<case>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:778
+#: doc/tin.5:795
 msgid "0=case-sensitive, 1=case-insensitive"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:778
+#: doc/tin.5:795
 #, no-wrap
 msgid "B<score>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:781
+#: doc/tin.5:798
 msgid ""
 "Score value of the rule; can also be one of the magic words \"kill\" or "
 "\"hot\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:781
+#: doc/tin.5:798
 #, no-wrap
 msgid "B<subj>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:785
+#: doc/tin.5:802
 msgid ""
 "Match against ''Subject:''. The matching type used (wildmat or regex) "
 "depends on the setting of the tinrc variable B<wildcard>."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:794
+#: doc/tin.5:811
 msgid ""
 "Match against ''From:''.  B<\\%tin>(1)  converts the contents of the "
-"''From:'' header to an old style e-mail address, e.g. ''some@body.example "
+"''From:'' header to an old style e-mail address, e.g., ''some@body.example "
 "(John Doe)'' instead of ''John Doe E<lt>some@body.exampleE<gt>'', before "
 "trying to match the patterns in the filter rule. The matching type used "
 "(wildmat or regex) depends on the setting of the tinrc variable B<wildcard>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:794
+#: doc/tin.5:811
 #, no-wrap
 msgid "B<msgid>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:799
+#: doc/tin.5:816
 msgid ""
 "Match against ''Message-ID:'' and full ''References:''. The matching type "
 "used (wildmat or regex) depends on the setting of the tinrc variable "
@@ -10528,13 +10688,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:799
+#: doc/tin.5:816
 #, no-wrap
 msgid "B<msgid_last>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:804
+#: doc/tin.5:821
 msgid ""
 "Match against ''Message-ID:'' and last ''References:'' entry (direct "
 "responses) only. The matching type used (wildmat or regex) depends on the "
@@ -10542,52 +10702,52 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:804
+#: doc/tin.5:821
 #, no-wrap
 msgid "B<msgid_only>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:808
+#: doc/tin.5:825
 msgid ""
 "Match against ''Message-ID:''. The matching type used (wildmat or regex)  "
 "depends on the setting of the tinrc variable B<wildcard>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:808
+#: doc/tin.5:825
 #, no-wrap
 msgid "B<refs_only>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:812
+#: doc/tin.5:829
 msgid ""
 "Match against ''References:''. The matching type used (wildmat or regex)  "
 "depends on the setting of the tinrc variable B<wildcard>."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:812
+#: doc/tin.5:829
 #, no-wrap
 msgid "B<lines>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:815
+#: doc/tin.5:832
 msgid ""
 "Match against ''Lines:'', E<lt>num matches less than, E<gt>num matches more "
 "than."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:815
+#: doc/tin.5:832
 #, no-wrap
 msgid "B<gnksa>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:822
+#: doc/tin.5:839
 msgid ""
 "Match against ''From:'' address parser return codes. E<lt>num matches less "
 "than, E<gt>num matches more than the returned numeric "
@@ -10597,13 +10757,13 @@ msgid ""
 msgstr ""
 
 #. type: ta
-#: doc/tin.5:824
+#: doc/tin.5:841
 #, no-wrap
 msgid "\\w'%406\t'u +\\w'GNKSA_ZERO_LENGTH_LOCAL_WORD'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:854
+#: doc/tin.5:871
 #, no-wrap
 msgid ""
 "  B<0>\tGNKSA_OK\n"
@@ -10638,30 +10798,30 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:856
+#: doc/tin.5:873
 #, no-wrap
 msgid "B<xref>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:863
+#: doc/tin.5:880
 msgid ""
 "Match against ''Xref:'' line. Before any matching is done the line is turned "
 "into the same format ''Newsgroups:'' has that is it is turned into a comma "
-"separated newsgroup list with all other information (i.e.  the article "
+"separated newsgroup list with all other information (i.e., the article "
 "counter) removed. The matching type used (wildmat or regex)  depends on the "
 "setting of the tinrc variable B<wildcard>."
 msgstr ""
 
 #.  TODO: document option in detail
 #. type: TP
-#: doc/tin.5:863
+#: doc/tin.5:880
 #, no-wrap
 msgid "B<path>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:869
+#: doc/tin.5:886
 msgid ""
 "Match against ''Path:'' line. This may not work on some servers. The "
 "matching type used (wildmat or regex) depends on the setting of the tinrc "
@@ -10669,18 +10829,18 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:869 doc/tin.5:2743
+#: doc/tin.5:886 doc/tin.5:2810
 #, no-wrap
 msgid "B<time>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:872
+#: doc/tin.5:889
 msgid "time_t value when rule expires"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:882
+#: doc/tin.5:899
 #, no-wrap
 msgid ""
 "comment=mark all articles about tin, rtin,\n"
@@ -10692,10 +10852,10 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:891
+#: doc/tin.5:908
 #, no-wrap
 msgid ""
-"comment=downscore postings in nsr from google base on\n"
+"comment=downscore postings in nsr from google based on\n"
 "comment=message-id or path, if both hit they end up with\n"
 "comment=a score of -66 which is enough to mark them killed\n"
 "group=news.software.readers\n"
@@ -10706,7 +10866,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:912
+#: doc/tin.5:929
 msgid ""
 "Keymap-file, containing \"I<keyname> I<value> I<[value]>\" pairs separated "
 "by spaces or tabs. If the keymap-file named with full specified "
@@ -10718,13 +10878,13 @@ msgid ""
 msgstr ""
 
 #. type: ta
-#: doc/tin.5:914
+#: doc/tin.5:931
 #, no-wrap
 msgid "\\w'GroupSelThdIfUnreadSelected    'u +\\w'SPACE'u +\\w'SPACE'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:962
+#: doc/tin.5:979
 #, no-wrap
 msgid ""
 "B<ShellEscape>\t!\n"
@@ -10777,7 +10937,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:970
+#: doc/tin.5:987
 #, no-wrap
 msgid ""
 "B<AttachSelect>\t^J\t^M\n"
@@ -10790,7 +10950,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:978
+#: doc/tin.5:995
 #, no-wrap
 msgid ""
 "B<ConfigToggleAttrib>\tTAB\n"
@@ -10803,7 +10963,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:986
+#: doc/tin.5:1003
 #, no-wrap
 msgid ""
 "B<FeedTag>\tT\n"
@@ -10816,7 +10976,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:989
+#: doc/tin.5:1006
 #, no-wrap
 msgid ""
 "B<FilterEdit>\te\n"
@@ -10824,7 +10984,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1019
+#: doc/tin.5:1036
 #, no-wrap
 msgid ""
 "B<GroupNextUnreadArtOrGrp>\tTAB\n"
@@ -10859,7 +11019,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1022
+#: doc/tin.5:1039
 #, no-wrap
 msgid ""
 "B<HelpLastPage>\tG\n"
@@ -10867,7 +11027,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1062
+#: doc/tin.5:1080
 #, no-wrap
 msgid ""
 "B<PageReplyQuoteHeaders>\t^E\n"
@@ -10879,6 +11039,7 @@ msgid ""
 "B<PageFollowupQuoteHeaders>\t^W\n"
 "B<PageToggleTex2iso>\t\"\n"
 "B<PageToggleAllHeaders>\t*\n"
+"B<PageArticleInfo>\t'\n"
 "B<PageToggleRot>\t%\n"
 "B<PageToggleUue>\t(\n"
 "B<PageReveal>\t)\n"
@@ -10912,7 +11073,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1067
+#: doc/tin.5:1085
 #, no-wrap
 msgid ""
 "B<PgpEncSign>\tb\n"
@@ -10922,7 +11083,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1080
+#: doc/tin.5:1098
 #, no-wrap
 msgid ""
 "B<PostAbort>\ta\n"
@@ -10940,13 +11101,13 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1082
+#: doc/tin.5:1100
 #, no-wrap
 msgid "B<PostedArticlesSelect>\t^J\t^M\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1085
+#: doc/tin.5:1103
 #, no-wrap
 msgid ""
 "B<PostponeOverride>\tY\n"
@@ -10954,7 +11115,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1088
+#: doc/tin.5:1106
 #, no-wrap
 msgid ""
 "B<PromptYes>\ty\tY\n"
@@ -10962,7 +11123,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1092
+#: doc/tin.5:1110
 #, no-wrap
 msgid ""
 "B<PProcNone>\tn\n"
@@ -10971,7 +11132,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1095
+#: doc/tin.5:1113
 #, no-wrap
 msgid ""
 "B<SaveAppendFile>\ta\n"
@@ -10979,7 +11140,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1113
+#: doc/tin.5:1131
 #, no-wrap
 msgid ""
 "B<SelectEnterNextUnreadGrp>\tTAB\tn\n"
@@ -11002,7 +11163,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1120
+#: doc/tin.5:1138
 #, no-wrap
 msgid ""
 "B<ScopeSelect>\t^J\t^M\n"
@@ -11014,7 +11175,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1138
+#: doc/tin.5:1156
 #, no-wrap
 msgid ""
 "B<ThreadReadNextArtOrThread>\tTAB\n"
@@ -11037,13 +11198,13 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1140
+#: doc/tin.5:1158
 #, no-wrap
 msgid "B<UrlSelect>\t^J\t^M\n"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1151
+#: doc/tin.5:1169
 msgid ""
 "This file provides short descriptions of each mailgroup. (requires "
 "B<\\%tin>(1)  to be built with mh-mail-handling support). Each line consist "
@@ -11051,75 +11212,101 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1154 doc/tin.5:1239 doc/tin.5:2689 doc/tin.5:2743 doc/tin.5:2770
+#: doc/tin.5:1172 doc/tin.5:1291 doc/tin.5:2756 doc/tin.5:2810 doc/tin.5:2837
 msgid "is the name of the newsgroup"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1157 doc/tin.5:1242 doc/tin.5:2773
+#: doc/tin.5:1175 doc/tin.5:1294 doc/tin.5:2840
 msgid "is a short single-line description of the group"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1167
+#: doc/tin.5:1185
 msgid ""
 "\"I<nntpserver[:port]> I<newsrc> [I<shortname> [I<...>]]\" pairs to use with "
 "the ''B<-g>'' command-line switch. The matching is case-insensitive and any "
-"line that starts with \"#\", \";\" or \" \" is treated as a comment."
+"line that starts with \"#\", \";\" or \" \" is treated as a comment. This is "
+"only available if reading via NNTP."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1172
+#: doc/tin.5:1194
 msgid ""
-"full qualified domain name of the news server. Additionally, a port can be "
-"specified by appending :portnumber. The string \"default\" or \"*\" acts as "
-"wildcard to match any name, such a line should be placed last."
+"full qualified domain name of the news server. Plain IPv6 address must be "
+"enclosed in square brackets. Additionally, a port can be specified by "
+"appending :portnumber. Be aware that if a port is given it will override any "
+"port given with ''B<-g>'' or ''B<-p>'' or implied by ''B<-T>'' or ''B<-k>'' "
+"or set via $B<NNTPPORT>. The string \"default\" or \"*\" acts as wildcard to "
+"match any name, such a line should be placed last."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1172
+#: doc/tin.5:1194
 #, no-wrap
 msgid "B<newsrc>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1175
-msgid "related newsrc."
+#: doc/tin.5:1197
+msgid "related newsrc. A file specified via ''B<-f>'' has a higher priority."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1175
+#: doc/tin.5:1197
 #, no-wrap
 msgid "B<shortname>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1178
-msgid "nickname(s) for the nntpserver."
+#: doc/tin.5:1201
+msgid ""
+"nickname(s) for the nntpserver. Nicknames must not contain \":\" and must be "
+"unique."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1182
+#: doc/tin.5:1205
 msgid "# sample newsrctable file"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1184
+#: doc/tin.5:1207
 msgid "news.tin.org .newsrc-tin.org tinorg"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1186
+#: doc/tin.5:1209
 msgid "news.example.org /tmp/nrc-ex example ex"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1188
-msgid "* ~/.tin/newsrcs/${NNTPSERVER-localhost}"
+#: doc/tin.5:1211
+msgid "[::1]:1119 /tmp/localhost6-1119 lh6"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:1213
+msgid "# catch all rules should go last"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:1215
+msgid "# with the more specific one on top"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:1217
+msgid "*:563 ~/.tin/newsrcs/${NNTPSERVER-localhost}:563/newsrc"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1204
+#: doc/tin.5:1219
+msgid "* ~/.tin/newsrcs/${NNTPSERVER-localhost}/newsrc"
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:1235
 msgid ""
 "Posting history. The file is written by B<\\%tin>(1)  and used by "
 "B<DisplayPostHist> ('B<W>') command. It should not be altered manually. Any "
@@ -11132,21 +11319,36 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1214
+#: doc/tin.5:1245
 msgid ""
 "Copy of all posted articles in B<\\%mbox>(5)  format. The filename can be "
 "changed by setting B<posted_articles_file>."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1223
+#: doc/tin.5:1254
 msgid "Pool of postponed articles. This file is in B<\\%mbox>(5)  format."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1236
+#: doc/tin.5:1265
+msgid ""
+"This file is a copy of the servers message of the day (MOTD) message.  It is "
+"automatically created on startup except when using the ''B<-Q>'' "
+"command-line option and is unlinked on exit."
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:1275
+msgid ""
+"File to store $B<NNTPSERVER> and $B<NNTPPORT> related info- and "
+"error-messages. The file is overwritten on startup and meant for debugging."
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:1288
 msgid ""
-"This file a copy of the servers newsgroups file which provides short "
+"This file is a copy of the servers newsgroups file which provides short "
 "descriptions of each newsgroup. It is automatically updated on startup "
 "except when using the ''B<-X>''or ''B<-q>'' command-line option and an old "
 "copy exists. Each line consist of two tab-separated fields "
@@ -11154,130 +11356,145 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1236 doc/tin.5:2767
+#: doc/tin.5:1288 doc/tin.5:2834
 #, no-wrap
 msgid "B<group.name>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1239 doc/tin.5:2770
+#: doc/tin.5:1291 doc/tin.5:2837
 #, no-wrap
 msgid "B<one-line description>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1254
+#: doc/tin.5:1306
 msgid ""
 "File to store $B<NNTPSERVER> and $B<NNTPPORT> related data via a list of "
-"\"I<variable>=I<value>\" pairs. Currently there are only two variables, both "
-"are not meant to be changed by the user."
+"\"I<variable>=I<value>\" pairs. Currently there are only a few variables, "
+"all are not meant to be changed by the user."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1254
+#: doc/tin.5:1306
 #, no-wrap
 msgid "B<version>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1257
+#: doc/tin.5:1309
 msgid "Internal version number."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1257
+#: doc/tin.5:1309
 #, no-wrap
-msgid "B<last_newnews>"
+msgid "B<motd_hash>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1262
+#: doc/tin.5:1313
 msgid ""
-"Internal timestamp used by B<\\%tin>(1)  to keep track of new newsgroups on "
-"the server."
+"Internal hash of the servers MOTD, so displaying it can be skipped if it is "
+"unchanged."
+msgstr ""
+
+#. type: TP
+#: doc/tin.5:1313
+#, no-wrap
+msgid "B<last_newnews>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1272
+#: doc/tin.5:1318
 msgid ""
-"File to store $B<NNTPSERVER> and $B<NNTPPORT> related info- and "
-"error-messages. The file is overwritten on startup and meant for debugging."
+"Internal timestamp used by B<\\%tin>(1)  to keep track of new newsgroups on "
+"the server."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1294
+#: doc/tin.5:1341
 msgid ""
 "At startup, B<\\%tin>(1)  reads in the configuration file. This contains a "
 "list of \"I<variable>=I<value>\" pairs that can be used to configure the way "
-"B<\\%tin>(1)  works. If it exists, the global configuration file, "
-"I<${TIN_LIBDIR:-NEWSLIBDIR}/tinrc> is read first. After that, the user's own "
-"configuration file I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc> is read. The "
-"global file is useful for distributing system-wide defaults to new users who "
-"have no private tinrc yet (see also B</etc/tin/tin.defaults>)."
+"B<\\%tin>(1)  works. I<value> strings are limited to 1022 chars and will be "
+"discarded if exceeding this limit. If it exists, the global configuration "
+"file, I<${TIN_LIBDIR:-NEWSLIBDIR}/tinrc> is read first. After that, the "
+"user's own configuration file I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc> is "
+"read. The global file is useful for distributing system-wide defaults to new "
+"users who have no private tinrc yet (see also B</etc/tin/tin.defaults>)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1294
+#: doc/tin.5:1341
 #, no-wrap
 msgid "B<abbreviate_groupname>"
 msgstr ""
 
+#. type: Plain text
+#: doc/tin.5:1347
+msgid ""
+"If ON abbreviate long newsgroup names at group selection level and article "
+"level (if necessary) like this: news.software.readers -E<gt> "
+"n.software.readers -E<gt> n.s.readers -E<gt> n.s.r.  Default is OFF."
+msgstr ""
+
 #. type: TP
-#: doc/tin.5:1310
+#: doc/tin.5:1357
 #, no-wrap
 msgid "B<art_marked_deleted>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1313
+#: doc/tin.5:1360
 #, no-wrap
 msgid "B<art_marked_inrange>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1316
+#: doc/tin.5:1363
 #, no-wrap
 msgid "B<art_marked_return>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1320
+#: doc/tin.5:1367
 #, no-wrap
 msgid "B<art_marked_selected>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1324
+#: doc/tin.5:1371
 #, no-wrap
 msgid "B<art_marked_recent>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1328
+#: doc/tin.5:1375
 #, no-wrap
 msgid "B<art_marked_unread>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1332
+#: doc/tin.5:1379
 #, no-wrap
 msgid "B<art_marked_read>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1335
+#: doc/tin.5:1382
 #, no-wrap
 msgid "B<art_marked_killed>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1339
+#: doc/tin.5:1386
 #, no-wrap
 msgid "B<art_marked_read_selected>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1350
+#: doc/tin.5:1397
 msgid ""
 "If ON B<\\%tin>(1)  will ask before using a MIME viewer (B<metamail_prog>) "
 "to display MIME messages. This only occurs if a MIME viewer is set. Default "
@@ -11285,43 +11502,43 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1350
+#: doc/tin.5:1397
 #, no-wrap
 msgid "B<attachment_format>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1356
+#: doc/tin.5:1403
 msgid ""
 "Format string B<\\%tin>(1)  uses for Attachment level representation.  "
 "Default is \"%t%s%e%c%d\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1364
+#: doc/tin.5:1411
 #, no-wrap
 msgid "B<auto_reconnect>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1367
+#: doc/tin.5:1414
 msgid "Reconnect to server automatically. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1372
+#: doc/tin.5:1419
 #, no-wrap
 msgid "B<beginner_level>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1377
+#: doc/tin.5:1424
 #, no-wrap
 msgid "B<cache_overview_files>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1382
+#: doc/tin.5:1429
 msgid ""
 "If ON, create local copies of NNTP overview files. This can be used to "
 "considerably speed up accessing large groups when using a slow connection.  "
@@ -11329,187 +11546,201 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1382
+#: doc/tin.5:1429
+#, no-wrap
+msgid "B<compress_overview_files>"
+msgstr ""
+
+#. type: TP
+#: doc/tin.5:1434
 #, no-wrap
 msgid "B<cancel_lock_algo>"
 msgstr ""
 
+#. type: Plain text
+#: doc/tin.5:1440
+msgid ""
+"Use this hash algorithm for cancel-locks. Only available when built with "
+"cancel-lock support. none disables the generation of cancel-locks. Valid "
+"values are none, sha1, sha256 and sha512.  Default is sha1."
+msgstr ""
+
 #. type: TP
-#: doc/tin.5:1388
+#: doc/tin.5:1440
 #, no-wrap
 msgid "B<catchup_read_groups>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1392
+#: doc/tin.5:1444
 #, no-wrap
 msgid "B<col_back>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1395
+#: doc/tin.5:1447
 #, no-wrap
 msgid "B<col_extquote>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1398
+#: doc/tin.5:1450
 #, no-wrap
 msgid "B<col_from>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1401
+#: doc/tin.5:1453
 #, no-wrap
 msgid "B<col_head>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1404
+#: doc/tin.5:1456
 #, no-wrap
 msgid "B<col_help>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1407
+#: doc/tin.5:1459
 #, no-wrap
 msgid "B<col_invers_bg>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1410
+#: doc/tin.5:1462
 #, no-wrap
 msgid "B<col_invers_fg>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1413
+#: doc/tin.5:1465
 #, no-wrap
 msgid "B<col_markdash>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1417
+#: doc/tin.5:1469
 #, no-wrap
 msgid "B<col_markslash>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1421
+#: doc/tin.5:1473
 #, no-wrap
 msgid "B<col_markstar>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1425
+#: doc/tin.5:1477
 #, no-wrap
 msgid "B<col_markstroke>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1429
+#: doc/tin.5:1481
 #, no-wrap
 msgid "B<col_message>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1432
+#: doc/tin.5:1484
 #, no-wrap
 msgid "B<col_minihelp>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1435
+#: doc/tin.5:1487
 #, no-wrap
 msgid "B<col_newsheaders>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1438
+#: doc/tin.5:1490
 #, no-wrap
 msgid "B<col_normal>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1441
+#: doc/tin.5:1493
 #, no-wrap
 msgid "B<col_quote>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1444
+#: doc/tin.5:1496
 #, no-wrap
 msgid "B<col_quote2>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1447
+#: doc/tin.5:1499
 #, no-wrap
 msgid "B<col_quote3>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1450
+#: doc/tin.5:1502
 #, no-wrap
 msgid "B<col_response>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1454
+#: doc/tin.5:1506
 #, no-wrap
 msgid "B<col_signature>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1457
+#: doc/tin.5:1509
 #, no-wrap
 msgid "B<col_score_neg>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1460
+#: doc/tin.5:1512
 #, no-wrap
 msgid "B<col_score_pos>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1463
+#: doc/tin.5:1515
 #, no-wrap
 msgid "B<col_urls>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1466
+#: doc/tin.5:1518
 #, no-wrap
 msgid "B<col_verbatim>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1469
+#: doc/tin.5:1521
 #, no-wrap
 msgid "B<col_subject>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1472
+#: doc/tin.5:1524
 #, no-wrap
 msgid "B<col_text>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1475
+#: doc/tin.5:1527
 #, no-wrap
 msgid "B<col_title>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1478
+#: doc/tin.5:1530
 #, no-wrap
 msgid "B<confirm_choice>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1482
+#: doc/tin.5:1534
 msgid ""
 "B<\\%tin>(1)  can ask for manual confirmation to protect the user. Available "
 "choices:"
@@ -11517,7 +11748,7 @@ msgstr ""
 
 #.  TODO: check if all affected commands are marked [after confirmation]
 #. type: Plain text
-#: doc/tin.5:1488
+#: doc/tin.5:1540
 msgid ""
 "B<commands>: Ask for confirmation before executing certain dangerous "
 "commands (e.g., B<Catchup> ('B<c>')). Commands that this affects are marked "
@@ -11525,26 +11756,26 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1493
+#: doc/tin.5:1545
 msgid ""
 "B<quit>: You'll be asked to confirm that you wish to exit B<\\%tin>(1)  when "
 "you use the B<Quit> ('B<q>') command."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1497
+#: doc/tin.5:1549
 msgid ""
 "B<select>: Ask for confirmation before marking all not selected (with "
 "B<GroupMarkUnselArtRead> ('B<X>') command) articles as read."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1499
+#: doc/tin.5:1551
 msgid "Default is commands & quit."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1510
+#: doc/tin.5:1562
 msgid ""
 "Format string used for date representation. A description of the different "
 "format options can be found at B<\\%strftime>(3).  B<\\%tin>(1)  uses "
@@ -11553,55 +11784,55 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1510
+#: doc/tin.5:1562
 #, no-wrap
 msgid "B<default_art_search>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1512
+#: doc/tin.5:1564
 #, no-wrap
 msgid "B<default_author_search>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1514
+#: doc/tin.5:1566
 #, no-wrap
 msgid "B<default_config_search>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1517
+#: doc/tin.5:1569
 #, no-wrap
 msgid "B<default_filter_days>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1520
+#: doc/tin.5:1572
 #, no-wrap
 msgid "B<default_filter_kill_case>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1524
+#: doc/tin.5:1576
 #, no-wrap
 msgid "B<default_filter_kill_expire>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1529
+#: doc/tin.5:1581
 #, no-wrap
 msgid "B<default_filter_kill_global>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1533
+#: doc/tin.5:1585
 #, no-wrap
 msgid "B<default_filter_kill_header>"
 msgstr ""
 
 #. type: ta
-#: doc/tin.5:1538 doc/tin.5:1567
+#: doc/tin.5:1590 doc/tin.5:1619
 #, no-wrap
 msgid ""
 "\\w'0,1   'u +\\w'\\'\\'Message-ID:\\'\\' & last \\'\\'References:\\'\\' "
@@ -11609,7 +11840,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1547 doc/tin.5:1576
+#: doc/tin.5:1599 doc/tin.5:1628
 #, no-wrap
 msgid ""
 "0\t''Subject:'' (case sensitive)\n"
@@ -11623,139 +11854,152 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1549
+#: doc/tin.5:1601
 #, no-wrap
 msgid "B<default_filter_select_case>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1553
+#: doc/tin.5:1605
 #, no-wrap
 msgid "B<default_filter_select_expire>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1558
+#: doc/tin.5:1610
 #, no-wrap
 msgid "B<default_filter_select_global>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1562
+#: doc/tin.5:1614
 #, no-wrap
 msgid "B<default_filter_select_header>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1578
+#: doc/tin.5:1630
 #, no-wrap
 msgid "B<default_goto_group>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1580
+#: doc/tin.5:1632
 #, no-wrap
 msgid "B<default_group_search>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1582
+#: doc/tin.5:1634
 #, no-wrap
 msgid "B<default_mail_address>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1584
+#: doc/tin.5:1636
 #, no-wrap
 msgid "B<default_move_group>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1586
+#: doc/tin.5:1638
 #, no-wrap
 msgid "B<default_pattern>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1588
+#: doc/tin.5:1640
 #, no-wrap
 msgid "B<default_pipe_command>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1590
+#: doc/tin.5:1642
 #, no-wrap
 msgid "B<default_post_newsgroups>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1592
+#: doc/tin.5:1644
 #, no-wrap
 msgid "B<default_post_subject>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1594
+#: doc/tin.5:1646
 #, no-wrap
 msgid "B<default_range_group>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1596
+#: doc/tin.5:1648
 #, no-wrap
 msgid "B<default_range_select>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1598
+#: doc/tin.5:1650
 #, no-wrap
 msgid "B<default_range_thread>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1600
+#: doc/tin.5:1652
 #, no-wrap
 msgid "B<default_repost_group>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1602
+#: doc/tin.5:1654
 #, no-wrap
 msgid "B<default_save_file>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1604
+#: doc/tin.5:1656
 #, no-wrap
 msgid "B<default_save_mode>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1606
+#: doc/tin.5:1658
 #, no-wrap
 msgid "B<default_select_pattern>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1608
+#: doc/tin.5:1660
 #, no-wrap
 msgid "B<default_shell_command>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1610
+#: doc/tin.5:1662
 #, no-wrap
 msgid "B<default_subject_search>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1612
+#: doc/tin.5:1664
+#, no-wrap
+msgid "B<dont_break_words>"
+msgstr ""
+
+#. type: TP
+#: doc/tin.5:1668
 #, no-wrap
 msgid "B<draw_arrow>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1623
+#: doc/tin.5:1672
+msgid ""
+"Allows groups/articles to be selected by an arrow '-E<gt>' if set ON or by a "
+"highlighted bar if set OFF. Default is OFF."
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:1679
 msgid ""
 "The format string used to create the editor start command with parameters.  "
 "Default is '%E +%N %F' with %E=Editor, %N=Linenumber and %F=Filename (e.g., "
@@ -11764,13 +12008,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1626
+#: doc/tin.5:1682
 #, no-wrap
 msgid "B<extquote_regex>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1633
+#: doc/tin.5:1689
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_extquote>. If B<extquote_regex> is blank, "
@@ -11778,19 +12022,19 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1633
+#: doc/tin.5:1689
 #, no-wrap
 msgid "B<force_screen_redraw>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1637
+#: doc/tin.5:1693
 #, no-wrap
 msgid "B<getart_limit>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1644
+#: doc/tin.5:1700
 msgid ""
 "If B<getart_limit> is E<gt> 0 not more than the last B<getart_limit> "
 "articles/group are fetched from the server. If B<getart_limit> is E<lt> 0 "
@@ -11799,13 +12043,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1644
+#: doc/tin.5:1700
 #, no-wrap
 msgid "B<goto_next_unread>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1658
+#: doc/tin.5:1714
 msgid ""
 "Which keys B<\\%tin>(1)  should accept to jump to the next unread article.  "
 "Possible is any combination of B<PageDown> and B<PageNextUnread>.  When "
@@ -11816,20 +12060,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1665
+#: doc/tin.5:1721
 msgid ""
 "The format string used for the Group level. Default is \"%n\\ %m\\ %R\\ %L\\ "
 "\\ %s\\ \\ %F\". The following substitutions are supported:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.5:1667
+#: doc/tin.5:1723
 #, no-wrap
 msgid "\\w'%G    'u +\\w'number of responses in thread'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1679
+#: doc/tin.5:1735
 #, no-wrap
 msgid ""
 "%D\tdate\n"
@@ -11846,65 +12090,65 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1681
+#: doc/tin.5:1737
 #, no-wrap
 msgid "B<hide_uue>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1691
+#: doc/tin.5:1747
 #, no-wrap
 msgid "B<inews_prog>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1698
+#: doc/tin.5:1754
 #, no-wrap
 msgid "B<info_in_last_line>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1704
+#: doc/tin.5:1760
 #, no-wrap
 msgid "B<interactive_mailer>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1710
+#: doc/tin.5:1766
 msgid ""
 "If greater than 0 your mailreader will be invoked earlier for reply so you "
-"can use more of its features (e.g. MIME, pgp, ...). 1 means include headers, "
-"2 means don't include headers (old use_mailreader_i=ON option). 0 turns off "
-"usage. This option has to suit B<mailer_format>. Default is 0."
+"can use more of its features (e.g., MIME, pgp, ...). 1 means include "
+"headers, 2 means don't include headers (old use_mailreader_i=ON option). 0 "
+"turns off usage. This option has to suit B<mailer_format>. Default is 0."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1710
+#: doc/tin.5:1766
 #, no-wrap
 msgid "B<inverse_okay>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1714
+#: doc/tin.5:1770
 #, no-wrap
 msgid "B<keep_dead_articles>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1719
+#: doc/tin.5:1775
 #, no-wrap
 msgid "B<kill_level>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1723
+#: doc/tin.5:1779
 msgid ""
 "This option controls the processing and display of articles that are "
 "killed. There are 3 options, default is 0 (B<Kill only unread arts>)."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1731
+#: doc/tin.5:1787
 msgid ""
 "B<Kill only unread arts> is the 'traditional' behavior of B<\\%tin>(1).  "
 "Only unread articles are killed once only by marking them read. As filtering "
@@ -11914,145 +12158,171 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1747
+#: doc/tin.5:1803
 #, no-wrap
 msgid "B<mail_address>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1753
+#: doc/tin.5:1809
 msgid ""
 "User's mail address (and full name), if not username@host. This is used when "
 "creating articles, sending mail and when B<\\%pgp>(1)  signing."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1757
+#: doc/tin.5:1813
 #, no-wrap
 msgid "B<mail_quote_format>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1762
+#: doc/tin.5:1819
 #, no-wrap
 msgid "B<mailbox_format>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1781
+#: doc/tin.5:1838
 #, no-wrap
 msgid "B<mailer_format>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1819
+#: doc/tin.5:1875
 #, no-wrap
 msgid "B<metamail_prog>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1831 doc/tin.5:2592
+#: doc/tin.5:1887 doc/tin.5:2659
 #, no-wrap
 msgid "B<mm_charset>"
 msgstr ""
 
+#. type: Plain text
+#: doc/tin.5:1902
+msgid ""
+"Charset supported locally, which is also used for MIME header (charset "
+"parameter and charset name in header encoding) in mail and news postings. If "
+"B<MIME_STRICT_CHARSET> is defined at compile time, text in charset other "
+"than the value of this parameter is considered not displayable and "
+"represented as '?'. Otherwise, all character sets are regarded as compatible "
+"with the display. If it's not set, the value of the environment variable "
+"$B<MM_CHARSET> is used. US-ASCII or compile-time default is used in case "
+"neither of them is defined. If your system supports B<\\%iconv>(3)  or "
+"B<\\%ucnv_*>(), this option is disabled and you should use "
+"B<mm_network_charset> instead."
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:1915
+msgid ""
+"Charset used for posting and MIME headers; replaces B<mm_charset>.  "
+"Conversion between B<mm_network_charset> and local charset (determined via "
+"B<\\%nl_langinfo>(3))  is done via B<\\%iconv>(3)  or B<\\%ucnv_*>(), if "
+"none of these functions are available on your system this option is disabled "
+"and you have to use B<mm_charset> instead. B<mm_network_charset> is limited "
+"to one of the following charsets:"
+msgstr ""
+
 #. type: TP
-#: doc/tin.5:1864
+#: doc/tin.5:1924
 #, no-wrap
 msgid "B<mono_markdash>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1869
+#: doc/tin.5:1929
 #, no-wrap
 msgid "B<mono_markslash>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1874
+#: doc/tin.5:1934
 #, no-wrap
 msgid "B<mono_markstar>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1879
+#: doc/tin.5:1939
 #, no-wrap
 msgid "B<mono_markstroke>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1884
+#: doc/tin.5:1944
 #, no-wrap
 msgid "B<newnews>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1890
+#: doc/tin.5:1950
 msgid ""
 "These are internal timers used by B<\\%tin>(1)  to keep track of new "
 "newsgroups. Do not change them unless you understand what they are for."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1911
+#: doc/tin.5:1972
 #, no-wrap
 msgid "B<nntp_read_timeout_secs>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1914
+#: doc/tin.5:1975
 msgid "Time in seconds to wait for a response from the server. Default is 120."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1914
+#: doc/tin.5:1975
 #, no-wrap
 msgid "B<normalization_form>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1918
+#: doc/tin.5:1979
 msgid ""
 "The normalization form which should be used to normalize unicode input.  The "
 "possible values are:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1936
+#: doc/tin.5:1997
 msgid ""
 "Some normalization modes are only available if they are supported by the "
 "library B<\\%tin>(1)  uses to do the normalization. NFC should be used if "
-"possible."
+"possible (B<RFC\\%5198>)."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1936
+#: doc/tin.5:1997
 #, no-wrap
 msgid "B<page_mime_format>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1942
+#: doc/tin.5:2003
 msgid ""
 "Format string B<\\%tin>(1)  uses for mime header at Page level.  Default is "
 "\"[-- %T%S%*n%z%*l%!c%!d%*e --]\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1942
+#: doc/tin.5:2003
 #, no-wrap
 msgid "B<page_uue_format>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1948
+#: doc/tin.5:2009
 msgid ""
 "Format string B<\\%tin>(1)  uses for uue header at Page level.  Default is "
 "\"[-- %T%S%*n%I%!d%*e --]\"."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:1976
+#: doc/tin.5:2037
 msgid ""
 "If ON, then B<\\%tin>(1)  will start an appropriate viewer program to "
 "display any files that were post processed and uudecoded. The program is "
@@ -12060,19 +12330,19 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:1992
+#: doc/tin.5:2053
 #, no-wrap
 msgid "B<posted_articles_file>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2004
+#: doc/tin.5:2065
 #, no-wrap
 msgid "B<printer>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2014
+#: doc/tin.5:2075
 msgid ""
 "The printer program with options that is to be used to print articles. The "
 "default is B<\\%lpr>(1)  for BSD machines and B<\\%lp>(1)  for SysV "
@@ -12081,20 +12351,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2022
+#: doc/tin.5:2083
 msgid ""
 "If ON show empty ''Followup-To:'' header when editing an article.  Default "
 "is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2027
+#: doc/tin.5:2089
 #, no-wrap
 msgid "B<quote_style>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2033
+#: doc/tin.5:2095
 msgid ""
 "This bit coded integer value controls how articles are to be quoted when "
 "following up or replying to them. Any of the following options can be "
@@ -12103,7 +12373,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2038
+#: doc/tin.5:2098
+msgid "B<Nothing special> Non empty lines are quoted."
+msgstr ""
+
+#. type: Plain text
+#: doc/tin.5:2102
 msgid ""
 "B<Compress quotes> Compress quote characters together when quoting multiple "
 "times (for example, 'E<gt> E<gt> E<gt>' will be turned into "
@@ -12111,7 +12386,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2044
+#: doc/tin.5:2108
 msgid ""
 "B<Quote Signatures> This option is off by default. Signatures are always "
 "quoted regardless of this option when you are viewing an article in raw mode "
@@ -12120,18 +12395,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2046
+#: doc/tin.5:2110
 msgid "B<Quote empty lines> This option is on by default."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2047
+#: doc/tin.5:2111
 #, no-wrap
 msgid "B<quote_regex>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2054
+#: doc/tin.5:2118
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote>. If B<quote_regex> is blank, then "
@@ -12139,13 +12414,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2054
+#: doc/tin.5:2118
 #, no-wrap
 msgid "B<quote_regex2>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2061
+#: doc/tin.5:2125
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote2>. If B<quote_regex2> is blank, then "
@@ -12153,13 +12428,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2061
+#: doc/tin.5:2125
 #, no-wrap
 msgid "B<quote_regex3>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2068
+#: doc/tin.5:2132
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching lines are shown in B<col_quote3>. If B<quote_regex3> is blank, then "
@@ -12167,19 +12442,19 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2068
+#: doc/tin.5:2132
 #, no-wrap
 msgid "B<recent_time>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2072
+#: doc/tin.5:2136
 #, no-wrap
 msgid "B<render_bidi>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2079
+#: doc/tin.5:2143
 msgid ""
 "If ON B<\\%tin>(1)  does the rendering of bi-directional text. If OFF "
 "B<\\%tin>(1)  leaves the rendering of bi-directional text to the "
@@ -12187,73 +12462,74 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2079
+#: doc/tin.5:2143
 #, no-wrap
 msgid "B<reread_active_file_secs>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2088
+#: doc/tin.5:2152
 #, no-wrap
 msgid "B<score_limit_kill>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2092
+#: doc/tin.5:2156
 #, no-wrap
 msgid "B<score_limit_select>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2096
+#: doc/tin.5:2160
 #, no-wrap
 msgid "B<score_kill>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2100
+#: doc/tin.5:2164
 #, no-wrap
 msgid "B<score_select>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2104
+#: doc/tin.5:2168
 #, no-wrap
 msgid "B<scroll_lines>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2114
+#: doc/tin.5:2178
 msgid ""
 "The number of lines that will be scrolled up/down in the article pager when "
 "using cursor-up/down. The default is 1 (line-by-line). Set to 0 to get "
 "traditional B<\\%tin>(1)  page-by-page scrolling. Set to -1 to get "
 "page-by-page scrolling where the top/bottom line is carried over onto the "
-"next page.  This setting supersedes show_last_line_prev_page=ON. Set to -2 "
-"to get half-page scrolling. This setting supersedes B<full_page_scroll>=OFF."
+"next page.  This setting supersedes B<show_last_line_prev_page>=ON. Set to "
+"-2 to get half-page scrolling. This setting supersedes "
+"B<full_page_scroll>=OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2114
+#: doc/tin.5:2178
 #, no-wrap
 msgid "B<select_format>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2118
+#: doc/tin.5:2182
 msgid ""
 "The format string used for the Selection level. Default is \"%f\\ %n\\ %U\\ "
 "\\ %G\\ \\ %d\". The following substitutions are supported:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.5:2120
+#: doc/tin.5:2184
 #, no-wrap
 msgid "\\w'%G    'u +\\w'current group number'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2127
+#: doc/tin.5:2191
 #, no-wrap
 msgid ""
 "%G\tgroup name\n"
@@ -12265,19 +12541,19 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2129
+#: doc/tin.5:2193
 #, no-wrap
 msgid "B<sort_function>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2164
+#: doc/tin.5:2228
 #, no-wrap
 msgid "B<show_description>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2173
+#: doc/tin.5:2237
 msgid ""
 "If ON show a short group description text after newsgroup name at the group "
 "selection level. The ''B<-d>'' command-line flag will override the setting "
@@ -12288,13 +12564,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2173
+#: doc/tin.5:2237
 #, no-wrap
 msgid "B<show_help_mail_sign>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2180
+#: doc/tin.5:2244
 msgid ""
 "Allows you to select whether B<\\%tin>(1)  shows a help indication, a new "
 "mail indication, both, or neither in the various level titles.  Default is "
@@ -12302,19 +12578,35 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2196
+#: doc/tin.5:2260
 #, no-wrap
 msgid "B<show_only_unread_groups>"
 msgstr ""
 
+#. type: Plain text
+#: doc/tin.5:2283
+msgid ""
+"The path that specifies the signature file to use when posting, following up "
+"to or replying to an article. If the path is a directory then the signature "
+"will be randomly generated from files that are in the specified "
+"directory. If a file named I<.sigfixed> does exist in that dir or "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.sigfixed> does exist it will be prepended to "
+"the chosen signature (first match counts). If the path starts with a ! the "
+"program the path points to will be executed to generate a signature. In "
+"order to pass the group name to the program, %G can be specified.  This will "
+"be replaced by the name of the current newsgroup. --none will suppress any "
+"signature. Default is I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>.  See also "
+"I<${TIN_HOMEDIR:-\"$HOME\"}/.sigfixed>."
+msgstr ""
+
 #. type: TP
-#: doc/tin.5:2219
+#: doc/tin.5:2286
 #, no-wrap
 msgid "B<slashes_regex>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2226
+#: doc/tin.5:2293
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markslash> or B<mono_markslash>. If "
@@ -12322,19 +12614,19 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2272
+#: doc/tin.5:2339
 #, no-wrap
 msgid "B<spamtrap_warning_addresses>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2279
+#: doc/tin.5:2346
 #, no-wrap
 msgid "B<stars_regex>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2286
+#: doc/tin.5:2353
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markstar> or B<mono_markstar>. If "
@@ -12342,50 +12634,50 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2286
+#: doc/tin.5:2353
 #, no-wrap
 msgid "B<strip_blanks>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2290
+#: doc/tin.5:2357
 #, no-wrap
 msgid "B<strip_bogus>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2299
+#: doc/tin.5:2366
 #, no-wrap
 msgid "B<strip_newsrc>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2303
+#: doc/tin.5:2370
 #, no-wrap
 msgid "B<strip_re_regex>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2309
+#: doc/tin.5:2376
 msgid ""
 "A regular expression to find Subject prefixes like \"Re:\" to remove If "
 "B<strip_re_regex> is blank, then B<\\%tin>(1)  uses a built-in default."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2309
+#: doc/tin.5:2376
 #, no-wrap
 msgid "B<strip_was_regex>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2315
+#: doc/tin.5:2382
 #, no-wrap
 msgid "B<strokes_regex>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2322
+#: doc/tin.5:2389
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markstroke> or B<mono_markstroke>.  If "
@@ -12393,7 +12685,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2327
+#: doc/tin.5:2394
 msgid ""
 "Decode German style TeX umlaut codes to ISO If ON, show \"a as Umlaut-a, "
 "etc. Default is OFF. This behavior can also be toggled in the article viewer "
@@ -12401,42 +12693,42 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2330
+#: doc/tin.5:2397
 msgid "Defines which threading method to use. The choices are:"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2333
+#: doc/tin.5:2400
 msgid "Don't thread"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2335
+#: doc/tin.5:2402
 msgid "Thread on Subject only"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2337
+#: doc/tin.5:2404
 msgid "Thread on References only"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2339
+#: doc/tin.5:2406
 msgid "Thread on References then Subject (default)"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2341
+#: doc/tin.5:2408
 msgid "Thread multipart articles on Subject"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2343
+#: doc/tin.5:2410
 msgid "Thread on Percentage Match of the Subjects"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2347
+#: doc/tin.5:2414
 msgid ""
 "It's also possible to set the threading type on a per group basis by setting "
 "the group attribute variable B<thread_articles> to 0 \\(en 5 in the file "
@@ -12444,20 +12736,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2351
+#: doc/tin.5:2418
 msgid ""
 "The format string used for the Thread level. Default is \"%n\\ %m\\ \\ "
 "[%L]\\ \\ %T\\ \\ %F\". The following substitutions are supported:"
 msgstr ""
 
 #. type: ta
-#: doc/tin.5:2353
+#: doc/tin.5:2420
 #, no-wrap
 msgid "\\w'%G    'u +\\w'from, name and/or address'u"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2364
+#: doc/tin.5:2431
 #, no-wrap
 msgid ""
 "%D\tdate\n"
@@ -12473,7 +12765,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2371
+#: doc/tin.5:2438
 msgid ""
 "Defines how close the subjects must match while threading by Percentage "
 "Match for threads to be considered part of a single thread. This value is in "
@@ -12481,32 +12773,32 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2375
+#: doc/tin.5:2442
 #, no-wrap
 msgid "B<thread_score>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2387
+#: doc/tin.5:2454
 #, no-wrap
 msgid "B<tls_ca_cert_file>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2392
+#: doc/tin.5:2459
 msgid ""
 "The name of file containing all trusted CA certificates used for NNTPS "
 "(B<RFC\\%8143>) connections. If left empty the system default will be used."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2392
+#: doc/tin.5:2459
 #, no-wrap
 msgid "B<translit>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2406
+#: doc/tin.5:2473
 msgid ""
 "Allows you to select how B<\\%tin>(1)  treats blank lines in article "
 "bodies.  Default is 0. This option does not affect lines within verbatim "
@@ -12514,20 +12806,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2429
+#: doc/tin.5:2496
 msgid ""
 "If ON remove soft hyphens (U+00AD) from non verbatim blocks when displaying "
 "articles. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2429
+#: doc/tin.5:2496
 #, no-wrap
 msgid "B<underscores_regex>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2436
+#: doc/tin.5:2503
 msgid ""
 "A regular expression that will be applied when reading articles. All "
 "matching words are shown in B<col_markdash> or B<mono_markdash>. If "
@@ -12535,66 +12827,66 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2436
+#: doc/tin.5:2503
 #, no-wrap
 msgid "B<unlink_article>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2440
+#: doc/tin.5:2507
 msgid ""
 "If ON remove I<${TIN_HOMEDIR:-\"$HOME\"}/.article> after posting. Default is "
 "ON."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2440
+#: doc/tin.5:2507
 #, no-wrap
 msgid "B<url_handler>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2445
+#: doc/tin.5:2512
 #, no-wrap
 msgid "B<url_highlight>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2448
+#: doc/tin.5:2515
 #, no-wrap
 msgid "B<use_color>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2453
+#: doc/tin.5:2520
 msgid "If enabled B<\\%tin>(1)  uses ANSI-colors. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2453
+#: doc/tin.5:2520
 #, no-wrap
 msgid "B<use_keypad>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2456
+#: doc/tin.5:2523
 msgid "Use scroll keys on keypad. Default is OFF."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2456
+#: doc/tin.5:2523
 #, no-wrap
 msgid "B<use_mouse>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2462
+#: doc/tin.5:2529
 #, no-wrap
 msgid "B<use_slrnface>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2474
+#: doc/tin.5:2541
 msgid ""
 "If enabled B<\\%slrnface>(1)  will be used to interpret the ''X-Face:'' "
 "header. For this option to have any effect, B<\\%tin>(1)  must be running in "
@@ -12603,45 +12895,52 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2474
+#: doc/tin.5:2541
 #, no-wrap
 msgid "B<utf8_graphics>"
 msgstr ""
 
+#. type: Plain text
+#: doc/tin.5:2545
+msgid ""
+"If ON use UTF-8 characters for indicator ('-E<gt>'), thread/attachment tree "
+"and ellipsis ('...'). Default is OFF."
+msgstr ""
+
 #. type: TP
-#: doc/tin.5:2478
+#: doc/tin.5:2545
 #, no-wrap
 msgid "B<verbatim_begin_regex>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2484
+#: doc/tin.5:2551
 msgid ""
 "A regular expression that B<\\%tin>(1)  will use to find the begin of a "
 "verbatim block. Default is #v+"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2484
+#: doc/tin.5:2551
 #, no-wrap
 msgid "B<verbatim_end_regex>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2490
+#: doc/tin.5:2557
 msgid ""
 "A regular expression that B<\\%tin>(1)  will use to find the end of a "
 "verbatim block. Default is #v-"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2493
+#: doc/tin.5:2560
 #, no-wrap
 msgid "B<wildcard>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2517
+#: doc/tin.5:2584
 msgid ""
 "Allows you to select how B<\\%tin>(1)  matches strings. The default is 0 and "
 "uses the B<\\%wildmat>(3)  notation, which is how this has traditionally "
@@ -12654,31 +12953,31 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2517
+#: doc/tin.5:2584
 #, no-wrap
 msgid "B<word_h_display_marks>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2529
+#: doc/tin.5:2596
 #, no-wrap
 msgid "B<word_highlight>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2537
+#: doc/tin.5:2604
 #, no-wrap
 msgid "B<wrap_column>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2553
+#: doc/tin.5:2620
 #, no-wrap
 msgid "B<xpost_quote_format>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2569
+#: doc/tin.5:2636
 msgid ""
 "Yet another global configuration file with \"I<variable>=I<value>\" "
 "pairs. This one is for the more general options which usually can't be "
@@ -12688,31 +12987,31 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2569
+#: doc/tin.5:2636
 #, no-wrap
 msgid "B<domainname>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2572
+#: doc/tin.5:2639
 msgid "Sets a global domain name used in From lines"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2576
+#: doc/tin.5:2643
 msgid ""
 "Defines the name of your organization. $B<ORGANIZATION> overrides any "
 "specified value."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2576
+#: doc/tin.5:2643
 #, no-wrap
 msgid "B<newslibdir>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2581
+#: doc/tin.5:2648
 msgid ""
 "Defines the default place for some configuration files, common values are "
 "I</usr/lib/news>, I</var/lib/news>, I</usr/local/lib/news> or "
@@ -12720,13 +13019,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2581
+#: doc/tin.5:2648
 #, no-wrap
 msgid "B<bugaddress>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2587
+#: doc/tin.5:2654
 msgid ""
 "Defines the email address to which users can send bug reports using a "
 "built-in function. The default points to a developers mailing list located "
@@ -12735,43 +13034,43 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2587
+#: doc/tin.5:2654
 #, no-wrap
 msgid "B<inewsdir>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2592
+#: doc/tin.5:2659
 msgid "Defines the directory containing the B<\\%inews>(1)  executable."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2596
+#: doc/tin.5:2663
 msgid ""
 "Default charset to be used in MIME's ''Content-Type:'' header.  "
 "$B<MM_CHARSET> overrides any specified value."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2599
+#: doc/tin.5:2666
 msgid "Default encoding scheme used in MIME articles. 8bit might be the best value."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2603
+#: doc/tin.5:2670
 msgid ""
 "Default encoding scheme used in MIME letters. quoted-printable is a good "
 "choice here."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2603
+#: doc/tin.5:2670
 #, no-wrap
 msgid "B<disable_gnksa_domain_check>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2609
+#: doc/tin.5:2676
 msgid ""
 "Allow unregistered top level domains. As the list of valid TLDs is no longer "
 "actively maintained the default was changed to ON starting with B<\\%tin>(1)  "
@@ -12779,26 +13078,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2609
+#: doc/tin.5:2676
 #, no-wrap
 msgid "B<disable_sender>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2613
+#: doc/tin.5:2680
 msgid ""
 "Don't generate a ''Sender:'' header. This has an effect only if "
 "B<inews_prog> is set to --internal."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2613
+#: doc/tin.5:2680
 #, no-wrap
 msgid "B<spooldir>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2618
+#: doc/tin.5:2685
 msgid ""
 "Base of your newsspool (Bnews, Cnews and INN traditional spool style), "
 "common values are I</var/spool/news>, I</usr/spool/news>, I</news/spool>.  "
@@ -12806,13 +13105,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2618
+#: doc/tin.5:2685
 #, no-wrap
 msgid "B<overviewdir>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2626
+#: doc/tin.5:2693
 msgid ""
 "Base of your NOV database B<\\%newsoverview>(5)  (tradspool style; might be "
 "the same dir as I<spooldir>), common values are I</var/spool/overview>, "
@@ -12821,26 +13120,26 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2626
+#: doc/tin.5:2693
 #, no-wrap
 msgid "B<overviewfile>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2630
+#: doc/tin.5:2697
 msgid ""
 "Name of a single overview file, common values are I<.overview> or "
 "I<over.view>. $B<TIN_NOVFILENAME> overrides any specified value."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2630
+#: doc/tin.5:2697
 #, no-wrap
 msgid "B<overviewfmtfile>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2635
+#: doc/tin.5:2702
 msgid ""
 "Full pathname of your newssystem's overview.fmt file; usually the file "
 "resides in I<newslibdir> and is named I<overview.fmt>, so you only have to "
@@ -12848,13 +13147,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2635
+#: doc/tin.5:2702
 #, no-wrap
 msgid "B<activefile>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2641
+#: doc/tin.5:2708
 msgid ""
 "Full pathname of your newssystem's active file; usually the file resides in "
 "I<newslibdir> and is named I<active>, so you only have to change this "
@@ -12863,13 +13162,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2641
+#: doc/tin.5:2708
 #, no-wrap
 msgid "B<activetimesfile>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2646
+#: doc/tin.5:2713
 msgid ""
 "Full pathname of your newssystem's active.times file; usually the file "
 "resides in I<newslibdir> and is named I<active.times>, so you only have to "
@@ -12877,13 +13176,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2646
+#: doc/tin.5:2713
 #, no-wrap
 msgid "B<newsgroupsfile>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2651
+#: doc/tin.5:2718
 msgid ""
 "Full pathname of your newssystem's newsgroups file; usually the file resides "
 "in I<newslibdir> and is named I<newsgroups>, so you only have to change this "
@@ -12891,13 +13190,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2651
+#: doc/tin.5:2718
 #, no-wrap
 msgid "B<subscriptionsfile>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2656
+#: doc/tin.5:2723
 msgid ""
 "Full pathname of your newssystem's subscriptions file; usually the file "
 "resides in I<newslibdir> and is named I<subscriptions>, so you only have to "
@@ -12905,19 +13204,19 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2660
+#: doc/tin.5:2727
 msgid "I</usr/local/share/locale/$LC_MESSAGES/LC_MESSAGES/tin.mo>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2664
+#: doc/tin.5:2731
 msgid ""
 "translation into language specified in $B<LC_ALL>, $B<LC_MESSAGES> or "
 "$B<LANG>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2678
+#: doc/tin.5:2745
 msgid ""
 "This file lists the newsgroups that the local site receives. Each newsgroup "
 "should be listed only once. Each line specifies one group; within each "
@@ -12925,9 +13224,9 @@ msgid ""
 "increasing numbers."
 msgstr ""
 
-#.  TODO: IIRC tin issues just a warning in that case?
+#.  TODO: tin issues just a warning in that case.
 #. type: Plain text
-#: doc/tin.5:2683
+#: doc/tin.5:2750
 msgid ""
 "If an article is posted to newsgroups not mentioned in this file, those "
 "newsgroups are ignored.  If no valid newsgroups are specified, the article "
@@ -12935,37 +13234,37 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2686
+#: doc/tin.5:2753
 msgid ""
 "Each line consists of four space-separated fields \"I<name> I<highmark> "
 "I<lowmark> I<flags>\"."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2686 doc/tin.5:2740
+#: doc/tin.5:2753 doc/tin.5:2807
 #, no-wrap
 msgid "B<name>"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2689
+#: doc/tin.5:2756
 #, no-wrap
 msgid "B<highmark>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2692
+#: doc/tin.5:2759
 msgid "is the highest article number that has been used in that newsgroup"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2692
+#: doc/tin.5:2759
 #, no-wrap
 msgid "B<lowmark>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2699
+#: doc/tin.5:2766
 msgid ""
 "is the lowest article number in the group; this number is not guaranteed to "
 "be accurate, and should only be taken to be a hint. Note that because of "
@@ -12975,90 +13274,90 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2699
+#: doc/tin.5:2766
 #, no-wrap
 msgid "B<flags>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2702
+#: doc/tin.5:2769
 msgid "can be one of those"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2703
+#: doc/tin.5:2770
 #, no-wrap
 msgid "B<y>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2706
+#: doc/tin.5:2773
 msgid "local postings are allowed"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2706
+#: doc/tin.5:2773
 #, no-wrap
 msgid "B<n>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2709
+#: doc/tin.5:2776
 msgid "no local postings are allowed, only remote ones"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2709
+#: doc/tin.5:2776
 #, no-wrap
 msgid "B<m>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2712
+#: doc/tin.5:2779
 msgid "the group is moderated and all postings must be approved"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2712
+#: doc/tin.5:2779
 #, no-wrap
 msgid "B<j>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2715
+#: doc/tin.5:2782
 msgid "articles in this group are not kept, but only passed on"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2715
+#: doc/tin.5:2782
 #, no-wrap
 msgid "B<x>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2718
+#: doc/tin.5:2785
 msgid "articles cannot be posted to this newsgroup"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2718
+#: doc/tin.5:2785
 #, no-wrap
 msgid "B<=foo.bar>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2721
+#: doc/tin.5:2788
 msgid "articles are locally filed into the ''foo.bar'' group"
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2722 doc/tin.5:2750 doc/tin.5:2773
+#: doc/tin.5:2789 doc/tin.5:2817 doc/tin.5:2840
 #, no-wrap
 msgid "B<\\%tin>(1)"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2729
+#: doc/tin.5:2796
 msgid ""
 "only tries to read the file if you read directly from the local spool, if "
 "you read news via NNTP, B<\\%tin>(1)  uses the LIST (B<RFC\\%3977>) or LIST "
@@ -13066,34 +13365,34 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2740
+#: doc/tin.5:2807
 msgid ""
 "This file provides a chronological record of when newsgroups are created. It "
-"is normally updated by the local news server (e.g.  B<\\%innd>(8))  whenever "
+"is normally updated by the local news server (e.g., B<\\%innd>(8))  whenever "
 "a new group is created. Each line consist of three space-separated fields "
 "\"I<name> I<time> I<creator>\"."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2747
+#: doc/tin.5:2814
 msgid ""
 "is the time when the group was created, expressed as the number of seconds "
 "since the Epoch."
 msgstr ""
 
 #. type: TP
-#: doc/tin.5:2747
+#: doc/tin.5:2814
 #, no-wrap
 msgid "B<creator>"
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2750
+#: doc/tin.5:2817
 msgid "is the electronic mail address of the person who created the group."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2756
+#: doc/tin.5:2823
 msgid ""
 "only tries to read the file if you read directly from the local spool, if "
 "you read news via NNTP, B<\\%tin>(1)  uses the NEWGROUPS (B<RFC\\%3977>) "
@@ -13101,16 +13400,16 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2767
+#: doc/tin.5:2834
 msgid ""
 "This file provides short descriptions of each newsgroup. It is normally "
-"updated by the local news server (e.g.  B<\\%innd>(8))  whenever a new group "
+"updated by the local news server (e.g., B<\\%innd>(8))  whenever a new group "
 "is created. Each line consist of two tab-separated fields "
 "\"I<group.name>\tI<one-line description>\"."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2779
+#: doc/tin.5:2846
 msgid ""
 "only tries to read the file if you read directly from the local spool, if "
 "you read news via NNTP, B<\\%tin>(1)  uses the LIST NEWSGROUPS "
@@ -13118,14 +13417,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2788
+#: doc/tin.5:2855
 msgid ""
 "This file might hold a default organization to be used in the "
 "''Organization:'' header. $B<ORGANIZATION> has a higher priority if set."
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2806
+#: doc/tin.5:2873
 msgid ""
 "This file specifies the organization of the news overview database (see also "
 "B<\\%newsoverview>(5)).  The order of lines in this file is important; it "
@@ -13136,7 +13435,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2821
+#: doc/tin.5:2888
 msgid ""
 "This file contains a list of newsgroups \\(em one per line \\(em which the "
 "client should subscribe to when the user has no "
@@ -13147,7 +13446,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: doc/tin.5:2870
+#: doc/tin.5:2939
 msgid ""
 "B<\\%inews>(1), B<\\%ispell>(1), B<\\%lp>(1), B<\\%lpr>(1), "
 "B<\\%metamail>(1), B<\\%mutt>(1), B<\\%perl>(1), B<\\%perlre>(1), "
@@ -13157,7 +13456,8 @@ msgid ""
 "B<\\%pcre2pattern>(3), B<\\%qsort>(3), B<\\%strftime>(3), B<\\%system>(3), "
 "B<\\%active>(5), B<\\%mailcap>(5), B<\\%mbox>(5), B<\\%mmdf>(5), "
 "B<\\%newsoverview>(5), B<\\%overview.fmt>(5), B<\\%innd>(8), B<RFC\\%1524>, "
-"B<RFC\\%2045>, B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2048>, B<RFC\\%2231>, "
-"B<RFC\\%2980>, B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%5322>, "
-"B<RFC\\%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%8143>"
+"B<RFC\\%1952>, B<RFC\\%2045>, B<RFC\\%2046>, B<RFC\\%2047>, B<RFC\\%2231>, "
+"B<RFC\\%2980>, B<RFC\\%3977>, B<RFC\\%4155>, B<RFC\\%4643>, B<RFC\\%5198>, "
+"B<RFC\\%5322>, B<RFC\\%5536>, B<RFC\\%5537>, B<RFC\\%6048>, B<RFC\\%6838>, "
+"B<RFC\\%8143>"
 msgstr ""
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/mailcap.sample tin-2.6.4/doc/mailcap.sample
--- tin-2.6.3/doc/mailcap.sample	2021-08-23 13:01:35.000000000 +0200
+++ tin-2.6.4/doc/mailcap.sample	2024-06-27 13:50:25.430076011 +0200
@@ -2,6 +2,12 @@
 application/pgp;\
 	pgp -m %s;\
 	needsterminal
+application/news-*;\
+	${PAGER:-"more"} '%s'\;
+	edit=${EDITOR:-"vi"} '%s';\
+	compose=${EDITOR:-"vi"} '%s';\
+	print=a2ps '%s';\
+	needsterminal
 image/jpeg;\
 	xv -8 -geometry +0 '%s';\
 	description=JPEG Image;\
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/plp_snprintf.3 tin-2.6.4/doc/plp_snprintf.3
--- tin-2.6.3/doc/plp_snprintf.3	2021-08-23 13:01:35.000000000 +0200
+++ tin-2.6.4/doc/plp_snprintf.3	1970-01-01 01:00:00.000000000 +0100
@@ -1,168 +0,0 @@
-.TH "PLP_SNPRINTF" 3 "Dec 12, 1998" V98.12.13
-.SH NAME
-plp_snprintf, plp_vsnprintf - formatted output conversion
-.SH SYNOPSIS
-.br
-#include <stdarg.h>
-.br
-void plp_snprintf(char *str, int size, const char *format, ...);
-.br
-void plp_vsnprintf(char *str, int size, const char *format, va_list ap);
-.br
-extern int visible_control;
-.br
-.SH "HISTORY, TERMS AND CONDITIONS"
-.IX "plp_snprintf" "" "format and print C language values"
-.LP
-This version of plp_snprintf was developed originally for printing on a motley
-collection of specialized hardware that had NO IO library.
-Due to contractual
-restrictions,  a clean room implementation of the printf() code had to be
-developed.
-.LP
-The implementation of plp_snprintf tends to be overly paranoid,
-as these platforms had NO memory protection,  and very small address spaces.
-This made it possible to try to print very long strings, i.e. - all of memory,
-very easily.
-To guard against this,  all printing was done via a fixed size buffer,
-generous enough to hold reasonable strings,  but small enough to protect against
-overruns, etc.
-.LP
-Strangely enough,  this proves to be of immense importance when SPRINTFing to
-a buffer on a stack.
-The rest,  of course,  is well known,  as buffer overruns
-in the stack are a common way to do horrible things to operating systems,
-security, etc etc.
-.LP
-This version of the plp_snprintf documentation is based on the
-snprintf() manual page from BSDI Inc,
-the POSIX printf() documentation, and the 4.4 BSD Release printf() manual page.
-.LP
-The plp_snprintf() source code is freely distributible under the following
-license terms:
-.LP
-You may use, copy, distribute, or otherwise incorporate this software and documentation
-into any product or other item,  provided that the copyright in the documentation and source code
-as well as the source code generated
-constant strings in the object, executable or other code remain in place and are present
-in executable modules or objects.
-.LP
-You may modify this
-code as appropriate to your usage; however the modified version must be identified by changing
-the various source and object code identification strings as is appropriately
-noted in the source code.
-.LP
-.SH DESCRIPTION
-.LP
-The plp_snprintf() and plp_vsnprintf() procedures write to a string under
-the control of a format string that specifies how subsequent arguments
-output.
-.LP
-The plp_snprintf() and plp_vsnprintf() will write at most size-1
-characters floowed by a `\0'.
-If str is 0 (NULL) or size is 0, then no characters are written.
-.LP
-The visible_control variable (default value 1) is used when printing character
-or string values.  If the character C to be printed is a control character
-or and not a space as determined by the ctype.h library iscntrl()
-and isspace() functions,  then it will be printed as the form ^X,
-where X = (C & 0x1f) | '@' in C language notation.
-.LP
-The format string is composed of zero or more directives:
-ordinary characters (not %), which are copied unchanged to the output stream;
-and conversion specifications, each of which results in fetching zero or more
-subsequent arguments.
-Each conversion specification is introduced by the
-character %. The arguments must correspond properly (after type promotion) with the conversion specifier.
-After the %, the following appear
-in sequence:
-.IP o
-Zero or more of the following flags:
-.LP
-.IP -
-A zero `0' character specifying zero padding.
-For all conversions except n, the converted value is padded on the left with
-zeros rather than blanks.
-If a precision is given with a numeric
-conversion (d, i, o, u, i, x, and X), the `0' flag is ignored.
-.LP
-.IP -
-A negative field width flag `-' indicates the converted value is
-to be left adjusted on the field boundary.
-.LP
-.IP -
-A `+' character specifying that a sign always be placed before a
-number produced by a signed conversion.
-.LP
-.IP o
-An optional decimal digit string specifying a minimum field width.
-If the converted value has fewer characters than the field width, it
-will be padded with spaces on the left
-(or right, if the left-adjustment flag has been given) to fill out the field width.
-Note that e, f, and g formats are restricted to a maximum of 64 characters.
-.LP
-.IP o
-An optional precision, in the form of a period `.' followed by an optional digit string.
-If the digit string is omitted, the precision
-is taken as zero.
-This gives the minimum number of digits to appear
-for d, i, o, u, x, and X conversions, the number of digits to appear
-after the decimal-point.
-For e, f, and g conversions, the meaning depends on the local system sprintf() support.
-.LP
-.IP o
-The optional character l (ell) specifying that a following d, i, o,
-u, x, or X conversion applies to a long int or unsigned
-long int argument.
-.LP
-.IP o
-The optional character q, specifying that a following d, i, o, u, x,
-or X conversion corresponds to a quad or long long.
-.LP
-.IP o
-A character that specifies the type of conversion to be applied.
-.LP
-A field width or precision, or both, may be indicated by an asterisk `*'
-instead of a digit string.
-In this case, an int argument supplies the
-field width or precision.
-A negative or zero field width is ignored.
-.LP
-The conversion specifiers and their meanings are:
-.IP diouxX
-The int (or appropriate variant) argument is converted to signed
-decimal (d and i), unsigned octal (o), unsigned decimal (u), or
-unsigned hexadecimal (x and X) notation.
-The letters abcdef are
-used for x conversions; the letters ABCDEF are used for X conversions.
-The precision, if any, gives the minimum number of digits
-that must appear; if the converted value requires fewer digits,
-it is padded on the left with blanks unless zero padding has been requested.
-.IP efg
-The double argument is rounded and converted in the style
-of the underlying systems sprintf() support.  Lengths and other critical
-values have been check,  and the maximum length of converted value is 64 bytes.
-.IP c
-The int argument is converted to an unsigned char, and the resulting character is written,
-as modified by the visible_control variable value.
-.IP s
-The ``char *'' argument is expected to be a pointer to an array
-of character type (pointer to a string).
-Characters from the array are written up to (but not including) a terminating NUL character; if a precision is specified, no more than the number specified are written.
-Characters are written to the string as modified by the visible_control variable value.
-.IP %
-A `%' is written. No argument is converted. The complete conversion specification is `%%'.
-.LP
-In no case does a non-existent or small field width cause truncation of a
-field; if the result of a conversion is wider than the field width, the
-field is expanded to contain the conversion result.
-.LP
-SH BUGS
-.lp
-The typedef names quad_t and u_quad_t are ugly, ugly, ugly.
-Your system may use different quad type names.
-.LP
-.SH COPYRIGHT
-.LP
-The source code and documentation is Copyright 1988-1999 by Patrick Powell
-<papowell@astart.com>.
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/tin.1 tin-2.6.4/doc/tin.1
--- tin-2.6.3/doc/tin.1	2023-12-24 00:38:35.000000000 +0100
+++ tin-2.6.4/doc/tin.1	2024-12-23 10:54:19.866994892 +0100
@@ -3,14 +3,12 @@
 .\" Module    : tin.1
 .\" Author    : I. Lea, U. Janssen
 .\" Created   : 1991-08-23
-.\" Updated   : 2023-12-24
+.\" Updated   : 2024-12-24
 .\" Notes     : use American English; still needs some work, e.g.:
 .\"             - document authorization (.newsauth)
 .\"             - document random organization feature
 .\"
-.\"
-.IX Title "tin 1"
-.TH tin 1 "December 24th, 2023" "2.6.3" "Usenet newsreader"
+.TH tin 1 "December 24th, 2024" "2.6.4" "Usenet newsreader"
 .\"
 .\"
 .SH NAME
@@ -18,7 +16,6 @@ tin, rtin \- Usenet newsreader
 .\"
 .\"
 .SH SYNOPSIS
-.IX Header SYNOPSIS
 .B tin
 .RB [\|[\| \-h \||\| \-H \||\| \-V \|]\ \||
 .RB [\|[\| \-a \|]
@@ -33,12 +30,16 @@ tin, rtin \- Usenet newsreader
 .IR address \|]
 .RB [\| \-D
 .IR debug_level \|]
+.RB [\| \-F
+.IR filter_file \|]
 .RB [\| \-G
 .IR article_limit \|]
 .RB [\| \-f
 .IR newsrc_file \|]
 .RB [\| \-g
 .IR server \|[\|: port \|]\|]
+.RB [\| \-L
+.IR Message-ID \|]
 .RB [\| \-m
 .IR Mail_dir \|]
 .RB [\| \-p
@@ -50,7 +51,6 @@ tin, rtin \- Usenet newsreader
 .\"
 .\"
 .SH DESCRIPTION
-.IX Header DESCRIPTION
 .B tin
 is a full-screen easy to use Usenet newsreader. It can read news locally
 (e.g., \fI/var/spool/news\fR) or remotely (\fBrtin\fP or \fBtin \-r\fP
@@ -67,7 +67,7 @@ command to view a list of the commands a
 level.
 .PP
 On startup \fBtin\fP will show a list of the newsgroups found in
-\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR. An arrow '\->' or highlighted
+\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR. An arrow '\(->' or highlighted
 bar will point to the first newsgroup. Move to a group by using the
 terminal arrow keys (terminal dependent) or \fBDown\fP ('\fBj\fP')
 and \fBUp\fP ('\fBk\fP'). Use PgUp/PgDn (terminal dependent) or
@@ -79,9 +79,8 @@ newsgroup with unread articles.
 .\"
 .\"
 .SH "EXIT STATUS"
-.IX Header "EXIT STATUS"
 .\" TODO: also exits with signalnr caught as exit status
-.TP
+.TP 12
 .B 0
 Successful program execution. No unread news available in batch mode.
 .TP
@@ -96,7 +95,6 @@ NNTP error.
 .\"
 .\"
 .SH OPTIONS
-.IX Header OPTIONS
 .TP 12
 .B \-4
 Force connecting via IPv4 to the remote NNTP server. Only available when
@@ -129,20 +127,43 @@ Don't load newsgroup descriptions and se
 .\" FIXME: explain debug levels
 .TP
 .BI \-D " debug-level"
-Enter debug-level (1 = NNTP, 2 = filter, 4 = newsrc, 8 = threading, 16 =
-memory, 32 = attributes, 64 = misc, 128 = remove existing debug files).
+Enter debug-level, the levels can specified via number (should be avoided
+as it will be removed in the future) or name (case insensitive) as listed
+below. Use comma to give multiple levels, any combinations are allowed
+(e.g., ''\fB\-D\fP \fIGNKSA,2,NNTP\fP''). If removal is requested it will
+be performed at startup and on normal termination (that is the files are
+only available while tin is running).
+.in +.3i
+.nf
+.ta \w'%128 'u +\w'ATTRIBUTES 'u +\w'ATTRIBUTES 'u +\w'ATTRIBUTES'u
+\fI  1	NNTP	NNTPS\fP
+\fI  2	FILTER	ARTS\fP
+\fI  4	NEWSRC	BITMAP\fP
+\fI  8	THREADING	REFS\fP
+\fI 16	MEMORY	MALLOC\fP
+\fI 32	ATTRIBUTES\fP
+\fI 64	MISC	GNKSA	ACTIVE\fP
+\fI127	ALL	EVERYTHING\fP
+\fI128	REMOVE	DELETE\fP
+.fi
+.in -0.3i
 For NNTP-level ''\fB\-v\fP'' controls the verbosity of the output.
 Depending on the debug-level various files may be written to \fI$TMPDIR\fR
 and/or on screen output may be given. See also the "SECURITY" section!
 .TP
 .BI \-f " file"
 Use the specified file of subscribed to newsgroups in place of
-\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR.
+\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR or a file specified via
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fR.
+.TP
+.BI \-F " file"
+Use the specified filter file instead of \fI${TIN_HOMEDIR:\-"$HOME"}/.filter\fR.
 .TP
-.BI \-g " server[:port]"
+.BI \-g " server\fR[\fB:\fIport\fR]"
 Use the server[:port] and newsrc specified in
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fR. Only available when
-reading via NNTP.
+reading via NNTP. If you want to give a port with a plain IPv6 address,
+the address must be enclosed in square brackets.
 .TP
 .BI \-G " article-limit"
 Limit the number of articles/group to retrieve from the server.
@@ -165,12 +186,12 @@ Directory in which to store newsgroup in
 This option has no effect if \fBtin\fP retrieves its index files via
 NNTP and \fBcache_overview_files\fP is turned off.
 .TP
-.BI \-k
+.B \-k
 Skip the certificate verification step for NNTPS connections and proceed
 without checking. This option implies ''\fB\-T\fP''. See also the "SECURITY"
 section.
 .TP
-.BI \-l
+.B \-l
 Get number of articles per group from the
 \fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file. If
 reading via NNTP this is done with the LIST command (\fBRFC\%3977\fP). This
@@ -182,6 +203,10 @@ NNTP GROUP command (\fBRFC\%3977\fP) ''\
 NNTP and LIST COUNTS (\fBRFC\%6048\fP) is available that is used instead
 as it gives more accurate article counts.
 .TP
+.B \-L
+Show the message with the given Message-ID if available. Only available
+when reading via NNTP.
+.TP
 .BI \-m " dir"
 Mailbox directory to use. Default is \fI${TIN_HOMEDIR:\-"$HOME"}/Mail\fR.
 .TP
@@ -206,8 +231,8 @@ quick, it should be used with ''\fB\-n\f
 .TP
 .BI \-p " port"
 Port to use if reading via NNTP (default is 119 or 563 if NNTPS is enabled,
-see ''\fB\-T\fP''). This also overrides the environment variable $\fBNNTPPORT\fP
-if set. Only available when reading via NNTP.
+see ''\fB\-T\fP''). This also overrides the environment variables $\fBNNTPPORT\fP
+and $\fBNNTPSPORT\fP if set. Only available when reading via NNTP.
 .TP
 .B \-q
 Don't check for new newsgroups and skip loading the servers message of the day.
@@ -239,7 +264,7 @@ allowed maximum is 16383.
 .TP
 .B \-T
 Enable NNTPS (NNTP over TLS). This also overrides the environment
-variable $\fBNNTPPORT\fP if set. Only available when reading via NNTP.
+variable $\fBNNTPSPORT\fP if set. Only available when reading via NNTP.
 .TP
 .B \-u
 Create/update index files for every group in
@@ -249,8 +274,8 @@ NNTP server and \fBcache_overview_files\
 .TP
 .B \-v
 Verbose mode for ''\fB\-c\fP'', ''\fB\-D\fP'', ''\fB\-M\fP'', ''\fB\-N\fP'',
-\&''\fB\-S\fP'', ''\fB\-u\fP'' and ''\fB\-Z\fP'' options. Can be used multiple
-times to increase verbosity.
+\&''\fB\-S\fP'', ''\fB\-u\fP'', ''\fB\-V\fP'' and ''\fB\-Z\fP'' options. Can
+be used multiple times to increase verbosity.
 .TP
 .B \-V
 Print version information and compilation options.
@@ -266,7 +291,8 @@ No-posting mode. You cannot post article
 .B \-X
 No overwrite mode. \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR and files in
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin\fR
-will not be overwritten but may be created if they don't exist.
+will not be overwritten but may be created if they don't exist. Should be
+used with ''\fB\-x\fP'' if possible.
 .TP
 .B \-z
 Only start \fBtin\fP if there is any new/unread news. If there is news
@@ -295,7 +321,7 @@ group, then you will automatically enter
 group selection screen will appear, but with all the matching groups present
 too, as though you had yanked just those groups in.
 .PP
-With the ''\fB-w\fP'' flag a given group-name is used as default group to post
+With the ''\fB\-w\fP'' flag a given group-name is used as default group to post
 to. If more than one group or a wildcard is specified only the first group
 respectively the first group that matches is used.
 .PP
@@ -312,11 +338,15 @@ NB: With the ''\fB\-n\fP'' flag, only un
 \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fR) can be matched.
 .PP
 Command-line options have higher priority than attributes and tinrc options.
-Thus, command-line option takes precedence over configured values.
+Thus, command-line option takes precedence over configured values with the
+single exception that if a port is given for the newsserver in
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fR it will override any port
+given on the command-line. The order of command-line options is not
+important. If they are mutual exclusive the one with the highest priority
+will be chosen and a warning may be given.
 .\"
 .\"
 .SH USAGE
-.IX Header USAGE
 .\"
 .\"
 .SS "NEWS ADMINISTRATION"
@@ -341,12 +371,12 @@ At the Selection level the title display
 a "[T]"- or "[k]"-suffix if reading via NNTPS (insecurely)) and) the number
 of subscribed groups (containing new unread articles). The newsgroups are
 displayed in the middle of the screen usually with the number of unread
-articles displayed on the  same line in front, but it can be customized
+articles displayed on the same line in front, but it can be customized
 via \fBselect_format\fP.
 .PP
-.\" FIXME - make this auto scale
 .nf
-\->M    1     2  comp.security.announce  Announcements from the CERT abou
+.ft CR
+\(->M    1     2  comp.security.announce  Announcements from the CERT abou
   M    2     1  news.admin.announce     Announcements for news adminstra
        3    22  news.software.misc      News-related software other than
        4  1475  news.software.nntp      The Network News Transfer Protoc
@@ -419,11 +449,11 @@ hot articles in it (see also section "FI
 \fBart_marked_selected\fP in front of the total number of articles in the
 thread. The display can be customized via \fBgroup_format\fP.
 .PP
-.\" FIXME - make this auto scale
 .nf
+.ft CR
                 de.admin.net-abuse.announce (11B 13+ 1* 1o 0K) M
 
-\->   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg <l
+\(->   1   +   3  108 bincancels in de.talk.sex        Christopher Lueg <l
      2   +       69 EMP/ECP gecancelt. xynx. BI= 10  Henning Weede <hwee
      3   o       93 EMP gecancelt. SouthBeach/Palms  Henning Weede <hwee
      4   *      368 <1997-11-12> Fremdcancel-FAQ     Thomas Roessler <ro
@@ -433,20 +463,20 @@ At the Thread level the screen usually (
 used) looks like this, but can be customized via \fBthread_format\fP:
 .\" FIXME - add description of fields
 .PP
-.\" FIXME - make this auto scale
 .nf
-\->   1      [   7]  What is this funny tree in the thr  Robert F. Simmig
-     2      [  12]  +\->                                 Sephan Wagner <s
-     3      [ 230]  | `\->Tin thread-level (was: What is Bob Johnson <bob
-     4      [  22]  `\->tin threading menu               Brian Richardson
+.ft CR
+\(->   1      [   7]  What is this funny tree in the thr  Robert F. Simmig
+     2      [  12]  +\(->                                 Sephan Wagner <s
+     3      [ 230]  | `\(->Tin thread-level (was: What is Bob Johnson <bob
+     4      [  22]  `\(->tin threading menu               Brian Richardson
 
 .fi
 .PP
 At the Article level the page header has the following format:
 .\" FIXME - add description of fields
 .PP
-.\" FIXME - make this auto scale
 .nf
+.ft CR
 Sun, 28 Dec 1997 21:21:01   de.admin.news.groups      Thread   20 of 86
 Lines 50   Re: EINSPRUCH zu RESULT:de.comm.mobil.ALL   Article  47 of 59
 Urs Janssen <urs@akk.org>        at Arbeitskreis Kultur und Kommunikati
@@ -631,8 +661,8 @@ Show details about current connection.
 .TP
 .B LookupMessage 'L'
 Look up article by ''Message\-ID:''. If none of the groups listed in
-the ''Newsgroups:''-header of the referenced article is available, just the
-contents of the ''Newsgroups:''-header will be displayed in the last line.
+the ''Newsgroups:''\-header of the referenced article is available, just the
+contents of the ''Newsgroups:''\-header will be displayed in the last line.
 At this level this command only works if reading via NNTP and the server
 supports [X]HDR (\fBRFC\%2980\fP, \fBRFC\%3977\fP) or XPAT (\fBRFC\%2980\fP).
 .TP
@@ -754,7 +784,7 @@ Select current thread for later processi
 Selects all threads in current group. It is a shortcut for calling
 \fBGroupSelPattern\fP with a pattern of ''*''.
 .TP
-.B GroupToggleThdSel '\\.'
+.B GroupToggleThdSel '.'
 Toggle selection of current thread. If at least one unread article, (but not
 every unread article) in the current thread is selected, then all unread
 articles become selected.
@@ -767,7 +797,7 @@ auto-selection on author where reader wa
 .B GroupSelPattern '='
 Prompts for a pattern with which to match on. All threads whose subjects
 match the pattern will be marked selected. A pattern of ''*'' will match all
-subjects. Entering just '\fB<CR>\fP' will re-use the last pattern that
+subjects. Entering just '\fB<CR>\fP' will reuse the last pattern that
 was entered.
 .TP
 .B GroupReverseSel '@'
@@ -866,7 +896,8 @@ prompt asks how to proceed.
 Open the thread under the current cursor position.
 .TP
 .B LookupMessage 'L'
-Look up article by ''Message\-ID:''.
+Look up article by ''Message\-ID:''. In this level only the IDs in the
+current group are searched.
 .TP
 .B GroupMail 'm'
 Mail current article / thread / auto-selected (hot) articles / articles
@@ -1079,7 +1110,8 @@ current article. When tagged articles ar
 to proceed.
 .TP
 .B LookupMessage 'L'
-Look up article by ''Message\-ID:''.
+Look up article by ''Message\-ID:''. In this level only the IDs in the
+current group are searched.
 .TP
 .B ThreadMail 'm'
 Mail current article / thread / auto-selected (hot) articles / articles
@@ -1182,6 +1214,9 @@ taken from the \fBtex2iso_conv\fP variab
 .B PageToggleAllHeaders '*'
 Toggles the display of all headers vs. headers in \fBnews_headers_to_display\fP.
 .TP
+.B PageArticleInfo '''
+Detailed MIME information of the article.
+.TP
 .B PageToggleRot '%'
 Toggle ROT-13 decoding for this article.
 .TP
@@ -1311,7 +1346,8 @@ Mark rest of thread as read and move ont
 Show the thread menu that the current article is a part of.
 .TP
 .B LookupMessage 'L'
-Look up article by ''Message\-ID:''.
+Look up article by ''Message\-ID:''. In this level only the IDs in the
+current group are searched.
 .TP
 .B PageMail 'm'
 Mail current article / thread / auto-selected (hot) articles / articles
@@ -1489,7 +1525,7 @@ posting etiquette after composing an art
 .\"
 .SS "POSTING HISTORY LISTING"
 \fBDisplayPostHist\fP ('\fBW\fP') displays a list of all previous posted
-articles stored in \fI${TIN_HOMEDIR:-"$HOME"}/.tin/posted\fR. The following
+articles stored in \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/posted\fR. The following
 information is shown: a time stamp in "dd-mm-yy"-format, a single letter
 indicating the action which initiated the message, the group names (eventually
 shortened, see also \fBabbreviate_groupname\fR) or a mail address the message
@@ -1500,7 +1536,7 @@ the following commands are available:
 .B PostedArticlesSelect '^J' '<CR>'
 The article with the current ''Message\-ID:'' will be opened if available.
 Note that this requires that the ''Message\-ID:'' of the article was recorded
-in \fI${TIN_HOMEDIR:-"$HOME"}/.tin/posted\fR which may not always be the case.
+in \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/posted\fR which may not always be the case.
 If using NNTP and the internal inews (\fBinews_prog\fP set to "\-\-internal")
 and either the server proposes a ''Message\-ID:'' during the POST
 (\fBRFC\%3977\fP) command or
@@ -1581,14 +1617,14 @@ the name of the corresponding setting in
 .B Abbreviate long newsgroup names (abbreviate_groupname)
 If ON abbreviate long newsgroup names at group selection level and article
 level (if necessary) like this:
-news.software.readers \-> n.software.readers \-> n.s.readers \-> n.s.r.
+news.software.readers \(-> n.software.readers \(-> n.s.readers \(-> n.s.r.
 Default is OFF.
 .TP
 .B Add posted articles to filter (add_posted_to_filter)
 If ON add posted articles which start a new thread to filter for
 highlighting follow-ups. Default is ON.
 .TP
-.B Insert 'User\-Agent:'-header (advertising)
+.B Insert 'User\-Agent:'\-header (advertising)
 Turn ON advertising in header (''User\-Agent:''). Default is ON.
 .TP
 .B Skip multipart/alternative parts (alternative_handling)
@@ -1663,11 +1699,17 @@ If ON, create local copies of NNTP overv
 considerably speed up accessing large groups when using a slow connection.
 See also "INDEX FILES". Default is OFF.
 .TP
+.B Compress locally cached NNTP overview files (compress_overview_files)
+If ON, locally cached NNTP overview files (\fBcache_overview_files\fP) are
+saved in compressed form (\fBRFC\%1952\fP). Useful to reduce local disk
+space used. Default is OFF.
+.TP
 .B Hash algorithm for cancel-locks (cancel_lock_algo)
 Use this hash algorithm for cancel-locks. Only available when built with
 cancel-lock support. none disables the generation of cancel-locks. Valid
 values are none, sha1, sha256 and sha512.
-Default is sha1.
+Default is sha1. See also \fI${TIN_HOMEDIR:\-"$HOME"}/.cancelsecret\fR in
+.BR \%tin (5).
 .TP
 .B Catchup read groups when quitting (catchup_read_groups)
 If set ON the user is asked when quitting if all groups read during the
@@ -1904,8 +1946,12 @@ Default for quick (1 key) auto-selection
 .TP
 .B (default_subject_search)
 .TP
-.B Draw \-> instead of highlighted bar (draw_arrow)
-Allows groups/articles to be selected by an arrow '\->' if set ON or
+.B Don't break words when wrapping (dont_break_words)
+Do not break long lines inside a word. This applies to the body except for
+verbatim blocks. See also \fBwrap_column\fP. Default is OFF.
+.TP
+.B Draw \(-> instead of highlighted bar (draw_arrow)
+Allows groups/articles to be selected by an arrow '\(->' if set ON or
 by a highlighted bar if set OFF. Default is OFF.
 .TP
 .B Invocation of your editor (editor_format)
@@ -1974,7 +2020,7 @@ available to display long subjects. Defa
 .TP
 .B Use interactive mail reader (interactive_mailer)
 Interactive mailreader: if greater than 0 your mailreader will be invoked
-earlier for reply so you can use more of its features (e.g. MIME,
+earlier for reply so you can use more of its features (e.g., MIME,
 pgp, ...). 1 means include headers, 2 means don't include headers
 (old use_mailreader_i=ON option). 0 turns off usage. This option has to
 suit \fBmailer_format\fP. Default is 0.
@@ -2034,14 +2080,15 @@ quoted\-printable, 7bit). Default is quo
 .B Quote line when mailing (mail_quote_format)
 Format of quote line when replying (via mail) to an article (%A=Address,
 %D=Date, %F=Fullname+Address, %G=Groupname, %M=Message\-ID, %N=Fullname,
-%C=Firstname, %I=Initials). Default is "In article %M you wrote:"
+%C=Firstname, %I=Initials). If the article has multiple addresses only
+the first is evaluated. Default is "In article %M you wrote:"
 .TP
 .B Format of the mailbox (mailbox_format)
 Select one of the following mailbox-formats: MBOXO (default, except on
 SCO), MBOXRD or MMDF (default on SCO). See
 .BR \%mbox (5)
 and
-.BR RFC\%4155
+.B RFC\%4155
 for more details on MBOXO and MBOXRD and
 .BR \%mmdf (5)
 for more details about MMDF.
@@ -2063,11 +2110,10 @@ different command line parameters to be
 .in +.3i
 .nf
 sendmail \-oem \-t < %F
-mutt \-s "%S" \-\- "%T" < %F
 mutt \-H %F
 claws-mail \-\-compose "mailto:%T?subject=%S&insert=%F"
 .fi
-.in -.3i
+.in -0.3i
 \fBinteractive_mailer\fP must be set adequate. The following substitutions
 are supported:
 .in +.3i
@@ -2080,7 +2126,7 @@ are supported:
 %U	username
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP
 .B 'Mark as (un)read' ignores tags (mark_ignore_tags)
 When this is ON, the \fBGroupMarkThdRead\fP ('\fBK\fP'),
@@ -2116,6 +2162,8 @@ not set, the value of the environment va
 used. US-ASCII or compile-time default is used in case neither of
 them is defined. If your system supports
 .BR \%iconv (3),
+or
+.BR \%ucnv_* (),
 this option is disabled and you should use \fBmm_network_charset\fP instead.
 .TP
 .B MM_NETWORK_CHARSET (mm_network_charset)
@@ -2125,13 +2173,15 @@ via
 .BR \%nl_langinfo (3))
 is done via
 .BR \%iconv (3),
-if this function is not available on your system this option is disabled and
-you have to use \fBmm_charset\fP instead. \fBmm_network_charset\fP is
-limited to one of the following charsets:
+or
+.BR \%ucnv_* (),
+if none of these functions are available on your system this option is
+disabled and you have to use \fBmm_charset\fP instead. \fBmm_network_charset\fP
+is limited to one of the following charsets:
 .in +.3i
 US-ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8-{R,U,RU}
 EUC-{CN,JP,KR,TW}, ISO-2022-{CN,CN-EXT,JP,JP-1,JP-2}, Big5, UTF-8
-.in -.3i
+.in -0.3i
 Not all values might work on your system, see
 .BR \%iconv_open (3)
 for more details. If it's not set, the value of the environment variable
@@ -2181,7 +2231,8 @@ Not defining anything turns off this opt
 .B Quote line when following up (news_quote_format)
 Format of quote line when posting/following up an article (%A=Address,
 %D=Date, %F=Fullname+Address, %G=Groupname, %M=Message\-ID, %N=Fullname,
-%C=Firstname, %I=Initials). Default is "%F wrote:".
+%C=Firstname, %I=Initials). If the article has multiple addresses only
+the first is evaluated. Default is "%F wrote:".
 .TP
 .B NNTP read timeout in seconds (nntp_read_timeout_secs)
 Time in seconds to wait for a response from the server. Default is 120.
@@ -2211,17 +2262,17 @@ The possible values are:
 .RE
 Some normalization modes are only available if they are supported by the
 library \fBtin\fP uses to do the normalization. NFC should be used if
-possible.
+possible (\fBRFC\%5198\fP).
 .TP
 .B Format string for the display of mime header at Article level (page_mime_format)
 Format string \fBtin\fP uses for mime header at Page level. See the
 section "CUSTOMIZING THE SCREEN FORMAT".
-Default is "[-- %T%S%*n%z%*l%!c%!d%*e --]".
+Default is "[\-\- %T%S%*n%z%*l%!c%!d%*e \-\-]".
 .TP
 .B Format string for the display of uue header at Article level (page_uue_format)
 Format string \fBtin\fP uses for uue header at Page level. See the
 section "CUSTOMIZING THE SCREEN FORMAT".
-Default is "[-- %T%S%*n%I%!d%*e --]".
+Default is "[\-\- %T%S%*n%I%!d%*e \-\-]".
 .TP
 .B Go to first unread article in group (pos_first_unread)
 If ON put cursor at first unread article in group otherwise at last
@@ -2298,7 +2349,8 @@ is OFF.
 .B Characters used as quote-marks (quote_chars)
 The character used in quoting included text to article followups and mail
 replies. The '_' character represents a blank character and is replaced
-with ' ' when read, %I is replaced by author's initials. Default is '>_'.
+with ' ' when read, %I is replaced by author's initials. If the article has
+multiple addresses only the first is evaluated. Default is '>_'.
 .TP
 .B Quoting behavior (quote_style)
 How articles should be quoted when following up or replying to them. There
@@ -2617,8 +2669,8 @@ score in this thread.
 .RE
 .TP
 .B CA certificate file (tls_ca_cert_file)
-The  name  of file containing all trusted CA certificates used for NNTPS
-(\fB\%RFC8143\fP) connections. If left  empty  the system default will be
+The name of file containing all trusted CA certificates used for NNTPS
+(\fB\%RFC8143\fP) connections. If left empty the system default will be
 used.
 .TP
 .B Transliteration (translit)
@@ -2699,7 +2751,7 @@ and
 must be in your $\fBPATH\fP. Default is OFF.
 .TP
 .B Use UTF-8 graphics (utf8_graphics)
-If ON use UTF-8 characters for indicator ('\->'), thread/attachment tree and
+If ON use UTF-8 characters for indicator ('\(->'), thread/attachment tree and
 ellipsis ('...'). Default is OFF.
 .TP
 .B Regex for begin of a verbatim block (verbatim_begin_regex)
@@ -2758,13 +2810,13 @@ attributes specified in \fBmono_markdash
 .B Page line wrap column (wrap_column)
 Sets the column at which a displayed article body should be wrapped.
 If this value is equal to 0, it defaults to the current screen width.
-If this value is greater than your current screen width the part
-off-screen is not displayed. Thus setting this option to a large
-value can be used to disable wrapping. If this value is negative the
-wrap margin is the current screen width plus the given value (as long
-as the result is still positive, otherwise it will fall back to the
-current screen width). Default is 0, wrapping at the current screen
-width.
+If this value is greater than your current screen width and
+\fBdont_break_words\fP is unset the part off-screen is not displayed.
+Thus setting this option to a large value can be used to disable wrapping.
+If this value is negative the wrap margin is the current screen width plus
+the given value (as long as the result is still positive, otherwise it will
+fall back to the current screen width). Default is 0, wrapping at the
+current screen width.
 .TP
 .B Quote line when crossposting (xpost_quote_format)
 Format is the same as for \fBnews_quote_format\fP, this is used when
@@ -2804,7 +2856,7 @@ value.
 .SS "SCOPES MENU"
 The scopes menu (accessible from the options menu with \fBConfigScopeMenu\fP
 ('\fBS\fP')) shows all scopes read from the global and local attributes file.
-Scopes from the global attributes file are marked with '!' to the left of the
+Scopes from the global attributes file are marked with '!\&' to the left of the
 scope number. Delete/rename/move are not possible with those scopes.
 .PP
 In addition to the common moving keys the following commands are available:
@@ -2827,9 +2879,10 @@ you specify. This can be anything from t
 of lines in an article.
 .PP
 When \fBtin\fP starts up the user's kill-file
-\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/filter\fR (see also
-.BR \%tin (5))
-is read. Each time a newsgroup is entered the rules are applied and articles
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/filter\fR or the file specified
+via ''\fB\-F\fP'' is read (see also
+.BR \%tin (5)
+). Each time a newsgroup is entered the rules are applied and articles
 killed or selected when they meet certain criteria.
 .PP
 The degree to which rules are applied depend on the \fBkill_level\fP tinrc
@@ -2847,7 +2900,7 @@ over previous versions to include scorin
 recommended that you read the file \fIfiltering\fR in the \fBtin\fP
 documentation directory. This file can also be read online at
 .br
-<http://www.tin.org/filtering.txt>.
+<http://bzr.tin.org/doc/filtering>.
 .PP
 .\" FIXME - Next paragraph is out of date
 The on-screen filtering menu is accessed by pressing
@@ -2905,8 +2958,9 @@ again via \fBPostEdit\fP ('\fBe\fP') or
 When posting a followup to an article or replying direct to the author of an
 article via email the text of the article can be quoted. The beginning of
 the quoted text can contain information about the quoted article (e.g., Name
-and the Message\-ID of the article). To allow for different situations
-certain information from the article can be used in the quoted string. The
+and the Message\-ID of the article). If the article has multiple addresses
+only the first is evaluated. To allow for different situations certain
+information from the article can be used in the quoted string. The
 following variables are expanded if found in the tinrc variables
 \fBmail_quote_format\fP, \fBnews_quote_format\fP or \fBxpost_quote_format\fP:
 .RS
@@ -2924,7 +2978,7 @@ following variables are expanded if foun
 .RE
 e.g.,
 .RS
-.ft CW
+.ft CR
 .nf
 mail_quote_format=On %D in %G you wrote:
 news_quote_format=In %M, %F wrote:
@@ -2933,7 +2987,7 @@ news_quote_format=In %M, %F wrote:
 .RE
 would expand to:
 .RS
-.ft CW
+.ft CR
 .nf
 On 21 Sep 1993 09:45:51 \-0400 in alt.sources you wrote:
 In <abcINN123@example.org>, Joe Bar <joe@example.org> wrote:
@@ -2987,7 +3041,7 @@ See \fBmaildir\fP.
 To save in savedir/<news.group.name>/<filename> format enter '+<filename>'.
 See \fBsavedir\fP. Like '+' %G is expanded to the current news.group.name
 but without \fBsavedir\fP prefixed. %P is expanded to the news.group.name
-with all '.' replaced by '/'.
+with all '.\&' replaced by '/'.
 .PP
 If saving multiple files at once the filename (if not referring to a mailbox)
 will be extended by ".num" where "num" is at least 3 digit number counting
@@ -3039,9 +3093,9 @@ mark them as read)
 A range is simply a group of items marked using the \fBSetRange\fP
 (\fB'#'\fP) key. Certain \fBtin\fP commands will operate on a range
 if one exists rather than just the current item. A range is an
-expression of the form <min>\(en<max>, e.g. 10\(en15 will highlight items
+expression of the form <min>\(en<max>, e.g., 10\(en15 will highlight items
 10 through 15 on the current screen. Other than absolute numeric
-positions, '.' can be used in place of the current cursor position
+positions, '.\&' can be used in place of the current cursor position
 and '$' can be used to mean the highest number available. Entering '0'
 at the prompt undoes the previously entered range selection. Currently
 the only commands that understand ranges are \fBGroupMarkThdRead\fP
@@ -3083,7 +3137,7 @@ editor for both posting and mailing comm
 .PP
 The following is an example of a \fI.Sig\fR file:
 .RS
-.ft CW
+.ft CR
 .nf
 NAMES  Joe Bar <joe@example.org>
 SNAIL  Musterweg 12, 99999 Notreal, Germany
@@ -3106,7 +3160,8 @@ random sig is read from the file \fI$HOM
 The look of the Selection, Group and Thread level can be customized via
 format strings. These format strings define the content and the position
 of each element on the screen. Variables are used within the format strings
-as placeholders. The following variables are available:
+as placeholders. If the article has multiple addresses only the first is
+evaluated. The following variables are available:
 .PP
 .in +.3i
 .nf
@@ -3128,7 +3183,7 @@ as placeholders. The following variables
 \fB%s\fP	subject
 \fB%%\fP	%
 .fi
-.in -.3i
+.in -0.3i
 .PP
 Not all variables can be used in each level. The following table provides
 an overview:
@@ -3154,7 +3209,7 @@ an overview:
 \fB%s\fP		X
 \fB%%\fP	X	X	X
 .fi
-.in -.3i
+.in -0.3i
 .PP
 Defaults for the format strings:
 .PP
@@ -3165,7 +3220,7 @@ Defaults for the format strings:
 \fBgroup_format\fP:	"\fB%n %m %R %L  %s  %F\fP"
 \fBthread_format\fP:	"\fB%n %m  [%L]  %T  %F\fP"
 .fi
-.in -.3i
+.in -0.3i
 .PP
 \fBshow_description\fP controls whether the newsgroup description is shown
 or not. The description can also be toggled with \fBSelectToggleDescriptions\fP
@@ -3178,7 +3233,7 @@ options.
 .PP
 For date representation '\fB%D\fP' uses \fBdate_format\fP. It is possible
 to specify a different date format in round brackets
-(e.g. '\fB%(%d %b %y %H:%M)D\fP'). See \fBdate_format\fP for more details.
+(e.g., '\fB%(%d %b %y %H:%M)D\fP'). See \fBdate_format\fP for more details.
 .PP
 The length of each item (except '\fB%%\fP') can be defined with a positive
 number after the '\fB%\fP'. The following example displays the score in the
@@ -3186,8 +3241,8 @@ thread level 10 characters wide: '\fB%10
 .PP
 If the newsgroup name is displayed together with the newsgroup description,
 the width of the newsgroup name can be controlled via an optional comma
-separated second value (e.g. '\fB%60,20G\fP'). It is valid to omit the first
-value (e.g. ('\fB%,20G\fP')). If no second value is given, \fBtin\fP uses a
+separated second value (e.g., '\fB%60,20G\fP'). It is valid to omit the first
+value (e.g., ('\fB%,20G\fP')). If no second value is given, \fBtin\fP uses a
 default value of 32.
 .PP
 Some variables do have a default width which may lead to truncation.
@@ -3195,7 +3250,7 @@ Truncation for variables which contain o
 value with a sufficient power of ten and adding a SI suffix to the result,
 that is the variable holds a value of 54321 and the width for the variable
 is 4 the result will be "54 k". If that's undesired you have to specify a
-larger width manually, e.g. '\fB%6n\fP'. Here is an overview of the defaults:
+larger width manually, e.g., '\fB%6n\fP'. Here is an overview of the defaults:
 .PP
 .in +.3i
 .nf
@@ -3209,7 +3264,7 @@ Variable	width
 \fB%U\fP	 5
 \fB%n\fP	 4
 .fi
-.in -.3i
+.in -0.3i
 .PP
 If no length is given for '\fB%D\fP', the length is determined by the format
 string for the date and the date of the current day. If the date format string
@@ -3228,19 +3283,29 @@ When the format string contains the spec
 resp. '\fB%T\fP' and no length are given, '\fB%F\fP' will use one third
 and '\fB%s\fP' resp. '\fB%T\fP' will use two third of the available space.
 .PP
-In addition, a minimum screen width can be defined for each
-item (except '\fB%%\fP'). In this case, the item will only be displayed when
-the screen is wider than specified. This comes in handy to not overload a small
-screen but have maximum information on a large screen. The minimum screen width
-has to be specified by a positive number preceded by an '\fB>\fP'. In the
-following example \fBtin\fP will display the score only if the screen is wider
-than 100 characters: '\fB%>100S\fP'.
-.PP
-If both the length and the minimum screen width should be specified for an
-item, the length must be the first parameter and the minimum screen width
-must be the second one. The following example displays the score with a length
-of 10 characters only if the screen is wider than 100
-characters: '\fB%10>100S\fP'.
+In addition, a minimum or a maximum screen width can be defined for each
+item (except '\fB%%\fP'). In this case, the item will only be displayed
+when the screen is wider resp. smaller than specified. This comes in handy
+to not overload a small screen but have maximum information on a large
+screen. The minimum screen width has to be specified by a positive number
+preceded by an '\fB>\fP', the maximum screenwidth has to be specified by a
+positive number preceded by an '\fB<\fP'. In the following example
+\fBtin\fP will display the score only if the screen is wider than 100
+characters: '\fB%>100S\fP'.
+.PP
+If both the length and the minimum or maximum screen width should be
+specified for an item, the length must be the first parameter and the
+minimum or maximum screen width must be the second one. The following
+example displays the score with a length of 10 characters only if the screen
+is wider than 100 characters: '\fB%10>100S\fP'. A second length can be
+specified for '\fB%F\fP' and '\fB%s\fP' resp. '\fB%T\fP', separated by a
+colon, which is used if the minimum or maximum screen width is not reached.
+If no length is specified after the colon, the item is displayed even if the
+minimum screen width is not reached and the length is calculated as if no
+minimum (or maximum) screen width had been specified. In the following
+example \fBtin\fP will display the subject with a length of 60 characters if
+the screen is wider than 100 characters, otherwise a length of 40 characters
+is used: '\fB%60>100:40s\fP'.
 .PP
 The look of the Attachment level and the mime and uue header at
 Page level can be customized too via format strings.
@@ -3268,7 +3333,7 @@ The following variables are available:
 \fB%z\fP	Like %Z but with description
 \fB%%\fP	%
 .fi
-.in -.3i
+.in -0.3i
 .PP
 Not all items can be used in each variable. The following table provides
 an overview:
@@ -3296,14 +3361,14 @@ an overview:
 \fB%z\fP	X	X	X
 \fB%%\fP	X	X	X
 .fi
-.in -.3i
+.in -0.3i
 .PP
 By default, the string is not truncated. If it exceeds the screen width, it
-is wrapped. If the % sign is followed by an exclamation mark ('!') for
+is wrapped. If the % sign is followed by an exclamation mark ('!\&') for
 uppercase letters, the element is omitted if there is not enough space. If
 the % sign is followed by an asterisk ('*') for a lowercase letter, the
 description is omitted if there is not enough space. If the % sign is
-followed by an exclamation mark ('!') for a lowercase letter, the
+followed by an exclamation mark ('!\&') for a lowercase letter, the
 description is omitted first and then the content. The shortening is always
 from right to left, first the description is omitted and when no more
 description is displayed, the content is omitted. If %T and %S follow each
@@ -3316,8 +3381,8 @@ Defaults for the format strings:
 .nf
 .ta \w'attachment_format'u +\w'"\fB%T%S%E%C%d\fP"'u
 \fBattachment_format\fP:	"\fB%T%S%E%C%d\fP"
-\fBpage_mime_format\fP:	"\fB[-- %T%S%*n%z%*l%!c%!d%*e --]\fP"
-\fBpage_uue_format\fP:		"\fB[-- %T%S%*n%I%!d%*e --]\fP"
+\fBpage_mime_format\fP:	"\fB[\-\- %T%S%*n%z%*l%!c%!d%*e \-\-]\fP"
+\fBpage_uue_format\fP:		"\fB[\-\- %T%S%*n%I%!d%*e \-\-]\fP"
 .fi
 .\"
 .\"
@@ -3429,7 +3494,8 @@ If your news server doesn't support NOV
 very slow connection to your news server then \fBtin\fP can cache the
 index for each newsgroup if \fBcache_overview_files\fP is set to ON.
 Note that this cache can use up large amounts of disk space if you
-read a lot of groups and/or high traffic groups.
+read a lot of groups and/or high traffic groups. To reduce the amount
+of disk space used, \fBcompress_overview_files\fP can be set to ON.
 .PP
 Each user creates/updates his/her own index files that are stored in
 \fI${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news/\fR. If
@@ -3453,7 +3519,7 @@ the system batcher
 with the ''\fB\-u\fP'' option:
 .PP
 .RS
-.ft CW
+.ft CR
 .nf
 30 6 * * * /usr/local/bin/tin \-u
 .ft R
@@ -3464,9 +3530,9 @@ If you are low on local disk space you s
 cached data for groups you are not reading anymore with something like:
 .PP
 .RS
-.ft CW
+.ft CR
 .nf
-find ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news* \\
+find ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news* \e
 \-type f \-name "[0\-9]*.[0\-9]" \-atime +28 | xargs rm \-f
 .ft R
 .fi
@@ -3474,7 +3540,6 @@ find ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDI
 .\"
 .\"
 .SH FILES
-.IX Header FILES
 .\" TODO: mention dead.article, dead.articles
 .\"               .article[.$$], .cancel[.$$], .letter[.$$]?
 .\"       ${XDG_RUNTIME_DIR:\-"$HOME"}/.slrnfaces
@@ -3490,152 +3555,157 @@ find ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDI
 .\"       $TMPDIR/SCOPES-R   (-D 32)
 .\"       $TMPDIR/SCOPES-W   (-D 32)
 .\"       $TMPDIR/ACTIVE     (-D 64)
+.\"       $TMPDIR/GNKSA      (-D 64)
 For a detailed description see
 .BR \%tin (5).
 .PP
-.IR $MAILCAPS
+.I $MAILCAPS
 .br
-.IR ~/.mailcap
+.I ~/.mailcap
 .br
-.IR /etc/mailcap
+.I /etc/mailcap
 .br
-.IR /usr/etc/mailcap
+.I /usr/etc/mailcap
 .br
-.IR /usr/local/etc/mailcap
+.I /usr/local/etc/mailcap
 .br
-.IR /etc/mail/mailcap
+.I /etc/mail/mailcap
 .PP
 
-.IR /etc/nntpserver
+.I /etc/nntpserver
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.cancelsecret
+.I ${TIN_HOMEDIR:\-"$HOME"}/.cancelsecret
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.mime.types
+.I ${TIN_HOMEDIR:\-"$HOME"}/.mime.types
 .br
-.IR /etc/mime.types
+.I /etc/mime.types
 .br
-.IR /etc/tin/mime.types
+.I /etc/tin/mime.types
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.newsauth
+.I ${TIN_HOMEDIR:\-"$HOME"}/.newsauth
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.newsrc
+.I ${TIN_HOMEDIR:\-"$HOME"}/.newsrc
 .PP
 
 .nf
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/.oldnewsrc
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/.oldnewsrc
 .fi
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.signature
+.I ${TIN_HOMEDIR:\-"$HOME"}/.signature
 .br
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.Sig
+.I ${TIN_HOMEDIR:\-"$HOME"}/.Sig
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.sigfixed
+.I ${TIN_HOMEDIR:\-"$HOME"}/.sigfixed
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/.inputhistory
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/.inputhistory
 .PP
 
-.IR ${TIN_INDEX_MAILDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.mail/
+.I ${TIN_INDEX_MAILDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.mail/
 .PP
 
 .nf
-.IR ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news${NNTPSERVER:+"\-$NNTPSERVER"}/
+.I ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news${NNTPSERVER:+"\-$NNTPSERVER"}/
 .fi
 .PP
 
-.IR ${TIN_INDEX_SAVEDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.save/
+.I ${TIN_INDEX_SAVEDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.save/
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/active.mail
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/active.mail
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/active.save
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/active.save
 .PP
 
-.\" .IR ${TIN_LIBDIR:\-NEWSLIBDIR}/attributes
-.IR /etc/tin/attributes
+.\" .I ${TIN_LIBDIR:\-NEWSLIBDIR}/attributes
+.I /etc/tin/attributes
 .br
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/filter
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/filter
 .PP
 
 .nf
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/keymap${${LC_ALL:\-"${LC_MESSAGES:\-"${LC_CTYPE:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_MESSAGES:\-"${LC_CTYPE:\-"$LANG"}"}"}"}
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/keymap${${LC_ALL:\-"${LC_MESSAGES:\-"${LC_CTYPE:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_MESSAGES:\-"${LC_CTYPE:\-"$LANG"}"}"}"}
 .br
-.IR /etc/tin/keymap${${LC_ALL:\-"${LC_MESSAGES:\-"${LC_CTYPE:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_MESSAGES:\-"${LC_CTYPE:\-"$LANG"}"}"}"}
+.I /etc/tin/keymap${${LC_ALL:\-"${LC_MESSAGES:\-"${LC_CTYPE:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_MESSAGES:\-"${LC_CTYPE:\-"$LANG"}"}"}"}
 .fi
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/mailgroups
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/mailgroups
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/posted
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/posted
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/Mail/posted
+.I ${TIN_HOMEDIR:\-"$HOME"}/Mail/posted
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/postponed.articles
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/postponed.articles
 .PP
 
 .nf
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/newsgroups
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/motd
 .fi
 .PP
 
 .nf
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/serverrc
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog
 .fi
 .PP
 
 .nf
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/newsgroups
 .fi
 .PP
 
-.\" .IR ${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc
-.IR /etc/tin/tinrc
+.nf
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/serverrc
+.fi
+.PP
+
+.\" .I ${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc
+.I /etc/tin/tinrc
 .br
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc
 .PP
 
-.IR /etc/tin/tin.defaults
+.I /etc/tin/tin.defaults
 .PP
 
-.IR /usr/local/share/locale/${LC_MESSAGES}/LC_MESSAGES/tin.mo
+.I /usr/local/share/locale/${LC_MESSAGES}/LC_MESSAGES/tin.mo
 .PP
 
-.IR ${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}
+.I ${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}
 .PP
 
-.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/active.times
+.I ${TIN_LIBDIR:\-NEWSLIBDIR}/active.times
 .PP
 
-.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/newsgroups
+.I ${TIN_LIBDIR:\-NEWSLIBDIR}/newsgroups
 .PP
 
-.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/organization
+.I ${TIN_LIBDIR:\-NEWSLIBDIR}/organization
 .PP
 
-.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/overview.fmt
+.I ${TIN_LIBDIR:\-NEWSLIBDIR}/overview.fmt
 .PP
 
-.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/subscriptions
+.I ${TIN_LIBDIR:\-NEWSLIBDIR}/subscriptions
 .\"
 .\"
 .SH ENVIRONMENT
-.IX Header ENVIRONMENT
 .\" TODO: - sort in a useful order
 .\"       - add undocumented env-vars (e.g. $DEV_TCP (SCO),
 .\"         ${HOST:-"$HOSTNAME"} fallback)
@@ -3689,9 +3759,9 @@ effect.
 .TP
 .B TIN_NOVFILENAME
 Define this variable if you want to override the \fBOVERVIEW_FILE\fP
-filename that was compiled into the \fBtin\fP binary, default is
-\fI.overview\fP. If \fBtin\fP is running in NNTP mode setting this variable
-has no effect.
+filename that was compiled into the \fBtin\fP binary, default
+is \fI.overview\fP. If \fBtin\fP is running in NNTP mode setting this
+variable has no effect.
 .TP
 .B TIN_ACTIVEFILE
 Define this variable if you want to override the \fBNEWSLIBDIR/active\fP
@@ -3707,8 +3777,13 @@ line option overrides $\fBNNTPSERVER\fP.
 .TP
 .B NNTPPORT
 The NNTP TCP-port to read news from. This variable only needs to be set if
-the TCP-port is not 119 (the default). The ''\fB\-p\fP'' and ''\fB\-T\fP''
-command-line options do override $\fBNNTPPORT\fP.
+the TCP-port is not 119 (the default). The ''\fB\-p\fP'' command-line 
+option does override $\fBNNTPPORT\fP.
+.TP
+.B NNTPSPORT
+The NNTPS TCP-port to read news from. This variable only needs to be set if
+the TCP-port is not 563 (the default). The ''\fB\-p\fP'' and ''\fB\-T\fP''
+command-line options do override $\fBNNTPSPORT\fP.
 .TP
 .B DISTRIBUTION
 Set the article header field ''Distribution:'' to the contents of the
@@ -3779,6 +3854,11 @@ mailing operations within \fBtin\fP.
 .B MAIL
 Full path to the user's mailbox.
 .TP
+.\" we don't support the %message || ?message notation
+.B MAILPATH
+A colon-separated list of filenames which are checked for new mail. This
+overrides the $\fBMAIL\fP variable.
+.TP
 .B VISUAL
 This variable has precedence over the default editor (i.e.,
 .BR \%vi (1))
@@ -3833,7 +3913,7 @@ files. See also
 .B NOMETAMAIL
 Set this variable to disable the use of
 .BR \%metamail (1)
-or a replacement (e.g. metamutt).
+or a replacement (e.g., metamutt).
 .TP
 .B MM_CHARSET
 MIME character set used if not configured via the tinrc variable
@@ -3882,6 +3962,14 @@ and
 .BR \%environ (5)
 for more information.
 .TP
+.B LC_NUMERIC
+Numeric value formats. Its value should be of the form
+\fIlanguage\fR[\fI_territory\fR][\fI.codeset\fR][\fI@modifier\fR]. See
+.BR \%locale (5)
+and
+.BR \%environ (5)
+for more information.
+.TP
 .B LC_TIME
 Date and time formats. Its value should be of the form
 \fIlanguage\fR[\fI_territory\fR][\fI.codeset\fR][\fI@modifier\fR]. See
@@ -3910,9 +3998,9 @@ for more information.
 .TP
 .B LANGUAGE
 This variable defines a priority list for translations. Whenever a
-translation is not available in the language selected via \fB$LC_ALL\fP
-or \fB$LANG\fP the next language from the list is tried. Its value should
-be of the form \fIlanguage:language[:language]\fR. See
+translation is not available the next language from the list is tried.
+Its value should be of the form \fIlanguage:language[:language]\fR.
+Requires \fB$LC_ALL\fP or \fB$LANG\fP to be set. See
 .BR \%environ (5)
 for more information.
 .TP
@@ -3958,7 +4046,6 @@ The pathname of the user's dir to put no
 .\"
 .\"
 .SH SIGNALS
-.IX Header SIGNALS
 .\" TODO: add missing, sort useful, document in detail
 .B tin
 handles a couple of signals:
@@ -3983,12 +4070,11 @@ Write out \fI${TIN_HOMEDIR:\-"$HOME"}/.n
 .\"
 .\"
 .SH SECURITY
-.IX Header SECURITY
 If \fBtin\fP is started in debug mode (''\fB\-D n\fP'') it will create
 world readable files in \fB$TMPDIR\fP which may contain sensitive data
 like the users NNTP password in cleartext (if running verbose). On
 multiuser-systems \fB$TMPDIR\fP should be set to a safe location before
-starting \fBtin\fP in (verbose) debug mode (e.g. \fBTMPDIR=$HOME tin \-vD 1\fP).
+starting \fBtin\fP in (verbose) debug mode (e.g., \fBTMPDIR=$HOME tin \-vD 1\fP).
 .PP
 Using the ''\fB\-k\fP'' option to skip certificate verification makes the
 session insecure as the server's certificate is not checked; avoid this
@@ -4001,7 +4087,6 @@ option in conjunction with ''\fB\-C\fP''
 .\"
 .\"
 .SH "CONFORMING TO"
-.IX Header "CONFORMING TO"
 .B tin
 does conform to the Base Definitions volume of IEEE Std 1003.1-2008, Section
 12, Utility Conventions (Utility Argument Syntax, Utility Syntax Guidelines).
@@ -4010,7 +4095,6 @@ does conform to the Base Definitions vol
 .\"
 .\"
 .SH NOTES
-.IX Header NOTES
 Regular expression support is provided by the PCRE library package
 .BR \%pcre (3)
 or
@@ -4022,21 +4106,20 @@ by the University of Cambridge, England.
 .\"
 .\"
 .SH BUGS
-.IX Header BUGS
 .BR CNews \0NNTPd,
 .BR \%noffle (1)
 (<= V1.0-pre5) and
-.BR NewsCache
+.B NewsCache
 (<= V1.1.91) can't handle pipelined GROUP commands (\fBRFC\%3977\fP).
 If you run into trouble with any of the mentioned historical servers define
 DISABLE_PIPELINING in include/autoconf.h and recompile.
 .PP
-Using the ''\fB-C\fP'' (COMPRESS) flag with
+Using the ''\fB\-C\fP'' (COMPRESS) flag with
 .BR INN \0nnrpd
 versions between 2.6.1 and 2.7.1 (both incl.) may cause \fBtin\fP to hang
 and later timeout when posting. This has been fixed in
 .BR INN \0nnrpd
-version 2.7.2. As a workaround simply don't use ''\fB-C\fP''.
+version 2.7.2. As a workaround simply don't use ''\fB\-C\fP''.
 .PP
 Before mailing a bug-report to <tin\-bugs@tin.org> please check if you
 are using the latest (stable) release, and if not, please upgrade
@@ -4047,7 +4130,6 @@ your bug-report until we request it.
 .\"
 .\"
 .SH HISTORY
-.IX Header HISTORY
 \fBtin\fP is based on the
 .BR \%tass (1)
 newsreader that was developed by Rich Skrenta and posted to alt.sources in
@@ -4071,7 +4153,7 @@ author of envarg.c environment variable
 author of sigfile.c random signature generation routines.
 .IP "Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>"
 author of langinfo.c, charset.c and iso2asc.txt ISO-8859-1 documentation.
-.IP "Arnold Robbins"
+.IP "Arnold D. Robbins"
 author of strftime.c date formatting routine.
 .IP "Rich Salz"
 author of wildmat.c pattern matching and parsdate.y date parsing routines.
@@ -4092,7 +4174,7 @@ for
 .BR \%pcre (3),
 .BR \%pcre2 (3)
 (Perl-compatible regular expression library).
-.IP "Patrick Powell <papowell@astart.com>"
+.IP "Mark Martinec <mark.martinec@ijs.si>"
 for
 .BR \%snprintf (3)
 and
@@ -4111,7 +4193,6 @@ Urs Janssen <urs@tin.org>
 .\"
 .\"
 .SH "SEE ALSO"
-.IX Header "SEE ALSO"
 .BR \%elm (1),
 .BR \%emacs (1),
 .BR \%gpg (1),
@@ -4157,10 +4238,10 @@ Urs Janssen <urs@tin.org>
 .BR \%cron (8),
 .BR RFC\%1345 ,
 .BR RFC\%1524 ,
+.BR RFC\%1952 ,
 .BR RFC\%2045 ,
 .BR RFC\%2046 ,
 .BR RFC\%2047 ,
-.BR RFC\%2048 ,
 .BR RFC\%2231 ,
 .BR RFC\%2980 ,
 .BR RFC\%3156 ,
@@ -4168,9 +4249,11 @@ Urs Janssen <urs@tin.org>
 .BR RFC\%4155 ,
 .BR RFC\%4643 ,
 .BR RFC\%4880 ,
+.BR RFC\%5198 ,
 .BR RFC\%5322 ,
 .BR RFC\%5536 ,
 .BR RFC\%5537 ,
 .BR RFC\%6048 ,
+.BR RFC\%6838 ,
 .BR RFC\%8054 ,
-.BR RFC\%8143
+.B RFC\%8143
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/tin.5 tin-2.6.4/doc/tin.5
--- tin-2.6.3/doc/tin.5	2023-12-24 00:38:35.000000000 +0100
+++ tin-2.6.4/doc/tin.5	2024-12-21 15:31:08.747130173 +0100
@@ -2,11 +2,11 @@
 .\" Module    : tin.5
 .\" Author    : U. Janssen
 .\" Created   : 2000-07-10
-.\" Updated   : 2023-12-24
-.\" Notes     : needs a some work
+.\" Updated   : 2024-12-24
+.\" Notes     : needs a some work, see TODOs
 .\"
 .\"
-.TH tin 5 "December 24th, 2023" "2.6.3" "Usenet newsreader"
+.TH tin 5 "December 24th, 2024" "2.6.4" "Usenet newsreader"
 
 .SH NAME
 tin, rtin \- related files
@@ -38,17 +38,17 @@ endings.
 .\" $TMPDIR/SCOPES-R   (-D 32)
 .\" $TMPDIR/SCOPES-W   (-D 32)
 .\" $TMPDIR/ACTIVE     (-D 64)
-.IR $MAILCAPS
+.I $MAILCAPS
 .br
-.IR ~/.mailcap
+.I ~/.mailcap
 .br
-.IR /etc/mailcap
+.I /etc/mailcap
 .br
-.IR /usr/etc/mailcap
+.I /usr/etc/mailcap
 .br
-.IR /usr/local/etc/mailcap
+.I /usr/local/etc/mailcap
 .br
-.IR /etc/mail/mailcap
+.I /etc/mail/mailcap
 .sp
 .RS
 .BR \%mailcap (5)
@@ -189,7 +189,7 @@ Example:
 .br
 image/*;\\
 .br
-.in +.3i
+.in +0.3i
 xv \-8 \-geometry +0 '%s';\\
 .br
 description=%{name} %t\-Image;\\
@@ -197,11 +197,11 @@ description=%{name} %t\-Image;\\
 test=test "$DISPLAY" != "";\\
 .br
 nametemplate=%s.IMAGE
-.in -.3i
+.in -0.3i
 .sp
 message/rfc822;\\
 .br
-.in +.3i
+.in +0.3i
 ${PAGER:\-"more"} '%s';\\
 .br
 edit=${EDITOR:\-"vi"} '%s';\\
@@ -211,13 +211,13 @@ compose=${EDITOR:\-"vi"} '%s';\\
 print=a2ps '%s';\\
 .br
 needsterminal
-.in -.3i
+.in -0.3i
 .fi
 .RE
 .RE
 .PP
 
-.IR /etc/nntpserver
+.I /etc/nntpserver
 .sp
 .RS
 default NNTP-server to read news from if not reading from the local spool.
@@ -227,7 +227,7 @@ priority.
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.cancelsecret
+.I ${TIN_HOMEDIR:\-"$HOME"}/.cancelsecret
 .sp
 .RS
 secret to be used for cancel-locks if
@@ -237,25 +237,25 @@ creation in that case. This file should
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.mime.types
+.I ${TIN_HOMEDIR:\-"$HOME"}/.mime.types
 .br
-.IR /etc/mime.types
+.I /etc/mime.types
 .br
-.IR /etc/tin/mime.types
+.I /etc/tin/mime.types
 .sp
 .RS
 mime type / filename extension pairs
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.newsauth
+.I ${TIN_HOMEDIR:\-"$HOME"}/.newsauth
 .sp
 .RS
 "\fInntpserver[:port]\fR \fIpassword\fR [\fIuser\fR]" pairs for NNTP servers
-that require authorization.  If the password contains a space or a tab it
-must be enclosed in double quotes (").  Usernames must not be enclosed in
-double quotes and thus can't contain spaces or tabs.  Any line that starts
-with "#" is a comment.  Blank lines are ignored.  This file should be
+that require authorization. If the password contains a space or a tab it
+must be enclosed in double quotes ("). Usernames must not be enclosed in
+double quotes and thus can't contain spaces or tabs. Any line that starts
+with "#" is a comment. Blank lines are ignored. This file should be
 readable only for the user as it contains the user's unencrypted password
 for reading news!
 .TP
@@ -283,7 +283,7 @@ news.example.com  "top secret"  james.bo
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.newsrc
+.I ${TIN_HOMEDIR:\-"$HOME"}/.newsrc
 .sp
 .RS
 "\fInewsgroup\fR\fIflag\fR [\fIarticle\fR[,\fIarticle\fR | \-\fIarticle\fR]...]"
@@ -293,7 +293,7 @@ lines.
 the name of the newsgroup.
 .TP
 .B flag
-a flag indicating if the group is subscribed ':' or not '!'.
+a flag indicating if the group is subscribed ':' or not '!\&'.
 .TP
 .B article
 range of already read articles from that group; numbers separated by commas
@@ -314,7 +314,7 @@ news.software.readers: 1\-19567,19571\-1
 .PP
 
 .nf
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/.oldnewsrc
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/.oldnewsrc
 .fi
 .sp
 .RS
@@ -322,30 +322,30 @@ backup of \fI${TIN_HOMEDIR:\-"$HOME"}/.n
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.signature
+.I ${TIN_HOMEDIR:\-"$HOME"}/.signature
 .br
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.Sig
+.I ${TIN_HOMEDIR:\-"$HOME"}/.Sig
 .sp
 .RS
 signature
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.sigfixed
+.I ${TIN_HOMEDIR:\-"$HOME"}/.sigfixed
 .sp
 .RS
-fixed part of a randomly generated signature
+fixed part of a randomly generated signature, this will be added first
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/.inputhistory
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/.inputhistory
 .sp
 .RS
 history of last used strings
 .RE
 .PP
 
-.IR ${TIN_INDEX_MAILDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.mail/
+.I ${TIN_INDEX_MAILDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.mail/
 .sp
 .RS
 mailgroups index files
@@ -353,7 +353,7 @@ mailgroups index files
 .PP
 
 .nf
-.IR ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news${NNTPSERVER:+"\-$NNTPSERVER"}/
+.I ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news${NNTPSERVER:+"\-$NNTPSERVER"}/
 .fi
 .sp
 .RS
@@ -361,14 +361,14 @@ newsgroups index files
 .RE
 .PP
 
-.IR ${TIN_INDEX_SAVEDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.save/
+.I ${TIN_INDEX_SAVEDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.save/
 .sp
 .RS
 saved newsgroups index files
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/active.mail
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/active.mail
 .sp
 .RS
 active file ("\fImailgroupname\fR \fImaxnum\fR \fIminnum\fR
@@ -378,7 +378,7 @@ to be built with mh-mail-handling suppor
 .TP
 .B mailgroupname
 must be the pathname of the mailbox relative to field #4 with '/' changed
-to '.'
+to '.\&'
 .TP
 .B maxnum
 just put a large number here, something higher than the highest message in
@@ -403,7 +403,7 @@ They are accessed via /home/foo/Mail/inb
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/active.save
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/active.save
 .sp
 .RS
 active file of user's saved newsgroups, used by \fBtin \-R\fP.
@@ -414,9 +414,9 @@ active file of user's saved newsgroups,
 .\" as with inn >= 2.2.x getting more and more popular
 .\" we should think about checking for the new Paths (/news/etc/)
 .\" ${TIN_LIBDIR\-/news/etc"}/attributes
-.IR /etc/tin/attributes
+.I /etc/tin/attributes
 .br
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes
 .sp
 .RS
 The group attributes files may be used to override some global settings from
@@ -649,7 +649,7 @@ string starts with a / or ~ then it is a
 containing the text to insert. If the string starts with a ! then what
 follows is assumed to be the path to a program to be executed to generate
 the content. %G is expanded to the current news.group.name and %P is
-expanded to the news.group.name with all '.' replaced by '/'.
+expanded to the news.group.name with all '.\&' replaced by '/'.
 .TP
 .B x_comment_to
 Insert ''X\-Comment\-To:'' header, this is only useful in FIDO groups.
@@ -661,7 +661,7 @@ then it is assumed to be the name of a f
 content to be inserted. If the string starts with a ! then what follows
 is assumed to be the path to a program to be executed to generate the
 header and its content. %G is expanded to the current news.group.name
-and %P is expanded to the news.group.name with all '.' replaced by '/'.
+and %P is expanded to the news.group.name with all '.\&' replaced by '/'.
 .TP
 .B quick_kill_scope
 A comma-separated list of newsgroup patterns (wildmat-style) to which
@@ -696,7 +696,7 @@ Identical to the tinrc variable \fBdefau
 .B ispell
 Path and options for
 .BR \%ispell (1)-like
-spell-checker, e.g. "aspell \-\-mode=email \-\-dont\-backup check"
+spell-checker, e.g., "aspell \-\-mode=email \-\-dont\-backup check"
 .TP
 .B mm_network_charset
 Identical to the tinrc variable of the same name
@@ -705,17 +705,30 @@ Identical to the tinrc variable of the s
 Assume (broken) articles without MIME charset declaration have this
 charset \(em default is US-ASCII. This attribute works only on systems
 with working
-.BR \%iconv (3),
+.BR \%iconv (3)
+or
+.BR \%ucnv_* (),
 others might have to compile
 .BR \%tin (1)
 with \-\-disable\-mime\-strict\-charset.
 .TP
+.B undeclared_cs_guess
+Guess charset for (broken) articles without MIME charset declaration.
+This attribute works only on systems with working
+.BR \%iconv (3)
+or
+.BR \%ucnv_* ()
+and
+.BR \%ucsdet_getName()
+from libicui18n. It has no effect if undeclared_charset is also set.
+.TP
 Example:
 .RS
 .nf
 # include extra headers
 # assume ISO\-8859\-1 as charset if no charset is declared
-scope=*
+# in all but fido7.* groups
+scope=*,!fido7.*
 x_headers=~/.tin/headers
 undeclared_charset=ISO\-8859\-1
 
@@ -736,6 +749,10 @@ scope=fido.*
 quote_chars=%I>_
 x_comment_to=ON
 
+# in fido7.* newsgroups guess charset
+scope=fido7.*
+undeclared_cs_guess=ON
+
 # in *.test newsgroups, don't append signature
 # and preset Subject
 scope=*.test
@@ -751,7 +768,7 @@ undeclared_charset=ISO\-2022\-JP\-2
 .PP
 
 .\" TODO: add missing descriptions and explain things in detail.
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/filter
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/filter
 .sp
 .RS
 The filter file is used to assign scores to certain articles. Based on the
@@ -787,7 +804,7 @@ on the setting of the tinrc variable \fB
 Match against ''From:''.
 .BR \%tin (1)
 converts the contents of the ''From:'' header to an old style e-mail
-address, e.g. ''some@body.example (John Doe)'' instead
+address, e.g., ''some@body.example (John Doe)'' instead
 of ''John Doe <some@body.example>'', before trying to match the patterns in
 the filter rule. The matching type used (wildmat or regex) depends on the
 setting of the tinrc variable \fBwildcard\fP.
@@ -819,7 +836,7 @@ Match against ''From:'' address parser r
 or GNKSA_INVALID_DOMAIN are only returned if \fBdisable_gnksa_domain_check\fP
 is set to false. As the built in domain list is outdated this should be
 considered carefully.
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%406	'u +\w'GNKSA_ZERO_LENGTH_LOCAL_WORD'u
 \fB  0\fP	GNKSA_OK
@@ -852,12 +869,12 @@ considered carefully.
 \fB405\fP	GNKSA_INVALID_REALNAME
 \fB406\fP	GNKSA_MISSING_REALNAME
 .fi
-.in -.3i
+.in -0.3i
 .TP
 .B xref
 Match against ''Xref:'' line. Before any matching is done the line is
 turned into the same format ''Newsgroups:'' has that is it is turned
-into a comma separated newsgroup list with all other information (i.e.
+into a comma separated newsgroup list with all other information (i.e.,
 the article counter) removed. The matching type used (wildmat or regex)
 depends on the setting of the tinrc variable \fBwildcard\fP.
 .TP
@@ -880,7 +897,7 @@ case=1
 score=hot
 subj=\\b(cd|[rk]?)?tin(d|pre)?[\-.0\-9]*\\b
 
-comment=downscore postings in nsr from google base on
+comment=downscore postings in nsr from google based on
 comment=message-id or path, if both hit they end up with
 comment=a score of -66 which is enough to mark them killed
 group=news.software.readers
@@ -894,9 +911,9 @@ msgid_only=@googlegroups\\.com>
 .PP
 
 .nf
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/keymap${${LC_ALL:\-"${LC_MESSAGES:\-"${LC_CTYPE:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_MESSAGES:\-"${LC_CTYPE:\-"$LANG"}"}"}"}
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/keymap${${LC_ALL:\-"${LC_MESSAGES:\-"${LC_CTYPE:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_MESSAGES:\-"${LC_CTYPE:\-"$LANG"}"}"}"}
 .br
-.IR /etc/tin/keymap${${LC_ALL:\-"${LC_MESSAGES:\-"${LC_CTYPE:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_MESSAGES:\-"${LC_CTYPE:\-"$LANG"}"}"}"}
+.I /etc/tin/keymap${${LC_ALL:\-"${LC_MESSAGES:\-"${LC_CTYPE:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_MESSAGES:\-"${LC_CTYPE:\-"$LANG"}"}"}"}
 .fi
 .sp
 .RS
@@ -1029,6 +1046,7 @@ is bound to NULL it is unassigned.
 \fBPageFollowupQuoteHeaders\fP	^W
 \fBPageToggleTex2iso\fP	"
 \fBPageToggleAllHeaders\fP	*
+\fBPageArticleInfo\fP	'
 \fBPageToggleRot\fP	%
 \fBPageToggleUue\fP	(
 \fBPageReveal\fP	)
@@ -1141,7 +1159,7 @@ is bound to NULL it is unassigned.
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/mailgroups
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/mailgroups
 .sp
 .RS
 This file provides short descriptions of each mailgroup. (requires
@@ -1157,24 +1175,29 @@ is a short single-line description of th
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable
 .sp
 .RS
 "\fInntpserver[:port]\fR \fInewsrc\fR [\fIshortname\fR [\fI...\fR]]"
 pairs to use with the ''\fB\-g\fP'' command-line switch. The matching is
 case-insensitive and any line that starts with "#", ";" or " " is treated
-as a comment.
+as a comment. This is only available if reading via NNTP.
 .TP
 .B nntpserver
-full qualified domain name of the news server. Additionally, a port can be
-specified by appending :portnumber. The string "default" or "*" acts as
-wildcard to match any name, such a line should be placed last.
+full qualified domain name of the news server. Plain IPv6 address must be
+enclosed in square brackets. Additionally, a port can be specified by
+appending :portnumber. Be aware that if a port is given it will override
+any port given with ''\fB\-g\fP'' or ''\fB\-p\fP'' or implied
+by ''\fB\-T\fP'' or ''\fB\-k\fP'' or set via $\fBNNTPPORT\fP. The
+string "default" or "*" acts as wildcard to match any name, such a line
+should be placed last.
 .TP
 .B newsrc
-related newsrc.
+related newsrc. A file specified via ''\fB\-f\fP'' has a higher priority.
 .TP
 .B shortname
-nickname(s) for the nntpserver.
+nickname(s) for the nntpserver. Nicknames must not contain ":" and must be
+unique.
 .TP
 Example:
 .RS
@@ -1184,12 +1207,20 @@ news.tin.org .newsrc\-tin.org tinorg
 .br
 news.example.org /tmp/nrc\-ex example ex
 .br
-* ~/.tin/newsrcs/${NNTPSERVER-localhost}
+[::1]:1119 /tmp/localhost6\-1119 lh6
+.br
+# catch all rules should go last
+.br
+# with the more specific one on top
+.br
+*:563 ~/.tin/newsrcs/${NNTPSERVER\-localhost}:563/newsrc
+.br
+* ~/.tin/newsrcs/${NNTPSERVER\-localhost}/newsrc
 .RE
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/posted
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/posted
 .sp
 .RS
 Posting history. The file is written by
@@ -1204,7 +1235,7 @@ messages ''Message\-ID'' if known.
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/Mail/posted
+.I ${TIN_HOMEDIR:\-"$HOME"}/Mail/posted
 .sp
 .RS
 Copy of all posted articles in
@@ -1214,7 +1245,7 @@ format. The filename can be changed by s
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/postponed.articles
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/postponed.articles
 .sp
 .RS
 Pool of postponed articles. This file is in
@@ -1224,11 +1255,32 @@ format.
 .PP
 
 .nf
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/newsgroups
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/motd
+.fi
+.sp
+.RS
+This file is a copy of the servers message of the day (MOTD) message.
+It is automatically created on startup except when using the ''\fB\-Q\fP''
+command-line option and is unlinked on exit.
+.RE
+.PP
+
+.nf
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog
+.fi
+.sp
+.RS
+File to store $\fBNNTPSERVER\fP and $\fBNNTPPORT\fP related info- and
+error-messages. The file is overwritten on startup and meant for debugging.
+.RE
+.PP
+
+.nf
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/newsgroups
 .fi
 .sp
 .RS
-This file a copy of the servers newsgroups file which provides short
+This file is a copy of the servers newsgroups file which provides short
 descriptions of each newsgroup. It is automatically updated on startup
 except when using the ''\fB\-X\fP''or ''\fB\-q\fP'' command-line option and
 an old copy exists. Each line consist of two tab-separated fields
@@ -1243,18 +1295,22 @@ is a short single-line description of th
 .PP
 
 .nf
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/serverrc
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/serverrc
 .fi
 .sp
 .RS
 File to store $\fBNNTPSERVER\fP and $\fBNNTPPORT\fP related
 data via a list of "\fIvariable\fR=\fIvalue\fR" pairs. Currently
-there are only two variables, both are not meant to be changed by the
+there are only a few variables, all are not meant to be changed by the
 user.
 .TP
 .B version
 Internal version number.
 .TP
+.B motd_hash
+Internal hash of the servers MOTD, so displaying it can be skipped if
+it is unchanged.
+.TP
 .B last_newnews
 Internal timestamp used by
 .BR \%tin (1)
@@ -1262,23 +1318,13 @@ to keep track of new newsgroups on the s
 .RE
 .PP
 
-.nf
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog
-.fi
-.sp
-.RS
-File to store $\fBNNTPSERVER\fP and $\fBNNTPPORT\fP related info- and
-error-messages. The file is overwritten on startup and meant for debugging.
-.RE
-.PP
-
 .\" tin uses inns old (pre 2.x) Path convention.
 .\" as with inn >= 2.2.x getting more and more popular
 .\" we should think about checking for the new Paths (/news/etc/)
 .\" .IR ${TIN_LIBDIR\-"/news/etc"}/tinrc
-.IR /etc/tin/tinrc
+.I /etc/tin/tinrc
 .br
-.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc
+.I ${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc
 .sp
 .RS
 At startup,
@@ -1286,7 +1332,8 @@ At startup,
 reads in the configuration file. This contains a list of
 "\fIvariable\fR=\fIvalue\fR" pairs that can be used to configure the way
 .BR \%tin (1)
-works. If it exists, the global configuration file,
+works. \fIvalue\fR strings are limited to 1022 chars and will be discarded
+if exceeding this limit. If it exists, the global configuration file,
 \fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fR is read first. After that, the
 user's own configuration file \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fR is
 read. The global file is useful for distributing system-wide defaults to new
@@ -1380,6 +1427,11 @@ If ON, create local copies of NNTP overv
 considerably speed up accessing large groups when using a slow connection.
 Default is OFF.
 .TP
+.B compress_overview_files
+If ON, locally cached NNTP overview files (\fBcache_overview_files\fP) are
+saved in compressed form (\fBRFC\%1952\fP). Useful to reduce local disk
+space used. Default is OFF.
+.TP
 .B cancel_lock_algo
 Use this hash algorithm for cancel-locks. Only available when built with
 cancel-lock support. none disables the generation of cancel-locks. Valid
@@ -1479,7 +1531,7 @@ Color of help/mail sign
 .B confirm_choice
 .BR \%tin (1)
 can ask for manual confirmation to protect the user. Available choices:
-.in +.5i
+.in +0.5i
 .BR commands :
 Ask for confirmation before executing certain dangerous commands (e.g.,
 \fBCatchup\fP ('\fBc\fP')). Commands that this affects are marked in
@@ -1494,7 +1546,7 @@ when you use the \fBQuit\fP ('\fBq\fP')
 .BR select :
 Ask for confirmation before marking all not selected (with
 \fBGroupMarkUnselArtRead\fP ('\fBX\fP') command) articles as read.
-.in -.5i
+.in -0.5i
 Default is commands & quit.
 .TP
 .B date_format
@@ -1533,7 +1585,7 @@ ON=apply to all groups, OFF=apply to cur
 .TP
 .B default_filter_kill_header
 Default for quick (1 key) kill filter header.
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'0,1   'u +\w'\'\'Message\-ID:\'\' & last \'\'References:\'\' entry only'u
 0	''Subject:'' (case sensitive)
@@ -1545,7 +1597,7 @@ Default for quick (1 key) kill filter he
 6	''Message\-ID:'' entry only
 7	''Lines:''
 .fi
-.in -.3i
+.in -0.3i
 .TP
 .B default_filter_select_case
 Default for quick (1 key) auto-selection filter case. ON=filter case
@@ -1562,7 +1614,7 @@ ON=apply to all groups, OFF=apply to cur
 .TP
 .B default_filter_select_header
 Default for quick (1 key) auto-selection filter header.
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'0,1   'u +\w'\'\'Message\-ID:\'\' & last \'\'References:\'\' entry only'u
 0	''Subject:'' (case sensitive)
@@ -1574,7 +1626,7 @@ Default for quick (1 key) auto-selection
 6	''Message\-ID:'' entry only
 7	''Lines:''
 .fi
-.in -.3i
+.in -0.3i
 .TP
 .B default_goto_group
 .TP
@@ -1610,6 +1662,10 @@ Default for quick (1 key) auto-selection
 .TP
 .B default_subject_search
 .TP
+.B dont_break_words
+Do not break long lines inside a word. This applies to the body
+except for verbatim blocks. See also \fBwrap_column\fP. Default is OFF.
+.TP
 .B draw_arrow
 Allows groups/articles to be selected by an arrow '\->' if set ON or
 by a highlighted bar if set OFF. Default is OFF.
@@ -1662,14 +1718,14 @@ If ON catchup group when leaving with th
 .B group_format
 The format string used for the Group level. Default is
 "%n\ %m\ %R\ %L\ \ %s\ \ %F". The following substitutions are supported:
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%G    'u +\w'number of responses in thread'u
 %D	date
 %F	from, name and/or address
 %I	initials
 %L	line count
-%M	message-id
+%M	message\-id
 %R	number of responses in thread
 %S	score
 %m	article marks
@@ -1677,7 +1733,7 @@ The format string used for the Group lev
 %s	subject
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP
 .B hide_uue
 If set to 'No' then raw uuencoded data is displayed. If set to 'Yes'
@@ -1704,7 +1760,7 @@ available to display long subjects. Defa
 .TP
 .B interactive_mailer
 If greater than 0 your mailreader will be invoked earlier for reply so you
-can use more of its features (e.g. MIME, pgp, ...). 1 means include headers,
+can use more of its features (e.g., MIME, pgp, ...). 1 means include headers,
 2 means don't include headers (old use_mailreader_i=ON option). 0 turns off
 usage. This option has to suit \fBmailer_format\fP. Default is 0.
 .TP
@@ -1758,14 +1814,15 @@ quoted\-printable, 7bit). Default is quo
 .B mail_quote_format
 Format of quote line when replying (via mail) to an article (%A=Address,
 %D=Date, %F=Fullname+Address, %G=Groupname, %M=Message\-ID, %N=Fullname,
-%C=Firstname, %I=Initials). Default is "In article %M you wrote:"
+%C=Firstname, %I=Initials). If the article has multiple addresses only
+the first is evaluated. Default is "In article %M you wrote:"
 .TP
 .B mailbox_format
 Select one of the following mailbox-formats: MBOXO (default, except on SCO),
 MBOXRD or MMDF (default on SCO). See
 .BR \%mbox (5)
 and
-.BR RFC\%4155
+.B RFC\%4155
 for more details on MBOXO and MBOXRD and
 .BR \%mmdf (5)
 for more details about MMDF.
@@ -1784,17 +1841,16 @@ The format string used to create the mai
 used for mailing articles to other people. Default is '%M "%T" < %F' (e.g.,
 /bin/mail "iain" < ~/.article). The flexible format allows other mailers with
 different command line parameters to be used such as
-.in +.3i
+.in +0.3i
 .nf
 sendmail \-oem \-t < %F
-mutt \-s "%S" \-\- "%T" < %F
 mutt \-H %F
 claws-mail \-\-compose "mailto:%T?subject=%S&insert=%F"
 .fi
-.in -.3i
+.in -0.3i
 \fBinteractive_mailer\fP must be set adequate. The following substitutions
 are supported:
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%S'u +\w'default_mailer'u
 %F	filename
@@ -1804,7 +1860,7 @@ are supported:
 %U	username
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP
 .B mark_saved_read
 If ON mark articles that are saved as read. Default is ON.
@@ -1839,7 +1895,9 @@ character sets are regarded as compatibl
 not set, the value of the environment variable $\fBMM_CHARSET\fP is
 used. US-ASCII or compile-time default is used in case neither of
 them is defined. If your system supports
-.BR \%iconv (3),
+.BR \%iconv (3)
+or
+.BR \%ucnv_* (),
 this option is disabled and you should use \fBmm_network_charset\fP instead.
 .TP
 .B mm_network_charset
@@ -1848,14 +1906,16 @@ Conversion between \fBmm_network_charset
 via
 .BR \%nl_langinfo (3))
 is done via
-.BR \%iconv (3),
-if this function is not available on your system this option is disabled and
-you have to use \fBmm_charset\fP instead. \fBmm_network_charset\fP is
-limited to one of the following charsets:
-.in +.3i
+.BR \%iconv (3)
+or
+.BR \%ucnv_* (),
+if none of these functions are available on your system this option is
+disabled and you have to use \fBmm_charset\fP instead. \fBmm_network_charset\fP
+is limited to one of the following charsets:
+.in +0.3i
 US-ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8-{R,U,RU}
 EUC-{CN,JP,KR,TW}, ISO-2022-{CN,CN-EXT,JP,JP-1,JP-2}, Big5, UTF-8
-.in -.3i
+.in -0.3i
 Not all values might work on your system, see
 .BR \%iconv_open (3)
 for more details. If it's not set, the value of the environment variable
@@ -1907,7 +1967,8 @@ Not defining anything turns off this opt
 .B news_quote_format
 Format of quote line when posting/following up an article (%A=Address,
 %D=Date, %F=Fullname+Address, %G=Groupname, %M=Message\-ID, %N=Fullname,
-%C=Firstname, %I=Initials). Default is "%F wrote:".
+%C=Firstname, %I=Initials). If the article has multiple addresses only
+the first is evaluated. Default is "%F wrote:".
 .TP
 .B nntp_read_timeout_secs
 Time in seconds to wait for a response from the server. Default is 120.
@@ -1932,19 +1993,19 @@ The possible values are:
 Some normalization modes are only available if they are supported by the
 library
 .BR \%tin (1)
-uses to do the normalization. NFC should be used if possible.
+uses to do the normalization. NFC should be used if possible (\fBRFC\%5198\fP).
 .TP
 .B page_mime_format
 Format string
 .BR \%tin (1)
 uses for mime header at Page level.
-Default is "[-- %T%S%*n%z%*l%!c%!d%*e --]".
+Default is "[\-\- %T%S%*n%z%*l%!c%!d%*e \-\-]".
 .TP
 .B page_uue_format
 Format string
 .BR \%tin (1)
 uses for uue header at Page level.
-Default is "[-- %T%S%*n%I%!d%*e --]".
+Default is "[\-\- %T%S%*n%I%!d%*e \-\-]".
 .TP
 .B pos_first_unread
 If ON put cursor at first unread article in group otherwise at last
@@ -2023,7 +2084,8 @@ Default is OFF.
 .B quote_chars
 The character used in quoting included text to article followups and mail
 replies. The '_' character represents a blank character and is replaced
-with ' ' when read, %I is replaced by author's initials. Default is '>_'.
+with ' ' when read, %I is replaced by author's initials. If the article has
+multiple addresses only the first is evaluated. Default is '>_'.
 .TP
 .B quote_style
 This bit coded integer value controls how articles are to be quoted when
@@ -2031,7 +2093,9 @@ following up or replying to them. Any of
 combined by adding all relevant values. Default is 5, which means that quote
 characters are compressed and empty lines are quoted.
 .RS +1i
-.IP 1 3
+.IP 0 3
+\fBNothing special\fP Non empty lines are quoted.
+.IP 1
 \fBCompress quotes\fP Compress quote characters together when quoting
 multiple times (for example, '> > >' will be turned into '>>>'). This
 option is on by default.
@@ -2109,13 +2173,13 @@ traditional
 .BR \%tin (1)
 page-by-page scrolling. Set to \-1 to get page-by-page
 scrolling where the top/bottom line is carried over onto the next page.
-This setting supersedes show_last_line_prev_page=ON. Set to \-2 to get
+This setting supersedes \fBshow_last_line_prev_page\fP=ON. Set to \-2 to get
 half-page scrolling. This setting supersedes \fBfull_page_scroll\fP=OFF.
 .TP
 .B select_format
 The format string used for the Selection level. Default is
 "%f\ %n\ %U\ \ %G\ \ %d". The following substitutions are supported:
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%G    'u +\w'current group number'u
 %G	group name
@@ -2125,7 +2189,7 @@ The format string used for the Selection
 %n	current group number
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP
 .B sort_function
 Function used for sorting articles. Default is 0.
@@ -2208,11 +2272,14 @@ If ON prepend the signature with sigdash
 The path that specifies the signature file to use when posting, following
 up to or replying to an article. If the path is a directory then the
 signature will be randomly generated from files that are in the specified
-directory. If the path starts with a ! the program the path points to will
-be executed to generate a signature. In order to pass the group name to the
-program, %G can be specified. This will be replaced by the name of the
-current newsgroup. \-\-none will suppress any signature.
-Default is \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fR.
+directory. If a file named \fI.sigfixed\fR does exist in that dir
+or \fI${TIN_HOMEDIR:-"$HOME"}/.sigfixed\fR does exist it will be
+prepended to the chosen signature (first match counts). If the path starts
+with a ! the program the path points to will be executed to generate a
+signature. In order to pass the group name to the program, %G can be specified.
+This will be replaced by the name of the current newsgroup. \-\-none will
+suppress any signature. Default is \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fR.
+See also \fI${TIN_HOMEDIR:-"$HOME"}/.sigfixed\fR.
 .TP
 .B signature_repost
 If ON add signature to reposted articles. Default is ON.
@@ -2348,7 +2415,7 @@ the group attribute variable \fBthread_a
 .B thread_format
 The format string used for the Thread level. Default is
 "%n\ %m\ \ [%L]\ \ %T\ \ %F". The following substitutions are supported:
-.in +.3i
+.in +0.3i
 .nf
 .ta \w'%G    'u +\w'from, name and/or address'u
 %D	date
@@ -2362,7 +2429,7 @@ The format string used for the Thread le
 %n	current article number
 %%	%
 .fi
-.in -.3i
+.in -0.3i
 .TP
 .B thread_perc
 Defines how close the subjects must match while threading by Percentage
@@ -2538,13 +2605,13 @@ attributes specified in \fBmono_markdash
 .B wrap_column
 Sets the column at which a displayed article body should be wrapped.
 If this value is equal to 0, it defaults to the current screen width.
-If this value is greater than your current screen width the part
-off-screen is not displayed. Thus setting this option to a large
-value can be used to disable wrapping. If this value is negative the
-wrap margin is the current screen width plus the given value (as long
-as the result is still positive, otherwise it will fall back to the
-current screen width). Default is 0, wrapping at the current screen
-width.
+If this value is greater than your current screen width and
+\fBdont_break_words\fP is unset the part off-screen is not displayed.
+Thus setting this option to a large value can be used to disable wrapping.
+If this value is negative the wrap margin is the current screen width plus
+the given value (as long as the result is still positive, otherwise it will
+fall back to the current screen width). Default is 0, wrapping at the
+current screen width.
 .TP
 .B wrap_on_next_unread
 If enabled a search for the next unread article will wrap around all
@@ -2558,7 +2625,7 @@ set.
 .RE
 .PP
 
-.IR /etc/tin/tin.defaults
+.I /etc/tin/tin.defaults
 .sp
 .RS
 Yet another global configuration file with "\fIvariable\fR=\fIvalue\fR"
@@ -2656,7 +2723,7 @@ so you only have to change this setting
 .RE
 .PP
 
-.IR /usr/local/share/locale/$LC_MESSAGES/LC_MESSAGES/tin.mo
+.I /usr/local/share/locale/$LC_MESSAGES/LC_MESSAGES/tin.mo
 .sp
 .RS
 translation into language specified in $\fBLC_ALL\fP, $\fBLC_MESSAGES\fP or
@@ -2668,7 +2735,7 @@ $\fBLANG\fP
 .\" as with inn >= 2.2.x getting more and more popular
 .\" we should think about checking for the new Paths
 .\" (described shown below).
-.IR ${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}
+.I ${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}
 .sp
 .RS
 This file lists the newsgroups that the local site receives. Each newsgroup
@@ -2678,7 +2745,7 @@ increasing numbers.
 .sp
 If an article is posted to newsgroups not mentioned in this file, those
 newsgroups are ignored.
-.\" TODO: IIRC tin issues just a warning in that case?
+.\" TODO: tin issues just a warning in that case.
 If no valid newsgroups are specified, the article is rejected.
 .sp
 Each line consists of four space-separated fields "\fIname\fR \fIhighmark\fR
@@ -2729,11 +2796,11 @@ instead.
 .RE
 .PP
 
-.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/active.times
+.I ${TIN_LIBDIR:\-NEWSLIBDIR}/active.times
 .sp
 .RS
 This file provides a chronological record of when newsgroups are created. It
-is normally updated by the local news server (e.g.
+is normally updated by the local news server (e.g.,
 .BR \%innd (8))
 whenever a new group is created. Each line consist of three space-separated
 fields "\fIname\fR \fItime\fR \fIcreator\fR".
@@ -2756,11 +2823,11 @@ uses the NEWGROUPS (\fBRFC\%3977\fP) com
 .RE
 .PP
 
-.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/newsgroups
+.I ${TIN_LIBDIR:\-NEWSLIBDIR}/newsgroups
 .sp
 .RS
 This file provides short descriptions of each newsgroup. It is normally
-updated by the local news server (e.g.
+updated by the local news server (e.g.,
 .BR \%innd (8))
 whenever a new group is created. Each line consist of two tab-separated
 fields "\fIgroup.name\fR	\fIone-line description\fR".
@@ -2779,7 +2846,7 @@ uses the LIST NEWSGROUPS (\fBRFC\%3977\f
 .RE
 .PP
 
-.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/organization
+.I ${TIN_LIBDIR:\-NEWSLIBDIR}/organization
 .sp
 .RS
 This file might hold a default organization to be used in
@@ -2788,7 +2855,7 @@ if set.
 .RE
 .PP
 
-.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/overview.fmt
+.I ${TIN_LIBDIR:\-NEWSLIBDIR}/overview.fmt
 .\" is the Path correct? or is it /news/etc/overview.fmt
 .sp
 .RS
@@ -2806,7 +2873,7 @@ uses the LIST OVERVIEW.FMT (\fBRFC\%3977
 .RE
 .PP
 
-.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/subscriptions
+.I ${TIN_LIBDIR:\-NEWSLIBDIR}/subscriptions
 .\" is the Path correct? or is it /news/etc/subscriptions
 .sp
 .RS
@@ -2854,17 +2921,19 @@ uses the LIST SUBSCRIPTIONS (\fBRFC\%604
 .BR \%overview.fmt (5),
 .BR \%innd (8),
 .BR RFC\%1524 ,
+.BR RFC\%1952 ,
 .BR RFC\%2045 ,
 .BR RFC\%2046 ,
 .BR RFC\%2047 ,
-.BR RFC\%2048 ,
 .BR RFC\%2231 ,
 .BR RFC\%2980 ,
 .BR RFC\%3977 ,
 .BR RFC\%4155 ,
 .BR RFC\%4643 ,
+.BR RFC\%5198 ,
 .BR RFC\%5322 ,
 .BR RFC\%5536 ,
 .BR RFC\%5537 ,
 .BR RFC\%6048 ,
-.BR RFC\%8143
+.BR RFC\%6838 ,
+.B RFC\%8143
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/tin.defaults tin-2.6.4/doc/tin.defaults
--- tin-2.6.3/doc/tin.defaults	2023-12-24 00:38:35.000000000 +0100
+++ tin-2.6.4/doc/tin.defaults	2024-12-24 00:18:40.491937465 +0100
@@ -1,5 +1,5 @@
 #
-# TIN 2.6.3 - a threaded newsreader
+# TIN 2.6.4 - a threaded newsreader
 #
 # tin.defaults - set some machine specified options
 #                and override compile time defaults
@@ -76,7 +76,7 @@
 
 # disable_gnksa_domain_check - allow unregistered top level domains
 #
-# THE BUILD IN LIST OF VALID TLDS IS OUTDATED, SO THE DEFAULT
+# THE BUILD IN LIST OF VALID TLDS MAY BE OUTDATED, SO THE DEFAULT
 # FOR THIS FEATURE CHANGED TO ON AS OF 2013-11-19
 #
 # you should activate this only if you are using in an intranet environment
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/tinews.1 tin-2.6.4/doc/tinews.1
--- tin-2.6.3/doc/tinews.1	2022-08-21 23:40:38.000000000 +0200
+++ tin-2.6.4/doc/tinews.1	2024-10-16 09:52:41.155522805 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35)
+.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "tinews.pl 1"
-.TH tinews.pl 1 "February 21st, 2022" "1.1.61" "Post and sign an article via NNTP"
+.TH tinews.pl 1 "October 16th, 2024" "1.1.70" "Post and sign an article via NNTP"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -164,6 +164,10 @@ to convert from <\s-1CR\s0><\s-1LF\s0> t
 .SH "OPTIONS"
 .IX Xref "tinews, command-line options"
 .IX Header "OPTIONS"
+.IP "\-\fB4\fR | \-\-\fBipv4\fR" 4
+.IX Xref "-4 --iv4"
+.IX Item "-4 | --ipv4"
+Force connecting via IPv4 to the remote \s-1NNTP\s0 server.
 .ie n .IP "\-\fBa\fR ""Approved"" | \-\-\fBapproved\fR ""Approved""" 4
 .el .IP "\-\fBa\fR \f(CWApproved\fR | \-\-\fBapproved\fR \f(CWApproved\fR" 4
 .IX Xref "-a --approved"
@@ -289,6 +293,11 @@ Restricted mode, disallow control-messag
 .IX Xref "-s --no-signature"
 .IX Item "-S | --no-signature"
 Do not append \fI\f(CI$HOME\fI/.signature\fR.
+.ie n .IP "\-\fBT\fR ""seconds"" | \-\-\fBtimeout\fR ""seconds""" 4
+.el .IP "\-\fBT\fR \f(CWseconds\fR | \-\-\fBtimeout\fR \f(CWseconds\fR" 4
+.IX Xref "-T --timeout"
+.IX Item "-T seconds | --timeout seconds"
+Override the connection timeout setting. Default is 120 seconds.
 .IP "\-\fBX\fR | \-\-\fBno-sign\fR" 4
 .IX Xref "-X --no-sign"
 .IX Item "-X | --no-sign"
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/tools.txt tin-2.6.4/doc/tools.txt
--- tin-2.6.3/doc/tools.txt	2021-08-23 13:01:35.000000000 +0200
+++ tin-2.6.4/doc/tools.txt	2024-10-01 10:36:19.782049522 +0200
@@ -23,6 +23,13 @@ opt-case.pl
 	w2r.pl and opt-case.pl might be used together, i.e:
 	w2r.pl < wildmat-filter-file | opt-case.pl > regexp-filter-file-case
 
+flnews2tin.pl
+    is a small perl script that tries to convert a flnews scorefile
+    to a tin regexp filter file (don't forget to set wildmat= in tinrc
+    accordingly).
+    usage:
+    flnews2tin.pl < flnews-scorefile > tin-regexp-filter-file
+
 tinlock
 	is a small shell script that creates a lockfile before starting
 	tin to avoid multiple copies of tin running, when tin exits cleanly
diff -Nurp '--exclude=.bzr*' tin-2.6.3/doc/umlauts.txt tin-2.6.4/doc/umlauts.txt
--- tin-2.6.3/doc/umlauts.txt	2023-12-24 00:38:35.000000000 +0100
+++ tin-2.6.4/doc/umlauts.txt	2024-07-01 16:50:18.968600051 +0200
@@ -79,6 +79,15 @@ undeclared_charset=Big5
 scope=fj.*,jp.*,japan.*
 undeclared_charset=ISO-2022-JP
 
+If your system has libicui18n with ucsdet_getName() you may also use
+scope=whatever.*
+undeclared_cs_guess=ON
+in that case tin will try to guess the charset if the article does not
+specify its charset or has one assigned via undeclared_charset.
+This is limited to either articles not using MIME or to single-part
+MIME articles not using quoted-printable or base64 encoding (such
+articles should have a charset specified anyway).
+
 If all these settings don't help you it is likely that the system locales
 are broken or even not installed. If the latter is the case, you should
 install an appropriate library (or let your administration do it for you if
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/autoconf.hin tin-2.6.4/include/autoconf.hin
--- tin-2.6.3/include/autoconf.hin	2023-12-24 00:38:35.000000000 +0100
+++ tin-2.6.4/include/autoconf.hin	2024-12-05 16:19:21.646343270 +0100
@@ -3,10 +3,10 @@
  *  Module    : autoconf.hin
  *  Author    : Thomas Dickey
  *  Created   : 1995-08-24
- *  Updated   : 2023-12-13
+ *  Updated   : 2024-11-25
  *  Notes     : #include files, #defines & struct's
  *
- * Copyright (c) 1995-2024 Thomas Dickey <dickey@invisible-island.net>
+ * Copyright (c) 1995-2025 Thomas Dickey <dickey@invisible-island.net>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -118,7 +118,6 @@
 #	undef HAVE_PGPK
 /* gpg */
 #	undef HAVE_GPG
-#	undef HAVE_SUM
 
 /* slrnface */
 #	undef HAVE_SLRNFACE
@@ -142,10 +141,13 @@
 #	undef quad_t
 #	undef size_t
 #	undef ssize_t
+#	undef tcflag_t
 #	undef time_t
 #	undef uid_t
 #	undef RETSIGTYPE
 #	undef HAVE_INT_LEAST64_T
+#	undef HAVE_PRIDLEAST64
+#	undef HAVE_SCNDLEAST64
 #	undef HAVE_LONG_LONG
 #	undef HAVE_NL_ITEM
 
@@ -221,7 +223,6 @@
 #	undef HAVE_TERM_H
 #	undef HAVE_TIME_H
 #	undef HAVE_UNISTD_H
-#	undef HAVE_VARARGS_H
 #	undef HAVE_WCHAR_H
 #	undef HAVE_WCTYPE_H
 #	undef STDC_HEADERS
@@ -252,6 +253,7 @@
 #	undef HAVE_GETCWD
 #	undef HAVE_GETHOSTBYNAME
 #	undef HAVE_GETHOSTNAME
+#	undef HAVE_GETPEERNAME
 #	undef HAVE_GETSERVBYNAME
 #	undef HAVE_GETTIMEOFDAY
 #	undef HAVE_GETWD
@@ -261,6 +263,7 @@
 #	undef HAVE_INET_ADDR
 #	undef HAVE_INET_ATON
 #	undef HAVE_INET_NTOA
+#	undef HAVE_INET_PTON
 #	undef HAVE_ISASCII
 #	undef HAVE_IS_XTERM
 #	undef HAVE_LINK
@@ -285,7 +288,6 @@
 #	undef HAVE_SETTZ
 #	undef HAVE_SETVBUF
 #	undef HAVE_SNPRINTF
-#	undef HAVE_STPCPY
 #	undef HAVE_STRCASECMP
 #	undef HAVE_STRCASESTR
 #	undef HAVE_STRCHR
@@ -304,7 +306,6 @@
 #	undef HAVE_TCSETATTR
 #	undef HAVE_TIGETINT
 #	undef HAVE_TIGETNUM
-#	undef HAVE_TMPFILE
 #	undef HAVE_TZSET
 #	undef HAVE_UNAME
 #	undef HAVE_UNLINK
@@ -331,7 +332,6 @@
 #	undef DECL_STRCASESTR
 #	undef DECL_STRSEP
 #	undef DECL_SYS_ERRLIST
-#	undef DECL_TMPFILE
 #	undef DECL_TGETSTR
 #	undef DECL_TGOTO
 #	undef DECL_TIGETSTR
@@ -373,6 +373,7 @@
 #	undef DECL_IOCTL
 #	undef DECL_ISASCII
 #	undef DECL_KILL
+#	undef DECL_LRAND48
 #	undef DECL_MALLOC
 #	undef DECL_MEMSET
 #	undef DECL_MKSTEMP
@@ -389,6 +390,7 @@
 #	undef DECL_SETENV
 #	undef DECL_SNPRINTF
 #	undef DECL_SOCKET
+#	undef DECL_SRAND48
 #	undef DECL_SSCANF
 #	undef DECL_STRCASECMP
 #	undef DECL_STRCHR
@@ -411,6 +413,8 @@
 #	undef DECL_USLEEP
 #	undef DECL_VSNPRINTF
 #	undef DECL_VSPRINTF
+#	undef DECL_WCSWIDTH
+#	undef DECL_WCWIDTH
 #	undef DECL__FLSBUF
 
 
@@ -486,20 +490,12 @@
 #	undef DEFAULT_MAILER
 #	undef PATH_ISPELL
 #	undef PATH_METAMAIL
-#	undef PATH_SUM
 #	undef PATH_PGP
 /* FIXME: this is _not_ the path to the pgp-5 binarie we usually need */
 #	undef PATH_PGPK
 #	undef PATH_GPG
 
 /*
- * Configure also checks whether sum takes -r
- * And defines PATH_SUM_R appropriately
- */
-#	undef SUM_TAKES_DASH_R
-#	undef PATH_SUM_R
-
-/*
  * Define this if the host system has long (>14 character) filenames
  */
 #	undef HAVE_LONG_FILE_NAMES
@@ -648,7 +644,12 @@
 /*
  * use libgsasl for AUTH
  */
-#	undef USE_SASL
+#	undef USE_GSASL
+
+/*
+ * use libicui18n for encoding guessing
+ */
+#	undef USE_ICU_UCSDET
 
 #	undef HAVE_COFFEE
 
@@ -662,10 +663,17 @@
  * libidnkit - used for Internationalized Domain Names (IDNA 2008)
  */
 #	undef HAVE_IDN_API_H
+#	undef HAVE_IDN_VERSION_H
 #	undef HAVE_IDN_DECODENAME
 #	undef HAVE_LIBIDNKIT
 
 /*
+ * GNU libidn2 (IDNA 2008)
+ */
+#	undef HAVE_IDN2_H
+#	undef HAVE_LIBIDN2
+
+/*
  * libidn - used for unicode normalization and
  *          Internationalized Domain Names (IDNA 2003)
  */
@@ -685,8 +693,11 @@
 #	undef HAVE_UNICODE_USTRING_H
 #	undef HAVE_UNICODE_UBIDI_H
 #	undef HAVE_UNICODE_UIDNA_H
+#	undef HAVE_UNICODE_UCNV_H
 #	undef HAVE_LIBICUUC
 #	undef HAVE_LIBICUUC_46_API
+#	undef HAVE_UCNV_OPEN
+#	undef HAVE_UBIDI_OPEN
 
 /*
  * GNU libunistring
@@ -694,6 +705,7 @@
  */
 #	undef HAVE_UNITYPES_H
 #	undef HAVE_UNINORM_H
+#	undef HAVE_UNISTRING_VERSION_H
 #	undef HAVE_LIBUNISTRING
 
 /*
@@ -745,147 +757,18 @@
 /* Define to 1 if NLS is requested. */
 #	undef ENABLE_NLS
 
-/* Define if your locale.h file contains LC_MESSAGES. */
-#	undef HAVE_LC_MESSAGES
-
-/* Define if you have the i library (-li). */
-#	undef HAVE_LIBI
-
-#	undef HAVE___ARGZ_COUNT
-#	undef HAVE___ARGZ_NEXT
-#	undef HAVE___ARGZ_STRINGIFY
-#	undef HAVE_CATGETS
-#	undef HAVE_DCGETTEXT
-#	undef HAVE_GETTEXT
-
-/*
------------------------------------
-Added missing headers after gettext update, using autoheader
------------------------------------
-*/
-/* Define if using alloca.c. */
-#	undef C_ALLOCA
-
-/*
- * Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
- * This function is required for alloca.c support on those systems.
- */
-#	undef CRAY_STACKSEG_END
-
-/* Define if you have the <argz.h> header file. */
-#	undef HAVE_ARGZ_H
-
-/* Define if you don't have vprintf but do have _doprnt. */
-#	undef HAVE_DOPRNT
-
-/* Define if you have the feof_unlocked function. */
-#	undef HAVE_FEOF_UNLOCKED
-
-/* Define if you have the fgets_unlocked function. */
-#	undef HAVE_FGETS_UNLOCKED
-
-/* Define if your system has a working fnmatch function. */
-#	undef HAVE_FNMATCH
-
-/* Define if you have the getegid function. */
-#	undef HAVE_GETEGID
-
-/* Define if you have the geteuid function. */
-#	undef HAVE_GETEUID
-
-/* Define if you have the getgid function. */
-#	undef HAVE_GETGID
-
-/* Define if your system has its own `getloadavg' function. */
-#	undef HAVE_GETLOADAVG
-
-/* Define if you have the getmntent function. */
-#	undef HAVE_GETMNTENT
-
-/* Define if you have the getnameinfo function. */
-#	undef HAVE_GETNAMEINFO
-
-/* Define if you have the getpagesize function. */
-#	undef HAVE_GETPAGESIZE
-
-/* Define if you have the getuid function. */
-#	undef HAVE_GETUID
-
-/* Define if you have the nsl library (-lnsl). */
-#	undef HAVE_LIBNSL
-
-/* Define if you have the socket library (-lsocket). */
-#	undef HAVE_LIBSOCKET
-
 /* Define if you have the <limits.h> header file. */
 #	undef HAVE_LIMITS_H
 
-/* Define if the `long double' type works. */
-#	undef HAVE_LONG_DOUBLE
-
-/* Define if you have the mempcpy function. */
-#	undef HAVE_MEMPCPY
-
-/* Define if you have a working `mmap' system call. */
-#	undef HAVE_MMAP
-
 /* Define if you have the <ndir.h> header file. */
 #	undef HAVE_NDIR_H
 
 /* Define if you have the <nl_types.h> header file. */
 #	undef HAVE_NL_TYPES_H
 
-/*
- * Define if system calls automatically restart after interruption
- * by a signal.
- */
-#	undef HAVE_RESTARTABLE_SYSCALLS
-
-/* Define if you have the sigaction function. */
-#	undef HAVE_SIGACTION
-
-/* Define if your struct stat has st_blksize. */
-#	undef HAVE_ST_BLKSIZE
-
-/* Define if your struct stat has st_blocks. */
-#	undef HAVE_ST_BLOCKS
-
 #	undef STDC_NORETURN
 #	undef HAVE_STDNORETURN_H
 
-/* Define if you have the strcoll function and it is properly defined. */
-#	undef HAVE_STRCOLL
-
-/* Define if your struct stat has st_rdev. */
-#	undef HAVE_ST_RDEV
-
-/* Define if you have the ANSI # stringizing operator in cpp. */
-#	undef HAVE_STRINGIZE
-
-/* Define if you have the strtoul function. */
-#	undef HAVE_STRTOUL
-
-/* Define if you have the <sys/termio.h> header file. */
-#	undef HAVE_SYS_TERMIO_H
-
-/* Define if your struct tm has tm_zone. */
-#	undef HAVE_TM_ZONE
-
-/* Define if you have the tsearch function. */
-#	undef HAVE_TSEARCH
-
-/*
- * Define if you don't have tm_zone but do have the external array
- * tzname.
- */
-#	undef HAVE_TZNAME
-
-/* Define if utime(file, NULL) sets file's timestamp to the present. */
-#	undef HAVE_UTIME_NULL
-
-/* Define if you have <vfork.h>. */
-#	undef HAVE_VFORK_H
-
 /* Define if you have the va_copy feature */
 #	undef HAVE_VA_COPY
 
@@ -898,30 +781,6 @@ Added missing headers after gettext upda
 /* Define if va_list is an array, and none of va_copy/__va_copy/__builtin_va_copy are supported */
 #	undef ARRAY_VA_LIST
 
-/* Define if you have the vprintf function. */
-#	undef HAVE_VPRINTF
-
-/* Define if you have the wait3 system call. */
-#	undef HAVE_WAIT3
-
-/* Define if you have the <wait.h> header file. */
-#	undef HAVE_WAIT_H
-
-/* Define if your C compiler doesn't accept -c and -o together. */
-#	undef NO_MINUS_C_MINUS_O
-
-/* Define if your Fortran 77 compiler doesn't accept -c and -o together. */
-#	undef F77_NO_MINUS_C_MINUS_O
-
-/* Define to the type of arg1 for select(). */
-#	undef SELECT_TYPE_ARG1
-
-/* Define to the type of args 2, 3 and 4 for select(). */
-#	undef SELECT_TYPE_ARG234
-
-/* Define to the type of arg5 for select(). */
-#	undef SELECT_TYPE_ARG5
-
 /*
  * If using the C implementation of alloca, define if you know the
  * direction of stack growth for your system; otherwise it will be
@@ -953,6 +812,11 @@ Added missing headers after gettext upda
 #	undef FILE_MODE_BROKEN
 
 /*
+ * define if snprintf() doesn't work correctly as on SCO Openserver 5.0.7 MP5
+ */
+#	undef SNPRINTF_BROKEN
+
+/*
  * define if tolower() doesn't work correctly as on NEWS-OS3.3
  */
 #	undef TOLOWER_BROKEN
@@ -1012,4 +876,38 @@ Added missing headers after gettext upda
  */
 #	undef USE_ZLIB
 
+/*
+ * signal-types
+ */
+#	undef HAVE_SIGNAL_H
+#	undef HAVE_POSIX_SIGNALS
+#	undef HAVE_BSD_SIGNALS
+#	undef HAVE_SYSV_SIGNALS
+
+/*
+ * TLI, Transport Layer Interface; SVR3, SVR4
+ * XTI, X/Open Transport Interface
+ */
+#	undef HAVE_TIUSER_H
+#	undef HAVE_SYS_TIUSER_H
+
+/*
+ * use arc4random_uniform() if found, otherwiese
+ * use lanrand48/srand() if found, otherwiese
+ * use random()/srandom() if found, otherwise use rand()/srand()
+ */
+#	undef HAVE_ARC4RANDOM_UNIFORM
+#	undef HAVE_LRAND48
+#	undef HAVE_RANDOM
+
+/*
+ * use uriparser to validate URIs
+ * <https://github.com/uriparser/uriparser>
+ */
+#	undef HAVE_LIBURIPARSER
+
+/*
+ * do we have curses_version()?
+ */
+#	undef HAVE_CURSES_VERSION
 #endif /* !TIN_AUTOCONF_H */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/bool.h tin-2.6.4/include/bool.h
--- tin-2.6.3/include/bool.h	2023-12-24 00:38:35.000000000 +0100
+++ tin-2.6.4/include/bool.h	2024-11-25 20:44:39.373355093 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2013-01-09
  *  Notes     :
  *
- * Copyright (c) 1997-2024 Urs Janssen <urs@tin.org>
+ * Copyright (c) 1997-2025 Urs Janssen <urs@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/bugrep.h tin-2.6.4/include/bugrep.h
--- tin-2.6.3/include/bugrep.h	2023-12-24 00:38:35.000000000 +0100
+++ tin-2.6.4/include/bugrep.h	2024-11-25 20:44:39.381355409 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2019-02-18
  *  Notes     :
  *
- * Copyright (c) 1997-2024 Urs Janssen <urs@tin.org>
+ * Copyright (c) 1997-2025 Urs Janssen <urs@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/debug.h tin-2.6.4/include/debug.h
--- tin-2.6.3/include/debug.h	2023-12-24 00:38:35.000000000 +0100
+++ tin-2.6.4/include/debug.h	2024-11-25 20:44:39.385355568 +0100
@@ -3,10 +3,10 @@
  *  Module    : debug.h
  *  Author    : Urs Janssen <urs@tin.org>
  *  Created   :
- *  Updated   : 2016-02-27
+ *  Updated   : 2024-11-14
  *  Notes     :
  *
- * Copyright (c) 2007-2024 Urs Janssen <urs@tin.org>
+ * Copyright (c) 2007-2025 Urs Janssen <urs@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,19 +41,15 @@
 #ifndef DEBUG_H
 #	define DEBUG_H 1
 
-#	ifdef NNTP_ABLE
-#		define DEBUG_NNTP	0x01	/* 1 */
-#	else
-#		define DEBUG_NNTP	0x00	/* disabled */
-#	endif /* NNTP_ABLE */
-#	define DEBUG_FILTER	0x02	/* 2 */
-#	define DEBUG_NEWSRC	0x04	/* 4 */
-#	define DEBUG_REFS	0x08	/* 8 */
-#	define DEBUG_MEM	0x10	/* 16 */
-#	define DEBUG_ATTRIB	0x20	/* 32 */
-#	define DEBUG_MISC	0x40	/* 64 */
-#	define DEBUG_ALL	0x7f	/* 127 */
-#	define DEBUG_REMOVE	0x80	/* 128 */
+#	define DEBUG_NNTP	0x01	/*   1, "NNTP", "NNTPS" */
+#	define DEBUG_FILTER	0x02	/*   2, "FILTER", "ARTS"  */
+#	define DEBUG_NEWSRC	0x04	/*   4, "NEWSRC", "BITMAP" */
+#	define DEBUG_REFS	0x08	/*   8, "THREADING", "REFS" */
+#	define DEBUG_MEM	0x10	/*  16, "MEMORY", "MALLOC" */
+#	define DEBUG_ATTRIB	0x20	/*  32, "ATTRIBUTES" */
+#	define DEBUG_MISC	0x40	/*  64, "MISC", "GNKSA", "ACTIVE" */
+#	define DEBUG_ALL	0x7f	/* 127, "ALL", "EVERYTHING" */
+#	define DEBUG_REMOVE	0x80	/* 128, "REMOVE", "DELETE" */
 
 
 #	if 0 /* this is very noisy */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/extern.h tin-2.6.4/include/extern.h
--- tin-2.6.3/include/extern.h	2023-12-24 00:38:35.000000000 +0100
+++ tin-2.6.4/include/extern.h	2024-12-21 15:09:49.801151958 +0100
@@ -3,10 +3,10 @@
  *  Module    : extern.h
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2023-12-14
+ *  Updated   : 2024-12-21
  *  Notes     :
  *
- * Copyright (c) 1997-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1997-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -46,11 +46,14 @@
  */
 
 #ifndef RFC2046_H
-#	include <rfc2046.h>
+#	include "rfc2046.h"
 #endif /* !RFC2046_H */
 #ifndef KEYMAP_H
 #	include "keymap.h"
 #endif /* !KEYMAP_H */
+#ifndef TNNTPS_H
+#	include "tnntps.h"
+#endif /* !TNNTPS_H */
 
 /*
  * The prototypes bracketed by DECL_xxxx ifdef's are used to get moderately
@@ -185,6 +188,9 @@
 #ifdef DECL_KILL
 	extern int kill(pid_t, int);
 #endif /* DECL_KILL */
+#ifdef DECL_LRAND48
+	extern long lrand48(void);
+#endif /* DECL_LRAND48 */
 #ifdef DECL_MALLOC
 	extern void *malloc(size_t);
 #endif /* DECL_MALLOC */
@@ -236,6 +242,9 @@
 #ifdef DECL_SNPRINTF
 	extern int snprintf(char *, size_t, const char *, ...);
 #endif /* DECL_SNPRINTF */
+#ifdef DECL_SRAND48
+	extern void srand48(long seedval);
+#endif /* DECL_SRAND48 */
 #ifdef DECL_SSCANF
 	extern int sscanf(const char *, const char *, ...);
 #endif /* DECL_SSCANF */
@@ -266,9 +275,6 @@
 #ifdef DECL_SYSTEM
 	extern int system(const char *);
 #endif /* DECL_SYSTEM */
-#ifdef DECL_TMPFILE
-	extern FILE *tmpfile(void);
-#endif /* DECL_TMPFILE */
 #ifdef DECL_TGETENT
 	extern int tgetent(char *, char *);
 #endif /* DECL_TGETENT */
@@ -311,6 +317,12 @@
 #ifdef DECL_UNGETC
 	extern int ungetc(int, FILE *);
 #endif /* DECL_UNGETC */
+#ifdef DECL_WCSWIDTH
+	extern int wcswidth(const wchar_t *, size_t);
+#endif /* DECL_WCSWIDTH */
+#ifdef DECL_WCWIDTH
+	extern int wcwidth(wchar_t);
+#endif /* DECL_WCWIDTH */
 
 #if 0 /* SUSv2 changed that to "int usleep(unsigned long)" */
 #	ifdef DECL_USLEEP
@@ -338,33 +350,12 @@
 /*
  * Local variables
  */
-
-/* This fixes ambiguities on platforms that don't distinguish extern case */
-#ifdef CASE_PROBLEM
-#	define txt_help_B	txt_help_BIGB
-#	define txt_help_D	txt_help_BIGD
-#	define txt_help_I	txt_help_BIGI
-#	define txt_help_K	txt_help_BIGK
-#	define txt_help_L	txt_help_BIGL
-#	define txt_help_M	txt_help_BIGM
-#	define txt_help_Q	txt_help_BIGQ
-#	define txt_help_S	txt_help_BIGS
-#	define txt_help_T	txt_help_BIGT
-#	define txt_help_U	txt_help_BIGU
-#	define txt_help_W	txt_help_BIGW
-#	define txt_help_X	txt_help_BIGX
-#	define txt_help_p_S	txt_help_p_BIGS
-#	define txt_help_t_K	txt_help_t_BIGK
-#	define txt_help_p_U	txt_help_p_BIGU
-#	define txt_help_thd_C	txt_help_thd_BIGC
-#endif /* CASE_PROBLEM */
-
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 	extern wchar_t *OPT_CHAR_list[];
 #else
 	extern char *OPT_CHAR_list[];
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
-extern char *OPT_STRING_list[];
+extern char **OPT_STRING_list[];
 extern char *nntp_server;
 extern char *tin_progname;
 extern const char *tmpdir;
@@ -379,21 +370,27 @@ extern char bug_addr[LEN];
 extern char cvers[LEN];
 extern char dead_article[PATH_LEN];
 extern char dead_articles[PATH_LEN];
-extern char default_organization[PATH_LEN];
+extern char *default_filter_kill_global;
+extern char *default_filter_select_global;
+extern char *default_mime_types_to_save;
+extern char *default_organization;
 extern char default_signature[PATH_LEN];
 extern char global_attributes_file[PATH_LEN];
 extern char global_config_file[PATH_LEN];
+extern char global_defaults_file[PATH_LEN];
 extern char homedir[PATH_LEN];
 extern char index_maildir[PATH_LEN];
 extern char index_newsdir[PATH_LEN];
 extern char index_savedir[PATH_LEN];
 extern char inewsdir[PATH_LEN];
+extern char filter_file[PATH_LEN];
+extern char keymap_file[PATH_LEN];
 extern char local_attributes_file[PATH_LEN];
 extern char local_config_file[PATH_LEN];
-extern char filter_file[PATH_LEN];
 extern char local_input_history_file[PATH_LEN];
+extern char local_motd_file[PATH_LEN];
 extern char local_newsgroups_file[PATH_LEN];
-extern char local_newsrctable_file[PATH_LEN];
+extern char newsrctable_file[PATH_LEN];
 extern char lock_file[PATH_LEN];
 extern char mail_news_user[LEN];
 extern char mailbox[PATH_LEN];
@@ -419,7 +416,7 @@ extern char spooldir[PATH_LEN];
 extern char subscriptions_file[PATH_LEN];
 extern char overviewfmt_file[PATH_LEN];
 extern char txt_help_bug_report[LEN];
-extern char userid[PATH_LEN];
+extern char userid[LOGIN_NAME_MAX];
 
 extern char domain_name[];
 
@@ -428,6 +425,7 @@ extern const char base64_alphabet[64];
 #ifdef USE_CANLOCK
 	extern constext *txt_cancel_lock_algos[];
 #endif /* USE_CANLOCK */
+extern constext *content_disposition[];
 extern constext *content_encodings[];
 extern constext *content_types[];
 extern constext *txt_attrs[];
@@ -465,8 +463,6 @@ extern constext *txt_thread_score_type[]
 extern constext *txt_trim_article_body_options[];
 extern constext *txt_wildcard_type[];
 extern constext txt_1_resp[];
-extern constext txt_7bit[];
-extern constext txt_8bit[];
 #if defined(NNTP_ABLE) && defined(HAVE_SELECT)
 	extern constext txt_abort_reading[];
 #endif /* NNTP_ABLE && HAVE_SELECT */
@@ -490,6 +486,7 @@ extern constext txt_art_thread_regex_tag
 extern constext txt_art_unavailable[];
 extern constext txt_art_x_of_n[];
 extern constext txt_article_cancelled[];
+extern constext txt_article_info_page[];
 extern constext txt_article_plural[];
 extern constext txt_article_reposted[];
 extern constext txt_article_singular[];
@@ -508,7 +505,7 @@ extern constext txt_mime_content_subtype
 extern constext txt_mime_content_type[];
 extern constext txt_mime_description[];
 extern constext txt_mime_encoding[];
-extern constext txt_mime_hdr_c_disposition_inline[];
+extern constext txt_mime_hdr_c_disposition[];
 extern constext txt_mime_hdr_c_transfer_encoding[];
 extern constext txt_mime_hdr_c_type_msg_rfc822[];
 extern constext txt_mime_hdr_c_type_multipart_mixed[];
@@ -564,6 +561,9 @@ extern constext txt_attrib_file_mime_for
 #ifdef CHARSET_CONVERSION
 	extern constext txt_attrib_file_mm_network_charset[];
 	extern constext txt_attrib_file_undeclared_charset[];
+#	ifdef USE_ICU_UCSDET
+	extern constext txt_attrib_file_undeclared_cs_guess[];
+#	endif /* USE_ICU_UCSDET */
 #endif /* CHARSET_CONVERSION */
 extern constext txt_attrib_file_hdr_to_disp[];
 extern constext txt_attrib_file_hdr_to_not_disp[];
@@ -648,6 +648,7 @@ extern constext txt_at_s[];
 	extern constext txt_auth_needed[];
 	extern constext txt_authorization_fail[];
 	extern constext txt_authorization_ok[];
+	extern constext txt_authorization_unavail[];
 #endif /* NNTP_ABLE */
 extern constext txt_author_search_backwards[];
 extern constext txt_author_search_forwards[];
@@ -655,17 +656,15 @@ extern constext txt_autoselecting_articl
 extern constext txt_autosubscribed[];
 extern constext txt_autosubscribing_groups[];
 extern constext txt_bad_article[];
-extern constext txt_bad_attrib[];
+#ifdef DEBUG
+	extern constext txt_bad_attrib[];
+#endif /* DEBUG */
 extern constext txt_bad_command[];
-extern constext txt_base64[];
 extern constext txt_base_article[];
 extern constext txt_base_article_range[];
 extern constext txt_batch_update_unavail[];
 extern constext txt_begin_of_art[];
 extern constext txt_begin_of_page[];
-#if !defined(HAVE_LIBUU) && defined(HAVE_SUM) && !defined(DONT_HAVE_PIPING)
-	extern constext txt_bytes[];
-#endif /* !HAVE_LIBUU && HAVE_SUM && !DONT_HAVE_PIPING */
 #ifdef NNTP_ABLE
 	extern constext txt_caching_off[];
 	extern constext txt_caching_on[];
@@ -705,9 +704,6 @@ extern constext txt_caughtup[];
 extern constext txt_check_article[];
 extern constext txt_checking_for_news[];
 extern constext txt_checking_new_groups[];
-#if !defined(HAVE_LIBUU) && defined(HAVE_SUM) && !defined(DONT_HAVE_PIPING)
-	extern constext txt_checksum_of_file[];
-#endif /* !HAVE_LIBUU && && HAVE_SUM && !DONT_HAVE_PIPING */
 extern constext txt_choose_post_process_type[];
 #ifdef HAVE_COLOR
 	extern constext txt_color_off[];
@@ -724,6 +720,7 @@ extern constext txt_confirm_select_on_ex
 	extern constext txt_connection_to[];
 #endif /* NNTP_ABLE && !INET6 */
 extern constext txt_connection_info[];
+extern constext txt_conninfo_conf_files[];
 extern constext txt_conninfo_local_spool[];
 extern constext txt_conninfo_saved_news[];
 #ifndef NNTP_ONLY
@@ -760,6 +757,7 @@ extern constext txt_conninfo_saved_news[
 	extern constext txt_conninfo_ro[];
 	extern constext txt_conninfo_rw[];
 	extern constext txt_conninfo_server[];
+	extern constext txt_conninfo_type[];
 #	ifdef NNTPS_ABLE
 	extern constext txt_conninfo_nntps[];
 	extern constext txt_conninfo_trusted[];
@@ -815,26 +813,34 @@ extern constext txt_enter_next_unread_ar
 extern constext txt_enter_next_unread_group[];
 extern constext txt_enter_option_num[];
 extern constext txt_enter_range[];
+extern constext txt_enter_append[];
 extern constext txt_error_approved[];
+extern constext txt_error_attrib_too_long[];
+extern constext txt_error_attrib_malformed[];
+extern constext txt_error_attrib_unknown[];
 #ifndef NDEBUG
 	extern constext txt_error_asfail[];
-#endif /* ! NDEBUG */
-extern constext txt_error_bad_approved[];
-extern constext txt_error_bad_from[];
+#endif /* !NDEBUG */
+extern constext txt_error_bad_address_in[];
 extern constext txt_error_bad_msgidfqdn[];
-extern constext txt_error_bad_replyto[];
-extern constext txt_error_bad_to[];
 #ifndef NO_LOCKING
 	extern constext txt_error_cant_unlock[];
 	extern constext txt_error_couldnt_dotlock[];
 	extern constext txt_error_couldnt_lock[];
 #endif /* NO_LOCKING */
+#	ifdef NNTPS_ABLE
+	extern constext txt_error_cant_use_litteral[];
+#endif /* NNTPS_ABLE */
 #if defined(NNTP_ABLE) && defined(USE_ZLIB)
 	extern constext txt_error_compression_auth[];
 #endif /* NNTP_ABLE && USE_ZLIB */
 extern constext txt_error_copy_fp[];
 extern constext txt_error_corrupted_file[];
-extern constext txt_error_couldnt_expand[];
+#ifdef NNTP_ABLE
+	extern constext txt_error_couldnt_expand[];
+#endif /* NNTP_ABLE */
+extern constext txt_error_empty_art[];
+extern constext txt_error_empty_format_string[];
 extern constext txt_error_fseek[];
 extern constext txt_error_followup_poster[];
 extern constext txt_error_format_string[];
@@ -843,6 +849,7 @@ extern constext txt_error_gnksa_langle[]
 extern constext txt_error_gnksa_lparen[];
 extern constext txt_error_gnksa_rparen[];
 extern constext txt_error_gnksa_atsign[];
+extern constext txt_error_gnksa_rangle[];
 extern constext txt_error_gnksa_sgl_domain[];
 extern constext txt_error_gnksa_inv_domain[];
 extern constext txt_error_gnksa_ill_domain[];
@@ -864,7 +871,9 @@ extern constext txt_error_gnksa_rn_enc[]
 extern constext txt_error_gnksa_rn_encsyn[];
 extern constext txt_error_gnksa_rn_paren[];
 extern constext txt_error_gnksa_rn_invalid[];
+extern constext txt_error_gnksa_rn_missing[];
 extern constext txt_error_header_and_body_not_separate[];
+extern constext txt_error_header_distribution_all[];
 extern constext txt_error_header_duplicate[];
 extern constext txt_error_header_format[];
 extern constext txt_error_header_line_bad_charset[];
@@ -876,6 +885,8 @@ extern constext txt_error_header_line_mi
 extern constext txt_error_header_line_not_7bit[];
 extern constext txt_error_header_line_space[];
 extern constext txt_error_header_no_name[];
+extern constext txt_error_mailgroup_no_recipient[];
+extern constext txt_error_mixed_up_opt[];
 #ifndef FILE_MODE_BROKEN
 	extern constext txt_error_insecure_permissions[];
 #endif /* !FILE_MODE_BROKEN */
@@ -887,18 +898,21 @@ extern constext txt_error_header_no_name
 #if defined(HAVE_SETLOCALE) && !defined(NO_LOCALE)
 	extern constext txt_error_locale[];
 #endif /* HAVE_SETLOCALE && !NO_LOCALE */
-#ifdef DEBUG
-	extern constext txt_error_mime_end[];
-	extern constext txt_error_mime_start[];
-#endif /* DEBUG */
+extern constext txt_error_mime_end[];
+extern constext txt_error_mime_start[];
 extern constext txt_error_no_domain_name[];
-extern constext txt_error_no_enter_permission[];
 #ifdef NNTP_INEWS
 	extern constext txt_error_no_from[];
 #endif /* NNTP_INEWS */
-extern constext txt_error_no_read_permission[];
-extern constext txt_error_no_such_file[];
-extern constext txt_error_no_write_permission[];
+#ifdef NNTP_ABLE
+	extern constext txt_error_no_enter_permission[];
+	extern constext txt_error_no_read_permission[];
+	extern constext txt_error_no_such_file[];
+	extern constext txt_error_no_write_permission[];
+#	ifdef INET6
+		extern constext txt_error_not_ipv6_literal[];
+#	endif /* INET6 */
+#endif /* NNTP_ABLE */
 extern constext txt_error_newsgroups_poster[];
 extern constext txt_error_passwd_missing[];
 #ifdef HAVE_LIBUU
@@ -982,6 +996,7 @@ extern constext txt_help_article_by_num[
 extern constext txt_help_article_edit[];
 extern constext txt_help_article_first_in_thread[];
 extern constext txt_help_article_first_page[];
+extern constext txt_help_article_info[];
 extern constext txt_help_article_last_in_thread[];
 extern constext txt_help_article_last_page[];
 extern constext txt_help_article_mark_thread_read[];
@@ -1343,14 +1358,17 @@ extern constext txt_no_viewer_found[];
 extern constext txt_none[];
 extern constext txt_not_exist[];
 extern constext txt_not_in_active_file[];
-extern constext txt_nrctbl_create[];
-extern constext txt_nrctbl_default[];
-extern constext txt_nrctbl_info[];
+#ifdef NNTP_ABLE
+	extern constext txt_nrctbl_create[];
+	extern constext txt_nrctbl_default[];
+	extern constext txt_nrctbl_info[];
+#endif /* NNTP_ABLE */
 extern constext txt_null[];
 extern constext txt_only[];
-extern constext txt_option_not_enabled[];
+extern constext txt_option_check_tinrc[];
 extern constext txt_options_menu[];
 extern constext txt_options_menu_com[];
+extern constext txt_option_not_enabled[];
 extern constext txt_out_of_memory[];
 extern constext txt_pcre_error_at[];
 extern constext txt_pcre_error_num[];
@@ -1358,11 +1376,12 @@ extern constext txt_pcre_error_num[];
 	extern constext txt_pcre_error_text[];
 #endif /* !HAVE_LIB_PCRE2 */
 #ifdef NNTP_ABLE
-#	ifdef DEBUG
 	extern constext txt_port_not_numeric[];
+#	ifdef DEBUG
 	extern constext txt_port_not_numeric_in[];
 #	endif /* DEBUG */
 #endif /* NNTP_ABLE */
+extern constext txt_arg_not_numeric[];
 extern constext txt_post_a_followup[];
 extern constext txt_post_error_ask_postpone[];
 extern constext txt_post_history_menu[];
@@ -1406,7 +1425,6 @@ extern constext txt_quit_edit_save_selec
 extern constext txt_quit_edit_send[];
 extern constext txt_quit_edit_xpost[];
 extern constext txt_quit_no_write[];
-extern constext txt_quoted_printable[];
 extern constext txt_range_invalid[];
 #ifdef HAVE_SELECT
 	extern constext txt_read_abort[];
@@ -1538,13 +1556,11 @@ extern constext txt_tinrc_info_in_last_l
 extern constext txt_tinrc_newnews[];
 #if defined(NNTP_ABLE) && defined(NNTPS_ABLE)
 	extern constext txt_tls_handshake_done[];
-	extern constext txt_tls_handshake_failed[];
 #	ifdef HAVE_LIB_LIBTLS
 	extern constext txt_retr_cipher_failed[];
 	extern constext txt_retr_issuer_failed[];
 	extern constext txt_retr_subject_failed[];
 	extern constext txt_retr_version_failed[];
-	extern constext txt_tls_unknown_error[];
 #	endif /* HAVE_LIB_LIBTLS */
 #	ifdef HAVE_LIB_GNUTLS
 	extern constext txt_tls_handshake_failed_with_err_num[];
@@ -1555,6 +1571,9 @@ extern constext txt_tinrc_newnews[];
 #	if defined(HAVE_LIB_GNUTLS) || defined(HAVE_LIB_OPENSSL)
 	extern constext txt_tls_peer_verify_failed_continuing[];
 #	endif /* HAVE_LIB_GNUTLS || HAVE_LIB_OPENSSL */
+#	if defined(USE_LIBTLS) || defined(USE_OPENSSL)
+	extern constext txt_tls_handshake_failed[];
+#	endif /* USE_LIBTLS || USE_OPENSSL */
 #endif /* NNTP_ABLE && NNTPS_ABLE */
 extern constext txt_toggled_high[];
 extern constext txt_toggled_rot13[];
@@ -1569,8 +1588,13 @@ extern constext txt_toggled_tabwidth[];
 #endif /* NO_LOCKING */
 extern constext txt_type_h_for_help[];
 extern constext txt_unlimited_time[];
-extern constext txt_unchanged[];
+#ifdef DEBUG
+	extern constext txt_unchanged[];
+#endif /* DEBUG */
 extern constext txt_unknown[];
+#if defined(XFACE_ABLE) || (defined(NNTPS_ABLE) && defined(HAVE_LIB_LIBTLS))
+	extern constext txt_unknown_error[];
+#endif /* XFACE_ABLE || (NNTPS_ABLE && HAVE_LIB_LIBTLS) */
 extern constext txt_unread[];
 extern constext txt_unsubscribe_pattern[];
 extern constext txt_unsubscribed_num_groups[];
@@ -1587,6 +1611,10 @@ extern constext txt_url_done[];
 extern constext txt_usage_catchup[];
 extern constext txt_usage_check_for_unread_news[];
 #ifdef NNTP_ABLE
+#	ifdef USE_GSASL
+	extern constext txt_usable_sasl_mechs[];
+	extern constext txt_used_sasl_mech[];
+#	endif /* USE_GSASL */
 #	ifdef USE_ZLIB
 	extern constext txt_continuing[];
 	extern constext txt_read_timeout_quit[];
@@ -1601,11 +1629,15 @@ extern constext txt_usage_dont_save_file
 extern constext txt_usage_dont_show_descriptions[];
 #ifdef NNTP_ABLE
 	extern constext txt_usage_force_authentication[];
+	extern constext txt_usage_lookup_id[];
 #	ifdef INET6
 	extern constext txt_usage_force_ipv4[];
 	extern constext txt_usage_force_ipv6[];
 #	endif /* INET6 */
 	extern constext txt_usage_newsserver[];
+#if defined(HAVE_ALARM) && defined(SIGALRM)
+	extern constext txt_usage_nntp_timeout[];
+#endif /* HAVE_ALARM && SIGALRM */
 	extern constext txt_usage_port[];
 	extern constext txt_usage_read_news_remotely[];
 #	ifdef NNTPS_ABLE
@@ -1650,7 +1682,8 @@ extern constext txt_uue_incomplete[];
 	extern constext txt_valid_not_after[];
 	extern constext txt_valid_not_before[];
 #endif /* NNTP_ABLE && NNTPS_ABLE */
-extern constext txt_value_out_of_range[];
+extern constext txt_val_out_of_range_ignored[];
+extern constext txt_val_out_of_range_reset[];
 extern constext txt_view_attachment[];
 extern constext txt_warn_art_line_too_long[];
 extern constext txt_warn_article_unchanged[];
@@ -1659,6 +1692,7 @@ extern constext txt_warn_cancel[];
 #ifdef CHARSET_CONVERSION
 	extern constext txt_warn_charset_conversion[];
 #endif /* CHARSET_CONVERSION */
+extern constext txt_warn_distribution_world[];
 extern constext txt_warn_downgrade[];
 extern constext txt_warn_encoding_and_external_inews[];
 extern constext txt_warn_long_line_not_base[];
@@ -1671,11 +1705,16 @@ extern constext txt_warn_long_line_not_b
 	extern constext txt_warn_header_line_groups_contd[];
 #endif /* ALLOW_FWS_IN_NEWSGROUPLIST */
 extern constext txt_warn_example_hierarchy[];
+extern constext txt_warn_multiple_addresses[];
 extern constext txt_warn_multiple_sigs[];
 extern constext txt_warn_newsrc[];
 extern constext txt_warn_not_all_arts_saved[];
 extern constext txt_warn_re_but_no_references[];
+extern constext txt_warn_re_only_subject[];
 extern constext txt_warn_references_but_no_re[];
+#ifndef FORGERY
+	extern constext txt_warn_sender_required_but_disabled[];
+#endif /* !FORGERY */
 extern constext txt_warn_sig_too_long[];
 extern constext txt_warn_suspicious_mail[];
 extern constext txt_warn_update[];
@@ -1692,17 +1731,18 @@ extern constext txt_x_resp[];
 	extern constext txt_xface_error_create_failed[];
 	extern constext txt_xface_error_exited_abnormal[];
 	extern constext txt_xface_error_finally_failed[];
-	extern constext txt_xface_error_missing_env_var[];
-#	if defined(DEBUG) && defined(HAVE_IS_XTERM)
-	extern constext txt_xface_error_no_xterm[];
-#	endif /* DEBUG && HAVE_IS_XTERM */
+#	ifdef DEBUG
+		extern constext txt_xface_error_missing_env_var[];
+#		ifdef HAVE_IS_XTERM
+			extern constext txt_xface_error_no_xterm[];
+#		endif /*  HAVE_IS_XTERM */
+#	endif /* DEBUG */
 	extern constext txt_xface_msg_cannot_connect_display[];
 	extern constext txt_xface_msg_cannot_open_fifo[];
 	extern constext txt_xface_msg_executable_not_found[];
 	extern constext txt_xface_msg_fork_failed[];
 	extern constext txt_xface_msg_no_controlling_terminal[];
 	extern constext txt_xface_msg_no_width_and_height_avail[];
-	extern constext txt_xface_msg_unknown_error[];
 	extern constext txt_xface_msg_windowid_not_found[];
 	extern constext txt_xface_readme[];
 #endif /* XFACE_ABLE */
@@ -1772,6 +1812,7 @@ extern int max_base;
 extern int max_newnews;
 extern int max_save;
 extern int max_scope;
+extern int need_parse_fmt;
 extern int need_resize;
 extern int num_active;
 extern int num_newnews;
@@ -1918,7 +1959,7 @@ enum {
 extern int hist_last[HIST_MAXNUM + 1];
 extern int hist_pos[HIST_MAXNUM + 1];
 extern char *input_history[HIST_MAXNUM + 1][HIST_SIZE + 1];
-
+extern long motd_hash;
 
 /* defines for GNKSA checking */
 /* success/undefined failure */
@@ -2076,9 +2117,13 @@ extern struct opttxt txt_catchup_read_gr
 #else
 	extern struct opttxt txt_highlight_options;
 #endif /* HAVE_COLOR */
+#if defined(USE_ZLIB) && defined(CPP_DOES_CONCAT)
+	extern struct opttxt txt_compress_overview_files;
+#endif /* USE_ZLIB && CPP_DOES_CONCAT */
 extern struct opttxt txt_confirm_choice;
 extern struct opttxt txt_date_format;
 extern struct opttxt txt_display_options;
+extern struct opttxt txt_dont_break_words;
 extern struct opttxt txt_draw_arrow;
 extern struct opttxt txt_editor_format;
 extern struct opttxt txt_expert_options;
@@ -2228,6 +2273,9 @@ extern struct opttxt txt_xpost_quote_for
 #ifdef CHARSET_CONVERSION
 	extern struct opttxt txt_mm_network_charset;
 	extern struct opttxt txt_undeclared_charset;
+#	ifdef USE_ICU_UCSDET
+	extern struct opttxt txt_undeclared_cs_guess;
+#	endif /* USE_ICU_UCSDET */
 #endif /* CHARSET_CONVERSION */
 #ifdef HAVE_COLOR
 	extern struct opttxt txt_quote_regex;
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/keymap.h tin-2.6.4/include/keymap.h
--- tin-2.6.3/include/keymap.h	2023-12-24 00:38:35.000000000 +0100
+++ tin-2.6.4/include/keymap.h	2024-11-25 20:44:39.401356200 +0100
@@ -3,10 +3,10 @@
  *  Module    : keymap.h
  *  Author    : J. Faultless, D. Nimmich
  *  Created   : 1999
- *  Updated   : 2023-10-17
+ *  Updated   : 2024-11-17
  *  Notes     :
  *
- * Copyright (c) 1999-2024 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 1999-2025 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -135,7 +135,6 @@
  */
 #define MAXKEYLEN 17
 
-/* TODO: permanently move here from tin.h */
 #define ctrl(c)	((c) & 0x1F)
 #define ESC		27
 
@@ -263,6 +262,7 @@ enum defined_functions {
 	MARK_THREAD_UNREAD,
 	MARK_FEED_READ,
 	MARK_FEED_UNREAD,
+	PAGE_ARTICLE_INFO,
 	PAGE_AUTOSAVE,
 	PAGE_BOTTOM_THREAD,
 	PAGE_CANCEL,
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/missing_fd.h tin-2.6.4/include/missing_fd.h
--- tin-2.6.3/include/missing_fd.h	2023-12-24 00:38:35.000000000 +0100
+++ tin-2.6.4/include/missing_fd.h	2024-11-25 20:44:39.405356358 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2019-03-13
  *  Notes     :
  *
- * Copyright (c) 2019-2024 Dennis Grevenstein <dennis.grevenstein@gmail.com>
+ * Copyright (c) 2019-2025 Dennis Grevenstein <dennis.grevenstein@gmail.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -46,7 +46,7 @@
 	/* luna - 09-MAR-2019 */
 #	if defined(sun) || defined(__sun) /* && (!defined(__SVR4) || !defined(__svr4__)) && defined(BSD) && BSD < 199306 */
 typedef	long	fd_mask;
-#		ifndef	FD_SETSIZE
+#		ifndef FD_SETSIZE
 #			ifdef SUNDBE /* Sun DataBase Excelerator */
 #				define FD_SETSIZE      2048
 #			else
@@ -56,9 +56,9 @@ typedef	long	fd_mask;
 #		ifndef NBBY
 #			define NBBY 8	/* bits per byte */
 #		endif /* !NBBY */
-#		define	NFDBITS	(sizeof(fd_mask) * NBBY)	/* bits per mask */
+#		define NFDBITS	(sizeof(fd_mask) * NBBY)	/* bits per mask */
 #		ifndef howmany
-#			define	howmany(x, y)	(((x) + ((y) - 1)) / (y))
+#			define howmany(x, y)	(((x) + ((y) - 1)) / (y))
 #		endif /* !howmany */
 
 typedef	struct fd_set {
@@ -66,10 +66,10 @@ typedef	struct fd_set {
 } fd_set;
 
 
-#		define	FD_SET(n, p)	((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
-#		define	FD_CLR(n, p)	((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
-#		define	FD_ISSET(n, p)	((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
-#		define	FD_ZERO(p)		memset((void *)(p), 0, sizeof (*(p)))
+#		define FD_SET(n, p)	((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
+#		define FD_CLR(n, p)	((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
+#		define FD_ISSET(n, p)	((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
+#		define FD_ZERO(p)		memset((void *)(p), 0, sizeof (*(p)))
 
 #		endif /* sun || __sun */
 #	endif /* !HAVE_TYPE_FD_SET */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/newsrc.h tin-2.6.4/include/newsrc.h
--- tin-2.6.3/include/newsrc.h	2023-12-24 00:38:35.000000000 +0100
+++ tin-2.6.4/include/newsrc.h	2024-11-25 20:44:39.413356674 +0100
@@ -3,10 +3,10 @@
  *  Module    : newsrc.h
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2003-11-18
+ *  Updated   : 2024-09-27
  *  Notes     : newsrc bit handling
  *
- * Copyright (c) 1997-2024 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1997-2025 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -117,12 +117,14 @@
 #define NOFFSET(b)	((b) >> NBITPOS)
 #define NBITIDX(b)	((b) & NMAXBIT)
 
-#define NBITMASK(beg,end)	(unsigned char) ~(((1 << (((NMAXBIT - beg) - (NMAXBIT - end)) + 1)) - 1) << (NMAXBIT - end))
-
 #define NTEST(n,b)	(n[NOFFSET(b)] & (1 << NBITIDX(b)))
 
+#if 0 /* unused */
+#define NBITMASK(beg,end)	(unsigned char) ~(((1 << (((NMAXBIT - beg) - (NMAXBIT - end)) + 1)) - 1) << (NMAXBIT - end))
+
 #define NSETBLK1(n,i)	(memset(n, NBITSON, (size_t) NOFFSET(i) + 1))
 #define NSETBLK0(n,i)	(memset(n, 0, (size_t) NOFFSET(i) + 1))
+#endif /* 0 */
 
 /* dbmalloc checks memset() parameters, so we'll use it to check the assignments */
 #ifdef USE_DBMALLOC
@@ -133,9 +135,9 @@
 #	include <dbmalloc.h> /* dbmalloc 1.4 */
 #else
 #	define NSET1(n,b)	(n[NOFFSET(b)] |= (1 << NBITIDX(b)))
-#	define NSET0(n,b)	(n[NOFFSET(b)] &= ~(1 << NBITIDX(b)))
-#	define BIT_OR(n, b, mask)	n[NOFFSET(b)] |= mask
-#	define BIT_AND(n, b, mask)	n[NOFFSET(b)] &= mask
+#	define NSET0(n,b)	(n[NOFFSET(b)] &= 0xff & ~(1 << NBITIDX(b)))
+#	define BIT_OR(n, b, mask)	n[NOFFSET(b)] |= 0xff & mask
+#	define BIT_AND(n, b, mask)	n[NOFFSET(b)] &= 0xff & mask
 #endif /* USE_DBMALLOC */
 
 #define BITS_TO_BYTES(n)	((size_t) ((n + NBITS - 1) / NBITS))
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/nntplib.h tin-2.6.4/include/nntplib.h
--- tin-2.6.3/include/nntplib.h	2023-12-24 00:38:35.000000000 +0100
+++ tin-2.6.4/include/nntplib.h	2024-11-25 20:44:39.421356991 +0100
@@ -3,10 +3,10 @@
  *  Module    : nntplib.h
  *  Author    : I.Lea
  *  Created   : 1991-04-01
- *  Updated   : 2022-12-23
+ *  Updated   : 2024-04-01
  *  Notes     : nntp.h 1.5.11/1.6 with extensions for tin
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -173,17 +173,17 @@ enum f_type { OVER_T_ERROR, OVER_T_INT,
  */
 enum extension_type { NONE, CAPABILITIES, BROKEN };
 
-enum sasl_types {
-	SASL_NONE 		= 0,
-	SASL_PLAIN		= 1 << 0,
-	SASL_CRAM_MD5	= 1 << 1,
-	SASL_DIGEST_MD5	= 1 << 2,
-	SASL_GSSAPI		= 1 << 3,
-	SASL_EXTERNAL	= 1 << 4,
-	SASL_OTP		= 1 << 5,
-	SASL_NTLM		= 1 << 6,
-	SASL_LOGIN		= 1 << 7
+enum sasl_props {
+	SASL_NEED_NONE 				= 0,
+	SASL_NEED_AUTHZID			= 1 << 0,
+	SASL_NEED_AUTHID			= 1 << 1,
+	SASL_NEED_PASSWORD			= 1 << 2,
+	SASL_NEED_SERVICE			= 1 << 3,
+	SASL_NEED_ANONYMOUS_TOKEN	= 1 << 4,
+	SASL_NEED_HOSTNAME			= 1 << 5
+	/* ... */
 };
+
 enum c_algorithms { COMPRESS_NONE, COMPRESS_DEFLATE };
 
 struct t_capabilities {
@@ -213,11 +213,12 @@ struct t_capabilities {
 	const char *over_cmd;			/* [X]OVER */
 	t_bool newnews:1;				/* NEWNEWS */
 	char *implementation;			/* IMPLEMENTATION */
-	t_bool starttls:1;				/* STARTTLS */
+	t_bool starttls:1;				/* STARTTLS (not supported; RFC 7525 3.2, RFC 8143 2) */
 	t_bool authinfo_user:1;			/* AUTHINFO USER/PASS */
 	t_bool authinfo_sasl:1;			/* AUTHINFO SASL */
-	t_bool authinfo_state:1;		/* AUTHINFO not supported in current state */
-	enum sasl_types sasl;			/* SASL_NONE, SASL_PLAIN, SASL_CRAM_MD5, SASL_DIGEST_MD5, SASL_GSSAPI, SASL_EXTERNAL, SASL_OTP, SASL_NTLM, SASL_LOGIN */
+	t_bool authinfo_state:1;		/* AUTHINFO not supported in current state (FALSE==auth allowed) */
+	char *sasl_mechs;				/* SASL mechs of the server which our code supports */
+	char *sasl_mech_used;			/* SASL mech in use */
 	t_bool compress:1;				/* COMPRESS */
 	enum c_algorithms compress_algorithm;	/* COMPRESS_NONE, COMPRESS_DEFLATE */
 #if defined(MAXARTNUM) && defined(USE_LONG_ARTICLE_NUMBERS)
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/plp_snprintf.h tin-2.6.4/include/plp_snprintf.h
--- tin-2.6.3/include/plp_snprintf.h	2022-12-09 10:03:48.000000000 +0100
+++ tin-2.6.4/include/plp_snprintf.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,30 +0,0 @@
-/*
- * includes/defines/declarations which are already done by tin.h
- * but might be needed if you use plp_snprintf() in other programs
- */
-
-#ifndef PLP_SNPRINTF_H
-#	define PLP_SNPRINTF_H 1
-
-#	ifdef HAVE_CONFIG_H
-#		include "config.h"
-#	endif /* HAVE_CONFIG_H */
-#	include <sys/types.h>
-#	include <ctype.h>
-#	include <stdlib.h>
-#	ifdef HAVE_STRING_H
-#		include <string.h>
-#	endif /* HAVE_STRING_H */
-#	ifdef HAVE_STRINGS_H
-#		include <strings.h>
-#	endif /* HAVE_STRINGS_H */
-#	include <stdio.h>
-
-/* For testing, define these values */
-#	ifdef TEST
-#		define HAVE_QUAD_T 1
-#		define HAVE_STDARG_H 1
-#	endif /* TEST */
-
-	extern int errno;
-#endif /* PLP_SNPRINTF_H */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/policy.h tin-2.6.4/include/policy.h
--- tin-2.6.3/include/policy.h	2023-12-24 00:38:35.000000000 +0100
+++ tin-2.6.4/include/policy.h	2024-11-25 20:44:39.429357307 +0100
@@ -3,10 +3,10 @@
  *  Module    : policy.h
  *  Author    : Ralf Doeblitz <doeblitz@gmx.de>
  *  Created   : 1999-01-12
- *  Updated   : 2015-09-14
+ *  Updated   : 2024-11-25
  *  Notes     : #defines and static data for policy configuration
  *
- * Copyright (c) 1999-2024 Ralf Doeblitz <doeblitz@gmx.de>
+ * Copyright (c) 1999-2025 Ralf Doeblitz <doeblitz@gmx.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,7 +38,7 @@
  */
 
 /*
- * CAUTION: THIS FILE IS OUTDATED AND NO LONGER ACTIVELY MAINTAINED
+ * CAUTION: THIS FILE MAY BE OUTDATED!
  * "disable_gnksa_domain_check=OFF" MIGHT RESULT IN FALSE POSITIVES
  */
 
@@ -175,9 +175,10 @@
  * .sk  Slovakia                       .sl  Sierra Leone
  * .sm  San Marino                     .sn  Senegal
  * .so  Somalia                        .sr  Surinam
- * .st  Sao Tome and Principe          .su  Soviet Union (former)
- * .sv  El Salvador                    .sx  Sint Maarten (Dutch side)
- * .sy  Syrian Arab Republic           .sz  Swaziland
+ * .ss  South Sudan                    .st  Sao Tome and Principe
+ * .su  Soviet Union (former)          .sv  El Salvador
+ * .sx  Sint Maarten (Dutch side)      .sy  Syrian Arab Republic
+ * .sz  Swaziland
  *
  * .tc  The Turks & Caicos Islands     .td  Chad
  * .tf  French Southern Territories    .tg  Togo
@@ -208,11 +209,13 @@
  *
  *
  * invalid/obsolete TLDs:
+ * .an  Netherlands Antilles, becomes .bq, .cw, and .sx
  * .bu  Burma, now .mm
  * .cs  former Czechoslovakia, now .cz and .sk
  * .dd  former German Democratic Republic, now .de
  * .fx  France, Metropolitan
  * .oz  Australian MHSnet
+ * .tp  former East Timor, now .tl
  * .um  United States Minor Outlying Islands
  * .yd  Democratic Yemen, now .ye
  * .yu  Yugoslavia, now .rs and .me
@@ -230,100 +233,1251 @@
  * .gb  United Kingdom, use .uk
  * .mf  Sint Maarten (French side)
  * .sj  Svalbard and Jan Mayen Islands (Norway)
- * .ss  South Sudan
  *
  * requested new TLDs:
  *
  * xccTLDs:
- * .an  Netherlands Antilles, becomes .bq, .cw, and .sx
  * .su  former USSR, now .ru
- * .tp  former East Timor, now .tl
+ *
+ * differences between ccTLDs and ISO-3166-2 codes:
+ * .ac only ccTLD
+ *  BL only ISO-3166-2 code: Saint BarthÃ©lemy
+ *  BQ only ISO-3166-2 code: "Bonaire, Sint Eustatius and Saba"
+ *  EH only ISO-3166-2 code: Western Sahara
+ * .eu only ccTLD
+ *  MF only ISO-3166-2 code: Saint Martin (French part)
+ * .su only ccTLD
+ * .uk only ccTLD
+ *  UM only ISO-3166-2 code: United States Minor Outlying Islands
  */
 
 static char gnksa_country_codes[26*26] = {
-/*      A B C D E  F G H I J  K L M N O  P Q R S T  U V W X Y Z */
-/* A */ 0,0,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 0,1,1,1,1, 1,0,1,1,0,1,
-/* B */ 1,1,0,1,1, 1,1,1,1,1, 0,0,1,1,1, 0,0,1,1,1, 0,0,1,0,1,1,
-/* C */ 1,0,1,1,0, 1,1,1,1,0, 1,1,1,1,1, 0,0,1,0,0, 1,1,1,1,1,1,
-/* D */ 0,0,0,0,1, 0,0,0,0,1, 1,0,1,0,1, 0,0,0,0,0, 0,0,0,0,0,1,
-/* E */ 0,0,1,0,1, 0,1,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 1,0,0,0,0,0,
-/* F */ 0,0,0,0,0, 0,0,0,1,1, 1,0,1,0,1, 0,0,1,0,0, 0,0,0,0,0,0,
-/* G */ 1,0,0,1,1, 1,1,1,1,0, 0,1,1,1,0, 1,1,1,1,1, 1,0,1,0,1,0,
-/* H */ 0,0,0,0,0, 0,0,0,0,0, 1,0,1,1,0, 0,0,1,0,1, 1,0,0,0,0,0,
-/* I */ 0,0,0,1,1, 0,0,0,0,0, 0,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0,0,
-/* J */ 0,0,0,0,1, 0,0,0,0,0, 0,0,1,0,1, 1,0,0,0,0, 0,0,0,0,0,0,
-/* K */ 0,0,0,0,1, 0,1,1,1,0, 0,0,1,1,0, 1,0,1,0,0, 0,0,1,0,1,1,
-/* L */ 1,1,1,0,0, 0,0,0,1,0, 1,0,0,0,0, 0,0,1,1,1, 1,1,0,0,1,0,
-/* M */ 1,0,1,1,1, 0,1,1,0,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,1,
-/* N */ 1,0,1,0,1, 1,1,0,1,0, 0,1,0,0,1, 1,0,1,0,0, 1,0,0,0,0,1,
-/* O */ 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0,0,
-/* P */ 1,0,0,0,1, 1,1,1,0,0, 1,1,1,1,0, 0,0,1,1,1, 0,0,1,0,1,0,
-/* Q */ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,0,
-/* R */ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,1,0, 1,0,1,0,0,0,
-/* S */ 1,1,1,1,1, 0,1,1,1,0, 1,1,1,1,1, 0,0,1,0,1, 1,1,0,1,1,1,
-/* T */ 0,0,1,1,0, 1,1,1,0,1, 1,1,1,1,1, 1,0,1,0,1, 0,1,1,0,0,1,
-/* U */ 1,0,0,0,0, 0,1,0,0,0, 1,0,0,0,0, 0,0,0,1,0, 0,0,0,0,1,1,
-/* V */ 1,0,1,0,1, 0,1,0,1,0, 0,0,0,1,0, 0,0,0,0,0, 1,0,0,0,0,0,
-/* W */ 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0,0,
-/* X */ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,0,
-/* Y */ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0,0,
-/* Z */ 1,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,1,0,0,0
-/*      A B C D E  F G H I J  K L M N O  P Q R S T  U V W X Y Z */
+/*      A B C D E  F G H I J  K L M N O  P Q R S T  U V W X Y  Z */
+/* A */ 0,0,1,1,1, 1,1,0,1,0, 0,1,1,0,1, 0,1,1,1,1, 1,0,1,1,0, 1,
+/* B */ 1,1,0,1,1, 1,1,1,1,1, 0,0,1,1,1, 0,0,1,1,1, 0,1,1,0,1, 1,
+/* C */ 1,0,1,1,0, 1,1,1,1,0, 1,1,1,1,1, 0,0,1,0,0, 1,1,1,1,1, 1,
+/* D */ 0,0,0,0,1, 0,0,0,0,1, 1,0,1,0,1, 0,0,0,0,0, 0,0,0,0,0, 1,
+/* E */ 0,0,1,0,1, 0,1,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 1,0,0,0,0, 0,
+/* F */ 0,0,0,0,0, 0,0,0,1,1, 1,0,1,0,1, 0,0,1,0,0, 0,0,0,0,0, 0,
+/* G */ 1,1,0,1,1, 1,1,1,1,0, 0,1,1,1,0, 1,1,1,1,1, 1,0,1,0,1, 0,
+/* H */ 0,0,0,0,0, 0,0,0,0,0, 1,0,1,1,0, 0,0,1,0,1, 1,0,0,0,0, 0,
+/* I */ 0,0,0,1,1, 0,0,0,0,0, 0,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,
+/* J */ 0,0,0,0,1, 0,0,0,0,0, 0,0,1,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,
+/* K */ 0,0,0,0,1, 0,1,1,1,0, 0,0,1,1,0, 1,0,1,0,0, 0,0,1,0,1, 1,
+/* L */ 1,1,1,0,0, 0,0,0,1,0, 1,0,0,0,0, 0,0,1,1,1, 1,1,0,0,1, 0,
+/* M */ 1,0,1,1,1, 0,1,1,0,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,
+/* N */ 1,0,1,0,1, 1,1,0,1,0, 0,1,0,0,1, 1,0,1,0,0, 1,0,0,0,0, 1,
+/* O */ 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,
+/* P */ 1,0,0,0,1, 1,1,1,0,0, 1,1,1,1,0, 0,0,1,1,1, 0,0,1,0,1, 0,
+/* Q */ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,
+/* R */ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,1,0, 1,0,1,0,0, 0,
+/* S */ 1,1,1,1,1, 0,1,1,1,1, 1,1,1,1,1, 0,0,1,1,1, 1,1,0,1,1, 1,
+/* T */ 0,0,1,1,0, 1,1,1,0,1, 1,1,1,1,1, 0,0,1,0,1, 0,1,1,0,0, 1,
+/* U */ 1,0,0,0,0, 0,1,0,0,0, 1,0,0,0,0, 0,0,0,1,0, 0,0,0,0,1, 1,
+/* V */ 1,0,1,0,1, 0,1,0,1,0, 0,0,0,1,0, 0,0,0,0,0, 1,0,0,0,0, 0,
+/* W */ 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,
+/* X */ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,
+/* Y */ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,
+/* Z */ 1,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,
 };
 
-
-/*
- * valid domains with 3 or more characters
- */
+/* THE DATA BELOW MAY BE OUT OF DATE */
 static const char *gnksa_domain_list[] = {
-	"biz",	/* Businesses */
-	"cat",	/* Catalan linguistic and cultural community */
-	"com",	/* Commercial */
-	"edu",	/* Educational */
-	"gov",	/* US Government */
-	"int",	/* International Organizations */
-	"mil",	/* US Dept of Defense */
-	"net",	/* Networks */
-	"org",	/* Organizations */
-	"pro",	/* Accountants, lawyers, and physicians */
-	"tel",	/* Internet communication */
-	"xxx",	/* For adult entertainment */
-	"aero",	/* Air-transport industry */
-	"arpa",	/* Address and Routing Parameter Area */
-	"asia",	/* Asia and the Pacific */
+	"aaa",
+	"abb",
+	"abc",
+	"aco",
+	"ads",
+	"aeg",
+	"afl",
+	"aig",
+	"anz",
+	"aol",
+	"app",
+	"art",
+	"aws",
+	"axa",
+	"bar",
+	"bbc",
+	"bbt",
+	"bcg",
+	"bcn",
+	"bet",
+	"bid",
+	"bio",
+	"biz",
+	"bms",
+	"bmw",
+	"bom",
+	"boo",
+	"bot",
+	"box",
+	"buy",
+	"bzh",
+	"cab",
+	"cal",
+	"cam",
+	"car",
+	"cat",
+	"cba",
+	"cbn",
+	"ceo",
+	"cfa",
+	"cfd",
+	"com",
+	"cpa",
+	"crs",
+	"dad",
+	"day",
+	"dds",
+	"dev",
+	"dhl",
+	"diy",
+	"dnp",
+	"dog",
+	"dot",
+	"dtv",
+	"dvr",
+	"eat",
+	"eco",
+	"edu",
+	"esq",
+	"eus",
+	"fan",
+	"fit",
+	"fly",
+	"foo",
+	"fox",
+	"frl",
+	"ftr",
+	"fun",
+	"fyi",
+	"gal",
+	"gap",
+	"gay",
+	"gdn",
+	"gea",
+	"gle",
+	"gmo",
+	"gmx",
+	"goo",
+	"gop",
+	"got",
+	"gov",
+	"hbo",
+	"hiv",
+	"hkt",
+	"hot",
+	"how",
+	"ibm",
+	"ice",
+	"icu",
+	"ifm",
+	"inc",
+	"ing",
+	"ink",
+	"int",
+	"ist",
+	"itv",
+	"jcb",
+	"jio",
+	"jll",
+	"jmp",
+	"jnj",
+	"jot",
+	"joy",
+	"kfh",
+	"kia",
+	"kim",
+	"kpn",
+	"krd",
+	"lat",
+	"law",
+	"lds",
+	"llc",
+	"llp",
+	"lol",
+	"lpl",
+	"ltd",
+	"man",
+	"map",
+	"mba",
+	"med",
+	"men",
+	"mil",
+	"mit",
+	"mlb",
+	"mls",
+	"mma",
+	"moe",
+	"moi",
+	"mom",
+	"mov",
+	"msd",
+	"mtn",
+	"mtr",
+	"nab",
+	"nba",
+	"nec",
+	"net",
+	"new",
+	"nfl",
+	"ngo",
+	"nhk",
+	"now",
+	"nra",
+	"nrw",
+	"ntt",
+	"nyc",
+	"obi",
+	"one",
+	"ong",
+	"onl",
+	"ooo",
+	"org",
+	"ott",
+	"ovh",
+	"pay",
+	"pet",
+	"phd",
+	"pid",
+	"pin",
+	"pnc",
+	"pro",
+	"pru",
+	"pub",
+	"pwc",
+	"red",
+	"ren",
+	"ril",
+	"rio",
+	"rip",
+	"run",
+	"rwe",
+	"sap",
+	"sas",
+	"sbi",
+	"sbs",
+	"scb",
+	"sew",
+	"sex",
+	"sfr",
+	"ski",
+	"sky",
+	"soy",
+	"spa",
+	"srl",
+	"stc",
+	"tab",
+	"tax",
+	"tci",
+	"tdk",
+	"tel",
+	"thd",
+	"tjx",
+	"top",
+	"trv",
+	"tui",
+	"tvs",
+	"ubs",
+	"uno",
+	"uol",
+	"ups",
+	"vet",
+	"vig",
+	"vin",
+	"vip",
+	"wed",
+	"win",
+	"wme",
+	"wow",
+	"wtc",
+	"wtf",
+	"xin",
+	"xxx",
+	"xyz",
+	"you",
+	"yun",
+	"zip",
+	"aarp",
+	"able",
+	"aero",
+	"akdn",
+	"ally",
+	"amex",
+	"arab",
+	"army",
+	"arpa",
+	"arte",
+	"asda",
+	"asia",
+	"audi",
+	"auto",
+	"baby",
+	"band",
+	"bank",
+	"bbva",
+	"beer",
+	"best",
 	"bike",
-	"coop",	/* Non-profit cooperatives */
+	"bing",
+	"blog",
+	"blue",
+	"bofa",
+	"bond",
+	"book",
+	"buzz",
+	"cafe",
+	"call",
+	"camp",
+	"care",
+	"cars",
+	"casa",
+	"case",
+	"cash",
+	"cbre",
+	"cern",
+	"chat",
+	"citi",
+	"city",
+	"club",
+	"cool",
+	"coop",
+	"cyou",
+	"data",
+	"date",
+	"dclk",
+	"deal",
+	"dell",
+	"desi",
+	"diet",
+	"dish",
+	"docs",
+	"dvag",
+	"erni",
+	"fage",
+	"fail",
+	"fans",
+	"farm",
+	"fast",
+	"fido",
+	"film",
+	"fire",
+	"fish",
+	"flir",
+	"food",
+	"ford",
+	"free",
+	"fund",
+	"game",
+	"gbiz",
+	"gent",
+	"ggee",
+	"gift",
+	"gmbh",
+	"gold",
+	"golf",
+	"goog",
+	"guge",
 	"guru",
-	"info",	/* Unrestricted use */
-	"jobs",	/* Human resource managers */
+	"hair",
+	"haus",
+	"hdfc",
+	"help",
+	"here",
+	"host",
+	"hsbc",
+	"icbc",
+	"ieee",
+	"imdb",
+	"immo",
+	"info",
+	"itau",
+	"java",
+	"jeep",
+	"jobs",
+	"jprs",
+	"kddi",
+	"kids",
+	"kiwi",
+	"kpmg",
+	"kred",
 	"land",
-	"mobi",	/* Mobile products and services */
-	"name",	/* For registration by individuals */
-	"post",	/* Postal sector */
+	"lego",
+	"lgbt",
+	"lidl",
+	"life",
+	"like",
+	"limo",
+	"link",
+	"live",
+	"loan",
+	"love",
+	"ltda",
+	"luxe",
+	"maif",
+	"meet",
+	"meme",
+	"menu",
+	"mini",
+	"mint",
+	"mobi",
+	"moda",
+	"moto",
+	"name",
+	"navy",
+	"news",
+	"next",
+	"nico",
+	"nike",
+	"ollo",
+	"open",
+	"page",
+	"pars",
+	"pccw",
+	"pics",
+	"ping",
+	"pink",
+	"play",
+	"plus",
+	"pohl",
+	"porn",
+	"post",
+	"prod",
+	"prof",
+	"qpon",
+	"read",
+	"reit",
+	"rent",
+	"rest",
+	"rich",
+	"room",
+	"rsvp",
+	"ruhr",
+	"safe",
+	"sale",
+	"sarl",
+	"save",
+	"saxo",
+	"scot",
+	"seat",
+	"seek",
 	"sexy",
+	"shia",
+	"shop",
+	"show",
+	"silk",
+	"sina",
+	"site",
+	"skin",
+	"sncf",
+	"sohu",
+	"song",
+	"sony",
+	"spot",
+	"star",
+	"surf",
+	"talk",
+	"taxi",
+	"team",
+	"tech",
+	"teva",
+	"tiaa",
+	"tips",
+	"town",
+	"toys",
+	"tube",
+	"vana",
+	"visa",
+	"viva",
+	"vivo",
+	"vote",
+	"voto",
+	"wang",
+	"weir",
+	"wien",
+	"wiki",
+	"wine",
+	"work",
+	"xbox",
+	"yoga",
+	"zara",
+	"zero",
+	"zone",
+	"actor",
+	"adult",
+	"aetna",
+	"amfam",
+	"amica",
+	"apple",
+	"archi",
+	"audio",
+	"autos",
+	"azure",
+	"baidu",
+	"beats",
+	"bible",
+	"bingo",
+	"black",
+	"boats",
+	"bosch",
+	"build",
+	"canon",
+	"cards",
+	"chase",
+	"cheap",
+	"cisco",
+	"citic",
+	"click",
+	"cloud",
+	"coach",
+	"codes",
+	"crown",
+	"cymru",
+	"dance",
+	"deals",
+	"delta",
+	"drive",
+	"dubai",
+	"earth",
+	"edeka",
+	"email",
+	"epson",
+	"faith",
+	"fedex",
+	"final",
+	"forex",
+	"forum",
+	"gallo",
+	"games",
+	"gifts",
+	"gives",
+	"glass",
+	"globo",
+	"gmail",
+	"green",
+	"gripe",
+	"group",
+	"gucci",
+	"guide",
+	"homes",
+	"honda",
+	"horse",
+	"house",
+	"hyatt",
+	"ikano",
+	"irish",
+	"jetzt",
+	"koeln",
+	"kyoto",
+	"lamer",
+	"lease",
+	"legal",
+	"lexus",
+	"lilly",
+	"lipsy",
+	"loans",
+	"locus",
+	"lotte",
+	"lotto",
+	"mango",
+	"media",
+	"miami",
+	"money",
+	"movie",
+	"music",
+	"nexus",
+	"nikon",
+	"ninja",
+	"nokia",
+	"nowtv",
+	"omega",
+	"osaka",
+	"paris",
+	"parts",
+	"party",
+	"phone",
+	"photo",
+	"pizza",
+	"place",
+	"poker",
+	"praxi",
+	"press",
+	"prime",
+	"promo",
+	"quest",
+	"radio",
+	"rehab",
+	"reise",
+	"ricoh",
+	"rocks",
+	"rodeo",
+	"rugby",
+	"salon",
+	"sener",
+	"seven",
+	"sharp",
+	"shell",
+	"shoes",
+	"skype",
+	"sling",
+	"smart",
+	"smile",
+	"solar",
+	"space",
+	"sport",
+	"stada",
+	"store",
+	"study",
+	"style",
+	"sucks",
+	"swiss",
+	"tatar",
+	"tires",
+	"tirol",
+	"tmall",
+	"today",
+	"tokyo",
+	"tools",
+	"toray",
+	"total",
+	"tours",
+	"trade",
+	"trust",
+	"tunes",
+	"tushu",
+	"ubank",
+	"vegas",
+	"video",
+	"vodka",
+	"volvo",
+	"wales",
+	"watch",
+	"weber",
+	"weibo",
+	"works",
+	"world",
+	"xerox",
+	"yahoo",
+	"abbott",
+	"abbvie",
+	"africa",
+	"agency",
+	"airbus",
+	"airtel",
+	"alipay",
+	"alsace",
+	"alstom",
+	"amazon",
+	"anquan",
+	"aramco",
+	"author",
+	"bayern",
+	"beauty",
+	"berlin",
+	"bharti",
+	"bostik",
+	"boston",
+	"broker",
 	"camera",
+	"career",
+	"casino",
+	"center",
+	"chanel",
+	"chrome",
+	"church",
+	"circle",
+	"claims",
+	"clinic",
+	"coffee",
+	"comsec",
+	"condos",
+	"coupon",
+	"credit",
+	"cruise",
+	"dating",
+	"datsun",
+	"dealer",
+	"degree",
+	"dental",
+	"design",
+	"direct",
+	"doctor",
+	"dunlop",
+	"dupont",
+	"durban",
+	"emerck",
+	"energy",
 	"estate",
-	"museum",	/* Museums */
+	"events",
+	"expert",
+	"family",
+	"flickr",
+	"futbol",
+	"gallup",
+	"garden",
+	"george",
+	"giving",
+	"global",
+	"google",
+	"gratis",
+	"health",
+	"hermes",
+	"hiphop",
+	"hockey",
+	"hotels",
+	"hughes",
+	"imamat",
+	"insure",
+	"intuit",
+	"jaguar",
+	"joburg",
+	"juegos",
+	"kaufen",
+	"kindle",
+	"kosher",
+	"latino",
+	"lawyer",
+	"lefrak",
+	"living",
+	"locker",
+	"london",
+	"luxury",
+	"madrid",
+	"maison",
+	"makeup",
+	"market",
+	"mattel",
+	"mobile",
+	"monash",
+	"mormon",
+	"moscow",
+	"museum",
+	"nagoya",
+	"nissan",
+	"nissay",
+	"norton",
+	"nowruz",
+	"office",
+	"olayan",
+	"online",
+	"oracle",
+	"orange",
+	"otsuka",
+	"pfizer",
+	"photos",
+	"physio",
+	"pictet",
+	"quebec",
+	"racing",
+	"realty",
+	"reisen",
+	"repair",
+	"report",
+	"review",
+	"rogers",
+	"ryukyu",
+	"safety",
+	"sakura",
+	"sanofi",
+	"school",
+	"schule",
+	"search",
+	"secure",
+	"select",
+	"shouji",
+	"soccer",
+	"social",
+	"stream",
+	"studio",
+	"supply",
+	"suzuki",
+	"swatch",
+	"sydney",
+	"taipei",
+	"taobao",
+	"target",
 	"tattoo",
-	"travel",	/* Travel industry */
+	"tennis",
+	"tienda",
+	"tjmaxx",
+	"tkmaxx",
+	"toyota",
+	"travel",
+	"unicom",
+	"viajes",
+	"viking",
+	"villas",
+	"virgin",
+	"vision",
+	"voting",
 	"voyage",
+	"walter",
+	"webcam",
+	"xihuan",
+	"yachts",
+	"yandex",
+	"zappos",
+	"abogado",
+	"academy",
+	"agakhan",
+	"alibaba",
+	"android",
+	"athleta",
+	"auction",
+	"audible",
+	"auspost",
+	"banamex",
+	"bauhaus",
+	"bentley",
+	"bestbuy",
+	"booking",
+	"brother",
+	"capital",
+	"caravan",
+	"careers",
+	"channel",
+	"charity",
+	"chintai",
+	"citadel",
+	"clubmed",
+	"college",
+	"cologne",
+	"company",
+	"compare",
+	"contact",
+	"cooking",
+	"corsica",
+	"country",
+	"coupons",
+	"courses",
+	"cricket",
+	"cruises",
+	"dentist",
+	"digital",
+	"domains",
+	"exposed",
+	"express",
+	"farmers",
+	"fashion",
+	"ferrari",
+	"ferrero",
+	"finance",
+	"fishing",
+	"fitness",
+	"flights",
+	"florist",
+	"flowers",
+	"forsale",
+	"frogans",
+	"fujitsu",
 	"gallery",
+	"genting",
+	"godaddy",
+	"grocery",
+	"guitars",
+	"hamburg",
+	"hangout",
+	"hitachi",
+	"holiday",
+	"hosting",
+	"hotmail",
+	"hyundai",
+	"ismaili",
+	"jewelry",
+	"juniper",
+	"kitchen",
+	"komatsu",
+	"lacaixa",
+	"lanxess",
+	"lasalle",
+	"latrobe",
+	"leclerc",
+	"limited",
+	"lincoln",
+	"markets",
+	"monster",
+	"netbank",
+	"netflix",
+	"network",
+	"neustar",
+	"okinawa",
+	"organic",
+	"origins",
+	"philips",
+	"pioneer",
+	"politie",
+	"realtor",
+	"recipes",
+	"rentals",
+	"reviews",
+	"rexroth",
+	"samsung",
+	"sandvik",
+	"schmidt",
+	"schwarz",
+	"science",
+	"shiksha",
 	"singles",
+	"staples",
+	"storage",
+	"support",
+	"surgery",
+	"systems",
+	"temasek",
+	"theater",
+	"theatre",
+	"tickets",
+	"toshiba",
+	"trading",
+	"walmart",
+	"wanggou",
+	"watches",
+	"weather",
+	"website",
+	"wedding",
+	"whoswho",
+	"windows",
+	"winners",
+	"yamaxun",
+	"youtube",
+	"zuerich",
+	"abudhabi",
+	"airforce",
+	"allstate",
+	"attorney",
+	"barclays",
+	"barefoot",
+	"bargains",
+	"baseball",
+	"boutique",
+	"bradesco",
+	"broadway",
+	"brussels",
+	"builders",
+	"business",
+	"capetown",
+	"catering",
+	"catholic",
+	"cipriani",
+	"cleaning",
+	"clinique",
 	"clothing",
+	"commbank",
+	"computer",
+	"delivery",
+	"deloitte",
+	"democrat",
+	"diamonds",
+	"discount",
+	"discover",
+	"download",
+	"engineer",
+	"ericsson",
+	"exchange",
+	"feedback",
+	"fidelity",
+	"firmdale",
+	"football",
+	"frontier",
+	"goodyear",
+	"grainger",
 	"graphics",
+	"hdfcbank",
+	"helsinki",
 	"holdings",
+	"hospital",
+	"infiniti",
+	"ipiranga",
+	"istanbul",
+	"jpmorgan",
 	"lighting",
+	"lundbeck",
+	"marriott",
+	"mckinsey",
+	"memorial",
+	"merckmsd",
+	"mortgage",
+	"observer",
+	"partners",
+	"pharmacy",
+	"pictures",
 	"plumbing",
+	"property",
+	"redstone",
+	"reliance",
+	"saarland",
+	"samsclub",
+	"security",
+	"services",
+	"shopping",
+	"softbank",
+	"software",
+	"stcgroup",
+	"supplies",
+	"training",
+	"vanguard",
 	"ventures",
+	"verisign",
+	"woodside",
+	"xn--90ae",
+	"xn--node",
+	"xn--p1ai",
+	"xn--qxam",
+	"yokohama",
+	"accenture",
+	"allfinanz",
+	"amsterdam",
+	"analytics",
+	"aquarelle",
+	"barcelona",
+	"bloomberg",
+	"christmas",
+	"community",
+	"directory",
+	"education",
 	"equipment",
+	"fairwinds",
+	"financial",
+	"firestone",
+	"fresenius",
+	"furniture",
+	"goldpoint",
+	"hisamitsu",
+	"homedepot",
+	"homegoods",
+	"homesense",
+	"institute",
+	"insurance",
+	"kuokgroup",
+	"lancaster",
+	"landrover",
+	"lifestyle",
+	"marketing",
+	"marshalls",
+	"melbourne",
+	"microsoft",
+	"panasonic",
+	"pramerica",
+	"richardli",
+	"shangrila",
+	"solutions",
+	"statebank",
+	"statefarm",
+	"stockholm",
+	"travelers",
+	"vacations",
+	"xn--90ais",
+	"xn--c1avg",
+	"xn--d1alf",
+	"xn--e1a4c",
+	"xn--fhbei",
+	"xn--j1aef",
+	"xn--j1amh",
+	"xn--l1acc",
+	"xn--ngbrx",
+	"xn--nqv7f",
+	"xn--p1acf",
+	"xn--qxa6a",
+	"xn--tckwe",
+	"xn--vhquv",
+	"yodobashi",
+	"accountant",
+	"apartments",
+	"associates",
+	"basketball",
+	"bnpparibas",
+	"boehringer",
+	"capitalone",
+	"consulting",
+	"creditcard",
+	"cuisinella",
+	"eurovision",
+	"extraspace",
+	"foundation",
+	"healthcare",
+	"immobilien",
+	"industries",
+	"management",
+	"mitsubishi",
+	"nextdirect",
+	"properties",
+	"protection",
+	"prudential",
+	"realestate",
+	"republican",
+	"restaurant",
+	"schaeffler",
+	"tatamotors",
 	"technology",
+	"university",
+	"vlaanderen",
+	"xn--30rr7y",
+	"xn--3pxu8k",
+	"xn--45q11c",
+	"xn--4gbrim",
+	"xn--55qx5d",
+	"xn--5tzm5g",
+	"xn--80aswg",
+	"xn--90a3ac",
+	"xn--9dbq2a",
+	"xn--9et52u",
+	"xn--c2br7g",
+	"xn--cg4bki",
+	"xn--czrs0t",
+	"xn--czru2d",
+	"xn--fiq64b",
+	"xn--fiqs8s",
+	"xn--fiqz9s",
+	"xn--io0a7i",
+	"xn--kput3i",
+	"xn--mxtq1m",
+	"xn--o3cw4h",
+	"xn--pssy2u",
+	"xn--q7ce6a",
+	"xn--unup4y",
+	"xn--wgbh1c",
+	"xn--wgbl6a",
+	"xn--y9a3aq",
+	"accountants",
+	"barclaycard",
+	"blackfriday",
+	"blockbuster",
+	"bridgestone",
+	"calvinklein",
 	"contractors",
+	"creditunion",
+	"engineering",
+	"enterprises",
+	"investments",
+	"kerryhotels",
+	"lamborghini",
+	"motorcycles",
+	"olayangroup",
+	"photography",
+	"playstation",
+	"productions",
+	"progressive",
+	"redumbrella",
+	"williamhill",
+	"xn--11b4c3d",
+	"xn--1ck2e1b",
+	"xn--1qqw23a",
+	"xn--2scrj9c",
+	"xn--3bst00m",
+	"xn--3ds443g",
+	"xn--3hcrj9c",
+	"xn--42c2d9a",
+	"xn--45brj9c",
+	"xn--55qw42g",
+	"xn--6frz82g",
+	"xn--80ao21a",
+	"xn--9krt00a",
+	"xn--cck2b3b",
+	"xn--czr694b",
+	"xn--d1acj3b",
+	"xn--efvy88h",
+	"xn--fct429k",
+	"xn--fjq720a",
+	"xn--flw351e",
+	"xn--g2xx48c",
+	"xn--gecrj9c",
+	"xn--gk3at1e",
+	"xn--h2brj9c",
+	"xn--hxt814e",
+	"xn--imr513n",
+	"xn--j6w193g",
+	"xn--jvr189m",
+	"xn--kprw13d",
+	"xn--kpry57d",
+	"xn--mgbbh1a",
+	"xn--mgbtx2b",
+	"xn--mix891f",
+	"xn--nyqy26a",
+	"xn--otu796d",
+	"xn--pgbs0dh",
+	"xn--q9jyb4c",
+	"xn--rhqv96g",
+	"xn--rovu88b",
+	"xn--s9brj9c",
+	"xn--ses554g",
+	"xn--t60b56a",
+	"xn--vuq861b",
+	"xn--w4rs40l",
+	"xn--xhq521b",
+	"xn--zfr164b",
 	"construction",
-	/*
-	 * more gTLDs to come, proposed are:
-	 *  .kids     .mail     .catholic
-	 *  (.berlin) (.sco)    (.bzh)    (.cym)    (.gal)
-	 */
+	"lplfinancial",
+	"scholarships",
+	"versicherung",
+	"xn--3e0b707e",
+	"xn--45br5cyl",
+	"xn--4dbrk0ce",
+	"xn--80adxhks",
+	"xn--80asehdb",
+	"xn--8y0a063a",
+	"xn--gckr3f0f",
+	"xn--mgb9awbf",
+	"xn--mgbab2bd",
+	"xn--mgbgu82a",
+	"xn--mgbpl2fh",
+	"xn--mgbt3dhd",
+	"xn--mk1bu44c",
+	"xn--ngbc5azd",
+	"xn--ngbe9e0a",
+	"xn--ogbpf8fl",
+	"xn--qcka1pmc",
+	"international",
+	"lifeinsurance",
+	"wolterskluwer",
+	"xn--cckwcxetd",
+	"xn--eckvdtc9d",
+	"xn--fpcrj9c3d",
+	"xn--fzc2c9e2c",
+	"xn--h2brj9c8c",
+	"xn--tiq49xqyj",
+	"xn--yfro4i67o",
+	"xn--ygbi2ammx",
+	"americanfamily",
+	"kerrylogistics",
+	"weatherchannel",
+	"xn--54b7fta0cc",
+	"xn--6qq986b3xl",
+	"xn--80aqecdr1a",
+	"xn--b4w605ferd",
+	"xn--fiq228c5hs",
+	"xn--h2breg3eve",
+	"xn--jlq480n2rg",
+	"xn--mgba3a3ejt",
+	"xn--mgbaam7a8h",
+	"xn--mgbayh7gpa",
+	"xn--mgbbh1a71e",
+	"xn--mgbca7dzdo",
+	"xn--mgbi4ecexp",
+	"xn--mgbx4cd0ab",
+	"xn--rvc1e0am3e",
+	"americanexpress",
+	"kerryproperties",
+	"sandvikcoromant",
+	"xn--i1b6b1a6a2e",
+	"xn--kcrx77d1x4a",
+	"xn--lgbbat1ad8j",
+	"xn--mgba3a4f16a",
+	"xn--mgbc0a9azcg",
+	"xn--nqv7fs00ema",
+	"xn--fzys8d69uvgm",
+	"xn--mgba7c0bbn0a",
+	"xn--mgbcpq6gpa1a",
+	"xn--xkc2al3hye2a",
+	"xn--5su34j936bgsg",
+	"xn--bck1b9a5dre4c",
+	"xn--mgbah1a3hjkrd",
+	"xn--mgbai9azgqp6j",
+	"xn--mgberp4a5d4ar",
+	"xn--xkc2dl3a5ee0h",
+	"travelersinsurance",
+	"xn--w4r85el8fhu5dnra",
+	"xn--clchc0ea0b2g2a9gcd",
 #	if 0		/* $DEAD */
 	"nato",
 	"uucp",
@@ -335,74 +1489,13 @@ static const char *gnksa_domain_list[] =
 #	if 0
 	/* but four of them shouldn't be used on usenet */
 	"test",
-	"onion",			/* RFC 7686 */
+	"onion",	/* RFC 7686 */
 	"example",
 	"localhost",
 #	endif /* 0 */
 #	ifdef TINC_DNS
-	"bofh",	/* There Is No Cabal */
+	"bofh",		/* There Is No Cabal */
 #	endif /* TINC_DNS */
-	/* active IDN ccTLDs */
-	"xn--lgbbat1ad8j",	/* Algeria */
-	"xn--fiqs8s",		/* China, Simplified Chinese */
-	"xn--fiqz9s",		/* China, Traditional Chinese */
-	"xn--wgbh1c",		/* Egypt */
-	"xn--j6w193g",		/* Hong Kong, Han */
-	"xn--45brj9c",		/* India, Bengali */
-	"xn--gecrj9c",		/* India, Gujarati */
-	"xn--h2brj9c",		/* India, Hindi */
-	"xn--s9brj9c",		/* India, Punjabi */
-	"xn--xkc2dl3a5ee0h",	/* India, Tamil */
-	"xn--fpcrj9c3d",	/* India, Telugu */
-	"xn--mgbbh1a71e",	/* India, Urdu */
-	"xn--mgba3a4f16a",  /* Iran */
-	"xn--mgbayh7gpa",	/* Jordan */
-	"xn--80ao21a",		/* Kazakhstan */
-	"xn--3e0b707e",		/* Korea, Republic of */
-	"xn--mgbx4cd0ab",	/* Malaysia */
-	"xn--l1acc",		/* Mongolia */
-	"xn--mgbc0a9azcg",	/* Morocco */
-	"xn--mgb9awbf",		/* Oman */
-	"xn--ygbi2ammx",	/* Palestinian Territory */
-	"xn--wgbl6a",		/* Qatar */
-	"xn--p1ai",			/* Russian Federation */
-	"xn--mgberp4a5d4ar",	/* Saudi Arabia */
-	"xn--90a3ac",		/* Serbia */
-	"xn--yfro4i67o",	/* Singapore, Chinese */
-	"xn--clchc0ea0b2g2a9gcd",	/* Singapore, Tamil */
-	"xn--fzc2c9e2c",	/* Sri Lanka, Sinhala */
-	"xn--xkc2al3hye2a",	/* Sri Lanka, Tamil */
-	"xn--ogbpf8fl",		/* Syrian Arab Republic */
-	"xn--kpry57d",		/* Taiwan, Simplified Chinese */
-	"xn--kprw13d",		/* Taiwan, Traditional Chinese */
-	"xn--o3cw4h",		/* Thailand */
-	"xn--pgbs0dh",		/* Tunisia */
-	"xn--j1amh",		/* Ukraine */
-	"xn--mgbaam7a8h",	/* United Arab Emirates */
-#	if 0
-	/* purposed IDN ccTLDs */
-	"xn--54b7fta0cc",	/* Bangladesh */
-	"xn--node",			/* Georgia */
-	"xn--mgbai9azgqp6j",	/* Pakistan */
-	"xn--mgbpl2fh",		/* Sudan */
-	"xn--mgb2ddes",		/* Yemen */
-#	endif /* 0 */
-#	if 0
-	/* Desired Variant String(s) IDN ccTLDs */
-	"xn--mgba3a4fra",	/* Iran */
-	"xn--mgbai9a5eva00b",	/* Pakistan */
-	"xn--mgberp4a5d4a87g",	/* Saudi Arabia */
-	"xn--mgbqly7c0a67fbc",	/* Saudi Arabia */
-	"xn--mgbqly7cvafr",	/* Saudi Arabia */
-	"xn--mgbtf8fl",		/* Syria */
-	"xn--nnx388a",		/* Taiwan */
-#	endif /* 0 */
-	/* active IDN gTLDs */
-	"xn--ngbc5azd",		/* Arabic for "web/network" */
-	"xn--80asehdb",		/* Cyrillic for "online" */
-	"xn--80aswg",		/* Cyrillic for "site" */
-	"xn--unup4y",		/* Chinese for "game(s)" */
-	/* puposed IDN gTLDs */
 	/* sentinel */
 	""
 };
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/proto.h tin-2.6.4/include/proto.h
--- tin-2.6.3/include/proto.h	2023-12-24 00:38:35.000000000 +0100
+++ tin-2.6.4/include/proto.h	2024-12-05 04:03:46.906618030 +0100
@@ -3,10 +3,10 @@
  *  Module    : proto.h
  *  Author    : Urs Janssen <urs@tin.org>
  *  Created   :
- *  Updated   : 2023-11-22
+ *  Updated   : 2024-12-05
  *  Notes     :
  *
- * Copyright (c) 1997-2024 Urs Janssen <urs@tin.org>
+ * Copyright (c) 1997-2025 Urs Janssen <urs@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -48,19 +48,13 @@
 #	include "options_menu.h"
 #endif /* !OPTIONS_MENU_H */
 
-/* This fixes ambiguities on platforms that don't distinguish extern case */
-#ifdef CASE_PROBLEM
-#	define Raw tin_raw
-#	define EndWin tin_EndWin
-#endif /* CASE_PROBLEM */
-
 /* active.c */
 extern char group_flag(char ch);
 extern int find_newnews_index(const char *cur_newnews_host);
-extern int read_news_active_file(void);
+extern int read_news_active_file(t_bool check_any_unread);
 extern t_bool match_group_list(const char *group, const char *group_list);
 extern t_bool parse_active_line(char *line, t_artnum *max, t_artnum *min, char *moderated);
-extern t_bool process_bogus(char *name);
+extern t_bool process_bogus(const char *name);
 extern t_bool need_reread_active_file(void);
 extern t_bool resync_active_file(void);
 extern void create_save_active_file(void);
@@ -73,7 +67,8 @@ extern int global_get_multiparts(int ain
 extern t_bool global_look_for_multipart(int aindex, char start, char stop);
 extern t_bool index_group(struct t_group *group);
 extern void do_update(t_bool catchup);
-extern void find_base(struct t_group *group);
+extern void find_base(const struct t_group *group);
+extern void free_mailbox_list(struct t_mailbox *mb);
 extern void make_threads(struct t_group *group, t_bool rethread);
 extern void set_article(struct t_article *art);
 extern void show_art_msg(const char *group);
@@ -81,9 +76,9 @@ extern void sort_arts(unsigned /* int */
 
 /* attrib.c */
 extern int add_scope(const char *scope);
+extern t_bool read_attributes_file(t_bool global_file);
 extern void assign_attributes_to_groups(void);
 extern void build_news_headers_array(struct t_attribute *scope, t_bool header_to_display);
-extern void read_attributes_file(t_bool global_file);
 extern void write_attributes_file(const char *file);
 
 /* auth.c */
@@ -93,12 +88,19 @@ extern void write_attributes_file(const
 
 /* charset.c */
 extern char *convert_to_printable(char *buf, t_bool keep_tab);
+#ifdef CHARSET_CONVERSION
+#	ifdef USE_ICU_UCSDET
+	extern char *guess_charset(const char *sample, int32_t confidence);
+#	endif /* USE_ICU_UCSDET */
+#endif /* CHARSET_CONVERSION */
+extern t_bool charset_unsupported(const char *charset);
 extern t_bool is_art_tex_encoded(FILE *fp);
 extern void convert_iso2asc(char *iso, char **asc_buffer, size_t *max_line_len, int t);
 extern void convert_tex2iso(char *from, char *to);
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 	extern wchar_t *wconvert_to_printable(wchar_t *wbuf, t_bool keep_tab);
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+extern const char *validate_charset(const char *charset);
 
 /* color.c */
 extern void draw_pager_line(const char *str, int flags, t_bool raw_data);
@@ -111,21 +113,22 @@ extern void draw_pager_line(const char *
 #endif /* HAVE_COLOR */
 
 /* config.c */
-extern char **ulBuildArgv(char *cmd, int *new_argc);
+extern char **ulBuildArgv(const char *cmd, int *new_argc);
 extern char *quote_space_to_dash(const char *str);
 extern const char *print_boolean(t_bool value);
 extern t_bool match_boolean(char *line, const char *pat, t_bool *dst);
-extern t_bool match_integer(char *line, const char *pat, int *dst, int maxval);
+extern t_bool match_integer(const char *line, const char *pat, int *dst, int maxval);
 extern t_bool match_list(char *line, constext *pat, constext *const *table, int *dst);
-extern t_bool match_long(char *line, const char *pat, long *dst);
+extern t_bool match_long(const char *line, const char *pat, long *dst);
 extern t_bool match_string(char *line, const char *pat, char *dst, size_t dstlen);
+extern t_bool match_string_ptr(char *line, const char *pat, char **dst);
 extern t_bool read_config_file(char *file, t_bool global_file);
 extern void quote_dash_to_space(char *str);
 extern void read_server_config(void);
-extern void write_config_file(char *file);
+extern void write_config_file(const char *file);
 
 /* cook.c */
-extern char *build_attach_line(t_part *part, int depth, int max_len, int is_uue, const char *name, const char *charset);
+extern char *build_attach_line(const t_part *part, int depth, int max_len, int is_uue, const char *name, const char *charset);
 extern const char *get_filename(t_param *ptr);
 extern t_bool cook_article(t_bool wrap_lines, t_openartinfo *artinfo, int hide_uue, t_bool show_all_headers);
 extern t_bool expand_ctrl_chars(char **line, size_t *length, size_t lcook_width);
@@ -198,7 +201,7 @@ extern t_bool filter_articles(struct t_g
 extern t_bool filter_menu(t_function type, struct t_group *group, struct t_article *art);
 extern t_bool filter_on_path(struct t_group *group);
 extern t_bool quick_filter(t_function type, struct t_group *group, struct t_article *art);
-extern t_bool quick_filter_select_posted_art(struct t_group *group, const char *subj, const char *a_message_id);
+extern t_bool quick_filter_select_posted_art(const struct t_group *group, const char *subj, const char *a_message_id);
 extern t_bool read_filter_file(const char *file);
 extern void free_filter_array(struct t_filters *ptr);
 #if defined(SIGWINCH) || defined(SIGTSTP)
@@ -251,9 +254,9 @@ extern void toggle_mini_help(int level);
 extern const char *get_domain_name(void);
 extern const char *get_fqdn(const char *host);
 extern const char *get_host_name(void);
-#ifndef FORGERY
+#if !defined(FORGERY) && defined(NNTP_ABLE)
 	extern char *build_sender(void);
-#endif /* !FORGERY */
+#endif /* !FORGERY && NNTP_ABLE */
 
 /* heapsort.c */
 #ifndef HAVE_HEAPSORT
@@ -262,8 +265,7 @@ extern const char *get_host_name(void);
 
 /* inews.c */
 extern t_bool submit_news_file(char *name, struct t_group *group, char *a_message_id);
-extern void get_from_name(char *from_name, struct t_group *thisgrp);
-extern void get_user_info(char *user_name, char *full_name);
+extern void get_from_name(char *from_name, const struct t_group *thisgrp);
 
 /* init.c */
 extern void init_selfinfo(void);
@@ -304,12 +306,12 @@ extern t_bool dot_unlock(const char *fil
 #endif /* 0 */
 
 /* mail.c */
-extern t_bool art_edit(struct t_group *group, struct t_article *article);
+extern t_bool art_edit(const struct t_group *group, const struct t_article *article);
 extern void find_art_max_min(const char *group_path, t_artnum *art_max, t_artnum *art_min);
 extern void print_active_head(const char *active_file);
 extern void print_group_line(FILE *fp, const char *group_name, t_artnum art_max, t_artnum art_min, const char *base_dir);
 extern void read_descriptions(t_bool verb);
-extern void grp_del_mail_arts(struct t_group *group);
+extern void grp_del_mail_arts(const struct t_group *group);
 extern void grp_del_mail_art(struct t_article *article);
 #ifdef HAVE_MH_MAIL_HANDLING
 	extern void read_mail_active_file(void);
@@ -319,6 +321,7 @@ extern void grp_del_mail_art(struct t_ar
 /* main.c */
 extern int main(int argc, char *argv[]);
 extern int read_cmd_line_groups(void);
+extern void handle_cmdargs(t_bool init);
 extern _Noreturn void giveup(void);
 
 /* memory.c */
@@ -348,6 +351,7 @@ extern void lookup_mimetype(const char *
 extern t_bool lookup_extension(char *extension, size_t ext_len, const char *major, const char *minor);
 
 /* misc.c */
+extern FILE *tin_fopen(const char *pathname, const char *mode);
 extern char *buffer_to_ascii(char *c);
 extern char *escape_shell_meta(const char *source, int quote_area);
 extern char *get_tmpfilename(const char *filename);
@@ -355,35 +359,36 @@ extern char *idna_decode(char *in);
 extern char *quote_wild(char *str);
 extern char *quote_wild_whitespace(char *str);
 extern char *strip_line(char *line);
+extern char *split_mailbox_list(char *from);
 extern const char *eat_re(char *s, t_bool eat_was);
 extern const char *get_val(const char *env, const char *def);
 extern const char *gnksa_strerror(int errcode);
-extern const char *validate_charset(const char *charset);
-extern int gnksa_check_from(char *from);
+extern int gnksa_check_from(const char *from);
 extern int gnksa_split_from(const char *from, char *address, char *realname, int *addrtype);
 extern int get_initials(struct t_article *art, char *s, int maxsize);
 extern int gnksa_do_check_from(const char *from, char *address, char *realname);
-extern int my_mkdir(char *path, mode_t mode);
+extern int my_mkdir(const char *path, mode_t mode);
 extern int parse_from(const char *from, char *address, char *realname);
+extern int rndm(void);
 extern int strfmailer(const char *mail_prog, char *subject, char *to, const char *filename, char *dest, size_t maxsize, const char *format);
 extern int strfpath(const char *format, char *str, size_t maxsize, struct t_group *group, t_bool expand_all);
 extern int strfquote(const char *group, int respnum, char *s, size_t maxsize, char *format);
-extern int tin_version_info(FILE *fp);
+extern int tin_version_info(FILE *fp, int verb);
 extern int tin_gettime(struct t_tintime *tt);
 extern long file_mtime(const char *file);
 extern long file_size(const char *file);
 extern t_bool backup_file(const char *filename, const char *backupname);
-extern t_bool copy_fp(FILE *fp_ip, FILE *fp_op);
+extern int copy_fp(FILE *fp_ip, FILE *fp_op);
 extern t_bool invoke_cmd(const char *nam);
-extern t_bool invoke_editor(const char *filename, int lineno, struct t_group *group);
+extern t_bool invoke_editor(const char *filename, int lineno, const struct t_group *group);
 extern t_bool mail_check(const char *mailbox_name);
-extern void append_file(char *old_filename, char *new_filename);
+extern int append_file(const char *old_filename, const char *new_filename);
 #ifndef NDEBUG
 	extern _Noreturn void asfail(const char *file, int line, const char *cond);
-#endif /* ! NDEBUG */
+#endif /* !NDEBUG */
 extern void base_name(const char *fullpath, char *file);
 extern void cleanup_tmp_files(void);
-extern void copy_body(FILE *fp_ip, FILE *fp_op, char *prefix, char *initl, t_bool raw_data);
+extern void copy_body(FILE *fp_ip, FILE *fp_op, char *prefix, const char *initl, t_bool raw_data);
 extern void create_index_lock_file(char *the_lock_file);
 extern void dir_name(const char *fullpath, char *dir);
 extern void draw_mark_selected(int i);
@@ -392,13 +397,14 @@ extern void get_cwd(char *buf);
 extern void show_connection_page(void);
 extern void make_base_group_path(const char *base_dir, const char *group_name, char *group_path, size_t group_path_len);
 extern void make_group_path(const char *name, char *path);
-extern void process_charsets(char **line, size_t *max_line_len, const char *network_charset, const char *local_charset, t_bool conv_tex2iso);
+extern void process_charsets(char **line, size_t *max_line_len, const char *from_charset, const char *to_charset, t_bool conv_tex2iso);
 extern void read_input_history_file(void);
-extern void rename_file(const char *old_filename, const char *new_filename);
+extern int rename_file(const char *old_filename, const char *new_filename);
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 	extern void remove_soft_hyphens(char *line);
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 extern void show_inverse_video_status(void);
+extern void srndm(void);
 extern void strip_name(const char *from, char *address);
 extern _Noreturn void tin_done(int ret, const char *fmt, ...);
 extern void toggle_inverse_video(void);
@@ -409,30 +415,34 @@ extern void toggle_inverse_video(void);
 	extern int my_isprint(int c);
 #endif /* NO_LOCALE || !MULTIBYTE_ABLE */
 #ifdef CHARSET_CONVERSION
-	extern t_bool buffer_to_network(char *line, int mmnwcharset);
+	extern t_bool buffer_to_network(char **line, int mmnwcharset);
 #endif /* CHARSET_CONVERSION */
 #ifdef HAVE_COLOR
 	extern t_bool toggle_color(void);
 	extern void show_color_status(void);
 #endif /* HAVE_COLOR */
 #ifdef HAVE_ISPELL
-	extern t_bool invoke_ispell(const char *nam, struct t_group *group);
+	extern t_bool invoke_ispell(const char *nam, const struct t_group *group);
 #endif /* HAVE_ISPELL */
 #ifndef NO_SHELL_ESCAPE
 	extern void shell_escape(void);
 	extern void do_shell_escape(void);
 #endif /* !NO_SHELL_ESCAPE */
 
+/* my_tmpfile.c */
+extern int my_mktmp(char *filename, size_t name_size, const char *base_dir);
+extern FILE *my_tmpfile(void);
+
 /* newsrc.c */
-extern int group_get_art_info(char *tin_spooldir, char *groupname, int grouptype, t_artnum *art_count, t_artnum *art_max, t_artnum *art_min);
+extern int group_get_art_info(const char *tin_spooldir, const char *groupname, int grouptype, t_artnum *art_count, t_artnum *art_max, t_artnum *art_min);
 extern signed long int read_newsrc(char *newsrc_file, t_bool allgroups);
 extern signed long int write_newsrc(void);
-extern t_bool pos_group_in_newsrc(struct t_group *group, int pos);
+extern t_bool pos_group_in_newsrc(const struct t_group *group, int pos);
 extern void art_mark(struct t_group *group, struct t_article *art, int flag);
 extern void backup_newsrc(void);
 extern void bulk_subscribe(struct t_group **groups, int groups_cnt, int sub_state, t_bool get_info);
 extern void catchup_newsrc_file(void);
-extern void delete_group(char *group);
+extern void delete_group(const char *group);
 extern void expand_bitmap(struct t_group *group, t_artnum min);
 extern void grp_mark_read(struct t_group *group, struct t_article *art);
 extern void grp_mark_unread(struct t_group *group);
@@ -454,7 +464,7 @@ extern void nntp_close(t_bool send_no_qu
 	extern int get_respcode(char *, size_t);
 	extern int get_only_respcode(char *, size_t);
 	extern int new_nntp_command(const char *command, int success, char *message, size_t mlen);
-	extern void put_server(const char *string);
+	extern void put_server(const char *string, t_bool hide_from_log);
 	extern void u_put_server(const char *string);
 	extern int fgetc_server(FILE *stream);
 	extern int ungetc_server(int c, FILE *stream);
@@ -465,15 +475,15 @@ extern void nntp_close(t_bool send_no_qu
 #endif /* NNTP_ABLE */
 
 /* nntps.c */
-	extern int tintls_init(void);
-	extern void tintls_exit(void);
+extern int tintls_init(void);
+extern void tintls_exit(void);
 #if defined(NNTP_ABLE) && defined(NNTPS_ABLE)
 	extern int tintls_open(const char *servername, int fd, void **session_ctx);
 	extern int tintls_close(void *session_ctx);
 	extern int tintls_handshake(void *session_ctx);
 	extern ssize_t tintls_read(void *session_ctx, void *buf, size_t count);
 	extern ssize_t tintls_write(void *session_ctx, const void *buf, size_t count);
-	extern int tintls_conninfo(void *session_ctx, FILE *stream);
+	extern int tintls_conninfo(void *session_ctx, FILE *fp);
 #endif /* NNTP_ABLE && NNTPS_ABLE */
 
 /* nrctbl.c */
@@ -486,6 +496,7 @@ extern t_bool get_newsrcname(char *newsr
 extern char *fmt_option_prompt(char *dst, size_t len, t_bool editing, enum option_enum option);
 extern void config_page(const char *grpname, enum context level);
 extern int option_row(enum option_enum option);
+extern t_bool option_is_default(enum option_enum option);
 extern t_bool option_is_visible(enum option_enum option);
 extern void check_score_defaults(void);
 extern void refresh_config_page(enum option_enum act_option);
@@ -496,6 +507,7 @@ extern int show_page(struct t_group *gro
 extern void display_info_page(int part);
 extern void draw_page(int part);
 extern void info_pager(FILE *info_fh, const char *title, t_bool wrap_at_ends);
+extern void log_article_info(t_openartinfo *artinfo);
 extern void resize_article(t_bool wrap_lines, t_openartinfo *artinfo);
 extern void update_hide_uue(void);
 extern void toggle_raw(void);
@@ -507,20 +519,13 @@ extern time_t parsedate(char *p, TIMEINF
 #ifdef HAVE_PGP_GPG
 	extern t_bool pgp_check_article(t_openartinfo *artinfo);
 	extern void init_pgp(void);
-	extern void invoke_pgp_mail(const char *nam, char *mail_to);
-	extern void invoke_pgp_news(char *artfile);
+	extern void invoke_pgp_mail(const char *nam, const char *mail_to);
+	extern void invoke_pgp_news(const char *artfile);
 #endif /* HAVE_PGP_GPG */
 
-/* plp_snprintf.c */
-#ifndef HAVE_SNPRINTF
-	extern int plp_snprintf(char *, size_t, const char *, ...);
-#endif /* !HAVE_SNPRINTF */
-#ifndef HAVE_VSNPRINTF
-	extern int plp_vsnprintf(char *, size_t, const char *, va_list);
-#endif /* !HAVE_VSNPRINTF */
-
 /* post.c */
-extern char *checknadd_headers(const char *infile, struct t_group *group);
+extern char *checknadd_headers(const char *infile, const struct t_group *group);
+extern int check_mailbox_list(char *line, const char *header, int charset, int *errors);
 extern int count_postponed_articles(void);
 extern int mail_to_author(const char *group, int respnum, t_bool copy_text, t_bool with_headers, t_bool raw_data);
 extern int mail_to_someone(const char *address, t_bool confirm_to_mail, t_openartinfo *artinfo, const struct t_group *group);
@@ -545,12 +550,13 @@ extern void quick_post_article(t_bool po
 
 /* prompt.c */
 extern char *prompt_string_default(const char *prompt, char *def, const char *failtext, int history);
+extern char *prompt_string_ptr_default(const char *prompt, char **def, const char *failtext, int history);
 extern char *sized_message(char **result, const char *format, const char *subject);
 extern int prompt_num(int ch, const char *prompt);
 extern int prompt_yn(const char *prompt, t_bool default_answer);
 extern int prompt_msgid(void);
-extern t_bool prompt_default_string(const char *prompt, char *buf, int buf_len, char *default_prompt, int which_hist);
-extern t_bool prompt_menu_string(int line, const char *prompt, char *var);
+extern t_bool prompt_default_string(const char *prompt, char *buf, int buf_len, const char *default_prompt, int which_hist);
+extern t_bool prompt_menu_string(int line, const char *prompt, char **var);
 extern t_bool prompt_option_char(enum option_enum option);
 extern t_bool prompt_option_list(enum option_enum option);
 extern t_bool prompt_option_num(enum option_enum option);
@@ -574,7 +580,7 @@ extern char *tin_fgets(FILE *fp, t_bool
 extern char *get_references(struct t_msgid *refptr);
 extern struct t_msgid *find_msgid(const char *msgid);
 extern t_bool valid_msgid(char *msgid);
-extern void build_references(struct t_group *group);
+extern void build_references(const struct t_group *group);
 extern void clear_art_ptrs(void);
 extern void collate_subjects(void);
 extern void free_msgids(void);
@@ -583,11 +589,9 @@ extern void thread_by_reference(void);
 /* regex.c */
 extern t_bool compile_regex(const char *regex, struct regex_cache *cache, REGEX_OPTIONS options);
 extern t_bool match_regex(const char *string, char *pattern, struct regex_cache *cache, t_bool icase);
-extern int match_regex_ex(const char *string, int length, int offset, REGEX_OPTIONS options, struct regex_cache *regex);
-
+extern int match_regex_ex(const char *string, REGEX_SIZE length, REGEX_SIZE offset, REGEX_OPTIONS options, struct regex_cache *regex);
 extern REGEX_NOFFSET regex_get_ovector_count(struct regex_cache *regex);
 extern REGEX_SIZE *regex_get_ovector_pointer(struct regex_cache *regex);
-
 extern void highlight_regexes(int row, struct regex_cache *regex, int color);
 extern void regex_cache_init(struct regex_cache *regex);
 extern void regex_cache_destroy(struct regex_cache *regex);
@@ -603,11 +607,12 @@ extern int read_decoded_qp_line(FILE *fi
 extern void rfc1521_encode(char *line, FILE *f, int e);
 
 /* rfc2046.c */
-extern FILE *open_art_fp(struct t_group *group, t_artnum art);
+extern FILE *open_art_fp(const struct t_group *group, t_artnum art);
 extern const char *get_param(t_param *list, const char *name);
 extern char *parse_header(char *buf, const char *pat, t_bool decode, t_bool structured, t_bool keep_tab);
-extern int art_open(t_bool wrap_lines, struct t_article *art, struct t_group *group, t_openartinfo *artinfo, t_bool show_progress_meter, const char *pmesg);
-extern int content_type(char *type);
+extern char *parse_mb_list_header(char *buf, const char *pat);
+extern int art_open(t_bool wrap_lines, const struct t_article *art, const struct t_group *group, t_openartinfo *artinfo, t_bool show_progress_meter, const char *pmesg);
+extern int content_type(const char *type);
 extern int parse_rfc822_headers(struct t_header *hdr, FILE *from, FILE *to);
 extern t_param *new_params(void);
 extern t_part *new_part(t_part *part);
@@ -615,6 +620,7 @@ extern void art_close(t_openartinfo *art
 extern void free_and_init_header(struct t_header *hdr);
 extern void free_list(t_param *list);
 extern void free_parts(t_part *ptr);
+extern void remove_comments(char *source);
 extern void unfold_header(char *line);
 
 /* rfc2047.c */
@@ -656,11 +662,11 @@ extern void close_msglog(void);
 
 /* search.c */
 extern enum option_enum search_config(t_bool forward, t_bool repeat, enum option_enum current, enum option_enum last);
-extern int get_search_vectors(int *start, int *end);
+extern int get_search_vectors(REGEX_SIZE *start, REGEX_SIZE *end);
 extern int search(t_function func, int current_art, t_bool repeat);
 extern int search_active(t_bool forward, t_bool repeat);
 extern int search_article(t_bool forward, t_bool repeat, int start_line, int lines, t_lineinfo *line, int reveal_ctrl_l_lines, FILE *fp);
-extern int search_body(struct t_group *group, int current_art, t_bool repeat);
+extern int search_body(const struct t_group *group, int current_art, t_bool repeat);
 extern int generic_search(t_bool forward, t_bool repeat, int current, int last, int level);
 extern void reset_srch_offsets(void);
 
@@ -668,10 +674,10 @@ extern void reset_srch_offsets(void);
 extern int add_my_group(const char *group, t_bool add, t_bool ignore_case);
 extern int choose_new_group(void);
 #ifdef NNTP_ABLE
-	extern int show_article_by_msgid(char *messageid);
+	extern int show_article_by_msgid(const char *messageid);
 #endif /* NNTP_ABLE */
 extern int skip_newgroups(void);
-extern void selection_page(int start_groupnum, int num_cmd_line_groups);
+extern _Noreturn void selection_page(int start_groupnum, int num_cmd_line_groups);
 extern void show_selection_page(void);
 extern void toggle_my_groups(const char *group);
 
@@ -688,18 +694,23 @@ extern void set_signal_catcher(int flag)
 extern void set_signal_handlers(void);
 
 /* strftime.c */
-extern size_t my_strftime(char *s, size_t maxsize, const char *format, struct tm *timeptr);
+extern size_t my_strftime(char *s, size_t maxsize, const char *format, const struct tm *timeptr);
 
 /* string.c */
+extern char *append_to_string(char *dst, const char *src);
 extern char *eat_tab(char *s);
 extern char *fmt_string(const char *fmt, ...);
-extern char *my_strdup(const char *str);
+#if !defined(USE_DMALLOC) || (defined(USE_DMALLOC) && !defined(HAVE_STRDUP))
+	extern char *my_strdup(const char *str);
+	extern char *my_strndup(const char *str, size_t n);
+#endif /* !USE_DMALLOC || (USE_DMALLOC && !HAVE_STRDUP) */
 extern char *str_trim(char *string);
-extern char *strunc(const char *message, int len);
-extern char *tin_ltoa(t_artnum value, int digits);
+extern char *strunc(const char *message, size_t len);
+extern char *tin_ltoa(t_artnum value, size_t digits);
 extern char *tin_strtok(char *str, const char *delim);
 extern int sh_format(char *dst, size_t len, const char *fmt, ...);
 extern int strwidth(const char *str);
+extern signed int s2i(const char *s, signed int min, signed int max);
 extern size_t mystrcat(char **t, const char *s);
 extern void my_strncpy(char *p, const char *q, size_t n);
 extern void parse_format_string(const char *fmtstr, struct t_fmt *fmt);
@@ -720,7 +731,7 @@ extern int my_toupper(int);
 #endif /* !HAVE_STRSTR */
 #ifndef HAVE_STRCASECMP
 	extern int strcasecmp(const char *p, const char *q);
-#endif /* !HAVE STRCASECMP */
+#endif /* !HAVE_STRCASECMP */
 #ifndef HAVE_STRNCASECMP
 	extern int strncasecmp(const char *p, const char *q, size_t n);
 #endif /* !HAVE_STRNCASECMP */
@@ -732,7 +743,7 @@ extern int my_toupper(int);
 #endif /* !HAVE_ATOL */
 #ifndef HAVE_STRTOL
 	extern long strtol(const char *str, char **ptr, int use_base);
-#endif /* !HAVE STRTOL */
+#endif /* !HAVE_STRTOL */
 #ifndef HAVE_STRERROR
 	extern char *my_strerror(int n);
 #	define strerror(n) my_strerror(n)
@@ -742,17 +753,18 @@ extern int my_toupper(int);
 #	define strrstr(s,p)	my_strrstr(s,p)
 #endif /* !HAVE_STRRSTR */
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-	extern char *spart(const char *str, int columns, t_bool pad);
+	extern char *spart(const char *str, size_t columns, t_bool pad);
 	extern char *wchar_t2char(const wchar_t *wstr);
 	extern wchar_t *abbr_wcsgroupname(const wchar_t *grpname, int len);
 	extern wchar_t *char2wchar_t(const char *str);
-	extern wchar_t *wcspart(const wchar_t *wstr, int columns, t_bool pad);
-	extern wchar_t *wexpand_tab(wchar_t *wstr, size_t tab_width);
-	extern wchar_t *wstrunc(const wchar_t *wmessage, int len);
+	extern wchar_t *my_wcsdup(const wchar_t *wstr);
+	extern wchar_t *wcspart(const wchar_t *wstr, size_t columns, t_bool pad);
+	extern wchar_t *wexpand_tab(const wchar_t *wstr, size_t tab_width);
+	extern wchar_t *wstrunc(const wchar_t *wmessage, size_t len);
 #else
 	extern char *abbr_groupname(const char *grpname, size_t len);
-	extern char *expand_tab(char *str, size_t tab_width);
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+extern char *expand_tab(const char *str, size_t tab_width);
 #if defined(HAVE_LIBICUUC) && defined(MULTIBYTE_ABLE) && defined(HAVE_UNICODE_UBIDI_H) && !defined(NO_LOCALE)
 	extern char *render_bidi(const char *str, t_bool *is_rtl);
 #endif /* HAVE_LIBICUUC && MULTIBYTE_ABLE && HAVE_UNICODE_UBIDI_H && !NO_LOCALE */
@@ -776,14 +788,6 @@ extern void undo_auto_select_arts(void);
 extern void undo_selections(void);
 extern void untag_article(long art);
 
-/* tmpfile.c */
-#ifndef HAVE_TMPFILE
-	extern FILE *tmpfile(void);
-#endif /* !HAVE_TMPFILE */
-
-/* my_tmpfile.c */
-extern int my_tmpfile(char *filename, size_t name_size, const char *base_dir);
-
 /* thread.c */
 extern int find_response(int i, int n);
 extern int get_score_of_thread(int n);
@@ -797,13 +801,13 @@ extern int prev_unread(int n);
 extern int stat_thread(int n, struct t_art_stat *sbuf);
 extern int which_response(int n);
 extern int which_thread(int n);
-extern int thread_page(struct t_group *group, int respnum, int thread_depth, t_pagerinfo *page);
+extern int thread_page(struct t_group *group, int respnum, int thread_depth, const t_pagerinfo *page);
 extern t_bool thread_mark_postprocess(int function, t_function feed_type, int respnum);
 extern void fixup_thread(int respnum, t_bool redraw);
 
 /* version.c */
-extern struct t_version *check_upgrade(char *line, const char *skip, const char *version);
-extern void upgrade_prompt_quit(struct t_version *upgrade, const char *file);
+extern struct t_version *check_upgrade(const char *line, const char *skip, const char *version);
+extern void upgrade_prompt_quit(struct t_version *upgrade, const char *file, FILE *fp);
 
 /* wildmat.c */
 extern t_bool wildmat(const char *text, char *p, t_bool icase);
@@ -813,7 +817,7 @@ extern t_bool wildmatpos(const char *tex
 #ifdef XFACE_ABLE
 	extern void slrnface_stop(void);
 	extern void slrnface_start(void);
-	extern void slrnface_display_xface(char *face);
+	extern void slrnface_display_xface(const char *face);
 	extern void slrnface_clear_xface(void);
 	extern void slrnface_suppress_xface(void);
 	extern void slrnface_show_xface(void);
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/rfc2046.h tin-2.6.4/include/rfc2046.h
--- tin-2.6.3/include/rfc2046.h	2023-12-24 00:38:35.000000000 +0100
+++ tin-2.6.4/include/rfc2046.h	2024-11-25 20:44:39.441357781 +0100
@@ -3,10 +3,10 @@
  *  Module    : rfc2046.h
  *  Author    : Jason Faultless <jason@altarstone.com>
  *  Created   : 2000-02-18
- *  Updated   : 2023-10-25
+ *  Updated   : 2024-07-24
  *  Notes     : RFC 2046 MIME article definitions
  *
- * Copyright (c) 2000-2024 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 2000-2025 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -43,14 +43,18 @@
 /* The version of MIME we conform to */
 #	define MIME_SUPPORTED_VERSION	"1.0"
 
-/* These must track the array definitions in lang.c */
-#	define TYPE_TEXT			0
-#	define TYPE_MULTIPART		1
-#	define TYPE_APPLICATION		2
-#	define TYPE_MESSAGE			3
-#	define TYPE_IMAGE			4
-#	define TYPE_AUDIO			5
-#	define TYPE_VIDEO			6
+/* These must track the array definitions in lang.c; t_part->type */
+#	define TYPE_TEXT			0	/* RFC 2046 */
+#	define TYPE_MULTIPART		1	/* RFC 2046 */
+#	define TYPE_APPLICATION		2	/* RFC 2046 */
+#	define TYPE_MESSAGE			3	/* RFC 2046 */
+#	define TYPE_IMAGE			4	/* RFC 2046 */
+#	define TYPE_AUDIO			5	/* RFC 2046 */
+#	define TYPE_VIDEO			6	/* RFC 2046 */
+#	define TYPE_FONT			7	/* RFC 8081 */
+#	define TYPE_HAPTICS			8	/* draft-ietf-mediaman-haptics-05 */
+#	define TYPE_MODEL			9	/* RFC 2077 */
+	/* TYPE_EXAMPLE RFC 4735 */
 
 #	define ENCODING_7BIT		0
 #	define ENCODING_QP			1
@@ -60,8 +64,10 @@
 #	define ENCODING_UUE			5
 #	define ENCODING_UNKNOWN		6
 
+/* Content-Disposition types (RFC 2183) */
 #	define DISP_INLINE			0
-#	define DISP_ATTACH			1
+#	define DISP_ATTACHMENT		1
+#	define DISP_NONE			2
 
 #	define BOUND_NONE		0
 #	define BOUND_START		1
@@ -70,6 +76,47 @@
 #	define FORMAT_FIXED		0
 #	define FORMAT_FLOWED	1
 
+#	define MIME_OK							(1 << 0)
+#	define MIME_VERSION_MISSING				(1 << 1)
+#	define MIME_VERSION_UNSUPPORTED			(1 << 2)
+#	define MIME_TYPE_MISSING				(1 << 3)
+#	define MIME_TYPE_UNKNOWN				(1 << 4)
+#	define MIME_SUBTYPE_MISSING				(1 << 5)
+#	define MIME_SUBTYPE_UNKNOWN				(1 << 6)
+#	define MIME_CHARSET_MISSING				(1 << 7)
+#	define MIME_CHARSET_UNDECLARED			(1 << 8)
+#	define MIME_CHARSET_GUESSED				(1 << 9)
+#	define MIME_CHARSET_UNSUPPORTED			(1 << 10)
+#	define MIME_TRANSFER_ENCODING_MISSING	(1 << 11)
+#	define MIME_TRANSFER_ENCODING_UNKNOWN	(1 << 12)
+#	define MIME_INIT						(MIME_VERSION_MISSING \
+											| MIME_VERSION_UNSUPPORTED \
+											| MIME_TYPE_MISSING \
+											| MIME_SUBTYPE_MISSING \
+											| MIME_CHARSET_MISSING \
+											| MIME_TRANSFER_ENCODING_MISSING)
+
+typedef struct hints
+{
+	unsigned flags:13;	/* Result of mime parsing
+						define MIME_OK							no hints, to check if (mime_hints) {}
+						define MIME_VERSION_MISSING				mime version missing
+						define MIME_VERSION_UNSUPPORTED			mime version != 1.0
+						define MIME_TYPE_MISSING				content type missing
+						define MIME_TYPE_UNKNOWN				content type unknown
+						define MIME_CHARSET_MISSING				charset missing
+						define MIME_CHARSET_UNDECLARED			charset missing, undeclared_charset used
+						define MIME_CHARSET_GUESSED				charset missing, guessed charset used
+						define MIME_CHARSET_UNSUPPORTED			iconv() can't cope with charset
+						define MIME_TRANSFER_ENCODING_MISSING	transfer encoding missing
+						define MIME_TRANSFER_ENCODING_UNKNOWN	transfer encoding unknown */
+	char *type;
+	char *subtype;
+	char *charset;
+	char *encoding;
+} t_hints;
+
+
 /*
  * Linked list of parameter/value pairs
  * Used for params attached to a content line
@@ -92,12 +139,10 @@ typedef struct param
  */
 typedef struct part
 {
-	unsigned type:3;		/* Content major type */
+	unsigned type:4;		/* Content major type */
 	unsigned encoding:3;	/* Transfer encoding */
 	unsigned format:1;		/* Format=Fixed/Flowed */
-#	if 0
-	unsigned disposition:1;
-#	endif /* 0 */
+	unsigned disposition:2; /* Content-Disposition=inline/attachment */
 	char *subtype;			/* Content subtype */
 	char *description;		/* Content-Description */
 	char *language;			/* Content-Language RFC 3282 */
@@ -106,6 +151,7 @@ typedef struct part
 	unsigned long bytes;	/* part size in bytes */
 	int line_count;			/* # lines in this part */
 	int depth;				/* For multipart within multipart */
+	t_hints mime_hints;
 	struct part *uue;		/* UUencoded section information */
 	struct part *next;		/* next part */
 } t_part;
@@ -190,6 +236,7 @@ typedef struct openartinfo
 	int cooked_lines;		/* # lines in cooked t_lineinfo */
 	FILE *raw;				/* the actual data streams */
 	FILE *cooked;
+	FILE *log;
 	t_lineinfo *rawl;		/* info about the data streams */
 	t_lineinfo *cookl;
 } t_openartinfo;
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/snprintf.h tin-2.6.4/include/snprintf.h
--- tin-2.6.3/include/snprintf.h	1970-01-01 01:00:00.000000000 +0100
+++ tin-2.6.4/include/snprintf.h	2024-11-25 20:44:39.449358098 +0100
@@ -0,0 +1,43 @@
+#ifndef TIN_H
+#	include "tin.h"
+#endif /* !TIN_H */
+
+#ifndef _PORTABLE_SNPRINTF_H_
+#	define _PORTABLE_SNPRINTF_H_
+
+#	define PORTABLE_SNPRINTF_VERSION_MAJOR 2
+#	define PORTABLE_SNPRINTF_VERSION_MINOR 2
+
+#	ifdef HAVE_SNPRINTF
+    /* #include <stdio.h> */
+#		ifdef SNPRINTF_BROKEN
+#			define PREFER_PORTABLE_SNPRINTF
+#		endif /* SNPRINTF_BROKEN */
+#	else
+extern int snprintf(char *, size_t, const char *, /*args*/ ...);
+extern int vsnprintf(char *, size_t, const char *, va_list);
+#	endif /* HAVE_SNPRINTF */
+
+#	if defined(HAVE_SNPRINTF) && defined(PREFER_PORTABLE_SNPRINTF)
+extern int portable_snprintf(char *str, size_t str_m, const char *fmt, /*args*/ ...);
+extern int portable_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap);
+#	define snprintf  portable_snprintf
+#	define vsnprintf portable_vsnprintf
+#	endif /* HAVE_SNPRINTF && PREFER_PORTABLE_SNPRINTF */
+
+#	if !defined(HAVE_SNPRINTF) || defined(PREFER_PORTABLE_SNPRINTF)
+#		ifdef NEED_ASPRINTF
+extern int asprintf (char **ptr, const char *fmt, /*args*/ ...);
+#		endif /* NEED_ASPRINTF */
+#		ifdef NEED_VASPRINTF
+extern int vasprintf (char **ptr, const char *fmt, va_list ap);
+#		endif /* NEED_VASPRINTF */
+#		ifdef NEED_ASNPRINTF
+extern int asnprintf (char **ptr, size_t str_m, const char *fmt, /*args*/ ...);
+#		endif /* NEED_ASNPRINTF */
+#		ifdef NEED_VASNPRINTF
+extern int vasnprintf(char **ptr, size_t str_m, const char *fmt, va_list ap);
+#		endif /* NEED_VASNPRINTF */
+#	endif /* !HAVE_SNPRINTF || PREFER_PORTABLE_SNPRINTF */
+
+#endif /* _PORTABLE_SNPRINTF_H_ */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/stpwatch.h tin-2.6.4/include/stpwatch.h
--- tin-2.6.3/include/stpwatch.h	2023-12-24 00:38:35.000000000 +0100
+++ tin-2.6.4/include/stpwatch.h	2024-11-25 20:44:39.457358414 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2023-08-02
  *  Notes     : Simple stopwatch routines for timing code; avoid nesting!
  *
- * Copyright (c) 1993-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1993-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/tcurses.h tin-2.6.4/include/tcurses.h
--- tin-2.6.3/include/tcurses.h	2023-12-24 00:38:36.000000000 +0100
+++ tin-2.6.4/include/tcurses.h	2024-11-25 20:44:39.465358730 +0100
@@ -3,10 +3,10 @@
  *  Module    : tcurses.h
  *  Author    : Thomas Dickey
  *  Created   : 1997-03-02
- *  Updated   : 2021-12-14
+ *  Updated   : 2024-04-01
  *  Notes     : curses #include files, #defines & struct's
  *
- * Copyright (c) 1997-2024 Thomas Dickey <dickey@invisible-island.net>
+ * Copyright (c) 1997-2025 Thomas Dickey <dickey@invisible-island.net>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,11 +44,7 @@
 
 #	if defined(USE_CURSES) || defined(NEED_CURSES_H)
 #		ifdef HAVE_XCURSES
-#			undef bool
-#			define bool XCursesBool
 #			include <xcurses.h>
-#			undef bool
-#			define getattrs(w) (w)->_attrs
 #		else
 #			if defined(HAVE_NCURSESW_NCURSES_H)
 #				ifndef _XOPEN_SOURCE_EXTENDED
@@ -134,7 +130,7 @@ extern void my_retouch(void);
 #		endif /* HAVE_COLOR */
 extern void write_line(int row, char *buffer);
 
-#	else	/* !USE_CURSES */
+#	else /* !USE_CURSES */
 
 #		ifdef NEED_TERM_H
 #			include <curses.h>
@@ -181,7 +177,7 @@ extern void write_line(int row, char *bu
 
 #		define HpGlitch(func)			if (_hp_glitch) func
 
-#	endif /* USE_CURSES/!USE_CURSES */
+#	endif /* USE_CURSES */
 
 extern void my_dummy(void);
 
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/tin.h tin-2.6.4/include/tin.h
--- tin-2.6.3/include/tin.h	2023-12-24 00:38:36.000000000 +0100
+++ tin-2.6.4/include/tin.h	2024-12-21 18:33:54.140387053 +0100
@@ -3,10 +3,10 @@
  *  Module    : tin.h
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2023-11-22
+ *  Updated   : 2024-11-14
  *  Notes     : #include files, #defines & struct's
  *
- * Copyright (c) 1997-2024 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1997-2025 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,7 +47,7 @@
 
 #ifdef HAVE_CONFIG_H
 #	ifndef TIN_AUTOCONF_H
-#		include <autoconf.h>	/* FIXME: normally we use 'config.h' */
+#		include "autoconf.h"	/* FIXME: normally we use 'config.h' */
 #	endif /* !TIN_AUTOCONF_H */
 #else
 #	ifndef HAVE_CONFDEFS_H
@@ -102,7 +102,9 @@
 #	define SMALL_MEMORY_MACHINE
 #endif /* __amiga__ || __amiga */
 
-#include <signal.h>
+#ifdef HAVE_SIGNAL_H
+#	include <signal.h>
+#endif /* HAVE_SIGNAL_H */
 
 enum context { cMain, cArt, cAttachment, cAttrib, cConfig, cFilter, cGroup, cInfopager, cPage, cPOSTED, cPost, cPostCancel, cPostFup, cReconnect, cScope, cSelect, cThread, cURL };
 enum icontext { cNone, cGetline, cPromptCONT, cPromptSLK, cPromptYN };
@@ -184,14 +186,15 @@ enum rc_state { RC_IGNORE, RC_UPGRADE, R
 #	include <getopt.h>
 #endif /* HAVE_GETOPT_H */
 
+#ifdef HAVE_LIMITS_H
+#	include <limits.h>
+#endif /* HAVE_LIMITS_H */
+
 #if defined(ENABLE_LONG_ARTICLE_NUMBERS) && !defined(SMALL_MEMORY_MACHINE)
 /*
  * defines and typedefs for 64 bit article numbers
  *
- * TODO: what if !CPP_DOES_CONCAT
- *       add configure check for PRIdLEAST64
- *       add configure check for SCNdLEAST64
- *       add configure check for INT64_MAX, LLONG_MAX, LONG_MAX
+ * TODO: add configure check for INT64_MAX, LLONG_MAX, LONG_MAX
  */
 #	if defined(HAVE_INT_LEAST64_T) && !defined(HAVE_INTTYPES_H)
 #		undef HAVE_INT_LEAST64_T
@@ -205,10 +208,10 @@ enum rc_state { RC_IGNORE, RC_UPGRADE, R
 #	endif /* HAVE_INT_LEAST64_T || HAVE_LONG_LONG || quad_t */
 #	ifdef HAVE_STDINT_H
 #		include <stdint.h>
-#	endif	/* HAVE_STDINT_H */
+#	endif /* HAVE_STDINT_H */
 #endif /* ENABLE_LONG_ARTICLE_NUMBERS && !SMALL_MEMORY_MACHINE */
 #ifdef USE_LONG_ARTICLE_NUMBERS
-#	if defined(HAVE_INT_LEAST64_T) && defined(HAVE_INT64_C)
+#	if defined(HAVE_INT_LEAST64_T) && defined(HAVE_PRIDLEAST64) && defined(HAVE_SCNDLEAST64) && defined(HAVE_INT64_C)
 #		include <inttypes.h>
 		typedef int_least64_t t_artnum;
 #		define T_ARTNUM_PFMT PRIdLEAST64
@@ -219,9 +222,13 @@ enum rc_state { RC_IGNORE, RC_UPGRADE, R
 		typedef long long t_artnum;
 #		define T_ARTNUM_PFMT "lld"
 #		define T_ARTNUM_SFMT "lld"
-#		define T_ARTNUM_CONST(v) v ## LL
+#		ifdef CPP_DOES_CONCAT
+#			define T_ARTNUM_CONST(v) v ## LL
+#		else
+#			define T_ARTNUM_CONST(v) (long long)v
+#		endif /* CPP_DOES_CONCAT */
 #		define ARTNUM_MAX LLONG_MAX
-#	endif /* HAVE_INT_LEAST64_T && HAVE_INT64_C */
+#	endif /* HAVE_INT_LEAST64_T && HAVE_PRIDLEAST64 && HAVE_SCNDLEAST64 && HAVE_INT64_C */
 #	ifdef HAVE_ATOLL
 #		define atoartnum atoll
 #	else
@@ -232,7 +239,11 @@ enum rc_state { RC_IGNORE, RC_UPGRADE, R
 	typedef long t_artnum;
 #	define T_ARTNUM_PFMT "ld"
 #	define T_ARTNUM_SFMT "ld"
-#	define T_ARTNUM_CONST(v) v ## L
+#	ifdef CPP_DOES_CONCAT
+#		define T_ARTNUM_CONST(v) v ## L
+#	else
+#		define T_ARTNUM_CONST(v) (long)v
+#	endif /* CPP_DOES_CONCAT */
 #	define ARTNUM_MAX LONG_MAX
 #	define atoartnum atol
 #	define strtoartnum strtol
@@ -283,6 +294,14 @@ enum rc_state { RC_IGNORE, RC_UPGRADE, R
 #	define IGNORE_SYSTEM_STATUS 1
 #endif /* sun|| __sun && (!__SVR4 || __svr4__) && BSD && BSD < 199306 */
 
+#if defined(__STDC__) || defined(__STDC_VERSION__) || defined(__cplusplus)
+#	define TIN_STDC 1
+#endif /* __STDC__ || __STDC_VERSION__ || __cplusplus */
+/* compiler specific fixup */
+#if !defined(TIN_STDC) && defined(__XCC)
+#	define TIN_STDC 1
+#endif /* !TIN_STDC && __XCC */
+
 #ifdef HAVE_FCNTL_H
 #	include <fcntl.h>
 #endif /* HAVE_FCNTL_H */
@@ -408,6 +427,22 @@ enum rc_state { RC_IGNORE, RC_UPGRADE, R
 #	define _PATH_TMP	"/tmp/"
 #endif /* _PATH_TMP */
 
+/* we just need INT_MAX be defined approximately fitting the system */
+#if !defined(INT_MAX)
+#	ifdef INT_WIDTH
+#		if INT_WIDTH >= 32
+#			define INT_MAX 2147483647 /* 2^31-1 */
+#		else
+#			define INT_MAX 32767 /* 2^15-1 */
+#		endif /* INT_WIDTH >= 32 */
+#	else
+#		define INT_MAX 2147483647 /* 2^31-1 */
+#	endif /* INT_WIDTH */
+#endif /* !INT_MAX */
+#if !defined(INT_MIN)
+#	define INT_MIN (-INT_MAX - 1)
+#endif /* INT_MIN */
+
 /*
  * If OS misses the isascii() function
  */
@@ -443,7 +478,7 @@ enum rc_state { RC_IGNORE, RC_UPGRADE, R
 /*
  * Setup support for reading from NNTP
  */
-#if defined(NNTP_ABLE) || defined(NNTP_ONLY)
+#if defined(NNTP_ABLE) || defined(NNTP_ONLY) || defined(NNTPS_ABLE)
 #	ifndef NNTP_ABLE
 #		define NNTP_ABLE	1
 #	endif /* !NNTP_ABLE */
@@ -457,7 +492,7 @@ enum rc_state { RC_IGNORE, RC_UPGRADE, R
 #	ifdef BROKEN_LISTGROUP
 #		undef BROKEN_LISTGROUP
 #	endif /* BROKEN_LISTGROUP */
-#endif /* NNTP_ABLE || NNTP_ONLY */
+#endif /* NNTP_ABLE || NNTP_ONLY || NNTPS_ABLE */
 
 #define FAKE_NNTP_FP		(FILE *) 9999
 
@@ -506,10 +541,8 @@ enum rc_state { RC_IGNORE, RC_UPGRADE, R
 #	endif /* !HAVE_STRRCHR */
 #	if defined(__386BSD__) || defined(__bsdi__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
 #		define DEFAULT_PRINTER	"/usr/bin/lpr"
-#		define DEFAULT_SUM	"/usr/bin/cksum -o 1 <" /* use tailing <, otherwise get filename output too */
 #	else
 #		define DEFAULT_PRINTER	"/usr/ucb/lpr"
-#		define DEFAULT_SUM	"sum"
 #	endif /* __386BSD__ || __bsdi__ || __NetBSD__ || __FreeBSD__ || __OpenBSD__ */
 #	ifdef DGUX
 #		define USE_INVERSE_HACK
@@ -543,9 +576,6 @@ enum rc_state { RC_IGNORE, RC_UPGRADE, R
 #	ifndef DEFAULT_PRINTER
 #		define DEFAULT_PRINTER	"/usr/bin/lp"
 #	endif /* !DEFAULT_PRINTER */
-#	ifndef PATH_SUM
-#		define DEFAULT_SUM	"sum -r"
-#	endif /* !PATH_SUM */
 #endif /* BSD */
 
 /*
@@ -573,34 +603,10 @@ enum rc_state { RC_IGNORE, RC_UPGRADE, R
 #ifndef PATH_METAMAIL	/* only unset if !HAVE_METAMAIL */
 #	define PATH_METAMAIL	"metamail"
 #endif /* !PATH_METAMAIL */
-#define METAMAIL_CMD		PATH_METAMAIL" -e -p -m \"tin\""
+#define METAMAIL_CMD	PATH_METAMAIL" -e -p -m \"tin\""
 
 #define INTERNAL_CMD	"--internal"
 
-/*
- * Fix up the 'sum' path and parameter for './configure'd systems
- */
-#ifdef PATH_SUM
-#	ifdef DEFAULT_SUM
-#		undef DEFAULT_SUM
-#	endif /* DEFAULT_SUM */
-#	ifdef SUM_TAKES_DASH_R
-#		define DEFAULT_SUM PATH_SUM_R
-#	else
-#		define DEFAULT_SUM PATH_SUM
-#	endif /* SUM_TAKES_DASH_R */
-#endif /* PATH_SUM */
-
-#ifdef HAVE_LONG_FILE_NAMES
-#	define PATH_PART	"part"
-#	define PATH_PATCH	"patch"
-#	define INDEX_LOCK	"tin.%.256s.LCK"
-#else
-#	define PATH_PART	""
-#	define PATH_PATCH	"p"
-#	define INDEX_LOCK	"%.10s.LCK"
-#endif /* HAVE_LONG_FILE_NAMES */
-
 /* inews.c:submit_inews() and save.c:save_and_process_art() */
 #define PATHMASTER 	"not-for-mail"
 
@@ -749,6 +755,7 @@ enum rc_state { RC_IGNORE, RC_UPGRADE, R
 #define POSTPONED_FILE	"postponed.articles"
 #define SUBSCRIPTIONS_FILE	"subscriptions"
 #define NEWSGROUPS_FILE	"newsgroups"
+#define MOTD_FILE	"motd"
 #define KEYMAP_FILE	"keymap"
 
 #define SIGDASHES "-- \n"
@@ -789,12 +796,21 @@ enum rc_state { RC_IGNORE, RC_UPGRADE, R
 
 #endif /* HAVE_LIB_PCRE2 */
 
-#ifdef HAVE_ICONV
+#if defined(HAVE_ICONV) || defined(HAVE_UCNV_OPEN)
 #	define CHARSET_CONVERSION 1
-#	ifdef HAVE_ICONV_H
-#		include <iconv.h>
-#	endif /* HAVE_ICONV_H */
-#endif /* HAVE_ICONV */
+#	ifdef HAVE_ICONV
+#		ifdef HAVE_ICONV_H
+#			include <iconv.h>
+#		endif /* HAVE_ICONV_H */
+#		define CHARSET_CONVERSION_ICONV 1
+#	endif /* HAVE_ICONV */
+#	ifdef HAVE_UCNV_OPEN
+#		ifdef HAVE_UNICODE_UCNV_H
+#			include <unicode/ucnv.h>
+#		endif /* HAVE_UNICODE_UCNV_H */
+#		define CHARSET_CONVERSION_UCNV 1
+#	endif /* HAVE_UCNV_OPEN */
+#endif /* HAVE_ICONV || HAVE_UCNV_OPEN */
 
 #ifdef HAVE_LANGINFO_H
 #	include <langinfo.h>
@@ -851,13 +867,20 @@ enum rc_state { RC_IGNORE, RC_UPGRADE, R
 #endif /* !forever */
 
 /*
- * safe strcpy into fixed-legth buffer
+ * safe ('0'-terminates but may truncate) strcpy into fixed-legth buffer
  */
-#if 0
-#	define STRCPY(dst, src)	(strncpy(dst, src, sizeof(dst) - 1), dst[sizeof(dst) - 1] = '\0')
-#else
-#	define STRCPY(dst, src)	(*(dst) = '\0', strncat(dst, src, sizeof(dst) - 1))
-#endif /* 0 */
+#define STRCPY(dst, src) ((void) snprintf(dst, sizeof(dst), "%s", src))
+/*
+	#ifdef HAVE_STRLCPY
+	#	define STRCPY(dst, src) (strlcpy(dst, src, sizeof(dst)))
+	#else
+	#	if 0
+	#		define STRCPY(dst, src)	(strncpy(dst, src, sizeof(dst) - 1)[sizeof(dst) - 1] = '\0')
+	#	else
+	#		define STRCPY(dst, src)	(*(dst) = '\0', strncat(dst, src, sizeof(dst) - 1))
+	#	endif
+	#endif
+*/
 
 #define STRCMPEQ(s1, s2)	(strcmp((s1), (s2)) == 0)
 #define STRNCMPEQ(s1, s2, n)	(strncmp((s1), (s2), n) == 0)
@@ -869,6 +892,7 @@ enum rc_state { RC_IGNORE, RC_UPGRADE, R
  * LEN         =
  * HEADER_LEN  = max. size of a news/mail header-line
  * NEWSRC_LINE =
+ * LOGIN_NAME_MAX = max. username length (incl. terminating '\0')
  */
 
 #ifdef PATH_MAX
@@ -897,7 +921,11 @@ enum rc_state { RC_IGNORE, RC_UPGRADE, R
 #else
 #	define NAME_LEN	14
 #endif /* HAVE_LONG_FILE_NAMES */
+#ifndef LOGIN_NAME_MAX
+#	define LOGIN_NAME_MAX 256
+#endif  /* !LOGIN_NAME_MAX */
 #define LEN	1024
+#define BUF_SIZE	1024
 
 #define NEWSRC_LINE	8192
 #define HEADER_LEN	1024
@@ -909,8 +937,6 @@ enum rc_state { RC_IGNORE, RC_UPGRADE, R
 
 #define DAY	(60*60*24)		/* Seconds in a day */
 
-#define ctrl(c)	((c) & 0x1F)
-
 #ifndef DEFAULT_ISO2ASC
 #	define DEFAULT_ISO2ASC	"-1 "	/* ISO -> ASCII charset conversion */
 #endif /* !DEFAULT_ISO2ASC */
@@ -1112,6 +1138,7 @@ enum {
 
 /*
  * Expands to singular/plural version of string
+ * FIXME: this is not translation friendly and has no !CPP_DOES_CONCAT falback
  */
 #define PLURAL(x,y)			((x == 1) ? _(y##_singular) : _(y##_plural))
 
@@ -1149,30 +1176,29 @@ enum {
 
 
 /*
- * indicate given cmd-line options
+ * indicate cmd-line options that are not strings
+ * adjust t_cmdlineopts accordingly
  */
-#define CMDLINE_GETART_LIMIT	1
-#define CMDLINE_MAILDIR			2
-#define CMDLINE_NNTPSERVER		4
-#define CMDLINE_SAVEDIR			8
-#define CMDLINE_USE_COLOR		16
-#define CMDLINE_NNTP_TIMEOUT	32
+#define CMDLINE_GETART_LIMIT	(1 << 0)
+#define CMDLINE_USE_COLOR		(1 << 1)
+#define CMDLINE_NNTP_TIMEOUT	(1 << 2)
+#define CMDLINE_NO_DESCRIPTION	(1 << 3)
 
 
 /*
  * used by feed_articles() & show_mini_help() & quick_filter & add_filter_rule
  */
-#define SELECT_LEVEL	1
-#define GROUP_LEVEL	2
-#define THREAD_LEVEL	3
-#define PAGE_LEVEL	4
-#define INFO_PAGER	5
-#define SCOPE_LEVEL	6
-#define CONFIG_LEVEL	7
-#define ATTRIB_LEVEL	8
-#define ATTACHMENT_LEVEL	9
-#define URL_LEVEL	10
-#define POSTED_LEVEL	11
+#define SELECT_LEVEL		(1 << 0)
+#define GROUP_LEVEL			(1 << 1)
+#define THREAD_LEVEL		(1 << 2)
+#define PAGE_LEVEL			(1 << 3)
+#define INFO_PAGER			(1 << 4)
+#define SCOPE_LEVEL			(1 << 5)
+#define CONFIG_LEVEL		(1 << 6)
+#define ATTRIB_LEVEL		(1 << 7)
+#define ATTACHMENT_LEVEL	(1 << 8)
+#define URL_LEVEL			(1 << 9)
+#define POSTED_LEVEL		(1 << 10)
 
 #define MINI_HELP_LINES		5
 
@@ -1376,8 +1402,6 @@ enum {
 #	endif /* CPP_DOES_EXPAND */
 #endif /* NDEBUG */
 
-#define ESC	27
-
 /*
  * filter entries expire after DEFAULT_FILTER_DAYS
  */
@@ -1548,18 +1572,19 @@ typedef unsigned char	t_bitmap;
 #else
 #	define HASHNODE_TABLE_SIZE 222199
 #	define MSGID_HASH_SIZE	222199
-#endif /* MSGID_HASH_SIZE */
+#endif /* SMALL_MEMORY_MACHINE */
 
 /*
  * cmd-line options
  */
 struct t_cmdlineopts {
-	int getart_limit;			/* getart_limit */
-	int nntp_timeout;			/* nntp_read_timeout_secs */
-	char maildir[PATH_LEN];		/* maildir */
-	char nntpserver[PATH_LEN];	/* nntpserver */
-	char savedir[PATH_LEN];		/* savedir */
-	unsigned int args:6;		/* given options */
+	int getart_limit;		/* getart_limit */
+	int nntp_timeout;		/* nntp_read_timeout_secs */
+	char *maildir;			/* maildir */
+	char *nntpserver;		/* nntpserver */
+	char *savedir;			/* savedir */
+	char *msgid;			/* messageid (TODO: reduce to 250 as of RFC 3977 3.6 & RFC 5536 3.1.3 if done everywhere in the code) */
+	unsigned int args:4;	/* given options */
 };
 
 /*
@@ -1574,6 +1599,13 @@ struct t_msgid {
 	char txt[1];			/* The actual msgid */
 };
 
+struct t_mailbox {
+	char *from;			/* From: line from mail header (address) */
+	char *name;			/* From: line from mail header (full name) */
+	int gnksa_code;
+	struct t_mailbox *next;
+};
+
 /*
  * struct t_article - article header
  *
@@ -1592,17 +1624,15 @@ struct t_msgid {
 struct t_article {
 	t_artnum artnum;		/* Article number in spool directory for group */
 	char *subject;			/* Subject: line from mail header */
-	char *from;			/* From: line from mail header (address) */
-	char *name;			/* From: line from mail header (full name) */
 	char *xref;			/* Xref: cross posted article reference line */
 	char *path;			/* Path: line */
 	/* NB: The msgid and refs are only retained until the reference tree is built */
 	char *msgid;			/* Message-ID: unique message identifier */
 	char *refs;			/* References: article reference id's */
 	struct t_msgid *refptr;		/* Pointer to us in the reference tree */
+	struct t_mailbox mailbox;
 	time_t date;			/* Date: line from header in seconds */
 	int line_count;			/* Lines: number of lines in article */
-	int gnksa_code;			/* From: line from mail header (GNKSA error code) */
 	int tagged;			/* 0 = not tagged, >0 = tagged */
 	int thread;
 	int prev;
@@ -1668,12 +1698,12 @@ struct t_newsheader {
 /*
  * used as flags for t_attach_item
  */
-#define ATTACH_SHOW_CONTENT		1 << 0 /* content visible */
-#define ATTACH_SHOW_BOTH		1 << 1 /* description and content visible */
-#define ATTACH_OMIT_DESC		1 << 2 /* description can be omitted */
-#define ATTACH_OMIT_BOTH		1 << 3 /* description and content can be omitted */
-#define ATTACH_ITEM_IS_TYPE		1 << 4 /* content type */
-#define ATTACH_ITEM_IS_SUBTYPE	1 << 5 /* content subtype */
+#define ATTACH_SHOW_CONTENT		(1 << 0) /* content visible */
+#define ATTACH_SHOW_BOTH		(1 << 1) /* description and content visible */
+#define ATTACH_OMIT_DESC		(1 << 2) /* description can be omitted */
+#define ATTACH_OMIT_BOTH		(1 << 3) /* description and content can be omitted */
+#define ATTACH_ITEM_IS_TYPE		(1 << 4) /* content type */
+#define ATTACH_ITEM_IS_SUBTYPE	(1 << 5) /* content subtype */
 
 /*
  * struct t_attach_item - information about a specific header part of a mime attachment
@@ -1691,33 +1721,36 @@ struct t_attach_item {
  * struct t_attribute - configurable attributes on a per group basis
  */
 struct t_attribute {
-	char *maildir;				/* mail dir if other than ~/Mail */
-	char *savedir;				/* save dir if other than ~/News */
-	char *savefile;				/* save articles to specified file */
-	char *sigfile;				/* sig file if other than ~/.Sig */
-	char *group_format;			/* format string for group level */
-	char *thread_format;		/* format string for thread level */
-	char *date_format;			/* format string for the date display */
-	char *editor_format;		/* editor + parameters  %E +%N %F */
-	char *organization;			/* organization name */
-	char *fcc;					/* Fcc folder for mail */
-	char *followup_to;			/* where posts should be redirected */
-	char *quick_kill_scope;		/* quick filter kill scope */
-	char *quick_select_scope;	/* quick filter select scope */
-	char *mailing_list;			/* mail list email address */
-	char *news_headers_to_display;	/* which headers to display */
-	char *news_headers_to_not_display;	/* which headers to not display */
-	char *x_headers;			/* extra headers for message header */
-	char *x_body;				/* boilerplate text for message body */
-	char *from;					/* from line */
-	char *news_quote_format;	/* another way to begin a posting format */
-	char *quote_chars;			/* string to precede quoted text on each line */
-	char *mime_types_to_save;	/* MIME content major/minors we want to save */
+	char **maildir;				/* mail dir if other than ~/Mail */
+	char **savedir;				/* save dir if other than ~/News */
+	char **savefile;			/* save articles to specified file */
+	char **sigfile;				/* sig file if other than ~/.Sig */
+	char **group_format;		/* format string for group level */
+	char **thread_format;		/* format string for thread level */
+	char **date_format;			/* format string for the date display */
+	char **editor_format;		/* editor + parameters  %E +%N %F */
+	char **organization;		/* organization name */
+	char **fcc;					/* Fcc folder for mail */
+	char **followup_to;			/* where posts should be redirected */
+	char **quick_kill_scope;	/* quick filter kill scope */
+	char **quick_select_scope;	/* quick filter select scope */
+	char **mailing_list;		/* mail list email address */
+	char **news_headers_to_display;	/* which headers to display */
+	char **news_headers_to_not_display;	/* which headers to not display */
+	char **x_headers;			/* extra headers for message header */
+	char **x_body;				/* boilerplate text for message body */
+	char **from;				/* from line */
+	char **news_quote_format;	/* another way to begin a posting format */
+	char **quote_chars;			/* string to precede quoted text on each line */
+	char **mime_types_to_save;	/* MIME content major/minors we want to save */
 #ifdef HAVE_ISPELL
-	char *ispell;				/* path to ispell and options */
+	char **ispell;				/* path to ispell and options */
 #endif /* HAVE_ISPELL */
 #ifdef CHARSET_CONVERSION
-	char *undeclared_charset;		/* charset of articles without MIME charset declaration */
+	char **undeclared_charset;	/* charset of articles without MIME charset declaration */
+#	ifdef USE_ICU_UCSDET
+	BoolField(undeclared_cs_guess);
+#	endif /* USE_ICU_UCSDET */
 	IntField(mm_network_charset);		/* network charset */
 #endif /* CHARSET_CONVERSION */
 	struct t_newsheader *headers_to_display;	/* array of which headers to display */
@@ -1865,6 +1898,9 @@ struct t_attribute_state {
 	BoolField(trim_article_body);
 #ifdef CHARSET_CONVERSION
 	BoolField(undeclared_charset);
+#	ifdef USE_ICU_UCSDET
+	BoolField(undeclared_cs_guess);
+#	endif /* USE_ICU_UCSDET */
 	BoolField(mm_network_charset);
 #endif /* CHARSET_CONVERSION */
 	BoolField(verbatim_handling);
@@ -1940,8 +1976,8 @@ struct t_hashnode {
  * precalculated length
  */
 struct t_fmt {
-	char str[LEN];
-	char date_str[LEN];
+	char *str;
+	char *date_str;
 	size_t len_date;		/* %D Date */
 	size_t len_date_max;
 	size_t len_grpdesc;		/* %d newsgroup description */
@@ -2026,8 +2062,8 @@ struct t_filter {
  */
 struct t_filter_rule {
 	struct t_filter_comment *comment;
-	char text[PATH_LEN];
-	char scope[PATH_LEN];
+	char *text;
+	char *scope;
 	int counter;
 	int icase;
 	int fullref;
@@ -2082,10 +2118,15 @@ struct t_screen {
 };
 #endif /* !USE_CURSES */
 
+/*
+ * NOTE: the fixed length (which should be removed) is used during display
+ * only (TODO: add user-defined dispaly-format ("%D %80G %K %120s %256M")),
+ * the file on disk may have longer lines/members.
+ */
 typedef struct posted {
-	char date[10];
+	char date[10];	/* dd-mm-yy */
+	char action;	/* [ dfrwx] */
 	char group[80];
-	char action;
 	char subj[120];
 	char mid[256];
 	struct posted *next;
@@ -2233,11 +2274,11 @@ typedef struct urllist {
  * Determine qsort compare type
  */
 #ifdef HAVE_COMPTYPE_VOID
-#	ifdef __STDC__
+#	ifdef TIN_STDC
 		typedef const void *t_comptype;
 #	else
 		typedef void *t_comptype;
-#	endif /* __STDC__ */
+#	endif /* TIN_STDC */
 #else
 #	ifdef HAVE_COMPTYPE_CHAR
 		typedef char *t_comptype;
@@ -2246,7 +2287,7 @@ typedef struct urllist {
 
 /* Define a matching function pointer type */
 typedef int (*t_compfunc)(t_comptype, t_comptype);
-typedef void (*t_sortfunc)(void *, size_t, size_t, t_compfunc);
+/* typedef void (*t_sortfunc)(void *, size_t, size_t, t_compfunc); */
 
 #define _CDECL
 
@@ -2271,10 +2312,27 @@ typedef void (*t_sortfunc)(void *, size_
 #define ENV_VAR_SHELL		"SHELL"
 #define TIN_EDITOR_FMT		"%E +%N %F"
 #define MAILER_FORMAT		"%M -oi -t < %F"
+#define DEFAULT_RANGE		"1-."
+#define DEFAULT_SAVE_FILE	"savefile.tin"
+#define MAIL_QUOTE_FORMAT	"In article %M you wrote:"
+#define DEFAULT_MIME_TYPES_TO_SAVE		"*/*"
+#define DEFAULT_NEWS_HEADERS_TO_DISPLAY	"Newsgroups Followup-To Summary Keywords X-Comment-To"
+#define DEFAULT_NEWS_QUOTE_FORMAT	"%F wrote:"
+#define DEFAULT_SIGFILE		".Sig"
+#define DEFAULT_XPOST_QUOTE_FORMAT	"In %G %F wrote:"
+#define DEFAULT_FILTER		"*"
 #ifdef HAVE_KEY_PREFIX
 #	define KEY_PREFIX		0x8f: case 0x9b
 #endif /* HAVE_KEY_PREFIX */
 
+/* the next two are needed for fcc 1.0 on linux */
+#ifndef S_IFMT
+#	define S_IFMT	0xF000	/* type of file */
+#endif /* S_IFMT */
+#ifndef S_IFREG
+#	define S_IFREG	0x8000	/* regular */
+#endif /* S_IFREG */
+
 #if !defined(S_ISDIR)
 #	define S_ISDIR(m)	(((m) & S_IFMT) == S_IFDIR)
 #endif /* !S_ISDIR */
@@ -2283,6 +2341,10 @@ typedef void (*t_sortfunc)(void *, size_
 #	define S_ISREG(m)	(((m) & S_IFMT) == S_IFREG)
 #endif /* !S_ISREG */
 
+#if !defined(S_ISLNK)
+#	define S_ISLNK(m)	(((m) & S_IFMT) == S_IFLNK)
+#endif /* !S_ISLNK */
+
 #ifndef S_IRWXU /* should be defined in <sys/stat.h> */
 #	define S_IRWXU	0000700	/* read, write, execute permission (owner) */
 #	define S_IRUSR	0000400	/* read permission (owner) */
@@ -2300,13 +2362,6 @@ typedef void (*t_sortfunc)(void *, size_
 #	define S_IXOTH	0000001	/* execute permission (other) */
 #endif /* !S_IRWXU */
 
-/* the next two are needed for fcc 1.0 on linux */
-#ifndef S_IFMT
-#	define S_IFMT	0xF000	/* type of file */
-#endif /* S_IFMT */
-#ifndef S_IFREG
-#	define S_IFREG	0x8000	/* regular */
-#endif /* S_IFREG */
 
 #ifndef S_IRWXUGO
 #	define S_IRWXUGO	(S_IRWXU|S_IRWXG|S_IRWXO)	/* read, write, execute permission (all) */
@@ -2367,17 +2422,16 @@ typedef void (*t_sortfunc)(void *, size_
  * Cast for the (few!) places where we need to examine 8-bit characters w/o
  * sign-extension, and a corresponding test-macro.
  */
-#define EIGHT_BIT(ptr)	(unsigned char *)ptr
-#define is_EIGHT_BIT(p)	((*EIGHT_BIT(p) < 32 && !isspace((int)*p)) || *EIGHT_BIT(p) > 127)
+#define is_EIGHT_BIT(p)	((*(unsigned char *) (p) < 32 && !isspace((unsigned char) *p)) || *(unsigned char *) (p) > 127)
 
 /*
  * function prototypes & extern definitions
  */
 
 #ifndef SIG_ARGS
-#	if defined(__STDC__)
+#	if defined(TIN_STDC)
 #		define SIG_ARGS	int sig
-#	endif /* __STDC__ */
+#	endif /* TIN_STDC */
 #endif /* !SIG_ARGS */
 
 #ifndef __LCLINT__ /* lclint doesn't like it */
@@ -2405,14 +2459,13 @@ typedef void (*t_sortfunc)(void *, size_
 #	define OUTC_ARGS	int c
 #endif /* !OUTC_ARGS */
 
-#if __STDC__ || defined(__cplusplus)
+#if TIN_STDC
 #	define OUTC_FUNCTION(func)	OUTC_RETTYPE func (OUTC_ARGS)
 #else
 #	define OUTC_FUNCTION(func)	OUTC_RETTYPE func (c) int c;
-#endif /* __STDC__ || __cplusplus */
+#endif /* TIN_STDC */
 
 typedef OUTC_RETTYPE (*OutcPtr) (OUTC_ARGS);
-typedef FILE TCP;
 
 #ifndef EXTERN_H
 #	include "extern.h"
@@ -2535,9 +2588,9 @@ extern int fclose(FILE *);
 #endif /* USE_CANLOCK */
 
 /* gsasl */
-#ifdef USE_SASL
+#ifdef USE_GSASL
 #	include <gsasl.h>
-#endif /* USE_SASL */
+#endif /* USE_GSASL */
 
 /*
  * adapted from ncurses curses.priv.h:
@@ -2566,14 +2619,6 @@ extern int fclose(FILE *);
 #	endif /* va_copy || HAVE_VA_COPY */
 #endif /* HAVE___VA_COPY */
 
-/* snprintf(), vsnprintf() */
-#ifndef HAVE_SNPRINTF
-#	define snprintf	plp_snprintf
-#endif /* HAVE_SNPRINTF */
-#ifndef HAVE_VSNPRINTF
-#	define vsnprintf	plp_vsnprintf
-#endif /* HAVE_VSNPRINTF */
-
 #ifdef HAVE_MEMMOVE
 #	define my_memmove memmove
 #else
@@ -2594,28 +2639,15 @@ extern int fclose(FILE *);
 #	define UNUSED(x) x
 #endif /* __GNUC__ && !__cplusplus && !__APPLE_CC__ && !__NeXT__ */
 
-/* #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L */
 #ifdef STDC_NORETURN
 #	ifdef HAVE_STDNORETURN_H
 #		include <stdnoreturn.h>
 #	endif /* HAVE_STDNORETURN_H */
 #else
-#	undef _Noreturn
-	/*
-	 * gcc says "The attribute noreturn is not implemented in GCC
-	 * versions earlier than 2.5" but gcc 2.7.2.3 on m68k-sony-newsos
-	 * or mips-dec-osf1 still doesn't know __attribute__((noreturn)).
-	 * __GNUC__ > 2 should be fine
-	 */
-#	if defined(__GNUC__) && !defined(__cplusplus) && !defined(__APPLE_CC__) && !defined(__NeXT__)
-#		if __GNUC__ > 2
-#			define _Noreturn __attribute__((noreturn))
-#		else
-#			define _Noreturn /**/
-#		endif /* __GNUC__ > 2 */
-#	else
-#		define _Noreturn /**/
-#	endif /* __GNUC__ && !__cplusplus && !__APPLE_CC__ && !__NeXT__ */
+#	if defined(_Noreturn)
+#		undef _Noreturn
+#	endif /* _Noreturn */
+#	define _Noreturn /**/
 #endif /* STDC_NORETURN */
 
 #ifndef __CPROTO__
@@ -2660,10 +2692,27 @@ struct t_overview_fmt {
 	enum f_type type;
 };
 
+/* TODO:
+ *       switch to version = (rc_majorv << 16) + (rc_minorv << 8) + rc_subv
+ *       that is v2.6.4 == 0x020604
+ */
 struct t_version {
 	enum rc_state state;
 	int file_version;		/* rc_majorv * 10000 + rc_minorv * 100 + rc_subv */
 /*	int current_version;*/	/* c_majorv * 10000 + c_minorv * 100 + c_subv */
 };
 
+/* used in strunc(), wstrunc() and draw_page_header() */
+#define TRUNC_TAIL	"..."
+#	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+		/* U+2026 (HORIZONTAL ELLIPSIS) */
+#		define WTRUNC_TAIL	L"\x2026"
+#	endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+
+/* C90: isxdigit(3) */
+#define IS_XDIGIT(c) (((c) >= '0' && (c) <= '9') || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F'))
+
+#define RFC5322_SPECIALS	"()<>[]:;@\\,.\""
+#define CHECK_RFC5322_SPECIALS(name)	((strpbrk(name, RFC5322_SPECIALS) != NULL) && name[0] != '"' && name[strlen(name)] != '"')
+
 #endif /* !TIN_H */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/tinrc.h tin-2.6.4/include/tinrc.h
--- tin-2.6.3/include/tinrc.h	2023-12-24 00:38:36.000000000 +0100
+++ tin-2.6.4/include/tinrc.h	2024-12-21 15:10:30.502742415 +0100
@@ -3,10 +3,10 @@
  *  Module    : tinrc.h
  *  Author    : Jason Faultless <jason@altarstone.com>
  *  Created   : 1999-04-13
- *  Updated   : 2023-10-29
+ *  Updated   : 2024-12-21
  *  Notes     :
  *
- * Copyright (c) 1999-2024 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 1999-2025 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -53,111 +53,148 @@
 #	define TINRC_H 1
 
 struct t_config {
-	/*
-	 * Chars used to show article status
-	 */
-#	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-		wchar_t art_marked_deleted;
-		wchar_t art_marked_inrange;	/* misnomer, as it's also used for other ranges */
-		wchar_t art_marked_return;
-		wchar_t art_marked_selected;
-		wchar_t art_marked_recent;
-		wchar_t art_marked_unread;
-		wchar_t art_marked_read;
-		wchar_t art_marked_killed;
-		wchar_t art_marked_read_selected;
-#	else
-		char art_marked_deleted;
-		char art_marked_inrange;	/* misnomer, as it's also used for other ranges */
-		char art_marked_return;
-		char art_marked_selected;
-		char art_marked_recent;
-		char art_marked_unread;
-		char art_marked_read;
-		char art_marked_killed;
-		char art_marked_read_selected;
-#	endif /* MULTIBYTE_ABLE && !NO_LOCALE */
-	char editor_format[PATH_LEN];		/* editor + parameters  %E +%N %F */
-	char default_goto_group[HEADER_LEN];		/* default for the 'g' command */
-	char default_mail_address[HEADER_LEN];
-	char mailer_format[PATH_LEN];		/* mailer + parameters  %M %S %T %F */
+	char *default_goto_group;			/* default for the 'g' command */
+	char *default_mail_address;
 #	ifndef DONT_HAVE_PIPING
-		char default_pipe_command[LEN];
+		char *default_pipe_command;
 #	endif /* DONT_HAVE_PIPING */
-	char default_post_newsgroups[HEADER_LEN];	/* default newsgroups to post to */
-	char default_post_subject[LEN];	/* default subject when posting */
+	char *default_post_newsgroups;		/* default newsgroups to post to */
+	char *default_post_subject;			/* default subject when posting */
+	char *default_range_group;
+	char *default_range_select;
+	char *default_range_thread;
+	char *default_pattern;
+	char *default_repost_group;			/* default group to repost to */
+	char *default_save_file;
+	char *default_search_art;			/* default when searching in article */
+	char *default_search_author;		/* default when searching for author */
+	char *default_search_config;		/* default when searching config menu */
+	char *default_search_group;			/* default when searching select screen */
+	char *default_search_subject;		/* default when searching by subject */
+	char *default_select_pattern;
+	char *default_shell_command;
+	char *editor_format;				/* editor + parameters  %E +%N %F */
+	char *select_format;				/* format string for the selection level */
+	char *group_format;					/* format string for the group level */
+	char *thread_format;				/* format string for the thread level */
+	char *attachment_format;			/* format string for the attachment level */
+	char *page_mime_format;				/* format string for the mime header in page level */
+	char *page_uue_format;				/* format string for the uue header in page level */
+	char *date_format;					/* format string for the date display in the page header */
+	char *mail_quote_format;
+	char *mailer_format;				/* mailer + parameters  %M %S %T %F */
+	char *news_quote_format;
+	char *xpost_quote_format;
+	char *quote_chars;					/* quote chars for posting/mails ": " (size matches prefixbuf in copy_body() */
+	char *inews_prog;
+	char *mail_address;					/* user's mail address */
+	char *maildir;						/* mailbox dir where = saves are stored */
+	char *metamail_prog;				/* name of MIME message viewer */
+	char *mm_local_charset;				/* display charset, not a rc/Menu-option anymore -> should be moved elsewhere */
+	char *news_headers_to_display;		/* which headers to display */
+	char *news_headers_to_not_display;	/* which headers to not display */
+	char *posted_articles_file;			/* if set, file in which to keep posted articles */
 #	ifndef DISABLE_PRINTING
-		char printer[LEN];					/* printer program specified from tinrc */
+		char *printer;					/* printer program specified from tinrc */
 #	endif /* !DISABLE_PRINTING */
-	char default_range_group[LEN];
-	char default_range_select[LEN];
-	char default_range_thread[LEN];
-	char default_pattern[LEN];
-	char default_repost_group[LEN];		/* default group to repost to */
-	char default_save_file[PATH_LEN];
-	char default_search_art[LEN];		/* default when searching in article */
-	char default_search_author[HEADER_LEN];	/* default when searching for author */
-	char default_search_config[LEN];	/* default when searching config menu */
-	char default_search_group[HEADER_LEN];		/* default when searching select screen */
-	char default_search_subject[LEN];	/* default when searching by subject */
-	char default_select_pattern[LEN];
-	char default_shell_command[LEN];
-	char mail_quote_format[LEN];
-	char maildir[PATH_LEN];				/* mailbox dir where = saves are stored */
-	int mailbox_format;					/* format of the mailbox (mboxo, mboxrd, mmdf, ...) */
-	char mail_address[HEADER_LEN];				/* user's mail address */
-	char metamail_prog[PATH_LEN];				/* name of MIME message viewer */
+	char *slashes_regex;				/* regex used to highlight /slashes/ */
+	char *stars_regex;					/* regex used to highlight *stars* */
+	char *strokes_regex;				/* regex used to highlight -strokes- */
+	char *strip_re_regex;				/* regex used to find and remove 'Re:'-like strings */
+	char *strip_was_regex;				/* regex used to find and remove '(was:.*'-like strings */
+#	ifdef HAVE_COLOR
+		char *quote_regex;				/* regex used to determine quoted lines */
+		char *quote_regex2;				/* regex used to determine twice quoted lines */
+		char *quote_regex3;				/* regex used to determine >=3 times quoted lines */
+		char *extquote_regex;			/* regex used to determine quoted lines from external sources */
+#	endif /* HAVE_COLOR */
+	char *underscores_regex;			/* regex used to highlight _underscores_ */
+	char *verbatim_begin_regex;			/* regex used to find the begin of a verbatim block */
+	char *verbatim_end_regex;			/* regex used to find the end of a verbatim block */
+	char *savedir;						/* directory to save articles to */
+	char *sigfile;
+	char *spamtrap_warning_addresses;
+#	ifdef NNTPS_ABLE
+		char *tls_ca_cert_file;			/* file containing trusted CA certificates */
+#	endif /* NNTPS_ABLE */
+	char *url_handler;					/* Helper app for opening URL's */
 #	ifndef CHARSET_CONVERSION
-		char mm_charset[LEN];				/* MIME charset */
+		char *mm_charset;				/* MIME charset */
 #	else
-		int mm_network_charset;				/* MIME charset */
+		int mm_network_charset;			/* MIME charset */
 #	endif /* !CHARSET_CONVERSION */
-	char mm_local_charset[LEN];		/* display charset, not a rc/Menu-option anymore -> should be moved elsewhere */
-#	if defined(HAVE_ICONV_OPEN_TRANSLIT) && defined(CHARSET_CONVERSION)
-		t_bool translit;						/* use //TRANSLIT */
-#	endif /* HAVE_ICONV_OPEN_TRANSLIT && CHARSET_CONVERSION */
-	char news_headers_to_display[LEN];	/* which headers to display */
-	char news_headers_to_not_display[LEN];	/* which headers to not display */
-	char news_quote_format[LEN];
-	char quote_chars[LEN];			/* quote chars for posting/mails ": " (size matches prefixbuf in copy_body() */
+	int mailbox_format;					/* format of the mailbox (mboxo, mboxrd, mmdf, ...) */
+	int auto_cc_bcc;					/* add your name to cc/bcc automatically */
+#	ifdef USE_CANLOCK
+		int cancel_lock_algo;			/* algorithm used for Cancel-Lock/Cancel-Key */
+#	endif /* USE_CANLOCK */
 #	ifdef HAVE_COLOR
-		char quote_regex[LEN];				/* regex used to determine quoted lines */
-		char quote_regex2[LEN];				/* regex used to determine twice quoted lines */
-		char quote_regex3[LEN];				/* regex used to determine >=3 times quoted lines */
-		char extquote_regex[LEN];			/* regex used to determine quoted lines from external sources */
+		int col_back;					/* standard background color */
+		int col_from;					/* color of sender (From:) */
+		int col_head;					/* color of headerlines */
+		int col_help;					/* color of help pages */
+		int col_invers_bg;				/* color of inverse text (background) */
+		int col_invers_fg;				/* color of inverse text (foreground) */
+		int col_minihelp;				/* color of mini help menu */
+		int col_normal;					/* standard foreground color */
+		int col_markdash;				/* text highlighting with _underdashes_ */
+		int col_markstar;				/* text highlighting with *stars* */
+		int col_markslash;				/* text highlighting with /slashes/ */
+		int col_markstroke;				/* text highlighting with -strokes- */
+		int col_message;				/* color of message lines at bottom */
+		int col_newsheaders;			/* color of actual news header fields */
+		int col_quote;					/* color of quotelines */
+		int col_quote2;					/* color of twice quoted lines */
+		int col_quote3;					/* color of >=3 times quoted lines */
+		int col_extquote;				/* color of quoted external text */
+		int col_response;				/* color of response counter */
+		int col_signature;				/* color of signature */
+		int col_score_neg;				/* color of negative article score */
+		int col_score_pos;				/* color of positive article score */
+		int col_urls;					/* color of urls highlight */
+		int col_verbatim;				/* color of verbatim blocks */
+		int col_subject;				/* color of article subject */
+		int col_text;					/* color of textlines */
+		int col_title;					/* color of Help/Mail-Sign */
 #	endif /* HAVE_COLOR */
-	char slashes_regex[LEN];			/* regex used to highlight /slashes/ */
-	char stars_regex[LEN];				/* regex used to highlight *stars* */
-	char underscores_regex[LEN];			/* regex used to highlight _underscores_ */
-	char strokes_regex[LEN];			/* regex used to highlight -strokes- */
-	char sigfile[PATH_LEN];
-	char strip_re_regex[LEN];			/* regex used to find and remove 'Re:'-like strings */
-	char strip_was_regex[LEN];			/* regex used to find and remove '(was:.*'-like strings */
-	char verbatim_begin_regex[LEN];			/* regex used to find the begin of a verbatim block */
-	char verbatim_end_regex[LEN];			/* regex used to find the end of a verbatim block */
-	char savedir[PATH_LEN];				/* directory to save articles to */
-	char spamtrap_warning_addresses[LEN];
-#	ifdef NNTPS_ABLE
-		char tls_ca_cert_file[PATH_LEN];	/* file containing trusted CA certificates */
-#	endif /* NNTPS_ABLE */
-	char url_handler[LEN];				/* Helper app for opening URL's */
-	char xpost_quote_format[LEN];
-	int filter_days;					/* num of days an article filter can be active */
+	int confirm_choice;					/* what has to be confirmed */
 	int default_filter_kill_header;
 	int default_filter_select_header;
+	int filter_days;					/* num of days an article filter can be active */
 	int default_move_group;
 	int default_save_mode;				/* Append/Overwrite existing file when saving */
 	int getart_limit;					/* number of article to get */
-	int recent_time;				/* Time limit when article is "fresh" */
 	int goto_next_unread;				/* jump to next unread article with SPACE|PGDN|TAB */
 	int hide_uue;						/* treatment of uuencoded data in pager */
+	int interactive_mailer;				/* invoke user's mailreader */
 	int kill_level;						/* Define how killed articles are shown */
+	int mono_markdash;					/* attribute for text highlighting with _underdashes_ */
+	int mono_markstar;					/* attribute for text highlighting with *stars* */
+	int mono_markslash;					/* attribute for text highlighting with /slashes/ */
+	int mono_markstroke;				/* attribute for text highlighting with -strokes- */
+#	if defined(HAVE_ALARM) && defined(SIGALRM)
+		/*
+		 * # seconds after which a read from the NNTP will timeout
+		 * NB: This is different from the NNTP server timing us out due to inactivity
+		 */
+		int nntp_read_timeout_secs;
+#	endif /* HAVE_ALARM && SIGALRM */
+#	ifdef HAVE_UNICODE_NORMALIZATION
+		int normalization_form;
+#	endif /* HAVE_UNICODE_NORMALIZATION */
 	int mail_mime_encoding;
 	int post_mime_encoding;
 	int post_process_type;				/* type of post processing to be performed */
+	int quote_style;					/* quoting behaviour */
+	int recent_time;					/* Time limit when article is "fresh" */
 	int reread_active_file_secs;		/* reread active file interval in seconds */
+	int score_limit_kill;				/* score limit to kill articles */
+	int score_limit_select;				/* score limit to select articles */
+	int score_kill;						/* default score for "kill" filter rules */
+	int score_select;					/* default score for "hot" filter rules */
 	int scroll_lines;					/* # lines to scroll by in pager */
 	int show_author;					/* show_author value from 'M' menu in tinrc */
+	int show_help_mail_sign;			/* show help/mail sign in level title */
 	int sort_article_type;				/* method used to sort arts[] */
 	int sort_threads_type;				/* method used to sort base[] */
 #	ifdef USE_HEAPSORT
@@ -165,74 +202,36 @@ struct t_config {
 #	endif /* USE_HEAPSORT */
 	int strip_bogus;
 	int thread_articles;				/* threading system for viewing articles */
-	int thread_perc;				/* how close the match needs to be for THREAD_PERC to recognize two articles as the same thread */
-	int thread_score;				/* how the score for threads is computed */
-	int wildcard;						/* 0=wildmat, 1=regex */
-	int score_limit_kill;					/* score limit to kill articles */
-	int score_limit_select;					/* score limit to select articles */
-	int score_kill;						/* default score for "kill" filter rules */
-	int score_select;					/* default score for "hot" filter rules */
+	int thread_perc;					/* how close the match needs to be for THREAD_PERC to recognize two articles as the same thread */
+	int thread_score;					/* how the score for threads is computed */
 	int trim_article_body;				/* remove unnecessary blank lines */
-	int show_help_mail_sign;			/* show help/mail sign in level title */
-#	ifdef HAVE_COLOR
-		int col_back;						/* standard background color */
-		int col_from;						/* color of sender (From:) */
-		int col_head;						/* color of headerlines */
-		int col_help;						/* color of help pages */
-		int col_invers_bg;					/* color of inverse text (background) */
-		int col_invers_fg;					/* color of inverse text (foreground) */
-		int col_minihelp;					/* color of mini help menu */
-		int col_normal;						/* standard foreground color */
-		int col_markdash;					/* text highlighting with _underdashes_ */
-		int col_markstar;					/* text highlighting with *stars* */
-		int col_markslash;					/* text highlighting with /slashes/ */
-		int col_markstroke;					/* text highlighting with -strokes- */
-		int col_message;					/* color of message lines at bottom */
-		int col_newsheaders;				/* color of actual news header fields */
-		int col_quote;						/* color of quotelines */
-		int col_quote2;						/* color of twice quoted lines */
-		int col_quote3;						/* color of >=3 times quoted lines */
-		int col_extquote;					/* color of quoted external text */
-		int col_response;					/* color of response counter */
-		int col_signature;					/* color of signature */
-		int col_score_neg;					/* color of negative article score */
-		int col_score_pos;					/* color of positive article score */
-		int col_urls;						/* color of urls highlight */
-		int col_verbatim;					/* color of verbatim blocks */
-		int col_subject;					/* color of article subject */
-		int col_text;						/* color of textlines */
-		int col_title;						/* color of Help/Mail-Sign */
-#	endif /* HAVE_COLOR */
+	int wildcard;						/* 0=wildmat, 1=regex */
 	int word_h_display_marks;			/* display * or _ when highlighting or space or nothing */
-	int mono_markdash;				/* attribute for text highlighting with _underdashes_ */
-	int mono_markstar;				/* attribute for text highlighting with *stars* */
-	int mono_markslash;				/* attribute for text highlighting with /slashes/ */
-	int mono_markstroke;				/* attribute for text highlighting with -strokes- */
-	t_bool word_highlight;				/* like word_highlight but stored in tinrc */
-	t_bool url_highlight;				/* highlight urls in text bodies */
-	int wrap_column;				/* screen column to wrap of text messages */
+	int wrap_column;					/* screen column to wrap of text messages */
 #	ifdef HAVE_COLOR
-		t_bool use_color;					/* like use_color but stored in tinrc */
+		t_bool use_color;				/* like use_color but stored in tinrc */
 #	endif /* HAVE_COLOR */
 	t_bool abbreviate_groupname;		/* abbreviate groupnames like n.s.readers */
 	t_bool add_posted_to_filter;
 	t_bool advertising;
 	t_bool alternative_handling;
-	int auto_cc_bcc;					/* add your name to cc/bcc automatically */
+	t_bool ask_for_metamail;			/* enables/disables the viewer query if a MIME message is going to be displayed */
 	t_bool auto_list_thread;			/* list thread when entering it using right arrow */
 	t_bool auto_reconnect;				/* automatically reconnect to news server */
 	t_bool batch_save;					/* save arts if -M/-S command line switch specified */
 	t_bool beginner_level;				/* beginner level (shows mini help a la elm) */
 	t_bool cache_overview_files;		/* create local index files for NNTP overview files */
 	t_bool catchup_read_groups;			/* ask if read groups are to be marked read */
-	int confirm_choice;				/* what has to be confirmed */
+#if defined(USE_ZLIB) && defined(CPP_DOES_CONCAT)
+	t_bool compress_overview_files;		/* compress local index files (overview) with gz */
+#endif /* USE_ZLIB && CPP_DOES_CONCAT */
 	t_bool draw_arrow;					/* draw -> or highlighted bar */
+	t_bool dont_break_words;			/* don't break words when wrapping long lines */
 	t_bool force_screen_redraw;			/* force screen redraw after external (shell) commands */
 	t_bool group_catchup_on_exit;		/* catchup group with left arrow key or not */
 	t_bool info_in_last_line;
 	t_bool inverse_okay;
 	t_bool keep_dead_articles;			/* keep all dead articles in dead.articles */
-	char posted_articles_file[PATH_LEN];		/* if set, file in which to keep posted articles */
 	t_bool mail_8bit_header;			/* allow 8bit chars. in header of mail message */
 	t_bool mark_ignore_tags;			/* Ignore tags for GROUP_MARK_THREAD_READ/THREAD_MARK_ARTICLE_READ */
 	t_bool mark_saved_read;				/* mark saved article/thread as read */
@@ -240,11 +239,10 @@ struct t_config {
 	t_bool post_8bit_header;			/* allow 8bit chars. in header when posting to newsgroup */
 	t_bool post_process_view;			/* set TRUE to invoke mailcap viewer app */
 #	ifndef DISABLE_PRINTING
-		t_bool print_header;				/* print all of mail header or just Subject: & From lines */
+		t_bool print_header;			/* print all of mail header or just Subject: & From lines */
 #	endif /* !DISABLE_PRINTING */
 	t_bool process_only_unread;			/* save/print/mail/pipe unread/all articles */
 	t_bool prompt_followupto;			/* display empty Followup-To header in editor */
-	int quote_style;					/* quoting behaviour */
 	t_bool show_description;
 	t_bool show_only_unread_arts;		/* show only new/unread arts or all arts */
 	t_bool show_only_unread_groups;		/* set TRUE to see only subscribed groups with new news */
@@ -259,90 +257,99 @@ struct t_config {
 #	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 		t_bool suppress_soft_hyphens;	/* set TRUE to remove soft hyphens (U+00AD) from articles */
 #	endif /* MULTIBYTE_ABLE && !NO_LOCALE */
-	t_bool tex2iso_conv;			/* convert "a to Umlaut-a */
+	t_bool tex2iso_conv;				/* convert "a to Umlaut-a */
 	t_bool thread_catchup_on_exit;		/* catchup thread with left arrow key or not */
+#	if defined(HAVE_ICONV_OPEN_TRANSLIT) && defined(CHARSET_CONVERSION)
+		t_bool translit;				/* use //TRANSLIT */
+#	endif /* HAVE_ICONV_OPEN_TRANSLIT && CHARSET_CONVERSION */
 	t_bool unlink_article;
 #	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-		t_bool utf8_graphics;				/* use utf-8 characters for line drawing */
+		t_bool utf8_graphics;			/* use utf-8 characters for line drawing */
 #	endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 	t_bool verbatim_handling;			/* Detection of verbatim blocks */
 #	ifdef HAVE_COLOR
 		t_bool extquote_handling;		/* Detection of quoted text from external sources */
 #	endif /* HAVE_COLOR */
-	char inews_prog[PATH_LEN];
-#	ifdef USE_CANLOCK
-		int cancel_lock_algo;			/* algorithm used for Cancel-Lock/Cancel-Key */
-#	endif /* USE_CANLOCK */
-	int interactive_mailer;			/* invoke user's mailreader */
 	t_bool use_mouse;					/* enables/disables mouse support under xterm */
 #	ifdef HAVE_KEYPAD
 		t_bool use_keypad;
 #	endif /* HAVE_KEYPAD */
-	t_bool wrap_on_next_unread;		/* Wrap around threads when searching next unread article */
-	t_bool ask_for_metamail;			/* enables/disables the viewer query if a MIME message is going to be displayed */
 	t_bool default_filter_kill_case;
 	t_bool default_filter_kill_expire;
 	t_bool default_filter_kill_global;
 	t_bool default_filter_select_case;
 	t_bool default_filter_select_expire;
+	t_bool default_filter_select_global;
 #	ifdef XFACE_ABLE
 		t_bool use_slrnface;			/* Use the slrnface program to display 'X-Face:'s */
 #	endif /* XFACE_ABLE */
-	t_bool default_filter_select_global;
-	char select_format[LEN];		/* format string for the selection level */
-	char group_format[LEN];			/* format string for the group level */
-	char thread_format[LEN];		/* format string for the thread level */
-	char attachment_format[LEN];	/* format string for the attachment level */
-	char page_mime_format[LEN];		/* format string for the mime header in page level */
-	char page_uue_format[LEN];		/* format string for the uue header in page level */
-	char date_format[LEN];			/* format string for the date display in the page header */
-#	ifdef HAVE_UNICODE_NORMALIZATION
-		int normalization_form;
-#	endif /* HAVE_UNICODE_NORMALIZATION */
 #	if defined(HAVE_LIBICUUC) && defined(MULTIBYTE_ABLE) && defined(HAVE_UNICODE_UBIDI_H) && !defined(NO_LOCALE)
 		t_bool render_bidi;
 #	endif /* HAVE_LIBICUUC && MULTIBYTE_ABLE && HAVE_UNICODE_UBIDI_H && !NO_LOCALE */
+	t_bool url_highlight;				/* highlight urls in text bodies */
+	t_bool word_highlight;				/* like word_highlight but stored in tinrc */
+	t_bool wrap_on_next_unread;			/* Wrap around threads when searching next unread article */
+	/*
+	 * Chars used to show article status
+	 */
+#	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+		wchar_t art_marked_deleted;
+		wchar_t art_marked_inrange;		/* misnomer, as it's also used for other ranges */
+		wchar_t art_marked_return;
+		wchar_t art_marked_selected;
+		wchar_t art_marked_recent;
+		wchar_t art_marked_unread;
+		wchar_t art_marked_read;
+		wchar_t art_marked_killed;
+		wchar_t art_marked_read_selected;
+#	else
+		char art_marked_deleted;
+		char art_marked_inrange;		/* misnomer, as it's also used for other ranges */
+		char art_marked_return;
+		char art_marked_selected;
+		char art_marked_recent;
+		char art_marked_unread;
+		char art_marked_read;
+		char art_marked_killed;
+		char art_marked_read_selected;
+#	endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+	char *attrib_editor_format;
+	char *attrib_fcc;
+	char *attrib_maildir;
+	char *attrib_from;
+	char *attrib_mailing_list;
+	char *attrib_organization;
+	char *attrib_followup_to;
+	char *attrib_mime_types_to_save;
+	char *attrib_news_headers_to_display;
+	char *attrib_news_headers_to_not_display;
+	char *attrib_news_quote_format;
+	char *attrib_quote_chars;
+	char *attrib_sigfile;
+	char *attrib_savedir;
+	char *attrib_savefile;
+	char *attrib_x_body;
+	char *attrib_x_headers;
+#	ifdef HAVE_ISPELL
+		char *attrib_ispell;
+#	endif /* HAVE_ISPELL */
+	char *attrib_quick_kill_scope;
+	char *attrib_quick_select_scope;
+	char *attrib_group_format;
+	char *attrib_thread_format;
+	char *attrib_date_format;
 #	ifdef CHARSET_CONVERSION
+		char *attrib_undeclared_charset;
 		int attrib_mm_network_charset;
-		char attrib_undeclared_charset[LEN];
+#		ifdef USE_ICU_UCSDET
+		t_bool attrib_undeclared_cs_guess;
+#		endif /* USE_ICU_UCSDET */
 #	endif /* !CHARSET_CONVERSION */
-	char attrib_editor_format[PATH_LEN];
-	char attrib_fcc[PATH_LEN];
-	char attrib_maildir[PATH_LEN];
-	char attrib_from[HEADER_LEN];
-	char attrib_mailing_list[HEADER_LEN];
-	char attrib_organization[LEN];
-	char attrib_followup_to[LEN];
-	char attrib_mime_types_to_save[LEN];
-	char attrib_news_headers_to_display[LEN];
-	char attrib_news_headers_to_not_display[LEN];
-	char attrib_news_quote_format[LEN];
-	char attrib_quote_chars[LEN];
-	char attrib_sigfile[PATH_LEN];
-	char attrib_savedir[PATH_LEN];
-	char attrib_savefile[PATH_LEN];
-	char attrib_x_body[LEN];
-	char attrib_x_headers[HEADER_LEN];
-#	ifdef HAVE_ISPELL
-		char attrib_ispell[PATH_LEN];
-#	endif /* HAVE_ISPELL */
-	char attrib_quick_kill_scope[LEN];
-	char attrib_quick_select_scope[LEN];
-	char attrib_group_format[LEN];
-	char attrib_thread_format[LEN];
-	char attrib_date_format[LEN];
 	int attrib_trim_article_body;
 	int attrib_auto_cc_bcc;
 	int attrib_quick_kill_header;
 	int attrib_quick_select_header;
 	int attrib_mail_mime_encoding;
-#	if defined(HAVE_ALARM) && defined(SIGALRM)
-		/*
-		 * # seconds after which a read from the NNTP will timeout
-		 * NB: This is different from the NNTP server timing us out due to inactivity
-		 */
-		int nntp_read_timeout_secs;
-#	endif /* HAVE_ALARM && SIGALRM */
 	int attrib_post_mime_encoding;
 	int attrib_post_process_type;
 	int attrib_show_author;
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/tnntp.h tin-2.6.4/include/tnntp.h
--- tin-2.6.3/include/tnntp.h	2023-12-24 00:38:36.000000000 +0100
+++ tin-2.6.4/include/tnntp.h	2024-11-25 20:44:39.485359521 +0100
@@ -3,10 +3,10 @@
  *  Module    : tnntp.h
  *  Author    : Thomas Dickey <dickey@invisible-island.net>
  *  Created   : 1997-03-05
- *  Updated   : 2022-09-19
+ *  Updated   : 2024-01-19
  *  Notes     : #include files, #defines & struct's
  *
- * Copyright (c) 1997-2024 Thomas Dickey <dickey@invisible-island.net>
+ * Copyright (c) 1997-2025 Thomas Dickey <dickey@invisible-island.net>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -51,7 +51,13 @@
 #		ifdef HAVE_FCNTL_H
 #			include	<fcntl.h>
 #		endif /* HAVE_FCNTL_H */
-#		include	<tiuser.h>
+#		ifdef HAVE_TIUSER_H
+#			include	<tiuser.h>
+#		else
+#			ifdef HAVE_SYS_TIUSER_H
+#				include <sys/tiuser.h>
+#			endif /* HAVE_SYS_TIUSER_H */
+#		endif /* HAVE_TIUSER_H */
 #		ifdef HAVE_STROPTS_H
 #			include	<stropts.h>
 #		endif /* HAVE_STROPTS_H */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/tnntps.h tin-2.6.4/include/tnntps.h
--- tin-2.6.3/include/tnntps.h	2023-12-24 00:38:36.000000000 +0100
+++ tin-2.6.4/include/tnntps.h	2024-11-25 20:44:39.493359837 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2022-12-13
  *  Notes     : TLS #include files, #defines & struct's
  *
- * Copyright (c) 2022-2024 Enrik Berkhan <Enrik.Berkhan@inka.de>
+ * Copyright (c) 2022-2025 Enrik Berkhan <Enrik.Berkhan@inka.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/trace.h tin-2.6.4/include/trace.h
--- tin-2.6.3/include/trace.h	2023-12-24 00:38:36.000000000 +0100
+++ tin-2.6.4/include/trace.h	2024-11-25 20:44:39.501360154 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2002-11-10
  *  Notes     : Interface of trace.c
  *
- * Copyright (c) 1997-2024 Thomas Dickey <dickey@invisible-island.net>
+ * Copyright (c) 1997-2025 Thomas Dickey <dickey@invisible-island.net>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp '--exclude=.bzr*' tin-2.6.3/include/version.h tin-2.6.4/include/version.h
--- tin-2.6.3/include/version.h	2023-12-24 00:38:36.000000000 +0100
+++ tin-2.6.4/include/version.h	2024-12-24 00:18:40.483937155 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2021-02-01
  *  Notes     :
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -43,10 +43,10 @@
 
 #	define PRODUCT		"tin"
 #	ifndef TIN_AUTOCONF_H
-#		define VERSION		"2.6.3"
+#		define VERSION		"2.6.4"
 #	endif /* !TIN_AUTOCONF_H */
-#	define RELEASEDATE	"20231224"
-#	define RELEASENAME	"Banff"
+#	define RELEASEDATE	"20241224"
+#	define RELEASENAME	"Helmsdale"
 /* config-file versions - must be dotted triples in the range 0 to 99 each */
 #	define TINRC_VERSION	"1.3.18"
 #	define ATTRIBUTES_VERSION	"1.0.11"
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/ChangeLog tin-2.6.4/intl/ChangeLog
--- tin-2.6.3/intl/ChangeLog	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/ChangeLog	1970-01-01 01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-2001-09-13  GNU  <bug-gnu-utils@gnu.org>
-
-	* Version 0.10.40 released.
-
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/Makefile.in tin-2.6.4/intl/Makefile.in
--- tin-2.6.3/intl/Makefile.in	2022-01-28 03:23:17.000000000 +0100
+++ tin-2.6.4/intl/Makefile.in	1970-01-01 01:00:00.000000000 +0100
@@ -1,318 +0,0 @@
-# Makefile for directory with message catalog handling in GNU NLS Utilities.
-# Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Library General Public License as published
-# by the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-# USA.
-
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-
-SHELL = /bin/sh
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-top_builddir = ..
-VPATH = @srcdir@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-transform = @program_transform_name@
-libdir = @libdir@
-includedir = @includedir@
-datarootdir = @datarootdir@
-datadir = @datadir@
-localedir = $(datadir)/locale
-gettextsrcdir = $(datadir)/gettext/intl
-aliaspath = $(localedir)
-subdir = intl
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-mkinstalldirs = mkdir -p
-
-l = @INTL_LIBTOOL_SUFFIX_PREFIX@
-
-ARCHIVE = @AR@ @ARFLAGS@
-CC = @CC@
-LIBTOOL = libtool
-RANLIB = @RANLIB@
-YACC = @INTL_YACC@ -y -d
-YFLAGS = -p __gettext
-
-x = @EXEEXT@
-o = .@OBJEXT@
-
-DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \
--DLIBDIR=\"$(libdir)\" @DEFS@
-CPPFLAGS = @CPPFLAGS@
-CFLAGS = @CFLAGS@
-LDFLAGS = @LDFLAGS@
-
-COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
-
-HEADERS = $(COMHDRS) libgnuintl.h libgettext.h loadinfo.h
-COMHDRS = gettext.h gettextP.h hash-string.h
-SOURCES = $(COMSRCS) intl-compat.c
-COMSRCS = bindtextdom.c dcgettext.c dgettext.c gettext.c \
-finddomain.c loadmsgcat.c localealias.c textdomain.c l10nflist.c \
-explodename.c dcigettext.c dcngettext.c dngettext.c ngettext.c plural.y \
-localcharset.c
-OBJECTS = @INTLOBJS@ bindtextdom.$lo dcgettext.$lo dgettext.$lo gettext.$lo \
-finddomain.$lo loadmsgcat.$lo localealias.$lo textdomain.$lo l10nflist.$lo \
-explodename.$lo dcigettext.$lo dcngettext.$lo dngettext.$lo ngettext.$lo \
-plural.$lo localcharset.$lo
-GETTOBJS = intl-compat.$lo
-DISTFILES.common = Makefile.in \
-config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES)
-DISTFILES.generated = plural.c
-DISTFILES.normal = VERSION
-DISTFILES.gettext = COPYING.LIB-2 COPYING.LIB-2.1 libintl.glibc
-DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c
-
-# Libtool's library version information for libintl.
-# Before making a gettext release, the gettext maintainer must change this
-# according to the libtool documentation, section "Library interface versions".
-# Maintainers of other packages that include the intl directory must *not*
-# change these values.
-LTV_CURRENT=1
-LTV_REVISION=1
-LTV_AGE=0
-
-.SUFFIXES:
-.SUFFIXES: .c .y $o .lo .sin .sed
-.c$o:
-	$(COMPILE) $<
-.c.lo:
-	rm -f $@
-	$(LIBTOOL) --mode=compile $(COMPILE) $<
-
-.y.c:
-	rm -f $@
-	$(YACC) $(YFLAGS) -o $@ $<
-	rm -f $*.h
-
-.sin.sed:
-	sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > t-$@
-	mv t-$@ $@
-
-INCLUDES = -I.. -I. -I$(top_srcdir)/intl -I../include
-
-all: all-@USE_INCLUDED_LIBINTL@
-all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed
-all-no: all-no-@BUILD_INCLUDED_LIBINTL@
-all-no-yes: libgnuintl.$la
-all-no-no:
-
-libintl.a libgnuintl.a: $(OBJECTS)
-	rm -f $@
-	$(ARCHIVE) $@ $(OBJECTS)
-	$(RANLIB) $@
-
-libintl.la libgnuintl.la: $(OBJECTS)
-	$(LIBTOOL) --mode=link \
-	  $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \
-	  $(OBJECTS) @LIBICONV@ \
-	  -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \
-	  -rpath $(libdir) \
-	  -no-undefined
-
-libintl.h: libgnuintl.h
-	cp $(srcdir)/libgnuintl.h libintl.h
-
-charset.alias: config.charset
-	$(SHELL) $(srcdir)/config.charset '@host@' > t-$@
-	mv t-$@ $@
-
-check: all
-
-# This installation goal is only used in GNU gettext.  Packages which
-# only use the library should use install instead.
-
-# We must not install the libintl.h/libintl.a files if we are on a
-# system which has the GNU gettext() function in its C library or in a
-# separate library.
-# If you want to use the one which comes with this version of the
-# package, you have to use `configure --with-included-gettext'.
-install: install-exec install-data
-install-exec: all
-	if test "$(PACKAGE)" = "gettext" \
-	   && test '@INTLOBJS@' = '$(GETTOBJS)'; then \
-	  $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
-	  $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \
-	  $(LIBTOOL) --mode=install \
-	    $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \
-	else \
-	  : ; \
-	fi
-	if test '@USE_INCLUDED_LIBINTL@' = yes; then \
-	  $(mkinstalldirs) $(DESTDIR)$(libdir); \
-	  temp=$(DESTDIR)$(libdir)/t-charset.alias; \
-	  dest=$(DESTDIR)$(libdir)/charset.alias; \
-	  if test -f $(DESTDIR)$(libdir)/charset.alias; then \
-	    orig=$(DESTDIR)$(libdir)/charset.alias; \
-	    sed -f ref-add.sed $$orig > $$temp; \
-	    $(INSTALL_DATA) $$temp $$dest; \
-	    rm -f $$temp; \
-	  else \
-	    if test @GLIBC21@ = no; then \
-	      orig=charset.alias; \
-	      sed -f ref-add.sed $$orig > $$temp; \
-	      $(INSTALL_DATA) $$temp $$dest; \
-	      rm -f $$temp; \
-	    fi; \
-	  fi; \
-	  $(mkinstalldirs) $(DESTDIR)$(localedir); \
-	  test -f $(DESTDIR)$(localedir)/locale.alias \
-	    && orig=$(DESTDIR)$(localedir)/locale.alias \
-	    || orig=$(srcdir)/locale.alias; \
-	  temp=$(DESTDIR)$(localedir)/t-locale.alias; \
-	  dest=$(DESTDIR)$(localedir)/locale.alias; \
-	  sed -f ref-add.sed $$orig > $$temp; \
-	  $(INSTALL_DATA) $$temp $$dest; \
-	  rm -f $$temp; \
-	else \
-	  : ; \
-	fi
-install-data: all
-	if test "$(PACKAGE)" = "gettext"; then \
-	  $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
-	  $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \
-	  $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \
-	  dists="COPYING.LIB-2 COPYING.LIB-2.1 $(DISTFILES.common)"; \
-	  for file in $$dists; do \
-	    $(INSTALL_DATA) $(srcdir)/$$file \
-			    $(DESTDIR)$(gettextsrcdir)/$$file; \
-	  done; \
-	  chmod a+x $(DESTDIR)$(gettextsrcdir)/config.charset; \
-	  dists="$(DISTFILES.generated)"; \
-	  for file in $$dists; do \
-	    if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
-	    $(INSTALL_DATA) $$dir/$$file \
-			    $(DESTDIR)$(gettextsrcdir)/$$file; \
-	  done; \
-	  dists="$(DISTFILES.obsolete)"; \
-	  for file in $$dists; do \
-	    rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
-	  done; \
-	else \
-	  : ; \
-	fi
-
-# Define this as empty until I found a useful application.
-installcheck:
-
-uninstall:
-	if test "$(PACKAGE)" = "gettext" \
-	   && test '@INTLOBJS@' = '$(GETTOBJS)'; then \
-	  rm -f $(DESTDIR)$(includedir)/libintl.h; \
-	  $(LIBTOOL) --mode=uninstall \
-	    rm -f $(DESTDIR)$(libdir)/libintl.$la; \
-	else \
-	  : ; \
-	fi
-	if test '@USE_INCLUDED_LIBINTL@' = yes; then \
-	  if test -f $(DESTDIR)$(libdir)/charset.alias; then \
-	    temp=$(DESTDIR)$(libdir)/t-charset.alias; \
-	    dest=$(DESTDIR)$(libdir)/charset.alias; \
-	    sed -f ref-del.sed $$dest > $$temp; \
-	    if grep '^# Packages using this file: $$' $$temp > /dev/null; then \
-	      rm -f $$dest; \
-	    else \
-	      $(INSTALL_DATA) $$temp $$dest; \
-	    fi; \
-	    rm -f $$temp; \
-	  fi; \
-	  if test -f $(DESTDIR)$(localedir)/locale.alias; then \
-	    temp=$(DESTDIR)$(localedir)/t-locale.alias; \
-	    dest=$(DESTDIR)$(localedir)/locale.alias; \
-	    sed -f ref-del.sed $$dest > $$temp; \
-	    if grep '^# Packages using this file: $$' $$temp > /dev/null; then \
-	      rm -f $$dest; \
-	    else \
-	      $(INSTALL_DATA) $$temp $$dest; \
-	    fi; \
-	    rm -f $$temp; \
-	  fi; \
-	else \
-	  : ; \
-	fi
-	if test "$(PACKAGE)" = "gettext"; then \
-	  for file in VERSION ChangeLog COPYING.LIB-2 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \
-	    rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
-	  done; \
-	else \
-	  : ; \
-	fi
-
-info dvi:
-
-$(OBJECTS): ../include/autoconf.h libgnuintl.h
-bindtextdom.$lo finddomain.$lo loadmsgcat.$lo: gettextP.h gettext.h loadinfo.h
-dcgettext.$lo: gettextP.h gettext.h hash-string.h loadinfo.h
-
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES)
-	here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES)
-
-id: ID
-
-ID: $(HEADERS) $(SOURCES)
-	here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES)
-
-
-mostlyclean:
-	rm -f *.a *.la *$o *.lo core core.*
-	rm -f libintl.h charset.alias ref-add.sed ref-del.sed
-	rm -f -r .libs _libs
-
-clean: mostlyclean
-
-distclean: clean
-	rm -f Makefile ID TAGS
-	if test "$(PACKAGE)" = gettext; then \
-	  rm -f ChangeLog.inst $(DISTFILES.normal); \
-	else \
-	  : ; \
-	fi
-
-maintainer-clean: distclean
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-
-
-# GNU gettext needs not contain the file `VERSION' but contains some
-# other files which should not be distributed in other packages.
-distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
-dist distdir: Makefile
-	if test "$(PACKAGE)" = gettext; then \
-	  additional="$(DISTFILES.gettext)"; \
-	else \
-	  additional="$(DISTFILES.normal)"; \
-	fi; \
-	$(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \
-	for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \
-	  if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
-	  ln $$dir/$$file $(distdir) 2> /dev/null \
-	    || cp -p $$dir/$$file $(distdir); \
-	done
-
-Makefile: Makefile.in ../config.status
-	cd .. \
-	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-# Tell versions [3.59,3.63) of GNU make not to export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/VERSION tin-2.6.4/intl/VERSION
--- tin-2.6.3/intl/VERSION	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/VERSION	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-GNU gettext library from gettext-0.10.40
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/bindtextdom.c tin-2.6.4/intl/bindtextdom.c
--- tin-2.6.3/intl/bindtextdom.c	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/bindtextdom.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,369 +0,0 @@
-/* Implementation of the bindtextdomain(3) function
-   Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-#include <stddef.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgnuintl.h"
-#endif
-#include "gettextP.h"
-
-#ifdef _LIBC
-/* We have to handle multi-threaded applications.  */
-# include <bits/libc-lock.h>
-#else
-/* Provide dummy implementation if this is outside glibc.  */
-# define __libc_rwlock_define(CLASS, NAME)
-# define __libc_rwlock_wrlock(NAME)
-# define __libc_rwlock_unlock(NAME)
-#endif
-
-/* The internal variables in the standalone libintl.a must have different
-   names than the internal variables in GNU libc, otherwise programs
-   using libintl.a cannot be linked statically.  */
-#if !defined _LIBC
-# define _nl_default_dirname _nl_default_dirname__
-# define _nl_domain_bindings _nl_domain_bindings__
-#endif
-
-/* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>.  */
-#ifndef offsetof
-# define offsetof(type,ident) ((size_t)&(((type*)0)->ident))
-#endif
-
-/* @@ end of prolog @@ */
-
-/* Contains the default location of the message catalogs.  */
-extern const char _nl_default_dirname[];
-
-/* List with bindings of specific domains.  */
-extern struct binding *_nl_domain_bindings;
-
-/* Lock variable to protect the global data in the gettext implementation.  */
-__libc_rwlock_define (extern, _nl_state_lock)
-
-
-/* Names for the libintl functions are a problem.  They must not clash
-   with existing names and they should follow ANSI C.  But this source
-   code is also used in GNU C Library where the names have a __
-   prefix.  So we have to make a difference here.  */
-#ifdef _LIBC
-# define BINDTEXTDOMAIN __bindtextdomain
-# define BIND_TEXTDOMAIN_CODESET __bind_textdomain_codeset
-# ifndef strdup
-#  define strdup(str) __strdup (str)
-# endif
-#else
-# define BINDTEXTDOMAIN bindtextdomain__
-# define BIND_TEXTDOMAIN_CODESET bind_textdomain_codeset__
-#endif
-
-/* Prototypes for local functions.  */
-static void set_binding_values PARAMS ((const char *domainname,
-					const char **dirnamep,
-					const char **codesetp));
-     
-/* Specifies the directory name *DIRNAMEP and the output codeset *CODESETP
-   to be used for the DOMAINNAME message catalog.
-   If *DIRNAMEP or *CODESETP is NULL, the corresponding attribute is not
-   modified, only the current value is returned.
-   If DIRNAMEP or CODESETP is NULL, the corresponding attribute is neither
-   modified nor returned.  */
-static void
-set_binding_values (domainname, dirnamep, codesetp)
-     const char *domainname;
-     const char **dirnamep;
-     const char **codesetp;
-{
-  struct binding *binding;
-  int modified;
-
-  /* Some sanity checks.  */
-  if (domainname == NULL || domainname[0] == '\0')
-    {
-      if (dirnamep)
-	*dirnamep = NULL;
-      if (codesetp)
-	*codesetp = NULL;
-      return;
-    }
-
-  __libc_rwlock_wrlock (_nl_state_lock);
-
-  modified = 0;
-
-  for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
-    {
-      int compare = strcmp (domainname, binding->domainname);
-      if (compare == 0)
-	/* We found it!  */
-	break;
-      if (compare < 0)
-	{
-	  /* It is not in the list.  */
-	  binding = NULL;
-	  break;
-	}
-    }
-
-  if (binding != NULL)
-    {
-      if (dirnamep)
-	{
-	  const char *dirname = *dirnamep;
-
-	  if (dirname == NULL)
-	    /* The current binding has be to returned.  */
-	    *dirnamep = binding->dirname;
-	  else
-	    {
-	      /* The domain is already bound.  If the new value and the old
-		 one are equal we simply do nothing.  Otherwise replace the
-		 old binding.  */
-	      char *result = binding->dirname;
-	      if (strcmp (dirname, result) != 0)
-		{
-		  if (strcmp (dirname, _nl_default_dirname) == 0)
-		    result = (char *) _nl_default_dirname;
-		  else
-		    {
-#if defined _LIBC || defined HAVE_STRDUP
-		      result = strdup (dirname);
-#else
-		      size_t len = strlen (dirname) + 1;
-		      result = (char *) malloc (len);
-		      if (__builtin_expect (result != NULL, 1))
-			memcpy (result, dirname, len);
-#endif
-		    }
-
-		  if (__builtin_expect (result != NULL, 1))
-		    {
-		      if (binding->dirname != _nl_default_dirname)
-			free (binding->dirname);
-
-		      binding->dirname = result;
-		      modified = 1;
-		    }
-		}
-	      *dirnamep = result;
-	    }
-	}
-
-      if (codesetp)
-	{
-	  const char *codeset = *codesetp;
-
-	  if (codeset == NULL)
-	    /* The current binding has be to returned.  */
-	    *codesetp = binding->codeset;
-	  else
-	    {
-	      /* The domain is already bound.  If the new value and the old
-		 one are equal we simply do nothing.  Otherwise replace the
-		 old binding.  */
-	      char *result = binding->codeset;
-	      if (result == NULL || strcmp (codeset, result) != 0)
-		{
-#if defined _LIBC || defined HAVE_STRDUP
-		  result = strdup (codeset);
-#else
-		  size_t len = strlen (codeset) + 1;
-		  result = (char *) malloc (len);
-		  if (__builtin_expect (result != NULL, 1))
-		    memcpy (result, codeset, len);
-#endif
-
-		  if (__builtin_expect (result != NULL, 1))
-		    {
-		      if (binding->codeset != NULL)
-			free (binding->codeset);
-
-		      binding->codeset = result;
-		      binding->codeset_cntr++;
-		      modified = 1;
-		    }
-		}
-	      *codesetp = result;
-	    }
-	}
-    }
-  else if ((dirnamep == NULL || *dirnamep == NULL)
-	   && (codesetp == NULL || *codesetp == NULL))
-    {
-      /* Simply return the default values.  */
-      if (dirnamep)
-	*dirnamep = _nl_default_dirname;
-      if (codesetp)
-	*codesetp = NULL;
-    }
-  else
-    {
-      /* We have to create a new binding.  */
-      size_t len = strlen (domainname) + 1;
-      struct binding *new_binding =
-	(struct binding *) malloc (offsetof (struct binding, domainname) + len);
-
-      if (__builtin_expect (new_binding == NULL, 0))
-	goto failed;
-
-      memcpy (new_binding->domainname, domainname, len);
-
-      if (dirnamep)
-	{
-	  const char *dirname = *dirnamep;
-
-	  if (dirname == NULL)
-	    /* The default value.  */
-	    dirname = _nl_default_dirname;
-	  else
-	    {
-	      if (strcmp (dirname, _nl_default_dirname) == 0)
-		dirname = _nl_default_dirname;
-	      else
-		{
-		  char *result;
-#if defined _LIBC || defined HAVE_STRDUP
-		  result = strdup (dirname);
-		  if (__builtin_expect (result == NULL, 0))
-		    goto failed_dirname;
-#else
-		  size_t len = strlen (dirname) + 1;
-		  result = (char *) malloc (len);
-		  if (__builtin_expect (result == NULL, 0))
-		    goto failed_dirname;
-		  memcpy (result, dirname, len);
-#endif
-		  dirname = result;
-		}
-	    }
-	  *dirnamep = dirname;
-	  new_binding->dirname = (char *) dirname;
-	}
-      else
-	/* The default value.  */
-	new_binding->dirname = (char *) _nl_default_dirname;
-
-      new_binding->codeset_cntr = 0;
-
-      if (codesetp)
-	{
-	  const char *codeset = *codesetp;
-
-	  if (codeset != NULL)
-	    {
-	      char *result;
-
-#if defined _LIBC || defined HAVE_STRDUP
-	      result = strdup (codeset);
-	      if (__builtin_expect (result == NULL, 0))
-		goto failed_codeset;
-#else
-	      size_t len = strlen (codeset) + 1;
-	      result = (char *) malloc (len);
-	      if (__builtin_expect (result == NULL, 0))
-		goto failed_codeset;
-	      memcpy (result, codeset, len);
-#endif
-	      codeset = result;
-	      new_binding->codeset_cntr++;
-	    }
-	  *codesetp = codeset;
-	  new_binding->codeset = (char *) codeset;
-	}
-      else
-	new_binding->codeset = NULL;
-
-      /* Now enqueue it.  */
-      if (_nl_domain_bindings == NULL
-	  || strcmp (domainname, _nl_domain_bindings->domainname) < 0)
-	{
-	  new_binding->next = _nl_domain_bindings;
-	  _nl_domain_bindings = new_binding;
-	}
-      else
-	{
-	  binding = _nl_domain_bindings;
-	  while (binding->next != NULL
-		 && strcmp (domainname, binding->next->domainname) > 0)
-	    binding = binding->next;
-
-	  new_binding->next = binding->next;
-	  binding->next = new_binding;
-	}
-
-      modified = 1;
-
-      /* Here we deal with memory allocation failures.  */
-      if (0)
-	{
-	failed_codeset:
-	  if (new_binding->dirname != _nl_default_dirname)
-	    free (new_binding->dirname);
-	failed_dirname:
-	  free (new_binding);
-	failed:
-	  if (dirnamep)
-	    *dirnamep = NULL;
-	  if (codesetp)
-	    *codesetp = NULL;
-	}
-    }
-
-  /* If we modified any binding, we flush the caches.  */
-  if (modified)
-    ++_nl_msg_cat_cntr;
-
-  __libc_rwlock_unlock (_nl_state_lock);
-}
-
-/* Specify that the DOMAINNAME message catalog will be found
-   in DIRNAME rather than in the system locale data base.  */
-char *
-BINDTEXTDOMAIN (domainname, dirname)
-     const char *domainname;
-     const char *dirname;
-{
-  set_binding_values (domainname, &dirname, NULL);
-  return (char *) dirname;
-}
-
-/* Specify the character encoding in which the messages from the
-   DOMAINNAME message catalog will be returned.  */
-char *
-BIND_TEXTDOMAIN_CODESET (domainname, codeset)
-     const char *domainname;
-     const char *codeset;
-{
-  set_binding_values (domainname, NULL, &codeset);
-  return (char *) codeset;
-}
-
-#ifdef _LIBC
-/* Aliases for function names in GNU C Library.  */
-weak_alias (__bindtextdomain, bindtextdomain);
-weak_alias (__bind_textdomain_codeset, bind_textdomain_codeset);
-#endif
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/config.charset tin-2.6.4/intl/config.charset
--- tin-2.6.3/intl/config.charset	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/config.charset	1970-01-01 01:00:00.000000000 +0100
@@ -1,438 +0,0 @@
-#! /bin/sh
-# Output a system dependent table of character encoding aliases.
-#
-#   Copyright (C) 2000-2001 Free Software Foundation, Inc.
-#
-#   This program is free software; you can redistribute it and/or modify it
-#   under the terms of the GNU Library General Public License as published
-#   by the Free Software Foundation; either version 2, or (at your option)
-#   any later version.
-#
-#   This program is distributed in the hope that it will be useful,
-#   but WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-#   Library General Public License for more details.
-#
-#   You should have received a copy of the GNU Library General Public
-#   License along with this program; if not, write to the Free Software
-#   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-#   USA.
-#
-# The table consists of lines of the form
-#    ALIAS  CANONICAL
-#
-# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)".
-# ALIAS is compared in a case sensitive way.
-#
-# CANONICAL is the GNU canonical name for this character encoding.
-# It must be an encoding supported by libiconv. Support by GNU libc is
-# also desirable. CANONICAL is case insensitive. Usually an upper case
-# MIME charset name is preferred.
-# The current list of GNU canonical charset names is as follows.
-#
-#       name                         used by which systems         a MIME name?
-#   ASCII, ANSI_X3.4-1968     glibc solaris freebsd
-#   ISO-8859-1                glibc aix hpux irix osf solaris freebsd   yes
-#   ISO-8859-2                glibc aix hpux irix osf solaris freebsd   yes
-#   ISO-8859-3                glibc                                     yes
-#   ISO-8859-4                osf solaris freebsd                       yes
-#   ISO-8859-5                glibc aix hpux irix osf solaris freebsd   yes
-#   ISO-8859-6                glibc aix hpux solaris                    yes
-#   ISO-8859-7                glibc aix hpux irix osf solaris           yes
-#   ISO-8859-8                glibc aix hpux osf solaris                yes
-#   ISO-8859-9                glibc aix hpux irix osf solaris           yes
-#   ISO-8859-13               glibc
-#   ISO-8859-15               glibc aix osf solaris freebsd
-#   KOI8-R                    glibc solaris freebsd                     yes
-#   KOI8-U                    glibc freebsd                             yes
-#   CP437                     dos
-#   CP775                     dos
-#   CP850                     aix osf dos
-#   CP852                     dos
-#   CP855                     dos
-#   CP856                     aix
-#   CP857                     dos
-#   CP861                     dos
-#   CP862                     dos
-#   CP864                     dos
-#   CP865                     dos
-#   CP866                     freebsd dos
-#   CP869                     dos
-#   CP874                     win32 dos
-#   CP922                     aix
-#   CP932                     aix win32 dos
-#   CP943                     aix
-#   CP949                     osf win32 dos
-#   CP950                     win32 dos
-#   CP1046                    aix
-#   CP1124                    aix
-#   CP1129                    aix
-#   CP1250                    win32
-#   CP1251                    glibc win32
-#   CP1252                    aix win32
-#   CP1253                    win32
-#   CP1254                    win32
-#   CP1255                    win32
-#   CP1256                    win32
-#   CP1257                    win32
-#   GB2312                    glibc aix hpux irix solaris freebsd       yes
-#   EUC-JP                    glibc aix hpux irix osf solaris freebsd   yes
-#   EUC-KR                    glibc aix hpux irix osf solaris freebsd   yes
-#   EUC-TW                    glibc aix hpux irix osf solaris
-#   BIG5                      glibc aix hpux osf solaris freebsd        yes
-#   BIG5-HKSCS                glibc
-#   GBK                       aix osf win32 dos
-#   GB18030                   glibc
-#   SHIFT_JIS                 hpux osf solaris freebsd                  yes
-#   JOHAB                     glibc win32
-#   TIS-620                   glibc aix hpux osf solaris
-#   VISCII                    glibc                                     yes
-#   HP-ROMAN8                 hpux
-#   HP-ARABIC8                hpux
-#   HP-GREEK8                 hpux
-#   HP-HEBREW8                hpux
-#   HP-TURKISH8               hpux
-#   HP-KANA8                  hpux
-#   DEC-KANJI                 osf
-#   DEC-HANYU                 osf
-#   UTF-8                     glibc aix hpux osf solaris                yes
-#
-# Note: Names which are not marked as being a MIME name should not be used in
-# Internet protocols for information interchange (mail, news, etc.).
-#
-# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications
-# must understand both names and treat them as equivalent.
-#
-# The first argument passed to this file is the canonical host specification,
-#    CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or
-#    CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-
-host="$1"
-os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'`
-echo "# This file contains a table of character encoding aliases,"
-echo "# suitable for operating system '${os}'."
-echo "# It was automatically generated from config.charset."
-# List of references, updated during installation:
-echo "# Packages using this file: "
-case "$os" in
-    linux* | *-gnu*)
-	# With glibc-2.1 or newer, we don't need any canonicalization,
-	# because glibc has iconv and both glibc and libiconv support all
-	# GNU canonical names directly. Therefore, the Makefile does not
-	# need to install the alias file at all.
-	# The following applies only to glibc-2.0.x and older libcs.
-	echo "ISO_646.IRV:1983 ASCII"
-	;;
-    aix*)
-	echo "ISO8859-1 ISO-8859-1"
-	echo "ISO8859-2 ISO-8859-2"
-	echo "ISO8859-5 ISO-8859-5"
-	echo "ISO8859-6 ISO-8859-6"
-	echo "ISO8859-7 ISO-8859-7"
-	echo "ISO8859-8 ISO-8859-8"
-	echo "ISO8859-9 ISO-8859-9"
-	echo "ISO8859-15 ISO-8859-15"
-	echo "IBM-850 CP850"
-	echo "IBM-856 CP856"
-	echo "IBM-921 ISO-8859-13"
-	echo "IBM-922 CP922"
-	echo "IBM-932 CP932"
-	echo "IBM-943 CP943"
-	echo "IBM-1046 CP1046"
-	echo "IBM-1124 CP1124"
-	echo "IBM-1129 CP1129"
-	echo "IBM-1252 CP1252"
-	echo "IBM-eucCN GB2312"
-	echo "IBM-eucJP EUC-JP"
-	echo "IBM-eucKR EUC-KR"
-	echo "IBM-eucTW EUC-TW"
-	echo "big5 BIG5"
-	echo "GBK GBK"
-	echo "TIS-620 TIS-620"
-	echo "UTF-8 UTF-8"
-	;;
-    hpux*)
-	echo "iso88591 ISO-8859-1"
-	echo "iso88592 ISO-8859-2"
-	echo "iso88595 ISO-8859-5"
-	echo "iso88596 ISO-8859-6"
-	echo "iso88597 ISO-8859-7"
-	echo "iso88598 ISO-8859-8"
-	echo "iso88599 ISO-8859-9"
-	echo "iso885915 ISO-8859-15"
-	echo "roman8 HP-ROMAN8"
-	echo "arabic8 HP-ARABIC8"
-	echo "greek8 HP-GREEK8"
-	echo "hebrew8 HP-HEBREW8"
-	echo "turkish8 HP-TURKISH8"
-	echo "kana8 HP-KANA8"
-	echo "tis620 TIS-620"
-	echo "big5 BIG5"
-	echo "eucJP EUC-JP"
-	echo "eucKR EUC-KR"
-	echo "eucTW EUC-TW"
-	echo "hp15CN GB2312"
-	#echo "ccdc ?" # what is this?
-	echo "SJIS SHIFT_JIS"
-	echo "utf8 UTF-8"
-	;;
-    irix*)
-	echo "ISO8859-1 ISO-8859-1"
-	echo "ISO8859-2 ISO-8859-2"
-	echo "ISO8859-5 ISO-8859-5"
-	echo "ISO8859-7 ISO-8859-7"
-	echo "ISO8859-9 ISO-8859-9"
-	echo "eucCN GB2312"
-	echo "eucJP EUC-JP"
-	echo "eucKR EUC-KR"
-	echo "eucTW EUC-TW"
-	;;
-    osf*)
-	echo "ISO8859-1 ISO-8859-1"
-	echo "ISO8859-2 ISO-8859-2"
-	echo "ISO8859-4 ISO-8859-4"
-	echo "ISO8859-5 ISO-8859-5"
-	echo "ISO8859-7 ISO-8859-7"
-	echo "ISO8859-8 ISO-8859-8"
-	echo "ISO8859-9 ISO-8859-9"
-	echo "ISO8859-15 ISO-8859-15"
-	echo "cp850 CP850"
-	echo "big5 BIG5"
-	echo "dechanyu DEC-HANYU"
-	echo "dechanzi GB2312"
-	echo "deckanji DEC-KANJI"
-	echo "deckorean EUC-KR"
-	echo "eucJP EUC-JP"
-	echo "eucKR EUC-KR"
-	echo "eucTW EUC-TW"
-	echo "GBK GBK"
-	echo "KSC5601 CP949"
-	echo "sdeckanji EUC-JP"
-	echo "SJIS SHIFT_JIS"
-	echo "TACTIS TIS-620"
-	echo "UTF-8 UTF-8"
-	;;
-    solaris*)
-	echo "646 ASCII"
-	echo "ISO8859-1 ISO-8859-1"
-	echo "ISO8859-2 ISO-8859-2"
-	echo "ISO8859-4 ISO-8859-4"
-	echo "ISO8859-5 ISO-8859-5"
-	echo "ISO8859-6 ISO-8859-6"
-	echo "ISO8859-7 ISO-8859-7"
-	echo "ISO8859-8 ISO-8859-8"
-	echo "ISO8859-9 ISO-8859-9"
-	echo "ISO8859-15 ISO-8859-15"
-	echo "koi8-r KOI8-R"
-	echo "BIG5 BIG5"
-	echo "gb2312 GB2312"
-	echo "cns11643 EUC-TW"
-	echo "5601 EUC-KR"
-	echo "eucJP EUC-JP"
-	echo "PCK SHIFT_JIS"
-	echo "TIS620.2533 TIS-620"
-	#echo "sun_eu_greek ?" # what is this?
-	echo "UTF-8 UTF-8"
-	;;
-    freebsd*)
-	# FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
-	# localcharset.c falls back to using the full locale name
-	# from the environment variables.
-	echo "C ASCII"
-	echo "US-ASCII ASCII"
-	for l in la_LN lt_LN; do
-	  echo "$l.ASCII ASCII"
-	done
-	for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
-	         fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \
-	         lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do
-	  echo "$l.ISO_8859-1 ISO-8859-1"
-	  echo "$l.DIS_8859-15 ISO-8859-15"
-	done
-	for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do
-	  echo "$l.ISO_8859-2 ISO-8859-2"
-	done
-	for l in la_LN lt_LT; do
-	  echo "$l.ISO_8859-4 ISO-8859-4"
-	done
-	for l in ru_RU ru_SU; do
-	  echo "$l.KOI8-R KOI8-R"
-	  echo "$l.ISO_8859-5 ISO-8859-5"
-	  echo "$l.CP866 CP866"
-	done
-	echo "uk_UA.KOI8-U KOI8-U"
-	echo "zh_TW.BIG5 BIG5"
-	echo "zh_TW.Big5 BIG5"
-	echo "zh_CN.EUC GB2312"
-	echo "ja_JP.EUC EUC-JP"
-	echo "ja_JP.SJIS SHIFT_JIS"
-	echo "ja_JP.Shift_JIS SHIFT_JIS"
-	echo "ko_KR.EUC EUC-KR"
-	;;
-    beos*)
-	# BeOS has a single locale, and it has UTF-8 encoding.
-	echo "* UTF-8"
-	;;
-    msdosdjgpp*)
-	# DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore
-	# localcharset.c falls back to using the full locale name
-	# from the environment variables.
-	echo "#"
-	echo "# The encodings given here may not all be correct."
-	echo "# If you find that the encoding given for your language and"
-	echo "# country is not the one your DOS machine actually uses, just"
-	echo "# correct it in this file, and send a mail to"
-	echo "# Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>"
-	echo "# and Bruno Haible <haible@clisp.cons.org>."
-	echo "#"
-	echo "C ASCII"
-	# ISO-8859-1 languages
-	echo "ca CP850"
-	echo "ca_ES CP850"
-	echo "da CP865"    # not CP850 ??
-	echo "da_DK CP865" # not CP850 ??
-	echo "de CP850"
-	echo "de_AT CP850"
-	echo "de_CH CP850"
-	echo "de_DE CP850"
-	echo "en CP850"
-	echo "en_AU CP850" # not CP437 ??
-	echo "en_CA CP850"
-	echo "en_GB CP850"
-	echo "en_NZ CP437"
-	echo "en_US CP437"
-	echo "en_ZA CP850" # not CP437 ??
-	echo "es CP850"
-	echo "es_AR CP850"
-	echo "es_BO CP850"
-	echo "es_CL CP850"
-	echo "es_CO CP850"
-	echo "es_CR CP850"
-	echo "es_CU CP850"
-	echo "es_DO CP850"
-	echo "es_EC CP850"
-	echo "es_ES CP850"
-	echo "es_GT CP850"
-	echo "es_HN CP850"
-	echo "es_MX CP850"
-	echo "es_NI CP850"
-	echo "es_PA CP850"
-	echo "es_PY CP850"
-	echo "es_PE CP850"
-	echo "es_SV CP850"
-	echo "es_UY CP850"
-	echo "es_VE CP850"
-	echo "et CP850"
-	echo "et_EE CP850"
-	echo "eu CP850"
-	echo "eu_ES CP850"
-	echo "fi CP850"
-	echo "fi_FI CP850"
-	echo "fr CP850"
-	echo "fr_BE CP850"
-	echo "fr_CA CP850"
-	echo "fr_CH CP850"
-	echo "fr_FR CP850"
-	echo "ga CP850"
-	echo "ga_IE CP850"
-	echo "gd CP850"
-	echo "gd_GB CP850"
-	echo "gl CP850"
-	echo "gl_ES CP850"
-	echo "id CP850"    # not CP437 ??
-	echo "id_ID CP850" # not CP437 ??
-	echo "is CP861"    # not CP850 ??
-	echo "is_IS CP861" # not CP850 ??
-	echo "it CP850"
-	echo "it_CH CP850"
-	echo "it_IT CP850"
-	echo "lt CP775"
-	echo "lt_LT CP775"
-	echo "lv CP775"
-	echo "lv_LV CP775"
-	echo "nb CP865"    # not CP850 ??
-	echo "nb_NO CP865" # not CP850 ??
-	echo "nl CP850"
-	echo "nl_BE CP850"
-	echo "nl_NL CP850"
-	echo "nn CP865"    # not CP850 ??
-	echo "nn_NO CP865" # not CP850 ??
-	echo "no CP865"    # not CP850 ??
-	echo "no_NO CP865" # not CP850 ??
-	echo "pt CP850"
-	echo "pt_BR CP850"
-	echo "pt_PT CP850"
-	echo "sv CP850"
-	echo "sv_SE CP850"
-	# ISO-8859-2 languages
-	echo "cs CP852"
-	echo "cs_CZ CP852"
-	echo "hr CP852"
-	echo "hr_HR CP852"
-	echo "hu CP852"
-	echo "hu_HU CP852"
-	echo "pl CP852"
-	echo "pl_PL CP852"
-	echo "ro CP852"
-	echo "ro_RO CP852"
-	echo "sk CP852"
-	echo "sk_SK CP852"
-	echo "sl CP852"
-	echo "sl_SI CP852"
-	echo "sq CP852"
-	echo "sq_AL CP852"
-	echo "sr CP852"    # CP852 or CP866 or CP855 ??
-	echo "sr_YU CP852" # CP852 or CP866 or CP855 ??
-	# ISO-8859-3 languages
-	echo "mt CP850"
-	echo "mt_MT CP850"
-	# ISO-8859-5 languages
-	echo "be CP866"
-	echo "be_BE CP866"
-	echo "bg CP866"    # not CP855 ??
-	echo "bg_BG CP866" # not CP855 ??
-	echo "mk CP866"    # not CP855 ??
-	echo "mk_MK CP866" # not CP855 ??
-	echo "ru KOI8-R"    # not CP866 ??
-	echo "ru_RU KOI8-R" # not CP866 ??
-	# ISO-8859-6 languages
-	echo "ar CP864"
-	echo "ar_AE CP864"
-	echo "ar_DZ CP864"
-	echo "ar_EG CP864"
-	echo "ar_IQ CP864"
-	echo "ar_IR CP864"
-	echo "ar_JO CP864"
-	echo "ar_KW CP864"
-	echo "ar_MA CP864"
-	echo "ar_OM CP864"
-	echo "ar_QA CP864"
-	echo "ar_SA CP864"
-	echo "ar_SY CP864"
-	# ISO-8859-7 languages
-	echo "el CP869"
-	echo "el_GR CP869"
-	# ISO-8859-8 languages
-	echo "he CP862"
-	echo "he_IL CP862"
-	# ISO-8859-9 languages
-	echo "tr CP857"
-	echo "tr_TR CP857"
-	# Japanese
-	echo "ja CP932"
-	echo "ja_JP CP932"
-	# Chinese
-	echo "zh_CN GBK"
-	echo "zh_TW CP950" # not CP938 ??
-	# Korean
-	echo "kr CP949"    # not CP934 ??
-	echo "kr_KR CP949" # not CP934 ??
-	# Thai
-	echo "th CP874"
-	echo "th_TH CP874"
-	# Other
-	echo "eo CP850"
-	echo "eo_EO CP850"
-	;;
-esac
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/dcgettext.c tin-2.6.4/intl/dcgettext.c
--- tin-2.6.3/intl/dcgettext.c	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/dcgettext.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,58 +0,0 @@
-/* Implementation of the dcgettext(3) function.
-   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-#include "gettextP.h"
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgnuintl.h"
-#endif
-
-/* @@ end of prolog @@ */
-
-/* Names for the libintl functions are a problem.  They must not clash
-   with existing names and they should follow ANSI C.  But this source
-   code is also used in GNU C Library where the names have a __
-   prefix.  So we have to make a difference here.  */
-#ifdef _LIBC
-# define DCGETTEXT __dcgettext
-# define DCIGETTEXT __dcigettext
-#else
-# define DCGETTEXT dcgettext__
-# define DCIGETTEXT dcigettext__
-#endif
-
-/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
-   locale.  */
-char *
-DCGETTEXT (domainname, msgid, category)
-     const char *domainname;
-     const char *msgid;
-     int category;
-{
-  return DCIGETTEXT (domainname, msgid, NULL, 0, 0, category);
-}
-
-#ifdef _LIBC
-/* Alias for function name in GNU C Library.  */
-weak_alias (__dcgettext, dcgettext);
-#endif
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/dcigettext.c tin-2.6.4/intl/dcigettext.c
--- tin-2.6.3/intl/dcigettext.c	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/dcigettext.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,1264 +0,0 @@
-/* Implementation of the internal dcigettext function.
-   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-/* Tell glibc's <string.h> to provide a prototype for mempcpy().
-   This must come before <autoconf.h> because <autoconf.h> may include
-   <features.h>, and once <features.h> has been included, it's too late.  */
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE	1
-#endif
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-/* see AC_FUNC_ALLOCA macro */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  if HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-#include <sys/types.h>
-
-#include <errno.h>
-#ifndef errno
-extern int errno;
-#endif
-#ifndef __set_errno
-# define __set_errno(val) errno = (val)
-#endif
-
-#include <stddef.h>
-#include <stdlib.h>
-
-#include <string.h>
-#if !HAVE_STRCHR && !defined _LIBC
-# ifndef strchr
-#  define strchr index
-# endif
-#endif
-
-#if defined HAVE_UNISTD_H || defined _LIBC
-# include <unistd.h>
-#endif
-
-#include <locale.h>
-
-#if defined HAVE_SYS_PARAM_H || defined _LIBC
-# include <sys/param.h>
-#endif
-
-#include "gettextP.h"
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgnuintl.h"
-#endif
-#include "hash-string.h"
-
-/* Thread safetyness.  */
-#ifdef _LIBC
-# include <bits/libc-lock.h>
-#else
-/* Provide dummy implementation if this is outside glibc.  */
-# define __libc_lock_define_initialized(CLASS, NAME)
-# define __libc_lock_lock(NAME)
-# define __libc_lock_unlock(NAME)
-# define __libc_rwlock_define_initialized(CLASS, NAME)
-# define __libc_rwlock_rdlock(NAME)
-# define __libc_rwlock_unlock(NAME)
-#endif
-
-/* Alignment of types.  */
-#if defined __GNUC__ && __GNUC__ >= 2
-# define alignof(TYPE) __alignof__ (TYPE)
-#else
-# define alignof(TYPE) \
-    ((int) &((struct { char dummy1; TYPE dummy2; } *) 0)->dummy2)
-#endif
-
-/* The internal variables in the standalone libintl.a must have different
-   names than the internal variables in GNU libc, otherwise programs
-   using libintl.a cannot be linked statically.  */
-#if !defined _LIBC
-# define _nl_default_default_domain _nl_default_default_domain__
-# define _nl_current_default_domain _nl_current_default_domain__
-# define _nl_default_dirname _nl_default_dirname__
-# define _nl_domain_bindings _nl_domain_bindings__
-#endif
-
-/* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>.  */
-#ifndef offsetof
-# define offsetof(type,ident) ((size_t)&(((type*)0)->ident))
-#endif
-
-/* @@ end of prolog @@ */
-
-#ifdef _LIBC
-/* Rename the non ANSI C functions.  This is required by the standard
-   because some ANSI C functions will require linking with this object
-   file and the name space must not be polluted.  */
-# define getcwd __getcwd
-# ifndef stpcpy
-#  define stpcpy __stpcpy
-# endif
-# define tfind __tfind
-#else
-# if !defined HAVE_GETCWD
-char *getwd ();
-#  define getcwd(buf, max) getwd (buf)
-# else
-char *getcwd ();
-# endif
-# ifndef HAVE_STPCPY
-static char *stpcpy PARAMS ((char *dest, const char *src));
-# endif
-# ifndef HAVE_MEMPCPY
-static void *mempcpy PARAMS ((void *dest, const void *src, size_t n));
-# endif
-#endif
-
-/* Amount to increase buffer size by in each try.  */
-#define PATH_INCR 32
-
-/* The following is from pathmax.h.  */
-/* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define
-   PATH_MAX but might cause redefinition warnings when sys/param.h is
-   later included (as on MORE/BSD 4.3).  */
-#if defined _POSIX_VERSION || (defined HAVE_LIMITS_H && !defined __GNUC__)
-# include <limits.h>
-#endif
-
-#ifndef _POSIX_PATH_MAX
-# define _POSIX_PATH_MAX 255
-#endif
-
-#if !defined PATH_MAX && defined _PC_PATH_MAX
-# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX))
-#endif
-
-/* Don't include sys/param.h if it already has been.  */
-#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN
-# include <sys/param.h>
-#endif
-
-#if !defined PATH_MAX && defined MAXPATHLEN
-# define PATH_MAX MAXPATHLEN
-#endif
-
-#ifndef PATH_MAX
-# define PATH_MAX _POSIX_PATH_MAX
-#endif
-
-/* Pathname support.
-   ISSLASH(C)           tests whether C is a directory separator character.
-   IS_ABSOLUTE_PATH(P)  tests whether P is an absolute path.  If it is not,
-                        it may be concatenated to a directory pathname.
-   IS_PATH_WITH_DIR(P)  tests whether P contains a directory specification.
- */
-#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
-  /* Win32, OS/2, DOS */
-# define ISSLASH(C) ((C) == '/' || (C) == '\\')
-# define HAS_DEVICE(P) \
-    ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
-     && (P)[1] == ':')
-# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P))
-# define IS_PATH_WITH_DIR(P) \
-    (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P))
-#else
-  /* Unix */
-# define ISSLASH(C) ((C) == '/')
-# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0])
-# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)
-#endif
-
-/* XPG3 defines the result of `setlocale (category, NULL)' as:
-   ``Directs `setlocale()' to query `category' and return the current
-     setting of `local'.''
-   However it does not specify the exact format.  Neither do SUSV2 and
-   ISO C 99.  So we can use this feature only on selected systems (e.g.
-   those using GNU C Library).  */
-#if defined _LIBC || (defined __GNU_LIBRARY__ && __GNU_LIBRARY__ >= 2)
-# define HAVE_LOCALE_NULL
-#endif
-
-/* This is the type used for the search tree where known translations
-   are stored.  */
-struct known_translation_t
-{
-  /* Domain in which to search.  */
-  char *domainname;
-
-  /* The category.  */
-  int category;
-
-  /* State of the catalog counter at the point the string was found.  */
-  int counter;
-
-  /* Catalog where the string was found.  */
-  struct loaded_l10nfile *domain;
-
-  /* And finally the translation.  */
-  const char *translation;
-  size_t translation_length;
-
-  /* Pointer to the string in question.  */
-  char msgid[ZERO];
-};
-
-/* Root of the search tree with known translations.  We can use this
-   only if the system provides the `tsearch' function family.  */
-#if defined HAVE_TSEARCH || defined _LIBC
-# include <search.h>
-
-static void *root;
-
-# ifdef _LIBC
-#  define tsearch __tsearch
-# endif
-
-/* Function to compare two entries in the table of known translations.  */
-static int transcmp PARAMS ((const void *p1, const void *p2));
-static int
-transcmp (p1, p2)
-     const void *p1;
-     const void *p2;
-{
-  const struct known_translation_t *s1;
-  const struct known_translation_t *s2;
-  int result;
-
-  s1 = (const struct known_translation_t *) p1;
-  s2 = (const struct known_translation_t *) p2;
-
-  result = strcmp (s1->msgid, s2->msgid);
-  if (result == 0)
-    {
-      result = strcmp (s1->domainname, s2->domainname);
-      if (result == 0)
-	/* We compare the category last (though this is the cheapest
-	   operation) since it is hopefully always the same (namely
-	   LC_MESSAGES).  */
-	result = s1->category - s2->category;
-    }
-
-  return result;
-}
-#endif
-
-/* Name of the default domain used for gettext(3) prior any call to
-   textdomain(3).  The default value for this is "messages".  */
-const char _nl_default_default_domain[] = "messages";
-
-/* Value used as the default domain for gettext(3).  */
-const char *_nl_current_default_domain = _nl_default_default_domain;
-
-/* Contains the default location of the message catalogs.  */
-const char _nl_default_dirname[] = LOCALEDIR;
-
-/* List with bindings of specific domains created by bindtextdomain()
-   calls.  */
-struct binding *_nl_domain_bindings;
-
-/* Prototypes for local functions.  */
-static char *plural_lookup PARAMS ((struct loaded_l10nfile *domain,
-				    unsigned long int n,
-				    const char *translation,
-				    size_t translation_len))
-     internal_function;
-static unsigned long int plural_eval PARAMS ((struct expression *pexp,
-					      unsigned long int n))
-     internal_function;
-static const char *category_to_name PARAMS ((int category)) internal_function;
-static const char *guess_category_value PARAMS ((int category,
-						 const char *categoryname))
-     internal_function;
-
-
-/* For those loosing systems which don't have `alloca' we have to add
-   some additional code emulating it.  */
-#ifdef HAVE_ALLOCA
-/* Nothing has to be done.  */
-# define ADD_BLOCK(list, address) /* nothing */
-# define FREE_BLOCKS(list) /* nothing */
-#else
-struct block_list
-{
-  void *address;
-  struct block_list *next;
-};
-# define ADD_BLOCK(list, addr)						      \
-  do {									      \
-    struct block_list *newp = (struct block_list *) malloc (sizeof (*newp));  \
-    /* If we cannot get a free block we cannot add the new element to	      \
-       the list.  */							      \
-    if (newp != NULL) {							      \
-      newp->address = (addr);						      \
-      newp->next = (list);						      \
-      (list) = newp;							      \
-    }									      \
-  } while (0)
-# define FREE_BLOCKS(list)						      \
-  do {									      \
-    while (list != NULL) {						      \
-      struct block_list *old = list;					      \
-      list = list->next;						      \
-      free (old);							      \
-    }									      \
-  } while (0)
-# undef alloca
-# define alloca(size) (malloc (size))
-#endif	/* have alloca */
-
-
-#ifdef _LIBC
-/* List of blocks allocated for translations.  */
-typedef struct transmem_list
-{
-  struct transmem_list *next;
-  char data[ZERO];
-} transmem_block_t;
-static struct transmem_list *transmem_list;
-#else
-typedef unsigned char transmem_block_t;
-#endif
-
-
-/* Names for the libintl functions are a problem.  They must not clash
-   with existing names and they should follow ANSI C.  But this source
-   code is also used in GNU C Library where the names have a __
-   prefix.  So we have to make a difference here.  */
-#ifdef _LIBC
-# define DCIGETTEXT __dcigettext
-#else
-# define DCIGETTEXT dcigettext__
-#endif
-
-/* Lock variable to protect the global data in the gettext implementation.  */
-#ifdef _LIBC
-__libc_rwlock_define_initialized (, _nl_state_lock)
-#endif
-
-/* Checking whether the binaries runs SUID must be done and glibc provides
-   easier methods therefore we make a difference here.  */
-#ifdef _LIBC
-# define ENABLE_SECURE __libc_enable_secure
-# define DETERMINE_SECURE
-#else
-# ifndef HAVE_GETUID
-#  define getuid() 0
-# endif
-# ifndef HAVE_GETGID
-#  define getgid() 0
-# endif
-# ifndef HAVE_GETEUID
-#  define geteuid() getuid()
-# endif
-# ifndef HAVE_GETEGID
-#  define getegid() getgid()
-# endif
-static int enable_secure;
-# define ENABLE_SECURE (enable_secure == 1)
-# define DETERMINE_SECURE \
-  if (enable_secure == 0)						      \
-    {									      \
-      if (getuid () != geteuid () || getgid () != getegid ())		      \
-	enable_secure = 1;						      \
-      else								      \
-	enable_secure = -1;						      \
-    }
-#endif
-
-/* Look up MSGID in the DOMAINNAME message catalog for the current
-   CATEGORY locale and, if PLURAL is nonzero, search over string
-   depending on the plural form determined by N.  */
-char *
-DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
-     const char *domainname;
-     const char *msgid1;
-     const char *msgid2;
-     int plural;
-     unsigned long int n;
-     int category;
-{
-#ifndef HAVE_ALLOCA
-  struct block_list *block_list = NULL;
-#endif
-  struct loaded_l10nfile *domain;
-  struct binding *binding;
-  const char *categoryname;
-  const char *categoryvalue;
-  char *dirname, *xdomainname;
-  char *single_locale;
-  char *retval;
-  size_t retlen;
-  int saved_errno;
-#if defined HAVE_TSEARCH || defined _LIBC
-  struct known_translation_t *search;
-  struct known_translation_t **foundp = NULL;
-  size_t msgid_len;
-#endif
-  size_t domainname_len;
-
-  /* If no real MSGID is given return NULL.  */
-  if (msgid1 == NULL)
-    return NULL;
-
-  __libc_rwlock_rdlock (_nl_state_lock);
-
-  /* If DOMAINNAME is NULL, we are interested in the default domain.  If
-     CATEGORY is not LC_MESSAGES this might not make much sense but the
-     definition left this undefined.  */
-  if (domainname == NULL)
-    domainname = _nl_current_default_domain;
-
-#if defined HAVE_TSEARCH || defined _LIBC
-  msgid_len = strlen (msgid1) + 1;
-
-  /* Try to find the translation among those which we found at
-     some time.  */
-  search = (struct known_translation_t *)
-	   alloca (offsetof (struct known_translation_t, msgid) + msgid_len);
-  memcpy (search->msgid, msgid1, msgid_len);
-  search->domainname = (char *) domainname;
-  search->category = category;
-
-  foundp = (struct known_translation_t **) tfind (search, &root, transcmp);
-  if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr)
-    {
-      /* Now deal with plural.  */
-      if (plural)
-	retval = plural_lookup ((*foundp)->domain, n, (*foundp)->translation,
-				(*foundp)->translation_length);
-      else
-	retval = (char *) (*foundp)->translation;
-
-      __libc_rwlock_unlock (_nl_state_lock);
-      return retval;
-    }
-#endif
-
-  /* Preserve the `errno' value.  */
-  saved_errno = errno;
-
-  /* See whether this is a SUID binary or not.  */
-  DETERMINE_SECURE;
-
-  /* First find matching binding.  */
-  for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
-    {
-      int compare = strcmp (domainname, binding->domainname);
-      if (compare == 0)
-	/* We found it!  */
-	break;
-      if (compare < 0)
-	{
-	  /* It is not in the list.  */
-	  binding = NULL;
-	  break;
-	}
-    }
-
-  if (binding == NULL)
-    dirname = (char *) _nl_default_dirname;
-  else if (IS_ABSOLUTE_PATH (binding->dirname))
-    dirname = binding->dirname;
-  else
-    {
-      /* We have a relative path.  Make it absolute now.  */
-      size_t dirname_len = strlen (binding->dirname) + 1;
-      size_t path_max;
-      char *ret;
-
-      path_max = (unsigned int) PATH_MAX;
-      path_max += 2;		/* The getcwd docs say to do this.  */
-
-      for (;;)
-	{
-	  dirname = (char *) alloca (path_max + dirname_len);
-	  ADD_BLOCK (block_list, dirname);
-
-	  __set_errno (0);
-	  ret = getcwd (dirname, path_max);
-	  if (ret != NULL || errno != ERANGE)
-	    break;
-
-	  path_max += path_max / 2;
-	  path_max += PATH_INCR;
-	}
-
-      if (ret == NULL)
-	{
-	  /* We cannot get the current working directory.  Don't signal an
-	     error but simply return the default string.  */
-	  FREE_BLOCKS (block_list);
-	  __libc_rwlock_unlock (_nl_state_lock);
-	  __set_errno (saved_errno);
-	  return (plural == 0
-		  ? (char *) msgid1
-		  /* Use the Germanic plural rule.  */
-		  : n == 1 ? (char *) msgid1 : (char *) msgid2);
-	}
-
-      stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname);
-    }
-
-  /* Now determine the symbolic name of CATEGORY and its value.  */
-  categoryname = category_to_name (category);
-  categoryvalue = guess_category_value (category, categoryname);
-
-  domainname_len = strlen (domainname);
-  xdomainname = (char *) alloca (strlen (categoryname)
-				 + domainname_len + 5);
-  ADD_BLOCK (block_list, xdomainname);
-
-  stpcpy (mempcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"),
-		  domainname, domainname_len),
-	  ".mo");
-
-  /* Creating working area.  */
-  single_locale = (char *) alloca (strlen (categoryvalue) + 1);
-  ADD_BLOCK (block_list, single_locale);
-
-
-  /* Search for the given string.  This is a loop because we perhaps
-     got an ordered list of languages to consider for the translation.  */
-  while (1)
-    {
-      /* Make CATEGORYVALUE point to the next element of the list.  */
-      while (categoryvalue[0] != '\0' && categoryvalue[0] == ':')
-	++categoryvalue;
-      if (categoryvalue[0] == '\0')
-	{
-	  /* The whole contents of CATEGORYVALUE has been searched but
-	     no valid entry has been found.  We solve this situation
-	     by implicitly appending a "C" entry, i.e. no translation
-	     will take place.  */
-	  single_locale[0] = 'C';
-	  single_locale[1] = '\0';
-	}
-      else
-	{
-	  char *cp = single_locale;
-	  while (categoryvalue[0] != '\0' && categoryvalue[0] != ':')
-	    *cp++ = *categoryvalue++;
-	  *cp = '\0';
-
-	  /* When this is a SUID binary we must not allow accessing files
-	     outside the dedicated directories.  */
-	  if (ENABLE_SECURE && IS_PATH_WITH_DIR (single_locale))
-	    /* Ingore this entry.  */
-	    continue;
-	}
-
-      /* If the current locale value is C (or POSIX) we don't load a
-	 domain.  Return the MSGID.  */
-      if (strcmp (single_locale, "C") == 0
-	  || strcmp (single_locale, "POSIX") == 0)
-	{
-	  FREE_BLOCKS (block_list);
-	  __libc_rwlock_unlock (_nl_state_lock);
-	  __set_errno (saved_errno);
-	  return (plural == 0
-		  ? (char *) msgid1
-		  /* Use the Germanic plural rule.  */
-		  : n == 1 ? (char *) msgid1 : (char *) msgid2);
-	}
-
-
-      /* Find structure describing the message catalog matching the
-	 DOMAINNAME and CATEGORY.  */
-      domain = _nl_find_domain (dirname, single_locale, xdomainname, binding);
-
-      if (domain != NULL)
-	{
-	  retval = _nl_find_msg (domain, binding, msgid1, &retlen);
-
-	  if (retval == NULL)
-	    {
-	      int cnt;
-
-	      for (cnt = 0; domain->successor[cnt] != NULL; ++cnt)
-		{
-		  retval = _nl_find_msg (domain->successor[cnt], binding,
-					 msgid1, &retlen);
-
-		  if (retval != NULL)
-		    {
-		      domain = domain->successor[cnt];
-		      break;
-		    }
-		}
-	    }
-
-	  if (retval != NULL)
-	    {
-	      /* Found the translation of MSGID1 in domain DOMAIN:
-		 starting at RETVAL, RETLEN bytes.  */
-	      FREE_BLOCKS (block_list);
-	      __set_errno (saved_errno);
-#if defined HAVE_TSEARCH || defined _LIBC
-	      if (foundp == NULL)
-		{
-		  /* Create a new entry and add it to the search tree.  */
-		  struct known_translation_t *newp;
-
-		  newp = (struct known_translation_t *)
-		    malloc (offsetof (struct known_translation_t, msgid)
-			    + msgid_len + domainname_len + 1);
-		  if (newp != NULL)
-		    {
-		      newp->domainname =
-			mempcpy (newp->msgid, msgid1, msgid_len);
-		      memcpy (newp->domainname, domainname, domainname_len + 1);
-		      newp->category = category;
-		      newp->counter = _nl_msg_cat_cntr;
-		      newp->domain = domain;
-		      newp->translation = retval;
-		      newp->translation_length = retlen;
-
-		      /* Insert the entry in the search tree.  */
-		      foundp = (struct known_translation_t **)
-			tsearch (newp, &root, transcmp);
-		      if (foundp == NULL
-			  || __builtin_expect (*foundp != newp, 0))
-			/* The insert failed.  */
-			free (newp);
-		    }
-		}
-	      else
-		{
-		  /* We can update the existing entry.  */
-		  (*foundp)->counter = _nl_msg_cat_cntr;
-		  (*foundp)->domain = domain;
-		  (*foundp)->translation = retval;
-		  (*foundp)->translation_length = retlen;
-		}
-#endif
-	      /* Now deal with plural.  */
-	      if (plural)
-		retval = plural_lookup (domain, n, retval, retlen);
-
-	      __libc_rwlock_unlock (_nl_state_lock);
-	      return retval;
-	    }
-	}
-    }
-  /* NOTREACHED */
-}
-
-
-char *
-internal_function
-_nl_find_msg (domain_file, domainbinding, msgid, lengthp)
-     struct loaded_l10nfile *domain_file;
-     struct binding *domainbinding;
-     const char *msgid;
-     size_t *lengthp;
-{
-  struct loaded_domain *domain;
-  size_t act;
-  char *result;
-  size_t resultlen;
-
-  if (domain_file->decided == 0)
-    _nl_load_domain (domain_file, domainbinding);
-
-  if (domain_file->data == NULL)
-    return NULL;
-
-  domain = (struct loaded_domain *) domain_file->data;
-
-  /* Locate the MSGID and its translation.  */
-  if (domain->hash_size > 2 && domain->hash_tab != NULL)
-    {
-      /* Use the hashing table.  */
-      nls_uint32 len = strlen (msgid);
-      nls_uint32 hash_val = hash_string (msgid);
-      nls_uint32 idx = hash_val % domain->hash_size;
-      nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2));
-
-      while (1)
-	{
-	  nls_uint32 nstr = W (domain->must_swap, domain->hash_tab[idx]);
-
-	  if (nstr == 0)
-	    /* Hash table entry is empty.  */
-	    return NULL;
-
-	  /* Compare msgid with the original string at index nstr-1.
-	     We compare the lengths with >=, not ==, because plural entries
-	     are represented by strings with an embedded NUL.  */
-	  if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) >= len
-	      && (strcmp (msgid,
-			  domain->data + W (domain->must_swap,
-					    domain->orig_tab[nstr - 1].offset))
-		  == 0))
-	    {
-	      act = nstr - 1;
-	      goto found;
-	    }
-
-	  if (idx >= domain->hash_size - incr)
-	    idx -= domain->hash_size - incr;
-	  else
-	    idx += incr;
-	}
-      /* NOTREACHED */
-    }
-  else
-    {
-      /* Try the default method:  binary search in the sorted array of
-	 messages.  */
-      size_t top, bottom;
-
-      bottom = 0;
-      top = domain->nstrings;
-      while (bottom < top)
-	{
-	  int cmp_val;
-
-	  act = (bottom + top) / 2;
-	  cmp_val = strcmp (msgid, (domain->data
-				    + W (domain->must_swap,
-					 domain->orig_tab[act].offset)));
-	  if (cmp_val < 0)
-	    top = act;
-	  else if (cmp_val > 0)
-	    bottom = act + 1;
-	  else
-	    goto found;
-	}
-      /* No translation was found.  */
-      return NULL;
-    }
-
- found:
-  /* The translation was found at index ACT.  If we have to convert the
-     string to use a different character set, this is the time.  */
-  result = ((char *) domain->data
-	    + W (domain->must_swap, domain->trans_tab[act].offset));
-  resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1;
-
-#if defined _LIBC || defined HAVE_ICONV
-  if (domain->codeset_cntr
-      != (domainbinding != NULL ? domainbinding->codeset_cntr : 0))
-    {
-      /* The domain's codeset has changed through bind_textdomain_codeset()
-	 since the message catalog was initialized or last accessed.  We
-	 have to reinitialize the converter.  */
-      _nl_free_domain_conv (domain);
-      _nl_init_domain_conv (domain_file, domain, domainbinding);
-    }
-
-  if (
-# ifdef _LIBC
-      domain->conv != (__gconv_t) -1
-# else
-#  ifdef HAVE_ICONV
-      domain->conv != (iconv_t) -1
-#  endif
-# endif
-      )
-    {
-      /* We are supposed to do a conversion.  First allocate an
-	 appropriate table with the same structure as the table
-	 of translations in the file, where we can put the pointers
-	 to the converted strings in.
-	 There is a slight complication with plural entries.  They
-	 are represented by consecutive NUL terminated strings.  We
-	 handle this case by converting RESULTLEN bytes, including
-	 NULs.  */
-
-      if (domain->conv_tab == NULL
-	  && ((domain->conv_tab = (char **) calloc (domain->nstrings,
-						    sizeof (char *)))
-	      == NULL))
-	/* Mark that we didn't succeed allocating a table.  */
-	domain->conv_tab = (char **) -1;
-
-      if (__builtin_expect (domain->conv_tab == (char **) -1, 0))
-	/* Nothing we can do, no more memory.  */
-	goto converted;
-
-      if (domain->conv_tab[act] == NULL)
-	{
-	  /* We haven't used this string so far, so it is not
-	     translated yet.  Do this now.  */
-	  /* We use a bit more efficient memory handling.
-	     We allocate always larger blocks which get used over
-	     time.  This is faster than many small allocations.   */
-	  __libc_lock_define_initialized (static, lock)
-# define INITIAL_BLOCK_SIZE	4080
-	  static unsigned char *freemem;
-	  static size_t freemem_size;
-
-	  const unsigned char *inbuf;
-	  unsigned char *outbuf;
-	  int malloc_count;
-# ifndef _LIBC
-	  transmem_block_t *transmem_list = NULL;
-# endif
-
-	  __libc_lock_lock (lock);
-
-	  inbuf = (const unsigned char *) result;
-	  outbuf = freemem + sizeof (size_t);
-
-	  malloc_count = 0;
-	  while (1)
-	    {
-	      transmem_block_t *newmem;
-# ifdef _LIBC
-	      size_t non_reversible;
-	      int res;
-
-	      if (freemem_size < sizeof (size_t))
-		goto resize_freemem;
-
-	      res = __gconv (domain->conv,
-			     &inbuf, inbuf + resultlen,
-			     &outbuf,
-			     outbuf + freemem_size - sizeof (size_t),
-			     &non_reversible);
-
-	      if (res == __GCONV_OK || res == __GCONV_EMPTY_INPUT)
-		break;
-
-	      if (res != __GCONV_FULL_OUTPUT)
-		{
-		  __libc_lock_unlock (lock);
-		  goto converted;
-		}
-
-	      inbuf = result;
-# else
-#  ifdef HAVE_ICONV
-	      const char *inptr = (const char *) inbuf;
-	      size_t inleft = resultlen;
-	      char *outptr = (char *) outbuf;
-	      size_t outleft;
-
-	      if (freemem_size < sizeof (size_t))
-		goto resize_freemem;
-
-	      outleft = freemem_size - sizeof (size_t);
-	      if (iconv (domain->conv,
-			 (ICONV_CONST char **) &inptr, &inleft,
-			 &outptr, &outleft)
-		  != (size_t) (-1))
-		{
-		  outbuf = (unsigned char *) outptr;
-		  break;
-		}
-	      if (errno != E2BIG)
-		{
-		  __libc_lock_unlock (lock);
-		  goto converted;
-		}
-#  endif
-# endif
-
-	    resize_freemem:
-	      /* We must allocate a new buffer or resize the old one.  */
-	      if (malloc_count > 0)
-		{
-		  ++malloc_count;
-		  freemem_size = malloc_count * INITIAL_BLOCK_SIZE;
-		  newmem = (transmem_block_t *) realloc (transmem_list,
-							 freemem_size);
-# ifdef _LIBC
-		  if (newmem != NULL)
-		    transmem_list = transmem_list->next;
-		  else
-		    {
-		      struct transmem_list *old = transmem_list;
-
-		      transmem_list = transmem_list->next;
-		      free (old);
-		    }
-# endif
-		}
-	      else
-		{
-		  malloc_count = 1;
-		  freemem_size = INITIAL_BLOCK_SIZE;
-		  newmem = (transmem_block_t *) malloc (freemem_size);
-		}
-	      if (__builtin_expect (newmem == NULL, 0))
-		{
-		  freemem = NULL;
-		  freemem_size = 0;
-		  __libc_lock_unlock (lock);
-		  goto converted;
-		}
-
-# ifdef _LIBC
-	      /* Add the block to the list of blocks we have to free
-                 at some point.  */
-	      newmem->next = transmem_list;
-	      transmem_list = newmem;
-
-	      freemem = newmem->data;
-	      freemem_size -= offsetof (struct transmem_list, data);
-# else
-	      transmem_list = newmem;
-	      freemem = newmem;
-# endif
-
-	      outbuf = freemem + sizeof (size_t);
-	    }
-
-	  /* We have now in our buffer a converted string.  Put this
-	     into the table of conversions.  */
-	  *(size_t *) freemem = outbuf - freemem - sizeof (size_t);
-	  domain->conv_tab[act] = (char *) freemem;
-	  /* Shrink freemem, but keep it aligned.  */
-	  freemem_size -= outbuf - freemem;
-	  freemem = outbuf;
-	  freemem += freemem_size & (alignof (size_t) - 1);
-	  freemem_size = freemem_size & ~ (alignof (size_t) - 1);
-
-	  __libc_lock_unlock (lock);
-	}
-
-      /* Now domain->conv_tab[act] contains the translation of all
-	 the plural variants.  */
-      result = domain->conv_tab[act] + sizeof (size_t);
-      resultlen = *(size_t *) domain->conv_tab[act];
-    }
-
- converted:
-  /* The result string is converted.  */
-
-#endif /* _LIBC || HAVE_ICONV */
-
-  *lengthp = resultlen;
-  return result;
-}
-
-
-/* Look up a plural variant.  */
-static char *
-internal_function
-plural_lookup (domain, n, translation, translation_len)
-     struct loaded_l10nfile *domain;
-     unsigned long int n;
-     const char *translation;
-     size_t translation_len;
-{
-  struct loaded_domain *domaindata = (struct loaded_domain *) domain->data;
-  unsigned long int index;
-  const char *p;
-
-  index = plural_eval (domaindata->plural, n);
-  if (index >= domaindata->nplurals)
-    /* This should never happen.  It means the plural expression and the
-       given maximum value do not match.  */
-    index = 0;
-
-  /* Skip INDEX strings at TRANSLATION.  */
-  p = translation;
-  while (index-- > 0)
-    {
-#ifdef _LIBC
-      p = __rawmemchr (p, '\0');
-#else
-      p = strchr (p, '\0');
-#endif
-      /* And skip over the NUL byte.  */
-      p++;
-
-      if (p >= translation + translation_len)
-	/* This should never happen.  It means the plural expression
-	   evaluated to a value larger than the number of variants
-	   available for MSGID1.  */
-	return (char *) translation;
-    }
-  return (char *) p;
-}
-
-
-/* Function to evaluate the plural expression and return an index value.  */
-static unsigned long int
-internal_function
-plural_eval (pexp, n)
-     struct expression *pexp;
-     unsigned long int n;
-{
-  switch (pexp->nargs)
-    {
-    case 0:
-      switch (pexp->operation)
-	{
-	case var:
-	  return n;
-	case num:
-	  return pexp->val.num;
-	default:
-	  break;
-	}
-      /* NOTREACHED */
-      break;
-    case 1:
-      {
-	/* pexp->operation must be lnot.  */
-	unsigned long int arg = plural_eval (pexp->val.args[0], n);
-	return ! arg;
-      }
-    case 2:
-      {
-	unsigned long int leftarg = plural_eval (pexp->val.args[0], n);
-	if (pexp->operation == lor)
-	  return leftarg || plural_eval (pexp->val.args[1], n);
-	else if (pexp->operation == land)
-	  return leftarg && plural_eval (pexp->val.args[1], n);
-	else
-	  {
-	    unsigned long int rightarg = plural_eval (pexp->val.args[1], n);
-
-	    switch (pexp->operation)
-	      {
-	      case mult:
-		return leftarg * rightarg;
-	      case divide:
-		return leftarg / rightarg;
-	      case module:
-		return leftarg % rightarg;
-	      case plus:
-		return leftarg + rightarg;
-	      case minus:
-		return leftarg - rightarg;
-	      case less_than:
-		return leftarg < rightarg;
-	      case greater_than:
-		return leftarg > rightarg;
-	      case less_or_equal:
-		return leftarg <= rightarg;
-	      case greater_or_equal:
-		return leftarg >= rightarg;
-	      case equal:
-		return leftarg == rightarg;
-	      case not_equal:
-		return leftarg != rightarg;
-	      default:
-		break;
-	      }
-	  }
-	/* NOTREACHED */
-	break;
-      }
-    case 3:
-      {
-	/* pexp->operation must be qmop.  */
-	unsigned long int boolarg = plural_eval (pexp->val.args[0], n);
-	return plural_eval (pexp->val.args[boolarg ? 1 : 2], n);
-      }
-    }
-  /* NOTREACHED */
-  return 0;
-}
-
-
-/* Return string representation of locale CATEGORY.  */
-static const char *
-internal_function
-category_to_name (category)
-     int category;
-{
-  const char *retval;
-
-  switch (category)
-  {
-#ifdef LC_COLLATE
-  case LC_COLLATE:
-    retval = "LC_COLLATE";
-    break;
-#endif
-#ifdef LC_CTYPE
-  case LC_CTYPE:
-    retval = "LC_CTYPE";
-    break;
-#endif
-#ifdef LC_MONETARY
-  case LC_MONETARY:
-    retval = "LC_MONETARY";
-    break;
-#endif
-#ifdef LC_NUMERIC
-  case LC_NUMERIC:
-    retval = "LC_NUMERIC";
-    break;
-#endif
-#ifdef LC_TIME
-  case LC_TIME:
-    retval = "LC_TIME";
-    break;
-#endif
-#ifdef LC_MESSAGES
-  case LC_MESSAGES:
-    retval = "LC_MESSAGES";
-    break;
-#endif
-#ifdef LC_RESPONSE
-  case LC_RESPONSE:
-    retval = "LC_RESPONSE";
-    break;
-#endif
-#ifdef LC_ALL
-  case LC_ALL:
-    /* This might not make sense but is perhaps better than any other
-       value.  */
-    retval = "LC_ALL";
-    break;
-#endif
-  default:
-    /* If you have a better idea for a default value let me know.  */
-    retval = "LC_XXX";
-  }
-
-  return retval;
-}
-
-/* Guess value of current locale from value of the environment variables.  */
-static const char *
-internal_function
-guess_category_value (category, categoryname)
-     int category;
-     const char *categoryname;
-{
-  const char *language;
-  const char *retval;
-
-  /* The highest priority value is the `LANGUAGE' environment
-     variable.  But we don't use the value if the currently selected
-     locale is the C locale.  This is a GNU extension.  */
-  language = getenv ("LANGUAGE");
-  if (language != NULL && language[0] == '\0')
-    language = NULL;
-
-  /* We have to proceed with the POSIX methods of looking to `LC_ALL',
-     `LC_xxx', and `LANG'.  On some systems this can be done by the
-     `setlocale' function itself.  */
-#if defined _LIBC || (defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL)
-  retval = setlocale (category, NULL);
-#else
-  /* Setting of LC_ALL overwrites all other.  */
-  retval = getenv ("LC_ALL");
-  if (retval == NULL || retval[0] == '\0')
-    {
-      /* Next comes the name of the desired category.  */
-      retval = getenv (categoryname);
-      if (retval == NULL || retval[0] == '\0')
-	{
-	  /* Last possibility is the LANG environment variable.  */
-	  retval = getenv ("LANG");
-	  if (retval == NULL || retval[0] == '\0')
-	    /* We use C as the default domain.  POSIX says this is
-	       implementation defined.  */
-	    return "C";
-	}
-    }
-#endif
-
-  return language != NULL && strcmp (retval, "C") != 0 ? language : retval;
-}
-
-/* @@ begin of epilog @@ */
-
-/* We don't want libintl.a to depend on any other library.  So we
-   avoid the non-standard function stpcpy.  In GNU C Library this
-   function is available, though.  Also allow the symbol HAVE_STPCPY
-   to be defined.  */
-#if !_LIBC && !HAVE_STPCPY
-static char *
-stpcpy (dest, src)
-     char *dest;
-     const char *src;
-{
-  while ((*dest++ = *src++) != '\0')
-    /* Do nothing. */ ;
-  return dest - 1;
-}
-#endif
-
-#if !_LIBC && !HAVE_MEMPCPY
-static void *
-mempcpy (dest, src, n)
-     void *dest;
-     const void *src;
-     size_t n;
-{
-  return (void *) ((char *) memcpy (dest, src, n) + n);
-}
-#endif
-
-
-#ifdef _LIBC
-/* If we want to free all resources we have to do some work at
-   program's end.  */
-static void __attribute__ ((unused))
-free_mem (void)
-{
-  void *old;
-
-  while (_nl_domain_bindings != NULL)
-    {
-      struct binding *oldp = _nl_domain_bindings;
-      _nl_domain_bindings = _nl_domain_bindings->next;
-      if (oldp->dirname != _nl_default_dirname)
-	/* Yes, this is a pointer comparison.  */
-	free (oldp->dirname);
-      free (oldp->codeset);
-      free (oldp);
-    }
-
-  if (_nl_current_default_domain != _nl_default_default_domain)
-    /* Yes, again a pointer comparison.  */
-    free ((char *) _nl_current_default_domain);
-
-  /* Remove the search tree with the known translations.  */
-  __tdestroy (root, free);
-  root = NULL;
-
-  while (transmem_list != NULL)
-    {
-      old = transmem_list;
-      transmem_list = transmem_list->next;
-      free (old);
-    }
-}
-
-text_set_element (__libc_subfreeres, free_mem);
-#endif
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/dcngettext.c tin-2.6.4/intl/dcngettext.c
--- tin-2.6.3/intl/dcngettext.c	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/dcngettext.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,60 +0,0 @@
-/* Implementation of the dcngettext(3) function.
-   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-#include "gettextP.h"
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgnuintl.h"
-#endif
-
-/* @@ end of prolog @@ */
-
-/* Names for the libintl functions are a problem.  They must not clash
-   with existing names and they should follow ANSI C.  But this source
-   code is also used in GNU C Library where the names have a __
-   prefix.  So we have to make a difference here.  */
-#ifdef _LIBC
-# define DCNGETTEXT __dcngettext
-# define DCIGETTEXT __dcigettext
-#else
-# define DCNGETTEXT dcngettext__
-# define DCIGETTEXT dcigettext__
-#endif
-
-/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
-   locale.  */
-char *
-DCNGETTEXT (domainname, msgid1, msgid2, n, category)
-     const char *domainname;
-     const char *msgid1;
-     const char *msgid2;
-     unsigned long int n;
-     int category;
-{
-  return DCIGETTEXT (domainname, msgid1, msgid2, 1, n, category);
-}
-
-#ifdef _LIBC
-/* Alias for function name in GNU C Library.  */
-weak_alias (__dcngettext, dcngettext);
-#endif
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/dgettext.c tin-2.6.4/intl/dgettext.c
--- tin-2.6.3/intl/dgettext.c	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/dgettext.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,59 +0,0 @@
-/* Implementation of the dgettext(3) function.
-   Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-#include <locale.h>
-
-#include "gettextP.h"
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgnuintl.h"
-#endif
-
-/* @@ end of prolog @@ */
-
-/* Names for the libintl functions are a problem.  They must not clash
-   with existing names and they should follow ANSI C.  But this source
-   code is also used in GNU C Library where the names have a __
-   prefix.  So we have to make a difference here.  */
-#ifdef _LIBC
-# define DGETTEXT __dgettext
-# define DCGETTEXT __dcgettext
-#else
-# define DGETTEXT dgettext__
-# define DCGETTEXT dcgettext__
-#endif
-
-/* Look up MSGID in the DOMAINNAME message catalog of the current
-   LC_MESSAGES locale.  */
-char *
-DGETTEXT (domainname, msgid)
-     const char *domainname;
-     const char *msgid;
-{
-  return DCGETTEXT (domainname, msgid, LC_MESSAGES);
-}
-
-#ifdef _LIBC
-/* Alias for function name in GNU C Library.  */
-weak_alias (__dgettext, dgettext);
-#endif
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/dngettext.c tin-2.6.4/intl/dngettext.c
--- tin-2.6.3/intl/dngettext.c	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/dngettext.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,61 +0,0 @@
-/* Implementation of the dngettext(3) function.
-   Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-#include <locale.h>
-
-#include "gettextP.h"
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgnuintl.h"
-#endif
-
-/* @@ end of prolog @@ */
-
-/* Names for the libintl functions are a problem.  They must not clash
-   with existing names and they should follow ANSI C.  But this source
-   code is also used in GNU C Library where the names have a __
-   prefix.  So we have to make a difference here.  */
-#ifdef _LIBC
-# define DNGETTEXT __dngettext
-# define DCNGETTEXT __dcngettext
-#else
-# define DNGETTEXT dngettext__
-# define DCNGETTEXT dcngettext__
-#endif
-
-/* Look up MSGID in the DOMAINNAME message catalog of the current
-   LC_MESSAGES locale and skip message according to the plural form.  */
-char *
-DNGETTEXT (domainname, msgid1, msgid2, n)
-     const char *domainname;
-     const char *msgid1;
-     const char *msgid2;
-     unsigned long int n;
-{
-  return DCNGETTEXT (domainname, msgid1, msgid2, n, LC_MESSAGES);
-}
-
-#ifdef _LIBC
-/* Alias for function name in GNU C Library.  */
-weak_alias (__dngettext, dngettext);
-#endif
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/explodename.c tin-2.6.4/intl/explodename.c
--- tin-2.6.3/intl/explodename.c	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/explodename.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,192 +0,0 @@
-/* Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
-   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-
-#include "loadinfo.h"
-
-/* On some strange systems still no definition of NULL is found.  Sigh!  */
-#ifndef NULL
-# if defined __STDC__ && __STDC__
-#  define NULL ((void *) 0)
-# else
-#  define NULL 0
-# endif
-#endif
-
-/* @@ end of prolog @@ */
-
-char *
-_nl_find_language (name)
-     const char *name;
-{
-  while (name[0] != '\0' && name[0] != '_' && name[0] != '@'
-	 && name[0] != '+' && name[0] != ',')
-    ++name;
-
-  return (char *) name;
-}
-
-
-int
-_nl_explode_name (name, language, modifier, territory, codeset,
-		  normalized_codeset, special, sponsor, revision)
-     char *name;
-     const char **language;
-     const char **modifier;
-     const char **territory;
-     const char **codeset;
-     const char **normalized_codeset;
-     const char **special;
-     const char **sponsor;
-     const char **revision;
-{
-  enum { undecided, xpg, cen } syntax;
-  char *cp;
-  int mask;
-
-  *modifier = NULL;
-  *territory = NULL;
-  *codeset = NULL;
-  *normalized_codeset = NULL;
-  *special = NULL;
-  *sponsor = NULL;
-  *revision = NULL;
-
-  /* Now we determine the single parts of the locale name.  First
-     look for the language.  Termination symbols are `_' and `@' if
-     we use XPG4 style, and `_', `+', and `,' if we use CEN syntax.  */
-  mask = 0;
-  syntax = undecided;
-  *language = cp = name;
-  cp = _nl_find_language (*language);
-
-  if (*language == cp)
-    /* This does not make sense: language has to be specified.  Use
-       this entry as it is without exploding.  Perhaps it is an alias.  */
-    cp = strchr (*language, '\0');
-  else if (cp[0] == '_')
-    {
-      /* Next is the territory.  */
-      cp[0] = '\0';
-      *territory = ++cp;
-
-      while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@'
-	     && cp[0] != '+' && cp[0] != ',' && cp[0] != '_')
-	++cp;
-
-      mask |= TERRITORY;
-
-      if (cp[0] == '.')
-	{
-	  /* Next is the codeset.  */
-	  syntax = xpg;
-	  cp[0] = '\0';
-	  *codeset = ++cp;
-
-	  while (cp[0] != '\0' && cp[0] != '@')
-	    ++cp;
-
-	  mask |= XPG_CODESET;
-
-	  if (*codeset != cp && (*codeset)[0] != '\0')
-	    {
-	      *normalized_codeset = _nl_normalize_codeset (*codeset,
-							   cp - *codeset);
-	      if (strcmp (*codeset, *normalized_codeset) == 0)
-		free ((char *) *normalized_codeset);
-	      else
-		mask |= XPG_NORM_CODESET;
-	    }
-	}
-    }
-
-  if (cp[0] == '@' || (syntax != xpg && cp[0] == '+'))
-    {
-      /* Next is the modifier.  */
-      syntax = cp[0] == '@' ? xpg : cen;
-      cp[0] = '\0';
-      *modifier = ++cp;
-
-      while (syntax == cen && cp[0] != '\0' && cp[0] != '+'
-	     && cp[0] != ',' && cp[0] != '_')
-	++cp;
-
-      mask |= XPG_MODIFIER | CEN_AUDIENCE;
-    }
-
-  if (syntax != xpg && (cp[0] == '+' || cp[0] == ',' || cp[0] == '_'))
-    {
-      syntax = cen;
-
-      if (cp[0] == '+')
-	{
- 	  /* Next is special application (CEN syntax).  */
-	  cp[0] = '\0';
-	  *special = ++cp;
-
-	  while (cp[0] != '\0' && cp[0] != ',' && cp[0] != '_')
-	    ++cp;
-
-	  mask |= CEN_SPECIAL;
-	}
-
-      if (cp[0] == ',')
-	{
- 	  /* Next is sponsor (CEN syntax).  */
-	  cp[0] = '\0';
-	  *sponsor = ++cp;
-
-	  while (cp[0] != '\0' && cp[0] != '_')
-	    ++cp;
-
-	  mask |= CEN_SPONSOR;
-	}
-
-      if (cp[0] == '_')
-	{
- 	  /* Next is revision (CEN syntax).  */
-	  cp[0] = '\0';
-	  *revision = ++cp;
-
-	  mask |= CEN_REVISION;
-	}
-    }
-
-  /* For CEN syntax values it might be important to have the
-     separator character in the file name, not for XPG syntax.  */
-  if (syntax == xpg)
-    {
-      if (*territory != NULL && (*territory)[0] == '\0')
-	mask &= ~TERRITORY;
-
-      if (*codeset != NULL && (*codeset)[0] == '\0')
-	mask &= ~XPG_CODESET;
-
-      if (*modifier != NULL && (*modifier)[0] == '\0')
-	mask &= ~XPG_MODIFIER;
-    }
-
-  return mask;
-}
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/finddomain.c tin-2.6.4/intl/finddomain.c
--- tin-2.6.3/intl/finddomain.c	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/finddomain.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,198 +0,0 @@
-/* Handle list of needed message catalogs
-   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
-   Written by Ulrich Drepper <drepper@gnu.org>, 1995.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include <string.h>
-
-#if defined HAVE_UNISTD_H || defined _LIBC
-# include <unistd.h>
-#endif
-
-#include "gettextP.h"
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgnuintl.h"
-#endif
-
-/* @@ end of prolog @@ */
-/* List of already loaded domains.  */
-static struct loaded_l10nfile *_nl_loaded_domains;
-
-
-/* Return a data structure describing the message catalog described by
-   the DOMAINNAME and CATEGORY parameters with respect to the currently
-   established bindings.  */
-struct loaded_l10nfile *
-internal_function
-_nl_find_domain (dirname, locale, domainname, domainbinding)
-     const char *dirname;
-     char *locale;
-     const char *domainname;
-     struct binding *domainbinding;
-{
-  struct loaded_l10nfile *retval;
-  const char *language;
-  const char *modifier;
-  const char *territory;
-  const char *codeset;
-  const char *normalized_codeset;
-  const char *special;
-  const char *sponsor;
-  const char *revision;
-  const char *alias_value;
-  int mask;
-
-  /* LOCALE can consist of up to four recognized parts for the XPG syntax:
-
-		language[_territory[.codeset]][@modifier]
-
-     and six parts for the CEN syntax:
-
-	language[_territory][+audience][+special][,[sponsor][_revision]]
-
-     Beside the first part all of them are allowed to be missing.  If
-     the full specified locale is not found, the less specific one are
-     looked for.  The various parts will be stripped off according to
-     the following order:
-		(1) revision
-		(2) sponsor
-		(3) special
-		(4) codeset
-		(5) normalized codeset
-		(6) territory
-		(7) audience/modifier
-   */
-
-  /* If we have already tested for this locale entry there has to
-     be one data set in the list of loaded domains.  */
-  retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
-			       strlen (dirname) + 1, 0, locale, NULL, NULL,
-			       NULL, NULL, NULL, NULL, NULL, domainname, 0);
-  if (retval != NULL)
-    {
-      /* We know something about this locale.  */
-      int cnt;
-
-      if (retval->decided == 0)
-	_nl_load_domain (retval, domainbinding);
-
-      if (retval->data != NULL)
-	return retval;
-
-      for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
-	{
-	  if (retval->successor[cnt]->decided == 0)
-	    _nl_load_domain (retval->successor[cnt], domainbinding);
-
-	  if (retval->successor[cnt]->data != NULL)
-	    break;
-	}
-      return cnt >= 0 ? retval : NULL;
-      /* NOTREACHED */
-    }
-
-  /* See whether the locale value is an alias.  If yes its value
-     *overwrites* the alias name.  No test for the original value is
-     done.  */
-  alias_value = _nl_expand_alias (locale);
-  if (alias_value != NULL)
-    {
-#if defined _LIBC || defined HAVE_STRDUP
-      locale = strdup (alias_value);
-      if (locale == NULL)
-	return NULL;
-#else
-      size_t len = strlen (alias_value) + 1;
-      locale = (char *) malloc (len);
-      if (locale == NULL)
-	return NULL;
-
-      memcpy (locale, alias_value, len);
-#endif
-    }
-
-  /* Now we determine the single parts of the locale name.  First
-     look for the language.  Termination symbols are `_' and `@' if
-     we use XPG4 style, and `_', `+', and `,' if we use CEN syntax.  */
-  mask = _nl_explode_name (locale, &language, &modifier, &territory,
-			   &codeset, &normalized_codeset, &special,
-			   &sponsor, &revision);
-
-  /* Create all possible locale entries which might be interested in
-     generalization.  */
-  retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
-			       strlen (dirname) + 1, mask, language, territory,
-			       codeset, normalized_codeset, modifier, special,
-			       sponsor, revision, domainname, 1);
-  if (retval == NULL)
-    /* This means we are out of core.  */
-    return NULL;
-
-  if (retval->decided == 0)
-    _nl_load_domain (retval, domainbinding);
-  if (retval->data == NULL)
-    {
-      int cnt;
-      for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
-	{
-	  if (retval->successor[cnt]->decided == 0)
-	    _nl_load_domain (retval->successor[cnt], domainbinding);
-	  if (retval->successor[cnt]->data != NULL)
-	    break;
-	}
-    }
-
-  /* The room for an alias was dynamically allocated.  Free it now.  */
-  if (alias_value != NULL)
-    free (locale);
-
-  /* The space for normalized_codeset is dynamically allocated.  Free it.  */
-  if (mask & XPG_NORM_CODESET)
-    free ((void *) normalized_codeset);
-
-  return retval;
-}
-
-
-#ifdef _LIBC
-static void __attribute__ ((unused))
-free_mem (void)
-{
-  struct loaded_l10nfile *runp = _nl_loaded_domains;
-
-  while (runp != NULL)
-    {
-      struct loaded_l10nfile *here = runp;
-      if (runp->data != NULL)
-	_nl_unload_domain ((struct loaded_domain *) runp->data);
-      runp = runp->next;
-      free ((char *) here->filename);
-      free (here);
-    }
-}
-
-text_set_element (__libc_subfreeres, free_mem);
-#endif
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/gettext.c tin-2.6.4/intl/gettext.c
--- tin-2.6.3/intl/gettext.c	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/gettext.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,64 +0,0 @@
-/* Implementation of gettext(3) function.
-   Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-#ifdef _LIBC
-# define __need_NULL
-# include <stddef.h>
-#else
-# include <stdlib.h>		/* Just for NULL.  */
-#endif
-
-#include "gettextP.h"
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgnuintl.h"
-#endif
-
-/* @@ end of prolog @@ */
-
-/* Names for the libintl functions are a problem.  They must not clash
-   with existing names and they should follow ANSI C.  But this source
-   code is also used in GNU C Library where the names have a __
-   prefix.  So we have to make a difference here.  */
-#ifdef _LIBC
-# define GETTEXT __gettext
-# define DCGETTEXT __dcgettext
-#else
-# define GETTEXT gettext__
-# define DCGETTEXT dcgettext__
-#endif
-
-/* Look up MSGID in the current default message catalog for the current
-   LC_MESSAGES locale.  If not found, returns MSGID itself (the default
-   text).  */
-char *
-GETTEXT (msgid)
-     const char *msgid;
-{
-  return DCGETTEXT (NULL, msgid, LC_MESSAGES);
-}
-
-#ifdef _LIBC
-/* Alias for function name in GNU C Library.  */
-weak_alias (__gettext, gettext);
-#endif
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/gettext.h tin-2.6.4/intl/gettext.h
--- tin-2.6.3/intl/gettext.h	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/gettext.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,102 +0,0 @@
-/* Description of GNU message catalog format: general file layout.
-   Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-#ifndef _GETTEXT_H
-#define _GETTEXT_H 1
-
-#if HAVE_LIMITS_H || _LIBC
-# include <limits.h>
-#endif
-
-/* @@ end of prolog @@ */
-
-/* The magic number of the GNU message catalog format.  */
-#define _MAGIC 0x950412de
-#define _MAGIC_SWAPPED 0xde120495
-
-/* Revision number of the currently used .mo (binary) file format.  */
-#define MO_REVISION_NUMBER 0
-
-/* The following contortions are an attempt to use the C preprocessor
-   to determine an unsigned integral type that is 32 bits wide.  An
-   alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
-   as of version autoconf-2.13, the AC_CHECK_SIZEOF macro doesn't work
-   when cross-compiling.  */
-
-#if __STDC__
-# define UINT_MAX_32_BITS 4294967295U
-#else
-# define UINT_MAX_32_BITS 0xFFFFFFFF
-#endif
-
-/* If UINT_MAX isn't defined, assume it's a 32-bit type.
-   This should be valid for all systems GNU cares about because
-   that doesn't include 16-bit systems, and only modern systems
-   (that certainly have <limits.h>) have 64+-bit integral types.  */
-
-#ifndef UINT_MAX
-# define UINT_MAX UINT_MAX_32_BITS
-#endif
-
-#if UINT_MAX == UINT_MAX_32_BITS
-typedef unsigned nls_uint32;
-#else
-# if USHRT_MAX == UINT_MAX_32_BITS
-typedef unsigned short nls_uint32;
-# else
-#  if ULONG_MAX == UINT_MAX_32_BITS
-typedef unsigned long nls_uint32;
-#  else
-  /* The following line is intended to throw an error.  Using #error is
-     not portable enough.  */
-  "Cannot determine unsigned 32-bit data type."
-#  endif
-# endif
-#endif
-
-
-/* Header for binary .mo file format.  */
-struct mo_file_header
-{
-  /* The magic number.  */
-  nls_uint32 magic;
-  /* The revision number of the file format.  */
-  nls_uint32 revision;
-  /* The number of strings pairs.  */
-  nls_uint32 nstrings;
-  /* Offset of table with start offsets of original strings.  */
-  nls_uint32 orig_tab_offset;
-  /* Offset of table with start offsets of translation strings.  */
-  nls_uint32 trans_tab_offset;
-  /* Size of hashing table.  */
-  nls_uint32 hash_tab_size;
-  /* Offset of first hashing entry.  */
-  nls_uint32 hash_tab_offset;
-};
-
-struct string_desc
-{
-  /* Length of addressed string.  */
-  nls_uint32 length;
-  /* Offset of string in file.  */
-  nls_uint32 offset;
-};
-
-/* @@ begin of epilog @@ */
-
-#endif	/* gettext.h  */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/gettextP.h tin-2.6.4/intl/gettextP.h
--- tin-2.6.3/intl/gettextP.h	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/gettextP.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,251 +0,0 @@
-/* Header describing internals of libintl library.
-   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
-   Written by Ulrich Drepper <drepper@cygnus.com>, 1995.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-#ifndef _GETTEXTP_H
-#define _GETTEXTP_H
-
-#include <stddef.h>		/* Get size_t.  */
-
-#ifdef _LIBC
-# include "../iconv/gconv_int.h"
-#else
-# ifdef HAVE_ICONV
-#  include <iconv.h>
-# endif
-#endif
-
-#include "loadinfo.h"
-
-#include "gettext.h"		/* Get nls_uint32.  */
-
-/* @@ end of prolog @@ */
-
-#ifndef PARAMS
-# if __STDC__
-#  define PARAMS(args) args
-# else
-#  define PARAMS(args) ()
-# endif
-#endif
-
-#ifndef internal_function
-# define internal_function
-#endif
-
-/* Tell the compiler when a conditional or integer expression is
-   almost always true or almost always false.  */
-#ifndef HAVE_BUILTIN_EXPECT
-# define __builtin_expect(expr, val) (expr)
-#endif
-
-#ifndef W
-# define W(flag, data) ((flag) ? SWAP (data) : (data))
-#endif
-
-
-#ifdef _LIBC
-# include <byteswap.h>
-# define SWAP(i) bswap_32 (i)
-#else
-static inline nls_uint32
-SWAP (nls_uint32 i)
-{
-  return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24);
-}
-#endif
-
-
-/* This is the representation of the expressions to determine the
-   plural form.  */
-struct expression
-{
-  int nargs;			/* Number of arguments.  */
-  enum operator
-  {
-    /* Without arguments:  */
-    var,			/* The variable "n".  */
-    num,			/* Decimal number.  */
-    /* Unary operators:  */
-    lnot,			/* Logical NOT.  */
-    /* Binary operators:  */
-    mult,			/* Multiplication.  */
-    divide,			/* Division.  */
-    module,			/* Module operation.  */
-    plus,			/* Addition.  */
-    minus,			/* Subtraction.  */
-    less_than,			/* Comparison.  */
-    greater_than,		/* Comparison.  */
-    less_or_equal,		/* Comparison.  */
-    greater_or_equal,		/* Comparison.  */
-    equal,			/* Comparision for equality.  */
-    not_equal,			/* Comparision for inequality.  */
-    land,			/* Logical AND.  */
-    lor,			/* Logical OR.  */
-    /* Ternary operators:  */
-    qmop			/* Question mark operator.  */
-  } operation;
-  union
-  {
-    unsigned long int num;	/* Number value for `num'.  */
-    struct expression *args[3];	/* Up to three arguments.  */
-  } val;
-};
-
-/* This is the data structure to pass information to the parser and get
-   the result in a thread-safe way.  */
-struct parse_args
-{
-  const char *cp;
-  struct expression *res;
-};
-
-
-/* The representation of an opened message catalog.  */
-struct loaded_domain
-{
-  const char *data;
-  int use_mmap;
-  size_t mmap_size;
-  int must_swap;
-  nls_uint32 nstrings;
-  struct string_desc *orig_tab;
-  struct string_desc *trans_tab;
-  nls_uint32 hash_size;
-  nls_uint32 *hash_tab;
-  int codeset_cntr;
-#ifdef _LIBC
-  __gconv_t conv;
-#else
-# ifdef HAVE_ICONV
-  iconv_t conv;
-# endif
-#endif
-  char **conv_tab;
-
-  struct expression *plural;
-  unsigned long int nplurals;
-};
-
-/* We want to allocate a string at the end of the struct.  But ISO C
-   doesn't allow zero sized arrays.  */
-#ifdef __GNUC__
-# define ZERO 0
-#else
-# define ZERO 1
-#endif
-
-/* A set of settings bound to a message domain.  Used to store settings
-   from bindtextdomain() and bind_textdomain_codeset().  */
-struct binding
-{
-  struct binding *next;
-  char *dirname;
-  int codeset_cntr;	/* Incremented each time codeset changes.  */
-  char *codeset;
-  char domainname[ZERO];
-};
-
-/* A counter which is incremented each time some previous translations
-   become invalid.
-   This variable is part of the external ABI of the GNU libintl.  */
-extern int _nl_msg_cat_cntr;
-
-struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname,
-						 char *__locale,
-						 const char *__domainname,
-					      struct binding *__domainbinding))
-     internal_function;
-void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain,
-			      struct binding *__domainbinding))
-     internal_function;
-void _nl_unload_domain PARAMS ((struct loaded_domain *__domain))
-     internal_function;
-const char *_nl_init_domain_conv PARAMS ((struct loaded_l10nfile *__domain_file,
-					  struct loaded_domain *__domain,
-					  struct binding *__domainbinding))
-     internal_function;
-void _nl_free_domain_conv PARAMS ((struct loaded_domain *__domain))
-     internal_function;
-
-char *_nl_find_msg PARAMS ((struct loaded_l10nfile *domain_file,
-			    struct binding *domainbinding,
-			    const char *msgid, size_t *lengthp))
-     internal_function;
-
-#ifdef _LIBC
-extern char *__gettext PARAMS ((const char *__msgid));
-extern char *__dgettext PARAMS ((const char *__domainname,
-				 const char *__msgid));
-extern char *__dcgettext PARAMS ((const char *__domainname,
-				  const char *__msgid, int __category));
-extern char *__ngettext PARAMS ((const char *__msgid1, const char *__msgid2,
-				 unsigned long int __n));
-extern char *__dngettext PARAMS ((const char *__domainname,
-				  const char *__msgid1, const char *__msgid2,
-				  unsigned long int n));
-extern char *__dcngettext PARAMS ((const char *__domainname,
-				   const char *__msgid1, const char *__msgid2,
-				   unsigned long int __n, int __category));
-extern char *__dcigettext PARAMS ((const char *__domainname,
-				   const char *__msgid1, const char *__msgid2,
-				   int __plural, unsigned long int __n,
-				   int __category));
-extern char *__textdomain PARAMS ((const char *__domainname));
-extern char *__bindtextdomain PARAMS ((const char *__domainname,
-				       const char *__dirname));
-extern char *__bind_textdomain_codeset PARAMS ((const char *__domainname,
-						const char *__codeset));
-#else
-extern char *gettext__ PARAMS ((const char *__msgid));
-extern char *dgettext__ PARAMS ((const char *__domainname,
-				 const char *__msgid));
-extern char *dcgettext__ PARAMS ((const char *__domainname,
-				  const char *__msgid, int __category));
-extern char *ngettext__ PARAMS ((const char *__msgid1, const char *__msgid2,
-				 unsigned long int __n));
-extern char *dngettext__ PARAMS ((const char *__domainname,
-				  const char *__msgid1, const char *__msgid2,
-				  unsigned long int __n));
-extern char *dcngettext__ PARAMS ((const char *__domainname,
-				   const char *__msgid1, const char *__msgid2,
-				   unsigned long int __n, int __category));
-extern char *dcigettext__ PARAMS ((const char *__domainname,
-				   const char *__msgid1, const char *__msgid2,
-				   int __plural, unsigned long int __n,
-				   int __category));
-extern char *textdomain__ PARAMS ((const char *__domainname));
-extern char *bindtextdomain__ PARAMS ((const char *__domainname,
-				       const char *__dirname));
-extern char *bind_textdomain_codeset__ PARAMS ((const char *__domainname,
-						const char *__codeset));
-#endif
-
-#ifdef _LIBC
-extern void __gettext_free_exp PARAMS ((struct expression *_exp))
-     internal_function;
-extern int __gettextparse PARAMS ((void *arg));
-#else
-extern void gettext_free_exp__ PARAMS ((struct expression *_exp))
-     internal_function;
-extern int gettextparse__ PARAMS ((void *arg));
-#endif
-
-/* @@ begin of epilog @@ */
-
-#endif /* gettextP.h  */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/hash-string.h tin-2.6.4/intl/hash-string.h
--- tin-2.6.3/intl/hash-string.h	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/hash-string.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,59 +0,0 @@
-/* Description of GNU message catalog format: string hashing function.
-   Copyright (C) 1995, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-/* @@ end of prolog @@ */
-
-#ifndef PARAMS
-# if __STDC__
-#  define PARAMS(Args) Args
-# else
-#  define PARAMS(Args) ()
-# endif
-#endif
-
-/* We assume to have `unsigned long int' value with at least 32 bits.  */
-#define HASHWORDBITS 32
-
-
-/* Defines the so called `hashpjw' function by P.J. Weinberger
-   [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools,
-   1986, 1987 Bell Telephone Laboratories, Inc.]  */
-static unsigned long int hash_string PARAMS ((const char *__str_param));
-
-static inline unsigned long int
-hash_string (str_param)
-     const char *str_param;
-{
-  unsigned long int hval, g;
-  const char *str = str_param;
-
-  /* Compute the hash value for the given string.  */
-  hval = 0;
-  while (*str != '\0')
-    {
-      hval <<= 4;
-      hval += (unsigned long int) *str++;
-      g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4));
-      if (g != 0)
-	{
-	  hval ^= g >> (HASHWORDBITS - 8);
-	  hval ^= g;
-	}
-    }
-  return hval;
-}
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/intl-compat.c tin-2.6.4/intl/intl-compat.c
--- tin-2.6.3/intl/intl-compat.c	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/intl-compat.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,166 +0,0 @@
-/* intl-compat.c - Stub functions to call gettext functions from GNU gettext
-   Library.
-   Copyright (C) 1995, 2000, 2001 Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-#include "libgnuintl.h"
-#include "gettextP.h"
-
-/* @@ end of prolog @@ */
-
-/* This file redirects the gettext functions (without prefix or suffix) to
-   those defined in the included GNU gettext library (with "__" suffix).
-   It is compiled into libintl when the included GNU gettext library is
-   configured --with-included-gettext.
-
-   This redirection works also in the case that the system C library or
-   the system libintl library contain gettext/textdomain/... functions.
-   If it didn't, we would need to add preprocessor level redirections to
-   libgnuintl.h of the following form:
-
-#    define gettext gettext__
-#    define dgettext dgettext__
-#    define dcgettext dcgettext__
-#    define ngettext ngettext__
-#    define dngettext dngettext__
-#    define dcngettext dcngettext__
-#    define textdomain textdomain__
-#    define bindtextdomain bindtextdomain__
-#    define bind_textdomain_codeset bind_textdomain_codeset__
-
-   How does this redirection work? There are two cases.
-   A. When libintl.a is linked into an executable, it works because
-      functions defined in the executable always override functions in
-      the shared libraries.
-   B. When libintl.so is used, it works because
-      1. those systems defining gettext/textdomain/... in the C library
-         (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer) are
-         ELF systems and define these symbols as weak, thus explicitly
-         letting other shared libraries override it.
-      2. those systems defining gettext/textdomain/... in a standalone
-         libintl.so library (namely, Solaris 2.3 and newer) have this
-         shared library in /usr/lib, and the linker will search /usr/lib
-         *after* the directory where the GNU gettext library is installed.
-
-   A third case, namely when libintl.a is linked into a shared library
-   whose name is not libintl.so, is not supported. In this case, on
-   Solaris, when -lintl precedes the linker option for the shared library
-   containing GNU gettext, the system's gettext would indeed override
-   the GNU gettext. Anyone doing this kind of stuff must be clever enough
-   to 1. compile libintl.a with -fPIC, 2. remove -lintl from his linker
-   command line.  */
-
-
-#undef gettext
-#undef dgettext
-#undef dcgettext
-#undef ngettext
-#undef dngettext
-#undef dcngettext
-#undef textdomain
-#undef bindtextdomain
-#undef bind_textdomain_codeset
-
-
-char *
-gettext (msgid)
-     const char *msgid;
-{
-  return gettext__ (msgid);
-}
-
-
-char *
-dgettext (domainname, msgid)
-     const char *domainname;
-     const char *msgid;
-{
-  return dgettext__ (domainname, msgid);
-}
-
-
-char *
-dcgettext (domainname, msgid, category)
-     const char *domainname;
-     const char *msgid;
-     int category;
-{
-  return dcgettext__ (domainname, msgid, category);
-}
-
-
-char *
-ngettext (msgid1, msgid2, n)
-     const char *msgid1;
-     const char *msgid2;
-     unsigned long int n;
-{
-  return ngettext__ (msgid1, msgid2, n);
-}
-
-
-char *
-dngettext (domainname, msgid1, msgid2, n)
-     const char *domainname;
-     const char *msgid1;
-     const char *msgid2;
-     unsigned long int n;
-{
-  return dngettext__ (domainname, msgid1, msgid2, n);
-}
-
-
-char *
-dcngettext (domainname, msgid1, msgid2, n, category)
-     const char *domainname;
-     const char *msgid1;
-     const char *msgid2;
-     unsigned long int n;
-     int category;
-{
-  return dcngettext__ (domainname, msgid1, msgid2, n, category);
-}
-
-
-char *
-textdomain (domainname)
-     const char *domainname;
-{
-  return textdomain__ (domainname);
-}
-
-
-char *
-bindtextdomain (domainname, dirname)
-     const char *domainname;
-     const char *dirname;
-{
-  return bindtextdomain__ (domainname, dirname);
-}
-
-
-char *
-bind_textdomain_codeset (domainname, codeset)
-     const char *domainname;
-     const char *codeset;
-{
-  return bind_textdomain_codeset__ (domainname, codeset);
-}
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/l10nflist.c tin-2.6.4/intl/l10nflist.c
--- tin-2.6.3/intl/l10nflist.c	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/l10nflist.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,405 +0,0 @@
-/* Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
-   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-/* Tell glibc's <string.h> to provide a prototype for stpcpy().
-   This must come before <autoconf.h> because <autoconf.h> may include
-   <features.h>, and once <features.h> has been included, it's too late.  */
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE	1
-#endif
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-#include <string.h>
-#if !HAVE_STRCHR && !defined _LIBC
-# ifndef strchr
-#  define strchr index
-# endif
-#endif
-
-#if defined _LIBC || defined HAVE_ARGZ_H
-# include <argz.h>
-#endif
-#include <ctype.h>
-#include <sys/types.h>
-#include <stdlib.h>
-
-#include "loadinfo.h"
-
-/* On some strange systems still no definition of NULL is found.  Sigh!  */
-#ifndef NULL
-# if defined __STDC__ && __STDC__
-#  define NULL ((void *) 0)
-# else
-#  define NULL 0
-# endif
-#endif
-
-/* @@ end of prolog @@ */
-
-#ifdef _LIBC
-/* Rename the non ANSI C functions.  This is required by the standard
-   because some ANSI C functions will require linking with this object
-   file and the name space must not be polluted.  */
-# ifndef stpcpy
-#  define stpcpy(dest, src) __stpcpy(dest, src)
-# endif
-#else
-# ifndef HAVE_STPCPY
-static char *stpcpy PARAMS ((char *dest, const char *src));
-# endif
-#endif
-
-/* Define function which are usually not available.  */
-
-#if !defined _LIBC && !defined HAVE___ARGZ_COUNT
-/* Returns the number of strings in ARGZ.  */
-static size_t argz_count__ PARAMS ((const char *argz, size_t len));
-
-static size_t
-argz_count__ (argz, len)
-     const char *argz;
-     size_t len;
-{
-  size_t count = 0;
-  while (len > 0)
-    {
-      size_t part_len = strlen (argz);
-      argz += part_len + 1;
-      len -= part_len + 1;
-      count++;
-    }
-  return count;
-}
-# undef __argz_count
-# define __argz_count(argz, len) argz_count__ (argz, len)
-#endif	/* !_LIBC && !HAVE___ARGZ_COUNT */
-
-#if !defined _LIBC && !defined HAVE___ARGZ_STRINGIFY
-/* Make '\0' separated arg vector ARGZ printable by converting all the '\0's
-   except the last into the character SEP.  */
-static void argz_stringify__ PARAMS ((char *argz, size_t len, int sep));
-
-static void
-argz_stringify__ (argz, len, sep)
-     char *argz;
-     size_t len;
-     int sep;
-{
-  while (len > 0)
-    {
-      size_t part_len = strlen (argz);
-      argz += part_len;
-      len -= part_len + 1;
-      if (len > 0)
-	*argz++ = sep;
-    }
-}
-# undef __argz_stringify
-# define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep)
-#endif	/* !_LIBC && !HAVE___ARGZ_STRINGIFY */
-
-#if !defined _LIBC && !defined HAVE___ARGZ_NEXT
-static char *argz_next__ PARAMS ((char *argz, size_t argz_len,
-				  const char *entry));
-
-static char *
-argz_next__ (argz, argz_len, entry)
-     char *argz;
-     size_t argz_len;
-     const char *entry;
-{
-  if (entry)
-    {
-      if (entry < argz + argz_len)
-        entry = strchr (entry, '\0') + 1;
-
-      return entry >= argz + argz_len ? NULL : (char *) entry;
-    }
-  else
-    if (argz_len > 0)
-      return argz;
-    else
-      return 0;
-}
-# undef __argz_next
-# define __argz_next(argz, len, entry) argz_next__ (argz, len, entry)
-#endif	/* !_LIBC && !HAVE___ARGZ_NEXT */
-
-
-/* Return number of bits set in X.  */
-static int pop PARAMS ((int x));
-
-static inline int
-pop (x)
-     int x;
-{
-  /* We assume that no more than 16 bits are used.  */
-  x = ((x & ~0x5555) >> 1) + (x & 0x5555);
-  x = ((x & ~0x3333) >> 2) + (x & 0x3333);
-  x = ((x >> 4) + x) & 0x0f0f;
-  x = ((x >> 8) + x) & 0xff;
-
-  return x;
-}
-
-
-struct loaded_l10nfile *
-_nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language,
-		    territory, codeset, normalized_codeset, modifier, special,
-		    sponsor, revision, filename, do_allocate)
-     struct loaded_l10nfile **l10nfile_list;
-     const char *dirlist;
-     size_t dirlist_len;
-     int mask;
-     const char *language;
-     const char *territory;
-     const char *codeset;
-     const char *normalized_codeset;
-     const char *modifier;
-     const char *special;
-     const char *sponsor;
-     const char *revision;
-     const char *filename;
-     int do_allocate;
-{
-  char *abs_filename;
-  struct loaded_l10nfile *last = NULL;
-  struct loaded_l10nfile *retval;
-  char *cp;
-  size_t entries;
-  int cnt;
-
-  /* Allocate room for the full file name.  */
-  abs_filename = (char *) malloc (dirlist_len
-				  + strlen (language)
-				  + ((mask & TERRITORY) != 0
-				     ? strlen (territory) + 1 : 0)
-				  + ((mask & XPG_CODESET) != 0
-				     ? strlen (codeset) + 1 : 0)
-				  + ((mask & XPG_NORM_CODESET) != 0
-				     ? strlen (normalized_codeset) + 1 : 0)
-				  + (((mask & XPG_MODIFIER) != 0
-				      || (mask & CEN_AUDIENCE) != 0)
-				     ? strlen (modifier) + 1 : 0)
-				  + ((mask & CEN_SPECIAL) != 0
-				     ? strlen (special) + 1 : 0)
-				  + (((mask & CEN_SPONSOR) != 0
-				      || (mask & CEN_REVISION) != 0)
-				     ? (1 + ((mask & CEN_SPONSOR) != 0
-					     ? strlen (sponsor) + 1 : 0)
-					+ ((mask & CEN_REVISION) != 0
-					   ? strlen (revision) + 1 : 0)) : 0)
-				  + 1 + strlen (filename) + 1);
-
-  if (abs_filename == NULL)
-    return NULL;
-
-  retval = NULL;
-  last = NULL;
-
-  /* Construct file name.  */
-  memcpy (abs_filename, dirlist, dirlist_len);
-  __argz_stringify (abs_filename, dirlist_len, PATH_SEPARATOR);
-  cp = abs_filename + (dirlist_len - 1);
-  *cp++ = '/';
-  cp = stpcpy (cp, language);
-
-  if ((mask & TERRITORY) != 0)
-    {
-      *cp++ = '_';
-      cp = stpcpy (cp, territory);
-    }
-  if ((mask & XPG_CODESET) != 0)
-    {
-      *cp++ = '.';
-      cp = stpcpy (cp, codeset);
-    }
-  if ((mask & XPG_NORM_CODESET) != 0)
-    {
-      *cp++ = '.';
-      cp = stpcpy (cp, normalized_codeset);
-    }
-  if ((mask & (XPG_MODIFIER | CEN_AUDIENCE)) != 0)
-    {
-      /* This component can be part of both syntaces but has different
-	 leading characters.  For CEN we use `+', else `@'.  */
-      *cp++ = (mask & CEN_AUDIENCE) != 0 ? '+' : '@';
-      cp = stpcpy (cp, modifier);
-    }
-  if ((mask & CEN_SPECIAL) != 0)
-    {
-      *cp++ = '+';
-      cp = stpcpy (cp, special);
-    }
-  if ((mask & (CEN_SPONSOR | CEN_REVISION)) != 0)
-    {
-      *cp++ = ',';
-      if ((mask & CEN_SPONSOR) != 0)
-	cp = stpcpy (cp, sponsor);
-      if ((mask & CEN_REVISION) != 0)
-	{
-	  *cp++ = '_';
-	  cp = stpcpy (cp, revision);
-	}
-    }
-
-  *cp++ = '/';
-  stpcpy (cp, filename);
-
-  /* Look in list of already loaded domains whether it is already
-     available.  */
-  last = NULL;
-  for (retval = *l10nfile_list; retval != NULL; retval = retval->next)
-    if (retval->filename != NULL)
-      {
-	int compare = strcmp (retval->filename, abs_filename);
-	if (compare == 0)
-	  /* We found it!  */
-	  break;
-	if (compare < 0)
-	  {
-	    /* It's not in the list.  */
-	    retval = NULL;
-	    break;
-	  }
-
-	last = retval;
-      }
-
-  if (retval != NULL || do_allocate == 0)
-    {
-      free (abs_filename);
-      return retval;
-    }
-
-  retval = (struct loaded_l10nfile *)
-    malloc (sizeof (*retval) + (__argz_count (dirlist, dirlist_len)
-				* (1 << pop (mask))
-				* sizeof (struct loaded_l10nfile *)));
-  if (retval == NULL)
-    return NULL;
-
-  retval->filename = abs_filename;
-  retval->decided = (__argz_count (dirlist, dirlist_len) != 1
-		     || ((mask & XPG_CODESET) != 0
-			 && (mask & XPG_NORM_CODESET) != 0));
-  retval->data = NULL;
-
-  if (last == NULL)
-    {
-      retval->next = *l10nfile_list;
-      *l10nfile_list = retval;
-    }
-  else
-    {
-      retval->next = last->next;
-      last->next = retval;
-    }
-
-  entries = 0;
-  /* If the DIRLIST is a real list the RETVAL entry corresponds not to
-     a real file.  So we have to use the DIRLIST separation mechanism
-     of the inner loop.  */
-  cnt = __argz_count (dirlist, dirlist_len) == 1 ? mask - 1 : mask;
-  for (; cnt >= 0; --cnt)
-    if ((cnt & ~mask) == 0
-	&& ((cnt & CEN_SPECIFIC) == 0 || (cnt & XPG_SPECIFIC) == 0)
-	&& ((cnt & XPG_CODESET) == 0 || (cnt & XPG_NORM_CODESET) == 0))
-      {
-	/* Iterate over all elements of the DIRLIST.  */
-	char *dir = NULL;
-
-	while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir))
-	       != NULL)
-	  retval->successor[entries++]
-	    = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1, cnt,
-				  language, territory, codeset,
-				  normalized_codeset, modifier, special,
-				  sponsor, revision, filename, 1);
-      }
-  retval->successor[entries] = NULL;
-
-  return retval;
-}
-
-/* Normalize codeset name.  There is no standard for the codeset
-   names.  Normalization allows the user to use any of the common
-   names.  The return value is dynamically allocated and has to be
-   freed by the caller.  */
-const char *
-_nl_normalize_codeset (codeset, name_len)
-     const char *codeset;
-     size_t name_len;
-{
-  int len = 0;
-  int only_digit = 1;
-  char *retval;
-  char *wp;
-  size_t cnt;
-
-  for (cnt = 0; cnt < name_len; ++cnt)
-    if (isalnum (codeset[cnt]))
-      {
-	++len;
-
-	if (isalpha (codeset[cnt]))
-	  only_digit = 0;
-      }
-
-  retval = (char *) malloc ((only_digit ? 3 : 0) + len + 1);
-
-  if (retval != NULL)
-    {
-      if (only_digit)
-	wp = stpcpy (retval, "iso");
-      else
-	wp = retval;
-
-      for (cnt = 0; cnt < name_len; ++cnt)
-	if (isalpha (codeset[cnt]))
-	  *wp++ = tolower (codeset[cnt]);
-	else if (isdigit (codeset[cnt]))
-	  *wp++ = codeset[cnt];
-
-      *wp = '\0';
-    }
-
-  return (const char *) retval;
-}
-
-
-/* @@ begin of epilog @@ */
-
-/* We don't want libintl.a to depend on any other library.  So we
-   avoid the non-standard function stpcpy.  In GNU C Library this
-   function is available, though.  Also allow the symbol HAVE_STPCPY
-   to be defined.  */
-#if !_LIBC && !HAVE_STPCPY
-static char *
-stpcpy (dest, src)
-     char *dest;
-     const char *src;
-{
-  while ((*dest++ = *src++) != '\0')
-    /* Do nothing. */ ;
-  return dest - 1;
-}
-#endif
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/libgettext.h tin-2.6.4/intl/libgettext.h
--- tin-2.6.3/intl/libgettext.h	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/libgettext.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,49 +0,0 @@
-/* Convenience header for conditional use of GNU <libintl.h>.
-   Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-#ifndef _LIBGETTEXT_H
-#define _LIBGETTEXT_H 1
-
-/* NLS can be disabled through the configure --disable-nls option.  */
-#if ENABLE_NLS
-
-/* Get declarations of GNU message catalog functions.  */
-# include <libintl.h>
-
-#else
-
-# define gettext(Msgid) (Msgid)
-# define dgettext(Domainname, Msgid) (Msgid)
-# define dcgettext(Domainname, Msgid, Category) (Msgid)
-# define ngettext(Msgid1, Msgid2, N) \
-    ((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2))
-# define dngettext(Domainname, Msgid1, Msgid2, N) \
-    ((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2))
-# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
-    ((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2))
-# define textdomain(Domainname) ((char *) (Domainname))
-# define bindtextdomain(Domainname, Dirname) ((char *) (Dirname))
-# define bind_textdomain_codeset(Domainname, Codeset) ((char *) (Codeset))
-
-#endif
-
-/* For automatical extraction of messages sometimes no real
-   translation is needed.  Instead the string itself is the result.  */
-#define gettext_noop(Str) (Str)
-
-#endif /* _LIBGETTEXT_H */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/libgnuintl.h tin-2.6.4/intl/libgnuintl.h
--- tin-2.6.3/intl/libgnuintl.h	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/libgnuintl.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,128 +0,0 @@
-/* Message catalogs for internationalization.
-   Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-#ifndef _LIBINTL_H
-#define _LIBINTL_H	1
-
-#include <locale.h>
-
-/* The LC_MESSAGES locale category is the category used by the functions
-   gettext() and dgettext().  It is specified in POSIX, but not in ANSI C.
-   On systems that don't define it, use an arbitrary value instead.
-   On Solaris, <locale.h> defines __LOCALE_H then includes <libintl.h> (i.e.
-   this file!) and then only defines LC_MESSAGES.  To avoid a redefinition
-   warning, don't define LC_MESSAGES in this case.  */
-#if !defined LC_MESSAGES && !defined __LOCALE_H
-# define LC_MESSAGES 1729
-#endif
-
-/* We define an additional symbol to signal that we use the GNU
-   implementation of gettext.  */
-#define __USE_GNU_GETTEXT 1
-
-/* Resolve a platform specific conflict on DJGPP.  GNU gettext takes
-   precedence over _conio_gettext.  */
-#ifdef __DJGPP__
-# undef gettext
-# define gettext gettext
-#endif
-
-#ifndef PARAMS
-# if __STDC__ || defined __cplusplus
-#  define PARAMS(args) args
-# else
-#  define PARAMS(args) ()
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Look up MSGID in the current default message catalog for the current
-   LC_MESSAGES locale.  If not found, returns MSGID itself (the default
-   text).  */
-extern char *gettext PARAMS ((const char *__msgid));
-
-/* Look up MSGID in the DOMAINNAME message catalog for the current
-   LC_MESSAGES locale.  */
-extern char *dgettext PARAMS ((const char *__domainname, const char *__msgid));
-
-/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
-   locale.  */
-extern char *dcgettext PARAMS ((const char *__domainname, const char *__msgid,
-				int __category));
-
-
-/* Similar to `gettext' but select the plural form corresponding to the
-   number N.  */
-extern char *ngettext PARAMS ((const char *__msgid1, const char *__msgid2,
-			       unsigned long int __n));
-
-/* Similar to `dgettext' but select the plural form corresponding to the
-   number N.  */
-extern char *dngettext PARAMS ((const char *__domainname, const char *__msgid1,
-				const char *__msgid2, unsigned long int __n));
-
-/* Similar to `dcgettext' but select the plural form corresponding to the
-   number N.  */
-extern char *dcngettext PARAMS ((const char *__domainname, const char *__msgid1,
-				 const char *__msgid2, unsigned long int __n,
-				 int __category));
-
-
-/* Set the current default message catalog to DOMAINNAME.
-   If DOMAINNAME is null, return the current default.
-   If DOMAINNAME is "", reset to the default of "messages".  */
-extern char *textdomain PARAMS ((const char *__domainname));
-
-/* Specify that the DOMAINNAME message catalog will be found
-   in DIRNAME rather than in the system locale data base.  */
-extern char *bindtextdomain PARAMS ((const char *__domainname,
-				     const char *__dirname));
-
-/* Specify the character encoding in which the messages from the
-   DOMAINNAME message catalog will be returned.  */
-extern char *bind_textdomain_codeset PARAMS ((const char *__domainname,
-					      const char *__codeset));
-
-
-/* Optimized version of the functions above.  */
-#if defined __OPTIMIZED
-/* These are macros, but could also be inline functions.  */
-
-# define gettext(msgid)							      \
-  dgettext (NULL, msgid)
-
-# define dgettext(domainname, msgid)					      \
-  dcgettext (domainname, msgid, LC_MESSAGES)
-
-# define ngettext(msgid1, msgid2, n)					      \
-  dngettext (NULL, msgid1, msgid2, n)
-
-# define dngettext(domainname, msgid1, msgid2, n)			      \
-  dcngettext (domainname, msgid1, msgid2, n, LC_MESSAGES)
-
-#endif /* Optimizing. */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* libintl.h */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/loadinfo.h tin-2.6.4/intl/loadinfo.h
--- tin-2.6.3/intl/loadinfo.h	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/loadinfo.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,109 +0,0 @@
-/* Copyright (C) 1996-1999, 2000, 2001 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-#ifndef _LOADINFO_H
-#define _LOADINFO_H	1
-
-#ifndef PARAMS
-# if __STDC__
-#  define PARAMS(args) args
-# else
-#  define PARAMS(args) ()
-# endif
-#endif
-
-#ifndef internal_function
-# define internal_function
-#endif
-
-/* Tell the compiler when a conditional or integer expression is
-   almost always true or almost always false.  */
-#ifndef HAVE_BUILTIN_EXPECT
-# define __builtin_expect(expr, val) (expr)
-#endif
-
-/* Separator in PATH like lists of pathnames.  */
-#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
-  /* Win32, OS/2, DOS */
-# define PATH_SEPARATOR ';'
-#else
-  /* Unix */
-# define PATH_SEPARATOR ':'
-#endif
-
-/* Encoding of locale name parts.  */
-#define CEN_REVISION		1
-#define CEN_SPONSOR		2
-#define CEN_SPECIAL		4
-#define XPG_NORM_CODESET	8
-#define XPG_CODESET		16
-#define TERRITORY		32
-#define CEN_AUDIENCE		64
-#define XPG_MODIFIER		128
-
-#define CEN_SPECIFIC	(CEN_REVISION|CEN_SPONSOR|CEN_SPECIAL|CEN_AUDIENCE)
-#define XPG_SPECIFIC	(XPG_CODESET|XPG_NORM_CODESET|XPG_MODIFIER)
-
-
-struct loaded_l10nfile
-{
-  const char *filename;
-  int decided;
-
-  const void *data;
-
-  struct loaded_l10nfile *next;
-  struct loaded_l10nfile *successor[1];
-};
-
-
-/* Normalize codeset name.  There is no standard for the codeset
-   names.  Normalization allows the user to use any of the common
-   names.  The return value is dynamically allocated and has to be
-   freed by the caller.  */
-extern const char *_nl_normalize_codeset PARAMS ((const char *codeset,
-						  size_t name_len));
-
-extern struct loaded_l10nfile *
-_nl_make_l10nflist PARAMS ((struct loaded_l10nfile **l10nfile_list,
-			    const char *dirlist, size_t dirlist_len, int mask,
-			    const char *language, const char *territory,
-			    const char *codeset,
-			    const char *normalized_codeset,
-			    const char *modifier, const char *special,
-			    const char *sponsor, const char *revision,
-			    const char *filename, int do_allocate));
-
-
-extern const char *_nl_expand_alias PARAMS ((const char *name));
-
-/* normalized_codeset is dynamically allocated and has to be freed by
-   the caller.  */
-extern int _nl_explode_name PARAMS ((char *name, const char **language,
-				     const char **modifier,
-				     const char **territory,
-				     const char **codeset,
-				     const char **normalized_codeset,
-				     const char **special,
-				     const char **sponsor,
-				     const char **revision));
-
-extern char *_nl_find_language PARAMS ((const char *name));
-
-#endif	/* loadinfo.h */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/loadmsgcat.c tin-2.6.4/intl/loadmsgcat.c
--- tin-2.6.3/intl/loadmsgcat.c	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/loadmsgcat.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,574 +0,0 @@
-/* Load needed message catalogs.
-   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-/* Tell glibc's <string.h> to provide a prototype for mempcpy().
-   This must come before <autoconf.h> because <autoconf.h> may include
-   <features.h>, and once <features.h> has been included, it's too late.  */
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE    1
-#endif
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-#undef freea
-
-/* see AC_FUNC_ALLOCA macro */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  if HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-#    else
-#     define freea(n) free(n)
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-#ifndef freea
-#define freea(n) /* nothing */
-#endif
-
-#include <ctype.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#include <stdlib.h>
-#include <string.h>
-
-#if defined HAVE_UNISTD_H || defined _LIBC
-# include <unistd.h>
-#endif
-
-#ifdef _LIBC
-# include <langinfo.h>
-# include <locale.h>
-#endif
-
-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
-    || (defined _LIBC && defined _POSIX_MAPPED_FILES)
-# include <sys/mman.h>
-# undef HAVE_MMAP
-# define HAVE_MMAP	1
-#else
-# undef HAVE_MMAP
-#endif
-
-#include "gettext.h"
-#include "gettextP.h"
-
-#ifdef _LIBC
-# include "../locale/localeinfo.h"
-#endif
-
-/* @@ end of prolog @@ */
-
-#ifdef _LIBC
-/* Rename the non ISO C functions.  This is required by the standard
-   because some ISO C functions will require linking with this object
-   file and the name space must not be polluted.  */
-# define open   __open
-# define close  __close
-# define read   __read
-# define mmap   __mmap
-# define munmap __munmap
-#endif
-
-/* Names for the libintl functions are a problem.  They must not clash
-   with existing names and they should follow ANSI C.  But this source
-   code is also used in GNU C Library where the names have a __
-   prefix.  So we have to make a difference here.  */
-#ifdef _LIBC
-# define PLURAL_PARSE __gettextparse
-#else
-# define PLURAL_PARSE gettextparse__
-#endif
-
-/* For systems that distinguish between text and binary I/O.
-   O_BINARY is usually declared in <fcntl.h>. */
-#if !defined O_BINARY && defined _O_BINARY
-  /* For MSC-compatible compilers.  */
-# define O_BINARY _O_BINARY
-# define O_TEXT _O_TEXT
-#endif
-#ifdef __BEOS__
-  /* BeOS 5 has O_BINARY and O_TEXT, but they have no effect.  */
-# undef O_BINARY
-# undef O_TEXT
-#endif
-/* On reasonable systems, binary I/O is the default.  */
-#ifndef O_BINARY
-# define O_BINARY 0
-#endif
-
-/* We need a sign, whether a new catalog was loaded, which can be associated
-   with all translations.  This is important if the translations are
-   cached by one of GCC's features.  */
-int _nl_msg_cat_cntr;
-
-#if (defined __GNUC__ && !defined __APPLE_CC__) \
-    || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
-
-/* These structs are the constant expression for the germanic plural
-   form determination.  It represents the expression  "n != 1".  */
-static const struct expression plvar =
-{
-  .nargs = 0,
-  .operation = var,
-};
-static const struct expression plone =
-{
-  .nargs = 0,
-  .operation = num,
-  .val =
-  {
-    .num = 1
-  }
-};
-static struct expression germanic_plural =
-{
-  .nargs = 2,
-  .operation = not_equal,
-  .val =
-  {
-    .args =
-    {
-      [0] = (struct expression *) &plvar,
-      [1] = (struct expression *) &plone
-    }
-  }
-};
-
-# define INIT_GERMANIC_PLURAL()
-
-#else
-
-/* For compilers without support for ISO C 99 struct/union initializers:
-   Initialization at run-time.  */
-
-static struct expression plvar;
-static struct expression plone;
-static struct expression germanic_plural;
-
-static void
-init_germanic_plural ()
-{
-  if (plone.val.num == 0)
-    {
-      plvar.nargs = 0;
-      plvar.operation = var;
-
-      plone.nargs = 0;
-      plone.operation = num;
-      plone.val.num = 1;
-
-      germanic_plural.nargs = 2;
-      germanic_plural.operation = not_equal;
-      germanic_plural.val.args[0] = &plvar;
-      germanic_plural.val.args[1] = &plone;
-    }
-}
-
-# define INIT_GERMANIC_PLURAL() init_germanic_plural ()
-
-#endif
-
-
-/* Initialize the codeset dependent parts of an opened message catalog.
-   Return the header entry.  */
-const char *
-internal_function
-_nl_init_domain_conv (domain_file, domain, domainbinding)
-     struct loaded_l10nfile *domain_file;
-     struct loaded_domain *domain;
-     struct binding *domainbinding;
-{
-  /* Find out about the character set the file is encoded with.
-     This can be found (in textual form) in the entry "".  If this
-     entry does not exist or if this does not contain the `charset='
-     information, we will assume the charset matches the one the
-     current locale and we don't have to perform any conversion.  */
-  char *nullentry;
-  size_t nullentrylen;
-
-  /* Preinitialize fields, to avoid recursion during _nl_find_msg.  */
-  domain->codeset_cntr =
-    (domainbinding != NULL ? domainbinding->codeset_cntr : 0);
-#ifdef _LIBC
-  domain->conv = (__gconv_t) -1;
-#else
-# ifdef HAVE_ICONV
-  domain->conv = (iconv_t) -1;
-# endif
-#endif
-  domain->conv_tab = NULL;
-
-  /* Get the header entry.  */
-  nullentry = _nl_find_msg (domain_file, domainbinding, "", &nullentrylen);
-
-  if (nullentry != NULL)
-    {
-#if defined _LIBC || defined HAVE_ICONV
-      const char *charsetstr;
-
-      charsetstr = strstr (nullentry, "charset=");
-      if (charsetstr != NULL)
-	{
-	  size_t len;
-	  char *charset;
-	  const char *outcharset;
-
-	  charsetstr += strlen ("charset=");
-	  len = strcspn (charsetstr, " \t\n");
-
-	  charset = (char *) alloca (len + 1);
-# if defined _LIBC || HAVE_MEMPCPY
-	  *((char *) mempcpy (charset, charsetstr, len)) = '\0';
-# else
-	  memcpy (charset, charsetstr, len);
-	  charset[len] = '\0';
-# endif
-
-	  /* The output charset should normally be determined by the
-	     locale.  But sometimes the locale is not used or not correctly
-	     set up, so we provide a possibility for the user to override
-	     this.  Moreover, the value specified through
-	     bind_textdomain_codeset overrides both.  */
-	  if (domainbinding != NULL && domainbinding->codeset != NULL)
-	    outcharset = domainbinding->codeset;
-	  else
-	    {
-	      outcharset = getenv ("OUTPUT_CHARSET");
-	      if (outcharset == NULL || outcharset[0] == '\0')
-		{
-# ifdef _LIBC
-		  outcharset = (*_nl_current[LC_CTYPE])->values[_NL_ITEM_INDEX (CODESET)].string;
-# else
-#  if HAVE_ICONV
-		  extern const char *locale_charset (void);
-		  outcharset = locale_charset ();
-#  endif
-# endif
-		}
-	    }
-
-# ifdef _LIBC
-	  /* We always want to use transliteration.  */
-	  outcharset = norm_add_slashes (outcharset, "TRANSLIT");
-	  charset = norm_add_slashes (charset, NULL);
-	  if (__gconv_open (outcharset, charset, &domain->conv,
-			    GCONV_AVOID_NOCONV)
-	      != __GCONV_OK)
-	    domain->conv = (__gconv_t) -1;
-# else
-#  if HAVE_ICONV
-	  /* When using GNU libiconv, we want to use transliteration.  */
-#   if _LIBICONV_VERSION >= 0x0105
-	  len = strlen (outcharset);
-	  {
-	    char *tmp = (char *) alloca (len + 10 + 1);
-	    memcpy (tmp, outcharset, len);
-	    memcpy (tmp + len, "//TRANSLIT", 10 + 1);
-	    outcharset = tmp;
-	  }
-#   endif
-	  domain->conv = iconv_open (outcharset, charset);
-#   if _LIBICONV_VERSION >= 0x0105
-	  freea (outcharset);
-#   endif
-#  endif
-# endif
-
-	  freea (charset);
-	}
-#endif /* _LIBC || HAVE_ICONV */
-    }
-
-  return nullentry;
-}
-
-/* Frees the codeset dependent parts of an opened message catalog.  */
-void
-internal_function
-_nl_free_domain_conv (domain)
-     struct loaded_domain *domain;
-{
-  if (domain->conv_tab != NULL && domain->conv_tab != (char **) -1)
-    free (domain->conv_tab);
-
-#ifdef _LIBC
-  if (domain->conv != (__gconv_t) -1)
-    __gconv_close (domain->conv);
-#else
-# ifdef HAVE_ICONV
-  if (domain->conv != (iconv_t) -1)
-    iconv_close (domain->conv);
-# endif
-#endif
-}
-
-/* Load the message catalogs specified by FILENAME.  If it is no valid
-   message catalog do nothing.  */
-void
-internal_function
-_nl_load_domain (domain_file, domainbinding)
-     struct loaded_l10nfile *domain_file;
-     struct binding *domainbinding;
-{
-  int fd;
-  size_t size;
-#ifdef _LIBC
-  struct stat64 st;
-#else
-  struct stat st;
-#endif
-  struct mo_file_header *data = (struct mo_file_header *) -1;
-  int use_mmap = 0;
-  struct loaded_domain *domain;
-  const char *nullentry;
-
-  domain_file->decided = 1;
-  domain_file->data = NULL;
-
-  /* Note that it would be useless to store domainbinding in domain_file
-     because domainbinding might be == NULL now but != NULL later (after
-     a call to bind_textdomain_codeset).  */
-
-  /* If the record does not represent a valid locale the FILENAME
-     might be NULL.  This can happen when according to the given
-     specification the locale file name is different for XPG and CEN
-     syntax.  */
-  if (domain_file->filename == NULL)
-    return;
-
-  /* Try to open the addressed file.  */
-  fd = open (domain_file->filename, O_RDONLY | O_BINARY);
-  if (fd == -1)
-    return;
-
-  /* We must know about the size of the file.  */
-  if (
-#ifdef _LIBC
-      __builtin_expect (fstat64 (fd, &st) != 0, 0)
-#else
-      __builtin_expect (fstat (fd, &st) != 0, 0)
-#endif
-      || __builtin_expect ((size = (size_t) st.st_size) != (size_t) st.st_size, 0)
-      || __builtin_expect (size < sizeof (struct mo_file_header), 0))
-    {
-      /* Something went wrong.  */
-      close (fd);
-      return;
-    }
-
-#ifdef HAVE_MMAP
-  /* Now we are ready to load the file.  If mmap() is available we try
-     this first.  If not available or it failed we try to load it.  */
-  data = (struct mo_file_header *) mmap (NULL, size, PROT_READ,
-					 MAP_PRIVATE, fd, 0);
-
-  if (__builtin_expect (data != (struct mo_file_header *) -1, 1))
-    {
-      /* mmap() call was successful.  */
-      close (fd);
-      use_mmap = 1;
-    }
-#endif
-
-  /* If the data is not yet available (i.e. mmap'ed) we try to load
-     it manually.  */
-  if (data == (struct mo_file_header *) -1)
-    {
-      size_t to_read;
-      char *read_ptr;
-
-      data = (struct mo_file_header *) malloc (size);
-      if (data == NULL) {
-    	  if (!use_mmap)
-	      	close (fd);
-		return;
-	}
-
-      to_read = size;
-      read_ptr = (char *) data;
-      do
-	{
-	  long int nb = (long int) read (fd, read_ptr, to_read);
-	  if (nb <= 0)
-	    {
-#ifdef EINTR
-	      if (nb == -1 && errno == EINTR)
-		continue;
-#endif
-	      close (fd);
-	      return;
-	    }
-	  read_ptr += nb;
-	  to_read -= nb;
-	}
-      while (to_read > 0);
-
-      close (fd);
-    }
-
-  /* Using the magic number we can test whether it really is a message
-     catalog file.  */
-  if (__builtin_expect (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED,
-			0))
-    {
-      /* The magic number is wrong: not a message catalog file.  */
-#ifdef HAVE_MMAP
-      if (use_mmap)
-	munmap ((caddr_t) data, size);
-      else
-#endif
-	free (data);
-      return;
-    }
-
-  domain = (struct loaded_domain *) malloc (sizeof (struct loaded_domain));
-  if (domain == NULL)
-    return;
-  domain_file->data = domain;
-
-  domain->data = (char *) data;
-  domain->use_mmap = use_mmap;
-  domain->mmap_size = size;
-  domain->must_swap = data->magic != _MAGIC;
-
-  /* Fill in the information about the available tables.  */
-  switch (W (domain->must_swap, data->revision))
-    {
-    case 0:
-      domain->nstrings = W (domain->must_swap, data->nstrings);
-      domain->orig_tab = (struct string_desc *)
-	((char *) data + W (domain->must_swap, data->orig_tab_offset));
-      domain->trans_tab = (struct string_desc *)
-	((char *) data + W (domain->must_swap, data->trans_tab_offset));
-      domain->hash_size = W (domain->must_swap, data->hash_tab_size);
-      domain->hash_tab = (nls_uint32 *)
-	((char *) data + W (domain->must_swap, data->hash_tab_offset));
-      break;
-    default:
-      /* This is an invalid revision.  */
-#ifdef HAVE_MMAP
-      if (use_mmap)
-	munmap ((caddr_t) data, size);
-      else
-#endif
-	free (data);
-      free (domain);
-      domain_file->data = NULL;
-      return;
-    }
-
-  /* Now initialize the character set converter from the character set
-     the file is encoded with (found in the header entry) to the domain's
-     specified character set or the locale's character set.  */
-  nullentry = _nl_init_domain_conv (domain_file, domain, domainbinding);
-
-  /* Also look for a plural specification.  */
-  if (nullentry != NULL)
-    {
-      const char *plural;
-      const char *nplurals;
-
-      plural = strstr (nullentry, "plural=");
-      nplurals = strstr (nullentry, "nplurals=");
-      if (plural == NULL || nplurals == NULL)
-	goto no_plural;
-      else
-	{
-	  /* First get the number.  */
-	  char *endp;
-	  unsigned long int n;
-	  struct parse_args args;
-
-	  nplurals += 9;
-	  while (*nplurals != '\0' && isspace (*nplurals))
-	    ++nplurals;
-#if defined HAVE_STRTOUL || defined _LIBC
-	  n = strtoul (nplurals, &endp, 10);
-#else
-	  for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++)
-	    n = n * 10 + (*endp - '0');
-#endif
-	  domain->nplurals = n;
-	  if (nplurals == endp)
-	    goto no_plural;
-
-	  /* Due to the restrictions bison imposes onto the interface of the
-	     scanner function we have to put the input string and the result
-	     passed up from the parser into the same structure which address
-	     is passed down to the parser.  */
-	  plural += 7;
-	  args.cp = plural;
-	  if (PLURAL_PARSE (&args) != 0)
-	    goto no_plural;
-	  domain->plural = args.res;
-	}
-    }
-  else
-    {
-      /* By default we are using the Germanic form: singular form only
-         for `one', the plural form otherwise.  Yes, this is also what
-         English is using since English is a Germanic language.  */
-    no_plural:
-      INIT_GERMANIC_PLURAL ();
-      domain->plural = &germanic_plural;
-      domain->nplurals = 2;
-    }
-}
-
-
-#ifdef _LIBC
-void
-internal_function
-_nl_unload_domain (domain)
-     struct loaded_domain *domain;
-{
-  if (domain->plural != &germanic_plural)
-    __gettext_free_exp (domain->plural);
-
-  _nl_free_domain_conv (domain);
-
-# ifdef _POSIX_MAPPED_FILES
-  if (domain->use_mmap)
-    munmap ((caddr_t) domain->data, domain->mmap_size);
-  else
-# endif	/* _POSIX_MAPPED_FILES */
-    free ((void *) domain->data);
-
-  free (domain);
-}
-#endif
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/localcharset.c tin-2.6.4/intl/localcharset.c
--- tin-2.6.3/intl/localcharset.c	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/localcharset.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,271 +0,0 @@
-/* Determine a canonical name for the current locale's character encoding.
-
-   Copyright (C) 2000-2001 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-/* Written by Bruno Haible <haible@clisp.cons.org>.  */
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-#if HAVE_STDDEF_H
-# include <stddef.h>
-#endif
-
-#include <stdio.h>
-#if HAVE_STRING_H
-# include <string.h>
-#else
-# include <strings.h>
-#endif
-#if HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-
-#if defined _WIN32 || defined __WIN32__
-# undef WIN32   /* avoid warning on mingw32 */
-# define WIN32
-#endif
-
-#ifndef WIN32
-# if HAVE_LANGINFO_CODESET
-#  include <langinfo.h>
-# else
-#  if HAVE_SETLOCALE
-#   include <locale.h>
-#  endif
-# endif
-#else /* WIN32 */
-# define WIN32_LEAN_AND_MEAN
-# include <windows.h>
-#endif
-
-#ifndef DIRECTORY_SEPARATOR
-# define DIRECTORY_SEPARATOR '/'
-#endif
-
-#ifndef ISSLASH
-# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
-#endif
-
-/* The following static variable is declared 'volatile' to avoid a
-   possible multithread problem in the function get_charset_aliases. If we
-   are running in a threaded environment, and if two threads initialize
-   'charset_aliases' simultaneously, both will produce the same value,
-   and everything will be ok if the two assignments to 'charset_aliases'
-   are atomic. But I don't know what will happen if the two assignments mix.  */
-#if __STDC__ != 1
-# define volatile /* empty */
-#endif
-/* Pointer to the contents of the charset.alias file, if it has already been
-   read, else NULL.  Its format is:
-   ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0'  */
-static const char * volatile charset_aliases;
-
-/* Return a pointer to the contents of the charset.alias file.  */
-static const char *
-get_charset_aliases (void)
-{
-  const char *cp;
-
-  cp = charset_aliases;
-  if (cp == NULL)
-    {
-#ifndef WIN32
-      FILE *fp;
-      const char *dir = LIBDIR;
-      const char *base = "charset.alias";
-      char *file_name;
-
-      /* Concatenate dir and base into freshly allocated file_name.  */
-      {
-	size_t dir_len = strlen (dir);
-	size_t base_len = strlen (base);
-	int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1]));
-	file_name = (char *) malloc (dir_len + add_slash + base_len + 1);
-	if (file_name != NULL)
-	  {
-	    memcpy (file_name, dir, dir_len);
-	    if (add_slash)
-	      file_name[dir_len] = DIRECTORY_SEPARATOR;
-	    memcpy (file_name + dir_len + add_slash, base, base_len + 1);
-	  }
-      }
-
-      if (file_name == NULL || (fp = fopen (file_name, "r")) == NULL)
-	/* Out of memory or file not found, treat it as empty.  */
-	cp = "";
-      else
-	{
-	  /* Parse the file's contents.  */
-	  int c;
-	  char buf1[50+1];
-	  char buf2[50+1];
-	  char *res_ptr = NULL;
-	  size_t res_size = 0;
-	  size_t l1, l2;
-
-	  for (;;)
-	    {
-	      c = getc (fp);
-	      if (c == EOF)
-		break;
-	      if (c == '\n' || c == ' ' || c == '\t')
-		continue;
-	      if (c == '#')
-		{
-		  /* Skip comment, to end of line.  */
-		  do
-		    c = getc (fp);
-		  while (!(c == EOF || c == '\n'));
-		  if (c == EOF)
-		    break;
-		  continue;
-		}
-	      ungetc (c, fp);
-	      if (fscanf(fp, "%50s %50s", buf1, buf2) < 2)
-		break;
-	      l1 = strlen (buf1);
-	      l2 = strlen (buf2);
-	      if (res_size == 0)
-		{
-		  res_size = l1 + 1 + l2 + 1;
-		  res_ptr = malloc (res_size + 1);
-		}
-	      else
-		{
-		  res_size += l1 + 1 + l2 + 1;
-		  res_ptr = realloc (res_ptr, res_size + 1);
-		}
-	      if (res_ptr == NULL)
-		{
-		  /* Out of memory. */
-		  res_size = 0;
-		  break;
-		}
-	      strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1);
-	      strcpy (res_ptr + res_size - (l2 + 1), buf2);
-	    }
-	  fclose (fp);
-	  if (res_size == 0)
-	    cp = "";
-	  else
-	    {
-	      *(res_ptr + res_size) = '\0';
-	      cp = res_ptr;
-	    }
-	}
-
-      if (file_name != NULL)
-	free (file_name);
-
-#else /* WIN32 */
-
-      /* To avoid the troubles of installing a separate file in the same
-	 directory as the DLL and of retrieving the DLL's directory at
-	 runtime, simply inline the aliases here.  */
-
-      cp = "CP936" "\0" "GBK" "\0"
-	   "CP1361" "\0" "JOHAB" "\0";
-#endif
-
-      charset_aliases = cp;
-    }
-
-  return cp;
-}
-
-/* Determine the current locale's character encoding, and canonicalize it
-   into one of the canonical names listed in config.charset.
-   The result must not be freed; it is statically allocated.
-   If the canonical name cannot be determined, the result is a non-canonical
-   name.  */
-
-#ifdef STATIC
-STATIC
-#endif
-const char *
-locale_charset (void)
-{
-  const char *codeset;
-  const char *aliases;
-
-#ifndef WIN32
-
-# if HAVE_LANGINFO_CODESET
-
-  /* Most systems support nl_langinfo (CODESET) nowadays.  */
-  codeset = nl_langinfo (CODESET);
-
-# else
-
-  /* On old systems which lack it, use setlocale or getenv.  */
-  const char *locale = NULL;
-
-  /* But most old systems don't have a complete set of locales.  Some
-     (like SunOS 4 or DJGPP) have only the C locale.  Therefore we don't
-     use setlocale here; it would return "C" when it doesn't support the
-     locale name the user has set.  */
-#  if HAVE_SETLOCALE && 0
-  locale = setlocale (LC_CTYPE, NULL);
-#  endif
-  if (locale == NULL || locale[0] == '\0')
-    {
-      locale = getenv ("LC_ALL");
-      if (locale == NULL || locale[0] == '\0')
-	{
-	  locale = getenv ("LC_CTYPE");
-	  if (locale == NULL || locale[0] == '\0')
-	    locale = getenv ("LANG");
-	}
-    }
-
-  /* On some old systems, one used to set locale = "iso8859_1". On others,
-     you set it to "language_COUNTRY.charset". In any case, we resolve it
-     through the charset.alias file.  */
-  codeset = locale;
-
-# endif
-
-#else /* WIN32 */
-
-  static char buf[2 + 10 + 1];
-
-  /* Win32 has a function returning the locale's codepage as a number.  */
-  sprintf (buf, "CP%u", GetACP ());
-  codeset = buf;
-
-#endif
-
-  if (codeset == NULL)
-    /* The canonical name cannot be determined.  */
-    codeset = "";
-
-  /* Resolve alias. */
-  for (aliases = get_charset_aliases ();
-       *aliases != '\0';
-       aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1)
-    if (strcmp (codeset, aliases) == 0
-	|| (aliases[0] == '*' && aliases[1] == '\0'))
-      {
-	codeset = aliases + strlen (aliases) + 1;
-	break;
-      }
-
-  return codeset;
-}
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/locale.alias tin-2.6.4/intl/locale.alias
--- tin-2.6.3/intl/locale.alias	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/locale.alias	1970-01-01 01:00:00.000000000 +0100
@@ -1,78 +0,0 @@
-# Locale name alias data base.
-# Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Library General Public License as published
-# by the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-# USA.
-
-# The format of this file is the same as for the corresponding file of
-# the X Window System, which normally can be found in
-#	/usr/lib/X11/locale/locale.alias
-# A single line contains two fields: an alias and a substitution value.
-# All entries are case independent.
-
-# Note: This file is far from being complete.  If you have a value for
-# your own site which you think might be useful for others too, share
-# it with the rest of us.  Send it using the `glibcbug' script to
-# bugs@gnu.org.
-
-# Packages using this file: 
-
-bokmal		no_NO.ISO-8859-1
-bokmål		no_NO.ISO-8859-1
-catalan		ca_ES.ISO-8859-1
-croatian	hr_HR.ISO-8859-2
-czech		cs_CZ.ISO-8859-2
-danish          da_DK.ISO-8859-1
-dansk		da_DK.ISO-8859-1
-deutsch		de_DE.ISO-8859-1
-dutch		nl_NL.ISO-8859-1
-eesti		et_EE.ISO-8859-1
-estonian	et_EE.ISO-8859-1
-finnish         fi_FI.ISO-8859-1
-français	fr_FR.ISO-8859-1
-french		fr_FR.ISO-8859-1
-galego		gl_ES.ISO-8859-1
-galician	gl_ES.ISO-8859-1
-german		de_DE.ISO-8859-1
-greek           el_GR.ISO-8859-7
-hebrew          he_IL.ISO-8859-8
-hrvatski	hr_HR.ISO-8859-2
-hungarian       hu_HU.ISO-8859-2
-icelandic       is_IS.ISO-8859-1
-italian         it_IT.ISO-8859-1
-japanese	ja_JP.eucJP
-japanese.euc	ja_JP.eucJP
-ja_JP		ja_JP.eucJP
-ja_JP.ujis	ja_JP.eucJP
-japanese.sjis	ja_JP.SJIS
-korean		ko_KR.eucKR
-korean.euc 	ko_KR.eucKR
-ko_KR		ko_KR.eucKR
-lithuanian      lt_LT.ISO-8859-13
-nb_NO		no_NO.ISO-8859-1
-nb_NO.ISO-8859-1 no_NO.ISO-8859-1
-norwegian       no_NO.ISO-8859-1
-nynorsk		nn_NO.ISO-8859-1
-polish          pl_PL.ISO-8859-2
-portuguese      pt_PT.ISO-8859-1
-romanian        ro_RO.ISO-8859-2
-russian         ru_RU.ISO-8859-5
-slovak          sk_SK.ISO-8859-2
-slovene         sl_SI.ISO-8859-2
-slovenian       sl_SI.ISO-8859-2
-spanish         es_ES.ISO-8859-1
-swedish         sv_SE.ISO-8859-1
-thai		th_TH.TIS-620
-turkish         tr_TR.ISO-8859-9
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/localealias.c tin-2.6.4/intl/localealias.c
--- tin-2.6.3/intl/localealias.c	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/localealias.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,408 +0,0 @@
-/* Handle aliases for locale names.
-   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-/* Tell glibc's <string.h> to provide a prototype for mempcpy().
-   This must come before <autoconf.h> because <autoconf.h> may include
-   <features.h>, and once <features.h> has been included, it's too late.  */
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE    1
-#endif
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-#undef freea
-
-/* see AC_FUNC_ALLOCA macro */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  if HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-#    else
-#     define freea(n) free(n)
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-#ifndef freea
-#define freea(n) /* nothing */
-#endif
-
-#include <ctype.h>
-#include <stdio.h>
-#include <sys/types.h>
-
-#include <stdlib.h>
-
-#include <string.h>
-#if !HAVE_STRCHR && !defined _LIBC
-# ifndef strchr
-#  define strchr index
-# endif
-#endif
-
-#include "gettextP.h"
-
-/* @@ end of prolog @@ */
-
-#ifdef _LIBC
-/* Rename the non ANSI C functions.  This is required by the standard
-   because some ANSI C functions will require linking with this object
-   file and the name space must not be polluted.  */
-# define strcasecmp __strcasecmp
-
-# ifndef mempcpy
-#  define mempcpy __mempcpy
-# endif
-# define HAVE_MEMPCPY	1
-
-/* We need locking here since we can be called from different places.  */
-# include <bits/libc-lock.h>
-
-__libc_lock_define_initialized (static, lock);
-#endif
-
-#ifndef internal_function
-# define internal_function
-#endif
-
-#if defined _LIBC_REENTRANT || defined HAVE_FGETS_UNLOCKED
-# undef fgets
-# define fgets(buf, len, s) fgets_unlocked (buf, len, s)
-#endif
-#if defined _LIBC_REENTRANT || defined HAVE_FEOF_UNLOCKED
-# undef feof
-# define feof(s) feof_unlocked (s)
-#endif
-
-
-struct alias_map
-{
-  const char *alias;
-  const char *value;
-};
-
-
-static char *string_space;
-static size_t string_space_act;
-static size_t string_space_max;
-static struct alias_map *map;
-static size_t nmap;
-static size_t maxmap;
-
-
-/* Prototypes for local functions.  */
-static size_t read_alias_file PARAMS ((const char *fname, int fname_len))
-     internal_function;
-static int extend_alias_table PARAMS ((void));
-static int alias_compare PARAMS ((const struct alias_map *map1,
-				  const struct alias_map *map2));
-
-
-const char *
-_nl_expand_alias (name)
-    const char *name;
-{
-  static const char *locale_alias_path = LOCALE_ALIAS_PATH;
-  struct alias_map *retval;
-  const char *result = NULL;
-  size_t added;
-
-#ifdef _LIBC
-  __libc_lock_lock (lock);
-#endif
-
-  do
-    {
-      struct alias_map item;
-
-      item.alias = name;
-
-      if (nmap > 0)
-	retval = (struct alias_map *) bsearch (&item, map, nmap,
-					       sizeof (struct alias_map),
-					       (int (*) PARAMS ((const void *,
-								 const void *))
-						) alias_compare);
-      else
-	retval = NULL;
-
-      /* We really found an alias.  Return the value.  */
-      if (retval != NULL)
-	{
-	  result = retval->value;
-	  break;
-	}
-
-      /* Perhaps we can find another alias file.  */
-      added = 0;
-      while (added == 0 && locale_alias_path[0] != '\0')
-	{
-	  const char *start;
-
-	  while (locale_alias_path[0] == PATH_SEPARATOR)
-	    ++locale_alias_path;
-	  start = locale_alias_path;
-
-	  while (locale_alias_path[0] != '\0'
-		 && locale_alias_path[0] != PATH_SEPARATOR)
-	    ++locale_alias_path;
-
-	  if (start < locale_alias_path)
-	    added = read_alias_file (start, locale_alias_path - start);
-	}
-    }
-  while (added != 0);
-
-#ifdef _LIBC
-  __libc_lock_unlock (lock);
-#endif
-
-  return result;
-}
-
-
-static size_t
-internal_function
-read_alias_file (fname, fname_len)
-     const char *fname;
-     int fname_len;
-{
-  FILE *fp;
-  char *full_fname;
-  size_t added;
-  static const char aliasfile[] = "/locale.alias";
-
-  full_fname = (char *) alloca (fname_len + sizeof aliasfile);
-#ifdef HAVE_MEMPCPY
-  mempcpy (mempcpy (full_fname, fname, fname_len),
-	   aliasfile, sizeof aliasfile);
-#else
-  memcpy (full_fname, fname, fname_len);
-  memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile);
-#endif
-
-  fp = fopen (full_fname, "r");
-  freea (full_fname);
-  if (fp == NULL)
-    return 0;
-
-  added = 0;
-  while (!feof (fp))
-    {
-      /* It is a reasonable approach to use a fix buffer here because
-	 a) we are only interested in the first two fields
-	 b) these fields must be usable as file names and so must not
-	    be that long
-       */
-      char buf[BUFSIZ];
-      char *alias;
-      char *value;
-      char *cp;
-
-      if (fgets (buf, sizeof buf, fp) == NULL)
-	/* EOF reached.  */
-	break;
-
-      /* Possibly not the whole line fits into the buffer.  Ignore
-	 the rest of the line.  */
-      if (strchr (buf, '\n') == NULL)
-	{
-	  char altbuf[BUFSIZ];
-	  do
-	    if (fgets (altbuf, sizeof altbuf, fp) == NULL)
-	      /* Make sure the inner loop will be left.  The outer loop
-		 will exit at the `feof' test.  */
-	      break;
-	  while (strchr (altbuf, '\n') == NULL);
-	}
-
-      cp = buf;
-      /* Ignore leading white space.  */
-      while (isspace (cp[0]))
-	++cp;
-
-      /* A leading '#' signals a comment line.  */
-      if (cp[0] != '\0' && cp[0] != '#')
-	{
-	  alias = cp++;
-	  while (cp[0] != '\0' && !isspace (cp[0]))
-	    ++cp;
-	  /* Terminate alias name.  */
-	  if (cp[0] != '\0')
-	    *cp++ = '\0';
-
-	  /* Now look for the beginning of the value.  */
-	  while (isspace (cp[0]))
-	    ++cp;
-
-	  if (cp[0] != '\0')
-	    {
-	      size_t alias_len;
-	      size_t value_len;
-
-	      value = cp++;
-	      while (cp[0] != '\0' && !isspace (cp[0]))
-		++cp;
-	      /* Terminate value.  */
-	      if (cp[0] == '\n')
-		{
-		  /* This has to be done to make the following test
-		     for the end of line possible.  We are looking for
-		     the terminating '\n' which do not overwrite here.  */
-		  *cp++ = '\0';
-		  *cp = '\n';
-		}
-	      else if (cp[0] != '\0')
-		*cp++ = '\0';
-
-	      if (nmap >= maxmap)
-		if (__builtin_expect (extend_alias_table (), 0))
-		  return added;
-
-	      alias_len = strlen (alias) + 1;
-	      value_len = strlen (value) + 1;
-
-	      if (string_space_act + alias_len + value_len > string_space_max)
-		{
-		  /* Increase size of memory pool.  */
-		  size_t new_size = (string_space_max
-				     + (alias_len + value_len > 1024
-					? alias_len + value_len : 1024));
-		  char *new_pool = (char *) realloc (string_space, new_size);
-		  if (new_pool == NULL)
-		    return added;
-
-		  if (__builtin_expect (string_space != new_pool, 0))
-		    {
-		      size_t i;
-
-		      for (i = 0; i < nmap; i++)
-			{
-			  map[i].alias += new_pool - string_space;
-			  map[i].value += new_pool - string_space;
-			}
-		    }
-
-		  string_space = new_pool;
-		  string_space_max = new_size;
-		}
-
-	      map[nmap].alias = memcpy (&string_space[string_space_act],
-					alias, alias_len);
-	      string_space_act += alias_len;
-
-	      map[nmap].value = memcpy (&string_space[string_space_act],
-					value, value_len);
-	      string_space_act += value_len;
-
-	      ++nmap;
-	      ++added;
-	    }
-	}
-    }
-
-  /* Should we test for ferror()?  I think we have to silently ignore
-     errors.  --drepper  */
-  fclose (fp);
-
-  if (added > 0)
-    qsort (map, nmap, sizeof (struct alias_map),
-	   (int (*) PARAMS ((const void *, const void *))) alias_compare);
-
-  return added;
-}
-
-
-static int
-extend_alias_table ()
-{
-  size_t new_size;
-  struct alias_map *new_map;
-
-  new_size = maxmap == 0 ? 100 : 2 * maxmap;
-  new_map = (struct alias_map *) realloc (map, (new_size
-						* sizeof (struct alias_map)));
-  if (new_map == NULL)
-    /* Simply don't extend: we don't have any more core.  */
-    return -1;
-
-  map = new_map;
-  maxmap = new_size;
-  return 0;
-}
-
-
-#ifdef _LIBC
-static void __attribute__ ((unused))
-free_mem (void)
-{
-  if (string_space != NULL)
-    free (string_space);
-  if (map != NULL)
-    free (map);
-}
-text_set_element (__libc_subfreeres, free_mem);
-#endif
-
-
-static int
-alias_compare (map1, map2)
-     const struct alias_map *map1;
-     const struct alias_map *map2;
-{
-#if defined _LIBC || defined HAVE_STRCASECMP
-  return strcasecmp (map1->alias, map2->alias);
-#else
-  const unsigned char *p1 = (const unsigned char *) map1->alias;
-  const unsigned char *p2 = (const unsigned char *) map2->alias;
-  unsigned char c1, c2;
-
-  if (p1 == p2)
-    return 0;
-
-  do
-    {
-      /* I know this seems to be odd but the tolower() function in
-	 some systems libc cannot handle nonalpha characters.  */
-      c1 = isupper (*p1) ? tolower (*p1) : *p1;
-      c2 = isupper (*p2) ? tolower (*p2) : *p2;
-      if (c1 == '\0')
-	break;
-      ++p1;
-      ++p2;
-    }
-  while (c1 == c2);
-
-  return c1 - c2;
-#endif
-}
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/ngettext.c tin-2.6.4/intl/ngettext.c
--- tin-2.6.3/intl/ngettext.c	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/ngettext.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,68 +0,0 @@
-/* Implementation of ngettext(3) function.
-   Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-#ifdef _LIBC
-# define __need_NULL
-# include <stddef.h>
-#else
-# include <stdlib.h>		/* Just for NULL.  */
-#endif
-
-#include "gettextP.h"
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgnuintl.h"
-#endif
-
-#include <locale.h>
-
-/* @@ end of prolog @@ */
-
-/* Names for the libintl functions are a problem.  They must not clash
-   with existing names and they should follow ANSI C.  But this source
-   code is also used in GNU C Library where the names have a __
-   prefix.  So we have to make a difference here.  */
-#ifdef _LIBC
-# define NGETTEXT __ngettext
-# define DCNGETTEXT __dcngettext
-#else
-# define NGETTEXT ngettext__
-# define DCNGETTEXT dcngettext__
-#endif
-
-/* Look up MSGID in the current default message catalog for the current
-   LC_MESSAGES locale.  If not found, returns MSGID itself (the default
-   text).  */
-char *
-NGETTEXT (msgid1, msgid2, n)
-     const char *msgid1;
-     const char *msgid2;
-     unsigned long int n;
-{
-  return DCNGETTEXT (NULL, msgid1, msgid2, n, LC_MESSAGES);
-}
-
-#ifdef _LIBC
-/* Alias for function name in GNU C Library.  */
-weak_alias (__ngettext, ngettext);
-#endif
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/plural.c tin-2.6.4/intl/plural.c
--- tin-2.6.3/intl/plural.c	2022-01-28 02:17:43.000000000 +0100
+++ tin-2.6.4/intl/plural.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,1801 +0,0 @@
-/* original parser id follows */
-/* yysccsid[] = "@(#)yaccpar	1.9 (Berkeley) 02/21/93" */
-/* (use YYMAJOR/YYMINOR for ifdefs dependent on parser version) */
-
-#define YYBYACC 1
-#define YYMAJOR 2
-#define YYMINOR 0
-#define YYPATCH 20220114
-
-#define YYEMPTY        (-1)
-#define yyclearin      (yychar = YYEMPTY)
-#define yyerrok        (yyerrflag = 0)
-#define YYRECOVERING() (yyerrflag != 0)
-#define YYENOMEM       (-2)
-#define YYEOF          0
-#undef YYBTYACC
-#define YYBTYACC 0
-#define YYDEBUGSTR YYPREFIX "debug"
-
-#ifndef yyparse
-#define yyparse    __gettextparse
-#endif /* yyparse */
-
-#ifndef yylex
-#define yylex      __gettextlex
-#endif /* yylex */
-
-#ifndef yyerror
-#define yyerror    __gettexterror
-#endif /* yyerror */
-
-#ifndef yychar
-#define yychar     __gettextchar
-#endif /* yychar */
-
-#ifndef yyval
-#define yyval      __gettextval
-#endif /* yyval */
-
-#ifndef yylval
-#define yylval     __gettextlval
-#endif /* yylval */
-
-#ifndef yydebug
-#define yydebug    __gettextdebug
-#endif /* yydebug */
-
-#ifndef yynerrs
-#define yynerrs    __gettextnerrs
-#endif /* yynerrs */
-
-#ifndef yyerrflag
-#define yyerrflag  __gettexterrflag
-#endif /* yyerrflag */
-
-#ifndef yylhs
-#define yylhs      __gettextlhs
-#endif /* yylhs */
-
-#ifndef yylen
-#define yylen      __gettextlen
-#endif /* yylen */
-
-#ifndef yydefred
-#define yydefred   __gettextdefred
-#endif /* yydefred */
-
-#ifndef yystos
-#define yystos     __gettextstos
-#endif /* yystos */
-
-#ifndef yydgoto
-#define yydgoto    __gettextdgoto
-#endif /* yydgoto */
-
-#ifndef yysindex
-#define yysindex   __gettextsindex
-#endif /* yysindex */
-
-#ifndef yyrindex
-#define yyrindex   __gettextrindex
-#endif /* yyrindex */
-
-#ifndef yygindex
-#define yygindex   __gettextgindex
-#endif /* yygindex */
-
-#ifndef yytable
-#define yytable    __gettexttable
-#endif /* yytable */
-
-#ifndef yycheck
-#define yycheck    __gettextcheck
-#endif /* yycheck */
-
-#ifndef yyname
-#define yyname     __gettextname
-#endif /* yyname */
-
-#ifndef yyrule
-#define yyrule     __gettextrule
-#endif /* yyrule */
-
-#if YYBTYACC
-
-#ifndef yycindex
-#define yycindex   __gettextcindex
-#endif /* yycindex */
-
-#ifndef yyctable
-#define yyctable   __gettextctable
-#endif /* yyctable */
-
-#endif /* YYBTYACC */
-
-#define YYPREFIX "__gettext"
-
-#define YYPURE 1
-
-#line 2 "plural.y"
-/* Expression parsing for plural form selection.
-   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
-   Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-/* The bison generated parser uses alloca.  AIX 3 forces us to put this
-   declaration at the beginning of the file.  The declaration in bison's
-   skeleton file comes too late.  This must come before <autoconf.h>
-   because <autoconf.h> may include arbitrary system headers.  */
-#if defined _AIX && !defined __GNUC__
- #pragma alloca
-#endif
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-#include <stdlib.h>
-#include "gettextP.h"
-
-/* Names for the libintl functions are a problem.  They must not clash
-   with existing names and they should follow ANSI C.  But this source
-   code is also used in GNU C Library where the names have a __
-   prefix.  So we have to make a difference here.  */
-#ifdef _LIBC
-# define FREE_EXPRESSION __gettext_free_exp
-#else
-# define FREE_EXPRESSION gettext_free_exp__
-# define __gettextparse gettextparse__
-#endif
-
-#define YYLEX_PARAM	&((struct parse_args *) arg)->cp
-#define YYPARSE_PARAM	arg
-#ifdef YYSTYPE
-#undef  YYSTYPE_IS_DECLARED
-#define YYSTYPE_IS_DECLARED 1
-#endif
-#ifndef YYSTYPE_IS_DECLARED
-#define YYSTYPE_IS_DECLARED 1
-#line 53 "plural.y"
-typedef union YYSTYPE {
-  unsigned long int num;
-  enum operator op;
-  struct expression *exp;
-} YYSTYPE;
-#endif /* !YYSTYPE_IS_DECLARED */
-#line 60 "plural.y"
-/* Prototypes for local functions.  */
-static struct expression *new_exp PARAMS ((int nargs, enum operator op,
-					   struct expression * const *args));
-static inline struct expression *new_exp_0 PARAMS ((enum operator op));
-static inline struct expression *new_exp_1 PARAMS ((enum operator op,
-						   struct expression *right));
-static struct expression *new_exp_2 PARAMS ((enum operator op,
-					     struct expression *left,
-					     struct expression *right));
-static inline struct expression *new_exp_3 PARAMS ((enum operator op,
-						   struct expression *bexp,
-						   struct expression *tbranch,
-						   struct expression *fbranch));
-static int yylex PARAMS ((YYSTYPE *lval, const char **pexp));
-static void yyerror PARAMS ((const char *str));
-
-/* Allocation of expressions.  */
-
-static struct expression *
-new_exp (nargs, op, args)
-     int nargs;
-     enum operator op;
-     struct expression * const *args;
-{
-  int i;
-  struct expression *newp;
-
-  /* If any of the argument could not be malloc'ed, just return NULL.  */
-  for (i = nargs - 1; i >= 0; i--)
-    if (args[i] == NULL)
-      goto fail;
-
-  /* Allocate a new expression.  */
-  newp = (struct expression *) malloc (sizeof (*newp));
-  if (newp != NULL)
-    {
-      newp->nargs = nargs;
-      newp->operation = op;
-      for (i = nargs - 1; i >= 0; i--)
-	newp->val.args[i] = args[i];
-      return newp;
-    }
-
- fail:
-  for (i = nargs - 1; i >= 0; i--)
-    FREE_EXPRESSION (args[i]);
-
-  return NULL;
-}
-
-static inline struct expression *
-new_exp_0 (op)
-     enum operator op;
-{
-  return new_exp (0, op, NULL);
-}
-
-static inline struct expression *
-new_exp_1 (op, right)
-     enum operator op;
-     struct expression *right;
-{
-  struct expression *args[1];
-
-  args[0] = right;
-  return new_exp (1, op, args);
-}
-
-static struct expression *
-new_exp_2 (op, left, right)
-     enum operator op;
-     struct expression *left;
-     struct expression *right;
-{
-  struct expression *args[2];
-
-  args[0] = left;
-  args[1] = right;
-  return new_exp (2, op, args);
-}
-
-static inline struct expression *
-new_exp_3 (op, bexp, tbranch, fbranch)
-     enum operator op;
-     struct expression *bexp;
-     struct expression *tbranch;
-     struct expression *fbranch;
-{
-  struct expression *args[3];
-
-  args[0] = bexp;
-  args[1] = tbranch;
-  args[2] = fbranch;
-  return new_exp (3, op, args);
-}
-
-#line 279 "plural.c"
-
-/* compatibility with bison */
-#ifdef YYPARSE_PARAM
-/* compatibility with FreeBSD */
-# ifdef YYPARSE_PARAM_TYPE
-#  define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM)
-# else
-#  define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM)
-# endif
-#else
-# define YYPARSE_DECL() yyparse(void)
-#endif
-
-/* Parameters sent to lex. */
-#ifdef YYLEX_PARAM
-# ifdef YYLEX_PARAM_TYPE
-#  define YYLEX_DECL() yylex(YYSTYPE *yylval, YYLEX_PARAM_TYPE YYLEX_PARAM)
-# else
-#  define YYLEX_DECL() yylex(YYSTYPE *yylval, void * YYLEX_PARAM)
-# endif
-# define YYLEX yylex(&yylval, YYLEX_PARAM)
-#else
-# define YYLEX_DECL() yylex(YYSTYPE *yylval)
-# define YYLEX yylex(&yylval)
-#endif
-
-/* Parameters sent to yyerror. */
-#ifndef YYERROR_DECL
-#define YYERROR_DECL() yyerror(const char *s)
-#endif
-#ifndef YYERROR_CALL
-#define YYERROR_CALL(msg) yyerror(msg)
-#endif
-
-extern int YYPARSE_DECL();
-
-#define EQUOP2 257
-#define CMPOP2 258
-#define ADDOP2 259
-#define MULOP2 260
-#define NUMBER 261
-#define YYERRCODE 256
-typedef int YYINT;
-static const YYINT __gettextlhs[] = {                    -1,
-    0,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-    1,    1,
-};
-static const YYINT __gettextlen[] = {                     2,
-    1,    5,    3,    3,    3,    3,    3,    3,    2,    1,
-    1,    3,
-};
-static const YYINT __gettextdefred[] = {                  0,
-    0,   11,   10,    0,    0,    0,    9,    0,    0,    0,
-    0,    0,    0,    0,    0,   12,    0,    0,    0,    0,
-    0,    0,    8,    0,    0,
-};
-#if defined(YYDESTRUCT_CALL) || defined(YYSTYPE_TOSTRING)
-static const YYINT __gettextstos[] = {                    0,
-   33,  261,  110,   40,  263,  264,  264,  264,   63,  124,
-   38,  257,  258,  259,  260,   41,  264,  264,  264,  264,
-  264,  264,  264,   58,  264,
-};
-#endif /* YYDESTRUCT_CALL || YYSTYPE_TOSTRING */
-static const YYINT __gettextdgoto[] = {                   5,
-    6,
-};
-static const YYINT __gettextsindex[] = {                -31,
-  -31,    0,    0,  -31,    0,  -26,    0,  -38,  -31,  -31,
-  -31,  -31,  -31,  -31,  -31,    0,  -34,  -22, -240, -237,
- -233, -254,    0,  -31,  -26,
-};
-static const YYINT __gettextrindex[] = {                  0,
-    0,    0,    0,    0,    0,    8,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,   13,   11,    7,
-    5,    1,    0,    0,   14,
-};
-#if YYBTYACC
-static const YYINT __gettextcindex[] = {                  0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,
-};
-#endif
-static const YYINT __gettextgindex[] = {                  0,
-   90,
-};
-#define YYTABLESIZE 264
-static const YYINT __gettexttable[] = {                  11,
-    7,    1,   16,   11,    6,   15,    5,    1,    4,    0,
-    4,   11,    3,    2,    0,   11,   12,   13,   14,   15,
-   13,   14,   15,   24,    9,   14,   15,    0,    9,    0,
-    0,    0,    0,    0,    0,    0,    9,    0,    7,    0,
-    0,    7,    6,    0,    5,    6,    0,    5,    4,    0,
-    0,    4,    0,    3,    2,    0,    0,    0,    7,    0,
-    0,    0,    6,    7,    5,    0,    0,    6,    4,    5,
-    3,    2,    0,    4,    0,    3,    0,    0,    3,    0,
-    0,    0,    0,    0,    0,   10,    0,    0,    0,   10,
-    7,    0,    0,    8,    0,    0,    0,   10,   17,   18,
-   19,   20,   21,   22,   23,    0,    0,    0,    0,    0,
-    0,    0,    0,   25,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    7,    0,    0,    0,    6,    0,
-    5,    0,    0,    0,    4,    0,    3,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,   12,   13,
-   14,   15,   12,   13,   14,   15,    0,    0,    0,    2,
-   12,   13,   14,   15,   12,   13,   14,   15,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    7,    7,    7,
-    0,    6,    6,    5,
-};
-static const YYINT __gettextcheck[] = {                  38,
-    0,   33,   41,   38,    0,  260,    0,    0,   40,   -1,
-    0,   38,    0,    0,   -1,   38,  257,  258,  259,  260,
-  258,  259,  260,   58,   63,  259,  260,   -1,   63,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   63,   -1,   38,   -1,
-   -1,   41,   38,   -1,   38,   41,   -1,   41,   38,   -1,
-   -1,   41,   -1,   41,   41,   -1,   -1,   -1,   58,   -1,
-   -1,   -1,   58,   63,   58,   -1,   -1,   63,   58,   63,
-   58,   58,   -1,   63,   -1,   63,   -1,   -1,  110,   -1,
-   -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,  124,
-    1,   -1,   -1,    4,   -1,   -1,   -1,  124,    9,   10,
-   11,   12,   13,   14,   15,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   24,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,  124,   -1,
-  124,   -1,   -1,   -1,  124,   -1,  124,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,
-  259,  260,  257,  258,  259,  260,   -1,   -1,   -1,  261,
-  257,  258,  259,  260,  257,  258,  259,  260,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,
-   -1,  257,  258,  257,
-};
-#if YYBTYACC
-static const YYINT __gettextctable[] = {                 -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,
-};
-#endif
-#define YYFINAL 5
-#ifndef YYDEBUG
-#define YYDEBUG 0
-#endif
-#define YYMAXTOKEN 261
-#define YYUNDFTOKEN 265
-#define YYTRANSLATE(a) ((a) > YYMAXTOKEN ? YYUNDFTOKEN : (a))
-#if YYDEBUG
-static const char *const __gettextname[] = {
-
-"$end",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'!'",0,
-0,0,0,"'&'",0,"'('","')'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"':'",0,0,0,0,"'?'",0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,"'n'",0,0,0,0,0,0,0,0,0,0,0,0,0,"'|'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"error",
-"EQUOP2","CMPOP2","ADDOP2","MULOP2","NUMBER","$accept","start","exp",
-"illegal-symbol",
-};
-static const char *const __gettextrule[] = {
-"$accept : start",
-"start : exp",
-"exp : exp '?' exp ':' exp",
-"exp : exp '|' exp",
-"exp : exp '&' exp",
-"exp : exp EQUOP2 exp",
-"exp : exp CMPOP2 exp",
-"exp : exp ADDOP2 exp",
-"exp : exp MULOP2 exp",
-"exp : '!' exp",
-"exp : 'n'",
-"exp : NUMBER",
-"exp : '(' exp ')'",
-
-};
-#endif
-
-#if YYDEBUG
-int      yydebug;
-#endif
-
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-#ifndef YYLLOC_DEFAULT
-#define YYLLOC_DEFAULT(loc, rhs, n) \
-do \
-{ \
-    if (n == 0) \
-    { \
-        (loc).first_line   = YYRHSLOC(rhs, 0).last_line; \
-        (loc).first_column = YYRHSLOC(rhs, 0).last_column; \
-        (loc).last_line    = YYRHSLOC(rhs, 0).last_line; \
-        (loc).last_column  = YYRHSLOC(rhs, 0).last_column; \
-    } \
-    else \
-    { \
-        (loc).first_line   = YYRHSLOC(rhs, 1).first_line; \
-        (loc).first_column = YYRHSLOC(rhs, 1).first_column; \
-        (loc).last_line    = YYRHSLOC(rhs, n).last_line; \
-        (loc).last_column  = YYRHSLOC(rhs, n).last_column; \
-    } \
-} while (0)
-#endif /* YYLLOC_DEFAULT */
-#endif /* defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) */
-#if YYBTYACC
-
-#ifndef YYLVQUEUEGROWTH
-#define YYLVQUEUEGROWTH 32
-#endif
-#endif /* YYBTYACC */
-
-/* define the initial stack-sizes */
-#ifdef YYSTACKSIZE
-#undef YYMAXDEPTH
-#define YYMAXDEPTH  YYSTACKSIZE
-#else
-#ifdef YYMAXDEPTH
-#define YYSTACKSIZE YYMAXDEPTH
-#else
-#define YYSTACKSIZE 10000
-#define YYMAXDEPTH  10000
-#endif
-#endif
-
-#ifndef YYINITSTACKSIZE
-#define YYINITSTACKSIZE 200
-#endif
-
-typedef struct {
-    unsigned stacksize;
-    YYINT    *s_base;
-    YYINT    *s_mark;
-    YYINT    *s_last;
-    YYSTYPE  *l_base;
-    YYSTYPE  *l_mark;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-    YYLTYPE  *p_base;
-    YYLTYPE  *p_mark;
-#endif
-} YYSTACKDATA;
-#if YYBTYACC
-
-struct YYParseState_s
-{
-    struct YYParseState_s *save;    /* Previously saved parser state */
-    YYSTACKDATA            yystack; /* saved parser stack */
-    int                    state;   /* saved parser state */
-    int                    errflag; /* saved error recovery status */
-    int                    lexeme;  /* saved index of the conflict lexeme in the lexical queue */
-    YYINT                  ctry;    /* saved index in yyctable[] for this conflict */
-};
-typedef struct YYParseState_s YYParseState;
-#endif /* YYBTYACC */
-#line 234 "plural.y"
-
-void
-internal_function
-FREE_EXPRESSION (exp)
-     struct expression *exp;
-{
-  if (exp == NULL)
-    return;
-
-  /* Handle the recursive case.  */
-  switch (exp->nargs)
-    {
-    case 3:
-      FREE_EXPRESSION (exp->val.args[2]);
-      /* FALLTHROUGH */
-    case 2:
-      FREE_EXPRESSION (exp->val.args[1]);
-      /* FALLTHROUGH */
-    case 1:
-      FREE_EXPRESSION (exp->val.args[0]);
-      /* FALLTHROUGH */
-    default:
-      break;
-    }
-
-  free (exp);
-}
-
-
-static int
-yylex (lval, pexp)
-     YYSTYPE *lval;
-     const char **pexp;
-{
-  const char *exp = *pexp;
-  int result;
-
-  while (1)
-    {
-      if (exp[0] == '\0')
-	{
-	  *pexp = exp;
-	  return YYEOF;
-	}
-
-      if (exp[0] != ' ' && exp[0] != '\t')
-	break;
-
-      ++exp;
-    }
-
-  result = *exp++;
-  switch (result)
-    {
-    case '0': case '1': case '2': case '3': case '4':
-    case '5': case '6': case '7': case '8': case '9':
-      {
-	unsigned long int n = result - '0';
-	while (exp[0] >= '0' && exp[0] <= '9')
-	  {
-	    n *= 10;
-	    n += exp[0] - '0';
-	    ++exp;
-	  }
-	lval->num = n;
-	result = NUMBER;
-      }
-      break;
-
-    case '=':
-      if (exp[0] == '=')
-	{
-	  ++exp;
-	  lval->op = equal;
-	  result = EQUOP2;
-	}
-      else
-	result = YYERRCODE;
-      break;
-
-    case '!':
-      if (exp[0] == '=')
-	{
-	  ++exp;
-	  lval->op = not_equal;
-	  result = EQUOP2;
-	}
-      break;
-
-    case '&':
-    case '|':
-      if (exp[0] == result)
-	++exp;
-      else
-	result = YYERRCODE;
-      break;
-
-    case '<':
-      if (exp[0] == '=')
-	{
-	  ++exp;
-	  lval->op = less_or_equal;
-	}
-      else
-	lval->op = less_than;
-      result = CMPOP2;
-      break;
-
-    case '>':
-      if (exp[0] == '=')
-	{
-	  ++exp;
-	  lval->op = greater_or_equal;
-	}
-      else
-	lval->op = greater_than;
-      result = CMPOP2;
-      break;
-
-    case '*':
-      lval->op = mult;
-      result = MULOP2;
-      break;
-
-    case '/':
-      lval->op = divide;
-      result = MULOP2;
-      break;
-
-    case '%':
-      lval->op = module;
-      result = MULOP2;
-      break;
-
-    case '+':
-      lval->op = plus;
-      result = ADDOP2;
-      break;
-
-    case '-':
-      lval->op = minus;
-      result = ADDOP2;
-      break;
-
-    case 'n':
-    case '?':
-    case ':':
-    case '(':
-    case ')':
-      /* Nothing, just return the character.  */
-      break;
-
-    case ';':
-    case '\n':
-    case '\0':
-      /* Be safe and let the user call this function again.  */
-      --exp;
-      result = YYEOF;
-      break;
-
-    default:
-      result = YYERRCODE;
-#if YYDEBUG != 0
-      --exp;
-#endif
-      break;
-    }
-
-  *pexp = exp;
-
-  return result;
-}
-
-
-static void
-yyerror (str)
-     const char *str;
-{
-  /* Do nothing.  We don't print error messages here.  */
-}
-#line 750 "plural.c"
-
-/* For use in generated program */
-#define yydepth (int)(yystack.s_mark - yystack.s_base)
-#if YYBTYACC
-#define yytrial (yyps->save)
-#endif /* YYBTYACC */
-
-#if YYDEBUG
-#include <stdio.h>	/* needed for printf */
-#endif
-
-#include <stdlib.h>	/* needed for malloc, etc */
-#include <string.h>	/* needed for memset */
-
-/* allocate initial stack or double stack size, up to YYMAXDEPTH */
-static int yygrowstack(YYSTACKDATA *data)
-{
-    int i;
-    unsigned newsize;
-    YYINT *newss;
-    YYSTYPE *newvs;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-    YYLTYPE *newps;
-#endif
-
-    if ((newsize = data->stacksize) == 0)
-        newsize = YYINITSTACKSIZE;
-    else if (newsize >= YYMAXDEPTH)
-        return YYENOMEM;
-    else if ((newsize *= 2) > YYMAXDEPTH)
-        newsize = YYMAXDEPTH;
-
-    i = (int) (data->s_mark - data->s_base);
-    newss = (YYINT *)realloc(data->s_base, newsize * sizeof(*newss));
-    if (newss == 0)
-        return YYENOMEM;
-
-    data->s_base = newss;
-    data->s_mark = newss + i;
-
-    newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs));
-    if (newvs == 0)
-        return YYENOMEM;
-
-    data->l_base = newvs;
-    data->l_mark = newvs + i;
-
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-    newps = (YYLTYPE *)realloc(data->p_base, newsize * sizeof(*newps));
-    if (newps == 0)
-        return YYENOMEM;
-
-    data->p_base = newps;
-    data->p_mark = newps + i;
-#endif
-
-    data->stacksize = newsize;
-    data->s_last = data->s_base + newsize - 1;
-
-#if YYDEBUG
-    if (yydebug)
-        fprintf(stderr, "%sdebug: stack size increased to %d\n", YYPREFIX, newsize);
-#endif
-    return 0;
-}
-
-#if YYPURE || defined(YY_NO_LEAKS)
-static void yyfreestack(YYSTACKDATA *data)
-{
-    free(data->s_base);
-    free(data->l_base);
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-    free(data->p_base);
-#endif
-    memset(data, 0, sizeof(*data));
-}
-#else
-#define yyfreestack(data) /* nothing */
-#endif /* YYPURE || defined(YY_NO_LEAKS) */
-#if YYBTYACC
-
-static YYParseState *
-yyNewState(unsigned size)
-{
-    YYParseState *p = (YYParseState *) malloc(sizeof(YYParseState));
-    if (p == NULL) return NULL;
-
-    p->yystack.stacksize = size;
-    if (size == 0)
-    {
-        p->yystack.s_base = NULL;
-        p->yystack.l_base = NULL;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-        p->yystack.p_base = NULL;
-#endif
-        return p;
-    }
-    p->yystack.s_base    = (YYINT *) malloc(size * sizeof(YYINT));
-    if (p->yystack.s_base == NULL) return NULL;
-    p->yystack.l_base    = (YYSTYPE *) malloc(size * sizeof(YYSTYPE));
-    if (p->yystack.l_base == NULL) return NULL;
-    memset(p->yystack.l_base, 0, size * sizeof(YYSTYPE));
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-    p->yystack.p_base    = (YYLTYPE *) malloc(size * sizeof(YYLTYPE));
-    if (p->yystack.p_base == NULL) return NULL;
-    memset(p->yystack.p_base, 0, size * sizeof(YYLTYPE));
-#endif
-
-    return p;
-}
-
-static void
-yyFreeState(YYParseState *p)
-{
-    yyfreestack(&p->yystack);
-    free(p);
-}
-#endif /* YYBTYACC */
-
-#define YYABORT  goto yyabort
-#define YYREJECT goto yyabort
-#define YYACCEPT goto yyaccept
-#define YYERROR  goto yyerrlab
-#if YYBTYACC
-#define YYVALID        do { if (yyps->save)            goto yyvalid; } while(0)
-#define YYVALID_NESTED do { if (yyps->save && \
-                                yyps->save->save == 0) goto yyvalid; } while(0)
-#endif /* YYBTYACC */
-
-int
-YYPARSE_DECL()
-{
-    int      yyerrflag;
-    int      yychar;
-    YYSTYPE  yyval;
-    YYSTYPE  yylval;
-    int      yynerrs;
-
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-    YYLTYPE  yyloc; /* position returned by actions */
-    YYLTYPE  yylloc; /* position from the lexer */
-#endif
-
-    /* variables for the parser stack */
-    YYSTACKDATA yystack;
-#if YYBTYACC
-
-    /* Current parser state */
-    static YYParseState *yyps = 0;
-
-    /* yypath != NULL: do the full parse, starting at *yypath parser state. */
-    static YYParseState *yypath = 0;
-
-    /* Base of the lexical value queue */
-    static YYSTYPE *yylvals = 0;
-
-    /* Current position at lexical value queue */
-    static YYSTYPE *yylvp = 0;
-
-    /* End position of lexical value queue */
-    static YYSTYPE *yylve = 0;
-
-    /* The last allocated position at the lexical value queue */
-    static YYSTYPE *yylvlim = 0;
-
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-    /* Base of the lexical position queue */
-    static YYLTYPE *yylpsns = 0;
-
-    /* Current position at lexical position queue */
-    static YYLTYPE *yylpp = 0;
-
-    /* End position of lexical position queue */
-    static YYLTYPE *yylpe = 0;
-
-    /* The last allocated position at the lexical position queue */
-    static YYLTYPE *yylplim = 0;
-#endif
-
-    /* Current position at lexical token queue */
-    static YYINT  *yylexp = 0;
-
-    static YYINT  *yylexemes = 0;
-#endif /* YYBTYACC */
-    int yym, yyn, yystate, yyresult;
-#if YYBTYACC
-    int yynewerrflag;
-    YYParseState *yyerrctx = NULL;
-#endif /* YYBTYACC */
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-    YYLTYPE  yyerror_loc_range[3]; /* position of error start/end (0 unused) */
-#endif
-#if YYDEBUG
-    const char *yys;
-
-    if ((yys = getenv("YYDEBUG")) != 0)
-    {
-        yyn = *yys;
-        if (yyn >= '0' && yyn <= '9')
-            yydebug = yyn - '0';
-    }
-    if (yydebug)
-        fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX);
-#endif
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-    memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range));
-#endif
-
-    yyerrflag = 0;
-    yychar = 0;
-    memset(&yyval,  0, sizeof(yyval));
-    memset(&yylval, 0, sizeof(yylval));
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-    memset(&yyloc,  0, sizeof(yyloc));
-    memset(&yylloc, 0, sizeof(yylloc));
-#endif
-
-#if YYBTYACC
-    yyps = yyNewState(0); if (yyps == 0) goto yyenomem;
-    yyps->save = 0;
-#endif /* YYBTYACC */
-    yym = 0;
-    /* yyn is set below */
-    yynerrs = 0;
-    yyerrflag = 0;
-    yychar = YYEMPTY;
-    yystate = 0;
-
-#if YYPURE
-    memset(&yystack, 0, sizeof(yystack));
-#endif
-
-    if (yystack.s_base == NULL && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
-    yystack.s_mark = yystack.s_base;
-    yystack.l_mark = yystack.l_base;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-    yystack.p_mark = yystack.p_base;
-#endif
-    yystate = 0;
-    *yystack.s_mark = 0;
-
-yyloop:
-    if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
-    if (yychar < 0)
-    {
-#if YYBTYACC
-        do {
-        if (yylvp < yylve)
-        {
-            /* we're currently re-reading tokens */
-            yylval = *yylvp++;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-            yylloc = *yylpp++;
-#endif
-            yychar = *yylexp++;
-            break;
-        }
-        if (yyps->save)
-        {
-            /* in trial mode; save scanner results for future parse attempts */
-            if (yylvp == yylvlim)
-            {   /* Enlarge lexical value queue */
-                size_t p = (size_t) (yylvp - yylvals);
-                size_t s = (size_t) (yylvlim - yylvals);
-
-                s += YYLVQUEUEGROWTH;
-                if ((yylexemes = (YYINT *)realloc(yylexemes, s * sizeof(YYINT))) == NULL) goto yyenomem;
-                if ((yylvals   = (YYSTYPE *)realloc(yylvals, s * sizeof(YYSTYPE))) == NULL) goto yyenomem;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-                if ((yylpsns   = (YYLTYPE *)realloc(yylpsns, s * sizeof(YYLTYPE))) == NULL) goto yyenomem;
-#endif
-                yylvp   = yylve = yylvals + p;
-                yylvlim = yylvals + s;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-                yylpp   = yylpe = yylpsns + p;
-                yylplim = yylpsns + s;
-#endif
-                yylexp  = yylexemes + p;
-            }
-            *yylexp = (YYINT) YYLEX;
-            *yylvp++ = yylval;
-            yylve++;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-            *yylpp++ = yylloc;
-            yylpe++;
-#endif
-            yychar = *yylexp++;
-            break;
-        }
-        /* normal operation, no conflict encountered */
-#endif /* YYBTYACC */
-        yychar = YYLEX;
-#if YYBTYACC
-        } while (0);
-#endif /* YYBTYACC */
-        if (yychar < 0) yychar = YYEOF;
-#if YYDEBUG
-        if (yydebug)
-        {
-            if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN];
-            fprintf(stderr, "%s[%d]: state %d, reading token %d (%s)",
-                            YYDEBUGSTR, yydepth, yystate, yychar, yys);
-#ifdef YYSTYPE_TOSTRING
-#if YYBTYACC
-            if (!yytrial)
-#endif /* YYBTYACC */
-                fprintf(stderr, " <%s>", YYSTYPE_TOSTRING(yychar, yylval));
-#endif
-            fputc('\n', stderr);
-        }
-#endif
-    }
-#if YYBTYACC
-
-    /* Do we have a conflict? */
-    if (((yyn = yycindex[yystate]) != 0) && (yyn += yychar) >= 0 &&
-        yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yychar)
-    {
-        YYINT ctry;
-
-        if (yypath)
-        {
-            YYParseState *save;
-#if YYDEBUG
-            if (yydebug)
-                fprintf(stderr, "%s[%d]: CONFLICT in state %d: following successful trial parse\n",
-                                YYDEBUGSTR, yydepth, yystate);
-#endif
-            /* Switch to the next conflict context */
-            save = yypath;
-            yypath = save->save;
-            save->save = NULL;
-            ctry = save->ctry;
-            if (save->state != yystate) YYABORT;
-            yyFreeState(save);
-
-        }
-        else
-        {
-
-            /* Unresolved conflict - start/continue trial parse */
-            YYParseState *save;
-#if YYDEBUG
-            if (yydebug)
-            {
-                fprintf(stderr, "%s[%d]: CONFLICT in state %d. ", YYDEBUGSTR, yydepth, yystate);
-                if (yyps->save)
-                    fputs("ALREADY in conflict, continuing trial parse.\n", stderr);
-                else
-                    fputs("Starting trial parse.\n", stderr);
-            }
-#endif
-            save                  = yyNewState((unsigned)(yystack.s_mark - yystack.s_base + 1));
-            if (save == NULL) goto yyenomem;
-            save->save            = yyps->save;
-            save->state           = yystate;
-            save->errflag         = yyerrflag;
-            save->yystack.s_mark  = save->yystack.s_base + (yystack.s_mark - yystack.s_base);
-            memcpy (save->yystack.s_base, yystack.s_base, (size_t) (yystack.s_mark - yystack.s_base + 1) * sizeof(YYINT));
-            save->yystack.l_mark  = save->yystack.l_base + (yystack.l_mark - yystack.l_base);
-            memcpy (save->yystack.l_base, yystack.l_base, (size_t) (yystack.l_mark - yystack.l_base + 1) * sizeof(YYSTYPE));
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-            save->yystack.p_mark  = save->yystack.p_base + (yystack.p_mark - yystack.p_base);
-            memcpy (save->yystack.p_base, yystack.p_base, (size_t) (yystack.p_mark - yystack.p_base + 1) * sizeof(YYLTYPE));
-#endif
-            ctry                  = yytable[yyn];
-            if (yyctable[ctry] == -1)
-            {
-#if YYDEBUG
-                if (yydebug && yychar >= YYEOF)
-                    fprintf(stderr, "%s[%d]: backtracking 1 token\n", YYDEBUGSTR, yydepth);
-#endif
-                ctry++;
-            }
-            save->ctry = ctry;
-            if (yyps->save == NULL)
-            {
-                /* If this is a first conflict in the stack, start saving lexemes */
-                if (!yylexemes)
-                {
-                    yylexemes = (YYINT *) malloc((YYLVQUEUEGROWTH) * sizeof(YYINT));
-                    if (yylexemes == NULL) goto yyenomem;
-                    yylvals   = (YYSTYPE *) malloc((YYLVQUEUEGROWTH) * sizeof(YYSTYPE));
-                    if (yylvals == NULL) goto yyenomem;
-                    yylvlim   = yylvals + YYLVQUEUEGROWTH;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-                    yylpsns   = (YYLTYPE *) malloc((YYLVQUEUEGROWTH) * sizeof(YYLTYPE));
-                    if (yylpsns == NULL) goto yyenomem;
-                    yylplim   = yylpsns + YYLVQUEUEGROWTH;
-#endif
-                }
-                if (yylvp == yylve)
-                {
-                    yylvp  = yylve = yylvals;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-                    yylpp  = yylpe = yylpsns;
-#endif
-                    yylexp = yylexemes;
-                    if (yychar >= YYEOF)
-                    {
-                        *yylve++ = yylval;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-                        *yylpe++ = yylloc;
-#endif
-                        *yylexp  = (YYINT) yychar;
-                        yychar   = YYEMPTY;
-                    }
-                }
-            }
-            if (yychar >= YYEOF)
-            {
-                yylvp--;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-                yylpp--;
-#endif
-                yylexp--;
-                yychar = YYEMPTY;
-            }
-            save->lexeme = (int) (yylvp - yylvals);
-            yyps->save   = save;
-        }
-        if (yytable[yyn] == ctry)
-        {
-#if YYDEBUG
-            if (yydebug)
-                fprintf(stderr, "%s[%d]: state %d, shifting to state %d\n",
-                                YYDEBUGSTR, yydepth, yystate, yyctable[ctry]);
-#endif
-            if (yychar < 0)
-            {
-                yylvp++;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-                yylpp++;
-#endif
-                yylexp++;
-            }
-            if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM)
-                goto yyoverflow;
-            yystate = yyctable[ctry];
-            *++yystack.s_mark = (YYINT) yystate;
-            *++yystack.l_mark = yylval;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-            *++yystack.p_mark = yylloc;
-#endif
-            yychar  = YYEMPTY;
-            if (yyerrflag > 0) --yyerrflag;
-            goto yyloop;
-        }
-        else
-        {
-            yyn = yyctable[ctry];
-            goto yyreduce;
-        }
-    } /* End of code dealing with conflicts */
-#endif /* YYBTYACC */
-    if (((yyn = yysindex[yystate]) != 0) && (yyn += yychar) >= 0 &&
-            yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yychar)
-    {
-#if YYDEBUG
-        if (yydebug)
-            fprintf(stderr, "%s[%d]: state %d, shifting to state %d\n",
-                            YYDEBUGSTR, yydepth, yystate, yytable[yyn]);
-#endif
-        if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
-        yystate = yytable[yyn];
-        *++yystack.s_mark = yytable[yyn];
-        *++yystack.l_mark = yylval;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-        *++yystack.p_mark = yylloc;
-#endif
-        yychar = YYEMPTY;
-        if (yyerrflag > 0)  --yyerrflag;
-        goto yyloop;
-    }
-    if (((yyn = yyrindex[yystate]) != 0) && (yyn += yychar) >= 0 &&
-            yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yychar)
-    {
-        yyn = yytable[yyn];
-        goto yyreduce;
-    }
-    if (yyerrflag != 0) goto yyinrecovery;
-#if YYBTYACC
-
-    yynewerrflag = 1;
-    goto yyerrhandler;
-    goto yyerrlab; /* redundant goto avoids 'unused label' warning */
-
-yyerrlab:
-    /* explicit YYERROR from an action -- pop the rhs of the rule reduced
-     * before looking for error recovery */
-    yystack.s_mark -= yym;
-    yystate = *yystack.s_mark;
-    yystack.l_mark -= yym;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-    yystack.p_mark -= yym;
-#endif
-
-    yynewerrflag = 0;
-yyerrhandler:
-    while (yyps->save)
-    {
-        int ctry;
-        YYParseState *save = yyps->save;
-#if YYDEBUG
-        if (yydebug)
-            fprintf(stderr, "%s[%d]: ERROR in state %d, CONFLICT BACKTRACKING to state %d, %d tokens\n",
-                            YYDEBUGSTR, yydepth, yystate, yyps->save->state,
-                    (int)(yylvp - yylvals - yyps->save->lexeme));
-#endif
-        /* Memorize most forward-looking error state in case it's really an error. */
-        if (yyerrctx == NULL || yyerrctx->lexeme < yylvp - yylvals)
-        {
-            /* Free old saved error context state */
-            if (yyerrctx) yyFreeState(yyerrctx);
-            /* Create and fill out new saved error context state */
-            yyerrctx                 = yyNewState((unsigned)(yystack.s_mark - yystack.s_base + 1));
-            if (yyerrctx == NULL) goto yyenomem;
-            yyerrctx->save           = yyps->save;
-            yyerrctx->state          = yystate;
-            yyerrctx->errflag        = yyerrflag;
-            yyerrctx->yystack.s_mark = yyerrctx->yystack.s_base + (yystack.s_mark - yystack.s_base);
-            memcpy (yyerrctx->yystack.s_base, yystack.s_base, (size_t) (yystack.s_mark - yystack.s_base + 1) * sizeof(YYINT));
-            yyerrctx->yystack.l_mark = yyerrctx->yystack.l_base + (yystack.l_mark - yystack.l_base);
-            memcpy (yyerrctx->yystack.l_base, yystack.l_base, (size_t) (yystack.l_mark - yystack.l_base + 1) * sizeof(YYSTYPE));
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-            yyerrctx->yystack.p_mark = yyerrctx->yystack.p_base + (yystack.p_mark - yystack.p_base);
-            memcpy (yyerrctx->yystack.p_base, yystack.p_base, (size_t) (yystack.p_mark - yystack.p_base + 1) * sizeof(YYLTYPE));
-#endif
-            yyerrctx->lexeme         = (int) (yylvp - yylvals);
-        }
-        yylvp          = yylvals   + save->lexeme;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-        yylpp          = yylpsns   + save->lexeme;
-#endif
-        yylexp         = yylexemes + save->lexeme;
-        yychar         = YYEMPTY;
-        yystack.s_mark = yystack.s_base + (save->yystack.s_mark - save->yystack.s_base);
-        memcpy (yystack.s_base, save->yystack.s_base, (size_t) (yystack.s_mark - yystack.s_base + 1) * sizeof(YYINT));
-        yystack.l_mark = yystack.l_base + (save->yystack.l_mark - save->yystack.l_base);
-        memcpy (yystack.l_base, save->yystack.l_base, (size_t) (yystack.l_mark - yystack.l_base + 1) * sizeof(YYSTYPE));
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-        yystack.p_mark = yystack.p_base + (save->yystack.p_mark - save->yystack.p_base);
-        memcpy (yystack.p_base, save->yystack.p_base, (size_t) (yystack.p_mark - yystack.p_base + 1) * sizeof(YYLTYPE));
-#endif
-        ctry           = ++save->ctry;
-        yystate        = save->state;
-        /* We tried shift, try reduce now */
-        if ((yyn = yyctable[ctry]) >= 0) goto yyreduce;
-        yyps->save     = save->save;
-        save->save     = NULL;
-        yyFreeState(save);
-
-        /* Nothing left on the stack -- error */
-        if (!yyps->save)
-        {
-#if YYDEBUG
-            if (yydebug)
-                fprintf(stderr, "%sdebug[%d,trial]: trial parse FAILED, entering ERROR mode\n",
-                                YYPREFIX, yydepth);
-#endif
-            /* Restore state as it was in the most forward-advanced error */
-            yylvp          = yylvals   + yyerrctx->lexeme;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-            yylpp          = yylpsns   + yyerrctx->lexeme;
-#endif
-            yylexp         = yylexemes + yyerrctx->lexeme;
-            yychar         = yylexp[-1];
-            yylval         = yylvp[-1];
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-            yylloc         = yylpp[-1];
-#endif
-            yystack.s_mark = yystack.s_base + (yyerrctx->yystack.s_mark - yyerrctx->yystack.s_base);
-            memcpy (yystack.s_base, yyerrctx->yystack.s_base, (size_t) (yystack.s_mark - yystack.s_base + 1) * sizeof(YYINT));
-            yystack.l_mark = yystack.l_base + (yyerrctx->yystack.l_mark - yyerrctx->yystack.l_base);
-            memcpy (yystack.l_base, yyerrctx->yystack.l_base, (size_t) (yystack.l_mark - yystack.l_base + 1) * sizeof(YYSTYPE));
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-            yystack.p_mark = yystack.p_base + (yyerrctx->yystack.p_mark - yyerrctx->yystack.p_base);
-            memcpy (yystack.p_base, yyerrctx->yystack.p_base, (size_t) (yystack.p_mark - yystack.p_base + 1) * sizeof(YYLTYPE));
-#endif
-            yystate        = yyerrctx->state;
-            yyFreeState(yyerrctx);
-            yyerrctx       = NULL;
-        }
-        yynewerrflag = 1;
-    }
-    if (yynewerrflag == 0) goto yyinrecovery;
-#endif /* YYBTYACC */
-
-    YYERROR_CALL("syntax error");
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-    yyerror_loc_range[1] = yylloc; /* lookahead position is error start position */
-#endif
-
-#if !YYBTYACC
-    goto yyerrlab; /* redundant goto avoids 'unused label' warning */
-yyerrlab:
-#endif
-    ++yynerrs;
-
-yyinrecovery:
-    if (yyerrflag < 3)
-    {
-        yyerrflag = 3;
-        for (;;)
-        {
-            if (((yyn = yysindex[*yystack.s_mark]) != 0) && (yyn += YYERRCODE) >= 0 &&
-                    yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) YYERRCODE)
-            {
-#if YYDEBUG
-                if (yydebug)
-                    fprintf(stderr, "%s[%d]: state %d, error recovery shifting to state %d\n",
-                                    YYDEBUGSTR, yydepth, *yystack.s_mark, yytable[yyn]);
-#endif
-                if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
-                yystate = yytable[yyn];
-                *++yystack.s_mark = yytable[yyn];
-                *++yystack.l_mark = yylval;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-                /* lookahead position is error end position */
-                yyerror_loc_range[2] = yylloc;
-                YYLLOC_DEFAULT(yyloc, yyerror_loc_range, 2); /* position of error span */
-                *++yystack.p_mark = yyloc;
-#endif
-                goto yyloop;
-            }
-            else
-            {
-#if YYDEBUG
-                if (yydebug)
-                    fprintf(stderr, "%s[%d]: error recovery discarding state %d\n",
-                                    YYDEBUGSTR, yydepth, *yystack.s_mark);
-#endif
-                if (yystack.s_mark <= yystack.s_base) goto yyabort;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-                /* the current TOS position is the error start position */
-                yyerror_loc_range[1] = *yystack.p_mark;
-#endif
-#if defined(YYDESTRUCT_CALL)
-#if YYBTYACC
-                if (!yytrial)
-#endif /* YYBTYACC */
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-                    YYDESTRUCT_CALL("error: discarding state",
-                                    yystos[*yystack.s_mark], yystack.l_mark, yystack.p_mark);
-#else
-                    YYDESTRUCT_CALL("error: discarding state",
-                                    yystos[*yystack.s_mark], yystack.l_mark);
-#endif /* defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) */
-#endif /* defined(YYDESTRUCT_CALL) */
-                --yystack.s_mark;
-                --yystack.l_mark;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-                --yystack.p_mark;
-#endif
-            }
-        }
-    }
-    else
-    {
-        if (yychar == YYEOF) goto yyabort;
-#if YYDEBUG
-        if (yydebug)
-        {
-            if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN];
-            fprintf(stderr, "%s[%d]: state %d, error recovery discarding token %d (%s)\n",
-                            YYDEBUGSTR, yydepth, yystate, yychar, yys);
-        }
-#endif
-#if defined(YYDESTRUCT_CALL)
-#if YYBTYACC
-        if (!yytrial)
-#endif /* YYBTYACC */
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-            YYDESTRUCT_CALL("error: discarding token", yychar, &yylval, &yylloc);
-#else
-            YYDESTRUCT_CALL("error: discarding token", yychar, &yylval);
-#endif /* defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) */
-#endif /* defined(YYDESTRUCT_CALL) */
-        yychar = YYEMPTY;
-        goto yyloop;
-    }
-
-yyreduce:
-    yym = yylen[yyn];
-#if YYDEBUG
-    if (yydebug)
-    {
-        fprintf(stderr, "%s[%d]: state %d, reducing by rule %d (%s)",
-                        YYDEBUGSTR, yydepth, yystate, yyn, yyrule[yyn]);
-#ifdef YYSTYPE_TOSTRING
-#if YYBTYACC
-        if (!yytrial)
-#endif /* YYBTYACC */
-            if (yym > 0)
-            {
-                int i;
-                fputc('<', stderr);
-                for (i = yym; i > 0; i--)
-                {
-                    if (i != yym) fputs(", ", stderr);
-                    fputs(YYSTYPE_TOSTRING(yystos[yystack.s_mark[1-i]],
-                                           yystack.l_mark[1-i]), stderr);
-                }
-                fputc('>', stderr);
-            }
-#endif
-        fputc('\n', stderr);
-    }
-#endif
-    if (yym > 0)
-        yyval = yystack.l_mark[1-yym];
-    else
-        memset(&yyval, 0, sizeof yyval);
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-
-    /* Perform position reduction */
-    memset(&yyloc, 0, sizeof(yyloc));
-#if YYBTYACC
-    if (!yytrial)
-#endif /* YYBTYACC */
-    {
-        YYLLOC_DEFAULT(yyloc, &yystack.p_mark[-yym], yym);
-        /* just in case YYERROR is invoked within the action, save
-           the start of the rhs as the error start position */
-        yyerror_loc_range[1] = yystack.p_mark[1-yym];
-    }
-#endif
-
-    switch (yyn)
-    {
-case 1:
-#line 179 "plural.y"
-	{
-	    if (yystack.l_mark[0].exp == NULL)
-	      YYABORT;
-	    ((struct parse_args *) arg)->res = yystack.l_mark[0].exp;
-	  }
-#line 1488 "plural.c"
-break;
-case 2:
-#line 187 "plural.y"
-	{
-	    yyval.exp = new_exp_3 (qmop, yystack.l_mark[-4].exp, yystack.l_mark[-2].exp, yystack.l_mark[0].exp);
-	  }
-#line 1495 "plural.c"
-break;
-case 3:
-#line 191 "plural.y"
-	{
-	    yyval.exp = new_exp_2 (lor, yystack.l_mark[-2].exp, yystack.l_mark[0].exp);
-	  }
-#line 1502 "plural.c"
-break;
-case 4:
-#line 195 "plural.y"
-	{
-	    yyval.exp = new_exp_2 (land, yystack.l_mark[-2].exp, yystack.l_mark[0].exp);
-	  }
-#line 1509 "plural.c"
-break;
-case 5:
-#line 199 "plural.y"
-	{
-	    yyval.exp = new_exp_2 (yystack.l_mark[-1].op, yystack.l_mark[-2].exp, yystack.l_mark[0].exp);
-	  }
-#line 1516 "plural.c"
-break;
-case 6:
-#line 203 "plural.y"
-	{
-	    yyval.exp = new_exp_2 (yystack.l_mark[-1].op, yystack.l_mark[-2].exp, yystack.l_mark[0].exp);
-	  }
-#line 1523 "plural.c"
-break;
-case 7:
-#line 207 "plural.y"
-	{
-	    yyval.exp = new_exp_2 (yystack.l_mark[-1].op, yystack.l_mark[-2].exp, yystack.l_mark[0].exp);
-	  }
-#line 1530 "plural.c"
-break;
-case 8:
-#line 211 "plural.y"
-	{
-	    yyval.exp = new_exp_2 (yystack.l_mark[-1].op, yystack.l_mark[-2].exp, yystack.l_mark[0].exp);
-	  }
-#line 1537 "plural.c"
-break;
-case 9:
-#line 215 "plural.y"
-	{
-	    yyval.exp = new_exp_1 (lnot, yystack.l_mark[0].exp);
-	  }
-#line 1544 "plural.c"
-break;
-case 10:
-#line 219 "plural.y"
-	{
-	    yyval.exp = new_exp_0 (var);
-	  }
-#line 1551 "plural.c"
-break;
-case 11:
-#line 223 "plural.y"
-	{
-	    if ((yyval.exp = new_exp_0 (num)) != NULL)
-	      yyval.exp->val.num = yystack.l_mark[0].num;
-	  }
-#line 1559 "plural.c"
-break;
-case 12:
-#line 228 "plural.y"
-	{
-	    yyval.exp = yystack.l_mark[-1].exp;
-	  }
-#line 1566 "plural.c"
-break;
-#line 1568 "plural.c"
-    default:
-        break;
-    }
-    yystack.s_mark -= yym;
-    yystate = *yystack.s_mark;
-    yystack.l_mark -= yym;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-    yystack.p_mark -= yym;
-#endif
-    yym = yylhs[yyn];
-    if (yystate == 0 && yym == 0)
-    {
-#if YYDEBUG
-        if (yydebug)
-        {
-            fprintf(stderr, "%s[%d]: after reduction, ", YYDEBUGSTR, yydepth);
-#ifdef YYSTYPE_TOSTRING
-#if YYBTYACC
-            if (!yytrial)
-#endif /* YYBTYACC */
-                fprintf(stderr, "result is <%s>, ", YYSTYPE_TOSTRING(yystos[YYFINAL], yyval));
-#endif
-            fprintf(stderr, "shifting from state 0 to final state %d\n", YYFINAL);
-        }
-#endif
-        yystate = YYFINAL;
-        *++yystack.s_mark = YYFINAL;
-        *++yystack.l_mark = yyval;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-        *++yystack.p_mark = yyloc;
-#endif
-        if (yychar < 0)
-        {
-#if YYBTYACC
-            do {
-            if (yylvp < yylve)
-            {
-                /* we're currently re-reading tokens */
-                yylval = *yylvp++;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-                yylloc = *yylpp++;
-#endif
-                yychar = *yylexp++;
-                break;
-            }
-            if (yyps->save)
-            {
-                /* in trial mode; save scanner results for future parse attempts */
-                if (yylvp == yylvlim)
-                {   /* Enlarge lexical value queue */
-                    size_t p = (size_t) (yylvp - yylvals);
-                    size_t s = (size_t) (yylvlim - yylvals);
-
-                    s += YYLVQUEUEGROWTH;
-                    if ((yylexemes = (YYINT *)realloc(yylexemes, s * sizeof(YYINT))) == NULL)
-                        goto yyenomem;
-                    if ((yylvals   = (YYSTYPE *)realloc(yylvals, s * sizeof(YYSTYPE))) == NULL)
-                        goto yyenomem;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-                    if ((yylpsns   = (YYLTYPE *)realloc(yylpsns, s * sizeof(YYLTYPE))) == NULL)
-                        goto yyenomem;
-#endif
-                    yylvp   = yylve = yylvals + p;
-                    yylvlim = yylvals + s;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-                    yylpp   = yylpe = yylpsns + p;
-                    yylplim = yylpsns + s;
-#endif
-                    yylexp  = yylexemes + p;
-                }
-                *yylexp = (YYINT) YYLEX;
-                *yylvp++ = yylval;
-                yylve++;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-                *yylpp++ = yylloc;
-                yylpe++;
-#endif
-                yychar = *yylexp++;
-                break;
-            }
-            /* normal operation, no conflict encountered */
-#endif /* YYBTYACC */
-            yychar = YYLEX;
-#if YYBTYACC
-            } while (0);
-#endif /* YYBTYACC */
-            if (yychar < 0) yychar = YYEOF;
-#if YYDEBUG
-            if (yydebug)
-            {
-                if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN];
-                fprintf(stderr, "%s[%d]: state %d, reading token %d (%s)\n",
-                                YYDEBUGSTR, yydepth, YYFINAL, yychar, yys);
-            }
-#endif
-        }
-        if (yychar == YYEOF) goto yyaccept;
-        goto yyloop;
-    }
-    if (((yyn = yygindex[yym]) != 0) && (yyn += yystate) >= 0 &&
-            yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yystate)
-        yystate = yytable[yyn];
-    else
-        yystate = yydgoto[yym];
-#if YYDEBUG
-    if (yydebug)
-    {
-        fprintf(stderr, "%s[%d]: after reduction, ", YYDEBUGSTR, yydepth);
-#ifdef YYSTYPE_TOSTRING
-#if YYBTYACC
-        if (!yytrial)
-#endif /* YYBTYACC */
-            fprintf(stderr, "result is <%s>, ", YYSTYPE_TOSTRING(yystos[yystate], yyval));
-#endif
-        fprintf(stderr, "shifting from state %d to state %d\n", *yystack.s_mark, yystate);
-    }
-#endif
-    if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
-    *++yystack.s_mark = (YYINT) yystate;
-    *++yystack.l_mark = yyval;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-    *++yystack.p_mark = yyloc;
-#endif
-    goto yyloop;
-#if YYBTYACC
-
-    /* Reduction declares that this path is valid. Set yypath and do a full parse */
-yyvalid:
-    if (yypath) YYABORT;
-    while (yyps->save)
-    {
-        YYParseState *save = yyps->save;
-        yyps->save = save->save;
-        save->save = yypath;
-        yypath = save;
-    }
-#if YYDEBUG
-    if (yydebug)
-        fprintf(stderr, "%s[%d]: state %d, CONFLICT trial successful, backtracking to state %d, %d tokens\n",
-                        YYDEBUGSTR, yydepth, yystate, yypath->state, (int)(yylvp - yylvals - yypath->lexeme));
-#endif
-    if (yyerrctx)
-    {
-        yyFreeState(yyerrctx);
-        yyerrctx = NULL;
-    }
-    yylvp          = yylvals + yypath->lexeme;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-    yylpp          = yylpsns + yypath->lexeme;
-#endif
-    yylexp         = yylexemes + yypath->lexeme;
-    yychar         = YYEMPTY;
-    yystack.s_mark = yystack.s_base + (yypath->yystack.s_mark - yypath->yystack.s_base);
-    memcpy (yystack.s_base, yypath->yystack.s_base, (size_t) (yystack.s_mark - yystack.s_base + 1) * sizeof(YYINT));
-    yystack.l_mark = yystack.l_base + (yypath->yystack.l_mark - yypath->yystack.l_base);
-    memcpy (yystack.l_base, yypath->yystack.l_base, (size_t) (yystack.l_mark - yystack.l_base + 1) * sizeof(YYSTYPE));
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-    yystack.p_mark = yystack.p_base + (yypath->yystack.p_mark - yypath->yystack.p_base);
-    memcpy (yystack.p_base, yypath->yystack.p_base, (size_t) (yystack.p_mark - yystack.p_base + 1) * sizeof(YYLTYPE));
-#endif
-    yystate        = yypath->state;
-    goto yyloop;
-#endif /* YYBTYACC */
-
-yyoverflow:
-    YYERROR_CALL("yacc stack overflow");
-#if YYBTYACC
-    goto yyabort_nomem;
-yyenomem:
-    YYERROR_CALL("memory exhausted");
-yyabort_nomem:
-#endif /* YYBTYACC */
-    yyresult = 2;
-    goto yyreturn;
-
-yyabort:
-    yyresult = 1;
-    goto yyreturn;
-
-yyaccept:
-#if YYBTYACC
-    if (yyps->save) goto yyvalid;
-#endif /* YYBTYACC */
-    yyresult = 0;
-
-yyreturn:
-#if defined(YYDESTRUCT_CALL)
-    if (yychar != YYEOF && yychar != YYEMPTY)
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-        YYDESTRUCT_CALL("cleanup: discarding token", yychar, &yylval, &yylloc);
-#else
-        YYDESTRUCT_CALL("cleanup: discarding token", yychar, &yylval);
-#endif /* defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) */
-
-    {
-        YYSTYPE *pv;
-#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
-        YYLTYPE *pp;
-
-        for (pv = yystack.l_base, pp = yystack.p_base; pv <= yystack.l_mark; ++pv, ++pp)
-             YYDESTRUCT_CALL("cleanup: discarding state",
-                             yystos[*(yystack.s_base + (pv - yystack.l_base))], pv, pp);
-#else
-        for (pv = yystack.l_base; pv <= yystack.l_mark; ++pv)
-             YYDESTRUCT_CALL("cleanup: discarding state",
-                             yystos[*(yystack.s_base + (pv - yystack.l_base))], pv);
-#endif /* defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) */
-    }
-#endif /* defined(YYDESTRUCT_CALL) */
-
-#if YYBTYACC
-    if (yyerrctx)
-    {
-        yyFreeState(yyerrctx);
-        yyerrctx = NULL;
-    }
-    while (yyps)
-    {
-        YYParseState *save = yyps;
-        yyps = save->save;
-        save->save = NULL;
-        yyFreeState(save);
-    }
-    while (yypath)
-    {
-        YYParseState *save = yypath;
-        yypath = save->save;
-        save->save = NULL;
-        yyFreeState(save);
-    }
-#endif /* YYBTYACC */
-    yyfreestack(&yystack);
-    return (yyresult);
-}
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/plural.y tin-2.6.4/intl/plural.y
--- tin-2.6.3/intl/plural.y	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/plural.y	1970-01-01 01:00:00.000000000 +0100
@@ -1,413 +0,0 @@
-%{
-/* Expression parsing for plural form selection.
-   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
-   Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-/* The bison generated parser uses alloca.  AIX 3 forces us to put this
-   declaration at the beginning of the file.  The declaration in bison's
-   skeleton file comes too late.  This must come before <autoconf.h>
-   because <autoconf.h> may include arbitrary system headers.  */
-#if defined _AIX && !defined __GNUC__
- #pragma alloca
-#endif
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-#include <stdlib.h>
-#include "gettextP.h"
-
-/* Names for the libintl functions are a problem.  They must not clash
-   with existing names and they should follow ANSI C.  But this source
-   code is also used in GNU C Library where the names have a __
-   prefix.  So we have to make a difference here.  */
-#ifdef _LIBC
-# define FREE_EXPRESSION __gettext_free_exp
-#else
-# define FREE_EXPRESSION gettext_free_exp__
-# define __gettextparse gettextparse__
-#endif
-
-#define YYLEX_PARAM	&((struct parse_args *) arg)->cp
-#define YYPARSE_PARAM	arg
-%}
-%pure_parser
-%expect 7
-
-%union {
-  unsigned long int num;
-  enum operator op;
-  struct expression *exp;
-}
-
-%{
-/* Prototypes for local functions.  */
-static struct expression *new_exp PARAMS ((int nargs, enum operator op,
-					   struct expression * const *args));
-static inline struct expression *new_exp_0 PARAMS ((enum operator op));
-static inline struct expression *new_exp_1 PARAMS ((enum operator op,
-						   struct expression *right));
-static struct expression *new_exp_2 PARAMS ((enum operator op,
-					     struct expression *left,
-					     struct expression *right));
-static inline struct expression *new_exp_3 PARAMS ((enum operator op,
-						   struct expression *bexp,
-						   struct expression *tbranch,
-						   struct expression *fbranch));
-static int yylex PARAMS ((YYSTYPE *lval, const char **pexp));
-static void yyerror PARAMS ((const char *str));
-
-/* Allocation of expressions.  */
-
-static struct expression *
-new_exp (nargs, op, args)
-     int nargs;
-     enum operator op;
-     struct expression * const *args;
-{
-  int i;
-  struct expression *newp;
-
-  /* If any of the argument could not be malloc'ed, just return NULL.  */
-  for (i = nargs - 1; i >= 0; i--)
-    if (args[i] == NULL)
-      goto fail;
-
-  /* Allocate a new expression.  */
-  newp = (struct expression *) malloc (sizeof (*newp));
-  if (newp != NULL)
-    {
-      newp->nargs = nargs;
-      newp->operation = op;
-      for (i = nargs - 1; i >= 0; i--)
-	newp->val.args[i] = args[i];
-      return newp;
-    }
-
- fail:
-  for (i = nargs - 1; i >= 0; i--)
-    FREE_EXPRESSION (args[i]);
-
-  return NULL;
-}
-
-static inline struct expression *
-new_exp_0 (op)
-     enum operator op;
-{
-  return new_exp (0, op, NULL);
-}
-
-static inline struct expression *
-new_exp_1 (op, right)
-     enum operator op;
-     struct expression *right;
-{
-  struct expression *args[1];
-
-  args[0] = right;
-  return new_exp (1, op, args);
-}
-
-static struct expression *
-new_exp_2 (op, left, right)
-     enum operator op;
-     struct expression *left;
-     struct expression *right;
-{
-  struct expression *args[2];
-
-  args[0] = left;
-  args[1] = right;
-  return new_exp (2, op, args);
-}
-
-static inline struct expression *
-new_exp_3 (op, bexp, tbranch, fbranch)
-     enum operator op;
-     struct expression *bexp;
-     struct expression *tbranch;
-     struct expression *fbranch;
-{
-  struct expression *args[3];
-
-  args[0] = bexp;
-  args[1] = tbranch;
-  args[2] = fbranch;
-  return new_exp (3, op, args);
-}
-
-%}
-
-/* This declares that all operators have the same associativity and the
-   precedence order as in C.  See [Harbison, Steele: C, A Reference Manual].
-   There is no unary minus and no bitwise operators.
-   Operators with the same syntactic behaviour have been merged into a single
-   token, to save space in the array generated by bison.  */
-%right '?'		/*   ?		*/
-%left '|'		/*   ||		*/
-%left '&'		/*   &&		*/
-%left EQUOP2		/*   == !=	*/
-%left CMPOP2		/*   < > <= >=	*/
-%left ADDOP2		/*   + -	*/
-%left MULOP2		/*   * / %	*/
-%right '!'		/*   !		*/
-
-%token <op> EQUOP2 CMPOP2 ADDOP2 MULOP2
-%token <num> NUMBER
-%type <exp> exp
-
-%%
-
-start:	  exp
-	  {
-	    if ($1 == NULL)
-	      YYABORT;
-	    ((struct parse_args *) arg)->res = $1;
-	  }
-	;
-
-exp:	  exp '?' exp ':' exp
-	  {
-	    $$ = new_exp_3 (qmop, $1, $3, $5);
-	  }
-	| exp '|' exp
-	  {
-	    $$ = new_exp_2 (lor, $1, $3);
-	  }
-	| exp '&' exp
-	  {
-	    $$ = new_exp_2 (land, $1, $3);
-	  }
-	| exp EQUOP2 exp
-	  {
-	    $$ = new_exp_2 ($2, $1, $3);
-	  }
-	| exp CMPOP2 exp
-	  {
-	    $$ = new_exp_2 ($2, $1, $3);
-	  }
-	| exp ADDOP2 exp
-	  {
-	    $$ = new_exp_2 ($2, $1, $3);
-	  }
-	| exp MULOP2 exp
-	  {
-	    $$ = new_exp_2 ($2, $1, $3);
-	  }
-	| '!' exp
-	  {
-	    $$ = new_exp_1 (lnot, $2);
-	  }
-	| 'n'
-	  {
-	    $$ = new_exp_0 (var);
-	  }
-	| NUMBER
-	  {
-	    if (($$ = new_exp_0 (num)) != NULL)
-	      $$->val.num = $1;
-	  }
-	| '(' exp ')'
-	  {
-	    $$ = $2;
-	  }
-	;
-
-%%
-
-void
-internal_function
-FREE_EXPRESSION (exp)
-     struct expression *exp;
-{
-  if (exp == NULL)
-    return;
-
-  /* Handle the recursive case.  */
-  switch (exp->nargs)
-    {
-    case 3:
-      FREE_EXPRESSION (exp->val.args[2]);
-      /* FALLTHROUGH */
-    case 2:
-      FREE_EXPRESSION (exp->val.args[1]);
-      /* FALLTHROUGH */
-    case 1:
-      FREE_EXPRESSION (exp->val.args[0]);
-      /* FALLTHROUGH */
-    default:
-      break;
-    }
-
-  free (exp);
-}
-
-
-static int
-yylex (lval, pexp)
-     YYSTYPE *lval;
-     const char **pexp;
-{
-  const char *exp = *pexp;
-  int result;
-
-  while (1)
-    {
-      if (exp[0] == '\0')
-	{
-	  *pexp = exp;
-	  return YYEOF;
-	}
-
-      if (exp[0] != ' ' && exp[0] != '\t')
-	break;
-
-      ++exp;
-    }
-
-  result = *exp++;
-  switch (result)
-    {
-    case '0': case '1': case '2': case '3': case '4':
-    case '5': case '6': case '7': case '8': case '9':
-      {
-	unsigned long int n = result - '0';
-	while (exp[0] >= '0' && exp[0] <= '9')
-	  {
-	    n *= 10;
-	    n += exp[0] - '0';
-	    ++exp;
-	  }
-	lval->num = n;
-	result = NUMBER;
-      }
-      break;
-
-    case '=':
-      if (exp[0] == '=')
-	{
-	  ++exp;
-	  lval->op = equal;
-	  result = EQUOP2;
-	}
-      else
-	result = YYERRCODE;
-      break;
-
-    case '!':
-      if (exp[0] == '=')
-	{
-	  ++exp;
-	  lval->op = not_equal;
-	  result = EQUOP2;
-	}
-      break;
-
-    case '&':
-    case '|':
-      if (exp[0] == result)
-	++exp;
-      else
-	result = YYERRCODE;
-      break;
-
-    case '<':
-      if (exp[0] == '=')
-	{
-	  ++exp;
-	  lval->op = less_or_equal;
-	}
-      else
-	lval->op = less_than;
-      result = CMPOP2;
-      break;
-
-    case '>':
-      if (exp[0] == '=')
-	{
-	  ++exp;
-	  lval->op = greater_or_equal;
-	}
-      else
-	lval->op = greater_than;
-      result = CMPOP2;
-      break;
-
-    case '*':
-      lval->op = mult;
-      result = MULOP2;
-      break;
-
-    case '/':
-      lval->op = divide;
-      result = MULOP2;
-      break;
-
-    case '%':
-      lval->op = module;
-      result = MULOP2;
-      break;
-
-    case '+':
-      lval->op = plus;
-      result = ADDOP2;
-      break;
-
-    case '-':
-      lval->op = minus;
-      result = ADDOP2;
-      break;
-
-    case 'n':
-    case '?':
-    case ':':
-    case '(':
-    case ')':
-      /* Nothing, just return the character.  */
-      break;
-
-    case ';':
-    case '\n':
-    case '\0':
-      /* Be safe and let the user call this function again.  */
-      --exp;
-      result = YYEOF;
-      break;
-
-    default:
-      result = YYERRCODE;
-#if YYDEBUG != 0
-      --exp;
-#endif
-      break;
-    }
-
-  *pexp = exp;
-
-  return result;
-}
-
-
-static void
-yyerror (str)
-     const char *str;
-{
-  /* Do nothing.  We don't print error messages here.  */
-}
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/ref-add.sin tin-2.6.4/intl/ref-add.sin
--- tin-2.6.3/intl/ref-add.sin	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/ref-add.sin	1970-01-01 01:00:00.000000000 +0100
@@ -1,31 +0,0 @@
-# Add this package to a list of references stored in a text file.
-#
-#   Copyright (C) 2000 Free Software Foundation, Inc.
-#
-#   This program is free software; you can redistribute it and/or modify it
-#   under the terms of the GNU Library General Public License as published
-#   by the Free Software Foundation; either version 2, or (at your option)
-#   any later version.
-#
-#   This program is distributed in the hope that it will be useful,
-#   but WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-#   Library General Public License for more details.
-#
-#   You should have received a copy of the GNU Library General Public
-#   License along with this program; if not, write to the Free Software
-#   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-#   USA.
-#
-# Written by Bruno Haible <haible@clisp.cons.org>.
-#
-/^# Packages using this file: / {
-  s/# Packages using this file://
-  ta
-  :a
-  s/ @PACKAGE@ / @PACKAGE@ /
-  tb
-  s/ $/ @PACKAGE@ /
-  :b
-  s/^/# Packages using this file:/
-}
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/ref-del.sin tin-2.6.4/intl/ref-del.sin
--- tin-2.6.3/intl/ref-del.sin	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/ref-del.sin	1970-01-01 01:00:00.000000000 +0100
@@ -1,26 +0,0 @@
-# Remove this package from a list of references stored in a text file.
-#
-#   Copyright (C) 2000 Free Software Foundation, Inc.
-#
-#   This program is free software; you can redistribute it and/or modify it
-#   under the terms of the GNU Library General Public License as published
-#   by the Free Software Foundation; either version 2, or (at your option)
-#   any later version.
-#
-#   This program is distributed in the hope that it will be useful,
-#   but WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-#   Library General Public License for more details.
-#
-#   You should have received a copy of the GNU Library General Public
-#   License along with this program; if not, write to the Free Software
-#   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-#   USA.
-#
-# Written by Bruno Haible <haible@clisp.cons.org>.
-#
-/^# Packages using this file: / {
-  s/# Packages using this file://
-  s/ @PACKAGE@ / /
-  s/^/# Packages using this file:/
-}
diff -Nurp '--exclude=.bzr*' tin-2.6.3/intl/textdomain.c tin-2.6.4/intl/textdomain.c
--- tin-2.6.3/intl/textdomain.c	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/intl/textdomain.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,142 +0,0 @@
-/* Implementation of the textdomain(3) function.
-   Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-   USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <autoconf.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgnuintl.h"
-#endif
-#include "gettextP.h"
-
-#ifdef _LIBC
-/* We have to handle multi-threaded applications.  */
-# include <bits/libc-lock.h>
-#else
-/* Provide dummy implementation if this is outside glibc.  */
-# define __libc_rwlock_define(CLASS, NAME)
-# define __libc_rwlock_wrlock(NAME)
-# define __libc_rwlock_unlock(NAME)
-#endif
-
-/* The internal variables in the standalone libintl.a must have different
-   names than the internal variables in GNU libc, otherwise programs
-   using libintl.a cannot be linked statically.  */
-#if !defined _LIBC
-# define _nl_default_default_domain _nl_default_default_domain__
-# define _nl_current_default_domain _nl_current_default_domain__
-#endif
-
-/* @@ end of prolog @@ */
-
-/* Name of the default text domain.  */
-extern const char _nl_default_default_domain[];
-
-/* Default text domain in which entries for gettext(3) are to be found.  */
-extern const char *_nl_current_default_domain;
-
-
-/* Names for the libintl functions are a problem.  They must not clash
-   with existing names and they should follow ANSI C.  But this source
-   code is also used in GNU C Library where the names have a __
-   prefix.  So we have to make a difference here.  */
-#ifdef _LIBC
-# define TEXTDOMAIN __textdomain
-# ifndef strdup
-#  define strdup(str) __strdup (str)
-# endif
-#else
-# define TEXTDOMAIN textdomain__
-#endif
-
-/* Lock variable to protect the global data in the gettext implementation.  */
-__libc_rwlock_define (extern, _nl_state_lock)
-
-/* Set the current default message catalog to DOMAINNAME.
-   If DOMAINNAME is null, return the current default.
-   If DOMAINNAME is "", reset to the default of "messages".  */
-char *
-TEXTDOMAIN (domainname)
-     const char *domainname;
-{
-  char *new_domain;
-  char *old_domain;
-
-  /* A NULL pointer requests the current setting.  */
-  if (domainname == NULL)
-    return (char *) _nl_current_default_domain;
-
-  __libc_rwlock_wrlock (_nl_state_lock);
-
-  old_domain = (char *) _nl_current_default_domain;
-
-  /* If domain name is the null string set to default domain "messages".  */
-  if (domainname[0] == '\0'
-      || strcmp (domainname, _nl_default_default_domain) == 0)
-    {
-      _nl_current_default_domain = _nl_default_default_domain;
-      new_domain = (char *) _nl_current_default_domain;
-    }
-  else if (strcmp (domainname, old_domain) == 0)
-    /* This can happen and people will use it to signal that some
-       environment variable changed.  */
-    new_domain = old_domain;
-  else
-    {
-      /* If the following malloc fails `_nl_current_default_domain'
-	 will be NULL.  This value will be returned and so signals we
-	 are out of core.  */
-#if defined _LIBC || defined HAVE_STRDUP
-      new_domain = strdup (domainname);
-#else
-      size_t len = strlen (domainname) + 1;
-      new_domain = (char *) malloc (len);
-      if (new_domain != NULL)
-	memcpy (new_domain, domainname, len);
-#endif
-
-      if (new_domain != NULL)
-	_nl_current_default_domain = new_domain;
-    }
-
-  /* We use this possibility to signal a change of the loaded catalogs
-     since this is most likely the case and there is no other easy we
-     to do it.  Do it only when the call was successful.  */
-  if (new_domain != NULL)
-    {
-      ++_nl_msg_cat_cntr;
-
-      if (old_domain != new_domain && old_domain != _nl_default_default_domain)
-	free (old_domain);
-    }
-
-  __libc_rwlock_unlock (_nl_state_lock);
-
-  return new_domain;
-}
-
-#ifdef _LIBC
-/* Alias for function name in GNU C Library.  */
-weak_alias (__textdomain, textdomain);
-#endif
diff -Nurp '--exclude=.bzr*' tin-2.6.3/libcanlock/src/secret.c tin-2.6.4/libcanlock/src/secret.c
--- tin-2.6.3/libcanlock/src/secret.c	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/libcanlock/src/secret.c	2024-04-26 14:48:27.498364454 +0200
@@ -50,7 +50,7 @@
  * \param[in] buf_size  Size of buffer
  *
  * \attention
- * The default implementation uses \c memset() and is not crytographically
+ * The default implementation uses \c memset() and is not cryptographically
  * secure. A smart compiler may optimize this function away completely.
  * If no better function of the OS was available, this situation is indicated
  * with a return value of 1.
Binary files tin-2.6.3/po/da.gmo and tin-2.6.4/po/da.gmo differ
diff -Nurp '--exclude=.bzr*' tin-2.6.3/po/da.po tin-2.6.4/po/da.po
--- tin-2.6.3/po/da.po	2023-12-24 00:38:36.000000000 +0100
+++ tin-2.6.4/po/da.po	2024-12-21 15:42:02.976719786 +0100
@@ -7,7 +7,7 @@
 # '' er bevaret i oversÃ¦ttelsen pÃ¥ samme mÃ¥de ''.
 #
 # <CR> sets -> Ã¦ndrer (eller skal det vÃ¦re angiver, mÃ¥ske vÃ¦lger) og hvordan fÃ¥r vi den til at hÃ¦nge sammen med toggle,
-# som ogsÃ¥ er der. f.eks 
+# som ogsÃ¥ er der. f.eks
 # arts -> er en forkortelse for artikler
 # attachment -> vedhÃ¦ftning (bilag)
 # by -> efter
@@ -20,7 +20,7 @@
 # hot -> populÃ¦re
 # indicate -> angive
 # Left angle bracket -> venstre vinkelparentes
-# mailing -> postleverance, postudsendelse, sender til 
+# mailing -> postleverance, postudsendelse, sender til
 # newsgroup -> nyhedsgruppe
 # option -> indstilling (tilvalg?)
 # octet (dataenhed) -> oktet (en dataenhed med 8 bit. Betegnelsen Â»byteÂ« bruges ofte som synonym.)
@@ -43,12 +43,12 @@
 # trim -> beskÃ¦r
 # URL -> URL (mÃ¥ske bedre med adresse, men nogle strenge ser ud til at skulle vÃ¦re korte!).
 # yank -> ryk
-# whitespace -> mellemrum (egentlig 'blanke tegn' (mellemrum, 
+# whitespace -> mellemrum (egentlig 'blanke tegn' (mellemrum,
 #                         (linjeskift, sideskift, tabulatortegn osv.))
 # wrap around -> omfatte, medtag   (andre overvejelser tidligere omhandler, omfavner, ombrydning, omfang)
 #
 # bemÃ¦rk at den her slags strenge ikke skal oversÃ¦ttes
-# add_posted_to_filter=ON/OFF. Kun hvis der er mellemrum til hÃ¸jre for 
+# add_posted_to_filter=ON/OFF. Kun hvis der er mellemrum til hÃ¸jre for
 # tegnet lig med.
 # Husk mellemrum, projektet anbefaler at man bevarer mellemrummene.
 #
@@ -74,7 +74,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tin 2.4.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-12-13 22:25+0100\n"
+"POT-Creation-Date: 2024-12-21 15:42+0100\n"
 "PO-Revision-Date: 2020-12-27 11:41+0100\n"
 "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -84,11 +84,11 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: src/lang.c:45
+#: src/lang.c:48
 msgid "1 Response"
 msgstr "1 svar"
 
-#: src/lang.c:49
+#: src/lang.c:50
 #, c-format
 msgid ""
 "\n"
@@ -97,36 +97,36 @@ msgstr ""
 "\n"
 "%s indeholder ingen nyhedsgrupper. Afslutter."
 
-#: src/lang.c:51
+#: src/lang.c:52
 msgid "Aborting read, please wait..."
 msgstr "Afbryder lÃ¦sning, vent venligst ..."
 
-#: src/lang.c:53
+#: src/lang.c:54
 msgid "all"
 msgstr "alle"
 
-#: src/lang.c:54
+#: src/lang.c:55
 msgid "All groups"
 msgstr "Alle grupper"
 
-#: src/lang.c:55
+#: src/lang.c:56
 #, c-format
 msgid "File %s exists. %s=append, %s=overwrite, %s=quit: "
 msgstr "Fil %s findes. %s=tilfÃ¸j, %s=overskriv, %s=afslut: "
 
-#: src/lang.c:56
+#: src/lang.c:57
 msgid "Article cancelled (deleted)."
 msgstr "Artikel fortrudt (slettet)."
 
-#: src/lang.c:58
+#: src/lang.c:59
 msgid "Article cannot be cancelled (deleted)."
 msgstr "Artikel kan ikke fortrydes (slettet)."
 
-#: src/lang.c:60
+#: src/lang.c:61
 msgid "Article deleted."
 msgstr "Artikel slettet."
 
-#: src/lang.c:61
+#: src/lang.c:62
 #, c-format
 msgid ""
 "\n"
@@ -141,7 +141,7 @@ msgstr ""
 "vil blive indsendt til den fÃ¸lgende adresse:\n"
 "  %s"
 
-#: src/lang.c:62
+#: src/lang.c:63
 #, c-format
 msgid ""
 "\n"
@@ -154,41 +154,41 @@ msgstr ""
 "  Â»%sÂ«\n"
 "vil blive indsendt til den fÃ¸lgende %s:\n"
 
-#: src/lang.c:63
+#: src/lang.c:64
 msgid "Article not posted!"
 msgstr "Artikel ikke indsendt!"
 
-#: src/lang.c:64
+#: src/lang.c:65
 msgid "Article not saved"
 msgstr "Artikel ikke gemt"
 
-#: src/lang.c:65
+#: src/lang.c:66
 msgid "Article Level Commands"
 msgstr "Kommandoer for artikelniveau"
 
-#: src/lang.c:66
+#: src/lang.c:67
 msgid "Article has no parent"
 msgstr "Artikel har ingen overartikel"
 
-#: src/lang.c:67
+#: src/lang.c:68
 msgid "Parent article has been killed"
 msgstr "Overartikel er blevet drÃ¦bt"
 
-#: src/lang.c:68
+#: src/lang.c:69
 msgid "Parent article is unavailable"
 msgstr "Overartikel er ikke tilgÃ¦ngelig"
 
-#: src/lang.c:69
+#: src/lang.c:70
 #, c-format
 msgid "Article posted: %s"
 msgstr "Artikel indsendt: %s"
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid "Article rejected (saved to %s)"
 msgstr "Artikel afvist (gemt til %s)"
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid ""
 "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: "
@@ -196,101 +196,106 @@ msgstr ""
 "%s=artikel, %s=trÃ¥d, %s=interval, %s=populÃ¦r, %s=mÃ¸nster, %s=mÃ¦rket, "
 "%s=afslut: "
 
-#: src/lang.c:72
+#: src/lang.c:73
 msgid "Article unavailable"
 msgstr "Artikel utilgÃ¦ngelig"
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid "Article undeleted."
 msgstr "Sletning af artikel fjernet."
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid "Article %4d of %4d"
 msgstr "Artikel %4d af %4d"
 
-#: src/lang.c:76
+#: src/lang.c:77
+#, fuzzy
+msgid "Article Info Page"
+msgstr "Artikel ikke gemt"
+
+#: src/lang.c:78
 msgid "articles"
 msgstr "artikler"
 
-#: src/lang.c:77
+#: src/lang.c:79
 msgid "This is a repost of the following article:"
 msgstr "Dette er en gentagelse af den fÃ¸lgende artikel:"
 
-#: src/lang.c:78
+#: src/lang.c:80
 msgid "article"
 msgstr "artikel"
 
-#: src/lang.c:79
+#: src/lang.c:81
 msgid "Article"
 msgstr "Artikel"
 
-#: src/lang.c:80
+#: src/lang.c:82
 #, c-format
 msgid "-- %d %s mailed --"
 msgstr "-- %d %s sendt --"
 
 # er det mon tidspunktet!
-#: src/lang.c:81
+#: src/lang.c:83
 #, c-format
 msgid " at %s"
 msgstr " %s"
 
-#: src/lang.c:84
+#: src/lang.c:86
 #, fuzzy, c-format
 msgid "charset %s"
 msgstr "tegnsÃ¦t %s"
 
-#: src/lang.c:85
+#: src/lang.c:87
 #, c-format
 msgid "content subtype %s"
 msgstr ""
 
-#: src/lang.c:86
+#: src/lang.c:88
 #, c-format
 msgid "content type %s"
 msgstr ""
 
-#: src/lang.c:87
+#: src/lang.c:89
 #, c-format
 msgid "%*s[-- charset %s not supported --]\n"
 msgstr "%*s[-- tegnsÃ¦t %s er ikke understÃ¸ttet --]\n"
 
-#: src/lang.c:88
+#: src/lang.c:90
 #, c-format
 msgid "%*s[-- Description: %s --]\n"
 msgstr "%*s[-- Beskrivelse: %s --]\n"
 
-#: src/lang.c:89
+#: src/lang.c:91
 #, fuzzy, c-format
 msgid "encoding %s"
 msgstr "Ã…bner %s"
 
-#: src/lang.c:95
+#: src/lang.c:97
 #, fuzzy, c-format
 msgid "lang %s"
 msgstr "LÃ¦ser %s"
 
-#: src/lang.c:96
+#: src/lang.c:98
 #, fuzzy, c-format
 msgid "%s lines"
 msgstr "%s linjer"
 
-#: src/lang.c:97
+#: src/lang.c:99
 #, fuzzy, c-format
 msgid "name %s"
 msgstr "navn %s"
 
-#: src/lang.c:98
+#: src/lang.c:100
 msgid ", "
 msgstr ""
 
-#: src/lang.c:99
+#: src/lang.c:101
 #, c-format
 msgid "size %s"
 msgstr ""
 
-#: src/lang.c:100
+#: src/lang.c:102
 msgid ""
 "This message has been composed in the 'multipart/mixed' MIME-format. If you\n"
 "are reading this prefix, your mail reader probably has not yet been "
@@ -304,46 +309,46 @@ msgstr ""
 "mÃ¦rkeligt ud.\n"
 "\n"
 
-#: src/lang.c:104
+#: src/lang.c:106
 msgid "Attachment Menu"
 msgstr "VedhÃ¦ftmenu"
 
-#: src/lang.c:105
+#: src/lang.c:107
 msgid "Attachment Menu Commands"
 msgstr "Kommandoer for vedhÃ¦ftmenu"
 
-#: src/lang.c:106
+#: src/lang.c:108
 msgid "<no name>"
 msgstr "<intet navn>"
 
-#: src/lang.c:107
+#: src/lang.c:109
 #, c-format
 msgid "Attachment saved successfully. (%s)"
 msgstr "VedhÃ¦ftning gemt. (%s)"
 
-#: src/lang.c:108
+#: src/lang.c:110
 #, c-format
 msgid "%d of %d attachments saved successfully."
 msgstr "%d af %d vedhÃ¦ftninger gemt."
 
-#: src/lang.c:109
+#: src/lang.c:111
 msgid "Select attachment> "
 msgstr "VÃ¦lg vedhÃ¦ftning> "
 
-#: src/lang.c:110
+#: src/lang.c:112
 msgid "Tagged attachment"
 msgstr "MÃ¦rket vedhÃ¦ftning"
 
-#: src/lang.c:111
+#: src/lang.c:113
 #, c-format
 msgid "%d attachments tagged"
 msgstr "%d vedhÃ¦ftninger mÃ¦rket"
 
-#: src/lang.c:112
+#: src/lang.c:114
 msgid "Untagged attachment"
 msgstr "VedhÃ¦ftning uden mÃ¦rke"
 
-#: src/lang.c:115
+#: src/lang.c:117
 msgid ""
 "# Do not edit this comment block\n"
 "#\n"
@@ -351,321 +356,326 @@ msgstr ""
 "# Rediger ikke denne kommentarblok\n"
 "#\n"
 
-#: src/lang.c:116
+#: src/lang.c:118
 msgid "#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr "#  scope=STRING (f.eks. alt.*,!alt.bin*) [krÃ¦vet]\n"
 
-#: src/lang.c:117
+#: src/lang.c:119
 msgid "#  add_posted_to_filter=ON/OFF\n"
 msgstr "#  add_posted_to_filter=ON/OFF\n"
 
-#: src/lang.c:118
+#: src/lang.c:120
 msgid "#  advertising=ON/OFF\n"
 msgstr "#  advertising=ON/OFF\n"
 
-#: src/lang.c:119
+#: src/lang.c:121
 msgid "#  alternative_handling=ON/OFF\n"
 msgstr "#  alternative_handling=ON/OFF\n"
 
-#: src/lang.c:120
+#: src/lang.c:122
 msgid "#  ask_for_metamail=ON/OFF\n"
 msgstr "#  ask_for_metamail=ON/OFF\n"
 
-#: src/lang.c:121
+#: src/lang.c:123
 msgid "#  auto_cc_bcc=NUM\n"
 msgstr "#  auto_cc_bcc=NUM\n"
 
-#: src/lang.c:122
+#: src/lang.c:124
 msgid "#    0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n"
 msgstr "#    0=No, 1=Cc, 2=Bcc, 3=Cc og Bcc\n"
 
-#: src/lang.c:123
+#: src/lang.c:125
 msgid "#  auto_list_thread=ON/OFF\n"
 msgstr "#  auto_list_thread=ON/OFF\n"
 
-#: src/lang.c:124
+#: src/lang.c:126
 msgid "#  auto_select=ON/OFF\n"
 msgstr "#  auto_select=ON/OFF\n"
 
-#: src/lang.c:125
+#: src/lang.c:127
 msgid "#  batch_save=ON/OFF\n"
 msgstr "#  batch_save=ON/OFF\n"
 
-#: src/lang.c:126
+#: src/lang.c:128
 msgid "#  date_format=STRING (eg. %a, %d %b %Y %H:%M:%S)\n"
 msgstr "#  date_format=STRING (f.eks. %a, %d %b %Y %H:%M:%S)\n"
 
-#: src/lang.c:127
+#: src/lang.c:129
 msgid "#  delete_tmp_files=ON/OFF\n"
 msgstr "#  delete_tmp_files=ON/OFF\n"
 
-#: src/lang.c:128
+#: src/lang.c:130
 msgid "#  editor_format=STRING (eg. %E +%N %F)\n"
 msgstr "#  editor_format=STRING (f.eks. %E +%N %F)\n"
 
-#: src/lang.c:129
+#: src/lang.c:131
 msgid "#  fcc=STRING (eg. =mailbox)\n"
 msgstr "#  fcc=STRING (f.eks. =postkasse)\n"
 
-#: src/lang.c:130
+#: src/lang.c:132
 msgid "#  followup_to=STRING\n"
 msgstr "#  followup_to=STRING\n"
 
-#: src/lang.c:131
+#: src/lang.c:133
 msgid "#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr ""
 "#  from=STRING (tilfÃ¸j bare Ã¸nsket From:-linje, brug ikke anfÃ¸rselstegn)\n"
 
-#: src/lang.c:132
+#: src/lang.c:134
 msgid "#  group_catchup_on_exit=ON/OFF\n"
 msgstr "#  group_catchup_on_exit=ON/OFF\n"
 
-#: src/lang.c:133
+#: src/lang.c:135
 msgid "#  group_format=STRING (eg. %n %m %R %L  %s  %F)\n"
 msgstr "#  group_format=STRING (f.eks. %n %m %R %L  %s  %F)\n"
 
-#: src/lang.c:134
+#: src/lang.c:136
 msgid "#  mail_8bit_header=ON/OFF\n"
 msgstr "#  mail_8bit_header=ON/OFF\n"
 
-#: src/lang.c:135
+#: src/lang.c:137
 msgid "#  mail_mime_encoding=supported_encoding"
 msgstr "#  mail_mime_encoding=supported_encoding"
 
-#: src/lang.c:137
+#: src/lang.c:139
 msgid "#  ispell=STRING\n"
 msgstr "#  ispell=STRING\n"
 
-#: src/lang.c:139
+#: src/lang.c:141
 msgid "#  maildir=STRING (eg. ~/Mail)\n"
 msgstr "#  maildir=STRING (f.eks. ~/Post)\n"
 
-#: src/lang.c:140
+#: src/lang.c:142
 msgid "#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr "#  mailing_list=STRING (f.eks. majordomo@example.org)\n"
 
-#: src/lang.c:141
+#: src/lang.c:143
 msgid "#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr "#  mime_types_to_save=STRING (f.eks. image/*,!image/bmp)\n"
 
-#: src/lang.c:142
+#: src/lang.c:144
 msgid "#  mark_ignore_tags=ON/OFF\n"
 msgstr "#  mark_ignore_tags=ON/OFF\n"
 
-#: src/lang.c:143
+#: src/lang.c:145
 msgid "#  mark_saved_read=ON/OFF\n"
 msgstr "#  mark_saved_read=ON/OFF\n"
 
-#: src/lang.c:144
+#: src/lang.c:146
 msgid "#  mime_forward=ON/OFF\n"
 msgstr "#  mime_forward=ON/OFF\n"
 
-#: src/lang.c:146
+#: src/lang.c:148
 msgid "#  mm_network_charset=supported_charset"
 msgstr "#  mm_network_charset=supported_charset"
 
-#: src/lang.c:147
+#: src/lang.c:149
 msgid "#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr "#  undeclared_charset=STRING (standard er US-ASCII)\n"
 
-#: src/lang.c:149
+#: src/lang.c:151
+#, fuzzy
+msgid "#  undeclared_cs_guess=ON/OFF (default is OFF)\n"
+msgstr "#  undeclared_charset=STRING (standard er US-ASCII)\n"
+
+#: src/lang.c:154
 msgid "#  news_headers_to_display=STRING\n"
 msgstr "#  news_headers_to_display=STRING\n"
 
-#: src/lang.c:150
+#: src/lang.c:155
 msgid "#  news_headers_to_not_display=STRING\n"
 msgstr "#  news_headers_to_not_display=STRING\n"
 
-#: src/lang.c:151
+#: src/lang.c:156
 msgid "#  news_quote_format=STRING\n"
 msgstr "#  news_quote_format=STRING\n"
 
-#: src/lang.c:152
+#: src/lang.c:157
 msgid "#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr "#  organization=STRING (hvis '/' er i begyndelsen, sÃ¥ lÃ¦s fra fil)\n"
 
-#: src/lang.c:153
+#: src/lang.c:158
 msgid "#  pos_first_unread=ON/OFF\n"
 msgstr "#  pos_first_unread=ON/OFF\n"
 
-#: src/lang.c:154
+#: src/lang.c:159
 msgid "#  post_8bit_header=ON/OFF\n"
 msgstr "#  post_8bit_header=ON/OFF\n"
 
-#: src/lang.c:155
+#: src/lang.c:160
 msgid "#  post_mime_encoding=supported_encoding"
 msgstr "#  post_mime_encoding=supported_encoding"
 
-#: src/lang.c:156
+#: src/lang.c:161
 msgid "#  post_process_type=NUM\n"
 msgstr "#  post_process_type=NUM\n"
 
-#: src/lang.c:157
+#: src/lang.c:162
 msgid "#  post_process_view=ON/OFF\n"
 msgstr "#  post_process_view=ON/OFF\n"
 
-#: src/lang.c:158
+#: src/lang.c:163
 msgid "#  quick_kill_scope=STRING (e.g. talk.*)\n"
 msgstr "#  quick_kill_scope=STRING (f.eks. talk.*)\n"
 
-#: src/lang.c:159
+#: src/lang.c:164
 msgid "#  quick_kill_expire=ON/OFF\n"
 msgstr "#  quick_kill_expire=ON/OFF\n"
 
-#: src/lang.c:160
+#: src/lang.c:165
 msgid "#  quick_kill_case=ON/OFF\n"
 msgstr "#  quick_kill_case=ON/OFF\n"
 
-#: src/lang.c:161
+#: src/lang.c:166
 msgid "#  quick_kill_header=NUM\n"
 msgstr "#  quick_kill_header=NUM\n"
 
-#: src/lang.c:162 src/lang.c:171
+#: src/lang.c:167 src/lang.c:176
 msgid "#    0=Subject: (case sensitive)  1=Subject: (ignore case)\n"
 msgstr "#    0=Subject: (versalfÃ¸lsom) 1=Subject: (ikke versalfÃ¸lsom)\n"
 
-#: src/lang.c:163 src/lang.c:172
+#: src/lang.c:168 src/lang.c:177
 msgid "#    2=From: (case sensitive)     3=From: (ignore case)\n"
 msgstr "#    2=From: (versalfÃ¸lsom) 3=From: (ikke versalfÃ¸lsom)\n"
 
-#: src/lang.c:164 src/lang.c:173
+#: src/lang.c:169 src/lang.c:178
 msgid "#    4=Message-ID: & full References: line\n"
 msgstr "#    4=Message-ID: og fulde References: linje\n"
 
-#: src/lang.c:165 src/lang.c:174
+#: src/lang.c:170 src/lang.c:179
 msgid "#    5=Message-ID: & last References: entry only\n"
 msgstr "#    5=Message-ID: og sidste References: kun indtastning\n"
 
 # Lines skal ikke oversÃ¦ttes
-#: src/lang.c:166 src/lang.c:175
+#: src/lang.c:171 src/lang.c:180
 msgid "#    6=Message-ID: entry only     7=Lines:\n"
 msgstr "#    6=Message-ID: kun indtastning 7=Lines:\n"
 
-#: src/lang.c:167
+#: src/lang.c:172
 msgid "#  quick_select_scope=STRING\n"
 msgstr "#  quick_select_scope=STRING\n"
 
-#: src/lang.c:168
+#: src/lang.c:173
 msgid "#  quick_select_expire=ON/OFF\n"
 msgstr "#  quick_select_expire=ON/OFF\n"
 
-#: src/lang.c:169
+#: src/lang.c:174
 msgid "#  quick_select_case=ON/OFF\n"
 msgstr "#  quick_select_case=ON/OFF\n"
 
-#: src/lang.c:170
+#: src/lang.c:175
 msgid "#  quick_select_header=NUM\n"
 msgstr "#  quick_select_header=NUM\n"
 
-#: src/lang.c:176
+#: src/lang.c:181
 msgid "#  quote_chars=STRING (%I for initials)\n"
 msgstr "#  quote_chars=STRING (%I for initialer)\n"
 
-#: src/lang.c:178
+#: src/lang.c:183
 msgid "#  print_header=ON/OFF\n"
 msgstr "#  print_header=ON/OFF\n"
 
-#: src/lang.c:180
+#: src/lang.c:185
 msgid "#  process_only_unread=ON/OFF\n"
 msgstr "#  process_only_unread=ON/OFF\n"
 
-#: src/lang.c:181
+#: src/lang.c:186
 msgid "#  prompt_followupto=ON/OFF\n"
 msgstr "#  prompt_followupto=ON/OFF\n"
 
-#: src/lang.c:182
+#: src/lang.c:187
 msgid "#  savedir=STRING (eg. ~user/News)\n"
 msgstr "#  savedir=STRING (f.eks. ~user/News)\n"
 
-#: src/lang.c:183
+#: src/lang.c:188
 msgid "#  savefile=STRING (eg. =linux)\n"
 msgstr "#  savefile=STRING (f.eks. =linux)\n"
 
-#: src/lang.c:184
+#: src/lang.c:189
 msgid "#  sigfile=STRING (eg. $var/sig)\n"
 msgstr "#  sigfile=STRING (f.eks. $var/sig)\n"
 
-#: src/lang.c:185
+#: src/lang.c:190
 msgid "#  show_author=NUM\n"
 msgstr "#  show_author=NUM\n"
 
-#: src/lang.c:186
+#: src/lang.c:191
 msgid "#  show_signatures=ON/OFF\n"
 msgstr "#  show_signatures=ON/OFF\n"
 
-#: src/lang.c:187
+#: src/lang.c:192
 msgid "#  show_art_score=ON/OFF\n"
 msgstr "#  show_art_score=ON/OFF\n"
 
-#: src/lang.c:189
+#: src/lang.c:194
 msgid "#  suppress_soft_hyphens=ON/OFF\n"
 msgstr "#  suppress_soft_hyphens=ON/OFF\n"
 
-#: src/lang.c:191
+#: src/lang.c:196
 msgid "#  show_only_unread_arts=ON/OFF\n"
 msgstr "#  show_only_unread_arts=ON/OFF\n"
 
-#: src/lang.c:192
+#: src/lang.c:197
 msgid "#  sigdashes=ON/OFF\n"
 msgstr "#  sigdashes=ON/OFF\n"
 
-#: src/lang.c:193
+#: src/lang.c:198
 msgid "#  signature_repost=ON/OFF\n"
 msgstr "#  signature_repost=ON/OFF\n"
 
-#: src/lang.c:194
+#: src/lang.c:199
 msgid "#  sort_article_type=NUM\n"
 msgstr "#  sort_article_type=NUM\n"
 
-#: src/lang.c:195
+#: src/lang.c:200
 msgid "#  sort_threads_type=NUM\n"
 msgstr "#  sort_threads_type=NUM\n"
 
-#: src/lang.c:196
+#: src/lang.c:201
 msgid "#  tex2iso_conv=ON/OFF\n"
 msgstr "#  tex2iso_conv=ON/OFF\n"
 
-#: src/lang.c:197
+#: src/lang.c:202
 msgid "#  thread_catchup_on_exit=ON/OFF\n"
 msgstr "#  thread_catchup_on_exit=ON/OFF\n"
 
-#: src/lang.c:198
+#: src/lang.c:203
 msgid "#  thread_articles=NUM"
 msgstr "#  thread_articles=NUM"
 
-#: src/lang.c:199
+#: src/lang.c:204
 msgid "#  thread_format=STRING (eg. %n %m [%L]  %T  %F)\n"
 msgstr "#  thread_format=STRING (f.eks. %n %m [%L]  %T  %F)\n"
 
-#: src/lang.c:200
+#: src/lang.c:205
 msgid "#  thread_perc=NUM\n"
 msgstr "#  thread_perc=NUM\n"
 
-#: src/lang.c:201
+#: src/lang.c:206
 msgid "#  trim_article_body=NUM\n"
 msgstr "#  trim_article_body=NUM\n"
 
-#: src/lang.c:202
+#: src/lang.c:207
 msgid "#    0 = Don't trim article body\n"
 msgstr "#    0 = BeskÃ¦r ikke artiklens tekst\n"
 
-#: src/lang.c:203
+#: src/lang.c:208
 msgid "#    1 = Skip leading blank lines\n"
 msgstr "#    1 = Udelad foranstillede tomme linjer\n"
 
-#: src/lang.c:204
+#: src/lang.c:209
 msgid "#    2 = Skip trailing blank lines\n"
 msgstr "#    2 = Udelad efterstillede tomme linjer\n"
 
-#: src/lang.c:205
+#: src/lang.c:210
 msgid "#    3 = Skip leading and trailing blank lines\n"
 msgstr "#    3 = Udelad foranstillede og efterstillede tomme linjer\n"
 
-#: src/lang.c:206
+#: src/lang.c:211
 msgid "#    4 = Compact multiple blank lines between text blocks\n"
 msgstr "#    4 = Komprimer flere tomme linjer mellem tekstblokke\n"
 
-#: src/lang.c:207
+#: src/lang.c:212
 msgid ""
 "#    5 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading blank lines\n"
@@ -673,7 +683,7 @@ msgstr ""
 "#    5 = Komprimer flere tomme linjer mellem tekstblokke og udelad\n"
 "#        foranstillede tomme linjer\n"
 
-#: src/lang.c:208
+#: src/lang.c:213
 msgid ""
 "#    6 = Compact multiple blank lines between text blocks and skip\n"
 "#        trailing blank lines\n"
@@ -681,7 +691,7 @@ msgstr ""
 "#    6 = Komprimer flere tomme linjer mellem tekstblokke og udelad\n"
 "#        efterstillede tomme linjer\n"
 
-#: src/lang.c:209
+#: src/lang.c:214
 msgid ""
 "#    7 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading and trailing blank lines\n"
@@ -689,31 +699,31 @@ msgstr ""
 "#    7 = Komprimer flere tomme linjer mellem tekstblokke og udelad\n"
 "#        foranstillede og efterstillede tomme linjer\n"
 
-#: src/lang.c:210
+#: src/lang.c:215
 msgid "#  verbatim_handling=ON/OFF\n"
 msgstr "#  verbatim_handling=ON/OFF\n"
 
-#: src/lang.c:212
+#: src/lang.c:217
 msgid "#  extquote_handling=ON/OFF\n"
 msgstr "#  extquote_handling=ON/OFF\n"
 
-#: src/lang.c:214
+#: src/lang.c:219
 msgid "#  wrap_on_next_unread=ON/OFF\n"
 msgstr "#  wrap_on_next_unread=ON/OFF\n"
 
-#: src/lang.c:215
+#: src/lang.c:220
 msgid "#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr "#  x_body=STRING (f.eks. ~/.tin/extra-body-text)\n"
 
-#: src/lang.c:216
+#: src/lang.c:221
 msgid "#  x_comment_to=ON/OFF\n"
 msgstr "#  x_comment_to=ON/OFF\n"
 
-#: src/lang.c:217
+#: src/lang.c:222
 msgid "#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr "#  x_headers=STRING (f.eks. ~/.tin/extra-headers)\n"
 
-#: src/lang.c:218
+#: src/lang.c:223
 msgid ""
 "#\n"
 "# Note that it is best to put general (global scoping)\n"
@@ -722,7 +732,7 @@ msgstr ""
 "# BemÃ¦rk at det er bedst at vÃ¦lge generel (globalt virkefelt)\n"
 
 # helt blank pÃ¥ hvad de mener her
-#: src/lang.c:219
+#: src/lang.c:224
 msgid ""
 "# entries first followed by group specific entries.\n"
 "#\n"
@@ -730,62 +740,66 @@ msgstr ""
 "# poster fÃ¸rst, efterfulgt af gruppespecifikke poster.\n"
 "#\n"
 
-#: src/lang.c:220
+#: src/lang.c:225
 msgid "############################################################################\n"
 msgstr "############################################################################\n"
 
-#: src/lang.c:221
+#: src/lang.c:226
 msgid "Attributes Menu Commands"
 msgstr "Kommandoer for attributmenu"
 
-#: src/lang.c:222
+#: src/lang.c:227
 #, c-format
 msgid "attribute with no scope: %s"
 msgstr "attribut uden virkefelt: %s"
 
-#: src/lang.c:224
+#: src/lang.c:229
 #, c-format
 msgid "%d Authentication failed"
 msgstr "%d godkendelse mislykkedes"
 
-#: src/lang.c:225
+#: src/lang.c:230
 #, c-format
 msgid "NNTP authorization password not found for %s"
 msgstr "Adgangskode for NNTP-godkendelse blev ikke fundet for %s"
 
-#: src/lang.c:226
+#: src/lang.c:231
 msgid "Server expects authentication.\n"
 msgstr "Server forventer godkendelse.\n"
 
-#: src/lang.c:227
+#: src/lang.c:232
 msgid "    Please enter password: "
 msgstr "    Venligst indtast adgangskode: "
 
-#: src/lang.c:228
+#: src/lang.c:233
 msgid "    Please enter username: "
 msgstr "    Venligst indtast brugernavn: "
 
-#: src/lang.c:229
+#: src/lang.c:234
 #, c-format
 msgid "Authorized for user: %s\n"
 msgstr "Autoriseret for bruger: %s\n"
 
-#: src/lang.c:230
+#: src/lang.c:235
 #, c-format
 msgid "Authorization failed for user: %s\n"
 msgstr "Kunne ikke autorisere bruger: %s\n"
 
-#: src/lang.c:232
+#: src/lang.c:236
+msgid "No supported authorization method available in current state!\n"
+msgstr ""
+
+#: src/lang.c:238
 #, c-format
 msgid "Author search backwards [%s]> "
 msgstr "BaglÃ¦ns sÃ¸gning efter forfatter [%s]> "
 
-#: src/lang.c:233
+#: src/lang.c:239
 #, c-format
 msgid "Author search forwards [%s]> "
 msgstr "Fremadrettet sÃ¸gning efter forfatter [%s]> "
 
-#: src/lang.c:234
+#: src/lang.c:240
 #, c-format
 msgid ""
 "\n"
@@ -794,16 +808,16 @@ msgstr ""
 "\n"
 "Autoabonnerede pÃ¥ %s"
 
-#: src/lang.c:235
+#: src/lang.c:241
 msgid "Autosubscribing groups...\n"
 msgstr "Autoabonnerer pÃ¥ grupper...\n"
 
-#: src/lang.c:236
+#: src/lang.c:242
 #, c-format
 msgid "Autoselecting articles (use '%s' to see all unread) ..."
 msgstr "Automarkerer artikler (brug Â»%sÂ« for at se alle ulÃ¦ste) ..."
 
-#: src/lang.c:238
+#: src/lang.c:244
 #, c-format
 msgid ""
 "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
@@ -811,172 +825,178 @@ msgstr ""
 "Artikel til indsendelse medfÃ¸rte fejl/advarsler. %s=afslut, %s=menu, "
 "%s=rediger: "
 
-#: src/lang.c:239
+#: src/lang.c:246
 #, c-format
 msgid "Unrecognized attribute: %s"
 msgstr "Attribut ikke genkendt: %s"
 
-#: src/lang.c:240
+#: src/lang.c:248
 #, c-format
 msgid "Bad command. Type '%s' for help."
 msgstr "Forkert kommando. Tast Â»%sÂ« for hjÃ¦lp."
 
-#: src/lang.c:242
+#: src/lang.c:249
 msgid "Base article"
 msgstr "Baseartikel"
 
-#: src/lang.c:243
+#: src/lang.c:250
 msgid "Base article range"
 msgstr "Interval for baseartikel"
 
-#: src/lang.c:244
+#: src/lang.c:251
 #, c-format
 msgid "%s: Updating of index files not supported: cache_overview_files=%s"
 msgstr ""
 "%s: Opdatering af indeksfiler er ikke understÃ¸ttet: cache_overview_files=%s"
 
-#: src/lang.c:245
+#: src/lang.c:252
 msgid "*** Beginning of article ***"
 msgstr "*** Begyndelse pÃ¥ artikel ***"
 
-#: src/lang.c:246
+#: src/lang.c:253
 msgid "*** Beginning of page ***"
 msgstr "*** Begyndelse pÃ¥ side ***"
 
-#: src/lang.c:248
-msgid "bytes"
-msgstr "byte"
-
-#: src/lang.c:251
+#: src/lang.c:255
 #, c-format
 msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr "Afbryd (slet) eller fortrÃ¦ng (overskriv) artikel [%%s]? (%s/%s/%s): "
 
-#: src/lang.c:252
+#: src/lang.c:256
 msgid "Cancelling article..."
 msgstr "Fortryder artikel ..."
 
-#: src/lang.c:254
+#: src/lang.c:258
 #, c-format
 msgid "Cannot create %s"
 msgstr "Kan ikke oprette %s"
 
-#: src/lang.c:257
+#: src/lang.c:261
 #, c-format
 msgid "Can't find base article %d"
 msgstr "Kan ikke finde baseartikel %d"
 
-#: src/lang.c:259
+#: src/lang.c:263
 #, c-format
 msgid "Can't open %s"
 msgstr "Kan ikke Ã¥bne %s"
 
-#: src/lang.c:260
+#: src/lang.c:264
 #, c-format
 msgid "Couldn't open %s for saving"
 msgstr "Kunne ikke Ã¥bne %s til gemning"
 
-#: src/lang.c:261
+#: src/lang.c:265
 msgid "*** Posting not allowed ***"
 msgstr "*** Indsendelse ikke tilladt ***"
 
-#: src/lang.c:262
+#: src/lang.c:266
 #, c-format
 msgid "Posting is not allowed to %s"
 msgstr "Indsendelse er ikke tilladt til %s"
 
-#: src/lang.c:264
+#: src/lang.c:268
 #, c-format
 msgid "Can't retrieve %s"
 msgstr "Kan ikke hente %s"
 
-#: src/lang.c:266
+#: src/lang.c:270
 msgid "Can't supersede in mailgroups, try repost instead."
 msgstr ""
 
-#: src/lang.c:267
+#: src/lang.c:271
 #, c-format
 msgid "%s is a directory"
 msgstr "%s er en mappe"
 
-#: src/lang.c:268
+#: src/lang.c:272
 msgid "Catchup"
 msgstr "Opsaml"
 
-#: src/lang.c:269
+#: src/lang.c:273
 #, c-format
 msgid "Catchup %s..."
 msgstr "Opsamler %s ..."
 
-#: src/lang.c:270
+#: src/lang.c:274
 msgid "Catchup all groups entered during this session?"
 msgstr "Opsaml all grupper indtastet i denne session?"
 
-#: src/lang.c:271
+#: src/lang.c:275
 msgid "You have tagged articles in this group - catchup anyway?"
 msgstr "Du har mÃ¦rket artikler i denne gruppe - opsaml alligevel?"
 
-#: src/lang.c:272
+#: src/lang.c:276
 #, c-format
 msgid "%s %d %s in %lu seconds\n"
 msgstr "%s %d %s i %lu sekunder\n"
 
 # http://dictionary.cambridge.org/es/diccionario/ingles/caught-up-in-something
-#: src/lang.c:273
+#: src/lang.c:277
 msgid "Caughtup"
 msgstr "Optaget"
 
-#: src/lang.c:274
+#: src/lang.c:278
 msgid "Check Prepared Article"
 msgstr "Kontroller forberedt artikel"
 
-#: src/lang.c:275
+#: src/lang.c:279
 msgid "Checking for new groups... "
 msgstr "Kontrollerer for nye grupper ..."
 
-#: src/lang.c:276
+#: src/lang.c:280
 #, fuzzy
 msgid "Checking for news...\n"
 msgstr "Kontrollerer efter nyheder ...\n"
 
-#: src/lang.c:277
+#: src/lang.c:281
 #, c-format
 msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr "Efterbehandl %s=nej, %s=ja, %s=shar, %s=afslut: "
 
-#: src/lang.c:279
+#: src/lang.c:283
 msgid "ANSI color disabled"
 msgstr "ANSI-farve slÃ¥et fra"
 
-#: src/lang.c:280
+#: src/lang.c:284
 msgid "ANSI color enabled"
 msgstr "ANSI-farve slÃ¥et til"
 
-#: src/lang.c:282
+#: src/lang.c:286
 #, c-format
 msgid "Command failed: %s"
 msgstr "Kommando mislykkedes: %s"
 
-#: src/lang.c:284
+#: src/lang.c:288
 msgid "Mark not selected articles read?"
 msgstr "Marker ikke valgte artikler som lÃ¦st?"
 
-#: src/lang.c:285
+#: src/lang.c:289
 #, fuzzy
 msgid "Connection Info"
 msgstr "Forbindelsesoplysninger"
 
-#: src/lang.c:286
+#: src/lang.c:290
 #, fuzzy
 msgid "Reading from local spool.\n"
-msgstr "lÃ¦ser fra lokal kÃ¸"
+msgstr "lÃ¦ser fra lokal kÃ¸.\n"
 
-#: src/lang.c:287
+#: src/lang.c:291
 #, fuzzy
 msgid "Reading saved news.\n"
 msgstr "LÃ¦ser %s\n"
 
-#: src/lang.c:295
+#: src/lang.c:292
+#, fuzzy
+msgid ""
+"\n"
+"Configuration files:\n"
+"--------------------\n"
+msgstr ""
+"Tilvalgshandlinger\n"
+"------------------"
+
+#: src/lang.c:300
 #, fuzzy
 msgid ""
 "\n"
@@ -986,11 +1006,11 @@ msgstr ""
 "Vis egenskaber\n"
 "--------------"
 
-#: src/lang.c:300
+#: src/lang.c:305
 msgid "COMPRESS      :"
 msgstr ""
 
-#: src/lang.c:301
+#: src/lang.c:306
 #, fuzzy
 msgid ""
 "\n"
@@ -1000,82 +1020,87 @@ msgstr ""
 "Tilvalgshandlinger\n"
 "------------------"
 
-#: src/lang.c:303
+#: src/lang.c:308
 #, c-format
 msgid " DEFLATE %s\n"
 msgstr ""
 
-#: src/lang.c:304
+#: src/lang.c:309
 msgid "(enabled)"
 msgstr ""
 
-#: src/lang.c:305
+#: src/lang.c:310
 msgid "(inactive)"
 msgstr ""
 
-#: src/lang.c:307
+#: src/lang.c:312
 msgid " DEFLATE (not supported)\n"
 msgstr ""
 
-#: src/lang.c:310
+#: src/lang.c:315
 msgid "(disabled)"
 msgstr ""
 
-#: src/lang.c:311
+#: src/lang.c:316
 #, c-format
 msgid "NNTP TIMEOUT  : %d seconds %s\n"
 msgstr ""
 
-#: src/lang.c:313
+#: src/lang.c:318
 #, c-format
 msgid "IMPLEMENTATION: %s\n"
 msgstr ""
 
-#: src/lang.c:315
+#: src/lang.c:320
 #, c-format
 msgid "MAXARTNUM     : %s\n"
 msgstr ""
 
-#: src/lang.c:317
+#: src/lang.c:322
 #, fuzzy, c-format
 msgid "Reading via NNTP (%s).\n"
 msgstr "LÃ¦ser ikke via NNTP (%s).\n"
 
-#: src/lang.c:318
+#: src/lang.c:323
 #, c-format
 msgid "NNTPPORT      : %u\n"
 msgstr ""
 
-#: src/lang.c:319
+#: src/lang.c:324
 #, fuzzy
 msgid "read only"
 msgstr "ulÃ¦st "
 
-#: src/lang.c:320
+#: src/lang.c:325
 msgid "read/write"
 msgstr ""
 
-#: src/lang.c:321
+#: src/lang.c:326
 #, c-format
 msgid "NNTPSERVER    : %s\n"
 msgstr ""
 
-#: src/lang.c:323
+#: src/lang.c:327
+#, c-format
+msgid "CONNECTIONTYPE: %s\n"
+msgstr ""
+
+#: src/lang.c:329
 #, fuzzy, c-format
 msgid "Reading %s via NNTPS (%s; "
 msgstr "LÃ¦ser ikke via NNTPS (%s; "
 
-#: src/lang.c:325
+#: src/lang.c:330
 #, fuzzy, c-format
 msgid "Certificate #%d\n"
 msgstr "rediger filterfil"
 
-#: src/lang.c:327
+#: src/lang.c:332
 #, c-format
 msgid "Issuer : %s\n"
 msgstr ""
 
-#: src/lang.c:328
+#: src/lang.c:333
 #, fuzzy
 msgid ""
 "\n"
@@ -1085,12 +1110,12 @@ msgstr ""
 "Gruppe/trÃ¥d/artikel-handlinger\n"
 "------------------------------"
 
-#: src/lang.c:329
+#: src/lang.c:334
 #, fuzzy, c-format
 msgid "Subject: %s\n"
 msgstr "Emne"
 
-#: src/lang.c:330
+#: src/lang.c:335
 #, fuzzy
 msgid ""
 "\n"
@@ -1100,219 +1125,237 @@ msgstr ""
 "Virkefeltshandlinger\n"
 "--------------------"
 
-#: src/lang.c:333
+#: src/lang.c:336
+msgid "trusted"
+msgstr ""
+
+#: src/lang.c:337
+msgid "untrusted"
+msgstr ""
+
+#: src/lang.c:339
 msgid "UNEXPECTED, possible BUG"
 msgstr ""
 
-#: src/lang.c:334
+#: src/lang.c:340
 msgid "tolerated as \"-k\" (insecure) requested"
 msgstr ""
 
-#: src/lang.c:335
+#: src/lang.c:341
 #, c-format
 msgid ""
 "Server certificate verification FAILED:\n"
 "\t%s (%s)\n"
 msgstr ""
 
-#: src/lang.c:336
+#: src/lang.c:342
 #, fuzzy
 msgid "Server certificate verified successfully.\n"
 msgstr "newsrc-fil blev gemt.\n"
 
-#: src/lang.c:338
-msgid "trusted"
-msgstr ""
-
-#: src/lang.c:339
-msgid "untrusted"
-msgstr ""
-
-#: src/lang.c:342
+#: src/lang.c:346
 msgid "Server certificate verification FAILED: <can't get reason>\n"
 msgstr ""
 
-#: src/lang.c:346
+#: src/lang.c:350
 #, c-format
 msgid "%s %s (strength %d)\n"
 msgstr ""
 
-#: src/lang.c:353
+#: src/lang.c:357
 #, c-format
 msgid "Cook article failed, %s is exiting"
 msgstr "Cook-artikel mislykkedes, %s afslutter"
 
-#: src/lang.c:354
+#: src/lang.c:358
 msgid "<CR>"
 msgstr "<CR>"
 
-#: src/lang.c:355
+#: src/lang.c:359
 msgid "Creating active file for saved groups...\n"
 msgstr "Opretter aktiv fil for gemte grupper ...\n"
 
-#: src/lang.c:356
-msgid "Creating newsrc file...\n"
+#: src/lang.c:360
+#, fuzzy, c-format
+msgid "Creating %s file...\n"
 msgstr "Opretter newsrc-fil ...\n"
 
-#: src/lang.c:358 src/lang.c:1666 src/lang.c:1686
+#: src/lang.c:362 src/lang.c:1715 src/lang.c:1735
 msgid "Default"
 msgstr "Standard"
 
-#: src/lang.c:359
+#: src/lang.c:363
 msgid "Delete saved files that have been post processed?"
 msgstr "Slet gemte filer som er blevet efterbehandlet?"
 
-#: src/lang.c:360
+#: src/lang.c:364
 msgid "Deleting temporary files..."
 msgstr "Sletter midlertidige filer ..."
 
-#: src/lang.c:362
+#: src/lang.c:366
 msgid "*** End of article ***"
 msgstr "*** Slut pÃ¥ artikel ***"
 
-#: src/lang.c:363
+#: src/lang.c:367
 msgid "*** End of articles ***"
 msgstr "*** Slut pÃ¥ artikler ***"
 
-#: src/lang.c:364
+#: src/lang.c:368
 msgid "*** End of attachments ***"
 msgstr "*** Slut pÃ¥ vedhÃ¦ftninger ***"
 
-#: src/lang.c:365
+#: src/lang.c:369
 msgid "*** End of groups ***"
 msgstr "*** Slut pÃ¥ grupper ***"
 
-#: src/lang.c:366
+#: src/lang.c:370
 msgid "*** End of page ***"
 msgstr "*** Slut pÃ¥ side ***"
 
-#: src/lang.c:367
+#: src/lang.c:371
 #, fuzzy
 msgid "*** End of posted articles ***"
 msgstr "*** Slut pÃ¥ artikler ***"
 
-#: src/lang.c:368
+#: src/lang.c:372
 msgid "*** End of scopes ***"
 msgstr "*** Slut pÃ¥ virkefelter ***"
 
-#: src/lang.c:369
+#: src/lang.c:373
 msgid "*** End of thread ***"
 msgstr "*** Slut pÃ¥ trÃ¥d ***"
 
-#: src/lang.c:370
+#: src/lang.c:374
 msgid "*** End of URLs ***"
 msgstr "*** Slut pÃ¥ URL'er ***"
 
-#: src/lang.c:371
+#: src/lang.c:375
 msgid "Enter limit of articles to get> "
 msgstr "Indtast begrÃ¦nsning pÃ¥ antal artikler der skal hentes> "
 
-#: src/lang.c:372
+#: src/lang.c:376
 msgid "Enter Message-ID to go to> "
 msgstr "Indtast besked-id som der skal gÃ¥s till> "
 
-#: src/lang.c:373
+#: src/lang.c:377
 msgid " and enter next unread thread"
 msgstr " og indtast nÃ¦ste ulÃ¦ste trÃ¥d"
 
-#: src/lang.c:374
+#: src/lang.c:378
 msgid " and enter next unread article"
 msgstr " og se nÃ¦ste ulÃ¦ste artikel"
 
-#: src/lang.c:375
+#: src/lang.c:379
 msgid " and enter next unread group"
 msgstr " og indtast nÃ¦ste ulÃ¦ste gruppe"
 
-#: src/lang.c:376
+#: src/lang.c:380
 msgid "Enter option number> "
 msgstr "Indtast valgnummer> "
 
-#: src/lang.c:377
+#: src/lang.c:381
 #, c-format
 msgid "Enter range [%s]> "
 msgstr "Indtast interval [%s]> "
 
-#: src/lang.c:378
-msgid ""
-"\n"
-"Warning: Approved: header used.\n"
-msgstr ""
-"\n"
-"Advarsel: Approved:-teksthoved brugt.\n"
-
 #: src/lang.c:382
-msgid ""
-"\n"
-"Error: Bad address in Approved: header.\n"
-msgstr ""
-"\n"
-"Fejl: Ugyldig adresse i Approved:-teksthoved.\n"
+#, fuzzy, c-format
+msgid "Error: Could not appended %s to %s"
+msgstr "Fejl: OmdÃ¸b %s til %s"
 
 #: src/lang.c:383
 msgid ""
 "\n"
-"Error: Bad address in From: header.\n"
+"Warning: Approved: header used.\n"
 msgstr ""
 "\n"
-"Fejl: Ugyldig adresse i From:-teksthoved.\n"
+"Advarsel: Approved:-teksthoved brugt.\n"
 
 #: src/lang.c:384
-msgid ""
-"\n"
-"Error: Bad FQDN in Message-ID: header.\n"
+#, c-format
+msgid "  Line %d: \"%s\": given string too long.\n"
 msgstr ""
-"\n"
-"Fejl: Ugyldig FQDN i Message-ID:-teksthoved.\n"
 
 #: src/lang.c:385
+#, fuzzy, c-format
+msgid "  Line %d: \"%s\": unrecognized attribute.\n"
+msgstr "Attribut ikke genkendt: %s"
+
+#: src/lang.c:386
+#, c-format
+msgid "  Line %d: \"%s\": malformed line, '=' missing.\n"
+msgstr ""
+
+#: src/lang.c:390
+#, fuzzy, c-format
 msgid ""
 "\n"
-"Error: Bad address in Reply-To: header.\n"
+"Error: Bad address in \"%s\" header.\n"
 msgstr ""
 "\n"
-"Fejl: Ugyldig adresse i Reply-To:-teksthoved.\n"
+"Fejl: Ugyldig adresse i To:-teksthoved.\n"
 
-#: src/lang.c:386
+#: src/lang.c:391
 msgid ""
 "\n"
-"Error: Bad address in To: header.\n"
+"Error: Bad FQDN in Message-ID: header.\n"
 msgstr ""
 "\n"
-"Fejl: Ugyldig adresse i To:-teksthoved.\n"
+"Fejl: Ugyldig FQDN i Message-ID:-teksthoved.\n"
 
-#: src/lang.c:388
+#: src/lang.c:393
+#, fuzzy, c-format
+msgid "Can't use literal IPv%d-address %s with TLS (-T)"
+msgstr "Ingen e-postadresse"
+
+#: src/lang.c:396
 #, c-format
 msgid "Can't unlock %s"
 msgstr "Kan ikke fjerne lÃ¥s pÃ¥ %s"
 
-#: src/lang.c:389
+#: src/lang.c:397
 #, c-format
 msgid "Couldn't dotlock %s - article not appended!"
 msgstr "Kunne ikke dotlock %s - artikel er ikke tilfÃ¸jet!"
 
-#: src/lang.c:390
+#: src/lang.c:398
 #, c-format
 msgid "Couldn't lock %s - article not appended!"
 msgstr "Kunne ikke lÃ¥se %s - artikel ikke tilfÃ¸jet!"
 
-#: src/lang.c:393
+#: src/lang.c:401
 #, c-format
 msgid ""
 "Server requires authentication but compression (-C) is already active.\n"
 "Restart %s with -A cmd.-line switch in conjunction with -C.\n"
 msgstr ""
 
-#: src/lang.c:396
+#: src/lang.c:404
 #, c-format
 msgid "Corrupted file %s"
 msgstr "Korrupt fil %s"
 
-#: src/lang.c:397
+#: src/lang.c:406
 #, c-format
 msgid "couldn't expand %s\n"
 msgstr "kunne ikke udvide %s\n"
 
-#: src/lang.c:399
+#: src/lang.c:408
+#, fuzzy, c-format
+msgid "Error: Custom format empty. Using default \"%s\"."
+msgstr ""
+"Fejl: Tilpasset format er stÃ¸rre end skÃ¦rmbredde. Bruger standarden Â»%sÂ«."
+
+#: src/lang.c:409
+#, fuzzy
+msgid ""
+"\n"
+"Error: Article is empty.\n"
+msgstr ""
+"\n"
+"Fejl: Linjen Â»%s:Â« er tom.\n"
+
+#: src/lang.c:411
 msgid ""
 "\n"
 "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n"
@@ -1320,40 +1363,45 @@ msgstr ""
 "\n"
 "Fejl: Followup-To \"poster\" og en nyhedsgruppe er ikke tilladt!\n"
 
-#: src/lang.c:400
+#: src/lang.c:412
 #, c-format
 msgid "Error: Custom format exceeds screen width. Using default \"%s\"."
 msgstr ""
 "Fejl: Tilpasset format er stÃ¸rre end skÃ¦rmbredde. Bruger standarden Â»%sÂ«."
 
-#: src/lang.c:401
+#: src/lang.c:413
 msgid "Internal error in GNKSA routine - send bug report.\n"
 msgstr "Intern fejl i GNKSA-rutine - indsend fejlrapport.\n"
 
-#: src/lang.c:402
+#: src/lang.c:414
 msgid "Left angle bracket missing in route address.\n"
 msgstr "Venstre vinkelparentes mangler i ruteadresse.\n"
 
-#: src/lang.c:403
+#: src/lang.c:415
 msgid "Left parenthesis missing in old-style address.\n"
 msgstr "Venstre parentes mangler i adresse med Ã¦ldre stil.\n"
 
-#: src/lang.c:404
+#: src/lang.c:416
 msgid "Right parenthesis missing in old-style address.\n"
 msgstr "HÃ¸jre parentes mangler i adresse med Ã¦ldre stil.\n"
 
 # Hmm, altsÃ¥ hvis der er en grund til at de har skrevet det "At" i
 # stedet for at bruge tegnet, kan det jo hedde snabela pÃ¥ dansk, men det
 # virker mÃ¦rkeligt og jeg tror din oversÃ¦ttelse er god nok
-#: src/lang.c:405
+#: src/lang.c:417
 msgid "At-sign missing in mail address.\n"
 msgstr "@-tegn mangler i e-postadresse.\n"
 
-#: src/lang.c:406
+#: src/lang.c:418
+#, fuzzy
+msgid "Right angle bracket missing in route address.\n"
+msgstr "Venstre vinkelparentes mangler i ruteadresse.\n"
+
+#: src/lang.c:419
 msgid "Single component FQDN is not allowed. Add your domain.\n"
 msgstr "Enkeltkomponent FQDN er ikke tilladt. TilfÃ¸j dit domÃ¦ne.\n"
 
-#: src/lang.c:407
+#: src/lang.c:420
 msgid ""
 "Invalid domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1361,7 +1409,7 @@ msgstr ""
 "Ugyldigt domÃ¦ne. Send fejlrapport hvis dit topniveaudomÃ¦ne rent faktisk\n"
 "findes. Brug .invalid som topniveaudomÃ¦ne for munge'ede adresser.\n"
 
-#: src/lang.c:408
+#: src/lang.c:421
 msgid ""
 "Illegal domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1369,7 +1417,7 @@ msgstr ""
 "Ulovligt domÃ¦ne. Send fejlrapport hvis dit topniveaudomÃ¦ne rent faktisk\n"
 "findes. Brug .invalid som topniveaudomÃ¦ne for munge'ede adresser.\n"
 
-#: src/lang.c:409
+#: src/lang.c:422
 msgid ""
 "Unknown domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1377,54 +1425,54 @@ msgstr ""
 "Ukendt domÃ¦ne. Send fejlrapport hvis dit topniveaudomÃ¦ne rent faktisk\n"
 "findes. Brug .invalid som topniveaudomÃ¦ne for munge'ede adresser.\n"
 
-#: src/lang.c:410
+#: src/lang.c:423
 msgid "Illegal character in FQDN.\n"
 msgstr "Ulovlig karakter i FQDN.\n"
 
-#: src/lang.c:411
+#: src/lang.c:424
 msgid "Zero length FQDN component not allowed.\n"
 msgstr "FQDN-komponent uden lÃ¦ngde er ikke tilladt.\n"
 
-#: src/lang.c:412
+#: src/lang.c:425
 msgid "FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr ""
 "FQDN-komponent overstiger den maksimale tilladte lÃ¦ngde (63 karakterer).\n"
 
-#: src/lang.c:413
+#: src/lang.c:426
 msgid "FQDN component may not start or end with hyphen.\n"
 msgstr "FQDN-komponent mÃ¥ ikke starte eller slutte med bindestreg.\n"
 
-#: src/lang.c:414
+#: src/lang.c:427
 msgid "FQDN component may not start with digit.\n"
 msgstr "FQDN-komponent mÃ¥ ikke begynde med tal.\n"
 
-#: src/lang.c:415
+#: src/lang.c:428
 msgid "Domain literal has impossible numeric value.\n"
 msgstr "DomÃ¦ne-literal har umulig numerisk vÃ¦rdi.\n"
 
-#: src/lang.c:416
+#: src/lang.c:429
 msgid ""
 "Domain literal is for private use only and not allowed for global use.\n"
 msgstr ""
 "DomÃ¦ne-literal er kun for privat brug og ikke tilladt for global brug.\n"
 
-#: src/lang.c:417
+#: src/lang.c:430
 msgid "Right bracket missing in domain literal.\n"
 msgstr "HÃ¸jre parentes mangler i domÃ¦ne-literal.\n"
 
-#: src/lang.c:418
+#: src/lang.c:431
 msgid "Missing localpart of mail address.\n"
 msgstr "Mangler lokal del af e-postadresse.\n"
 
-#: src/lang.c:419
+#: src/lang.c:432
 msgid "Illegal character in localpart of mail address.\n"
 msgstr "Ugyldigt tegn i lokal del af e-postadresse.\n"
 
-#: src/lang.c:420
+#: src/lang.c:433
 msgid "Zero length localpart component not allowed.\n"
 msgstr "Localpart-komponent med nullÃ¦ngde er ikke tilladt.\n"
 
-#: src/lang.c:421
+#: src/lang.c:434
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
@@ -1433,7 +1481,7 @@ msgstr ""
 "Ord uden for citationstegn mÃ¥ ikke indeholde Â»!()<>@,;:\\.[]Â« i "
 "ruteadresser.\n"
 
-#: src/lang.c:422
+#: src/lang.c:435
 msgid ""
 "Illegal character in realname.\n"
 "Quoted words may not contain '()<>\\'.\n"
@@ -1441,7 +1489,7 @@ msgstr ""
 "Ugyldigt tegn i det fulde navn.\n"
 "Citerede ord mÃ¥ ikke indeholde Â»()<>\\Â«.\n"
 
-#: src/lang.c:423
+#: src/lang.c:436
 msgid ""
 "Illegal character in realname.\n"
 "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
@@ -1449,11 +1497,11 @@ msgstr ""
 "Ugyldigt tegn i det fulde navn.\n"
 "Kodede ord mÃ¥ ikke indeholde Â»!()<>@,;:\"\\.[]/=Â« i parameter.\n"
 
-#: src/lang.c:424
+#: src/lang.c:437
 msgid "Bad syntax in encoded word used in realname.\n"
 msgstr "Ugyldig syntaks i kodet ord brugt i det fulde navn.\n"
 
-#: src/lang.c:425
+#: src/lang.c:438
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '()<>\\' in old-style addresses.\n"
@@ -1462,7 +1510,7 @@ msgstr ""
 "Ord uden for citationstegn mÃ¥ ikke indeholde Â»()<>\\Â« i adresser i gammel "
 "stil.\n"
 
-#: src/lang.c:426
+#: src/lang.c:439
 msgid ""
 "Illegal character in realname.\n"
 "Control characters and unencoded 8bit characters > 127 are not allowed.\n"
@@ -1470,7 +1518,12 @@ msgstr ""
 "Ugyldigt tegn i det fulde navn.\n"
 "Kontroltegn og ukodede 8-bit tegn > 127 er ikke tilladt.\n"
 
-#: src/lang.c:427
+#: src/lang.c:440
+#, fuzzy
+msgid "Missing realname.\n"
+msgstr "Manglende dele."
+
+#: src/lang.c:441
 msgid ""
 "\n"
 "Error: No blank line found after header.\n"
@@ -1478,7 +1531,16 @@ msgstr ""
 "\n"
 "Fejl: Ingen blank linje fundet efter teksthoved.\n"
 
-#: src/lang.c:428
+#: src/lang.c:442
+#, fuzzy
+msgid ""
+"\n"
+"Error: Illegal Distribution \"all\" used.\n"
+msgstr ""
+"\n"
+"Fejl: Ulovlig formateret %s.\n"
+
+#: src/lang.c:443
 #, c-format
 msgid ""
 "\n"
@@ -1488,7 +1550,7 @@ msgstr ""
 "Fejl: Ulovlig formateret %s.\n"
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:430
+#: src/lang.c:445
 msgid ""
 "\n"
 "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
@@ -1502,7 +1564,7 @@ msgstr ""
 "      vÃ¦rdi for dit sprog  via  M)menuen  for  indstillinger,  der kan\n"
 "      konfigureres eller ved at redigere tinrc.\n"
 
-#: src/lang.c:435
+#: src/lang.c:450
 msgid ""
 "\n"
 "Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
@@ -1519,7 +1581,7 @@ msgstr ""
 "      gÃ¸res via M)enuen for indstillinger, der kan konfigureres eller\n"
 "      ved at redigere tinrc.\n"
 
-#: src/lang.c:441
+#: src/lang.c:456
 msgid ""
 "\n"
 "Error: Article starts with blank line instead of header\n"
@@ -1527,7 +1589,7 @@ msgstr ""
 "\n"
 "Fejl: Artikel starter med blank linje i stedet for teksthoved\n"
 
-#: src/lang.c:442
+#: src/lang.c:457
 #, c-format
 msgid ""
 "\n"
@@ -1538,7 +1600,7 @@ msgstr ""
 "Fejl: Teksthoved pÃ¥ linje %d har ikke et kolon efter teksthovednavnet:\n"
 "%s\n"
 
-#: src/lang.c:443
+#: src/lang.c:458
 #, c-format
 msgid ""
 "\n"
@@ -1547,7 +1609,7 @@ msgstr ""
 "\n"
 "Fejl: Linjen Â»%s:Â« er tom.\n"
 
-#: src/lang.c:444
+#: src/lang.c:459
 #, c-format
 msgid ""
 "\n"
@@ -1556,7 +1618,7 @@ msgstr ""
 "\n"
 "Fejl: Linjen Â»%s:Â« mangler fra artikelteksthovedet.\n"
 
-#: src/lang.c:445
+#: src/lang.c:460
 #, c-format
 msgid ""
 "\n"
@@ -1565,7 +1627,7 @@ msgstr ""
 "\n"
 "Fejl: %s har tegn som ikke er i 7 bit.\n"
 
-#: src/lang.c:446
+#: src/lang.c:461
 #, c-format
 msgid ""
 "\n"
@@ -1576,7 +1638,7 @@ msgstr ""
 "Fejl: Teksthoved pÃ¥ linje %d har ikke et mellemrum efter kolon:\n"
 "%s\n"
 
-#: src/lang.c:447
+#: src/lang.c:462
 #, c-format
 msgid ""
 "\n"
@@ -1585,7 +1647,7 @@ msgstr ""
 "\n"
 "Fejl: Der er flere (%d) \"%s:\"-linjer i teksthovedet.\n"
 
-#: src/lang.c:448
+#: src/lang.c:463
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -1596,35 +1658,47 @@ msgstr ""
 "Fejl: Teksthoved pÃ¥ linje %d har ikke et mellemrum efter kolon:\n"
 "%s\n"
 
-#: src/lang.c:450
+#: src/lang.c:464
+msgid ""
+"\n"
+"Error: This is a mailgroup, but a recipient (\"To:\") is missing.\n"
+msgstr ""
+
+#: src/lang.c:465
+#, c-format
+msgid "Mixed up '-f'/'-F'? %s %s"
+msgstr ""
+
+#: src/lang.c:467
 #, c-format
 msgid "Insecure permissions of %s (%o)"
 msgstr "Usikre tilladelser pÃ¥ %s (%o)"
 
-#: src/lang.c:453
+#: src/lang.c:470
 #, fuzzy, c-format
 msgid "Line %d is longer than %d octets and should be folded.\n"
 msgstr ""
 "Linje %d er lÃ¦ngere end %d oktetter og bÃ¸r foldes sammen, men\n"
 "kodningen er ikke sat til %s\n"
 
-#: src/lang.c:455
+#: src/lang.c:472
 #, fuzzy, c-format
 msgid "Line %d is longer than %d octets and should be shortened.\n"
 msgstr ""
 "Linje %d er lÃ¦ngere end %d oktetter og bÃ¸r foldes sammen, men\n"
 "kodningen er ikke sat til %s\n"
 
-#: src/lang.c:461
-#, c-format
-msgid "MIME parse error: Unexpected end of %s/%s article"
-msgstr "MIME-fortolkningsfejl: Uventet afslutning pÃ¥ %s/%s artikel"
+#: src/lang.c:477
+#, fuzzy, c-format
+msgid "MIME parse error: Unexpected end of %s/%s article\n"
+msgstr "MIME-fortolkningsfejl: Uventet afslutning pÃ¥ %s/%s artikel\n"
 
-#: src/lang.c:462
-msgid "MIME parse error: Start boundary whilst reading headers"
-msgstr "MIME-fortolkningsfejl: Start grÃ¦nse mens teksthoveder lÃ¦ses"
+#: src/lang.c:478
+#, fuzzy
+msgid "MIME parse error: Start boundary whilst reading headers\n"
+msgstr "MIME-fortolkningsfejl: Start grÃ¦nse mens teksthoveder lÃ¦ses\n"
 
-#: src/lang.c:464
+#: src/lang.c:479
 msgid ""
 "\n"
 "Error: \"poster\" is not allowed in Newsgroups!\n"
@@ -1632,16 +1706,11 @@ msgstr ""
 "\n"
 "Fejl: Â»indsenderÂ« er ikke tilladt i nyhedsgruppe!\n"
 
-#: src/lang.c:465
+#: src/lang.c:480
 msgid "Can't get a (fully-qualified) domain-name!"
 msgstr "Kan ikke indhente et (fuldt gyldigt) domÃ¦nenavn!"
 
-#: src/lang.c:466
-#, c-format
-msgid "No permissions to go into %s\n"
-msgstr "Ingen tilladelse til at gÃ¥ ind i %s\n"
-
-#: src/lang.c:468
+#: src/lang.c:482
 msgid ""
 "\n"
 "Error: From: line missing.\n"
@@ -1649,34 +1718,44 @@ msgstr ""
 "\n"
 "Fejl: From:-linje mangler.\n"
 
-#: src/lang.c:470
+#: src/lang.c:485
+#, c-format
+msgid "No permissions to go into %s\n"
+msgstr "Ingen tilladelse til at gÃ¥ ind i %s\n"
+
+#: src/lang.c:486
 #, c-format
 msgid "No read permissions for %s\n"
 msgstr "Ingen lÃ¦serettigheder for %s\n"
 
-#: src/lang.c:471
+#: src/lang.c:487
 #, c-format
 msgid "File %s does not exist\n"
 msgstr "Fil %s eksisterer ikke\n"
 
-#: src/lang.c:472
+#: src/lang.c:488
 #, c-format
 msgid "No write permissions for %s\n"
 msgstr "Ingen skriverettigheder for %s\n"
 
-#: src/lang.c:473
+#: src/lang.c:490
+#, fuzzy, c-format
+msgid "Not a literal IPv6 address: %s"
+msgstr "Ingen e-postadresse"
+
+#: src/lang.c:493
 msgid "Can't get user information (/etc/passwd missing?)"
 msgstr "Kan ikke indhente brugerinformation (/etc/passwd mangler?)"
 
-#: src/lang.c:475
+#: src/lang.c:495
 msgid "errors"
 msgstr "fejl"
 
-#: src/lang.c:476
+#: src/lang.c:496
 msgid "error"
 msgstr "fejl"
 
-#: src/lang.c:479
+#: src/lang.c:499
 #, c-format
 msgid ""
 "\n"
@@ -1686,63 +1765,63 @@ msgstr ""
 "Fejl pÃ¥ linje %d: Teksthoved for Â»afsenderÂ« er ikke tilladt (den vil blive "
 "tilfÃ¸jet for dig)\n"
 
-#: src/lang.c:481
+#: src/lang.c:501
 #, c-format
 msgid "Server has non of the groups listed in %s"
 msgstr "Server har ingen af grupperne vist i %s"
 
-#: src/lang.c:482
+#: src/lang.c:502
 #, c-format
 msgid "Error: unlink %s"
 msgstr ""
 
-#: src/lang.c:483
+#: src/lang.c:503
 msgid "Unknown display level"
 msgstr "Ukendt visningsniveau"
 
-#: src/lang.c:485
+#: src/lang.c:505
 msgid "Unreachable?\n"
 msgstr "Kan ikke nÃ¥s?\n"
 
-#: src/lang.c:487
+#: src/lang.c:507
 msgid "<ESC>"
 msgstr "<ESC>"
 
-#: src/lang.c:488
+#: src/lang.c:508
 msgid "Exiting..."
 msgstr "Afslutter..."
 
-#: src/lang.c:489
+#: src/lang.c:509
 msgid "leaving external mail-reader"
 msgstr "forlader ekstern postlÃ¦ser"
 
-#: src/lang.c:490
+#: src/lang.c:510
 #, c-format
 msgid "Extracting %s..."
 msgstr "Udpakker %s..."
 
-#: src/lang.c:492
+#: src/lang.c:512
 #, c-format
 msgid "Error writing %s file. Filesystem full? File reset to previous state."
 msgstr ""
 "Kunne ikke skrive %s fil. Filsystem fyldt op? Fil gendannet til tidligere "
 "tilstand."
 
-#: src/lang.c:493
+#: src/lang.c:513
 #, c-format
 msgid "Error making backup of %s file. Filesystem full?"
 msgstr "Fejl under oprettelse af sikkerhedskopi af %s fil. Filsystem fyldt op?"
 
-#: src/lang.c:494
+#: src/lang.c:514
 #, fuzzy, c-format
 msgid "Filtering global rules (%d/%d) ('q' to quit)..."
 msgstr "Filtrerer globale regler (%d/%d) ..."
 
-#: src/lang.c:495
+#: src/lang.c:515
 msgid "Rule created by: "
 msgstr "Regel oprettet af: "
 
-#: src/lang.c:496
+#: src/lang.c:516
 #, fuzzy
 msgid ""
 "# Format:\n"
@@ -1811,48 +1890,48 @@ msgstr ""
 "#   time=NUM          Valgfri. time_t-vÃ¦rdi nÃ¥r regel udlÃ¸ber\n"
 "#\n"
 
-#: src/lang.c:522
+#: src/lang.c:542
 #, c-format
 msgid "Enter score for rule (default=%d): "
 msgstr "Indtast point for regel (standard=%d): "
 
-#: src/lang.c:523
+#: src/lang.c:543
 #, c-format
 msgid "Enter the score weight (range 0 < score <= %d)"
 msgstr "Indtast pointvÃ¦gt (interval 0 < pointtal <= %d)"
 
 #. SCORE_MAX
-#: src/lang.c:524
+#: src/lang.c:544
 msgid "Full"
 msgstr "Fuld"
 
-#: src/lang.c:525
+#: src/lang.c:545
 msgid "Comment (optional)  : "
 msgstr "BemÃ¦rkning (valgfri)  : "
 
-#: src/lang.c:527
+#: src/lang.c:547
 msgid "Malformed overview entry: servername missing."
 msgstr ""
 
-#: src/lang.c:528
+#: src/lang.c:548
 #, c-format
 msgid "\t Xref: %s"
 msgstr ""
 
-#: src/lang.c:529
+#: src/lang.c:549
 msgid "Skipping Xref filter"
 msgstr ""
 
-#: src/lang.c:531
+#: src/lang.c:551
 msgid "Apply pattern to    : "
 msgstr "Anvend mÃ¸nster pÃ¥    : "
 
-#: src/lang.c:532
+#: src/lang.c:552
 #, c-format
 msgid "Enter pattern [%s]> "
 msgstr "Indtast mÃ¸nster [%s]> "
 
-#: src/lang.c:533
+#: src/lang.c:553
 #, c-format
 msgid ""
 "\n"
@@ -1861,895 +1940,900 @@ msgstr ""
 "\n"
 "Du anmodte om at opfÃ¸lgninger til din artikel skulle gÃ¥ til fÃ¸lgende %s:\n"
 
-#: src/lang.c:534
+#: src/lang.c:554
 #, c-format
 msgid "  %s\t Answers will be directed to you by mail.\n"
 msgstr "  %s\t Svar vil blive sendt til dig per e-post.\n"
 
-#: src/lang.c:535
+#: src/lang.c:555
 msgid "-- forwarded message --\n"
 msgstr "-- videresendt besked --\n"
 
-#: src/lang.c:536
+#: src/lang.c:556
 msgid "-- end of forwarded message --\n"
 msgstr "-- slut pÃ¥ videresendt besked --\n"
 
-#: src/lang.c:537
+#: src/lang.c:557
 msgid "From: line (ignore case)      "
 msgstr "From:-linje (ignorer versaler) "
 
-#: src/lang.c:538
+#: src/lang.c:558
 msgid "From: line (case sensitive)   "
 msgstr "From:-linje (versalfÃ¸lsom)     "
 
-#: src/lang.c:541
+#: src/lang.c:561
 #, c-format
 msgid "%s%s: Unknown host.\n"
 msgstr "%s%s: Ukendt vÃ¦rt.\n"
 
-#: src/lang.c:543
+#: src/lang.c:563
 msgid "global "
 msgstr "global "
 
-#: src/lang.c:544
+#: src/lang.c:564
 #, c-format
 msgid "Please use %.100s instead"
 msgstr "Brug venligst %.100s i stedet for"
 
-#: src/lang.c:545
+#: src/lang.c:565
 #, c-format
 msgid "%s is bogus"
 msgstr "%s er fejlbehÃ¦ftet"
 
-#: src/lang.c:546
+#: src/lang.c:566
 #, c-format
 msgid "Group %s is moderated. Continue?"
 msgstr "Gruppe %s er modereret. FortsÃ¦t?"
 
-#: src/lang.c:547
+#: src/lang.c:567
 msgid "groups"
 msgstr "grupper"
 
-#: src/lang.c:548
+#: src/lang.c:568
 #, c-format
 msgid "Rereading %s..."
 msgstr "GenlÃ¦ser %s ..."
 
-#: src/lang.c:549
+#: src/lang.c:569
 msgid "Top Level Commands"
 msgstr "Kommandoer for topniveau"
 
-#: src/lang.c:550
+#: src/lang.c:570
 msgid "Group Selection"
 msgstr "Gruppemarkering"
 
-#: src/lang.c:551
+#: src/lang.c:571
 msgid "group"
 msgstr "gruppe"
 
-#: src/lang.c:552
+#: src/lang.c:572
 msgid ""
 "*** Group descriptions are disabled according to current select_format ***"
 msgstr ""
 "*** Gruppebeskrivelser er deaktiveret jÃ¦vnfÃ¸r nuvÃ¦rende select_format ***"
 
-#: src/lang.c:554
+#: src/lang.c:574
 msgid ""
 "One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr ""
 "En eller flere linjer med kommentarer. <CR> for at tilfÃ¸je en linje eller "
 "fortsÃ¦tte hvis linjen er tom."
 
-#: src/lang.c:555
+#: src/lang.c:575
 msgid "From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 "From:-linje der skal tilfÃ¸jes filterfil. <MELLEMRUM> skifter & <CR> Ã¦ndrer."
 
-#: src/lang.c:556
+#: src/lang.c:576
 msgid ""
 "Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr ""
 "Linjeantal for artikler der skal filtreres. < for mindre, > for mere, = for "
 "lig."
 
-#: src/lang.c:557
+#: src/lang.c:577
 msgid "Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Message-ID: Linje der skal tilfÃ¸jes til filterfil. <MELLEMRUM> skifter & "
 "<CR> Ã¦ndrer."
 
-#: src/lang.c:558
+#: src/lang.c:578
 msgid "Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Subject:-linje der skal tilfÃ¸jes til filterfil. <MELLEMRUM> skifter & <CR> "
 "Ã¦ndrer."
 
-#: src/lang.c:559
+#: src/lang.c:579
 msgid ""
 "Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr ""
 "Indtast tekstmÃ¸nter der skal filtreres hvis Subject:- & From:-linjer ikke er "
 "hvad du Ã¸nsker."
 
-#: src/lang.c:560
+#: src/lang.c:580
 msgid ""
 "Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr "VÃ¦lg hvor tekstmÃ¸nstre skal bruges. <MELLEMRUM> skifter & <CR> Ã¦ndrer."
 
-#: src/lang.c:561
+#: src/lang.c:581
 msgid ""
 "Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 "UdlÃ¸bstid i dage for de indtastede filer. <MELLEMRUM> skifter & <CR> Ã¦ndrer."
 
-#: src/lang.c:562
+#: src/lang.c:582
 msgid ""
 "Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Brug kun drÃ¦b i aktuel gruppe eller alle grupper. <MELLEMRUM> skifter & <CR> "
 "Ã¦ndrer."
 
-#: src/lang.c:563
+#: src/lang.c:583
 msgid ""
 "Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Brug vÃ¦lg i aktuel gruppe eller alle grupper. <MELLEMRUM> skifter & <CR> "
 "Ã¦ndrer."
 
-#: src/lang.c:564
+#: src/lang.c:584
 msgid "kill an article via a menu"
 msgstr "drÃ¦b en artikel via en menu"
 
-#: src/lang.c:565
+#: src/lang.c:585
 msgid "auto-select (hot) an article via a menu"
 msgstr "vÃ¦lg automatisk (populÃ¦r) en artikel via en menu"
 
-#: src/lang.c:566
+#: src/lang.c:586
 msgid "Browse URLs in article"
 msgstr "Gennemse URL'er i artikel"
 
-#: src/lang.c:567
+#: src/lang.c:587
 msgid "0 - 9\t  display article by number in current thread"
 msgstr "0 - 9\t  vis artikel efter nummer i aktuel trÃ¥d"
 
-#: src/lang.c:569
+#: src/lang.c:589
 msgid "cancel (delete) or supersede (overwrite) current article"
 msgstr "afbryd (slet) eller fortrÃ¦ng (oveskriv) aktuel artikel"
 
-#: src/lang.c:570
+#: src/lang.c:590
 msgid "post followup to current article"
 msgstr "send opfÃ¸lgning til aktuel artikel"
 
-#: src/lang.c:571
+#: src/lang.c:591
 msgid "post followup (don't copy text) to current article"
 msgstr "send opfÃ¸lgning (kopier ikke tekst) til aktuel artikel"
 
-#: src/lang.c:572
+#: src/lang.c:592
 msgid "post followup to current article quoting complete headers"
 msgstr "send opfÃ¸lgning til aktuel artikel med citat for hele hoveder"
 
-#: src/lang.c:573
+#: src/lang.c:593
 msgid "repost chosen article to another group"
 msgstr "gensend valgt artikel til anden gruppe"
 
-#: src/lang.c:575
+#: src/lang.c:595
 msgid "edit article (mail-groups only)"
 msgstr "rediger artikel (kun postgrupper)"
 
-#: src/lang.c:576
+#: src/lang.c:596
 msgid "display first article in current thread"
 msgstr "vis fÃ¸rste artikel i aktuel trÃ¥d"
 
 # af artiklen
-#: src/lang.c:577
+#: src/lang.c:597
 msgid "display first page of article"
 msgstr "vis fÃ¸rste side pÃ¥ artikel"
 
-#: src/lang.c:578
+#: src/lang.c:598
+#, fuzzy
+msgid "show MIME details of this article"
+msgstr "Ingen URL'er i denne artikel"
+
+#: src/lang.c:599
 msgid "display last article in current thread"
 msgstr "vis sidste artikel i aktuel trÃ¥d"
 
-#: src/lang.c:579
+#: src/lang.c:600
 msgid "display last page of article"
 msgstr "vis sidste side pÃ¥ artikel"
 
-#: src/lang.c:580
+#: src/lang.c:601
 msgid "mark rest of thread as read and advance to next unread"
 msgstr "marker resten af trÃ¥den som lÃ¦st og fortsÃ¦t til nÃ¦ste ulÃ¦st"
 
-#: src/lang.c:581
+#: src/lang.c:602
 msgid "display next article"
 msgstr "vis nÃ¦ste artikel"
 
-#: src/lang.c:582
+#: src/lang.c:603
 msgid "display first article in next thread"
 msgstr "vis fÃ¸rste artikel i nÃ¦ste trÃ¥d"
 
-#: src/lang.c:583
+#: src/lang.c:604
 msgid "display next unread article"
 msgstr "vis nÃ¦ste ulÃ¦ste artikel"
 
-#: src/lang.c:584
+#: src/lang.c:605
 msgid "go to the article that this one followed up"
 msgstr "gÃ¥ til den artikel som den her fulgte op pÃ¥"
 
-#: src/lang.c:585
+#: src/lang.c:606
 msgid "display previous article"
 msgstr "vis forrige artikel"
 
-#: src/lang.c:586
+#: src/lang.c:607
 msgid "display previous unread article"
 msgstr "vis forrige ulÃ¦ste artikel"
 
 # eller ".. artikel ved brug af standardmetoden", jeg synes ikke
 # umiddelbart det er til at regne ud
-#: src/lang.c:587
+#: src/lang.c:608
 msgid "quickly kill an article using defaults"
 msgstr "drÃ¦b hurtigt en artikel som bruger standarder"
 
-#: src/lang.c:588
+#: src/lang.c:609
 msgid "quickly auto-select (hot) an article using defaults"
 msgstr "autovÃ¦lg hurtigt (populÃ¦r) en artikel som bruger standarder"
 
 # gÃ¥ tilbage til
-#: src/lang.c:589
+#: src/lang.c:610
 msgid "return to group selection level"
 msgstr "returner til gruppeudvÃ¦lgelsesniveau"
 
-#: src/lang.c:590
+#: src/lang.c:611
 msgid "reply through mail to author"
 msgstr "svar via e-post til forfatter"
 
-#: src/lang.c:591
+#: src/lang.c:612
 msgid "reply through mail (don't copy text) to author"
 msgstr "svar via e-post (kopier ikke tekst) til forfatter"
 
-#: src/lang.c:592
+#: src/lang.c:613
 msgid "reply through mail to author quoting complete headers"
 msgstr "svar via e-post til forfatter med citering af hele hoveder"
 
-#: src/lang.c:593
+#: src/lang.c:614
 msgid "search backwards within this article"
 msgstr "sÃ¸g baglÃ¦ns indenfor denne artikel"
 
-#: src/lang.c:594
+#: src/lang.c:615
 msgid "search forwards within this article"
 msgstr "sÃ¸g fremad idenfor denne artikel"
 
-#: src/lang.c:595
+#: src/lang.c:616
 msgid "show article in raw-mode (including all headers)"
 msgstr "vis artikel i rawtilstand (inklusiv alle hoveder)"
 
-#: src/lang.c:596
+#: src/lang.c:617
 msgid "skip next block of included text"
 msgstr "udelad nÃ¦ste blok med inkluderet tekst"
 
-#: src/lang.c:597
+#: src/lang.c:618
 msgid "toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr "slÃ¥ visning af afsnit skjult af en form-feed (^L) til/fra"
 
-#: src/lang.c:598
+#: src/lang.c:619
 msgid "toggle display of all headers"
 msgstr "slÃ¥ visning af alle teksthoveder til/fra"
 
-#: src/lang.c:599
+#: src/lang.c:620
 msgid "toggle word highlighting on/off"
 msgstr "slÃ¥ ordfremhÃ¦velse til/fra"
 
-#: src/lang.c:600
+#: src/lang.c:621
 msgid "toggle ROT-13 (basic decode) for current article"
 msgstr "slÃ¥ ROT-13 (basisafkodning) for aktuel artikel til/fra"
 
-#: src/lang.c:601
+#: src/lang.c:622
 msgid "toggle tabwidth 4 <-> 8"
 msgstr "slÃ¥ indrykningsbredde 4 <-> 8 til/fra"
 
-#: src/lang.c:602
+#: src/lang.c:623
 msgid "toggle German TeX style decoding for current article"
 msgstr "skift tysk TeX-stilafkodning for nuvÃ¦rende artikel"
 
-#: src/lang.c:603
+#: src/lang.c:624
 msgid "toggle display of uuencoded sections"
 msgstr "skift visning af uuencoded-afsnit"
 
-#: src/lang.c:604
+#: src/lang.c:625
 msgid "View/pipe/save multimedia attachments"
 msgstr "Vis/send/gem multimedievedhÃ¦ftninger"
 
-#: src/lang.c:605
+#: src/lang.c:626
 msgid "choose first attachment in list"
 msgstr "vÃ¦lg fÃ¸rste vedhÃ¦ftning i listen"
 
-#: src/lang.c:606
+#: src/lang.c:627
 msgid "0 - 9\t  choose attachment by number"
 msgstr "0 - 9\t  vÃ¦lg vedhÃ¦ftning efter nummer"
 
-#: src/lang.c:607
+#: src/lang.c:628
 msgid "choose last attachment in list"
 msgstr "vÃ¦lg sidste vedhÃ¦ftning i listen"
 
-#: src/lang.c:609
+#: src/lang.c:630
 msgid "pipe attachment into command"
 msgstr "send (via datakanal) vedhÃ¦ftelse til kommando"
 
-#: src/lang.c:610
+#: src/lang.c:631
 msgid "pipe raw attachment into command"
 msgstr "send (via datakanal) rÃ¥ vedhÃ¦ftelse til kommando"
 
-#: src/lang.c:612
+#: src/lang.c:633
 msgid "save attachment to disk"
 msgstr "gem vedhÃ¦ftninger til disk"
 
-#: src/lang.c:613
+#: src/lang.c:634
 msgid "search for attachments forwards"
 msgstr "sÃ¸g efter vedhÃ¦ftninger fremad"
 
-#: src/lang.c:614
+#: src/lang.c:635
 msgid "search for attachments backwards"
 msgstr "sÃ¸g efter vedhÃ¦ftninger baglÃ¦ns"
 
-#: src/lang.c:615
+#: src/lang.c:636
 msgid "view attachment"
 msgstr "vis vedhÃ¦ftning"
 
-#: src/lang.c:616
+#: src/lang.c:637
 msgid "tag attachment"
 msgstr "mÃ¦rk vedhÃ¦ftning"
 
-#: src/lang.c:617
+#: src/lang.c:638
 msgid "tag attachments that match user specified pattern"
 msgstr "vÃ¦lg vedhÃ¦ftninger som svarer til brugerangivet mÃ¸nster"
 
-#: src/lang.c:618
+#: src/lang.c:639
 msgid "reverse tagging on all attachments (toggle)"
 msgstr "vend mÃ¦rke om for alle vedhÃ¦ftninger (skift)"
 
-#: src/lang.c:619
+#: src/lang.c:640
 msgid "untag all tagged attachments"
 msgstr "fjern alle mÃ¦rkede vedhÃ¦ftninger"
 
-#: src/lang.c:620
+#: src/lang.c:641
 msgid "toggle info message in last line (name/description of attachment)"
 msgstr ""
 "slÃ¥ infobesked i sidste linje til/fra (navn/beskrivelse af vedhÃ¦ftning)"
 
-#: src/lang.c:621
+#: src/lang.c:642
 msgid "choose first attribute in list"
 msgstr "vÃ¦lg fÃ¸rste attribut i listen"
 
-#: src/lang.c:622
+#: src/lang.c:643
 msgid "0 - 9\t  choose attribute by number"
 msgstr "0 - 9\t  vÃ¦lg attribut efter nummer"
 
-#: src/lang.c:623
+#: src/lang.c:644
 msgid "choose last attribute in list"
 msgstr "vÃ¦lg sidste attribut i listen"
 
-#: src/lang.c:624
+#: src/lang.c:645
 msgid "reset attribute to a default value"
 msgstr "nulstil attribut til en standardvÃ¦rdi"
 
-#: src/lang.c:625
-msgid "search forwards for an attribute"
-msgstr "sÃ¸g fremad efter en attribut"
-
-#: src/lang.c:626
+#: src/lang.c:646
 msgid "search backwards for an attribute"
 msgstr "sÃ¸g baglÃ¦ns efter en attribut"
 
-#: src/lang.c:627
+#: src/lang.c:647
+msgid "search forwards for an attribute"
+msgstr "sÃ¸g fremad efter en attribut"
+
+#: src/lang.c:648
 msgid "select attribute"
 msgstr "vÃ¦lg attribut"
 
-#: src/lang.c:628
+#: src/lang.c:649
 msgid "toggle back to options menu when invoked from there"
 msgstr "skift tilbage til indstillingsmenu nÃ¥r startet fra her til/fra"
 
-#: src/lang.c:629
+#: src/lang.c:650
 #, c-format
 msgid "report bug or comment via mail to %s"
 msgstr "rapporter fejl eller giv en kommentar via e-post til %s"
 
-#: src/lang.c:630
+#: src/lang.c:651
 msgid "choose first option in list"
 msgstr "vÃ¦lg fÃ¸rste indstilling i listen"
 
-#: src/lang.c:631
+#: src/lang.c:652
 msgid "0 - 9\t  choose option by number"
 msgstr "0 - 9\t  vÃ¦lg indstilling efter nummer"
 
-#: src/lang.c:632
+#: src/lang.c:653
 msgid "choose last option in list"
 msgstr "vÃ¦lg sidste indstilling i listen"
 
-#: src/lang.c:633
+#: src/lang.c:654
 msgid "start scopes menu"
 msgstr "start virkefeltmenu"
 
-#: src/lang.c:634
-msgid "search forwards for an option"
-msgstr "sÃ¸g fremad efter en indstilling"
-
-#: src/lang.c:635
+#: src/lang.c:655
 msgid "search backwards for an option"
 msgstr "sÃ¸g baglÃ¦ns efter en indstilling"
 
-#: src/lang.c:636
+#: src/lang.c:656
+msgid "search forwards for an option"
+msgstr "sÃ¸g fremad efter en indstilling"
+
+#: src/lang.c:657
 msgid "select option"
 msgstr "vÃ¦lg indstilling"
 
-#: src/lang.c:637
+#: src/lang.c:658
 msgid "toggle to attributes menu"
 msgstr "slÃ¥ attributmenu til/fra"
 
-#: src/lang.c:638
+#: src/lang.c:659
 msgid "choose range of articles to be affected by next command"
 msgstr "vÃ¦lg interval af artikler som pÃ¥virkes af nÃ¦ste kommando"
 
-#: src/lang.c:639
+#: src/lang.c:660
 msgid "escape from command prompt"
 msgstr "undvig fra kommandoprompt"
 
-#: src/lang.c:640
+#: src/lang.c:661
 msgid "edit filter file"
 msgstr "rediger filterfil"
 
-#: src/lang.c:641
+#: src/lang.c:662
 msgid "get help"
 msgstr "fÃ¥ hjÃ¦lp"
 
-#: src/lang.c:642
+#: src/lang.c:663
 msgid "display last article viewed"
 msgstr "vis den sidst viste artikel"
 
-#: src/lang.c:643
+#: src/lang.c:664
 msgid "down one line"
 msgstr "en linje ned"
 
-#: src/lang.c:644
+#: src/lang.c:665
 msgid "up one line"
 msgstr "en linje op"
 
-#: src/lang.c:645
+#: src/lang.c:666
 msgid "go to article chosen by Message-ID"
 msgstr "gÃ¥ til artikel valgt efter besked-id"
 
-#: src/lang.c:646
+#: src/lang.c:667
 msgid "mail article/thread/hot/pattern/tagged articles to someone"
 msgstr "send artikel/trÃ¥d/populÃ¦r/mÃ¸nster/mÃ¦rkede artikler til nogen"
 
-#: src/lang.c:647
+#: src/lang.c:668
 msgid "menu of configurable options"
 msgstr "menu med konfigurerbare indstillinger"
 
-#: src/lang.c:648
+#: src/lang.c:669
 msgid "down one page"
 msgstr "en side ned"
 
-#: src/lang.c:649
+#: src/lang.c:670
 msgid "up one page"
 msgstr "en side ned"
 
-#: src/lang.c:651
+#: src/lang.c:672
 msgid "post (write) article to current group"
 msgstr "send (skriv) artikel til aktuel gruppe"
 
-#: src/lang.c:652
+#: src/lang.c:673
 msgid "post postponed articles"
 msgstr "send udskudte artikler"
 
-#: src/lang.c:654
+#: src/lang.c:675
 msgid "list articles posted by you (from posted file)"
 msgstr "vis artikler sendt af dig (fra sendtfil)"
 
-#: src/lang.c:655
+#: src/lang.c:676
 msgid "return to previous menu"
 msgstr "returner til forrige menu"
 
-#: src/lang.c:656
+#: src/lang.c:677
 msgid "quit tin immediately"
 msgstr "afslut tin Ã¸jbelikkeligt"
 
-#: src/lang.c:657
+#: src/lang.c:678
 msgid "redraw page"
 msgstr "genskriv side"
 
-#: src/lang.c:658
+#: src/lang.c:679
 msgid "save article/thread/hot/pattern/tagged articles to file"
 msgstr "gem artikel/trÃ¥d/populÃ¦r/mÃ¸nster/mÃ¦rkede artikler til fil"
 
-#: src/lang.c:659
+#: src/lang.c:680
 msgid "save marked articles automatically without user prompts"
 msgstr "gem automatisk markerede artikler uden brugerindgreb"
 
-#: src/lang.c:660
+#: src/lang.c:681
 msgid "scroll the screen one line down"
 msgstr "rul skÃ¦rmen en linje ned"
 
-#: src/lang.c:661
+#: src/lang.c:682
 msgid "scroll the screen one line up"
 msgstr "rul skÃ¦rmen en linje op"
 
-#: src/lang.c:662
+#: src/lang.c:683
 msgid "search for articles by author backwards"
 msgstr "sÃ¸g efter artikler baglÃ¦ns efter forfatter"
 
-#: src/lang.c:663
+#: src/lang.c:684
 msgid "search for articles by author forwards"
 msgstr "sÃ¸g efter artikler fremad efter forfatter"
 
-#: src/lang.c:664
+#: src/lang.c:685
 msgid "search all articles for a given string (this may take some time)"
 msgstr "sÃ¸g i alle artikler efter en angivet streng (dette kan tage lang tid)"
 
-#: src/lang.c:665
+#: src/lang.c:686
 msgid " \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr ""
 " \t  (sÃ¸gning er uafhÃ¦ngigt af store/smÃ¥ bogstaver og omhandler alle "
 "artikler)"
 
-#: src/lang.c:666
+#: src/lang.c:687
 msgid "search for articles by Subject line backwards"
 msgstr "sÃ¸g efter artikler baglÃ¦ns per emnelinje"
 
-#: src/lang.c:667
+#: src/lang.c:688
 msgid "search for articles by Subject line forwards"
 msgstr "sÃ¸g efter artikler forlÃ¦ns per emnelinje"
 
-#: src/lang.c:668
+#: src/lang.c:689
 msgid "repeat last search"
 msgstr "gentag sidste sÃ¸gning"
 
-#: src/lang.c:669
+#: src/lang.c:690
 msgid "tag current article for reposting/mailing/piping/printing/saving"
 msgstr ""
 "mÃ¦rk aktuel artikel til gensending/postudsendelse/piping/udskrivning/gemning"
 
-#: src/lang.c:670
+#: src/lang.c:691
 msgid "toggle info message in last line (subject/description)"
 msgstr "slÃ¥ infobesked i sidste linje til/fra (emne/beskrivelse)"
 
-#: src/lang.c:671
+#: src/lang.c:692
 msgid "toggle inverse video"
 msgstr "slÃ¥ omvendt video til/fra"
 
-#: src/lang.c:672
+#: src/lang.c:693
 #, fuzzy
 msgid "toggle mini help menu and posting etiquette display"
 msgstr "slÃ¥ minihjÃ¦lpens menuvisning til/fra"
 
-#: src/lang.c:673
+#: src/lang.c:694
 msgid "cycle the display of authors email address, real name, both or neither"
 msgstr ""
 "lÃ¸b igennem visningen af forfatters e-postadresse, fulde navn, begge eller "
 "ingen"
 
-#: src/lang.c:674
+#: src/lang.c:695
 msgid "show version information"
 msgstr "vis versioninformation"
 
-#: src/lang.c:675
+#: src/lang.c:696
 msgid "mark all articles as read and return to group selection menu"
 msgstr "marker alle artikler som lÃ¦st og returner til gruppeudvÃ¦lgelsesmenu"
 
-#: src/lang.c:676
+#: src/lang.c:697
 msgid "mark all articles as read and enter next group with unread articles"
 msgstr ""
 "marker alle artikler som lÃ¦st og gÃ¥ videre til nÃ¦ste gruppe med ulÃ¦ste "
 "artikler"
 
-#: src/lang.c:677
+#: src/lang.c:698
 msgid "choose first thread in list"
 msgstr "vÃ¦lg fÃ¸rste trÃ¥d i listen"
 
-#: src/lang.c:678
+#: src/lang.c:699
 msgid "choose last thread in list"
 msgstr "vÃ¦lg sidste trÃ¥d i listen"
 
-#: src/lang.c:679
+#: src/lang.c:700
 msgid "list articles within current thread (bring up Thread sub-menu)"
 msgstr "vis artikler indenfor aktuel trÃ¥d (hent undertrÃ¥dsmenuen frem)"
 
-#: src/lang.c:680
+#: src/lang.c:701
 msgid "mark article as unread"
 msgstr "marker artikel som ulÃ¦st"
 
-#: src/lang.c:681
+#: src/lang.c:702
 msgid "mark current thread, range or tagged threads as read"
 msgstr "marker aktuel trÃ¥d, interval eller mÃ¦rkede trÃ¥de som lÃ¦st"
 
-#: src/lang.c:682
+#: src/lang.c:703
 msgid "mark current thread, range or tagged threads as unread"
 msgstr "marker aktuel trÃ¥d, interval eller mÃ¦rkede trÃ¥de som ulÃ¦ste"
 
-#: src/lang.c:683
+#: src/lang.c:704
 msgid "mark current/range/selected/pattern/tagged as read after prompting"
 msgstr "marker aktuel/interval/valgte/mÃ¸nster/mÃ¦rkede som lÃ¦st efter anmodning"
 
-#: src/lang.c:684
+#: src/lang.c:705
 msgid "mark current/range/selected/pattern/tagged as unread after prompting"
 msgstr ""
 "marker aktuel/interval/valgte/mÃ¸nster/mÃ¦rkede som ulÃ¦ste efter anmodning"
 
-#: src/lang.c:685
+#: src/lang.c:706
 msgid "toggle display of all/selected articles"
 msgstr "slÃ¥ visning af alle/valgte artikler til/fra"
 
-#: src/lang.c:686
+#: src/lang.c:707
 msgid "display next group"
 msgstr "vis nÃ¦ste gruppe"
 
-#: src/lang.c:687
+#: src/lang.c:708
 msgid "display previous group"
 msgstr "vis forrige gruppe"
 
-#: src/lang.c:688
+#: src/lang.c:709
 msgid "toggle all selections (all articles)"
 msgstr "slÃ¥ alle valg (alle artikler) til/fra"
 
-#: src/lang.c:689
+#: src/lang.c:710
 msgid "select group (make \"hot\")"
 msgstr "vÃ¦lg gruppe (gÃ¸r Â»populÃ¦rÂ«)"
 
-#: src/lang.c:690
+#: src/lang.c:711
 msgid "select thread"
 msgstr "vÃ¦lg trÃ¥d"
 
-#: src/lang.c:691
+#: src/lang.c:712
 msgid "select threads if at least one unread article is selected"
 msgstr "vÃ¦lg trÃ¥de hvis mindst en ulÃ¦st artikel er valgt"
 
-#: src/lang.c:692
+#: src/lang.c:713
 msgid "select threads that match user specified pattern"
 msgstr "vÃ¦lg trÃ¥de som svarer til brugerangivet mÃ¸nster"
 
-#: src/lang.c:693
+#: src/lang.c:714
 msgid "0 - 9\t  choose thread by number"
 msgstr "0 - 9\t  vÃ¦lg trÃ¥d efter nummer"
 
-#: src/lang.c:694
+#: src/lang.c:715
 msgid "toggle limit number of articles to get, and reload"
 msgstr "slÃ¥ maks. antal artikler som hentes til/fra, og genindlÃ¦s"
 
-#: src/lang.c:695
+#: src/lang.c:716
 msgid "toggle display of all/unread articles"
 msgstr "slÃ¥ visning af alle/ulÃ¦ste artikler til/fra"
 
-#: src/lang.c:696
+#: src/lang.c:717
 msgid "toggle selection of thread"
 msgstr "slÃ¥ valg af trÃ¥d til/fra"
 
 # lÃ¸b igennem de tilgÃ¦ngelige trÃ¥dningstilvalg
-#: src/lang.c:697
+#: src/lang.c:718
 msgid "cycle through threading options available"
 msgstr "gennemlÃ¸b de tilgÃ¦ngelige valgmuligheder for trÃ¥dning"
 
-#: src/lang.c:698
+#: src/lang.c:719
 msgid "undo all selections (all articles)"
 msgstr "fortryd alle markeringer (alle artikler)"
 
-#: src/lang.c:699
+#: src/lang.c:720
 msgid "untag all tagged threads"
 msgstr "fjerne mÃ¦rke pÃ¥ alle mÃ¦rkede trÃ¥de"
 
-#: src/lang.c:700
+#: src/lang.c:721
 #, fuzzy
 msgid "search for articles forwards"
 msgstr "sÃ¸g efter artikler fremad efter forfatter"
 
-#: src/lang.c:701
+#: src/lang.c:722
 #, fuzzy
 msgid "search for articles backwards"
 msgstr "sÃ¸g efter artikler baglÃ¦ns efter forfatter"
 
-#: src/lang.c:702
+#: src/lang.c:723
 #, fuzzy
 msgid "toggle info message in last line (Message-ID)"
 msgstr "slÃ¥ infobesked i sidste linje til/fra (Message-ID)"
 
-#: src/lang.c:703
+#: src/lang.c:724
 #, fuzzy
 msgid "Open article by Message-ID"
 msgstr "gÃ¥ til artikel valgt efter Message-ID"
 
-#: src/lang.c:704
+#: src/lang.c:725
 msgid "add new scope"
 msgstr "tilfÃ¸j nyt virkefelt"
 
-#: src/lang.c:705
+#: src/lang.c:726
 msgid "delete scope"
 msgstr "slet virkefelt"
 
-#: src/lang.c:706
+#: src/lang.c:727
 msgid "edit attributes file"
 msgstr "rediger attributfil"
 
-#: src/lang.c:707
+#: src/lang.c:728
 msgid "choose first scope in list"
 msgstr "vÃ¦lg fÃ¸rste virkefelt i listen"
 
-#: src/lang.c:708
+#: src/lang.c:729
 msgid "0 - 9\t  choose scope by number"
 msgstr "0 - 9\t  vÃ¦lg virkefelt efter nummer"
 
-#: src/lang.c:709
+#: src/lang.c:730
 msgid "choose last scope in list"
 msgstr "vÃ¦lg sidste virkefelt i listen"
 
-#: src/lang.c:710
+#: src/lang.c:731
 msgid "move scope"
 msgstr "flyt virkefelt"
 
-#: src/lang.c:711
+#: src/lang.c:732
 msgid "rename scope"
 msgstr "omdÃ¸b virkefelt"
 
-#: src/lang.c:712
+#: src/lang.c:733
 msgid "select scope"
 msgstr "vÃ¦lg virkefelt"
 
-#: src/lang.c:713
+#: src/lang.c:734
 msgid "mark all articles in group as read"
 msgstr "marker alle artikler i gruppe som lÃ¦st"
 
-#: src/lang.c:714
+#: src/lang.c:735
 msgid "mark all articles in group as read and move to next unread group"
 msgstr "marker alle artikler i gruppe som lÃ¦st og flyt til nÃ¦ste ulÃ¦ste gruppe"
 
-#: src/lang.c:715
+#: src/lang.c:736
 msgid "choose first group in list"
 msgstr "vÃ¦lg fÃ¸rste gruppe i listen"
 
-#: src/lang.c:716
+#: src/lang.c:737
 msgid "choose group by name"
 msgstr "vÃ¦lg gruppe efter navn"
 
-#: src/lang.c:717
+#: src/lang.c:738
 msgid "0 - 9\t  choose group by number"
 msgstr "0 - 9\t  vÃ¦lg gruppe efter nummer"
 
-#: src/lang.c:718
+#: src/lang.c:739
 msgid "choose range of groups to be affected by next command"
 msgstr "vÃ¦lg omfanget af grupper der pÃ¥virkes af nÃ¦ste kommando"
 
-#: src/lang.c:719
+#: src/lang.c:740
 msgid "choose last group in list"
 msgstr "vÃ¦lg sidste gruppe i listen"
 
-#: src/lang.c:721
+#: src/lang.c:742
 msgid "list groups which an article has been posted to (by Message-ID)"
 msgstr "vis grupper som en artikel er blevet indsendt til (efter besked-id)"
 
-#: src/lang.c:722
+#: src/lang.c:743
 msgid " \t  (go to article if at least one of the groups is available)"
 msgstr " \t  (gÃ¥ til artikel hvis mindst en af grupperne er tilgÃ¦ngelig)"
 
-#: src/lang.c:724
+#: src/lang.c:745
 msgid "mark all articles in chosen group unread"
 msgstr "marker alle artikler i valgt gruppe som ulÃ¦ste"
 
-#: src/lang.c:725
+#: src/lang.c:746
 msgid "move chosen group within list"
 msgstr "flyt valgt gruppe indenfor listen"
 
-#: src/lang.c:726
+#: src/lang.c:747
 msgid "choose next group with unread news"
 msgstr "vÃ¦lg nÃ¦ste gruppe med ulÃ¦ste nyheder"
 
-#: src/lang.c:727 src/lang.c:1748
+#: src/lang.c:748 src/lang.c:1797
 msgid "quit"
 msgstr "afslut"
 
-#: src/lang.c:728
+#: src/lang.c:749
 msgid "quit without saving configuration changes"
 msgstr "afslut uden at gemme konfigurationsÃ¦ndringer"
 
-#: src/lang.c:729
+#: src/lang.c:750
 msgid "read chosen group"
 msgstr "lÃ¦s valgt gruppe"
 
-#: src/lang.c:730
+#: src/lang.c:751
 msgid "reset .newsrc (all available articles in groups marked unread)"
 msgstr "nulstil .newsrc (alle tilgÃ¦ngelige artikler i grupper markeret ulÃ¦st)"
 
-#: src/lang.c:731
+#: src/lang.c:752
 msgid "search backwards for a group name"
 msgstr "sÃ¸g baglÃ¦ns efter et gruppenavn"
 
-#: src/lang.c:732
+#: src/lang.c:753
 msgid " \t  (all searches are case-insensitive and wrap around)"
 msgstr ""
 " \t  (alle sÃ¸gninger tager ikke hÃ¸jde for smÃ¥/store bogstaver og omfang)"
 
-#: src/lang.c:733
+#: src/lang.c:754
 msgid "search forwards for a group name"
 msgstr "sÃ¸g fremad efter et gruppenavn"
 
-#: src/lang.c:734
+#: src/lang.c:755
 msgid "subscribe to chosen group"
 msgstr "abonner pÃ¥ valgt gruppe"
 
-#: src/lang.c:735
+#: src/lang.c:756
 msgid "subscribe to groups that match pattern"
 msgstr "abonner pÃ¥ grupper som stemmer overens med mÃ¸nster"
 
-#: src/lang.c:736
+#: src/lang.c:757
 msgid "reread active file to check for any new news"
 msgstr "genlÃ¦ste aktiv fil for at tjekke for nye nyheder"
 
-#: src/lang.c:737
+#: src/lang.c:758
 msgid "show NNTP[S] connection details"
 msgstr ""
 
-#: src/lang.c:738
+#: src/lang.c:759
 msgid "toggle display of group name only or group name plus description"
 msgstr ""
 "slÃ¥ visning kun af gruppenavn eller gruppenavn plus beskrivelse til/fra"
 
-#: src/lang.c:739
+#: src/lang.c:760
 msgid "toggle display to show all/unread subscribed groups"
 msgstr "slÃ¥ visning af vis alle/ulÃ¦ste abonnerede grupper til/fra"
 
-#: src/lang.c:740
+#: src/lang.c:761
 msgid "unsubscribe from chosen group"
 msgstr "fjern abonnement fra valgt gruppe"
 
-#: src/lang.c:741
+#: src/lang.c:762
 msgid "unsubscribe from groups that match pattern"
 msgstr "fjern abonnement fra grupper som matcher mÃ¸nster"
 
-#: src/lang.c:742
+#: src/lang.c:763
 msgid "sort the list of groups"
 msgstr "sorter gruppelisten"
 
-#: src/lang.c:743
+#: src/lang.c:764
 msgid "toggle display to show all/subscribed groups"
 msgstr "slÃ¥ visning af vis alle/abonnerede grupper til/fra"
 
-#: src/lang.c:744
+#: src/lang.c:765
 #, fuzzy
 msgid "tag/untag all parts of current multipart-message in order"
 msgstr "mÃ¦rk alle dele af nuvÃ¦rende flerdels-besked i rÃ¦kkefÃ¸lge"
 
-#: src/lang.c:745
+#: src/lang.c:766
 msgid "0 - 9\t  choose article by number"
 msgstr "0 - 9\t  vÃ¦lg artikel efter nummer"
 
-#: src/lang.c:746
+#: src/lang.c:767
 msgid "mark thread as read and return to group index page"
 msgstr "marker trÃ¥d som lÃ¦st og returner til gruppeindeksside"
 
-#: src/lang.c:747
+#: src/lang.c:768
 msgid "mark thread as read and enter next unread thread or group"
 msgstr "marker trÃ¥d som lÃ¦st og gÃ¥ til nÃ¦ste ulÃ¦ste trÃ¥d eller gruppe"
 
-#: src/lang.c:748
+#: src/lang.c:769
 msgid "choose first article in list"
 msgstr "vÃ¦lg fÃ¸rste artikel i listen"
 
-#: src/lang.c:749
+#: src/lang.c:770
 msgid "choose last article in list"
 msgstr "vÃ¦lg sidste artikel i listen"
 
-#: src/lang.c:750
+#: src/lang.c:771
 msgid "mark art, range or tagged arts as read; move crsr to next unread art"
 msgstr ""
 "marker artikel, interval eller mÃ¦rkede artikler som lÃ¦st; flyt markÃ¸r til "
 "nÃ¦ste ulÃ¦ste artikel"
 
-#: src/lang.c:751
+#: src/lang.c:772
 msgid "mark article, range or tagged articles as unread"
 msgstr "marker artikel, interval eller mÃ¦rkede trÃ¥de som ulÃ¦ste"
 
-#: src/lang.c:752
+#: src/lang.c:773
 msgid "mark current thread as unread"
 msgstr "marker aktuel trÃ¥d som ulÃ¦st"
 
-#: src/lang.c:753
+#: src/lang.c:774
 msgid "read chosen article"
 msgstr "lÃ¦s valgt artikel"
 
-#: src/lang.c:754
+#: src/lang.c:775
 msgid ""
 "Display properties\n"
 "------------------"
@@ -2757,7 +2841,7 @@ msgstr ""
 "Vis egenskaber\n"
 "--------------"
 
-#: src/lang.c:755
+#: src/lang.c:776
 msgid ""
 "Miscellaneous\n"
 "-------------"
@@ -2765,7 +2849,7 @@ msgstr ""
 "Diverse\n"
 "-------"
 
-#: src/lang.c:756
+#: src/lang.c:777
 msgid ""
 "Moving around\n"
 "-------------"
@@ -2773,7 +2857,7 @@ msgstr ""
 "Flytter rundt\n"
 "-------------"
 
-#: src/lang.c:757
+#: src/lang.c:778
 msgid ""
 "Group/thread/article operations\n"
 "-------------------------------"
@@ -2781,7 +2865,7 @@ msgstr ""
 "Gruppe/trÃ¥d/artikel-handlinger\n"
 "------------------------------"
 
-#: src/lang.c:758
+#: src/lang.c:779
 msgid ""
 "Attachment operations\n"
 "---------------------"
@@ -2789,7 +2873,7 @@ msgstr ""
 "VedhÃ¦ftningshandlinger\n"
 "---------------------- "
 
-#: src/lang.c:759
+#: src/lang.c:780
 msgid ""
 "Attribute operations\n"
 "--------------------"
@@ -2797,7 +2881,7 @@ msgstr ""
 "Attributhandlinger\n"
 "------------------"
 
-#: src/lang.c:760
+#: src/lang.c:781
 msgid ""
 "Option operations\n"
 "-----------------"
@@ -2805,13 +2889,13 @@ msgstr ""
 "Tilvalgshandlinger\n"
 "------------------"
 
-#: src/lang.c:761
+#: src/lang.c:782
 msgid ""
 "Posted article operations\n"
 "-------------------------"
 msgstr ""
 
-#: src/lang.c:762
+#: src/lang.c:783
 msgid ""
 "Scope operations\n"
 "----------------"
@@ -2819,7 +2903,7 @@ msgstr ""
 "Virkefeltshandlinger\n"
 "--------------------"
 
-#: src/lang.c:763
+#: src/lang.c:784
 msgid ""
 "URL operations\n"
 "--------------"
@@ -2827,100 +2911,100 @@ msgstr ""
 "URL-handlinger\n"
 "--------------"
 
-#: src/lang.c:764
+#: src/lang.c:785
 msgid "choose first URL in list"
 msgstr "vÃ¦lg fÃ¸rste URL i listen"
 
-#: src/lang.c:765
+#: src/lang.c:786
 msgid "0 - 9\t  choose URL by number"
 msgstr "0 - 9\t  vÃ¦lg URL efter nummer"
 
-#: src/lang.c:766
+#: src/lang.c:787
 msgid "choose last URL in list"
 msgstr "vÃ¦lg sidste URL i listen"
 
-#: src/lang.c:767
+#: src/lang.c:788
 msgid "search for URLs forwards"
 msgstr "sÃ¸g efter URL'er fremad"
 
-#: src/lang.c:768
+#: src/lang.c:789
 msgid "search for URLs backwards"
 msgstr "sÃ¸g efter URL'er baglÃ¦ns"
 
-#: src/lang.c:769
+#: src/lang.c:790
 msgid "Open URL in browser"
 msgstr "Ã…bn URL i browser"
 
-#: src/lang.c:770
+#: src/lang.c:791
 msgid "toggle info message in last line (URL)"
 msgstr "slÃ¥ infobesked i sidste linje til/fra (URL)"
 
-#: src/lang.c:772
+#: src/lang.c:793
 msgid "Group Level Commands"
 msgstr "Kommandoer for gruppeniveau"
 
-#: src/lang.c:773
+#: src/lang.c:794
 msgid "Kill filter added"
 msgstr "Filter for drÃ¦b tilfÃ¸jet"
 
-#: src/lang.c:774
+#: src/lang.c:795
 msgid "Auto-selection filter added"
 msgstr "Filter for automatisk markering tilfÃ¸jet"
 
-#: src/lang.c:775
+#: src/lang.c:796
 msgid "All parts tagged"
 msgstr "Alle dele mÃ¦rket"
 
-#: src/lang.c:776
+#: src/lang.c:797
 #, fuzzy
 msgid "All parts untagged"
 msgstr "Alle dele mÃ¦rket"
 
-#: src/lang.c:777
+#: src/lang.c:798
 #, c-format
 msgid "Building References-trees (%d/%d)..."
 msgstr ""
 
-#: src/lang.c:778
+#: src/lang.c:799
 msgid "Storing article for later posting"
 msgstr "Gemmer artikel for senere indsendelse"
 
-#: src/lang.c:779
+#: src/lang.c:800
 msgid "Please enter a valid character"
 msgstr "Indtast venligst et gyldigt tegn"
 
-#: src/lang.c:780
+#: src/lang.c:801
 #, c-format
 msgid "Missing part #%d"
 msgstr "Manglende del #%d"
 
-#: src/lang.c:781
+#: src/lang.c:802
 msgid "*** No postponed articles ***"
 msgstr "*** Ingen udsatte artikler ***"
 
-#: src/lang.c:782
+#: src/lang.c:803
 msgid "Not a multi-part message"
 msgstr "Ikke en besked med flere dele"
 
-#: src/lang.c:783
+#: src/lang.c:804
 msgid "You are not subscribed to this group"
 msgstr "Du er ikke abonnent pÃ¥ denne gruppe"
 
-#: src/lang.c:784
+#: src/lang.c:805
 msgid "No previous expression"
 msgstr "Ingen tidligere udtryk"
 
-#: src/lang.c:785
+#: src/lang.c:806
 msgid "Operation disabled in no-overwrite mode"
 msgstr "Handling deaktiveret i tilstanden no-overwrite (ingen-overskrivning)"
 
 #. TODO: replace hard coded key-name in txt_info_postponed
-#: src/lang.c:787
+#: src/lang.c:808
 #, c-format
 msgid "%d postponed %s, reuse with ^O...\n"
 msgstr "%d udskudt %s, genbrug med ^O...\n"
 
-#: src/lang.c:788
+#: src/lang.c:809
 msgid ""
 "X-Conversion-Note: multipart/alternative contents have been removed.\n"
 "  To get the whole article, turn alternative handling OFF in the Option "
@@ -2931,17 +3015,17 @@ msgstr ""
 "(angives\n"
 "  som OFF) i indstillingsmenuen\n"
 
-#: src/lang.c:790
+#: src/lang.c:811
 #, c-format
 msgid "Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr "Gem filnavn for %s/%s i en postkasse. VedhÃ¦ftning ikke gemt"
 
-#: src/lang.c:791
+#: src/lang.c:812
 msgid "TeX2Iso encoded article"
 msgstr "TeX2Iso-kodet artikel"
 
 #. TODO: replace hard coded key-names
-#: src/lang.c:793
+#: src/lang.c:814
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -3011,44 +3095,44 @@ msgstr ""
 "FTP-filerne.\n"
 "Send venligst fejlrapporter/kommentarer til %s med kommandoen Â»RÂ«.\n"
 
-#: src/lang.c:809
+#: src/lang.c:830
 #, c-format
-msgid "Invalid  From: %s  line. Read the INSTALL file again."
-msgstr "Ugyldig Fra: %s-linje. LÃ¦s filen INSTALL igen."
+msgid "Invalid From:-header \"%s\". Check your mail_address setting."
+msgstr ""
 
-#: src/lang.c:811
+#: src/lang.c:832
 msgid "Invalid multibyte sequence found\n"
 msgstr "Ugyldig multibyte-sekvens fundet\n"
 
-#: src/lang.c:814
+#: src/lang.c:835
 #, c-format
-msgid "Invalid  Sender:-header %s"
-msgstr "Ugyldig Afsender:-teksthoved %s"
+msgid "Invalid Sender:-header \"%s\""
+msgstr "Ugyldig Afsender:-teksthoved \"%s\""
 
-#: src/lang.c:816
+#: src/lang.c:837
 msgid "Inverse video disabled"
 msgstr "Omvendt video deaktiveret"
 
-#: src/lang.c:817
+#: src/lang.c:838
 msgid "Inverse video enabled"
 msgstr "Omvendt video aktiveret"
 
-#: src/lang.c:819
+#: src/lang.c:840
 #, c-format
 msgid "Missing definition for %s\n"
 msgstr "Mangler definition for %s\n"
 
-#: src/lang.c:820
+#: src/lang.c:841
 #, c-format
 msgid "Invalid key definition '%s'\n"
 msgstr "Ugyldig nÃ¸gledefinition '%s'\n"
 
-#: src/lang.c:821
+#: src/lang.c:842
 #, c-format
 msgid "Invalid keyname '%s'\n"
 msgstr "Ugylidg nÃ¸glenavn '%s'\n"
 
-#: src/lang.c:822
+#: src/lang.c:843
 #, c-format
 msgid "Keymap file was upgraded to version %s\n"
 msgstr "NÃ¸glekortfil blev opgraderet til version %s\n"
@@ -3056,109 +3140,109 @@ msgstr "NÃ¸glekortfil blev opgraderet ti
 # Hmm, sÃ¥ er spÃ¸rgsmÃ¥let jo sÃ¥, nÃ¥r der er sÃ¥dan et tilfÃ¦ldigt antal
 # mellemrum efter : og positionen af : skal bevares i oversÃ¦ttelsen, det
 # er svÃ¦rt at vide nÃ¥r der ikke er nogen kommentarer
-#: src/lang.c:823
+#: src/lang.c:844
 #, c-format
 msgid "Kill From:     [%s] (y/n): "
 msgstr "DrÃ¦b From:     [%s] (j/n): "
 
-#: src/lang.c:824
+#: src/lang.c:845
 msgid "Kill Lines: (</>num): "
 msgstr "DrÃ¦b linjer: (</>num): "
 
-#: src/lang.c:825
+#: src/lang.c:846
 msgid "Kill Article Menu"
 msgstr "DrÃ¦b artikelmenu"
 
-#: src/lang.c:826
+#: src/lang.c:847
 #, fuzzy, c-format
 msgid "Kill Msg-ID:   [%s] (f/l/o/n): "
 msgstr "DrÃ¦b Msg-Id:   [%s] (f/l/o/n): "
 
-#: src/lang.c:827
+#: src/lang.c:848
 msgid "Kill pattern scope  : "
 msgstr "DrÃ¦b mÃ¸nstervirkefelt  : "
 
-#: src/lang.c:828
+#: src/lang.c:849
 #, c-format
 msgid "Kill Subject:  [%s] (y/n): "
 msgstr "DrÃ¦b Subject:  [%s] (j/n): "
 
-#: src/lang.c:829
+#: src/lang.c:850
 msgid "Kill text pattern   : "
 msgstr "DrÃ¦b tekstmÃ¸nster   : "
 
-#: src/lang.c:830
+#: src/lang.c:851
 msgid "Kill time in days   : "
 msgstr "DrÃ¦b tidspunkt pÃ¥ dagen   : "
 
-#: src/lang.c:832
+#: src/lang.c:853
 msgid "Last"
 msgstr "Sidste"
 
-#: src/lang.c:833
+#: src/lang.c:854
 msgid "-- Last response --"
 msgstr "-- Sidste svar --"
 
-#: src/lang.c:834
+#: src/lang.c:855
 #, c-format
 msgid "Lines %s  "
 msgstr "Linjer %s  "
 
-#: src/lang.c:840
+#: src/lang.c:861
 msgid "Function not available."
 msgstr "Funktionen er ikke tilgÃ¦ngelig."
 
-#: src/lang.c:841
+#: src/lang.c:862
 msgid "Not reading via NNTP."
 msgstr "LÃ¦ser ikke via NNTP."
 
-#: src/lang.c:843
+#: src/lang.c:864
 #, c-format
 msgid "Group: %s"
 msgstr "Gruppe: %s"
 
-#: src/lang.c:844
+#: src/lang.c:865
 #, c-format
 msgid "Groups: %s"
 msgstr "Grupper: %s"
 
-#: src/lang.c:847
+#: src/lang.c:868
 msgid "Mail"
 msgstr "Post"
 
-#: src/lang.c:848
+#: src/lang.c:869
 msgid "mailbox "
 msgstr "postkasse "
 
-#: src/lang.c:849
+#: src/lang.c:870
 #, c-format
 msgid "Mail article(s) to [%.*s]> "
 msgstr "Send artikel(er) til [%.*s]> "
 
-#: src/lang.c:850
+#: src/lang.c:871
 #, c-format
 msgid "Mailing log to %s\n"
 msgstr "Sender log til %s\n"
 
-#: src/lang.c:851
+#: src/lang.c:872
 msgid "Mail bug report..."
 msgstr "Send fejlrapport ..."
 
-#: src/lang.c:852
+#: src/lang.c:873
 #, c-format
 msgid "Mail BUG REPORT to %s?"
 msgstr "Send FEJLRAPPORT til %s?"
 
-#: src/lang.c:853
+#: src/lang.c:874
 msgid "Mailed"
 msgstr "Sendt"
 
-#: src/lang.c:854
+#: src/lang.c:875
 #, c-format
 msgid "Mailing to %s..."
 msgstr "Sender til %s ..."
 
-#: src/lang.c:855
+#: src/lang.c:876
 msgid ""
 "# [Mail/Save] active file. Format is like news active file:\n"
 "#   groupname  max.artnum  min.artnum  /dir\n"
@@ -3170,62 +3254,62 @@ msgstr ""
 "# Det 4. felt er basismappen (dvs. ~/Mail eller ~/News)\n"
 "#\n"
 
-#: src/lang.c:858
+#: src/lang.c:879
 #, c-format
 msgid "%s marked as read"
 msgstr "%s markeret som lÃ¦st"
 
-#: src/lang.c:859
+#: src/lang.c:880
 #, c-format
 msgid "%s marked as unread"
 msgstr "%s markeret som ulÃ¦st"
 
-#: src/lang.c:860
+#: src/lang.c:881
 #, c-format
 msgid "Marked %d of %d %s as read"
 msgstr "Markerede %d af %d %s som lÃ¦st"
 
-#: src/lang.c:861
+#: src/lang.c:882
 #, c-format
 msgid "Marked %d of %d %s as unread"
 msgstr "Markerede %d af %d %s som ulÃ¦ste"
 
-#: src/lang.c:862 src/lang.c:1704
+#: src/lang.c:883 src/lang.c:1753
 msgid "Mark"
 msgstr "Marker"
 
-#: src/lang.c:863
+#: src/lang.c:884
 #, c-format
 msgid "Mark all articles as read%s?"
 msgstr "Marker alle artikler som lÃ¦st%s?"
 
-#: src/lang.c:864
+#: src/lang.c:885
 #, c-format
 msgid "Mark article as read%s?"
 msgstr "Marker alle artikler som lÃ¦st%s?"
 
-#: src/lang.c:865
+#: src/lang.c:886
 #, c-format
 msgid "Mark group %s as read?"
 msgstr "Marker gruppe %s som lÃ¦st?"
 
-#: src/lang.c:866
+#: src/lang.c:887
 #, c-format
 msgid "Mark thread as read%s?"
 msgstr "Marker trÃ¥d som lÃ¦st%s"
 
-#: src/lang.c:867
+#: src/lang.c:888
 #, c-format
 msgid "Matching %s groups..."
 msgstr "Sammenligner %s grupper ..."
 
-#: src/lang.c:868 src/lang.c:881 src/lang.c:884 src/lang.c:890
+#: src/lang.c:889 src/lang.c:902 src/lang.c:905 src/lang.c:911
 #, c-format
 msgid "<n>=set current to n; %s=line down; %s=line up; %s=help; %s=quit"
 msgstr ""
 "<n>=angiv nuvÃ¦rende som n; %s=linje ned; %s=linje op; %s=hjÃ¦lp; %s=afslut"
 
-#: src/lang.c:870
+#: src/lang.c:891
 #, c-format
 msgid ""
 "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all"
@@ -3233,24 +3317,24 @@ msgstr ""
 "%s=vis; %s=datakanal; %s=datakanal rÃ¥; %s=gem; %s=mÃ¦rke; %s=mÃ¦rkemÃ¸nster; "
 "%s=fjern mÃ¦rke for alle"
 
-#: src/lang.c:872
+#: src/lang.c:893
 #, c-format
 msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr "%s=vis; %s=gem; %s=mÃ¦rke; %s=mÃ¦rkemÃ¸nster; %s=fjern mÃ¦rke for alle"
 
-#: src/lang.c:874
+#: src/lang.c:895
 #, c-format
 msgid ""
 "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search"
 msgstr "%s=vend mÃ¦rkning om; %s=sÃ¸g fremad; %s=sÃ¸g bagud; %s=gentag sÃ¸g"
 
-#: src/lang.c:875 src/lang.c:879
+#: src/lang.c:896 src/lang.c:900
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=search pattern; %s=kill/select"
 msgstr ""
 "<n>=angiv nuvÃ¦rende som n; %s=nÃ¦ste ulÃ¦st; %s=sÃ¸gemÃ¸nster; %s=drÃ¦b/vÃ¦lg"
 
-#: src/lang.c:876
+#: src/lang.c:897
 #, c-format
 msgid ""
 "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; "
@@ -3259,40 +3343,40 @@ msgstr ""
 "%s=forfattersÃ¸gning; %s=opsamling; %s=linje ned; %s=linje op; %s=marker som "
 "lÃ¦st; %s=vis trÃ¥d"
 
-#: src/lang.c:877
+#: src/lang.c:898
 #, c-format
 msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"
 msgstr "%s=linje op; %s=linje ned; %s=side op; %s=side ned; %s=top; %s=bund"
 
-#: src/lang.c:878
+#: src/lang.c:899
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=quit"
 msgstr "%s=sÃ¸g fremad; %s=sÃ¸g bagud; %s=afslut"
 
-#: src/lang.c:880
+#: src/lang.c:901
 #, c-format
 msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr ""
 "%s=forfattersÃ¸gning; %s=indholdssÃ¸gning; %s=opsamling; %s=opfÃ¸lgning; "
 "%s=marker som lÃ¦st"
 
-#: src/lang.c:882 src/lang.c:891
+#: src/lang.c:903 src/lang.c:912
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=repeat search"
 msgstr "%s=sÃ¸g fremad; %s=sÃ¸g bagud; %s=gentag sÃ¸g"
 
-#: src/lang.c:883
+#: src/lang.c:904
 #, c-format
 msgid "%s=add; %s=move; %s=rename; %s=delete"
 msgstr "%s=tilfÃ¸j; %s=flyt; %s=omdÃ¸b; %s=slet"
 
-#: src/lang.c:885
+#: src/lang.c:906
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr ""
 "<n>=angiv nuvÃ¦rende som n; %s=nÃ¦ste ulÃ¦st; %s,%s=sÃ¸gemÃ¸nster; %s=opsamling"
 
-#: src/lang.c:886
+#: src/lang.c:907
 #, c-format
 msgid ""
 "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
@@ -3300,7 +3384,7 @@ msgstr ""
 "%s=linje ned; %s=linje op; %s=hjÃ¦lp; %s=flyt; %s=afslut; %s=slÃ¥ alle/ulÃ¦ste "
 "til/fra"
 
-#: src/lang.c:887
+#: src/lang.c:908
 #, c-format
 msgid ""
 "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/"
@@ -3309,233 +3393,235 @@ msgstr ""
 "%s=abonner; %s=undermÃ¸nster; %s=slut abonnement; %s=fjern undermÃ¸nster; "
 "%s=ryk ind/ud"
 
-#: src/lang.c:888
+#: src/lang.c:909
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr ""
 "<n>=angiv nuvÃ¦rende til n; %s=nÃ¦ste ulÃ¦st; %s=opsamling; %s=vis slÃ¥ til/fra"
 
-#: src/lang.c:889
+#: src/lang.c:910
 #, c-format
 msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"
 msgstr ""
 "%s=hjÃ¦lp; %s=linje ned; %s=linje op; %s=afslut; %s=mÃ¦rke; %s=marker ulÃ¦st"
 
-#: src/lang.c:892
+#: src/lang.c:913
 msgid "--More--"
 msgstr "--Mere--"
 
 # noget bud?
-#: src/lang.c:894
+#: src/lang.c:915
 #, c-format
 msgid "MOTD: %s\n"
 msgstr "MOTD: %s\n"
 
-#: src/lang.c:896
+#: src/lang.c:917
 #, c-format
 msgid "Moving %s..."
 msgstr "Flytter %s ..."
 
-#: src/lang.c:897
+#: src/lang.c:918
 msgid "Message-ID: & last Reference  "
 msgstr "Message-ID: og sidste reference "
 
-#: src/lang.c:898
+#: src/lang.c:919
 msgid "Message-ID: line              "
 msgstr "Message-ID: linje               "
 
-#: src/lang.c:899
+#: src/lang.c:920
 msgid "Message-ID: & References: line"
 msgstr "Message-ID: og References: linje"
 
-#: src/lang.c:901
+#: src/lang.c:922
 #, c-format
 msgid "Go to newsgroup [%s]> "
 msgstr "GÃ¥ til nyhedsgruppe [%s]> "
 
-#: src/lang.c:902
+#: src/lang.c:923
 msgid "newsgroups"
 msgstr "nyhedsgrupper"
 
-#: src/lang.c:903
+#: src/lang.c:924
 #, c-format
 msgid "Position %s in group list (1,2,..,$) [%d]> "
 msgstr "Position %s i gruppeliste (1,2,..,$) [%d]> "
 
-#: src/lang.c:904
+#: src/lang.c:925
 msgid "newsgroup"
 msgstr "nyhedsgruppe"
 
-#: src/lang.c:905
+#: src/lang.c:926
 msgid "Try and save newsrc file again?"
 msgstr "ForsÃ¸g at gemme newsrc-fil igen?"
 
-#: src/lang.c:906
-msgid "Warning: No newsgroups were written to your newsrc file. Save aborted."
+#: src/lang.c:927
+#, fuzzy, c-format
+msgid "Warning: No groups written to your %s file. Save aborted."
 msgstr ""
 "Advarsel: Ingen nyhedsgrupper blev skrevet til din newsrc-fil. Afbrudt."
 
-#: src/lang.c:907
-msgid "newsrc file saved successfully.\n"
+#: src/lang.c:928
+#, fuzzy, c-format
+msgid "%s file saved successfully.\n"
 msgstr "newsrc-fil blev gemt.\n"
 
-#: src/lang.c:908
+#: src/lang.c:929
 msgid "-- Next response --"
 msgstr "-- NÃ¦ste svar --"
 
-#: src/lang.c:909
+#: src/lang.c:930
 msgid "No  "
 msgstr "Nej "
 
-#: src/lang.c:910
+#: src/lang.c:931
 msgid "*** No articles ***"
 msgstr "*** Ingen artikler ***"
 
-#: src/lang.c:911
+#: src/lang.c:932
 msgid "No articles have been posted"
 msgstr "Ingen artikler er udgivet"
 
-#: src/lang.c:912
+#: src/lang.c:933
 msgid "*** No attachments ***"
 msgstr "*** Ingen vedhÃ¦ftninger ***"
 
-#: src/lang.c:913
+#: src/lang.c:934
 msgid "*** No description ***"
 msgstr "*** Ingen beskrivelse ***"
 
-#: src/lang.c:914
+#: src/lang.c:935
 msgid "No filename"
 msgstr "Intet filnavn"
 
-#: src/lang.c:915
+#: src/lang.c:936
 msgid "No group"
 msgstr "Ingen gruppe"
 
-#: src/lang.c:916
+#: src/lang.c:937
 msgid "*** No groups ***"
 msgstr "*** Ingen grupper ***"
 
-#: src/lang.c:917
+#: src/lang.c:938
 msgid "No more groups to read"
 msgstr "Ikke flere grupper der kan lÃ¦ses"
 
-#: src/lang.c:918
+#: src/lang.c:939
 msgid "No last message"
 msgstr "Ingen sidste besked"
 
-#: src/lang.c:919
+#: src/lang.c:940
 msgid "No mail address"
 msgstr "Ingen e-postadresse"
 
-#: src/lang.c:920
+#: src/lang.c:941
 msgid "No articles marked for saving"
 msgstr "Ingen artikler markeret til gemning"
 
-#: src/lang.c:921
+#: src/lang.c:942
 msgid "No match"
 msgstr "Intet resultat"
 
-#: src/lang.c:922
+#: src/lang.c:943
 msgid "No more groups"
 msgstr "Ikke flere grupper"
 
-#: src/lang.c:923
+#: src/lang.c:944
 msgid "No newsgroups"
 msgstr "Ingen nyhedsgrupper"
 
-#: src/lang.c:924
+#: src/lang.c:945
 msgid "No next unread article"
 msgstr "Ingen nÃ¦ste ulÃ¦st artikel"
 
-#: src/lang.c:925
+#: src/lang.c:946
 msgid "No previous group"
 msgstr "Ingen forrige gruppe"
 
-#: src/lang.c:926
+#: src/lang.c:947
 msgid "No previous search, nothing to repeat"
 msgstr "Ingen tidligere sÃ¸gning, intet at gentage"
 
-#: src/lang.c:927
+#: src/lang.c:948
 msgid "No previous unread article"
 msgstr "Ingen forrige ulÃ¦st artikel"
 
-#: src/lang.c:928
+#: src/lang.c:949
 msgid "No responses"
 msgstr "Ingen svar"
 
-#: src/lang.c:929
+#: src/lang.c:950
 msgid "No responses to list in current thread"
 msgstr "Ingen svar at vise i aktuel trÃ¥d"
 
-#: src/lang.c:930
+#: src/lang.c:951
 msgid "*** No scopes ***"
 msgstr "*** Ingen virkefelter ***"
 
-#: src/lang.c:931
+#: src/lang.c:952
 msgid "No search string"
 msgstr "Ingen sÃ¸gestreng"
 
-#: src/lang.c:932
+#: src/lang.c:953
 msgid "No subject"
 msgstr "Intet emne"
 
-#: src/lang.c:934
+#: src/lang.c:955
 #, c-format
 msgid "%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr "%s: Terminal skal have en ryd til linjeafslutning (ce)\n"
 
-#: src/lang.c:935
+#: src/lang.c:956
 #, c-format
 msgid "%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr "%s: Terminal skal have en ryd til slut pÃ¥ skÃ¦rm (cd)\n"
 
-#: src/lang.c:936
+#: src/lang.c:957
 #, c-format
 msgid "%s: Terminal must have clearscreen (cl) capability\n"
 msgstr "%s: Terminal skal have ryd skÃ¦rm-funktionalitet (cl)\n"
 
-#: src/lang.c:937
+#: src/lang.c:958
 #, c-format
 msgid "%s: Terminal must have cursor motion (cm)\n"
 msgstr "%s: Terminal skal have markÃ¸rbevÃ¦gelse (cm)\n"
 
-#: src/lang.c:938
+#: src/lang.c:959
 #, c-format
 msgid "%s: TERM variable must be set to use screen capabilities\n"
 msgstr "%s: TERM-variabel skal vÃ¦re angivet for at bruge skÃ¦rmfunktioner\n"
 
-#: src/lang.c:940
+#: src/lang.c:961
 #, c-format
 msgid "No viewer found for %s/%s\n"
 msgstr "Ingen fremviser fundet for %s/%s\n"
 
-#: src/lang.c:941 src/lang.c:1616 src/lang.c:1644 src/lang.c:1935
+#: src/lang.c:962 src/lang.c:1665 src/lang.c:1693 src/lang.c:1991
 msgid "None"
 msgstr "Ingen"
 
-#: src/lang.c:942
+#: src/lang.c:963
 msgid "Newsgroup does not exist on this server"
 msgstr "Nyhedsgruppe eksisterer ikke pÃ¥ denne server"
 
-#: src/lang.c:943
+#: src/lang.c:964
 #, c-format
 msgid "Group %s not found in active file"
 msgstr "Gruppe %s blev ikke fundet i aktiv fil"
 
 # tysk bruger = ("c=erzeuge, a=alternativer Name, d=voreingestellte .newsrc, q=beende tin: ")
 # det var ogsÃ¥ en mulighed, mÃ¥ske bedre=?
-#: src/lang.c:944
+#: src/lang.c:966
 msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr ""
 "opret (c) den, brug et alternativt (a) navn, brug standarden (d) .newsrc, "
 "afslut (q) tin: "
 
-#: src/lang.c:945
+#: src/lang.c:967
 msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr ""
 "brug alternativt (a) navn, brug standarden (d) .newsrc, afslut (a) tin: "
 
-#: src/lang.c:946
+#: src/lang.c:968
 #, c-format
 msgid ""
 "# NNTP-server -> newsrc translation table and NNTP-server\n"
@@ -3563,48 +3649,48 @@ msgstr ""
 "#   news.tin.org      .newsrc-tin.org  tinorg\n"
 "#   news.example.org  /tmp/nrc-ex      eksempel   ex\n"
 
-#: src/lang.c:952
+#: src/lang.c:975
 msgid "NULL"
 msgstr "NULL"
 
-#: src/lang.c:954
+#: src/lang.c:977
 msgid "Only"
 msgstr "Kun"
 
-#: src/lang.c:955
-#, c-format
-msgid "Option not enabled. Recompile with %s."
-msgstr "Indstilling ikke slÃ¥et til. Rekompiler med %s."
-
-#: src/lang.c:956
+#: src/lang.c:979
 msgid "Options Menu"
 msgstr "Indstillingsmenu"
 
-#: src/lang.c:957
+#: src/lang.c:980
 msgid "Options Menu Commands"
 msgstr "Kommandoer for indstillingsmenu"
 
-#: src/lang.c:960
+#: src/lang.c:981
+#, fuzzy, c-format
+msgid "Option not enabled. Recompile with %s.%s\n"
+msgstr "Indstilling ikke slÃ¥et til. Rekompiler med %s.%s\n"
+
+#: src/lang.c:984
 #, c-format
 msgid "Error in regex: %s at pos. %d '%s'"
 msgstr "Fejl i regulÃ¦rt udtryk: %s ved pos. %d Â»%sÂ«"
 
-#: src/lang.c:961
+#: src/lang.c:985
 #, c-format
 msgid "Error in regex: pcre internal error %d"
 msgstr "Fejl i regulÃ¦rt udtryk: intern fejl i pcre %d"
 
-#: src/lang.c:963
+#: src/lang.c:987
 #, c-format
 msgid "Error in regex: study - pcre internal error %s"
 msgstr "Fejl i regulÃ¦rt udtryk: study - prcre-intern fejl %s"
 
-#: src/lang.c:965
+#: src/lang.c:989
 msgid "Post a followup..."
 msgstr "Indsend en opfÃ¸lgning ..."
 
 #. TODO: replace hard coded key-name in txt_post_error_ask_postpone
-#: src/lang.c:967
+#: src/lang.c:991
 msgid ""
 "An error has occurred while posting the article. If you think that this\n"
 "error is temporary or otherwise correctable, you can postpone the article\n"
@@ -3614,49 +3700,49 @@ msgstr ""
 "denne fejl er midlertidig eller pÃ¥ anden mÃ¥de kan rettes, sÃ¥ kan du\n"
 "udsÃ¦tte artiklen og samle den op igen senere med ^O senere.\n"
 
-#: src/lang.c:970
+#: src/lang.c:994
 msgid "Posted articles history"
 msgstr "Historik for indsendte artikler"
 
-#: src/lang.c:971
+#: src/lang.c:995
 #, fuzzy
 msgid "Posted Articles Menu Commands"
 msgstr "Kommandoer for attributmenu"
 
-#: src/lang.c:972
+#: src/lang.c:996
 msgid "Lookup failed"
 msgstr ""
 
 # gÃ¥ tilbage til
-#: src/lang.c:973
+#: src/lang.c:997
 #, fuzzy
 msgid "Operation not available for replies by mail"
 msgstr "returner til gruppeudvÃ¦lgelsesniveau"
 
-#: src/lang.c:974
+#: src/lang.c:998
 #, fuzzy
 msgid "Already in posted articles history level"
 msgstr "Historik for indsendte artikler"
 
-#: src/lang.c:975
+#: src/lang.c:999
 #, c-format
 msgid "Post to newsgroup(s) [%s]> "
 msgstr "Send til nyhedsgruppe(r) [%s]> "
 
-#: src/lang.c:976
+#: src/lang.c:1000
 msgid "-- post processing started --"
 msgstr "-- efterbehandling startet --"
 
-#: src/lang.c:977
+#: src/lang.c:1001
 msgid "-- post processing completed --"
 msgstr "-- efterbehandling fÃ¦rdig --"
 
-#: src/lang.c:978
+#: src/lang.c:1002
 #, c-format
 msgid "Post subject [%s]> "
 msgstr "Send emne [%s]> "
 
-#: src/lang.c:979
+#: src/lang.c:1003
 msgid ""
 "# Summary of mailed/posted messages viewable by 'W' command from within "
 "tin.\n"
@@ -3664,297 +3750,300 @@ msgstr ""
 "# Oversigt over sendte/indsendte beskeder kan ses med kommandoen Â»WÂ« inden "
 "fra tin.\n"
 
-#: src/lang.c:980
+#: src/lang.c:1004
 msgid "Posting article..."
 msgstr "Sender artikel ..."
 
-#: src/lang.c:982
+#: src/lang.c:1006
 #, fuzzy, c-format
 msgid "Posting failed (%s)"
 msgstr "Sender artikel ..."
 
-#: src/lang.c:984
+#: src/lang.c:1008
 #, c-format
 msgid "Posting: %.*s ..."
 msgstr "Indsender: %.*s ..."
 
-#: src/lang.c:985
+#: src/lang.c:1009
 #, c-format
 msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 msgstr "Send udsatte artikler [%%s]? (%s/%s/%s/%s/%s): "
 
-#: src/lang.c:986
+#: src/lang.c:1010
 #, c-format
 msgid "Hot %s"
 msgstr "PopulÃ¦r %s"
 
-#: src/lang.c:987
+#: src/lang.c:1011
 #, c-format
 msgid "Tagged %s"
 msgstr "MÃ¦rket %s"
 
-#: src/lang.c:988
+#: src/lang.c:1012
 #, c-format
 msgid "Untagged %s"
 msgstr "Uden mÃ¦rke %s"
 
-#: src/lang.c:990
+#: src/lang.c:1014
 #, c-format
 msgid "Preparing for filtering on Path header (%d/%d)..."
 msgstr ""
 
-#: src/lang.c:992
+#: src/lang.c:1016
 #, fuzzy
 msgid "Processing attributes..."
 msgstr "Behandler attributter ... "
 
-#: src/lang.c:993
+#: src/lang.c:1017
 msgid "Processing mail messages marked for deletion."
 msgstr "Behandler postbeskeder markeret for sletning."
 
-#: src/lang.c:994
+#: src/lang.c:1018
 msgid "Processing saved articles marked for deletion."
 msgstr "Behandler gemte artikler markeret for sletning."
 
-#: src/lang.c:995
+#: src/lang.c:1019
 #, c-format
 msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr "Accepter Followup-To? %s=post, %s=ignore, %s=quit: "
 
-#: src/lang.c:996
+#: src/lang.c:1020
 msgid "Article unchanged, abort mailing?"
 msgstr "Artikel uÃ¦ndret, afbryd postleverance"
 
-#: src/lang.c:997
+#: src/lang.c:1021
 #, c-format
 msgid "Do you want to see postponed articles (%d)?"
 msgstr "Ã˜nsker du at se udsatte artikler (%d)?"
 
-#: src/lang.c:999
+#: src/lang.c:1023
 msgid "Add quick kill filter?"
 msgstr "TilfÃ¸j filter for hurtig drÃ¦b"
 
-#: src/lang.c:1000
+#: src/lang.c:1024
 msgid "Add quick selection filter?"
 msgstr "TilfÃ¸j filter for hurtig markering"
 
-#: src/lang.c:1001
+#: src/lang.c:1025
 msgid "Do you really want to quit?"
 msgstr "Ã˜nsker du at afslutte?"
 
-#: src/lang.c:1002
+#: src/lang.c:1026
 #, c-format
 msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr "%s=rediger afbrydbesked, %s=afslut, %s=slet (afbryd) [%%s]: "
 
-#: src/lang.c:1003
+#: src/lang.c:1027
 msgid "You have tagged articles in this group - quit anyway?"
 msgstr "Du har mÃ¦rkede artikler i denne gruppe - afslut alligevel?"
 
-#: src/lang.c:1004
+#: src/lang.c:1028
 #, c-format
 msgid "%s=quit, %s=edit, %s=postpone: "
 msgstr "%s=afslut, %s=rediger, %s=udsÃ¦t: "
 
-#: src/lang.c:1005
+#: src/lang.c:1029
 #, fuzzy, c-format
 msgid "%s=quit, %s=edit, %s=save kill description: "
 msgstr "%s=afslut, %s=rediger, %s=gem drÃ¦bbeskrivelse: "
 
-#: src/lang.c:1006
+#: src/lang.c:1030
 #, fuzzy, c-format
 msgid "%s=quit, %s=edit, %s=save select description: "
 msgstr "%s=afslut, %s=rediger, %s=gem beskrivelse af vÃ¦lg: "
 
-#: src/lang.c:1007
+#: src/lang.c:1031
 msgid "Do you really want to quit without saving your configuration?"
 msgstr "Ã˜nsker du virkelig at afslutte uden at gemme din konfiguration?"
 
-#: src/lang.c:1010
+#: src/lang.c:1033
 msgid "Invalid range - valid are '0-9.$' e.g. 1-$"
 msgstr "Ugyldigt interval - '0-9.$' f.eks. 1-$ er gyldige"
 
-#: src/lang.c:1012
+#: src/lang.c:1035
 msgid "Do you want to abort this operation?"
 msgstr "Ã˜nsker du at afbryde denne handling?"
 
-#: src/lang.c:1013
+#: src/lang.c:1036
 msgid "Do you want to exit tin immediately?"
 msgstr "Ã˜nsker du Ã¸jeblikkeligt at afslutte tin?"
 
-#: src/lang.c:1015
+#: src/lang.c:1038
 msgid "Reading ('q' to quit)..."
 msgstr "LÃ¦ser ('q' for afslut) ..."
 
-#: src/lang.c:1016
+#: src/lang.c:1039
 #, fuzzy, c-format
 msgid "Reading %s articles..."
 msgstr "LÃ¦ser %s artikler ..."
 
-#: src/lang.c:1017
-#, c-format
-msgid "Reading %sattributes file...\n"
-msgstr "LÃ¦ser %sattributfil ...\n"
+#: src/lang.c:1040
+#, fuzzy, c-format
+msgid "Reading %sattributes file: %s\n"
+msgstr "LÃ¦ser %sattributfil: %s\n"
 
-#: src/lang.c:1018
-#, c-format
-msgid "Reading %sconfig file...\n"
-msgstr "LÃ¦ser %skonfigurationsfil ...\n"
+#: src/lang.c:1041
+#, fuzzy, c-format
+msgid "Reading %sconfig file: %s\n"
+msgstr "LÃ¦ser %skonfigurationsfil: %s\n"
 
-#: src/lang.c:1019
-msgid "Reading filter file...\n"
-msgstr "LÃ¦ser filterfil ...\n"
+#: src/lang.c:1042
+#, fuzzy, c-format
+msgid "Reading filter file: %s\n"
+msgstr "LÃ¦ser filterfil: %s\n"
 
-#: src/lang.c:1021
+#: src/lang.c:1044
 msgid "reading from local spool"
 msgstr "lÃ¦ser fra lokal kÃ¸"
 
-#: src/lang.c:1023
+#: src/lang.c:1046
 #, fuzzy, c-format
 msgid "Reading %s\n"
 msgstr "LÃ¦ser %s\n"
 
-#: src/lang.c:1024
+#: src/lang.c:1047
 #, c-format
 msgid "Reading %s groups..."
 msgstr "LÃ¦ser %s grupper ..."
 
-#: src/lang.c:1025
-msgid "Reading input history file...\n"
-msgstr "LÃ¦ser inddatahistorikfil ...\n"
+#: src/lang.c:1048
+#, fuzzy, c-format
+msgid "Reading input history file: %s\n"
+msgstr "LÃ¦ser inddatahistorikfil: %s\n"
 
-#: src/lang.c:1026
+#: src/lang.c:1049
 #, fuzzy, c-format
 msgid "Reading keymap file: %s\n"
 msgstr "LÃ¦ser tastaturkortfil : %s\n"
 
-#: src/lang.c:1027
+#: src/lang.c:1050
 msgid "Reading groups from active file... "
 msgstr "LÃ¦ser grupper fra aktiv fil ... "
 
-#: src/lang.c:1028
+#: src/lang.c:1051
 msgid "Reading groups from newsrc file... "
 msgstr "LÃ¦ser grupper fra newsrc-fil ... "
 
-#: src/lang.c:1029
+#: src/lang.c:1052
 msgid "Reading newsgroups file... "
 msgstr "LÃ¦ser fil med nyhedsgrupper ... "
 
-#: src/lang.c:1030
-msgid "Reading newsrc file..."
-msgstr "LÃ¦ser newsrc-fil ..."
+#: src/lang.c:1053
+#, fuzzy, c-format
+msgid "Reading newsrc file: %s"
+msgstr "LÃ¦ser newsrc-fil: %s"
 
-#: src/lang.c:1031
+#: src/lang.c:1054
 msgid "References: line              "
 msgstr "References: linje             "
 
-#: src/lang.c:1033
+#: src/lang.c:1056
 #, c-format
 msgid "(%d:%02d remaining)"
 msgstr "(%d:%02d igen)"
 
-#: src/lang.c:1035
+#: src/lang.c:1058
 #, c-format
 msgid "Bogus group %s removed."
 msgstr "FejlbehÃ¦ftet gruppe %s fjernet."
 
-#: src/lang.c:1036
+#: src/lang.c:1059
 #, fuzzy
 msgid "Removed from this rule: "
 msgstr "Fjernet fra den forrige regel: "
 
-#: src/lang.c:1037
+#: src/lang.c:1060
 #, c-format
 msgid "Error: rename %s to %s"
 msgstr "Fejl: OmdÃ¸b %s til %s"
 
-#: src/lang.c:1038
+#: src/lang.c:1061
 msgid "Reply to author..."
 msgstr "Svar til forfatter..."
 
-#: src/lang.c:1039
+#: src/lang.c:1062
 msgid "Repost"
 msgstr "Gensend"
 
-#: src/lang.c:1040
+#: src/lang.c:1063
 msgid "Reposting article..."
 msgstr "Genindsender artikel..."
 
-#: src/lang.c:1041
+#: src/lang.c:1064
 #, c-format
 msgid "Repost article(s) to group(s) [%s]> "
 msgstr "Gensend artikler til grupper [%s]> "
 
-#: src/lang.c:1042
+#: src/lang.c:1065
 msgid "Reset newsrc?"
 msgstr "Nulstil newsrc?"
 
-#: src/lang.c:1043
+#: src/lang.c:1066
 msgid "Responses have been directed to the following newsgroups"
 msgstr "Svar er blevet sendt til de fÃ¸lgende nyhedsgrupper"
 
-#: src/lang.c:1044
+#: src/lang.c:1067
 #, c-format
 msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr "Svar er blevet sendt til indsender. %s=post, %s=indsend, %s=afslut: "
 
-#: src/lang.c:1045
+#: src/lang.c:1068
 msgid "Press <RETURN> to continue..."
 msgstr "Tast <RETUR> for at fortsÃ¦tte ..."
 
-#: src/lang.c:1047
+#: src/lang.c:1070
 #, c-format
 msgid "Score: %s"
 msgstr ""
 
-#: src/lang.c:1048
+#: src/lang.c:1071
 #, c-format
 msgid "Select From    [%s] (y/n): "
 msgstr "VÃ¦lg fra       [%s] (y/n): "
 
-#: src/lang.c:1049
+#: src/lang.c:1072
 msgid "Select Lines: (</>num): "
 msgstr "VÃ¦lg linjer: (</>num): "
 
-#: src/lang.c:1050
+#: src/lang.c:1073
 msgid "Auto-select Article Menu"
 msgstr "VÃ¦lg automatisk artikelmenu"
 
-#: src/lang.c:1051
+#: src/lang.c:1074
 #, fuzzy, c-format
 msgid "Select Msg-ID  [%s] (f/l/o/n): "
 msgstr "VÃ¦lg Msg-Id  [%s] (f/l/o/n): "
 
-#: src/lang.c:1052
+#: src/lang.c:1075
 msgid "Select pattern scope: "
 msgstr "VÃ¦lg mÃ¸nstervirkefelt: "
 
-#: src/lang.c:1053
+#: src/lang.c:1076
 #, c-format
 msgid "Select Subject [%s] (y/n): "
 msgstr "VÃ¦lg emne [%s] (y/n): "
 
-#: src/lang.c:1054
+#: src/lang.c:1077
 msgid "Select text pattern : "
 msgstr "VÃ¦lg tekstmÃ¸nster   : "
 
-#: src/lang.c:1055
+#: src/lang.c:1078
 msgid "Select time in days   : "
 msgstr "VÃ¦lg tid i dage       : "
 
-#: src/lang.c:1056
+#: src/lang.c:1079
 msgid "[k]"
 msgstr ""
 
-#: src/lang.c:1057
+#: src/lang.c:1080
 msgid "[T]"
 msgstr ""
 
-#: src/lang.c:1058
+#: src/lang.c:1081
 msgid " R"
 msgstr ""
 
-#: src/lang.c:1059
+#: src/lang.c:1082
 #, c-format
 msgid ""
 "# %s server configuration file\n"
@@ -3975,54 +4064,54 @@ msgstr ""
 "############################################################################\n"
 "\n"
 
-#: src/lang.c:1065
+#: src/lang.c:1088
 msgid "Showing unread groups only"
 msgstr "Vis kun ulÃ¦ste grupper"
 
-#: src/lang.c:1066
+#: src/lang.c:1089
 msgid "Subject: line (ignore case)   "
 msgstr "Subject: linje (ignorer versaler)"
 
-#: src/lang.c:1067
+#: src/lang.c:1090
 msgid "Subject: line (case sensitive)"
 msgstr "Subject: linje (versalfÃ¸lsom)"
 
-#: src/lang.c:1068
+#: src/lang.c:1091
 msgid "Save"
 msgstr "Gem"
 
-#: src/lang.c:1069
+#: src/lang.c:1092
 #, c-format
 msgid "Save '%s' (%s/%s)?"
 msgstr "Gem Â»%sÂ« (%s/%s)?"
 
-#: src/lang.c:1070
+#: src/lang.c:1093
 msgid "Save configuration before continuing?"
 msgstr "Gem konfiguration fÃ¸r du fortsÃ¦tter?"
 
-#: src/lang.c:1071
+#: src/lang.c:1094
 msgid "Save filename> "
 msgstr "Gem filnavn> "
 
-#: src/lang.c:1072
+#: src/lang.c:1095
 msgid "Saved"
 msgstr "Gemt"
 
-#: src/lang.c:1073
-#, c-format
-msgid "%4d unread (%4d hot) %s in %s\n"
-msgstr "%4d ulÃ¦st (%4d populÃ¦r) %s i %s\n"
+#: src/lang.c:1096
+#, fuzzy, c-format
+msgid "%s unread (%s hot) %s in %s\n"
+msgstr "%s ulÃ¦st (%s populÃ¦r) %s i %s\n"
 
-#: src/lang.c:1074
+#: src/lang.c:1097
 #, c-format
 msgid "Saved %s...\n"
 msgstr "Gemt %s ...\n"
 
-#: src/lang.c:1075
+#: src/lang.c:1098
 msgid "Nothing was saved"
 msgstr "Intet blev gemt"
 
-#: src/lang.c:1076
+#: src/lang.c:1099
 #, c-format
 msgid ""
 "\n"
@@ -4031,189 +4120,189 @@ msgstr ""
 "\n"
 "%s %d %s fra %d %s\n"
 
-#: src/lang.c:1077
+#: src/lang.c:1100
 #, c-format
 msgid "-- %s saved to %s%s --"
 msgstr "-- %s gemt til %s%s --"
 
-#: src/lang.c:1078
+#: src/lang.c:1101
 #, c-format
 msgid "-- %s saved to %s - %s --"
 msgstr "-- %s gemt til %s - %s --"
 
-#: src/lang.c:1079
+#: src/lang.c:1102
 msgid "Saving..."
 msgstr "Gemmer ..."
 
-#: src/lang.c:1080
+#: src/lang.c:1103
 #, c-format
 msgid "%s: Screen initialization failed"
 msgstr "%s: SkÃ¦rminitialisering mislykkedes"
 
-#: src/lang.c:1082
+#: src/lang.c:1105
 #, c-format
 msgid "%s: screen is too small\n"
 msgstr "%s: SkÃ¦rm er for lille\n"
 
-#: src/lang.c:1084
+#: src/lang.c:1107
 #, c-format
 msgid "screen is too small, %s is exiting"
 msgstr "skÃ¦rmen er for lille, %s afslutter"
 
-#: src/lang.c:1085
+#: src/lang.c:1108
 msgid "Delete scope?"
 msgstr "Slet virkefelt?"
 
-#: src/lang.c:1086
+#: src/lang.c:1109
 msgid "Enter scope> "
 msgstr "Indtast virkefelt> "
 
-#: src/lang.c:1087
+#: src/lang.c:1110
 msgid "Select new position> "
 msgstr "VÃ¦lg ny placering>"
 
-#: src/lang.c:1088
+#: src/lang.c:1111
 msgid "New position cannot be a global scope"
 msgstr "Ny placering kan ikke vÃ¦re et globalt virkefelt"
 
-#: src/lang.c:1089
+#: src/lang.c:1112
 msgid "Global scope, operation not allowed"
 msgstr "Global virkefelt, handling ikke tilladt"
 
-#: src/lang.c:1090
+#: src/lang.c:1113
 msgid "Rename scope> "
 msgstr "OmdÃ¸b virkefelt> "
 
-#: src/lang.c:1091
+#: src/lang.c:1114
 msgid "Select scope> "
 msgstr "VÃ¦lg virkefelt> "
 
-#: src/lang.c:1092
+#: src/lang.c:1115
 msgid "Scopes Menu"
 msgstr "Virkefeltsmenu"
 
-#: src/lang.c:1093
+#: src/lang.c:1116
 msgid "Scopes Menu Commands"
 msgstr "Kommandoer for virkefeltsmenu"
 
-#: src/lang.c:1094
+#: src/lang.c:1117
 #, c-format
 msgid "Search backwards [%s]> "
 msgstr "SÃ¸g baglÃ¦ns [%s]> "
 
-#: src/lang.c:1095
+#: src/lang.c:1118
 #, c-format
 msgid "Search body [%s]> "
 msgstr "SÃ¸g tekst [%s]> "
 
-#: src/lang.c:1096
+#: src/lang.c:1119
 #, c-format
 msgid "Search forwards [%s]> "
 msgstr "SÃ¸g fremad [%s]> "
 
-#: src/lang.c:1097
+#: src/lang.c:1120
 msgid "Searching..."
 msgstr "SÃ¸ger ..."
 
-#: src/lang.c:1098
+#: src/lang.c:1121
 #, c-format
 msgid "Searching article %d of %d ('q' to abort)..."
 msgstr "SÃ¸ger i artikel %d af %d ('q' for at afbryde)..."
 
-#: src/lang.c:1099
+#: src/lang.c:1122
 msgid "Select article> "
 msgstr "VÃ¦lg artikel> "
 
-#: src/lang.c:1100
+#: src/lang.c:1123
 msgid ""
 "Select option number before text or use arrow keys and <CR>. 'q' to quit."
 msgstr ""
 "VÃ¦lg indstililngsnummer fÃ¸r tekst eller brug piletasterne og <CR>. Â»qÂ« for "
 "at afslutte."
 
-#: src/lang.c:1101
+#: src/lang.c:1124
 msgid "Select group> "
 msgstr "VÃ¦lg gruppe> "
 
-#: src/lang.c:1102
+#: src/lang.c:1125
 #, c-format
 msgid "Enter selection pattern [%s]> "
 msgstr "Indtast markeringsmÃ¸nster [%s]> "
 
-#: src/lang.c:1103
+#: src/lang.c:1126
 msgid "Select thread> "
 msgstr "VÃ¦lg trÃ¥d> "
 
-#: src/lang.c:1104
+#: src/lang.c:1127
 #, c-format
 msgid "%s %s %s (\"%s\"): send a DETAILED bug report to %s\n"
 msgstr "%s %s %s (\"%s\"): send en DETALJEREDE fejlrapport til %s\n"
 
-#: src/lang.c:1105
+#: src/lang.c:1128
 msgid "servers active-file"
 msgstr "servers active-fil"
 
-#: src/lang.c:1106
+#: src/lang.c:1129
 #, c-format
 msgid "Skipped %s"
 msgstr ""
 
-#: src/lang.c:1107
+#: src/lang.c:1130
 msgid "Cannot move into new newsgroups. Subscribe first..."
 msgstr "Kan ikke gÃ¥ ind i nye nyhedsgrupper. Abonner fÃ¸rst ..."
 
-#: src/lang.c:1108
+#: src/lang.c:1131
 msgid "<SPACE>"
 msgstr "<MELLEMRUM>"
 
-#: src/lang.c:1109
+#: src/lang.c:1132
 #, c-format
 msgid "Starting: (%s)"
 msgstr "Starter: (%s)"
 
-#: src/lang.c:1110
+#: src/lang.c:1133
 #, c-format
 msgid "List Thread (%d of %d)"
 msgstr "Vis trÃ¥d (%d af %d)"
 
-#: src/lang.c:1111
+#: src/lang.c:1134
 #, c-format
 msgid "Thread (%.*s)"
 msgstr "TrÃ¥d (%.*s)"
 
-#: src/lang.c:1112
+#: src/lang.c:1135
 msgid "Enter wildcard subscribe pattern> "
 msgstr "Indtast abonnementmÃ¸nster med jokertegn> "
 
-#: src/lang.c:1113
+#: src/lang.c:1136
 #, c-format
 msgid "subscribed to %d groups"
 msgstr "har tegnet abonnement pÃ¥ %d grupper"
 
-#: src/lang.c:1114
+#: src/lang.c:1137
 #, c-format
 msgid "Subscribed to %s"
 msgstr "har tegnet abonnement pÃ¥ %s"
 
-#: src/lang.c:1115
+#: src/lang.c:1138
 msgid "Subscribing... "
 msgstr "Abonnerer ... "
 
-#: src/lang.c:1116
+#: src/lang.c:1139
 #, c-format
 msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): "
 msgstr "Gensend eller fortrÃ¦ng artikler [%%s]? (%s/%s/%s): "
 
-#: src/lang.c:1117
+#: src/lang.c:1140
 #, c-format
 msgid "Supersede article(s) to group(s) [%s]> "
 msgstr "FortrÃ¦ng artikler til grupper [%s]> "
 
-#: src/lang.c:1118
+#: src/lang.c:1141
 msgid "Superseding article ..."
 msgstr "FortrÃ¦nger artikel ..."
 
-#: src/lang.c:1119
+#: src/lang.c:1142
 #, c-format
 msgid ""
 "\n"
@@ -4222,29 +4311,29 @@ msgstr ""
 "\n"
 "Stoppet. Tast 'fg' for at genstarte %s\n"
 
-#: src/lang.c:1121
+#: src/lang.c:1144
 #, c-format
 msgid "%d days"
 msgstr "%d dage"
 
-#: src/lang.c:1122
+#: src/lang.c:1145
 msgid "<TAB>"
 msgstr "<TAB>"
 
-#: src/lang.c:1123
+#: src/lang.c:1146
 msgid "TeX "
 msgstr "TeX "
 
-#: src/lang.c:1124
+#: src/lang.c:1147
 #, fuzzy, c-format
 msgid "Version: %s %s release %s (\"%s\")"
-msgstr "Version: %s %s udgave %s (Â»%sÂ«)\n"
+msgstr "Version: %s %s udgave %s (Â»%sÂ«)"
 
-#: src/lang.c:1125
+#: src/lang.c:1148
 msgid "# Default action/prompt strings\n"
 msgstr "# Standardstrenge for handling/prompt\n"
 
-#: src/lang.c:1126
+#: src/lang.c:1149
 msgid ""
 "# Defaults for quick (1 key) kill & auto-selection filters\n"
 "# header=NUM  0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n"
@@ -4263,7 +4352,7 @@ msgstr ""
 "# expire=ON/OFF  ON=begrÃ¦ns til default_filter_days (antal filtrerdage)\n"
 "                 OFF=udlÃ¸b aldrig\n"
 
-#: src/lang.c:1139
+#: src/lang.c:1162
 msgid ""
 "# If ON use print current subject or newsgroup description in the last line\n"
 msgstr ""
@@ -4271,286 +4360,296 @@ msgstr ""
 "nyhedsgruppebeskrivelse\n"
 "  i den sidste linje\n"
 
-#: src/lang.c:1140
+#: src/lang.c:1163
 msgid "# Host & time info used for detecting new groups (don't touch)\n"
 msgstr ""
 "# VÃ¦rts- og tidsinformation brugt til detektering af nye grupper (rÃ¸r ikke)\n"
 
-#: src/lang.c:1141
+#: src/lang.c:1164
 msgid "There is no news\n"
 msgstr "Der er ingen nyheder\n"
 
-#: src/lang.c:1142
+#: src/lang.c:1165
 msgid "Thread"
 msgstr "TrÃ¥d"
 
-#: src/lang.c:1143
+#: src/lang.c:1166
 msgid "Thread Level Commands"
 msgstr "Kommandoer pÃ¥ trÃ¥dniveau"
 
-#: src/lang.c:1144
+#: src/lang.c:1167
 msgid "Thread deselected"
 msgstr "TrÃ¥d fravalgt"
 
-#: src/lang.c:1145
+#: src/lang.c:1168
 msgid "Thread selected"
 msgstr "TrÃ¥d valgt"
 
-#: src/lang.c:1146
+#: src/lang.c:1169
 msgid "thread"
 msgstr "trÃ¥d"
 
-#: src/lang.c:1147
+#: src/lang.c:1170
 #, c-format
 msgid "Thread %4s of %4s"
 msgstr "TrÃ¥d %4s af %4s"
 
-#: src/lang.c:1148
+#: src/lang.c:1171
 msgid "Threading articles..."
 msgstr "Opdeler artikler i trÃ¥de ..."
 
-#: src/lang.c:1149
+#: src/lang.c:1172
 #, fuzzy
 msgid "Threading by multipart"
 msgstr "TrÃ¥dning med multipart"
 
-#: src/lang.c:1151
-#, c-format
-msgid "TLS handshake failed: %s\n"
-msgstr ""
-
-#: src/lang.c:1153
+#: src/lang.c:1175
 msgid "<failed to retrieve cipher>"
 msgstr ""
 
-#: src/lang.c:1154
+#: src/lang.c:1176
 msgid "<failed to retrieve issuer>"
 msgstr ""
 
-#: src/lang.c:1155
+#: src/lang.c:1177
 msgid "<failed to retrieve subject>"
 msgstr ""
 
-#: src/lang.c:1156
+#: src/lang.c:1178
 msgid "<failed to retrieve version>"
 msgstr ""
 
-#: src/lang.c:1157
+#: src/lang.c:1179
 #, fuzzy, c-format
 msgid "%s handshake done: %s\n"
 msgstr "Slrnface mislykkedes: %s."
 
-#: src/lang.c:1158 src/lang.c:1309
-#, fuzzy
-msgid "unknown error"
-msgstr "Ukendt fejl."
-
-#: src/lang.c:1161
+#: src/lang.c:1182
 #, fuzzy, c-format
 msgid "TLS handshake failed: %s (%d)\n"
 msgstr "Slrnface mislykkedes: %s."
 
-#: src/lang.c:1162
+#: src/lang.c:1183
 #, c-format
 msgid "TLS peer verification failed: %s\n"
 msgstr ""
 
-#: src/lang.c:1163
+#: src/lang.c:1184
 #, c-format
 msgid "TLS peer verification failed, continuing anyway as requested: %s\n"
 msgstr ""
 
-#: src/lang.c:1164
+#: src/lang.c:1185
 msgid "<unable to retrieve status>"
 msgstr ""
 
-#: src/lang.c:1165
+#: src/lang.c:1186
 msgid "unexpected certificate verification status!"
 msgstr ""
 
-#: src/lang.c:1168
+#: src/lang.c:1189
 #, c-format
 msgid ""
 "TLS peer verification failed: %s.\n"
 "Continuing anyway as requested.\n"
 msgstr ""
 
-#: src/lang.c:1171
+#: src/lang.c:1192
 #, c-format
 msgid "TLS handshake done: %s\n"
 msgstr ""
 
-#: src/lang.c:1174
+#: src/lang.c:1195
+#, c-format
+msgid "TLS handshake failed: %s\n"
+msgstr ""
+
+#: src/lang.c:1198
 #, c-format
 msgid "Toggled word highlighting %s"
 msgstr "Skiftede ordfremhÃ¦velse %s"
 
-#: src/lang.c:1175
+#: src/lang.c:1199
 msgid "Toggled rot13 encoding"
 msgstr "Skiftede rot13-kodning"
 
-#: src/lang.c:1176
+#: src/lang.c:1200
 #, c-format
 msgid "Toggled German TeX encoding %s"
 msgstr "Skiftede tysk TeX-kodning %s"
 
-#: src/lang.c:1177
+#: src/lang.c:1201
 #, c-format
 msgid "Toggled tab-width to %d"
 msgstr "Skiftede indryksbredde til %d"
 
-#: src/lang.c:1179
+#: src/lang.c:1203
 #, c-format
 msgid "%d Trying to dotlock %s"
 msgstr "%d ForsÃ¸ger at dotlock %s"
 
-#: src/lang.c:1180
+#: src/lang.c:1204
 #, c-format
 msgid "%d Trying to lock %s"
 msgstr "%d ForsÃ¸ger at lÃ¥se %s"
 
-#: src/lang.c:1182
+#: src/lang.c:1206
 #, c-format
 msgid "%s=help"
 msgstr "%s=hjÃ¦lp"
 
-#: src/lang.c:1184
+#: src/lang.c:1208
 msgid "Unlimited"
 msgstr "UbegrÃ¦nset"
 
-#: src/lang.c:1185
+#: src/lang.c:1209
 msgid "Enter wildcard unsubscribe pattern> "
 msgstr "Indtast jokertegnsmÃ¸nster for framelding af abonnement> "
 
-#: src/lang.c:1186
+#: src/lang.c:1210
 #, c-format
 msgid "Error decoding %s : %s"
 msgstr "Fejl unde afkodning af %s : %s"
 
-#: src/lang.c:1187
+#: src/lang.c:1211
 msgid "No end."
 msgstr "Ingen slutning."
 
-#: src/lang.c:1188
+#: src/lang.c:1212
 #, c-format
 msgid "%s successfully decoded."
 msgstr "%s dekodet med succes."
 
-#: src/lang.c:1189
+#: src/lang.c:1214
 msgid "unchanged"
 msgstr "uÃ¦ndret"
 
-#: src/lang.c:1190
+#: src/lang.c:1216
 msgid "(unknown)"
 msgstr "(ukendt)"
 
-#: src/lang.c:1191
+#: src/lang.c:1218
+#, fuzzy
+msgid "unknown error"
+msgstr "Ukendt fejl."
+
+#: src/lang.c:1220
 msgid "unread"
 msgstr "ulÃ¦ste"
 
-#: src/lang.c:1192
+#: src/lang.c:1221
 #, c-format
 msgid "unsubscribed from %d groups"
 msgstr "frameldte abonnement fra %d grupper"
 
-#: src/lang.c:1193
+#: src/lang.c:1222
 #, c-format
 msgid "Unsubscribed from %s"
 msgstr "Abonnement frameldt fra %s"
 
-#: src/lang.c:1194
+#: src/lang.c:1223
 msgid "Unsubscribing... "
 msgstr "Framelder abonnement ... "
 
-#: src/lang.c:1195
+#: src/lang.c:1224
 msgid "Unthreading articles..."
 msgstr "Fjerner trÃ¥dopsÃ¦tning fra artikler ..."
 
-#: src/lang.c:1196
+#: src/lang.c:1225
 msgid "Updated"
 msgstr "Opdateret"
 
-#: src/lang.c:1197
+#: src/lang.c:1226
 msgid "Updating"
 msgstr "Opdaterer"
 
-#: src/lang.c:1198
+#: src/lang.c:1227
 msgid "URL Menu"
 msgstr "URL-menu"
 
-#: src/lang.c:1199
+#: src/lang.c:1228
 msgid "URL Menu Commands"
 msgstr "Kommandoer for URL-menu"
 
-#: src/lang.c:1200
+#: src/lang.c:1229
 #, c-format
 msgid "Opening %s"
 msgstr "Ã…bner %s"
 
-#: src/lang.c:1201
+#: src/lang.c:1230
 msgid "Select URL> "
 msgstr "VÃ¦lg URL> "
 
-#: src/lang.c:1202
+#: src/lang.c:1231
 msgid "No URLs in this article"
 msgstr "Ingen URL'er i denne artikel"
 
-#: src/lang.c:1203
-msgid "Use MIME display program for this message?"
-msgstr "Anvend MIME-visningsprogram for denne besked?"
+#: src/lang.c:1233
+#, c-format
+msgid "SASL MECHS    : %s\n"
+msgstr ""
 
-#: src/lang.c:1204
+#: src/lang.c:1234
+#, c-format
+msgid "SASL MECH used: %s\n"
+msgstr ""
+
+#: src/lang.c:1236
 msgid "  -c       mark all news as read in subscribed newsgroups (batch mode)"
 msgstr ""
 "  -c       marker alle nyheder som lÃ¦st i abonnerede nyhedsgrupper "
 "(jobtilstand)"
 
-#: src/lang.c:1205
+#: src/lang.c:1237
 msgid "  -Z       return status indicating if any unread news (batch mode)"
 msgstr ""
 "  -Z       returner statusindikation hvis der er ulÃ¦ste nyheder (jobtilstand)"
 
-#: src/lang.c:1206
+#: src/lang.c:1238
 msgid "  -q       don't check for new newsgroups"
 msgstr "  -q       led ikke efter nye nyhedsgrupper"
 
-#: src/lang.c:1207
+#: src/lang.c:1239
 msgid "  -X       don't save any files on quit"
 msgstr "  -X       gem ikke nogen filer ved afslutning"
 
-#: src/lang.c:1208
+#: src/lang.c:1240
 msgid "  -d       don't show newsgroup descriptions"
 msgstr "  -d       vis ikke beskrivelser for nyhedsgrupper"
 
 # Â»-G grÃ¦nseÂ« mÃ¥ vÃ¦re tilvalg+flag mens resten er beskrivelse
-#: src/lang.c:1209
+#: src/lang.c:1241
 msgid "  -G limit get only limit articles/group"
 msgstr "  -G grÃ¦nse hent kun artikler/gruppe med denne begrÃ¦nsning"
 
-#: src/lang.c:1210
+#: src/lang.c:1242
 #, c-format
 msgid "  -H       help information about %s"
 msgstr "  -H       hjÃ¦lpinformation om %s"
 
-#: src/lang.c:1211
+#: src/lang.c:1243
 msgid "  -h       this help message"
 msgstr "  -h       denne hjÃ¦lpebesked"
 
-#: src/lang.c:1212
+#: src/lang.c:1244
 #, c-format
 msgid "  -I dir   news index file directory [default=%s]"
 msgstr "  -I mappe mappe for nyhedsindeksfilen [standard=%s]"
 
-#: src/lang.c:1213
+#: src/lang.c:1246
+msgid "  -L msgid show the message with that Message-ID"
+msgstr ""
+
+#: src/lang.c:1248
 msgid "  -u       update index files (batch mode)"
 msgstr "  -u       opdater indeksfiler (jobtilstand)"
 
-#: src/lang.c:1214
+#: src/lang.c:1249
 #, c-format
 msgid "  -m dir   mailbox directory [default=%s]"
 msgstr "  -m mappe postkassemappe [standard=%s]"
 
-#: src/lang.c:1215
+#: src/lang.c:1250
 #, c-format
 msgid ""
 "\n"
@@ -4559,52 +4658,57 @@ msgstr ""
 "\n"
 "Send fejlrapporter/kommentarer til %s"
 
-#: src/lang.c:1216
+#: src/lang.c:1251
 msgid "  -N       mail new news to your posts (batch mode)"
 msgstr "  -N       send nye nyheder til dine indlÃ¦g (jobtilstand)"
 
 # Jeg ville sÃ¦tte (mindst) to mellemrum for at adskille ligesom i
 # coreutils, og sÃ¥ rykke ekstra ind om nÃ¸dvendigt.  OgsÃ¥ selvom den
 # engelske ikke gÃ¸r det
-#: src/lang.c:1217
+#: src/lang.c:1252
 msgid "  -M user  mail new news to specified user (batch mode)"
 msgstr "  -M bruger  send nye nyheder til specificeret bruger (jobtilstand)"
 
-#: src/lang.c:1218
+#: src/lang.c:1253
 #, c-format
 msgid "  -f file  subscribed to newsgroups file [default=%s]"
 msgstr "  -f fil   har abonnement for nyhedsgruppefil [standard=%s]"
 
-#: src/lang.c:1219
+#: src/lang.c:1255
+#, c-format
+msgid "  -t sec   override nntp_read_timeout_secs setting [default=%d]"
+msgstr ""
+
+#: src/lang.c:1257
 msgid "  -x       no-posting mode"
 msgstr "  -x       tilstand uden indsendelse"
 
-#: src/lang.c:1220
+#: src/lang.c:1258
 msgid "  -w       post an article and exit"
 msgstr "  -w       send en artikel og afslut"
 
-#: src/lang.c:1221
+#: src/lang.c:1259
 msgid "  -o       post all postponed articles and exit"
 msgstr "  -o       send alle udsatte artikler og afslut"
 
-#: src/lang.c:1222
+#: src/lang.c:1260
 msgid "  -R       read news saved by -S option"
 msgstr "  -R       lÃ¦s nyheder gemt med tilvalget -S"
 
-#: src/lang.c:1223
+#: src/lang.c:1261
 #, c-format
 msgid "  -s dir   save news directory [default=%s]"
 msgstr "  -s mappe gem nyhedsmappe [standard=%s]"
 
-#: src/lang.c:1224
+#: src/lang.c:1262
 msgid "  -S       save new news for later reading (batch mode)"
 msgstr "  -S       gem nye nyheder til senere lÃ¦sning (batchtilstand)"
 
-#: src/lang.c:1225
+#: src/lang.c:1263
 msgid "  -z       start if any unread news"
 msgstr "  -z       start hvis der er ulÃ¦ste nyheder"
 
-#: src/lang.c:1226
+#: src/lang.c:1264
 #, c-format
 msgid ""
 "A Usenet reader.\n"
@@ -4615,68 +4719,73 @@ msgstr ""
 "\n"
 "Brug: %s [tilvalg] [nyhedsgruppe[,...]]"
 
-#: src/lang.c:1227
+#: src/lang.c:1265
 msgid "  -v       verbose output for batch mode options"
 msgstr "  -v       uddybende udskrift for jobtilstandsindstillinger"
 
-#: src/lang.c:1228
+#: src/lang.c:1266
 msgid "  -V       print version & date information"
 msgstr "  -V       vis version- & datoinformation"
 
-#: src/lang.c:1229
-#, c-format
-msgid "%s only useful without batch mode operations\n"
-msgstr "%s er kun nyttig uden jobtilstandsoperationer\n"
+#: src/lang.c:1267
+msgid "Use MIME display program for this message?"
+msgstr "Anvend MIME-visningsprogram for denne besked?"
 
-#: src/lang.c:1230
-#, c-format
-msgid "%s only useful for batch mode operations\n"
-msgstr "%s er kun nyttig for jobtilstandsoperationer\n"
+#: src/lang.c:1268
+#, fuzzy, c-format
+msgid "%s only useful without batch mode operations.%s\n"
+msgstr "%s er kun nyttig uden jobtilstandsoperationer.%s\n"
 
-#: src/lang.c:1231
+#: src/lang.c:1269
 #, fuzzy, c-format
-msgid "%s only useful for batch or debug mode operations\n"
-msgstr "%s er kun nyttig for jobtilstandsoperationer\n"
+msgid "%s only useful for batch mode operations.%s\n"
+msgstr "%s er kun nyttig for jobtilstandsoperationer.%s\n"
 
-#: src/lang.c:1232
-#, c-format
-msgid "Useless combination %s and %s. Ignoring %s.\n"
-msgstr "NyttelÃ¸s kombination %s og %s. Ignorerer %s.\n"
+#: src/lang.c:1270
+#, fuzzy, c-format
+msgid "%s only useful for batch or debug mode operations.%s\n"
+msgstr "%s er kun nyttig for jobtilstandsoperationer.%s\n"
 
-#: src/lang.c:1233
+#: src/lang.c:1271
+#, fuzzy, c-format
+msgid "Useless combination %s and %s. Ignoring %s.%s\n"
+msgstr "NyttelÃ¸s kombination %s og %s. Ignorerer %s.%s\n"
+
+#: src/lang.c:1272
 msgid "uuencoded file"
 msgstr ""
 
-#: src/lang.c:1234
+#: src/lang.c:1273
 #, fuzzy
 msgid "incomplete uuencoded file"
 msgstr "ufuldstÃ¦ndig "
 
-#: src/lang.c:1237
+#: src/lang.c:1276
 #, c-format
 msgid "Valid not after : %s\n"
 msgstr ""
 
-#: src/lang.c:1238
+#: src/lang.c:1277
 #, c-format
 msgid "Valid not before: %s\n"
 msgstr ""
 
-#: src/lang.c:1240
-#, c-format
-msgid ""
-"\n"
-"%s%d out of range (0 - %d). Reset to 0"
-msgstr ""
-"\n"
-"%s%d uden for interval (0 - %d). Nulstil til 0"
+#: src/lang.c:1279
+#, fuzzy, c-format
+msgid "%s %s out of range (%d - %d). Ignored."
+msgstr "%s%d uden for interval (0 - %d). Nulstil til 0"
 
-#: src/lang.c:1241
+#: src/lang.c:1280
+#, fuzzy, c-format
+msgid "%s %d out of range (0 - %d). Reset to 0."
+msgstr "%s%d uden for interval (0 - %d). Nulstil til 0"
+
+#: src/lang.c:1281
 #, c-format
 msgid "View '%s' (%s/%s)?"
 msgstr "Vis Â»%sÂ« (%s/%s)?"
 
-#: src/lang.c:1243
+#: src/lang.c:1283
 #, c-format
 msgid ""
 "\n"
@@ -4687,7 +4796,7 @@ msgstr ""
 "Advarsel: indsendelse overstiger %d kolonner. Linje %d er den fÃ¸rste lange:\n"
 "%-100s\n"
 
-#: src/lang.c:1244
+#: src/lang.c:1284
 msgid ""
 "\n"
 "Warning: article unchanged after editing\n"
@@ -4695,7 +4804,7 @@ msgstr ""
 "\n"
 "Advarsel: Artikel uÃ¦ndret efter redigering\n"
 
-#: src/lang.c:1245
+#: src/lang.c:1285
 msgid ""
 "\n"
 "Warning: \"Subject:\" contains only whitespaces.\n"
@@ -4703,7 +4812,7 @@ msgstr ""
 "\n"
 "Advarsel: Â»Subject:Â« indeholder kun mellemrum.\n"
 
-#: src/lang.c:1246
+#: src/lang.c:1286
 msgid ""
 "\n"
 "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:"
@@ -4712,7 +4821,7 @@ msgstr ""
 "\n"
 "Advarsel: Â»Subject:Â« begynder med Â»Re:Â« men der er ingen Â»References:Â«.\n"
 
-#: src/lang.c:1248
+#: src/lang.c:1288
 msgid ""
 "\n"
 "Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
@@ -4722,7 +4831,16 @@ msgstr ""
 "Advarsel: Artikel har Â»References:Â« men Â»Subject:Â« begynder ikke med\n"
 "          Â»Re:Â« og indeholder ikke Â»(was:Â«.\n"
 
-#: src/lang.c:1251
+#: src/lang.c:1291
+#, fuzzy
+msgid ""
+"\n"
+"Warning: \"Subject:\" contains only \"Re:\".\n"
+msgstr ""
+"\n"
+"Advarsel: Â»Subject:Â« indeholder kun mellemrum.\n"
+
+#: src/lang.c:1292
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4745,7 +4863,16 @@ msgstr ""
 "Dette er artiklen, du er ved at fjerne:\n"
 "\n"
 
-#: src/lang.c:1255
+#: src/lang.c:1296
+#, fuzzy
+msgid ""
+"\n"
+"Warning: Undesired Distribution \"world\" used.\n"
+msgstr ""
+"\n"
+"Fejl: Ulovlig formateret %s.\n"
+
+#: src/lang.c:1297
 msgid ""
 "\n"
 "Warning: You are using a non-plain transfer encoding (such as base64 or\n"
@@ -4754,7 +4881,7 @@ msgid ""
 "         not be encoded properly.\n"
 msgstr ""
 
-#: src/lang.c:1261
+#: src/lang.c:1303
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4764,7 +4891,7 @@ msgstr ""
 "Linje %d er lÃ¦ngere end %d oktetter og bÃ¸r foldes sammen, men\n"
 "kodningen er hverken sat til %s eller til %s\n"
 
-#: src/lang.c:1265
+#: src/lang.c:1307
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4777,7 +4904,7 @@ msgstr ""
 "eller beskeden indeholder ikke 8-bit tegn og foldning vil derfor\n"
 "ikke blive udfÃ¸rt\n"
 
-#: src/lang.c:1269
+#: src/lang.c:1311
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4787,7 +4914,7 @@ msgstr ""
 "Linje %d er lÃ¦ngere end %d oktetter og bÃ¸r foldes sammen, men\n"
 "kodningen er ikke sat til %s\n"
 
-#: src/lang.c:1272
+#: src/lang.c:1314
 msgid ""
 "\n"
 "Warning: \"example\" is a reserved hierarchy!\n"
@@ -4795,7 +4922,7 @@ msgstr ""
 "\n"
 "Advarsel: Â»exampleÂ« er et reserveret hierarki!\n"
 
-#: src/lang.c:1273
+#: src/lang.c:1315
 #, c-format
 msgid ""
 "\n"
@@ -4810,7 +4937,7 @@ msgstr ""
 "Nogle vÃ¦rdier i din %s-fil har Ã¦ndret sig!\n"
 "LÃ¦s WHATSNEW, etc ...\n"
 
-#: src/lang.c:1275
+#: src/lang.c:1317
 #, c-format
 msgid ""
 "\n"
@@ -4823,7 +4950,7 @@ msgstr ""
 "Du nedgraderer til tin %s fra en nyere version!\n"
 "Nogle vÃ¦rdier i din %s-fil bliver mÃ¥ske ignoreret, andre kan Ã¦ndre sig!\n"
 
-#: src/lang.c:1278
+#: src/lang.c:1320
 #, c-format
 msgid ""
 "Warning: tin wrote fewer groups to your\n"
@@ -4833,7 +4960,25 @@ msgid ""
 "before you start tin once again!\n"
 msgstr ""
 
-#: src/lang.c:1282
+#: src/lang.c:1324
+#, c-format
+msgid ""
+"\n"
+"Warning: The article has multiple addresses in \"%s\".\n"
+"         This is at least uncommon.\n"
+msgstr ""
+
+#: src/lang.c:1327
+#, c-format
+msgid ""
+"\n"
+"Warning: With multiple addresses in \"From\", a \"Sender\"-header is\n"
+"         required, but its generation is deactivated by the global\n"
+"         configuration \"disable_sender=ON\" in\n"
+"         \"%s\".\n"
+msgstr ""
+
+#: src/lang.c:1332
 #, c-format
 msgid ""
 "\n"
@@ -4842,12 +4987,12 @@ msgstr ""
 "\n"
 "Advarsel: Fandt %d Â»-- \\nÂ«-linjer, dette kan forvirre nogle.\n"
 
-#: src/lang.c:1283
+#: src/lang.c:1333
 #, c-format
 msgid "Warning: Only %d out of %d articles were saved"
 msgstr "Advarsel: Kun %d ud af %d artikler blev gemt"
 
-#: src/lang.c:1284
+#: src/lang.c:1334
 #, c-format
 msgid ""
 "\n"
@@ -4861,7 +5006,7 @@ msgstr ""
 "Advarsel: Din signatur er lÃ¦ngere end %d linjer. Da signaturer normalt ikke\n"
 "          indeholder nyttig information, skal de vÃ¦re sÃ¥ korte som mulig.\n"
 
-#: src/lang.c:1288
+#: src/lang.c:1338
 #, c-format
 msgid ""
 "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
@@ -4869,14 +5014,14 @@ msgstr ""
 "Advarsel: Denne postadresse kan indeholde en spamfÃ¦lde. %s=continue, "
 "%s=abort? "
 
-#: src/lang.c:1289
+#: src/lang.c:1339
 #, c-format
 msgid ""
 "Warning: line %d contains unprintable chars:\n"
 "%s\n"
 msgstr ""
 
-#: src/lang.c:1290
+#: src/lang.c:1340
 msgid ""
 "\n"
 "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
@@ -4884,84 +5029,84 @@ msgstr ""
 "\n"
 "Advarsel: Underskrifter skal starte med '-- \\n' ikke med '--\\n'.\n"
 
-#: src/lang.c:1291
+#: src/lang.c:1341
 msgid "Writing attributes file..."
 msgstr "Skriver attributfil ..."
 
-#: src/lang.c:1292
+#: src/lang.c:1342
 #, fuzzy, c-format
 msgid "Writing %s\n"
 msgstr "Skriver %s\n"
 
-#: src/lang.c:1293
+#: src/lang.c:1343
 #, fuzzy
 msgid "Writing overview cache..."
 msgstr "Skriver oversigtscache ..."
 
-#: src/lang.c:1295
+#: src/lang.c:1345
 #, fuzzy, c-format
 msgid "%4d Responses"
 msgstr "%d svar"
 
-#: src/lang.c:1297
+#: src/lang.c:1347
 msgid "Can't run slrnface: couldn't construct fifo name."
 msgstr "Kan ikke kÃ¸re slrnface: Kunne ikke konstruere fifo-navn."
 
-#: src/lang.c:1298
+#: src/lang.c:1348
 #, c-format
 msgid "Can't run slrnface: failed to create %s"
 msgstr "Kan ikke kÃ¸re slrnface: Kunne ikke oprette %s"
 
-#: src/lang.c:1299
+#: src/lang.c:1349
 #, c-format
 msgid "Slrnface abnormally exited, code %d."
 msgstr "Slrnface blev unormalt afbrudt, kode %d."
 
-#: src/lang.c:1300
+#: src/lang.c:1350
 #, c-format
 msgid "Slrnface failed: %s."
 msgstr "Slrnface mislykkedes: %s."
 
-#: src/lang.c:1301
+#: src/lang.c:1352
 #, c-format
 msgid "Can't run slrnface: Environment variable %s not found."
 msgstr "Kan ikke kÃ¸re slrnface: MiljÃ¸variabel %s ikke fundet."
 
-#: src/lang.c:1302
+#: src/lang.c:1354
 #, fuzzy
 msgid "Can't run slrnface: Not running in an xterm."
 msgstr "Kan ikke kÃ¸re slrnface: KÃ¸rer ikke i en xterm."
 
-#: src/lang.c:1303
+#: src/lang.c:1357
 msgid "couldn't connect to display"
 msgstr ""
 
-#: src/lang.c:1304
+#: src/lang.c:1358
 #, fuzzy
 msgid "can't open FIFO"
 msgstr "Kan ikke Ã¥bne %s"
 
-#: src/lang.c:1305
+#: src/lang.c:1359
 msgid "executable not found"
 msgstr ""
 
-#: src/lang.c:1306
+#: src/lang.c:1360
 msgid "fork() failed"
 msgstr ""
 
-#: src/lang.c:1307
+#: src/lang.c:1361
 msgid "couldn't find controlling terminal"
 msgstr ""
 
-#: src/lang.c:1308
+#: src/lang.c:1362
 msgid "terminal doesn't export width and height"
 msgstr ""
 
-#: src/lang.c:1310
+#: src/lang.c:1363
 msgid "WINDOWID not found in environment"
 msgstr ""
 
-#: src/lang.c:1311
+#: src/lang.c:1364
 msgid ""
 "This directory is used to create named pipes for communication between\n"
 "slrnface and its parent process. It should normally be empty because\n"
@@ -4988,28 +5133,28 @@ msgstr ""
 "oprettet af din NFS-server, mens slrnface kÃ¸rer.\n"
 "PrÃ¸v ikke at fjerne dem.\n"
 
-#: src/lang.c:1324
+#: src/lang.c:1377
 #, c-format
 msgid "Added %d %s"
 msgstr "TilfÃ¸jede %d %s"
 
-#: src/lang.c:1325
+#: src/lang.c:1378
 msgid "No unsubscribed groups to show"
 msgstr "Ingen grupper der ikke er tilmeldte at vise"
 
-#: src/lang.c:1326
+#: src/lang.c:1379
 msgid "Showing subscribed to groups only"
 msgstr "Viser kun tilmeldte til grupper"
 
-#: src/lang.c:1327
+#: src/lang.c:1380
 msgid "Yes "
 msgstr "Ja "
 
-#: src/lang.c:1328
+#: src/lang.c:1381
 msgid "You have mail"
 msgstr "Du har post"
 
-#: src/lang.c:1333
+#: src/lang.c:1386
 #, c-format
 msgid ""
 "\n"
@@ -5022,11 +5167,11 @@ msgid ""
 "         M)enu option.\n"
 msgstr ""
 
-#: src/lang.c:1344
+#: src/lang.c:1397
 msgid "  -D mode  debug mode"
 msgstr "   -D tilstand  fejlsÃ¸gningstilstand"
 
-#: src/lang.c:1348
+#: src/lang.c:1401
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -5043,11 +5188,11 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:1357
+#: src/lang.c:1410
 msgid "toggle color"
 msgstr "slÃ¥ farve til/fra"
 
-#: src/lang.c:1358
+#: src/lang.c:1411
 msgid ""
 "# Changing colors of several screen parts\n"
 "# Possible values are:\n"
@@ -5093,11 +5238,11 @@ msgstr ""
 "#  15 = lys hvid\n"
 "\n"
 
-#: src/lang.c:1378
+#: src/lang.c:1431
 msgid "  -a       toggle color flag"
 msgstr "  -a       skift farveflag"
 
-#: src/lang.c:1382
+#: src/lang.c:1435
 msgid ""
 "\n"
 "Error: Followup-To set to more than one newsgroup!\n"
@@ -5105,7 +5250,7 @@ msgstr ""
 "\n"
 "Fejl: Followup-To angivet til mere end en nyhedsgruppe!\n"
 
-#: src/lang.c:1383
+#: src/lang.c:1436
 #, c-format
 msgid ""
 "\n"
@@ -5114,7 +5259,7 @@ msgstr ""
 "\n"
 "Fejl: Â»%sÂ« omdÃ¸bes, brug Â»%sÂ« i steden for!\n"
 
-#: src/lang.c:1384
+#: src/lang.c:1437
 #, c-format
 msgid ""
 "\n"
@@ -5123,7 +5268,7 @@ msgstr ""
 "\n"
 "Fejl: krydsindsendelse til %d nyhedsgrupper og ingen Followup-To-linje!\n"
 
-#: src/lang.c:1385
+#: src/lang.c:1438
 #, c-format
 msgid ""
 "\n"
@@ -5132,7 +5277,7 @@ msgstr ""
 "\n"
 "Fejl: Â»%sÂ« er ikke en gyldig nyhedsgruppe!\n"
 
-#: src/lang.c:1387
+#: src/lang.c:1440
 msgid ""
 "\n"
 "Warning: Followup-To set to more than one newsgroup!\n"
@@ -5140,7 +5285,7 @@ msgstr ""
 "\n"
 "Advarsel: Followup-To angiver mere end en nyhedsgruppe!\n"
 
-#: src/lang.c:1388
+#: src/lang.c:1441
 #, c-format
 msgid ""
 "\n"
@@ -5149,7 +5294,7 @@ msgstr ""
 "\n"
 "Advarsel: Â»%sÂ« er omdÃ¸bt, du skal bruge Â»%sÂ« i stedet for!\n"
 
-#: src/lang.c:1389
+#: src/lang.c:1442
 #, c-format
 msgid ""
 "\n"
@@ -5158,7 +5303,7 @@ msgstr ""
 "\n"
 "Advarsel: krydsindsendelse til %d nyhedsgrupper og ingen Followup-To-linje!\n"
 
-#: src/lang.c:1390
+#: src/lang.c:1443
 #, c-format
 msgid ""
 "\n"
@@ -5167,7 +5312,7 @@ msgstr ""
 "\n"
 "Advarsel: Â»%sÂ« er ikke i din newsrc, den kan vÃ¦re ugyldig pÃ¥ denne side!\n"
 
-#: src/lang.c:1391
+#: src/lang.c:1444
 #, c-format
 msgid ""
 "\n"
@@ -5176,79 +5321,76 @@ msgstr ""
 "\n"
 "Advarsel: Â»%sÂ« er ikke en gyldig nyhedsgruppe pÃ¥ denne side!\n"
 
-#: src/lang.c:1395
+#: src/lang.c:1448
 #, c-format
 msgid "%d files successfully written from %d articles. %d %s occurred."
 msgstr "%d filer skrevet fra %d artikler. %d %s opstod."
 
-#: src/lang.c:1396
+#: src/lang.c:1449
 msgid "Missing parts."
 msgstr "Manglende dele."
 
-#: src/lang.c:1397
+#: src/lang.c:1450
 msgid "No beginning."
 msgstr "Ingen begyndelse."
 
-#: src/lang.c:1398
+#: src/lang.c:1451
 msgid "No data."
 msgstr "Ingen data."
 
-#: src/lang.c:1399
+#: src/lang.c:1452
 msgid "Unknown error."
 msgstr "Ukendt fejl."
 
-#: src/lang.c:1402
-#, c-format
-msgid "\tChecksum of %s (%ld %s)"
-msgstr "\tKontrolsum for %s (%ld %s)"
-
-#: src/lang.c:1407
-msgid "Reading mail active file... "
-msgstr "LÃ¦ser postaktiv fil ... "
+#: src/lang.c:1456
+#, fuzzy, c-format
+msgid "Reading mail active file: %s"
+msgstr "LÃ¦ser postaktiv fil: %s"
 
-#: src/lang.c:1408
-msgid "Reading mailgroups file... "
-msgstr "LÃ¦ser postgruppens fil ... "
+#: src/lang.c:1457
+#, fuzzy, c-format
+msgid "Reading mailgroups file: %s"
+msgstr "LÃ¦ser postgruppens fil: %s"
 
-#: src/lang.c:1412
+#: src/lang.c:1461
 msgid "perform PGP operations on article"
 msgstr "udfÃ¸r PGP-handlinger pÃ¥ artikel"
 
-#: src/lang.c:1413
+#: src/lang.c:1462
 msgid "Add key(s) to public keyring?"
 msgstr "TilfÃ¸j nÃ¸gle(r) til offentlig nÃ¸glering?"
 
-#: src/lang.c:1414
+#: src/lang.c:1463
 #, c-format
 msgid "%s=encrypt, %s=sign, %s=both, %s=quit: "
 msgstr "%s=krypter, %s=underskriv, %s=begge, %s=afslut: "
 
-#: src/lang.c:1415
+#: src/lang.c:1464
 #, c-format
 msgid "%s=sign, %s=sign & include public key, %s=quit: "
 msgstr "%s=underskriv, %s=underskriv & inkluder offentlig nÃ¸gle, %s=afslut: "
 
-#: src/lang.c:1416
+#: src/lang.c:1465
 #, c-format
 msgid "PGP has not been set up (can't open %s)"
 msgstr "PGP er ikke sat op (kan ikke Ã¥bne %s)"
 
-#: src/lang.c:1417
+#: src/lang.c:1466
 msgid "Article not signed and no public keys found"
 msgstr "Artikel ikke underskrevet og ingen offentlige nÃ¸gler fundet"
 
-#: src/lang.c:1419
+#: src/lang.c:1468
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 "%s=afslut, %s=rediger, %s=ispell, %s=pgp, %s=menu, %s=indsend, %s=udsÃ¦t: "
 
-#: src/lang.c:1420
+#: src/lang.c:1469
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: "
 msgstr "%s=afslut, %s=rediger, %s=ispell, %s=pgp, %s=send [%%s]: "
 
-#: src/lang.c:1421
+#: src/lang.c:1470
 #, c-format
 msgid ""
 "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
@@ -5256,115 +5398,120 @@ msgstr ""
 "%s=afslut, %s=rediger, %s=ispell, %s=pgp, %s=menu, %s=indsend, %s=udsÃ¦t "
 "[%%s]: "
 
-#: src/lang.c:1423
+#: src/lang.c:1472
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=afslut, %s=rediger, %s=pgp, %s=menu, %s=indsend, %s=udsÃ¦t: "
 
-#: src/lang.c:1424
+#: src/lang.c:1473
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: "
 msgstr "%s=afslut, %s=rediger, %s=pgp, %s=send [%%s]: "
 
-#: src/lang.c:1425
+#: src/lang.c:1474
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=afslut, %s=rediger, %s=pgp, %s=menu, %s=indsend, %s=udsÃ¦t [%%s]: "
 
-#: src/lang.c:1429
+#: src/lang.c:1478
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=afslut, %s=rediger, %s=ispell, %s=menu, %s=indsend, %s=udsÃ¦t: "
 
-#: src/lang.c:1430
+#: src/lang.c:1479
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: "
 msgstr "%s=afslut, %s=rediger, %s=ispell, %s=indsend [%%s]: "
 
-#: src/lang.c:1431
+#: src/lang.c:1480
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 "%s=afslut, %s=rediger, %s=ispell, %s=menu, %s=indsend, %s=udsÃ¦t [%%s]: "
 
-#: src/lang.c:1433
+#: src/lang.c:1482
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=afslut, %s=rediger, %s=menu, %s=indsend, %s=udsÃ¦t: "
 
-#: src/lang.c:1434
+#: src/lang.c:1483
 #, c-format
 msgid "%s=quit, %s=edit, %s=send [%%s]: "
 msgstr "%s=afslut, %s=rediger, %s=send [%%s]: "
 
-#: src/lang.c:1435
+#: src/lang.c:1484
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=afslut, %s=rediger, %s=menu, %s=indsend, %s=udsÃ¦t [%%s]: "
 
-#: src/lang.c:1441
+#: src/lang.c:1489
 msgid "Try cache_overview_files to speed up things.\n"
 msgstr "PrÃ¸v cache_overview_files for at Ã¸ge hastigheden.\n"
 
-#: src/lang.c:1442
+#: src/lang.c:1490
 msgid "Tin will use local index files instead.\n"
 msgstr "Tin vil i steden for anvende lokale indeksfiler.\n"
 
-#: src/lang.c:1443
+#: src/lang.c:1491
 msgid "Cannot find NNTP server name"
 msgstr "Kan ikke finde NNTP-servernavn"
 
-#: src/lang.c:1444
+#: src/lang.c:1492
 msgid "CAPABILITIES did not announce READER"
 msgstr "FUNKTIONER annoncerede ikke LÃ†SER"
 
-#: src/lang.c:1445
+#: src/lang.c:1493
 #, c-format
 msgid "Connecting to %s:%u..."
 msgstr "Forbinder til %s:%u ..."
 
-#: src/lang.c:1446
+#: src/lang.c:1494
 msgid "NNTP connection error. Exiting..."
 msgstr "NNTP-forbindelsesfejl. Afslutter ..."
 
-#: src/lang.c:1447
+#: src/lang.c:1495
 #, fuzzy
 msgid "Disconnecting from server..."
 msgstr "Afbryder fra server ..."
 
-#: src/lang.c:1448
+#: src/lang.c:1496
 #, c-format
 msgid "Failed to connect to NNTP server %s. Exiting..."
 msgstr "Kunne ikke forbinde til NNTP-server %s. Afslutter ..."
 
-#: src/lang.c:1449
+#: src/lang.c:1497
 msgid "205  Closing connection"
 msgstr "205 Lukker forbindelse"
 
-#: src/lang.c:1450
+#: src/lang.c:1498
 msgid "Your server does not support the NNTP XOVER or OVER command.\n"
 msgstr "Din server understÃ¸tter ikke kommandoerne NNTP XOVER eller OVER.\n"
 
-#: src/lang.c:1452
+#: src/lang.c:1499
 #, c-format
 msgid "Port isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1453
+#: src/lang.c:1500
+#, c-format
+msgid "%s argument is not numeric: %s\n"
+msgstr ""
+
+#: src/lang.c:1502
 #, c-format
 msgid "Port in %s isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1454
+#: src/lang.c:1503
 #, c-format
 msgid "reconnect (%d) limit %d reached, giving up."
 msgstr ""
 
-#: src/lang.c:1456
+#: src/lang.c:1505
 msgid "Connection to news server has timed out. Reconnect?"
 msgstr "Forbindelsen til nyhedsserveren har fÃ¥et tidsudlÃ¸b. Genforbind?"
 
-#: src/lang.c:1457
+#: src/lang.c:1506
 #, c-format
 msgid ""
 "Put the server name in the file %s,\n"
@@ -5373,68 +5520,67 @@ msgstr ""
 "Placer servernavnet i filen %s,\n"
 "eller angiv miljÃ¸variablen NNTPSERVER"
 
-#: src/lang.c:1459
+#: src/lang.c:1508
 #, fuzzy
 msgid "Continuing..."
 msgstr "Udskriver ..."
 
-#: src/lang.c:1460
-#, c-format
-msgid "Read timeout from server (%d seconds) - quit tin?"
+#: src/lang.c:1509
+msgid "Read timeout from server - quit tin?"
 msgstr ""
 
-#: src/lang.c:1461
+#: src/lang.c:1510
 msgid "  -C       try COMPRESS NNTP extension"
 msgstr ""
 
-#: src/lang.c:1463
+#: src/lang.c:1512
 msgid "  -A       force authentication on connect"
 msgstr "  -A       fremtving godkendelse ved forbindelse"
 
-#: src/lang.c:1464
+#: src/lang.c:1513
 #, c-format
 msgid "  -g serv  read news from NNTP server serv [default=%s]"
 msgstr "  -g serv  lÃ¦s nyheder fra NNTP-server serv [standard=%s]"
 
-#: src/lang.c:1465
+#: src/lang.c:1514
 #, c-format
 msgid "  -p port  use port as NNTP port [default=%d]"
 msgstr "  -p port  brug port som NNTP-port [standard=%d]"
 
-#: src/lang.c:1467
+#: src/lang.c:1516
 msgid "  -k       skip verification for NNTPS"
 msgstr ""
 
-#: src/lang.c:1468
+#: src/lang.c:1517
 msgid "  -T       enable NNTPS"
 msgstr ""
 
-#: src/lang.c:1470
+#: src/lang.c:1519
 #, fuzzy
 msgid "  -Q       quick start. Same as -dnq"
 msgstr "  -Q       hurtigstart. Samme som -dnq"
 
-#: src/lang.c:1471
+#: src/lang.c:1520
 msgid "  -r       read news remotely from default NNTP server"
 msgstr "  -r       lÃ¦s nyheder eksternt fra standard-NNTP-server"
 
-#: src/lang.c:1472
+#: src/lang.c:1521
 msgid "  -l       use only LIST instead of GROUP (-n) command"
 msgstr "  -l       brug kun LIST i stedet for GROUP-kommando (-n)"
 
-#: src/lang.c:1473
+#: src/lang.c:1522
 msgid "  -n       only read subscribed .newsrc groups from NNTP server"
 msgstr "  -n       lÃ¦s kun abonnerede .newsrc-grupper fra NNTP-server"
 
-#: src/lang.c:1475
+#: src/lang.c:1524
 msgid "  -4       force connecting via IPv4"
 msgstr "  -4       fremtving forbindelse via IPv4"
 
-#: src/lang.c:1476
+#: src/lang.c:1525
 msgid "  -6       force connecting via IPv6"
 msgstr "  -6       fremtving forbindelse via IPv6"
 
-#: src/lang.c:1477
+#: src/lang.c:1526
 msgid ""
 "\n"
 "socket or connect problem\n"
@@ -5442,7 +5588,7 @@ msgstr ""
 "\n"
 "sokkel- eller forbindelsesproblem\n"
 
-#: src/lang.c:1479
+#: src/lang.c:1528
 #, c-format
 msgid ""
 "\n"
@@ -5451,16 +5597,16 @@ msgstr ""
 "\n"
 "Forbindelse til %s: "
 
-#: src/lang.c:1480
+#: src/lang.c:1529
 msgid "Giving up...\n"
 msgstr "Giver op...\n"
 
-#: src/lang.c:1482
+#: src/lang.c:1531
 #, c-format
 msgid "%s/tcp: Unknown service.\n"
 msgstr "%s/tcp: Ukendt tjeneste.\n"
 
-#: src/lang.c:1486
+#: src/lang.c:1535
 msgid ""
 "Your server does not have Xref: in its XOVER information.\n"
 "Tin will try to use XHDR XREF instead (slows down things a bit).\n"
@@ -5469,89 +5615,89 @@ msgstr ""
 "Tin vil forsÃ¸ge at bruge XHDR XREF i stedet (gÃ¸r tingene en smule "
 "langsommere.\n"
 
-#: src/lang.c:1489
+#: src/lang.c:1538
 msgid "Your server does not have Xref: in its XOVER information.\n"
 msgstr "Din server har ikke Xref: I sin XOVER-information.\n"
 
-#: src/lang.c:1492
+#: src/lang.c:1541
 #, c-format
 msgid "Can't open %s. Try %s -r to read news via NNTP."
 msgstr "Kan ikke Ã¥bne %s. PrÃ¸v %s -r for at lÃ¦se nyheder via NNTP."
 
-#: src/lang.c:1495
+#: src/lang.c:1544
 #, fuzzy
 msgid "  -Q       quick start. Same as -dq"
 msgstr "  -Q       hurtigstart. Samme som -dq"
 
-#: src/lang.c:1496
+#: src/lang.c:1545
 msgid "  -l       read only active file instead of scanning spool (-n) command"
 msgstr "  -l       lÃ¦s kun aktiv fil i stedet for skanningskÃ¸-kommando (-n)"
 
-#: src/lang.c:1497
+#: src/lang.c:1546
 msgid "  -n       only read subscribed .newsrc groups from spool"
 msgstr "  -n       lÃ¦s kun abonnerede .newsrc-grupper fra kÃ¸"
 
-#: src/lang.c:1498
+#: src/lang.c:1547
 msgid "Your server does not have Xref: in its NOV-files.\n"
 msgstr "Din server har ikke Xref: i sine NOV-filer.\n"
 
-#: src/lang.c:1502
+#: src/lang.c:1551
 msgid "Posting using external inews failed. Use built in inews instead?"
 msgstr "Indsendelse via ekstern inews mislykkedes. Brug byg i inews i stedet?"
 
-#: src/lang.c:1503
+#: src/lang.c:1552
 msgid "It worked! Should I always use my built in inews from now on?"
 msgstr "Det virkede! Skal jeg altid brug min bygning i inews fra nu af?"
 
-#: src/lang.c:1507
+#: src/lang.c:1556
 #, c-format
 msgid "%d %s printed"
 msgstr "%d %s udskrevet"
 
-#: src/lang.c:1508
+#: src/lang.c:1557
 msgid "output article/thread/hot/pattern/tagged articles to printer"
 msgstr "send artikel/trÃ¥d/populÃ¦r artikel/mÃ¸nster/mÃ¦rkede artikler til printer"
 
-#: src/lang.c:1509
+#: src/lang.c:1558
 msgid "Print"
 msgstr "Udskriv"
 
-#: src/lang.c:1510
+#: src/lang.c:1559
 msgid "Printing..."
 msgstr "Udskriver ..."
 
-#: src/lang.c:1514
+#: src/lang.c:1563
 #, c-format
 msgid "%d %s piped to \"%s\""
 msgstr "%d %s sendt via datakanal til Â»%sÂ«"
 
-#: src/lang.c:1515
+#: src/lang.c:1564
 msgid "pipe article/thread/hot/pattern/tagged articles into command"
 msgstr ""
 "send artikel/trÃ¥d/populÃ¦r artikel/mÃ¸nster/mÃ¦rkede artikler til kommando"
 
-#: src/lang.c:1516
+#: src/lang.c:1565
 msgid "No command"
 msgstr "Ingen kommando"
 
-#: src/lang.c:1517
+#: src/lang.c:1566
 msgid "Pipe"
 msgstr "Datakanal"
 
-#: src/lang.c:1518
+#: src/lang.c:1567
 #, c-format
 msgid "Pipe to command [%.*s]> "
 msgstr "Datakanal til kommando [%.*s]> "
 
-#: src/lang.c:1519
+#: src/lang.c:1568
 msgid "Piping..."
 msgstr "Via datakanal ..."
 
-#: src/lang.c:1521
+#: src/lang.c:1570
 msgid "Piping not enabled."
 msgstr "Datakanal ikke aktiveret."
 
-#: src/lang.c:1525
+#: src/lang.c:1574
 #, c-format
 msgid ""
 "\n"
@@ -5565,7 +5711,7 @@ msgstr ""
 "      lovlige mellemrum er det adskilt af kolon (:) fra indholdet.\n"
 "      Brug et komma (,) for at adskille flere nyhedsgruppers navne.\n"
 
-#: src/lang.c:1530
+#: src/lang.c:1579
 #, c-format
 msgid ""
 "\n"
@@ -5578,7 +5724,7 @@ msgstr ""
 "      mÃ¥ indeholde blanke felter, er dette ikke tilladt.\n"
 "      Skriv venligst alle nyhedsgrupper i en enkel linje.\n"
 
-#: src/lang.c:1535
+#: src/lang.c:1584
 #, c-format
 msgid ""
 "\n"
@@ -5592,7 +5738,7 @@ msgstr ""
 "          servere. For at undgÃ¥ problemer sÃ¥ skriv alle nyhedsgrupper pÃ¥\n"
 "          en enkelt linje.\n"
 
-#: src/lang.c:1539
+#: src/lang.c:1588
 #, c-format
 msgid ""
 "\n"
@@ -5601,7 +5747,7 @@ msgstr ""
 "\n"
 "Advarsel: Linjen Â»%s:Â« har mellemrum som SKAL fjernes.\n"
 
-#: src/lang.c:1544
+#: src/lang.c:1593
 msgid ""
 "\n"
 "  If your article contains quoted text  please take some time to pare it "
@@ -5623,40 +5769,40 @@ msgid ""
 "  likely to ignore it completely.  It's a crowded net out there.\n"
 msgstr ""
 
-#: src/lang.c:1557
+#: src/lang.c:1606
 msgid "shell escape"
 msgstr ""
 
-#: src/lang.c:1558
+#: src/lang.c:1607
 #, c-format
 msgid "Shell Command (%s)"
 msgstr "Skalkommando (%s)"
 
-#: src/lang.c:1559
+#: src/lang.c:1608
 #, c-format
 msgid "Enter shell command [%s]> "
 msgstr "Indtast skalkommando [%s]> "
 
-#: src/lang.c:1563
+#: src/lang.c:1612
 #, c-format
 msgid "%s: Can't get entry for TERM\n"
 msgstr "%s: Kan ikke indhente post for TERM\n"
 
-#: src/lang.c:1567
+#: src/lang.c:1616
 #, c-format
 msgid "Group %.*s ('q' to quit)..."
 msgstr "Gruppe %.*s (Â»qÂ« for afslut) ..."
 
-#: src/lang.c:1569
+#: src/lang.c:1618
 #, c-format
 msgid "Group %.*s..."
 msgstr "Gruppe %.*s ..."
 
-#: src/lang.c:1573
+#: src/lang.c:1622
 msgid "Server unavailable\n"
 msgstr "Server utilgÃ¦ngelig\n"
 
-#: src/lang.c:1579
+#: src/lang.c:1628
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
@@ -5665,7 +5811,7 @@ msgstr ""
 "%s=datakanal; %s=post; %s=udskriv; %s=afslut; %s=skift alle/ulÃ¦st; %s=gem; "
 "%s=sÃ¦t mÃ¦rke; %s=indsend"
 
-#: src/lang.c:1580
+#: src/lang.c:1629
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
@@ -5673,7 +5819,7 @@ msgstr ""
 "%s=datakanal; %s=post; %s=udskriv; %s=afslut; %s=besvar; %s=gem; %s=sÃ¦t "
 "mÃ¦rke; %s=indsend"
 
-#: src/lang.c:1582
+#: src/lang.c:1631
 #, c-format
 msgid ""
 "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
@@ -5681,13 +5827,13 @@ msgstr ""
 "%s=post; %s=udskriv; %s=afslut; %s=skift alle/ulÃ¦st; %s=gem; %s=sÃ¦t mÃ¦rke; "
 "%s=indsend"
 
-#: src/lang.c:1583
+#: src/lang.c:1632
 #, c-format
 msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=post; %s=udskriv; %s=afslut; %s=besvar; %s=gem; %s=sÃ¦t mÃ¦rke; %s=indsend"
 
-#: src/lang.c:1587
+#: src/lang.c:1636
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
@@ -5695,536 +5841,536 @@ msgstr ""
 "%s=datakanal; %s=post; %s=afslut; %s=skift alle/ulÃ¦st; %s=gem; %s=sÃ¦t mÃ¦rke; "
 "%s=indsend"
 
-#: src/lang.c:1588
+#: src/lang.c:1637
 #, c-format
 msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=datakanal; %s=post; %s=afslut; %s=besvar; %s=gem; %s=sÃ¦t mÃ¦rke; %s=indsend"
 
-#: src/lang.c:1590
+#: src/lang.c:1639
 #, c-format
 msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=post; %s=afslut; %s=skift alle/ulÃ¦st; %s=gem; %s=sÃ¦t mÃ¦rke; %s=indsend"
 
-#: src/lang.c:1591
+#: src/lang.c:1640
 #, c-format
 msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr "%s=post; %s=afslut; %s=besvar; %s=gem; %s=sÃ¦t mÃ¦rke; %s=indsend"
 
-#: src/lang.c:1597
+#: src/lang.c:1646
 msgid "Terminal does not support color"
 msgstr "Terminal understÃ¸tter ikke farver"
 
-#: src/lang.c:1602
+#: src/lang.c:1651
 #, c-format
 msgid "Trying %s"
 msgstr "ForsÃ¸ger %s"
 
-#: src/lang.c:1617
+#: src/lang.c:1666
 msgid "Subject"
 msgstr "Emne"
 
-#: src/lang.c:1618
+#: src/lang.c:1667
 msgid "References"
 msgstr "Referencer"
 
-#: src/lang.c:1619
+#: src/lang.c:1668
 msgid "Both Subject and References"
 msgstr "BÃ¥de emne og referencer"
 
-#: src/lang.c:1620
+#: src/lang.c:1669
 msgid "Multipart Subject"
 msgstr "Emne i flere dele"
 
-#: src/lang.c:1621
+#: src/lang.c:1670
 msgid "Percentage Match"
 msgstr "Procentmatch"
 
-#: src/lang.c:1634 src/lang.c:1725 src/lang.c:1824 src/lang.c:1927
+#: src/lang.c:1683 src/lang.c:1774 src/lang.c:1880 src/lang.c:1983
 msgid "No"
 msgstr "Nej"
 
-#: src/lang.c:1635 src/lang.c:1826
+#: src/lang.c:1684 src/lang.c:1882
 msgid "Yes"
 msgstr "Ja"
 
-#: src/lang.c:1636
+#: src/lang.c:1685
 #, fuzzy
 msgid "Hide all"
 msgstr "Gem alle"
 
-#: src/lang.c:1645
+#: src/lang.c:1694
 msgid "Address"
 msgstr "Adresse"
 
-#: src/lang.c:1646
+#: src/lang.c:1695
 msgid "Full Name"
 msgstr "Fulde navn"
 
-#: src/lang.c:1647
+#: src/lang.c:1696
 msgid "Address and Name"
 msgstr "Adresse og navn"
 
-#: src/lang.c:1655
+#: src/lang.c:1704
 msgid "Max"
 msgstr "Maks."
 
-#: src/lang.c:1656
+#: src/lang.c:1705
 msgid "Sum"
 msgstr "Sum"
 
-#: src/lang.c:1657
+#: src/lang.c:1706
 msgid "Average"
 msgstr "Gennemsnit"
 
-#: src/lang.c:1667 src/lang.c:1687
+#: src/lang.c:1716 src/lang.c:1736
 msgid "Black"
 msgstr "Sort"
 
-#: src/lang.c:1668 src/lang.c:1688
+#: src/lang.c:1717 src/lang.c:1737
 msgid "Red"
 msgstr "RÃ¸d"
 
-#: src/lang.c:1669 src/lang.c:1689
+#: src/lang.c:1718 src/lang.c:1738
 msgid "Green"
 msgstr "GrÃ¸n"
 
-#: src/lang.c:1670 src/lang.c:1690
+#: src/lang.c:1719 src/lang.c:1739
 msgid "Brown"
 msgstr "Brun"
 
-#: src/lang.c:1671 src/lang.c:1691
+#: src/lang.c:1720 src/lang.c:1740
 msgid "Blue"
 msgstr "BlÃ¥"
 
 # Andre muligheder: RÃ¸dviolet
-#: src/lang.c:1672 src/lang.c:1692
+#: src/lang.c:1721 src/lang.c:1741
 msgid "Pink"
 msgstr "Pink"
 
 # Cyan er en blÃ¥/grÃ¸n farve. (kunne ogsÃ¥ bruge turkis som oversÃ¦ttelse).
-#: src/lang.c:1673 src/lang.c:1693
+#: src/lang.c:1722 src/lang.c:1742
 msgid "Cyan"
 msgstr "Cyan"
 
-#: src/lang.c:1674 src/lang.c:1694
+#: src/lang.c:1723 src/lang.c:1743
 msgid "White"
 msgstr "Hvis"
 
-#: src/lang.c:1675
+#: src/lang.c:1724
 msgid "Gray"
 msgstr "GrÃ¥"
 
-#: src/lang.c:1676
+#: src/lang.c:1725
 msgid "Light Red"
 msgstr "LyserÃ¸d"
 
-#: src/lang.c:1677
+#: src/lang.c:1726
 msgid "Light Green"
 msgstr "LysegrÃ¸n"
 
-#: src/lang.c:1678
+#: src/lang.c:1727
 msgid "Yellow"
 msgstr "Gul"
 
-#: src/lang.c:1679
+#: src/lang.c:1728
 msgid "Light Blue"
 msgstr "LyseblÃ¥"
 
-#: src/lang.c:1680
+#: src/lang.c:1729
 msgid "Light Pink"
 msgstr "Lys pink"
 
-#: src/lang.c:1681
+#: src/lang.c:1730
 msgid "Light Cyan"
 msgstr "Lys cyan"
 
-#: src/lang.c:1682
+#: src/lang.c:1731
 msgid "Light White"
 msgstr "Lysehvid"
 
-#: src/lang.c:1703 src/lang.c:1831 src/lang.c:1846
+#: src/lang.c:1752 src/lang.c:1887 src/lang.c:1902
 msgid "Nothing"
 msgstr "Intet"
 
-#: src/lang.c:1705
+#: src/lang.c:1754
 msgid "Space"
 msgstr "Mellemrum"
 
-#: src/lang.c:1713
+#: src/lang.c:1762
 msgid "Normal"
 msgstr "Normal"
 
-#: src/lang.c:1714
+#: src/lang.c:1763
 msgid "Best highlighting"
 msgstr "Bedste fremhÃ¦velse"
 
-#: src/lang.c:1715
+#: src/lang.c:1764
 msgid "Underline"
 msgstr "Understregning"
 
-#: src/lang.c:1716
+#: src/lang.c:1765
 msgid "Reverse video"
 msgstr "Omvendt video"
 
-#: src/lang.c:1717
+#: src/lang.c:1766
 msgid "Blinking"
 msgstr "Blinkende"
 
-#: src/lang.c:1718
+#: src/lang.c:1767
 msgid "Half bright"
 msgstr "Halv lyssÃ¦tning"
 
-#: src/lang.c:1719
+#: src/lang.c:1768
 msgid "Bold"
 msgstr "Fed"
 
-#: src/lang.c:1726
+#: src/lang.c:1775
 msgid "Cc"
 msgstr "Cc"
 
-#: src/lang.c:1727
+#: src/lang.c:1776
 msgid "Bcc"
 msgstr "Bcc"
 
-#: src/lang.c:1728
+#: src/lang.c:1777
 msgid "Cc and Bcc"
 msgstr "Cc og Bcc"
 
-#: src/lang.c:1745 src/lang.c:1758
+#: src/lang.c:1794 src/lang.c:1807
 msgid "none"
 msgstr "ingen"
 
-#: src/lang.c:1746
+#: src/lang.c:1795
 msgid "commands"
 msgstr "kommandoer"
 
-#: src/lang.c:1747
+#: src/lang.c:1796
 msgid "select"
 msgstr "vÃ¦lg"
 
-#: src/lang.c:1749
+#: src/lang.c:1798
 msgid "commands & quit"
 msgstr "kommandoer og afslut"
 
-#: src/lang.c:1750
+#: src/lang.c:1799
 msgid "commands & select"
 msgstr "kommandoer og vÃ¦lg"
 
-#: src/lang.c:1751
+#: src/lang.c:1800
 msgid "quit & select"
 msgstr "afslut og vÃ¦lg"
 
-#: src/lang.c:1752
+#: src/lang.c:1801
 msgid "commands & quit & select"
 msgstr "kommandoer og afslut og vÃ¦lg"
 
-#: src/lang.c:1759
+#: src/lang.c:1808
 msgid "PageDown"
 msgstr "Side ned (PageDown)"
 
-#: src/lang.c:1760
+#: src/lang.c:1809
 msgid "PageNextUnread"
 msgstr "Side nÃ¦ste ulÃ¦st (PageNextUnread)"
 
-#: src/lang.c:1761
+#: src/lang.c:1810
 msgid "PageDown or PageNextUnread"
 msgstr "Side ned eller Side nÃ¦ste ulÃ¦st"
 
-#: src/lang.c:1767
+#: src/lang.c:1816
 msgid "Subject: (case sensitive)"
 msgstr "Subject: (versalfÃ¸lsom)"
 
-#: src/lang.c:1768
+#: src/lang.c:1817
 msgid "Subject: (ignore case)"
 msgstr "Subject: (ikke versalfÃ¸lsom)"
 
-#: src/lang.c:1769
+#: src/lang.c:1818
 msgid "From: (case sensitive)"
 msgstr "From: (versalfÃ¸lsom)"
 
-#: src/lang.c:1770
+#: src/lang.c:1819
 msgid "From: (ignore case)"
 msgstr "From: (ikke versalfÃ¸lsom)"
 
-#: src/lang.c:1771
+#: src/lang.c:1820
 msgid "Msg-ID: & full References: line"
 msgstr "Msg-ID: og fulde References: linje"
 
-#: src/lang.c:1772
+#: src/lang.c:1821
 msgid "Msg-ID: & last References: only"
 msgstr "Msg-ID: og sidste References: kun"
 
-#: src/lang.c:1773
+#: src/lang.c:1822
 msgid "Message-ID: entry only"
 msgstr "Message-ID: kun post"
 
 # lines skal ikke oversÃ¦tttes
-#: src/lang.c:1774
+#: src/lang.c:1823
 msgid "Lines:"
 msgstr "Lines:"
 
-#: src/lang.c:1780
+#: src/lang.c:1829
 msgid "Don't trim article body"
 msgstr "BeskÃ¦r ikke artikeltekst"
 
-#: src/lang.c:1781
+#: src/lang.c:1830
 msgid "Skip leading blank lines"
 msgstr "Spring indledende tomme linjer over"
 
-#: src/lang.c:1782
+#: src/lang.c:1831
 msgid "Skip trailing blank lines"
 msgstr "Spring afsluttende tomme linjer over"
 
-#: src/lang.c:1783
+#: src/lang.c:1832
 msgid "Skip leading and trailing blank l."
 msgstr "Spring indledende og afsluttende tomme linjer over"
 
-#: src/lang.c:1784
+#: src/lang.c:1833
 msgid "Compact multiple between text"
 msgstr "Komprimer flere tomme linjer mellem tekst"
 
-#: src/lang.c:1785
+#: src/lang.c:1834
 msgid "Compact multiple and skip leading"
 msgstr "Komprimer flere tomme linjer og udelad foranstillede"
 
-#: src/lang.c:1786
+#: src/lang.c:1835
 msgid "Compact multiple and skip trailing"
 msgstr "Komprimer flere tomme linjer og udelag efterstillede"
 
-#: src/lang.c:1787
+#: src/lang.c:1836
 msgid "Compact mltpl., skip lead. & trai."
 msgstr "Kompr. fl.tom.linj., udelad for- & efterstil."
 
-#: src/lang.c:1793
+#: src/lang.c:1842
 #, fuzzy
 msgid "Don't show help or mail sign"
 msgstr "Farve pÃ¥ hjÃ¦lp-/posttegn"
 
-#: src/lang.c:1794
+#: src/lang.c:1843
 #, fuzzy
 msgid "Show only help sign"
 msgstr "Farve pÃ¥ hjÃ¦lp-/posttegn"
 
-#: src/lang.c:1795
+#: src/lang.c:1844
 msgid "Show only mail sign if new mail"
 msgstr ""
 
-#: src/lang.c:1796
+#: src/lang.c:1845
 msgid "Show mail if new mail else help s."
 msgstr ""
 
-#: src/lang.c:1825
+#: src/lang.c:1881
 msgid "Shell archive"
 msgstr "Skalarkiv"
 
-#: src/lang.c:1832
+#: src/lang.c:1888
 msgid "Subject: (descending)"
 msgstr "Subject: (faldende)"
 
-#: src/lang.c:1833
+#: src/lang.c:1889
 msgid "Subject: (ascending)"
 msgstr "Subject: (stigende)"
 
-#: src/lang.c:1834
+#: src/lang.c:1890
 msgid "From: (descending)"
 msgstr "From: (faldende)"
 
-#: src/lang.c:1835
+#: src/lang.c:1891
 msgid "From: (ascending)"
 msgstr "From: (stigende)"
 
-#: src/lang.c:1836
+#: src/lang.c:1892
 msgid "Date: (descending)"
 msgstr "Date: (faldende)"
 
-#: src/lang.c:1837
+#: src/lang.c:1893
 msgid "Date: (ascending)"
 msgstr "Date: (stigende)"
 
-#: src/lang.c:1838 src/lang.c:1847
+#: src/lang.c:1894 src/lang.c:1903
 msgid "Score (descending)"
 msgstr "Point (faldende)"
 
-#: src/lang.c:1839 src/lang.c:1848
+#: src/lang.c:1895 src/lang.c:1904
 msgid "Score (ascending)"
 msgstr "Point (stigende)"
 
 # Lines skal ikke oversÃ¦ttes
-#: src/lang.c:1840
+#: src/lang.c:1896
 msgid "Lines: (descending)"
 msgstr "Lines: (faldende)"
 
 # Lines skal ikke oversÃ¦ttes
-#: src/lang.c:1841
+#: src/lang.c:1897
 msgid "Lines: (ascending)"
 msgstr "Lines: (stigende)"
 
-#: src/lang.c:1849
+#: src/lang.c:1905
 msgid "Last posting date (descending)"
 msgstr "Sidste indsendingsdato (faldende)"
 
-#: src/lang.c:1850
+#: src/lang.c:1906
 msgid "Last posting date (ascending)"
 msgstr "Sidste indsendingsdato (stigende)"
 
-#: src/lang.c:1856
+#: src/lang.c:1912
 msgid "Quick-sort"
 msgstr "Hurtigsortering"
 
-#: src/lang.c:1857
+#: src/lang.c:1913
 msgid "Heap-sort"
 msgstr "Bunkesortering"
 
-#: src/lang.c:1864
+#: src/lang.c:1920
 msgid "Always Keep"
 msgstr "Behold altid"
 
-#: src/lang.c:1865
+#: src/lang.c:1921
 msgid "Always Remove"
 msgstr "Fjern altid"
 
-#: src/lang.c:1866
+#: src/lang.c:1922
 msgid "Mark with D on selection screen"
 msgstr "Marker med D pÃ¥ udvÃ¦lgelsesskÃ¦rmen"
 
-#: src/lang.c:1872
+#: src/lang.c:1928
 msgid "Kill only unread arts"
 msgstr "DrÃ¦b kun ulÃ¦st kunst"
 
-#: src/lang.c:1873
+#: src/lang.c:1929
 msgid "Kill all arts & show with K"
 msgstr "DrÃ¦b al kunst og vis med K"
 
 #. TODO: s/K/art_marked_killed/
-#: src/lang.c:1874
+#: src/lang.c:1930
 msgid "Kill all arts and never show"
 msgstr "DrÃ¦b al kunst og vis aldrig"
 
-#: src/lang.c:1880
+#: src/lang.c:1936
 msgid "Nothing special"
 msgstr "Intet specielt"
 
-#: src/lang.c:1881
+#: src/lang.c:1937
 msgid "Compress quotes"
 msgstr "Komprimer citattegn"
 
-#: src/lang.c:1882
+#: src/lang.c:1938
 msgid "Quote signatures"
 msgstr "Citer underskrifter"
 
-#: src/lang.c:1883
+#: src/lang.c:1939
 msgid "Compress quotes, quote sigs"
 msgstr "Komprimer citattegn, citer underskr."
 
-#: src/lang.c:1884
+#: src/lang.c:1940
 msgid "Quote empty lines"
 msgstr "Citater tomme linjer"
 
-#: src/lang.c:1885
+#: src/lang.c:1941
 msgid "Compress quotes, quote empty lines"
 msgstr "Komprimer citattegn, citer tomme linjer"
 
-#: src/lang.c:1886
+#: src/lang.c:1942
 msgid "Quote sigs & empty lines"
 msgstr "Citer underskrifter og tomme linjer"
 
-#: src/lang.c:1887
+#: src/lang.c:1943
 msgid "Comp. q., quote sigs & empty lines"
 msgstr "Kompr. c., citer underskr. og tomme linjer"
 
-#: src/lang.c:1928
+#: src/lang.c:1984
 #, fuzzy
 msgid "With headers"
 msgstr "med teksthoveder"
 
-#: src/lang.c:1929
+#: src/lang.c:1985
 #, fuzzy
 msgid "Without headers"
 msgstr "uden teksthoveder"
 
 # hvad er det her for nogle forkortelser (bevaret pÃ¥ engelsk)
-#: src/lang.c:1936
+#: src/lang.c:1992
 msgid "NFKC"
 msgstr "NFKC"
 
-#: src/lang.c:1938
+#: src/lang.c:1994
 msgid "NFKD"
 msgstr "NFKD"
 
-#: src/lang.c:1939
+#: src/lang.c:1995
 msgid "NFC"
 msgstr "NFC"
 
-#: src/lang.c:1940
+#: src/lang.c:1996
 msgid "NFD"
 msgstr "NFD"
 
-#: src/lang.c:1942
+#: src/lang.c:1998
 msgid "NFKC case fold"
 msgstr ""
 
-#: src/lang.c:1951
+#: src/lang.c:2007
 msgid "Display Options"
 msgstr "Vis indstillinger"
 
-#: src/lang.c:1958
+#: src/lang.c:2014
 msgid "Color Options"
 msgstr "Farveindstillinger"
 
-#: src/lang.c:1964
+#: src/lang.c:2020
 msgid "Highlight Options"
 msgstr "FremhÃ¦velsesindstillinger"
 
-#: src/lang.c:1971
+#: src/lang.c:2027
 msgid "Article-Limiting Options"
 msgstr "ArtikelbegrÃ¦nsende indstillinger"
 
-#: src/lang.c:1977
+#: src/lang.c:2033
 msgid "Posting/Mailing Options"
 msgstr "Indsendelses-/postindstillinger"
 
-#: src/lang.c:1983
+#: src/lang.c:2039
 msgid "Saving/Printing Options"
 msgstr "Gemnings-/udskrivningsindstillinger"
 
-#: src/lang.c:1989
+#: src/lang.c:2045
 msgid "Expert Options"
 msgstr "Ekspertindstillinger"
 
-#: src/lang.c:1995
+#: src/lang.c:2051
 msgid "Filtering Options"
 msgstr "Filterindstillinger"
 
-#: src/lang.c:2000 src/lang.c:2031 src/lang.c:2037 src/lang.c:2064
-#: src/lang.c:2116 src/lang.c:2122 src/lang.c:2132 src/lang.c:2143
-#: src/lang.c:2161 src/lang.c:2172 src/lang.c:2241 src/lang.c:2456
-#: src/lang.c:2462 src/lang.c:2468 src/lang.c:2483 src/lang.c:2495
-#: src/lang.c:2502 src/lang.c:2556 src/lang.c:2565 src/lang.c:2571
-#: src/lang.c:2578 src/lang.c:2585 src/lang.c:2592 src/lang.c:2599
-#: src/lang.c:2606 src/lang.c:2613 src/lang.c:2620 src/lang.c:2627
+#: src/lang.c:2056 src/lang.c:2087 src/lang.c:2093 src/lang.c:2120
+#: src/lang.c:2172 src/lang.c:2178 src/lang.c:2188 src/lang.c:2199
+#: src/lang.c:2217 src/lang.c:2228 src/lang.c:2297 src/lang.c:2512
+#: src/lang.c:2518 src/lang.c:2524 src/lang.c:2539 src/lang.c:2551
+#: src/lang.c:2558 src/lang.c:2612 src/lang.c:2621 src/lang.c:2627
 #: src/lang.c:2634 src/lang.c:2641 src/lang.c:2648 src/lang.c:2655
 #: src/lang.c:2662 src/lang.c:2669 src/lang.c:2676 src/lang.c:2683
 #: src/lang.c:2690 src/lang.c:2697 src/lang.c:2704 src/lang.c:2711
 #: src/lang.c:2718 src/lang.c:2725 src/lang.c:2732 src/lang.c:2739
-#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2761 src/lang.c:2777
-#: src/lang.c:2784 src/lang.c:2791 src/lang.c:2798 src/lang.c:2804
-#: src/lang.c:2810 src/lang.c:2827 src/lang.c:2839 src/lang.c:2874
-#: src/lang.c:2927 src/lang.c:2941 src/lang.c:2947 src/lang.c:2972
-#: src/lang.c:2990 src/lang.c:3007 src/lang.c:3019 src/lang.c:3052
-#: src/lang.c:3081 src/lang.c:3101 src/lang.c:3129 src/lang.c:3139
-#: src/lang.c:3146 src/lang.c:3172 src/lang.c:3196 src/lang.c:3343
-#: src/lang.c:3358 src/lang.c:3366 src/lang.c:3380 src/lang.c:3386
-#: src/lang.c:3424
+#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2760 src/lang.c:2767
+#: src/lang.c:2774 src/lang.c:2781 src/lang.c:2788 src/lang.c:2795
+#: src/lang.c:2802 src/lang.c:2809 src/lang.c:2817 src/lang.c:2833
+#: src/lang.c:2840 src/lang.c:2847 src/lang.c:2854 src/lang.c:2860
+#: src/lang.c:2866 src/lang.c:2889 src/lang.c:2901 src/lang.c:2936
+#: src/lang.c:2989 src/lang.c:3003 src/lang.c:3009 src/lang.c:3034
+#: src/lang.c:3052 src/lang.c:3069 src/lang.c:3081 src/lang.c:3114
+#: src/lang.c:3143 src/lang.c:3163 src/lang.c:3190 src/lang.c:3200
+#: src/lang.c:3207 src/lang.c:3233 src/lang.c:3257 src/lang.c:3412
+#: src/lang.c:3427 src/lang.c:3435 src/lang.c:3449 src/lang.c:3455
+#: src/lang.c:3493
 msgid "<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr "<MELLEMRUM> skifter, <CR> Ã¦ndrer, <ESC> afbryder."
 
-#: src/lang.c:2001
+#: src/lang.c:2057
 msgid "Show mini menu & posting etiquette"
 msgstr "Vis minimenu og indlÃ¦gsetikette"
 
-#: src/lang.c:2002
+#: src/lang.c:2058
 msgid ""
 "# If ON show a mini menu of useful commands at each level\n"
 "# and posting etiquette after composing an article\n"
@@ -6232,17 +6378,17 @@ msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ vis en minimenu med nyttige kommandoer pÃ¥ hvert niveau\n"
 "# og indlÃ¦gsetikette efter komponering af en artikel\n"
 
-#: src/lang.c:2007
+#: src/lang.c:2063
 msgid "Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Vis kort beskrivelse for hver nyhedsgruppe. <MELLEMRUM> skifter og <CR> "
 "Ã¦ndrer."
 
-#: src/lang.c:2008
+#: src/lang.c:2064
 msgid "Show description of each newsgroup"
 msgstr "Vis beskrivelse af hver nyhedsgruppe"
 
-#: src/lang.c:2009
+#: src/lang.c:2065
 msgid ""
 "# If ON show group description text after newsgroup name at\n"
 "# group selection level\n"
@@ -6250,7 +6396,7 @@ msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ vis gruppebeskrivelsestekst efter nyhedsgruppenavn\n"
 "# pÃ¥ gruppemarkeringsniveau\n"
 
-#: src/lang.c:2014
+#: src/lang.c:2070
 msgid ""
 "Show From (author) fields in group & thread level. <SPACE> toggles & <CR> "
 "sets."
@@ -6258,11 +6404,11 @@ msgstr ""
 "Vis Fra-felter (forfatter) i gruppe- og trÃ¥dniveau. <MELLEMRUM> skifter og "
 "<CR> Ã¦ndrer."
 
-#: src/lang.c:2015
+#: src/lang.c:2071
 msgid "In group and thread level, show author by"
 msgstr "I gruppe- og trÃ¥dniveau, vis forfatter efter"
 
-#: src/lang.c:2016
+#: src/lang.c:2072
 msgid ""
 "# Part of From field to display in group and thread level\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6278,36 +6424,36 @@ msgstr ""
 "# * 2 = fulde navn\n"
 "#   3 = begge\n"
 
-#: src/lang.c:2025
+#: src/lang.c:2081
 msgid "Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Tegn -> eller fremhÃ¦vet bjÃ¦lke for markering. <MELLEMRUM> skifter og <CR> "
 "Ã¦ndrer."
 
-#: src/lang.c:2026
+#: src/lang.c:2082
 msgid "Draw -> instead of highlighted bar"
 msgstr "Tegn -> i stedet for fremhÃ¦vet bjÃ¦lke"
 
-#: src/lang.c:2027
+#: src/lang.c:2083
 msgid "# If ON use -> otherwise highlighted bar for selection\n"
 msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ brug -> ellers brug fremhÃ¦vet bjÃ¦lke for markering\n"
 
-#: src/lang.c:2032
+#: src/lang.c:2088
 msgid "Use inverse video for page headers"
 msgstr "Brug omvendt video for sideteksthoveder"
 
-#: src/lang.c:2033
+#: src/lang.c:2089
 msgid "# If ON use inverse video for page headers at different levels\n"
 msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ brug omvendt video for sideteksthoveder pÃ¥ forskellige "
 "niveauer\n"
 
-#: src/lang.c:2038
+#: src/lang.c:2094
 msgid "Thread articles by"
 msgstr "TrÃ¥dopdel artikler efter"
 
-#: src/lang.c:2039
+#: src/lang.c:2095
 msgid ""
 "# Thread articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6327,15 +6473,15 @@ msgstr ""
 "#   4 = Emne med flere dele\n"
 "#   5 = Procentmatch\n"
 
-#: src/lang.c:2050
+#: src/lang.c:2106
 msgid "Enter percentage match required to thread together. <CR> sets."
 msgstr "Indtast procentmatch krÃ¦vet for at lave trÃ¥de. <CR> Ã¦ndrer."
 
-#: src/lang.c:2051
+#: src/lang.c:2107
 msgid "Thread percentage match"
 msgstr "TrÃ¥dprocentmatch"
 
-#: src/lang.c:2053
+#: src/lang.c:2109
 #, no-c-format
 msgid ""
 "# Thread percentage match...\n"
@@ -6350,11 +6496,11 @@ msgid ""
 "# 'harppy' would be threaded separately from 'happy'\n"
 msgstr ""
 
-#: src/lang.c:2065
+#: src/lang.c:2121
 msgid "Score of a thread"
 msgstr "BedÃ¸mmelse for en trÃ¥d"
 
-#: src/lang.c:2066
+#: src/lang.c:2122
 msgid ""
 "# Thread score\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6368,18 +6514,18 @@ msgstr ""
 "#   1 = sum\n"
 "#   2 = gennemsnit\n"
 
-#: src/lang.c:2074
+#: src/lang.c:2130
 msgid ""
 "Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Sorter artikler efter Emne, Fra, Dato eller BedÃ¸mmelse. <MELLEMRUM> skifter "
 "og <CR> Ã¦ndrer."
 
-#: src/lang.c:2075
+#: src/lang.c:2131
 msgid "Sort articles by"
 msgstr "Sorter artikler efter"
 
-#: src/lang.c:2076
+#: src/lang.c:2132
 msgid ""
 "# Sort articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6409,17 +6555,17 @@ msgstr ""
 "#   9 = Linjer faldende\n"
 "#  10 = Linjer stigende\n"
 
-#: src/lang.c:2092
+#: src/lang.c:2148
 msgid "Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Sorter trÃ¥de efter intet eller bedÃ¸mmelse. <MELLEMRUM> skifter og <CR> "
 "Ã¦ndrer."
 
-#: src/lang.c:2093
+#: src/lang.c:2149
 msgid "Sort threads by"
 msgstr "Sorter trÃ¥de efter"
 
-#: src/lang.c:2094
+#: src/lang.c:2150
 msgid ""
 "# Sort thread by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6430,53 +6576,53 @@ msgid ""
 "#   4 = Last posting date ascending\n"
 msgstr ""
 
-#: src/lang.c:2104
+#: src/lang.c:2160
 msgid ""
 "Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Placer markÃ¸r pÃ¥ fÃ¸rste/sidste ulÃ¦ste artikel i grupper. <MELLEMRUM> skifter "
 "og <CR> Ã¦ndrer."
 
-#: src/lang.c:2105
+#: src/lang.c:2161
 msgid "Go to first unread article in group"
 msgstr "GÃ¥ til den fÃ¸rste ulÃ¦ste artikel i gruppe"
 
-#: src/lang.c:2106
+#: src/lang.c:2162
 msgid "# If ON put cursor at first unread art in group otherwise last art\n"
 msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ placer markÃ¸r ved fÃ¸rste ulÃ¦ste artikel i gruppen "
 "ellers\n"
 "  ved sidste artikel\n"
 
-#: src/lang.c:2110
+#: src/lang.c:2166
 msgid "Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Vis alle artikler eller kun ulÃ¦ste artikler. <MELLEMRUM> skifter og <CR> "
 "Ã¦ndrer."
 
-#: src/lang.c:2111
+#: src/lang.c:2167
 msgid "Show only unread articles"
 msgstr "Vis kun ulÃ¦ste artikler"
 
-#: src/lang.c:2112
+#: src/lang.c:2168
 msgid "# If ON show only new/unread articles otherwise show all.\n"
 msgstr "# Hvis slÃ¥et til, sÃ¥ vis kun nye/ulÃ¦ste artikler ellers vis alle.\n"
 
-#: src/lang.c:2117
+#: src/lang.c:2173
 msgid "Show only groups with unread arts"
 msgstr "Vis kun grupper med ulÃ¦st kunst"
 
-#: src/lang.c:2118
+#: src/lang.c:2174
 msgid "# If ON show only subscribed to groups that contain unread articles.\n"
 msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ vis kun abonnerede grupper som indeholder ulÃ¦ste "
 "artikler.\n"
 
-#: src/lang.c:2123
+#: src/lang.c:2179
 msgid "Filter which articles"
 msgstr "Filtrer hvilke artikler"
 
-#: src/lang.c:2124
+#: src/lang.c:2180
 msgid ""
 "# Filter which articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6485,11 +6631,11 @@ msgid ""
 "#   2 = kill all articles and never show them\n"
 msgstr ""
 
-#: src/lang.c:2133
+#: src/lang.c:2189
 msgid "Go to the next unread article with"
 msgstr "GÃ¥ til den nÃ¦ste ulÃ¦ste artikel med"
 
-#: src/lang.c:2134
+#: src/lang.c:2190
 msgid ""
 "# Go to the unread article with following key(s)\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6499,11 +6645,11 @@ msgid ""
 "#   3 = PAGE DOWN or TAB\n"
 msgstr ""
 
-#: src/lang.c:2144
+#: src/lang.c:2200
 msgid "How to treat blank lines"
 msgstr "Hvordan tomme linjer skal behandles"
 
-#: src/lang.c:2145
+#: src/lang.c:2201
 msgid ""
 "# Trim the article body, remove unnecessary blank lines.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6520,11 +6666,11 @@ msgid ""
 "#       leading and trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:2162
+#: src/lang.c:2218
 msgid "Show help/mail sign in level titles"
 msgstr ""
 
-#: src/lang.c:2163
+#: src/lang.c:2219
 msgid ""
 "# Show help sign, new mail sign, both or nothing in level titles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6534,27 +6680,27 @@ msgid ""
 "# * 3 = Show mail sign if new mail has arrived else show help sign\n"
 msgstr ""
 
-#: src/lang.c:2173
+#: src/lang.c:2229
 msgid "List thread using right arrow key"
 msgstr "Vis trÃ¥d via hÃ¸jre piletast"
 
-#: src/lang.c:2174
+#: src/lang.c:2230
 msgid ""
 "# If ON automatically list thread when entering it using right arrow key.\n"
 msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ vis automatisk trÃ¥d nÃ¥r den vÃ¦lges via hÃ¸jre piletast.\n"
 
-#: src/lang.c:2178
+#: src/lang.c:2234
 msgid "Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Indtast tegnet som skal angive slettede artikler. <CR> Ã¦ndrer, <ESC> "
 "afbryder."
 
-#: src/lang.c:2179
+#: src/lang.c:2235
 msgid "Character to show deleted articles"
 msgstr "Tegn til at vise slettede artikler"
 
-#: src/lang.c:2180
+#: src/lang.c:2236
 msgid ""
 "# Character used to show that an art was deleted (default 'D')\n"
 "# _ is turned into ' '\n"
@@ -6562,18 +6708,18 @@ msgstr ""
 "# Tegn brugt til at vise, at en artikel blev slettet (standard Â»DÂ«)\n"
 "# _ Ã¦ndres til ' '\n"
 
-#: src/lang.c:2185
+#: src/lang.c:2241
 msgid ""
 "Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 msgstr ""
 "Indtast tegnet som skal angive artikler i et interval. <CR> Ã¦ndrer, <ESC> "
 "afbryder."
 
-#: src/lang.c:2186
+#: src/lang.c:2242
 msgid "Character to show inrange articles"
 msgstr "Tegn til at vise artikler i et interval"
 
-#: src/lang.c:2187
+#: src/lang.c:2243
 msgid ""
 "# Character used to show that an art is in a range (default '#')\n"
 "# _ is turned into ' '\n"
@@ -6581,7 +6727,7 @@ msgstr ""
 "# Tegn brugt til at vise, at en artikel er i et interval (standard Â»#Â«)\n"
 "# _ Ã¦ndres til ' '\n"
 
-#: src/lang.c:2192
+#: src/lang.c:2248
 msgid ""
 "Enter character to indicate that article will return. <CR> sets, <ESC> "
 "cancels."
@@ -6589,11 +6735,11 @@ msgstr ""
 "Indtast tegnet som skal angive at artikel vil returnere. <CR> Ã¦ndrer, <ESC> "
 "afbryder."
 
-#: src/lang.c:2193
+#: src/lang.c:2249
 msgid "Character to show returning arts"
 msgstr "Tegn til at vise returnerende artikler"
 
-#: src/lang.c:2194
+#: src/lang.c:2250
 msgid ""
 "# Character used to show that an art will return (default '-')\n"
 "# _ is turned into ' '\n"
@@ -6601,17 +6747,17 @@ msgstr ""
 "# Tegn brugt til at vise, at en artikel vil returnere (standard Â»-Â«)\n"
 "# _ Ã¦ndres til ' '\n"
 
-#: src/lang.c:2199
+#: src/lang.c:2255
 msgid ""
 "Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Indtast tegnet som skal angive valgte artikler. <CR> Ã¦ndrer, <ESC> afbryder."
 
-#: src/lang.c:2200
+#: src/lang.c:2256
 msgid "Character to show selected articles"
 msgstr "Tegn der viser valgte artikler"
 
-#: src/lang.c:2201
+#: src/lang.c:2257
 msgid ""
 "# Character used to show that an art was auto-selected (default '*')\n"
 "# _ is turned into ' '\n"
@@ -6620,16 +6766,16 @@ msgstr ""
 "'*')\n"
 "# _ Ã¦ndres til ' '\n"
 
-#: src/lang.c:2206
+#: src/lang.c:2262
 msgid "Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Indtast tegn for at indikere seneste artikler. <CR> Ã¦ndrer, <ESC> afbryder."
 
-#: src/lang.c:2207
+#: src/lang.c:2263
 msgid "Character to show recent articles"
 msgstr "Tegn til at vise seneste artikler"
 
-#: src/lang.c:2208
+#: src/lang.c:2264
 msgid ""
 "# Character used to show that an art is recent (default 'o')\n"
 "# _ is turned into ' '\n"
@@ -6637,16 +6783,16 @@ msgstr ""
 "# Tegn brugt til at vise, at en artikel er ny (standard 'o')\n"
 "# _ Ã¦ndres til ' '\n"
 
-#: src/lang.c:2213
+#: src/lang.c:2269
 msgid "Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Indtast tegnet som skal angive ulÃ¦ste artikler. <CR> Ã¦ndrer, <ESC> afbryder."
 
-#: src/lang.c:2214
+#: src/lang.c:2270
 msgid "Character to show unread articles"
 msgstr "Tegn til visning af ulÃ¦ste artikler"
 
-#: src/lang.c:2215
+#: src/lang.c:2271
 msgid ""
 "# Character used to show that an art is unread (default '+')\n"
 "# _ is turned into ' '\n"
@@ -6654,16 +6800,16 @@ msgstr ""
 "# Tegn brugt til at vise, at en artikel er ulÃ¦st (standard '+')\n"
 "# _ Ã¦ndres til ' '\n"
 
-#: src/lang.c:2220
+#: src/lang.c:2276
 msgid "Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Indtast tegn til at angive lÃ¦ste artikler. <CR> Ã¦ndrer, <ESC> afbryder."
 
-#: src/lang.c:2221
+#: src/lang.c:2277
 msgid "Character to show read articles"
 msgstr "Tegn til at vise lÃ¦ste artikler"
 
-#: src/lang.c:2222
+#: src/lang.c:2278
 msgid ""
 "# Character used to show that an art was read (default ' ')\n"
 "# _ is turned into ' '\n"
@@ -6671,16 +6817,16 @@ msgstr ""
 "# Tegn bruges til at vise, at en artikel er lÃ¦st (standard ' ')\n"
 "# _ Ã¦ndres til ' '\n"
 
-#: src/lang.c:2227
+#: src/lang.c:2283
 msgid "Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Indtast tegn til at indikere drÃ¦bte artikler. <CR> Ã¦ndrer, <ESC> afbryder."
 
-#: src/lang.c:2228
+#: src/lang.c:2284
 msgid "Character to show killed articles"
 msgstr "Tegn til at vise drÃ¦bte artikler"
 
-#: src/lang.c:2229
+#: src/lang.c:2285
 msgid ""
 "# Character used to show that an art was killed (default 'K')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
@@ -6688,18 +6834,18 @@ msgstr ""
 "# Tegn brugt til at vise, at en artikel er drÃ¦bt (standard 'K')\n"
 "# kill_level skal angives jÃ¦vnfÃ¸r dette, _ Ã¦ndres til ' '\n"
 
-#: src/lang.c:2234
+#: src/lang.c:2290
 msgid ""
 "Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Indtast tegnet som skal angive lÃ¦ste valgte artikler. <CR> Ã¦ndrer, <ESC> "
 "afbryder."
 
-#: src/lang.c:2235
+#: src/lang.c:2291
 msgid "Character to show readselected arts"
 msgstr "Tegn brugt til at vise lÃ¦sevalgte artikler"
 
-#: src/lang.c:2236
+#: src/lang.c:2292
 msgid ""
 "# Character used to show that an art was selected before read (default ':')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
@@ -6708,11 +6854,11 @@ msgstr ""
 "':')\n"
 "# kill_level skal angives jÃ¦vnfÃ¸r dette, _ Ã¦ndres til ' '\n"
 
-#: src/lang.c:2242
+#: src/lang.c:2298
 msgid "Abbreviate long newsgroup names"
 msgstr "Forkort lange nyhedsgruppenavne"
 
-#: src/lang.c:2243
+#: src/lang.c:2299
 msgid ""
 "# If ON abbreviate (if necessary) long newsgroup names at group selection\n"
 "# level and article level like this:\n"
@@ -6723,7 +6869,7 @@ msgstr ""
 "# markeringsniveau og artikelniveau sÃ¥ledes:\n"
 "#   news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n"
 
-#: src/lang.c:2249
+#: src/lang.c:2305
 msgid ""
 "0 = full page scrolling, -1 = show previous last line as first on next page, "
 "-2 = half page"
@@ -6731,11 +6877,11 @@ msgstr ""
 "0 = fuld siderulning, -1 = vis forrige sidste linje som fÃ¸rste pÃ¥ nÃ¦ste "
 "side, -2 = halv side"
 
-#: src/lang.c:2250
+#: src/lang.c:2306
 msgid "Number of lines to scroll in pager"
 msgstr "Antallet af linjer at rulle i tekstsÃ¸geren"
 
-#: src/lang.c:2251
+#: src/lang.c:2307
 msgid ""
 "# Number of lines that cursor-up/down will scroll in article pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6753,60 +6899,60 @@ msgstr ""
 "# * 1 = linje efter linje\n"
 "#   2 eller stÃ¸rre = rul med 2 eller flere linjer (kun i artikelsÃ¸geren)\n"
 
-#: src/lang.c:2261
+#: src/lang.c:2317
 msgid "Display signatures. <SPACE> toggles & <CR> sets."
 msgstr "Vis underskrifter. <MELLEMRUM> skifter og <CR> Ã¦ndrer."
 
-#: src/lang.c:2262
+#: src/lang.c:2318
 msgid "Display signatures"
 msgstr "Vis underskrifter"
 
-#: src/lang.c:2263
+#: src/lang.c:2319
 msgid "# If OFF don't show signatures when displaying articles\n"
 msgstr "# Hvis OFF (FRA) sÃ¥ vis ikke underskrifter nÃ¥r der vises artikler\n"
 
-#: src/lang.c:2267
+#: src/lang.c:2323
 #, fuzzy
 msgid "Display article score. <SPACE> toggles & <CR> sets."
 msgstr "Vis underskrifter. <MELLEMRUM> skifter og <CR> Ã¦ndrer."
 
-#: src/lang.c:2268
+#: src/lang.c:2324
 #, fuzzy
-msgid "Display article score"
+msgid "Display article score in pager"
 msgstr "vis nÃ¦ste artikel"
 
-#: src/lang.c:2269
+#: src/lang.c:2325
 #, fuzzy
 msgid "# If ON show article score when displaying articles\n"
 msgstr "# Hvis OFF (FRA) sÃ¥ vis ikke underskrifter nÃ¥r der vises artikler\n"
 
-#: src/lang.c:2274
+#: src/lang.c:2330
 #, fuzzy
 msgid "Remove soft hyphens. <SPACE> toggles & <CR> sets."
 msgstr "Vis underskrifter. <MELLEMRUM> skifter og <CR> Ã¦ndrer."
 
-#: src/lang.c:2275
+#: src/lang.c:2331
 #, fuzzy
 msgid "Remove soft hyphens"
 msgstr "flyt virkefelt"
 
-#: src/lang.c:2276
+#: src/lang.c:2332
 #, fuzzy
 msgid "# If ON remove soft hyphens when displaying articles\n"
 msgstr "# Hvis OFF (FRA) sÃ¥ vis ikke underskrifter nÃ¥r der vises artikler\n"
 
-#: src/lang.c:2281
+#: src/lang.c:2337
 msgid ""
 "Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Vis Â»uuencodedÂ« data som mÃ¦rkede vedhÃ¦ftninger. <MELLEMRUM> skifter og <CR> "
 "Ã¦ndrer."
 
-#: src/lang.c:2282
+#: src/lang.c:2338
 msgid "Display uue data as an attachment"
 msgstr "Vis uue-data som en vedhÃ¦ftning"
 
-#: src/lang.c:2283
+#: src/lang.c:2339
 #, fuzzy
 msgid ""
 "# Handling of uuencoded data in the pager\n"
@@ -6829,18 +6975,18 @@ msgstr ""
 "vil\n"
 "#       blive foldet til en mÃ¦rkelinje.\n"
 
-#: src/lang.c:2293
+#: src/lang.c:2349
 msgid ""
 "Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Afkod tysk udformning af TeX-umlautkoder til ISO. <MELLEMRUM> skifter og "
 "<CR> Ã¦ndrer."
 
-#: src/lang.c:2294
+#: src/lang.c:2350
 msgid "Display \"a as Umlaut-a"
 msgstr "Vis \"a som umlaut-a"
 
-#: src/lang.c:2295
+#: src/lang.c:2351
 msgid ""
 "# If ON decode German style TeX umlaut codes to ISO and\n"
 "# show \"a as Umlaut-a, etc.\n"
@@ -6848,15 +6994,15 @@ msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ afkod TeX-umlautkoder i tysk stil til ISO\n"
 "# og vis \"a som Umlaut-a, etc.\n"
 
-#: src/lang.c:2300 src/lang.c:2310
+#: src/lang.c:2356 src/lang.c:2366
 msgid "Space separated list of header fields"
 msgstr "Mellemrumsadskilt liste med teksthovedfelter"
 
-#: src/lang.c:2301
+#: src/lang.c:2357
 msgid "Display these header fields (or *)"
 msgstr "Vis disse teksthovedfelter (eller *)"
 
-#: src/lang.c:2302
+#: src/lang.c:2358
 msgid ""
 "# Which news headers you wish to see. If you want to see _all_ the headers,\n"
 "# place an '*' as this value. This is the only way a wildcard can be used.\n"
@@ -6866,11 +7012,11 @@ msgid ""
 "# spaces. Not defining anything turns off this option.\n"
 msgstr ""
 
-#: src/lang.c:2311
+#: src/lang.c:2367
 msgid "Do not display these header fields"
 msgstr "Vis ikke disse teksthovedfelter"
 
-#: src/lang.c:2312
+#: src/lang.c:2368
 msgid ""
 "# Same as 'news_headers_to_display' except it denotes the opposite.\n"
 "# An example of using both options might be if you thought X- headers were\n"
@@ -6882,79 +7028,79 @@ msgid ""
 "# Not defining anything turns off this option.\n"
 msgstr ""
 
-#: src/lang.c:2322
+#: src/lang.c:2378
 msgid ""
 "Do you want to enable automatic handling of multipart/alternative articles?"
 msgstr ""
 "Ã˜nsker du at aktivere automatisk hÃ¥ndtering af flerdels-/alternative "
 "artikler?"
 
-#: src/lang.c:2323
+#: src/lang.c:2379
 msgid "Skip multipart/alternative parts"
 msgstr "Udelad multipart/alternative dele"
 
-#: src/lang.c:2324
+#: src/lang.c:2380
 msgid "# If ON strip multipart/alternative messages automatically\n"
 msgstr "# Hvis slÃ¥et til, sÃ¥ fjern multipart/alternative beskeder automatisk\n"
 
-#: src/lang.c:2328
+#: src/lang.c:2384
 msgid "Enable detection of verbatim blocks? <SPACE> toggles & <CR> sets."
 msgstr ""
 "Aktiver detektion af verbatimblokke? <MELLEMRUM> skifter og <CR> Ã¦ndrer."
 
-#: src/lang.c:2329
+#: src/lang.c:2385
 msgid "Detection of verbatim blocks"
 msgstr "Detektering af verbatimblokke"
 
-#: src/lang.c:2330
+#: src/lang.c:2386
 msgid "# If ON detect verbatim blocks in articles\n"
 msgstr "# Hvis slÃ¥et til, sÃ¥ detekter verbatimblokke i artikler\n"
 
-#: src/lang.c:2335
+#: src/lang.c:2391
 msgid "A regex used to decide which lines to show in col_quote."
 msgstr ""
 "Et regulÃ¦rt udtryk som bruges til at bestemme hvilke linjer der skal vises i "
 "col_quote."
 
-#: src/lang.c:2336
+#: src/lang.c:2392
 msgid "Regex used to show quoted lines"
 msgstr "RegulÃ¦rt udtryk som bruges til at vise citerede linjer"
 
-#: src/lang.c:2337
+#: src/lang.c:2393
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2343
+#: src/lang.c:2399
 msgid "A regex used to decide which lines to show in col_quote2."
 msgstr ""
 "Et regulÃ¦rt udtryk som bruges til at bestemme hvilke linjer der vises i "
 "col_quote2."
 
-#: src/lang.c:2344
+#: src/lang.c:2400
 msgid "Regex used to show twice quoted l."
 msgstr "RegulÃ¦rt udtryk som bruges til at vise dobbeltciterede l."
 
-#: src/lang.c:2345
+#: src/lang.c:2401
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted twice. Twice quoted lines are shown in col_quote2.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2351
+#: src/lang.c:2407
 msgid "A regex used to decide which lines to show in col_quote3."
 msgstr ""
 "Et regulÃ¦rt udtryk brugt til at beslutte hvilke linjer der vises i "
 "col_quota3."
 
-#: src/lang.c:2352
+#: src/lang.c:2408
 msgid "Regex used to show >= 3 times q.l."
 msgstr "RegulÃ¦rt udtryk som bruges til at vise >= 3 gange q.l."
 
-#: src/lang.c:2353
+#: src/lang.c:2409
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
@@ -6964,33 +7110,33 @@ msgstr ""
 "# der er citerede >=3 gange. >=3 gange citerede linjer vises i col_quote3.\n"
 "# Hvis denne efterlades tom bruger tin en indbygget standard.\n"
 
-#: src/lang.c:2359
+#: src/lang.c:2415
 msgid "Enable detection of external quotes? <SPACE> toggles & <CR> sets."
 msgstr ""
 "Aktiver detektion af eksternt citationstegn? <MELLEMRUM> skifter og <CR> "
 "Ã¦ndrer."
 
-#: src/lang.c:2360
+#: src/lang.c:2416
 msgid "Detection of external quotes"
 msgstr "Detektering af eksterne citationstegn"
 
-#: src/lang.c:2361
+#: src/lang.c:2417
 msgid "# If ON detect quoted text from external sources in articles\n"
 msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ detekteres citeret tekst fra eksterne kilder i "
 "artikler\n"
 
-#: src/lang.c:2365
+#: src/lang.c:2421
 msgid "A regex used to decide which lines to show in col_extquote."
 msgstr ""
 "Et regulÃ¦rt udtryk som bruges til at bestemme hvilke linjer der skal vises i "
 "col_extquote."
 
-#: src/lang.c:2366
+#: src/lang.c:2422
 msgid "Regex used to show quotes from external sources"
 msgstr "RegulÃ¦rt udtryk som bruges til at vise citationer fra eksterne kilder"
 
-#: src/lang.c:2367
+#: src/lang.c:2423
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# external quotes. Text from external quotes is shown in col_extquote.\n"
@@ -7000,34 +7146,34 @@ msgstr ""
 "# der er eksterne citater. Tekst fra eksterne citater vises i col_extquote.\n"
 "# Hvis denne efterlades tom, bruger tin en indbygget standard.\n"
 
-#: src/lang.c:2374
+#: src/lang.c:2430
 msgid "A regex used to decide which words to show in col_markslashes."
 msgstr ""
 "Et regulÃ¦rt udtryk som bruges til at bestemme hvilke ord, der skal vises i "
 "col_markslashes."
 
-#: src/lang.c:2375
+#: src/lang.c:2431
 msgid "Regex used to highlight /slashes/"
 msgstr "RegulÃ¦rt udtryk som bruges til at fremhÃ¦ve /slashes/"
 
-#: src/lang.c:2376
+#: src/lang.c:2432
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '/' are to be shown in col_markslashes.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2382
+#: src/lang.c:2438
 msgid "A regex used to decide which words to show in col_markstars."
 msgstr ""
 "Et regulÃ¦rt udtryk som bruges til at bestemme hvilke ord, der skal vises i "
 "col_markstars."
 
-#: src/lang.c:2383
+#: src/lang.c:2439
 msgid "Regex used to highlight *stars*"
 msgstr "RegulÃ¦rt udtryk som bruges til at fremhÃ¦ve *stjerner*"
 
-#: src/lang.c:2384
+#: src/lang.c:2440
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '*' are to be shown in col_markstars.\n"
@@ -7037,17 +7183,17 @@ msgstr ""
 "# omgrÃ¦nset af '*', der skal vises i col_markstars.\n"
 "# Hvis efterladt blank, sÃ¥ vil tin bruge en indbygget standard.\n"
 
-#: src/lang.c:2390
+#: src/lang.c:2446
 msgid "A regex used to decide which words to show in col_markstroke."
 msgstr ""
 "Et regulÃ¦rt udtryk som bruges til at beslutte hvilke ord, der skal vises i "
 "col_markstroke."
 
-#: src/lang.c:2391
+#: src/lang.c:2447
 msgid "Regex used to highlight -strokes-"
 msgstr "RegulÃ¦rt udtryk som bruges til at fremhÃ¦ve -strokes-"
 
-#: src/lang.c:2392
+#: src/lang.c:2448
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '-' are to be shown in col_markstroke.\n"
@@ -7057,17 +7203,17 @@ msgstr ""
 "# omgrÃ¦nset af '-', der skal vises i col_markstroke.\n"
 "# Hvis efterladt blank, sÃ¥ vil tin bruge en indbygget standard.\n"
 
-#: src/lang.c:2398
+#: src/lang.c:2454
 msgid "A regex used to decide which words to show in col_markdash."
 msgstr ""
 "Et regulÃ¦rt udtryk som bruges til at beslutte hvilke ord, der skal vises i "
 "col_markdash."
 
-#: src/lang.c:2399
+#: src/lang.c:2455
 msgid "Regex used to highlight _underline_"
 msgstr "RegulÃ¦rt udtryk som bruges til at fremhÃ¦ve _underline_"
 
-#: src/lang.c:2400
+#: src/lang.c:2456
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '_' are to be shown in col_markdash.\n"
@@ -7077,17 +7223,17 @@ msgstr ""
 "# omgrÃ¦nset af '_', der skal vises i col_markdash.\n"
 "# Hvis efterladt blank, sÃ¥ vil tin bruge en indbygget standard.\n"
 
-#: src/lang.c:2406
+#: src/lang.c:2462
 msgid "A regex used to find Subject prefixes to remove.  Use '|' as separator."
 msgstr ""
 "Et regulÃ¦rt udtryk som bruges til at finde emneprÃ¦fikser, der skal fjernes. "
 "Brug Â»|Â« som adskillelsestegn."
 
-#: src/lang.c:2407
+#: src/lang.c:2463
 msgid "Regex with Subject prefixes"
 msgstr "RegulÃ¦rt udtryk med emneprÃ¦fikser"
 
-#: src/lang.c:2408
+#: src/lang.c:2464
 msgid ""
 "# A regular expression that tin will use to find Subject prefixes\n"
 "# which will be removed before showing the header.\n"
@@ -7095,17 +7241,17 @@ msgstr ""
 "# Et regulÃ¦rt udtryk som tin vil bruge til at finde emneprÃ¦fikser\n"
 "# som vil blive fjernet fÃ¸r teksthovedet vises.\n"
 
-#: src/lang.c:2413
+#: src/lang.c:2469
 msgid "A regex used to find Subject suffixes to remove.  Use '|' as separator."
 msgstr ""
 "Et regulÃ¦rt udtryk som bruges til at finde emnesuffikser, der skal fjernes. "
 "Brug Â»|Â« som adskillelsestegn."
 
-#: src/lang.c:2414
+#: src/lang.c:2470
 msgid "Regex with Subject suffixes"
 msgstr "RegulÃ¦rt udtryk med emnesuffikser"
 
-#: src/lang.c:2415
+#: src/lang.c:2471
 msgid ""
 "# A regular expression that tin will use to find Subject suffixes\n"
 "# which will be removed when replying or posting followup.\n"
@@ -7113,16 +7259,16 @@ msgstr ""
 "# Et regulÃ¦rt udtryk som tin vil bruge til at finde emnesuffikser,\n"
 "# som vil blive fjernet, nÃ¥r der svares eller sendes opfÃ¸lgninger.\n"
 
-#: src/lang.c:2420
+#: src/lang.c:2476
 msgid "A regex used to find the begin of a verbatim block."
 msgstr ""
 "Et regulÃ¦rt udtryk som bruges til at finde begyndelsen af en verbatimblok."
 
-#: src/lang.c:2421
+#: src/lang.c:2477
 msgid "Regex for begin of a verbatim block"
 msgstr "RegulÃ¦rt udtryk for begyndelsen pÃ¥ en verbatimblok"
 
-#: src/lang.c:2422
+#: src/lang.c:2478
 msgid ""
 "# A regular expression that tin will use to find the begin of\n"
 "# a verbatim block.\n"
@@ -7130,16 +7276,16 @@ msgstr ""
 "# Et regulÃ¦rt udtryk som tin vil bruge til at finde begyndelsen\n"
 "# af en verbatimblok.\n"
 
-#: src/lang.c:2427
+#: src/lang.c:2483
 msgid "A regex used to find the end of a verbatim block."
 msgstr ""
 "Et regulÃ¦rt udtryk som bruges til at finde slutningen af en verbatimblok."
 
-#: src/lang.c:2428
+#: src/lang.c:2484
 msgid "Regex for end of a verbatim block"
 msgstr "RegulÃ¦rt udtryk for slutningen pÃ¥ en verbatimblok"
 
-#: src/lang.c:2429
+#: src/lang.c:2485
 msgid ""
 "# A regular expression that tin will use to find the end of\n"
 "# a verbatim block.\n"
@@ -7147,7 +7293,7 @@ msgstr ""
 "# Et regulÃ¦rt udtryk som tin vil bruge til at finde slutningen\n"
 "# af en verbatimblok.\n"
 
-#: src/lang.c:2434
+#: src/lang.c:2490
 msgid ""
 "Enter name and options for external MIME viewer, --internal for built-in "
 "viewer"
@@ -7155,11 +7301,11 @@ msgstr ""
 "Indtast navn og tilvalg for ekstern MIME-fremviser, --internal for indbygget "
 "fremviser"
 
-#: src/lang.c:2435
+#: src/lang.c:2491
 msgid "MIME binary content viewer"
 msgstr "Fremviser for MIME-binÃ¦rt indhold"
 
-#: src/lang.c:2436
+#: src/lang.c:2492
 #, fuzzy
 msgid ""
 "# If --internal automatically use the built in MIME viewer for non-text\n"
@@ -7175,15 +7321,15 @@ msgstr ""
 "efterlades tom\n"
 "# for ingen automatisk visning\n"
 
-#: src/lang.c:2443
+#: src/lang.c:2499
 msgid "Confirm before starting non-text viewing program"
 msgstr "BekrÃ¦ft fÃ¸r start af visningsprogram for ikke-tekst"
 
-#: src/lang.c:2444
+#: src/lang.c:2500
 msgid "Ask before using MIME viewer"
 msgstr "SpÃ¸rg fÃ¸r brug af MIME-fremviser"
 
-#: src/lang.c:2445
+#: src/lang.c:2501
 msgid ""
 "# If ON tin will ask before using metamail to display MIME messages\n"
 "# this only happens if metamail_prog is set to something\n"
@@ -7192,40 +7338,40 @@ msgstr ""
 "vise MIME-beskeder\n"
 "# dette sker kun hvis metamail_prog har en vÃ¦rdi\n"
 
-#: src/lang.c:2450
+#: src/lang.c:2506
 msgid "Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 msgstr ""
 "SpÃ¸rg om at markere grupper som lÃ¦st nÃ¥r der afsluttes. <MELLEMRUM> skifter "
 "& <CR> Ã¦ndrer."
 
-#: src/lang.c:2451
+#: src/lang.c:2507
 msgid "Catchup read groups when quitting"
 msgstr "Opsaml lÃ¦ste grupper ved afslutning"
 
-#: src/lang.c:2452
+#: src/lang.c:2508
 msgid "# If ON ask user if read groups should all be marked read\n"
 msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ spÃ¸rg brugeren om lÃ¦ste grupper skal markeres lÃ¦st\n"
 
-#: src/lang.c:2457
+#: src/lang.c:2513
 msgid "Catchup group using left key"
 msgstr "Opsaml gruppe med venstre tast"
 
-#: src/lang.c:2458
+#: src/lang.c:2514
 msgid "# If ON catchup group/thread when leaving with the left arrow key.\n"
 msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ opsaml gruppe/trÃ¥d hvis omrÃ¥det forlades med venstre "
 "piletast.\n"
 
-#: src/lang.c:2463
+#: src/lang.c:2519
 msgid "Catchup thread by using left key"
 msgstr "Opsaml trÃ¥de med venstre tast"
 
-#: src/lang.c:2469
+#: src/lang.c:2525
 msgid "Which actions require confirmation"
 msgstr "Hvilke-handliger krÃ¦ver bekrÃ¦ftelse"
 
-#: src/lang.c:2470
+#: src/lang.c:2526
 #, fuzzy
 msgid ""
 "# What should we ask confirmation for.\n"
@@ -7248,85 +7394,85 @@ msgstr ""
 "#   4 = Emne med flere dele\n"
 "#   5 = Procentmatch\n"
 
-#: src/lang.c:2484
+#: src/lang.c:2540
 msgid "'Mark as (un)read' ignores tags"
 msgstr "Â»Marker som (u)lÃ¦stÂ« ignorerer mÃ¦rker"
 
-#: src/lang.c:2485
+#: src/lang.c:2541
 msgid ""
 "# If ON the 'Mark as (un)read' function marks only the current article.\n"
 msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ markerer funktionen Â»Marker som (u)lÃ¦stÂ« kun den\n"
 "# nuvÃ¦rende artikel.\n"
 
-#: src/lang.c:2489
+#: src/lang.c:2545
 msgid "Program to run to open URLs, <CR> sets, <ESC> cancels."
 msgstr "Program der kÃ¸res ved Ã¥bning af adresser. <CR> Ã¦ndrer, <ESC> afbryder."
 
-#: src/lang.c:2490
+#: src/lang.c:2546
 msgid "Program that opens URLs"
 msgstr "Program som Ã¥bner adresser (URL'er)"
 
-#: src/lang.c:2491
+#: src/lang.c:2547
 msgid "# The program used to open URLs. The actual URL will be appended\n"
 msgstr ""
 "# Programmet brugt til at Ã¥bne URL'er. Den aktuelle URL vil blive tilfÃ¸jet\n"
 
-#: src/lang.c:2496
+#: src/lang.c:2552
 msgid "Use mouse in xterm"
 msgstr "Anvend mus i xterm"
 
-#: src/lang.c:2497
+#: src/lang.c:2553
 msgid "# If ON enable mouse button support on xterm terminals\n"
 msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ aktiver understÃ¸ttelse af museknap pÃ¥ xterm-terminaler\n"
 
-#: src/lang.c:2503
+#: src/lang.c:2559
 msgid "Use scroll keys on keypad"
 msgstr "Brug rultaster pÃ¥ numerisk tastatur"
 
-#: src/lang.c:2504
+#: src/lang.c:2560
 msgid "# If ON enable scroll keys on terminals that support it\n"
 msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ aktiver rulletaster pÃ¥ terminaler som understÃ¸tter "
 "dette\n"
 
-#: src/lang.c:2509
+#: src/lang.c:2565
 msgid "Enter maximum number of article to get. <CR> sets."
 msgstr "Indtast maksimalt antal artikler at hente. <CR> Ã¦ndrer."
 
-#: src/lang.c:2510
+#: src/lang.c:2566
 msgid "Number of articles to get"
 msgstr "Antal artikler til hentning"
 
-#: src/lang.c:2511
+#: src/lang.c:2567
 msgid ""
 "# Number of articles to get (0=no limit), if negative sets maximum number\n"
 "# of already read articles to be read before first unread one\n"
 msgstr ""
 
-#: src/lang.c:2516
+#: src/lang.c:2572
 msgid "Enter number of days article is considered recent. <CR> sets."
 msgstr "Indtast antallet af dage som en artikel ses som ny. <CR> Ã¦ndrer."
 
-#: src/lang.c:2517
+#: src/lang.c:2573
 msgid "Article recentness time limit"
 msgstr "TidsbegrÃ¦nsning for nye artikler"
 
-#: src/lang.c:2518
+#: src/lang.c:2574
 msgid "# Number of days in which article is considered recent, (0=OFF)\n"
 msgstr "# Antallet af dage som en artikel ses som ny, (0=OFF)\n"
 
-#: src/lang.c:2522
+#: src/lang.c:2578
 msgid ""
 "WILDMAT for normal wildcards, REGEX for full regular expression matching."
 msgstr "WILDMAT for normale jokertegn, REGEX for fuld regulÃ¦r udtryksmatch."
 
-#: src/lang.c:2523
+#: src/lang.c:2579
 msgid "Wildcard matching"
 msgstr "Jokertegnmatch"
 
-#: src/lang.c:2524
+#: src/lang.c:2580
 msgid ""
 "# Wildcard matching\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7338,60 +7484,60 @@ msgstr ""
 "# * 0 = wildmat\n"
 "#   1 = regex\n"
 
-#: src/lang.c:2531
+#: src/lang.c:2587
 msgid "Enter minimal score before an article is marked killed. <CR> sets."
 msgstr "Indtast minimumspoint fÃ¸r en artikel markeres som drÃ¦bt. <CR> Ã¦ndrer."
 
-#: src/lang.c:2532
+#: src/lang.c:2588
 msgid "Score limit (kill)"
 msgstr "PointbegrÃ¦nsning (drÃ¦b)"
 
-#: src/lang.c:2533
+#: src/lang.c:2589
 msgid "# Score limit before an article is marked killed\n"
 msgstr "# PointbegrÃ¦nsning fÃ¸r en artikel markeres som drÃ¦bt\n"
 
-#: src/lang.c:2537
+#: src/lang.c:2593
 msgid "Enter default score to kill articles. <CR> sets."
 msgstr "Indtast pointtal for at drÃ¦be artikler. <CR> Ã¦ndrer."
 
-#: src/lang.c:2538
+#: src/lang.c:2594
 msgid "Default score to kill articles"
 msgstr "Pointtal for at drÃ¦be artikler"
 
-#: src/lang.c:2539
+#: src/lang.c:2595
 msgid "# Default score to kill articles\n"
 msgstr "# Pointtal for at drÃ¦be artikler\n"
 
-#: src/lang.c:2543
+#: src/lang.c:2599
 msgid "Enter minimal score before an article is marked hot. <CR> sets."
 msgstr ""
 "Indtast minimumspoint fÃ¸r en artikel markeres som populÃ¦r. <CR> Ã¦ndrer."
 
-#: src/lang.c:2544
+#: src/lang.c:2600
 msgid "Score limit (select)"
 msgstr "PointbegrÃ¦nsning (vÃ¦lg)"
 
-#: src/lang.c:2545
+#: src/lang.c:2601
 msgid "# Score limit before an article is marked hot\n"
 msgstr "# PointbegrÃ¦nsning fÃ¸r en artikel er markeret som populÃ¦r\n"
 
-#: src/lang.c:2549
+#: src/lang.c:2605
 msgid "Enter default score to select articles. <CR> sets."
 msgstr "Indtast pointtal for at vÃ¦lge artikler. <CR> Ã¦ndrer."
 
-#: src/lang.c:2550
+#: src/lang.c:2606
 msgid "Default score to select articles"
 msgstr "Pointtal for at vÃ¦lge artikler"
 
-#: src/lang.c:2551
+#: src/lang.c:2607
 msgid "# Default score to select articles\n"
 msgstr "# Pointtal for at vÃ¦lge artikler\n"
 
-#: src/lang.c:2557
+#: src/lang.c:2613
 msgid "Use slrnface to show ''X-Face:''s"
 msgstr "Brug slmface for at vise ''X-face:''s"
 
-#: src/lang.c:2558
+#: src/lang.c:2614
 msgid ""
 "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 "# Only useful when running in an xterm.\n"
@@ -7399,19 +7545,19 @@ msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ brug  slrnface(1) til at fortolke ''X-Face:''-\n"
 "# -teksthoved. Kun nyttig under afvikling i en xterm.\n"
 
-#: src/lang.c:2566
+#: src/lang.c:2622
 msgid "Use ANSI color"
 msgstr "Brug ANSI-farve"
 
-#: src/lang.c:2567
+#: src/lang.c:2623
 msgid "# If ON using ANSI-color\n"
 msgstr "# Hvis slÃ¥et til, sÃ¥ brug ANSI-farve\n"
 
-#: src/lang.c:2572
+#: src/lang.c:2628
 msgid "Standard foreground color"
 msgstr "Standardforgrundsfarve"
 
-#: src/lang.c:2573
+#: src/lang.c:2629
 msgid ""
 "# Standard foreground color\n"
 "# Default: -1 (default color)\n"
@@ -7419,11 +7565,11 @@ msgstr ""
 "# Standardforgrundsfarve\n"
 "# Standard: -1 (standardfarve)\n"
 
-#: src/lang.c:2579
+#: src/lang.c:2635
 msgid "Standard background color"
 msgstr "Standardbaggrundsfarve"
 
-#: src/lang.c:2580
+#: src/lang.c:2636
 msgid ""
 "# Standard background color\n"
 "# Default: -1 (default color)\n"
@@ -7431,11 +7577,11 @@ msgstr ""
 "# Standardbaggrundsfarve\n"
 "# Standard: -1 (standardfarve)\n"
 
-#: src/lang.c:2586
+#: src/lang.c:2642
 msgid "Color for inverse text (background)"
 msgstr "Farve for inverteret tekst (baggrund)"
 
-#: src/lang.c:2587
+#: src/lang.c:2643
 msgid ""
 "# Color of background for inverse text\n"
 "# Default: 4 (blue)\n"
@@ -7443,11 +7589,11 @@ msgstr ""
 "# Farve pÃ¥ baggrund for inverteret tekst\n"
 "# Standard: 4 (blÃ¥)\n"
 
-#: src/lang.c:2593
+#: src/lang.c:2649
 msgid "Color for inverse text (foreground)"
 msgstr "Farve pÃ¥ inverteret tekst (forgrund)"
 
-#: src/lang.c:2594
+#: src/lang.c:2650
 msgid ""
 "# Color of foreground for inverse text\n"
 "# Default: 7 (white)\n"
@@ -7455,11 +7601,11 @@ msgstr ""
 "# Farve pÃ¥ forgrund for inverteret tekst\n"
 "# Standard: 7 (hvid)\n"
 
-#: src/lang.c:2600
+#: src/lang.c:2656
 msgid "Color of text lines"
 msgstr "Farve pÃ¥ tekstlinjer"
 
-#: src/lang.c:2601
+#: src/lang.c:2657
 msgid ""
 "# Color of text lines\n"
 "# Default: -1 (default color)\n"
@@ -7467,11 +7613,11 @@ msgstr ""
 "# Farve pÃ¥ tekstlinjer\n"
 "# Standard: -1 (standardfarve)\n"
 
-#: src/lang.c:2607
+#: src/lang.c:2663
 msgid "Color of mini help menu"
 msgstr "Farve pÃ¥ minihjÃ¦lpemenu"
 
-#: src/lang.c:2608
+#: src/lang.c:2664
 msgid ""
 "# Color of mini help menu\n"
 "# Default: 3 (brown)\n"
@@ -7479,11 +7625,11 @@ msgstr ""
 "# Farve pÃ¥ minihjÃ¦lpemenu\n"
 "# Standard: 3 (brun)\n"
 
-#: src/lang.c:2614
+#: src/lang.c:2670
 msgid "Color of help text"
 msgstr "Farve pÃ¥ hjÃ¦lpetekst"
 
-#: src/lang.c:2615
+#: src/lang.c:2671
 msgid ""
 "# Color of help pages\n"
 "# Default: -1 (default color)\n"
@@ -7491,11 +7637,11 @@ msgstr ""
 "# Farve pÃ¥ hjÃ¦lpesider\n"
 "# Standard: -1 (standardfarve)\n"
 
-#: src/lang.c:2621
+#: src/lang.c:2677
 msgid "Color of status messages"
 msgstr "Farve pÃ¥ statusbeskeder"
 
-#: src/lang.c:2622
+#: src/lang.c:2678
 msgid ""
 "# Color of messages in last line\n"
 "# Default: 6 (cyan)\n"
@@ -7503,11 +7649,11 @@ msgstr ""
 "# Farve pÃ¥ beskeder i sidste linje\n"
 "# Standard: 6 (cyan)\n"
 
-#: src/lang.c:2628
+#: src/lang.c:2684
 msgid "Color of quoted lines"
 msgstr "Farve pÃ¥ citerede linjer"
 
-#: src/lang.c:2629
+#: src/lang.c:2685
 msgid ""
 "# Color of quote-lines\n"
 "# Default: 2 (green)\n"
@@ -7515,21 +7661,21 @@ msgstr ""
 "# Farve pÃ¥ citeringslinjer\n"
 "# Standard: 2 (grÃ¸n)\n"
 
-#: src/lang.c:2635
+#: src/lang.c:2691
 msgid "Color of twice quoted line"
 msgstr "Farve pÃ¥ dobbelt citerede linjer"
 
-#: src/lang.c:2636
+#: src/lang.c:2692
 msgid ""
 "# Color of twice quoted lines\n"
 "# Default: 3 (brown)\n"
 msgstr "# Farve pÃ¥ dobbelt citerede linjer# Standard: 3 (brun)\n"
 
-#: src/lang.c:2642
+#: src/lang.c:2698
 msgid "Color of =>3 times quoted line"
 msgstr "Farve pÃ¥ =>3 gange citerede linje"
 
-#: src/lang.c:2643
+#: src/lang.c:2699
 msgid ""
 "# Color of >=3 times quoted lines\n"
 "# Default: 4 (blue)\n"
@@ -7537,11 +7683,11 @@ msgstr ""
 "# Farve pÃ¥ >=3 gange citerede linjer\n"
 "# Standard: 4 (blÃ¥)\n"
 
-#: src/lang.c:2649
+#: src/lang.c:2705
 msgid "Color of article header lines"
 msgstr "Farve pÃ¥ artikelhovedlinjer"
 
-#: src/lang.c:2650
+#: src/lang.c:2706
 msgid ""
 "# Color of header-lines\n"
 "# Default: 2 (green)\n"
@@ -7550,11 +7696,11 @@ msgstr ""
 "# Standard: 2 (grÃ¸n)\n"
 
 # actual, er det sÃ¥dan noget som "faktiske" eller "rigtige" her, jeg er i tvivl
-#: src/lang.c:2656
+#: src/lang.c:2712
 msgid "Color of actual news header fields"
 msgstr "Farve pÃ¥ aktuelle nyhedshovedfelter"
 
-#: src/lang.c:2657
+#: src/lang.c:2713
 msgid ""
 "# Color of actual news header fields\n"
 "# Default: 9 (light red)\n"
@@ -7562,11 +7708,11 @@ msgstr ""
 "# Farve pÃ¥ aktuelle nyhedshovedfelter\n"
 "# Standard: 9 (lyserÃ¸d)\n"
 
-#: src/lang.c:2663
+#: src/lang.c:2719
 msgid "Color of article subject lines"
 msgstr "Farve pÃ¥ artikelemnelinjer"
 
-#: src/lang.c:2664
+#: src/lang.c:2720
 msgid ""
 "# Color of article subject\n"
 "# Default: 6 (cyan)\n"
@@ -7574,11 +7720,11 @@ msgstr ""
 "# Farve pÃ¥ artikelemne\n"
 "# Standard: 6 (cyan)\n"
 
-#: src/lang.c:2670
+#: src/lang.c:2726
 msgid "Color of external quotes"
 msgstr "Farve pÃ¥ eksterne citater"
 
-#: src/lang.c:2671
+#: src/lang.c:2727
 msgid ""
 "# Color of quoted text from external sources\n"
 "# Default: 5 (pink)\n"
@@ -7586,11 +7732,11 @@ msgstr ""
 "# Farve pÃ¥ citeret tekst fra eksterne kilder\n"
 "# Standard: 5 (lyserÃ¸d)\n"
 
-#: src/lang.c:2677
+#: src/lang.c:2733
 msgid "Color of response counter"
 msgstr "Farve pÃ¥ svartÃ¦ller"
 
-#: src/lang.c:2678
+#: src/lang.c:2734
 msgid ""
 "# Color of response counter\n"
 "# Default: 2 (green)\n"
@@ -7598,11 +7744,11 @@ msgstr ""
 "# Farve pÃ¥ svartÃ¦ller\n"
 "# Standard: 2 (grÃ¸n)\n"
 
-#: src/lang.c:2684
+#: src/lang.c:2740
 msgid "Color of sender (From:)"
 msgstr "Farver pÃ¥ afsender (From:)"
 
-#: src/lang.c:2685
+#: src/lang.c:2741
 msgid ""
 "# Color of sender (From:)\n"
 "# Default: 2 (green)\n"
@@ -7610,11 +7756,11 @@ msgstr ""
 "# Farve pÃ¥ afsender (From:)\n"
 "# Standard: 2 (grÃ¸n)\n"
 
-#: src/lang.c:2691
+#: src/lang.c:2747
 msgid "Color of help/mail sign"
 msgstr "Farve pÃ¥ hjÃ¦lp-/posttegn"
 
-#: src/lang.c:2692
+#: src/lang.c:2748
 msgid ""
 "# Color of Help/Mail-Sign\n"
 "# Default: 4 (blue)\n"
@@ -7622,11 +7768,11 @@ msgstr ""
 "# Farve pÃ¥ hjÃ¦lp-/posttegn\n"
 "# Standard: 4 (blÃ¥)\n"
 
-#: src/lang.c:2698
+#: src/lang.c:2754
 msgid "Color of signatures"
 msgstr "Farve pÃ¥ underskrifter"
 
-#: src/lang.c:2699
+#: src/lang.c:2755
 msgid ""
 "# Color of signature\n"
 "# Default: 4 (blue)\n"
@@ -7634,12 +7780,12 @@ msgstr ""
 "# Farve pÃ¥ underskrift\n"
 "# Standard: 4 (blÃ¥)\n"
 
-#: src/lang.c:2705
+#: src/lang.c:2761
 #, fuzzy
 msgid "Color of negative score"
 msgstr "Farve pÃ¥ tekstlinjer"
 
-#: src/lang.c:2706
+#: src/lang.c:2762
 #, fuzzy
 msgid ""
 "# Color of negative score\n"
@@ -7648,12 +7794,12 @@ msgstr ""
 "# Farve pÃ¥ underskrift\n"
 "# Standard: 4 (blÃ¥)\n"
 
-#: src/lang.c:2712
+#: src/lang.c:2768
 #, fuzzy
 msgid "Color of positive score"
 msgstr "Farve pÃ¥ svartÃ¦ller"
 
-#: src/lang.c:2713
+#: src/lang.c:2769
 #, fuzzy
 msgid ""
 "# Color of positive score\n"
@@ -7662,11 +7808,11 @@ msgstr ""
 "# Farve pÃ¥ svartÃ¦ller\n"
 "# Standard: 2 (grÃ¸n)\n"
 
-#: src/lang.c:2719
+#: src/lang.c:2775
 msgid "Color of highlighted URLs"
 msgstr "Farve pÃ¥ fremhÃ¦vede URL'er"
 
-#: src/lang.c:2720
+#: src/lang.c:2776
 msgid ""
 "# Color of highlighted URLs\n"
 "# Default: -1 (default color)\n"
@@ -7674,11 +7820,11 @@ msgstr ""
 "# Farve pÃ¥ fremhÃ¦vede URL'er\n"
 "# Standard: -1 (standardfarve)\n"
 
-#: src/lang.c:2726
+#: src/lang.c:2782
 msgid "Color of verbatim blocks"
 msgstr "Farve pÃ¥ verbatimblokke"
 
-#: src/lang.c:2727
+#: src/lang.c:2783
 msgid ""
 "# Color of verbatim blocks\n"
 "# Default: 5 (pink)\n"
@@ -7686,11 +7832,11 @@ msgstr ""
 "# Farve pÃ¥ verbatimblokke\n"
 "# Standard: 5 (lyserÃ¸d)\n"
 
-#: src/lang.c:2733
+#: src/lang.c:2789
 msgid "Color of highlighting with *stars*"
 msgstr "Farve pÃ¥ fremhÃ¦vninger med *stjerner*"
 
-#: src/lang.c:2734
+#: src/lang.c:2790
 msgid ""
 "# Color of word highlighting with *stars*\n"
 "# Default: 11 (yellow)\n"
@@ -7698,11 +7844,11 @@ msgstr ""
 "# Farve pÃ¥ ordfremhÃ¦vninger med *stjerner*\n"
 "# Standard: 11 (gul)\n"
 
-#: src/lang.c:2740
+#: src/lang.c:2796
 msgid "Color of highlighting with _dash_"
 msgstr "Farve pÃ¥ fremhÃ¦vning med _streg_"
 
-#: src/lang.c:2741
+#: src/lang.c:2797
 msgid ""
 "# Color of word highlighting with _dash_\n"
 "# Default: 13 (light pink)\n"
@@ -7710,11 +7856,11 @@ msgstr ""
 "# Farve pÃ¥ ordfremhÃ¦vning med _streg_\n"
 "# Standard: 13 (lyselilla)\n"
 
-#: src/lang.c:2747
+#: src/lang.c:2803
 msgid "Color of highlighting with /slash/"
 msgstr "Farve pÃ¥ fremhÃ¦vninger med /skrÃ¥streg/"
 
-#: src/lang.c:2748
+#: src/lang.c:2804
 msgid ""
 "# Color of word highlighting with /slash/\n"
 "# Default: 14 (light cyan)\n"
@@ -7724,11 +7870,11 @@ msgstr ""
 
 # Er det ikke stroke der er skrÃ¥skreg?
 # nej den er god nok med at slahs er skrÃ¥streg ligesom der stÃ¥r fÃ¸r
-#: src/lang.c:2754
+#: src/lang.c:2810
 msgid "Color of highlighting with -stroke-"
 msgstr "Farve pÃ¥ fremhÃ¦vning med -bindestreg-"
 
-#: src/lang.c:2755
+#: src/lang.c:2811
 msgid ""
 "# Color of word highlighting with -stroke-\n"
 "# Default: 12 (light blue)\n"
@@ -7736,11 +7882,11 @@ msgstr ""
 "# Farve pÃ¥ ordfremhÃ¦vning med -bindestreg-\n"
 "# Standard: 12 (lysblÃ¥)\n"
 
-#: src/lang.c:2762
+#: src/lang.c:2818
 msgid "Attr. of highlighting with *stars*"
 msgstr "Attr. pÃ¥ fremhÃ¦vninger med *stjerner*"
 
-#: src/lang.c:2763
+#: src/lang.c:2819
 msgid ""
 "# Attributes of word highlighting on mono terminals\n"
 "# Possible values are:\n"
@@ -7768,57 +7914,57 @@ msgstr ""
 "# Attribut pÃ¥ ordfremhÃ¦vning med *stjerner*\n"
 "# Standard: 6 (fed)\n"
 
-#: src/lang.c:2778
+#: src/lang.c:2834
 msgid "Attr. of highlighting with _dash_"
 msgstr ""
 
-#: src/lang.c:2779
+#: src/lang.c:2835
 msgid ""
 "# Attribute of word highlighting with _dash_\n"
 "# Default: 2 (best highlighting)\n"
 msgstr ""
 
-#: src/lang.c:2785
+#: src/lang.c:2841
 msgid "Attr. of highlighting with /slash/"
 msgstr "Attr. for fremhÃ¦velse med /slash/"
 
-#: src/lang.c:2786
+#: src/lang.c:2842
 msgid ""
 "# Attribute of word highlighting with /slash/\n"
 "# Default: 5 (half bright)\n"
 msgstr ""
 
-#: src/lang.c:2792
+#: src/lang.c:2848
 msgid "Attr. of highlighting with -stroke-"
 msgstr ""
 
-#: src/lang.c:2793
+#: src/lang.c:2849
 msgid ""
 "# Attribute of word highlighting with -stroke-\n"
 "# Default: 3 (reverse video)\n"
 msgstr ""
 
-#: src/lang.c:2799
+#: src/lang.c:2855
 msgid "URL highlighting in message body"
 msgstr "AdressefremhÃ¦velse i beskedens tekstomrÃ¥de"
 
-#: src/lang.c:2800
+#: src/lang.c:2856
 msgid "# Enable URL highlighting?\n"
 msgstr "# Aktiver adressefremhÃ¦velse?\n"
 
-#: src/lang.c:2805
+#: src/lang.c:2861
 msgid "Word highlighting in message body"
 msgstr "OrdfremhÃ¦velse i beskedens tekstomrÃ¥de"
 
-#: src/lang.c:2806
+#: src/lang.c:2862
 msgid "# Enable word highlighting?\n"
 msgstr "# Aktiver ordfremhÃ¦velse?\n"
 
-#: src/lang.c:2811
+#: src/lang.c:2867
 msgid "What to display instead of mark"
 msgstr ""
 
-#: src/lang.c:2812
+#: src/lang.c:2868
 msgid ""
 "# Should the leading and ending stars and dashes also be displayed,\n"
 "# even when they are highlighting marks?\n"
@@ -7828,63 +7974,78 @@ msgid ""
 "# * 2 = print a space instead\n"
 msgstr ""
 
-#: src/lang.c:2821
+#: src/lang.c:2877
 msgid "Enter column number to wrap article lines to in the pager. <CR> sets."
 msgstr ""
 "Indtast kolonnenummer at ombryde artikellinjer i artikelsÃ¸geren. <CR> Ã¦ndrer."
 
-#: src/lang.c:2822
+#: src/lang.c:2878
 msgid "Page line wrap column"
 msgstr "Sidelinjens ombrydningskolonne"
 
-#: src/lang.c:2823
+#: src/lang.c:2879
 msgid "# Wrap article lines at column\n"
 msgstr "# Ombryd artikellinjer ved kolonne\n"
 
-#: src/lang.c:2828
+#: src/lang.c:2883
+#, fuzzy
+msgid ""
+"If ON, don't break words when wrapping lines. <SPACE> toggles & <CR> sets."
+msgstr ""
+"TilfÃ¸j underskrift nÃ¥r artikler gensendes. <MELLEMRUM> SKIFTER & <CR> Ã¦ndrer."
+
+#: src/lang.c:2884
+msgid "Don't break words when wrapping"
+msgstr ""
+
+#: src/lang.c:2885
+msgid "# Don't break long lines inside a word but on <SPACE> or <TAB>\n"
+msgstr ""
+
+#: src/lang.c:2890
 msgid "Wrap around threads on next unread"
 msgstr "Medtag trÃ¥de i nÃ¦ste ulÃ¦ste"
 
-#: src/lang.c:2829
+#: src/lang.c:2891
 msgid "# If ON wrap around threads on searching next unread article\n"
 msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ medtag trÃ¥de ved sÃ¸gning efter nÃ¦ste ulÃ¦ste artikel\n"
 
-#: src/lang.c:2833
+#: src/lang.c:2895
 msgid "Enter default mail address (and fullname). <CR> sets."
 msgstr "Indtast standardpostadresse (og fulde navn). <CR> Ã¦ndrer."
 
-#: src/lang.c:2834 src/lang.c:3405
+#: src/lang.c:2896 src/lang.c:3474
 msgid "Mail address (and fullname)"
 msgstr "Postadresse (og fulde navn)"
 
-#: src/lang.c:2835
+#: src/lang.c:2897
 msgid "# User's mail address (and fullname), if not username@host (fullname)\n"
 msgstr ""
 "# Brugers postadresse (og fulde navn), hvis ikke username@host (fulde navn)\n"
 
-#: src/lang.c:2840
+#: src/lang.c:2902
 msgid "Show empty Followup-To in editor"
 msgstr "Vis tomme Followup-To i redigeringsprogrammet"
 
-#: src/lang.c:2841
+#: src/lang.c:2903
 msgid "# If ON show empty Followup-To header when editing an article\n"
 msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ vis tomme Followup-To-teksthoveder nÃ¥r en artikel "
 "redigeres\n"
 
-#: src/lang.c:2845
+#: src/lang.c:2907
 msgid ""
 "Enter path/! command/--none to create your default signature. <CR> sets."
 msgstr ""
 "Indtast path/! command/--none for at oprette din standardunderskrift. <CR> "
 "Ã¦ndrer."
 
-#: src/lang.c:2846
+#: src/lang.c:2908
 msgid "Create signature from path/command"
 msgstr "Opret underskrift fra path/command (sti/kommando)"
 
-#: src/lang.c:2847
+#: src/lang.c:2909
 #, c-format
 msgid ""
 "# Signature path (random sigs)/file to be used when posting/replying\n"
@@ -7894,44 +8055,44 @@ msgid ""
 "# sigfile=--none     don't append a signature\n"
 msgstr ""
 
-#: src/lang.c:2855
+#: src/lang.c:2917
 msgid ""
 "Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Foranstil underskrift med \"-- \" pÃ¥ egen linje. <MELLEMRUM> skifter & <CR> "
 "Ã¦ndrer."
 
-#: src/lang.c:2856
+#: src/lang.c:2918
 msgid "Prepend signature with \"-- \""
 msgstr "Foranstil underskrift med \"-- \""
 
-#: src/lang.c:2857
+#: src/lang.c:2919
 msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n"
 msgstr "# Hvis slÃ¥et til, sÃ¥ foranstil signaturen med streger Â»\\n-- \\nÂ«\n"
 
-#: src/lang.c:2861
+#: src/lang.c:2923
 msgid "Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 "TilfÃ¸j underskrift nÃ¥r artikler gensendes. <MELLEMRUM> SKIFTER & <CR> Ã¦ndrer."
 
-#: src/lang.c:2862
+#: src/lang.c:2924
 msgid "Add signature when reposting"
 msgstr "TilfÃ¸j signatur ved genindsendelse"
 
-#: src/lang.c:2863
+#: src/lang.c:2925
 msgid "# If ON add signature to reposted articles\n"
 msgstr "# Hvis slÃ¥et til, sÃ¥ tilfÃ¸j signatur til genindsendte artikler\n"
 
-#: src/lang.c:2867
+#: src/lang.c:2929
 #, fuzzy
 msgid "Enter quotation marks, %I for author's initials."
 msgstr "Indtast anfÃ¸rselstegn, %I for forfatters initialer."
 
-#: src/lang.c:2868
+#: src/lang.c:2930
 msgid "Characters used as quote-marks"
 msgstr "Tegn brugt som anfÃ¸rselstegn"
 
-#: src/lang.c:2869
+#: src/lang.c:2931
 #, fuzzy
 msgid ""
 "# Characters used in quoting to followups and replies.\n"
@@ -7940,11 +8101,11 @@ msgstr ""
 "# Tegn brugt i citering til opfÃ¸lgninger og svar.\n"
 "# '_' erstattes af ' ', %s, %S erstattes af forfatterens initialer.\n"
 
-#: src/lang.c:2875
+#: src/lang.c:2937
 msgid "Quoting behavior"
 msgstr "CiteringsopfÃ¸rsel"
 
-#: src/lang.c:2876
+#: src/lang.c:2938
 msgid ""
 "# How quoting should be handled when following up or replying.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7968,17 +8129,17 @@ msgstr ""
 "#   6 = Citer signaturer, citer tomme linjer\n"
 "#   7 = Komprimer citeringer, citer signaturer, citer tomme linjer\n"
 
-#: src/lang.c:2889 src/lang.c:2897 src/lang.c:2903
+#: src/lang.c:2951 src/lang.c:2959 src/lang.c:2965
 msgid ""
 "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 msgstr ""
 "%A Adr %D Dato %F Adr+Navn %G Gruppenavn %M Besked-id %N Navn %C Fornavn"
 
-#: src/lang.c:2890
+#: src/lang.c:2952
 msgid "Quote line when following up"
 msgstr "Citer linje ved opfÃ¸lgning"
 
-#: src/lang.c:2891
+#: src/lang.c:2953
 msgid ""
 "# Format of quote line when mailing/posting/following-up an article\n"
 "# %A Address    %D Date   %F Addr+Name   %G Groupname   %M Message-ID\n"
@@ -7988,29 +8149,29 @@ msgstr ""
 "# %A Adresse    %D Dato   %F Adr+Navn    %G Gruppenavn  %M Besked-id\n"
 "# %N Fulde navn %C Fornavn      %I Initialer\n"
 
-#: src/lang.c:2898
+#: src/lang.c:2960
 msgid "Quote line when cross-posting"
 msgstr "Citer linje ved krydsindsendelse"
 
-#: src/lang.c:2904
+#: src/lang.c:2966
 msgid "Quote line when mailing"
 msgstr "Citer linje ved postleverance"
 
-#: src/lang.c:2909
+#: src/lang.c:2971
 msgid "If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Hvis slÃ¥et til, sÃ¥ inkluder User-Agent:-teksthoved. <MELLEMRUM> skifter og "
 "<CR> Ã¦ndrer"
 
-#: src/lang.c:2910
+#: src/lang.c:2972
 msgid "Insert 'User-Agent:' header"
 msgstr "IndsÃ¦t Â»User-Agent:Â«-teksthoved"
 
-#: src/lang.c:2911
+#: src/lang.c:2973
 msgid "# If ON include advertising User-Agent: header\n"
 msgstr "# Hvis slÃ¥et til, sÃ¥ inkluder reklameteksthoved for User-Agent:\n"
 
-#: src/lang.c:2916
+#: src/lang.c:2978
 msgid ""
 "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
@@ -8018,11 +8179,11 @@ msgstr ""
 "Ã¦ndrer."
 
 # skal vist ikke oversÃ¦ttes til tegnsÃ¦t
-#: src/lang.c:2917
+#: src/lang.c:2979
 msgid "MM_CHARSET"
 msgstr "MM_CHARSET"
 
-#: src/lang.c:2918
+#: src/lang.c:2980
 msgid ""
 "# Charset supported locally which is also used for MIME header and\n"
 "# Content-Type header.\n"
@@ -8039,42 +8200,42 @@ msgstr ""
 "# Hvis MIME_STRICT_CHARSET er defineret pÃ¥ kompileringstidspunktet, kan\n"
 "# tegnsÃ¦t udover mm_charset ikke vises og reprÃ¦senteres ved '?'.\n"
 
-#: src/lang.c:2928
+#: src/lang.c:2990
 msgid "MM_NETWORK_CHARSET"
 msgstr "MM_NETWORK_CHARSET"
 
-#: src/lang.c:2929
+#: src/lang.c:2991
 msgid "# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr "# TegnsÃ¦t brugt for MIME-teksthoved i indsendelser (Content-Type).\n"
 
-#: src/lang.c:2933
+#: src/lang.c:2995
 msgid ""
 "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 "Indtast lokalt tegnsÃ¦tnavn (f.ek.s US-ASCII, ISO-8859-1, EUC-KR), <CR> "
 "Ã¦ndrer."
 
-#: src/lang.c:2934
+#: src/lang.c:2996
 msgid "MM_LOCAL_CHARSET"
 msgstr "MM_LOCAL_CHARSET"
 
-#: src/lang.c:2935
+#: src/lang.c:2997
 msgid "# Charset supported locally.\n"
 msgstr "# TegnsÃ¦t understÃ¸ttet lokalt.\n"
 
-#: src/lang.c:2942
+#: src/lang.c:3004
 msgid "Mailbox format"
 msgstr "Postkasseformat"
 
-#: src/lang.c:2943
+#: src/lang.c:3005
 msgid "# Format of the mailbox.\n"
 msgstr "# Format pÃ¥ postkassen.\n"
 
-#: src/lang.c:2948
+#: src/lang.c:3010
 msgid "MIME encoding in news messages"
 msgstr "MIME-kodning i nye beskeder"
 
-#: src/lang.c:2949
+#: src/lang.c:3011
 msgid ""
 "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n"
 "# for mails and posts, if necessary. QP is efficient for most European\n"
@@ -8088,16 +8249,16 @@ msgstr ""
 "# mens Base64 er mere effektiv for de fleste 8-bit Ã¸stasiatiske, grÃ¦ske og\n"
 "# russiske tegnsÃ¦t med en masse 8-bit tegn.\n"
 
-#: src/lang.c:2957 src/lang.c:2978
+#: src/lang.c:3019 src/lang.c:3040
 msgid "Don't change unless you know what you are doing. <ESC> cancels."
 msgstr "Ã†ndr ikke med mindre du ved hvad du laver. <ESC> afbryder."
 
-#: src/lang.c:2958
+#: src/lang.c:3020
 msgid "Use 8bit characters in news headers"
 msgstr "Brug 8-bit tegn i nyhedshoveder"
 
 # engelsk fejl d med stort
-#: src/lang.c:2959
+#: src/lang.c:3021
 msgid ""
 "# If ON, 8bit characters in news headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -8109,28 +8270,28 @@ msgstr ""
 "# 8-bit tegn i teksthoved kodes uanset vÃ¦rdien af denne parameter\n"
 "# med mindre post_mime_encoding ogsÃ¥ er 8-bit.\n"
 
-#: src/lang.c:2966
+#: src/lang.c:3028
 msgid ""
 "Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2967
+#: src/lang.c:3029
 msgid "View post-processed files"
 msgstr "Vis efterbehandlede filer"
 
-#: src/lang.c:2968
+#: src/lang.c:3030
 msgid "# If set, post processed files will be opened in a viewer\n"
 msgstr ""
 
-#: src/lang.c:2973
+#: src/lang.c:3035
 msgid "MIME encoding in mail messages"
 msgstr "MIME-kodning i postbeskeder"
 
-#: src/lang.c:2979
+#: src/lang.c:3041
 msgid "Use 8bit characters in mail headers"
 msgstr "Brug 8-bit tegn i posthoveder"
 
-#: src/lang.c:2980
+#: src/lang.c:3042
 msgid ""
 "# If ON, 8bit characters in mail headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -8141,11 +8302,11 @@ msgid ""
 "# turn it ON unless you have some compelling reason.\n"
 msgstr ""
 
-#: src/lang.c:2991
+#: src/lang.c:3053
 msgid "Strip blanks from ends of lines"
 msgstr "Fjern tomme tegn fra linjeslutninger"
 
-#: src/lang.c:2992
+#: src/lang.c:3054
 msgid ""
 "# If ON strip blanks from ends of lines for faster display on slow "
 "terminals.\n"
@@ -8153,16 +8314,16 @@ msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ fjern tomme felter fra linjeafslutninger for hurtigere\n"
 "# visning pÃ¥ langsomme terminaler.\n"
 
-#: src/lang.c:2998
+#: src/lang.c:3060
 msgid "If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Hvis slÃ¥et til, sÃ¥ brug transliteration. <MELLEMRUM> skifter & <CR> Ã¦ndrer."
 
-#: src/lang.c:2999
+#: src/lang.c:3061
 msgid "Transliteration"
 msgstr "Transliteration"
 
-#: src/lang.c:3000
+#: src/lang.c:3062
 msgid ""
 "# If ON, use //TRANSLIT extension. This means that when a character cannot\n"
 "# be represented in the in the target character set, it can be approximated\n"
@@ -8173,11 +8334,11 @@ msgstr ""
 "# ikke kan reprÃ¦senteres i mÃ¥ltegnsÃ¦ttet, sÃ¥ kan det tilnÃ¦rmes via et eller\n"
 "# flere lignende tegn.\n"
 
-#: src/lang.c:3008
+#: src/lang.c:3070
 msgid "Send you a Cc/Bcc automatically"
 msgstr "Send dig en Cc/Bcc automatisk"
 
-#: src/lang.c:3009
+#: src/lang.c:3071
 msgid ""
 "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8193,26 +8354,26 @@ msgstr ""
 "#   2 = Bcc\n"
 "#   3 = Cc og Bcc\n"
 
-#: src/lang.c:3020
+#: src/lang.c:3082
 msgid "Hash algorithm for Cancel-Lock/Cancel-Key"
 msgstr ""
 
-#: src/lang.c:3021
+#: src/lang.c:3083
 msgid ""
 "# Hash algorithm for Cancel-Lock/Cancel-Key (default 'sha1')\n"
 "# Use 'none' to not generate Cancel-Lock headers.\n"
 msgstr ""
 
-#: src/lang.c:3027
+#: src/lang.c:3089
 msgid "Enter address elements about which you want to be warned. <CR> sets."
 msgstr ""
 "Indtast adresseelementer som du Ã¸nsker at blive advaret om. <CR> Ã¦ndrer."
 
-#: src/lang.c:3028
+#: src/lang.c:3090
 msgid "Spamtrap warning address parts"
 msgstr "Spamtrap-advarsel for adressedele"
 
-#: src/lang.c:3029
+#: src/lang.c:3091
 msgid ""
 "# A comma-delimited list of address-parts you want to be warned\n"
 "# about when trying to reply by email.\n"
@@ -8220,28 +8381,28 @@ msgstr ""
 "# En kommaafgrÃ¦nset liste med adressedele du Ã¸nsker at blive advaret om,\n"
 "# nÃ¥r du svarer pÃ¥ e-post.\n"
 
-#: src/lang.c:3034
+#: src/lang.c:3096
 msgid "Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr "Indtast antal dage en filterpost vil vÃ¦re gyldig. <CR. Ã¦ndrer."
 
-#: src/lang.c:3035
+#: src/lang.c:3097
 msgid "No. of days a filter entry is valid"
 msgstr "Antal dage en filterpost er gyldig"
 
-#: src/lang.c:3036
+#: src/lang.c:3098
 msgid "# Number of days a short term filter will be active\n"
 msgstr "# Antal dage et korttidsfilter vil vÃ¦re aktivt\n"
 
-#: src/lang.c:3040
+#: src/lang.c:3102
 msgid "Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr "TilfÃ¸j sendte artikler til filter. <MELLEMRUM> skifter & <CR> Ã¦ndrer."
 
-#: src/lang.c:3041
+#: src/lang.c:3103
 msgid "Add posted articles to filter"
 msgstr "TilfÃ¸j indsendte artikler til filter"
 
 # engelsk fejl, mangler .
-#: src/lang.c:3042
+#: src/lang.c:3104
 msgid ""
 "# If ON add posted articles which start a new thread to filter for\n"
 "# highlighting follow-ups\n"
@@ -8249,24 +8410,24 @@ msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ tilfÃ¸j indsendte artikler, som starter en ny trÃ¥d\n"
 "# at filtrere efter, som fremhÃ¦vede opfÃ¸lgninger.\n"
 
-#: src/lang.c:3046
+#: src/lang.c:3108
 msgid "The directory where articles/threads are to be saved in mailbox format."
 msgstr ""
 "Mappen hvor artikler/trÃ¥de skal gemmes i mailbox-format (postkasseformat)."
 
-#: src/lang.c:3047
+#: src/lang.c:3109
 msgid "Mail directory"
 msgstr "Postmappe"
 
-#: src/lang.c:3048
+#: src/lang.c:3110
 msgid "# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr "# (-m) mappe hvor artikler/trÃ¥de gemmes i mailbox-format\n"
 
-#: src/lang.c:3053
+#: src/lang.c:3115
 msgid "Save articles in batch mode (-S)"
 msgstr "Gem artikler i jobtilstand (-S)"
 
-#: src/lang.c:3054
+#: src/lang.c:3116
 msgid ""
 "# If ON articles/threads will be saved in batch mode when save -S\n"
 "# or mail (-M/-N) is specified on the command line\n"
@@ -8274,19 +8435,19 @@ msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ vil artikler/trÃ¥de blive gemt i jobtilstand\n"
 "# nÃ¥r -S eller post (-M/-N) er angivet pÃ¥ kommandolinjen\n"
 
-#: src/lang.c:3059
+#: src/lang.c:3121
 msgid "The directory where you want articles/threads saved."
 msgstr "Mappen hvor du Ã¸nsker at artikler/trÃ¥de gemmes."
 
-#: src/lang.c:3060
+#: src/lang.c:3122
 msgid "Directory to save arts/threads in"
 msgstr "Mappe til at gemme artikler/trÃ¥de i"
 
-#: src/lang.c:3061
+#: src/lang.c:3123
 msgid "# Directory where articles/threads are saved\n"
 msgstr "# Mappe hvor artikler/trÃ¥de gemmes\n"
 
-#: src/lang.c:3065
+#: src/lang.c:3127
 msgid ""
 "Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 "cancels."
@@ -8294,24 +8455,24 @@ msgstr ""
 "Marker gemte artikler/trÃ¥de som lÃ¦st. <MELLEMRUM> skifter, <CR> Ã¦ndrer, "
 "<ESC> afbryder."
 
-#: src/lang.c:3066
+#: src/lang.c:3128
 msgid "Mark saved articles/threads as read"
 msgstr "Marker gemte artikler/trÃ¥de som lÃ¦st"
 
-#: src/lang.c:3067
+#: src/lang.c:3129
 msgid "# If ON mark articles that are saved as read\n"
 msgstr "# Hvis slÃ¥et til, sÃ¥ markeres artikler som gemmes som lÃ¦st\n"
 
-#: src/lang.c:3071
+#: src/lang.c:3133
 msgid "Do post processing (e.g. extract attachments) for saved articles."
 msgstr ""
 "UdfÃ¸r ikke efterbehandling (f.eks. udtrÃ¦k vedhÃ¦ftninger) for gemte artikler."
 
-#: src/lang.c:3072
+#: src/lang.c:3134
 msgid "Post process saved articles"
 msgstr "Efterbehandl gemte artikler"
 
-#: src/lang.c:3073
+#: src/lang.c:3135
 #, fuzzy
 msgid ""
 "# Perform post processing (saving binary attachments) from saved articles.\n"
@@ -8327,11 +8488,11 @@ msgstr ""
 "#   2 = Bcc\n"
 "#   3 = Cc og Bcc\n"
 
-#: src/lang.c:3082
+#: src/lang.c:3144
 msgid "Process only unread articles"
 msgstr "Behandl kun ulÃ¦ste artikler"
 
-#: src/lang.c:3083
+#: src/lang.c:3145
 msgid ""
 "# If ON only save/print/pipe/mail unread articles (tagged articles "
 "excepted)\n"
@@ -8340,15 +8501,15 @@ msgstr ""
 "artikler\n"
 "# (mÃ¦rkede artikler forventes)\n"
 
-#: src/lang.c:3088
+#: src/lang.c:3150
 msgid "Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:3089
+#: src/lang.c:3151
 msgid "Print all headers when printing"
 msgstr "Udskriv alle teksthoveder under udskrivning"
 
-#: src/lang.c:3090
+#: src/lang.c:3152
 msgid ""
 "# If ON print all of article header otherwise just the important lines\n"
 msgstr ""
@@ -8356,7 +8517,7 @@ msgstr ""
 "vigtige\n"
 "# linjer\n"
 
-#: src/lang.c:3094
+#: src/lang.c:3156
 msgid ""
 "The printer program with options that is to be used to print articles/"
 "threads."
@@ -8364,36 +8525,36 @@ msgstr ""
 "Printerprogrammet med indstillinger som vil blive brugt til at udskrive "
 "artikler/trÃ¥de."
 
-#: src/lang.c:3095
+#: src/lang.c:3157
 msgid "Printer program with options"
 msgstr "Printerprogram med indstillinger"
 
-#: src/lang.c:3096
+#: src/lang.c:3158
 msgid "# Print program with parameters used to print articles/threads\n"
 msgstr "# Udskriv program med parametre brugt til at udskrive artikler/trÃ¥de\n"
 
-#: src/lang.c:3102
+#: src/lang.c:3164
 msgid "Force redraw after certain commands"
 msgstr "Fremtving skÃ¦rmopdatering efter bestemte kommandoer"
 
-#: src/lang.c:3103
+#: src/lang.c:3165
 msgid ""
 "# If ON a screen redraw will always be done after certain external commands\n"
 msgstr ""
 "% Hvis slÃ¥et til, sÃ¥ vil en skÃ¦rmopdatering altid blive udfÃ¸rt efter "
 "bestemte eksterne kommandoer\n"
 
-#: src/lang.c:3107
+#: src/lang.c:3169
 msgid "Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr ""
 "Indtast %E for redigeringsprogram, %F for filnavn, %N for linjenummer. <CR> "
 "Ã¦ndrer"
 
-#: src/lang.c:3108
+#: src/lang.c:3170
 msgid "Invocation of your editor"
 msgstr "IgangsÃ¦ttelse af dit redigeringsprogram"
 
-#: src/lang.c:3109
+#: src/lang.c:3171
 msgid ""
 "# Format of editor line including parameters\n"
 "# %E Editor  %F Filename  %N Linenumber\n"
@@ -8401,18 +8562,18 @@ msgstr ""
 "# Format for redigeringsprogrammets parametre for linjeinkludering\n"
 "# %E Redigeringsprogram %F Filnavn  %N Linjenummer\n"
 
-#: src/lang.c:3114
+#: src/lang.c:3176
 msgid ""
 "Enter name and options for external-inews, --internal for internal inews"
 msgstr ""
 "Indtast navn og indstillinger for external-inews, --internal for interne "
 "inews"
 
-#: src/lang.c:3115
+#: src/lang.c:3177
 msgid "External inews"
 msgstr "Eksterne inews"
 
-#: src/lang.c:3116
+#: src/lang.c:3178
 msgid ""
 "# If --internal use the built in mini inews for posting via NNTP\n"
 "# otherwise use an external inews program\n"
@@ -8421,30 +8582,32 @@ msgstr ""
 "NNTP\n"
 "# ellers brug et eksternt inews-program\n"
 
-#: src/lang.c:3120
+#: src/lang.c:3182
 msgid ""
 "Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr ""
 "Indtast %M for postprogram, %S for emne, %T for til, %F for filnavn, <CR> "
 "Ã¦ndrer."
 
-#: src/lang.c:3121
+#: src/lang.c:3183
 msgid "Invocation of your mail command"
 msgstr "IgangsÃ¦ttelse af din postkommando"
 
-#: src/lang.c:3122
+#: src/lang.c:3184
+#, fuzzy
 msgid ""
 "# Format of mailer line including parameters\n"
-"# %M Mailer  %S Subject  %T To  %F Filename\n"
-"# e.g. to use mutt as your mailer:    mutt -s \"%S\" -- \"%T\" < %F\n"
-"# e.g. mutt interactive          :    mutt -H %F\n"
+"# %M Mailer  %S Subject  %T To  %F Filename  %U Username\n"
+"# e.g. mutt interactive:  mutt -H %F\n"
 msgstr ""
+"# Format for redigeringsprogrammets parametre for linjeinkludering\n"
+"# %E Redigeringsprogram %F Filnavn  %N Linjenummer\n"
 
-#: src/lang.c:3130
+#: src/lang.c:3191
 msgid "Use interactive mail reader"
 msgstr "Brug interaktiv postlÃ¦ser"
 
-#: src/lang.c:3131
+#: src/lang.c:3192
 msgid ""
 "# Interactive mailreader\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8458,35 +8621,35 @@ msgstr ""
 "#   1 = brug interaktiv postlÃ¦ser med teksthoveder i fil\n"
 "#   2 = brug interaktiv postlÃ¦ser uden teksthoveder i fil\n"
 
-#: src/lang.c:3140
+#: src/lang.c:3201
 msgid "Remove ~/.article after posting"
 msgstr "Fjern ~/.article efter indsendelse"
 
-#: src/lang.c:3141
+#: src/lang.c:3202
 msgid "# If ON remove ~/.article after posting.\n"
 msgstr "# Hvis slÃ¥et til, sÃ¥ fjern ~/.article efter indsendelse.\n"
 
-#: src/lang.c:3147
+#: src/lang.c:3208
 msgid "Use UTF-8 graphics (thread tree etc.)"
 msgstr "Brug UTF-8-grafik (trÃ¥dtrÃ¦ etc.)"
 
-#: src/lang.c:3148
+#: src/lang.c:3209
 msgid ""
 "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n"
 msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ brug UTF-8-tegn for indikator Â»->Â«, trÃ¦ og ellipse "
 "Â»...Â«\n"
 
-#: src/lang.c:3153
+#: src/lang.c:3214
 msgid "Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr ""
 "Filnavn for alle indsendte artikler, <CR> Ã¦ndrer, intet filnavn=gem ikke."
 
-#: src/lang.c:3154
+#: src/lang.c:3215
 msgid "Filename for posted articles"
 msgstr "Filnavn for indsendte artikler"
 
-#: src/lang.c:3155
+#: src/lang.c:3216
 msgid ""
 "# Filename where to keep all postings (default posted)\n"
 "# If no filename is set then postings will not be saved\n"
@@ -8494,39 +8657,39 @@ msgstr ""
 "# Filnavn hvor alle indlÃ¦g opbevares (standardindlÃ¦g)\n"
 "# Hvis intet filnavn er angivet, sÃ¥ vil indlÃ¦g ikke blive gemt\n"
 
-#: src/lang.c:3160
+#: src/lang.c:3221
 msgid ""
 "Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Bevar alle mislykkedes artikler i ~/dead.articles. <MELLEMRUM> skifter & "
 "<CR> Ã¦ndrer."
 
-#: src/lang.c:3161
+#: src/lang.c:3222
 msgid "Keep failed arts in ~/dead.articles"
 msgstr "Bevar mislykkede artikler i ~/dead.articles"
 
-#: src/lang.c:3162
+#: src/lang.c:3223
 msgid "# If ON keep all failed postings in ~/dead.articles\n"
 msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ bevar alle mislykkedes indsendelser i ~/dead.articles\n"
 
-#: src/lang.c:3166
+#: src/lang.c:3227
 msgid "Do you want to strip unsubscribed groups from .newsrc"
 msgstr "Ã˜nsker du at fjerne grupper med fjernet abonnement fra .newsrc"
 
-#: src/lang.c:3167
+#: src/lang.c:3228
 msgid "No unsubscribed groups in newsrc"
 msgstr "Ingen grupper med fjernet abonnement i newsrc"
 
-#: src/lang.c:3168
+#: src/lang.c:3229
 msgid "# If ON strip unsubscribed groups from newsrc\n"
 msgstr "# Hvis slÃ¥et til sÃ¥ fjern grupper uden abonnement fra newsrc\n"
 
-#: src/lang.c:3173
+#: src/lang.c:3234
 msgid "Remove bogus groups from newsrc"
 msgstr "Fjern fejlramte grupper fra newsrc"
 
-#: src/lang.c:3174
+#: src/lang.c:3235
 msgid ""
 "# What to do with bogus groups in newsrc file\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8535,72 +8698,90 @@ msgid ""
 "#   2 = highlight with D on selection screen\n"
 msgstr ""
 
-#: src/lang.c:3183
+#: src/lang.c:3244
 msgid ""
 "Enter number of seconds to wait for a response from the server. <CR> sets."
 msgstr ""
 "Indtast antallet af sekunder at vente pÃ¥ svar fra serveren. <CR> Ã¦ndrer."
 
-#: src/lang.c:3184
+#: src/lang.c:3245
 msgid "NNTP read timeout in seconds"
 msgstr "TidsudlÃ¸b i sekunder for NNTP-lÃ¦s"
 
-#: src/lang.c:3185
+#: src/lang.c:3246
 msgid ""
 "# Time in seconds to wait for a response from the server (0=no timeout)\n"
 msgstr "# Ventetid i sekunder efter svar fra en server (0=intet tidsudlÃ¸b)\n"
 
-#: src/lang.c:3190
+#: src/lang.c:3251
 msgid "Enter number of seconds until active file will be reread. <CR> sets."
 msgstr ""
 "Indtast antallet af sekunder fÃ¸r aktiv fil vil blive genlÃ¦st. <CR> Ã¦ndrer."
 
-#: src/lang.c:3191
+#: src/lang.c:3252
 msgid "Interval in secs to reread active"
 msgstr "Interval i sekunder til at genlÃ¦se aktive"
 
-#: src/lang.c:3192
+#: src/lang.c:3253
 msgid ""
 "# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr ""
 "# Tidsinterval i sekunder mellem genlÃ¦sning af den aktive fil (0=aldrig)\n"
 
-#: src/lang.c:3197
+#: src/lang.c:3258
 msgid "Reconnect to server automatically"
 msgstr "Forbind til serveren igen automatisk"
 
-#: src/lang.c:3198
+#: src/lang.c:3259
 msgid ""
 "# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr ""
 "# Hvis slÃ¥et til, sÃ¥ forbind automatisk til NNTP-serveren hvis forbindelsen "
 "afbrydes\n"
 
-#: src/lang.c:3202
+#: src/lang.c:3263
 msgid ""
 "Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Opret lokale kopier af NNTP-overbliksfiler. <MELLEMRUM> skifter og <CR> "
 "Ã¦ndrer."
 
-#: src/lang.c:3203
+#: src/lang.c:3264
 msgid "Cache NNTP overview files locally"
 msgstr "Lagr NNTP-overbliksfiler lokalt"
 
-#: src/lang.c:3204
+#: src/lang.c:3265
 msgid "# If ON, create local copies of NNTP overview files.\n"
 msgstr "# Hvis slÃ¥et til, sÃ¥ opret lokale kopier af NNTP-overbliksfiler.\n"
 
-#: src/lang.c:3208 src/lang.c:3223 src/lang.c:3243 src/lang.c:3266
-#: src/lang.c:3291 src/lang.c:3313 src/lang.c:3332
+#: src/lang.c:3270
+#, fuzzy
+msgid ""
+"Compress local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
+msgstr ""
+"Opret lokale kopier af NNTP-overbliksfiler. <MELLEMRUM> skifter og <CR> "
+"Ã¦ndrer."
+
+#: src/lang.c:3271
+#, fuzzy
+msgid "Compress locally cached NNTP overview files"
+msgstr "Lagr NNTP-overbliksfiler lokalt"
+
+#: src/lang.c:3272
+#, fuzzy
+msgid "# If ON, compress local copies of NNTP overview files.\n"
+msgstr "# Hvis slÃ¥et til, sÃ¥ opret lokale kopier af NNTP-overbliksfiler.\n"
+
+#: src/lang.c:3277 src/lang.c:3292 src/lang.c:3312 src/lang.c:3335
+#: src/lang.c:3360 src/lang.c:3382 src/lang.c:3401
 msgid "Enter format string. <CR> sets, <ESC> cancels."
 msgstr "Indtast formatstreng. <CR> Ã¦ndrer, <ESC> afbryder."
 
-#: src/lang.c:3209
+#: src/lang.c:3278
 msgid "Format string for selection level"
 msgstr "Formatstreng for udvÃ¦lgelsesniveau"
 
-#: src/lang.c:3210
+#: src/lang.c:3279
 msgid ""
 "# Format string for selection level representation\n"
 "# Default: %f %n %U  %G  %d\n"
@@ -8626,11 +8807,11 @@ msgstr ""
 "#   %n              Nummer, linjenummer pÃ¥ skÃ¦rm\n"
 "#   %U              UlÃ¦st antal\n"
 
-#: src/lang.c:3224
+#: src/lang.c:3293
 msgid "Format string for group level"
 msgstr "Formatstreng for gruppeniveau"
 
-#: src/lang.c:3225
+#: src/lang.c:3294
 msgid ""
 "# Format string for group level representation\n"
 "# Default: %n %m %R %L  %s  %F\n"
@@ -8664,12 +8845,12 @@ msgstr ""
 "#   %s              Emne (kun gruppeniveau)\n"
 "#   %S              BedÃ¸mmelse\n"
 
-#: src/lang.c:3244
+#: src/lang.c:3313
 #, fuzzy
 msgid "Format string for attachment level"
 msgstr "Formatstreng for trÃ¥dniveau"
 
-#: src/lang.c:3245
+#: src/lang.c:3314
 #, fuzzy
 msgid ""
 "# Format string for attachment level representation\n"
@@ -8707,12 +8888,12 @@ msgstr ""
 "#   %s              Emne (kun gruppeniveau)\n"
 "#   %S              BedÃ¸mmelse\n"
 
-#: src/lang.c:3267
+#: src/lang.c:3336
 #, fuzzy
 msgid "Format string for display of mime header"
 msgstr "Formatstreng for visning af datoer"
 
-#: src/lang.c:3268
+#: src/lang.c:3337
 #, fuzzy
 msgid ""
 "# Format string for mime header at article level\n"
@@ -8752,12 +8933,12 @@ msgstr ""
 "#   %s              Emne (kun gruppeniveau)\n"
 "#   %S              BedÃ¸mmelse\n"
 
-#: src/lang.c:3292
+#: src/lang.c:3361
 #, fuzzy
 msgid "Format string for display of uue header"
 msgstr "Formatstreng for visning af datoer"
 
-#: src/lang.c:3293
+#: src/lang.c:3362
 #, fuzzy
 msgid ""
 "# Format string for uue header at article level\n"
@@ -8794,11 +8975,11 @@ msgstr ""
 "#   %s              Emne (kun gruppeniveau)\n"
 "#   %S              BedÃ¸mmelse\n"
 
-#: src/lang.c:3314
+#: src/lang.c:3383
 msgid "Format string for thread level"
 msgstr "Formatstreng for trÃ¥dniveau"
 
-#: src/lang.c:3315
+#: src/lang.c:3384
 msgid ""
 "# Format string for thread level representation\n"
 "# Default: %n %m  [%L]  %T  %F\n"
@@ -8830,19 +9011,19 @@ msgstr ""
 "#   %S              BedÃ¸mmelse\n"
 "#   %T              TrÃ¥dtrÃ¦ (kun trÃ¥dniveau)\n"
 
-#: src/lang.c:3333
+#: src/lang.c:3402
 msgid "Format string for display of dates"
 msgstr "Formatstreng for visning af datoer"
 
-#: src/lang.c:3334
+#: src/lang.c:3403
 msgid "# Format string for date representation\n"
 msgstr "# Formatstreng for datoreprÃ¦sentation\n"
 
-#: src/lang.c:3344
+#: src/lang.c:3413
 msgid "Unicode normalization form"
 msgstr "Form for Unicodenormalisering"
 
-#: src/lang.c:3345
+#: src/lang.c:3414
 #, fuzzy
 msgid ""
 "# Unicode normalization form\n"
@@ -8863,19 +9044,19 @@ msgstr ""
 "#   4 = NFD\n"
 "#   5 = NFKC_CF\n"
 
-#: src/lang.c:3359
+#: src/lang.c:3428
 msgid "Render BiDi"
 msgstr "Optegn BiDi"
 
-#: src/lang.c:3360
+#: src/lang.c:3429
 msgid "# If ON, bi-directional text is rendered by tin\n"
 msgstr "# Hvis slÃ¥et til, sÃ¥ optegnes modsatrettet tekst af tin\n"
 
-#: src/lang.c:3367
+#: src/lang.c:3436
 msgid "Function for sorting articles"
 msgstr "Funktion for sortering af artikler"
 
-#: src/lang.c:3368
+#: src/lang.c:3437
 msgid ""
 "# Function for sorting articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8883,189 +9064,199 @@ msgid ""
 "#   1 = heapsort\n"
 msgstr ""
 
-#: src/lang.c:3381
+#: src/lang.c:3450
 msgid "Automatically GroupMarkUnselArtRead"
 msgstr "Automatisk GroupMarkUnselArtRead"
 
-#: src/lang.c:3387
+#: src/lang.c:3456
 msgid "Delete post-process files"
 msgstr "Slet efterbrÃ¦nderens filer"
 
-#: src/lang.c:3392
+#: src/lang.c:3461
 msgid "Filename for all mailed articles, <CR> sets, no filename=do not save."
 msgstr ""
 "Filnavn for alle indsendte artikler, <CR> Ã¦ndrer, intet filnavn=gem ikke."
 
-#: src/lang.c:3393
+#: src/lang.c:3462
 msgid "Mailbox to save sent mails"
 msgstr "Postkasse hvor sendt post gemmes"
 
-#: src/lang.c:3398
+#: src/lang.c:3467
 msgid "Set Followup-To: header to this group(s). <CR> sets, <ESC> cancels."
 msgstr ""
 "SÃ¦t Followup-To:-tekshoved for disse grupper. <CR> Ã¦ndrer, <ESC> afbryder."
 
-#: src/lang.c:3399
+#: src/lang.c:3468
 msgid "Followup-To: header"
 msgstr "Followup-To:-teksthoved"
 
-#: src/lang.c:3404
+#: src/lang.c:3473
 msgid "Enter default mail address (and fullname). <CR> sets, <ESC> cancels."
 msgstr "Indtast e-postadresse (og fulde navn). <CR> Ã¦ndrer, >ESC> afbryder."
 
-#: src/lang.c:3411
+#: src/lang.c:3480
 msgid ""
 "Path and options for ispell-like spell-checker. <CR> sets, <ESC> cancels."
 msgstr ""
 "Sti og tilvalg for ispell-lignende stavekontrol. <CR> Ã¦ndrer, <ESC> afbryder."
 
-#: src/lang.c:3412
+#: src/lang.c:3481
 msgid "Ispell program"
 msgstr "Ispellprogram"
 
-#: src/lang.c:3418
+#: src/lang.c:3487
 msgid "When group is a mailing list, send responses to this email address."
 msgstr "NÃ¥r gruppe er en postliste, sÃ¥ send svar til denne e-postadresse."
 
-#: src/lang.c:3419
+#: src/lang.c:3488
 msgid "Mailing list address"
 msgstr "Adresse pÃ¥ postliste"
 
-#: src/lang.c:3425
+#: src/lang.c:3494
 msgid "Forward articles as attachment"
 msgstr "Videresend artikler som vedhÃ¦ftninger"
 
-#: src/lang.c:3430
+#: src/lang.c:3499
 msgid ""
 "A comma separated list of MIME major/minor Content-Types. <ESC> cancels."
 msgstr "En kommaadskilt liste af MIME store/smÃ¥ Content-typer. <ESC> afbryder."
 
-#: src/lang.c:3431
+#: src/lang.c:3500
 msgid "Which MIME types will be saved"
 msgstr "Hvilke MIME-typer vil blive gemt"
 
-#: src/lang.c:3436
+#: src/lang.c:3505
 msgid "Value of the Organization: header. <CR> sets, <ESC> cancels."
 msgstr "VÃ¦rdi for Organisation:-teksthoved. <CR> Ã¦ndrer, <ESC> afbryder."
 
-#: src/lang.c:3437
+#: src/lang.c:3506
 msgid "Organization: header"
 msgstr "Organisation:-teksthoved"
 
-#: src/lang.c:3442
+#: src/lang.c:3511
 msgid "Filename for saved articles. <CR> sets, <ESC> cancels."
 msgstr "Filnavn for gemte artikler. <CR> Ã¦ndrer, <ESC> afbryder."
 
-#: src/lang.c:3443
+#: src/lang.c:3512
 msgid "savefile"
 msgstr "gemt fil"
 
-#: src/lang.c:3448 src/lang.c:3472
+#: src/lang.c:3517 src/lang.c:3541
 msgid "Scope for the filter rule. <CR> sets, <ESC> cancels."
 msgstr "Virkefelt for filterregel. <CR> Ã¦ndrer, <ESC> afbryder."
 
-#: src/lang.c:3449
+#: src/lang.c:3518
 msgid "Quick (1 key) select filter scope"
 msgstr "HurtigvÃ¦lg (1 tast) filteromfang"
 
-#: src/lang.c:3454 src/lang.c:3478
+#: src/lang.c:3523 src/lang.c:3547
 msgid "Header for filter rule. <CR> sets, <ESC> cancels."
 msgstr "Teksthoved for filterregel. <CR> Ã¦ndrer, <ESC> afbryder."
 
-#: src/lang.c:3455
+#: src/lang.c:3524
 msgid "Quick (1 key) select filter header"
 msgstr "HurtigvÃ¦lg (1 tast) filterteksthoved"
 
-#: src/lang.c:3460 src/lang.c:3484
+#: src/lang.c:3529 src/lang.c:3553
 msgid "ON = case sensitive, OFF = ignore case. <CR> sets, <ESC> cancels."
 msgstr ""
 "TÃ¦ndt (ON) = versalfÃ¸lsom, Slukket (OFF) = ignorer versaler. <CR> Ã¦ndrer\n"
 "<ESC> afbryder."
 
-#: src/lang.c:3461
+#: src/lang.c:3530
 msgid "Quick (1 key) select filter case"
 msgstr "HurtigvÃ¦lg (1 tast) versaler for filter"
 
-#: src/lang.c:3466 src/lang.c:3490
+#: src/lang.c:3535 src/lang.c:3559
 msgid "ON = expire, OFF = don't ever expire. <CR> sets, <ESC> cancels."
 msgstr "ON = udlÃ¸b, OFF = udlÃ¸b aldrig. <CR> Ã¦ndrer, <ESC> afbryder."
 
-#: src/lang.c:3467
+#: src/lang.c:3536
 msgid "Quick (1 key) select filter expire"
 msgstr "HurtigvÃ¦lg (1 tast) filterudlÃ¸b"
 
-#: src/lang.c:3473
+#: src/lang.c:3542
 msgid "Quick (1 key) kill filter scope"
 msgstr "HurtigdrÃ¦b (1 tast) filteromfang"
 
-#: src/lang.c:3479
+#: src/lang.c:3548
 msgid "Quick (1 key) kill filter header"
 msgstr "HurtigdrÃ¦b (1 tast) filterteksthoved"
 
-#: src/lang.c:3485
+#: src/lang.c:3554
 msgid "Quick (1 key) kill filter case"
 msgstr "HurtigdrÃ¦b (1 tast) versaler for filter"
 
-#: src/lang.c:3491
+#: src/lang.c:3560
 msgid "Quick (1 key) kill filter expire"
 msgstr "HurtigdrÃ¦b (1 tast) filterudlÃ¸b"
 
-#: src/lang.c:3497
+#: src/lang.c:3566
 msgid "Assume this charset if no charset declaration is present, <CR> to set."
 msgstr ""
 "Antag dette tegnsÃ¦t hvis ingen tegnsÃ¦tdeklaration er til stede, <CR> Ã¦ndrer."
 
-#: src/lang.c:3498
+#: src/lang.c:3567
 msgid "UNDECLARED_CHARSET"
 msgstr "UNDECLARED_CHARSET"
 
-#: src/lang.c:3504
+#: src/lang.c:3572
+#, fuzzy
+msgid "Guess charset if no charset declaration is present, <CR> to set."
+msgstr ""
+"Antag dette tegnsÃ¦t hvis ingen tegnsÃ¦tdeklaration er til stede, <CR> Ã¦ndrer."
+
+#: src/lang.c:3573
+msgid "UNDECLARED_CS_GUESS"
+msgstr "UNDECLARED_CS_GUESS"
+
+#: src/lang.c:3580
 msgid ""
 "Add this text at the start of the message body. <CR> sets, <ESC> cancels."
 msgstr ""
 "TilfÃ¸j denne tekst i begyndelsen af beskeden. <CR> Ã¦ndrer, <ESC> afbryder."
 
-#: src/lang.c:3505
+#: src/lang.c:3581
 msgid "X_Body"
 msgstr "X_Body"
 
-#: src/lang.c:3510
+#: src/lang.c:3586
 msgid "Insert this header when posting. <CR> sets, <ESC> cancels."
 msgstr ""
 "IndsÃ¦t dette teksthoved under indsendelse. <CR> Ã¦ndrer, <ESC> afbryder."
 
-#: src/lang.c:3511
+#: src/lang.c:3587
 msgid "X_Headers"
 msgstr "X_Headers"
 
-#: src/lang.c:3516
+#: src/lang.c:3592
 msgid ""
 "Automatically insert an X-Comment-To: header? <SPACE> toggles & <CR> sets."
 msgstr ""
 "IndsÃ¦t automatisk et X-Comment-To:-teksthoved? <MELLEMRUM> skifter og <CR> "
 "Ã¦ndrer."
 
-#: src/lang.c:3517
+#: src/lang.c:3593
 msgid "Insert 'X-Comment-To:' header"
 msgstr "IndsÃ¦t Â»X-Comment-To:Â«-teksthoved"
 
-#: src/lang.c:3523
+#: src/lang.c:3599
 #, fuzzy
 msgid "Enter name of file containing trusted CA certificates. <CR> sets."
 msgstr "Indtast antallet af dage som en artikel ses som ny. <CR> Ã¦ndrer."
 
-#: src/lang.c:3524
+#: src/lang.c:3600
 #, fuzzy
 msgid "CA certificate file"
 msgstr "rediger filterfil"
 
-#: src/lang.c:3525
+#: src/lang.c:3601
 msgid ""
 "# name of file containing all trusted CA certificates (empty = system "
 "default)\n"
 msgstr ""
 
-#: src/nntplib.c:908
+#: src/nntplib.c:963
 #, c-format
 msgid ""
 "\n"
@@ -9074,41 +9265,68 @@ msgstr ""
 "\n"
 "Server fik tidsudlÃ¸b, prÃ¸ver at forbinde igen # %d\n"
 
-#: src/nntplib.c:950 src/nntplib.c:2032
+#: src/nntplib.c:1006 src/nntplib.c:2115
 msgid "Rejoin current group\n"
 msgstr "Tilslut igen til nuvÃ¦rende gruppe\n"
 
-#: src/nntplib.c:959 src/nntplib.c:2041
+#: src/nntplib.c:1015 src/nntplib.c:2124
 #, c-format
 msgid "Read (%s)\n"
 msgstr "LÃ¦st (%s)\n"
 
-#: src/nntplib.c:961
+#: src/nntplib.c:1017
 #, c-format
 msgid "Resend last command (%s)\n"
 msgstr "Send sidste kommando igen (%s)\n"
 
-#: src/read.c:363
+#: src/read.c:358
 msgid "Aborted read\n"
 msgstr "AfbrÃ¸d lÃ¦sning\n"
 
-#: src/read.c:418
+#: src/read.c:413
 msgid "Draining\n"
 msgstr ""
 
-#: src/refs.c:656
+#: src/refs.c:654
 msgid "[- Unavailable -]"
 msgstr "[- UtilgÃ¦ngelig -]"
 
-#, c-format
+#~ msgid "Invalid  From: %s  line. Read the INSTALL file again."
+#~ msgstr "Ugyldig Fra: %s-linje. LÃ¦s filen INSTALL igen."
+
+#~ msgid "bytes"
+#~ msgstr "byte"
+
+#~ msgid "\tChecksum of %s (%ld %s)"
+#~ msgstr "\tKontrolsum for %s (%ld %s)"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in Approved: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Fejl: Ugyldig adresse i Approved:-teksthoved.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in From: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Fejl: Ugyldig adresse i From:-teksthoved.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in Reply-To: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Fejl: Ugyldig adresse i Reply-To:-teksthoved.\n"
+
 #~ msgid "Version: %s %s release %s (\"%s\") %s %s\n"
 #~ msgstr "Version: %s %s udgave %s (Â»%sÂ«) %s %s\n"
 
-#, c-format
 #~ msgid "%d lines"
 #~ msgstr "%d linjer"
 
-#, c-format
 #~ msgid ""
 #~ "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n"
 #~ "\n"
@@ -9116,7 +9334,7 @@ msgstr "[- UtilgÃ¦ngelig -]"
 #~ "%*s[-- %s/%s, %suuencoded-fil, %d linjer, navn: %s --]\n"
 #~ "\n"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "%*s[-- %s/%s%s%s%s%s, %d lines, encoding %s --]\n"
 #~ msgstr "%*s[-- %s/%s%s%s%s%s, %d linjer, kodning %s --]\n"
 
Binary files tin-2.6.3/po/de.gmo and tin-2.6.4/po/de.gmo differ
diff -Nurp '--exclude=.bzr*' tin-2.6.3/po/de.po tin-2.6.4/po/de.po
--- tin-2.6.3/po/de.po	2023-12-24 00:38:36.000000000 +0100
+++ tin-2.6.4/po/de.po	2024-12-21 15:45:44.585402548 +0100
@@ -4,14 +4,14 @@
 # Kai Bojens <kbojens@on-luebeck.de>, 2000-2002.
 # Andreas Metzler <tin-dev@downhill.at.eu.org>, 2001-2003.
 # Christian Garbs <tin-dev@cgarbs.de>, 2003.
-# Urs Janssen <urs@tin.org>, 2004-2024
+# Urs Janssen <urs@tin.org>, 2004-2025.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: tin 2.6.3\n"
+"Project-Id-Version: tin 2.6.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-12-13 22:25+0100\n"
-"PO-Revision-Date: 2023-12-13 22:26+0100\n"
+"POT-Creation-Date: 2024-12-21 15:42+0100\n"
+"PO-Revision-Date: 2024-12-21 15:43+0100\n"
 "Last-Translator: Urs Janssen <urs@tin.org>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
@@ -20,11 +20,11 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: src/lang.c:45
+#: src/lang.c:48
 msgid "1 Response"
 msgstr "1 Antwort"
 
-#: src/lang.c:49
+#: src/lang.c:50
 #, c-format
 msgid ""
 "\n"
@@ -33,36 +33,36 @@ msgstr ""
 "\n"
 "%s enthÃ¤lt keine Newsgruppen. tin beendet sich."
 
-#: src/lang.c:51
+#: src/lang.c:52
 msgid "Aborting read, please wait..."
 msgstr "Breche Lesen ab, bitte warten..."
 
-#: src/lang.c:53
+#: src/lang.c:54
 msgid "all"
 msgstr "Alle"
 
-#: src/lang.c:54
+#: src/lang.c:55
 msgid "All groups"
 msgstr "Alle Gruppen"
 
-#: src/lang.c:55
+#: src/lang.c:56
 #, c-format
 msgid "File %s exists. %s=append, %s=overwrite, %s=quit: "
 msgstr "Datei %s existiert. %s=anfÃ¼gen, %s=Ã¼berschreiben, %s=beenden: "
 
-#: src/lang.c:56
+#: src/lang.c:57
 msgid "Article cancelled (deleted)."
 msgstr "Artikel gecancelt (gelÃ¶scht)."
 
-#: src/lang.c:58
+#: src/lang.c:59
 msgid "Article cannot be cancelled (deleted)."
 msgstr "Artikel kann nicht gecancelt (gelÃ¶scht) werden."
 
-#: src/lang.c:60
+#: src/lang.c:61
 msgid "Article deleted."
 msgstr "Artikel gelÃ¶scht."
 
-#: src/lang.c:61
+#: src/lang.c:62
 #, c-format
 msgid ""
 "\n"
@@ -77,7 +77,7 @@ msgstr ""
 "wird an folgende Adresse gesendet:\n"
 "  %s"
 
-#: src/lang.c:62
+#: src/lang.c:63
 #, c-format
 msgid ""
 "\n"
@@ -90,141 +90,145 @@ msgstr ""
 "  \"%s\"\n"
 "wird in folgende %s gepostet:\n"
 
-#: src/lang.c:63
+#: src/lang.c:64
 msgid "Article not posted!"
 msgstr "Artikel nicht gepostet!"
 
-#: src/lang.c:64
+#: src/lang.c:65
 msgid "Article not saved"
 msgstr "Artikel nicht gespeichert"
 
-#: src/lang.c:65
+#: src/lang.c:66
 msgid "Article Level Commands"
 msgstr "Artikelbereich Befehle"
 
-#: src/lang.c:66
+#: src/lang.c:67
 msgid "Article has no parent"
 msgstr "Artikel hat keinen Bezugsartikel"
 
-#: src/lang.c:67
+#: src/lang.c:68
 msgid "Parent article has been killed"
 msgstr "Der Bezugsartikel wurde gekillt"
 
-#: src/lang.c:68
+#: src/lang.c:69
 msgid "Parent article is unavailable"
 msgstr "Bezugsartikel nicht verfÃ¼gbar"
 
-#: src/lang.c:69
+#: src/lang.c:70
 #, c-format
 msgid "Article posted: %s"
 msgstr "Artikel gepostet: %s"
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid "Article rejected (saved to %s)"
 msgstr "Artikel abgelehnt (abgespeichert als %s)"
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid ""
 "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: "
 msgstr ""
 "%s=Artikel %s=Thread %s=Bereich %s=herv. %s=Muster %s=markierte %s=beenden: "
 
-#: src/lang.c:72
+#: src/lang.c:73
 msgid "Article unavailable"
 msgstr "Artikel nicht verfÃ¼gbar"
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid "Article undeleted."
 msgstr "Artikel lÃ¶schen rÃ¼ckgÃ¤ngig gemacht."
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid "Article %4d of %4d"
 msgstr "Artikel %4d von %4d"
 
-#: src/lang.c:76
+#: src/lang.c:77
+msgid "Article Info Page"
+msgstr "Artikel Infoseite"
+
+#: src/lang.c:78
 msgid "articles"
 msgstr "Artikel"
 
-#: src/lang.c:77
+#: src/lang.c:79
 msgid "This is a repost of the following article:"
 msgstr "Dies ist ein Repost des folgenden Artikels:"
 
-#: src/lang.c:78
+#: src/lang.c:80
 msgid "article"
 msgstr "Artikel"
 
-#: src/lang.c:79
+#: src/lang.c:81
 msgid "Article"
 msgstr "Artikel"
 
-#: src/lang.c:80
+#: src/lang.c:82
 #, c-format
 msgid "-- %d %s mailed --"
 msgstr "-- %d %s gemailt --"
 
-#: src/lang.c:81
+#: src/lang.c:83
 #, c-format
 msgid " at %s"
 msgstr " bei %s"
 
-#: src/lang.c:84
+#: src/lang.c:86
 #, c-format
 msgid "charset %s"
 msgstr "Zeichensatz %s"
 
-#: src/lang.c:85
+#: src/lang.c:87
 #, c-format
 msgid "content subtype %s"
-msgstr "Content Untertype %s"
+msgstr "Content Untertyp %s"
 
-#: src/lang.c:86
+#: src/lang.c:88
 #, c-format
 msgid "content type %s"
-msgstr "Content Type %s"
+msgstr "Content Typ %s"
 
-#: src/lang.c:87
+#: src/lang.c:89
 #, c-format
 msgid "%*s[-- charset %s not supported --]\n"
 msgstr "%*s[-- Zeichensatz %s wird nicht unterstÃ¼tzt --]\n"
 
-#: src/lang.c:88
+#: src/lang.c:90
 #, c-format
 msgid "%*s[-- Description: %s --]\n"
 msgstr "%*s[-- Beschreibung: %s --]\n"
 
-#: src/lang.c:89
+#: src/lang.c:91
 #, c-format
 msgid "encoding %s"
 msgstr "Kodierung %s"
 
-#: src/lang.c:95
+#: src/lang.c:97
 #, c-format
 msgid "lang %s"
 msgstr "Sprache %s"
 
-#: src/lang.c:96
+#: src/lang.c:98
 #, c-format
 msgid "%s lines"
 msgstr "%s Zeilen"
 
-#: src/lang.c:97
+#: src/lang.c:99
 #, c-format
 msgid "name %s"
 msgstr "Name %s"
 
-#: src/lang.c:98
+#: src/lang.c:100
 msgid ", "
 msgstr ", "
 
-#: src/lang.c:99
+#: src/lang.c:101
 #, c-format
 msgid "size %s"
 msgstr "GrÃ¶ÃŸe %s"
 
-#: src/lang.c:100
+#: src/lang.c:102
 msgid ""
 "This message has been composed in the 'multipart/mixed' MIME-format. If you\n"
 "are reading this prefix, your mail reader probably has not yet been "
@@ -239,46 +243,46 @@ msgstr ""
 "aussehen.\n"
 "\n"
 
-#: src/lang.c:104
+#: src/lang.c:106
 msgid "Attachment Menu"
 msgstr "AnhÃ¤ngemenÃ¼"
 
-#: src/lang.c:105
+#: src/lang.c:107
 msgid "Attachment Menu Commands"
 msgstr "AnhÃ¤ngemenÃ¼ Befehle"
 
-#: src/lang.c:106
+#: src/lang.c:108
 msgid "<no name>"
 msgstr "<kein Name>"
 
-#: src/lang.c:107
+#: src/lang.c:109
 #, c-format
 msgid "Attachment saved successfully. (%s)"
 msgstr "Anhang erfolgreich gespeichert. (%s)"
 
-#: src/lang.c:108
+#: src/lang.c:110
 #, c-format
 msgid "%d of %d attachments saved successfully."
 msgstr "%d von %d AnhÃ¤ngen erfolgreich gespeichert."
 
-#: src/lang.c:109
+#: src/lang.c:111
 msgid "Select attachment> "
 msgstr "WÃ¤hle Anhang> "
 
-#: src/lang.c:110
+#: src/lang.c:112
 msgid "Tagged attachment"
 msgstr "Anhang markiert"
 
-#: src/lang.c:111
+#: src/lang.c:113
 #, c-format
 msgid "%d attachments tagged"
 msgstr "%d AnhÃ¤nge markiert"
 
-#: src/lang.c:112
+#: src/lang.c:114
 msgid "Untagged attachment"
 msgstr "Anhang unmarkiert"
 
-#: src/lang.c:115
+#: src/lang.c:117
 msgid ""
 "# Do not edit this comment block\n"
 "#\n"
@@ -286,447 +290,452 @@ msgstr ""
 "# Diesen Kommentarabschnitt nicht verÃ¤ndern\n"
 "#\n"
 
-#: src/lang.c:116
+#: src/lang.c:118
 msgid "#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr ""
 "#  scope=ZEICHENKETTE  [notwendig]\n"
 "#    GÃ¼ltigkeitsbereich, z.B. alt.*,!alt.bin*\n"
 
-#: src/lang.c:117
+#: src/lang.c:119
 msgid "#  add_posted_to_filter=ON/OFF\n"
 msgstr ""
 "#  add_posted_to_filter=ON/OFF\n"
 "#    Filtereintrag erzeugen fÃ¼r eigene Postings\n"
 
-#: src/lang.c:118
+#: src/lang.c:120
 msgid "#  advertising=ON/OFF\n"
 msgstr ""
 "#  advertising=ON/OFF\n"
 "#    User-Agent:-Header einfÃ¼gen\n"
 
-#: src/lang.c:119
+#: src/lang.c:121
 msgid "#  alternative_handling=ON/OFF\n"
 msgstr ""
 "#  alternative_handling=ON/OFF\n"
 "#    MIME multipart/alternative-Teile ausblenden\n"
 
-#: src/lang.c:120
+#: src/lang.c:122
 msgid "#  ask_for_metamail=ON/OFF\n"
 msgstr ""
 "#  ask_for_metamail=ON/OFF\n"
 "#    Start des MIME-Viewers erst nach BestÃ¤tigung\n"
 
-#: src/lang.c:121
+#: src/lang.c:123
 msgid "#  auto_cc_bcc=NUM\n"
 msgstr "#  auto_cc_bcc=ZAHL\n"
 
-#: src/lang.c:122
+#: src/lang.c:124
 msgid "#    0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n"
 msgstr "#    0=Nein, 1=Cc, 2=Bcc, 3=Cc und Bcc\n"
 
-#: src/lang.c:123
+#: src/lang.c:125
 msgid "#  auto_list_thread=ON/OFF\n"
 msgstr ""
 "#  auto_list_thread=ON/OFF\n"
 "#    Thread beim Betreten mit der rechten Cursortaste automatisch\n"
 "#    anzeigen\n"
 
-#: src/lang.c:124
+#: src/lang.c:126
 msgid "#  auto_select=ON/OFF\n"
 msgstr ""
 "#  auto_select=ON/OFF\n"
 "#    FÃ¼hre GroupMarkUnselArtRead Kommando automatisch beim Betreten\n"
 "#    der Gruppe aus\n"
 
-#: src/lang.c:125
+#: src/lang.c:127
 msgid "#  batch_save=ON/OFF\n"
 msgstr ""
 "#  batch_save=ON/OFF\n"
 "#    Im Batch-Modus werden die Artikel beachtet\n"
 
-#: src/lang.c:126
+#: src/lang.c:128
 msgid "#  date_format=STRING (eg. %a, %d %b %Y %H:%M:%S)\n"
 msgstr ""
 "#  date_format=ZEICHENKETTE\n"
 "#    z.B. %a, %d %b %Y %H:%M:%S\n"
 
-#: src/lang.c:127
+#: src/lang.c:129
 msgid "#  delete_tmp_files=ON/OFF\n"
 msgstr ""
 "#  delete_tmp_files=ON/OFF\n"
 "#    Gespeicherte, zur Nachbearbeitung weitergegebene Artikel ohne\n"
 "#    Nachfrage lÃ¶schen\n"
 
-#: src/lang.c:128
+#: src/lang.c:130
 msgid "#  editor_format=STRING (eg. %E +%N %F)\n"
 msgstr ""
 "#  editor_format=ZEICHENKETTE\n"
 "#    z.B. %E +%N %F\n"
 
-#: src/lang.c:129
+#: src/lang.c:131
 msgid "#  fcc=STRING (eg. =mailbox)\n"
 msgstr ""
 "#  fcc=ZEICHENKETTE\n"
 "#    Datei in der eine Kopie der Mail abgelegt werden soll,\n"
 "#    z.B. =mailbox\n"
 
-#: src/lang.c:130
+#: src/lang.c:132
 msgid "#  followup_to=STRING\n"
 msgstr ""
 "#  followup_to=ZEICHENKETTE\n"
 "#    Voreinstellung fÃ¼r den Followup-To:-Header\n"
 
-#: src/lang.c:131
+#: src/lang.c:133
 msgid "#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr ""
 "#  from=ZEICHENKETTE\n"
 "#    Absender, einfach den gewÃ¼nschten Wert eintragen,\n"
 "#    keine AnfÃ¼hrungszeichen verwenden\n"
 
-#: src/lang.c:132
+#: src/lang.c:134
 msgid "#  group_catchup_on_exit=ON/OFF\n"
 msgstr ""
 "#  group_catchup_on_exit=ON/OFF\n"
 "#    Catchup (als gelesen markieren) der Gruppe beim Verlassen\n"
 "#    mit der linken Cursortaste\n"
 
-#: src/lang.c:133
+#: src/lang.c:135
 msgid "#  group_format=STRING (eg. %n %m %R %L  %s  %F)\n"
 msgstr ""
 "#  group_format=ZEICHENKETTE\n"
 "#    z.B. %n %m %R %L  %s  %F\n"
 
-#: src/lang.c:134
+#: src/lang.c:136
 msgid "#  mail_8bit_header=ON/OFF\n"
 msgstr ""
 "#  mail_8bit_header=ON/OFF\n"
 "#    8-Bit-Zeichen (wie z.B. Umlaute) im Header von E-Mails\n"
 "#    unkodiert senden\n"
 
-#: src/lang.c:135
+#: src/lang.c:137
 msgid "#  mail_mime_encoding=supported_encoding"
 msgstr "#  mail_mime_encoding=ZEICHENKETTE"
 
-#: src/lang.c:137
+#: src/lang.c:139
 msgid "#  ispell=STRING\n"
 msgstr ""
 "#  ispell=ZEICHENKETTE\n"
 "#    Aufruf der RechtschreibprÃ¼fung,\n"
 "#    z.B. ispell -C -ddeutsch -w Ã¤Ã¶Ã¼Ã„Ã–ÃœÃŸ@ -Tlatin1\n"
 
-#: src/lang.c:139
+#: src/lang.c:141
 msgid "#  maildir=STRING (eg. ~/Mail)\n"
 msgstr ""
 "#  maildir=ZEICHENKETTE\n"
 "#    Verzeichnis der Mail-Ordner, z.B. ~/Mail\n"
 
-#: src/lang.c:140
+#: src/lang.c:142
 msgid "#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr ""
 "#  mailing_list=ZEICHENKETTE\n"
 "#    Gruppe ist eine gegatete Mailingliste, z.B. majordomo@example.org\n"
 
-#: src/lang.c:141
+#: src/lang.c:143
 msgid "#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr ""
 "#  mime_types_to_save=ZEICHENKETTE\n"
 "#    z.B. image/*,!image/bmp\n"
 
-#: src/lang.c:142
+#: src/lang.c:144
 msgid "#  mark_ignore_tags=ON/OFF\n"
 msgstr "#  mark_ignore_tags=ON/OFF\n"
 
-#: src/lang.c:143
+#: src/lang.c:145
 msgid "#  mark_saved_read=ON/OFF\n"
 msgstr "#  mark_saved_read=ON/OFF\n"
 
-#: src/lang.c:144
+#: src/lang.c:146
 msgid "#  mime_forward=ON/OFF\n"
 msgstr ""
 "#  mime_forward=ON/OFF\n"
 "#    Weitergeleitete Artikel als MIME-Anhang senden\n"
 
-#: src/lang.c:146
+#: src/lang.c:148
 msgid "#  mm_network_charset=supported_charset"
 msgstr ""
 "#  mm_network_charset=Zeichensatz\n"
 "#    Erlaubt sind folgende:"
 
-#: src/lang.c:147
+#: src/lang.c:149
 msgid "#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr ""
 "#  undeclared_charset=Zeichensatz\n"
 "#    Voreinstellung ist US-ASCII\n"
 
-#: src/lang.c:149
+#: src/lang.c:151
+msgid "#  undeclared_cs_guess=ON/OFF (default is OFF)\n"
+msgstr "#  undeclared_cs_guess=ON/OFF\n"
+
+#: src/lang.c:154
 msgid "#  news_headers_to_display=STRING\n"
 msgstr ""
 "#  news_headers_to_display=ZEICHENKETTE\n"
 "#    Voreinstellung ist: Newsgroups Followup-To Summary Keywords X-Comment-"
 "To\n"
 
-#: src/lang.c:150
+#: src/lang.c:155
 msgid "#  news_headers_to_not_display=STRING\n"
 msgstr "#  news_headers_to_not_display=ZEICHENKETTE\n"
 
-#: src/lang.c:151
+#: src/lang.c:156
 msgid "#  news_quote_format=STRING\n"
 msgstr ""
 "#  news_quote_format=ZEICHENKETTE\n"
 "#    Einleitungszeile, z.B. news_quote_format=In %%M, %%F wrote:\n"
 
-#: src/lang.c:152
+#: src/lang.c:157
 msgid "#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr ""
 "#  organization=ZEICHENKETTE\n"
 "#    Organization:-Header; ist das erste Zeichen ein '/', wird der\n"
 "#    Wert aus dieser Datei gelesen.\n"
 
-#: src/lang.c:153
+#: src/lang.c:158
 msgid "#  pos_first_unread=ON/OFF\n"
 msgstr "#  pos_first_unread=ON/OFF\n"
 
-#: src/lang.c:154
+#: src/lang.c:159
 msgid "#  post_8bit_header=ON/OFF\n"
 msgstr ""
 "#  post_8bit_header=ON/OFF\n"
 "#    8-Bit-Zeichen (wie z.B. Umlaute) im Header von Newsartikeln\n"
 "#    unkodiert senden\n"
 
-#: src/lang.c:155
+#: src/lang.c:160
 msgid "#  post_mime_encoding=supported_encoding"
 msgstr "#  post_mime_encoding=ZEICHENKETTE"
 
-#: src/lang.c:156
+#: src/lang.c:161
 msgid "#  post_process_type=NUM\n"
 msgstr ""
 "#  post_process_type=ZAHL\n"
 "#    Nachbearbeitung\n"
 
-#: src/lang.c:157
+#: src/lang.c:162
 msgid "#  post_process_view=ON/OFF\n"
 msgstr ""
 "#  post_process_view=ON/OFF\n"
 "#    Nachbearbeitete Artikel anzeigen\n"
 
-#: src/lang.c:158
+#: src/lang.c:163
 msgid "#  quick_kill_scope=STRING (e.g. talk.*)\n"
 msgstr ""
 "#  quick_kill_scope=ZEICHENKETTE\n"
-"#    Voreinstellung fÃ¼r GÃ¼ltigkeitsbereich neuer Kill-EintrÃ¤ge,\n"
+"#    Voreinstellung fÃ¼r GÃ¼ltigkeitssbereich neuer Kill-EintrÃ¤ge,\n"
 "#    z.B. talk.*\n"
 
-#: src/lang.c:159
+#: src/lang.c:164
 msgid "#  quick_kill_expire=ON/OFF\n"
 msgstr ""
 "#  quick_kill_expire=ON/OFF\n"
 "#    Kill verfÃ¤llt automatisch\n"
 
-#: src/lang.c:160
+#: src/lang.c:165
 msgid "#  quick_kill_case=ON/OFF\n"
 msgstr ""
 "#  quick_kill_case=ON/OFF\n"
 "#    Kill beachtet GroÃŸ/Kleinschreibung\n"
 
-#: src/lang.c:161
+#: src/lang.c:166
 msgid "#  quick_kill_header=NUM\n"
 msgstr ""
 "#  quick_kill_header=ZAHL\n"
 "#    Killen nach:\n"
 
-#: src/lang.c:162 src/lang.c:171
+#: src/lang.c:167 src/lang.c:176
 msgid "#    0=Subject: (case sensitive)  1=Subject: (ignore case)\n"
 msgstr ""
 "#    0=Subject: (GroÃŸ/Kleinschreibung beachten), 1=Subject: (G/K "
 "ignorieren)\n"
 
-#: src/lang.c:163 src/lang.c:172
+#: src/lang.c:168 src/lang.c:177
 msgid "#    2=From: (case sensitive)     3=From: (ignore case)\n"
 msgstr "#    2=From: (G/K beachten), 3=From: (G/K ignorieren)\n"
 
-#: src/lang.c:164 src/lang.c:173
+#: src/lang.c:169 src/lang.c:178
 msgid "#    4=Message-ID: & full References: line\n"
 msgstr "#    4=Message-ID: & alle References: EintrÃ¤ge\n"
 
-#: src/lang.c:165 src/lang.c:174
+#: src/lang.c:170 src/lang.c:179
 msgid "#    5=Message-ID: & last References: entry only\n"
 msgstr "#    5=Message-ID: & letzter References: Eintrag\n"
 
-#: src/lang.c:166 src/lang.c:175
+#: src/lang.c:171 src/lang.c:180
 msgid "#    6=Message-ID: entry only     7=Lines:\n"
 msgstr "#    6=Message-ID: allein, 7=Lines:\n"
 
-#: src/lang.c:167
+#: src/lang.c:172
 msgid "#  quick_select_scope=STRING\n"
 msgstr ""
 "#  quick_select_scope=ZEICHENKETTE\n"
-"#    Voreinstellung fÃ¼r GÃ¼ltigkeitsbereich neuer Auswahlregeln (Hochscoren)\n"
+"#    Voreinstellung fÃ¼r GÃ¼ltigkeitssbereich neuer Auswahlregeln "
+"(Hochscoren)\n"
 
-#: src/lang.c:168
+#: src/lang.c:173
 msgid "#  quick_select_expire=ON/OFF\n"
 msgstr ""
 "#  quick_select_expire=ON/OFF\n"
 "#    Regel verfÃ¤llt automatisch\n"
 
-#: src/lang.c:169
+#: src/lang.c:174
 msgid "#  quick_select_case=ON/OFF\n"
 msgstr ""
 "#  quick_select_case=ON/OFF\n"
 "#    Regel beachtet GroÃŸ/Kleinschreibung\n"
 
-#: src/lang.c:170
+#: src/lang.c:175
 msgid "#  quick_select_header=NUM\n"
 msgstr ""
 "#  quick_select_header=NUM\n"
 "#    AuswÃ¤hlen (Hochscoren) nach:\n"
 
-#: src/lang.c:176
+#: src/lang.c:181
 msgid "#  quote_chars=STRING (%I for initials)\n"
 msgstr ""
 "#  quote_chars=ZEICHENKETTE\n"
 "#    Zeichen fÃ¼r Zitate in Antworten, %I ergibt Autoreninitialen\n"
 
-#: src/lang.c:178
+#: src/lang.c:183
 msgid "#  print_header=ON/OFF\n"
 msgstr ""
 "#  print_header=ON/OFF\n"
 "#    Alle Header beim Drucken ausgeben\n"
 
-#: src/lang.c:180
+#: src/lang.c:185
 msgid "#  process_only_unread=ON/OFF\n"
 msgstr "#  process_only_unread=ON/OFF\n"
 
-#: src/lang.c:181
+#: src/lang.c:186
 msgid "#  prompt_followupto=ON/OFF\n"
 msgstr ""
 "#  prompt_followupto=ON/OFF\n"
 "#    Leeren Followup-To:-Header anzeigen beim Erstellen eines Artikels\n"
 
-#: src/lang.c:182
+#: src/lang.c:187
 msgid "#  savedir=STRING (eg. ~user/News)\n"
 msgstr ""
 "#  savedir=ZEICHENKETTE\n"
 "#    Verzeichnis zum Speichern, z.B. ~user/News\n"
 
-#: src/lang.c:183
+#: src/lang.c:188
 msgid "#  savefile=STRING (eg. =linux)\n"
 msgstr ""
 "#  savefile=ZEICHENKETTE\n"
 "#    Datei zum Speichern, z.B. =linux\n"
 
-#: src/lang.c:184
+#: src/lang.c:189
 msgid "#  sigfile=STRING (eg. $var/sig)\n"
 msgstr ""
 "#  sigfile=ZEICHENKETTE\n"
 "#    Signatur, z.B. $var/sig\n"
 
-#: src/lang.c:185
+#: src/lang.c:190
 msgid "#  show_author=NUM\n"
 msgstr ""
 "#  show_author=ZAHL\n"
 "#    Anzeige des From-Felds\n"
 
-#: src/lang.c:186
+#: src/lang.c:191
 msgid "#  show_signatures=ON/OFF\n"
 msgstr ""
 "#  show_signatures=ON/OFF\n"
 "#    Signaturen anzeigen\n"
 
-#: src/lang.c:187
+#: src/lang.c:192
 msgid "#  show_art_score=ON/OFF\n"
 msgstr ""
 "#  show_art_score=ON/OFF\n"
 "#    Zeige Bewertung an\n"
 
-#: src/lang.c:189
+#: src/lang.c:194
 msgid "#  suppress_soft_hyphens=ON/OFF\n"
 msgstr ""
 "#  suppress_soft_hyphens=ON/OFF\n"
 "#    weiche Bindestriche entfernen\n"
 
-#: src/lang.c:191
+#: src/lang.c:196
 msgid "#  show_only_unread_arts=ON/OFF\n"
 msgstr ""
 "#  show_only_unread_arts=ON/OFF\n"
 "#    nur ungelesene Artikel anzeigen\n"
 
-#: src/lang.c:192
+#: src/lang.c:197
 msgid "#  sigdashes=ON/OFF\n"
 msgstr ""
 "#  sigdashes=ON/OFF\n"
 "#    Signatur mit '\\n-- \\n' abtrennen\n"
 
-#: src/lang.c:193
+#: src/lang.c:198
 msgid "#  signature_repost=ON/OFF\n"
 msgstr ""
 "#  signature_repost=ON/OFF\n"
 "#    Signatur beim Reposten anhÃ¤ngen\n"
 
-#: src/lang.c:194
+#: src/lang.c:199
 msgid "#  sort_article_type=NUM\n"
 msgstr ""
 "#  sort_article_type=ZAHL\n"
 "#    Artikel sortieren nach:\n"
 
-#: src/lang.c:195
+#: src/lang.c:200
 msgid "#  sort_threads_type=NUM\n"
 msgstr ""
 "#  sort_threads_type=ZAHL\n"
 "#    Threads sortieren nach:\n"
 
-#: src/lang.c:196
+#: src/lang.c:201
 msgid "#  tex2iso_conv=ON/OFF\n"
 msgstr ""
 "#  tex2iso_conv=ON/OFF\n"
 "#    Automatische Umwandlung von TeX-Umlauten\n"
 
-#: src/lang.c:197
+#: src/lang.c:202
 msgid "#  thread_catchup_on_exit=ON/OFF\n"
 msgstr "#  thread_catchup_on_exit=ON/OFF\n"
 
-#: src/lang.c:198
+#: src/lang.c:203
 msgid "#  thread_articles=NUM"
 msgstr ""
 "#  thread_articles=ZAHL\n"
 "#    Threading nach:"
 
-#: src/lang.c:199
+#: src/lang.c:204
 msgid "#  thread_format=STRING (eg. %n %m [%L]  %T  %F)\n"
 msgstr ""
 "#  thread_format=ZEICHENKETTE\n"
 "#    z.B. %n %m [%L]  %T  %F\n"
 
-#: src/lang.c:200
+#: src/lang.c:205
 msgid "#  thread_perc=NUM\n"
 msgstr ""
 "#  thread_perc=ZAHL\n"
 "#    Wie viel Prozent des Subjects mÃ¼ssen gleich sein?\n"
 
-#: src/lang.c:201
+#: src/lang.c:206
 msgid "#  trim_article_body=NUM\n"
 msgstr "#  trim_article_body=ZAHL\n"
 
-#: src/lang.c:202
+#: src/lang.c:207
 msgid "#    0 = Don't trim article body\n"
 msgstr "#    0 = Artikelrumpf nicht anpassen\n"
 
-#: src/lang.c:203
+#: src/lang.c:208
 msgid "#    1 = Skip leading blank lines\n"
 msgstr "#    1 = FÃ¼hrende Leerzeilen Ã¼berspringen\n"
 
-#: src/lang.c:204
+#: src/lang.c:209
 msgid "#    2 = Skip trailing blank lines\n"
 msgstr "#    2 = AbschlieÃŸende Leerzeilen Ã¼berspringen\n"
 
-#: src/lang.c:205
+#: src/lang.c:210
 msgid "#    3 = Skip leading and trailing blank lines\n"
 msgstr "#    3 = FÃ¼hrende und abschlieÃŸende Leerzeilen Ã¼berspringen\n"
 
-#: src/lang.c:206
+#: src/lang.c:211
 msgid "#    4 = Compact multiple blank lines between text blocks\n"
 msgstr "#    4 = Leerzeilen zwischen TextblÃ¶cken zusammenfassen\n"
 
-#: src/lang.c:207
+#: src/lang.c:212
 msgid ""
 "#    5 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading blank lines\n"
@@ -734,7 +743,7 @@ msgstr ""
 "#    5 = Leerzeilen zwischen TextblÃ¶cken zusammenfassen und\n"
 "#        fÃ¼hrende Leerzeilen Ã¼berspringen\n"
 
-#: src/lang.c:208
+#: src/lang.c:213
 msgid ""
 "#    6 = Compact multiple blank lines between text blocks and skip\n"
 "#        trailing blank lines\n"
@@ -742,7 +751,7 @@ msgstr ""
 "#    6 = Leerzeilen zwischen TextblÃ¶cken zusammenfassen und\n"
 "#        abschlieÃŸende Leerzeilen Ã¼berspringen\n"
 
-#: src/lang.c:209
+#: src/lang.c:214
 msgid ""
 "#    7 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading and trailing blank lines\n"
@@ -750,43 +759,43 @@ msgstr ""
 "#    7 = Leerzeilen zwischen TextblÃ¶cken zusammenfassen und\n"
 "#        fÃ¼hrende sowie abschlieÃŸende Leerzeilen Ã¼berspringen\n"
 
-#: src/lang.c:210
+#: src/lang.c:215
 msgid "#  verbatim_handling=ON/OFF\n"
 msgstr ""
 "#  verbatim_handling=ON/OFF\n"
 "#    Wortgetreue TextblÃ¶cke erkennen\n"
 
-#: src/lang.c:212
+#: src/lang.c:217
 msgid "#  extquote_handling=ON/OFF\n"
 msgstr ""
 "#  extquote_handling=ON/OFF\n"
 "#    Fremdzitate erkennen\n"
 
-#: src/lang.c:214
+#: src/lang.c:219
 msgid "#  wrap_on_next_unread=ON/OFF\n"
 msgstr "#  wrap_on_next_unread=ON/OFF\n"
 
-#: src/lang.c:215
+#: src/lang.c:220
 msgid "#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr ""
 "#  x_body=ZEICHENKETTE\n"
 "#    Text wird automatisch zu Beginn des Artikels eingefÃ¼gt,\n"
 "#    z.B. ~/.tin/extra-body-text\n"
 
-#: src/lang.c:216
+#: src/lang.c:221
 msgid "#  x_comment_to=ON/OFF\n"
 msgstr ""
 "#  x_comment_to=ON/OFF\n"
 "#    X-Comment-To:-Header einfÃ¼gen.\n"
 "#    (Nur sinnvoll in nach Fido Technology Network gegateten Gruppen.)\n"
 
-#: src/lang.c:217
+#: src/lang.c:222
 msgid "#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr ""
 "#  x_headers=ZEICHENKETTE\n"
 "#    ZusÃ¤tzliche Header, z.B. ~/.tin/extra-headers\n"
 
-#: src/lang.c:218
+#: src/lang.c:223
 msgid ""
 "#\n"
 "# Note that it is best to put general (global scoping)\n"
@@ -794,7 +803,7 @@ msgstr ""
 "#\n"
 "# Es empfiehlt sich, zuerst allgemein gÃ¼ltige und danach spezielle,\n"
 
-#: src/lang.c:219
+#: src/lang.c:224
 msgid ""
 "# entries first followed by group specific entries.\n"
 "#\n"
@@ -802,62 +811,67 @@ msgstr ""
 "# nur fÃ¼r bestimmte Newsgruppen gÃ¼ltige EintrÃ¤ge aufzufÃ¼hren.\n"
 "#\n"
 
-#: src/lang.c:220
+#: src/lang.c:225
 msgid "############################################################################\n"
 msgstr "############################################################################\n"
 
-#: src/lang.c:221
+#: src/lang.c:226
 msgid "Attributes Menu Commands"
 msgstr "AttributemenÃ¼ Befehle"
 
-#: src/lang.c:222
+#: src/lang.c:227
 #, c-format
 msgid "attribute with no scope: %s"
 msgstr "Attribut ohne GÃ¼ltigkeitsbereich: %s"
 
-#: src/lang.c:224
+#: src/lang.c:229
 #, c-format
 msgid "%d Authentication failed"
 msgstr "%d Anmeldung fehlgeschlagen"
 
-#: src/lang.c:225
+#: src/lang.c:230
 #, c-format
 msgid "NNTP authorization password not found for %s"
 msgstr "NNTP Anmeldepasswort fÃ¼r %s nicht gefunden"
 
-#: src/lang.c:226
+#: src/lang.c:231
 msgid "Server expects authentication.\n"
 msgstr "Der Server verlangt Anmeldung (Passwort).\n"
 
-#: src/lang.c:227
+#: src/lang.c:232
 msgid "    Please enter password: "
 msgstr "    Bitte das Passwort eingeben: "
 
-#: src/lang.c:228
+#: src/lang.c:233
 msgid "    Please enter username: "
 msgstr "    Bitte den Benutzernamen eingeben: "
 
-#: src/lang.c:229
+#: src/lang.c:234
 #, c-format
 msgid "Authorized for user: %s\n"
 msgstr "Angemeldet als Benutzer: %s\n"
 
-#: src/lang.c:230
+#: src/lang.c:235
 #, c-format
 msgid "Authorization failed for user: %s\n"
 msgstr "Anmeldung fÃ¼r den Benutzer \"%s\" fehlgeschlagen\n"
 
-#: src/lang.c:232
+#: src/lang.c:236
+msgid "No supported authorization method available in current state!\n"
+msgstr ""
+"Im aktuellen Status ist keine unterstÃ¼tzte Autorisierungsmethode verfÃ¼gbar!\n"
+
+#: src/lang.c:238
 #, c-format
 msgid "Author search backwards [%s]> "
 msgstr "Autorsuche rÃ¼ckwÃ¤rts [%s]> "
 
-#: src/lang.c:233
+#: src/lang.c:239
 #, c-format
 msgid "Author search forwards [%s]> "
 msgstr "Autorsuche vorwÃ¤rts [%s]> "
 
-#: src/lang.c:234
+#: src/lang.c:240
 #, c-format
 msgid ""
 "\n"
@@ -866,186 +880,192 @@ msgstr ""
 "\n"
 "Automatisch abonniert: %s"
 
-#: src/lang.c:235
+#: src/lang.c:241
 msgid "Autosubscribing groups...\n"
 msgstr "Automatisches Abonnieren der Gruppen...\n"
 
-#: src/lang.c:236
+#: src/lang.c:242
 #, c-format
 msgid "Autoselecting articles (use '%s' to see all unread) ..."
 msgstr "Automatische Artikelauswahl ('%s' um alle ungelesenen zu sehen) ..."
 
-#: src/lang.c:238
+#: src/lang.c:244
 #, c-format
 msgid ""
 "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 msgstr ""
 "Artikel verursachte Fehler/Warnungen. %s=beenden, %s=MenÃ¼, %s=editieren: "
 
-#: src/lang.c:239
+#: src/lang.c:246
 #, c-format
 msgid "Unrecognized attribute: %s"
 msgstr "Unbekannte Attribute: %s"
 
-#: src/lang.c:240
+#: src/lang.c:248
 #, c-format
 msgid "Bad command. Type '%s' for help."
 msgstr "UngÃ¼ltiger Befehl. DrÃ¼cken Sie '%s' fÃ¼r Hilfe."
 
-#: src/lang.c:242
+#: src/lang.c:249
 msgid "Base article"
 msgstr "Ursprungsartikel"
 
-#: src/lang.c:243
+#: src/lang.c:250
 msgid "Base article range"
 msgstr "Bereich fÃ¼r Ursprungsartikel"
 
-#: src/lang.c:244
+#: src/lang.c:251
 #, c-format
 msgid "%s: Updating of index files not supported: cache_overview_files=%s"
 msgstr ""
-"%s: Aktualisieren der Index-Dateien nicht unterstÃ¼tzt: cache_overview_files="
-"%s"
+"%s: Aktualisieren der Index-Dateien nicht unterstÃ¼tzt: "
+"cache_overview_files=%s"
 
-#: src/lang.c:245
+#: src/lang.c:252
 msgid "*** Beginning of article ***"
 msgstr "*** Anfang des Artikels ***"
 
-#: src/lang.c:246
+#: src/lang.c:253
 msgid "*** Beginning of page ***"
 msgstr "*** Seitenanfang ***"
 
-#: src/lang.c:248
-msgid "bytes"
-msgstr "Bytes"
-
-#: src/lang.c:251
+#: src/lang.c:255
 #, c-format
 msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr "[%%s] canceln (lÃ¶schen) oder superseden (Ã¼berschreiben)? (%s/%s/%s): "
 
-#: src/lang.c:252
+#: src/lang.c:256
 msgid "Cancelling article..."
 msgstr "LÃ¶sche Artikel..."
 
-#: src/lang.c:254
+#: src/lang.c:258
 #, c-format
 msgid "Cannot create %s"
 msgstr "Kann %s nicht erstellen"
 
-#: src/lang.c:257
+#: src/lang.c:261
 #, c-format
 msgid "Can't find base article %d"
 msgstr "Kann den Basisartikel %d nicht finden"
 
-#: src/lang.c:259
+#: src/lang.c:263
 #, c-format
 msgid "Can't open %s"
 msgstr "Kann %s nicht Ã¶ffnen"
 
-#: src/lang.c:260
+#: src/lang.c:264
 #, c-format
 msgid "Couldn't open %s for saving"
 msgstr "Kann %s nicht speichern"
 
-#: src/lang.c:261
+#: src/lang.c:265
 msgid "*** Posting not allowed ***"
 msgstr "*** Posten nicht erlaubt ***"
 
-#: src/lang.c:262
+#: src/lang.c:266
 #, c-format
 msgid "Posting is not allowed to %s"
 msgstr "Posten nach %s ist nicht erlaubt"
 
-#: src/lang.c:264
+#: src/lang.c:268
 #, c-format
 msgid "Can't retrieve %s"
 msgstr "Kann %s nicht empfangen"
 
-#: src/lang.c:266
+#: src/lang.c:270
 msgid "Can't supersede in mailgroups, try repost instead."
 msgstr ""
 "Ãœberschreiben in Mailgruppen nicht mÃ¶glich, stattdessen Reposting benutzen."
 
-#: src/lang.c:267
+#: src/lang.c:271
 #, c-format
 msgid "%s is a directory"
 msgstr "%s ist ein Verzeichnis"
 
-#: src/lang.c:268
+#: src/lang.c:272
 msgid "Catchup"
 msgstr "Catchup"
 
-#: src/lang.c:269
+#: src/lang.c:273
 #, c-format
 msgid "Catchup %s..."
 msgstr "Catchup von %s..."
 
-#: src/lang.c:270
+#: src/lang.c:274
 msgid "Catchup all groups entered during this session?"
 msgstr "Alle betretenen Gruppen als gelesen markieren?"
 
-#: src/lang.c:271
+#: src/lang.c:275
 msgid "You have tagged articles in this group - catchup anyway?"
 msgstr ""
 "Markierte Artikel in der Gruppe - trotzdem aufholen (als gelesen markieren)?"
 
-#: src/lang.c:272
+#: src/lang.c:276
 #, c-format
 msgid "%s %d %s in %lu seconds\n"
 msgstr "%s %d %s in %lu Sekunden\n"
 
-#: src/lang.c:273
+#: src/lang.c:277
 msgid "Caughtup"
 msgstr "Aufgeholt"
 
-#: src/lang.c:274
+#: src/lang.c:278
 msgid "Check Prepared Article"
 msgstr "ÃœberprÃ¼fe vorbereiteten Artikel"
 
-#: src/lang.c:275
+#: src/lang.c:279
 msgid "Checking for new groups... "
 msgstr "PrÃ¼fe, ob neue Gruppen vorhanden sind... "
 
-#: src/lang.c:276
+#: src/lang.c:280
 msgid "Checking for news...\n"
 msgstr "PrÃ¼fe, ob neue Artikel vorhanden sind...\n"
 
-#: src/lang.c:277
+#: src/lang.c:281
 #, c-format
 msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr "Nachbearbeiten %s=nein, %s=ja, %s=shar, %s=Ende: "
 
-#: src/lang.c:279
+#: src/lang.c:283
 msgid "ANSI color disabled"
 msgstr "ANSI Farben ausgeschaltet"
 
-#: src/lang.c:280
+#: src/lang.c:284
 msgid "ANSI color enabled"
 msgstr "ANSI Farben eingeschaltet"
 
-#: src/lang.c:282
+#: src/lang.c:286
 #, c-format
 msgid "Command failed: %s"
 msgstr "Befehl fehlgeschlagen: %s"
 
-#: src/lang.c:284
+#: src/lang.c:288
 msgid "Mark not selected articles read?"
 msgstr "Nicht ausgewÃ¤hlte (hot) Artikel auf gelesen setzen?"
 
-#: src/lang.c:285
+#: src/lang.c:289
 msgid "Connection Info"
 msgstr "Informationen zur Verbindung"
 
-#: src/lang.c:286
+#: src/lang.c:290
 msgid "Reading from local spool.\n"
 msgstr "Lese aus dem lokalen Spool.\n"
 
-#: src/lang.c:287
+#: src/lang.c:291
 msgid "Reading saved news.\n"
 msgstr "Lese gespeicherte Artikel.\n"
 
-#: src/lang.c:295
+#: src/lang.c:292
+msgid ""
+"\n"
+"Configuration files:\n"
+"--------------------\n"
+msgstr ""
+"\n"
+"Konfigurations-Dateien:\n"
+"-----------------------\n"
+
+#: src/lang.c:300
 msgid ""
 "\n"
 "Local spool config:\n"
@@ -1055,11 +1075,11 @@ msgstr ""
 "Konfiguration des lokalen Spools:\n"
 "---------------------------------\n"
 
-#: src/lang.c:300
+#: src/lang.c:305
 msgid "COMPRESS      :"
 msgstr "COMPRESS          :"
 
-#: src/lang.c:301
+#: src/lang.c:306
 msgid ""
 "\n"
 "Connection details:\n"
@@ -1069,81 +1089,86 @@ msgstr ""
 "Verbindungsdetails:\n"
 "-------------------\n"
 
-#: src/lang.c:303
+#: src/lang.c:308
 #, c-format
 msgid " DEFLATE %s\n"
 msgstr " DEFLATE %s\n"
 
-#: src/lang.c:304
+#: src/lang.c:309
 msgid "(enabled)"
 msgstr "(aktiviert)"
 
-#: src/lang.c:305
+#: src/lang.c:310
 msgid "(inactive)"
 msgstr "(inaktiv)"
 
-#: src/lang.c:307
+#: src/lang.c:312
 msgid " DEFLATE (not supported)\n"
 msgstr " DEFLATE (nicht unterstÃ¼tzt)\n"
 
-#: src/lang.c:310
+#: src/lang.c:315
 msgid "(disabled)"
 msgstr "(deaktiviert)"
 
-#: src/lang.c:311
+#: src/lang.c:316
 #, c-format
 msgid "NNTP TIMEOUT  : %d seconds %s\n"
 msgstr "NNTP TIMEOUT      : %d Sekunden %s\n"
 
-#: src/lang.c:313
+#: src/lang.c:318
 #, c-format
 msgid "IMPLEMENTATION: %s\n"
 msgstr "UMSETZUNG         : %s\n"
 
-#: src/lang.c:315
+#: src/lang.c:320
 #, c-format
 msgid "MAXARTNUM     : %s\n"
 msgstr "MAXARTNUM         : %s\n"
 
-#: src/lang.c:317
+#: src/lang.c:322
 #, c-format
 msgid "Reading via NNTP (%s).\n"
 msgstr "Lesen per NNTP (%s).\n"
 
-#: src/lang.c:318
+#: src/lang.c:323
 #, c-format
 msgid "NNTPPORT      : %u\n"
 msgstr "NNTPPORT          : %u\n"
 
-#: src/lang.c:319
+#: src/lang.c:324
 msgid "read only"
 msgstr "nur lesen"
 
-#: src/lang.c:320
+#: src/lang.c:325
 msgid "read/write"
 msgstr "lesen/schreiben"
 
-#: src/lang.c:321
+#: src/lang.c:326
 #, c-format
 msgid "NNTPSERVER    : %s\n"
 msgstr "NNTPSERVER        : %s\n"
 
-#: src/lang.c:323
+#: src/lang.c:327
+#, c-format
+msgid "CONNECTIONTYPE: %s\n"
+msgstr "VERBINDUNGSTYP    : %s\n"
+
+#: src/lang.c:329
 #, c-format
 msgid "Reading %s via NNTPS (%s; "
-msgstr "Lesen per NNTPS (%s; "
+msgstr "Lese %s per NNTPS (%s; "
 
-#: src/lang.c:325
+#: src/lang.c:330
 #, c-format
 msgid "Certificate #%d\n"
 msgstr "Zertifikat #%d\n"
 
-#: src/lang.c:327
+#: src/lang.c:332
 #, c-format
 msgid "Issuer : %s\n"
 msgstr "Aussteller: %s\n"
 
-#: src/lang.c:328
+#: src/lang.c:333
 msgid ""
 "\n"
 "Server certificate information:\n"
@@ -1153,12 +1178,12 @@ msgstr ""
 "Zertifikat Infos des Servers:\n"
 "-----------------------------\n"
 
-#: src/lang.c:329
+#: src/lang.c:334
 #, c-format
 msgid "Subject: %s\n"
 msgstr "Gegenstand: %s\n"
 
-#: src/lang.c:330
+#: src/lang.c:335
 msgid ""
 "\n"
 "TLS information:\n"
@@ -1168,202 +1193,205 @@ msgstr ""
 "TLS Informationen :\n"
 "------------------:\n"
 
-#: src/lang.c:333
+#: src/lang.c:336
+msgid "trusted"
+msgstr "vertrauenswÃ¼rdig"
+
+#: src/lang.c:337
+msgid "untrusted"
+msgstr "nicht vertrauenswÃ¼rdig"
+
+#: src/lang.c:339
 msgid "UNEXPECTED, possible BUG"
 msgstr "UNERWARTET, wahrscheinlicher FEHLER"
 
-#: src/lang.c:334
+#: src/lang.c:340
 msgid "tolerated as \"-k\" (insecure) requested"
 msgstr "geduldet da \"-k\" (unsicher) gewÃ¼nscht"
 
-#: src/lang.c:335
+#: src/lang.c:341
 #, c-format
 msgid ""
 "Server certificate verification FAILED:\n"
 "\t%s (%s)\n"
 msgstr ""
-"Server ZertifikatÃ¼berprÃ¼fung FEHLGESCHLAGEN:\n"
+"Server ZertifikatsÃ¼berprÃ¼fung FEHLGESCHLAGEN:\n"
 "\t%s (%s)\n"
 
-#: src/lang.c:336
+#: src/lang.c:342
 msgid "Server certificate verified successfully.\n"
 msgstr "Server Zertifikat erfolgreich geprÃ¼ft.\n"
 
-#: src/lang.c:338
-msgid "trusted"
-msgstr "vertrauenswÃ¼rdig"
-
-#: src/lang.c:339
-msgid "untrusted"
-msgstr "nicht vertrauenswÃ¼rdig"
-
-#: src/lang.c:342
+#: src/lang.c:346
 msgid "Server certificate verification FAILED: <can't get reason>\n"
-msgstr "Server ZertifikatÃ¼berprÃ¼fung FEHLGESCHLAGEN: <kein Grund genannt>\n"
+msgstr "Server ZertifikatsÃ¼berprÃ¼fung FEHLGESCHLAGEN: <kein Grund genannt>\n"
 
-#: src/lang.c:346
+#: src/lang.c:350
 #, c-format
 msgid "%s %s (strength %d)\n"
 msgstr "%s %s (StÃ¤rke %d)\n"
 
-#: src/lang.c:353
+#: src/lang.c:357
 #, c-format
 msgid "Cook article failed, %s is exiting"
 msgstr "Artikel aufbereiten fehlgeschlagen, %s beendet sich"
 
-#: src/lang.c:354
+#: src/lang.c:358
 msgid "<CR>"
 msgstr "<CR>"
 
-#: src/lang.c:355
+#: src/lang.c:359
 msgid "Creating active file for saved groups...\n"
 msgstr "Erzeuge die Datei 'active' fÃ¼r gespeicherte Gruppen...\n"
 
-#: src/lang.c:356
-msgid "Creating newsrc file...\n"
-msgstr "Erzeuge newsrc Datei...\n"
+#: src/lang.c:360
+#, c-format
+msgid "Creating %s file...\n"
+msgstr "Erzeuge %s Datei...\n"
 
-#: src/lang.c:358 src/lang.c:1666 src/lang.c:1686
+#: src/lang.c:362 src/lang.c:1715 src/lang.c:1735
 msgid "Default"
 msgstr "Voreinstellung"
 
-#: src/lang.c:359
+#: src/lang.c:363
 msgid "Delete saved files that have been post processed?"
 msgstr "LÃ¶schen der gespeicherten Dateien, die nachbearbeitet wurden?"
 
-#: src/lang.c:360
+#: src/lang.c:364
 msgid "Deleting temporary files..."
 msgstr "LÃ¶sche temporÃ¤re Dateien..."
 
-#: src/lang.c:362
+#: src/lang.c:366
 msgid "*** End of article ***"
 msgstr "*** Ende des Artikels ***"
 
-#: src/lang.c:363
+#: src/lang.c:367
 msgid "*** End of articles ***"
 msgstr "*** Ende der Artikel ***"
 
-#: src/lang.c:364
+#: src/lang.c:368
 msgid "*** End of attachments ***"
 msgstr "*** Ende der AnhÃ¤nge ***"
 
-#: src/lang.c:365
+#: src/lang.c:369
 msgid "*** End of groups ***"
 msgstr "*** Ende der Gruppen ***"
 
-#: src/lang.c:366
+#: src/lang.c:370
 msgid "*** End of page ***"
 msgstr "*** Seitenende ***"
 
-#: src/lang.c:367
+#: src/lang.c:371
 msgid "*** End of posted articles ***"
 msgstr "*** Ende der geposteten Artikel ***"
 
-#: src/lang.c:368
+#: src/lang.c:372
 msgid "*** End of scopes ***"
 msgstr "*** Ende der GÃ¼ltigkeitsbereiche ***"
 
-#: src/lang.c:369
+#: src/lang.c:373
 msgid "*** End of thread ***"
 msgstr "*** Ende des Threads ***"
 
-#: src/lang.c:370
+#: src/lang.c:374
 msgid "*** End of URLs ***"
 msgstr "*** Ende der URLs ***"
 
-#: src/lang.c:371
+#: src/lang.c:375
 msgid "Enter limit of articles to get> "
 msgstr "Anzahl zu holender Artikel> "
 
-#: src/lang.c:372
+#: src/lang.c:376
 msgid "Enter Message-ID to go to> "
 msgstr "Message-ID, die Sie suchen> "
 
-#: src/lang.c:373
+#: src/lang.c:377
 msgid " and enter next unread thread"
 msgstr " und nÃ¤chsten ungel. Thread betreten"
 
-#: src/lang.c:374
+#: src/lang.c:378
 msgid " and enter next unread article"
 msgstr " und nÃ¤chsten ungel. Artikel betreten"
 
-#: src/lang.c:375
+#: src/lang.c:379
 msgid " and enter next unread group"
 msgstr " und betritt nÃ¤chste Gruppe"
 
-#: src/lang.c:376
+#: src/lang.c:380
 msgid "Enter option number> "
 msgstr "Optionsnummer eingeben> "
 
-#: src/lang.c:377
+#: src/lang.c:381
 #, c-format
 msgid "Enter range [%s]> "
 msgstr "Bereich eingeben [%s]> "
 
-#: src/lang.c:378
-msgid ""
-"\n"
-"Warning: Approved: header used.\n"
-msgstr ""
-"\n"
-"Warnung: Approved:-Header benutzt.\n"
-
 #: src/lang.c:382
-msgid ""
-"\n"
-"Error: Bad address in Approved: header.\n"
-msgstr ""
-"\n"
-"Fehler: UngÃ¼ltige Adresse im Approved:-Header.\n"
+#, c-format
+msgid "Error: Could not appended %s to %s"
+msgstr "Fehler: AnhÃ¤ngen von %s an %s fehlgeschlagen"
 
 #: src/lang.c:383
 msgid ""
 "\n"
-"Error: Bad address in From: header.\n"
+"Warning: Approved: header used.\n"
 msgstr ""
 "\n"
-"Fehler: UngÃ¼ltige Adresse im From:-Header.\n"
+"Warnung: Approved:-Header benutzt.\n"
 
 #: src/lang.c:384
-msgid ""
-"\n"
-"Error: Bad FQDN in Message-ID: header.\n"
-msgstr ""
-"\n"
-"Fehler: UngÃ¼ltiger FQDN im Message-ID:-Header.\n"
+#, c-format
+msgid "  Line %d: \"%s\": given string too long.\n"
+msgstr "  Zeile %d: \"%s\": Zeichenkette zu lang.\n"
 
 #: src/lang.c:385
+#, c-format
+msgid "  Line %d: \"%s\": unrecognized attribute.\n"
+msgstr "  Zeile %d: \"%s\": unbekanntes Attribut.\n"
+
+#: src/lang.c:386
+#, c-format
+msgid "  Line %d: \"%s\": malformed line, '=' missing.\n"
+msgstr "  Zeile %d: \"%s\": fehlerhafte Zeile, '=' fehlt.\n"
+
+#: src/lang.c:390
+#, c-format
 msgid ""
 "\n"
-"Error: Bad address in Reply-To: header.\n"
+"Error: Bad address in \"%s\" header.\n"
 msgstr ""
 "\n"
-"Fehler: UngÃ¼ltige Adresse im Reply-To:-Header.\n"
+"Fehler: UngÃ¼ltige Adresse im \"%s\"-Header.\n"
 
-#: src/lang.c:386
+#: src/lang.c:391
 msgid ""
 "\n"
-"Error: Bad address in To: header.\n"
+"Error: Bad FQDN in Message-ID: header.\n"
 msgstr ""
 "\n"
-"Fehler: UngÃ¼ltige Adresse im To:-Header.\n"
+"Fehler: UngÃ¼ltiger FQDN im Message-ID:-Header.\n"
 
-#: src/lang.c:388
+#: src/lang.c:393
+#, c-format
+msgid "Can't use literal IPv%d-address %s with TLS (-T)"
+msgstr "Mit TLS (-T) kann keine literale IPv6-Adresse %s benutzt werden."
+
+#: src/lang.c:396
 #, c-format
 msgid "Can't unlock %s"
 msgstr "Kann Lock auf %s nicht entfernen"
 
-#: src/lang.c:389
+#: src/lang.c:397
 #, c-format
 msgid "Couldn't dotlock %s - article not appended!"
 msgstr "Konnte %s nicht dotlocken - Artikel nicht angehÃ¤ngt!"
 
-#: src/lang.c:390
+#: src/lang.c:398
 #, c-format
 msgid "Couldn't lock %s - article not appended!"
 msgstr "Konnte %s nicht locken - Artikel nicht angehÃ¤ngt!"
 
-#: src/lang.c:393
+#: src/lang.c:401
 #, c-format
 msgid ""
 "Server requires authentication but compression (-C) is already active.\n"
@@ -1373,17 +1401,30 @@ msgstr ""
 "aktiv.\n"
 "Starten Sie %s mit der Kommandozeilenoption -A in Verbindung mit -C neu.\n"
 
-#: src/lang.c:396
+#: src/lang.c:404
 #, c-format
 msgid "Corrupted file %s"
 msgstr "Datei %s ist beschÃ¤digt"
 
-#: src/lang.c:397
+#: src/lang.c:406
 #, c-format
 msgid "couldn't expand %s\n"
 msgstr "Kann %s nicht expandieren\n"
 
-#: src/lang.c:399
+#: src/lang.c:408
+#, c-format
+msgid "Error: Custom format empty. Using default \"%s\"."
+msgstr "Fehler: Benutzerdefiniertes Format leer. Benutze Voreinst. \"%s\"."
+
+#: src/lang.c:409
+msgid ""
+"\n"
+"Error: Article is empty.\n"
+msgstr ""
+"\n"
+"Fehler: Der Artikel ist leer.\n"
+
+#: src/lang.c:411
 msgid ""
 "\n"
 "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n"
@@ -1392,37 +1433,41 @@ msgstr ""
 "Fehler: Followup-To \"poster\" zusammen mit einem Gruppenname\n"
 "        ist nicht erlaubt!\n"
 
-#: src/lang.c:400
+#: src/lang.c:412
 #, c-format
 msgid "Error: Custom format exceeds screen width. Using default \"%s\"."
 msgstr "Fehler: Format Ã¼berschr. Bildschirmbreite. Benutze Voreinst. \"%s\"."
 
-#: src/lang.c:401
+#: src/lang.c:413
 msgid "Internal error in GNKSA routine - send bug report.\n"
 msgstr ""
 "Interner Fehler in der GNKSA Routine - Senden Sie einen Fehlerbericht.\n"
 
-#: src/lang.c:402
+#: src/lang.c:414
 msgid "Left angle bracket missing in route address.\n"
 msgstr "Linkes Kleiner-als-Zeichen '<' fehlt in Route-Adresse.\n"
 
-#: src/lang.c:403
+#: src/lang.c:415
 msgid "Left parenthesis missing in old-style address.\n"
 msgstr "Linke Klammer '(' fehlt in EMail-Adresse (alter Stil).\n"
 
-#: src/lang.c:404
+#: src/lang.c:416
 msgid "Right parenthesis missing in old-style address.\n"
 msgstr "Rechte Klammer ')' fehlt in EMail-Adresse (alter Stil).\n"
 
-#: src/lang.c:405
+#: src/lang.c:417
 msgid "At-sign missing in mail address.\n"
 msgstr "In der Mailadresse fehlt das '@'.\n"
 
-#: src/lang.c:406
+#: src/lang.c:418
+msgid "Right angle bracket missing in route address.\n"
+msgstr "Rechtes Kleiner-als-Zeichen '<' fehlt in Route-Adresse.\n"
+
+#: src/lang.c:419
 msgid "Single component FQDN is not allowed. Add your domain.\n"
 msgstr "Ein einteiliger FQDN ist nicht erlaubt. FÃ¼gen Sie Ihre Domain hinzu.\n"
 
-#: src/lang.c:407
+#: src/lang.c:420
 msgid ""
 "Invalid domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1430,7 +1475,7 @@ msgstr ""
 "UnzulÃ¤ssige Domain. Senden Sie einen Fehlerbericht, wenn es Ihre TL-Domain\n"
 "wirklich gibt. Benutzen Sie .invalid fÃ¼r bewusst falsche Adressen.\n"
 
-#: src/lang.c:408
+#: src/lang.c:421
 msgid ""
 "Illegal domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1438,7 +1483,7 @@ msgstr ""
 "Regelwidrige Domain. Senden Sie einen Fehlerbericht, wenn es Ihre TL-Domain\n"
 "wirklich gibt. Benutzen Sie .invalid fÃ¼r bewusst falsche Adressen.\n"
 
-#: src/lang.c:409
+#: src/lang.c:422
 msgid ""
 "Unknown domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1446,53 +1491,53 @@ msgstr ""
 "Unbekannte Domain. Senden Sie einen Fehlerbericht, wenn es Ihre TL-Domain\n"
 "wirklich gibt. Benutzen Sie .invalid fÃ¼r bewusst falsche Adressen.\n"
 
-#: src/lang.c:410
+#: src/lang.c:423
 msgid "Illegal character in FQDN.\n"
 msgstr "UngÃ¼ltiges Zeichen im FQDN.\n"
 
-#: src/lang.c:411
+#: src/lang.c:424
 msgid "Zero length FQDN component not allowed.\n"
 msgstr "Der FQDN darf keine leere Komponente enthalten.\n"
 
-#: src/lang.c:412
+#: src/lang.c:425
 msgid "FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr ""
 "Eine Komponente des FQDN Ã¼berschreitet die maximale LÃ¤nge (63 Zeichen).\n"
 
-#: src/lang.c:413
+#: src/lang.c:426
 msgid "FQDN component may not start or end with hyphen.\n"
 msgstr "Komponenten des FQDN dÃ¼rfen nicht mit einem Bindestrich beginnen.\n"
 
-#: src/lang.c:414
+#: src/lang.c:427
 msgid "FQDN component may not start with digit.\n"
 msgstr "Komponenten des FQDN dÃ¼rfen nicht mit einer Zahl beginnen.\n"
 
-#: src/lang.c:415
+#: src/lang.c:428
 msgid "Domain literal has impossible numeric value.\n"
 msgstr "Die IP-Adresse ist nicht gÃ¼ltig.\n"
 
-#: src/lang.c:416
+#: src/lang.c:429
 msgid ""
 "Domain literal is for private use only and not allowed for global use.\n"
 msgstr "Die IP-Adresse ist ausschlieÃŸlich fÃ¼r den privaten Gebrauch gedacht.\n"
 
-#: src/lang.c:417
+#: src/lang.c:430
 msgid "Right bracket missing in domain literal.\n"
 msgstr "Die rechte Klammer nach der IP-Adresse fehlt.\n"
 
-#: src/lang.c:418
+#: src/lang.c:431
 msgid "Missing localpart of mail address.\n"
 msgstr "Fehlender Lokalteil in der Mailadresse.\n"
 
-#: src/lang.c:419
+#: src/lang.c:432
 msgid "Illegal character in localpart of mail address.\n"
 msgstr "UngÃ¼ltiges Zeichen im Lokalteil der Mailadresse.\n"
 
-#: src/lang.c:420
+#: src/lang.c:433
 msgid "Zero length localpart component not allowed.\n"
 msgstr "Eine leere Lokalteilkomponente ist nicht erlaubt.\n"
 
-#: src/lang.c:421
+#: src/lang.c:434
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
@@ -1500,7 +1545,7 @@ msgstr ""
 "UngÃ¼ltiges Zeichen im Realname.\n"
 "UngeschÃ¼tzte WÃ¶rter dÃ¼rfen kein '!()<>@,;:\\.[]' in der Adresse enthalten.\n"
 
-#: src/lang.c:422
+#: src/lang.c:435
 msgid ""
 "Illegal character in realname.\n"
 "Quoted words may not contain '()<>\\'.\n"
@@ -1508,7 +1553,7 @@ msgstr ""
 "UngÃ¼ltiges Zeichen im Realname.\n"
 "GeschÃ¼tzte WÃ¶rter dÃ¼rfen kein '()<>\\' enthalten.\n"
 
-#: src/lang.c:423
+#: src/lang.c:436
 msgid ""
 "Illegal character in realname.\n"
 "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
@@ -1516,11 +1561,11 @@ msgstr ""
 "UngÃ¼ltiges Zeichen im Realname.\n"
 "Kodierte WÃ¶rter dÃ¼rfen '!()<>@,;:\"\\.[]/=' nicht enthalten.\n"
 
-#: src/lang.c:424
+#: src/lang.c:437
 msgid "Bad syntax in encoded word used in realname.\n"
 msgstr "Falsche Syntax im kodierten Wort, das im Realname enthalten ist.\n"
 
-#: src/lang.c:425
+#: src/lang.c:438
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '()<>\\' in old-style addresses.\n"
@@ -1529,7 +1574,7 @@ msgstr ""
 "UngeschÃ¼tzte WÃ¶rter dÃ¼rfen kein '()<>\\' in Adressen enthalten (alter "
 "Stil).\n"
 
-#: src/lang.c:426
+#: src/lang.c:439
 msgid ""
 "Illegal character in realname.\n"
 "Control characters and unencoded 8bit characters > 127 are not allowed.\n"
@@ -1537,7 +1582,11 @@ msgstr ""
 "UngÃ¼ltiges Zeichen im Realname.\n"
 "Kontrollzeichen und unkodierte 8bit Zeichen > 127 sind verboten.\n"
 
-#: src/lang.c:427
+#: src/lang.c:440
+msgid "Missing realname.\n"
+msgstr "Realname fehlt.\n"
+
+#: src/lang.c:441
 msgid ""
 "\n"
 "Error: No blank line found after header.\n"
@@ -1545,7 +1594,15 @@ msgstr ""
 "\n"
 "Fehler: Keine Leerzeile nach dem Header gefunden.\n"
 
-#: src/lang.c:428
+#: src/lang.c:442
+msgid ""
+"\n"
+"Error: Illegal Distribution \"all\" used.\n"
+msgstr ""
+"\n"
+"Fehler: UngÃ¼ltiger Wert \"all\" in Distribution verwendet.\n"
+
+#: src/lang.c:443
 #, c-format
 msgid ""
 "\n"
@@ -1555,7 +1612,7 @@ msgstr ""
 "Fehler: UngÃ¼ltiges %s Format.\n"
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:430
+#: src/lang.c:445
 msgid ""
 "\n"
 "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
@@ -1569,7 +1626,7 @@ msgstr ""
 "        passenden  Wert fÃ¼r Ihre  Sprache,  indem Sie  M)enÃ¼ benutzen,\n"
 "        oder direkt die tinrc Ã¤ndern.\n"
 
-#: src/lang.c:435
+#: src/lang.c:450
 msgid ""
 "\n"
 "Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
@@ -1584,7 +1641,7 @@ msgstr ""
 "        \"8bit\" oder \"quoted-printable\" - Zeichensatz abhÃ¤ngig -  via\n"
 "         M)enÃ¼ oder durch editieren der tinrc.\n"
 
-#: src/lang.c:441
+#: src/lang.c:456
 msgid ""
 "\n"
 "Error: Article starts with blank line instead of header\n"
@@ -1592,7 +1649,7 @@ msgstr ""
 "\n"
 "Fehler: Der Artikel beginnt mit einer Leerzeile anstatt des Headers\n"
 
-#: src/lang.c:442
+#: src/lang.c:457
 #, c-format
 msgid ""
 "\n"
@@ -1603,7 +1660,7 @@ msgstr ""
 "Fehler: Der Header in Zeile %d enthÃ¤lt kein ':' nach seinem Bezeichner:\n"
 "%s\n"
 
-#: src/lang.c:443
+#: src/lang.c:458
 #, c-format
 msgid ""
 "\n"
@@ -1612,7 +1669,7 @@ msgstr ""
 "\n"
 "Fehler: Die \"%s:\" Zeile ist leer.\n"
 
-#: src/lang.c:444
+#: src/lang.c:459
 #, c-format
 msgid ""
 "\n"
@@ -1621,7 +1678,7 @@ msgstr ""
 "\n"
 "Fehler: Die \"%s:\" Zeile fehlt im Artikel Header.\n"
 
-#: src/lang.c:445
+#: src/lang.c:460
 #, c-format
 msgid ""
 "\n"
@@ -1630,7 +1687,7 @@ msgstr ""
 "\n"
 "Fehler: %s enthÃ¤lt auch nicht 7Bit Zeichen.\n"
 
-#: src/lang.c:446
+#: src/lang.c:461
 #, c-format
 msgid ""
 "\n"
@@ -1641,7 +1698,7 @@ msgstr ""
 "Fehler: Der Header in der Zeile %d hat kein Leerzeichen nach dem ':' :\n"
 "%s\n"
 
-#: src/lang.c:447
+#: src/lang.c:462
 #, c-format
 msgid ""
 "\n"
@@ -1650,7 +1707,7 @@ msgstr ""
 "\n"
 "Fehler: Es sind mehrere (%d) \"%s:\" Zeilen im Header.\n"
 
-#: src/lang.c:448
+#: src/lang.c:463
 #, c-format
 msgid ""
 "\n"
@@ -1661,31 +1718,44 @@ msgstr ""
 "Fehler: Der Header in der Zeile %d hat keinen Namen:\n"
 "%s\n"
 
-#: src/lang.c:450
+#: src/lang.c:464
+msgid ""
+"\n"
+"Error: This is a mailgroup, but a recipient (\"To:\") is missing.\n"
+msgstr ""
+"\n"
+"Fehler: Dies ist eine Mailgruppe, aber es fehlt ein EmpfÃ¤nger (\"To:\").\n"
+
+#: src/lang.c:465
+#, c-format
+msgid "Mixed up '-f'/'-F'? %s %s"
+msgstr "'-f'/'-F' verwechselt? %s %s"
+
+#: src/lang.c:467
 #, c-format
 msgid "Insecure permissions of %s (%o)"
 msgstr "Unsichere Dateiberechtigungen auf %s (%o)"
 
-#: src/lang.c:453
+#: src/lang.c:470
 #, c-format
 msgid "Line %d is longer than %d octets and should be folded.\n"
 msgstr "Zeile %d ist lÃ¤nger als %d Oktette und sollte gefaltet werden.\n"
 
-#: src/lang.c:455
+#: src/lang.c:472
 #, c-format
 msgid "Line %d is longer than %d octets and should be shortened.\n"
 msgstr "Zeile %d ist lÃ¤nger als %d Oktette und sollte gekÃ¼rzt werden.\n"
 
-#: src/lang.c:461
+#: src/lang.c:477
 #, c-format
-msgid "MIME parse error: Unexpected end of %s/%s article"
-msgstr "MIME-Fehler: Unerwartetes Ende des %s/%s-Artikels"
+msgid "MIME parse error: Unexpected end of %s/%s article\n"
+msgstr "MIME-Fehler: Unerwartetes Ende des %s/%s-Artikels\n"
 
-#: src/lang.c:462
-msgid "MIME parse error: Start boundary whilst reading headers"
-msgstr "MIME-Fehler: Anfangsgrenze in Hadern"
+#: src/lang.c:478
+msgid "MIME parse error: Start boundary whilst reading headers\n"
+msgstr "MIME-Fehler: Anfangsgrenze in Hadern\n"
 
-#: src/lang.c:464
+#: src/lang.c:479
 msgid ""
 "\n"
 "Error: \"poster\" is not allowed in Newsgroups!\n"
@@ -1693,16 +1763,11 @@ msgstr ""
 "\n"
 "Fehler: \"poster\" ist nicht erlaubt in Newsgroups!\n"
 
-#: src/lang.c:465
+#: src/lang.c:480
 msgid "Can't get a (fully-qualified) domain-name!"
 msgstr "Kann keinen (voll qualifizierten) Domainnamen finden!"
 
-#: src/lang.c:466
-#, c-format
-msgid "No permissions to go into %s\n"
-msgstr "Keine Berechtigung um %s zu betreten\n"
-
-#: src/lang.c:468
+#: src/lang.c:482
 msgid ""
 "\n"
 "Error: From: line missing.\n"
@@ -1710,34 +1775,44 @@ msgstr ""
 "\n"
 "Fehler: Die From: Zeile fehlt.\n"
 
-#: src/lang.c:470
+#: src/lang.c:485
+#, c-format
+msgid "No permissions to go into %s\n"
+msgstr "Keine Berechtigung um %s zu betreten\n"
+
+#: src/lang.c:486
 #, c-format
 msgid "No read permissions for %s\n"
 msgstr "Keine Leseberechtigung fÃ¼r %s\n"
 
-#: src/lang.c:471
+#: src/lang.c:487
 #, c-format
 msgid "File %s does not exist\n"
 msgstr "Datei %s existiert nicht\n"
 
-#: src/lang.c:472
+#: src/lang.c:488
 #, c-format
 msgid "No write permissions for %s\n"
 msgstr "Keine Schreibberechtigung fÃ¼r %s\n"
 
-#: src/lang.c:473
+#: src/lang.c:490
+#, c-format
+msgid "Not a literal IPv6 address: %s"
+msgstr "Keine literale IPv6-Adresse: %s"
+
+#: src/lang.c:493
 msgid "Can't get user information (/etc/passwd missing?)"
 msgstr "Kann Benutzer-Infos nicht finden (/etc/passwd fehlt?)"
 
-#: src/lang.c:475
+#: src/lang.c:495
 msgid "errors"
 msgstr "Fehler"
 
-#: src/lang.c:476
+#: src/lang.c:496
 msgid "error"
 msgstr "Fehler"
 
-#: src/lang.c:479
+#: src/lang.c:499
 #, c-format
 msgid ""
 "\n"
@@ -1746,61 +1821,61 @@ msgstr ""
 "\n"
 "Fehler in Zeile %d: \"Sender:\"-Header ist nicht erlaubt (wird hinzugefÃ¼gt)\n"
 
-#: src/lang.c:481
+#: src/lang.c:501
 #, c-format
 msgid "Server has non of the groups listed in %s"
 msgstr "Server fÃ¼hrt keine der Gruppen aus %s"
 
-#: src/lang.c:482
+#: src/lang.c:502
 #, c-format
 msgid "Error: unlink %s"
 msgstr "Fehler: entferne %s"
 
-#: src/lang.c:483
+#: src/lang.c:503
 msgid "Unknown display level"
 msgstr "Unbekannter Level"
 
-#: src/lang.c:485
+#: src/lang.c:505
 msgid "Unreachable?\n"
 msgstr "Unerreichbar?\n"
 
-#: src/lang.c:487
+#: src/lang.c:507
 msgid "<ESC>"
 msgstr "<ESC>"
 
-#: src/lang.c:488
+#: src/lang.c:508
 msgid "Exiting..."
 msgstr "Beenden..."
 
-#: src/lang.c:489
+#: src/lang.c:509
 msgid "leaving external mail-reader"
 msgstr "Verlasse externen Mailreader"
 
-#: src/lang.c:490
+#: src/lang.c:510
 #, c-format
 msgid "Extracting %s..."
 msgstr "Entpacke %s..."
 
-#: src/lang.c:492
+#: src/lang.c:512
 #, c-format
 msgid "Error writing %s file. Filesystem full? File reset to previous state."
 msgstr "Fehler beim Schreiben von %s. Dateisystem voll? Datei zurÃ¼ckgesetzt."
 
-#: src/lang.c:493
+#: src/lang.c:513
 #, c-format
 msgid "Error making backup of %s file. Filesystem full?"
 msgstr "Fehler beim Erzeugen der Sicherung von %s. Dateisystem voll?"
 
-#: src/lang.c:494
+#: src/lang.c:514
 #, c-format
 msgid "Filtering global rules (%d/%d) ('q' to quit)..."
 msgstr "Filtern nach den globalen Regeln (%d/%d) ('q' zum Beenden)..."
 
-#: src/lang.c:495
+#: src/lang.c:515
 msgid "Rule created by: "
 msgstr "Regel erstellt von: "
 
-#: src/lang.c:496
+#: src/lang.c:516
 msgid ""
 "# Format:\n"
 "#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
@@ -1870,48 +1945,48 @@ msgstr ""
 "#                     (Anzahl der Sekunden seit 1970-01-01 00:00:00 UTC)\n"
 "#\n"
 
-#: src/lang.c:522
+#: src/lang.c:542
 #, c-format
 msgid "Enter score for rule (default=%d): "
 msgstr "Bewertung fÃ¼r Regel (Standard=%d): "
 
-#: src/lang.c:523
+#: src/lang.c:543
 #, c-format
 msgid "Enter the score weight (range 0 < score <= %d)"
 msgstr "Geben Sie die HÃ¶he der Bewertung an (Bereich 0 < Bewertung <= %d)"
 
 #. SCORE_MAX
-#: src/lang.c:524
+#: src/lang.c:544
 msgid "Full"
 msgstr "Voll"
 
-#: src/lang.c:525
+#: src/lang.c:545
 msgid "Comment (optional)  : "
 msgstr "Kommentar (optional): "
 
-#: src/lang.c:527
+#: src/lang.c:547
 msgid "Malformed overview entry: servername missing."
 msgstr "Fehlerhafter Overview-Eintrag: Servername fehlt."
 
-#: src/lang.c:528
+#: src/lang.c:548
 #, c-format
 msgid "\t Xref: %s"
 msgstr "\t Xref: %s"
 
-#: src/lang.c:529
+#: src/lang.c:549
 msgid "Skipping Xref filter"
 msgstr "Ãœberspringe Xref-Filter"
 
-#: src/lang.c:531
+#: src/lang.c:551
 msgid "Apply pattern to    : "
 msgstr "Wende Muster an auf : "
 
-#: src/lang.c:532
+#: src/lang.c:552
 #, c-format
 msgid "Enter pattern [%s]> "
 msgstr "Muster eingeben [%s]> "
 
-#: src/lang.c:533
+#: src/lang.c:553
 #, c-format
 msgid ""
 "\n"
@@ -1920,881 +1995,885 @@ msgstr ""
 "\n"
 "Antworten auf Ihre Artikel sollen in folgenden %s erscheinen:\n"
 
-#: src/lang.c:534
+#: src/lang.c:554
 #, c-format
 msgid "  %s\t Answers will be directed to you by mail.\n"
 msgstr "  %s\t Antworten erhalten Sie direkt per Mail.\n"
 
-#: src/lang.c:535
+#: src/lang.c:555
 msgid "-- forwarded message --\n"
 msgstr "-- weitergeleitete Nachricht --\n"
 
-#: src/lang.c:536
+#: src/lang.c:556
 msgid "-- end of forwarded message --\n"
 msgstr "-- Ende der weitergeleiteten Nachricht --\n"
 
-#: src/lang.c:537
+#: src/lang.c:557
 msgid "From: line (ignore case)      "
 msgstr "From: Zeile (ignoriere GroÃŸ- Kleinschreibung)"
 
-#: src/lang.c:538
+#: src/lang.c:558
 msgid "From: line (case sensitive)   "
 msgstr "From: Zeile (GroÃŸ- Kleinschreibung beachten) "
 
-#: src/lang.c:541
+#: src/lang.c:561
 #, c-format
 msgid "%s%s: Unknown host.\n"
 msgstr "%s%s: Unbekannter Host.\n"
 
-#: src/lang.c:543
+#: src/lang.c:563
 msgid "global "
 msgstr "Global "
 
-#: src/lang.c:544
+#: src/lang.c:564
 #, c-format
 msgid "Please use %.100s instead"
 msgstr "Bitte %.100s statt dessen benutzen"
 
-#: src/lang.c:545
+#: src/lang.c:565
 #, c-format
 msgid "%s is bogus"
 msgstr "%s ist ungÃ¼ltig"
 
-#: src/lang.c:546
+#: src/lang.c:566
 #, c-format
 msgid "Group %s is moderated. Continue?"
 msgstr "Gruppe %s ist moderiert. Fortfahren?"
 
-#: src/lang.c:547
+#: src/lang.c:567
 msgid "groups"
 msgstr "Gruppen"
 
-#: src/lang.c:548
+#: src/lang.c:568
 #, c-format
 msgid "Rereading %s..."
 msgstr "Lese %s..."
 
-#: src/lang.c:549
+#: src/lang.c:569
 msgid "Top Level Commands"
 msgstr "Top Level Befehle"
 
-#: src/lang.c:550
+#: src/lang.c:570
 msgid "Group Selection"
 msgstr "Gruppen-Auswahl"
 
-#: src/lang.c:551
+#: src/lang.c:571
 msgid "group"
 msgstr "Gruppe"
 
-#: src/lang.c:552
+#: src/lang.c:572
 msgid ""
 "*** Group descriptions are disabled according to current select_format ***"
 msgstr ""
 "*** Gruppenbeschreibungen sind aktuell in select_format deaktiviert ***"
 
-#: src/lang.c:554
+#: src/lang.c:574
 msgid ""
 "One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr ""
 "Kommentarzeile(n). <CR> fÃ¼r nÃ¤chsten MenÃ¼punkt bzw. Ende der eingeg. Zeile."
 
-#: src/lang.c:555
+#: src/lang.c:575
 msgid "From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "From: zum Filter hinzufÃ¼gen. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:556
+#: src/lang.c:576
 msgid ""
 "Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr ""
 "Zeilenzahl der Artikel, die gefiltert werden. < weniger, > mehr, = gleich."
 
-#: src/lang.c:557
+#: src/lang.c:577
 msgid "Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "Message-ID: zum Filter hinzufÃ¼gen. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:558
+#: src/lang.c:578
 msgid "Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "Subject: zum Filter hinzufÃ¼gen. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:559
+#: src/lang.c:579
 msgid ""
 "Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr ""
 "Textmuster zum Filtern, wenn Subject: & From: nicht Ihren WÃ¼nschen "
 "entspricht."
 
-#: src/lang.c:560
+#: src/lang.c:580
 msgid ""
 "Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr ""
 "WÃ¤hle worauf das Textmuster angewendet wird. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:561
+#: src/lang.c:581
 msgid ""
 "Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 "GÃ¼ltigkeitsdauer in Tagen fÃ¼r den Filter. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:562
+#: src/lang.c:582
 msgid ""
 "Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Filterregel gilt fÃ¼r aktuelle/alle Gruppe(n). <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:563
+#: src/lang.c:583
 msgid ""
 "Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Filterregel gilt fÃ¼r aktuelle/allen Gruppe(n).<SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:564
+#: src/lang.c:584
 msgid "kill an article via a menu"
 msgstr "Killt einen Artikel mittels eines MenÃ¼s"
 
-#: src/lang.c:565
+#: src/lang.c:585
 msgid "auto-select (hot) an article via a menu"
 msgstr "Filterregel (hochscoren) fÃ¼r Artikel via MenÃ¼ erstellen"
 
-#: src/lang.c:566
+#: src/lang.c:586
 msgid "Browse URLs in article"
 msgstr "URLs im Artikel mit Browser Ã¶ffnen"
 
-#: src/lang.c:567
+#: src/lang.c:587
 msgid "0 - 9\t  display article by number in current thread"
 msgstr "0 - 9\t  zeigt Artikel nach Nummern sortiert im aktuellen Thread"
 
-#: src/lang.c:569
+#: src/lang.c:589
 msgid "cancel (delete) or supersede (overwrite) current article"
 msgstr "Cancelt (lÃ¶scht) oder ersetzt den aktuellen Artikel"
 
-#: src/lang.c:570
+#: src/lang.c:590
 msgid "post followup to current article"
 msgstr "Aktuellen Artikel beantworten (followup)"
 
-#: src/lang.c:571
+#: src/lang.c:591
 msgid "post followup (don't copy text) to current article"
 msgstr "Aktuellen Artikel beantworten, ohne Zitieren des Textes"
 
-#: src/lang.c:572
+#: src/lang.c:592
 msgid "post followup to current article quoting complete headers"
 msgstr "Aktuellen Artikel beantworten, mit Komplettzitat der Header"
 
-#: src/lang.c:573
+#: src/lang.c:593
 msgid "repost chosen article to another group"
 msgstr "GewÃ¤hlten Artikel in eine andere Gruppe reposten"
 
-#: src/lang.c:575
+#: src/lang.c:595
 msgid "edit article (mail-groups only)"
 msgstr "Editiere Artikel (nur bei Mail-Gruppen)"
 
-#: src/lang.c:576
+#: src/lang.c:596
 msgid "display first article in current thread"
 msgstr "Ersten Artikel im aktuellen Thread anzeigen"
 
-#: src/lang.c:577
+#: src/lang.c:597
 msgid "display first page of article"
 msgstr "Zeigt erste Seite des Artikels an"
 
-#: src/lang.c:578
+#: src/lang.c:598
+msgid "show MIME details of this article"
+msgstr "MIME-Details des Artikels anzeigen"
+
+#: src/lang.c:599
 msgid "display last article in current thread"
 msgstr "Letzten Artikel im aktuellen Thread anzeigen"
 
-#: src/lang.c:579
+#: src/lang.c:600
 msgid "display last page of article"
 msgstr "Letzte Seite des Artikels anzeigen"
 
-#: src/lang.c:580
+#: src/lang.c:601
 msgid "mark rest of thread as read and advance to next unread"
 msgstr "Markiere Rest des Thread als gelesen, springe zu nÃ¤chstem ungelesenen"
 
-#: src/lang.c:581
+#: src/lang.c:602
 msgid "display next article"
 msgstr "NÃ¤chsten Artikel anzeigen"
 
-#: src/lang.c:582
+#: src/lang.c:603
 msgid "display first article in next thread"
 msgstr "Zeigt den ersten Artikel im nÃ¤chsten Thread an"
 
-#: src/lang.c:583
+#: src/lang.c:604
 msgid "display next unread article"
 msgstr "NÃ¤chsten ungelesenen Artikel anzeigen"
 
-#: src/lang.c:584
+#: src/lang.c:605
 msgid "go to the article that this one followed up"
 msgstr "(Bezugs)Artikel anzeigen, den der aktuelle Artikel beantwortet hat"
 
-#: src/lang.c:585
+#: src/lang.c:606
 msgid "display previous article"
 msgstr "Vorhergehenden Artikel anzeigen"
 
-#: src/lang.c:586
+#: src/lang.c:607
 msgid "display previous unread article"
 msgstr "Vorhergehenden ungelesenen Artikel anzeigen"
 
-#: src/lang.c:587
+#: src/lang.c:608
 msgid "quickly kill an article using defaults"
 msgstr "Killt einen Artikel schnell und benutzt dabei die Voreinstellungen"
 
-#: src/lang.c:588
+#: src/lang.c:609
 msgid "quickly auto-select (hot) an article using defaults"
 msgstr "Markiert (hervorheben) Artikel und benutzt die Voreinstellungen"
 
-#: src/lang.c:589
+#: src/lang.c:610
 msgid "return to group selection level"
 msgstr "Kehrt zur Gruppenauswahl-Ebene zurÃ¼ck"
 
-#: src/lang.c:590
+#: src/lang.c:611
 msgid "reply through mail to author"
 msgstr "Antwort per Mail an den Autor"
 
-#: src/lang.c:591
+#: src/lang.c:612
 msgid "reply through mail (don't copy text) to author"
 msgstr "Antwort per Mail an den Autor (ohne Zitieren des Textes)"
 
-#: src/lang.c:592
+#: src/lang.c:613
 msgid "reply through mail to author quoting complete headers"
 msgstr "Antwort per Mail an den Autor, wobei der komplette Header zitiert wird"
 
-#: src/lang.c:593
+#: src/lang.c:614
 msgid "search backwards within this article"
 msgstr "Sucht rÃ¼ckwÃ¤rts innerhalb des Artikels"
 
-#: src/lang.c:594
+#: src/lang.c:615
 msgid "search forwards within this article"
 msgstr "Sucht vorwÃ¤rts innerhalb des Artikels"
 
-#: src/lang.c:595
+#: src/lang.c:616
 msgid "show article in raw-mode (including all headers)"
 msgstr "Artikel im Rohformat (inklusive aller Header) anzeigen"
 
-#: src/lang.c:596
+#: src/lang.c:617
 msgid "skip next block of included text"
 msgstr "Ãœberspringt den nÃ¤chsten Zitatblock"
 
-#: src/lang.c:597
+#: src/lang.c:618
 msgid "toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr "Schalte Anzeige von durch Form-Feed (^L) versteckten Teilen ein/aus"
 
-#: src/lang.c:598
+#: src/lang.c:619
 msgid "toggle display of all headers"
 msgstr "Schalte Anzeige aller Header ein/aus"
 
-#: src/lang.c:599
+#: src/lang.c:620
 msgid "toggle word highlighting on/off"
 msgstr "Schaltet das Wort-Hervorheben ein/aus"
 
-#: src/lang.c:600
+#: src/lang.c:621
 msgid "toggle ROT-13 (basic decode) for current article"
 msgstr "(De)aktiviert ROT-13 Dekodierung fÃ¼r den aktuellen Artikel"
 
-#: src/lang.c:601
+#: src/lang.c:622
 msgid "toggle tabwidth 4 <-> 8"
 msgstr "Wechsle Tabulatorweite 4 <-> 8"
 
-#: src/lang.c:602
+#: src/lang.c:623
 msgid "toggle German TeX style decoding for current article"
 msgstr "(de)aktiviere deutsche TeX-style Dekodierung fÃ¼r aktuellen Artikel"
 
-#: src/lang.c:603
+#: src/lang.c:624
 msgid "toggle display of uuencoded sections"
 msgstr "Anzeige von UU-kodierten Teilen umschalten"
 
-#: src/lang.c:604
+#: src/lang.c:625
 msgid "View/pipe/save multimedia attachments"
 msgstr "Multimedia-AnhÃ¤nge anzeigen/pipen/speichern"
 
-#: src/lang.c:605
+#: src/lang.c:626
 msgid "choose first attachment in list"
 msgstr "WÃ¤hle ersten Anhang in der Liste"
 
-#: src/lang.c:606
+#: src/lang.c:627
 msgid "0 - 9\t  choose attachment by number"
 msgstr "0 - 9\t  WÃ¤hle Anhang anhand der Nummer"
 
-#: src/lang.c:607
+#: src/lang.c:628
 msgid "choose last attachment in list"
 msgstr "WÃ¤hle letzten Anhang in der Liste"
 
-#: src/lang.c:609
+#: src/lang.c:630
 msgid "pipe attachment into command"
 msgstr "Anhang an Befehl weiterleiten"
 
-#: src/lang.c:610
+#: src/lang.c:631
 msgid "pipe raw attachment into command"
 msgstr "Anhang roh an Befehl weiterleiten"
 
-#: src/lang.c:612
+#: src/lang.c:633
 msgid "save attachment to disk"
 msgstr "Anhang speichern"
 
-#: src/lang.c:613
+#: src/lang.c:634
 msgid "search for attachments forwards"
 msgstr "Sucht vorwÃ¤rts nach AnhÃ¤ngen"
 
-#: src/lang.c:614
+#: src/lang.c:635
 msgid "search for attachments backwards"
 msgstr "Sucht rÃ¼ckwÃ¤rts nach AnhÃ¤ngen"
 
-#: src/lang.c:615
+#: src/lang.c:636
 msgid "view attachment"
 msgstr "Anhang ansehen"
 
-#: src/lang.c:616
+#: src/lang.c:637
 msgid "tag attachment"
 msgstr "Anhang markieren"
 
-#: src/lang.c:617
+#: src/lang.c:638
 msgid "tag attachments that match user specified pattern"
 msgstr "AnhÃ¤nge markieren die in ein gegebenes Muster passen"
 
-#: src/lang.c:618
+#: src/lang.c:639
 msgid "reverse tagging on all attachments (toggle)"
 msgstr "Markierung der AnhÃ¤nge umkehren (Umschalten)"
 
-#: src/lang.c:619
+#: src/lang.c:640
 msgid "untag all tagged attachments"
 msgstr "Hebt die Markierung der markierten AnhÃ¤nge auf"
 
-#: src/lang.c:620
+#: src/lang.c:641
 msgid "toggle info message in last line (name/description of attachment)"
 msgstr "Informationen in der letzten Zeile ein/ausblenden (Name des Anhangs)"
 
-#: src/lang.c:621
+#: src/lang.c:642
 msgid "choose first attribute in list"
 msgstr "WÃ¤hle erstes Attribut in der Liste"
 
-#: src/lang.c:622
+#: src/lang.c:643
 msgid "0 - 9\t  choose attribute by number"
 msgstr "0 - 9\t  WÃ¤hle Attribut anhand der Nummer"
 
-#: src/lang.c:623
+#: src/lang.c:644
 msgid "choose last attribute in list"
 msgstr "WÃ¤hle letztes Attribut in der Liste"
 
-#: src/lang.c:624
+#: src/lang.c:645
 msgid "reset attribute to a default value"
 msgstr "Attribut auf die Voreinstellung zurÃ¼cksetzen"
 
-#: src/lang.c:625
-msgid "search forwards for an attribute"
-msgstr "Suche vorwÃ¤rts nach einem Attribut"
-
-#: src/lang.c:626
+#: src/lang.c:646
 msgid "search backwards for an attribute"
 msgstr "Sucht rÃ¼ckwÃ¤rts nach einem Attribut"
 
-#: src/lang.c:627
+#: src/lang.c:647
+msgid "search forwards for an attribute"
+msgstr "Suche vorwÃ¤rts nach einem Attribut"
+
+#: src/lang.c:648
 msgid "select attribute"
 msgstr "Attribut auswÃ¤hlen"
 
-#: src/lang.c:628
+#: src/lang.c:649
 msgid "toggle back to options menu when invoked from there"
 msgstr "ZurÃ¼ck zum OptionsmenÃ¼ wechseln falls von dort aufgerufen"
 
-#: src/lang.c:629
+#: src/lang.c:650
 #, c-format
 msgid "report bug or comment via mail to %s"
 msgstr "Sendet Fehlerbericht oder Kommentar via Mail an %s"
 
-#: src/lang.c:630
+#: src/lang.c:651
 msgid "choose first option in list"
 msgstr "WÃ¤hle erste Option in der Liste"
 
-#: src/lang.c:631
+#: src/lang.c:652
 msgid "0 - 9\t  choose option by number"
 msgstr "0 - 9\t  WÃ¤hlt die Option anhand der Nummer"
 
-#: src/lang.c:632
+#: src/lang.c:653
 msgid "choose last option in list"
 msgstr "WÃ¤hle letzte Option in der Liste"
 
-#: src/lang.c:633
+#: src/lang.c:654
 msgid "start scopes menu"
-msgstr "GÃ¼ltigkeitsbereichmenÃ¼"
-
-#: src/lang.c:634
-msgid "search forwards for an option"
-msgstr "Suche vorwÃ¤rts nach einer Option"
+msgstr "GÃ¼ltigkeitsbereichsmenÃ¼"
 
-#: src/lang.c:635
+#: src/lang.c:655
 msgid "search backwards for an option"
 msgstr "Sucht rÃ¼ckwÃ¤rts nach einer Option"
 
-#: src/lang.c:636
+#: src/lang.c:656
+msgid "search forwards for an option"
+msgstr "Suche vorwÃ¤rts nach einer Option"
+
+#: src/lang.c:657
 msgid "select option"
 msgstr "Option auswÃ¤hlen"
 
-#: src/lang.c:637
+#: src/lang.c:658
 msgid "toggle to attributes menu"
 msgstr "Umschalten zum AttributemenÃ¼"
 
-#: src/lang.c:638
+#: src/lang.c:659
 msgid "choose range of articles to be affected by next command"
 msgstr "Bereich der Artikel, die vom nÃ¤chsten Kommando betroffen sind"
 
-#: src/lang.c:639
+#: src/lang.c:660
 msgid "escape from command prompt"
 msgstr "Verlassen der Kommandozeile"
 
-#: src/lang.c:640
+#: src/lang.c:661
 msgid "edit filter file"
 msgstr "Filter-Datei bearbeiten"
 
-#: src/lang.c:641
+#: src/lang.c:662
 msgid "get help"
 msgstr "Zeigt die Hilfe"
 
-#: src/lang.c:642
+#: src/lang.c:663
 msgid "display last article viewed"
 msgstr "Zeigt den zuletzt angezeigten Artikel an"
 
-#: src/lang.c:643
+#: src/lang.c:664
 msgid "down one line"
 msgstr "Eine Zeile runter"
 
-#: src/lang.c:644
+#: src/lang.c:665
 msgid "up one line"
 msgstr "Eine Zeile hoch"
 
-#: src/lang.c:645
+#: src/lang.c:666
 msgid "go to article chosen by Message-ID"
 msgstr "Artikel mit dieser Message-ID anzeigen"
 
-#: src/lang.c:646
+#: src/lang.c:667
 msgid "mail article/thread/hot/pattern/tagged articles to someone"
 msgstr "Artikel/Thread/hervorgeh./markierten Artikel per Mail weiterleiten"
 
-#: src/lang.c:647
+#: src/lang.c:668
 msgid "menu of configurable options"
 msgstr "MenÃ¼ der konfigurierbaren Optionen"
 
-#: src/lang.c:648
+#: src/lang.c:669
 msgid "down one page"
 msgstr "Eine Seite runter"
 
-#: src/lang.c:649
+#: src/lang.c:670
 msgid "up one page"
 msgstr "Eine Seite hoch"
 
-#: src/lang.c:651
+#: src/lang.c:672
 msgid "post (write) article to current group"
 msgstr "Poste (schreibe) Artikel in die aktuelle Gruppe"
 
-#: src/lang.c:652
+#: src/lang.c:673
 msgid "post postponed articles"
 msgstr "Poste zurÃ¼ckgestellte Artikel"
 
-#: src/lang.c:654
+#: src/lang.c:675
 msgid "list articles posted by you (from posted file)"
 msgstr "Listet Ihre geposteten Artikel auf (aus der 'posted' Datei)"
 
-#: src/lang.c:655
+#: src/lang.c:676
 msgid "return to previous menu"
 msgstr "Kehrt zum vorherigen MenÃ¼ zurÃ¼ck"
 
-#: src/lang.c:656
+#: src/lang.c:677
 msgid "quit tin immediately"
 msgstr "Beendet tin sofort"
 
-#: src/lang.c:657
+#: src/lang.c:678
 msgid "redraw page"
 msgstr "Bildschirmdarstellung neu zeichnen"
 
-#: src/lang.c:658
+#: src/lang.c:679
 msgid "save article/thread/hot/pattern/tagged articles to file"
 msgstr "Speichert Artikel/Thread hervorgehoben/Muster/markierten Artikel"
 
-#: src/lang.c:659
+#: src/lang.c:680
 msgid "save marked articles automatically without user prompts"
 msgstr "Speichert markierte Artikel automatisch ohne Nachfrage"
 
-#: src/lang.c:660
+#: src/lang.c:681
 msgid "scroll the screen one line down"
 msgstr "Bildschirm eine Zeile nach oben schieben"
 
-#: src/lang.c:661
+#: src/lang.c:682
 msgid "scroll the screen one line up"
 msgstr "Bildschirm eine Zeile nach unten schieben"
 
-#: src/lang.c:662
+#: src/lang.c:683
 msgid "search for articles by author backwards"
 msgstr "Sucht rÃ¼ckwÃ¤rts nach Artikeln von Autor"
 
-#: src/lang.c:663
+#: src/lang.c:684
 msgid "search for articles by author forwards"
 msgstr "Sucht vorwÃ¤rts nach Artikeln von Autor"
 
-#: src/lang.c:664
+#: src/lang.c:685
 msgid "search all articles for a given string (this may take some time)"
 msgstr "Sucht in allen Artikel nach vorgegebener Zeichenkette (kann dauern)"
 
 # TODO: formating
-#: src/lang.c:665
+#: src/lang.c:686
 msgid " \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr ""
 " \t  (Suchen beachten GroÃŸ/Kleinschreibung nicht und laufen Ã¼ber den\n"
 "          letzten Artikel hinaus zum ersten Artikel der Gruppe und von dort\n"
 "          aus weiter.)"
 
-#: src/lang.c:666
+#: src/lang.c:687
 msgid "search for articles by Subject line backwards"
 msgstr "Durchsucht Artikel rÃ¼ckwÃ¤rts nach Subject Zeile"
 
-#: src/lang.c:667
+#: src/lang.c:688
 msgid "search for articles by Subject line forwards"
 msgstr "Durchsucht Artikel vorwÃ¤rts nach Subject Zeile"
 
-#: src/lang.c:668
+#: src/lang.c:689
 msgid "repeat last search"
 msgstr "Letzte Suche wiederholen"
 
-#: src/lang.c:669
+#: src/lang.c:690
 msgid "tag current article for reposting/mailing/piping/printing/saving"
 msgstr "Markiere Artikel fÃ¼r nochmaliges posten/pipen/drucken/abspeichern"
 
-#: src/lang.c:670
+#: src/lang.c:691
 msgid "toggle info message in last line (subject/description)"
 msgstr "Anzeige von Subject/Beschreibung in d. letzten Zeile (de)aktivieren"
 
-#: src/lang.c:671
+#: src/lang.c:692
 msgid "toggle inverse video"
 msgstr "(de)aktiviert inverse Darstellung"
 
-#: src/lang.c:672
+#: src/lang.c:693
 msgid "toggle mini help menu and posting etiquette display"
 msgstr "Schaltet das MinihilfemenÃ¼ und Posting Etikette ein/aus"
 
-#: src/lang.c:673
+#: src/lang.c:694
 msgid "cycle the display of authors email address, real name, both or neither"
 msgstr ""
 "Zeigt des Autors EMail Adresse, Realname, beides oder nichts\n"
 "          von beidem an"
 
-#: src/lang.c:674
+#: src/lang.c:695
 msgid "show version information"
 msgstr "Zeige Versionsinformationen"
 
-#: src/lang.c:675
+#: src/lang.c:696
 msgid "mark all articles as read and return to group selection menu"
 msgstr "Markiert alle Artikel als gelesen und kehrt zum GruppenmenÃ¼ zurÃ¼ck"
 
-#: src/lang.c:676
+#: src/lang.c:697
 msgid "mark all articles as read and enter next group with unread articles"
 msgstr "Markiere Artikel gelesen; Ã¶ffne nÃ¤. Gruppe mit ungelesenen Artikeln"
 
-#: src/lang.c:677
+#: src/lang.c:698
 msgid "choose first thread in list"
 msgstr "WÃ¤hle ersten Thread in der Liste"
 
-#: src/lang.c:678
+#: src/lang.c:699
 msgid "choose last thread in list"
 msgstr "WÃ¤hle letzten Thread in der Liste"
 
-#: src/lang.c:679
+#: src/lang.c:700
 msgid "list articles within current thread (bring up Thread sub-menu)"
 msgstr "Listet Artikel im aktuellen Thread (Ã¶ffnet das Thread UntermenÃ¼)"
 
-#: src/lang.c:680
+#: src/lang.c:701
 msgid "mark article as unread"
 msgstr "Markiert Artikel als ungelesen"
 
-#: src/lang.c:681
+#: src/lang.c:702
 msgid "mark current thread, range or tagged threads as read"
 msgstr ""
 "Markiert den aktuellen Thread, Bereich oder markierte Artikel als gelesen"
 
-#: src/lang.c:682
+#: src/lang.c:703
 msgid "mark current thread, range or tagged threads as unread"
 msgstr ""
 "Markiert den aktuellen Thread, Bereich oder markierte Artikel als ungelesen"
 
-#: src/lang.c:683
+#: src/lang.c:704
 msgid "mark current/range/selected/pattern/tagged as read after prompting"
 msgstr ""
 "Mark. akt. Bereich/ausgewÃ¤hlte/Muster/markierte Artikel nach Auff.  gelesen."
 
-#: src/lang.c:684
+#: src/lang.c:705
 msgid "mark current/range/selected/pattern/tagged as unread after prompting"
 msgstr ""
 "Mark. akt. Bereich/ausgewÃ¤hlte/Muster/markierte Artikel nach Auff. ungelesen."
 
-#: src/lang.c:685
+#: src/lang.c:706
 msgid "toggle display of all/selected articles"
 msgstr "Wechselt zwischen der Anzeige aller/markierter (hot) Artikel"
 
-#: src/lang.c:686
+#: src/lang.c:707
 msgid "display next group"
 msgstr "Zeige nÃ¤chste Gruppe"
 
-#: src/lang.c:687
+#: src/lang.c:708
 msgid "display previous group"
 msgstr "Zeige vorhergehende Gruppe"
 
-#: src/lang.c:688
+#: src/lang.c:709
 msgid "toggle all selections (all articles)"
 msgstr "Markierung 'hot'/wichtig fÃ¼r alle Artikel umschalten"
 
-#: src/lang.c:689
+#: src/lang.c:710
 msgid "select group (make \"hot\")"
 msgstr "Markierung 'hot'/wichtig fÃ¼r Gruppe setzen"
 
-#: src/lang.c:690
+#: src/lang.c:711
 msgid "select thread"
 msgstr "Markierung 'hot'/wichtig fÃ¼r Thread setzen"
 
 # TODO: formating
-#: src/lang.c:691
+#: src/lang.c:712
 msgid "select threads if at least one unread article is selected"
 msgstr ""
 "Markierung 'hot'/wichtig fÃ¼r alle Threads setzen, die schon einen\n"
 "          ungelesenen Artikel mit Markierung 'hot'/wichtig enthalten."
 
 # TODO: formating
-#: src/lang.c:692
+#: src/lang.c:713
 msgid "select threads that match user specified pattern"
 msgstr ""
 "Markierung 'hot'/wichtig fÃ¼r alle Threads setzen, die einem\n"
 "          gewÃ¤hlten Muster entsprechen"
 
-#: src/lang.c:693
+#: src/lang.c:714
 msgid "0 - 9\t  choose thread by number"
 msgstr "0 - 9\t  WÃ¤hlt Thread anhand der Nummer"
 
-#: src/lang.c:694
+#: src/lang.c:715
 msgid "toggle limit number of articles to get, and reload"
 msgstr "Anzahl der zu holenden oder wieder zu ladenden Artikel Ã¤ndern"
 
-#: src/lang.c:695
+#: src/lang.c:716
 msgid "toggle display of all/unread articles"
 msgstr "Wechselt zwischen der Anzeige aller/ungelesener Artikel"
 
-#: src/lang.c:696
+#: src/lang.c:717
 msgid "toggle selection of thread"
 msgstr "Markierung 'hot'/wichtig fÃ¼r Thread setzen/entfernen"
 
-#: src/lang.c:697
+#: src/lang.c:718
 msgid "cycle through threading options available"
 msgstr "Wechsle durch die verschiedenen Threading-Optionen"
 
-#: src/lang.c:698
+#: src/lang.c:719
 msgid "undo all selections (all articles)"
 msgstr "Markierung 'hot'/wichtig fÃ¼r alle Artikel entfernen"
 
-#: src/lang.c:699
+#: src/lang.c:720
 msgid "untag all tagged threads"
 msgstr "Hebt die Markierung der markierten Artikel auf"
 
-#: src/lang.c:700
+#: src/lang.c:721
 msgid "search for articles forwards"
 msgstr "Sucht vorwÃ¤rts nach Artikeln"
 
-#: src/lang.c:701
+#: src/lang.c:722
 msgid "search for articles backwards"
 msgstr "Sucht rÃ¼ckwÃ¤rts nach Artikeln"
 
-#: src/lang.c:702
+#: src/lang.c:723
 msgid "toggle info message in last line (Message-ID)"
 msgstr "Informationen (Message-ID) in der letzten Zeile ein/ausblenden"
 
-#: src/lang.c:703
+#: src/lang.c:724
 msgid "Open article by Message-ID"
 msgstr "Artikel anhand der Message-ID Ã¶ffnen"
 
-#: src/lang.c:704
+#: src/lang.c:725
 msgid "add new scope"
 msgstr "Neuen GÃ¼ltigkeitsbereich hinzufÃ¼gen"
 
-#: src/lang.c:705
+#: src/lang.c:726
 msgid "delete scope"
 msgstr "GÃ¼ltigkeitsbereich lÃ¶schen"
 
-#: src/lang.c:706
+#: src/lang.c:727
 msgid "edit attributes file"
 msgstr "Attribute-Datei bearbeiten"
 
-#: src/lang.c:707
+#: src/lang.c:728
 msgid "choose first scope in list"
 msgstr "WÃ¤hle ersten GÃ¼ltigkeitsbereich in der Liste"
 
-#: src/lang.c:708
+#: src/lang.c:729
 msgid "0 - 9\t  choose scope by number"
 msgstr "0 - 9\t  WÃ¤hlt den GÃ¼ltigkeitsbereich anhand der Nummer"
 
-#: src/lang.c:709
+#: src/lang.c:730
 msgid "choose last scope in list"
 msgstr "WÃ¤hle letzten GÃ¼ltigkeitsbereich in der Liste"
 
-#: src/lang.c:710
+#: src/lang.c:731
 msgid "move scope"
 msgstr "GÃ¼ltigkeitsbereich verschieben"
 
-#: src/lang.c:711
+#: src/lang.c:732
 msgid "rename scope"
 msgstr "GÃ¼ltigkeitsbereich umbenennen"
 
-#: src/lang.c:712
+#: src/lang.c:733
 msgid "select scope"
 msgstr "GÃ¼ltigkeitsbereich auswÃ¤hlen"
 
-#: src/lang.c:713
+#: src/lang.c:734
 msgid "mark all articles in group as read"
 msgstr "Markiert alle Artikel der Gruppe als gelesen"
 
-#: src/lang.c:714
+#: src/lang.c:735
 msgid "mark all articles in group as read and move to next unread group"
 msgstr "Markiert Gruppe als gelesen, springt zur nÃ¤chsten mit ungel. Artikeln"
 
-#: src/lang.c:715
+#: src/lang.c:736
 msgid "choose first group in list"
 msgstr "WÃ¤hle erste Gruppe in der Liste"
 
-#: src/lang.c:716
+#: src/lang.c:737
 msgid "choose group by name"
 msgstr "Gruppe anhand des Namens auswÃ¤hlen"
 
-#: src/lang.c:717
+#: src/lang.c:738
 msgid "0 - 9\t  choose group by number"
 msgstr "0 - 9\t  WÃ¤hlt die Gruppe anhand der Nummer"
 
-#: src/lang.c:718
+#: src/lang.c:739
 msgid "choose range of groups to be affected by next command"
 msgstr "Bereich der Gruppen, die vom nÃ¤chsten Kommando betroffen sind"
 
-#: src/lang.c:719
+#: src/lang.c:740
 msgid "choose last group in list"
 msgstr "WÃ¤hle letzte Gruppe in der Liste"
 
-#: src/lang.c:721
+#: src/lang.c:742
 msgid "list groups which an article has been posted to (by Message-ID)"
 msgstr "Listet Gruppen auf in die der Artikel gepostet wurde (via Message-ID)"
 
-#: src/lang.c:722
+#: src/lang.c:743
 msgid " \t  (go to article if at least one of the groups is available)"
 msgstr " \t  (springt zum Artikel falls mind. eine der Gruppen vorhanden ist)"
 
-#: src/lang.c:724
+#: src/lang.c:745
 msgid "mark all articles in chosen group unread"
 msgstr "Markiert alle Artikel in der gewÃ¤hlten Gruppe als ungelesen"
 
-#: src/lang.c:725
+#: src/lang.c:746
 msgid "move chosen group within list"
 msgstr "Bewegt die gewÃ¤hlte Gruppe innerhalb der Liste"
 
-#: src/lang.c:726
+#: src/lang.c:747
 msgid "choose next group with unread news"
 msgstr "WÃ¤hlt die nÃ¤chste Gruppe mit ungelesenen Artikeln"
 
-#: src/lang.c:727 src/lang.c:1748
+#: src/lang.c:748 src/lang.c:1797
 msgid "quit"
 msgstr "Beenden"
 
-#: src/lang.c:728
+#: src/lang.c:749
 msgid "quit without saving configuration changes"
 msgstr "Beenden ohne die KonfigurationsÃ¤nderungen zu sichern"
 
-#: src/lang.c:729
+#: src/lang.c:750
 msgid "read chosen group"
 msgstr "Liest ausgewÃ¤hlte Gruppe"
 
-#: src/lang.c:730
+#: src/lang.c:751
 msgid "reset .newsrc (all available articles in groups marked unread)"
 msgstr "Setzt die .newsrc zurÃ¼ck (alle Artikel als gelesen markiert)"
 
-#: src/lang.c:731
+#: src/lang.c:752
 msgid "search backwards for a group name"
 msgstr "Sucht rÃ¼ckwÃ¤rts nach einem Gruppennamen"
 
-#: src/lang.c:732
+#: src/lang.c:753
 msgid " \t  (all searches are case-insensitive and wrap around)"
 msgstr " \t  (Suchen beachten GroÃŸ-/Klein. und beginnen am Ende von vorn)"
 
-#: src/lang.c:733
+#: src/lang.c:754
 msgid "search forwards for a group name"
 msgstr "Suche vorwÃ¤rts nach einer Gruppe"
 
-#: src/lang.c:734
+#: src/lang.c:755
 msgid "subscribe to chosen group"
 msgstr "Abonniert ausgewÃ¤hlte Gruppe"
 
-#: src/lang.c:735
+#: src/lang.c:756
 msgid "subscribe to groups that match pattern"
 msgstr "Abonniere Gruppen, die auf das Muster passen"
 
-#: src/lang.c:736
+#: src/lang.c:757
 msgid "reread active file to check for any new news"
 msgstr "Lies die Datei 'active' neu ein, um nach neuen Artikeln zu suchen"
 
-#: src/lang.c:737
+#: src/lang.c:758
 msgid "show NNTP[S] connection details"
 msgstr "zeige NNTP[S] Verbindungsdetails"
 
-#: src/lang.c:738
+#: src/lang.c:759
 msgid "toggle display of group name only or group name plus description"
 msgstr "Anzeige der Kurzbeschreibung der Gruppe (de)aktivieren."
 
-#: src/lang.c:739
+#: src/lang.c:760
 msgid "toggle display to show all/unread subscribed groups"
 msgstr "Wechselt die Anzeige zwischen allen/ungelesenen abonnierten Gruppen"
 
-#: src/lang.c:740
+#: src/lang.c:761
 msgid "unsubscribe from chosen group"
 msgstr "Bestellt ausgewÃ¤hlte Gruppe ab"
 
-#: src/lang.c:741
+#: src/lang.c:762
 msgid "unsubscribe from groups that match pattern"
 msgstr "Bestelle Gruppen ab, die auf das Muster passen"
 
-#: src/lang.c:742
+#: src/lang.c:763
 msgid "sort the list of groups"
 msgstr "Liste der Gruppen sortieren"
 
-#: src/lang.c:743
+#: src/lang.c:764
 msgid "toggle display to show all/subscribed groups"
 msgstr "Wechselt zwischen der Anzeige aller/abonnierten Gruppen"
 
-#: src/lang.c:744
+#: src/lang.c:765
 msgid "tag/untag all parts of current multipart-message in order"
 msgstr "(un)markiert alle Teile der multipart-Nachrichten in der Reihenfolge"
 
-#: src/lang.c:745
+#: src/lang.c:766
 msgid "0 - 9\t  choose article by number"
 msgstr "0 - 9\t  WÃ¤hle Artikel anhand der Nummer"
 
-#: src/lang.c:746
+#: src/lang.c:767
 msgid "mark thread as read and return to group index page"
 msgstr "Markiert den Thread als gelesen und kehrt zum Gruppenindex zurÃ¼ck"
 
-#: src/lang.c:747
+#: src/lang.c:768
 msgid "mark thread as read and enter next unread thread or group"
 msgstr "Markiert Thread als gelesen; nÃ¤chster ungelesener Thread/Gruppe"
 
-#: src/lang.c:748
+#: src/lang.c:769
 msgid "choose first article in list"
 msgstr "WÃ¤hle ersten Artikel in der Liste"
 
-#: src/lang.c:749
+#: src/lang.c:770
 msgid "choose last article in list"
 msgstr "WÃ¤hle letzten Artikel in der Liste"
 
-#: src/lang.c:750
+#: src/lang.c:771
 msgid "mark art, range or tagged arts as read; move crsr to next unread art"
 msgstr ""
 "Mark. Artikel, Bereich od. mark. Artikel als gelesen; Cursor auf nÃ¤chstem "
 "ungel. Art."
 
-#: src/lang.c:751
+#: src/lang.c:772
 msgid "mark article, range or tagged articles as unread"
 msgstr "Markiert den Artikel, Bereich oder markierte Artikel als ungelesen"
 
-#: src/lang.c:752
+#: src/lang.c:773
 msgid "mark current thread as unread"
 msgstr "Markiert den aktuellen Thread als ungelesen"
 
-#: src/lang.c:753
+#: src/lang.c:774
 msgid "read chosen article"
 msgstr "Zeige gewÃ¤hlten Artikel"
 
-#: src/lang.c:754
+#: src/lang.c:775
 msgid ""
 "Display properties\n"
 "------------------"
@@ -2802,7 +2881,7 @@ msgstr ""
 "Darstellungsoptionen\n"
 "--------------------"
 
-#: src/lang.c:755
+#: src/lang.c:776
 msgid ""
 "Miscellaneous\n"
 "-------------"
@@ -2810,7 +2889,7 @@ msgstr ""
 "Verschiedenes\n"
 "-------------"
 
-#: src/lang.c:756
+#: src/lang.c:777
 msgid ""
 "Moving around\n"
 "-------------"
@@ -2818,7 +2897,7 @@ msgstr ""
 "Position Ã¤ndern\n"
 "---------------"
 
-#: src/lang.c:757
+#: src/lang.c:778
 msgid ""
 "Group/thread/article operations\n"
 "-------------------------------"
@@ -2826,7 +2905,7 @@ msgstr ""
 "Gruppe/Thread/Artikel Aktionen\n"
 "-------------------------------"
 
-#: src/lang.c:758
+#: src/lang.c:779
 msgid ""
 "Attachment operations\n"
 "---------------------"
@@ -2834,7 +2913,7 @@ msgstr ""
 "Anhangs Aktionen\n"
 "-----------------"
 
-#: src/lang.c:759
+#: src/lang.c:780
 msgid ""
 "Attribute operations\n"
 "--------------------"
@@ -2842,7 +2921,7 @@ msgstr ""
 "Attribute Aktionen\n"
 "------------------"
 
-#: src/lang.c:760
+#: src/lang.c:781
 msgid ""
 "Option operations\n"
 "-----------------"
@@ -2850,7 +2929,7 @@ msgstr ""
 "Options Aktionen\n"
 "----------------"
 
-#: src/lang.c:761
+#: src/lang.c:782
 msgid ""
 "Posted article operations\n"
 "-------------------------"
@@ -2858,7 +2937,7 @@ msgstr ""
 "Gepostete Artikel Aktionen\n"
 "--------------------------"
 
-#: src/lang.c:762
+#: src/lang.c:783
 msgid ""
 "Scope operations\n"
 "----------------"
@@ -2866,7 +2945,7 @@ msgstr ""
 "GÃ¼ltigkeitsbereich Aktionen\n"
 "---------------------------"
 
-#: src/lang.c:763
+#: src/lang.c:784
 msgid ""
 "URL operations\n"
 "--------------"
@@ -2874,99 +2953,99 @@ msgstr ""
 "URL Aktionen\n"
 "------------"
 
-#: src/lang.c:764
+#: src/lang.c:785
 msgid "choose first URL in list"
 msgstr "WÃ¤hle erste URL in der Liste"
 
-#: src/lang.c:765
+#: src/lang.c:786
 msgid "0 - 9\t  choose URL by number"
 msgstr "0 - 9\t  WÃ¤hlt die URL anhand der Nummer"
 
-#: src/lang.c:766
+#: src/lang.c:787
 msgid "choose last URL in list"
 msgstr "WÃ¤hle letzte URL in der Liste"
 
-#: src/lang.c:767
+#: src/lang.c:788
 msgid "search for URLs forwards"
 msgstr "Suche vorwÃ¤rts nach URLs"
 
-#: src/lang.c:768
+#: src/lang.c:789
 msgid "search for URLs backwards"
 msgstr "Suche rÃ¼ckwÃ¤rts nach URLs"
 
-#: src/lang.c:769
+#: src/lang.c:790
 msgid "Open URL in browser"
 msgstr "URL im Browser Ã¶ffnen"
 
-#: src/lang.c:770
+#: src/lang.c:791
 msgid "toggle info message in last line (URL)"
 msgstr "Informationen (URL) in der letzten Zeile ein/ausblenden"
 
-#: src/lang.c:772
+#: src/lang.c:793
 msgid "Group Level Commands"
 msgstr "Gruppenlevel Befehle"
 
-#: src/lang.c:773
+#: src/lang.c:794
 msgid "Kill filter added"
 msgstr "Killfilter hinzugefÃ¼gt"
 
-#: src/lang.c:774
+#: src/lang.c:795
 msgid "Auto-selection filter added"
 msgstr "Automatischer Auswahlfilter hinzugefÃ¼gt"
 
-#: src/lang.c:775
+#: src/lang.c:796
 msgid "All parts tagged"
 msgstr "Alle Teile markiert"
 
-#: src/lang.c:776
+#: src/lang.c:797
 msgid "All parts untagged"
 msgstr "Alle Teile unmarkiert"
 
-#: src/lang.c:777
+#: src/lang.c:798
 #, c-format
 msgid "Building References-trees (%d/%d)..."
 msgstr "Baue References-BÃ¤ume (%d/%d)..."
 
-#: src/lang.c:778
+#: src/lang.c:799
 msgid "Storing article for later posting"
 msgstr "Speichert Artikel, um ihn spÃ¤ter zu posten"
 
-#: src/lang.c:779
+#: src/lang.c:800
 msgid "Please enter a valid character"
 msgstr "Bitte ein gÃ¼ltiges Zeichen eingeben"
 
-#: src/lang.c:780
+#: src/lang.c:801
 #, c-format
 msgid "Missing part #%d"
 msgstr "Teil Nummer %d fehlt."
 
-#: src/lang.c:781
+#: src/lang.c:802
 msgid "*** No postponed articles ***"
 msgstr "*** Keine zurÃ¼ckgelegten Artikel ***"
 
-#: src/lang.c:782
+#: src/lang.c:803
 msgid "Not a multi-part message"
 msgstr "Kein mehrteiliger Artikel"
 
-#: src/lang.c:783
+#: src/lang.c:804
 msgid "You are not subscribed to this group"
 msgstr "Sie haben diese Gruppe nicht abonniert"
 
-#: src/lang.c:784
+#: src/lang.c:805
 msgid "No previous expression"
 msgstr "Kein vorhergehender Ausdruck"
 
-#: src/lang.c:785
+#: src/lang.c:806
 msgid "Operation disabled in no-overwrite mode"
 msgstr "AusfÃ¼hrung nicht mÃ¶glich im nicht-Ã¼berschreiben Modus"
 
 #. TODO: replace hard coded key-name in txt_info_postponed
-#: src/lang.c:787
+#: src/lang.c:808
 #, c-format
 msgid "%d postponed %s, reuse with ^O...\n"
 msgstr "%d zurÃ¼ckgelegte %s, hervorholen mit ^O...\n"
 
-#: src/lang.c:788
+#: src/lang.c:809
 msgid ""
 "X-Conversion-Note: multipart/alternative contents have been removed.\n"
 "  To get the whole article, turn alternative handling OFF in the Option "
@@ -2976,17 +3055,17 @@ msgstr ""
 "  Um das zu Ã¤ndern, setzen Sie in der tinrc das alternative_handling auf "
 "OFF\n"
 
-#: src/lang.c:790
+#: src/lang.c:811
 #, c-format
 msgid "Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr "Dateiname fÃ¼r %s/%s ist eine Mailbox. Anhang nicht gespeichert"
 
-#: src/lang.c:791
+#: src/lang.c:812
 msgid "TeX2Iso encoded article"
 msgstr "TeX2Iso kodierter Artikel"
 
 #. TODO: replace hard coded key-names
-#: src/lang.c:793
+#: src/lang.c:814
 #, c-format
 msgid ""
 "\n"
@@ -3049,151 +3128,151 @@ msgstr ""
 "Bitte senden Sie Fehlerberichte und Kommentare mittels des 'R' Kommandos an\n"
 "%s.\n"
 
-#: src/lang.c:809
+#: src/lang.c:830
 #, c-format
-msgid "Invalid  From: %s  line. Read the INSTALL file again."
-msgstr "UngÃ¼ltige From: %s Zeile. Lesen Sie  INSTALL nochmal."
+msgid "Invalid From:-header \"%s\". Check your mail_address setting."
+msgstr "UngÃ¼ltiger From:-Header \"%s\". mail_address Einstellung Ã¼berprÃ¼fen."
 
-#: src/lang.c:811
+#: src/lang.c:832
 msgid "Invalid multibyte sequence found\n"
 msgstr "UngÃ¼ltige Mehrbytezeichen-Folge vorhanden\n"
 
-#: src/lang.c:814
+#: src/lang.c:835
 #, c-format
-msgid "Invalid  Sender:-header %s"
-msgstr "UngÃ¼ltiger Sender:-Header %s"
+msgid "Invalid Sender:-header \"%s\""
+msgstr "UngÃ¼ltiger Sender:-Header \"%s\""
 
-#: src/lang.c:816
+#: src/lang.c:837
 msgid "Inverse video disabled"
 msgstr "Inverse Bilddarstellung abgestellt"
 
-#: src/lang.c:817
+#: src/lang.c:838
 msgid "Inverse video enabled"
 msgstr "Inverse Bilddarstellung eingeschaltet"
 
-#: src/lang.c:819
+#: src/lang.c:840
 #, c-format
 msgid "Missing definition for %s\n"
 msgstr "Fehlende Definition fÃ¼r %s\n"
 
-#: src/lang.c:820
+#: src/lang.c:841
 #, c-format
 msgid "Invalid key definition '%s'\n"
 msgstr "UngÃ¼ltige Tastenbelegung '%s'\n"
 
-#: src/lang.c:821
+#: src/lang.c:842
 #, c-format
 msgid "Invalid keyname '%s'\n"
 msgstr "UngÃ¼ltiger Tastenname '%s'\n"
 
-#: src/lang.c:822
+#: src/lang.c:843
 #, c-format
 msgid "Keymap file was upgraded to version %s\n"
 msgstr "Keymap-Datei wurde auf Version %s umgestellt\n"
 
-#: src/lang.c:823
+#: src/lang.c:844
 #, c-format
 msgid "Kill From:     [%s] (y/n): "
 msgstr "Filter From:   [%s] (j/n): "
 
-#: src/lang.c:824
+#: src/lang.c:845
 msgid "Kill Lines: (</>num): "
 msgstr "Filter Z.:  (</>num): "
 
-#: src/lang.c:825
+#: src/lang.c:846
 msgid "Kill Article Menu"
 msgstr "Filter MenÃ¼ (Kill, Bewertung/Score verringern)"
 
-#: src/lang.c:826
+#: src/lang.c:847
 #, c-format
 msgid "Kill Msg-ID:   [%s] (f/l/o/n): "
 msgstr "Filter Msg-ID: [%s] (v/l/n/n): "
 
-#: src/lang.c:827
+#: src/lang.c:848
 msgid "Kill pattern scope  : "
 msgstr "Filter nach Muster  : "
 
-#: src/lang.c:828
+#: src/lang.c:849
 #, c-format
 msgid "Kill Subject:  [%s] (y/n): "
 msgstr "Filter Subject:[%s] (j/n): "
 
-#: src/lang.c:829
+#: src/lang.c:850
 msgid "Kill text pattern   : "
 msgstr "Filter Textmuster   : "
 
-#: src/lang.c:830
+#: src/lang.c:851
 msgid "Kill time in days   : "
 msgstr "Filterzeit in Tagen : "
 
-#: src/lang.c:832
+#: src/lang.c:853
 msgid "Last"
 msgstr "Letzte"
 
-#: src/lang.c:833
+#: src/lang.c:854
 msgid "-- Last response --"
 msgstr "-- Letzte Antwort --"
 
-#: src/lang.c:834
+#: src/lang.c:855
 #, c-format
 msgid "Lines %s  "
 msgstr "Zeilen %s "
 
-#: src/lang.c:840
+#: src/lang.c:861
 msgid "Function not available."
 msgstr "Funktion nicht verfÃ¼gbar."
 
-#: src/lang.c:841
+#: src/lang.c:862
 msgid "Not reading via NNTP."
 msgstr "Es wird nicht via NNTP gelesen."
 
-#: src/lang.c:843
+#: src/lang.c:864
 #, c-format
 msgid "Group: %s"
 msgstr "Gruppe: %s"
 
-#: src/lang.c:844
+#: src/lang.c:865
 #, c-format
 msgid "Groups: %s"
 msgstr "Gruppen: %s"
 
-#: src/lang.c:847
+#: src/lang.c:868
 msgid "Mail"
 msgstr "Maile"
 
-#: src/lang.c:848
+#: src/lang.c:869
 msgid "mailbox "
 msgstr "Mailbox "
 
-#: src/lang.c:849
+#: src/lang.c:870
 #, c-format
 msgid "Mail article(s) to [%.*s]> "
 msgstr "Mailt Artikel an [%.*s]> "
 
-#: src/lang.c:850
+#: src/lang.c:871
 #, c-format
 msgid "Mailing log to %s\n"
 msgstr "Maile Log-Datei an %s\n"
 
-#: src/lang.c:851
+#: src/lang.c:872
 msgid "Mail bug report..."
 msgstr "Maile einen Fehlerbericht..."
 
-#: src/lang.c:852
+#: src/lang.c:873
 #, c-format
 msgid "Mail BUG REPORT to %s?"
 msgstr "Fehlerbericht an %s senden?"
 
-#: src/lang.c:853
+#: src/lang.c:874
 msgid "Mailed"
 msgstr "Gemailt"
 
-#: src/lang.c:854
+#: src/lang.c:875
 #, c-format
 msgid "Mailing to %s..."
 msgstr "Senden der Mail an %s..."
 
-#: src/lang.c:855
+#: src/lang.c:876
 msgid ""
 "# [Mail/Save] active file. Format is like news active file:\n"
 "#   groupname  max.artnum  min.artnum  /dir\n"
@@ -3205,61 +3284,61 @@ msgstr ""
 "# Das 4. Feld ist das Basisverzeichnis (z.B. ~/Mail oder ~/News)\n"
 "#\n"
 
-#: src/lang.c:858
+#: src/lang.c:879
 #, c-format
 msgid "%s marked as read"
 msgstr "%s als gelesen markiert"
 
-#: src/lang.c:859
+#: src/lang.c:880
 #, c-format
 msgid "%s marked as unread"
 msgstr "%s als ungelesen markiert"
 
-#: src/lang.c:860
+#: src/lang.c:881
 #, c-format
 msgid "Marked %d of %d %s as read"
 msgstr "%d von %d %s als gelesen markiert"
 
-#: src/lang.c:861
+#: src/lang.c:882
 #, c-format
 msgid "Marked %d of %d %s as unread"
 msgstr "%d von %d %s als ungelesen markiert"
 
-#: src/lang.c:862 src/lang.c:1704
+#: src/lang.c:883 src/lang.c:1753
 msgid "Mark"
 msgstr "Markierung"
 
-#: src/lang.c:863
+#: src/lang.c:884
 #, c-format
 msgid "Mark all articles as read%s?"
 msgstr "Alle Artikel als gelesen markieren%s?"
 
-#: src/lang.c:864
+#: src/lang.c:885
 #, c-format
 msgid "Mark article as read%s?"
 msgstr "Artikel als gelesen markieren%s?"
 
-#: src/lang.c:865
+#: src/lang.c:886
 #, c-format
 msgid "Mark group %s as read?"
 msgstr "Die Gruppe %s als gelesen markieren?"
 
-#: src/lang.c:866
+#: src/lang.c:887
 #, c-format
 msgid "Mark thread as read%s?"
 msgstr "Den Thread als gelesen markieren%s?"
 
-#: src/lang.c:867
+#: src/lang.c:888
 #, c-format
 msgid "Matching %s groups..."
 msgstr "Ãœbereinstimmende %s Gruppen..."
 
-#: src/lang.c:868 src/lang.c:881 src/lang.c:884 src/lang.c:890
+#: src/lang.c:889 src/lang.c:902 src/lang.c:905 src/lang.c:911
 #, c-format
 msgid "<n>=set current to n; %s=line down; %s=line up; %s=help; %s=quit"
 msgstr "<n>=springe zu n; %s=Zeile runter; %s=Zeile rauf; %s=Hilfe; %s=Beenden"
 
-#: src/lang.c:870
+#: src/lang.c:891
 #, c-format
 msgid ""
 "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all"
@@ -3267,14 +3346,14 @@ msgstr ""
 "%s=anzeigen; %s=pipen; %s=roh pipen; %s=speichern; %s=markieren; %s=Muster "
 "markieren; %s=Markierungen aufheben"
 
-#: src/lang.c:872
+#: src/lang.c:893
 #, c-format
 msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr ""
 "%s=anzeigen; %s=speichern; %s=markieren; %s=Muster markieren; "
 "%s=Markierungen aufheben"
 
-#: src/lang.c:874
+#: src/lang.c:895
 #, c-format
 msgid ""
 "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search"
@@ -3282,12 +3361,12 @@ msgstr ""
 "%s=Markierungen umkehren; %s=Suche vorwÃ¤rts; %s=Suche rÃ¼ckwÃ¤rts; %s=Suche "
 "wiederholen"
 
-#: src/lang.c:875 src/lang.c:879
+#: src/lang.c:896 src/lang.c:900
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=search pattern; %s=kill/select"
 msgstr "<n>=WÃ¤hle n; %s=n. ungel.; %s=Suche; %s=Filter"
 
-#: src/lang.c:876
+#: src/lang.c:897
 #, c-format
 msgid ""
 "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; "
@@ -3296,39 +3375,39 @@ msgstr ""
 "%s=Autorsuche; %s=Catchup; %s=n. unten; %s=n. oben; %s=gelesen; %s=Thread "
 "anz."
 
-#: src/lang.c:877
+#: src/lang.c:898
 #, c-format
 msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"
 msgstr ""
 "%s=n. oben; %s=n. unten; %s=Bildrauf; %s=Bildrunter; %s=Anfang; %s=letzte "
 "Zeile"
 
-#: src/lang.c:878
+#: src/lang.c:899
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=quit"
 msgstr "%s=Suche vorwÃ¤rts; %s=Suche rÃ¼ckwÃ¤rts; %s=Beenden"
 
-#: src/lang.c:880
+#: src/lang.c:901
 #, c-format
 msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr "%s=Autorsuche; %s=Su. Inhalt; %s=Catchup; %s=Antw in NG; %s=gelesen"
 
-#: src/lang.c:882 src/lang.c:891
+#: src/lang.c:903 src/lang.c:912
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=repeat search"
 msgstr "%s=Suche vorwÃ¤rts; %s=Suche rÃ¼ckwÃ¤rts; %s=Suche wiederholen"
 
-#: src/lang.c:883
+#: src/lang.c:904
 #, c-format
 msgid "%s=add; %s=move; %s=rename; %s=delete"
 msgstr "%s=hinzufÃ¼gen; %s=verschieben; %s=umbenennen; %s=lÃ¶schen"
 
-#: src/lang.c:885
+#: src/lang.c:906
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr "<n>=WÃ¤hle n; %s=n. ungel.; %s,%s=Suche; %s=Catchup"
 
-#: src/lang.c:886
+#: src/lang.c:907
 #, c-format
 msgid ""
 "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
@@ -3336,7 +3415,7 @@ msgstr ""
 "%s=n. unten; %s=n. oben; %s=Hilfe; %s=verschieben; %s=Ende; %s=Alle/Nur "
 "ungel."
 
-#: src/lang.c:887
+#: src/lang.c:908
 #, c-format
 msgid ""
 "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/"
@@ -3345,227 +3424,229 @@ msgstr ""
 "%s=Abo; %s=Abo n. Muster; %s=Abbestellen; %s=Abbest. n. Muster; %s=Alle/Nur "
 "abon."
 
-#: src/lang.c:888
+#: src/lang.c:909
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr "<n>=WÃ¤hle n; %s=n. ungel.; %s=Catchup; %s=Infozeile"
 
-#: src/lang.c:889
+#: src/lang.c:910
 #, c-format
 msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"
 msgstr "%s=Hilfe; %s=n. unten; %s=n. oben; %s=Ende; %s=tag; %s=ungelesen"
 
-#: src/lang.c:892
+#: src/lang.c:913
 msgid "--More--"
 msgstr "--Mehr--"
 
-#: src/lang.c:894
+#: src/lang.c:915
 #, c-format
 msgid "MOTD: %s\n"
 msgstr "MOTD: %s\n"
 
-#: src/lang.c:896
+#: src/lang.c:917
 #, c-format
 msgid "Moving %s..."
 msgstr "Verschiebe %s..."
 
-#: src/lang.c:897
+#: src/lang.c:918
 msgid "Message-ID: & last Reference  "
 msgstr "Message-ID: & letzte Reference"
 
-#: src/lang.c:898
+#: src/lang.c:919
 msgid "Message-ID: line              "
 msgstr "Message-ID: Zeile             "
 
-#: src/lang.c:899
+#: src/lang.c:920
 msgid "Message-ID: & References: line"
 msgstr "Message-ID: & References:     "
 
-#: src/lang.c:901
+#: src/lang.c:922
 #, c-format
 msgid "Go to newsgroup [%s]> "
 msgstr "Gehe zu Gruppe [%s]> "
 
-#: src/lang.c:902
+#: src/lang.c:923
 msgid "newsgroups"
 msgstr "Gruppen"
 
-#: src/lang.c:903
+#: src/lang.c:924
 #, c-format
 msgid "Position %s in group list (1,2,..,$) [%d]> "
 msgstr "Position %s in der Gruppenliste (1,2,..,$) [%d]> "
 
-#: src/lang.c:904
+#: src/lang.c:925
 msgid "newsgroup"
 msgstr "Gruppe"
 
-#: src/lang.c:905
+#: src/lang.c:926
 msgid "Try and save newsrc file again?"
 msgstr "Erneut versuchen, die newsrc-Datei zu schreiben?"
 
-#: src/lang.c:906
-msgid "Warning: No newsgroups were written to your newsrc file. Save aborted."
-msgstr "Warnung: Keine Newsgruppen in die newsrc geschrieben. Speicherabbruch."
+#: src/lang.c:927
+#, c-format
+msgid "Warning: No groups written to your %s file. Save aborted."
+msgstr "Warnung: Keine Newsgruppen nach %s geschrieben. Speicherabbruch."
 
-#: src/lang.c:907
-msgid "newsrc file saved successfully.\n"
-msgstr "newsrc-Datei erfolgreich geschrieben.\n"
+#: src/lang.c:928
+#, c-format
+msgid "%s file saved successfully.\n"
+msgstr "%s -Datei erfolgreich geschrieben.\n"
 
-#: src/lang.c:908
+#: src/lang.c:929
 msgid "-- Next response --"
 msgstr "-- NÃ¤chste Antwort --"
 
-#: src/lang.c:909
+#: src/lang.c:930
 msgid "No  "
 msgstr "Nein"
 
-#: src/lang.c:910
+#: src/lang.c:931
 msgid "*** No articles ***"
 msgstr "*** Keine Artikel ***"
 
-#: src/lang.c:911
+#: src/lang.c:932
 msgid "No articles have been posted"
 msgstr "Es wurden keine Artikel gepostet"
 
-#: src/lang.c:912
+#: src/lang.c:933
 msgid "*** No attachments ***"
 msgstr "*** Keine AnhÃ¤nge ***"
 
-#: src/lang.c:913
+#: src/lang.c:934
 msgid "*** No description ***"
 msgstr "*** Keine Kurzbeschreibung ***"
 
-#: src/lang.c:914
+#: src/lang.c:935
 msgid "No filename"
 msgstr "Kein Dateiname"
 
-#: src/lang.c:915
+#: src/lang.c:936
 msgid "No group"
 msgstr "Keine Gruppe"
 
-#: src/lang.c:916
+#: src/lang.c:937
 msgid "*** No groups ***"
 msgstr "*** Keine Newsgruppen ***"
 
-#: src/lang.c:917
+#: src/lang.c:938
 msgid "No more groups to read"
 msgstr "Keine Gruppen zum Lesen Ã¼brig"
 
-#: src/lang.c:918
+#: src/lang.c:939
 msgid "No last message"
 msgstr "Keine letzte Nachricht"
 
-#: src/lang.c:919
+#: src/lang.c:940
 msgid "No mail address"
 msgstr "Keine EMail-Adresse"
 
-#: src/lang.c:920
+#: src/lang.c:941
 msgid "No articles marked for saving"
 msgstr "Keine Artikel zum Speichern markiert"
 
-#: src/lang.c:921
+#: src/lang.c:942
 msgid "No match"
 msgstr "Kein Treffer"
 
-#: src/lang.c:922
+#: src/lang.c:943
 msgid "No more groups"
 msgstr "Keine Gruppen mehr"
 
-#: src/lang.c:923
+#: src/lang.c:944
 msgid "No newsgroups"
 msgstr "Keine Newsgruppen"
 
-#: src/lang.c:924
+#: src/lang.c:945
 msgid "No next unread article"
 msgstr "Kein nÃ¤chster ungelesener Artikel"
 
-#: src/lang.c:925
+#: src/lang.c:946
 msgid "No previous group"
 msgstr "Keine vorherige Gruppe"
 
-#: src/lang.c:926
+#: src/lang.c:947
 msgid "No previous search, nothing to repeat"
 msgstr "Keine vorherige Suche, nichts zu wiederholen"
 
-#: src/lang.c:927
+#: src/lang.c:948
 msgid "No previous unread article"
 msgstr "Kein vorheriger ungelesener Artikel"
 
-#: src/lang.c:928
+#: src/lang.c:949
 msgid "No responses"
 msgstr "Keine Antworten"
 
-#: src/lang.c:929
+#: src/lang.c:950
 msgid "No responses to list in current thread"
 msgstr "Keine Antworten vorhanden im aktuellen Thread"
 
-#: src/lang.c:930
+#: src/lang.c:951
 msgid "*** No scopes ***"
 msgstr "*** Keine GÃ¼ltigkeitsbereiche ***"
 
-#: src/lang.c:931
+#: src/lang.c:952
 msgid "No search string"
 msgstr "Kein Suchmuster"
 
-#: src/lang.c:932
+#: src/lang.c:953
 msgid "No subject"
 msgstr "Kein Subject"
 
-#: src/lang.c:934
+#: src/lang.c:955
 #, c-format
 msgid "%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr "%s: Terminal muss LÃ¶schen bis zum Ende der Zeile (ce) unterstÃ¼tzen\n"
 
-#: src/lang.c:935
+#: src/lang.c:956
 #, c-format
 msgid "%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr ""
 "%s: Terminal muss LÃ¶schen bis zum Ende des Schirmes unterstÃ¼tzen (cd)\n"
 
-#: src/lang.c:936
+#: src/lang.c:957
 #, c-format
 msgid "%s: Terminal must have clearscreen (cl) capability\n"
 msgstr "%s: Terminal muss SchirmlÃ¶schen (cl) unterstÃ¼tzen\n"
 
-#: src/lang.c:937
+#: src/lang.c:958
 #, c-format
 msgid "%s: Terminal must have cursor motion (cm)\n"
 msgstr "%s: Terminal muss Cursor-Bewegungen unterstÃ¼tzen (cm)\n"
 
-#: src/lang.c:938
+#: src/lang.c:959
 #, c-format
 msgid "%s: TERM variable must be set to use screen capabilities\n"
 msgstr ""
 "%s: TERM-Variable muss gesetzt sein, um das Terminal richtig anzusteuern\n"
 
-#: src/lang.c:940
+#: src/lang.c:961
 #, c-format
 msgid "No viewer found for %s/%s\n"
 msgstr "Kein Programm fÃ¼r %s/%s gefunden\n"
 
-#: src/lang.c:941 src/lang.c:1616 src/lang.c:1644 src/lang.c:1935
+#: src/lang.c:962 src/lang.c:1665 src/lang.c:1693 src/lang.c:1991
 msgid "None"
 msgstr "Nichts"
 
-#: src/lang.c:942
+#: src/lang.c:963
 msgid "Newsgroup does not exist on this server"
 msgstr "Newsgruppe existiert nicht auf diesem Server"
 
-#: src/lang.c:943
+#: src/lang.c:964
 #, c-format
 msgid "Group %s not found in active file"
 msgstr "Gruppe %s nicht in der Active-Datei gefunden"
 
-#: src/lang.c:944
+#: src/lang.c:966
 msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr ""
 "c=erzeuge, a=alternativer Name, d=voreingestellte .newsrc, q=beende tin: "
 
-#: src/lang.c:945
+#: src/lang.c:967
 msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr "a=alternativer Name, d=voreingestellte .newsrc, q=beende tin: "
 
-#: src/lang.c:946
+#: src/lang.c:968
 #, c-format
 msgid ""
 "# NNTP-server -> newsrc translation table and NNTP-server\n"
@@ -3594,48 +3675,48 @@ msgstr ""
 "#   news.example.org  /tmp/nrc-ex      example    ex\n"
 "#\n"
 
-#: src/lang.c:952
+#: src/lang.c:975
 msgid "NULL"
 msgstr "NULL"
 
-#: src/lang.c:954
+#: src/lang.c:977
 msgid "Only"
 msgstr "Nur"
 
-#: src/lang.c:955
-#, c-format
-msgid "Option not enabled. Recompile with %s."
-msgstr "Option nicht vorhanden. Neu kompilieren mit %s."
-
-#: src/lang.c:956
+#: src/lang.c:979
 msgid "Options Menu"
 msgstr "OptionsmenÃ¼"
 
-#: src/lang.c:957
+#: src/lang.c:980
 msgid "Options Menu Commands"
 msgstr "OptionsmenÃ¼ Befehle"
 
-#: src/lang.c:960
+#: src/lang.c:981
+#, c-format
+msgid "Option not enabled. Recompile with %s.%s\n"
+msgstr "Option nicht vorhanden. Neu kompilieren mit %s.%s\n"
+
+#: src/lang.c:984
 #, c-format
 msgid "Error in regex: %s at pos. %d '%s'"
 msgstr "Fehler im regulÃ¤ren Ausdruck: %s an Pos. %d '%s'"
 
-#: src/lang.c:961
+#: src/lang.c:985
 #, c-format
 msgid "Error in regex: pcre internal error %d"
 msgstr "Fehler im regulÃ¤ren Ausdruck: Interner Fehler %d des pcre"
 
-#: src/lang.c:963
+#: src/lang.c:987
 #, c-format
 msgid "Error in regex: study - pcre internal error %s"
 msgstr "Fehler im regulÃ¤ren Ausdruck: pcre interner Fehler %s"
 
-#: src/lang.c:965
+#: src/lang.c:989
 msgid "Post a followup..."
 msgstr "Schreibe eine Antwort..."
 
 #. TODO: replace hard coded key-name in txt_post_error_ask_postpone
-#: src/lang.c:967
+#: src/lang.c:991
 msgid ""
 "An error has occurred while posting the article. If you think that this\n"
 "error is temporary or otherwise correctable, you can postpone the article\n"
@@ -3646,339 +3727,342 @@ msgstr ""
 "ein temporÃ¤res Problem ist, das spÃ¤ter nicht mehr vorhanden ist, kÃ¶nnen Sie\n"
 "den Artikel zurÃ¼ckstellen und spÃ¤ter mit ^O wieder hervorholen.\n"
 
-#: src/lang.c:970
+#: src/lang.c:994
 msgid "Posted articles history"
 msgstr "Verlaufsliste der geposteten Artikel"
 
-#: src/lang.c:971
+#: src/lang.c:995
 msgid "Posted Articles Menu Commands"
 msgstr "Gepostete Artikel MenÃ¼befehle"
 
-#: src/lang.c:972
+#: src/lang.c:996
 msgid "Lookup failed"
 msgstr "Suche fehlgeschlagen"
 
-#: src/lang.c:973
+#: src/lang.c:997
 msgid "Operation not available for replies by mail"
 msgstr "Nicht verfÃ¼gbar fÃ¼r Antworten per Mail"
 
-#: src/lang.c:974
+#: src/lang.c:998
 msgid "Already in posted articles history level"
 msgstr "Bereits in der Historie der gesendeten Artikel"
 
-#: src/lang.c:975
+#: src/lang.c:999
 #, c-format
 msgid "Post to newsgroup(s) [%s]> "
 msgstr "In Newsgruppe(n) [%s] posten> "
 
-#: src/lang.c:976
+#: src/lang.c:1000
 msgid "-- post processing started --"
 msgstr "-- Nachbearbeitung gestartet --"
 
-#: src/lang.c:977
+#: src/lang.c:1001
 msgid "-- post processing completed --"
 msgstr "-- Nachbearbeitung beendet --"
 
-#: src/lang.c:978
+#: src/lang.c:1002
 #, c-format
 msgid "Post subject [%s]> "
 msgstr "WÃ¤hle Subject [%s]> "
 
-#: src/lang.c:979
+#: src/lang.c:1003
 msgid ""
 "# Summary of mailed/posted messages viewable by 'W' command from within "
 "tin.\n"
 msgstr "# Zusammenfassung der gemailten/geposteten Artikel mit 'W' in tin.\n"
 
-#: src/lang.c:980
+#: src/lang.c:1004
 msgid "Posting article..."
 msgstr "Poste Artikel..."
 
-#: src/lang.c:982
+#: src/lang.c:1006
 #, c-format
 msgid "Posting failed (%s)"
 msgstr "Artikel Posten fehlgeschlagen (%s)"
 
-#: src/lang.c:984
+#: src/lang.c:1008
 #, c-format
 msgid "Posting: %.*s ..."
 msgstr "Poste: %.*s ..."
 
-#: src/lang.c:985
+#: src/lang.c:1009
 #, c-format
 msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 msgstr "ZurÃ¼ckgelegten Artikel [%%s] posten? (%s/%s/%s/%s/%s): "
 
-#: src/lang.c:986
+#: src/lang.c:1010
 #, c-format
 msgid "Hot %s"
 msgstr "Wichtig/Hot %s"
 
-#: src/lang.c:987
+#: src/lang.c:1011
 #, c-format
 msgid "Tagged %s"
 msgstr "%s markiert"
 
-#: src/lang.c:988
+#: src/lang.c:1012
 #, c-format
 msgid "Untagged %s"
 msgstr "%s Markierung entfernt"
 
-#: src/lang.c:990
+#: src/lang.c:1014
 #, c-format
 msgid "Preparing for filtering on Path header (%d/%d)..."
 msgstr "Bereite Path-Filter (%d/%d) vor..."
 
-#: src/lang.c:992
+#: src/lang.c:1016
 msgid "Processing attributes..."
 msgstr "Verarbeite Attribute..."
 
-#: src/lang.c:993
+#: src/lang.c:1017
 msgid "Processing mail messages marked for deletion."
 msgstr "Bearbeite zum LÃ¶schen markierte EMails."
 
-#: src/lang.c:994
+#: src/lang.c:1018
 msgid "Processing saved articles marked for deletion."
 msgstr "Bearbeite zum LÃ¶schen markierte gespeicherte Artikel."
 
-#: src/lang.c:995
+#: src/lang.c:1019
 #, c-format
 msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr "Followup-To akzeptieren? %s=posten, %s=ignorieren, %s=Ende: "
 
-#: src/lang.c:996
+#: src/lang.c:1020
 msgid "Article unchanged, abort mailing?"
 msgstr "Mail unverÃ¤ndert, Versand abbrechen?"
 
-#: src/lang.c:997
+#: src/lang.c:1021
 #, c-format
 msgid "Do you want to see postponed articles (%d)?"
 msgstr "Wollen Sie die zurÃ¼ckgestellten Artikel sehen (%d)?"
 
-#: src/lang.c:999
+#: src/lang.c:1023
 msgid "Add quick kill filter?"
 msgstr "Artikel schnell (laut Voreinstellungen) killen?"
 
-#: src/lang.c:1000
+#: src/lang.c:1024
 msgid "Add quick selection filter?"
 msgstr "Filterregel (hochscoren) (laut Voreinstellungen) hinzufÃ¼gen?"
 
-#: src/lang.c:1001
+#: src/lang.c:1025
 msgid "Do you really want to quit?"
 msgstr "MÃ¶chten Sie das Programm wirklich beenden?"
 
-#: src/lang.c:1002
+#: src/lang.c:1026
 #, c-format
 msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr "%s=cancel-Nachricht editieren, %s=Ende, %s=lÃ¶schen [%%s]: "
 
-#: src/lang.c:1003
+#: src/lang.c:1027
 msgid "You have tagged articles in this group - quit anyway?"
 msgstr "Es befinden sich markierte Artikel in der Gruppe, trotzdem beenden?"
 
-#: src/lang.c:1004
+#: src/lang.c:1028
 #, c-format
 msgid "%s=quit, %s=edit, %s=postpone: "
 msgstr "%s=Ende, %s=bearbeiten, %s=zurÃ¼cklegen: "
 
-#: src/lang.c:1005
+#: src/lang.c:1029
 #, c-format
 msgid "%s=quit, %s=edit, %s=save kill description: "
 msgstr "%s=Abbrechen, %s=Editieren, %s=Kill-Filter speichern: "
 
-#: src/lang.c:1006
+#: src/lang.c:1030
 #, c-format
 msgid "%s=quit, %s=edit, %s=save select description: "
 msgstr "%s=Abbrechen, %s=Editieren, %s=Filter (hot) speichern: "
 
-#: src/lang.c:1007
+#: src/lang.c:1031
 msgid "Do you really want to quit without saving your configuration?"
 msgstr "Wirklich ohne Speichern der Konfiguration beenden?"
 
-#: src/lang.c:1010
+#: src/lang.c:1033
 msgid "Invalid range - valid are '0-9.$' e.g. 1-$"
 msgstr "UngÃ¼ltige Bereichsangabe - GÃ¼ltig wÃ¤re '0-9.$' z.B. 1-$"
 
-#: src/lang.c:1012
+#: src/lang.c:1035
 msgid "Do you want to abort this operation?"
 msgstr "Wollen Sie diese Operation abbrechen?"
 
-#: src/lang.c:1013
+#: src/lang.c:1036
 msgid "Do you want to exit tin immediately?"
 msgstr "Wollen Sie tin augenblicklich verlassen?"
 
-#: src/lang.c:1015
+#: src/lang.c:1038
 msgid "Reading ('q' to quit)..."
 msgstr "Lesen ('q' zum Beenden)..."
 
-#: src/lang.c:1016
+#: src/lang.c:1039
 #, c-format
 msgid "Reading %s articles..."
 msgstr "Lese %s Artikel..."
 
-#: src/lang.c:1017
+#: src/lang.c:1040
 #, c-format
-msgid "Reading %sattributes file...\n"
-msgstr "Lese %sAttribute-Datei...\n"
+msgid "Reading %sattributes file: %s\n"
+msgstr "Lese %sAttribute-Datei: %s\n"
 
-#: src/lang.c:1018
+#: src/lang.c:1041
 #, c-format
-msgid "Reading %sconfig file...\n"
-msgstr "Lese %sKonfigurations-Datei...\n"
+msgid "Reading %sconfig file: %s\n"
+msgstr "Lese %sKonfigurations-Datei: %s\n"
 
-#: src/lang.c:1019
-msgid "Reading filter file...\n"
-msgstr "Lese Filter-Datei...\n"
+#: src/lang.c:1042
+#, c-format
+msgid "Reading filter file: %s\n"
+msgstr "Lese Filter-Datei: %s\n"
 
-#: src/lang.c:1021
+#: src/lang.c:1044
 msgid "reading from local spool"
 msgstr "Lese aus dem lokalen Spool"
 
-#: src/lang.c:1023
+#: src/lang.c:1046
 #, c-format
 msgid "Reading %s\n"
 msgstr "Lese %s\n"
 
-#: src/lang.c:1024
+#: src/lang.c:1047
 #, c-format
 msgid "Reading %s groups..."
 msgstr "Lese %s Gruppen..."
 
-#: src/lang.c:1025
-msgid "Reading input history file...\n"
-msgstr "Lese Eingabe-Verlaufsliste...\n"
+#: src/lang.c:1048
+#, c-format
+msgid "Reading input history file: %s\n"
+msgstr "Lese Eingabe-Verlaufsliste: %s\n"
 
-#: src/lang.c:1026
+#: src/lang.c:1049
 #, c-format
 msgid "Reading keymap file: %s\n"
 msgstr "Lese Tastenbelegungen: %s\n"
 
-#: src/lang.c:1027
+#: src/lang.c:1050
 msgid "Reading groups from active file... "
 msgstr "Lese Gruppen aus dem Active... "
 
-#: src/lang.c:1028
+#: src/lang.c:1051
 msgid "Reading groups from newsrc file... "
 msgstr "Lese Gruppen aus der newsrc-Datei... "
 
-#: src/lang.c:1029
+#: src/lang.c:1052
 msgid "Reading newsgroups file... "
 msgstr "Lese Newsgroups-Datei... "
 
-#: src/lang.c:1030
-msgid "Reading newsrc file..."
-msgstr "Lese newsrc-Datei..."
+#: src/lang.c:1053
+#, c-format
+msgid "Reading newsrc file: %s"
+msgstr "Lese newsrc-Datei: %s"
 
-#: src/lang.c:1031
+#: src/lang.c:1054
 msgid "References: line              "
 msgstr "References: Zeile             "
 
-#: src/lang.c:1033
+#: src/lang.c:1056
 #, c-format
 msgid "(%d:%02d remaining)"
 msgstr "(noch %d:%02d benÃ¶tigt)"
 
-#: src/lang.c:1035
+#: src/lang.c:1058
 #, c-format
 msgid "Bogus group %s removed."
 msgstr "Nicht vorhandene Gruppe %s entfernt."
 
-#: src/lang.c:1036
+#: src/lang.c:1059
 msgid "Removed from this rule: "
 msgstr "Aus dieser Regel gelÃ¶scht: "
 
-#: src/lang.c:1037
+#: src/lang.c:1060
 #, c-format
 msgid "Error: rename %s to %s"
 msgstr "Fehler: Benenne %s in %s"
 
-#: src/lang.c:1038
+#: src/lang.c:1061
 msgid "Reply to author..."
 msgstr "Mailantwort an Autor..."
 
-#: src/lang.c:1039
+#: src/lang.c:1062
 msgid "Repost"
 msgstr "Reposte"
 
-#: src/lang.c:1040
+#: src/lang.c:1063
 msgid "Reposting article..."
 msgstr "Wiederholtes posten des Artikels..."
 
-#: src/lang.c:1041
+#: src/lang.c:1064
 #, c-format
 msgid "Repost article(s) to group(s) [%s]> "
 msgstr "Wiederholtes posten de(s|r) Artikel(s) in [%s]> "
 
-#: src/lang.c:1042
+#: src/lang.c:1065
 msgid "Reset newsrc?"
 msgstr "newsrc zurÃ¼cksetzen?"
 
-#: src/lang.c:1043
+#: src/lang.c:1066
 msgid "Responses have been directed to the following newsgroups"
 msgstr "Antworten werden in folgende Gruppen gepostet"
 
-#: src/lang.c:1044
+#: src/lang.c:1067
 #, c-format
 msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr "Antwort per Mail wurde angefordert. %s=Mail, %s=post, %s=beenden: "
 
-#: src/lang.c:1045
+#: src/lang.c:1068
 msgid "Press <RETURN> to continue..."
 msgstr "DrÃ¼cken Sie <RETURN> um fortzufahren..."
 
-#: src/lang.c:1047
+#: src/lang.c:1070
 #, c-format
 msgid "Score: %s"
 msgstr "Wert: %s"
 
-#: src/lang.c:1048
+#: src/lang.c:1071
 #, c-format
 msgid "Select From    [%s] (y/n): "
 msgstr "WÃ¤hle From     [%s] (j/n): "
 
-#: src/lang.c:1049
+#: src/lang.c:1072
 msgid "Select Lines: (</>num): "
 msgstr "WÃ¤hle Zeilen: (</>num): "
 
-#: src/lang.c:1050
+#: src/lang.c:1073
 msgid "Auto-select Article Menu"
 msgstr "Filter MenÃ¼ (Bewertung/Score erhÃ¶hen)"
 
-#: src/lang.c:1051
+#: src/lang.c:1074
 #, c-format
 msgid "Select Msg-ID  [%s] (f/l/o/n): "
 msgstr "WÃ¤hle Msg-ID   [%s] (v/l/n/n): "
 
-#: src/lang.c:1052
+#: src/lang.c:1075
 msgid "Select pattern scope: "
 msgstr "WÃ¤hle Muster        : "
 
-#: src/lang.c:1053
+#: src/lang.c:1076
 #, c-format
 msgid "Select Subject [%s] (y/n): "
 msgstr "WÃ¤hle Subject  [%s] (j/n): "
 
-#: src/lang.c:1054
+#: src/lang.c:1077
 msgid "Select text pattern : "
 msgstr "WÃ¤hle Textmuster    : "
 
-#: src/lang.c:1055
+#: src/lang.c:1078
 msgid "Select time in days   : "
 msgstr "WÃ¤hle Zeit in Tagen   : "
 
-#: src/lang.c:1056
+#: src/lang.c:1079
 msgid "[k]"
 msgstr "[k]"
 
-#: src/lang.c:1057
+#: src/lang.c:1080
 msgid "[T]"
 msgstr "[T]"
 
-#: src/lang.c:1058
+#: src/lang.c:1081
 msgid " R"
 msgstr " R"
 
-#: src/lang.c:1059
+#: src/lang.c:1082
 #, c-format
 msgid ""
 "# %s server configuration file\n"
@@ -4000,54 +4084,54 @@ msgstr ""
 "############################################################################\n"
 "\n"
 
-#: src/lang.c:1065
+#: src/lang.c:1088
 msgid "Showing unread groups only"
 msgstr "Zeige nur Gruppen mit ungelesenen Artikeln"
 
-#: src/lang.c:1066
+#: src/lang.c:1089
 msgid "Subject: line (ignore case)   "
 msgstr "Subject: Zeile (GroÃŸ-Kl. ignorieren)         "
 
-#: src/lang.c:1067
+#: src/lang.c:1090
 msgid "Subject: line (case sensitive)"
 msgstr "Subject: Zeile (GroÃŸ-Kl. beachten)           "
 
-#: src/lang.c:1068
+#: src/lang.c:1091
 msgid "Save"
 msgstr "Speichern"
 
-#: src/lang.c:1069
+#: src/lang.c:1092
 #, c-format
 msgid "Save '%s' (%s/%s)?"
 msgstr "'%s' (%s/%s) speichern?"
 
-#: src/lang.c:1070
+#: src/lang.c:1093
 msgid "Save configuration before continuing?"
 msgstr "Zuerst Konfiguration speichern und danach fortfahren?"
 
-#: src/lang.c:1071
+#: src/lang.c:1094
 msgid "Save filename> "
 msgstr "Name der zu speichernden Datei> "
 
-#: src/lang.c:1072
+#: src/lang.c:1095
 msgid "Saved"
 msgstr "Gespeichert"
 
-#: src/lang.c:1073
+#: src/lang.c:1096
 #, c-format
-msgid "%4d unread (%4d hot) %s in %s\n"
-msgstr "%4d ungelesene (%4d 'hot') %s in %s\n"
+msgid "%s unread (%s hot) %s in %s\n"
+msgstr "%s ungelesene (%s 'hot') %s in %s\n"
 
-#: src/lang.c:1074
+#: src/lang.c:1097
 #, c-format
 msgid "Saved %s...\n"
 msgstr "%s gespeichert...\n"
 
-#: src/lang.c:1075
+#: src/lang.c:1098
 msgid "Nothing was saved"
 msgstr "Nichts gespeichert"
 
-#: src/lang.c:1076
+#: src/lang.c:1099
 #, c-format
 msgid ""
 "\n"
@@ -4056,190 +4140,190 @@ msgstr ""
 "\n"
 "%s %d %s aus %d %s\n"
 
-#: src/lang.c:1077
+#: src/lang.c:1100
 #, c-format
 msgid "-- %s saved to %s%s --"
 msgstr "-- %s nach %s%s gespeichert --"
 
-#: src/lang.c:1078
+#: src/lang.c:1101
 #, c-format
 msgid "-- %s saved to %s - %s --"
 msgstr "-- %s gespeichert als %s - %s --"
 
-#: src/lang.c:1079
+#: src/lang.c:1102
 msgid "Saving..."
 msgstr "Speichere..."
 
-#: src/lang.c:1080
+#: src/lang.c:1103
 #, c-format
 msgid "%s: Screen initialization failed"
 msgstr "%s: Initialisierung des Bildschirms fehlgeschlagen"
 
-#: src/lang.c:1082
+#: src/lang.c:1105
 #, c-format
 msgid "%s: screen is too small\n"
 msgstr "%s: Anzeige ist zu klein\n"
 
-#: src/lang.c:1084
+#: src/lang.c:1107
 #, c-format
 msgid "screen is too small, %s is exiting"
 msgstr "Anzeige zu klein, %s beendet sich"
 
-#: src/lang.c:1085
+#: src/lang.c:1108
 msgid "Delete scope?"
-msgstr "GÃ¼ltigkeitsbereich lÃ¶schen? "
+msgstr "GÃ¼ltigkeitsbereich lÃ¶schen?"
 
-#: src/lang.c:1086
+#: src/lang.c:1109
 msgid "Enter scope> "
 msgstr "GÃ¼ltigkeitsbereich angeben> "
 
-#: src/lang.c:1087
+#: src/lang.c:1110
 msgid "Select new position> "
 msgstr "Neue Position auswÃ¤hlen> "
 
-#: src/lang.c:1088
+#: src/lang.c:1111
 msgid "New position cannot be a global scope"
 msgstr "Neue Position darf kein globaler GÃ¼ltigkeitsbereich sein"
 
-#: src/lang.c:1089
+#: src/lang.c:1112
 msgid "Global scope, operation not allowed"
 msgstr "Globaler GÃ¼ltigkeitsbereich, Einsatz nicht erlaubt"
 
-#: src/lang.c:1090
+#: src/lang.c:1113
 msgid "Rename scope> "
 msgstr "GÃ¼ltigkeitsbereich umbenennen> "
 
-#: src/lang.c:1091
+#: src/lang.c:1114
 msgid "Select scope> "
 msgstr "GÃ¼ltigkeitsbereich auswÃ¤hlen>  "
 
-#: src/lang.c:1092
+#: src/lang.c:1115
 msgid "Scopes Menu"
-msgstr "GÃ¼ltigkeitsbereichmenÃ¼"
+msgstr "GÃ¼ltigkeitsbereichsmenÃ¼"
 
-#: src/lang.c:1093
+#: src/lang.c:1116
 msgid "Scopes Menu Commands"
-msgstr "GÃ¼ltigkeitsbereichmenÃ¼ Befehle"
+msgstr "GÃ¼ltigkeitsbereichsmenÃ¼ Befehle"
 
-#: src/lang.c:1094
+#: src/lang.c:1117
 #, c-format
 msgid "Search backwards [%s]> "
 msgstr "Suche rÃ¼ckwÃ¤rts [%s]> "
 
-#: src/lang.c:1095
+#: src/lang.c:1118
 #, c-format
 msgid "Search body [%s]> "
 msgstr "Durchsuche Artikelinhalt [%s]> "
 
-#: src/lang.c:1096
+#: src/lang.c:1119
 #, c-format
 msgid "Search forwards [%s]> "
 msgstr "Suche vorwÃ¤rts [%s]> "
 
-#: src/lang.c:1097
+#: src/lang.c:1120
 msgid "Searching..."
 msgstr "Suche..."
 
-#: src/lang.c:1098
+#: src/lang.c:1121
 #, c-format
 msgid "Searching article %d of %d ('q' to abort)..."
 msgstr "Suche Artikel %d von %d ('q' zum abbrechen)..."
 
-#: src/lang.c:1099
+#: src/lang.c:1122
 msgid "Select article> "
 msgstr "WÃ¤hle Artikel> "
 
-#: src/lang.c:1100
+#: src/lang.c:1123
 msgid ""
 "Select option number before text or use arrow keys and <CR>. 'q' to quit."
 msgstr ""
 "WÃ¤hle Optionsnummer, oder benutze die Cursor Tasten und <CR>. 'q' zum "
 "beenden."
 
-#: src/lang.c:1101
+#: src/lang.c:1124
 msgid "Select group> "
 msgstr "WÃ¤hle Gruppe> "
 
-#: src/lang.c:1102
+#: src/lang.c:1125
 #, c-format
 msgid "Enter selection pattern [%s]> "
 msgstr "Nenne das Auswahlmuster [%s]> "
 
-#: src/lang.c:1103
+#: src/lang.c:1126
 msgid "Select thread> "
 msgstr "WÃ¤hle thread> "
 
-#: src/lang.c:1104
+#: src/lang.c:1127
 #, c-format
 msgid "%s %s %s (\"%s\"): send a DETAILED bug report to %s\n"
 msgstr ""
 "%s %s %s (\"%s\"): schicken Sie einen DETAILLIERTEN Fehlerbericht an %s\n"
 
-#: src/lang.c:1105
+#: src/lang.c:1128
 msgid "servers active-file"
 msgstr "Die 'active' Datei des Servers"
 
-#: src/lang.c:1106
+#: src/lang.c:1129
 #, c-format
 msgid "Skipped %s"
 msgstr "Ãœbersprungen %s"
 
-#: src/lang.c:1107
+#: src/lang.c:1130
 msgid "Cannot move into new newsgroups. Subscribe first..."
 msgstr "Kann die Newsgruppe nicht Ã¶ffnen. Sie muss erst abonniert werden..."
 
-#: src/lang.c:1108
+#: src/lang.c:1131
 msgid "<SPACE>"
 msgstr "<LEERT>"
 
-#: src/lang.c:1109
+#: src/lang.c:1132
 #, c-format
 msgid "Starting: (%s)"
 msgstr "Starte: (%s)"
 
-#: src/lang.c:1110
+#: src/lang.c:1133
 #, c-format
 msgid "List Thread (%d of %d)"
 msgstr "Zeige Thread (%d von %d)"
 
-#: src/lang.c:1111
+#: src/lang.c:1134
 #, c-format
 msgid "Thread (%.*s)"
 msgstr "Thread (%.*s)"
 
-#: src/lang.c:1112
+#: src/lang.c:1135
 msgid "Enter wildcard subscribe pattern> "
 msgstr "Wildcardmuster fÃ¼r zu abonnierende Gruppen> "
 
-#: src/lang.c:1113
+#: src/lang.c:1136
 #, c-format
 msgid "subscribed to %d groups"
 msgstr "%d Gruppen sind abonniert"
 
-#: src/lang.c:1114
+#: src/lang.c:1137
 #, c-format
 msgid "Subscribed to %s"
 msgstr "%s wurde abonniert"
 
-#: src/lang.c:1115
+#: src/lang.c:1138
 msgid "Subscribing... "
 msgstr "Abonniere... "
 
-#: src/lang.c:1116
+#: src/lang.c:1139
 #, c-format
 msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): "
 msgstr "Artikel erneut posten oder Ã¼berschreiben [%%s]? (%s/%s/%s): "
 
-#: src/lang.c:1117
+#: src/lang.c:1140
 #, c-format
 msgid "Supersede article(s) to group(s) [%s]> "
 msgstr "Supersede (Ã¼berschreibe) Artikel in den Gruppen [%s]> "
 
-#: src/lang.c:1118
+#: src/lang.c:1141
 msgid "Superseding article ..."
 msgstr "Ãœberschreibe Artikel ..."
 
-#: src/lang.c:1119
+#: src/lang.c:1142
 #, c-format
 msgid ""
 "\n"
@@ -4248,29 +4332,29 @@ msgstr ""
 "\n"
 "Angehalten. Geben Sie 'fg' ein um %s wieder zu starten\n"
 
-#: src/lang.c:1121
+#: src/lang.c:1144
 #, c-format
 msgid "%d days"
 msgstr "%d Tage"
 
-#: src/lang.c:1122
+#: src/lang.c:1145
 msgid "<TAB>"
 msgstr "<TAB>"
 
-#: src/lang.c:1123
+#: src/lang.c:1146
 msgid "TeX "
 msgstr "TeX "
 
-#: src/lang.c:1124
+#: src/lang.c:1147
 #, c-format
 msgid "Version: %s %s release %s (\"%s\")"
 msgstr "Version: %s %s Ausgabe %s (\"%s\")"
 
-#: src/lang.c:1125
+#: src/lang.c:1148
 msgid "# Default action/prompt strings\n"
 msgstr "# Voreingestellte Aktion/zeige Zeichenkette\n"
 
-#: src/lang.c:1126
+#: src/lang.c:1149
 msgid ""
 "# Defaults for quick (1 key) kill & auto-selection filters\n"
 "# header=NUM  0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n"
@@ -4289,109 +4373,100 @@ msgstr ""
 "# case=ON/OFF    ON=Filter GroÃŸ-Kl. beachten OFF=GroÃŸ-Kl. ignorieren\n"
 "# expire=ON/OFF  ON=Verfallen nach default_filter_days OFF=verfÃ¤llt nie\n"
 
-#: src/lang.c:1139
+#: src/lang.c:1162
 msgid ""
 "# If ON use print current subject or newsgroup description in the last line\n"
 msgstr ""
 "# Falls ON anzeige des Subject oder des Gruppennamens in der letzten Zeile.\n"
 
-#: src/lang.c:1140
+#: src/lang.c:1163
 msgid "# Host & time info used for detecting new groups (don't touch)\n"
 msgstr ""
 "# Benutzte Host- & Zeit-Info um neue Gruppen zu finden (nicht Ã¤ndern)\n"
 
-#: src/lang.c:1141
+#: src/lang.c:1164
 msgid "There is no news\n"
 msgstr "Es gibt keine neuen Artikel\n"
 
-#: src/lang.c:1142
+#: src/lang.c:1165
 msgid "Thread"
 msgstr "Thread"
 
-#: src/lang.c:1143
+#: src/lang.c:1166
 msgid "Thread Level Commands"
 msgstr "Thread Level Kommandos"
 
-#: src/lang.c:1144
+#: src/lang.c:1167
 msgid "Thread deselected"
 msgstr "Thread nicht mehr ausgewÃ¤hlt"
 
-#: src/lang.c:1145
+#: src/lang.c:1168
 msgid "Thread selected"
 msgstr "Thread ausgewÃ¤hlt"
 
-#: src/lang.c:1146
+#: src/lang.c:1169
 msgid "thread"
 msgstr "Thread"
 
-#: src/lang.c:1147
+#: src/lang.c:1170
 #, c-format
 msgid "Thread %4s of %4s"
 msgstr "Thread %4s von %4s"
 
-#: src/lang.c:1148
+#: src/lang.c:1171
 msgid "Threading articles..."
 msgstr "Sortiere Artikel..."
 
-#: src/lang.c:1149
+#: src/lang.c:1172
 msgid "Threading by multipart"
 msgstr "Multipart Threading"
 
-#: src/lang.c:1151
-#, c-format
-msgid "TLS handshake failed: %s\n"
-msgstr "TLS-Handshake fehlgeschlagen: %s\n"
-
-#: src/lang.c:1153
+#: src/lang.c:1175
 msgid "<failed to retrieve cipher>"
 msgstr "<VerschlÃ¼sselung konnte nicht abgerufen werden>"
 
-#: src/lang.c:1154
+#: src/lang.c:1176
 msgid "<failed to retrieve issuer>"
 msgstr "<Fehler beim Abrufen des Ausstellers>"
 
-#: src/lang.c:1155
+#: src/lang.c:1177
 msgid "<failed to retrieve subject>"
 msgstr "<Gegenstand konnte nicht abgerufen werden>"
 
-#: src/lang.c:1156
+#: src/lang.c:1178
 msgid "<failed to retrieve version>"
 msgstr "<Version konnte nicht abgerufen werden>"
 
-#: src/lang.c:1157
+#: src/lang.c:1179
 #, c-format
 msgid "%s handshake done: %s\n"
-msgstr "%S-Handshake abgeschlossen: %s\n"
-
-#: src/lang.c:1158 src/lang.c:1309
-msgid "unknown error"
-msgstr "Unbekannter Fehler"
+msgstr "%s-Handshake abgeschlossen: %s\n"
 
-#: src/lang.c:1161
+#: src/lang.c:1182
 #, c-format
 msgid "TLS handshake failed: %s (%d)\n"
 msgstr "TLS-Handshake fehlgeschlagen: %s (%d)\n"
 
-#: src/lang.c:1162
+#: src/lang.c:1183
 #, c-format
 msgid "TLS peer verification failed: %s\n"
 msgstr "TLS-Verifizierung fehlgeschlagen: %s\n"
 
-#: src/lang.c:1163
+#: src/lang.c:1184
 #, c-format
 msgid "TLS peer verification failed, continuing anyway as requested: %s\n"
 msgstr ""
 "TLS-Verifizierung fehlgeschlagen, trotzdem wie gefordert fortfahren: %s\n"
 
-#: src/lang.c:1164
+#: src/lang.c:1185
 msgid "<unable to retrieve status>"
 msgstr "<Status konnte nicht abgerufen werden>"
 
-#: src/lang.c:1165
+#: src/lang.c:1186
 msgid "unexpected certificate verification status!"
 msgstr "unerwarteter ZertifikatsÃ¼berprÃ¼fungsstatus!"
 
-#: src/lang.c:1168
+#: src/lang.c:1189
 #, c-format
 msgid ""
 "TLS peer verification failed: %s.\n"
@@ -4400,180 +4475,199 @@ msgstr ""
 "TLS-Verifizierung fehlgeschlagen: %s.\n"
 "Trotzdem wird wie gefordert fortgefahren.\n"
 
-#: src/lang.c:1171
+#: src/lang.c:1192
 #, c-format
 msgid "TLS handshake done: %s\n"
 msgstr "TLS-Handshake abgeschlossen: %s\n"
 
-#: src/lang.c:1174
+#: src/lang.c:1195
+#, c-format
+msgid "TLS handshake failed: %s\n"
+msgstr "TLS-Handshake fehlgeschlagen: %s\n"
+
+#: src/lang.c:1198
 #, c-format
 msgid "Toggled word highlighting %s"
 msgstr "Wort-Hervorhebung: %s"
 
-#: src/lang.c:1175
+#: src/lang.c:1199
 msgid "Toggled rot13 encoding"
 msgstr "ROT13-Kodierung (de)aktiviert"
 
-#: src/lang.c:1176
+#: src/lang.c:1200
 #, c-format
 msgid "Toggled German TeX encoding %s"
 msgstr "Deutsche TeX-Dekodierung: %s"
 
-#: src/lang.c:1177
+#: src/lang.c:1201
 #, c-format
 msgid "Toggled tab-width to %d"
 msgstr "Tabulatorweite zu %d gewechselt"
 
-#: src/lang.c:1179
+#: src/lang.c:1203
 #, c-format
 msgid "%d Trying to dotlock %s"
 msgstr "%d Versuche %s zu dotlocken"
 
-#: src/lang.c:1180
+#: src/lang.c:1204
 #, c-format
 msgid "%d Trying to lock %s"
 msgstr "%d Versuche %s zu locken"
 
-#: src/lang.c:1182
+#: src/lang.c:1206
 #, c-format
 msgid "%s=help"
 msgstr "%s=Hilfe"
 
-#: src/lang.c:1184
+#: src/lang.c:1208
 msgid "Unlimited"
 msgstr "Unbegrenzt"
 
-#: src/lang.c:1185
+#: src/lang.c:1209
 msgid "Enter wildcard unsubscribe pattern> "
 msgstr "Wildcardmuster fÃ¼r abzubestellende Gruppen> "
 
-#: src/lang.c:1186
+#: src/lang.c:1210
 #, c-format
 msgid "Error decoding %s : %s"
 msgstr "Fehler beim Dekodieren von %s : %s"
 
-#: src/lang.c:1187
+#: src/lang.c:1211
 msgid "No end."
 msgstr "Kein Ende."
 
-#: src/lang.c:1188
+#: src/lang.c:1212
 #, c-format
 msgid "%s successfully decoded."
 msgstr "%s erfolgreich dekodiert."
 
-#: src/lang.c:1189
+#: src/lang.c:1214
 msgid "unchanged"
 msgstr "unverÃ¤ndert"
 
-#: src/lang.c:1190
+#: src/lang.c:1216
 msgid "(unknown)"
 msgstr "(unbekannt)"
 
-#: src/lang.c:1191
+#: src/lang.c:1218
+msgid "unknown error"
+msgstr "Unbekannter Fehler"
+
+#: src/lang.c:1220
 msgid "unread"
 msgstr "ungelesen"
 
-#: src/lang.c:1192
+#: src/lang.c:1221
 #, c-format
 msgid "unsubscribed from %d groups"
 msgstr "%d Gruppen abbestellt"
 
-#: src/lang.c:1193
+#: src/lang.c:1222
 #, c-format
 msgid "Unsubscribed from %s"
 msgstr "%s wurde abbestellt"
 
-#: src/lang.c:1194
+#: src/lang.c:1223
 msgid "Unsubscribing... "
 msgstr "Abbestellen... "
 
-#: src/lang.c:1195
+#: src/lang.c:1224
 msgid "Unthreading articles..."
 msgstr "Aktuelle Sortierung der Artikel aufheben..."
 
-#: src/lang.c:1196
+#: src/lang.c:1225
 msgid "Updated"
 msgstr "Aktualisiert"
 
-#: src/lang.c:1197
+#: src/lang.c:1226
 msgid "Updating"
 msgstr "Aktualisiere"
 
-#: src/lang.c:1198
+#: src/lang.c:1227
 msgid "URL Menu"
 msgstr "URL MenÃ¼"
 
-#: src/lang.c:1199
+#: src/lang.c:1228
 msgid "URL Menu Commands"
 msgstr "URL MenÃ¼ Befehle"
 
-#: src/lang.c:1200
+#: src/lang.c:1229
 #, c-format
 msgid "Opening %s"
 msgstr "Ã–ffne %s"
 
-#: src/lang.c:1201
+#: src/lang.c:1230
 msgid "Select URL> "
 msgstr "WÃ¤hle URL> "
 
-#: src/lang.c:1202
+#: src/lang.c:1231
 msgid "No URLs in this article"
 msgstr "Keine URLs im Artikel"
 
-#: src/lang.c:1203
-msgid "Use MIME display program for this message?"
-msgstr "MIME-Anzeigeprogramm fÃ¼r diese Nachricht benutzen?"
+#: src/lang.c:1233
+#, c-format
+msgid "SASL MECHS    : %s\n"
+msgstr "SASL MECHS    : %s\n"
 
-#: src/lang.c:1204
+#: src/lang.c:1234
+#, c-format
+msgid "SASL MECH used: %s\n"
+msgstr "akt. SASL MECH: %s\n"
+
+#: src/lang.c:1236
 msgid "  -c       mark all news as read in subscribed newsgroups (batch mode)"
 msgstr ""
 "  -c       Markiere Artikel gelesen in den abonnierten Gruppen (Batch-Modus)"
 
-#: src/lang.c:1205
+#: src/lang.c:1237
 msgid "  -Z       return status indicating if any unread news (batch mode)"
 msgstr ""
 "  -Z       RÃ¼ckgabewert zeigt, ob ungelesene Artikel vorliegen (Batch-Modus)"
 
-#: src/lang.c:1206
+#: src/lang.c:1238
 msgid "  -q       don't check for new newsgroups"
 msgstr "  -q       ÃœberprÃ¼fe nicht auf neue Newsgruppen"
 
-#: src/lang.c:1207
+#: src/lang.c:1239
 msgid "  -X       don't save any files on quit"
 msgstr "  -X       Speicher keine Dateien beim Beenden"
 
-#: src/lang.c:1208
+#: src/lang.c:1240
 msgid "  -d       don't show newsgroup descriptions"
 msgstr "  -d       Zeige keine Newsgruppenbeschreibungen"
 
-#: src/lang.c:1209
+#: src/lang.c:1241
 msgid "  -G limit get only limit articles/group"
 msgstr "  -G limit Hole nur 'limit' Artikel pro Newsgruppe"
 
-#: src/lang.c:1210
+#: src/lang.c:1242
 #, c-format
 msgid "  -H       help information about %s"
 msgstr "  -H       Hilfe und Informationen Ã¼ber %s"
 
-#: src/lang.c:1211
+#: src/lang.c:1243
 msgid "  -h       this help message"
 msgstr "  -h       Diese Hilfeseite"
 
-#: src/lang.c:1212
+#: src/lang.c:1244
 #, c-format
 msgid "  -I dir   news index file directory [default=%s]"
 msgstr "  -I Verz. Verzeichnis fÃ¼r Artikel-Index-Datei [Standard=%s]"
 
-#: src/lang.c:1213
+#: src/lang.c:1246
+msgid "  -L msgid show the message with that Message-ID"
+msgstr "  -L msgid zeigt die Nachricht mit dieser Message-ID an"
+
+#: src/lang.c:1248
 msgid "  -u       update index files (batch mode)"
 msgstr "  -u       Erneuere Index-Dateien (Batch-Modus)"
 
-#: src/lang.c:1214
+#: src/lang.c:1249
 #, c-format
 msgid "  -m dir   mailbox directory [default=%s]"
 msgstr "  -m Verz. Mailbox-Verzeichnis [Standard=%s]"
 
-#: src/lang.c:1215
+#: src/lang.c:1250
 #, c-format
 msgid ""
 "\n"
@@ -4582,49 +4676,54 @@ msgstr ""
 "\n"
 "Schicken Sie Fehlerberichte/Kommentare an %s"
 
-#: src/lang.c:1216
+#: src/lang.c:1251
 msgid "  -N       mail new news to your posts (batch mode)"
 msgstr "  -N       Maile neue Artikel an sich selbst (Batch-Modus)"
 
-#: src/lang.c:1217
+#: src/lang.c:1252
 msgid "  -M user  mail new news to specified user (batch mode)"
 msgstr "  -M user  Maile neue News-Artikel an 'user' (Batch-Modus)"
 
-#: src/lang.c:1218
+#: src/lang.c:1253
 #, c-format
 msgid "  -f file  subscribed to newsgroups file [default=%s]"
 msgstr "  -f Datei 'Datei' als .newsrc-Datei nutzen [Standard=%s]"
 
-#: src/lang.c:1219
+#: src/lang.c:1255
+#, c-format
+msgid "  -t sec   override nntp_read_timeout_secs setting [default=%d]"
+msgstr "  -t sek   nntp_read_timeout_secs-Einstellung [Standard=%d]"
+
+#: src/lang.c:1257
 msgid "  -x       no-posting mode"
 msgstr "  -x       Posten nicht erlaubt Modus"
 
-#: src/lang.c:1220
+#: src/lang.c:1258
 msgid "  -w       post an article and exit"
 msgstr "  -w       Postet einen Artikel und beendet tin"
 
-#: src/lang.c:1221
+#: src/lang.c:1259
 msgid "  -o       post all postponed articles and exit"
 msgstr "  -o       Postet alle zurÃ¼ckgelegten Artikel und beendet tin"
 
-#: src/lang.c:1222
+#: src/lang.c:1260
 msgid "  -R       read news saved by -S option"
 msgstr "  -R       Lese Artikel, die durch -S gespeichert wurden"
 
-#: src/lang.c:1223
+#: src/lang.c:1261
 #, c-format
 msgid "  -s dir   save news directory [default=%s]"
 msgstr "  -s Verz. Verzeichnis zum News-Speichern [Standard=%s]"
 
-#: src/lang.c:1224
+#: src/lang.c:1262
 msgid "  -S       save new news for later reading (batch mode)"
 msgstr "  -S       Speichere Artikel fÃ¼r das spÃ¤tere Lesen (Batch-Modus)"
 
-#: src/lang.c:1225
+#: src/lang.c:1263
 msgid "  -z       start if any unread news"
 msgstr "  -z       Starte, wenn ungelesene Artikel vorliegen"
 
-#: src/lang.c:1226
+#: src/lang.c:1264
 #, c-format
 msgid ""
 "A Usenet reader.\n"
@@ -4635,67 +4734,72 @@ msgstr ""
 "\n"
 "Syntax: %s [Optionen] [Newsgruppe[,...]]"
 
-#: src/lang.c:1227
+#: src/lang.c:1265
 msgid "  -v       verbose output for batch mode options"
 msgstr "  -v       AusfÃ¼hrliche Ausgabe fÃ¼r Batch-Modus-Optionen"
 
-#: src/lang.c:1228
+#: src/lang.c:1266
 msgid "  -V       print version & date information"
 msgstr "  -V       Gebe Versions- und Datumsinformationen aus"
 
-#: src/lang.c:1229
+#: src/lang.c:1267
+msgid "Use MIME display program for this message?"
+msgstr "MIME-Anzeigeprogramm fÃ¼r diese Nachricht benutzen?"
+
+#: src/lang.c:1268
 #, c-format
-msgid "%s only useful without batch mode operations\n"
-msgstr "%s ist nur sinnvoll ohne Batchmodeoperationen\n"
+msgid "%s only useful without batch mode operations.%s\n"
+msgstr "%s ist nur sinnvoll ohne Batchmodeoperationen.%s\n"
 
-#: src/lang.c:1230
+#: src/lang.c:1269
 #, c-format
-msgid "%s only useful for batch mode operations\n"
-msgstr "%s ist nur sinnvoll fÃ¼r Batchmodeoperationen\n"
+msgid "%s only useful for batch mode operations.%s\n"
+msgstr "%s ist nur sinnvoll fÃ¼r Batchmodeoperationen.%s\n"
 
-#: src/lang.c:1231
+#: src/lang.c:1270
 #, c-format
-msgid "%s only useful for batch or debug mode operations\n"
-msgstr "%s ist nur sinnvoll fÃ¼r Batchmode- oder Debugoperationen\n"
+msgid "%s only useful for batch or debug mode operations.%s\n"
+msgstr "%s ist nur sinnvoll fÃ¼r Batchmode- oder Debugoperationen.%s\n"
 
-#: src/lang.c:1232
+#: src/lang.c:1271
 #, c-format
-msgid "Useless combination %s and %s. Ignoring %s.\n"
-msgstr "Unsinnige Kombination von %s und %s. Ignoriere %s.\n"
+msgid "Useless combination %s and %s. Ignoring %s.%s\n"
+msgstr "Unsinnige Kombination von %s und %s. Ignoriere %s.%s\n"
 
-#: src/lang.c:1233
+#: src/lang.c:1272
 msgid "uuencoded file"
 msgstr "UU-kodierte Datei"
 
-#: src/lang.c:1234
+#: src/lang.c:1273
 msgid "incomplete uuencoded file"
 msgstr "unvollstÃ¤ndige UU-kodierte Datei"
 
-#: src/lang.c:1237
+#: src/lang.c:1276
 #, c-format
 msgid "Valid not after : %s\n"
 msgstr "Nicht gÃ¼ltig nach: %s\n"
 
-#: src/lang.c:1238
+#: src/lang.c:1277
 #, c-format
 msgid "Valid not before: %s\n"
 msgstr "Nicht gÃ¼ltig vor : %s\n"
 
-#: src/lang.c:1240
+#: src/lang.c:1279
 #, c-format
-msgid ""
-"\n"
-"%s%d out of range (0 - %d). Reset to 0"
-msgstr ""
-"\n"
-"%s%d ist auÃŸerhalb der Grenzen (0 - %d). ZurÃ¼cksetzen auf 0"
+msgid "%s %s out of range (%d - %d). Ignored."
+msgstr "%s %s ist auÃŸerhalb der Grenzen (%d - %d). Ignoriert."
 
-#: src/lang.c:1241
+#: src/lang.c:1280
+#, c-format
+msgid "%s %d out of range (0 - %d). Reset to 0."
+msgstr "%s %d ist auÃŸerhalb der Grenzen (0 - %d). ZurÃ¼ckgesetzt auf 0."
+
+#: src/lang.c:1281
 #, c-format
 msgid "View '%s' (%s/%s)?"
 msgstr "'%s' (%s/%s) anzeigen?"
 
-#: src/lang.c:1243
+#: src/lang.c:1283
 #, c-format
 msgid ""
 "\n"
@@ -4706,7 +4810,7 @@ msgstr ""
 "Warnung: Artikel Ã¼berschreitet %d Spalten. Zeile %d ist die erste lange:\n"
 "%-100s\n"
 
-#: src/lang.c:1244
+#: src/lang.c:1284
 msgid ""
 "\n"
 "Warning: article unchanged after editing\n"
@@ -4714,7 +4818,7 @@ msgstr ""
 "\n"
 "Warnung: Artikel wurde im Editor nicht verÃ¤ndert\n"
 
-#: src/lang.c:1245
+#: src/lang.c:1285
 msgid ""
 "\n"
 "Warning: \"Subject:\" contains only whitespaces.\n"
@@ -4722,7 +4826,7 @@ msgstr ""
 "\n"
 "Warnung: \"Subject:\" enthÃ¤lt nur Leerzeichen.\n"
 
-#: src/lang.c:1246
+#: src/lang.c:1286
 msgid ""
 "\n"
 "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:"
@@ -4732,7 +4836,7 @@ msgstr ""
 "Warnung: \"Subject:\" beginnt mit \"Re: \", aber es gibt keine \"References:"
 "\".\n"
 
-#: src/lang.c:1248
+#: src/lang.c:1288
 msgid ""
 "\n"
 "Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
@@ -4742,7 +4846,15 @@ msgstr ""
 "Warnung: Artikel hat \"References:\" aber \"Subject:\" beginnt nicht\n"
 "         mit \"Re: \" and enthÃ¤lt auch kein \"(was:\".\n"
 
-#: src/lang.c:1251
+#: src/lang.c:1291
+msgid ""
+"\n"
+"Warning: \"Subject:\" contains only \"Re:\".\n"
+msgstr ""
+"\n"
+"Warnung: \"Subject:\" enthÃ¤lt nur \"Re:\".\n"
+
+#: src/lang.c:1292
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4764,7 +4876,15 @@ msgstr ""
 "Das ist der Artikel, den Sie canceln (lÃ¶schen) wollen:\n"
 "\n"
 
-#: src/lang.c:1255
+#: src/lang.c:1296
+msgid ""
+"\n"
+"Warning: Undesired Distribution \"world\" used.\n"
+msgstr ""
+"\n"
+"Warnung: UnerwÃ¼nschter Wert \"world\" in Distribution verwendet.\n"
+
+#: src/lang.c:1297
 msgid ""
 "\n"
 "Warning: You are using a non-plain transfer encoding (such as base64 or\n"
@@ -4778,7 +4898,7 @@ msgstr ""
 "         Artikel zu Ã¼bertragen. Falls durch diesen inews eine Signatur\n"
 "         angehÃ¤ngt wird, so kann diese nicht korrekt kodiert werden.\n"
 
-#: src/lang.c:1261
+#: src/lang.c:1303
 #, c-format
 msgid ""
 "\n"
@@ -4790,7 +4910,7 @@ msgstr ""
 "aber die Kodierung ist weder auf %s noch auf\n"
 "%s gestellt.\n"
 
-#: src/lang.c:1265
+#: src/lang.c:1307
 #, c-format
 msgid ""
 "\n"
@@ -4804,7 +4924,7 @@ msgstr ""
 "MIME_BREAK_LONG_LINES angeschaltet zu haben, oder der Artikel enthÃ¤lt\n"
 "keine 8Bit Zeichen und wird daher nicht automatisch gefaltet wird.\n"
 
-#: src/lang.c:1269
+#: src/lang.c:1311
 #, c-format
 msgid ""
 "\n"
@@ -4815,7 +4935,7 @@ msgstr ""
 "Zeile %d ist lÃ¤nger als %d Oktette und sollte gefaltet werden,\n"
 "aber die Kodierung ist nicht auf %s gesetzt.\n"
 
-#: src/lang.c:1272
+#: src/lang.c:1314
 msgid ""
 "\n"
 "Warning: \"example\" is a reserved hierarchy!\n"
@@ -4823,7 +4943,7 @@ msgstr ""
 "\n"
 "Warnung: \"example\" ist eine reserviert Hierarchie!\n"
 
-#: src/lang.c:1273
+#: src/lang.c:1315
 #, c-format
 msgid ""
 "\n"
@@ -4838,7 +4958,7 @@ msgstr ""
 "Einige Einstellungen in Ihrer %s-Datei haben sich geÃ¤ndert!\n"
 "Lesen Sie \"WHATSNEW\", usw....\n"
 
-#: src/lang.c:1275
+#: src/lang.c:1317
 #, c-format
 msgid ""
 "\n"
@@ -4852,7 +4972,7 @@ msgstr ""
 "Evtl. werden Einstellungen in Ihrer %s-Datei\n"
 "nicht erkannt oder Ã¤ndern sich!\n"
 
-#: src/lang.c:1278
+#: src/lang.c:1320
 #, c-format
 msgid ""
 "Warning: tin wrote fewer groups to your\n"
@@ -4867,7 +4987,33 @@ msgstr ""
 "wÃ¤hrenddessen abbestellt haben, ist ein Fehler aufgetreten und Sie sollten\n"
 "Ihre %s wiederherstellen, bevor Sie tin nochmal starten!\n"
 
-#: src/lang.c:1282
+#: src/lang.c:1324
+#, c-format
+msgid ""
+"\n"
+"Warning: The article has multiple addresses in \"%s\".\n"
+"         This is at least uncommon.\n"
+msgstr ""
+"\n"
+"Warnung: Der Artikel hat mehrere Adressen in \"%s\".\n"
+"         Dies ist zumindest ungewÃ¶hnlich.\n"
+
+#: src/lang.c:1327
+#, c-format
+msgid ""
+"\n"
+"Warning: With multiple addresses in \"From\", a \"Sender\"-header is\n"
+"         required, but its generation is deactivated by the global\n"
+"         configuration \"disable_sender=ON\" in\n"
+"         \"%s\".\n"
+msgstr ""
+"\n"
+"Warnung: Bei mehreren Adressen in \"From\" ist ein \"Sender\"-Header\n"
+"         erforderlich, dessen Generierung jedoch durch die globale\n"
+"         Konfiguration \"disable_sender=ON\" deaktiviert ist in\n"
+"         \"%s\".\n"
+
+#: src/lang.c:1332
 #, c-format
 msgid ""
 "\n"
@@ -4876,12 +5022,12 @@ msgstr ""
 "\n"
 "Warnung: Es gibt %d '-- \\n' Zeilen. Das kÃ¶nnte einige Leute verwirren.\n"
 
-#: src/lang.c:1283
+#: src/lang.c:1333
 #, c-format
 msgid "Warning: Only %d out of %d articles were saved"
 msgstr "Warnung: Nur %d von %d Artikeln gespeichert"
 
-#: src/lang.c:1284
+#: src/lang.c:1334
 #, c-format
 msgid ""
 "\n"
@@ -4898,14 +5044,14 @@ msgstr ""
 "mÃ¶glich\n"
 "         gehalten werden.\n"
 
-#: src/lang.c:1288
+#: src/lang.c:1338
 #, c-format
 msgid ""
 "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
 msgstr ""
 "Warnung: E-Mailadr. evtl. verfÃ¤lscht (Spamfalle). %s=weiter, %s=Abbruch? "
 
-#: src/lang.c:1289
+#: src/lang.c:1339
 #, c-format
 msgid ""
 "Warning: line %d contains unprintable chars:\n"
@@ -4914,7 +5060,7 @@ msgstr ""
 "Warnung: Zeile %d enthÃ¤lt nicht druckbare Zeichen:\n"
 "%s\n"
 
-#: src/lang.c:1290
+#: src/lang.c:1340
 msgid ""
 "\n"
 "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
@@ -4922,81 +5068,81 @@ msgstr ""
 "\n"
 "Warnung: Signaturen sollten mit '-- \\n' und nicht mit '--\\n' beginnen.\n"
 
-#: src/lang.c:1291
+#: src/lang.c:1341
 msgid "Writing attributes file..."
 msgstr "Schreibe Datei mit den Eigenschaften der Newsgruppen..."
 
-#: src/lang.c:1292
+#: src/lang.c:1342
 #, c-format
 msgid "Writing %s\n"
 msgstr "Schreibe %s\n"
 
-#: src/lang.c:1293
+#: src/lang.c:1343
 msgid "Writing overview cache..."
 msgstr "Schreibe Overview Cache..."
 
-#: src/lang.c:1295
+#: src/lang.c:1345
 #, c-format
 msgid "%4d Responses"
 msgstr "%4d Antworten"
 
-#: src/lang.c:1297
+#: src/lang.c:1347
 msgid "Can't run slrnface: couldn't construct fifo name."
 msgstr "Kann slrnface nicht starten: konnte FIFO-Name nicht erzeugen."
 
-#: src/lang.c:1298
+#: src/lang.c:1348
 #, c-format
 msgid "Can't run slrnface: failed to create %s"
 msgstr "Kann slrnface nicht starten: Anlegen von %s fehlgeschlagen"
 
-#: src/lang.c:1299
+#: src/lang.c:1349
 #, c-format
 msgid "Slrnface abnormally exited, code %d."
 msgstr "Slrnface wurde mit Fehler %d beendet."
 
-#: src/lang.c:1300
+#: src/lang.c:1350
 #, c-format
 msgid "Slrnface failed: %s."
 msgstr "Fehler %s beim Aufruf von Slrnface."
 
-#: src/lang.c:1301
+#: src/lang.c:1352
 #, c-format
 msgid "Can't run slrnface: Environment variable %s not found."
 msgstr "Kann slrnface nicht starten: Umgebungsvariable %s nicht gefunden."
 
-#: src/lang.c:1302
+#: src/lang.c:1354
 msgid "Can't run slrnface: Not running in an xterm."
 msgstr "Kann slrnface nicht starten: tin lÃ¤uft nicht in einem xterm."
 
-#: src/lang.c:1303
+#: src/lang.c:1357
 msgid "couldn't connect to display"
 msgstr "konnte keine Verbindung zum Display herstellen"
 
-#: src/lang.c:1304
+#: src/lang.c:1358
 msgid "can't open FIFO"
 msgstr "Kann FIFO nicht Ã¶ffnen"
 
-#: src/lang.c:1305
+#: src/lang.c:1359
 msgid "executable not found"
 msgstr "ausfÃ¼hrbare Datei nicht gefunden"
 
-#: src/lang.c:1306
+#: src/lang.c:1360
 msgid "fork() failed"
 msgstr "fork() fehlgeschlagen"
 
-#: src/lang.c:1307
+#: src/lang.c:1361
 msgid "couldn't find controlling terminal"
 msgstr "Steuerterminal konnte nicht gefunden werden"
 
-#: src/lang.c:1308
+#: src/lang.c:1362
 msgid "terminal doesn't export width and height"
 msgstr "Terminal exportiert Breite und HÃ¶he nicht"
 
-#: src/lang.c:1310
+#: src/lang.c:1363
 msgid "WINDOWID not found in environment"
 msgstr "WINDOWID nicht in der Umgebung gefunden"
 
-#: src/lang.c:1311
+#: src/lang.c:1364
 msgid ""
 "This directory is used to create named pipes for communication between\n"
 "slrnface and its parent process. It should normally be empty because\n"
@@ -5021,28 +5167,28 @@ msgstr ""
 "dass der NFS-Server spezielle Dateien in diesem Verzeichnis erzeugt,\n"
 "wÃ¤hrend slrnface ausgefÃ¼hrt wird. Diese sollten nicht gelÃ¶scht werden.\n"
 
-#: src/lang.c:1324
+#: src/lang.c:1377
 #, c-format
 msgid "Added %d %s"
 msgstr "%d %s hinzugefÃ¼gt"
 
-#: src/lang.c:1325
+#: src/lang.c:1378
 msgid "No unsubscribed groups to show"
 msgstr "Keine nicht abonnierte Gruppen gefunden"
 
-#: src/lang.c:1326
+#: src/lang.c:1379
 msgid "Showing subscribed to groups only"
 msgstr "Zeige nur abonnierte Gruppen"
 
-#: src/lang.c:1327
+#: src/lang.c:1380
 msgid "Yes "
 msgstr "Ja  "
 
-#: src/lang.c:1328
+#: src/lang.c:1381
 msgid "You have mail"
 msgstr "Sie haben Mail"
 
-#: src/lang.c:1333
+#: src/lang.c:1386
 #, c-format
 msgid ""
 "\n"
@@ -5063,11 +5209,11 @@ msgstr ""
 "         entfernen oder MM_NETWORK_CHARSET im M)neu auf einen\n"
 "         passenderen Wert setzen.\n"
 
-#: src/lang.c:1344
+#: src/lang.c:1397
 msgid "  -D mode  debug mode"
 msgstr "  -D Modus Debug-Modus"
 
-#: src/lang.c:1348
+#: src/lang.c:1401
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -5095,11 +5241,11 @@ msgstr ""
 "Dies ist der Artikel, den Sie canceln (lÃ¶schen) wollen:\n"
 "\n"
 
-#: src/lang.c:1357
+#: src/lang.c:1410
 msgid "toggle color"
 msgstr "Farben ein/aus"
 
-#: src/lang.c:1358
+#: src/lang.c:1411
 msgid ""
 "# Changing colors of several screen parts\n"
 "# Possible values are:\n"
@@ -5145,11 +5291,11 @@ msgstr ""
 "#  15 = HellweiÃŸ\n"
 "\n"
 
-#: src/lang.c:1378
+#: src/lang.c:1431
 msgid "  -a       toggle color flag"
 msgstr "  -a       Farbe ein- oder ausschalten"
 
-#: src/lang.c:1382
+#: src/lang.c:1435
 msgid ""
 "\n"
 "Error: Followup-To set to more than one newsgroup!\n"
@@ -5157,7 +5303,7 @@ msgstr ""
 "\n"
 "Fehler: Followup-To auf mehr als eine Newsgruppe gesetzt!\n"
 
-#: src/lang.c:1383
+#: src/lang.c:1436
 #, c-format
 msgid ""
 "\n"
@@ -5166,7 +5312,7 @@ msgstr ""
 "\n"
 "Fehler: \"%s\" wurde umbenannt, \"%s\" stattdessen benutzen!\n"
 
-#: src/lang.c:1384
+#: src/lang.c:1437
 #, c-format
 msgid ""
 "\n"
@@ -5175,7 +5321,7 @@ msgstr ""
 "\n"
 "Fehler: Crossposting in %d Newsgruppen und kein Followup-To gesetzt!\n"
 
-#: src/lang.c:1385
+#: src/lang.c:1438
 #, c-format
 msgid ""
 "\n"
@@ -5184,7 +5330,7 @@ msgstr ""
 "\n"
 "Fehler: \"%s\" ist keine gÃ¼ltige Newsgruppe!\n"
 
-#: src/lang.c:1387
+#: src/lang.c:1440
 msgid ""
 "\n"
 "Warning: Followup-To set to more than one newsgroup!\n"
@@ -5192,7 +5338,7 @@ msgstr ""
 "\n"
 "Warnung: Followup-To in mehr als eine Newsgruppe gesetzt!\n"
 
-#: src/lang.c:1388
+#: src/lang.c:1441
 #, c-format
 msgid ""
 "\n"
@@ -5201,7 +5347,7 @@ msgstr ""
 "\n"
 "Warnung: \"%s\" wurde umbenannt, bitte \"%s\" stattdessen benutzen!\n"
 
-#: src/lang.c:1389
+#: src/lang.c:1442
 #, c-format
 msgid ""
 "\n"
@@ -5210,7 +5356,7 @@ msgstr ""
 "\n"
 "Warnung: Crossposting in %d Newsgruppen und kein Followup-To gesetzt!\n"
 
-#: src/lang.c:1390
+#: src/lang.c:1443
 #, c-format
 msgid ""
 "\n"
@@ -5219,7 +5365,7 @@ msgstr ""
 "\n"
 "Warnung: \"%s\" ist nicht in Ihrer newsrc, sie kÃ¶nnte ungÃ¼ltig sein!\n"
 
-#: src/lang.c:1391
+#: src/lang.c:1444
 #, c-format
 msgid ""
 "\n"
@@ -5228,81 +5374,78 @@ msgstr ""
 "\n"
 "Warnung: \"%s\" ist keine gÃ¼ltige Newsgruppe auf diesem Server!\n"
 
-#: src/lang.c:1395
+#: src/lang.c:1448
 #, c-format
 msgid "%d files successfully written from %d articles. %d %s occurred."
 msgstr ""
 "%d Dateien aus %d Artikeln erfolgreich geschrieben. %d %s trat(en) auf."
 
-#: src/lang.c:1396
+#: src/lang.c:1449
 msgid "Missing parts."
 msgstr "Teile fehlen."
 
-#: src/lang.c:1397
+#: src/lang.c:1450
 msgid "No beginning."
 msgstr "Kein Anfang."
 
-#: src/lang.c:1398
+#: src/lang.c:1451
 msgid "No data."
 msgstr "Keine Daten."
 
-#: src/lang.c:1399
+#: src/lang.c:1452
 msgid "Unknown error."
 msgstr "Unbekannter Fehler."
 
-#: src/lang.c:1402
+#: src/lang.c:1456
 #, c-format
-msgid "\tChecksum of %s (%ld %s)"
-msgstr "\tPrÃ¼fsumme fÃ¼r %s (%ld %s)"
-
-#: src/lang.c:1407
-msgid "Reading mail active file... "
-msgstr "Lese EMail-Active-Datei... "
+msgid "Reading mail active file: %s"
+msgstr "Lese EMail-Active-Datei: %s"
 
-#: src/lang.c:1408
-msgid "Reading mailgroups file... "
-msgstr "Lese Mailgruppen-Datei... "
+#: src/lang.c:1457
+#, c-format
+msgid "Reading mailgroups file: %s"
+msgstr "Lese Mailgruppen-Datei: %s"
 
-#: src/lang.c:1412
+#: src/lang.c:1461
 msgid "perform PGP operations on article"
 msgstr "Wendet PGP auf den Artikel an"
 
-#: src/lang.c:1413
+#: src/lang.c:1462
 msgid "Add key(s) to public keyring?"
 msgstr "SchlÃ¼ssel dem Ã–ffentlichen SchlÃ¼sselring hinzufÃ¼gen?"
 
-#: src/lang.c:1414
+#: src/lang.c:1463
 #, c-format
 msgid "%s=encrypt, %s=sign, %s=both, %s=quit: "
 msgstr "%s=verschlÃ¼sseln, %s=signieren, %s=beides, %s=Ende: "
 
-#: src/lang.c:1415
+#: src/lang.c:1464
 #, c-format
 msgid "%s=sign, %s=sign & include public key, %s=quit: "
 msgstr "%s=signiere, %s=signiere & fÃ¼ge Ã¶ffentl. SchlÃ¼ssel hinzu, %s=Ende: "
 
-#: src/lang.c:1416
+#: src/lang.c:1465
 #, c-format
 msgid "PGP has not been set up (can't open %s)"
 msgstr "PGP Wurde nicht konfiguriert (kann %s nicht Ã¶ffnen)"
 
-#: src/lang.c:1417
+#: src/lang.c:1466
 msgid "Article not signed and no public keys found"
 msgstr "Artikel ist nicht signiert; keine Ã¶ffentlichen SchlÃ¼ssel gefunden"
 
-#: src/lang.c:1419
+#: src/lang.c:1468
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 "%s=Ende, %s=bearbeiten, %s=ispell, %s=pgp, %s=MenÃ¼, %s=posten, "
 "%s=zurÃ¼cklegen: "
 
-#: src/lang.c:1420
+#: src/lang.c:1469
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: "
 msgstr "%s=Ende, %s=bearbeiten, %s=ispell, %s=pgp, %s=verschicken [%%s]: "
 
-#: src/lang.c:1421
+#: src/lang.c:1470
 #, c-format
 msgid ""
 "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
@@ -5310,116 +5453,121 @@ msgstr ""
 "%s=Ende, %s=bearbeiten, %s=ispell, %s=pgp, %s=MenÃ¼, %s=posten, "
 "%s=zurÃ¼cklegen [%%s]: "
 
-#: src/lang.c:1423
+#: src/lang.c:1472
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=Ende, %s=bearbeiten, %s=pgp, %s=MenÃ¼, %s=posten, %s=zurÃ¼cklegen: "
 
-#: src/lang.c:1424
+#: src/lang.c:1473
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: "
 msgstr "%s=Ende, %s=bearbeiten, %s=pgp, %s=verschicken [%%s]: "
 
-#: src/lang.c:1425
+#: src/lang.c:1474
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 "%s=Ende, %s=bearbeiten, %s=pgp, %s=MenÃ¼, %s=posten, %s=zurÃ¼cklegen [%%s]: "
 
-#: src/lang.c:1429
+#: src/lang.c:1478
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 "%s=Ende, %s=bearbeiten, %s=ispell, %s=MenÃ¼, %s=posten, %s=zurÃ¼cklegen: "
 
-#: src/lang.c:1430
+#: src/lang.c:1479
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: "
 msgstr "%s=Ende, %s=bearbeiten, %s=ispell, %s=verschicken [%%s]: "
 
-#: src/lang.c:1431
+#: src/lang.c:1480
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 "%s=Ende, %s=bearbeiten, %s=ispell, %s=MenÃ¼, %s=post, %s=ZurÃ¼ckl. [%%s]: "
 
-#: src/lang.c:1433
+#: src/lang.c:1482
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=Ende, %s=bearbeiten, %s=MenÃ¼, %s=posten, %s=zurÃ¼cklegen: "
 
-#: src/lang.c:1434
+#: src/lang.c:1483
 #, c-format
 msgid "%s=quit, %s=edit, %s=send [%%s]: "
 msgstr "%s=Ende, %s=bearbeiten, %s=verschicken [%%s]: "
 
-#: src/lang.c:1435
+#: src/lang.c:1484
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=Ende, %s=bearbeiten, %s=MenÃ¼, %s=posten, %s=zurÃ¼cklegen [%%s]: "
 
-#: src/lang.c:1441
+#: src/lang.c:1489
 msgid "Try cache_overview_files to speed up things.\n"
 msgstr "Setze cache_overview_files um das Lesen zu beschleunigen.\n"
 
-#: src/lang.c:1442
+#: src/lang.c:1490
 msgid "Tin will use local index files instead.\n"
 msgstr "Tin wird lokale index files benutzen.\n"
 
-#: src/lang.c:1443
+#: src/lang.c:1491
 msgid "Cannot find NNTP server name"
 msgstr "Kann den Namen des NNTP Servers nicht finden"
 
-#: src/lang.c:1444
+#: src/lang.c:1492
 msgid "CAPABILITIES did not announce READER"
 msgstr "CAPABILITIES hat READER nicht bekannt geben"
 
-#: src/lang.c:1445
+#: src/lang.c:1493
 #, c-format
 msgid "Connecting to %s:%u..."
 msgstr "Verbinde mit %s:%u..."
 
-#: src/lang.c:1446
+#: src/lang.c:1494
 msgid "NNTP connection error. Exiting..."
 msgstr "NNTP Verbindungsfehler. Beende..."
 
-#: src/lang.c:1447
+#: src/lang.c:1495
 msgid "Disconnecting from server..."
 msgstr "Trenne Verbindung zum Server..."
 
-#: src/lang.c:1448
+#: src/lang.c:1496
 #, c-format
 msgid "Failed to connect to NNTP server %s. Exiting..."
 msgstr "Konnte nicht zum NNTP Server %s verbinden. Beende..."
 
-#: src/lang.c:1449
+#: src/lang.c:1497
 msgid "205  Closing connection"
 msgstr "205  SchlieÃŸe Verbindung"
 
-#: src/lang.c:1450
+#: src/lang.c:1498
 msgid "Your server does not support the NNTP XOVER or OVER command.\n"
 msgstr "Ihr Server unterstÃ¼tzt kein NNTP XOVER oder OVER Kommando.\n"
 
-#: src/lang.c:1452
+#: src/lang.c:1499
 #, c-format
 msgid "Port isn't numeric: %s:%s\n"
 msgstr "Port ist nicht numerisch: %s:%s\n"
 
-#: src/lang.c:1453
+#: src/lang.c:1500
+#, c-format
+msgid "%s argument is not numeric: %s\n"
+msgstr "%s ist nicht numerisch: %s\n"
+
+#: src/lang.c:1502
 #, c-format
 msgid "Port in %s isn't numeric: %s:%s\n"
 msgstr "Port in %s ist nicht numerisch: %s:%s\n"
 
-#: src/lang.c:1454
+#: src/lang.c:1503
 #, c-format
 msgid "reconnect (%d) limit %d reached, giving up."
 msgstr "Wiederverbinden (%d), Grenze (%d) erreicht, Abbruch."
 
-#: src/lang.c:1456
+#: src/lang.c:1505
 msgid "Connection to news server has timed out. Reconnect?"
 msgstr "Die Verbindung zum Newsserver wurde unterbrochen. Wieder verbinden?"
 
-#: src/lang.c:1457
+#: src/lang.c:1506
 #, c-format
 msgid ""
 "Put the server name in the file %s,\n"
@@ -5428,66 +5576,65 @@ msgstr ""
 "Schreiben Sie den Servernamen in die Datei %s,\n"
 "oder setzen Sie die Umgebungsvariable NNTPSERVER"
 
-#: src/lang.c:1459
+#: src/lang.c:1508
 msgid "Continuing..."
 msgstr "Weiter..."
 
-#: src/lang.c:1460
-#, c-format
-msgid "Read timeout from server (%d seconds) - quit tin?"
-msgstr "ZeitÃ¼berschreitung beim Lesen vom Server (%d Sekunden), tin beenden?"
+#: src/lang.c:1509
+msgid "Read timeout from server - quit tin?"
+msgstr "ZeitÃ¼berschreitung beim Lesen vom Server - tin beenden?"
 
-#: src/lang.c:1461
+#: src/lang.c:1510
 msgid "  -C       try COMPRESS NNTP extension"
 msgstr "  -C       NNTP Erweiterung COMPRESS versuchen"
 
-#: src/lang.c:1463
+#: src/lang.c:1512
 msgid "  -A       force authentication on connect"
 msgstr "  -A       Erzwinge Anmeldung bei Verbindung"
 
-#: src/lang.c:1464
+#: src/lang.c:1513
 #, c-format
 msgid "  -g serv  read news from NNTP server serv [default=%s]"
 msgstr "  -g serv  Lese Artikel vom NNTP-Server 'serv' [Standard=%s]"
 
-#: src/lang.c:1465
+#: src/lang.c:1514
 #, c-format
 msgid "  -p port  use port as NNTP port [default=%d]"
 msgstr "  -p port  Benutze 'port' als NNTP-Port [Standard=%d]"
 
-#: src/lang.c:1467
+#: src/lang.c:1516
 msgid "  -k       skip verification for NNTPS"
 msgstr "  -k       NNTPS-Verifizierung Ã¼berspringen"
 
-#: src/lang.c:1468
+#: src/lang.c:1517
 msgid "  -T       enable NNTPS"
 msgstr "  -T       Benutze NNTPS"
 
-#: src/lang.c:1470
+#: src/lang.c:1519
 msgid "  -Q       quick start. Same as -dnq"
 msgstr "  -Q       Schnellstart. Das Selbe wie -dnq"
 
-#: src/lang.c:1471
+#: src/lang.c:1520
 msgid "  -r       read news remotely from default NNTP server"
 msgstr "  -r       Lese Artikel vom Standard-NNTP-Server"
 
-#: src/lang.c:1472
+#: src/lang.c:1521
 msgid "  -l       use only LIST instead of GROUP (-n) command"
 msgstr "  -l       Benutze nur das LIST anstelle vom GROUP-Kommando (-n)"
 
-#: src/lang.c:1473
+#: src/lang.c:1522
 msgid "  -n       only read subscribed .newsrc groups from NNTP server"
 msgstr "  -n       Lese nur Gruppen aus der .newsrc-Datei vom NNTP-Server"
 
-#: src/lang.c:1475
+#: src/lang.c:1524
 msgid "  -4       force connecting via IPv4"
 msgstr "  -4       IPv4 benutzen"
 
-#: src/lang.c:1476
+#: src/lang.c:1525
 msgid "  -6       force connecting via IPv6"
 msgstr "  -6       IPv6 benutzen"
 
-#: src/lang.c:1477
+#: src/lang.c:1526
 msgid ""
 "\n"
 "socket or connect problem\n"
@@ -5495,7 +5642,7 @@ msgstr ""
 "\n"
 "Socket oder Verbindungsproblem\n"
 
-#: src/lang.c:1479
+#: src/lang.c:1528
 #, c-format
 msgid ""
 "\n"
@@ -5504,16 +5651,16 @@ msgstr ""
 "\n"
 "Verbindung mit %s: "
 
-#: src/lang.c:1480
+#: src/lang.c:1529
 msgid "Giving up...\n"
 msgstr "Gebe auf...\n"
 
-#: src/lang.c:1482
+#: src/lang.c:1531
 #, c-format
 msgid "%s/tcp: Unknown service.\n"
 msgstr "%s/tcp: Unbekannter Service.\n"
 
-#: src/lang.c:1486
+#: src/lang.c:1535
 msgid ""
 "Your server does not have Xref: in its XOVER information.\n"
 "Tin will try to use XHDR XREF instead (slows down things a bit).\n"
@@ -5521,89 +5668,89 @@ msgstr ""
 "Ihr Server hat kein Xref: in seiner XOVER-Information.\n"
 "Tin versucht XHDR XREF zu benutzen (verlangsamt den Prozess etwas).\n"
 
-#: src/lang.c:1489
+#: src/lang.c:1538
 msgid "Your server does not have Xref: in its XOVER information.\n"
 msgstr "Ihr Server hat kein Xref: in seiner XOVER-Information.\n"
 
-#: src/lang.c:1492
+#: src/lang.c:1541
 #, c-format
 msgid "Can't open %s. Try %s -r to read news via NNTP."
 msgstr "Kann %s nicht Ã¶ffnen. Probieren Sie %s -r um via NNTP zu lesen."
 
-#: src/lang.c:1495
+#: src/lang.c:1544
 msgid "  -Q       quick start. Same as -dq"
 msgstr "  -Q       Schnellstart. Das Selbe wie -dq"
 
-#: src/lang.c:1496
+#: src/lang.c:1545
 msgid "  -l       read only active file instead of scanning spool (-n) command"
 msgstr ""
 "  -l       Nur active Datei lesen ohne den Spool zu durchsuchen (-n) Kommando"
 
-#: src/lang.c:1497
+#: src/lang.c:1546
 msgid "  -n       only read subscribed .newsrc groups from spool"
 msgstr ""
 "  -n       Lese nur Gruppen aus der .newsrc-Datei aus dem lokalen Spool"
 
-#: src/lang.c:1498
+#: src/lang.c:1547
 msgid "Your server does not have Xref: in its NOV-files.\n"
 msgstr "Ihr Server hat kein Xref: in seinen NOV-Dateien.\n"
 
-#: src/lang.c:1502
+#: src/lang.c:1551
 msgid "Posting using external inews failed. Use built in inews instead?"
 msgstr "Fehler beim Posten mit externem inews, verwende eingebautes?"
 
-#: src/lang.c:1503
+#: src/lang.c:1552
 msgid "It worked! Should I always use my built in inews from now on?"
 msgstr "Das hat funktioniert. In Zukunft immer eingebautes inews verwenden?"
 
-#: src/lang.c:1507
+#: src/lang.c:1556
 #, c-format
 msgid "%d %s printed"
 msgstr "%d %s gedruckt"
 
-#: src/lang.c:1508
+#: src/lang.c:1557
 msgid "output article/thread/hot/pattern/tagged articles to printer"
 msgstr "Druckt Artikel/Thread/hervorgehobene/Muster/markierten"
 
-#: src/lang.c:1509
+#: src/lang.c:1558
 msgid "Print"
 msgstr "Drucke"
 
-#: src/lang.c:1510
+#: src/lang.c:1559
 msgid "Printing..."
 msgstr "Drucke..."
 
-#: src/lang.c:1514
+#: src/lang.c:1563
 #, c-format
 msgid "%d %s piped to \"%s\""
 msgstr "%d %s nach \"%s\" gepipet"
 
-#: src/lang.c:1515
+#: src/lang.c:1564
 msgid "pipe article/thread/hot/pattern/tagged articles into command"
 msgstr "Pipet Artikel/thread hervorgehoben/Muster/markierten Artikel"
 
-#: src/lang.c:1516
+#: src/lang.c:1565
 msgid "No command"
 msgstr "Kein Kommando"
 
-#: src/lang.c:1517
+#: src/lang.c:1566
 msgid "Pipe"
 msgstr "Pipe"
 
-#: src/lang.c:1518
+#: src/lang.c:1567
 #, c-format
 msgid "Pipe to command [%.*s]> "
 msgstr "Pipen in Kommando [%.*s]> "
 
-#: src/lang.c:1519
+#: src/lang.c:1568
 msgid "Piping..."
 msgstr "Pipen..."
 
-#: src/lang.c:1521
+#: src/lang.c:1570
 msgid "Piping not enabled."
 msgstr "Pipen nicht aktiviert."
 
-#: src/lang.c:1525
+#: src/lang.c:1574
 #, c-format
 msgid ""
 "\n"
@@ -5618,7 +5765,7 @@ msgstr ""
 "        vom Inhalt trennt. Benutzen Sie ein ',' um mehrere Newsgruppen\n"
 "        anzugeben\n"
 
-#: src/lang.c:1530
+#: src/lang.c:1579
 #, c-format
 msgid ""
 "\n"
@@ -5631,7 +5778,7 @@ msgstr ""
 "        Da diese Zeile keinen leeren Raum enthalten darf, ist dies nicht\n"
 "        erlaubt. Bitte schreiben Sie alle Newsgruppen in eine Zeile\n"
 
-#: src/lang.c:1535
+#: src/lang.c:1584
 #, c-format
 msgid ""
 "\n"
@@ -5644,7 +5791,7 @@ msgstr ""
 "         Da diese Zeile keinen leeren Raum enthalten darf, ist dies nicht\n"
 "         erlaubt. Bitte schreiben Sie alle Newsgruppen in eine Zeile.\n"
 
-#: src/lang.c:1539
+#: src/lang.c:1588
 #, c-format
 msgid ""
 "\n"
@@ -5654,7 +5801,7 @@ msgstr ""
 "Warnung: Die \"%s:\" Zeile enthÃ¤lt Leerzeichen die entfernt\n"
 "         werden sollten.\n"
 
-#: src/lang.c:1544
+#: src/lang.c:1593
 msgid ""
 "\n"
 "  If your article contains quoted text  please take some time to pare it "
@@ -5689,40 +5836,40 @@ msgstr ""
 "  Artikel nicht sorgfÃ¤ltig formatieren, ist es sehr wahrscheinlich, dass er\n"
 "  von vielen gar nicht gelesen wird.\n"
 
-#: src/lang.c:1557
+#: src/lang.c:1606
 msgid "shell escape"
 msgstr "Ausgang zur Shell"
 
-#: src/lang.c:1558
+#: src/lang.c:1607
 #, c-format
 msgid "Shell Command (%s)"
 msgstr "Shellkommando (%s)"
 
-#: src/lang.c:1559
+#: src/lang.c:1608
 #, c-format
 msgid "Enter shell command [%s]> "
 msgstr "Geben Sie ein Shellkommando ein [%s]> "
 
-#: src/lang.c:1563
+#: src/lang.c:1612
 #, c-format
 msgid "%s: Can't get entry for TERM\n"
 msgstr "%s: Kann den Wert fÃ¼r TERM nicht finden\n"
 
-#: src/lang.c:1567
+#: src/lang.c:1616
 #, c-format
 msgid "Group %.*s ('q' to quit)..."
 msgstr "Gruppe %.*s ('q' zum beenden)..."
 
-#: src/lang.c:1569
+#: src/lang.c:1618
 #, c-format
 msgid "Group %.*s..."
 msgstr "Gruppe %.*s..."
 
-#: src/lang.c:1573
+#: src/lang.c:1622
 msgid "Server unavailable\n"
 msgstr "Server nicht erreichbar\n"
 
-#: src/lang.c:1579
+#: src/lang.c:1628
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
@@ -5731,7 +5878,7 @@ msgstr ""
 "%s=Pipe; %s=Mail; %s=Drucken; %s=Ende; %s=Alle/Nur ungel.; %s=Speich.; "
 "%s=tag; %s=Posten"
 
-#: src/lang.c:1580
+#: src/lang.c:1629
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
@@ -5739,7 +5886,7 @@ msgstr ""
 "%s=Pipe; %s=Mail; %s=Drucken; %s=Ende; %s=Antw. Mail; %s=Speich.; %s=tag; "
 "%s=Posten"
 
-#: src/lang.c:1582
+#: src/lang.c:1631
 #, c-format
 msgid ""
 "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
@@ -5747,540 +5894,540 @@ msgstr ""
 "%s=Mail; %s=Drucken; %s=Ende; %s=Alle/Nur ungel.; %s=Speich.; %s=tag; "
 "%s=Posten"
 
-#: src/lang.c:1583
+#: src/lang.c:1632
 #, c-format
 msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=Mail; %s=Drucken; %s=Ende; %s=Antw. Mail; %s=Speich.; %s=tag; %s=Posten"
 
-#: src/lang.c:1587
+#: src/lang.c:1636
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=Pipe; %s=Mail; %s=Ende; %s=Alle/Nur ungel.; %s=Speich.; %s=tag; %s=Posten"
 
-#: src/lang.c:1588
+#: src/lang.c:1637
 #, c-format
 msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=Pipe; %s=Mail; %s=Ende; %s=Antw. Mail; %s=Speich.; %s=tag; %s=Posten"
 
-#: src/lang.c:1590
+#: src/lang.c:1639
 #, c-format
 msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr "%s=Mail; %s=Ende; %s=Alle/Nur ungel.; %s=Speich.; %s=tag; %s=Posten"
 
-#: src/lang.c:1591
+#: src/lang.c:1640
 #, c-format
 msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr "%s=Mail; %s=Ende; %s=Antw. Mail; %s=Speich.; %s=tag; %s=Posten"
 
-#: src/lang.c:1597
+#: src/lang.c:1646
 msgid "Terminal does not support color"
 msgstr "Terminal unterstÃ¼tzt keine Farben"
 
-#: src/lang.c:1602
+#: src/lang.c:1651
 #, c-format
 msgid "Trying %s"
 msgstr "Versuche %s"
 
-#: src/lang.c:1617
+#: src/lang.c:1666
 msgid "Subject"
 msgstr "Subject"
 
-#: src/lang.c:1618
+#: src/lang.c:1667
 msgid "References"
 msgstr "References"
 
-#: src/lang.c:1619
+#: src/lang.c:1668
 msgid "Both Subject and References"
 msgstr "Beides: Subject und References"
 
-#: src/lang.c:1620
+#: src/lang.c:1669
 msgid "Multipart Subject"
 msgstr "Mehrteilige Artikel (Subject)"
 
-#: src/lang.c:1621
+#: src/lang.c:1670
 msgid "Percentage Match"
 msgstr "Prozentualer Treffer"
 
-#: src/lang.c:1634 src/lang.c:1725 src/lang.c:1824 src/lang.c:1927
+#: src/lang.c:1683 src/lang.c:1774 src/lang.c:1880 src/lang.c:1983
 msgid "No"
 msgstr "Nein"
 
-#: src/lang.c:1635 src/lang.c:1826
+#: src/lang.c:1684 src/lang.c:1882
 msgid "Yes"
 msgstr "Ja"
 
-#: src/lang.c:1636
+#: src/lang.c:1685
 msgid "Hide all"
 msgstr "Alle ausblenden"
 
-#: src/lang.c:1645
+#: src/lang.c:1694
 msgid "Address"
 msgstr "Adresse"
 
-#: src/lang.c:1646
+#: src/lang.c:1695
 msgid "Full Name"
 msgstr "Voller Name"
 
-#: src/lang.c:1647
+#: src/lang.c:1696
 msgid "Address and Name"
 msgstr "Adresse und Name"
 
-#: src/lang.c:1655
+#: src/lang.c:1704
 msgid "Max"
 msgstr "HÃ¶chster"
 
-#: src/lang.c:1656
+#: src/lang.c:1705
 msgid "Sum"
 msgstr "Summe"
 
-#: src/lang.c:1657
+#: src/lang.c:1706
 msgid "Average"
 msgstr "Durchschnitt"
 
-#: src/lang.c:1667 src/lang.c:1687
+#: src/lang.c:1716 src/lang.c:1736
 msgid "Black"
 msgstr "Schwarz"
 
-#: src/lang.c:1668 src/lang.c:1688
+#: src/lang.c:1717 src/lang.c:1737
 msgid "Red"
 msgstr "Rot"
 
-#: src/lang.c:1669 src/lang.c:1689
+#: src/lang.c:1718 src/lang.c:1738
 msgid "Green"
 msgstr "GrÃ¼n"
 
-#: src/lang.c:1670 src/lang.c:1690
+#: src/lang.c:1719 src/lang.c:1739
 msgid "Brown"
 msgstr "Braun"
 
-#: src/lang.c:1671 src/lang.c:1691
+#: src/lang.c:1720 src/lang.c:1740
 msgid "Blue"
 msgstr "Blau"
 
-#: src/lang.c:1672 src/lang.c:1692
+#: src/lang.c:1721 src/lang.c:1741
 msgid "Pink"
 msgstr "Rosa"
 
-#: src/lang.c:1673 src/lang.c:1693
+#: src/lang.c:1722 src/lang.c:1742
 msgid "Cyan"
 msgstr "Cyan"
 
-#: src/lang.c:1674 src/lang.c:1694
+#: src/lang.c:1723 src/lang.c:1743
 msgid "White"
 msgstr "WeiÃŸ"
 
-#: src/lang.c:1675
+#: src/lang.c:1724
 msgid "Gray"
 msgstr "Grau"
 
-#: src/lang.c:1676
+#: src/lang.c:1725
 msgid "Light Red"
 msgstr "Helles Rot"
 
-#: src/lang.c:1677
+#: src/lang.c:1726
 msgid "Light Green"
 msgstr "Helles GrÃ¼n"
 
-#: src/lang.c:1678
+#: src/lang.c:1727
 msgid "Yellow"
 msgstr "Gelb"
 
-#: src/lang.c:1679
+#: src/lang.c:1728
 msgid "Light Blue"
 msgstr "Helles Blau"
 
-#: src/lang.c:1680
+#: src/lang.c:1729
 msgid "Light Pink"
 msgstr "Helles Rosa"
 
-#: src/lang.c:1681
+#: src/lang.c:1730
 msgid "Light Cyan"
 msgstr "Helles Cyan"
 
-#: src/lang.c:1682
+#: src/lang.c:1731
 msgid "Light White"
 msgstr "Helles WeiÃŸ"
 
-#: src/lang.c:1703 src/lang.c:1831 src/lang.c:1846
+#: src/lang.c:1752 src/lang.c:1887 src/lang.c:1902
 msgid "Nothing"
 msgstr "Nichts"
 
-#: src/lang.c:1705
+#: src/lang.c:1754
 msgid "Space"
 msgstr "Leerzeichen"
 
-#: src/lang.c:1713
+#: src/lang.c:1762
 msgid "Normal"
 msgstr "Normal"
 
-#: src/lang.c:1714
+#: src/lang.c:1763
 msgid "Best highlighting"
 msgstr "Beste Hervorhebung"
 
-#: src/lang.c:1715
+#: src/lang.c:1764
 msgid "Underline"
 msgstr "Unterstreichen"
 
-#: src/lang.c:1716
+#: src/lang.c:1765
 msgid "Reverse video"
 msgstr "Invers"
 
-#: src/lang.c:1717
+#: src/lang.c:1766
 msgid "Blinking"
 msgstr "Blinkend"
 
-#: src/lang.c:1718
+#: src/lang.c:1767
 msgid "Half bright"
 msgstr "Halbe Helligkeit"
 
-#: src/lang.c:1719
+#: src/lang.c:1768
 msgid "Bold"
 msgstr "Fett"
 
-#: src/lang.c:1726
+#: src/lang.c:1775
 msgid "Cc"
 msgstr "Cc"
 
-#: src/lang.c:1727
+#: src/lang.c:1776
 msgid "Bcc"
 msgstr "Bcc"
 
-#: src/lang.c:1728
+#: src/lang.c:1777
 msgid "Cc and Bcc"
 msgstr "Cc und Bcc"
 
-#: src/lang.c:1745 src/lang.c:1758
+#: src/lang.c:1794 src/lang.c:1807
 msgid "none"
 msgstr "Nichts"
 
-#: src/lang.c:1746
+#: src/lang.c:1795
 msgid "commands"
 msgstr "Kommandos"
 
-#: src/lang.c:1747
+#: src/lang.c:1796
 msgid "select"
 msgstr "X-Befehl"
 
-#: src/lang.c:1749
+#: src/lang.c:1798
 msgid "commands & quit"
 msgstr "Kommandos & Ende"
 
-#: src/lang.c:1750
+#: src/lang.c:1799
 msgid "commands & select"
 msgstr "Kommandos & X-Befehl"
 
-#: src/lang.c:1751
+#: src/lang.c:1800
 msgid "quit & select"
 msgstr "Ende & X-Befehl"
 
-#: src/lang.c:1752
+#: src/lang.c:1801
 msgid "commands & quit & select"
 msgstr "Kmndos & Ende & X-Befehl"
 
-#: src/lang.c:1759
+#: src/lang.c:1808
 msgid "PageDown"
 msgstr "PageDown"
 
-#: src/lang.c:1760
+#: src/lang.c:1809
 msgid "PageNextUnread"
 msgstr "PageNextUnread"
 
-#: src/lang.c:1761
+#: src/lang.c:1810
 msgid "PageDown or PageNextUnread"
 msgstr "PageDown oder PageNextUnread"
 
-#: src/lang.c:1767
+#: src/lang.c:1816
 msgid "Subject: (case sensitive)"
 msgstr "Subject: Zeile (GroÃŸ-Kl. beachten)           "
 
-#: src/lang.c:1768
+#: src/lang.c:1817
 msgid "Subject: (ignore case)"
 msgstr "Subject: Zeile (GroÃŸ-Kl. ignorieren)         "
 
-#: src/lang.c:1769
+#: src/lang.c:1818
 msgid "From: (case sensitive)"
 msgstr "From: Zeile (GroÃŸ- Kleinschreibung beachten) "
 
-#: src/lang.c:1770
+#: src/lang.c:1819
 msgid "From: (ignore case)"
 msgstr "From: Zeile (ignoriere GroÃŸ- Kleinschreibung)"
 
-#: src/lang.c:1771
+#: src/lang.c:1820
 msgid "Msg-ID: & full References: line"
 msgstr "Message-ID: & References:     "
 
-#: src/lang.c:1772
+#: src/lang.c:1821
 msgid "Msg-ID: & last References: only"
 msgstr "Message-ID: & letzte Reference"
 
-#: src/lang.c:1773
+#: src/lang.c:1822
 msgid "Message-ID: entry only"
 msgstr "Message-ID: allein            "
 
-#: src/lang.c:1774
+#: src/lang.c:1823
 msgid "Lines:"
 msgstr "Zeilen:"
 
-#: src/lang.c:1780
+#: src/lang.c:1829
 msgid "Don't trim article body"
 msgstr "Artikelrumpf nicht anpassen"
 
-#: src/lang.c:1781
+#: src/lang.c:1830
 msgid "Skip leading blank lines"
 msgstr "FÃ¼hrende Leerzeilen Ã¼berspringen"
 
-#: src/lang.c:1782
+#: src/lang.c:1831
 msgid "Skip trailing blank lines"
 msgstr "AbschlieÃŸende Leerzeilen Ã¼berspr."
 
-#: src/lang.c:1783
+#: src/lang.c:1832
 msgid "Skip leading and trailing blank l."
 msgstr "FÃ¼hr. & abschlies. Leerz. Ã¼berspr."
 
-#: src/lang.c:1784
+#: src/lang.c:1833
 msgid "Compact multiple between text"
 msgstr "Mehrere zwischen TextblÃ¶cken zusammenfassen"
 
-#: src/lang.c:1785
+#: src/lang.c:1834
 msgid "Compact multiple and skip leading"
 msgstr ""
 "Mehrere zwischen Textbl. zusammenfassen + fÃ¼hrende Leerzeilen Ã¼berspringen"
 
-#: src/lang.c:1786
+#: src/lang.c:1835
 msgid "Compact multiple and skip trailing"
 msgstr ""
 "Mehrere zwischen Textbl. zusammenfassen + abschlieÃŸende Leerz. Ã¼berspringen"
 
-#: src/lang.c:1787
+#: src/lang.c:1836
 msgid "Compact mltpl., skip lead. & trai."
 msgstr ""
 "Mehrere zwischen Textbl. zusammenf. + fÃ¼hrende/abschlieÃŸende Leerz. Ã¼berspr."
 
-#: src/lang.c:1793
+#: src/lang.c:1842
 msgid "Don't show help or mail sign"
 msgstr "Kein Hilfe- oder Mailanzeige"
 
-#: src/lang.c:1794
+#: src/lang.c:1843
 msgid "Show only help sign"
 msgstr "Nur Hilfe anzeigen"
 
-#: src/lang.c:1795
+#: src/lang.c:1844
 msgid "Show only mail sign if new mail"
 msgstr "Nur Mailanzeige falls neue Mail"
 
-#: src/lang.c:1796
+#: src/lang.c:1845
 msgid "Show mail if new mail else help s."
 msgstr "Mailanz. falls neue sonst Hilfe"
 
-#: src/lang.c:1825
+#: src/lang.c:1881
 msgid "Shell archive"
 msgstr "Shellarchiv"
 
-#: src/lang.c:1832
+#: src/lang.c:1888
 msgid "Subject: (descending)"
 msgstr "Subject: (Absteigend)"
 
-#: src/lang.c:1833
+#: src/lang.c:1889
 msgid "Subject: (ascending)"
 msgstr "Subject: (Aufsteigend)"
 
-#: src/lang.c:1834
+#: src/lang.c:1890
 msgid "From: (descending)"
 msgstr "From: (Absteigend)"
 
-#: src/lang.c:1835
+#: src/lang.c:1891
 msgid "From: (ascending)"
 msgstr "From: (Aufsteigend)"
 
-#: src/lang.c:1836
+#: src/lang.c:1892
 msgid "Date: (descending)"
 msgstr "Date: (Absteigend)"
 
-#: src/lang.c:1837
+#: src/lang.c:1893
 msgid "Date: (ascending)"
 msgstr "Date: (Aufsteigend)"
 
-#: src/lang.c:1838 src/lang.c:1847
+#: src/lang.c:1894 src/lang.c:1903
 msgid "Score (descending)"
 msgstr "Bewertung (Absteigend)"
 
-#: src/lang.c:1839 src/lang.c:1848
+#: src/lang.c:1895 src/lang.c:1904
 msgid "Score (ascending)"
 msgstr "Bewertung (Aufsteigend)"
 
-#: src/lang.c:1840
+#: src/lang.c:1896
 msgid "Lines: (descending)"
 msgstr "Lines: (Absteigend)"
 
-#: src/lang.c:1841
+#: src/lang.c:1897
 msgid "Lines: (ascending)"
 msgstr "Lines: (Aufsteigend)"
 
-#: src/lang.c:1849
+#: src/lang.c:1905
 msgid "Last posting date (descending)"
 msgstr "Datum des letzten Artikels (Absteigend)"
 
-#: src/lang.c:1850
+#: src/lang.c:1906
 msgid "Last posting date (ascending)"
 msgstr "Datum des letzten Artikels (Aufsteigend)"
 
-#: src/lang.c:1856
+#: src/lang.c:1912
 msgid "Quick-sort"
 msgstr "Quicksort"
 
-#: src/lang.c:1857
+#: src/lang.c:1913
 msgid "Heap-sort"
 msgstr "Heapsort"
 
-#: src/lang.c:1864
+#: src/lang.c:1920
 msgid "Always Keep"
 msgstr "Immer behalten"
 
-#: src/lang.c:1865
+#: src/lang.c:1921
 msgid "Always Remove"
 msgstr "Immer entfernen"
 
-#: src/lang.c:1866
+#: src/lang.c:1922
 msgid "Mark with D on selection screen"
 msgstr "Mit D in der Anzeige markiert"
 
-#: src/lang.c:1872
+#: src/lang.c:1928
 msgid "Kill only unread arts"
 msgstr "Killt nur ungelesene Artikel"
 
-#: src/lang.c:1873
+#: src/lang.c:1929
 msgid "Kill all arts & show with K"
 msgstr "Killt alle Artikel, markiert mit K"
 
 #. TODO: s/K/art_marked_killed/
-#: src/lang.c:1874
+#: src/lang.c:1930
 msgid "Kill all arts and never show"
 msgstr "Killt alle Artikel, zeigt sie nie"
 
-#: src/lang.c:1880
+#: src/lang.c:1936
 msgid "Nothing special"
 msgstr "Nichts besonderes"
 
-#: src/lang.c:1881
+#: src/lang.c:1937
 msgid "Compress quotes"
 msgstr "Zitatzeichen zusammenfassen"
 
-#: src/lang.c:1882
+#: src/lang.c:1938
 msgid "Quote signatures"
 msgstr "Signaturen zitieren"
 
-#: src/lang.c:1883
+#: src/lang.c:1939
 msgid "Compress quotes, quote sigs"
 msgstr "Zitatz. kÃ¼rzen, Signat. zitieren"
 
-#: src/lang.c:1884
+#: src/lang.c:1940
 msgid "Quote empty lines"
 msgstr "Leerzeilen zitieren"
 
-#: src/lang.c:1885
+#: src/lang.c:1941
 msgid "Compress quotes, quote empty lines"
 msgstr "Zitatz. kÃ¼rzen, Leerzeilen zit."
 
-#: src/lang.c:1886
+#: src/lang.c:1942
 msgid "Quote sigs & empty lines"
 msgstr "Signat. und Leerzeilen zitieren"
 
-#: src/lang.c:1887
+#: src/lang.c:1943
 msgid "Comp. q., quote sigs & empty lines"
 msgstr "Zitatz. kÃ¼rzen, Sign & Leerz. zit."
 
-#: src/lang.c:1928
+#: src/lang.c:1984
 msgid "With headers"
 msgstr "Mit Header"
 
-#: src/lang.c:1929
+#: src/lang.c:1985
 msgid "Without headers"
 msgstr "Ohne Header"
 
-#: src/lang.c:1936
+#: src/lang.c:1992
 msgid "NFKC"
 msgstr "NFKC"
 
-#: src/lang.c:1938
+#: src/lang.c:1994
 msgid "NFKD"
 msgstr "NFKD"
 
-#: src/lang.c:1939
+#: src/lang.c:1995
 msgid "NFC"
 msgstr "NFC"
 
-#: src/lang.c:1940
+#: src/lang.c:1996
 msgid "NFD"
 msgstr "NFD"
 
-#: src/lang.c:1942
+#: src/lang.c:1998
 msgid "NFKC case fold"
 msgstr "NFKC GroÃŸ-/Kleinschreibung Zusammenlegen"
 
-#: src/lang.c:1951
+#: src/lang.c:2007
 msgid "Display Options"
 msgstr "Darstellungseinstellungen"
 
-#: src/lang.c:1958
+#: src/lang.c:2014
 msgid "Color Options"
 msgstr "Farbeinstellungen"
 
-#: src/lang.c:1964
+#: src/lang.c:2020
 msgid "Highlight Options"
 msgstr "Hervorhebungseinstellungen"
 
-#: src/lang.c:1971
+#: src/lang.c:2027
 msgid "Article-Limiting Options"
 msgstr "Artikel-Begrenzungseinstellungen"
 
-#: src/lang.c:1977
+#: src/lang.c:2033
 msgid "Posting/Mailing Options"
 msgstr "Versandeinstellungen fÃ¼r Mail und News"
 
-#: src/lang.c:1983
+#: src/lang.c:2039
 msgid "Saving/Printing Options"
 msgstr "Speicher- und Druckereinstellungen"
 
-#: src/lang.c:1989
+#: src/lang.c:2045
 msgid "Expert Options"
 msgstr "Experteneinstellungen"
 
-#: src/lang.c:1995
+#: src/lang.c:2051
 msgid "Filtering Options"
 msgstr "Filtereinstellungen"
 
-#: src/lang.c:2000 src/lang.c:2031 src/lang.c:2037 src/lang.c:2064
-#: src/lang.c:2116 src/lang.c:2122 src/lang.c:2132 src/lang.c:2143
-#: src/lang.c:2161 src/lang.c:2172 src/lang.c:2241 src/lang.c:2456
-#: src/lang.c:2462 src/lang.c:2468 src/lang.c:2483 src/lang.c:2495
-#: src/lang.c:2502 src/lang.c:2556 src/lang.c:2565 src/lang.c:2571
-#: src/lang.c:2578 src/lang.c:2585 src/lang.c:2592 src/lang.c:2599
-#: src/lang.c:2606 src/lang.c:2613 src/lang.c:2620 src/lang.c:2627
+#: src/lang.c:2056 src/lang.c:2087 src/lang.c:2093 src/lang.c:2120
+#: src/lang.c:2172 src/lang.c:2178 src/lang.c:2188 src/lang.c:2199
+#: src/lang.c:2217 src/lang.c:2228 src/lang.c:2297 src/lang.c:2512
+#: src/lang.c:2518 src/lang.c:2524 src/lang.c:2539 src/lang.c:2551
+#: src/lang.c:2558 src/lang.c:2612 src/lang.c:2621 src/lang.c:2627
 #: src/lang.c:2634 src/lang.c:2641 src/lang.c:2648 src/lang.c:2655
 #: src/lang.c:2662 src/lang.c:2669 src/lang.c:2676 src/lang.c:2683
 #: src/lang.c:2690 src/lang.c:2697 src/lang.c:2704 src/lang.c:2711
 #: src/lang.c:2718 src/lang.c:2725 src/lang.c:2732 src/lang.c:2739
-#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2761 src/lang.c:2777
-#: src/lang.c:2784 src/lang.c:2791 src/lang.c:2798 src/lang.c:2804
-#: src/lang.c:2810 src/lang.c:2827 src/lang.c:2839 src/lang.c:2874
-#: src/lang.c:2927 src/lang.c:2941 src/lang.c:2947 src/lang.c:2972
-#: src/lang.c:2990 src/lang.c:3007 src/lang.c:3019 src/lang.c:3052
-#: src/lang.c:3081 src/lang.c:3101 src/lang.c:3129 src/lang.c:3139
-#: src/lang.c:3146 src/lang.c:3172 src/lang.c:3196 src/lang.c:3343
-#: src/lang.c:3358 src/lang.c:3366 src/lang.c:3380 src/lang.c:3386
-#: src/lang.c:3424
+#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2760 src/lang.c:2767
+#: src/lang.c:2774 src/lang.c:2781 src/lang.c:2788 src/lang.c:2795
+#: src/lang.c:2802 src/lang.c:2809 src/lang.c:2817 src/lang.c:2833
+#: src/lang.c:2840 src/lang.c:2847 src/lang.c:2854 src/lang.c:2860
+#: src/lang.c:2866 src/lang.c:2889 src/lang.c:2901 src/lang.c:2936
+#: src/lang.c:2989 src/lang.c:3003 src/lang.c:3009 src/lang.c:3034
+#: src/lang.c:3052 src/lang.c:3069 src/lang.c:3081 src/lang.c:3114
+#: src/lang.c:3143 src/lang.c:3163 src/lang.c:3190 src/lang.c:3200
+#: src/lang.c:3207 src/lang.c:3233 src/lang.c:3257 src/lang.c:3412
+#: src/lang.c:3427 src/lang.c:3435 src/lang.c:3449 src/lang.c:3455
+#: src/lang.c:3493
 msgid "<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr "<SPACE> wechselt, <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:2001
+#: src/lang.c:2057
 msgid "Show mini menu & posting etiquette"
 msgstr "Zeigt MinimenÃ¼ & Posting Etikette"
 
-#: src/lang.c:2002
+#: src/lang.c:2058
 msgid ""
 "# If ON show a mini menu of useful commands at each level\n"
 "# and posting etiquette after composing an article\n"
@@ -6288,15 +6435,15 @@ msgstr ""
 "# Falls ON wird ein kleines MenÃ¼ mit nÃ¼tzlichen Kommandos in jedem Level\n"
 "# angezeigt. Nach dem Erstellen eines Artikels wird die Etikette angezeigt\n"
 
-#: src/lang.c:2007
+#: src/lang.c:2063
 msgid "Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 msgstr "Zeige Kurzbeschreibung fÃ¼r Gruppe. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2008
+#: src/lang.c:2064
 msgid "Show description of each newsgroup"
 msgstr "Zeige Beschreibung der Newsgruppen"
 
-#: src/lang.c:2009
+#: src/lang.c:2065
 msgid ""
 "# If ON show group description text after newsgroup name at\n"
 "# group selection level\n"
@@ -6304,7 +6451,7 @@ msgstr ""
 "# Falls ON wird die Newsgruppenbeschreibung in der Gruppenauswahl-Ebene\n"
 "# nach dem Gruppennamen angezeigt\n"
 
-#: src/lang.c:2014
+#: src/lang.c:2070
 msgid ""
 "Show From (author) fields in group & thread level. <SPACE> toggles & <CR> "
 "sets."
@@ -6312,11 +6459,11 @@ msgstr ""
 "Zeigt From (Autor) Feld im Gruppen- und Threadlevel. <SPACE> wechselt & <CR> "
 "setzt."
 
-#: src/lang.c:2015
+#: src/lang.c:2071
 msgid "In group and thread level, show author by"
 msgstr "Zeige Autor im Gruppen- und Threadlevel mit an"
 
-#: src/lang.c:2016
+#: src/lang.c:2072
 msgid ""
 "# Part of From field to display in group and thread level\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6332,33 +6479,33 @@ msgstr ""
 "# * 2 = Voller Name\n"
 "#   3 = beides (Adresse und Name)\n"
 
-#: src/lang.c:2025
+#: src/lang.c:2081
 msgid "Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 msgstr "Zeige -> oder Hervorhebung fÃ¼r Auswahl. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2026
+#: src/lang.c:2082
 msgid "Draw -> instead of highlighted bar"
 msgstr "Zeige -> anstatt einer Markierung"
 
-#: src/lang.c:2027
+#: src/lang.c:2083
 msgid "# If ON use -> otherwise highlighted bar for selection\n"
 msgstr ""
 "# Falls ON benutze -> andernfalls benutze eine Markierung zur Auswahl\n"
 
-#: src/lang.c:2032
+#: src/lang.c:2088
 msgid "Use inverse video for page headers"
 msgstr "Inverse Darstellung fÃ¼r die Header"
 
-#: src/lang.c:2033
+#: src/lang.c:2089
 msgid "# If ON use inverse video for page headers at different levels\n"
 msgstr ""
 "# Falls ON nutze inverse Darstellung fÃ¼r Header bei verschiedenen Ebenen\n"
 
-#: src/lang.c:2038
+#: src/lang.c:2094
 msgid "Thread articles by"
 msgstr "Threade Artikel anhand"
 
-#: src/lang.c:2039
+#: src/lang.c:2095
 msgid ""
 "# Thread articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6378,15 +6525,15 @@ msgstr ""
 "#   4 = Mehrteilige Artikel\n"
 "#   5 = prozentualer Subject Vergleich\n"
 
-#: src/lang.c:2050
+#: src/lang.c:2106
 msgid "Enter percentage match required to thread together. <CR> sets."
 msgstr "Prozent des Subject das gleich sein muss. <CR> setzt."
 
-#: src/lang.c:2051
+#: src/lang.c:2107
 msgid "Thread percentage match"
 msgstr "Prozentualer Subject Vergleich"
 
-#: src/lang.c:2053
+#: src/lang.c:2109
 #, no-c-format
 msgid ""
 "# Thread percentage match...\n"
@@ -6410,11 +6557,11 @@ msgstr ""
 "um\n"
 "# in den gleichen Thread sortiert zu werden.\n"
 
-#: src/lang.c:2065
+#: src/lang.c:2121
 msgid "Score of a thread"
 msgstr "Bewertung eines Threads"
 
-#: src/lang.c:2066
+#: src/lang.c:2122
 msgid ""
 "# Thread score\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6428,16 +6575,16 @@ msgstr ""
 "#   1 = Summe\n"
 "#   2 = Durchschnitt\n"
 
-#: src/lang.c:2074
+#: src/lang.c:2130
 msgid ""
 "Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 msgstr "Sortiere Artikel nach Subject, From, Datum oder Bewertung."
 
-#: src/lang.c:2075
+#: src/lang.c:2131
 msgid "Sort articles by"
 msgstr "Sortiere Artikel nach"
 
-#: src/lang.c:2076
+#: src/lang.c:2132
 msgid ""
 "# Sort articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6467,15 +6614,15 @@ msgstr ""
 "#   9 = Lines absteigend\n"
 "#  10 = Lines aufsteigend\n"
 
-#: src/lang.c:2092
+#: src/lang.c:2148
 msgid "Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 msgstr "Threads nach Bewertung (Score) ordnen? <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2093
+#: src/lang.c:2149
 msgid "Sort threads by"
 msgstr "Sortiere Threads nach"
 
-#: src/lang.c:2094
+#: src/lang.c:2150
 msgid ""
 "# Sort thread by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6493,46 +6640,46 @@ msgstr ""
 "#   3 = Datum des letzten Artikels (absteigend)\n"
 "#   4 = Datum des letzten Artikels (aufsteigend)\n"
 
-#: src/lang.c:2104
+#: src/lang.c:2160
 msgid ""
 "Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Setze Cursor an ersten/letzten ungel. Artikel. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2105
+#: src/lang.c:2161
 msgid "Go to first unread article in group"
 msgstr "Setze Cursor auf ersten ungel. Art."
 
-#: src/lang.c:2106
+#: src/lang.c:2162
 msgid "# If ON put cursor at first unread art in group otherwise last art\n"
 msgstr ""
 "# Falls ON setze Cursor auf ersten ungelesenen Artikel, sonst auf letzten\n"
 
-#: src/lang.c:2110
+#: src/lang.c:2166
 msgid "Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 msgstr "Zeige alle oder nur ungelesene Artikel. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2111
+#: src/lang.c:2167
 msgid "Show only unread articles"
 msgstr "Zeige nur ungelesene Artikel"
 
-#: src/lang.c:2112
+#: src/lang.c:2168
 msgid "# If ON show only new/unread articles otherwise show all.\n"
 msgstr "# Falls ON zeige nur neue/ungelesene Artikel, sonst alle.\n"
 
-#: src/lang.c:2117
+#: src/lang.c:2173
 msgid "Show only groups with unread arts"
 msgstr "Zeige nur Gruppen mit ungel. Art."
 
-#: src/lang.c:2118
+#: src/lang.c:2174
 msgid "# If ON show only subscribed to groups that contain unread articles.\n"
 msgstr "# Falls ON zeige nur abonnierte Gruppen mit ungelesen Artikeln.\n"
 
-#: src/lang.c:2123
+#: src/lang.c:2179
 msgid "Filter which articles"
 msgstr "Filter (kill) anwenden auf"
 
-#: src/lang.c:2124
+#: src/lang.c:2180
 msgid ""
 "# Filter which articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6546,11 +6693,11 @@ msgstr ""
 "#   1 = Filtert alle Artikel und markiert sie mit K\n"
 "#   2 = Filtert alle Artikel und zeigt gekillte niemals an\n"
 
-#: src/lang.c:2133
+#: src/lang.c:2189
 msgid "Go to the next unread article with"
 msgstr "Zum nÃ¤chsten ungelesenen Artikel springen mit"
 
-#: src/lang.c:2134
+#: src/lang.c:2190
 msgid ""
 "# Go to the unread article with following key(s)\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6566,11 +6713,11 @@ msgstr ""
 "# * 2 = TAB\n"
 "#   3 = PAGE DOWN oder TAB\n"
 
-#: src/lang.c:2144
+#: src/lang.c:2200
 msgid "How to treat blank lines"
 msgstr "Wie mit Leerzeilen umgegangen werden soll"
 
-#: src/lang.c:2145
+#: src/lang.c:2201
 msgid ""
 "# Trim the article body, remove unnecessary blank lines.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6600,11 +6747,11 @@ msgstr ""
 "#   7 = Leerzeilen zwischen TextblÃ¶cken zusammenfassen und\n"
 "#       fÃ¼hrende sowie abschlieÃŸende Leerzeilen Ã¼berspringen\n"
 
-#: src/lang.c:2162
+#: src/lang.c:2218
 msgid "Show help/mail sign in level titles"
 msgstr "Hilfe/Mail im Ebenen-Titel anzeigen"
 
-#: src/lang.c:2163
+#: src/lang.c:2219
 msgid ""
 "# Show help sign, new mail sign, both or nothing in level titles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6622,26 +6769,26 @@ msgstr ""
 "# * 3 = Mail-Zeichen anzeigen, wenn neue Mails eingetroffen sind, sonst\n"
 "#       Hilfe-Zeichen anzeigen\n"
 
-#: src/lang.c:2173
+#: src/lang.c:2229
 msgid "List thread using right arrow key"
 msgstr "Zeige Thread mit rechter Pfeilt. an"
 
-#: src/lang.c:2174
+#: src/lang.c:2230
 msgid ""
 "# If ON automatically list thread when entering it using right arrow key.\n"
 msgstr ""
 "# Falls ON: Thread beim Betreten mit der rechten Cursortaste automatisch\n"
 "# anzeigen?\n"
 
-#: src/lang.c:2178
+#: src/lang.c:2234
 msgid "Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 msgstr "Definiere Zeichen fÃ¼r gelÃ¶schte Artikel. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:2179
+#: src/lang.c:2235
 msgid "Character to show deleted articles"
 msgstr "Zeichen fÃ¼r gelÃ¶schte Artikel"
 
-#: src/lang.c:2180
+#: src/lang.c:2236
 msgid ""
 "# Character used to show that an art was deleted (default 'D')\n"
 "# _ is turned into ' '\n"
@@ -6649,18 +6796,18 @@ msgstr ""
 "# Zeichen fÃ¼r einen Artikel, der gelÃ¶scht wurde (Voreinstellung 'D')\n"
 "# _ wird in ' ' umgewandelt\n"
 
-#: src/lang.c:2185
+#: src/lang.c:2241
 msgid ""
 "Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 msgstr ""
 "Definiere Zeichen, das Artikel im Bereich anzeigt.<CR> setzt, <ESC> bricht "
 "ab."
 
-#: src/lang.c:2186
+#: src/lang.c:2242
 msgid "Character to show inrange articles"
 msgstr "Zeichen fÃ¼r Artikel im Bereich"
 
-#: src/lang.c:2187
+#: src/lang.c:2243
 msgid ""
 "# Character used to show that an art is in a range (default '#')\n"
 "# _ is turned into ' '\n"
@@ -6668,17 +6815,17 @@ msgstr ""
 "# Zeichen fÃ¼r Artikel die im Bereich sind (Voreinstellung '#')\n"
 "# _ wird in ' ' umgewandelt\n"
 
-#: src/lang.c:2192
+#: src/lang.c:2248
 msgid ""
 "Enter character to indicate that article will return. <CR> sets, <ESC> "
 "cancels."
 msgstr "Definiere Zeichen fÃ¼r wiederkehrende Art. <CR> setzt. <ESC> bricht ab."
 
-#: src/lang.c:2193
+#: src/lang.c:2249
 msgid "Character to show returning arts"
 msgstr "Zeichen fÃ¼r wiederkehrende Artikel"
 
-#: src/lang.c:2194
+#: src/lang.c:2250
 msgid ""
 "# Character used to show that an art will return (default '-')\n"
 "# _ is turned into ' '\n"
@@ -6686,17 +6833,17 @@ msgstr ""
 "# Zeichen, dass ein Artikel wiederkommen wird (Voreinstellung '-')\n"
 "# _ wird in ' ' umgewandelt\n"
 
-#: src/lang.c:2199
+#: src/lang.c:2255
 msgid ""
 "Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Zeichen fÃ¼r Artikel mit Markierung wichtig/'hot' <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:2200
+#: src/lang.c:2256
 msgid "Character to show selected articles"
 msgstr "Zeichen fÃ¼r wichtige Artikel"
 
-#: src/lang.c:2201
+#: src/lang.c:2257
 msgid ""
 "# Character used to show that an art was auto-selected (default '*')\n"
 "# _ is turned into ' '\n"
@@ -6704,15 +6851,15 @@ msgstr ""
 "# Zeichen fÃ¼r Artikel mit Markierung wichtig/'hot' (Voreinstellung '*')\n"
 "# _ wird in ' ' umgewandelt\n"
 
-#: src/lang.c:2206
+#: src/lang.c:2262
 msgid "Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 msgstr "Definiere Zeichen fÃ¼r aktuelle Artikel. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:2207
+#: src/lang.c:2263
 msgid "Character to show recent articles"
 msgstr "Zeichen fÃ¼r aktuelle Artikel"
 
-#: src/lang.c:2208
+#: src/lang.c:2264
 msgid ""
 "# Character used to show that an art is recent (default 'o')\n"
 "# _ is turned into ' '\n"
@@ -6720,15 +6867,15 @@ msgstr ""
 "# Zeichen fÃ¼r einen aktuellen Artikel (Voreinstellung ist 'o')\n"
 "# _ wird in ' ' umgewandelt\n"
 
-#: src/lang.c:2213
+#: src/lang.c:2269
 msgid "Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 msgstr "Zeichen fÃ¼r ungelesene Artikel. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:2214
+#: src/lang.c:2270
 msgid "Character to show unread articles"
 msgstr "Zeichen fÃ¼r ungelesene Artikel"
 
-#: src/lang.c:2215
+#: src/lang.c:2271
 msgid ""
 "# Character used to show that an art is unread (default '+')\n"
 "# _ is turned into ' '\n"
@@ -6736,15 +6883,15 @@ msgstr ""
 "# Zeichen fÃ¼r ungelesene Artikel (Voreinstellung '+')\n"
 "# _ wird in ' ' umgewandelt\n"
 
-#: src/lang.c:2220
+#: src/lang.c:2276
 msgid "Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 msgstr "Zeichen fÃ¼r gelesene Artikel. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:2221
+#: src/lang.c:2277
 msgid "Character to show read articles"
 msgstr "Zeichen fÃ¼r gelesene Artikel"
 
-#: src/lang.c:2222
+#: src/lang.c:2278
 msgid ""
 "# Character used to show that an art was read (default ' ')\n"
 "# _ is turned into ' '\n"
@@ -6752,15 +6899,15 @@ msgstr ""
 "# Zeichen fÃ¼r gelesene Artikel (Voreinstellung ' ')\n"
 "# _ wird in ' ' umgewandelt\n"
 
-#: src/lang.c:2227
+#: src/lang.c:2283
 msgid "Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 msgstr "Zeichen fÃ¼r gekillte Artikel. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:2228
+#: src/lang.c:2284
 msgid "Character to show killed articles"
 msgstr "Zeichen fÃ¼r gekillte Artikel"
 
-#: src/lang.c:2229
+#: src/lang.c:2285
 msgid ""
 "# Character used to show that an art was killed (default 'K')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
@@ -6768,17 +6915,17 @@ msgstr ""
 "# Zeichen fÃ¼r gekillte Artikel (Voreinstellung 'K')\n"
 "# _ wird in ' ' umgewandelt, kill_level muss passend gesetzt sein.\n"
 
-#: src/lang.c:2234
+#: src/lang.c:2290
 msgid ""
 "Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Zeichen fÃ¼r gelesene wichtige/'hot' Artikel. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:2235
+#: src/lang.c:2291
 msgid "Character to show readselected arts"
 msgstr "Zeichen fÃ¼r gelesene wichtige Art."
 
-#: src/lang.c:2236
+#: src/lang.c:2292
 msgid ""
 "# Character used to show that an art was selected before read (default ':')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
@@ -6787,11 +6934,11 @@ msgstr ""
 "# (Voreinstellung ':')\n"
 "# _ wird in ' ' umgewandelt, kill_level muss passend gesetzt sein.\n"
 
-#: src/lang.c:2242
+#: src/lang.c:2298
 msgid "Abbreviate long newsgroup names"
 msgstr "Lange Newsgruppennamen abkÃ¼rzen"
 
-#: src/lang.c:2243
+#: src/lang.c:2299
 msgid ""
 "# If ON abbreviate (if necessary) long newsgroup names at group selection\n"
 "# level and article level like this:\n"
@@ -6800,7 +6947,7 @@ msgstr ""
 "# Falls ON: lange Newsgruppennamen in der Anzeige wie folgt kÃ¼rzen:\n"
 "#   news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n"
 
-#: src/lang.c:2249
+#: src/lang.c:2305
 msgid ""
 "0 = full page scrolling, -1 = show previous last line as first on next page, "
 "-2 = half page"
@@ -6808,11 +6955,11 @@ msgstr ""
 "0 = seitenweise, -1 = zeige zusÃ¤tzlich letzte Zeile der vorigen Seite, -2 = "
 "halbe Seite"
 
-#: src/lang.c:2250
+#: src/lang.c:2306
 msgid "Number of lines to scroll in pager"
 msgstr "BlÃ¤ttere Artikel um ... Zeilen"
 
-#: src/lang.c:2251
+#: src/lang.c:2307
 msgid ""
 "# Number of lines that cursor-up/down will scroll in article pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6831,52 +6978,52 @@ msgstr ""
 "# * 1 = zeilenweise\n"
 "#   2 oder mehr = um 2 oder mehr Zeilen\n"
 
-#: src/lang.c:2261
+#: src/lang.c:2317
 msgid "Display signatures. <SPACE> toggles & <CR> sets."
 msgstr "Zeige Signaturen an. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2262
+#: src/lang.c:2318
 msgid "Display signatures"
 msgstr "Zeige Signaturen an"
 
-#: src/lang.c:2263
+#: src/lang.c:2319
 msgid "# If OFF don't show signatures when displaying articles\n"
 msgstr "# Falls OFF zeige keine Signaturen an\n"
 
-#: src/lang.c:2267
+#: src/lang.c:2323
 msgid "Display article score. <SPACE> toggles & <CR> sets."
 msgstr "Zeige Bewertung an. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2268
-msgid "Display article score"
-msgstr "Zeige Artikelbewertung an"
+#: src/lang.c:2324
+msgid "Display article score in pager"
+msgstr "Zeige Artikelbewertung auch auf Artikelebene an"
 
-#: src/lang.c:2269
+#: src/lang.c:2325
 msgid "# If ON show article score when displaying articles\n"
 msgstr "# Falls ON wird wie Bewertung des Artikels mit angezeigt\n"
 
-#: src/lang.c:2274
+#: src/lang.c:2330
 msgid "Remove soft hyphens. <SPACE> toggles & <CR> sets."
 msgstr "Entferne weiche Bindestriche. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2275
+#: src/lang.c:2331
 msgid "Remove soft hyphens"
 msgstr "Weiche Bindestriche entfernen"
 
-#: src/lang.c:2276
+#: src/lang.c:2332
 msgid "# If ON remove soft hyphens when displaying articles\n"
 msgstr "# Falls ON werden weiche Bindestriche bei der Anzeige entfernt\n"
 
-#: src/lang.c:2281
+#: src/lang.c:2337
 msgid ""
 "Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 msgstr "Uu-kodierte Teile als Anhang anzeigen. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2282
+#: src/lang.c:2338
 msgid "Display uue data as an attachment"
 msgstr "Zeige uue-Teile als Anhang an"
 
-#: src/lang.c:2283
+#: src/lang.c:2339
 msgid ""
 "# Handling of uuencoded data in the pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6894,17 +7041,17 @@ msgstr ""
 "#       Ã¤hnlich der von MIME-AnhÃ¤ngen\n"
 "#   2 = Einzeilige Zusammenfassung auch fÃ¼r unvollstÃ¤ndige Daten\n"
 
-#: src/lang.c:2293
+#: src/lang.c:2349
 msgid ""
 "Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 msgstr ""
 "TeX german.sty Umlautkodierung auswerten. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2294
+#: src/lang.c:2350
 msgid "Display \"a as Umlaut-a"
 msgstr "Wandle TeX-Umlaute automatisch um"
 
-#: src/lang.c:2295
+#: src/lang.c:2351
 msgid ""
 "# If ON decode German style TeX umlaut codes to ISO and\n"
 "# show \"a as Umlaut-a, etc.\n"
@@ -6912,15 +7059,15 @@ msgstr ""
 "# Falls ON dekodiere laut german.sty (TeX) kodierte Umlaute und stelle\n"
 "# \"a als Ã¤, usw. dar\n"
 
-#: src/lang.c:2300 src/lang.c:2310
+#: src/lang.c:2356 src/lang.c:2366
 msgid "Space separated list of header fields"
 msgstr "Durch Leerzeichen getrennte Liste der Header-Felder"
 
-#: src/lang.c:2301
+#: src/lang.c:2357
 msgid "Display these header fields (or *)"
 msgstr "Zeige diese Header-Felder (oder *)"
 
-#: src/lang.c:2302
+#: src/lang.c:2358
 msgid ""
 "# Which news headers you wish to see. If you want to see _all_ the headers,\n"
 "# place an '*' as this value. This is the only way a wildcard can be used.\n"
@@ -6936,11 +7083,11 @@ msgstr ""
 "# Leerzeichen getrennte Werte angeben. Wenn Sie hier nichts definieren\n"
 "# wird diese Option deaktiviert.\n"
 
-#: src/lang.c:2311
+#: src/lang.c:2367
 msgid "Do not display these header fields"
 msgstr "Zeige folgende Header nicht an"
 
-#: src/lang.c:2312
+#: src/lang.c:2368
 msgid ""
 "# Same as 'news_headers_to_display' except it denotes the opposite.\n"
 "# An example of using both options might be if you thought X- headers were\n"
@@ -6959,44 +7106,44 @@ msgstr ""
 "# news_headers_to_not_display=X-Alan X-Pape\n"
 "# Wenn Sie hier nichts angeben, wird diese Option deaktiviert.\n"
 
-#: src/lang.c:2322
+#: src/lang.c:2378
 msgid ""
 "Do you want to enable automatic handling of multipart/alternative articles?"
 msgstr ""
 "Automatische Bearbeitung von Art. mit multipart/alternative-Teilen "
 "aktivieren?"
 
-#: src/lang.c:2323
+#: src/lang.c:2379
 msgid "Skip multipart/alternative parts"
 msgstr "Ãœbersp. multipart/alternative-Teile"
 
-#: src/lang.c:2324
+#: src/lang.c:2380
 msgid "# If ON strip multipart/alternative messages automatically\n"
 msgstr ""
 "# Falls ON entsorge multipart/alternative Teile des Artikels automatisch\n"
 
-#: src/lang.c:2328
+#: src/lang.c:2384
 msgid "Enable detection of verbatim blocks? <SPACE> toggles & <CR> sets."
 msgstr ""
 "Wortgetreue TextblÃ¶cke erkennen einschalten? <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2329
+#: src/lang.c:2385
 msgid "Detection of verbatim blocks"
 msgstr "Wortgetreue TextblÃ¶cke erkennen"
 
-#: src/lang.c:2330
+#: src/lang.c:2386
 msgid "# If ON detect verbatim blocks in articles\n"
 msgstr "# Falls ON werden wortgetreue TextblÃ¶cke in Artikeln erkannt\n"
 
-#: src/lang.c:2335
+#: src/lang.c:2391
 msgid "A regex used to decide which lines to show in col_quote."
 msgstr "RegulÃ¤rer Ausdruck fÃ¼r Zeilen, die mit col_quote dargestellt werden."
 
-#: src/lang.c:2336
+#: src/lang.c:2392
 msgid "Regex used to show quoted lines"
 msgstr "RegulÃ¤rer Ausd. fÃ¼r zit. Zeilen"
 
-#: src/lang.c:2337
+#: src/lang.c:2393
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
@@ -7007,15 +7154,15 @@ msgstr ""
 "# Farbe angezeigt, die in col_quote definiert sind.\n"
 "# Wenn Sie hier nichts angeben, werden die Voreinstellungen benutzt.\n"
 
-#: src/lang.c:2343
+#: src/lang.c:2399
 msgid "A regex used to decide which lines to show in col_quote2."
 msgstr "RegulÃ¤rer Ausdruck fÃ¼r Zeilen, die mit col_quote2 dargestellt werden."
 
-#: src/lang.c:2344
+#: src/lang.c:2400
 msgid "Regex used to show twice quoted l."
 msgstr "Reg. Ausd. fÃ¼r zweifach zitierte Z."
 
-#: src/lang.c:2345
+#: src/lang.c:2401
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted twice. Twice quoted lines are shown in col_quote2.\n"
@@ -7026,15 +7173,15 @@ msgstr ""
 "# Farbe dargestellt, die in col_quote2 definiert ist.\n"
 "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n"
 
-#: src/lang.c:2351
+#: src/lang.c:2407
 msgid "A regex used to decide which lines to show in col_quote3."
 msgstr "RegulÃ¤rer Ausdruck fÃ¼r Zeilen, die mit col_quote3 dargestellt werden."
 
-#: src/lang.c:2352
+#: src/lang.c:2408
 msgid "Regex used to show >= 3 times q.l."
 msgstr "Reg. Ausd. fÃ¼r >=3-fach zitierte Z."
 
-#: src/lang.c:2353
+#: src/lang.c:2409
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
@@ -7045,28 +7192,28 @@ msgstr ""
 "# dargestellt, die in col_quote3 definiert sind.\n"
 "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n"
 
-#: src/lang.c:2359
+#: src/lang.c:2415
 msgid "Enable detection of external quotes? <SPACE> toggles & <CR> sets."
 msgstr "Fremdzitate erkennen einschalten? <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2360
+#: src/lang.c:2416
 msgid "Detection of external quotes"
 msgstr "Fremdzitate erkennen"
 
-#: src/lang.c:2361
+#: src/lang.c:2417
 msgid "# If ON detect quoted text from external sources in articles\n"
 msgstr "# Falls ON werden Fremdzitate in Artikeln erkannt\n"
 
-#: src/lang.c:2365
+#: src/lang.c:2421
 msgid "A regex used to decide which lines to show in col_extquote."
 msgstr ""
 "RegulÃ¤rer Ausdruck fÃ¼r Zeilen, die mit col_extquote dargestellt werden."
 
-#: src/lang.c:2366
+#: src/lang.c:2422
 msgid "Regex used to show quotes from external sources"
 msgstr "RegulÃ¤rer Ausd. fÃ¼r Zeilen mit Fremdzitaten"
 
-#: src/lang.c:2367
+#: src/lang.c:2423
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# external quotes. Text from external quotes is shown in col_extquote.\n"
@@ -7077,16 +7224,16 @@ msgstr ""
 "# Farbe dargestellt, die in col_extquote definiert ist.\n"
 "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n"
 
-#: src/lang.c:2374
+#: src/lang.c:2430
 msgid "A regex used to decide which words to show in col_markslashes."
 msgstr ""
 "RegulÃ¤rer Ausdruck fÃ¼r Zeilen, die mit col_markslashes dargestellt werden."
 
-#: src/lang.c:2375
+#: src/lang.c:2431
 msgid "Regex used to highlight /slashes/"
 msgstr "Reg. fÃ¼r /SchrÃ¤gst./ Hervorhebungen"
 
-#: src/lang.c:2376
+#: src/lang.c:2432
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '/' are to be shown in col_markslashes.\n"
@@ -7096,16 +7243,16 @@ msgstr ""
 "# zwischen '/' in col_markslashes angezeigt werden.\n"
 "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n"
 
-#: src/lang.c:2382
+#: src/lang.c:2438
 msgid "A regex used to decide which words to show in col_markstars."
 msgstr ""
 "RegulÃ¤rer Ausdruck fÃ¼r Zeilen, die mit col_markstars dargestellt werden."
 
-#: src/lang.c:2383
+#: src/lang.c:2439
 msgid "Regex used to highlight *stars*"
 msgstr "Regu. A. fÃ¼r *Stern* Hervorhebungen"
 
-#: src/lang.c:2384
+#: src/lang.c:2440
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '*' are to be shown in col_markstars.\n"
@@ -7115,16 +7262,16 @@ msgstr ""
 "# zwischen '*' in col_markstars angezeigt werden.\n"
 "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n"
 
-#: src/lang.c:2390
+#: src/lang.c:2446
 msgid "A regex used to decide which words to show in col_markstroke."
 msgstr ""
 "RegulÃ¤rer Ausdruck fÃ¼r Zeilen, die mit col_markstroke dargestellt werden."
 
-#: src/lang.c:2391
+#: src/lang.c:2447
 msgid "Regex used to highlight -strokes-"
 msgstr "Reg. fÃ¼r -Durchstr.- Hervorhebungen"
 
-#: src/lang.c:2392
+#: src/lang.c:2448
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '-' are to be shown in col_markstroke.\n"
@@ -7134,16 +7281,16 @@ msgstr ""
 "# zwischen '-' in col_markstroke angezeigt werden.\n"
 "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n"
 
-#: src/lang.c:2398
+#: src/lang.c:2454
 msgid "A regex used to decide which words to show in col_markdash."
 msgstr ""
 "RegulÃ¤rer Ausdruck fÃ¼r Zeilen, die mit col_markdash dargestellt werden."
 
-#: src/lang.c:2399
+#: src/lang.c:2455
 msgid "Regex used to highlight _underline_"
 msgstr "Reg. fÃ¼r _Unterstr._ Hervorhebungen"
 
-#: src/lang.c:2400
+#: src/lang.c:2456
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '_' are to be shown in col_markdash.\n"
@@ -7153,16 +7300,16 @@ msgstr ""
 "# zwischen '_' in col_markdash angezeigt werden.\n"
 "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n"
 
-#: src/lang.c:2406
+#: src/lang.c:2462
 msgid "A regex used to find Subject prefixes to remove.  Use '|' as separator."
 msgstr ""
 "Reg. Ausd., um Teile im Subjectanfang zu entfernen. '|' trennt die Ausd.."
 
-#: src/lang.c:2407
+#: src/lang.c:2463
 msgid "Regex with Subject prefixes"
 msgstr "Reg. Ausd. fÃ¼r den Subjectanfang"
 
-#: src/lang.c:2408
+#: src/lang.c:2464
 msgid ""
 "# A regular expression that tin will use to find Subject prefixes\n"
 "# which will be removed before showing the header.\n"
@@ -7170,16 +7317,16 @@ msgstr ""
 "# Ein regulÃ¤rer Ausdruck, mit dem tin Worte im Anfang des Subjects findet,\n"
 "# die dann entfernt werden.\n"
 
-#: src/lang.c:2413
+#: src/lang.c:2469
 msgid "A regex used to find Subject suffixes to remove.  Use '|' as separator."
 msgstr ""
 "Reg. Ausd., um Teile am Subjectanfang zu entfernen. '|' trennt die Ausd.."
 
-#: src/lang.c:2414
+#: src/lang.c:2470
 msgid "Regex with Subject suffixes"
 msgstr "Reg. Ausd. fÃ¼r das Subjectende"
 
-#: src/lang.c:2415
+#: src/lang.c:2471
 msgid ""
 "# A regular expression that tin will use to find Subject suffixes\n"
 "# which will be removed when replying or posting followup.\n"
@@ -7187,16 +7334,16 @@ msgstr ""
 "# Ein regulÃ¤rer Ausdruck, der beim Antworten zum Abschneiden von\n"
 "# unerwÃ¼nschten Teilen am Ende des Subjects verwendet wird.\n"
 
-#: src/lang.c:2420
+#: src/lang.c:2476
 msgid "A regex used to find the begin of a verbatim block."
 msgstr ""
 "Reg. Ausd., um den Beginn eines wortgetreu wiederzugebenden Absatz zu finden."
 
-#: src/lang.c:2421
+#: src/lang.c:2477
 msgid "Regex for begin of a verbatim block"
 msgstr "Reg. Ausd. fÃ¼r den Anfang eines wortgetreu wiederzugebenden Absatzes"
 
-#: src/lang.c:2422
+#: src/lang.c:2478
 msgid ""
 "# A regular expression that tin will use to find the begin of\n"
 "# a verbatim block.\n"
@@ -7204,16 +7351,16 @@ msgstr ""
 "# Ein regulÃ¤rer Ausdruck, der den Beginn eines wortgetreu wiederzugebenden\n"
 "# Absatzes findet.\n"
 
-#: src/lang.c:2427
+#: src/lang.c:2483
 msgid "A regex used to find the end of a verbatim block."
 msgstr ""
 "Reg. Ausd., um das Ende eines wortgetreu wiederzugebenden Absatz zu finden."
 
-#: src/lang.c:2428
+#: src/lang.c:2484
 msgid "Regex for end of a verbatim block"
 msgstr "Reg. Ausd. fÃ¼r das Ende eines wortgetreu wiederzugebenden Absatzes"
 
-#: src/lang.c:2429
+#: src/lang.c:2485
 msgid ""
 "# A regular expression that tin will use to find the end of\n"
 "# a verbatim block.\n"
@@ -7221,18 +7368,18 @@ msgstr ""
 "# Ein regulÃ¤rer Ausdruck, der das Ende eines wortgetreu wiederzugebenden\n"
 "# Absatzes findet.\n"
 
-#: src/lang.c:2434
+#: src/lang.c:2490
 msgid ""
 "Enter name and options for external MIME viewer, --internal for built-in "
 "viewer"
 msgstr ""
 "Name und Optionen fÃ¼r ext. MIME-Viewer, --internal fÃ¼r eingebaute Version"
 
-#: src/lang.c:2435
+#: src/lang.c:2491
 msgid "MIME binary content viewer"
 msgstr "MIME-Viewer"
 
-#: src/lang.c:2436
+#: src/lang.c:2492
 msgid ""
 "# If --internal automatically use the built in MIME viewer for non-text\n"
 "# parts of articles.\n"
@@ -7244,15 +7391,15 @@ msgstr ""
 "# nicht Text teilen benutzt. Andernfalls das angegebene Programm\n"
 "# (z.B. metamail). Keine Angabe schaltet die automatische Anzeige aus.\n"
 
-#: src/lang.c:2443
+#: src/lang.c:2499
 msgid "Confirm before starting non-text viewing program"
 msgstr "Start des MIME-Viewers bestÃ¤tigen"
 
-#: src/lang.c:2444
+#: src/lang.c:2500
 msgid "Ask before using MIME viewer"
 msgstr "Start des MIME-Viewers bestÃ¤tigen"
 
-#: src/lang.c:2445
+#: src/lang.c:2501
 msgid ""
 "# If ON tin will ask before using metamail to display MIME messages\n"
 "# this only happens if metamail_prog is set to something\n"
@@ -7260,40 +7407,40 @@ msgstr ""
 "# Falls ON fragt tin nach, bevor metamail zum Anzeigen von MIME-Artikeln\n"
 "# benutzt wird. Das passiert nur, wenn auch metamail_prog gesetzt ist.\n"
 
-#: src/lang.c:2450
+#: src/lang.c:2506
 msgid "Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Beim Beenden anbieten, alle betretenen Gruppen als gelesen zu markieren?"
 
-#: src/lang.c:2451
+#: src/lang.c:2507
 msgid "Catchup read groups when quitting"
 msgstr "Catchup der Gruppen beim Beenden"
 
-#: src/lang.c:2452
+#: src/lang.c:2508
 msgid "# If ON ask user if read groups should all be marked read\n"
 msgstr ""
 "# Falls ON: Beim Beenden von tin anbieten, alle betretenen Gruppen\n"
 "#           als gelesen zu markieren\n"
 
-#: src/lang.c:2457
+#: src/lang.c:2513
 msgid "Catchup group using left key"
 msgstr "Catchup der Gruppe mit l. Cursor"
 
-#: src/lang.c:2458
+#: src/lang.c:2514
 msgid "# If ON catchup group/thread when leaving with the left arrow key.\n"
 msgstr ""
 "# Falls ON: Catchup (als gelesen markieren) der Gruppe/des Threads\n"
 "#           beim Verlassen mit der linken Cursortaste\n"
 
-#: src/lang.c:2463
+#: src/lang.c:2519
 msgid "Catchup thread by using left key"
 msgstr "Catchup mit der linken Cursort."
 
-#: src/lang.c:2469
+#: src/lang.c:2525
 msgid "Which actions require confirmation"
 msgstr "BestÃ¤tigung erforderlich fÃ¼r"
 
-#: src/lang.c:2470
+#: src/lang.c:2526
 msgid ""
 "# What should we ask confirmation for.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7321,55 +7468,55 @@ msgstr ""
 "#   7 = Kommandos & Ende & X-Befehl\n"
 
 # TRANSLATION TOO LONG
-#: src/lang.c:2484
+#: src/lang.c:2540
 msgid "'Mark as (un)read' ignores tags"
 msgstr "'Art. (un)gelesen markieren' ignoriert Markierte"
 
-#: src/lang.c:2485
+#: src/lang.c:2541
 msgid ""
 "# If ON the 'Mark as (un)read' function marks only the current article.\n"
 msgstr ""
 "# Falls ON wird mit der Funktion 'Art. (un)gelesen markieren' nur\n"
 "# der jeweilige Artikel markiert.\n"
 
-#: src/lang.c:2489
+#: src/lang.c:2545
 msgid "Program to run to open URLs, <CR> sets, <ESC> cancels."
 msgstr "Ã–ffne URLs mit ... <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:2490
+#: src/lang.c:2546
 msgid "Program that opens URLs"
 msgstr "Ã–ffne URLs mit ..."
 
-#: src/lang.c:2491
+#: src/lang.c:2547
 msgid "# The program used to open URLs. The actual URL will be appended\n"
 msgstr ""
 "# Programm zum Ã–ffnen von URLs, die jeweilige URL wird hinten angehÃ¤ngt.\n"
 
-#: src/lang.c:2496
+#: src/lang.c:2552
 msgid "Use mouse in xterm"
 msgstr "Maus in xterm nutzen"
 
-#: src/lang.c:2497
+#: src/lang.c:2553
 msgid "# If ON enable mouse button support on xterm terminals\n"
 msgstr "# Falls ON wird die MaustastenunterstÃ¼tzung fÃ¼r xterm aktiviert\n"
 
-#: src/lang.c:2503
+#: src/lang.c:2559
 msgid "Use scroll keys on keypad"
 msgstr "Scrollt. vom Nummernblock nutzen"
 
-#: src/lang.c:2504
+#: src/lang.c:2560
 msgid "# If ON enable scroll keys on terminals that support it\n"
 msgstr "# Falls ON werden die Scrolltasten genutzt (Terminal abhÃ¤ngig)\n"
 
-#: src/lang.c:2509
+#: src/lang.c:2565
 msgid "Enter maximum number of article to get. <CR> sets."
 msgstr "Maximale Anzahl der zu holenden Artikel eingeben. <CR> setzt."
 
-#: src/lang.c:2510
+#: src/lang.c:2566
 msgid "Number of articles to get"
 msgstr "Anzahl der zu holenden Artikel"
 
-#: src/lang.c:2511
+#: src/lang.c:2567
 msgid ""
 "# Number of articles to get (0=no limit), if negative sets maximum number\n"
 "# of already read articles to be read before first unread one\n"
@@ -7378,30 +7525,30 @@ msgstr ""
 "# angegeben wird, holt tin alle ungelesenen plus die letzten n gelesenen\n"
 "# Artikel\n"
 
-#: src/lang.c:2516
+#: src/lang.c:2572
 msgid "Enter number of days article is considered recent. <CR> sets."
 msgstr "Anzahl der Tage, die ein Artikel als neu eingestuft wird. <CR> setzt."
 
-#: src/lang.c:2517
+#: src/lang.c:2573
 msgid "Article recentness time limit"
 msgstr "Artikel Neuheitszeit-Limit"
 
-#: src/lang.c:2518
+#: src/lang.c:2574
 msgid "# Number of days in which article is considered recent, (0=OFF)\n"
 msgstr "# Anzahl der Tage, die ein Artikel als neu eingestuft wird, (0=Aus)\n"
 
-#: src/lang.c:2522
+#: src/lang.c:2578
 msgid ""
 "WILDMAT for normal wildcards, REGEX for full regular expression matching."
 msgstr ""
 "WILDMAT fÃ¼r normale Wildcards, REGEX fÃ¼r die Nutzung von regulÃ¤ren "
 "AusdrÃ¼cken."
 
-#: src/lang.c:2523
+#: src/lang.c:2579
 msgid "Wildcard matching"
 msgstr "WildcardprÃ¼fung"
 
-#: src/lang.c:2524
+#: src/lang.c:2580
 msgid ""
 "# Wildcard matching\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7413,66 +7560,66 @@ msgstr ""
 "# * 0 = wildmat\n"
 "#   1 = RegulÃ¤rer Ausdruck\n"
 
-#: src/lang.c:2531
+#: src/lang.c:2587
 msgid "Enter minimal score before an article is marked killed. <CR> sets."
 msgstr ""
 "Artikel mit weniger Bewertung (Score) werden als `gekillt' markiert. <CR> "
 "setzt."
 
-#: src/lang.c:2532
+#: src/lang.c:2588
 msgid "Score limit (kill)"
 msgstr "Bewertungsgrenze (kill)"
 
-#: src/lang.c:2533
+#: src/lang.c:2589
 msgid "# Score limit before an article is marked killed\n"
 msgstr ""
 "# Jeder Artikel mit einer niedrigeren Bewertung (Score) wird als\n"
 "# gekillt markiert\n"
 
-#: src/lang.c:2537
+#: src/lang.c:2593
 msgid "Enter default score to kill articles. <CR> sets."
 msgstr "Bewertung fÃ¼r gekillte Artikel. <CR> setzt."
 
-#: src/lang.c:2538
+#: src/lang.c:2594
 msgid "Default score to kill articles"
 msgstr "Bewertung fÃ¼r gekillte Artikel"
 
-#: src/lang.c:2539
+#: src/lang.c:2595
 msgid "# Default score to kill articles\n"
 msgstr "# Bewertung fÃ¼r gekillte Artikel\n"
 
-#: src/lang.c:2543
+#: src/lang.c:2599
 msgid "Enter minimal score before an article is marked hot. <CR> sets."
 msgstr ""
 "Artikel mit einer hÃ¶heren Bewertung (Score) werd. als wichtig/hot markiert."
 
-#: src/lang.c:2544
+#: src/lang.c:2600
 msgid "Score limit (select)"
 msgstr "Bewertungsgrenze (select)"
 
-#: src/lang.c:2545
+#: src/lang.c:2601
 msgid "# Score limit before an article is marked hot\n"
 msgstr ""
 "# Artikel mit einer hÃ¶heren Bewertung (Score) werden als\n"
 "# wichtig (hot) markiert\n"
 
-#: src/lang.c:2549
+#: src/lang.c:2605
 msgid "Enter default score to select articles. <CR> sets."
 msgstr "Bewertung fÃ¼r wichtige Artikel (hot). <CR> setzt."
 
-#: src/lang.c:2550
+#: src/lang.c:2606
 msgid "Default score to select articles"
 msgstr "Bewertung fÃ¼r wichtige Artikel"
 
-#: src/lang.c:2551
+#: src/lang.c:2607
 msgid "# Default score to select articles\n"
 msgstr "# Bewertung fÃ¼r wichtige Artikel (hot)\n"
 
-#: src/lang.c:2557
+#: src/lang.c:2613
 msgid "Use slrnface to show ''X-Face:''s"
 msgstr "''X-Face:''s mit slrnface Anzeigen"
 
-#: src/lang.c:2558
+#: src/lang.c:2614
 msgid ""
 "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 "# Only useful when running in an xterm.\n"
@@ -7480,19 +7627,19 @@ msgstr ""
 "# Falls ON benutze slrnface(1) um ''X-Face:'' anzuzeigen.\n"
 "# Funktioniert nur wenn tin in einem xterm lÃ¤uft.\n"
 
-#: src/lang.c:2566
+#: src/lang.c:2622
 msgid "Use ANSI color"
 msgstr "Benutze ANSI-Farben"
 
-#: src/lang.c:2567
+#: src/lang.c:2623
 msgid "# If ON using ANSI-color\n"
 msgstr "# Falls ON benutze ANSI-Farben\n"
 
-#: src/lang.c:2572
+#: src/lang.c:2628
 msgid "Standard foreground color"
 msgstr "Standard Vordergrundfarbe"
 
-#: src/lang.c:2573
+#: src/lang.c:2629
 msgid ""
 "# Standard foreground color\n"
 "# Default: -1 (default color)\n"
@@ -7500,11 +7647,11 @@ msgstr ""
 "# Standard Vordergrundfarbe\n"
 "# Voreinstellung: -1 (Standard Farbe)\n"
 
-#: src/lang.c:2579
+#: src/lang.c:2635
 msgid "Standard background color"
 msgstr "Standard Hintergrundfarbe"
 
-#: src/lang.c:2580
+#: src/lang.c:2636
 msgid ""
 "# Standard background color\n"
 "# Default: -1 (default color)\n"
@@ -7512,11 +7659,11 @@ msgstr ""
 "# Standard Hintergrundfarbe\n"
 "# Voreinstellung: -1 (Standard Farbe)\n"
 
-#: src/lang.c:2586
+#: src/lang.c:2642
 msgid "Color for inverse text (background)"
 msgstr "Farbe des inversen Text (Hinterg.)"
 
-#: src/lang.c:2587
+#: src/lang.c:2643
 msgid ""
 "# Color of background for inverse text\n"
 "# Default: 4 (blue)\n"
@@ -7524,11 +7671,11 @@ msgstr ""
 "# Farbe des Hintergrunds fÃ¼r inversen Text\n"
 "# Voreinstellung: 4 (Blau)\n"
 
-#: src/lang.c:2593
+#: src/lang.c:2649
 msgid "Color for inverse text (foreground)"
 msgstr "Farbe des inversen Text (Vordergr.)"
 
-#: src/lang.c:2594
+#: src/lang.c:2650
 msgid ""
 "# Color of foreground for inverse text\n"
 "# Default: 7 (white)\n"
@@ -7536,11 +7683,11 @@ msgstr ""
 "# Farbe des Vordergrunds fÃ¼r inversen Text\n"
 "# Voreinstellung: 7 (WeiÃŸ)\n"
 
-#: src/lang.c:2600
+#: src/lang.c:2656
 msgid "Color of text lines"
 msgstr "Farbe der Textzeilen"
 
-#: src/lang.c:2601
+#: src/lang.c:2657
 msgid ""
 "# Color of text lines\n"
 "# Default: -1 (default color)\n"
@@ -7548,11 +7695,11 @@ msgstr ""
 "# Farbe der Textzeilen\n"
 "# Voreinstellung: -1 (Standard Farbe)\n"
 
-#: src/lang.c:2607
+#: src/lang.c:2663
 msgid "Color of mini help menu"
 msgstr "Farbe des MinihilfemenÃ¼"
 
-#: src/lang.c:2608
+#: src/lang.c:2664
 msgid ""
 "# Color of mini help menu\n"
 "# Default: 3 (brown)\n"
@@ -7560,11 +7707,11 @@ msgstr ""
 "# Farbe des MinihilfemenÃ¼\n"
 "# Voreinstellung: 3 (Braun)\n"
 
-#: src/lang.c:2614
+#: src/lang.c:2670
 msgid "Color of help text"
 msgstr "Farbe des Hilfstext"
 
-#: src/lang.c:2615
+#: src/lang.c:2671
 msgid ""
 "# Color of help pages\n"
 "# Default: -1 (default color)\n"
@@ -7572,11 +7719,11 @@ msgstr ""
 "# Farbe der Hilfeseiten\n"
 "# Voreinstellung: -1 (Standard Farbe)\n"
 
-#: src/lang.c:2621
+#: src/lang.c:2677
 msgid "Color of status messages"
 msgstr "Farbe der Statusmeldungen"
 
-#: src/lang.c:2622
+#: src/lang.c:2678
 msgid ""
 "# Color of messages in last line\n"
 "# Default: 6 (cyan)\n"
@@ -7584,11 +7731,11 @@ msgstr ""
 "# Farbe der letzten Zeile im Artikel\n"
 "# Voreinstellung: 6 (Cyan)\n"
 
-#: src/lang.c:2628
+#: src/lang.c:2684
 msgid "Color of quoted lines"
 msgstr "Farbe der zitierten Zeilen"
 
-#: src/lang.c:2629
+#: src/lang.c:2685
 msgid ""
 "# Color of quote-lines\n"
 "# Default: 2 (green)\n"
@@ -7596,11 +7743,11 @@ msgstr ""
 "# Farbe der zitierten Zeilen\n"
 "# Voreinstellung: 2 (GrÃ¼n)\n"
 
-#: src/lang.c:2635
+#: src/lang.c:2691
 msgid "Color of twice quoted line"
 msgstr "Farbe von zweifach zitierten Zeilen"
 
-#: src/lang.c:2636
+#: src/lang.c:2692
 msgid ""
 "# Color of twice quoted lines\n"
 "# Default: 3 (brown)\n"
@@ -7608,11 +7755,11 @@ msgstr ""
 "# Farbe von zweifach zitierten Zeilen\n"
 "# Voreinstellung: 3 (Braun)\n"
 
-#: src/lang.c:2642
+#: src/lang.c:2698
 msgid "Color of =>3 times quoted line"
 msgstr "Farbe von =>3-fach zitierten Zeilen"
 
-#: src/lang.c:2643
+#: src/lang.c:2699
 msgid ""
 "# Color of >=3 times quoted lines\n"
 "# Default: 4 (blue)\n"
@@ -7620,11 +7767,11 @@ msgstr ""
 "# Farbe von =>3-fach zitierten Zeilen\n"
 "# Voreinstellung: 4 (Blau)\n"
 
-#: src/lang.c:2649
+#: src/lang.c:2705
 msgid "Color of article header lines"
 msgstr "Farbe der Artikelheaderzeilen"
 
-#: src/lang.c:2650
+#: src/lang.c:2706
 msgid ""
 "# Color of header-lines\n"
 "# Default: 2 (green)\n"
@@ -7632,11 +7779,11 @@ msgstr ""
 "# Farbe der Artikelheaderzeilen\n"
 "# Voreinstellung: 2 (GrÃ¼n)\n"
 
-#: src/lang.c:2656
+#: src/lang.c:2712
 msgid "Color of actual news header fields"
 msgstr "Farbe des angezeigten Headers"
 
-#: src/lang.c:2657
+#: src/lang.c:2713
 msgid ""
 "# Color of actual news header fields\n"
 "# Default: 9 (light red)\n"
@@ -7644,11 +7791,11 @@ msgstr ""
 "# Farbe des angezeigten Headers\n"
 "# Voreinstellung: 9 (Hellrot)\n"
 
-#: src/lang.c:2663
+#: src/lang.c:2719
 msgid "Color of article subject lines"
 msgstr "Farbe der Subjectzeile"
 
-#: src/lang.c:2664
+#: src/lang.c:2720
 msgid ""
 "# Color of article subject\n"
 "# Default: 6 (cyan)\n"
@@ -7656,11 +7803,11 @@ msgstr ""
 "# Farbe der Subjectzeile\n"
 "# Voreinstellung: 6 (Cyan)\n"
 
-#: src/lang.c:2670
+#: src/lang.c:2726
 msgid "Color of external quotes"
 msgstr "Farbe der Fremdzitate"
 
-#: src/lang.c:2671
+#: src/lang.c:2727
 msgid ""
 "# Color of quoted text from external sources\n"
 "# Default: 5 (pink)\n"
@@ -7668,11 +7815,11 @@ msgstr ""
 "# Farbe des Fremdzitat-Textes\n"
 "# Voreinstellung: 5 (Rosa)\n"
 
-#: src/lang.c:2677
+#: src/lang.c:2733
 msgid "Color of response counter"
 msgstr "Farbe des AntwortzÃ¤hlers"
 
-#: src/lang.c:2678
+#: src/lang.c:2734
 msgid ""
 "# Color of response counter\n"
 "# Default: 2 (green)\n"
@@ -7680,11 +7827,11 @@ msgstr ""
 "# Farbe des AntwortzÃ¤hlers\n"
 "# Voreinstellung: 2 (GrÃ¼n)\n"
 
-#: src/lang.c:2684
+#: src/lang.c:2740
 msgid "Color of sender (From:)"
 msgstr "Farbe des Autors (From:)"
 
-#: src/lang.c:2685
+#: src/lang.c:2741
 msgid ""
 "# Color of sender (From:)\n"
 "# Default: 2 (green)\n"
@@ -7692,11 +7839,11 @@ msgstr ""
 "# Farbe des Autors (From:)\n"
 "# Voreinstellung: 2 (GrÃ¼n)\n"
 
-#: src/lang.c:2691
+#: src/lang.c:2747
 msgid "Color of help/mail sign"
 msgstr "Farbe des Hilfe/Mail-Zeichens"
 
-#: src/lang.c:2692
+#: src/lang.c:2748
 msgid ""
 "# Color of Help/Mail-Sign\n"
 "# Default: 4 (blue)\n"
@@ -7704,11 +7851,11 @@ msgstr ""
 "# Farbe des Hilfe/Mail-Zeichens\n"
 "# Voreinstellung: 4 (Blau)\n"
 
-#: src/lang.c:2698
+#: src/lang.c:2754
 msgid "Color of signatures"
 msgstr "Farbe von Signaturen"
 
-#: src/lang.c:2699
+#: src/lang.c:2755
 msgid ""
 "# Color of signature\n"
 "# Default: 4 (blue)\n"
@@ -7716,11 +7863,11 @@ msgstr ""
 "# Farbe von Signaturen\n"
 "# Voreinstellung: 4 (Blau)\n"
 
-#: src/lang.c:2705
+#: src/lang.c:2761
 msgid "Color of negative score"
 msgstr "Farbe negativer Bewertung"
 
-#: src/lang.c:2706
+#: src/lang.c:2762
 msgid ""
 "# Color of negative score\n"
 "# Default: 1 (red)\n"
@@ -7728,11 +7875,11 @@ msgstr ""
 "# Farbe negativer Bewertung\n"
 "# Voreinstellung: 1 (Rot)\n"
 
-#: src/lang.c:2712
+#: src/lang.c:2768
 msgid "Color of positive score"
 msgstr "Farbe positiver Bewertung"
 
-#: src/lang.c:2713
+#: src/lang.c:2769
 msgid ""
 "# Color of positive score\n"
 "# Default: 2 (green)\n"
@@ -7740,11 +7887,11 @@ msgstr ""
 "# Farbe positiver Bewertung\n"
 "# Voreinstellung: 2 (GrÃ¼n)\n"
 
-#: src/lang.c:2719
+#: src/lang.c:2775
 msgid "Color of highlighted URLs"
 msgstr "Farbe der hervorgehobenen URLs"
 
-#: src/lang.c:2720
+#: src/lang.c:2776
 msgid ""
 "# Color of highlighted URLs\n"
 "# Default: -1 (default color)\n"
@@ -7752,11 +7899,11 @@ msgstr ""
 "# Farbe der hervorgehobenen URLs\n"
 "# Voreinstellung: -1 (Standard Farbe)\n"
 
-#: src/lang.c:2726
+#: src/lang.c:2782
 msgid "Color of verbatim blocks"
 msgstr "Farbe des wortgetreu darzustellenden Textes"
 
-#: src/lang.c:2727
+#: src/lang.c:2783
 msgid ""
 "# Color of verbatim blocks\n"
 "# Default: 5 (pink)\n"
@@ -7764,11 +7911,11 @@ msgstr ""
 "# Farbe des wortgetreu darzustellenden Textes\n"
 "# Voreinstellung: 5 (Rosa)\n"
 
-#: src/lang.c:2733
+#: src/lang.c:2789
 msgid "Color of highlighting with *stars*"
 msgstr "Farbe der Hervorhebung *Sterne*"
 
-#: src/lang.c:2734
+#: src/lang.c:2790
 msgid ""
 "# Color of word highlighting with *stars*\n"
 "# Default: 11 (yellow)\n"
@@ -7776,11 +7923,11 @@ msgstr ""
 "# Farbe der Hervorhebung durch *Sterne*\n"
 "# Voreinstellung: 11 (Gelb)\n"
 
-#: src/lang.c:2740
+#: src/lang.c:2796
 msgid "Color of highlighting with _dash_"
 msgstr "Farbe der Hervorhebung _Striche_"
 
-#: src/lang.c:2741
+#: src/lang.c:2797
 msgid ""
 "# Color of word highlighting with _dash_\n"
 "# Default: 13 (light pink)\n"
@@ -7788,11 +7935,11 @@ msgstr ""
 "# Farbe der Hervorhebung durch _Striche_\n"
 "# Voreinstellung: 13 (Hellrosa)\n"
 
-#: src/lang.c:2747
+#: src/lang.c:2803
 msgid "Color of highlighting with /slash/"
 msgstr "Farbe der Hervorhebung /SchrÃ¤gstr./"
 
-#: src/lang.c:2748
+#: src/lang.c:2804
 msgid ""
 "# Color of word highlighting with /slash/\n"
 "# Default: 14 (light cyan)\n"
@@ -7800,11 +7947,11 @@ msgstr ""
 "# Farbe der Hervorhebung durch /SchrÃ¤gstriche/\n"
 "# Voreinstellung: 14 (Hellcyan)\n"
 
-#: src/lang.c:2754
+#: src/lang.c:2810
 msgid "Color of highlighting with -stroke-"
 msgstr "Farbe der Hervorhebung -Durchstr.-"
 
-#: src/lang.c:2755
+#: src/lang.c:2811
 msgid ""
 "# Color of word highlighting with -stroke-\n"
 "# Default: 12 (light blue)\n"
@@ -7812,11 +7959,11 @@ msgstr ""
 "# Farbe der Hervorhebung durch -Durchstreichen-\n"
 "# Voreinstellung: 12 (Hellblau)\n"
 
-#: src/lang.c:2762
+#: src/lang.c:2818
 msgid "Attr. of highlighting with *stars*"
 msgstr "Hervorhebungsattribute *Sterne*"
 
-#: src/lang.c:2763
+#: src/lang.c:2819
 msgid ""
 "# Attributes of word highlighting on mono terminals\n"
 "# Possible values are:\n"
@@ -7844,11 +7991,11 @@ msgstr ""
 "# Hervorhebungsattribut fÃ¼r *Sterne*\n"
 "# Voreinstellung: 6 (fett)\n"
 
-#: src/lang.c:2778
+#: src/lang.c:2834
 msgid "Attr. of highlighting with _dash_"
 msgstr "Hervorhebungsattr. _Unterstriche_"
 
-#: src/lang.c:2779
+#: src/lang.c:2835
 msgid ""
 "# Attribute of word highlighting with _dash_\n"
 "# Default: 2 (best highlighting)\n"
@@ -7856,11 +8003,11 @@ msgstr ""
 "# Hervorhebungsattribut fÃ¼r _Unterstriche_\n"
 "# Voreinstellung: 2 (beste Hervorhebung)\n"
 
-#: src/lang.c:2785
+#: src/lang.c:2841
 msgid "Attr. of highlighting with /slash/"
 msgstr "Hervorhebungsattr. /SchrÃ¤gstriche/"
 
-#: src/lang.c:2786
+#: src/lang.c:2842
 msgid ""
 "# Attribute of word highlighting with /slash/\n"
 "# Default: 5 (half bright)\n"
@@ -7868,11 +8015,11 @@ msgstr ""
 "# Hervorhebungsattribut fÃ¼r /SchrÃ¤gstriche/\n"
 "# Voreinstellung: 5 (halbe Helligkeit)\n"
 
-#: src/lang.c:2792
+#: src/lang.c:2848
 msgid "Attr. of highlighting with -stroke-"
 msgstr "Hervorhebungsattr. -Durchstreich.-"
 
-#: src/lang.c:2793
+#: src/lang.c:2849
 msgid ""
 "# Attribute of word highlighting with -stroke-\n"
 "# Default: 3 (reverse video)\n"
@@ -7880,27 +8027,27 @@ msgstr ""
 "# Hervorhebungsattribut fÃ¼r -Durchstreichen-\n"
 "# Voreinstellung: 3 (Invers)\n"
 
-#: src/lang.c:2799
+#: src/lang.c:2855
 msgid "URL highlighting in message body"
 msgstr "URL-Hervorhebung im Artikel"
 
-#: src/lang.c:2800
+#: src/lang.c:2856
 msgid "# Enable URL highlighting?\n"
 msgstr "# URL-Hervorhebung aktivieren?\n"
 
-#: src/lang.c:2805
+#: src/lang.c:2861
 msgid "Word highlighting in message body"
 msgstr "Wort-Hervorhebung im Artikel"
 
-#: src/lang.c:2806
+#: src/lang.c:2862
 msgid "# Enable word highlighting?\n"
 msgstr "# Wort-Hervorhebung aktivieren?\n"
 
-#: src/lang.c:2811
+#: src/lang.c:2867
 msgid "What to display instead of mark"
 msgstr "Anstelle der Markierung anzeigen"
 
-#: src/lang.c:2812
+#: src/lang.c:2868
 msgid ""
 "# Should the leading and ending stars and dashes also be displayed,\n"
 "# even when they are highlighting marks?\n"
@@ -7916,23 +8063,40 @@ msgstr ""
 "#   1 = ja, anzeigen\n"
 "# * 2 = Leerzeichen anstelle darstellen\n"
 
-#: src/lang.c:2821
+#: src/lang.c:2877
 msgid "Enter column number to wrap article lines to in the pager. <CR> sets."
 msgstr "Nach wie vielen Zeichen soll im Pager umgebrochen werden? <CR> setzt."
 
-#: src/lang.c:2822
+#: src/lang.c:2878
 msgid "Page line wrap column"
 msgstr "Zeilen umbrechen nach"
 
-#: src/lang.c:2823
+#: src/lang.c:2879
 msgid "# Wrap article lines at column\n"
 msgstr "# In der Artikelanzeige Zeilen umbrechen bei Spalte\n"
 
-#: src/lang.c:2828
+#: src/lang.c:2883
+msgid ""
+"If ON, don't break words when wrapping lines. <SPACE> toggles & <CR> sets."
+msgstr ""
+"Wenn ON, werden beim Zeilenumbruch keine WÃ¶rter unterbrochen. <SPACE> "
+"wechselt & <CR> setzt."
+
+#: src/lang.c:2884
+msgid "Don't break words when wrapping"
+msgstr "Beim Umbrechen keine WÃ¶rter trennen"
+
+#: src/lang.c:2885
+msgid "# Don't break long lines inside a word but on <SPACE> or <TAB>\n"
+msgstr ""
+"# Langen Zeilen nicht innerhalb eines Wortes umbrechen,\n"
+"# aber an <SPACE> oder <TAB>\n"
+
+#: src/lang.c:2890
 msgid "Wrap around threads on next unread"
 msgstr "NÃ¤.ungel.-kein Abbr. am Listenende?"
 
-#: src/lang.c:2829
+#: src/lang.c:2891
 msgid "# If ON wrap around threads on searching next unread article\n"
 msgstr ""
 "# Diverse Funktionen in tin wechseln zum \"nÃ¤chsten\" ungelesenen\n"
@@ -7940,38 +8104,38 @@ msgstr ""
 "# Artikel/Threadliste abbricht (OFF) oder zum Beginn derselben springt und\n"
 "# von dort aus den nÃ¤chsten ungelesenen Artikel sucht. (ON)\n"
 
-#: src/lang.c:2833
+#: src/lang.c:2895
 msgid "Enter default mail address (and fullname). <CR> sets."
 msgstr "Standard Mail-Adresse (und Name) eingeben. <CR> setzt."
 
-#: src/lang.c:2834 src/lang.c:3405
+#: src/lang.c:2896 src/lang.c:3474
 msgid "Mail address (and fullname)"
 msgstr "Mailadresse (und Name)"
 
-#: src/lang.c:2835
+#: src/lang.c:2897
 msgid "# User's mail address (and fullname), if not username@host (fullname)\n"
 msgstr ""
 "# EMail-Adresse und vollstÃ¤ndiger Name des Benutzers, wenn sie nicht\n"
 "# benutzername@host (VollstÃ¤ndiger Name) lautet\n"
 
-#: src/lang.c:2840
+#: src/lang.c:2902
 msgid "Show empty Followup-To in editor"
 msgstr "Leeres Fup-To im Editor anzeigen"
 
-#: src/lang.c:2841
+#: src/lang.c:2903
 msgid "# If ON show empty Followup-To header when editing an article\n"
 msgstr "# Falls ON zeige leeren Followup-To:-Header im Editor\n"
 
-#: src/lang.c:2845
+#: src/lang.c:2907
 msgid ""
 "Enter path/! command/--none to create your default signature. <CR> sets."
 msgstr "Setze Pfad/! Kommando/--none um Ihre Signatur festzulegen. <CR> setzt."
 
-#: src/lang.c:2846
+#: src/lang.c:2908
 msgid "Create signature from path/command"
 msgstr "Erzeuge Signatur aus Pfad/Kommando"
 
-#: src/lang.c:2847
+#: src/lang.c:2909
 #, c-format
 msgid ""
 "# Signature path (random sigs)/file to be used when posting/replying\n"
@@ -7986,42 +8150,42 @@ msgstr ""
 "#                    (%G um den Namen der aktuellen Newsgroup zu Ã¼bergeben)\n"
 "# sigfile=--none     hÃ¤ngt keine Signatur an\n"
 
-#: src/lang.c:2855
+#: src/lang.c:2917
 msgid ""
 "Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Trenne Sig mit \"-- \" in eigener Zeile ab. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2856
+#: src/lang.c:2918
 msgid "Prepend signature with \"-- \""
 msgstr "Trenne Sig mit \"-- \" ab"
 
-#: src/lang.c:2857
+#: src/lang.c:2919
 msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n"
 msgstr "# Falls ON trenne Signatur mit '\\n-- \\n' ab\n"
 
-#: src/lang.c:2861
+#: src/lang.c:2923
 msgid "Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Sig. beim Reposten eines Artikels hinzufÃ¼gen? <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2862
+#: src/lang.c:2924
 msgid "Add signature when reposting"
 msgstr "Signatur beim Reposten anhÃ¤ngen"
 
-#: src/lang.c:2863
+#: src/lang.c:2925
 msgid "# If ON add signature to reposted articles\n"
 msgstr "# Falls ON wird die Signatur auch an repostete Artikel angehÃ¤ngt.\n"
 
-#: src/lang.c:2867
+#: src/lang.c:2929
 msgid "Enter quotation marks, %I for author's initials."
 msgstr "Zitatzeichen eingeben, %I fÃ¼r die Initialen des Verfassers."
 
-#: src/lang.c:2868
+#: src/lang.c:2930
 msgid "Characters used as quote-marks"
 msgstr "Zitatzeichen"
 
-#: src/lang.c:2869
+#: src/lang.c:2931
 msgid ""
 "# Characters used in quoting to followups and replies.\n"
 "# '_' is replaced by ' ', %I is replaced by author's initials.\n"
@@ -8029,11 +8193,11 @@ msgstr ""
 "# Zeichen fÃ¼r Zitate in Antworten.\n"
 "# '_' wird durch ' ' ersetzt. %I wird ersetzt durch Autoreninitialen.\n"
 
-#: src/lang.c:2875
+#: src/lang.c:2937
 msgid "Quoting behavior"
 msgstr "Zitierverhalten"
 
-#: src/lang.c:2876
+#: src/lang.c:2938
 msgid ""
 "# How quoting should be handled when following up or replying.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8058,17 +8222,17 @@ msgstr ""
 "#   7 = Zitatzeichen zusammenziehen & Signaturen zitieren & Leerzeilen "
 "zitieren\n"
 
-#: src/lang.c:2889 src/lang.c:2897 src/lang.c:2903
+#: src/lang.c:2951 src/lang.c:2959 src/lang.c:2965
 msgid ""
 "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 msgstr ""
 "%A Adr %D Datum %F Adr+Name %G Gruppenname %M Message-ID %N Name %C Vorname"
 
-#: src/lang.c:2890
+#: src/lang.c:2952
 msgid "Quote line when following up"
 msgstr "Einleitungszeile beim Antworten"
 
-#: src/lang.c:2891
+#: src/lang.c:2953
 msgid ""
 "# Format of quote line when mailing/posting/following-up an article\n"
 "# %A Address    %D Date   %F Addr+Name   %G Groupname   %M Message-ID\n"
@@ -8078,36 +8242,36 @@ msgstr ""
 "# %A Adresse  %D Datum  %F Adr+Name  %G Gruppenname  %M Message-ID\n"
 "# %N Voller Name  %C Vorname  %I Initialen\n"
 
-#: src/lang.c:2898
+#: src/lang.c:2960
 msgid "Quote line when cross-posting"
 msgstr "Einleitungszeile beim Crossposten"
 
-#: src/lang.c:2904
+#: src/lang.c:2966
 msgid "Quote line when mailing"
 msgstr "Einleitungszeile bei Mailantwort"
 
-#: src/lang.c:2909
+#: src/lang.c:2971
 msgid "If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 msgstr "Falls ON, fÃ¼ge User-Agent:-Header ein. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2910
+#: src/lang.c:2972
 msgid "Insert 'User-Agent:' header"
 msgstr "FÃ¼ge 'User-Agent:'-Header ein"
 
-#: src/lang.c:2911
+#: src/lang.c:2973
 msgid "# If ON include advertising User-Agent: header\n"
 msgstr "# Falls ON fÃ¼ge User-Agent:-Header ein\n"
 
-#: src/lang.c:2916
+#: src/lang.c:2978
 msgid ""
 "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr "Zeichensatz fÃ¼r MIME (z.B. US-ASCII, ISO-8859-1, EUC-KR), <CR> setzt."
 
-#: src/lang.c:2917
+#: src/lang.c:2979
 msgid "MM_CHARSET"
 msgstr "MM_CHARSET"
 
-#: src/lang.c:2918
+#: src/lang.c:2980
 msgid ""
 "# Charset supported locally which is also used for MIME header and\n"
 "# Content-Type header.\n"
@@ -8126,40 +8290,40 @@ msgstr ""
 "# definiert, werden andere ZeichensÃ¤tze als mm_charset nicht dargestellt\n"
 "# und die jeweiligen Zeichen durch ein '?' ersetzt.\n"
 
-#: src/lang.c:2928
+#: src/lang.c:2990
 msgid "MM_NETWORK_CHARSET"
 msgstr "MM_NETWORK_CHARSET"
 
-#: src/lang.c:2929
+#: src/lang.c:2991
 msgid "# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr "# Zeichensatz fÃ¼r den MIME (Content-Type) Header der Artikel.\n"
 
-#: src/lang.c:2933
+#: src/lang.c:2995
 msgid ""
 "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr "Lokaler Zeichensatz (z.B. US-ASCII, ISO-8859-1, EUC-KR), <CR> setzt."
 
-#: src/lang.c:2934
+#: src/lang.c:2996
 msgid "MM_LOCAL_CHARSET"
 msgstr "MM_LOCAL_CHARSET"
 
-#: src/lang.c:2935
+#: src/lang.c:2997
 msgid "# Charset supported locally.\n"
 msgstr "# Lokaler Zeichensatz.\n"
 
-#: src/lang.c:2942
+#: src/lang.c:3004
 msgid "Mailbox format"
 msgstr "Mailbox-Format"
 
-#: src/lang.c:2943
+#: src/lang.c:3005
 msgid "# Format of the mailbox.\n"
 msgstr "# Format der Mailbox.\n"
 
-#: src/lang.c:2948
+#: src/lang.c:3010
 msgid "MIME encoding in news messages"
 msgstr "MIME-Kodierung in Newsartikeln"
 
-#: src/lang.c:2949
+#: src/lang.c:3011
 msgid ""
 "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n"
 "# for mails and posts, if necessary. QP is efficient for most European\n"
@@ -8174,15 +8338,15 @@ msgstr ""
 "# fÃ¼r die meisten 8Bit ZeichensÃ¤tze aus Ostasien, Griechenland und Russland\n"
 "# ist, da dort gehÃ¤uft 8Bit Zeichen vorkommen.\n"
 
-#: src/lang.c:2957 src/lang.c:2978
+#: src/lang.c:3019 src/lang.c:3040
 msgid "Don't change unless you know what you are doing. <ESC> cancels."
 msgstr "Nur Ã¤ndern, wenn Sie genau wissen, was Sie machen. <ESC> bricht ab."
 
-#: src/lang.c:2958
+#: src/lang.c:3020
 msgid "Use 8bit characters in news headers"
 msgstr "Benutze 8bit-Zeichen im Newsheader"
 
-#: src/lang.c:2959
+#: src/lang.c:3021
 msgid ""
 "# If ON, 8bit characters in news headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -8196,29 +8360,29 @@ msgstr ""
 "# kodiert, wenn post_mime_encoding nicht auch auf 8bit eingestellt\n"
 "# ist.\n"
 
-#: src/lang.c:2966
+#: src/lang.c:3028
 msgid ""
 "Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 "Nachbearbeitete Artikel autom. anz. <SPACE> wechselt, <CR> setzt, <ESC> Ende."
 
-#: src/lang.c:2967
+#: src/lang.c:3029
 msgid "View post-processed files"
 msgstr "Nachbearbeitete Artikel anzeigen"
 
-#: src/lang.c:2968
+#: src/lang.c:3030
 msgid "# If set, post processed files will be opened in a viewer\n"
 msgstr "# Falls ON werden nachbearbeitete Artikel automatisch angezeigt.\n"
 
-#: src/lang.c:2973
+#: src/lang.c:3035
 msgid "MIME encoding in mail messages"
 msgstr "MIME-Kodierung fÃ¼r E-Mails"
 
-#: src/lang.c:2979
+#: src/lang.c:3041
 msgid "Use 8bit characters in mail headers"
 msgstr "Benutze 8bit Zeichen im Mail Header"
 
-#: src/lang.c:2980
+#: src/lang.c:3042
 msgid ""
 "# If ON, 8bit characters in mail headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -8237,26 +8401,26 @@ msgstr ""
 "# E-Mailheadern verbieten, daher sollte diese Einstellung NICHT auf ON\n"
 "# geÃ¤ndert werden, wenn es keine zwingende GrÃ¼nde dafÃ¼r gibt.\n"
 
-#: src/lang.c:2991
+#: src/lang.c:3053
 msgid "Strip blanks from ends of lines"
 msgstr "Leerzeichen am Zeilenende entfernen"
 
-#: src/lang.c:2992
+#: src/lang.c:3054
 msgid ""
 "# If ON strip blanks from ends of lines for faster display on slow "
 "terminals.\n"
 msgstr ""
 "# Falls ON lÃ¶sche Leerzeichen am Zeilenende; verbessert die Geschwindigkeit\n"
 
-#: src/lang.c:2998
+#: src/lang.c:3060
 msgid "If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr "Falls ON verwende Umschreibungen. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2999
+#: src/lang.c:3061
 msgid "Transliteration"
 msgstr "Verwende Umschreibungen"
 
-#: src/lang.c:3000
+#: src/lang.c:3062
 msgid ""
 "# If ON, use //TRANSLIT extension. This means that when a character cannot\n"
 "# be represented in the in the target character set, it can be approximated\n"
@@ -8268,11 +8432,11 @@ msgstr ""
 "# Terminal als EUR umschrieben, ohne //TRANSLIT wÃ¼rde tin ein\n"
 "# Fragezeichen verwenden.\n"
 
-#: src/lang.c:3008
+#: src/lang.c:3070
 msgid "Send you a Cc/Bcc automatically"
 msgstr "Sendet Ihnen automatisch ein Cc/Bcc"
 
-#: src/lang.c:3009
+#: src/lang.c:3071
 msgid ""
 "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8289,11 +8453,11 @@ msgstr ""
 "#   2 = Bcc\n"
 "#   3 = Cc und Bcc\n"
 
-#: src/lang.c:3020
+#: src/lang.c:3082
 msgid "Hash algorithm for Cancel-Lock/Cancel-Key"
 msgstr "Hash-Algorithmus fÃ¼r Cancel-Lock/Cancel-Key"
 
-#: src/lang.c:3021
+#: src/lang.c:3083
 msgid ""
 "# Hash algorithm for Cancel-Lock/Cancel-Key (default 'sha1')\n"
 "# Use 'none' to not generate Cancel-Lock headers.\n"
@@ -8301,15 +8465,15 @@ msgstr ""
 "# Hash-Algorithmus fÃ¼r Cancel-Lock/Cancel-Key (Voreinstellung 'sha1')\n"
 "# 'keiner' verwenden um Cancel-Lock-Header zu deaktivieren.\n"
 
-#: src/lang.c:3027
+#: src/lang.c:3089
 msgid "Enter address elements about which you want to be warned. <CR> sets."
 msgstr "Adressenteil angeben vor dem Sie gewarnt werden wollen. <CR> setzt."
 
-#: src/lang.c:3028
+#: src/lang.c:3090
 msgid "Spamtrap warning address parts"
 msgstr "Spamfallenwarnung in Adresse"
 
-#: src/lang.c:3029
+#: src/lang.c:3091
 msgid ""
 "# A comma-delimited list of address-parts you want to be warned\n"
 "# about when trying to reply by email.\n"
@@ -8318,28 +8482,28 @@ msgstr ""
 "wenn\n"
 "# Sie via Mail antworten wollen.\n"
 
-#: src/lang.c:3034
+#: src/lang.c:3096
 msgid "Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr "GÃ¼ltigkeit eines Filtereintrages in Tagen. <CR> setzt."
 
-#: src/lang.c:3035
+#: src/lang.c:3097
 msgid "No. of days a filter entry is valid"
 msgstr "Tage, die ein Filter gÃ¼ltig ist"
 
-#: src/lang.c:3036
+#: src/lang.c:3098
 msgid "# Number of days a short term filter will be active\n"
 msgstr "# Anzahl der Tage die ein temporÃ¤rer Filter aktiv ist\n"
 
-#: src/lang.c:3040
+#: src/lang.c:3102
 msgid "Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Gepostete Artikel zum Filter hinzufÃ¼gen. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:3041
+#: src/lang.c:3103
 msgid "Add posted articles to filter"
 msgstr "FÃ¼ge gepostete Artikel zum Filter"
 
-#: src/lang.c:3042
+#: src/lang.c:3104
 msgid ""
 "# If ON add posted articles which start a new thread to filter for\n"
 "# highlighting follow-ups\n"
@@ -8347,25 +8511,25 @@ msgstr ""
 "# Falls ON fÃ¼ge gepostete Artikel die einen neuen Thread einleiten\n"
 "# zum Filter hinzu um evtl. Antworten hervorzuheben\n"
 
-#: src/lang.c:3046
+#: src/lang.c:3108
 msgid "The directory where articles/threads are to be saved in mailbox format."
 msgstr ""
 "Verzeichnis, in dem Artikel/Threads im mailbox-Format gespeichert werden."
 
-#: src/lang.c:3047
+#: src/lang.c:3109
 msgid "Mail directory"
 msgstr "Mail Verzeichnis"
 
-#: src/lang.c:3048
+#: src/lang.c:3110
 msgid "# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr ""
 "# (-m) Verzeichnis fÃ¼r im mailbox-Format gespeicherte Artikel/Threads\n"
 
-#: src/lang.c:3053
+#: src/lang.c:3115
 msgid "Save articles in batch mode (-S)"
 msgstr "Speicher Artikel im Batchmode (-S)"
 
-#: src/lang.c:3054
+#: src/lang.c:3116
 msgid ""
 "# If ON articles/threads will be saved in batch mode when save -S\n"
 "# or mail (-M/-N) is specified on the command line\n"
@@ -8373,44 +8537,44 @@ msgstr ""
 "# Falls ON werden Artikel/Threads im Batchmode gespeichert wenn -S,\n"
 "# oder gemailt, wenn -M bzw. -N in der Kommandozeile angegeben wurde.\n"
 
-#: src/lang.c:3059
+#: src/lang.c:3121
 msgid "The directory where you want articles/threads saved."
 msgstr "Das Verzeichnis, in dem Artikel/Threads gespeichert werden sollen."
 
-#: src/lang.c:3060
+#: src/lang.c:3122
 msgid "Directory to save arts/threads in"
 msgstr "Verz. um Art/Threads zu speichern"
 
-#: src/lang.c:3061
+#: src/lang.c:3123
 msgid "# Directory where articles/threads are saved\n"
 msgstr "# Verzeichnis in dem Artikel/Threads gespeichert werden\n"
 
-#: src/lang.c:3065
+#: src/lang.c:3127
 msgid ""
 "Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 "cancels."
 msgstr ""
 "Gesp. Art. gelesen markieren. <SPACE> wechselt, <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:3066
+#: src/lang.c:3128
 msgid "Mark saved articles/threads as read"
 msgstr "Mark. gesp. Artikel/Threads gelesen"
 
-#: src/lang.c:3067
+#: src/lang.c:3129
 msgid "# If ON mark articles that are saved as read\n"
 msgstr "# Falls ON werden gespeicherte Artikel als gelesen markiert\n"
 
 #
-#: src/lang.c:3071
+#: src/lang.c:3133
 msgid "Do post processing (e.g. extract attachments) for saved articles."
 msgstr ""
 "Nachbearbeitung (z.B. extrahieren von AnhÃ¤ngen) fÃ¼r gespeicherte Artikel."
 
-#: src/lang.c:3072
+#: src/lang.c:3134
 msgid "Post process saved articles"
 msgstr "Nachbearbeiten gespeichert. Artikel"
 
-#: src/lang.c:3073
+#: src/lang.c:3135
 msgid ""
 "# Perform post processing (saving binary attachments) from saved articles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8424,11 +8588,11 @@ msgstr ""
 "#   1 = Nur Shell Archive (shar) auspacken\n"
 "#   2 = Ja\n"
 
-#: src/lang.c:3082
+#: src/lang.c:3144
 msgid "Process only unread articles"
 msgstr "Bearbeite nur ungelesene Artikel"
 
-#: src/lang.c:3083
+#: src/lang.c:3145
 msgid ""
 "# If ON only save/print/pipe/mail unread articles (tagged articles "
 "excepted)\n"
@@ -8436,54 +8600,54 @@ msgstr ""
 "# Falls ON speichere/drucke/pipe/maile nur ungelesene Artikel\n"
 "# (markierte Artikel ausgenommen)\n"
 
-#: src/lang.c:3088
+#: src/lang.c:3150
 msgid "Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr "Drucke alles oder nur Teile des Headers <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:3089
+#: src/lang.c:3151
 msgid "Print all headers when printing"
 msgstr "Alle Header beim Drucken ausgeben"
 
-#: src/lang.c:3090
+#: src/lang.c:3152
 msgid ""
 "# If ON print all of article header otherwise just the important lines\n"
 msgstr ""
 "# Falls ON drucke alle Header des Artikels aus. Ansonsten nur die "
 "wichtigsten\n"
 
-#: src/lang.c:3094
+#: src/lang.c:3156
 msgid ""
 "The printer program with options that is to be used to print articles/"
 "threads."
 msgstr "Das Druckprogramm, das zum drucken von Artikeln/Threads benutzt wird."
 
-#: src/lang.c:3095
+#: src/lang.c:3157
 msgid "Printer program with options"
 msgstr "Druckprogramm mit Optionen"
 
-#: src/lang.c:3096
+#: src/lang.c:3158
 msgid "# Print program with parameters used to print articles/threads\n"
 msgstr "# Druckprogramm mit Optionen zum drucken der Artikel/Threads\n"
 
-#: src/lang.c:3102
+#: src/lang.c:3164
 msgid "Force redraw after certain commands"
 msgstr "Anzeigeauffrischung nach Kommandos"
 
-#: src/lang.c:3103
+#: src/lang.c:3165
 msgid ""
 "# If ON a screen redraw will always be done after certain external commands\n"
 msgstr ""
 "# Falls ON wird die Anzeige nach einigen externen Kommandos aufgefrischt\n"
 
-#: src/lang.c:3107
+#: src/lang.c:3169
 msgid "Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr "%E fÃ¼r Editor, %F fÃ¼r Dateiname, %N fÃ¼r Zeilennummer, <CR> setzt."
 
-#: src/lang.c:3108
+#: src/lang.c:3170
 msgid "Invocation of your editor"
 msgstr "Aufruf Ihres Editors"
 
-#: src/lang.c:3109
+#: src/lang.c:3171
 msgid ""
 "# Format of editor line including parameters\n"
 "# %E Editor  %F Filename  %N Linenumber\n"
@@ -8491,16 +8655,16 @@ msgstr ""
 "# Format der Editorzeile mit den Parametern fÃ¼r den Aufruf\n"
 "# %E Editor  %F Dateiname  %N Zeilennummer\n"
 
-#: src/lang.c:3114
+#: src/lang.c:3176
 msgid ""
 "Enter name and options for external-inews, --internal for internal inews"
 msgstr "Name und Optionen fÃ¼r ext. inews, --internal fÃ¼r eingebaute Version"
 
-#: src/lang.c:3115
+#: src/lang.c:3177
 msgid "External inews"
 msgstr "Externes inews-Programm"
 
-#: src/lang.c:3116
+#: src/lang.c:3178
 msgid ""
 "# If --internal use the built in mini inews for posting via NNTP\n"
 "# otherwise use an external inews program\n"
@@ -8509,33 +8673,31 @@ msgstr ""
 "# benutzt, sonst wird das hier angegebene Programm mit den angegebenen\n"
 "# Optionen verwendet. z.B. 'inews -h'\n"
 
-#: src/lang.c:3120
+#: src/lang.c:3182
 msgid ""
 "Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr ""
 "%M fÃ¼r den Mailer, %S fÃ¼r Subject, %T fÃ¼r to, %F fÃ¼r Dateinamen, <CR> setzt."
 
-#: src/lang.c:3121
+#: src/lang.c:3183
 msgid "Invocation of your mail command"
 msgstr "Aufruf Ihres Mailkommandos"
 
-#: src/lang.c:3122
+#: src/lang.c:3184
 msgid ""
 "# Format of mailer line including parameters\n"
-"# %M Mailer  %S Subject  %T To  %F Filename\n"
-"# e.g. to use mutt as your mailer:    mutt -s \"%S\" -- \"%T\" < %F\n"
-"# e.g. mutt interactive          :    mutt -H %F\n"
+"# %M Mailer  %S Subject  %T To  %F Filename  %U Username\n"
+"# e.g. mutt interactive:  mutt -H %F\n"
 msgstr ""
 "# Format der Mailkommandozeile mit Ihren Parametern\n"
-"# %M Mailprogramm  %S Subject  %T To  %F Dateiname\n"
-"# Ein Beispiel fÃ¼r mutt           :  mutt -s \"%S\" -- \"%T\" < %F\n"
+"# %M Mailprogramm  %S Subject  %T To  %F Dateiname  %U Username\n"
 "# Ein Beispiel fÃ¼r mutt interaktiv:  mutt -H %F\n"
 
-#: src/lang.c:3130
+#: src/lang.c:3191
 msgid "Use interactive mail reader"
 msgstr "Benutze interaktives Mailprogramm"
 
-#: src/lang.c:3131
+#: src/lang.c:3192
 msgid ""
 "# Interactive mailreader\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8551,35 +8713,35 @@ msgstr ""
 "#   2 = interaktives Mailprogramm, Mailheader werden als Argumente "
 "Ã¼bergeben\n"
 
-#: src/lang.c:3140
+#: src/lang.c:3201
 msgid "Remove ~/.article after posting"
 msgstr "Entferne ~/.article nach dem posten"
 
-#: src/lang.c:3141
+#: src/lang.c:3202
 msgid "# If ON remove ~/.article after posting.\n"
 msgstr "# Falls ON entferne ~/.article nach dem posten.\n"
 
-#: src/lang.c:3147
+#: src/lang.c:3208
 msgid "Use UTF-8 graphics (thread tree etc.)"
 msgstr "UTF-8-Grafik benutzten (Baumdarstellung etc.)"
 
-#: src/lang.c:3148
+#: src/lang.c:3209
 msgid ""
 "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n"
 msgstr ""
 "# Falls ON werden UTF-8-Zeichen fÃ¼r die Anzeige '->', Baumdarstellung und "
 "Auslassungspunkten '...' benutzt.\n"
 
-#: src/lang.c:3153
+#: src/lang.c:3214
 msgid "Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr ""
 "Dateiname fÃ¼r Kopie geposteter Artikel. <CR> setzt, kein Name=keine Kopie."
 
-#: src/lang.c:3154
+#: src/lang.c:3215
 msgid "Filename for posted articles"
 msgstr "Gepostete Artikel speichern in"
 
-#: src/lang.c:3155
+#: src/lang.c:3216
 msgid ""
 "# Filename where to keep all postings (default posted)\n"
 "# If no filename is set then postings will not be saved\n"
@@ -8587,38 +8749,38 @@ msgstr ""
 "# Dateiname fÃ¼r die Kopie aller Postings (Voreinstellung posted)\n"
 "# Ist kein Name angegeben wird keine Kopie gespeichert\n"
 
-#: src/lang.c:3160
+#: src/lang.c:3221
 msgid ""
 "Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Behalte alle FehlschlÃ¤ge in ~/dead.articles. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:3161
+#: src/lang.c:3222
 msgid "Keep failed arts in ~/dead.articles"
 msgstr "Halte Fehlschl. in ~/dead.articles"
 
-#: src/lang.c:3162
+#: src/lang.c:3223
 msgid "# If ON keep all failed postings in ~/dead.articles\n"
 msgstr ""
 "# Falls ON werden Fehlgeschlagene Artikel in ~/dead.articles verwahrt\n"
 
-#: src/lang.c:3166
+#: src/lang.c:3227
 msgid "Do you want to strip unsubscribed groups from .newsrc"
 msgstr "Wollen Sie nicht-abonnierte Gruppen aus der .newsrc entfernen?"
 
-#: src/lang.c:3167
+#: src/lang.c:3228
 msgid "No unsubscribed groups in newsrc"
 msgstr "Nur abonnierte Gruppen in newsrc"
 
-#: src/lang.c:3168
+#: src/lang.c:3229
 msgid "# If ON strip unsubscribed groups from newsrc\n"
 msgstr "# Falls ON entferne nicht-abonnierte Gruppen aus der newsrc\n"
 
-#: src/lang.c:3173
+#: src/lang.c:3234
 msgid "Remove bogus groups from newsrc"
 msgstr "LÃ¶sche nicht vorhan. G. aus newsrc"
 
-#: src/lang.c:3174
+#: src/lang.c:3235
 msgid ""
 "# What to do with bogus groups in newsrc file\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8632,73 +8794,88 @@ msgstr ""
 "#   1 = entfernen\n"
 "#   2 = Mit D in der Auswahl markieren.\n"
 
-#: src/lang.c:3183
+#: src/lang.c:3244
 msgid ""
 "Enter number of seconds to wait for a response from the server. <CR> sets."
 msgstr ""
 "Sekunden die auf eine Antwort vom Server gewartet werden soll. <CR> setzt."
 
-#: src/lang.c:3184
+#: src/lang.c:3245
 msgid "NNTP read timeout in seconds"
 msgstr "NNTP-lese Zeitlimit in Sekunden"
 
-#: src/lang.c:3185
+#: src/lang.c:3246
 msgid ""
 "# Time in seconds to wait for a response from the server (0=no timeout)\n"
 msgstr ""
 "# Maximal n Sekunden auf eine Antwort vom Server warten (0 = kein "
 "Zeitlimit)\n"
 
-#: src/lang.c:3190
+#: src/lang.c:3251
 msgid "Enter number of seconds until active file will be reread. <CR> sets."
 msgstr "Sekunden, nach denen die active-Datei wieder gelesen wird. <CR> setzt."
 
-#: src/lang.c:3191
+#: src/lang.c:3252
 msgid "Interval in secs to reread active"
 msgstr "Active alle ... Sekunden neu lesen"
 
-#: src/lang.c:3192
+#: src/lang.c:3253
 msgid ""
 "# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr ""
 "# Zeitintervall in Sekunden zwischen dem Wiedereinlesen des active (0=nie)\n"
 
-#: src/lang.c:3197
+#: src/lang.c:3258
 msgid "Reconnect to server automatically"
 msgstr "Autom. Wiederverbindung zum Server"
 
-#: src/lang.c:3198
+#: src/lang.c:3259
 msgid ""
 "# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr ""
 "# Falls ON wird eine unterbrochene Verbindung zum NNTP Server\n"
 "# automatisch wiederhergestellt.\n"
 
-#: src/lang.c:3202
+#: src/lang.c:3263
 msgid ""
 "Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Erzeuge lokale Kopien der NNTP Overview Dateien. <SPACE> wechselt & <CR> "
 "setzt."
 
-#: src/lang.c:3203
+#: src/lang.c:3264
 msgid "Cache NNTP overview files locally"
 msgstr "Speichere NNTP Overview Daten lokal"
 
-#: src/lang.c:3204
+#: src/lang.c:3265
 msgid "# If ON, create local copies of NNTP overview files.\n"
 msgstr "# Falls ON, erzeuge lokale Kopien der NNTP Overview Dateien.\n"
 
-#: src/lang.c:3208 src/lang.c:3223 src/lang.c:3243 src/lang.c:3266
-#: src/lang.c:3291 src/lang.c:3313 src/lang.c:3332
+#: src/lang.c:3270
+msgid ""
+"Compress local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
+msgstr ""
+"Komprimieren der lokale NNTP Overview Dateien. <SPACE> wechselt & <CR> "
+"setzt."
+
+#: src/lang.c:3271
+msgid "Compress locally cached NNTP overview files"
+msgstr "Komprimieren der lokalen NNTP Overview Daten"
+
+#: src/lang.c:3272
+msgid "# If ON, compress local copies of NNTP overview files.\n"
+msgstr "# Falls ON, lokale Kopien der NNTP Overview Dateien komprimieren.\n"
+
+#: src/lang.c:3277 src/lang.c:3292 src/lang.c:3312 src/lang.c:3335
+#: src/lang.c:3360 src/lang.c:3382 src/lang.c:3401
 msgid "Enter format string. <CR> sets, <ESC> cancels."
 msgstr "Format-Zeichenkette eingeben. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:3209
+#: src/lang.c:3278
 msgid "Format string for selection level"
-msgstr "Formatanweisung fÃ¼r die Auswahlebene"
+msgstr "Formatanw. fÃ¼r die Auswahlebene"
 
-#: src/lang.c:3210
+#: src/lang.c:3279
 msgid ""
 "# Format string for selection level representation\n"
 "# Default: %f %n %U  %G  %d\n"
@@ -8724,11 +8901,11 @@ msgstr ""
 "#   %n              aktuelle Gruppennummer\n"
 "#   %U              Anzahl ungelesener Artikel\n"
 
-#: src/lang.c:3224
+#: src/lang.c:3293
 msgid "Format string for group level"
-msgstr "Formatanweisung fÃ¼r die Gruppenebene"
+msgstr "Formatanw. fÃ¼r die Gruppenebene"
 
-#: src/lang.c:3225
+#: src/lang.c:3294
 msgid ""
 "# Format string for group level representation\n"
 "# Default: %n %m %R %L  %s  %F\n"
@@ -8762,11 +8939,11 @@ msgstr ""
 "#   %s              Subject\n"
 "#   %S              Bewertung (Score)\n"
 
-#: src/lang.c:3244
+#: src/lang.c:3313
 msgid "Format string for attachment level"
-msgstr "Formatanweisung fÃ¼r die Anhangsebene"
+msgstr "Formatanw. fÃ¼r die Anhangsebene"
 
-#: src/lang.c:3245
+#: src/lang.c:3314
 msgid ""
 "# Format string for attachment level representation\n"
 "# Default: %t%s%e%c%d\n"
@@ -8806,11 +8983,11 @@ msgstr ""
 "#   %Z              GrÃ¶ÃŸe in Bytes\n"
 "#   %z              Wie %Z aber mit Beschreibung\n"
 
-#: src/lang.c:3267
+#: src/lang.c:3336
 msgid "Format string for display of mime header"
-msgstr "Formatanweisung fÃ¼r die Anzeige des MIME-Headers"
+msgstr "Formatanw. f. Anzeige MIME-Headers"
 
-#: src/lang.c:3268
+#: src/lang.c:3337
 msgid ""
 "# Format string for mime header at article level\n"
 "# Default: [-- %T%S%*n%z%*l%!c%!d%*e --]\n"
@@ -8854,11 +9031,11 @@ msgstr ""
 "#   %Z              GrÃ¶ÃŸe in Bytes\n"
 "#   %z              Wie %Z aber mit Beschreibung\n"
 
-#: src/lang.c:3292
+#: src/lang.c:3361
 msgid "Format string for display of uue header"
-msgstr "Formatanweisung fÃ¼r die Anzeige des UUE-Headers"
+msgstr "Formatanw. f. Anzeige UUE-Headers"
 
-#: src/lang.c:3293
+#: src/lang.c:3362
 msgid ""
 "# Format string for uue header at article level\n"
 "# Default: [-- %T%S%*n%I%!d%*e --]\n"
@@ -8896,11 +9073,11 @@ msgstr ""
 "#   %Z              GrÃ¶ÃŸe in Bytes\n"
 "#   %z              Wie %Z aber mit Beschreibung\n"
 
-#: src/lang.c:3314
+#: src/lang.c:3383
 msgid "Format string for thread level"
-msgstr "Formatanweisung fÃ¼r die Threadebene"
+msgstr "Formatanw. fÃ¼r die Threadebene"
 
-#: src/lang.c:3315
+#: src/lang.c:3384
 msgid ""
 "# Format string for thread level representation\n"
 "# Default: %n %m  [%L]  %T  %F\n"
@@ -8932,19 +9109,19 @@ msgstr ""
 "#   %S              Bewertung (Score)\n"
 "#   %T              Subject und/oder Baumdarstellung des Thread\n"
 
-#: src/lang.c:3333
+#: src/lang.c:3402
 msgid "Format string for display of dates"
 msgstr "Datums Format-Zeichenkette"
 
-#: src/lang.c:3334
+#: src/lang.c:3403
 msgid "# Format string for date representation\n"
 msgstr "# Zeichenkette die die Datumsanzeige beschreibt.\n"
 
-#: src/lang.c:3344
+#: src/lang.c:3413
 msgid "Unicode normalization form"
 msgstr "Unicode Normalisierungsart"
 
-#: src/lang.c:3345
+#: src/lang.c:3414
 msgid ""
 "# Unicode normalization form\n"
 "# Possible values are:\n"
@@ -8964,19 +9141,19 @@ msgstr ""
 "#   4 = NFD\n"
 "#   5 = NFKC_CF\n"
 
-#: src/lang.c:3359
+#: src/lang.c:3428
 msgid "Render BiDi"
 msgstr "BiDi wiedergeben"
 
-#: src/lang.c:3360
+#: src/lang.c:3429
 msgid "# If ON, bi-directional text is rendered by tin\n"
 msgstr "# Falls ON, wird bi-direktionaler Text von tin wiedergeben.\n"
 
-#: src/lang.c:3367
+#: src/lang.c:3436
 msgid "Function for sorting articles"
 msgstr "Sortierfunktion"
 
-#: src/lang.c:3368
+#: src/lang.c:3437
 msgid ""
 "# Function for sorting articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8988,185 +9165,193 @@ msgstr ""
 "# * 0 = qsort\n"
 "#   1 = heapsort\n"
 
-#: src/lang.c:3381
+#: src/lang.c:3450
 msgid "Automatically GroupMarkUnselArtRead"
 msgstr "GroupMarkUnselArtRead Kommando automatisch ausfÃ¼hren"
 
-#: src/lang.c:3387
+#: src/lang.c:3456
 msgid "Delete post-process files"
 msgstr "Nachbearbeitete Artikel lÃ¶schen"
 
-#: src/lang.c:3392
+#: src/lang.c:3461
 msgid "Filename for all mailed articles, <CR> sets, no filename=do not save."
 msgstr ""
 "Dateiname fÃ¼r Kopie der Mailantworten. <CR> setzt, kein Name=keine Kopie."
 
-#: src/lang.c:3393
+#: src/lang.c:3462
 msgid "Mailbox to save sent mails"
 msgstr "Mailbox fÃ¼r Kopie der Mailantworten"
 
-#: src/lang.c:3398
+#: src/lang.c:3467
 msgid "Set Followup-To: header to this group(s). <CR> sets, <ESC> cancels."
 msgstr ""
 "Followup-To:-Header auf folgende Gruppe(n) setzten. <CR> setzt, <ESC> bricht "
 "ab."
 
-#: src/lang.c:3399
+#: src/lang.c:3468
 msgid "Followup-To: header"
 msgstr "Followup-To:-Header"
 
-#: src/lang.c:3404
+#: src/lang.c:3473
 msgid "Enter default mail address (and fullname). <CR> sets, <ESC> cancels."
 msgstr ""
 "Standard Mail-Adresse (und Name) eingeben. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:3411
+#: src/lang.c:3480
 msgid ""
 "Path and options for ispell-like spell-checker. <CR> sets, <ESC> cancels."
 msgstr ""
 "Pfad & Optionen f. ispell komp. RechtschreibprÃ¼fer. <CR> setzt, <ESC> bricht "
 "ab."
 
-#: src/lang.c:3412
+#: src/lang.c:3481
 msgid "Ispell program"
 msgstr "ispell Programm"
 
-#: src/lang.c:3418
+#: src/lang.c:3487
 msgid "When group is a mailing list, send responses to this email address."
 msgstr ""
 "Falls die Gruppe eine Mailingliste ist gehen Antworten an diese "
 "Listenadresse."
 
-#: src/lang.c:3419
+#: src/lang.c:3488
 msgid "Mailing list address"
 msgstr "Adresse der Mailingliste"
 
-#: src/lang.c:3425
+#: src/lang.c:3494
 msgid "Forward articles as attachment"
 msgstr "Artikel als Anhang weiterleiten"
 
-#: src/lang.c:3430
+#: src/lang.c:3499
 msgid ""
 "A comma separated list of MIME major/minor Content-Types. <ESC> cancels."
 msgstr ""
 "Kommata getrennte Liste von MIME-Haupt/Neben Content-Typen. <ESC> bricht ab."
 
-#: src/lang.c:3431
+#: src/lang.c:3500
 msgid "Which MIME types will be saved"
 msgstr "Welche MIME-Typen werden gespeichert"
 
-#: src/lang.c:3436
+#: src/lang.c:3505
 msgid "Value of the Organization: header. <CR> sets, <ESC> cancels."
 msgstr "Wert des Organization:-Headers. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:3437
+#: src/lang.c:3506
 msgid "Organization: header"
 msgstr "Organization:-Header"
 
-#: src/lang.c:3442
+#: src/lang.c:3511
 msgid "Filename for saved articles. <CR> sets, <ESC> cancels."
 msgstr "Dateiname fÃ¼r gespeicherte Artikel. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:3443
+#: src/lang.c:3512
 msgid "savefile"
 msgstr "Dateiname"
 
-#: src/lang.c:3448 src/lang.c:3472
+#: src/lang.c:3517 src/lang.c:3541
 msgid "Scope for the filter rule. <CR> sets, <ESC> cancels."
 msgstr "GÃ¼ltigkeitsbereich fÃ¼r die Filterregel. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:3449
+#: src/lang.c:3518
 msgid "Quick (1 key) select filter scope"
 msgstr "Schnell (1 Tasten) Auswahlfilter GÃ¼ltigkeitsbereich"
 
-#: src/lang.c:3454 src/lang.c:3478
+#: src/lang.c:3523 src/lang.c:3547
 msgid "Header for filter rule. <CR> sets, <ESC> cancels."
 msgstr "Header fÃ¼r Filterregel. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:3455
+#: src/lang.c:3524
 msgid "Quick (1 key) select filter header"
 msgstr "Schnell (1 Tasten) Auswahlfilter Header"
 
-#: src/lang.c:3460 src/lang.c:3484
+#: src/lang.c:3529 src/lang.c:3553
 msgid "ON = case sensitive, OFF = ignore case. <CR> sets, <ESC> cancels."
 msgstr "GroÃŸ-/Kleinschreibung beachten (ON) oder ignorieren (OFF)."
 
-#: src/lang.c:3461
+#: src/lang.c:3530
 msgid "Quick (1 key) select filter case"
 msgstr "Schnell (1 Tasten) Auswahlfilter GroÃŸ-/Kleinschreibung"
 
-#: src/lang.c:3466 src/lang.c:3490
+#: src/lang.c:3535 src/lang.c:3559
 msgid "ON = expire, OFF = don't ever expire. <CR> sets, <ESC> cancels."
 msgstr ""
 "ON = kann verfallen, OFF = niemals verfallen lassen. <CR> setzt, <ESC> "
 "bricht ab."
 
-#: src/lang.c:3467
+#: src/lang.c:3536
 msgid "Quick (1 key) select filter expire"
 msgstr "Schnell (1 Tasten) Auswahlfilter Ablaufdatum"
 
-#: src/lang.c:3473
+#: src/lang.c:3542
 msgid "Quick (1 key) kill filter scope"
 msgstr "Schnell (1 Tasten) Killfilter GÃ¼ltigkeitsbereich"
 
-#: src/lang.c:3479
+#: src/lang.c:3548
 msgid "Quick (1 key) kill filter header"
 msgstr "Schnell (1 Tasten) Killfilter Header"
 
-#: src/lang.c:3485
+#: src/lang.c:3554
 msgid "Quick (1 key) kill filter case"
 msgstr "Schnell (1 Tasten) Killfilter GroÃŸ-/Kleinschreibung"
 
-#: src/lang.c:3491
+#: src/lang.c:3560
 msgid "Quick (1 key) kill filter expire"
 msgstr "Schnell (1 Tasten) Killfilter Ablaufdatum"
 
-#: src/lang.c:3497
+#: src/lang.c:3566
 msgid "Assume this charset if no charset declaration is present, <CR> to set."
 msgstr "Diesen Zeichensatz annehmen falls kleiner deklariert ist. <CR> setzt."
 
-#: src/lang.c:3498
+#: src/lang.c:3567
 msgid "UNDECLARED_CHARSET"
 msgstr "UNDECLARED_CHARSET"
 
-#: src/lang.c:3504
+#: src/lang.c:3572
+msgid "Guess charset if no charset declaration is present, <CR> to set."
+msgstr "Zeichensatz vermuten falls kleiner deklariert ist. <CR> setzt."
+
+#: src/lang.c:3573
+msgid "UNDECLARED_CS_GUESS"
+msgstr "UNDECLARED_CS_GUESS"
+
+#: src/lang.c:3580
 msgid ""
 "Add this text at the start of the message body. <CR> sets, <ESC> cancels."
 msgstr ""
 "Diesen Text am Anfang des Artikels einfÃ¼gen. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:3505
+#: src/lang.c:3581
 msgid "X_Body"
 msgstr "X_Body"
 
-#: src/lang.c:3510
+#: src/lang.c:3586
 msgid "Insert this header when posting. <CR> sets, <ESC> cancels."
 msgstr "Diesen Header beim Posten einfÃ¼gen. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:3511
+#: src/lang.c:3587
 msgid "X_Headers"
 msgstr "X_Headers"
 
-#: src/lang.c:3516
+#: src/lang.c:3592
 msgid ""
 "Automatically insert an X-Comment-To: header? <SPACE> toggles & <CR> sets."
 msgstr ""
 "X-Comment-To:-Header automatische einfÃ¼gen? <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:3517
+#: src/lang.c:3593
 msgid "Insert 'X-Comment-To:' header"
 msgstr "FÃ¼ge 'X-Comment-To:'-Header ein"
 
-#: src/lang.c:3523
+#: src/lang.c:3599
 msgid "Enter name of file containing trusted CA certificates. <CR> sets."
 msgstr ""
 "Name der Datei mit vertrauenswÃ¼rdigen CA-Zertifikaten eingeben. <CR> setzt."
 
-#: src/lang.c:3524
+#: src/lang.c:3600
 msgid "CA certificate file"
 msgstr "CA-Zertifikatsdatei"
 
-#: src/lang.c:3525
+#: src/lang.c:3601
 msgid ""
 "# name of file containing all trusted CA certificates (empty = system "
 "default)\n"
@@ -9174,7 +9359,7 @@ msgstr ""
 "# Name der Datei, die alle vertrauenswÃ¼rdigen CA-Zertifikate enthÃ¤lt.\n"
 "# (leer = Systemvoreinstellung)\n"
 
-#: src/nntplib.c:908
+#: src/nntplib.c:963
 #, c-format
 msgid ""
 "\n"
@@ -9183,28 +9368,28 @@ msgstr ""
 "\n"
 "Server reagierte nicht, Wiederholung Nummer # %d\n"
 
-#: src/nntplib.c:950 src/nntplib.c:2032
+#: src/nntplib.c:1006 src/nntplib.c:2115
 msgid "Rejoin current group\n"
 msgstr "Betrete aktuelle Gruppe neu\n"
 
-#: src/nntplib.c:959 src/nntplib.c:2041
+#: src/nntplib.c:1015 src/nntplib.c:2124
 #, c-format
 msgid "Read (%s)\n"
 msgstr "Lese (%s)\n"
 
-#: src/nntplib.c:961
+#: src/nntplib.c:1017
 #, c-format
 msgid "Resend last command (%s)\n"
 msgstr "Sende letztes Kommando (%s) neu\n"
 
-#: src/read.c:363
+#: src/read.c:358
 msgid "Aborted read\n"
 msgstr "Lesen abgebrochen\n"
 
-#: src/read.c:418
+#: src/read.c:413
 msgid "Draining\n"
 msgstr "Ablassen\n"
 
-#: src/refs.c:656
+#: src/refs.c:654
 msgid "[- Unavailable -]"
 msgstr "[- Nicht VerfÃ¼gbar -]"
Binary files tin-2.6.3/po/en_GB.gmo and tin-2.6.4/po/en_GB.gmo differ
diff -Nurp '--exclude=.bzr*' tin-2.6.3/po/en_GB.po tin-2.6.4/po/en_GB.po
--- tin-2.6.3/po/en_GB.po	2023-12-24 00:38:36.000000000 +0100
+++ tin-2.6.4/po/en_GB.po	2024-12-21 15:46:50.775995938 +0100
@@ -1,14 +1,14 @@
 # English (British) translation for tin.
 # This file is distributed under the same license as the tin package.
 # Robert Brady <rwb197@ecs.soton.ac.uk>, 2000-2002.
-# Urs Janssen <urs@tin.org>, 2004-2024
+# Urs Janssen <urs@tin.org>, 2004-2025
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: tin 2.6.3\n"
+"Project-Id-Version: tin 2.6.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-12-13 22:25+0100\n"
-"PO-Revision-Date: 2023-12-13 22:26+0100\n"
+"POT-Creation-Date: 2024-12-21 15:42+0100\n"
+"PO-Revision-Date: 2024-12-21 15:46+0100\n"
 "Last-Translator: Urs Janssen <urs@tin.org>\n"
 "Language-Team: \n"
 "Language: en_GB\n"
@@ -16,11 +16,11 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/lang.c:45
+#: src/lang.c:48
 msgid "1 Response"
 msgstr "1 Response"
 
-#: src/lang.c:49
+#: src/lang.c:50
 #, c-format
 msgid ""
 "\n"
@@ -29,36 +29,36 @@ msgstr ""
 "\n"
 "%s contains no newsgroups. Exiting."
 
-#: src/lang.c:51
+#: src/lang.c:52
 msgid "Aborting read, please wait..."
 msgstr "Aborting read, please wait..."
 
-#: src/lang.c:53
+#: src/lang.c:54
 msgid "all"
 msgstr "all"
 
-#: src/lang.c:54
+#: src/lang.c:55
 msgid "All groups"
 msgstr "All groups"
 
-#: src/lang.c:55
+#: src/lang.c:56
 #, c-format
 msgid "File %s exists. %s=append, %s=overwrite, %s=quit: "
 msgstr "File %s exists. %s=append, %s=overwrite, %s=quit: "
 
-#: src/lang.c:56
+#: src/lang.c:57
 msgid "Article cancelled (deleted)."
 msgstr "Article cancelled (deleted)."
 
-#: src/lang.c:58
+#: src/lang.c:59
 msgid "Article cannot be cancelled (deleted)."
 msgstr "Article cannot be cancelled (deleted)."
 
-#: src/lang.c:60
+#: src/lang.c:61
 msgid "Article deleted."
 msgstr "Article deleted."
 
-#: src/lang.c:61
+#: src/lang.c:62
 #, c-format
 msgid ""
 "\n"
@@ -73,7 +73,7 @@ msgstr ""
 "will be mailed to the following address:\n"
 "  %s"
 
-#: src/lang.c:62
+#: src/lang.c:63
 #, c-format
 msgid ""
 "\n"
@@ -86,141 +86,145 @@ msgstr ""
 "  \"%s\"\n"
 "will be posted to the following %s:\n"
 
-#: src/lang.c:63
+#: src/lang.c:64
 msgid "Article not posted!"
 msgstr "Article not posted!"
 
-#: src/lang.c:64
+#: src/lang.c:65
 msgid "Article not saved"
 msgstr "Article not saved"
 
-#: src/lang.c:65
+#: src/lang.c:66
 msgid "Article Level Commands"
 msgstr "Article Level Commands"
 
-#: src/lang.c:66
+#: src/lang.c:67
 msgid "Article has no parent"
 msgstr "Article has no parent"
 
-#: src/lang.c:67
+#: src/lang.c:68
 msgid "Parent article has been killed"
 msgstr "Parent article has been killed"
 
-#: src/lang.c:68
+#: src/lang.c:69
 msgid "Parent article is unavailable"
 msgstr "Parent article is unavailable"
 
-#: src/lang.c:69
+#: src/lang.c:70
 #, c-format
 msgid "Article posted: %s"
 msgstr "Article posted: %s"
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid "Article rejected (saved to %s)"
 msgstr "Article rejected (saved to %s)"
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid ""
 "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: "
 msgstr ""
 "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: "
 
-#: src/lang.c:72
+#: src/lang.c:73
 msgid "Article unavailable"
 msgstr "Article unavailable"
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid "Article undeleted."
 msgstr "Article undeleted."
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid "Article %4d of %4d"
 msgstr "Article %4d of %4d"
 
-#: src/lang.c:76
+#: src/lang.c:77
+msgid "Article Info Page"
+msgstr "Article Info Page"
+
+#: src/lang.c:78
 msgid "articles"
 msgstr "articles"
 
-#: src/lang.c:77
+#: src/lang.c:79
 msgid "This is a repost of the following article:"
 msgstr "This is a repost of the following article:"
 
-#: src/lang.c:78
+#: src/lang.c:80
 msgid "article"
 msgstr "article"
 
-#: src/lang.c:79
+#: src/lang.c:81
 msgid "Article"
 msgstr "Article"
 
-#: src/lang.c:80
+#: src/lang.c:82
 #, c-format
 msgid "-- %d %s mailed --"
 msgstr "-- %d %s mailed --"
 
-#: src/lang.c:81
+#: src/lang.c:83
 #, c-format
 msgid " at %s"
 msgstr " at %s"
 
-#: src/lang.c:84
+#: src/lang.c:86
 #, c-format
 msgid "charset %s"
 msgstr "charset %s"
 
-#: src/lang.c:85
+#: src/lang.c:87
 #, c-format
 msgid "content subtype %s"
 msgstr "content subtype %s"
 
-#: src/lang.c:86
+#: src/lang.c:88
 #, c-format
 msgid "content type %s"
 msgstr "content type %s"
 
-#: src/lang.c:87
+#: src/lang.c:89
 #, c-format
 msgid "%*s[-- charset %s not supported --]\n"
 msgstr "%*s[-- charset %s not supported --]\n"
 
-#: src/lang.c:88
+#: src/lang.c:90
 #, c-format
 msgid "%*s[-- Description: %s --]\n"
 msgstr "%*s[-- Description: %s --]\n"
 
-#: src/lang.c:89
+#: src/lang.c:91
 #, c-format
 msgid "encoding %s"
 msgstr "encoding %s"
 
-#: src/lang.c:95
+#: src/lang.c:97
 #, c-format
 msgid "lang %s"
 msgstr "lang %s"
 
-#: src/lang.c:96
+#: src/lang.c:98
 #, c-format
 msgid "%s lines"
 msgstr "%s lines"
 
-#: src/lang.c:97
+#: src/lang.c:99
 #, c-format
 msgid "name %s"
 msgstr "name %s"
 
-#: src/lang.c:98
+#: src/lang.c:100
 msgid ", "
 msgstr ", "
 
-#: src/lang.c:99
+#: src/lang.c:101
 #, c-format
 msgid "size %s"
 msgstr "size %s"
 
-#: src/lang.c:100
+#: src/lang.c:102
 msgid ""
 "This message has been composed in the 'multipart/mixed' MIME-format. If you\n"
 "are reading this prefix, your mail reader probably has not yet been "
@@ -234,46 +238,46 @@ msgstr ""
 "to understand the new format, and some of what follows may look strange.\n"
 "\n"
 
-#: src/lang.c:104
+#: src/lang.c:106
 msgid "Attachment Menu"
 msgstr "Attachment Menu"
 
-#: src/lang.c:105
+#: src/lang.c:107
 msgid "Attachment Menu Commands"
 msgstr "Attachment Menu Commands"
 
-#: src/lang.c:106
+#: src/lang.c:108
 msgid "<no name>"
 msgstr "<no name>"
 
-#: src/lang.c:107
+#: src/lang.c:109
 #, c-format
 msgid "Attachment saved successfully. (%s)"
 msgstr "Attachment saved successfully. (%s)"
 
-#: src/lang.c:108
+#: src/lang.c:110
 #, c-format
 msgid "%d of %d attachments saved successfully."
 msgstr "%d of %d attachments saved successfully."
 
-#: src/lang.c:109
+#: src/lang.c:111
 msgid "Select attachment> "
 msgstr "Select attachment> "
 
-#: src/lang.c:110
+#: src/lang.c:112
 msgid "Tagged attachment"
 msgstr "Tagged attachment"
 
-#: src/lang.c:111
+#: src/lang.c:113
 #, c-format
 msgid "%d attachments tagged"
 msgstr "%d attachments tagged"
 
-#: src/lang.c:112
+#: src/lang.c:114
 msgid "Untagged attachment"
 msgstr "Untagged attachment"
 
-#: src/lang.c:115
+#: src/lang.c:117
 msgid ""
 "# Do not edit this comment block\n"
 "#\n"
@@ -281,319 +285,323 @@ msgstr ""
 "# Do not edit this comment block\n"
 "#\n"
 
-#: src/lang.c:116
+#: src/lang.c:118
 msgid "#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr "#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 
-#: src/lang.c:117
+#: src/lang.c:119
 msgid "#  add_posted_to_filter=ON/OFF\n"
 msgstr "#  add_posted_to_filter=ON/OFF\n"
 
-#: src/lang.c:118
+#: src/lang.c:120
 msgid "#  advertising=ON/OFF\n"
 msgstr "#  advertising=ON/OFF\n"
 
-#: src/lang.c:119
+#: src/lang.c:121
 msgid "#  alternative_handling=ON/OFF\n"
 msgstr "#  alternative_handling=ON/OFF\n"
 
-#: src/lang.c:120
+#: src/lang.c:122
 msgid "#  ask_for_metamail=ON/OFF\n"
 msgstr "#  ask_for_metamail=ON/OFF\n"
 
-#: src/lang.c:121
+#: src/lang.c:123
 msgid "#  auto_cc_bcc=NUM\n"
 msgstr "#  auto_cc_bcc=NUM\n"
 
-#: src/lang.c:122
+#: src/lang.c:124
 msgid "#    0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n"
 msgstr "#    0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n"
 
-#: src/lang.c:123
+#: src/lang.c:125
 msgid "#  auto_list_thread=ON/OFF\n"
 msgstr "#  auto_list_thread=ON/OFF\n"
 
-#: src/lang.c:124
+#: src/lang.c:126
 msgid "#  auto_select=ON/OFF\n"
 msgstr "#  auto_select=ON/OFF\n"
 
-#: src/lang.c:125
+#: src/lang.c:127
 msgid "#  batch_save=ON/OFF\n"
 msgstr "#  batch_save=ON/OFF\n"
 
-#: src/lang.c:126
+#: src/lang.c:128
 msgid "#  date_format=STRING (eg. %a, %d %b %Y %H:%M:%S)\n"
 msgstr "#  date_format=STRING (eg. %a, %d %b %Y %H:%M:%S)\n"
 
-#: src/lang.c:127
+#: src/lang.c:129
 msgid "#  delete_tmp_files=ON/OFF\n"
 msgstr "#  delete_tmp_files=ON/OFF\n"
 
-#: src/lang.c:128
+#: src/lang.c:130
 msgid "#  editor_format=STRING (eg. %E +%N %F)\n"
 msgstr "#  editor_format=STRING (eg. %E +%N %F)\n"
 
-#: src/lang.c:129
+#: src/lang.c:131
 msgid "#  fcc=STRING (eg. =mailbox)\n"
 msgstr "#  fcc=STRING (eg. =mailbox)\n"
 
-#: src/lang.c:130
+#: src/lang.c:132
 msgid "#  followup_to=STRING\n"
 msgstr "#  followup_to=STRING\n"
 
-#: src/lang.c:131
+#: src/lang.c:133
 msgid "#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr "#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 
-#: src/lang.c:132
+#: src/lang.c:134
 msgid "#  group_catchup_on_exit=ON/OFF\n"
 msgstr "#  group_catchup_on_exit=ON/OFF\n"
 
-#: src/lang.c:133
+#: src/lang.c:135
 msgid "#  group_format=STRING (eg. %n %m %R %L  %s  %F)\n"
 msgstr "#  group_format=STRING (eg. %n %m %R %L  %s  %F)\n"
 
-#: src/lang.c:134
+#: src/lang.c:136
 msgid "#  mail_8bit_header=ON/OFF\n"
 msgstr "#  mail_8bit_header=ON/OFF\n"
 
-#: src/lang.c:135
+#: src/lang.c:137
 msgid "#  mail_mime_encoding=supported_encoding"
 msgstr "#  mail_mime_encoding=supported_encoding"
 
-#: src/lang.c:137
+#: src/lang.c:139
 msgid "#  ispell=STRING\n"
 msgstr "#  ispell=STRING\n"
 
-#: src/lang.c:139
+#: src/lang.c:141
 msgid "#  maildir=STRING (eg. ~/Mail)\n"
 msgstr "#  maildir=STRING (eg. ~/Mail)\n"
 
-#: src/lang.c:140
+#: src/lang.c:142
 msgid "#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr "#  mailing_list=STRING (eg. majordomo@example.org)\n"
 
-#: src/lang.c:141
+#: src/lang.c:143
 msgid "#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr "#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 
-#: src/lang.c:142
+#: src/lang.c:144
 msgid "#  mark_ignore_tags=ON/OFF\n"
 msgstr "#  mark_ignore_tags=ON/OFF\n"
 
-#: src/lang.c:143
+#: src/lang.c:145
 msgid "#  mark_saved_read=ON/OFF\n"
 msgstr "#  mark_saved_read=ON/OFF\n"
 
-#: src/lang.c:144
+#: src/lang.c:146
 msgid "#  mime_forward=ON/OFF\n"
 msgstr "#  mime_forward=ON/OFF\n"
 
-#: src/lang.c:146
+#: src/lang.c:148
 msgid "#  mm_network_charset=supported_charset"
 msgstr "#  mm_network_charset=supported_charset"
 
-#: src/lang.c:147
+#: src/lang.c:149
 msgid "#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr "#  undeclared_charset=STRING (default is US-ASCII)\n"
 
-#: src/lang.c:149
+#: src/lang.c:151
+msgid "#  undeclared_cs_guess=ON/OFF (default is OFF)\n"
+msgstr "#  undeclared_cs_guess=ON/OFF (default is OFF)\n"
+
+#: src/lang.c:154
 msgid "#  news_headers_to_display=STRING\n"
 msgstr "#  news_headers_to_display=STRING\n"
 
-#: src/lang.c:150
+#: src/lang.c:155
 msgid "#  news_headers_to_not_display=STRING\n"
 msgstr "#  news_headers_to_not_display=STRING\n"
 
-#: src/lang.c:151
+#: src/lang.c:156
 msgid "#  news_quote_format=STRING\n"
 msgstr "#  news_quote_format=STRING\n"
 
-#: src/lang.c:152
+#: src/lang.c:157
 msgid "#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr "#  organisation=STRING (if beginning with '/' read from file)\n"
 
-#: src/lang.c:153
+#: src/lang.c:158
 msgid "#  pos_first_unread=ON/OFF\n"
 msgstr "#  pos_first_unread=ON/OFF\n"
 
-#: src/lang.c:154
+#: src/lang.c:159
 msgid "#  post_8bit_header=ON/OFF\n"
 msgstr "#  post_8bit_header=ON/OFF\n"
 
-#: src/lang.c:155
+#: src/lang.c:160
 msgid "#  post_mime_encoding=supported_encoding"
 msgstr "#  post_mime_encoding=supported_encoding"
 
-#: src/lang.c:156
+#: src/lang.c:161
 msgid "#  post_process_type=NUM\n"
 msgstr "#  post_process_type=NUM\n"
 
-#: src/lang.c:157
+#: src/lang.c:162
 msgid "#  post_process_view=ON/OFF\n"
 msgstr "#  post_process_view=ON/OFF\n"
 
-#: src/lang.c:158
+#: src/lang.c:163
 msgid "#  quick_kill_scope=STRING (e.g. talk.*)\n"
 msgstr "#  quick_kill_scope=STRING (e.g. talk.*)\n"
 
-#: src/lang.c:159
+#: src/lang.c:164
 msgid "#  quick_kill_expire=ON/OFF\n"
 msgstr "#  quick_kill_expire=ON/OFF\n"
 
-#: src/lang.c:160
+#: src/lang.c:165
 msgid "#  quick_kill_case=ON/OFF\n"
 msgstr "#  quick_kill_case=ON/OFF\n"
 
-#: src/lang.c:161
+#: src/lang.c:166
 msgid "#  quick_kill_header=NUM\n"
 msgstr "#  quick_kill_header=NUM\n"
 
-#: src/lang.c:162 src/lang.c:171
+#: src/lang.c:167 src/lang.c:176
 msgid "#    0=Subject: (case sensitive)  1=Subject: (ignore case)\n"
 msgstr "#    0=Subject: (case sensitive)  1=Subject: (ignore case)\n"
 
-#: src/lang.c:163 src/lang.c:172
+#: src/lang.c:168 src/lang.c:177
 msgid "#    2=From: (case sensitive)     3=From: (ignore case)\n"
 msgstr "#    2=From: (case sensitive)     3=From: (ignore case)\n"
 
-#: src/lang.c:164 src/lang.c:173
+#: src/lang.c:169 src/lang.c:178
 msgid "#    4=Message-ID: & full References: line\n"
 msgstr "#    4=Message-ID: & full References: line\n"
 
-#: src/lang.c:165 src/lang.c:174
+#: src/lang.c:170 src/lang.c:179
 msgid "#    5=Message-ID: & last References: entry only\n"
 msgstr "#    5=Message-ID: & last References: entry only\n"
 
-#: src/lang.c:166 src/lang.c:175
+#: src/lang.c:171 src/lang.c:180
 msgid "#    6=Message-ID: entry only     7=Lines:\n"
 msgstr "#    6=Message-ID: entry only     7=Lines:\n"
 
-#: src/lang.c:167
+#: src/lang.c:172
 msgid "#  quick_select_scope=STRING\n"
 msgstr "#  quick_select_scope=STRING\n"
 
-#: src/lang.c:168
+#: src/lang.c:173
 msgid "#  quick_select_expire=ON/OFF\n"
 msgstr "#  quick_select_expire=ON/OFF\n"
 
-#: src/lang.c:169
+#: src/lang.c:174
 msgid "#  quick_select_case=ON/OFF\n"
 msgstr "#  quick_select_case=ON/OFF\n"
 
-#: src/lang.c:170
+#: src/lang.c:175
 msgid "#  quick_select_header=NUM\n"
 msgstr "#  quick_select_header=NUM\n"
 
-#: src/lang.c:176
+#: src/lang.c:181
 msgid "#  quote_chars=STRING (%I for initials)\n"
 msgstr "#  quote_chars=STRING (%I for initials)\n"
 
-#: src/lang.c:178
+#: src/lang.c:183
 msgid "#  print_header=ON/OFF\n"
 msgstr "#  print_header=ON/OFF\n"
 
-#: src/lang.c:180
+#: src/lang.c:185
 msgid "#  process_only_unread=ON/OFF\n"
 msgstr "#  process_only_unread=ON/OFF\n"
 
-#: src/lang.c:181
+#: src/lang.c:186
 msgid "#  prompt_followupto=ON/OFF\n"
 msgstr "#  prompt_followupto=ON/OFF\n"
 
-#: src/lang.c:182
+#: src/lang.c:187
 msgid "#  savedir=STRING (eg. ~user/News)\n"
 msgstr "#  savedir=STRING (eg. ~user/News)\n"
 
-#: src/lang.c:183
+#: src/lang.c:188
 msgid "#  savefile=STRING (eg. =linux)\n"
 msgstr "#  savefile=STRING (eg. =linux)\n"
 
-#: src/lang.c:184
+#: src/lang.c:189
 msgid "#  sigfile=STRING (eg. $var/sig)\n"
 msgstr "#  sigfile=STRING (eg. $var/sig)\n"
 
-#: src/lang.c:185
+#: src/lang.c:190
 msgid "#  show_author=NUM\n"
 msgstr "#  show_author=NUM\n"
 
-#: src/lang.c:186
+#: src/lang.c:191
 msgid "#  show_signatures=ON/OFF\n"
 msgstr "#  show_signatures=ON/OFF\n"
 
-#: src/lang.c:187
+#: src/lang.c:192
 msgid "#  show_art_score=ON/OFF\n"
 msgstr "#  show_art_score=ON/OFF\n"
 
-#: src/lang.c:189
+#: src/lang.c:194
 msgid "#  suppress_soft_hyphens=ON/OFF\n"
 msgstr "#  suppress_soft_hyphens=ON/OFF\n"
 
-#: src/lang.c:191
+#: src/lang.c:196
 msgid "#  show_only_unread_arts=ON/OFF\n"
 msgstr "#  show_only_unread_arts=ON/OFF\n"
 
-#: src/lang.c:192
+#: src/lang.c:197
 msgid "#  sigdashes=ON/OFF\n"
 msgstr "#  sigdashes=ON/OFF\n"
 
-#: src/lang.c:193
+#: src/lang.c:198
 msgid "#  signature_repost=ON/OFF\n"
 msgstr "#  signature_repost=ON/OFF\n"
 
-#: src/lang.c:194
+#: src/lang.c:199
 msgid "#  sort_article_type=NUM\n"
 msgstr "#  sort_article_type=NUM\n"
 
-#: src/lang.c:195
+#: src/lang.c:200
 msgid "#  sort_threads_type=NUM\n"
 msgstr "#  sort_threads_type=NUM\n"
 
-#: src/lang.c:196
+#: src/lang.c:201
 msgid "#  tex2iso_conv=ON/OFF\n"
 msgstr "#  tex2iso_conv=ON/OFF\n"
 
-#: src/lang.c:197
+#: src/lang.c:202
 msgid "#  thread_catchup_on_exit=ON/OFF\n"
 msgstr "#  thread_catchup_on_exit=ON/OFF\n"
 
-#: src/lang.c:198
+#: src/lang.c:203
 msgid "#  thread_articles=NUM"
 msgstr "#  thread_articles=NUM"
 
-#: src/lang.c:199
+#: src/lang.c:204
 msgid "#  thread_format=STRING (eg. %n %m [%L]  %T  %F)\n"
 msgstr "#  thread_format=STRING (eg. %n %m [%L]  %T  %F)\n"
 
-#: src/lang.c:200
+#: src/lang.c:205
 msgid "#  thread_perc=NUM\n"
 msgstr "#  thread_perc=NUM\n"
 
-#: src/lang.c:201
+#: src/lang.c:206
 msgid "#  trim_article_body=NUM\n"
 msgstr "#  trim_article_body=NUM\n"
 
-#: src/lang.c:202
+#: src/lang.c:207
 msgid "#    0 = Don't trim article body\n"
 msgstr "#    0 = Don't trim article body\n"
 
-#: src/lang.c:203
+#: src/lang.c:208
 msgid "#    1 = Skip leading blank lines\n"
 msgstr "#    1 = Skip leading blank lines\n"
 
-#: src/lang.c:204
+#: src/lang.c:209
 msgid "#    2 = Skip trailing blank lines\n"
 msgstr "#    2 = Skip trailing blank lines\n"
 
-#: src/lang.c:205
+#: src/lang.c:210
 msgid "#    3 = Skip leading and trailing blank lines\n"
 msgstr "#    3 = Skip leading and trailing blank lines\n"
 
-#: src/lang.c:206
+#: src/lang.c:211
 msgid "#    4 = Compact multiple blank lines between text blocks\n"
 msgstr "#    4 = Compact multiple blank lines between text blocks\n"
 
-#: src/lang.c:207
+#: src/lang.c:212
 msgid ""
 "#    5 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading blank lines\n"
@@ -601,7 +609,7 @@ msgstr ""
 "#    5 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading blank lines\n"
 
-#: src/lang.c:208
+#: src/lang.c:213
 msgid ""
 "#    6 = Compact multiple blank lines between text blocks and skip\n"
 "#        trailing blank lines\n"
@@ -609,7 +617,7 @@ msgstr ""
 "#    6 = Compact multiple blank lines between text blocks and skip\n"
 "#        trailing blank lines\n"
 
-#: src/lang.c:209
+#: src/lang.c:214
 msgid ""
 "#    7 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading and trailing blank lines\n"
@@ -617,31 +625,31 @@ msgstr ""
 "#    7 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading and trailing blank lines\n"
 
-#: src/lang.c:210
+#: src/lang.c:215
 msgid "#  verbatim_handling=ON/OFF\n"
 msgstr "#  verbatim_handling=ON/OFF\n"
 
-#: src/lang.c:212
+#: src/lang.c:217
 msgid "#  extquote_handling=ON/OFF\n"
 msgstr "#  extquote_handling=ON/OFF\n"
 
-#: src/lang.c:214
+#: src/lang.c:219
 msgid "#  wrap_on_next_unread=ON/OFF\n"
 msgstr "#  wrap_on_next_unread=ON/OFF\n"
 
-#: src/lang.c:215
+#: src/lang.c:220
 msgid "#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr "#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 
-#: src/lang.c:216
+#: src/lang.c:221
 msgid "#  x_comment_to=ON/OFF\n"
 msgstr "#  x_comment_to=ON/OFF\n"
 
-#: src/lang.c:217
+#: src/lang.c:222
 msgid "#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr "#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 
-#: src/lang.c:218
+#: src/lang.c:223
 msgid ""
 "#\n"
 "# Note that it is best to put general (global scoping)\n"
@@ -649,7 +657,7 @@ msgstr ""
 "#\n"
 "# Note that it is best to put general (global scoping)\n"
 
-#: src/lang.c:219
+#: src/lang.c:224
 msgid ""
 "# entries first followed by group specific entries.\n"
 "#\n"
@@ -657,62 +665,66 @@ msgstr ""
 "# entries first followed by group specific entries.\n"
 "#\n"
 
-#: src/lang.c:220
+#: src/lang.c:225
 msgid "############################################################################\n"
 msgstr "############################################################################\n"
 
-#: src/lang.c:221
+#: src/lang.c:226
 msgid "Attributes Menu Commands"
 msgstr "Attributes Menu Commands"
 
-#: src/lang.c:222
+#: src/lang.c:227
 #, c-format
 msgid "attribute with no scope: %s"
 msgstr "attribute with no scope: %s"
 
-#: src/lang.c:224
+#: src/lang.c:229
 #, c-format
 msgid "%d Authentication failed"
 msgstr "%d Authentication failed"
 
-#: src/lang.c:225
+#: src/lang.c:230
 #, c-format
 msgid "NNTP authorization password not found for %s"
 msgstr "NNTP authorisation password not found for %s"
 
-#: src/lang.c:226
+#: src/lang.c:231
 msgid "Server expects authentication.\n"
 msgstr "Server expects authentication.\n"
 
-#: src/lang.c:227
+#: src/lang.c:232
 msgid "    Please enter password: "
 msgstr "    Please enter password: "
 
-#: src/lang.c:228
+#: src/lang.c:233
 msgid "    Please enter username: "
 msgstr "    Please enter username: "
 
-#: src/lang.c:229
+#: src/lang.c:234
 #, c-format
 msgid "Authorized for user: %s\n"
 msgstr "Authorised for user: %s\n"
 
-#: src/lang.c:230
+#: src/lang.c:235
 #, c-format
 msgid "Authorization failed for user: %s\n"
 msgstr "Authorisation failed for user: %s\n"
 
-#: src/lang.c:232
+#: src/lang.c:236
+msgid "No supported authorization method available in current state!\n"
+msgstr "No supported authorisation method available in current state!\n"
+
+#: src/lang.c:238
 #, c-format
 msgid "Author search backwards [%s]> "
 msgstr "Author search backwards [%s]> "
 
-#: src/lang.c:233
+#: src/lang.c:239
 #, c-format
 msgid "Author search forwards [%s]> "
 msgstr "Author search forwards [%s]> "
 
-#: src/lang.c:234
+#: src/lang.c:240
 #, c-format
 msgid ""
 "\n"
@@ -721,182 +733,188 @@ msgstr ""
 "\n"
 "Autosubscribed to %s"
 
-#: src/lang.c:235
+#: src/lang.c:241
 msgid "Autosubscribing groups...\n"
 msgstr "Autosubscribing groups...\n"
 
-#: src/lang.c:236
+#: src/lang.c:242
 #, c-format
 msgid "Autoselecting articles (use '%s' to see all unread) ..."
 msgstr "Autoselecting articles (use '%s' to see all unread) ..."
 
-#: src/lang.c:238
+#: src/lang.c:244
 #, c-format
 msgid ""
 "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 msgstr ""
 "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 
-#: src/lang.c:239
+#: src/lang.c:246
 #, c-format
 msgid "Unrecognized attribute: %s"
 msgstr "Unrecognised attribute: %s"
 
-#: src/lang.c:240
+#: src/lang.c:248
 #, c-format
 msgid "Bad command. Type '%s' for help."
 msgstr "Bad command. Type '%s' for help."
 
-#: src/lang.c:242
+#: src/lang.c:249
 msgid "Base article"
 msgstr "Base article"
 
-#: src/lang.c:243
+#: src/lang.c:250
 msgid "Base article range"
 msgstr "Base article range"
 
-#: src/lang.c:244
+#: src/lang.c:251
 #, c-format
 msgid "%s: Updating of index files not supported: cache_overview_files=%s"
 msgstr "%s: Updating of index files not supported: cache_overview_files=%s"
 
-#: src/lang.c:245
+#: src/lang.c:252
 msgid "*** Beginning of article ***"
 msgstr "*** Beginning of article ***"
 
-#: src/lang.c:246
+#: src/lang.c:253
 msgid "*** Beginning of page ***"
 msgstr "*** Beginning of page ***"
 
-#: src/lang.c:248
-msgid "bytes"
-msgstr "bytes"
-
-#: src/lang.c:251
+#: src/lang.c:255
 #, c-format
 msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 
-#: src/lang.c:252
+#: src/lang.c:256
 msgid "Cancelling article..."
 msgstr "Cancelling article..."
 
-#: src/lang.c:254
+#: src/lang.c:258
 #, c-format
 msgid "Cannot create %s"
 msgstr "Cannot create %s"
 
-#: src/lang.c:257
+#: src/lang.c:261
 #, c-format
 msgid "Can't find base article %d"
 msgstr "Can't find base article %d"
 
-#: src/lang.c:259
+#: src/lang.c:263
 #, c-format
 msgid "Can't open %s"
 msgstr "Can't open %s"
 
-#: src/lang.c:260
+#: src/lang.c:264
 #, c-format
 msgid "Couldn't open %s for saving"
 msgstr "Couldn't open %s for saving"
 
-#: src/lang.c:261
+#: src/lang.c:265
 msgid "*** Posting not allowed ***"
 msgstr "*** Posting not allowed ***"
 
-#: src/lang.c:262
+#: src/lang.c:266
 #, c-format
 msgid "Posting is not allowed to %s"
 msgstr "Posting is not allowed to %s"
 
-#: src/lang.c:264
+#: src/lang.c:268
 #, c-format
 msgid "Can't retrieve %s"
 msgstr "Can't retrieve %s"
 
-#: src/lang.c:266
+#: src/lang.c:270
 msgid "Can't supersede in mailgroups, try repost instead."
 msgstr "Can't supersede in mailgroups, try repost instead."
 
-#: src/lang.c:267
+#: src/lang.c:271
 #, c-format
 msgid "%s is a directory"
 msgstr "%s is a directory"
 
-#: src/lang.c:268
+#: src/lang.c:272
 msgid "Catchup"
 msgstr "Catchup"
 
-#: src/lang.c:269
+#: src/lang.c:273
 #, c-format
 msgid "Catchup %s..."
 msgstr "Catchup %s..."
 
-#: src/lang.c:270
+#: src/lang.c:274
 msgid "Catchup all groups entered during this session?"
 msgstr "Catchup all groups entered during this session?"
 
-#: src/lang.c:271
+#: src/lang.c:275
 msgid "You have tagged articles in this group - catchup anyway?"
 msgstr "You have tagged articles in this group - catchup anyway?"
 
-#: src/lang.c:272
+#: src/lang.c:276
 #, c-format
 msgid "%s %d %s in %lu seconds\n"
 msgstr "%s %d %s in %lu seconds\n"
 
-#: src/lang.c:273
+#: src/lang.c:277
 msgid "Caughtup"
 msgstr "Caughtup"
 
-#: src/lang.c:274
+#: src/lang.c:278
 msgid "Check Prepared Article"
 msgstr "Check Prepared Article"
 
-#: src/lang.c:275
+#: src/lang.c:279
 msgid "Checking for new groups... "
 msgstr "Checking for new groups... "
 
-#: src/lang.c:276
+#: src/lang.c:280
 msgid "Checking for news...\n"
 msgstr "Checking for news...\n"
 
-#: src/lang.c:277
+#: src/lang.c:281
 #, c-format
 msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr "Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 
-#: src/lang.c:279
+#: src/lang.c:283
 msgid "ANSI color disabled"
 msgstr "ANSI colour disabled"
 
-#: src/lang.c:280
+#: src/lang.c:284
 msgid "ANSI color enabled"
 msgstr "ANSI colour enabled"
 
-#: src/lang.c:282
+#: src/lang.c:286
 #, c-format
 msgid "Command failed: %s"
 msgstr "Command failed: %s"
 
-#: src/lang.c:284
+#: src/lang.c:288
 msgid "Mark not selected articles read?"
 msgstr "Mark not selected articles read?"
 
-#: src/lang.c:285
+#: src/lang.c:289
 msgid "Connection Info"
 msgstr "Connection Info"
 
-#: src/lang.c:286
+#: src/lang.c:290
 msgid "Reading from local spool.\n"
 msgstr "Reading from local spool.\n"
 
-#: src/lang.c:287
+#: src/lang.c:291
 msgid "Reading saved news.\n"
 msgstr "Reading saved news.\n"
 
-#: src/lang.c:295
+#: src/lang.c:292
+msgid ""
+"\n"
+"Configuration files:\n"
+"--------------------\n"
+msgstr ""
+"\n"
+"Configuration files:\n"
+"--------------------\n"
+
+#: src/lang.c:300
 msgid ""
 "\n"
 "Local spool config:\n"
@@ -906,11 +924,11 @@ msgstr ""
 "Local spool config:\n"
 "-------------------\n"
 
-#: src/lang.c:300
+#: src/lang.c:305
 msgid "COMPRESS      :"
 msgstr "COMPRESS      :"
 
-#: src/lang.c:301
+#: src/lang.c:306
 msgid ""
 "\n"
 "Connection details:\n"
@@ -920,81 +938,86 @@ msgstr ""
 "Connection details:\n"
 "-------------------\n"
 
-#: src/lang.c:303
+#: src/lang.c:308
 #, c-format
 msgid " DEFLATE %s\n"
 msgstr " DEFLATE %s\n"
 
-#: src/lang.c:304
+#: src/lang.c:309
 msgid "(enabled)"
 msgstr "(enabled)"
 
-#: src/lang.c:305
+#: src/lang.c:310
 msgid "(inactive)"
 msgstr "(inactive)"
 
-#: src/lang.c:307
+#: src/lang.c:312
 msgid " DEFLATE (not supported)\n"
 msgstr " DEFLATE (not supported)\n"
 
-#: src/lang.c:310
+#: src/lang.c:315
 msgid "(disabled)"
 msgstr "(disabled)"
 
-#: src/lang.c:311
+#: src/lang.c:316
 #, c-format
 msgid "NNTP TIMEOUT  : %d seconds %s\n"
 msgstr "NNTP TIMEOUT  : %d seconds %s\n"
 
-#: src/lang.c:313
+#: src/lang.c:318
 #, c-format
 msgid "IMPLEMENTATION: %s\n"
 msgstr "IMPLEMENTATION: %s\n"
 
-#: src/lang.c:315
+#: src/lang.c:320
 #, c-format
 msgid "MAXARTNUM     : %s\n"
 msgstr "MAXARTNUM     : %s\n"
 
-#: src/lang.c:317
+#: src/lang.c:322
 #, c-format
 msgid "Reading via NNTP (%s).\n"
 msgstr "Reading via NNTP (%s).\n"
 
-#: src/lang.c:318
+#: src/lang.c:323
 #, c-format
 msgid "NNTPPORT      : %u\n"
 msgstr "NNTPPORT      : %u\n"
 
-#: src/lang.c:319
+#: src/lang.c:324
 msgid "read only"
 msgstr "read only"
 
-#: src/lang.c:320
+#: src/lang.c:325
 msgid "read/write"
 msgstr "read/write"
 
-#: src/lang.c:321
+#: src/lang.c:326
 #, c-format
 msgid "NNTPSERVER    : %s\n"
 msgstr "NNTPSERVER    : %s\n"
 
-#: src/lang.c:323
+#: src/lang.c:327
+#, c-format
+msgid "CONNECTIONTYPE: %s\n"
+msgstr "CONNECTIONTYPE: %s\n"
+
+#: src/lang.c:329
 #, c-format
 msgid "Reading %s via NNTPS (%s; "
 msgstr "Reading %s via NNTPS (%s; "
 
-#: src/lang.c:325
+#: src/lang.c:330
 #, c-format
 msgid "Certificate #%d\n"
 msgstr "Certificate #%d\n"
 
-#: src/lang.c:327
+#: src/lang.c:332
 #, c-format
 msgid "Issuer : %s\n"
 msgstr "Issuer : %s\n"
 
-#: src/lang.c:328
+#: src/lang.c:333
 msgid ""
 "\n"
 "Server certificate information:\n"
@@ -1004,12 +1027,12 @@ msgstr ""
 "Server certificate information:\n"
 "-------------------------------\n"
 
-#: src/lang.c:329
+#: src/lang.c:334
 #, c-format
 msgid "Subject: %s\n"
 msgstr "Subject: %s\n"
 
-#: src/lang.c:330
+#: src/lang.c:335
 msgid ""
 "\n"
 "TLS information:\n"
@@ -1019,15 +1042,23 @@ msgstr ""
 "TLS information:\n"
 "----------------\n"
 
-#: src/lang.c:333
+#: src/lang.c:336
+msgid "trusted"
+msgstr "trusted"
+
+#: src/lang.c:337
+msgid "untrusted"
+msgstr "untrusted"
+
+#: src/lang.c:339
 msgid "UNEXPECTED, possible BUG"
 msgstr "UNEXPECTED, possible BUG"
 
-#: src/lang.c:334
+#: src/lang.c:340
 msgid "tolerated as \"-k\" (insecure) requested"
 msgstr "tolerated as \"-k\" (insecure) requested"
 
-#: src/lang.c:335
+#: src/lang.c:341
 #, c-format
 msgid ""
 "Server certificate verification FAILED:\n"
@@ -1036,185 +1067,180 @@ msgstr ""
 "Server certificate verification FAILED:\n"
 "\t%s (%s)\n"
 
-#: src/lang.c:336
+#: src/lang.c:342
 msgid "Server certificate verified successfully.\n"
 msgstr "Server certificate verified successfully.\n"
 
-#: src/lang.c:338
-msgid "trusted"
-msgstr "trusted"
-
-#: src/lang.c:339
-msgid "untrusted"
-msgstr "untrusted"
-
-#: src/lang.c:342
+#: src/lang.c:346
 msgid "Server certificate verification FAILED: <can't get reason>\n"
 msgstr "Server certificate verification FAILED: <can't get reason>\n"
 
-#: src/lang.c:346
+#: src/lang.c:350
 #, c-format
 msgid "%s %s (strength %d)\n"
 msgstr "%s %s (strength %d)\n"
 
-#: src/lang.c:353
+#: src/lang.c:357
 #, c-format
 msgid "Cook article failed, %s is exiting"
 msgstr "Cook article failed, %s is exiting"
 
-#: src/lang.c:354
+#: src/lang.c:358
 msgid "<CR>"
 msgstr "<CR>"
 
-#: src/lang.c:355
+#: src/lang.c:359
 msgid "Creating active file for saved groups...\n"
 msgstr "Creating active file for saved groups...\n"
 
-#: src/lang.c:356
-msgid "Creating newsrc file...\n"
-msgstr "Creating newsrc file...\n"
+#: src/lang.c:360
+#, c-format
+msgid "Creating %s file...\n"
+msgstr "Creating %s file...\n"
 
-#: src/lang.c:358 src/lang.c:1666 src/lang.c:1686
+#: src/lang.c:362 src/lang.c:1715 src/lang.c:1735
 msgid "Default"
 msgstr "Default"
 
-#: src/lang.c:359
+#: src/lang.c:363
 msgid "Delete saved files that have been post processed?"
 msgstr "Delete saved files that have been post processed?"
 
-#: src/lang.c:360
+#: src/lang.c:364
 msgid "Deleting temporary files..."
 msgstr "Deleting temporary files..."
 
-#: src/lang.c:362
+#: src/lang.c:366
 msgid "*** End of article ***"
 msgstr "*** End of article ***"
 
-#: src/lang.c:363
+#: src/lang.c:367
 msgid "*** End of articles ***"
 msgstr "*** End of articles ***"
 
-#: src/lang.c:364
+#: src/lang.c:368
 msgid "*** End of attachments ***"
 msgstr "*** End of attachments ***"
 
-#: src/lang.c:365
+#: src/lang.c:369
 msgid "*** End of groups ***"
 msgstr "*** End of groups ***"
 
-#: src/lang.c:366
+#: src/lang.c:370
 msgid "*** End of page ***"
 msgstr "*** End of page ***"
 
-#: src/lang.c:367
+#: src/lang.c:371
 msgid "*** End of posted articles ***"
 msgstr "*** End of posted articles ***"
 
-#: src/lang.c:368
+#: src/lang.c:372
 msgid "*** End of scopes ***"
 msgstr "*** End of scopes ***"
 
-#: src/lang.c:369
+#: src/lang.c:373
 msgid "*** End of thread ***"
 msgstr "*** End of thread ***"
 
-#: src/lang.c:370
+#: src/lang.c:374
 msgid "*** End of URLs ***"
 msgstr "*** End of URLs ***"
 
-#: src/lang.c:371
+#: src/lang.c:375
 msgid "Enter limit of articles to get> "
 msgstr "Enter limit of articles to get> "
 
-#: src/lang.c:372
+#: src/lang.c:376
 msgid "Enter Message-ID to go to> "
 msgstr "Enter Message-ID to go to> "
 
-#: src/lang.c:373
+#: src/lang.c:377
 msgid " and enter next unread thread"
 msgstr " and enter next unread thread"
 
-#: src/lang.c:374
+#: src/lang.c:378
 msgid " and enter next unread article"
 msgstr " and enter next unread article"
 
-#: src/lang.c:375
+#: src/lang.c:379
 msgid " and enter next unread group"
 msgstr " and enter next unread group"
 
-#: src/lang.c:376
+#: src/lang.c:380
 msgid "Enter option number> "
 msgstr "Enter option number> "
 
-#: src/lang.c:377
+#: src/lang.c:381
 #, c-format
 msgid "Enter range [%s]> "
 msgstr "Enter range [%s]> "
 
-#: src/lang.c:378
-msgid ""
-"\n"
-"Warning: Approved: header used.\n"
-msgstr ""
-"\n"
-"Warning: Approved: header used.\n"
-
 #: src/lang.c:382
-msgid ""
-"\n"
-"Error: Bad address in Approved: header.\n"
-msgstr ""
-"\n"
-"Error: Bad address in Approved: header.\n"
+#, c-format
+msgid "Error: Could not appended %s to %s"
+msgstr "Error: Could not appended %s to %s"
 
 #: src/lang.c:383
 msgid ""
 "\n"
-"Error: Bad address in From: header.\n"
+"Warning: Approved: header used.\n"
 msgstr ""
 "\n"
-"Error: Bad address in From: header.\n"
+"Warning: Approved: header used.\n"
 
 #: src/lang.c:384
-msgid ""
-"\n"
-"Error: Bad FQDN in Message-ID: header.\n"
-msgstr ""
-"\n"
-"Error: Bad FQDN in Message-ID: header.\n"
+#, c-format
+msgid "  Line %d: \"%s\": given string too long.\n"
+msgstr "  Line %d: \"%s\": given string too long.\n"
 
 #: src/lang.c:385
+#, c-format
+msgid "  Line %d: \"%s\": unrecognized attribute.\n"
+msgstr "  Line %d: \"%s\": unrecognised attribute.\n"
+
+#: src/lang.c:386
+#, c-format
+msgid "  Line %d: \"%s\": malformed line, '=' missing.\n"
+msgstr "  Line %d: \"%s\": malformed line, '=' missing.\n"
+
+#: src/lang.c:390
+#, c-format
 msgid ""
 "\n"
-"Error: Bad address in Reply-To: header.\n"
+"Error: Bad address in \"%s\" header.\n"
 msgstr ""
 "\n"
-"Error: Bad address in Reply-To: header.\n"
+"Error: Bad address in \"%s\" header.\n"
 
-#: src/lang.c:386
+#: src/lang.c:391
 msgid ""
 "\n"
-"Error: Bad address in To: header.\n"
+"Error: Bad FQDN in Message-ID: header.\n"
 msgstr ""
 "\n"
-"Error: Bad address in To: header.\n"
+"Error: Bad FQDN in Message-ID: header.\n"
 
-#: src/lang.c:388
+#: src/lang.c:393
+#, c-format
+msgid "Can't use literal IPv%d-address %s with TLS (-T)"
+msgstr "Can't use literal IPv%d-address %s with TLS (-T)"
+
+#: src/lang.c:396
 #, c-format
 msgid "Can't unlock %s"
 msgstr "Can't unlock %s"
 
-#: src/lang.c:389
+#: src/lang.c:397
 #, c-format
 msgid "Couldn't dotlock %s - article not appended!"
 msgstr "Couldn't dotlock %s - article not appended!"
 
-#: src/lang.c:390
+#: src/lang.c:398
 #, c-format
 msgid "Couldn't lock %s - article not appended!"
 msgstr "Couldn't lock %s - article not appended!"
 
-#: src/lang.c:393
+#: src/lang.c:401
 #, c-format
 msgid ""
 "Server requires authentication but compression (-C) is already active.\n"
@@ -1223,17 +1249,30 @@ msgstr ""
 "Server requires authentication but compression (-C) is already active.\n"
 "Restart %s with -A cmd.-line switch in conjunction with -C.\n"
 
-#: src/lang.c:396
+#: src/lang.c:404
 #, c-format
 msgid "Corrupted file %s"
 msgstr "Corrupted file %s"
 
-#: src/lang.c:397
+#: src/lang.c:406
 #, c-format
 msgid "couldn't expand %s\n"
 msgstr "couldn't expand %s\n"
 
-#: src/lang.c:399
+#: src/lang.c:408
+#, c-format
+msgid "Error: Custom format empty. Using default \"%s\"."
+msgstr "Error: Custom format empty. Using default \"%s\"."
+
+#: src/lang.c:409
+msgid ""
+"\n"
+"Error: Article is empty.\n"
+msgstr ""
+"\n"
+"Error: Article is empty.\n"
+
+#: src/lang.c:411
 msgid ""
 "\n"
 "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n"
@@ -1241,36 +1280,40 @@ msgstr ""
 "\n"
 "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n"
 
-#: src/lang.c:400
+#: src/lang.c:412
 #, c-format
 msgid "Error: Custom format exceeds screen width. Using default \"%s\"."
 msgstr "Error: Custom format exceeds screen width. Using default \"%s\"."
 
-#: src/lang.c:401
+#: src/lang.c:413
 msgid "Internal error in GNKSA routine - send bug report.\n"
 msgstr "Internal error in GNKSA routine - send bug report.\n"
 
-#: src/lang.c:402
+#: src/lang.c:414
 msgid "Left angle bracket missing in route address.\n"
 msgstr "Left angle bracket missing in route address.\n"
 
-#: src/lang.c:403
+#: src/lang.c:415
 msgid "Left parenthesis missing in old-style address.\n"
 msgstr "Left parenthesis missing in old-style address.\n"
 
-#: src/lang.c:404
+#: src/lang.c:416
 msgid "Right parenthesis missing in old-style address.\n"
 msgstr "Right parenthesis missing in old-style address.\n"
 
-#: src/lang.c:405
+#: src/lang.c:417
 msgid "At-sign missing in mail address.\n"
 msgstr "At-sign missing in mail address.\n"
 
-#: src/lang.c:406
+#: src/lang.c:418
+msgid "Right angle bracket missing in route address.\n"
+msgstr "Right angle bracket missing in route address.\n"
+
+#: src/lang.c:419
 msgid "Single component FQDN is not allowed. Add your domain.\n"
 msgstr "Single component FQDN is not allowed. Add your domain.\n"
 
-#: src/lang.c:407
+#: src/lang.c:420
 msgid ""
 "Invalid domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1278,7 +1321,7 @@ msgstr ""
 "Invalid domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
 
-#: src/lang.c:408
+#: src/lang.c:421
 msgid ""
 "Illegal domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1286,7 +1329,7 @@ msgstr ""
 "Illegal domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
 
-#: src/lang.c:409
+#: src/lang.c:422
 msgid ""
 "Unknown domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1294,53 +1337,53 @@ msgstr ""
 "Unknown domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
 
-#: src/lang.c:410
+#: src/lang.c:423
 msgid "Illegal character in FQDN.\n"
 msgstr "Illegal character in FQDN.\n"
 
-#: src/lang.c:411
+#: src/lang.c:424
 msgid "Zero length FQDN component not allowed.\n"
 msgstr "Zero length FQDN component not allowed.\n"
 
-#: src/lang.c:412
+#: src/lang.c:425
 msgid "FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr "FQDN component exceeds maximum allowed length (63 chars).\n"
 
-#: src/lang.c:413
+#: src/lang.c:426
 msgid "FQDN component may not start or end with hyphen.\n"
 msgstr "FQDN component may not start or end with hyphen.\n"
 
-#: src/lang.c:414
+#: src/lang.c:427
 msgid "FQDN component may not start with digit.\n"
 msgstr "FQDN component may not start with digit.\n"
 
-#: src/lang.c:415
+#: src/lang.c:428
 msgid "Domain literal has impossible numeric value.\n"
 msgstr "Domain literal has impossible numeric value.\n"
 
-#: src/lang.c:416
+#: src/lang.c:429
 msgid ""
 "Domain literal is for private use only and not allowed for global use.\n"
 msgstr ""
 "Domain literal is for private use only and not allowed for global use.\n"
 
-#: src/lang.c:417
+#: src/lang.c:430
 msgid "Right bracket missing in domain literal.\n"
 msgstr "Right bracket missing in domain literal.\n"
 
-#: src/lang.c:418
+#: src/lang.c:431
 msgid "Missing localpart of mail address.\n"
 msgstr "Missing localpart of mail address.\n"
 
-#: src/lang.c:419
+#: src/lang.c:432
 msgid "Illegal character in localpart of mail address.\n"
 msgstr "Illegal character in localpart of mail address.\n"
 
-#: src/lang.c:420
+#: src/lang.c:433
 msgid "Zero length localpart component not allowed.\n"
 msgstr "Zero length localpart component not allowed.\n"
 
-#: src/lang.c:421
+#: src/lang.c:434
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
@@ -1348,7 +1391,7 @@ msgstr ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
 
-#: src/lang.c:422
+#: src/lang.c:435
 msgid ""
 "Illegal character in realname.\n"
 "Quoted words may not contain '()<>\\'.\n"
@@ -1356,7 +1399,7 @@ msgstr ""
 "Illegal character in realname.\n"
 "Quoted words may not contain '()<>\\'.\n"
 
-#: src/lang.c:423
+#: src/lang.c:436
 msgid ""
 "Illegal character in realname.\n"
 "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
@@ -1364,11 +1407,11 @@ msgstr ""
 "Illegal character in realname.\n"
 "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
 
-#: src/lang.c:424
+#: src/lang.c:437
 msgid "Bad syntax in encoded word used in realname.\n"
 msgstr "Bad syntax in encoded word used in realname.\n"
 
-#: src/lang.c:425
+#: src/lang.c:438
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '()<>\\' in old-style addresses.\n"
@@ -1376,7 +1419,7 @@ msgstr ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '()<>\\' in old-style addresses.\n"
 
-#: src/lang.c:426
+#: src/lang.c:439
 msgid ""
 "Illegal character in realname.\n"
 "Control characters and unencoded 8bit characters > 127 are not allowed.\n"
@@ -1384,7 +1427,11 @@ msgstr ""
 "Illegal character in realname.\n"
 "Control characters and unencoded 8bit characters > 127 are not allowed.\n"
 
-#: src/lang.c:427
+#: src/lang.c:440
+msgid "Missing realname.\n"
+msgstr "Missing realname.\n"
+
+#: src/lang.c:441
 msgid ""
 "\n"
 "Error: No blank line found after header.\n"
@@ -1392,7 +1439,15 @@ msgstr ""
 "\n"
 "Error: No blank line found after header.\n"
 
-#: src/lang.c:428
+#: src/lang.c:442
+msgid ""
+"\n"
+"Error: Illegal Distribution \"all\" used.\n"
+msgstr ""
+"\n"
+"Error: Illegal Distribution \"all\" used.\n"
+
+#: src/lang.c:443
 #, c-format
 msgid ""
 "\n"
@@ -1402,7 +1457,7 @@ msgstr ""
 "Error: Illegal formatted %s.\n"
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:430
+#: src/lang.c:445
 msgid ""
 "\n"
 "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
@@ -1416,7 +1471,7 @@ msgstr ""
 "       your language  using the  M)enu of configurable  options or by\n"
 "       editing tinrc.\n"
 
-#: src/lang.c:435
+#: src/lang.c:450
 msgid ""
 "\n"
 "Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
@@ -1432,7 +1487,7 @@ msgstr ""
 "       is more common  in your part  of the world.  This can  be done\n"
 "       using the M)enu of configurable options or by editing tinrc.\n"
 
-#: src/lang.c:441
+#: src/lang.c:456
 msgid ""
 "\n"
 "Error: Article starts with blank line instead of header\n"
@@ -1440,7 +1495,7 @@ msgstr ""
 "\n"
 "Error: Article starts with blank line instead of header\n"
 
-#: src/lang.c:442
+#: src/lang.c:457
 #, c-format
 msgid ""
 "\n"
@@ -1451,7 +1506,7 @@ msgstr ""
 "Error: Header on line %d does not have a colon after the header name:\n"
 "%s\n"
 
-#: src/lang.c:443
+#: src/lang.c:458
 #, c-format
 msgid ""
 "\n"
@@ -1460,7 +1515,7 @@ msgstr ""
 "\n"
 "Error: The \"%s:\" line is empty.\n"
 
-#: src/lang.c:444
+#: src/lang.c:459
 #, c-format
 msgid ""
 "\n"
@@ -1469,7 +1524,7 @@ msgstr ""
 "\n"
 "Error: The \"%s:\" line is missing from the article header.\n"
 
-#: src/lang.c:445
+#: src/lang.c:460
 #, c-format
 msgid ""
 "\n"
@@ -1478,7 +1533,7 @@ msgstr ""
 "\n"
 "Error: %s contains non 7bit chars.\n"
 
-#: src/lang.c:446
+#: src/lang.c:461
 #, c-format
 msgid ""
 "\n"
@@ -1489,7 +1544,7 @@ msgstr ""
 "Error: Header on line %d does not have a space after the colon:\n"
 "%s\n"
 
-#: src/lang.c:447
+#: src/lang.c:462
 #, c-format
 msgid ""
 "\n"
@@ -1498,7 +1553,7 @@ msgstr ""
 "\n"
 "Error: There are multiple (%d) \"%s:\" lines in the header.\n"
 
-#: src/lang.c:448
+#: src/lang.c:463
 #, c-format
 msgid ""
 "\n"
@@ -1509,31 +1564,44 @@ msgstr ""
 "Error: Header on line %d has no name:\n"
 "%s\n"
 
-#: src/lang.c:450
+#: src/lang.c:464
+msgid ""
+"\n"
+"Error: This is a mailgroup, but a recipient (\"To:\") is missing.\n"
+msgstr ""
+"\n"
+"Error: This is a mailgroup, but a recipient (\"To:\") is missing.\n"
+
+#: src/lang.c:465
+#, c-format
+msgid "Mixed up '-f'/'-F'? %s %s"
+msgstr "Mixed up '-f'/'-F'? %s %s"
+
+#: src/lang.c:467
 #, c-format
 msgid "Insecure permissions of %s (%o)"
 msgstr "Insecure permissions of %s (%o)"
 
-#: src/lang.c:453
+#: src/lang.c:470
 #, c-format
 msgid "Line %d is longer than %d octets and should be folded.\n"
 msgstr "Line %d is longer than %d octets and should be folded.\n"
 
-#: src/lang.c:455
+#: src/lang.c:472
 #, c-format
 msgid "Line %d is longer than %d octets and should be shortened.\n"
 msgstr "Line %d is longer than %d octets and should be shortened.\n"
 
-#: src/lang.c:461
+#: src/lang.c:477
 #, c-format
-msgid "MIME parse error: Unexpected end of %s/%s article"
-msgstr "MIME parse error: Unexpected end of %s/%s article"
+msgid "MIME parse error: Unexpected end of %s/%s article\n"
+msgstr "MIME parse error: Unexpected end of %s/%s article\n"
 
-#: src/lang.c:462
-msgid "MIME parse error: Start boundary whilst reading headers"
-msgstr "MIME parse error: Start boundary whilst reading headers"
+#: src/lang.c:478
+msgid "MIME parse error: Start boundary whilst reading headers\n"
+msgstr "MIME parse error: Start boundary whilst reading headers\n"
 
-#: src/lang.c:464
+#: src/lang.c:479
 msgid ""
 "\n"
 "Error: \"poster\" is not allowed in Newsgroups!\n"
@@ -1541,16 +1609,11 @@ msgstr ""
 "\n"
 "Error: \"poster\" is not allowed in Newsgroups!\n"
 
-#: src/lang.c:465
+#: src/lang.c:480
 msgid "Can't get a (fully-qualified) domain-name!"
 msgstr "Can't get a (fully-qualified) domain-name!"
 
-#: src/lang.c:466
-#, c-format
-msgid "No permissions to go into %s\n"
-msgstr "No permissions to go into %s\n"
-
-#: src/lang.c:468
+#: src/lang.c:482
 msgid ""
 "\n"
 "Error: From: line missing.\n"
@@ -1558,34 +1621,44 @@ msgstr ""
 "\n"
 "Error: From: line missing.\n"
 
-#: src/lang.c:470
+#: src/lang.c:485
+#, c-format
+msgid "No permissions to go into %s\n"
+msgstr "No permissions to go into %s\n"
+
+#: src/lang.c:486
 #, c-format
 msgid "No read permissions for %s\n"
 msgstr "No read permissions for %s\n"
 
-#: src/lang.c:471
+#: src/lang.c:487
 #, c-format
 msgid "File %s does not exist\n"
 msgstr "File %s does not exist\n"
 
-#: src/lang.c:472
+#: src/lang.c:488
 #, c-format
 msgid "No write permissions for %s\n"
 msgstr "No write permissions for %s\n"
 
-#: src/lang.c:473
+#: src/lang.c:490
+#, c-format
+msgid "Not a literal IPv6 address: %s"
+msgstr "Not a literal IPv6 address: %s"
+
+#: src/lang.c:493
 msgid "Can't get user information (/etc/passwd missing?)"
 msgstr "Can't get user information (/etc/passwd missing?)"
 
-#: src/lang.c:475
+#: src/lang.c:495
 msgid "errors"
 msgstr "errors"
 
-#: src/lang.c:476
+#: src/lang.c:496
 msgid "error"
 msgstr "error"
 
-#: src/lang.c:479
+#: src/lang.c:499
 #, c-format
 msgid ""
 "\n"
@@ -1594,61 +1667,61 @@ msgstr ""
 "\n"
 "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n"
 
-#: src/lang.c:481
+#: src/lang.c:501
 #, c-format
 msgid "Server has non of the groups listed in %s"
 msgstr "Server has non of the groups listed in %s"
 
-#: src/lang.c:482
+#: src/lang.c:502
 #, c-format
 msgid "Error: unlink %s"
 msgstr "Error: unlink %s"
 
-#: src/lang.c:483
+#: src/lang.c:503
 msgid "Unknown display level"
 msgstr "Unknown display level"
 
-#: src/lang.c:485
+#: src/lang.c:505
 msgid "Unreachable?\n"
 msgstr "Unreachable?\n"
 
-#: src/lang.c:487
+#: src/lang.c:507
 msgid "<ESC>"
 msgstr "<ESC>"
 
-#: src/lang.c:488
+#: src/lang.c:508
 msgid "Exiting..."
 msgstr "Exiting..."
 
-#: src/lang.c:489
+#: src/lang.c:509
 msgid "leaving external mail-reader"
 msgstr "leaving external mail-reader"
 
-#: src/lang.c:490
+#: src/lang.c:510
 #, c-format
 msgid "Extracting %s..."
 msgstr "Extracting %s..."
 
-#: src/lang.c:492
+#: src/lang.c:512
 #, c-format
 msgid "Error writing %s file. Filesystem full? File reset to previous state."
 msgstr "Error writing %s file. Filesystem full? File reset to previous state."
 
-#: src/lang.c:493
+#: src/lang.c:513
 #, c-format
 msgid "Error making backup of %s file. Filesystem full?"
 msgstr "Error making backup of %s file. Filesystem full?"
 
-#: src/lang.c:494
+#: src/lang.c:514
 #, c-format
 msgid "Filtering global rules (%d/%d) ('q' to quit)..."
 msgstr "Filtering global rules (%d/%d) ('q' to quit)..."
 
-#: src/lang.c:495
+#: src/lang.c:515
 msgid "Rule created by: "
 msgstr "Rule created by: "
 
-#: src/lang.c:496
+#: src/lang.c:516
 msgid ""
 "# Format:\n"
 "#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
@@ -1714,48 +1787,48 @@ msgstr ""
 "#   time=NUM          Optional. time_t value when rule expires\n"
 "#\n"
 
-#: src/lang.c:522
+#: src/lang.c:542
 #, c-format
 msgid "Enter score for rule (default=%d): "
 msgstr "Enter score for rule (default=%d): "
 
-#: src/lang.c:523
+#: src/lang.c:543
 #, c-format
 msgid "Enter the score weight (range 0 < score <= %d)"
 msgstr "Enter the score weight (range 0 < score <= %d)"
 
 #. SCORE_MAX
-#: src/lang.c:524
+#: src/lang.c:544
 msgid "Full"
 msgstr "Full"
 
-#: src/lang.c:525
+#: src/lang.c:545
 msgid "Comment (optional)  : "
 msgstr "Comment (optional)  : "
 
-#: src/lang.c:527
+#: src/lang.c:547
 msgid "Malformed overview entry: servername missing."
 msgstr "Malformed overview entry: servername missing."
 
-#: src/lang.c:528
+#: src/lang.c:548
 #, c-format
 msgid "\t Xref: %s"
 msgstr "\t Xref: %s"
 
-#: src/lang.c:529
+#: src/lang.c:549
 msgid "Skipping Xref filter"
 msgstr "Skipping Xref filter"
 
-#: src/lang.c:531
+#: src/lang.c:551
 msgid "Apply pattern to    : "
 msgstr "Apply pattern to    : "
 
-#: src/lang.c:532
+#: src/lang.c:552
 #, c-format
 msgid "Enter pattern [%s]> "
 msgstr "Enter pattern [%s]> "
 
-#: src/lang.c:533
+#: src/lang.c:553
 #, c-format
 msgid ""
 "\n"
@@ -1764,863 +1837,867 @@ msgstr ""
 "\n"
 "You requested followups to your article to go to the following %s:\n"
 
-#: src/lang.c:534
+#: src/lang.c:554
 #, c-format
 msgid "  %s\t Answers will be directed to you by mail.\n"
 msgstr "  %s\t Answers will be directed to you by mail.\n"
 
-#: src/lang.c:535
+#: src/lang.c:555
 msgid "-- forwarded message --\n"
 msgstr "-- forwarded message --\n"
 
-#: src/lang.c:536
+#: src/lang.c:556
 msgid "-- end of forwarded message --\n"
 msgstr "-- end of forwarded message --\n"
 
-#: src/lang.c:537
+#: src/lang.c:557
 msgid "From: line (ignore case)      "
 msgstr "From: line (ignore case)      "
 
-#: src/lang.c:538
+#: src/lang.c:558
 msgid "From: line (case sensitive)   "
 msgstr "From: line (case sensitive)   "
 
-#: src/lang.c:541
+#: src/lang.c:561
 #, c-format
 msgid "%s%s: Unknown host.\n"
 msgstr "%s%s: Unknown host.\n"
 
-#: src/lang.c:543
+#: src/lang.c:563
 msgid "global "
 msgstr "global "
 
-#: src/lang.c:544
+#: src/lang.c:564
 #, c-format
 msgid "Please use %.100s instead"
 msgstr "Please use %.100s instead"
 
-#: src/lang.c:545
+#: src/lang.c:565
 #, c-format
 msgid "%s is bogus"
 msgstr "%s is bogus"
 
-#: src/lang.c:546
+#: src/lang.c:566
 #, c-format
 msgid "Group %s is moderated. Continue?"
 msgstr "Group %s is moderated. Continue?"
 
-#: src/lang.c:547
+#: src/lang.c:567
 msgid "groups"
 msgstr "groups"
 
-#: src/lang.c:548
+#: src/lang.c:568
 #, c-format
 msgid "Rereading %s..."
 msgstr "Rereading %s..."
 
-#: src/lang.c:549
+#: src/lang.c:569
 msgid "Top Level Commands"
 msgstr "Top Level Commands"
 
-#: src/lang.c:550
+#: src/lang.c:570
 msgid "Group Selection"
 msgstr "Group Selection"
 
-#: src/lang.c:551
+#: src/lang.c:571
 msgid "group"
 msgstr "group"
 
-#: src/lang.c:552
+#: src/lang.c:572
 msgid ""
 "*** Group descriptions are disabled according to current select_format ***"
 msgstr ""
 "*** Group descriptions are disabled according to current select_format ***"
 
-#: src/lang.c:554
+#: src/lang.c:574
 msgid ""
 "One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr ""
 "One or more lines of comment. <CR> to add a line or proceed if line is empty."
 
-#: src/lang.c:555
+#: src/lang.c:575
 msgid "From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "From: line to add to filter file. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:556
+#: src/lang.c:576
 msgid ""
 "Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr ""
 "Linecount of articles to be filtered. < for less, > for more, = for equal."
 
-#: src/lang.c:557
+#: src/lang.c:577
 msgid "Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:558
+#: src/lang.c:578
 msgid "Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:559
+#: src/lang.c:579
 msgid ""
 "Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr ""
 "Enter text pattern to filter if Subject: & From: lines are not what you want."
 
-#: src/lang.c:560
+#: src/lang.c:580
 msgid ""
 "Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:561
+#: src/lang.c:581
 msgid ""
 "Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:562
+#: src/lang.c:582
 msgid ""
 "Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:563
+#: src/lang.c:583
 msgid ""
 "Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:564
+#: src/lang.c:584
 msgid "kill an article via a menu"
 msgstr "kill an article via a menu"
 
-#: src/lang.c:565
+#: src/lang.c:585
 msgid "auto-select (hot) an article via a menu"
 msgstr "auto-select (hot) an article via a menu"
 
-#: src/lang.c:566
+#: src/lang.c:586
 msgid "Browse URLs in article"
 msgstr "Browse URLs in article"
 
-#: src/lang.c:567
+#: src/lang.c:587
 msgid "0 - 9\t  display article by number in current thread"
 msgstr "0 - 9\t  display article by number in current thread"
 
-#: src/lang.c:569
+#: src/lang.c:589
 msgid "cancel (delete) or supersede (overwrite) current article"
 msgstr "cancel (delete) or supersede (overwrite) current article"
 
-#: src/lang.c:570
+#: src/lang.c:590
 msgid "post followup to current article"
 msgstr "post followup to current article"
 
-#: src/lang.c:571
+#: src/lang.c:591
 msgid "post followup (don't copy text) to current article"
 msgstr "post followup (don't copy text) to current article"
 
-#: src/lang.c:572
+#: src/lang.c:592
 msgid "post followup to current article quoting complete headers"
 msgstr "post followup to current article quoting complete headers"
 
-#: src/lang.c:573
+#: src/lang.c:593
 msgid "repost chosen article to another group"
 msgstr "repost chosen article to another group"
 
-#: src/lang.c:575
+#: src/lang.c:595
 msgid "edit article (mail-groups only)"
 msgstr "edit article (mail-groups only)"
 
-#: src/lang.c:576
+#: src/lang.c:596
 msgid "display first article in current thread"
 msgstr "display first article in current thread"
 
-#: src/lang.c:577
+#: src/lang.c:597
 msgid "display first page of article"
 msgstr "display first page of article"
 
-#: src/lang.c:578
+#: src/lang.c:598
+msgid "show MIME details of this article"
+msgstr "show MIME details of this article"
+
+#: src/lang.c:599
 msgid "display last article in current thread"
 msgstr "display last article in current thread"
 
-#: src/lang.c:579
+#: src/lang.c:600
 msgid "display last page of article"
 msgstr "display last page of article"
 
-#: src/lang.c:580
+#: src/lang.c:601
 msgid "mark rest of thread as read and advance to next unread"
 msgstr "mark rest of thread as read and advance to next unread"
 
-#: src/lang.c:581
+#: src/lang.c:602
 msgid "display next article"
 msgstr "display next article"
 
-#: src/lang.c:582
+#: src/lang.c:603
 msgid "display first article in next thread"
 msgstr "display first article in next thread"
 
-#: src/lang.c:583
+#: src/lang.c:604
 msgid "display next unread article"
 msgstr "display next unread article"
 
-#: src/lang.c:584
+#: src/lang.c:605
 msgid "go to the article that this one followed up"
 msgstr "go to the article that this one followed up"
 
-#: src/lang.c:585
+#: src/lang.c:606
 msgid "display previous article"
 msgstr "display previous article"
 
-#: src/lang.c:586
+#: src/lang.c:607
 msgid "display previous unread article"
 msgstr "display previous unread article"
 
-#: src/lang.c:587
+#: src/lang.c:608
 msgid "quickly kill an article using defaults"
 msgstr "quickly kill an article using defaults"
 
-#: src/lang.c:588
+#: src/lang.c:609
 msgid "quickly auto-select (hot) an article using defaults"
 msgstr "quickly auto-select (hot) an article using defaults"
 
-#: src/lang.c:589
+#: src/lang.c:610
 msgid "return to group selection level"
 msgstr "return to group selection level"
 
-#: src/lang.c:590
+#: src/lang.c:611
 msgid "reply through mail to author"
 msgstr "reply through mail to author"
 
-#: src/lang.c:591
+#: src/lang.c:612
 msgid "reply through mail (don't copy text) to author"
 msgstr "reply through mail (don't copy text) to author"
 
-#: src/lang.c:592
+#: src/lang.c:613
 msgid "reply through mail to author quoting complete headers"
 msgstr "reply through mail to author quoting complete headers"
 
-#: src/lang.c:593
+#: src/lang.c:614
 msgid "search backwards within this article"
 msgstr "search backwards within this article"
 
-#: src/lang.c:594
+#: src/lang.c:615
 msgid "search forwards within this article"
 msgstr "search forwards within this article"
 
-#: src/lang.c:595
+#: src/lang.c:616
 msgid "show article in raw-mode (including all headers)"
 msgstr "show article in raw-mode (including all headers)"
 
-#: src/lang.c:596
+#: src/lang.c:617
 msgid "skip next block of included text"
 msgstr "skip next block of included text"
 
-#: src/lang.c:597
+#: src/lang.c:618
 msgid "toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr "toggle display of sections hidden by a form-feed (^L) on/off"
 
-#: src/lang.c:598
+#: src/lang.c:619
 msgid "toggle display of all headers"
 msgstr "toggle display of all headers"
 
-#: src/lang.c:599
+#: src/lang.c:620
 msgid "toggle word highlighting on/off"
 msgstr "toggle word highlighting on/off"
 
-#: src/lang.c:600
+#: src/lang.c:621
 msgid "toggle ROT-13 (basic decode) for current article"
 msgstr "toggle ROT-13 (basic decode) for current article"
 
-#: src/lang.c:601
+#: src/lang.c:622
 msgid "toggle tabwidth 4 <-> 8"
 msgstr "toggle tabwidth 4 <-> 8"
 
-#: src/lang.c:602
+#: src/lang.c:623
 msgid "toggle German TeX style decoding for current article"
 msgstr "toggle German TeX style decoding for current article"
 
-#: src/lang.c:603
+#: src/lang.c:624
 msgid "toggle display of uuencoded sections"
 msgstr "toggle display of uuencoded sections"
 
-#: src/lang.c:604
+#: src/lang.c:625
 msgid "View/pipe/save multimedia attachments"
 msgstr "View/pipe/save multimedia attachments"
 
-#: src/lang.c:605
+#: src/lang.c:626
 msgid "choose first attachment in list"
 msgstr "choose first attachment in list"
 
-#: src/lang.c:606
+#: src/lang.c:627
 msgid "0 - 9\t  choose attachment by number"
 msgstr "0 - 9\t  choose attachment by number"
 
-#: src/lang.c:607
+#: src/lang.c:628
 msgid "choose last attachment in list"
 msgstr "choose last attachment in list"
 
-#: src/lang.c:609
+#: src/lang.c:630
 msgid "pipe attachment into command"
 msgstr "pipe attachment into command"
 
-#: src/lang.c:610
+#: src/lang.c:631
 msgid "pipe raw attachment into command"
 msgstr "pipe raw attachment into command"
 
-#: src/lang.c:612
+#: src/lang.c:633
 msgid "save attachment to disk"
 msgstr "save attachment to disk"
 
-#: src/lang.c:613
+#: src/lang.c:634
 msgid "search for attachments forwards"
 msgstr "search for attachments forwards"
 
-#: src/lang.c:614
+#: src/lang.c:635
 msgid "search for attachments backwards"
 msgstr "search for attachments backwards"
 
-#: src/lang.c:615
+#: src/lang.c:636
 msgid "view attachment"
 msgstr "view attachment"
 
-#: src/lang.c:616
+#: src/lang.c:637
 msgid "tag attachment"
 msgstr "tag attachment"
 
-#: src/lang.c:617
+#: src/lang.c:638
 msgid "tag attachments that match user specified pattern"
 msgstr "tag attachments that match user specified pattern"
 
-#: src/lang.c:618
+#: src/lang.c:639
 msgid "reverse tagging on all attachments (toggle)"
 msgstr "reverse tagging on all attachments (toggle)"
 
-#: src/lang.c:619
+#: src/lang.c:640
 msgid "untag all tagged attachments"
 msgstr "untag all tagged attachments"
 
-#: src/lang.c:620
+#: src/lang.c:641
 msgid "toggle info message in last line (name/description of attachment)"
 msgstr "toggle info message in last line (name/description of attachment)"
 
-#: src/lang.c:621
+#: src/lang.c:642
 msgid "choose first attribute in list"
 msgstr "choose first attribute in list"
 
-#: src/lang.c:622
+#: src/lang.c:643
 msgid "0 - 9\t  choose attribute by number"
 msgstr "0 - 9\t  choose attribute by number"
 
-#: src/lang.c:623
+#: src/lang.c:644
 msgid "choose last attribute in list"
 msgstr "choose last attribute in list"
 
-#: src/lang.c:624
+#: src/lang.c:645
 msgid "reset attribute to a default value"
 msgstr "reset attribute to a default value"
 
-#: src/lang.c:625
-msgid "search forwards for an attribute"
-msgstr "search forwards for an attribute"
-
-#: src/lang.c:626
+#: src/lang.c:646
 msgid "search backwards for an attribute"
 msgstr "search backwards for an attribute"
 
-#: src/lang.c:627
+#: src/lang.c:647
+msgid "search forwards for an attribute"
+msgstr "search forwards for an attribute"
+
+#: src/lang.c:648
 msgid "select attribute"
 msgstr "select attribute"
 
-#: src/lang.c:628
+#: src/lang.c:649
 msgid "toggle back to options menu when invoked from there"
 msgstr "toggle back to options menu when invoked from there"
 
-#: src/lang.c:629
+#: src/lang.c:650
 #, c-format
 msgid "report bug or comment via mail to %s"
 msgstr "report bug or comment via mail to %s"
 
-#: src/lang.c:630
+#: src/lang.c:651
 msgid "choose first option in list"
 msgstr "choose first option in list"
 
-#: src/lang.c:631
+#: src/lang.c:652
 msgid "0 - 9\t  choose option by number"
 msgstr "0 - 9\t  choose option by number"
 
-#: src/lang.c:632
+#: src/lang.c:653
 msgid "choose last option in list"
 msgstr "choose last option in list"
 
-#: src/lang.c:633
+#: src/lang.c:654
 msgid "start scopes menu"
 msgstr "start scopes menu"
 
-#: src/lang.c:634
-msgid "search forwards for an option"
-msgstr "search forwards for an option"
-
-#: src/lang.c:635
+#: src/lang.c:655
 msgid "search backwards for an option"
 msgstr "search backwards for an option"
 
-#: src/lang.c:636
+#: src/lang.c:656
+msgid "search forwards for an option"
+msgstr "search forwards for an option"
+
+#: src/lang.c:657
 msgid "select option"
 msgstr "select option"
 
-#: src/lang.c:637
+#: src/lang.c:658
 msgid "toggle to attributes menu"
 msgstr "toggle to attributes menu"
 
-#: src/lang.c:638
+#: src/lang.c:659
 msgid "choose range of articles to be affected by next command"
 msgstr "choose range of articles to be affected by next command"
 
-#: src/lang.c:639
+#: src/lang.c:660
 msgid "escape from command prompt"
 msgstr "escape from command prompt"
 
-#: src/lang.c:640
+#: src/lang.c:661
 msgid "edit filter file"
 msgstr "edit filter file"
 
-#: src/lang.c:641
+#: src/lang.c:662
 msgid "get help"
 msgstr "get help"
 
-#: src/lang.c:642
+#: src/lang.c:663
 msgid "display last article viewed"
 msgstr "display last article viewed"
 
-#: src/lang.c:643
+#: src/lang.c:664
 msgid "down one line"
 msgstr "down one line"
 
-#: src/lang.c:644
+#: src/lang.c:665
 msgid "up one line"
 msgstr "up one line"
 
-#: src/lang.c:645
+#: src/lang.c:666
 msgid "go to article chosen by Message-ID"
 msgstr "go to article chosen by Message-ID"
 
-#: src/lang.c:646
+#: src/lang.c:667
 msgid "mail article/thread/hot/pattern/tagged articles to someone"
 msgstr "mail article/thread/hot/pattern/tagged articles to someone"
 
-#: src/lang.c:647
+#: src/lang.c:668
 msgid "menu of configurable options"
 msgstr "menu of configurable options"
 
-#: src/lang.c:648
+#: src/lang.c:669
 msgid "down one page"
 msgstr "down one page"
 
-#: src/lang.c:649
+#: src/lang.c:670
 msgid "up one page"
 msgstr "up one page"
 
-#: src/lang.c:651
+#: src/lang.c:672
 msgid "post (write) article to current group"
 msgstr "post (write) article to current group"
 
-#: src/lang.c:652
+#: src/lang.c:673
 msgid "post postponed articles"
 msgstr "post postponed articles"
 
-#: src/lang.c:654
+#: src/lang.c:675
 msgid "list articles posted by you (from posted file)"
 msgstr "list articles posted by you (from posted file)"
 
-#: src/lang.c:655
+#: src/lang.c:676
 msgid "return to previous menu"
 msgstr "return to previous menu"
 
-#: src/lang.c:656
+#: src/lang.c:677
 msgid "quit tin immediately"
 msgstr "quit tin immediately"
 
-#: src/lang.c:657
+#: src/lang.c:678
 msgid "redraw page"
 msgstr "redraw page"
 
-#: src/lang.c:658
+#: src/lang.c:679
 msgid "save article/thread/hot/pattern/tagged articles to file"
 msgstr "save article/thread/hot/pattern/tagged articles to file"
 
-#: src/lang.c:659
+#: src/lang.c:680
 msgid "save marked articles automatically without user prompts"
 msgstr "save marked articles automatically without user prompts"
 
-#: src/lang.c:660
+#: src/lang.c:681
 msgid "scroll the screen one line down"
 msgstr "scroll the screen one line down"
 
-#: src/lang.c:661
+#: src/lang.c:682
 msgid "scroll the screen one line up"
 msgstr "scroll the screen one line up"
 
-#: src/lang.c:662
+#: src/lang.c:683
 msgid "search for articles by author backwards"
 msgstr "search for articles by author backwards"
 
-#: src/lang.c:663
+#: src/lang.c:684
 msgid "search for articles by author forwards"
 msgstr "search for articles by author forwards"
 
-#: src/lang.c:664
+#: src/lang.c:685
 msgid "search all articles for a given string (this may take some time)"
 msgstr "search all articles for a given string (this may take some time)"
 
-#: src/lang.c:665
+#: src/lang.c:686
 msgid " \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr " \t  (searches are case-insensitive and wrap around to all articles)"
 
-#: src/lang.c:666
+#: src/lang.c:687
 msgid "search for articles by Subject line backwards"
 msgstr "search for articles by Subject line backwards"
 
-#: src/lang.c:667
+#: src/lang.c:688
 msgid "search for articles by Subject line forwards"
 msgstr "search for articles by Subject line forwards"
 
-#: src/lang.c:668
+#: src/lang.c:689
 msgid "repeat last search"
 msgstr "repeat last search"
 
-#: src/lang.c:669
+#: src/lang.c:690
 msgid "tag current article for reposting/mailing/piping/printing/saving"
 msgstr "tag current article for reposting/mailing/piping/printing/saving"
 
-#: src/lang.c:670
+#: src/lang.c:691
 msgid "toggle info message in last line (subject/description)"
 msgstr "toggle info message in last line (subject/description)"
 
-#: src/lang.c:671
+#: src/lang.c:692
 msgid "toggle inverse video"
 msgstr "toggle inverse video"
 
-#: src/lang.c:672
+#: src/lang.c:693
 msgid "toggle mini help menu and posting etiquette display"
 msgstr "toggle mini help menu and posting etiquette display"
 
-#: src/lang.c:673
+#: src/lang.c:694
 msgid "cycle the display of authors email address, real name, both or neither"
 msgstr ""
 "cycle the display of authors e-mail address, real name, both or neither"
 
-#: src/lang.c:674
+#: src/lang.c:695
 msgid "show version information"
 msgstr "show version information"
 
-#: src/lang.c:675
+#: src/lang.c:696
 msgid "mark all articles as read and return to group selection menu"
 msgstr "mark all articles as read and return to group selection menu"
 
-#: src/lang.c:676
+#: src/lang.c:697
 msgid "mark all articles as read and enter next group with unread articles"
 msgstr "mark all articles as read and enter next group with unread articles"
 
-#: src/lang.c:677
+#: src/lang.c:698
 msgid "choose first thread in list"
 msgstr "choose first thread in list"
 
-#: src/lang.c:678
+#: src/lang.c:699
 msgid "choose last thread in list"
 msgstr "choose last thread in list"
 
-#: src/lang.c:679
+#: src/lang.c:700
 msgid "list articles within current thread (bring up Thread sub-menu)"
 msgstr "list articles within current thread (bring up Thread sub-menu)"
 
-#: src/lang.c:680
+#: src/lang.c:701
 msgid "mark article as unread"
 msgstr "mark article as unread"
 
-#: src/lang.c:681
+#: src/lang.c:702
 msgid "mark current thread, range or tagged threads as read"
 msgstr "mark current thread, range or tagged threads as read"
 
-#: src/lang.c:682
+#: src/lang.c:703
 msgid "mark current thread, range or tagged threads as unread"
 msgstr "mark current thread, range or tagged threads as unread"
 
-#: src/lang.c:683
+#: src/lang.c:704
 msgid "mark current/range/selected/pattern/tagged as read after prompting"
 msgstr "mark current/range/selected/pattern/tagged as read after prompting"
 
-#: src/lang.c:684
+#: src/lang.c:705
 msgid "mark current/range/selected/pattern/tagged as unread after prompting"
 msgstr "mark current/range/selected/pattern/tagged as unread after prompting"
 
-#: src/lang.c:685
+#: src/lang.c:706
 msgid "toggle display of all/selected articles"
 msgstr "toggle display of all/selected articles"
 
-#: src/lang.c:686
+#: src/lang.c:707
 msgid "display next group"
 msgstr "display next group"
 
-#: src/lang.c:687
+#: src/lang.c:708
 msgid "display previous group"
 msgstr "display previous group"
 
-#: src/lang.c:688
+#: src/lang.c:709
 msgid "toggle all selections (all articles)"
 msgstr "toggle all selections (all articles)"
 
-#: src/lang.c:689
+#: src/lang.c:710
 msgid "select group (make \"hot\")"
 msgstr "select group (make \"hot\")"
 
-#: src/lang.c:690
+#: src/lang.c:711
 msgid "select thread"
 msgstr "select thread"
 
-#: src/lang.c:691
+#: src/lang.c:712
 msgid "select threads if at least one unread article is selected"
 msgstr "select threads if at least one unread article is selected"
 
-#: src/lang.c:692
+#: src/lang.c:713
 msgid "select threads that match user specified pattern"
 msgstr "select threads that match user specified pattern"
 
-#: src/lang.c:693
+#: src/lang.c:714
 msgid "0 - 9\t  choose thread by number"
 msgstr "0 - 9\t  choose thread by number"
 
-#: src/lang.c:694
+#: src/lang.c:715
 msgid "toggle limit number of articles to get, and reload"
 msgstr "toggle limit number of articles to get, and reload"
 
-#: src/lang.c:695
+#: src/lang.c:716
 msgid "toggle display of all/unread articles"
 msgstr "toggle display of all/unread articles"
 
-#: src/lang.c:696
+#: src/lang.c:717
 msgid "toggle selection of thread"
 msgstr "toggle selection of thread"
 
-#: src/lang.c:697
+#: src/lang.c:718
 msgid "cycle through threading options available"
 msgstr "cycle through threading options available"
 
-#: src/lang.c:698
+#: src/lang.c:719
 msgid "undo all selections (all articles)"
 msgstr "undo all selections (all articles)"
 
-#: src/lang.c:699
+#: src/lang.c:720
 msgid "untag all tagged threads"
 msgstr "untag all tagged threads"
 
-#: src/lang.c:700
+#: src/lang.c:721
 msgid "search for articles forwards"
 msgstr "search for articles forwards"
 
-#: src/lang.c:701
+#: src/lang.c:722
 msgid "search for articles backwards"
 msgstr "search for articles backwards"
 
-#: src/lang.c:702
+#: src/lang.c:723
 msgid "toggle info message in last line (Message-ID)"
 msgstr "toggle info message in last line (Message-ID)"
 
-#: src/lang.c:703
+#: src/lang.c:724
 msgid "Open article by Message-ID"
 msgstr "Open article by Message-ID"
 
-#: src/lang.c:704
+#: src/lang.c:725
 msgid "add new scope"
 msgstr "add new scope"
 
-#: src/lang.c:705
+#: src/lang.c:726
 msgid "delete scope"
 msgstr "delete scope"
 
-#: src/lang.c:706
+#: src/lang.c:727
 msgid "edit attributes file"
 msgstr "edit attributes file"
 
-#: src/lang.c:707
+#: src/lang.c:728
 msgid "choose first scope in list"
 msgstr "choose first scope in list"
 
-#: src/lang.c:708
+#: src/lang.c:729
 msgid "0 - 9\t  choose scope by number"
 msgstr "0 - 9\t  choose scope by number"
 
-#: src/lang.c:709
+#: src/lang.c:730
 msgid "choose last scope in list"
 msgstr "choose last scope in list"
 
-#: src/lang.c:710
+#: src/lang.c:731
 msgid "move scope"
 msgstr "move scope"
 
-#: src/lang.c:711
+#: src/lang.c:732
 msgid "rename scope"
 msgstr "rename scope"
 
-#: src/lang.c:712
+#: src/lang.c:733
 msgid "select scope"
 msgstr "select scope"
 
-#: src/lang.c:713
+#: src/lang.c:734
 msgid "mark all articles in group as read"
 msgstr "mark all articles in group as read"
 
-#: src/lang.c:714
+#: src/lang.c:735
 msgid "mark all articles in group as read and move to next unread group"
 msgstr "mark all articles in group as read and move to next unread group"
 
-#: src/lang.c:715
+#: src/lang.c:736
 msgid "choose first group in list"
 msgstr "choose first group in list"
 
-#: src/lang.c:716
+#: src/lang.c:737
 msgid "choose group by name"
 msgstr "choose group by name"
 
-#: src/lang.c:717
+#: src/lang.c:738
 msgid "0 - 9\t  choose group by number"
 msgstr "0 - 9\t  choose group by number"
 
-#: src/lang.c:718
+#: src/lang.c:739
 msgid "choose range of groups to be affected by next command"
 msgstr "choose range of groups to be affected by next command"
 
-#: src/lang.c:719
+#: src/lang.c:740
 msgid "choose last group in list"
 msgstr "choose last group in list"
 
-#: src/lang.c:721
+#: src/lang.c:742
 msgid "list groups which an article has been posted to (by Message-ID)"
 msgstr "list groups which an article has been posted to (by Message-ID)"
 
-#: src/lang.c:722
+#: src/lang.c:743
 msgid " \t  (go to article if at least one of the groups is available)"
 msgstr " \t  (go to article if at least one of the groups is available)"
 
-#: src/lang.c:724
+#: src/lang.c:745
 msgid "mark all articles in chosen group unread"
 msgstr "mark all articles in chosen group unread"
 
-#: src/lang.c:725
+#: src/lang.c:746
 msgid "move chosen group within list"
 msgstr "move chosen group within list"
 
-#: src/lang.c:726
+#: src/lang.c:747
 msgid "choose next group with unread news"
 msgstr "choose next group with unread news"
 
-#: src/lang.c:727 src/lang.c:1748
+#: src/lang.c:748 src/lang.c:1797
 msgid "quit"
 msgstr "quit"
 
-#: src/lang.c:728
+#: src/lang.c:749
 msgid "quit without saving configuration changes"
 msgstr "quit without saving configuration changes"
 
-#: src/lang.c:729
+#: src/lang.c:750
 msgid "read chosen group"
 msgstr "read chosen group"
 
-#: src/lang.c:730
+#: src/lang.c:751
 msgid "reset .newsrc (all available articles in groups marked unread)"
 msgstr "reset .newsrc (all available articles in groups marked unread)"
 
-#: src/lang.c:731
+#: src/lang.c:752
 msgid "search backwards for a group name"
 msgstr "search backwards for a group name"
 
-#: src/lang.c:732
+#: src/lang.c:753
 msgid " \t  (all searches are case-insensitive and wrap around)"
 msgstr " \t  (all searches are case-insensitive and wrap around)"
 
-#: src/lang.c:733
+#: src/lang.c:754
 msgid "search forwards for a group name"
 msgstr "search forwards for a group name"
 
-#: src/lang.c:734
+#: src/lang.c:755
 msgid "subscribe to chosen group"
 msgstr "subscribe to chosen group"
 
-#: src/lang.c:735
+#: src/lang.c:756
 msgid "subscribe to groups that match pattern"
 msgstr "subscribe to groups that match pattern"
 
-#: src/lang.c:736
+#: src/lang.c:757
 msgid "reread active file to check for any new news"
 msgstr "reread active file to check for any new news"
 
-#: src/lang.c:737
+#: src/lang.c:758
 msgid "show NNTP[S] connection details"
 msgstr "show NNTP[S] connection details"
 
-#: src/lang.c:738
+#: src/lang.c:759
 msgid "toggle display of group name only or group name plus description"
 msgstr "toggle display of group name only or group name plus description"
 
-#: src/lang.c:739
+#: src/lang.c:760
 msgid "toggle display to show all/unread subscribed groups"
 msgstr "toggle display to show all/unread subscribed groups"
 
-#: src/lang.c:740
+#: src/lang.c:761
 msgid "unsubscribe from chosen group"
 msgstr "unsubscribe from chosen group"
 
-#: src/lang.c:741
+#: src/lang.c:762
 msgid "unsubscribe from groups that match pattern"
 msgstr "unsubscribe from groups that match pattern"
 
-#: src/lang.c:742
+#: src/lang.c:763
 msgid "sort the list of groups"
 msgstr "sort the list of groups"
 
-#: src/lang.c:743
+#: src/lang.c:764
 msgid "toggle display to show all/subscribed groups"
 msgstr "toggle display to show all/subscribed groups"
 
-#: src/lang.c:744
+#: src/lang.c:765
 msgid "tag/untag all parts of current multipart-message in order"
 msgstr "tag/untag all parts of current multipart-message in order"
 
-#: src/lang.c:745
+#: src/lang.c:766
 msgid "0 - 9\t  choose article by number"
 msgstr "0 - 9\t  choose article by number"
 
-#: src/lang.c:746
+#: src/lang.c:767
 msgid "mark thread as read and return to group index page"
 msgstr "mark thread as read and return to group index page"
 
-#: src/lang.c:747
+#: src/lang.c:768
 msgid "mark thread as read and enter next unread thread or group"
 msgstr "mark thread as read and enter next unread thread or group"
 
-#: src/lang.c:748
+#: src/lang.c:769
 msgid "choose first article in list"
 msgstr "choose first article in list"
 
-#: src/lang.c:749
+#: src/lang.c:770
 msgid "choose last article in list"
 msgstr "choose last article in list"
 
-#: src/lang.c:750
+#: src/lang.c:771
 msgid "mark art, range or tagged arts as read; move crsr to next unread art"
 msgstr "mark art, range or tagged arts as read; move crsr to next unread art"
 
-#: src/lang.c:751
+#: src/lang.c:772
 msgid "mark article, range or tagged articles as unread"
 msgstr "mark article, range or tagged articles as unread"
 
-#: src/lang.c:752
+#: src/lang.c:773
 msgid "mark current thread as unread"
 msgstr "mark current thread as unread"
 
-#: src/lang.c:753
+#: src/lang.c:774
 msgid "read chosen article"
 msgstr "read chosen article"
 
-#: src/lang.c:754
+#: src/lang.c:775
 msgid ""
 "Display properties\n"
 "------------------"
@@ -2628,7 +2705,7 @@ msgstr ""
 "Display properties\n"
 "------------------"
 
-#: src/lang.c:755
+#: src/lang.c:776
 msgid ""
 "Miscellaneous\n"
 "-------------"
@@ -2636,7 +2713,7 @@ msgstr ""
 "Miscellaneous\n"
 "-------------"
 
-#: src/lang.c:756
+#: src/lang.c:777
 msgid ""
 "Moving around\n"
 "-------------"
@@ -2644,7 +2721,7 @@ msgstr ""
 "Moving around\n"
 "-------------"
 
-#: src/lang.c:757
+#: src/lang.c:778
 msgid ""
 "Group/thread/article operations\n"
 "-------------------------------"
@@ -2652,7 +2729,7 @@ msgstr ""
 "Group/thread/article operations\n"
 "-------------------------------"
 
-#: src/lang.c:758
+#: src/lang.c:779
 msgid ""
 "Attachment operations\n"
 "---------------------"
@@ -2660,7 +2737,7 @@ msgstr ""
 "Attachment operations\n"
 "---------------------"
 
-#: src/lang.c:759
+#: src/lang.c:780
 msgid ""
 "Attribute operations\n"
 "--------------------"
@@ -2668,7 +2745,7 @@ msgstr ""
 "Attribute operations\n"
 "--------------------"
 
-#: src/lang.c:760
+#: src/lang.c:781
 msgid ""
 "Option operations\n"
 "-----------------"
@@ -2676,7 +2753,7 @@ msgstr ""
 "Option operations\n"
 "-----------------"
 
-#: src/lang.c:761
+#: src/lang.c:782
 msgid ""
 "Posted article operations\n"
 "-------------------------"
@@ -2684,7 +2761,7 @@ msgstr ""
 "Posted article operations\n"
 "-------------------------"
 
-#: src/lang.c:762
+#: src/lang.c:783
 msgid ""
 "Scope operations\n"
 "----------------"
@@ -2692,7 +2769,7 @@ msgstr ""
 "Scope operations\n"
 "----------------"
 
-#: src/lang.c:763
+#: src/lang.c:784
 msgid ""
 "URL operations\n"
 "--------------"
@@ -2700,99 +2777,99 @@ msgstr ""
 "URL operations\n"
 "--------------"
 
-#: src/lang.c:764
+#: src/lang.c:785
 msgid "choose first URL in list"
 msgstr "choose first URL in list"
 
-#: src/lang.c:765
+#: src/lang.c:786
 msgid "0 - 9\t  choose URL by number"
 msgstr "0 - 9\t  choose URL by number"
 
-#: src/lang.c:766
+#: src/lang.c:787
 msgid "choose last URL in list"
 msgstr "choose last URL in list"
 
-#: src/lang.c:767
+#: src/lang.c:788
 msgid "search for URLs forwards"
 msgstr "search for URLs forwards"
 
-#: src/lang.c:768
+#: src/lang.c:789
 msgid "search for URLs backwards"
 msgstr "search for URLs backwards"
 
-#: src/lang.c:769
+#: src/lang.c:790
 msgid "Open URL in browser"
 msgstr "Open URL in browser"
 
-#: src/lang.c:770
+#: src/lang.c:791
 msgid "toggle info message in last line (URL)"
 msgstr "toggle info message in last line (URL)"
 
-#: src/lang.c:772
+#: src/lang.c:793
 msgid "Group Level Commands"
 msgstr "Group Level Commands"
 
-#: src/lang.c:773
+#: src/lang.c:794
 msgid "Kill filter added"
 msgstr "Kill filter added"
 
-#: src/lang.c:774
+#: src/lang.c:795
 msgid "Auto-selection filter added"
 msgstr "Auto-selection filter added"
 
-#: src/lang.c:775
+#: src/lang.c:796
 msgid "All parts tagged"
 msgstr "All parts tagged"
 
-#: src/lang.c:776
+#: src/lang.c:797
 msgid "All parts untagged"
 msgstr "All parts untagged"
 
-#: src/lang.c:777
+#: src/lang.c:798
 #, c-format
 msgid "Building References-trees (%d/%d)..."
 msgstr "Building References-trees (%d/%d)..."
 
-#: src/lang.c:778
+#: src/lang.c:799
 msgid "Storing article for later posting"
 msgstr "Storing article for later posting"
 
-#: src/lang.c:779
+#: src/lang.c:800
 msgid "Please enter a valid character"
 msgstr "Please enter a valid character"
 
-#: src/lang.c:780
+#: src/lang.c:801
 #, c-format
 msgid "Missing part #%d"
 msgstr "Missing part #%d"
 
-#: src/lang.c:781
+#: src/lang.c:802
 msgid "*** No postponed articles ***"
 msgstr "*** No postponed articles ***"
 
-#: src/lang.c:782
+#: src/lang.c:803
 msgid "Not a multi-part message"
 msgstr "Not a multi-part message"
 
-#: src/lang.c:783
+#: src/lang.c:804
 msgid "You are not subscribed to this group"
 msgstr "You are not subscribed to this group"
 
-#: src/lang.c:784
+#: src/lang.c:805
 msgid "No previous expression"
 msgstr "No previous expression"
 
-#: src/lang.c:785
+#: src/lang.c:806
 msgid "Operation disabled in no-overwrite mode"
 msgstr "Operation disabled in no-overwrite mode"
 
 #. TODO: replace hard coded key-name in txt_info_postponed
-#: src/lang.c:787
+#: src/lang.c:808
 #, c-format
 msgid "%d postponed %s, reuse with ^O...\n"
 msgstr "%d postponed %s, reuse with ^O...\n"
 
-#: src/lang.c:788
+#: src/lang.c:809
 msgid ""
 "X-Conversion-Note: multipart/alternative contents have been removed.\n"
 "  To get the whole article, turn alternative handling OFF in the Option "
@@ -2802,17 +2879,17 @@ msgstr ""
 "  To get the whole article, turn alternative handling OFF in the Option "
 "Menu\n"
 
-#: src/lang.c:790
+#: src/lang.c:811
 #, c-format
 msgid "Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr "Save filename for %s/%s is a mailbox. Attachment not saved"
 
-#: src/lang.c:791
+#: src/lang.c:812
 msgid "TeX2Iso encoded article"
 msgstr "TeX2Iso encoded article"
 
 #. TODO: replace hard coded key-names
-#: src/lang.c:793
+#: src/lang.c:814
 #, c-format
 msgid ""
 "\n"
@@ -2883,151 +2960,151 @@ msgstr ""
 "files.\n"
 "Please send bug-reports/comments to %s with the 'R' command.\n"
 
-#: src/lang.c:809
+#: src/lang.c:830
 #, c-format
-msgid "Invalid  From: %s  line. Read the INSTALL file again."
-msgstr "Invalid  From: %s  line. Read the INSTALL file again."
+msgid "Invalid From:-header \"%s\". Check your mail_address setting."
+msgstr "Invalid From:-header \"%s\". Check your mail_address setting."
 
-#: src/lang.c:811
+#: src/lang.c:832
 msgid "Invalid multibyte sequence found\n"
 msgstr "Invalid multibyte sequence found\n"
 
-#: src/lang.c:814
+#: src/lang.c:835
 #, c-format
-msgid "Invalid  Sender:-header %s"
-msgstr "Invalid  Sender:-header %s"
+msgid "Invalid Sender:-header \"%s\""
+msgstr "Invalid Sender:-header \"%s\""
 
-#: src/lang.c:816
+#: src/lang.c:837
 msgid "Inverse video disabled"
 msgstr "Inverse video disabled"
 
-#: src/lang.c:817
+#: src/lang.c:838
 msgid "Inverse video enabled"
 msgstr "Inverse video enabled"
 
-#: src/lang.c:819
+#: src/lang.c:840
 #, c-format
 msgid "Missing definition for %s\n"
 msgstr "Missing definition for %s\n"
 
-#: src/lang.c:820
+#: src/lang.c:841
 #, c-format
 msgid "Invalid key definition '%s'\n"
 msgstr "Invalid key definition '%s'\n"
 
-#: src/lang.c:821
+#: src/lang.c:842
 #, c-format
 msgid "Invalid keyname '%s'\n"
 msgstr "Invalid keyname '%s'\n"
 
-#: src/lang.c:822
+#: src/lang.c:843
 #, c-format
 msgid "Keymap file was upgraded to version %s\n"
 msgstr "Keymap file was upgraded to version %s\n"
 
-#: src/lang.c:823
+#: src/lang.c:844
 #, c-format
 msgid "Kill From:     [%s] (y/n): "
 msgstr "Kill From:     [%s] (y/n): "
 
-#: src/lang.c:824
+#: src/lang.c:845
 msgid "Kill Lines: (</>num): "
 msgstr "Kill Lines: (</>num): "
 
-#: src/lang.c:825
+#: src/lang.c:846
 msgid "Kill Article Menu"
 msgstr "Kill Article Menu"
 
-#: src/lang.c:826
+#: src/lang.c:847
 #, c-format
 msgid "Kill Msg-ID:   [%s] (f/l/o/n): "
 msgstr "Kill Msg-ID:   [%s] (f/l/o/n): "
 
-#: src/lang.c:827
+#: src/lang.c:848
 msgid "Kill pattern scope  : "
 msgstr "Kill pattern scope  : "
 
-#: src/lang.c:828
+#: src/lang.c:849
 #, c-format
 msgid "Kill Subject:  [%s] (y/n): "
 msgstr "Kill Subject:  [%s] (y/n): "
 
-#: src/lang.c:829
+#: src/lang.c:850
 msgid "Kill text pattern   : "
 msgstr "Kill text pattern   : "
 
-#: src/lang.c:830
+#: src/lang.c:851
 msgid "Kill time in days   : "
 msgstr "Kill time in days   : "
 
-#: src/lang.c:832
+#: src/lang.c:853
 msgid "Last"
 msgstr "Last"
 
-#: src/lang.c:833
+#: src/lang.c:854
 msgid "-- Last response --"
 msgstr "-- Last response --"
 
-#: src/lang.c:834
+#: src/lang.c:855
 #, c-format
 msgid "Lines %s  "
 msgstr "Lines %s  "
 
-#: src/lang.c:840
+#: src/lang.c:861
 msgid "Function not available."
 msgstr "Function not available."
 
-#: src/lang.c:841
+#: src/lang.c:862
 msgid "Not reading via NNTP."
 msgstr "Not reading via NNTP."
 
-#: src/lang.c:843
+#: src/lang.c:864
 #, c-format
 msgid "Group: %s"
 msgstr "Group: %s"
 
-#: src/lang.c:844
+#: src/lang.c:865
 #, c-format
 msgid "Groups: %s"
 msgstr "Groups: %s"
 
-#: src/lang.c:847
+#: src/lang.c:868
 msgid "Mail"
 msgstr "Mail"
 
-#: src/lang.c:848
+#: src/lang.c:869
 msgid "mailbox "
 msgstr "mailbox "
 
-#: src/lang.c:849
+#: src/lang.c:870
 #, c-format
 msgid "Mail article(s) to [%.*s]> "
 msgstr "Mail article(s) to [%.*s]> "
 
-#: src/lang.c:850
+#: src/lang.c:871
 #, c-format
 msgid "Mailing log to %s\n"
 msgstr "Mailing log to %s\n"
 
-#: src/lang.c:851
+#: src/lang.c:872
 msgid "Mail bug report..."
 msgstr "Mail bug report..."
 
-#: src/lang.c:852
+#: src/lang.c:873
 #, c-format
 msgid "Mail BUG REPORT to %s?"
 msgstr "Mail BUG REPORT to %s?"
 
-#: src/lang.c:853
+#: src/lang.c:874
 msgid "Mailed"
 msgstr "Mailed"
 
-#: src/lang.c:854
+#: src/lang.c:875
 #, c-format
 msgid "Mailing to %s..."
 msgstr "Mailing to %s..."
 
-#: src/lang.c:855
+#: src/lang.c:876
 msgid ""
 "# [Mail/Save] active file. Format is like news active file:\n"
 "#   groupname  max.artnum  min.artnum  /dir\n"
@@ -3039,86 +3116,86 @@ msgstr ""
 "# The 4th field is the basedir (i.e. ~/Mail or ~/News)\n"
 "#\n"
 
-#: src/lang.c:858
+#: src/lang.c:879
 #, c-format
 msgid "%s marked as read"
 msgstr "%s marked as read"
 
-#: src/lang.c:859
+#: src/lang.c:880
 #, c-format
 msgid "%s marked as unread"
 msgstr "%s marked as unread"
 
-#: src/lang.c:860
+#: src/lang.c:881
 #, c-format
 msgid "Marked %d of %d %s as read"
 msgstr "Marked %d of %d %s as read"
 
-#: src/lang.c:861
+#: src/lang.c:882
 #, c-format
 msgid "Marked %d of %d %s as unread"
 msgstr "Marked %d of %d %s as unread"
 
-#: src/lang.c:862 src/lang.c:1704
+#: src/lang.c:883 src/lang.c:1753
 msgid "Mark"
 msgstr "Mark"
 
-#: src/lang.c:863
+#: src/lang.c:884
 #, c-format
 msgid "Mark all articles as read%s?"
 msgstr "Mark all articles as read%s?"
 
-#: src/lang.c:864
+#: src/lang.c:885
 #, c-format
 msgid "Mark article as read%s?"
 msgstr "Mark article as read%s?"
 
-#: src/lang.c:865
+#: src/lang.c:886
 #, c-format
 msgid "Mark group %s as read?"
 msgstr "Mark group %s as read?"
 
-#: src/lang.c:866
+#: src/lang.c:887
 #, c-format
 msgid "Mark thread as read%s?"
 msgstr "Mark thread as read%s?"
 
-#: src/lang.c:867
+#: src/lang.c:888
 #, c-format
 msgid "Matching %s groups..."
 msgstr "Matching %s groups..."
 
-#: src/lang.c:868 src/lang.c:881 src/lang.c:884 src/lang.c:890
+#: src/lang.c:889 src/lang.c:902 src/lang.c:905 src/lang.c:911
 #, c-format
 msgid "<n>=set current to n; %s=line down; %s=line up; %s=help; %s=quit"
 msgstr "<n>=set current to n; %s=line down; %s=line up; %s=help; %s=quit"
 
-#: src/lang.c:870
+#: src/lang.c:891
 #, c-format
 msgid ""
 "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr ""
 "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 
-#: src/lang.c:872
+#: src/lang.c:893
 #, c-format
 msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 
-#: src/lang.c:874
+#: src/lang.c:895
 #, c-format
 msgid ""
 "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search"
 msgstr ""
 "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search"
 
-#: src/lang.c:875 src/lang.c:879
+#: src/lang.c:896 src/lang.c:900
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=search pattern; %s=kill/select"
 msgstr ""
 "<n>=set current to n; %s=next unread; %s=search pattern; %s=kill/select"
 
-#: src/lang.c:876
+#: src/lang.c:897
 #, c-format
 msgid ""
 "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; "
@@ -3127,45 +3204,45 @@ msgstr ""
 "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; "
 "%s=list thread"
 
-#: src/lang.c:877
+#: src/lang.c:898
 #, c-format
 msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"
 msgstr "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"
 
-#: src/lang.c:878
+#: src/lang.c:899
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=quit"
 msgstr "%s=search forwards; %s=search backwards; %s=quit"
 
-#: src/lang.c:880
+#: src/lang.c:901
 #, c-format
 msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr ""
 "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 
-#: src/lang.c:882 src/lang.c:891
+#: src/lang.c:903 src/lang.c:912
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=repeat search"
 msgstr "%s=search forwards; %s=search backwards; %s=repeat search"
 
-#: src/lang.c:883
+#: src/lang.c:904
 #, c-format
 msgid "%s=add; %s=move; %s=rename; %s=delete"
 msgstr "%s=add; %s=move; %s=rename; %s=delete"
 
-#: src/lang.c:885
+#: src/lang.c:906
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr "<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 
-#: src/lang.c:886
+#: src/lang.c:907
 #, c-format
 msgid ""
 "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
 msgstr ""
 "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
 
-#: src/lang.c:887
+#: src/lang.c:908
 #, c-format
 msgid ""
 "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/"
@@ -3174,224 +3251,226 @@ msgstr ""
 "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/"
 "out"
 
-#: src/lang.c:888
+#: src/lang.c:909
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr "<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 
-#: src/lang.c:889
+#: src/lang.c:910
 #, c-format
 msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"
 msgstr "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"
 
-#: src/lang.c:892
+#: src/lang.c:913
 msgid "--More--"
 msgstr "--More--"
 
-#: src/lang.c:894
+#: src/lang.c:915
 #, c-format
 msgid "MOTD: %s\n"
 msgstr "MOTD: %s\n"
 
-#: src/lang.c:896
+#: src/lang.c:917
 #, c-format
 msgid "Moving %s..."
 msgstr "Moving %s..."
 
-#: src/lang.c:897
+#: src/lang.c:918
 msgid "Message-ID: & last Reference  "
 msgstr "Message-ID: & last Reference  "
 
-#: src/lang.c:898
+#: src/lang.c:919
 msgid "Message-ID: line              "
 msgstr "Message-ID: line              "
 
-#: src/lang.c:899
+#: src/lang.c:920
 msgid "Message-ID: & References: line"
 msgstr "Message-ID: & References: line"
 
-#: src/lang.c:901
+#: src/lang.c:922
 #, c-format
 msgid "Go to newsgroup [%s]> "
 msgstr "Go to newsgroup [%s]> "
 
-#: src/lang.c:902
+#: src/lang.c:923
 msgid "newsgroups"
 msgstr "newsgroups"
 
-#: src/lang.c:903
+#: src/lang.c:924
 #, c-format
 msgid "Position %s in group list (1,2,..,$) [%d]> "
 msgstr "Position %s in group list (1,2,..,$) [%d]> "
 
-#: src/lang.c:904
+#: src/lang.c:925
 msgid "newsgroup"
 msgstr "newsgroup"
 
-#: src/lang.c:905
+#: src/lang.c:926
 msgid "Try and save newsrc file again?"
 msgstr "Try and save newsrc file again?"
 
-#: src/lang.c:906
-msgid "Warning: No newsgroups were written to your newsrc file. Save aborted."
-msgstr "Warning: No newsgroups were written to your newsrc file. Save aborted."
+#: src/lang.c:927
+#, c-format
+msgid "Warning: No groups written to your %s file. Save aborted."
+msgstr "Warning: No groups written to your %s file. Save aborted."
 
-#: src/lang.c:907
-msgid "newsrc file saved successfully.\n"
-msgstr "newsrc file saved successfully.\n"
+#: src/lang.c:928
+#, c-format
+msgid "%s file saved successfully.\n"
+msgstr "%s file saved successfully.\n"
 
-#: src/lang.c:908
+#: src/lang.c:929
 msgid "-- Next response --"
 msgstr "-- Next response --"
 
-#: src/lang.c:909
+#: src/lang.c:930
 msgid "No  "
 msgstr "No  "
 
-#: src/lang.c:910
+#: src/lang.c:931
 msgid "*** No articles ***"
 msgstr "*** No articles ***"
 
-#: src/lang.c:911
+#: src/lang.c:932
 msgid "No articles have been posted"
 msgstr "No articles have been posted"
 
-#: src/lang.c:912
+#: src/lang.c:933
 msgid "*** No attachments ***"
 msgstr "*** No attachments ***"
 
-#: src/lang.c:913
+#: src/lang.c:934
 msgid "*** No description ***"
 msgstr "*** No description ***"
 
-#: src/lang.c:914
+#: src/lang.c:935
 msgid "No filename"
 msgstr "No filename"
 
-#: src/lang.c:915
+#: src/lang.c:936
 msgid "No group"
 msgstr "No group"
 
-#: src/lang.c:916
+#: src/lang.c:937
 msgid "*** No groups ***"
 msgstr "*** No groups ***"
 
-#: src/lang.c:917
+#: src/lang.c:938
 msgid "No more groups to read"
 msgstr "No more groups to read"
 
-#: src/lang.c:918
+#: src/lang.c:939
 msgid "No last message"
 msgstr "No last message"
 
-#: src/lang.c:919
+#: src/lang.c:940
 msgid "No mail address"
 msgstr "No mail address"
 
-#: src/lang.c:920
+#: src/lang.c:941
 msgid "No articles marked for saving"
 msgstr "No articles marked for saving"
 
-#: src/lang.c:921
+#: src/lang.c:942
 msgid "No match"
 msgstr "No match"
 
-#: src/lang.c:922
+#: src/lang.c:943
 msgid "No more groups"
 msgstr "No more groups"
 
-#: src/lang.c:923
+#: src/lang.c:944
 msgid "No newsgroups"
 msgstr "No newsgroups"
 
-#: src/lang.c:924
+#: src/lang.c:945
 msgid "No next unread article"
 msgstr "No next unread article"
 
-#: src/lang.c:925
+#: src/lang.c:946
 msgid "No previous group"
 msgstr "No previous group"
 
-#: src/lang.c:926
+#: src/lang.c:947
 msgid "No previous search, nothing to repeat"
 msgstr "No previous search, nothing to repeat"
 
-#: src/lang.c:927
+#: src/lang.c:948
 msgid "No previous unread article"
 msgstr "No previous unread article"
 
-#: src/lang.c:928
+#: src/lang.c:949
 msgid "No responses"
 msgstr "No responses"
 
-#: src/lang.c:929
+#: src/lang.c:950
 msgid "No responses to list in current thread"
 msgstr "No responses to list in current thread"
 
-#: src/lang.c:930
+#: src/lang.c:951
 msgid "*** No scopes ***"
 msgstr "*** No scopes ***"
 
-#: src/lang.c:931
+#: src/lang.c:952
 msgid "No search string"
 msgstr "No search string"
 
-#: src/lang.c:932
+#: src/lang.c:953
 msgid "No subject"
 msgstr "No subject"
 
-#: src/lang.c:934
+#: src/lang.c:955
 #, c-format
 msgid "%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr "%s: Terminal must have clear to end-of-line (ce)\n"
 
-#: src/lang.c:935
+#: src/lang.c:956
 #, c-format
 msgid "%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr "%s: Terminal must have clear to end-of-screen (cd)\n"
 
-#: src/lang.c:936
+#: src/lang.c:957
 #, c-format
 msgid "%s: Terminal must have clearscreen (cl) capability\n"
 msgstr "%s: Terminal must have clearscreen (cl) capability\n"
 
-#: src/lang.c:937
+#: src/lang.c:958
 #, c-format
 msgid "%s: Terminal must have cursor motion (cm)\n"
 msgstr "%s: Terminal must have cursor motion (cm)\n"
 
-#: src/lang.c:938
+#: src/lang.c:959
 #, c-format
 msgid "%s: TERM variable must be set to use screen capabilities\n"
 msgstr "%s: TERM variable must be set to use screen capabilities\n"
 
-#: src/lang.c:940
+#: src/lang.c:961
 #, c-format
 msgid "No viewer found for %s/%s\n"
 msgstr "No viewer found for %s/%s\n"
 
-#: src/lang.c:941 src/lang.c:1616 src/lang.c:1644 src/lang.c:1935
+#: src/lang.c:962 src/lang.c:1665 src/lang.c:1693 src/lang.c:1991
 msgid "None"
 msgstr "None"
 
-#: src/lang.c:942
+#: src/lang.c:963
 msgid "Newsgroup does not exist on this server"
 msgstr "Newsgroup does not exist on this server"
 
-#: src/lang.c:943
+#: src/lang.c:964
 #, c-format
 msgid "Group %s not found in active file"
 msgstr "Group %s not found in active file"
 
-#: src/lang.c:944
+#: src/lang.c:966
 msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 
-#: src/lang.c:945
+#: src/lang.c:967
 msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr "use a)lternative name, use d)efault .newsrc, q)uit tin: "
 
-#: src/lang.c:946
+#: src/lang.c:968
 #, c-format
 msgid ""
 "# NNTP-server -> newsrc translation table and NNTP-server\n"
@@ -3420,48 +3499,48 @@ msgstr ""
 "#   news.example.org  /tmp/nrc-ex      example    ex\n"
 "#\n"
 
-#: src/lang.c:952
+#: src/lang.c:975
 msgid "NULL"
 msgstr "NULL"
 
-#: src/lang.c:954
+#: src/lang.c:977
 msgid "Only"
 msgstr "Only"
 
-#: src/lang.c:955
-#, c-format
-msgid "Option not enabled. Recompile with %s."
-msgstr "Option not enabled. Recompile with %s."
-
-#: src/lang.c:956
+#: src/lang.c:979
 msgid "Options Menu"
 msgstr "Options Menu"
 
-#: src/lang.c:957
+#: src/lang.c:980
 msgid "Options Menu Commands"
 msgstr "Options Menu Commands"
 
-#: src/lang.c:960
+#: src/lang.c:981
+#, c-format
+msgid "Option not enabled. Recompile with %s.%s\n"
+msgstr "Option not enabled. Recompile with %s.%s\n"
+
+#: src/lang.c:984
 #, c-format
 msgid "Error in regex: %s at pos. %d '%s'"
 msgstr "Error in regex: %s at pos. %d '%s'"
 
-#: src/lang.c:961
+#: src/lang.c:985
 #, c-format
 msgid "Error in regex: pcre internal error %d"
 msgstr "Error in regex: pcre internal error %d"
 
-#: src/lang.c:963
+#: src/lang.c:987
 #, c-format
 msgid "Error in regex: study - pcre internal error %s"
 msgstr "Error in regex: study - pcre internal error %s"
 
-#: src/lang.c:965
+#: src/lang.c:989
 msgid "Post a followup..."
 msgstr "Post a followup..."
 
 #. TODO: replace hard coded key-name in txt_post_error_ask_postpone
-#: src/lang.c:967
+#: src/lang.c:991
 msgid ""
 "An error has occurred while posting the article. If you think that this\n"
 "error is temporary or otherwise correctable, you can postpone the article\n"
@@ -3471,45 +3550,45 @@ msgstr ""
 "error is temporary or otherwise correctable, you can postpone the article\n"
 "and pick it up again with ^O later.\n"
 
-#: src/lang.c:970
+#: src/lang.c:994
 msgid "Posted articles history"
 msgstr "Posted articles history"
 
-#: src/lang.c:971
+#: src/lang.c:995
 msgid "Posted Articles Menu Commands"
 msgstr "Posted Articles Menu Commands"
 
-#: src/lang.c:972
+#: src/lang.c:996
 msgid "Lookup failed"
 msgstr "Lookup failed"
 
-#: src/lang.c:973
+#: src/lang.c:997
 msgid "Operation not available for replies by mail"
 msgstr "Operation not available for replies by mail"
 
-#: src/lang.c:974
+#: src/lang.c:998
 msgid "Already in posted articles history level"
 msgstr "Already in posted articles history level"
 
-#: src/lang.c:975
+#: src/lang.c:999
 #, c-format
 msgid "Post to newsgroup(s) [%s]> "
 msgstr "Post to newsgroup(s) [%s]> "
 
-#: src/lang.c:976
+#: src/lang.c:1000
 msgid "-- post processing started --"
 msgstr "-- post processing started --"
 
-#: src/lang.c:977
+#: src/lang.c:1001
 msgid "-- post processing completed --"
 msgstr "-- post processing completed --"
 
-#: src/lang.c:978
+#: src/lang.c:1002
 #, c-format
 msgid "Post subject [%s]> "
 msgstr "Post subject [%s]> "
 
-#: src/lang.c:979
+#: src/lang.c:1003
 msgid ""
 "# Summary of mailed/posted messages viewable by 'W' command from within "
 "tin.\n"
@@ -3517,295 +3596,298 @@ msgstr ""
 "# Summary of mailed/posted messages viewable by 'W' command from within "
 "tin.\n"
 
-#: src/lang.c:980
+#: src/lang.c:1004
 msgid "Posting article..."
 msgstr "Posting article..."
 
-#: src/lang.c:982
+#: src/lang.c:1006
 #, c-format
 msgid "Posting failed (%s)"
 msgstr "Posting failed (%s)"
 
-#: src/lang.c:984
+#: src/lang.c:1008
 #, c-format
 msgid "Posting: %.*s ..."
 msgstr "Posting: %.*s ..."
 
-#: src/lang.c:985
+#: src/lang.c:1009
 #, c-format
 msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 msgstr "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 
-#: src/lang.c:986
+#: src/lang.c:1010
 #, c-format
 msgid "Hot %s"
 msgstr "Hot %s"
 
-#: src/lang.c:987
+#: src/lang.c:1011
 #, c-format
 msgid "Tagged %s"
 msgstr "Tagged %s"
 
-#: src/lang.c:988
+#: src/lang.c:1012
 #, c-format
 msgid "Untagged %s"
 msgstr "Untagged %s"
 
-#: src/lang.c:990
+#: src/lang.c:1014
 #, c-format
 msgid "Preparing for filtering on Path header (%d/%d)..."
 msgstr "Preparing for filtering on Path header (%d/%d)..."
 
-#: src/lang.c:992
+#: src/lang.c:1016
 msgid "Processing attributes..."
 msgstr "Processing attributes..."
 
-#: src/lang.c:993
+#: src/lang.c:1017
 msgid "Processing mail messages marked for deletion."
 msgstr "Processing mail messages marked for deletion."
 
-#: src/lang.c:994
+#: src/lang.c:1018
 msgid "Processing saved articles marked for deletion."
 msgstr "Processing saved articles marked for deletion."
 
-#: src/lang.c:995
+#: src/lang.c:1019
 #, c-format
 msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr "Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 
-#: src/lang.c:996
+#: src/lang.c:1020
 msgid "Article unchanged, abort mailing?"
 msgstr "Article unchanged, abort mailing?"
 
-#: src/lang.c:997
+#: src/lang.c:1021
 #, c-format
 msgid "Do you want to see postponed articles (%d)?"
 msgstr "Do you want to see postponed articles (%d)?"
 
-#: src/lang.c:999
+#: src/lang.c:1023
 msgid "Add quick kill filter?"
 msgstr "Add quick kill filter?"
 
-#: src/lang.c:1000
+#: src/lang.c:1024
 msgid "Add quick selection filter?"
 msgstr "Add quick selection filter?"
 
-#: src/lang.c:1001
+#: src/lang.c:1025
 msgid "Do you really want to quit?"
 msgstr "Do you really want to quit?"
 
-#: src/lang.c:1002
+#: src/lang.c:1026
 #, c-format
 msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 
-#: src/lang.c:1003
+#: src/lang.c:1027
 msgid "You have tagged articles in this group - quit anyway?"
 msgstr "You have tagged articles in this group - quit anyway?"
 
-#: src/lang.c:1004
+#: src/lang.c:1028
 #, c-format
 msgid "%s=quit, %s=edit, %s=postpone: "
 msgstr "%s=quit, %s=edit, %s=postpone: "
 
-#: src/lang.c:1005
+#: src/lang.c:1029
 #, c-format
 msgid "%s=quit, %s=edit, %s=save kill description: "
 msgstr "%s=quit, %s=edit, %s=save kill description: "
 
-#: src/lang.c:1006
+#: src/lang.c:1030
 #, c-format
 msgid "%s=quit, %s=edit, %s=save select description: "
 msgstr "%s=quit, %s=edit, %s=save select description: "
 
-#: src/lang.c:1007
+#: src/lang.c:1031
 msgid "Do you really want to quit without saving your configuration?"
 msgstr "Do you really want to quit without saving your configuration?"
 
-#: src/lang.c:1010
+#: src/lang.c:1033
 msgid "Invalid range - valid are '0-9.$' e.g. 1-$"
 msgstr "Invalid range - valid are '0-9.$' e.g. 1-$"
 
-#: src/lang.c:1012
+#: src/lang.c:1035
 msgid "Do you want to abort this operation?"
 msgstr "Do you want to abort this operation?"
 
-#: src/lang.c:1013
+#: src/lang.c:1036
 msgid "Do you want to exit tin immediately?"
 msgstr "Do you want to exit tin immediately?"
 
-#: src/lang.c:1015
+#: src/lang.c:1038
 msgid "Reading ('q' to quit)..."
 msgstr "Reading ('q' to quit)..."
 
-#: src/lang.c:1016
+#: src/lang.c:1039
 #, c-format
 msgid "Reading %s articles..."
 msgstr "Reading %s articles..."
 
-#: src/lang.c:1017
+#: src/lang.c:1040
 #, c-format
-msgid "Reading %sattributes file...\n"
-msgstr "Reading %sattributes file...\n"
+msgid "Reading %sattributes file: %s\n"
+msgstr "Reading %sattributes file: %s\n"
 
-#: src/lang.c:1018
+#: src/lang.c:1041
 #, c-format
-msgid "Reading %sconfig file...\n"
-msgstr "Reading %sconfig file...\n"
+msgid "Reading %sconfig file: %s\n"
+msgstr "Reading %sconfig file: %s\n"
 
-#: src/lang.c:1019
-msgid "Reading filter file...\n"
-msgstr "Reading filter file...\n"
+#: src/lang.c:1042
+#, c-format
+msgid "Reading filter file: %s\n"
+msgstr "Reading filter file: %s\n"
 
-#: src/lang.c:1021
+#: src/lang.c:1044
 msgid "reading from local spool"
 msgstr "reading from local spool"
 
-#: src/lang.c:1023
+#: src/lang.c:1046
 #, c-format
 msgid "Reading %s\n"
 msgstr "Reading %s\n"
 
-#: src/lang.c:1024
+#: src/lang.c:1047
 #, c-format
 msgid "Reading %s groups..."
 msgstr "Reading %s groups..."
 
-#: src/lang.c:1025
-msgid "Reading input history file...\n"
-msgstr "Reading input history file...\n"
+#: src/lang.c:1048
+#, c-format
+msgid "Reading input history file: %s\n"
+msgstr "Reading input history file: %s\n"
 
-#: src/lang.c:1026
+#: src/lang.c:1049
 #, c-format
 msgid "Reading keymap file: %s\n"
 msgstr "Reading keymap file: %s\n"
 
-#: src/lang.c:1027
+#: src/lang.c:1050
 msgid "Reading groups from active file... "
 msgstr "Reading groups from active file... "
 
-#: src/lang.c:1028
+#: src/lang.c:1051
 msgid "Reading groups from newsrc file... "
 msgstr "Reading groups from newsrc file... "
 
-#: src/lang.c:1029
+#: src/lang.c:1052
 msgid "Reading newsgroups file... "
 msgstr "Reading newsgroups file... "
 
-#: src/lang.c:1030
-msgid "Reading newsrc file..."
-msgstr "Reading newsrc file..."
+#: src/lang.c:1053
+#, c-format
+msgid "Reading newsrc file: %s"
+msgstr "Reading newsrc file: %s"
 
-#: src/lang.c:1031
+#: src/lang.c:1054
 msgid "References: line              "
 msgstr "References: line              "
 
-#: src/lang.c:1033
+#: src/lang.c:1056
 #, c-format
 msgid "(%d:%02d remaining)"
 msgstr "(%d:%02d remaining)"
 
-#: src/lang.c:1035
+#: src/lang.c:1058
 #, c-format
 msgid "Bogus group %s removed."
 msgstr "Bogus group %s removed."
 
-#: src/lang.c:1036
+#: src/lang.c:1059
 msgid "Removed from this rule: "
 msgstr "Removed from this rule: "
 
-#: src/lang.c:1037
+#: src/lang.c:1060
 #, c-format
 msgid "Error: rename %s to %s"
 msgstr "Error: rename %s to %s"
 
-#: src/lang.c:1038
+#: src/lang.c:1061
 msgid "Reply to author..."
 msgstr "Reply to author..."
 
-#: src/lang.c:1039
+#: src/lang.c:1062
 msgid "Repost"
 msgstr "Repost"
 
-#: src/lang.c:1040
+#: src/lang.c:1063
 msgid "Reposting article..."
 msgstr "Reposting article..."
 
-#: src/lang.c:1041
+#: src/lang.c:1064
 #, c-format
 msgid "Repost article(s) to group(s) [%s]> "
 msgstr "Repost article(s) to group(s) [%s]> "
 
-#: src/lang.c:1042
+#: src/lang.c:1065
 msgid "Reset newsrc?"
 msgstr "Reset newsrc?"
 
-#: src/lang.c:1043
+#: src/lang.c:1066
 msgid "Responses have been directed to the following newsgroups"
 msgstr "Responses have been directed to the following newsgroups"
 
-#: src/lang.c:1044
+#: src/lang.c:1067
 #, c-format
 msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr "Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 
-#: src/lang.c:1045
+#: src/lang.c:1068
 msgid "Press <RETURN> to continue..."
 msgstr "Press <RETURN> to continue..."
 
-#: src/lang.c:1047
+#: src/lang.c:1070
 #, c-format
 msgid "Score: %s"
 msgstr "Score: %s"
 
-#: src/lang.c:1048
+#: src/lang.c:1071
 #, c-format
 msgid "Select From    [%s] (y/n): "
 msgstr "Select From    [%s] (y/n): "
 
-#: src/lang.c:1049
+#: src/lang.c:1072
 msgid "Select Lines: (</>num): "
 msgstr "Select Lines: (</>num): "
 
-#: src/lang.c:1050
+#: src/lang.c:1073
 msgid "Auto-select Article Menu"
 msgstr "Auto-select Article Menu"
 
-#: src/lang.c:1051
+#: src/lang.c:1074
 #, c-format
 msgid "Select Msg-ID  [%s] (f/l/o/n): "
 msgstr "Select Msg-ID  [%s] (f/l/o/n): "
 
-#: src/lang.c:1052
+#: src/lang.c:1075
 msgid "Select pattern scope: "
 msgstr "Select pattern scope: "
 
-#: src/lang.c:1053
+#: src/lang.c:1076
 #, c-format
 msgid "Select Subject [%s] (y/n): "
 msgstr "Select Subject [%s] (y/n): "
 
-#: src/lang.c:1054
+#: src/lang.c:1077
 msgid "Select text pattern : "
 msgstr "Select text pattern : "
 
-#: src/lang.c:1055
+#: src/lang.c:1078
 msgid "Select time in days   : "
 msgstr "Select time in days   : "
 
-#: src/lang.c:1056
+#: src/lang.c:1079
 msgid "[k]"
 msgstr "[k]"
 
-#: src/lang.c:1057
+#: src/lang.c:1080
 msgid "[T]"
 msgstr "[T]"
 
-#: src/lang.c:1058
+#: src/lang.c:1081
 msgid " R"
 msgstr " R"
 
-#: src/lang.c:1059
+#: src/lang.c:1082
 #, c-format
 msgid ""
 "# %s server configuration file\n"
@@ -3826,54 +3908,54 @@ msgstr ""
 "############################################################################\n"
 "\n"
 
-#: src/lang.c:1065
+#: src/lang.c:1088
 msgid "Showing unread groups only"
 msgstr "Showing unread groups only"
 
-#: src/lang.c:1066
+#: src/lang.c:1089
 msgid "Subject: line (ignore case)   "
 msgstr "Subject: line (ignore case)   "
 
-#: src/lang.c:1067
+#: src/lang.c:1090
 msgid "Subject: line (case sensitive)"
 msgstr "Subject: line (case sensitive)"
 
-#: src/lang.c:1068
+#: src/lang.c:1091
 msgid "Save"
 msgstr "Save"
 
-#: src/lang.c:1069
+#: src/lang.c:1092
 #, c-format
 msgid "Save '%s' (%s/%s)?"
 msgstr "Save '%s' (%s/%s)?"
 
-#: src/lang.c:1070
+#: src/lang.c:1093
 msgid "Save configuration before continuing?"
 msgstr "Save configuration before continuing?"
 
-#: src/lang.c:1071
+#: src/lang.c:1094
 msgid "Save filename> "
 msgstr "Save filename> "
 
-#: src/lang.c:1072
+#: src/lang.c:1095
 msgid "Saved"
 msgstr "Saved"
 
-#: src/lang.c:1073
+#: src/lang.c:1096
 #, c-format
-msgid "%4d unread (%4d hot) %s in %s\n"
-msgstr "%4d unread (%4d hot) %s in %s\n"
+msgid "%s unread (%s hot) %s in %s\n"
+msgstr "%s unread (%s hot) %s in %s\n"
 
-#: src/lang.c:1074
+#: src/lang.c:1097
 #, c-format
 msgid "Saved %s...\n"
 msgstr "Saved %s...\n"
 
-#: src/lang.c:1075
+#: src/lang.c:1098
 msgid "Nothing was saved"
 msgstr "Nothing was saved"
 
-#: src/lang.c:1076
+#: src/lang.c:1099
 #, c-format
 msgid ""
 "\n"
@@ -3882,188 +3964,188 @@ msgstr ""
 "\n"
 "%s %d %s from %d %s\n"
 
-#: src/lang.c:1077
+#: src/lang.c:1100
 #, c-format
 msgid "-- %s saved to %s%s --"
 msgstr "-- %s saved to %s%s --"
 
-#: src/lang.c:1078
+#: src/lang.c:1101
 #, c-format
 msgid "-- %s saved to %s - %s --"
 msgstr "-- %s saved to %s - %s --"
 
-#: src/lang.c:1079
+#: src/lang.c:1102
 msgid "Saving..."
 msgstr "Saving..."
 
-#: src/lang.c:1080
+#: src/lang.c:1103
 #, c-format
 msgid "%s: Screen initialization failed"
 msgstr "%s: Screen initialisation failed"
 
-#: src/lang.c:1082
+#: src/lang.c:1105
 #, c-format
 msgid "%s: screen is too small\n"
 msgstr "%s: screen is too small\n"
 
-#: src/lang.c:1084
+#: src/lang.c:1107
 #, c-format
 msgid "screen is too small, %s is exiting"
 msgstr "screen is too small, %s is exiting"
 
-#: src/lang.c:1085
+#: src/lang.c:1108
 msgid "Delete scope?"
 msgstr "Delete scope?"
 
-#: src/lang.c:1086
+#: src/lang.c:1109
 msgid "Enter scope> "
 msgstr "Enter scope> "
 
-#: src/lang.c:1087
+#: src/lang.c:1110
 msgid "Select new position> "
 msgstr "Select new position> "
 
-#: src/lang.c:1088
+#: src/lang.c:1111
 msgid "New position cannot be a global scope"
 msgstr "New position cannot be a global scope"
 
-#: src/lang.c:1089
+#: src/lang.c:1112
 msgid "Global scope, operation not allowed"
 msgstr "Global scope, operation not allowed"
 
-#: src/lang.c:1090
+#: src/lang.c:1113
 msgid "Rename scope> "
 msgstr "Rename scope> "
 
-#: src/lang.c:1091
+#: src/lang.c:1114
 msgid "Select scope> "
 msgstr "Select scope> "
 
-#: src/lang.c:1092
+#: src/lang.c:1115
 msgid "Scopes Menu"
 msgstr "Scopes Menu"
 
-#: src/lang.c:1093
+#: src/lang.c:1116
 msgid "Scopes Menu Commands"
 msgstr "Scopes Menu Commands"
 
-#: src/lang.c:1094
+#: src/lang.c:1117
 #, c-format
 msgid "Search backwards [%s]> "
 msgstr "Search backwards [%s]> "
 
-#: src/lang.c:1095
+#: src/lang.c:1118
 #, c-format
 msgid "Search body [%s]> "
 msgstr "Search body [%s]> "
 
-#: src/lang.c:1096
+#: src/lang.c:1119
 #, c-format
 msgid "Search forwards [%s]> "
 msgstr "Search forwards [%s]> "
 
-#: src/lang.c:1097
+#: src/lang.c:1120
 msgid "Searching..."
 msgstr "Searching..."
 
-#: src/lang.c:1098
+#: src/lang.c:1121
 #, c-format
 msgid "Searching article %d of %d ('q' to abort)..."
 msgstr "Searching article %d of %d ('q' to abort)..."
 
-#: src/lang.c:1099
+#: src/lang.c:1122
 msgid "Select article> "
 msgstr "Select article> "
 
-#: src/lang.c:1100
+#: src/lang.c:1123
 msgid ""
 "Select option number before text or use arrow keys and <CR>. 'q' to quit."
 msgstr ""
 "Select option number before text or use arrow keys and <CR>. 'q' to quit."
 
-#: src/lang.c:1101
+#: src/lang.c:1124
 msgid "Select group> "
 msgstr "Select group> "
 
-#: src/lang.c:1102
+#: src/lang.c:1125
 #, c-format
 msgid "Enter selection pattern [%s]> "
 msgstr "Enter selection pattern [%s]> "
 
-#: src/lang.c:1103
+#: src/lang.c:1126
 msgid "Select thread> "
 msgstr "Select thread> "
 
-#: src/lang.c:1104
+#: src/lang.c:1127
 #, c-format
 msgid "%s %s %s (\"%s\"): send a DETAILED bug report to %s\n"
 msgstr "%s %s %s (\"%s\"): send a DETAILED bug report to %s\n"
 
-#: src/lang.c:1105
+#: src/lang.c:1128
 msgid "servers active-file"
 msgstr "servers active-file"
 
-#: src/lang.c:1106
+#: src/lang.c:1129
 #, c-format
 msgid "Skipped %s"
 msgstr "Skipped %s"
 
-#: src/lang.c:1107
+#: src/lang.c:1130
 msgid "Cannot move into new newsgroups. Subscribe first..."
 msgstr "Cannot move into new newsgroups. Subscribe first..."
 
-#: src/lang.c:1108
+#: src/lang.c:1131
 msgid "<SPACE>"
 msgstr "<SPACE>"
 
-#: src/lang.c:1109
+#: src/lang.c:1132
 #, c-format
 msgid "Starting: (%s)"
 msgstr "Starting: (%s)"
 
-#: src/lang.c:1110
+#: src/lang.c:1133
 #, c-format
 msgid "List Thread (%d of %d)"
 msgstr "List Thread (%d of %d)"
 
-#: src/lang.c:1111
+#: src/lang.c:1134
 #, c-format
 msgid "Thread (%.*s)"
 msgstr "Thread (%.*s)"
 
-#: src/lang.c:1112
+#: src/lang.c:1135
 msgid "Enter wildcard subscribe pattern> "
 msgstr "Enter wildcard subscribe pattern> "
 
-#: src/lang.c:1113
+#: src/lang.c:1136
 #, c-format
 msgid "subscribed to %d groups"
 msgstr "subscribed to %d groups"
 
-#: src/lang.c:1114
+#: src/lang.c:1137
 #, c-format
 msgid "Subscribed to %s"
 msgstr "Subscribed to %s"
 
-#: src/lang.c:1115
+#: src/lang.c:1138
 msgid "Subscribing... "
 msgstr "Subscribing... "
 
-#: src/lang.c:1116
+#: src/lang.c:1139
 #, c-format
 msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): "
 msgstr "Repost or supersede article(s) [%%s]? (%s/%s/%s): "
 
-#: src/lang.c:1117
+#: src/lang.c:1140
 #, c-format
 msgid "Supersede article(s) to group(s) [%s]> "
 msgstr "Supersede article(s) to group(s) [%s]> "
 
-#: src/lang.c:1118
+#: src/lang.c:1141
 msgid "Superseding article ..."
 msgstr "Superseding article ..."
 
-#: src/lang.c:1119
+#: src/lang.c:1142
 #, c-format
 msgid ""
 "\n"
@@ -4072,29 +4154,29 @@ msgstr ""
 "\n"
 "Stopped. Type 'fg' to restart %s\n"
 
-#: src/lang.c:1121
+#: src/lang.c:1144
 #, c-format
 msgid "%d days"
 msgstr "%d days"
 
-#: src/lang.c:1122
+#: src/lang.c:1145
 msgid "<TAB>"
 msgstr "<TAB>"
 
-#: src/lang.c:1123
+#: src/lang.c:1146
 msgid "TeX "
 msgstr "TeX "
 
-#: src/lang.c:1124
+#: src/lang.c:1147
 #, c-format
 msgid "Version: %s %s release %s (\"%s\")"
 msgstr "Version: %s %s release %s (\"%s\")"
 
-#: src/lang.c:1125
+#: src/lang.c:1148
 msgid "# Default action/prompt strings\n"
 msgstr "# Default action/prompt strings\n"
 
-#: src/lang.c:1126
+#: src/lang.c:1149
 msgid ""
 "# Defaults for quick (1 key) kill & auto-selection filters\n"
 "# header=NUM  0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n"
@@ -4112,107 +4194,98 @@ msgstr ""
 "# case=ON/OFF    ON=filter case sensitive OFF=ignore case\n"
 "# expire=ON/OFF  ON=limit to default_filter_days OFF=don't ever expire\n"
 
-#: src/lang.c:1139
+#: src/lang.c:1162
 msgid ""
 "# If ON use print current subject or newsgroup description in the last line\n"
 msgstr ""
 "# If ON use print current subject or newsgroup description in the last line\n"
 
-#: src/lang.c:1140
+#: src/lang.c:1163
 msgid "# Host & time info used for detecting new groups (don't touch)\n"
 msgstr "# Host & time info used for detecting new groups (don't touch)\n"
 
-#: src/lang.c:1141
+#: src/lang.c:1164
 msgid "There is no news\n"
 msgstr "There is no news\n"
 
-#: src/lang.c:1142
+#: src/lang.c:1165
 msgid "Thread"
 msgstr "Thread"
 
-#: src/lang.c:1143
+#: src/lang.c:1166
 msgid "Thread Level Commands"
 msgstr "Thread Level Commands"
 
-#: src/lang.c:1144
+#: src/lang.c:1167
 msgid "Thread deselected"
 msgstr "Thread deselected"
 
-#: src/lang.c:1145
+#: src/lang.c:1168
 msgid "Thread selected"
 msgstr "Thread selected"
 
-#: src/lang.c:1146
+#: src/lang.c:1169
 msgid "thread"
 msgstr "thread"
 
-#: src/lang.c:1147
+#: src/lang.c:1170
 #, c-format
 msgid "Thread %4s of %4s"
 msgstr "Thread %4s of %4s"
 
-#: src/lang.c:1148
+#: src/lang.c:1171
 msgid "Threading articles..."
 msgstr "Threading articles..."
 
-#: src/lang.c:1149
+#: src/lang.c:1172
 msgid "Threading by multipart"
 msgstr "Threading by multipart"
 
-#: src/lang.c:1151
-#, c-format
-msgid "TLS handshake failed: %s\n"
-msgstr "TLS handshake failed: %s\n"
-
-#: src/lang.c:1153
+#: src/lang.c:1175
 msgid "<failed to retrieve cipher>"
-msgstr "<failed to retrieve cipher>"
+msgstr "<failed to retrieve cypher>"
 
-#: src/lang.c:1154
+#: src/lang.c:1176
 msgid "<failed to retrieve issuer>"
 msgstr "<failed to retrieve issuer>"
 
-#: src/lang.c:1155
+#: src/lang.c:1177
 msgid "<failed to retrieve subject>"
 msgstr "<failed to retrieve subject>"
 
-#: src/lang.c:1156
+#: src/lang.c:1178
 msgid "<failed to retrieve version>"
 msgstr "<failed to retrieve version>"
 
-#: src/lang.c:1157
+#: src/lang.c:1179
 #, c-format
 msgid "%s handshake done: %s\n"
 msgstr "%s handshake done: %s\n"
 
-#: src/lang.c:1158 src/lang.c:1309
-msgid "unknown error"
-msgstr "unknown error"
-
-#: src/lang.c:1161
+#: src/lang.c:1182
 #, c-format
 msgid "TLS handshake failed: %s (%d)\n"
 msgstr "TLS handshake failed: %s (%d)\n"
 
-#: src/lang.c:1162
+#: src/lang.c:1183
 #, c-format
 msgid "TLS peer verification failed: %s\n"
 msgstr "TLS peer verification failed: %s\n"
 
-#: src/lang.c:1163
+#: src/lang.c:1184
 #, c-format
 msgid "TLS peer verification failed, continuing anyway as requested: %s\n"
 msgstr "TLS peer verification failed, continuing anyway as requested: %s\n"
 
-#: src/lang.c:1164
+#: src/lang.c:1185
 msgid "<unable to retrieve status>"
 msgstr "<unable to retrieve status>"
 
-#: src/lang.c:1165
+#: src/lang.c:1186
 msgid "unexpected certificate verification status!"
 msgstr "unexpected certificate verification status!"
 
-#: src/lang.c:1168
+#: src/lang.c:1189
 #, c-format
 msgid ""
 "TLS peer verification failed: %s.\n"
@@ -4221,178 +4294,197 @@ msgstr ""
 "TLS peer verification failed: %s.\n"
 "Continuing anyway as requested.\n"
 
-#: src/lang.c:1171
+#: src/lang.c:1192
 #, c-format
 msgid "TLS handshake done: %s\n"
 msgstr "TLS handshake done: %s\n"
 
-#: src/lang.c:1174
+#: src/lang.c:1195
+#, c-format
+msgid "TLS handshake failed: %s\n"
+msgstr "TLS handshake failed: %s\n"
+
+#: src/lang.c:1198
 #, c-format
 msgid "Toggled word highlighting %s"
 msgstr "Toggled word highlighting %s"
 
-#: src/lang.c:1175
+#: src/lang.c:1199
 msgid "Toggled rot13 encoding"
 msgstr "Toggled rot13 encoding"
 
-#: src/lang.c:1176
+#: src/lang.c:1200
 #, c-format
 msgid "Toggled German TeX encoding %s"
 msgstr "Toggled German TeX encoding %s"
 
-#: src/lang.c:1177
+#: src/lang.c:1201
 #, c-format
 msgid "Toggled tab-width to %d"
 msgstr "Toggled tab-width to %d"
 
-#: src/lang.c:1179
+#: src/lang.c:1203
 #, c-format
 msgid "%d Trying to dotlock %s"
 msgstr "%d Trying to dotlock %s"
 
-#: src/lang.c:1180
+#: src/lang.c:1204
 #, c-format
 msgid "%d Trying to lock %s"
 msgstr "%d Trying to lock %s"
 
-#: src/lang.c:1182
+#: src/lang.c:1206
 #, c-format
 msgid "%s=help"
 msgstr "%s=help"
 
-#: src/lang.c:1184
+#: src/lang.c:1208
 msgid "Unlimited"
 msgstr "Unlimited"
 
-#: src/lang.c:1185
+#: src/lang.c:1209
 msgid "Enter wildcard unsubscribe pattern> "
 msgstr "Enter wildcard unsubscribe pattern> "
 
-#: src/lang.c:1186
+#: src/lang.c:1210
 #, c-format
 msgid "Error decoding %s : %s"
 msgstr "Error decoding %s : %s"
 
-#: src/lang.c:1187
+#: src/lang.c:1211
 msgid "No end."
 msgstr "No end."
 
-#: src/lang.c:1188
+#: src/lang.c:1212
 #, c-format
 msgid "%s successfully decoded."
 msgstr "%s successfully decoded."
 
-#: src/lang.c:1189
+#: src/lang.c:1214
 msgid "unchanged"
 msgstr "unchanged"
 
-#: src/lang.c:1190
+#: src/lang.c:1216
 msgid "(unknown)"
 msgstr "(unknown)"
 
-#: src/lang.c:1191
+#: src/lang.c:1218
+msgid "unknown error"
+msgstr "unknown error"
+
+#: src/lang.c:1220
 msgid "unread"
 msgstr "unread"
 
-#: src/lang.c:1192
+#: src/lang.c:1221
 #, c-format
 msgid "unsubscribed from %d groups"
 msgstr "unsubscribed from %d groups"
 
-#: src/lang.c:1193
+#: src/lang.c:1222
 #, c-format
 msgid "Unsubscribed from %s"
 msgstr "Unsubscribed from %s"
 
-#: src/lang.c:1194
+#: src/lang.c:1223
 msgid "Unsubscribing... "
 msgstr "Unsubscribing... "
 
-#: src/lang.c:1195
+#: src/lang.c:1224
 msgid "Unthreading articles..."
 msgstr "Unthreading articles..."
 
-#: src/lang.c:1196
+#: src/lang.c:1225
 msgid "Updated"
 msgstr "Updated"
 
-#: src/lang.c:1197
+#: src/lang.c:1226
 msgid "Updating"
 msgstr "Updating"
 
-#: src/lang.c:1198
+#: src/lang.c:1227
 msgid "URL Menu"
 msgstr "URL Menu"
 
-#: src/lang.c:1199
+#: src/lang.c:1228
 msgid "URL Menu Commands"
 msgstr "URL Menu Commands"
 
-#: src/lang.c:1200
+#: src/lang.c:1229
 #, c-format
 msgid "Opening %s"
 msgstr "Opening %s"
 
-#: src/lang.c:1201
+#: src/lang.c:1230
 msgid "Select URL> "
 msgstr "Select URL> "
 
-#: src/lang.c:1202
+#: src/lang.c:1231
 msgid "No URLs in this article"
 msgstr "No URLs in this article"
 
-#: src/lang.c:1203
-msgid "Use MIME display program for this message?"
-msgstr "Use MIME display program for this message?"
+#: src/lang.c:1233
+#, c-format
+msgid "SASL MECHS    : %s\n"
+msgstr "SASL MECHS    : %s\n"
 
-#: src/lang.c:1204
+#: src/lang.c:1234
+#, c-format
+msgid "SASL MECH used: %s\n"
+msgstr "SASL MECH used: %s\n"
+
+#: src/lang.c:1236
 msgid "  -c       mark all news as read in subscribed newsgroups (batch mode)"
 msgstr "  -c       mark all news as read in subscribed newsgroups (batch mode)"
 
-#: src/lang.c:1205
+#: src/lang.c:1237
 msgid "  -Z       return status indicating if any unread news (batch mode)"
 msgstr "  -Z       return status indicating if any unread news (batch mode)"
 
-#: src/lang.c:1206
+#: src/lang.c:1238
 msgid "  -q       don't check for new newsgroups"
 msgstr "  -q       don't check for new newsgroups"
 
-#: src/lang.c:1207
+#: src/lang.c:1239
 msgid "  -X       don't save any files on quit"
 msgstr "  -X       don't save any files on quit"
 
-#: src/lang.c:1208
+#: src/lang.c:1240
 msgid "  -d       don't show newsgroup descriptions"
 msgstr "  -d       don't show newsgroup descriptions"
 
-#: src/lang.c:1209
+#: src/lang.c:1241
 msgid "  -G limit get only limit articles/group"
 msgstr "  -G limit get only limit articles/group"
 
-#: src/lang.c:1210
+#: src/lang.c:1242
 #, c-format
 msgid "  -H       help information about %s"
 msgstr "  -H       help information about %s"
 
-#: src/lang.c:1211
+#: src/lang.c:1243
 msgid "  -h       this help message"
 msgstr "  -h       this help message"
 
-#: src/lang.c:1212
+#: src/lang.c:1244
 #, c-format
 msgid "  -I dir   news index file directory [default=%s]"
 msgstr "  -I dir   news index file directory [default=%s]"
 
-#: src/lang.c:1213
+#: src/lang.c:1246
+msgid "  -L msgid show the message with that Message-ID"
+msgstr "  -L msgid show the message with that Message-ID"
+
+#: src/lang.c:1248
 msgid "  -u       update index files (batch mode)"
 msgstr "  -u       update index files (batch mode)"
 
-#: src/lang.c:1214
+#: src/lang.c:1249
 #, c-format
 msgid "  -m dir   mailbox directory [default=%s]"
 msgstr "  -m dir   mailbox directory [default=%s]"
 
-#: src/lang.c:1215
+#: src/lang.c:1250
 #, c-format
 msgid ""
 "\n"
@@ -4401,49 +4493,54 @@ msgstr ""
 "\n"
 "Mail bug reports/comments to %s"
 
-#: src/lang.c:1216
+#: src/lang.c:1251
 msgid "  -N       mail new news to your posts (batch mode)"
 msgstr "  -N       mail new news to your posts (batch mode)"
 
-#: src/lang.c:1217
+#: src/lang.c:1252
 msgid "  -M user  mail new news to specified user (batch mode)"
 msgstr "  -M user  mail new news to specified user (batch mode)"
 
-#: src/lang.c:1218
+#: src/lang.c:1253
 #, c-format
 msgid "  -f file  subscribed to newsgroups file [default=%s]"
 msgstr "  -f file  subscribed to newsgroups file [default=%s]"
 
-#: src/lang.c:1219
+#: src/lang.c:1255
+#, c-format
+msgid "  -t sec   override nntp_read_timeout_secs setting [default=%d]"
+msgstr "  -t sec   override nntp_read_timeout_secs setting [default=%d]"
+
+#: src/lang.c:1257
 msgid "  -x       no-posting mode"
 msgstr "  -x       no-posting mode"
 
-#: src/lang.c:1220
+#: src/lang.c:1258
 msgid "  -w       post an article and exit"
 msgstr "  -w       post an article and exit"
 
-#: src/lang.c:1221
+#: src/lang.c:1259
 msgid "  -o       post all postponed articles and exit"
 msgstr "  -o       post all postponed articles and exit"
 
-#: src/lang.c:1222
+#: src/lang.c:1260
 msgid "  -R       read news saved by -S option"
 msgstr "  -R       read news saved by -S option"
 
-#: src/lang.c:1223
+#: src/lang.c:1261
 #, c-format
 msgid "  -s dir   save news directory [default=%s]"
 msgstr "  -s dir   save news directory [default=%s]"
 
-#: src/lang.c:1224
+#: src/lang.c:1262
 msgid "  -S       save new news for later reading (batch mode)"
 msgstr "  -S       save new news for later reading (batch mode)"
 
-#: src/lang.c:1225
+#: src/lang.c:1263
 msgid "  -z       start if any unread news"
 msgstr "  -z       start if any unread news"
 
-#: src/lang.c:1226
+#: src/lang.c:1264
 #, c-format
 msgid ""
 "A Usenet reader.\n"
@@ -4454,67 +4551,72 @@ msgstr ""
 "\n"
 "Usage: %s [options] [newsgroup[,...]]"
 
-#: src/lang.c:1227
+#: src/lang.c:1265
 msgid "  -v       verbose output for batch mode options"
 msgstr "  -v       verbose output for batch mode options"
 
-#: src/lang.c:1228
+#: src/lang.c:1266
 msgid "  -V       print version & date information"
 msgstr "  -V       print version & date information"
 
-#: src/lang.c:1229
+#: src/lang.c:1267
+msgid "Use MIME display program for this message?"
+msgstr "Use MIME display program for this message?"
+
+#: src/lang.c:1268
 #, c-format
-msgid "%s only useful without batch mode operations\n"
-msgstr "%s only useful without batch mode operations\n"
+msgid "%s only useful without batch mode operations.%s\n"
+msgstr "%s only useful without batch mode operations.%s\n"
 
-#: src/lang.c:1230
+#: src/lang.c:1269
 #, c-format
-msgid "%s only useful for batch mode operations\n"
-msgstr "%s only useful for batch mode operations\n"
+msgid "%s only useful for batch mode operations.%s\n"
+msgstr "%s only useful for batch mode operations.%s\n"
 
-#: src/lang.c:1231
+#: src/lang.c:1270
 #, c-format
-msgid "%s only useful for batch or debug mode operations\n"
-msgstr "%s only useful for batch or debug mode operations\n"
+msgid "%s only useful for batch or debug mode operations.%s\n"
+msgstr "%s only useful for batch or debug mode operations.%s\n"
 
-#: src/lang.c:1232
+#: src/lang.c:1271
 #, c-format
-msgid "Useless combination %s and %s. Ignoring %s.\n"
-msgstr "Useless combination %s and %s. Ignoring %s.\n"
+msgid "Useless combination %s and %s. Ignoring %s.%s\n"
+msgstr "Useless combination %s and %s. Ignoring %s.%s\n"
 
-#: src/lang.c:1233
+#: src/lang.c:1272
 msgid "uuencoded file"
 msgstr "uuencoded file"
 
-#: src/lang.c:1234
+#: src/lang.c:1273
 msgid "incomplete uuencoded file"
 msgstr "incomplete uuencoded file"
 
-#: src/lang.c:1237
+#: src/lang.c:1276
 #, c-format
 msgid "Valid not after : %s\n"
 msgstr "Valid not after : %s\n"
 
-#: src/lang.c:1238
+#: src/lang.c:1277
 #, c-format
 msgid "Valid not before: %s\n"
 msgstr "Valid not before: %s\n"
 
-#: src/lang.c:1240
+#: src/lang.c:1279
 #, c-format
-msgid ""
-"\n"
-"%s%d out of range (0 - %d). Reset to 0"
-msgstr ""
-"\n"
-"%s%d out of range (0 - %d). Reset to 0"
+msgid "%s %s out of range (%d - %d). Ignored."
+msgstr "%s %s out of range (%d - %d). Ignored."
 
-#: src/lang.c:1241
+#: src/lang.c:1280
+#, c-format
+msgid "%s %d out of range (0 - %d). Reset to 0."
+msgstr "%s %d out of range (0 - %d). Reset to 0."
+
+#: src/lang.c:1281
 #, c-format
 msgid "View '%s' (%s/%s)?"
 msgstr "View '%s' (%s/%s)?"
 
-#: src/lang.c:1243
+#: src/lang.c:1283
 #, c-format
 msgid ""
 "\n"
@@ -4525,7 +4627,7 @@ msgstr ""
 "Warning: posting exceeds %d columns. Line %d is the first long one:\n"
 "%-100s\n"
 
-#: src/lang.c:1244
+#: src/lang.c:1284
 msgid ""
 "\n"
 "Warning: article unchanged after editing\n"
@@ -4533,7 +4635,7 @@ msgstr ""
 "\n"
 "Warning: article unchanged after editing\n"
 
-#: src/lang.c:1245
+#: src/lang.c:1285
 msgid ""
 "\n"
 "Warning: \"Subject:\" contains only whitespaces.\n"
@@ -4541,7 +4643,7 @@ msgstr ""
 "\n"
 "Warning: \"Subject:\" contains only whitespaces.\n"
 
-#: src/lang.c:1246
+#: src/lang.c:1286
 msgid ""
 "\n"
 "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:"
@@ -4551,7 +4653,7 @@ msgstr ""
 "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:"
 "\".\n"
 
-#: src/lang.c:1248
+#: src/lang.c:1288
 msgid ""
 "\n"
 "Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
@@ -4561,7 +4663,15 @@ msgstr ""
 "Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
 "         with \"Re: \" and does not contain \"(was:\".\n"
 
-#: src/lang.c:1251
+#: src/lang.c:1291
+msgid ""
+"\n"
+"Warning: \"Subject:\" contains only \"Re:\".\n"
+msgstr ""
+"\n"
+"Warning: \"Subject:\" contains only \"Re:\".\n"
+
+#: src/lang.c:1292
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4585,7 +4695,15 @@ msgstr ""
 "This is the article you are about to cancel:\n"
 "\n"
 
-#: src/lang.c:1255
+#: src/lang.c:1296
+msgid ""
+"\n"
+"Warning: Undesired Distribution \"world\" used.\n"
+msgstr ""
+"\n"
+"Warning: Undesired Distribution \"world\" used.\n"
+
+#: src/lang.c:1297
 msgid ""
 "\n"
 "Warning: You are using a non-plain transfer encoding (such as base64 or\n"
@@ -4599,7 +4717,7 @@ msgstr ""
 "         article. If a signature is appended by that inews program it will\n"
 "         not be encoded properly.\n"
 
-#: src/lang.c:1261
+#: src/lang.c:1303
 #, c-format
 msgid ""
 "\n"
@@ -4610,7 +4728,7 @@ msgstr ""
 "Line %d is longer than %d octets and should be folded, but encoding\n"
 "is neither set to %s nor to %s.\n"
 
-#: src/lang.c:1265
+#: src/lang.c:1307
 #, c-format
 msgid ""
 "\n"
@@ -4623,7 +4741,7 @@ msgstr ""
 "is set to %s without enabling MIME_BREAK_LONG_LINES or\n"
 "posting doesn't contain any 8bit chars and thus folding won't happen.\n"
 
-#: src/lang.c:1269
+#: src/lang.c:1311
 #, c-format
 msgid ""
 "\n"
@@ -4634,7 +4752,7 @@ msgstr ""
 "Line %d is longer than %d octets and should be folded, but encoding\n"
 "is not set to %s.\n"
 
-#: src/lang.c:1272
+#: src/lang.c:1314
 msgid ""
 "\n"
 "Warning: \"example\" is a reserved hierarchy!\n"
@@ -4642,7 +4760,7 @@ msgstr ""
 "\n"
 "Warning: \"example\" is a reserved hierarchy!\n"
 
-#: src/lang.c:1273
+#: src/lang.c:1315
 #, c-format
 msgid ""
 "\n"
@@ -4657,7 +4775,7 @@ msgstr ""
 "Some values in your %s file have changed!\n"
 "Read WHATSNEW, etc...\n"
 
-#: src/lang.c:1275
+#: src/lang.c:1317
 #, c-format
 msgid ""
 "\n"
@@ -4670,7 +4788,7 @@ msgstr ""
 "You are downgrading to tin %s from a more recent version!\n"
 "Some values in your %s file may be ignored, others might have changed!\n"
 
-#: src/lang.c:1278
+#: src/lang.c:1320
 #, c-format
 msgid ""
 "Warning: tin wrote fewer groups to your\n"
@@ -4685,7 +4803,33 @@ msgstr ""
 "this session this indicates an error and you should backup your %s\n"
 "before you start tin once again!\n"
 
-#: src/lang.c:1282
+#: src/lang.c:1324
+#, c-format
+msgid ""
+"\n"
+"Warning: The article has multiple addresses in \"%s\".\n"
+"         This is at least uncommon.\n"
+msgstr ""
+"\n"
+"Warning: The article has multiple addresses in \"%s\".\n"
+"         This is at least uncommon.\n"
+
+#: src/lang.c:1327
+#, c-format
+msgid ""
+"\n"
+"Warning: With multiple addresses in \"From\", a \"Sender\"-header is\n"
+"         required, but its generation is deactivated by the global\n"
+"         configuration \"disable_sender=ON\" in\n"
+"         \"%s\".\n"
+msgstr ""
+"\n"
+"Warning: With multiple addresses in \"From\", a \"Sender\"-header is\n"
+"         required, but its generation is deactivated by the global\n"
+"         configuration \"disable_sender=ON\" in\n"
+"         \"%s\".\n"
+
+#: src/lang.c:1332
 #, c-format
 msgid ""
 "\n"
@@ -4694,12 +4838,12 @@ msgstr ""
 "\n"
 "Warning: Found %d '-- \\n' lines, this may confuse some people.\n"
 
-#: src/lang.c:1283
+#: src/lang.c:1333
 #, c-format
 msgid "Warning: Only %d out of %d articles were saved"
 msgstr "Warning: Only %d out of %d articles were saved"
 
-#: src/lang.c:1284
+#: src/lang.c:1334
 #, c-format
 msgid ""
 "\n"
@@ -4716,14 +4860,14 @@ msgstr ""
 "as\n"
 "         possible.\n"
 
-#: src/lang.c:1288
+#: src/lang.c:1338
 #, c-format
 msgid ""
 "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
 msgstr ""
 "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
 
-#: src/lang.c:1289
+#: src/lang.c:1339
 #, c-format
 msgid ""
 "Warning: line %d contains unprintable chars:\n"
@@ -4732,7 +4876,7 @@ msgstr ""
 "Warning: line %d contains unprintable chars:\n"
 "%s\n"
 
-#: src/lang.c:1290
+#: src/lang.c:1340
 msgid ""
 "\n"
 "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
@@ -4740,81 +4884,81 @@ msgstr ""
 "\n"
 "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
 
-#: src/lang.c:1291
+#: src/lang.c:1341
 msgid "Writing attributes file..."
 msgstr "Writing attributes file..."
 
-#: src/lang.c:1292
+#: src/lang.c:1342
 #, c-format
 msgid "Writing %s\n"
 msgstr "Writing %s\n"
 
-#: src/lang.c:1293
+#: src/lang.c:1343
 msgid "Writing overview cache..."
 msgstr "Writing overview cache..."
 
-#: src/lang.c:1295
+#: src/lang.c:1345
 #, c-format
 msgid "%4d Responses"
 msgstr "%4d Responses"
 
-#: src/lang.c:1297
+#: src/lang.c:1347
 msgid "Can't run slrnface: couldn't construct fifo name."
 msgstr "Can't run slrnface: couldn't construct fifo name."
 
-#: src/lang.c:1298
+#: src/lang.c:1348
 #, c-format
 msgid "Can't run slrnface: failed to create %s"
 msgstr "Can't run slrnface: failed to create %s"
 
-#: src/lang.c:1299
+#: src/lang.c:1349
 #, c-format
 msgid "Slrnface abnormally exited, code %d."
 msgstr "Slrnface abnormally exited, code %d."
 
-#: src/lang.c:1300
+#: src/lang.c:1350
 #, c-format
 msgid "Slrnface failed: %s."
 msgstr "Slrnface failed: %s."
 
-#: src/lang.c:1301
+#: src/lang.c:1352
 #, c-format
 msgid "Can't run slrnface: Environment variable %s not found."
 msgstr "Can't run slrnface: Environment variable %s not found."
 
-#: src/lang.c:1302
+#: src/lang.c:1354
 msgid "Can't run slrnface: Not running in an xterm."
 msgstr "Can't run slrnface: Not running in an xterm."
 
-#: src/lang.c:1303
+#: src/lang.c:1357
 msgid "couldn't connect to display"
 msgstr "couldn't connect to display"
 
-#: src/lang.c:1304
+#: src/lang.c:1358
 msgid "can't open FIFO"
 msgstr "can't open FIFO"
 
-#: src/lang.c:1305
+#: src/lang.c:1359
 msgid "executable not found"
 msgstr "executable not found"
 
-#: src/lang.c:1306
+#: src/lang.c:1360
 msgid "fork() failed"
 msgstr "fork() failed"
 
-#: src/lang.c:1307
+#: src/lang.c:1361
 msgid "couldn't find controlling terminal"
 msgstr "couldn't find controlling terminal"
 
-#: src/lang.c:1308
+#: src/lang.c:1362
 msgid "terminal doesn't export width and height"
 msgstr "terminal doesn't export width and height"
 
-#: src/lang.c:1310
+#: src/lang.c:1363
 msgid "WINDOWID not found in environment"
 msgstr "WINDOWID not found in environment"
 
-#: src/lang.c:1311
+#: src/lang.c:1364
 msgid ""
 "This directory is used to create named pipes for communication between\n"
 "slrnface and its parent process. It should normally be empty because\n"
@@ -4838,28 +4982,28 @@ msgstr ""
 "special files created by your NFS server while slrnface is running.\n"
 "Do not try to remove them.\n"
 
-#: src/lang.c:1324
+#: src/lang.c:1377
 #, c-format
 msgid "Added %d %s"
 msgstr "Added %d %s"
 
-#: src/lang.c:1325
+#: src/lang.c:1378
 msgid "No unsubscribed groups to show"
 msgstr "No unsubscribed groups to show"
 
-#: src/lang.c:1326
+#: src/lang.c:1379
 msgid "Showing subscribed to groups only"
 msgstr "Showing subscribed to groups only"
 
-#: src/lang.c:1327
+#: src/lang.c:1380
 msgid "Yes "
 msgstr "Yes "
 
-#: src/lang.c:1328
+#: src/lang.c:1381
 msgid "You have mail"
 msgstr "You have mail"
 
-#: src/lang.c:1333
+#: src/lang.c:1386
 #, c-format
 msgid ""
 "\n"
@@ -4880,11 +5024,11 @@ msgstr ""
 "         MM_NETWORK_CHARSET to a suitable value for your posting via the\n"
 "         M)enu option.\n"
 
-#: src/lang.c:1344
+#: src/lang.c:1397
 msgid "  -D mode  debug mode"
 msgstr "  -D mode  debug mode"
 
-#: src/lang.c:1348
+#: src/lang.c:1401
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4914,11 +5058,11 @@ msgstr ""
 "This is the article you are about to cancel:\n"
 "\n"
 
-#: src/lang.c:1357
+#: src/lang.c:1410
 msgid "toggle color"
 msgstr "toggle colour"
 
-#: src/lang.c:1358
+#: src/lang.c:1411
 msgid ""
 "# Changing colors of several screen parts\n"
 "# Possible values are:\n"
@@ -4942,7 +5086,7 @@ msgid ""
 "#  15 = light white\n"
 "\n"
 msgstr ""
-"# Changing colors of several screen parts\n"
+"# Changing colours of several screen parts\n"
 "# Possible values are:\n"
 "#  -1 = default (white for foreground and black for background)\n"
 "#   0 = black\n"
@@ -4964,11 +5108,11 @@ msgstr ""
 "#  15 = light white\n"
 "\n"
 
-#: src/lang.c:1378
+#: src/lang.c:1431
 msgid "  -a       toggle color flag"
 msgstr "  -a       toggle colour flag"
 
-#: src/lang.c:1382
+#: src/lang.c:1435
 msgid ""
 "\n"
 "Error: Followup-To set to more than one newsgroup!\n"
@@ -4976,7 +5120,7 @@ msgstr ""
 "\n"
 "Error: Followup-To set to more than one newsgroup!\n"
 
-#: src/lang.c:1383
+#: src/lang.c:1436
 #, c-format
 msgid ""
 "\n"
@@ -4985,7 +5129,7 @@ msgstr ""
 "\n"
 "Error: \"%s\" is renamed, use \"%s\" instead!\n"
 
-#: src/lang.c:1384
+#: src/lang.c:1437
 #, c-format
 msgid ""
 "\n"
@@ -4994,7 +5138,7 @@ msgstr ""
 "\n"
 "Error: cross-posting to %d newsgroups and no Followup-To line!\n"
 
-#: src/lang.c:1385
+#: src/lang.c:1438
 #, c-format
 msgid ""
 "\n"
@@ -5003,7 +5147,7 @@ msgstr ""
 "\n"
 "Error: \"%s\" is not a valid newsgroup!\n"
 
-#: src/lang.c:1387
+#: src/lang.c:1440
 msgid ""
 "\n"
 "Warning: Followup-To set to more than one newsgroup!\n"
@@ -5011,7 +5155,7 @@ msgstr ""
 "\n"
 "Warning: Followup-To set to more than one newsgroup!\n"
 
-#: src/lang.c:1388
+#: src/lang.c:1441
 #, c-format
 msgid ""
 "\n"
@@ -5020,7 +5164,7 @@ msgstr ""
 "\n"
 "Warning: \"%s\" is renamed, you should use \"%s\" instead!\n"
 
-#: src/lang.c:1389
+#: src/lang.c:1442
 #, c-format
 msgid ""
 "\n"
@@ -5029,7 +5173,7 @@ msgstr ""
 "\n"
 "Warning: cross-posting to %d newsgroups and no Followup-To line!\n"
 
-#: src/lang.c:1390
+#: src/lang.c:1443
 #, c-format
 msgid ""
 "\n"
@@ -5038,7 +5182,7 @@ msgstr ""
 "\n"
 "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n"
 
-#: src/lang.c:1391
+#: src/lang.c:1444
 #, c-format
 msgid ""
 "\n"
@@ -5047,191 +5191,193 @@ msgstr ""
 "\n"
 "Warning: \"%s\" is not a valid newsgroup at this site!\n"
 
-#: src/lang.c:1395
+#: src/lang.c:1448
 #, c-format
 msgid "%d files successfully written from %d articles. %d %s occurred."
 msgstr "%d files successfully written from %d articles. %d %s occurred."
 
-#: src/lang.c:1396
+#: src/lang.c:1449
 msgid "Missing parts."
 msgstr "Missing parts."
 
-#: src/lang.c:1397
+#: src/lang.c:1450
 msgid "No beginning."
 msgstr "No beginning."
 
-#: src/lang.c:1398
+#: src/lang.c:1451
 msgid "No data."
 msgstr "No data."
 
-#: src/lang.c:1399
+#: src/lang.c:1452
 msgid "Unknown error."
 msgstr "Unknown error."
 
-#: src/lang.c:1402
+#: src/lang.c:1456
 #, c-format
-msgid "\tChecksum of %s (%ld %s)"
-msgstr "\tChecksum of %s (%ld %s)"
-
-#: src/lang.c:1407
-msgid "Reading mail active file... "
-msgstr "Reading mail active file... "
+msgid "Reading mail active file: %s"
+msgstr "Reading mail active file: %s"
 
-#: src/lang.c:1408
-msgid "Reading mailgroups file... "
-msgstr "Reading mailgroups file... "
+#: src/lang.c:1457
+#, c-format
+msgid "Reading mailgroups file: %s"
+msgstr "Reading mailgroups file: %s"
 
-#: src/lang.c:1412
+#: src/lang.c:1461
 msgid "perform PGP operations on article"
 msgstr "perform PGP operations on article"
 
-#: src/lang.c:1413
+#: src/lang.c:1462
 msgid "Add key(s) to public keyring?"
 msgstr "Add key(s) to public keyring?"
 
-#: src/lang.c:1414
+#: src/lang.c:1463
 #, c-format
 msgid "%s=encrypt, %s=sign, %s=both, %s=quit: "
 msgstr "%s=encrypt, %s=sign, %s=both, %s=quit: "
 
-#: src/lang.c:1415
+#: src/lang.c:1464
 #, c-format
 msgid "%s=sign, %s=sign & include public key, %s=quit: "
 msgstr "%s=sign, %s=sign & include public key, %s=quit: "
 
-#: src/lang.c:1416
+#: src/lang.c:1465
 #, c-format
 msgid "PGP has not been set up (can't open %s)"
 msgstr "PGP has not been set up (can't open %s)"
 
-#: src/lang.c:1417
+#: src/lang.c:1466
 msgid "Article not signed and no public keys found"
 msgstr "Article not signed and no public keys found"
 
-#: src/lang.c:1419
+#: src/lang.c:1468
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 
-#: src/lang.c:1420
+#: src/lang.c:1469
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: "
 msgstr "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: "
 
-#: src/lang.c:1421
+#: src/lang.c:1470
 #, c-format
 msgid ""
 "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 
-#: src/lang.c:1423
+#: src/lang.c:1472
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 
-#: src/lang.c:1424
+#: src/lang.c:1473
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: "
 msgstr "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: "
 
-#: src/lang.c:1425
+#: src/lang.c:1474
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 
-#: src/lang.c:1429
+#: src/lang.c:1478
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 
-#: src/lang.c:1430
+#: src/lang.c:1479
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: "
 msgstr "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: "
 
-#: src/lang.c:1431
+#: src/lang.c:1480
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: "
 
-#: src/lang.c:1433
+#: src/lang.c:1482
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 
-#: src/lang.c:1434
+#: src/lang.c:1483
 #, c-format
 msgid "%s=quit, %s=edit, %s=send [%%s]: "
 msgstr "%s=quit, %s=edit, %s=send [%%s]: "
 
-#: src/lang.c:1435
+#: src/lang.c:1484
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: "
 
-#: src/lang.c:1441
+#: src/lang.c:1489
 msgid "Try cache_overview_files to speed up things.\n"
 msgstr "Try cache_overview_files to speed up things.\n"
 
-#: src/lang.c:1442
+#: src/lang.c:1490
 msgid "Tin will use local index files instead.\n"
 msgstr "Tin will use local index files instead.\n"
 
-#: src/lang.c:1443
+#: src/lang.c:1491
 msgid "Cannot find NNTP server name"
 msgstr "Cannot find NNTP server name"
 
-#: src/lang.c:1444
+#: src/lang.c:1492
 msgid "CAPABILITIES did not announce READER"
 msgstr "CAPABILITIES did not announce READER"
 
-#: src/lang.c:1445
+#: src/lang.c:1493
 #, c-format
 msgid "Connecting to %s:%u..."
 msgstr "Connecting to %s:%u..."
 
-#: src/lang.c:1446
+#: src/lang.c:1494
 msgid "NNTP connection error. Exiting..."
 msgstr "NNTP connection error. Exiting..."
 
-#: src/lang.c:1447
+#: src/lang.c:1495
 msgid "Disconnecting from server..."
 msgstr "Disconnecting from server..."
 
-#: src/lang.c:1448
+#: src/lang.c:1496
 #, c-format
 msgid "Failed to connect to NNTP server %s. Exiting..."
 msgstr "Failed to connect to NNTP server %s. Exiting..."
 
-#: src/lang.c:1449
+#: src/lang.c:1497
 msgid "205  Closing connection"
 msgstr "205  Closing connection"
 
-#: src/lang.c:1450
+#: src/lang.c:1498
 msgid "Your server does not support the NNTP XOVER or OVER command.\n"
 msgstr "Your server does not support the NNTP XOVER or OVER command.\n"
 
-#: src/lang.c:1452
+#: src/lang.c:1499
 #, c-format
 msgid "Port isn't numeric: %s:%s\n"
 msgstr "Port isn't numeric: %s:%s\n"
 
-#: src/lang.c:1453
+#: src/lang.c:1500
+#, c-format
+msgid "%s argument is not numeric: %s\n"
+msgstr "%s argument is not numeric: %s\n"
+
+#: src/lang.c:1502
 #, c-format
 msgid "Port in %s isn't numeric: %s:%s\n"
 msgstr "Port in %s isn't numeric: %s:%s\n"
 
-#: src/lang.c:1454
+#: src/lang.c:1503
 #, c-format
 msgid "reconnect (%d) limit %d reached, giving up."
 msgstr "reconnect (%d) limit %d reached, giving up."
 
-#: src/lang.c:1456
+#: src/lang.c:1505
 msgid "Connection to news server has timed out. Reconnect?"
 msgstr "Connection to news server has timed out. Reconnect?"
 
-#: src/lang.c:1457
+#: src/lang.c:1506
 #, c-format
 msgid ""
 "Put the server name in the file %s,\n"
@@ -5240,66 +5386,65 @@ msgstr ""
 "Put the server name in the file %s,\n"
 "or set the environment variable NNTPSERVER"
 
-#: src/lang.c:1459
+#: src/lang.c:1508
 msgid "Continuing..."
 msgstr "Continuing..."
 
-#: src/lang.c:1460
-#, c-format
-msgid "Read timeout from server (%d seconds) - quit tin?"
-msgstr "Read timeout from server (%d seconds) - quit tin?"
+#: src/lang.c:1509
+msgid "Read timeout from server - quit tin?"
+msgstr "Read timeout from server - quit tin?"
 
-#: src/lang.c:1461
+#: src/lang.c:1510
 msgid "  -C       try COMPRESS NNTP extension"
 msgstr "  -C       try COMPRESS NNTP extension"
 
-#: src/lang.c:1463
+#: src/lang.c:1512
 msgid "  -A       force authentication on connect"
 msgstr "  -A       force authentication on connect"
 
-#: src/lang.c:1464
+#: src/lang.c:1513
 #, c-format
 msgid "  -g serv  read news from NNTP server serv [default=%s]"
 msgstr "  -g serv  read news from NNTP server serv [default=%s]"
 
-#: src/lang.c:1465
+#: src/lang.c:1514
 #, c-format
 msgid "  -p port  use port as NNTP port [default=%d]"
 msgstr "  -p port  use port as NNTP port [default=%d]"
 
-#: src/lang.c:1467
+#: src/lang.c:1516
 msgid "  -k       skip verification for NNTPS"
 msgstr "  -k       skip verification for NNTPS"
 
-#: src/lang.c:1468
+#: src/lang.c:1517
 msgid "  -T       enable NNTPS"
 msgstr "  -T       enable NNTPS"
 
-#: src/lang.c:1470
+#: src/lang.c:1519
 msgid "  -Q       quick start. Same as -dnq"
 msgstr "  -Q       quick start. Same as -dnq"
 
-#: src/lang.c:1471
+#: src/lang.c:1520
 msgid "  -r       read news remotely from default NNTP server"
 msgstr "  -r       read news remotely from default NNTP server"
 
-#: src/lang.c:1472
+#: src/lang.c:1521
 msgid "  -l       use only LIST instead of GROUP (-n) command"
 msgstr "  -l       use only LIST instead of GROUP (-n) command"
 
-#: src/lang.c:1473
+#: src/lang.c:1522
 msgid "  -n       only read subscribed .newsrc groups from NNTP server"
 msgstr "  -n       only read subscribed .newsrc groups from NNTP server"
 
-#: src/lang.c:1475
+#: src/lang.c:1524
 msgid "  -4       force connecting via IPv4"
 msgstr "  -4       force connecting via IPv4"
 
-#: src/lang.c:1476
+#: src/lang.c:1525
 msgid "  -6       force connecting via IPv6"
 msgstr "  -6       force connecting via IPv6"
 
-#: src/lang.c:1477
+#: src/lang.c:1526
 msgid ""
 "\n"
 "socket or connect problem\n"
@@ -5307,7 +5452,7 @@ msgstr ""
 "\n"
 "socket or connect problem\n"
 
-#: src/lang.c:1479
+#: src/lang.c:1528
 #, c-format
 msgid ""
 "\n"
@@ -5316,16 +5461,16 @@ msgstr ""
 "\n"
 "Connection to %s: "
 
-#: src/lang.c:1480
+#: src/lang.c:1529
 msgid "Giving up...\n"
 msgstr "Giving up...\n"
 
-#: src/lang.c:1482
+#: src/lang.c:1531
 #, c-format
 msgid "%s/tcp: Unknown service.\n"
 msgstr "%s/tcp: Unknown service.\n"
 
-#: src/lang.c:1486
+#: src/lang.c:1535
 msgid ""
 "Your server does not have Xref: in its XOVER information.\n"
 "Tin will try to use XHDR XREF instead (slows down things a bit).\n"
@@ -5333,88 +5478,88 @@ msgstr ""
 "Your server does not have Xref: in its XOVER information.\n"
 "Tin will try to use XHDR XREF instead (slows down things a bit).\n"
 
-#: src/lang.c:1489
+#: src/lang.c:1538
 msgid "Your server does not have Xref: in its XOVER information.\n"
 msgstr "Your server does not have Xref: in its XOVER information.\n"
 
-#: src/lang.c:1492
+#: src/lang.c:1541
 #, c-format
 msgid "Can't open %s. Try %s -r to read news via NNTP."
 msgstr "Can't open %s. Try %s -r to read news via NNTP."
 
-#: src/lang.c:1495
+#: src/lang.c:1544
 msgid "  -Q       quick start. Same as -dq"
 msgstr "  -Q       quick start. Same as -dq"
 
-#: src/lang.c:1496
+#: src/lang.c:1545
 msgid "  -l       read only active file instead of scanning spool (-n) command"
 msgstr ""
 "  -l       read only active file instead of scanning spool (-n) command"
 
-#: src/lang.c:1497
+#: src/lang.c:1546
 msgid "  -n       only read subscribed .newsrc groups from spool"
 msgstr "  -n       only read subscribed .newsrc groups from spool"
 
-#: src/lang.c:1498
+#: src/lang.c:1547
 msgid "Your server does not have Xref: in its NOV-files.\n"
 msgstr "Your server does not have Xref: in its NOV-files.\n"
 
-#: src/lang.c:1502
+#: src/lang.c:1551
 msgid "Posting using external inews failed. Use built in inews instead?"
 msgstr "Posting using external inews failed. Use built in inews instead?"
 
-#: src/lang.c:1503
+#: src/lang.c:1552
 msgid "It worked! Should I always use my built in inews from now on?"
 msgstr "It worked! Should I always use my built in inews from now on?"
 
-#: src/lang.c:1507
+#: src/lang.c:1556
 #, c-format
 msgid "%d %s printed"
 msgstr "%d %s printed"
 
-#: src/lang.c:1508
+#: src/lang.c:1557
 msgid "output article/thread/hot/pattern/tagged articles to printer"
 msgstr "output article/thread/hot/pattern/tagged articles to printer"
 
-#: src/lang.c:1509
+#: src/lang.c:1558
 msgid "Print"
 msgstr "Print"
 
-#: src/lang.c:1510
+#: src/lang.c:1559
 msgid "Printing..."
 msgstr "Printing..."
 
-#: src/lang.c:1514
+#: src/lang.c:1563
 #, c-format
 msgid "%d %s piped to \"%s\""
 msgstr "%d %s piped to \"%s\""
 
-#: src/lang.c:1515
+#: src/lang.c:1564
 msgid "pipe article/thread/hot/pattern/tagged articles into command"
 msgstr "pipe article/thread/hot/pattern/tagged articles into command"
 
-#: src/lang.c:1516
+#: src/lang.c:1565
 msgid "No command"
 msgstr "No command"
 
-#: src/lang.c:1517
+#: src/lang.c:1566
 msgid "Pipe"
 msgstr "Pipe"
 
-#: src/lang.c:1518
+#: src/lang.c:1567
 #, c-format
 msgid "Pipe to command [%.*s]> "
 msgstr "Pipe to command [%.*s]> "
 
-#: src/lang.c:1519
+#: src/lang.c:1568
 msgid "Piping..."
 msgstr "Piping..."
 
-#: src/lang.c:1521
+#: src/lang.c:1570
 msgid "Piping not enabled."
 msgstr "Piping not enabled."
 
-#: src/lang.c:1525
+#: src/lang.c:1574
 #, c-format
 msgid ""
 "\n"
@@ -5429,7 +5574,7 @@ msgstr ""
 "       from  the  contents.  Use a  comma  (,)  to separate  multiple\n"
 "       newsgroup names.\n"
 
-#: src/lang.c:1530
+#: src/lang.c:1579
 #, c-format
 msgid ""
 "\n"
@@ -5442,7 +5587,7 @@ msgstr ""
 "       the line  may not  contain  whitespace,  this is  not allowed.\n"
 "       Please write all newsgroups into a single line.\n"
 
-#: src/lang.c:1535
+#: src/lang.c:1584
 #, c-format
 msgid ""
 "\n"
@@ -5455,7 +5600,7 @@ msgstr ""
 "         This is a very new feature and may not be accepted by all servers.\n"
 "         To avoid trouble please write all newsgroups into a single line.\n"
 
-#: src/lang.c:1539
+#: src/lang.c:1588
 #, c-format
 msgid ""
 "\n"
@@ -5464,7 +5609,7 @@ msgstr ""
 "\n"
 "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n"
 
-#: src/lang.c:1544
+#: src/lang.c:1593
 msgid ""
 "\n"
 "  If your article contains quoted text  please take some time to pare it "
@@ -5504,40 +5649,40 @@ msgstr ""
 "are\n"
 "  likely to ignore it completely.  It's a crowded net out there.\n"
 
-#: src/lang.c:1557
+#: src/lang.c:1606
 msgid "shell escape"
 msgstr "shell escape"
 
-#: src/lang.c:1558
+#: src/lang.c:1607
 #, c-format
 msgid "Shell Command (%s)"
 msgstr "Shell Command (%s)"
 
-#: src/lang.c:1559
+#: src/lang.c:1608
 #, c-format
 msgid "Enter shell command [%s]> "
 msgstr "Enter shell command [%s]> "
 
-#: src/lang.c:1563
+#: src/lang.c:1612
 #, c-format
 msgid "%s: Can't get entry for TERM\n"
 msgstr "%s: Can't get entry for TERM\n"
 
-#: src/lang.c:1567
+#: src/lang.c:1616
 #, c-format
 msgid "Group %.*s ('q' to quit)..."
 msgstr "Group %.*s ('q' to quit)..."
 
-#: src/lang.c:1569
+#: src/lang.c:1618
 #, c-format
 msgid "Group %.*s..."
 msgstr "Group %.*s..."
 
-#: src/lang.c:1573
+#: src/lang.c:1622
 msgid "Server unavailable\n"
 msgstr "Server unavailable\n"
 
-#: src/lang.c:1579
+#: src/lang.c:1628
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
@@ -5546,549 +5691,549 @@ msgstr ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
 "%s=post"
 
-#: src/lang.c:1580
+#: src/lang.c:1629
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 
-#: src/lang.c:1582
+#: src/lang.c:1631
 #, c-format
 msgid ""
 "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 
-#: src/lang.c:1583
+#: src/lang.c:1632
 #, c-format
 msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 
-#: src/lang.c:1587
+#: src/lang.c:1636
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 
-#: src/lang.c:1588
+#: src/lang.c:1637
 #, c-format
 msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 
-#: src/lang.c:1590
+#: src/lang.c:1639
 #, c-format
 msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 
-#: src/lang.c:1591
+#: src/lang.c:1640
 #, c-format
 msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 
-#: src/lang.c:1597
+#: src/lang.c:1646
 msgid "Terminal does not support color"
 msgstr "Terminal does not support colour"
 
-#: src/lang.c:1602
+#: src/lang.c:1651
 #, c-format
 msgid "Trying %s"
 msgstr "Trying %s"
 
-#: src/lang.c:1617
+#: src/lang.c:1666
 msgid "Subject"
 msgstr "Subject"
 
-#: src/lang.c:1618
+#: src/lang.c:1667
 msgid "References"
 msgstr "References"
 
-#: src/lang.c:1619
+#: src/lang.c:1668
 msgid "Both Subject and References"
 msgstr "Both Subject and References"
 
-#: src/lang.c:1620
+#: src/lang.c:1669
 msgid "Multipart Subject"
 msgstr "Multipart Subject"
 
-#: src/lang.c:1621
+#: src/lang.c:1670
 msgid "Percentage Match"
 msgstr "Percentage Match"
 
-#: src/lang.c:1634 src/lang.c:1725 src/lang.c:1824 src/lang.c:1927
+#: src/lang.c:1683 src/lang.c:1774 src/lang.c:1880 src/lang.c:1983
 msgid "No"
 msgstr "No"
 
-#: src/lang.c:1635 src/lang.c:1826
+#: src/lang.c:1684 src/lang.c:1882
 msgid "Yes"
 msgstr "Yes"
 
-#: src/lang.c:1636
+#: src/lang.c:1685
 msgid "Hide all"
 msgstr "Hide all"
 
-#: src/lang.c:1645
+#: src/lang.c:1694
 msgid "Address"
 msgstr "Address"
 
-#: src/lang.c:1646
+#: src/lang.c:1695
 msgid "Full Name"
 msgstr "Full Name"
 
-#: src/lang.c:1647
+#: src/lang.c:1696
 msgid "Address and Name"
 msgstr "Address and Name"
 
-#: src/lang.c:1655
+#: src/lang.c:1704
 msgid "Max"
 msgstr "Max"
 
-#: src/lang.c:1656
+#: src/lang.c:1705
 msgid "Sum"
 msgstr "Sum"
 
-#: src/lang.c:1657
+#: src/lang.c:1706
 msgid "Average"
 msgstr "Average"
 
-#: src/lang.c:1667 src/lang.c:1687
+#: src/lang.c:1716 src/lang.c:1736
 msgid "Black"
 msgstr "Black"
 
-#: src/lang.c:1668 src/lang.c:1688
+#: src/lang.c:1717 src/lang.c:1737
 msgid "Red"
 msgstr "Red"
 
-#: src/lang.c:1669 src/lang.c:1689
+#: src/lang.c:1718 src/lang.c:1738
 msgid "Green"
 msgstr "Green"
 
-#: src/lang.c:1670 src/lang.c:1690
+#: src/lang.c:1719 src/lang.c:1739
 msgid "Brown"
 msgstr "Brown"
 
-#: src/lang.c:1671 src/lang.c:1691
+#: src/lang.c:1720 src/lang.c:1740
 msgid "Blue"
 msgstr "Blue"
 
-#: src/lang.c:1672 src/lang.c:1692
+#: src/lang.c:1721 src/lang.c:1741
 msgid "Pink"
 msgstr "Pink"
 
-#: src/lang.c:1673 src/lang.c:1693
+#: src/lang.c:1722 src/lang.c:1742
 msgid "Cyan"
 msgstr "Cyan"
 
-#: src/lang.c:1674 src/lang.c:1694
+#: src/lang.c:1723 src/lang.c:1743
 msgid "White"
 msgstr "White"
 
-#: src/lang.c:1675
+#: src/lang.c:1724
 msgid "Gray"
 msgstr "Grey"
 
-#: src/lang.c:1676
+#: src/lang.c:1725
 msgid "Light Red"
 msgstr "Light Red"
 
-#: src/lang.c:1677
+#: src/lang.c:1726
 msgid "Light Green"
 msgstr "Light Green"
 
-#: src/lang.c:1678
+#: src/lang.c:1727
 msgid "Yellow"
 msgstr "Yellow"
 
-#: src/lang.c:1679
+#: src/lang.c:1728
 msgid "Light Blue"
 msgstr "Light Blue"
 
-#: src/lang.c:1680
+#: src/lang.c:1729
 msgid "Light Pink"
 msgstr "Light Pink"
 
-#: src/lang.c:1681
+#: src/lang.c:1730
 msgid "Light Cyan"
 msgstr "Light Cyan"
 
-#: src/lang.c:1682
+#: src/lang.c:1731
 msgid "Light White"
 msgstr "Light White"
 
-#: src/lang.c:1703 src/lang.c:1831 src/lang.c:1846
+#: src/lang.c:1752 src/lang.c:1887 src/lang.c:1902
 msgid "Nothing"
 msgstr "Nothing"
 
-#: src/lang.c:1705
+#: src/lang.c:1754
 msgid "Space"
 msgstr "Space"
 
-#: src/lang.c:1713
+#: src/lang.c:1762
 msgid "Normal"
 msgstr "Normal"
 
-#: src/lang.c:1714
+#: src/lang.c:1763
 msgid "Best highlighting"
 msgstr "Best highlighting"
 
-#: src/lang.c:1715
+#: src/lang.c:1764
 msgid "Underline"
 msgstr "Underline"
 
-#: src/lang.c:1716
+#: src/lang.c:1765
 msgid "Reverse video"
 msgstr "Reverse video"
 
-#: src/lang.c:1717
+#: src/lang.c:1766
 msgid "Blinking"
 msgstr "Blinking"
 
-#: src/lang.c:1718
+#: src/lang.c:1767
 msgid "Half bright"
 msgstr "Half bright"
 
-#: src/lang.c:1719
+#: src/lang.c:1768
 msgid "Bold"
 msgstr "Bold"
 
-#: src/lang.c:1726
+#: src/lang.c:1775
 msgid "Cc"
 msgstr "Cc"
 
-#: src/lang.c:1727
+#: src/lang.c:1776
 msgid "Bcc"
 msgstr "Bcc"
 
-#: src/lang.c:1728
+#: src/lang.c:1777
 msgid "Cc and Bcc"
 msgstr "Cc and Bcc"
 
-#: src/lang.c:1745 src/lang.c:1758
+#: src/lang.c:1794 src/lang.c:1807
 msgid "none"
 msgstr "none"
 
-#: src/lang.c:1746
+#: src/lang.c:1795
 msgid "commands"
 msgstr "commands"
 
-#: src/lang.c:1747
+#: src/lang.c:1796
 msgid "select"
 msgstr "select"
 
-#: src/lang.c:1749
+#: src/lang.c:1798
 msgid "commands & quit"
 msgstr "commands & quit"
 
-#: src/lang.c:1750
+#: src/lang.c:1799
 msgid "commands & select"
 msgstr "commands & select"
 
-#: src/lang.c:1751
+#: src/lang.c:1800
 msgid "quit & select"
 msgstr "quit & select"
 
-#: src/lang.c:1752
+#: src/lang.c:1801
 msgid "commands & quit & select"
 msgstr "commands & quit & select"
 
-#: src/lang.c:1759
+#: src/lang.c:1808
 msgid "PageDown"
 msgstr "PageDown"
 
-#: src/lang.c:1760
+#: src/lang.c:1809
 msgid "PageNextUnread"
 msgstr "PageNextUnread"
 
-#: src/lang.c:1761
+#: src/lang.c:1810
 msgid "PageDown or PageNextUnread"
 msgstr "PageDown or PageNextUnread"
 
-#: src/lang.c:1767
+#: src/lang.c:1816
 msgid "Subject: (case sensitive)"
 msgstr "Subject: (case sensitive)"
 
-#: src/lang.c:1768
+#: src/lang.c:1817
 msgid "Subject: (ignore case)"
 msgstr "Subject: (ignore case)"
 
-#: src/lang.c:1769
+#: src/lang.c:1818
 msgid "From: (case sensitive)"
 msgstr "From: (case sensitive)"
 
-#: src/lang.c:1770
+#: src/lang.c:1819
 msgid "From: (ignore case)"
 msgstr "From: (ignore case)"
 
-#: src/lang.c:1771
+#: src/lang.c:1820
 msgid "Msg-ID: & full References: line"
 msgstr "Msg-ID: & full References: line"
 
-#: src/lang.c:1772
+#: src/lang.c:1821
 msgid "Msg-ID: & last References: only"
 msgstr "Msg-ID: & last References: only"
 
-#: src/lang.c:1773
+#: src/lang.c:1822
 msgid "Message-ID: entry only"
 msgstr "Message-ID: entry only"
 
-#: src/lang.c:1774
+#: src/lang.c:1823
 msgid "Lines:"
 msgstr "Lines:"
 
-#: src/lang.c:1780
+#: src/lang.c:1829
 msgid "Don't trim article body"
 msgstr "Don't trim article body"
 
-#: src/lang.c:1781
+#: src/lang.c:1830
 msgid "Skip leading blank lines"
 msgstr "Skip leading blank lines"
 
-#: src/lang.c:1782
+#: src/lang.c:1831
 msgid "Skip trailing blank lines"
 msgstr "Skip trailing blank lines"
 
-#: src/lang.c:1783
+#: src/lang.c:1832
 msgid "Skip leading and trailing blank l."
 msgstr "Skip leading and trailing blank l."
 
-#: src/lang.c:1784
+#: src/lang.c:1833
 msgid "Compact multiple between text"
 msgstr "Compact multiple between text"
 
-#: src/lang.c:1785
+#: src/lang.c:1834
 msgid "Compact multiple and skip leading"
 msgstr "Compact multiple and skip leading"
 
-#: src/lang.c:1786
+#: src/lang.c:1835
 msgid "Compact multiple and skip trailing"
 msgstr "Compact multiple and skip trailing"
 
-#: src/lang.c:1787
+#: src/lang.c:1836
 msgid "Compact mltpl., skip lead. & trai."
 msgstr "Compact mltpl., skip lead. & trai."
 
-#: src/lang.c:1793
+#: src/lang.c:1842
 msgid "Don't show help or mail sign"
 msgstr "Don't show help or mail sign"
 
-#: src/lang.c:1794
+#: src/lang.c:1843
 msgid "Show only help sign"
 msgstr "Show only help sign"
 
-#: src/lang.c:1795
+#: src/lang.c:1844
 msgid "Show only mail sign if new mail"
 msgstr "Show only mail sign if new mail"
 
-#: src/lang.c:1796
+#: src/lang.c:1845
 msgid "Show mail if new mail else help s."
 msgstr "Show mail if new mail else help s."
 
-#: src/lang.c:1825
+#: src/lang.c:1881
 msgid "Shell archive"
 msgstr "Shell archive"
 
-#: src/lang.c:1832
+#: src/lang.c:1888
 msgid "Subject: (descending)"
 msgstr "Subject: (descending)"
 
-#: src/lang.c:1833
+#: src/lang.c:1889
 msgid "Subject: (ascending)"
 msgstr "Subject: (ascending)"
 
-#: src/lang.c:1834
+#: src/lang.c:1890
 msgid "From: (descending)"
 msgstr "From: (descending)"
 
-#: src/lang.c:1835
+#: src/lang.c:1891
 msgid "From: (ascending)"
 msgstr "From: (ascending)"
 
-#: src/lang.c:1836
+#: src/lang.c:1892
 msgid "Date: (descending)"
 msgstr "Date: (descending)"
 
-#: src/lang.c:1837
+#: src/lang.c:1893
 msgid "Date: (ascending)"
 msgstr "Date: (ascending)"
 
-#: src/lang.c:1838 src/lang.c:1847
+#: src/lang.c:1894 src/lang.c:1903
 msgid "Score (descending)"
 msgstr "Score (descending)"
 
-#: src/lang.c:1839 src/lang.c:1848
+#: src/lang.c:1895 src/lang.c:1904
 msgid "Score (ascending)"
 msgstr "Score (ascending)"
 
-#: src/lang.c:1840
+#: src/lang.c:1896
 msgid "Lines: (descending)"
 msgstr "Lines: (descending)"
 
-#: src/lang.c:1841
+#: src/lang.c:1897
 msgid "Lines: (ascending)"
 msgstr "Lines: (ascending)"
 
-#: src/lang.c:1849
+#: src/lang.c:1905
 msgid "Last posting date (descending)"
 msgstr "Last posting date (descending)"
 
-#: src/lang.c:1850
+#: src/lang.c:1906
 msgid "Last posting date (ascending)"
 msgstr "Last posting date (ascending)"
 
-#: src/lang.c:1856
+#: src/lang.c:1912
 msgid "Quick-sort"
 msgstr "Quick-sort"
 
-#: src/lang.c:1857
+#: src/lang.c:1913
 msgid "Heap-sort"
 msgstr "Heap-sort"
 
-#: src/lang.c:1864
+#: src/lang.c:1920
 msgid "Always Keep"
 msgstr "Always Keep"
 
-#: src/lang.c:1865
+#: src/lang.c:1921
 msgid "Always Remove"
 msgstr "Always Remove"
 
-#: src/lang.c:1866
+#: src/lang.c:1922
 msgid "Mark with D on selection screen"
 msgstr "Mark with D on selection screen"
 
-#: src/lang.c:1872
+#: src/lang.c:1928
 msgid "Kill only unread arts"
 msgstr "Kill only unread arts"
 
-#: src/lang.c:1873
+#: src/lang.c:1929
 msgid "Kill all arts & show with K"
 msgstr "Kill all arts & show with K"
 
 #. TODO: s/K/art_marked_killed/
-#: src/lang.c:1874
+#: src/lang.c:1930
 msgid "Kill all arts and never show"
 msgstr "Kill all arts and never show"
 
-#: src/lang.c:1880
+#: src/lang.c:1936
 msgid "Nothing special"
 msgstr "Nothing special"
 
-#: src/lang.c:1881
+#: src/lang.c:1937
 msgid "Compress quotes"
 msgstr "Compress quotes"
 
-#: src/lang.c:1882
+#: src/lang.c:1938
 msgid "Quote signatures"
 msgstr "Quote signatures"
 
-#: src/lang.c:1883
+#: src/lang.c:1939
 msgid "Compress quotes, quote sigs"
 msgstr "Compress quotes, quote sigs"
 
-#: src/lang.c:1884
+#: src/lang.c:1940
 msgid "Quote empty lines"
 msgstr "Quote empty lines"
 
-#: src/lang.c:1885
+#: src/lang.c:1941
 msgid "Compress quotes, quote empty lines"
 msgstr "Compress quotes, quote empty lines"
 
-#: src/lang.c:1886
+#: src/lang.c:1942
 msgid "Quote sigs & empty lines"
 msgstr "Quote sigs & empty lines"
 
-#: src/lang.c:1887
+#: src/lang.c:1943
 msgid "Comp. q., quote sigs & empty lines"
 msgstr "Comp. q., quote sigs & empty lines"
 
-#: src/lang.c:1928
+#: src/lang.c:1984
 msgid "With headers"
 msgstr "With headers"
 
-#: src/lang.c:1929
+#: src/lang.c:1985
 msgid "Without headers"
 msgstr "Without headers"
 
-#: src/lang.c:1936
+#: src/lang.c:1992
 msgid "NFKC"
 msgstr "NFKC"
 
-#: src/lang.c:1938
+#: src/lang.c:1994
 msgid "NFKD"
 msgstr "NFKD"
 
-#: src/lang.c:1939
+#: src/lang.c:1995
 msgid "NFC"
 msgstr "NFC"
 
-#: src/lang.c:1940
+#: src/lang.c:1996
 msgid "NFD"
 msgstr "NFD"
 
-#: src/lang.c:1942
+#: src/lang.c:1998
 msgid "NFKC case fold"
 msgstr "NFKC case fold"
 
-#: src/lang.c:1951
+#: src/lang.c:2007
 msgid "Display Options"
 msgstr "Display Options"
 
-#: src/lang.c:1958
+#: src/lang.c:2014
 msgid "Color Options"
 msgstr "Colour Options"
 
-#: src/lang.c:1964
+#: src/lang.c:2020
 msgid "Highlight Options"
 msgstr "Highlight Options"
 
-#: src/lang.c:1971
+#: src/lang.c:2027
 msgid "Article-Limiting Options"
 msgstr "Article-Limiting Options"
 
-#: src/lang.c:1977
+#: src/lang.c:2033
 msgid "Posting/Mailing Options"
 msgstr "Posting/Mailing Options"
 
-#: src/lang.c:1983
+#: src/lang.c:2039
 msgid "Saving/Printing Options"
 msgstr "Saving/Printing Options"
 
-#: src/lang.c:1989
+#: src/lang.c:2045
 msgid "Expert Options"
 msgstr "Expert Options"
 
-#: src/lang.c:1995
+#: src/lang.c:2051
 msgid "Filtering Options"
 msgstr "Filtering Options"
 
-#: src/lang.c:2000 src/lang.c:2031 src/lang.c:2037 src/lang.c:2064
-#: src/lang.c:2116 src/lang.c:2122 src/lang.c:2132 src/lang.c:2143
-#: src/lang.c:2161 src/lang.c:2172 src/lang.c:2241 src/lang.c:2456
-#: src/lang.c:2462 src/lang.c:2468 src/lang.c:2483 src/lang.c:2495
-#: src/lang.c:2502 src/lang.c:2556 src/lang.c:2565 src/lang.c:2571
-#: src/lang.c:2578 src/lang.c:2585 src/lang.c:2592 src/lang.c:2599
-#: src/lang.c:2606 src/lang.c:2613 src/lang.c:2620 src/lang.c:2627
+#: src/lang.c:2056 src/lang.c:2087 src/lang.c:2093 src/lang.c:2120
+#: src/lang.c:2172 src/lang.c:2178 src/lang.c:2188 src/lang.c:2199
+#: src/lang.c:2217 src/lang.c:2228 src/lang.c:2297 src/lang.c:2512
+#: src/lang.c:2518 src/lang.c:2524 src/lang.c:2539 src/lang.c:2551
+#: src/lang.c:2558 src/lang.c:2612 src/lang.c:2621 src/lang.c:2627
 #: src/lang.c:2634 src/lang.c:2641 src/lang.c:2648 src/lang.c:2655
 #: src/lang.c:2662 src/lang.c:2669 src/lang.c:2676 src/lang.c:2683
 #: src/lang.c:2690 src/lang.c:2697 src/lang.c:2704 src/lang.c:2711
 #: src/lang.c:2718 src/lang.c:2725 src/lang.c:2732 src/lang.c:2739
-#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2761 src/lang.c:2777
-#: src/lang.c:2784 src/lang.c:2791 src/lang.c:2798 src/lang.c:2804
-#: src/lang.c:2810 src/lang.c:2827 src/lang.c:2839 src/lang.c:2874
-#: src/lang.c:2927 src/lang.c:2941 src/lang.c:2947 src/lang.c:2972
-#: src/lang.c:2990 src/lang.c:3007 src/lang.c:3019 src/lang.c:3052
-#: src/lang.c:3081 src/lang.c:3101 src/lang.c:3129 src/lang.c:3139
-#: src/lang.c:3146 src/lang.c:3172 src/lang.c:3196 src/lang.c:3343
-#: src/lang.c:3358 src/lang.c:3366 src/lang.c:3380 src/lang.c:3386
-#: src/lang.c:3424
+#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2760 src/lang.c:2767
+#: src/lang.c:2774 src/lang.c:2781 src/lang.c:2788 src/lang.c:2795
+#: src/lang.c:2802 src/lang.c:2809 src/lang.c:2817 src/lang.c:2833
+#: src/lang.c:2840 src/lang.c:2847 src/lang.c:2854 src/lang.c:2860
+#: src/lang.c:2866 src/lang.c:2889 src/lang.c:2901 src/lang.c:2936
+#: src/lang.c:2989 src/lang.c:3003 src/lang.c:3009 src/lang.c:3034
+#: src/lang.c:3052 src/lang.c:3069 src/lang.c:3081 src/lang.c:3114
+#: src/lang.c:3143 src/lang.c:3163 src/lang.c:3190 src/lang.c:3200
+#: src/lang.c:3207 src/lang.c:3233 src/lang.c:3257 src/lang.c:3412
+#: src/lang.c:3427 src/lang.c:3435 src/lang.c:3449 src/lang.c:3455
+#: src/lang.c:3493
 msgid "<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr "<SPACE> toggles, <CR> sets, <ESC> cancels."
 
-#: src/lang.c:2001
+#: src/lang.c:2057
 msgid "Show mini menu & posting etiquette"
 msgstr "Show mini menu & posting etiquette"
 
-#: src/lang.c:2002
+#: src/lang.c:2058
 msgid ""
 "# If ON show a mini menu of useful commands at each level\n"
 "# and posting etiquette after composing an article\n"
@@ -6096,16 +6241,16 @@ msgstr ""
 "# If ON show a mini menu of useful commands at each level\n"
 "# and posting etiquette after composing an article\n"
 
-#: src/lang.c:2007
+#: src/lang.c:2063
 msgid "Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2008
+#: src/lang.c:2064
 msgid "Show description of each newsgroup"
 msgstr "Show description of each newsgroup"
 
-#: src/lang.c:2009
+#: src/lang.c:2065
 msgid ""
 "# If ON show group description text after newsgroup name at\n"
 "# group selection level\n"
@@ -6113,7 +6258,7 @@ msgstr ""
 "# If ON show group description text after newsgroup name at\n"
 "# group selection level\n"
 
-#: src/lang.c:2014
+#: src/lang.c:2070
 msgid ""
 "Show From (author) fields in group & thread level. <SPACE> toggles & <CR> "
 "sets."
@@ -6121,11 +6266,11 @@ msgstr ""
 "Show From (author) fields in group & thread level. <SPACE> toggles & <CR> "
 "sets."
 
-#: src/lang.c:2015
+#: src/lang.c:2071
 msgid "In group and thread level, show author by"
 msgstr "In group and thread level, show author by"
 
-#: src/lang.c:2016
+#: src/lang.c:2072
 msgid ""
 "# Part of From field to display in group and thread level\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6141,31 +6286,31 @@ msgstr ""
 "# * 2 = full name\n"
 "#   3 = both\n"
 
-#: src/lang.c:2025
+#: src/lang.c:2081
 msgid "Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 msgstr "Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2026
+#: src/lang.c:2082
 msgid "Draw -> instead of highlighted bar"
 msgstr "Draw -> instead of highlighted bar"
 
-#: src/lang.c:2027
+#: src/lang.c:2083
 msgid "# If ON use -> otherwise highlighted bar for selection\n"
 msgstr "# If ON use -> otherwise highlighted bar for selection\n"
 
-#: src/lang.c:2032
+#: src/lang.c:2088
 msgid "Use inverse video for page headers"
 msgstr "Use inverse video for page headers"
 
-#: src/lang.c:2033
+#: src/lang.c:2089
 msgid "# If ON use inverse video for page headers at different levels\n"
 msgstr "# If ON use inverse video for page headers at different levels\n"
 
-#: src/lang.c:2038
+#: src/lang.c:2094
 msgid "Thread articles by"
 msgstr "Thread articles by"
 
-#: src/lang.c:2039
+#: src/lang.c:2095
 msgid ""
 "# Thread articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6185,15 +6330,15 @@ msgstr ""
 "#   4 = Multipart Subject\n"
 "#   5 = Percentage Match\n"
 
-#: src/lang.c:2050
+#: src/lang.c:2106
 msgid "Enter percentage match required to thread together. <CR> sets."
 msgstr "Enter percentage match required to thread together. <CR> sets."
 
-#: src/lang.c:2051
+#: src/lang.c:2107
 msgid "Thread percentage match"
 msgstr "Thread percentage match"
 
-#: src/lang.c:2053
+#: src/lang.c:2109
 #, no-c-format
 msgid ""
 "# Thread percentage match...\n"
@@ -6218,11 +6363,11 @@ msgstr ""
 "# thread. e.g. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n"
 "# 'harppy' would be threaded separately from 'happy'\n"
 
-#: src/lang.c:2065
+#: src/lang.c:2121
 msgid "Score of a thread"
 msgstr "Score of a thread"
 
-#: src/lang.c:2066
+#: src/lang.c:2122
 msgid ""
 "# Thread score\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6236,17 +6381,17 @@ msgstr ""
 "#   1 = sum\n"
 "#   2 = average\n"
 
-#: src/lang.c:2074
+#: src/lang.c:2130
 msgid ""
 "Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2075
+#: src/lang.c:2131
 msgid "Sort articles by"
 msgstr "Sort articles by"
 
-#: src/lang.c:2076
+#: src/lang.c:2132
 msgid ""
 "# Sort articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6276,15 +6421,15 @@ msgstr ""
 "#   9 = Lines descending\n"
 "#  10 = Lines ascending\n"
 
-#: src/lang.c:2092
+#: src/lang.c:2148
 msgid "Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 msgstr "Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2093
+#: src/lang.c:2149
 msgid "Sort threads by"
 msgstr "Sort threads by"
 
-#: src/lang.c:2094
+#: src/lang.c:2150
 msgid ""
 "# Sort thread by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6302,46 +6447,46 @@ msgstr ""
 "#   3 = Last posting date descending\n"
 "#   4 = Last posting date ascending\n"
 
-#: src/lang.c:2104
+#: src/lang.c:2160
 msgid ""
 "Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2105
+#: src/lang.c:2161
 msgid "Go to first unread article in group"
 msgstr "Go to first unread article in group"
 
-#: src/lang.c:2106
+#: src/lang.c:2162
 msgid "# If ON put cursor at first unread art in group otherwise last art\n"
 msgstr "# If ON put cursor at first unread art in group otherwise last art\n"
 
-#: src/lang.c:2110
+#: src/lang.c:2166
 msgid "Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2111
+#: src/lang.c:2167
 msgid "Show only unread articles"
 msgstr "Show only unread articles"
 
-#: src/lang.c:2112
+#: src/lang.c:2168
 msgid "# If ON show only new/unread articles otherwise show all.\n"
 msgstr "# If ON show only new/unread articles otherwise show all.\n"
 
-#: src/lang.c:2117
+#: src/lang.c:2173
 msgid "Show only groups with unread arts"
 msgstr "Show only groups with unread arts"
 
-#: src/lang.c:2118
+#: src/lang.c:2174
 msgid "# If ON show only subscribed to groups that contain unread articles.\n"
 msgstr "# If ON show only subscribed to groups that contain unread articles.\n"
 
-#: src/lang.c:2123
+#: src/lang.c:2179
 msgid "Filter which articles"
 msgstr "Filter which articles"
 
-#: src/lang.c:2124
+#: src/lang.c:2180
 msgid ""
 "# Filter which articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6355,11 +6500,11 @@ msgstr ""
 "#   1 = kill all articles and show in threads marked with K\n"
 "#   2 = kill all articles and never show them\n"
 
-#: src/lang.c:2133
+#: src/lang.c:2189
 msgid "Go to the next unread article with"
 msgstr "Go to the next unread article with"
 
-#: src/lang.c:2134
+#: src/lang.c:2190
 msgid ""
 "# Go to the unread article with following key(s)\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6375,11 +6520,11 @@ msgstr ""
 "# * 2 = TAB\n"
 "#   3 = PAGE DOWN or TAB\n"
 
-#: src/lang.c:2144
+#: src/lang.c:2200
 msgid "How to treat blank lines"
 msgstr "How to treat blank lines"
 
-#: src/lang.c:2145
+#: src/lang.c:2201
 msgid ""
 "# Trim the article body, remove unnecessary blank lines.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6409,11 +6554,11 @@ msgstr ""
 "#   7 = Compact multiple blank lines between text blocks and skip\n"
 "#       leading and trailing blank lines\n"
 
-#: src/lang.c:2162
+#: src/lang.c:2218
 msgid "Show help/mail sign in level titles"
 msgstr "Show help/mail sign in level titles"
 
-#: src/lang.c:2163
+#: src/lang.c:2219
 msgid ""
 "# Show help sign, new mail sign, both or nothing in level titles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6429,26 +6574,26 @@ msgstr ""
 "#   2 = Show only mail sign if new mail have arrived\n"
 "# * 3 = Show mail sign if new mail has arrived else show help sign\n"
 
-#: src/lang.c:2173
+#: src/lang.c:2229
 msgid "List thread using right arrow key"
 msgstr "List thread using right arrow key"
 
-#: src/lang.c:2174
+#: src/lang.c:2230
 msgid ""
 "# If ON automatically list thread when entering it using right arrow key.\n"
 msgstr ""
 "# If ON automatically list thread when entering it using right arrow key.\n"
 
-#: src/lang.c:2178
+#: src/lang.c:2234
 msgid "Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:2179
+#: src/lang.c:2235
 msgid "Character to show deleted articles"
 msgstr "Character to show deleted articles"
 
-#: src/lang.c:2180
+#: src/lang.c:2236
 msgid ""
 "# Character used to show that an art was deleted (default 'D')\n"
 "# _ is turned into ' '\n"
@@ -6456,17 +6601,17 @@ msgstr ""
 "# Character used to show that an art was deleted (default 'D')\n"
 "# _ is turned into ' '\n"
 
-#: src/lang.c:2185
+#: src/lang.c:2241
 msgid ""
 "Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 msgstr ""
 "Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:2186
+#: src/lang.c:2242
 msgid "Character to show inrange articles"
 msgstr "Character to show inrange articles"
 
-#: src/lang.c:2187
+#: src/lang.c:2243
 msgid ""
 "# Character used to show that an art is in a range (default '#')\n"
 "# _ is turned into ' '\n"
@@ -6474,7 +6619,7 @@ msgstr ""
 "# Character used to show that an art is in a range (default '#')\n"
 "# _ is turned into ' '\n"
 
-#: src/lang.c:2192
+#: src/lang.c:2248
 msgid ""
 "Enter character to indicate that article will return. <CR> sets, <ESC> "
 "cancels."
@@ -6482,11 +6627,11 @@ msgstr ""
 "Enter character to indicate that article will return. <CR> sets, <ESC> "
 "cancels."
 
-#: src/lang.c:2193
+#: src/lang.c:2249
 msgid "Character to show returning arts"
 msgstr "Character to show returning arts"
 
-#: src/lang.c:2194
+#: src/lang.c:2250
 msgid ""
 "# Character used to show that an art will return (default '-')\n"
 "# _ is turned into ' '\n"
@@ -6494,17 +6639,17 @@ msgstr ""
 "# Character used to show that an art will return (default '-')\n"
 "# _ is turned into ' '\n"
 
-#: src/lang.c:2199
+#: src/lang.c:2255
 msgid ""
 "Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:2200
+#: src/lang.c:2256
 msgid "Character to show selected articles"
 msgstr "Character to show selected articles"
 
-#: src/lang.c:2201
+#: src/lang.c:2257
 msgid ""
 "# Character used to show that an art was auto-selected (default '*')\n"
 "# _ is turned into ' '\n"
@@ -6512,15 +6657,15 @@ msgstr ""
 "# Character used to show that an art was auto-selected (default '*')\n"
 "# _ is turned into ' '\n"
 
-#: src/lang.c:2206
+#: src/lang.c:2262
 msgid "Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 msgstr "Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:2207
+#: src/lang.c:2263
 msgid "Character to show recent articles"
 msgstr "Character to show recent articles"
 
-#: src/lang.c:2208
+#: src/lang.c:2264
 msgid ""
 "# Character used to show that an art is recent (default 'o')\n"
 "# _ is turned into ' '\n"
@@ -6528,15 +6673,15 @@ msgstr ""
 "# Character used to show that an art is recent (default 'o')\n"
 "# _ is turned into ' '\n"
 
-#: src/lang.c:2213
+#: src/lang.c:2269
 msgid "Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 msgstr "Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:2214
+#: src/lang.c:2270
 msgid "Character to show unread articles"
 msgstr "Character to show unread articles"
 
-#: src/lang.c:2215
+#: src/lang.c:2271
 msgid ""
 "# Character used to show that an art is unread (default '+')\n"
 "# _ is turned into ' '\n"
@@ -6544,15 +6689,15 @@ msgstr ""
 "# Character used to show that an art is unread (default '+')\n"
 "# _ is turned into ' '\n"
 
-#: src/lang.c:2220
+#: src/lang.c:2276
 msgid "Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 msgstr "Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:2221
+#: src/lang.c:2277
 msgid "Character to show read articles"
 msgstr "Character to show read articles"
 
-#: src/lang.c:2222
+#: src/lang.c:2278
 msgid ""
 "# Character used to show that an art was read (default ' ')\n"
 "# _ is turned into ' '\n"
@@ -6560,15 +6705,15 @@ msgstr ""
 "# Character used to show that an art was read (default ' ')\n"
 "# _ is turned into ' '\n"
 
-#: src/lang.c:2227
+#: src/lang.c:2283
 msgid "Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 msgstr "Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:2228
+#: src/lang.c:2284
 msgid "Character to show killed articles"
 msgstr "Character to show killed articles"
 
-#: src/lang.c:2229
+#: src/lang.c:2285
 msgid ""
 "# Character used to show that an art was killed (default 'K')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
@@ -6576,17 +6721,17 @@ msgstr ""
 "# Character used to show that an art was killed (default 'K')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
 
-#: src/lang.c:2234
+#: src/lang.c:2290
 msgid ""
 "Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:2235
+#: src/lang.c:2291
 msgid "Character to show readselected arts"
 msgstr "Character to show readselected arts"
 
-#: src/lang.c:2236
+#: src/lang.c:2292
 msgid ""
 "# Character used to show that an art was selected before read (default ':')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
@@ -6594,11 +6739,11 @@ msgstr ""
 "# Character used to show that an art was selected before read (default ':')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
 
-#: src/lang.c:2242
+#: src/lang.c:2298
 msgid "Abbreviate long newsgroup names"
 msgstr "Abbreviate long newsgroup names"
 
-#: src/lang.c:2243
+#: src/lang.c:2299
 msgid ""
 "# If ON abbreviate (if necessary) long newsgroup names at group selection\n"
 "# level and article level like this:\n"
@@ -6608,7 +6753,7 @@ msgstr ""
 "# level and article level like this:\n"
 "#   news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n"
 
-#: src/lang.c:2249
+#: src/lang.c:2305
 msgid ""
 "0 = full page scrolling, -1 = show previous last line as first on next page, "
 "-2 = half page"
@@ -6616,11 +6761,11 @@ msgstr ""
 "0 = full page scrolling, -1 = show previous last line as first on next page, "
 "-2 = half page"
 
-#: src/lang.c:2250
+#: src/lang.c:2306
 msgid "Number of lines to scroll in pager"
 msgstr "Number of lines to scroll in pager"
 
-#: src/lang.c:2251
+#: src/lang.c:2307
 msgid ""
 "# Number of lines that cursor-up/down will scroll in article pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6638,53 +6783,53 @@ msgstr ""
 "# * 1 = line-by-line\n"
 "#   2 or greater = scroll by 2 or more lines (only in the pager)\n"
 
-#: src/lang.c:2261
+#: src/lang.c:2317
 msgid "Display signatures. <SPACE> toggles & <CR> sets."
 msgstr "Display signatures. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2262
+#: src/lang.c:2318
 msgid "Display signatures"
 msgstr "Display signatures"
 
-#: src/lang.c:2263
+#: src/lang.c:2319
 msgid "# If OFF don't show signatures when displaying articles\n"
 msgstr "# If OFF don't show signatures when displaying articles\n"
 
-#: src/lang.c:2267
+#: src/lang.c:2323
 msgid "Display article score. <SPACE> toggles & <CR> sets."
 msgstr "Display article score. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2268
-msgid "Display article score"
-msgstr "Display article score"
+#: src/lang.c:2324
+msgid "Display article score in pager"
+msgstr "Display article score in pager"
 
-#: src/lang.c:2269
+#: src/lang.c:2325
 msgid "# If ON show article score when displaying articles\n"
 msgstr "# If ON show article score when displaying articles\n"
 
-#: src/lang.c:2274
+#: src/lang.c:2330
 msgid "Remove soft hyphens. <SPACE> toggles & <CR> sets."
 msgstr "Remove soft hyphens. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2275
+#: src/lang.c:2331
 msgid "Remove soft hyphens"
 msgstr "Remove soft hyphens"
 
-#: src/lang.c:2276
+#: src/lang.c:2332
 msgid "# If ON remove soft hyphens when displaying articles\n"
 msgstr "# If ON remove soft hyphens when displaying articles\n"
 
-#: src/lang.c:2281
+#: src/lang.c:2337
 msgid ""
 "Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2282
+#: src/lang.c:2338
 msgid "Display uue data as an attachment"
 msgstr "Display uue data as an attachment"
 
-#: src/lang.c:2283
+#: src/lang.c:2339
 msgid ""
 "# Handling of uuencoded data in the pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6704,17 +6849,17 @@ msgstr ""
 "will\n"
 "#       be folded into a tag line.\n"
 
-#: src/lang.c:2293
+#: src/lang.c:2349
 msgid ""
 "Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2294
+#: src/lang.c:2350
 msgid "Display \"a as Umlaut-a"
 msgstr "Display \"a as Umlaut-a"
 
-#: src/lang.c:2295
+#: src/lang.c:2351
 msgid ""
 "# If ON decode German style TeX umlaut codes to ISO and\n"
 "# show \"a as Umlaut-a, etc.\n"
@@ -6722,15 +6867,15 @@ msgstr ""
 "# If ON decode German style TeX umlaut codes to ISO and\n"
 "# show \"a as Umlaut-a, etc.\n"
 
-#: src/lang.c:2300 src/lang.c:2310
+#: src/lang.c:2356 src/lang.c:2366
 msgid "Space separated list of header fields"
 msgstr "Space separated list of header fields"
 
-#: src/lang.c:2301
+#: src/lang.c:2357
 msgid "Display these header fields (or *)"
 msgstr "Display these header fields (or *)"
 
-#: src/lang.c:2302
+#: src/lang.c:2358
 msgid ""
 "# Which news headers you wish to see. If you want to see _all_ the headers,\n"
 "# place an '*' as this value. This is the only way a wildcard can be used.\n"
@@ -6746,11 +6891,11 @@ msgstr ""
 "with\n"
 "# spaces. Not defining anything turns off this option.\n"
 
-#: src/lang.c:2311
+#: src/lang.c:2367
 msgid "Do not display these header fields"
 msgstr "Do not display these header fields"
 
-#: src/lang.c:2312
+#: src/lang.c:2368
 msgid ""
 "# Same as 'news_headers_to_display' except it denotes the opposite.\n"
 "# An example of using both options might be if you thought X- headers were\n"
@@ -6770,41 +6915,41 @@ msgstr ""
 "# news_headers_to_not_display=X-Alan X-Pape\n"
 "# Not defining anything turns off this option.\n"
 
-#: src/lang.c:2322
+#: src/lang.c:2378
 msgid ""
 "Do you want to enable automatic handling of multipart/alternative articles?"
 msgstr ""
 "Do you want to enable automatic handling of multipart/alternative articles?"
 
-#: src/lang.c:2323
+#: src/lang.c:2379
 msgid "Skip multipart/alternative parts"
 msgstr "Skip multipart/alternative parts"
 
-#: src/lang.c:2324
+#: src/lang.c:2380
 msgid "# If ON strip multipart/alternative messages automatically\n"
 msgstr "# If ON strip multipart/alternative messages automatically\n"
 
-#: src/lang.c:2328
+#: src/lang.c:2384
 msgid "Enable detection of verbatim blocks? <SPACE> toggles & <CR> sets."
 msgstr "Enable detection of verbatim blocks? <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2329
+#: src/lang.c:2385
 msgid "Detection of verbatim blocks"
 msgstr "Detection of verbatim blocks"
 
-#: src/lang.c:2330
+#: src/lang.c:2386
 msgid "# If ON detect verbatim blocks in articles\n"
 msgstr "# If ON detect verbatim blocks in articles\n"
 
-#: src/lang.c:2335
+#: src/lang.c:2391
 msgid "A regex used to decide which lines to show in col_quote."
 msgstr "A regex used to decide which lines to show in col_quote."
 
-#: src/lang.c:2336
+#: src/lang.c:2392
 msgid "Regex used to show quoted lines"
 msgstr "Regex used to show quoted lines"
 
-#: src/lang.c:2337
+#: src/lang.c:2393
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
@@ -6814,15 +6959,15 @@ msgstr ""
 "# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 
-#: src/lang.c:2343
+#: src/lang.c:2399
 msgid "A regex used to decide which lines to show in col_quote2."
 msgstr "A regex used to decide which lines to show in col_quote2."
 
-#: src/lang.c:2344
+#: src/lang.c:2400
 msgid "Regex used to show twice quoted l."
 msgstr "Regex used to show twice quoted l."
 
-#: src/lang.c:2345
+#: src/lang.c:2401
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted twice. Twice quoted lines are shown in col_quote2.\n"
@@ -6832,15 +6977,15 @@ msgstr ""
 "# quoted twice. Twice quoted lines are shown in col_quote2.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 
-#: src/lang.c:2351
+#: src/lang.c:2407
 msgid "A regex used to decide which lines to show in col_quote3."
 msgstr "A regex used to decide which lines to show in col_quote3."
 
-#: src/lang.c:2352
+#: src/lang.c:2408
 msgid "Regex used to show >= 3 times q.l."
 msgstr "Regex used to show >= 3 times q.l."
 
-#: src/lang.c:2353
+#: src/lang.c:2409
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
@@ -6850,27 +6995,27 @@ msgstr ""
 "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 
-#: src/lang.c:2359
+#: src/lang.c:2415
 msgid "Enable detection of external quotes? <SPACE> toggles & <CR> sets."
 msgstr "Enable detection of external quotes? <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2360
+#: src/lang.c:2416
 msgid "Detection of external quotes"
 msgstr "Detection of external quotes"
 
-#: src/lang.c:2361
+#: src/lang.c:2417
 msgid "# If ON detect quoted text from external sources in articles\n"
 msgstr "# If ON detect quoted text from external sources in articles\n"
 
-#: src/lang.c:2365
+#: src/lang.c:2421
 msgid "A regex used to decide which lines to show in col_extquote."
 msgstr "A regex used to decide which lines to show in col_extquote."
 
-#: src/lang.c:2366
+#: src/lang.c:2422
 msgid "Regex used to show quotes from external sources"
 msgstr "Regex used to show quotes from external sources"
 
-#: src/lang.c:2367
+#: src/lang.c:2423
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# external quotes. Text from external quotes is shown in col_extquote.\n"
@@ -6880,15 +7025,15 @@ msgstr ""
 "# external quotes. Text from external quotes is shown in col_extquote.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 
-#: src/lang.c:2374
+#: src/lang.c:2430
 msgid "A regex used to decide which words to show in col_markslashes."
 msgstr "A regex used to decide which words to show in col_markslashes."
 
-#: src/lang.c:2375
+#: src/lang.c:2431
 msgid "Regex used to highlight /slashes/"
 msgstr "Regex used to highlight /slashes/"
 
-#: src/lang.c:2376
+#: src/lang.c:2432
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '/' are to be shown in col_markslashes.\n"
@@ -6898,15 +7043,15 @@ msgstr ""
 "# bounded by '/' are to be shown in col_markslashes.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 
-#: src/lang.c:2382
+#: src/lang.c:2438
 msgid "A regex used to decide which words to show in col_markstars."
 msgstr "A regex used to decide which words to show in col_markstars."
 
-#: src/lang.c:2383
+#: src/lang.c:2439
 msgid "Regex used to highlight *stars*"
 msgstr "Regex used to highlight *stars*"
 
-#: src/lang.c:2384
+#: src/lang.c:2440
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '*' are to be shown in col_markstars.\n"
@@ -6916,15 +7061,15 @@ msgstr ""
 "# bounded by '*' are to be shown in col_markstars.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 
-#: src/lang.c:2390
+#: src/lang.c:2446
 msgid "A regex used to decide which words to show in col_markstroke."
 msgstr "A regex used to decide which words to show in col_markstroke."
 
-#: src/lang.c:2391
+#: src/lang.c:2447
 msgid "Regex used to highlight -strokes-"
 msgstr "Regex used to highlight -strokes-"
 
-#: src/lang.c:2392
+#: src/lang.c:2448
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '-' are to be shown in col_markstroke.\n"
@@ -6934,15 +7079,15 @@ msgstr ""
 "# bounded by '-' are to be shown in col_markstroke.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 
-#: src/lang.c:2398
+#: src/lang.c:2454
 msgid "A regex used to decide which words to show in col_markdash."
 msgstr "A regex used to decide which words to show in col_markdash."
 
-#: src/lang.c:2399
+#: src/lang.c:2455
 msgid "Regex used to highlight _underline_"
 msgstr "Regex used to highlight _underline_"
 
-#: src/lang.c:2400
+#: src/lang.c:2456
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '_' are to be shown in col_markdash.\n"
@@ -6952,16 +7097,16 @@ msgstr ""
 "# bounded by '_' are to be shown in col_markdash.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 
-#: src/lang.c:2406
+#: src/lang.c:2462
 msgid "A regex used to find Subject prefixes to remove.  Use '|' as separator."
 msgstr ""
 "A regex used to find Subject prefixes to remove.  Use '|' as separator."
 
-#: src/lang.c:2407
+#: src/lang.c:2463
 msgid "Regex with Subject prefixes"
 msgstr "Regex with Subject prefixes"
 
-#: src/lang.c:2408
+#: src/lang.c:2464
 msgid ""
 "# A regular expression that tin will use to find Subject prefixes\n"
 "# which will be removed before showing the header.\n"
@@ -6969,16 +7114,16 @@ msgstr ""
 "# A regular expression that tin will use to find Subject prefixes\n"
 "# which will be removed before showing the header.\n"
 
-#: src/lang.c:2413
+#: src/lang.c:2469
 msgid "A regex used to find Subject suffixes to remove.  Use '|' as separator."
 msgstr ""
 "A regex used to find Subject suffixes to remove.  Use '|' as separator."
 
-#: src/lang.c:2414
+#: src/lang.c:2470
 msgid "Regex with Subject suffixes"
 msgstr "Regex with Subject suffixes"
 
-#: src/lang.c:2415
+#: src/lang.c:2471
 msgid ""
 "# A regular expression that tin will use to find Subject suffixes\n"
 "# which will be removed when replying or posting followup.\n"
@@ -6986,15 +7131,15 @@ msgstr ""
 "# A regular expression that tin will use to find Subject suffixes\n"
 "# which will be removed when replying or posting followup.\n"
 
-#: src/lang.c:2420
+#: src/lang.c:2476
 msgid "A regex used to find the begin of a verbatim block."
 msgstr "A regex used to find the begin of a verbatim block."
 
-#: src/lang.c:2421
+#: src/lang.c:2477
 msgid "Regex for begin of a verbatim block"
 msgstr "Regex for begin of a verbatim block"
 
-#: src/lang.c:2422
+#: src/lang.c:2478
 msgid ""
 "# A regular expression that tin will use to find the begin of\n"
 "# a verbatim block.\n"
@@ -7002,15 +7147,15 @@ msgstr ""
 "# A regular expression that tin will use to find the begin of\n"
 "# a verbatim block.\n"
 
-#: src/lang.c:2427
+#: src/lang.c:2483
 msgid "A regex used to find the end of a verbatim block."
 msgstr "A regex used to find the end of a verbatim block."
 
-#: src/lang.c:2428
+#: src/lang.c:2484
 msgid "Regex for end of a verbatim block"
 msgstr "Regex for end of a verbatim block"
 
-#: src/lang.c:2429
+#: src/lang.c:2485
 msgid ""
 "# A regular expression that tin will use to find the end of\n"
 "# a verbatim block.\n"
@@ -7018,7 +7163,7 @@ msgstr ""
 "# A regular expression that tin will use to find the end of\n"
 "# a verbatim block.\n"
 
-#: src/lang.c:2434
+#: src/lang.c:2490
 msgid ""
 "Enter name and options for external MIME viewer, --internal for built-in "
 "viewer"
@@ -7026,11 +7171,11 @@ msgstr ""
 "Enter name and options for external MIME viewer, --internal for built-in "
 "viewer"
 
-#: src/lang.c:2435
+#: src/lang.c:2491
 msgid "MIME binary content viewer"
 msgstr "MIME binary content viewer"
 
-#: src/lang.c:2436
+#: src/lang.c:2492
 msgid ""
 "# If --internal automatically use the built in MIME viewer for non-text\n"
 "# parts of articles.\n"
@@ -7044,15 +7189,15 @@ msgstr ""
 "blank\n"
 "# for no automatic viewing\n"
 
-#: src/lang.c:2443
+#: src/lang.c:2499
 msgid "Confirm before starting non-text viewing program"
 msgstr "Confirm before starting non-text viewing program"
 
-#: src/lang.c:2444
+#: src/lang.c:2500
 msgid "Ask before using MIME viewer"
 msgstr "Ask before using MIME viewer"
 
-#: src/lang.c:2445
+#: src/lang.c:2501
 msgid ""
 "# If ON tin will ask before using metamail to display MIME messages\n"
 "# this only happens if metamail_prog is set to something\n"
@@ -7060,35 +7205,35 @@ msgstr ""
 "# If ON tin will ask before using metamail to display MIME messages\n"
 "# this only happens if metamail_prog is set to something\n"
 
-#: src/lang.c:2450
+#: src/lang.c:2506
 msgid "Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 msgstr "Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2451
+#: src/lang.c:2507
 msgid "Catchup read groups when quitting"
 msgstr "Catchup read groups when quitting"
 
-#: src/lang.c:2452
+#: src/lang.c:2508
 msgid "# If ON ask user if read groups should all be marked read\n"
 msgstr "# If ON ask user if read groups should all be marked read\n"
 
-#: src/lang.c:2457
+#: src/lang.c:2513
 msgid "Catchup group using left key"
 msgstr "Catchup group using left key"
 
-#: src/lang.c:2458
+#: src/lang.c:2514
 msgid "# If ON catchup group/thread when leaving with the left arrow key.\n"
 msgstr "# If ON catchup group/thread when leaving with the left arrow key.\n"
 
-#: src/lang.c:2463
+#: src/lang.c:2519
 msgid "Catchup thread by using left key"
 msgstr "Catchup thread by using left key"
 
-#: src/lang.c:2469
+#: src/lang.c:2525
 msgid "Which actions require confirmation"
 msgstr "Which actions require confirmation"
 
-#: src/lang.c:2470
+#: src/lang.c:2526
 msgid ""
 "# What should we ask confirmation for.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7112,53 +7257,53 @@ msgstr ""
 "#   6 = quit & select\n"
 "#   7 = commands & quit & select\n"
 
-#: src/lang.c:2484
+#: src/lang.c:2540
 msgid "'Mark as (un)read' ignores tags"
 msgstr "'Mark as (un)read' ignores tags"
 
-#: src/lang.c:2485
+#: src/lang.c:2541
 msgid ""
 "# If ON the 'Mark as (un)read' function marks only the current article.\n"
 msgstr ""
 "# If ON the 'Mark as (un)read' function marks only the current article.\n"
 
-#: src/lang.c:2489
+#: src/lang.c:2545
 msgid "Program to run to open URLs, <CR> sets, <ESC> cancels."
 msgstr "Program to run to open URLs, <CR> sets, <ESC> cancels."
 
-#: src/lang.c:2490
+#: src/lang.c:2546
 msgid "Program that opens URLs"
 msgstr "Program that opens URLs"
 
-#: src/lang.c:2491
+#: src/lang.c:2547
 msgid "# The program used to open URLs. The actual URL will be appended\n"
 msgstr "# The program used to open URLs. The actual URL will be appended\n"
 
-#: src/lang.c:2496
+#: src/lang.c:2552
 msgid "Use mouse in xterm"
 msgstr "Use mouse in xterm"
 
-#: src/lang.c:2497
+#: src/lang.c:2553
 msgid "# If ON enable mouse button support on xterm terminals\n"
 msgstr "# If ON enable mouse button support on xterm terminals\n"
 
-#: src/lang.c:2503
+#: src/lang.c:2559
 msgid "Use scroll keys on keypad"
 msgstr "Use scroll keys on keypad"
 
-#: src/lang.c:2504
+#: src/lang.c:2560
 msgid "# If ON enable scroll keys on terminals that support it\n"
 msgstr "# If ON enable scroll keys on terminals that support it\n"
 
-#: src/lang.c:2509
+#: src/lang.c:2565
 msgid "Enter maximum number of article to get. <CR> sets."
 msgstr "Enter maximum number of article to get. <CR> sets."
 
-#: src/lang.c:2510
+#: src/lang.c:2566
 msgid "Number of articles to get"
 msgstr "Number of articles to get"
 
-#: src/lang.c:2511
+#: src/lang.c:2567
 msgid ""
 "# Number of articles to get (0=no limit), if negative sets maximum number\n"
 "# of already read articles to be read before first unread one\n"
@@ -7166,29 +7311,29 @@ msgstr ""
 "# Number of articles to get (0=no limit), if negative sets maximum number\n"
 "# of already read articles to be read before first unread one\n"
 
-#: src/lang.c:2516
+#: src/lang.c:2572
 msgid "Enter number of days article is considered recent. <CR> sets."
 msgstr "Enter number of days article is considered recent. <CR> sets."
 
-#: src/lang.c:2517
+#: src/lang.c:2573
 msgid "Article recentness time limit"
 msgstr "Article recentness time limit"
 
-#: src/lang.c:2518
+#: src/lang.c:2574
 msgid "# Number of days in which article is considered recent, (0=OFF)\n"
 msgstr "# Number of days in which article is considered recent, (0=OFF)\n"
 
-#: src/lang.c:2522
+#: src/lang.c:2578
 msgid ""
 "WILDMAT for normal wildcards, REGEX for full regular expression matching."
 msgstr ""
 "WILDMAT for normal wildcards, REGEX for full regular expression matching."
 
-#: src/lang.c:2523
+#: src/lang.c:2579
 msgid "Wildcard matching"
 msgstr "Wildcard matching"
 
-#: src/lang.c:2524
+#: src/lang.c:2580
 msgid ""
 "# Wildcard matching\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7200,59 +7345,59 @@ msgstr ""
 "# * 0 = wildmat\n"
 "#   1 = regex\n"
 
-#: src/lang.c:2531
+#: src/lang.c:2587
 msgid "Enter minimal score before an article is marked killed. <CR> sets."
 msgstr "Enter minimal score before an article is marked killed. <CR> sets."
 
-#: src/lang.c:2532
+#: src/lang.c:2588
 msgid "Score limit (kill)"
 msgstr "Score limit (kill)"
 
-#: src/lang.c:2533
+#: src/lang.c:2589
 msgid "# Score limit before an article is marked killed\n"
 msgstr "# Score limit before an article is marked killed\n"
 
-#: src/lang.c:2537
+#: src/lang.c:2593
 msgid "Enter default score to kill articles. <CR> sets."
 msgstr "Enter default score to kill articles. <CR> sets."
 
-#: src/lang.c:2538
+#: src/lang.c:2594
 msgid "Default score to kill articles"
 msgstr "Default score to kill articles"
 
-#: src/lang.c:2539
+#: src/lang.c:2595
 msgid "# Default score to kill articles\n"
 msgstr "# Default score to kill articles\n"
 
-#: src/lang.c:2543
+#: src/lang.c:2599
 msgid "Enter minimal score before an article is marked hot. <CR> sets."
 msgstr "Enter minimal score before an article is marked hot. <CR> sets."
 
-#: src/lang.c:2544
+#: src/lang.c:2600
 msgid "Score limit (select)"
 msgstr "Score limit (select)"
 
-#: src/lang.c:2545
+#: src/lang.c:2601
 msgid "# Score limit before an article is marked hot\n"
 msgstr "# Score limit before an article is marked hot\n"
 
-#: src/lang.c:2549
+#: src/lang.c:2605
 msgid "Enter default score to select articles. <CR> sets."
 msgstr "Enter default score to select articles. <CR> sets."
 
-#: src/lang.c:2550
+#: src/lang.c:2606
 msgid "Default score to select articles"
 msgstr "Default score to select articles"
 
-#: src/lang.c:2551
+#: src/lang.c:2607
 msgid "# Default score to select articles\n"
 msgstr "# Default score to select articles\n"
 
-#: src/lang.c:2557
+#: src/lang.c:2613
 msgid "Use slrnface to show ''X-Face:''s"
 msgstr "Use slrnface to show ''X-Face:''s"
 
-#: src/lang.c:2558
+#: src/lang.c:2614
 msgid ""
 "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 "# Only useful when running in an xterm.\n"
@@ -7260,19 +7405,19 @@ msgstr ""
 "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 "# Only useful when running in an xterm.\n"
 
-#: src/lang.c:2566
+#: src/lang.c:2622
 msgid "Use ANSI color"
 msgstr "Use ANSI colour"
 
-#: src/lang.c:2567
+#: src/lang.c:2623
 msgid "# If ON using ANSI-color\n"
 msgstr "# If ON using ANSI-colour\n"
 
-#: src/lang.c:2572
+#: src/lang.c:2628
 msgid "Standard foreground color"
 msgstr "Standard foreground colour"
 
-#: src/lang.c:2573
+#: src/lang.c:2629
 msgid ""
 "# Standard foreground color\n"
 "# Default: -1 (default color)\n"
@@ -7280,11 +7425,11 @@ msgstr ""
 "# Standard foreground colour\n"
 "# Default: -1 (default colour)\n"
 
-#: src/lang.c:2579
+#: src/lang.c:2635
 msgid "Standard background color"
 msgstr "Standard background colour"
 
-#: src/lang.c:2580
+#: src/lang.c:2636
 msgid ""
 "# Standard background color\n"
 "# Default: -1 (default color)\n"
@@ -7292,11 +7437,11 @@ msgstr ""
 "# Standard background colour\n"
 "# Default: -1 (default colour)\n"
 
-#: src/lang.c:2586
+#: src/lang.c:2642
 msgid "Color for inverse text (background)"
 msgstr "Colour for inverse text (background)"
 
-#: src/lang.c:2587
+#: src/lang.c:2643
 msgid ""
 "# Color of background for inverse text\n"
 "# Default: 4 (blue)\n"
@@ -7304,11 +7449,11 @@ msgstr ""
 "# Colour of background for inverse text\n"
 "# Default: 4 (blue)\n"
 
-#: src/lang.c:2593
+#: src/lang.c:2649
 msgid "Color for inverse text (foreground)"
 msgstr "Colour for inverse text (foreground)"
 
-#: src/lang.c:2594
+#: src/lang.c:2650
 msgid ""
 "# Color of foreground for inverse text\n"
 "# Default: 7 (white)\n"
@@ -7316,11 +7461,11 @@ msgstr ""
 "# Colour of foreground for inverse text\n"
 "# Default: 7 (white)\n"
 
-#: src/lang.c:2600
+#: src/lang.c:2656
 msgid "Color of text lines"
 msgstr "Colour of text lines"
 
-#: src/lang.c:2601
+#: src/lang.c:2657
 msgid ""
 "# Color of text lines\n"
 "# Default: -1 (default color)\n"
@@ -7328,11 +7473,11 @@ msgstr ""
 "# Colour of text lines\n"
 "# Default: -1 (default colour)\n"
 
-#: src/lang.c:2607
+#: src/lang.c:2663
 msgid "Color of mini help menu"
 msgstr "Colour of mini help menu"
 
-#: src/lang.c:2608
+#: src/lang.c:2664
 msgid ""
 "# Color of mini help menu\n"
 "# Default: 3 (brown)\n"
@@ -7340,11 +7485,11 @@ msgstr ""
 "# Colour of mini help menu\n"
 "# Default: 3 (brown)\n"
 
-#: src/lang.c:2614
+#: src/lang.c:2670
 msgid "Color of help text"
 msgstr "Colour of help text"
 
-#: src/lang.c:2615
+#: src/lang.c:2671
 msgid ""
 "# Color of help pages\n"
 "# Default: -1 (default color)\n"
@@ -7352,11 +7497,11 @@ msgstr ""
 "# Colour of help pages\n"
 "# Default: -1 (default colour)\n"
 
-#: src/lang.c:2621
+#: src/lang.c:2677
 msgid "Color of status messages"
 msgstr "Colour of status messages"
 
-#: src/lang.c:2622
+#: src/lang.c:2678
 msgid ""
 "# Color of messages in last line\n"
 "# Default: 6 (cyan)\n"
@@ -7364,11 +7509,11 @@ msgstr ""
 "# Colour of messages in last line\n"
 "# Default: 6 (cyan)\n"
 
-#: src/lang.c:2628
+#: src/lang.c:2684
 msgid "Color of quoted lines"
 msgstr "Colour of quoted lines"
 
-#: src/lang.c:2629
+#: src/lang.c:2685
 msgid ""
 "# Color of quote-lines\n"
 "# Default: 2 (green)\n"
@@ -7376,11 +7521,11 @@ msgstr ""
 "# Colour of quote-lines\n"
 "# Default: 2 (green)\n"
 
-#: src/lang.c:2635
+#: src/lang.c:2691
 msgid "Color of twice quoted line"
 msgstr "Colour of twice quoted line"
 
-#: src/lang.c:2636
+#: src/lang.c:2692
 msgid ""
 "# Color of twice quoted lines\n"
 "# Default: 3 (brown)\n"
@@ -7388,11 +7533,11 @@ msgstr ""
 "# Colour of twice quoted lines\n"
 "# Default: 3 (brown)\n"
 
-#: src/lang.c:2642
+#: src/lang.c:2698
 msgid "Color of =>3 times quoted line"
 msgstr "Colour of =>3 times quoted line"
 
-#: src/lang.c:2643
+#: src/lang.c:2699
 msgid ""
 "# Color of >=3 times quoted lines\n"
 "# Default: 4 (blue)\n"
@@ -7400,11 +7545,11 @@ msgstr ""
 "# Colour of >=3 times quoted lines\n"
 "# Default: 4 (blue)\n"
 
-#: src/lang.c:2649
+#: src/lang.c:2705
 msgid "Color of article header lines"
 msgstr "Colour of article header lines"
 
-#: src/lang.c:2650
+#: src/lang.c:2706
 msgid ""
 "# Color of header-lines\n"
 "# Default: 2 (green)\n"
@@ -7412,11 +7557,11 @@ msgstr ""
 "# Colour of header-lines\n"
 "# Default: 2 (green)\n"
 
-#: src/lang.c:2656
+#: src/lang.c:2712
 msgid "Color of actual news header fields"
 msgstr "Colour of actual news header fields"
 
-#: src/lang.c:2657
+#: src/lang.c:2713
 msgid ""
 "# Color of actual news header fields\n"
 "# Default: 9 (light red)\n"
@@ -7424,11 +7569,11 @@ msgstr ""
 "# Colour of actual news header fields\n"
 "# Default: 9 (light red)\n"
 
-#: src/lang.c:2663
+#: src/lang.c:2719
 msgid "Color of article subject lines"
 msgstr "Colour of article subject lines"
 
-#: src/lang.c:2664
+#: src/lang.c:2720
 msgid ""
 "# Color of article subject\n"
 "# Default: 6 (cyan)\n"
@@ -7436,11 +7581,11 @@ msgstr ""
 "# Colour of article subject\n"
 "# Default: 6 (cyan)\n"
 
-#: src/lang.c:2670
+#: src/lang.c:2726
 msgid "Color of external quotes"
 msgstr "Colour of external quotes"
 
-#: src/lang.c:2671
+#: src/lang.c:2727
 msgid ""
 "# Color of quoted text from external sources\n"
 "# Default: 5 (pink)\n"
@@ -7448,11 +7593,11 @@ msgstr ""
 "# Colour of quoted text from external sources\n"
 "# Default: 5 (pink)\n"
 
-#: src/lang.c:2677
+#: src/lang.c:2733
 msgid "Color of response counter"
 msgstr "Colour of response counter"
 
-#: src/lang.c:2678
+#: src/lang.c:2734
 msgid ""
 "# Color of response counter\n"
 "# Default: 2 (green)\n"
@@ -7460,11 +7605,11 @@ msgstr ""
 "# Colour of response counter\n"
 "# Default: 2 (green)\n"
 
-#: src/lang.c:2684
+#: src/lang.c:2740
 msgid "Color of sender (From:)"
 msgstr "Colour of sender (From:)"
 
-#: src/lang.c:2685
+#: src/lang.c:2741
 msgid ""
 "# Color of sender (From:)\n"
 "# Default: 2 (green)\n"
@@ -7472,11 +7617,11 @@ msgstr ""
 "# Colour of sender (From:)\n"
 "# Default: 2 (green)\n"
 
-#: src/lang.c:2691
+#: src/lang.c:2747
 msgid "Color of help/mail sign"
 msgstr "Colour of help/mail sign"
 
-#: src/lang.c:2692
+#: src/lang.c:2748
 msgid ""
 "# Color of Help/Mail-Sign\n"
 "# Default: 4 (blue)\n"
@@ -7484,11 +7629,11 @@ msgstr ""
 "# Colour of Help/Mail-Sign\n"
 "# Default: 4 (blue)\n"
 
-#: src/lang.c:2698
+#: src/lang.c:2754
 msgid "Color of signatures"
 msgstr "Colour of signatures"
 
-#: src/lang.c:2699
+#: src/lang.c:2755
 msgid ""
 "# Color of signature\n"
 "# Default: 4 (blue)\n"
@@ -7496,11 +7641,11 @@ msgstr ""
 "# Colour of signature\n"
 "# Default: 4 (blue)\n"
 
-#: src/lang.c:2705
+#: src/lang.c:2761
 msgid "Color of negative score"
 msgstr "Colour of negative score"
 
-#: src/lang.c:2706
+#: src/lang.c:2762
 msgid ""
 "# Color of negative score\n"
 "# Default: 1 (red)\n"
@@ -7508,11 +7653,11 @@ msgstr ""
 "# Colour of negative score\n"
 "# Default: 1 (red)\n"
 
-#: src/lang.c:2712
+#: src/lang.c:2768
 msgid "Color of positive score"
 msgstr "Colour of positive score"
 
-#: src/lang.c:2713
+#: src/lang.c:2769
 msgid ""
 "# Color of positive score\n"
 "# Default: 2 (green)\n"
@@ -7520,11 +7665,11 @@ msgstr ""
 "# Colour of positive score\n"
 "# Default: 2 (green)\n"
 
-#: src/lang.c:2719
+#: src/lang.c:2775
 msgid "Color of highlighted URLs"
 msgstr "Colour of highlighted URLs"
 
-#: src/lang.c:2720
+#: src/lang.c:2776
 msgid ""
 "# Color of highlighted URLs\n"
 "# Default: -1 (default color)\n"
@@ -7532,11 +7677,11 @@ msgstr ""
 "# Colour of highlighted URLs\n"
 "# Default: -1 (default colour)\n"
 
-#: src/lang.c:2726
+#: src/lang.c:2782
 msgid "Color of verbatim blocks"
 msgstr "Colour of verbatim blocks"
 
-#: src/lang.c:2727
+#: src/lang.c:2783
 msgid ""
 "# Color of verbatim blocks\n"
 "# Default: 5 (pink)\n"
@@ -7544,11 +7689,11 @@ msgstr ""
 "# Colour of verbatim blocks\n"
 "# Default: 5 (pink)\n"
 
-#: src/lang.c:2733
+#: src/lang.c:2789
 msgid "Color of highlighting with *stars*"
 msgstr "Colour of highlighting with *stars*"
 
-#: src/lang.c:2734
+#: src/lang.c:2790
 msgid ""
 "# Color of word highlighting with *stars*\n"
 "# Default: 11 (yellow)\n"
@@ -7556,11 +7701,11 @@ msgstr ""
 "# Colour of word highlighting with *stars*\n"
 "# Default: 11 (yellow)\n"
 
-#: src/lang.c:2740
+#: src/lang.c:2796
 msgid "Color of highlighting with _dash_"
 msgstr "Colour of highlighting with _dash_"
 
-#: src/lang.c:2741
+#: src/lang.c:2797
 msgid ""
 "# Color of word highlighting with _dash_\n"
 "# Default: 13 (light pink)\n"
@@ -7568,11 +7713,11 @@ msgstr ""
 "# Colour of word highlighting with _dash_\n"
 "# Default: 13 (light pink)\n"
 
-#: src/lang.c:2747
+#: src/lang.c:2803
 msgid "Color of highlighting with /slash/"
 msgstr "Colour of highlighting with /slash/"
 
-#: src/lang.c:2748
+#: src/lang.c:2804
 msgid ""
 "# Color of word highlighting with /slash/\n"
 "# Default: 14 (light cyan)\n"
@@ -7580,11 +7725,11 @@ msgstr ""
 "# Colour of word highlighting with /slash/\n"
 "# Default: 14 (light cyan)\n"
 
-#: src/lang.c:2754
+#: src/lang.c:2810
 msgid "Color of highlighting with -stroke-"
 msgstr "Colour of highlighting with -stroke-"
 
-#: src/lang.c:2755
+#: src/lang.c:2811
 msgid ""
 "# Color of word highlighting with -stroke-\n"
 "# Default: 12 (light blue)\n"
@@ -7592,11 +7737,11 @@ msgstr ""
 "# Colour of word highlighting with -stroke-\n"
 "# Default: 12 (light blue)\n"
 
-#: src/lang.c:2762
+#: src/lang.c:2818
 msgid "Attr. of highlighting with *stars*"
 msgstr "Attr. of highlighting with *stars*"
 
-#: src/lang.c:2763
+#: src/lang.c:2819
 msgid ""
 "# Attributes of word highlighting on mono terminals\n"
 "# Possible values are:\n"
@@ -7624,11 +7769,11 @@ msgstr ""
 "# Attribute of word highlighting with *stars*\n"
 "# Default: 6 (bold)\n"
 
-#: src/lang.c:2778
+#: src/lang.c:2834
 msgid "Attr. of highlighting with _dash_"
 msgstr "Attr. of highlighting with _dash_"
 
-#: src/lang.c:2779
+#: src/lang.c:2835
 msgid ""
 "# Attribute of word highlighting with _dash_\n"
 "# Default: 2 (best highlighting)\n"
@@ -7636,11 +7781,11 @@ msgstr ""
 "# Attribute of word highlighting with _dash_\n"
 "# Default: 2 (best highlighting)\n"
 
-#: src/lang.c:2785
+#: src/lang.c:2841
 msgid "Attr. of highlighting with /slash/"
 msgstr "Attr. of highlighting with /slash/"
 
-#: src/lang.c:2786
+#: src/lang.c:2842
 msgid ""
 "# Attribute of word highlighting with /slash/\n"
 "# Default: 5 (half bright)\n"
@@ -7648,11 +7793,11 @@ msgstr ""
 "# Attribute of word highlighting with /slash/\n"
 "# Default: 5 (half bright)\n"
 
-#: src/lang.c:2792
+#: src/lang.c:2848
 msgid "Attr. of highlighting with -stroke-"
 msgstr "Attr. of highlighting with -stroke-"
 
-#: src/lang.c:2793
+#: src/lang.c:2849
 msgid ""
 "# Attribute of word highlighting with -stroke-\n"
 "# Default: 3 (reverse video)\n"
@@ -7660,27 +7805,27 @@ msgstr ""
 "# Attribute of word highlighting with -stroke-\n"
 "# Default: 3 (reverse video)\n"
 
-#: src/lang.c:2799
+#: src/lang.c:2855
 msgid "URL highlighting in message body"
 msgstr "URL highlighting in message body"
 
-#: src/lang.c:2800
+#: src/lang.c:2856
 msgid "# Enable URL highlighting?\n"
 msgstr "# Enable URL highlighting?\n"
 
-#: src/lang.c:2805
+#: src/lang.c:2861
 msgid "Word highlighting in message body"
 msgstr "Word highlighting in message body"
 
-#: src/lang.c:2806
+#: src/lang.c:2862
 msgid "# Enable word highlighting?\n"
 msgstr "# Enable word highlighting?\n"
 
-#: src/lang.c:2811
+#: src/lang.c:2867
 msgid "What to display instead of mark"
 msgstr "What to display instead of mark"
 
-#: src/lang.c:2812
+#: src/lang.c:2868
 msgid ""
 "# Should the leading and ending stars and dashes also be displayed,\n"
 "# even when they are highlighting marks?\n"
@@ -7696,58 +7841,72 @@ msgstr ""
 "#   1 = yes, display mark\n"
 "# * 2 = print a space instead\n"
 
-#: src/lang.c:2821
+#: src/lang.c:2877
 msgid "Enter column number to wrap article lines to in the pager. <CR> sets."
 msgstr "Enter column number to wrap article lines to in the pager. <CR> sets."
 
-#: src/lang.c:2822
+#: src/lang.c:2878
 msgid "Page line wrap column"
 msgstr "Page line wrap column"
 
-#: src/lang.c:2823
+#: src/lang.c:2879
 msgid "# Wrap article lines at column\n"
 msgstr "# Wrap article lines at column\n"
 
-#: src/lang.c:2828
+#: src/lang.c:2883
+msgid ""
+"If ON, don't break words when wrapping lines. <SPACE> toggles & <CR> sets."
+msgstr ""
+"If ON, don't break words when wrapping lines. <SPACE> toggles & <CR> sets."
+
+#: src/lang.c:2884
+msgid "Don't break words when wrapping"
+msgstr "Don't break words when wrapping"
+
+#: src/lang.c:2885
+msgid "# Don't break long lines inside a word but on <SPACE> or <TAB>\n"
+msgstr "# Don't break long lines inside a word but on <SPACE> or <TAB>\n"
+
+#: src/lang.c:2890
 msgid "Wrap around threads on next unread"
 msgstr "Wrap around threads on next unread"
 
-#: src/lang.c:2829
+#: src/lang.c:2891
 msgid "# If ON wrap around threads on searching next unread article\n"
 msgstr "# If ON wrap around threads on searching next unread article\n"
 
-#: src/lang.c:2833
+#: src/lang.c:2895
 msgid "Enter default mail address (and fullname). <CR> sets."
 msgstr "Enter default mail address (and fullname). <CR> sets."
 
-#: src/lang.c:2834 src/lang.c:3405
+#: src/lang.c:2896 src/lang.c:3474
 msgid "Mail address (and fullname)"
 msgstr "Mail address (and fullname)"
 
-#: src/lang.c:2835
+#: src/lang.c:2897
 msgid "# User's mail address (and fullname), if not username@host (fullname)\n"
 msgstr ""
 "# User's mail address (and fullname), if not username@host (fullname)\n"
 
-#: src/lang.c:2840
+#: src/lang.c:2902
 msgid "Show empty Followup-To in editor"
 msgstr "Show empty Followup-To in editor"
 
-#: src/lang.c:2841
+#: src/lang.c:2903
 msgid "# If ON show empty Followup-To header when editing an article\n"
 msgstr "# If ON show empty Followup-To header when editing an article\n"
 
-#: src/lang.c:2845
+#: src/lang.c:2907
 msgid ""
 "Enter path/! command/--none to create your default signature. <CR> sets."
 msgstr ""
 "Enter path/! command/--none to create your default signature. <CR> sets."
 
-#: src/lang.c:2846
+#: src/lang.c:2908
 msgid "Create signature from path/command"
 msgstr "Create signature from path/command"
 
-#: src/lang.c:2847
+#: src/lang.c:2909
 #, c-format
 msgid ""
 "# Signature path (random sigs)/file to be used when posting/replying\n"
@@ -7762,41 +7921,41 @@ msgstr ""
 "#                    (specify %G to pass name of current newsgroup)\n"
 "# sigfile=--none     don't append a signature\n"
 
-#: src/lang.c:2855
+#: src/lang.c:2917
 msgid ""
 "Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2856
+#: src/lang.c:2918
 msgid "Prepend signature with \"-- \""
 msgstr "Prepend signature with \"-- \""
 
-#: src/lang.c:2857
+#: src/lang.c:2919
 msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n"
 msgstr "# If ON prepend the signature with dashes '\\n-- \\n'\n"
 
-#: src/lang.c:2861
+#: src/lang.c:2923
 msgid "Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 msgstr "Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2862
+#: src/lang.c:2924
 msgid "Add signature when reposting"
 msgstr "Add signature when reposting"
 
-#: src/lang.c:2863
+#: src/lang.c:2925
 msgid "# If ON add signature to reposted articles\n"
 msgstr "# If ON add signature to reposted articles\n"
 
-#: src/lang.c:2867
+#: src/lang.c:2929
 msgid "Enter quotation marks, %I for author's initials."
 msgstr "Enter quotation marks, %I for author's initials."
 
-#: src/lang.c:2868
+#: src/lang.c:2930
 msgid "Characters used as quote-marks"
 msgstr "Characters used as quote-marks"
 
-#: src/lang.c:2869
+#: src/lang.c:2931
 msgid ""
 "# Characters used in quoting to followups and replies.\n"
 "# '_' is replaced by ' ', %I is replaced by author's initials.\n"
@@ -7804,11 +7963,11 @@ msgstr ""
 "# Characters used in quoting to followups and replies.\n"
 "# '_' is replaced by ' ', %I is replaced by author's initials.\n"
 
-#: src/lang.c:2875
+#: src/lang.c:2937
 msgid "Quoting behavior"
 msgstr "Quoting behaviour"
 
-#: src/lang.c:2876
+#: src/lang.c:2938
 msgid ""
 "# How quoting should be handled when following up or replying.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7832,17 +7991,17 @@ msgstr ""
 "#   6 = Quote signatures, quote empty lines\n"
 "#   7 = Compress quotes, quote signatures, quote empty lines\n"
 
-#: src/lang.c:2889 src/lang.c:2897 src/lang.c:2903
+#: src/lang.c:2951 src/lang.c:2959 src/lang.c:2965
 msgid ""
 "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 msgstr ""
 "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 
-#: src/lang.c:2890
+#: src/lang.c:2952
 msgid "Quote line when following up"
 msgstr "Quote line when following up"
 
-#: src/lang.c:2891
+#: src/lang.c:2953
 msgid ""
 "# Format of quote line when mailing/posting/following-up an article\n"
 "# %A Address    %D Date   %F Addr+Name   %G Groupname   %M Message-ID\n"
@@ -7852,37 +8011,37 @@ msgstr ""
 "# %A Address    %D Date   %F Addr+Name   %G Groupname   %M Message-ID\n"
 "# %N Full Name  %C First Name   %I Initials\n"
 
-#: src/lang.c:2898
+#: src/lang.c:2960
 msgid "Quote line when cross-posting"
 msgstr "Quote line when cross-posting"
 
-#: src/lang.c:2904
+#: src/lang.c:2966
 msgid "Quote line when mailing"
 msgstr "Quote line when mailing"
 
-#: src/lang.c:2909
+#: src/lang.c:2971
 msgid "If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 msgstr "If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2910
+#: src/lang.c:2972
 msgid "Insert 'User-Agent:' header"
 msgstr "Insert 'User-Agent:' header"
 
-#: src/lang.c:2911
+#: src/lang.c:2973
 msgid "# If ON include advertising User-Agent: header\n"
 msgstr "# If ON include advertising User-Agent: header\n"
 
-#: src/lang.c:2916
+#: src/lang.c:2978
 msgid ""
 "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 
-#: src/lang.c:2917
+#: src/lang.c:2979
 msgid "MM_CHARSET"
 msgstr "MM_CHARSET"
 
-#: src/lang.c:2918
+#: src/lang.c:2980
 msgid ""
 "# Charset supported locally which is also used for MIME header and\n"
 "# Content-Type header.\n"
@@ -7898,41 +8057,41 @@ msgstr ""
 "# If MIME_STRICT_CHARSET is defined at compile-time, charset other than\n"
 "# mm_charset is considered not displayable and represented as '?'.\n"
 
-#: src/lang.c:2928
+#: src/lang.c:2990
 msgid "MM_NETWORK_CHARSET"
 msgstr "MM_NETWORK_CHARSET"
 
-#: src/lang.c:2929
+#: src/lang.c:2991
 msgid "# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr "# Charset used for MIME (Content-Type) header in postings.\n"
 
-#: src/lang.c:2933
+#: src/lang.c:2995
 msgid ""
 "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 
-#: src/lang.c:2934
+#: src/lang.c:2996
 msgid "MM_LOCAL_CHARSET"
 msgstr "MM_LOCAL_CHARSET"
 
-#: src/lang.c:2935
+#: src/lang.c:2997
 msgid "# Charset supported locally.\n"
 msgstr "# Charset supported locally.\n"
 
-#: src/lang.c:2942
+#: src/lang.c:3004
 msgid "Mailbox format"
 msgstr "Mailbox format"
 
-#: src/lang.c:2943
+#: src/lang.c:3005
 msgid "# Format of the mailbox.\n"
 msgstr "# Format of the mailbox.\n"
 
-#: src/lang.c:2948
+#: src/lang.c:3010
 msgid "MIME encoding in news messages"
 msgstr "MIME encoding in news messages"
 
-#: src/lang.c:2949
+#: src/lang.c:3011
 msgid ""
 "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n"
 "# for mails and posts, if necessary. QP is efficient for most European\n"
@@ -7946,15 +8105,15 @@ msgstr ""
 "# while Base64 is more efficient for most 8bit East Asian, Greek, and\n"
 "# Russian charsets with a lot of 8bit characters.\n"
 
-#: src/lang.c:2957 src/lang.c:2978
+#: src/lang.c:3019 src/lang.c:3040
 msgid "Don't change unless you know what you are doing. <ESC> cancels."
 msgstr "Don't change unless you know what you are doing. <ESC> cancels."
 
-#: src/lang.c:2958
+#: src/lang.c:3020
 msgid "Use 8bit characters in news headers"
 msgstr "Use 8bit characters in news headers"
 
-#: src/lang.c:2959
+#: src/lang.c:3021
 msgid ""
 "# If ON, 8bit characters in news headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -7966,29 +8125,29 @@ msgstr ""
 "# 8bit chars in header are encoded regardless of the value of this\n"
 "# parameter unless post_mime_encoding is 8bit as well.\n"
 
-#: src/lang.c:2966
+#: src/lang.c:3028
 msgid ""
 "Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 "Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 
-#: src/lang.c:2967
+#: src/lang.c:3029
 msgid "View post-processed files"
 msgstr "View post-processed files"
 
-#: src/lang.c:2968
+#: src/lang.c:3030
 msgid "# If set, post processed files will be opened in a viewer\n"
 msgstr "# If set, post processed files will be opened in a viewer\n"
 
-#: src/lang.c:2973
+#: src/lang.c:3035
 msgid "MIME encoding in mail messages"
 msgstr "MIME encoding in mail messages"
 
-#: src/lang.c:2979
+#: src/lang.c:3041
 msgid "Use 8bit characters in mail headers"
 msgstr "Use 8bit characters in mail headers"
 
-#: src/lang.c:2980
+#: src/lang.c:3042
 msgid ""
 "# If ON, 8bit characters in mail headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -8006,11 +8165,11 @@ msgstr ""
 "# prohibits 8bit characters in mail headers so that you are advised NOT to\n"
 "# turn it ON unless you have some compelling reason.\n"
 
-#: src/lang.c:2991
+#: src/lang.c:3053
 msgid "Strip blanks from ends of lines"
 msgstr "Strip blanks from ends of lines"
 
-#: src/lang.c:2992
+#: src/lang.c:3054
 msgid ""
 "# If ON strip blanks from ends of lines for faster display on slow "
 "terminals.\n"
@@ -8018,15 +8177,15 @@ msgstr ""
 "# If ON strip blanks from ends of lines for faster display on slow "
 "terminals.\n"
 
-#: src/lang.c:2998
+#: src/lang.c:3060
 msgid "If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr "If ON, use transliteration. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2999
+#: src/lang.c:3061
 msgid "Transliteration"
 msgstr "Transliteration"
 
-#: src/lang.c:3000
+#: src/lang.c:3062
 msgid ""
 "# If ON, use //TRANSLIT extension. This means that when a character cannot\n"
 "# be represented in the in the target character set, it can be approximated\n"
@@ -8036,11 +8195,11 @@ msgstr ""
 "# be represented in the in the target character set, it can be approximated\n"
 "# through one or several similarly looking characters.\n"
 
-#: src/lang.c:3008
+#: src/lang.c:3070
 msgid "Send you a Cc/Bcc automatically"
 msgstr "Send you a Cc/Bcc automatically"
 
-#: src/lang.c:3009
+#: src/lang.c:3071
 msgid ""
 "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8056,11 +8215,11 @@ msgstr ""
 "#   2 = Bcc\n"
 "#   3 = Cc and Bcc\n"
 
-#: src/lang.c:3020
+#: src/lang.c:3082
 msgid "Hash algorithm for Cancel-Lock/Cancel-Key"
 msgstr "Hash algorithm for Cancel-Lock/Cancel-Key"
 
-#: src/lang.c:3021
+#: src/lang.c:3083
 msgid ""
 "# Hash algorithm for Cancel-Lock/Cancel-Key (default 'sha1')\n"
 "# Use 'none' to not generate Cancel-Lock headers.\n"
@@ -8068,15 +8227,15 @@ msgstr ""
 "# Hash algorithm for Cancel-Lock/Cancel-Key (default 'sha1')\n"
 "# Use 'none' to not generate Cancel-Lock headers.\n"
 
-#: src/lang.c:3027
+#: src/lang.c:3089
 msgid "Enter address elements about which you want to be warned. <CR> sets."
 msgstr "Enter address elements about which you want to be warned. <CR> sets."
 
-#: src/lang.c:3028
+#: src/lang.c:3090
 msgid "Spamtrap warning address parts"
 msgstr "Spamtrap warning address parts"
 
-#: src/lang.c:3029
+#: src/lang.c:3091
 msgid ""
 "# A comma-delimited list of address-parts you want to be warned\n"
 "# about when trying to reply by email.\n"
@@ -8084,27 +8243,27 @@ msgstr ""
 "# A comma-delimited list of address-parts you want to be warned\n"
 "# about when trying to reply by e-mail.\n"
 
-#: src/lang.c:3034
+#: src/lang.c:3096
 msgid "Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr "Enter default number of days a filter entry will be valid. <CR> sets."
 
-#: src/lang.c:3035
+#: src/lang.c:3097
 msgid "No. of days a filter entry is valid"
 msgstr "No. of days a filter entry is valid"
 
-#: src/lang.c:3036
+#: src/lang.c:3098
 msgid "# Number of days a short term filter will be active\n"
 msgstr "# Number of days a short term filter will be active\n"
 
-#: src/lang.c:3040
+#: src/lang.c:3102
 msgid "Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr "Add posted articles to filter. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:3041
+#: src/lang.c:3103
 msgid "Add posted articles to filter"
 msgstr "Add posted articles to filter"
 
-#: src/lang.c:3042
+#: src/lang.c:3104
 msgid ""
 "# If ON add posted articles which start a new thread to filter for\n"
 "# highlighting follow-ups\n"
@@ -8112,24 +8271,24 @@ msgstr ""
 "# If ON add posted articles which start a new thread to filter for\n"
 "# highlighting follow-ups\n"
 
-#: src/lang.c:3046
+#: src/lang.c:3108
 msgid "The directory where articles/threads are to be saved in mailbox format."
 msgstr ""
 "The directory where articles/threads are to be saved in mailbox format."
 
-#: src/lang.c:3047
+#: src/lang.c:3109
 msgid "Mail directory"
 msgstr "Mail directory"
 
-#: src/lang.c:3048
+#: src/lang.c:3110
 msgid "# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr "# (-m) directory where articles/threads are saved in mailbox format\n"
 
-#: src/lang.c:3053
+#: src/lang.c:3115
 msgid "Save articles in batch mode (-S)"
 msgstr "Save articles in batch mode (-S)"
 
-#: src/lang.c:3054
+#: src/lang.c:3116
 msgid ""
 "# If ON articles/threads will be saved in batch mode when save -S\n"
 "# or mail (-M/-N) is specified on the command line\n"
@@ -8137,19 +8296,19 @@ msgstr ""
 "# If ON articles/threads will be saved in batch mode when save -S\n"
 "# or mail (-M/-N) is specified on the command line\n"
 
-#: src/lang.c:3059
+#: src/lang.c:3121
 msgid "The directory where you want articles/threads saved."
 msgstr "The directory where you want articles/threads saved."
 
-#: src/lang.c:3060
+#: src/lang.c:3122
 msgid "Directory to save arts/threads in"
 msgstr "Directory to save arts/threads in"
 
-#: src/lang.c:3061
+#: src/lang.c:3123
 msgid "# Directory where articles/threads are saved\n"
 msgstr "# Directory where articles/threads are saved\n"
 
-#: src/lang.c:3065
+#: src/lang.c:3127
 msgid ""
 "Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 "cancels."
@@ -8157,23 +8316,23 @@ msgstr ""
 "Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 "cancels."
 
-#: src/lang.c:3066
+#: src/lang.c:3128
 msgid "Mark saved articles/threads as read"
 msgstr "Mark saved articles/threads as read"
 
-#: src/lang.c:3067
+#: src/lang.c:3129
 msgid "# If ON mark articles that are saved as read\n"
 msgstr "# If ON mark articles that are saved as read\n"
 
-#: src/lang.c:3071
+#: src/lang.c:3133
 msgid "Do post processing (e.g. extract attachments) for saved articles."
 msgstr "Do post processing (e.g. extract attachments) for saved articles."
 
-#: src/lang.c:3072
+#: src/lang.c:3134
 msgid "Post process saved articles"
 msgstr "Post process saved articles"
 
-#: src/lang.c:3073
+#: src/lang.c:3135
 msgid ""
 "# Perform post processing (saving binary attachments) from saved articles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8187,11 +8346,11 @@ msgstr ""
 "#   1 = extract shell archives (shar) only\n"
 "#   2 = Yes\n"
 
-#: src/lang.c:3082
+#: src/lang.c:3144
 msgid "Process only unread articles"
 msgstr "Process only unread articles"
 
-#: src/lang.c:3083
+#: src/lang.c:3145
 msgid ""
 "# If ON only save/print/pipe/mail unread articles (tagged articles "
 "excepted)\n"
@@ -8199,21 +8358,21 @@ msgstr ""
 "# If ON only save/print/pipe/mail unread articles (tagged articles "
 "excepted)\n"
 
-#: src/lang.c:3088
+#: src/lang.c:3150
 msgid "Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr "Print all or just part of header. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:3089
+#: src/lang.c:3151
 msgid "Print all headers when printing"
 msgstr "Print all headers when printing"
 
-#: src/lang.c:3090
+#: src/lang.c:3152
 msgid ""
 "# If ON print all of article header otherwise just the important lines\n"
 msgstr ""
 "# If ON print all of article header otherwise just the important lines\n"
 
-#: src/lang.c:3094
+#: src/lang.c:3156
 msgid ""
 "The printer program with options that is to be used to print articles/"
 "threads."
@@ -8221,33 +8380,33 @@ msgstr ""
 "The printer program with options that is to be used to print articles/"
 "threads."
 
-#: src/lang.c:3095
+#: src/lang.c:3157
 msgid "Printer program with options"
 msgstr "Printer program with options"
 
-#: src/lang.c:3096
+#: src/lang.c:3158
 msgid "# Print program with parameters used to print articles/threads\n"
 msgstr "# Print program with parameters used to print articles/threads\n"
 
-#: src/lang.c:3102
+#: src/lang.c:3164
 msgid "Force redraw after certain commands"
 msgstr "Force redraw after certain commands"
 
-#: src/lang.c:3103
+#: src/lang.c:3165
 msgid ""
 "# If ON a screen redraw will always be done after certain external commands\n"
 msgstr ""
 "# If ON a screen redraw will always be done after certain external commands\n"
 
-#: src/lang.c:3107
+#: src/lang.c:3169
 msgid "Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr "Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 
-#: src/lang.c:3108
+#: src/lang.c:3170
 msgid "Invocation of your editor"
 msgstr "Invocation of your editor"
 
-#: src/lang.c:3109
+#: src/lang.c:3171
 msgid ""
 "# Format of editor line including parameters\n"
 "# %E Editor  %F Filename  %N Linenumber\n"
@@ -8255,17 +8414,17 @@ msgstr ""
 "# Format of editor line including parameters\n"
 "# %E Editor  %F Filename  %N Linenumber\n"
 
-#: src/lang.c:3114
+#: src/lang.c:3176
 msgid ""
 "Enter name and options for external-inews, --internal for internal inews"
 msgstr ""
 "Enter name and options for external-inews, --internal for internal inews"
 
-#: src/lang.c:3115
+#: src/lang.c:3177
 msgid "External inews"
 msgstr "External inews"
 
-#: src/lang.c:3116
+#: src/lang.c:3178
 msgid ""
 "# If --internal use the built in mini inews for posting via NNTP\n"
 "# otherwise use an external inews program\n"
@@ -8273,33 +8432,31 @@ msgstr ""
 "# If --internal use the built in mini inews for posting via NNTP\n"
 "# otherwise use an external inews program\n"
 
-#: src/lang.c:3120
+#: src/lang.c:3182
 msgid ""
 "Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr ""
 "Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 
-#: src/lang.c:3121
+#: src/lang.c:3183
 msgid "Invocation of your mail command"
 msgstr "Invocation of your mail command"
 
-#: src/lang.c:3122
+#: src/lang.c:3184
 msgid ""
 "# Format of mailer line including parameters\n"
-"# %M Mailer  %S Subject  %T To  %F Filename\n"
-"# e.g. to use mutt as your mailer:    mutt -s \"%S\" -- \"%T\" < %F\n"
-"# e.g. mutt interactive          :    mutt -H %F\n"
+"# %M Mailer  %S Subject  %T To  %F Filename  %U Username\n"
+"# e.g. mutt interactive:  mutt -H %F\n"
 msgstr ""
 "# Format of mailer line including parameters\n"
-"# %M Mailer  %S Subject  %T To  %F Filename\n"
-"# e.g. to use mutt as your mailer:    mutt -s \"%S\" -- \"%T\" < %F\n"
-"# e.g. mutt interactive          :    mutt -H %F\n"
+"# %M Mailer  %S Subject  %T To  %F Filename  %U Username\n"
+"# e.g. mutt interactive:  mutt -H %F\n"
 
-#: src/lang.c:3130
+#: src/lang.c:3191
 msgid "Use interactive mail reader"
 msgstr "Use interactive mail reader"
 
-#: src/lang.c:3131
+#: src/lang.c:3192
 msgid ""
 "# Interactive mailreader\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8313,33 +8470,33 @@ msgstr ""
 "#   1 = use interactive mailreader with headers in file\n"
 "#   2 = use interactive mailreader without headers in file\n"
 
-#: src/lang.c:3140
+#: src/lang.c:3201
 msgid "Remove ~/.article after posting"
 msgstr "Remove ~/.article after posting"
 
-#: src/lang.c:3141
+#: src/lang.c:3202
 msgid "# If ON remove ~/.article after posting.\n"
 msgstr "# If ON remove ~/.article after posting.\n"
 
-#: src/lang.c:3147
+#: src/lang.c:3208
 msgid "Use UTF-8 graphics (thread tree etc.)"
 msgstr "Use UTF-8 graphics (thread tree etc.)"
 
-#: src/lang.c:3148
+#: src/lang.c:3209
 msgid ""
 "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n"
 msgstr ""
 "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n"
 
-#: src/lang.c:3153
+#: src/lang.c:3214
 msgid "Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr "Filename for all posted articles, <CR> sets, no filename=do not save."
 
-#: src/lang.c:3154
+#: src/lang.c:3215
 msgid "Filename for posted articles"
 msgstr "Filename for posted articles"
 
-#: src/lang.c:3155
+#: src/lang.c:3216
 msgid ""
 "# Filename where to keep all postings (default posted)\n"
 "# If no filename is set then postings will not be saved\n"
@@ -8347,37 +8504,37 @@ msgstr ""
 "# Filename where to keep all postings (default posted)\n"
 "# If no filename is set then postings will not be saved\n"
 
-#: src/lang.c:3160
+#: src/lang.c:3221
 msgid ""
 "Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:3161
+#: src/lang.c:3222
 msgid "Keep failed arts in ~/dead.articles"
 msgstr "Keep failed arts in ~/dead.articles"
 
-#: src/lang.c:3162
+#: src/lang.c:3223
 msgid "# If ON keep all failed postings in ~/dead.articles\n"
 msgstr "# If ON keep all failed postings in ~/dead.articles\n"
 
-#: src/lang.c:3166
+#: src/lang.c:3227
 msgid "Do you want to strip unsubscribed groups from .newsrc"
 msgstr "Do you want to strip unsubscribed groups from .newsrc"
 
-#: src/lang.c:3167
+#: src/lang.c:3228
 msgid "No unsubscribed groups in newsrc"
 msgstr "No unsubscribed groups in newsrc"
 
-#: src/lang.c:3168
+#: src/lang.c:3229
 msgid "# If ON strip unsubscribed groups from newsrc\n"
 msgstr "# If ON strip unsubscribed groups from newsrc\n"
 
-#: src/lang.c:3173
+#: src/lang.c:3234
 msgid "Remove bogus groups from newsrc"
 msgstr "Remove bogus groups from newsrc"
 
-#: src/lang.c:3174
+#: src/lang.c:3235
 msgid ""
 "# What to do with bogus groups in newsrc file\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8391,70 +8548,84 @@ msgstr ""
 "#   1 = remove\n"
 "#   2 = highlight with D on selection screen\n"
 
-#: src/lang.c:3183
+#: src/lang.c:3244
 msgid ""
 "Enter number of seconds to wait for a response from the server. <CR> sets."
 msgstr ""
 "Enter number of seconds to wait for a response from the server. <CR> sets."
 
-#: src/lang.c:3184
+#: src/lang.c:3245
 msgid "NNTP read timeout in seconds"
 msgstr "NNTP read timeout in seconds"
 
-#: src/lang.c:3185
+#: src/lang.c:3246
 msgid ""
 "# Time in seconds to wait for a response from the server (0=no timeout)\n"
 msgstr ""
 "# Time in seconds to wait for a response from the server (0=no timeout)\n"
 
-#: src/lang.c:3190
+#: src/lang.c:3251
 msgid "Enter number of seconds until active file will be reread. <CR> sets."
 msgstr "Enter number of seconds until active file will be reread. <CR> sets."
 
-#: src/lang.c:3191
+#: src/lang.c:3252
 msgid "Interval in secs to reread active"
 msgstr "Interval in secs to reread active"
 
-#: src/lang.c:3192
+#: src/lang.c:3253
 msgid ""
 "# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr ""
 "# Time interval in seconds between rereading the active file (0=never)\n"
 
-#: src/lang.c:3197
+#: src/lang.c:3258
 msgid "Reconnect to server automatically"
 msgstr "Reconnect to server automatically"
 
-#: src/lang.c:3198
+#: src/lang.c:3259
 msgid ""
 "# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr ""
 "# If ON automatically reconnect to NNTP server if the connection is broken\n"
 
-#: src/lang.c:3202
+#: src/lang.c:3263
 msgid ""
 "Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:3203
+#: src/lang.c:3264
 msgid "Cache NNTP overview files locally"
 msgstr "Cache NNTP overview files locally"
 
-#: src/lang.c:3204
+#: src/lang.c:3265
 msgid "# If ON, create local copies of NNTP overview files.\n"
 msgstr "# If ON, create local copies of NNTP overview files.\n"
 
-#: src/lang.c:3208 src/lang.c:3223 src/lang.c:3243 src/lang.c:3266
-#: src/lang.c:3291 src/lang.c:3313 src/lang.c:3332
+#: src/lang.c:3270
+msgid ""
+"Compress local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
+msgstr ""
+"Compress local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
+
+#: src/lang.c:3271
+msgid "Compress locally cached NNTP overview files"
+msgstr "Compress locally cached NNTP overview files"
+
+#: src/lang.c:3272
+msgid "# If ON, compress local copies of NNTP overview files.\n"
+msgstr "# If ON, compress local copies of NNTP overview files.\n"
+
+#: src/lang.c:3277 src/lang.c:3292 src/lang.c:3312 src/lang.c:3335
+#: src/lang.c:3360 src/lang.c:3382 src/lang.c:3401
 msgid "Enter format string. <CR> sets, <ESC> cancels."
 msgstr "Enter format string. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:3209
+#: src/lang.c:3278
 msgid "Format string for selection level"
 msgstr "Format string for selection level"
 
-#: src/lang.c:3210
+#: src/lang.c:3279
 msgid ""
 "# Format string for selection level representation\n"
 "# Default: %f %n %U  %G  %d\n"
@@ -8478,11 +8649,11 @@ msgstr ""
 "#   %n              Number, linenumber on screen\n"
 "#   %U              Unread count\n"
 
-#: src/lang.c:3224
+#: src/lang.c:3293
 msgid "Format string for group level"
 msgstr "Format string for group level"
 
-#: src/lang.c:3225
+#: src/lang.c:3294
 msgid ""
 "# Format string for group level representation\n"
 "# Default: %n %m %R %L  %s  %F\n"
@@ -8516,11 +8687,11 @@ msgstr ""
 "#   %s              Subject (only group level)\n"
 "#   %S              Score\n"
 
-#: src/lang.c:3244
+#: src/lang.c:3313
 msgid "Format string for attachment level"
 msgstr "Format string for attachment level"
 
-#: src/lang.c:3245
+#: src/lang.c:3314
 msgid ""
 "# Format string for attachment level representation\n"
 "# Default: %t%s%e%c%d\n"
@@ -8560,11 +8731,11 @@ msgstr ""
 "#   %Z              Size in bytes\n"
 "#   %z              Like %Z but with description\n"
 
-#: src/lang.c:3267
+#: src/lang.c:3336
 msgid "Format string for display of mime header"
 msgstr "Format string for display of mime header"
 
-#: src/lang.c:3268
+#: src/lang.c:3337
 msgid ""
 "# Format string for mime header at article level\n"
 "# Default: [-- %T%S%*n%z%*l%!c%!d%*e --]\n"
@@ -8608,11 +8779,11 @@ msgstr ""
 "#   %Z              Size in bytes\n"
 "#   %z              Like %Z but with description\n"
 
-#: src/lang.c:3292
+#: src/lang.c:3361
 msgid "Format string for display of uue header"
 msgstr "Format string for display of uue header"
 
-#: src/lang.c:3293
+#: src/lang.c:3362
 msgid ""
 "# Format string for uue header at article level\n"
 "# Default: [-- %T%S%*n%I%!d%*e --]\n"
@@ -8650,11 +8821,11 @@ msgstr ""
 "#   %Z              Size in bytes\n"
 "#   %z              Like %Z but with description\n"
 
-#: src/lang.c:3314
+#: src/lang.c:3383
 msgid "Format string for thread level"
 msgstr "Format string for thread level"
 
-#: src/lang.c:3315
+#: src/lang.c:3384
 msgid ""
 "# Format string for thread level representation\n"
 "# Default: %n %m  [%L]  %T  %F\n"
@@ -8686,19 +8857,19 @@ msgstr ""
 "#   %S              Score\n"
 "#   %T              Thread tree (only thread level)\n"
 
-#: src/lang.c:3333
+#: src/lang.c:3402
 msgid "Format string for display of dates"
 msgstr "Format string for display of dates"
 
-#: src/lang.c:3334
+#: src/lang.c:3403
 msgid "# Format string for date representation\n"
 msgstr "# Format string for date representation\n"
 
-#: src/lang.c:3344
+#: src/lang.c:3413
 msgid "Unicode normalization form"
-msgstr "Unicode normalization form"
+msgstr "Unicode normalisation form"
 
-#: src/lang.c:3345
+#: src/lang.c:3414
 msgid ""
 "# Unicode normalization form\n"
 "# Possible values are:\n"
@@ -8709,7 +8880,7 @@ msgid ""
 "#   4 = NFD\n"
 "#   5 = NFKC_CF\n"
 msgstr ""
-"# Unicode normalization form\n"
+"# Unicode normalisation form\n"
 "# Possible values are:\n"
 "#   0 = None\n"
 "#   1 = NFKC\n"
@@ -8718,19 +8889,19 @@ msgstr ""
 "#   4 = NFD\n"
 "#   5 = NFKC_CF\n"
 
-#: src/lang.c:3359
+#: src/lang.c:3428
 msgid "Render BiDi"
 msgstr "Render BiDi"
 
-#: src/lang.c:3360
+#: src/lang.c:3429
 msgid "# If ON, bi-directional text is rendered by tin\n"
 msgstr "# If ON, bi-directional text is rendered by tin\n"
 
-#: src/lang.c:3367
+#: src/lang.c:3436
 msgid "Function for sorting articles"
 msgstr "Function for sorting articles"
 
-#: src/lang.c:3368
+#: src/lang.c:3437
 msgid ""
 "# Function for sorting articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8742,175 +8913,183 @@ msgstr ""
 "# * 0 = qsort\n"
 "#   1 = heapsort\n"
 
-#: src/lang.c:3381
+#: src/lang.c:3450
 msgid "Automatically GroupMarkUnselArtRead"
 msgstr "Automatically GroupMarkUnselArtRead"
 
-#: src/lang.c:3387
+#: src/lang.c:3456
 msgid "Delete post-process files"
 msgstr "Delete post-process files"
 
-#: src/lang.c:3392
+#: src/lang.c:3461
 msgid "Filename for all mailed articles, <CR> sets, no filename=do not save."
 msgstr "Filename for all mailed articles, <CR> sets, no filename=do not save."
 
-#: src/lang.c:3393
+#: src/lang.c:3462
 msgid "Mailbox to save sent mails"
 msgstr "Mailbox to save sent mails"
 
-#: src/lang.c:3398
+#: src/lang.c:3467
 msgid "Set Followup-To: header to this group(s). <CR> sets, <ESC> cancels."
 msgstr "Set Followup-To: header to this group(s). <CR> sets, <ESC> cancels."
 
-#: src/lang.c:3399
+#: src/lang.c:3468
 msgid "Followup-To: header"
 msgstr "Followup-To: header"
 
-#: src/lang.c:3404
+#: src/lang.c:3473
 msgid "Enter default mail address (and fullname). <CR> sets, <ESC> cancels."
 msgstr "Enter default mail address (and fullname). <CR> sets, <ESC> cancels."
 
-#: src/lang.c:3411
+#: src/lang.c:3480
 msgid ""
 "Path and options for ispell-like spell-checker. <CR> sets, <ESC> cancels."
 msgstr ""
 "Path and options for ispell-like spell-checker. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:3412
+#: src/lang.c:3481
 msgid "Ispell program"
 msgstr "Ispell program"
 
-#: src/lang.c:3418
+#: src/lang.c:3487
 msgid "When group is a mailing list, send responses to this email address."
 msgstr "When group is a mailing list, send responses to this e-mail address."
 
-#: src/lang.c:3419
+#: src/lang.c:3488
 msgid "Mailing list address"
 msgstr "Mailing list address"
 
-#: src/lang.c:3425
+#: src/lang.c:3494
 msgid "Forward articles as attachment"
 msgstr "Forward articles as attachment"
 
-#: src/lang.c:3430
+#: src/lang.c:3499
 msgid ""
 "A comma separated list of MIME major/minor Content-Types. <ESC> cancels."
 msgstr ""
 "A comma separated list of MIME major/minor Content-Types. <ESC> cancels."
 
-#: src/lang.c:3431
+#: src/lang.c:3500
 msgid "Which MIME types will be saved"
 msgstr "Which MIME types will be saved"
 
-#: src/lang.c:3436
+#: src/lang.c:3505
 msgid "Value of the Organization: header. <CR> sets, <ESC> cancels."
 msgstr "Value of the Organisation: header. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:3437
+#: src/lang.c:3506
 msgid "Organization: header"
 msgstr "Organisation: header"
 
-#: src/lang.c:3442
+#: src/lang.c:3511
 msgid "Filename for saved articles. <CR> sets, <ESC> cancels."
 msgstr "Filename for saved articles. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:3443
+#: src/lang.c:3512
 msgid "savefile"
 msgstr "savefile"
 
-#: src/lang.c:3448 src/lang.c:3472
+#: src/lang.c:3517 src/lang.c:3541
 msgid "Scope for the filter rule. <CR> sets, <ESC> cancels."
 msgstr "Scope for the filter rule. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:3449
+#: src/lang.c:3518
 msgid "Quick (1 key) select filter scope"
 msgstr "Quick (1 key) select filter scope"
 
-#: src/lang.c:3454 src/lang.c:3478
+#: src/lang.c:3523 src/lang.c:3547
 msgid "Header for filter rule. <CR> sets, <ESC> cancels."
 msgstr "Header for filter rule. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:3455
+#: src/lang.c:3524
 msgid "Quick (1 key) select filter header"
 msgstr "Quick (1 key) select filter header"
 
-#: src/lang.c:3460 src/lang.c:3484
+#: src/lang.c:3529 src/lang.c:3553
 msgid "ON = case sensitive, OFF = ignore case. <CR> sets, <ESC> cancels."
 msgstr "ON = case sensitive, OFF = ignore case. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:3461
+#: src/lang.c:3530
 msgid "Quick (1 key) select filter case"
 msgstr "Quick (1 key) select filter case"
 
-#: src/lang.c:3466 src/lang.c:3490
+#: src/lang.c:3535 src/lang.c:3559
 msgid "ON = expire, OFF = don't ever expire. <CR> sets, <ESC> cancels."
 msgstr "ON = expire, OFF = don't ever expire. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:3467
+#: src/lang.c:3536
 msgid "Quick (1 key) select filter expire"
 msgstr "Quick (1 key) select filter expire"
 
-#: src/lang.c:3473
+#: src/lang.c:3542
 msgid "Quick (1 key) kill filter scope"
 msgstr "Quick (1 key) kill filter scope"
 
-#: src/lang.c:3479
+#: src/lang.c:3548
 msgid "Quick (1 key) kill filter header"
 msgstr "Quick (1 key) kill filter header"
 
-#: src/lang.c:3485
+#: src/lang.c:3554
 msgid "Quick (1 key) kill filter case"
 msgstr "Quick (1 key) kill filter case"
 
-#: src/lang.c:3491
+#: src/lang.c:3560
 msgid "Quick (1 key) kill filter expire"
 msgstr "Quick (1 key) kill filter expire"
 
-#: src/lang.c:3497
+#: src/lang.c:3566
 msgid "Assume this charset if no charset declaration is present, <CR> to set."
 msgstr "Assume this charset if no charset declaration is present, <CR> to set."
 
-#: src/lang.c:3498
+#: src/lang.c:3567
 msgid "UNDECLARED_CHARSET"
 msgstr "UNDECLARED_CHARSET"
 
-#: src/lang.c:3504
+#: src/lang.c:3572
+msgid "Guess charset if no charset declaration is present, <CR> to set."
+msgstr "Guess charset if no charset declaration is present, <CR> to set."
+
+#: src/lang.c:3573
+msgid "UNDECLARED_CS_GUESS"
+msgstr "UNDECLARED_CS_GUESS"
+
+#: src/lang.c:3580
 msgid ""
 "Add this text at the start of the message body. <CR> sets, <ESC> cancels."
 msgstr ""
 "Add this text at the start of the message body. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:3505
+#: src/lang.c:3581
 msgid "X_Body"
 msgstr "X_Body"
 
-#: src/lang.c:3510
+#: src/lang.c:3586
 msgid "Insert this header when posting. <CR> sets, <ESC> cancels."
 msgstr "Insert this header when posting. <CR> sets, <ESC> cancels."
 
-#: src/lang.c:3511
+#: src/lang.c:3587
 msgid "X_Headers"
 msgstr "X_Headers"
 
-#: src/lang.c:3516
+#: src/lang.c:3592
 msgid ""
 "Automatically insert an X-Comment-To: header? <SPACE> toggles & <CR> sets."
 msgstr ""
 "Automatically insert an X-Comment-To: header? <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:3517
+#: src/lang.c:3593
 msgid "Insert 'X-Comment-To:' header"
 msgstr "Insert 'X-Comment-To:' header"
 
-#: src/lang.c:3523
+#: src/lang.c:3599
 msgid "Enter name of file containing trusted CA certificates. <CR> sets."
 msgstr "Enter name of file containing trusted CA certificates. <CR> sets."
 
-#: src/lang.c:3524
+#: src/lang.c:3600
 msgid "CA certificate file"
 msgstr "CA certificate file"
 
-#: src/lang.c:3525
+#: src/lang.c:3601
 msgid ""
 "# name of file containing all trusted CA certificates (empty = system "
 "default)\n"
@@ -8918,7 +9097,7 @@ msgstr ""
 "# name of file containing all trusted CA certificates (empty = system "
 "default)\n"
 
-#: src/nntplib.c:908
+#: src/nntplib.c:963
 #, c-format
 msgid ""
 "\n"
@@ -8927,28 +9106,28 @@ msgstr ""
 "\n"
 "Server timed out, trying reconnect # %d\n"
 
-#: src/nntplib.c:950 src/nntplib.c:2032
+#: src/nntplib.c:1006 src/nntplib.c:2115
 msgid "Rejoin current group\n"
 msgstr "Rejoin current group\n"
 
-#: src/nntplib.c:959 src/nntplib.c:2041
+#: src/nntplib.c:1015 src/nntplib.c:2124
 #, c-format
 msgid "Read (%s)\n"
 msgstr "Read (%s)\n"
 
-#: src/nntplib.c:961
+#: src/nntplib.c:1017
 #, c-format
 msgid "Resend last command (%s)\n"
 msgstr "Resend last command (%s)\n"
 
-#: src/read.c:363
+#: src/read.c:358
 msgid "Aborted read\n"
 msgstr "Aborted read\n"
 
-#: src/read.c:418
+#: src/read.c:413
 msgid "Draining\n"
 msgstr "Draining\n"
 
-#: src/refs.c:656
+#: src/refs.c:654
 msgid "[- Unavailable -]"
 msgstr "[- Unavailable -]"
Binary files tin-2.6.3/po/es.gmo and tin-2.6.4/po/es.gmo differ
diff -Nurp '--exclude=.bzr*' tin-2.6.3/po/es.po tin-2.6.4/po/es.po
--- tin-2.6.3/po/es.po	2023-12-24 00:38:36.000000000 +0100
+++ tin-2.6.4/po/es.po	2024-12-21 15:42:03.352734518 +0100
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tin 2.4.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-12-13 22:25+0100\n"
+"POT-Creation-Date: 2024-12-21 15:42+0100\n"
 "PO-Revision-Date: 2018-04-19 13:04+0200\n"
 "Last-Translator: Francisco Javier Serrador <fserrador@gmail.com>\n"
 "Language-Team: Spanish <es@tp.org.es>\n"
@@ -19,53 +19,53 @@ msgstr ""
 "X-Generator: Poedit 2.0.4\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/lang.c:45
+#: src/lang.c:48
 #, fuzzy
 msgid "1 Response"
 msgstr "Respuesta"
 
-#: src/lang.c:49
+#: src/lang.c:50
 #, fuzzy, c-format
 msgid ""
 "\n"
 "%s contains no newsgroups. Exiting."
 msgstr "El fichero `%s' (versiÃ³n %d) contiene:\n"
 
-#: src/lang.c:51
+#: src/lang.c:52
 #, fuzzy
 msgid "Aborting read, please wait..."
 msgstr "Enviando fichero por correo.  Por favor espere..."
 
-#: src/lang.c:53
+#: src/lang.c:54
 msgid "all"
 msgstr "todo"
 
-#: src/lang.c:54
+#: src/lang.c:55
 #, fuzzy
 msgid "All groups"
-msgstr "Retiene todos los grupos suplementarios de cual usuario es un miembro."
+msgstr "Todos los grupos"
 
-#: src/lang.c:55
+#: src/lang.c:56
 #, fuzzy, c-format
 msgid "File %s exists. %s=append, %s=overwrite, %s=quit: "
 msgstr "El fichero %s ya existe. Â¿Seguro que desea sobrescribirlo?"
 
-#: src/lang.c:56
+#: src/lang.c:57
 #, fuzzy
 msgid "Article cancelled (deleted)."
 msgstr "Â¡Â¡Â¡Cancelada!!!"
 
-#: src/lang.c:58
+#: src/lang.c:59
 #, fuzzy
 msgid "Article cannot be cancelled (deleted)."
 msgstr "Una vez que aÃ±ade una destreza, no podrÃ¡ borrarla"
 
-#: src/lang.c:60
+#: src/lang.c:61
 #, fuzzy
 msgid "Article deleted."
 msgstr "[BORRADO]"
 
-#: src/lang.c:61
+#: src/lang.c:62
 #, c-format
 msgid ""
 "\n"
@@ -75,7 +75,7 @@ msgid ""
 "  %s"
 msgstr ""
 
-#: src/lang.c:62
+#: src/lang.c:63
 #, c-format
 msgid ""
 "\n"
@@ -84,151 +84,156 @@ msgid ""
 "will be posted to the following %s:\n"
 msgstr ""
 
-#: src/lang.c:63
+#: src/lang.c:64
 #, fuzzy
 msgid "Article not posted!"
 msgstr "Publicado en "
 
-#: src/lang.c:64
+#: src/lang.c:65
 #, fuzzy
 msgid "Article not saved"
 msgstr "guardado"
 
-#: src/lang.c:65
+#: src/lang.c:66
 #, fuzzy
 msgid "Article Level Commands"
 msgstr " Ã³rdenes:\n"
 
-#: src/lang.c:66
+#: src/lang.c:67
 #, fuzzy
 msgid "Article has no parent"
 msgstr "Artefacto $s ya tiene un superior"
 
-#: src/lang.c:67
+#: src/lang.c:68
 msgid "Parent article has been killed"
 msgstr ""
 
-#: src/lang.c:68
+#: src/lang.c:69
 #, fuzzy
 msgid "Parent article is unavailable"
 msgstr "ArtÃ­culo definido requerido"
 
-#: src/lang.c:69
+#: src/lang.c:70
 #, fuzzy, c-format
 msgid "Article posted: %s"
 msgstr "Factura %s contabilizada.\n"
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, fuzzy, c-format
 msgid "Article rejected (saved to %s)"
 msgstr "Mantener %s en la versiÃ³n %s es rechazado."
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid ""
 "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: "
 msgstr ""
 
-#: src/lang.c:72
+#: src/lang.c:73
 #, fuzzy
 msgid "Article unavailable"
 msgstr "NO DISPONIBLE"
 
-#: src/lang.c:73
+#: src/lang.c:74
 #, fuzzy
 msgid "Article undeleted."
 msgstr "ArtÃ­culo definido requerido"
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, fuzzy, c-format
 msgid "Article %4d of %4d"
 msgstr "estado # %4d\t"
 
-#: src/lang.c:76
+#: src/lang.c:77
+#, fuzzy
+msgid "Article Info Page"
+msgstr "guardado"
+
+#: src/lang.c:78
 #, fuzzy
 msgid "articles"
 msgstr "ArtÃ­culos"
 
-#: src/lang.c:77
+#: src/lang.c:79
 #, fuzzy
 msgid "This is a repost of the following article:"
 msgstr "No necesita utilizar el artÃ­culo definido"
 
-#: src/lang.c:78
+#: src/lang.c:80
 #, fuzzy
 msgid "article"
 msgstr "ArtÃ­culo definido requerido"
 
-#: src/lang.c:79
+#: src/lang.c:81
 #, fuzzy
 msgid "Article"
 msgstr "ArtÃ­culo definido requerido"
 
-#: src/lang.c:80
+#: src/lang.c:82
 #, fuzzy, c-format
 msgid "-- %d %s mailed --"
 msgstr "Ãšltimo correo de id_usuario"
 
-#: src/lang.c:81
+#: src/lang.c:83
 #, c-format
 msgid " at %s"
 msgstr ""
 
-#: src/lang.c:84
+#: src/lang.c:86
 #, fuzzy, c-format
 msgid "charset %s"
 msgstr "Conjunto de caracteres:"
 
-#: src/lang.c:85
+#: src/lang.c:87
 #, c-format
 msgid "content subtype %s"
 msgstr ""
 
-#: src/lang.c:86
+#: src/lang.c:88
 #, c-format
 msgid "content type %s"
 msgstr ""
 
-#: src/lang.c:87
+#: src/lang.c:89
 #, fuzzy, c-format
 msgid "%*s[-- charset %s not supported --]\n"
 msgstr "Â«%sÂ» no se admite en `%s%s'"
 
-#: src/lang.c:88
+#: src/lang.c:90
 #, fuzzy, c-format
 msgid "%*s[-- Description: %s --]\n"
 msgstr "descripciÃ³n no vÃ¡lida: ~s"
 
-#: src/lang.c:89
+#: src/lang.c:91
 #, fuzzy, c-format
 msgid "encoding %s"
 msgstr "error al abrir %s"
 
-#: src/lang.c:95
+#: src/lang.c:97
 #, fuzzy, c-format
 msgid "lang %s"
 msgstr "Leyendo %s\n"
 
-#: src/lang.c:96
+#: src/lang.c:98
 #, fuzzy, c-format
 msgid "%s lines"
 msgstr "%d LÃ­neas"
 
-#: src/lang.c:97
+#: src/lang.c:99
 #, fuzzy, c-format
 msgid "name %s"
 msgstr "<Sin nombre>"
 
-#: src/lang.c:98
+#: src/lang.c:100
 msgid ", "
 msgstr ""
 
-#: src/lang.c:99
+#: src/lang.c:101
 #, c-format
 msgid "size %s"
 msgstr ""
 
-#: src/lang.c:100
+#: src/lang.c:102
 msgid ""
 "This message has been composed in the 'multipart/mixed' MIME-format. If you\n"
 "are reading this prefix, your mail reader probably has not yet been "
@@ -237,484 +242,492 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:104
+#: src/lang.c:106
 #, fuzzy
 msgid "Attachment Menu"
 msgstr "Adjuntos"
 
-#: src/lang.c:105
+#: src/lang.c:107
 #, fuzzy
 msgid "Attachment Menu Commands"
 msgstr "Adjuntos"
 
-#: src/lang.c:106
+#: src/lang.c:108
 #, fuzzy
 msgid "<no name>"
 msgstr "<Sin nombre>"
 
-#: src/lang.c:107
+#: src/lang.c:109
 #, fuzzy, c-format
 msgid "Attachment saved successfully. (%s)"
 msgstr "Adjunto borrado correctamente."
 
-#: src/lang.c:108
+#: src/lang.c:110
 #, fuzzy, c-format
 msgid "%d of %d attachments saved successfully."
 msgstr "D-Mod desinstalado exitosamente"
 
-#: src/lang.c:109
+#: src/lang.c:111
 #, fuzzy
 msgid "Select attachment> "
 msgstr "Adjuntos"
 
-#: src/lang.c:110
+#: src/lang.c:112
 #, fuzzy
 msgid "Tagged attachment"
 msgstr "Adjuntos"
 
-#: src/lang.c:111
+#: src/lang.c:113
 #, fuzzy, c-format
 msgid "%d attachments tagged"
 msgstr "Adjuntos"
 
-#: src/lang.c:112
+#: src/lang.c:114
 #, fuzzy
 msgid "Untagged attachment"
 msgstr "Adjuntos"
 
-#: src/lang.c:115
+#: src/lang.c:117
 msgid ""
 "# Do not edit this comment block\n"
 "#\n"
 msgstr ""
 
-#: src/lang.c:116
+#: src/lang.c:118
 msgid "#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr ""
 
-#: src/lang.c:117
+#: src/lang.c:119
 msgid "#  add_posted_to_filter=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:118
+#: src/lang.c:120
 msgid "#  advertising=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:119
+#: src/lang.c:121
 msgid "#  alternative_handling=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:120
+#: src/lang.c:122
 msgid "#  ask_for_metamail=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:121
+#: src/lang.c:123
 msgid "#  auto_cc_bcc=NUM\n"
 msgstr ""
 
-#: src/lang.c:122
+#: src/lang.c:124
 msgid "#    0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n"
 msgstr ""
 
-#: src/lang.c:123
+#: src/lang.c:125
 msgid "#  auto_list_thread=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:124
+#: src/lang.c:126
 msgid "#  auto_select=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:125
+#: src/lang.c:127
 msgid "#  batch_save=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:126
+#: src/lang.c:128
 msgid "#  date_format=STRING (eg. %a, %d %b %Y %H:%M:%S)\n"
 msgstr ""
 
-#: src/lang.c:127
+#: src/lang.c:129
 msgid "#  delete_tmp_files=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:128
+#: src/lang.c:130
 msgid "#  editor_format=STRING (eg. %E +%N %F)\n"
 msgstr ""
 
-#: src/lang.c:129
+#: src/lang.c:131
 msgid "#  fcc=STRING (eg. =mailbox)\n"
 msgstr ""
 
-#: src/lang.c:130
+#: src/lang.c:132
 msgid "#  followup_to=STRING\n"
 msgstr ""
 
-#: src/lang.c:131
+#: src/lang.c:133
 msgid "#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr ""
 
-#: src/lang.c:132
+#: src/lang.c:134
 msgid "#  group_catchup_on_exit=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:133
+#: src/lang.c:135
 msgid "#  group_format=STRING (eg. %n %m %R %L  %s  %F)\n"
 msgstr ""
 
-#: src/lang.c:134
+#: src/lang.c:136
 msgid "#  mail_8bit_header=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:135
+#: src/lang.c:137
 msgid "#  mail_mime_encoding=supported_encoding"
 msgstr ""
 
-#: src/lang.c:137
+#: src/lang.c:139
 msgid "#  ispell=STRING\n"
 msgstr ""
 
-#: src/lang.c:139
+#: src/lang.c:141
 msgid "#  maildir=STRING (eg. ~/Mail)\n"
 msgstr ""
 
-#: src/lang.c:140
+#: src/lang.c:142
 msgid "#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr ""
 
-#: src/lang.c:141
+#: src/lang.c:143
 msgid "#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr ""
 
-#: src/lang.c:142
+#: src/lang.c:144
 msgid "#  mark_ignore_tags=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:143
+#: src/lang.c:145
 msgid "#  mark_saved_read=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:144
+#: src/lang.c:146
 msgid "#  mime_forward=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:146
+#: src/lang.c:148
 msgid "#  mm_network_charset=supported_charset"
 msgstr ""
 
-#: src/lang.c:147
+#: src/lang.c:149
 msgid "#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr ""
 
-#: src/lang.c:149
+#: src/lang.c:151
+msgid "#  undeclared_cs_guess=ON/OFF (default is OFF)\n"
+msgstr ""
+
+#: src/lang.c:154
 msgid "#  news_headers_to_display=STRING\n"
 msgstr ""
 
-#: src/lang.c:150
+#: src/lang.c:155
 msgid "#  news_headers_to_not_display=STRING\n"
 msgstr ""
 
-#: src/lang.c:151
+#: src/lang.c:156
 msgid "#  news_quote_format=STRING\n"
 msgstr ""
 
-#: src/lang.c:152
+#: src/lang.c:157
 msgid "#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr ""
 
-#: src/lang.c:153
+#: src/lang.c:158
 msgid "#  pos_first_unread=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:154
+#: src/lang.c:159
 msgid "#  post_8bit_header=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:155
+#: src/lang.c:160
 msgid "#  post_mime_encoding=supported_encoding"
 msgstr ""
 
-#: src/lang.c:156
+#: src/lang.c:161
 msgid "#  post_process_type=NUM\n"
 msgstr ""
 
-#: src/lang.c:157
+#: src/lang.c:162
 msgid "#  post_process_view=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:158
+#: src/lang.c:163
 msgid "#  quick_kill_scope=STRING (e.g. talk.*)\n"
 msgstr ""
 
-#: src/lang.c:159
+#: src/lang.c:164
 msgid "#  quick_kill_expire=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:160
+#: src/lang.c:165
 msgid "#  quick_kill_case=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:161
+#: src/lang.c:166
 msgid "#  quick_kill_header=NUM\n"
 msgstr ""
 
-#: src/lang.c:162 src/lang.c:171
+#: src/lang.c:167 src/lang.c:176
 msgid "#    0=Subject: (case sensitive)  1=Subject: (ignore case)\n"
 msgstr ""
 
-#: src/lang.c:163 src/lang.c:172
+#: src/lang.c:168 src/lang.c:177
 msgid "#    2=From: (case sensitive)     3=From: (ignore case)\n"
 msgstr ""
 
-#: src/lang.c:164 src/lang.c:173
+#: src/lang.c:169 src/lang.c:178
 msgid "#    4=Message-ID: & full References: line\n"
 msgstr ""
 
-#: src/lang.c:165 src/lang.c:174
+#: src/lang.c:170 src/lang.c:179
 msgid "#    5=Message-ID: & last References: entry only\n"
 msgstr ""
 
-#: src/lang.c:166 src/lang.c:175
+#: src/lang.c:171 src/lang.c:180
 msgid "#    6=Message-ID: entry only     7=Lines:\n"
 msgstr ""
 
-#: src/lang.c:167
+#: src/lang.c:172
 msgid "#  quick_select_scope=STRING\n"
 msgstr ""
 
-#: src/lang.c:168
+#: src/lang.c:173
 msgid "#  quick_select_expire=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:169
+#: src/lang.c:174
 msgid "#  quick_select_case=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:170
+#: src/lang.c:175
 msgid "#  quick_select_header=NUM\n"
 msgstr ""
 
-#: src/lang.c:176
+#: src/lang.c:181
 msgid "#  quote_chars=STRING (%I for initials)\n"
 msgstr ""
 
-#: src/lang.c:178
+#: src/lang.c:183
 msgid "#  print_header=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:180
+#: src/lang.c:185
 msgid "#  process_only_unread=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:181
+#: src/lang.c:186
 msgid "#  prompt_followupto=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:182
+#: src/lang.c:187
 msgid "#  savedir=STRING (eg. ~user/News)\n"
 msgstr ""
 
-#: src/lang.c:183
+#: src/lang.c:188
 msgid "#  savefile=STRING (eg. =linux)\n"
 msgstr ""
 
-#: src/lang.c:184
+#: src/lang.c:189
 msgid "#  sigfile=STRING (eg. $var/sig)\n"
 msgstr ""
 
-#: src/lang.c:185
+#: src/lang.c:190
 msgid "#  show_author=NUM\n"
 msgstr ""
 
-#: src/lang.c:186
+#: src/lang.c:191
 msgid "#  show_signatures=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:187
+#: src/lang.c:192
 msgid "#  show_art_score=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:189
+#: src/lang.c:194
 msgid "#  suppress_soft_hyphens=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:191
+#: src/lang.c:196
 msgid "#  show_only_unread_arts=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:192
+#: src/lang.c:197
 msgid "#  sigdashes=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:193
+#: src/lang.c:198
 msgid "#  signature_repost=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:194
+#: src/lang.c:199
 msgid "#  sort_article_type=NUM\n"
 msgstr ""
 
-#: src/lang.c:195
+#: src/lang.c:200
 msgid "#  sort_threads_type=NUM\n"
 msgstr ""
 
-#: src/lang.c:196
+#: src/lang.c:201
 msgid "#  tex2iso_conv=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:197
+#: src/lang.c:202
 msgid "#  thread_catchup_on_exit=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:198
+#: src/lang.c:203
 msgid "#  thread_articles=NUM"
 msgstr ""
 
-#: src/lang.c:199
+#: src/lang.c:204
 msgid "#  thread_format=STRING (eg. %n %m [%L]  %T  %F)\n"
 msgstr ""
 
-#: src/lang.c:200
+#: src/lang.c:205
 msgid "#  thread_perc=NUM\n"
 msgstr ""
 
-#: src/lang.c:201
+#: src/lang.c:206
 msgid "#  trim_article_body=NUM\n"
 msgstr ""
 
-#: src/lang.c:202
+#: src/lang.c:207
 msgid "#    0 = Don't trim article body\n"
 msgstr ""
 
-#: src/lang.c:203
+#: src/lang.c:208
 msgid "#    1 = Skip leading blank lines\n"
 msgstr ""
 
-#: src/lang.c:204
+#: src/lang.c:209
 msgid "#    2 = Skip trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:205
+#: src/lang.c:210
 msgid "#    3 = Skip leading and trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:206
+#: src/lang.c:211
 msgid "#    4 = Compact multiple blank lines between text blocks\n"
 msgstr ""
 
-#: src/lang.c:207
+#: src/lang.c:212
 msgid ""
 "#    5 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading blank lines\n"
 msgstr ""
 
-#: src/lang.c:208
+#: src/lang.c:213
 msgid ""
 "#    6 = Compact multiple blank lines between text blocks and skip\n"
 "#        trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:209
+#: src/lang.c:214
 msgid ""
 "#    7 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading and trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:210
+#: src/lang.c:215
 msgid "#  verbatim_handling=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:212
+#: src/lang.c:217
 msgid "#  extquote_handling=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:214
+#: src/lang.c:219
 msgid "#  wrap_on_next_unread=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:215
+#: src/lang.c:220
 msgid "#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr ""
 
-#: src/lang.c:216
+#: src/lang.c:221
 msgid "#  x_comment_to=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:217
+#: src/lang.c:222
 msgid "#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr ""
 
-#: src/lang.c:218
+#: src/lang.c:223
 msgid ""
 "#\n"
 "# Note that it is best to put general (global scoping)\n"
 msgstr ""
 
-#: src/lang.c:219
+#: src/lang.c:224
 msgid ""
 "# entries first followed by group specific entries.\n"
 "#\n"
 msgstr ""
 
-#: src/lang.c:220
+#: src/lang.c:225
 msgid "############################################################################\n"
 msgstr ""
 
-#: src/lang.c:221
+#: src/lang.c:226
 #, fuzzy
 msgid "Attributes Menu Commands"
 msgstr "menÃº"
 
-#: src/lang.c:222
+#: src/lang.c:227
 #, fuzzy, c-format
 msgid "attribute with no scope: %s"
 msgstr "  Atributo desconocido GNU: %s\n"
 
-#: src/lang.c:224
+#: src/lang.c:229
 #, fuzzy, c-format
 msgid "%d Authentication failed"
 msgstr "AutenticaciÃ³n fallada"
 
-#: src/lang.c:225
+#: src/lang.c:230
 #, c-format
 msgid "NNTP authorization password not found for %s"
 msgstr ""
 
-#: src/lang.c:226
+#: src/lang.c:231
 #, fuzzy
 msgid "Server expects authentication.\n"
 msgstr "AutenticaciÃ³n servidor finalizada (cliente confiado)â€¦\n"
 
-#: src/lang.c:227
+#: src/lang.c:232
 #, fuzzy
 msgid "    Please enter password: "
 msgstr "Introducir ContraseÃ±a"
 
-#: src/lang.c:228
+#: src/lang.c:233
 #, fuzzy
 msgid "    Please enter username: "
 msgstr ""
 "Por favor, introduzca su nombre de usuario y contraseÃ±a para el buzÃ³n '%s'"
 
-#: src/lang.c:229
+#: src/lang.c:234
 #, fuzzy, c-format
 msgid "Authorized for user: %s\n"
 msgstr "Autorizado el"
 
-#: src/lang.c:230
+#: src/lang.c:235
 #, fuzzy, c-format
 msgid "Authorization failed for user: %s\n"
 msgstr "AutorizaciÃ³n fallada.  Â¿Reintento?"
 
-#: src/lang.c:232
+#: src/lang.c:236
+msgid "No supported authorization method available in current state!\n"
+msgstr ""
+
+#: src/lang.c:238
 #, fuzzy, c-format
 msgid "Author search backwards [%s]> "
 msgstr "Buscar hacia atrÃ¡s: "
 
-#: src/lang.c:233
+#: src/lang.c:239
 #, fuzzy, c-format
 msgid "Author search forwards [%s]> "
 msgstr "Buscar hacia adelante"
 
-#: src/lang.c:234
+#: src/lang.c:240
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -723,201 +736,205 @@ msgstr ""
 "\n"
 " %s: "
 
-#: src/lang.c:235
+#: src/lang.c:241
 #, fuzzy
 msgid "Autosubscribing groups...\n"
 msgstr " grupos="
 
-#: src/lang.c:236
+#: src/lang.c:242
 #, c-format
 msgid "Autoselecting articles (use '%s' to see all unread) ..."
 msgstr ""
 
-#: src/lang.c:238
+#: src/lang.c:244
 #, c-format
 msgid ""
 "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 msgstr ""
 
-#: src/lang.c:239
+#: src/lang.c:246
 #, fuzzy, c-format
 msgid "Unrecognized attribute: %s"
 msgstr "Atributo Â«%sÂ» no reconocido"
 
-#: src/lang.c:240
+#: src/lang.c:248
 #, fuzzy, c-format
 msgid "Bad command. Type '%s' for help."
 msgstr "orden desconocidoa - Â«%.*sÂ», intente ayuda"
 
-#: src/lang.c:242
+#: src/lang.c:249
 #, fuzzy
 msgid "Base article"
 msgstr ", Base: "
 
-#: src/lang.c:243
+#: src/lang.c:250
 #, fuzzy
 msgid "Base article range"
 msgstr "bit,base estÃ¡ fuera de lÃ­mite para el sÃ­mbolo"
 
-#: src/lang.c:244
+#: src/lang.c:251
 #, c-format
 msgid "%s: Updating of index files not supported: cache_overview_files=%s"
 msgstr ""
 
-#: src/lang.c:245
+#: src/lang.c:252
 #, fuzzy
 msgid "*** Beginning of article ***"
 msgstr "ningÃºn periodo permitido al principio de la sinopsis"
 
-#: src/lang.c:246
+#: src/lang.c:253
 #, fuzzy
 msgid "*** Beginning of page ***"
 msgstr "empezando el: "
 
-#: src/lang.c:248
-msgid "bytes"
-msgstr "bytes"
-
-#: src/lang.c:251
+#: src/lang.c:255
 #, c-format
 msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr ""
 
-#: src/lang.c:252
+#: src/lang.c:256
 #, fuzzy
 msgid "Cancelling article..."
 msgstr ""
 "\n"
 "Cancelando...\n"
 
-#: src/lang.c:254
+#: src/lang.c:258
 #, fuzzy, c-format
 msgid "Cannot create %s"
 msgstr "no se puede crear %s: %s\n"
 
-#: src/lang.c:257
+#: src/lang.c:261
 #, fuzzy, c-format
 msgid "Can't find base article %d"
 msgstr "error: no puede encontrar sÃ­mbolo: __SDA_BASE_."
 
-#: src/lang.c:259
+#: src/lang.c:263
 #, fuzzy, c-format
 msgid "Can't open %s"
 msgstr "no se puede abrir %s"
 
-#: src/lang.c:260
+#: src/lang.c:264
 #, fuzzy, c-format
 msgid "Couldn't open %s for saving"
 msgstr "No se puede abrir %s para escritura\n"
 
-#: src/lang.c:261
+#: src/lang.c:265
 #, fuzzy
 msgid "*** Posting not allowed ***"
 msgstr "EstarÃ¡ publicando a:"
 
-#: src/lang.c:262
+#: src/lang.c:266
 #, fuzzy, c-format
 msgid "Posting is not allowed to %s"
 msgstr "PublicaciÃ³n Fallida"
 
-#: src/lang.c:264
+#: src/lang.c:268
 #, fuzzy, c-format
 msgid "Can't retrieve %s"
 msgstr "no puedo consultar %s: %s\n"
 
-#: src/lang.c:266
+#: src/lang.c:270
 msgid "Can't supersede in mailgroups, try repost instead."
 msgstr ""
 
-#: src/lang.c:267
+#: src/lang.c:271
 #, fuzzy, c-format
 msgid "%s is a directory"
 msgstr "%s: es un directorio"
 
-#: src/lang.c:268
+#: src/lang.c:272
 msgid "Catchup"
 msgstr ""
 
-#: src/lang.c:269
+#: src/lang.c:273
 #, fuzzy, c-format
 msgid "Catchup %s..."
 msgstr ""
 "\n"
 " %s: "
 
-#: src/lang.c:270
+#: src/lang.c:274
 msgid "Catchup all groups entered during this session?"
 msgstr ""
 
-#: src/lang.c:271
+#: src/lang.c:275
 msgid "You have tagged articles in this group - catchup anyway?"
 msgstr ""
 
-#: src/lang.c:272
+#: src/lang.c:276
 #, fuzzy, c-format
 msgid "%s %d %s in %lu seconds\n"
 msgstr "durmiendo en %s por %d segundos\n"
 
-#: src/lang.c:273
+#: src/lang.c:277
 msgid "Caughtup"
 msgstr ""
 
-#: src/lang.c:274
+#: src/lang.c:278
 #, fuzzy
 msgid "Check Prepared Article"
 msgstr "Preparado para: "
 
-#: src/lang.c:275
+#: src/lang.c:279
 #, fuzzy
 msgid "Checking for new groups... "
 msgstr "Comprobando un nuevo disco\n"
 
-#: src/lang.c:276
+#: src/lang.c:280
 #, fuzzy
 msgid "Checking for news...\n"
 msgstr " comprobando..."
 
-#: src/lang.c:277
+#: src/lang.c:281
 #, c-format
 msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr ""
 
-#: src/lang.c:279
+#: src/lang.c:283
 #, fuzzy
 msgid "ANSI color disabled"
 msgstr "Color"
 
-#: src/lang.c:280
+#: src/lang.c:284
 #, fuzzy
 msgid "ANSI color enabled"
 msgstr "Activado"
 
-#: src/lang.c:282
+#: src/lang.c:286
 #, fuzzy, c-format
 msgid "Command failed: %s"
 msgstr "Orden fallada: %s\n"
 
-#: src/lang.c:284
+#: src/lang.c:288
 #, fuzzy
 msgid "Mark not selected articles read?"
 msgstr "Marca buzones leÃ­dos"
 
-#: src/lang.c:285
+#: src/lang.c:289
 #, fuzzy
 msgid "Connection Info"
 msgstr "ConexiÃ³n verificada a %s (cert=%s)"
 
-#: src/lang.c:286
+#: src/lang.c:290
 #, fuzzy
 msgid "Reading from local spool.\n"
 msgstr "error leyendo desde `%s'"
 
-#: src/lang.c:287
+#: src/lang.c:291
 #, fuzzy
 msgid "Reading saved news.\n"
 msgstr "Leyendo %s\n"
 
-#: src/lang.c:295
+#: src/lang.c:292
+#, fuzzy
+msgid ""
+"\n"
+"Configuration files:\n"
+"--------------------\n"
+msgstr "Operaciones"
+
+#: src/lang.c:300
 #, fuzzy
 msgid ""
 "\n"
@@ -925,11 +942,11 @@ msgid ""
 "-------------------\n"
 msgstr "      Propiedades: "
 
-#: src/lang.c:300
+#: src/lang.c:305
 msgid "COMPRESS      :"
 msgstr ""
 
-#: src/lang.c:301
+#: src/lang.c:306
 #, fuzzy
 msgid ""
 "\n"
@@ -937,82 +954,87 @@ msgid ""
 "-------------------\n"
 msgstr "Operaciones"
 
-#: src/lang.c:303
+#: src/lang.c:308
 #, c-format
 msgid " DEFLATE %s\n"
 msgstr ""
 
-#: src/lang.c:304
+#: src/lang.c:309
 msgid "(enabled)"
 msgstr ""
 
-#: src/lang.c:305
+#: src/lang.c:310
 msgid "(inactive)"
 msgstr ""
 
-#: src/lang.c:307
+#: src/lang.c:312
 msgid " DEFLATE (not supported)\n"
 msgstr ""
 
-#: src/lang.c:310
+#: src/lang.c:315
 msgid "(disabled)"
 msgstr ""
 
-#: src/lang.c:311
+#: src/lang.c:316
 #, c-format
 msgid "NNTP TIMEOUT  : %d seconds %s\n"
 msgstr ""
 
-#: src/lang.c:313
+#: src/lang.c:318
 #, c-format
 msgid "IMPLEMENTATION: %s\n"
 msgstr ""
 
-#: src/lang.c:315
+#: src/lang.c:320
 #, c-format
 msgid "MAXARTNUM     : %s\n"
 msgstr ""
 
-#: src/lang.c:317
+#: src/lang.c:322
 #, fuzzy, c-format
 msgid "Reading via NNTP (%s).\n"
 msgstr "No leÃ­do"
 
-#: src/lang.c:318
+#: src/lang.c:323
 #, c-format
 msgid "NNTPPORT      : %u\n"
 msgstr ""
 
-#: src/lang.c:319
+#: src/lang.c:324
 #, fuzzy
 msgid "read only"
 msgstr "*** Tiene correo no leÃ­do. ***"
 
-#: src/lang.c:320
+#: src/lang.c:325
 msgid "read/write"
 msgstr ""
 
-#: src/lang.c:321
+#: src/lang.c:326
 #, c-format
 msgid "NNTPSERVER    : %s\n"
 msgstr ""
 
-#: src/lang.c:323
+#: src/lang.c:327
+#, c-format
+msgid "CONNECTIONTYPE: %s\n"
+msgstr ""
+
+#: src/lang.c:329
 #, fuzzy, c-format
 msgid "Reading %s via NNTPS (%s; "
 msgstr "No leÃ­do"
 
-#: src/lang.c:325
+#: src/lang.c:330
 #, fuzzy, c-format
 msgid "Certificate #%d\n"
 msgstr "Edite el contenido de su fichero"
 
-#: src/lang.c:327
+#: src/lang.c:332
 #, c-format
 msgid "Issuer : %s\n"
 msgstr ""
 
-#: src/lang.c:328
+#: src/lang.c:333
 #, fuzzy
 msgid ""
 "\n"
@@ -1020,12 +1042,12 @@ msgid ""
 "-------------------------------\n"
 msgstr "Deshacer la Ãºltima operaciÃ³n o grupo de operaciones sobre los paquetes"
 
-#: src/lang.c:329
+#: src/lang.c:334
 #, fuzzy, c-format
 msgid "Subject: %s\n"
 msgstr "Asunto"
 
-#: src/lang.c:330
+#: src/lang.c:335
 #, fuzzy
 msgid ""
 "\n"
@@ -1033,158 +1055,163 @@ msgid ""
 "----------------\n"
 msgstr "Operaciones"
 
-#: src/lang.c:333
+#: src/lang.c:336
+msgid "trusted"
+msgstr ""
+
+#: src/lang.c:337
+msgid "untrusted"
+msgstr ""
+
+#: src/lang.c:339
 msgid "UNEXPECTED, possible BUG"
 msgstr ""
 
-#: src/lang.c:334
+#: src/lang.c:340
 msgid "tolerated as \"-k\" (insecure) requested"
 msgstr ""
 
-#: src/lang.c:335
+#: src/lang.c:341
 #, c-format
 msgid ""
 "Server certificate verification FAILED:\n"
 "\t%s (%s)\n"
 msgstr ""
 
-#: src/lang.c:336
+#: src/lang.c:342
 #, fuzzy
 msgid "Server certificate verified successfully.\n"
 msgstr "Fichero subido con Ã©xito"
 
-#: src/lang.c:338
-msgid "trusted"
-msgstr ""
-
-#: src/lang.c:339
-msgid "untrusted"
-msgstr ""
-
-#: src/lang.c:342
+#: src/lang.c:346
 msgid "Server certificate verification FAILED: <can't get reason>\n"
 msgstr ""
 
-#: src/lang.c:346
+#: src/lang.c:350
 #, c-format
 msgid "%s %s (strength %d)\n"
 msgstr ""
 
-#: src/lang.c:353
+#: src/lang.c:357
 #, c-format
 msgid "Cook article failed, %s is exiting"
 msgstr ""
 
-#: src/lang.c:354
+#: src/lang.c:358
 #, fuzzy
 msgid "<CR>"
 msgstr "CR o DB"
 
-#: src/lang.c:355
+#: src/lang.c:359
 msgid "Creating active file for saved groups...\n"
 msgstr ""
 
-#: src/lang.c:356
-#, fuzzy
-msgid "Creating newsrc file...\n"
+#: src/lang.c:360
+#, fuzzy, c-format
+msgid "Creating %s file...\n"
 msgstr "Se crea el fichero de biblioteca: %s"
 
-#: src/lang.c:358 src/lang.c:1666 src/lang.c:1686
+#: src/lang.c:362 src/lang.c:1715 src/lang.c:1735
 msgid "Default"
 msgstr "Predeterminado"
 
-#: src/lang.c:359
+#: src/lang.c:363
 msgid "Delete saved files that have been post processed?"
 msgstr ""
 
-#: src/lang.c:360
+#: src/lang.c:364
 #, fuzzy
 msgid "Deleting temporary files..."
 msgstr "Se borra el fichero base temporal %s"
 
-#: src/lang.c:362
+#: src/lang.c:366
 #, fuzzy
 msgid "*** End of article ***"
 msgstr "ArtÃ­culo definido requerido"
 
-#: src/lang.c:363
+#: src/lang.c:367
 #, fuzzy
 msgid "*** End of articles ***"
 msgstr ""
 "\n"
 "NingÃºn artÃ­culo dentro de este grupo.\n"
 
-#: src/lang.c:364
+#: src/lang.c:368
 #, fuzzy
 msgid "*** End of attachments ***"
 msgstr "Adjuntos"
 
-#: src/lang.c:365
+#: src/lang.c:369
 #, fuzzy
 msgid "*** End of groups ***"
 msgstr " grupos="
 
-#: src/lang.c:366
+#: src/lang.c:370
 #, fuzzy
 msgid "*** End of page ***"
 msgstr "NO A FIN-DE-PÃGINA antes que A FIN-DE-PÃGINA"
 
-#: src/lang.c:367
+#: src/lang.c:371
 #, fuzzy
 msgid "*** End of posted articles ***"
 msgstr ""
 "\n"
 "NingÃºn artÃ­culo dentro de este grupo.\n"
 
-#: src/lang.c:368
+#: src/lang.c:372
 #, fuzzy
 msgid "*** End of scopes ***"
 msgstr "Â¿Es Ã©ste el final?"
 
-#: src/lang.c:369
+#: src/lang.c:373
 #, fuzzy
 msgid "*** End of thread ***"
 msgstr "Hilo"
 
-#: src/lang.c:370
+#: src/lang.c:374
 #, fuzzy
 msgid "*** End of URLs ***"
 msgstr "URLS"
 
-#: src/lang.c:371
+#: src/lang.c:375
 #, fuzzy
 msgid "Enter limit of articles to get> "
 msgstr "Introduzca el nuevo lÃ­mite de Ã¡rbol de paquetes:"
 
-#: src/lang.c:372
+#: src/lang.c:376
 #, fuzzy
 msgid "Enter Message-ID to go to> "
 msgstr "No se pudo obtener el id del mensaje"
 
-#: src/lang.c:373
+#: src/lang.c:377
 #, fuzzy
 msgid " and enter next unread thread"
 msgstr "La obtenciÃ³n del siguiente thread_id fallÃ³"
 
-#: src/lang.c:374
+#: src/lang.c:378
 msgid " and enter next unread article"
 msgstr ""
 
-#: src/lang.c:375
+#: src/lang.c:379
 msgid " and enter next unread group"
 msgstr ""
 
-#: src/lang.c:376
+#: src/lang.c:380
 #, fuzzy
 msgid "Enter option number> "
 msgstr "Introduzca el nÃºmero de transacciÃ³n, como el nÃºmero de comprobaciÃ³n"
 
-#: src/lang.c:377
+#: src/lang.c:381
 #, fuzzy, c-format
 msgid "Enter range [%s]> "
 msgstr "Introduzca contraseÃ±a para %s@%s: "
 
-#: src/lang.c:378
+#: src/lang.c:382
+#, fuzzy, c-format
+msgid "Error: Could not appended %s to %s"
+msgstr "no se puede renombrar %s a %s"
+
+#: src/lang.c:383
 #, fuzzy
 msgid ""
 "\n"
@@ -1194,212 +1221,244 @@ msgstr ""
 "la fuente entrante completa para este fichero se ha utilizado; usted puede "
 "necesitar resolver conflictos manualmente"
 
-#: src/lang.c:382
-msgid ""
-"\n"
-"Error: Bad address in Approved: header.\n"
+#: src/lang.c:384
+#, c-format
+msgid "  Line %d: \"%s\": given string too long.\n"
 msgstr ""
 
-#: src/lang.c:383
-#, fuzzy
-msgid ""
-"\n"
-"Error: Bad address in From: header.\n"
-msgstr "error al leer cabecera de paquete\n"
+#: src/lang.c:385
+#, fuzzy, c-format
+msgid "  Line %d: \"%s\": unrecognized attribute.\n"
+msgstr "Atributo Â«%sÂ» no reconocido"
 
-#: src/lang.c:384
-msgid ""
-"\n"
-"Error: Bad FQDN in Message-ID: header.\n"
+#: src/lang.c:386
+#, c-format
+msgid "  Line %d: \"%s\": malformed line, '=' missing.\n"
 msgstr ""
 
-#: src/lang.c:385
+#: src/lang.c:390
+#, fuzzy, c-format
 msgid ""
 "\n"
-"Error: Bad address in Reply-To: header.\n"
-msgstr ""
+"Error: Bad address in \"%s\" header.\n"
+msgstr "Cabecera equivocada/ilegible"
 
-#: src/lang.c:386
-#, fuzzy
+#: src/lang.c:391
 msgid ""
 "\n"
-"Error: Bad address in To: header.\n"
-msgstr "Cabecera equivocada/ilegible"
+"Error: Bad FQDN in Message-ID: header.\n"
+msgstr ""
+
+#: src/lang.c:393
+#, fuzzy, c-format
+msgid "Can't use literal IPv%d-address %s with TLS (-T)"
+msgstr "DirecciÃ³n personal para correo"
 
-#: src/lang.c:388
+#: src/lang.c:396
 #, fuzzy, c-format
 msgid "Can't unlock %s"
 msgstr "pthread_mutex_unlock fallado: %s"
 
-#: src/lang.c:389
+#: src/lang.c:397
 #, c-format
 msgid "Couldn't dotlock %s - article not appended!"
 msgstr ""
 
-#: src/lang.c:390
+#: src/lang.c:398
 #, c-format
 msgid "Couldn't lock %s - article not appended!"
 msgstr ""
 
-#: src/lang.c:393
+#: src/lang.c:401
 #, c-format
 msgid ""
 "Server requires authentication but compression (-C) is already active.\n"
 "Restart %s with -A cmd.-line switch in conjunction with -C.\n"
 msgstr ""
 
-#: src/lang.c:396
+#: src/lang.c:404
 #, fuzzy, c-format
 msgid "Corrupted file %s"
 msgstr "fichero Â«%sÂ» indexado estÃ¡ corrompido"
 
-#: src/lang.c:397
+#: src/lang.c:406
 #, fuzzy, c-format
 msgid "couldn't expand %s\n"
 msgstr "Expandir"
 
-#: src/lang.c:399
+#: src/lang.c:408
+#, c-format
+msgid "Error: Custom format empty. Using default \"%s\"."
+msgstr ""
+
+#: src/lang.c:409
+#, fuzzy
+msgid ""
+"\n"
+"Error: Article is empty.\n"
+msgstr ""
+"\n"
+"error: El artÃ­culo estÃ¡ vacÃ­o.\n"
+
+#: src/lang.c:411
 msgid ""
 "\n"
 "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n"
 msgstr ""
 
-#: src/lang.c:400
+#: src/lang.c:412
 #, c-format
 msgid "Error: Custom format exceeds screen width. Using default \"%s\"."
 msgstr ""
 
-#: src/lang.c:401
+#: src/lang.c:413
 msgid "Internal error in GNKSA routine - send bug report.\n"
 msgstr ""
 
-#: src/lang.c:402
+#: src/lang.c:414
 msgid "Left angle bracket missing in route address.\n"
 msgstr ""
 
-#: src/lang.c:403
+#: src/lang.c:415
 msgid "Left parenthesis missing in old-style address.\n"
 msgstr ""
 
-#: src/lang.c:404
+#: src/lang.c:416
 msgid "Right parenthesis missing in old-style address.\n"
 msgstr ""
 
-#: src/lang.c:405
+#: src/lang.c:417
 #, fuzzy
 msgid "At-sign missing in mail address.\n"
 msgstr "DirecciÃ³n personal para correo"
 
-#: src/lang.c:406
+#: src/lang.c:418
+#, fuzzy
+msgid "Right angle bracket missing in route address.\n"
+msgstr "DirecciÃ³n personal para correo"
+
+#: src/lang.c:419
 msgid "Single component FQDN is not allowed. Add your domain.\n"
 msgstr ""
 
-#: src/lang.c:407
+#: src/lang.c:420
 msgid ""
 "Invalid domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
 msgstr ""
 
-#: src/lang.c:408
+#: src/lang.c:421
 msgid ""
 "Illegal domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
 msgstr ""
 
-#: src/lang.c:409
+#: src/lang.c:422
 msgid ""
 "Unknown domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
 msgstr ""
 
-#: src/lang.c:410
+#: src/lang.c:423
 #, fuzzy
 msgid "Illegal character in FQDN.\n"
 msgstr "Hay un carÃ¡cter ilegal en el nombre."
 
-#: src/lang.c:411
+#: src/lang.c:424
 msgid "Zero length FQDN component not allowed.\n"
 msgstr ""
 
-#: src/lang.c:412
+#: src/lang.c:425
 msgid "FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr ""
 
-#: src/lang.c:413
+#: src/lang.c:426
 msgid "FQDN component may not start or end with hyphen.\n"
 msgstr ""
 
-#: src/lang.c:414
+#: src/lang.c:427
 msgid "FQDN component may not start with digit.\n"
 msgstr ""
 
-#: src/lang.c:415
+#: src/lang.c:428
 msgid "Domain literal has impossible numeric value.\n"
 msgstr ""
 
-#: src/lang.c:416
+#: src/lang.c:429
 msgid ""
 "Domain literal is for private use only and not allowed for global use.\n"
 msgstr ""
 
-#: src/lang.c:417
+#: src/lang.c:430
 msgid "Right bracket missing in domain literal.\n"
 msgstr ""
 
-#: src/lang.c:418
+#: src/lang.c:431
 #, fuzzy
 msgid "Missing localpart of mail address.\n"
 msgstr "DirecciÃ³n personal para correo"
 
-#: src/lang.c:419
+#: src/lang.c:432
 msgid "Illegal character in localpart of mail address.\n"
 msgstr ""
 
-#: src/lang.c:420
+#: src/lang.c:433
 msgid "Zero length localpart component not allowed.\n"
 msgstr ""
 
-#: src/lang.c:421
+#: src/lang.c:434
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
 msgstr ""
 
-#: src/lang.c:422
+#: src/lang.c:435
 msgid ""
 "Illegal character in realname.\n"
 "Quoted words may not contain '()<>\\'.\n"
 msgstr ""
 
-#: src/lang.c:423
+#: src/lang.c:436
 msgid ""
 "Illegal character in realname.\n"
 "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
 msgstr ""
 
-#: src/lang.c:424
+#: src/lang.c:437
 msgid "Bad syntax in encoded word used in realname.\n"
 msgstr ""
 
-#: src/lang.c:425
+#: src/lang.c:438
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '()<>\\' in old-style addresses.\n"
 msgstr ""
 
-#: src/lang.c:426
+#: src/lang.c:439
 msgid ""
 "Illegal character in realname.\n"
 "Control characters and unencoded 8bit characters > 127 are not allowed.\n"
 msgstr ""
 
-#: src/lang.c:427
+#: src/lang.c:440
+#, fuzzy
+msgid "Missing realname.\n"
+msgstr "Directorio de ImportaciÃ³n [partes de .idata]"
+
+#: src/lang.c:441
 msgid ""
 "\n"
 "Error: No blank line found after header.\n"
 msgstr ""
 
-#: src/lang.c:428
+#: src/lang.c:442
+#, fuzzy
+msgid ""
+"\n"
+"Error: Illegal Distribution \"all\" used.\n"
+msgstr "La opciÃ³n de nÃºmero formateado como moneda es %s."
+
+#: src/lang.c:443
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -1407,7 +1466,7 @@ msgid ""
 msgstr "La opciÃ³n de nÃºmero formateado como moneda es %s."
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:430
+#: src/lang.c:445
 msgid ""
 "\n"
 "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
@@ -1416,7 +1475,7 @@ msgid ""
 "       editing tinrc.\n"
 msgstr ""
 
-#: src/lang.c:435
+#: src/lang.c:450
 msgid ""
 "\n"
 "Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
@@ -1426,13 +1485,13 @@ msgid ""
 "       using the M)enu of configurable options or by editing tinrc.\n"
 msgstr ""
 
-#: src/lang.c:441
+#: src/lang.c:456
 msgid ""
 "\n"
 "Error: Article starts with blank line instead of header\n"
 msgstr ""
 
-#: src/lang.c:442
+#: src/lang.c:457
 #, c-format
 msgid ""
 "\n"
@@ -1440,28 +1499,28 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/lang.c:443
+#: src/lang.c:458
 #, fuzzy, c-format
 msgid ""
 "\n"
 "Error: The \"%s:\" line is empty.\n"
 msgstr "error: el fichero de entrada '%s' estÃ¡ vacÃ­o"
 
-#: src/lang.c:444
+#: src/lang.c:459
 #, c-format
 msgid ""
 "\n"
 "Error: The \"%s:\" line is missing from the article header.\n"
 msgstr ""
 
-#: src/lang.c:445
+#: src/lang.c:460
 #, c-format
 msgid ""
 "\n"
 "Error: %s contains non 7bit chars.\n"
 msgstr ""
 
-#: src/lang.c:446
+#: src/lang.c:461
 #, c-format
 msgid ""
 "\n"
@@ -1469,14 +1528,14 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/lang.c:447
+#: src/lang.c:462
 #, fuzzy, c-format
 msgid ""
 "\n"
 "Error: There are multiple (%d) \"%s:\" lines in the header.\n"
 msgstr "error(%d) obteniendo cabecera #%d registra para %s desinstalar\n"
 
-#: src/lang.c:448
+#: src/lang.c:463
 #, c-format
 msgid ""
 "\n"
@@ -1484,149 +1543,165 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/lang.c:450
+#: src/lang.c:464
+msgid ""
+"\n"
+"Error: This is a mailgroup, but a recipient (\"To:\") is missing.\n"
+msgstr ""
+
+#: src/lang.c:465
+#, c-format
+msgid "Mixed up '-f'/'-F'? %s %s"
+msgstr ""
+
+#: src/lang.c:467
 #, fuzzy, c-format
 msgid "Insecure permissions of %s (%o)"
 msgstr "NT_386_IOPERM (permisos E/S x86)"
 
-#: src/lang.c:453
+#: src/lang.c:470
 #, c-format
 msgid "Line %d is longer than %d octets and should be folded.\n"
 msgstr ""
 
-#: src/lang.c:455
+#: src/lang.c:472
 #, c-format
 msgid "Line %d is longer than %d octets and should be shortened.\n"
 msgstr ""
 
-#: src/lang.c:461
+#: src/lang.c:477
 #, c-format
-msgid "MIME parse error: Unexpected end of %s/%s article"
+msgid "MIME parse error: Unexpected end of %s/%s article\n"
 msgstr ""
 
-#: src/lang.c:462
-msgid "MIME parse error: Start boundary whilst reading headers"
+#: src/lang.c:478
+msgid "MIME parse error: Start boundary whilst reading headers\n"
 msgstr ""
 
-#: src/lang.c:464
+#: src/lang.c:479
 #, fuzzy
 msgid ""
 "\n"
 "Error: \"poster\" is not allowed in Newsgroups!\n"
 msgstr "error: no puede reiniciar, operaciÃ³n no permitida\n"
 
-#: src/lang.c:465
+#: src/lang.c:480
 msgid "Can't get a (fully-qualified) domain-name!"
 msgstr ""
 
-#: src/lang.c:466
-#, fuzzy, c-format
-msgid "No permissions to go into %s\n"
-msgstr "se conservan los permisos de %s"
-
-#: src/lang.c:468
+#: src/lang.c:482
 #, fuzzy
 msgid ""
 "\n"
 "Error: From: line missing.\n"
 msgstr "DSO faltante desde lÃ­nea de orden"
 
-#: src/lang.c:470
+#: src/lang.c:485
+#, fuzzy, c-format
+msgid "No permissions to go into %s\n"
+msgstr "se conservan los permisos de %s"
+
+#: src/lang.c:486
 #, fuzzy, c-format
 msgid "No read permissions for %s\n"
 msgstr "se conservan los permisos de %s"
 
-#: src/lang.c:471
+#: src/lang.c:487
 #, fuzzy, c-format
 msgid "File %s does not exist\n"
 msgstr "Fichero %s no existe"
 
-#: src/lang.c:472
+#: src/lang.c:488
 #, fuzzy, c-format
 msgid "No write permissions for %s\n"
 msgstr "%s: permisos no establecidos: %s\n"
 
-#: src/lang.c:473
+#: src/lang.c:490
+#, fuzzy, c-format
+msgid "Not a literal IPv6 address: %s"
+msgstr "DirecciÃ³n personal para correo"
+
+#: src/lang.c:493
 msgid "Can't get user information (/etc/passwd missing?)"
 msgstr ""
 
-#: src/lang.c:475
+#: src/lang.c:495
 #, fuzzy
 msgid "errors"
 msgstr "Errores"
 
-#: src/lang.c:476
+#: src/lang.c:496
 #, fuzzy
 msgid "error"
-msgstr "ERROR"
+msgstr "error"
 
-#: src/lang.c:479
+#: src/lang.c:499
 #, c-format
 msgid ""
 "\n"
 "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n"
 msgstr ""
 
-#: src/lang.c:481
+#: src/lang.c:501
 #, c-format
 msgid "Server has non of the groups listed in %s"
 msgstr ""
 
-#: src/lang.c:482
+#: src/lang.c:502
 #, c-format
 msgid "Error: unlink %s"
 msgstr ""
 
-#: src/lang.c:483
+#: src/lang.c:503
 #, fuzzy
 msgid "Unknown display level"
 msgstr "desconoce nivel %s ISA"
 
-#: src/lang.c:485
+#: src/lang.c:505
 #, fuzzy
 msgid "Unreachable?\n"
 msgstr "estado %s no alcanzable desde %s"
 
-#: src/lang.c:487
+#: src/lang.c:507
 #, fuzzy
 msgid "<ESC>"
 msgstr "<Esc> o CTRL-x    Abortar MODO BUSQUEDA"
 
-#: src/lang.c:488
+#: src/lang.c:508
 #, fuzzy
 msgid "Exiting..."
 msgstr "Saliendo"
 
-#: src/lang.c:489
+#: src/lang.c:509
 msgid "leaving external mail-reader"
 msgstr ""
 
-#: src/lang.c:490
+#: src/lang.c:510
 #, fuzzy, c-format
 msgid "Extracting %s..."
 msgstr "x - extrayendo< %s %s"
 
-#: src/lang.c:492
+#: src/lang.c:512
 #, c-format
 msgid "Error writing %s file. Filesystem full? File reset to previous state."
 msgstr ""
 
-#: src/lang.c:493
+#: src/lang.c:513
 #, c-format
 msgid "Error making backup of %s file. Filesystem full?"
 msgstr ""
 
-#: src/lang.c:494
+#: src/lang.c:514
 #, fuzzy, c-format
 msgid "Filtering global rules (%d/%d) ('q' to quit)..."
 msgstr "demasiadas reglas (> %d)!"
 
-#: src/lang.c:495
+#: src/lang.c:515
 #, fuzzy
 msgid "Rule created by: "
 msgstr "creado"
 
-#: src/lang.c:496
+#: src/lang.c:516
 msgid ""
 "# Format:\n"
 "#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
@@ -1661,1196 +1736,1201 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:522
+#: src/lang.c:542
 #, c-format
 msgid "Enter score for rule (default=%d): "
 msgstr ""
 
-#: src/lang.c:523
+#: src/lang.c:543
 #, c-format
 msgid "Enter the score weight (range 0 < score <= %d)"
 msgstr ""
 
 #. SCORE_MAX
-#: src/lang.c:524
+#: src/lang.c:544
 msgid "Full"
 msgstr "Llena"
 
-#: src/lang.c:525
+#: src/lang.c:545
 #, fuzzy
 msgid "Comment (optional)  : "
 msgstr "opcional"
 
-#: src/lang.c:527
+#: src/lang.c:547
 msgid "Malformed overview entry: servername missing."
 msgstr ""
 
-#: src/lang.c:528
+#: src/lang.c:548
 #, c-format
 msgid "\t Xref: %s"
 msgstr ""
 
-#: src/lang.c:529
+#: src/lang.c:549
 msgid "Skipping Xref filter"
 msgstr ""
 
-#: src/lang.c:531
+#: src/lang.c:551
 #, fuzzy
 msgid "Apply pattern to    : "
 msgstr "PatrÃ³n"
 
-#: src/lang.c:532
+#: src/lang.c:552
 #, fuzzy, c-format
 msgid "Enter pattern [%s]> "
 msgstr "glob PATTERN(s) a excluir"
 
-#: src/lang.c:533
+#: src/lang.c:553
 #, c-format
 msgid ""
 "\n"
 "You requested followups to your article to go to the following %s:\n"
 msgstr ""
 
-#: src/lang.c:534
+#: src/lang.c:554
 #, c-format
 msgid "  %s\t Answers will be directed to you by mail.\n"
 msgstr ""
 
-#: src/lang.c:535
+#: src/lang.c:555
 #, fuzzy
 msgid "-- forwarded message --\n"
 msgstr "  Los mensajes se reenviarÃ¡n con %cMTP a:"
 
-#: src/lang.c:536
+#: src/lang.c:556
 #, fuzzy
 msgid "-- end of forwarded message --\n"
 msgstr "  Los mensajes se reenviarÃ¡n con %cMTP a:"
 
-#: src/lang.c:537
+#: src/lang.c:557
 #, fuzzy
 msgid "From: line (ignore case)      "
 msgstr ""
 "  -i,  --ignore-case      ignora las diferencias entre mayÃºsculas y "
 "minÃºsculas\n"
 
-#: src/lang.c:538
+#: src/lang.c:558
 #, fuzzy
 msgid "From: line (case sensitive)   "
 msgstr "distinguir mayÃºsculas"
 
-#: src/lang.c:541
+#: src/lang.c:561
 #, fuzzy, c-format
 msgid "%s%s: Unknown host.\n"
 msgstr "nombre hospedante desconocido %s"
 
-#: src/lang.c:543
+#: src/lang.c:563
 #, fuzzy
 msgid "global "
 msgstr "Global "
 
-#: src/lang.c:544
+#: src/lang.c:564
 #, fuzzy, c-format
 msgid "Please use %.100s instead"
 msgstr "utilice la comando \"aegis -dbu\" en lugar de otro"
 
-#: src/lang.c:545
+#: src/lang.c:565
 #, fuzzy, c-format
 msgid "%s is bogus"
 msgstr "aviso: %s: ignorando nombre espurio de fichero"
 
-#: src/lang.c:546
+#: src/lang.c:566
 #, fuzzy, c-format
 msgid "Group %s is moderated. Continue?"
 msgstr "NingÃºn foro es moderado en este grupo"
 
-#: src/lang.c:547
+#: src/lang.c:567
 #, fuzzy
 msgid "groups"
 msgstr "GRUPOS"
 
-#: src/lang.c:548
+#: src/lang.c:568
 #, fuzzy, c-format
 msgid "Rereading %s..."
 msgstr ""
 "\n"
 " %s: "
 
-#: src/lang.c:549
+#: src/lang.c:569
 #, fuzzy
 msgid "Top Level Commands"
 msgstr "directorio raÃ­z"
 
-#: src/lang.c:550
+#: src/lang.c:570
 #, fuzzy
 msgid "Group Selection"
 msgstr "SelecciÃ³n de gÃ©nero"
 
-#: src/lang.c:551
+#: src/lang.c:571
 #, fuzzy
 msgid "group"
 msgstr "Grupo"
 
-#: src/lang.c:552
+#: src/lang.c:572
 msgid ""
 "*** Group descriptions are disabled according to current select_format ***"
 msgstr ""
 
-#: src/lang.c:554
+#: src/lang.c:574
 msgid ""
 "One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr ""
 
-#: src/lang.c:555
+#: src/lang.c:575
 msgid "From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:556
+#: src/lang.c:576
 msgid ""
 "Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr ""
 
-#: src/lang.c:557
+#: src/lang.c:577
 msgid "Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:558
+#: src/lang.c:578
 msgid "Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:559
+#: src/lang.c:579
 msgid ""
 "Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr ""
 
-#: src/lang.c:560
+#: src/lang.c:580
 msgid ""
 "Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:561
+#: src/lang.c:581
 msgid ""
 "Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:562
+#: src/lang.c:582
 msgid ""
 "Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:563
+#: src/lang.c:583
 msgid ""
 "Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:564
+#: src/lang.c:584
 msgid "kill an article via a menu"
 msgstr ""
 
-#: src/lang.c:565
+#: src/lang.c:585
 msgid "auto-select (hot) an article via a menu"
 msgstr ""
 
-#: src/lang.c:566
+#: src/lang.c:586
 #, fuzzy
 msgid "Browse URLs in article"
 msgstr "Examinar por"
 
-#: src/lang.c:567
+#: src/lang.c:587
 msgid "0 - 9\t  display article by number in current thread"
 msgstr ""
 
-#: src/lang.c:569
+#: src/lang.c:589
 msgid "cancel (delete) or supersede (overwrite) current article"
 msgstr ""
 
-#: src/lang.c:570
+#: src/lang.c:590
 msgid "post followup to current article"
 msgstr ""
 
-#: src/lang.c:571
+#: src/lang.c:591
 msgid "post followup (don't copy text) to current article"
 msgstr ""
 
-#: src/lang.c:572
+#: src/lang.c:592
 msgid "post followup to current article quoting complete headers"
 msgstr ""
 
-#: src/lang.c:573
+#: src/lang.c:593
 msgid "repost chosen article to another group"
 msgstr ""
 
-#: src/lang.c:575
+#: src/lang.c:595
 msgid "edit article (mail-groups only)"
 msgstr ""
 
-#: src/lang.c:576
+#: src/lang.c:596
 msgid "display first article in current thread"
 msgstr ""
 
-#: src/lang.c:577
+#: src/lang.c:597
 #, fuzzy
 msgid "display first page of article"
 msgstr "No necesita para el primer artÃ­culo definido"
 
-#: src/lang.c:578
+#: src/lang.c:598
+#, fuzzy
+msgid "show MIME details of this article"
+msgstr "ArtÃ­culo definido requerido"
+
+#: src/lang.c:599
 msgid "display last article in current thread"
 msgstr ""
 
-#: src/lang.c:579
+#: src/lang.c:600
 #, fuzzy
 msgid "display last page of article"
 msgstr "Vista pÃ¡gina: ningÃºn grÃ¡fico a enseÃ±ar."
 
-#: src/lang.c:580
+#: src/lang.c:601
 msgid "mark rest of thread as read and advance to next unread"
 msgstr ""
 
-#: src/lang.c:581
+#: src/lang.c:602
 #, fuzzy
 msgid "display next article"
 msgstr "Ver siguiente pantalla"
 
-#: src/lang.c:582
+#: src/lang.c:603
 msgid "display first article in next thread"
 msgstr ""
 
-#: src/lang.c:583
+#: src/lang.c:604
 #, fuzzy
 msgid "display next unread article"
 msgstr "Ver siguiente pantalla"
 
-#: src/lang.c:584
+#: src/lang.c:605
 msgid "go to the article that this one followed up"
 msgstr ""
 
-#: src/lang.c:585
+#: src/lang.c:606
 #, fuzzy
 msgid "display previous article"
 msgstr "Ver pantalla anterior"
 
-#: src/lang.c:586
+#: src/lang.c:607
 #, fuzzy
 msgid "display previous unread article"
 msgstr "Ver pantalla anterior"
 
-#: src/lang.c:587
+#: src/lang.c:608
 msgid "quickly kill an article using defaults"
 msgstr ""
 
-#: src/lang.c:588
+#: src/lang.c:609
 msgid "quickly auto-select (hot) an article using defaults"
 msgstr ""
 
-#: src/lang.c:589
+#: src/lang.c:610
 msgid "return to group selection level"
 msgstr ""
 
-#: src/lang.c:590
+#: src/lang.c:611
 msgid "reply through mail to author"
 msgstr ""
 
-#: src/lang.c:591
+#: src/lang.c:612
 msgid "reply through mail (don't copy text) to author"
 msgstr ""
 
-#: src/lang.c:592
+#: src/lang.c:613
 msgid "reply through mail to author quoting complete headers"
 msgstr ""
 
-#: src/lang.c:593
+#: src/lang.c:614
 #, fuzzy
 msgid "search backwards within this article"
 msgstr "Buscar hacia atrÃ¡s: "
 
-#: src/lang.c:594
+#: src/lang.c:615
 #, fuzzy
 msgid "search forwards within this article"
 msgstr "Buscar hacia adelante"
 
-#: src/lang.c:595
+#: src/lang.c:616
 msgid "show article in raw-mode (including all headers)"
 msgstr ""
 
-#: src/lang.c:596
+#: src/lang.c:617
 msgid "skip next block of included text"
 msgstr ""
 
-#: src/lang.c:597
+#: src/lang.c:618
 msgid "toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr ""
 
-#: src/lang.c:598
+#: src/lang.c:619
 #, fuzzy
 msgid "toggle display of all headers"
 msgstr "conmuta enseÃ±ar modificaciones de los tamaÃ±os del paquete"
 
-#: src/lang.c:599
+#: src/lang.c:620
 msgid "toggle word highlighting on/off"
 msgstr ""
 
-#: src/lang.c:600
+#: src/lang.c:621
 msgid "toggle ROT-13 (basic decode) for current article"
 msgstr ""
 
-#: src/lang.c:601
+#: src/lang.c:622
 msgid "toggle tabwidth 4 <-> 8"
 msgstr ""
 
-#: src/lang.c:602
+#: src/lang.c:623
 msgid "toggle German TeX style decoding for current article"
 msgstr ""
 
-#: src/lang.c:603
+#: src/lang.c:624
 #, fuzzy
 msgid "toggle display of uuencoded sections"
 msgstr "conmuta enseÃ±ar los nÃºmeros de versiones"
 
-#: src/lang.c:604
+#: src/lang.c:625
 msgid "View/pipe/save multimedia attachments"
 msgstr ""
 
-#: src/lang.c:605
+#: src/lang.c:626
 #, fuzzy
 msgid "choose first attachment in list"
 msgstr "Primero Debe Elegir Un Mensaje"
 
-#: src/lang.c:606
+#: src/lang.c:627
 msgid "0 - 9\t  choose attachment by number"
 msgstr ""
 
-#: src/lang.c:607
+#: src/lang.c:628
 #, fuzzy
 msgid "choose last attachment in list"
 msgstr "Elija una lista para examinar, buscar y publicar mensajes."
 
-#: src/lang.c:609
+#: src/lang.c:630
 #, fuzzy
 msgid "pipe attachment into command"
 msgstr "Adjuntos"
 
-#: src/lang.c:610
+#: src/lang.c:631
 #, fuzzy
 msgid "pipe raw attachment into command"
 msgstr "No puede abrir una tuberÃ­a a orden Â«%sÂ»"
 
-#: src/lang.c:612
+#: src/lang.c:633
 #, fuzzy
 msgid "save attachment to disk"
 msgstr "Guarda opciones al disco"
 
-#: src/lang.c:613
+#: src/lang.c:634
 #, fuzzy
 msgid "search for attachments forwards"
 msgstr "Buscar hacia adelante"
 
-#: src/lang.c:614
+#: src/lang.c:635
 #, fuzzy
 msgid "search for attachments backwards"
 msgstr "Adjuntos"
 
-#: src/lang.c:615
+#: src/lang.c:636
 #, fuzzy
 msgid "view attachment"
 msgstr "Adjuntos"
 
-#: src/lang.c:616
+#: src/lang.c:637
 #, fuzzy
 msgid "tag attachment"
 msgstr "Adjuntos"
 
-#: src/lang.c:617
+#: src/lang.c:638
 msgid "tag attachments that match user specified pattern"
 msgstr ""
 
-#: src/lang.c:618
+#: src/lang.c:639
 msgid "reverse tagging on all attachments (toggle)"
 msgstr ""
 
-#: src/lang.c:619
+#: src/lang.c:640
 msgid "untag all tagged attachments"
 msgstr ""
 
-#: src/lang.c:620
+#: src/lang.c:641
 msgid "toggle info message in last line (name/description of attachment)"
 msgstr ""
 
-#: src/lang.c:621
+#: src/lang.c:642
 #, fuzzy
 msgid "choose first attribute in list"
 msgstr "Primero Debe Elegir Un Mensaje"
 
-#: src/lang.c:622
+#: src/lang.c:643
 msgid "0 - 9\t  choose attribute by number"
 msgstr ""
 
-#: src/lang.c:623
+#: src/lang.c:644
 #, fuzzy
 msgid "choose last attribute in list"
 msgstr "Elija una lista para examinar, buscar y publicar mensajes."
 
-#: src/lang.c:624
+#: src/lang.c:645
 #, fuzzy
 msgid "reset attribute to a default value"
 msgstr "restablece todas las opciones a sus valores predeterminados"
 
-#: src/lang.c:625
-#, fuzzy
-msgid "search forwards for an attribute"
-msgstr "Buscar hacia adelante"
-
-#: src/lang.c:626
+#: src/lang.c:646
 #, fuzzy
 msgid "search backwards for an attribute"
 msgstr "Buscar hacia atrÃ¡s: "
 
-#: src/lang.c:627
+#: src/lang.c:647
+#, fuzzy
+msgid "search forwards for an attribute"
+msgstr "Buscar hacia adelante"
+
+#: src/lang.c:648
 #, fuzzy
 msgid "select attribute"
 msgstr "Atributo"
 
-#: src/lang.c:628
+#: src/lang.c:649
 msgid "toggle back to options menu when invoked from there"
 msgstr ""
 
-#: src/lang.c:629
+#: src/lang.c:650
 #, c-format
 msgid "report bug or comment via mail to %s"
 msgstr ""
 
-#: src/lang.c:630
+#: src/lang.c:651
 #, fuzzy
 msgid "choose first option in list"
 msgstr "Primera OpciÃ³n"
 
-#: src/lang.c:631
+#: src/lang.c:652
 msgid "0 - 9\t  choose option by number"
 msgstr ""
 
-#: src/lang.c:632
+#: src/lang.c:653
 #, fuzzy
 msgid "choose last option in list"
 msgstr "Una opciÃ³n de listado"
 
-#: src/lang.c:633
+#: src/lang.c:654
 #, fuzzy
 msgid "start scopes menu"
 msgstr "inicio"
 
-#: src/lang.c:634
-#, fuzzy
-msgid "search forwards for an option"
-msgstr "Buscar hacia adelante"
-
-#: src/lang.c:635
+#: src/lang.c:655
 #, fuzzy
 msgid "search backwards for an option"
 msgstr "Buscar hacia atrÃ¡s: "
 
-#: src/lang.c:636
+#: src/lang.c:656
+#, fuzzy
+msgid "search forwards for an option"
+msgstr "Buscar hacia adelante"
+
+#: src/lang.c:657
 #, fuzzy
 msgid "select option"
 msgstr "Seleccionarâ€¦"
 
-#: src/lang.c:637
+#: src/lang.c:658
 #, fuzzy
 msgid "toggle to attributes menu"
 msgstr "Atributos"
 
-#: src/lang.c:638
+#: src/lang.c:659
 msgid "choose range of articles to be affected by next command"
 msgstr ""
 
-#: src/lang.c:639
+#: src/lang.c:660
 #, fuzzy
 msgid "escape from command prompt"
 msgstr "Modifica peticiÃ³n de lÃ­nea de orden."
 
-#: src/lang.c:640
+#: src/lang.c:661
 #, fuzzy
 msgid "edit filter file"
 msgstr "Edite el contenido de su fichero"
 
-#: src/lang.c:641
+#: src/lang.c:662
 #, fuzzy
 msgid "get help"
 msgstr "Obtener Ayuda"
 
-#: src/lang.c:642
+#: src/lang.c:663
 #, fuzzy
 msgid "display last article viewed"
 msgstr "EnseÃ±a Ã±as Ãºltimas 5 encuestas de su proyecto."
 
-#: src/lang.c:643
+#: src/lang.c:664
 #, fuzzy
 msgid "down one line"
 msgstr "Bajar"
 
-#: src/lang.c:644
+#: src/lang.c:665
 #, fuzzy
 msgid "up one line"
 msgstr "Dos ficheros en una lÃ­nea: %s\n"
 
-#: src/lang.c:645
+#: src/lang.c:666
 msgid "go to article chosen by Message-ID"
 msgstr ""
 
-#: src/lang.c:646
+#: src/lang.c:667
 msgid "mail article/thread/hot/pattern/tagged articles to someone"
 msgstr ""
 
-#: src/lang.c:647
+#: src/lang.c:668
 #, fuzzy
 msgid "menu of configurable options"
 msgstr "El menÃº de opciones"
 
-#: src/lang.c:648
+#: src/lang.c:669
 #, fuzzy
 msgid "down one page"
 msgstr "d                 retroceder media pÃ¡gina"
 
-#: src/lang.c:649
+#: src/lang.c:670
 #, fuzzy
 msgid "up one page"
 msgstr "w o <Arriba>      avanza pÃ¡gina"
 
-#: src/lang.c:651
+#: src/lang.c:672
 msgid "post (write) article to current group"
 msgstr ""
 
-#: src/lang.c:652
+#: src/lang.c:673
 #, fuzzy
 msgid "post postponed articles"
 msgstr "Pospuesto"
 
-#: src/lang.c:654
+#: src/lang.c:675
 msgid "list articles posted by you (from posted file)"
 msgstr ""
 
-#: src/lang.c:655
+#: src/lang.c:676
 #, fuzzy
 msgid "return to previous menu"
 msgstr "ninguna secciÃ³n anterior para devolver, ignorada."
 
-#: src/lang.c:656
+#: src/lang.c:677
 #, fuzzy
 msgid "quit tin immediately"
 msgstr "sale inmediatamente"
 
-#: src/lang.c:657
+#: src/lang.c:678
 #, fuzzy
 msgid "redraw page"
 msgstr "PÃ¡gina"
 
-#: src/lang.c:658
+#: src/lang.c:679
 msgid "save article/thread/hot/pattern/tagged articles to file"
 msgstr ""
 
-#: src/lang.c:659
+#: src/lang.c:680
 msgid "save marked articles automatically without user prompts"
 msgstr ""
 
-#: src/lang.c:660
+#: src/lang.c:681
 msgid "scroll the screen one line down"
 msgstr ""
 
-#: src/lang.c:661
+#: src/lang.c:682
 msgid "scroll the screen one line up"
 msgstr ""
 
-#: src/lang.c:662
+#: src/lang.c:683
 #, fuzzy
 msgid "search for articles by author backwards"
 msgstr "Buscar hacia atrÃ¡s: "
 
-#: src/lang.c:663
+#: src/lang.c:684
 #, fuzzy
 msgid "search for articles by author forwards"
 msgstr "Buscar hacia adelante"
 
-#: src/lang.c:664
+#: src/lang.c:685
 msgid "search all articles for a given string (this may take some time)"
 msgstr ""
 
-#: src/lang.c:665
+#: src/lang.c:686
 msgid " \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr ""
 
-#: src/lang.c:666
+#: src/lang.c:687
 msgid "search for articles by Subject line backwards"
 msgstr ""
 
-#: src/lang.c:667
+#: src/lang.c:688
 msgid "search for articles by Subject line forwards"
 msgstr ""
 
-#: src/lang.c:668
+#: src/lang.c:689
 #, fuzzy
 msgid "repeat last search"
 msgstr "Repetir la Ãºltima bÃºsqueda"
 
-#: src/lang.c:669
+#: src/lang.c:690
 msgid "tag current article for reposting/mailing/piping/printing/saving"
 msgstr ""
 
-#: src/lang.c:670
+#: src/lang.c:691
 msgid "toggle info message in last line (subject/description)"
 msgstr ""
 
-#: src/lang.c:671
+#: src/lang.c:692
 #, fuzzy
 msgid "toggle inverse video"
 msgstr "_Invertir"
 
-#: src/lang.c:672
+#: src/lang.c:693
 msgid "toggle mini help menu and posting etiquette display"
 msgstr ""
 
-#: src/lang.c:673
+#: src/lang.c:694
 msgid "cycle the display of authors email address, real name, both or neither"
 msgstr ""
 
-#: src/lang.c:674
+#: src/lang.c:695
 #, fuzzy
 msgid "show version information"
 msgstr "  -V,  --version          muestra informaciÃ³n sobre versiÃ³n\n"
 
-#: src/lang.c:675
+#: src/lang.c:696
 msgid "mark all articles as read and return to group selection menu"
 msgstr ""
 
-#: src/lang.c:676
+#: src/lang.c:697
 msgid "mark all articles as read and enter next group with unread articles"
 msgstr ""
 
-#: src/lang.c:677
+#: src/lang.c:698
 #, fuzzy
 msgid "choose first thread in list"
 msgstr "Primero Debe Elegir Un Mensaje"
 
-#: src/lang.c:678
+#: src/lang.c:699
 #, fuzzy
 msgid "choose last thread in list"
 msgstr "Elija una lista para examinar, buscar y publicar mensajes."
 
-#: src/lang.c:679
+#: src/lang.c:700
 msgid "list articles within current thread (bring up Thread sub-menu)"
 msgstr ""
 
-#: src/lang.c:680
+#: src/lang.c:701
 #, fuzzy
 msgid "mark article as unread"
 msgstr "*** Tiene correo no leÃ­do. ***"
 
-#: src/lang.c:681
+#: src/lang.c:702
 msgid "mark current thread, range or tagged threads as read"
 msgstr ""
 
-#: src/lang.c:682
+#: src/lang.c:703
 msgid "mark current thread, range or tagged threads as unread"
 msgstr ""
 
-#: src/lang.c:683
+#: src/lang.c:704
 msgid "mark current/range/selected/pattern/tagged as read after prompting"
 msgstr ""
 
-#: src/lang.c:684
+#: src/lang.c:705
 msgid "mark current/range/selected/pattern/tagged as unread after prompting"
 msgstr ""
 
-#: src/lang.c:685
+#: src/lang.c:706
 msgid "toggle display of all/selected articles"
 msgstr ""
 
-#: src/lang.c:686
+#: src/lang.c:707
 #, fuzzy
 msgid "display next group"
 msgstr "Ver siguiente pantalla"
 
-#: src/lang.c:687
+#: src/lang.c:708
 #, fuzzy
 msgid "display previous group"
 msgstr "Ver pantalla anterior"
 
-#: src/lang.c:688
+#: src/lang.c:709
 #, fuzzy
 msgid "toggle all selections (all articles)"
 msgstr "Todos artÃ­culos disponibles en "
 
-#: src/lang.c:689
+#: src/lang.c:710
 msgid "select group (make \"hot\")"
 msgstr ""
 
-#: src/lang.c:690
+#: src/lang.c:711
 #, fuzzy
 msgid "select thread"
 msgstr "Hilo"
 
-#: src/lang.c:691
+#: src/lang.c:712
 msgid "select threads if at least one unread article is selected"
 msgstr ""
 
-#: src/lang.c:692
+#: src/lang.c:713
 msgid "select threads that match user specified pattern"
 msgstr ""
 
-#: src/lang.c:693
+#: src/lang.c:714
 msgid "0 - 9\t  choose thread by number"
 msgstr ""
 
-#: src/lang.c:694
+#: src/lang.c:715
 msgid "toggle limit number of articles to get, and reload"
 msgstr ""
 
-#: src/lang.c:695
+#: src/lang.c:716
 msgid "toggle display of all/unread articles"
 msgstr ""
 
-#: src/lang.c:696
+#: src/lang.c:717
 #, fuzzy
 msgid "toggle selection of thread"
 msgstr "Hilo"
 
-#: src/lang.c:697
+#: src/lang.c:718
 msgid "cycle through threading options available"
 msgstr ""
 
-#: src/lang.c:698
+#: src/lang.c:719
 #, fuzzy
 msgid "undo all selections (all articles)"
 msgstr "Todos artÃ­culos disponibles en "
 
-#: src/lang.c:699
+#: src/lang.c:720
 msgid "untag all tagged threads"
 msgstr ""
 
-#: src/lang.c:700
+#: src/lang.c:721
 #, fuzzy
 msgid "search for articles forwards"
 msgstr "Buscar hacia adelante"
 
-#: src/lang.c:701
+#: src/lang.c:722
 #, fuzzy
 msgid "search for articles backwards"
 msgstr "Buscar hacia atrÃ¡s: "
 
-#: src/lang.c:702
+#: src/lang.c:723
 msgid "toggle info message in last line (Message-ID)"
 msgstr ""
 
-#: src/lang.c:703
+#: src/lang.c:724
 msgid "Open article by Message-ID"
 msgstr ""
 
-#: src/lang.c:704
+#: src/lang.c:725
 #, fuzzy
 msgid "add new scope"
 msgstr "AÃ±ade nueva revisiÃ³n"
 
-#: src/lang.c:705
+#: src/lang.c:726
 #, fuzzy
 msgid "delete scope"
 msgstr "borrar"
 
-#: src/lang.c:706
+#: src/lang.c:727
 #, fuzzy
 msgid "edit attributes file"
 msgstr "Atributos de Fichero\n"
 
-#: src/lang.c:707
+#: src/lang.c:728
 #, fuzzy
 msgid "choose first scope in list"
 msgstr "Primero Debe Elegir Un Mensaje"
 
-#: src/lang.c:708
+#: src/lang.c:729
 msgid "0 - 9\t  choose scope by number"
 msgstr ""
 
-#: src/lang.c:709
+#: src/lang.c:730
 #, fuzzy
 msgid "choose last scope in list"
 msgstr "Elija una lista para examinar, buscar y publicar mensajes."
 
-#: src/lang.c:710
+#: src/lang.c:731
 #, fuzzy
 msgid "move scope"
 msgstr "_Mover a:"
 
-#: src/lang.c:711
+#: src/lang.c:732
 #, fuzzy
 msgid "rename scope"
 msgstr "Renombrarâ€¦"
 
-#: src/lang.c:712
+#: src/lang.c:733
 #, fuzzy
 msgid "select scope"
 msgstr "_Seleccionarâ€¦"
 
-#: src/lang.c:713
+#: src/lang.c:734
 msgid "mark all articles in group as read"
 msgstr ""
 
-#: src/lang.c:714
+#: src/lang.c:735
 msgid "mark all articles in group as read and move to next unread group"
 msgstr ""
 
-#: src/lang.c:715
+#: src/lang.c:736
 #, fuzzy
 msgid "choose first group in list"
 msgstr "Primero Debe Elegir Un Mensaje"
 
-#: src/lang.c:716
+#: src/lang.c:737
 #, fuzzy
 msgid "choose group by name"
 msgstr "no se especificÃ³ el tamaÃ±o de entidad para SHF_GROUP"
 
-#: src/lang.c:717
+#: src/lang.c:738
 msgid "0 - 9\t  choose group by number"
 msgstr ""
 
-#: src/lang.c:718
+#: src/lang.c:739
 msgid "choose range of groups to be affected by next command"
 msgstr ""
 
-#: src/lang.c:719
+#: src/lang.c:740
 #, fuzzy
 msgid "choose last group in list"
 msgstr "Â«%sÂ» debe ser el Ãºltimo en el grupo de instrucciones"
 
-#: src/lang.c:721
+#: src/lang.c:742
 msgid "list groups which an article has been posted to (by Message-ID)"
 msgstr ""
 
-#: src/lang.c:722
+#: src/lang.c:743
 msgid " \t  (go to article if at least one of the groups is available)"
 msgstr ""
 
-#: src/lang.c:724
+#: src/lang.c:745
 msgid "mark all articles in chosen group unread"
 msgstr ""
 
-#: src/lang.c:725
+#: src/lang.c:746
 msgid "move chosen group within list"
 msgstr ""
 
-#: src/lang.c:726
+#: src/lang.c:747
 msgid "choose next group with unread news"
 msgstr ""
 
-#: src/lang.c:727 src/lang.c:1748
+#: src/lang.c:748 src/lang.c:1797
 msgid "quit"
 msgstr "salir"
 
-#: src/lang.c:728
+#: src/lang.c:749
 msgid "quit without saving configuration changes"
 msgstr ""
 
-#: src/lang.c:729
+#: src/lang.c:750
 #, fuzzy
 msgid "read chosen group"
 msgstr "No ha elegido un foro"
 
-#: src/lang.c:730
+#: src/lang.c:751
 msgid "reset .newsrc (all available articles in groups marked unread)"
 msgstr ""
 
-#: src/lang.c:731
+#: src/lang.c:752
 #, fuzzy
 msgid "search backwards for a group name"
 msgstr "Buscar hacia atrÃ¡s: "
 
-#: src/lang.c:732
+#: src/lang.c:753
 msgid " \t  (all searches are case-insensitive and wrap around)"
 msgstr ""
 
-#: src/lang.c:733
+#: src/lang.c:754
 #, fuzzy
 msgid "search forwards for a group name"
 msgstr "Buscar hacia adelante"
 
-#: src/lang.c:734
+#: src/lang.c:755
 #, fuzzy
 msgid "subscribe to chosen group"
 msgstr "Subscribir"
 
-#: src/lang.c:735
+#: src/lang.c:756
 #, fuzzy
 msgid "subscribe to groups that match pattern"
 msgstr "Campo %s no coincide con el patrÃ³n."
 
-#: src/lang.c:736
+#: src/lang.c:757
 msgid "reread active file to check for any new news"
 msgstr ""
 
-#: src/lang.c:737
+#: src/lang.c:758
 msgid "show NNTP[S] connection details"
 msgstr ""
 
-#: src/lang.c:738
+#: src/lang.c:759
 msgid "toggle display of group name only or group name plus description"
 msgstr ""
 
-#: src/lang.c:739
+#: src/lang.c:760
 msgid "toggle display to show all/unread subscribed groups"
 msgstr ""
 
-#: src/lang.c:740
+#: src/lang.c:761
 #, fuzzy
 msgid "unsubscribe from chosen group"
 msgstr "Error Creando lista de correos."
 
-#: src/lang.c:741
+#: src/lang.c:762
 msgid "unsubscribe from groups that match pattern"
 msgstr ""
 
-#: src/lang.c:742
+#: src/lang.c:763
 #, fuzzy
 msgid "sort the list of groups"
 msgstr "GRUPOS"
 
-#: src/lang.c:743
+#: src/lang.c:764
 msgid "toggle display to show all/subscribed groups"
 msgstr ""
 
-#: src/lang.c:744
+#: src/lang.c:765
 msgid "tag/untag all parts of current multipart-message in order"
 msgstr ""
 
-#: src/lang.c:745
+#: src/lang.c:766
 msgid "0 - 9\t  choose article by number"
 msgstr ""
 
-#: src/lang.c:746
+#: src/lang.c:767
 msgid "mark thread as read and return to group index page"
 msgstr ""
 
-#: src/lang.c:747
+#: src/lang.c:768
 msgid "mark thread as read and enter next unread thread or group"
 msgstr ""
 
-#: src/lang.c:748
+#: src/lang.c:769
 #, fuzzy
 msgid "choose first article in list"
 msgstr "No necesita para el primer artÃ­culo definido"
 
-#: src/lang.c:749
+#: src/lang.c:770
 #, fuzzy
 msgid "choose last article in list"
 msgstr "Elija una lista para examinar, buscar y publicar mensajes."
 
-#: src/lang.c:750
+#: src/lang.c:771
 msgid "mark art, range or tagged arts as read; move crsr to next unread art"
 msgstr ""
 
-#: src/lang.c:751
+#: src/lang.c:772
 msgid "mark article, range or tagged articles as unread"
 msgstr ""
 
-#: src/lang.c:752
+#: src/lang.c:773
 #, fuzzy
 msgid "mark current thread as unread"
 msgstr "x marca la versiÃ³n actual"
 
-#: src/lang.c:753
+#: src/lang.c:774
 #, fuzzy
 msgid "read chosen article"
 msgstr "No ha elegido un foro"
 
-#: src/lang.c:754
+#: src/lang.c:775
 #, fuzzy
 msgid ""
 "Display properties\n"
 "------------------"
 msgstr "      Propiedades: "
 
-#: src/lang.c:755
+#: src/lang.c:776
 #, fuzzy
 msgid ""
 "Miscellaneous\n"
 "-------------"
 msgstr "^MiscelÃ¡nea"
 
-#: src/lang.c:756
+#: src/lang.c:777
 #, fuzzy
 msgid ""
 "Moving around\n"
 "-------------"
 msgstr "Se .. se mueve..."
 
-#: src/lang.c:757
+#: src/lang.c:778
 #, fuzzy
 msgid ""
 "Group/thread/article operations\n"
 "-------------------------------"
 msgstr "Deshacer la Ãºltima operaciÃ³n o grupo de operaciones sobre los paquetes"
 
-#: src/lang.c:758
+#: src/lang.c:779
 #, fuzzy
 msgid ""
 "Attachment operations\n"
 "---------------------"
 msgstr "Operaciones"
 
-#: src/lang.c:759
+#: src/lang.c:780
 #, fuzzy
 msgid ""
 "Attribute operations\n"
 "--------------------"
 msgstr "Atributo"
 
-#: src/lang.c:760
+#: src/lang.c:781
 #, fuzzy
 msgid ""
 "Option operations\n"
 "-----------------"
 msgstr "Operaciones"
 
-#: src/lang.c:761
+#: src/lang.c:782
 #, fuzzy
 msgid ""
 "Posted article operations\n"
 "-------------------------"
 msgstr "Deshacer la Ãºltima operaciÃ³n o grupo de operaciones sobre los paquetes"
 
-#: src/lang.c:762
+#: src/lang.c:783
 #, fuzzy
 msgid ""
 "Scope operations\n"
 "----------------"
 msgstr "Operaciones"
 
-#: src/lang.c:763
+#: src/lang.c:784
 #, fuzzy
 msgid ""
 "URL operations\n"
 "--------------"
 msgstr "URL"
 
-#: src/lang.c:764
+#: src/lang.c:785
 #, fuzzy
 msgid "choose first URL in list"
 msgstr "Primero Debe Elegir Un Mensaje"
 
-#: src/lang.c:765
+#: src/lang.c:786
 msgid "0 - 9\t  choose URL by number"
 msgstr ""
 
-#: src/lang.c:766
+#: src/lang.c:787
 #, fuzzy
 msgid "choose last URL in list"
 msgstr "Elija una lista para examinar, buscar y publicar mensajes."
 
-#: src/lang.c:767
+#: src/lang.c:788
 #, fuzzy
 msgid "search for URLs forwards"
 msgstr "Buscar hacia adelante"
 
-#: src/lang.c:768
+#: src/lang.c:789
 #, fuzzy
 msgid "search for URLs backwards"
 msgstr "Buscar hacia atrÃ¡s: "
 
-#: src/lang.c:769
+#: src/lang.c:790
 #, fuzzy
 msgid "Open URL in browser"
 msgstr "EXPLORADOR"
 
-#: src/lang.c:770
+#: src/lang.c:791
 msgid "toggle info message in last line (URL)"
 msgstr ""
 
-#: src/lang.c:772
+#: src/lang.c:793
 #, fuzzy
 msgid "Group Level Commands"
 msgstr " Ã³rdenes:\n"
 
-#: src/lang.c:773
+#: src/lang.c:794
 #, fuzzy
 msgid "Kill filter added"
 msgstr "_Filtrar porâ€¦"
 
-#: src/lang.c:774
+#: src/lang.c:795
 msgid "Auto-selection filter added"
 msgstr ""
 
-#: src/lang.c:775
+#: src/lang.c:796
 #, fuzzy
 msgid "All parts tagged"
 msgstr "Directorio de ImportaciÃ³n [partes de .idata]"
 
-#: src/lang.c:776
+#: src/lang.c:797
 #, fuzzy
 msgid "All parts untagged"
 msgstr "Directorio de ImportaciÃ³n [partes de .idata]"
 
-#: src/lang.c:777
+#: src/lang.c:798
 #, c-format
 msgid "Building References-trees (%d/%d)..."
 msgstr ""
 
-#: src/lang.c:778
+#: src/lang.c:799
 msgid "Storing article for later posting"
 msgstr ""
 
-#: src/lang.c:779
+#: src/lang.c:800
 #, fuzzy
 msgid "Please enter a valid character"
 msgstr "Introduzca un URL vÃ¡lido"
 
-#: src/lang.c:780
+#: src/lang.c:801
 #, fuzzy, c-format
 msgid "Missing part #%d"
 msgstr "Fin de %s parte %d"
 
-#: src/lang.c:781
+#: src/lang.c:802
 #, fuzzy
 msgid "*** No postponed articles ***"
 msgstr "Pospuesto"
 
-#: src/lang.c:782
+#: src/lang.c:803
 #, fuzzy
 msgid "Not a multi-part message"
 msgstr ", parte de "
 
-#: src/lang.c:783
+#: src/lang.c:804
 #, fuzzy
 msgid "You are not subscribed to this group"
 msgstr "Grupo"
 
-#: src/lang.c:784
+#: src/lang.c:805
 #, fuzzy
 msgid "No previous expression"
 msgstr "Sin expresiÃ³n regular previa"
 
-#: src/lang.c:785
+#: src/lang.c:806
 #, fuzzy
 msgid "Operation disabled in no-overwrite mode"
 msgstr "Modo operativo."
 
 #. TODO: replace hard coded key-name in txt_info_postponed
-#: src/lang.c:787
+#: src/lang.c:808
 #, c-format
 msgid "%d postponed %s, reuse with ^O...\n"
 msgstr ""
 
-#: src/lang.c:788
+#: src/lang.c:809
 msgid ""
 "X-Conversion-Note: multipart/alternative contents have been removed.\n"
 "  To get the whole article, turn alternative handling OFF in the Option "
 "Menu\n"
 msgstr ""
 
-#: src/lang.c:790
+#: src/lang.c:811
 #, c-format
 msgid "Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr ""
 
-#: src/lang.c:791
+#: src/lang.c:812
 #, fuzzy
 msgid "TeX2Iso encoded article"
 msgstr "ArtÃ­culo definido requerido"
 
 #. TODO: replace hard coded key-names
-#: src/lang.c:793
+#: src/lang.c:814
 #, c-format
 msgid ""
 "\n"
@@ -2888,170 +2968,170 @@ msgid ""
 "Please send bug-reports/comments to %s with the 'R' command.\n"
 msgstr ""
 
-#: src/lang.c:809
+#: src/lang.c:830
 #, c-format
-msgid "Invalid  From: %s  line. Read the INSTALL file again."
+msgid "Invalid From:-header \"%s\". Check your mail_address setting."
 msgstr ""
 
-#: src/lang.c:811
+#: src/lang.c:832
 #, fuzzy
 msgid "Invalid multibyte sequence found\n"
 msgstr "Secuencia de carÃ¡cter UTF-8"
 
-#: src/lang.c:814
+#: src/lang.c:835
 #, fuzzy, c-format
-msgid "Invalid  Sender:-header %s"
-msgstr "valor de cabecera invÃ¡lido %s"
+msgid "Invalid Sender:-header \"%s\""
+msgstr "valor de cabecera invÃ¡lido \"%s\""
 
-#: src/lang.c:816
+#: src/lang.c:837
 #, fuzzy
 msgid "Inverse video disabled"
 msgstr "_Invertir"
 
-#: src/lang.c:817
+#: src/lang.c:838
 #, fuzzy
 msgid "Inverse video enabled"
 msgstr "_Invertir"
 
-#: src/lang.c:819
+#: src/lang.c:840
 #, fuzzy, c-format
 msgid "Missing definition for %s\n"
 msgstr "\tsin definiciÃ³n de Â«%sÂ»"
 
-#: src/lang.c:820
+#: src/lang.c:841
 #, fuzzy, c-format
 msgid "Invalid key definition '%s'\n"
 msgstr "definiciÃ³n no vÃ¡lida para la impresora Â«%sÂ»: %s"
 
-#: src/lang.c:821
+#: src/lang.c:842
 #, fuzzy, c-format
 msgid "Invalid keyname '%s'\n"
 msgstr "%s: modo invÃ¡lido (%s)"
 
-#: src/lang.c:822
+#: src/lang.c:843
 #, fuzzy, c-format
 msgid "Keymap file was upgraded to version %s\n"
 msgstr "El fichero `%s' (versiÃ³n %d) contiene:\n"
 
-#: src/lang.c:823
+#: src/lang.c:844
 #, fuzzy, c-format
 msgid "Kill From:     [%s] (y/n): "
 msgstr "Mato %s(%s%d) ? (s/N) "
 
-#: src/lang.c:824
+#: src/lang.c:845
 #, fuzzy
 msgid "Kill Lines: (</>num): "
 msgstr "NÃºm"
 
-#: src/lang.c:825
+#: src/lang.c:846
 #, fuzzy
 msgid "Kill Article Menu"
 msgstr "ArtÃ­culo definido requerido"
 
-#: src/lang.c:826
+#: src/lang.c:847
 #, fuzzy, c-format
 msgid "Kill Msg-ID:   [%s] (f/l/o/n): "
 msgstr "Mato %s(%s%d) ? (s/N) "
 
-#: src/lang.c:827
+#: src/lang.c:848
 #, fuzzy
 msgid "Kill pattern scope  : "
 msgstr "..mÃ¡talo, Dink..mÃ¡talo..."
 
-#: src/lang.c:828
+#: src/lang.c:849
 #, fuzzy, c-format
 msgid "Kill Subject:  [%s] (y/n): "
 msgstr "Mato %s(%s%d) ? (s/N) "
 
-#: src/lang.c:829
+#: src/lang.c:850
 #, fuzzy
 msgid "Kill text pattern   : "
 msgstr "PatrÃ³n"
 
-#: src/lang.c:830
+#: src/lang.c:851
 #, fuzzy
 msgid "Kill time in days   : "
 msgstr "Tiempo Medio Abierto (en dÃ­as)"
 
-#: src/lang.c:832
+#: src/lang.c:853
 msgid "Last"
 msgstr "Ãšltimo"
 
-#: src/lang.c:833
+#: src/lang.c:854
 #, fuzzy
 msgid "-- Last response --"
 msgstr "Respuesta"
 
-#: src/lang.c:834
+#: src/lang.c:855
 #, fuzzy, c-format
 msgid "Lines %s  "
 msgstr "LÃ­neas leÃ­das: %lu lÃ­neas en %.0lf segundos (%.0lf lÃ­neas/s)\n"
 
-#: src/lang.c:840
+#: src/lang.c:861
 #, fuzzy
 msgid "Function not available."
 msgstr "la funciÃ³n iconv no estÃ¡ disponible"
 
-#: src/lang.c:841
+#: src/lang.c:862
 #, fuzzy
 msgid "Not reading via NNTP."
 msgstr "No leÃ­do"
 
-#: src/lang.c:843
+#: src/lang.c:864
 #, fuzzy, c-format
 msgid "Group: %s"
 msgstr "no se puede crear un grupo: %s"
 
-#: src/lang.c:844
+#: src/lang.c:865
 #, fuzzy, c-format
 msgid "Groups: %s"
 msgstr ""
 "El Ã­ndice de coincidencia %ls es demasiado largo; los grupos disponibles son "
 "(%s)"
 
-#: src/lang.c:847
+#: src/lang.c:868
 #, fuzzy
 msgid "Mail"
 msgstr "CORREO"
 
-#: src/lang.c:848
+#: src/lang.c:869
 #, fuzzy
 msgid "mailbox "
 msgstr "_BuzÃ³n:"
 
-#: src/lang.c:849
+#: src/lang.c:870
 #, fuzzy, c-format
 msgid "Mail article(s) to [%.*s]> "
 msgstr "Mensajes Masivos para subscriptores de %s"
 
-#: src/lang.c:850
+#: src/lang.c:871
 #, fuzzy, c-format
 msgid "Mailing log to %s\n"
 msgstr "Crear Lista de Correo %s"
 
-#: src/lang.c:851
+#: src/lang.c:872
 #, fuzzy
 msgid "Mail bug report..."
 msgstr "Por favor reporte este bicho.\n"
 
-#: src/lang.c:852
+#: src/lang.c:873
 #, fuzzy, c-format
 msgid "Mail BUG REPORT to %s?"
 msgstr ""
 "Correo-e del boletÃ­n de defectos a: <%s>.\n"
 " \n"
 
-#: src/lang.c:853
+#: src/lang.c:874
 #, fuzzy
 msgid "Mailed"
 msgstr "Ãšltimo correo de id_usuario"
 
-#: src/lang.c:854
+#: src/lang.c:875
 #, fuzzy, c-format
 msgid "Mailing to %s..."
 msgstr "Actualizar Lista de Correo %s"
 
-#: src/lang.c:855
+#: src/lang.c:876
 msgid ""
 "# [Mail/Save] active file. Format is like news active file:\n"
 "#   groupname  max.artnum  min.artnum  /dir\n"
@@ -3059,384 +3139,385 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:858
+#: src/lang.c:879
 #, fuzzy, c-format
 msgid "%s marked as read"
 msgstr "Campos marcados con %s son obligatorios."
 
-#: src/lang.c:859
+#: src/lang.c:880
 #, fuzzy, c-format
 msgid "%s marked as unread"
 msgstr "*** Tiene correo no leÃ­do. ***"
 
-#: src/lang.c:860
+#: src/lang.c:881
 #, fuzzy, c-format
 msgid "Marked %d of %d %s as read"
 msgstr "[%d] Incapaz de leer desde %s en el puerto %d"
 
-#: src/lang.c:861
+#: src/lang.c:882
 #, fuzzy, c-format
 msgid "Marked %d of %d %s as unread"
 msgstr "%s:%d:%d: %s"
 
-#: src/lang.c:862 src/lang.c:1704
+#: src/lang.c:883 src/lang.c:1753
 msgid "Mark"
 msgstr "Marcador"
 
-#: src/lang.c:863
+#: src/lang.c:884
 #, c-format
 msgid "Mark all articles as read%s?"
 msgstr ""
 
-#: src/lang.c:864
+#: src/lang.c:885
 #, fuzzy, c-format
 msgid "Mark article as read%s?"
 msgstr "Marca buzones leÃ­dos"
 
-#: src/lang.c:865
+#: src/lang.c:886
 #, fuzzy, c-format
 msgid "Mark group %s as read?"
 msgstr "Marca buzones leÃ­dos"
 
-#: src/lang.c:866
+#: src/lang.c:887
 #, fuzzy, c-format
 msgid "Mark thread as read%s?"
 msgstr "Hilo(s) encontrado(s)"
 
-#: src/lang.c:867
+#: src/lang.c:888
 #, fuzzy, c-format
 msgid "Matching %s groups..."
 msgstr "GRUPOS"
 
-#: src/lang.c:868 src/lang.c:881 src/lang.c:884 src/lang.c:890
+#: src/lang.c:889 src/lang.c:902 src/lang.c:905 src/lang.c:911
 #, c-format
 msgid "<n>=set current to n; %s=line down; %s=line up; %s=help; %s=quit"
 msgstr ""
 
-#: src/lang.c:870
+#: src/lang.c:891
 #, c-format
 msgid ""
 "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr ""
 
-#: src/lang.c:872
+#: src/lang.c:893
 #, c-format
 msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr ""
 
-#: src/lang.c:874
+#: src/lang.c:895
 #, c-format
 msgid ""
 "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search"
 msgstr ""
 
-#: src/lang.c:875 src/lang.c:879
+#: src/lang.c:896 src/lang.c:900
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=search pattern; %s=kill/select"
 msgstr ""
 
-#: src/lang.c:876
+#: src/lang.c:897
 #, c-format
 msgid ""
 "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; "
 "%s=list thread"
 msgstr ""
 
-#: src/lang.c:877
+#: src/lang.c:898
 #, c-format
 msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"
 msgstr ""
 
-#: src/lang.c:878
+#: src/lang.c:899
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=quit"
 msgstr ""
 
-#: src/lang.c:880
+#: src/lang.c:901
 #, c-format
 msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr ""
 
-#: src/lang.c:882 src/lang.c:891
+#: src/lang.c:903 src/lang.c:912
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=repeat search"
 msgstr ""
 
-#: src/lang.c:883
+#: src/lang.c:904
 #, fuzzy, c-format
 msgid "%s=add; %s=move; %s=rename; %s=delete"
 msgstr "Renombra ORIGEN a DESTINO, o mueve ORIGEN(es) a DIRECTORIO.\n"
 
-#: src/lang.c:885
+#: src/lang.c:906
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr ""
 
-#: src/lang.c:886
+#: src/lang.c:907
 #, c-format
 msgid ""
 "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
 msgstr ""
 
-#: src/lang.c:887
+#: src/lang.c:908
 #, c-format
 msgid ""
 "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/"
 "out"
 msgstr ""
 
-#: src/lang.c:888
+#: src/lang.c:909
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr ""
 
-#: src/lang.c:889
+#: src/lang.c:910
 #, c-format
 msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"
 msgstr ""
 
-#: src/lang.c:892
+#: src/lang.c:913
 #, fuzzy
 msgid "--More--"
 msgstr "MÃ¡sâ€¦"
 
-#: src/lang.c:894
+#: src/lang.c:915
 #, c-format
 msgid "MOTD: %s\n"
 msgstr ""
 
-#: src/lang.c:896
+#: src/lang.c:917
 #, fuzzy, c-format
 msgid "Moving %s..."
 msgstr "Error moviendo final %s a dir anterior %s"
 
-#: src/lang.c:897
+#: src/lang.c:918
 #, fuzzy
 msgid "Message-ID: & last Reference  "
 msgstr "No se pudo obtener el id del mensaje"
 
-#: src/lang.c:898
+#: src/lang.c:919
 #, fuzzy
 msgid "Message-ID: line              "
 msgstr "No se pudo obtener el id del mensaje"
 
-#: src/lang.c:899
+#: src/lang.c:920
 #, fuzzy
 msgid "Message-ID: & References: line"
 msgstr "No se pudo obtener el id del mensaje"
 
-#: src/lang.c:901
+#: src/lang.c:922
 #, fuzzy, c-format
 msgid "Go to newsgroup [%s]> "
 msgstr "Ir"
 
-#: src/lang.c:902
+#: src/lang.c:923
 msgid "newsgroups"
 msgstr ""
 
-#: src/lang.c:903
+#: src/lang.c:924
 #, c-format
 msgid "Position %s in group list (1,2,..,$) [%d]> "
 msgstr ""
 
-#: src/lang.c:904
+#: src/lang.c:925
 msgid "newsgroup"
 msgstr ""
 
-#: src/lang.c:905
+#: src/lang.c:926
 msgid "Try and save newsrc file again?"
 msgstr ""
 
-#: src/lang.c:906
-msgid "Warning: No newsgroups were written to your newsrc file. Save aborted."
+#: src/lang.c:927
+#, c-format
+msgid "Warning: No groups written to your %s file. Save aborted."
 msgstr ""
 
-#: src/lang.c:907
-#, fuzzy
-msgid "newsrc file saved successfully.\n"
+#: src/lang.c:928
+#, fuzzy, c-format
+msgid "%s file saved successfully.\n"
 msgstr "Fichero subido con Ã©xito"
 
-#: src/lang.c:908
+#: src/lang.c:929
 #, fuzzy
 msgid "-- Next response --"
 msgstr "Siguiente"
 
-#: src/lang.c:909
+#: src/lang.c:930
 msgid "No  "
 msgstr ""
 
-#: src/lang.c:910
+#: src/lang.c:931
 #, fuzzy
 msgid "*** No articles ***"
 msgstr "ArtÃ­culos anteriores"
 
-#: src/lang.c:911
+#: src/lang.c:932
 #, fuzzy
 msgid "No articles have been posted"
 msgstr "No se han enviado Comentarios"
 
-#: src/lang.c:912
+#: src/lang.c:933
 #, fuzzy
 msgid "*** No attachments ***"
 msgstr "Adjuntos"
 
-#: src/lang.c:913
+#: src/lang.c:934
 #, fuzzy
 msgid "*** No description ***"
 msgstr "(sin descripciÃ³n)"
 
-#: src/lang.c:914
+#: src/lang.c:935
 #, fuzzy
 msgid "No filename"
 msgstr "el fichero \"$filename\" es desconocido"
 
-#: src/lang.c:915
+#: src/lang.c:936
 #, fuzzy
 msgid "No group"
 msgstr "** grupo"
 
-#: src/lang.c:916
+#: src/lang.c:937
 #, fuzzy
 msgid "*** No groups ***"
 msgstr " grupos="
 
-#: src/lang.c:917
+#: src/lang.c:938
 #, fuzzy
 msgid "No more groups to read"
 msgstr "GRUPOS"
 
-#: src/lang.c:918
+#: src/lang.c:939
 #, fuzzy
 msgid "No last message"
 msgstr "Ãšltimo"
 
-#: src/lang.c:919
+#: src/lang.c:940
 #, fuzzy
 msgid "No mail address"
 msgstr "DirecciÃ³n personal para correo"
 
-#: src/lang.c:920
+#: src/lang.c:941
 #, fuzzy
 msgid "No articles marked for saving"
 msgstr ""
 "\n"
 "NingÃºn artÃ­culo dentro de este grupo.\n"
 
-#: src/lang.c:921
+#: src/lang.c:942
 msgid "No match"
 msgstr "Sin coincidencia"
 
-#: src/lang.c:922
+#: src/lang.c:943
 #, fuzzy
 msgid "No more groups"
 msgstr " grupos="
 
-#: src/lang.c:923
+#: src/lang.c:944
 msgid "No newsgroups"
 msgstr ""
 
-#: src/lang.c:924
+#: src/lang.c:945
 #, fuzzy
 msgid "No next unread article"
 msgstr "*** Tiene correo no leÃ­do. ***"
 
-#: src/lang.c:925
+#: src/lang.c:946
 #, fuzzy
 msgid "No previous group"
 msgstr "Grupo"
 
-#: src/lang.c:926
+#: src/lang.c:947
 #, fuzzy
 msgid "No previous search, nothing to repeat"
 msgstr "n                 repetir  / o ? en la Ãºltima bÃºsqueda"
 
-#: src/lang.c:927
+#: src/lang.c:948
 #, fuzzy
 msgid "No previous unread article"
 msgstr "*** Tiene correo no leÃ­do. ***"
 
-#: src/lang.c:928
+#: src/lang.c:949
 #, fuzzy
 msgid "No responses"
 msgstr "Respuestas existentes"
 
-#: src/lang.c:929
+#: src/lang.c:950
 #, fuzzy
 msgid "No responses to list in current thread"
 msgstr "Lista el contenido del directorio actual"
 
-#: src/lang.c:930
+#: src/lang.c:951
 msgid "*** No scopes ***"
 msgstr ""
 
-#: src/lang.c:931
+#: src/lang.c:952
 #, fuzzy
 msgid "No search string"
 msgstr ""
 "Advertencia: bÃºsqueda de cadena textual es mÃ¡s larga que %d caracteres, la "
 "bÃºsqueda quizÃ¡ no funciona apropiadamente.\n"
 
-#: src/lang.c:932
+#: src/lang.c:953
 #, fuzzy
 msgid "No subject"
 msgstr "No hay Asunto"
 
-#: src/lang.c:934
+#: src/lang.c:955
 #, c-format
 msgid "%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr ""
 
-#: src/lang.c:935
+#: src/lang.c:956
 #, c-format
 msgid "%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr ""
 
-#: src/lang.c:936
+#: src/lang.c:957
 #, c-format
 msgid "%s: Terminal must have clearscreen (cl) capability\n"
 msgstr ""
 
-#: src/lang.c:937
+#: src/lang.c:958
 #, c-format
 msgid "%s: Terminal must have cursor motion (cm)\n"
 msgstr ""
 
-#: src/lang.c:938
+#: src/lang.c:959
 #, c-format
 msgid "%s: TERM variable must be set to use screen capabilities\n"
 msgstr ""
 
-#: src/lang.c:940
+#: src/lang.c:961
 #, fuzzy, c-format
 msgid "No viewer found for %s/%s\n"
 msgstr "esperaba %s, pero encontrÃ© %s"
 
-#: src/lang.c:941 src/lang.c:1616 src/lang.c:1644 src/lang.c:1935
+#: src/lang.c:962 src/lang.c:1665 src/lang.c:1693 src/lang.c:1991
 #, fuzzy
 msgid "None"
 msgstr "Ninguno"
 
-#: src/lang.c:942
+#: src/lang.c:963
 #, fuzzy
 msgid "Newsgroup does not exist on this server"
 msgstr ""
 "el fichero Â«$filenameÂ» no existe, pero es un fichero de fuente del "
 "modificaciÃ³n"
 
-#: src/lang.c:943
+#: src/lang.c:964
 #, fuzzy, c-format
 msgid "Group %s not found in active file"
 msgstr "Fichero Â«%sÂ» no encontrado\n"
 
-#: src/lang.c:944
+#: src/lang.c:966
 msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr ""
 
-#: src/lang.c:945
+#: src/lang.c:967
 msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr ""
 
-#: src/lang.c:946
+#: src/lang.c:968
 #, c-format
 msgid ""
 "# NNTP-server -> newsrc translation table and NNTP-server\n"
@@ -3453,432 +3534,432 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:952
+#: src/lang.c:975
 #, fuzzy
 msgid "NULL"
 msgstr "(NULO)"
 
-#: src/lang.c:954
+#: src/lang.c:977
 #, fuzzy
 msgid "Only"
 msgstr "SÃ³lo Extraer"
 
-#: src/lang.c:955
-#, fuzzy, c-format
-msgid "Option not enabled. Recompile with %s."
-msgstr "La opciÃ³n --regex estÃ¡ activada por defecto."
-
-#: src/lang.c:956
+#: src/lang.c:979
 #, fuzzy
 msgid "Options Menu"
 msgstr ""
 "Dink Smallwood ('%s') no fue encontrado en su ordenador. Por favor configure "
 "el nombre del ejecutable del juego en las opciones del menÃº."
 
-#: src/lang.c:957
+#: src/lang.c:980
 #, fuzzy
 msgid "Options Menu Commands"
 msgstr "El menÃº de opciones"
 
-#: src/lang.c:960
+#: src/lang.c:981
+#, fuzzy, c-format
+msgid "Option not enabled. Recompile with %s.%s\n"
+msgstr "OpciÃ³n no activada. Vuelva a compilar con %s.%s\n"
+
+#: src/lang.c:984
 #, fuzzy, c-format
 msgid "Error in regex: %s at pos. %d '%s'"
 msgstr ""
 " expreg en desplazamiento %d: %s\n"
 "\n"
 
-#: src/lang.c:961
+#: src/lang.c:985
 #, fuzzy, c-format
 msgid "Error in regex: pcre internal error %d"
 msgstr "%s: pcre_exec() error %d mientras coincide "
 
-#: src/lang.c:963
+#: src/lang.c:987
 #, c-format
 msgid "Error in regex: study - pcre internal error %s"
 msgstr ""
 
-#: src/lang.c:965
+#: src/lang.c:989
 #, fuzzy
 msgid "Post a followup..."
 msgstr "Contabilizar a"
 
 #. TODO: replace hard coded key-name in txt_post_error_ask_postpone
-#: src/lang.c:967
+#: src/lang.c:991
 msgid ""
 "An error has occurred while posting the article. If you think that this\n"
 "error is temporary or otherwise correctable, you can postpone the article\n"
 "and pick it up again with ^O later.\n"
 msgstr ""
 
-#: src/lang.c:970
+#: src/lang.c:994
 #, fuzzy
 msgid "Posted articles history"
 msgstr ""
 "\n"
 "NingÃºn artÃ­culo dentro de este grupo.\n"
 
-#: src/lang.c:971
+#: src/lang.c:995
 #, fuzzy
 msgid "Posted Articles Menu Commands"
 msgstr "menÃº"
 
-#: src/lang.c:972
+#: src/lang.c:996
 msgid "Lookup failed"
 msgstr ""
 
-#: src/lang.c:973
+#: src/lang.c:997
 msgid "Operation not available for replies by mail"
 msgstr ""
 
-#: src/lang.c:974
+#: src/lang.c:998
 #, fuzzy
 msgid "Already in posted articles history level"
 msgstr ""
 "\n"
 "NingÃºn artÃ­culo dentro de este grupo.\n"
 
-#: src/lang.c:975
+#: src/lang.c:999
 #, c-format
 msgid "Post to newsgroup(s) [%s]> "
 msgstr ""
 
-#: src/lang.c:976
+#: src/lang.c:1000
 #, fuzzy
 msgid "-- post processing started --"
 msgstr "Contabilizar"
 
-#: src/lang.c:977
+#: src/lang.c:1001
 #, fuzzy
 msgid "-- post processing completed --"
 msgstr "Contabilizar"
 
-#: src/lang.c:978
+#: src/lang.c:1002
 #, fuzzy, c-format
 msgid "Post subject [%s]> "
 msgstr "Asunto"
 
-#: src/lang.c:979
+#: src/lang.c:1003
 msgid ""
 "# Summary of mailed/posted messages viewable by 'W' command from within "
 "tin.\n"
 msgstr ""
 
-#: src/lang.c:980
+#: src/lang.c:1004
 #, fuzzy
 msgid "Posting article..."
 msgstr "PublicaciÃ³n Fallida"
 
-#: src/lang.c:982
+#: src/lang.c:1006
 #, fuzzy, c-format
 msgid "Posting failed (%s)"
 msgstr "PublicaciÃ³n Fallida"
 
-#: src/lang.c:984
+#: src/lang.c:1008
 #, fuzzy, c-format
 msgid "Posting: %.*s ..."
 msgstr "PublicaciÃ³n Fallida"
 
-#: src/lang.c:985
+#: src/lang.c:1009
 #, c-format
 msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 msgstr ""
 
-#: src/lang.c:986
+#: src/lang.c:1010
 #, fuzzy, c-format
 msgid "Hot %s"
 msgstr "Â¡EstÃ¡ caliente!"
 
-#: src/lang.c:987
+#: src/lang.c:1011
 #, c-format
 msgid "Tagged %s"
 msgstr ""
 
-#: src/lang.c:988
+#: src/lang.c:1012
 #, fuzzy, c-format
 msgid "Untagged %s"
 msgstr "[%d] Servidor no envÃ­a respuesta inetiquetada Â«%sÂ» o preguntada"
 
-#: src/lang.c:990
+#: src/lang.c:1014
 #, c-format
 msgid "Preparing for filtering on Path header (%d/%d)..."
 msgstr ""
 
-#: src/lang.c:992
+#: src/lang.c:1016
 #, fuzzy
 msgid "Processing attributes..."
 msgstr "** atributos"
 
-#: src/lang.c:993
+#: src/lang.c:1017
 msgid "Processing mail messages marked for deletion."
 msgstr ""
 
-#: src/lang.c:994
+#: src/lang.c:1018
 msgid "Processing saved articles marked for deletion."
 msgstr ""
 
-#: src/lang.c:995
+#: src/lang.c:1019
 #, c-format
 msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr ""
 
-#: src/lang.c:996
+#: src/lang.c:1020
 msgid "Article unchanged, abort mailing?"
 msgstr ""
 
-#: src/lang.c:997
+#: src/lang.c:1021
 #, c-format
 msgid "Do you want to see postponed articles (%d)?"
 msgstr ""
 
-#: src/lang.c:999
+#: src/lang.c:1023
 msgid "Add quick kill filter?"
 msgstr ""
 
-#: src/lang.c:1000
+#: src/lang.c:1024
 msgid "Add quick selection filter?"
 msgstr ""
 
-#: src/lang.c:1001
+#: src/lang.c:1025
 #, fuzzy
 msgid "Do you really want to quit?"
 msgstr "Â¿Realmente quiere terminar MUIbase?"
 
-#: src/lang.c:1002
+#: src/lang.c:1026
 #, c-format
 msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr ""
 
-#: src/lang.c:1003
+#: src/lang.c:1027
 msgid "You have tagged articles in this group - quit anyway?"
 msgstr ""
 
-#: src/lang.c:1004
+#: src/lang.c:1028
 #, fuzzy, c-format
 msgid "%s=quit, %s=edit, %s=postpone: "
 msgstr "no se puede editar %s: es una terminal"
 
-#: src/lang.c:1005
+#: src/lang.c:1029
 #, fuzzy, c-format
 msgid "%s=quit, %s=edit, %s=save kill description: "
 msgstr "no se puede editar %s: es una terminal"
 
-#: src/lang.c:1006
+#: src/lang.c:1030
 #, fuzzy, c-format
 msgid "%s=quit, %s=edit, %s=save select description: "
 msgstr "no se puede editar %s: es una terminal"
 
-#: src/lang.c:1007
+#: src/lang.c:1031
 msgid "Do you really want to quit without saving your configuration?"
 msgstr ""
 
-#: src/lang.c:1010
+#: src/lang.c:1033
 msgid "Invalid range - valid are '0-9.$' e.g. 1-$"
 msgstr ""
 
-#: src/lang.c:1012
+#: src/lang.c:1035
 #, fuzzy
 msgid "Do you want to abort this operation?"
 msgstr "Â¿Quiere realmente hacer eso?"
 
-#: src/lang.c:1013
+#: src/lang.c:1036
 msgid "Do you want to exit tin immediately?"
 msgstr ""
 
-#: src/lang.c:1015
+#: src/lang.c:1038
 #, fuzzy
 msgid "Reading ('q' to quit)..."
 msgstr "  -q, --quit        terminar el proceso en segundo plano\n"
 
-#: src/lang.c:1016
+#: src/lang.c:1039
 #, fuzzy, c-format
 msgid "Reading %s articles..."
 msgstr "No leÃ­do"
 
-#: src/lang.c:1017
+#: src/lang.c:1040
 #, fuzzy, c-format
-msgid "Reading %sattributes file...\n"
+msgid "Reading %sattributes file: %s\n"
 msgstr "Error leyendo fichero intercambio"
 
-#: src/lang.c:1018
+#: src/lang.c:1041
 #, fuzzy, c-format
-msgid "Reading %sconfig file...\n"
+msgid "Reading %sconfig file: %s\n"
 msgstr "Error leyendo fichero intercambio"
 
-#: src/lang.c:1019
-#, fuzzy
-msgid "Reading filter file...\n"
+#: src/lang.c:1042
+#, fuzzy, c-format
+msgid "Reading filter file: %s\n"
 msgstr "Leyendo ficheroâ€¦"
 
-#: src/lang.c:1021
+#: src/lang.c:1044
 #, fuzzy
 msgid "reading from local spool"
 msgstr "error leyendo desde `%s'"
 
-#: src/lang.c:1023
+#: src/lang.c:1046
 #, fuzzy, c-format
 msgid "Reading %s\n"
 msgstr "Leyendo %s\n"
 
-#: src/lang.c:1024
+#: src/lang.c:1047
 #, fuzzy, c-format
 msgid "Reading %s groups..."
 msgstr "Memoria agotada al leer %lu grupos\n"
 
-#: src/lang.c:1025
-#, fuzzy
-msgid "Reading input history file...\n"
+#: src/lang.c:1048
+#, fuzzy, c-format
+msgid "Reading input history file: %s\n"
 msgstr "error de entrada al leer el archivo de esquema %s"
 
-#: src/lang.c:1026
+#: src/lang.c:1049
 #, fuzzy, c-format
 msgid "Reading keymap file: %s\n"
 msgstr "Lectura del archivo keymap: %s\n"
 
-#: src/lang.c:1027
+#: src/lang.c:1050
 #, fuzzy
 msgid "Reading groups from active file... "
 msgstr "Leyendo fichero boletinado de acceso: desde entrada estÃ¡ndar\n"
 
-#: src/lang.c:1028
+#: src/lang.c:1051
 #, fuzzy
 msgid "Reading groups from newsrc file... "
 msgstr "Leyendo fichero boletinado de acceso: desde entrada estÃ¡ndar\n"
 
-#: src/lang.c:1029
+#: src/lang.c:1052
 #, fuzzy
 msgid "Reading newsgroups file... "
 msgstr "Error leyendo fichero intercambio"
 
-#: src/lang.c:1030
-#, fuzzy
-msgid "Reading newsrc file..."
+#: src/lang.c:1053
+#, fuzzy, c-format
+msgid "Reading newsrc file: %s"
 msgstr "Leyendo ficheroâ€¦"
 
-#: src/lang.c:1031
+#: src/lang.c:1054
 #, fuzzy
 msgid "References: line              "
 msgstr ""
 "\n"
 "    --references       listado de referencias de RUTAS"
 
-#: src/lang.c:1033
+#: src/lang.c:1056
 #, fuzzy, c-format
 msgid "(%d:%02d remaining)"
 msgstr "Ranura %d - %d:%02d - %s"
 
-#: src/lang.c:1035
+#: src/lang.c:1058
 #, fuzzy, c-format
 msgid "Bogus group %s removed."
 msgstr ", no eliminado: %s"
 
-#: src/lang.c:1036
+#: src/lang.c:1059
 #, fuzzy
 msgid "Removed from this rule: "
 msgstr ".. quitado desde entorno"
 
-#: src/lang.c:1037
+#: src/lang.c:1060
 #, fuzzy, c-format
 msgid "Error: rename %s to %s"
 msgstr "no se puede renombrar %s a %s"
 
-#: src/lang.c:1038
+#: src/lang.c:1061
 #, fuzzy
 msgid "Reply to author..."
 msgstr "Responder"
 
-#: src/lang.c:1039
+#: src/lang.c:1062
 msgid "Repost"
 msgstr ""
 
-#: src/lang.c:1040
+#: src/lang.c:1063
 #, fuzzy
 msgid "Reposting article..."
 msgstr "ArtÃ­culo definido requerido"
 
-#: src/lang.c:1041
+#: src/lang.c:1064
 #, fuzzy, c-format
 msgid "Repost article(s) to group(s) [%s]> "
 msgstr "el grupo de %s permanece como %s\n"
 
-#: src/lang.c:1042
+#: src/lang.c:1065
 #, fuzzy
 msgid "Reset newsrc?"
 msgstr " (restablecer)"
 
-#: src/lang.c:1043
+#: src/lang.c:1066
 msgid "Responses have been directed to the following newsgroups"
 msgstr ""
 
-#: src/lang.c:1044
+#: src/lang.c:1067
 #, c-format
 msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr ""
 
-#: src/lang.c:1045
+#: src/lang.c:1068
 #, fuzzy
 msgid "Press <RETURN> to continue..."
 msgstr ""
 "\n"
 "Pulse RETORNO para continuar: "
 
-#: src/lang.c:1047
+#: src/lang.c:1070
 #, c-format
 msgid "Score: %s"
 msgstr ""
 
-#: src/lang.c:1048
+#: src/lang.c:1071
 #, fuzzy, c-format
 msgid "Select From    [%s] (y/n): "
 msgstr "El fichero %s existe. Â¿Sobreescribir? [y|n] "
 
-#: src/lang.c:1049
+#: src/lang.c:1072
 #, fuzzy
 msgid "Select Lines: (</>num): "
 msgstr "seleccionar lÃ­neas no coincidentes"
 
-#: src/lang.c:1050
+#: src/lang.c:1073
 msgid "Auto-select Article Menu"
 msgstr ""
 
-#: src/lang.c:1051
+#: src/lang.c:1074
 #, fuzzy, c-format
 msgid "Select Msg-ID  [%s] (f/l/o/n): "
 msgstr "El fichero %s existe. Â¿Sobreescribir? [y|n] "
 
-#: src/lang.c:1052
+#: src/lang.c:1075
 #, fuzzy
 msgid "Select pattern scope: "
 msgstr "Seleccionarâ€¦"
 
-#: src/lang.c:1053
+#: src/lang.c:1076
 #, fuzzy, c-format
 msgid "Select Subject [%s] (y/n): "
 msgstr "El fichero %s existe. Â¿Sobreescribir? [y|n] "
 
-#: src/lang.c:1054
+#: src/lang.c:1077
 #, fuzzy
 msgid "Select text pattern : "
 msgstr "PatrÃ³n"
 
-#: src/lang.c:1055
+#: src/lang.c:1078
 #, fuzzy
 msgid "Select time in days   : "
 msgstr "Tiempo Medio Abierto (en dÃ­as)"
 
-#: src/lang.c:1056
+#: src/lang.c:1079
 msgid "[k]"
 msgstr ""
 
-#: src/lang.c:1057
+#: src/lang.c:1080
 msgid "[T]"
 msgstr ""
 
-#: src/lang.c:1058
+#: src/lang.c:1081
 #, fuzzy
 msgid " R"
 msgstr " R"
 
-#: src/lang.c:1059
+#: src/lang.c:1082
 #, c-format
 msgid ""
 "# %s server configuration file\n"
@@ -3891,240 +3972,240 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:1065
+#: src/lang.c:1088
 msgid "Showing unread groups only"
 msgstr ""
 
-#: src/lang.c:1066
+#: src/lang.c:1089
 #, fuzzy
 msgid "Subject: line (ignore case)   "
 msgstr ""
 "  -i,  --ignore-case      ignora las diferencias entre mayÃºsculas y "
 "minÃºsculas\n"
 
-#: src/lang.c:1067
+#: src/lang.c:1090
 #, fuzzy
 msgid "Subject: line (case sensitive)"
 msgstr "distinguir mayÃºsculas"
 
-#: src/lang.c:1068
+#: src/lang.c:1091
 #, fuzzy
 msgid "Save"
 msgstr "_Guardar"
 
-#: src/lang.c:1069
+#: src/lang.c:1092
 #, fuzzy, c-format
 msgid "Save '%s' (%s/%s)?"
 msgstr "Guardar Â«%sÂ»â€¦"
 
-#: src/lang.c:1070
+#: src/lang.c:1093
 #, fuzzy
 msgid "Save configuration before continuing?"
 msgstr "Â¿Guardar Transacciones antes de procesar?"
 
-#: src/lang.c:1071
+#: src/lang.c:1094
 #, fuzzy
 msgid "Save filename> "
 msgstr "save nombrefichero - guarda Ã³rdenes desde la sesiÃ³n al fichero."
 
-#: src/lang.c:1072
+#: src/lang.c:1095
 #, fuzzy
 msgid "Saved"
 msgstr "guardado"
 
-#: src/lang.c:1073
+#: src/lang.c:1096
 #, fuzzy, c-format
-msgid "%4d unread (%4d hot) %s in %s\n"
+msgid "%s unread (%s hot) %s in %s\n"
 msgstr "\treubicaciÃ³n %4d desplazamiento %4x [%4lx] %s"
 
-#: src/lang.c:1074
+#: src/lang.c:1097
 #, fuzzy, c-format
 msgid "Saved %s...\n"
 msgstr "BoletÃ­n de interpretaciÃ³n sintÃ¡ctica de Sarg guardado en %s\n"
 
-#: src/lang.c:1075
+#: src/lang.c:1098
 #, fuzzy
 msgid "Nothing was saved"
 msgstr "No hay nada que ser guardado."
 
-#: src/lang.c:1076
+#: src/lang.c:1099
 #, fuzzy, c-format
 msgid ""
 "\n"
 "%s %d %s from %d %s\n"
 msgstr "No se pudo establecer configuraciÃ³n alternativa %d a %d (%s)"
 
-#: src/lang.c:1077
+#: src/lang.c:1100
 #, fuzzy, c-format
 msgid "-- %s saved to %s%s --"
 msgstr "Diapositiva es guardado correctamente por %s"
 
-#: src/lang.c:1078
+#: src/lang.c:1101
 #, fuzzy, c-format
 msgid "-- %s saved to %s - %s --"
 msgstr "Diapositiva es guardado correctamente por %s"
 
-#: src/lang.c:1079
+#: src/lang.c:1102
 msgid "Saving..."
 msgstr "Guardando..."
 
-#: src/lang.c:1080
+#: src/lang.c:1103
 #, fuzzy, c-format
 msgid "%s: Screen initialization failed"
 msgstr "GnuTLS fallado al inicializar: %s"
 
-#: src/lang.c:1082
+#: src/lang.c:1105
 #, fuzzy, c-format
 msgid "%s: screen is too small\n"
 msgstr "La secciÃ³n %s es muy pequeÃ±a para grupo shndx\n"
 
-#: src/lang.c:1084
+#: src/lang.c:1107
 #, fuzzy, c-format
 msgid "screen is too small, %s is exiting"
 msgstr "La secciÃ³n %s es muy pequeÃ±a para grupo shndx\n"
 
-#: src/lang.c:1085
+#: src/lang.c:1108
 #, fuzzy
 msgid "Delete scope?"
 msgstr "borrar"
 
-#: src/lang.c:1086
+#: src/lang.c:1109
 #, fuzzy
 msgid "Enter scope> "
 msgstr "_Introducir"
 
-#: src/lang.c:1087
+#: src/lang.c:1110
 #, fuzzy
 msgid "Select new position> "
 msgstr "Selecciona un fichero o subir uno nuevo"
 
-#: src/lang.c:1088
+#: src/lang.c:1111
 msgid "New position cannot be a global scope"
 msgstr ""
 
-#: src/lang.c:1089
+#: src/lang.c:1112
 #, fuzzy
 msgid "Global scope, operation not allowed"
 msgstr "error: no puede reiniciar, operaciÃ³n no permitida\n"
 
-#: src/lang.c:1090
+#: src/lang.c:1113
 #, fuzzy
 msgid "Rename scope> "
 msgstr "Renombrarâ€¦"
 
-#: src/lang.c:1091
+#: src/lang.c:1114
 #, fuzzy
 msgid "Select scope> "
 msgstr "_Seleccionarâ€¦"
 
-#: src/lang.c:1092
+#: src/lang.c:1115
 #, fuzzy
 msgid "Scopes Menu"
 msgstr "menÃº"
 
-#: src/lang.c:1093
+#: src/lang.c:1116
 #, fuzzy
 msgid "Scopes Menu Commands"
 msgstr " Ã³rdenes:\n"
 
-#: src/lang.c:1094
+#: src/lang.c:1117
 #, fuzzy, c-format
 msgid "Search backwards [%s]> "
 msgstr "Buscar hacia atrÃ¡s: "
 
-#: src/lang.c:1095
+#: src/lang.c:1118
 #, fuzzy, c-format
 msgid "Search body [%s]> "
 msgstr "La macro %%%s tiene cuerpo indeterminado\n"
 
-#: src/lang.c:1096
+#: src/lang.c:1119
 #, fuzzy, c-format
 msgid "Search forwards [%s]> "
 msgstr "Buscar hacia adelante"
 
-#: src/lang.c:1097
+#: src/lang.c:1120
 msgid "Searching..."
 msgstr "Buscandoâ€¦"
 
-#: src/lang.c:1098
+#: src/lang.c:1121
 #, c-format
 msgid "Searching article %d of %d ('q' to abort)..."
 msgstr ""
 
-#: src/lang.c:1099
+#: src/lang.c:1122
 #, fuzzy
 msgid "Select article> "
 msgstr "ArtÃ­culo definido requerido"
 
-#: src/lang.c:1100
+#: src/lang.c:1123
 msgid ""
 "Select option number before text or use arrow keys and <CR>. 'q' to quit."
 msgstr ""
 
-#: src/lang.c:1101
+#: src/lang.c:1124
 #, fuzzy
 msgid "Select group> "
 msgstr "Seleccionar "
 
-#: src/lang.c:1102
+#: src/lang.c:1125
 #, fuzzy, c-format
 msgid "Enter selection pattern [%s]> "
 msgstr "Introduce secciÃ³n [^{1^}-^{3^}]: "
 
-#: src/lang.c:1103
+#: src/lang.c:1126
 #, fuzzy
 msgid "Select thread> "
 msgstr "Hilo"
 
-#: src/lang.c:1104
+#: src/lang.c:1127
 #, c-format
 msgid "%s %s %s (\"%s\"): send a DETAILED bug report to %s\n"
 msgstr ""
 
-#: src/lang.c:1105
+#: src/lang.c:1128
 #, fuzzy
 msgid "servers active-file"
 msgstr "Servidores"
 
-#: src/lang.c:1106
+#: src/lang.c:1129
 #, c-format
 msgid "Skipped %s"
 msgstr ""
 
-#: src/lang.c:1107
+#: src/lang.c:1130
 msgid "Cannot move into new newsgroups. Subscribe first..."
 msgstr ""
 
-#: src/lang.c:1108
+#: src/lang.c:1131
 #, fuzzy
 msgid "<SPACE>"
 msgstr "_Espacio"
 
-#: src/lang.c:1109
+#: src/lang.c:1132
 #, fuzzy, c-format
 msgid "Starting: (%s)"
 msgstr "iniciando %s"
 
-#: src/lang.c:1110
+#: src/lang.c:1133
 #, fuzzy, c-format
 msgid "List Thread (%d of %d)"
 msgstr "[%d] incapaz de crear hilo: %s"
 
-#: src/lang.c:1111
+#: src/lang.c:1134
 #, fuzzy, c-format
 msgid "Thread (%.*s)"
 msgstr "Hilo(s) encontrado(s)"
 
-#: src/lang.c:1112
+#: src/lang.c:1135
 msgid "Enter wildcard subscribe pattern> "
 msgstr ""
 
-#: src/lang.c:1113
+#: src/lang.c:1136
 #, fuzzy, c-format
 msgid "subscribed to %d groups"
 msgstr " grupos="
 
-#: src/lang.c:1114
+#: src/lang.c:1137
 #, fuzzy, c-format
 msgid "Subscribed to %s"
 msgstr ""
@@ -4134,46 +4215,46 @@ msgstr ""
 "o desactivarlo tambiÃ©n visitando el \n"
 "siguiente enlace: <%3$s>\n"
 
-#: src/lang.c:1115
+#: src/lang.c:1138
 #, fuzzy
 msgid "Subscribing... "
 msgstr ""
 "Para detalles sobre suscribirse a ese listado, vea &lt;http://www.gnucash."
 "org/&gt;."
 
-#: src/lang.c:1116
+#: src/lang.c:1139
 #, c-format
 msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): "
 msgstr ""
 
-#: src/lang.c:1117
+#: src/lang.c:1140
 #, fuzzy, c-format
 msgid "Supersede article(s) to group(s) [%s]> "
 msgstr "el grupo de %s permanece como %s\n"
 
-#: src/lang.c:1118
+#: src/lang.c:1141
 #, fuzzy
 msgid "Superseding article ..."
 msgstr "ArtÃ­culo definido requerido"
 
-#: src/lang.c:1119
+#: src/lang.c:1142
 #, c-format
 msgid ""
 "\n"
 "Stopped. Type 'fg' to restart %s\n"
 msgstr ""
 
-#: src/lang.c:1121
+#: src/lang.c:1144
 #, fuzzy, c-format
 msgid "%d days"
 msgstr "EstadÃ­sticas para los Ãºltimos %d dÃ­as"
 
-#: src/lang.c:1122
+#: src/lang.c:1145
 #, fuzzy
 msgid "<TAB>"
 msgstr "LengÃ¼eta"
 
-#: src/lang.c:1123
+#: src/lang.c:1146
 #, fuzzy
 msgid "TeX "
 msgstr ""
@@ -4185,16 +4266,16 @@ msgstr ""
 "  -S, --sentence-regexp=EXPR-REG para finales de lÃ­nea o frase\n"
 "  -T, --format=tex               genera salida como directivas TeX\n"
 
-#: src/lang.c:1124
+#: src/lang.c:1147
 #, fuzzy, c-format
 msgid "Version: %s %s release %s (\"%s\")"
 msgstr "Regresar a la Ãºltima publicaciÃ³n(es)"
 
-#: src/lang.c:1125
+#: src/lang.c:1148
 msgid "# Default action/prompt strings\n"
 msgstr ""
 
-#: src/lang.c:1126
+#: src/lang.c:1149
 msgid ""
 "# Defaults for quick (1 key) kill & auto-selection filters\n"
 "# header=NUM  0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n"
@@ -4205,204 +4286,204 @@ msgid ""
 "# expire=ON/OFF  ON=limit to default_filter_days OFF=don't ever expire\n"
 msgstr ""
 
-#: src/lang.c:1139
+#: src/lang.c:1162
 msgid ""
 "# If ON use print current subject or newsgroup description in the last line\n"
 msgstr ""
 
-#: src/lang.c:1140
+#: src/lang.c:1163
 msgid "# Host & time info used for detecting new groups (don't touch)\n"
 msgstr ""
 
-#: src/lang.c:1141
+#: src/lang.c:1164
 #, fuzzy
 msgid "There is no news\n"
 msgstr "^Novedades"
 
-#: src/lang.c:1142
+#: src/lang.c:1165
 msgid "Thread"
 msgstr "Hilo"
 
-#: src/lang.c:1143
+#: src/lang.c:1166
 #, fuzzy
 msgid "Thread Level Commands"
 msgstr " Ã³rdenes:\n"
 
-#: src/lang.c:1144
+#: src/lang.c:1167
 #, fuzzy
 msgid "Thread deselected"
 msgstr "Hilo"
 
-#: src/lang.c:1145
+#: src/lang.c:1168
 #, fuzzy
 msgid "Thread selected"
 msgstr "Hilo"
 
-#: src/lang.c:1146
+#: src/lang.c:1169
 #, fuzzy
 msgid "thread"
 msgstr "Hilo"
 
-#: src/lang.c:1147
+#: src/lang.c:1170
 #, fuzzy, c-format
 msgid "Thread %4s of %4s"
 msgstr "4s"
 
-#: src/lang.c:1148
+#: src/lang.c:1171
 #, fuzzy
 msgid "Threading articles..."
 msgstr "ArtÃ­culos anteriores"
 
-#: src/lang.c:1149
+#: src/lang.c:1172
 #, fuzzy
 msgid "Threading by multipart"
 msgstr "ArtÃ­culos anteriores"
 
-#: src/lang.c:1151
-#, fuzzy, c-format
-msgid "TLS handshake failed: %s\n"
-msgstr "fallado %s a Â«%sÂ» (%s)"
-
-#: src/lang.c:1153
+#: src/lang.c:1175
 msgid "<failed to retrieve cipher>"
 msgstr ""
 
-#: src/lang.c:1154
+#: src/lang.c:1176
 msgid "<failed to retrieve issuer>"
 msgstr ""
 
-#: src/lang.c:1155
+#: src/lang.c:1177
 msgid "<failed to retrieve subject>"
 msgstr ""
 
-#: src/lang.c:1156
+#: src/lang.c:1178
 msgid "<failed to retrieve version>"
 msgstr ""
 
-#: src/lang.c:1157
+#: src/lang.c:1179
 #, fuzzy, c-format
 msgid "%s handshake done: %s\n"
 msgstr "fallado %s a Â«%sÂ» (%s)"
 
-#: src/lang.c:1158 src/lang.c:1309
-#, fuzzy
-msgid "unknown error"
-msgstr "Error desconocido."
-
-#: src/lang.c:1161
+#: src/lang.c:1182
 #, fuzzy, c-format
 msgid "TLS handshake failed: %s (%d)\n"
 msgstr "fallado %s a Â«%sÂ» (%s)"
 
-#: src/lang.c:1162
+#: src/lang.c:1183
 #, fuzzy, c-format
 msgid "TLS peer verification failed: %s\n"
 msgstr "fallado %s a Â«%sÂ» (%s)"
 
-#: src/lang.c:1163
+#: src/lang.c:1184
 #, c-format
 msgid "TLS peer verification failed, continuing anyway as requested: %s\n"
 msgstr ""
 
-#: src/lang.c:1164
+#: src/lang.c:1185
 msgid "<unable to retrieve status>"
 msgstr ""
 
-#: src/lang.c:1165
+#: src/lang.c:1186
 msgid "unexpected certificate verification status!"
 msgstr ""
 
-#: src/lang.c:1168
+#: src/lang.c:1189
 #, c-format
 msgid ""
 "TLS peer verification failed: %s.\n"
 "Continuing anyway as requested.\n"
 msgstr ""
 
-#: src/lang.c:1171
+#: src/lang.c:1192
 #, fuzzy, c-format
 msgid "TLS handshake done: %s\n"
 msgstr "fallado %s a Â«%sÂ» (%s)"
 
-#: src/lang.c:1174
+#: src/lang.c:1195
+#, fuzzy, c-format
+msgid "TLS handshake failed: %s\n"
+msgstr "fallado %s a Â«%sÂ» (%s)"
+
+#: src/lang.c:1198
 #, fuzzy, c-format
 msgid "Toggled word highlighting %s"
 msgstr "el registro tiene el tamaÃ±o equivocado para un word %s"
 
-#: src/lang.c:1175
+#: src/lang.c:1199
 #, fuzzy
 msgid "Toggled rot13 encoding"
 msgstr "CodificaciÃ³n"
 
-#: src/lang.c:1176
+#: src/lang.c:1200
 #, fuzzy, c-format
 msgid "Toggled German TeX encoding %s"
 msgstr "CodificaciÃ³n"
 
-#: src/lang.c:1177
+#: src/lang.c:1201
 #, fuzzy, c-format
 msgid "Toggled tab-width to %d"
 msgstr "una anchura de la lengeta de $number est fuera de gama"
 
-#: src/lang.c:1179
+#: src/lang.c:1203
 #, fuzzy, c-format
 msgid "%d Trying to dotlock %s"
 msgstr "Tratando de hacer 'bal' a %s"
 
-#: src/lang.c:1180
+#: src/lang.c:1204
 #, fuzzy, c-format
 msgid "%d Trying to lock %s"
 msgstr "Intentando conectar a %s/%s..."
 
-#: src/lang.c:1182
+#: src/lang.c:1206
 #, c-format
 msgid "%s=help"
 msgstr "%s=ayuda"
 
-#: src/lang.c:1184
+#: src/lang.c:1208
 msgid "Unlimited"
 msgstr "Ilimitado"
 
-#: src/lang.c:1185
+#: src/lang.c:1209
 msgid "Enter wildcard unsubscribe pattern> "
 msgstr ""
 
-#: src/lang.c:1186
+#: src/lang.c:1210
 #, fuzzy, c-format
 msgid "Error decoding %s : %s"
 msgstr "error decodificando cadena de texto: %s"
 
-#: src/lang.c:1187
+#: src/lang.c:1211
 #, fuzzy
 msgid "No end."
 msgstr "FIN"
 
-#: src/lang.c:1188
+#: src/lang.c:1212
 #, fuzzy, c-format
 msgid "%s successfully decoded."
 msgstr "DesafÃ­o decodificado: %s\n"
 
-#: src/lang.c:1189
+#: src/lang.c:1214
 #, fuzzy
 msgid "unchanged"
 msgstr ""
 "el fichero Â«$filenameÂ» no ha sido modificado, no deberÃ­a ser incluido en la "
 "modificaciÃ³n "
 
-#: src/lang.c:1190
+#: src/lang.c:1216
 msgid "(unknown)"
 msgstr ""
 
-#: src/lang.c:1191
+#: src/lang.c:1218
+#, fuzzy
+msgid "unknown error"
+msgstr "Error desconocido."
+
+#: src/lang.c:1220
 msgid "unread"
 msgstr ""
 
-#: src/lang.c:1192
+#: src/lang.c:1221
 #, fuzzy, c-format
 msgid "unsubscribed from %d groups"
 msgstr "  o un entero de %d a %d\n"
 
-#: src/lang.c:1193
+#: src/lang.c:1222
 #, fuzzy, c-format
 msgid "Unsubscribed from %s"
 msgstr ""
@@ -4410,105 +4491,114 @@ msgstr ""
 "activar su subscripciÃ³n en el futuro, accede y visite su pÃ¡gina de "
 "mantenimiento de la Cuenta."
 
-#: src/lang.c:1194
+#: src/lang.c:1223
 msgid "Unsubscribing... "
 msgstr ""
 
-#: src/lang.c:1195
+#: src/lang.c:1224
 #, fuzzy
 msgid "Unthreading articles..."
 msgstr ""
 "\n"
 "NingÃºn artÃ­culo dentro de este grupo.\n"
 
-#: src/lang.c:1196
+#: src/lang.c:1225
 msgid "Updated"
 msgstr "Actualizado"
 
-#: src/lang.c:1197
+#: src/lang.c:1226
 #, fuzzy
 msgid "Updating"
 msgstr "Error Actualizando Paquete"
 
-#: src/lang.c:1198
+#: src/lang.c:1227
 #, fuzzy
 msgid "URL Menu"
 msgstr "URL"
 
-#: src/lang.c:1199
+#: src/lang.c:1228
 #, fuzzy
 msgid "URL Menu Commands"
 msgstr " Ã³rdenes:\n"
 
-#: src/lang.c:1200
+#: src/lang.c:1229
 #, fuzzy, c-format
 msgid "Opening %s"
 msgstr "error al abrir %s"
 
-#: src/lang.c:1201
+#: src/lang.c:1230
 #, fuzzy
 msgid "Select URL> "
 msgstr "Seleccionarâ€¦"
 
-#: src/lang.c:1202
+#: src/lang.c:1231
 #, fuzzy
 msgid "No URLs in this article"
 msgstr "ArtÃ­culo definido requerido"
 
-#: src/lang.c:1203
-#, fuzzy
-msgid "Use MIME display program for this message?"
-msgstr "emplea paginador PAGER de programa para enseÃ±ar la salida"
+#: src/lang.c:1233
+#, c-format
+msgid "SASL MECHS    : %s\n"
+msgstr ""
 
-#: src/lang.c:1204
+#: src/lang.c:1234
+#, c-format
+msgid "SASL MECH used: %s\n"
+msgstr ""
+
+#: src/lang.c:1236
 msgid "  -c       mark all news as read in subscribed newsgroups (batch mode)"
 msgstr ""
 
-#: src/lang.c:1205
+#: src/lang.c:1237
 msgid "  -Z       return status indicating if any unread news (batch mode)"
 msgstr ""
 
-#: src/lang.c:1206
+#: src/lang.c:1238
 msgid "  -q       don't check for new newsgroups"
 msgstr ""
 
-#: src/lang.c:1207
+#: src/lang.c:1239
 msgid "  -X       don't save any files on quit"
 msgstr ""
 
-#: src/lang.c:1208
+#: src/lang.c:1240
 msgid "  -d       don't show newsgroup descriptions"
 msgstr ""
 
-#: src/lang.c:1209
+#: src/lang.c:1241
 msgid "  -G limit get only limit articles/group"
 msgstr ""
 
-#: src/lang.c:1210
+#: src/lang.c:1242
 #, fuzzy, c-format
 msgid "  -H       help information about %s"
 msgstr "   -h --help                 EnseÃ±a esta informaciÃ³n.\n"
 
-#: src/lang.c:1211
+#: src/lang.c:1243
 #, fuzzy
 msgid "  -h       this help message"
 msgstr "  --help,  -h      produce este mensaje de ayuda.\n"
 
-#: src/lang.c:1212
+#: src/lang.c:1244
 #, c-format
 msgid "  -I dir   news index file directory [default=%s]"
 msgstr ""
 
-#: src/lang.c:1213
+#: src/lang.c:1246
+msgid "  -L msgid show the message with that Message-ID"
+msgstr ""
+
+#: src/lang.c:1248
 msgid "  -u       update index files (batch mode)"
 msgstr ""
 
-#: src/lang.c:1214
+#: src/lang.c:1249
 #, c-format
 msgid "  -m dir   mailbox directory [default=%s]"
 msgstr ""
 
-#: src/lang.c:1215
+#: src/lang.c:1250
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4517,52 +4607,57 @@ msgstr ""
 "Correo-e del boletÃ­n de defectos a: <%s>.\n"
 " \n"
 
-#: src/lang.c:1216
+#: src/lang.c:1251
 msgid "  -N       mail new news to your posts (batch mode)"
 msgstr ""
 
-#: src/lang.c:1217
+#: src/lang.c:1252
 msgid "  -M user  mail new news to specified user (batch mode)"
 msgstr ""
 
-#: src/lang.c:1218
+#: src/lang.c:1253
 #, fuzzy, c-format
 msgid "  -f file  subscribed to newsgroups file [default=%s]"
 msgstr ""
 "     -f FICHERO     Fichero de configuraciÃ³n a leer (Por defecto es %s/sarg."
 "conf)\n"
 
-#: src/lang.c:1219
+#: src/lang.c:1255
+#, c-format
+msgid "  -t sec   override nntp_read_timeout_secs setting [default=%d]"
+msgstr ""
+
+#: src/lang.c:1257
 #, fuzzy
 msgid "  -x       no-posting mode"
 msgstr "EstarÃ¡ publicando a:"
 
-#: src/lang.c:1220
+#: src/lang.c:1258
 msgid "  -w       post an article and exit"
 msgstr ""
 
-#: src/lang.c:1221
+#: src/lang.c:1259
 msgid "  -o       post all postponed articles and exit"
 msgstr ""
 
-#: src/lang.c:1222
+#: src/lang.c:1260
 msgid "  -R       read news saved by -S option"
 msgstr ""
 
-#: src/lang.c:1223
+#: src/lang.c:1261
 #, c-format
 msgid "  -s dir   save news directory [default=%s]"
 msgstr ""
 
-#: src/lang.c:1224
+#: src/lang.c:1262
 msgid "  -S       save new news for later reading (batch mode)"
 msgstr ""
 
-#: src/lang.c:1225
+#: src/lang.c:1263
 msgid "  -z       start if any unread news"
 msgstr ""
 
-#: src/lang.c:1226
+#: src/lang.c:1264
 #, c-format
 msgid ""
 "A Usenet reader.\n"
@@ -4570,67 +4665,75 @@ msgid ""
 "Usage: %s [options] [newsgroup[,...]]"
 msgstr ""
 
-#: src/lang.c:1227
+#: src/lang.c:1265
 msgid "  -v       verbose output for batch mode options"
 msgstr ""
 
-#: src/lang.c:1228
+#: src/lang.c:1266
 #, fuzzy
 msgid "  -V       print version & date information"
 msgstr "Escribe la informaciÃ³n de la versiÃ³n"
 
-#: src/lang.c:1229
+#: src/lang.c:1267
+#, fuzzy
+msgid "Use MIME display program for this message?"
+msgstr "emplea paginador PAGER de programa para enseÃ±ar la salida"
+
+#: src/lang.c:1268
 #, c-format
-msgid "%s only useful without batch mode operations\n"
+msgid "%s only useful without batch mode operations.%s\n"
 msgstr ""
 
-#: src/lang.c:1230
+#: src/lang.c:1269
 #, c-format
-msgid "%s only useful for batch mode operations\n"
+msgid "%s only useful for batch mode operations.%s\n"
 msgstr ""
 
-#: src/lang.c:1231
+#: src/lang.c:1270
 #, c-format
-msgid "%s only useful for batch or debug mode operations\n"
+msgid "%s only useful for batch or debug mode operations.%s\n"
 msgstr ""
 
-#: src/lang.c:1232
-#, fuzzy, c-format
-msgid "Useless combination %s and %s. Ignoring %s.\n"
-msgstr "combinaciÃ³n de operandos errÃ³nea para '%.*s'"
+#: src/lang.c:1271
+#, c-format
+msgid "Useless combination %s and %s. Ignoring %s.%s\n"
+msgstr ""
 
-#: src/lang.c:1233
+#: src/lang.c:1272
 msgid "uuencoded file"
 msgstr ""
 
-#: src/lang.c:1234
+#: src/lang.c:1273
 #, fuzzy
 msgid "incomplete uuencoded file"
 msgstr "Incompleto"
 
-#: src/lang.c:1237
+#: src/lang.c:1276
 #, c-format
 msgid "Valid not after : %s\n"
 msgstr ""
 
-#: src/lang.c:1238
+#: src/lang.c:1277
 #, c-format
 msgid "Valid not before: %s\n"
 msgstr ""
 
-#: src/lang.c:1240
+#: src/lang.c:1279
 #, c-format
-msgid ""
-"\n"
-"%s%d out of range (0 - %d). Reset to 0"
+msgid "%s %s out of range (%d - %d). Ignored."
 msgstr ""
 
-#: src/lang.c:1241
+#: src/lang.c:1280
+#, c-format
+msgid "%s %d out of range (0 - %d). Reset to 0."
+msgstr ""
+
+#: src/lang.c:1281
 #, fuzzy, c-format
 msgid "View '%s' (%s/%s)?"
 msgstr "Ver el/los %d miembro(s)"
 
-#: src/lang.c:1243
+#: src/lang.c:1283
 #, c-format
 msgid ""
 "\n"
@@ -4638,33 +4741,39 @@ msgid ""
 "%-100s\n"
 msgstr ""
 
-#: src/lang.c:1244
+#: src/lang.c:1284
 msgid ""
 "\n"
 "Warning: article unchanged after editing\n"
 msgstr ""
 
-#: src/lang.c:1245
+#: src/lang.c:1285
 msgid ""
 "\n"
 "Warning: \"Subject:\" contains only whitespaces.\n"
 msgstr ""
 
-#: src/lang.c:1246
+#: src/lang.c:1286
 msgid ""
 "\n"
 "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:"
 "\".\n"
 msgstr ""
 
-#: src/lang.c:1248
+#: src/lang.c:1288
 msgid ""
 "\n"
 "Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
 "         with \"Re: \" and does not contain \"(was:\".\n"
 msgstr ""
 
-#: src/lang.c:1251
+#: src/lang.c:1291
+msgid ""
+"\n"
+"Warning: \"Subject:\" contains only \"Re:\".\n"
+msgstr ""
+
+#: src/lang.c:1292
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4678,7 +4787,14 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:1255
+#: src/lang.c:1296
+#, fuzzy
+msgid ""
+"\n"
+"Warning: Undesired Distribution \"world\" used.\n"
+msgstr "La opciÃ³n de nÃºmero formateado como moneda es %s."
+
+#: src/lang.c:1297
 msgid ""
 "\n"
 "Warning: You are using a non-plain transfer encoding (such as base64 or\n"
@@ -4687,7 +4803,7 @@ msgid ""
 "         not be encoded properly.\n"
 msgstr ""
 
-#: src/lang.c:1261
+#: src/lang.c:1303
 #, c-format
 msgid ""
 "\n"
@@ -4695,7 +4811,7 @@ msgid ""
 "is neither set to %s nor to %s.\n"
 msgstr ""
 
-#: src/lang.c:1265
+#: src/lang.c:1307
 #, c-format
 msgid ""
 "\n"
@@ -4704,7 +4820,7 @@ msgid ""
 "posting doesn't contain any 8bit chars and thus folding won't happen.\n"
 msgstr ""
 
-#: src/lang.c:1269
+#: src/lang.c:1311
 #, c-format
 msgid ""
 "\n"
@@ -4712,13 +4828,13 @@ msgid ""
 "is not set to %s.\n"
 msgstr ""
 
-#: src/lang.c:1272
+#: src/lang.c:1314
 msgid ""
 "\n"
 "Warning: \"example\" is a reserved hierarchy!\n"
 msgstr ""
 
-#: src/lang.c:1273
+#: src/lang.c:1315
 #, c-format
 msgid ""
 "\n"
@@ -4728,7 +4844,7 @@ msgid ""
 "Read WHATSNEW, etc...\n"
 msgstr ""
 
-#: src/lang.c:1275
+#: src/lang.c:1317
 #, c-format
 msgid ""
 "\n"
@@ -4737,7 +4853,7 @@ msgid ""
 "Some values in your %s file may be ignored, others might have changed!\n"
 msgstr ""
 
-#: src/lang.c:1278
+#: src/lang.c:1320
 #, c-format
 msgid ""
 "Warning: tin wrote fewer groups to your\n"
@@ -4747,19 +4863,37 @@ msgid ""
 "before you start tin once again!\n"
 msgstr ""
 
-#: src/lang.c:1282
+#: src/lang.c:1324
+#, c-format
+msgid ""
+"\n"
+"Warning: The article has multiple addresses in \"%s\".\n"
+"         This is at least uncommon.\n"
+msgstr ""
+
+#: src/lang.c:1327
+#, c-format
+msgid ""
+"\n"
+"Warning: With multiple addresses in \"From\", a \"Sender\"-header is\n"
+"         required, but its generation is deactivated by the global\n"
+"         configuration \"disable_sender=ON\" in\n"
+"         \"%s\".\n"
+msgstr ""
+
+#: src/lang.c:1332
 #, c-format
 msgid ""
 "\n"
 "Warning: Found %d '-- \\n' lines, this may confuse some people.\n"
 msgstr ""
 
-#: src/lang.c:1283
+#: src/lang.c:1333
 #, c-format
 msgid "Warning: Only %d out of %d articles were saved"
 msgstr ""
 
-#: src/lang.c:1284
+#: src/lang.c:1334
 #, c-format
 msgid ""
 "\n"
@@ -4770,103 +4904,103 @@ msgid ""
 "         possible.\n"
 msgstr ""
 
-#: src/lang.c:1288
+#: src/lang.c:1338
 #, c-format
 msgid ""
 "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
 msgstr ""
 
-#: src/lang.c:1289
+#: src/lang.c:1339
 #, c-format
 msgid ""
 "Warning: line %d contains unprintable chars:\n"
 "%s\n"
 msgstr ""
 
-#: src/lang.c:1290
+#: src/lang.c:1340
 msgid ""
 "\n"
 "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
 msgstr ""
 
-#: src/lang.c:1291
+#: src/lang.c:1341
 #, fuzzy
 msgid "Writing attributes file..."
 msgstr "Escribiendo ficheroâ€¦"
 
-#: src/lang.c:1292
+#: src/lang.c:1342
 #, fuzzy, c-format
 msgid "Writing %s\n"
 msgstr "Escribir %s\n"
 
-#: src/lang.c:1293
+#: src/lang.c:1343
 #, fuzzy
 msgid "Writing overview cache..."
 msgstr "Escribiendo ficheroâ€¦"
 
-#: src/lang.c:1295
+#: src/lang.c:1345
 #, fuzzy, c-format
 msgid "%4d Responses"
 msgstr "Respuestas existentes"
 
-#: src/lang.c:1297
+#: src/lang.c:1347
 msgid "Can't run slrnface: couldn't construct fifo name."
 msgstr ""
 
-#: src/lang.c:1298
+#: src/lang.c:1348
 #, c-format
 msgid "Can't run slrnface: failed to create %s"
 msgstr ""
 
-#: src/lang.c:1299
+#: src/lang.c:1349
 #, fuzzy, c-format
 msgid "Slrnface abnormally exited, code %d."
 msgstr "Programa terminado abnormalmente con valor de salida: %d\n"
 
-#: src/lang.c:1300
+#: src/lang.c:1350
 #, fuzzy, c-format
 msgid "Slrnface failed: %s."
 msgstr "fallado %s a Â«%sÂ» (%s)"
 
-#: src/lang.c:1301
+#: src/lang.c:1352
 #, c-format
 msgid "Can't run slrnface: Environment variable %s not found."
 msgstr ""
 
-#: src/lang.c:1302
+#: src/lang.c:1354
 msgid "Can't run slrnface: Not running in an xterm."
 msgstr ""
 
-#: src/lang.c:1303
+#: src/lang.c:1357
 msgid "couldn't connect to display"
 msgstr ""
 
-#: src/lang.c:1304
+#: src/lang.c:1358
 #, fuzzy
 msgid "can't open FIFO"
 msgstr "no se puede abrir %s"
 
-#: src/lang.c:1305
+#: src/lang.c:1359
 msgid "executable not found"
 msgstr ""
 
-#: src/lang.c:1306
+#: src/lang.c:1360
 msgid "fork() failed"
 msgstr ""
 
-#: src/lang.c:1307
+#: src/lang.c:1361
 msgid "couldn't find controlling terminal"
 msgstr ""
 
-#: src/lang.c:1308
+#: src/lang.c:1362
 msgid "terminal doesn't export width and height"
 msgstr ""
 
-#: src/lang.c:1310
+#: src/lang.c:1363
 msgid "WINDOWID not found in environment"
 msgstr ""
 
-#: src/lang.c:1311
+#: src/lang.c:1364
 msgid ""
 "This directory is used to create named pipes for communication between\n"
 "slrnface and its parent process. It should normally be empty because\n"
@@ -4880,31 +5014,31 @@ msgid ""
 "Do not try to remove them.\n"
 msgstr ""
 
-#: src/lang.c:1324
+#: src/lang.c:1377
 #, fuzzy, c-format
 msgid "Added %d %s"
 msgstr "Se aÃ±adiÃ³ la pista %d a la lista %s\n"
 
-#: src/lang.c:1325
+#: src/lang.c:1378
 #, fuzzy
 msgid "No unsubscribed groups to show"
 msgstr "GRUPOS"
 
-#: src/lang.c:1326
+#: src/lang.c:1379
 msgid "Showing subscribed to groups only"
 msgstr ""
 
-#: src/lang.c:1327
+#: src/lang.c:1380
 #, fuzzy
 msgid "Yes "
 msgstr "Si "
 
-#: src/lang.c:1328
+#: src/lang.c:1381
 #, fuzzy
 msgid "You have mail"
 msgstr "Tiene correo"
 
-#: src/lang.c:1333
+#: src/lang.c:1386
 #, c-format
 msgid ""
 "\n"
@@ -4917,12 +5051,12 @@ msgid ""
 "         M)enu option.\n"
 msgstr ""
 
-#: src/lang.c:1344
+#: src/lang.c:1397
 #, fuzzy
 msgid "  -D mode  debug mode"
 msgstr "ejecutar en modo depurado, no demonizado"
 
-#: src/lang.c:1348
+#: src/lang.c:1401
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4939,12 +5073,12 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:1357
+#: src/lang.c:1410
 #, fuzzy
 msgid "toggle color"
 msgstr "detallar"
 
-#: src/lang.c:1358
+#: src/lang.c:1411
 msgid ""
 "# Changing colors of several screen parts\n"
 "# Possible values are:\n"
@@ -4969,454 +5103,453 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:1378
+#: src/lang.c:1431
 #, fuzzy
 msgid "  -a       toggle color flag"
 msgstr "detallar"
 
-#: src/lang.c:1382
+#: src/lang.c:1435
 msgid ""
 "\n"
 "Error: Followup-To set to more than one newsgroup!\n"
 msgstr ""
 
-#: src/lang.c:1383
+#: src/lang.c:1436
 #, fuzzy, c-format
 msgid ""
 "\n"
 "Error: \"%s\" is renamed, use \"%s\" instead!\n"
 msgstr "error sintÃ¡ctico: esperando ')' en vez de %s"
 
-#: src/lang.c:1384
+#: src/lang.c:1437
 #, c-format
 msgid ""
 "\n"
 "Error: cross-posting to %d newsgroups and no Followup-To line!\n"
 msgstr ""
 
-#: src/lang.c:1385
+#: src/lang.c:1438
 #, fuzzy, c-format
 msgid ""
 "\n"
 "Error: \"%s\" is not a valid newsgroup!\n"
 msgstr "\"%s\" no es un nombre de fichero vÃ¡lido"
 
-#: src/lang.c:1387
+#: src/lang.c:1440
 msgid ""
 "\n"
 "Warning: Followup-To set to more than one newsgroup!\n"
 msgstr ""
 
-#: src/lang.c:1388
+#: src/lang.c:1441
 #, c-format
 msgid ""
 "\n"
 "Warning: \"%s\" is renamed, you should use \"%s\" instead!\n"
 msgstr ""
 
-#: src/lang.c:1389
+#: src/lang.c:1442
 #, c-format
 msgid ""
 "\n"
 "Warning: cross-posting to %d newsgroups and no Followup-To line!\n"
 msgstr ""
 
-#: src/lang.c:1390
+#: src/lang.c:1443
 #, c-format
 msgid ""
 "\n"
 "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n"
 msgstr ""
 
-#: src/lang.c:1391
+#: src/lang.c:1444
 #, fuzzy, c-format
 msgid ""
 "\n"
 "Warning: \"%s\" is not a valid newsgroup at this site!\n"
 msgstr "CUIDADO; subtÃ­tulo %s no es UTF-8 vÃ¡lido\n"
 
-#: src/lang.c:1395
+#: src/lang.c:1448
 #, c-format
 msgid "%d files successfully written from %d articles. %d %s occurred."
 msgstr ""
 
-#: src/lang.c:1396
+#: src/lang.c:1449
 #, fuzzy
 msgid "Missing parts."
 msgstr "Directorio de ImportaciÃ³n [partes de .idata]"
 
-#: src/lang.c:1397
+#: src/lang.c:1450
 #, fuzzy
 msgid "No beginning."
 msgstr "empezando el: "
 
-#: src/lang.c:1398
+#: src/lang.c:1451
 #, fuzzy
 msgid "No data."
 msgstr "Sin fecha"
 
-#: src/lang.c:1399
+#: src/lang.c:1452
 msgid "Unknown error."
 msgstr "Error desconocido."
 
-#: src/lang.c:1402
+#: src/lang.c:1456
 #, fuzzy, c-format
-msgid "\tChecksum of %s (%ld %s)"
-msgstr "%s: %s checksum: %u\n"
-
-#: src/lang.c:1407
-#, fuzzy
-msgid "Reading mail active file... "
+msgid "Reading mail active file: %s"
 msgstr "Error leyendo fichero intercambio"
 
-#: src/lang.c:1408
-#, fuzzy
-msgid "Reading mailgroups file... "
+#: src/lang.c:1457
+#, fuzzy, c-format
+msgid "Reading mailgroups file: %s"
 msgstr "Error leyendo fichero intercambio"
 
-#: src/lang.c:1412
+#: src/lang.c:1461
 #, fuzzy
 msgid "perform PGP operations on article"
 msgstr "%s: no se pudieron realizar todas las operaciones solicitadas"
 
-#: src/lang.c:1413
+#: src/lang.c:1462
 #, fuzzy
 msgid "Add key(s) to public keyring?"
 msgstr "AÃ±ade una llave a un anillo"
 
-#: src/lang.c:1414
+#: src/lang.c:1463
 #, c-format
 msgid "%s=encrypt, %s=sign, %s=both, %s=quit: "
 msgstr ""
 
-#: src/lang.c:1415
+#: src/lang.c:1464
 #, c-format
 msgid "%s=sign, %s=sign & include public key, %s=quit: "
 msgstr ""
 
-#: src/lang.c:1416
+#: src/lang.c:1465
 #, c-format
 msgid "PGP has not been set up (can't open %s)"
 msgstr ""
 
-#: src/lang.c:1417
+#: src/lang.c:1466
 msgid "Article not signed and no public keys found"
 msgstr ""
 
-#: src/lang.c:1419
+#: src/lang.c:1468
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:1420
+#: src/lang.c:1469
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: "
 msgstr ""
 
-#: src/lang.c:1421
+#: src/lang.c:1470
 #, c-format
 msgid ""
 "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 
-#: src/lang.c:1423
+#: src/lang.c:1472
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:1424
+#: src/lang.c:1473
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: "
 msgstr ""
 
-#: src/lang.c:1425
+#: src/lang.c:1474
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 
-#: src/lang.c:1429
+#: src/lang.c:1478
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:1430
+#: src/lang.c:1479
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: "
 msgstr ""
 
-#: src/lang.c:1431
+#: src/lang.c:1480
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 
-#: src/lang.c:1433
+#: src/lang.c:1482
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:1434
+#: src/lang.c:1483
 #, c-format
 msgid "%s=quit, %s=edit, %s=send [%%s]: "
 msgstr ""
 
-#: src/lang.c:1435
+#: src/lang.c:1484
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 
-#: src/lang.c:1441
+#: src/lang.c:1489
 msgid "Try cache_overview_files to speed up things.\n"
 msgstr ""
 
-#: src/lang.c:1442
+#: src/lang.c:1490
 msgid "Tin will use local index files instead.\n"
 msgstr ""
 
-#: src/lang.c:1443
+#: src/lang.c:1491
 #, fuzzy
 msgid "Cannot find NNTP server name"
 msgstr "no se puede encontrar el nombre para el usuario con ID %s"
 
-#: src/lang.c:1444
+#: src/lang.c:1492
 msgid "CAPABILITIES did not announce READER"
 msgstr ""
 
-#: src/lang.c:1445
+#: src/lang.c:1493
 #, fuzzy, c-format
 msgid "Connecting to %s:%u..."
 msgstr "conectando a %s"
 
-#: src/lang.c:1446
+#: src/lang.c:1494
 #, fuzzy
 msgid "NNTP connection error. Exiting..."
 msgstr "Error pelÃ­cula capturada... Terminando."
 
-#: src/lang.c:1447
+#: src/lang.c:1495
 #, fuzzy
 msgid "Disconnecting from server..."
 msgstr ""
 "Error adesconectado desde fam.\n"
 "\n"
 
-#: src/lang.c:1448
+#: src/lang.c:1496
 #, c-format
 msgid "Failed to connect to NNTP server %s. Exiting..."
 msgstr ""
 
-#: src/lang.c:1449
+#: src/lang.c:1497
 #, fuzzy
 msgid "205  Closing connection"
 msgstr "Cerrando"
 
-#: src/lang.c:1450
+#: src/lang.c:1498
 msgid "Your server does not support the NNTP XOVER or OVER command.\n"
 msgstr ""
 
-#: src/lang.c:1452
+#: src/lang.c:1499
 #, c-format
 msgid "Port isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1453
+#: src/lang.c:1500
+#, c-format
+msgid "%s argument is not numeric: %s\n"
+msgstr ""
+
+#: src/lang.c:1502
 #, c-format
 msgid "Port in %s isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1454
+#: src/lang.c:1503
 #, c-format
 msgid "reconnect (%d) limit %d reached, giving up."
 msgstr ""
 
-#: src/lang.c:1456
+#: src/lang.c:1505
 msgid "Connection to news server has timed out. Reconnect?"
 msgstr ""
 
-#: src/lang.c:1457
+#: src/lang.c:1506
 #, c-format
 msgid ""
 "Put the server name in the file %s,\n"
 "or set the environment variable NNTPSERVER"
 msgstr ""
 
-#: src/lang.c:1459
+#: src/lang.c:1508
 #, fuzzy
 msgid "Continuing..."
 msgstr "Escribiendo"
 
-#: src/lang.c:1460
-#, c-format
-msgid "Read timeout from server (%d seconds) - quit tin?"
+#: src/lang.c:1509
+msgid "Read timeout from server - quit tin?"
 msgstr ""
 
-#: src/lang.c:1461
+#: src/lang.c:1510
 msgid "  -C       try COMPRESS NNTP extension"
 msgstr ""
 
-#: src/lang.c:1463
+#: src/lang.c:1512
 #, fuzzy
 msgid "  -A       force authentication on connect"
 msgstr "AutenticaciÃ³n"
 
-#: src/lang.c:1464
+#: src/lang.c:1513
 #, c-format
 msgid "  -g serv  read news from NNTP server serv [default=%s]"
 msgstr ""
 
-#: src/lang.c:1465
+#: src/lang.c:1514
 #, c-format
 msgid "  -p port  use port as NNTP port [default=%d]"
 msgstr ""
 
-#: src/lang.c:1467
+#: src/lang.c:1516
 msgid "  -k       skip verification for NNTPS"
 msgstr ""
 
-#: src/lang.c:1468
+#: src/lang.c:1517
 msgid "  -T       enable NNTPS"
 msgstr ""
 
-#: src/lang.c:1470
+#: src/lang.c:1519
 msgid "  -Q       quick start. Same as -dnq"
 msgstr ""
 
-#: src/lang.c:1471
+#: src/lang.c:1520
 msgid "  -r       read news remotely from default NNTP server"
 msgstr ""
 
-#: src/lang.c:1472
+#: src/lang.c:1521
 msgid "  -l       use only LIST instead of GROUP (-n) command"
 msgstr ""
 
-#: src/lang.c:1473
+#: src/lang.c:1522
 msgid "  -n       only read subscribed .newsrc groups from NNTP server"
 msgstr ""
 
-#: src/lang.c:1475
+#: src/lang.c:1524
 msgid "  -4       force connecting via IPv4"
 msgstr ""
 
-#: src/lang.c:1476
+#: src/lang.c:1525
 msgid "  -6       force connecting via IPv6"
 msgstr ""
 
-#: src/lang.c:1477
+#: src/lang.c:1526
 #, fuzzy
 msgid ""
 "\n"
 "socket or connect problem\n"
 msgstr "conectar a este socket"
 
-#: src/lang.c:1479
+#: src/lang.c:1528
 #, fuzzy, c-format
 msgid ""
 "\n"
 "Connection to %s: "
 msgstr "ConexiÃ³n verificada a %s (cert=%s)"
 
-#: src/lang.c:1480
+#: src/lang.c:1529
 #, fuzzy
 msgid "Giving up...\n"
 msgstr "Â¡Incapaz de resolver las dependencias! Desistiendo..."
 
-#: src/lang.c:1482
+#: src/lang.c:1531
 #, fuzzy, c-format
 msgid "%s/tcp: Unknown service.\n"
 msgstr "%s:%d: nombre de servicio desconocido"
 
-#: src/lang.c:1486
+#: src/lang.c:1535
 msgid ""
 "Your server does not have Xref: in its XOVER information.\n"
 "Tin will try to use XHDR XREF instead (slows down things a bit).\n"
 msgstr ""
 
-#: src/lang.c:1489
+#: src/lang.c:1538
 msgid "Your server does not have Xref: in its XOVER information.\n"
 msgstr ""
 
-#: src/lang.c:1492
+#: src/lang.c:1541
 #, c-format
 msgid "Can't open %s. Try %s -r to read news via NNTP."
 msgstr ""
 
-#: src/lang.c:1495
+#: src/lang.c:1544
 msgid "  -Q       quick start. Same as -dq"
 msgstr ""
 
-#: src/lang.c:1496
+#: src/lang.c:1545
 msgid "  -l       read only active file instead of scanning spool (-n) command"
 msgstr ""
 
-#: src/lang.c:1497
+#: src/lang.c:1546
 msgid "  -n       only read subscribed .newsrc groups from spool"
 msgstr ""
 
-#: src/lang.c:1498
+#: src/lang.c:1547
 msgid "Your server does not have Xref: in its NOV-files.\n"
 msgstr ""
 
-#: src/lang.c:1502
+#: src/lang.c:1551
 msgid "Posting using external inews failed. Use built in inews instead?"
 msgstr ""
 
-#: src/lang.c:1503
+#: src/lang.c:1552
 msgid "It worked! Should I always use my built in inews from now on?"
 msgstr ""
 
-#: src/lang.c:1507
+#: src/lang.c:1556
 #, fuzzy, c-format
 msgid "%d %s printed"
 msgstr "Impreso por %s"
 
-#: src/lang.c:1508
+#: src/lang.c:1557
 msgid "output article/thread/hot/pattern/tagged articles to printer"
 msgstr ""
 
-#: src/lang.c:1509
+#: src/lang.c:1558
 msgid "Print"
 msgstr "Imprimir"
 
-#: src/lang.c:1510
+#: src/lang.c:1559
 #, fuzzy
 msgid "Printing..."
 msgstr "Escribiendo"
 
-#: src/lang.c:1514
+#: src/lang.c:1563
 #, fuzzy, c-format
 msgid "%d %s piped to \"%s\""
 msgstr "  %d.%d.%d.%d/%d => %s\n"
 
-#: src/lang.c:1515
+#: src/lang.c:1564
 msgid "pipe article/thread/hot/pattern/tagged articles into command"
 msgstr ""
 
-#: src/lang.c:1516
+#: src/lang.c:1565
 #, fuzzy
 msgid "No command"
 msgstr "[mandato]"
 
-#: src/lang.c:1517
+#: src/lang.c:1566
 #, fuzzy
 msgid "Pipe"
 msgstr "creando una tuberÃ­a para --pipe fallada: %m\n"
 
-#: src/lang.c:1518
+#: src/lang.c:1567
 #, fuzzy, c-format
 msgid "Pipe to command [%.*s]> "
 msgstr "No puede abrir una tuberÃ­a a orden Â«%sÂ»"
 
-#: src/lang.c:1519
+#: src/lang.c:1568
 #, fuzzy
 msgid "Piping..."
 msgstr ""
 "   -P, --no-piping            utiliza ficheros temporales entre los "
 "programas\n"
 
-#: src/lang.c:1521
+#: src/lang.c:1570
 #, fuzzy
 msgid "Piping not enabled."
 msgstr "Activado"
 
-#: src/lang.c:1525
+#: src/lang.c:1574
 #, c-format
 msgid ""
 "\n"
@@ -5426,7 +5559,7 @@ msgid ""
 "       newsgroup names.\n"
 msgstr ""
 
-#: src/lang.c:1530
+#: src/lang.c:1579
 #, c-format
 msgid ""
 "\n"
@@ -5435,7 +5568,7 @@ msgid ""
 "       Please write all newsgroups into a single line.\n"
 msgstr ""
 
-#: src/lang.c:1535
+#: src/lang.c:1584
 #, c-format
 msgid ""
 "\n"
@@ -5444,14 +5577,14 @@ msgid ""
 "         To avoid trouble please write all newsgroups into a single line.\n"
 msgstr ""
 
-#: src/lang.c:1539
+#: src/lang.c:1588
 #, c-format
 msgid ""
 "\n"
 "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n"
 msgstr ""
 
-#: src/lang.c:1544
+#: src/lang.c:1593
 msgid ""
 "\n"
 "  If your article contains quoted text  please take some time to pare it "
@@ -5473,7 +5606,7 @@ msgid ""
 "  likely to ignore it completely.  It's a crowded net out there.\n"
 msgstr ""
 
-#: src/lang.c:1557
+#: src/lang.c:1606
 #, fuzzy
 msgid "shell escape"
 msgstr ""
@@ -5490,696 +5623,696 @@ msgstr ""
 "                               literal, locale, shell, shell-always, c, "
 "escape\n"
 
-#: src/lang.c:1558
+#: src/lang.c:1607
 #, fuzzy, c-format
 msgid "Shell Command (%s)"
 msgstr "%s es una palabra clave del â€˜shellâ€™\n"
 
-#: src/lang.c:1559
+#: src/lang.c:1608
 #, fuzzy, c-format
 msgid "Enter shell command [%s]> "
 msgstr "Para continuar, introduzca Â«%sÂ»; para abortar, introduzca Â«%sÂ»:"
 
-#: src/lang.c:1563
+#: src/lang.c:1612
 #, fuzzy, c-format
 msgid "%s: Can't get entry for TERM\n"
 msgstr ""
 "\n"
 "No se puede obtener el contenido de la secciÃ³n '%s'.\n"
 
-#: src/lang.c:1567
+#: src/lang.c:1616
 #, fuzzy, c-format
 msgid "Group %.*s ('q' to quit)..."
 msgstr "B<(pulse h para ayuda o q para salir)>"
 
-#: src/lang.c:1569
+#: src/lang.c:1618
 #, fuzzy, c-format
 msgid "Group %.*s..."
 msgstr "sin tal grupo: %s"
 
-#: src/lang.c:1573
+#: src/lang.c:1622
 #, fuzzy
 msgid "Server unavailable\n"
 msgstr "NO DISPONIBLE"
 
-#: src/lang.c:1579
+#: src/lang.c:1628
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
 "%s=post"
 msgstr ""
 
-#: src/lang.c:1580
+#: src/lang.c:1629
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1582
+#: src/lang.c:1631
 #, c-format
 msgid ""
 "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1583
+#: src/lang.c:1632
 #, c-format
 msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1587
+#: src/lang.c:1636
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1588
+#: src/lang.c:1637
 #, c-format
 msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1590
+#: src/lang.c:1639
 #, c-format
 msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1591
+#: src/lang.c:1640
 #, c-format
 msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1597
+#: src/lang.c:1646
 #, fuzzy
 msgid "Terminal does not support color"
 msgstr "La instrucciÃ³n no admite las =N direcciones"
 
-#: src/lang.c:1602
+#: src/lang.c:1651
 #, fuzzy, c-format
 msgid "Trying %s"
 msgstr "Tratando de hacer 'bal' a %s"
 
-#: src/lang.c:1617
+#: src/lang.c:1666
 msgid "Subject"
 msgstr "Asunto"
 
-#: src/lang.c:1618
+#: src/lang.c:1667
 msgid "References"
 msgstr "Referencias"
 
-#: src/lang.c:1619
+#: src/lang.c:1668
 #, fuzzy
 msgid "Both Subject and References"
 msgstr "ambos asunto como cuerpo son requeridos."
 
-#: src/lang.c:1620
+#: src/lang.c:1669
 #, fuzzy
 msgid "Multipart Subject"
 msgstr "<sin asunto>"
 
-#: src/lang.c:1621
+#: src/lang.c:1670
 #, fuzzy
 msgid "Percentage Match"
 msgstr "Porcentaje titulado: "
 
-#: src/lang.c:1634 src/lang.c:1725 src/lang.c:1824 src/lang.c:1927
+#: src/lang.c:1683 src/lang.c:1774 src/lang.c:1880 src/lang.c:1983
 msgid "No"
 msgstr ""
 
-#: src/lang.c:1635 src/lang.c:1826
+#: src/lang.c:1684 src/lang.c:1882
 #, fuzzy
 msgid "Yes"
 msgstr "sÃ­"
 
-#: src/lang.c:1636
+#: src/lang.c:1685
 #, fuzzy
 msgid "Hide all"
 msgstr "_Mostrar/Ocultar"
 
-#: src/lang.c:1645
+#: src/lang.c:1694
 msgid "Address"
 msgstr "DirecciÃ³n"
 
-#: src/lang.c:1646
+#: src/lang.c:1695
 msgid "Full Name"
 msgstr "Nombre completo"
 
-#: src/lang.c:1647
+#: src/lang.c:1696
 #, fuzzy
 msgid "Address and Name"
 msgstr "Nombre de DirecciÃ³n"
 
-#: src/lang.c:1655
+#: src/lang.c:1704
 msgid "Max"
 msgstr "MÃ¡x"
 
-#: src/lang.c:1656
+#: src/lang.c:1705
 #, fuzzy
 msgid "Sum"
 msgstr "Â¿Calcular como total?"
 
-#: src/lang.c:1657
+#: src/lang.c:1706
 #, fuzzy
 msgid "Average"
 msgstr "MEDIA"
 
-#: src/lang.c:1667 src/lang.c:1687
+#: src/lang.c:1716 src/lang.c:1736
 #, fuzzy
 msgid "Black"
 msgstr "Negro"
 
-#: src/lang.c:1668 src/lang.c:1688
+#: src/lang.c:1717 src/lang.c:1737
 msgid "Red"
 msgstr "Rojo"
 
-#: src/lang.c:1669 src/lang.c:1689
+#: src/lang.c:1718 src/lang.c:1738
 msgid "Green"
 msgstr "Verde (G)"
 
-#: src/lang.c:1670 src/lang.c:1690
+#: src/lang.c:1719 src/lang.c:1739
 #, fuzzy
 msgid "Brown"
 msgstr "MarrÃ³n"
 
-#: src/lang.c:1671 src/lang.c:1691
+#: src/lang.c:1720 src/lang.c:1740
 msgid "Blue"
 msgstr "Azul (B)"
 
-#: src/lang.c:1672 src/lang.c:1692
+#: src/lang.c:1721 src/lang.c:1741
 #, fuzzy
 msgid "Pink"
 msgstr "Rosa"
 
-#: src/lang.c:1673 src/lang.c:1693
+#: src/lang.c:1722 src/lang.c:1742
 #, fuzzy
 msgid "Cyan"
 msgstr "Cyan"
 
-#: src/lang.c:1674 src/lang.c:1694
+#: src/lang.c:1723 src/lang.c:1743
 #, fuzzy
 msgid "White"
 msgstr "Nivel de blancos"
 
-#: src/lang.c:1675
+#: src/lang.c:1724
 #, fuzzy
 msgid "Gray"
 msgstr "Gris"
 
-#: src/lang.c:1676
+#: src/lang.c:1725
 #, fuzzy
 msgid "Light Red"
 msgstr "Rojo claro"
 
-#: src/lang.c:1677
+#: src/lang.c:1726
 #, fuzzy
 msgid "Light Green"
 msgstr "Verde claro"
 
-#: src/lang.c:1678
+#: src/lang.c:1727
 msgid "Yellow"
 msgstr "Amarillo"
 
-#: src/lang.c:1679
+#: src/lang.c:1728
 #, fuzzy
 msgid "Light Blue"
 msgstr "Azul claro"
 
-#: src/lang.c:1680
+#: src/lang.c:1729
 #, fuzzy
 msgid "Light Pink"
 msgstr "Suave"
 
-#: src/lang.c:1681
+#: src/lang.c:1730
 #, fuzzy
 msgid "Light Cyan"
 msgstr "Suave"
 
-#: src/lang.c:1682
+#: src/lang.c:1731
 #, fuzzy
 msgid "Light White"
 msgstr "Suave"
 
-#: src/lang.c:1703 src/lang.c:1831 src/lang.c:1846
+#: src/lang.c:1752 src/lang.c:1887 src/lang.c:1902
 #, fuzzy
 msgid "Nothing"
 msgstr "Nada"
 
-#: src/lang.c:1705
+#: src/lang.c:1754
 msgid "Space"
 msgstr "Espacio"
 
-#: src/lang.c:1713
+#: src/lang.c:1762
 msgid "Normal"
 msgstr "Normal"
 
-#: src/lang.c:1714
+#: src/lang.c:1763
 #, fuzzy
 msgid "Best highlighting"
 msgstr "Mejor"
 
-#: src/lang.c:1715
+#: src/lang.c:1764
 #, fuzzy
 msgid "Underline"
 msgstr "Enlaces subrayados"
 
-#: src/lang.c:1716
+#: src/lang.c:1765
 #, fuzzy
 msgid "Reverse video"
 msgstr "revertir"
 
-#: src/lang.c:1717
+#: src/lang.c:1766
 msgid "Blinking"
 msgstr ""
 
-#: src/lang.c:1718
+#: src/lang.c:1767
 #, fuzzy
 msgid "Half bright"
 msgstr "Brillo+"
 
-#: src/lang.c:1719
+#: src/lang.c:1768
 #, fuzzy
 msgid "Bold"
 msgstr "B<resaltar texto>"
 
-#: src/lang.c:1726
+#: src/lang.c:1775
 msgid "Cc"
 msgstr "Cc"
 
-#: src/lang.c:1727
+#: src/lang.c:1776
 msgid "Bcc"
 msgstr ""
 
-#: src/lang.c:1728
+#: src/lang.c:1777
 #, fuzzy
 msgid "Cc and Bcc"
 msgstr "Cc:"
 
-#: src/lang.c:1745 src/lang.c:1758
+#: src/lang.c:1794 src/lang.c:1807
 #, fuzzy
 msgid "none"
 msgstr "NINGUNO"
 
-#: src/lang.c:1746
+#: src/lang.c:1795
 #, fuzzy
 msgid "commands"
 msgstr "Ã“rdenes:"
 
-#: src/lang.c:1747
+#: src/lang.c:1796
 msgid "select"
 msgstr "select"
 
-#: src/lang.c:1749
+#: src/lang.c:1798
 #, fuzzy
 msgid "commands & quit"
 msgstr "\tÃ³rdenes:\n"
 
-#: src/lang.c:1750
+#: src/lang.c:1799
 #, fuzzy
 msgid "commands & select"
 msgstr " Ã³rdenes:\n"
 
-#: src/lang.c:1751
+#: src/lang.c:1800
 #, fuzzy
 msgid "quit & select"
 msgstr "_Salir"
 
-#: src/lang.c:1752
+#: src/lang.c:1801
 #, fuzzy
 msgid "commands & quit & select"
 msgstr "Ã“rdenes:"
 
-#: src/lang.c:1759
+#: src/lang.c:1808
 msgid "PageDown"
 msgstr ""
 
-#: src/lang.c:1760
+#: src/lang.c:1809
 msgid "PageNextUnread"
 msgstr ""
 
-#: src/lang.c:1761
+#: src/lang.c:1810
 msgid "PageDown or PageNextUnread"
 msgstr ""
 
-#: src/lang.c:1767
+#: src/lang.c:1816
 #, fuzzy
 msgid "Subject: (case sensitive)"
 msgstr "distinguir mayÃºsculas"
 
-#: src/lang.c:1768
+#: src/lang.c:1817
 #, fuzzy
 msgid "Subject: (ignore case)"
 msgstr "  +i,  --no-ignore-case   distingue entre mayÃºsculas y minÃºsculas\n"
 
-#: src/lang.c:1769
+#: src/lang.c:1818
 #, fuzzy
 msgid "From: (case sensitive)"
 msgstr "distinguir mayÃºsculas"
 
-#: src/lang.c:1770
+#: src/lang.c:1819
 #, fuzzy
 msgid "From: (ignore case)"
 msgstr "  +i,  --no-ignore-case   distingue entre mayÃºsculas y minÃºsculas\n"
 
-#: src/lang.c:1771
+#: src/lang.c:1820
 msgid "Msg-ID: & full References: line"
 msgstr ""
 
-#: src/lang.c:1772
+#: src/lang.c:1821
 msgid "Msg-ID: & last References: only"
 msgstr ""
 
-#: src/lang.c:1773
+#: src/lang.c:1822
 #, fuzzy
 msgid "Message-ID: entry only"
 msgstr "No se pudo obtener el id del mensaje"
 
-#: src/lang.c:1774
+#: src/lang.c:1823
 #, fuzzy
 msgid "Lines:"
 msgstr "<lÃ­neas>"
 
-#: src/lang.c:1780
+#: src/lang.c:1829
 msgid "Don't trim article body"
 msgstr ""
 
-#: src/lang.c:1781
+#: src/lang.c:1830
 #, fuzzy
 msgid "Skip leading blank lines"
 msgstr "LÃ­neas Destacadas a Omitir"
 
-#: src/lang.c:1782
+#: src/lang.c:1831
 #, fuzzy
 msgid "Skip trailing blank lines"
 msgstr "LÃ­neas de Separadoras a Omitir"
 
-#: src/lang.c:1783
+#: src/lang.c:1832
 msgid "Skip leading and trailing blank l."
 msgstr ""
 
-#: src/lang.c:1784
+#: src/lang.c:1833
 #, fuzzy
 msgid "Compact multiple between text"
 msgstr "m                 selecciona entre Ã¡rbol compacto y expandido"
 
-#: src/lang.c:1785
+#: src/lang.c:1834
 #, fuzzy
 msgid "Compact multiple and skip leading"
 msgstr "omitir ficheros que empiecen por <ruta> "
 
-#: src/lang.c:1786
+#: src/lang.c:1835
 #, fuzzy
 msgid "Compact multiple and skip trailing"
 msgstr "LÃ­neas de Separadoras a Omitir"
 
-#: src/lang.c:1787
+#: src/lang.c:1836
 msgid "Compact mltpl., skip lead. & trai."
 msgstr ""
 
-#: src/lang.c:1793
+#: src/lang.c:1842
 msgid "Don't show help or mail sign"
 msgstr ""
 
-#: src/lang.c:1794
+#: src/lang.c:1843
 msgid "Show only help sign"
 msgstr ""
 
-#: src/lang.c:1795
+#: src/lang.c:1844
 msgid "Show only mail sign if new mail"
 msgstr ""
 
-#: src/lang.c:1796
+#: src/lang.c:1845
 msgid "Show mail if new mail else help s."
 msgstr ""
 
-#: src/lang.c:1825
+#: src/lang.c:1881
 #, fuzzy
 msgid "Shell archive"
 msgstr "Probablemente %s no es un archivo de shell"
 
-#: src/lang.c:1832
+#: src/lang.c:1888
 #, fuzzy
 msgid "Subject: (descending)"
 msgstr "Asunto"
 
-#: src/lang.c:1833
+#: src/lang.c:1889
 #, fuzzy
 msgid "Subject: (ascending)"
 msgstr "Asunto"
 
-#: src/lang.c:1834
+#: src/lang.c:1890
 #, fuzzy
 msgid "From: (descending)"
 msgstr "Descendente"
 
-#: src/lang.c:1835
+#: src/lang.c:1891
 #, fuzzy
 msgid "From: (ascending)"
 msgstr "Ascendente"
 
-#: src/lang.c:1836
+#: src/lang.c:1892
 #, fuzzy
 msgid "Date: (descending)"
 msgstr "Descendente"
 
-#: src/lang.c:1837
+#: src/lang.c:1893
 #, fuzzy
 msgid "Date: (ascending)"
 msgstr "Ascendente"
 
-#: src/lang.c:1838 src/lang.c:1847
+#: src/lang.c:1894 src/lang.c:1903
 #, fuzzy
 msgid "Score (descending)"
 msgstr "Descendente"
 
-#: src/lang.c:1839 src/lang.c:1848
+#: src/lang.c:1895 src/lang.c:1904
 #, fuzzy
 msgid "Score (ascending)"
 msgstr "Ascendente"
 
-#: src/lang.c:1840
+#: src/lang.c:1896
 #, fuzzy
 msgid "Lines: (descending)"
 msgstr "Descendente"
 
-#: src/lang.c:1841
+#: src/lang.c:1897
 #, fuzzy
 msgid "Lines: (ascending)"
 msgstr "Ascendente"
 
-#: src/lang.c:1849
+#: src/lang.c:1905
 #, fuzzy
 msgid "Last posting date (descending)"
 msgstr "    Ãšltima fecha de parche: %.17s\n"
 
-#: src/lang.c:1850
+#: src/lang.c:1906
 #, fuzzy
 msgid "Last posting date (ascending)"
 msgstr "    Ãšltima fecha de parche: %.17s\n"
 
-#: src/lang.c:1856
+#: src/lang.c:1912
 #, fuzzy
 msgid "Quick-sort"
 msgstr "Â¿Â¡Â¿Tan rÃ¡pido?!?"
 
-#: src/lang.c:1857
+#: src/lang.c:1913
 #, fuzzy
 msgid "Heap-sort"
 msgstr "_Ordenar porâ€¦"
 
-#: src/lang.c:1864
+#: src/lang.c:1920
 #, fuzzy
 msgid "Always Keep"
 msgstr "Siempre"
 
-#: src/lang.c:1865
+#: src/lang.c:1921
 #, fuzzy
 msgid "Always Remove"
 msgstr "SIEMPRE ACTIVO"
 
-#: src/lang.c:1866
+#: src/lang.c:1922
 #, fuzzy
 msgid "Mark with D on selection screen"
 msgstr " Seleccione Marcador (pantalla %d de %d)"
 
-#: src/lang.c:1872
+#: src/lang.c:1928
 msgid "Kill only unread arts"
 msgstr ""
 
-#: src/lang.c:1873
+#: src/lang.c:1929
 msgid "Kill all arts & show with K"
 msgstr ""
 
 #. TODO: s/K/art_marked_killed/
-#: src/lang.c:1874
+#: src/lang.c:1930
 msgid "Kill all arts and never show"
 msgstr ""
 
-#: src/lang.c:1880
+#: src/lang.c:1936
 #, fuzzy
 msgid "Nothing special"
 msgstr "Nada."
 
-#: src/lang.c:1881
+#: src/lang.c:1937
 #, fuzzy
 msgid "Compress quotes"
 msgstr "comprimir"
 
-#: src/lang.c:1882
+#: src/lang.c:1938
 #, fuzzy
 msgid "Quote signatures"
 msgstr "eliminar firmas de paquetes"
 
-#: src/lang.c:1883
+#: src/lang.c:1939
 msgid "Compress quotes, quote sigs"
 msgstr ""
 
-#: src/lang.c:1884
+#: src/lang.c:1940
 #, fuzzy
 msgid "Quote empty lines"
 msgstr "VacÃ­a"
 
-#: src/lang.c:1885
+#: src/lang.c:1941
 msgid "Compress quotes, quote empty lines"
 msgstr ""
 
-#: src/lang.c:1886
+#: src/lang.c:1942
 msgid "Quote sigs & empty lines"
 msgstr ""
 
-#: src/lang.c:1887
+#: src/lang.c:1943
 msgid "Comp. q., quote sigs & empty lines"
 msgstr ""
 
-#: src/lang.c:1928
+#: src/lang.c:1984
 #, fuzzy
 msgid "With headers"
 msgstr " con encabezados"
 
-#: src/lang.c:1929
+#: src/lang.c:1985
 #, fuzzy
 msgid "Without headers"
 msgstr " sin encabezados"
 
-#: src/lang.c:1936
+#: src/lang.c:1992
 #, fuzzy
 msgid "NFKC"
 msgstr "`%.*s' no estÃ¡ en NFKC"
 
-#: src/lang.c:1938
+#: src/lang.c:1994
 msgid "NFKD"
 msgstr ""
 
-#: src/lang.c:1939
+#: src/lang.c:1995
 #, fuzzy
 msgid "NFC"
 msgstr "`%.*s' no estÃ¡ en NFC"
 
-#: src/lang.c:1940
+#: src/lang.c:1996
 msgid "NFD"
 msgstr ""
 
-#: src/lang.c:1942
+#: src/lang.c:1998
 msgid "NFKC case fold"
 msgstr ""
 
-#: src/lang.c:1951
+#: src/lang.c:2007
 #, fuzzy
 msgid "Display Options"
 msgstr "EnseÃ±ar opciones"
 
-#: src/lang.c:1958
+#: src/lang.c:2014
 #, fuzzy
 msgid "Color Options"
 msgstr "Color"
 
-#: src/lang.c:1964
+#: src/lang.c:2020
 #, fuzzy
 msgid "Highlight Options"
 msgstr "Opciones:"
 
-#: src/lang.c:1971
+#: src/lang.c:2027
 #, fuzzy
 msgid "Article-Limiting Options"
 msgstr "Limitando Vista"
 
-#: src/lang.c:1977
+#: src/lang.c:2033
 #, fuzzy
 msgid "Posting/Mailing Options"
 msgstr "EstarÃ¡ publicando a:"
 
-#: src/lang.c:1983
+#: src/lang.c:2039
 #, fuzzy
 msgid "Saving/Printing Options"
 msgstr "Opciones de Escritura"
 
-#: src/lang.c:1989
+#: src/lang.c:2045
 #, fuzzy
 msgid "Expert Options"
 msgstr "Expertos"
 
-#: src/lang.c:1995
+#: src/lang.c:2051
 #, fuzzy
 msgid "Filtering Options"
 msgstr "(Ahora Filtrando)"
 
-#: src/lang.c:2000 src/lang.c:2031 src/lang.c:2037 src/lang.c:2064
-#: src/lang.c:2116 src/lang.c:2122 src/lang.c:2132 src/lang.c:2143
-#: src/lang.c:2161 src/lang.c:2172 src/lang.c:2241 src/lang.c:2456
-#: src/lang.c:2462 src/lang.c:2468 src/lang.c:2483 src/lang.c:2495
-#: src/lang.c:2502 src/lang.c:2556 src/lang.c:2565 src/lang.c:2571
-#: src/lang.c:2578 src/lang.c:2585 src/lang.c:2592 src/lang.c:2599
-#: src/lang.c:2606 src/lang.c:2613 src/lang.c:2620 src/lang.c:2627
+#: src/lang.c:2056 src/lang.c:2087 src/lang.c:2093 src/lang.c:2120
+#: src/lang.c:2172 src/lang.c:2178 src/lang.c:2188 src/lang.c:2199
+#: src/lang.c:2217 src/lang.c:2228 src/lang.c:2297 src/lang.c:2512
+#: src/lang.c:2518 src/lang.c:2524 src/lang.c:2539 src/lang.c:2551
+#: src/lang.c:2558 src/lang.c:2612 src/lang.c:2621 src/lang.c:2627
 #: src/lang.c:2634 src/lang.c:2641 src/lang.c:2648 src/lang.c:2655
 #: src/lang.c:2662 src/lang.c:2669 src/lang.c:2676 src/lang.c:2683
 #: src/lang.c:2690 src/lang.c:2697 src/lang.c:2704 src/lang.c:2711
 #: src/lang.c:2718 src/lang.c:2725 src/lang.c:2732 src/lang.c:2739
-#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2761 src/lang.c:2777
-#: src/lang.c:2784 src/lang.c:2791 src/lang.c:2798 src/lang.c:2804
-#: src/lang.c:2810 src/lang.c:2827 src/lang.c:2839 src/lang.c:2874
-#: src/lang.c:2927 src/lang.c:2941 src/lang.c:2947 src/lang.c:2972
-#: src/lang.c:2990 src/lang.c:3007 src/lang.c:3019 src/lang.c:3052
-#: src/lang.c:3081 src/lang.c:3101 src/lang.c:3129 src/lang.c:3139
-#: src/lang.c:3146 src/lang.c:3172 src/lang.c:3196 src/lang.c:3343
-#: src/lang.c:3358 src/lang.c:3366 src/lang.c:3380 src/lang.c:3386
-#: src/lang.c:3424
+#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2760 src/lang.c:2767
+#: src/lang.c:2774 src/lang.c:2781 src/lang.c:2788 src/lang.c:2795
+#: src/lang.c:2802 src/lang.c:2809 src/lang.c:2817 src/lang.c:2833
+#: src/lang.c:2840 src/lang.c:2847 src/lang.c:2854 src/lang.c:2860
+#: src/lang.c:2866 src/lang.c:2889 src/lang.c:2901 src/lang.c:2936
+#: src/lang.c:2989 src/lang.c:3003 src/lang.c:3009 src/lang.c:3034
+#: src/lang.c:3052 src/lang.c:3069 src/lang.c:3081 src/lang.c:3114
+#: src/lang.c:3143 src/lang.c:3163 src/lang.c:3190 src/lang.c:3200
+#: src/lang.c:3207 src/lang.c:3233 src/lang.c:3257 src/lang.c:3412
+#: src/lang.c:3427 src/lang.c:3435 src/lang.c:3449 src/lang.c:3455
+#: src/lang.c:3493
 #, fuzzy
 msgid "<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr "<SPACE> alterna, <CR> establece, <ESC> cancela."
 
-#: src/lang.c:2001
+#: src/lang.c:2057
 msgid "Show mini menu & posting etiquette"
 msgstr ""
 
-#: src/lang.c:2002
+#: src/lang.c:2058
 msgid ""
 "# If ON show a mini menu of useful commands at each level\n"
 "# and posting etiquette after composing an article\n"
 msgstr ""
 
-#: src/lang.c:2007
+#: src/lang.c:2063
 msgid "Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2008
+#: src/lang.c:2064
 #, fuzzy
 msgid "Show description of each newsgroup"
 msgstr "Muestra una descripciÃ³n de cuenta."
 
-#: src/lang.c:2009
+#: src/lang.c:2065
 msgid ""
 "# If ON show group description text after newsgroup name at\n"
 "# group selection level\n"
 msgstr ""
 
-#: src/lang.c:2014
+#: src/lang.c:2070
 msgid ""
 "Show From (author) fields in group & thread level. <SPACE> toggles & <CR> "
 "sets."
 msgstr ""
 
-#: src/lang.c:2015
+#: src/lang.c:2071
 msgid "In group and thread level, show author by"
 msgstr ""
 
-#: src/lang.c:2016
+#: src/lang.c:2072
 msgid ""
 "# Part of From field to display in group and thread level\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6189,34 +6322,34 @@ msgid ""
 "#   3 = both\n"
 msgstr ""
 
-#: src/lang.c:2025
+#: src/lang.c:2081
 msgid "Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2026
+#: src/lang.c:2082
 msgid "Draw -> instead of highlighted bar"
 msgstr ""
 
-#: src/lang.c:2027
+#: src/lang.c:2083
 msgid "# If ON use -> otherwise highlighted bar for selection\n"
 msgstr ""
 
-#: src/lang.c:2032
+#: src/lang.c:2088
 msgid "Use inverse video for page headers"
 msgstr ""
 
-#: src/lang.c:2033
+#: src/lang.c:2089
 msgid "# If ON use inverse video for page headers at different levels\n"
 msgstr ""
 
-#: src/lang.c:2038
+#: src/lang.c:2094
 #, fuzzy
 msgid "Thread articles by"
 msgstr ""
 "\n"
 "NingÃºn artÃ­culo dentro de este grupo.\n"
 
-#: src/lang.c:2039
+#: src/lang.c:2095
 msgid ""
 "# Thread articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6228,16 +6361,16 @@ msgid ""
 "#   5 = Percentage Match\n"
 msgstr ""
 
-#: src/lang.c:2050
+#: src/lang.c:2106
 msgid "Enter percentage match required to thread together. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2051
+#: src/lang.c:2107
 #, fuzzy
 msgid "Thread percentage match"
 msgstr "Porcentaje de completaciÃ³n"
 
-#: src/lang.c:2053
+#: src/lang.c:2109
 #, no-c-format
 msgid ""
 "# Thread percentage match...\n"
@@ -6252,12 +6385,12 @@ msgid ""
 "# 'harppy' would be threaded separately from 'happy'\n"
 msgstr ""
 
-#: src/lang.c:2065
+#: src/lang.c:2121
 #, fuzzy
 msgid "Score of a thread"
 msgstr "Hilo"
 
-#: src/lang.c:2066
+#: src/lang.c:2122
 msgid ""
 "# Thread score\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6266,17 +6399,17 @@ msgid ""
 "#   2 = average\n"
 msgstr ""
 
-#: src/lang.c:2074
+#: src/lang.c:2130
 msgid ""
 "Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2075
+#: src/lang.c:2131
 #, fuzzy
 msgid "Sort articles by"
 msgstr "ArtÃ­culos anteriores"
 
-#: src/lang.c:2076
+#: src/lang.c:2132
 msgid ""
 "# Sort articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6293,16 +6426,16 @@ msgid ""
 "#  10 = Lines ascending\n"
 msgstr ""
 
-#: src/lang.c:2092
+#: src/lang.c:2148
 msgid "Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2093
+#: src/lang.c:2149
 #, fuzzy
 msgid "Sort threads by"
 msgstr "Conversaciones"
 
-#: src/lang.c:2094
+#: src/lang.c:2150
 msgid ""
 "# Sort thread by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6313,46 +6446,46 @@ msgid ""
 "#   4 = Last posting date ascending\n"
 msgstr ""
 
-#: src/lang.c:2104
+#: src/lang.c:2160
 msgid ""
 "Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2105
+#: src/lang.c:2161
 msgid "Go to first unread article in group"
 msgstr ""
 
-#: src/lang.c:2106
+#: src/lang.c:2162
 msgid "# If ON put cursor at first unread art in group otherwise last art\n"
 msgstr ""
 
-#: src/lang.c:2110
+#: src/lang.c:2166
 msgid "Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2111
+#: src/lang.c:2167
 #, fuzzy
 msgid "Show only unread articles"
 msgstr "Mostrar Ãºnicamente los titulares _activos"
 
-#: src/lang.c:2112
+#: src/lang.c:2168
 msgid "# If ON show only new/unread articles otherwise show all.\n"
 msgstr ""
 
-#: src/lang.c:2117
+#: src/lang.c:2173
 msgid "Show only groups with unread arts"
 msgstr ""
 
-#: src/lang.c:2118
+#: src/lang.c:2174
 msgid "# If ON show only subscribed to groups that contain unread articles.\n"
 msgstr ""
 
-#: src/lang.c:2123
+#: src/lang.c:2179
 #, fuzzy
 msgid "Filter which articles"
 msgstr "_Filtrar porâ€¦"
 
-#: src/lang.c:2124
+#: src/lang.c:2180
 msgid ""
 "# Filter which articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6361,12 +6494,12 @@ msgid ""
 "#   2 = kill all articles and never show them\n"
 msgstr ""
 
-#: src/lang.c:2133
+#: src/lang.c:2189
 #, fuzzy
 msgid "Go to the next unread article with"
 msgstr "Ir a la pista siguiente"
 
-#: src/lang.c:2134
+#: src/lang.c:2190
 msgid ""
 "# Go to the unread article with following key(s)\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6376,14 +6509,14 @@ msgid ""
 "#   3 = PAGE DOWN or TAB\n"
 msgstr ""
 
-#: src/lang.c:2144
+#: src/lang.c:2200
 #, fuzzy
 msgid "How to treat blank lines"
 msgstr ""
 "$filename: encontrado nÃºmero $number de lÃ­nea lÃ­nea${plural $number s} "
 "vacÃ­as al final del fichero"
 
-#: src/lang.c:2145
+#: src/lang.c:2201
 msgid ""
 "# Trim the article body, remove unnecessary blank lines.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6400,11 +6533,11 @@ msgid ""
 "#       leading and trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:2162
+#: src/lang.c:2218
 msgid "Show help/mail sign in level titles"
 msgstr ""
 
-#: src/lang.c:2163
+#: src/lang.c:2219
 msgid ""
 "# Show help sign, new mail sign, both or nothing in level titles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6414,170 +6547,170 @@ msgid ""
 "# * 3 = Show mail sign if new mail has arrived else show help sign\n"
 msgstr ""
 
-#: src/lang.c:2173
+#: src/lang.c:2229
 msgid "List thread using right arrow key"
 msgstr ""
 
-#: src/lang.c:2174
+#: src/lang.c:2230
 msgid ""
 "# If ON automatically list thread when entering it using right arrow key.\n"
 msgstr ""
 
-#: src/lang.c:2178
+#: src/lang.c:2234
 msgid "Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2179
+#: src/lang.c:2235
 msgid "Character to show deleted articles"
 msgstr ""
 
-#: src/lang.c:2180
+#: src/lang.c:2236
 msgid ""
 "# Character used to show that an art was deleted (default 'D')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2185
+#: src/lang.c:2241
 msgid ""
 "Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2186
+#: src/lang.c:2242
 msgid "Character to show inrange articles"
 msgstr ""
 
-#: src/lang.c:2187
+#: src/lang.c:2243
 msgid ""
 "# Character used to show that an art is in a range (default '#')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2192
+#: src/lang.c:2248
 msgid ""
 "Enter character to indicate that article will return. <CR> sets, <ESC> "
 "cancels."
 msgstr ""
 
-#: src/lang.c:2193
+#: src/lang.c:2249
 msgid "Character to show returning arts"
 msgstr ""
 
-#: src/lang.c:2194
+#: src/lang.c:2250
 msgid ""
 "# Character used to show that an art will return (default '-')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2199
+#: src/lang.c:2255
 msgid ""
 "Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2200
+#: src/lang.c:2256
 msgid "Character to show selected articles"
 msgstr ""
 
-#: src/lang.c:2201
+#: src/lang.c:2257
 msgid ""
 "# Character used to show that an art was auto-selected (default '*')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2206
+#: src/lang.c:2262
 msgid "Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2207
+#: src/lang.c:2263
 msgid "Character to show recent articles"
 msgstr ""
 
-#: src/lang.c:2208
+#: src/lang.c:2264
 msgid ""
 "# Character used to show that an art is recent (default 'o')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2213
+#: src/lang.c:2269
 msgid "Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2214
+#: src/lang.c:2270
 msgid "Character to show unread articles"
 msgstr ""
 
-#: src/lang.c:2215
+#: src/lang.c:2271
 msgid ""
 "# Character used to show that an art is unread (default '+')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2220
+#: src/lang.c:2276
 msgid "Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2221
+#: src/lang.c:2277
 msgid "Character to show read articles"
 msgstr ""
 
-#: src/lang.c:2222
+#: src/lang.c:2278
 msgid ""
 "# Character used to show that an art was read (default ' ')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2227
+#: src/lang.c:2283
 msgid "Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2228
+#: src/lang.c:2284
 msgid "Character to show killed articles"
 msgstr ""
 
-#: src/lang.c:2229
+#: src/lang.c:2285
 msgid ""
 "# Character used to show that an art was killed (default 'K')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2234
+#: src/lang.c:2290
 msgid ""
 "Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2235
+#: src/lang.c:2291
 msgid "Character to show readselected arts"
 msgstr ""
 
-#: src/lang.c:2236
+#: src/lang.c:2292
 msgid ""
 "# Character used to show that an art was selected before read (default ':')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2242
+#: src/lang.c:2298
 #, fuzzy
 msgid "Abbreviate long newsgroup names"
 msgstr "Mostrar nombres largos de cuentas"
 
-#: src/lang.c:2243
+#: src/lang.c:2299
 msgid ""
 "# If ON abbreviate (if necessary) long newsgroup names at group selection\n"
 "# level and article level like this:\n"
 "#   news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n"
 msgstr ""
 
-#: src/lang.c:2249
+#: src/lang.c:2305
 msgid ""
 "0 = full page scrolling, -1 = show previous last line as first on next page, "
 "-2 = half page"
 msgstr ""
 
-#: src/lang.c:2250
+#: src/lang.c:2306
 #, fuzzy
 msgid "Number of lines to scroll in pager"
 msgstr "NÃºmero de lÃ­neas: %d\n"
 
-#: src/lang.c:2251
+#: src/lang.c:2307
 msgid ""
 "# Number of lines that cursor-up/down will scroll in article pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6588,56 +6721,56 @@ msgid ""
 "#   2 or greater = scroll by 2 or more lines (only in the pager)\n"
 msgstr ""
 
-#: src/lang.c:2261
+#: src/lang.c:2317
 msgid "Display signatures. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2262
+#: src/lang.c:2318
 #, fuzzy
 msgid "Display signatures"
 msgstr "eliminar firmas de paquetes"
 
-#: src/lang.c:2263
+#: src/lang.c:2319
 msgid "# If OFF don't show signatures when displaying articles\n"
 msgstr ""
 
-#: src/lang.c:2267
+#: src/lang.c:2323
 msgid "Display article score. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2268
+#: src/lang.c:2324
 #, fuzzy
-msgid "Display article score"
+msgid "Display article score in pager"
 msgstr "Ver siguiente pantalla"
 
-#: src/lang.c:2269
+#: src/lang.c:2325
 msgid "# If ON show article score when displaying articles\n"
 msgstr ""
 
-#: src/lang.c:2274
+#: src/lang.c:2330
 msgid "Remove soft hyphens. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2275
+#: src/lang.c:2331
 #, fuzzy
 msgid "Remove soft hyphens"
 msgstr "_Mover a:"
 
-#: src/lang.c:2276
+#: src/lang.c:2332
 msgid "# If ON remove soft hyphens when displaying articles\n"
 msgstr ""
 
-#: src/lang.c:2281
+#: src/lang.c:2337
 msgid ""
 "Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2282
+#: src/lang.c:2338
 #, fuzzy
 msgid "Display uue data as an attachment"
 msgstr "EnseÃ±ar una lengÃ¼eta de los datos seleccionados."
 
-#: src/lang.c:2283
+#: src/lang.c:2339
 msgid ""
 "# Handling of uuencoded data in the pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6649,32 +6782,32 @@ msgid ""
 "#       be folded into a tag line.\n"
 msgstr ""
 
-#: src/lang.c:2293
+#: src/lang.c:2349
 msgid ""
 "Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2294
+#: src/lang.c:2350
 #, fuzzy
 msgid "Display \"a as Umlaut-a"
 msgstr "_EnseÃ±ar para"
 
-#: src/lang.c:2295
+#: src/lang.c:2351
 msgid ""
 "# If ON decode German style TeX umlaut codes to ISO and\n"
 "# show \"a as Umlaut-a, etc.\n"
 msgstr ""
 
-#: src/lang.c:2300 src/lang.c:2310
+#: src/lang.c:2356 src/lang.c:2366
 msgid "Space separated list of header fields"
 msgstr ""
 
-#: src/lang.c:2301
+#: src/lang.c:2357
 #, fuzzy
 msgid "Display these header fields (or *)"
 msgstr "No enseÃ±ar lÃ­nea de cabecera."
 
-#: src/lang.c:2302
+#: src/lang.c:2358
 msgid ""
 "# Which news headers you wish to see. If you want to see _all_ the headers,\n"
 "# place an '*' as this value. This is the only way a wildcard can be used.\n"
@@ -6684,12 +6817,12 @@ msgid ""
 "# spaces. Not defining anything turns off this option.\n"
 msgstr ""
 
-#: src/lang.c:2311
+#: src/lang.c:2367
 #, fuzzy
 msgid "Do not display these header fields"
 msgstr "No enseÃ±ar lÃ­nea de cabecera."
 
-#: src/lang.c:2312
+#: src/lang.c:2368
 msgid ""
 "# Same as 'news_headers_to_display' except it denotes the opposite.\n"
 "# An example of using both options might be if you thought X- headers were\n"
@@ -6701,236 +6834,236 @@ msgid ""
 "# Not defining anything turns off this option.\n"
 msgstr ""
 
-#: src/lang.c:2322
+#: src/lang.c:2378
 msgid ""
 "Do you want to enable automatic handling of multipart/alternative articles?"
 msgstr ""
 
-#: src/lang.c:2323
+#: src/lang.c:2379
 msgid "Skip multipart/alternative parts"
 msgstr ""
 
-#: src/lang.c:2324
+#: src/lang.c:2380
 msgid "# If ON strip multipart/alternative messages automatically\n"
 msgstr ""
 
-#: src/lang.c:2328
+#: src/lang.c:2384
 msgid "Enable detection of verbatim blocks? <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2329
+#: src/lang.c:2385
 #, fuzzy
 msgid "Detection of verbatim blocks"
 msgstr "detecciÃ³n"
 
-#: src/lang.c:2330
+#: src/lang.c:2386
 msgid "# If ON detect verbatim blocks in articles\n"
 msgstr ""
 
-#: src/lang.c:2335
+#: src/lang.c:2391
 msgid "A regex used to decide which lines to show in col_quote."
 msgstr ""
 
-#: src/lang.c:2336
+#: src/lang.c:2392
 msgid "Regex used to show quoted lines"
 msgstr ""
 
-#: src/lang.c:2337
+#: src/lang.c:2393
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2343
+#: src/lang.c:2399
 msgid "A regex used to decide which lines to show in col_quote2."
 msgstr ""
 
-#: src/lang.c:2344
+#: src/lang.c:2400
 msgid "Regex used to show twice quoted l."
 msgstr ""
 
-#: src/lang.c:2345
+#: src/lang.c:2401
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted twice. Twice quoted lines are shown in col_quote2.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2351
+#: src/lang.c:2407
 msgid "A regex used to decide which lines to show in col_quote3."
 msgstr ""
 
-#: src/lang.c:2352
+#: src/lang.c:2408
 msgid "Regex used to show >= 3 times q.l."
 msgstr ""
 
-#: src/lang.c:2353
+#: src/lang.c:2409
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2359
+#: src/lang.c:2415
 msgid "Enable detection of external quotes? <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2360
+#: src/lang.c:2416
 #, fuzzy
 msgid "Detection of external quotes"
 msgstr "detecciÃ³n"
 
-#: src/lang.c:2361
+#: src/lang.c:2417
 msgid "# If ON detect quoted text from external sources in articles\n"
 msgstr ""
 
-#: src/lang.c:2365
+#: src/lang.c:2421
 msgid "A regex used to decide which lines to show in col_extquote."
 msgstr ""
 
-#: src/lang.c:2366
+#: src/lang.c:2422
 msgid "Regex used to show quotes from external sources"
 msgstr ""
 
-#: src/lang.c:2367
+#: src/lang.c:2423
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# external quotes. Text from external quotes is shown in col_extquote.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2374
+#: src/lang.c:2430
 msgid "A regex used to decide which words to show in col_markslashes."
 msgstr ""
 
-#: src/lang.c:2375
+#: src/lang.c:2431
 msgid "Regex used to highlight /slashes/"
 msgstr ""
 
-#: src/lang.c:2376
+#: src/lang.c:2432
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '/' are to be shown in col_markslashes.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2382
+#: src/lang.c:2438
 msgid "A regex used to decide which words to show in col_markstars."
 msgstr ""
 
-#: src/lang.c:2383
+#: src/lang.c:2439
 msgid "Regex used to highlight *stars*"
 msgstr ""
 
-#: src/lang.c:2384
+#: src/lang.c:2440
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '*' are to be shown in col_markstars.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2390
+#: src/lang.c:2446
 msgid "A regex used to decide which words to show in col_markstroke."
 msgstr ""
 
-#: src/lang.c:2391
+#: src/lang.c:2447
 msgid "Regex used to highlight -strokes-"
 msgstr ""
 
-#: src/lang.c:2392
+#: src/lang.c:2448
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '-' are to be shown in col_markstroke.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2398
+#: src/lang.c:2454
 msgid "A regex used to decide which words to show in col_markdash."
 msgstr ""
 
-#: src/lang.c:2399
+#: src/lang.c:2455
 msgid "Regex used to highlight _underline_"
 msgstr ""
 
-#: src/lang.c:2400
+#: src/lang.c:2456
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '_' are to be shown in col_markdash.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2406
+#: src/lang.c:2462
 msgid "A regex used to find Subject prefixes to remove.  Use '|' as separator."
 msgstr ""
 
-#: src/lang.c:2407
+#: src/lang.c:2463
 #, fuzzy
 msgid "Regex with Subject prefixes"
 msgstr "EXREG"
 
-#: src/lang.c:2408
+#: src/lang.c:2464
 msgid ""
 "# A regular expression that tin will use to find Subject prefixes\n"
 "# which will be removed before showing the header.\n"
 msgstr ""
 
-#: src/lang.c:2413
+#: src/lang.c:2469
 msgid "A regex used to find Subject suffixes to remove.  Use '|' as separator."
 msgstr ""
 
-#: src/lang.c:2414
+#: src/lang.c:2470
 #, fuzzy
 msgid "Regex with Subject suffixes"
 msgstr "EXREG"
 
-#: src/lang.c:2415
+#: src/lang.c:2471
 msgid ""
 "# A regular expression that tin will use to find Subject suffixes\n"
 "# which will be removed when replying or posting followup.\n"
 msgstr ""
 
-#: src/lang.c:2420
+#: src/lang.c:2476
 msgid "A regex used to find the begin of a verbatim block."
 msgstr ""
 
-#: src/lang.c:2421
+#: src/lang.c:2477
 #, fuzzy
 msgid "Regex for begin of a verbatim block"
 msgstr "AcciÃ³n Sendmail no estÃ¡ permitida dentro de inicio de bloque"
 
-#: src/lang.c:2422
+#: src/lang.c:2478
 msgid ""
 "# A regular expression that tin will use to find the begin of\n"
 "# a verbatim block.\n"
 msgstr ""
 
-#: src/lang.c:2427
+#: src/lang.c:2483
 msgid "A regex used to find the end of a verbatim block."
 msgstr ""
 
-#: src/lang.c:2428
+#: src/lang.c:2484
 #, fuzzy
 msgid "Regex for end of a verbatim block"
 msgstr "debug_end_block: no hay un bloque actual"
 
-#: src/lang.c:2429
+#: src/lang.c:2485
 msgid ""
 "# A regular expression that tin will use to find the end of\n"
 "# a verbatim block.\n"
 msgstr ""
 
-#: src/lang.c:2434
+#: src/lang.c:2490
 msgid ""
 "Enter name and options for external MIME viewer, --internal for built-in "
 "viewer"
 msgstr ""
 
-#: src/lang.c:2435
+#: src/lang.c:2491
 msgid "MIME binary content viewer"
 msgstr ""
 
-#: src/lang.c:2436
+#: src/lang.c:2492
 msgid ""
 "# If --internal automatically use the built in MIME viewer for non-text\n"
 "# parts of articles.\n"
@@ -6939,50 +7072,50 @@ msgid ""
 "# for no automatic viewing\n"
 msgstr ""
 
-#: src/lang.c:2443
+#: src/lang.c:2499
 msgid "Confirm before starting non-text viewing program"
 msgstr ""
 
-#: src/lang.c:2444
+#: src/lang.c:2500
 msgid "Ask before using MIME viewer"
 msgstr ""
 
-#: src/lang.c:2445
+#: src/lang.c:2501
 msgid ""
 "# If ON tin will ask before using metamail to display MIME messages\n"
 "# this only happens if metamail_prog is set to something\n"
 msgstr ""
 
-#: src/lang.c:2450
+#: src/lang.c:2506
 msgid "Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2451
+#: src/lang.c:2507
 msgid "Catchup read groups when quitting"
 msgstr ""
 
-#: src/lang.c:2452
+#: src/lang.c:2508
 msgid "# If ON ask user if read groups should all be marked read\n"
 msgstr ""
 
-#: src/lang.c:2457
+#: src/lang.c:2513
 msgid "Catchup group using left key"
 msgstr ""
 
-#: src/lang.c:2458
+#: src/lang.c:2514
 msgid "# If ON catchup group/thread when leaving with the left arrow key.\n"
 msgstr ""
 
-#: src/lang.c:2463
+#: src/lang.c:2519
 msgid "Catchup thread by using left key"
 msgstr ""
 
-#: src/lang.c:2469
+#: src/lang.c:2525
 #, fuzzy
 msgid "Which actions require confirmation"
 msgstr " -P              Siempre pide confirmaciÃ³n de las operaciones.\n"
 
-#: src/lang.c:2470
+#: src/lang.c:2526
 msgid ""
 "# What should we ask confirmation for.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6996,83 +7129,83 @@ msgid ""
 "#   7 = commands & quit & select\n"
 msgstr ""
 
-#: src/lang.c:2484
+#: src/lang.c:2540
 msgid "'Mark as (un)read' ignores tags"
 msgstr ""
 
-#: src/lang.c:2485
+#: src/lang.c:2541
 msgid ""
 "# If ON the 'Mark as (un)read' function marks only the current article.\n"
 msgstr ""
 
-#: src/lang.c:2489
+#: src/lang.c:2545
 msgid "Program to run to open URLs, <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2490
+#: src/lang.c:2546
 #, fuzzy
 msgid "Program that opens URLs"
 msgstr "El registro se abre en una _ventana nueva"
 
-#: src/lang.c:2491
+#: src/lang.c:2547
 msgid "# The program used to open URLs. The actual URL will be appended\n"
 msgstr ""
 
-#: src/lang.c:2496
+#: src/lang.c:2552
 #, fuzzy
 msgid "Use mouse in xterm"
 msgstr "Empleado"
 
-#: src/lang.c:2497
+#: src/lang.c:2553
 msgid "# If ON enable mouse button support on xterm terminals\n"
 msgstr ""
 
-#: src/lang.c:2503
+#: src/lang.c:2559
 msgid "Use scroll keys on keypad"
 msgstr ""
 
-#: src/lang.c:2504
+#: src/lang.c:2560
 msgid "# If ON enable scroll keys on terminals that support it\n"
 msgstr ""
 
-#: src/lang.c:2509
+#: src/lang.c:2565
 msgid "Enter maximum number of article to get. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2510
+#: src/lang.c:2566
 #, fuzzy
 msgid "Number of articles to get"
 msgstr "Obtiene nÃºmero de objetos"
 
-#: src/lang.c:2511
+#: src/lang.c:2567
 msgid ""
 "# Number of articles to get (0=no limit), if negative sets maximum number\n"
 "# of already read articles to be read before first unread one\n"
 msgstr ""
 
-#: src/lang.c:2516
+#: src/lang.c:2572
 msgid "Enter number of days article is considered recent. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2517
+#: src/lang.c:2573
 #, fuzzy
 msgid "Article recentness time limit"
 msgstr "Excedido el tiempo lÃ­mite de CPU"
 
-#: src/lang.c:2518
+#: src/lang.c:2574
 msgid "# Number of days in which article is considered recent, (0=OFF)\n"
 msgstr ""
 
-#: src/lang.c:2522
+#: src/lang.c:2578
 msgid ""
 "WILDMAT for normal wildcards, REGEX for full regular expression matching."
 msgstr ""
 
-#: src/lang.c:2523
+#: src/lang.c:2579
 msgid "Wildcard matching"
 msgstr ""
 
-#: src/lang.c:2524
+#: src/lang.c:2580
 msgid ""
 "# Wildcard matching\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7080,376 +7213,376 @@ msgid ""
 "#   1 = regex\n"
 msgstr ""
 
-#: src/lang.c:2531
+#: src/lang.c:2587
 msgid "Enter minimal score before an article is marked killed. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2532
+#: src/lang.c:2588
 #, fuzzy
 msgid "Score limit (kill)"
 msgstr "Opciones de ensamblador especÃ­ficas de Score:\n"
 
-#: src/lang.c:2533
+#: src/lang.c:2589
 msgid "# Score limit before an article is marked killed\n"
 msgstr ""
 
-#: src/lang.c:2537
+#: src/lang.c:2593
 msgid "Enter default score to kill articles. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2538
+#: src/lang.c:2594
 msgid "Default score to kill articles"
 msgstr ""
 
-#: src/lang.c:2539
+#: src/lang.c:2595
 msgid "# Default score to kill articles\n"
 msgstr ""
 
-#: src/lang.c:2543
+#: src/lang.c:2599
 msgid "Enter minimal score before an article is marked hot. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2544
+#: src/lang.c:2600
 #, fuzzy
 msgid "Score limit (select)"
 msgstr "Opciones de ensamblador especÃ­ficas de Score:\n"
 
-#: src/lang.c:2545
+#: src/lang.c:2601
 msgid "# Score limit before an article is marked hot\n"
 msgstr ""
 
-#: src/lang.c:2549
+#: src/lang.c:2605
 msgid "Enter default score to select articles. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2550
+#: src/lang.c:2606
 #, fuzzy
 msgid "Default score to select articles"
 msgstr "Seleccione la elecciÃ³n por omisiÃ³n de cuentas."
 
-#: src/lang.c:2551
+#: src/lang.c:2607
 #, fuzzy
 msgid "# Default score to select articles\n"
 msgstr "Seleccione la elecciÃ³n por omisiÃ³n de cuentas."
 
-#: src/lang.c:2557
+#: src/lang.c:2613
 msgid "Use slrnface to show ''X-Face:''s"
 msgstr ""
 
-#: src/lang.c:2558
+#: src/lang.c:2614
 msgid ""
 "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 "# Only useful when running in an xterm.\n"
 msgstr ""
 
-#: src/lang.c:2566
+#: src/lang.c:2622
 #, fuzzy
 msgid "Use ANSI color"
 msgstr "Color"
 
-#: src/lang.c:2567
+#: src/lang.c:2623
 #, fuzzy
 msgid "# If ON using ANSI-color\n"
 msgstr "Color"
 
-#: src/lang.c:2572
+#: src/lang.c:2628
 #, fuzzy
 msgid "Standard foreground color"
 msgstr "Color de primer plano estÃ¡ndar"
 
-#: src/lang.c:2573
+#: src/lang.c:2629
 msgid ""
 "# Standard foreground color\n"
 "# Default: -1 (default color)\n"
 msgstr ""
 
-#: src/lang.c:2579
+#: src/lang.c:2635
 #, fuzzy
 msgid "Standard background color"
 msgstr "Color de fondo estÃ¡ndar"
 
-#: src/lang.c:2580
+#: src/lang.c:2636
 #, fuzzy
 msgid ""
 "# Standard background color\n"
 "# Default: -1 (default color)\n"
 msgstr "El color predeterminado deberÃ­a usarse sÃ³lo como fondo."
 
-#: src/lang.c:2586
+#: src/lang.c:2642
 #, fuzzy
 msgid "Color for inverse text (background)"
 msgstr "Color de fondo del tÃ­tulo"
 
-#: src/lang.c:2587
+#: src/lang.c:2643
 msgid ""
 "# Color of background for inverse text\n"
 "# Default: 4 (blue)\n"
 msgstr ""
 
-#: src/lang.c:2593
+#: src/lang.c:2649
 #, fuzzy
 msgid "Color for inverse text (foreground)"
 msgstr "Color de texto comÃºn."
 
-#: src/lang.c:2594
+#: src/lang.c:2650
 msgid ""
 "# Color of foreground for inverse text\n"
 "# Default: 7 (white)\n"
 msgstr ""
 
-#: src/lang.c:2600
+#: src/lang.c:2656
 #, fuzzy
 msgid "Color of text lines"
 msgstr "Color de fondo de lÃ­neas alternativas."
 
-#: src/lang.c:2601
+#: src/lang.c:2657
 msgid ""
 "# Color of text lines\n"
 "# Default: -1 (default color)\n"
 msgstr ""
 
-#: src/lang.c:2607
+#: src/lang.c:2663
 msgid "Color of mini help menu"
 msgstr ""
 
-#: src/lang.c:2608
+#: src/lang.c:2664
 msgid ""
 "# Color of mini help menu\n"
 "# Default: 3 (brown)\n"
 msgstr ""
 
-#: src/lang.c:2614
+#: src/lang.c:2670
 #, fuzzy
 msgid "Color of help text"
 msgstr "Color de texto comÃºn."
 
-#: src/lang.c:2615
+#: src/lang.c:2671
 msgid ""
 "# Color of help pages\n"
 "# Default: -1 (default color)\n"
 msgstr ""
 
-#: src/lang.c:2621
+#: src/lang.c:2677
 #, fuzzy
 msgid "Color of status messages"
 msgstr "Estado"
 
-#: src/lang.c:2622
+#: src/lang.c:2678
 msgid ""
 "# Color of messages in last line\n"
 "# Default: 6 (cyan)\n"
 msgstr ""
 
-#: src/lang.c:2628
+#: src/lang.c:2684
 #, fuzzy
 msgid "Color of quoted lines"
 msgstr "Rellenar todas las lÃ­neas de una transacciÃ³n con el mismo color"
 
-#: src/lang.c:2629
+#: src/lang.c:2685
 msgid ""
 "# Color of quote-lines\n"
 "# Default: 2 (green)\n"
 msgstr ""
 
-#: src/lang.c:2635
+#: src/lang.c:2691
 msgid "Color of twice quoted line"
 msgstr ""
 
-#: src/lang.c:2636
+#: src/lang.c:2692
 msgid ""
 "# Color of twice quoted lines\n"
 "# Default: 3 (brown)\n"
 msgstr ""
 
-#: src/lang.c:2642
+#: src/lang.c:2698
 msgid "Color of =>3 times quoted line"
 msgstr ""
 
-#: src/lang.c:2643
+#: src/lang.c:2699
 msgid ""
 "# Color of >=3 times quoted lines\n"
 "# Default: 4 (blue)\n"
 msgstr ""
 
-#: src/lang.c:2649
+#: src/lang.c:2705
 #, fuzzy
 msgid "Color of article header lines"
 msgstr "lengÃ¼eta-cabecera-borde-color"
 
-#: src/lang.c:2650
+#: src/lang.c:2706
 msgid ""
 "# Color of header-lines\n"
 "# Default: 2 (green)\n"
 msgstr ""
 
-#: src/lang.c:2656
+#: src/lang.c:2712
 msgid "Color of actual news header fields"
 msgstr ""
 
-#: src/lang.c:2657
+#: src/lang.c:2713
 msgid ""
 "# Color of actual news header fields\n"
 "# Default: 9 (light red)\n"
 msgstr ""
 
-#: src/lang.c:2663
+#: src/lang.c:2719
 #, fuzzy
 msgid "Color of article subject lines"
 msgstr "Rellenar todas las lÃ­neas de una transacciÃ³n con el mismo color"
 
-#: src/lang.c:2664
+#: src/lang.c:2720
 msgid ""
 "# Color of article subject\n"
 "# Default: 6 (cyan)\n"
 msgstr ""
 
-#: src/lang.c:2670
+#: src/lang.c:2726
 #, fuzzy
 msgid "Color of external quotes"
 msgstr "Color"
 
-#: src/lang.c:2671
+#: src/lang.c:2727
 msgid ""
 "# Color of quoted text from external sources\n"
 "# Default: 5 (pink)\n"
 msgstr ""
 
-#: src/lang.c:2677
+#: src/lang.c:2733
 #, fuzzy
 msgid "Color of response counter"
 msgstr "Color"
 
-#: src/lang.c:2678
+#: src/lang.c:2734
 msgid ""
 "# Color of response counter\n"
 "# Default: 2 (green)\n"
 msgstr ""
 
-#: src/lang.c:2684
+#: src/lang.c:2740
 #, fuzzy
 msgid "Color of sender (From:)"
 msgstr "<sin remite>"
 
-#: src/lang.c:2685
+#: src/lang.c:2741
 msgid ""
 "# Color of sender (From:)\n"
 "# Default: 2 (green)\n"
 msgstr ""
 
-#: src/lang.c:2691
+#: src/lang.c:2747
 msgid "Color of help/mail sign"
 msgstr ""
 
-#: src/lang.c:2692
+#: src/lang.c:2748
 msgid ""
 "# Color of Help/Mail-Sign\n"
 "# Default: 4 (blue)\n"
 msgstr ""
 
-#: src/lang.c:2698
+#: src/lang.c:2754
 #, fuzzy
 msgid "Color of signatures"
 msgstr "Color"
 
-#: src/lang.c:2699
+#: src/lang.c:2755
 msgid ""
 "# Color of signature\n"
 "# Default: 4 (blue)\n"
 msgstr ""
 
-#: src/lang.c:2705
+#: src/lang.c:2761
 #, fuzzy
 msgid "Color of negative score"
 msgstr "Color de fondo de lÃ­neas alternativas."
 
-#: src/lang.c:2706
+#: src/lang.c:2762
 msgid ""
 "# Color of negative score\n"
 "# Default: 1 (red)\n"
 msgstr ""
 
-#: src/lang.c:2712
+#: src/lang.c:2768
 #, fuzzy
 msgid "Color of positive score"
 msgstr "Color"
 
-#: src/lang.c:2713
+#: src/lang.c:2769
 msgid ""
 "# Color of positive score\n"
 "# Default: 2 (green)\n"
 msgstr ""
 
-#: src/lang.c:2719
+#: src/lang.c:2775
 #, fuzzy
 msgid "Color of highlighted URLs"
 msgstr "Color"
 
-#: src/lang.c:2720
+#: src/lang.c:2776
 msgid ""
 "# Color of highlighted URLs\n"
 "# Default: -1 (default color)\n"
 msgstr ""
 
-#: src/lang.c:2726
+#: src/lang.c:2782
 #, fuzzy
 msgid "Color of verbatim blocks"
 msgstr "Bloques"
 
-#: src/lang.c:2727
+#: src/lang.c:2783
 msgid ""
 "# Color of verbatim blocks\n"
 "# Default: 5 (pink)\n"
 msgstr ""
 
-#: src/lang.c:2733
+#: src/lang.c:2789
 #, fuzzy
 msgid "Color of highlighting with *stars*"
 msgstr "color incorrecto   "
 
-#: src/lang.c:2734
+#: src/lang.c:2790
 msgid ""
 "# Color of word highlighting with *stars*\n"
 "# Default: 11 (yellow)\n"
 msgstr ""
 
-#: src/lang.c:2740
+#: src/lang.c:2796
 #, fuzzy
 msgid "Color of highlighting with _dash_"
 msgstr "GuiÃ³n"
 
-#: src/lang.c:2741
+#: src/lang.c:2797
 msgid ""
 "# Color of word highlighting with _dash_\n"
 "# Default: 13 (light pink)\n"
 msgstr ""
 
-#: src/lang.c:2747
+#: src/lang.c:2803
 #, fuzzy
 msgid "Color of highlighting with /slash/"
 msgstr "color incorrecto   "
 
-#: src/lang.c:2748
+#: src/lang.c:2804
 msgid ""
 "# Color of word highlighting with /slash/\n"
 "# Default: 14 (light cyan)\n"
 msgstr ""
 
-#: src/lang.c:2754
+#: src/lang.c:2810
 #, fuzzy
 msgid "Color of highlighting with -stroke-"
 msgstr "Color Verdadero"
 
-#: src/lang.c:2755
+#: src/lang.c:2811
 msgid ""
 "# Color of word highlighting with -stroke-\n"
 "# Default: 12 (light blue)\n"
 msgstr ""
 
-#: src/lang.c:2762
+#: src/lang.c:2818
 msgid "Attr. of highlighting with *stars*"
 msgstr ""
 
-#: src/lang.c:2763
+#: src/lang.c:2819
 msgid ""
 "# Attributes of word highlighting on mono terminals\n"
 "# Possible values are:\n"
@@ -7465,63 +7598,63 @@ msgid ""
 "# Default: 6 (bold)\n"
 msgstr ""
 
-#: src/lang.c:2778
+#: src/lang.c:2834
 #, fuzzy
 msgid "Attr. of highlighting with _dash_"
 msgstr "GuiÃ³n"
 
-#: src/lang.c:2779
+#: src/lang.c:2835
 msgid ""
 "# Attribute of word highlighting with _dash_\n"
 "# Default: 2 (best highlighting)\n"
 msgstr ""
 
-#: src/lang.c:2785
+#: src/lang.c:2841
 msgid "Attr. of highlighting with /slash/"
 msgstr ""
 
-#: src/lang.c:2786
+#: src/lang.c:2842
 msgid ""
 "# Attribute of word highlighting with /slash/\n"
 "# Default: 5 (half bright)\n"
 msgstr ""
 
-#: src/lang.c:2792
+#: src/lang.c:2848
 msgid "Attr. of highlighting with -stroke-"
 msgstr ""
 
-#: src/lang.c:2793
+#: src/lang.c:2849
 msgid ""
 "# Attribute of word highlighting with -stroke-\n"
 "# Default: 3 (reverse video)\n"
 msgstr ""
 
-#: src/lang.c:2799
+#: src/lang.c:2855
 #, fuzzy
 msgid "URL highlighting in message body"
 msgstr "Titulo y Cuerpo de Mensaje necesarios"
 
-#: src/lang.c:2800
+#: src/lang.c:2856
 #, fuzzy
 msgid "# Enable URL highlighting?\n"
 msgstr "Activar"
 
-#: src/lang.c:2805
+#: src/lang.c:2861
 #, fuzzy
 msgid "Word highlighting in message body"
 msgstr "Titulo y Cuerpo de Mensaje necesarios"
 
-#: src/lang.c:2806
+#: src/lang.c:2862
 #, fuzzy
 msgid "# Enable word highlighting?\n"
 msgstr "Activar"
 
-#: src/lang.c:2811
+#: src/lang.c:2867
 #, fuzzy
 msgid "What to display instead of mark"
 msgstr "EnseÃ±a un marcaje por cada punto de datos."
 
-#: src/lang.c:2812
+#: src/lang.c:2868
 msgid ""
 "# Should the leading and ending stars and dashes also be displayed,\n"
 "# even when they are highlighting marks?\n"
@@ -7531,58 +7664,71 @@ msgid ""
 "# * 2 = print a space instead\n"
 msgstr ""
 
-#: src/lang.c:2821
+#: src/lang.c:2877
 msgid "Enter column number to wrap article lines to in the pager. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2822
+#: src/lang.c:2878
 #, fuzzy
 msgid "Page line wrap column"
 msgstr "LÃNEA o COLUMNA"
 
-#: src/lang.c:2823
+#: src/lang.c:2879
 msgid "# Wrap article lines at column\n"
 msgstr ""
 
-#: src/lang.c:2828
+#: src/lang.c:2883
+msgid ""
+"If ON, don't break words when wrapping lines. <SPACE> toggles & <CR> sets."
+msgstr ""
+
+#: src/lang.c:2884
+msgid "Don't break words when wrapping"
+msgstr ""
+
+#: src/lang.c:2885
+msgid "# Don't break long lines inside a word but on <SPACE> or <TAB>\n"
+msgstr ""
+
+#: src/lang.c:2890
 msgid "Wrap around threads on next unread"
 msgstr ""
 
-#: src/lang.c:2829
+#: src/lang.c:2891
 msgid "# If ON wrap around threads on searching next unread article\n"
 msgstr ""
 
-#: src/lang.c:2833
+#: src/lang.c:2895
 msgid "Enter default mail address (and fullname). <CR> sets."
 msgstr ""
 
-#: src/lang.c:2834 src/lang.c:3405
+#: src/lang.c:2896 src/lang.c:3474
 #, fuzzy
 msgid "Mail address (and fullname)"
 msgstr "DirecciÃ³n personal para correo"
 
-#: src/lang.c:2835
+#: src/lang.c:2897
 msgid "# User's mail address (and fullname), if not username@host (fullname)\n"
 msgstr ""
 
-#: src/lang.c:2840
+#: src/lang.c:2902
 msgid "Show empty Followup-To in editor"
 msgstr ""
 
-#: src/lang.c:2841
+#: src/lang.c:2903
 msgid "# If ON show empty Followup-To header when editing an article\n"
 msgstr ""
 
-#: src/lang.c:2845
+#: src/lang.c:2907
 msgid ""
 "Enter path/! command/--none to create your default signature. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2846
+#: src/lang.c:2908
 msgid "Create signature from path/command"
 msgstr ""
 
-#: src/lang.c:2847
+#: src/lang.c:2909
 #, c-format
 msgid ""
 "# Signature path (random sigs)/file to be used when posting/replying\n"
@@ -7592,52 +7738,52 @@ msgid ""
 "# sigfile=--none     don't append a signature\n"
 msgstr ""
 
-#: src/lang.c:2855
+#: src/lang.c:2917
 msgid ""
 "Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2856
+#: src/lang.c:2918
 #, fuzzy
 msgid "Prepend signature with \"-- \""
 msgstr " firma: "
 
-#: src/lang.c:2857
+#: src/lang.c:2919
 msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n"
 msgstr ""
 
-#: src/lang.c:2861
+#: src/lang.c:2923
 msgid "Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2862
+#: src/lang.c:2924
 msgid "Add signature when reposting"
 msgstr ""
 
-#: src/lang.c:2863
+#: src/lang.c:2925
 msgid "# If ON add signature to reposted articles\n"
 msgstr ""
 
-#: src/lang.c:2867
+#: src/lang.c:2929
 msgid "Enter quotation marks, %I for author's initials."
 msgstr ""
 
-#: src/lang.c:2868
+#: src/lang.c:2930
 msgid "Characters used as quote-marks"
 msgstr ""
 
-#: src/lang.c:2869
+#: src/lang.c:2931
 msgid ""
 "# Characters used in quoting to followups and replies.\n"
 "# '_' is replaced by ' ', %I is replaced by author's initials.\n"
 msgstr ""
 
-#: src/lang.c:2875
+#: src/lang.c:2937
 #, fuzzy
 msgid "Quoting behavior"
 msgstr "error en cita de parÃ¡metros"
 
-#: src/lang.c:2876
+#: src/lang.c:2938
 msgid ""
 "# How quoting should be handled when following up or replying.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7651,55 +7797,55 @@ msgid ""
 "#   7 = Compress quotes, quote signatures, quote empty lines\n"
 msgstr ""
 
-#: src/lang.c:2889 src/lang.c:2897 src/lang.c:2903
+#: src/lang.c:2951 src/lang.c:2959 src/lang.c:2965
 msgid ""
 "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 msgstr ""
 
-#: src/lang.c:2890
+#: src/lang.c:2952
 msgid "Quote line when following up"
 msgstr ""
 
-#: src/lang.c:2891
+#: src/lang.c:2953
 msgid ""
 "# Format of quote line when mailing/posting/following-up an article\n"
 "# %A Address    %D Date   %F Addr+Name   %G Groupname   %M Message-ID\n"
 "# %N Full Name  %C First Name   %I Initials\n"
 msgstr ""
 
-#: src/lang.c:2898
+#: src/lang.c:2960
 msgid "Quote line when cross-posting"
 msgstr ""
 
-#: src/lang.c:2904
+#: src/lang.c:2966
 msgid "Quote line when mailing"
 msgstr ""
 
-#: src/lang.c:2909
+#: src/lang.c:2971
 msgid "If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2910
+#: src/lang.c:2972
 #, fuzzy
 msgid "Insert 'User-Agent:' header"
 msgstr "EnvÃ­a cabecera User-Agent"
 
-#: src/lang.c:2911
+#: src/lang.c:2973
 #, fuzzy
 msgid "# If ON include advertising User-Agent: header\n"
 msgstr "EnvÃ­a cabecera User-Agent"
 
-#: src/lang.c:2916
+#: src/lang.c:2978
 msgid ""
 "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 
-#: src/lang.c:2917
+#: src/lang.c:2979
 #, fuzzy
 msgid "MM_CHARSET"
 msgstr "Conjunto de caracteres:"
 
-#: src/lang.c:2918
+#: src/lang.c:2980
 msgid ""
 "# Charset supported locally which is also used for MIME header and\n"
 "# Content-Type header.\n"
@@ -7709,45 +7855,45 @@ msgid ""
 "# mm_charset is considered not displayable and represented as '?'.\n"
 msgstr ""
 
-#: src/lang.c:2928
+#: src/lang.c:2990
 #, fuzzy
 msgid "MM_NETWORK_CHARSET"
 msgstr "Conjunto de caracteres:"
 
-#: src/lang.c:2929
+#: src/lang.c:2991
 msgid "# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr ""
 
-#: src/lang.c:2933
+#: src/lang.c:2995
 msgid ""
 "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 
-#: src/lang.c:2934
+#: src/lang.c:2996
 #, fuzzy
 msgid "MM_LOCAL_CHARSET"
 msgstr "Conjunto de caracteres:"
 
-#: src/lang.c:2935
+#: src/lang.c:2997
 #, fuzzy
 msgid "# Charset supported locally.\n"
 msgstr "Conjunto de caracteres:"
 
-#: src/lang.c:2942
+#: src/lang.c:3004
 #, fuzzy
 msgid "Mailbox format"
 msgstr "_BuzÃ³n:"
 
-#: src/lang.c:2943
+#: src/lang.c:3005
 #, fuzzy
 msgid "# Format of the mailbox.\n"
 msgstr "_BuzÃ³n:"
 
-#: src/lang.c:2948
+#: src/lang.c:3010
 msgid "MIME encoding in news messages"
 msgstr ""
 
-#: src/lang.c:2949
+#: src/lang.c:3011
 msgid ""
 "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n"
 "# for mails and posts, if necessary. QP is efficient for most European\n"
@@ -7756,15 +7902,15 @@ msgid ""
 "# Russian charsets with a lot of 8bit characters.\n"
 msgstr ""
 
-#: src/lang.c:2957 src/lang.c:2978
+#: src/lang.c:3019 src/lang.c:3040
 msgid "Don't change unless you know what you are doing. <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2958
+#: src/lang.c:3020
 msgid "Use 8bit characters in news headers"
 msgstr ""
 
-#: src/lang.c:2959
+#: src/lang.c:3021
 msgid ""
 "# If ON, 8bit characters in news headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -7772,30 +7918,30 @@ msgid ""
 "# parameter unless post_mime_encoding is 8bit as well.\n"
 msgstr ""
 
-#: src/lang.c:2966
+#: src/lang.c:3028
 msgid ""
 "Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2967
+#: src/lang.c:3029
 #, fuzzy
 msgid "View post-processed files"
 msgstr "Ver todos los Ficheros del Proyecto"
 
-#: src/lang.c:2968
+#: src/lang.c:3030
 msgid "# If set, post processed files will be opened in a viewer\n"
 msgstr ""
 
-#: src/lang.c:2973
+#: src/lang.c:3035
 #, fuzzy
 msgid "MIME encoding in mail messages"
 msgstr "[La codificaciÃ³n de Â«%sÂ» de este correo no puede ser descodificado]"
 
-#: src/lang.c:2979
+#: src/lang.c:3041
 msgid "Use 8bit characters in mail headers"
 msgstr ""
 
-#: src/lang.c:2980
+#: src/lang.c:3042
 msgid ""
 "# If ON, 8bit characters in mail headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -7806,36 +7952,36 @@ msgid ""
 "# turn it ON unless you have some compelling reason.\n"
 msgstr ""
 
-#: src/lang.c:2991
+#: src/lang.c:3053
 msgid "Strip blanks from ends of lines"
 msgstr ""
 
-#: src/lang.c:2992
+#: src/lang.c:3054
 msgid ""
 "# If ON strip blanks from ends of lines for faster display on slow "
 "terminals.\n"
 msgstr ""
 
-#: src/lang.c:2998
+#: src/lang.c:3060
 msgid "If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2999
+#: src/lang.c:3061
 msgid "Transliteration"
 msgstr ""
 
-#: src/lang.c:3000
+#: src/lang.c:3062
 msgid ""
 "# If ON, use //TRANSLIT extension. This means that when a character cannot\n"
 "# be represented in the in the target character set, it can be approximated\n"
 "# through one or several similarly looking characters.\n"
 msgstr ""
 
-#: src/lang.c:3008
+#: src/lang.c:3070
 msgid "Send you a Cc/Bcc automatically"
 msgstr ""
 
-#: src/lang.c:3009
+#: src/lang.c:3071
 msgid ""
 "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7845,116 +7991,116 @@ msgid ""
 "#   3 = Cc and Bcc\n"
 msgstr ""
 
-#: src/lang.c:3020
+#: src/lang.c:3082
 msgid "Hash algorithm for Cancel-Lock/Cancel-Key"
 msgstr ""
 
-#: src/lang.c:3021
+#: src/lang.c:3083
 msgid ""
 "# Hash algorithm for Cancel-Lock/Cancel-Key (default 'sha1')\n"
 "# Use 'none' to not generate Cancel-Lock headers.\n"
 msgstr ""
 
-#: src/lang.c:3027
+#: src/lang.c:3089
 msgid "Enter address elements about which you want to be warned. <CR> sets."
 msgstr ""
 
-#: src/lang.c:3028
+#: src/lang.c:3090
 msgid "Spamtrap warning address parts"
 msgstr ""
 
-#: src/lang.c:3029
+#: src/lang.c:3091
 msgid ""
 "# A comma-delimited list of address-parts you want to be warned\n"
 "# about when trying to reply by email.\n"
 msgstr ""
 
-#: src/lang.c:3034
+#: src/lang.c:3096
 msgid "Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr ""
 
-#: src/lang.c:3035
+#: src/lang.c:3097
 msgid "No. of days a filter entry is valid"
 msgstr ""
 
-#: src/lang.c:3036
+#: src/lang.c:3098
 msgid "# Number of days a short term filter will be active\n"
 msgstr ""
 
-#: src/lang.c:3040
+#: src/lang.c:3102
 msgid "Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:3041
+#: src/lang.c:3103
 msgid "Add posted articles to filter"
 msgstr ""
 
-#: src/lang.c:3042
+#: src/lang.c:3104
 msgid ""
 "# If ON add posted articles which start a new thread to filter for\n"
 "# highlighting follow-ups\n"
 msgstr ""
 
-#: src/lang.c:3046
+#: src/lang.c:3108
 msgid "The directory where articles/threads are to be saved in mailbox format."
 msgstr ""
 
-#: src/lang.c:3047
+#: src/lang.c:3109
 #, fuzzy
 msgid "Mail directory"
 msgstr "No se puede abrir el directorio de correo nuevo (%s)"
 
-#: src/lang.c:3048
+#: src/lang.c:3110
 msgid "# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr ""
 
-#: src/lang.c:3053
+#: src/lang.c:3115
 msgid "Save articles in batch mode (-S)"
 msgstr ""
 
-#: src/lang.c:3054
+#: src/lang.c:3116
 msgid ""
 "# If ON articles/threads will be saved in batch mode when save -S\n"
 "# or mail (-M/-N) is specified on the command line\n"
 msgstr ""
 
-#: src/lang.c:3059
+#: src/lang.c:3121
 msgid "The directory where you want articles/threads saved."
 msgstr ""
 
-#: src/lang.c:3060
+#: src/lang.c:3122
 #, fuzzy
 msgid "Directory to save arts/threads in"
 msgstr "no puede guardar el directorio actual: %s"
 
-#: src/lang.c:3061
+#: src/lang.c:3123
 msgid "# Directory where articles/threads are saved\n"
 msgstr ""
 
-#: src/lang.c:3065
+#: src/lang.c:3127
 msgid ""
 "Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 "cancels."
 msgstr ""
 
-#: src/lang.c:3066
+#: src/lang.c:3128
 msgid "Mark saved articles/threads as read"
 msgstr ""
 
-#: src/lang.c:3067
+#: src/lang.c:3129
 #, fuzzy
 msgid "# If ON mark articles that are saved as read\n"
 msgstr "Marca buzones leÃ­dos"
 
-#: src/lang.c:3071
+#: src/lang.c:3133
 msgid "Do post processing (e.g. extract attachments) for saved articles."
 msgstr ""
 
-#: src/lang.c:3072
+#: src/lang.c:3134
 msgid "Post process saved articles"
 msgstr ""
 
-#: src/lang.c:3073
+#: src/lang.c:3135
 msgid ""
 "# Perform post processing (saving binary attachments) from saved articles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7963,108 +8109,107 @@ msgid ""
 "#   2 = Yes\n"
 msgstr ""
 
-#: src/lang.c:3082
+#: src/lang.c:3144
 #, fuzzy
 msgid "Process only unread articles"
 msgstr "Procesa solo ficheros nuevos"
 
-#: src/lang.c:3083
+#: src/lang.c:3145
 msgid ""
 "# If ON only save/print/pipe/mail unread articles (tagged articles "
 "excepted)\n"
 msgstr ""
 
-#: src/lang.c:3088
+#: src/lang.c:3150
 msgid "Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:3089
+#: src/lang.c:3151
 msgid "Print all headers when printing"
 msgstr ""
 
-#: src/lang.c:3090
+#: src/lang.c:3152
 msgid ""
 "# If ON print all of article header otherwise just the important lines\n"
 msgstr ""
 
-#: src/lang.c:3094
+#: src/lang.c:3156
 msgid ""
 "The printer program with options that is to be used to print articles/"
 "threads."
 msgstr ""
 
-#: src/lang.c:3095
+#: src/lang.c:3157
 #, fuzzy
 msgid "Printer program with options"
 msgstr "Modo de empleo: %s [opciones] PROGRAMA [parÃ¡metro ...]"
 
-#: src/lang.c:3096
+#: src/lang.c:3158
 msgid "# Print program with parameters used to print articles/threads\n"
 msgstr ""
 
-#: src/lang.c:3102
+#: src/lang.c:3164
 msgid "Force redraw after certain commands"
 msgstr ""
 
-#: src/lang.c:3103
+#: src/lang.c:3165
 msgid ""
 "# If ON a screen redraw will always be done after certain external commands\n"
 msgstr ""
 
-#: src/lang.c:3107
+#: src/lang.c:3169
 msgid "Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr ""
 
-#: src/lang.c:3108
+#: src/lang.c:3170
 #, fuzzy
 msgid "Invocation of your editor"
 msgstr "Editor"
 
-#: src/lang.c:3109
+#: src/lang.c:3171
 msgid ""
 "# Format of editor line including parameters\n"
 "# %E Editor  %F Filename  %N Linenumber\n"
 msgstr ""
 
-#: src/lang.c:3114
+#: src/lang.c:3176
 msgid ""
 "Enter name and options for external-inews, --internal for internal inews"
 msgstr ""
 
-#: src/lang.c:3115
+#: src/lang.c:3177
 #, fuzzy
 msgid "External inews"
 msgstr "Â¿Externoâ€¦?"
 
-#: src/lang.c:3116
+#: src/lang.c:3178
 msgid ""
 "# If --internal use the built in mini inews for posting via NNTP\n"
 "# otherwise use an external inews program\n"
 msgstr ""
 
-#: src/lang.c:3120
+#: src/lang.c:3182
 msgid ""
 "Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr ""
 
-#: src/lang.c:3121
+#: src/lang.c:3183
 #, fuzzy
 msgid "Invocation of your mail command"
 msgstr "Su contraseÃ±a en el servidor de correo"
 
-#: src/lang.c:3122
+#: src/lang.c:3184
 msgid ""
 "# Format of mailer line including parameters\n"
-"# %M Mailer  %S Subject  %T To  %F Filename\n"
-"# e.g. to use mutt as your mailer:    mutt -s \"%S\" -- \"%T\" < %F\n"
-"# e.g. mutt interactive          :    mutt -H %F\n"
+"# %M Mailer  %S Subject  %T To  %F Filename  %U Username\n"
+"# e.g. mutt interactive:  mutt -H %F\n"
 msgstr ""
 
-#: src/lang.c:3130
+#: src/lang.c:3191
 msgid "Use interactive mail reader"
 msgstr ""
 
-#: src/lang.c:3131
+#: src/lang.c:3192
 msgid ""
 "# Interactive mailreader\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8073,71 +8218,71 @@ msgid ""
 "#   2 = use interactive mailreader without headers in file\n"
 msgstr ""
 
-#: src/lang.c:3140
+#: src/lang.c:3201
 msgid "Remove ~/.article after posting"
 msgstr ""
 
-#: src/lang.c:3141
+#: src/lang.c:3202
 msgid "# If ON remove ~/.article after posting.\n"
 msgstr ""
 
-#: src/lang.c:3147
+#: src/lang.c:3208
 msgid "Use UTF-8 graphics (thread tree etc.)"
 msgstr ""
 
-#: src/lang.c:3148
+#: src/lang.c:3209
 msgid ""
 "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n"
 msgstr ""
 
-#: src/lang.c:3153
+#: src/lang.c:3214
 msgid "Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr ""
 
-#: src/lang.c:3154
+#: src/lang.c:3215
 #, fuzzy
 msgid "Filename for posted articles"
 msgstr ""
 "\n"
 "NingÃºn artÃ­culo dentro de este grupo.\n"
 
-#: src/lang.c:3155
+#: src/lang.c:3216
 msgid ""
 "# Filename where to keep all postings (default posted)\n"
 "# If no filename is set then postings will not be saved\n"
 msgstr ""
 
-#: src/lang.c:3160
+#: src/lang.c:3221
 msgid ""
 "Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:3161
+#: src/lang.c:3222
 msgid "Keep failed arts in ~/dead.articles"
 msgstr ""
 
-#: src/lang.c:3162
+#: src/lang.c:3223
 msgid "# If ON keep all failed postings in ~/dead.articles\n"
 msgstr ""
 
-#: src/lang.c:3166
+#: src/lang.c:3227
 msgid "Do you want to strip unsubscribed groups from .newsrc"
 msgstr ""
 
-#: src/lang.c:3167
+#: src/lang.c:3228
 #, fuzzy
 msgid "No unsubscribed groups in newsrc"
 msgstr "GRUPOS"
 
-#: src/lang.c:3168
+#: src/lang.c:3229
 msgid "# If ON strip unsubscribed groups from newsrc\n"
 msgstr ""
 
-#: src/lang.c:3173
+#: src/lang.c:3234
 msgid "Remove bogus groups from newsrc"
 msgstr ""
 
-#: src/lang.c:3174
+#: src/lang.c:3235
 msgid ""
 "# What to do with bogus groups in newsrc file\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8146,68 +8291,81 @@ msgid ""
 "#   2 = highlight with D on selection screen\n"
 msgstr ""
 
-#: src/lang.c:3183
+#: src/lang.c:3244
 msgid ""
 "Enter number of seconds to wait for a response from the server. <CR> sets."
 msgstr ""
 
-#: src/lang.c:3184
+#: src/lang.c:3245
 #, fuzzy
 msgid "NNTP read timeout in seconds"
 msgstr "tiempo agotado despuÃ©s de %d segundos.\n"
 
-#: src/lang.c:3185
+#: src/lang.c:3246
 msgid ""
 "# Time in seconds to wait for a response from the server (0=no timeout)\n"
 msgstr ""
 
-#: src/lang.c:3190
+#: src/lang.c:3251
 msgid "Enter number of seconds until active file will be reread. <CR> sets."
 msgstr ""
 
-#: src/lang.c:3191
+#: src/lang.c:3252
 msgid "Interval in secs to reread active"
 msgstr ""
 
-#: src/lang.c:3192
+#: src/lang.c:3253
 msgid ""
 "# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr ""
 
-#: src/lang.c:3197
+#: src/lang.c:3258
 #, fuzzy
 msgid "Reconnect to server automatically"
 msgstr "Crear automÃ¡ticamente"
 
-#: src/lang.c:3198
+#: src/lang.c:3259
 msgid ""
 "# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr ""
 
-#: src/lang.c:3202
+#: src/lang.c:3263
 msgid ""
 "Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:3203
+#: src/lang.c:3264
 msgid "Cache NNTP overview files locally"
 msgstr ""
 
-#: src/lang.c:3204
+#: src/lang.c:3265
 msgid "# If ON, create local copies of NNTP overview files.\n"
 msgstr ""
 
-#: src/lang.c:3208 src/lang.c:3223 src/lang.c:3243 src/lang.c:3266
-#: src/lang.c:3291 src/lang.c:3313 src/lang.c:3332
+#: src/lang.c:3270
+msgid ""
+"Compress local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
+msgstr ""
+
+#: src/lang.c:3271
+msgid "Compress locally cached NNTP overview files"
+msgstr ""
+
+#: src/lang.c:3272
+msgid "# If ON, compress local copies of NNTP overview files.\n"
+msgstr ""
+
+#: src/lang.c:3277 src/lang.c:3292 src/lang.c:3312 src/lang.c:3335
+#: src/lang.c:3360 src/lang.c:3382 src/lang.c:3401
 msgid "Enter format string. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3209
+#: src/lang.c:3278
 #, fuzzy
 msgid "Format string for selection level"
 msgstr "error: %s al final de la cadena de formato"
 
-#: src/lang.c:3210
+#: src/lang.c:3279
 msgid ""
 "# Format string for selection level representation\n"
 "# Default: %f %n %U  %G  %d\n"
@@ -8221,12 +8379,12 @@ msgid ""
 "#   %U              Unread count\n"
 msgstr ""
 
-#: src/lang.c:3224
+#: src/lang.c:3293
 #, fuzzy
 msgid "Format string for group level"
 msgstr "grupo: cadena de texto"
 
-#: src/lang.c:3225
+#: src/lang.c:3294
 msgid ""
 "# Format string for group level representation\n"
 "# Default: %n %m %R %L  %s  %F\n"
@@ -8245,12 +8403,12 @@ msgid ""
 "#   %S              Score\n"
 msgstr ""
 
-#: src/lang.c:3244
+#: src/lang.c:3313
 #, fuzzy
 msgid "Format string for attachment level"
 msgstr "error: %s al final de la cadena de formato"
 
-#: src/lang.c:3245
+#: src/lang.c:3314
 msgid ""
 "# Format string for attachment level representation\n"
 "# Default: %t%s%e%c%d\n"
@@ -8272,12 +8430,12 @@ msgid ""
 "#   %z              Like %Z but with description\n"
 msgstr ""
 
-#: src/lang.c:3267
+#: src/lang.c:3336
 #, fuzzy
 msgid "Format string for display of mime header"
 msgstr "El formato de muestra para las vistas de paquetes"
 
-#: src/lang.c:3268
+#: src/lang.c:3337
 msgid ""
 "# Format string for mime header at article level\n"
 "# Default: [-- %T%S%*n%z%*l%!c%!d%*e --]\n"
@@ -8301,12 +8459,12 @@ msgid ""
 "#   %z              Like %Z but with description\n"
 msgstr ""
 
-#: src/lang.c:3292
+#: src/lang.c:3361
 #, fuzzy
 msgid "Format string for display of uue header"
 msgstr "El formato de muestra para las vistas de paquetes"
 
-#: src/lang.c:3293
+#: src/lang.c:3362
 msgid ""
 "# Format string for uue header at article level\n"
 "# Default: [-- %T%S%*n%I%!d%*e --]\n"
@@ -8327,12 +8485,12 @@ msgid ""
 "#   %z              Like %Z but with description\n"
 msgstr ""
 
-#: src/lang.c:3314
+#: src/lang.c:3383
 #, fuzzy
 msgid "Format string for thread level"
 msgstr "error: %s al final de la cadena de formato"
 
-#: src/lang.c:3315
+#: src/lang.c:3384
 msgid ""
 "# Format string for thread level representation\n"
 "# Default: %n %m  [%L]  %T  %F\n"
@@ -8350,23 +8508,23 @@ msgid ""
 "#   %T              Thread tree (only thread level)\n"
 msgstr ""
 
-#: src/lang.c:3333
+#: src/lang.c:3402
 #, fuzzy
 msgid "Format string for display of dates"
 msgstr "El formato de muestra para las vistas de paquetes"
 
-#: src/lang.c:3334
+#: src/lang.c:3403
 #, fuzzy
 msgid "# Format string for date representation\n"
 msgstr ""
 "Fallado al construir la representaciÃ³n de la cadena del rango de datos\n"
 
-#: src/lang.c:3344
+#: src/lang.c:3413
 #, fuzzy
 msgid "Unicode normalization form"
 msgstr "Con normalizaciÃ³n Unicode.\n"
 
-#: src/lang.c:3345
+#: src/lang.c:3414
 msgid ""
 "# Unicode normalization form\n"
 "# Possible values are:\n"
@@ -8378,22 +8536,22 @@ msgid ""
 "#   5 = NFKC_CF\n"
 msgstr ""
 
-#: src/lang.c:3359
+#: src/lang.c:3428
 msgid "Render BiDi"
 msgstr ""
 
-#: src/lang.c:3360
+#: src/lang.c:3429
 msgid "# If ON, bi-directional text is rendered by tin\n"
 msgstr ""
 
-#: src/lang.c:3367
+#: src/lang.c:3436
 #, fuzzy
 msgid "Function for sorting articles"
 msgstr ""
 "\n"
 "NingÃºn artÃ­culo dentro de este grupo.\n"
 
-#: src/lang.c:3368
+#: src/lang.c:3437
 msgid ""
 "# Function for sorting articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8401,291 +8559,232 @@ msgid ""
 "#   1 = heapsort\n"
 msgstr ""
 
-#: src/lang.c:3381
+#: src/lang.c:3450
 #, fuzzy
 msgid "Automatically GroupMarkUnselArtRead"
 msgstr "(rellenado automÃ¡ticamente)"
 
-#: src/lang.c:3387
+#: src/lang.c:3456
 #, fuzzy
 msgid "Delete post-process files"
 msgstr "Procesa solo ficheros nuevos"
 
-#: src/lang.c:3392
+#: src/lang.c:3461
 msgid "Filename for all mailed articles, <CR> sets, no filename=do not save."
 msgstr ""
 
-#: src/lang.c:3393
+#: src/lang.c:3462
 msgid "Mailbox to save sent mails"
 msgstr ""
 
-#: src/lang.c:3398
+#: src/lang.c:3467
 msgid "Set Followup-To: header to this group(s). <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3399
+#: src/lang.c:3468
 #, fuzzy
 msgid "Followup-To: header"
 msgstr "Cabecera "
 
-#: src/lang.c:3404
+#: src/lang.c:3473
 msgid "Enter default mail address (and fullname). <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3411
+#: src/lang.c:3480
 msgid ""
 "Path and options for ispell-like spell-checker. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3412
+#: src/lang.c:3481
 #, fuzzy
 msgid "Ispell program"
 msgstr "Programa"
 
-#: src/lang.c:3418
+#: src/lang.c:3487
 msgid "When group is a mailing list, send responses to this email address."
 msgstr ""
 
-#: src/lang.c:3419
+#: src/lang.c:3488
 #, fuzzy
 msgid "Mailing list address"
 msgstr "Listados de Correo"
 
-#: src/lang.c:3425
+#: src/lang.c:3494
 #, fuzzy
 msgid "Forward articles as attachment"
 msgstr "Reproducir"
 
-#: src/lang.c:3430
+#: src/lang.c:3499
 msgid ""
 "A comma separated list of MIME major/minor Content-Types. <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3431
+#: src/lang.c:3500
 msgid "Which MIME types will be saved"
 msgstr ""
 
-#: src/lang.c:3436
+#: src/lang.c:3505
 msgid "Value of the Organization: header. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3437
+#: src/lang.c:3506
 #, fuzzy
 msgid "Organization: header"
 msgstr "OrganizaciÃ³n"
 
-#: src/lang.c:3442
+#: src/lang.c:3511
 msgid "Filename for saved articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3443
+#: src/lang.c:3512
 msgid "savefile"
 msgstr ""
 
-#: src/lang.c:3448 src/lang.c:3472
+#: src/lang.c:3517 src/lang.c:3541
 msgid "Scope for the filter rule. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3449
+#: src/lang.c:3518
 msgid "Quick (1 key) select filter scope"
 msgstr ""
 
-#: src/lang.c:3454 src/lang.c:3478
+#: src/lang.c:3523 src/lang.c:3547
 msgid "Header for filter rule. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3455
+#: src/lang.c:3524
 msgid "Quick (1 key) select filter header"
 msgstr ""
 
-#: src/lang.c:3460 src/lang.c:3484
+#: src/lang.c:3529 src/lang.c:3553
 msgid "ON = case sensitive, OFF = ignore case. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3461
+#: src/lang.c:3530
 msgid "Quick (1 key) select filter case"
 msgstr ""
 
-#: src/lang.c:3466 src/lang.c:3490
+#: src/lang.c:3535 src/lang.c:3559
 msgid "ON = expire, OFF = don't ever expire. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3467
+#: src/lang.c:3536
 msgid "Quick (1 key) select filter expire"
 msgstr ""
 
-#: src/lang.c:3473
+#: src/lang.c:3542
 msgid "Quick (1 key) kill filter scope"
 msgstr ""
 
-#: src/lang.c:3479
+#: src/lang.c:3548
 msgid "Quick (1 key) kill filter header"
 msgstr ""
 
-#: src/lang.c:3485
+#: src/lang.c:3554
 msgid "Quick (1 key) kill filter case"
 msgstr ""
 
-#: src/lang.c:3491
+#: src/lang.c:3560
 msgid "Quick (1 key) kill filter expire"
 msgstr ""
 
-#: src/lang.c:3497
+#: src/lang.c:3566
 msgid "Assume this charset if no charset declaration is present, <CR> to set."
 msgstr ""
 
-#: src/lang.c:3498
+#: src/lang.c:3567
 #, fuzzy
 msgid "UNDECLARED_CHARSET"
 msgstr "Conjunto de caracteres:"
 
-#: src/lang.c:3504
+#: src/lang.c:3572
+msgid "Guess charset if no charset declaration is present, <CR> to set."
+msgstr ""
+
+#: src/lang.c:3573
+msgid "UNDECLARED_CS_GUESS"
+msgstr "UNDECLARED_CS_GUESS"
+
+#: src/lang.c:3580
 msgid ""
 "Add this text at the start of the message body. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3505
-#, fuzzy
+#: src/lang.c:3581
 msgid "X_Body"
-msgstr "Cuerpo"
+msgstr ""
 
-#: src/lang.c:3510
+#: src/lang.c:3586
 msgid "Insert this header when posting. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3511
-#, fuzzy
+#: src/lang.c:3587
 msgid "X_Headers"
 msgstr ""
-"  -a, --archive-headers    EnseÃ±a informaciÃ³n del encabezado del archivo\n"
-"  -f, --file-headers       EnseÃ±a el contenido de todos los encabezados del\n"
-"                             fichero\n"
-"  -P, --private=OPC,OPC... EnseÃ±a contenidos especÃ­ficos del formato objeto\n"
-"  -h, --[section-]headers  EnseÃ±a el contenido de los encabezados de "
-"secciÃ³n\n"
-"  -x, --all-headers        EnseÃ±a el contenido de todos los encabezados\n"
-"  -d, --disassemble        EnseÃ±a el contenido de ensamblador de las "
-"secciones\n"
-"                             ejecutables\n"
-"  -D, --disassemble-all    EnseÃ±a el contenido de ensamblador de todas las\n"
-"                             secciones\n"
-"  -S, --source             Entremezcla cÃ³digo fuente con el desensamblado\n"
-"  -s, --full-contents      EnseÃ±a el contenido completo de todas las "
-"secciones\n"
-"                             solicitadas\n"
-"  -g, --debugging          EnseÃ±a la informaciÃ³n de depuraciÃ³n en el "
-"fichero\n"
-"                             objeto\n"
-"  -e, --debugging-tags     EnseÃ±a la informaciÃ³n de depuraciÃ³n en estilo "
-"ctags\n"
-"  -G, --stabs              EnseÃ±a (sin formato) cualquier informaciÃ³n de "
-"STABS\n"
-"                             en el fichero\n"
-"  -W[lLiaprmfFsoRt] o\n"
-"  --dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,"
-"=frames,\n"
-"          =frames-interp,=str,=loc,=Ranges,=pubtypes,\n"
-"          =gdb_index,=trace_info,=trace_abbrev,=trace_aranges,\n"
-"          =addr,=cu_index,=links,=follow-links]\n"
-"                           EnseÃ±a la informaciÃ³n DWARF dentro del fichero\n"
-"  -t, --syms               EnseÃ±a el contenido de la(s) tabla(s) simbÃ³lica\n"
-"  -T, --dynamic-syms       EnseÃ±a el contenido dinÃ¡mico del segmento "
-"simbÃ³lico\n"
-"  -r, --reloc              EnseÃ±a las entradas de reubicaciÃ³n en el fichero\n"
-"  -R, --dynamic-reloc      EnseÃ±a las entradas de reubicaciÃ³n dinÃ¡mica en el "
-"fichero\n"
-"  @<fichero>               Lee opciones del <fichero>\n"
-"  -v, --version            Muestra el nÃºmero de versiÃ³n de este programa\n"
-"  -i, --info               Lista los formatos objeto y las arquitecturas\n"
-"                             admitidos\n"
-"  -H, --help               EnseÃ±a esta informaciÃ³n\n"
 
-#: src/lang.c:3516
+#: src/lang.c:3592
 msgid ""
 "Automatically insert an X-Comment-To: header? <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:3517
+#: src/lang.c:3593
 #, fuzzy
 msgid "Insert 'X-Comment-To:' header"
 msgstr " cabecera mÃ¡gica = %x\n"
 
-#: src/lang.c:3523
+#: src/lang.c:3599
 msgid "Enter name of file containing trusted CA certificates. <CR> sets."
 msgstr ""
 
-#: src/lang.c:3524
-#, fuzzy
+#: src/lang.c:3600
 msgid "CA certificate file"
-msgstr "Edite el contenido de su fichero"
+msgstr ""
 
-#: src/lang.c:3525
+#: src/lang.c:3601
 msgid ""
 "# name of file containing all trusted CA certificates (empty = system "
 "default)\n"
 msgstr ""
 
-#: src/nntplib.c:908
+#: src/nntplib.c:963
 #, c-format
 msgid ""
 "\n"
 "Server timed out, trying reconnect # %d\n"
 msgstr ""
 
-#: src/nntplib.c:950 src/nntplib.c:2032
+#: src/nntplib.c:1006 src/nntplib.c:2115
 #, fuzzy
 msgid "Rejoin current group\n"
 msgstr "Grupo"
 
-#: src/nntplib.c:959 src/nntplib.c:2041
+#: src/nntplib.c:1015 src/nntplib.c:2124
 #, fuzzy, c-format
 msgid "Read (%s)\n"
 msgstr "%s: leÃ­do: %s"
 
-#: src/nntplib.c:961
+#: src/nntplib.c:1017
 #, fuzzy, c-format
 msgid "Resend last command (%s)\n"
 msgstr "Ãºltima orden: %s\n"
 
-#: src/read.c:363
+#: src/read.c:358
 #, fuzzy
 msgid "Aborted read\n"
 msgstr "Lectura abortada."
 
-#: src/read.c:418
+#: src/read.c:413
 msgid "Draining\n"
 msgstr ""
 
-#: src/refs.c:656
+#: src/refs.c:654
 #, fuzzy
 msgid "[- Unavailable -]"
 msgstr "NO DISPONIBLE"
 
-#, fuzzy, c-format
-#~ msgid "%d lines"
-#~ msgstr "%d LÃ­neas"
-
-#, fuzzy, c-format
-#~ msgid ""
-#~ "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n"
-#~ "\n"
-#~ msgstr "lÃ­nea %d: nombre de fichero versionado no permitido: %s\n"
-
-#, fuzzy, c-format
-#~ msgid "%*s[-- %s/%s%s%s%s%s, %d lines, encoding %s --]\n"
-#~ msgstr ""
-#~ "Codificando %s%s%s a \n"
-#~ "         %s%s%s \n"
-#~ "con calidad %2.2f\n"
-
-#, fuzzy
-#~ msgid "all "
-#~ msgstr "_Todo"
-
-#, fuzzy
-#~ msgid "Connecting to %s..."
-#~ msgstr "conectando a %s"
+#~ msgid "bytes"
+#~ msgstr "bytes"
 
 #, fuzzy
-#~ msgid "threads"
-#~ msgstr "Conversaciones"
+#~ msgid "\tChecksum of %s (%ld %s)"
+#~ msgstr "%s: %s checksum: %u\n"
Binary files tin-2.6.3/po/et.gmo and tin-2.6.4/po/et.gmo differ
diff -Nurp '--exclude=.bzr*' tin-2.6.3/po/et.po tin-2.6.4/po/et.po
--- tin-2.6.3/po/et.po	2023-12-24 00:38:37.000000000 +0100
+++ tin-2.6.4/po/et.po	2024-12-21 15:42:03.484739690 +0100
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tin 2.6.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-12-13 22:25+0100\n"
+"POT-Creation-Date: 2024-12-21 15:42+0100\n"
 "PO-Revision-Date: 2023-08-11 14:01+0200\n"
 "Last-Translator: Toomas Soome <tsoome@me.com>\n"
 "Language-Team: Estonian <linux-ee@lists.eenet.ee>\n"
@@ -16,11 +16,11 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: src/lang.c:45
+#: src/lang.c:48
 msgid "1 Response"
 msgstr "1 Vastus"
 
-#: src/lang.c:49
+#: src/lang.c:50
 #, c-format
 msgid ""
 "\n"
@@ -29,36 +29,36 @@ msgstr ""
 "\n"
 "%s ei sisalda Ã¼htki gruppi. LÃµpetan tÃ¶Ã¶."
 
-#: src/lang.c:51
+#: src/lang.c:52
 msgid "Aborting read, please wait..."
 msgstr "Katkestan lugemise, palun oodake..."
 
-#: src/lang.c:53
+#: src/lang.c:54
 msgid "all"
 msgstr "kÃµik"
 
-#: src/lang.c:54
+#: src/lang.c:55
 msgid "All groups"
 msgstr "KÃµik grupid"
 
-#: src/lang.c:55
+#: src/lang.c:56
 #, c-format
 msgid "File %s exists. %s=append, %s=overwrite, %s=quit: "
 msgstr "Fail %s on olemas. %s=jÃ¤tka, %s=kirjuta Ã¼le, %s=vÃ¤lju: "
 
-#: src/lang.c:56
+#: src/lang.c:57
 msgid "Article cancelled (deleted)."
 msgstr "Artikkel on katkestatud (kustutatud)."
 
-#: src/lang.c:58
+#: src/lang.c:59
 msgid "Article cannot be cancelled (deleted)."
 msgstr "Artiklit ei saa katkestada (kustutada)."
 
-#: src/lang.c:60
+#: src/lang.c:61
 msgid "Article deleted."
 msgstr "Artikkel kustutatud."
 
-#: src/lang.c:61
+#: src/lang.c:62
 #, c-format
 msgid ""
 "\n"
@@ -73,7 +73,7 @@ msgstr ""
 "postitatakse jÃ¤rgneval aadressil:\n"
 "  %s"
 
-#: src/lang.c:62
+#: src/lang.c:63
 #, c-format
 msgid ""
 "\n"
@@ -86,41 +86,41 @@ msgstr ""
 "  \"%s\"\n"
 "postitatakse %s:\n"
 
-#: src/lang.c:63
+#: src/lang.c:64
 msgid "Article not posted!"
 msgstr "Artiklit ei postitatud!"
 
-#: src/lang.c:64
+#: src/lang.c:65
 msgid "Article not saved"
 msgstr "Artiklit ei salvestatud"
 
-#: src/lang.c:65
+#: src/lang.c:66
 msgid "Article Level Commands"
 msgstr "Artiklitaseme kÃ¤sud"
 
-#: src/lang.c:66
+#: src/lang.c:67
 msgid "Article has no parent"
 msgstr "Artiklil pole eelnevat"
 
-#: src/lang.c:67
+#: src/lang.c:68
 msgid "Parent article has been killed"
 msgstr "Eelnev artikkel on hÃ¤vitatud"
 
-#: src/lang.c:68
+#: src/lang.c:69
 msgid "Parent article is unavailable"
 msgstr "Eelnev artikkel pole kÃ¤ttesaadav"
 
-#: src/lang.c:69
+#: src/lang.c:70
 #, c-format
 msgid "Article posted: %s"
 msgstr "Artikkel on postitatud: %s"
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid "Article rejected (saved to %s)"
 msgstr "Artikkel lÃ¼kati tagasi (salvestasin faili %s)"
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid ""
 "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: "
@@ -128,100 +128,105 @@ msgstr ""
 "%s=artikkel, %s=teema, %s=vahemik, %s=kuum, %s=muster, %s=mÃ¤rgitud, "
 "%s=vÃ¤lju: "
 
-#: src/lang.c:72
+#: src/lang.c:73
 msgid "Article unavailable"
 msgstr "Artiklit pole"
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid "Article undeleted."
 msgstr "Artikkel taastatud."
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid "Article %4d of %4d"
 msgstr "Artikkel %4d : %4d"
 
-#: src/lang.c:76
+#: src/lang.c:77
+#, fuzzy
+msgid "Article Info Page"
+msgstr "Artiklit ei salvestatud"
+
+#: src/lang.c:78
 msgid "articles"
 msgstr "artiklit"
 
-#: src/lang.c:77
+#: src/lang.c:79
 msgid "This is a repost of the following article:"
 msgstr "See on jÃ¤rgneva artikli uuesti postitamine:"
 
-#: src/lang.c:78
+#: src/lang.c:80
 msgid "article"
 msgstr "artikkel"
 
-#: src/lang.c:79
+#: src/lang.c:81
 msgid "Article"
 msgstr "Artikkel"
 
-#: src/lang.c:80
+#: src/lang.c:82
 #, c-format
 msgid "-- %d %s mailed --"
 msgstr "-- %d %s saadetud --"
 
-#: src/lang.c:81
+#: src/lang.c:83
 #, c-format
 msgid " at %s"
 msgstr " o: %s"
 
-#: src/lang.c:84
+#: src/lang.c:86
 #, fuzzy, c-format
 msgid "charset %s"
 msgstr "kooditabel %s"
 
-#: src/lang.c:85
+#: src/lang.c:87
 #, c-format
 msgid "content subtype %s"
 msgstr ""
 
-#: src/lang.c:86
+#: src/lang.c:88
 #, c-format
 msgid "content type %s"
 msgstr ""
 
-#: src/lang.c:87
+#: src/lang.c:89
 #, c-format
 msgid "%*s[-- charset %s not supported --]\n"
 msgstr "%*s[-- kooditabel %s ei ole toetatud --]\n"
 
-#: src/lang.c:88
+#: src/lang.c:90
 #, c-format
 msgid "%*s[-- Description: %s --]\n"
 msgstr "%*s[-- Kirjeldus: %s --]\n"
 
-#: src/lang.c:89
+#: src/lang.c:91
 #, fuzzy, c-format
 msgid "encoding %s"
 msgstr "Avan %s"
 
-#: src/lang.c:95
+#: src/lang.c:97
 #, fuzzy, c-format
 msgid "lang %s"
 msgstr "Loen %s"
 
-#: src/lang.c:96
+#: src/lang.c:98
 #, fuzzy, c-format
 msgid "%s lines"
 msgstr "%s rida"
 
-#: src/lang.c:97
+#: src/lang.c:99
 #, fuzzy, c-format
 msgid "name %s"
 msgstr "nimi %s"
 
-#: src/lang.c:98
+#: src/lang.c:100
 msgid ", "
 msgstr ""
 
-#: src/lang.c:99
+#: src/lang.c:101
 #, c-format
 msgid "size %s"
 msgstr ""
 
-#: src/lang.c:100
+#: src/lang.c:102
 msgid ""
 "This message has been composed in the 'multipart/mixed' MIME-format. If you\n"
 "are reading this prefix, your mail reader probably has not yet been "
@@ -234,46 +239,46 @@ msgstr ""
 "vormingut kasutama ja jÃ¤rgnev tekst vÃµib olla kummaline.\n"
 "\n"
 
-#: src/lang.c:104
+#: src/lang.c:106
 msgid "Attachment Menu"
 msgstr "Manuste menÃ¼Ã¼"
 
-#: src/lang.c:105
+#: src/lang.c:107
 msgid "Attachment Menu Commands"
 msgstr "Manuste menÃ¼Ã¼ kÃ¤sud"
 
-#: src/lang.c:106
+#: src/lang.c:108
 msgid "<no name>"
 msgstr "<nime pole>"
 
-#: src/lang.c:107
+#: src/lang.c:109
 #, c-format
 msgid "Attachment saved successfully. (%s)"
 msgstr "Manus on edukalt salvestatud. (%s)"
 
-#: src/lang.c:108
+#: src/lang.c:110
 #, c-format
 msgid "%d of %d attachments saved successfully."
 msgstr "%d kokku %d manusest on edukalt salvestatud."
 
-#: src/lang.c:109
+#: src/lang.c:111
 msgid "Select attachment> "
 msgstr "Valige manus> "
 
-#: src/lang.c:110
+#: src/lang.c:112
 msgid "Tagged attachment"
 msgstr "MÃ¤rgitud manus"
 
-#: src/lang.c:111
+#: src/lang.c:113
 #, c-format
 msgid "%d attachments tagged"
 msgstr "%d mÃ¤rgitud manust"
 
-#: src/lang.c:112
+#: src/lang.c:114
 msgid "Untagged attachment"
 msgstr "MÃ¤rkimata manus"
 
-#: src/lang.c:115
+#: src/lang.c:117
 msgid ""
 "# Do not edit this comment block\n"
 "#\n"
@@ -281,321 +286,326 @@ msgstr ""
 "# Ã„rge seda kommentaari blokki muutke\n"
 "#\n"
 
-#: src/lang.c:116
+#: src/lang.c:118
 msgid "#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr "#  scope=SÃ•NE (n. alt.*,!alt.bin*) [kohustuslik]\n"
 
-#: src/lang.c:117
+#: src/lang.c:119
 msgid "#  add_posted_to_filter=ON/OFF\n"
 msgstr "#  add_posted_to_filter=ON/OFF\n"
 
-#: src/lang.c:118
+#: src/lang.c:120
 msgid "#  advertising=ON/OFF\n"
 msgstr "#  advertising=ON/OFF\n"
 
-#: src/lang.c:119
+#: src/lang.c:121
 msgid "#  alternative_handling=ON/OFF\n"
 msgstr "#  alternative_handling=ON/OFF\n"
 
-#: src/lang.c:120
+#: src/lang.c:122
 msgid "#  ask_for_metamail=ON/OFF\n"
 msgstr "#  ask_for_metamail=ON/OFF\n"
 
-#: src/lang.c:121
+#: src/lang.c:123
 msgid "#  auto_cc_bcc=NUM\n"
 msgstr "#  auto_cc_bcc=NUM\n"
 
-#: src/lang.c:122
+#: src/lang.c:124
 msgid "#    0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n"
 msgstr "#    0=Ei pane, 1=Cc, 2=Bcc, 3=Cc ja Bcc\n"
 
-#: src/lang.c:123
+#: src/lang.c:125
 msgid "#  auto_list_thread=ON/OFF\n"
 msgstr "#  auto_list_thread=ON/OFF\n"
 
-#: src/lang.c:124
+#: src/lang.c:126
 msgid "#  auto_select=ON/OFF\n"
 msgstr "#  auto_select=ON/OFF\n"
 
-#: src/lang.c:125
+#: src/lang.c:127
 msgid "#  batch_save=ON/OFF\n"
 msgstr "#  batch_save=ON/OFF\n"
 
-#: src/lang.c:126
+#: src/lang.c:128
 msgid "#  date_format=STRING (eg. %a, %d %b %Y %H:%M:%S)\n"
 msgstr "#  date_format=SÃ•NE (n. %a, %d %b %Y %H:%M:%S)\n"
 
-#: src/lang.c:127
+#: src/lang.c:129
 msgid "#  delete_tmp_files=ON/OFF\n"
 msgstr "#  delete_tmp_files=ON/OFF\n"
 
-#: src/lang.c:128
+#: src/lang.c:130
 msgid "#  editor_format=STRING (eg. %E +%N %F)\n"
 msgstr "#  editor_format=SÃ•NE (n. %E +%N %F)\n"
 
-#: src/lang.c:129
+#: src/lang.c:131
 msgid "#  fcc=STRING (eg. =mailbox)\n"
 msgstr "#  fcc=SÃ•NE (n. =postkast)\n"
 
-#: src/lang.c:130
+#: src/lang.c:132
 msgid "#  followup_to=STRING\n"
 msgstr "#  followup_to=SÃ•NE\n"
 
-#: src/lang.c:131
+#: src/lang.c:133
 msgid "#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr ""
 "#  from=SÃ•NE (kirjutage soovitav From: rida, Ã¤rge kasutage jutumÃ¤rke)\n"
 
-#: src/lang.c:132
+#: src/lang.c:134
 msgid "#  group_catchup_on_exit=ON/OFF\n"
 msgstr "#  group_catchup_on_exit=ON/OFF\n"
 
-#: src/lang.c:133
+#: src/lang.c:135
 msgid "#  group_format=STRING (eg. %n %m %R %L  %s  %F)\n"
 msgstr "#  group_format=SÃ•NE (nt. %n %m %R %L  %s  %F)\n"
 
-#: src/lang.c:134
+#: src/lang.c:136
 msgid "#  mail_8bit_header=ON/OFF\n"
 msgstr "#  mail_8bit_header=ON/OFF\n"
 
-#: src/lang.c:135
+#: src/lang.c:137
 msgid "#  mail_mime_encoding=supported_encoding"
 msgstr "#  mail_mime_encoding=toetatud_kodeering"
 
-#: src/lang.c:137
+#: src/lang.c:139
 msgid "#  ispell=STRING\n"
 msgstr "#  ispell=SÃ•NE\n"
 
-#: src/lang.c:139
+#: src/lang.c:141
 msgid "#  maildir=STRING (eg. ~/Mail)\n"
 msgstr "#  maildir=SÃ•NE (n. ~/Mail)\n"
 
-#: src/lang.c:140
+#: src/lang.c:142
 msgid "#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr "#  mailing_list=SÃ•NE (n. majordomo@example.org)\n"
 
-#: src/lang.c:141
+#: src/lang.c:143
 msgid "#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr "#  mime_types_to_save=SÃ•NE (n. image/*,!image/bmp)\n"
 
-#: src/lang.c:142
+#: src/lang.c:144
 msgid "#  mark_ignore_tags=ON/OFF\n"
 msgstr "#  mark_ignore_tags=ON/OFF\n"
 
-#: src/lang.c:143
+#: src/lang.c:145
 msgid "#  mark_saved_read=ON/OFF\n"
 msgstr "#  mark_saved_read=ON/OFF\n"
 
-#: src/lang.c:144
+#: src/lang.c:146
 msgid "#  mime_forward=ON/OFF\n"
 msgstr "#  mime_forward=ON/OFF\n"
 
-#: src/lang.c:146
+#: src/lang.c:148
 msgid "#  mm_network_charset=supported_charset"
 msgstr "#  mm_network_charset=toetatud_koodileht"
 
-#: src/lang.c:147
+#: src/lang.c:149
 msgid "#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr "#  undeclared_charset=SÃ•NE (vaikimisi on US-ASCII)\n"
 
-#: src/lang.c:149
+#: src/lang.c:151
+#, fuzzy
+msgid "#  undeclared_cs_guess=ON/OFF (default is OFF)\n"
+msgstr "#  undeclared_charset=SÃ•NE (vaikimisi on US-ASCII)\n"
+
+#: src/lang.c:154
 msgid "#  news_headers_to_display=STRING\n"
 msgstr "#  news_headers_to_display=SÃ•NE\n"
 
-#: src/lang.c:150
+#: src/lang.c:155
 msgid "#  news_headers_to_not_display=STRING\n"
 msgstr "#  news_headers_to_not_display=SÃ•NE\n"
 
-#: src/lang.c:151
+#: src/lang.c:156
 msgid "#  news_quote_format=STRING\n"
 msgstr "#  news_quote_format=SÃ•NE\n"
 
-#: src/lang.c:152
+#: src/lang.c:157
 msgid "#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr "#  organization=SÃ•NE (kui algab sÃ¼mboliga '/', loe failist)\n"
 
-#: src/lang.c:153
+#: src/lang.c:158
 msgid "#  pos_first_unread=ON/OFF\n"
 msgstr "#  pos_first_unread=ON/OFF\n"
 
-#: src/lang.c:154
+#: src/lang.c:159
 msgid "#  post_8bit_header=ON/OFF\n"
 msgstr "#  post_8bit_header=ON/OFF\n"
 
-#: src/lang.c:155
+#: src/lang.c:160
 msgid "#  post_mime_encoding=supported_encoding"
 msgstr "#  post_mime_encoding=toetatud_kodeering"
 
-#: src/lang.c:156
+#: src/lang.c:161
 msgid "#  post_process_type=NUM\n"
 msgstr "#  post_process_type=NUM\n"
 
-#: src/lang.c:157
+#: src/lang.c:162
 msgid "#  post_process_view=ON/OFF\n"
 msgstr "#  post_process_view=ON/OFF\n"
 
-#: src/lang.c:158
+#: src/lang.c:163
 msgid "#  quick_kill_scope=STRING (e.g. talk.*)\n"
 msgstr "#  quick_kill_scope=SÃ•NE (n. talk.*)\n"
 
-#: src/lang.c:159
+#: src/lang.c:164
 msgid "#  quick_kill_expire=ON/OFF\n"
 msgstr "#  quick_kill_expire=ON/OFF\n"
 
-#: src/lang.c:160
+#: src/lang.c:165
 msgid "#  quick_kill_case=ON/OFF\n"
 msgstr "#  quick_kill_case=ON/OFF\n"
 
-#: src/lang.c:161
+#: src/lang.c:166
 msgid "#  quick_kill_header=NUM\n"
 msgstr "#  quick_kill_header=NUM\n"
 
-#: src/lang.c:162 src/lang.c:171
+#: src/lang.c:167 src/lang.c:176
 msgid "#    0=Subject: (case sensitive)  1=Subject: (ignore case)\n"
 msgstr "#    0=Teema: (tÃµstutundlik) 1=Teema: (tÃµstutundetu)\n"
 
-#: src/lang.c:163 src/lang.c:172
+#: src/lang.c:168 src/lang.c:177
 msgid "#    2=From: (case sensitive)     3=From: (ignore case)\n"
 msgstr "#    2=Saatja: (tÃµstutundlik) 3=Saatja: (tÃµstutundetu)\n"
 
-#: src/lang.c:164 src/lang.c:173
+#: src/lang.c:169 src/lang.c:178
 msgid "#    4=Message-ID: & full References: line\n"
 msgstr "#    4=Message-ID: ja tÃ¤ielik References: rida\n"
 
-#: src/lang.c:165 src/lang.c:174
+#: src/lang.c:170 src/lang.c:179
 msgid "#    5=Message-ID: & last References: entry only\n"
 msgstr "#    5=Message-ID: & ainult viimane viitamise kirje\n"
 
-#: src/lang.c:166 src/lang.c:175
+#: src/lang.c:171 src/lang.c:180
 msgid "#    6=Message-ID: entry only     7=Lines:\n"
 msgstr "#    6=Message-ID: kirje ainult   7=Ridu:\n"
 
-#: src/lang.c:167
+#: src/lang.c:172
 msgid "#  quick_select_scope=STRING\n"
 msgstr "#  quick_select_scope=SÃ•NE\n"
 
-#: src/lang.c:168
+#: src/lang.c:173
 msgid "#  quick_select_expire=ON/OFF\n"
 msgstr "#  quick_select_expire=ON/OFF\n"
 
-#: src/lang.c:169
+#: src/lang.c:174
 msgid "#  quick_select_case=ON/OFF\n"
 msgstr "#  quick_select_case=ON/OFF\n"
 
-#: src/lang.c:170
+#: src/lang.c:175
 msgid "#  quick_select_header=NUM\n"
 msgstr "#  quick_select_header=NUM\n"
 
-#: src/lang.c:176
+#: src/lang.c:181
 msgid "#  quote_chars=STRING (%I for initials)\n"
 msgstr "#  quote_chars=SÃ•NE (%I annab initsiaalid)\n"
 
-#: src/lang.c:178
+#: src/lang.c:183
 msgid "#  print_header=ON/OFF\n"
 msgstr "#  print_header=ON/OFF\n"
 
-#: src/lang.c:180
+#: src/lang.c:185
 msgid "#  process_only_unread=ON/OFF\n"
 msgstr "#  process_only_unread=ON/OFF\n"
 
-#: src/lang.c:181
+#: src/lang.c:186
 msgid "#  prompt_followupto=ON/OFF\n"
 msgstr "#  prompt_followupto=ON/OFF\n"
 
-#: src/lang.c:182
+#: src/lang.c:187
 msgid "#  savedir=STRING (eg. ~user/News)\n"
 msgstr "#  savedir=SÃ•NE (n. ~user/News)\n"
 
-#: src/lang.c:183
+#: src/lang.c:188
 msgid "#  savefile=STRING (eg. =linux)\n"
 msgstr "#  savefile=SÃ•NE (n. =linux)\n"
 
-#: src/lang.c:184
+#: src/lang.c:189
 msgid "#  sigfile=STRING (eg. $var/sig)\n"
 msgstr "#  sigfile=SÃ•NE (n. $var/sig)\n"
 
-#: src/lang.c:185
+#: src/lang.c:190
 msgid "#  show_author=NUM\n"
 msgstr "#  show_author=NUM\n"
 
-#: src/lang.c:186
+#: src/lang.c:191
 msgid "#  show_signatures=ON/OFF\n"
 msgstr "#  show_signatures=ON/OFF\n"
 
-#: src/lang.c:187
+#: src/lang.c:192
 msgid "#  show_art_score=ON/OFF\n"
 msgstr "#  show_art_score=ON/OFF\n"
 
-#: src/lang.c:189
+#: src/lang.c:194
 msgid "#  suppress_soft_hyphens=ON/OFF\n"
 msgstr "#  suppress_soft_hyphens=ON/OFF\n"
 
-#: src/lang.c:191
+#: src/lang.c:196
 msgid "#  show_only_unread_arts=ON/OFF\n"
 msgstr "#  show_only_unread_arts=ON/OFF\n"
 
-#: src/lang.c:192
+#: src/lang.c:197
 msgid "#  sigdashes=ON/OFF\n"
 msgstr "#  sigdashes=ON/OFF\n"
 
-#: src/lang.c:193
+#: src/lang.c:198
 msgid "#  signature_repost=ON/OFF\n"
 msgstr "#  signature_repost=ON/OFF\n"
 
-#: src/lang.c:194
+#: src/lang.c:199
 msgid "#  sort_article_type=NUM\n"
 msgstr "#  sort_article_type=NUM\n"
 
-#: src/lang.c:195
+#: src/lang.c:200
 msgid "#  sort_threads_type=NUM\n"
 msgstr "#  sort_threads_type=NUM\n"
 
 #
-#: src/lang.c:196
+#: src/lang.c:201
 msgid "#  tex2iso_conv=ON/OFF\n"
 msgstr "#  tex2iso_conv=ON/OFF\n"
 
-#: src/lang.c:197
+#: src/lang.c:202
 msgid "#  thread_catchup_on_exit=ON/OFF\n"
 msgstr "#  thread_catchup_on_exit=ON/OFF\n"
 
-#: src/lang.c:198
+#: src/lang.c:203
 msgid "#  thread_articles=NUM"
 msgstr "#  thread_articles=NUM"
 
-#: src/lang.c:199
+#: src/lang.c:204
 msgid "#  thread_format=STRING (eg. %n %m [%L]  %T  %F)\n"
 msgstr "#  thread_format=SÃ•NE (n. %n %m [%L]  %T  %F)\n"
 
-#: src/lang.c:200
+#: src/lang.c:205
 msgid "#  thread_perc=NUM\n"
 msgstr "#  thread_perc=NUM\n"
 
-#: src/lang.c:201
+#: src/lang.c:206
 msgid "#  trim_article_body=NUM\n"
 msgstr "#  trim_article_body=NUM\n"
 
-#: src/lang.c:202
+#: src/lang.c:207
 msgid "#    0 = Don't trim article body\n"
 msgstr "#    0 = Ã„ra lÃ¼henda artikli keha\n"
 
-#: src/lang.c:203
+#: src/lang.c:208
 msgid "#    1 = Skip leading blank lines\n"
 msgstr "#    1 = JÃ¤ta alles alguses olevad tÃ¼hjad read\n"
 
-#: src/lang.c:204
+#: src/lang.c:209
 msgid "#    2 = Skip trailing blank lines\n"
 msgstr "#    2 = JÃ¤ta alles lÃµpus olevad tÃ¼hjad read\n"
 
-#: src/lang.c:205
+#: src/lang.c:210
 msgid "#    3 = Skip leading and trailing blank lines\n"
 msgstr "#    3 = JÃ¤ta alles alguses ja lÃµpus olevad tÃ¼hjad read\n"
 
-#: src/lang.c:206
+#: src/lang.c:211
 msgid "#    4 = Compact multiple blank lines between text blocks\n"
 msgstr "#    4 = Tihenda teksti vahel olevad tÃ¼hjad read\n"
 
-#: src/lang.c:207
+#: src/lang.c:212
 msgid ""
 "#    5 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading blank lines\n"
@@ -603,7 +613,7 @@ msgstr ""
 "#    5 = Tihenda teksti vahel olevad tÃ¼hjad read ja\n"
 "#        jÃ¤ta vahele alguses olevad tÃ¼hjad read\n"
 
-#: src/lang.c:208
+#: src/lang.c:213
 msgid ""
 "#    6 = Compact multiple blank lines between text blocks and skip\n"
 "#        trailing blank lines\n"
@@ -611,7 +621,7 @@ msgstr ""
 "#    6 = Tihenda teksti vahel olevad tÃ¼hjad read ja\n"
 "#        jÃ¤ta vahele lÃµpus olevad tÃ¼hjad read\n"
 
-#: src/lang.c:209
+#: src/lang.c:214
 msgid ""
 "#    7 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading and trailing blank lines\n"
@@ -619,31 +629,31 @@ msgstr ""
 "#    7 = Tihenda teksti vahel olevad tÃ¼hjad read ja\n"
 "#        jÃ¤ta vahele alguses ja lÃµpus olevad tÃ¼hjad read\n"
 
-#: src/lang.c:210
+#: src/lang.c:215
 msgid "#  verbatim_handling=ON/OFF\n"
 msgstr "#  verbatim_handling=ON/OFF\n"
 
-#: src/lang.c:212
+#: src/lang.c:217
 msgid "#  extquote_handling=ON/OFF\n"
 msgstr "#  extquote_handling=ON/OFF\n"
 
-#: src/lang.c:214
+#: src/lang.c:219
 msgid "#  wrap_on_next_unread=ON/OFF\n"
 msgstr "#  wrap_on_next_unread=ON/OFF\n"
 
-#: src/lang.c:215
+#: src/lang.c:220
 msgid "#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr "#  x_body=SÃ•NE (n. ~/.tin/extra-body-text)\n"
 
-#: src/lang.c:216
+#: src/lang.c:221
 msgid "#  x_comment_to=ON/OFF\n"
 msgstr "#  x_comment_to=ON/OFF\n"
 
-#: src/lang.c:217
+#: src/lang.c:222
 msgid "#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr "#  x_headers=SÃ•NE (n. ~/.tin/extra-headers)\n"
 
-#: src/lang.c:218
+#: src/lang.c:223
 msgid ""
 "#\n"
 "# Note that it is best to put general (global scoping)\n"
@@ -651,7 +661,7 @@ msgstr ""
 "#\n"
 "# MÃ¤rkus: parem on kÃµigepealt kirjeldada Ã¼ldisemad (globaalse skoobiga)\n"
 
-#: src/lang.c:219
+#: src/lang.c:224
 msgid ""
 "# entries first followed by group specific entries.\n"
 "#\n"
@@ -659,62 +669,66 @@ msgstr ""
 "# ning seejÃ¤rel konkreetsemad, grupi spetsiifilised, reeglid.\n"
 "#\n"
 
-#: src/lang.c:220
+#: src/lang.c:225
 msgid "############################################################################\n"
 msgstr "############################################################################\n"
 
-#: src/lang.c:221
+#: src/lang.c:226
 msgid "Attributes Menu Commands"
 msgstr "Atribuutide menÃ¼Ã¼ kÃ¤sud"
 
-#: src/lang.c:222
+#: src/lang.c:227
 #, c-format
 msgid "attribute with no scope: %s"
 msgstr "atribuut ilma skoobita: %s"
 
-#: src/lang.c:224
+#: src/lang.c:229
 #, c-format
 msgid "%d Authentication failed"
 msgstr "%d Autentimine ebaÃµnnestus"
 
-#: src/lang.c:225
+#: src/lang.c:230
 #, c-format
 msgid "NNTP authorization password not found for %s"
 msgstr "Serverile %s vastavat NNTP autoriseerimise parooli pole"
 
-#: src/lang.c:226
+#: src/lang.c:231
 msgid "Server expects authentication.\n"
 msgstr "Server eeldab autentimist.\n"
 
-#: src/lang.c:227
+#: src/lang.c:232
 msgid "    Please enter password: "
 msgstr "    Palun sisestage parool: "
 
-#: src/lang.c:228
+#: src/lang.c:233
 msgid "    Please enter username: "
 msgstr "    Palun sisestage kasutajanimi: "
 
-#: src/lang.c:229
+#: src/lang.c:234
 #, c-format
 msgid "Authorized for user: %s\n"
 msgstr "Autoriseeritud kasutaja: %s\n"
 
-#: src/lang.c:230
+#: src/lang.c:235
 #, c-format
 msgid "Authorization failed for user: %s\n"
 msgstr "Autoriseerimine ebaÃµnnestus. Kasutaja: %s\n"
 
-#: src/lang.c:232
+#: src/lang.c:236
+msgid "No supported authorization method available in current state!\n"
+msgstr ""
+
+#: src/lang.c:238
 #, c-format
 msgid "Author search backwards [%s]> "
 msgstr "Autori tagaspidi otsimine [%s]> "
 
-#: src/lang.c:233
+#: src/lang.c:239
 #, c-format
 msgid "Author search forwards [%s]> "
 msgstr "Autori edaspidi otsimine [%s]> "
 
-#: src/lang.c:234
+#: src/lang.c:240
 #, c-format
 msgid ""
 "\n"
@@ -723,520 +737,533 @@ msgstr ""
 "\n"
 "%s tellitud"
 
-#: src/lang.c:235
+#: src/lang.c:241
 msgid "Autosubscribing groups...\n"
 msgstr "Tellin grupid...\n"
 
-#: src/lang.c:236
+#: src/lang.c:242
 #, c-format
 msgid "Autoselecting articles (use '%s' to see all unread) ..."
 msgstr "Valin artiklid (kÃµikide lugemata artiklite vaatamiseks '%s') ..."
 
-#: src/lang.c:238
+#: src/lang.c:244
 #, c-format
 msgid ""
 "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 msgstr ""
 "Postitatav artikkel sai vigu vÃµi hoiatusi. %s=vÃ¤lju, %s=menÃ¼Ã¼, %s=toimeta: "
 
-#: src/lang.c:239
+#: src/lang.c:246
 #, c-format
 msgid "Unrecognized attribute: %s"
 msgstr "Tundmatu atribuut: %s"
 
-#: src/lang.c:240
+#: src/lang.c:248
 #, c-format
 msgid "Bad command. Type '%s' for help."
 msgstr "Vigane kÃ¤sk. Abiinfo saamiseks vajutage '%s'."
 
-#: src/lang.c:242
+#: src/lang.c:249
 msgid "Base article"
 msgstr "Baasartikkel"
 
-#: src/lang.c:243
+#: src/lang.c:250
 msgid "Base article range"
 msgstr "Baasartiklite vahemik"
 
-#: src/lang.c:244
+#: src/lang.c:251
 #, c-format
 msgid "%s: Updating of index files not supported: cache_overview_files=%s"
 msgstr "%s: Indeks failide uuendamist ei toetata: cache_overview_files=%s"
 
-#: src/lang.c:245
+#: src/lang.c:252
 msgid "*** Beginning of article ***"
 msgstr "*** Artikli algus ***"
 
-#: src/lang.c:246
+#: src/lang.c:253
 msgid "*** Beginning of page ***"
 msgstr "*** Lehe algus ***"
 
-#: src/lang.c:248
-msgid "bytes"
-msgstr "baiti"
-
-#: src/lang.c:251
+#: src/lang.c:255
 #, c-format
 msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr "Katkestada (kustutada) vÃµi asendada artikkel [%%s]? (%s/%s/%s): "
 
-#: src/lang.c:252
+#: src/lang.c:256
 msgid "Cancelling article..."
 msgstr "Katkestan artiklit..."
 
-#: src/lang.c:254
+#: src/lang.c:258
 #, c-format
 msgid "Cannot create %s"
 msgstr "%s ei Ãµnnestu luua"
 
-#: src/lang.c:257
+#: src/lang.c:261
 #, c-format
 msgid "Can't find base article %d"
 msgstr "Ei leis baasartiklit %d"
 
-#: src/lang.c:259
+#: src/lang.c:263
 #, c-format
 msgid "Can't open %s"
 msgstr "%s ei saa avada"
 
-#: src/lang.c:260
+#: src/lang.c:264
 #, c-format
 msgid "Couldn't open %s for saving"
 msgstr "%s ei saa salvestamiseks avada"
 
-#: src/lang.c:261
+#: src/lang.c:265
 msgid "*** Posting not allowed ***"
 msgstr "*** Postitamine ei ole lubatud ***"
 
-#: src/lang.c:262
+#: src/lang.c:266
 #, c-format
 msgid "Posting is not allowed to %s"
 msgstr "%s ei luba postitada"
 
-#: src/lang.c:264
+#: src/lang.c:268
 #, c-format
 msgid "Can't retrieve %s"
 msgstr "%s ei Ãµnnestu laadida"
 
-#: src/lang.c:266
+#: src/lang.c:270
 msgid "Can't supersede in mailgroups, try repost instead."
 msgstr "e-posti gruppides ei saa asendada, proovide uuesti postitada."
 
-#: src/lang.c:267
+#: src/lang.c:271
 #, c-format
 msgid "%s is a directory"
 msgstr "%s on kataloog"
 
-#: src/lang.c:268
+#: src/lang.c:272
 msgid "Catchup"
 msgstr "MÃ¤rgin loetuks"
 
-#: src/lang.c:269
+#: src/lang.c:273
 #, c-format
 msgid "Catchup %s..."
 msgstr "MÃ¤rgin %s loetuks..."
 
-#: src/lang.c:270
+#: src/lang.c:274
 msgid "Catchup all groups entered during this session?"
 msgstr "MÃ¤rgi loetuks kÃµik grupid, millesse on sessiooni jooksul sisenetud?"
 
-#: src/lang.c:271
+#: src/lang.c:275
 msgid "You have tagged articles in this group - catchup anyway?"
 msgstr "Teil on siin grupis mÃ¤rgitud teateid - mÃ¤rgin loetuks?"
 
-#: src/lang.c:272
+#: src/lang.c:276
 #, c-format
 msgid "%s %d %s in %lu seconds\n"
 msgstr "%s %d %s %lu sekundiga\n"
 
-#: src/lang.c:273
+#: src/lang.c:277
 msgid "Caughtup"
 msgstr "Loetud"
 
-#: src/lang.c:274
+#: src/lang.c:278
 msgid "Check Prepared Article"
 msgstr "Kontrollin valminud artiklit"
 
-#: src/lang.c:275
+#: src/lang.c:279
 msgid "Checking for new groups... "
 msgstr "Otsin uusi gruppe... "
 
-#: src/lang.c:276
+#: src/lang.c:280
 msgid "Checking for news...\n"
 msgstr "Otsin uudiseid...\n"
 
-#: src/lang.c:277
+#: src/lang.c:281
 #, c-format
 msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr "JÃ¤reltÃ¶Ã¶tle %s=ei, %s=jah, %s=shar, %s=vÃ¤lju: "
 
-#: src/lang.c:279
+#: src/lang.c:283
 msgid "ANSI color disabled"
 msgstr "ANSI vÃ¤rvid on keelatud"
 
-#: src/lang.c:280
+#: src/lang.c:284
 msgid "ANSI color enabled"
 msgstr "ANSI vÃ¤rvid on lubatud"
 
-#: src/lang.c:282
+#: src/lang.c:286
 #, c-format
 msgid "Command failed: %s"
 msgstr "KÃ¤sk ebaÃµnnestus: %s"
 
-#: src/lang.c:284
+#: src/lang.c:288
 msgid "Mark not selected articles read?"
 msgstr "MÃ¤rgin valimata artiklid loetuks?"
 
-#: src/lang.c:285
+#: src/lang.c:289
 msgid "Connection Info"
 msgstr "Ãœhenduse info"
 
-#: src/lang.c:286
+#: src/lang.c:290
 #, fuzzy
 msgid "Reading from local spool.\n"
 msgstr "loen lokaalsest spool kataloogist"
 
-#: src/lang.c:287
-#, fuzzy
+#: src/lang.c:291
 msgid "Reading saved news.\n"
-msgstr "Loen %s\n"
+msgstr ""
 
-#: src/lang.c:295
+#: src/lang.c:292
 #, fuzzy
 msgid ""
 "\n"
+"Configuration files:\n"
+"--------------------\n"
+msgstr ""
+"Operatsioonid atribuutidega\n"
+"---------------------------"
+
+#: src/lang.c:300
+msgid ""
+"\n"
 "Local spool config:\n"
 "-------------------\n"
 msgstr ""
-"Ekraani omadused\n"
-"----------------"
 
-#: src/lang.c:300
+#: src/lang.c:305
 msgid "COMPRESS      :"
 msgstr ""
 
-#: src/lang.c:301
-#, fuzzy
+#: src/lang.c:306
 msgid ""
 "\n"
 "Connection details:\n"
 "-------------------\n"
 msgstr ""
-"Operatsioonid seadetega\n"
-"-----------------------"
 
-#: src/lang.c:303
+#: src/lang.c:308
 #, c-format
 msgid " DEFLATE %s\n"
 msgstr ""
 
-#: src/lang.c:304
+#: src/lang.c:309
 msgid "(enabled)"
 msgstr ""
 
-#: src/lang.c:305
+#: src/lang.c:310
 msgid "(inactive)"
 msgstr ""
 
-#: src/lang.c:307
+#: src/lang.c:312
 msgid " DEFLATE (not supported)\n"
 msgstr ""
 
-#: src/lang.c:310
+#: src/lang.c:315
 msgid "(disabled)"
 msgstr ""
 
-#: src/lang.c:311
+#: src/lang.c:316
 #, c-format
 msgid "NNTP TIMEOUT  : %d seconds %s\n"
 msgstr ""
 
-#: src/lang.c:313
+#: src/lang.c:318
 #, c-format
 msgid "IMPLEMENTATION: %s\n"
 msgstr ""
 
-#: src/lang.c:315
+#: src/lang.c:320
 #, c-format
 msgid "MAXARTNUM     : %s\n"
 msgstr ""
 
-#: src/lang.c:317
+#: src/lang.c:322
 #, fuzzy, c-format
 msgid "Reading via NNTP (%s).\n"
-msgstr ""
-"Ei kasuta NNTP (%s).\n"
-"."
+msgstr "Ei kasuta NNTP (%s).\n"
 
-#: src/lang.c:318
+#: src/lang.c:323
 #, c-format
 msgid "NNTPPORT      : %u\n"
 msgstr ""
 
-#: src/lang.c:319
+#: src/lang.c:324
 msgid "read only"
 msgstr ""
 
-#: src/lang.c:320
+#: src/lang.c:325
 msgid "read/write"
 msgstr ""
 
-#: src/lang.c:321
+#: src/lang.c:326
 #, c-format
 msgid "NNTPSERVER    : %s\n"
 msgstr ""
 
-#: src/lang.c:323
+#: src/lang.c:327
+#, c-format
+msgid "CONNECTIONTYPE: %s\n"
+msgstr ""
+
+#: src/lang.c:329
 #, fuzzy, c-format
 msgid "Reading %s via NNTPS (%s; "
 msgstr "Ei kasuta NNTPS (%s; "
 
-#: src/lang.c:325
+#: src/lang.c:330
 #, fuzzy, c-format
 msgid "Certificate #%d\n"
 msgstr "Sertifikaatide #%d\n"
 
-#: src/lang.c:327
+#: src/lang.c:332
 #, c-format
 msgid "Issuer : %s\n"
 msgstr ""
 
-#: src/lang.c:328
-#, fuzzy
+#: src/lang.c:333
 msgid ""
 "\n"
 "Server certificate information:\n"
 "-------------------------------\n"
 msgstr ""
-"Grupi/teema/artikli operatsioonid\n"
-"---------------------------------"
 
-#: src/lang.c:329
+#: src/lang.c:334
 #, fuzzy, c-format
 msgid "Subject: %s\n"
 msgstr "Teema: %s\n"
 
-#: src/lang.c:330
-#, fuzzy
+#: src/lang.c:335
 msgid ""
 "\n"
 "TLS information:\n"
 "----------------\n"
 msgstr ""
-"Operatsioonid skoobiga\n"
-"----------------------"
 
-#: src/lang.c:333
+#: src/lang.c:336
+msgid "trusted"
+msgstr ""
+
+#: src/lang.c:337
+msgid "untrusted"
+msgstr ""
+
+#: src/lang.c:339
 msgid "UNEXPECTED, possible BUG"
 msgstr ""
 
-#: src/lang.c:334
+#: src/lang.c:340
 msgid "tolerated as \"-k\" (insecure) requested"
 msgstr ""
 
-#: src/lang.c:335
+#: src/lang.c:341
 #, c-format
 msgid ""
 "Server certificate verification FAILED:\n"
 "\t%s (%s)\n"
 msgstr ""
 
-#: src/lang.c:336
+#: src/lang.c:342
 #, fuzzy
 msgid "Server certificate verified successfully.\n"
 msgstr "newsrc fail on edukalt salvestatud.\n"
 
-#: src/lang.c:338
-msgid "trusted"
-msgstr ""
-
-#: src/lang.c:339
-msgid "untrusted"
-msgstr ""
-
-#: src/lang.c:342
+#: src/lang.c:346
 msgid "Server certificate verification FAILED: <can't get reason>\n"
 msgstr ""
 
-#: src/lang.c:346
+#: src/lang.c:350
 #, c-format
 msgid "%s %s (strength %d)\n"
 msgstr ""
 
-#: src/lang.c:353
+#: src/lang.c:357
 #, c-format
 msgid "Cook article failed, %s is exiting"
 msgstr "Artikli virmindamine ebaÃµnnestus, %s lÃµpetab tÃ¶Ã¶"
 
-#: src/lang.c:354
+#: src/lang.c:358
 msgid "<CR>"
 msgstr "<CR>"
 
-#: src/lang.c:355
+#: src/lang.c:359
 msgid "Creating active file for saved groups...\n"
 msgstr "Loon salvestatud gruppidele active faili...\n"
 
-#: src/lang.c:356
-msgid "Creating newsrc file...\n"
-msgstr "Loon newsrc faili...\n"
+#: src/lang.c:360
+#, fuzzy, c-format
+msgid "Creating %s file...\n"
+msgstr "Loon %s faili...\n"
 
-#: src/lang.c:358 src/lang.c:1666 src/lang.c:1686
+#: src/lang.c:362 src/lang.c:1715 src/lang.c:1735
 msgid "Default"
 msgstr "Vaikimisi"
 
-#: src/lang.c:359
+#: src/lang.c:363
 msgid "Delete saved files that have been post processed?"
 msgstr "Kas kustutada salvestatud ja tÃ¶Ã¶deldud failid?"
 
-#: src/lang.c:360
+#: src/lang.c:364
 msgid "Deleting temporary files..."
 msgstr "Kustutan ajutisi faile..."
 
-#: src/lang.c:362
+#: src/lang.c:366
 msgid "*** End of article ***"
 msgstr "*** Artiklid on otsas ***"
 
-#: src/lang.c:363
+#: src/lang.c:367
 msgid "*** End of articles ***"
 msgstr "*** Artiklid on otsas ***"
 
-#: src/lang.c:364
+#: src/lang.c:368
 msgid "*** End of attachments ***"
 msgstr "*** Manused on otsas ***"
 
-#: src/lang.c:365
+#: src/lang.c:369
 msgid "*** End of groups ***"
 msgstr "*** Grupid on otsas ***"
 
-#: src/lang.c:366
+#: src/lang.c:370
 msgid "*** End of page ***"
 msgstr "*** Lehe lÃµpp ***"
 
-#: src/lang.c:367
+#: src/lang.c:371
 msgid "*** End of posted articles ***"
 msgstr "*** Postitatud artiklid on otsas ***"
 
-#: src/lang.c:368
+#: src/lang.c:372
 msgid "*** End of scopes ***"
 msgstr "*** Skoopide lÃµpp ***"
 
-#: src/lang.c:369
+#: src/lang.c:373
 msgid "*** End of thread ***"
 msgstr "*** Teema on otsas ***"
 
-#: src/lang.c:370
+#: src/lang.c:374
 msgid "*** End of URLs ***"
 msgstr "*** URL'id on otsas ***"
 
-#: src/lang.c:371
+#: src/lang.c:375
 msgid "Enter limit of articles to get> "
 msgstr "Sisestage leatavate artiklite piirang> "
 
-#: src/lang.c:372
+#: src/lang.c:376
 msgid "Enter Message-ID to go to> "
 msgstr "Sisestage Message-ID> "
 
-#: src/lang.c:373
+#: src/lang.c:377
 msgid " and enter next unread thread"
 msgstr " ja siseneda jÃ¤rgmisse lugemata teemasse"
 
-#: src/lang.c:374
+#: src/lang.c:378
 msgid " and enter next unread article"
 msgstr " ja sisene jÃ¤rgmisse lugemata artiklisse"
 
-#: src/lang.c:375
+#: src/lang.c:379
 msgid " and enter next unread group"
 msgstr " ja siseneda jÃ¤rgmisse lugemata teemasse"
 
-#: src/lang.c:376
+#: src/lang.c:380
 msgid "Enter option number> "
 msgstr "Sisestage omaduse number> "
 
-#: src/lang.c:377
+#: src/lang.c:381
 #, c-format
 msgid "Enter range [%s]> "
 msgstr "Sisestage vahemik [%s]> "
 
-#: src/lang.c:378
-msgid ""
-"\n"
-"Warning: Approved: header used.\n"
-msgstr ""
-"\n"
-"Hoiatus: Kasutati pÃ¤iserida Approved:.\n"
-
 #: src/lang.c:382
-msgid ""
-"\n"
-"Error: Bad address in Approved: header.\n"
-msgstr ""
-"\n"
-"Viga: Vigane aadress Approved: real.\n"
+#, fuzzy, c-format
+msgid "Error: Could not appended %s to %s"
+msgstr "Viga: %s uus nimi %s"
 
 #: src/lang.c:383
 msgid ""
 "\n"
-"Error: Bad address in From: header.\n"
+"Warning: Approved: header used.\n"
 msgstr ""
 "\n"
-"Viga: Vigane aadress From: real.\n"
+"Hoiatus: Kasutati pÃ¤iserida Approved:.\n"
 
 #: src/lang.c:384
-msgid ""
-"\n"
-"Error: Bad FQDN in Message-ID: header.\n"
+#, c-format
+msgid "  Line %d: \"%s\": given string too long.\n"
 msgstr ""
-"\n"
-"Viga: Vigane FQDN Message-ID: real.\n"
 
 #: src/lang.c:385
+#, fuzzy, c-format
+msgid "  Line %d: \"%s\": unrecognized attribute.\n"
+msgstr "Tundmatu atribuut: %s"
+
+#: src/lang.c:386
+#, c-format
+msgid "  Line %d: \"%s\": malformed line, '=' missing.\n"
+msgstr ""
+
+#: src/lang.c:390
+#, fuzzy, c-format
 msgid ""
 "\n"
-"Error: Bad address in Reply-To: header.\n"
+"Error: Bad address in \"%s\" header.\n"
 msgstr ""
 "\n"
-"Viga: Vigane aadress Reply-To: real.\n"
+"Viga: Vigane aadress \"%s\" real.\n"
 
-#: src/lang.c:386
+#: src/lang.c:391
 msgid ""
 "\n"
-"Error: Bad address in To: header.\n"
+"Error: Bad FQDN in Message-ID: header.\n"
 msgstr ""
 "\n"
-"Viga: Vigane aadress To: real.\n"
+"Viga: Vigane FQDN Message-ID: real.\n"
 
-#: src/lang.c:388
+#: src/lang.c:393
+#, fuzzy, c-format
+msgid "Can't use literal IPv%d-address %s with TLS (-T)"
+msgstr "E-posti aadressi pole"
+
+#: src/lang.c:396
 #, c-format
 msgid "Can't unlock %s"
 msgstr "%s ei saa lahti lukustada"
 
-#: src/lang.c:389
+#: src/lang.c:397
 #, c-format
 msgid "Couldn't dotlock %s - article not appended!"
 msgstr "Ei saa punkt-lukustada %s - artiklit ei lisatud!"
 
-#: src/lang.c:390
+#: src/lang.c:398
 #, c-format
 msgid "Couldn't lock %s - article not appended!"
 msgstr "Ei saa lukustada %s - artiklit ei lisatud!"
 
-#: src/lang.c:393
+#: src/lang.c:401
 #, c-format
 msgid ""
 "Server requires authentication but compression (-C) is already active.\n"
 "Restart %s with -A cmd.-line switch in conjunction with -C.\n"
 msgstr ""
 
-#: src/lang.c:396
+#: src/lang.c:404
 #, c-format
 msgid "Corrupted file %s"
 msgstr "Vigane fail %s"
 
-#: src/lang.c:397
+#: src/lang.c:406
 #, c-format
 msgid "couldn't expand %s\n"
 msgstr "ei saa laiendada %s\n"
 
-#: src/lang.c:399
+#: src/lang.c:408
+#, fuzzy, c-format
+msgid "Error: Custom format empty. Using default \"%s\"."
+msgstr "Viga: Vorming Ã¼letab ekraani laust. Kasutan vaikimisi \"%s\"."
+
+#: src/lang.c:409
+#, fuzzy
+msgid ""
+"\n"
+"Error: Article is empty.\n"
+msgstr ""
+"\n"
+"Viga: Artikkel on tÃ¼hi.\n"
+
+#: src/lang.c:411
 msgid ""
 "\n"
 "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n"
@@ -1244,36 +1271,41 @@ msgstr ""
 "\n"
 "Viga: Followup-To postitajale ja gruppi ei ole lubatud!\n"
 
-#: src/lang.c:400
+#: src/lang.c:412
 #, c-format
 msgid "Error: Custom format exceeds screen width. Using default \"%s\"."
 msgstr "Viga: Vorming Ã¼letab ekraani laust. Kasutan vaikimisi \"%s\"."
 
-#: src/lang.c:401
+#: src/lang.c:413
 msgid "Internal error in GNKSA routine - send bug report.\n"
 msgstr "Sisemine viga GNKSA protseduuris - saatke vearaport.\n"
 
-#: src/lang.c:402
+#: src/lang.c:414
 msgid "Left angle bracket missing in route address.\n"
 msgstr "Aadressis puudub <.\n"
 
-#: src/lang.c:403
+#: src/lang.c:415
 msgid "Left parenthesis missing in old-style address.\n"
 msgstr "Vanas stiilis aadressis puudub vasak Ã¼marsulg.\n"
 
-#: src/lang.c:404
+#: src/lang.c:416
 msgid "Right parenthesis missing in old-style address.\n"
 msgstr "Vanas stiilis aadressis puudub parem Ã¼marsulg.\n"
 
-#: src/lang.c:405
+#: src/lang.c:417
 msgid "At-sign missing in mail address.\n"
 msgstr "Postiaadressis puudub at-mÃ¤rk.\n"
 
-#: src/lang.c:406
+#: src/lang.c:418
+#, fuzzy
+msgid "Right angle bracket missing in route address.\n"
+msgstr "Aadressis puudub <.\n"
+
+#: src/lang.c:419
 msgid "Single component FQDN is not allowed. Add your domain.\n"
 msgstr "Ãœhekomponendiline FQDN pole lubatud. Lisage oma doomen.\n"
 
-#: src/lang.c:407
+#: src/lang.c:420
 msgid ""
 "Invalid domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1281,7 +1313,7 @@ msgstr ""
 "Vigane doomen. Saatke vearaport, kui teie doomen on reaalselt olemas.\n"
 "Kasutage \"vigase\" aadressi kirjutamisel juurmise doomenina .invalid.\n"
 
-#: src/lang.c:408
+#: src/lang.c:421
 msgid ""
 "Illegal domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1289,7 +1321,7 @@ msgstr ""
 "Vigane doomen. Saatke vearaport, kui teie doomen on reaalselt olemas.\n"
 "Kasutage \"vigase\" aadressi kirjutamisel juurmise doomenina .invalid.\n"
 
-#: src/lang.c:409
+#: src/lang.c:422
 msgid ""
 "Unknown domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1297,52 +1329,52 @@ msgstr ""
 "Vigane doomen. Saatke vearaport, kui teie doomen on reaalselt olemas.\n"
 "Kasutage \"vigase\" aadressi kirjutamisel juurmise doomenina .invalid.\n"
 
-#: src/lang.c:410
+#: src/lang.c:423
 msgid "Illegal character in FQDN.\n"
 msgstr "FQDN sisaldab lubamatut sÃ¼mbolit.\n"
 
-#: src/lang.c:411
+#: src/lang.c:424
 msgid "Zero length FQDN component not allowed.\n"
 msgstr "Null pikkusega FQDN komponent ei ole lubatud.\n"
 
-#: src/lang.c:412
+#: src/lang.c:425
 msgid "FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr "FQDN komponendi pikkus Ã¼letab maksimaalset lubatut (63 sÃ¼mbolit).\n"
 
-#: src/lang.c:413
+#: src/lang.c:426
 msgid "FQDN component may not start or end with hyphen.\n"
 msgstr "FQDN komponendi alguses ega lÃµpus ei vÃµi olla kriips.\n"
 
-#: src/lang.c:414
+#: src/lang.c:427
 msgid "FQDN component may not start with digit.\n"
 msgstr "FQDN komponent ei vÃµi alata numbriga.\n"
 
-#: src/lang.c:415
+#: src/lang.c:428
 msgid "Domain literal has impossible numeric value.\n"
 msgstr "Doomen sisaldab vÃµimatut numbrilist vÃ¤Ã¤rtust.\n"
 
-#: src/lang.c:416
+#: src/lang.c:429
 msgid ""
 "Domain literal is for private use only and not allowed for global use.\n"
 msgstr "Doomenit on lubatud kasutada ainult privaatvÃµrgus.\n"
 
-#: src/lang.c:417
+#: src/lang.c:430
 msgid "Right bracket missing in domain literal.\n"
 msgstr "Doomenis puudub vasak sulg.\n"
 
-#: src/lang.c:418
+#: src/lang.c:431
 msgid "Missing localpart of mail address.\n"
 msgstr "Aadressil puudub lokaalne osa.\n"
 
-#: src/lang.c:419
+#: src/lang.c:432
 msgid "Illegal character in localpart of mail address.\n"
 msgstr "Lubamatu sÃ¼mbol aadressi lokaalses osas.\n"
 
-#: src/lang.c:420
+#: src/lang.c:433
 msgid "Zero length localpart component not allowed.\n"
 msgstr "Null pikkusega lokaalne komponent ei ole lubatud.\n"
 
-#: src/lang.c:421
+#: src/lang.c:434
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
@@ -1350,7 +1382,7 @@ msgstr ""
 "PÃ¤risnimes on lubamatu sÃ¼mbol.\n"
 "Kvootimata sÃµnad aadressides ei tohi sisaldada '!()<>@,;:\\.[]'.\n"
 
-#: src/lang.c:422
+#: src/lang.c:435
 msgid ""
 "Illegal character in realname.\n"
 "Quoted words may not contain '()<>\\'.\n"
@@ -1358,7 +1390,7 @@ msgstr ""
 "PÃ¤risnimes on lubamatu sÃ¼mbol.\n"
 "Kvooditud sÃµnad ei vÃµi sisaldada '()<>\\'.\n"
 
-#: src/lang.c:423
+#: src/lang.c:436
 msgid ""
 "Illegal character in realname.\n"
 "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
@@ -1366,11 +1398,11 @@ msgstr ""
 "PÃ¤risnimes on lubamatu sÃ¼mbol.\n"
 "Kodeeritud sÃµnad parameetris ei vÃµi sisaldada '!()<>@,;:\"\\.[]/='.\n"
 
-#: src/lang.c:424
+#: src/lang.c:437
 msgid "Bad syntax in encoded word used in realname.\n"
 msgstr "Vigane reaalses nimes kasutatud kodeeritud sÃµna sÃ¼ntaks.\n"
 
-#: src/lang.c:425
+#: src/lang.c:438
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '()<>\\' in old-style addresses.\n"
@@ -1378,7 +1410,7 @@ msgstr ""
 "PÃ¤risnimes on lubamatu sÃ¼mbol.\n"
 "Kvootimata sÃµnad vanas stiilis aadressides ei vÃµi sisaldada '()<>\\'.\n"
 
-#: src/lang.c:426
+#: src/lang.c:439
 msgid ""
 "Illegal character in realname.\n"
 "Control characters and unencoded 8bit characters > 127 are not allowed.\n"
@@ -1387,7 +1419,12 @@ msgstr ""
 "KontrollsÃ¼mbolid ja kodeerimata 8bit sÃ¼mbolid vÃ¤Ã¤rtusega > 127 ei ole "
 "lubatud.\n"
 
-#: src/lang.c:427
+#: src/lang.c:440
+#, fuzzy
+msgid "Missing realname.\n"
+msgstr "Osad puuduvad."
+
+#: src/lang.c:441
 msgid ""
 "\n"
 "Error: No blank line found after header.\n"
@@ -1395,7 +1432,16 @@ msgstr ""
 "\n"
 "Viga: peale pÃ¤iseridu pole tÃ¼hja rida.\n"
 
-#: src/lang.c:428
+#: src/lang.c:442
+#, fuzzy
+msgid ""
+"\n"
+"Error: Illegal Distribution \"all\" used.\n"
+msgstr ""
+"\n"
+"Viga: Vigaselt vormindatud %s.\n"
+
+#: src/lang.c:443
 #, c-format
 msgid ""
 "\n"
@@ -1405,7 +1451,7 @@ msgstr ""
 "Viga: Vigaselt vormindatud %s.\n"
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:430
+#: src/lang.c:445
 msgid ""
 "\n"
 "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
@@ -1418,7 +1464,7 @@ msgstr ""
 "      on US_ASCII - palun seadke MM_CHARSET vÃ¤Ã¤rtus oma keelele sobivaks\n"
 "      kasutades seadete M)enÃ¼Ã¼d vÃµi toimetades tinrc faili.\n"
 
-#: src/lang.c:435
+#: src/lang.c:450
 msgid ""
 "\n"
 "Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
@@ -1434,7 +1480,7 @@ msgstr ""
 "      enam levinud.  Muuta saate kasutades seadete M)enÃ¼Ã¼d vÃµi toimetades\n"
 "      tinrc faili.\n"
 
-#: src/lang.c:441
+#: src/lang.c:456
 msgid ""
 "\n"
 "Error: Article starts with blank line instead of header\n"
@@ -1442,7 +1488,7 @@ msgstr ""
 "\n"
 "Viga: Artikkel algab pÃ¤ise asemel tÃ¼hja reaga\n"
 
-#: src/lang.c:442
+#: src/lang.c:457
 #, c-format
 msgid ""
 "\n"
@@ -1453,7 +1499,7 @@ msgstr ""
 "Viga: PÃ¤isereal %d puudub pÃ¤ise nime jÃ¤rel koolon:\n"
 "%s\n"
 
-#: src/lang.c:443
+#: src/lang.c:458
 #, c-format
 msgid ""
 "\n"
@@ -1462,7 +1508,7 @@ msgstr ""
 "\n"
 "Viga: \"%s:\" rida on tÃ¼hi.\n"
 
-#: src/lang.c:444
+#: src/lang.c:459
 #, c-format
 msgid ""
 "\n"
@@ -1471,7 +1517,7 @@ msgstr ""
 "\n"
 "Viga: Artikli pÃ¤ises puudub rida \"%s:\".\n"
 
-#: src/lang.c:445
+#: src/lang.c:460
 #, c-format
 msgid ""
 "\n"
@@ -1480,7 +1526,7 @@ msgstr ""
 "\n"
 "Viga: %s sisaldab mitte 7bit sÃ¼mboleid.\n"
 
-#: src/lang.c:446
+#: src/lang.c:461
 #, c-format
 msgid ""
 "\n"
@@ -1491,7 +1537,7 @@ msgstr ""
 "Viga: PÃ¤isel real %d puudub kooloni jÃ¤rel tÃ¼hik:\n"
 "%s\n"
 
-#: src/lang.c:447
+#: src/lang.c:462
 #, c-format
 msgid ""
 "\n"
@@ -1500,7 +1546,7 @@ msgstr ""
 "\n"
 "Viga: PÃ¤ises on mitu (%d) \"%s:\" rida.\n"
 
-#: src/lang.c:448
+#: src/lang.c:463
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -1511,12 +1557,23 @@ msgstr ""
 "Viga: PÃ¤isel real %d puudub kooloni jÃ¤rel tÃ¼hik:\n"
 "%s\n"
 
-#: src/lang.c:450
+#: src/lang.c:464
+msgid ""
+"\n"
+"Error: This is a mailgroup, but a recipient (\"To:\") is missing.\n"
+msgstr ""
+
+#: src/lang.c:465
+#, c-format
+msgid "Mixed up '-f'/'-F'? %s %s"
+msgstr ""
+
+#: src/lang.c:467
 #, c-format
 msgid "Insecure permissions of %s (%o)"
 msgstr "Ebaturvalised Ãµigused failil %s (%o)"
 
-#: src/lang.c:453
+#: src/lang.c:470
 #, fuzzy, c-format
 msgid "Line %d is longer than %d octets and should be folded.\n"
 msgstr ""
@@ -1524,7 +1581,7 @@ msgstr ""
 "Rida %d on pikem, kui %d sÃ¼mbolit ja tuleks poolitada, aga kodeering\n"
 "pole %s\n"
 
-#: src/lang.c:455
+#: src/lang.c:472
 #, fuzzy, c-format
 msgid "Line %d is longer than %d octets and should be shortened.\n"
 msgstr ""
@@ -1532,16 +1589,17 @@ msgstr ""
 "Rida %d on pikem, kui %d sÃ¼mbolit ja tuleks poolitada, aga kodeering\n"
 "pole %s\n"
 
-#: src/lang.c:461
-#, c-format
-msgid "MIME parse error: Unexpected end of %s/%s article"
-msgstr "MIME parsimise viga: Ootamatu artikli %s/%s lÃµpp"
+#: src/lang.c:477
+#, fuzzy, c-format
+msgid "MIME parse error: Unexpected end of %s/%s article\n"
+msgstr "MIME parsimise viga: Ootamatu artikli %s/%s lÃµpp\n"
 
-#: src/lang.c:462
-msgid "MIME parse error: Start boundary whilst reading headers"
-msgstr "MIME parsimise viga: Algas eraldaja aga loen alles pÃ¤iseid"
+#: src/lang.c:478
+#, fuzzy
+msgid "MIME parse error: Start boundary whilst reading headers\n"
+msgstr "MIME parsimise viga: Algas eraldaja aga loen alles pÃ¤iseid\n"
 
-#: src/lang.c:464
+#: src/lang.c:479
 msgid ""
 "\n"
 "Error: \"poster\" is not allowed in Newsgroups!\n"
@@ -1549,16 +1607,11 @@ msgstr ""
 "\n"
 "Viga: \"poster\" ei ole lubatud gruppides!\n"
 
-#: src/lang.c:465
+#: src/lang.c:480
 msgid "Can't get a (fully-qualified) domain-name!"
 msgstr "Ei Ãµnnestu saada (tÃ¤is) doomeninime!"
 
-#: src/lang.c:466
-#, c-format
-msgid "No permissions to go into %s\n"
-msgstr "Puuduvad Ãµigused siseneda %s\n"
-
-#: src/lang.c:468
+#: src/lang.c:482
 msgid ""
 "\n"
 "Error: From: line missing.\n"
@@ -1566,34 +1619,44 @@ msgstr ""
 "\n"
 "Viga: From: rida puudub.\n"
 
-#: src/lang.c:470
+#: src/lang.c:485
+#, c-format
+msgid "No permissions to go into %s\n"
+msgstr "Puuduvad Ãµigused siseneda %s\n"
+
+#: src/lang.c:486
 #, c-format
 msgid "No read permissions for %s\n"
 msgstr "%s lugemiseks pole Ãµiguseid\n"
 
-#: src/lang.c:471
+#: src/lang.c:487
 #, c-format
 msgid "File %s does not exist\n"
 msgstr "Faili %s pole\n"
 
-#: src/lang.c:472
+#: src/lang.c:488
 #, c-format
 msgid "No write permissions for %s\n"
 msgstr "%s kirjutamiseks pole Ãµiguseid\n"
 
-#: src/lang.c:473
+#: src/lang.c:490
+#, fuzzy, c-format
+msgid "Not a literal IPv6 address: %s"
+msgstr "E-posti aadressi pole"
+
+#: src/lang.c:493
 msgid "Can't get user information (/etc/passwd missing?)"
 msgstr "Ei leia kasutate kohta infot (/etc/passwd puudub?)"
 
-#: src/lang.c:475
+#: src/lang.c:495
 msgid "errors"
 msgstr "viga"
 
-#: src/lang.c:476
+#: src/lang.c:496
 msgid "error"
 msgstr "viga"
 
-#: src/lang.c:479
+#: src/lang.c:499
 #, c-format
 msgid ""
 "\n"
@@ -1602,63 +1665,63 @@ msgstr ""
 "\n"
 "Viga real %d: \"Sender:\" pÃ¤iserida pole lubatud (see lisatakse teie eest)\n"
 
-#: src/lang.c:481
+#: src/lang.c:501
 #, c-format
 msgid "Server has non of the groups listed in %s"
 msgstr "Serveril pole failis %s nÃ¤idatud gruppe"
 
-#: src/lang.c:482
+#: src/lang.c:502
 #, c-format
 msgid "Error: unlink %s"
 msgstr "Viga: unlink %s"
 
-#: src/lang.c:483
+#: src/lang.c:503
 msgid "Unknown display level"
 msgstr "Tundmatu ektaani tase"
 
-#: src/lang.c:485
+#: src/lang.c:505
 msgid "Unreachable?\n"
 msgstr "KÃ¤ttesaamatu?\n"
 
-#: src/lang.c:487
+#: src/lang.c:507
 msgid "<ESC>"
 msgstr "<ESC>"
 
-#: src/lang.c:488
+#: src/lang.c:508
 msgid "Exiting..."
 msgstr "LÃµpetan..."
 
-#: src/lang.c:489
+#: src/lang.c:509
 msgid "leaving external mail-reader"
 msgstr "jÃ¤tan vÃ¤lise kirjade lugeja"
 
-#: src/lang.c:490
+#: src/lang.c:510
 #, c-format
 msgid "Extracting %s..."
 msgstr "Loon %s..."
 
-#: src/lang.c:492
+#: src/lang.c:512
 #, c-format
 msgid "Error writing %s file. Filesystem full? File reset to previous state."
 msgstr ""
 "Viga faili %s kirjutamisel. FailisÃ¼steem on tÃ¤is? Faili eelmine olek "
 "taastatud."
 
-#: src/lang.c:493
+#: src/lang.c:513
 #, c-format
 msgid "Error making backup of %s file. Filesystem full?"
 msgstr "Failist %s ei Ãµnnestu varukoopiat luua. FailisÃ¼steem on tÃ¤is?"
 
-#: src/lang.c:494
+#: src/lang.c:514
 #, c-format
 msgid "Filtering global rules (%d/%d) ('q' to quit)..."
 msgstr "Filtreerin globaalseid reegleid (%d/%d) (vÃ¤ljumiseks 'q')..."
 
-#: src/lang.c:495
+#: src/lang.c:515
 msgid "Rule created by: "
 msgstr "Reegli looja: "
 
-#: src/lang.c:496
+#: src/lang.c:516
 msgid ""
 "# Format:\n"
 "#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
@@ -1726,48 +1789,48 @@ msgstr ""
 "#   time=NUMBER       Mittekohustuslik. Reegli aegumine time_t vÃ¤Ã¤rtusena\n"
 "#\n"
 
-#: src/lang.c:522
+#: src/lang.c:542
 #, c-format
 msgid "Enter score for rule (default=%d): "
-msgstr "Reegli kaal        (vaikimisi=%d): "
+msgstr "Reegli kaal (vaikimisi=%d): "
 
-#: src/lang.c:523
+#: src/lang.c:543
 #, c-format
 msgid "Enter the score weight (range 0 < score <= %d)"
 msgstr "Sisestage reegli kaal (vahemik on 0 < kaal <= %d)"
 
 #. SCORE_MAX
-#: src/lang.c:524
+#: src/lang.c:544
 msgid "Full"
 msgstr "TÃ¤is"
 
-#: src/lang.c:525
+#: src/lang.c:545
 msgid "Comment (optional)  : "
-msgstr "Kommentaar (vaba)   : "
+msgstr "Kommentaar (vaba)      : "
 
-#: src/lang.c:527
+#: src/lang.c:547
 msgid "Malformed overview entry: servername missing."
 msgstr ""
 
-#: src/lang.c:528
+#: src/lang.c:548
 #, c-format
 msgid "\t Xref: %s"
 msgstr ""
 
-#: src/lang.c:529
+#: src/lang.c:549
 msgid "Skipping Xref filter"
 msgstr ""
 
-#: src/lang.c:531
+#: src/lang.c:551
 msgid "Apply pattern to    : "
-msgstr "Rakenda mustrit     : "
+msgstr "Rakenda mustrit        : "
 
-#: src/lang.c:532
+#: src/lang.c:552
 #, c-format
 msgid "Enter pattern [%s]> "
 msgstr "Sisestage muster [%s]> "
 
-#: src/lang.c:533
+#: src/lang.c:553
 #, c-format
 msgid ""
 "\n"
@@ -1776,859 +1839,864 @@ msgstr ""
 "\n"
 "Te soovisite vastused artiklile %s:\n"
 
-#: src/lang.c:534
+#: src/lang.c:554
 #, c-format
 msgid "  %s\t Answers will be directed to you by mail.\n"
 msgstr "  %s\t Vastused saadetakse teile kirjaga.\n"
 
-#: src/lang.c:535
+#: src/lang.c:555
 msgid "-- forwarded message --\n"
 msgstr "-- edastatud teade --\n"
 
-#: src/lang.c:536
+#: src/lang.c:556
 msgid "-- end of forwarded message --\n"
 msgstr "-- edastatud teate lÃµpp --\n"
 
-#: src/lang.c:537
+#: src/lang.c:557
 msgid "From: line (ignore case)      "
 msgstr "From: rida (tÃµstutundetu)   "
 
-#: src/lang.c:538
+#: src/lang.c:558
 msgid "From: line (case sensitive)   "
 msgstr "From: rida (tÃµstutundlik)   "
 
-#: src/lang.c:541
+#: src/lang.c:561
 #, c-format
 msgid "%s%s: Unknown host.\n"
 msgstr "%s%s: Tundmatu host.\n"
 
-#: src/lang.c:543
+#: src/lang.c:563
 msgid "global "
 msgstr "globaalset "
 
-#: src/lang.c:544
+#: src/lang.c:564
 #, c-format
 msgid "Please use %.100s instead"
 msgstr "Kasutage selle asemel palun %.100s"
 
-#: src/lang.c:545
+#: src/lang.c:565
 #, c-format
 msgid "%s is bogus"
 msgstr "gruppi %s pole"
 
-#: src/lang.c:546
+#: src/lang.c:566
 #, c-format
 msgid "Group %s is moderated. Continue?"
 msgstr "Grupp %s on modereeritav. JÃ¤tkan?"
 
-#: src/lang.c:547
+#: src/lang.c:567
 msgid "groups"
 msgstr "gruppi"
 
-#: src/lang.c:548
+#: src/lang.c:568
 #, c-format
 msgid "Rereading %s..."
 msgstr "Loen %s uuesti..."
 
-#: src/lang.c:549
+#: src/lang.c:569
 msgid "Top Level Commands"
 msgstr "Ãœlemise taseme kÃ¤sud"
 
-#: src/lang.c:550
+#: src/lang.c:570
 msgid "Group Selection"
 msgstr "Grupi valik"
 
-#: src/lang.c:551
+#: src/lang.c:571
 msgid "group"
 msgstr "grupp"
 
-#: src/lang.c:552
+#: src/lang.c:572
 msgid ""
 "*** Group descriptions are disabled according to current select_format ***"
 msgstr "*** select_format blokeerib gruppide kirjeldused ***"
 
-#: src/lang.c:554
+#: src/lang.c:574
 msgid ""
 "One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr ""
 "Ãœks vÃµi enam kommentaari rida. <CR> lisamiseks vÃµi tÃ¼hja rea jÃ¤tkamiseks."
 
-#: src/lang.c:555
+#: src/lang.c:575
 msgid "From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "From: rida filtrite faili. <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:556
+#: src/lang.c:576
 msgid ""
 "Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr "Filtraaritavate artiklite ridu. < on vÃ¤hem, > on rohkem, = on vÃµrdne."
 
-#: src/lang.c:557
+#: src/lang.c:577
 msgid "Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "Message-ID: rida filtri faili lisamiseks. <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:558
+#: src/lang.c:578
 msgid "Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "Subject: rida filtri faili lisamiseks. <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:559
+#: src/lang.c:579
 msgid ""
 "Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr ""
 "Sisestage filtreerimiseks tekstimuster, kui Subject: ja From: ei ole piisav."
 
-#: src/lang.c:560
+#: src/lang.c:580
 msgid ""
 "Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr "Valige, kus tekstimustrit rakendada. <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:561
+#: src/lang.c:581
 msgid ""
 "Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr "Sisestatud filtri aegumisaeg pÃ¤evades. <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:562
+#: src/lang.c:582
 msgid ""
 "Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Kasuta surmamist jooksval/kÃµikidel gruppidel. <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:563
+#: src/lang.c:583
 msgid ""
 "Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Kasuta valikut jooksval/kÃµikidel gruppidel. <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:564
+#: src/lang.c:584
 msgid "kill an article via a menu"
 msgstr "artiklite surmamise menÃ¼Ã¼"
 
-#: src/lang.c:565
+#: src/lang.c:585
 msgid "auto-select (hot) an article via a menu"
 msgstr "(kuuma) artikli automaatse valiku menÃ¼Ã¼"
 
-#: src/lang.c:566
+#: src/lang.c:586
 msgid "Browse URLs in article"
 msgstr "Brausi artiklis olevaid URLe"
 
-#: src/lang.c:567
+#: src/lang.c:587
 msgid "0 - 9\t  display article by number in current thread"
 msgstr "0 - 9\t  nÃ¤ita jooksva teema numbri jÃ¤rgi valitud artiklit"
 
-#: src/lang.c:569
+#: src/lang.c:589
 msgid "cancel (delete) or supersede (overwrite) current article"
 msgstr "katkesta (kustuta) vÃµi asenda (kirjuta Ã¼le) jooksev artikkel"
 
-#: src/lang.c:570
+#: src/lang.c:590
 msgid "post followup to current article"
 msgstr "postita vastus jooksvale artiklile"
 
-#: src/lang.c:571
+#: src/lang.c:591
 msgid "post followup (don't copy text) to current article"
 msgstr "postita vastus (kopeeri teksti) jooksvale artiklile"
 
-#: src/lang.c:572
+#: src/lang.c:592
 msgid "post followup to current article quoting complete headers"
 msgstr "postita vastus jooksvale artiklile, tsiteerides kÃµiki pÃ¤iseid"
 
-#: src/lang.c:573
+#: src/lang.c:593
 msgid "repost chosen article to another group"
 msgstr "postita valitud artikkel teise gruppi"
 
-#: src/lang.c:575
+#: src/lang.c:595
 msgid "edit article (mail-groups only)"
 msgstr "toimeta artiklit (ainult kirjade-grupid)"
 
-#: src/lang.c:576
+#: src/lang.c:596
 msgid "display first article in current thread"
 msgstr "nÃ¤ita jooksva teema esimest artiklit"
 
-#: src/lang.c:577
+#: src/lang.c:597
 msgid "display first page of article"
 msgstr "nÃ¤ita artikli esimest lehekÃ¼lge"
 
-#: src/lang.c:578
+#: src/lang.c:598
+#, fuzzy
+msgid "show MIME details of this article"
+msgstr "Selles artiklis pole URL'e"
+
+#: src/lang.c:599
 msgid "display last article in current thread"
 msgstr "nÃ¤ita jooksva teema viimast artiklit"
 
-#: src/lang.c:579
+#: src/lang.c:600
 msgid "display last page of article"
 msgstr "nÃ¤ita artikli viimast lehekÃ¼lge"
 
-#: src/lang.c:580
+#: src/lang.c:601
 msgid "mark rest of thread as read and advance to next unread"
 msgstr "mÃ¤rgi teema loetuks ja liigu jÃ¤rgmisele lugemata teemale"
 
-#: src/lang.c:581
+#: src/lang.c:602
 msgid "display next article"
 msgstr "nÃ¤ita jÃ¤rgmist artiklit"
 
-#: src/lang.c:582
+#: src/lang.c:603
 msgid "display first article in next thread"
 msgstr "nÃ¤ita jÃ¤rgmise teema esimest artiklit"
 
-#: src/lang.c:583
+#: src/lang.c:604
 msgid "display next unread article"
 msgstr "nÃ¤ita jÃ¤rgmist lugemata artiklit"
 
-#: src/lang.c:584
+#: src/lang.c:605
 msgid "go to the article that this one followed up"
 msgstr "mine artiklile, millele see artikkel jÃ¤rgneb"
 
-#: src/lang.c:585
+#: src/lang.c:606
 msgid "display previous article"
 msgstr "nÃ¤ita eelmist artiklit"
 
-#: src/lang.c:586
+#: src/lang.c:607
 msgid "display previous unread article"
 msgstr "nÃ¤ita eelmist lugemata artiklit"
 
-#: src/lang.c:587
+#: src/lang.c:608
 msgid "quickly kill an article using defaults"
 msgstr "surma kiiresti artikkel, kasutades vaikevÃ¤Ã¤rtusi"
 
-#: src/lang.c:588
+#: src/lang.c:609
 msgid "quickly auto-select (hot) an article using defaults"
 msgstr "vali kiiresti vaikevÃ¤Ã¤rtusi kasutades (kuumad) artiklid"
 
-#: src/lang.c:589
+#: src/lang.c:610
 msgid "return to group selection level"
 msgstr "tagasi gruppide valikusse"
 
-#: src/lang.c:590
+#: src/lang.c:611
 msgid "reply through mail to author"
 msgstr "vasta autorile kirjaga"
 
-#: src/lang.c:591
+#: src/lang.c:612
 msgid "reply through mail (don't copy text) to author"
 msgstr "vasta autorile kirjaga (teksti ei kopeerita)"
 
-#: src/lang.c:592
+#: src/lang.c:613
 msgid "reply through mail to author quoting complete headers"
 msgstr "vasta autorile kirjaga, tsiteerides kÃµiki pÃ¤iseid"
 
-#: src/lang.c:593
+#: src/lang.c:614
 msgid "search backwards within this article"
 msgstr "otsi artiklis tagaspidi"
 
-#: src/lang.c:594
+#: src/lang.c:615
 msgid "search forwards within this article"
 msgstr "otsi artiklis edaspidi"
 
-#: src/lang.c:595
+#: src/lang.c:616
 msgid "show article in raw-mode (including all headers)"
 msgstr "nÃ¤ita kogu artiklit (koos pÃ¤istega)"
 
-#: src/lang.c:596
+#: src/lang.c:617
 msgid "skip next block of included text"
 msgstr "jÃ¤rgmisele tekstiblokile"
 
-#: src/lang.c:597
+#: src/lang.c:618
 msgid "toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr "lÃ¼lita lehevahetusega (^L) peidetud osade nÃ¤itamist"
 
-#: src/lang.c:598
+#: src/lang.c:619
 msgid "toggle display of all headers"
 msgstr "lÃ¼lita ekraanil kÃµik pÃ¤ised"
 
-#: src/lang.c:599
+#: src/lang.c:620
 msgid "toggle word highlighting on/off"
 msgstr "lÃ¼lita sÃµnade mÃ¤rkimine sisse/vÃ¤lja"
 
-#: src/lang.c:600
+#: src/lang.c:621
 msgid "toggle ROT-13 (basic decode) for current article"
 msgstr "lÃ¼lita jooksva artikli ROT-13 (lihtne dekodeering) kodeering"
 
-#: src/lang.c:601
+#: src/lang.c:622
 msgid "toggle tabwidth 4 <-> 8"
 msgstr "lÃ¼lita tabulaatori laius 4 <-> 8"
 
-#: src/lang.c:602
+#: src/lang.c:623
 msgid "toggle German TeX style decoding for current article"
 msgstr "lÃ¼lita jooksva artikli Saksa TeX stiilis dekodeerimine"
 
-#: src/lang.c:603
+#: src/lang.c:624
 msgid "toggle display of uuencoded sections"
 msgstr "lÃ¼lita uuenkodeeritud osade nÃ¤itamine"
 
-#: src/lang.c:604
+#: src/lang.c:625
 msgid "View/pipe/save multimedia attachments"
 msgstr "Vaata/toru/salvesta multimeedia manuseid"
 
-#: src/lang.c:605
+#: src/lang.c:626
 msgid "choose first attachment in list"
 msgstr "vali loendis esimene manus"
 
-#: src/lang.c:606
+#: src/lang.c:627
 msgid "0 - 9\t  choose attachment by number"
 msgstr "0 - 9\t  vali numbri jÃ¤rgi manus"
 
-#: src/lang.c:607
+#: src/lang.c:628
 msgid "choose last attachment in list"
 msgstr "vali loendis viimane manus"
 
-#: src/lang.c:609
+#: src/lang.c:630
 msgid "pipe attachment into command"
 msgstr "saada manus toru kaudu kÃ¤sule"
 
-#: src/lang.c:610
+#: src/lang.c:631
 msgid "pipe raw attachment into command"
 msgstr "saada kogu manus toru kaudu kÃ¤sule"
 
-#: src/lang.c:612
+#: src/lang.c:633
 msgid "save attachment to disk"
 msgstr "salvesta manus kettale"
 
-#: src/lang.c:613
+#: src/lang.c:634
 msgid "search for attachments forwards"
 msgstr "otsi manuseid edaspidi"
 
-#: src/lang.c:614
+#: src/lang.c:635
 msgid "search for attachments backwards"
 msgstr "otsi manuseid tagaspidi"
 
-#: src/lang.c:615
+#: src/lang.c:636
 msgid "view attachment"
 msgstr "vaata manust"
 
-#: src/lang.c:616
+#: src/lang.c:637
 msgid "tag attachment"
 msgstr "mÃ¤rgi manus"
 
-#: src/lang.c:617
+#: src/lang.c:638
 msgid "tag attachments that match user specified pattern"
 msgstr "mÃ¤rgi kasutaja mÃ¤Ã¤ratud mustrile vastavad manused"
 
-#: src/lang.c:618
+#: src/lang.c:639
 msgid "reverse tagging on all attachments (toggle)"
 msgstr "kÃµikide manuste tagurpidi mÃ¤rkimine"
 
-#: src/lang.c:619
+#: src/lang.c:640
 msgid "untag all tagged attachments"
 msgstr "eemalda mÃ¤rgistus kÃµikidelt mÃ¤rgitud manustelt"
 
-#: src/lang.c:620
+#: src/lang.c:641
 msgid "toggle info message in last line (name/description of attachment)"
 msgstr "lÃ¼lita viimase rea infoteadet (manuse teema/kirjeldus)"
 
-#: src/lang.c:621
+#: src/lang.c:642
 msgid "choose first attribute in list"
 msgstr "vali loendis esimene atribuut"
 
-#: src/lang.c:622
+#: src/lang.c:643
 msgid "0 - 9\t  choose attribute by number"
 msgstr "0 - 9\t  vali numbri jÃ¤rgi atribuut"
 
-#: src/lang.c:623
+#: src/lang.c:644
 msgid "choose last attribute in list"
 msgstr "vali loendis viimane atribuut"
 
-#: src/lang.c:624
+#: src/lang.c:645
 msgid "reset attribute to a default value"
 msgstr "sea atribuudile vaikevÃ¤Ã¤rtus"
 
-#: src/lang.c:625
-msgid "search forwards for an attribute"
-msgstr "otsi atribuuti edaspidi"
-
-#: src/lang.c:626
+#: src/lang.c:646
 msgid "search backwards for an attribute"
 msgstr "otsi atribuuti tagaspidi"
 
-#: src/lang.c:627
+#: src/lang.c:647
+msgid "search forwards for an attribute"
+msgstr "otsi atribuuti edaspidi"
+
+#: src/lang.c:648
 msgid "select attribute"
 msgstr "vali atribuut"
 
-#: src/lang.c:628
+#: src/lang.c:649
 msgid "toggle back to options menu when invoked from there"
 msgstr "tagasi seadete menÃ¼Ã¼sse"
 
-#: src/lang.c:629
+#: src/lang.c:650
 #, c-format
 msgid "report bug or comment via mail to %s"
 msgstr "saatke vearaport vÃµi kommentaar aadressile %s"
 
-#: src/lang.c:630
+#: src/lang.c:651
 msgid "choose first option in list"
 msgstr "vali loetelust esimene parameeter"
 
-#: src/lang.c:631
+#: src/lang.c:652
 msgid "0 - 9\t  choose option by number"
 msgstr "0 - 9\t  vali parameeter numbri jÃ¤rgi"
 
-#: src/lang.c:632
+#: src/lang.c:653
 msgid "choose last option in list"
 msgstr "vali loetelust viimane parameeter"
 
-#: src/lang.c:633
+#: src/lang.c:654
 msgid "start scopes menu"
 msgstr "alusta skoopide menÃ¼Ã¼d"
 
-#: src/lang.c:634
-msgid "search forwards for an option"
-msgstr "otsi parameetrit nime edaspidi"
-
-#: src/lang.c:635
+#: src/lang.c:655
 msgid "search backwards for an option"
 msgstr "otsi parameetrit tagaspidi"
 
-#: src/lang.c:636
+#: src/lang.c:656
+msgid "search forwards for an option"
+msgstr "otsi parameetrit nime edaspidi"
+
+#: src/lang.c:657
 msgid "select option"
 msgstr "vali parameeter"
 
-#: src/lang.c:637
+#: src/lang.c:658
 msgid "toggle to attributes menu"
 msgstr "lÃ¼lita atribuutide menÃ¼Ã¼"
 
-#: src/lang.c:638
+#: src/lang.c:659
 msgid "choose range of articles to be affected by next command"
 msgstr "valige jÃ¤rgmise kÃ¤suga tÃ¶Ã¶deldavate artiklite vahemik"
 
-#: src/lang.c:639
+#: src/lang.c:660
 msgid "escape from command prompt"
 msgstr "pÃ¤Ã¤s kÃ¤suviibalt"
 
-#: src/lang.c:640
+#: src/lang.c:661
 msgid "edit filter file"
 msgstr "toimeta filtrite faili"
 
-#: src/lang.c:641
+#: src/lang.c:662
 msgid "get help"
 msgstr "anna abiinfot"
 
-#: src/lang.c:642
+#: src/lang.c:663
 msgid "display last article viewed"
 msgstr "nÃ¤ita viimasena vaadatud artiklit"
 
-#: src/lang.c:643
+#: src/lang.c:664
 msgid "down one line"
 msgstr "Ã¼ks rida alla"
 
-#: src/lang.c:644
+#: src/lang.c:665
 msgid "up one line"
 msgstr "Ã¼les Ã¼ks rida"
 
-#: src/lang.c:645
+#: src/lang.c:666
 msgid "go to article chosen by Message-ID"
 msgstr "liigu Message-ID poolt mÃ¤Ã¤ratud artiklile"
 
-#: src/lang.c:646
+#: src/lang.c:667
 msgid "mail article/thread/hot/pattern/tagged articles to someone"
 msgstr "saada artikkel/teema/kuum/muster/mÃ¤rgitud kellelegi"
 
-#: src/lang.c:647
+#: src/lang.c:668
 msgid "menu of configurable options"
 msgstr "seadete menÃ¼Ã¼"
 
-#: src/lang.c:648
+#: src/lang.c:669
 msgid "down one page"
 msgstr "alla Ã¼ks lehekÃ¼lg"
 
-#: src/lang.c:649
+#: src/lang.c:670
 msgid "up one page"
 msgstr "Ã¼les Ã¼ks lehekÃ¼lg"
 
-#: src/lang.c:651
+#: src/lang.c:672
 msgid "post (write) article to current group"
 msgstr "postita (kirjuta) artikkel jooksvasse gruppi"
 
-#: src/lang.c:652
+#: src/lang.c:673
 msgid "post postponed articles"
 msgstr "postita ootel artiklid"
 
-#: src/lang.c:654
+#: src/lang.c:675
 msgid "list articles posted by you (from posted file)"
 msgstr "nÃ¤ita teie poolt postitatud artikleid (failist posted)"
 
-#: src/lang.c:655
+#: src/lang.c:676
 msgid "return to previous menu"
 msgstr "tagasi eelmisse menÃ¼Ã¼sse"
 
-#: src/lang.c:656
+#: src/lang.c:677
 msgid "quit tin immediately"
 msgstr "vÃ¤lju viivitamata tinist"
 
-#: src/lang.c:657
+#: src/lang.c:678
 msgid "redraw page"
 msgstr "vÃ¤rskenda lehekÃ¼lge"
 
-#: src/lang.c:658
+#: src/lang.c:679
 msgid "save article/thread/hot/pattern/tagged articles to file"
 msgstr "salvesta artikkel/teema/kuum/muster/mÃ¤rgitud faili"
 
-#: src/lang.c:659
+#: src/lang.c:680
 msgid "save marked articles automatically without user prompts"
 msgstr "salvesta mÃ¤rgitud artiklid automaatselt, kasutajalt kÃ¼simata"
 
-#: src/lang.c:660
+#: src/lang.c:681
 msgid "scroll the screen one line down"
 msgstr "keri ekraani rida alla"
 
-#: src/lang.c:661
+#: src/lang.c:682
 msgid "scroll the screen one line up"
 msgstr "keri ekraani rida Ã¼les"
 
-#: src/lang.c:662
+#: src/lang.c:683
 msgid "search for articles by author backwards"
 msgstr "otsi artikleid autori jÃ¤rgi tagaspidi"
 
-#: src/lang.c:663
+#: src/lang.c:684
 msgid "search for articles by author forwards"
 msgstr "otsi artikleid autori jÃ¤rgi edaspidi"
 
-#: src/lang.c:664
+#: src/lang.c:685
 msgid "search all articles for a given string (this may take some time)"
 msgstr "otsi antud teksti artiklitest (see vÃµib vÃµtta aega)"
 
-#: src/lang.c:665
+#: src/lang.c:686
 msgid " \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr " \t  (otsing on tÃµstutundetu ja kÃ¤ib Ã¼le kÃµikide artiklite)"
 
-#: src/lang.c:666
+#: src/lang.c:687
 msgid "search for articles by Subject line backwards"
 msgstr "otsi artiklit teema jÃ¤rgi tagaspidi"
 
-#: src/lang.c:667
+#: src/lang.c:688
 msgid "search for articles by Subject line forwards"
 msgstr "otsi artiklit teema jÃ¤rgi edaspidi"
 
-#: src/lang.c:668
+#: src/lang.c:689
 msgid "repeat last search"
 msgstr "korda eelmist otsingut"
 
-#: src/lang.c:669
+#: src/lang.c:690
 msgid "tag current article for reposting/mailing/piping/printing/saving"
 msgstr "mÃ¤rgi jooksev artikkel, et postitada/saata/trÃ¼kkida/salvestada/torusse"
 
-#: src/lang.c:670
+#: src/lang.c:691
 msgid "toggle info message in last line (subject/description)"
 msgstr "lÃ¼lita viimase rea infoteadet (teema/kirjeldus)"
 
-#: src/lang.c:671
+#: src/lang.c:692
 msgid "toggle inverse video"
 msgstr "lÃ¼lita pÃ¶Ã¶ratud video"
 
-#: src/lang.c:672
+#: src/lang.c:693
 msgid "toggle mini help menu and posting etiquette display"
 msgstr "lÃ¼lita ekraanil miniabi ja postitamise etiketi menÃ¼Ã¼d"
 
-#: src/lang.c:673
+#: src/lang.c:694
 msgid "cycle the display of authors email address, real name, both or neither"
 msgstr "vali nÃ¤itamiseks autori aadress, pÃ¤risnimi, mÃµlemad vÃµi mitte midagi"
 
-#: src/lang.c:674
+#: src/lang.c:695
 msgid "show version information"
 msgstr "esita info versioonist"
 
-#: src/lang.c:675
+#: src/lang.c:696
 msgid "mark all articles as read and return to group selection menu"
 msgstr "mÃ¤rgi artiklid loetuks ja vÃ¤lju gruppide valiku menÃ¼Ã¼sse"
 
-#: src/lang.c:676
+#: src/lang.c:697
 msgid "mark all articles as read and enter next group with unread articles"
 msgstr "mÃ¤rgi artiklid loetuks, sisene jÃ¤rgmisse lugemata artiklitega gruppi"
 
-#: src/lang.c:677
+#: src/lang.c:698
 msgid "choose first thread in list"
 msgstr "vali loendist esimene teema"
 
-#: src/lang.c:678
+#: src/lang.c:699
 msgid "choose last thread in list"
 msgstr "vali loendist viimane teema"
 
-#: src/lang.c:679
+#: src/lang.c:700
 msgid "list articles within current thread (bring up Thread sub-menu)"
 msgstr "artiklite loend jooksvas teemas (esita teema alam-menÃ¼Ã¼)"
 
-#: src/lang.c:680
+#: src/lang.c:701
 msgid "mark article as unread"
 msgstr "mÃ¤rgi artikkel loetuks"
 
-#: src/lang.c:681
+#: src/lang.c:702
 msgid "mark current thread, range or tagged threads as read"
 msgstr "mÃ¤rgi jooksev teema, vahemik vÃµi mÃ¤rgitud teemad loetuks"
 
-#: src/lang.c:682
+#: src/lang.c:703
 msgid "mark current thread, range or tagged threads as unread"
 msgstr "mÃ¤rgi jooksev teema, vahemik vÃµi mÃ¤rgitud teemad mitteloetuks"
 
-#: src/lang.c:683
+#: src/lang.c:704
 msgid "mark current/range/selected/pattern/tagged as read after prompting"
 msgstr "mÃ¤rgi jooksev/vahemik/valitud/muster/mÃ¤rgitud loetuks"
 
-#: src/lang.c:684
+#: src/lang.c:705
 msgid "mark current/range/selected/pattern/tagged as unread after prompting"
 msgstr "mÃ¤rgi jooksev/vahemik/valitud/muster/mÃ¤rgitud mitteloetuks"
 
-#: src/lang.c:685
+#: src/lang.c:706
 msgid "toggle display of all/selected articles"
 msgstr "lÃ¼lita ekraanile kÃµik/valitud artiklid"
 
-#: src/lang.c:686
+#: src/lang.c:707
 msgid "display next group"
 msgstr "nÃ¤ita jÃ¤rgmist gruppi"
 
-#: src/lang.c:687
+#: src/lang.c:708
 msgid "display previous group"
 msgstr "nÃ¤ita eelmist gruppi"
 
-#: src/lang.c:688
+#: src/lang.c:709
 msgid "toggle all selections (all articles)"
 msgstr "lÃ¼lita kÃµiki valikuid (kÃµiki artikleid)"
 
-#: src/lang.c:689
+#: src/lang.c:710
 msgid "select group (make \"hot\")"
 msgstr "vali grupp (muuda \"kuumaks\")"
 
-#: src/lang.c:690
+#: src/lang.c:711
 msgid "select thread"
 msgstr "vali teema"
 
-#: src/lang.c:691
+#: src/lang.c:712
 msgid "select threads if at least one unread article is selected"
 msgstr "vali teemad, kui on valitud vÃ¤hemalt Ã¼ks lugemata artikkel"
 
-#: src/lang.c:692
+#: src/lang.c:713
 msgid "select threads that match user specified pattern"
 msgstr "vali kasutaja mÃ¤Ã¤ratud mustrile vastavad teemad"
 
-#: src/lang.c:693
+#: src/lang.c:714
 msgid "0 - 9\t  choose thread by number"
 msgstr "0 - 9\t  vali numbri jÃ¤rgi teema"
 
-#: src/lang.c:694
+#: src/lang.c:715
 msgid "toggle limit number of articles to get, and reload"
 msgstr "sea laetavate artiklite piirang ja lae uuesti"
 
-#: src/lang.c:695
+#: src/lang.c:716
 msgid "toggle display of all/unread articles"
 msgstr "lÃ¼lita ekraanil kÃµik/lugemata artiklid"
 
-#: src/lang.c:696
+#: src/lang.c:717
 msgid "toggle selection of thread"
 msgstr "lÃ¼lita teema valikut"
 
-#: src/lang.c:697
+#: src/lang.c:718
 msgid "cycle through threading options available"
 msgstr "erinevad teemade kÃ¤sitlemise vÃµtmed"
 
-#: src/lang.c:698
+#: src/lang.c:719
 msgid "undo all selections (all articles)"
 msgstr "ennista kÃµik valikud (kÃµik artiklid)"
 
-#: src/lang.c:699
+#: src/lang.c:720
 msgid "untag all tagged threads"
 msgstr "eemalda mÃ¤rgistus kÃµikidelt mÃ¤rgitud teemadelt"
 
-#: src/lang.c:700
+#: src/lang.c:721
 msgid "search for articles forwards"
 msgstr "otsi artikleid edaspidi"
 
-#: src/lang.c:701
+#: src/lang.c:722
 msgid "search for articles backwards"
 msgstr "otsi artikleid tagaspidi"
 
-#: src/lang.c:702
+#: src/lang.c:723
 msgid "toggle info message in last line (Message-ID)"
 msgstr "lÃ¼lita viimase rea infoteadet (Message-ID)"
 
-#: src/lang.c:703
+#: src/lang.c:724
 msgid "Open article by Message-ID"
 msgstr "Ava Message-ID poolt mÃ¤Ã¤ratud artikkel"
 
-#: src/lang.c:704
+#: src/lang.c:725
 msgid "add new scope"
 msgstr "lisa uus skoop"
 
-#: src/lang.c:705
+#: src/lang.c:726
 msgid "delete scope"
 msgstr "kustuta skoop"
 
-#: src/lang.c:706
+#: src/lang.c:727
 msgid "edit attributes file"
 msgstr "toimeta atribuutide faili"
 
-#: src/lang.c:707
+#: src/lang.c:728
 msgid "choose first scope in list"
 msgstr "vali loetelust esimene skoop"
 
-#: src/lang.c:708
+#: src/lang.c:729
 msgid "0 - 9\t  choose scope by number"
 msgstr "0 - 9\t  vali skoop numbri jÃ¤rgi"
 
-#: src/lang.c:709
+#: src/lang.c:730
 msgid "choose last scope in list"
 msgstr "vali loetelust viimane skoop"
 
-#: src/lang.c:710
+#: src/lang.c:731
 msgid "move scope"
 msgstr "liiguta skoopi"
 
-#: src/lang.c:711
+#: src/lang.c:732
 msgid "rename scope"
 msgstr "nimeta skoop Ã¼mber"
 
-#: src/lang.c:712
+#: src/lang.c:733
 msgid "select scope"
 msgstr "vali skoop"
 
-#: src/lang.c:713
+#: src/lang.c:734
 msgid "mark all articles in group as read"
 msgstr "mÃ¤rgi valitud grupis kÃµik artiklid loetuks"
 
-#: src/lang.c:714
+#: src/lang.c:735
 msgid "mark all articles in group as read and move to next unread group"
 msgstr "mÃ¤rgi grupp loetuks ja liigu jÃ¤rgmisele lugemata grupile"
 
-#: src/lang.c:715
+#: src/lang.c:736
 msgid "choose first group in list"
 msgstr "vali loetelust esimene grupp"
 
-#: src/lang.c:716
+#: src/lang.c:737
 msgid "choose group by name"
 msgstr "vali grupp nime jÃ¤rgi"
 
-#: src/lang.c:717
+#: src/lang.c:738
 msgid "0 - 9\t  choose group by number"
 msgstr "0 - 9\t  vali grupp numbri jÃ¤rgi"
 
-#: src/lang.c:718
+#: src/lang.c:739
 msgid "choose range of groups to be affected by next command"
 msgstr "jÃ¤rgmise kÃ¤suga tÃ¶Ã¶deldavate gruppide vahemik"
 
-#: src/lang.c:719
+#: src/lang.c:740
 msgid "choose last group in list"
 msgstr "vali loetelust viimane grupp"
 
-#: src/lang.c:721
+#: src/lang.c:742
 msgid "list groups which an article has been posted to (by Message-ID)"
 msgstr "nÃ¤ita gruppe kuhu artikkel postitati (Message-ID jÃ¤rgi)"
 
-#: src/lang.c:722
+#: src/lang.c:743
 msgid " \t  (go to article if at least one of the groups is available)"
 msgstr " \t  (mine viimasele artiklile, kui vÃ¤hemalt Ã¼ks grupp on olemas)"
 
-#: src/lang.c:724
+#: src/lang.c:745
 msgid "mark all articles in chosen group unread"
 msgstr "mÃ¤rgi valitud grupis kÃµik artiklid mitte-loetuks"
 
-#: src/lang.c:725
+#: src/lang.c:746
 msgid "move chosen group within list"
 msgstr "liiguta valitud gruppi loendis"
 
-#: src/lang.c:726
+#: src/lang.c:747
 msgid "choose next group with unread news"
 msgstr "vali jÃ¤rgmine lugemata artiklitega grupp"
 
-#: src/lang.c:727 src/lang.c:1748
+#: src/lang.c:748 src/lang.c:1797
 msgid "quit"
 msgstr "vÃ¤lju"
 
-#: src/lang.c:728
+#: src/lang.c:749
 msgid "quit without saving configuration changes"
 msgstr "vÃ¤lju muudetud seadeid salvestamata"
 
-#: src/lang.c:729
+#: src/lang.c:750
 msgid "read chosen group"
 msgstr "loe valitud gruppi"
 
-#: src/lang.c:730
+#: src/lang.c:751
 msgid "reset .newsrc (all available articles in groups marked unread)"
 msgstr ".newsrc faili algvÃ¤Ã¤rtustamine (kÃµik artiklid mitte-loetuks)"
 
-#: src/lang.c:731
+#: src/lang.c:752
 msgid "search backwards for a group name"
 msgstr "otsi grupi nime tagaspidi"
 
-#: src/lang.c:732
+#: src/lang.c:753
 msgid " \t  (all searches are case-insensitive and wrap around)"
 msgstr " \t  (kÃµik otsingud on tÃµstutundetud ja vajadusel alustavad algusest)"
 
-#: src/lang.c:733
+#: src/lang.c:754
 msgid "search forwards for a group name"
 msgstr "otsi grupi nime edaspidi"
 
-#: src/lang.c:734
+#: src/lang.c:755
 msgid "subscribe to chosen group"
 msgstr "telli valitud grupp"
 
-#: src/lang.c:735
+#: src/lang.c:756
 msgid "subscribe to groups that match pattern"
 msgstr "telli mustrile vastavaid gruppe"
 
-#: src/lang.c:736
+#: src/lang.c:757
 msgid "reread active file to check for any new news"
 msgstr "kontrolli aktiivsete gruppide faili - kas on uusi artikleid"
 
-#: src/lang.c:737
+#: src/lang.c:758
 msgid "show NNTP[S] connection details"
 msgstr "nÃ¤ita NNTP[S] Ã¼henduse infot"
 
-#: src/lang.c:738
+#: src/lang.c:759
 msgid "toggle display of group name only or group name plus description"
 msgstr "vali ekraanil ainult grupi nimi vÃµi grupi nimi ja kirjeldus"
 
-#: src/lang.c:739
+#: src/lang.c:760
 msgid "toggle display to show all/unread subscribed groups"
 msgstr "vali ekraanile kÃµik/lugemata tellitud grupid"
 
-#: src/lang.c:740
+#: src/lang.c:761
 msgid "unsubscribe from chosen group"
 msgstr "loobu valitud grupist"
 
-#: src/lang.c:741
+#: src/lang.c:762
 msgid "unsubscribe from groups that match pattern"
 msgstr "loobu mustrile vastavatest gruppidest"
 
-#: src/lang.c:742
+#: src/lang.c:763
 msgid "sort the list of groups"
 msgstr "jÃ¤rjesta gruppide loend"
 
-#: src/lang.c:743
+#: src/lang.c:764
 msgid "toggle display to show all/subscribed groups"
 msgstr "nÃ¤ita ekraanil kÃµiki/tellitud gruppe"
 
-#: src/lang.c:744
+#: src/lang.c:765
 msgid "tag/untag all parts of current multipart-message in order"
 msgstr "mÃ¤rgi/eemalda mÃ¤rk jooksva mitmeosalise teate kÃµik osad"
 
-#: src/lang.c:745
+#: src/lang.c:766
 msgid "0 - 9\t  choose article by number"
 msgstr "0 - 9\t  vali numbri jÃ¤rgi artikkel"
 
-#: src/lang.c:746
+#: src/lang.c:767
 msgid "mark thread as read and return to group index page"
 msgstr "mÃ¤rgi teema loetuks ja vÃ¤lju gruppide indeksi lehele"
 
-#: src/lang.c:747
+#: src/lang.c:768
 msgid "mark thread as read and enter next unread thread or group"
 msgstr "mÃ¤rgi teema loetuks ja sisene jÃ¤rgmisse teemasse vÃµi gruppi"
 
-#: src/lang.c:748
+#: src/lang.c:769
 msgid "choose first article in list"
 msgstr "vali loendis esimene artikkel"
 
-#: src/lang.c:749
+#: src/lang.c:770
 msgid "choose last article in list"
 msgstr "vali loendis viimane artikkel"
 
-#: src/lang.c:750
+#: src/lang.c:771
 msgid "mark art, range or tagged arts as read; move crsr to next unread art"
 msgstr ""
 "mÃ¤rgi art. vahemik vÃµi mÃ¤rgitud art. loetuks, liigu jÃ¤rgm. lugemata artiklile"
 
-#: src/lang.c:751
+#: src/lang.c:772
 msgid "mark article, range or tagged articles as unread"
 msgstr "mÃ¤rgi jooksev teema, vahemik vÃµi mÃ¤rgitud teemad mitteloetuks"
 
-#: src/lang.c:752
+#: src/lang.c:773
 msgid "mark current thread as unread"
 msgstr "mÃ¤rgi teema mitteloetuks"
 
-#: src/lang.c:753
+#: src/lang.c:774
 msgid "read chosen article"
 msgstr "loe valitud artiklit"
 
-#: src/lang.c:754
+#: src/lang.c:775
 msgid ""
 "Display properties\n"
 "------------------"
@@ -2636,7 +2704,7 @@ msgstr ""
 "Ekraani omadused\n"
 "----------------"
 
-#: src/lang.c:755
+#: src/lang.c:776
 msgid ""
 "Miscellaneous\n"
 "-------------"
@@ -2644,7 +2712,7 @@ msgstr ""
 "Muud\n"
 "----"
 
-#: src/lang.c:756
+#: src/lang.c:777
 msgid ""
 "Moving around\n"
 "-------------"
@@ -2652,7 +2720,7 @@ msgstr ""
 "Liikumine\n"
 "---------"
 
-#: src/lang.c:757
+#: src/lang.c:778
 msgid ""
 "Group/thread/article operations\n"
 "-------------------------------"
@@ -2660,7 +2728,7 @@ msgstr ""
 "Grupi/teema/artikli operatsioonid\n"
 "---------------------------------"
 
-#: src/lang.c:758
+#: src/lang.c:779
 msgid ""
 "Attachment operations\n"
 "---------------------"
@@ -2668,7 +2736,7 @@ msgstr ""
 "Operatsioonid manustega\n"
 "-----------------------"
 
-#: src/lang.c:759
+#: src/lang.c:780
 msgid ""
 "Attribute operations\n"
 "--------------------"
@@ -2676,7 +2744,7 @@ msgstr ""
 "Operatsioonid atribuutidega\n"
 "---------------------------"
 
-#: src/lang.c:760
+#: src/lang.c:781
 msgid ""
 "Option operations\n"
 "-----------------"
@@ -2684,7 +2752,7 @@ msgstr ""
 "Operatsioonid seadetega\n"
 "-----------------------"
 
-#: src/lang.c:761
+#: src/lang.c:782
 msgid ""
 "Posted article operations\n"
 "-------------------------"
@@ -2692,7 +2760,7 @@ msgstr ""
 "Postitatud artiklite operatsioonid\n"
 "----------------------------------"
 
-#: src/lang.c:762
+#: src/lang.c:783
 msgid ""
 "Scope operations\n"
 "----------------"
@@ -2700,7 +2768,7 @@ msgstr ""
 "Operatsioonid skoobiga\n"
 "----------------------"
 
-#: src/lang.c:763
+#: src/lang.c:784
 msgid ""
 "URL operations\n"
 "--------------"
@@ -2708,99 +2776,99 @@ msgstr ""
 "Operatsioonid URL'idega\n"
 "-----------------------"
 
-#: src/lang.c:764
+#: src/lang.c:785
 msgid "choose first URL in list"
 msgstr "vali loetelust esimene URL"
 
-#: src/lang.c:765
+#: src/lang.c:786
 msgid "0 - 9\t  choose URL by number"
 msgstr "0 - 9\t  vali numbri jÃ¤rgi URL"
 
-#: src/lang.c:766
+#: src/lang.c:787
 msgid "choose last URL in list"
 msgstr "vali loetelust viimane URL"
 
-#: src/lang.c:767
+#: src/lang.c:788
 msgid "search for URLs forwards"
 msgstr "otsi URL'e edaspidi"
 
-#: src/lang.c:768
+#: src/lang.c:789
 msgid "search for URLs backwards"
 msgstr "otsi URL'e tagaspidi"
 
-#: src/lang.c:769
+#: src/lang.c:790
 msgid "Open URL in browser"
 msgstr "Ava URL brauseris"
 
-#: src/lang.c:770
+#: src/lang.c:791
 msgid "toggle info message in last line (URL)"
 msgstr "lÃ¼lita viimase rea infoteadet (URL)"
 
-#: src/lang.c:772
+#: src/lang.c:793
 msgid "Group Level Commands"
 msgstr "Grupitaseme kÃ¤sud"
 
-#: src/lang.c:773
+#: src/lang.c:794
 msgid "Kill filter added"
 msgstr "Surmamise filter lisatud"
 
-#: src/lang.c:774
+#: src/lang.c:795
 msgid "Auto-selection filter added"
 msgstr "Automaatse valiku filter lisatud"
 
-#: src/lang.c:775
+#: src/lang.c:796
 msgid "All parts tagged"
 msgstr "KÃµik osad on mÃ¤rgitud"
 
-#: src/lang.c:776
+#: src/lang.c:797
 msgid "All parts untagged"
 msgstr "KÃµikidelt osadelt on mÃ¤rgk eemaldatud"
 
-#: src/lang.c:777
+#: src/lang.c:798
 #, c-format
 msgid "Building References-trees (%d/%d)..."
 msgstr "Ehitan viidete-puud (%d/%d)..."
 
-#: src/lang.c:778
+#: src/lang.c:799
 msgid "Storing article for later posting"
 msgstr "Salvestan artikli hiljem postitamiseks"
 
-#: src/lang.c:779
+#: src/lang.c:800
 msgid "Please enter a valid character"
 msgstr "Palun sisestage lubatud sÃ¼mbol"
 
-#: src/lang.c:780
+#: src/lang.c:801
 #, c-format
 msgid "Missing part #%d"
 msgstr "Puudub osa nr: %d"
 
-#: src/lang.c:781
+#: src/lang.c:802
 msgid "*** No postponed articles ***"
 msgstr "*** Postitusootel artikleid pole ***"
 
-#: src/lang.c:782
+#: src/lang.c:803
 msgid "Not a multi-part message"
 msgstr "Ei ole mitmeosaline teade"
 
-#: src/lang.c:783
+#: src/lang.c:804
 msgid "You are not subscribed to this group"
 msgstr "Te pole seda gruppi tellinud"
 
-#: src/lang.c:784
+#: src/lang.c:805
 msgid "No previous expression"
 msgstr "Eelmist avaldist pole"
 
-#: src/lang.c:785
+#: src/lang.c:806
 msgid "Operation disabled in no-overwrite mode"
 msgstr "Operatsioon on Ã¼lekirjutamist keelavas moodis keelatud"
 
 #. TODO: replace hard coded key-name in txt_info_postponed
-#: src/lang.c:787
+#: src/lang.c:808
 #, c-format
 msgid "%d postponed %s, reuse with ^O...\n"
 msgstr "%d ootel %s, kasutamiseks ^O...\n"
 
-#: src/lang.c:788
+#: src/lang.c:809
 msgid ""
 "X-Conversion-Note: multipart/alternative contents have been removed.\n"
 "  To get the whole article, turn alternative handling OFF in the Option "
@@ -2809,17 +2877,17 @@ msgstr ""
 "X-Conversion-Note: multipart/alternative sisu on eemaldatud.\n"
 "  Et nÃ¤ha tervet artiklit, lÃ¼litage alternatiivide kÃ¤sitlemine vÃ¤lja\n"
 
-#: src/lang.c:790
+#: src/lang.c:811
 #, c-format
 msgid "Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr "Fail %s/%s salvestamiseks on postkast. Lisa ei salvestatud"
 
-#: src/lang.c:791
+#: src/lang.c:812
 msgid "TeX2Iso encoded article"
 msgstr "TeX2Iso kodeeritud artikkel"
 
 #. TODO: replace hard coded key-names
-#: src/lang.c:793
+#: src/lang.c:814
 #, c-format
 msgid ""
 "\n"
@@ -2880,151 +2948,151 @@ msgstr ""
 "Lisainfot leiate manualist, README, INSTALL, TODO ja FTP failidest.\n"
 "Palun saatke vearaportid/kommentaarid 'R' kÃ¤suga aadressil %s.\n"
 
-#: src/lang.c:809
+#: src/lang.c:830
 #, c-format
-msgid "Invalid  From: %s  line. Read the INSTALL file again."
-msgstr "Vigane From: %s rida. Lugege uuesti faili INSTALL."
+msgid "Invalid From:-header \"%s\". Check your mail_address setting."
+msgstr ""
 
-#: src/lang.c:811
+#: src/lang.c:832
 msgid "Invalid multibyte sequence found\n"
 msgstr "Leidsin vigase mitmebaidi jÃ¤rjendi\n"
 
-#: src/lang.c:814
+#: src/lang.c:835
 #, c-format
-msgid "Invalid  Sender:-header %s"
-msgstr "Vigane Sender:-pÃ¤is %s"
+msgid "Invalid Sender:-header \"%s\""
+msgstr "Vigane Sender:-pÃ¤is \"%s\""
 
-#: src/lang.c:816
+#: src/lang.c:837
 msgid "Inverse video disabled"
 msgstr "PÃ¶Ã¶ratud video keelatud"
 
-#: src/lang.c:817
+#: src/lang.c:838
 msgid "Inverse video enabled"
 msgstr "PÃ¶Ã¶ratud video lubatud"
 
-#: src/lang.c:819
+#: src/lang.c:840
 #, c-format
 msgid "Missing definition for %s\n"
 msgstr "%s definitsioon puudub\n"
 
-#: src/lang.c:820
+#: src/lang.c:841
 #, c-format
 msgid "Invalid key definition '%s'\n"
 msgstr "Vigane klahvi definitsioon '%s'\n"
 
-#: src/lang.c:821
+#: src/lang.c:842
 #, c-format
 msgid "Invalid keyname '%s'\n"
 msgstr "Vigane klahvi nimi '%s'\n"
 
-#: src/lang.c:822
+#: src/lang.c:843
 #, c-format
 msgid "Keymap file was upgraded to version %s\n"
 msgstr "Keymap fail uuendati versioonini %s\n"
 
-#: src/lang.c:823
+#: src/lang.c:844
 #, c-format
 msgid "Kill From:     [%s] (y/n): "
 msgstr "Surmake From:  [%s] (j/e): "
 
-#: src/lang.c:824
+#: src/lang.c:845
 msgid "Kill Lines: (</>num): "
 msgstr "Surmake read: (</>num) : "
 
-#: src/lang.c:825
+#: src/lang.c:846
 msgid "Kill Article Menu"
 msgstr "Artuklite surmamise menÃ¼Ã¼"
 
-#: src/lang.c:826
+#: src/lang.c:847
 #, c-format
 msgid "Kill Msg-ID:   [%s] (f/l/o/n): "
 msgstr "Surmake Msg-ID:[%s] (f/l/o/n): "
 
-#: src/lang.c:827
+#: src/lang.c:848
 msgid "Kill pattern scope  : "
 msgstr "Surmamise mustri ulatus: "
 
-#: src/lang.c:828
+#: src/lang.c:849
 #, c-format
 msgid "Kill Subject:  [%s] (y/n): "
 msgstr "Surmake teema: [%s] (j/e): "
 
-#: src/lang.c:829
+#: src/lang.c:850
 msgid "Kill text pattern   : "
 msgstr "Surmake tekst mustriga : "
 
-#: src/lang.c:830
+#: src/lang.c:851
 msgid "Kill time in days   : "
 msgstr "Surmamise aeg pÃ¤evades : "
 
-#: src/lang.c:832
+#: src/lang.c:853
 msgid "Last"
 msgstr "Viimane"
 
-#: src/lang.c:833
+#: src/lang.c:854
 msgid "-- Last response --"
 msgstr "-- Viimane vastus --"
 
-#: src/lang.c:834
+#: src/lang.c:855
 #, c-format
 msgid "Lines %s  "
 msgstr "Rida: %s  "
 
-#: src/lang.c:840
+#: src/lang.c:861
 msgid "Function not available."
 msgstr "Funktsioon ei ole kasutatav."
 
-#: src/lang.c:841
+#: src/lang.c:862
 msgid "Not reading via NNTP."
 msgstr "Ei kasuta NNTP."
 
-#: src/lang.c:843
+#: src/lang.c:864
 #, c-format
 msgid "Group: %s"
 msgstr "Grupp: %s"
 
-#: src/lang.c:844
+#: src/lang.c:865
 #, c-format
 msgid "Groups: %s"
 msgstr "Grupid: %s"
 
-#: src/lang.c:847
+#: src/lang.c:868
 msgid "Mail"
 msgstr "E-post"
 
-#: src/lang.c:848
+#: src/lang.c:869
 msgid "mailbox "
 msgstr "postkasti "
 
-#: src/lang.c:849
+#: src/lang.c:870
 #, c-format
 msgid "Mail article(s) to [%.*s]> "
 msgstr "Saada artiklid aadressil [%.*s]> "
 
-#: src/lang.c:850
+#: src/lang.c:871
 #, c-format
 msgid "Mailing log to %s\n"
 msgstr "Saadan logi aadressil %s\n"
 
-#: src/lang.c:851
+#: src/lang.c:872
 msgid "Mail bug report..."
 msgstr "Saada vearaport..."
 
-#: src/lang.c:852
+#: src/lang.c:873
 #, c-format
 msgid "Mail BUG REPORT to %s?"
 msgstr "Saadan VEARAPORTI aadressil %s?"
 
-#: src/lang.c:853
+#: src/lang.c:874
 msgid "Mailed"
 msgstr "Saadetud"
 
-#: src/lang.c:854
+#: src/lang.c:875
 #, c-format
 msgid "Mailing to %s..."
 msgstr "Saadan aadressil %s..."
 
-#: src/lang.c:855
+#: src/lang.c:876
 msgid ""
 "# [Mail/Save] active file. Format is like news active file:\n"
 "#   groupname  max.artnum  min.artnum  /dir\n"
@@ -3036,61 +3104,61 @@ msgstr ""
 "# Neljas vÃ¤li on baaskataloog (nÃ¤iteks ~/Mail vÃµi ~/News)\n"
 "#\n"
 
-#: src/lang.c:858
+#: src/lang.c:879
 #, c-format
 msgid "%s marked as read"
 msgstr "%s mÃ¤rgitud loetuks"
 
-#: src/lang.c:859
+#: src/lang.c:880
 #, c-format
 msgid "%s marked as unread"
 msgstr "%s mÃ¤rgitud mitteloetuks"
 
-#: src/lang.c:860
+#: src/lang.c:881
 #, c-format
 msgid "Marked %d of %d %s as read"
 msgstr "MÃ¤rkisin %d (%d) %s loetuks"
 
-#: src/lang.c:861
+#: src/lang.c:882
 #, c-format
 msgid "Marked %d of %d %s as unread"
 msgstr "MÃ¤rkisin %d (%d) %s mitteloetuks"
 
-#: src/lang.c:862 src/lang.c:1704
+#: src/lang.c:883 src/lang.c:1753
 msgid "Mark"
 msgstr "MÃ¤rk"
 
-#: src/lang.c:863
+#: src/lang.c:884
 #, c-format
 msgid "Mark all articles as read%s?"
 msgstr "MÃ¤rgin kÃµik artiklid loetuks%s?"
 
-#: src/lang.c:864
+#: src/lang.c:885
 #, c-format
 msgid "Mark article as read%s?"
 msgstr "MÃ¤rgin artikli loetuks%s?"
 
-#: src/lang.c:865
+#: src/lang.c:886
 #, c-format
 msgid "Mark group %s as read?"
 msgstr "MÃ¤rgin grupi %s loetuks?"
 
-#: src/lang.c:866
+#: src/lang.c:887
 #, c-format
 msgid "Mark thread as read%s?"
 msgstr "MÃ¤rgin teema loetuks%s?"
 
-#: src/lang.c:867
+#: src/lang.c:888
 #, c-format
 msgid "Matching %s groups..."
 msgstr "Otsin %s gruppe..."
 
-#: src/lang.c:868 src/lang.c:881 src/lang.c:884 src/lang.c:890
+#: src/lang.c:889 src/lang.c:902 src/lang.c:905 src/lang.c:911
 #, c-format
 msgid "<n>=set current to n; %s=line down; %s=line up; %s=help; %s=quit"
 msgstr "<n>=jooksev n; %s=rida alla; %s=rida Ã¼les; %s=abiinfo; %s=vÃ¤lju"
 
-#: src/lang.c:870
+#: src/lang.c:891
 #, c-format
 msgid ""
 "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all"
@@ -3098,24 +3166,24 @@ msgstr ""
 "%s=vaata; %s=toru; %s=toru vormindamata; %s=salvesta; %s=mÃ¤rgi; %s=mÃ¤rgi "
 "muster %s=eemalda mÃ¤rk"
 
-#: src/lang.c:872
+#: src/lang.c:893
 #, c-format
 msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr "%s=vaata; %s=salvesta; %s=mÃ¤rgi; %s=mÃ¤rgi muster; %s=eemalda mÃ¤rgid"
 
-#: src/lang.c:874
+#: src/lang.c:895
 #, c-format
 msgid ""
 "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search"
 msgstr ""
 "%s=tagaspidi mÃ¤rgi; %s=otsi edaspidi; %s=otsi tagaspidi; %s=korda otsingut"
 
-#: src/lang.c:875 src/lang.c:879
+#: src/lang.c:896 src/lang.c:900
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=search pattern; %s=kill/select"
 msgstr "<n>=n jooksvaks grupiks; %s=jÃ¤rgmine lugemata; %s=otsi; %s=surma/vali;"
 
-#: src/lang.c:876
+#: src/lang.c:897
 #, c-format
 msgid ""
 "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; "
@@ -3124,271 +3192,273 @@ msgstr ""
 "%s=autori otsing; %s=loetud; %s=rida alla; %s=rida Ã¼les; %s=mÃ¤rgi loetuks; "
 "%s=teema"
 
-#: src/lang.c:877
+#: src/lang.c:898
 #, c-format
 msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"
 msgstr "%s=rida Ã¼les; %s=rida alla; %s=lk. Ã¼les; %s=lk. alla; %s=Ã¼les; %s=alla"
 
-#: src/lang.c:878
+#: src/lang.c:899
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=quit"
 msgstr "%s=otsi edaspidi; %s=otsi tagaspidi; %s=vÃ¤lju"
 
-#: src/lang.c:880
+#: src/lang.c:901
 #, c-format
 msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr "%s=autori otsing; %s=otsi sisu; %s=loetud; %s=vasta; %s=mÃ¤rgi loetuks"
 
-#: src/lang.c:882 src/lang.c:891
+#: src/lang.c:903 src/lang.c:912
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=repeat search"
 msgstr "%s=otsi edaspidi; %s=otsi tagaspidi; %s=korda otsingut"
 
-#: src/lang.c:883
+#: src/lang.c:904
 #, c-format
 msgid "%s=add; %s=move; %s=rename; %s=delete"
 msgstr "%s=lisa; %s=liiguta; %s=uus nimi; %s=kustuta"
 
-#: src/lang.c:885
+#: src/lang.c:906
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr "<n>=n jooksvaks grupiks; %s=jÃ¤rgmine lugemata; %s,%s=otsi; %s=loetud"
 
-#: src/lang.c:886
+#: src/lang.c:907
 #, c-format
 msgid ""
 "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
 msgstr ""
 "%s=rida alla; %s=rida Ã¼les; %s=appi; %s=tÃµsta; %s=vÃ¤lju; %s=kÃµik/lugemata"
 
-#: src/lang.c:887
+#: src/lang.c:908
 #, c-format
 msgid ""
 "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/"
 "out"
 msgstr "%s=telli; %s=telli muster; %s=loobu; %s=loobu muster; %s=kÃµik/tellitud"
 
-#: src/lang.c:888
+#: src/lang.c:909
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr "<n>=jooksev n; %s=jÃ¤rgmine lugemata; %s=loetud; %s=ekraani lÃ¼lit"
 
-#: src/lang.c:889
+#: src/lang.c:910
 #, c-format
 msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"
 msgstr "%s=appi; %s=rida alla; %s=rida Ã¼les; %s=vÃ¤lju; %s=mÃ¤rgi; %s=lugemata"
 
-#: src/lang.c:892
+#: src/lang.c:913
 msgid "--More--"
 msgstr "--Veel--"
 
-#: src/lang.c:894
+#: src/lang.c:915
 #, c-format
 msgid "MOTD: %s\n"
 msgstr "MOTD: %s\n"
 
-#: src/lang.c:896
+#: src/lang.c:917
 #, c-format
 msgid "Moving %s..."
 msgstr "TÃµstan %s..."
 
-#: src/lang.c:897
+#: src/lang.c:918
 msgid "Message-ID: & last Reference  "
 msgstr "Message-ID: & viimane viitamine "
 
-#: src/lang.c:898
+#: src/lang.c:919
 msgid "Message-ID: line              "
 msgstr "Message-ID: rida              "
 
-#: src/lang.c:899
+#: src/lang.c:920
 msgid "Message-ID: & References: line"
 msgstr "Message-ID: & References: rida"
 
-#: src/lang.c:901
+#: src/lang.c:922
 #, c-format
 msgid "Go to newsgroup [%s]> "
 msgstr "Mine gruppi [%s]> "
 
-#: src/lang.c:902
+#: src/lang.c:923
 msgid "newsgroups"
 msgstr "gruppidesse"
 
-#: src/lang.c:903
+#: src/lang.c:924
 #, c-format
 msgid "Position %s in group list (1,2,..,$) [%d]> "
 msgstr "Positsioon %s gruppide nimistus (1,2,..,$) [%d]> "
 
-#: src/lang.c:904
+#: src/lang.c:925
 msgid "newsgroup"
 msgstr "gruppi"
 
-#: src/lang.c:905
+#: src/lang.c:926
 msgid "Try and save newsrc file again?"
 msgstr "Proovin newsrc faili uuesti salvestada?"
 
-#: src/lang.c:906
-msgid "Warning: No newsgroups were written to your newsrc file. Save aborted."
+#: src/lang.c:927
+#, fuzzy, c-format
+msgid "Warning: No groups written to your %s file. Save aborted."
 msgstr ""
-"Hoiatus: Teie newsrc faili ei salvestatud Ã¼htegi gruppi. Katkestasin "
+"Hoiatus: Teie %s faili ei salvestatud Ã¼htegi gruppi. Katkestasin "
 "salvestamise."
 
-#: src/lang.c:907
-msgid "newsrc file saved successfully.\n"
+#: src/lang.c:928
+#, fuzzy, c-format
+msgid "%s file saved successfully.\n"
 msgstr "newsrc fail on edukalt salvestatud.\n"
 
-#: src/lang.c:908
+#: src/lang.c:929
 msgid "-- Next response --"
 msgstr "- JÃ¤rgmine vastus -"
 
-#: src/lang.c:909
+#: src/lang.c:930
 msgid "No  "
 msgstr "Ei  "
 
-#: src/lang.c:910
+#: src/lang.c:931
 msgid "*** No articles ***"
 msgstr "*** Artikleid pole ***"
 
-#: src/lang.c:911
+#: src/lang.c:932
 msgid "No articles have been posted"
 msgstr "Postitatud artikleid pole"
 
-#: src/lang.c:912
+#: src/lang.c:933
 msgid "*** No attachments ***"
 msgstr "*** Manuseid pole ***"
 
-#: src/lang.c:913
+#: src/lang.c:934
 msgid "*** No description ***"
 msgstr "*** Kirjeldus puudub ***"
 
-#: src/lang.c:914
+#: src/lang.c:935
 msgid "No filename"
 msgstr "Failil pole nime"
 
-#: src/lang.c:915
+#: src/lang.c:936
 msgid "No group"
 msgstr "Gruppi pole"
 
-#: src/lang.c:916
+#: src/lang.c:937
 msgid "*** No groups ***"
 msgstr "*** Gruppe pole ***"
 
-#: src/lang.c:917
+#: src/lang.c:938
 msgid "No more groups to read"
 msgstr "Lugemiseks rohkem gruppe pole"
 
-#: src/lang.c:918
+#: src/lang.c:939
 msgid "No last message"
 msgstr "Viimast teadet pole"
 
-#: src/lang.c:919
+#: src/lang.c:940
 msgid "No mail address"
 msgstr "E-posti aadressi pole"
 
-#: src/lang.c:920
+#: src/lang.c:941
 msgid "No articles marked for saving"
 msgstr "Salvestamiseks mÃ¤rgitud artikleid pole"
 
-#: src/lang.c:921
+#: src/lang.c:942
 msgid "No match"
 msgstr "Ei leia"
 
-#: src/lang.c:922
+#: src/lang.c:943
 msgid "No more groups"
 msgstr "Rohkem gruppe pole"
 
-#: src/lang.c:923
+#: src/lang.c:944
 msgid "No newsgroups"
 msgstr "Gruppe pole"
 
-#: src/lang.c:924
+#: src/lang.c:945
 msgid "No next unread article"
 msgstr "JÃ¤rgmist lugemata artiklit pole"
 
-#: src/lang.c:925
+#: src/lang.c:946
 msgid "No previous group"
 msgstr "Eelmist gruppi pole"
 
-#: src/lang.c:926
+#: src/lang.c:947
 msgid "No previous search, nothing to repeat"
 msgstr "Eelmist otsingut pole, ei saa korrata"
 
-#: src/lang.c:927
+#: src/lang.c:948
 msgid "No previous unread article"
 msgstr "Eelmist lugemata artiklit pole"
 
-#: src/lang.c:928
+#: src/lang.c:949
 msgid "No responses"
 msgstr "Vastuseid pole"
 
-#: src/lang.c:929
+#: src/lang.c:950
 msgid "No responses to list in current thread"
 msgstr "Jooksvas teemas pole vastuseid"
 
-#: src/lang.c:930
+#: src/lang.c:951
 msgid "*** No scopes ***"
 msgstr "*** Skoope pole ***"
 
-#: src/lang.c:931
+#: src/lang.c:952
 msgid "No search string"
 msgstr "OtsingusÃµne puudub"
 
-#: src/lang.c:932
+#: src/lang.c:953
 msgid "No subject"
 msgstr "Teema puudub"
 
-#: src/lang.c:934
+#: src/lang.c:955
 #, c-format
 msgid "%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr "%s: Terminalil peab olema puhasta realÃµpuni (ce) omadus\n"
 
-#: src/lang.c:935
+#: src/lang.c:956
 #, c-format
 msgid "%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr "%s: Terminalil peab olema puhasta ekraanilÃµpuni (cd) omadus\n"
 
-#: src/lang.c:936
+#: src/lang.c:957
 #, c-format
 msgid "%s: Terminal must have clearscreen (cl) capability\n"
 msgstr "%s: Terminalil peab olema ekraanipuhastamise (cl) omadus\n"
 
-#: src/lang.c:937
+#: src/lang.c:958
 #, c-format
 msgid "%s: Terminal must have cursor motion (cm)\n"
 msgstr "%s: Terminal peab toetama kursori liigutamist (cm)\n"
 
-#: src/lang.c:938
+#: src/lang.c:959
 #, c-format
 msgid "%s: TERM variable must be set to use screen capabilities\n"
 msgstr ""
 "%s: ekraani omaduste kasutamiseks peab olema seatud keskkonnamuutuja TERM\n"
 
-#: src/lang.c:940
+#: src/lang.c:961
 #, c-format
 msgid "No viewer found for %s/%s\n"
 msgstr "%s/%s jaoks puudub vaatur\n"
 
-#: src/lang.c:941 src/lang.c:1616 src/lang.c:1644 src/lang.c:1935
+#: src/lang.c:962 src/lang.c:1665 src/lang.c:1693 src/lang.c:1991
 msgid "None"
 msgstr "Pole"
 
-#: src/lang.c:942
+#: src/lang.c:963
 msgid "Newsgroup does not exist on this server"
 msgstr "Gruppi pole sellel serveril"
 
-#: src/lang.c:943
+#: src/lang.c:964
 #, c-format
 msgid "Group %s not found in active file"
 msgstr "Gruppi %s pole aktiivsete gruppide failis"
 
-#: src/lang.c:944
+#: src/lang.c:966
 msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr "c=loo fail, a)lternatiivne nimi, d=vaikimisi .newsrc, q=vÃ¤lju: "
 
-#: src/lang.c:945
+#: src/lang.c:967
 msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr "a)lternatiivne nimi, d=vaikimisi .newsrc, q=vÃ¤lju: "
 
-#: src/lang.c:946
+#: src/lang.c:968
 #, c-format
 msgid ""
 "# NNTP-server -> newsrc translation table and NNTP-server\n"
@@ -3417,48 +3487,48 @@ msgstr ""
 "#   news.example.org    /tmp/nrc-ex      example    ex\n"
 "#\n"
 
-#: src/lang.c:952
+#: src/lang.c:975
 msgid "NULL"
 msgstr "NULL"
 
-#: src/lang.c:954
+#: src/lang.c:977
 msgid "Only"
 msgstr "Ainult"
 
-#: src/lang.c:955
-#, c-format
-msgid "Option not enabled. Recompile with %s."
-msgstr "VÃµti pole lubatud. Kasutage kompileerimisel %s."
-
-#: src/lang.c:956
+#: src/lang.c:979
 msgid "Options Menu"
 msgstr "Omaduste menÃ¼Ã¼"
 
-#: src/lang.c:957
+#: src/lang.c:980
 msgid "Options Menu Commands"
 msgstr "Omaduste menÃ¼Ã¼ kÃ¤sud"
 
-#: src/lang.c:960
+#: src/lang.c:981
+#, fuzzy, c-format
+msgid "Option not enabled. Recompile with %s.%s\n"
+msgstr "VÃµti pole lubatud. Kasutage kompileerimisel %s.%s\n"
+
+#: src/lang.c:984
 #, c-format
 msgid "Error in regex: %s at pos. %d '%s'"
 msgstr "Viga regulaaravaldises: %s positsioonil %d '%s'"
 
-#: src/lang.c:961
+#: src/lang.c:985
 #, c-format
 msgid "Error in regex: pcre internal error %d"
 msgstr "Viga regulaaravaldises: pcre sisemine viga %d"
 
-#: src/lang.c:963
+#: src/lang.c:987
 #, c-format
 msgid "Error in regex: study - pcre internal error %s"
 msgstr "Viga regulaaravaldises: uurimiseks - pcre sisemine viga %s"
 
-#: src/lang.c:965
+#: src/lang.c:989
 msgid "Post a followup..."
 msgstr "Postita vastus..."
 
 #. TODO: replace hard coded key-name in txt_post_error_ask_postpone
-#: src/lang.c:967
+#: src/lang.c:991
 msgid ""
 "An error has occurred while posting the article. If you think that this\n"
 "error is temporary or otherwise correctable, you can postpone the article\n"
@@ -3468,340 +3538,343 @@ msgstr ""
 "vÃµi muul viisil kÃµrvaldatav, vÃµite artikli salvestada hiljem postitamiseks\n"
 "ja ^O kÃ¤suga hiljem postitada.\n"
 
-#: src/lang.c:970
+#: src/lang.c:994
 msgid "Posted articles history"
 msgstr "Postitatud artiklite ajalugu"
 
-#: src/lang.c:971
+#: src/lang.c:995
 msgid "Posted Articles Menu Commands"
 msgstr "Postitatud artiklite menÃ¼Ã¼ kÃ¤sud"
 
-#: src/lang.c:972
+#: src/lang.c:996
 msgid "Lookup failed"
 msgstr "Otsing ebaÃµnnestus"
 
-#: src/lang.c:973
+#: src/lang.c:997
 msgid "Operation not available for replies by mail"
 msgstr "Operatsioon ei ole mailiga vastamisel kasutatav"
 
-#: src/lang.c:974
+#: src/lang.c:998
 msgid "Already in posted articles history level"
 msgstr "Oleme juba postitatud artiklite ajaloo tasemel"
 
-#: src/lang.c:975
+#: src/lang.c:999
 #, c-format
 msgid "Post to newsgroup(s) [%s]> "
 msgstr "Postita gruppidesse [%s]> "
 
-#: src/lang.c:976
+#: src/lang.c:1000
 msgid "-- post processing started --"
 msgstr "-- lÃµpptÃ¶Ã¶tlus alustas --"
 
-#: src/lang.c:977
+#: src/lang.c:1001
 msgid "-- post processing completed --"
 msgstr "-- lÃµpptÃ¶Ã¶tlus lÃµpetas --"
 
-#: src/lang.c:978
+#: src/lang.c:1002
 #, c-format
 msgid "Post subject [%s]> "
 msgstr "Postituse teema [%s]> "
 
-#: src/lang.c:979
+#: src/lang.c:1003
 msgid ""
 "# Summary of mailed/posted messages viewable by 'W' command from within "
 "tin.\n"
 msgstr "# KokkuvÃµtte saadetud/postitatud teadetest saate tinis 'W' kÃ¤suga.\n"
 
-#: src/lang.c:980
+#: src/lang.c:1004
 msgid "Posting article..."
 msgstr "Postitan artiklit..."
 
-#: src/lang.c:982
+#: src/lang.c:1006
 #, fuzzy, c-format
 msgid "Posting failed (%s)"
 msgstr "Postitan artiklit..."
 
-#: src/lang.c:984
+#: src/lang.c:1008
 #, c-format
 msgid "Posting: %.*s ..."
 msgstr "Postitan: %.*s ..."
 
-#: src/lang.c:985
+#: src/lang.c:1009
 #, c-format
 msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 msgstr "Postitan ootel artiklid [%%s]? (%s/%s/%s/%s/%s): "
 
-#: src/lang.c:986
+#: src/lang.c:1010
 #, c-format
 msgid "Hot %s"
 msgstr "Kuum %s"
 
-#: src/lang.c:987
+#: src/lang.c:1011
 #, c-format
 msgid "Tagged %s"
 msgstr "MÃ¤rgitud %s"
 
-#: src/lang.c:988
+#: src/lang.c:1012
 #, c-format
 msgid "Untagged %s"
 msgstr "MÃ¤rkimata %s"
 
-#: src/lang.c:990
+#: src/lang.c:1014
 #, c-format
 msgid "Preparing for filtering on Path header (%d/%d)..."
 msgstr "Valmistun filtreerima Path pÃ¤ist (%d/%d)..."
 
-#: src/lang.c:992
+#: src/lang.c:1016
 #, fuzzy
 msgid "Processing attributes..."
 msgstr "TÃ¶Ã¶tlen atribuute... "
 
-#: src/lang.c:993
+#: src/lang.c:1017
 msgid "Processing mail messages marked for deletion."
 msgstr "TÃ¶Ã¶tlen kirju, mis on kustutamiseks mÃ¤rgitud."
 
-#: src/lang.c:994
+#: src/lang.c:1018
 msgid "Processing saved articles marked for deletion."
 msgstr "TÃ¶Ã¶tlen salvestatud ja kustutamiseks mÃ¤rgitud artikleid."
 
-#: src/lang.c:995
+#: src/lang.c:1019
 #, c-format
 msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr "Aktsepteerin Followup-To? %s=postita, %s=ignoreeri, %s=vÃ¤lju: "
 
-#: src/lang.c:996
+#: src/lang.c:1020
 msgid "Article unchanged, abort mailing?"
 msgstr "Artiklit ei ole muudetud, katkestan saatmise?"
 
-#: src/lang.c:997
+#: src/lang.c:1021
 #, c-format
 msgid "Do you want to see postponed articles (%d)?"
 msgstr "Kas soovite nÃ¤ha postitamisootel artikleid (%d)?"
 
-#: src/lang.c:999
+#: src/lang.c:1023
 msgid "Add quick kill filter?"
 msgstr "Lisan kiirsurmamise filtri?"
 
-#: src/lang.c:1000
+#: src/lang.c:1024
 msgid "Add quick selection filter?"
 msgstr "Lisan kiirvaliku filtri?"
 
-#: src/lang.c:1001
+#: src/lang.c:1025
 msgid "Do you really want to quit?"
 msgstr "Kas te tÃµesti soovite vÃ¤ljuda?"
 
-#: src/lang.c:1002
+#: src/lang.c:1026
 #, c-format
 msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr "%s=toimeta katkestamisteadet, %s=vÃ¤lju, %s=kustuta (katkesta) [%%s]: "
 
-#: src/lang.c:1003
+#: src/lang.c:1027
 msgid "You have tagged articles in this group - quit anyway?"
 msgstr "Teil on siin grupis mÃ¤rgitud artikleid - vÃ¤ljun siiski?"
 
-#: src/lang.c:1004
+#: src/lang.c:1028
 #, c-format
 msgid "%s=quit, %s=edit, %s=postpone: "
 msgstr "%s=vÃ¤lju, %s=toimeta, %s=ootele: "
 
-#: src/lang.c:1005
+#: src/lang.c:1029
 #, fuzzy, c-format
 msgid "%s=quit, %s=edit, %s=save kill description: "
 msgstr "%s=vÃ¤lju, %s=toimeta, %s=salvesta surmamise kirjeldus: "
 
-#: src/lang.c:1006
+#: src/lang.c:1030
 #, fuzzy, c-format
 msgid "%s=quit, %s=edit, %s=save select description: "
 msgstr "%s=vÃ¤lju, %s=toimeta, %s=salvesta valiku kirjeldus: "
 
-#: src/lang.c:1007
+#: src/lang.c:1031
 msgid "Do you really want to quit without saving your configuration?"
 msgstr "Kas te tÃµesti soovite seadeid salvestamata vÃ¤ljuda?"
 
-#: src/lang.c:1010
+#: src/lang.c:1033
 msgid "Invalid range - valid are '0-9.$' e.g. 1-$"
 msgstr "Vigane vahemik - lubatud on '0-9.$' nÃ¤iteks 1-$"
 
-#: src/lang.c:1012
+#: src/lang.c:1035
 msgid "Do you want to abort this operation?"
 msgstr "Kas soovite seda operatsiooni katkestada?"
 
-#: src/lang.c:1013
+#: src/lang.c:1036
 msgid "Do you want to exit tin immediately?"
 msgstr "Kas soovite viivitamata tinist vÃ¤ljuda?"
 
-#: src/lang.c:1015
+#: src/lang.c:1038
 msgid "Reading ('q' to quit)..."
 msgstr "Loen ('q' katkestamiseks)..."
 
-#: src/lang.c:1016
+#: src/lang.c:1039
 #, fuzzy, c-format
 msgid "Reading %s articles..."
 msgstr "Loen % sartikleid..."
 
-#: src/lang.c:1017
-#, c-format
-msgid "Reading %sattributes file...\n"
-msgstr "Loen %satribuutide faili...\n"
+#: src/lang.c:1040
+#, fuzzy, c-format
+msgid "Reading %sattributes file: %s\n"
+msgstr "Loen %satribuutide faili: %s\n"
 
-#: src/lang.c:1018
-#, c-format
-msgid "Reading %sconfig file...\n"
-msgstr "Loen %sseadete faili...\n"
+#: src/lang.c:1041
+#, fuzzy, c-format
+msgid "Reading %sconfig file: %s\n"
+msgstr "Loen %sseadete faili: %s\n"
 
-#: src/lang.c:1019
-msgid "Reading filter file...\n"
-msgstr "Loen filtrite faili...\n"
+#: src/lang.c:1042
+#, fuzzy, c-format
+msgid "Reading filter file: %s\n"
+msgstr "Loen filtrite faili: %s\n"
 
-#: src/lang.c:1021
+#: src/lang.c:1044
 msgid "reading from local spool"
 msgstr "loen lokaalsest spool kataloogist"
 
-#: src/lang.c:1023
+#: src/lang.c:1046
 #, c-format
 msgid "Reading %s\n"
 msgstr "Loen %s\n"
 
-#: src/lang.c:1024
+#: src/lang.c:1047
 #, c-format
 msgid "Reading %s groups..."
 msgstr "Loen %s gruppe..."
 
-#: src/lang.c:1025
-msgid "Reading input history file...\n"
-msgstr "Loen sisendi ajalugu...\n"
+#: src/lang.c:1048
+#, fuzzy, c-format
+msgid "Reading input history file: %s\n"
+msgstr "Loen sisendi ajalugu: %s\n"
 
-#: src/lang.c:1026
+#: src/lang.c:1049
 #, fuzzy, c-format
 msgid "Reading keymap file: %s\n"
 msgstr "Loen klahvitabeli faili: %s\n"
 
-#: src/lang.c:1027
+#: src/lang.c:1050
 msgid "Reading groups from active file... "
 msgstr "Loen aktiivseid gruppe... "
 
-#: src/lang.c:1028
+#: src/lang.c:1051
 msgid "Reading groups from newsrc file... "
 msgstr "Loen gruppe newsrc failist... "
 
-#: src/lang.c:1029
+#: src/lang.c:1052
 msgid "Reading newsgroups file... "
 msgstr "Loen gruppide kirjeldusi... "
 
-#: src/lang.c:1030
-msgid "Reading newsrc file..."
-msgstr "Loen newsrc faili..."
+#: src/lang.c:1053
+#, fuzzy, c-format
+msgid "Reading newsrc file: %s"
+msgstr "Loen newsrc faili: %s"
 
-#: src/lang.c:1031
+#: src/lang.c:1054
 msgid "References: line              "
 msgstr "References: rida              "
 
-#: src/lang.c:1033
+#: src/lang.c:1056
 #, c-format
 msgid "(%d:%02d remaining)"
 msgstr "(%d:%02d jÃ¤rgneb)"
 
-#: src/lang.c:1035
+#: src/lang.c:1058
 #, c-format
 msgid "Bogus group %s removed."
 msgstr "Vigane grupp %s on eemaldatud."
 
-#: src/lang.c:1036
+#: src/lang.c:1059
 msgid "Removed from this rule: "
 msgstr "Eemaldatud sellest reeglist: "
 
-#: src/lang.c:1037
+#: src/lang.c:1060
 #, c-format
 msgid "Error: rename %s to %s"
 msgstr "Viga: %s uus nimi %s"
 
-#: src/lang.c:1038
+#: src/lang.c:1061
 msgid "Reply to author..."
 msgstr "Vastan autorile..."
 
-#: src/lang.c:1039
+#: src/lang.c:1062
 msgid "Repost"
 msgstr "Uuesti postitus"
 
-#: src/lang.c:1040
+#: src/lang.c:1063
 msgid "Reposting article..."
 msgstr "Postitan artikli uuesti..."
 
-#: src/lang.c:1041
+#: src/lang.c:1064
 #, c-format
 msgid "Repost article(s) to group(s) [%s]> "
 msgstr "Postitan artikli(d) gruppi(desse) [%s]> "
 
-#: src/lang.c:1042
+#: src/lang.c:1065
 msgid "Reset newsrc?"
 msgstr "AlgvÃ¤Ã¤rtustan newsrc?"
 
-#: src/lang.c:1043
+#: src/lang.c:1066
 msgid "Responses have been directed to the following newsgroups"
 msgstr "Vastused edastatakse jÃ¤rgnevatesse gruppidesse"
 
-#: src/lang.c:1044
+#: src/lang.c:1067
 #, c-format
 msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr "Vastused edastatakse postitajale. %s=kirjuta, %s=postita, %s=vÃ¤lju: "
 
-#: src/lang.c:1045
+#: src/lang.c:1068
 msgid "Press <RETURN> to continue..."
 msgstr "JÃ¤tkamiseks vajutage <RETURN>..."
 
-#: src/lang.c:1047
+#: src/lang.c:1070
 #, c-format
 msgid "Score: %s"
 msgstr ""
 
-#: src/lang.c:1048
+#: src/lang.c:1071
 #, c-format
 msgid "Select From    [%s] (y/n): "
 msgstr "Valige From    [%s] (j/e): "
 
-#: src/lang.c:1049
+#: src/lang.c:1072
 msgid "Select Lines: (</>num): "
 msgstr "Valige read:  (</>num): "
 
-#: src/lang.c:1050
+#: src/lang.c:1073
 msgid "Auto-select Article Menu"
 msgstr "Automaatselt valitavate artiklite menÃ¼Ã¼"
 
-#: src/lang.c:1051
+#: src/lang.c:1074
 #, c-format
 msgid "Select Msg-ID  [%s] (f/l/o/n): "
 msgstr "Valige Msg-ID  [%s] (f/l/o/n): "
 
-#: src/lang.c:1052
+#: src/lang.c:1075
 msgid "Select pattern scope: "
 msgstr "Valige mustri ulatus: "
 
-#: src/lang.c:1053
+#: src/lang.c:1076
 #, c-format
 msgid "Select Subject [%s] (y/n): "
 msgstr "Valige teema   [%s] (j/e): "
 
-#: src/lang.c:1054
+#: src/lang.c:1077
 msgid "Select text pattern : "
 msgstr "Valige tekstimuster : "
 
-#: src/lang.c:1055
+#: src/lang.c:1078
 msgid "Select time in days   : "
 msgstr "Valige aeg pÃ¤evades   : "
 
-#: src/lang.c:1056
+#: src/lang.c:1079
 msgid "[k]"
 msgstr "[k]"
 
-#: src/lang.c:1057
+#: src/lang.c:1080
 msgid "[T]"
 msgstr "[T]"
 
-#: src/lang.c:1058
+#: src/lang.c:1081
 msgid " R"
 msgstr " L"
 
-#: src/lang.c:1059
+#: src/lang.c:1082
 #, c-format
 msgid ""
 "# %s server configuration file\n"
@@ -3822,54 +3895,54 @@ msgstr ""
 "############################################################################\n"
 "\n"
 
-#: src/lang.c:1065
+#: src/lang.c:1088
 msgid "Showing unread groups only"
 msgstr "NÃ¤itan ainult lugemata gruppe"
 
-#: src/lang.c:1066
+#: src/lang.c:1089
 msgid "Subject: line (ignore case)   "
 msgstr "Subject: rida (tÃµstutundetu)"
 
-#: src/lang.c:1067
+#: src/lang.c:1090
 msgid "Subject: line (case sensitive)"
 msgstr "Subject: rida (tÃµstutundlik)"
 
-#: src/lang.c:1068
+#: src/lang.c:1091
 msgid "Save"
 msgstr "Salvesta"
 
-#: src/lang.c:1069
+#: src/lang.c:1092
 #, c-format
 msgid "Save '%s' (%s/%s)?"
 msgstr "Salvestan '%s' (%s/%s)?"
 
-#: src/lang.c:1070
+#: src/lang.c:1093
 msgid "Save configuration before continuing?"
 msgstr "Salvestan seaded enne jÃ¤tkamist?"
 
-#: src/lang.c:1071
+#: src/lang.c:1094
 msgid "Save filename> "
 msgstr "Fail salvestamiseks> "
 
-#: src/lang.c:1072
+#: src/lang.c:1095
 msgid "Saved"
 msgstr "Salvestatud"
 
-#: src/lang.c:1073
-#, c-format
-msgid "%4d unread (%4d hot) %s in %s\n"
-msgstr "%4d lugemata (%4d kuuma) %s grupis %s\n"
+#: src/lang.c:1096
+#, fuzzy, c-format
+msgid "%s unread (%s hot) %s in %s\n"
+msgstr "%s lugemata (%s kuuma) %s grupis %s\n"
 
-#: src/lang.c:1074
+#: src/lang.c:1097
 #, c-format
 msgid "Saved %s...\n"
 msgstr "Salvestatud %s...\n"
 
-#: src/lang.c:1075
+#: src/lang.c:1098
 msgid "Nothing was saved"
 msgstr "Midagi ei salvestatud"
 
-#: src/lang.c:1076
+#: src/lang.c:1099
 #, c-format
 msgid ""
 "\n"
@@ -3878,189 +3951,189 @@ msgstr ""
 "\n"
 "%s %d %s %d grupist%s\n"
 
-#: src/lang.c:1077
+#: src/lang.c:1100
 #, c-format
 msgid "-- %s saved to %s%s --"
 msgstr "-- %s salvestati %s%s --"
 
-#: src/lang.c:1078
+#: src/lang.c:1101
 #, c-format
 msgid "-- %s saved to %s - %s --"
 msgstr "-- %s salvestati %s - %s --"
 
-#: src/lang.c:1079
+#: src/lang.c:1102
 msgid "Saving..."
 msgstr "Salvestan..."
 
-#: src/lang.c:1080
+#: src/lang.c:1103
 #, c-format
 msgid "%s: Screen initialization failed"
 msgstr "%s: Ekraani initsialiseerimine ebaÃµnnestus"
 
-#: src/lang.c:1082
+#: src/lang.c:1105
 #, c-format
 msgid "%s: screen is too small\n"
 msgstr "%s: ekraan on liiga vÃ¤ike\n"
 
-#: src/lang.c:1084
+#: src/lang.c:1107
 #, c-format
 msgid "screen is too small, %s is exiting"
 msgstr "ekraan on liiga vÃ¤ike, %s lÃµpetab tÃ¶Ã¶"
 
-#: src/lang.c:1085
+#: src/lang.c:1108
 msgid "Delete scope?"
 msgstr "Kustutan skoobi?"
 
-#: src/lang.c:1086
+#: src/lang.c:1109
 msgid "Enter scope> "
 msgstr "Sisestage skoop> "
 
-#: src/lang.c:1087
+#: src/lang.c:1110
 msgid "Select new position> "
 msgstr "Valige uus positsioon> "
 
-#: src/lang.c:1088
+#: src/lang.c:1111
 msgid "New position cannot be a global scope"
 msgstr "Uus positsioon ei saa olla globaalne skoop"
 
-#: src/lang.c:1089
+#: src/lang.c:1112
 msgid "Global scope, operation not allowed"
 msgstr "Globaalne skoop, operatsioon ei ole lubatud"
 
-#: src/lang.c:1090
+#: src/lang.c:1113
 msgid "Rename scope> "
 msgstr "Skoobi uus nimi> "
 
-#: src/lang.c:1091
+#: src/lang.c:1114
 msgid "Select scope> "
 msgstr "Valige skoop> "
 
-#: src/lang.c:1092
+#: src/lang.c:1115
 msgid "Scopes Menu"
 msgstr "Skoopide menÃ¼Ã¼"
 
-#: src/lang.c:1093
+#: src/lang.c:1116
 msgid "Scopes Menu Commands"
 msgstr "Skoopide menÃ¼Ã¼ kÃ¤sud"
 
-#: src/lang.c:1094
+#: src/lang.c:1117
 #, c-format
 msgid "Search backwards [%s]> "
 msgstr "Otsin tagurpidi [%s]> "
 
-#: src/lang.c:1095
+#: src/lang.c:1118
 #, c-format
 msgid "Search body [%s]> "
 msgstr "Otsi kehast [%s]> "
 
-#: src/lang.c:1096
+#: src/lang.c:1119
 #, c-format
 msgid "Search forwards [%s]> "
 msgstr "Otsi edaspidi [%s]> "
 
-#: src/lang.c:1097
+#: src/lang.c:1120
 msgid "Searching..."
 msgstr "Otsin..."
 
-#: src/lang.c:1098
+#: src/lang.c:1121
 #, c-format
 msgid "Searching article %d of %d ('q' to abort)..."
 msgstr "Otsin artiklit %d/%d ('q' katkestamiseks)..."
 
-#: src/lang.c:1099
+#: src/lang.c:1122
 msgid "Select article> "
 msgstr "Valige artikkel> "
 
-#: src/lang.c:1100
+#: src/lang.c:1123
 msgid ""
 "Select option number before text or use arrow keys and <CR>. 'q' to quit."
 msgstr ""
 "Valige teksti eest omaduse number vÃµi kasutage nooli ja <CR>. 'q' "
 "vÃ¤ljumiseks."
 
-#: src/lang.c:1101
+#: src/lang.c:1124
 msgid "Select group> "
 msgstr "Valige grupp> "
 
-#: src/lang.c:1102
+#: src/lang.c:1125
 #, c-format
 msgid "Enter selection pattern [%s]> "
 msgstr "Sisestage valiku muster [%s]> "
 
-#: src/lang.c:1103
+#: src/lang.c:1126
 msgid "Select thread> "
 msgstr "Valige teema> "
 
-#: src/lang.c:1104
+#: src/lang.c:1127
 #, c-format
 msgid "%s %s %s (\"%s\"): send a DETAILED bug report to %s\n"
 msgstr "%s %s %s (\"%s\"): saatke palun DETAILNE vea raport aadressil %s\n"
 
-#: src/lang.c:1105
+#: src/lang.c:1128
 msgid "servers active-file"
 msgstr "serveri aktiivsete gruppide fail"
 
-#: src/lang.c:1106
+#: src/lang.c:1129
 #, c-format
 msgid "Skipped %s"
 msgstr ""
 
-#: src/lang.c:1107
+#: src/lang.c:1130
 msgid "Cannot move into new newsgroups. Subscribe first..."
 msgstr "Uutesse gruppidesse ei saa siseneda. Tellige kÃµigepealt..."
 
-#: src/lang.c:1108
+#: src/lang.c:1131
 msgid "<SPACE>"
 msgstr "<TÃœHIK>"
 
-#: src/lang.c:1109
+#: src/lang.c:1132
 #, c-format
 msgid "Starting: (%s)"
 msgstr "Stardin: (%s)"
 
-#: src/lang.c:1110
+#: src/lang.c:1133
 #, c-format
 msgid "List Thread (%d of %d)"
 msgstr "Teemad (%d/%d)"
 
-#: src/lang.c:1111
+#: src/lang.c:1134
 #, c-format
 msgid "Thread (%.*s)"
 msgstr "Teema (%.*s)"
 
-#: src/lang.c:1112
+#: src/lang.c:1135
 msgid "Enter wildcard subscribe pattern> "
 msgstr "Sisestage tellimise muster> "
 
-#: src/lang.c:1113
+#: src/lang.c:1136
 #, c-format
 msgid "subscribed to %d groups"
 msgstr "%d gruppi on tellitud"
 
-#: src/lang.c:1114
+#: src/lang.c:1137
 #, c-format
 msgid "Subscribed to %s"
 msgstr "%s on tellitud"
 
-#: src/lang.c:1115
+#: src/lang.c:1138
 msgid "Subscribing... "
 msgstr "Tellin... "
 
-#: src/lang.c:1116
+#: src/lang.c:1139
 #, c-format
 msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): "
 msgstr "Postitan uuesti vÃµi asendan artikli(d) [%%s]? (%s/%s/%s): "
 
-#: src/lang.c:1117
+#: src/lang.c:1140
 #, c-format
 msgid "Supersede article(s) to group(s) [%s]> "
 msgstr "Asendan artikli(d) gruppides [%s]> "
 
-#: src/lang.c:1118
+#: src/lang.c:1141
 msgid "Superseding article ..."
 msgstr "Asendan artikli ..."
 
-#: src/lang.c:1119
+#: src/lang.c:1142
 #, c-format
 msgid ""
 "\n"
@@ -4069,29 +4142,29 @@ msgstr ""
 "\n"
 "Peatatud. %s uuesti kÃ¤ivitamiseks kirjutage palun 'fg'\n"
 
-#: src/lang.c:1121
+#: src/lang.c:1144
 #, c-format
 msgid "%d days"
 msgstr "%d pÃ¤eva"
 
-#: src/lang.c:1122
+#: src/lang.c:1145
 msgid "<TAB>"
 msgstr "<TAB>"
 
-#: src/lang.c:1123
+#: src/lang.c:1146
 msgid "TeX "
 msgstr "TeX "
 
-#: src/lang.c:1124
+#: src/lang.c:1147
 #, fuzzy, c-format
 msgid "Version: %s %s release %s (\"%s\")"
 msgstr "Versioon: %s %s vÃ¤ljalase %s (\"%s\")\n"
 
-#: src/lang.c:1125
+#: src/lang.c:1148
 msgid "# Default action/prompt strings\n"
 msgstr "# Vaikimisi aktsioonide/viipade sÃµned\n"
 
-#: src/lang.c:1126
+#: src/lang.c:1149
 msgid ""
 "# Defaults for quick (1 key) kill & auto-selection filters\n"
 "# header=NUM  0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n"
@@ -4110,107 +4183,97 @@ msgstr ""
 "# case=ON/OFF    ON=filter on tÃµstutundlik OFF=tÃµstutundetu\n"
 "# expire=ON/OFF  ON=kehtivusaeg default_filter_days OFF=ei aegu\n"
 
-#: src/lang.c:1139
+#: src/lang.c:1162
 msgid ""
 "# If ON use print current subject or newsgroup description in the last line\n"
 msgstr "# Kui on ON, trÃ¼ki teema vÃµi grupikirjeldus viimasele reale\n"
 
-#: src/lang.c:1140
+#: src/lang.c:1163
 msgid "# Host & time info used for detecting new groups (don't touch)\n"
 msgstr "# Masin & aeg - kasutatakse uute gruppide leidmiseks (mitte muuta)\n"
 
-#: src/lang.c:1141
+#: src/lang.c:1164
 msgid "There is no news\n"
 msgstr "Uudiseid pole\n"
 
-#: src/lang.c:1142
+#: src/lang.c:1165
 msgid "Thread"
 msgstr "Teema"
 
-#: src/lang.c:1143
+#: src/lang.c:1166
 msgid "Thread Level Commands"
 msgstr "Teemataseme kÃ¤sud"
 
-#: src/lang.c:1144
+#: src/lang.c:1167
 msgid "Thread deselected"
 msgstr "Teema pole valitud"
 
-#: src/lang.c:1145
+#: src/lang.c:1168
 msgid "Thread selected"
 msgstr "Teema on valitud"
 
-#: src/lang.c:1146
+#: src/lang.c:1169
 msgid "thread"
 msgstr "teema"
 
-#: src/lang.c:1147
+#: src/lang.c:1170
 #, c-format
 msgid "Thread %4s of %4s"
 msgstr "Teema %4s : %4s"
 
-#: src/lang.c:1148
+#: src/lang.c:1171
 msgid "Threading articles..."
 msgstr "JÃ¤rjestan artiklid teemade kaupa..."
 
-#: src/lang.c:1149
+#: src/lang.c:1172
 msgid "Threading by multipart"
 msgstr "JÃ¤rjestan osade jÃ¤rgi"
 
-#: src/lang.c:1151
-#, c-format
-msgid "TLS handshake failed: %s\n"
-msgstr "TLS sessiooni algatamine ebaÃµnnestus: %s\n"
-
-#: src/lang.c:1153
+#: src/lang.c:1175
 msgid "<failed to retrieve cipher>"
 msgstr ""
 
-#: src/lang.c:1154
+#: src/lang.c:1176
 msgid "<failed to retrieve issuer>"
 msgstr ""
 
-#: src/lang.c:1155
+#: src/lang.c:1177
 msgid "<failed to retrieve subject>"
 msgstr ""
 
-#: src/lang.c:1156
+#: src/lang.c:1178
 msgid "<failed to retrieve version>"
 msgstr ""
 
-#: src/lang.c:1157
+#: src/lang.c:1179
 #, fuzzy, c-format
 msgid "%s handshake done: %s\n"
 msgstr "TLS sessiooni algatamine ebaÃµnnestus: %s\n"
 
-#: src/lang.c:1158 src/lang.c:1309
-#, fuzzy
-msgid "unknown error"
-msgstr "Tundmatu viga."
-
-#: src/lang.c:1161
+#: src/lang.c:1182
 #, fuzzy, c-format
 msgid "TLS handshake failed: %s (%d)\n"
 msgstr "TLS sessiooni algatamine ebaÃµnnestus: %s\n"
 
-#: src/lang.c:1162
+#: src/lang.c:1183
 #, c-format
 msgid "TLS peer verification failed: %s\n"
 msgstr "TLS paarilise kontrollimine ebaÃµnnestus: %s\n"
 
-#: src/lang.c:1163
+#: src/lang.c:1184
 #, c-format
 msgid "TLS peer verification failed, continuing anyway as requested: %s\n"
 msgstr "TLS paarilise kontroll ebaÃµnnestus, jÃ¤tkan ikkagi nagu sooviti: %s\n"
 
-#: src/lang.c:1164
+#: src/lang.c:1185
 msgid "<unable to retrieve status>"
 msgstr ""
 
-#: src/lang.c:1165
+#: src/lang.c:1186
 msgid "unexpected certificate verification status!"
 msgstr ""
 
-#: src/lang.c:1168
+#: src/lang.c:1189
 #, c-format
 msgid ""
 "TLS peer verification failed: %s.\n"
@@ -4219,180 +4282,201 @@ msgstr ""
 "TLS paarilise kontroll ebaÃµnnestus: %s.\n"
 "JÃ¤tkan ikkagi nagu sooviti.\n"
 
-#: src/lang.c:1171
+#: src/lang.c:1192
 #, fuzzy, c-format
 msgid "TLS handshake done: %s\n"
 msgstr "TLS sessiooni algatamine ebaÃµnnestus: %s\n"
 
-#: src/lang.c:1174
+#: src/lang.c:1195
+#, c-format
+msgid "TLS handshake failed: %s\n"
+msgstr "TLS sessiooni algatamine ebaÃµnnestus: %s\n"
+
+#: src/lang.c:1198
 #, c-format
 msgid "Toggled word highlighting %s"
 msgstr "SÃµnade esiletÃµstmine lÃ¼litatud %s"
 
-#: src/lang.c:1175
+#: src/lang.c:1199
 msgid "Toggled rot13 encoding"
 msgstr "LÃ¼litatud rot13 kodeerimine"
 
-#: src/lang.c:1176
+#: src/lang.c:1200
 #, c-format
 msgid "Toggled German TeX encoding %s"
 msgstr "LÃ¼litatud Saksa TeX kodeering %s"
 
-#: src/lang.c:1177
+#: src/lang.c:1201
 #, c-format
 msgid "Toggled tab-width to %d"
 msgstr "LÃ¼litatud tab-width vÃ¤Ã¤rtus %d"
 
-#: src/lang.c:1179
+#: src/lang.c:1203
 #, c-format
 msgid "%d Trying to dotlock %s"
 msgstr "%d Ãœritan punkt-lukustada %s"
 
-#: src/lang.c:1180
+#: src/lang.c:1204
 #, c-format
 msgid "%d Trying to lock %s"
 msgstr "%d Ãœritan lukustada %s"
 
-#: src/lang.c:1182
+#: src/lang.c:1206
 #, c-format
 msgid "%s=help"
 msgstr "%s=abiinfo"
 
-#: src/lang.c:1184
+#: src/lang.c:1208
 msgid "Unlimited"
 msgstr "Piiramata"
 
-#: src/lang.c:1185
+#: src/lang.c:1209
 msgid "Enter wildcard unsubscribe pattern> "
 msgstr "Sisestage loobumise muster> "
 
-#: src/lang.c:1186
+#: src/lang.c:1210
 #, c-format
 msgid "Error decoding %s : %s"
 msgstr "Viga %s dekodeerimisel: %s"
 
-#: src/lang.c:1187
+#: src/lang.c:1211
 msgid "No end."
 msgstr "LÃµpp puudub."
 
-#: src/lang.c:1188
+#: src/lang.c:1212
 #, c-format
 msgid "%s successfully decoded."
 msgstr "%s on edukalt dekodeeritud."
 
-#: src/lang.c:1189
+#: src/lang.c:1214
 msgid "unchanged"
 msgstr "muutmata"
 
-#: src/lang.c:1190
+#: src/lang.c:1216
 msgid "(unknown)"
 msgstr "(tundmatu)"
 
-#: src/lang.c:1191
+#: src/lang.c:1218
+#, fuzzy
+msgid "unknown error"
+msgstr "Tundmatu viga."
+
+#: src/lang.c:1220
 msgid "unread"
 msgstr "lugemata"
 
-#: src/lang.c:1192
+#: src/lang.c:1221
 #, c-format
 msgid "unsubscribed from %d groups"
 msgstr "loobunud %d grupist"
 
-#: src/lang.c:1193
+#: src/lang.c:1222
 #, c-format
 msgid "Unsubscribed from %s"
 msgstr "Loobunud grupist %s"
 
-#: src/lang.c:1194
+#: src/lang.c:1223
 msgid "Unsubscribing... "
 msgstr "Loobun gruppidest... "
 
-#: src/lang.c:1195
+#: src/lang.c:1224
 msgid "Unthreading articles..."
 msgstr "TÃ¼keldan teemad..."
 
-#: src/lang.c:1196
+#: src/lang.c:1225
 msgid "Updated"
 msgstr "Uuendatud"
 
-#: src/lang.c:1197
+#: src/lang.c:1226
 msgid "Updating"
 msgstr "Uuendan"
 
-#: src/lang.c:1198
+#: src/lang.c:1227
 msgid "URL Menu"
 msgstr "URL MenÃ¼Ã¼"
 
-#: src/lang.c:1199
+#: src/lang.c:1228
 msgid "URL Menu Commands"
 msgstr "URL menÃ¼Ã¼ kÃ¤sud"
 
-#: src/lang.c:1200
+#: src/lang.c:1229
 #, c-format
 msgid "Opening %s"
 msgstr "Avan %s"
 
-#: src/lang.c:1201
+#: src/lang.c:1230
 msgid "Select URL> "
 msgstr "Valige URL> "
 
-#: src/lang.c:1202
+#: src/lang.c:1231
 msgid "No URLs in this article"
 msgstr "Selles artiklis pole URL'e"
 
-#: src/lang.c:1203
-msgid "Use MIME display program for this message?"
-msgstr "Kasutan selle teate lugemiseks MIME nÃ¤itamise programmi?"
+#: src/lang.c:1233
+#, c-format
+msgid "SASL MECHS    : %s\n"
+msgstr ""
 
-#: src/lang.c:1204
+#: src/lang.c:1234
+#, c-format
+msgid "SASL MECH used: %s\n"
+msgstr ""
+
+#: src/lang.c:1236
 msgid "  -c       mark all news as read in subscribed newsgroups (batch mode)"
 msgstr "  -c       mÃ¤rgi tellitud gruppides kÃµik artiklid loetuks (pakettmood)"
 
-#: src/lang.c:1205
+#: src/lang.c:1237
 msgid "  -Z       return status indicating if any unread news (batch mode)"
 msgstr ""
 "  -Z       tagasta vÃ¤Ã¤rtus, mis nÃ¤itab, kas on lugemata artikleid "
 "(pakettmood)"
 
-#: src/lang.c:1206
+#: src/lang.c:1238
 msgid "  -q       don't check for new newsgroups"
 msgstr "  -q       Ã¤ra otsi uusi gruppe"
 
-#: src/lang.c:1207
+#: src/lang.c:1239
 msgid "  -X       don't save any files on quit"
 msgstr "  -X       tÃ¶Ã¶ lÃµpetamisel Ã¤ra salvesta Ã¼htegi faili"
 
-#: src/lang.c:1208
+#: src/lang.c:1240
 msgid "  -d       don't show newsgroup descriptions"
 msgstr "  -d       Ã¤ra nÃ¤ita gruppide kirjeldusi"
 
-#: src/lang.c:1209
+#: src/lang.c:1241
 msgid "  -G limit get only limit articles/group"
 msgstr "  -G num   loe aunult num artiklit/gruppi"
 
-#: src/lang.c:1210
+#: src/lang.c:1242
 #, c-format
 msgid "  -H       help information about %s"
 msgstr "  -H       %s kasutamise abiinfo"
 
-#: src/lang.c:1211
+#: src/lang.c:1243
 msgid "  -h       this help message"
 msgstr "  -h       see abitekst"
 
-#: src/lang.c:1212
+#: src/lang.c:1244
 #, c-format
 msgid "  -I dir   news index file directory [default=%s]"
 msgstr "  -I kat   uudiste indeksfaili kataloog [vaikimisi=%s]"
 
-#: src/lang.c:1213
+#: src/lang.c:1246
+#, fuzzy
+msgid "  -L msgid show the message with that Message-ID"
+msgstr "  -L msgstr kuvab selle sÃµnumi Message-ID"
+
+#: src/lang.c:1248
 msgid "  -u       update index files (batch mode)"
 msgstr "  -u       vÃ¤rskenda indeksfaile (pakettmood)"
 
-#: src/lang.c:1214
+#: src/lang.c:1249
 #, c-format
 msgid "  -m dir   mailbox directory [default=%s]"
 msgstr "  -m kat   kirjakaustade kataloog [vaikimisi=%s]"
 
-#: src/lang.c:1215
+#: src/lang.c:1250
 #, c-format
 msgid ""
 "\n"
@@ -4401,49 +4485,54 @@ msgstr ""
 "\n"
 "Saatke palun vea raport/kommentaarid aadressil %s"
 
-#: src/lang.c:1216
+#: src/lang.c:1251
 msgid "  -N       mail new news to your posts (batch mode)"
 msgstr "  -N       saada uued vastused teie postitustele (pakettmood)"
 
-#: src/lang.c:1217
+#: src/lang.c:1252
 msgid "  -M user  mail new news to specified user (batch mode)"
 msgstr "  -M kasut saada uued artiklid nÃ¤idatud kasutajale (pakettmood)"
 
-#: src/lang.c:1218
+#: src/lang.c:1253
 #, c-format
 msgid "  -f file  subscribed to newsgroups file [default=%s]"
 msgstr "  -f fail  tellitud gruppide fail [vaikimisi=%s]"
 
-#: src/lang.c:1219
+#: src/lang.c:1255
+#, c-format
+msgid "  -t sec   override nntp_read_timeout_secs setting [default=%d]"
+msgstr ""
+
+#: src/lang.c:1257
 msgid "  -x       no-posting mode"
 msgstr "  -x       postitamiseta mood"
 
-#: src/lang.c:1220
+#: src/lang.c:1258
 msgid "  -w       post an article and exit"
 msgstr "  -w       postita artikkel ja lÃµpeta tÃ¶Ã¶"
 
-#: src/lang.c:1221
+#: src/lang.c:1259
 msgid "  -o       post all postponed articles and exit"
 msgstr "  -o       postita kÃµik postitamisootel artiklid ja lÃµpeta tÃ¶Ã¶"
 
-#: src/lang.c:1222
+#: src/lang.c:1260
 msgid "  -R       read news saved by -S option"
 msgstr "  -R       loe artikleid, mis on salvestatud -S vÃµtmega"
 
-#: src/lang.c:1223
+#: src/lang.c:1261
 #, c-format
 msgid "  -s dir   save news directory [default=%s]"
 msgstr "  -s kat   artiklite salvestamise kataloog [vaikimisi=%s]"
 
-#: src/lang.c:1224
+#: src/lang.c:1262
 msgid "  -S       save new news for later reading (batch mode)"
 msgstr "  -S       salvesta uued artiklid hilisemaks lugemiseks (pakettmood)"
 
-#: src/lang.c:1225
+#: src/lang.c:1263
 msgid "  -z       start if any unread news"
 msgstr "  -z       alusta tÃ¶Ã¶d, kui on lugemata uudiseid"
 
-#: src/lang.c:1226
+#: src/lang.c:1264
 #, c-format
 msgid ""
 "A Usenet reader.\n"
@@ -4454,68 +4543,73 @@ msgstr ""
 "\n"
 "Kasuta: %s [vÃµtmed] [grupp[,...]]"
 
-#: src/lang.c:1227
+#: src/lang.c:1265
 msgid "  -v       verbose output for batch mode options"
 msgstr "  -v       esita pakettmoodi kÃ¤skudega detailsemat informatsiooni"
 
-#: src/lang.c:1228
+#: src/lang.c:1266
 msgid "  -V       print version & date information"
 msgstr "  -V       esita versiooni ja kuupÃ¤eva informatsioon"
 
-#: src/lang.c:1229
-#, c-format
-msgid "%s only useful without batch mode operations\n"
-msgstr "%s on kasutatav ainult pakettmoodi kÃ¤skudeta\n"
+#: src/lang.c:1267
+msgid "Use MIME display program for this message?"
+msgstr "Kasutan selle teate lugemiseks MIME nÃ¤itamise programmi?"
 
-#: src/lang.c:1230
-#, c-format
-msgid "%s only useful for batch mode operations\n"
-msgstr "%s on kasutatav ainult pakettmoodi kÃ¤skudega\n"
+#: src/lang.c:1268
+#, fuzzy, c-format
+msgid "%s only useful without batch mode operations.%s\n"
+msgstr "%s on kasutatav ainult pakettmoodi kÃ¤skudeta.%s\n"
 
-#: src/lang.c:1231
-#, c-format
-msgid "%s only useful for batch or debug mode operations\n"
-msgstr "%s on kasutatav ainult pakett- vÃµi silumismoodi kÃ¤skudega\n"
+#: src/lang.c:1269
+#, fuzzy, c-format
+msgid "%s only useful for batch mode operations.%s\n"
+msgstr "%s on kasutatav ainult pakettmoodi kÃ¤skudega.%s\n"
 
-#: src/lang.c:1232
-#, c-format
-msgid "Useless combination %s and %s. Ignoring %s.\n"
-msgstr "Kasutu %s ja %s kombinatsioon. Ignoreerin %s.\n"
+#: src/lang.c:1270
+#, fuzzy, c-format
+msgid "%s only useful for batch or debug mode operations.%s\n"
+msgstr "%s on kasutatav ainult pakett- vÃµi silumismoodi kÃ¤skudega.%s\n"
 
-#: src/lang.c:1233
+#: src/lang.c:1271
+#, fuzzy, c-format
+msgid "Useless combination %s and %s. Ignoring %s.%s\n"
+msgstr "Kasutu %s ja %s kombinatsioon. Ignoreerin %s.%s\n"
+
+#: src/lang.c:1272
 msgid "uuencoded file"
 msgstr ""
 
-#: src/lang.c:1234
+#: src/lang.c:1273
 #, fuzzy
 msgid "incomplete uuencoded file"
 msgstr "mittetÃ¤ielik "
 
-#: src/lang.c:1237
+#: src/lang.c:1276
 #, c-format
 msgid "Valid not after : %s\n"
 msgstr ""
 
-#: src/lang.c:1238
+#: src/lang.c:1277
 #, c-format
 msgid "Valid not before: %s\n"
 msgstr ""
 
-#: src/lang.c:1240
-#, c-format
-msgid ""
-"\n"
-"%s%d out of range (0 - %d). Reset to 0"
-msgstr ""
-"\n"
-"%s%d piiridest vÃ¤ljas (0 - %d). Sean 0"
+#: src/lang.c:1279
+#, fuzzy, c-format
+msgid "%s %s out of range (%d - %d). Ignored."
+msgstr "%s %s piiridest vÃ¤ljas (%d - %d). Ignoreeritud."
 
-#: src/lang.c:1241
+#: src/lang.c:1280
+#, fuzzy, c-format
+msgid "%s %d out of range (0 - %d). Reset to 0."
+msgstr "%s %d piiridest vÃ¤ljas (0 - %d). Sean 0."
+
+#: src/lang.c:1281
 #, c-format
 msgid "View '%s' (%s/%s)?"
 msgstr "Vaatan '%s' (%s/%s)?"
 
-#: src/lang.c:1243
+#: src/lang.c:1283
 #, c-format
 msgid ""
 "\n"
@@ -4526,7 +4620,7 @@ msgstr ""
 "Hoiatus: postitus Ã¼letab %d veergu. Esimene pikk rida on rida %d:\n"
 "%-100s\n"
 
-#: src/lang.c:1244
+#: src/lang.c:1284
 msgid ""
 "\n"
 "Warning: article unchanged after editing\n"
@@ -4534,7 +4628,7 @@ msgstr ""
 "\n"
 "Hoiatus: artiklit ei ole toimetamise kÃ¤igus muudetud\n"
 
-#: src/lang.c:1245
+#: src/lang.c:1285
 msgid ""
 "\n"
 "Warning: \"Subject:\" contains only whitespaces.\n"
@@ -4542,7 +4636,7 @@ msgstr ""
 "\n"
 "Hoiatus: \"Subject:\" real on ainult tÃ¼hikud.\n"
 
-#: src/lang.c:1246
+#: src/lang.c:1286
 msgid ""
 "\n"
 "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:"
@@ -4552,7 +4646,7 @@ msgstr ""
 "Hoiatus: \"Subject:\" algab fraasiga \"Re: \", aga \"References:\" vÃ¤lju "
 "pole.\n"
 
-#: src/lang.c:1248
+#: src/lang.c:1288
 msgid ""
 "\n"
 "Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
@@ -4563,7 +4657,16 @@ msgstr ""
 "fraasiga\n"
 "         \"Re: \" ega sisalda \"(was:\".\n"
 
-#: src/lang.c:1251
+#: src/lang.c:1291
+#, fuzzy
+msgid ""
+"\n"
+"Warning: \"Subject:\" contains only \"Re:\".\n"
+msgstr ""
+"\n"
+"Hoiatus: \"Subject:\" real on ainult tÃ¼hikud.\n"
+
+#: src/lang.c:1292
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4585,7 +4688,16 @@ msgstr ""
 "Siin on artikkel, mida te hakkate kustutama:\n"
 "\n"
 
-#: src/lang.c:1255
+#: src/lang.c:1296
+#, fuzzy
+msgid ""
+"\n"
+"Warning: Undesired Distribution \"world\" used.\n"
+msgstr ""
+"\n"
+"Viga: Vigaselt vormindatud %s.\n"
+
+#: src/lang.c:1297
 msgid ""
 "\n"
 "Warning: You are using a non-plain transfer encoding (such as base64 or\n"
@@ -4602,7 +4714,7 @@ msgstr ""
 "kodeerita\n"
 "         korrektselt.\n"
 
-#: src/lang.c:1261
+#: src/lang.c:1303
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4613,7 +4725,7 @@ msgstr ""
 "Rida %d on pikem, kui %d sÃ¼mbolit ja tuleks poolitada, aga kodeering\n"
 "pole ei %s ega %s\n"
 
-#: src/lang.c:1265
+#: src/lang.c:1307
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4626,7 +4738,7 @@ msgstr ""
 "on %s ja MIME_BREAK_LONG_LINES pole seatud vÃµi postitamine ei sisalda\n"
 "8 bitiseid sÃ¼mboleid ja seetÃµttu poolitamist ei toimu\n"
 
-#: src/lang.c:1269
+#: src/lang.c:1311
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4637,7 +4749,7 @@ msgstr ""
 "Rida %d on pikem, kui %d sÃ¼mbolit ja tuleks poolitada, aga kodeering\n"
 "pole %s\n"
 
-#: src/lang.c:1272
+#: src/lang.c:1314
 msgid ""
 "\n"
 "Warning: \"example\" is a reserved hierarchy!\n"
@@ -4645,7 +4757,7 @@ msgstr ""
 "\n"
 "Hoiatus: \"nÃ¤ide\" on reserveeritud hierarhia!\n"
 
-#: src/lang.c:1273
+#: src/lang.c:1315
 #, c-format
 msgid ""
 "\n"
@@ -4660,7 +4772,7 @@ msgstr ""
 "VÃ¤Ã¤rtused failis %s on muutunud!\n"
 "Palun lugege faile WHATSNEW, jne...\n"
 
-#: src/lang.c:1275
+#: src/lang.c:1317
 #, c-format
 msgid ""
 "\n"
@@ -4675,7 +4787,7 @@ msgstr ""
 "MÃµningaid vÃ¤Ã¤rtusi failis %s vÃµidakse ignoreerida, mÃµningaid vÃµidakse "
 "muuta!\n"
 
-#: src/lang.c:1278
+#: src/lang.c:1320
 #, c-format
 msgid ""
 "Warning: tin wrote fewer groups to your\n"
@@ -4690,7 +4802,25 @@ msgstr ""
 "grupist%s, tÃ¤hendab see viga ja te peaksite varundama oma %s\n"
 "enne, kui te tini uuesti kÃ¤ivitate!\n"
 
-#: src/lang.c:1282
+#: src/lang.c:1324
+#, c-format
+msgid ""
+"\n"
+"Warning: The article has multiple addresses in \"%s\".\n"
+"         This is at least uncommon.\n"
+msgstr ""
+
+#: src/lang.c:1327
+#, c-format
+msgid ""
+"\n"
+"Warning: With multiple addresses in \"From\", a \"Sender\"-header is\n"
+"         required, but its generation is deactivated by the global\n"
+"         configuration \"disable_sender=ON\" in\n"
+"         \"%s\".\n"
+msgstr ""
+
+#: src/lang.c:1332
 #, c-format
 msgid ""
 "\n"
@@ -4700,12 +4830,12 @@ msgstr ""
 "Hoiatus: Leidsin %d '-- \\n' rida, mis vÃµib tekitada osades inimestes "
 "segadust.\n"
 
-#: src/lang.c:1283
+#: src/lang.c:1333
 #, c-format
 msgid "Warning: Only %d out of %d articles were saved"
 msgstr "Hoiatus: Salvestati ainult %d artiklit %d artiklist"
 
-#: src/lang.c:1284
+#: src/lang.c:1334
 #, c-format
 msgid ""
 "\n"
@@ -4722,7 +4852,7 @@ msgstr ""
 "vÃµimalikult\n"
 "         lÃ¼hikesed.\n"
 
-#: src/lang.c:1288
+#: src/lang.c:1338
 #, c-format
 msgid ""
 "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
@@ -4730,14 +4860,14 @@ msgstr ""
 "Hoiatus: see aadress vÃµib sisaldada rÃ¤mpsposti lÃµksu. %s=jÃ¤tkan, "
 "%s=katkestan?"
 
-#: src/lang.c:1289
+#: src/lang.c:1339
 #, c-format
 msgid ""
 "Warning: line %d contains unprintable chars:\n"
 "%s\n"
 msgstr ""
 
-#: src/lang.c:1290
+#: src/lang.c:1340
 msgid ""
 "\n"
 "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
@@ -4745,83 +4875,83 @@ msgstr ""
 "\n"
 "Hoiatus: Signatuuride alguses peaks olema '-- \\n', mitte '--\\n'.\n"
 
-#: src/lang.c:1291
+#: src/lang.c:1341
 msgid "Writing attributes file..."
 msgstr "Kirjutan atribuutide faili..."
 
-#: src/lang.c:1292
+#: src/lang.c:1342
 #, c-format
 msgid "Writing %s\n"
 msgstr "Kirjutan %s\n"
 
-#: src/lang.c:1293
+#: src/lang.c:1343
 msgid "Writing overview cache..."
 msgstr "Kirjutan Ã¼levaate puhvri..."
 
-#: src/lang.c:1295
+#: src/lang.c:1345
 #, c-format
 msgid "%4d Responses"
 msgstr "%4d Vastust"
 
-#: src/lang.c:1297
+#: src/lang.c:1347
 msgid "Can't run slrnface: couldn't construct fifo name."
 msgstr "Slrnface ei saa kÃ¤ivitada: ei Ãµnnestu konstrueerida fifo nime."
 
-#: src/lang.c:1298
+#: src/lang.c:1348
 #, c-format
 msgid "Can't run slrnface: failed to create %s"
 msgstr "Slrnface ei saa kÃ¤ivitada: %s loomine ebaÃµnnestus"
 
-#: src/lang.c:1299
+#: src/lang.c:1349
 #, c-format
 msgid "Slrnface abnormally exited, code %d."
 msgstr "Slrnface lÃµpetas veaga, kood %d."
 
-#: src/lang.c:1300
+#: src/lang.c:1350
 #, c-format
 msgid "Slrnface failed: %s."
 msgstr "Slrnface ebaÃµnnestus: %s."
 
-#: src/lang.c:1301
+#: src/lang.c:1352
 #, c-format
 msgid "Can't run slrnface: Environment variable %s not found."
 msgstr "Slrnface ei saa kÃ¤ivitada: Keskkonnamuutuja %s puudub."
 
-#: src/lang.c:1302
+#: src/lang.c:1354
 msgid "Can't run slrnface: Not running in an xterm."
 msgstr "Slrnface ei saa kÃ¤ivitada: Ei tÃ¶Ã¶ta xterm terminalis."
 
-#: src/lang.c:1303
+#: src/lang.c:1357
 msgid "couldn't connect to display"
 msgstr ""
 
-#: src/lang.c:1304
+#: src/lang.c:1358
 #, fuzzy
 msgid "can't open FIFO"
 msgstr "%s ei saa avada"
 
-#: src/lang.c:1305
+#: src/lang.c:1359
 msgid "executable not found"
 msgstr ""
 
-#: src/lang.c:1306
+#: src/lang.c:1360
 #, fuzzy
 msgid "fork() failed"
 msgstr "Otsing ebaÃµnnestus"
 
-#: src/lang.c:1307
+#: src/lang.c:1361
 msgid "couldn't find controlling terminal"
 msgstr ""
 
-#: src/lang.c:1308
+#: src/lang.c:1362
 msgid "terminal doesn't export width and height"
 msgstr ""
 
-#: src/lang.c:1310
+#: src/lang.c:1363
 msgid "WINDOWID not found in environment"
 msgstr ""
 
-#: src/lang.c:1311
+#: src/lang.c:1364
 msgid ""
 "This directory is used to create named pipes for communication between\n"
 "slrnface and its parent process. It should normally be empty because\n"
@@ -4845,28 +4975,28 @@ msgstr ""
 "Kui see kataloog on haagitud NFS serverilt, vÃµib slrnface tÃ¶Ã¶ ajal\n"
 "siiski nÃ¤ha ka vastavaid faile. Kui see on nii, Ã¤rge neid kustutage.\n"
 
-#: src/lang.c:1324
+#: src/lang.c:1377
 #, c-format
 msgid "Added %d %s"
 msgstr "Lisatud %d %s"
 
-#: src/lang.c:1325
+#: src/lang.c:1378
 msgid "No unsubscribed groups to show"
 msgstr "Tellimata gruppe pole"
 
-#: src/lang.c:1326
+#: src/lang.c:1379
 msgid "Showing subscribed to groups only"
 msgstr "NÃ¤itan ainult tellitud gruppe"
 
-#: src/lang.c:1327
+#: src/lang.c:1380
 msgid "Yes "
 msgstr "Jah "
 
-#: src/lang.c:1328
+#: src/lang.c:1381
 msgid "You have mail"
 msgstr "Teil on kiri"
 
-#: src/lang.c:1333
+#: src/lang.c:1386
 #, c-format
 msgid ""
 "\n"
@@ -4887,11 +5017,11 @@ msgstr ""
 "         MM_NETWORK_CHARSET. Viimast saate teostada kasutades valikut "
 "M)enÃ¼Ã¼.\n"
 
-#: src/lang.c:1344
+#: src/lang.c:1397
 msgid "  -D mode  debug mode"
 msgstr "  -D mood  silumismood"
 
-#: src/lang.c:1348
+#: src/lang.c:1401
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4917,11 +5047,11 @@ msgstr ""
 "Siin on artikkel, mida te asute kustutama:\n"
 "\n"
 
-#: src/lang.c:1357
+#: src/lang.c:1410
 msgid "toggle color"
 msgstr "lÃ¼lita vÃ¤rve"
 
-#: src/lang.c:1358
+#: src/lang.c:1411
 msgid ""
 "# Changing colors of several screen parts\n"
 "# Possible values are:\n"
@@ -4967,11 +5097,11 @@ msgstr ""
 "#  15 = helevalge\n"
 "\n"
 
-#: src/lang.c:1378
+#: src/lang.c:1431
 msgid "  -a       toggle color flag"
 msgstr "  -a       lÃ¼lita vÃ¤rvide kasutamist"
 
-#: src/lang.c:1382
+#: src/lang.c:1435
 msgid ""
 "\n"
 "Error: Followup-To set to more than one newsgroup!\n"
@@ -4979,7 +5109,7 @@ msgstr ""
 "\n"
 "Viga: Followup-To real on rohkem kui Ã¼ks grupp!\n"
 
-#: src/lang.c:1383
+#: src/lang.c:1436
 #, c-format
 msgid ""
 "\n"
@@ -4988,7 +5118,7 @@ msgstr ""
 "\n"
 "Viga: \"%s\" on Ã¼mber nimetatud, kasutage selle asemel \"%s\"!\n"
 
-#: src/lang.c:1384
+#: src/lang.c:1437
 #, c-format
 msgid ""
 "\n"
@@ -4997,7 +5127,7 @@ msgstr ""
 "\n"
 "Viga: ristpostitus %d gruppi ja Followup-To rida puudub!\n"
 
-#: src/lang.c:1385
+#: src/lang.c:1438
 #, c-format
 msgid ""
 "\n"
@@ -5006,7 +5136,7 @@ msgstr ""
 "\n"
 "Viga: \"%s\" ei ole lubatud grupp!\n"
 
-#: src/lang.c:1387
+#: src/lang.c:1440
 msgid ""
 "\n"
 "Warning: Followup-To set to more than one newsgroup!\n"
@@ -5014,7 +5144,7 @@ msgstr ""
 "\n"
 "Hoiatus: Followup-To on seatud rohkem, kui Ã¼hele grupile!\n"
 
-#: src/lang.c:1388
+#: src/lang.c:1441
 #, c-format
 msgid ""
 "\n"
@@ -5023,7 +5153,7 @@ msgstr ""
 "\n"
 "Hoiatus: \"%s\" on Ã¼mber nimetatud, kasutage selle asemel \"%s\"!\n"
 
-#: src/lang.c:1389
+#: src/lang.c:1442
 #, c-format
 msgid ""
 "\n"
@@ -5032,7 +5162,7 @@ msgstr ""
 "\n"
 "Hoiatus: ristpostitus %d uudisegruppi ja Followup-To rida puudub!\n"
 
-#: src/lang.c:1390
+#: src/lang.c:1443
 #, c-format
 msgid ""
 "\n"
@@ -5042,7 +5172,7 @@ msgstr ""
 "Hoiatus: \"%s\" puudub teie newsrc failist, see vÃµib olla selles serveris "
 "vigane!\n"
 
-#: src/lang.c:1391
+#: src/lang.c:1444
 #, c-format
 msgid ""
 "\n"
@@ -5051,79 +5181,76 @@ msgstr ""
 "\n"
 "Hoiatus: \"%s\" ei ole selles serveris kehtiv grupp!\n"
 
-#: src/lang.c:1395
+#: src/lang.c:1448
 #, c-format
 msgid "%d files successfully written from %d articles. %d %s occurred."
 msgstr "Edukalt kirjutatud %d faili %d artiklist. Esines %d viga%s."
 
-#: src/lang.c:1396
+#: src/lang.c:1449
 msgid "Missing parts."
 msgstr "Osad puuduvad."
 
-#: src/lang.c:1397
+#: src/lang.c:1450
 msgid "No beginning."
 msgstr "Algus puudub."
 
-#: src/lang.c:1398
+#: src/lang.c:1451
 msgid "No data."
 msgstr "Andmeid pole."
 
-#: src/lang.c:1399
+#: src/lang.c:1452
 msgid "Unknown error."
 msgstr "Tundmatu viga."
 
-#: src/lang.c:1402
-#, c-format
-msgid "\tChecksum of %s (%ld %s)"
-msgstr "\t%s kontrollsumma (%ld %s)"
-
-#: src/lang.c:1407
-msgid "Reading mail active file... "
-msgstr "Loen aktiivsete kirjade kausta... "
+#: src/lang.c:1456
+#, fuzzy, c-format
+msgid "Reading mail active file: %s"
+msgstr "Loen aktiivsete kirjade kausta: %s"
 
-#: src/lang.c:1408
-msgid "Reading mailgroups file... "
+#: src/lang.c:1457
+#, fuzzy, c-format
+msgid "Reading mailgroups file: %s"
 msgstr "Loen kirjagruppide faili... "
 
-#: src/lang.c:1412
+#: src/lang.c:1461
 msgid "perform PGP operations on article"
 msgstr "kasuta artiklil PGP operatsioone"
 
-#: src/lang.c:1413
+#: src/lang.c:1462
 msgid "Add key(s) to public keyring?"
 msgstr "Lisan vÃµtmed avalike vÃµtmete hoidlasse?"
 
-#: src/lang.c:1414
+#: src/lang.c:1463
 #, c-format
 msgid "%s=encrypt, %s=sign, %s=both, %s=quit: "
 msgstr "%s=krÃ¼pti, %s=allkirjasta, %s=mÃµlemad, %s=vÃ¤lju: "
 
-#: src/lang.c:1415
+#: src/lang.c:1464
 #, c-format
 msgid "%s=sign, %s=sign & include public key, %s=quit: "
 msgstr "%s=allkirjasta, %s=allkirjasta & lisa avalik vÃµti, %s=vÃ¤lju: "
 
-#: src/lang.c:1416
+#: src/lang.c:1465
 #, c-format
 msgid "PGP has not been set up (can't open %s)"
 msgstr "PGP pole seadistatud (ei saa avada %s)"
 
-#: src/lang.c:1417
+#: src/lang.c:1466
 msgid "Article not signed and no public keys found"
 msgstr "Artikkel pole allkirjastatud ja avalikke vÃµtmeid pole"
 
-#: src/lang.c:1419
+#: src/lang.c:1468
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 "%s=vÃ¤lju, %s=toimeta, %s=ispell, %s=pgp, %s=menÃ¼Ã¼, %s=postita, %s=ootele: "
 
-#: src/lang.c:1420
+#: src/lang.c:1469
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: "
 msgstr "%s=vÃ¤lju, %s=toimeta, %s=ispell, %s=pgp, %s=saada [%%s]: "
 
-#: src/lang.c:1421
+#: src/lang.c:1470
 #, c-format
 msgid ""
 "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
@@ -5131,114 +5258,119 @@ msgstr ""
 "%s=vÃ¤lju, %s=toimeta, %s=ispell, %s=pgp, %s=menÃ¼Ã¼, %s=postita, %s=ootele "
 "[%%s]: "
 
-#: src/lang.c:1423
+#: src/lang.c:1472
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=vÃ¤lju, %s=toimeta, %s=pgp, %s=menÃ¼Ã¼, %s=postita, %s=ootele: "
 
-#: src/lang.c:1424
+#: src/lang.c:1473
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: "
 msgstr "%s=vÃ¤lju, %s=toimeta, %s=pgp, %s=saada [%%s]: "
 
-#: src/lang.c:1425
+#: src/lang.c:1474
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=vÃ¤lju, %s=toimeta, %s=pgp, %s=menÃ¼Ã¼, %s=postita, %s=ootele [%%s]: "
 
-#: src/lang.c:1429
+#: src/lang.c:1478
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=vÃ¤lju, %s=toimeta, %s=ispell, %s=menÃ¼Ã¼, %s=postita, %s=ootele: "
 
-#: src/lang.c:1430
+#: src/lang.c:1479
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: "
 msgstr "%s=vÃ¤lju, %s=toimeta, %s=ispell, %s=saada [%%s]: "
 
-#: src/lang.c:1431
+#: src/lang.c:1480
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 "%s=vÃ¤lju, %s=toimeta, %s=ispell, %s=menÃ¼Ã¼, %s=postita, %s=ootele [%%s]: "
 
-#: src/lang.c:1433
+#: src/lang.c:1482
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=vÃ¤lju, %s=toimeta, %s=menÃ¼Ã¼, %s=postita, %s=ootele: "
 
-#: src/lang.c:1434
+#: src/lang.c:1483
 #, c-format
 msgid "%s=quit, %s=edit, %s=send [%%s]: "
 msgstr "%s=vÃ¤lju, %s=toimeta, %s=saada [%%s]: "
 
-#: src/lang.c:1435
+#: src/lang.c:1484
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=vÃ¤lju, %s=toimeta, %s=menÃ¼Ã¼, %s=postita, %s=ootele [%%s]: "
 
-#: src/lang.c:1441
+#: src/lang.c:1489
 msgid "Try cache_overview_files to speed up things.\n"
 msgstr "Proovige asjade kiirendamiseks cache_overview_files.\n"
 
-#: src/lang.c:1442
+#: src/lang.c:1490
 msgid "Tin will use local index files instead.\n"
 msgstr "Tin kasutab hoopis kohalikke indeksfaile.\n"
 
-#: src/lang.c:1443
+#: src/lang.c:1491
 msgid "Cannot find NNTP server name"
 msgstr "Ei leia NNTP serveri nime"
 
-#: src/lang.c:1444
+#: src/lang.c:1492
 msgid "CAPABILITIES did not announce READER"
 msgstr "CAPABILITIES ei sisalda READER"
 
-#: src/lang.c:1445
+#: src/lang.c:1493
 #, c-format
 msgid "Connecting to %s:%u..."
 msgstr "Loon Ã¼hendust serveriga %s:%u..."
 
-#: src/lang.c:1446
+#: src/lang.c:1494
 msgid "NNTP connection error. Exiting..."
 msgstr "NNTP Ã¼henduse viga. LÃµpetan..."
 
-#: src/lang.c:1447
+#: src/lang.c:1495
 msgid "Disconnecting from server..."
 msgstr "LÃµpetan Ã¼henduse..."
 
-#: src/lang.c:1448
+#: src/lang.c:1496
 #, c-format
 msgid "Failed to connect to NNTP server %s. Exiting..."
 msgstr "NNTP serveriga %s Ã¼henduse loomine ebaÃµnnestus. LÃµpetan..."
 
-#: src/lang.c:1449
+#: src/lang.c:1497
 msgid "205  Closing connection"
 msgstr "205  Sulen Ã¼hendust"
 
-#: src/lang.c:1450
+#: src/lang.c:1498
 msgid "Your server does not support the NNTP XOVER or OVER command.\n"
 msgstr "Teie server ei toeta NNTP XOVER vÃµi OVER kÃ¤sku.\n"
 
-#: src/lang.c:1452
+#: src/lang.c:1499
 #, c-format
 msgid "Port isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1453
+#: src/lang.c:1500
+#, c-format
+msgid "%s argument is not numeric: %s\n"
+msgstr ""
+
+#: src/lang.c:1502
 #, c-format
 msgid "Port in %s isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1454
+#: src/lang.c:1503
 #, c-format
 msgid "reconnect (%d) limit %d reached, giving up."
 msgstr ""
 
-#: src/lang.c:1456
+#: src/lang.c:1505
 msgid "Connection to news server has timed out. Reconnect?"
 msgstr "Ãœhendus uudisegruppide serveriga aegus. Ã¼hendun uuesti?"
 
-#: src/lang.c:1457
+#: src/lang.c:1506
 #, c-format
 msgid ""
 "Put the server name in the file %s,\n"
@@ -5247,67 +5379,66 @@ msgstr ""
 "Kirjutage serveri nimi faili %s,\n"
 "vÃµi seadke keskonnamuutuja NNTPSERVER"
 
-#: src/lang.c:1459
+#: src/lang.c:1508
 #, fuzzy
 msgid "Continuing..."
 msgstr "TrÃ¼kin..."
 
-#: src/lang.c:1460
-#, c-format
-msgid "Read timeout from server (%d seconds) - quit tin?"
+#: src/lang.c:1509
+msgid "Read timeout from server - quit tin?"
 msgstr ""
 
-#: src/lang.c:1461
+#: src/lang.c:1510
 msgid "  -C       try COMPRESS NNTP extension"
 msgstr ""
 
-#: src/lang.c:1463
+#: src/lang.c:1512
 msgid "  -A       force authentication on connect"
 msgstr "  -A       sunni Ã¼henduse loomisel autentima"
 
-#: src/lang.c:1464
+#: src/lang.c:1513
 #, c-format
 msgid "  -g serv  read news from NNTP server serv [default=%s]"
 msgstr "  -g serv  loe uudiseid NNTP serverist serv [vaikimisi=%s]"
 
-#: src/lang.c:1465
+#: src/lang.c:1514
 #, c-format
 msgid "  -p port  use port as NNTP port [default=%d]"
 msgstr "  -p port  kasuta NNTP porti [vaikimisi=%d]"
 
-#: src/lang.c:1467
+#: src/lang.c:1516
 msgid "  -k       skip verification for NNTPS"
 msgstr "  -k       Ã¤ra NNTPS'i verifitseeri"
 
-#: src/lang.c:1468
+#: src/lang.c:1517
 msgid "  -T       enable NNTPS"
 msgstr "  -T       luba NNTPS"
 
-#: src/lang.c:1470
+#: src/lang.c:1519
 msgid "  -Q       quick start. Same as -dnq"
 msgstr "  -Q       kiirstart. Sama kui -dnq"
 
-#: src/lang.c:1471
+#: src/lang.c:1520
 msgid "  -r       read news remotely from default NNTP server"
 msgstr "  -r       loe artikleid kasutades vaikimisi NNTP serverit"
 
-#: src/lang.c:1472
+#: src/lang.c:1521
 msgid "  -l       use only LIST instead of GROUP (-n) command"
 msgstr "  -l       kasuta LIST kÃ¤sku GROUP (-n) kÃ¤su asemel"
 
-#: src/lang.c:1473
+#: src/lang.c:1522
 msgid "  -n       only read subscribed .newsrc groups from NNTP server"
 msgstr "  -n       loe NNTP serverist ainult tellitud .newsrc grupid"
 
-#: src/lang.c:1475
+#: src/lang.c:1524
 msgid "  -4       force connecting via IPv4"
 msgstr "  -4       kasuta ainult IPv4"
 
-#: src/lang.c:1476
+#: src/lang.c:1525
 msgid "  -6       force connecting via IPv6"
 msgstr "  -6       kasuta ainult IPv6"
 
-#: src/lang.c:1477
+#: src/lang.c:1526
 msgid ""
 "\n"
 "socket or connect problem\n"
@@ -5315,7 +5446,7 @@ msgstr ""
 "\n"
 "Probleem pistikuga vÃµi Ã¼hendusega\n"
 
-#: src/lang.c:1479
+#: src/lang.c:1528
 #, c-format
 msgid ""
 "\n"
@@ -5324,16 +5455,16 @@ msgstr ""
 "\n"
 "Loon Ã¼hendust serveriga %s: "
 
-#: src/lang.c:1480
+#: src/lang.c:1529
 msgid "Giving up...\n"
 msgstr "Annan alla...\n"
 
-#: src/lang.c:1482
+#: src/lang.c:1531
 #, c-format
 msgid "%s/tcp: Unknown service.\n"
 msgstr "%s/tcp: Tundmatu teenus.\n"
 
-#: src/lang.c:1486
+#: src/lang.c:1535
 msgid ""
 "Your server does not have Xref: in its XOVER information.\n"
 "Tin will try to use XHDR XREF instead (slows down things a bit).\n"
@@ -5342,88 +5473,88 @@ msgstr ""
 "Tin Ã¼ritab kasutada XHDR XREF selle asemel (vÃµib olla mÃµnevÃµrra "
 "aeganÃµudvam).\n"
 
-#: src/lang.c:1489
+#: src/lang.c:1538
 msgid "Your server does not have Xref: in its XOVER information.\n"
 msgstr "Teie server ei paku Xref: pÃ¤iserida XOVER informatsioonis.\n"
 
-#: src/lang.c:1492
+#: src/lang.c:1541
 #, c-format
 msgid "Can't open %s. Try %s -r to read news via NNTP."
 msgstr "%s ei saa avada. Proovige %s -r, et lugeda uudiseid Ã¼le NNTP."
 
-#: src/lang.c:1495
+#: src/lang.c:1544
 msgid "  -Q       quick start. Same as -dq"
 msgstr "  -Q       kiirstart. Sama kui -dq"
 
-#: src/lang.c:1496
+#: src/lang.c:1545
 msgid "  -l       read only active file instead of scanning spool (-n) command"
 msgstr "  -l       loe pooli skaneerimise (-n) asemel ainult faili active"
 
-#: src/lang.c:1497
+#: src/lang.c:1546
 msgid "  -n       only read subscribed .newsrc groups from spool"
 msgstr "  -n       loe poolist ainult tellitud .newsrc gruppe"
 
-#: src/lang.c:1498
+#: src/lang.c:1547
 msgid "Your server does not have Xref: in its NOV-files.\n"
 msgstr "Teie server ei paku Xref: pÃ¤iserida NOV failides.\n"
 
-#: src/lang.c:1502
+#: src/lang.c:1551
 msgid "Posting using external inews failed. Use built in inews instead?"
 msgstr ""
 "VÃ¤lise inews programmiga postitamine ebaÃµnnestus. Proovin sisemist inewsi?"
 
-#: src/lang.c:1503
+#: src/lang.c:1552
 msgid "It worked! Should I always use my built in inews from now on?"
 msgstr "See tÃ¶Ã¶tas! Kas kasutan nÃ¼Ã¼d alati sisemist inews programmi?"
 
-#: src/lang.c:1507
+#: src/lang.c:1556
 #, c-format
 msgid "%d %s printed"
 msgstr "%d %s trÃ¼kitud"
 
-#: src/lang.c:1508
+#: src/lang.c:1557
 msgid "output article/thread/hot/pattern/tagged articles to printer"
 msgstr "saada artikkel/teema/kuum/muster/mÃ¤rgitud trÃ¼kkalile"
 
-#: src/lang.c:1509
+#: src/lang.c:1558
 msgid "Print"
 msgstr "TrÃ¼ki"
 
-#: src/lang.c:1510
+#: src/lang.c:1559
 msgid "Printing..."
 msgstr "TrÃ¼kin..."
 
-#: src/lang.c:1514
+#: src/lang.c:1563
 #, c-format
 msgid "%d %s piped to \"%s\""
 msgstr "%d %s saadetud \"%s\""
 
-#: src/lang.c:1515
+#: src/lang.c:1564
 msgid "pipe article/thread/hot/pattern/tagged articles into command"
 msgstr "saada artikkel/teema/kuum/muster/mÃ¤rgitud toruga kÃ¤sule"
 
-#: src/lang.c:1516
+#: src/lang.c:1565
 msgid "No command"
 msgstr "KÃ¤sku pole"
 
-#: src/lang.c:1517
+#: src/lang.c:1566
 msgid "Pipe"
 msgstr "Toru"
 
-#: src/lang.c:1518
+#: src/lang.c:1567
 #, c-format
 msgid "Pipe to command [%.*s]> "
 msgstr "Toru kÃ¤sku [%.*s]> "
 
-#: src/lang.c:1519
+#: src/lang.c:1568
 msgid "Piping..."
 msgstr "Saadan torusse..."
 
-#: src/lang.c:1521
+#: src/lang.c:1570
 msgid "Piping not enabled."
 msgstr "Toru kasutamine pole lubatud."
 
-#: src/lang.c:1525
+#: src/lang.c:1574
 #, c-format
 msgid ""
 "\n"
@@ -5437,7 +5568,7 @@ msgstr ""
 "      tÃ¼hik on see,  mis eraldab koolonit (:)  teistest komponentidest\n"
 "      real. Gruppide eraldamiseks kasutage palun koma (,).\n"
 
-#: src/lang.c:1530
+#: src/lang.c:1579
 #, c-format
 msgid ""
 "\n"
@@ -5450,7 +5581,7 @@ msgstr ""
 "      tÃ¼hikuid, siis ei ole see lubatud.  Palun kirjutage kÃµik grupid\n"
 "      Ã¼hele reale.\n"
 
-#: src/lang.c:1535
+#: src/lang.c:1584
 #, c-format
 msgid ""
 "\n"
@@ -5463,7 +5594,7 @@ msgstr ""
 "      See on uus omadus ja kÃµik serverid ei pruugi seda toetada.\n"
 "      Probleemide vÃ¤ltimiseks, kirjutage palun kÃµik grupid Ã¼hele reale.\n"
 
-#: src/lang.c:1539
+#: src/lang.c:1588
 #, c-format
 msgid ""
 "\n"
@@ -5472,7 +5603,7 @@ msgstr ""
 "\n"
 "Hoiatus: Rida \"%s:\" sisaldab tÃ¼hikuid, mis TULEKS eemaldada.\n"
 
-#: src/lang.c:1544
+#: src/lang.c:1593
 msgid ""
 "\n"
 "  If your article contains quoted text  please take some time to pare it "
@@ -5504,40 +5635,40 @@ msgstr ""
 "  tega, siis ilmselt enamus lugejaid ignoreerib teid tÃ¤iesti. TÃ¤napÃ¤eval on\n"
 "  vÃµrgus palju rahvast ja infot!\n"
 
-#: src/lang.c:1557
+#: src/lang.c:1606
 msgid "shell escape"
 msgstr "paojada kÃ¤sureale"
 
-#: src/lang.c:1558
+#: src/lang.c:1607
 #, c-format
 msgid "Shell Command (%s)"
 msgstr "KÃ¤surea kÃ¤sk (%s)"
 
-#: src/lang.c:1559
+#: src/lang.c:1608
 #, c-format
 msgid "Enter shell command [%s]> "
 msgstr "Sisestage kÃ¤surea kÃ¤sk [%s]> "
 
-#: src/lang.c:1563
+#: src/lang.c:1612
 #, c-format
 msgid "%s: Can't get entry for TERM\n"
 msgstr "%s: Ei saa TERM kirjet\n"
 
-#: src/lang.c:1567
+#: src/lang.c:1616
 #, c-format
 msgid "Group %.*s ('q' to quit)..."
 msgstr "Grupp %.*s ('q' lÃµpetamiseks)..."
 
-#: src/lang.c:1569
+#: src/lang.c:1618
 #, c-format
 msgid "Group %.*s..."
 msgstr "Grupp %.*s..."
 
-#: src/lang.c:1573
+#: src/lang.c:1622
 msgid "Server unavailable\n"
 msgstr "Server ei vasta\n"
 
-#: src/lang.c:1579
+#: src/lang.c:1628
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
@@ -5546,7 +5677,7 @@ msgstr ""
 "%s=toru; %s=kiri; %s=trÃ¼ki; %s=vÃ¤lju; %s=kÃµik/lugem; %s=salv; %s=mÃ¤rgi; "
 "%s=postita"
 
-#: src/lang.c:1580
+#: src/lang.c:1629
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
@@ -5554,544 +5685,544 @@ msgstr ""
 "%s=toru; %s=kiri; %s=trÃ¼ki; %s=vÃ¤lju; %s=kirjuta; %s=salv; %s=mÃ¤rgi; "
 "%s=postita"
 
-#: src/lang.c:1582
+#: src/lang.c:1631
 #, c-format
 msgid ""
 "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=kiri; %s=trÃ¼ki; %s=vÃ¤lju; %s=kÃµik/lugem; %s=salvesta; %s=mÃ¤rgi; %s=postita"
 
-#: src/lang.c:1583
+#: src/lang.c:1632
 #, c-format
 msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=kiri; %s=trÃ¼ki; %s=vÃ¤lju; %s=kirjuta; %s=salvesta; %s=mÃ¤rgi; %s=postita"
 
-#: src/lang.c:1587
+#: src/lang.c:1636
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=toru; %s=kiri; %s=vÃ¤lju; %s=kÃµik/lugemata; %s=salv; %s=mÃ¤rgi; %s=postita"
 
-#: src/lang.c:1588
+#: src/lang.c:1637
 #, c-format
 msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=toru; %s=kiri; %s=vÃ¤lju; %s=kirjuta; %s=salvesta; %s=mÃ¤rgi; %s=postita"
 
-#: src/lang.c:1590
+#: src/lang.c:1639
 #, c-format
 msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr "%s=kiri; %s=vÃ¤lju; %s=kÃµik/lugemata; %s=salvesta; %s=mÃ¤rgi; %s=postita"
 
-#: src/lang.c:1591
+#: src/lang.c:1640
 #, c-format
 msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr "%s=kiri; %s=vÃ¤lju; %s=vasta kirjaga; %s=salvesta; %s=mÃ¤rgi; %s=postita"
 
-#: src/lang.c:1597
+#: src/lang.c:1646
 msgid "Terminal does not support color"
 msgstr "Terminal ei toeta vÃ¤rve"
 
-#: src/lang.c:1602
+#: src/lang.c:1651
 #, c-format
 msgid "Trying %s"
 msgstr "Proovin %s"
 
-#: src/lang.c:1617
+#: src/lang.c:1666
 msgid "Subject"
 msgstr "Teema"
 
-#: src/lang.c:1618
+#: src/lang.c:1667
 msgid "References"
 msgstr "Viited"
 
-#: src/lang.c:1619
+#: src/lang.c:1668
 msgid "Both Subject and References"
 msgstr "Nii teema kui viited"
 
-#: src/lang.c:1620
+#: src/lang.c:1669
 msgid "Multipart Subject"
 msgstr "Mitmeosaliste teema"
 
-#: src/lang.c:1621
+#: src/lang.c:1670
 msgid "Percentage Match"
 msgstr "Percentage Match"
 
-#: src/lang.c:1634 src/lang.c:1725 src/lang.c:1824 src/lang.c:1927
+#: src/lang.c:1683 src/lang.c:1774 src/lang.c:1880 src/lang.c:1983
 msgid "No"
 msgstr "Ei"
 
-#: src/lang.c:1635 src/lang.c:1826
+#: src/lang.c:1684 src/lang.c:1882
 msgid "Yes"
 msgstr "Jah"
 
-#: src/lang.c:1636
+#: src/lang.c:1685
 msgid "Hide all"
 msgstr "Peida kÃµik"
 
-#: src/lang.c:1645
+#: src/lang.c:1694
 msgid "Address"
 msgstr "Aadress"
 
-#: src/lang.c:1646
+#: src/lang.c:1695
 msgid "Full Name"
 msgstr "TÃ¤isnimi"
 
-#: src/lang.c:1647
+#: src/lang.c:1696
 msgid "Address and Name"
 msgstr "Aadress ja nimi"
 
-#: src/lang.c:1655
+#: src/lang.c:1704
 msgid "Max"
 msgstr "Maksimum"
 
-#: src/lang.c:1656
+#: src/lang.c:1705
 msgid "Sum"
 msgstr "Summa"
 
-#: src/lang.c:1657
+#: src/lang.c:1706
 msgid "Average"
 msgstr "Keskmine"
 
-#: src/lang.c:1667 src/lang.c:1687
+#: src/lang.c:1716 src/lang.c:1736
 msgid "Black"
 msgstr "Must"
 
-#: src/lang.c:1668 src/lang.c:1688
+#: src/lang.c:1717 src/lang.c:1737
 msgid "Red"
 msgstr "Punane"
 
-#: src/lang.c:1669 src/lang.c:1689
+#: src/lang.c:1718 src/lang.c:1738
 msgid "Green"
 msgstr "Roheline"
 
-#: src/lang.c:1670 src/lang.c:1690
+#: src/lang.c:1719 src/lang.c:1739
 msgid "Brown"
 msgstr "Pruun"
 
-#: src/lang.c:1671 src/lang.c:1691
+#: src/lang.c:1720 src/lang.c:1740
 msgid "Blue"
 msgstr "Sinine"
 
-#: src/lang.c:1672 src/lang.c:1692
+#: src/lang.c:1721 src/lang.c:1741
 msgid "Pink"
 msgstr "Roosa"
 
-#: src/lang.c:1673 src/lang.c:1693
+#: src/lang.c:1722 src/lang.c:1742
 msgid "Cyan"
 msgstr "Lilla"
 
-#: src/lang.c:1674 src/lang.c:1694
+#: src/lang.c:1723 src/lang.c:1743
 msgid "White"
 msgstr "valge"
 
-#: src/lang.c:1675
+#: src/lang.c:1724
 msgid "Gray"
 msgstr "Hall"
 
-#: src/lang.c:1676
+#: src/lang.c:1725
 msgid "Light Red"
 msgstr "Helepunane"
 
-#: src/lang.c:1677
+#: src/lang.c:1726
 msgid "Light Green"
 msgstr "Heleroheline"
 
-#: src/lang.c:1678
+#: src/lang.c:1727
 msgid "Yellow"
 msgstr "Kollane"
 
-#: src/lang.c:1679
+#: src/lang.c:1728
 msgid "Light Blue"
 msgstr "Helesinine"
 
-#: src/lang.c:1680
+#: src/lang.c:1729
 msgid "Light Pink"
 msgstr "Heleroosa"
 
-#: src/lang.c:1681
+#: src/lang.c:1730
 msgid "Light Cyan"
 msgstr "Helelilla"
 
-#: src/lang.c:1682
+#: src/lang.c:1731
 msgid "Light White"
 msgstr "Helevalge"
 
-#: src/lang.c:1703 src/lang.c:1831 src/lang.c:1846
+#: src/lang.c:1752 src/lang.c:1887 src/lang.c:1902
 msgid "Nothing"
 msgstr "Ei kasuta"
 
-#: src/lang.c:1705
+#: src/lang.c:1754
 msgid "Space"
 msgstr "TÃ¼hik"
 
-#: src/lang.c:1713
+#: src/lang.c:1762
 msgid "Normal"
 msgstr "Tavaline"
 
-#: src/lang.c:1714
+#: src/lang.c:1763
 msgid "Best highlighting"
 msgstr "Parim esiletÃµstmine"
 
-#: src/lang.c:1715
+#: src/lang.c:1764
 msgid "Underline"
 msgstr "Allajoonitud"
 
-#: src/lang.c:1716
+#: src/lang.c:1765
 msgid "Reverse video"
 msgstr "PÃ¶Ã¶ratud video"
 
-#: src/lang.c:1717
+#: src/lang.c:1766
 msgid "Blinking"
 msgstr "Plinkiv"
 
-#: src/lang.c:1718
+#: src/lang.c:1767
 msgid "Half bright"
 msgstr "Poolhele"
 
-#: src/lang.c:1719
+#: src/lang.c:1768
 msgid "Bold"
 msgstr "Paks"
 
-#: src/lang.c:1726
+#: src/lang.c:1775
 msgid "Cc"
 msgstr "Cc"
 
-#: src/lang.c:1727
+#: src/lang.c:1776
 msgid "Bcc"
 msgstr "Bcc"
 
-#: src/lang.c:1728
+#: src/lang.c:1777
 msgid "Cc and Bcc"
 msgstr "Cc ja Bcc"
 
-#: src/lang.c:1745 src/lang.c:1758
+#: src/lang.c:1794 src/lang.c:1807
 msgid "none"
 msgstr "pole"
 
-#: src/lang.c:1746
+#: src/lang.c:1795
 msgid "commands"
 msgstr "kÃ¤sud"
 
-#: src/lang.c:1747
+#: src/lang.c:1796
 msgid "select"
 msgstr "valik"
 
-#: src/lang.c:1749
+#: src/lang.c:1798
 msgid "commands & quit"
 msgstr "kÃ¤sud & vÃ¤lju"
 
-#: src/lang.c:1750
+#: src/lang.c:1799
 msgid "commands & select"
 msgstr "kÃ¤sud & valik"
 
-#: src/lang.c:1751
+#: src/lang.c:1800
 msgid "quit & select"
 msgstr "vÃ¤lju & valik"
 
-#: src/lang.c:1752
+#: src/lang.c:1801
 msgid "commands & quit & select"
 msgstr "kÃ¤sud & vÃ¤lju & valik"
 
-#: src/lang.c:1759
+#: src/lang.c:1808
 msgid "PageDown"
 msgstr "PageDown"
 
-#: src/lang.c:1760
+#: src/lang.c:1809
 msgid "PageNextUnread"
 msgstr "PageNextUnread"
 
-#: src/lang.c:1761
+#: src/lang.c:1810
 msgid "PageDown or PageNextUnread"
 msgstr "PageDown vÃµi PageNextUnread"
 
-#: src/lang.c:1767
+#: src/lang.c:1816
 msgid "Subject: (case sensitive)"
 msgstr "Subject: (tÃµstutundlik)"
 
-#: src/lang.c:1768
+#: src/lang.c:1817
 msgid "Subject: (ignore case)"
 msgstr "Subject: (tÃµstutundetu)"
 
-#: src/lang.c:1769
+#: src/lang.c:1818
 msgid "From: (case sensitive)"
 msgstr "From: (tÃµstutundlik)"
 
-#: src/lang.c:1770
+#: src/lang.c:1819
 msgid "From: (ignore case)"
 msgstr "From: (tÃµstutundetu)"
 
-#: src/lang.c:1771
+#: src/lang.c:1820
 msgid "Msg-ID: & full References: line"
 msgstr "Msg-ID: ja tÃ¤ielik References: rida"
 
-#: src/lang.c:1772
+#: src/lang.c:1821
 msgid "Msg-ID: & last References: only"
 msgstr "Message-ID: ja ainult viimane References:"
 
-#: src/lang.c:1773
+#: src/lang.c:1822
 msgid "Message-ID: entry only"
 msgstr "ainult Message-ID: rida"
 
-#: src/lang.c:1774
+#: src/lang.c:1823
 msgid "Lines:"
 msgstr "Ridu:"
 
-#: src/lang.c:1780
+#: src/lang.c:1829
 msgid "Don't trim article body"
 msgstr "Ã„ra lÃ¼henda artikli keha"
 
-#: src/lang.c:1781
+#: src/lang.c:1830
 msgid "Skip leading blank lines"
 msgstr "JÃ¤ta alguses tÃ¼hjad read alles"
 
-#: src/lang.c:1782
+#: src/lang.c:1831
 msgid "Skip trailing blank lines"
 msgstr "JÃ¤ta lÃµpus tÃ¼hjad read alles"
 
-#: src/lang.c:1783
+#: src/lang.c:1832
 msgid "Skip leading and trailing blank l."
 msgstr "JÃ¤ta alguses ja lÃµpus tÃ¼hjad read alles"
 
-#: src/lang.c:1784
+#: src/lang.c:1833
 msgid "Compact multiple between text"
 msgstr "Tihenda tekstiblokid"
 
-#: src/lang.c:1785
+#: src/lang.c:1834
 msgid "Compact multiple and skip leading"
 msgstr "Tihenda, jÃ¤ta alguses read alles"
 
-#: src/lang.c:1786
+#: src/lang.c:1835
 msgid "Compact multiple and skip trailing"
 msgstr "Tihenda, jÃ¤ta lÃµpus read alles"
 
-#: src/lang.c:1787
+#: src/lang.c:1836
 msgid "Compact mltpl., skip lead. & trai."
 msgstr "Tihenda, jÃ¤ta alguse ja lÃµpu read alles"
 
-#: src/lang.c:1793
+#: src/lang.c:1842
 msgid "Don't show help or mail sign"
 msgstr "Ã„ra nÃ¤ita abiinfo/kirja mÃ¤rki"
 
-#: src/lang.c:1794
+#: src/lang.c:1843
 msgid "Show only help sign"
 msgstr "NÃ¤ita ainult abiinfo mÃ¤rki"
 
-#: src/lang.c:1795
+#: src/lang.c:1844
 msgid "Show only mail sign if new mail"
 msgstr "NÃ¤ita e-maili mÃ¤rki ainult uue maili korral"
 
-#: src/lang.c:1796
+#: src/lang.c:1845
 msgid "Show mail if new mail else help s."
 msgstr "Kui on uus mail, nÃ¤ita maili mÃ¤rki, muidu abiinfo"
 
-#: src/lang.c:1825
+#: src/lang.c:1881
 msgid "Shell archive"
 msgstr "Shelli arhiiv"
 
-#: src/lang.c:1832
+#: src/lang.c:1888
 msgid "Subject: (descending)"
 msgstr "Subject: (kahanevalt)"
 
-#: src/lang.c:1833
+#: src/lang.c:1889
 msgid "Subject: (ascending)"
 msgstr "Subject: (kasvavalt)"
 
-#: src/lang.c:1834
+#: src/lang.c:1890
 msgid "From: (descending)"
 msgstr "From: (kahanevalt)"
 
-#: src/lang.c:1835
+#: src/lang.c:1891
 msgid "From: (ascending)"
 msgstr "From: (kasvavalt)"
 
-#: src/lang.c:1836
+#: src/lang.c:1892
 msgid "Date: (descending)"
 msgstr "Date: (kahanevalt)"
 
-#: src/lang.c:1837
+#: src/lang.c:1893
 msgid "Date: (ascending)"
 msgstr "Date: (kasvavalt)"
 
-#: src/lang.c:1838 src/lang.c:1847
+#: src/lang.c:1894 src/lang.c:1903
 msgid "Score (descending)"
 msgstr "Kaal (kahanevalt)"
 
-#: src/lang.c:1839 src/lang.c:1848
+#: src/lang.c:1895 src/lang.c:1904
 msgid "Score (ascending)"
 msgstr "Kaal (kasvavalt)"
 
-#: src/lang.c:1840
+#: src/lang.c:1896
 msgid "Lines: (descending)"
 msgstr "Lines: (kahanevalt)"
 
-#: src/lang.c:1841
+#: src/lang.c:1897
 msgid "Lines: (ascending)"
 msgstr "Lines: (kasvavalt)"
 
-#: src/lang.c:1849
+#: src/lang.c:1905
 msgid "Last posting date (descending)"
 msgstr "Viimane postitamise kuupÃ¤ev (kahanevalt)"
 
-#: src/lang.c:1850
+#: src/lang.c:1906
 msgid "Last posting date (ascending)"
 msgstr "Viimane postitamise kuupÃ¤ev (kasvavalt)"
 
-#: src/lang.c:1856
+#: src/lang.c:1912
 msgid "Quick-sort"
 msgstr "Quick-sort"
 
-#: src/lang.c:1857
+#: src/lang.c:1913
 msgid "Heap-sort"
 msgstr "Heap-sort"
 
-#: src/lang.c:1864
+#: src/lang.c:1920
 msgid "Always Keep"
 msgstr "Hoia alati"
 
-#: src/lang.c:1865
+#: src/lang.c:1921
 msgid "Always Remove"
 msgstr "Eemalda alati"
 
-#: src/lang.c:1866
+#: src/lang.c:1922
 msgid "Mark with D on selection screen"
 msgstr "MÃ¤rgi valikuekraanil tÃ¤hega D"
 
-#: src/lang.c:1872
+#: src/lang.c:1928
 msgid "Kill only unread arts"
 msgstr "Surma ainult lugemata artiklid"
 
-#: src/lang.c:1873
+#: src/lang.c:1929
 msgid "Kill all arts & show with K"
 msgstr "Surma kÃµik artiklid & nÃ¤ita K tÃ¤hega"
 
 #. TODO: s/K/art_marked_killed/
-#: src/lang.c:1874
+#: src/lang.c:1930
 msgid "Kill all arts and never show"
 msgstr "Surma kÃµik artiklid ja Ã¤ra nÃ¤ita"
 
-#: src/lang.c:1880
+#: src/lang.c:1936
 msgid "Nothing special"
 msgstr "Ei midagi erilist"
 
-#: src/lang.c:1881
+#: src/lang.c:1937
 msgid "Compress quotes"
 msgstr "Tihenda tsitaadid"
 
-#: src/lang.c:1882
+#: src/lang.c:1938
 msgid "Quote signatures"
 msgstr "Tsiteeri allkirju"
 
-#: src/lang.c:1883
+#: src/lang.c:1939
 msgid "Compress quotes, quote sigs"
 msgstr "Tihenda tsitaadid, tsiteeri allkirju"
 
-#: src/lang.c:1884
+#: src/lang.c:1940
 msgid "Quote empty lines"
 msgstr "Tsiteeri tÃ¼hje ridu"
 
-#: src/lang.c:1885
+#: src/lang.c:1941
 msgid "Compress quotes, quote empty lines"
 msgstr "Tihenda tsitaadid, tsiteeri tÃ¼hje ridu"
 
-#: src/lang.c:1886
+#: src/lang.c:1942
 msgid "Quote sigs & empty lines"
 msgstr "Tsiteeri allkirju ja tÃ¼hje ridu"
 
-#: src/lang.c:1887
+#: src/lang.c:1943
 msgid "Comp. q., quote sigs & empty lines"
 msgstr "Tihenda tsitaate, tsiteeri allkirju ja tÃ¼hje ridu"
 
-#: src/lang.c:1928
+#: src/lang.c:1984
 msgid "With headers"
 msgstr "PÃ¤istega"
 
-#: src/lang.c:1929
+#: src/lang.c:1985
 msgid "Without headers"
 msgstr "PÃ¤isteta"
 
-#: src/lang.c:1936
+#: src/lang.c:1992
 msgid "NFKC"
 msgstr "NFKC"
 
-#: src/lang.c:1938
+#: src/lang.c:1994
 msgid "NFKD"
 msgstr "NFKD"
 
-#: src/lang.c:1939
+#: src/lang.c:1995
 msgid "NFC"
 msgstr "NFC"
 
-#: src/lang.c:1940
+#: src/lang.c:1996
 msgid "NFD"
 msgstr "NFD"
 
-#: src/lang.c:1942
+#: src/lang.c:1998
 msgid "NFKC case fold"
 msgstr "NFKC kollaps"
 
-#: src/lang.c:1951
+#: src/lang.c:2007
 msgid "Display Options"
 msgstr "Ekraani seaded"
 
-#: src/lang.c:1958
+#: src/lang.c:2014
 msgid "Color Options"
 msgstr "VÃ¤rvide seaded"
 
-#: src/lang.c:1964
+#: src/lang.c:2020
 msgid "Highlight Options"
 msgstr "MÃ¤rkimise seaded"
 
-#: src/lang.c:1971
+#: src/lang.c:2027
 msgid "Article-Limiting Options"
 msgstr "Artikli piirangute seaded"
 
-#: src/lang.c:1977
+#: src/lang.c:2033
 msgid "Posting/Mailing Options"
 msgstr "Postitamise/saatmise seaded"
 
-#: src/lang.c:1983
+#: src/lang.c:2039
 msgid "Saving/Printing Options"
 msgstr "Salvestamise/trÃ¼kkimise seaded"
 
-#: src/lang.c:1989
+#: src/lang.c:2045
 msgid "Expert Options"
 msgstr "Ekspertseaded"
 
-#: src/lang.c:1995
+#: src/lang.c:2051
 msgid "Filtering Options"
 msgstr "Filtreerimise seaded"
 
-#: src/lang.c:2000 src/lang.c:2031 src/lang.c:2037 src/lang.c:2064
-#: src/lang.c:2116 src/lang.c:2122 src/lang.c:2132 src/lang.c:2143
-#: src/lang.c:2161 src/lang.c:2172 src/lang.c:2241 src/lang.c:2456
-#: src/lang.c:2462 src/lang.c:2468 src/lang.c:2483 src/lang.c:2495
-#: src/lang.c:2502 src/lang.c:2556 src/lang.c:2565 src/lang.c:2571
-#: src/lang.c:2578 src/lang.c:2585 src/lang.c:2592 src/lang.c:2599
-#: src/lang.c:2606 src/lang.c:2613 src/lang.c:2620 src/lang.c:2627
+#: src/lang.c:2056 src/lang.c:2087 src/lang.c:2093 src/lang.c:2120
+#: src/lang.c:2172 src/lang.c:2178 src/lang.c:2188 src/lang.c:2199
+#: src/lang.c:2217 src/lang.c:2228 src/lang.c:2297 src/lang.c:2512
+#: src/lang.c:2518 src/lang.c:2524 src/lang.c:2539 src/lang.c:2551
+#: src/lang.c:2558 src/lang.c:2612 src/lang.c:2621 src/lang.c:2627
 #: src/lang.c:2634 src/lang.c:2641 src/lang.c:2648 src/lang.c:2655
 #: src/lang.c:2662 src/lang.c:2669 src/lang.c:2676 src/lang.c:2683
 #: src/lang.c:2690 src/lang.c:2697 src/lang.c:2704 src/lang.c:2711
 #: src/lang.c:2718 src/lang.c:2725 src/lang.c:2732 src/lang.c:2739
-#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2761 src/lang.c:2777
-#: src/lang.c:2784 src/lang.c:2791 src/lang.c:2798 src/lang.c:2804
-#: src/lang.c:2810 src/lang.c:2827 src/lang.c:2839 src/lang.c:2874
-#: src/lang.c:2927 src/lang.c:2941 src/lang.c:2947 src/lang.c:2972
-#: src/lang.c:2990 src/lang.c:3007 src/lang.c:3019 src/lang.c:3052
-#: src/lang.c:3081 src/lang.c:3101 src/lang.c:3129 src/lang.c:3139
-#: src/lang.c:3146 src/lang.c:3172 src/lang.c:3196 src/lang.c:3343
-#: src/lang.c:3358 src/lang.c:3366 src/lang.c:3380 src/lang.c:3386
-#: src/lang.c:3424
+#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2760 src/lang.c:2767
+#: src/lang.c:2774 src/lang.c:2781 src/lang.c:2788 src/lang.c:2795
+#: src/lang.c:2802 src/lang.c:2809 src/lang.c:2817 src/lang.c:2833
+#: src/lang.c:2840 src/lang.c:2847 src/lang.c:2854 src/lang.c:2860
+#: src/lang.c:2866 src/lang.c:2889 src/lang.c:2901 src/lang.c:2936
+#: src/lang.c:2989 src/lang.c:3003 src/lang.c:3009 src/lang.c:3034
+#: src/lang.c:3052 src/lang.c:3069 src/lang.c:3081 src/lang.c:3114
+#: src/lang.c:3143 src/lang.c:3163 src/lang.c:3190 src/lang.c:3200
+#: src/lang.c:3207 src/lang.c:3233 src/lang.c:3257 src/lang.c:3412
+#: src/lang.c:3427 src/lang.c:3435 src/lang.c:3449 src/lang.c:3455
+#: src/lang.c:3493
 msgid "<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr "<TÃœHIK> lÃ¼litab, <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:2001
+#: src/lang.c:2057
 msgid "Show mini menu & posting etiquette"
 msgstr "NÃ¤ita minimenÃ¼Ã¼d & post. etiketti"
 
-#: src/lang.c:2002
+#: src/lang.c:2058
 msgid ""
 "# If ON show a mini menu of useful commands at each level\n"
 "# and posting etiquette after composing an article\n"
@@ -6099,15 +6230,15 @@ msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, nÃ¤ita enimkasutatavate kÃ¤skude minimenÃ¼Ã¼d\n"
 "# ja peale artikli kirjutamist postitamise etiketti.\n"
 
-#: src/lang.c:2007
+#: src/lang.c:2063
 msgid "Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 msgstr "NÃ¤ita gruppide lÃ¼hikirjeldusi. <TÃœHIK> lÃ¼litab ja <CR> seab."
 
-#: src/lang.c:2008
+#: src/lang.c:2064
 msgid "Show description of each newsgroup"
 msgstr "NÃ¤ita iga grupi lÃ¼hikirjeldust"
 
-#: src/lang.c:2009
+#: src/lang.c:2065
 msgid ""
 "# If ON show group description text after newsgroup name at\n"
 "# group selection level\n"
@@ -6115,18 +6246,18 @@ msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, nÃ¤ita gruppide tasemel iga grupi nime\n"
 "# jÃ¤rel grupi lÃ¼hikirjeldust\n"
 
-#: src/lang.c:2014
+#: src/lang.c:2070
 msgid ""
 "Show From (author) fields in group & thread level. <SPACE> toggles & <CR> "
 "sets."
 msgstr ""
 "NÃ¤ita grupi ja teema menÃ¼Ã¼s From (autor) vÃ¤lju. <TÃœHIK> lÃ¼litab ja <CR> seab."
 
-#: src/lang.c:2015
+#: src/lang.c:2071
 msgid "In group and thread level, show author by"
 msgstr "NÃ¤ita grupi ja teema menÃ¼Ã¼s autorit"
 
-#: src/lang.c:2016
+#: src/lang.c:2072
 msgid ""
 "# Part of From field to display in group and thread level\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6142,33 +6273,33 @@ msgstr ""
 "# * 2 = tÃ¤isnimi\n"
 "#   3 = mÃµlemad\n"
 
-#: src/lang.c:2025
+#: src/lang.c:2081
 msgid "Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 msgstr "MÃ¤rgi valik -> vÃµi heleda ribaga. <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:2026
+#: src/lang.c:2082
 msgid "Draw -> instead of highlighted bar"
 msgstr "Joonista -> heleda riba asemel"
 
-#: src/lang.c:2027
+#: src/lang.c:2083
 msgid "# If ON use -> otherwise highlighted bar for selection\n"
 msgstr "# Kui vÃ¤Ã¤rtus on on, kasuta valiku mÃ¤rkimiseks ->, muidu riba\n"
 
-#: src/lang.c:2032
+#: src/lang.c:2088
 msgid "Use inverse video for page headers"
 msgstr "Kasuta pÃ¤istel pÃ¶Ã¶ratud videot"
 
-#: src/lang.c:2033
+#: src/lang.c:2089
 msgid "# If ON use inverse video for page headers at different levels\n"
 msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, kasuta erinevatel tasemetel pÃ¤iste nÃ¤itamisel\n"
 "# pÃ¶Ã¶ratud videot\n"
 
-#: src/lang.c:2038
+#: src/lang.c:2094
 msgid "Thread articles by"
 msgstr "Artiklite teemadesse jagamine"
 
-#: src/lang.c:2039
+#: src/lang.c:2095
 msgid ""
 "# Thread articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6188,15 +6319,15 @@ msgstr ""
 "#   4 = Mitmeosaline teema\n"
 "#   5 = Protsentuaalne sobivus\n"
 
-#: src/lang.c:2050
+#: src/lang.c:2106
 msgid "Enter percentage match required to thread together. <CR> sets."
 msgstr "Sisestage teema loomiseks vajalik protsentuaalne sobivus. <CR> seab."
 
-#: src/lang.c:2051
+#: src/lang.c:2107
 msgid "Thread percentage match"
 msgstr "Teema protsentuaalne sobivus"
 
-#: src/lang.c:2053
+#: src/lang.c:2109
 #, no-c-format
 msgid ""
 "# Thread percentage match...\n"
@@ -6217,11 +6348,11 @@ msgstr ""
 "# teemasse seotaks. NÃ¤iteks 'happy' ja 'harpy' sobiksid, aga 'harpie',\n"
 "# 'happie' ja 'harppy' samasse teemasse 'happy'-ga ei lÃ¤heks\n"
 
-#: src/lang.c:2065
+#: src/lang.c:2121
 msgid "Score of a thread"
 msgstr "Teema kaal"
 
-#: src/lang.c:2066
+#: src/lang.c:2122
 msgid ""
 "# Thread score\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6235,18 +6366,18 @@ msgstr ""
 "#   1 = summa\n"
 "#   2 = keskmine\n"
 
-#: src/lang.c:2074
+#: src/lang.c:2130
 msgid ""
 "Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 "JÃ¤rjesta artiklid Subject, From, Date, kaalu jÃ¤rgi. <TÃœHIK> lÃ¼litab, <CR> "
 "seab."
 
-#: src/lang.c:2075
+#: src/lang.c:2131
 msgid "Sort articles by"
 msgstr "Artiklite jÃ¤rjestus"
 
-#: src/lang.c:2076
+#: src/lang.c:2132
 msgid ""
 "# Sort articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6276,16 +6407,16 @@ msgstr ""
 "#   9 = Ridu kahanev\n"
 "#  10 = Ridu kasvav\n"
 
-#: src/lang.c:2092
+#: src/lang.c:2148
 msgid "Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 "JÃ¤rjesta teemad mitte millegi vÃµi kaalu jÃ¤rgi. <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:2093
+#: src/lang.c:2149
 msgid "Sort threads by"
 msgstr "Teemade jÃ¤rjestus"
 
-#: src/lang.c:2094
+#: src/lang.c:2150
 msgid ""
 "# Sort thread by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6303,49 +6434,49 @@ msgstr ""
 "#   3 = Viimane postitamise kuupÃ¤ev kahanevalt\n"
 "#   4 = Viimane postitamise kuupÃ¤ev kasvavalt\n"
 
-#: src/lang.c:2104
+#: src/lang.c:2160
 msgid ""
 "Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Vii kursor grupis esimesele/viimasele lugemata artiklile. <TÃœHIK> lÃ¼litab, "
 "<CR> seab."
 
-#: src/lang.c:2105
+#: src/lang.c:2161
 msgid "Go to first unread article in group"
 msgstr "Mine grupis esimesele lugemata artiklile"
 
-#: src/lang.c:2106
+#: src/lang.c:2162
 msgid "# If ON put cursor at first unread art in group otherwise last art\n"
 msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, vii kursor grupi esimesele lugemata artiklile,\n"
 "# muidu viimasele\n"
 
-#: src/lang.c:2110
+#: src/lang.c:2166
 msgid "Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 msgstr "NÃ¤ita kÃµiki vÃµi ainult lugemata artikleid. <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:2111
+#: src/lang.c:2167
 msgid "Show only unread articles"
 msgstr "NÃ¤ita ainult lugemata artikleid"
 
-#: src/lang.c:2112
+#: src/lang.c:2168
 msgid "# If ON show only new/unread articles otherwise show all.\n"
 msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, nÃ¤ita ainult lugemata artikleid, muidu nÃ¤ita kÃµiki.\n"
 
-#: src/lang.c:2117
+#: src/lang.c:2173
 msgid "Show only groups with unread arts"
 msgstr "Ainult lugemata artiklitega grupid"
 
-#: src/lang.c:2118
+#: src/lang.c:2174
 msgid "# If ON show only subscribed to groups that contain unread articles.\n"
 msgstr "# NÃ¤ita ainult neid tellitud gruppe, kus on lugemata artikleid.\n"
 
-#: src/lang.c:2123
+#: src/lang.c:2179
 msgid "Filter which articles"
 msgstr "Filtreeri artikleid"
 
-#: src/lang.c:2124
+#: src/lang.c:2180
 msgid ""
 "# Filter which articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6359,11 +6490,11 @@ msgstr ""
 "#   1 = Surma kÃµik artiklid ja nÃ¤ita teemades mÃ¤rgiga K\n"
 "#   2 = Surma kÃµik artiklid ja Ã¤ra nÃ¤ita neid\n"
 
-#: src/lang.c:2133
+#: src/lang.c:2189
 msgid "Go to the next unread article with"
 msgstr "Liigu jÃ¤rgmise lugemata artiklile klahviga"
 
-#: src/lang.c:2134
+#: src/lang.c:2190
 msgid ""
 "# Go to the unread article with following key(s)\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6379,11 +6510,11 @@ msgstr ""
 "# * 2 = TAB\n"
 "#   3 = LK alla vÃµi TAB\n"
 
-#: src/lang.c:2144
+#: src/lang.c:2200
 msgid "How to treat blank lines"
 msgstr "Kuidas kÃ¤sitleda tÃ¼hje ridasid"
 
-#: src/lang.c:2145
+#: src/lang.c:2201
 msgid ""
 "# Trim the article body, remove unnecessary blank lines.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6410,11 +6541,11 @@ msgstr ""
 "#   6 = Tihenda read tekstiblokkide vahel ja eemalda lÃµpust\n"
 "#   7 = Tihenda read tekstiblokkide vahel ja eemalda algusest ja lÃµpust\n"
 
-#: src/lang.c:2162
+#: src/lang.c:2218
 msgid "Show help/mail sign in level titles"
 msgstr "NÃ¤ita abi/maili mÃ¤rki taseme pealkirjades"
 
-#: src/lang.c:2163
+#: src/lang.c:2219
 msgid ""
 "# Show help sign, new mail sign, both or nothing in level titles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6431,28 +6562,28 @@ msgstr ""
 "#   2 = NÃ¤ita maili mÃ¤rki ainult kui on uus mail\n"
 "# * 3 = Kui on uus mail, nÃ¤ita maili mÃ¤rki, muidu abi mÃ¤rki\n"
 
-#: src/lang.c:2173
+#: src/lang.c:2229
 msgid "List thread using right arrow key"
 msgstr "Nool paremale nÃ¤itab teema loendit"
 
-#: src/lang.c:2174
+#: src/lang.c:2230
 msgid ""
 "# If ON automatically list thread when entering it using right arrow key.\n"
 msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, nÃ¤ita nool paremale klahvi vajutamisel teema "
 "artikleid.\n"
 
-#: src/lang.c:2178
+#: src/lang.c:2234
 msgid "Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Sisestage sÃ¼mbol kustutatud artiklite mÃ¤rkimiseks. <CR> seab, <ESC> "
 "katkestab."
 
-#: src/lang.c:2179
+#: src/lang.c:2235
 msgid "Character to show deleted articles"
 msgstr "Kustutatud artiklite marker"
 
-#: src/lang.c:2180
+#: src/lang.c:2236
 msgid ""
 "# Character used to show that an art was deleted (default 'D')\n"
 "# _ is turned into ' '\n"
@@ -6460,18 +6591,18 @@ msgstr ""
 "# SÃ¼mbol, mis tÃ¤histab kustutatud artiklit (vaikimisi 'D')\n"
 "# _ asendatakse tÃ¼hikuga ' '\n"
 
-#: src/lang.c:2185
+#: src/lang.c:2241
 msgid ""
 "Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 msgstr ""
 "Sisestage sÃ¼mbol, mis mÃ¤rgib vahemikku kuuluvaid artikleid. <CR> seab, <ESC> "
 "katkestab."
 
-#: src/lang.c:2186
+#: src/lang.c:2242
 msgid "Character to show inrange articles"
 msgstr "Artiklite vahemiku marker"
 
-#: src/lang.c:2187
+#: src/lang.c:2243
 msgid ""
 "# Character used to show that an art is in a range (default '#')\n"
 "# _ is turned into ' '\n"
@@ -6479,17 +6610,17 @@ msgstr ""
 "# SÃ¼mbol, mis mÃ¤rgib vahemikku kuuluvaid artikleid (vaikimisi '#')\n"
 "# _ asendatakse tÃ¼hikuga ' '\n"
 
-#: src/lang.c:2192
+#: src/lang.c:2248
 msgid ""
 "Enter character to indicate that article will return. <CR> sets, <ESC> "
 "cancels."
 msgstr "Sisestage tagasituleva artikli marker. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:2193
+#: src/lang.c:2249
 msgid "Character to show returning arts"
 msgstr "Tagasi tulnud artiklite marker"
 
-#: src/lang.c:2194
+#: src/lang.c:2250
 msgid ""
 "# Character used to show that an art will return (default '-')\n"
 "# _ is turned into ' '\n"
@@ -6497,16 +6628,16 @@ msgstr ""
 "# SÃ¼mbol, mis nÃ¤itab, et artikkel tuleb tagasi (vaikimisi '-')\n"
 "# _ asendatakse tÃ¼hikuga ' '\n"
 
-#: src/lang.c:2199
+#: src/lang.c:2255
 msgid ""
 "Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 msgstr "Sisestage valitud artikleid mÃ¤rkiv sÃ¼mbol. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:2200
+#: src/lang.c:2256
 msgid "Character to show selected articles"
 msgstr "Valitud artiklite marker"
 
-#: src/lang.c:2201
+#: src/lang.c:2257
 msgid ""
 "# Character used to show that an art was auto-selected (default '*')\n"
 "# _ is turned into ' '\n"
@@ -6514,16 +6645,16 @@ msgstr ""
 "# SÃ¼mbol, mis nÃ¤itab, et artikkel on automaatselt valitud (vaikimisi '*')\n"
 "# _ asendatakse tÃ¼hikuga ' '\n"
 
-#: src/lang.c:2206
+#: src/lang.c:2262
 msgid "Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Sisestage vÃ¤rskeid artikleid mÃ¤rkiv sÃ¼mbol. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:2207
+#: src/lang.c:2263
 msgid "Character to show recent articles"
 msgstr "VÃ¤rskete artiklite marker"
 
-#: src/lang.c:2208
+#: src/lang.c:2264
 msgid ""
 "# Character used to show that an art is recent (default 'o')\n"
 "# _ is turned into ' '\n"
@@ -6531,16 +6662,16 @@ msgstr ""
 "# SÃ¼mbol, mis nÃ¤itab, et artikkel on vÃ¤rske (vaikimisi 'o')\n"
 "# _ asendatakse tÃ¼hikuga ' '\n"
 
-#: src/lang.c:2213
+#: src/lang.c:2269
 msgid "Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Sisestage lugemata artikleid mÃ¤rkiv sÃ¼mbol. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:2214
+#: src/lang.c:2270
 msgid "Character to show unread articles"
 msgstr "Lugemata artiklite marker"
 
-#: src/lang.c:2215
+#: src/lang.c:2271
 msgid ""
 "# Character used to show that an art is unread (default '+')\n"
 "# _ is turned into ' '\n"
@@ -6548,15 +6679,15 @@ msgstr ""
 "# SÃ¼mbol, mis nÃ¤itab, et artikkel on lugemata (vaikimisi '+')\n"
 "# _ asendatakse tÃ¼hikuga ' '\n"
 
-#: src/lang.c:2220
+#: src/lang.c:2276
 msgid "Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 msgstr "Sisestage loetud artikleid mÃ¤rkiv sÃ¼mbol. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:2221
+#: src/lang.c:2277
 msgid "Character to show read articles"
 msgstr "Loetud artiklite marker"
 
-#: src/lang.c:2222
+#: src/lang.c:2278
 msgid ""
 "# Character used to show that an art was read (default ' ')\n"
 "# _ is turned into ' '\n"
@@ -6564,16 +6695,16 @@ msgstr ""
 "# SÃ¼mbol, mis nÃ¤itab, et artikkel on loetud (vaikimisi ' ')\n"
 "# _ asendatakse tÃ¼hikuga ' '\n"
 
-#: src/lang.c:2227
+#: src/lang.c:2283
 msgid "Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Sisestage surmatud artikleid mÃ¤rkiv sÃ¼mbol. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:2228
+#: src/lang.c:2284
 msgid "Character to show killed articles"
 msgstr "Surmatud artiklite marker"
 
-#: src/lang.c:2229
+#: src/lang.c:2285
 msgid ""
 "# Character used to show that an art was killed (default 'K')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
@@ -6581,16 +6712,16 @@ msgstr ""
 "# SÃ¼mbol, mis nÃ¤itab, et artikkel on surmatud (vaikimisi 'K')\n"
 "# _ asendatakse tÃ¼hikuga ' '\n"
 
-#: src/lang.c:2234
+#: src/lang.c:2290
 msgid ""
 "Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 msgstr "Sisestage valitud artikleid mÃ¤rkiv sÃ¼mbol. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:2235
+#: src/lang.c:2291
 msgid "Character to show readselected arts"
 msgstr "Lugemiseks valitud artiklite marker"
 
-#: src/lang.c:2236
+#: src/lang.c:2292
 msgid ""
 "# Character used to show that an art was selected before read (default ':')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
@@ -6598,11 +6729,11 @@ msgstr ""
 "# SÃ¼mbol, mis nÃ¤itab, et artikkel on enne lugemist valitud (vaikimisi ':')\n"
 "# Surmamise tase peab samuti olema mÃ¤Ã¤ratud, _ asendatakse tÃ¼hikuga ' '\n"
 
-#: src/lang.c:2242
+#: src/lang.c:2298
 msgid "Abbreviate long newsgroup names"
 msgstr "LÃ¼henda gruppide pikad nimed"
 
-#: src/lang.c:2243
+#: src/lang.c:2299
 msgid ""
 "# If ON abbreviate (if necessary) long newsgroup names at group selection\n"
 "# level and article level like this:\n"
@@ -6612,7 +6743,7 @@ msgstr ""
 "# jÃ¤rgnevalt:\n"
 "#   news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n"
 
-#: src/lang.c:2249
+#: src/lang.c:2305
 msgid ""
 "0 = full page scrolling, -1 = show previous last line as first on next page, "
 "-2 = half page"
@@ -6620,11 +6751,11 @@ msgstr ""
 "0 = kerida kogu leht, -1 = nÃ¤ita eelmist rida jÃ¤rgmise lehe esimese reana, "
 "-2 = pool lehte"
 
-#: src/lang.c:2250
+#: src/lang.c:2306
 msgid "Number of lines to scroll in pager"
 msgstr "Lehitsejas keritavate ridade arv"
 
-#: src/lang.c:2251
+#: src/lang.c:2307
 msgid ""
 "# Number of lines that cursor-up/down will scroll in article pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6642,56 +6773,56 @@ msgstr ""
 "# * 1 = rida haaval\n"
 "#   2 vÃµi suurem = keri 2 vÃµi enama rea haaval (ainult lehitsejas)\n"
 
-#: src/lang.c:2261
+#: src/lang.c:2317
 msgid "Display signatures. <SPACE> toggles & <CR> sets."
 msgstr "NÃ¤ita signatuure, <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:2262
+#: src/lang.c:2318
 msgid "Display signatures"
 msgstr "NÃ¤ita signatuure"
 
-#: src/lang.c:2263
+#: src/lang.c:2319
 msgid "# If OFF don't show signatures when displaying articles\n"
 msgstr "# Kui vÃ¤Ã¤rtus on OFF, ei nÃ¤ita koos artiklitega signatuure\n"
 
-#: src/lang.c:2267
+#: src/lang.c:2323
 #, fuzzy
 msgid "Display article score. <SPACE> toggles & <CR> sets."
 msgstr "NÃ¤ita signatuure, <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:2268
+#: src/lang.c:2324
 #, fuzzy
-msgid "Display article score"
+msgid "Display article score in pager"
 msgstr "nÃ¤ita jÃ¤rgmist artiklit"
 
-#: src/lang.c:2269
+#: src/lang.c:2325
 #, fuzzy
 msgid "# If ON show article score when displaying articles\n"
 msgstr "# Kui vÃ¤Ã¤rtus on OFF, ei nÃ¤ita koos artiklitega signatuure\n"
 
-#: src/lang.c:2274
+#: src/lang.c:2330
 msgid "Remove soft hyphens. <SPACE> toggles & <CR> sets."
 msgstr "Eemalda pehmed sidekriipsud, <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:2275
+#: src/lang.c:2331
 msgid "Remove soft hyphens"
 msgstr "Eemalda pehmed sidekriipsud"
 
-#: src/lang.c:2276
+#: src/lang.c:2332
 msgid "# If ON remove soft hyphens when displaying articles\n"
 msgstr "# Kui vÃ¤Ã¤rtus on ON, eemalda artikli nÃ¤itamisel pehmed sidekriipsud\n"
 
-#: src/lang.c:2281
+#: src/lang.c:2337
 msgid ""
 "Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 msgstr ""
 "NÃ¤ita uuenkodeeritud andmeid mÃ¤rgitud lisadena. <TÃœHIK> lÃ¼litab ja <CR> seab."
 
-#: src/lang.c:2282
+#: src/lang.c:2338
 msgid "Display uue data as an attachment"
 msgstr "NÃ¤ita uuenk. andmeid lisadena"
 
-#: src/lang.c:2283
+#: src/lang.c:2339
 msgid ""
 "# Handling of uuencoded data in the pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6711,18 +6842,18 @@ msgstr ""
 "#       mÃ¤rgituna.\n"
 
 #
-#: src/lang.c:2293
+#: src/lang.c:2349
 msgid ""
 "Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Dekodeeri saksa TeX esituses tÃ¤hed ISO koodideks. <TÃœHIK> lÃ¼litab, <CR> seab."
 
 #
-#: src/lang.c:2294
+#: src/lang.c:2350
 msgid "Display \"a as Umlaut-a"
 msgstr "NÃ¤ita \"a kui Umlaut-a"
 
-#: src/lang.c:2295
+#: src/lang.c:2351
 msgid ""
 "# If ON decode German style TeX umlaut codes to ISO and\n"
 "# show \"a as Umlaut-a, etc.\n"
@@ -6730,15 +6861,15 @@ msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, teisenda saksa TeX esituses tÃ¤hed ISO\n"
 "# koodideks ja nÃ¤ita \"a nagu Umlaut-a, jne.\n"
 
-#: src/lang.c:2300 src/lang.c:2310
+#: src/lang.c:2356 src/lang.c:2366
 msgid "Space separated list of header fields"
 msgstr "TÃ¼hikuga eraldatud pÃ¤ised"
 
-#: src/lang.c:2301
+#: src/lang.c:2357
 msgid "Display these header fields (or *)"
 msgstr "NÃ¤ita neid pÃ¤iseid (vÃµi *)"
 
-#: src/lang.c:2302
+#: src/lang.c:2358
 msgid ""
 "# Which news headers you wish to see. If you want to see _all_ the headers,\n"
 "# place an '*' as this value. This is the only way a wildcard can be used.\n"
@@ -6755,11 +6886,11 @@ msgstr ""
 "tÃ¼hikut.\n"
 "# Kui te vÃ¤Ã¤rtust ei mÃ¤Ã¤ra, lÃ¼litatakse see omadus vÃ¤lja.\n"
 
-#: src/lang.c:2311
+#: src/lang.c:2367
 msgid "Do not display these header fields"
 msgstr "Ã„ra nÃ¤ita neid pÃ¤iseridu"
 
-#: src/lang.c:2312
+#: src/lang.c:2368
 msgid ""
 "# Same as 'news_headers_to_display' except it denotes the opposite.\n"
 "# An example of using both options might be if you thought X- headers were\n"
@@ -6779,43 +6910,43 @@ msgstr ""
 "#\n"
 "# Kui te vÃ¤Ã¤rtust ei mÃ¤Ã¤ra, lÃ¼litatakse see omadus vÃ¤lja.\n"
 
-#: src/lang.c:2322
+#: src/lang.c:2378
 msgid ""
 "Do you want to enable automatic handling of multipart/alternative articles?"
 msgstr ""
 "Kas te soovite multipart/alternative artiklite automaatset kÃ¤sitlemist?"
 
-#: src/lang.c:2323
+#: src/lang.c:2379
 msgid "Skip multipart/alternative parts"
 msgstr "JÃ¤ta multipart/alternative osad"
 
-#: src/lang.c:2324
+#: src/lang.c:2380
 msgid "# If ON strip multipart/alternative messages automatically\n"
 msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, loobu automaatselt multipart/alternative teadete "
 "lisadest\n"
 
-#: src/lang.c:2328
+#: src/lang.c:2384
 msgid "Enable detection of verbatim blocks? <SPACE> toggles & <CR> sets."
 msgstr "Luba identsete blokkide tuvastamine? <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:2329
+#: src/lang.c:2385
 msgid "Detection of verbatim blocks"
 msgstr "Identsete blokkide tuvastamine"
 
-#: src/lang.c:2330
+#: src/lang.c:2386
 msgid "# If ON detect verbatim blocks in articles\n"
 msgstr "# Kui vÃ¤Ã¤rtus on ON, tuvasta artiklis identsed blokid\n"
 
-#: src/lang.c:2335
+#: src/lang.c:2391
 msgid "A regex used to decide which lines to show in col_quote."
 msgstr "Regulaaravaldis otsustamaks, milliseid ridu tsitaatides nÃ¤idata."
 
-#: src/lang.c:2336
+#: src/lang.c:2392
 msgid "Regex used to show quoted lines"
 msgstr "Tsiteeritud ridade nÃ¤itamise regex"
 
-#: src/lang.c:2337
+#: src/lang.c:2393
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
@@ -6825,15 +6956,15 @@ msgstr ""
 "# milliseid read on tsiteeritud. Tsiteeritud ridu nÃ¤idatakse col_quote.\n"
 "# Kui te jÃ¤tate selle tÃ¼hjaks, kasutab tin sisseehitatud vÃ¤Ã¤rtust.\n"
 
-#: src/lang.c:2343
+#: src/lang.c:2399
 msgid "A regex used to decide which lines to show in col_quote2."
 msgstr "Regulaaravaldis otsustamaks, milliseid ridu nÃ¤idata col_quote2."
 
-#: src/lang.c:2344
+#: src/lang.c:2400
 msgid "Regex used to show twice quoted l."
 msgstr "Topelt tsiteeritud ridu nÃ¤itav reg"
 
-#: src/lang.c:2345
+#: src/lang.c:2401
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted twice. Twice quoted lines are shown in col_quote2.\n"
@@ -6844,15 +6975,15 @@ msgstr ""
 "# nÃ¤idatakse col_quote2.\n"
 "# Kui te jÃ¤tate selle tÃ¼hjaks, kasutab tin sisseehitatud vÃ¤Ã¤rtust.\n"
 
-#: src/lang.c:2351
+#: src/lang.c:2407
 msgid "A regex used to decide which lines to show in col_quote3."
 msgstr "Regulaaravaldis otsustamaks, milliseid ridu nÃ¤idata col_quote3."
 
-#: src/lang.c:2352
+#: src/lang.c:2408
 msgid "Regex used to show >= 3 times q.l."
 msgstr ">= 3 tsiteeritud ridu nÃ¤itav reg"
 
-#: src/lang.c:2353
+#: src/lang.c:2409
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
@@ -6863,27 +6994,27 @@ msgstr ""
 "# nÃ¤idatakse col_quote3.\n"
 "# Kui te jÃ¤tate selle tÃ¼hjaks, kasutab tin sisseehitatud vÃ¤Ã¤rtust.\n"
 
-#: src/lang.c:2359
+#: src/lang.c:2415
 msgid "Enable detection of external quotes? <SPACE> toggles & <CR> sets."
 msgstr "Luba vÃ¤liste tsitaatide tuvastamine? <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:2360
+#: src/lang.c:2416
 msgid "Detection of external quotes"
 msgstr "VÃ¤liste tsitaatide tuvastamine"
 
-#: src/lang.c:2361
+#: src/lang.c:2417
 msgid "# If ON detect quoted text from external sources in articles\n"
 msgstr "# Kui vÃ¤Ã¤rtus on ON, tuvasta artiklis vÃ¤lised tsitaadid\n"
 
-#: src/lang.c:2365
+#: src/lang.c:2421
 msgid "A regex used to decide which lines to show in col_extquote."
 msgstr "Regulaaravaldis otsustamaks, milliseid ridu col_extquote nÃ¤itab."
 
-#: src/lang.c:2366
+#: src/lang.c:2422
 msgid "Regex used to show quotes from external sources"
 msgstr "VÃ¤liste tsitaatide ridade nÃ¤itamise regex"
 
-#: src/lang.c:2367
+#: src/lang.c:2423
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# external quotes. Text from external quotes is shown in col_extquote.\n"
@@ -6893,15 +7024,15 @@ msgstr ""
 "# read on vÃ¤lised tsitaadid. VÃ¤liseid tsitaate nÃ¤itab col_extquote.\n"
 "# Kui te jÃ¤tate selle tÃ¼hjaks, kasutab tin sisseehitatud vÃ¤Ã¤rtust.\n"
 
-#: src/lang.c:2374
+#: src/lang.c:2430
 msgid "A regex used to decide which words to show in col_markslashes."
 msgstr "Regex et otsustada, milliseid sÃµnu nÃ¤idata col_markslashes abil."
 
-#: src/lang.c:2375
+#: src/lang.c:2431
 msgid "Regex used to highlight /slashes/"
 msgstr "Regex et esile tÃµsta /kaldkriipse/"
 
-#: src/lang.c:2376
+#: src/lang.c:2432
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '/' are to be shown in col_markslashes.\n"
@@ -6912,15 +7043,15 @@ msgstr ""
 "# sÃµnu nÃ¤idata col_markslashes abil. Kui jÃ¤tate selle tÃ¼hjaks, kasutab\n"
 "# tin sisse ehitatud vaikevÃ¤Ã¤rtust.\n"
 
-#: src/lang.c:2382
+#: src/lang.c:2438
 msgid "A regex used to decide which words to show in col_markstars."
 msgstr "Regex et otsustada, milliseid sÃµnu nÃ¤idata col_markstars abil."
 
-#: src/lang.c:2383
+#: src/lang.c:2439
 msgid "Regex used to highlight *stars*"
 msgstr "Regex et esile tÃµsta *tÃ¤rne*"
 
-#: src/lang.c:2384
+#: src/lang.c:2440
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '*' are to be shown in col_markstars.\n"
@@ -6931,15 +7062,15 @@ msgstr ""
 "# sÃµnu nÃ¤idata col_markstars abil. Kui jÃ¤tate selle tÃ¼hjaks, kasutab\n"
 "# tin sisse ehitatud vaikevÃ¤Ã¤rtust.\n"
 
-#: src/lang.c:2390
+#: src/lang.c:2446
 msgid "A regex used to decide which words to show in col_markstroke."
 msgstr "Regex et otsustada, milliseid sÃµnu nÃ¤idata col_markstroke abil."
 
-#: src/lang.c:2391
+#: src/lang.c:2447
 msgid "Regex used to highlight -strokes-"
 msgstr "Regex et esile tÃµsta -kriipse-"
 
-#: src/lang.c:2392
+#: src/lang.c:2448
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '-' are to be shown in col_markstroke.\n"
@@ -6950,15 +7081,15 @@ msgstr ""
 "# sÃµnu nÃ¤idata col_markstroke abil. Kui jÃ¤tate selle tÃ¼hjaks, kasutab\n"
 "# tin sisse ehitatud vaikevÃ¤Ã¤rtust.\n"
 
-#: src/lang.c:2398
+#: src/lang.c:2454
 msgid "A regex used to decide which words to show in col_markdash."
 msgstr "Regex et otsustada, milliseid sÃµnu nÃ¤idata col_markdash abil."
 
-#: src/lang.c:2399
+#: src/lang.c:2455
 msgid "Regex used to highlight _underline_"
 msgstr "Regex et esile tÃµsta _alakriipse_"
 
-#: src/lang.c:2400
+#: src/lang.c:2456
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '_' are to be shown in col_markdash.\n"
@@ -6969,16 +7100,16 @@ msgstr ""
 "# sÃµnu nÃ¤idata col_markdash abil. Kui jÃ¤tate selle tÃ¼hjaks, kasutab\n"
 "# tin sisse ehitatud vaikevÃ¤Ã¤rtust.\n"
 
-#: src/lang.c:2406
+#: src/lang.c:2462
 msgid "A regex used to find Subject prefixes to remove.  Use '|' as separator."
 msgstr ""
 "Regulaaravaldis eemaldatava teema prefiksi leidmiseks. Eraldajaks on '|'."
 
-#: src/lang.c:2407
+#: src/lang.c:2463
 msgid "Regex with Subject prefixes"
 msgstr "Regex teema prefiksi leidmiseks"
 
-#: src/lang.c:2408
+#: src/lang.c:2464
 msgid ""
 "# A regular expression that tin will use to find Subject prefixes\n"
 "# which will be removed before showing the header.\n"
@@ -6986,16 +7117,16 @@ msgstr ""
 "# Regulaaravaldis, mida tin kasutab, et leida teema prefiksit, mida\n"
 "# enne pÃ¤ise nÃ¤itamist eemaldada.\n"
 
-#: src/lang.c:2413
+#: src/lang.c:2469
 msgid "A regex used to find Subject suffixes to remove.  Use '|' as separator."
 msgstr ""
 "Regulaaravaldis eemaldatava teema sufiksi leidmiseks. Eraldajaks on '|'."
 
-#: src/lang.c:2414
+#: src/lang.c:2470
 msgid "Regex with Subject suffixes"
 msgstr "Regex teema sufiksi leidmiseks"
 
-#: src/lang.c:2415
+#: src/lang.c:2471
 msgid ""
 "# A regular expression that tin will use to find Subject suffixes\n"
 "# which will be removed when replying or posting followup.\n"
@@ -7003,46 +7134,46 @@ msgstr ""
 "# Regulaaravaldis, mida tin kasutab teema sufiksi leidmiseks,\n"
 "# mis eemaldatakse vastuse saatmisel vÃµi postitamisel.\n"
 
-#: src/lang.c:2420
+#: src/lang.c:2476
 msgid "A regex used to find the begin of a verbatim block."
 msgstr "Regulaaravaldis identse bloki alguse tuvastamiseks."
 
-#: src/lang.c:2421
+#: src/lang.c:2477
 msgid "Regex for begin of a verbatim block"
 msgstr "Identse bloki alguse reg. avaldis"
 
-#: src/lang.c:2422
+#: src/lang.c:2478
 msgid ""
 "# A regular expression that tin will use to find the begin of\n"
 "# a verbatim block.\n"
 msgstr "# Regulaaravaldis, mida tin kasutab et leida identse bloki algust.\n"
 
-#: src/lang.c:2427
+#: src/lang.c:2483
 msgid "A regex used to find the end of a verbatim block."
 msgstr "Regulaaravaldis identse bloki lÃµpu tuvastamiseks."
 
-#: src/lang.c:2428
+#: src/lang.c:2484
 msgid "Regex for end of a verbatim block"
 msgstr "Identse bloki lÃµpu reg. avaldis"
 
-#: src/lang.c:2429
+#: src/lang.c:2485
 msgid ""
 "# A regular expression that tin will use to find the end of\n"
 "# a verbatim block.\n"
 msgstr "# Regulaaravaldis, mida tin kasutab et leida identse bloki lÃµppu.\n"
 
-#: src/lang.c:2434
+#: src/lang.c:2490
 msgid ""
 "Enter name and options for external MIME viewer, --internal for built-in "
 "viewer"
 msgstr ""
 "Sisestage vÃ¤lise MIME lehitseja nimi ja vÃµtmed, sisemise valib --internal"
 
-#: src/lang.c:2435
+#: src/lang.c:2491
 msgid "MIME binary content viewer"
 msgstr "MIME kahendsisu lehitseja"
 
-#: src/lang.c:2436
+#: src/lang.c:2492
 msgid ""
 "# If --internal automatically use the built in MIME viewer for non-text\n"
 "# parts of articles.\n"
@@ -7055,15 +7186,15 @@ msgstr ""
 "# Muidu mÃ¤Ã¤ra automaatseks vaatamiseks vÃ¤line programm (nt. metamail) vÃµi\n"
 "# jÃ¤ta tÃ¼hjaks\n"
 
-#: src/lang.c:2443
+#: src/lang.c:2499
 msgid "Confirm before starting non-text viewing program"
 msgstr "KÃ¼si enne mitte-tekstiliste osade vaatamist kinnitust"
 
-#: src/lang.c:2444
+#: src/lang.c:2500
 msgid "Ask before using MIME viewer"
 msgstr "KÃ¼si MIME lehitseja kasutamise luba"
 
-#: src/lang.c:2445
+#: src/lang.c:2501
 msgid ""
 "# If ON tin will ask before using metamail to display MIME messages\n"
 "# this only happens if metamail_prog is set to something\n"
@@ -7071,40 +7202,40 @@ msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, kÃ¼si metamaili kasutamise luba\n"
 "# see juhtub ainult siis, kui metamail_prog on vÃ¤Ã¤rtustatud\n"
 
-#: src/lang.c:2450
+#: src/lang.c:2506
 msgid "Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 msgstr ""
 "KÃ¼si, kas mÃ¤rkida vÃ¤ljumisel grupid loetuks. <TÃœHIK> lÃ¼litab ja <CR> seab."
 
-#: src/lang.c:2451
+#: src/lang.c:2507
 msgid "Catchup read groups when quitting"
 msgstr "VÃ¤ljumisel mÃ¤rkida grupid loetuks"
 
-#: src/lang.c:2452
+#: src/lang.c:2508
 msgid "# If ON ask user if read groups should all be marked read\n"
 msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, kÃ¼si kasutajalt, kas mÃ¤rkida loetud gruppides kÃµik\n"
 "# artiklid loetuks\n"
 
-#: src/lang.c:2457
+#: src/lang.c:2513
 msgid "Catchup group using left key"
 msgstr "Nool vasakule mÃ¤rgib grupi loetuks"
 
-#: src/lang.c:2458
+#: src/lang.c:2514
 msgid "# If ON catchup group/thread when leaving with the left arrow key.\n"
 msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, mÃ¤rgi grupp/teema loetuks, kui sellest vÃ¤ljutakse\n"
 "# nool vasakule klahviga.\n"
 
-#: src/lang.c:2463
+#: src/lang.c:2519
 msgid "Catchup thread by using left key"
 msgstr "Nool vasakule mÃ¤rgib teema loetuks"
 
-#: src/lang.c:2469
+#: src/lang.c:2525
 msgid "Which actions require confirmation"
 msgstr "Tegevused mis nÃµuavad kinnitust"
 
-#: src/lang.c:2470
+#: src/lang.c:2526
 msgid ""
 "# What should we ask confirmation for.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7128,11 +7259,11 @@ msgstr ""
 "#   6 = vÃ¤ljumine ja valik\n"
 "#   7 = kÃ¤sud, vÃ¤ljumine ja valik\n"
 
-#: src/lang.c:2484
+#: src/lang.c:2540
 msgid "'Mark as (un)read' ignores tags"
 msgstr "'MÃ¤rgi art. (mitte)loetuks' eirab mÃ¤rke"
 
-#: src/lang.c:2485
+#: src/lang.c:2541
 msgid ""
 "# If ON the 'Mark as (un)read' function marks only the current article.\n"
 msgstr ""
@@ -7140,45 +7271,45 @@ msgstr ""
 "ainult\n"
 "# jooksva artikli.\n"
 
-#: src/lang.c:2489
+#: src/lang.c:2545
 msgid "Program to run to open URLs, <CR> sets, <ESC> cancels."
 msgstr "Programm URLide avamiseks, <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:2490
+#: src/lang.c:2546
 msgid "Program that opens URLs"
 msgstr "Programm URLide avamiseks"
 
-#: src/lang.c:2491
+#: src/lang.c:2547
 msgid "# The program used to open URLs. The actual URL will be appended\n"
 msgstr "# Programm URLide avamiseks. URL lisatakse argumendiks\n"
 
-#: src/lang.c:2496
+#: src/lang.c:2552
 msgid "Use mouse in xterm"
 msgstr "Kasuta xterm aknas hiirt"
 
-#: src/lang.c:2497
+#: src/lang.c:2553
 msgid "# If ON enable mouse button support on xterm terminals\n"
 msgstr "# Kui vÃ¤Ã¤rtus on ON, luba xterm aknas hiire tugi\n"
 
-#: src/lang.c:2503
+#: src/lang.c:2559
 msgid "Use scroll keys on keypad"
 msgstr "Kasuta kerimisnuppe"
 
-#: src/lang.c:2504
+#: src/lang.c:2560
 msgid "# If ON enable scroll keys on terminals that support it\n"
 msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, luba kerimisnuppude kasutamist terminalidel, millel "
 "need on olemas\n"
 
-#: src/lang.c:2509
+#: src/lang.c:2565
 msgid "Enter maximum number of article to get. <CR> sets."
 msgstr "Sisestage suurim laetavate artiklite arv. <CR> seab."
 
-#: src/lang.c:2510
+#: src/lang.c:2566
 msgid "Number of articles to get"
 msgstr "Laetavate artiklite arv"
 
-#: src/lang.c:2511
+#: src/lang.c:2567
 msgid ""
 "# Number of articles to get (0=no limit), if negative sets maximum number\n"
 "# of already read articles to be read before first unread one\n"
@@ -7186,29 +7317,29 @@ msgstr ""
 "# Laetavate artiklite arv (0=limiit puudub), negatiivne vÃ¤Ã¤rtus seab\n"
 "# maksimaalse arvu loetud artikleid, mida lugeda enne lugemata artiklit\n"
 
-#: src/lang.c:2516
+#: src/lang.c:2572
 msgid "Enter number of days article is considered recent. <CR> sets."
 msgstr "Sisestage artikli vÃ¤rskuse kestus. <CR> seab."
 
-#: src/lang.c:2517
+#: src/lang.c:2573
 msgid "Article recentness time limit"
 msgstr "Artikli vÃ¤rskuse ajapiir"
 
-#: src/lang.c:2518
+#: src/lang.c:2574
 msgid "# Number of days in which article is considered recent, (0=OFF)\n"
 msgstr "# PÃ¤evad, mille jooksul loetakse artiklit vÃ¤rskeks, (0=OFF)\n"
 
-#: src/lang.c:2522
+#: src/lang.c:2578
 msgid ""
 "WILDMAT for normal wildcards, REGEX for full regular expression matching."
 msgstr ""
 "WILDMAT tavalistele jokkeritele, REGEX tÃ¤isregulaaravaldistega otsimisele."
 
-#: src/lang.c:2523
+#: src/lang.c:2579
 msgid "Wildcard matching"
 msgstr "Jokkeritega otsimine"
 
-#: src/lang.c:2524
+#: src/lang.c:2580
 msgid ""
 "# Wildcard matching\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7220,60 +7351,60 @@ msgstr ""
 "# * 0 = wildmat\n"
 "#   1 = regex\n"
 
-#: src/lang.c:2531
+#: src/lang.c:2587
 msgid "Enter minimal score before an article is marked killed. <CR> sets."
 msgstr "Sisestage minimaalne kaal artikli surmamiseks. <CR> seab."
 
-#: src/lang.c:2532
+#: src/lang.c:2588
 msgid "Score limit (kill)"
 msgstr "Kaalu alampiir (surmamine)"
 
-#: src/lang.c:2533
+#: src/lang.c:2589
 msgid "# Score limit before an article is marked killed\n"
 msgstr "# Kaalu alampiir, enne kui artikkel mÃ¤rgitakse surmatuks\n"
 
-#: src/lang.c:2537
+#: src/lang.c:2593
 msgid "Enter default score to kill articles. <CR> sets."
 msgstr "Sisestage vaikimisi kaal artiklite surmamiseks. <CR> seab."
 
-#: src/lang.c:2538
+#: src/lang.c:2594
 msgid "Default score to kill articles"
 msgstr "Artiklite surmamise vaikimisi kaal"
 
-#: src/lang.c:2539
+#: src/lang.c:2595
 msgid "# Default score to kill articles\n"
 msgstr "# Vaikimisi kaal artiklite surmamiseks\n"
 
-#: src/lang.c:2543
+#: src/lang.c:2599
 msgid "Enter minimal score before an article is marked hot. <CR> sets."
 msgstr ""
 "Sisestage minimaalne kaal, enne kui artikkel mÃ¤rgitakse kuumaks. <CR> seab."
 
-#: src/lang.c:2544
+#: src/lang.c:2600
 msgid "Score limit (select)"
 msgstr "Kaalu alampiir (valik)"
 
-#: src/lang.c:2545
+#: src/lang.c:2601
 msgid "# Score limit before an article is marked hot\n"
 msgstr "# Kaalu alampiir, enne kui artikkel mÃ¤rgitakse muumaks\n"
 
-#: src/lang.c:2549
+#: src/lang.c:2605
 msgid "Enter default score to select articles. <CR> sets."
 msgstr "Sisestage vaikimisi kaal artiklite valimiseks. <CR> seab."
 
-#: src/lang.c:2550
+#: src/lang.c:2606
 msgid "Default score to select articles"
 msgstr "Vaikimisi kaal artiklite valimiseks"
 
-#: src/lang.c:2551
+#: src/lang.c:2607
 msgid "# Default score to select articles\n"
 msgstr "# Vaikimisi kaal artiklite valimiseks\n"
 
-#: src/lang.c:2557
+#: src/lang.c:2613
 msgid "Use slrnface to show ''X-Face:''s"
 msgstr "''X-Face:'' nÃ¤itamiseks slrnface"
 
-#: src/lang.c:2558
+#: src/lang.c:2614
 msgid ""
 "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 "# Only useful when running in an xterm.\n"
@@ -7281,19 +7412,19 @@ msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, kasutan ''X-Face:'' pÃ¤iste kÃ¤sitlemiseks slrnface(1).\n"
 "# Kasulik ainult xterm aknas.\n"
 
-#: src/lang.c:2566
+#: src/lang.c:2622
 msgid "Use ANSI color"
 msgstr "Kasuta ANSI vÃ¤rve"
 
-#: src/lang.c:2567
+#: src/lang.c:2623
 msgid "# If ON using ANSI-color\n"
 msgstr "# Kui vÃ¤Ã¤rtus on ON, kasuta ANSI vÃ¤rve\n"
 
-#: src/lang.c:2572
+#: src/lang.c:2628
 msgid "Standard foreground color"
 msgstr "Standardne esiplaani vÃ¤rv"
 
-#: src/lang.c:2573
+#: src/lang.c:2629
 msgid ""
 "# Standard foreground color\n"
 "# Default: -1 (default color)\n"
@@ -7301,11 +7432,11 @@ msgstr ""
 "# Standardne esiplaani vÃ¤rv\n"
 "# Vaikimisi: -1 (vaikimisi vÃ¤rv)\n"
 
-#: src/lang.c:2579
+#: src/lang.c:2635
 msgid "Standard background color"
 msgstr "Standardne tagaplaani vÃ¤rv"
 
-#: src/lang.c:2580
+#: src/lang.c:2636
 msgid ""
 "# Standard background color\n"
 "# Default: -1 (default color)\n"
@@ -7313,11 +7444,11 @@ msgstr ""
 "# Standardne tagaplaani vÃ¤rv\n"
 "# Vaikimisi: -1 (vaikimisi vÃ¤rv)\n"
 
-#: src/lang.c:2586
+#: src/lang.c:2642
 msgid "Color for inverse text (background)"
 msgstr "PÃ¶Ã¶ratud teksti vÃ¤rv (tagaplaan)"
 
-#: src/lang.c:2587
+#: src/lang.c:2643
 msgid ""
 "# Color of background for inverse text\n"
 "# Default: 4 (blue)\n"
@@ -7325,11 +7456,11 @@ msgstr ""
 "# PÃ¶Ã¶ratud teksti tagaplaani vÃ¤rv\n"
 "# Vaikimisi: 4 (sinine)\n"
 
-#: src/lang.c:2593
+#: src/lang.c:2649
 msgid "Color for inverse text (foreground)"
 msgstr "PÃ¶Ã¶ratud teksti vÃ¤rv (esiplaan)"
 
-#: src/lang.c:2594
+#: src/lang.c:2650
 msgid ""
 "# Color of foreground for inverse text\n"
 "# Default: 7 (white)\n"
@@ -7337,11 +7468,11 @@ msgstr ""
 "# PÃ¶Ã¶ratud teksti esiplaani vÃ¤rv\n"
 "# Vaikimisi: 7 (valge)\n"
 
-#: src/lang.c:2600
+#: src/lang.c:2656
 msgid "Color of text lines"
 msgstr "Tekstiridade vÃ¤rv"
 
-#: src/lang.c:2601
+#: src/lang.c:2657
 msgid ""
 "# Color of text lines\n"
 "# Default: -1 (default color)\n"
@@ -7349,11 +7480,11 @@ msgstr ""
 "# Tekstiridade vÃ¤rv\n"
 "# Vaikimisi: -1 (vaikimisi vÃ¤rv)\n"
 
-#: src/lang.c:2607
+#: src/lang.c:2663
 msgid "Color of mini help menu"
 msgstr "Miniabiinfo vÃ¤rv"
 
-#: src/lang.c:2608
+#: src/lang.c:2664
 msgid ""
 "# Color of mini help menu\n"
 "# Default: 3 (brown)\n"
@@ -7361,11 +7492,11 @@ msgstr ""
 "# Miniabiinfo vÃ¤rv\n"
 "# Vaikimisi: 3 (pruun)\n"
 
-#: src/lang.c:2614
+#: src/lang.c:2670
 msgid "Color of help text"
 msgstr "Abiinfo vÃ¤rv"
 
-#: src/lang.c:2615
+#: src/lang.c:2671
 msgid ""
 "# Color of help pages\n"
 "# Default: -1 (default color)\n"
@@ -7373,11 +7504,11 @@ msgstr ""
 "# Abiinfo vÃ¤rv\n"
 "# Vaikimisi: -1 (vaikimisi vÃ¤rv)\n"
 
-#: src/lang.c:2621
+#: src/lang.c:2677
 msgid "Color of status messages"
 msgstr "Olekuteadete vÃ¤rv"
 
-#: src/lang.c:2622
+#: src/lang.c:2678
 msgid ""
 "# Color of messages in last line\n"
 "# Default: 6 (cyan)\n"
@@ -7385,11 +7516,11 @@ msgstr ""
 "# Viimasel real olevate teadete vÃ¤rv\n"
 "# Default: 6 (lilla)\n"
 
-#: src/lang.c:2628
+#: src/lang.c:2684
 msgid "Color of quoted lines"
 msgstr "Tsitaadi vÃ¤rv"
 
-#: src/lang.c:2629
+#: src/lang.c:2685
 msgid ""
 "# Color of quote-lines\n"
 "# Default: 2 (green)\n"
@@ -7397,11 +7528,11 @@ msgstr ""
 "# Tsitaadi vÃ¤rv\n"
 "# Vaikimisi: 2 (roheline)\n"
 
-#: src/lang.c:2635
+#: src/lang.c:2691
 msgid "Color of twice quoted line"
 msgstr "Topelt tsiteeritud rea vÃ¤rv"
 
-#: src/lang.c:2636
+#: src/lang.c:2692
 msgid ""
 "# Color of twice quoted lines\n"
 "# Default: 3 (brown)\n"
@@ -7409,11 +7540,11 @@ msgstr ""
 "# Topelt tsiteeritud rea vÃ¤rv\n"
 "# Vaikimisi: 3 (pruun)\n"
 
-#: src/lang.c:2642
+#: src/lang.c:2698
 msgid "Color of =>3 times quoted line"
 msgstr "=>3 korda tsiteeritud rea vÃ¤rv"
 
-#: src/lang.c:2643
+#: src/lang.c:2699
 msgid ""
 "# Color of >=3 times quoted lines\n"
 "# Default: 4 (blue)\n"
@@ -7421,11 +7552,11 @@ msgstr ""
 "# =>3 korda tsiteeritud rea vÃ¤rv\n"
 "# Vaikimisi: 4 (sinine)\n"
 
-#: src/lang.c:2649
+#: src/lang.c:2705
 msgid "Color of article header lines"
 msgstr "Artikli pÃ¤iseridade vÃ¤rv"
 
-#: src/lang.c:2650
+#: src/lang.c:2706
 msgid ""
 "# Color of header-lines\n"
 "# Default: 2 (green)\n"
@@ -7433,11 +7564,11 @@ msgstr ""
 "# PÃ¤iseridade vÃ¤rv\n"
 "# Vaikimisi: 2 (roheline)\n"
 
-#: src/lang.c:2656
+#: src/lang.c:2712
 msgid "Color of actual news header fields"
 msgstr "Artikli tegelike pÃ¤iseridade vÃ¤rv"
 
-#: src/lang.c:2657
+#: src/lang.c:2713
 msgid ""
 "# Color of actual news header fields\n"
 "# Default: 9 (light red)\n"
@@ -7445,11 +7576,11 @@ msgstr ""
 "# Artikli tegelike pÃ¤iseridade vÃ¤rv\n"
 "# Vaikimisi: 9 (helepunane)\n"
 
-#: src/lang.c:2663
+#: src/lang.c:2719
 msgid "Color of article subject lines"
 msgstr "Artikli teemarea vÃ¤rv"
 
-#: src/lang.c:2664
+#: src/lang.c:2720
 msgid ""
 "# Color of article subject\n"
 "# Default: 6 (cyan)\n"
@@ -7457,11 +7588,11 @@ msgstr ""
 "# Artikli teema vÃ¤rv\n"
 "# Vaikimisi: 6 (lilla)\n"
 
-#: src/lang.c:2670
+#: src/lang.c:2726
 msgid "Color of external quotes"
 msgstr "VÃ¤liste tsitaatide vÃ¤rv"
 
-#: src/lang.c:2671
+#: src/lang.c:2727
 msgid ""
 "# Color of quoted text from external sources\n"
 "# Default: 5 (pink)\n"
@@ -7469,11 +7600,11 @@ msgstr ""
 "# VÃ¤liste tsitaatide vÃ¤rv\n"
 "# Vaikimisi: 5 (roosa)\n"
 
-#: src/lang.c:2677
+#: src/lang.c:2733
 msgid "Color of response counter"
 msgstr "Vastuste arvu loenduri vÃ¤rv"
 
-#: src/lang.c:2678
+#: src/lang.c:2734
 msgid ""
 "# Color of response counter\n"
 "# Default: 2 (green)\n"
@@ -7481,11 +7612,11 @@ msgstr ""
 "# Vastuste arvu loenduri vÃ¤rv\n"
 "# Vaikimisi: 2 (roheline)\n"
 
-#: src/lang.c:2684
+#: src/lang.c:2740
 msgid "Color of sender (From:)"
 msgstr "Saatja vÃ¤rv (From:)"
 
-#: src/lang.c:2685
+#: src/lang.c:2741
 msgid ""
 "# Color of sender (From:)\n"
 "# Default: 2 (green)\n"
@@ -7493,11 +7624,11 @@ msgstr ""
 "# Saatja vÃ¤rv (From:)\n"
 "# Vaikimisi: 2 (roheline)\n"
 
-#: src/lang.c:2691
+#: src/lang.c:2747
 msgid "Color of help/mail sign"
 msgstr "Abiinfo/kirja teate vÃ¤rv"
 
-#: src/lang.c:2692
+#: src/lang.c:2748
 msgid ""
 "# Color of Help/Mail-Sign\n"
 "# Default: 4 (blue)\n"
@@ -7505,11 +7636,11 @@ msgstr ""
 "# Abiinfo/kirja teate vÃ¤rv\n"
 "# Vaikimisi: 4 (sinine)\n"
 
-#: src/lang.c:2698
+#: src/lang.c:2754
 msgid "Color of signatures"
 msgstr "Signatuuri vÃ¤rv"
 
-#: src/lang.c:2699
+#: src/lang.c:2755
 msgid ""
 "# Color of signature\n"
 "# Default: 4 (blue)\n"
@@ -7517,12 +7648,12 @@ msgstr ""
 "# Signatuuri vÃ¤rv\n"
 "# Vaikimisi: 4 (sinine)\n"
 
-#: src/lang.c:2705
+#: src/lang.c:2761
 #, fuzzy
 msgid "Color of negative score"
 msgstr "Tekstiridade vÃ¤rv"
 
-#: src/lang.c:2706
+#: src/lang.c:2762
 #, fuzzy
 msgid ""
 "# Color of negative score\n"
@@ -7531,12 +7662,12 @@ msgstr ""
 "# Signatuuri vÃ¤rv\n"
 "# Vaikimisi: 4 (sinine)\n"
 
-#: src/lang.c:2712
+#: src/lang.c:2768
 #, fuzzy
 msgid "Color of positive score"
 msgstr "Vastuste arvu loenduri vÃ¤rv"
 
-#: src/lang.c:2713
+#: src/lang.c:2769
 #, fuzzy
 msgid ""
 "# Color of positive score\n"
@@ -7545,11 +7676,11 @@ msgstr ""
 "# Vastuste arvu loenduri vÃ¤rv\n"
 "# Vaikimisi: 2 (roheline)\n"
 
-#: src/lang.c:2719
+#: src/lang.c:2775
 msgid "Color of highlighted URLs"
 msgstr "EsiletÃµstetud URLide vÃ¤rv"
 
-#: src/lang.c:2720
+#: src/lang.c:2776
 msgid ""
 "# Color of highlighted URLs\n"
 "# Default: -1 (default color)\n"
@@ -7557,11 +7688,11 @@ msgstr ""
 "# EsiletÃµstetud URLide vÃ¤rv\n"
 "# Vaikimisi: -1 (vaikimisi vÃ¤rv)\n"
 
-#: src/lang.c:2726
+#: src/lang.c:2782
 msgid "Color of verbatim blocks"
 msgstr "Identsete blokkide vÃ¤rv"
 
-#: src/lang.c:2727
+#: src/lang.c:2783
 msgid ""
 "# Color of verbatim blocks\n"
 "# Default: 5 (pink)\n"
@@ -7569,11 +7700,11 @@ msgstr ""
 "# Identsete blokkide vÃ¤rv\n"
 "# Vaikimisi: 5 (roosa)\n"
 
-#: src/lang.c:2733
+#: src/lang.c:2789
 msgid "Color of highlighting with *stars*"
 msgstr "*tÃ¤rnidega* esiletÃµstmise vÃ¤rv"
 
-#: src/lang.c:2734
+#: src/lang.c:2790
 msgid ""
 "# Color of word highlighting with *stars*\n"
 "# Default: 11 (yellow)\n"
@@ -7581,11 +7712,11 @@ msgstr ""
 "# *tÃ¤rnidega* esiletÃµstmise vÃ¤rv\n"
 "# Vaikimisi: 11 (kollane)\n"
 
-#: src/lang.c:2740
+#: src/lang.c:2796
 msgid "Color of highlighting with _dash_"
 msgstr "_alakriipsudega_ esiletÃµstmise vÃ¤rv"
 
-#: src/lang.c:2741
+#: src/lang.c:2797
 msgid ""
 "# Color of word highlighting with _dash_\n"
 "# Default: 13 (light pink)\n"
@@ -7593,11 +7724,11 @@ msgstr ""
 "# _alakriipsudega_ esiletÃµstmise vÃ¤rv\n"
 "# Vaikimisi: 13 (heleroosa)\n"
 
-#: src/lang.c:2747
+#: src/lang.c:2803
 msgid "Color of highlighting with /slash/"
 msgstr "/Kaldkriipsude/ esiletÃµstmise vÃ¤rv"
 
-#: src/lang.c:2748
+#: src/lang.c:2804
 msgid ""
 "# Color of word highlighting with /slash/\n"
 "# Default: 14 (light cyan)\n"
@@ -7605,11 +7736,11 @@ msgstr ""
 "# /Kaldkriipsude/ esiletÃµstmise vÃ¤rv\n"
 "# Vaikimisi: 14 (helelilla)\n"
 
-#: src/lang.c:2754
+#: src/lang.c:2810
 msgid "Color of highlighting with -stroke-"
 msgstr "-Kriipsudega- esiletÃµstmise vÃ¤rv"
 
-#: src/lang.c:2755
+#: src/lang.c:2811
 msgid ""
 "# Color of word highlighting with -stroke-\n"
 "# Default: 12 (light blue)\n"
@@ -7617,11 +7748,11 @@ msgstr ""
 "# -Kriipsudega- esiletÃµstmise vÃ¤rv\n"
 "# Vaikimisi: 12 (helesinine)\n"
 
-#: src/lang.c:2762
+#: src/lang.c:2818
 msgid "Attr. of highlighting with *stars*"
 msgstr "*tÃ¤rnidega* esiletÃµstmise atribuut"
 
-#: src/lang.c:2763
+#: src/lang.c:2819
 msgid ""
 "# Attributes of word highlighting on mono terminals\n"
 "# Possible values are:\n"
@@ -7649,11 +7780,11 @@ msgstr ""
 "# *tÃ¤rnidega* esiletÃµstmise atribuut\n"
 "# Vaikimisi: 6 (paks)\n"
 
-#: src/lang.c:2778
+#: src/lang.c:2834
 msgid "Attr. of highlighting with _dash_"
 msgstr "_alakriipsudega_ esiletÃµstmise atr."
 
-#: src/lang.c:2779
+#: src/lang.c:2835
 msgid ""
 "# Attribute of word highlighting with _dash_\n"
 "# Default: 2 (best highlighting)\n"
@@ -7661,11 +7792,11 @@ msgstr ""
 "# _alakriipsudega_ esiletÃµstmise atribuut\n"
 "# Vaikimisi: 2 (parim esiletÃµstmine)\n"
 
-#: src/lang.c:2785
+#: src/lang.c:2841
 msgid "Attr. of highlighting with /slash/"
 msgstr "/Kaldkriipsude/ esiletÃµstmise atr."
 
-#: src/lang.c:2786
+#: src/lang.c:2842
 msgid ""
 "# Attribute of word highlighting with /slash/\n"
 "# Default: 5 (half bright)\n"
@@ -7673,37 +7804,37 @@ msgstr ""
 "# /Kaldkriipsude/ esiletÃµstmise atribuut\n"
 "# Vaikimisi: 5 (poolhele)\n"
 
-#: src/lang.c:2792
+#: src/lang.c:2848
 msgid "Attr. of highlighting with -stroke-"
 msgstr "-Kriipsudega- esiletÃµstmise atr."
 
-#: src/lang.c:2793
+#: src/lang.c:2849
 msgid ""
 "# Attribute of word highlighting with -stroke-\n"
 "# Default: 3 (reverse video)\n"
 msgstr "# Vaikimisi: 3 (pÃ¶Ã¶ratud video)\n"
 
-#: src/lang.c:2799
+#: src/lang.c:2855
 msgid "URL highlighting in message body"
 msgstr "Teate kehas URL esiletÃµstmine"
 
-#: src/lang.c:2800
+#: src/lang.c:2856
 msgid "# Enable URL highlighting?\n"
 msgstr "# Luba URLide esiletÃµstmine?\n"
 
-#: src/lang.c:2805
+#: src/lang.c:2861
 msgid "Word highlighting in message body"
 msgstr "SÃµnade esiletÃµstmine teate kehas"
 
-#: src/lang.c:2806
+#: src/lang.c:2862
 msgid "# Enable word highlighting?\n"
 msgstr "# Lubada sÃµnade esiletÃµstmine?\n"
 
-#: src/lang.c:2811
+#: src/lang.c:2867
 msgid "What to display instead of mark"
 msgstr "Mida nÃ¤idata mÃ¤rgi asemel"
 
-#: src/lang.c:2812
+#: src/lang.c:2868
 msgid ""
 "# Should the leading and ending stars and dashes also be displayed,\n"
 "# even when they are highlighting marks?\n"
@@ -7719,59 +7850,73 @@ msgstr ""
 "#   1 - jah, nÃ¤ita mÃ¤rki\n"
 "# * 2 - trÃ¼ki hoopis tÃ¼hik\n"
 
-#: src/lang.c:2821
+#: src/lang.c:2877
 msgid "Enter column number to wrap article lines to in the pager. <CR> sets."
 msgstr "Sisestage veerg, millelt lehitseja hakkab ridu murdma. <CR> seab."
 
-#: src/lang.c:2822
+#: src/lang.c:2878
 msgid "Page line wrap column"
 msgstr "Rea murdmise veerg lehitsejas"
 
-#: src/lang.c:2823
+#: src/lang.c:2879
 msgid "# Wrap article lines at column\n"
 msgstr "# Murra artikli read antud veerus\n"
 
-#: src/lang.c:2828
+#: src/lang.c:2883
+#, fuzzy
+msgid ""
+"If ON, don't break words when wrapping lines. <SPACE> toggles & <CR> sets."
+msgstr "Lisa artikli uuestipostitamisel signatuur. <TÃœHIK> lÃ¼litab, <CR> seab."
+
+#: src/lang.c:2884
+msgid "Don't break words when wrapping"
+msgstr ""
+
+#: src/lang.c:2885
+msgid "# Don't break long lines inside a word but on <SPACE> or <TAB>\n"
+msgstr ""
+
+#: src/lang.c:2890
 msgid "Wrap around threads on next unread"
 msgstr "Liigu lugemata art-le Ã¼mber teemade"
 
-#: src/lang.c:2829
+#: src/lang.c:2891
 msgid "# If ON wrap around threads on searching next unread article\n"
 msgstr "# Kui vÃ¤Ã¤rtus on ON, liigu lugemata artiklite otsingul Ã¼mber teemade\n"
 
-#: src/lang.c:2833
+#: src/lang.c:2895
 msgid "Enter default mail address (and fullname). <CR> sets."
 msgstr "Sisestage oma e-posti aadress (ja oma nimi). <CR> seab."
 
-#: src/lang.c:2834 src/lang.c:3405
+#: src/lang.c:2896 src/lang.c:3474
 msgid "Mail address (and fullname)"
 msgstr "E-posti aadress (ja teie nimi)"
 
-#: src/lang.c:2835
+#: src/lang.c:2897
 msgid "# User's mail address (and fullname), if not username@host (fullname)\n"
 msgstr ""
 "# Kasutaja e-posti aadress (ja nimi), kui ei ole kasutaja@host (nimi)\n"
 
-#: src/lang.c:2840
+#: src/lang.c:2902
 msgid "Show empty Followup-To in editor"
 msgstr "NÃ¤ita toimetis tÃ¼hja Followup-To"
 
-#: src/lang.c:2841
+#: src/lang.c:2903
 msgid "# If ON show empty Followup-To header when editing an article\n"
 msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, nÃ¤ita artikli toimetamisel tÃ¼hja Followup-To rida\n"
 
-#: src/lang.c:2845
+#: src/lang.c:2907
 msgid ""
 "Enter path/! command/--none to create your default signature. <CR> sets."
 msgstr ""
 "Sisestage tee/! kÃ¤sk/--none, et luua oma vaikimisi signatuur. <CR> seab."
 
-#: src/lang.c:2846
+#: src/lang.c:2908
 msgid "Create signature from path/command"
 msgstr "Signatuuri loomiseks tee/kÃ¤sk"
 
-#: src/lang.c:2847
+#: src/lang.c:2909
 #, c-format
 msgid ""
 "# Signature path (random sigs)/file to be used when posting/replying\n"
@@ -7786,40 +7931,40 @@ msgstr ""
 "#                    (%G annab kaasa jooksva grupi nime)\n"
 "# sigfile=--none     Ã¤ra lisa signatuuri\n"
 
-#: src/lang.c:2855
+#: src/lang.c:2917
 msgid ""
 "Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 msgstr "Signatuurile eelnevale reale \"-- \". <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:2856
+#: src/lang.c:2918
 msgid "Prepend signature with \"-- \""
 msgstr "Lisa signatuuri ette \"-- \""
 
-#: src/lang.c:2857
+#: src/lang.c:2919
 msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n"
 msgstr "# Kui vÃ¤Ã¤rtus on ON, lisa signatuuri ette '\\n-- \\n'\n"
 
-#: src/lang.c:2861
+#: src/lang.c:2923
 msgid "Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 msgstr "Lisa artikli uuestipostitamisel signatuur. <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:2862
+#: src/lang.c:2924
 msgid "Add signature when reposting"
 msgstr "Lisa uuestipostitusel signatuur"
 
-#: src/lang.c:2863
+#: src/lang.c:2925
 msgid "# If ON add signature to reposted articles\n"
 msgstr "# Kui vÃ¤Ã¤rtus on ON, lisa uuestipostitatud artiklile signatuur\n"
 
-#: src/lang.c:2867
+#: src/lang.c:2929
 msgid "Enter quotation marks, %I for author's initials."
 msgstr "Sisestage tsitaadimÃ¤rgid, %I annab autori initsiaalid."
 
-#: src/lang.c:2868
+#: src/lang.c:2930
 msgid "Characters used as quote-marks"
 msgstr "Tsiteerimise mÃ¤rgid"
 
-#: src/lang.c:2869
+#: src/lang.c:2931
 msgid ""
 "# Characters used in quoting to followups and replies.\n"
 "# '_' is replaced by ' ', %I is replaced by author's initials.\n"
@@ -7827,11 +7972,11 @@ msgstr ""
 "# SÃ¼mbolid, mida kasutada tsiteerimisel vastustes.\n"
 "# '_' asendatakse tÃ¼hikuga ' ', %I asendatakse autori initsiaalidega.\n"
 
-#: src/lang.c:2875
+#: src/lang.c:2937
 msgid "Quoting behavior"
 msgstr "KÃ¤itumine tsiteerimisel"
 
-#: src/lang.c:2876
+#: src/lang.c:2938
 msgid ""
 "# How quoting should be handled when following up or replying.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7855,17 +8000,17 @@ msgstr ""
 "#   6 = Tsiteeri allkirju, tsiteeri tÃ¼hje ridu\n"
 "#   7 = Tihenda tsitaadid, tsiteeri allkirju, tsiteeri tÃ¼hje ridu\n"
 
-#: src/lang.c:2889 src/lang.c:2897 src/lang.c:2903
+#: src/lang.c:2951 src/lang.c:2959 src/lang.c:2965
 msgid ""
 "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 msgstr ""
 "%A Aadr. %D Kuup. %F Aadr.+Nimi %G Grupp %M Message-ID %N Nimi %C Eesnimi"
 
-#: src/lang.c:2890
+#: src/lang.c:2952
 msgid "Quote line when following up"
 msgstr "Tsiteerimise rida vastamisel"
 
-#: src/lang.c:2891
+#: src/lang.c:2953
 msgid ""
 "# Format of quote line when mailing/posting/following-up an article\n"
 "# %A Address    %D Date   %F Addr+Name   %G Groupname   %M Message-ID\n"
@@ -7875,38 +8020,38 @@ msgstr ""
 "# %A Aadress    %D Kuup   %F Aadr+Nimi   %G Grupp   %M Message-ID\n"
 "# %N TÃ¤ielik nimi  %C Eesnimi   %I Initsiaalid\n"
 
-#: src/lang.c:2898
+#: src/lang.c:2960
 msgid "Quote line when cross-posting"
 msgstr "Tsiteerimise rida ristpostitusel"
 
-#: src/lang.c:2904
+#: src/lang.c:2966
 msgid "Quote line when mailing"
 msgstr "Tsiteerimise rida kirjutamisel"
 
-#: src/lang.c:2909
+#: src/lang.c:2971
 msgid "If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 msgstr "Kasuta User-Agent: pÃ¤iserida. <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:2910
+#: src/lang.c:2972
 msgid "Insert 'User-Agent:' header"
 msgstr "Sisestage 'User-Agent:' pÃ¤is"
 
-#: src/lang.c:2911
+#: src/lang.c:2973
 msgid "# If ON include advertising User-Agent: header\n"
 msgstr "# Kui vÃ¤Ã¤rtus on ON, lisa artikli pÃ¤isesse User-Agent: rida\n"
 
-#: src/lang.c:2916
+#: src/lang.c:2978
 msgid ""
 "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 "Sisestage MIME kooditabeli nimi (n. US-ASCII, ISO-8859-15, EUC-KR), <CR> "
 "seab."
 
-#: src/lang.c:2917
+#: src/lang.c:2979
 msgid "MM_CHARSET"
 msgstr "MM_CHARSET"
 
-#: src/lang.c:2918
+#: src/lang.c:2980
 msgid ""
 "# Charset supported locally which is also used for MIME header and\n"
 "# Content-Type header.\n"
@@ -7924,41 +8069,41 @@ msgstr ""
 "# loetakse mm_charset vÃ¤Ã¤rtusest erinev kooditabel mitte-nÃ¤idatavaks\n"
 "# ja nÃ¤itamisel kasutatakse '?'.\n"
 
-#: src/lang.c:2928
+#: src/lang.c:2990
 msgid "MM_NETWORK_CHARSET"
 msgstr "MM_NETWORK_CHARSET"
 
-#: src/lang.c:2929
+#: src/lang.c:2991
 msgid "# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr "# Postituste MIME (Content-Type) pÃ¤ises kasutatav kooditabel.\n"
 
-#: src/lang.c:2933
+#: src/lang.c:2995
 msgid ""
 "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 "Sisestage lokaalse kooditabeli nimi (n. UTF-8, ISO-8859-15), <CR> seab."
 
-#: src/lang.c:2934
+#: src/lang.c:2996
 msgid "MM_LOCAL_CHARSET"
 msgstr "MM_LOCAL_CHARSET"
 
-#: src/lang.c:2935
+#: src/lang.c:2997
 msgid "# Charset supported locally.\n"
 msgstr "# Lokaalne kooditabel.\n"
 
-#: src/lang.c:2942
+#: src/lang.c:3004
 msgid "Mailbox format"
 msgstr "Kirjade kataloog"
 
-#: src/lang.c:2943
+#: src/lang.c:3005
 msgid "# Format of the mailbox.\n"
 msgstr "# Kirjade kataloog.\n"
 
-#: src/lang.c:2948
+#: src/lang.c:3010
 msgid "MIME encoding in news messages"
 msgstr "Kasuta artiklites MIME kodeerimist"
 
-#: src/lang.c:2949
+#: src/lang.c:3011
 msgid ""
 "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n"
 "# for mails and posts, if necessary. QP is efficient for most European\n"
@@ -7972,15 +8117,15 @@ msgstr ""
 "# Base64 on kasulik enamuse 8 bitistele ida-aasia, kreeka ja vene\n"
 "# kooditabelitele, kus kasutatakse palju 8 bitiseid sÃ¼mboleid.\n"
 
-#: src/lang.c:2957 src/lang.c:2978
+#: src/lang.c:3019 src/lang.c:3040
 msgid "Don't change unless you know what you are doing. <ESC> cancels."
 msgstr "Ã„rge muutke, kui te ei tea, mida teete. <ESC> katkestab."
 
-#: src/lang.c:2958
+#: src/lang.c:3020
 msgid "Use 8bit characters in news headers"
 msgstr "Kasuta artikli pÃ¤ises 8bit tÃ¤hti"
 
-#: src/lang.c:2959
+#: src/lang.c:3021
 msgid ""
 "# If ON, 8bit characters in news headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -7992,30 +8137,30 @@ msgstr ""
 "# 8bit sÃ¼mbolid pÃ¤istes kodeeritakse sÃµltumata selle parameetri vÃ¤Ã¤rtusest,\n"
 "# v.a. juhul, kui post_mime_encoding vÃ¤Ã¤rtus on samuti 8bit.\n"
 
-#: src/lang.c:2966
+#: src/lang.c:3028
 msgid ""
 "Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 "Vaata tÃ¶Ã¶deldud faile automaatselt <TÃœHIK> lÃ¼litab, <CR> seab, <ESC> "
 "katkestab."
 
-#: src/lang.c:2967
+#: src/lang.c:3029
 msgid "View post-processed files"
 msgstr "Vaata tÃ¶Ã¶deldud faile"
 
-#: src/lang.c:2968
+#: src/lang.c:3030
 msgid "# If set, post processed files will be opened in a viewer\n"
 msgstr "# Kui on seatud, avatakse tÃ¶Ã¶deldud fail vaatamiseks\n"
 
-#: src/lang.c:2973
+#: src/lang.c:3035
 msgid "MIME encoding in mail messages"
 msgstr "Kasuta kirjades MIME kodeerimist"
 
-#: src/lang.c:2979
+#: src/lang.c:3041
 msgid "Use 8bit characters in mail headers"
 msgstr "Kasuta kirja pÃ¤ises 8bit tÃ¤hti"
 
-#: src/lang.c:2980
+#: src/lang.c:3042
 msgid ""
 "# If ON, 8bit characters in mail headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -8032,11 +8177,11 @@ msgstr ""
 "# et RFC 2822 keelab 8bit sÃ¼mbolid kirjade pÃ¤istes, seega selle\n"
 "# parameetri vÃ¤Ã¤rtus ON ei ole soovitatav kasutada.\n"
 
-#: src/lang.c:2991
+#: src/lang.c:3053
 msgid "Strip blanks from ends of lines"
 msgstr "Eemalda tÃ¼hikud realÃµppudest"
 
-#: src/lang.c:2992
+#: src/lang.c:3054
 msgid ""
 "# If ON strip blanks from ends of lines for faster display on slow "
 "terminals.\n"
@@ -8044,16 +8189,16 @@ msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, eemalda aeglaste terminalise tÃ¶Ã¶ kiirendamiseks\n"
 "# realÃµppudest tÃ¼hikud.\n"
 
-#: src/lang.c:2998
+#: src/lang.c:3060
 msgid "If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Kui vÃ¤Ã¤rtus on ON, kasuta transliteratsiooni. <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:2999
+#: src/lang.c:3061
 msgid "Transliteration"
 msgstr "Transliteratsioon"
 
-#: src/lang.c:3000
+#: src/lang.c:3062
 msgid ""
 "# If ON, use //TRANSLIT extension. This means that when a character cannot\n"
 "# be represented in the in the target character set, it can be approximated\n"
@@ -8064,11 +8209,11 @@ msgstr ""
 "# ei saa esitada soovitavas kooditabelis, vÃµib seda esitada kasutades\n"
 "# Ã¼ht vÃµi enamat sarnast sÃ¼mbolit.\n"
 
-#: src/lang.c:3008
+#: src/lang.c:3070
 msgid "Send you a Cc/Bcc automatically"
 msgstr "Saada automaatselt Cc/Bcc koopia"
 
-#: src/lang.c:3009
+#: src/lang.c:3071
 msgid ""
 "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8084,11 +8229,11 @@ msgstr ""
 "#   2 = Bcc\n"
 "#   3 = Cc ja Bcc\n"
 
-#: src/lang.c:3020
+#: src/lang.c:3082
 msgid "Hash algorithm for Cancel-Lock/Cancel-Key"
 msgstr "Cancel-Lock/Cancel-Key rÃ¤si algoritm"
 
-#: src/lang.c:3021
+#: src/lang.c:3083
 msgid ""
 "# Hash algorithm for Cancel-Lock/Cancel-Key (default 'sha1')\n"
 "# Use 'none' to not generate Cancel-Lock headers.\n"
@@ -8096,15 +8241,15 @@ msgstr ""
 "# Cancel-Lock/Cancel-Key rÃ¤si algoritm (vaikimisi 'sha1')\n"
 "# VÃ¤Ã¤rtus 'none' blokeerib Cancel-Lock pÃ¤iste loomise.\n"
 
-#: src/lang.c:3027
+#: src/lang.c:3089
 msgid "Enter address elements about which you want to be warned. <CR> sets."
 msgstr "Sisestage aadressi komponendid, mille eest peaks hoiatama. <CR> seab."
 
-#: src/lang.c:3028
+#: src/lang.c:3090
 msgid "Spamtrap warning address parts"
 msgstr "RÃ¤mpsposti hoiatus aadressi osadele"
 
-#: src/lang.c:3029
+#: src/lang.c:3091
 msgid ""
 "# A comma-delimited list of address-parts you want to be warned\n"
 "# about when trying to reply by email.\n"
@@ -8112,27 +8257,27 @@ msgstr ""
 "# Komaga eraldatud aadresside komponentide loend, mille kasutamisel\n"
 "# tuleks kasutajat hoiatada.\n"
 
-#: src/lang.c:3034
+#: src/lang.c:3096
 msgid "Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr "Sisestage kirje kehtivuse aeg pÃ¤evades. <CR> seab."
 
-#: src/lang.c:3035
+#: src/lang.c:3097
 msgid "No. of days a filter entry is valid"
 msgstr "Filtri kehtivus pÃ¤evades"
 
-#: src/lang.c:3036
+#: src/lang.c:3098
 msgid "# Number of days a short term filter will be active\n"
 msgstr "# lÃ¼hiajalise filtri kehtivus pÃ¤evades\n"
 
-#: src/lang.c:3040
+#: src/lang.c:3102
 msgid "Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr "Lisage postitatud artikkel filtrisse. <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:3041
+#: src/lang.c:3103
 msgid "Add posted articles to filter"
 msgstr "Lisage postitatud artikkel filtrile"
 
-#: src/lang.c:3042
+#: src/lang.c:3104
 msgid ""
 "# If ON add posted articles which start a new thread to filter for\n"
 "# highlighting follow-ups\n"
@@ -8140,24 +8285,24 @@ msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, lisa postitatud artiklid, mis alustavad uut teemat,\n"
 "# filtrile, mis mÃ¤rgistab vastuseid\n"
 
-#: src/lang.c:3046
+#: src/lang.c:3108
 msgid "The directory where articles/threads are to be saved in mailbox format."
 msgstr "Kataloog, kuhu artikleid/teemasid salvestatakse kirjaformaadis."
 
-#: src/lang.c:3047
+#: src/lang.c:3109
 msgid "Mail directory"
 msgstr "Kirjade kataloog"
 
-#: src/lang.c:3048
+#: src/lang.c:3110
 msgid "# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr ""
 "# (-m) kataloog, kuhu artikleid/teemasid salvestatakse kirjaformaadis\n"
 
-#: src/lang.c:3053
+#: src/lang.c:3115
 msgid "Save articles in batch mode (-S)"
 msgstr "Salvesta artiklid pakettmoodis (-S)"
 
-#: src/lang.c:3054
+#: src/lang.c:3116
 msgid ""
 "# If ON articles/threads will be saved in batch mode when save -S\n"
 "# or mail (-M/-N) is specified on the command line\n"
@@ -8165,19 +8310,19 @@ msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, artiklid salvestatakse pakettmoodis, kui kÃ¤sureal\n"
 "# on kasutatud vÃµtmeid salvestamiseks -S vÃµi saatmiseks -M, -N\n"
 
-#: src/lang.c:3059
+#: src/lang.c:3121
 msgid "The directory where you want articles/threads saved."
 msgstr "Kataloog, kuhu te soovite artikleid salvestada."
 
-#: src/lang.c:3060
+#: src/lang.c:3122
 msgid "Directory to save arts/threads in"
 msgstr "Kataloog artiklite salvestamiseks"
 
-#: src/lang.c:3061
+#: src/lang.c:3123
 msgid "# Directory where articles/threads are saved\n"
 msgstr "# Kataloog, kuhu salvestatakse artiklid/teemad\n"
 
-#: src/lang.c:3065
+#: src/lang.c:3127
 msgid ""
 "Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 "cancels."
@@ -8185,23 +8330,23 @@ msgstr ""
 "MÃ¤rgi salvestatud artiklid loetuks. <TÃœHIK> lÃ¼litab, <CR> seab, <ESC> "
 "katkestab."
 
-#: src/lang.c:3066
+#: src/lang.c:3128
 msgid "Mark saved articles/threads as read"
 msgstr "MÃ¤rgi salvestatud artiklid loetuks"
 
-#: src/lang.c:3067
+#: src/lang.c:3129
 msgid "# If ON mark articles that are saved as read\n"
 msgstr "# Kui vÃ¤Ã¤rtus on ON, mÃ¤rgi salvestatud artiklid loetuks\n"
 
-#: src/lang.c:3071
+#: src/lang.c:3133
 msgid "Do post processing (e.g. extract attachments) for saved articles."
 msgstr "Teosta salvestatud artiklitel jÃ¤reltÃ¶Ã¶tlemist (nt. lisade eraldamist)."
 
-#: src/lang.c:3072
+#: src/lang.c:3134
 msgid "Post process saved articles"
 msgstr "Salvestatud artikl. jÃ¤reltÃ¶Ã¶tlemine"
 
-#: src/lang.c:3073
+#: src/lang.c:3135
 msgid ""
 "# Perform post processing (saving binary attachments) from saved articles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8215,11 +8360,11 @@ msgstr ""
 "#   1 = eralda ainult shelli arhiivid (shar)\n"
 "#   2 = Jah\n"
 
-#: src/lang.c:3082
+#: src/lang.c:3144
 msgid "Process only unread articles"
 msgstr "TÃ¶Ã¶tle ainult lugemata artikleid"
 
-#: src/lang.c:3083
+#: src/lang.c:3145
 msgid ""
 "# If ON only save/print/pipe/mail unread articles (tagged articles "
 "excepted)\n"
@@ -8227,58 +8372,58 @@ msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, salvesta/trÃ¼ki/torusse/saada lugemata artikleid\n"
 "# (eeldatakse mÃ¤rgitud artikleid).\n"
 
-#: src/lang.c:3088
+#: src/lang.c:3150
 msgid "Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr "TrÃ¼ki kÃµik vÃµi ainult osa pÃ¤isest. <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:3089
+#: src/lang.c:3151
 msgid "Print all headers when printing"
 msgstr "TrÃ¼kkimisel trÃ¼ki kÃµik pÃ¤ised"
 
-#: src/lang.c:3090
+#: src/lang.c:3152
 msgid ""
 "# If ON print all of article header otherwise just the important lines\n"
 msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, trÃ¼ki kogu artikli pÃ¤is, muidu ainult tÃ¤htsamad read\n"
 
-#: src/lang.c:3094
+#: src/lang.c:3156
 msgid ""
 "The printer program with options that is to be used to print articles/"
 "threads."
 msgstr ""
 "Programm koos argumentidega, mida kasutatakse artiklite/teemade trÃ¼kkimiseks."
 
-#: src/lang.c:3095
+#: src/lang.c:3157
 msgid "Printer program with options"
 msgstr "TrÃ¼kikÃ¤sk koos vÃµtmetega"
 
-#: src/lang.c:3096
+#: src/lang.c:3158
 msgid "# Print program with parameters used to print articles/threads\n"
 msgstr ""
 "# Programm koos argumentidega, mida kasutatakse artiklite/teemade "
 "trÃ¼kkimiseks\n"
 
-#: src/lang.c:3102
+#: src/lang.c:3164
 msgid "Force redraw after certain commands"
 msgstr "VÃ¤rskenda ekraani peale kÃ¤ske"
 
-#: src/lang.c:3103
+#: src/lang.c:3165
 msgid ""
 "# If ON a screen redraw will always be done after certain external commands\n"
 msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, vÃ¤rskendatakse alati peale teatud vÃ¤liseid kÃ¤ske "
 "ekraani\n"
 
-#: src/lang.c:3107
+#: src/lang.c:3169
 msgid "Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr ""
 "Kasutage %E toimeti kohal, %F failinime kohal, %N reanumbrina, <CR> seab."
 
-#: src/lang.c:3108
+#: src/lang.c:3170
 msgid "Invocation of your editor"
 msgstr "Teie tekstitoimeti"
 
-#: src/lang.c:3109
+#: src/lang.c:3171
 msgid ""
 "# Format of editor line including parameters\n"
 "# %E Editor  %F Filename  %N Linenumber\n"
@@ -8286,16 +8431,16 @@ msgstr ""
 "# Tekstitoimeti rea formaat koos parameetritega\n"
 "# %E Toimeti  %F Failinimi  %N Reanumber\n"
 
-#: src/lang.c:3114
+#: src/lang.c:3176
 msgid ""
 "Enter name and options for external-inews, --internal for internal inews"
 msgstr "Sisestage vÃ¤lise inews kÃ¤su nimi ja vÃµtmed, sisemise valib --internal"
 
-#: src/lang.c:3115
+#: src/lang.c:3177
 msgid "External inews"
 msgstr "VÃ¤line inews"
 
-#: src/lang.c:3116
+#: src/lang.c:3178
 msgid ""
 "# If --internal use the built in mini inews for posting via NNTP\n"
 "# otherwise use an external inews program\n"
@@ -8303,34 +8448,33 @@ msgstr ""
 "# Kui on --internal, kasuta NNTP postitustel sisseehitatud inews kÃ¤sku\n"
 "# muidu kasuta vÃ¤list inews programmi\n"
 
-#: src/lang.c:3120
+#: src/lang.c:3182
 msgid ""
 "Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr ""
 "Kasutage %M programmi kohal, %S teema kohal, %T saaja kohal, %F failinime "
 "kohal, <CR> seab."
 
-#: src/lang.c:3121
+#: src/lang.c:3183
 msgid "Invocation of your mail command"
 msgstr "Teie e-posti kÃ¤sk"
 
-#: src/lang.c:3122
+#: src/lang.c:3184
+#, fuzzy
 msgid ""
 "# Format of mailer line including parameters\n"
-"# %M Mailer  %S Subject  %T To  %F Filename\n"
-"# e.g. to use mutt as your mailer:    mutt -s \"%S\" -- \"%T\" < %F\n"
-"# e.g. mutt interactive          :    mutt -H %F\n"
+"# %M Mailer  %S Subject  %T To  %F Filename  %U Username\n"
+"# e.g. mutt interactive:  mutt -H %F\n"
 msgstr ""
 "# e-posti saatja kÃ¤surea formaat koos parameetritega\n"
 "# %M Programm  %S Teema  %T Saaja  %F Failinimi\n"
-"# nÃ¤iteks. kasutada saatjana mutt programmi:    mutt -s \"%S\" \"%T\" < %F\n"
 "# nÃ¤iteks. mutt interaktiivses moodis      :    mutt -i %F -s \"%S\" \"%T\"\n"
 
-#: src/lang.c:3130
+#: src/lang.c:3191
 msgid "Use interactive mail reader"
 msgstr "Kasuta interaktiivset e-posti"
 
-#: src/lang.c:3131
+#: src/lang.c:3192
 msgid ""
 "# Interactive mailreader\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8344,33 +8488,33 @@ msgstr ""
 "#   1 = kasuta interaktiivset e-posti programmi koos pÃ¤istega\n"
 "#   2 = kasuta interaktiivset e-posti programmi pÃ¤isteta\n"
 
-#: src/lang.c:3140
+#: src/lang.c:3201
 msgid "Remove ~/.article after posting"
 msgstr "Eemalda ~/.article peale postitust"
 
-#: src/lang.c:3141
+#: src/lang.c:3202
 msgid "# If ON remove ~/.article after posting.\n"
 msgstr "# Kui vÃ¤Ã¤rtus on ON, kustuta  ~/.article peale postitust.\n"
 
-#: src/lang.c:3147
+#: src/lang.c:3208
 msgid "Use UTF-8 graphics (thread tree etc.)"
 msgstr "Kasuta UTF-8 graafikat (teema puu jne.)"
 
-#: src/lang.c:3148
+#: src/lang.c:3209
 msgid ""
 "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n"
 msgstr "# Kasuta UTF-8 sÃ¼mboleid mÃ¤rkimaks '->', puud ja punkte '...'.\n"
 
-#: src/lang.c:3153
+#: src/lang.c:3214
 msgid "Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr ""
 "Failinimi postitatud artiklitele. <CR> seab. Nime puudumisel ei salvestata."
 
-#: src/lang.c:3154
+#: src/lang.c:3215
 msgid "Filename for posted articles"
 msgstr "Failinimi postitatud artiklitele"
 
-#: src/lang.c:3155
+#: src/lang.c:3216
 msgid ""
 "# Filename where to keep all postings (default posted)\n"
 "# If no filename is set then postings will not be saved\n"
@@ -8378,39 +8522,39 @@ msgstr ""
 "# Failinimi, kus hoida kÃµiki postitusi (vaikimisi posted)\n"
 "# Kui nime pole, siis postitusi ei salvestata\n"
 
-#: src/lang.c:3160
+#: src/lang.c:3221
 msgid ""
 "Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Hoia ebaÃµnnestunud postitused failis ~/dead.articles. <TÃœHIK> lÃ¼litab ja "
 "<CR> seab."
 
-#: src/lang.c:3161
+#: src/lang.c:3222
 msgid "Keep failed arts in ~/dead.articles"
 msgstr "Vigased artiklid ~/dead.articles"
 
-#: src/lang.c:3162
+#: src/lang.c:3223
 msgid "# If ON keep all failed postings in ~/dead.articles\n"
 msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, hoia ebaÃµnnestunud postitused failis ~/dead.articles\n"
 
-#: src/lang.c:3166
+#: src/lang.c:3227
 msgid "Do you want to strip unsubscribed groups from .newsrc"
 msgstr "Kas te soovite eemaldada tellimata grupid .newsrc failist"
 
-#: src/lang.c:3167
+#: src/lang.c:3228
 msgid "No unsubscribed groups in newsrc"
 msgstr "newsrcs ainult tellitud grupid"
 
-#: src/lang.c:3168
+#: src/lang.c:3229
 msgid "# If ON strip unsubscribed groups from newsrc\n"
 msgstr "# Kui vÃ¤Ã¤rtus on ON, eemalda tellimata grupid newsrc failist\n"
 
-#: src/lang.c:3173
+#: src/lang.c:3234
 msgid "Remove bogus groups from newsrc"
 msgstr "Eemalda olematud grupid"
 
-#: src/lang.c:3174
+#: src/lang.c:3235
 msgid ""
 "# What to do with bogus groups in newsrc file\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8424,68 +8568,85 @@ msgstr ""
 "#   1 = Eemalda\n"
 "#   2 = MÃ¤rgi valikuekraanil lipuga D\n"
 
-#: src/lang.c:3183
+#: src/lang.c:3244
 msgid ""
 "Enter number of seconds to wait for a response from the server. <CR> sets."
 msgstr "Sisestage serverilt vastuse ootamise aeg sekundites. <CR> seab."
 
-#: src/lang.c:3184
+#: src/lang.c:3245
 msgid "NNTP read timeout in seconds"
 msgstr "NNTP lugemise taimout sekundites"
 
-#: src/lang.c:3185
+#: src/lang.c:3246
 msgid ""
 "# Time in seconds to wait for a response from the server (0=no timeout)\n"
 msgstr "# Serverilt vastuse ootamise aeg sekundites (0=piiramata)\n"
 
-#: src/lang.c:3190
+#: src/lang.c:3251
 msgid "Enter number of seconds until active file will be reread. <CR> sets."
 msgstr "Sisestage aktiivsete faili lugemise intervall sekundites. <CR> seab."
 
-#: src/lang.c:3191
+#: src/lang.c:3252
 msgid "Interval in secs to reread active"
 msgstr "Aktiivsete faili lugemise intervall"
 
-#: src/lang.c:3192
+#: src/lang.c:3253
 msgid ""
 "# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr "# Aktiivsete faili lugemise intervall (0 = ei loe)\n"
 
-#: src/lang.c:3197
+#: src/lang.c:3258
 msgid "Reconnect to server automatically"
 msgstr "Taasta automaatselt NNTP Ã¼hendus"
 
-#: src/lang.c:3198
+#: src/lang.c:3259
 msgid ""
 "# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr ""
 "# Kui vÃ¤Ã¤rtus on ON, Ã¼rita NNTP serveriga Ã¼henduse katkemisel Ã¼hendust\n"
 "# automaatselt taastada\n"
 
-#: src/lang.c:3202
+#: src/lang.c:3263
 msgid ""
 "Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Loo NNTP overview failidest lokaalne koopia. <TÃœHIK> lÃ¼litab ja <CR> seab."
 
-#: src/lang.c:3203
+#: src/lang.c:3264
 msgid "Cache NNTP overview files locally"
 msgstr "Puhverda NNTP overview lokaalselt"
 
-#: src/lang.c:3204
+#: src/lang.c:3265
 msgid "# If ON, create local copies of NNTP overview files.\n"
 msgstr "# Kui vÃ¤Ã¤rtus on ON, loo NNTP overview failidest lokaalsed koopiad.\n"
 
-#: src/lang.c:3208 src/lang.c:3223 src/lang.c:3243 src/lang.c:3266
-#: src/lang.c:3291 src/lang.c:3313 src/lang.c:3332
+#: src/lang.c:3270
+#, fuzzy
+msgid ""
+"Compress local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
+msgstr ""
+"Loo NNTP overview failidest lokaalne koopia. <TÃœHIK> lÃ¼litab ja <CR> seab."
+
+#: src/lang.c:3271
+#, fuzzy
+msgid "Compress locally cached NNTP overview files"
+msgstr "Puhverda NNTP overview lokaalselt"
+
+#: src/lang.c:3272
+#, fuzzy
+msgid "# If ON, compress local copies of NNTP overview files.\n"
+msgstr "# Kui vÃ¤Ã¤rtus on ON, loo NNTP overview failidest lokaalsed koopiad.\n"
+
+#: src/lang.c:3277 src/lang.c:3292 src/lang.c:3312 src/lang.c:3335
+#: src/lang.c:3360 src/lang.c:3382 src/lang.c:3401
 msgid "Enter format string. <CR> sets, <ESC> cancels."
 msgstr "Sisestage vormingusÃµne. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:3209
+#: src/lang.c:3278
 msgid "Format string for selection level"
 msgstr "Valiku taseme vormingusÃµne"
 
-#: src/lang.c:3210
+#: src/lang.c:3279
 msgid ""
 "# Format string for selection level representation\n"
 "# Default: %f %n %U  %G  %d\n"
@@ -8510,11 +8671,11 @@ msgstr ""
 "#   %n              Number, rea number ekraanil\n"
 "#   %U              Lugemata\n"
 
-#: src/lang.c:3224
+#: src/lang.c:3293
 msgid "Format string for group level"
 msgstr "Gruppide taseme vormingusÃµne"
 
-#: src/lang.c:3225
+#: src/lang.c:3294
 msgid ""
 "# Format string for group level representation\n"
 "# Default: %n %m %R %L  %s  %F\n"
@@ -8549,12 +8710,12 @@ msgstr ""
 "#   %s              Teema (ainult grupi tasemes)\n"
 "#   %S              Skoor\n"
 
-#: src/lang.c:3244
+#: src/lang.c:3313
 #, fuzzy
 msgid "Format string for attachment level"
 msgstr "Teema taseme vormingusÃµne"
 
-#: src/lang.c:3245
+#: src/lang.c:3314
 #, fuzzy
 msgid ""
 "# Format string for attachment level representation\n"
@@ -8593,12 +8754,12 @@ msgstr ""
 "#   %s              Teema (ainult grupi tasemes)\n"
 "#   %S              Skoor\n"
 
-#: src/lang.c:3267
+#: src/lang.c:3336
 #, fuzzy
 msgid "Format string for display of mime header"
 msgstr "KuupÃ¤evade esitamise vormingusÃµne"
 
-#: src/lang.c:3268
+#: src/lang.c:3337
 #, fuzzy
 msgid ""
 "# Format string for mime header at article level\n"
@@ -8639,12 +8800,12 @@ msgstr ""
 "#   %s              Teema (ainult grupi tasemes)\n"
 "#   %S              Skoor\n"
 
-#: src/lang.c:3292
+#: src/lang.c:3361
 #, fuzzy
 msgid "Format string for display of uue header"
 msgstr "KuupÃ¤evade esitamise vormingusÃµne"
 
-#: src/lang.c:3293
+#: src/lang.c:3362
 #, fuzzy
 msgid ""
 "# Format string for uue header at article level\n"
@@ -8682,11 +8843,11 @@ msgstr ""
 "#   %s              Teema (ainult grupi tasemes)\n"
 "#   %S              Skoor\n"
 
-#: src/lang.c:3314
+#: src/lang.c:3383
 msgid "Format string for thread level"
 msgstr "Teema taseme vormingusÃµne"
 
-#: src/lang.c:3315
+#: src/lang.c:3384
 msgid ""
 "# Format string for thread level representation\n"
 "# Default: %n %m  [%L]  %T  %F\n"
@@ -8718,19 +8879,19 @@ msgstr ""
 "#   %S              Skoor\n"
 "#   %T              Teema puu (ainult teema tase)\n"
 
-#: src/lang.c:3333
+#: src/lang.c:3402
 msgid "Format string for display of dates"
 msgstr "KuupÃ¤evade esitamise vormingusÃµne"
 
-#: src/lang.c:3334
+#: src/lang.c:3403
 msgid "# Format string for date representation\n"
 msgstr "# VormingusÃµne kuupÃ¤evade esitamiseks\n"
 
-#: src/lang.c:3344
+#: src/lang.c:3413
 msgid "Unicode normalization form"
 msgstr "Unikoodi normaliseerimise kuju"
 
-#: src/lang.c:3345
+#: src/lang.c:3414
 msgid ""
 "# Unicode normalization form\n"
 "# Possible values are:\n"
@@ -8750,19 +8911,19 @@ msgstr ""
 "#   4 = NFD\n"
 "#   5 = NFKC_CF\n"
 
-#: src/lang.c:3359
+#: src/lang.c:3428
 msgid "Render BiDi"
 msgstr "Renderda BiDi"
 
-#: src/lang.c:3360
+#: src/lang.c:3429
 msgid "# If ON, bi-directional text is rendered by tin\n"
 msgstr "# Kui vÃ¤Ã¤rtus on ON, renderdab tin mitmesuunalist (BiDi) teksti\n"
 
-#: src/lang.c:3367
+#: src/lang.c:3436
 msgid "Function for sorting articles"
 msgstr "Failinimi jÃ¤rjestatud artiklitele"
 
-#: src/lang.c:3368
+#: src/lang.c:3437
 msgid ""
 "# Function for sorting articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8774,174 +8935,183 @@ msgstr ""
 "# * 0 = qsort\n"
 "#   1 = heapsort\n"
 
-#: src/lang.c:3381
+#: src/lang.c:3450
 msgid "Automatically GroupMarkUnselArtRead"
 msgstr "Automaatselt GroupMarkUnselArtRead"
 
-#: src/lang.c:3387
+#: src/lang.c:3456
 msgid "Delete post-process files"
 msgstr "Kustuta jÃ¤rel-tÃ¶Ã¶deldud failid"
 
-#: src/lang.c:3392
+#: src/lang.c:3461
 msgid "Filename for all mailed articles, <CR> sets, no filename=do not save."
 msgstr ""
 "Failinimi mailitud artiklitele. <CR> seab. Nime puudumisel ei salvestata."
 
-#: src/lang.c:3393
+#: src/lang.c:3462
 msgid "Mailbox to save sent mails"
 msgstr "Saadetud e-mailide postkast"
 
-#: src/lang.c:3398
+#: src/lang.c:3467
 msgid "Set Followup-To: header to this group(s). <CR> sets, <ESC> cancels."
 msgstr "Sea grup(p)i(de)le Followup-To: pÃ¤is. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:3399
+#: src/lang.c:3468
 msgid "Followup-To: header"
 msgstr "Followup-To: pÃ¤is"
 
-#: src/lang.c:3404
+#: src/lang.c:3473
 msgid "Enter default mail address (and fullname). <CR> sets, <ESC> cancels."
 msgstr ""
 "Sisestage oma e-posti aadress (ja oma nimi). <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:3411
+#: src/lang.c:3480
 msgid ""
 "Path and options for ispell-like spell-checker. <CR> sets, <ESC> cancels."
 msgstr ""
 "ispell vÃµi selle analoogi tee ja argumendid, <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:3412
+#: src/lang.c:3481
 msgid "Ispell program"
 msgstr "Ispell programm"
 
-#: src/lang.c:3418
+#: src/lang.c:3487
 msgid "When group is a mailing list, send responses to this email address."
 msgstr "Kui grupp on postiloend, saada vastused sel aadressil."
 
-#: src/lang.c:3419
+#: src/lang.c:3488
 msgid "Mailing list address"
 msgstr "Postiloendi aadress"
 
-#: src/lang.c:3425
+#: src/lang.c:3494
 msgid "Forward articles as attachment"
 msgstr "Edasta artiklid manusena"
 
-#: src/lang.c:3430
+#: src/lang.c:3499
 msgid ""
 "A comma separated list of MIME major/minor Content-Types. <ESC> cancels."
 msgstr "Komaga eraldatud loend MIME pÃµhi/alam sisu tÃ¼Ã¼pidest. <ESC> katkestab."
 
-#: src/lang.c:3431
+#: src/lang.c:3500
 msgid "Which MIME types will be saved"
 msgstr "Millised MIME tÃ¼Ã¼bid salvestatakse"
 
-#: src/lang.c:3436
+#: src/lang.c:3505
 msgid "Value of the Organization: header. <CR> sets, <ESC> cancels."
 msgstr "Organization: pÃ¤ise vÃ¤Ã¤rtus. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:3437
+#: src/lang.c:3506
 msgid "Organization: header"
 msgstr "Organization: pÃ¤is"
 
-#: src/lang.c:3442
+#: src/lang.c:3511
 msgid "Filename for saved articles. <CR> sets, <ESC> cancels."
 msgstr "Salvestatud artiklite fail. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:3443
+#: src/lang.c:3512
 msgid "savefile"
 msgstr "fail salvestamiseks"
 
-#: src/lang.c:3448 src/lang.c:3472
+#: src/lang.c:3517 src/lang.c:3541
 msgid "Scope for the filter rule. <CR> sets, <ESC> cancels."
 msgstr "Filtri reegli skoop. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:3449
+#: src/lang.c:3518
 msgid "Quick (1 key) select filter scope"
 msgstr "Kiirvaliku (1 klahv) filtri skoop"
 
-#: src/lang.c:3454 src/lang.c:3478
+#: src/lang.c:3523 src/lang.c:3547
 msgid "Header for filter rule. <CR> sets, <ESC> cancels."
 msgstr "Filtri reegli pÃ¤is. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:3455
+#: src/lang.c:3524
 msgid "Quick (1 key) select filter header"
 msgstr "Kiire (1 klahvi) valik pÃ¤iste filtreerimiseks"
 
-#: src/lang.c:3460 src/lang.c:3484
+#: src/lang.c:3529 src/lang.c:3553
 msgid "ON = case sensitive, OFF = ignore case. <CR> sets, <ESC> cancels."
 msgstr "ON = tÃµstutundlik, OFF = tÃµstutundetu. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:3461
+#: src/lang.c:3530
 msgid "Quick (1 key) select filter case"
 msgstr "Kiirvaliku (1 klahv) valiku filtri tÃµstutundlikkus"
 
-#: src/lang.c:3466 src/lang.c:3490
+#: src/lang.c:3535 src/lang.c:3559
 msgid "ON = expire, OFF = don't ever expire. <CR> sets, <ESC> cancels."
 msgstr "ON = aegub, OFF = ei aegu. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:3467
+#: src/lang.c:3536
 msgid "Quick (1 key) select filter expire"
 msgstr "Kiirvalikuga (1 klahv) aegumise filter"
 
-#: src/lang.c:3473
+#: src/lang.c:3542
 msgid "Quick (1 key) kill filter scope"
 msgstr "Kiirsurmamise (1 klahv) filtri skoop"
 
-#: src/lang.c:3479
+#: src/lang.c:3548
 msgid "Quick (1 key) kill filter header"
 msgstr "Kiirvalikuga (1 klahv) surmamise filtri pÃ¤is"
 
-#: src/lang.c:3485
+#: src/lang.c:3554
 msgid "Quick (1 key) kill filter case"
 msgstr "Kiirsurmamise (1 klahv) filtri tÃµstutundlikkus"
 
-#: src/lang.c:3491
+#: src/lang.c:3560
 msgid "Quick (1 key) kill filter expire"
 msgstr "Kiirvalikuga (1 klahv) surmamise filtri aegumine"
 
-#: src/lang.c:3497
+#: src/lang.c:3566
 msgid "Assume this charset if no charset declaration is present, <CR> to set."
 msgstr "Kui kooditabelit pole mÃ¤Ã¤ratud, kasuta seda kooditabelit, <CR> seab."
 
-#: src/lang.c:3498
+#: src/lang.c:3567
 msgid "UNDECLARED_CHARSET"
 msgstr "UNDECLARED_CHARSET"
 
-#: src/lang.c:3504
+#: src/lang.c:3572
+#, fuzzy
+msgid "Guess charset if no charset declaration is present, <CR> to set."
+msgstr "Kui kooditabelit pole mÃ¤Ã¤ratud, kasuta seda kooditabelit, <CR> seab."
+
+#: src/lang.c:3573
+msgid "UNDECLARED_CS_GUESS"
+msgstr "UNDECLARED_CS_GUESS"
+
+#: src/lang.c:3580
 msgid ""
 "Add this text at the start of the message body. <CR> sets, <ESC> cancels."
 msgstr "Lisa see tekst teate keha algusse. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:3505
+#: src/lang.c:3581
 msgid "X_Body"
 msgstr "X_Body"
 
-#: src/lang.c:3510
+#: src/lang.c:3586
 msgid "Insert this header when posting. <CR> sets, <ESC> cancels."
 msgstr "Lisa postitamisel see pÃ¤is. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:3511
+#: src/lang.c:3587
 msgid "X_Headers"
 msgstr "X_Headers"
 
-#: src/lang.c:3516
+#: src/lang.c:3592
 msgid ""
 "Automatically insert an X-Comment-To: header? <SPACE> toggles & <CR> sets."
 msgstr "Lisa automaatselt X-Comment-To: pÃ¤is? <TÃœHIK> lÃ¼litab, <CR> seab."
 
-#: src/lang.c:3517
+#: src/lang.c:3593
 msgid "Insert 'X-Comment-To:' header"
 msgstr "Sisestage 'X-Comment-To:' pÃ¤is"
 
-#: src/lang.c:3523
+#: src/lang.c:3599
 msgid "Enter name of file containing trusted CA certificates. <CR> sets."
 msgstr "Sisestage usaldatavate CA sertifikaatide faili nimi. <CR> seab."
 
-#: src/lang.c:3524
+#: src/lang.c:3600
 msgid "CA certificate file"
 msgstr "CA sertifikaatide fail"
 
-#: src/lang.c:3525
+#: src/lang.c:3601
 msgid ""
 "# name of file containing all trusted CA certificates (empty = system "
 "default)\n"
@@ -8949,7 +9119,7 @@ msgstr ""
 "# faili nimi kÃµikidele usaldatavatele CA sertifikaatidele (tÃ¼hi = sÃ¼steemi "
 "vaikimisi)\n"
 
-#: src/nntplib.c:908
+#: src/nntplib.c:963
 #, c-format
 msgid ""
 "\n"
@@ -8958,41 +9128,68 @@ msgstr ""
 "\n"
 "Ãœhendus serveriga aegus, proovin taastada, katse %d\n"
 
-#: src/nntplib.c:950 src/nntplib.c:2032
+#: src/nntplib.c:1006 src/nntplib.c:2115
 msgid "Rejoin current group\n"
 msgstr "TaasÃ¼hinen jooksva grupiga\n"
 
-#: src/nntplib.c:959 src/nntplib.c:2041
+#: src/nntplib.c:1015 src/nntplib.c:2124
 #, c-format
 msgid "Read (%s)\n"
 msgstr "Lugesin (%s)\n"
 
-#: src/nntplib.c:961
+#: src/nntplib.c:1017
 #, c-format
 msgid "Resend last command (%s)\n"
 msgstr "Saada viimane kÃ¤sk uuesti (%s)\n"
 
-#: src/read.c:363
+#: src/read.c:358
 msgid "Aborted read\n"
 msgstr "Katkestatud lugemine\n"
 
-#: src/read.c:418
+#: src/read.c:413
 msgid "Draining\n"
 msgstr "TÃ¼hjendan\n"
 
-#: src/refs.c:656
+#: src/refs.c:654
 msgid "[- Unavailable -]"
 msgstr "[- Pole kasutatav -]"
 
-#, c-format
+#~ msgid "Invalid  From: %s  line. Read the INSTALL file again."
+#~ msgstr "Vigane From: %s rida. Lugege uuesti faili INSTALL."
+
+#~ msgid "bytes"
+#~ msgstr "baiti"
+
+#~ msgid "\tChecksum of %s (%ld %s)"
+#~ msgstr "\t%s kontrollsumma (%ld %s)"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in Approved: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Viga: Vigane aadress Approved: real.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in From: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Viga: Vigane aadress From: real.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in Reply-To: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Viga: Vigane aadress Reply-To: real.\n"
+
 #~ msgid "Version: %s %s release %s (\"%s\") %s %s\n"
 #~ msgstr "Versioon: %s %s vÃ¤ljalase %s (\"%s\") %s %s\n"
 
-#, c-format
 #~ msgid "%d lines"
 #~ msgstr "%d rida"
 
-#, c-format
 #~ msgid ""
 #~ "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n"
 #~ "\n"
Binary files tin-2.6.3/po/fr.gmo and tin-2.6.4/po/fr.gmo differ
diff -Nurp '--exclude=.bzr*' tin-2.6.3/po/fr.po tin-2.6.4/po/fr.po
--- tin-2.6.3/po/fr.po	2023-12-24 00:38:37.000000000 +0100
+++ tin-2.6.4/po/fr.po	2024-12-21 15:42:03.636745646 +0100
@@ -1,13 +1,13 @@
 # French translation for tin.
 # This file is distributed under the same license as the tin package.
-# Matt Anton <tin@lv223.org>, 2003-2018.
+# Matt Anton <tin@lv223.org>, 2003-2024.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: tin-2.6.2\n"
+"Project-Id-Version: tin-2.6.3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-12-13 22:25+0100\n"
-"PO-Revision-Date: 2023-08-11 14:02+0200\n"
+"POT-Creation-Date: 2024-12-21 15:42+0100\n"
+"PO-Revision-Date: 2024-01-14 14:50+0100\n"
 "Last-Translator: Matt Anton <tin@lv223.org>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "Language: fr\n"
@@ -15,14 +15,14 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 3.2.2\n"
+"X-Generator: Poedit 3.4.2\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
-#: src/lang.c:45
+#: src/lang.c:48
 msgid "1 Response"
 msgstr "1 RÃ©ponse"
 
-#: src/lang.c:49
+#: src/lang.c:50
 #, c-format
 msgid ""
 "\n"
@@ -31,36 +31,36 @@ msgstr ""
 "\n"
 "%s ne contient pas de groupes. Fermeture."
 
-#: src/lang.c:51
+#: src/lang.c:52
 msgid "Aborting read, please wait..."
 msgstr "Annulation de la lecture, un moment svp..."
 
-#: src/lang.c:53
+#: src/lang.c:54
 msgid "all"
 msgstr "tout"
 
-#: src/lang.c:54
+#: src/lang.c:55
 msgid "All groups"
 msgstr "Tous les groupes"
 
-#: src/lang.c:55
+#: src/lang.c:56
 #, c-format
 msgid "File %s exists. %s=append, %s=overwrite, %s=quit: "
 msgstr "Fichier %s existe. %s=ajouter, %s=Ã©craser, %s=quitter : "
 
-#: src/lang.c:56
+#: src/lang.c:57
 msgid "Article cancelled (deleted)."
 msgstr "Article annulÃ© (effacÃ©)."
 
-#: src/lang.c:58
+#: src/lang.c:59
 msgid "Article cannot be cancelled (deleted)."
 msgstr "Impossible d'annuler l'article (effacÃ©)."
 
-#: src/lang.c:60
+#: src/lang.c:61
 msgid "Article deleted."
 msgstr "Article effacÃ©."
 
-#: src/lang.c:61
+#: src/lang.c:62
 #, c-format
 msgid ""
 "\n"
@@ -75,7 +75,7 @@ msgstr ""
 "sera envoyÃ© par email Ã  l'adresse suivante :\n"
 "  %s"
 
-#: src/lang.c:62
+#: src/lang.c:63
 #, c-format
 msgid ""
 "\n"
@@ -88,41 +88,41 @@ msgstr ""
 "  \"%s\"\n"
 "sera postÃ© dans le(s) %s suivant(s) :\n"
 
-#: src/lang.c:63
+#: src/lang.c:64
 msgid "Article not posted!"
 msgstr "Article non postÃ© !"
 
-#: src/lang.c:64
+#: src/lang.c:65
 msgid "Article not saved"
 msgstr "Article non enregistrÃ©"
 
-#: src/lang.c:65
+#: src/lang.c:66
 msgid "Article Level Commands"
 msgstr "Commandes pour articles"
 
-#: src/lang.c:66
+#: src/lang.c:67
 msgid "Article has no parent"
 msgstr "Article orphelin"
 
-#: src/lang.c:67
+#: src/lang.c:68
 msgid "Parent article has been killed"
 msgstr "L'article parent a Ã©tÃ© filtrÃ©"
 
-#: src/lang.c:68
+#: src/lang.c:69
 msgid "Parent article is unavailable"
 msgstr "L'article parent est indisponible"
 
-#: src/lang.c:69
+#: src/lang.c:70
 #, c-format
 msgid "Article posted: %s"
 msgstr "Article postÃ© : %s"
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid "Article rejected (saved to %s)"
 msgstr "Article rejetÃ© (enregistrÃ© dans %s)"
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid ""
 "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: "
@@ -130,100 +130,105 @@ msgstr ""
 "%s=article, %s=fil, %s=champ, %s=sÃ©lection, %s=chaÃ®ne, %s=art. marq., "
 "%s=quitter : "
 
-#: src/lang.c:72
+#: src/lang.c:73
 msgid "Article unavailable"
 msgstr "Article indisponible"
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid "Article undeleted."
 msgstr "Article non effacÃ©."
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid "Article %4d of %4d"
 msgstr "Article %4d sur %4d"
 
-#: src/lang.c:76
+#: src/lang.c:77
+#, fuzzy
+msgid "Article Info Page"
+msgstr "Page d'information sur l'article"
+
+#: src/lang.c:78
 msgid "articles"
 msgstr "articles"
 
-#: src/lang.c:77
+#: src/lang.c:79
 msgid "This is a repost of the following article:"
 msgstr "C'est un repostage de l'article suivant :"
 
-#: src/lang.c:78
+#: src/lang.c:80
 msgid "article"
 msgstr "article"
 
-#: src/lang.c:79
+#: src/lang.c:81
 msgid "Article"
 msgstr "Article"
 
-#: src/lang.c:80
+#: src/lang.c:82
 #, c-format
 msgid "-- %d %s mailed --"
 msgstr "-- %d %s envoyÃ© --"
 
-#: src/lang.c:81
+#: src/lang.c:83
 #, c-format
 msgid " at %s"
 msgstr " Ã  %s"
 
-#: src/lang.c:84
-#, fuzzy, c-format
+#: src/lang.c:86
+#, c-format
 msgid "charset %s"
-msgstr "encodage %s"
+msgstr "jeu de caractÃ¨res %s"
 
-#: src/lang.c:85
+#: src/lang.c:87
 #, c-format
 msgid "content subtype %s"
-msgstr ""
+msgstr "sous-type du contenu %s"
 
-#: src/lang.c:86
+#: src/lang.c:88
 #, c-format
 msgid "content type %s"
-msgstr ""
+msgstr "type de contenu %s"
 
-#: src/lang.c:87
+#: src/lang.c:89
 #, c-format
 msgid "%*s[-- charset %s not supported --]\n"
 msgstr "%*s[-- l'encodage %s n'est pas supportÃ© --]\n"
 
-#: src/lang.c:88
+#: src/lang.c:90
 #, c-format
 msgid "%*s[-- Description: %s --]\n"
 msgstr "%*s[-- Description : %s --]\n"
 
-#: src/lang.c:89
-#, fuzzy, c-format
+#: src/lang.c:91
+#, c-format
 msgid "encoding %s"
-msgstr "encodage %s"
+msgstr "codage de %s"
 
-#: src/lang.c:95
-#, fuzzy, c-format
+#: src/lang.c:97
+#, c-format
 msgid "lang %s"
-msgstr "langue %s"
+msgstr "lang %s"
 
-#: src/lang.c:96
-#, fuzzy, c-format
+#: src/lang.c:98
+#, c-format
 msgid "%s lines"
-msgstr "%s Lignes"
+msgstr "%s lignes"
 
-#: src/lang.c:97
-#, fuzzy, c-format
+#: src/lang.c:99
+#, c-format
 msgid "name %s"
 msgstr "nom %s"
 
-#: src/lang.c:98
+#: src/lang.c:100
 msgid ", "
 msgstr ", "
 
-#: src/lang.c:99
-#, fuzzy, c-format
+#: src/lang.c:101
+#, c-format
 msgid "size %s"
 msgstr "taille %s"
 
-#: src/lang.c:100
+#: src/lang.c:102
 msgid ""
 "This message has been composed in the 'multipart/mixed' MIME-format. If you\n"
 "are reading this prefix, your mail reader probably has not yet been "
@@ -236,46 +241,46 @@ msgstr ""
 "ce qui suit peut paraÃ®tre assez bizarre.\n"
 "\n"
 
-#: src/lang.c:104
+#: src/lang.c:106
 msgid "Attachment Menu"
 msgstr "Menu PiÃ¨ce-jointe"
 
-#: src/lang.c:105
+#: src/lang.c:107
 msgid "Attachment Menu Commands"
 msgstr "Menu des piÃ¨ces-jointes"
 
-#: src/lang.c:106
+#: src/lang.c:108
 msgid "<no name>"
 msgstr "<aucun nom>"
 
-#: src/lang.c:107
+#: src/lang.c:109
 #, c-format
 msgid "Attachment saved successfully. (%s)"
 msgstr "PiÃ¨ce-jointe enregistrÃ©e. (%s)"
 
-#: src/lang.c:108
+#: src/lang.c:110
 #, c-format
 msgid "%d of %d attachments saved successfully."
 msgstr "%d sur %d piÃ¨ces-jointes enregistrÃ©es."
 
-#: src/lang.c:109
+#: src/lang.c:111
 msgid "Select attachment> "
 msgstr "SÃ©lectionner la piÃ¨ce-jointe > "
 
-#: src/lang.c:110
+#: src/lang.c:112
 msgid "Tagged attachment"
 msgstr "PiÃ¨ce-jointe marquÃ©e"
 
-#: src/lang.c:111
+#: src/lang.c:113
 #, c-format
 msgid "%d attachments tagged"
 msgstr "%d piÃ¨ce(s)-jointe(s) marquÃ©e(s)"
 
-#: src/lang.c:112
+#: src/lang.c:114
 msgid "Untagged attachment"
 msgstr "piÃ¨ce-jointe non marquÃ©e"
 
-#: src/lang.c:115
+#: src/lang.c:117
 msgid ""
 "# Do not edit this comment block\n"
 "#\n"
@@ -283,319 +288,325 @@ msgstr ""
 "# Ne pas Ã©diter ce commentaire\n"
 "#\n"
 
-#: src/lang.c:116
+#: src/lang.c:118
 msgid "#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr "#  scope=TERME (pe. alt.*,!alt.bin*) [obligatoire]\n"
 
-#: src/lang.c:117
+#: src/lang.c:119
 msgid "#  add_posted_to_filter=ON/OFF\n"
 msgstr "#  add_posted_to_filter=ON/OFF\n"
 
-#: src/lang.c:118
+#: src/lang.c:120
 msgid "#  advertising=ON/OFF\n"
 msgstr "#  advertising=ON/OFF\n"
 
-#: src/lang.c:119
+#: src/lang.c:121
 msgid "#  alternative_handling=ON/OFF\n"
 msgstr "#  alternative_handling=ON/OFF\n"
 
-#: src/lang.c:120
+#: src/lang.c:122
 msgid "#  ask_for_metamail=ON/OFF\n"
 msgstr "#  ask_for_metamail=ON/OFF\n"
 
-#: src/lang.c:121
+#: src/lang.c:123
 msgid "#  auto_cc_bcc=NUM\n"
 msgstr "#  auto_cc_bcc=NUM\n"
 
-#: src/lang.c:122
+#: src/lang.c:124
 msgid "#    0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n"
 msgstr "#    0=Non, 1=Cc, 2=Cci, 3=Cc et Cci\n"
 
-#: src/lang.c:123
+#: src/lang.c:125
 msgid "#  auto_list_thread=ON/OFF\n"
 msgstr "#  auto_list_thread=ON/OFF\n"
 
-#: src/lang.c:124
+#: src/lang.c:126
 msgid "#  auto_select=ON/OFF\n"
 msgstr "#  auto_select=ON/OFF\n"
 
-#: src/lang.c:125
+#: src/lang.c:127
 msgid "#  batch_save=ON/OFF\n"
 msgstr "#  batch_save=ON/OFF\n"
 
-#: src/lang.c:126
+#: src/lang.c:128
 msgid "#  date_format=STRING (eg. %a, %d %b %Y %H:%M:%S)\n"
 msgstr "#  date_format=TERME (pe. %a, %d %b %Y %H:%M:%S)\n"
 
-#: src/lang.c:127
+#: src/lang.c:129
 msgid "#  delete_tmp_files=ON/OFF\n"
 msgstr "#  delete_tmp_files=ON/OFF\n"
 
-#: src/lang.c:128
+#: src/lang.c:130
 msgid "#  editor_format=STRING (eg. %E +%N %F)\n"
 msgstr "#  editor_format=TERME (pe. %E +%N %F)\n"
 
-#: src/lang.c:129
+#: src/lang.c:131
 msgid "#  fcc=STRING (eg. =mailbox)\n"
 msgstr "#  fcc=TERME (pe. =mailbox)\n"
 
-#: src/lang.c:130
+#: src/lang.c:132
 msgid "#  followup_to=STRING\n"
 msgstr "#  followup_to=TERME\n"
 
-#: src/lang.c:131
+#: src/lang.c:133
 msgid "#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr "#  from=TERME (choix du 'From:', ne pas utiliser celui citÃ©)\n"
 
-#: src/lang.c:132
+#: src/lang.c:134
 msgid "#  group_catchup_on_exit=ON/OFF\n"
 msgstr "#  group_catchup_on_exit=ON/OFF\n"
 
-#: src/lang.c:133
+#: src/lang.c:135
 msgid "#  group_format=STRING (eg. %n %m %R %L  %s  %F)\n"
 msgstr "#  group_format=TERME (pe. %n %m %R %L  %s  %F)\n"
 
-#: src/lang.c:134
+#: src/lang.c:136
 msgid "#  mail_8bit_header=ON/OFF\n"
 msgstr "#  mail_8bit_header=ON/OFF\n"
 
-#: src/lang.c:135
+#: src/lang.c:137
 msgid "#  mail_mime_encoding=supported_encoding"
 msgstr "#  mail_mime_encoding=encodage_supportÃ©"
 
-#: src/lang.c:137
+#: src/lang.c:139
 msgid "#  ispell=STRING\n"
 msgstr "#  ispell=TERME\n"
 
-#: src/lang.c:139
+#: src/lang.c:141
 msgid "#  maildir=STRING (eg. ~/Mail)\n"
 msgstr "#  maildir=TERME (pe. ~/Mail)\n"
 
-#: src/lang.c:140
+#: src/lang.c:142
 msgid "#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr "#  mailing_list=TERME (pe. majordomo@example.org)\n"
 
-#: src/lang.c:141
+#: src/lang.c:143
 msgid "#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr "#  mime_types_to_save=TERME (pe. image/*,!image/bmp)\n"
 
-#: src/lang.c:142
+#: src/lang.c:144
 msgid "#  mark_ignore_tags=ON/OFF\n"
 msgstr "#  mark_ignore_tags=ON/OFF\n"
 
-#: src/lang.c:143
+#: src/lang.c:145
 msgid "#  mark_saved_read=ON/OFF\n"
 msgstr "#  mark_saved_read=ON/OFF\n"
 
-#: src/lang.c:144
+#: src/lang.c:146
 msgid "#  mime_forward=ON/OFF\n"
 msgstr "#  mime_forward=ON/OFF\n"
 
-#: src/lang.c:146
+#: src/lang.c:148
 msgid "#  mm_network_charset=supported_charset"
 msgstr "#  mm_network_charset=encodage_supportÃ©"
 
-#: src/lang.c:147
+#: src/lang.c:149
 msgid "#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr "#  undeclared_charset=TERME (dÃ©faut est US-ASCII)\n"
 
-#: src/lang.c:149
+#: src/lang.c:151
+#, fuzzy
+msgid "#  undeclared_cs_guess=ON/OFF (default is OFF)\n"
+msgstr "#  undeclared_cs_guess=ON/OFF (dÃ©faut est OFF)\n"
+
+#: src/lang.c:154
 msgid "#  news_headers_to_display=STRING\n"
 msgstr "#  news_headers_to_display=TERME\n"
 
-#: src/lang.c:150
+#: src/lang.c:155
 msgid "#  news_headers_to_not_display=STRING\n"
 msgstr "#  news_headers_to_not_display=TERME\n"
 
-#: src/lang.c:151
+#: src/lang.c:156
 msgid "#  news_quote_format=STRING\n"
 msgstr "#  news_quote_format=TERME\n"
 
-#: src/lang.c:152
+#: src/lang.c:157
 msgid "#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr "#  organization=TERME (si commence par '/' lire dans fichier)\n"
 
-#: src/lang.c:153
+#: src/lang.c:158
 msgid "#  pos_first_unread=ON/OFF\n"
 msgstr "#  pos_first_unread=ON/OFF\n"
 
-#: src/lang.c:154
+#: src/lang.c:159
 msgid "#  post_8bit_header=ON/OFF\n"
 msgstr "#  post_8bit_header=ON/OFF\n"
 
-#: src/lang.c:155
+#: src/lang.c:160
 msgid "#  post_mime_encoding=supported_encoding"
 msgstr "#  post_mime_encoding=encodage_supportÃ©"
 
-#: src/lang.c:156
+#: src/lang.c:161
 msgid "#  post_process_type=NUM\n"
 msgstr "#  post_process_type=NUM\n"
 
-#: src/lang.c:157
+#: src/lang.c:162
 msgid "#  post_process_view=ON/OFF\n"
 msgstr "#  post_process_view=ON/OFF\n"
 
-#: src/lang.c:158
+#: src/lang.c:163
 msgid "#  quick_kill_scope=STRING (e.g. talk.*)\n"
 msgstr "#  quick_kill_scope=TERME (pe. talk.*)\n"
 
-#: src/lang.c:159
+#: src/lang.c:164
 msgid "#  quick_kill_expire=ON/OFF\n"
 msgstr "#  quick_kill_expire=ON/OFF\n"
 
-#: src/lang.c:160
+#: src/lang.c:165
 msgid "#  quick_kill_case=ON/OFF\n"
 msgstr "#  quick_kill_case=ON/OFF\n"
 
-#: src/lang.c:161
+#: src/lang.c:166
 msgid "#  quick_kill_header=NUM\n"
 msgstr "#  quick_kill_header=NUM\n"
 
-#: src/lang.c:162 src/lang.c:171
+#: src/lang.c:167 src/lang.c:176
 msgid "#    0=Subject: (case sensitive)  1=Subject: (ignore case)\n"
 msgstr "#    0=Subject: (casse sensible)  1=Subject: (ignore la casse)\n"
 
-#: src/lang.c:163 src/lang.c:172
+#: src/lang.c:168 src/lang.c:177
 msgid "#    2=From: (case sensitive)     3=From: (ignore case)\n"
 msgstr "#    2=From: (casse sensible)     3=From: (ignore la casse)\n"
 
-#: src/lang.c:164 src/lang.c:173
+# fuzzy
+#: src/lang.c:169 src/lang.c:178
 msgid "#    4=Message-ID: & full References: line\n"
-msgstr "#    4=Message-ID: &  \"References:\" complÃ¨tes : ligne\n"
+msgstr "#    4=Message-ID: & References: complÃ¨tes ligne\n"
 
-#: src/lang.c:165 src/lang.c:174
+#: src/lang.c:170 src/lang.c:179
 msgid "#    5=Message-ID: & last References: entry only\n"
 msgstr "#    5=Message-ID: & derniÃ¨res References: entrÃ©e uniquement\n"
 
-#: src/lang.c:166 src/lang.c:175
+#: src/lang.c:171 src/lang.c:180
 msgid "#    6=Message-ID: entry only     7=Lines:\n"
 msgstr "#    6=Message-ID: entrÃ©e uniquement     7=Lignes:\n"
 
-#: src/lang.c:167
+#: src/lang.c:172
 msgid "#  quick_select_scope=STRING\n"
 msgstr "#  quick_select_scope=TERME\n"
 
-#: src/lang.c:168
+#: src/lang.c:173
 msgid "#  quick_select_expire=ON/OFF\n"
 msgstr "#  quick_select_expire=ON/OFF\n"
 
-#: src/lang.c:169
+#: src/lang.c:174
 msgid "#  quick_select_case=ON/OFF\n"
 msgstr "#  quick_select_case=ON/OFF\n"
 
-#: src/lang.c:170
+#: src/lang.c:175
 msgid "#  quick_select_header=NUM\n"
 msgstr "#  quick_select_header=NUM\n"
 
-#: src/lang.c:176
+#: src/lang.c:181
 msgid "#  quote_chars=STRING (%I for initials)\n"
 msgstr "#  quote_chars=TERME (%I pour les initiales)\n"
 
-#: src/lang.c:178
+#: src/lang.c:183
 msgid "#  print_header=ON/OFF\n"
 msgstr "#  print_header=ON/OFF\n"
 
-#: src/lang.c:180
+#: src/lang.c:185
 msgid "#  process_only_unread=ON/OFF\n"
 msgstr "#  process_only_unread=ON/OFF\n"
 
-#: src/lang.c:181
+#: src/lang.c:186
 msgid "#  prompt_followupto=ON/OFF\n"
 msgstr "#  prompt_followupto=ON/OFF\n"
 
-#: src/lang.c:182
+#: src/lang.c:187
 msgid "#  savedir=STRING (eg. ~user/News)\n"
 msgstr "#  savedir=TERME (pe. ~user/News)\n"
 
-#: src/lang.c:183
+#: src/lang.c:188
 msgid "#  savefile=STRING (eg. =linux)\n"
 msgstr "#  savefile=TERME (pe. =linux)\n"
 
-#: src/lang.c:184
+#: src/lang.c:189
 msgid "#  sigfile=STRING (eg. $var/sig)\n"
 msgstr "#  sigfile=TERME (pe. $var/sig)\n"
 
-#: src/lang.c:185
+#: src/lang.c:190
 msgid "#  show_author=NUM\n"
 msgstr "#  show_author=NUM\n"
 
-#: src/lang.c:186
+#: src/lang.c:191
 msgid "#  show_signatures=ON/OFF\n"
 msgstr "#  show_signatures=ON/OFF\n"
 
-#: src/lang.c:187
+#: src/lang.c:192
 msgid "#  show_art_score=ON/OFF\n"
 msgstr "#  show_art_score=ON/OFF\n"
 
-#: src/lang.c:189
+#: src/lang.c:194
 msgid "#  suppress_soft_hyphens=ON/OFF\n"
 msgstr "#  suppress_soft_hyphens=ON/OFF\n"
 
-#: src/lang.c:191
+#: src/lang.c:196
 msgid "#  show_only_unread_arts=ON/OFF\n"
-msgstr "#  show_only_unread=ON/OFF\n"
+msgstr "#  show_only_unread_arts=ON/OFF\n"
 
-#: src/lang.c:192
+#: src/lang.c:197
 msgid "#  sigdashes=ON/OFF\n"
 msgstr "#  sigdashes=ON/OFF\n"
 
-#: src/lang.c:193
+#: src/lang.c:198
 msgid "#  signature_repost=ON/OFF\n"
 msgstr "#  signature_repost=ON/OFF\n"
 
-#: src/lang.c:194
+#: src/lang.c:199
 msgid "#  sort_article_type=NUM\n"
-msgstr "#  sort_art_type=NUM\n"
+msgstr "#  sort_article_type=NUM\n"
 
-#: src/lang.c:195
+#: src/lang.c:200
 msgid "#  sort_threads_type=NUM\n"
 msgstr "#  sort_threads_type=NUM\n"
 
-#: src/lang.c:196
+#: src/lang.c:201
 msgid "#  tex2iso_conv=ON/OFF\n"
 msgstr "#  tex2iso_conv=ON/OFF\n"
 
-#: src/lang.c:197
+#: src/lang.c:202
 msgid "#  thread_catchup_on_exit=ON/OFF\n"
-msgstr "#  batch_save=ON/OFF\n"
+msgstr "#  thread_catchup_on_exit=ON/OFF\n"
 
-#: src/lang.c:198
+#: src/lang.c:203
 msgid "#  thread_articles=NUM"
-msgstr "#  thread_arts=NUM"
+msgstr "#  thread_articles=NUM"
 
-#: src/lang.c:199
+#: src/lang.c:204
 msgid "#  thread_format=STRING (eg. %n %m [%L]  %T  %F)\n"
 msgstr "#  thread_format=TERME (pe. %n %m [%L]  %T  %F)\n"
 
-#: src/lang.c:200
+#: src/lang.c:205
 msgid "#  thread_perc=NUM\n"
 msgstr "#  thread_perc=NUM\n"
 
-#: src/lang.c:201
+#: src/lang.c:206
 msgid "#  trim_article_body=NUM\n"
 msgstr "#  trim_article_body=NUM\n"
 
-#: src/lang.c:202
+#: src/lang.c:207
 msgid "#    0 = Don't trim article body\n"
 msgstr "#    0 = Ne pas nettoyer le corps de l'article\n"
 
-#: src/lang.c:203
+#: src/lang.c:208
 msgid "#    1 = Skip leading blank lines\n"
 msgstr "#   1 = Effacer les lignes vides du dÃ©but\n"
 
-#: src/lang.c:204
+#: src/lang.c:209
 msgid "#    2 = Skip trailing blank lines\n"
 msgstr "#   2 = Effacer les lignes vides de la fin\n"
 
-#: src/lang.c:205
+#: src/lang.c:210
 msgid "#    3 = Skip leading and trailing blank lines\n"
 msgstr "#   3 = Effacer les lignes vides du dÃ©but et de la fin\n"
 
-#: src/lang.c:206
+#: src/lang.c:211
 msgid "#    4 = Compact multiple blank lines between text blocks\n"
 msgstr "#   4 = Regrouper plusieurs lignes vides entre les paragraphes\n"
 
-#: src/lang.c:207
+#: src/lang.c:212
 msgid ""
 "#    5 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading blank lines\n"
@@ -603,7 +614,7 @@ msgstr ""
 "#   5 = Regrouper plusieurs lignes vides entre les paragraphes et\n"
 "#       effacer les lignes vides du dÃ©but\n"
 
-#: src/lang.c:208
+#: src/lang.c:213
 msgid ""
 "#    6 = Compact multiple blank lines between text blocks and skip\n"
 "#        trailing blank lines\n"
@@ -611,7 +622,7 @@ msgstr ""
 "#   6 = Regrouper plusieurs lignes vides entre les paragraphes et\n"
 "#       effacer les lignes vides de la fin\n"
 
-#: src/lang.c:209
+#: src/lang.c:214
 msgid ""
 "#    7 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading and trailing blank lines\n"
@@ -619,31 +630,31 @@ msgstr ""
 "#   7 = Regrouper plusieurs lignes vides entre les paragraphes et\n"
 "#       effacer les lignes vides du dÃ©but et de la fin\n"
 
-#: src/lang.c:210
+#: src/lang.c:215
 msgid "#  verbatim_handling=ON/OFF\n"
 msgstr "#  verbatim_handling=ON/OFF\n"
 
-#: src/lang.c:212
+#: src/lang.c:217
 msgid "#  extquote_handling=ON/OFF\n"
 msgstr "#  extquote_handling=ON/OFF\n"
 
-#: src/lang.c:214
+#: src/lang.c:219
 msgid "#  wrap_on_next_unread=ON/OFF\n"
 msgstr "#  wrap_on_next_unread=ON/OFF\n"
 
-#: src/lang.c:215
+#: src/lang.c:220
 msgid "#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr "#  x_body=TERME (pe. ~/.tin/extra-body-text)\n"
 
-#: src/lang.c:216
+#: src/lang.c:221
 msgid "#  x_comment_to=ON/OFF\n"
 msgstr "#  x_comment_to=ON/OFF\n"
 
-#: src/lang.c:217
+#: src/lang.c:222
 msgid "#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr "#  x_headers=TERME (pe. ~/.tin/extra-headers)\n"
 
-#: src/lang.c:218
+#: src/lang.c:223
 msgid ""
 "#\n"
 "# Note that it is best to put general (global scoping)\n"
@@ -651,7 +662,7 @@ msgstr ""
 "#\n"
 "# Notez que placer les entrÃ©es gÃ©nÃ©rales (portÃ©e globale) en premier\n"
 
-#: src/lang.c:219
+#: src/lang.c:224
 msgid ""
 "# entries first followed by group specific entries.\n"
 "#\n"
@@ -659,62 +670,69 @@ msgstr ""
 "# est prÃ©fÃ©rable, suivies des entrÃ©es spÃ©cifiques aux groupes.\n"
 "#\n"
 
-#: src/lang.c:220
+#: src/lang.c:225
 msgid "############################################################################\n"
 msgstr "############################################################################\n"
 
-#: src/lang.c:221
+#: src/lang.c:226
 msgid "Attributes Menu Commands"
 msgstr "Menu des attributs"
 
-#: src/lang.c:222
+#: src/lang.c:227
 #, c-format
 msgid "attribute with no scope: %s"
 msgstr "attribut sans sÃ©lection : %s"
 
-#: src/lang.c:224
+#: src/lang.c:229
 #, c-format
 msgid "%d Authentication failed"
 msgstr "%d Ã‰chec de l'authentification"
 
-#: src/lang.c:225
+#: src/lang.c:230
 #, c-format
 msgid "NNTP authorization password not found for %s"
 msgstr "Mot de passe NNTP introuvable pour %s"
 
-#: src/lang.c:226
+#: src/lang.c:231
 msgid "Server expects authentication.\n"
 msgstr "Le serveur attend une authentification.\n"
 
-#: src/lang.c:227
+#: src/lang.c:232
 msgid "    Please enter password: "
 msgstr "    Entrez votre mdp svp : "
 
-#: src/lang.c:228
+#: src/lang.c:233
 msgid "    Please enter username: "
 msgstr "    Entrez votre identifiant svp : "
 
-#: src/lang.c:229
+#: src/lang.c:234
 #, c-format
 msgid "Authorized for user: %s\n"
 msgstr "AutorisÃ© pour l'utilisateur : %s\n"
 
-#: src/lang.c:230
+#: src/lang.c:235
 #, c-format
 msgid "Authorization failed for user: %s\n"
 msgstr "Autorisation refusÃ©e pour l'utilisateur : %s\n"
 
-#: src/lang.c:232
+#: src/lang.c:236
+#, fuzzy
+msgid "No supported authorization method available in current state!\n"
+msgstr ""
+"Aucune mÃ©thode d'autorisation prise en charge n'est disponible dans l'Ã©tat "
+"actuelÂ !\n"
+
+#: src/lang.c:238
 #, c-format
 msgid "Author search backwards [%s]> "
 msgstr "Recherche arriÃ¨re sur l'auteur [%s] > "
 
-#: src/lang.c:233
+#: src/lang.c:239
 #, c-format
 msgid "Author search forwards [%s]> "
 msgstr "Recherche avant sur l'auteur [%s] > "
 
-#: src/lang.c:234
+#: src/lang.c:240
 #, c-format
 msgid ""
 "\n"
@@ -723,520 +741,555 @@ msgstr ""
 "\n"
 "Abonnement auto. Ã  %s"
 
-#: src/lang.c:235
+#: src/lang.c:241
 msgid "Autosubscribing groups...\n"
 msgstr "Abonnement auto. aux groupes...\n"
 
-#: src/lang.c:236
+#: src/lang.c:242
 #, c-format
 msgid "Autoselecting articles (use '%s' to see all unread) ..."
 msgstr "SÃ©lection auto. des articles (voir les non lus par '%s')..."
 
-#: src/lang.c:238
+#: src/lang.c:244
 #, c-format
 msgid ""
 "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 msgstr ""
 "L'article Ã  poster pose des problÃ¨mes. %s=quitter, %s=Menu, %s=Ã©diter : "
 
-#: src/lang.c:239
+#: src/lang.c:246
 #, c-format
 msgid "Unrecognized attribute: %s"
 msgstr "Attribut non reconnu : %s"
 
-#: src/lang.c:240
+#: src/lang.c:248
 #, c-format
 msgid "Bad command. Type '%s' for help."
 msgstr "Mauvaise commande. Tapez '%s' pour l'aide."
 
-#: src/lang.c:242
+#: src/lang.c:249
 msgid "Base article"
 msgstr "Article initial"
 
-#: src/lang.c:243
+#: src/lang.c:250
 msgid "Base article range"
 msgstr "Champ article initial"
 
-#: src/lang.c:244
+#: src/lang.c:251
 #, c-format
 msgid "%s: Updating of index files not supported: cache_overview_files=%s"
 msgstr "%s : MÃ j des fichiers index non supportÃ©e : cache_overview_files=%s"
 
-#: src/lang.c:245
+#: src/lang.c:252
 msgid "*** Beginning of article ***"
 msgstr "*** DÃ©but de l'article ***"
 
-#: src/lang.c:246
+#: src/lang.c:253
 msgid "*** Beginning of page ***"
 msgstr "*** DÃ©but de l'article ***"
 
-#: src/lang.c:248
-msgid "bytes"
-msgstr "octets"
-
-#: src/lang.c:251
+#: src/lang.c:255
 #, c-format
 msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr ""
 "Annuler (effacer) ou remplacer (Ã©craser) l'article [%%s]? (%s/%s/%s) : "
 
-#: src/lang.c:252
+#: src/lang.c:256
 msgid "Cancelling article..."
 msgstr "Annulation de l'article..."
 
-#: src/lang.c:254
+#: src/lang.c:258
 #, c-format
 msgid "Cannot create %s"
 msgstr "CrÃ©ation de %s impossible"
 
-#: src/lang.c:257
+#: src/lang.c:261
 #, c-format
 msgid "Can't find base article %d"
 msgstr "Article initial %d introuvable"
 
-#: src/lang.c:259
+#: src/lang.c:263
 #, c-format
 msgid "Can't open %s"
 msgstr "Ouverture de %s impossible"
 
-#: src/lang.c:260
+#: src/lang.c:264
 #, c-format
 msgid "Couldn't open %s for saving"
 msgstr "Ouverture de %s pour enregistrement impossible"
 
-#: src/lang.c:261
+#: src/lang.c:265
 msgid "*** Posting not allowed ***"
 msgstr "*** Postage non autorisÃ© ***"
 
-#: src/lang.c:262
+#: src/lang.c:266
 #, c-format
 msgid "Posting is not allowed to %s"
 msgstr "Postage non autorisÃ© dans %s"
 
-#: src/lang.c:264
+#: src/lang.c:268
 #, c-format
 msgid "Can't retrieve %s"
 msgstr "RÃ©cupÃ©ration de %s impossible"
 
-#: src/lang.c:266
+#: src/lang.c:270
 msgid "Can't supersede in mailgroups, try repost instead."
 msgstr ""
 "Impossible de remplacer dans les groupes mail, essayez de poster Ã  nouveau."
 
-#: src/lang.c:267
+#: src/lang.c:271
 #, c-format
 msgid "%s is a directory"
 msgstr "%s est un rÃ©pertoire"
 
-#: src/lang.c:268
+#: src/lang.c:272
 msgid "Catchup"
 msgstr "Marquer lu"
 
-#: src/lang.c:269
+#: src/lang.c:273
 #, c-format
 msgid "Catchup %s..."
 msgstr "Effacement sur %s..."
 
-#: src/lang.c:270
+#: src/lang.c:274
 msgid "Catchup all groups entered during this session?"
 msgstr "Marquer lus tous les groupes visitÃ©s lors de la session ?"
 
-#: src/lang.c:271
+#: src/lang.c:275
 msgid "You have tagged articles in this group - catchup anyway?"
 msgstr "Vous avez marquÃ© des articles de ce groupe - marquer comme lu ?"
 
-#: src/lang.c:272
+#: src/lang.c:276
 #, c-format
 msgid "%s %d %s in %lu seconds\n"
 msgstr "%s %d %s en %lu secondes\n"
 
-#: src/lang.c:273
+#: src/lang.c:277
 msgid "Caughtup"
 msgstr "Caughtup"
 
-#: src/lang.c:274
+#: src/lang.c:278
 msgid "Check Prepared Article"
 msgstr "VÃ©rification de l'article prÃ©parÃ©"
 
-#: src/lang.c:275
+#: src/lang.c:279
 msgid "Checking for new groups... "
 msgstr "VÃ©rification de nouveaux groupes... "
 
-#: src/lang.c:276
+#: src/lang.c:280
 msgid "Checking for news...\n"
-msgstr "VÃ©rification des articles...\n"
+msgstr "VÃ©rification des articlesâ€¦\n"
 
-#: src/lang.c:277
+#: src/lang.c:281
 #, c-format
 msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr "Traiter %s=non, %s=oui, %s=shar, %s=quitter : "
 
-#: src/lang.c:279
+#: src/lang.c:283
 msgid "ANSI color disabled"
 msgstr "Couleurs ANSI dÃ©sactivÃ©es"
 
-#: src/lang.c:280
+#: src/lang.c:284
 msgid "ANSI color enabled"
 msgstr "Couleurs ANSI activÃ©es"
 
-#: src/lang.c:282
+#: src/lang.c:286
 #, c-format
 msgid "Command failed: %s"
 msgstr "Ã‰chec commande : %s"
 
-#: src/lang.c:284
+#: src/lang.c:288
 msgid "Mark not selected articles read?"
 msgstr "Marquer comme lu les articles sÃ©lectionnÃ©s ?"
 
-#: src/lang.c:285
+#: src/lang.c:289
 msgid "Connection Info"
 msgstr "Information de connexion"
 
-#: src/lang.c:286
-#, fuzzy
+#: src/lang.c:290
 msgid "Reading from local spool.\n"
 msgstr "Lecture depuis le spool local.\n"
 
-#: src/lang.c:287
-#, fuzzy
+#: src/lang.c:291
 msgid "Reading saved news.\n"
-msgstr "Lecture des nouvelles sauvegardÃ©es.\n"
+msgstr "Lecture des articles enregistrÃ©s.\n"
 
-#: src/lang.c:295
+#: src/lang.c:292
 #, fuzzy
 msgid ""
 "\n"
+"Configuration files:\n"
+"--------------------\n"
+msgstr ""
+"\n"
+"DÃ©tails de la connexion :\n"
+"-------------------------\n"
+
+#: src/lang.c:300
+msgid ""
+"\n"
 "Local spool config:\n"
 "-------------------\n"
 msgstr ""
-"PropriÃ©tÃ©s de l'affichage\n"
-"-------------------------"
+"\n"
+"Configuration du spool local:\n"
+"-----------------------------\n"
 
-#: src/lang.c:300
+#: src/lang.c:305
 msgid "COMPRESS      :"
-msgstr ""
+msgstr "COMPRESS      :"
 
-#: src/lang.c:301
-#, fuzzy
+#: src/lang.c:306
 msgid ""
 "\n"
 "Connection details:\n"
 "-------------------\n"
 msgstr ""
-"Options des opÃ©rations\n"
-"----------------------"
+"\n"
+"DÃ©tails de la connexion :\n"
+"-------------------------\n"
 
-#: src/lang.c:303
+#: src/lang.c:308
 #, c-format
 msgid " DEFLATE %s\n"
-msgstr ""
+msgstr " DEFLATE %s\n"
 
-#: src/lang.c:304
+#: src/lang.c:309
 msgid "(enabled)"
-msgstr ""
+msgstr "(activÃ©)"
 
-#: src/lang.c:305
+#: src/lang.c:310
 msgid "(inactive)"
-msgstr ""
+msgstr "(inactif)"
 
-#: src/lang.c:307
+#: src/lang.c:312
 msgid " DEFLATE (not supported)\n"
-msgstr ""
+msgstr " DEFLATE (non supportÃ©)\n"
 
-#: src/lang.c:310
+#: src/lang.c:315
 msgid "(disabled)"
-msgstr ""
+msgstr "(dÃ©sactivÃ©)"
 
-#: src/lang.c:311
+#: src/lang.c:316
 #, c-format
 msgid "NNTP TIMEOUT  : %d seconds %s\n"
-msgstr ""
+msgstr "NNTP TIMEOUT  : %d secondes %s\n"
 
-#: src/lang.c:313
+#: src/lang.c:318
 #, c-format
 msgid "IMPLEMENTATION: %s\n"
-msgstr ""
+msgstr "IMPLEMENTATION : %s\n"
 
-#: src/lang.c:315
+#: src/lang.c:320
 #, c-format
 msgid "MAXARTNUM     : %s\n"
-msgstr ""
+msgstr "MAXARTNUM     : %s\n"
 
-#: src/lang.c:317
-#, fuzzy, c-format
+#: src/lang.c:322
+#, c-format
 msgid "Reading via NNTP (%s).\n"
-msgstr "Lecture depuis NNTP (%s).\n"
+msgstr "Lecture via NNTP (%s).\n"
 
-#: src/lang.c:318
+#: src/lang.c:323
 #, c-format
 msgid "NNTPPORT      : %u\n"
-msgstr ""
+msgstr "NNTPPORT      : %u\n"
 
-#: src/lang.c:319
+#: src/lang.c:324
 msgid "read only"
-msgstr ""
+msgstr "lecture seulement"
 
-#: src/lang.c:320
+#: src/lang.c:325
 msgid "read/write"
-msgstr ""
+msgstr "lecture/Ã©criture"
 
-#: src/lang.c:321
+#: src/lang.c:326
 #, c-format
 msgid "NNTPSERVER    : %s\n"
-msgstr ""
+msgstr "NNTPSERVER    : %s\n"
 
-#: src/lang.c:323
+#: src/lang.c:327
 #, fuzzy, c-format
+msgid "CONNECTIONTYPE: %s\n"
+msgstr "TYPE CONNEXION: %s\n"
+
+#: src/lang.c:329
+#, c-format
 msgid "Reading %s via NNTPS (%s; "
-msgstr "Pas de lecture %s depuis NNTP (%s; "
+msgstr "Lecture de %s via NNTPS (%s; "
 
-#: src/lang.c:325
-#, fuzzy, c-format
+#: src/lang.c:330
+#, c-format
 msgid "Certificate #%d\n"
-msgstr "Fichier des certificats CA"
+msgstr "Certificat #%d\n"
 
-#: src/lang.c:327
+#: src/lang.c:332
 #, c-format
 msgid "Issuer : %s\n"
-msgstr ""
+msgstr "Ã‰metteur : %s\n"
 
-#: src/lang.c:328
-#, fuzzy
+#: src/lang.c:333
 msgid ""
 "\n"
 "Server certificate information:\n"
 "-------------------------------\n"
 msgstr ""
-"OpÃ©rations sur les Groupes / fils / articles\n"
-"--------------------------------------------"
+"\n"
+"Information du certificat du serveur:\n"
+"-------------------------------------\n"
 
-#: src/lang.c:329
-#, fuzzy, c-format
+#: src/lang.c:334
+#, c-format
 msgid "Subject: %s\n"
-msgstr "Sujet: %s\n"
+msgstr "Sujet : %s\n"
 
-#: src/lang.c:330
-#, fuzzy
+#: src/lang.c:335
 msgid ""
 "\n"
 "TLS information:\n"
 "----------------\n"
 msgstr ""
-"OpÃ©rations sur les sÃ©lections\n"
-"-----------------------------"
+"\n"
+"Information TLS :\n"
+"-----------------\n"
 
-#: src/lang.c:333
+#: src/lang.c:336
+msgid "trusted"
+msgstr "digne de confiance"
+
+#: src/lang.c:337
+msgid "untrusted"
+msgstr "peu fiable"
+
+#: src/lang.c:339
 msgid "UNEXPECTED, possible BUG"
-msgstr ""
+msgstr "UNEXPECTED, bogue possible"
 
-#: src/lang.c:334
+#: src/lang.c:340
 msgid "tolerated as \"-k\" (insecure) requested"
-msgstr ""
+msgstr "tolÃ©rÃ© comme Â«Â -kÂ Â» (non sÃ©curisÃ©) demandÃ©"
 
-#: src/lang.c:335
+#: src/lang.c:341
 #, c-format
 msgid ""
 "Server certificate verification FAILED:\n"
 "\t%s (%s)\n"
 msgstr ""
+"Ã‰CHEC de la vÃ©rification du certificat du serveur :\n"
+"\t%s (%s)\n"
 
-#: src/lang.c:336
-#, fuzzy
+#: src/lang.c:342
 msgid "Server certificate verified successfully.\n"
-msgstr "le newsrc a Ã©tÃ© enregistrÃ© avec succÃ¨s.\n"
-
-#: src/lang.c:338
-msgid "trusted"
-msgstr ""
-
-#: src/lang.c:339
-msgid "untrusted"
-msgstr ""
+msgstr "VÃ©rification rÃ©ussie du certificat du serveur.\n"
 
-#: src/lang.c:342
+#: src/lang.c:346
 msgid "Server certificate verification FAILED: <can't get reason>\n"
 msgstr ""
+"Ã‰CHEC de la vÃ©rification du certificat du serveur : <impossible dâ€™obtenir la "
+"raison>\n"
 
-#: src/lang.c:346
+#: src/lang.c:350
 #, c-format
 msgid "%s %s (strength %d)\n"
-msgstr ""
+msgstr "%s %s (force %d)\n"
 
-#: src/lang.c:353
+#: src/lang.c:357
 #, c-format
 msgid "Cook article failed, %s is exiting"
 msgstr "PrÃ©paration de lâ€™article Ã©chouÃ©, %s en cours de fermeture"
 
-#: src/lang.c:354
+#: src/lang.c:358
 msgid "<CR>"
 msgstr "<RETOUR>"
 
-#: src/lang.c:355
+#: src/lang.c:359
 msgid "Creating active file for saved groups...\n"
 msgstr "CrÃ©ation du fichier active des groupes enregistrÃ©s...\n"
 
-#: src/lang.c:356
-msgid "Creating newsrc file...\n"
-msgstr "CrÃ©ation du fichier newsrc...\n"
+#: src/lang.c:360
+#, fuzzy, c-format
+msgid "Creating %s file...\n"
+msgstr "CrÃ©ation du fichier %s...\n"
 
-#: src/lang.c:358 src/lang.c:1666 src/lang.c:1686
+#: src/lang.c:362 src/lang.c:1715 src/lang.c:1735
 msgid "Default"
 msgstr "DÃ©faut"
 
-#: src/lang.c:359
+#: src/lang.c:363
 msgid "Delete saved files that have been post processed?"
 msgstr "Effacer les fichiers enregistrÃ©s qui ont Ã©tÃ© post-traitÃ©s ?"
 
-#: src/lang.c:360
+#: src/lang.c:364
 msgid "Deleting temporary files..."
 msgstr "Effacement des fichiers temporaires..."
 
-#: src/lang.c:362
+#: src/lang.c:366
 msgid "*** End of article ***"
 msgstr "*** Fin de l'article ***"
 
-#: src/lang.c:363
+#: src/lang.c:367
 msgid "*** End of articles ***"
 msgstr "*** Fin de la liste ***"
 
-#: src/lang.c:364
+#: src/lang.c:368
 msgid "*** End of attachments ***"
 msgstr "*** Fin des piÃ¨ces-jointes ***"
 
-#: src/lang.c:365
+#: src/lang.c:369
 msgid "*** End of groups ***"
 msgstr "*** Fin de la liste ***"
 
-#: src/lang.c:366
+#: src/lang.c:370
 msgid "*** End of page ***"
 msgstr "*** Fin de l'article ***"
 
-#: src/lang.c:367
+#: src/lang.c:371
 msgid "*** End of posted articles ***"
 msgstr "*** Fin de la liste ***"
 
-#: src/lang.c:368
+#: src/lang.c:372
 msgid "*** End of scopes ***"
 msgstr "*** Fin de la liste ***"
 
-#: src/lang.c:369
+#: src/lang.c:373
 msgid "*** End of thread ***"
 msgstr "*** Fin du fil ***"
 
-#: src/lang.c:370
+#: src/lang.c:374
 msgid "*** End of URLs ***"
 msgstr "*** Fin des URLs ***"
 
-#: src/lang.c:371
+#: src/lang.c:375
 msgid "Enter limit of articles to get> "
 msgstr "Entrez le nombre max d'articles Ã  rÃ©cupÃ©rer > "
 
-#: src/lang.c:372
+#: src/lang.c:376
 msgid "Enter Message-ID to go to> "
 msgstr "Entrez le Message-ID Ã  voir > "
 
-#: src/lang.c:373
+#: src/lang.c:377
 msgid " and enter next unread thread"
 msgstr " et passer au fil non lu suivant"
 
-#: src/lang.c:374
+#: src/lang.c:378
 msgid " and enter next unread article"
 msgstr " et passer Ã  l'article non lu suivant"
 
-#: src/lang.c:375
+#: src/lang.c:379
 msgid " and enter next unread group"
 msgstr " et entrer dans le groupe suivant non lu"
 
-#: src/lang.c:376
+#: src/lang.c:380
 msgid "Enter option number> "
 msgstr "Entrez le numÃ©ro de l'option > "
 
-#: src/lang.c:377
+#: src/lang.c:381
 #, c-format
 msgid "Enter range [%s]> "
 msgstr "Entrez un champ [%s] > "
 
-#: src/lang.c:378
-msgid ""
-"\n"
-"Warning: Approved: header used.\n"
-msgstr ""
-"\n"
-"Attention : en-tÃªte Approved: utilisÃ©.\n"
-
 #: src/lang.c:382
-msgid ""
-"\n"
-"Error: Bad address in Approved: header.\n"
-msgstr ""
-"\n"
-"Erreur : Mauvaise adresse dans l'en-tÃªte Approved:.\n"
+#, fuzzy, c-format
+msgid "Error: Could not appended %s to %s"
+msgstr "Erreur : impossible d'annexer %s Ã  %s"
 
 #: src/lang.c:383
 msgid ""
 "\n"
-"Error: Bad address in From: header.\n"
+"Warning: Approved: header used.\n"
 msgstr ""
 "\n"
-"Erreur : Mauvaise adresse dans l'en-tÃªte From:.\n"
+"Attention : en-tÃªte Approved: utilisÃ©.\n"
 
 #: src/lang.c:384
-msgid ""
-"\n"
-"Error: Bad FQDN in Message-ID: header.\n"
-msgstr ""
-"\n"
-"Erreur : Mauvais FQDN dans l'en-tÃªte Message-ID:.\n"
+#, fuzzy, c-format
+msgid "  Line %d: \"%s\": given string too long.\n"
+msgstr "  Ligne %dÂ : \"%s\" : chaÃ®ne donnÃ©e trop longue.\n"
 
 #: src/lang.c:385
+#, fuzzy, c-format
+msgid "  Line %d: \"%s\": unrecognized attribute.\n"
+msgstr "  Ligne %dÂ : \"%s\"Â : attribut non reconnu.\n"
+
+#: src/lang.c:386
+#, fuzzy, c-format
+msgid "  Line %d: \"%s\": malformed line, '=' missing.\n"
+msgstr "  Ligne %dÂ : \"%s\" : ligne mal formÃ©e, '=' manquant.\n"
+
+#: src/lang.c:390
+#, fuzzy, c-format
 msgid ""
 "\n"
-"Error: Bad address in Reply-To: header.\n"
+"Error: Bad address in \"%s\" header.\n"
 msgstr ""
 "\n"
-"Erreur : Mauvais adresse dans l'en-Ãªte Reply-To:.\n"
+"Erreur : Mauvaise adresse dans l'en-tÃªte \"%s\".\n"
 
-#: src/lang.c:386
+#: src/lang.c:391
 msgid ""
 "\n"
-"Error: Bad address in To: header.\n"
+"Error: Bad FQDN in Message-ID: header.\n"
 msgstr ""
 "\n"
-"Erreur : Mauvaise adresse dans l'en-tÃªte To:.\n"
+"Erreur : Mauvais FQDN dans l'en-tÃªte Message-ID:.\n"
 
-#: src/lang.c:388
+#: src/lang.c:393
+#, fuzzy, c-format
+msgid "Can't use literal IPv%d-address %s with TLS (-T)"
+msgstr "N'est pas une adresse IPv6 littÃ©rale : $s"
+
+#: src/lang.c:396
 #, c-format
 msgid "Can't unlock %s"
 msgstr "DÃ©verrouillage de %s impossible"
 
-#: src/lang.c:389
+#: src/lang.c:397
 #, c-format
 msgid "Couldn't dotlock %s - article not appended!"
 msgstr "N'a pu dÃ©verrouiler %s - article non ajoutÃ© !"
 
-#: src/lang.c:390
+#: src/lang.c:398
 #, c-format
 msgid "Couldn't lock %s - article not appended!"
 msgstr "N'a pu verrouiller %s - article non ajoutÃ© !"
 
-#: src/lang.c:393
+#: src/lang.c:401
 #, c-format
 msgid ""
 "Server requires authentication but compression (-C) is already active.\n"
 "Restart %s with -A cmd.-line switch in conjunction with -C.\n"
 msgstr ""
+"Lâ€™authentification est requise par le serveur mais la compression (-C) est "
+"dÃ©jÃ  active.\n"
+"RedÃ©marrer %s en ajoutant lâ€™option -A Ã  -C.\n"
 
-#: src/lang.c:396
+#: src/lang.c:404
 #, c-format
 msgid "Corrupted file %s"
 msgstr "Fichier %s corrompu"
 
-#: src/lang.c:397
+#: src/lang.c:406
 #, c-format
 msgid "couldn't expand %s\n"
 msgstr "impossible de dÃ©compacter %s\n"
 
-#: src/lang.c:399
+#: src/lang.c:408
+#, fuzzy, c-format
+msgid "Error: Custom format empty. Using default \"%s\"."
+msgstr ""
+"ErreurÂ : le format personnalisÃ© est plus long que lâ€™Ã©cran. Utilisation de "
+"celui par dÃ©faut Â«Â %sÂ Â»."
+
+#: src/lang.c:409
+#, fuzzy
+msgid ""
+"\n"
+"Error: Article is empty.\n"
+msgstr ""
+"\n"
+"Erreur : L'article est vide.\n"
+
+#: src/lang.c:411
 msgid ""
 "\n"
 "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n"
@@ -1244,38 +1297,43 @@ msgstr ""
 "\n"
 "Erreur : Followup-To \"poster\" et un groupe n'est pas autorisÃ© !\n"
 
-#: src/lang.c:400
+#: src/lang.c:412
 #, c-format
 msgid "Error: Custom format exceeds screen width. Using default \"%s\"."
 msgstr ""
 "ErreurÂ : le format personnalisÃ© est plus long que lâ€™Ã©cran. Utilisation de "
 "celui par dÃ©faut Â«Â %sÂ Â»."
 
-#: src/lang.c:401
+#: src/lang.c:413
 msgid "Internal error in GNKSA routine - send bug report.\n"
 msgstr "Erreur interne dans routine GNKSA - envoi d'un rapport de bogue.\n"
 
-#: src/lang.c:402
+#: src/lang.c:414
 msgid "Left angle bracket missing in route address.\n"
 msgstr "Accolade gauche manquante dans l'adresse de routage.\n"
 
-#: src/lang.c:403
+#: src/lang.c:415
 msgid "Left parenthesis missing in old-style address.\n"
 msgstr "ParenthÃ¨se gauche manquante dans l'ancien type d'adresse.\n"
 
-#: src/lang.c:404
+#: src/lang.c:416
 msgid "Right parenthesis missing in old-style address.\n"
 msgstr "ParenthÃ¨se droite manquante dans l'ancien type d'adresse.\n"
 
-#: src/lang.c:405
+#: src/lang.c:417
 msgid "At-sign missing in mail address.\n"
 msgstr "Arobase manquant dans l'adresse email.\n"
 
-#: src/lang.c:406
+#: src/lang.c:418
+#, fuzzy
+msgid "Right angle bracket missing in route address.\n"
+msgstr "Accolade gauche manquante dans l'adresse de routage.\n"
+
+#: src/lang.c:419
 msgid "Single component FQDN is not allowed. Add your domain.\n"
 msgstr "Composant FQDN unique non autorisÃ©. Ajoutez votre domaine.\n"
 
-#: src/lang.c:407
+#: src/lang.c:420
 msgid ""
 "Invalid domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1284,7 +1342,7 @@ msgstr ""
 "existe.\n"
 "Utilisez .invalid comme domaine premier pour les fausses adresses.\n"
 
-#: src/lang.c:408
+#: src/lang.c:421
 msgid ""
 "Illegal domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1293,7 +1351,7 @@ msgstr ""
 "existe.\n"
 "Utilisez .invalid comme domaine premier pour les fausses adresses.\n"
 
-#: src/lang.c:409
+#: src/lang.c:422
 msgid ""
 "Unknown domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1302,54 +1360,54 @@ msgstr ""
 "existe.\n"
 "Utilisez .invalid comme domaine premier pour les fausses adresses.\n"
 
-#: src/lang.c:410
+#: src/lang.c:423
 msgid "Illegal character in FQDN.\n"
 msgstr "CaractÃ¨re illÃ©gal dans le FQDN.\n"
 
-#: src/lang.c:411
+#: src/lang.c:424
 msgid "Zero length FQDN component not allowed.\n"
 msgstr "Valeur vide dans le FQDN non autorisÃ©.\n"
 
-#: src/lang.c:412
+#: src/lang.c:425
 msgid "FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr "Composant FQDN excÃ¨de la longueur max autorisÃ©e (63 car.).\n"
 
-#: src/lang.c:413
+#: src/lang.c:426
 msgid "FQDN component may not start or end with hyphen.\n"
 msgstr "Composant FQDN ne devrait pas commencer ou finir par un tiret.\n"
 
-#: src/lang.c:414
+#: src/lang.c:427
 msgid "FQDN component may not start with digit.\n"
 msgstr "Composant FQDN ne devrait pas commencer par un chiffre.\n"
 
-#: src/lang.c:415
+#: src/lang.c:428
 msgid "Domain literal has impossible numeric value.\n"
 msgstr "Domaine littÃ©ral contient une valeur numÃ©rique impossible.\n"
 
-#: src/lang.c:416
+#: src/lang.c:429
 msgid ""
 "Domain literal is for private use only and not allowed for global use.\n"
 msgstr ""
 "Domaine littÃ©ral est pour l'usage privÃ© et n'est pas autorisÃ© Ã  l'usage "
 "global.\n"
 
-#: src/lang.c:417
+#: src/lang.c:430
 msgid "Right bracket missing in domain literal.\n"
 msgstr "ParenthÃ¨se droite manquante dans le domaine littÃ©ral.\n"
 
-#: src/lang.c:418
+#: src/lang.c:431
 msgid "Missing localpart of mail address.\n"
 msgstr "Partie locale manquante dans l'adresse email.\n"
 
-#: src/lang.c:419
+#: src/lang.c:432
 msgid "Illegal character in localpart of mail address.\n"
 msgstr "CaractÃ¨re illÃ©gal dans la partie locale de l'adresse email.\n"
 
-#: src/lang.c:420
+#: src/lang.c:433
 msgid "Zero length localpart component not allowed.\n"
 msgstr "Valeur vide dans composant de partie locale non autorisÃ©.\n"
 
-#: src/lang.c:421
+#: src/lang.c:434
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
@@ -1358,7 +1416,7 @@ msgstr ""
 "Mots non citÃ©s ne devraient pas contenir '!()<>@,;:\\.[]' dans l'adresse de "
 "routage.\n"
 
-#: src/lang.c:422
+#: src/lang.c:435
 msgid ""
 "Illegal character in realname.\n"
 "Quoted words may not contain '()<>\\'.\n"
@@ -1366,7 +1424,7 @@ msgstr ""
 "CaractÃ¨re illÃ©gal dans le nom rÃ©el.\n"
 "Mots citÃ©s ne devraient pas contenir '()<>\\'.\n"
 
-#: src/lang.c:423
+#: src/lang.c:436
 msgid ""
 "Illegal character in realname.\n"
 "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
@@ -1375,11 +1433,11 @@ msgstr ""
 "Mots encodÃ©s ne devraient pas contenir '!()<>@,;:\"\\.[]/=' dans le "
 "paramÃ¨tre.\n"
 
-#: src/lang.c:424
+#: src/lang.c:437
 msgid "Bad syntax in encoded word used in realname.\n"
 msgstr "Mauvaise syntaxe dans le mot encodÃ© utilisÃ© dans le nom rÃ©el.\n"
 
-#: src/lang.c:425
+#: src/lang.c:438
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '()<>\\' in old-style addresses.\n"
@@ -1388,7 +1446,7 @@ msgstr ""
 "Mots non citÃ©s ne devraient pas contenir '()<>\\' dans les adresses de type "
 "anciennes.\n"
 
-#: src/lang.c:426
+#: src/lang.c:439
 msgid ""
 "Illegal character in realname.\n"
 "Control characters and unencoded 8bit characters > 127 are not allowed.\n"
@@ -1397,7 +1455,12 @@ msgstr ""
 "Les caractÃ¨res de contrÃ´le et non encodÃ©s en 8bit > 127 ne sont pas "
 "autorisÃ©s.\n"
 
-#: src/lang.c:427
+#: src/lang.c:440
+#, fuzzy
+msgid "Missing realname.\n"
+msgstr "Parties manquantes."
+
+#: src/lang.c:441
 msgid ""
 "\n"
 "Error: No blank line found after header.\n"
@@ -1405,7 +1468,16 @@ msgstr ""
 "\n"
 "Erreur : Pas de ligne vide trouvÃ©e aprÃ¨s l'en-tÃªte.\n"
 
-#: src/lang.c:428
+#: src/lang.c:442
+#, fuzzy
+msgid ""
+"\n"
+"Error: Illegal Distribution \"all\" used.\n"
+msgstr ""
+"\n"
+"Erreur : Formattage incorrect de %s.\n"
+
+#: src/lang.c:443
 #, c-format
 msgid ""
 "\n"
@@ -1415,7 +1487,7 @@ msgstr ""
 "Erreur : Formattage incorrect de %s.\n"
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:430
+#: src/lang.c:445
 msgid ""
 "\n"
 "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
@@ -1429,7 +1501,7 @@ msgstr ""
 "         correcte pour votre langue via le M)enu des options ou via\n"
 "         l'Ã©dition de votre tinrc.\n"
 
-#: src/lang.c:435
+#: src/lang.c:450
 msgid ""
 "\n"
 "Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
@@ -1446,7 +1518,7 @@ msgstr ""
 "         changement peut Ãªtre effectuÃ© via le M)enu des options ou via\n"
 "         l'Ã©dition de votre tinrc.\n"
 
-#: src/lang.c:441
+#: src/lang.c:456
 msgid ""
 "\n"
 "Error: Article starts with blank line instead of header\n"
@@ -1454,7 +1526,7 @@ msgstr ""
 "\n"
 "Erreur : L'article dÃ©bute avec une ligne vide au lieu d'un en-tÃªte\n"
 
-#: src/lang.c:442
+#: src/lang.c:457
 #, c-format
 msgid ""
 "\n"
@@ -1466,7 +1538,7 @@ msgstr ""
 "nom :\n"
 "%s\n"
 
-#: src/lang.c:443
+#: src/lang.c:458
 #, c-format
 msgid ""
 "\n"
@@ -1475,7 +1547,7 @@ msgstr ""
 "\n"
 "Erreur : La ligne \"%s:\" est vide.\n"
 
-#: src/lang.c:444
+#: src/lang.c:459
 #, c-format
 msgid ""
 "\n"
@@ -1484,7 +1556,7 @@ msgstr ""
 "\n"
 "Erreur : La ligne \"%s:\" est absente de l'en-tÃªte de l'article.\n"
 
-#: src/lang.c:445
+#: src/lang.c:460
 #, c-format
 msgid ""
 "\n"
@@ -1493,7 +1565,7 @@ msgstr ""
 "\n"
 "Erreur : %s ne contient pas de caractÃ¨res 7 bits.\n"
 
-#: src/lang.c:446
+#: src/lang.c:461
 #, c-format
 msgid ""
 "\n"
@@ -1504,7 +1576,7 @@ msgstr ""
 "Erreur : L'en-tÃªte Ã  la ligne %d n'a pas d'espace aprÃ¨s le sÃ©parateur :\n"
 "%s\n"
 
-#: src/lang.c:447
+#: src/lang.c:462
 #, c-format
 msgid ""
 "\n"
@@ -1513,48 +1585,59 @@ msgstr ""
 "\n"
 "Erreur : Il y a plusieurs lignes (%d) \"%s:\" dans l'en-tÃªte.\n"
 
-#: src/lang.c:448
-#, fuzzy, c-format
+#: src/lang.c:463
+#, c-format
 msgid ""
 "\n"
 "Error: Header on line %d has no name:\n"
 "%s\n"
 msgstr ""
 "\n"
-"Erreur : L'en-tÃªte Ã  la ligne %d n'a pas d'espace aprÃ¨s le sÃ©parateur :\n"
+"Erreur : Lâ€™en-tÃªte de la ligne %d nâ€™a pas de nom :\n"
 "%s\n"
 
-#: src/lang.c:450
+# fuzzy
+#: src/lang.c:464
+msgid ""
+"\n"
+"Error: This is a mailgroup, but a recipient (\"To:\") is missing.\n"
+msgstr ""
+"\n"
+"ErreurÂ :Â il s'agit d'un groupe de messagerie, mais un destinataire "
+"(\"To:Â \") est manquant.\n"
+
+#: src/lang.c:465
+#, c-format
+msgid "Mixed up '-f'/'-F'? %s %s"
+msgstr ""
+
+#: src/lang.c:467
 #, c-format
 msgid "Insecure permissions of %s (%o)"
 msgstr "Permissions de %s non sÃ»res (%o)"
 
-#: src/lang.c:453
-#, fuzzy, c-format
+#: src/lang.c:470
+#, c-format
 msgid "Line %d is longer than %d octets and should be folded.\n"
-msgstr ""
-"\n"
-"La ligne %d est plus longue que %d octets et devrait Ãªtre rÃ©duite, mais\n"
-"l'encodage n'est pas %s\n"
+msgstr "La ligne %d est plus longue que %d octets et devrait Ãªtre rÃ©duite.\n"
 
-#: src/lang.c:455
-#, fuzzy, c-format
+#: src/lang.c:472
+#, c-format
 msgid "Line %d is longer than %d octets and should be shortened.\n"
 msgstr ""
-"\n"
-"La ligne %d est plus longue que %d octets et devrait Ãªtre rÃ©duite, mais\n"
-"l'encodage n'est pas %s\n"
+"La ligne %d est plus longue que %d octets et devrait Ãªtre raccourcie.\n"
 
-#: src/lang.c:461
-#, c-format
-msgid "MIME parse error: Unexpected end of %s/%s article"
-msgstr "Erreur MIME : Fin inattendue de l'article %s %s"
+#: src/lang.c:477
+#, fuzzy, c-format
+msgid "MIME parse error: Unexpected end of %s/%s article\n"
+msgstr "Erreur MIME : Fin inattendue de l'article %s %s\n"
 
-#: src/lang.c:462
-msgid "MIME parse error: Start boundary whilst reading headers"
-msgstr "Erreur MIME : DÃ©but de la borne lors de la lecture des en-tÃªtes"
+#: src/lang.c:478
+#, fuzzy
+msgid "MIME parse error: Start boundary whilst reading headers\n"
+msgstr "Erreur MIME : DÃ©but de la borne lors de la lecture des en-tÃªtes\n"
 
-#: src/lang.c:464
+#: src/lang.c:479
 msgid ""
 "\n"
 "Error: \"poster\" is not allowed in Newsgroups!\n"
@@ -1562,16 +1645,11 @@ msgstr ""
 "\n"
 "Erreur : \"poster\" n'est pas autorisÃ© dans les Groupes !\n"
 
-#: src/lang.c:465
+#: src/lang.c:480
 msgid "Can't get a (fully-qualified) domain-name!"
 msgstr "Nom de domaine (qualifiÃ©) introuvable !"
 
-#: src/lang.c:466
-#, c-format
-msgid "No permissions to go into %s\n"
-msgstr "Pas la permission d'aller dans %s\n"
-
-#: src/lang.c:468
+#: src/lang.c:482
 msgid ""
 "\n"
 "Error: From: line missing.\n"
@@ -1579,34 +1657,44 @@ msgstr ""
 "\n"
 "Erreur : En-tÃªte 'From:' manquant.\n"
 
-#: src/lang.c:470
+#: src/lang.c:485
+#, c-format
+msgid "No permissions to go into %s\n"
+msgstr "Pas la permission d'aller dans %s\n"
+
+#: src/lang.c:486
 #, c-format
 msgid "No read permissions for %s\n"
 msgstr "Pas la permission de lecture pour %s\n"
 
-#: src/lang.c:471
+#: src/lang.c:487
 #, c-format
 msgid "File %s does not exist\n"
 msgstr "Fichier %s inexistant\n"
 
-#: src/lang.c:472
+#: src/lang.c:488
 #, c-format
 msgid "No write permissions for %s\n"
 msgstr "Pas la permission d'Ã©crire pour %s\n"
 
-#: src/lang.c:473
+#: src/lang.c:490
+#, fuzzy, c-format
+msgid "Not a literal IPv6 address: %s"
+msgstr "N'est pas une adresse IPv6 littÃ©rale : $s"
+
+#: src/lang.c:493
 msgid "Can't get user information (/etc/passwd missing?)"
 msgstr "Info sur l'utilisateur introuvable (/etc/passwd manquant ?)"
 
-#: src/lang.c:475
+#: src/lang.c:495
 msgid "errors"
 msgstr "erreurs"
 
-#: src/lang.c:476
+#: src/lang.c:496
 msgid "error"
 msgstr "erreur"
 
-#: src/lang.c:479
+#: src/lang.c:499
 #, c-format
 msgid ""
 "\n"
@@ -1616,61 +1704,61 @@ msgstr ""
 "Erreur sur la ligne %d : en-tÃªte \"Sender:\" non autorisÃ© (sera ajoutÃ© pour "
 "vous)\n"
 
-#: src/lang.c:481
+#: src/lang.c:501
 #, c-format
 msgid "Server has non of the groups listed in %s"
 msgstr "Le serveur n'a aucun groupe listÃ© dans %s"
 
-#: src/lang.c:482
+#: src/lang.c:502
 #, c-format
 msgid "Error: unlink %s"
 msgstr "Erreur : dissocier %s"
 
-#: src/lang.c:483
+#: src/lang.c:503
 msgid "Unknown display level"
 msgstr "Vue affichÃ©e inconnue"
 
-#: src/lang.c:485
+#: src/lang.c:505
 msgid "Unreachable?\n"
 msgstr "Inacessible ?\n"
 
-#: src/lang.c:487
+#: src/lang.c:507
 msgid "<ESC>"
 msgstr "<ESC>"
 
-#: src/lang.c:488
+#: src/lang.c:508
 msgid "Exiting..."
 msgstr "Fermeture..."
 
-#: src/lang.c:489
+#: src/lang.c:509
 msgid "leaving external mail-reader"
 msgstr "fermeture du client mail externe"
 
-#: src/lang.c:490
+#: src/lang.c:510
 #, c-format
 msgid "Extracting %s..."
 msgstr "Extraction de %s..."
 
-#: src/lang.c:492
+#: src/lang.c:512
 #, c-format
 msgid "Error writing %s file. Filesystem full? File reset to previous state."
 msgstr "Ã‰criture du fichier %s Ã©chouÃ©e. Disque plein ? Fichier non touchÃ©."
 
-#: src/lang.c:493
+#: src/lang.c:513
 #, c-format
 msgid "Error making backup of %s file. Filesystem full?"
 msgstr "Erreur lors de la sauvegarde du fichier %s. Disque plein ?"
 
-#: src/lang.c:494
+#: src/lang.c:514
 #, c-format
 msgid "Filtering global rules (%d/%d) ('q' to quit)..."
 msgstr "Filtrage selon les rÃ¨gles globales (%d/%d) ('q' pour quitter)..."
 
-#: src/lang.c:495
+#: src/lang.c:515
 msgid "Rule created by: "
 msgstr "RÃ¨gle crÃ©Ã©e par : "
 
-#: src/lang.c:496
+#: src/lang.c:516
 msgid ""
 "# Format:\n"
 "#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
@@ -1743,48 +1831,48 @@ msgstr ""
 "rÃ¨gle.\n"
 "#\n"
 
-#: src/lang.c:522
+#: src/lang.c:542
 #, c-format
 msgid "Enter score for rule (default=%d): "
 msgstr "Entrez le score (dÃ©faut=%d) : "
 
-#: src/lang.c:523
+#: src/lang.c:543
 #, c-format
 msgid "Enter the score weight (range 0 < score <= %d)"
 msgstr "Entrez la valeur du score (0 < score <= %d)"
 
 #. SCORE_MAX
-#: src/lang.c:524
+#: src/lang.c:544
 msgid "Full"
 msgstr "Tous"
 
-#: src/lang.c:525
+#: src/lang.c:545
 msgid "Comment (optional)  : "
 msgstr "Commentaire (facultatif) : "
 
-#: src/lang.c:527
+#: src/lang.c:547
 msgid "Malformed overview entry: servername missing."
-msgstr ""
+msgstr "EntrÃ©e overview malformÃ©e : servername absent."
 
-#: src/lang.c:528
+#: src/lang.c:548
 #, c-format
 msgid "\t Xref: %s"
-msgstr ""
+msgstr "\t Xref: %s"
 
-#: src/lang.c:529
+#: src/lang.c:549
 msgid "Skipping Xref filter"
-msgstr ""
+msgstr "Ne pas appliquer le filtre Xref"
 
-#: src/lang.c:531
+#: src/lang.c:551
 msgid "Apply pattern to    : "
 msgstr "Appliquer Ã      : "
 
-#: src/lang.c:532
+#: src/lang.c:552
 #, c-format
 msgid "Enter pattern [%s]> "
 msgstr "Entrez le rÃ©glage [%s] > "
 
-#: src/lang.c:533
+#: src/lang.c:553
 #, c-format
 msgid ""
 "\n"
@@ -1794,866 +1882,871 @@ msgstr ""
 "Vous avez souhaitÃ© que les rÃ©ponses Ã  votre article aillent au(x) %s "
 "suivant(s) :\n"
 
-#: src/lang.c:534
+#: src/lang.c:554
 #, c-format
 msgid "  %s\t Answers will be directed to you by mail.\n"
 msgstr "  %s\t Les rÃ©ponses vous seront envoyÃ©es par email.\n"
 
-#: src/lang.c:535
+#: src/lang.c:555
 msgid "-- forwarded message --\n"
 msgstr "-- message redirigÃ© --\n"
 
-#: src/lang.c:536
+#: src/lang.c:556
 msgid "-- end of forwarded message --\n"
 msgstr "-- fin du message redirigÃ© --\n"
 
-#: src/lang.c:537
+#: src/lang.c:557
 msgid "From: line (ignore case)      "
 msgstr "l'en-tÃªte 'From:' (ignorer la casse)"
 
-#: src/lang.c:538
+#: src/lang.c:558
 msgid "From: line (case sensitive)   "
 msgstr "l'en-tÃªte 'From:' (casse sensible)"
 
-#: src/lang.c:541
+#: src/lang.c:561
 #, c-format
 msgid "%s%s: Unknown host.\n"
 msgstr "%s%s : HÃ´te inconnu.\n"
 
-#: src/lang.c:543
+#: src/lang.c:563
 msgid "global "
 msgstr "global "
 
-#: src/lang.c:544
+#: src/lang.c:564
 #, c-format
 msgid "Please use %.100s instead"
 msgstr "Utilisez svp %.100s Ã  la place"
 
-#: src/lang.c:545
+#: src/lang.c:565
 #, c-format
 msgid "%s is bogus"
 msgstr "%s pose problÃ¨me"
 
-#: src/lang.c:546
+#: src/lang.c:566
 #, c-format
 msgid "Group %s is moderated. Continue?"
 msgstr "Groupe %s modÃ©rÃ©. Continuer ?"
 
-#: src/lang.c:547
+#: src/lang.c:567
 msgid "groups"
 msgstr "groupes"
 
-#: src/lang.c:548
+#: src/lang.c:568
 #, c-format
 msgid "Rereading %s..."
 msgstr "Relecture de %s..."
 
-#: src/lang.c:549
+#: src/lang.c:569
 msgid "Top Level Commands"
 msgstr "Commandes niveau supÃ©rieur"
 
-#: src/lang.c:550
+#: src/lang.c:570
 msgid "Group Selection"
 msgstr "SÃ©lection du groupe"
 
-#: src/lang.c:551
+#: src/lang.c:571
 msgid "group"
 msgstr "groupe"
 
-#: src/lang.c:552
+#: src/lang.c:572
 msgid ""
 "*** Group descriptions are disabled according to current select_format ***"
 msgstr ""
 "*** Les descriptions de groupe sont dÃ©sactivÃ©es en accord avec le format "
 "sÃ©lectionnÃ© ***"
 
-#: src/lang.c:554
+#: src/lang.c:574
 msgid ""
 "One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr ""
 "Inclure un commentaire. <RETOUR> pour ajouter une ligne ou continuer si vide."
 
-#: src/lang.c:555
+#: src/lang.c:575
 msgid "From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "Filtrer l'en-tÃªte 'From:'. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:556
+#: src/lang.c:576
 msgid ""
 "Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr ""
 "Filtrer selon le nombre de lignes. < pour moins, > pour plus, = pareil."
 
-#: src/lang.c:557
+#: src/lang.c:577
 msgid "Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "Filtrer l'en-tÃªte 'Message-ID'. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:558
+#: src/lang.c:578
 msgid "Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "Filtrer l'en-tÃªte 'Subject'. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:559
+#: src/lang.c:579
 msgid ""
 "Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr "Terme Ã  filtrer si autre que les en-tÃªtes 'Subject:' & 'From:'."
 
-#: src/lang.c:560
+#: src/lang.c:580
 msgid ""
 "Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Sur quel en-tÃªte appliquer ce terme. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:561
+#: src/lang.c:581
 msgid ""
 "Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 "DurÃ©e (en nombre de jours) de la rÃ¨gle. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:562
+#: src/lang.c:582
 msgid ""
 "Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr "Filtrer groupe actuel ou tous. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:563
+#: src/lang.c:583
 msgid ""
 "Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Appliquer la rÃ¨gle au groupe actuel ou Ã  tous. <ESPACE> change & <RETOUR> "
 "valide."
 
-#: src/lang.c:564
+#: src/lang.c:584
 msgid "kill an article via a menu"
 msgstr "filtrer un article via un menu"
 
-#: src/lang.c:565
+#: src/lang.c:585
 msgid "auto-select (hot) an article via a menu"
 msgstr "sÃ©lection auto. (hot) d'un article via un menu"
 
-#: src/lang.c:566
+#: src/lang.c:586
 msgid "Browse URLs in article"
 msgstr "Voir les URLs dans l'article"
 
-#: src/lang.c:567
+#: src/lang.c:587
 msgid "0 - 9\t  display article by number in current thread"
 msgstr "0 - 9\t  affiche les articles par numÃ©ro du fil actuel"
 
-#: src/lang.c:569
+#: src/lang.c:589
 msgid "cancel (delete) or supersede (overwrite) current article"
 msgstr "annuler (effacer) ou remplacer (Ã©craser) l'article actuel"
 
-#: src/lang.c:570
+#: src/lang.c:590
 msgid "post followup to current article"
 msgstr "poster un suivi pour l'article actuel"
 
-#: src/lang.c:571
+#: src/lang.c:591
 msgid "post followup (don't copy text) to current article"
 msgstr "poster un suivi (ne pas copier le texte) pour l'article actuel"
 
-#: src/lang.c:572
+#: src/lang.c:592
 msgid "post followup to current article quoting complete headers"
 msgstr "poster un suivi pour l'article actuel en citant les en-tÃªtes"
 
-#: src/lang.c:573
+#: src/lang.c:593
 msgid "repost chosen article to another group"
 msgstr "reposter l'article choisi dans un autre groupe"
 
-#: src/lang.c:575
+#: src/lang.c:595
 msgid "edit article (mail-groups only)"
 msgstr "Ã©diter l'article (groupes de messagerie uniquement)"
 
-#: src/lang.c:576
+#: src/lang.c:596
 msgid "display first article in current thread"
 msgstr "afficher le 1er article du fil actuel"
 
-#: src/lang.c:577
+#: src/lang.c:597
 msgid "display first page of article"
 msgstr "afficher la 1Ã¨re page de l'article"
 
-#: src/lang.c:578
+#: src/lang.c:598
+#, fuzzy
+msgid "show MIME details of this article"
+msgstr "Plus d'URL dans cet article"
+
+#: src/lang.c:599
 msgid "display last article in current thread"
 msgstr "afficher le dernier article du fil actuel"
 
-#: src/lang.c:579
+#: src/lang.c:600
 msgid "display last page of article"
 msgstr "afficher la derniÃ¨re page de l'article"
 
-#: src/lang.c:580
+#: src/lang.c:601
 msgid "mark rest of thread as read and advance to next unread"
 msgstr "marquer comme lu le reste du fil et aller au fil non lu suivant"
 
-#: src/lang.c:581
+#: src/lang.c:602
 msgid "display next article"
 msgstr "afficher l'article suivant"
 
-#: src/lang.c:582
+#: src/lang.c:603
 msgid "display first article in next thread"
 msgstr "afficher le 1er article du fil suivant"
 
-#: src/lang.c:583
+#: src/lang.c:604
 msgid "display next unread article"
 msgstr "afficher le prochain article non lu"
 
-#: src/lang.c:584
+#: src/lang.c:605
 msgid "go to the article that this one followed up"
 msgstr "aller Ã  l'article parent"
 
-#: src/lang.c:585
+#: src/lang.c:606
 msgid "display previous article"
 msgstr "afficher l'article prÃ©cÃ©dent"
 
-#: src/lang.c:586
+#: src/lang.c:607
 msgid "display previous unread article"
 msgstr "afficher l'article prÃ©cÃ©dent non lu"
 
-#: src/lang.c:587
+#: src/lang.c:608
 msgid "quickly kill an article using defaults"
 msgstr "filtrer rapidement un article en utilisant les dÃ©fauts"
 
-#: src/lang.c:588
+#: src/lang.c:609
 msgid "quickly auto-select (hot) an article using defaults"
 msgstr "sÃ©lection auto. (hot) d'un article en utilisant les dÃ©fauts"
 
-#: src/lang.c:589
+#: src/lang.c:610
 msgid "return to group selection level"
 msgstr "retourner Ã  la vue sÃ©lection de groupe"
 
-#: src/lang.c:590
+#: src/lang.c:611
 msgid "reply through mail to author"
 msgstr "rÃ©pondre par email Ã  l'auteur"
 
-#: src/lang.c:591
+#: src/lang.c:612
 msgid "reply through mail (don't copy text) to author"
 msgstr "rÃ©pondre (ne pas copier le texte) par email Ã  l'auteur"
 
-#: src/lang.c:592
+#: src/lang.c:613
 msgid "reply through mail to author quoting complete headers"
 msgstr "rÃ©pondre par email Ã  l'auteur en citant les en-tÃªtes"
 
-#: src/lang.c:593
+#: src/lang.c:614
 msgid "search backwards within this article"
 msgstr "recherche arriÃ¨re dans cet article"
 
-#: src/lang.c:594
+#: src/lang.c:615
 msgid "search forwards within this article"
 msgstr "recherche avant dans cet article"
 
-#: src/lang.c:595
+#: src/lang.c:616
 msgid "show article in raw-mode (including all headers)"
 msgstr "afficher la source des articles (incluant les en-tÃªtes)"
 
-#: src/lang.c:596
+#: src/lang.c:617
 msgid "skip next block of included text"
 msgstr "passer au bloc suivant incluant du texte"
 
-#: src/lang.c:597
+#: src/lang.c:618
 msgid "toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr "(dÃ©s)activer l'affichage des sections masquer par (^L)"
 
-#: src/lang.c:598
+#: src/lang.c:619
 msgid "toggle display of all headers"
 msgstr "(dÃ©s)activer l'affichage de tous les en-tÃªtes"
 
-#: src/lang.c:599
+#: src/lang.c:620
 msgid "toggle word highlighting on/off"
 msgstr "(dÃ©s)activer la surbrillance des mots"
 
-#: src/lang.c:600
+#: src/lang.c:621
 msgid "toggle ROT-13 (basic decode) for current article"
 msgstr "(dÃ©s)activer ROT-13 (dÃ©codage basic) pour l'article actuel"
 
-#: src/lang.c:601
+#: src/lang.c:622
 msgid "toggle tabwidth 4 <-> 8"
 msgstr "basculer la taille de tabulation 4 <-> 8"
 
-#: src/lang.c:602
+#: src/lang.c:623
 msgid "toggle German TeX style decoding for current article"
 msgstr "(dÃ©s)activer le dÃ©codage Allemand de type TeX pour l'article actuel"
 
-#: src/lang.c:603
+#: src/lang.c:624
 msgid "toggle display of uuencoded sections"
 msgstr "(dÃ©s)activer l'affichage des sections uuencodÃ©es"
 
-#: src/lang.c:604
+#: src/lang.c:625
 msgid "View/pipe/save multimedia attachments"
 msgstr "Voir/passer/enregistrer les PJ multimÃ©dia"
 
-#: src/lang.c:605
+#: src/lang.c:626
 msgid "choose first attachment in list"
 msgstr "choisir la premiÃ¨re piÃ¨ce-jointe de la liste"
 
-#: src/lang.c:606
+#: src/lang.c:627
 msgid "0 - 9\t  choose attachment by number"
 msgstr "0 - 9\t  choisir la piÃ¨ce-jointe par son numÃ©ro"
 
-#: src/lang.c:607
+#: src/lang.c:628
 msgid "choose last attachment in list"
 msgstr "choisir la derniÃ¨re PJ de la liste"
 
-#: src/lang.c:609
+#: src/lang.c:630
 msgid "pipe attachment into command"
 msgstr "passer la piÃ¨ce-jointe Ã  une commande"
 
-#: src/lang.c:610
+#: src/lang.c:631
 msgid "pipe raw attachment into command"
 msgstr "passer la source de la PJ Ã  une commande"
 
-#: src/lang.c:612
+#: src/lang.c:633
 msgid "save attachment to disk"
 msgstr "enregistrer la piÃ¨ce-jointe"
 
-#: src/lang.c:613
+#: src/lang.c:634
 msgid "search for attachments forwards"
 msgstr "recherche avant des piÃ¨ces-jointes"
 
-#: src/lang.c:614
+#: src/lang.c:635
 msgid "search for attachments backwards"
 msgstr "recherche arriÃ¨re des piÃ¨ces-jointes"
 
-#: src/lang.c:615
+#: src/lang.c:636
 msgid "view attachment"
 msgstr "voir la piÃ¨ce-jointe"
 
-#: src/lang.c:616
+#: src/lang.c:637
 msgid "tag attachment"
 msgstr "marquer la piÃ¨ce-jointe"
 
-#: src/lang.c:617
+#: src/lang.c:638
 msgid "tag attachments that match user specified pattern"
 msgstr "marquer les PJ qui correspondant Ã  une recherche"
 
-#: src/lang.c:618
+#: src/lang.c:639
 msgid "reverse tagging on all attachments (toggle)"
 msgstr "annuler (ou pas) le marquage de toutes les PJ"
 
-#: src/lang.c:619
+#: src/lang.c:640
 msgid "untag all tagged attachments"
 msgstr "dÃ©marquer toutes les PJ marquÃ©es"
 
-#: src/lang.c:620
+#: src/lang.c:641
 msgid "toggle info message in last line (name/description of attachment)"
 msgstr ""
 "(dÃ©s)activer le message d'info. de la derniÃ¨re ligne (nom/description de la "
 "PJ)"
 
-#: src/lang.c:621
+#: src/lang.c:642
 msgid "choose first attribute in list"
 msgstr "choisir le 1er article dans la liste"
 
-#: src/lang.c:622
+#: src/lang.c:643
 msgid "0 - 9\t  choose attribute by number"
 msgstr "0 - 9\t  choisir un article par numÃ©ro"
 
-#: src/lang.c:623
+#: src/lang.c:644
 msgid "choose last attribute in list"
 msgstr "choisir le dernier article dans la liste"
 
-#: src/lang.c:624
+#: src/lang.c:645
 msgid "reset attribute to a default value"
 msgstr "rÃ©initialiser Ã  sa valeur par dÃ©faut"
 
-#: src/lang.c:625
-msgid "search forwards for an attribute"
-msgstr "recherche avant d'un attribut"
-
-#: src/lang.c:626
+#: src/lang.c:646
 msgid "search backwards for an attribute"
 msgstr "recherche arriÃ¨re d'un attribut"
 
-#: src/lang.c:627
+#: src/lang.c:647
+msgid "search forwards for an attribute"
+msgstr "recherche avant d'un attribut"
+
+#: src/lang.c:648
 msgid "select attribute"
 msgstr "sÃ©lectionner un attribut"
 
-#: src/lang.c:628
+#: src/lang.c:649
 msgid "toggle back to options menu when invoked from there"
 msgstr "revenir au menu options lorsque demandÃ© depuis ici"
 
-#: src/lang.c:629
+#: src/lang.c:650
 #, c-format
 msgid "report bug or comment via mail to %s"
 msgstr "signaler un bogue ou envoi d'un commentaire Ã  %s"
 
-#: src/lang.c:630
+#: src/lang.c:651
 msgid "choose first option in list"
 msgstr "choisir la premiÃ¨re option de la liste"
 
-#: src/lang.c:631
+#: src/lang.c:652
 msgid "0 - 9\t  choose option by number"
 msgstr "0 - 9\t  choisir une option par son numÃ©ro"
 
-#: src/lang.c:632
+#: src/lang.c:653
 msgid "choose last option in list"
 msgstr "choisir la derniÃ¨re option de la liste"
 
-#: src/lang.c:633
+#: src/lang.c:654
 msgid "start scopes menu"
 msgstr "afficher le menu des sÃ©lections"
 
-#: src/lang.c:634
-msgid "search forwards for an option"
-msgstr "recherche avant d'une option"
-
-#: src/lang.c:635
+#: src/lang.c:655
 msgid "search backwards for an option"
 msgstr "recherche arriÃ¨re d'une option"
 
-#: src/lang.c:636
+#: src/lang.c:656
+msgid "search forwards for an option"
+msgstr "recherche avant d'une option"
+
+#: src/lang.c:657
 msgid "select option"
 msgstr "sÃ©lectionner une option"
 
-#: src/lang.c:637
+#: src/lang.c:658
 msgid "toggle to attributes menu"
 msgstr "(dÃ©s)activer le menu attributs"
 
-#: src/lang.c:638
+#: src/lang.c:659
 msgid "choose range of articles to be affected by next command"
 msgstr "choisir les articles qui seront affectÃ©s par la commande suivante"
 
-#: src/lang.c:639
+#: src/lang.c:660
 msgid "escape from command prompt"
 msgstr "quitter le prompt"
 
-#: src/lang.c:640
+#: src/lang.c:661
 msgid "edit filter file"
 msgstr "Ã©diter les filtres"
 
-#: src/lang.c:641
+#: src/lang.c:662
 msgid "get help"
 msgstr "voir l'aide"
 
-#: src/lang.c:642
+#: src/lang.c:663
 msgid "display last article viewed"
 msgstr "afficher le dernier article lu"
 
-#: src/lang.c:643
+#: src/lang.c:664
 msgid "down one line"
 msgstr "descendre d'une ligne"
 
-#: src/lang.c:644
+#: src/lang.c:665
 msgid "up one line"
 msgstr "monter d'une ligne"
 
-#: src/lang.c:645
+#: src/lang.c:666
 msgid "go to article chosen by Message-ID"
 msgstr "aller Ã  l'article via son Message-ID"
 
-#: src/lang.c:646
+#: src/lang.c:667
 msgid "mail article/thread/hot/pattern/tagged articles to someone"
 msgstr "envoyer article/fil/sÃ©l./articles marquÃ©s Ã  une personne"
 
-#: src/lang.c:647
+#: src/lang.c:668
 msgid "menu of configurable options"
 msgstr "menu des options rÃ©glables"
 
-#: src/lang.c:648
+#: src/lang.c:669
 msgid "down one page"
 msgstr "descendre d'une page"
 
-#: src/lang.c:649
+#: src/lang.c:670
 msgid "up one page"
 msgstr "monter d'une page"
 
-#: src/lang.c:651
+#: src/lang.c:672
 msgid "post (write) article to current group"
 msgstr "poster (Ã©crire) un article dans le groupe actuel"
 
-#: src/lang.c:652
+#: src/lang.c:673
 msgid "post postponed articles"
 msgstr "poster les brouillons"
 
-#: src/lang.c:654
+#: src/lang.c:675
 msgid "list articles posted by you (from posted file)"
 msgstr "lister les articles postÃ©s par vous (fichier posted)"
 
-#: src/lang.c:655
+#: src/lang.c:676
 msgid "return to previous menu"
 msgstr "retourner au menu prÃ©cÃ©dent"
 
-#: src/lang.c:656
+#: src/lang.c:677
 msgid "quit tin immediately"
 msgstr "quitter tin immÃ©diatement"
 
-#: src/lang.c:657
+#: src/lang.c:678
 msgid "redraw page"
 msgstr "rafraÃ®chir la page"
 
-#: src/lang.c:658
+#: src/lang.c:679
 msgid "save article/thread/hot/pattern/tagged articles to file"
 msgstr "enregistrer article/fil/sÃ©l./articles marquÃ©s dans un fichier"
 
-#: src/lang.c:659
+#: src/lang.c:680
 msgid "save marked articles automatically without user prompts"
 msgstr "enregistrement auto. des articles marquÃ©s sans demander"
 
-#: src/lang.c:660
+#: src/lang.c:681
 msgid "scroll the screen one line down"
 msgstr "dÃ©filer une page par une page"
 
-#: src/lang.c:661
+#: src/lang.c:682
 msgid "scroll the screen one line up"
 msgstr "remonter une page par une page"
 
-#: src/lang.c:662
+#: src/lang.c:683
 msgid "search for articles by author backwards"
 msgstr "recherche arriÃ¨re d'articles par auteur"
 
-#: src/lang.c:663
+#: src/lang.c:684
 msgid "search for articles by author forwards"
 msgstr "recherche avant d'articles par auteur"
 
-#: src/lang.c:664
+#: src/lang.c:685
 msgid "search all articles for a given string (this may take some time)"
 msgstr "rechercher partout un terme prÃ©cis (cela peut prendre du temps)"
 
-#: src/lang.c:665
+#: src/lang.c:686
 msgid " \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr ""
 " \t  (les recherches ignorent la casse et s'opÃ¨rent sur tous les articles)"
 
-#: src/lang.c:666
+#: src/lang.c:687
 msgid "search for articles by Subject line backwards"
 msgstr "recherche arriÃ¨re d'articles par Sujet"
 
-#: src/lang.c:667
+#: src/lang.c:688
 msgid "search for articles by Subject line forwards"
 msgstr "recherche avant d'articles par Sujet"
 
-#: src/lang.c:668
+#: src/lang.c:689
 msgid "repeat last search"
 msgstr "relancer la derniÃ¨re recherche"
 
-#: src/lang.c:669
+#: src/lang.c:690
 msgid "tag current article for reposting/mailing/piping/printing/saving"
 msgstr "marquer article pour repostage/envoi/passer/imprimer/enregistrer"
 
-#: src/lang.c:670
+#: src/lang.c:691
 msgid "toggle info message in last line (subject/description)"
 msgstr "afficher ou non les infos dans la derniÃ¨re ligne (sujet/description)"
 
-#: src/lang.c:671
+#: src/lang.c:692
 msgid "toggle inverse video"
 msgstr "afficher ou non la vidÃ©o inversÃ©e"
 
-#: src/lang.c:672
+#: src/lang.c:693
 msgid "toggle mini help menu and posting etiquette display"
 msgstr "afficher ou non le petit menu d'aide et l'Ã©tiquette de postage"
 
-#: src/lang.c:673
+#: src/lang.c:694
 msgid "cycle the display of authors email address, real name, both or neither"
 msgstr "afficher cycliquement l'email des auteurs, nom rÃ©el, les deux ou aucun"
 
-#: src/lang.c:674
+#: src/lang.c:695
 msgid "show version information"
 msgstr "afficher la version de tin"
 
-#: src/lang.c:675
+#: src/lang.c:696
 msgid "mark all articles as read and return to group selection menu"
 msgstr "marquer tous les articles comme lus et retourner au menu groupe"
 
-#: src/lang.c:676
+#: src/lang.c:697
 msgid "mark all articles as read and enter next group with unread articles"
 msgstr "tout marquer comme lu et entrer dans le prochain groupe non lu"
 
-#: src/lang.c:677
+#: src/lang.c:698
 msgid "choose first thread in list"
 msgstr "choisir le 1er fil de la liste"
 
-#: src/lang.c:678
+#: src/lang.c:699
 msgid "choose last thread in list"
 msgstr "choisir le dernier fil de la liste"
 
-#: src/lang.c:679
+#: src/lang.c:700
 msgid "list articles within current thread (bring up Thread sub-menu)"
 msgstr "lister les articles du fil actuel (sous-menu fil)"
 
-#: src/lang.c:680
+#: src/lang.c:701
 msgid "mark article as unread"
 msgstr "marquer l'article comme non lu"
 
-#: src/lang.c:681
+#: src/lang.c:702
 msgid "mark current thread, range or tagged threads as read"
 msgstr "marquer le(s) fil(s) actuel(s) marquÃ©(s) ou pas comme lu(s)"
 
-#: src/lang.c:682
+#: src/lang.c:703
 msgid "mark current thread, range or tagged threads as unread"
 msgstr "marquer le fil actuel ou les fils marquÃ©s comme non lus"
 
-#: src/lang.c:683
+#: src/lang.c:704
 msgid "mark current/range/selected/pattern/tagged as read after prompting"
 msgstr "aprÃ¨s avoir demandÃ©, marquer lu l'actuel/sÃ©lectionnÃ©/champ/marquÃ©"
 
-#: src/lang.c:684
+#: src/lang.c:705
 msgid "mark current/range/selected/pattern/tagged as unread after prompting"
 msgstr "aprÃ¨s avoir demandÃ©, marquer non lu l'actuel/sÃ©lectionnÃ©/champ/marquÃ©"
 
-#: src/lang.c:685
+#: src/lang.c:706
 msgid "toggle display of all/selected articles"
 msgstr "(dÃ©s)activer la vue de tout article/articles sÃ©lectionnÃ©s"
 
-#: src/lang.c:686
+#: src/lang.c:707
 msgid "display next group"
 msgstr "afficher le groupe suivant"
 
-#: src/lang.c:687
+#: src/lang.c:708
 msgid "display previous group"
 msgstr "afficher le groupe prÃ©cÃ©dent"
 
-#: src/lang.c:688
+#: src/lang.c:709
 msgid "toggle all selections (all articles)"
 msgstr "(dÃ©s)activer toutes les sÃ©lections (tout article)"
 
-#: src/lang.c:689
+#: src/lang.c:710
 msgid "select group (make \"hot\")"
 msgstr "sÃ©lection du groupe (utiliser \"hot\")"
 
-#: src/lang.c:690
+#: src/lang.c:711
 msgid "select thread"
 msgstr "sÃ©lectionner le fil"
 
-#: src/lang.c:691
+#: src/lang.c:712
 msgid "select threads if at least one unread article is selected"
 msgstr "sÃ©l. les fils si au moins un article non lu est sÃ©lectionnÃ©"
 
-#: src/lang.c:692
+#: src/lang.c:713
 msgid "select threads that match user specified pattern"
 msgstr "sÃ©lectionner les fils qui correspondent au critÃ¨re choisi"
 
-#: src/lang.c:693
+#: src/lang.c:714
 msgid "0 - 9\t  choose thread by number"
 msgstr "0 - 9\t  choisir le fil par numÃ©ro"
 
-#: src/lang.c:694
+#: src/lang.c:715
 msgid "toggle limit number of articles to get, and reload"
 msgstr "(dÃ©s)activer le nombre limite d'article Ã  charger et Ã  recharger"
 
-#: src/lang.c:695
+#: src/lang.c:716
 msgid "toggle display of all/unread articles"
 msgstr "(dÃ©s)activer l'affichage de tout article/articles non lus"
 
-#: src/lang.c:696
+#: src/lang.c:717
 msgid "toggle selection of thread"
 msgstr "(dÃ©s)activer sÃ©lection du fil"
 
-#: src/lang.c:697
+#: src/lang.c:718
 msgid "cycle through threading options available"
 msgstr "voir toutes les options de groupage disponibles"
 
-#: src/lang.c:698
+#: src/lang.c:719
 msgid "undo all selections (all articles)"
 msgstr "annuler toutes sÃ©lections (tout article)"
 
-#: src/lang.c:699
+#: src/lang.c:720
 msgid "untag all tagged threads"
 msgstr "dÃ©marquer tout fil marquÃ©"
 
-#: src/lang.c:700
+#: src/lang.c:721
 msgid "search for articles forwards"
 msgstr "recherche avant d'articles"
 
-#: src/lang.c:701
+#: src/lang.c:722
 msgid "search for articles backwards"
 msgstr "recherche arriÃ¨re d'articles"
 
-#: src/lang.c:702
+#: src/lang.c:723
 msgid "toggle info message in last line (Message-ID)"
 msgstr "(dÃ©s)activer le message d'info. dans la derniÃ¨re ligne (Message-ID)"
 
-#: src/lang.c:703
+#: src/lang.c:724
 msgid "Open article by Message-ID"
 msgstr "aller Ã  l'article via son Message-ID"
 
-#: src/lang.c:704
+#: src/lang.c:725
 msgid "add new scope"
 msgstr "ajouter une sÃ©lection"
 
-#: src/lang.c:705
+#: src/lang.c:726
 msgid "delete scope"
 msgstr "effacer la sÃ©lection"
 
-#: src/lang.c:706
+#: src/lang.c:727
 msgid "edit attributes file"
 msgstr "Ã©diter le fichier attributes"
 
-#: src/lang.c:707
+#: src/lang.c:728
 msgid "choose first scope in list"
 msgstr "choisir la 1Ã¨re sÃ©lection de la liste"
 
-#: src/lang.c:708
+#: src/lang.c:729
 msgid "0 - 9\t  choose scope by number"
 msgstr "0 - 9\t  choisir une sÃ©lection par son numÃ©ro"
 
-#: src/lang.c:709
+#: src/lang.c:730
 msgid "choose last scope in list"
 msgstr "choisir la derniÃ¨re sÃ©lection de la liste"
 
-#: src/lang.c:710
+#: src/lang.c:731
 msgid "move scope"
 msgstr "dÃ©placer la sÃ©lection"
 
-#: src/lang.c:711
+#: src/lang.c:732
 msgid "rename scope"
 msgstr "renommer la sÃ©lection"
 
-#: src/lang.c:712
+#: src/lang.c:733
 msgid "select scope"
 msgstr "faire une sÃ©lection"
 
-#: src/lang.c:713
+#: src/lang.c:734
 msgid "mark all articles in group as read"
 msgstr "marquer lu tous les articles du groupe"
 
-#: src/lang.c:714
+#: src/lang.c:735
 msgid "mark all articles in group as read and move to next unread group"
 msgstr "marquer lu le groupe et aller au groupe non lu suivant"
 
-#: src/lang.c:715
+#: src/lang.c:736
 msgid "choose first group in list"
 msgstr "choisir le 1er groupe de la liste"
 
-#: src/lang.c:716
+#: src/lang.c:737
 msgid "choose group by name"
 msgstr "choisir le groupe par nom"
 
-#: src/lang.c:717
+#: src/lang.c:738
 msgid "0 - 9\t  choose group by number"
 msgstr "0 - 9\t  choisir un groupe par son numÃ©ro"
 
-#: src/lang.c:718
+#: src/lang.c:739
 msgid "choose range of groups to be affected by next command"
 msgstr "choisir les groupes affectÃ©s par la commande suivante"
 
-#: src/lang.c:719
+#: src/lang.c:740
 msgid "choose last group in list"
 msgstr "choisir le dernier groupe de la liste"
 
-#: src/lang.c:721
+#: src/lang.c:742
 msgid "list groups which an article has been posted to (by Message-ID)"
 msgstr "lister les groupes qui ont un article postÃ© Ã  (par Message-ID)"
 
-#: src/lang.c:722
+#: src/lang.c:743
 msgid " \t  (go to article if at least one of the groups is available)"
 msgstr " \t  (aller Ã  l'article si au moins un groupe est disponible)"
 
-#: src/lang.c:724
+#: src/lang.c:745
 msgid "mark all articles in chosen group unread"
 msgstr "marquer non lu tout article dans le groupe choisi"
 
-#: src/lang.c:725
+#: src/lang.c:746
 msgid "move chosen group within list"
 msgstr "dÃ©placer le groupe sÃ©lectionnÃ©"
 
-#: src/lang.c:726
+#: src/lang.c:747
 msgid "choose next group with unread news"
 msgstr "choisir le groupe suivant ayant articles non lus"
 
-#: src/lang.c:727 src/lang.c:1748
+#: src/lang.c:748 src/lang.c:1797
 msgid "quit"
 msgstr "quitter"
 
-#: src/lang.c:728
+#: src/lang.c:749
 msgid "quit without saving configuration changes"
 msgstr "quitter sans enregistrer les changements"
 
-#: src/lang.c:729
+#: src/lang.c:750
 msgid "read chosen group"
 msgstr "lire le groupe choisi"
 
-#: src/lang.c:730
+#: src/lang.c:751
 msgid "reset .newsrc (all available articles in groups marked unread)"
 msgstr "rÃ©initialiser .newsrc (tout sera marquÃ© non lu dans les groupes)"
 
-#: src/lang.c:731
+#: src/lang.c:752
 msgid "search backwards for a group name"
 msgstr "recherche arriÃ¨re d'un groupe"
 
-#: src/lang.c:732
+#: src/lang.c:753
 msgid " \t  (all searches are case-insensitive and wrap around)"
 msgstr " \t  (les recherches sont sensibles Ã  la casse)"
 
-#: src/lang.c:733
+#: src/lang.c:754
 msgid "search forwards for a group name"
 msgstr "recherche avant d'un groupe"
 
-#: src/lang.c:734
+#: src/lang.c:755
 msgid "subscribe to chosen group"
 msgstr "s'abonner au groupe sÃ©lectionnÃ©"
 
-#: src/lang.c:735
+#: src/lang.c:756
 msgid "subscribe to groups that match pattern"
 msgstr "abonnement aux groupes correspondant au critÃ¨re"
 
-#: src/lang.c:736
+#: src/lang.c:757
 msgid "reread active file to check for any new news"
 msgstr "vÃ©rifier l'existence de nouveaux articles"
 
-#: src/lang.c:737
+#: src/lang.c:758
 msgid "show NNTP[S] connection details"
 msgstr "afficher les dÃ©tails de connexion NNTP[S]"
 
-#: src/lang.c:738
+#: src/lang.c:759
 msgid "toggle display of group name only or group name plus description"
 msgstr "afficher ou non le nom du groupe ou le nom + sa description"
 
-#: src/lang.c:739
+#: src/lang.c:760
 msgid "toggle display to show all/unread subscribed groups"
 msgstr "afficher ou non tous les groupes abonnÃ©s non lu"
 
-#: src/lang.c:740
+#: src/lang.c:761
 msgid "unsubscribe from chosen group"
 msgstr "se dÃ©sabonner du groupe sÃ©lectionnÃ©"
 
-#: src/lang.c:741
+#: src/lang.c:762
 msgid "unsubscribe from groups that match pattern"
 msgstr "dÃ©sabonnement aux groupes correspondant au critÃ¨re"
 
-#: src/lang.c:742
+#: src/lang.c:763
 msgid "sort the list of groups"
 msgstr "trier la liste des groupes"
 
-#: src/lang.c:743
+#: src/lang.c:764
 msgid "toggle display to show all/subscribed groups"
 msgstr "afficher ou non tous les groupes abonnÃ©s"
 
-#: src/lang.c:744
+#: src/lang.c:765
 msgid "tag/untag all parts of current multipart-message in order"
 msgstr "(dÃ©)marquer dans l'ordre toutes parties du message multiparties"
 
-#: src/lang.c:745
+#: src/lang.c:766
 msgid "0 - 9\t  choose article by number"
 msgstr "0 - 9\t  choisir article par numÃ©ro"
 
-#: src/lang.c:746
+#: src/lang.c:767
 msgid "mark thread as read and return to group index page"
 msgstr "marquer le fil comme lu et revenir Ã  la liste des groupes"
 
-#: src/lang.c:747
+#: src/lang.c:768
 msgid "mark thread as read and enter next unread thread or group"
 msgstr "marquer le fil comme lu et aller dans le fil ou groupe non lu suivant"
 
-#: src/lang.c:748
+#: src/lang.c:769
 msgid "choose first article in list"
 msgstr "choisir le 1er article dans la liste"
 
-#: src/lang.c:749
+#: src/lang.c:770
 msgid "choose last article in list"
 msgstr "choisir le dernier article dans la liste"
 
-#: src/lang.c:750
+#: src/lang.c:771
 msgid "mark art, range or tagged arts as read; move crsr to next unread art"
 msgstr ""
 "marquer le ou les articles marquÃ©s comme lus et aller au prochain non lu"
 
-#: src/lang.c:751
+#: src/lang.c:772
 msgid "mark article, range or tagged articles as unread"
 msgstr "marquer l'article actuel ou les articles marquÃ©s comme non lus"
 
-#: src/lang.c:752
+#: src/lang.c:773
 msgid "mark current thread as unread"
 msgstr "marquer le fil actuel comme non lu"
 
-#: src/lang.c:753
+#: src/lang.c:774
 msgid "read chosen article"
 msgstr "lire l'article choisi"
 
-#: src/lang.c:754
+#: src/lang.c:775
 msgid ""
 "Display properties\n"
 "------------------"
@@ -2661,7 +2754,7 @@ msgstr ""
 "PropriÃ©tÃ©s de l'affichage\n"
 "-------------------------"
 
-#: src/lang.c:755
+#: src/lang.c:776
 msgid ""
 "Miscellaneous\n"
 "-------------"
@@ -2669,7 +2762,7 @@ msgstr ""
 "Divers\n"
 "------"
 
-#: src/lang.c:756
+#: src/lang.c:777
 msgid ""
 "Moving around\n"
 "-------------"
@@ -2677,7 +2770,7 @@ msgstr ""
 "Navigation\n"
 "----------"
 
-#: src/lang.c:757
+#: src/lang.c:778
 msgid ""
 "Group/thread/article operations\n"
 "-------------------------------"
@@ -2685,7 +2778,7 @@ msgstr ""
 "OpÃ©rations sur les Groupes / fils / articles\n"
 "--------------------------------------------"
 
-#: src/lang.c:758
+#: src/lang.c:779
 msgid ""
 "Attachment operations\n"
 "---------------------"
@@ -2693,7 +2786,7 @@ msgstr ""
 "OpÃ©rations sur les piÃ¨ces-jointes\n"
 "---------------------------------"
 
-#: src/lang.c:759
+#: src/lang.c:780
 msgid ""
 "Attribute operations\n"
 "--------------------"
@@ -2701,7 +2794,7 @@ msgstr ""
 "OpÃ©rations sur les attributs\n"
 "----------------------------"
 
-#: src/lang.c:760
+#: src/lang.c:781
 msgid ""
 "Option operations\n"
 "-----------------"
@@ -2709,7 +2802,7 @@ msgstr ""
 "Options des opÃ©rations\n"
 "----------------------"
 
-#: src/lang.c:761
+#: src/lang.c:782
 msgid ""
 "Posted article operations\n"
 "-------------------------"
@@ -2717,7 +2810,7 @@ msgstr ""
 "OpÃ©rations sur les articles postÃ©s\n"
 "----------------------------------"
 
-#: src/lang.c:762
+#: src/lang.c:783
 msgid ""
 "Scope operations\n"
 "----------------"
@@ -2725,7 +2818,7 @@ msgstr ""
 "OpÃ©rations sur les sÃ©lections\n"
 "-----------------------------"
 
-#: src/lang.c:763
+#: src/lang.c:784
 msgid ""
 "URL operations\n"
 "--------------"
@@ -2733,99 +2826,99 @@ msgstr ""
 "OpÃ©rations sur les URL\n"
 "----------------------"
 
-#: src/lang.c:764
+#: src/lang.c:785
 msgid "choose first URL in list"
 msgstr "choisir la premiÃ¨re URL de la liste"
 
-#: src/lang.c:765
+#: src/lang.c:786
 msgid "0 - 9\t  choose URL by number"
 msgstr "0 - 9\t  choisir l'URL par son numÃ©ro"
 
-#: src/lang.c:766
+#: src/lang.c:787
 msgid "choose last URL in list"
 msgstr "choisir la derniÃ¨re URL de la liste"
 
-#: src/lang.c:767
+#: src/lang.c:788
 msgid "search for URLs forwards"
 msgstr "recherche avant des URLs"
 
-#: src/lang.c:768
+#: src/lang.c:789
 msgid "search for URLs backwards"
 msgstr "recherche arriÃ¨re des URLs"
 
-#: src/lang.c:769
+#: src/lang.c:790
 msgid "Open URL in browser"
 msgstr "Ouvrir l'URL dans le navigateur"
 
-#: src/lang.c:770
+#: src/lang.c:791
 msgid "toggle info message in last line (URL)"
 msgstr "(dÃ©s)activer le message d'info. dans la derniÃ¨re ligne (URL)"
 
-#: src/lang.c:772
+#: src/lang.c:793
 msgid "Group Level Commands"
 msgstr "Commandes du niveau Groupe"
 
-#: src/lang.c:773
+#: src/lang.c:794
 msgid "Kill filter added"
 msgstr "Filtre ajoutÃ©"
 
-#: src/lang.c:774
+#: src/lang.c:795
 msgid "Auto-selection filter added"
 msgstr "Filtre Ã  auto-sÃ©lection ajoutÃ©"
 
-#: src/lang.c:775
+#: src/lang.c:796
 msgid "All parts tagged"
 msgstr "Toutes les parties sont marquÃ©es"
 
-#: src/lang.c:776
+#: src/lang.c:797
 msgid "All parts untagged"
 msgstr "Toutes les parties sont dÃ©marquÃ©es"
 
-#: src/lang.c:777
+#: src/lang.c:798
 #, c-format
 msgid "Building References-trees (%d/%d)..."
 msgstr "Construction d'un arbre des rÃ©fÃ©rences (%d/%d)..."
 
-#: src/lang.c:778
+#: src/lang.c:799
 msgid "Storing article for later posting"
 msgstr "Stockage de l'article afin de le poster plus tard"
 
-#: src/lang.c:779
+#: src/lang.c:800
 msgid "Please enter a valid character"
 msgstr "Entrez un caractÃ¨re valide svp"
 
-#: src/lang.c:780
+#: src/lang.c:801
 #, c-format
 msgid "Missing part #%d"
 msgstr "Partie manquante #%d"
 
-#: src/lang.c:781
+#: src/lang.c:802
 msgid "*** No postponed articles ***"
 msgstr "*** Aucun brouillon ***"
 
-#: src/lang.c:782
+#: src/lang.c:803
 msgid "Not a multi-part message"
 msgstr "N'est pas un message en plusieurs parties"
 
-#: src/lang.c:783
+#: src/lang.c:804
 msgid "You are not subscribed to this group"
 msgstr "Vous n'Ãªtes pas abonnÃ© Ã  ce groupe"
 
-#: src/lang.c:784
+#: src/lang.c:805
 msgid "No previous expression"
 msgstr "Pas d'expression prÃ©cÃ©dente"
 
-#: src/lang.c:785
+#: src/lang.c:806
 msgid "Operation disabled in no-overwrite mode"
 msgstr "OpÃ©ration dÃ©sactivÃ©e en mode lecture"
 
 #. TODO: replace hard coded key-name in txt_info_postponed
-#: src/lang.c:787
+#: src/lang.c:808
 #, c-format
 msgid "%d postponed %s, reuse with ^O...\n"
 msgstr "%d %s brouillon(s), rÃ©utilisez-le(s) avec ^O...\n"
 
-#: src/lang.c:788
+#: src/lang.c:809
 msgid ""
 "X-Conversion-Note: multipart/alternative contents have been removed.\n"
 "  To get the whole article, turn alternative handling OFF in the Option "
@@ -2836,17 +2929,17 @@ msgstr ""
 "dans\n"
 "  le Menu Option.\n"
 
-#: src/lang.c:790
+#: src/lang.c:811
 #, c-format
 msgid "Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr "Enregistrer le fichier sous %s %s est une bÃ l. PJ non enregistrÃ©e"
 
-#: src/lang.c:791
+#: src/lang.c:812
 msgid "TeX2Iso encoded article"
 msgstr "Article encodÃ© en TeX2Iso"
 
 #. TODO: replace hard coded key-names
-#: src/lang.c:793
+#: src/lang.c:814
 #, c-format
 msgid ""
 "\n"
@@ -2916,151 +3009,151 @@ msgstr ""
 "plaÃ®t\n"
 "un rapport de bogue/commentaires Ã  %s via la touche 'R'.\n"
 
-#: src/lang.c:809
-#, c-format
-msgid "Invalid  From: %s  line. Read the INSTALL file again."
-msgstr "En-tÃªte From: %s invalide. Lisez le fichier INSTALL une 2e fois."
+#: src/lang.c:830
+#, fuzzy, c-format
+msgid "Invalid From:-header \"%s\". Check your mail_address setting."
+msgstr "En-tÃªte From: \"%s\" invalide. VÃ©rifiez votre rÃ©glage de mail_address."
 
-#: src/lang.c:811
+#: src/lang.c:832
 msgid "Invalid multibyte sequence found\n"
 msgstr "SÃ©quence multibyte invalide trouvÃ©e\n"
 
-#: src/lang.c:814
-#, c-format
-msgid "Invalid  Sender:-header %s"
+#: src/lang.c:835
+#, fuzzy, c-format
+msgid "Invalid Sender:-header \"%s\""
 msgstr "En-tÃªte Sender: %s invalide"
 
-#: src/lang.c:816
+#: src/lang.c:837
 msgid "Inverse video disabled"
 msgstr "VidÃ©o inversÃ©e dÃ©sactivÃ©e"
 
-#: src/lang.c:817
+#: src/lang.c:838
 msgid "Inverse video enabled"
 msgstr "VidÃ©o inversÃ©e activÃ©e"
 
-#: src/lang.c:819
+#: src/lang.c:840
 #, c-format
 msgid "Missing definition for %s\n"
 msgstr "DÃ©finition manquante pour %s\n"
 
-#: src/lang.c:820
+#: src/lang.c:841
 #, c-format
 msgid "Invalid key definition '%s'\n"
 msgstr "DÃ©finition de clÃ© invalide '%s'\n"
 
-#: src/lang.c:821
+#: src/lang.c:842
 #, c-format
 msgid "Invalid keyname '%s'\n"
 msgstr "Nom de clÃ© invalide '%s'\n"
 
-#: src/lang.c:822
+#: src/lang.c:843
 #, c-format
 msgid "Keymap file was upgraded to version %s\n"
 msgstr "Le fichier keymap a Ã©tÃ© mis Ã  jour en version %s\n"
 
-#: src/lang.c:823
+#: src/lang.c:844
 #, c-format
 msgid "Kill From:     [%s] (y/n): "
 msgstr "   De : [%s] (o/n) : "
 
-#: src/lang.c:824
+#: src/lang.c:845
 msgid "Kill Lines: (</>num): "
 msgstr "Nombre de lignes (</>num)    : "
 
-#: src/lang.c:825
+#: src/lang.c:846
 msgid "Kill Article Menu"
 msgstr "CrÃ©er un filtre"
 
-#: src/lang.c:826
+#: src/lang.c:847
 #, c-format
 msgid "Kill Msg-ID:   [%s] (f/l/o/n): "
 msgstr "Filtrer par Msg-ID : [%s] (t/d/a/n) : "
 
-#: src/lang.c:827
+#: src/lang.c:848
 msgid "Kill pattern scope  : "
 msgstr "Filtre s'appliquant Ã  : "
 
-#: src/lang.c:828
+#: src/lang.c:849
 #, c-format
 msgid "Kill Subject:  [%s] (y/n): "
 msgstr "Sujet : [%s] (o/n) : "
 
-#: src/lang.c:829
+#: src/lang.c:850
 msgid "Kill text pattern   : "
 msgstr "Texte Ã  filtrer : "
 
-#: src/lang.c:830
+#: src/lang.c:851
 msgid "Kill time in days   : "
 msgstr "DurÃ©e du filtre              : "
 
-#: src/lang.c:832
+#: src/lang.c:853
 msgid "Last"
 msgstr "Dernier"
 
-#: src/lang.c:833
+#: src/lang.c:854
 msgid "-- Last response --"
 msgstr "-- DerniÃ¨re rÃ©ponse --"
 
-#: src/lang.c:834
+#: src/lang.c:855
 #, c-format
 msgid "Lines %s  "
 msgstr "%s lignes "
 
-#: src/lang.c:840
+#: src/lang.c:861
 msgid "Function not available."
 msgstr "Fonction indisponible."
 
-#: src/lang.c:841
+#: src/lang.c:862
 msgid "Not reading via NNTP."
 msgstr "Pas de lecture depuis NNTP."
 
-#: src/lang.c:843
+#: src/lang.c:864
 #, c-format
 msgid "Group: %s"
 msgstr "Groupe : %s"
 
-#: src/lang.c:844
+#: src/lang.c:865
 #, c-format
 msgid "Groups: %s"
 msgstr "Groupes : %s"
 
-#: src/lang.c:847
+#: src/lang.c:868
 msgid "Mail"
 msgstr "Envoyer"
 
-#: src/lang.c:848
+#: src/lang.c:869
 msgid "mailbox "
 msgstr "bÃ l "
 
-#: src/lang.c:849
+#: src/lang.c:870
 #, c-format
 msgid "Mail article(s) to [%.*s]> "
 msgstr "Envoyer article(s) Ã  [%.*s] > "
 
-#: src/lang.c:850
+#: src/lang.c:871
 #, c-format
 msgid "Mailing log to %s\n"
 msgstr "Envoi de l'historique Ã  %s\n"
 
-#: src/lang.c:851
+#: src/lang.c:872
 msgid "Mail bug report..."
 msgstr "Envoi d'un rapport de bogue..."
 
-#: src/lang.c:852
+#: src/lang.c:873
 #, c-format
 msgid "Mail BUG REPORT to %s?"
 msgstr "Signaler le BOGUE Ã  %s ?"
 
-#: src/lang.c:853
+#: src/lang.c:874
 msgid "Mailed"
 msgstr "EnvoyÃ©"
 
-#: src/lang.c:854
+#: src/lang.c:875
 #, c-format
 msgid "Mailing to %s..."
 msgstr "Envoi Ã  %s..."
 
-#: src/lang.c:855
+#: src/lang.c:876
 msgid ""
 "# [Mail/Save] active file. Format is like news active file:\n"
 "#   groupname  max.artnum  min.artnum  /dir\n"
@@ -3074,61 +3167,61 @@ msgstr ""
 "# (p.e. ~/Mail ou ~/News)\n"
 "#\n"
 
-#: src/lang.c:858
+#: src/lang.c:879
 #, c-format
 msgid "%s marked as read"
 msgstr "%s marquÃ© comme lu"
 
-#: src/lang.c:859
+#: src/lang.c:880
 #, c-format
 msgid "%s marked as unread"
 msgstr "%s marquÃ© comme non lu"
 
-#: src/lang.c:860
+#: src/lang.c:881
 #, c-format
 msgid "Marked %d of %d %s as read"
 msgstr "%d sur %d %s marquÃ©(s) comme lu(s)"
 
-#: src/lang.c:861
+#: src/lang.c:882
 #, c-format
 msgid "Marked %d of %d %s as unread"
 msgstr "%d sur %d %s marquÃ©(s) comme non lu(s)"
 
-#: src/lang.c:862 src/lang.c:1704
+#: src/lang.c:883 src/lang.c:1753
 msgid "Mark"
 msgstr "Marque"
 
-#: src/lang.c:863
+#: src/lang.c:884
 #, c-format
 msgid "Mark all articles as read%s?"
 msgstr "Marquer tous les articles comme lus%s ?"
 
-#: src/lang.c:864
+#: src/lang.c:885
 #, c-format
 msgid "Mark article as read%s?"
 msgstr "Marquer l'article comme lu%s ?"
 
-#: src/lang.c:865
+#: src/lang.c:886
 #, c-format
 msgid "Mark group %s as read?"
 msgstr "Marquer le groupe %s comme lu ?"
 
-#: src/lang.c:866
+#: src/lang.c:887
 #, c-format
 msgid "Mark thread as read%s?"
 msgstr "Marquer le fil comme lu%s ?"
 
-#: src/lang.c:867
+#: src/lang.c:888
 #, c-format
 msgid "Matching %s groups..."
 msgstr "%s groupes correspondants..."
 
-#: src/lang.c:868 src/lang.c:881 src/lang.c:884 src/lang.c:890
+#: src/lang.c:889 src/lang.c:902 src/lang.c:905 src/lang.c:911
 #, c-format
 msgid "<n>=set current to n; %s=line down; %s=line up; %s=help; %s=quit"
 msgstr "<n>=mettre l'actuel Ã  n; %s=descendre; %s=monter; %s=aide; %s=quitter"
 
-#: src/lang.c:870
+#: src/lang.c:891
 #, c-format
 msgid ""
 "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all"
@@ -3136,13 +3229,13 @@ msgstr ""
 "%s=voir; %s=passer; %s=passer la source; %s=enregistrer; %s=marquer; "
 "%s=marquer sÃ©lection; %s=tout dÃ©marquer"
 
-#: src/lang.c:872
+#: src/lang.c:893
 #, c-format
 msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr ""
 "%s=voir; %s=enregistrer; %s=marquer; %s=marquer sÃ©lection; %s=tout dÃ©marquer"
 
-#: src/lang.c:874
+#: src/lang.c:895
 #, c-format
 msgid ""
 "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search"
@@ -3150,12 +3243,12 @@ msgstr ""
 "%s=(dÃ©s)activer le marquage; %s=recherche avant; %s=recherche arriÃ¨re; "
 "%s=rÃ©pÃ©ter la recherche"
 
-#: src/lang.c:875 src/lang.c:879
+#: src/lang.c:896 src/lang.c:900
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=search pattern; %s=kill/select"
 msgstr "<n>=voir 'n'; %s=non lu suivant; %s=rechercher; %s=filtrer/sÃ©l."
 
-#: src/lang.c:876
+#: src/lang.c:897
 #, c-format
 msgid ""
 "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; "
@@ -3163,44 +3256,44 @@ msgid ""
 msgstr ""
 "%s=rech. auteur; %s=tout lu; %s=bas; %s=haut; %s=marquer lu; %s=voir fil"
 
-#: src/lang.c:877
+#: src/lang.c:898
 #, c-format
 msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"
 msgstr "%s=haut; %s=bas; %s=haut de page; %s=bas de page; %s=haut; %s=bas"
 
-#: src/lang.c:878
+#: src/lang.c:899
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=quit"
 msgstr "%s=recherche avant; %s=recherche arriÃ¨re; %s=quitter"
 
-#: src/lang.c:880
+#: src/lang.c:901
 #, c-format
 msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr ""
 "%s=rech. auteur; %s=rech. corps; %s=tout marquer lu; %s=suivi; %s=marquer lu"
 
-#: src/lang.c:882 src/lang.c:891
+#: src/lang.c:903 src/lang.c:912
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=repeat search"
 msgstr "%s=recherche avant; %s=recherche arriÃ¨re; %s=rÃ©pÃ©ter la recherche"
 
-#: src/lang.c:883
+#: src/lang.c:904
 #, c-format
 msgid "%s=add; %s=move; %s=rename; %s=delete"
 msgstr "%s=ajouter; %s=dÃ©placer; %s=renommer; %s=effacer"
 
-#: src/lang.c:885
+#: src/lang.c:906
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr "<n>=voir 'n'; %s=non lu suivant; %s,%s=rechercher; %s=tout lu"
 
-#: src/lang.c:886
+#: src/lang.c:907
 #, c-format
 msgid ""
 "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
 msgstr "%s=bas; %s=haut; %s=aide; %s=dÃ©placer; %s=quitter; %s=voir lu/non lu"
 
-#: src/lang.c:887
+#: src/lang.c:908
 #, c-format
 msgid ""
 "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/"
@@ -3208,227 +3301,228 @@ msgid ""
 msgstr ""
 "%s=abonner; %s=sous-critÃ¨re; %s=dÃ©sabonner; %s=critÃ¨re; %s=liste des groupes"
 
-#: src/lang.c:888
+#: src/lang.c:909
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr "<n>=voir 'n'; %s=non lu suivant; %s=tout lu; %s=basculer l'affichage"
 
-#: src/lang.c:889
+#: src/lang.c:910
 #, c-format
 msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"
 msgstr "%s=aide; %s=bas; %s=haut; %s=quitter; %s=marquer; %s=marquer non lu"
 
-#: src/lang.c:892
+#: src/lang.c:913
 msgid "--More--"
 msgstr "-- Suite --"
 
-#: src/lang.c:894
-#, fuzzy, c-format
+#: src/lang.c:915
+#, c-format
 msgid "MOTD: %s\n"
-msgstr "MOTD: %s\n"
+msgstr "MOTD : %s\n"
 
-#: src/lang.c:896
+#: src/lang.c:917
 #, c-format
 msgid "Moving %s..."
 msgstr "DÃ©placement de %s..."
 
-#: src/lang.c:897
+#: src/lang.c:918
 msgid "Message-ID: & last Reference  "
 msgstr "l'en-tÃªte 'Message-ID:' & derniÃ¨re RÃ©fÃ©rence  "
 
-#: src/lang.c:898
+#: src/lang.c:919
 msgid "Message-ID: line              "
 msgstr "l'en-tÃªte 'Message-ID:'"
 
-#: src/lang.c:899
+#: src/lang.c:920
 msgid "Message-ID: & References: line"
 msgstr "l'en-tÃªte 'Message-ID:' & 'References:'"
 
-#: src/lang.c:901
+#: src/lang.c:922
 #, c-format
 msgid "Go to newsgroup [%s]> "
 msgstr "Aller dans le groupe [%s]> "
 
-#: src/lang.c:902
+#: src/lang.c:923
 msgid "newsgroups"
 msgstr "groupes"
 
-#: src/lang.c:903
+#: src/lang.c:924
 #, c-format
 msgid "Position %s in group list (1,2,..,$) [%d]> "
 msgstr "Placer %s dans la liste des groupes (1,2,..,$) [%d]> "
 
-#: src/lang.c:904
+#: src/lang.c:925
 msgid "newsgroup"
 msgstr "groupe"
 
-#: src/lang.c:905
+#: src/lang.c:926
 msgid "Try and save newsrc file again?"
 msgstr "Encore essayer et enregistrer le newsrc ?"
 
-#: src/lang.c:906
-msgid "Warning: No newsgroups were written to your newsrc file. Save aborted."
+#: src/lang.c:927
+#, fuzzy, c-format
+msgid "Warning: No groups written to your %s file. Save aborted."
 msgstr ""
-"Attention : Aucuns groupes n'a Ã©tÃ© Ã©crits dans le newsrc. Enregistrement "
-"annulÃ©."
+"Attention : Aucuns groupes n'a Ã©tÃ© Ã©crits dans le %s. Enregistrement annulÃ©."
 
-#: src/lang.c:907
-msgid "newsrc file saved successfully.\n"
-msgstr "le newsrc a Ã©tÃ© enregistrÃ© avec succÃ¨s.\n"
+#: src/lang.c:928
+#, fuzzy, c-format
+msgid "%s file saved successfully.\n"
+msgstr "le %s a Ã©tÃ© enregistrÃ© avec succÃ¨s.\n"
 
-#: src/lang.c:908
+#: src/lang.c:929
 msgid "-- Next response --"
 msgstr "-- RÃ©ponse suivante --"
 
-#: src/lang.c:909
+#: src/lang.c:930
 msgid "No  "
 msgstr "Non "
 
-#: src/lang.c:910
+#: src/lang.c:931
 msgid "*** No articles ***"
 msgstr "*** Aucun article ***"
 
-#: src/lang.c:911
+#: src/lang.c:932
 msgid "No articles have been posted"
 msgstr "Aucun article n'a Ã©tÃ© postÃ©"
 
-#: src/lang.c:912
+#: src/lang.c:933
 msgid "*** No attachments ***"
 msgstr "*** Pas de piÃ¨ces-jointes ***"
 
-#: src/lang.c:913
+#: src/lang.c:934
 msgid "*** No description ***"
 msgstr "*** Aucune description ***"
 
-#: src/lang.c:914
+#: src/lang.c:935
 msgid "No filename"
 msgstr "Pas de nom de fichier"
 
-#: src/lang.c:915
+#: src/lang.c:936
 msgid "No group"
 msgstr "Pas de groupe"
 
-#: src/lang.c:916
+#: src/lang.c:937
 msgid "*** No groups ***"
 msgstr "*** Aucun groupe ***"
 
-#: src/lang.c:917
+#: src/lang.c:938
 msgid "No more groups to read"
 msgstr "Plus de groupes Ã  lire"
 
-#: src/lang.c:918
+#: src/lang.c:939
 msgid "No last message"
 msgstr "Aucun dernier message"
 
-#: src/lang.c:919
+#: src/lang.c:940
 msgid "No mail address"
 msgstr "Aucune adresse email"
 
-#: src/lang.c:920
+#: src/lang.c:941
 msgid "No articles marked for saving"
 msgstr "Aucun article marquÃ© Ã  enregistrer"
 
-#: src/lang.c:921
+#: src/lang.c:942
 msgid "No match"
 msgstr "Aucun rÃ©sultat"
 
-#: src/lang.c:922
+#: src/lang.c:943
 msgid "No more groups"
 msgstr "Plus de groupes"
 
-#: src/lang.c:923
+#: src/lang.c:944
 msgid "No newsgroups"
 msgstr "Aucun groupe"
 
-#: src/lang.c:924
+#: src/lang.c:945
 msgid "No next unread article"
 msgstr "Aucun article non lu suivant"
 
-#: src/lang.c:925
+#: src/lang.c:946
 msgid "No previous group"
 msgstr "Aucun groupe prÃ©cÃ©dent"
 
-#: src/lang.c:926
+#: src/lang.c:947
 msgid "No previous search, nothing to repeat"
 msgstr "Aucune recherche prÃ©cÃ©dente, rien Ã  rÃ©pÃ©ter"
 
-#: src/lang.c:927
+#: src/lang.c:948
 msgid "No previous unread article"
 msgstr "Aucun article non lu prÃ©cÃ©dent"
 
-#: src/lang.c:928
+#: src/lang.c:949
 msgid "No responses"
 msgstr "Aucune rÃ©ponse"
 
-#: src/lang.c:929
+#: src/lang.c:950
 msgid "No responses to list in current thread"
 msgstr "Aucune rÃ©ponse Ã  afficher dans le fil actuel"
 
-#: src/lang.c:930
+#: src/lang.c:951
 msgid "*** No scopes ***"
 msgstr "*** Aucune sÃ©lection ***"
 
-#: src/lang.c:931
+#: src/lang.c:952
 msgid "No search string"
 msgstr "Aucun terme Ã  rechercher"
 
-#: src/lang.c:932
+#: src/lang.c:953
 msgid "No subject"
 msgstr "Aucun sujet"
 
-#: src/lang.c:934
+#: src/lang.c:955
 #, c-format
 msgid "%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr "%s: Terminal doit avoir la fonction clear to end-of-line (ce)\n"
 
-#: src/lang.c:935
+#: src/lang.c:956
 #, c-format
 msgid "%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr "%s: Terminal doit avoir la fonction clear to end-of-screen (cd)\n"
 
-#: src/lang.c:936
+#: src/lang.c:957
 #, c-format
 msgid "%s: Terminal must have clearscreen (cl) capability\n"
 msgstr "%s: Terminal doit avoir la fonction clearscreen (cl)\n"
 
-#: src/lang.c:937
+#: src/lang.c:958
 #, c-format
 msgid "%s: Terminal must have cursor motion (cm)\n"
 msgstr "%s: Terminal doit avoir la fonction cursor motion (cm)\n"
 
-#: src/lang.c:938
+#: src/lang.c:959
 #, c-format
 msgid "%s: TERM variable must be set to use screen capabilities\n"
 msgstr "%s: la variable TERM doit Ãªtre utilisÃ©e pour utiliser les fonctions\n"
 
-#: src/lang.c:940
+#: src/lang.c:961
 #, c-format
 msgid "No viewer found for %s/%s\n"
 msgstr "Visualiseur introuvable pour %s/%s\n"
 
-#: src/lang.c:941 src/lang.c:1616 src/lang.c:1644 src/lang.c:1935
+#: src/lang.c:962 src/lang.c:1665 src/lang.c:1693 src/lang.c:1991
 msgid "None"
 msgstr "Aucun"
 
-#: src/lang.c:942
+#: src/lang.c:963
 msgid "Newsgroup does not exist on this server"
 msgstr "Groupe inexistant sur ce serveur"
 
-#: src/lang.c:943
+#: src/lang.c:964
 #, c-format
 msgid "Group %s not found in active file"
 msgstr "Groupe %s introuvable dans le fichier active"
 
-#: src/lang.c:944
+#: src/lang.c:966
 msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr ""
 "c)rÃ©er, utiliser a)utre nom, utiliser .newsrc par d)Ã©faut, q)uitter tin : "
 
-#: src/lang.c:945
+#: src/lang.c:967
 msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr "utiliser a)utre nom, utiliser .newsrc par d)Ã©faut, q)uitter tin : "
 
-#: src/lang.c:946
+#: src/lang.c:968
 #, c-format
 msgid ""
 "# NNTP-server -> newsrc translation table and NNTP-server\n"
@@ -3458,48 +3552,48 @@ msgstr ""
 "#   news.ka.nu    /tmp/nrc-nu      kanu    nu\n"
 "#\n"
 
-#: src/lang.c:952
+#: src/lang.c:975
 msgid "NULL"
 msgstr "NULL"
 
-#: src/lang.c:954
+#: src/lang.c:977
 msgid "Only"
 msgstr "Actuel"
 
-#: src/lang.c:955
-#, c-format
-msgid "Option not enabled. Recompile with %s."
-msgstr "Option non activÃ©e. Recompilez avec %s."
-
-#: src/lang.c:956
+#: src/lang.c:979
 msgid "Options Menu"
 msgstr "Menu Options"
 
-#: src/lang.c:957
+#: src/lang.c:980
 msgid "Options Menu Commands"
 msgstr "Menu Options"
 
-#: src/lang.c:960
+#: src/lang.c:981
+#, fuzzy, c-format
+msgid "Option not enabled. Recompile with %s.%s\n"
+msgstr "Option non activÃ©e. Recompilez avec %s.%s\n"
+
+#: src/lang.c:984
 #, c-format
 msgid "Error in regex: %s at pos. %d '%s'"
 msgstr "Erreur dans la regex : %s Ã  %d '%s'"
 
-#: src/lang.c:961
+#: src/lang.c:985
 #, c-format
 msgid "Error in regex: pcre internal error %d"
 msgstr "Erreur dans la regex : erreur pcre interne %d"
 
-#: src/lang.c:963
+#: src/lang.c:987
 #, c-format
 msgid "Error in regex: study - pcre internal error %s"
 msgstr "Erreur dans la regex : study - erreur pcre interne %s"
 
-#: src/lang.c:965
+#: src/lang.c:989
 msgid "Post a followup..."
 msgstr "Postage du suivi..."
 
 #. TODO: replace hard coded key-name in txt_post_error_ask_postpone
-#: src/lang.c:967
+#: src/lang.c:991
 msgid ""
 "An error has occurred while posting the article. If you think that this\n"
 "error is temporary or otherwise correctable, you can postpone the article\n"
@@ -3510,45 +3604,45 @@ msgstr ""
 "l'article comme brouillon et le rÃ©utiliser plus tard grÃ¢ce Ã  la commande "
 "^O.\n"
 
-#: src/lang.c:970
+#: src/lang.c:994
 msgid "Posted articles history"
 msgstr "Historique des articles postÃ©s"
 
-#: src/lang.c:971
+#: src/lang.c:995
 msgid "Posted Articles Menu Commands"
 msgstr "Commandes pour le menu des articles postÃ©s"
 
-#: src/lang.c:972
+#: src/lang.c:996
 msgid "Lookup failed"
 msgstr "Ã‰chec de la recherche"
 
-#: src/lang.c:973
+#: src/lang.c:997
 msgid "Operation not available for replies by mail"
 msgstr "OpÃ©ration impossible pour les rÃ©ponses par courriel"
 
-#: src/lang.c:974
+#: src/lang.c:998
 msgid "Already in posted articles history level"
 msgstr "DÃ©jÃ  dans l'historique des articles postÃ©s"
 
-#: src/lang.c:975
+#: src/lang.c:999
 #, c-format
 msgid "Post to newsgroup(s) [%s]> "
 msgstr "Poster dans groupe(s) [%s]> "
 
-#: src/lang.c:976
+#: src/lang.c:1000
 msgid "-- post processing started --"
 msgstr "-- post-traitement lancÃ© --"
 
-#: src/lang.c:977
+#: src/lang.c:1001
 msgid "-- post processing completed --"
 msgstr "-- post-traitement terminÃ© --"
 
-#: src/lang.c:978
+#: src/lang.c:1002
 #, c-format
 msgid "Post subject [%s]> "
 msgstr "Poster le sujet [%s] > "
 
-#: src/lang.c:979
+#: src/lang.c:1003
 msgid ""
 "# Summary of mailed/posted messages viewable by 'W' command from within "
 "tin.\n"
@@ -3556,298 +3650,300 @@ msgstr ""
 "# Sommaire des messages envoyÃ©s/postÃ©s visible par la commande 'W' depuis "
 "tin.\n"
 
-#: src/lang.c:980
+#: src/lang.c:1004
 msgid "Posting article..."
 msgstr "Postage de l'article..."
 
-#: src/lang.c:982
-#, fuzzy, c-format
+#: src/lang.c:1006
+#, c-format
 msgid "Posting failed (%s)"
-msgstr "Postage de l'article..."
+msgstr "Ã‰chec du postage (%s)"
 
-#: src/lang.c:984
+#: src/lang.c:1008
 #, c-format
 msgid "Posting: %.*s ..."
 msgstr "Postage : %.*s ..."
 
-#: src/lang.c:985
+#: src/lang.c:1009
 #, c-format
 msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 msgstr "Poster les brouillons [%%s] ? (%s/%s/%s/%s/%s) : "
 
-#: src/lang.c:986
+#: src/lang.c:1010
 #, c-format
 msgid "Hot %s"
 msgstr "%s sÃ©lectionnÃ©"
 
-#: src/lang.c:987
+#: src/lang.c:1011
 #, c-format
 msgid "Tagged %s"
 msgstr "%s marquÃ©"
 
-#: src/lang.c:988
+#: src/lang.c:1012
 #, c-format
 msgid "Untagged %s"
 msgstr "%s non marquÃ©"
 
-#: src/lang.c:990
+#: src/lang.c:1014
 #, c-format
 msgid "Preparing for filtering on Path header (%d/%d)..."
 msgstr "PrÃ©paration pour filtrer dâ€™aprÃ¨s lâ€™en-tÃªte â€˜Pathâ€™ (%d/%d)â€¦"
 
-#: src/lang.c:992
-#, fuzzy
+#: src/lang.c:1016
 msgid "Processing attributes..."
 msgstr "Traitement du fichier attributes... "
 
-#: src/lang.c:993
+#: src/lang.c:1017
 msgid "Processing mail messages marked for deletion."
 msgstr "Traitement des emails enregistrÃ©s marquÃ©s pour effacement."
 
-#: src/lang.c:994
+#: src/lang.c:1018
 msgid "Processing saved articles marked for deletion."
 msgstr "Traitement des articles enregistrÃ©s marquÃ©s pour effacement."
 
-#: src/lang.c:995
+#: src/lang.c:1019
 #, c-format
 msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr "Accepter le Suivi ? %s=poster, %s=ignorer, %s=quitter : "
 
-#: src/lang.c:996
+#: src/lang.c:1020
 msgid "Article unchanged, abort mailing?"
 msgstr "Article inchangÃ©, annuler l'envoi ?"
 
-#: src/lang.c:997
+#: src/lang.c:1021
 #, c-format
 msgid "Do you want to see postponed articles (%d)?"
 msgstr "Voulez-vous voir les brouillons (%d) ?"
 
-#: src/lang.c:999
+#: src/lang.c:1023
 msgid "Add quick kill filter?"
 msgstr "Ajouter rapidement un filtre ?"
 
-#: src/lang.c:1000
+#: src/lang.c:1024
 msgid "Add quick selection filter?"
 msgstr "Ajouter rapidement une rÃ¨gle ?"
 
-#: src/lang.c:1001
+#: src/lang.c:1025
 msgid "Do you really want to quit?"
 msgstr "Voulez-vous rÃ©ellement quitter ?"
 
-#: src/lang.c:1002
+#: src/lang.c:1026
 #, c-format
 msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr ""
 "%s=Ã©diter message d'annulation, %s=quitter, %s=effacer (annuler) [%%s] : "
 
-#: src/lang.c:1003
+#: src/lang.c:1027
 msgid "You have tagged articles in this group - quit anyway?"
 msgstr "Vous avez des articles marquÃ©s dans ce groupe - quitter quand mÃªme ?"
 
-#: src/lang.c:1004
+#: src/lang.c:1028
 #, c-format
 msgid "%s=quit, %s=edit, %s=postpone: "
 msgstr "%s=quitter, %s=Ã©diter, %s=brouillon : "
 
-#: src/lang.c:1005
-#, fuzzy, c-format
+#: src/lang.c:1029
+#, c-format
 msgid "%s=quit, %s=edit, %s=save kill description: "
 msgstr "%s=quitter, %s=Ã©diter, %s=enregistrer le filtre : "
 
-#: src/lang.c:1006
-#, fuzzy, c-format
+#: src/lang.c:1030
+#, c-format
 msgid "%s=quit, %s=edit, %s=save select description: "
 msgstr "%s=quitter, %s=Ã©diter, %s=enregistrer la rÃ¨gle : "
 
-#: src/lang.c:1007
+#: src/lang.c:1031
 msgid "Do you really want to quit without saving your configuration?"
 msgstr "Voulez-vous rÃ©ellement quitter sans enregistrer votre configuration ?"
 
-#: src/lang.c:1010
+#: src/lang.c:1033
 msgid "Invalid range - valid are '0-9.$' e.g. 1-$"
 msgstr "Champ invalide - '0-9.$' pe. 1-$ est valide"
 
-#: src/lang.c:1012
+#: src/lang.c:1035
 msgid "Do you want to abort this operation?"
 msgstr "Voulez-vous annuler cette opÃ©ration ?"
 
-#: src/lang.c:1013
+#: src/lang.c:1036
 msgid "Do you want to exit tin immediately?"
 msgstr "Voulez-vous quitter tin immÃ©diatement ?"
 
-#: src/lang.c:1015
+#: src/lang.c:1038
 msgid "Reading ('q' to quit)..."
 msgstr "Lecture ('q' pour quitter)..."
 
-#: src/lang.c:1016
-#, fuzzy, c-format
+#: src/lang.c:1039
+#, c-format
 msgid "Reading %s articles..."
 msgstr "Lecture de %s articles..."
 
-#: src/lang.c:1017
-#, c-format
-msgid "Reading %sattributes file...\n"
-msgstr "Lecture du fichier %sattributes...\n"
+#: src/lang.c:1040
+#, fuzzy, c-format
+msgid "Reading %sattributes file: %s\n"
+msgstr "Lecture du fichier %sattributes : %s\n"
 
-#: src/lang.c:1018
-#, c-format
-msgid "Reading %sconfig file...\n"
-msgstr "Lecture du fichier %sconfig...\n"
+#: src/lang.c:1041
+#, fuzzy, c-format
+msgid "Reading %sconfig file: %s\n"
+msgstr "Lecture du fichier %sconfig : %s\n"
 
-#: src/lang.c:1019
-msgid "Reading filter file...\n"
-msgstr "Lecture du fichier filter...\n"
+#: src/lang.c:1042
+#, fuzzy, c-format
+msgid "Reading filter file: %s\n"
+msgstr "Lecture du fichier filter : %s\n"
 
-#: src/lang.c:1021
+#: src/lang.c:1044
 msgid "reading from local spool"
 msgstr "lecture depuis le spool local"
 
-#: src/lang.c:1023
+#: src/lang.c:1046
 #, c-format
 msgid "Reading %s\n"
 msgstr "Lecture de %s\n"
 
-#: src/lang.c:1024
+#: src/lang.c:1047
 #, c-format
 msgid "Reading %s groups..."
 msgstr "Lecture de %s groupes..."
 
-#: src/lang.c:1025
-msgid "Reading input history file...\n"
-msgstr "Lecture du fichier d'historique...\n"
-
-#: src/lang.c:1026
+#: src/lang.c:1048
 #, fuzzy, c-format
+msgid "Reading input history file: %s\n"
+msgstr "Lecture du fichier d'historique : %s\n"
+
+#: src/lang.c:1049
+#, c-format
 msgid "Reading keymap file: %s\n"
 msgstr "Lecture du fichier keymap : %s\n"
 
-#: src/lang.c:1027
+#: src/lang.c:1050
 msgid "Reading groups from active file... "
 msgstr "Lecture des groupes depuis le fichier active... "
 
-#: src/lang.c:1028
+#: src/lang.c:1051
 msgid "Reading groups from newsrc file... "
 msgstr "Lecture des groupes depuis le fichier newsrc... "
 
-#: src/lang.c:1029
+#: src/lang.c:1052
 msgid "Reading newsgroups file... "
 msgstr "Lecture du fichier newsgroups... "
 
-#: src/lang.c:1030
-msgid "Reading newsrc file..."
-msgstr "Lecture du fichier newsrc..."
+#: src/lang.c:1053
+#, fuzzy, c-format
+msgid "Reading newsrc file: %s"
+msgstr "Lecture du fichier newsrc : %s"
 
-#: src/lang.c:1031
+#: src/lang.c:1054
 msgid "References: line              "
 msgstr "l'en-tÃªte 'References:'"
 
-#: src/lang.c:1033
+#: src/lang.c:1056
 #, c-format
 msgid "(%d:%02d remaining)"
 msgstr "(%d:%02d restant)"
 
-#: src/lang.c:1035
+#: src/lang.c:1058
 #, c-format
 msgid "Bogus group %s removed."
 msgstr "Effacement du groupe corrompu %s."
 
-#: src/lang.c:1036
+#: src/lang.c:1059
 msgid "Removed from this rule: "
 msgstr "EffacÃ© de la rÃ¨gle : "
 
-#: src/lang.c:1037
+#: src/lang.c:1060
 #, c-format
 msgid "Error: rename %s to %s"
 msgstr "Erreur : renommer %s Ã  %s"
 
-#: src/lang.c:1038
+#: src/lang.c:1061
 msgid "Reply to author..."
 msgstr "RÃ©pondre Ã  l'auteur..."
 
-#: src/lang.c:1039
+#: src/lang.c:1062
 msgid "Repost"
 msgstr "Reposter"
 
-#: src/lang.c:1040
+#: src/lang.c:1063
 msgid "Reposting article..."
 msgstr "Repostage de l'article..."
 
-#: src/lang.c:1041
+#: src/lang.c:1064
 #, c-format
 msgid "Repost article(s) to group(s) [%s]> "
 msgstr "Reposter article(s) dans groupe(s) [%s] > "
 
-#: src/lang.c:1042
+#: src/lang.c:1065
 msgid "Reset newsrc?"
 msgstr "RÃ©initialiser newsrc ?"
 
-#: src/lang.c:1043
+#: src/lang.c:1066
 msgid "Responses have been directed to the following newsgroups"
 msgstr "Les rÃ©ponses ont Ã©tÃ© redirigÃ©es vers les groupes suivants"
 
-#: src/lang.c:1044
+#: src/lang.c:1067
 #, c-format
 msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr ""
 "Les rÃ©ponses ont Ã©tÃ© redirigÃ©es Ã  l'auteur. %s=mail, %s=poster, %s=quitter : "
 
-#: src/lang.c:1045
+#: src/lang.c:1068
 msgid "Press <RETURN> to continue..."
 msgstr "Appuyez sur <RETOUR> pour continuer..."
 
-#: src/lang.c:1047
+#: src/lang.c:1070
 #, c-format
 msgid "Score: %s"
-msgstr ""
+msgstr "Score : %s"
 
-#: src/lang.c:1048
+#: src/lang.c:1071
 #, c-format
 msgid "Select From    [%s] (y/n): "
 msgstr "   De : [%s] (o/n) : "
 
-#: src/lang.c:1049
+#: src/lang.c:1072
 msgid "Select Lines: (</>num): "
 msgstr "Nombre de lignes (</>num)    : "
 
-#: src/lang.c:1050
+#: src/lang.c:1073
 msgid "Auto-select Article Menu"
 msgstr "CrÃ©er une rÃ¨gle"
 
-#: src/lang.c:1051
+#: src/lang.c:1074
 #, c-format
 msgid "Select Msg-ID  [%s] (f/l/o/n): "
 msgstr "SÃ©lection par Msg-ID : [%s] (t/d/a/n) : "
 
-#: src/lang.c:1052
+#: src/lang.c:1075
 msgid "Select pattern scope: "
 msgstr "RÃ¨gle s'appliquant Ã  : "
 
-#: src/lang.c:1053
+#: src/lang.c:1076
 #, c-format
 msgid "Select Subject [%s] (y/n): "
 msgstr "Sujet : [%s] (o/n) : "
 
-#: src/lang.c:1054
+#: src/lang.c:1077
 msgid "Select text pattern : "
 msgstr "Texte ou terme  : "
 
-#: src/lang.c:1055
+#: src/lang.c:1078
 msgid "Select time in days   : "
 msgstr "DurÃ©e de la rÃ¨gle            : "
 
-#: src/lang.c:1056
+#: src/lang.c:1079
 msgid "[k]"
 msgstr "[k]"
 
-#: src/lang.c:1057
+#: src/lang.c:1080
 msgid "[T]"
 msgstr "[T]"
 
-#: src/lang.c:1058
+#: src/lang.c:1081
 msgid " R"
 msgstr " R"
 
-#: src/lang.c:1059
+#: src/lang.c:1082
 #, c-format
 msgid ""
 "# %s server configuration file\n"
@@ -3868,54 +3964,54 @@ msgstr ""
 "# Enfin, ne touchez pas Ã  ce fichier si vous ne savez pas quoi y faire.\n"
 "############################################################################\n"
 
-#: src/lang.c:1065
+#: src/lang.c:1088
 msgid "Showing unread groups only"
 msgstr "Afficher uniquement les groupes non lus"
 
-#: src/lang.c:1066
+#: src/lang.c:1089
 msgid "Subject: line (ignore case)   "
 msgstr "l'en-tÃªte 'Subject:' (ignorer la casse)"
 
-#: src/lang.c:1067
+#: src/lang.c:1090
 msgid "Subject: line (case sensitive)"
 msgstr "l'en-tÃªte 'Subject:' (casse sensible)"
 
-#: src/lang.c:1068
+#: src/lang.c:1091
 msgid "Save"
 msgstr "Enregistrer"
 
-#: src/lang.c:1069
+#: src/lang.c:1092
 #, c-format
 msgid "Save '%s' (%s/%s)?"
 msgstr "Enregistrer '%s' (%s/%s) ?"
 
-#: src/lang.c:1070
+#: src/lang.c:1093
 msgid "Save configuration before continuing?"
 msgstr "Enregistrer la configuration avant de continuer ?"
 
-#: src/lang.c:1071
+#: src/lang.c:1094
 msgid "Save filename> "
 msgstr "Enregistrer sous le nom de fichier > "
 
-#: src/lang.c:1072
+#: src/lang.c:1095
 msgid "Saved"
 msgstr "EnregistrÃ©"
 
-#: src/lang.c:1073
-#, c-format
-msgid "%4d unread (%4d hot) %s in %s\n"
-msgstr "%4d non lu (%4d sÃ©l.) %s dans %s\n"
+#: src/lang.c:1096
+#, fuzzy, c-format
+msgid "%s unread (%s hot) %s in %s\n"
+msgstr "%s non lu (%s sÃ©l.) %s dans %s\n"
 
-#: src/lang.c:1074
+#: src/lang.c:1097
 #, c-format
 msgid "Saved %s...\n"
 msgstr "Enregistrement de %s...\n"
 
-#: src/lang.c:1075
+#: src/lang.c:1098
 msgid "Nothing was saved"
 msgstr "Rien n'a Ã©tÃ© enregistrÃ©"
 
-#: src/lang.c:1076
+#: src/lang.c:1099
 #, c-format
 msgid ""
 "\n"
@@ -3924,188 +4020,188 @@ msgstr ""
 "\n"
 "%s %d %s de %d %s\n"
 
-#: src/lang.c:1077
+#: src/lang.c:1100
 #, c-format
 msgid "-- %s saved to %s%s --"
 msgstr "-- %s enregistrÃ© sous %s%s --"
 
-#: src/lang.c:1078
+#: src/lang.c:1101
 #, c-format
 msgid "-- %s saved to %s - %s --"
 msgstr "-- %s enregistrÃ© sous %s - %s --"
 
-#: src/lang.c:1079
+#: src/lang.c:1102
 msgid "Saving..."
 msgstr "Enregistrement..."
 
-#: src/lang.c:1080
+#: src/lang.c:1103
 #, c-format
 msgid "%s: Screen initialization failed"
 msgstr "%s : Ã‰chec de l'initialisation de l'Ã©cran"
 
-#: src/lang.c:1082
+#: src/lang.c:1105
 #, c-format
 msgid "%s: screen is too small\n"
 msgstr "%s : l'Ã©cran est trop petit\n"
 
-#: src/lang.c:1084
+#: src/lang.c:1107
 #, c-format
 msgid "screen is too small, %s is exiting"
 msgstr "l'Ã©cran est trop petit, %s quitte"
 
-#: src/lang.c:1085
+#: src/lang.c:1108
 msgid "Delete scope?"
 msgstr "Effacer la sÃ©lection ?"
 
-#: src/lang.c:1086
+#: src/lang.c:1109
 msgid "Enter scope> "
 msgstr "Entrez la sÃ©lection > "
 
-#: src/lang.c:1087
+#: src/lang.c:1110
 msgid "Select new position> "
 msgstr "SÃ©lection de la nouvelle position > "
 
-#: src/lang.c:1088
+#: src/lang.c:1111
 msgid "New position cannot be a global scope"
 msgstr "Nouvelle position ne peut Ãªtre une sÃ©lection globale"
 
-#: src/lang.c:1089
+#: src/lang.c:1112
 msgid "Global scope, operation not allowed"
 msgstr "OpÃ©ration interdite, sÃ©lection globale"
 
-#: src/lang.c:1090
+#: src/lang.c:1113
 msgid "Rename scope> "
 msgstr "Renommer la sÃ©lection "
 
-#: src/lang.c:1091
+#: src/lang.c:1114
 msgid "Select scope> "
 msgstr "SÃ©lectionner le groupe > "
 
-#: src/lang.c:1092
+#: src/lang.c:1115
 msgid "Scopes Menu"
 msgstr "Menu Options"
 
-#: src/lang.c:1093
+#: src/lang.c:1116
 msgid "Scopes Menu Commands"
 msgstr "Menu de sÃ©lection"
 
-#: src/lang.c:1094
+#: src/lang.c:1117
 #, c-format
 msgid "Search backwards [%s]> "
 msgstr "Recherche arriÃ¨re [%s] > "
 
-#: src/lang.c:1095
+#: src/lang.c:1118
 #, c-format
 msgid "Search body [%s]> "
 msgstr "Rechercher dans le corps [%s] > "
 
-#: src/lang.c:1096
+#: src/lang.c:1119
 #, c-format
 msgid "Search forwards [%s]> "
 msgstr "Recherche avant [%s] > "
 
-#: src/lang.c:1097
+#: src/lang.c:1120
 msgid "Searching..."
 msgstr "Recherche..."
 
-#: src/lang.c:1098
+#: src/lang.c:1121
 #, c-format
 msgid "Searching article %d of %d ('q' to abort)..."
 msgstr "Recherche article %d sur %d ('q' pour annuler)..."
 
-#: src/lang.c:1099
+#: src/lang.c:1122
 msgid "Select article> "
 msgstr "SÃ©lectionner l'article > "
 
-#: src/lang.c:1100
+#: src/lang.c:1123
 msgid ""
 "Select option number before text or use arrow keys and <CR>. 'q' to quit."
 msgstr ""
 "Choisir un numÃ©ro ou utiliser les flÃ¨ches puis <RETOUR>. 'q' pour quitter."
 
-#: src/lang.c:1101
+#: src/lang.c:1124
 msgid "Select group> "
 msgstr "SÃ©lectionner le groupe > "
 
-#: src/lang.c:1102
+#: src/lang.c:1125
 #, c-format
 msgid "Enter selection pattern [%s]> "
 msgstr "Entrez le critÃ¨re de sÃ©lection [%s] > "
 
-#: src/lang.c:1103
+#: src/lang.c:1126
 msgid "Select thread> "
 msgstr "SÃ©lectionner le fil > "
 
-#: src/lang.c:1104
+#: src/lang.c:1127
 #, c-format
 msgid "%s %s %s (\"%s\"): send a DETAILED bug report to %s\n"
 msgstr "%s %s %s (\"%s\"): envoi d'un rapport de bogue DÃ‰TAILLÃ‰ Ã  %s\n"
 
-#: src/lang.c:1105
+#: src/lang.c:1128
 msgid "servers active-file"
 msgstr "fichier active des serveurs"
 
-#: src/lang.c:1106
+#: src/lang.c:1129
 #, c-format
 msgid "Skipped %s"
-msgstr ""
+msgstr "%s sautÃ©s"
 
-#: src/lang.c:1107
+#: src/lang.c:1130
 msgid "Cannot move into new newsgroups. Subscribe first..."
 msgstr "DÃ©placement dans nouveaux groupes impossible. Abonnez-vous d'abord..."
 
-#: src/lang.c:1108
+#: src/lang.c:1131
 msgid "<SPACE>"
 msgstr "<ESPACE>"
 
-#: src/lang.c:1109
+#: src/lang.c:1132
 #, c-format
 msgid "Starting: (%s)"
 msgstr "DÃ©marrage : (%s)"
 
-#: src/lang.c:1110
+#: src/lang.c:1133
 #, c-format
 msgid "List Thread (%d of %d)"
 msgstr "Visualisation du fil (%d sur %d)"
 
-#: src/lang.c:1111
+#: src/lang.c:1134
 #, c-format
 msgid "Thread (%.*s)"
 msgstr "Fil (%.*s)"
 
-#: src/lang.c:1112
+#: src/lang.c:1135
 msgid "Enter wildcard subscribe pattern> "
 msgstr "Entrer un caractÃ¨re joker comme critÃ¨re > "
 
-#: src/lang.c:1113
+#: src/lang.c:1136
 #, c-format
 msgid "subscribed to %d groups"
 msgstr "AbonnÃ© Ã  %d groupes"
 
-#: src/lang.c:1114
+#: src/lang.c:1137
 #, c-format
 msgid "Subscribed to %s"
 msgstr "AbonnÃ© Ã  %s"
 
-#: src/lang.c:1115
+#: src/lang.c:1138
 msgid "Subscribing... "
 msgstr "Abonnement... "
 
-#: src/lang.c:1116
+#: src/lang.c:1139
 #, c-format
 msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): "
 msgstr "Reposter ou remplacer le(s) article(s) [%%s]? (%s/%s/%s) : "
 
-#: src/lang.c:1117
+#: src/lang.c:1140
 #, c-format
 msgid "Supersede article(s) to group(s) [%s]> "
 msgstr "Remplacer le(s) article(s) du(es) groupe(s) [%s] > "
 
-#: src/lang.c:1118
+#: src/lang.c:1141
 msgid "Superseding article ..."
 msgstr "Remplacement de l'article..."
 
-#: src/lang.c:1119
+#: src/lang.c:1142
 #, c-format
 msgid ""
 "\n"
@@ -4114,29 +4210,29 @@ msgstr ""
 "\n"
 "ArrÃªtÃ©. Tapez 'fg' pour relancer %s\n"
 
-#: src/lang.c:1121
+#: src/lang.c:1144
 #, c-format
 msgid "%d days"
 msgstr "%d jours"
 
-#: src/lang.c:1122
+#: src/lang.c:1145
 msgid "<TAB>"
 msgstr "<TAB>"
 
-#: src/lang.c:1123
+#: src/lang.c:1146
 msgid "TeX "
 msgstr "TeX "
 
-#: src/lang.c:1124
-#, fuzzy, c-format
+#: src/lang.c:1147
+#, c-format
 msgid "Version: %s %s release %s (\"%s\")"
-msgstr "Version : %s %s release %s (\"%s\")\n"
+msgstr "Version : %s %s release %s (\"%s\")"
 
-#: src/lang.c:1125
+#: src/lang.c:1148
 msgid "# Default action/prompt strings\n"
 msgstr "# Termes action/prompt par dÃ©faut\n"
 
-#: src/lang.c:1126
+#: src/lang.c:1149
 msgid ""
 "# Defaults for quick (1 key) kill & auto-selection filters\n"
 "# header=NUM  0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n"
@@ -4156,7 +4252,7 @@ msgstr ""
 "# case=ON/OFF    ON=filtre sensible Ã  la casse OFF=filtre insensible\n"
 "# expire=ON/OFF  ON=durÃ©e d'aprÃ¨s default_filter_days OFF=n'expire jamais\n"
 
-#: src/lang.c:1139
+#: src/lang.c:1162
 msgid ""
 "# If ON use print current subject or newsgroup description in the last line\n"
 msgstr ""
@@ -4164,106 +4260,96 @@ msgstr ""
 "derniÃ¨re\n"
 "# ligne\n"
 
-#: src/lang.c:1140
+#: src/lang.c:1163
 msgid "# Host & time info used for detecting new groups (don't touch)\n"
 msgstr ""
 "# Info sur l'hÃ´te & l'heure utilisÃ©es pour dÃ©tecter les nouveaux groupes (ne "
 "pas toucher)\n"
 
-#: src/lang.c:1141
+#: src/lang.c:1164
 msgid "There is no news\n"
 msgstr "Rien de neuf\n"
 
-#: src/lang.c:1142
+#: src/lang.c:1165
 msgid "Thread"
 msgstr "Fil"
 
-#: src/lang.c:1143
+#: src/lang.c:1166
 msgid "Thread Level Commands"
 msgstr "Commandes pour fil"
 
-#: src/lang.c:1144
+#: src/lang.c:1167
 msgid "Thread deselected"
 msgstr "Fil dÃ©sÃ©lectionnÃ©"
 
-#: src/lang.c:1145
+#: src/lang.c:1168
 msgid "Thread selected"
 msgstr "Fil sÃ©lectionnÃ©"
 
-#: src/lang.c:1146
+#: src/lang.c:1169
 msgid "thread"
 msgstr "fil"
 
-#: src/lang.c:1147
+#: src/lang.c:1170
 #, c-format
 msgid "Thread %4s of %4s"
 msgstr "    Fil %4s sur %4s"
 
-#: src/lang.c:1148
+#: src/lang.c:1171
 msgid "Threading articles..."
 msgstr "Regroupement des articles..."
 
-#: src/lang.c:1149
+#: src/lang.c:1172
 msgid "Threading by multipart"
 msgstr "Regroupement par partie"
 
-#: src/lang.c:1151
-#, c-format
-msgid "TLS handshake failed: %s\n"
-msgstr "Ã‰chec de l'Ã©change TLS : %s\n"
-
-#: src/lang.c:1153
+#: src/lang.c:1175
 msgid "<failed to retrieve cipher>"
-msgstr ""
+msgstr "<Ã©chec de la rÃ©cupÃ©ration du chiffrement>"
 
-#: src/lang.c:1154
+#: src/lang.c:1176
 msgid "<failed to retrieve issuer>"
-msgstr ""
+msgstr "<Ã©chec de la rÃ©cupÃ©ration de lâ€™Ã©metteur>"
 
-#: src/lang.c:1155
+#: src/lang.c:1177
 msgid "<failed to retrieve subject>"
-msgstr ""
+msgstr "<Ã©chec de la rÃ©cupÃ©ration du sujet>"
 
-#: src/lang.c:1156
+#: src/lang.c:1178
 msgid "<failed to retrieve version>"
-msgstr ""
+msgstr "<Ã©chec de la rÃ©cupÃ©ration de la version>"
 
-#: src/lang.c:1157
-#, fuzzy, c-format
+#: src/lang.c:1179
+#, c-format
 msgid "%s handshake done: %s\n"
-msgstr "Ã‰chec de l'Ã©change TLS : %s\n"
-
-#: src/lang.c:1158 src/lang.c:1309
-#, fuzzy
-msgid "unknown error"
-msgstr "Erreur inconnue."
+msgstr "%s Ã©change effectuÃ© : %s\n"
 
-#: src/lang.c:1161
-#, fuzzy, c-format
+#: src/lang.c:1182
+#, c-format
 msgid "TLS handshake failed: %s (%d)\n"
-msgstr "Ã‰chec de l'Ã©change TLS : %s\n"
+msgstr "Ã‰chec de l'Ã©change TLS : %s (%d)\n"
 
-#: src/lang.c:1162
+#: src/lang.c:1183
 #, c-format
 msgid "TLS peer verification failed: %s\n"
 msgstr "Ã‰chec de la vÃ©rification TLS du tiers : %s\n"
 
-#: src/lang.c:1163
+#: src/lang.c:1184
 #, c-format
 msgid "TLS peer verification failed, continuing anyway as requested: %s\n"
 msgstr ""
 "Ã‰chec de la vÃ©rification TLS du tiers, continuer quand mÃªme comme demandÃ© : "
 "%s\n"
 
-#: src/lang.c:1164
+#: src/lang.c:1185
 msgid "<unable to retrieve status>"
-msgstr ""
+msgstr "<rÃ©cupÃ©ration du statut impossible>"
 
-#: src/lang.c:1165
+#: src/lang.c:1186
 msgid "unexpected certificate verification status!"
-msgstr ""
+msgstr "statut inattendu de la vÃ©rification du certificat !"
 
-#: src/lang.c:1168
+#: src/lang.c:1189
 #, c-format
 msgid ""
 "TLS peer verification failed: %s.\n"
@@ -4272,182 +4358,202 @@ msgstr ""
 "Ã‰chec de la vÃ©rification TLS du tiers : %s\n"
 "Continuer quand mÃªme comme demandÃ©.\n"
 
-#: src/lang.c:1171
-#, fuzzy, c-format
+#: src/lang.c:1192
+#, c-format
 msgid "TLS handshake done: %s\n"
+msgstr "Ã‰change TLS effectuÃ© : %s\n"
+
+#: src/lang.c:1195
+#, c-format
+msgid "TLS handshake failed: %s\n"
 msgstr "Ã‰chec de l'Ã©change TLS : %s\n"
 
-#: src/lang.c:1174
+#: src/lang.c:1198
 #, c-format
 msgid "Toggled word highlighting %s"
 msgstr "(DÃ©s)activer surbrillance %s"
 
-#: src/lang.c:1175
+#: src/lang.c:1199
 msgid "Toggled rot13 encoding"
 msgstr "(DÃ©s)activer codage rot13"
 
-#: src/lang.c:1176
+#: src/lang.c:1200
 #, c-format
 msgid "Toggled German TeX encoding %s"
 msgstr "(DÃ©s)activer codage TeX Allemand %s"
 
-#: src/lang.c:1177
+#: src/lang.c:1201
 #, c-format
 msgid "Toggled tab-width to %d"
 msgstr "(DÃ©s)activer largeur de tabulation Ã  %d"
 
-#: src/lang.c:1179
+#: src/lang.c:1203
 #, c-format
 msgid "%d Trying to dotlock %s"
 msgstr "%d essaye de dÃ©verrouiller %s"
 
-#: src/lang.c:1180
+#: src/lang.c:1204
 #, c-format
 msgid "%d Trying to lock %s"
 msgstr "%d essaye de verrouiller %s"
 
-#: src/lang.c:1182
+#: src/lang.c:1206
 #, c-format
 msgid "%s=help"
 msgstr "%s=aide"
 
-#: src/lang.c:1184
+#: src/lang.c:1208
 msgid "Unlimited"
 msgstr "IllimitÃ©e"
 
-#: src/lang.c:1185
+#: src/lang.c:1209
 msgid "Enter wildcard unsubscribe pattern> "
 msgstr "Terme joker pour se dÃ©sabonner > "
 
-#: src/lang.c:1186
+#: src/lang.c:1210
 #, c-format
 msgid "Error decoding %s : %s"
 msgstr "Erreur lors du dÃ©codage de %s : %s"
 
-#: src/lang.c:1187
+#: src/lang.c:1211
 msgid "No end."
 msgstr "Pas de fin."
 
-#: src/lang.c:1188
+#: src/lang.c:1212
 #, c-format
 msgid "%s successfully decoded."
 msgstr "%s dÃ©codÃ© avec succÃ¨s."
 
-#: src/lang.c:1189
+#: src/lang.c:1214
 msgid "unchanged"
 msgstr "inchangÃ©"
 
-#: src/lang.c:1190
+#: src/lang.c:1216
 msgid "(unknown)"
 msgstr "(inconnu)"
 
-#: src/lang.c:1191
+#: src/lang.c:1218
+msgid "unknown error"
+msgstr "erreur inconnue"
+
+#: src/lang.c:1220
 msgid "unread"
 msgstr "non lu(s)"
 
-#: src/lang.c:1192
+#: src/lang.c:1221
 #, c-format
 msgid "unsubscribed from %d groups"
 msgstr "dÃ©sabonnÃ© de %d groupes"
 
-#: src/lang.c:1193
+#: src/lang.c:1222
 #, c-format
 msgid "Unsubscribed from %s"
 msgstr "DÃ©sabonnÃ© de %s"
 
-#: src/lang.c:1194
+#: src/lang.c:1223
 msgid "Unsubscribing... "
 msgstr "DÃ©sabonnement... "
 
-#: src/lang.c:1195
+#: src/lang.c:1224
 msgid "Unthreading articles..."
 msgstr "DÃ©groupement des articles..."
 
-#: src/lang.c:1196
+#: src/lang.c:1225
 msgid "Updated"
 msgstr "Mis Ã  jour"
 
-#: src/lang.c:1197
+#: src/lang.c:1226
 msgid "Updating"
 msgstr "Mise Ã  jour"
 
-#: src/lang.c:1198
+#: src/lang.c:1227
 msgid "URL Menu"
 msgstr "Menu URL"
 
-#: src/lang.c:1199
+#: src/lang.c:1228
 msgid "URL Menu Commands"
 msgstr "Menu URL"
 
-#: src/lang.c:1200
+#: src/lang.c:1229
 #, c-format
 msgid "Opening %s"
 msgstr "Ouverture de %s"
 
-#: src/lang.c:1201
+#: src/lang.c:1230
 msgid "Select URL> "
 msgstr "SÃ©lectionner l'URL >"
 
-#: src/lang.c:1202
+#: src/lang.c:1231
 msgid "No URLs in this article"
 msgstr "Plus d'URL dans cet article"
 
-#: src/lang.c:1203
-msgid "Use MIME display program for this message?"
-msgstr "Utiliser le programme d'affichage MIME pour ce message ?"
+#: src/lang.c:1233
+#, c-format
+msgid "SASL MECHS    : %s\n"
+msgstr ""
 
-#: src/lang.c:1204
+#: src/lang.c:1234
+#, c-format
+msgid "SASL MECH used: %s\n"
+msgstr ""
+
+#: src/lang.c:1236
 msgid "  -c       mark all news as read in subscribed newsgroups (batch mode)"
 msgstr ""
 "  -c       marquer tous les articles lus dans les groupes abonnÃ©s (en tÃ¢che "
 "de fond)"
 
-#: src/lang.c:1205
+#: src/lang.c:1237
 msgid "  -Z       return status indicating if any unread news (batch mode)"
 msgstr ""
 "  -Z       retourne un statut indiquant s'il y a nouveaux articles (en tÃ¢che "
 "de fond)"
 
-#: src/lang.c:1206
+#: src/lang.c:1238
 msgid "  -q       don't check for new newsgroups"
 msgstr "  -q       ne pas vÃ©rifier s'il y a des nouveaux groupes"
 
-#: src/lang.c:1207
+#: src/lang.c:1239
 msgid "  -X       don't save any files on quit"
 msgstr "  -X       ne pas enregistrer de fichiers Ã  la fermeture"
 
-#: src/lang.c:1208
+#: src/lang.c:1240
 msgid "  -d       don't show newsgroup descriptions"
 msgstr "  -d       ne pas afficher les descriptions des groupes"
 
-#: src/lang.c:1209
+#: src/lang.c:1241
 msgid "  -G limit get only limit articles/group"
 msgstr "  -G nombre d'articles par groupe limite"
 
-#: src/lang.c:1210
+#: src/lang.c:1242
 #, c-format
 msgid "  -H       help information about %s"
 msgstr "  -H       aide Ã  propos de %s"
 
-#: src/lang.c:1211
+#: src/lang.c:1243
 msgid "  -h       this help message"
 msgstr "  -h       ce message d'aide"
 
-#: src/lang.c:1212
+#: src/lang.c:1244
 #, c-format
 msgid "  -I dir   news index file directory [default=%s]"
 msgstr "  -I rÃ©p.  rÃ©pertoire du fichier index [dÃ©faut=%s]"
 
-#: src/lang.c:1213
+#: src/lang.c:1246
+#, fuzzy
+msgid "  -L msgid show the message with that Message-ID"
+msgstr "  -L msgid affiche le message avec cet Message-ID"
+
+#: src/lang.c:1248
 msgid "  -u       update index files (batch mode)"
 msgstr "  -u       mÃ j des fichiers index (en tÃ¢che de fond)"
 
-#: src/lang.c:1214
+#: src/lang.c:1249
 #, c-format
 msgid "  -m dir   mailbox directory [default=%s]"
 msgstr "  -m rÃ©p.  rÃ©pertoire des bÃ l [dÃ©faut=%s]"
 
-#: src/lang.c:1215
+#: src/lang.c:1250
 #, c-format
 msgid ""
 "\n"
@@ -4456,52 +4562,57 @@ msgstr ""
 "\n"
 "Envoyez par mail vos rapports de bogues/suggestions Ã  %s"
 
-#: src/lang.c:1216
+#: src/lang.c:1251
 msgid "  -N       mail new news to your posts (batch mode)"
 msgstr "  -N       envoyer toute rÃ©ponse Ã  vos articles (en tÃ¢che de fond)"
 
-#: src/lang.c:1217
+#: src/lang.c:1252
 msgid "  -M user  mail new news to specified user (batch mode)"
 msgstr ""
 "  -M util. envoyer tout nouvel article Ã  une personne (en tÃ¢che de fond)"
 
-#: src/lang.c:1218
+#: src/lang.c:1253
 #, c-format
 msgid "  -f file  subscribed to newsgroups file [default=%s]"
 msgstr "  -f fich. abonnÃ© au fichier groupes [dÃ©faut=%s]"
 
-#: src/lang.c:1219
+#: src/lang.c:1255
+#, fuzzy, c-format
+msgid "  -t sec   override nntp_read_timeout_secs setting [default=%d]"
+msgstr "  -t sec   remplacer le paramÃ¨tre nntp_read_timeout_secs [dÃ©faut=%d]"
+
+#: src/lang.c:1257
 msgid "  -x       no-posting mode"
 msgstr "  -x       mode postage OFF"
 
-#: src/lang.c:1220
+#: src/lang.c:1258
 msgid "  -w       post an article and exit"
 msgstr "  -w       poster un article puis quitter"
 
-#: src/lang.c:1221
+#: src/lang.c:1259
 msgid "  -o       post all postponed articles and exit"
 msgstr "  -o       poster tous les brouillons puis quitter"
 
-#: src/lang.c:1222
+#: src/lang.c:1260
 msgid "  -R       read news saved by -S option"
 msgstr "  -R       lire les articles enregistrÃ©s via l'option -S"
 
-#: src/lang.c:1223
+#: src/lang.c:1261
 #, c-format
 msgid "  -s dir   save news directory [default=%s]"
 msgstr "  -s rÃ©p.  rÃ©pertoire oÃ¹ enregistrer les articles [dÃ©faut=%s]"
 
-#: src/lang.c:1224
+#: src/lang.c:1262
 msgid "  -S       save new news for later reading (batch mode)"
 msgstr ""
 "  -S       enregistrer tout nouvel article pour lecture diffÃ©rÃ©e (en tÃ¢che "
 "de fond)"
 
-#: src/lang.c:1225
+#: src/lang.c:1263
 msgid "  -z       start if any unread news"
 msgstr "  -z       lancer si articles non lus"
 
-#: src/lang.c:1226
+#: src/lang.c:1264
 #, c-format
 msgid ""
 "A Usenet reader.\n"
@@ -4511,68 +4622,73 @@ msgstr ""
 "Un lecteur UseNet.\n"
 "Usage : %s [options] [groupe[,...]]"
 
-#: src/lang.c:1227
+#: src/lang.c:1265
 msgid "  -v       verbose output for batch mode options"
 msgstr "  -v       sortie dÃ©taillÃ©e pour options en tÃ¢che de fond"
 
-#: src/lang.c:1228
+#: src/lang.c:1266
 msgid "  -V       print version & date information"
 msgstr "  -V       afficher infos date & version"
 
-#: src/lang.c:1229
-#, c-format
-msgid "%s only useful without batch mode operations\n"
-msgstr "%s utile seulement sans opÃ©rations en tÃ¢che de fond\n"
+#: src/lang.c:1267
+msgid "Use MIME display program for this message?"
+msgstr "Utiliser le programme d'affichage MIME pour ce message ?"
 
-#: src/lang.c:1230
-#, c-format
-msgid "%s only useful for batch mode operations\n"
-msgstr "%s utile seulement pour opÃ©rations en tÃ¢che de fond\n"
+#: src/lang.c:1268
+#, fuzzy, c-format
+msgid "%s only useful without batch mode operations.%s\n"
+msgstr "%s utile seulement sans opÃ©rations en tÃ¢che de fond.%s\n"
 
-#: src/lang.c:1231
-#, c-format
-msgid "%s only useful for batch or debug mode operations\n"
-msgstr "%s utile seulement pour opÃ©rations en tÃ¢che de fond ou de dÃ©bogage\n"
+#: src/lang.c:1269
+#, fuzzy, c-format
+msgid "%s only useful for batch mode operations.%s\n"
+msgstr "%s utile seulement pour opÃ©rations en tÃ¢che de fond.%s\n"
 
-#: src/lang.c:1232
-#, c-format
-msgid "Useless combination %s and %s. Ignoring %s.\n"
-msgstr "Combinaison %s et %s inutile. %s ignorÃ©e.\n"
+#: src/lang.c:1270
+#, fuzzy, c-format
+msgid "%s only useful for batch or debug mode operations.%s\n"
+msgstr ""
+"%s utile seulement pour opÃ©rations en tÃ¢che de fond ou de dÃ©bogage.%s\n"
 
-#: src/lang.c:1233
+#: src/lang.c:1271
+#, fuzzy, c-format
+msgid "Useless combination %s and %s. Ignoring %s.%s\n"
+msgstr "Combinaison %s et %s inutile. %s ignorÃ©e.%s\n"
+
+#: src/lang.c:1272
 msgid "uuencoded file"
-msgstr ""
+msgstr "fichier uuencode"
 
-#: src/lang.c:1234
-#, fuzzy
+#: src/lang.c:1273
 msgid "incomplete uuencoded file"
-msgstr "incomplet "
+msgstr "fichier uuencode incomplet"
 
-#: src/lang.c:1237
+#: src/lang.c:1276
 #, c-format
 msgid "Valid not after : %s\n"
-msgstr ""
+msgstr "Non valide aprÃ¨s : %s\n"
 
-#: src/lang.c:1238
+#: src/lang.c:1277
 #, c-format
 msgid "Valid not before: %s\n"
-msgstr ""
+msgstr "Non valide avant : %s\n"
 
-#: src/lang.c:1240
-#, c-format
-msgid ""
-"\n"
-"%s%d out of range (0 - %d). Reset to 0"
-msgstr ""
-"\n"
-"%s%d expirÃ© (0 - %d). Remis Ã  0"
+#: src/lang.c:1279
+#, fuzzy, c-format
+msgid "%s %s out of range (%d - %d). Ignored."
+msgstr "%s %s expirÃ© (%d - %d). IgnorÃ©."
 
-#: src/lang.c:1241
+#: src/lang.c:1280
+#, fuzzy, c-format
+msgid "%s %d out of range (0 - %d). Reset to 0."
+msgstr "%s %d expirÃ© (0 - %d). Remis Ã  0."
+
+#: src/lang.c:1281
 #, c-format
 msgid "View '%s' (%s/%s)?"
 msgstr "Voir '%s' (%s/%s) ?"
 
-#: src/lang.c:1243
+#: src/lang.c:1283
 #, c-format
 msgid ""
 "\n"
@@ -4584,7 +4700,7 @@ msgstr ""
 "dÃ©passant :\n"
 "%-100s\n"
 
-#: src/lang.c:1244
+#: src/lang.c:1284
 msgid ""
 "\n"
 "Warning: article unchanged after editing\n"
@@ -4592,7 +4708,7 @@ msgstr ""
 "\n"
 "Attention : article inchangÃ© aprÃ¨s son Ã©dition\n"
 
-#: src/lang.c:1245
+#: src/lang.c:1285
 msgid ""
 "\n"
 "Warning: \"Subject:\" contains only whitespaces.\n"
@@ -4600,7 +4716,7 @@ msgstr ""
 "\n"
 "Attention : \"Subject:\" contient que des espaces.\n"
 
-#: src/lang.c:1246
+#: src/lang.c:1286
 msgid ""
 "\n"
 "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:"
@@ -4610,7 +4726,7 @@ msgstr ""
 "Attention : \"Subject:\" commence par \"Re: \" mais il n'y a pas de "
 "\"References:\".\n"
 
-#: src/lang.c:1248
+#: src/lang.c:1288
 msgid ""
 "\n"
 "Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
@@ -4620,7 +4736,16 @@ msgstr ""
 "Attention : L'article a \"References:\" mais \"Subject:\" ne commence\n"
 "            avec \"Re: \" et ne contient pas \"(was:\".\n"
 
-#: src/lang.c:1251
+#: src/lang.c:1291
+#, fuzzy
+msgid ""
+"\n"
+"Warning: \"Subject:\" contains only \"Re:\".\n"
+msgstr ""
+"\n"
+"Attention : \"Subject:\" contient seulement \"Re:\".\n"
+
+#: src/lang.c:1292
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4644,7 +4769,16 @@ msgstr ""
 "Voici l'article que vous vous apprÃªtez Ã  effacer :\n"
 "\n"
 
-#: src/lang.c:1255
+#: src/lang.c:1296
+#, fuzzy
+msgid ""
+"\n"
+"Warning: Undesired Distribution \"world\" used.\n"
+msgstr ""
+"\n"
+"Erreur : Formattage incorrect de %s.\n"
+
+#: src/lang.c:1297
 msgid ""
 "\n"
 "Warning: You are using a non-plain transfer encoding (such as base64 or\n"
@@ -4658,8 +4792,8 @@ msgstr ""
 "            votre article. Si une signature y est ajoutÃ©e par cet inews,\n"
 "            elle ne sera pas encodÃ©e correctement.\n"
 
-#: src/lang.c:1261
-#, fuzzy, c-format
+#: src/lang.c:1303
+#, c-format
 msgid ""
 "\n"
 "Line %d is longer than %d octets and should be folded, but encoding\n"
@@ -4667,10 +4801,10 @@ msgid ""
 msgstr ""
 "\n"
 "La ligne %d est plus longue que %d octets et devrait Ãªtre rÃ©duite, mais\n"
-"l'encodage n'est ni %s ni %s\n"
+"l'encodage n'est ni %s ni %s.\n"
 
-#: src/lang.c:1265
-#, fuzzy, c-format
+#: src/lang.c:1307
+#, c-format
 msgid ""
 "\n"
 "Line %d is longer than %d octets and should be folded, but encoding\n"
@@ -4680,11 +4814,11 @@ msgstr ""
 "\n"
 "La ligne %d est plus longue que %d octets et devrait Ãªtre rÃ©duite, mais\n"
 "l'encodage est %s sans que l'option MIME_BREAK_LONG_LINES ne soit\n"
-"activÃ©e ou l'article ne contient pas de caractÃ¨res 8 bits donc pas\n"
-"besoin de rÃ©duire la ligne\n"
+"activÃ©e ou l'article ne contient pas de caractÃ¨res 8 bits donc la rÃ©duction\n"
+"ne se fera pas.\n"
 
-#: src/lang.c:1269
-#, fuzzy, c-format
+#: src/lang.c:1311
+#, c-format
 msgid ""
 "\n"
 "Line %d is longer than %d octets and should be folded, but encoding\n"
@@ -4692,9 +4826,9 @@ msgid ""
 msgstr ""
 "\n"
 "La ligne %d est plus longue que %d octets et devrait Ãªtre rÃ©duite, mais\n"
-"l'encodage n'est pas %s\n"
+"l'encodage n'est pas %s.\n"
 
-#: src/lang.c:1272
+#: src/lang.c:1314
 msgid ""
 "\n"
 "Warning: \"example\" is a reserved hierarchy!\n"
@@ -4702,7 +4836,7 @@ msgstr ""
 "\n"
 "Attention : \"exemple\" est une hiÃ©rarchie rÃ©servÃ©e !\n"
 
-#: src/lang.c:1273
+#: src/lang.c:1315
 #, c-format
 msgid ""
 "\n"
@@ -4717,7 +4851,7 @@ msgstr ""
 "Certaines valeurs dans votre fichier %s ont changÃ© !\n"
 "Lisez le fichier WHATSNEW, etc...\n"
 
-#: src/lang.c:1275
+#: src/lang.c:1317
 #, c-format
 msgid ""
 "\n"
@@ -4731,7 +4865,7 @@ msgstr ""
 "Certaines valeurs dans votre fichier %s peuvent Ãªtre ignorÃ©es, d'autres\n"
 "ont peut-Ãªtre changÃ©es !\n"
 
-#: src/lang.c:1278
+#: src/lang.c:1320
 #, c-format
 msgid ""
 "Warning: tin wrote fewer groups to your\n"
@@ -4746,7 +4880,28 @@ msgstr ""
 "lors de cette session, cela indique une erreur et vous devriez sauvegarder\n"
 "votre %s avant de relancer tin !\n"
 
-#: src/lang.c:1282
+#: src/lang.c:1324
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Warning: The article has multiple addresses in \"%s\".\n"
+"         This is at least uncommon.\n"
+msgstr ""
+"\n"
+"AttentionÂ : L'article a plusieurs adresses dans \"%s\".\n"
+"C'est pour le moins rare.\n"
+
+#: src/lang.c:1327
+#, c-format
+msgid ""
+"\n"
+"Warning: With multiple addresses in \"From\", a \"Sender\"-header is\n"
+"         required, but its generation is deactivated by the global\n"
+"         configuration \"disable_sender=ON\" in\n"
+"         \"%s\".\n"
+msgstr ""
+
+#: src/lang.c:1332
 #, c-format
 msgid ""
 "\n"
@@ -4755,12 +4910,12 @@ msgstr ""
 "\n"
 "Attention : %d lignes '-- \\n' trouvÃ©es, cela peut prÃªter Ã  confusion.\n"
 
-#: src/lang.c:1283
+#: src/lang.c:1333
 #, c-format
 msgid "Warning: Only %d out of %d articles were saved"
 msgstr "Attention : Seul %d sur %d articles ont Ã©tÃ© enregistrÃ©s"
 
-#: src/lang.c:1284
+#: src/lang.c:1334
 #, c-format
 msgid ""
 "\n"
@@ -4777,7 +4932,7 @@ msgstr ""
 "d'Ãªtre\n"
 "            le plus court possible.\n"
 
-#: src/lang.c:1288
+#: src/lang.c:1338
 #, c-format
 msgid ""
 "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
@@ -4785,14 +4940,16 @@ msgstr ""
 "Attention : cette email peut contenir un piÃ¨ge Ã  spam. %s=continuer, "
 "%s=annuler ?"
 
-#: src/lang.c:1289
+#: src/lang.c:1339
 #, c-format
 msgid ""
 "Warning: line %d contains unprintable chars:\n"
 "%s\n"
 msgstr ""
+"Attention : la ligne %d contient des caractÃ¨res non imprimables :\n"
+"%s\n"
 
-#: src/lang.c:1290
+#: src/lang.c:1340
 msgid ""
 "\n"
 "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
@@ -4801,83 +4958,81 @@ msgstr ""
 "Attention : Les signatures doivent commencer avec '-- \\n' et non par '-- "
 "\\n'.\n"
 
-#: src/lang.c:1291
+#: src/lang.c:1341
 msgid "Writing attributes file..."
 msgstr "Ã‰criture du fichier attributes..."
 
-#: src/lang.c:1292
+#: src/lang.c:1342
 #, c-format
 msgid "Writing %s\n"
 msgstr "Ã‰criture %s\n"
 
-#: src/lang.c:1293
+#: src/lang.c:1343
 msgid "Writing overview cache..."
 msgstr "Ã‰criture du cache overview..."
 
-#: src/lang.c:1295
+#: src/lang.c:1345
 #, c-format
 msgid "%4d Responses"
 msgstr "%4d RÃ©ponses"
 
-#: src/lang.c:1297
+#: src/lang.c:1347
 msgid "Can't run slrnface: couldn't construct fifo name."
 msgstr "Lancement de Slrnface impossible : crÃ©ation du nom fifo impossible."
 
-#: src/lang.c:1298
+#: src/lang.c:1348
 #, c-format
 msgid "Can't run slrnface: failed to create %s"
 msgstr "Lancement de slrnface impossible : Ã©chec de la crÃ©ation de %s"
 
-#: src/lang.c:1299
+#: src/lang.c:1349
 #, c-format
 msgid "Slrnface abnormally exited, code %d."
 msgstr "Fermeture anormale de Slrnface, code %d."
 
-#: src/lang.c:1300
+#: src/lang.c:1350
 #, c-format
 msgid "Slrnface failed: %s."
 msgstr "Ã‰chec de Slrnface : %s."
 
-#: src/lang.c:1301
+#: src/lang.c:1352
 #, c-format
 msgid "Can't run slrnface: Environment variable %s not found."
 msgstr "Lancement de slrnface impossible : Variable %s introuvable."
 
-#: src/lang.c:1302
+#: src/lang.c:1354
 msgid "Can't run slrnface: Not running in an xterm."
 msgstr "Lancement de Slrnface impossible : ce n'est pas un xterm."
 
-#: src/lang.c:1303
+#: src/lang.c:1357
 msgid "couldn't connect to display"
-msgstr ""
+msgstr "la connexion Ã  lâ€™affichage nâ€™a pu se faire"
 
-#: src/lang.c:1304
-#, fuzzy
+#: src/lang.c:1358
 msgid "can't open FIFO"
-msgstr "Ouverture de %s impossible"
+msgstr "impossible dâ€™ouvrir le FIFO"
 
-#: src/lang.c:1305
+#: src/lang.c:1359
 msgid "executable not found"
-msgstr ""
+msgstr "exÃ©cutable introuvable"
 
-#: src/lang.c:1306
-#, fuzzy
+#: src/lang.c:1360
 msgid "fork() failed"
-msgstr "Ã‰chec de la recherche"
+msgstr "Ã©chec de fork()"
 
-#: src/lang.c:1307
+#: src/lang.c:1361
 msgid "couldn't find controlling terminal"
-msgstr ""
+msgstr "le terminal de contrÃ´le nâ€™a pu Ãªtre trouvÃ©"
 
-#: src/lang.c:1308
+#: src/lang.c:1362
 msgid "terminal doesn't export width and height"
-msgstr ""
+msgstr "le terminal nâ€™exporte pas la hauteur et largeur"
 
-#: src/lang.c:1310
+#: src/lang.c:1363
 msgid "WINDOWID not found in environment"
-msgstr ""
+msgstr "WINDOWID nâ€™a pu Ãªtre trouvÃ© dans lâ€™environnement"
 
-#: src/lang.c:1311
+#: src/lang.c:1364
 msgid ""
 "This directory is used to create named pipes for communication between\n"
 "slrnface and its parent process. It should normally be empty because\n"
@@ -4903,28 +5058,28 @@ msgstr ""
 "tourne.\n"
 "N'essayez pas de les effacer.\n"
 
-#: src/lang.c:1324
+#: src/lang.c:1377
 #, c-format
 msgid "Added %d %s"
 msgstr "%d %s ajoutÃ©(s)"
 
-#: src/lang.c:1325
+#: src/lang.c:1378
 msgid "No unsubscribed groups to show"
 msgstr "Aucuns groupes non abonnÃ©s Ã  afficher"
 
-#: src/lang.c:1326
+#: src/lang.c:1379
 msgid "Showing subscribed to groups only"
 msgstr "Afficher uniquement les groupes abonnÃ©s"
 
-#: src/lang.c:1327
+#: src/lang.c:1380
 msgid "Yes "
 msgstr "Oui "
 
-#: src/lang.c:1328
+#: src/lang.c:1381
 msgid "You have mail"
 msgstr "     Nouveau mail"
 
-#: src/lang.c:1333
+#: src/lang.c:1386
 #, c-format
 msgid ""
 "\n"
@@ -4945,11 +5100,11 @@ msgstr ""
 "            problÃ¨me, ou bien changer la valeur de MM_NETWORK_CHARSET\n"
 "            via le M)enu.\n"
 
-#: src/lang.c:1344
+#: src/lang.c:1397
 msgid "  -D mode  debug mode"
 msgstr "  -D mode  mode debug"
 
-#: src/lang.c:1348
+#: src/lang.c:1401
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4978,11 +5133,11 @@ msgstr ""
 "Voici l'article que vous vous apprÃªtez a effacer :\n"
 "\n"
 
-#: src/lang.c:1357
+#: src/lang.c:1410
 msgid "toggle color"
 msgstr "(dÃ©s)activer la couleur"
 
-#: src/lang.c:1358
+#: src/lang.c:1411
 msgid ""
 "# Changing colors of several screen parts\n"
 "# Possible values are:\n"
@@ -5028,11 +5183,11 @@ msgstr ""
 "#  15 = blanc gras\n"
 "\n"
 
-#: src/lang.c:1378
+#: src/lang.c:1431
 msgid "  -a       toggle color flag"
 msgstr "  -a       change la couleur"
 
-#: src/lang.c:1382
+#: src/lang.c:1435
 msgid ""
 "\n"
 "Error: Followup-To set to more than one newsgroup!\n"
@@ -5040,7 +5195,7 @@ msgstr ""
 "\n"
 "Erreur : Suivi positionnÃ© sur plus d'un groupe !\n"
 
-#: src/lang.c:1383
+#: src/lang.c:1436
 #, c-format
 msgid ""
 "\n"
@@ -5049,7 +5204,7 @@ msgstr ""
 "\n"
 "Erreur : \"%s\" est renommÃ©, utilisez Ã  la place \"%s\" !\n"
 
-#: src/lang.c:1384
+#: src/lang.c:1437
 #, c-format
 msgid ""
 "\n"
@@ -5058,7 +5213,7 @@ msgstr ""
 "\n"
 "Erreur : multi-postage vers %d groupes et pas de ligne Followup-To !\n"
 
-#: src/lang.c:1385
+#: src/lang.c:1438
 #, c-format
 msgid ""
 "\n"
@@ -5067,7 +5222,7 @@ msgstr ""
 "\n"
 "Erreur : \"%s\" n'est pas un groupe valide !\n"
 
-#: src/lang.c:1387
+#: src/lang.c:1440
 msgid ""
 "\n"
 "Warning: Followup-To set to more than one newsgroup!\n"
@@ -5075,7 +5230,7 @@ msgstr ""
 "\n"
 "Attention : Suivi positionnÃ© sur plus d'un groupe !\n"
 
-#: src/lang.c:1388
+#: src/lang.c:1441
 #, c-format
 msgid ""
 "\n"
@@ -5084,7 +5239,7 @@ msgstr ""
 "\n"
 "Attention : \"%s\" est renommÃ©, vous devriez utiliser \"%s\" Ã  la place !\n"
 
-#: src/lang.c:1389
+#: src/lang.c:1442
 #, c-format
 msgid ""
 "\n"
@@ -5093,7 +5248,7 @@ msgstr ""
 "\n"
 "Attention : multi-postage vers %d groupes et aucun suivi !\n"
 
-#: src/lang.c:1390
+#: src/lang.c:1443
 #, c-format
 msgid ""
 "\n"
@@ -5104,7 +5259,7 @@ msgstr ""
 "            pas apparaÃ®tre dans ce groupe !\n"
 "\n"
 
-#: src/lang.c:1391
+#: src/lang.c:1444
 #, c-format
 msgid ""
 "\n"
@@ -5113,79 +5268,76 @@ msgstr ""
 "\n"
 "Attention : \"%s\" n'est pas un groupe valide !\n"
 
-#: src/lang.c:1395
+#: src/lang.c:1448
 #, c-format
 msgid "%d files successfully written from %d articles. %d %s occurred."
 msgstr "%d fichiers des %d articles Ã©crits avec succÃ¨s. %d %s est survenu."
 
-#: src/lang.c:1396
+#: src/lang.c:1449
 msgid "Missing parts."
 msgstr "Parties manquantes."
 
-#: src/lang.c:1397
+#: src/lang.c:1450
 msgid "No beginning."
 msgstr "Pas de dÃ©but."
 
-#: src/lang.c:1398
+#: src/lang.c:1451
 msgid "No data."
 msgstr "Pas de donnÃ©es."
 
-#: src/lang.c:1399
+#: src/lang.c:1452
 msgid "Unknown error."
 msgstr "Erreur inconnue."
 
-#: src/lang.c:1402
-#, c-format
-msgid "\tChecksum of %s (%ld %s)"
-msgstr "\tSomme de contrÃ´le de %s (%ld %s)"
-
-#: src/lang.c:1407
-msgid "Reading mail active file... "
-msgstr "Lecture du fichier active mail... "
+#: src/lang.c:1456
+#, fuzzy, c-format
+msgid "Reading mail active file: %s"
+msgstr "Lecture du fichier active mail : %s"
 
-#: src/lang.c:1408
-msgid "Reading mailgroups file... "
-msgstr "Lecture du fichier mailgroups... "
+#: src/lang.c:1457
+#, fuzzy, c-format
+msgid "Reading mailgroups file: %s"
+msgstr "Lecture du fichier mailgroups : %s"
 
-#: src/lang.c:1412
+#: src/lang.c:1461
 msgid "perform PGP operations on article"
 msgstr "effectuer des opÃ©rations PGP sur l'article"
 
-#: src/lang.c:1413
+#: src/lang.c:1462
 msgid "Add key(s) to public keyring?"
 msgstr "Ajouter les clÃ©(s) au cercle public ?"
 
-#: src/lang.c:1414
+#: src/lang.c:1463
 #, c-format
 msgid "%s=encrypt, %s=sign, %s=both, %s=quit: "
 msgstr "%s=encoder, %s=signer, %s=les deux, %s=quitter : "
 
-#: src/lang.c:1415
+#: src/lang.c:1464
 #, c-format
 msgid "%s=sign, %s=sign & include public key, %s=quit: "
 msgstr "%s=signer, %s=sig. & inclure clÃ© publique, %s=quitter : "
 
-#: src/lang.c:1416
+#: src/lang.c:1465
 #, c-format
 msgid "PGP has not been set up (can't open %s)"
 msgstr "PGP n'a pas Ã©tÃ© configurÃ© (ouverture de %s impossible)"
 
-#: src/lang.c:1417
+#: src/lang.c:1466
 msgid "Article not signed and no public keys found"
 msgstr "Article non signÃ© et pas de clÃ©s publiques trouvÃ©es"
 
-#: src/lang.c:1419
+#: src/lang.c:1468
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 "%s=quitter, %s=Ã©diter, %s=ispell, %s=pgp, %s=menu, %s=poster, %s=brouillon : "
 
-#: src/lang.c:1420
+#: src/lang.c:1469
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: "
 msgstr "%s=quitter, %s=Ã©diter, %s=ispell, %s=pgp, %s=envoyer [%%s] : "
 
-#: src/lang.c:1421
+#: src/lang.c:1470
 #, c-format
 msgid ""
 "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
@@ -5193,115 +5345,120 @@ msgstr ""
 "%s=quitter, %s=Ã©diter, %s=ispell, %s=pgp, %s=menu, %s=poster, %s=brouillon "
 "[%%s]: "
 
-#: src/lang.c:1423
+#: src/lang.c:1472
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=quitter, %s=Ã©diter, %s=pgp, %s=menu, %s=poster, %s=brouillon : "
 
-#: src/lang.c:1424
+#: src/lang.c:1473
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: "
 msgstr "%s=quitter, %s=Ã©diter, %s=pgp, %s=envoyer [%%s] : "
 
-#: src/lang.c:1425
+#: src/lang.c:1474
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 "%s=quitter, %s=Ã©diter, %s=pgp, %s=menu, %s=poster, %s=brouillon [%%s] : "
 
-#: src/lang.c:1429
+#: src/lang.c:1478
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=quitter, %s=Ã©diter, %s=ispell, %s=menu, %s=poster, %s=brouillon : "
 
-#: src/lang.c:1430
+#: src/lang.c:1479
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: "
 msgstr "%s=quitter, %s=Ã©diter, %s=ispell, %s=envoyer [%%s] : "
 
-#: src/lang.c:1431
+#: src/lang.c:1480
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 "%s=quitter, %s=Ã©diter, %s=ispell, %s=menu, %s=poster, %s=brouillon [%%s] : "
 
-#: src/lang.c:1433
+#: src/lang.c:1482
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=quitter, %s=Ã©diter, %s=menu, %s=poster, %s=brouillon : "
 
-#: src/lang.c:1434
+#: src/lang.c:1483
 #, c-format
 msgid "%s=quit, %s=edit, %s=send [%%s]: "
 msgstr "%s=quitter, %s=Ã©diter, %s=envoyer [%%s] : "
 
-#: src/lang.c:1435
+#: src/lang.c:1484
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=quitter, %s=Ã©diter, %s=menu, %s=poster, %s=brouillon [%%s]: "
 
-#: src/lang.c:1441
+#: src/lang.c:1489
 msgid "Try cache_overview_files to speed up things.\n"
 msgstr "Activez 'cache_overview_files' pour accÃ©lÃ©rer les choses.\n"
 
-#: src/lang.c:1442
+#: src/lang.c:1490
 msgid "Tin will use local index files instead.\n"
 msgstr "Tin utilisera Ã  la place un index local.\n"
 
-#: src/lang.c:1443
+#: src/lang.c:1491
 msgid "Cannot find NNTP server name"
 msgstr "Nom du serveur NNTP introuvable"
 
-#: src/lang.c:1444
+#: src/lang.c:1492
 msgid "CAPABILITIES did not announce READER"
 msgstr "CAPABILITIES n'a pas annoncÃ© READER"
 
-#: src/lang.c:1445
+#: src/lang.c:1493
 #, c-format
 msgid "Connecting to %s:%u..."
 msgstr "Connexion Ã  %s:%u..."
 
-#: src/lang.c:1446
+#: src/lang.c:1494
 msgid "NNTP connection error. Exiting..."
 msgstr "Erreur de connexion NNTP. Fermeture..."
 
-#: src/lang.c:1447
+#: src/lang.c:1495
 msgid "Disconnecting from server..."
 msgstr "DÃ©connexion du serveur..."
 
-#: src/lang.c:1448
+#: src/lang.c:1496
 #, c-format
 msgid "Failed to connect to NNTP server %s. Exiting..."
 msgstr "Ã‰chec de la connexion au serveur NNTP %s. Fermeture..."
 
-#: src/lang.c:1449
+#: src/lang.c:1497
 msgid "205  Closing connection"
 msgstr "205  Fermeture de la connexion"
 
-#: src/lang.c:1450
+#: src/lang.c:1498
 msgid "Your server does not support the NNTP XOVER or OVER command.\n"
 msgstr "Votre serveur ne supporte pas la commande NNTP XOVER ou OVER.\n"
 
-#: src/lang.c:1452
+#: src/lang.c:1499
 #, c-format
 msgid "Port isn't numeric: %s:%s\n"
-msgstr ""
+msgstr "Port non numÃ©rique : %s:%s\n"
+
+#: src/lang.c:1500
+#, fuzzy, c-format
+msgid "%s argument is not numeric: %s\n"
+msgstr "%s non numÃ©rique : %s\n"
 
-#: src/lang.c:1453
+#: src/lang.c:1502
 #, c-format
 msgid "Port in %s isn't numeric: %s:%s\n"
-msgstr ""
+msgstr "Port dans %s nâ€™est pas au format numÃ©rique : %s:%s\n"
 
-#: src/lang.c:1454
+#: src/lang.c:1503
 #, c-format
 msgid "reconnect (%d) limit %d reached, giving up."
-msgstr ""
+msgstr "limite de reconnexion (%d) atteinte %d, abandon."
 
-#: src/lang.c:1456
+#: src/lang.c:1505
 msgid "Connection to news server has timed out. Reconnect?"
 msgstr "Connexion au serveur de nouvelles expirÃ©e. Se reconnecter ?"
 
-#: src/lang.c:1457
+#: src/lang.c:1506
 #, c-format
 msgid ""
 "Put the server name in the file %s,\n"
@@ -5310,68 +5467,67 @@ msgstr ""
 "Mettez le nom du serveur dans le fichier %s,\n"
 "ou utilisez la variable d'environnement NNTPSERVER"
 
-#: src/lang.c:1459
-#, fuzzy
+#: src/lang.c:1508
 msgid "Continuing..."
-msgstr "Impression..."
+msgstr "Poursuite..."
 
-#: src/lang.c:1460
-#, c-format
-msgid "Read timeout from server (%d seconds) - quit tin?"
-msgstr ""
+#: src/lang.c:1509
+#, fuzzy
+msgid "Read timeout from server - quit tin?"
+msgstr "Lecture depuis le serveur expirÃ©e - quitter tin ?"
 
-#: src/lang.c:1461
+#: src/lang.c:1510
 msgid "  -C       try COMPRESS NNTP extension"
-msgstr ""
+msgstr "  -C       essayer lâ€™extension NNTP COMPRESS"
 
-#: src/lang.c:1463
+#: src/lang.c:1512
 msgid "  -A       force authentication on connect"
 msgstr "  -A       force l'authentication Ã  la connexion"
 
-#: src/lang.c:1464
+#: src/lang.c:1513
 #, c-format
 msgid "  -g serv  read news from NNTP server serv [default=%s]"
 msgstr "  -g serv  lire depuis le serveur NNTP serv [dÃ©faut=%s]"
 
-#: src/lang.c:1465
+#: src/lang.c:1514
 #, c-format
 msgid "  -p port  use port as NNTP port [default=%d]"
 msgstr "  -p port  utiliser port comme port NNTP [dÃ©faut=%d]"
 
-#: src/lang.c:1467
+#: src/lang.c:1516
 msgid "  -k       skip verification for NNTPS"
 msgstr "  -k       passer la vÃ©rification pour NNTPS"
 
-#: src/lang.c:1468
+#: src/lang.c:1517
 msgid "  -T       enable NNTPS"
 msgstr "  -T       activer NNTPS"
 
-#: src/lang.c:1470
+#: src/lang.c:1519
 msgid "  -Q       quick start. Same as -dnq"
 msgstr "  -Q       dÃ©marrage rapide. Idem que -dnq"
 
-#: src/lang.c:1471
+#: src/lang.c:1520
 msgid "  -r       read news remotely from default NNTP server"
 msgstr "  -r       lire les articles depuis le serveur NNTP par dÃ©faut"
 
-#: src/lang.c:1472
+#: src/lang.c:1521
 msgid "  -l       use only LIST instead of GROUP (-n) command"
 msgstr "  -l       utilise seulement LIST plutÃ´t que GROUP (-n)"
 
-#: src/lang.c:1473
+#: src/lang.c:1522
 msgid "  -n       only read subscribed .newsrc groups from NNTP server"
 msgstr ""
 "  -n       lire seulement groupes abonnÃ©s du .newsrc depuis le serveur NNTP"
 
-#: src/lang.c:1475
+#: src/lang.c:1524
 msgid "  -4       force connecting via IPv4"
 msgstr "  -4       forcer la connexion via IPv4"
 
-#: src/lang.c:1476
+#: src/lang.c:1525
 msgid "  -6       force connecting via IPv6"
 msgstr "  -6       forcer la connexion via IPV6"
 
-#: src/lang.c:1477
+#: src/lang.c:1526
 msgid ""
 "\n"
 "socket or connect problem\n"
@@ -5379,7 +5535,7 @@ msgstr ""
 "\n"
 "problÃ¨me de socket ou de connexion\n"
 
-#: src/lang.c:1479
+#: src/lang.c:1528
 #, c-format
 msgid ""
 "\n"
@@ -5388,16 +5544,16 @@ msgstr ""
 "\n"
 "Connexion Ã  %s : "
 
-#: src/lang.c:1480
+#: src/lang.c:1529
 msgid "Giving up...\n"
 msgstr "Abandon...\n"
 
-#: src/lang.c:1482
+#: src/lang.c:1531
 #, c-format
 msgid "%s/tcp: Unknown service.\n"
 msgstr "%s/tcp : Service inconnu.\n"
 
-#: src/lang.c:1486
+#: src/lang.c:1535
 msgid ""
 "Your server does not have Xref: in its XOVER information.\n"
 "Tin will try to use XHDR XREF instead (slows down things a bit).\n"
@@ -5405,88 +5561,88 @@ msgstr ""
 "Votre serveur n'a pas d'Xref: dans son information XOVER.\n"
 "Tin essayera d'utiliser XHDR XREF Ã  la place (plus lent).\n"
 
-#: src/lang.c:1489
+#: src/lang.c:1538
 msgid "Your server does not have Xref: in its XOVER information.\n"
 msgstr "Votre serveur n'a pas d'Xref: dans son information XOVER.\n"
 
-#: src/lang.c:1492
+#: src/lang.c:1541
 #, c-format
 msgid "Can't open %s. Try %s -r to read news via NNTP."
 msgstr "Ouverture de %s impossible. Essayez %s -r pour lire via NNTP."
 
-#: src/lang.c:1495
+#: src/lang.c:1544
 msgid "  -Q       quick start. Same as -dq"
 msgstr "  -Q       dÃ©marrage rapide. Idem que -dq"
 
-#: src/lang.c:1496
+#: src/lang.c:1545
 msgid "  -l       read only active file instead of scanning spool (-n) command"
 msgstr "  -l       lire seulement le fichier active plutÃ´t que le spool (-n)"
 
-#: src/lang.c:1497
+#: src/lang.c:1546
 msgid "  -n       only read subscribed .newsrc groups from spool"
 msgstr "  -n       lire seulement groupes abonnÃ©s du .newsrc depuis le spool"
 
-#: src/lang.c:1498
+#: src/lang.c:1547
 msgid "Your server does not have Xref: in its NOV-files.\n"
 msgstr "Votre serveur n'a pas d'Xref: dans ses fichiers NOV.\n"
 
-#: src/lang.c:1502
+#: src/lang.c:1551
 msgid "Posting using external inews failed. Use built in inews instead?"
 msgstr "Le postage avec l'inews externe Ã  Ã©chouÃ©. Utiliser l'inews intÃ©grÃ© ?"
 
-#: src/lang.c:1503
+#: src/lang.c:1552
 msgid "It worked! Should I always use my built in inews from now on?"
 msgstr ""
 "Ca a marchÃ© ! Devrais-je toujours utiliser mon inews intÃ©grÃ© Ã  prÃ©sent ?"
 
-#: src/lang.c:1507
+#: src/lang.c:1556
 #, c-format
 msgid "%d %s printed"
 msgstr "%d %s imprimÃ©"
 
-#: src/lang.c:1508
+#: src/lang.c:1557
 msgid "output article/thread/hot/pattern/tagged articles to printer"
 msgstr "envoyer article/fil/sÃ©l./articles marquÃ©s Ã  l'imprimante"
 
-#: src/lang.c:1509
+#: src/lang.c:1558
 msgid "Print"
 msgstr "Imprimer"
 
-#: src/lang.c:1510
+#: src/lang.c:1559
 msgid "Printing..."
 msgstr "Impression..."
 
-#: src/lang.c:1514
+#: src/lang.c:1563
 #, c-format
 msgid "%d %s piped to \"%s\""
 msgstr "%d %s passÃ© Ã  \"%s\""
 
-#: src/lang.c:1515
+#: src/lang.c:1564
 msgid "pipe article/thread/hot/pattern/tagged articles into command"
 msgstr "passer article/fil/sÃ©l./articles marquÃ©s Ã  une commande"
 
-#: src/lang.c:1516
+#: src/lang.c:1565
 msgid "No command"
 msgstr "Aucune commande"
 
-#: src/lang.c:1517
+#: src/lang.c:1566
 msgid "Pipe"
 msgstr "Passer (pipe)"
 
-#: src/lang.c:1518
+#: src/lang.c:1567
 #, c-format
 msgid "Pipe to command [%.*s]> "
 msgstr "Passer Ã  la commande [%.*s] > "
 
-#: src/lang.c:1519
+#: src/lang.c:1568
 msgid "Piping..."
 msgstr "Passage..."
 
-#: src/lang.c:1521
+#: src/lang.c:1570
 msgid "Piping not enabled."
 msgstr "Passage non activÃ©."
 
-#: src/lang.c:1525
+#: src/lang.c:1574
 #, c-format
 msgid ""
 "\n"
@@ -5501,7 +5657,7 @@ msgstr ""
 "         du contenu. Utilisez une virgule (,) pour sÃ©parer de multiples\n"
 "         noms de groupes.\n"
 
-#: src/lang.c:1530
+#: src/lang.c:1579
 #, c-format
 msgid ""
 "\n"
@@ -5514,7 +5670,7 @@ msgstr ""
 "         Comme la ligne ne contient pas d'espace, ce n'est pas autorisÃ©.\n"
 "         Inscrivez svp tous les groupes sur une seule ligne.\n"
 
-#: src/lang.c:1535
+#: src/lang.c:1584
 #, c-format
 msgid ""
 "\n"
@@ -5529,7 +5685,7 @@ msgstr ""
 "            Pour Ã©viter les problÃ¨mes, indiquez tous les groupes sur une\n"
 "            seule ligne.\n"
 
-#: src/lang.c:1539
+#: src/lang.c:1588
 #, c-format
 msgid ""
 "\n"
@@ -5539,7 +5695,7 @@ msgstr ""
 "Attention : La ligne \"%s:\" contient un ou des espaces qui DOIVENT\n"
 "            Ãªtre enlevÃ©s.\n"
 
-#: src/lang.c:1544
+#: src/lang.c:1593
 msgid ""
 "\n"
 "  If your article contains quoted text  please take some time to pare it "
@@ -5576,40 +5732,40 @@ msgstr ""
 "simples\n"
 "  rÃ¨gles, pratiquement toutes les personnes ignoreront vos articles.\n"
 
-#: src/lang.c:1557
+#: src/lang.c:1606
 msgid "shell escape"
 msgstr "accÃ©der Ã  un shell"
 
-#: src/lang.c:1558
+#: src/lang.c:1607
 #, c-format
 msgid "Shell Command (%s)"
 msgstr "Commande shell (%s)"
 
-#: src/lang.c:1559
+#: src/lang.c:1608
 #, c-format
 msgid "Enter shell command [%s]> "
 msgstr "Commande shell [%s] > "
 
-#: src/lang.c:1563
+#: src/lang.c:1612
 #, c-format
 msgid "%s: Can't get entry for TERM\n"
 msgstr "%s : EntrÃ©e pour TERM introuvable\n"
 
-#: src/lang.c:1567
+#: src/lang.c:1616
 #, c-format
 msgid "Group %.*s ('q' to quit)..."
 msgstr "Groupe %.*s ('q' pour quitter)..."
 
-#: src/lang.c:1569
+#: src/lang.c:1618
 #, c-format
 msgid "Group %.*s..."
 msgstr "Groupe %.*s..."
 
-#: src/lang.c:1573
+#: src/lang.c:1622
 msgid "Server unavailable\n"
 msgstr "Service indisponible\n"
 
-#: src/lang.c:1579
+#: src/lang.c:1628
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
@@ -5618,7 +5774,7 @@ msgstr ""
 "%s=passer; %s=mail; %s=impr.; %s=quitter; %s=voir lu/non lu; %s=enreg.; "
 "%s=marquer; %s=poster"
 
-#: src/lang.c:1580
+#: src/lang.c:1629
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
@@ -5626,7 +5782,7 @@ msgstr ""
 "%s=passer; %s=mail; %s=impr.; %s=quitter; %s=rÃ©pondre; %s=enreg.; "
 "%s=marquer; %s=poster"
 
-#: src/lang.c:1582
+#: src/lang.c:1631
 #, c-format
 msgid ""
 "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
@@ -5634,14 +5790,14 @@ msgstr ""
 "%s=mail; %s=imprimer; %s=quitter; %s=voir lu/non lu; %s=enregistrer; "
 "%s=marquer; %s=poster"
 
-#: src/lang.c:1583
+#: src/lang.c:1632
 #, c-format
 msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=mail; %s=imprimer; %s=quitter; %s=rÃ©pondre; %s=enregistrer; %s=marquer; "
 "%s=poster"
 
-#: src/lang.c:1587
+#: src/lang.c:1636
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
@@ -5649,527 +5805,527 @@ msgstr ""
 "%s=passer; %s=mail; %s=quitter; %s=voir lu/non lu; %s=enregistrer; "
 "%s=marquer; %s=poster"
 
-#: src/lang.c:1588
+#: src/lang.c:1637
 #, c-format
 msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=passer; %s=mail; %s=quitter; %s=rÃ©pondre; %s=enregistrer; %s=marquer; "
 "%s=poster"
 
-#: src/lang.c:1590
+#: src/lang.c:1639
 #, c-format
 msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=mail; %s=quitter; %s=voir lu/non lu; %s=enregistrer; %s=marquer; %s=poster"
 
-#: src/lang.c:1591
+#: src/lang.c:1640
 #, c-format
 msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=mail; %s=quitter; %s=rÃ©pondre; %s=enregistrer; %s=marquer; %s=poster"
 
-#: src/lang.c:1597
+#: src/lang.c:1646
 msgid "Terminal does not support color"
 msgstr "Le terminal ne supporte pas les couleurs"
 
-#: src/lang.c:1602
+#: src/lang.c:1651
 #, c-format
 msgid "Trying %s"
 msgstr "Essai %s"
 
-#: src/lang.c:1617
+#: src/lang.c:1666
 msgid "Subject"
 msgstr "Sujet"
 
-#: src/lang.c:1618
+#: src/lang.c:1667
 msgid "References"
 msgstr "RÃ©fÃ©rences"
 
-#: src/lang.c:1619
+#: src/lang.c:1668
 msgid "Both Subject and References"
 msgstr "Sujet et RÃ©fÃ©rences"
 
-#: src/lang.c:1620
+#: src/lang.c:1669
 msgid "Multipart Subject"
 msgstr "Sujet multiparties"
 
-#: src/lang.c:1621
+#: src/lang.c:1670
 msgid "Percentage Match"
 msgstr "Taux de concordance"
 
-#: src/lang.c:1634 src/lang.c:1725 src/lang.c:1824 src/lang.c:1927
+#: src/lang.c:1683 src/lang.c:1774 src/lang.c:1880 src/lang.c:1983
 msgid "No"
 msgstr "Non"
 
-#: src/lang.c:1635 src/lang.c:1826
+#: src/lang.c:1684 src/lang.c:1882
 msgid "Yes"
 msgstr "Oui"
 
-#: src/lang.c:1636
+#: src/lang.c:1685
 msgid "Hide all"
 msgstr "Tout masquer"
 
-#: src/lang.c:1645
+#: src/lang.c:1694
 msgid "Address"
 msgstr "Adresse"
 
-#: src/lang.c:1646
+#: src/lang.c:1695
 msgid "Full Name"
 msgstr "Nom complet"
 
-#: src/lang.c:1647
+#: src/lang.c:1696
 msgid "Address and Name"
 msgstr "Adresse et Nom"
 
-#: src/lang.c:1655
+#: src/lang.c:1704
 msgid "Max"
 msgstr "Max"
 
-#: src/lang.c:1656
+#: src/lang.c:1705
 msgid "Sum"
 msgstr "Addition"
 
-#: src/lang.c:1657
+#: src/lang.c:1706
 msgid "Average"
 msgstr "Moyenne"
 
-#: src/lang.c:1667 src/lang.c:1687
+#: src/lang.c:1716 src/lang.c:1736
 msgid "Black"
 msgstr "Noir"
 
-#: src/lang.c:1668 src/lang.c:1688
+#: src/lang.c:1717 src/lang.c:1737
 msgid "Red"
 msgstr "Rouge"
 
-#: src/lang.c:1669 src/lang.c:1689
+#: src/lang.c:1718 src/lang.c:1738
 msgid "Green"
 msgstr "Vert"
 
-#: src/lang.c:1670 src/lang.c:1690
+#: src/lang.c:1719 src/lang.c:1739
 msgid "Brown"
 msgstr "Marron"
 
-#: src/lang.c:1671 src/lang.c:1691
+#: src/lang.c:1720 src/lang.c:1740
 msgid "Blue"
 msgstr "Bleu"
 
-#: src/lang.c:1672 src/lang.c:1692
+#: src/lang.c:1721 src/lang.c:1741
 msgid "Pink"
 msgstr "Rose"
 
-#: src/lang.c:1673 src/lang.c:1693
+#: src/lang.c:1722 src/lang.c:1742
 msgid "Cyan"
 msgstr "Cyan"
 
-#: src/lang.c:1674 src/lang.c:1694
+#: src/lang.c:1723 src/lang.c:1743
 msgid "White"
 msgstr "Blanc"
 
-#: src/lang.c:1675
+#: src/lang.c:1724
 msgid "Gray"
 msgstr "Gris"
 
-#: src/lang.c:1676
+#: src/lang.c:1725
 msgid "Light Red"
 msgstr "Rouge gras"
 
-#: src/lang.c:1677
+#: src/lang.c:1726
 msgid "Light Green"
 msgstr "Vert gras"
 
-#: src/lang.c:1678
+#: src/lang.c:1727
 msgid "Yellow"
 msgstr "Jaune"
 
-#: src/lang.c:1679
+#: src/lang.c:1728
 msgid "Light Blue"
 msgstr "Bleu gras"
 
-#: src/lang.c:1680
+#: src/lang.c:1729
 msgid "Light Pink"
 msgstr "Rose gras"
 
-#: src/lang.c:1681
+#: src/lang.c:1730
 msgid "Light Cyan"
 msgstr "Cyan gras"
 
-#: src/lang.c:1682
+#: src/lang.c:1731
 msgid "Light White"
 msgstr "Blanc gras"
 
-#: src/lang.c:1703 src/lang.c:1831 src/lang.c:1846
+#: src/lang.c:1752 src/lang.c:1887 src/lang.c:1902
 msgid "Nothing"
 msgstr "Rien"
 
-#: src/lang.c:1705
+#: src/lang.c:1754
 msgid "Space"
 msgstr "Espace"
 
-#: src/lang.c:1713
+#: src/lang.c:1762
 msgid "Normal"
 msgstr "Normal"
 
-#: src/lang.c:1714
+#: src/lang.c:1763
 msgid "Best highlighting"
 msgstr "Meilleure surbrillance"
 
-#: src/lang.c:1715
+#: src/lang.c:1764
 msgid "Underline"
 msgstr "SoulignÃ©"
 
-#: src/lang.c:1716
+#: src/lang.c:1765
 msgid "Reverse video"
 msgstr "VidÃ©o inversÃ©e"
 
-#: src/lang.c:1717
+#: src/lang.c:1766
 msgid "Blinking"
 msgstr "Clignotement"
 
-#: src/lang.c:1718
+#: src/lang.c:1767
 msgid "Half bright"
 msgstr "Moins lumineux"
 
-#: src/lang.c:1719
+#: src/lang.c:1768
 msgid "Bold"
 msgstr "Gras"
 
-#: src/lang.c:1726
+#: src/lang.c:1775
 msgid "Cc"
 msgstr "Cc"
 
-#: src/lang.c:1727
+#: src/lang.c:1776
 msgid "Bcc"
 msgstr "Cci"
 
-#: src/lang.c:1728
+#: src/lang.c:1777
 msgid "Cc and Bcc"
 msgstr "Cc et Cci"
 
-#: src/lang.c:1745 src/lang.c:1758
+#: src/lang.c:1794 src/lang.c:1807
 msgid "none"
 msgstr "aucun"
 
-#: src/lang.c:1746
+#: src/lang.c:1795
 msgid "commands"
 msgstr "commandes"
 
-#: src/lang.c:1747
+#: src/lang.c:1796
 msgid "select"
 msgstr "sÃ©lection"
 
-#: src/lang.c:1749
+#: src/lang.c:1798
 msgid "commands & quit"
 msgstr "commandes & quitter"
 
-#: src/lang.c:1750
+#: src/lang.c:1799
 msgid "commands & select"
 msgstr "commandes & sÃ©lection"
 
-#: src/lang.c:1751
+#: src/lang.c:1800
 msgid "quit & select"
 msgstr "quitter & sÃ©lection"
 
-#: src/lang.c:1752
+#: src/lang.c:1801
 msgid "commands & quit & select"
 msgstr "commandes, quitter & sÃ©lection"
 
-#: src/lang.c:1759
+#: src/lang.c:1808
 msgid "PageDown"
 msgstr "PageDown"
 
-#: src/lang.c:1760
+#: src/lang.c:1809
 msgid "PageNextUnread"
 msgstr "PageNextUnread"
 
-#: src/lang.c:1761
+#: src/lang.c:1810
 msgid "PageDown or PageNextUnread"
 msgstr "PageDown ou PageNextUnread"
 
-#: src/lang.c:1767
+#: src/lang.c:1816
 msgid "Subject: (case sensitive)"
 msgstr "l'en-tÃªte 'Subject:' (casse sensible)"
 
-#: src/lang.c:1768
+#: src/lang.c:1817
 msgid "Subject: (ignore case)"
 msgstr "l'en-tÃªte 'Subject:' (ignorer la casse)"
 
-#: src/lang.c:1769
+#: src/lang.c:1818
 msgid "From: (case sensitive)"
 msgstr "l'en-tÃªte 'From:' (casse sensible)"
 
-#: src/lang.c:1770
+#: src/lang.c:1819
 msgid "From: (ignore case)"
 msgstr "l'en-tÃªte 'From:' (ignorer la casse)"
 
-#: src/lang.c:1771
+#: src/lang.c:1820
 msgid "Msg-ID: & full References: line"
 msgstr "Ligne 'Msg-ID:' & 'References:'"
 
-#: src/lang.c:1772
+#: src/lang.c:1821
 msgid "Msg-ID: & last References: only"
 msgstr "Msg-ID: & derniÃ¨res RÃ©fÃ©rences: uniquement"
 
-#: src/lang.c:1773
+#: src/lang.c:1822
 msgid "Message-ID: entry only"
 msgstr "entrÃ©e 'Message-ID:' uniquement"
 
-#: src/lang.c:1774
+#: src/lang.c:1823
 msgid "Lines:"
 msgstr "Lignes:"
 
-#: src/lang.c:1780
+#: src/lang.c:1829
 msgid "Don't trim article body"
 msgstr "Ne pas couper le corps de l'article"
 
-#: src/lang.c:1781
+#: src/lang.c:1830
 msgid "Skip leading blank lines"
 msgstr "Passer les lignes vides du dÃ©but"
 
-#: src/lang.c:1782
+#: src/lang.c:1831
 msgid "Skip trailing blank lines"
 msgstr "Passer les lignes vides de la fin"
 
-#: src/lang.c:1783
+#: src/lang.c:1832
 msgid "Skip leading and trailing blank l."
 msgstr "Passer toutes les lignes vides"
 
-#: src/lang.c:1784
+#: src/lang.c:1833
 msgid "Compact multiple between text"
 msgstr "Regrouper entre chaque paragraphe"
 
-#: src/lang.c:1785
+#: src/lang.c:1834
 msgid "Compact multiple and skip leading"
 msgstr "Regrouper et effacer les premiÃ¨res"
 
-#: src/lang.c:1786
+#: src/lang.c:1835
 msgid "Compact multiple and skip trailing"
 msgstr "Regrouper et effacer les derniÃ¨res"
 
-#: src/lang.c:1787
+#: src/lang.c:1836
 msgid "Compact mltpl., skip lead. & trai."
 msgstr "Regrouper puis effacer les 1Ã¨res et derniÃ¨res lignes"
 
-#: src/lang.c:1793
+#: src/lang.c:1842
 msgid "Don't show help or mail sign"
 msgstr "Ne pas afficher l'aide ou la signature du message"
 
-#: src/lang.c:1794
+#: src/lang.c:1843
 msgid "Show only help sign"
 msgstr "Afficher uniquement l'aide Ã  la signature"
 
-#: src/lang.c:1795
+#: src/lang.c:1844
 msgid "Show only mail sign if new mail"
 msgstr "Afficher uniquement la signature du message pour les nouveaux"
 
-#: src/lang.c:1796
+#: src/lang.c:1845
 msgid "Show mail if new mail else help s."
 msgstr "Afficher le message s'il y en a de nouveaux autrement l'aide"
 
-#: src/lang.c:1825
+#: src/lang.c:1881
 msgid "Shell archive"
 msgstr "Archive shell"
 
-#: src/lang.c:1832
+#: src/lang.c:1888
 msgid "Subject: (descending)"
 msgstr "Subject : (descendant)"
 
-#: src/lang.c:1833
+#: src/lang.c:1889
 msgid "Subject: (ascending)"
 msgstr "Subject : (ascendant)"
 
-#: src/lang.c:1834
+#: src/lang.c:1890
 msgid "From: (descending)"
 msgstr "From: (descendant)"
 
-#: src/lang.c:1835
+#: src/lang.c:1891
 msgid "From: (ascending)"
 msgstr "From: (ascendant)"
 
-#: src/lang.c:1836
+#: src/lang.c:1892
 msgid "Date: (descending)"
 msgstr "Date: (descendant)"
 
-#: src/lang.c:1837
+#: src/lang.c:1893
 msgid "Date: (ascending)"
 msgstr "Date: (ascendant)"
 
-#: src/lang.c:1838 src/lang.c:1847
+#: src/lang.c:1894 src/lang.c:1903
 msgid "Score (descending)"
 msgstr "Score (descendant)"
 
-#: src/lang.c:1839 src/lang.c:1848
+#: src/lang.c:1895 src/lang.c:1904
 msgid "Score (ascending)"
 msgstr "Score (ascendant)"
 
-#: src/lang.c:1840
+#: src/lang.c:1896
 msgid "Lines: (descending)"
 msgstr "Lines: (descendant)"
 
-#: src/lang.c:1841
+#: src/lang.c:1897
 msgid "Lines: (ascending)"
 msgstr "Lines: (ascendant)"
 
-#: src/lang.c:1849
+#: src/lang.c:1905
 msgid "Last posting date (descending)"
 msgstr "DerniÃ¨re date de postage (descendant)"
 
-#: src/lang.c:1850
+#: src/lang.c:1906
 msgid "Last posting date (ascending)"
 msgstr "DerniÃ¨re date de postage (ascendant)"
 
-#: src/lang.c:1856
+#: src/lang.c:1912
 msgid "Quick-sort"
 msgstr "Quick-sort"
 
-#: src/lang.c:1857
+#: src/lang.c:1913
 msgid "Heap-sort"
 msgstr "Heap-sort"
 
-#: src/lang.c:1864
+#: src/lang.c:1920
 msgid "Always Keep"
 msgstr "Toujours garder"
 
-#: src/lang.c:1865
+#: src/lang.c:1921
 msgid "Always Remove"
 msgstr "Toujours effacer"
 
-#: src/lang.c:1866
+#: src/lang.c:1922
 msgid "Mark with D on selection screen"
 msgstr "Marquer avec un D dans la vue sÃ©lection"
 
-#: src/lang.c:1872
+#: src/lang.c:1928
 msgid "Kill only unread arts"
 msgstr "Filtrer uniquement les articles non lus"
 
-#: src/lang.c:1873
+#: src/lang.c:1929
 msgid "Kill all arts & show with K"
 msgstr "Filtrer tous les articles & afficher avec un K"
 
 #. TODO: s/K/art_marked_killed/
-#: src/lang.c:1874
+#: src/lang.c:1930
 msgid "Kill all arts and never show"
 msgstr "Filtrer tous les articles et ne jamais afficher"
 
-#: src/lang.c:1880
+#: src/lang.c:1936
 msgid "Nothing special"
 msgstr "Rien de spÃ©cial"
 
-#: src/lang.c:1881
+#: src/lang.c:1937
 msgid "Compress quotes"
 msgstr "Citations compressÃ©es"
 
-#: src/lang.c:1882
+#: src/lang.c:1938
 msgid "Quote signatures"
 msgstr "Citer les signatures"
 
-#: src/lang.c:1883
+#: src/lang.c:1939
 msgid "Compress quotes, quote sigs"
 msgstr "Compresser les citations, citer les signatures"
 
-#: src/lang.c:1884
+#: src/lang.c:1940
 msgid "Quote empty lines"
 msgstr "Citer les lignes vides"
 
-#: src/lang.c:1885
+#: src/lang.c:1941
 msgid "Compress quotes, quote empty lines"
 msgstr "Compresser les citations, citer les lignes vides"
 
-#: src/lang.c:1886
+#: src/lang.c:1942
 msgid "Quote sigs & empty lines"
 msgstr "Citer les signatures & les lignes vides"
 
-#: src/lang.c:1887
+#: src/lang.c:1943
 msgid "Comp. q., quote sigs & empty lines"
 msgstr "Citations compr., signatures et lignes vides citÃ©es"
 
-#: src/lang.c:1928
+#: src/lang.c:1984
 msgid "With headers"
 msgstr "avec les en-tÃªtes"
 
-#: src/lang.c:1929
+#: src/lang.c:1985
 msgid "Without headers"
 msgstr "sans les en-tÃªtes"
 
-#: src/lang.c:1936
+#: src/lang.c:1992
 msgid "NFKC"
 msgstr "NFKC"
 
-#: src/lang.c:1938
+#: src/lang.c:1994
 msgid "NFKD"
 msgstr "NFKD"
 
-#: src/lang.c:1939
+#: src/lang.c:1995
 msgid "NFC"
 msgstr "NFC"
 
-#: src/lang.c:1940
+#: src/lang.c:1996
 msgid "NFD"
 msgstr "NFD"
 
-#: src/lang.c:1942
+#: src/lang.c:1998
 msgid "NFKC case fold"
 msgstr "Transformation NFKC de la casse"
 
-#: src/lang.c:1951
+#: src/lang.c:2007
 msgid "Display Options"
 msgstr "Options d'affichage"
 
-#: src/lang.c:1958
+#: src/lang.c:2014
 msgid "Color Options"
 msgstr "Options des couleurs"
 
-#: src/lang.c:1964
+#: src/lang.c:2020
 msgid "Highlight Options"
 msgstr "Options de mise en Ã©vidence"
 
-#: src/lang.c:1971
+#: src/lang.c:2027
 msgid "Article-Limiting Options"
 msgstr "Options des articles"
 
-#: src/lang.c:1977
+#: src/lang.c:2033
 msgid "Posting/Mailing Options"
 msgstr "Options de postage/messagerie"
 
-#: src/lang.c:1983
+#: src/lang.c:2039
 msgid "Saving/Printing Options"
 msgstr "Options d'enregistrement/d'impression"
 
-#: src/lang.c:1989
+#: src/lang.c:2045
 msgid "Expert Options"
 msgstr "Options avancÃ©es"
 
-#: src/lang.c:1995
+#: src/lang.c:2051
 msgid "Filtering Options"
 msgstr "Options de filtrage"
 
-#: src/lang.c:2000 src/lang.c:2031 src/lang.c:2037 src/lang.c:2064
-#: src/lang.c:2116 src/lang.c:2122 src/lang.c:2132 src/lang.c:2143
-#: src/lang.c:2161 src/lang.c:2172 src/lang.c:2241 src/lang.c:2456
-#: src/lang.c:2462 src/lang.c:2468 src/lang.c:2483 src/lang.c:2495
-#: src/lang.c:2502 src/lang.c:2556 src/lang.c:2565 src/lang.c:2571
-#: src/lang.c:2578 src/lang.c:2585 src/lang.c:2592 src/lang.c:2599
-#: src/lang.c:2606 src/lang.c:2613 src/lang.c:2620 src/lang.c:2627
+#: src/lang.c:2056 src/lang.c:2087 src/lang.c:2093 src/lang.c:2120
+#: src/lang.c:2172 src/lang.c:2178 src/lang.c:2188 src/lang.c:2199
+#: src/lang.c:2217 src/lang.c:2228 src/lang.c:2297 src/lang.c:2512
+#: src/lang.c:2518 src/lang.c:2524 src/lang.c:2539 src/lang.c:2551
+#: src/lang.c:2558 src/lang.c:2612 src/lang.c:2621 src/lang.c:2627
 #: src/lang.c:2634 src/lang.c:2641 src/lang.c:2648 src/lang.c:2655
 #: src/lang.c:2662 src/lang.c:2669 src/lang.c:2676 src/lang.c:2683
 #: src/lang.c:2690 src/lang.c:2697 src/lang.c:2704 src/lang.c:2711
 #: src/lang.c:2718 src/lang.c:2725 src/lang.c:2732 src/lang.c:2739
-#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2761 src/lang.c:2777
-#: src/lang.c:2784 src/lang.c:2791 src/lang.c:2798 src/lang.c:2804
-#: src/lang.c:2810 src/lang.c:2827 src/lang.c:2839 src/lang.c:2874
-#: src/lang.c:2927 src/lang.c:2941 src/lang.c:2947 src/lang.c:2972
-#: src/lang.c:2990 src/lang.c:3007 src/lang.c:3019 src/lang.c:3052
-#: src/lang.c:3081 src/lang.c:3101 src/lang.c:3129 src/lang.c:3139
-#: src/lang.c:3146 src/lang.c:3172 src/lang.c:3196 src/lang.c:3343
-#: src/lang.c:3358 src/lang.c:3366 src/lang.c:3380 src/lang.c:3386
-#: src/lang.c:3424
+#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2760 src/lang.c:2767
+#: src/lang.c:2774 src/lang.c:2781 src/lang.c:2788 src/lang.c:2795
+#: src/lang.c:2802 src/lang.c:2809 src/lang.c:2817 src/lang.c:2833
+#: src/lang.c:2840 src/lang.c:2847 src/lang.c:2854 src/lang.c:2860
+#: src/lang.c:2866 src/lang.c:2889 src/lang.c:2901 src/lang.c:2936
+#: src/lang.c:2989 src/lang.c:3003 src/lang.c:3009 src/lang.c:3034
+#: src/lang.c:3052 src/lang.c:3069 src/lang.c:3081 src/lang.c:3114
+#: src/lang.c:3143 src/lang.c:3163 src/lang.c:3190 src/lang.c:3200
+#: src/lang.c:3207 src/lang.c:3233 src/lang.c:3257 src/lang.c:3412
+#: src/lang.c:3427 src/lang.c:3435 src/lang.c:3449 src/lang.c:3455
+#: src/lang.c:3493
 msgid "<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr "<ESPACE> change, <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:2001
+#: src/lang.c:2057
 msgid "Show mini menu & posting etiquette"
 msgstr "Afficher le menu & l'intitulÃ© du postage"
 
-#: src/lang.c:2002
+#: src/lang.c:2058
 msgid ""
 "# If ON show a mini menu of useful commands at each level\n"
 "# and posting etiquette after composing an article\n"
@@ -6177,17 +6333,17 @@ msgstr ""
 "# Si ON, affiche un mini menu des commandes utiles pour chaque\n"
 "# niveaux et affiche les dÃ©tails aprÃ¨s la composition d'un article\n"
 
-#: src/lang.c:2007
+#: src/lang.c:2063
 msgid "Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Afficher une brÃ¨ve description pour chaque groupe. <ESPACE> change & "
 "<RETOUR> valide."
 
-#: src/lang.c:2008
+#: src/lang.c:2064
 msgid "Show description of each newsgroup"
 msgstr "Voir description de chaque groupe"
 
-#: src/lang.c:2009
+#: src/lang.c:2065
 msgid ""
 "# If ON show group description text after newsgroup name at\n"
 "# group selection level\n"
@@ -6195,18 +6351,18 @@ msgstr ""
 "# Si ON, affiche une description du groupe aprÃ¨s son nom dans\n"
 "# la vue de sÃ©lection des groupes\n"
 
-#: src/lang.c:2014
+#: src/lang.c:2070
 msgid ""
 "Show From (author) fields in group & thread level. <SPACE> toggles & <CR> "
 "sets."
 msgstr ""
 "Affiche l'auteur dans le menu groupe. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:2015
+#: src/lang.c:2071
 msgid "In group and thread level, show author by"
 msgstr "Dans la vue groupe et processus, voir auteur par"
 
-#: src/lang.c:2016
+#: src/lang.c:2072
 msgid ""
 "# Part of From field to display in group and thread level\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6222,34 +6378,34 @@ msgstr ""
 "# * 2 = nom complet\n"
 "#   3 = les deux\n"
 
-#: src/lang.c:2025
+#: src/lang.c:2081
 msgid "Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Affiche -> ou une barre de sÃ©lection. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:2026
+#: src/lang.c:2082
 msgid "Draw -> instead of highlighted bar"
 msgstr "Afficher -> plutÃ´t qu'une barre"
 
-#: src/lang.c:2027
+#: src/lang.c:2083
 msgid "# If ON use -> otherwise highlighted bar for selection\n"
 msgstr "# Si ON, utilise -> sinon barre en surbrillance pour la sÃ©lection\n"
 
-#: src/lang.c:2032
+#: src/lang.c:2088
 msgid "Use inverse video for page headers"
 msgstr "VidÃ©o inversÃ©e pour les en-tÃªtes"
 
-#: src/lang.c:2033
+#: src/lang.c:2089
 msgid "# If ON use inverse video for page headers at different levels\n"
 msgstr ""
 "# Si ON, utilise la vidÃ©o inversÃ©e pour les en-tÃªtes dans les diffÃ©rentes\n"
 "# vues\n"
 
-#: src/lang.c:2038
+#: src/lang.c:2094
 msgid "Thread articles by"
 msgstr "Regrouper les articles par"
 
-#: src/lang.c:2039
+#: src/lang.c:2095
 msgid ""
 "# Thread articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6269,17 +6425,17 @@ msgstr ""
 "#   4 = Sujet multipartie\n"
 "#   5 = Pourcentage de concordance\n"
 
-#: src/lang.c:2050
+#: src/lang.c:2106
 msgid "Enter percentage match required to thread together. <CR> sets."
 msgstr ""
 "Entrer le pourcentage de concordance pour grouper les articles en un fil. "
 "<RETOUR> valide."
 
-#: src/lang.c:2051
+#: src/lang.c:2107
 msgid "Thread percentage match"
 msgstr "Pourcentage de concordance pour grouper"
 
-#: src/lang.c:2053
+#: src/lang.c:2109
 #, no-c-format
 msgid ""
 "# Thread percentage match...\n"
@@ -6308,11 +6464,11 @@ msgstr ""
 "'harpie',\n"
 "# 'happie' et 'harppy' seront regroupÃ©s Ã  part de 'happy'\n"
 
-#: src/lang.c:2065
+#: src/lang.c:2121
 msgid "Score of a thread"
 msgstr "Score d'un fil"
 
-#: src/lang.c:2066
+#: src/lang.c:2122
 msgid ""
 "# Thread score\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6326,17 +6482,17 @@ msgstr ""
 "#   1 = somme\n"
 "#   2 = moyenne\n"
 
-#: src/lang.c:2074
+#: src/lang.c:2130
 msgid ""
 "Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Trie les articles d'aprÃ¨s un en-tÃªte. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:2075
+#: src/lang.c:2131
 msgid "Sort articles by"
 msgstr "Trier les articles par"
 
-#: src/lang.c:2076
+#: src/lang.c:2132
 msgid ""
 "# Sort articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6366,15 +6522,15 @@ msgstr ""
 "#   9 = Lignes descendant\n"
 "#  10 = Lignes ascendant)\n"
 
-#: src/lang.c:2092
+#: src/lang.c:2148
 msgid "Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 msgstr "Trier les fils par Rien ou Score. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:2093
+#: src/lang.c:2149
 msgid "Sort threads by"
 msgstr "Trier les fils par"
 
-#: src/lang.c:2094
+#: src/lang.c:2150
 msgid ""
 "# Sort thread by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6392,50 +6548,50 @@ msgstr ""
 "#   3 = Date la plus rÃ©cente, descendant\n"
 "#   4 = Date la plus rÃ©cente, ascendant\n"
 
-#: src/lang.c:2104
+#: src/lang.c:2160
 msgid ""
 "Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Place le curseur sur le 1er article non lu. <ESPACE> change & <RETOUR> "
 "valide."
 
-#: src/lang.c:2105
+#: src/lang.c:2161
 msgid "Go to first unread article in group"
 msgstr "Aller au 1er article non lu du groupe"
 
-#: src/lang.c:2106
+#: src/lang.c:2162
 msgid "# If ON put cursor at first unread art in group otherwise last art\n"
 msgstr ""
 "# Si ON, place le curseur sur le 1er article non lu sinon sur le dernier\n"
 
-#: src/lang.c:2110
+#: src/lang.c:2166
 msgid "Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Affiche tous les articles ou seulement ceux non lus. <ESPACE> change & "
 "<RETOUR> valide."
 
-#: src/lang.c:2111
+#: src/lang.c:2167
 msgid "Show only unread articles"
 msgstr "Afficher articles non lus seulement"
 
-#: src/lang.c:2112
+#: src/lang.c:2168
 msgid "# If ON show only new/unread articles otherwise show all.\n"
 msgstr ""
 "# Si ON, affiche seulement les articles non lus sinon les affiche tous.\n"
 
-#: src/lang.c:2117
+#: src/lang.c:2173
 msgid "Show only groups with unread arts"
 msgstr "Voir groupes avec articles non lus"
 
-#: src/lang.c:2118
+#: src/lang.c:2174
 msgid "# If ON show only subscribed to groups that contain unread articles.\n"
 msgstr "# Si ON, affiche seulement les groupes ayant des articles non lus.\n"
 
-#: src/lang.c:2123
+#: src/lang.c:2179
 msgid "Filter which articles"
 msgstr "Filtrer quel article"
 
-#: src/lang.c:2124
+#: src/lang.c:2180
 msgid ""
 "# Filter which articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6449,11 +6605,11 @@ msgstr ""
 "#   1 = filtrer tous les articles et les marquer avec un K dans les fils\n"
 "#   2 = filtrer tous les articles et ne pas les afficher\n"
 
-#: src/lang.c:2133
+#: src/lang.c:2189
 msgid "Go to the next unread article with"
 msgstr "Aller au prochain article non lu avec"
 
-#: src/lang.c:2134
+#: src/lang.c:2190
 msgid ""
 "# Go to the unread article with following key(s)\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6469,11 +6625,11 @@ msgstr ""
 "# * 2 = TAB\n"
 "#   3 = PAGE DOWN ou TAB\n"
 
-#: src/lang.c:2144
+#: src/lang.c:2200
 msgid "How to treat blank lines"
 msgstr "Comment gÃ©rer les lignes vides"
 
-#: src/lang.c:2145
+#: src/lang.c:2201
 msgid ""
 "# Trim the article body, remove unnecessary blank lines.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6503,11 +6659,11 @@ msgstr ""
 "#   7 = Regrouper plusieurs lignes vides entre les paragraphes et\n"
 "#       effacer les lignes vides du dÃ©but et de la fin\n"
 
-#: src/lang.c:2162
+#: src/lang.c:2218
 msgid "Show help/mail sign in level titles"
 msgstr "Afficher l'aide/signature du message dans les titres du niveau"
 
-#: src/lang.c:2163
+#: src/lang.c:2219
 msgid ""
 "# Show help sign, new mail sign, both or nothing in level titles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6527,27 +6683,27 @@ msgstr ""
 "# * 3 = Afficher la signature du message si de nouveaux sont arrivÃ©s "
 "autrement afficher l'aide pour la signature\n"
 
-#: src/lang.c:2173
+#: src/lang.c:2229
 msgid "List thread using right arrow key"
 msgstr "Lister le fil via la flÃ¨che droite"
 
-#: src/lang.c:2174
+#: src/lang.c:2230
 msgid ""
 "# If ON automatically list thread when entering it using right arrow key.\n"
 msgstr ""
 "# Si ON, listera automatiquement le fil lors de l'utilisation de la flÃ¨che\n"
 "# droite.\n"
 
-#: src/lang.c:2178
+#: src/lang.c:2234
 msgid "Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "CaractÃ¨re indiquant les articles effacÃ©s. <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:2179
+#: src/lang.c:2235
 msgid "Character to show deleted articles"
 msgstr "CaractÃ¨re pour articles effacÃ©s"
 
-#: src/lang.c:2180
+#: src/lang.c:2236
 msgid ""
 "# Character used to show that an art was deleted (default 'D')\n"
 "# _ is turned into ' '\n"
@@ -6555,17 +6711,17 @@ msgstr ""
 "# CaractÃ¨re utilisÃ© pour indiquer qu'un article a Ã©tÃ© supprimÃ© (dÃ©faut 'D')\n"
 "# _ est transformÃ© en ' '\n"
 
-#: src/lang.c:2185
+#: src/lang.c:2241
 msgid ""
 "Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 msgstr ""
 "CaractÃ¨re indiquant les articles inclus. <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:2186
+#: src/lang.c:2242
 msgid "Character to show inrange articles"
 msgstr "CaractÃ¨re pour articles non inclus"
 
-#: src/lang.c:2187
+#: src/lang.c:2243
 msgid ""
 "# Character used to show that an art is in a range (default '#')\n"
 "# _ is turned into ' '\n"
@@ -6573,7 +6729,7 @@ msgstr ""
 "# CaractÃ¨re utilisÃ© pour indiquer qu'un article est inclus (dÃ©faut '#')\n"
 "# _ est transformÃ© en ' '\n"
 
-#: src/lang.c:2192
+#: src/lang.c:2248
 msgid ""
 "Enter character to indicate that article will return. <CR> sets, <ESC> "
 "cancels."
@@ -6581,11 +6737,11 @@ msgstr ""
 "CaractÃ¨re indiquant que l'article sera retournÃ©. <RETOUR> valide, <ESC> "
 "annule."
 
-#: src/lang.c:2193
+#: src/lang.c:2249
 msgid "Character to show returning arts"
 msgstr "CaractÃ¨re pour articles retournÃ©s"
 
-#: src/lang.c:2194
+#: src/lang.c:2250
 msgid ""
 "# Character used to show that an art will return (default '-')\n"
 "# _ is turned into ' '\n"
@@ -6593,117 +6749,117 @@ msgstr ""
 "# CaractÃ¨re utilisÃ© pour indiquer qu'un article sera retournÃ© (dÃ©faut '#')\n"
 "# _ est transformÃ© en ' '\n"
 
-#: src/lang.c:2199
+#: src/lang.c:2255
 msgid ""
 "Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "CaractÃ¨re indiquant les articles sÃ©lectionnÃ©s. <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:2200
+#: src/lang.c:2256
 msgid "Character to show selected articles"
 msgstr "CaractÃ¨re pour articles sÃ©lectionnÃ©s"
 
-#: src/lang.c:2201
+#: src/lang.c:2257
 msgid ""
 "# Character used to show that an art was auto-selected (default '*')\n"
 "# _ is turned into ' '\n"
 msgstr ""
-"# CaractÃ¨re utilisÃ© pour indiquer qu'un article fut sÃ©lectionnÃ© (dÃ©faut "
+"# CaractÃ¨re utilisÃ© pour indiquer qu'un article fut sÃ©lectionnÃ© (defaut "
 "'*')\n"
 "# _ est transformÃ© en ' '\n"
 
-#: src/lang.c:2206
+#: src/lang.c:2262
 msgid "Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "CaractÃ¨re indiquant les articles rÃ©cents. <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:2207
+#: src/lang.c:2263
 msgid "Character to show recent articles"
 msgstr "CaractÃ¨re pour articles rÃ©cents"
 
-#: src/lang.c:2208
+#: src/lang.c:2264
 msgid ""
 "# Character used to show that an art is recent (default 'o')\n"
 "# _ is turned into ' '\n"
 msgstr ""
-"# CaractÃ¨re utilisÃ© pour indiquer qu'un article est rÃ©cent (dÃ©faut 'o')\n"
+"# CaractÃ¨re utilisÃ© pour indiquer qu'un article est rÃ©cent (defaut 'o')\n"
 "# _ est transformÃ© en ' '\n"
 
-#: src/lang.c:2213
+#: src/lang.c:2269
 msgid "Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "CaractÃ¨re indiquant les articles non lus. <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:2214
+#: src/lang.c:2270
 msgid "Character to show unread articles"
 msgstr "CaractÃ¨re pour articles non lus"
 
-#: src/lang.c:2215
+#: src/lang.c:2271
 msgid ""
 "# Character used to show that an art is unread (default '+')\n"
 "# _ is turned into ' '\n"
 msgstr ""
-"# CaractÃ¨re utilisÃ© pour indiquer qu'un article est non lu (dÃ©faut '+')\n"
+"# CaractÃ¨re utilisÃ© pour indiquer qu'un article est non lu (defaut '+')\n"
 "# _ est transformÃ© en ' '\n"
 
-#: src/lang.c:2220
+#: src/lang.c:2276
 msgid "Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 msgstr "CaractÃ¨re indiquant les articles lus. <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:2221
+#: src/lang.c:2277
 msgid "Character to show read articles"
 msgstr "CaractÃ¨re pour articles lus"
 
-#: src/lang.c:2222
+#: src/lang.c:2278
 msgid ""
 "# Character used to show that an art was read (default ' ')\n"
 "# _ is turned into ' '\n"
 msgstr ""
-"# CaractÃ¨re utilisÃ© pour indiquer qu'un article a Ã©tÃ© lu (dÃ©faut ' ')\n"
+"# CaractÃ¨re utilisÃ© pour indiquer qu'un article a Ã©tÃ© lu (defaut ' ')\n"
 "# _ est transformÃ© en ' '\n"
 
-#: src/lang.c:2227
+#: src/lang.c:2283
 msgid "Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "CaractÃ¨re indiquant les articles filtrÃ©s. <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:2228
+#: src/lang.c:2284
 msgid "Character to show killed articles"
 msgstr "CaractÃ¨re pour articles filtrÃ©s"
 
-#: src/lang.c:2229
+#: src/lang.c:2285
 msgid ""
 "# Character used to show that an art was killed (default 'K')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr ""
-"# CaractÃ¨re utilisÃ© pour indiquer qu'un article a Ã©tÃ© filtrÃ© (dÃ©faut 'K')\n"
+"# CaractÃ¨re utilisÃ© pour indiquer qu'un article a Ã©tÃ© filtrÃ© (defaut 'K')\n"
 "# kill_level doit Ãªtre choisi en consÃ©quence, _ est transformÃ© en ' '\n"
 
-#: src/lang.c:2234
+#: src/lang.c:2290
 msgid ""
 "Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "CaractÃ¨re indiquant les articles lus et sÃ©lectionnÃ©s. <RETOUR> valide, <ESC> "
 "annule."
 
-#: src/lang.c:2235
+#: src/lang.c:2291
 msgid "Character to show readselected arts"
 msgstr "CaractÃ¨re pour articles sÃ©lectionnÃ©s lus"
 
-#: src/lang.c:2236
+#: src/lang.c:2292
 msgid ""
 "# Character used to show that an art was selected before read (default ':')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr ""
 "# CaractÃ¨re utilisÃ© pour indiquer qu'un article Ã©tait sÃ©lectionnÃ© avec\n"
-"# d'Ãªtre lu (dÃ©faut ':')\n"
+"# d'Ãªtre lu (defaut ':')\n"
 "# kill_level doit Ãªtre choisi en consÃ©quence, _ est transformÃ© en ' '\n"
 
-#: src/lang.c:2242
+#: src/lang.c:2298
 msgid "Abbreviate long newsgroup names"
 msgstr "AbrÃ©ger les noms de groupes trop longs"
 
-#: src/lang.c:2243
+#: src/lang.c:2299
 msgid ""
 "# If ON abbreviate (if necessary) long newsgroup names at group selection\n"
 "# level and article level like this:\n"
@@ -6713,7 +6869,7 @@ msgstr ""
 "# la vue de sÃ©lection de groupes et d'articles comme affichÃ© ci-dessous :\n"
 "#   news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n"
 
-#: src/lang.c:2249
+#: src/lang.c:2305
 msgid ""
 "0 = full page scrolling, -1 = show previous last line as first on next page, "
 "-2 = half page"
@@ -6721,11 +6877,11 @@ msgstr ""
 "0 = dÃ©filement page par page, -1 = afficher derniÃ¨re ligne dans page "
 "suivante, -2 = demi-page"
 
-#: src/lang.c:2250
+#: src/lang.c:2306
 msgid "Number of lines to scroll in pager"
 msgstr "Vitesse de dÃ©filement dans le pager"
 
-#: src/lang.c:2251
+#: src/lang.c:2307
 msgid ""
 "# Number of lines that cursor-up/down will scroll in article pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6743,61 +6899,58 @@ msgstr ""
 "# * 1 = ligne par ligne\n"
 "#   2 ou plus = dÃ©filer 2 lignes par 2 ou plus (seulement dans le pager)\n"
 
-#: src/lang.c:2261
+#: src/lang.c:2317
 msgid "Display signatures. <SPACE> toggles & <CR> sets."
 msgstr "Affiche les signatures. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:2262
+#: src/lang.c:2318
 msgid "Display signatures"
 msgstr "Afficher les signatures"
 
-#: src/lang.c:2263
+#: src/lang.c:2319
 msgid "# If OFF don't show signatures when displaying articles\n"
 msgstr ""
 "# Si OFF ne pas afficher les signatures lors de la visualisation des "
 "articles.\n"
 
-#: src/lang.c:2267
-#, fuzzy
+#: src/lang.c:2323
 msgid "Display article score. <SPACE> toggles & <CR> sets."
-msgstr "Affiche les signatures. <ESPACE> change & <RETOUR> valide."
+msgstr "Affiche le score de lâ€™article. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:2268
+#: src/lang.c:2324
 #, fuzzy
-msgid "Display article score"
-msgstr "afficher l'article suivant"
+msgid "Display article score in pager"
+msgstr "Affiche le score de lâ€™article"
 
-#: src/lang.c:2269
-#, fuzzy
+#: src/lang.c:2325
 msgid "# If ON show article score when displaying articles\n"
 msgstr ""
-"# Si OFF ne pas afficher les signatures lors de la visualisation des "
-"articles.\n"
+"# Si ON affiche le score de lâ€™article lors de lâ€™affichage des articles\n"
 
-#: src/lang.c:2274
+#: src/lang.c:2330
 msgid "Remove soft hyphens. <SPACE> toggles & <CR> sets."
 msgstr "Effacer les traits d'union. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:2275
+#: src/lang.c:2331
 msgid "Remove soft hyphens"
 msgstr "Effacer les traits d'union"
 
-#: src/lang.c:2276
+#: src/lang.c:2332
 msgid "# If ON remove soft hyphens when displaying articles\n"
 msgstr "# Si ON efface les traits d'union lors de l'affichage des articles\n"
 
-#: src/lang.c:2281
+#: src/lang.c:2337
 msgid ""
 "Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Afficher les archives uue comme PJ marquÃ©es. <ESPACE> change & <RETOUR> "
 "valide."
 
-#: src/lang.c:2282
+#: src/lang.c:2338
 msgid "Display uue data as an attachment"
 msgstr "Afficher donnÃ©e uue comme PJ"
 
-#: src/lang.c:2283
+#: src/lang.c:2339
 msgid ""
 "# Handling of uuencoded data in the pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6817,18 +6970,18 @@ msgstr ""
 "des\n"
 "#       donnÃ©es uuencode sera condensÃ©e en une seule ligne.\n"
 
-#: src/lang.c:2293
+#: src/lang.c:2349
 msgid ""
 "Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 msgstr ""
 "DÃ©code les umlauts Allemands de type TeX en ISO. <ESPACE> change & <RETOUR> "
 "valide."
 
-#: src/lang.c:2294
+#: src/lang.c:2350
 msgid "Display \"a as Umlaut-a"
 msgstr "Afficher \"a comme Umlaut-a"
 
-#: src/lang.c:2295
+#: src/lang.c:2351
 msgid ""
 "# If ON decode German style TeX umlaut codes to ISO and\n"
 "# show \"a as Umlaut-a, etc.\n"
@@ -6836,15 +6989,15 @@ msgstr ""
 "# Si ON, convertit les umlauts Allemands de type TeX en codes ISO\n"
 "# et affiche \"a comme Umlaut-a, etc.\n"
 
-#: src/lang.c:2300 src/lang.c:2310
+#: src/lang.c:2356 src/lang.c:2366
 msgid "Space separated list of header fields"
 msgstr "Liste des en-tÃªtes, sÃ©parÃ©s par des espaces"
 
-#: src/lang.c:2301
+#: src/lang.c:2357
 msgid "Display these header fields (or *)"
 msgstr "Afficher ces en-tÃªtes (ou *)"
 
-#: src/lang.c:2302
+#: src/lang.c:2358
 msgid ""
 "# Which news headers you wish to see. If you want to see _all_ the headers,\n"
 "# place an '*' as this value. This is the only way a wildcard can be used.\n"
@@ -6863,11 +7016,11 @@ msgstr ""
 "# en-tÃªtes en les dÃ©limitant avec des espaces. Ne rien dÃ©finir, dÃ©sactive\n"
 "# cette option.\n"
 
-#: src/lang.c:2311
+#: src/lang.c:2367
 msgid "Do not display these header fields"
 msgstr "Ne pas afficher ces en-tÃªtes"
 
-#: src/lang.c:2312
+#: src/lang.c:2368
 msgid ""
 "# Same as 'news_headers_to_display' except it denotes the opposite.\n"
 "# An example of using both options might be if you thought X- headers were\n"
@@ -6888,45 +7041,45 @@ msgstr ""
 "# news_headers_to_not_display=X-Alan X-Pape\n"
 "# Ne rien dÃ©finir, dÃ©sactive cette option.\n"
 
-#: src/lang.c:2322
+#: src/lang.c:2378
 msgid ""
 "Do you want to enable automatic handling of multipart/alternative articles?"
 msgstr ""
 "Voulez-vous activer la prise en charge automatique des articles multipart/"
 "alternative ?"
 
-#: src/lang.c:2323
+#: src/lang.c:2379
 msgid "Skip multipart/alternative parts"
 msgstr "Ignorer parties multipart/alternatives"
 
-#: src/lang.c:2324
+#: src/lang.c:2380
 msgid "# If ON strip multipart/alternative messages automatically\n"
 msgstr "# Si ON, enlÃ¨ve automatiquement les messages multipart/alternative\n"
 
-#: src/lang.c:2328
+#: src/lang.c:2384
 msgid "Enable detection of verbatim blocks? <SPACE> toggles & <CR> sets."
 msgstr ""
 "Activer la dÃ©tection des blocs Ã  citer ? <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:2329
+#: src/lang.c:2385
 msgid "Detection of verbatim blocks"
 msgstr "DÃ©tection des blocs textuels"
 
-#: src/lang.c:2330
+#: src/lang.c:2386
 msgid "# If ON detect verbatim blocks in articles\n"
 msgstr "# Si ON, dÃ©tecte les blocs textuels dans les articles\n"
 
-#: src/lang.c:2335
+#: src/lang.c:2391
 msgid "A regex used to decide which lines to show in col_quote."
 msgstr ""
 "Une expression rÃ©guliÃ¨re pour dÃ©terminer quelles lignes afficher dans "
 "col_quote."
 
-#: src/lang.c:2336
+#: src/lang.c:2392
 msgid "Regex used to show quoted lines"
 msgstr "Regex pour afficher les citations"
 
-#: src/lang.c:2337
+#: src/lang.c:2393
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
@@ -6936,17 +7089,17 @@ msgstr ""
 "# Les citations sont affichÃ©es dans col_quote. Si vous laissez ce champ\n"
 "# vide, tin utilisera une valeur incluse par dÃ©faut.\n"
 
-#: src/lang.c:2343
+#: src/lang.c:2399
 msgid "A regex used to decide which lines to show in col_quote2."
 msgstr ""
 "Une expression rÃ©guliÃ¨re pour dÃ©terminer quelles lignes afficher dans "
 "col_quote2."
 
-#: src/lang.c:2344
+#: src/lang.c:2400
 msgid "Regex used to show twice quoted l."
 msgstr "Regex pour afficher le 2nd niveau."
 
-#: src/lang.c:2345
+#: src/lang.c:2401
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted twice. Twice quoted lines are shown in col_quote2.\n"
@@ -6956,17 +7109,17 @@ msgstr ""
 "# second niveau. Ces citations sont affichÃ©es dans col_quote2. Si vous\n"
 "# laissez ce champ vide, tin utilisera une valeur incluse par dÃ©faut.\n"
 
-#: src/lang.c:2351
+#: src/lang.c:2407
 msgid "A regex used to decide which lines to show in col_quote3."
 msgstr ""
 "Une expression rÃ©guliÃ¨re pour dÃ©terminer quelles lignes afficher dans "
 "col_quote3."
 
-#: src/lang.c:2352
+#: src/lang.c:2408
 msgid "Regex used to show >= 3 times q.l."
 msgstr "Regex pour afficher niveau >= 3"
 
-#: src/lang.c:2353
+#: src/lang.c:2409
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
@@ -6978,33 +7131,33 @@ msgstr ""
 "# Si vous laissez ce champ vide, tin utilisera une valeur incluse par "
 "dÃ©faut.\n"
 
-#: src/lang.c:2359
+#: src/lang.c:2415
 msgid "Enable detection of external quotes? <SPACE> toggles & <CR> sets."
 msgstr ""
 "Activer la dÃ©tection des citations externes ? <ESPACE> change & <RETOUR> "
 "valide."
 
-#: src/lang.c:2360
+#: src/lang.c:2416
 msgid "Detection of external quotes"
 msgstr "DÃ©tection des citations externes"
 
-#: src/lang.c:2361
+#: src/lang.c:2417
 msgid "# If ON detect quoted text from external sources in articles\n"
 msgstr ""
 "# Si ON, dÃ©tecte les citations textuelles de sources externes dans les "
 "articles\n"
 
-#: src/lang.c:2365
+#: src/lang.c:2421
 msgid "A regex used to decide which lines to show in col_extquote."
 msgstr ""
 "Une expression rÃ©guliÃ¨re pour dÃ©terminer quelles lignes afficher dans "
 "col_extquote."
 
-#: src/lang.c:2366
+#: src/lang.c:2422
 msgid "Regex used to show quotes from external sources"
 msgstr "Regex pour afficher les citations de sources externes"
 
-#: src/lang.c:2367
+#: src/lang.c:2423
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# external quotes. Text from external quotes is shown in col_extquote.\n"
@@ -7015,17 +7168,17 @@ msgstr ""
 "# second niveau. Ces citations sont affichÃ©es dans col_extquote. Si vous\n"
 "# laissez ce champ vide, tin utilisera une valeur incluse par dÃ©faut.\n"
 
-#: src/lang.c:2374
+#: src/lang.c:2430
 msgid "A regex used to decide which words to show in col_markslashes."
 msgstr ""
 "Une expression rÃ©guliÃ¨re pour dÃ©terminer quels mots afficher dans "
 "col_markslashes."
 
-#: src/lang.c:2375
+#: src/lang.c:2431
 msgid "Regex used to highlight /slashes/"
 msgstr "Regex pour les mots entre /slash/"
 
-#: src/lang.c:2376
+#: src/lang.c:2432
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '/' are to be shown in col_markslashes.\n"
@@ -7036,17 +7189,17 @@ msgstr ""
 "# Si vous laissez ce champ vide, tin utilisera une valeur incluse par "
 "dÃ©faut.\n"
 
-#: src/lang.c:2382
+#: src/lang.c:2438
 msgid "A regex used to decide which words to show in col_markstars."
 msgstr ""
 "Une expression rÃ©guliÃ¨re pour dÃ©terminer quels mots afficher dans "
 "col_markstars."
 
-#: src/lang.c:2383
+#: src/lang.c:2439
 msgid "Regex used to highlight *stars*"
 msgstr "Regex pour les mots entre *astÃ©risques*"
 
-#: src/lang.c:2384
+#: src/lang.c:2440
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '*' are to be shown in col_markstars.\n"
@@ -7057,17 +7210,17 @@ msgstr ""
 "# Si vous laissez ce champ vide, tin utilisera une valeur incluse par "
 "dÃ©faut.\n"
 
-#: src/lang.c:2390
+#: src/lang.c:2446
 msgid "A regex used to decide which words to show in col_markstroke."
 msgstr ""
 "Une expression rÃ©guliÃ¨re pour dÃ©terminer quels mots afficher dans "
 "col_markstroke."
 
-#: src/lang.c:2391
+#: src/lang.c:2447
 msgid "Regex used to highlight -strokes-"
 msgstr "Regex pour les mots entre -tirets-"
 
-#: src/lang.c:2392
+#: src/lang.c:2448
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '-' are to be shown in col_markstroke.\n"
@@ -7078,17 +7231,17 @@ msgstr ""
 "# Si vous laissez ce champ vide, tin utilisera une valeur incluse par "
 "dÃ©faut.\n"
 
-#: src/lang.c:2398
+#: src/lang.c:2454
 msgid "A regex used to decide which words to show in col_markdash."
 msgstr ""
 "Une expression rÃ©guliÃ¨re pour dÃ©terminer quels mots afficher dans "
 "col_markdash."
 
-#: src/lang.c:2399
+#: src/lang.c:2455
 msgid "Regex used to highlight _underline_"
 msgstr "Regex pour les mots entre _underscore_"
 
-#: src/lang.c:2400
+#: src/lang.c:2456
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '_' are to be shown in col_markdash.\n"
@@ -7099,17 +7252,17 @@ msgstr ""
 "# Si vous laissez ce champ vide, tin utilisera une valeur incluse par "
 "dÃ©faut.\n"
 
-#: src/lang.c:2406
+#: src/lang.c:2462
 msgid "A regex used to find Subject prefixes to remove.  Use '|' as separator."
 msgstr ""
 "Une expression rÃ©guliÃ¨re pour trouver les prÃ©fixes dans le sujet. '|' est un "
 "sÃ©parateur."
 
-#: src/lang.c:2407
+#: src/lang.c:2463
 msgid "Regex with Subject prefixes"
 msgstr "Regex pour les prÃ©fixes dans le sujet"
 
-#: src/lang.c:2408
+#: src/lang.c:2464
 msgid ""
 "# A regular expression that tin will use to find Subject prefixes\n"
 "# which will be removed before showing the header.\n"
@@ -7117,17 +7270,17 @@ msgstr ""
 "# Une expression rÃ©guliÃ¨re qui permettra Ã  tin de trouver les prÃ©fixes\n"
 "# dans le sujet et qui seront effacÃ©s avant d'afficher l'en-tÃªte.\n"
 
-#: src/lang.c:2413
+#: src/lang.c:2469
 msgid "A regex used to find Subject suffixes to remove.  Use '|' as separator."
 msgstr ""
 "Une expression rÃ©guliÃ¨re pour trouver les suffixes dans le sujet. '|' est un "
 "sÃ©parateur."
 
-#: src/lang.c:2414
+#: src/lang.c:2470
 msgid "Regex with Subject suffixes"
 msgstr "Regex pour les suffixes dans le sujet"
 
-#: src/lang.c:2415
+#: src/lang.c:2471
 msgid ""
 "# A regular expression that tin will use to find Subject suffixes\n"
 "# which will be removed when replying or posting followup.\n"
@@ -7135,15 +7288,15 @@ msgstr ""
 "# Une expression rÃ©guliÃ¨re qui permettra Ã  tin de trouver les suffixes\n"
 "# dans le sujet et qui seront effacÃ©s avant d'afficher l'en-tÃªte.\n"
 
-#: src/lang.c:2420
+#: src/lang.c:2476
 msgid "A regex used to find the begin of a verbatim block."
 msgstr "Une expression rÃ©guliÃ¨re pour trouver le dÃ©but d'un bloc textuel."
 
-#: src/lang.c:2421
+#: src/lang.c:2477
 msgid "Regex for begin of a verbatim block"
 msgstr "Regex pour le dÃ©but d'un bloc textuel"
 
-#: src/lang.c:2422
+#: src/lang.c:2478
 msgid ""
 "# A regular expression that tin will use to find the begin of\n"
 "# a verbatim block.\n"
@@ -7151,15 +7304,15 @@ msgstr ""
 "# Une expression rÃ©guliÃ¨re que tin utilisera pour trouver\n"
 "# le dÃ©but d'un bloc textuel.\n"
 
-#: src/lang.c:2427
+#: src/lang.c:2483
 msgid "A regex used to find the end of a verbatim block."
 msgstr "Une expression rÃ©guliÃ¨re pour trouver la fin d'un bloc textuel."
 
-#: src/lang.c:2428
+#: src/lang.c:2484
 msgid "Regex for end of a verbatim block"
 msgstr "Regex pour la fin d'un bloc textuel"
 
-#: src/lang.c:2429
+#: src/lang.c:2485
 msgid ""
 "# A regular expression that tin will use to find the end of\n"
 "# a verbatim block.\n"
@@ -7167,7 +7320,7 @@ msgstr ""
 "# Une expression rÃ©guliÃ¨re que tin utilisera pour trouver\n"
 "# la fin d'une bloc textuel.\n"
 
-#: src/lang.c:2434
+#: src/lang.c:2490
 msgid ""
 "Enter name and options for external MIME viewer, --internal for built-in "
 "viewer"
@@ -7175,11 +7328,11 @@ msgstr ""
 "Nom et options pour le visualisateur MIME externe, --internal pour celui "
 "inclus"
 
-#: src/lang.c:2435
+#: src/lang.c:2491
 msgid "MIME binary content viewer"
 msgstr "Visualisateur de contenu MIME"
 
-#: src/lang.c:2436
+#: src/lang.c:2492
 msgid ""
 "# If --internal automatically use the built in MIME viewer for non-text\n"
 "# parts of articles.\n"
@@ -7193,15 +7346,15 @@ msgstr ""
 "# Sinon, spÃ©cifiez un logiciel externe (pe. metamail) ou laissez ce champ\n"
 "# vide pour ne pas activer la prÃ©visualisation automatique.\n"
 
-#: src/lang.c:2443
+#: src/lang.c:2499
 msgid "Confirm before starting non-text viewing program"
 msgstr "Confirmation avant le lancement d'un visualisateur externe"
 
-#: src/lang.c:2444
+#: src/lang.c:2500
 msgid "Ask before using MIME viewer"
 msgstr "Demander avant d'utiliser le visualisateur"
 
-#: src/lang.c:2445
+#: src/lang.c:2501
 msgid ""
 "# If ON tin will ask before using metamail to display MIME messages\n"
 "# this only happens if metamail_prog is set to something\n"
@@ -7210,38 +7363,38 @@ msgstr ""
 "# messages MIME\n"
 "# Cela ne se produit que lorsque 'metamail_prog' contient une valeur\n"
 
-#: src/lang.c:2450
+#: src/lang.c:2506
 msgid "Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Marquer lu les groupes Ã  la fermeture ? <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:2451
+#: src/lang.c:2507
 msgid "Catchup read groups when quitting"
 msgstr "Marquer lu les groupes Ã  la fermeture"
 
-#: src/lang.c:2452
+#: src/lang.c:2508
 msgid "# If ON ask user if read groups should all be marked read\n"
 msgstr ""
 "# Si ON, demande Ã  l'utilisateur si les groupes consultÃ©s\n"
 "# doivent Ãªtre marquÃ©s lus\n"
 
-#: src/lang.c:2457
+#: src/lang.c:2513
 msgid "Catchup group using left key"
 msgstr "Marquer lu le groupe via la flÃ¨che gauche"
 
-#: src/lang.c:2458
+#: src/lang.c:2514
 msgid "# If ON catchup group/thread when leaving with the left arrow key.\n"
 msgstr "# Si ON, marque lu avec <- le groupe/fil.\n"
 
-#: src/lang.c:2463
+#: src/lang.c:2519
 msgid "Catchup thread by using left key"
 msgstr "Marquer lu le fil via la flÃ¨che gauche"
 
-#: src/lang.c:2469
+#: src/lang.c:2525
 msgid "Which actions require confirmation"
 msgstr "Quelles actions requiÃ¨rent confirmation"
 
-#: src/lang.c:2470
+#: src/lang.c:2526
 msgid ""
 "# What should we ask confirmation for.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7265,11 +7418,11 @@ msgstr ""
 "#   6 = quitter et sÃ©lection\n"
 "#   7 = commandes & quitter & sÃ©lection\n"
 
-#: src/lang.c:2484
+#: src/lang.c:2540
 msgid "'Mark as (un)read' ignores tags"
 msgstr "'Marquer (non)lu l'article' ignore les marques"
 
-#: src/lang.c:2485
+#: src/lang.c:2541
 msgid ""
 "# If ON the 'Mark as (un)read' function marks only the current article.\n"
 msgstr ""
@@ -7277,45 +7430,45 @@ msgstr ""
 "l'article\n"
 "# actuel.\n"
 
-#: src/lang.c:2489
+#: src/lang.c:2545
 msgid "Program to run to open URLs, <CR> sets, <ESC> cancels."
 msgstr "Logiciel utilisÃ© pour lancer les URLs, <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:2490
+#: src/lang.c:2546
 msgid "Program that opens URLs"
 msgstr "Logiciel lanÃ§ant les URLs"
 
-#: src/lang.c:2491
+#: src/lang.c:2547
 msgid "# The program used to open URLs. The actual URL will be appended\n"
 msgstr "# Commande ou script ouvrant les URLs. L'URL sera ajoutÃ©e\n"
 
-#: src/lang.c:2496
+#: src/lang.c:2552
 msgid "Use mouse in xterm"
 msgstr "Utiliser la souris dans l'xterm"
 
-#: src/lang.c:2497
+#: src/lang.c:2553
 msgid "# If ON enable mouse button support on xterm terminals\n"
 msgstr "# Si ON, active le support de la souris dans xterm\n"
 
-#: src/lang.c:2503
+#: src/lang.c:2559
 msgid "Use scroll keys on keypad"
 msgstr "Utiliser les flÃ¨ches du pavÃ© numÃ©rique"
 
-#: src/lang.c:2504
+#: src/lang.c:2560
 msgid "# If ON enable scroll keys on terminals that support it\n"
 msgstr ""
 "# Si ON, active les flÃ¨ches de dÃ©filement pour les terminaux\n"
 "# les supportant\n"
 
-#: src/lang.c:2509
+#: src/lang.c:2565
 msgid "Enter maximum number of article to get. <CR> sets."
 msgstr "Nombre max d'articles Ã  rÃ©cupÃ©rer. <RETOUR> valide."
 
-#: src/lang.c:2510
+#: src/lang.c:2566
 msgid "Number of articles to get"
 msgstr "Nombre d'articles Ã  rÃ©cupÃ©rer"
 
-#: src/lang.c:2511
+#: src/lang.c:2567
 msgid ""
 "# Number of articles to get (0=no limit), if negative sets maximum number\n"
 "# of already read articles to be read before first unread one\n"
@@ -7324,29 +7477,29 @@ msgstr ""
 "# dÃ©termine le nombre max d'articles dÃ©jÃ  lus Ã  relire avant le premier non "
 "lu\n"
 
-#: src/lang.c:2516
+#: src/lang.c:2572
 msgid "Enter number of days article is considered recent. <CR> sets."
 msgstr ""
 "Nombre de jours un article est considÃ©rÃ© comme rÃ©cent. <RETOUR> valide."
 
-#: src/lang.c:2517
+#: src/lang.c:2573
 msgid "Article recentness time limit"
 msgstr "DurÃ©e des articles considÃ©rÃ©s comme rÃ©cents"
 
-#: src/lang.c:2518
+#: src/lang.c:2574
 msgid "# Number of days in which article is considered recent, (0=OFF)\n"
 msgstr "# Nombre de jours un article est considÃ©rÃ© comme rÃ©cent; (0=OFF)\n"
 
-#: src/lang.c:2522
+#: src/lang.c:2578
 msgid ""
 "WILDMAT for normal wildcards, REGEX for full regular expression matching."
 msgstr "WILDMAT pour les wildcards normaux, REGEX pour expressions rÃ©guliÃ¨res."
 
-#: src/lang.c:2523
+#: src/lang.c:2579
 msgid "Wildcard matching"
 msgstr "Concordance wildcard"
 
-#: src/lang.c:2524
+#: src/lang.c:2580
 msgid ""
 "# Wildcard matching\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7358,59 +7511,59 @@ msgstr ""
 "# * 0 = wildmat\n"
 "#   1 = regex\n"
 
-#: src/lang.c:2531
+#: src/lang.c:2587
 msgid "Enter minimal score before an article is marked killed. <CR> sets."
 msgstr "Score minimal avant qu'un article soit filtrÃ©. <RETOUR> valide."
 
-#: src/lang.c:2532
+#: src/lang.c:2588
 msgid "Score limit (kill)"
 msgstr "Score minimum (filtre)"
 
-#: src/lang.c:2533
+#: src/lang.c:2589
 msgid "# Score limit before an article is marked killed\n"
 msgstr "# Score minimal avant qu'un article soit filtrÃ©\n"
 
-#: src/lang.c:2537
+#: src/lang.c:2593
 msgid "Enter default score to kill articles. <CR> sets."
 msgstr "Score par dÃ©faut pour filtrer les articles. <RETOUR> valide."
 
-#: src/lang.c:2538
+#: src/lang.c:2594
 msgid "Default score to kill articles"
 msgstr "Score par dÃ©f. pour filtrer les articles"
 
-#: src/lang.c:2539
+#: src/lang.c:2595
 msgid "# Default score to kill articles\n"
 msgstr "# Score par dÃ©faut pour filtrer les articles\n"
 
-#: src/lang.c:2543
+#: src/lang.c:2599
 msgid "Enter minimal score before an article is marked hot. <CR> sets."
 msgstr "Score minimal avant qu'un article soit sÃ©lectionnÃ©. <RETOUR> valide."
 
-#: src/lang.c:2544
+#: src/lang.c:2600
 msgid "Score limit (select)"
 msgstr "Score minimum (sÃ©lection)"
 
-#: src/lang.c:2545
+#: src/lang.c:2601
 msgid "# Score limit before an article is marked hot\n"
 msgstr "# Score minimal avant qu'un article soit sÃ©lectionnÃ©\n"
 
-#: src/lang.c:2549
+#: src/lang.c:2605
 msgid "Enter default score to select articles. <CR> sets."
 msgstr "Score par dÃ©faut pour la sÃ©lection des articles. <RETOUR> valide."
 
-#: src/lang.c:2550
+#: src/lang.c:2606
 msgid "Default score to select articles"
 msgstr "Score par dÃ©faut pour sÃ©l. les articles"
 
-#: src/lang.c:2551
+#: src/lang.c:2607
 msgid "# Default score to select articles\n"
 msgstr "# Score par dÃ©faut pour sÃ©lectionner les articles\n"
 
-#: src/lang.c:2557
+#: src/lang.c:2613
 msgid "Use slrnface to show ''X-Face:''s"
 msgstr "Utiliser slrnface pour afficher les 'X-Face:'"
 
-#: src/lang.c:2558
+#: src/lang.c:2614
 msgid ""
 "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 "# Only useful when running in an xterm.\n"
@@ -7418,19 +7571,19 @@ msgstr ""
 "# Si ON, utiliser slrnface(1) pour interprÃ©ter l'en-tÃªte 'X-Face:'\n"
 "# Seulement utile lors de l'utilisation de tin dans un xterm.\n"
 
-#: src/lang.c:2566
+#: src/lang.c:2622
 msgid "Use ANSI color"
 msgstr "Utiliser les couleurs ANSI"
 
-#: src/lang.c:2567
+#: src/lang.c:2623
 msgid "# If ON using ANSI-color\n"
 msgstr "# Si ON, utiliser les couleurs ANSI\n"
 
-#: src/lang.c:2572
+#: src/lang.c:2628
 msgid "Standard foreground color"
 msgstr "Couleur standard de l'avant-plan"
 
-#: src/lang.c:2573
+#: src/lang.c:2629
 msgid ""
 "# Standard foreground color\n"
 "# Default: -1 (default color)\n"
@@ -7438,11 +7591,11 @@ msgstr ""
 "# Couleur standard de l'avant-plan\n"
 "# DÃ©faut : -1 (dÃ©faut couleur)\n"
 
-#: src/lang.c:2579
+#: src/lang.c:2635
 msgid "Standard background color"
 msgstr "Couleur standard de l'arriÃ¨re-plan"
 
-#: src/lang.c:2580
+#: src/lang.c:2636
 msgid ""
 "# Standard background color\n"
 "# Default: -1 (default color)\n"
@@ -7450,11 +7603,11 @@ msgstr ""
 "# Couleur standard de l'arriÃ¨re-plan\n"
 "# DÃ©faut : -1 (dÃ©faut couleur)\n"
 
-#: src/lang.c:2586
+#: src/lang.c:2642
 msgid "Color for inverse text (background)"
 msgstr "Couleur du texte inversÃ© (arriÃ¨re-plan)"
 
-#: src/lang.c:2587
+#: src/lang.c:2643
 msgid ""
 "# Color of background for inverse text\n"
 "# Default: 4 (blue)\n"
@@ -7462,11 +7615,11 @@ msgstr ""
 "# Couleur de l'arriÃ¨re-plan pour le texte inversÃ©\n"
 "# DÃ©faut : 4 (bleu)\n"
 
-#: src/lang.c:2593
+#: src/lang.c:2649
 msgid "Color for inverse text (foreground)"
 msgstr "Couleur du texte inversÃ© (avant-plan)"
 
-#: src/lang.c:2594
+#: src/lang.c:2650
 msgid ""
 "# Color of foreground for inverse text\n"
 "# Default: 7 (white)\n"
@@ -7474,11 +7627,11 @@ msgstr ""
 "# Couleur de l'avant-plan du texte inversÃ©\n"
 "# DÃ©faut : 7 (blanc)\n"
 
-#: src/lang.c:2600
+#: src/lang.c:2656
 msgid "Color of text lines"
 msgstr "Couleur du texte"
 
-#: src/lang.c:2601
+#: src/lang.c:2657
 msgid ""
 "# Color of text lines\n"
 "# Default: -1 (default color)\n"
@@ -7486,11 +7639,11 @@ msgstr ""
 "# Couleur du texte\n"
 "# DÃ©faut : -1 (dÃ©faut couleur)\n"
 
-#: src/lang.c:2607
+#: src/lang.c:2663
 msgid "Color of mini help menu"
 msgstr "Couleur du petit menu d'aide"
 
-#: src/lang.c:2608
+#: src/lang.c:2664
 msgid ""
 "# Color of mini help menu\n"
 "# Default: 3 (brown)\n"
@@ -7498,11 +7651,11 @@ msgstr ""
 "# Couleur du petit menu d'aide\n"
 "# DÃ©faut : 3 (marron)\n"
 
-#: src/lang.c:2614
+#: src/lang.c:2670
 msgid "Color of help text"
 msgstr "Couleur de l'aide"
 
-#: src/lang.c:2615
+#: src/lang.c:2671
 msgid ""
 "# Color of help pages\n"
 "# Default: -1 (default color)\n"
@@ -7510,11 +7663,11 @@ msgstr ""
 "# Couleur des pages d'aide\n"
 "# DÃ©faut : -1 (couleur par dÃ©faut)\n"
 
-#: src/lang.c:2621
+#: src/lang.c:2677
 msgid "Color of status messages"
 msgstr "Couleur des messages de statut"
 
-#: src/lang.c:2622
+#: src/lang.c:2678
 msgid ""
 "# Color of messages in last line\n"
 "# Default: 6 (cyan)\n"
@@ -7522,11 +7675,11 @@ msgstr ""
 "# Couleur des messages de statut\n"
 "# DÃ©faut : 6 (cyan)\n"
 
-#: src/lang.c:2628
+#: src/lang.c:2684
 msgid "Color of quoted lines"
 msgstr "Couleur de citation de 1er niveau"
 
-#: src/lang.c:2629
+#: src/lang.c:2685
 msgid ""
 "# Color of quote-lines\n"
 "# Default: 2 (green)\n"
@@ -7534,11 +7687,11 @@ msgstr ""
 "# Couleur de citation de premier niveau\n"
 "# DÃ©faut : 2 (vert)\n"
 
-#: src/lang.c:2635
+#: src/lang.c:2691
 msgid "Color of twice quoted line"
 msgstr "Couleur de citation de 2nd niveau"
 
-#: src/lang.c:2636
+#: src/lang.c:2692
 msgid ""
 "# Color of twice quoted lines\n"
 "# Default: 3 (brown)\n"
@@ -7546,11 +7699,11 @@ msgstr ""
 "# Couleur de citation de second niveau\n"
 "# DÃ©faut : 3 (marron)\n"
 
-#: src/lang.c:2642
+#: src/lang.c:2698
 msgid "Color of =>3 times quoted line"
 msgstr "Couleur de citation de 3e niveau ou supÃ©rieur"
 
-#: src/lang.c:2643
+#: src/lang.c:2699
 msgid ""
 "# Color of >=3 times quoted lines\n"
 "# Default: 4 (blue)\n"
@@ -7558,11 +7711,11 @@ msgstr ""
 "# Couleur de citation de 3e niveau ou supÃ©rieur\n"
 "# DÃ©faut : 4 (bleu)\n"
 
-#: src/lang.c:2649
+#: src/lang.c:2705
 msgid "Color of article header lines"
 msgstr "Couleur des en-tÃªtes de l'article"
 
-#: src/lang.c:2650
+#: src/lang.c:2706
 msgid ""
 "# Color of header-lines\n"
 "# Default: 2 (green)\n"
@@ -7570,11 +7723,11 @@ msgstr ""
 "# Couleur des en-tÃªtes de l'article\n"
 "# DÃ©faut : 2 (vert)\n"
 
-#: src/lang.c:2656
+#: src/lang.c:2712
 msgid "Color of actual news header fields"
 msgstr "Couleur des champs d'en-tÃªte actuels"
 
-#: src/lang.c:2657
+#: src/lang.c:2713
 msgid ""
 "# Color of actual news header fields\n"
 "# Default: 9 (light red)\n"
@@ -7582,11 +7735,11 @@ msgstr ""
 "# Couleur des champs d'en-tÃªtes actuels\n"
 "# DÃ©faut : 9 (rouge gras)\n"
 
-#: src/lang.c:2663
+#: src/lang.c:2719
 msgid "Color of article subject lines"
 msgstr "Couleur du sujet"
 
-#: src/lang.c:2664
+#: src/lang.c:2720
 msgid ""
 "# Color of article subject\n"
 "# Default: 6 (cyan)\n"
@@ -7594,11 +7747,11 @@ msgstr ""
 "# Couleur du sujet\n"
 "# DÃ©faut : 6 (cyan)\n"
 
-#: src/lang.c:2670
+#: src/lang.c:2726
 msgid "Color of external quotes"
 msgstr "Couleur des citations externes"
 
-#: src/lang.c:2671
+#: src/lang.c:2727
 msgid ""
 "# Color of quoted text from external sources\n"
 "# Default: 5 (pink)\n"
@@ -7606,11 +7759,11 @@ msgstr ""
 "# Couleur des citations textuelles de sources externes\n"
 "# DÃ©faut : 5 (rose)\n"
 
-#: src/lang.c:2677
+#: src/lang.c:2733
 msgid "Color of response counter"
 msgstr "Couleur du compteur de rÃ©ponse"
 
-#: src/lang.c:2678
+#: src/lang.c:2734
 msgid ""
 "# Color of response counter\n"
 "# Default: 2 (green)\n"
@@ -7618,11 +7771,11 @@ msgstr ""
 "# Couleur du compteur de rÃ©ponse\n"
 "# DÃ©faut : 2 (vert)\n"
 
-#: src/lang.c:2684
+#: src/lang.c:2740
 msgid "Color of sender (From:)"
 msgstr "Couleur de l'expÃ©diteur (From:)"
 
-#: src/lang.c:2685
+#: src/lang.c:2741
 msgid ""
 "# Color of sender (From:)\n"
 "# Default: 2 (green)\n"
@@ -7630,11 +7783,11 @@ msgstr ""
 "# Couleur de l'expÃ©diteur (From:)\n"
 "# DÃ©faut : 2 (vert)\n"
 
-#: src/lang.c:2691
+#: src/lang.c:2747
 msgid "Color of help/mail sign"
 msgstr "Couleur de l'aide/signature email"
 
-#: src/lang.c:2692
+#: src/lang.c:2748
 msgid ""
 "# Color of Help/Mail-Sign\n"
 "# Default: 4 (blue)\n"
@@ -7642,11 +7795,11 @@ msgstr ""
 "# Couleur de l'aide/signature email\n"
 "# DÃ©faut : 4 (bleu)\n"
 
-#: src/lang.c:2698
+#: src/lang.c:2754
 msgid "Color of signatures"
 msgstr "Couleur des signatures"
 
-#: src/lang.c:2699
+#: src/lang.c:2755
 msgid ""
 "# Color of signature\n"
 "# Default: 4 (blue)\n"
@@ -7654,39 +7807,35 @@ msgstr ""
 "# Couleur des signatures\n"
 "# DÃ©faut : 4 (bleu)\n"
 
-#: src/lang.c:2705
-#, fuzzy
+#: src/lang.c:2761
 msgid "Color of negative score"
-msgstr "Couleur du texte"
+msgstr "Couleur de score nÃ©gatif"
 
-#: src/lang.c:2706
-#, fuzzy
+#: src/lang.c:2762
 msgid ""
 "# Color of negative score\n"
 "# Default: 1 (red)\n"
 msgstr ""
-"# Couleur des signatures\n"
-"# DÃ©faut : 4 (bleu)\n"
+"# Couleur de score nÃ©gatif\n"
+"# DÃ©faut : 1 (rouge)\n"
 
-#: src/lang.c:2712
-#, fuzzy
+#: src/lang.c:2768
 msgid "Color of positive score"
-msgstr "Couleur du compteur de rÃ©ponse"
+msgstr "Couleur de score positif"
 
-#: src/lang.c:2713
-#, fuzzy
+#: src/lang.c:2769
 msgid ""
 "# Color of positive score\n"
 "# Default: 2 (green)\n"
 msgstr ""
-"# Couleur du compteur de rÃ©ponse\n"
+"# Couleur de score positif\n"
 "# DÃ©faut : 2 (vert)\n"
 
-#: src/lang.c:2719
+#: src/lang.c:2775
 msgid "Color of highlighted URLs"
 msgstr "Couleur des URLs en surbrillance"
 
-#: src/lang.c:2720
+#: src/lang.c:2776
 msgid ""
 "# Color of highlighted URLs\n"
 "# Default: -1 (default color)\n"
@@ -7694,11 +7843,11 @@ msgstr ""
 "# Couleur des URLs en surbrillance\n"
 "# DÃ©faut : -1 (dÃ©faut couleur)\n"
 
-#: src/lang.c:2726
+#: src/lang.c:2782
 msgid "Color of verbatim blocks"
 msgstr "Couleur des blocs textuels"
 
-#: src/lang.c:2727
+#: src/lang.c:2783
 msgid ""
 "# Color of verbatim blocks\n"
 "# Default: 5 (pink)\n"
@@ -7706,11 +7855,11 @@ msgstr ""
 "# Couleur des blocs textuels\n"
 "# DÃ©faut : 5 (rose)\n"
 
-#: src/lang.c:2733
+#: src/lang.c:2789
 msgid "Color of highlighting with *stars*"
 msgstr "Couleur des mots entre *astÃ©risques*"
 
-#: src/lang.c:2734
+#: src/lang.c:2790
 msgid ""
 "# Color of word highlighting with *stars*\n"
 "# Default: 11 (yellow)\n"
@@ -7718,11 +7867,11 @@ msgstr ""
 "# Couleur des mots entre *astÃ©risques*\n"
 "# DÃ©faut : 11 (jaune)\n"
 
-#: src/lang.c:2740
+#: src/lang.c:2796
 msgid "Color of highlighting with _dash_"
 msgstr "Couleur des mots entre _underscore_"
 
-#: src/lang.c:2741
+#: src/lang.c:2797
 msgid ""
 "# Color of word highlighting with _dash_\n"
 "# Default: 13 (light pink)\n"
@@ -7730,11 +7879,11 @@ msgstr ""
 "# Couleur des mots entre _underscore_\n"
 "# DÃ©faut : 13 (rose gras)\n"
 
-#: src/lang.c:2747
+#: src/lang.c:2803
 msgid "Color of highlighting with /slash/"
 msgstr "Couleur des mots entre /slash/"
 
-#: src/lang.c:2748
+#: src/lang.c:2804
 msgid ""
 "# Color of word highlighting with /slash/\n"
 "# Default: 14 (light cyan)\n"
@@ -7742,11 +7891,11 @@ msgstr ""
 "# Couleur des mots entre /slash/\n"
 "# DÃ©faut : 14 (cyan gras)\n"
 
-#: src/lang.c:2754
+#: src/lang.c:2810
 msgid "Color of highlighting with -stroke-"
 msgstr "Couleur des mots entre -tirets-"
 
-#: src/lang.c:2755
+#: src/lang.c:2811
 msgid ""
 "# Color of word highlighting with -stroke-\n"
 "# Default: 12 (light blue)\n"
@@ -7754,11 +7903,11 @@ msgstr ""
 "# Couleur des mots entre -tirets-\n"
 "# DÃ©faut : 12 (bleu gras)\n"
 
-#: src/lang.c:2762
+#: src/lang.c:2818
 msgid "Attr. of highlighting with *stars*"
 msgstr "Style des mots entre *astÃ©risques*"
 
-#: src/lang.c:2763
+#: src/lang.c:2819
 msgid ""
 "# Attributes of word highlighting on mono terminals\n"
 "# Possible values are:\n"
@@ -7786,11 +7935,11 @@ msgstr ""
 "# Style des mots entre *astÃ©risques*\n"
 "# DÃ©faut : 6 (gras)\n"
 
-#: src/lang.c:2778
+#: src/lang.c:2834
 msgid "Attr. of highlighting with _dash_"
 msgstr "Style des mots entre _underscore_"
 
-#: src/lang.c:2779
+#: src/lang.c:2835
 msgid ""
 "# Attribute of word highlighting with _dash_\n"
 "# Default: 2 (best highlighting)\n"
@@ -7798,11 +7947,11 @@ msgstr ""
 "# Style des mots entre _tirets_\n"
 "# DÃ©faut : 2 (mise en Ã©vidence accrue)\n"
 
-#: src/lang.c:2785
+#: src/lang.c:2841
 msgid "Attr. of highlighting with /slash/"
 msgstr "Style des mots entre /slash/"
 
-#: src/lang.c:2786
+#: src/lang.c:2842
 msgid ""
 "# Attribute of word highlighting with /slash/\n"
 "# Default: 5 (half bright)\n"
@@ -7810,11 +7959,11 @@ msgstr ""
 "# Style des mots entre /slash/\n"
 "# DÃ©faut : 5 (contrastÃ©)\n"
 
-#: src/lang.c:2792
+#: src/lang.c:2848
 msgid "Attr. of highlighting with -stroke-"
 msgstr "Style des mots entre -tirets-"
 
-#: src/lang.c:2793
+#: src/lang.c:2849
 msgid ""
 "# Attribute of word highlighting with -stroke-\n"
 "# Default: 3 (reverse video)\n"
@@ -7822,27 +7971,27 @@ msgstr ""
 "# Style des mots entre -tirets-\n"
 "# DÃ©faut : 3 (vidÃ©o inversÃ©e)\n"
 
-#: src/lang.c:2799
+#: src/lang.c:2855
 msgid "URL highlighting in message body"
 msgstr "Mise en Ã©vidence des URLs dans les articles"
 
-#: src/lang.c:2800
+#: src/lang.c:2856
 msgid "# Enable URL highlighting?\n"
 msgstr "# Mettre en Ã©vidence les URLs ?\n"
 
-#: src/lang.c:2805
+#: src/lang.c:2861
 msgid "Word highlighting in message body"
 msgstr "Mise en Ã©vidence des mots dans les articles"
 
-#: src/lang.c:2806
+#: src/lang.c:2862
 msgid "# Enable word highlighting?\n"
 msgstr "# Mettre en Ã©vidence les mots ?\n"
 
-#: src/lang.c:2811
+#: src/lang.c:2867
 msgid "What to display instead of mark"
 msgstr "Afficher Ã§a plutÃ´t qu'une marque"
 
-#: src/lang.c:2812
+#: src/lang.c:2868
 msgid ""
 "# Should the leading and ending stars and dashes also be displayed,\n"
 "# even when they are highlighting marks?\n"
@@ -7858,63 +8007,82 @@ msgstr ""
 "#   1 = oui, afficher la marque\n"
 "# * 2 = plutÃ´t afficher un espace\n"
 
-#: src/lang.c:2821
+#: src/lang.c:2877
 msgid "Enter column number to wrap article lines to in the pager. <CR> sets."
 msgstr "Largeur du pager. <RETOUR> valide."
 
-#: src/lang.c:2822
+#: src/lang.c:2878
 msgid "Page line wrap column"
 msgstr "Largeur du pager"
 
-#: src/lang.c:2823
+#: src/lang.c:2879
 msgid "# Wrap article lines at column\n"
 msgstr "# Justifier les lignes des articles Ã  la colonne indiquÃ©e\n"
 
-#: src/lang.c:2828
+#: src/lang.c:2883
+#, fuzzy
+msgid ""
+"If ON, don't break words when wrapping lines. <SPACE> toggles & <CR> sets."
+msgstr ""
+"Rajouter la signature lors du repostage. <ESPACE> change & <RETOUR> valide."
+
+#: src/lang.c:2884
+#, fuzzy
+msgid "Don't break words when wrapping"
+msgstr "Ne cassez pas les mots lors de l'emballage"
+
+#: src/lang.c:2885
+#, fuzzy
+msgid "# Don't break long lines inside a word but on <SPACE> or <TAB>\n"
+msgstr ""
+"# Ne coupez pas les longues lignes Ã  l'intÃ©rieur d'un mot mais sur <ESPACE> "
+"ou <TAB>\n"
+
+#: src/lang.c:2890
 msgid "Wrap around threads on next unread"
 msgstr "Englober les fils pour le non lu suivant"
 
-#: src/lang.c:2829
+#: src/lang.c:2891
 msgid "# If ON wrap around threads on searching next unread article\n"
 msgstr ""
 "# Si ON, englober les fils lors de la recherche de l'article suivant non lu\n"
 
-#: src/lang.c:2833
+#: src/lang.c:2895
 msgid "Enter default mail address (and fullname). <CR> sets."
 msgstr "Adresse mail par dÃ©faut (et nom complet). <RETOUR> valide."
 
-#: src/lang.c:2834 src/lang.c:3405
+#: src/lang.c:2896 src/lang.c:3474
 msgid "Mail address (and fullname)"
 msgstr "Adresse mail (et nom complet)"
 
-#: src/lang.c:2835
+#: src/lang.c:2897
 msgid "# User's mail address (and fullname), if not username@host (fullname)\n"
 msgstr ""
 "# Adresse mail (et nom complet) si ce n'est pas utilisateur@hÃ´te\n"
 "# (nom complet)\n"
 
-#: src/lang.c:2840
+#: src/lang.c:2902
 msgid "Show empty Followup-To in editor"
 msgstr "Inclure l'en-tÃªte Followup-To dans l'Ã©diteur"
 
-#: src/lang.c:2841
+#: src/lang.c:2903
 msgid "# If ON show empty Followup-To header when editing an article\n"
 msgstr ""
 "# Si ON, inclure l'en-tÃªte Followup-To lors de la composition\n"
 "# des articles\n"
 
-#: src/lang.c:2845
+#: src/lang.c:2907
 msgid ""
 "Enter path/! command/--none to create your default signature. <CR> sets."
 msgstr ""
 "Chemin/! commande/--aucune pour la crÃ©ation de votre signature. <RETOUR> "
 "valide."
 
-#: src/lang.c:2846
+#: src/lang.c:2908
 msgid "Create signature from path/command"
 msgstr "Signature depuis fichier/commande"
 
-#: src/lang.c:2847
+#: src/lang.c:2909
 #, c-format
 msgid ""
 "# Signature path (random sigs)/file to be used when posting/replying\n"
@@ -7931,55 +8099,55 @@ msgstr ""
 "#                    (%G pour indiquer le nom du groupe actuel)\n"
 "# sigfile=--aucun     ne pas ajouter de signature\n"
 
-#: src/lang.c:2855
+#: src/lang.c:2917
 msgid ""
 "Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 msgstr "PrÃ©cÃ©der la signature avec \"-- \". <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:2856
+#: src/lang.c:2918
 msgid "Prepend signature with \"-- \""
 msgstr "PrÃ©cÃ©der la signature avec \"-- \""
 
-#: src/lang.c:2857
+#: src/lang.c:2919
 msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n"
 msgstr ""
 "# Si ON, prÃ©cÃ©de la signature avec le dÃ©limiteur standard\n"
 "# '\\n-- \\'\n"
 
-#: src/lang.c:2861
+#: src/lang.c:2923
 msgid "Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Rajouter la signature lors du repostage. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:2862
+#: src/lang.c:2924
 msgid "Add signature when reposting"
 msgstr "Rajouter la signature lors du repostage"
 
-#: src/lang.c:2863
+#: src/lang.c:2925
 msgid "# If ON add signature to reposted articles\n"
 msgstr "# Si ON, rajoute la signature aux articles repostÃ©s\n"
 
-#: src/lang.c:2867
+#: src/lang.c:2929
 msgid "Enter quotation marks, %I for author's initials."
 msgstr "CaractÃ¨re de citation, %I correspond aux initiales de lâ€™auteur."
 
-#: src/lang.c:2868
+#: src/lang.c:2930
 msgid "Characters used as quote-marks"
 msgstr "CaractÃ¨re de citation"
 
-#: src/lang.c:2869
+#: src/lang.c:2931
 msgid ""
 "# Characters used in quoting to followups and replies.\n"
 "# '_' is replaced by ' ', %I is replaced by author's initials.\n"
 msgstr ""
 "# CaractÃ¨res utilisÃ©s pour les citations et les rÃ©ponses.\n"
-"# '_' est remplacÃ© par ' ', %I est remplacÃ© par les initiales de lâ€™auteur.\n"
+"# '_' est remplacÃ© par ' ', %I est remplacÃ© par les intiales de lâ€™auteur.\n"
 
-#: src/lang.c:2875
+#: src/lang.c:2937
 msgid "Quoting behavior"
 msgstr "Type de citations"
 
-#: src/lang.c:2876
+#: src/lang.c:2938
 msgid ""
 "# How quoting should be handled when following up or replying.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8003,17 +8171,17 @@ msgstr ""
 "#   6 = Citer les signatures, citer les lignes vides\n"
 "#   7 = Citations compr., signatures et lignes vides citÃ©es\n"
 
-#: src/lang.c:2889 src/lang.c:2897 src/lang.c:2903
+#: src/lang.c:2951 src/lang.c:2959 src/lang.c:2965
 msgid ""
 "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 msgstr ""
 "%A Adresse %D Date %F Adresse+Nom %G groupe %M Message-ID %N Nom %C PrÃ©nom"
 
-#: src/lang.c:2890
+#: src/lang.c:2952
 msgid "Quote line when following up"
 msgstr "Citation lors d'un suivi"
 
-#: src/lang.c:2891
+#: src/lang.c:2953
 msgid ""
 "# Format of quote line when mailing/posting/following-up an article\n"
 "# %A Address    %D Date   %F Addr+Name   %G Groupname   %M Message-ID\n"
@@ -8023,39 +8191,39 @@ msgstr ""
 "# %A Adresse\t\t%D Date\t%F Adresse+Nom\t%G groupe\n"
 "# %M Message-ID\t%N Nom complet\t%C PrÃ©nom\t%I Initiales\n"
 
-#: src/lang.c:2898
+#: src/lang.c:2960
 msgid "Quote line when cross-posting"
 msgstr "Citation lors d'un cross-post"
 
-#: src/lang.c:2904
+#: src/lang.c:2966
 msgid "Quote line when mailing"
 msgstr "Citation lors d'un envoi par mail"
 
-#: src/lang.c:2909
+#: src/lang.c:2971
 msgid "If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Si ON, inclus l'en-tÃªte 'User-Agent:'. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:2910
+#: src/lang.c:2972
 msgid "Insert 'User-Agent:' header"
 msgstr "InsÃ©rer l'en-tÃªte 'User-Agent:'"
 
-#: src/lang.c:2911
+#: src/lang.c:2973
 msgid "# If ON include advertising User-Agent: header\n"
 msgstr "# Si ON inclus l'en-tÃªte 'User-Agent:'\n"
 
-#: src/lang.c:2916
+#: src/lang.c:2978
 msgid ""
 "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 "Jeu d'encodage pour MIME (p.e. US-ASCII, ISO_8859_1, EUC_KR), <RETOUR> "
 "valide."
 
-#: src/lang.c:2917
+#: src/lang.c:2979
 msgid "MM_CHARSET"
 msgstr "MM_CHARSET"
 
-#: src/lang.c:2918
+#: src/lang.c:2980
 msgid ""
 "# Charset supported locally which is also used for MIME header and\n"
 "# Content-Type header.\n"
@@ -8075,40 +8243,40 @@ msgstr ""
 "# d'encodage autre que mm_charset est considÃ©rÃ© comme non disponible et\n"
 "# reprÃ©sentÃ© par '?'.\n"
 
-#: src/lang.c:2928
+#: src/lang.c:2990
 msgid "MM_NETWORK_CHARSET"
 msgstr "MM_NETWORK_CHARSET"
 
-#: src/lang.c:2929
+#: src/lang.c:2991
 msgid "# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr "# Jeu d'encodage utilisÃ© par l'en-tÃªte MIME (Content-Type).\n"
 
-#: src/lang.c:2933
+#: src/lang.c:2995
 msgid ""
 "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr "Encodage local (p.e. US-ASCII, ISO_8859_1, EUC_KR), <RETOUR> valide."
 
-#: src/lang.c:2934
+#: src/lang.c:2996
 msgid "MM_LOCAL_CHARSET"
 msgstr "MM_LOCAL_CHARSET"
 
-#: src/lang.c:2935
+#: src/lang.c:2997
 msgid "# Charset supported locally.\n"
 msgstr "# Encodage de caractÃ¨res local disponible.\n"
 
-#: src/lang.c:2942
+#: src/lang.c:3004
 msgid "Mailbox format"
 msgstr "Format de la boÃ®te Ã  lettres"
 
-#: src/lang.c:2943
+#: src/lang.c:3005
 msgid "# Format of the mailbox.\n"
 msgstr "# Format de la boÃ®te Ã  lettres\n"
 
-#: src/lang.c:2948
+#: src/lang.c:3010
 msgid "MIME encoding in news messages"
 msgstr "Encodage MIME dans les messages usenet"
 
-#: src/lang.c:2949
+#: src/lang.c:3011
 msgid ""
 "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n"
 "# for mails and posts, if necessary. QP is efficient for most European\n"
@@ -8123,15 +8291,15 @@ msgstr ""
 "# pour les jeux d'encodage 8bit Est Asiatique, Grec et Russe, car contenant\n"
 "# un plus grand nombre de caractÃ¨res 8bit.\n"
 
-#: src/lang.c:2957 src/lang.c:2978
+#: src/lang.c:3019 src/lang.c:3040
 msgid "Don't change unless you know what you are doing. <ESC> cancels."
 msgstr "Ne pas changer sauf si vous savez ce que vous faites. <ESC> annule."
 
-#: src/lang.c:2958
+#: src/lang.c:3020
 msgid "Use 8bit characters in news headers"
 msgstr "CaractÃ¨res 8bit dans les en-tÃªtes usenet"
 
-#: src/lang.c:2959
+#: src/lang.c:3021
 msgid ""
 "# If ON, 8bit characters in news headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -8144,30 +8312,30 @@ msgstr ""
 "# de la valeur de cette option sauf si post_mime_encoding a comme\n"
 "# valeur 8bit.\n"
 
-#: src/lang.c:2966
+#: src/lang.c:3028
 msgid ""
 "Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 "Visualiser automatiquement les fichiers traitÃ©s. <ESPACE> change, <RETOUR> "
 "valide, <ESC> annule."
 
-#: src/lang.c:2967
+#: src/lang.c:3029
 msgid "View post-processed files"
 msgstr "Voir les fichiers traitÃ©s"
 
-#: src/lang.c:2968
+#: src/lang.c:3030
 msgid "# If set, post processed files will be opened in a viewer\n"
 msgstr "# Si ON, les fichiers traitÃ©s seront ouverts\n"
 
-#: src/lang.c:2973
+#: src/lang.c:3035
 msgid "MIME encoding in mail messages"
 msgstr "Encodage MIME pour les mails"
 
-#: src/lang.c:2979
+#: src/lang.c:3041
 msgid "Use 8bit characters in mail headers"
 msgstr "CaractÃ¨res 8bits dans en-tÃªtes mail"
 
-#: src/lang.c:2980
+#: src/lang.c:3042
 msgid ""
 "# If ON, 8bit characters in mail headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -8187,11 +8355,11 @@ msgstr ""
 "# mails donc nous vous conseillons de ne PAS activer cette option sauf si\n"
 "# vous avez une bonne raison.\n"
 
-#: src/lang.c:2991
+#: src/lang.c:3053
 msgid "Strip blanks from ends of lines"
 msgstr "Nettoyer les fins de lignes"
 
-#: src/lang.c:2992
+#: src/lang.c:3054
 msgid ""
 "# If ON strip blanks from ends of lines for faster display on slow "
 "terminals.\n"
@@ -8199,17 +8367,17 @@ msgstr ""
 "# Si ON, enlÃ¨ve les blancs prÃ©sents aux fins de lignes pour un affichage \n"
 "# plus rapide sur les terminaux lents.\n"
 
-#: src/lang.c:2998
+#: src/lang.c:3060
 msgid "If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Si ON, utilise 'translit' pour iconv_open(3). <ESPACE> change & <RETOUR> "
 "valide."
 
-#: src/lang.c:2999
+#: src/lang.c:3061
 msgid "Transliteration"
 msgstr "TranslitÃ©ration (conversion)"
 
-#: src/lang.c:3000
+#: src/lang.c:3062
 msgid ""
 "# If ON, use //TRANSLIT extension. This means that when a character cannot\n"
 "# be represented in the in the target character set, it can be approximated\n"
@@ -8219,11 +8387,11 @@ msgstr ""
 "# caractÃ¨re n'est pas disponible dans l'encodage choisi, il peut Ãªtre\n"
 "# remplacÃ© par un ou plusieurs autres caractÃ¨res similaires.\n"
 
-#: src/lang.c:3008
+#: src/lang.c:3070
 msgid "Send you a Cc/Bcc automatically"
 msgstr "S'envoyer automatiquement une copie"
 
-#: src/lang.c:3009
+#: src/lang.c:3071
 msgid ""
 "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8240,11 +8408,11 @@ msgstr ""
 "#   2 = Cci\n"
 "#   3 = Cc et Cci\n"
 
-#: src/lang.c:3020
+#: src/lang.c:3082
 msgid "Hash algorithm for Cancel-Lock/Cancel-Key"
 msgstr "Type dâ€™algorithme pour Cancel-Lock/Cancel-Key"
 
-#: src/lang.c:3021
+#: src/lang.c:3083
 msgid ""
 "# Hash algorithm for Cancel-Lock/Cancel-Key (default 'sha1')\n"
 "# Use 'none' to not generate Cancel-Lock headers.\n"
@@ -8252,15 +8420,15 @@ msgstr ""
 "# Type dâ€™algorithme pour Cancel-Lock/Cancel-Key (â€˜sha1â€™ par dÃ©faut)\n"
 "# Utiliser â€˜aucunâ€™ pour ne pas gÃ©nÃ©rer dâ€™en-tÃªte Cancel-Lock.\n"
 
-#: src/lang.c:3027
+#: src/lang.c:3089
 msgid "Enter address elements about which you want to be warned. <CR> sets."
 msgstr "ÃŠtre averti de ces Ã©lÃ©ments. <RETOUR> valide."
 
-#: src/lang.c:3028
+#: src/lang.c:3090
 msgid "Spamtrap warning address parts"
 msgstr "PiÃ¨ges Ã  spam dans les adresses"
 
-#: src/lang.c:3029
+#: src/lang.c:3091
 msgid ""
 "# A comma-delimited list of address-parts you want to be warned\n"
 "# about when trying to reply by email.\n"
@@ -8268,28 +8436,28 @@ msgstr ""
 "# Une liste des parties dans les adresses, dÃ©limitÃ©es par des virgules,\n"
 "# que vous souhaitez connaÃ®tre lors d'une rÃ©ponse par mail.\n"
 
-#: src/lang.c:3034
+#: src/lang.c:3096
 msgid "Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr "Entrer la durÃ©e d'un filtre (en nombre de jours). <RETOUR> valide."
 
-#: src/lang.c:3035
+#: src/lang.c:3097
 msgid "No. of days a filter entry is valid"
 msgstr "DurÃ©e de validitÃ© d'un filtre"
 
-#: src/lang.c:3036
+#: src/lang.c:3098
 msgid "# Number of days a short term filter will be active\n"
 msgstr "# DurÃ©e (en nombre de jours) de validitÃ© d'un filtre\n"
 
-#: src/lang.c:3040
+#: src/lang.c:3102
 msgid "Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 "CrÃ©er une rÃ¨gle pour les articles postÃ©s. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:3041
+#: src/lang.c:3103
 msgid "Add posted articles to filter"
 msgstr "CrÃ©er une rÃ¨gle pour les articles postÃ©s"
 
-#: src/lang.c:3042
+#: src/lang.c:3104
 msgid ""
 "# If ON add posted articles which start a new thread to filter for\n"
 "# highlighting follow-ups\n"
@@ -8297,24 +8465,24 @@ msgstr ""
 "# Si ON, crÃ©e une rÃ¨gle pour les articles dÃ©butant un nouveau fil\n"
 "# afin de mettre en surbrillance les suivis.\n"
 
-#: src/lang.c:3046
+#: src/lang.c:3108
 msgid "The directory where articles/threads are to be saved in mailbox format."
 msgstr "Le rÃ©pertoire oÃ¹ sont enregistrÃ©s les articles/fils au format mailbox."
 
-#: src/lang.c:3047
+#: src/lang.c:3109
 msgid "Mail directory"
 msgstr "RÃ©pertoire mail"
 
-#: src/lang.c:3048
+#: src/lang.c:3110
 msgid "# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr ""
 "# (-m) rÃ©pertoire oÃ¹ sont enregistrÃ©s les articles/fils au format mailbox\n"
 
-#: src/lang.c:3053
+#: src/lang.c:3115
 msgid "Save articles in batch mode (-S)"
 msgstr "Enregistrer articles en arriÃ¨re-plan (-S)"
 
-#: src/lang.c:3054
+#: src/lang.c:3116
 msgid ""
 "# If ON articles/threads will be saved in batch mode when save -S\n"
 "# or mail (-M/-N) is specified on the command line\n"
@@ -8322,19 +8490,19 @@ msgstr ""
 "# Si ON, les articles/fils seront enregistrÃ©s Ã  l'arriÃ¨re-plan lorsque\n"
 "# l'option -S ou (-M/-N) pour les mails est spÃ©cifiÃ©e.\n"
 
-#: src/lang.c:3059
+#: src/lang.c:3121
 msgid "The directory where you want articles/threads saved."
 msgstr "Le rÃ©pertoire oÃ¹ vous voulez enregistrer les articles/fils."
 
-#: src/lang.c:3060
+#: src/lang.c:3122
 msgid "Directory to save arts/threads in"
 msgstr "RÃ©pertoire oÃ¹ enregistrer les articles/fils"
 
-#: src/lang.c:3061
+#: src/lang.c:3123
 msgid "# Directory where articles/threads are saved\n"
 msgstr "# RÃ©pertoire oÃ¹ sont enregistrÃ©s les articles/fils\n"
 
-#: src/lang.c:3065
+#: src/lang.c:3127
 msgid ""
 "Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 "cancels."
@@ -8342,25 +8510,25 @@ msgstr ""
 "Marquer lu les articles/fils enregistrÃ©s. <ESPACE> change, <RETOUR> valide, "
 "<ESC> annule."
 
-#: src/lang.c:3066
+#: src/lang.c:3128
 msgid "Mark saved articles/threads as read"
 msgstr "Marquer lu les articles/fils enregistrÃ©s"
 
-#: src/lang.c:3067
+#: src/lang.c:3129
 msgid "# If ON mark articles that are saved as read\n"
 msgstr "# Si ON, marque lu les articles qui sont enregistrÃ©s\n"
 
-#: src/lang.c:3071
+#: src/lang.c:3133
 msgid "Do post processing (e.g. extract attachments) for saved articles."
 msgstr ""
 "Ne pas faire de traitement postÃ©rieur (p.e. extraire les PJ) des articles "
 "enregistrÃ©s."
 
-#: src/lang.c:3072
+#: src/lang.c:3134
 msgid "Post process saved articles"
 msgstr "Post-traiter les articles enregistrÃ©s"
 
-#: src/lang.c:3073
+#: src/lang.c:3135
 msgid ""
 "# Perform post processing (saving binary attachments) from saved articles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8374,11 +8542,11 @@ msgstr ""
 "#   1 = extraire uniquement les *.shar (archives shell)\n"
 "#   2 = oui\n"
 
-#: src/lang.c:3082
+#: src/lang.c:3144
 msgid "Process only unread articles"
 msgstr "Traiter uniquement les articles non lus"
 
-#: src/lang.c:3083
+#: src/lang.c:3145
 msgid ""
 "# If ON only save/print/pipe/mail unread articles (tagged articles "
 "excepted)\n"
@@ -8386,22 +8554,22 @@ msgstr ""
 "# Si ON, enregistre/imprime/pipe/envoi articles non lu\n"
 "# (exceptÃ© les articles marquÃ©s)\n"
 
-#: src/lang.c:3088
+#: src/lang.c:3150
 msgid "Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Afficher tout ou une partie des en-tÃªtes. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:3089
+#: src/lang.c:3151
 msgid "Print all headers when printing"
 msgstr "Imprimer tous les en-tÃªtes"
 
-#: src/lang.c:3090
+#: src/lang.c:3152
 msgid ""
 "# If ON print all of article header otherwise just the important lines\n"
 msgstr ""
 "# Si ON, imprimer tous les en-tÃªtes, sinon juste les lignes importantes\n"
 
-#: src/lang.c:3094
+#: src/lang.c:3156
 msgid ""
 "The printer program with options that is to be used to print articles/"
 "threads."
@@ -8409,37 +8577,37 @@ msgstr ""
 "Le logiciel d'impression avec options utilisÃ©es pour imprimer les articles/"
 "fils."
 
-#: src/lang.c:3095
+#: src/lang.c:3157
 msgid "Printer program with options"
 msgstr "Logiciel d'impression avec options"
 
-#: src/lang.c:3096
+#: src/lang.c:3158
 msgid "# Print program with parameters used to print articles/threads\n"
 msgstr ""
 "# Logiciel d'impression avec options utilisÃ©es por imprimer les articles/"
 "fils\n"
 
-#: src/lang.c:3102
+#: src/lang.c:3164
 msgid "Force redraw after certain commands"
 msgstr "RafraÃ®chir l'Ã©cran aprÃ¨s certaines actions"
 
-#: src/lang.c:3103
+#: src/lang.c:3165
 msgid ""
 "# If ON a screen redraw will always be done after certain external commands\n"
 msgstr ""
 "# Si ON, un rafraÃ®chissement de l'Ã©cran sera toujours effectuÃ© aprÃ¨s\n"
 "# certaines commandes externes\n"
 
-#: src/lang.c:3107
+#: src/lang.c:3169
 msgid "Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr ""
 "%E pour l'Ã©diteur, %F pour le fichier, %N pour la ligne, <RETOUR> valide."
 
-#: src/lang.c:3108
+#: src/lang.c:3170
 msgid "Invocation of your editor"
 msgstr "Lancement de votre Ã©diteur"
 
-#: src/lang.c:3109
+#: src/lang.c:3171
 msgid ""
 "# Format of editor line including parameters\n"
 "# %E Editor  %F Filename  %N Linenumber\n"
@@ -8447,16 +8615,16 @@ msgstr ""
 "# Format des paramÃ¨tres pour l'Ã©diteur\n"
 "# %E Ã‰diteur  %F Fichier  %N NÂ° de ligne\n"
 
-#: src/lang.c:3114
+#: src/lang.c:3176
 msgid ""
 "Enter name and options for external-inews, --internal for internal inews"
 msgstr "Nom et options pour l'inews externe, --internal pour l'inews interne"
 
-#: src/lang.c:3115
+#: src/lang.c:3177
 msgid "External inews"
 msgstr "Inews externe"
 
-#: src/lang.c:3116
+#: src/lang.c:3178
 msgid ""
 "# If --internal use the built in mini inews for posting via NNTP\n"
 "# otherwise use an external inews program\n"
@@ -8464,34 +8632,33 @@ msgstr ""
 "# Si '--internal', utilise l'inews allÃ©gÃ© intÃ©grÃ© pour poster via\n"
 "# NNTP sinon, utilise un logiciel inews externe\n"
 
-#: src/lang.c:3120
+#: src/lang.c:3182
 msgid ""
 "Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr ""
 "%M pour le MUA, %S pour le sujet, %T pour 'to:', %F pour Fichier, <RETOUR> "
 "valide."
 
-#: src/lang.c:3121
+#: src/lang.c:3183
 msgid "Invocation of your mail command"
 msgstr "Lancement de votre client mail"
 
-#: src/lang.c:3122
+#: src/lang.c:3184
+#, fuzzy
 msgid ""
 "# Format of mailer line including parameters\n"
-"# %M Mailer  %S Subject  %T To  %F Filename\n"
-"# e.g. to use mutt as your mailer:    mutt -s \"%S\" -- \"%T\" < %F\n"
-"# e.g. mutt interactive          :    mutt -H %F\n"
+"# %M Mailer  %S Subject  %T To  %F Filename  %U Username\n"
+"# e.g. mutt interactive:  mutt -H %F\n"
 msgstr ""
 "# Format des paramÃ¨tres de ligne pour le MUA\n"
 "# %M MUA  %S Sujet  %T 'To:'  %F Fichier\n"
-"# p.e. pour utiliser mutt comme MUA :    mutt -s \"%S\" â€” \"%T\" < %F\n"
 "# p.e. pour mutt interactif         :     mutt -i %F -s \"%S\" â€” \"%T\"\n"
 
-#: src/lang.c:3130
+#: src/lang.c:3191
 msgid "Use interactive mail reader"
 msgstr "Utiliser un MUA interactif"
 
-#: src/lang.c:3131
+#: src/lang.c:3192
 msgid ""
 "# Interactive mailreader\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8505,36 +8672,36 @@ msgstr ""
 "#   1 = utiliser un MUA interactif avec les en-tÃªtes du fichier\n"
 "#   2 = utiliser un MUA interactif sans les en-tÃªtes du fichier\n"
 
-#: src/lang.c:3140
+#: src/lang.c:3201
 msgid "Remove ~/.article after posting"
 msgstr "Effacer ~/.article aprÃ¨s le postage"
 
-#: src/lang.c:3141
+#: src/lang.c:3202
 msgid "# If ON remove ~/.article after posting.\n"
 msgstr "# Si ON, effacer ~/.article aprÃ¨s le postage.\n"
 
-#: src/lang.c:3147
+#: src/lang.c:3208
 msgid "Use UTF-8 graphics (thread tree etc.)"
 msgstr "Utiliser les formes UTF-8 (symboles, etc.)"
 
-#: src/lang.c:3148
+#: src/lang.c:3209
 msgid ""
 "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n"
 msgstr ""
 "# Si ON, utilise les caractÃ¨res UTF-8 pour les symboles '->', '...' et "
 "autres.\n"
 
-#: src/lang.c:3153
+#: src/lang.c:3214
 msgid "Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr ""
 "Fichier pour les articles postÃ©s, <RETOUR> valide, pas de fichier = "
 "dÃ©sactive."
 
-#: src/lang.c:3154
+#: src/lang.c:3215
 msgid "Filename for posted articles"
 msgstr "Fichier pour les articles postÃ©s"
 
-#: src/lang.c:3155
+#: src/lang.c:3216
 msgid ""
 "# Filename where to keep all postings (default posted)\n"
 "# If no filename is set then postings will not be saved\n"
@@ -8543,41 +8710,41 @@ msgstr ""
 "# Si aucun fichier n'est indiquÃ©, les articles postÃ©s ne seront pas\n"
 "# enregistrÃ©s\n"
 
-#: src/lang.c:3160
+#: src/lang.c:3221
 msgid ""
 "Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Garder les articles non postÃ©s dans ~/dead.articles. <ESPACE> change & "
 "<RETOUR> valide."
 
-#: src/lang.c:3161
+#: src/lang.c:3222
 msgid "Keep failed arts in ~/dead.articles"
 msgstr "Articles non postÃ©s dans ~/dead.articles"
 
-#: src/lang.c:3162
+#: src/lang.c:3223
 msgid "# If ON keep all failed postings in ~/dead.articles\n"
 msgstr "# Si ON, garde tous les articles non postÃ©s dans ~/dead.articles\n"
 
-#: src/lang.c:3166
+#: src/lang.c:3227
 msgid "Do you want to strip unsubscribed groups from .newsrc"
 msgstr ""
 "Voulez-vous effacer dans newsrc les groupes auxquels vous vous Ãªtes "
 "dÃ©sabonnÃ©s"
 
-#: src/lang.c:3167
+#: src/lang.c:3228
 msgid "No unsubscribed groups in newsrc"
 msgstr "Pas de groupes dÃ©sabonnÃ©s dans newsrc"
 
-#: src/lang.c:3168
+#: src/lang.c:3229
 msgid "# If ON strip unsubscribed groups from newsrc\n"
 msgstr ""
 "# Si ON, efface dans newsrc les groupes auxquels vous vous Ãªtes dÃ©sabonnÃ©s\n"
 
-#: src/lang.c:3173
+#: src/lang.c:3234
 msgid "Remove bogus groups from newsrc"
 msgstr "Effacer les groupes corrompus de newsrc"
 
-#: src/lang.c:3174
+#: src/lang.c:3235
 msgid ""
 "# What to do with bogus groups in newsrc file\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8591,72 +8758,90 @@ msgstr ""
 "#   1 = effacer\n"
 "#   2 = marquer d'un D dans l'Ã©cran de sÃ©lection\n"
 
-#: src/lang.c:3183
+#: src/lang.c:3244
 msgid ""
 "Enter number of seconds to wait for a response from the server. <CR> sets."
 msgstr ""
 "DurÃ©e de l'attente d'une rÃ©ponse du serveur (en secondes). <RETOUR> valide."
 
-#: src/lang.c:3184
+#: src/lang.c:3245
 msgid "NNTP read timeout in seconds"
 msgstr "DurÃ©e limite d'attente lecture NNTP en secondes"
 
-#: src/lang.c:3185
+#: src/lang.c:3246
 msgid ""
 "# Time in seconds to wait for a response from the server (0=no timeout)\n"
 msgstr ""
 "# DurÃ©e en secondes, de l'attente d'une rÃ©ponse du serveur (0=pas de durÃ©e "
 "limite)\n"
 
-#: src/lang.c:3190
+#: src/lang.c:3251
 msgid "Enter number of seconds until active file will be reread. <CR> sets."
 msgstr "DurÃ©e avant que le fichier active ne soit relu. <RETOUR> valide."
 
-#: src/lang.c:3191
+#: src/lang.c:3252
 msgid "Interval in secs to reread active"
 msgstr "DurÃ©e avant relecture du fichier active"
 
-#: src/lang.c:3192
+#: src/lang.c:3253
 msgid ""
 "# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr ""
 "# DurÃ©e (en secondes) avant que le fichier active ne soit relu (0=jamais)\n"
 
-#: src/lang.c:3197
+#: src/lang.c:3258
 msgid "Reconnect to server automatically"
 msgstr "Reconnexion automatique au serveur"
 
-#: src/lang.c:3198
+#: src/lang.c:3259
 msgid ""
 "# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr ""
 "# Si ON, reconnexion automatique au serveur NNTP si la connexion est rompue\n"
 
-#: src/lang.c:3202
+#: src/lang.c:3263
 msgid ""
 "Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr ""
 "CrÃ©er des copies locales des en-tÃªtes NNTP. <ESPACE> change & <RETOUR> "
 "valide."
 
-#: src/lang.c:3203
+#: src/lang.c:3264
 msgid "Cache NNTP overview files locally"
 msgstr "Cache local des en-tÃªtes NNTP"
 
-#: src/lang.c:3204
+#: src/lang.c:3265
 msgid "# If ON, create local copies of NNTP overview files.\n"
 msgstr "# Si ON, crÃ©e une copie locale des en-tÃªtes NNTP.\n"
 
-#: src/lang.c:3208 src/lang.c:3223 src/lang.c:3243 src/lang.c:3266
-#: src/lang.c:3291 src/lang.c:3313 src/lang.c:3332
+#: src/lang.c:3270
+#, fuzzy
+msgid ""
+"Compress local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
+msgstr ""
+"CrÃ©er des copies locales des en-tÃªtes NNTP. <ESPACE> change & <RETOUR> "
+"valide."
+
+#: src/lang.c:3271
+#, fuzzy
+msgid "Compress locally cached NNTP overview files"
+msgstr "Cache local des en-tÃªtes NNTP"
+
+#: src/lang.c:3272
+#, fuzzy
+msgid "# If ON, compress local copies of NNTP overview files.\n"
+msgstr "# Si ON, crÃ©e une copie locale des en-tÃªtes NNTP.\n"
+
+#: src/lang.c:3277 src/lang.c:3292 src/lang.c:3312 src/lang.c:3335
+#: src/lang.c:3360 src/lang.c:3382 src/lang.c:3401
 msgid "Enter format string. <CR> sets, <ESC> cancels."
 msgstr "Formatage des dates. <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:3209
+#: src/lang.c:3278
 msgid "Format string for selection level"
 msgstr "Marques de formatage dans la sÃ©lection de groupe"
 
-#: src/lang.c:3210
+#: src/lang.c:3279
 msgid ""
 "# Format string for selection level representation\n"
 "# Default: %f %n %U  %G  %d\n"
@@ -8680,11 +8865,11 @@ msgstr ""
 "#   %n              Nombre, numÃ©rotation des lignes Ã  l'Ã©cran\n"
 "#   %U              Nombre de non lu(s)\n"
 
-#: src/lang.c:3224
+#: src/lang.c:3293
 msgid "Format string for group level"
 msgstr "Marques de formatage dans les groupes"
 
-#: src/lang.c:3225
+#: src/lang.c:3294
 msgid ""
 "# Format string for group level representation\n"
 "# Default: %n %m %R %L  %s  %F\n"
@@ -8718,13 +8903,11 @@ msgstr ""
 "#   %s              Sujet (uniquement dans la sÃ©lection de groupe)\n"
 "#   %S              Score\n"
 
-#: src/lang.c:3244
-#, fuzzy
+#: src/lang.c:3313
 msgid "Format string for attachment level"
-msgstr "Marques de formatage dans les fils"
+msgstr "Marques de formatage dans la vue des piÃ¨ces-jointes"
 
-#: src/lang.c:3245
-#, fuzzy
+#: src/lang.c:3314
 msgid ""
 "# Format string for attachment level representation\n"
 "# Default: %t%s%e%c%d\n"
@@ -8745,29 +8928,31 @@ msgid ""
 "#   %Z              Size in bytes\n"
 "#   %z              Like %Z but with description\n"
 msgstr ""
-"# Marques de formatage dans la sÃ©lection de groupe\n"
-"# Valeurs par dÃ©faut : %n %m %R %L  %s  %F\n"
+"# Marques de formatage dans la vue des piÃ¨ces-jointes\n"
+"# Valeurs par dÃ©faut : %t%s%e%c%d\n"
 "# Les valeurs possibles sont :\n"
-"#   %%              '%'\n"
-"#   %D              Date, comme date_format\n"
-"#   %(formatstr)D   Date, formatstr est transmis Ã  my_strftime()\n"
-"#   %F              De, nom et/ou adresse conformÃ©ment Ã  show_author\n"
-"#   %I              Initiales\n"
-"#   %L              Nombre de ligne\n"
-"#   %M              Message-ID\n"
-"#   %m              Marques de l'article\n"
-"#   %n              Nombre, numÃ©rotation des lignes Ã  l'Ã©cran\n"
-"#   %R              Nombre, nombre de rÃ©ponses dans un fil\n"
-"#   %s              Sujet (uniquement dans la sÃ©lection de groupe)\n"
-"#   %S              Score\n"
+"#   %%              â€˜%â€™\n"
+"#   %C              Encodage\n"
+"#   %c              Comme %C mais avec une description\n"
+"#   %D              Nombre de ligne\n"
+"#   %d              Comme %D mais avec une description\n"
+"#   %E              Encodage du contenu\n"
+"#   %e              Comme %E mais avec une description\n"
+"#   %L              Langue\n"
+"#   %l              Comme %L mais avec une description\n"
+"#   %S              Sous-type du contenu\n"
+"#   %s              Comme %S mais avec une description\n"
+"#   %T              Type de contenu\n"
+"#   %t              Comme %T mais avec une description\n"
+"#   %Z              Taille en octets\n"
+"#   %z              Comme %Z mais avec une description\n"
+"\n"
 
-#: src/lang.c:3267
-#, fuzzy
+#: src/lang.c:3336
 msgid "Format string for display of mime header"
-msgstr "Format des dates affichÃ©es"
+msgstr "Format de lâ€™affichage de lâ€™en-tÃªte mime"
 
-#: src/lang.c:3268
-#, fuzzy
+#: src/lang.c:3337
 msgid ""
 "# Format string for mime header at article level\n"
 "# Default: [-- %T%S%*n%z%*l%!c%!d%*e --]\n"
@@ -8790,29 +8975,32 @@ msgid ""
 "#   %Z              Size in bytes\n"
 "#   %z              Like %Z but with description\n"
 msgstr ""
-"# Marques de formatage dans la sÃ©lection de groupe\n"
-"# Valeurs par dÃ©faut : %n %m %R %L  %s  %F\n"
+"# Marques de formatage dans la vue des articles et en-tÃªte mime\n"
+"# Valeurs par dÃ©faut : [-- %T%S%*n%z%*l%!c%!d%*e --]\n"
 "# Les valeurs possibles sont :\n"
 "#   %%              '%'\n"
-"#   %D              Date, comme date_format\n"
-"#   %(formatstr)D   Date, formatstr est transmis Ã  my_strftime()\n"
-"#   %F              De, nom et/ou adresse conformÃ©ment Ã  show_author\n"
-"#   %I              Initiales\n"
-"#   %L              Nombre de ligne\n"
-"#   %M              Message-ID\n"
-"#   %m              Marques de l'article\n"
-"#   %n              Nombre, numÃ©rotation des lignes Ã  l'Ã©cran\n"
-"#   %R              Nombre, nombre de rÃ©ponses dans un fil\n"
-"#   %s              Sujet (uniquement dans la sÃ©lection de groupe)\n"
-"#   %S              Score\n"
+"#   %C              Encodage\n"
+"#   %c              Comme %C mais avec une description\n"
+"#   %D              Nombre de ligne\n"
+"#   %d              Comme %D mais avec une description\n"
+"#   %E              Encodage du contenu\n"
+"#   %e              Comme %E mais avec une description\n"
+"#   %L              Langue\n"
+"#   %l              Comme %L mais avec une description\n"
+"#   %N              Nom\n"
+"#   %n              Comme %N mais avec une description\n"
+"#   %S              Sous-type du contenu\n"
+"#   %s              Comme %S mais avec une description\n"
+"#   %T              Type de contenu\n"
+"#   %t              Comme %T mais avec une description\n"
+"#   %Z              Taille en octets\n"
+"#   %z              Comme %Z mais avec une description\n"
 
-#: src/lang.c:3292
-#, fuzzy
+#: src/lang.c:3361
 msgid "Format string for display of uue header"
-msgstr "Format des dates affichÃ©es"
+msgstr "Format de lâ€™affichage de lâ€™en-tÃªte uue"
 
-#: src/lang.c:3293
-#, fuzzy
+#: src/lang.c:3362
 msgid ""
 "# Format string for uue header at article level\n"
 "# Default: [-- %T%S%*n%I%!d%*e --]\n"
@@ -8832,27 +9020,29 @@ msgid ""
 "#   %Z              Size in bytes\n"
 "#   %z              Like %Z but with description\n"
 msgstr ""
-"# Marques de formatage dans la sÃ©lection de groupe\n"
-"# Valeurs par dÃ©faut : %n %m %R %L  %s  %F\n"
+"# Marques de formatage dans la vue des articles pour les en-tÃªtes uue\n"
+"# Valeurs par dÃ©faut : [-- %T%S%*n%I%!d%*e --]\n"
 "# Les valeurs possibles sont :\n"
 "#   %%              '%'\n"
-"#   %D              Date, comme date_format\n"
-"#   %(formatstr)D   Date, formatstr est transmis Ã  my_strftime()\n"
-"#   %F              De, nom et/ou adresse conformÃ©ment Ã  show_author\n"
-"#   %I              Initiales\n"
-"#   %L              Nombre de ligne\n"
-"#   %M              Message-ID\n"
-"#   %m              Marques de l'article\n"
-"#   %n              Nombre, numÃ©rotation des lignes Ã  l'Ã©cran\n"
-"#   %R              Nombre, nombre de rÃ©ponses dans un fil\n"
-"#   %s              Sujet (uniquement dans la sÃ©lection de groupe)\n"
-"#   %S              Score\n"
+"#   %D              Nombre de ligne\n"
+"#   %d              Comme %D mais avec une description\n"
+"#   %E              Encodage du contenu\n"
+"#   %e              Comme %E mais avec une description\n"
+"#   %I              Indicateur de la partie UUE complÃ¨te ou non\n"
+"#   %N              Nom\n"
+"#   %n              Comme %N mais avec une description\n"
+"#   %S              Sous-type du contenu\n"
+"#   %s              Comme %S mais avec une description\n"
+"#   %T              Type de contenu\n"
+"#   %t              Comme %T mais avec une description\n"
+"#   %Z              Taille en octets\n"
+"#   %z              Comme %Z mais avec une description\n"
 
-#: src/lang.c:3314
+#: src/lang.c:3383
 msgid "Format string for thread level"
 msgstr "Marques de formatage dans les fils"
 
-#: src/lang.c:3315
+#: src/lang.c:3384
 msgid ""
 "# Format string for thread level representation\n"
 "# Default: %n %m  [%L]  %T  %F\n"
@@ -8884,19 +9074,19 @@ msgstr ""
 "#   %S              Score\n"
 "#   %T              Vue du fil (uniquement dans les fils)\n"
 
-#: src/lang.c:3333
+#: src/lang.c:3402
 msgid "Format string for display of dates"
 msgstr "Format des dates affichÃ©es"
 
-#: src/lang.c:3334
+#: src/lang.c:3403
 msgid "# Format string for date representation\n"
 msgstr "# Format des dates affichÃ©es\n"
 
-#: src/lang.c:3344
+#: src/lang.c:3413
 msgid "Unicode normalization form"
 msgstr "Normalisation d'Unicode"
 
-#: src/lang.c:3345
+#: src/lang.c:3414
 msgid ""
 "# Unicode normalization form\n"
 "# Possible values are:\n"
@@ -8916,19 +9106,19 @@ msgstr ""
 "#   4 = NFD\n"
 "#   5 = NFKC_CF\n"
 
-#: src/lang.c:3359
+#: src/lang.c:3428
 msgid "Render BiDi"
 msgstr "Rendu BiDi"
 
-#: src/lang.c:3360
+#: src/lang.c:3429
 msgid "# If ON, bi-directional text is rendered by tin\n"
 msgstr "# Si ON, le texte bi-directionnel est affichÃ© par tin\n"
 
-#: src/lang.c:3367
+#: src/lang.c:3436
 msgid "Function for sorting articles"
 msgstr "Fonction pour trier les articles"
 
-#: src/lang.c:3368
+#: src/lang.c:3437
 msgid ""
 "# Function for sorting articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8940,185 +9130,194 @@ msgstr ""
 "# * 0 = qsort\n"
 "#   1 = heapsort\n"
 
-#: src/lang.c:3381
+#: src/lang.c:3450
 msgid "Automatically GroupMarkUnselArtRead"
 msgstr "GroupMarkUnselArtRead automatiquement"
 
-#: src/lang.c:3387
+#: src/lang.c:3456
 msgid "Delete post-process files"
 msgstr "Effacer les fichiers traitÃ©s"
 
-#: src/lang.c:3392
+#: src/lang.c:3461
 msgid "Filename for all mailed articles, <CR> sets, no filename=do not save."
 msgstr ""
 "Fichier pour les articles postÃ©s, <RETOUR> valide, pas de fichier = "
 "dÃ©sactive."
 
-#: src/lang.c:3393
+#: src/lang.c:3462
 msgid "Mailbox to save sent mails"
 msgstr "BoÃ®te aux lettres pour les emails envoyÃ©s"
 
-#: src/lang.c:3398
+#: src/lang.c:3467
 msgid "Set Followup-To: header to this group(s). <CR> sets, <ESC> cancels."
 msgstr ""
 "En-tÃªte 'Followup-To:' pour ce(s) groupe(s). <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:3399
+#: src/lang.c:3468
 msgid "Followup-To: header"
 msgstr "En-tÃªte 'Followup-To:'"
 
-#: src/lang.c:3404
+#: src/lang.c:3473
 msgid "Enter default mail address (and fullname). <CR> sets, <ESC> cancels."
 msgstr ""
 "Adresse mail par dÃ©faut (et nom complet). <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:3411
+#: src/lang.c:3480
 msgid ""
 "Path and options for ispell-like spell-checker. <CR> sets, <ESC> cancels."
 msgstr ""
 "Chemin et options pour ispell (ou autre correcteur). <RETOUR> valide, <ESC> "
 "annule."
 
-#: src/lang.c:3412
+#: src/lang.c:3481
 msgid "Ispell program"
 msgstr "Programme 'Ispell'"
 
-#: src/lang.c:3418
+#: src/lang.c:3487
 msgid "When group is a mailing list, send responses to this email address."
 msgstr ""
 "Lorsque le groupe est une liste de diffusion, envoyer les rÃ©ponses Ã  cette "
 "adresse email."
 
-#: src/lang.c:3419
+#: src/lang.c:3488
 msgid "Mailing list address"
 msgstr "Adresse email de la liste de diffusion"
 
-#: src/lang.c:3425
+#: src/lang.c:3494
 msgid "Forward articles as attachment"
 msgstr "Faire suivre les articles en piÃ¨ce-jointe"
 
-#: src/lang.c:3430
+#: src/lang.c:3499
 msgid ""
 "A comma separated list of MIME major/minor Content-Types. <ESC> cancels."
 msgstr ""
 "Une liste des 'Content-Type' MIME majeur/mineur sÃ©parÃ©e par des virgules. "
 "<ESC> annule."
 
-#: src/lang.c:3431
+#: src/lang.c:3500
 msgid "Which MIME types will be saved"
 msgstr "Quels types MIME seront enregistrÃ©s"
 
-#: src/lang.c:3436
+#: src/lang.c:3505
 msgid "Value of the Organization: header. <CR> sets, <ESC> cancels."
 msgstr "Contenu de l'en-tÃªte 'Organisation:'. <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:3437
+#: src/lang.c:3506
 msgid "Organization: header"
 msgstr "En-tÃªte 'Organisation:'"
 
-#: src/lang.c:3442
+#: src/lang.c:3511
 msgid "Filename for saved articles. <CR> sets, <ESC> cancels."
 msgstr "Nom des articles sauvegardÃ©s. <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:3443
+#: src/lang.c:3512
 msgid "savefile"
 msgstr "savefile"
 
-#: src/lang.c:3448 src/lang.c:3472
+#: src/lang.c:3517 src/lang.c:3541
 msgid "Scope for the filter rule. <CR> sets, <ESC> cancels."
 msgstr "DurÃ©e de la rÃ¨gle. <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:3449
+#: src/lang.c:3518
 msgid "Quick (1 key) select filter scope"
 msgstr "SÃ©lection rapide (une touche) de la durÃ©e d'une rÃ¨gle"
 
-#: src/lang.c:3454 src/lang.c:3478
+#: src/lang.c:3523 src/lang.c:3547
 msgid "Header for filter rule. <CR> sets, <ESC> cancels."
 msgstr "En-tÃªte pour la rÃ¨gle. <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:3455
+#: src/lang.c:3524
 msgid "Quick (1 key) select filter header"
 msgstr "SÃ©lection rapide (une touche) d'une rÃ¨gle sur l'en-tÃªte"
 
-#: src/lang.c:3460 src/lang.c:3484
+#: src/lang.c:3529 src/lang.c:3553
 msgid "ON = case sensitive, OFF = ignore case. <CR> sets, <ESC> cancels."
 msgstr ""
 "ON = casse sensible, OFF = ignore la casse. <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:3461
+#: src/lang.c:3530
 msgid "Quick (1 key) select filter case"
 msgstr "SÃ©lection rapide (une touche) de la casse d'une rÃ¨gle"
 
-#: src/lang.c:3466 src/lang.c:3490
+#: src/lang.c:3535 src/lang.c:3559
 msgid "ON = expire, OFF = don't ever expire. <CR> sets, <ESC> cancels."
 msgstr "ON = expire, OFF = n'expire pas. <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:3467
+#: src/lang.c:3536
 msgid "Quick (1 key) select filter expire"
 msgstr "SÃ©lection rapide (une touche) de l'expiration d'une rÃ¨gle"
 
-#: src/lang.c:3473
+#: src/lang.c:3542
 msgid "Quick (1 key) kill filter scope"
 msgstr "SÃ©lection rapide (une touche) de la durÃ©e du filtre"
 
-#: src/lang.c:3479
+#: src/lang.c:3548
 msgid "Quick (1 key) kill filter header"
 msgstr "SÃ©lection rapide (une touche) du filtre sur l'en-tÃªte"
 
-#: src/lang.c:3485
+#: src/lang.c:3554
 msgid "Quick (1 key) kill filter case"
 msgstr "SÃ©lection rapide (une touche) de la casse d'un filtre"
 
-#: src/lang.c:3491
+#: src/lang.c:3560
 msgid "Quick (1 key) kill filter expire"
 msgstr "SÃ©lection rapide (une touche) de l'expiration du filtre"
 
-#: src/lang.c:3497
+#: src/lang.c:3566
 msgid "Assume this charset if no charset declaration is present, <CR> to set."
 msgstr "Utilise cet encodage si aucun n'est spÃ©cifiÃ©, <RETOUR> pour changer."
 
-#: src/lang.c:3498
+#: src/lang.c:3567
 msgid "UNDECLARED_CHARSET"
 msgstr "UNDECLARED_CHARSET"
 
-#: src/lang.c:3504
+#: src/lang.c:3572
+#, fuzzy
+msgid "Guess charset if no charset declaration is present, <CR> to set."
+msgstr "Utilise cet encodage si aucun n'est spÃ©cifiÃ©, <RETOUR> pour changer."
+
+#: src/lang.c:3573
+msgid "UNDECLARED_CS_GUESS"
+msgstr "UNDECLARED_CS_GUESS"
+
+#: src/lang.c:3580
 msgid ""
 "Add this text at the start of the message body. <CR> sets, <ESC> cancels."
 msgstr "Ajouter ce texte au dÃ©but du message. <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:3505
+#: src/lang.c:3581
 msgid "X_Body"
 msgstr "X_Body"
 
-#: src/lang.c:3510
+#: src/lang.c:3586
 msgid "Insert this header when posting. <CR> sets, <ESC> cancels."
 msgstr "InsÃ©rer cet en-tÃªte lors du postage. <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:3511
+#: src/lang.c:3587
 msgid "X_Headers"
 msgstr "X_Headers"
 
-#: src/lang.c:3516
+#: src/lang.c:3592
 msgid ""
 "Automatically insert an X-Comment-To: header? <SPACE> toggles & <CR> sets."
 msgstr ""
 "Si ON, inclus un en-tÃªte 'X-Comment-To:'. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:3517
+#: src/lang.c:3593
 msgid "Insert 'X-Comment-To:' header"
 msgstr "InsÃ©rer l'en-tÃªte 'X-Comment-To:'"
 
-#: src/lang.c:3523
+#: src/lang.c:3599
 msgid "Enter name of file containing trusted CA certificates. <CR> sets."
 msgstr ""
 "Entrer un nom de fichier contenant les certificats CA de confiance. <CR> "
 "utilisÃ©."
 
-#: src/lang.c:3524
+#: src/lang.c:3600
 msgid "CA certificate file"
 msgstr "Fichier des certificats CA"
 
-#: src/lang.c:3525
+#: src/lang.c:3601
 msgid ""
 "# name of file containing all trusted CA certificates (empty = system "
 "default)\n"
@@ -9126,7 +9325,7 @@ msgstr ""
 "# nom du fichier contenant tous les certificats CA de confiance (vide = "
 "celui du systÃ¨me par dÃ©faut)\n"
 
-#: src/nntplib.c:908
+#: src/nntplib.c:963
 #, c-format
 msgid ""
 "\n"
@@ -9135,44 +9334,28 @@ msgstr ""
 "\n"
 "Connexion au serveur expirÃ©e, reconnexion # %d\n"
 
-#: src/nntplib.c:950 src/nntplib.c:2032
+#: src/nntplib.c:1006 src/nntplib.c:2115
 msgid "Rejoin current group\n"
 msgstr "Rejoindre le groupe actuel\n"
 
-#: src/nntplib.c:959 src/nntplib.c:2041
+#: src/nntplib.c:1015 src/nntplib.c:2124
 #, c-format
 msgid "Read (%s)\n"
 msgstr "Lecture (%s)\n"
 
-#: src/nntplib.c:961
+#: src/nntplib.c:1017
 #, c-format
 msgid "Resend last command (%s)\n"
 msgstr "RÃ©envoyer la derniÃ¨re commande (%s)\n"
 
-#: src/read.c:363
+#: src/read.c:358
 msgid "Aborted read\n"
 msgstr "Lecture annulÃ©e\n"
 
-#: src/read.c:418
+#: src/read.c:413
 msgid "Draining\n"
 msgstr "Purge\n"
 
-#: src/refs.c:656
+#: src/refs.c:654
 msgid "[- Unavailable -]"
 msgstr "[- Indisponible -]"
-
-#, c-format
-#~ msgid "Version: %s %s release %s (\"%s\") %s %s\n"
-#~ msgstr "Version : %s %s release %s (\"%s\") %s %s\n"
-
-#, c-format
-#~ msgid "%d lines"
-#~ msgstr "%d Lignes"
-
-#, c-format
-#~ msgid ""
-#~ "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "%*s[-- %s/%s, %sfichier uuencodÃ©, %d lignes, nom : %s --]\n"
-#~ "\n"
Binary files tin-2.6.3/po/ru.gmo and tin-2.6.4/po/ru.gmo differ
diff -Nurp '--exclude=.bzr*' tin-2.6.3/po/ru.po tin-2.6.4/po/ru.po
--- tin-2.6.3/po/ru.po	2023-12-24 00:38:37.000000000 +0100
+++ tin-2.6.4/po/ru.po	2024-12-21 15:42:03.776751132 +0100
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tin 1.8.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-12-13 22:25+0100\n"
+"POT-Creation-Date: 2024-12-21 15:42+0100\n"
 "PO-Revision-Date: 2006-04-21 15:39+0200\n"
 "Last-Translator: Andrei Emeltchenko <andrei.emeltchenko@finik.org>\n"
 "Language-Team: Russian <gnu@mx.ru>\n"
@@ -13,14 +13,14 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: src/lang.c:45
+#: src/lang.c:48
 msgid "1 Response"
 msgstr "1 Ð¾Ñ‚Ð²ÐµÑ‚"
 
-#: src/lang.c:49
+#: src/lang.c:50
 #, c-format
 msgid ""
 "\n"
@@ -29,36 +29,36 @@ msgstr ""
 "\n"
 "%s Ð½Ðµ ÑÐ¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð³Ñ€ÑƒÐ¿Ð¿ Ð½Ð¾Ð²Ð¾ÑÑ‚ÐµÐ¹. Ð’Ñ‹Ñ…Ð¾Ð´."
 
-#: src/lang.c:51
+#: src/lang.c:52
 msgid "Aborting read, please wait..."
 msgstr "ÐŸÑ€ÐµÑ€Ñ‹Ð²Ð°Ð½Ð¸Ðµ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ, Ð¿Ð¾Ð´Ð¾Ð¶Ð´Ð¸Ñ‚Ðµ..."
 
-#: src/lang.c:53
+#: src/lang.c:54
 msgid "all"
 msgstr "Ð²ÑÐµ"
 
-#: src/lang.c:54
+#: src/lang.c:55
 msgid "All groups"
 msgstr "Ð’ÑÐµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹"
 
-#: src/lang.c:55
+#: src/lang.c:56
 #, c-format
 msgid "File %s exists. %s=append, %s=overwrite, %s=quit: "
 msgstr "Ð¤Ð°Ð¹Ð» %s ÑÑƒÑ‰ÐµÑÑ‚Ð²ÑƒÐµÑ‚. %s=Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ, %s=Ð¿ÐµÑ€ÐµÐ¿Ð¸ÑÐ°Ñ‚ÑŒ, %s=Ð²Ñ‹Ð¹Ñ‚Ð¸: "
 
-#: src/lang.c:56
+#: src/lang.c:57
 msgid "Article cancelled (deleted)."
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð¾Ñ‚Ð¼ÐµÐ½ÐµÐ½Ð° (ÑƒÐ´Ð°Ð»ÐµÐ½Ð°)."
 
-#: src/lang.c:58
+#: src/lang.c:59
 msgid "Article cannot be cancelled (deleted)."
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð¾Ñ‚Ð¼ÐµÐ½ÐµÐ½Ð° (ÑƒÐ´Ð°Ð»ÐµÐ½Ð°)."
 
-#: src/lang.c:60
+#: src/lang.c:61
 msgid "Article deleted."
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÑ ÑƒÐ´Ð°Ð»ÐµÐ½Ð°."
 
-#: src/lang.c:61
+#: src/lang.c:62
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -72,7 +72,7 @@ msgstr ""
 "  \"%s\"\n"
 "Ð±ÑƒÐ´ÐµÑ‚ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð° Ð² %s:\n"
 
-#: src/lang.c:62
+#: src/lang.c:63
 #, c-format
 msgid ""
 "\n"
@@ -85,141 +85,146 @@ msgstr ""
 "  \"%s\"\n"
 "Ð±ÑƒÐ´ÐµÑ‚ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð° Ð² %s:\n"
 
-#: src/lang.c:63
+#: src/lang.c:64
 msgid "Article not posted!"
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð½Ðµ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð°!"
 
-#: src/lang.c:64
+#: src/lang.c:65
 msgid "Article not saved"
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð½Ðµ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð°"
 
-#: src/lang.c:65
+#: src/lang.c:66
 msgid "Article Level Commands"
 msgstr "ÐšÐ¾Ð¼Ð°Ð½Ð´Ñ‹ ÑƒÑ€Ð¾Ð²Ð½Ñ ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:66
+#: src/lang.c:67
 msgid "Article has no parent"
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÑÐºÐ¾Ð¹ ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:67
+#: src/lang.c:68
 msgid "Parent article has been killed"
 msgstr "Ð Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÑÐºÐ°Ñ ÑÑ‚Ð°Ñ‚ÑŒÑ Ð±Ñ‹Ð»Ð° ÑƒÐ½Ð¸Ñ‡Ñ‚Ð¾Ð¶ÐµÐ½Ð°"
 
-#: src/lang.c:68
+#: src/lang.c:69
 msgid "Parent article is unavailable"
 msgstr "Ð Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÑÐºÐ°Ñ ÑÑ‚Ð°Ñ‚ÑŒÑ Ð½ÐµÐ´Ð¾ÑÑ‚ÑƒÐ¿Ð½Ð°"
 
-#: src/lang.c:69
+#: src/lang.c:70
 #, c-format
 msgid "Article posted: %s"
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð°: %s"
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid "Article rejected (saved to %s)"
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð¾Ñ‚Ð²ÐµÑ€Ð³Ð½ÑƒÑ‚Ð° (ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð° Ð² %s)"
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, fuzzy, c-format
 msgid ""
 "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: "
 msgstr ""
 "%s=ÑÑ‚Ð°Ñ‚ÑŒÑ, %s=Ð´Ð¸ÑÐº., %s=hot, %s=ÑˆÐ°Ð±Ð»Ð¾Ð½, %s=Ð¾Ñ‚Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸, %s=Ð²Ñ‹Ñ…Ð¾Ð´: "
 
-#: src/lang.c:72
+#: src/lang.c:73
 msgid "Article unavailable"
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð½ÐµÐ´Ð¾ÑÑ‚ÑƒÐ¿Ð½Ð°"
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid "Article undeleted."
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð²Ð¾ÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð°."
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid "Article %4d of %4d"
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÑ %4d Ð¸Ð· %4d"
 
-#: src/lang.c:76
+#: src/lang.c:77
+#, fuzzy
+msgid "Article Info Page"
+msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð½Ðµ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð°"
+
+#: src/lang.c:78
 msgid "articles"
 msgstr "ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:77
+#: src/lang.c:79
 msgid "This is a repost of the following article:"
 msgstr "Ð­Ñ‚Ð¾ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ° ÑÑ‚Ð°Ñ‚ÑŒÐ¸:"
 
-#: src/lang.c:78
+#: src/lang.c:80
 msgid "article"
 msgstr "ÑÑ‚Ð°Ñ‚ÑŒÑ"
 
-#: src/lang.c:79
+#: src/lang.c:81
 msgid "Article"
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÑ"
 
-#: src/lang.c:80
+#: src/lang.c:82
 #, c-format
 msgid "-- %d %s mailed --"
 msgstr "-- %d %s Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾ email --"
 
-#: src/lang.c:81
+#: src/lang.c:83
 #, c-format
 msgid " at %s"
 msgstr " Ð² %s"
 
-#: src/lang.c:84
+#: src/lang.c:86
 #, fuzzy, c-format
 msgid "charset %s"
 msgstr ", ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ°: "
 
-#: src/lang.c:85
+#: src/lang.c:87
 #, c-format
 msgid "content subtype %s"
 msgstr ""
 
-#: src/lang.c:86
+#: src/lang.c:88
 #, c-format
 msgid "content type %s"
 msgstr ""
 
-#: src/lang.c:87
+#: src/lang.c:89
 #, c-format
 msgid "%*s[-- charset %s not supported --]\n"
 msgstr ""
 
-#: src/lang.c:88
+#: src/lang.c:90
 #, c-format
 msgid "%*s[-- Description: %s --]\n"
 msgstr "%*s[-- ÐžÐ¿Ð¸ÑÐ°Ð½Ð¸Ðµ: %s --]\n"
 
-#: src/lang.c:89
+#: src/lang.c:91
 #, fuzzy, c-format
 msgid "encoding %s"
 msgstr "ÐžÑ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ðµ %s\n"
 
-#: src/lang.c:95
+#: src/lang.c:97
 #, fuzzy, c-format
 msgid "lang %s"
 msgstr "ÐŸÐµÑ€ÐµÑ‡Ð¸Ñ‚Ñ‹Ð²Ð°ÑŽ %s..."
 
-#: src/lang.c:96
+#: src/lang.c:98
 #, fuzzy, c-format
 msgid "%s lines"
 msgstr "Ð¡Ñ‚Ñ€Ð¾ÐºÐ¸"
 
-#: src/lang.c:97
+#: src/lang.c:99
 #, fuzzy, c-format
 msgid "name %s"
 msgstr ", Ð¸Ð¼Ñ: "
 
-#: src/lang.c:98
+#: src/lang.c:100
 msgid ", "
 msgstr ""
 
-#: src/lang.c:99
+#: src/lang.c:101
 #, c-format
 msgid "size %s"
 msgstr ""
 
-#: src/lang.c:100
+#: src/lang.c:102
 msgid ""
 "This message has been composed in the 'multipart/mixed' MIME-format. If you\n"
 "are reading this prefix, your mail reader probably has not yet been "
@@ -232,51 +237,51 @@ msgstr ""
 "Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ð½Ð¾Ð²Ñ‹Ð¼ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¾Ð¼ Ð¸ ÑÐ»ÐµÐ´ÑƒÑŽÑ‰Ð¸Ðµ Ð´Ð°Ð½Ð½Ñ‹Ðµ Ð¼Ð¾Ð³ÑƒÑ‚ Ð²Ñ‹Ð³Ð»ÑÐ´ÐµÑ‚ÑŒ ÑÑ‚Ñ€Ð°Ð½Ð½Ð¾.\n"
 "\n"
 
-#: src/lang.c:104
+#: src/lang.c:106
 msgid "Attachment Menu"
 msgstr ""
 
-#: src/lang.c:105
+#: src/lang.c:107
 #, fuzzy
 msgid "Attachment Menu Commands"
 msgstr "ÐšÐ¾Ð¼Ð°Ð½Ð´Ñ‹ ÑƒÑ€Ð¾Ð²Ð½Ñ ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:106
+#: src/lang.c:108
 #, fuzzy
 msgid "<no name>"
 msgstr "Ð½Ð¸Ñ‡ÐµÐ³Ð¾"
 
-#: src/lang.c:107
+#: src/lang.c:109
 #, fuzzy, c-format
 msgid "Attachment saved successfully. (%s)"
 msgstr "newsrc Ñ„Ð°Ð¹Ð» ÑƒÑÐ¿ÐµÑˆÐ½Ð¾ ÑÐ¾Ñ…Ñ€Ð°Ð½Ñ‘Ð½.\n"
 
-#: src/lang.c:108
+#: src/lang.c:110
 #, fuzzy, c-format
 msgid "%d of %d attachments saved successfully."
 msgstr "newsrc Ñ„Ð°Ð¹Ð» ÑƒÑÐ¿ÐµÑˆÐ½Ð¾ ÑÐ¾Ñ…Ñ€Ð°Ð½Ñ‘Ð½.\n"
 
-#: src/lang.c:109
+#: src/lang.c:111
 #, fuzzy
 msgid "Select attachment> "
 msgstr "Ð’Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ ÑÑ‚Ð°Ñ‚ÑŒÑŽ> "
 
-#: src/lang.c:110
+#: src/lang.c:112
 #, fuzzy
 msgid "Tagged attachment"
 msgstr "Ð’Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ ÑÑ‚Ð°Ñ‚ÑŒÑŽ> "
 
-#: src/lang.c:111
+#: src/lang.c:113
 #, fuzzy, c-format
 msgid "%d attachments tagged"
 msgstr "Ð’Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ ÑÑ‚Ð°Ñ‚ÑŒÑŽ> "
 
-#: src/lang.c:112
+#: src/lang.c:114
 #, fuzzy
 msgid "Untagged attachment"
 msgstr "Ð’Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ ÑÑ‚Ð°Ñ‚ÑŒÑŽ> "
 
-#: src/lang.c:115
+#: src/lang.c:117
 msgid ""
 "# Do not edit this comment block\n"
 "#\n"
@@ -284,459 +289,468 @@ msgstr ""
 "# ÐÐµ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ ÑÑ‚Ð¾Ñ‚ Ð±Ð»Ð¾Ðº ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸ÐµÐ²\n"
 "#\n"
 
-#: src/lang.c:116
+#: src/lang.c:118
 msgid "#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr "#  scope=Ð¡Ð¢Ð ÐžÐšÐ (Ð½Ð°Ð¿Ñ€. alt.*,!alt.bin*) [mandatory]\n"
 
-#: src/lang.c:117
+#: src/lang.c:119
 msgid "#  add_posted_to_filter=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:118
+#: src/lang.c:120
 msgid "#  advertising=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:119
+#: src/lang.c:121
 msgid "#  alternative_handling=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:120
+#: src/lang.c:122
 msgid "#  ask_for_metamail=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:121
+#: src/lang.c:123
 #, fuzzy
 msgid "#  auto_cc_bcc=NUM\n"
 msgstr "#  show_author=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:122
+#: src/lang.c:124
 msgid "#    0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n"
 msgstr ""
 
-#: src/lang.c:123
+#: src/lang.c:125
 #, fuzzy
 msgid "#  auto_list_thread=ON/OFF\n"
 msgstr "#  show_author=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:124
+#: src/lang.c:126
 msgid "#  auto_select=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:125
+#: src/lang.c:127
 msgid "#  batch_save=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:126
+#: src/lang.c:128
 msgid "#  date_format=STRING (eg. %a, %d %b %Y %H:%M:%S)\n"
 msgstr ""
 
-#: src/lang.c:127
+#: src/lang.c:129
 msgid "#  delete_tmp_files=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:128
+#: src/lang.c:130
 #, fuzzy
 msgid "#  editor_format=STRING (eg. %E +%N %F)\n"
 msgstr "#  savedir=Ð¡Ð¢Ð ÐžÐšÐ (Ð½Ð°Ð¿Ñ€. ~user/News)\n"
 
-#: src/lang.c:129
+#: src/lang.c:131
 msgid "#  fcc=STRING (eg. =mailbox)\n"
 msgstr "#  fcc=Ð¡Ð¢Ð ÐžÐšÐ (Ð½Ð°Ð¿Ñ€. =mailbox)\n"
 
-#: src/lang.c:130
+#: src/lang.c:132
 msgid "#  followup_to=STRING\n"
 msgstr "#  followup_to=Ð¡Ð¢Ð ÐžÐšÐ\n"
 
-#: src/lang.c:131
+#: src/lang.c:133
 msgid "#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr ""
 "#  from=Ð¡Ð¢Ð ÐžÐšÐ (Ð´Ð¾Ð±Ð°Ð²ÑŒÑ‚Ðµ Ð¶ÐµÐ»Ð°ÐµÐ¼ÑƒÑŽ ÑÑ‚Ñ€Ð¾ÐºÑƒ From:, Ð½Ðµ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ ÐºÐ°Ð²Ñ‹Ñ‡ÐºÐ¸)\n"
 
-#: src/lang.c:132
+#: src/lang.c:134
 msgid "#  group_catchup_on_exit=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:133
+#: src/lang.c:135
 msgid "#  group_format=STRING (eg. %n %m %R %L  %s  %F)\n"
 msgstr ""
 
-#: src/lang.c:134
+#: src/lang.c:136
 #, fuzzy
 msgid "#  mail_8bit_header=ON/OFF\n"
 msgstr "#  thread_perc=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:135
+#: src/lang.c:137
 msgid "#  mail_mime_encoding=supported_encoding"
 msgstr ""
 
-#: src/lang.c:137
+#: src/lang.c:139
 msgid "#  ispell=STRING\n"
 msgstr "#  ispell=Ð¡Ð¢Ð ÐžÐšÐ\n"
 
-#: src/lang.c:139
+#: src/lang.c:141
 msgid "#  maildir=STRING (eg. ~/Mail)\n"
 msgstr "#  maildir=Ð¡Ð¢Ð ÐžÐšÐ (Ð½Ð°Ð¿Ñ€. ~/Mail)\n"
 
-#: src/lang.c:140
+#: src/lang.c:142
 msgid "#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr "#  mailing_list=Ð¡Ð¢Ð ÐžÐšÐ (Ð½Ð°Ð¿Ñ€. majordomo@example.org)\n"
 
-#: src/lang.c:141
+#: src/lang.c:143
 msgid "#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr "#  mime_types_to_save=Ð¡Ð¢Ð ÐžÐšÐ (Ð½Ð°Ð¿Ñ€. image/*,!image/bmp)\n"
 
-#: src/lang.c:142
+#: src/lang.c:144
 #, fuzzy
 msgid "#  mark_ignore_tags=ON/OFF\n"
 msgstr "#  show_author=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:143
+#: src/lang.c:145
 #, fuzzy
 msgid "#  mark_saved_read=ON/OFF\n"
 msgstr "#  show_author=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:144
+#: src/lang.c:146
 msgid "#  mime_forward=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:146
+#: src/lang.c:148
 msgid "#  mm_network_charset=supported_charset"
 msgstr "#  mm_network_charset=Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ_ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ°"
 
-#: src/lang.c:147
+#: src/lang.c:149
 msgid "#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr "#  undeclared_charset=Ð¡Ð¢Ð ÐžÐšÐ (Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ US-ASCII)\n"
 
-#: src/lang.c:149
+#: src/lang.c:151
+#, fuzzy
+msgid "#  undeclared_cs_guess=ON/OFF (default is OFF)\n"
+msgstr "#  undeclared_charset=Ð¡Ð¢Ð ÐžÐšÐ (Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ US-ASCII)\n"
+
+#: src/lang.c:154
 #, fuzzy
 msgid "#  news_headers_to_display=STRING\n"
 msgstr "#  news_quote_format=Ð¡Ð¢Ð ÐžÐšÐ\n"
 
-#: src/lang.c:150
+#: src/lang.c:155
 #, fuzzy
 msgid "#  news_headers_to_not_display=STRING\n"
 msgstr "#  news_quote_format=Ð¡Ð¢Ð ÐžÐšÐ\n"
 
-#: src/lang.c:151
+#: src/lang.c:156
 msgid "#  news_quote_format=STRING\n"
 msgstr "#  news_quote_format=Ð¡Ð¢Ð ÐžÐšÐ\n"
 
-#: src/lang.c:152
+#: src/lang.c:157
 msgid "#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr ""
 "#  organization=Ð¡Ð¢Ð ÐžÐšÐ (ÐµÑÐ»Ð¸ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÐµÑ‚ÑÑ Ñ '/', Ñ‚Ð¾ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð¸Ð· Ñ„Ð°Ð¹Ð»Ð°)\n"
 
-#: src/lang.c:153
+#: src/lang.c:158
 #, fuzzy
 msgid "#  pos_first_unread=ON/OFF\n"
 msgstr "#  show_author=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:154
+#: src/lang.c:159
 #, fuzzy
 msgid "#  post_8bit_header=ON/OFF\n"
 msgstr "#  thread_perc=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:155
+#: src/lang.c:160
 msgid "#  post_mime_encoding=supported_encoding"
 msgstr ""
 
-#: src/lang.c:156
+#: src/lang.c:161
 #, fuzzy
 msgid "#  post_process_type=NUM\n"
 msgstr "#  post_proc_type=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:157
+#: src/lang.c:162
 #, fuzzy
 msgid "#  post_process_view=ON/OFF\n"
 msgstr "#  post_proc_type=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:158
+#: src/lang.c:163
 msgid "#  quick_kill_scope=STRING (e.g. talk.*)\n"
 msgstr "#  quick_kill_scope=Ð¡Ð¢Ð ÐžÐšÐ (Ð½Ð°Ð¿Ñ€. talk.*)\n"
 
-#: src/lang.c:159
+#: src/lang.c:164
 msgid "#  quick_kill_expire=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:160
+#: src/lang.c:165
 msgid "#  quick_kill_case=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:161
+#: src/lang.c:166
 msgid "#  quick_kill_header=NUM\n"
 msgstr "#  quick_kill_header=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:162 src/lang.c:171
+#: src/lang.c:167 src/lang.c:176
 #, fuzzy
 msgid "#    0=Subject: (case sensitive)  1=Subject: (ignore case)\n"
 msgstr "#    0=subj (ÑƒÑ‡Ð¸Ñ‚Ñ‹Ð²Ð°Ñ‚ÑŒ Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€) 1=subj (Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€)\n"
 
-#: src/lang.c:163 src/lang.c:172
+#: src/lang.c:168 src/lang.c:177
 #, fuzzy
 msgid "#    2=From: (case sensitive)     3=From: (ignore case)\n"
 msgstr "#    2=from (ÑƒÑ‡Ð¸Ñ‚Ñ‹Ð²Ð°Ñ‚ÑŒ Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€) 3=from (Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€)\n"
 
-#: src/lang.c:164 src/lang.c:173
+#: src/lang.c:169 src/lang.c:178
 msgid "#    4=Message-ID: & full References: line\n"
 msgstr ""
 
-#: src/lang.c:165 src/lang.c:174
+#: src/lang.c:170 src/lang.c:179
 msgid "#    5=Message-ID: & last References: entry only\n"
 msgstr ""
 
-#: src/lang.c:166 src/lang.c:175
+#: src/lang.c:171 src/lang.c:180
 msgid "#    6=Message-ID: entry only     7=Lines:\n"
 msgstr ""
 
-#: src/lang.c:167
+#: src/lang.c:172
 msgid "#  quick_select_scope=STRING\n"
 msgstr "#  quick_select_scope=Ð¡Ð¢Ð ÐžÐšÐ\n"
 
-#: src/lang.c:168
+#: src/lang.c:173
 msgid "#  quick_select_expire=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:169
+#: src/lang.c:174
 msgid "#  quick_select_case=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:170
+#: src/lang.c:175
 msgid "#  quick_select_header=NUM\n"
 msgstr "#  quick_select_header=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:176
+#: src/lang.c:181
 #, fuzzy
 msgid "#  quote_chars=STRING (%I for initials)\n"
 msgstr "#  quote_chars=Ð¡Ð¢Ð ÐžÐšÐ (%I Ð´Ð»Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¾Ð²)\n"
 
-#: src/lang.c:178
+#: src/lang.c:183
 #, fuzzy
 msgid "#  print_header=ON/OFF\n"
 msgstr "#  thread_perc=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:180
+#: src/lang.c:185
 #, fuzzy
 msgid "#  process_only_unread=ON/OFF\n"
 msgstr "#  show_author=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:181
+#: src/lang.c:186
 #, fuzzy
 msgid "#  prompt_followupto=ON/OFF\n"
 msgstr "#  followup_to=Ð¡Ð¢Ð ÐžÐšÐ\n"
 
-#: src/lang.c:182
+#: src/lang.c:187
 msgid "#  savedir=STRING (eg. ~user/News)\n"
 msgstr "#  savedir=Ð¡Ð¢Ð ÐžÐšÐ (Ð½Ð°Ð¿Ñ€. ~user/News)\n"
 
-#: src/lang.c:183
+#: src/lang.c:188
 msgid "#  savefile=STRING (eg. =linux)\n"
 msgstr "#  savefile=Ð¡Ð¢Ð ÐžÐšÐ (Ð½Ð°Ð¿Ñ€. =linux)\n"
 
-#: src/lang.c:184
+#: src/lang.c:189
 msgid "#  sigfile=STRING (eg. $var/sig)\n"
 msgstr "#  sigfile=Ð¡Ð¢Ð ÐžÐšÐ (Ð½Ð°Ð¿Ñ€. $var/sig)\n"
 
-#: src/lang.c:185
+#: src/lang.c:190
 msgid "#  show_author=NUM\n"
 msgstr "#  show_author=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:186
+#: src/lang.c:191
 #, fuzzy
 msgid "#  show_signatures=ON/OFF\n"
 msgstr "#  show_author=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:187
+#: src/lang.c:192
 #, fuzzy
 msgid "#  show_art_score=ON/OFF\n"
 msgstr "#  show_author=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:189
+#: src/lang.c:194
 #, fuzzy
 msgid "#  suppress_soft_hyphens=ON/OFF\n"
 msgstr "#  show_author=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:191
+#: src/lang.c:196
 #, fuzzy
 msgid "#  show_only_unread_arts=ON/OFF\n"
 msgstr "#  show_author=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:192
+#: src/lang.c:197
 #, fuzzy
 msgid "#  sigdashes=ON/OFF\n"
 msgstr "#  show_author=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:193
+#: src/lang.c:198
 #, fuzzy
 msgid "#  signature_repost=ON/OFF\n"
 msgstr "#  show_author=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:194
+#: src/lang.c:199
 #, fuzzy
 msgid "#  sort_article_type=NUM\n"
 msgstr "#  sort_art_type=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:195
+#: src/lang.c:200
 msgid "#  sort_threads_type=NUM\n"
 msgstr "#  sort_threads_type=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:196
+#: src/lang.c:201
 msgid "#  tex2iso_conv=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:197
+#: src/lang.c:202
 msgid "#  thread_catchup_on_exit=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:198
+#: src/lang.c:203
 #, fuzzy
 msgid "#  thread_articles=NUM"
 msgstr "#  thread_arts=Ð§Ð˜Ð¡Ð›Ðž"
 
-#: src/lang.c:199
+#: src/lang.c:204
 msgid "#  thread_format=STRING (eg. %n %m [%L]  %T  %F)\n"
 msgstr ""
 
-#: src/lang.c:200
+#: src/lang.c:205
 msgid "#  thread_perc=NUM\n"
 msgstr "#  thread_perc=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:201
+#: src/lang.c:206
 msgid "#  trim_article_body=NUM\n"
 msgstr ""
 
-#: src/lang.c:202
+#: src/lang.c:207
 msgid "#    0 = Don't trim article body\n"
 msgstr ""
 
-#: src/lang.c:203
+#: src/lang.c:208
 msgid "#    1 = Skip leading blank lines\n"
 msgstr ""
 
-#: src/lang.c:204
+#: src/lang.c:209
 msgid "#    2 = Skip trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:205
+#: src/lang.c:210
 msgid "#    3 = Skip leading and trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:206
+#: src/lang.c:211
 msgid "#    4 = Compact multiple blank lines between text blocks\n"
 msgstr ""
 
-#: src/lang.c:207
+#: src/lang.c:212
 msgid ""
 "#    5 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading blank lines\n"
 msgstr ""
 
-#: src/lang.c:208
+#: src/lang.c:213
 msgid ""
 "#    6 = Compact multiple blank lines between text blocks and skip\n"
 "#        trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:209
+#: src/lang.c:214
 msgid ""
 "#    7 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading and trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:210
+#: src/lang.c:215
 msgid "#  verbatim_handling=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:212
+#: src/lang.c:217
 #, fuzzy
 msgid "#  extquote_handling=ON/OFF\n"
 msgstr "#  show_author=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:214
+#: src/lang.c:219
 #, fuzzy
 msgid "#  wrap_on_next_unread=ON/OFF\n"
 msgstr "#  show_author=Ð§Ð˜Ð¡Ð›Ðž\n"
 
-#: src/lang.c:215
+#: src/lang.c:220
 msgid "#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr "#  x_body=Ð¡Ð¢Ð ÐžÐšÐ (Ð½Ð°Ð¿Ñ€. ~/.tin/extra-body-text)\n"
 
-#: src/lang.c:216
+#: src/lang.c:221
 msgid "#  x_comment_to=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:217
+#: src/lang.c:222
 msgid "#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr "#  x_headers=Ð¡Ð¢Ð ÐžÐšÐ (Ð½Ð°Ð¿Ñ€. ~/.tin/extra-headers)\n"
 
-#: src/lang.c:218
+#: src/lang.c:223
 msgid ""
 "#\n"
 "# Note that it is best to put general (global scoping)\n"
 msgstr ""
 
-#: src/lang.c:219
+#: src/lang.c:224
 msgid ""
 "# entries first followed by group specific entries.\n"
 "#\n"
 msgstr ""
 
-#: src/lang.c:220
+#: src/lang.c:225
 msgid "############################################################################\n"
 msgstr ""
 
-#: src/lang.c:221
+#: src/lang.c:226
 #, fuzzy
 msgid "Attributes Menu Commands"
 msgstr "ÐšÐ¾Ð¼Ð°Ð½Ð´Ñ‹ ÑƒÑ€Ð¾Ð²Ð½Ñ ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:222
+#: src/lang.c:227
 #, c-format
 msgid "attribute with no scope: %s"
 msgstr ""
 
-#: src/lang.c:224
+#: src/lang.c:229
 #, c-format
 msgid "%d Authentication failed"
 msgstr "%d ÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ðµ ÑƒÐ´Ð°Ð»Ð°ÑÑŒ"
 
-#: src/lang.c:225
+#: src/lang.c:230
 #, c-format
 msgid "NNTP authorization password not found for %s"
 msgstr "ÐŸÐ°Ñ€Ð¾Ð»ÑŒ Ð°Ð²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ð¸ Ðº NNTP Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ð´Ð»Ñ %s"
 
-#: src/lang.c:226
+#: src/lang.c:231
 msgid "Server expects authentication.\n"
 msgstr "Ð¡ÐµÑ€Ð²ÐµÑ€ Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ‚ Ð°Ð²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸ÑŽ. \n"
 
-#: src/lang.c:227
+#: src/lang.c:232
 msgid "    Please enter password: "
 msgstr "    ÐŸÐ¾Ð¶Ð°Ð»ÑƒÐ¹ÑÑ‚Ð° Ð²Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ð¿Ð°Ñ€Ð¾Ð»ÑŒ: "
 
-#: src/lang.c:228
+#: src/lang.c:233
 msgid "    Please enter username: "
 msgstr "    ÐŸÐ¾Ð¶Ð°Ð»ÑƒÐ¹ÑÑ‚Ð° Ð²Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ð¸Ð¼Ñ: "
 
-#: src/lang.c:229
+#: src/lang.c:234
 #, c-format
 msgid "Authorized for user: %s\n"
 msgstr "ÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¾ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ: %s\n"
 
-#: src/lang.c:230
+#: src/lang.c:235
 #, c-format
 msgid "Authorization failed for user: %s\n"
 msgstr "ÐÐ²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ðµ ÑƒÐ´Ð°Ð»Ð°ÑÑŒ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ: %s\n"
 
-#: src/lang.c:232
+#: src/lang.c:236
+msgid "No supported authorization method available in current state!\n"
+msgstr ""
+
+#: src/lang.c:238
 #, c-format
 msgid "Author search backwards [%s]> "
 msgstr "ÐŸÐ¾Ð¸ÑÐº Ð°Ð²Ñ‚Ð¾Ñ€Ð° (Ð½Ð°Ð·Ð°Ð´)[%s]> "
 
-#: src/lang.c:233
+#: src/lang.c:239
 #, c-format
 msgid "Author search forwards [%s]> "
 msgstr "ÐŸÐ¾Ð¸ÑÐº Ð°Ð²Ñ‚Ð¾Ñ€Ð° (Ð²Ð¿ÐµÑ€Ñ‘Ð´)[%s]> "
 
-#: src/lang.c:234
+#: src/lang.c:240
 #, c-format
 msgid ""
 "\n"
@@ -745,189 +759,195 @@ msgstr ""
 "\n"
 "ÐŸÐ¾Ð´Ð¿Ð¸ÑÐ°Ð½ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑÐºÐ¸ Ð½Ð° %s"
 
-#: src/lang.c:235
+#: src/lang.c:241
 msgid "Autosubscribing groups...\n"
 msgstr "ÐÐ²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑÐºÐ°Ñ Ð¿Ð¾Ð´Ð¿Ð¸ÑÐºÐ° Ð½Ð° Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹...\n"
 
-#: src/lang.c:236
+#: src/lang.c:242
 #, c-format
 msgid "Autoselecting articles (use '%s' to see all unread) ..."
 msgstr ""
 "ÐÐ²Ñ‚Ð¾Ð¼Ð°Ñ‚. Ð²Ñ‹Ð±Ð¾Ñ€ ÑÑ‚Ð°Ñ‚ÐµÐ¹ (Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ '%s' Ð´Ð»Ñ Ð¿Ñ€Ð¾ÑÐ¼Ð¾Ñ‚Ñ€Ð° Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ñ…) ..."
 
-#: src/lang.c:238
+#: src/lang.c:244
 #, c-format
 msgid ""
 "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ Ñ Ð¾ÑˆÐ¸Ð±./Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€. %s=Ð²Ñ‹Ñ…Ð¾Ð´, %s=Ð¼ÐµÐ½ÑŽ, %s=Ñ€ÐµÐ´Ð°ÐºÑ‚.: "
 
-#: src/lang.c:239
+#: src/lang.c:246
 #, c-format
 msgid "Unrecognized attribute: %s"
 msgstr "ÐÐµÑ€Ð°ÑÐ¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚: %s"
 
-#: src/lang.c:240
+#: src/lang.c:248
 #, c-format
 msgid "Bad command. Type '%s' for help."
 msgstr "ÐžÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°. ÐÐ°Ð±ÐµÑ€Ð¸Ñ‚Ðµ '%s' Ð´Ð»Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰Ð¸."
 
-#: src/lang.c:242
+#: src/lang.c:249
 msgid "Base article"
 msgstr "ÐžÑÐ½Ð¾Ð²Ð½Ð°Ñ ÑÑ‚Ð°Ñ‚ÑŒÑ"
 
-#: src/lang.c:243
+#: src/lang.c:250
 msgid "Base article range"
 msgstr "Ð”Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ Ð¾ÑÐ½Ð¾Ð²Ð½Ð¾Ð¹ ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:244
+#: src/lang.c:251
 #, fuzzy, c-format
 msgid "%s: Updating of index files not supported: cache_overview_files=%s"
 msgstr "%s: ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ðµ Ð¸Ð½Ð´ÐµÐºÑÐ° Ñ„Ð°Ð¹Ð»Ð¾Ð² Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ÑÑ\n"
 
-#: src/lang.c:245
+#: src/lang.c:252
 msgid "*** Beginning of article ***"
 msgstr "*** ÐÐ°Ñ‡Ð°Ð»Ð¾ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ ***"
 
-#: src/lang.c:246
+#: src/lang.c:253
 #, fuzzy
 msgid "*** Beginning of page ***"
 msgstr "*** ÐÐ°Ñ‡Ð°Ð»Ð¾ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ ***"
 
-#: src/lang.c:248
-msgid "bytes"
-msgstr "Ð±Ð°Ð¹Ñ‚"
-
-#: src/lang.c:251
+#: src/lang.c:255
 #, c-format
 msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr ""
 "ÐžÑ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ (ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ) Ð¸Ð»Ð¸ Ð·Ð°Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ (Ð¿ÐµÑ€ÐµÐ¿Ð¸ÑÐ°Ñ‚ÑŒ) ÑÑ‚Ð°Ñ‚ÑŒÑŽ [%%s]? (%s/%s/%s): "
 
-#: src/lang.c:252
+#: src/lang.c:256
 msgid "Cancelling article..."
 msgstr "ÐžÑ‚Ð¼ÐµÐ½Ð° ÑÑ‚Ð°Ñ‚ÑŒÐ¸..."
 
-#: src/lang.c:254
+#: src/lang.c:258
 #, c-format
 msgid "Cannot create %s"
 msgstr "ÐÐµ Ð¼Ð¾Ð³Ñƒ ÑÐ¾Ð·Ð´Ð°Ñ‚ÑŒ %s"
 
-#: src/lang.c:257
+#: src/lang.c:261
 #, c-format
 msgid "Can't find base article %d"
 msgstr "ÐÐµ Ð¼Ð¾Ð³Ñƒ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¾ÑÐ½Ð¾Ð²Ð½ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ %d"
 
-#: src/lang.c:259
+#: src/lang.c:263
 #, c-format
 msgid "Can't open %s"
 msgstr "ÐÐµ Ð¼Ð¾Ð³Ñƒ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ %s"
 
-#: src/lang.c:260
+#: src/lang.c:264
 #, c-format
 msgid "Couldn't open %s for saving"
 msgstr "ÐÐµ Ð¼Ð¾Ð³Ñƒ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ %s Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸ÑÐ¸"
 
-#: src/lang.c:261
+#: src/lang.c:265
 msgid "*** Posting not allowed ***"
 msgstr "*** ÐžÑ‚Ð¿Ñ€Ð°Ð²ÐºÐ° Ð·Ð°Ð¿Ñ€ÐµÑ‰ÐµÐ½Ð° ***"
 
-#: src/lang.c:262
+#: src/lang.c:266
 #, c-format
 msgid "Posting is not allowed to %s"
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²ÐºÐ° Ð·Ð°Ð¿Ñ€ÐµÑ‰ÐµÐ½Ð° Ð² %s"
 
-#: src/lang.c:264
+#: src/lang.c:268
 #, c-format
 msgid "Can't retrieve %s"
 msgstr "ÐÐµ Ð¼Ð¾Ð³Ñƒ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ %s"
 
-#: src/lang.c:266
+#: src/lang.c:270
 msgid "Can't supersede in mailgroups, try repost instead."
 msgstr ""
 
-#: src/lang.c:267
+#: src/lang.c:271
 #, c-format
 msgid "%s is a directory"
 msgstr "%s - Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ"
 
-#: src/lang.c:268
+#: src/lang.c:272
 msgid "Catchup"
 msgstr "Ð—Ð°Ñ…Ð²Ð°Ñ‚"
 
-#: src/lang.c:269
+#: src/lang.c:273
 #, c-format
 msgid "Catchup %s..."
 msgstr "Ð—Ð°Ñ…Ð²Ð°Ñ‚ %s..."
 
-#: src/lang.c:270
+#: src/lang.c:274
 msgid "Catchup all groups entered during this session?"
 msgstr "Ð—Ð°Ñ…Ð²Ð°Ñ‚Ð¸Ñ‚ÑŒ Ð²ÑÐµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð¿Ð¾ÑÐµÑ‰Ñ‘Ð½Ð½Ñ‹Ðµ Ð² ÑÑ‚Ð¾Ð¹ ÑÐµÑÑÐ¸Ð¸?"
 
-#: src/lang.c:271
+#: src/lang.c:275
 msgid "You have tagged articles in this group - catchup anyway?"
 msgstr "Ð’Ñ‹ Ð¿Ð¾Ð¼ÐµÑ‚Ð¸Ð»Ð¸ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ðµ - Ð·Ð°Ñ…Ð²Ð°Ñ‚Ð¸Ñ‚ÑŒ Ð½ÐµÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° ÑÑ‚Ð¾?"
 
-#: src/lang.c:272
+#: src/lang.c:276
 #, c-format
 msgid "%s %d %s in %lu seconds\n"
 msgstr "%s %d %s Ð² %lu ÑÐµÐºÑƒÐ½Ð´\n"
 
-#: src/lang.c:273
+#: src/lang.c:277
 msgid "Caughtup"
 msgstr "Ð—Ð°Ñ…Ð²Ð°Ñ‡ÐµÐ½Ð¾"
 
-#: src/lang.c:274
+#: src/lang.c:278
 msgid "Check Prepared Article"
 msgstr "ÐŸÑ€Ð¾Ð²ÐµÑ€Ð¸Ñ‚ÑŒ Ð¿Ñ€Ð¸Ð³Ð¾Ñ‚Ð¾Ð²Ð»ÐµÐ½Ð½ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ"
 
-#: src/lang.c:275
+#: src/lang.c:279
 msgid "Checking for new groups... "
 msgstr "ÐŸÐ¾Ð¸ÑÐº Ð½Ð¾Ð²Ñ‹Ñ… Ð³Ñ€ÑƒÐ¿Ð¿... "
 
-#: src/lang.c:276
+#: src/lang.c:280
 #, fuzzy
 msgid "Checking for news...\n"
 msgstr "ÐŸÑ€Ð¾Ð²ÐµÑ€ÐºÐ° Ð½Ð¾Ð²Ð¾ÑÑ‚ÐµÐ¹..."
 
-#: src/lang.c:277
+#: src/lang.c:281
 #, c-format
 msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr "ÐŸÐ¾ÑÑ‚-Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° %s=Ð½ÐµÑ‚, %s=Ð´Ð°, %s=shar, %s=Ð²Ñ‹Ñ…Ð¾Ð´:"
 
-#: src/lang.c:279
+#: src/lang.c:283
 msgid "ANSI color disabled"
 msgstr "Ð’Ñ‹ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ Ñ†Ð²ÐµÑ‚Ð° ANSI"
 
-#: src/lang.c:280
+#: src/lang.c:284
 msgid "ANSI color enabled"
 msgstr "Ð’ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ Ñ†Ð²ÐµÑ‚Ð° ANSI"
 
-#: src/lang.c:282
+#: src/lang.c:286
 #, c-format
 msgid "Command failed: %s"
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ: %s"
 
-#: src/lang.c:284
+#: src/lang.c:288
 msgid "Mark not selected articles read?"
 msgstr "ÐŸÐ¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ð½ÐµÐ¾Ñ‚Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ?"
 
-#: src/lang.c:285
+#: src/lang.c:289
 #, fuzzy
 msgid "Connection Info"
 msgstr ""
 "\n"
 "Ð¡Ð¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ Ñ %s: "
 
-#: src/lang.c:286
+#: src/lang.c:290
 msgid "Reading from local spool.\n"
 msgstr ""
 
-#: src/lang.c:287
+#: src/lang.c:291
 #, fuzzy
 msgid "Reading saved news.\n"
 msgstr "ÐŸÐµÑ€ÐµÑ‡Ð¸Ñ‚Ñ‹Ð²Ð°ÑŽ %s..."
 
-#: src/lang.c:295
+#: src/lang.c:292
+#, fuzzy
+msgid ""
+"\n"
+"Configuration files:\n"
+"--------------------\n"
+msgstr ""
+"ÐŸÐ¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ ÑÐ²Ð¾Ð¹ÑÑ‚Ð²Ð°\n"
+"-----------------"
+
+#: src/lang.c:300
 #, fuzzy
 msgid ""
 "\n"
@@ -937,11 +957,11 @@ msgstr ""
 "ÐŸÐ¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ ÑÐ²Ð¾Ð¹ÑÑ‚Ð²Ð°\n"
 "-----------------"
 
-#: src/lang.c:300
+#: src/lang.c:305
 msgid "COMPRESS      :"
 msgstr ""
 
-#: src/lang.c:301
+#: src/lang.c:306
 #, fuzzy
 msgid ""
 "\n"
@@ -951,82 +971,87 @@ msgstr ""
 "ÐŸÐ¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ ÑÐ²Ð¾Ð¹ÑÑ‚Ð²Ð°\n"
 "-----------------"
 
-#: src/lang.c:303
+#: src/lang.c:308
 #, c-format
 msgid " DEFLATE %s\n"
 msgstr ""
 
-#: src/lang.c:304
+#: src/lang.c:309
 msgid "(enabled)"
 msgstr ""
 
-#: src/lang.c:305
+#: src/lang.c:310
 msgid "(inactive)"
 msgstr ""
 
-#: src/lang.c:307
+#: src/lang.c:312
 msgid " DEFLATE (not supported)\n"
 msgstr ""
 
-#: src/lang.c:310
+#: src/lang.c:315
 msgid "(disabled)"
 msgstr ""
 
-#: src/lang.c:311
+#: src/lang.c:316
 #, c-format
 msgid "NNTP TIMEOUT  : %d seconds %s\n"
 msgstr ""
 
-#: src/lang.c:313
+#: src/lang.c:318
 #, c-format
 msgid "IMPLEMENTATION: %s\n"
 msgstr ""
 
-#: src/lang.c:315
+#: src/lang.c:320
 #, c-format
 msgid "MAXARTNUM     : %s\n"
 msgstr ""
 
-#: src/lang.c:317
+#: src/lang.c:322
 #, fuzzy, c-format
 msgid "Reading via NNTP (%s).\n"
 msgstr "ÐŸÐµÑ€ÐµÑ‡Ð¸Ñ‚Ñ‹Ð²Ð°ÑŽ %s..."
 
-#: src/lang.c:318
+#: src/lang.c:323
 #, c-format
 msgid "NNTPPORT      : %u\n"
 msgstr ""
 
-#: src/lang.c:319
+#: src/lang.c:324
 #, fuzzy
 msgid "read only"
 msgstr "Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð¾ "
 
-#: src/lang.c:320
+#: src/lang.c:325
 msgid "read/write"
 msgstr ""
 
-#: src/lang.c:321
+#: src/lang.c:326
 #, c-format
 msgid "NNTPSERVER    : %s\n"
 msgstr ""
 
-#: src/lang.c:323
+#: src/lang.c:327
+#, c-format
+msgid "CONNECTIONTYPE: %s\n"
+msgstr ""
+
+#: src/lang.c:329
 #, c-format
 msgid "Reading %s via NNTPS (%s; "
 msgstr ""
 
-#: src/lang.c:325
+#: src/lang.c:330
 #, fuzzy, c-format
 msgid "Certificate #%d\n"
 msgstr "Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ„Ð°Ð¹Ð» Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°"
 
-#: src/lang.c:327
+#: src/lang.c:332
 #, c-format
 msgid "Issuer : %s\n"
 msgstr ""
 
-#: src/lang.c:328
+#: src/lang.c:333
 #, fuzzy
 msgid ""
 "\n"
@@ -1036,12 +1061,12 @@ msgstr ""
 "ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ð¸ Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð°Ð¼Ð¸/Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑÐ¼/ÑÑ‚Ð°Ñ‚ÑŒÑÐ¼Ð¸\n"
 "---------------------------------------"
 
-#: src/lang.c:329
+#: src/lang.c:334
 #, fuzzy, c-format
 msgid "Subject: %s\n"
 msgstr "Ð¢ÐµÐ¼Ð°"
 
-#: src/lang.c:330
+#: src/lang.c:335
 #, fuzzy
 msgid ""
 "\n"
@@ -1051,144 +1076,150 @@ msgstr ""
 "ÐŸÐ¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ ÑÐ²Ð¾Ð¹ÑÑ‚Ð²Ð°\n"
 "-----------------"
 
-#: src/lang.c:333
+#: src/lang.c:336
+msgid "trusted"
+msgstr ""
+
+#: src/lang.c:337
+msgid "untrusted"
+msgstr ""
+
+#: src/lang.c:339
 msgid "UNEXPECTED, possible BUG"
 msgstr ""
 
-#: src/lang.c:334
+#: src/lang.c:340
 msgid "tolerated as \"-k\" (insecure) requested"
 msgstr ""
 
-#: src/lang.c:335
+#: src/lang.c:341
 #, c-format
 msgid ""
 "Server certificate verification FAILED:\n"
 "\t%s (%s)\n"
 msgstr ""
 
-#: src/lang.c:336
+#: src/lang.c:342
 #, fuzzy
 msgid "Server certificate verified successfully.\n"
 msgstr "newsrc Ñ„Ð°Ð¹Ð» ÑƒÑÐ¿ÐµÑˆÐ½Ð¾ ÑÐ¾Ñ…Ñ€Ð°Ð½Ñ‘Ð½.\n"
 
-#: src/lang.c:338
-msgid "trusted"
-msgstr ""
-
-#: src/lang.c:339
-msgid "untrusted"
-msgstr ""
-
-#: src/lang.c:342
+#: src/lang.c:346
 msgid "Server certificate verification FAILED: <can't get reason>\n"
 msgstr ""
 
-#: src/lang.c:346
+#: src/lang.c:350
 #, c-format
 msgid "%s %s (strength %d)\n"
 msgstr ""
 
-#: src/lang.c:353
+#: src/lang.c:357
 #, fuzzy, c-format
 msgid "Cook article failed, %s is exiting"
 msgstr "ÑÐºÑ€Ð°Ð½ ÑÐ»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð», %s Ð²Ñ‹Ñ…Ð¾Ð´\n"
 
-#: src/lang.c:354
+#: src/lang.c:358
 msgid "<CR>"
 msgstr ""
 
-#: src/lang.c:355
+#: src/lang.c:359
 msgid "Creating active file for saved groups...\n"
 msgstr "Ð¡Ð¾Ð·Ð´Ð°Ð½Ð¸Ðµ Ñ„Ð°Ð¹Ð»Ð° active Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€. Ð³Ñ€ÑƒÐ¿Ð¿...\n"
 
-#: src/lang.c:356
-msgid "Creating newsrc file...\n"
+#: src/lang.c:360
+#, fuzzy, c-format
+msgid "Creating %s file...\n"
 msgstr "Ð¡Ð¾Ð·Ð´Ð°Ð½Ð¸Ðµ Ñ„Ð°Ð¹Ð»Ð° newsrc...\n"
 
-#: src/lang.c:358 src/lang.c:1666 src/lang.c:1686
+#: src/lang.c:362 src/lang.c:1715 src/lang.c:1735
 msgid "Default"
 msgstr "ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ"
 
-#: src/lang.c:359
+#: src/lang.c:363
 msgid "Delete saved files that have been post processed?"
 msgstr "Ð£Ð´Ð°Ð»Ð¸Ñ‚ÑŒ ÑÐ¾Ñ…Ñ€Ð°Ð½Ñ‘Ð½Ð½Ñ‹Ðµ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ðµ Ñ„Ð°Ð¹Ð»Ñ‹?"
 
-#: src/lang.c:360
+#: src/lang.c:364
 msgid "Deleting temporary files..."
 msgstr "Ð£Ð´Ð°Ð»ÐµÐ½Ð¸Ðµ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð¾Ð²..."
 
-#: src/lang.c:362
+#: src/lang.c:366
 msgid "*** End of article ***"
 msgstr "*** ÐšÐ¾Ð½ÐµÑ† ÑÑ‚Ð°Ñ‚ÑŒÐ¸ ***"
 
-#: src/lang.c:363
+#: src/lang.c:367
 msgid "*** End of articles ***"
 msgstr "*** ÐšÐ¾Ð½ÐµÑ† ÑÑ‚Ð°Ñ‚ÐµÐ¹ ***"
 
-#: src/lang.c:364
+#: src/lang.c:368
 #, fuzzy
 msgid "*** End of attachments ***"
 msgstr "*** ÐšÐ¾Ð½ÐµÑ† ÑÑ‚Ð°Ñ‚ÐµÐ¹ ***"
 
-#: src/lang.c:365
+#: src/lang.c:369
 msgid "*** End of groups ***"
 msgstr "*** ÐšÐ¾Ð½ÐµÑ† Ð³Ñ€ÑƒÐ¿Ð¿ ***"
 
-#: src/lang.c:366
+#: src/lang.c:370
 #, fuzzy
 msgid "*** End of page ***"
 msgstr "*** ÐšÐ¾Ð½ÐµÑ† ÑÑ‚Ð°Ñ‚ÑŒÐ¸ ***"
 
-#: src/lang.c:367
+#: src/lang.c:371
 #, fuzzy
 msgid "*** End of posted articles ***"
 msgstr "*** ÐšÐ¾Ð½ÐµÑ† ÑÑ‚Ð°Ñ‚ÐµÐ¹ ***"
 
-#: src/lang.c:368
+#: src/lang.c:372
 #, fuzzy
 msgid "*** End of scopes ***"
 msgstr "*** ÐšÐ¾Ð½ÐµÑ† Ð³Ñ€ÑƒÐ¿Ð¿ ***"
 
-#: src/lang.c:369
+#: src/lang.c:373
 msgid "*** End of thread ***"
 msgstr "*** ÐšÐ¾Ð½ÐµÑ† Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¸ ***"
 
-#: src/lang.c:370
+#: src/lang.c:374
 #, fuzzy
 msgid "*** End of URLs ***"
 msgstr "*** ÐšÐ¾Ð½ÐµÑ† Ð³Ñ€ÑƒÐ¿Ð¿ ***"
 
-#: src/lang.c:371
+#: src/lang.c:375
 msgid "Enter limit of articles to get> "
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ð¿Ñ€ÐµÐ´ÐµÐ» Ð¿Ð¾Ð»ÑƒÑ‡Ð°ÐµÐ¼Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹> "
 
-#: src/lang.c:372
+#: src/lang.c:376
 msgid "Enter Message-ID to go to> "
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Message-ID Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð°> "
 
-#: src/lang.c:373
+#: src/lang.c:377
 msgid " and enter next unread thread"
 msgstr " Ð¸ Ð²Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÑÐ»ÐµÐ´ÑƒÑŽÑ‰ÑƒÑŽ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½ÑƒÑŽ Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑŽ"
 
-#: src/lang.c:374
+#: src/lang.c:378
 #, fuzzy
 msgid " and enter next unread article"
 msgstr " Ð¸ Ð²Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÑÐ»ÐµÐ´ÑƒÑŽÑ‰ÑƒÑŽ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½ÑƒÑŽ Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑŽ"
 
-#: src/lang.c:375
+#: src/lang.c:379
 msgid " and enter next unread group"
 msgstr " Ð¸ Ð²Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÑÐ»ÐµÐ´ÑƒÑŽÑ‰ÑƒÑŽ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½ÑƒÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ"
 
-#: src/lang.c:376
+#: src/lang.c:380
 msgid "Enter option number> "
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ð½Ð¾Ð¼ÐµÑ€ Ð¾Ð¿Ñ†Ð¸Ð¸> "
 
-#: src/lang.c:377
+#: src/lang.c:381
 #, c-format
 msgid "Enter range [%s]> "
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ [%s]> "
 
-#: src/lang.c:378
+#: src/lang.c:382
+#, fuzzy, c-format
+msgid "Error: Could not appended %s to %s"
+msgstr "ÐžÑˆÐ¸Ð±ÐºÐ°: Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ñ‚ÑŒ %s Ð² %s"
+
+#: src/lang.c:383
 msgid ""
 "\n"
 "Warning: Approved: header used.\n"
@@ -1196,23 +1227,31 @@ msgstr ""
 "\n"
 "Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Approved:.\n"
 
-#: src/lang.c:382
-msgid ""
-"\n"
-"Error: Bad address in Approved: header.\n"
+#: src/lang.c:384
+#, c-format
+msgid "  Line %d: \"%s\": given string too long.\n"
 msgstr ""
-"\n"
-"ÐžÑˆÐ¸Ð±ÐºÐ°: ÐÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Approved:.\n"
 
-#: src/lang.c:383
+#: src/lang.c:385
+#, fuzzy, c-format
+msgid "  Line %d: \"%s\": unrecognized attribute.\n"
+msgstr "ÐÐµÑ€Ð°ÑÐ¿Ð¾Ð·Ð½Ð°Ð½Ð½Ñ‹Ð¹ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚: %s"
+
+#: src/lang.c:386
+#, c-format
+msgid "  Line %d: \"%s\": malformed line, '=' missing.\n"
+msgstr ""
+
+#: src/lang.c:390
+#, fuzzy, c-format
 msgid ""
 "\n"
-"Error: Bad address in From: header.\n"
+"Error: Bad address in \"%s\" header.\n"
 msgstr ""
 "\n"
 "ÐžÑˆÐ¸Ð±ÐºÐ°: ÐÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ From:.\n"
 
-#: src/lang.c:384
+#: src/lang.c:391
 msgid ""
 "\n"
 "Error: Bad FQDN in Message-ID: header.\n"
@@ -1220,56 +1259,58 @@ msgstr ""
 "\n"
 "ÐžÑˆÐ¸Ð±ÐºÐ°: ÐÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ FQDN Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Message-ID:.\n"
 
-#: src/lang.c:385
-msgid ""
-"\n"
-"Error: Bad address in Reply-To: header.\n"
-msgstr ""
-"\n"
-"ÐžÑˆÐ¸Ð±ÐºÐ°: ÐÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Reply-To:.\n"
-
-#: src/lang.c:386
-#, fuzzy
-msgid ""
-"\n"
-"Error: Bad address in To: header.\n"
-msgstr ""
-"\n"
-"ÐžÑˆÐ¸Ð±ÐºÐ°: ÐÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ From:.\n"
+#: src/lang.c:393
+#, fuzzy, c-format
+msgid "Can't use literal IPv%d-address %s with TLS (-T)"
+msgstr "ÐÐµÑ‚ Ð°Ð´Ñ€ÐµÑÐ° email"
 
-#: src/lang.c:388
+#: src/lang.c:396
 #, c-format
 msgid "Can't unlock %s"
 msgstr "ÐÐµ Ð¼Ð¾Ð³Ñƒ Ñ€Ð°Ð·Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ %s"
 
-#: src/lang.c:389
+#: src/lang.c:397
 #, c-format
 msgid "Couldn't dotlock %s - article not appended!"
 msgstr "ÐÐµ Ð¼Ð¾Ð³Ñƒ dotlock %s - ÑÑ‚Ð°Ñ‚ÑŒÑ Ð½Ðµ Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ð»ÐµÐ½Ð°!"
 
-#: src/lang.c:390
+#: src/lang.c:398
 #, c-format
 msgid "Couldn't lock %s - article not appended!"
 msgstr "ÐÐµ Ð¼Ð¾Ð³Ñƒ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ %s - ÑÑ‚Ð°Ñ‚ÑŒÑ Ð½Ðµ Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ð»ÐµÐ½Ð°!"
 
-#: src/lang.c:393
+#: src/lang.c:401
 #, c-format
 msgid ""
 "Server requires authentication but compression (-C) is already active.\n"
 "Restart %s with -A cmd.-line switch in conjunction with -C.\n"
 msgstr ""
 
-#: src/lang.c:396
+#: src/lang.c:404
 #, c-format
 msgid "Corrupted file %s"
 msgstr "ÐŸÐ¾Ð²Ñ€ÐµÐ¶Ð´ÐµÐ½Ð½Ñ‹Ð¹ Ñ„Ð°Ð¹Ð» %s"
 
-#: src/lang.c:397
+#: src/lang.c:406
 #, c-format
 msgid "couldn't expand %s\n"
 msgstr "Ð½Ðµ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ð»Ð¾ÑÑŒ Ñ€Ð°ÑÐºÑ€Ñ‹Ñ‚ÑŒ %s\n"
 
-#: src/lang.c:399
+#: src/lang.c:408
+#, c-format
+msgid "Error: Custom format empty. Using default \"%s\"."
+msgstr ""
+
+#: src/lang.c:409
+#, fuzzy
+msgid ""
+"\n"
+"Error: Article is empty.\n"
+msgstr ""
+"\n"
+"ÐžÑˆÐ¸Ð±ÐºÐ°: ÐŸÑƒcÑ‚Ð°Ñ ÑÑ‚Ñ€Ð¾ÐºÐ° \"%s:\".\n"
+
+#: src/lang.c:411
 #, fuzzy
 msgid ""
 "\n"
@@ -1278,36 +1319,41 @@ msgstr ""
 "\n"
 "ÐžÑˆÐ¸Ð±ÐºÐ°: Followup-To ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½ Ð½Ð° Ð±Ð¾Ð»ÑŒÑˆÐµ Ñ‡ÐµÐ¼ Ð¾Ð´Ð½Ñƒ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ!\n"
 
-#: src/lang.c:400
+#: src/lang.c:412
 #, c-format
 msgid "Error: Custom format exceeds screen width. Using default \"%s\"."
 msgstr ""
 
-#: src/lang.c:401
+#: src/lang.c:413
 msgid "Internal error in GNKSA routine - send bug report.\n"
 msgstr "Ð’Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð² Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ GNKSA - Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÑŒÑ‚Ðµ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ Ð¾Ð± Ð¾ÑˆÐ¸Ð±ÐºÐµ.\n"
 
-#: src/lang.c:402
+#: src/lang.c:414
 msgid "Left angle bracket missing in route address.\n"
 msgstr "Ð’ Ð°Ð´Ñ€ÐµÑÐµ Ð¿Ñ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð° Ð»ÐµÐ²Ð°Ñ ÑƒÐ³Ð»Ð¾Ð²Ð°Ñ ÑÐºÐ¾Ð±ÐºÐ°.\n"
 
-#: src/lang.c:403
+#: src/lang.c:415
 msgid "Left parenthesis missing in old-style address.\n"
 msgstr "Ð’ Ð°Ð´Ñ€ÐµÑÐµ ÑÑ‚Ð°Ñ€Ð¾Ð³Ð¾ ÑÑ‚Ð¸Ð»Ñ Ð¿Ñ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð° Ð»ÐµÐ²Ð°Ñ ÐºÑ€ÑƒÐ³Ð»Ð°Ñ ÑÐºÐ¾Ð±ÐºÐ°.\n"
 
-#: src/lang.c:404
+#: src/lang.c:416
 msgid "Right parenthesis missing in old-style address.\n"
 msgstr "Ð’ Ð°Ð´Ñ€ÐµÑÐµ ÑÑ‚Ð°Ñ€Ð¾Ð³Ð¾ ÑÑ‚Ð¸Ð»Ñ Ð¿Ñ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð° Ð¿Ñ€Ð°Ð²Ð°Ñ ÐºÑ€ÑƒÐ³Ð»Ð°Ñ ÑÐºÐ¾Ð±ÐºÐ°.\n"
 
-#: src/lang.c:405
+#: src/lang.c:417
 msgid "At-sign missing in mail address.\n"
 msgstr "Ð’ Ð¿Ð¾Ñ‡Ñ‚Ð¾Ð²Ð¾Ð¼ Ð°Ð´Ñ€ÐµÑÐµ Ð¿Ñ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½ Ð·Ð½Ð°Ðº '@'.\n"
 
-#: src/lang.c:406
+#: src/lang.c:418
+#, fuzzy
+msgid "Right angle bracket missing in route address.\n"
+msgstr "Ð’ Ð°Ð´Ñ€ÐµÑÐµ Ð¿Ñ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð° Ð»ÐµÐ²Ð°Ñ ÑƒÐ³Ð»Ð¾Ð²Ð°Ñ ÑÐºÐ¾Ð±ÐºÐ°.\n"
+
+#: src/lang.c:419
 msgid "Single component FQDN is not allowed. Add your domain.\n"
 msgstr "Ð•Ð´Ð¸Ð½ÑÑ‚Ð²ÐµÐ½Ð½Ñ‹Ð¹ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚ FQDN Ð½ÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼. Ð”Ð¾Ð±Ð°Ð²ÑŒÑ‚Ðµ Ð²Ð°Ñˆ Ð´Ð¾Ð¼ÐµÐ½.\n"
 
-#: src/lang.c:407
+#: src/lang.c:420
 msgid ""
 "Invalid domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1315,7 +1361,7 @@ msgstr ""
 "ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹ Ð´Ð¾Ð¼ÐµÐ½. ÐžÑ‚Ð¿Ñ€Ð°Ð²ÑŒÑ‚Ðµ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ Ð¾Ð± Ð¾ÑˆÐ¸Ð±ÐºÐµ, ÐµÑÐ»Ð¸ Ð´Ð¾Ð¼ÐµÐ½ ÑÑƒÑ‰ÐµÑÑ‚Ð²ÑƒÐµÑ‚.\n"
 "Ð˜ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ .invalid ÐºÐ°Ðº Ð´Ð¾Ð¼ÐµÐ½ 1 ÑƒÑ€Ð¾Ð²Ð½Ñ Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ñ€Ñ‡ÐµÐ½Ð½Ñ‹Ñ… Ð°Ð´Ñ€ÐµÑÐ¾Ð².\n"
 
-#: src/lang.c:408
+#: src/lang.c:421
 msgid ""
 "Illegal domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1323,7 +1369,7 @@ msgstr ""
 "ÐÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ñ‹Ð¹ Ð´Ð¾Ð¼ÐµÐ½. ÐžÑ‚Ð¿Ñ€Ð°Ð²ÑŒÑ‚Ðµ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ Ð¾Ð± Ð¾ÑˆÐ¸Ð±ÐºÐµ ÐµÑÐ»Ð¸ Ð´Ð¾Ð¼ÐµÐ½ ÑÑƒÑ‰ÐµÑÑ‚Ð²ÑƒÐµÑ‚.\n"
 "Ð˜ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ .invalid ÐºÐ°Ðº Ð´Ð¾Ð¼ÐµÐ½ 1 ÑƒÑ€Ð¾Ð²Ð½Ñ Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ñ€Ñ‡ÐµÐ½Ð½Ñ‹Ñ… Ð°Ð´Ñ€ÐµÑÐ¾Ð².\n"
 
-#: src/lang.c:409
+#: src/lang.c:422
 msgid ""
 "Unknown domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1331,52 +1377,52 @@ msgstr ""
 "ÐÐµÐ¸Ð·Ð²ÐµÑÑ‚Ð½Ñ‹Ð¹ Ð´Ð¾Ð¼ÐµÐ½. ÐžÑ‚Ð¿Ñ€Ð°Ð²ÑŒÑ‚Ðµ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ Ð¾Ð± Ð¾ÑˆÐ¸Ð±ÐºÐµ ÐµÑÐ»Ð¸ Ð´Ð¾Ð¼ÐµÐ½ ÑÑƒÑ‰ÐµÑÑ‚Ð²ÑƒÐµÑ‚.\n"
 "Ð˜ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ .invalid ÐºÐ°Ðº Ð´Ð¾Ð¼ÐµÐ½ 1 ÑƒÑ€Ð¾Ð²Ð½Ñ Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ñ€Ñ‡ÐµÐ½Ð½Ñ‹Ñ… Ð°Ð´Ñ€ÐµÑÐ¾Ð².\n"
 
-#: src/lang.c:410
+#: src/lang.c:423
 msgid "Illegal character in FQDN.\n"
 msgstr "ÐÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ñ‹Ð¹ Ð·Ð½Ð°Ðº Ð² FQDN.\n"
 
-#: src/lang.c:411
+#: src/lang.c:424
 msgid "Zero length FQDN component not allowed.\n"
 msgstr "ÐÑƒÐ»ÐµÐ²Ð°Ñ Ð´Ð»Ð¸Ð½Ð° ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð° FQDN Ð½ÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ð°.\n"
 
-#: src/lang.c:412
+#: src/lang.c:425
 msgid "FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr "ÐšÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚ FQDN Ð¿Ñ€ÐµÐ²Ñ‹ÑˆÐ°ÐµÑ‚ Ð¼Ð°ÐºÑ. Ð´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼ÑƒÑŽ Ð´Ð»Ð¸Ð½Ñƒ (63 Ð·Ð½Ð°ÐºÐ°).\n"
 
-#: src/lang.c:413
+#: src/lang.c:426
 msgid "FQDN component may not start or end with hyphen.\n"
 msgstr "ÐšÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚ FQDN Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ‚ÑŒÑÑ Ð¸Ð»Ð¸ Ð·Ð°ÐºÐ°Ð½Ñ‡Ð¸Ð²Ð°Ñ‚ÑŒÑÑ Ð´ÐµÑ„Ð¸ÑÐ¾Ð¼.\n"
 
-#: src/lang.c:414
+#: src/lang.c:427
 msgid "FQDN component may not start with digit.\n"
 msgstr "ÐšÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚ FQDN Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ‚ÑŒÑÑ Ñ Ñ†Ð¸Ñ„Ñ€Ñ‹.\n"
 
-#: src/lang.c:415
+#: src/lang.c:428
 msgid "Domain literal has impossible numeric value.\n"
 msgstr "Ð’ Ð·Ð½Ð°ÐºÐµ Ð´Ð¾Ð¼ÐµÐ½Ð° Ð½ÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ñ‹Ð¹ Ñ†Ð¸Ñ„Ñ€Ð¾Ð²Ð¾Ð¹ Ð·Ð½Ð°Ðº.\n"
 
-#: src/lang.c:416
+#: src/lang.c:429
 msgid ""
 "Domain literal is for private use only and not allowed for global use.\n"
 msgstr "Ð—Ð½Ð°Ðº Ð´Ð¾Ð¼ÐµÐ½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ñ‡Ð°ÑÑ‚Ð½Ð¾Ð³Ð¾ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼.\n"
 
-#: src/lang.c:417
+#: src/lang.c:430
 msgid "Right bracket missing in domain literal.\n"
 msgstr "Ð’ Ð·Ð½Ð°ÐºÐµ Ð´Ð¾Ð¼ÐµÐ½Ð° Ð¿Ñ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð° Ð¿Ñ€Ð°Ð²Ð°Ñ ÑÐºÐ¾Ð±ÐºÐ°.\n"
 
-#: src/lang.c:418
+#: src/lang.c:431
 msgid "Missing localpart of mail address.\n"
 msgstr "ÐŸÑ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ñ‡Ð°ÑÑ‚ÑŒ Ð¿Ð¾Ñ‡Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑÐ°.\n"
 
-#: src/lang.c:419
+#: src/lang.c:432
 msgid "Illegal character in localpart of mail address.\n"
 msgstr "ÐÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ñ‹Ð¹ Ð·Ð½Ð°Ðº Ð² Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð¹ Ñ‡Ð°ÑÑ‚Ð¸ Ð¿Ð¾Ñ‡Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ Ð°Ð´Ñ€ÐµÑÐ°.\n"
 
-#: src/lang.c:420
+#: src/lang.c:433
 msgid "Zero length localpart component not allowed.\n"
 msgstr "ÐÑƒÐ»ÐµÐ²Ð°Ñ Ð´Ð»Ð¸Ð½Ð° Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð¹ Ñ‡Ð°ÑÑ‚Ð¸ email Ð½ÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ð°.\n"
 
-#: src/lang.c:421
+#: src/lang.c:434
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
@@ -1384,7 +1430,7 @@ msgstr ""
 "ÐÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ñ‹Ð¹ Ð·Ð½Ð°Ðº Ð² Ð¸Ð¼ÐµÐ½Ð¸.\n"
 "Ð¡Ð»Ð¾Ð²Ð° Ð±ÐµÐ· ÐºÐ°Ð²Ñ‹Ñ‡ÐµÐº Ð½Ðµ Ð¼Ð¾Ð³ÑƒÑ‚ ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‚ÑŒ '!()<>@,;:\\.[]' Ð² Ð°Ð´Ñ€ÐµÑÐµ.\n"
 
-#: src/lang.c:422
+#: src/lang.c:435
 msgid ""
 "Illegal character in realname.\n"
 "Quoted words may not contain '()<>\\'.\n"
@@ -1392,7 +1438,7 @@ msgstr ""
 "ÐÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ñ‹Ð¹ Ð·Ð½Ð°Ðº Ð² Ð¸Ð¼ÐµÐ½Ð¸.\n"
 "Ð¡Ð»Ð¾Ð²Ð° Ð² ÐºÐ°Ð²Ñ‹Ñ‡ÐºÐ°Ñ… Ð½Ðµ Ð¼Ð¾Ð³ÑƒÑ‚ ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‚ÑŒ '()<>\\'.\n"
 
-#: src/lang.c:423
+#: src/lang.c:436
 msgid ""
 "Illegal character in realname.\n"
 "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
@@ -1400,11 +1446,11 @@ msgstr ""
 "ÐÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ñ‹Ð¹ Ð·Ð½Ð°Ðº Ð² Ð¸Ð¼ÐµÐ½Ð¸.\n"
 "ÐšÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ ÑÐ»Ð¾Ð²Ð° Ð½Ðµ Ð¼Ð¾Ð³ÑƒÑ‚ ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‚ÑŒ '!()<>@,;:\"\\.[]/=' Ð² Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ðµ.\n"
 
-#: src/lang.c:424
+#: src/lang.c:437
 msgid "Bad syntax in encoded word used in realname.\n"
 msgstr "ÐÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ ÑÐ¸Ð½Ñ‚Ð°ÐºÑÐ¸Ñ Ð² ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð¾Ð¼ ÑÐ»Ð¾Ð²Ðµ, Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð½Ð¾Ð¼ Ð² Ð¸Ð¼ÐµÐ½Ð¸.\n"
 
-#: src/lang.c:425
+#: src/lang.c:438
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '()<>\\' in old-style addresses.\n"
@@ -1412,7 +1458,7 @@ msgstr ""
 "ÐÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ñ‹Ð¹ Ð·Ð½Ð°Ðº Ð² Ð¸Ð¼ÐµÐ½Ð¸.\n"
 "Ð¡Ð»Ð¾Ð²Ð° Ð±ÐµÐ· ÐºÐ°Ð²Ñ‹Ñ‡ÐµÐº Ð½Ðµ Ð¼Ð¾Ð³ÑƒÑ‚ ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‚ÑŒ '()<>\\' Ð² Ð°Ð´Ñ€ÐµÑÐ°Ñ… ÑÑ‚Ð°Ñ€Ð¾Ð³Ð¾ ÑÑ‚Ð¸Ð»Ñ.\n"
 
-#: src/lang.c:426
+#: src/lang.c:439
 msgid ""
 "Illegal character in realname.\n"
 "Control characters and unencoded 8bit characters > 127 are not allowed.\n"
@@ -1420,7 +1466,12 @@ msgstr ""
 "ÐÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ñ‹Ð¹ Ð·Ð½Ð°Ðº Ð² Ð¸Ð¼ÐµÐ½Ð¸.\n"
 "Ð£Ð¿Ñ€Ð°Ð²Ð»ÑÑŽÑ‰Ð¸Ðµ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ‹ Ð¸ Ð½ÐµÐºÐ¾Ð´. 8-Ð±Ð¸Ñ‚Ð½Ñ‹Ðµ ÑÐ¸Ð¼Ð². > 127 Ð½ÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ñ‹.\n"
 
-#: src/lang.c:427
+#: src/lang.c:440
+#, fuzzy
+msgid "Missing realname.\n"
+msgstr "ÐŸÑ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ñ‹ Ñ‡Ð°ÑÑ‚Ð¸."
+
+#: src/lang.c:441
 msgid ""
 "\n"
 "Error: No blank line found after header.\n"
@@ -1428,7 +1479,13 @@ msgstr ""
 "\n"
 "ÐžÑˆÐ¸Ð±ÐºÐ°: ÐÐµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð° Ð¿ÑƒÑÑ‚Ð°Ñ ÑÑ‚Ñ€Ð¾ÐºÐ° Ð¿Ð¾ÑÐ»Ðµ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°.\n"
 
-#: src/lang.c:428
+#: src/lang.c:442
+msgid ""
+"\n"
+"Error: Illegal Distribution \"all\" used.\n"
+msgstr ""
+
+#: src/lang.c:443
 #, c-format
 msgid ""
 "\n"
@@ -1436,7 +1493,7 @@ msgid ""
 msgstr ""
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:430
+#: src/lang.c:445
 msgid ""
 "\n"
 "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
@@ -1450,7 +1507,7 @@ msgstr ""
 "        Ð²Ð°ÑˆÐµÐ¼Ñƒ ÑÐ·Ñ‹ÐºÑƒ, Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ M)Ð¼ÐµÐ½ÑŽ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ Ð¸Ð»Ð¸\n"
 "        Ð¾Ñ‚Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ tinrc.\n"
 
-#: src/lang.c:435
+#: src/lang.c:450
 msgid ""
 "\n"
 "Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
@@ -1467,7 +1524,7 @@ msgstr ""
 "Ð¾Ñ‚Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ\n"
 "\t Ñ„Ð°Ð¹Ð» tinrc.\n"
 
-#: src/lang.c:441
+#: src/lang.c:456
 msgid ""
 "\n"
 "Error: Article starts with blank line instead of header\n"
@@ -1475,7 +1532,7 @@ msgstr ""
 "\n"
 "ÐžÑˆÐ¸Ð±ÐºÐ°: Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÐµÑ‚ÑÑ Ñ Ð¿ÑƒÑÑ‚Ð¾Ð¹ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ð²Ð¼ÐµÑÑ‚Ð¾ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°\n"
 
-#: src/lang.c:442
+#: src/lang.c:457
 #, c-format
 msgid ""
 "\n"
@@ -1486,7 +1543,7 @@ msgstr ""
 "ÐžÑˆÐ¸Ð±ÐºÐ°: Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð² ÑÑ‚Ñ€Ð¾ÐºÐµ %d Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñ Ð¿Ð¾ÑÐ»Ðµ Ð¸Ð¼ÐµÐ½Ð¸:\n"
 "%s\n"
 
-#: src/lang.c:443
+#: src/lang.c:458
 #, c-format
 msgid ""
 "\n"
@@ -1495,7 +1552,7 @@ msgstr ""
 "\n"
 "ÐžÑˆÐ¸Ð±ÐºÐ°: ÐŸÑƒcÑ‚Ð°Ñ ÑÑ‚Ñ€Ð¾ÐºÐ° \"%s:\".\n"
 
-#: src/lang.c:444
+#: src/lang.c:459
 #, c-format
 msgid ""
 "\n"
@@ -1504,14 +1561,14 @@ msgstr ""
 "\n"
 "ÐžÑˆÐ¸Ð±ÐºÐ°: Ð¡Ñ‚Ñ€Ð¾ÐºÐ°  \"%s:\" Ð¿Ñ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð° Ð² Ð·Ð°Ð»Ð¾Ð²ÐºÐµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸.\n"
 
-#: src/lang.c:445
+#: src/lang.c:460
 #, c-format
 msgid ""
 "\n"
 "Error: %s contains non 7bit chars.\n"
 msgstr ""
 
-#: src/lang.c:446
+#: src/lang.c:461
 #, c-format
 msgid ""
 "\n"
@@ -1522,7 +1579,7 @@ msgstr ""
 "ÐžÑˆÐ¸Ð±ÐºÐ°: Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð² ÑÑ‚Ñ€Ð¾ÐºÐµ %d Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ð° Ð¿Ð¾ÑÐ»Ðµ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñ:\n"
 "%s\n"
 
-#: src/lang.c:447
+#: src/lang.c:462
 #, c-format
 msgid ""
 "\n"
@@ -1531,7 +1588,7 @@ msgstr ""
 "\n"
 "ÐžÑˆÐ¸Ð±ÐºÐ°: ÐÐµÑÐºÐ¾Ð»ÑŒÐºÐ¾ ÑÑ‚Ñ€Ð¾Ðº (%d) \"%s:\" Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ.\n"
 
-#: src/lang.c:448
+#: src/lang.c:463
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -1542,35 +1599,47 @@ msgstr ""
 "ÐžÑˆÐ¸Ð±ÐºÐ°: Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð² ÑÑ‚Ñ€Ð¾ÐºÐµ %d Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ð° Ð¿Ð¾ÑÐ»Ðµ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñ:\n"
 "%s\n"
 
-#: src/lang.c:450
+#: src/lang.c:464
+msgid ""
+"\n"
+"Error: This is a mailgroup, but a recipient (\"To:\") is missing.\n"
+msgstr ""
+
+#: src/lang.c:465
+#, c-format
+msgid "Mixed up '-f'/'-F'? %s %s"
+msgstr ""
+
+#: src/lang.c:467
 #, c-format
 msgid "Insecure permissions of %s (%o)"
 msgstr "ÐÐµÐ±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ñ‹Ðµ Ð¿Ñ€Ð°Ð²Ð° Ð´Ð¾ÑÑ‚ÑƒÐ¿Ð° %s (%o)"
 
-#: src/lang.c:453
+#: src/lang.c:470
 #, fuzzy, c-format
 msgid "Line %d is longer than %d octets and should be folded.\n"
 msgstr ""
 "Ð¡Ñ‚Ñ€Ð¾ÐºÐ° %d Ð´Ð»Ð¸Ð½Ð½ÐµÐµ 998 Ð¾ÐºÑ‚ÐµÑ‚Ð¾Ð² Ð¸ Ð´Ð¾Ð»Ð¶Ð½Ð° Ð±Ñ‹Ñ‚ÑŒ Ñ€Ð°Ð·Ð±Ð¸Ñ‚Ð° Ð½Ð° Ñ‡Ð°ÑÑ‚Ð¸,\n"
 "Ð½Ð¾ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ° Ð½Ðµ ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð° Ð² %s\n"
 
-#: src/lang.c:455
+#: src/lang.c:472
 #, fuzzy, c-format
 msgid "Line %d is longer than %d octets and should be shortened.\n"
 msgstr ""
 "Ð¡Ñ‚Ñ€Ð¾ÐºÐ° %d Ð´Ð»Ð¸Ð½Ð½ÐµÐµ 998 Ð¾ÐºÑ‚ÐµÑ‚Ð¾Ð² Ð¸ Ð´Ð¾Ð»Ð¶Ð½Ð° Ð±Ñ‹Ñ‚ÑŒ Ñ€Ð°Ð·Ð±Ð¸Ñ‚Ð° Ð½Ð° Ñ‡Ð°ÑÑ‚Ð¸,\n"
 "Ð½Ð¾ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ° Ð½Ðµ ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð° Ð² %s\n"
 
-#: src/lang.c:461
-#, c-format
-msgid "MIME parse error: Unexpected end of %s/%s article"
+#: src/lang.c:477
+#, fuzzy, c-format
+msgid "MIME parse error: Unexpected end of %s/%s article\n"
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ MIME: ÐÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾Ðµ Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ %s/%s"
 
-#: src/lang.c:462
-msgid "MIME parse error: Start boundary whilst reading headers"
+#: src/lang.c:478
+#, fuzzy
+msgid "MIME parse error: Start boundary whilst reading headers\n"
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ MIME: ÐÐ°Ñ‡Ð°Ð»Ð¾ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ñ‹ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ"
 
-#: src/lang.c:464
+#: src/lang.c:479
 #, fuzzy
 msgid ""
 "\n"
@@ -1579,16 +1648,11 @@ msgstr ""
 "\n"
 "ÐžÑˆÐ¸Ð±ÐºÐ°: \"%s\" - Ð½ÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð°!\n"
 
-#: src/lang.c:465
+#: src/lang.c:480
 msgid "Can't get a (fully-qualified) domain-name!"
 msgstr "ÐÐµ ÑƒÐ´Ð°Ñ‘Ñ‚ÑÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð»Ð½Ð¾Ðµ Ð¸Ð¼Ñ Ð´Ð¾Ð¼ÐµÐ½Ð°!"
 
-#: src/lang.c:466
-#, c-format
-msgid "No permissions to go into %s\n"
-msgstr "ÐÐµÑ‚ Ð´Ð¾ÑÑ‚ÑƒÐ¿Ð° Ð´Ð»Ñ %s\n"
-
-#: src/lang.c:468
+#: src/lang.c:482
 msgid ""
 "\n"
 "Error: From: line missing.\n"
@@ -1596,34 +1660,44 @@ msgstr ""
 "\n"
 "ÐžÑˆÐ¸Ð±ÐºÐ°: ÐŸÑ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð° ÑÑ‚Ñ€Ð¾ÐºÐ° From:.\n"
 
-#: src/lang.c:470
+#: src/lang.c:485
+#, c-format
+msgid "No permissions to go into %s\n"
+msgstr "ÐÐµÑ‚ Ð´Ð¾ÑÑ‚ÑƒÐ¿Ð° Ð´Ð»Ñ %s\n"
+
+#: src/lang.c:486
 #, c-format
 msgid "No read permissions for %s\n"
 msgstr "ÐÐµÑ‚ Ð¿Ñ€Ð°Ð²Ð° Ð½Ð° Ñ‡Ñ‚ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ %s\n"
 
-#: src/lang.c:471
+#: src/lang.c:487
 #, c-format
 msgid "File %s does not exist\n"
 msgstr "Ð¤Ð°Ð¹Ð» %s Ð½Ðµ ÑÑƒÑ‰ÐµÑÑ‚Ð²ÑƒÐµÑ‚\n"
 
-#: src/lang.c:472
+#: src/lang.c:488
 #, c-format
 msgid "No write permissions for %s\n"
 msgstr "ÐÐµÑ‚ Ð¿Ñ€Ð°Ð²Ð° Ð½Ð° Ð·Ð°Ð¿Ð¸ÑÑŒ Ð´Ð»Ñ %s\n"
 
-#: src/lang.c:473
+#: src/lang.c:490
+#, fuzzy, c-format
+msgid "Not a literal IPv6 address: %s"
+msgstr "ÐÐµÑ‚ Ð°Ð´Ñ€ÐµÑÐ° email"
+
+#: src/lang.c:493
 msgid "Can't get user information (/etc/passwd missing?)"
 msgstr "ÐÐµ Ð¼Ð¾Ð³Ñƒ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÑŽ Ð¾ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ðµ (Ð½ÐµÑ‚ /etc/passwd ?)"
 
-#: src/lang.c:475
+#: src/lang.c:495
 msgid "errors"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ¸"
 
-#: src/lang.c:476
+#: src/lang.c:496
 msgid "error"
 msgstr "Ð¾ÑˆÐ¸Ð±ÐºÐ°"
 
-#: src/lang.c:479
+#: src/lang.c:499
 #, c-format
 msgid ""
 "\n"
@@ -1632,62 +1706,62 @@ msgstr ""
 "\n"
 "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² ÑÑ‚Ñ€Ð¾ÐºÐµ %d: Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº \"Sender:\" Ð½ÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼ (Ð±ÑƒÐ´ÐµÑ‚ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½)\n"
 
-#: src/lang.c:481
+#: src/lang.c:501
 #, c-format
 msgid "Server has non of the groups listed in %s"
 msgstr "ÐÐ° ÑÐµÑ€Ð²ÐµÑ€Ðµ Ð½ÐµÑ‚ Ð½Ð¸ Ð¾Ð´Ð½Ð¾Ð¹ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ñ… Ð² %s"
 
-#: src/lang.c:482
+#: src/lang.c:502
 #, c-format
 msgid "Error: unlink %s"
 msgstr ""
 
-#: src/lang.c:483
+#: src/lang.c:503
 msgid "Unknown display level"
 msgstr "ÐÐµÐ¸Ð·Ð²ÐµÑÑ‚Ð½Ñ‹Ð¹ ÑƒÑ€Ð¾Ð²ÐµÐ½ÑŒ Ð´Ð¸ÑÐ¿Ð»ÐµÑ"
 
-#: src/lang.c:485
+#: src/lang.c:505
 msgid "Unreachable?\n"
 msgstr "ÐÐµÐ´Ð¾ÑÑ‚Ð¸Ð¶Ð¸Ð¼Ð¾?\n"
 
-#: src/lang.c:487
+#: src/lang.c:507
 msgid "<ESC>"
 msgstr ""
 
-#: src/lang.c:488
+#: src/lang.c:508
 msgid "Exiting..."
 msgstr "Ð’Ñ‹Ñ…Ð¾Ð´..."
 
-#: src/lang.c:489
+#: src/lang.c:509
 msgid "leaving external mail-reader"
 msgstr "Ð¾ÑÑ‚Ð°Ð²Ð»ÑÐµÐ¼ Ð²Ð½ÐµÑˆÐ½Ð¸Ð¹ Ð¿Ð¾Ñ‡Ñ‚Ð¾Ð²Ñ‹Ð¹ ÐºÐ»Ð¸ÐµÐ½Ñ‚"
 
-#: src/lang.c:490
+#: src/lang.c:510
 #, c-format
 msgid "Extracting %s..."
 msgstr "Ð˜Ð·Ð²Ð»ÐµÐºÐ°ÐµÐ¼ %s..."
 
-#: src/lang.c:492
+#: src/lang.c:512
 #, c-format
 msgid "Error writing %s file. Filesystem full? File reset to previous state."
 msgstr ""
 "ÐžÑˆÐ¸Ð±ÐºÐ° Ð·Ð°Ð¿Ð¸ÑÐ¸ Ñ„Ð°Ð¹Ð»Ð° %s. ÐÐµÑ‚ Ð¼ÐµÑÑ‚Ð°? Ð’Ð¾ÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾ Ð¿Ñ€ÐµÐ´. ÑÐ¾ÑÑ‚Ð¾ÑÐ½Ð¸Ðµ Ñ„Ð°Ð¹Ð»Ð°."
 
-#: src/lang.c:493
+#: src/lang.c:513
 #, c-format
 msgid "Error making backup of %s file. Filesystem full?"
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¾Ð¹ ÐºÐ¾Ð¿Ð¸Ð¸ Ñ„Ð°Ð¹Ð»Ð° %s. ÐÐµÑ‚ Ð¼ÐµÑÑ‚Ð°?"
 
-#: src/lang.c:494
+#: src/lang.c:514
 #, fuzzy, c-format
 msgid "Filtering global rules (%d/%d) ('q' to quit)..."
 msgstr "Ð¤Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ð¿Ñ€Ð°Ð²Ð¸Ð» (%d/%d)..."
 
-#: src/lang.c:495
+#: src/lang.c:515
 msgid "Rule created by: "
 msgstr "ÐŸÑ€Ð°Ð²Ð¸Ð»Ð¾ ÑÐ¾Ð·Ð´Ð°Ð½Ð¾: "
 
-#: src/lang.c:496
+#: src/lang.c:516
 msgid ""
 "# Format:\n"
 "#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
@@ -1722,958 +1796,963 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:522
+#: src/lang.c:542
 #, c-format
 msgid "Enter score for rule (default=%d): "
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ score Ð´Ð»Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° (Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ=%d): "
 
-#: src/lang.c:523
+#: src/lang.c:543
 #, c-format
 msgid "Enter the score weight (range 0 < score <= %d)"
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ð²ÐµÑ score (Ð² Ð¿Ñ€ÐµÐ´ÐµÐ»Ð°Ñ… 0 < score <= %d)"
 
 #. SCORE_MAX
-#: src/lang.c:524
+#: src/lang.c:544
 msgid "Full"
 msgstr "ÐŸÐ¾Ð»Ð½Ñ‹Ð¹"
 
-#: src/lang.c:525
+#: src/lang.c:545
 msgid "Comment (optional)  : "
 msgstr "ÐšÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ð¹ (Ð¾Ð¿Ñ†Ð¸Ð¾Ð½Ð°Ð»ÐµÐ½): "
 
-#: src/lang.c:527
+#: src/lang.c:547
 msgid "Malformed overview entry: servername missing."
 msgstr ""
 
-#: src/lang.c:528
+#: src/lang.c:548
 #, c-format
 msgid "\t Xref: %s"
 msgstr ""
 
-#: src/lang.c:529
+#: src/lang.c:549
 msgid "Skipping Xref filter"
 msgstr ""
 
-#: src/lang.c:531
+#: src/lang.c:551
 msgid "Apply pattern to    : "
 msgstr "ÐŸÑ€Ð¸Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ ÑˆÐ°Ð±Ð»Ð¾Ð½ Ðº  : "
 
-#: src/lang.c:532
+#: src/lang.c:552
 #, c-format
 msgid "Enter pattern [%s]> "
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÑˆÐ°Ð±Ð»Ð¾Ð½ [%s]> "
 
-#: src/lang.c:533
+#: src/lang.c:553
 #, c-format
 msgid ""
 "\n"
 "You requested followups to your article to go to the following %s:\n"
 msgstr ""
 
-#: src/lang.c:534
+#: src/lang.c:554
 #, c-format
 msgid "  %s\t Answers will be directed to you by mail.\n"
 msgstr "  %s\t ÐžÑ‚Ð²ÐµÑ‚Ñ‹ Ð±ÑƒÐ´ÑƒÑ‚ Ð½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ñ‹ Ðº Ð²Ð°Ð¼ Ð¿Ð¾ email.\n"
 
-#: src/lang.c:535
+#: src/lang.c:555
 msgid "-- forwarded message --\n"
 msgstr "-- Ð¿ÐµÑ€ÐµÑÐ»Ð°Ð½Ð½Ð¾Ðµ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ --\n"
 
-#: src/lang.c:536
+#: src/lang.c:556
 msgid "-- end of forwarded message --\n"
 msgstr "-- ÐºÐ¾Ð½ÐµÑ† Ð¿ÐµÑ€ÐµÑÐ»Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ --\n"
 
-#: src/lang.c:537
+#: src/lang.c:557
 msgid "From: line (ignore case)      "
 msgstr "From: ÑÑ‚Ñ€Ð¾ÐºÐ° (Ð¸Ð³Ð½Ð¾Ñ€. Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€)   "
 
-#: src/lang.c:538
+#: src/lang.c:558
 msgid "From: line (case sensitive)   "
 msgstr "From: ÑÑ‚Ñ€Ð¾ÐºÐ° (Ð½Ðµ Ð¸Ð³Ð½Ð¾Ñ€. Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€)    "
 
-#: src/lang.c:541
+#: src/lang.c:561
 #, c-format
 msgid "%s%s: Unknown host.\n"
 msgstr "%s%s: ÐÐµÐ¸Ð·Ð²ÐµÑÑ‚Ð½Ñ‹Ð¹ Ñ…Ð¾ÑÑ‚.\n"
 
-#: src/lang.c:543
+#: src/lang.c:563
 msgid "global "
 msgstr "Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ñ… "
 
-#: src/lang.c:544
+#: src/lang.c:564
 #, c-format
 msgid "Please use %.100s instead"
 msgstr "ÐŸÐ¾Ð¶Ð°Ð»ÑƒÐ¹ÑÑ‚Ð° Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ Ð²Ð¼ÐµÑÑ‚Ð¾ ÑÑ‚Ð¾Ð³Ð¾ %.100s"
 
-#: src/lang.c:545
+#: src/lang.c:565
 #, c-format
 msgid "%s is bogus"
 msgstr "%s Ñ„Ð¸ÐºÑ‚Ð¸Ð²Ð½Ð° (bogus)"
 
-#: src/lang.c:546
+#: src/lang.c:566
 #, c-format
 msgid "Group %s is moderated. Continue?"
 msgstr "Ð“Ñ€ÑƒÐ¿Ð¿Ð° %s Ð¼Ð¾Ð´ÐµÑ€Ð¸Ñ€ÑƒÐµÑ‚ÑÑ. ÐŸÑ€Ð¾Ð´Ð¾Ð»Ð¶Ð¸Ñ‚ÑŒ?"
 
-#: src/lang.c:547
+#: src/lang.c:567
 msgid "groups"
 msgstr "Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹"
 
-#: src/lang.c:548
+#: src/lang.c:568
 #, c-format
 msgid "Rereading %s..."
 msgstr "ÐŸÐµÑ€ÐµÑ‡Ð¸Ñ‚Ñ‹Ð²Ð°ÑŽ %s..."
 
-#: src/lang.c:549
+#: src/lang.c:569
 msgid "Top Level Commands"
 msgstr "ÐšÐ¾Ð¼Ð°Ð½Ð´Ñ‹ Ð²ÐµÑ€Ñ…Ð½ÐµÐ³Ð¾ ÑƒÑ€Ð¾Ð²Ð½Ñ"
 
-#: src/lang.c:550
+#: src/lang.c:570
 msgid "Group Selection"
 msgstr "Ð’Ñ‹Ð±Ð¾Ñ€ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹"
 
-#: src/lang.c:551
+#: src/lang.c:571
 msgid "group"
 msgstr "Ð³Ñ€ÑƒÐ¿Ð¿Ð°"
 
-#: src/lang.c:552
+#: src/lang.c:572
 msgid ""
 "*** Group descriptions are disabled according to current select_format ***"
 msgstr ""
 
-#: src/lang.c:554
+#: src/lang.c:574
 msgid ""
 "One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr ""
 "ÐžÐ´Ð½Ð° Ð¸Ð»Ð¸ Ð±Ð¾Ð»ÐµÐµ ÑÑ‚Ñ€Ð¾Ðº ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ñ. <CR> Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ ÑÑ‚Ñ€Ð¾ÐºÑƒ Ð¸Ð»Ð¸ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶Ð¸Ñ‚ÑŒ ÐµÑÐ»Ð¸ "
 "ÑÑ‚Ñ€Ð¾ÐºÐ° Ð¿ÑƒÑÑ‚Ð°."
 
-#: src/lang.c:555
+#: src/lang.c:575
 msgid "From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "From: ÑÑ‚Ñ€Ð¾ÐºÐ° Ð´Ð»Ñ Ð´Ð¾Ð±. Ð² Ñ„Ð¸Ð»ÑŒÑ‚Ñ€. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:556
+#: src/lang.c:576
 msgid ""
 "Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr "Ð”Ð»Ð¸Ð½Ð° Ñ„Ð¸Ð»ÑŒÑ‚Ñ€ÑƒÐµÐ¼Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹. < Ð¼ÐµÐ½ÑŒÑˆÐµ, > Ð±Ð¾Ð»ÑŒÑˆÐµ, = Ñ€Ð°Ð²Ð½Ð¾."
 
-#: src/lang.c:557
+#: src/lang.c:577
 msgid "Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "Message-ID: ÑÑ‚Ñ€Ð¾ÐºÐ° Ð´Ð»Ñ Ð´Ð¾Ð±. Ð² Ñ„Ð¸Ð»ÑŒÑ‚Ñ€. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:558
+#: src/lang.c:578
 msgid "Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "Ð¢ÐµÐ¼Ð°: ÑÑ‚Ñ€Ð¾ÐºÐ° Ð´Ð»Ñ Ð´Ð¾Ð±. Ð² Ñ„Ð¸Ð»ÑŒÑ‚Ñ€. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:559
+#: src/lang.c:579
 msgid ""
 "Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÑˆÐ°Ð±Ð»Ð¾Ð½ Ð´Ð»Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ð¸ ÐµÑÐ»Ð¸ Subject: Ð¸ From: ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ð½ÐµÐ¶ÐµÐ»Ð°Ð½Ð½Ñ‹."
 
-#: src/lang.c:560
+#: src/lang.c:580
 msgid ""
 "Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr "Ð’Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¸ÐµÑÑ‚Ð¾ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:561
+#: src/lang.c:581
 msgid ""
 "Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð° Ð² Ð´Ð½ÑÑ…. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:562
+#: src/lang.c:582
 msgid ""
 "Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "ÐŸÑ€Ð¸Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ kill Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ðº Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ Ð¸Ð»Ð¸ ÐºÐ¾ Ð²ÑÐµÐ¼ Ð³Ñ€ÑƒÐ¿Ð¿Ð°Ð¼. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> "
 "ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:563
+#: src/lang.c:583
 msgid ""
 "Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "ÐŸÑ€Ð¸Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð²Ñ‹Ð±Ð¾Ñ€ Ðº Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ Ð¸Ð»Ð¸ ÐºÐ¾ Ð²ÑÐµÐ¼ Ð³Ñ€ÑƒÐ¿Ð¿Ð°Ð¼. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> "
 "ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:564
+#: src/lang.c:584
 msgid "kill an article via a menu"
 msgstr "ÑƒÐ½Ð¸Ñ‡Ñ‚Ð¾Ð¶Ð¸Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ñ‡ÐµÑ€ÐµÐ· Ð¼ÐµÐ½ÑŽ"
 
-#: src/lang.c:565
+#: src/lang.c:585
 msgid "auto-select (hot) an article via a menu"
 msgstr "Ð°Ð²Ñ‚Ð¾Ð²Ñ‹Ð±Ð¾Ñ€ (hot) ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ñ‡ÐµÑ€ÐµÐ· Ð¼ÐµÐ½ÑŽ"
 
-#: src/lang.c:566
+#: src/lang.c:586
 msgid "Browse URLs in article"
 msgstr "ÐŸÑ€Ð¾ÑÐ¼Ð¾Ñ‚Ñ€ URL Ð² ÑÑ‚Ð°Ñ‚ÑŒÐµ"
 
-#: src/lang.c:567
+#: src/lang.c:587
 msgid "0 - 9\t  display article by number in current thread"
 msgstr "0 - 9\t  Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð¿Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ñƒ Ð² Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¸"
 
-#: src/lang.c:569
+#: src/lang.c:589
 msgid "cancel (delete) or supersede (overwrite) current article"
 msgstr "Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ (ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ) Ð¸Ð»Ð¸ Ð·Ð°Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ (Ð¿ÐµÑ€ÐµÐ¿Ð¸ÑÐ°Ñ‚ÑŒ) Ñ‚ÐµÐºÑƒÑ‰ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ"
 
-#: src/lang.c:570
+#: src/lang.c:590
 msgid "post followup to current article"
 msgstr "Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ followup Ð½Ð° Ñ‚ÐµÐºÑƒÑ‰ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ"
 
-#: src/lang.c:571
+#: src/lang.c:591
 msgid "post followup (don't copy text) to current article"
 msgstr "Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ followup (Ð½Ðµ ÐºÐ¾Ð¿Ð¸Ñ€ÑƒÑ Ñ‚ÐµÐºÑÑ‚) Ð½Ð° Ñ‚ÐµÐºÑƒÑ‰ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ"
 
-#: src/lang.c:572
+#: src/lang.c:592
 msgid "post followup to current article quoting complete headers"
 msgstr "Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ followup Ð½Ð° Ñ‚ÐµÐºÑƒÑ‰ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ, Ñ†Ð¸Ñ‚Ð¸Ñ€ÑƒÑ Ð¿Ð¾Ð»Ð½Ñ‹Ðµ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸"
 
-#: src/lang.c:573
+#: src/lang.c:593
 msgid "repost chosen article to another group"
 msgstr "Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð² Ð´Ñ€ÑƒÐ³ÑƒÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ"
 
-#: src/lang.c:575
+#: src/lang.c:595
 msgid "edit article (mail-groups only)"
 msgstr "Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ (Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ð¿Ð¾Ñ‡Ñ‚Ð¾Ð²Ñ‹Ñ… Ð³Ñ€ÑƒÐ¿Ð¿)"
 
-#: src/lang.c:576
+#: src/lang.c:596
 msgid "display first article in current thread"
 msgstr "Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ Ð¿ÐµÑ€Ð²ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð² Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¸"
 
-#: src/lang.c:577
+#: src/lang.c:597
 msgid "display first page of article"
 msgstr "Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ Ð¿ÐµÑ€Ð²ÑƒÑŽ ÑÑ‚Ñ€Ð°Ð½Ð¸Ñ†Ñƒ ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:578
+#: src/lang.c:598
+#, fuzzy
+msgid "show MIME details of this article"
+msgstr "ÐÐµÑ‚ Ð±Ð¾Ð»ÑŒÑˆÐµ URL Ð² ÑÑ‚Ð°Ñ‚ÑŒÐµ"
+
+#: src/lang.c:599
 msgid "display last article in current thread"
 msgstr "Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÑŽÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð² Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¸"
 
-#: src/lang.c:579
+#: src/lang.c:600
 msgid "display last page of article"
 msgstr "Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÑŽÑŽ ÑÑ‚Ñ€Ð°Ð½Ð¸Ñ†Ñƒ ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:580
+#: src/lang.c:601
 msgid "mark rest of thread as read and advance to next unread"
 msgstr "Ð¿Ð¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ð¾ÑÑ‚Ð°Ñ‚Ð¾Ðº Ð´Ð¸ÑÐº. ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ð¹ Ð¸ Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ Ð½Ð° ÑÐ»ÐµÐ´. Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚."
 
-#: src/lang.c:581
+#: src/lang.c:602
 msgid "display next article"
 msgstr "Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ ÑÐ»ÐµÐ´ÑƒÑŽÑ‰ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ"
 
-#: src/lang.c:582
+#: src/lang.c:603
 msgid "display first article in next thread"
 msgstr "Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ Ð¿ÐµÑ€Ð²ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð² ÑÐ»ÐµÐ´ÑƒÑŽÑ‰ÐµÐ¹ Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¸"
 
-#: src/lang.c:583
+#: src/lang.c:604
 msgid "display next unread article"
 msgstr "Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ ÑÐ»ÐµÐ´ÑƒÑŽÑ‰ÑƒÑŽ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ"
 
-#: src/lang.c:584
+#: src/lang.c:605
 msgid "go to the article that this one followed up"
 msgstr "Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ Ð½Ð° ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð·Ð° ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¹ ÑÐ»ÐµÐ´ÑƒÐµÑ‚ ÑÑ‚Ð° ÑÑ‚Ð°Ñ‚ÑŒÑ"
 
-#: src/lang.c:585
+#: src/lang.c:606
 msgid "display previous article"
 msgstr "Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ"
 
-#: src/lang.c:586
+#: src/lang.c:607
 msgid "display previous unread article"
 msgstr "Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÑƒÑŽ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ"
 
-#: src/lang.c:587
+#: src/lang.c:608
 msgid "quickly kill an article using defaults"
 msgstr "Ð±Ñ‹ÑÑ‚Ñ€Ð¾ ÑƒÐ½Ð¸Ñ‡Ñ‚Ð¾Ð¶Ð¸Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ ÑƒÑÑ‚Ð°Ð½Ð¾Ð²ÐºÐ¸ Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ"
 
-#: src/lang.c:588
+#: src/lang.c:609
 msgid "quickly auto-select (hot) an article using defaults"
 msgstr "Ð±Ñ‹ÑÑ‚Ñ€Ñ‹Ð¹ Ð°Ð²Ñ‚Ð¾Ð²Ñ‹Ð±Ð¾Ñ€ (hot) ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ ÑƒÑÑ‚Ð°Ð½Ð¾Ð²ÐºÐ¸ Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ"
 
-#: src/lang.c:589
+#: src/lang.c:610
 msgid "return to group selection level"
 msgstr "Ð²ÐµÑ€Ð½ÑƒÑ‚ÑŒÑÑ Ð² ÑƒÑ€Ð¾Ð²ÐµÐ½ÑŒ Ð²Ñ‹Ð±Ð¾Ñ€Ð° Ð³Ñ€ÑƒÐ¿Ð¿"
 
-#: src/lang.c:590
+#: src/lang.c:611
 msgid "reply through mail to author"
 msgstr "Ð¾Ñ‚Ð²ÐµÑ‚Ð¸Ñ‚ÑŒ Ð°Ð²Ñ‚Ð¾Ñ€Ñƒ Ð¿Ð¾ email"
 
-#: src/lang.c:591
+#: src/lang.c:612
 msgid "reply through mail (don't copy text) to author"
 msgstr "Ð¾Ñ‚Ð²ÐµÑ‚Ð¸Ñ‚ÑŒ (Ð½Ðµ Ð²ÑÑ‚Ð°Ð²Ð»ÑÑ Ñ‚ÐµÐºÑÑ‚) Ð°Ð²Ñ‚Ð¾Ñ€Ñƒ Ð¿Ð¾ email"
 
-#: src/lang.c:592
+#: src/lang.c:613
 msgid "reply through mail to author quoting complete headers"
 msgstr "Ð¾Ñ‚Ð²ÐµÑ‚Ð¸Ñ‚ÑŒ (Ñ†Ð¸Ñ‚Ð¸Ñ€ÑƒÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑ‚ÑŒÑŽ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸) Ð°Ð²Ñ‚Ð¾Ñ€Ñƒ Ð¿Ð¾ email"
 
-#: src/lang.c:593
+#: src/lang.c:614
 msgid "search backwards within this article"
 msgstr "Ð¿Ð¾Ð¸ÑÐº Ð½Ð°Ð·Ð°Ð´ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ ÑÑ‚Ð¾Ð¹ ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:594
+#: src/lang.c:615
 msgid "search forwards within this article"
 msgstr "Ð¿Ð¾Ð¸ÑÐº Ð²Ð¿ÐµÑ€Ñ‘Ð´ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ ÑÑ‚Ð¾Ð¹ ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:595
+#: src/lang.c:616
 msgid "show article in raw-mode (including all headers)"
 msgstr "Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð² raw Ñ€ÐµÐ¶Ð¸Ð¼Ðµ (Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð²ÑÐµ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸)"
 
-#: src/lang.c:596
+#: src/lang.c:617
 msgid "skip next block of included text"
 msgstr "Ð¿Ñ€Ð¾Ð¿ÑƒÑÑ‚Ð¸Ñ‚ÑŒ ÑÐ»ÐµÐ´ÑƒÑŽÑ‰Ð¸Ð¹ Ð±Ð»Ð¾Ðº Ð²ÐºÐ»ÑŽÑ‡Ñ‘Ð½Ð½Ð¾Ð³Ð¾ Ñ‚ÐµÐºÑÑ‚Ð°"
 
-#: src/lang.c:597
+#: src/lang.c:618
 msgid "toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr "Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ðµ ÑÐµÐºÑ†Ð¸Ð¹ ÑÐºÑ€Ñ‹Ñ‚Ñ‹Ñ… Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ form-feed (^L) Ð’ÐšÐ›/Ð’Ð«ÐšÐ›"
 
-#: src/lang.c:598
+#: src/lang.c:619
 #, fuzzy
 msgid "toggle display of all headers"
 msgstr "Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð²ÑÐµ/Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:599
+#: src/lang.c:620
 msgid "toggle word highlighting on/off"
 msgstr "Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð´ÑÐ²ÐµÑ‚ÐºÑƒ ÑÐ»Ð¾Ð² Ð’ÐšÐ›/Ð’Ð«ÐšÐ›"
 
-#: src/lang.c:600
+#: src/lang.c:621
 msgid "toggle ROT-13 (basic decode) for current article"
 msgstr "Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ ROT-13 (Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ) Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:601
+#: src/lang.c:622
 msgid "toggle tabwidth 4 <-> 8"
 msgstr "Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ ÑˆÐ¸Ñ€Ð¸Ð½Ñƒ TAB 4 <-> 8"
 
-#: src/lang.c:602
+#: src/lang.c:623
 #, fuzzy
 msgid "toggle German TeX style decoding for current article"
 msgstr "Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð½ÐµÐ¼ÐµÑ†ÐºÐ¸Ð¹ TeX ÑÑ‚Ð¸Ð»ÑŒ Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:603
+#: src/lang.c:624
 msgid "toggle display of uuencoded sections"
 msgstr "Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð¿Ð¾ÐºÐ°Ð· UUE Ð·Ð°ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð¾Ð¹ ÑÐµÐºÑ†Ð¸Ð¸"
 
-#: src/lang.c:604
+#: src/lang.c:625
 #, fuzzy
 msgid "View/pipe/save multimedia attachments"
 msgstr "ÐŸÑ€Ð¾ÑÐ¼Ð¾Ñ‚Ñ€ÐµÑ‚ÑŒ/ÑÐ¾Ñ…Ñ€Ð°Ð½Ð¸Ñ‚ÑŒ Ð¼ÑƒÐ»ÑŒÑ‚Ð¸Ð¼ÐµÐ´Ð¸Ñ-Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ"
 
-#: src/lang.c:605
+#: src/lang.c:626
 #, fuzzy
 msgid "choose first attachment in list"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¿ÐµÑ€Ð²ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð² ÑÐ¿Ð¸ÑÐºÐµ"
 
-#: src/lang.c:606
+#: src/lang.c:627
 #, fuzzy
 msgid "0 - 9\t  choose attachment by number"
 msgstr "0 - 9\t  Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð¿Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ñƒ"
 
-#: src/lang.c:607
+#: src/lang.c:628
 #, fuzzy
 msgid "choose last attachment in list"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÑŽÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð² ÑÐ¿Ð¸ÑÐºÐµ"
 
-#: src/lang.c:609
+#: src/lang.c:630
 msgid "pipe attachment into command"
 msgstr ""
 
-#: src/lang.c:610
+#: src/lang.c:631
 #, fuzzy
 msgid "pipe raw attachment into command"
 msgstr "ÐšÐ¾Ð¼Ð°Ð½Ð´Ñ‹ ÑƒÑ€Ð¾Ð²Ð½Ñ ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:612
+#: src/lang.c:633
 msgid "save attachment to disk"
 msgstr ""
 
-#: src/lang.c:613
+#: src/lang.c:634
 #, fuzzy
 msgid "search for attachments forwards"
 msgstr "Ð¿Ð¾Ð¸ÑÐº ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð¿Ð¾ Ð°Ð²Ñ‚Ð¾Ñ€Ñƒ (Ð²Ð¿ÐµÑ€Ñ‘Ð´)"
 
-#: src/lang.c:614
+#: src/lang.c:635
 #, fuzzy
 msgid "search for attachments backwards"
 msgstr "Ð¿Ð¾Ð¸ÑÐº ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð¿Ð¾ Ð°Ð²Ñ‚Ð¾Ñ€Ñƒ (Ð½Ð°Ð·Ð°Ð´)"
 
-#: src/lang.c:615
+#: src/lang.c:636
 msgid "view attachment"
 msgstr ""
 
-#: src/lang.c:616
+#: src/lang.c:637
 #, fuzzy
 msgid "tag attachment"
 msgstr "Ð’Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ ÑÑ‚Ð°Ñ‚ÑŒÑŽ> "
 
-#: src/lang.c:617
+#: src/lang.c:638
 #, fuzzy
 msgid "tag attachments that match user specified pattern"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¸, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ðµ Ð¿Ð¾Ð´Ð¿Ð°Ð´Ð°ÑŽÑ‚ Ð¿Ð¾Ð´ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¹ ÑˆÐ°Ð±Ð»Ð¾Ð½"
 
-#: src/lang.c:618
+#: src/lang.c:639
 msgid "reverse tagging on all attachments (toggle)"
 msgstr ""
 
-#: src/lang.c:619
+#: src/lang.c:640
 #, fuzzy
 msgid "untag all tagged attachments"
 msgstr "ÑÐ½ÑÑ‚ÑŒ Ð¼ÐµÑ‚ÐºÐ¸ Ñ Ð¾Ñ‚Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ñ… Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¹"
 
-#: src/lang.c:620
+#: src/lang.c:641
 #, fuzzy
 msgid "toggle info message in last line (name/description of attachment)"
 msgstr "Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð¸Ð½Ñ„. ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ Ð² Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐ¹ ÑÑ‚Ñ€Ð¾ÐºÐµ (Ñ‚ÐµÐ¼Ð°/Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ðµ)"
 
-#: src/lang.c:621
+#: src/lang.c:642
 #, fuzzy
 msgid "choose first attribute in list"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¿ÐµÑ€Ð²ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð² ÑÐ¿Ð¸ÑÐºÐµ"
 
-#: src/lang.c:622
+#: src/lang.c:643
 #, fuzzy
 msgid "0 - 9\t  choose attribute by number"
 msgstr "0 - 9\t  Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð¿Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ñƒ"
 
-#: src/lang.c:623
+#: src/lang.c:644
 #, fuzzy
 msgid "choose last attribute in list"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÑŽÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð² ÑÐ¿Ð¸ÑÐºÐµ"
 
-#: src/lang.c:624
+#: src/lang.c:645
 msgid "reset attribute to a default value"
 msgstr ""
 
-#: src/lang.c:625
-#, fuzzy
-msgid "search forwards for an attribute"
-msgstr "Ð¿Ð¾Ð¸ÑÐº Ð¸Ð¼ÐµÐ½Ð¸ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ (Ð²Ð¿ÐµÑ€Ñ‘Ð´)"
-
-#: src/lang.c:626
+#: src/lang.c:646
 #, fuzzy
 msgid "search backwards for an attribute"
 msgstr "Ð¿Ð¾Ð¸ÑÐº Ð¸Ð¼ÐµÐ½Ð¸ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ (Ð½Ð°Ð·Ð°Ð´)"
 
-#: src/lang.c:627
+#: src/lang.c:647
+#, fuzzy
+msgid "search forwards for an attribute"
+msgstr "Ð¿Ð¾Ð¸ÑÐº Ð¸Ð¼ÐµÐ½Ð¸ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ (Ð²Ð¿ÐµÑ€Ñ‘Ð´)"
+
+#: src/lang.c:648
 #, fuzzy
 msgid "select attribute"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑŽ"
 
-#: src/lang.c:628
+#: src/lang.c:649
 msgid "toggle back to options menu when invoked from there"
 msgstr ""
 
-#: src/lang.c:629
+#: src/lang.c:650
 #, c-format
 msgid "report bug or comment via mail to %s"
 msgstr "Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ Ð¾Ð± Ð¾ÑˆÐ¸Ð±ÐºÐµ Ð¸Ð»Ð¸ ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ð¹ %s Ð¿Ð¾ email"
 
-#: src/lang.c:630
+#: src/lang.c:651
 #, fuzzy
 msgid "choose first option in list"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¿ÐµÑ€Ð²ÑƒÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ Ð² ÑÐ¿Ð¸ÑÐºÐµ"
 
-#: src/lang.c:631
+#: src/lang.c:652
 #, fuzzy
 msgid "0 - 9\t  choose option by number"
 msgstr "0 - 9\t  Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ Ð¿Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ñƒ"
 
-#: src/lang.c:632
+#: src/lang.c:653
 #, fuzzy
 msgid "choose last option in list"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÑŽÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ Ð² ÑÐ¿Ð¸ÑÐºÐµ"
 
-#: src/lang.c:633
+#: src/lang.c:654
 #, fuzzy
 msgid "start scopes menu"
 msgstr "Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚ Ð² Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐµ Ð¼ÐµÐ½ÑŽ"
 
-#: src/lang.c:634
-#, fuzzy
-msgid "search forwards for an option"
-msgstr "Ð¿Ð¾Ð¸ÑÐº Ð¸Ð¼ÐµÐ½Ð¸ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ (Ð²Ð¿ÐµÑ€Ñ‘Ð´)"
-
-#: src/lang.c:635
+#: src/lang.c:655
 #, fuzzy
 msgid "search backwards for an option"
 msgstr "Ð¿Ð¾Ð¸ÑÐº Ð¸Ð¼ÐµÐ½Ð¸ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ (Ð½Ð°Ð·Ð°Ð´)"
 
-#: src/lang.c:636
+#: src/lang.c:656
+#, fuzzy
+msgid "search forwards for an option"
+msgstr "Ð¿Ð¾Ð¸ÑÐº Ð¸Ð¼ÐµÐ½Ð¸ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ (Ð²Ð¿ÐµÑ€Ñ‘Ð´)"
+
+#: src/lang.c:657
 #, fuzzy
 msgid "select option"
 msgstr "Ð²Ñ‹Ð±Ð¾Ñ€"
 
-#: src/lang.c:637
+#: src/lang.c:658
 msgid "toggle to attributes menu"
 msgstr ""
 
-#: src/lang.c:638
+#: src/lang.c:659
 msgid "choose range of articles to be affected by next command"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð¿Ð¾Ð´Ð²ÐµÑ€Ð¶ÐµÐ½Ð½Ñ‹Ñ… ÑÐ»ÐµÐ´ÑƒÑŽÑ‰ÐµÐ¹ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹"
 
-#: src/lang.c:639
+#: src/lang.c:660
 msgid "escape from command prompt"
 msgstr "Ð²Ñ‹Ð¹Ñ‚Ð¸ Ð¸Ð· ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑ‚Ñ€Ð¾ÐºÐ¸"
 
-#: src/lang.c:640
+#: src/lang.c:661
 msgid "edit filter file"
 msgstr "Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ„Ð°Ð¹Ð» Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°"
 
-#: src/lang.c:641
+#: src/lang.c:662
 msgid "get help"
 msgstr "Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒ"
 
-#: src/lang.c:642
+#: src/lang.c:663
 msgid "display last article viewed"
 msgstr "Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÑŽÑŽ Ð¿Ñ€Ð¾ÑÐ¼Ð¾Ñ‚Ñ€ÐµÐ½Ð½ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ"
 
-#: src/lang.c:643
+#: src/lang.c:664
 msgid "down one line"
 msgstr "Ð²Ð½Ð¸Ð· Ð½Ð° Ð¾Ð´Ð½Ñƒ ÑÑ‚Ñ€Ð¾ÐºÑƒ"
 
-#: src/lang.c:644
+#: src/lang.c:665
 msgid "up one line"
 msgstr "Ð²Ð²ÐµÑ€Ñ… Ð½Ð° Ð¾Ð´Ð½Ñƒ ÑÑ‚Ñ€Ð¾ÐºÑƒ"
 
-#: src/lang.c:645
+#: src/lang.c:666
 msgid "go to article chosen by Message-ID"
 msgstr "Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ Ð½Ð° ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð¿Ð¾ Message-ID"
 
-#: src/lang.c:646
+#: src/lang.c:667
 msgid "mail article/thread/hot/pattern/tagged articles to someone"
 msgstr "Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ/Ð´Ð¸ÑÐº./hot/ÑˆÐ°Ð±Ð»Ð¾Ð½/Ð¾Ñ‚Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð¿Ð¾ email"
 
-#: src/lang.c:647
+#: src/lang.c:668
 msgid "menu of configurable options"
 msgstr "Ð¼ÐµÐ½ÑŽ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ñ… Ð¾Ð¿Ñ†Ð¸Ð¹"
 
-#: src/lang.c:648
+#: src/lang.c:669
 msgid "down one page"
 msgstr "Ð²Ð½Ð¸Ð· Ð½Ð° Ð¾Ð´Ð½Ñƒ ÑÑ‚Ñ€Ð°Ð½Ð¸Ñ†Ñƒ"
 
-#: src/lang.c:649
+#: src/lang.c:670
 msgid "up one page"
 msgstr "Ð²Ð²ÐµÑ€Ñ… Ð½Ð° Ð¾Ð´Ð½Ñƒ ÑÑ‚Ñ€Ð°Ð½Ð¸Ñ†Ñƒ"
 
-#: src/lang.c:651
+#: src/lang.c:672
 msgid "post (write) article to current group"
 msgstr "Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ (Ð½Ð°Ð¿Ð¸ÑÐ°Ñ‚ÑŒ) ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð² Ñ‚ÐµÐºÑƒÑ‰ÑƒÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ"
 
-#: src/lang.c:652
+#: src/lang.c:673
 msgid "post postponed articles"
 msgstr "Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ Ð¾Ñ‚Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:654
+#: src/lang.c:675
 msgid "list articles posted by you (from posted file)"
 msgstr "ÑÐ¿Ð¸ÑÐ¾Ðº ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ñ… Ð²Ð°Ð¼Ð¸ (Ð¸Ð· Ñ„Ð°Ð¹Ð»Ð° posted)"
 
-#: src/lang.c:655
+#: src/lang.c:676
 msgid "return to previous menu"
 msgstr "Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚ Ð² Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐµ Ð¼ÐµÐ½ÑŽ"
 
-#: src/lang.c:656
+#: src/lang.c:677
 msgid "quit tin immediately"
 msgstr "Ð²Ñ‹Ð¹Ñ‚Ð¸ Ð¸Ð· tin Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾"
 
-#: src/lang.c:657
+#: src/lang.c:678
 msgid "redraw page"
 msgstr "Ð¿ÐµÑ€ÐµÑ€Ð¸ÑÐ¾Ð²Ð°Ñ‚ÑŒ ÑÑ‚Ñ€Ð°Ð½Ð¸Ñ†Ñƒ"
 
-#: src/lang.c:658
+#: src/lang.c:679
 msgid "save article/thread/hot/pattern/tagged articles to file"
 msgstr "ÑÐ¾Ñ…Ñ€Ð°Ð½Ð¸Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ/Ð´Ð¸ÑÐº./hot/ÑˆÐ°Ð±Ð»Ð¾Ð½/Ð¾Ñ‚Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð² Ñ„Ð°Ð¹Ð»"
 
-#: src/lang.c:659
+#: src/lang.c:680
 msgid "save marked articles automatically without user prompts"
 msgstr "ÑÐ¾Ñ…Ñ€Ð°Ð½ÑÑ‚ÑŒ Ð¾Ñ‚Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑÐºÐ¸ Ð±ÐµÐ· Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ"
 
-#: src/lang.c:660
+#: src/lang.c:681
 msgid "scroll the screen one line down"
 msgstr "Ð¿Ñ€Ð¾ÐºÑ€ÑƒÑ‚Ð¸Ñ‚ÑŒ ÑÐºÑ€Ð°Ð½ Ð½Ð° Ð¾Ð´Ð½Ñƒ Ð»Ð¸Ð½Ð¸ÑŽ Ð²Ð½Ð¸Ð·"
 
-#: src/lang.c:661
+#: src/lang.c:682
 msgid "scroll the screen one line up"
 msgstr "Ð¿Ñ€Ð¾ÐºÑ€ÑƒÑ‚Ð¸Ñ‚ÑŒ ÑÐºÑ€Ð°Ð½ Ð½Ð° Ð¾Ð´Ð½Ñƒ Ð»Ð¸Ð½Ð¸ÑŽ Ð²Ð²ÐµÑ€Ñ…"
 
-#: src/lang.c:662
+#: src/lang.c:683
 msgid "search for articles by author backwards"
 msgstr "Ð¿Ð¾Ð¸ÑÐº ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð¿Ð¾ Ð°Ð²Ñ‚Ð¾Ñ€Ñƒ (Ð½Ð°Ð·Ð°Ð´)"
 
-#: src/lang.c:663
+#: src/lang.c:684
 msgid "search for articles by author forwards"
 msgstr "Ð¿Ð¾Ð¸ÑÐº ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð¿Ð¾ Ð°Ð²Ñ‚Ð¾Ñ€Ñƒ (Ð²Ð¿ÐµÑ€Ñ‘Ð´)"
 
-#: src/lang.c:664
+#: src/lang.c:685
 msgid "search all articles for a given string (this may take some time)"
 msgstr "Ð¿Ð¾Ð¸ÑÐº Ð²ÑÐµÑ… ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð¿Ð¾ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑÑ‚Ñ€Ð¾ÐºÐµ (Ð¼Ð¾Ð¶ÐµÑ‚ Ð·Ð°Ð½ÑÑ‚ÑŒ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ðµ Ð²Ñ€ÐµÐ¼Ñ)"
 
-#: src/lang.c:665
+#: src/lang.c:686
 msgid " \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr " \t  (Ð¿Ð¾Ð¸ÑÐº Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚ Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€ Ð¸ Ð¾Ñ…Ð²Ð°Ñ‚Ñ‹Ð²Ð°ÐµÑ‚ Ð²ÑÐµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸)"
 
-#: src/lang.c:666
+#: src/lang.c:687
 msgid "search for articles by Subject line backwards"
 msgstr "Ð¿Ð¾Ð¸ÑÐº ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð¿Ð¾ Ð¢ÐµÐ¼Ðµ (Ð½Ð°Ð·Ð°Ð´)"
 
-#: src/lang.c:667
+#: src/lang.c:688
 msgid "search for articles by Subject line forwards"
 msgstr "Ð¿Ð¾Ð¸ÑÐº ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð¿Ð¾ Ð¢ÐµÐ¼Ðµ (Ð²Ð¿ÐµÑ€Ñ‘Ð´)"
 
-#: src/lang.c:668
+#: src/lang.c:689
 msgid "repeat last search"
 msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð¸Ñ‚ÑŒ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½Ð¸Ð¹ Ð¿Ð¾Ð¸ÑÐº"
 
-#: src/lang.c:669
+#: src/lang.c:690
 msgid "tag current article for reposting/mailing/piping/printing/saving"
 msgstr "Ð¾Ñ‚Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ñ‚ÐµÐºÑƒÑ‰ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¾Ñ‚Ð¿./email/piping/Ð¿ÐµÑ‡Ð°Ñ‚Ð¸/ÑÐ¾Ñ…Ñ€Ð°Ð½."
 
-#: src/lang.c:670
+#: src/lang.c:691
 msgid "toggle info message in last line (subject/description)"
 msgstr "Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð¸Ð½Ñ„. ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ Ð² Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐ¹ ÑÑ‚Ñ€Ð¾ÐºÐµ (Ñ‚ÐµÐ¼Ð°/Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ðµ)"
 
-#: src/lang.c:671
+#: src/lang.c:692
 msgid "toggle inverse video"
 msgstr "Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð¸Ð½Ð²ÐµÑ€ÑÐ¸ÑŽ Ð²Ð¸Ð´ÐµÐ¾"
 
-#: src/lang.c:672
+#: src/lang.c:693
 #, fuzzy
 msgid "toggle mini help menu and posting etiquette display"
 msgstr "Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð¼Ð¸Ð½Ð¸Ð¿Ð¾Ð´ÑÐºÐ°Ð·ÐºÑƒ"
 
-#: src/lang.c:673
+#: src/lang.c:694
 msgid "cycle the display of authors email address, real name, both or neither"
 msgstr "ÑÐ¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð¿Ð¾ÐºÐ°Ð· Ð°Ð´Ñ€ÐµÑÐ¾Ð² email, Ð¸Ð¼ÐµÐ½, Ð¾Ð±Ð¾Ð¸Ñ… Ð¸Ð»Ð¸ Ð½Ð¸Ñ‡ÐµÐ³Ð¾"
 
-#: src/lang.c:674
+#: src/lang.c:695
 msgid "show version information"
 msgstr "Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÑŽ Ð¾ Ð²ÐµÑ€ÑÐ¸Ð¸"
 
-#: src/lang.c:675
+#: src/lang.c:696
 msgid "mark all articles as read and return to group selection menu"
 msgstr "Ð¿Ð¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ð²ÑÐµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ Ð¸ Ð²ÐµÑ€Ð½ÑƒÑ‚ÑŒÑÑ Ð² Ð¼ÐµÐ½ÑŽ Ð²Ñ‹Ð±Ð¾Ñ€Ð° Ð³Ñ€ÑƒÐ¿Ð¿"
 
-#: src/lang.c:676
+#: src/lang.c:697
 msgid "mark all articles as read and enter next group with unread articles"
 msgstr ""
 "Ð¿Ð¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ð²ÑÐµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚. Ð¸ Ð²Ð¾Ð¹Ñ‚Ð¸ Ð² ÑÐ»ÐµÐ´. Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ Ñ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚. ÑÑ‚Ð°Ñ‚ÑŒÑÐ¼Ð¸"
 
-#: src/lang.c:677
+#: src/lang.c:698
 msgid "choose first thread in list"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¿ÐµÑ€Ð²ÑƒÑŽ Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑŽ Ð² ÑÐ¿Ð¸ÑÐºÐµ"
 
-#: src/lang.c:678
+#: src/lang.c:699
 msgid "choose last thread in list"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÑŽÑŽ Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑŽ Ð² ÑÐ¿Ð¸ÑÐºÐµ"
 
-#: src/lang.c:679
+#: src/lang.c:700
 msgid "list articles within current thread (bring up Thread sub-menu)"
 msgstr "ÑÐ¿Ð¸ÑÐ¾Ðº ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð² Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¸ (Ð²Ñ‹Ð·Ð²Ð°Ñ‚ÑŒ Ð¿Ð¾Ð´Ð¼ÐµÐ½ÑŽ Ð”Ð¸ÑÐºÑƒÑÑÐ¸Ñ)"
 
-#: src/lang.c:680
+#: src/lang.c:701
 msgid "mark article as unread"
 msgstr "Ð¿Ð¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½ÑƒÑŽ"
 
-#: src/lang.c:681
+#: src/lang.c:702
 #, fuzzy
 msgid "mark current thread, range or tagged threads as read"
 msgstr "Ð¿Ð¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ñ‚ÐµÐºÑƒÑ‰ÑƒÑŽ Ð´Ð¸ÑÐº. Ð¸Ð»Ð¸ Ð¾Ñ‚Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ðµ Ð´Ð¸ÑÐº. ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ"
 
-#: src/lang.c:682
+#: src/lang.c:703
 #, fuzzy
 msgid "mark current thread, range or tagged threads as unread"
 msgstr "Ð¿Ð¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ñ‚ÐµÐºÑƒÑ‰ÑƒÑŽ Ð´Ð¸ÑÐº. Ð¸Ð»Ð¸ Ð¾Ñ‚Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ðµ Ð´Ð¸ÑÐº. ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ"
 
-#: src/lang.c:683
+#: src/lang.c:704
 msgid "mark current/range/selected/pattern/tagged as read after prompting"
 msgstr ""
 
-#: src/lang.c:684
+#: src/lang.c:705
 msgid "mark current/range/selected/pattern/tagged as unread after prompting"
 msgstr ""
 
-#: src/lang.c:685
+#: src/lang.c:706
 msgid "toggle display of all/selected articles"
 msgstr "ÐŸÐ¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð²ÑÐµ/Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:686
+#: src/lang.c:707
 msgid "display next group"
 msgstr "Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ ÑÐ»ÐµÐ´ÑƒÑŽÑ‰ÑƒÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ"
 
-#: src/lang.c:687
+#: src/lang.c:708
 msgid "display previous group"
 msgstr "Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÑƒÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ"
 
-#: src/lang.c:688
+#: src/lang.c:709
 msgid "toggle all selections (all articles)"
 msgstr "Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð²ÑÐµ Ð¿Ð¾Ð¼ÐµÑ‚ÐºÐ¸ (Ð²ÑÐµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸)"
 
-#: src/lang.c:689
+#: src/lang.c:710
 msgid "select group (make \"hot\")"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ (ÑÐ´ÐµÐ»Ð°Ñ‚ÑŒ \"hot\")"
 
-#: src/lang.c:690
+#: src/lang.c:711
 msgid "select thread"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑŽ"
 
-#: src/lang.c:691
+#: src/lang.c:712
 msgid "select threads if at least one unread article is selected"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑŽ, ÐµÑÐ»Ð¸ Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ Ð¾Ð´Ð½Ð° Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚. ÑÑ‚Ð°Ñ‚ÑŒÑ Ð¿Ð¾Ð¼ÐµÑ‡ÐµÐ½Ð°"
 
-#: src/lang.c:692
+#: src/lang.c:713
 msgid "select threads that match user specified pattern"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¸, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ðµ Ð¿Ð¾Ð´Ð¿Ð°Ð´Ð°ÑŽÑ‚ Ð¿Ð¾Ð´ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¹ ÑˆÐ°Ð±Ð»Ð¾Ð½"
 
-#: src/lang.c:693
+#: src/lang.c:714
 msgid "0 - 9\t  choose thread by number"
 msgstr "0 - 9\t  Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑŽ Ð¿Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ñƒ"
 
-#: src/lang.c:694
+#: src/lang.c:715
 msgid "toggle limit number of articles to get, and reload"
 msgstr "Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð¿Ñ€ÐµÐ´ÐµÐ» Ñ‡Ð¸ÑÐ»Ð° Ð¿Ð¾Ð»ÑƒÑ‡Ð°ÐµÐ¼Ñ‹Ñ… Ð¸ Ð¿ÐµÑ€ÐµÑ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:695
+#: src/lang.c:716
 msgid "toggle display of all/unread articles"
 msgstr "Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð²ÑÐµ/Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:696
+#: src/lang.c:717
 msgid "toggle selection of thread"
 msgstr "Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð¼ÐµÑ‚ÐºÐ¸ Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¹"
 
-#: src/lang.c:697
+#: src/lang.c:718
 msgid "cycle through threading options available"
 msgstr "Ð¿ÐµÑ€ÐµÐ±Ð¾Ñ€ Ð´Ð¾ÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ… Ð¾Ð¿Ñ†Ð¸Ð¹ Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¹"
 
-#: src/lang.c:698
+#: src/lang.c:719
 msgid "undo all selections (all articles)"
 msgstr "Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð²ÑÐµ Ð¿Ð¾Ð¼ÐµÑ‚ÐºÐ¸ (Ð²ÑÐµÑ… ÑÑ‚Ð°Ñ‚ÐµÐ¹)"
 
-#: src/lang.c:699
+#: src/lang.c:720
 msgid "untag all tagged threads"
 msgstr "ÑÐ½ÑÑ‚ÑŒ Ð¼ÐµÑ‚ÐºÐ¸ Ñ Ð¾Ñ‚Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ñ… Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¹"
 
-#: src/lang.c:700
+#: src/lang.c:721
 #, fuzzy
 msgid "search for articles forwards"
 msgstr "Ð¿Ð¾Ð¸ÑÐº ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð¿Ð¾ Ð°Ð²Ñ‚Ð¾Ñ€Ñƒ (Ð²Ð¿ÐµÑ€Ñ‘Ð´)"
 
-#: src/lang.c:701
+#: src/lang.c:722
 #, fuzzy
 msgid "search for articles backwards"
 msgstr "Ð¿Ð¾Ð¸ÑÐº ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð¿Ð¾ Ð°Ð²Ñ‚Ð¾Ñ€Ñƒ (Ð½Ð°Ð·Ð°Ð´)"
 
-#: src/lang.c:702
+#: src/lang.c:723
 #, fuzzy
 msgid "toggle info message in last line (Message-ID)"
 msgstr "Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð¸Ð½Ñ„. ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ Ð² Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐ¹ ÑÑ‚Ñ€Ð¾ÐºÐµ (Ñ‚ÐµÐ¼Ð°/Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ðµ)"
 
-#: src/lang.c:703
+#: src/lang.c:724
 #, fuzzy
 msgid "Open article by Message-ID"
 msgstr "Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ Ð½Ð° ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð¿Ð¾ Message-ID"
 
-#: src/lang.c:704
+#: src/lang.c:725
 msgid "add new scope"
 msgstr ""
 
-#: src/lang.c:705
+#: src/lang.c:726
 #, fuzzy
 msgid "delete scope"
 msgstr "Ð’Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°: "
 
-#: src/lang.c:706
+#: src/lang.c:727
 #, fuzzy
 msgid "edit attributes file"
 msgstr "Ð—Ð°Ð¿Ð¸ÑÑŒ Ñ„Ð°Ð¹Ð»Ð° Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð²..."
 
-#: src/lang.c:707
+#: src/lang.c:728
 #, fuzzy
 msgid "choose first scope in list"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¿ÐµÑ€Ð²ÑƒÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ Ð² ÑÐ¿Ð¸ÑÐºÐµ"
 
-#: src/lang.c:708
+#: src/lang.c:729
 #, fuzzy
 msgid "0 - 9\t  choose scope by number"
 msgstr "0 - 9\t  Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ Ð¿Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ñƒ"
 
-#: src/lang.c:709
+#: src/lang.c:730
 #, fuzzy
 msgid "choose last scope in list"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÑŽÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ Ð² ÑÐ¿Ð¸ÑÐºÐµ"
 
-#: src/lang.c:710
+#: src/lang.c:731
 msgid "move scope"
 msgstr ""
 
-#: src/lang.c:711
+#: src/lang.c:732
 msgid "rename scope"
 msgstr ""
 
-#: src/lang.c:712
+#: src/lang.c:733
 #, fuzzy
 msgid "select scope"
 msgstr "Ð²Ñ‹Ñ…Ð¾Ð´ Ð² Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÑƒ"
 
-#: src/lang.c:713
+#: src/lang.c:734
 msgid "mark all articles in group as read"
 msgstr "Ð¿Ð¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ð²ÑÐµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ðµ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ"
 
-#: src/lang.c:714
+#: src/lang.c:735
 msgid "mark all articles in group as read and move to next unread group"
 msgstr ""
 "Ð¿Ð¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ð²ÑÐµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ðµ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚. Ð¸ Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ Ðº ÑÐ»ÐµÐ´. Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚. Ð³Ñ€ÑƒÐ¿Ð¿Ðµ"
 
-#: src/lang.c:715
+#: src/lang.c:736
 msgid "choose first group in list"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¿ÐµÑ€Ð²ÑƒÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ Ð² ÑÐ¿Ð¸ÑÐºÐµ"
 
-#: src/lang.c:716
+#: src/lang.c:737
 msgid "choose group by name"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ Ð¿Ð¾ Ð¸Ð¼ÐµÐ½Ð¸"
 
-#: src/lang.c:717
+#: src/lang.c:738
 msgid "0 - 9\t  choose group by number"
 msgstr "0 - 9\t  Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ Ð¿Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ñƒ"
 
-#: src/lang.c:718
+#: src/lang.c:739
 msgid "choose range of groups to be affected by next command"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ Ð³Ñ€ÑƒÐ¿Ð¿ Ð¿Ð¾Ð´Ð²ÐµÑ€Ð¶ÐµÐ½Ð½Ñ‹Ñ… ÑÐ»ÐµÐ´ÑƒÑŽÑ‰ÐµÐ¹ ÐºÐ¾Ð¼Ð°Ð½Ð´Ðµ"
 
-#: src/lang.c:719
+#: src/lang.c:740
 msgid "choose last group in list"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÑŽÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ Ð² ÑÐ¿Ð¸ÑÐºÐµ"
 
-#: src/lang.c:721
+#: src/lang.c:742
 #, fuzzy
 msgid "list groups which an article has been posted to (by Message-ID)"
 msgstr "Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ Ð½Ð° ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð¿Ð¾ Message-ID"
 
-#: src/lang.c:722
+#: src/lang.c:743
 msgid " \t  (go to article if at least one of the groups is available)"
 msgstr ""
 
-#: src/lang.c:724
+#: src/lang.c:745
 msgid "mark all articles in chosen group unread"
 msgstr "Ð¿Ð¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ð²ÑÐµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ðµ ÐºÐ°Ðº Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ"
 
-#: src/lang.c:725
+#: src/lang.c:746
 msgid "move chosen group within list"
 msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÑÑ‚Ð¸Ñ‚ÑŒ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ Ð² ÑÐ¿Ð¸ÑÐºÐµ"
 
-#: src/lang.c:726
+#: src/lang.c:747
 msgid "choose next group with unread news"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ ÑÐ»ÐµÐ´. Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ Ñ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ð½Ð¾Ð²Ð¾ÑÑ‚ÑÐ¼Ð¸"
 
-#: src/lang.c:727 src/lang.c:1748
+#: src/lang.c:748 src/lang.c:1797
 msgid "quit"
 msgstr "Ð²Ñ‹Ñ…Ð¾Ð´"
 
-#: src/lang.c:728
+#: src/lang.c:749
 msgid "quit without saving configuration changes"
 msgstr "Ð²Ñ‹Ñ…Ð¾Ð´ Ð±ÐµÐ· ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ñ… Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹"
 
-#: src/lang.c:729
+#: src/lang.c:750
 msgid "read chosen group"
 msgstr "Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½ÑƒÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ"
 
-#: src/lang.c:730
+#: src/lang.c:751
 msgid "reset .newsrc (all available articles in groups marked unread)"
 msgstr "ÑÐ±Ñ€Ð¾ÑÐ¸Ñ‚ÑŒ .newsrc (Ð²ÑÐµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ðµ Ð¿Ð¾Ð¼ÐµÑ‚ÑÑ‚ÑÑ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ð¼Ð¸)"
 
-#: src/lang.c:731
+#: src/lang.c:752
 msgid "search backwards for a group name"
 msgstr "Ð¿Ð¾Ð¸ÑÐº Ð¸Ð¼ÐµÐ½Ð¸ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ (Ð½Ð°Ð·Ð°Ð´)"
 
-#: src/lang.c:732
+#: src/lang.c:753
 msgid " \t  (all searches are case-insensitive and wrap around)"
 msgstr " \t  (Ð²ÑÐµ Ð¿Ð¾Ð¸ÑÐºÐ¸ Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€Ð¾-Ð½ÐµÐ·Ð°Ð²Ð¸ÑÐ¸Ð¼Ñ‹ Ð¸ Ð¾Ñ…Ð²Ð°Ñ‚Ñ‹Ð²Ð°ÑŽÑ‚ Ð²ÑÐµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸/Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹)"
 
-#: src/lang.c:733
+#: src/lang.c:754
 msgid "search forwards for a group name"
 msgstr "Ð¿Ð¾Ð¸ÑÐº Ð¸Ð¼ÐµÐ½Ð¸ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ (Ð²Ð¿ÐµÑ€Ñ‘Ð´)"
 
-#: src/lang.c:734
+#: src/lang.c:755
 msgid "subscribe to chosen group"
 msgstr "Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ñ‚ÑŒÑÑ Ð½Ð° Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½ÑƒÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ"
 
-#: src/lang.c:735
+#: src/lang.c:756
 msgid "subscribe to groups that match pattern"
 msgstr "Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ñ‚ÑŒÑÑ Ð½Ð° Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹, ÑÐ¾Ð²Ð¿Ð°Ð´Ð°ÑŽÑ‰Ð¸Ðµ Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð¼"
 
-#: src/lang.c:736
+#: src/lang.c:757
 msgid "reread active file to check for any new news"
 msgstr "Ð¿ÐµÑ€ÐµÑ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ„Ð°Ð¹Ð» active Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ Ð½Ð¾Ð²Ñ‹Ñ… Ð½Ð¾Ð²Ð¾ÑÑ‚ÐµÐ¹"
 
-#: src/lang.c:737
+#: src/lang.c:758
 msgid "show NNTP[S] connection details"
 msgstr ""
 
-#: src/lang.c:738
+#: src/lang.c:759
 msgid "toggle display of group name only or group name plus description"
 msgstr "Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ Ð²Ñ‹Ð²Ð¾Ð´: Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð¸Ð»Ð¸ Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð¿Ð»ÑŽÑ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ðµ"
 
-#: src/lang.c:739
+#: src/lang.c:760
 msgid "toggle display to show all/unread subscribed groups"
 msgstr "Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ Ð²Ñ‹Ð²Ð¾Ð´: Ð²ÑÐµ/Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ð½Ð½Ñ‹Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹"
 
-#: src/lang.c:740
+#: src/lang.c:761
 msgid "unsubscribe from chosen group"
 msgstr "Ð¾Ñ‚Ð¿Ð¸ÑÐ°Ñ‚ÑŒÑÑ Ð¾Ñ‚ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð¹ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹"
 
-#: src/lang.c:741
+#: src/lang.c:762
 msgid "unsubscribe from groups that match pattern"
 msgstr "Ð¾Ñ‚Ð¿Ð¸ÑÐ°Ñ‚ÑŒÑÑ Ð¾Ñ‚ Ð³Ñ€ÑƒÐ¿Ð¿, ÑÐ¾Ð²Ð¿Ð°Ð´Ð°ÑŽÑ‰Ð¸Ñ… Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð¼"
 
-#: src/lang.c:742
+#: src/lang.c:763
 msgid "sort the list of groups"
 msgstr "ÑÐ¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ ÑÐ¿Ð¸ÑÐ¾Ðº Ð³Ñ€ÑƒÐ¿Ð¿"
 
-#: src/lang.c:743
+#: src/lang.c:764
 msgid "toggle display to show all/subscribed groups"
 msgstr "Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ Ð²Ñ‹Ð²Ð¾Ð´: Ð²ÑÐµ/Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ð½Ð½Ñ‹Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹"
 
-#: src/lang.c:744
+#: src/lang.c:765
 #, fuzzy
 msgid "tag/untag all parts of current multipart-message in order"
 msgstr "Ð¿Ð¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ð²ÑÐµ Ñ‡Ð°ÑÑ‚Ð¸ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ multipart-ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾ Ð¿Ð¾Ñ€ÑÐ´ÐºÑƒ"
 
-#: src/lang.c:745
+#: src/lang.c:766
 msgid "0 - 9\t  choose article by number"
 msgstr "0 - 9\t  Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð¿Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ñƒ"
 
-#: src/lang.c:746
+#: src/lang.c:767
 msgid "mark thread as read and return to group index page"
 msgstr ""
 "Ð¿Ð¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑŽ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½ÑƒÑŽ Ð¸ Ð²ÐµÑ€Ð½ÑƒÑ‚ÑŒÑÑ Ð½Ð° ÑÑ‚Ñ€Ð°Ð½Ð¸Ñ†Ñƒ Ð¸Ð½Ð´ÐµÐºÑÐ° Ð³Ñ€ÑƒÐ¿Ð¿"
 
-#: src/lang.c:747
+#: src/lang.c:768
 msgid "mark thread as read and enter next unread thread or group"
 msgstr ""
 "Ð¿Ð¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ð´Ð¸ÑÐº. ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚. Ð¸ Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ Ð² ÑÐ»ÐµÐ´. Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚. Ð´Ð¸ÑÐº. Ð¸Ð»Ð¸ Ð³Ñ€ÑƒÐ¿Ð¿Ðµ"
 
-#: src/lang.c:748
+#: src/lang.c:769
 msgid "choose first article in list"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¿ÐµÑ€Ð²ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð² ÑÐ¿Ð¸ÑÐºÐµ"
 
-#: src/lang.c:749
+#: src/lang.c:770
 msgid "choose last article in list"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÑŽÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð² ÑÐ¿Ð¸ÑÐºÐµ"
 
-#: src/lang.c:750
+#: src/lang.c:771
 #, fuzzy
 msgid "mark art, range or tagged arts as read; move crsr to next unread art"
 msgstr ""
 "Ð¿Ð¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð¸Ð»Ð¸ Ð¾Ñ‚Ð¼ÐµÑ‡. ÑÑ‚Ð°Ñ‚ÑŒÐ¸ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚. Ð¸ Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ Ðº ÑÐ»ÐµÐ´. Ð½ÐµÐ¿Ñ€Ð¾Ñ‡. "
 "ÑÑ‚Ð°Ñ‚ÑŒÐµ"
 
-#: src/lang.c:751
+#: src/lang.c:772
 #, fuzzy
 msgid "mark article, range or tagged articles as unread"
 msgstr "Ð¿Ð¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½ÑƒÑŽ"
 
-#: src/lang.c:752
+#: src/lang.c:773
 #, fuzzy
 msgid "mark current thread as unread"
 msgstr "Ð¿Ð¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑŽ ÐºÐ°Ðº Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½ÑƒÑŽ"
 
-#: src/lang.c:753
+#: src/lang.c:774
 msgid "read chosen article"
 msgstr "Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ"
 
-#: src/lang.c:754
+#: src/lang.c:775
 msgid ""
 "Display properties\n"
 "------------------"
@@ -2681,7 +2760,7 @@ msgstr ""
 "ÐŸÐ¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ ÑÐ²Ð¾Ð¹ÑÑ‚Ð²Ð°\n"
 "-----------------"
 
-#: src/lang.c:755
+#: src/lang.c:776
 #, fuzzy
 msgid ""
 "Miscellaneous\n"
@@ -2690,7 +2769,7 @@ msgstr ""
 "Ð Ð°Ð·Ð½Ñ‹Ðµ\n"
 "------"
 
-#: src/lang.c:756
+#: src/lang.c:777
 msgid ""
 "Moving around\n"
 "-------------"
@@ -2698,7 +2777,7 @@ msgstr ""
 "Ð”Ð²Ð¸Ð¶ÐµÐ½Ð¸Ðµ\n"
 "--------"
 
-#: src/lang.c:757
+#: src/lang.c:778
 msgid ""
 "Group/thread/article operations\n"
 "-------------------------------"
@@ -2706,7 +2785,7 @@ msgstr ""
 "ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ð¸ Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð°Ð¼Ð¸/Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑÐ¼/ÑÑ‚Ð°Ñ‚ÑŒÑÐ¼Ð¸\n"
 "---------------------------------------"
 
-#: src/lang.c:758
+#: src/lang.c:779
 #, fuzzy
 msgid ""
 "Attachment operations\n"
@@ -2715,7 +2794,7 @@ msgstr ""
 "ÐŸÐ¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ ÑÐ²Ð¾Ð¹ÑÑ‚Ð²Ð°\n"
 "-----------------"
 
-#: src/lang.c:759
+#: src/lang.c:780
 #, fuzzy
 msgid ""
 "Attribute operations\n"
@@ -2724,7 +2803,7 @@ msgstr ""
 "ÐŸÐ¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ ÑÐ²Ð¾Ð¹ÑÑ‚Ð²Ð°\n"
 "-----------------"
 
-#: src/lang.c:760
+#: src/lang.c:781
 #, fuzzy
 msgid ""
 "Option operations\n"
@@ -2733,7 +2812,7 @@ msgstr ""
 "ÐŸÐ¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ ÑÐ²Ð¾Ð¹ÑÑ‚Ð²Ð°\n"
 "-----------------"
 
-#: src/lang.c:761
+#: src/lang.c:782
 #, fuzzy
 msgid ""
 "Posted article operations\n"
@@ -2742,7 +2821,7 @@ msgstr ""
 "ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ð¸ Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð°Ð¼Ð¸/Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑÐ¼/ÑÑ‚Ð°Ñ‚ÑŒÑÐ¼Ð¸\n"
 "---------------------------------------"
 
-#: src/lang.c:762
+#: src/lang.c:783
 #, fuzzy
 msgid ""
 "Scope operations\n"
@@ -2751,7 +2830,7 @@ msgstr ""
 "ÐŸÐ¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ ÑÐ²Ð¾Ð¹ÑÑ‚Ð²Ð°\n"
 "-----------------"
 
-#: src/lang.c:763
+#: src/lang.c:784
 #, fuzzy
 msgid ""
 "URL operations\n"
@@ -2760,106 +2839,106 @@ msgstr ""
 "ÐŸÐ¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ ÑÐ²Ð¾Ð¹ÑÑ‚Ð²Ð°\n"
 "-----------------"
 
-#: src/lang.c:764
+#: src/lang.c:785
 #, fuzzy
 msgid "choose first URL in list"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¿ÐµÑ€Ð²ÑƒÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ Ð² ÑÐ¿Ð¸ÑÐºÐµ"
 
-#: src/lang.c:765
+#: src/lang.c:786
 #, fuzzy
 msgid "0 - 9\t  choose URL by number"
 msgstr "0 - 9\t  Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ Ð¿Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ñƒ"
 
-#: src/lang.c:766
+#: src/lang.c:787
 #, fuzzy
 msgid "choose last URL in list"
 msgstr "Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÑŽÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ Ð² ÑÐ¿Ð¸ÑÐºÐµ"
 
-#: src/lang.c:767
+#: src/lang.c:788
 #, fuzzy
 msgid "search for URLs forwards"
 msgstr "Ð¿Ð¾Ð¸ÑÐº ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð¿Ð¾ Ð°Ð²Ñ‚Ð¾Ñ€Ñƒ (Ð²Ð¿ÐµÑ€Ñ‘Ð´)"
 
-#: src/lang.c:768
+#: src/lang.c:789
 #, fuzzy
 msgid "search for URLs backwards"
 msgstr "Ð¿Ð¾Ð¸ÑÐº ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð¿Ð¾ Ð°Ð²Ñ‚Ð¾Ñ€Ñƒ (Ð½Ð°Ð·Ð°Ð´)"
 
-#: src/lang.c:769
+#: src/lang.c:790
 msgid "Open URL in browser"
 msgstr ""
 
-#: src/lang.c:770
+#: src/lang.c:791
 #, fuzzy
 msgid "toggle info message in last line (URL)"
 msgstr "Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð¸Ð½Ñ„. ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ Ð² Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐ¹ ÑÑ‚Ñ€Ð¾ÐºÐµ (Ñ‚ÐµÐ¼Ð°/Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ðµ)"
 
-#: src/lang.c:772
+#: src/lang.c:793
 msgid "Group Level Commands"
 msgstr "ÐšÐ¾Ð¼Ð°Ð½Ð´Ñ‹ ÑƒÑ€Ð¾Ð²Ð½Ñ Ð³Ñ€ÑƒÐ¿Ð¿"
 
-#: src/lang.c:773
+#: src/lang.c:794
 msgid "Kill filter added"
 msgstr "Ð£Ð½Ð¸Ñ‡Ñ‚Ð¾Ð¶Ð¸Ñ‚ÑŒ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ð¹ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€"
 
-#: src/lang.c:774
+#: src/lang.c:795
 msgid "Auto-selection filter added"
 msgstr "Ð¤Ð¸Ð»ÑŒÑ‚Ñ€ Ð°Ð²Ñ‚Ð¾Ð²Ñ‹Ð±Ð¾Ñ€Ð° Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½"
 
-#: src/lang.c:775
+#: src/lang.c:796
 msgid "All parts tagged"
 msgstr "Ð’ÑÐµ Ñ‡Ð°ÑÑ‚Ð¸ Ð¿Ð¾Ð¼ÐµÑ‡ÐµÐ½Ñ‹"
 
-#: src/lang.c:776
+#: src/lang.c:797
 #, fuzzy
 msgid "All parts untagged"
 msgstr "Ð’ÑÐµ Ñ‡Ð°ÑÑ‚Ð¸ Ð¿Ð¾Ð¼ÐµÑ‡ÐµÐ½Ñ‹"
 
-#: src/lang.c:777
+#: src/lang.c:798
 #, c-format
 msgid "Building References-trees (%d/%d)..."
 msgstr ""
 
-#: src/lang.c:778
+#: src/lang.c:799
 msgid "Storing article for later posting"
 msgstr "Ð¡Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð´Ð»Ñ Ð¾Ñ‚Ð»Ð¾Ð¶ÐµÐ½Ð½Ð¾Ð¹ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸"
 
-#: src/lang.c:779
+#: src/lang.c:800
 msgid "Please enter a valid character"
 msgstr "ÐŸÐ¾Ð¶Ð°Ð»ÑƒÐ¹ÑÑ‚Ð° Ð²Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ð´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ñ‹Ð¹ ÑÐ¸Ð¼Ð²Ð¾Ð»"
 
-#: src/lang.c:780
+#: src/lang.c:801
 #, c-format
 msgid "Missing part #%d"
 msgstr "ÐŸÑ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð° Ñ‡Ð°ÑÑ‚ÑŒ #%d"
 
-#: src/lang.c:781
+#: src/lang.c:802
 msgid "*** No postponed articles ***"
 msgstr "*** ÐÐµÑ‚ Ð¾Ñ‚Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹ ***"
 
-#: src/lang.c:782
+#: src/lang.c:803
 msgid "Not a multi-part message"
 msgstr "ÐÐµ multi-part ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ"
 
-#: src/lang.c:783
+#: src/lang.c:804
 msgid "You are not subscribed to this group"
 msgstr "Ð’Ñ‹ Ð½Ðµ Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ð½Ñ‹ Ð½Ð° ÑÑ‚Ñƒ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ"
 
-#: src/lang.c:784
+#: src/lang.c:805
 msgid "No previous expression"
 msgstr "ÐÐµÑ‚ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ³Ð¾ Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ"
 
-#: src/lang.c:785
+#: src/lang.c:806
 msgid "Operation disabled in no-overwrite mode"
 msgstr "ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð·Ð°Ð¿Ñ€ÐµÑ‰ÐµÐ½Ð° Ð² Ñ€ÐµÐ¶Ð¸Ð¼Ðµ Ð·Ð°Ð¿Ñ€ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸ÑÐ¸"
 
 #. TODO: replace hard coded key-name in txt_info_postponed
-#: src/lang.c:787
+#: src/lang.c:808
 #, c-format
 msgid "%d postponed %s, reuse with ^O...\n"
 msgstr "%d Ð¾Ñ‚Ð»Ð¾Ð¶ÐµÐ½Ð°(Ñ‹) %s, Ð²Ð¾Ð·Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ Ñ ^O...\n"
 
-#: src/lang.c:788
+#: src/lang.c:809
 msgid ""
 "X-Conversion-Note: multipart/alternative contents have been removed.\n"
 "  To get the whole article, turn alternative handling OFF in the Option "
@@ -2869,17 +2948,17 @@ msgstr ""
 "  Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð²ÑÐµÐ¹ ÑÑ‚Ð°Ñ‚ÑŒÐ¸, Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚Ðµ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÑƒ multipart/alternative\n"
 "  ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð½Ð° OFF Ð² ÐœÐµÐ½ÑŽ Ð¾Ð¿Ñ†Ð¸Ð¹\n"
 
-#: src/lang.c:790
+#: src/lang.c:811
 #, c-format
 msgid "Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr "Ð¤Ð°Ð¹Ð» Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ  %s/%s - mailbox. Ð’Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ð½Ðµ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¾"
 
-#: src/lang.c:791
+#: src/lang.c:812
 msgid "TeX2Iso encoded article"
 msgstr "TeX2Iso ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ ÑÑ‚Ð°Ñ‚ÑŒÑ"
 
 #. TODO: replace hard coded key-names
-#: src/lang.c:793
+#: src/lang.c:814
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -2945,152 +3024,152 @@ msgstr ""
 "TODO Ð¸ FTP. Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ð± Ð¾ÑˆÐ¸Ð±ÐºÐ°Ñ… Ð¸ Ð¾Ñ‚Ð·Ñ‹Ð²Ñ‹ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÑÐ¹Ñ‚Ðµ %s Ð¿Ñ€Ð¸ Ð¿Ð¾Ð¼Ð¾Ñ‰Ð¸ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ "
 "'R'.\n"
 
-#: src/lang.c:809
+#: src/lang.c:830
 #, c-format
-msgid "Invalid  From: %s  line. Read the INSTALL file again."
-msgstr "ÐÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ð°Ñ ÑÑ‚Ñ€Ð¾ÐºÐ° From: %s. ÐŸÑ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð¹Ñ‚Ðµ Ñ„Ð°Ð¹Ð» INSTALL ÑÐ½Ð¾Ð²Ð°."
+msgid "Invalid From:-header \"%s\". Check your mail_address setting."
+msgstr ""
 
-#: src/lang.c:811
+#: src/lang.c:832
 msgid "Invalid multibyte sequence found\n"
 msgstr "ÐÐ°Ð¹Ð´ÐµÐ½Ð° Ð½ÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ð°Ñ Ð¼ÑƒÐ»ÑŒÑ‚Ð¸Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð¾ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾ÑÑ‚ÑŒ\n"
 
-#: src/lang.c:814
+#: src/lang.c:835
 #, c-format
-msgid "Invalid  Sender:-header %s"
-msgstr "ÐÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ñ‹Ð¹ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Sender: %s"
+msgid "Invalid Sender:-header \"%s\""
+msgstr "ÐÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ñ‹Ð¹ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Sender: \"%s\""
 
-#: src/lang.c:816
+#: src/lang.c:837
 msgid "Inverse video disabled"
 msgstr "Ð˜Ð½Ð²ÐµÑ€ÑÐ½Ð¾Ðµ Ð²Ð¸Ð´ÐµÐ¾ Ð·Ð°Ð¿Ñ€ÐµÑ‰ÐµÐ½Ð¾"
 
-#: src/lang.c:817
+#: src/lang.c:838
 msgid "Inverse video enabled"
 msgstr "Ð˜Ð½Ð²ÐµÑ€ÑÐ½Ð¾Ðµ Ð²Ð¸Ð´ÐµÐ¾ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¾"
 
-#: src/lang.c:819
+#: src/lang.c:840
 #, c-format
 msgid "Missing definition for %s\n"
 msgstr "ÐŸÑ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð¾ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ %s\n"
 
-#: src/lang.c:820
+#: src/lang.c:841
 #, c-format
 msgid "Invalid key definition '%s'\n"
 msgstr "ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ¸ '%s'\n"
 
-#: src/lang.c:821
+#: src/lang.c:842
 #, c-format
 msgid "Invalid keyname '%s'\n"
 msgstr "ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ðµ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ¸ '%s'\n"
 
-#: src/lang.c:822
+#: src/lang.c:843
 #, c-format
 msgid "Keymap file was upgraded to version %s\n"
 msgstr "Ð¤Ð°Ð¹Ð» Keymap Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½ Ð´Ð¾ Ð²ÐµÑ€ÑÐ¸Ð¸ %s\n"
 
-#: src/lang.c:823
+#: src/lang.c:844
 #, c-format
 msgid "Kill From:     [%s] (y/n): "
 msgstr "Ð£Ð½Ð¸Ñ‡Ñ‚Ð¾Ð¶Ð¸Ñ‚ÑŒ From:    [%s] (y/n): "
 
-#: src/lang.c:824
+#: src/lang.c:845
 msgid "Kill Lines: (</>num): "
 msgstr "Ð£Ð½Ð¸Ñ‡Ñ‚Ð¾Ð¶Ð¸Ñ‚ÑŒ ÑÑ‚Ñ€Ð¾ÐºÐ¸: (</>num): "
 
-#: src/lang.c:825
+#: src/lang.c:846
 msgid "Kill Article Menu"
 msgstr "Ð£Ð½Ð¸Ñ‡Ñ‚Ð¾Ð¶Ð¸Ñ‚ÑŒ Ð¼ÐµÐ½ÑŽ ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:826
+#: src/lang.c:847
 #, fuzzy, c-format
 msgid "Kill Msg-ID:   [%s] (f/l/o/n): "
 msgstr "Ð£Ð½Ð¸Ñ‡Ñ‚Ð¾Ð¶Ð¸Ñ‚ÑŒ Msg-Id:   [%s] (f/l/o/n): "
 
-#: src/lang.c:827
+#: src/lang.c:848
 msgid "Kill pattern scope  : "
 msgstr "Ð£Ð½Ð¸Ñ‡Ñ‚Ð¾Ð¶Ð¸Ñ‚ÑŒ ÑˆÐ°Ð±Ð»Ð¾Ð½ Ð¾Ð±Ð·Ð¾Ñ€Ð°  : "
 
-#: src/lang.c:828
+#: src/lang.c:849
 #, c-format
 msgid "Kill Subject:  [%s] (y/n): "
 msgstr "Ð£Ð½Ð¸Ñ‡Ñ‚Ð¾Ð¶Ð¸Ñ‚ÑŒ Ð¢ÐµÐ¼Ñƒ:  [%s] (y/n): "
 
-#: src/lang.c:829
+#: src/lang.c:850
 msgid "Kill text pattern   : "
 msgstr "Ð£Ð½Ð¸Ñ‡Ñ‚Ð¾Ð¶Ð¸Ñ‚ÑŒ ÑˆÐ°Ð±Ð»Ð¾Ð½    : "
 
-#: src/lang.c:830
+#: src/lang.c:851
 msgid "Kill time in days   : "
 msgstr "Ð£Ð½Ð¸Ñ‡Ñ‚Ð¾Ð¶Ð¸Ñ‚ÑŒ Ð²Ñ€ÐµÐ¼Ñ Ð² Ð´Ð½ÑÑ…   : "
 
-#: src/lang.c:832
+#: src/lang.c:853
 msgid "Last"
 msgstr "ÐŸÐ¾ÑÐ»ÐµÐ´Ð½Ð¸Ð¹"
 
-#: src/lang.c:833
+#: src/lang.c:854
 msgid "-- Last response --"
 msgstr "-- ÐŸÐ¾ÑÐ»ÐµÐ´Ð½Ð¸Ð¹ Ð¾Ñ‚Ð²ÐµÑ‚ --"
 
-#: src/lang.c:834
+#: src/lang.c:855
 #, c-format
 msgid "Lines %s  "
 msgstr "Ð¡Ñ‚Ñ€Ð¾Ðº %s  "
 
-#: src/lang.c:840
+#: src/lang.c:861
 #, fuzzy
 msgid "Function not available."
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð½ÐµÐ´Ð¾ÑÑ‚ÑƒÐ¿Ð½Ð°"
 
-#: src/lang.c:841
+#: src/lang.c:862
 msgid "Not reading via NNTP."
 msgstr ""
 
-#: src/lang.c:843
+#: src/lang.c:864
 #, fuzzy, c-format
 msgid "Group: %s"
 msgstr "Ð“Ñ€ÑƒÐ¿Ð¿Ð° %.*s..."
 
-#: src/lang.c:844
+#: src/lang.c:865
 #, fuzzy, c-format
 msgid "Groups: %s"
 msgstr "Ð“Ñ€ÑƒÐ¿Ð¿Ð° %.*s..."
 
-#: src/lang.c:847
+#: src/lang.c:868
 msgid "Mail"
 msgstr ""
 
-#: src/lang.c:848
+#: src/lang.c:869
 msgid "mailbox "
 msgstr ""
 
-#: src/lang.c:849
+#: src/lang.c:870
 #, c-format
 msgid "Mail article(s) to [%.*s]> "
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ(Ð¸) Ð¿Ð¾ email [%.*s]> "
 
-#: src/lang.c:850
+#: src/lang.c:871
 #, c-format
 msgid "Mailing log to %s\n"
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ Ð»Ð¾Ð³-ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ %s\n"
 
-#: src/lang.c:851
+#: src/lang.c:872
 msgid "Mail bug report..."
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð»ÑÐµÑ‚ÑÑ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ Ð¾Ð± Ð¾ÑˆÐ¸Ð±ÐºÐµ..."
 
-#: src/lang.c:852
+#: src/lang.c:873
 #, c-format
 msgid "Mail BUG REPORT to %s?"
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ Ð¾Ð± Ð¾ÑˆÐ¸Ð±ÐºÐµ %s?"
 
-#: src/lang.c:853
+#: src/lang.c:874
 msgid "Mailed"
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¾ Ð¿Ð¾ email"
 
-#: src/lang.c:854
+#: src/lang.c:875
 #, c-format
 msgid "Mailing to %s..."
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð»ÑÐµÑ‚ÑÑ Ð¿Ð¾ email %s..."
 
-#: src/lang.c:855
+#: src/lang.c:876
 msgid ""
 "# [Mail/Save] active file. Format is like news active file:\n"
 "#   groupname  max.artnum  min.artnum  /dir\n"
@@ -3098,84 +3177,84 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:858
+#: src/lang.c:879
 #, fuzzy, c-format
 msgid "%s marked as read"
 msgstr "%s Ð¿Ð¾Ð¼ÐµÑ‡ÐµÐ½Ð¾ ÐºÐ°Ðº Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð¾"
 
-#: src/lang.c:859
+#: src/lang.c:880
 #, c-format
 msgid "%s marked as unread"
 msgstr "%s Ð¿Ð¾Ð¼ÐµÑ‡ÐµÐ½Ð¾ ÐºÐ°Ðº Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð¾"
 
-#: src/lang.c:860
+#: src/lang.c:881
 #, fuzzy, c-format
 msgid "Marked %d of %d %s as read"
 msgstr "ÐŸÐ¾Ð¼ÐµÑ‡ÐµÐ½Ð¾ %d Ð¸Ð· %d Ð¾Ñ‚Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ñ… %s ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ"
 
-#: src/lang.c:861
+#: src/lang.c:882
 #, fuzzy, c-format
 msgid "Marked %d of %d %s as unread"
 msgstr "ÐŸÐ¾Ð¼ÐµÑ‡ÐµÐ½Ð¾ %d Ð¸Ð· %d Ð¾Ñ‚Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ñ… %s ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ"
 
-#: src/lang.c:862 src/lang.c:1704
+#: src/lang.c:883 src/lang.c:1753
 msgid "Mark"
 msgstr ""
 
-#: src/lang.c:863
+#: src/lang.c:884
 #, c-format
 msgid "Mark all articles as read%s?"
 msgstr "ÐŸÐ¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ð²ÑÐµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ%s?"
 
-#: src/lang.c:864
+#: src/lang.c:885
 #, fuzzy, c-format
 msgid "Mark article as read%s?"
 msgstr "ÐŸÐ¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ð²ÑÐµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ%s?"
 
-#: src/lang.c:865
+#: src/lang.c:886
 #, c-format
 msgid "Mark group %s as read?"
 msgstr "ÐŸÐ¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ %s ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½ÑƒÑŽ?"
 
-#: src/lang.c:866
+#: src/lang.c:887
 #, c-format
 msgid "Mark thread as read%s?"
 msgstr "ÐŸÐ¾Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑŽ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½ÑƒÑŽ %s?"
 
-#: src/lang.c:867
+#: src/lang.c:888
 #, c-format
 msgid "Matching %s groups..."
 msgstr "Ð¡Ð¾Ð¿Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð¼ %s Ð³Ñ€ÑƒÐ¿Ð¿..."
 
-#: src/lang.c:868 src/lang.c:881 src/lang.c:884 src/lang.c:890
+#: src/lang.c:889 src/lang.c:902 src/lang.c:905 src/lang.c:911
 #, fuzzy, c-format
 msgid "<n>=set current to n; %s=line down; %s=line up; %s=help; %s=quit"
 msgstr "<n>=Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ Ðº n; %s=ÑÐ»ÐµÐ´. Ð½ÐµÐ¿Ñ€Ð¾Ñ‡.; %s=catchup; %s=Ð¸Ð·Ð¼ÐµÐ½. Ð²Ð¸Ð´"
 
-#: src/lang.c:870
+#: src/lang.c:891
 #, fuzzy, c-format
 msgid ""
 "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr "%s=mail; %s=Ð²Ñ‹Ñ…Ð¾Ð´; %s=Ð¾Ñ‚Ð²ÐµÑ‚Ð¸Ñ‚ÑŒ; %s=ÑÐ¾Ñ…Ñ€Ð°Ð½Ð¸Ñ‚ÑŒ; %s=Ð¾Ñ‚Ð¼.; %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ"
 
-#: src/lang.c:872
+#: src/lang.c:893
 #, fuzzy, c-format
 msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr "%s=mail; %s=Ð²Ñ‹Ñ…Ð¾Ð´; %s=Ð¾Ñ‚Ð²ÐµÑ‚Ð¸Ñ‚ÑŒ; %s=ÑÐ¾Ñ…Ñ€Ð°Ð½Ð¸Ñ‚ÑŒ; %s=Ð¾Ñ‚Ð¼.; %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ"
 
-#: src/lang.c:874
+#: src/lang.c:895
 #, fuzzy, c-format
 msgid ""
 "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search"
 msgstr "%s=Ð¿Ð¾Ð¸ÑÐº Ð²Ð¿ÐµÑ€Ñ‘Ð´; %s=Ð¿Ð¾Ð¸ÑÐº Ð½Ð°Ð·Ð°Ð´; %s=Ð²Ñ‹Ñ…Ð¾Ð´"
 
-#: src/lang.c:875 src/lang.c:879
+#: src/lang.c:896 src/lang.c:900
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=search pattern; %s=kill/select"
 msgstr ""
 "<n>=Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ Ðº n; %s=ÑÐ»ÐµÐ´. Ð½ÐµÐ¿Ñ€Ð¾Ñ‡.; %s=Ð¿Ð¾Ð¸ÑÐº Ð¿Ð¾ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ; %s=ÑƒÐ½Ð¸Ñ‡Ñ‚./Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ"
 
-#: src/lang.c:876
+#: src/lang.c:897
 #, c-format
 msgid ""
 "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; "
@@ -3184,40 +3263,40 @@ msgstr ""
 "%s=Ð¿Ð¾Ð¸ÑÐº Ð°Ð²Ñ‚.; %s=catchup; %s=ÑÑ‚Ñ€Ðº. Ð²Ð½Ð¸Ð·.; %s=ÑÑ‚Ñ€Ðº. Ð²Ð²ÐµÑ€Ñ….; %s=Ð¼Ð°Ñ€Ðº. Ð¿Ñ€Ð¾Ñ‡.; "
 "%s=ÑÐ¿Ð¸Ñ. Ð´Ð¸ÑÐº."
 
-#: src/lang.c:877
+#: src/lang.c:898
 #, c-format
 msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"
 msgstr ""
 "%s=ÑÑ‚Ñ€Ðº. Ð²Ð²ÐµÑ€Ñ…; %s=ÑÑ‚Ñ€Ðº. Ð²Ð½Ð¸Ð·; %s=ÑÑ‚Ñ€. Ð²Ð²ÐµÑ€Ñ…; %s=ÑÑ‚Ñ€. Ð²Ð½Ð¸Ð·; %s=Ð½Ð°Ñ‡Ð°Ð»Ð¾; "
 "%s=ÐºÐ¾Ð½ÐµÑ†"
 
-#: src/lang.c:878
+#: src/lang.c:899
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=quit"
 msgstr "%s=Ð¿Ð¾Ð¸ÑÐº Ð²Ð¿ÐµÑ€Ñ‘Ð´; %s=Ð¿Ð¾Ð¸ÑÐº Ð½Ð°Ð·Ð°Ð´; %s=Ð²Ñ‹Ñ…Ð¾Ð´"
 
-#: src/lang.c:880
+#: src/lang.c:901
 #, c-format
 msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr ""
 "%s=Ð¿Ð¾Ð¸ÑÐº Ð°Ð²Ñ‚Ð¾Ñ€Ð°; %s=Ð¿Ð¾Ð¸ÑÐº Ð² ÑÐ¾Ð¾Ð±.; %s=catchup; %s=followup; %s=Ð¼Ð°Ñ€Ðº. Ð¿Ñ€Ð¾Ñ‡."
 
-#: src/lang.c:882 src/lang.c:891
+#: src/lang.c:903 src/lang.c:912
 #, fuzzy, c-format
 msgid "%s=search forwards; %s=search backwards; %s=repeat search"
 msgstr "%s=Ð¿Ð¾Ð¸ÑÐº Ð²Ð¿ÐµÑ€Ñ‘Ð´; %s=Ð¿Ð¾Ð¸ÑÐº Ð½Ð°Ð·Ð°Ð´; %s=Ð²Ñ‹Ñ…Ð¾Ð´"
 
-#: src/lang.c:883
+#: src/lang.c:904
 #, c-format
 msgid "%s=add; %s=move; %s=rename; %s=delete"
 msgstr ""
 
-#: src/lang.c:885
+#: src/lang.c:906
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr "<n>=Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ Ðº n; %s=ÑÐ»ÐµÐ´. Ð½ÐµÐ¿Ñ€Ð¾Ñ‡.; %s,%s=Ð¿Ð¾Ð¸ÑÐº Ð¿Ð¾ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ; %s=catchup"
 
-#: src/lang.c:886
+#: src/lang.c:907
 #, c-format
 msgid ""
 "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
@@ -3225,7 +3304,7 @@ msgstr ""
 "%s=ÑÑ‚Ñ€. Ð²Ð½Ð¸Ð·; %s=ÑÑ‚Ñ€. Ð²Ð²ÐµÑ€Ñ…; %s=Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒ; %s=Ð¿ÐµÑ€ÐµÐ¼.; %s=Ð²Ñ‹Ñ…Ð¾Ð´; %s=ÑƒÑÑ‚. Ð²ÑÐµ|"
 "Ð½ÐµÐ¿Ñ€Ð¾Ñ‡."
 
-#: src/lang.c:887
+#: src/lang.c:908
 #, c-format
 msgid ""
 "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/"
@@ -3234,228 +3313,230 @@ msgstr ""
 "%s=Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ñ‚ÑŒÑÑ; %s=Ð¿Ð¾Ð´Ð¿. ÑˆÐ°Ð±Ð»Ð¾Ð½; %s=Ð¾Ñ‚Ð¿Ð¸ÑÐ°Ñ‚ÑŒÑÑ; %s=Ð¾Ñ‚Ð¿Ð¸Ñ. ÑˆÐ°Ð±Ð»Ð¾Ð½; %s=yank in/"
 "out"
 
-#: src/lang.c:888
+#: src/lang.c:909
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr "<n>=Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ Ðº n; %s=ÑÐ»ÐµÐ´. Ð½ÐµÐ¿Ñ€Ð¾Ñ‡.; %s=catchup; %s=Ð¸Ð·Ð¼ÐµÐ½. Ð²Ð¸Ð´"
 
-#: src/lang.c:889
+#: src/lang.c:910
 #, c-format
 msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"
 msgstr ""
 "%s=Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒ; %s=ÑÑ‚Ñ€. Ð²Ð½Ð¸Ð·; %s=ÑÑ‚Ñ€. Ð²Ð²ÐµÑ€Ñ…; %s=Ð²Ñ‹Ñ…Ð¾Ð´; %s=Ð¾Ñ‚Ð¼.; %s=Ð¼Ð°Ñ€Ðº. Ð½ÐµÐ¿Ñ€Ð¾Ñ‡."
 
-#: src/lang.c:892
+#: src/lang.c:913
 msgid "--More--"
 msgstr "--Ð”Ð°Ð»ÐµÐµ--"
 
-#: src/lang.c:894
+#: src/lang.c:915
 #, c-format
 msgid "MOTD: %s\n"
 msgstr ""
 
-#: src/lang.c:896
+#: src/lang.c:917
 #, c-format
 msgid "Moving %s..."
 msgstr "ÐŸÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ðµ %s..."
 
-#: src/lang.c:897
+#: src/lang.c:918
 msgid "Message-ID: & last Reference  "
 msgstr ""
 
-#: src/lang.c:898
+#: src/lang.c:919
 msgid "Message-ID: line              "
 msgstr "Message-ID: ÑÑ‚Ñ€Ð¾ÐºÐ°            "
 
-#: src/lang.c:899
+#: src/lang.c:920
 msgid "Message-ID: & References: line"
 msgstr ""
 
-#: src/lang.c:901
+#: src/lang.c:922
 #, fuzzy, c-format
 msgid "Go to newsgroup [%s]> "
 msgstr "ÐŸÐµÑ€ÐµÐ¹Ñ‚Ð¸ Ðº Ð³Ñ€ÑƒÐ¿Ð¿Ðµ [%s]> "
 
-#: src/lang.c:902
+#: src/lang.c:923
 msgid "newsgroups"
 msgstr "Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹"
 
-#: src/lang.c:903
+#: src/lang.c:924
 #, c-format
 msgid "Position %s in group list (1,2,..,$) [%d]> "
 msgstr "ÐŸÐ¾Ð·Ð¸Ñ†Ð¸Ñ %s Ð² ÑÐ¿Ð¸ÑÐºÐµ Ð³Ñ€ÑƒÐ¿Ð¿ (1,2,..,$) [%d]> "
 
-#: src/lang.c:904
+#: src/lang.c:925
 msgid "newsgroup"
 msgstr "Ð³Ñ€ÑƒÐ¿Ð¿Ð°"
 
-#: src/lang.c:905
+#: src/lang.c:926
 msgid "Try and save newsrc file again?"
 msgstr "ÐŸÐ¾Ð¿Ñ€Ð¾Ð±Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸ ÑÐ¾Ñ…Ñ€Ð°Ð½Ð¸Ñ‚ÑŒ newsrc ÑÐ½Ð¾Ð²Ð°?"
 
-#: src/lang.c:906
-msgid "Warning: No newsgroups were written to your newsrc file. Save aborted."
+#: src/lang.c:927
+#, fuzzy, c-format
+msgid "Warning: No groups written to your %s file. Save aborted."
 msgstr "Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: Ð“Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð½Ðµ Ð±Ñ‹Ð»Ð¸ Ð·Ð°Ð¿Ð¸ÑÐ°Ð½Ñ‹ Ð² newsrc. Ð¡Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ðµ Ð¿Ñ€ÐµÑ€Ð²Ð°Ð½Ð¾."
 
-#: src/lang.c:907
-msgid "newsrc file saved successfully.\n"
+#: src/lang.c:928
+#, fuzzy, c-format
+msgid "%s file saved successfully.\n"
 msgstr "newsrc Ñ„Ð°Ð¹Ð» ÑƒÑÐ¿ÐµÑˆÐ½Ð¾ ÑÐ¾Ñ…Ñ€Ð°Ð½Ñ‘Ð½.\n"
 
-#: src/lang.c:908
+#: src/lang.c:929
 msgid "-- Next response --"
 msgstr "-- Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð¸Ð¹ Ð¾Ñ‚Ð²ÐµÑ‚ --"
 
-#: src/lang.c:909
+#: src/lang.c:930
 msgid "No  "
 msgstr "ÐÐµÑ‚  "
 
-#: src/lang.c:910
+#: src/lang.c:931
 msgid "*** No articles ***"
 msgstr "*** ÐÐµÑ‚ ÑÑ‚Ð°Ñ‚ÐµÐ¹ ***"
 
-#: src/lang.c:911
+#: src/lang.c:932
 msgid "No articles have been posted"
 msgstr "ÐÐ¸ Ð¾Ð´Ð½Ð° ÑÑ‚Ð°Ñ‚ÑŒÑ Ð½Ðµ Ð±Ñ‹Ð»Ð° Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð°"
 
-#: src/lang.c:912
+#: src/lang.c:933
 #, fuzzy
 msgid "*** No attachments ***"
 msgstr "*** ÐÐµÑ‚ ÑÑ‚Ð°Ñ‚ÐµÐ¹ ***"
 
-#: src/lang.c:913
+#: src/lang.c:934
 msgid "*** No description ***"
 msgstr "*** ÐÐµÑ‚ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ***"
 
-#: src/lang.c:914
+#: src/lang.c:935
 msgid "No filename"
 msgstr "ÐÐµÑ‚ Ð¸Ð¼ÐµÐ½Ð¸ Ñ„Ð°Ð¹Ð»Ð°"
 
-#: src/lang.c:915
+#: src/lang.c:936
 msgid "No group"
 msgstr "ÐÐµÑ‚ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹"
 
-#: src/lang.c:916
+#: src/lang.c:937
 msgid "*** No groups ***"
 msgstr "*** ÐÐµÑ‚ Ð³Ñ€ÑƒÐ¿Ð¿ ***"
 
-#: src/lang.c:917
+#: src/lang.c:938
 msgid "No more groups to read"
 msgstr "ÐÐµÑ‚ Ð±Ð¾Ð»ÑŒÑˆÐµ Ð³Ñ€ÑƒÐ¿Ð¿ Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ"
 
-#: src/lang.c:918
+#: src/lang.c:939
 msgid "No last message"
 msgstr "ÐÐµÑ‚ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐ³Ð¾ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ"
 
-#: src/lang.c:919
+#: src/lang.c:940
 msgid "No mail address"
 msgstr "ÐÐµÑ‚ Ð°Ð´Ñ€ÐµÑÐ° email"
 
-#: src/lang.c:920
+#: src/lang.c:941
 msgid "No articles marked for saving"
 msgstr "ÐÐµÑ‚ Ð¼Ð°Ñ€ÐºÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:921
+#: src/lang.c:942
 msgid "No match"
 msgstr "ÐÐµÑ‚ ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ"
 
-#: src/lang.c:922
+#: src/lang.c:943
 msgid "No more groups"
 msgstr "Ð‘Ð¾Ð»ÑŒÑˆÐµ Ð½ÐµÑ‚ Ð³Ñ€ÑƒÐ¿Ð¿"
 
-#: src/lang.c:923
+#: src/lang.c:944
 msgid "No newsgroups"
 msgstr "ÐÐµÑ‚ Ð³Ñ€ÑƒÐ¿Ð¿"
 
-#: src/lang.c:924
+#: src/lang.c:945
 msgid "No next unread article"
 msgstr "ÐÐµÑ‚ ÑÐ»ÐµÐ´ÑƒÑŽÑ‰ÐµÐ¹ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ð¾Ð¹ ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:925
+#: src/lang.c:946
 msgid "No previous group"
 msgstr "ÐÐµÑ‚ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ¹ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹"
 
-#: src/lang.c:926
+#: src/lang.c:947
 msgid "No previous search, nothing to repeat"
 msgstr ""
 
-#: src/lang.c:927
+#: src/lang.c:948
 msgid "No previous unread article"
 msgstr "ÐÐµÑ‚ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ¹ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ð¾Ð¹ ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:928
+#: src/lang.c:949
 msgid "No responses"
 msgstr "ÐÐµÑ‚ Ð¾Ñ‚Ð²ÐµÑ‚Ð¾Ð²"
 
-#: src/lang.c:929
+#: src/lang.c:950
 msgid "No responses to list in current thread"
 msgstr "ÐÐµÑ‚ Ð¾Ñ‚Ð²ÐµÑ‚Ð¾Ð² Ð½Ð° ÑÐ¿Ð¸ÑÐ¾Ðº Ð² Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¸"
 
-#: src/lang.c:930
+#: src/lang.c:951
 #, fuzzy
 msgid "*** No scopes ***"
 msgstr "*** ÐÐµÑ‚ Ð³Ñ€ÑƒÐ¿Ð¿ ***"
 
-#: src/lang.c:931
+#: src/lang.c:952
 msgid "No search string"
 msgstr "ÐÐµÑ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ð¿Ð¾Ð¸ÑÐºÐ°"
 
-#: src/lang.c:932
+#: src/lang.c:953
 msgid "No subject"
 msgstr "ÐÐµÑ‚ Ñ‚ÐµÐ¼Ñ‹"
 
-#: src/lang.c:934
+#: src/lang.c:955
 #, c-format
 msgid "%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr "%s: Ð¢ÐµÑ€Ð¼Ð¸Ð½Ð°Ð» Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð¸Ð¼ÐµÑ‚ÑŒ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÑŽ clear to end-of-line (ce)\n"
 
-#: src/lang.c:935
+#: src/lang.c:956
 #, c-format
 msgid "%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr "%s: Ð¢ÐµÑ€Ð¼Ð¸Ð½Ð°Ð» Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð¸Ð¼ÐµÑ‚ÑŒ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÑŽ clear to end-of-screen (cd)\n"
 
-#: src/lang.c:936
+#: src/lang.c:957
 #, c-format
 msgid "%s: Terminal must have clearscreen (cl) capability\n"
 msgstr "%s: Ð¢ÐµÑ€Ð¼Ð¸Ð½Ð°Ð» Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð¸Ð¼ÐµÑ‚ÑŒ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÑŽ clearscreen (cl)\n"
 
-#: src/lang.c:937
+#: src/lang.c:958
 #, c-format
 msgid "%s: Terminal must have cursor motion (cm)\n"
 msgstr "%s: Ð¢ÐµÑ€Ð¼Ð¸Ð½Ð°Ð» Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð¸Ð¼ÐµÑ‚ÑŒ cursor motion (cm)\n"
 
-#: src/lang.c:938
+#: src/lang.c:959
 #, c-format
 msgid "%s: TERM variable must be set to use screen capabilities\n"
 msgstr "%s: ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚Ðµ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽ ÑÑ€ÐµÐ´Ñ‹ TERM\n"
 
-#: src/lang.c:940
+#: src/lang.c:961
 #, c-format
 msgid "No viewer found for %s/%s\n"
 msgstr "ÐÐµ Ð½Ð°Ð¹Ð´ÐµÐ½ Ð¿Ñ€Ð¾ÑÐ¼Ð¾Ñ‚Ð¾Ñ€Ñ‰Ð¸Ðº Ð´Ð»Ñ %s/%s\n"
 
-#: src/lang.c:941 src/lang.c:1616 src/lang.c:1644 src/lang.c:1935
+#: src/lang.c:962 src/lang.c:1665 src/lang.c:1693 src/lang.c:1991
 msgid "None"
 msgstr "ÐÐ¸Ñ‡ÐµÐ³Ð¾"
 
-#: src/lang.c:942
+#: src/lang.c:963
 msgid "Newsgroup does not exist on this server"
 msgstr "Ð“Ñ€ÑƒÐ¿Ð¿Ð° Ð½Ðµ ÑÑƒÑ‰ÐµÑÑ‚Ð²ÑƒÐµÑ‚ Ð½Ð° ÑÑ‚Ð¾Ð¼ ÑÐµÑ€Ð²ÐµÑ€Ðµ"
 
-#: src/lang.c:943
+#: src/lang.c:964
 #, c-format
 msgid "Group %s not found in active file"
 msgstr "Ð“Ñ€ÑƒÐ¿Ð¿Ð° %s Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð° Ð² Ñ„Ð°Ð¹Ð»Ðµ active"
 
-#: src/lang.c:944
+#: src/lang.c:966
 msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr ""
 "c)ÑÐ¾Ð·Ð´Ð°Ñ‚ÑŒ, a)Ð¸ÑÐ¿. Ð°Ð»ÑŒÑ‚ÐµÑ€. Ð¸Ð¼Ñ, d)Ð¸ÑÐ¿. ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ‹Ð¹ .newsrc, q)Ð²Ñ‹Ñ…Ð¾Ð´ Ð¸Ð· tin: "
 
-#: src/lang.c:945
+#: src/lang.c:967
 msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr "a)Ð¸ÑÐ¿. Ð°Ð»ÑŒÑ‚ÐµÑ€. Ð¸Ð¼Ñ, d)Ð¸ÑÐ¿. ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ‹Ð¹ .newsrc, q)Ð²Ñ‹Ñ…Ð¾Ð´ Ð¸Ð· tin: "
 
-#: src/lang.c:946
+#: src/lang.c:968
 #, c-format
 msgid ""
 "# NNTP-server -> newsrc translation table and NNTP-server\n"
@@ -3472,49 +3553,49 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:952
+#: src/lang.c:975
 msgid "NULL"
 msgstr ""
 
-#: src/lang.c:954
+#: src/lang.c:977
 msgid "Only"
 msgstr "Ð¢Ð¾Ð»ÑŒÐºÐ¾"
 
-#: src/lang.c:955
-#, c-format
-msgid "Option not enabled. Recompile with %s."
-msgstr "ÐžÐ¿Ñ†Ð¸Ñ Ð½Ðµ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°. ÐŸÐµÑ€ÐµÑÐ¾Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ð¿Ð°ÐºÐµÑ‚ Ñ %s."
-
-#: src/lang.c:956
+#: src/lang.c:979
 msgid "Options Menu"
 msgstr "ÐœÐµÐ½ÑŽ Ð¾Ð¿Ñ†Ð¸Ð¹"
 
-#: src/lang.c:957
+#: src/lang.c:980
 #, fuzzy
 msgid "Options Menu Commands"
 msgstr "ÐœÐµÐ½ÑŽ Ð¾Ð¿Ñ†Ð¸Ð¹"
 
-#: src/lang.c:960
+#: src/lang.c:981
+#, fuzzy, c-format
+msgid "Option not enabled. Recompile with %s.%s\n"
+msgstr "ÐžÐ¿Ñ†Ð¸Ñ Ð½Ðµ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°. ÐŸÐµÑ€ÐµÑÐ¾Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ð¿Ð°ÐºÐµÑ‚ Ñ %s.%s\n"
+
+#: src/lang.c:984
 #, c-format
 msgid "Error in regex: %s at pos. %d '%s'"
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² regex: %s Ð² Ð¿Ð¾Ð·. %d '%s'"
 
-#: src/lang.c:961
+#: src/lang.c:985
 #, c-format
 msgid "Error in regex: pcre internal error %d"
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² regex: Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ° pcre %d"
 
-#: src/lang.c:963
+#: src/lang.c:987
 #, c-format
 msgid "Error in regex: study - pcre internal error %s"
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ð² regex: study - Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ° pcre %s"
 
-#: src/lang.c:965
+#: src/lang.c:989
 msgid "Post a followup..."
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð¾Ñ‚Ð²ÐµÑ‚Ð° Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ..."
 
 #. TODO: replace hard coded key-name in txt_post_error_ask_postpone
-#: src/lang.c:967
+#: src/lang.c:991
 msgid ""
 "An error has occurred while posting the article. If you think that this\n"
 "error is temporary or otherwise correctable, you can postpone the article\n"
@@ -3524,48 +3605,48 @@ msgstr ""
 "Ð¸ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð¸ÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð°Ñ, Ñ‚Ð¾ Ð²Ñ‹ Ð¼Ð¾Ð¶ÐµÑ‚Ðµ Ð¾Ñ‚Ð»Ð¾Ð¶Ð¸Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð¸ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ ÐµÑ‘ Ñ\n"
 "Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ^O Ð¿Ð¾Ð·Ð¶Ðµ.\n"
 
-#: src/lang.c:970
+#: src/lang.c:994
 msgid "Posted articles history"
 msgstr "Ð˜ÑÑ‚Ð¾Ñ€Ð¸Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:971
+#: src/lang.c:995
 #, fuzzy
 msgid "Posted Articles Menu Commands"
 msgstr "ÐšÐ¾Ð¼Ð°Ð½Ð´Ñ‹ ÑƒÑ€Ð¾Ð²Ð½Ñ ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:972
+#: src/lang.c:996
 msgid "Lookup failed"
 msgstr ""
 
-#: src/lang.c:973
+#: src/lang.c:997
 #, fuzzy
 msgid "Operation not available for replies by mail"
 msgstr "Ð²ÐµÑ€Ð½ÑƒÑ‚ÑŒÑÑ Ð² ÑƒÑ€Ð¾Ð²ÐµÐ½ÑŒ Ð²Ñ‹Ð±Ð¾Ñ€Ð° Ð³Ñ€ÑƒÐ¿Ð¿"
 
-#: src/lang.c:974
+#: src/lang.c:998
 #, fuzzy
 msgid "Already in posted articles history level"
 msgstr "Ð˜ÑÑ‚Ð¾Ñ€Ð¸Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:975
+#: src/lang.c:999
 #, c-format
 msgid "Post to newsgroup(s) [%s]> "
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ(Ñ‹) [%s]> "
 
-#: src/lang.c:976
+#: src/lang.c:1000
 msgid "-- post processing started --"
 msgstr "-- Ð¿Ð¾ÑÑ‚-Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° Ð½Ð°Ñ‡Ð°Ñ‚Ð° --"
 
-#: src/lang.c:977
+#: src/lang.c:1001
 msgid "-- post processing completed --"
 msgstr "-- Ð¿Ð¾ÑÑ‚-Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° Ð·Ð°ÐºÐ¾Ð½Ñ‡ÐµÐ½Ð° --"
 
-#: src/lang.c:978
+#: src/lang.c:1002
 #, c-format
 msgid "Post subject [%s]> "
 msgstr "Ð¢ÐµÐ¼Ð° ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ [%s]> "
 
-#: src/lang.c:979
+#: src/lang.c:1003
 msgid ""
 "# Summary of mailed/posted messages viewable by 'W' command from within "
 "tin.\n"
@@ -3574,298 +3655,301 @@ msgstr ""
 "ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹\n"
 "# 'W' Ð¸Ð· tin.\n"
 
-#: src/lang.c:980
+#: src/lang.c:1004
 msgid "Posting article..."
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸..."
 
-#: src/lang.c:982
+#: src/lang.c:1006
 #, fuzzy, c-format
 msgid "Posting failed (%s)"
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸..."
 
-#: src/lang.c:984
+#: src/lang.c:1008
 #, c-format
 msgid "Posting: %.*s ..."
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ %.*s ..."
 
-#: src/lang.c:985
+#: src/lang.c:1009
 #, c-format
 msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ Ð¾Ñ‚Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ [%%s]? (%s/%s/%s/%s/%s): "
 
-#: src/lang.c:986
+#: src/lang.c:1010
 #, c-format
 msgid "Hot %s"
 msgstr ""
 
-#: src/lang.c:987
+#: src/lang.c:1011
 #, c-format
 msgid "Tagged %s"
 msgstr "ÐŸÐ¾Ð¼ÐµÑ‡ÐµÐ½Ñ‹ %s"
 
-#: src/lang.c:988
+#: src/lang.c:1012
 #, c-format
 msgid "Untagged %s"
 msgstr "Ð¡Ð½ÑÑ‚Ñ‹ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ %s"
 
-#: src/lang.c:990
+#: src/lang.c:1014
 #, c-format
 msgid "Preparing for filtering on Path header (%d/%d)..."
 msgstr ""
 
-#: src/lang.c:992
+#: src/lang.c:1016
 #, fuzzy
 msgid "Processing attributes..."
 msgstr "Ð—Ð°Ð¿Ð¸ÑÑŒ Ñ„Ð°Ð¹Ð»Ð° Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð²..."
 
-#: src/lang.c:993
+#: src/lang.c:1017
 msgid "Processing mail messages marked for deletion."
 msgstr "ÐžÐ±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° Ð¿Ð¾Ñ‡Ñ‚Ð¾Ð²Ñ‹Ñ… ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ð¹ Ð¿Ð¾Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ñ… Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ."
 
-#: src/lang.c:994
+#: src/lang.c:1018
 msgid "Processing saved articles marked for deletion."
 msgstr "ÐžÐ±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° ÑÐ¾Ñ…Ñ€Ð°Ð½Ñ‘Ð½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð¿Ð¾Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ñ… Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ."
 
-#: src/lang.c:995
+#: src/lang.c:1019
 #, c-format
 msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr "ÐŸÑ€Ð¸Ð½ÑÑ‚ÑŒ Followup-To? %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ, %s=Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ, %s=Ð²Ñ‹Ñ…Ð¾Ð´: "
 
-#: src/lang.c:996
+#: src/lang.c:1020
 msgid "Article unchanged, abort mailing?"
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð½Ðµ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»Ð°ÑÑŒ, Ð¿Ñ€ÐµÑ€Ð²Ð°Ñ‚ÑŒ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÑƒ?"
 
-#: src/lang.c:997
+#: src/lang.c:1021
 #, c-format
 msgid "Do you want to see postponed articles (%d)?"
 msgstr "Ð¥Ð¾Ñ‚Ð¸Ñ‚Ðµ Ð¿Ð¾ÑÐ¼Ð¾Ñ‚Ñ€ÐµÑ‚ÑŒ Ð¾Ñ‚Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ (%d)?"
 
-#: src/lang.c:999
+#: src/lang.c:1023
 msgid "Add quick kill filter?"
 msgstr "Ð”Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€ Ð±Ñ‹ÑÑ‚Ñ€Ð¾Ð³Ð¾ ÑƒÐ½Ð¸Ñ‡Ñ‚Ð¾Ð¶ÐµÐ½Ð¸Ñ?"
 
-#: src/lang.c:1000
+#: src/lang.c:1024
 msgid "Add quick selection filter?"
 msgstr "Ð”Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€ Ð±Ñ‹ÑÑ‚Ñ€Ð¾Ð³Ð¾ Ð²Ñ‹Ð±Ð¾Ñ€Ð°?"
 
-#: src/lang.c:1001
+#: src/lang.c:1025
 msgid "Do you really want to quit?"
 msgstr "Ð’Ñ‹ Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ Ñ…Ð¾Ñ‚Ð¸Ñ‚Ðµ Ð²Ñ‹Ð¹Ñ‚Ð¸?"
 
-#: src/lang.c:1002
+#: src/lang.c:1026
 #, c-format
 msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr "%s=Ñ€ÐµÐ´Ð°ÐºÑ‚. Ð¾Ñ‚Ð¼ÐµÐ½. ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ, %s=Ð²Ñ‹Ñ…Ð¾Ð´, %s=ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ (Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ) [%%s]: "
 
-#: src/lang.c:1003
+#: src/lang.c:1027
 msgid "You have tagged articles in this group - quit anyway?"
 msgstr "ÐžÑÑ‚Ð°Ð»Ð¸ÑÑŒ Ð¿Ð¾Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ðµ - Ð²Ñ‹Ð¹Ñ‚Ð¸ Ð²ÑÐµ Ñ€Ð°Ð²Ð½Ð¾?"
 
-#: src/lang.c:1004
+#: src/lang.c:1028
 #, c-format
 msgid "%s=quit, %s=edit, %s=postpone: "
 msgstr "%s=Ð²Ñ‹Ñ…Ð¾Ð´, %s=Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ, %s=Ð¾Ñ‚Ð»Ð¾Ð¶Ð¸Ñ‚ÑŒ: "
 
-#: src/lang.c:1005
+#: src/lang.c:1029
 #, fuzzy, c-format
 msgid "%s=quit, %s=edit, %s=save kill description: "
 msgstr "%s=Ð²Ñ‹Ñ…Ð¾Ð´ %s=Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ %s=ÑÐ¾Ñ…Ñ€. ÑƒÐ½Ð¸Ñ‡Ñ‚Ð¾Ð¶ÐµÐ½Ð½Ð¾Ðµ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ðµ: "
 
-#: src/lang.c:1006
+#: src/lang.c:1030
 #, fuzzy, c-format
 msgid "%s=quit, %s=edit, %s=save select description: "
 msgstr "%s=Ð²Ñ‹Ñ…Ð¾Ð´ %s=Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ %s=ÑÐ¾Ñ…Ñ€. Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ðµ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ðµ: "
 
-#: src/lang.c:1007
+#: src/lang.c:1031
 msgid "Do you really want to quit without saving your configuration?"
 msgstr "Ð’Ñ‹ Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ Ñ…Ð¾Ñ‚Ð¸Ñ‚Ðµ Ð²Ñ‹Ð¹Ñ‚Ð¸ Ð±ÐµÐ· ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸?"
 
-#: src/lang.c:1010
+#: src/lang.c:1033
 msgid "Invalid range - valid are '0-9.$' e.g. 1-$"
 msgstr "ÐÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ñ‹Ð¹ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ - Ð´Ð¾ÑÑ‚ÑƒÐ¿Ð½Ñ‹ '0-9.$', Ð½Ð°Ð¿Ñ€. 1-$"
 
-#: src/lang.c:1012
+#: src/lang.c:1035
 msgid "Do you want to abort this operation?"
 msgstr "Ð’Ñ‹ Ñ…Ð¾Ñ‚Ð¸Ñ‚Ðµ Ð¿Ñ€ÐµÑ€Ð²Ð°Ñ‚ÑŒ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸ÑŽ?"
 
-#: src/lang.c:1013
+#: src/lang.c:1036
 msgid "Do you want to exit tin immediately?"
 msgstr "Ð’Ñ‹ Ñ…Ð¾Ñ‚Ð¸Ñ‚Ðµ Ð²Ñ‹Ð¹Ñ‚Ð¸ Ð¸Ð· tin Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾?"
 
-#: src/lang.c:1015
+#: src/lang.c:1038
 msgid "Reading ('q' to quit)..."
 msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ ('q' - Ð²Ñ‹Ñ…Ð¾Ð´)..."
 
-#: src/lang.c:1016
+#: src/lang.c:1039
 #, fuzzy, c-format
 msgid "Reading %s articles..."
 msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ %sÑÑ‚Ð°Ñ‚ÐµÐ¹..."
 
-#: src/lang.c:1017
-#, c-format
-msgid "Reading %sattributes file...\n"
+#: src/lang.c:1040
+#, fuzzy, c-format
+msgid "Reading %sattributes file: %s\n"
 msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ Ñ„Ð°Ð¹Ð»Ð° %sÐ°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð²...\n"
 
-#: src/lang.c:1018
-#, c-format
-msgid "Reading %sconfig file...\n"
+#: src/lang.c:1041
+#, fuzzy, c-format
+msgid "Reading %sconfig file: %s\n"
 msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ Ñ„Ð°Ð¹Ð»Ð° %sconfig...\n"
 
-#: src/lang.c:1019
-msgid "Reading filter file...\n"
+#: src/lang.c:1042
+#, fuzzy, c-format
+msgid "Reading filter file: %s\n"
 msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ Ñ„Ð°Ð¹Ð»Ð° Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð¾Ð²...\n"
 
-#: src/lang.c:1021
+#: src/lang.c:1044
 msgid "reading from local spool"
 msgstr ""
 
-#: src/lang.c:1023
+#: src/lang.c:1046
 #, fuzzy, c-format
 msgid "Reading %s\n"
 msgstr "ÐŸÐµÑ€ÐµÑ‡Ð¸Ñ‚Ñ‹Ð²Ð°ÑŽ %s..."
 
-#: src/lang.c:1024
+#: src/lang.c:1047
 #, c-format
 msgid "Reading %s groups..."
 msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ %s Ð³Ñ€ÑƒÐ¿Ð¿..."
 
-#: src/lang.c:1025
-msgid "Reading input history file...\n"
+#: src/lang.c:1048
+#, fuzzy, c-format
+msgid "Reading input history file: %s\n"
 msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ Ñ„Ð°Ð¹Ð»Ð° Ð¸ÑÑ‚Ð¾Ñ€Ð¸Ð¸...\n"
 
-#: src/lang.c:1026
+#: src/lang.c:1049
 #, fuzzy, c-format
 msgid "Reading keymap file: %s\n"
 msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ Ñ„Ð°Ð¹Ð»Ð° Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ ÐºÐ»Ð°Ð²Ð¸Ñˆ...\n"
 
-#: src/lang.c:1027
+#: src/lang.c:1050
 msgid "Reading groups from active file... "
 msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ Ð³Ñ€ÑƒÐ¿Ð¿ Ð¸Ð· Ñ„Ð°Ð¹Ð»Ð° active... "
 
-#: src/lang.c:1028
+#: src/lang.c:1051
 msgid "Reading groups from newsrc file... "
 msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ Ð³Ñ€ÑƒÐ¿Ð¿ Ð¸Ð· Ñ„Ð°Ð¹Ð»Ð° newsrc... "
 
-#: src/lang.c:1029
+#: src/lang.c:1052
 msgid "Reading newsgroups file... "
 msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ Ñ„Ð°Ð¹Ð»Ð° Ð³Ñ€ÑƒÐ¿Ð¿... "
 
-#: src/lang.c:1030
-msgid "Reading newsrc file..."
+#: src/lang.c:1053
+#, fuzzy, c-format
+msgid "Reading newsrc file: %s"
 msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ Ñ„Ð°Ð¹Ð»Ð° newsrc..."
 
-#: src/lang.c:1031
+#: src/lang.c:1054
 msgid "References: line              "
 msgstr "References: ÑÑ‚Ñ€Ð¾ÐºÐ°            "
 
-#: src/lang.c:1033
+#: src/lang.c:1056
 #, c-format
 msgid "(%d:%02d remaining)"
 msgstr "(%d:%02d Ð¾ÑÑ‚Ð°Ð»Ð¾ÑÑŒ)"
 
-#: src/lang.c:1035
+#: src/lang.c:1058
 #, c-format
 msgid "Bogus group %s removed."
 msgstr "ÐžÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° %s ÑƒÐ´Ð°Ð»ÐµÐ½Ð°."
 
-#: src/lang.c:1036
+#: src/lang.c:1059
 #, fuzzy
 msgid "Removed from this rule: "
 msgstr "Ð£Ð´Ð°Ð»Ñ‘Ð½ Ð¸Ð· Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ³Ð¾ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð°: "
 
-#: src/lang.c:1037
+#: src/lang.c:1060
 #, c-format
 msgid "Error: rename %s to %s"
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ°: Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ñ‚ÑŒ %s Ð² %s"
 
-#: src/lang.c:1038
+#: src/lang.c:1061
 msgid "Reply to author..."
 msgstr "ÐžÑ‚Ð²ÐµÑ‡Ð°ÐµÐ¼ Ð°Ð²Ñ‚Ð¾Ñ€Ñƒ..."
 
-#: src/lang.c:1039
+#: src/lang.c:1062
 msgid "Repost"
 msgstr "ÐžÐ¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ ÑÐ½Ð¾Ð²Ð°"
 
-#: src/lang.c:1040
+#: src/lang.c:1063
 msgid "Reposting article..."
 msgstr "ÐŸÐ¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ° ÑÑ‚Ð°Ñ‚ÑŒÐ¸..."
 
-#: src/lang.c:1041
+#: src/lang.c:1064
 #, c-format
 msgid "Repost article(s) to group(s) [%s]> "
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ ÑÐ½Ð¾Ð²Ð° ÑÑ‚Ð°Ñ‚ÑŒÑŽ(Ð¸) Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ(Ñ‹) [%s]> "
 
-#: src/lang.c:1042
+#: src/lang.c:1065
 msgid "Reset newsrc?"
 msgstr "Ð¡Ð±Ñ€Ð¾ÑÐ¸Ñ‚ÑŒ newsrc?"
 
-#: src/lang.c:1043
+#: src/lang.c:1066
 msgid "Responses have been directed to the following newsgroups"
 msgstr "ÐžÑ‚Ð²ÐµÑ‚Ñ‹ Ð±Ñ‹Ð»Ð¸ Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ñ‹ Ð² ÑÐ»ÐµÐ´ÑƒÑŽÑ‰Ð¸Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹"
 
-#: src/lang.c:1044
+#: src/lang.c:1067
 #, c-format
 msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr ""
 "ÐžÑ‚Ð²ÐµÑ‚Ñ‹ Ð±Ñ‹Ð»Ð¸ Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ñ‹ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÐµÐ»ÑŽ. %s=mail, %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ, %s=Ð²Ñ‹Ñ…Ð¾Ð´: "
 
-#: src/lang.c:1045
+#: src/lang.c:1068
 msgid "Press <RETURN> to continue..."
 msgstr "ÐÐ°Ð¶Ð¼Ð¸Ñ‚Ðµ <CR> Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ..."
 
-#: src/lang.c:1047
+#: src/lang.c:1070
 #, c-format
 msgid "Score: %s"
 msgstr ""
 
-#: src/lang.c:1048
+#: src/lang.c:1071
 #, c-format
 msgid "Select From    [%s] (y/n): "
 msgstr "Ð’Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ From   [%s] (y/n): "
 
-#: src/lang.c:1049
+#: src/lang.c:1072
 msgid "Select Lines: (</>num): "
 msgstr "Ð’Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ ÑÑ‚Ñ€Ð¾ÐºÐ¸: (</>num): "
 
-#: src/lang.c:1050
+#: src/lang.c:1073
 msgid "Auto-select Article Menu"
 msgstr "ÐÐ²Ñ‚Ð¾Ð²Ñ‹Ð±Ð¾Ñ€ ÐœÐµÐ½ÑŽ ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:1051
+#: src/lang.c:1074
 #, fuzzy, c-format
 msgid "Select Msg-ID  [%s] (f/l/o/n): "
 msgstr "Ð’Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Msg-Id [%s] (f/l/o/n): "
 
-#: src/lang.c:1052
+#: src/lang.c:1075
 msgid "Select pattern scope: "
 msgstr "Ð’Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°: "
 
-#: src/lang.c:1053
+#: src/lang.c:1076
 #, c-format
 msgid "Select Subject [%s] (y/n): "
 msgstr "Ð’Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¢ÐµÐ¼Ñƒ [%s] (y/n): "
 
-#: src/lang.c:1054
+#: src/lang.c:1077
 msgid "Select text pattern : "
 msgstr "Ð’Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ ÑˆÐ°Ð±Ð»Ð¾Ð½ : "
 
-#: src/lang.c:1055
+#: src/lang.c:1078
 msgid "Select time in days   : "
 msgstr "Ð’Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð²Ñ€ÐµÐ¼Ñ  : "
 
-#: src/lang.c:1056
+#: src/lang.c:1079
 msgid "[k]"
 msgstr ""
 
-#: src/lang.c:1057
+#: src/lang.c:1080
 msgid "[T]"
 msgstr ""
 
-#: src/lang.c:1058
+#: src/lang.c:1081
 msgid " R"
 msgstr ""
 
-#: src/lang.c:1059
+#: src/lang.c:1082
 #, c-format
 msgid ""
 "# %s server configuration file\n"
@@ -3886,54 +3970,54 @@ msgstr ""
 "############################################################################\n"
 "\n"
 
-#: src/lang.c:1065
+#: src/lang.c:1088
 msgid "Showing unread groups only"
 msgstr "Ð’Ñ‹Ð²Ð¾Ð´ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ñ… Ð³Ñ€ÑƒÐ¿Ð¿"
 
-#: src/lang.c:1066
+#: src/lang.c:1089
 msgid "Subject: line (ignore case)   "
 msgstr "Ð¢ÐµÐ¼Ð°: ÑÑ‚Ñ€Ð¾ÐºÐ° (Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€) "
 
-#: src/lang.c:1067
+#: src/lang.c:1090
 msgid "Subject: line (case sensitive)"
 msgstr "Ð¢ÐµÐ¼Ð°: ÑÑ‚Ñ€Ð¾ÐºÐ° (Ð½Ðµ Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€)"
 
-#: src/lang.c:1068
+#: src/lang.c:1091
 msgid "Save"
 msgstr "Ð¡Ð¾Ñ…Ñ€Ð°Ð½Ð¸Ñ‚ÑŒ"
 
-#: src/lang.c:1069
+#: src/lang.c:1092
 #, c-format
 msgid "Save '%s' (%s/%s)?"
 msgstr "Ð¡Ð¾Ñ…Ñ€Ð°Ð½Ð¸Ñ‚ÑŒ '%s' (%s/%s)?"
 
-#: src/lang.c:1070
+#: src/lang.c:1093
 msgid "Save configuration before continuing?"
 msgstr "Ð¡Ð¾Ñ…Ñ€Ð°Ð½Ð¸Ñ‚ÑŒ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸ÑŽ Ð¿ÐµÑ€ÐµÐ´ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸ÐµÐ¼?"
 
-#: src/lang.c:1071
+#: src/lang.c:1094
 msgid "Save filename> "
 msgstr "Ð¡Ð¾Ñ…Ñ€Ð°Ð½Ð¸Ñ‚ÑŒ Ð² Ñ„Ð°Ð¹Ð»> "
 
-#: src/lang.c:1072
+#: src/lang.c:1095
 msgid "Saved"
 msgstr "Ð¡Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¾"
 
-#: src/lang.c:1073
-#, c-format
-msgid "%4d unread (%4d hot) %s in %s\n"
+#: src/lang.c:1096
+#, fuzzy, c-format
+msgid "%s unread (%s hot) %s in %s\n"
 msgstr "%4d Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð¾ (%4d hot) %s Ð² %s\n"
 
-#: src/lang.c:1074
+#: src/lang.c:1097
 #, c-format
 msgid "Saved %s...\n"
 msgstr "Ð¡Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¾ %s...\n"
 
-#: src/lang.c:1075
+#: src/lang.c:1098
 msgid "Nothing was saved"
 msgstr "ÐÐ¸Ñ‡ÐµÐ³Ð¾ Ð½Ðµ Ð±Ñ‹Ð»Ð¾ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¾"
 
-#: src/lang.c:1076
+#: src/lang.c:1099
 #, c-format
 msgid ""
 "\n"
@@ -3942,195 +4026,195 @@ msgstr ""
 "\n"
 "%s %d %s Ð¸Ð· %d %s\n"
 
-#: src/lang.c:1077
+#: src/lang.c:1100
 #, c-format
 msgid "-- %s saved to %s%s --"
 msgstr "-- %s ÑÐ¾Ñ…Ñ€Ð°Ð½. Ð² %s%s --"
 
-#: src/lang.c:1078
+#: src/lang.c:1101
 #, c-format
 msgid "-- %s saved to %s - %s --"
 msgstr "-- %s ÑÐ¾Ñ…Ñ€Ð°Ð½. Ð² %s - %s --"
 
-#: src/lang.c:1079
+#: src/lang.c:1102
 msgid "Saving..."
 msgstr "Ð—Ð°Ð¿Ð¸ÑÑŒ..."
 
-#: src/lang.c:1080
+#: src/lang.c:1103
 #, c-format
 msgid "%s: Screen initialization failed"
 msgstr "%s: Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð°Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ ÑÐºÑ€Ð°Ð½Ð°"
 
-#: src/lang.c:1082
+#: src/lang.c:1105
 #, c-format
 msgid "%s: screen is too small\n"
 msgstr "%s: ÑÐºÑ€Ð°Ð½ ÑÐ»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð»\n"
 
-#: src/lang.c:1084
+#: src/lang.c:1107
 #, fuzzy, c-format
 msgid "screen is too small, %s is exiting"
 msgstr "ÑÐºÑ€Ð°Ð½ ÑÐ»Ð¸ÑˆÐºÐ¾Ð¼ Ð¼Ð°Ð», %s Ð²Ñ‹Ñ…Ð¾Ð´\n"
 
-#: src/lang.c:1085
+#: src/lang.c:1108
 #, fuzzy
 msgid "Delete scope?"
 msgstr "Ð’Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°: "
 
-#: src/lang.c:1086
+#: src/lang.c:1109
 #, fuzzy
 msgid "Enter scope> "
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ð½Ð¾Ð¼ÐµÑ€ Ð¾Ð¿Ñ†Ð¸Ð¸> "
 
-#: src/lang.c:1087
+#: src/lang.c:1110
 #, fuzzy
 msgid "Select new position> "
 msgstr "Ð’Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ ÑˆÐ°Ð±Ð»Ð¾Ð½ : "
 
-#: src/lang.c:1088
+#: src/lang.c:1111
 msgid "New position cannot be a global scope"
 msgstr ""
 
-#: src/lang.c:1089
+#: src/lang.c:1112
 msgid "Global scope, operation not allowed"
 msgstr ""
 
-#: src/lang.c:1090
+#: src/lang.c:1113
 msgid "Rename scope> "
 msgstr ""
 
-#: src/lang.c:1091
+#: src/lang.c:1114
 #, fuzzy
 msgid "Select scope> "
 msgstr "Ð’Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ> "
 
-#: src/lang.c:1092
+#: src/lang.c:1115
 #, fuzzy
 msgid "Scopes Menu"
 msgstr "ÐœÐµÐ½ÑŽ Ð¾Ð¿Ñ†Ð¸Ð¹"
 
-#: src/lang.c:1093
+#: src/lang.c:1116
 #, fuzzy
 msgid "Scopes Menu Commands"
 msgstr "ÐšÐ¾Ð¼Ð°Ð½Ð´Ñ‹ Ð²ÐµÑ€Ñ…Ð½ÐµÐ³Ð¾ ÑƒÑ€Ð¾Ð²Ð½Ñ"
 
-#: src/lang.c:1094
+#: src/lang.c:1117
 #, c-format
 msgid "Search backwards [%s]> "
 msgstr "ÐŸÐ¾Ð¸ÑÐº Ð½Ð°Ð·Ð°Ð´ [%s]> "
 
-#: src/lang.c:1095
+#: src/lang.c:1118
 #, c-format
 msgid "Search body [%s]> "
 msgstr "ÐŸÐ¾Ð¸ÑÐº Ð² Ñ‚ÐµÐ»Ðµ [%s]> "
 
-#: src/lang.c:1096
+#: src/lang.c:1119
 #, c-format
 msgid "Search forwards [%s]> "
 msgstr "ÐŸÐ¾Ð¸ÑÐº Ð²Ð¿ÐµÑ€Ñ‘Ð´ [%s]> "
 
-#: src/lang.c:1097
+#: src/lang.c:1120
 msgid "Searching..."
 msgstr "ÐŸÐ¾Ð¸ÑÐº..."
 
-#: src/lang.c:1098
+#: src/lang.c:1121
 #, c-format
 msgid "Searching article %d of %d ('q' to abort)..."
 msgstr "ÐŸÐ¾Ð¸ÑÐº ÑÑ‚Ð°Ñ‚ÑŒÐ¸ %d Ð¸Ð· %d ('q' - Ð¿Ñ€ÐµÑ€Ð²Ð°Ñ‚ÑŒ)..."
 
-#: src/lang.c:1099
+#: src/lang.c:1122
 msgid "Select article> "
 msgstr "Ð’Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ ÑÑ‚Ð°Ñ‚ÑŒÑŽ> "
 
-#: src/lang.c:1100
+#: src/lang.c:1123
 msgid ""
 "Select option number before text or use arrow keys and <CR>. 'q' to quit."
 msgstr ""
 "Ð’Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ð½Ð¾Ð¼ÐµÑ€ Ð¾Ð¿Ñ†Ð¸Ð¸ Ð¸Ð»Ð¸ Ð¿ÐµÑ€ÐµÐ¹Ð´Ð¸Ñ‚Ðµ ÑÑ‚Ñ€ÐµÐ»Ð¾Ñ‡ÐºÐ°Ð¼Ð¸ Ð¸ Ð½Ð°Ð¶Ð¼Ð¸Ñ‚Ðµ <CR>. 'q' Ð²Ñ‹Ñ…Ð¾Ð´."
 
-#: src/lang.c:1101
+#: src/lang.c:1124
 msgid "Select group> "
 msgstr "Ð’Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ> "
 
-#: src/lang.c:1102
+#: src/lang.c:1125
 #, c-format
 msgid "Enter selection pattern [%s]> "
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÑˆÐ°Ð±Ð»Ð¾Ð½ Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° [%s]> "
 
-#: src/lang.c:1103
+#: src/lang.c:1126
 #, fuzzy
 msgid "Select thread> "
 msgstr "Ð’Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑŽ > "
 
-#: src/lang.c:1104
+#: src/lang.c:1127
 #, fuzzy, c-format
 msgid "%s %s %s (\"%s\"): send a DETAILED bug report to %s\n"
 msgstr "%s %s %s (\"%s\") [%s]: Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÑŒÑ‚Ðµ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½ÑƒÑŽ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÑŽ Ð¾Ð± Ð¾ÑˆÐ¸Ð±ÐºÐµ %s\n"
 
-#: src/lang.c:1105
+#: src/lang.c:1128
 msgid "servers active-file"
 msgstr "active-Ñ„Ð°Ð¹Ð» ÑÐµÑ€Ð²ÐµÑ€Ð¾Ð²"
 
-#: src/lang.c:1106
+#: src/lang.c:1129
 #, c-format
 msgid "Skipped %s"
 msgstr ""
 
-#: src/lang.c:1107
+#: src/lang.c:1130
 msgid "Cannot move into new newsgroups. Subscribe first..."
 msgstr "ÐÐµ Ð¼Ð¾Ð³Ñƒ Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ Ð² Ð½Ð¾Ð²ÑƒÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ. Ð¡Ð½Ð°Ñ‡Ð°Ð»Ð° Ð¿Ð¾Ð´Ð¿Ð¸ÑˆÐ¸Ñ‚ÐµÑÑŒ..."
 
-#: src/lang.c:1108
+#: src/lang.c:1131
 msgid "<SPACE>"
 msgstr "<ÐŸÐ ÐžÐ‘Ð•Ð›>"
 
-#: src/lang.c:1109
+#: src/lang.c:1132
 #, c-format
 msgid "Starting: (%s)"
 msgstr "Ð¡Ñ‚Ð°Ñ€Ñ‚ÑƒÑŽ: (%s)"
 
-#: src/lang.c:1110
+#: src/lang.c:1133
 #, c-format
 msgid "List Thread (%d of %d)"
 msgstr "Ð¡Ð¿Ð¸ÑÐ¾Ðº Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¹ (%d Ð¸Ð· %d)"
 
-#: src/lang.c:1111
+#: src/lang.c:1134
 #, c-format
 msgid "Thread (%.*s)"
 msgstr "Ð”Ð¸ÑÐºÑƒÑÑÐ¸Ñ (%.*s)"
 
-#: src/lang.c:1112
+#: src/lang.c:1135
 msgid "Enter wildcard subscribe pattern> "
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÑˆÐ°Ð±Ð»Ð¾Ð½ Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¿Ð¸ÑÐºÐ¸> "
 
-#: src/lang.c:1113
+#: src/lang.c:1136
 #, c-format
 msgid "subscribed to %d groups"
 msgstr "Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ð»Ð¸ÑÑŒ Ð½Ð° %d Ð³Ñ€ÑƒÐ¿Ð¿"
 
-#: src/lang.c:1114
+#: src/lang.c:1137
 #, c-format
 msgid "Subscribed to %s"
 msgstr "ÐŸÐ¾Ð´Ð¿Ð¸ÑÐ°Ð»Ð¸ÑÑŒ Ð½Ð° %s"
 
-#: src/lang.c:1115
+#: src/lang.c:1138
 msgid "Subscribing... "
 msgstr "ÐŸÐ¾Ð´Ð¿Ð¸ÑÑ‹Ð²Ð°ÐµÐ¼ÑÑ... "
 
-#: src/lang.c:1116
+#: src/lang.c:1139
 #, c-format
 msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): "
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ ÑÐ½Ð¾Ð²Ð° Ð¸Ð»Ð¸ Ð·Ð°Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ(Ð¸) [%%s]? (%s/%s/%s): "
 
-#: src/lang.c:1117
+#: src/lang.c:1140
 #, c-format
 msgid "Supersede article(s) to group(s) [%s]> "
 msgstr "Ð—Ð°Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ(Ð¸) Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ(Ñ‹) [%s]> "
 
-#: src/lang.c:1118
+#: src/lang.c:1141
 msgid "Superseding article ..."
 msgstr "Ð—Ð°Ð¼ÐµÐ½Ð° ÑÑ‚Ð°Ñ‚ÑŒÐ¸ ..."
 
-#: src/lang.c:1119
+#: src/lang.c:1142
 #, c-format
 msgid ""
 "\n"
@@ -4139,29 +4223,29 @@ msgstr ""
 "\n"
 "ÐžÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾. ÐÐ°Ð±ÐµÑ€Ð¸Ñ‚Ðµ 'fg' Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿ÑƒÑÐºÐ° %s\n"
 
-#: src/lang.c:1121
+#: src/lang.c:1144
 #, c-format
 msgid "%d days"
 msgstr "%d Ð´Ð½ÐµÐ¹"
 
-#: src/lang.c:1122
+#: src/lang.c:1145
 msgid "<TAB>"
 msgstr "<Ð¢ÐÐ‘>"
 
-#: src/lang.c:1123
+#: src/lang.c:1146
 msgid "TeX "
 msgstr ""
 
-#: src/lang.c:1124
+#: src/lang.c:1147
 #, fuzzy, c-format
 msgid "Version: %s %s release %s (\"%s\")"
 msgstr "Ð’ÐµÑ€ÑÐ¸Ñ: %s %s Ñ€ÐµÐ»Ð¸Ð· %s (\"%s\")\n"
 
-#: src/lang.c:1125
+#: src/lang.c:1148
 msgid "# Default action/prompt strings\n"
 msgstr ""
 
-#: src/lang.c:1126
+#: src/lang.c:1149
 msgid ""
 "# Defaults for quick (1 key) kill & auto-selection filters\n"
 "# header=NUM  0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n"
@@ -4172,293 +4256,303 @@ msgid ""
 "# expire=ON/OFF  ON=limit to default_filter_days OFF=don't ever expire\n"
 msgstr ""
 
-#: src/lang.c:1139
+#: src/lang.c:1162
 msgid ""
 "# If ON use print current subject or newsgroup description in the last line\n"
 msgstr ""
 "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð²Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ Ñ‚ÐµÐºÑƒÑ‰ÑƒÑŽ Ñ‚ÐµÐ¼Ñƒ Ð¸Ð»Ð¸ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð² Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐ¹ ÑÑ‚Ñ€Ð¾ÐºÐµ\n"
 
-#: src/lang.c:1140
+#: src/lang.c:1163
 msgid "# Host & time info used for detecting new groups (don't touch)\n"
 msgstr ""
 "# Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ Ñ…Ð¾ÑÑ‚Ðµ Ð¸ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸, Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ÑÑ Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ\n"
 "# Ð½Ð¾Ð²Ñ‹Ñ… Ð³Ñ€ÑƒÐ¿Ð¿ (Ð½Ðµ Ð¸Ð·Ð¼ÐµÐ½ÑÑ‚ÑŒ)\n"
 
-#: src/lang.c:1141
+#: src/lang.c:1164
 msgid "There is no news\n"
 msgstr "ÐÐµÑ‚ Ð½Ð¾Ð²Ð¾ÑÑ‚ÐµÐ¹\n"
 
-#: src/lang.c:1142
+#: src/lang.c:1165
 msgid "Thread"
 msgstr "Ð”Ð¸ÑÐºÑƒÑÑÐ¸Ñ"
 
-#: src/lang.c:1143
+#: src/lang.c:1166
 msgid "Thread Level Commands"
 msgstr "ÐšÐ¾Ð¼Ð°Ð½Ð´Ñ‹ ÑƒÑ€Ð¾Ð²Ð½Ñ Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¹"
 
-#: src/lang.c:1144
+#: src/lang.c:1167
 msgid "Thread deselected"
 msgstr "Ð¡ Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¸ ÑÐ½ÑÑ‚Ð° Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ°"
 
-#: src/lang.c:1145
+#: src/lang.c:1168
 msgid "Thread selected"
 msgstr "Ð”Ð¸ÑÐºÑƒÑÑÐ¸Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð°"
 
-#: src/lang.c:1146
+#: src/lang.c:1169
 msgid "thread"
 msgstr "Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ñ"
 
-#: src/lang.c:1147
+#: src/lang.c:1170
 #, c-format
 msgid "Thread %4s of %4s"
 msgstr "Ð”Ð¸ÑÐºÑƒÑÑÐ¸Ñ %4s Ð¸Ð· %4s"
 
-#: src/lang.c:1148
+#: src/lang.c:1171
 msgid "Threading articles..."
 msgstr "Ð Ð°Ð·Ð±Ð¾Ñ€ Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¹..."
 
-#: src/lang.c:1149
+#: src/lang.c:1172
 #, fuzzy
 msgid "Threading by multipart"
 msgstr "Ð Ð°Ð·Ð±Ð¾Ñ€ Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¹..."
 
-#: src/lang.c:1151
-#, fuzzy, c-format
-msgid "TLS handshake failed: %s\n"
-msgstr "Slrnface: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð·Ð°Ð¿ÑƒÑÐºÐ°: %s."
-
-#: src/lang.c:1153
+#: src/lang.c:1175
 msgid "<failed to retrieve cipher>"
 msgstr ""
 
-#: src/lang.c:1154
+#: src/lang.c:1176
 msgid "<failed to retrieve issuer>"
 msgstr ""
 
-#: src/lang.c:1155
+#: src/lang.c:1177
 msgid "<failed to retrieve subject>"
 msgstr ""
 
-#: src/lang.c:1156
+#: src/lang.c:1178
 msgid "<failed to retrieve version>"
 msgstr ""
 
-#: src/lang.c:1157
+#: src/lang.c:1179
 #, fuzzy, c-format
 msgid "%s handshake done: %s\n"
 msgstr "Slrnface: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð·Ð°Ð¿ÑƒÑÐºÐ°: %s."
 
-#: src/lang.c:1158 src/lang.c:1309
-#, fuzzy
-msgid "unknown error"
-msgstr "ÐÐµÐ¸Ð·Ð²ÐµÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°."
-
-#: src/lang.c:1161
+#: src/lang.c:1182
 #, fuzzy, c-format
 msgid "TLS handshake failed: %s (%d)\n"
 msgstr "Slrnface: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð·Ð°Ð¿ÑƒÑÐºÐ°: %s."
 
-#: src/lang.c:1162
+#: src/lang.c:1183
 #, fuzzy, c-format
 msgid "TLS peer verification failed: %s\n"
 msgstr "Slrnface: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð·Ð°Ð¿ÑƒÑÐºÐ°: %s."
 
-#: src/lang.c:1163
+#: src/lang.c:1184
 #, c-format
 msgid "TLS peer verification failed, continuing anyway as requested: %s\n"
 msgstr ""
 
-#: src/lang.c:1164
+#: src/lang.c:1185
 msgid "<unable to retrieve status>"
 msgstr ""
 
-#: src/lang.c:1165
+#: src/lang.c:1186
 msgid "unexpected certificate verification status!"
 msgstr ""
 
-#: src/lang.c:1168
+#: src/lang.c:1189
 #, c-format
 msgid ""
 "TLS peer verification failed: %s.\n"
 "Continuing anyway as requested.\n"
 msgstr ""
 
-#: src/lang.c:1171
+#: src/lang.c:1192
 #, fuzzy, c-format
 msgid "TLS handshake done: %s\n"
 msgstr "Slrnface: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð·Ð°Ð¿ÑƒÑÐºÐ°: %s."
 
-#: src/lang.c:1174
+#: src/lang.c:1195
+#, fuzzy, c-format
+msgid "TLS handshake failed: %s\n"
+msgstr "Slrnface: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð·Ð°Ð¿ÑƒÑÐºÐ°: %s."
+
+#: src/lang.c:1198
 #, c-format
 msgid "Toggled word highlighting %s"
 msgstr "ÐŸÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ Ð¿Ð¾Ð´ÑÐ²ÐµÑ‚ÐºÐ¸ ÑÐ»Ð¾Ð² %s"
 
-#: src/lang.c:1175
+#: src/lang.c:1199
 msgid "Toggled rot13 encoding"
 msgstr "ÐŸÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ¸ rot13"
 
-#: src/lang.c:1176
+#: src/lang.c:1200
 #, fuzzy, c-format
 msgid "Toggled German TeX encoding %s"
 msgstr "ÐŸÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ Ð½ÐµÐ¼ÐµÑ†ÐºÐ¾Ð¹ TeX ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ¸ %s"
 
-#: src/lang.c:1177
+#: src/lang.c:1201
 #, c-format
 msgid "Toggled tab-width to %d"
 msgstr "ÐŸÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ ÑˆÐ¸Ñ€Ð¸Ð½Ñ‹ Ñ‚Ð°Ð±ÑƒÐ»ÑÑ†Ð¸Ð¸ Ð½Ð° %d"
 
-#: src/lang.c:1179
+#: src/lang.c:1203
 #, c-format
 msgid "%d Trying to dotlock %s"
 msgstr "%d Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° dotlock %s"
 
-#: src/lang.c:1180
+#: src/lang.c:1204
 #, c-format
 msgid "%d Trying to lock %s"
 msgstr "%d ÐŸÐ¾Ð¿Ñ‹Ñ‚ÐºÐ° Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ %s"
 
-#: src/lang.c:1182
+#: src/lang.c:1206
 #, fuzzy, c-format
 msgid "%s=help"
 msgstr "%s=Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒ"
 
-#: src/lang.c:1184
+#: src/lang.c:1208
 msgid "Unlimited"
 msgstr "ÐÐµÐ¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½"
 
-#: src/lang.c:1185
+#: src/lang.c:1209
 msgid "Enter wildcard unsubscribe pattern> "
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÑˆÐ°Ð±Ð»Ð¾Ð½ Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ð¸ÑÑ‹Ð²Ð°Ð½Ð¸Ñ> "
 
-#: src/lang.c:1186
+#: src/lang.c:1210
 #, c-format
 msgid "Error decoding %s : %s"
 msgstr "ÐžÑˆÐ¸Ð±ÐºÐ° Ñ€Ð°ÑÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ %s : %s"
 
-#: src/lang.c:1187
+#: src/lang.c:1211
 msgid "No end."
 msgstr "ÐÐµÑ‚ ÐºÐ¾Ð½Ñ†Ð°."
 
-#: src/lang.c:1188
+#: src/lang.c:1212
 #, c-format
 msgid "%s successfully decoded."
 msgstr "%s ÑƒÑÐ¿ÐµÑˆÐ½Ð¾ Ñ€Ð°ÑÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½."
 
-#: src/lang.c:1189
+#: src/lang.c:1214
 msgid "unchanged"
 msgstr "Ð½ÐµÐ¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¾"
 
-#: src/lang.c:1190
+#: src/lang.c:1216
 msgid "(unknown)"
 msgstr "(Ð½ÐµÐ¸Ð·Ð²ÐµÑÑ‚Ð½Ð¾)"
 
-#: src/lang.c:1191
+#: src/lang.c:1218
+#, fuzzy
+msgid "unknown error"
+msgstr "ÐÐµÐ¸Ð·Ð²ÐµÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°."
+
+#: src/lang.c:1220
 msgid "unread"
 msgstr "Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ"
 
-#: src/lang.c:1192
+#: src/lang.c:1221
 #, c-format
 msgid "unsubscribed from %d groups"
 msgstr "Ð¾Ñ‚Ð¿Ð¸ÑÐ°Ð»Ð¸ÑÑŒ Ð¾Ñ‚ %d Ð³Ñ€ÑƒÐ¿Ð¿"
 
-#: src/lang.c:1193
+#: src/lang.c:1222
 #, c-format
 msgid "Unsubscribed from %s"
 msgstr "ÐžÑ‚Ð¿Ð¸ÑÐ°Ð»Ð¸ÑÑŒ Ð¾Ñ‚ %s"
 
-#: src/lang.c:1194
+#: src/lang.c:1223
 msgid "Unsubscribing... "
 msgstr "ÐžÑ‚Ð¿Ð¸ÑÑ‹Ð²Ð°ÐµÐ¼ÑÑ... "
 
-#: src/lang.c:1195
+#: src/lang.c:1224
 msgid "Unthreading articles..."
 msgstr "Ð Ð°Ð·Ð³Ñ€ÑƒÐ¿Ð¿Ð¸Ñ€Ð¾Ð²ÐºÐ° Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¹..."
 
-#: src/lang.c:1196
+#: src/lang.c:1225
 msgid "Updated"
 msgstr "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾"
 
-#: src/lang.c:1197
+#: src/lang.c:1226
 msgid "Updating"
 msgstr "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ðµ"
 
-#: src/lang.c:1198
+#: src/lang.c:1227
 msgid "URL Menu"
 msgstr ""
 
-#: src/lang.c:1199
+#: src/lang.c:1228
 #, fuzzy
 msgid "URL Menu Commands"
 msgstr "ÐšÐ¾Ð¼Ð°Ð½Ð´Ñ‹ Ð²ÐµÑ€Ñ…Ð½ÐµÐ³Ð¾ ÑƒÑ€Ð¾Ð²Ð½Ñ"
 
-#: src/lang.c:1200
+#: src/lang.c:1229
 #, fuzzy, c-format
 msgid "Opening %s"
 msgstr "ÐžÑ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ðµ %s\n"
 
-#: src/lang.c:1201
+#: src/lang.c:1230
 #, fuzzy
 msgid "Select URL> "
 msgstr "Ð’Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ> "
 
-#: src/lang.c:1202
+#: src/lang.c:1231
 #, fuzzy
 msgid "No URLs in this article"
 msgstr "ÐÐµÑ‚ Ð±Ð¾Ð»ÑŒÑˆÐµ URL Ð² ÑÑ‚Ð°Ñ‚ÑŒÐµ"
 
-#: src/lang.c:1203
-msgid "Use MIME display program for this message?"
-msgstr "Ð’Ñ‹Ð·Ð²Ð°Ñ‚ÑŒ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñƒ, Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°ÑŽÑ‰ÑƒÑŽ MIME Ð´Ð»Ñ ÑÑ‚Ð°Ñ‚ÑŒÐ¸?"
+#: src/lang.c:1233
+#, c-format
+msgid "SASL MECHS    : %s\n"
+msgstr ""
 
-#: src/lang.c:1204
+#: src/lang.c:1234
+#, c-format
+msgid "SASL MECH used: %s\n"
+msgstr ""
+
+#: src/lang.c:1236
 msgid "  -c       mark all news as read in subscribed newsgroups (batch mode)"
 msgstr ""
 "  -c       Ð¾Ñ‚Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ Ð²ÑÐµ Ð½Ð¾Ð²Ð¾ÑÑ‚Ð¸ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡. Ð² Ð¿Ð¾Ð´Ð¿Ð¸Ñ. Ð³Ñ€ÑƒÐ¿Ð¿Ð°Ñ… (Ð¿Ð°ÐºÐµÑ‚Ð½Ñ‹Ð¹ Ñ€ÐµÐ¶Ð¸Ð¼)"
 
-#: src/lang.c:1205
+#: src/lang.c:1237
 msgid "  -Z       return status indicating if any unread news (batch mode)"
 msgstr "  -Z       Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚ ÑÑ‚Ð°Ñ‚ÑƒÑÐ° Ð¾ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ñ… Ð½Ð¾Ð²Ð¾ÑÑ‚ÑÑ… (Ð¿Ð°ÐºÐµÑ‚Ð½Ñ‹Ð¹ Ñ€ÐµÐ¶Ð¸Ð¼)"
 
-#: src/lang.c:1206
+#: src/lang.c:1238
 msgid "  -q       don't check for new newsgroups"
 msgstr "  -q       Ð½Ðµ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÑÑ‚ÑŒ Ð¿Ð¾ÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ñ‹Ñ… Ð³Ñ€ÑƒÐ¿Ð¿ Ð½Ð¾Ð²Ð¾ÑÑ‚ÐµÐ¹"
 
-#: src/lang.c:1207
+#: src/lang.c:1239
 msgid "  -X       don't save any files on quit"
 msgstr "  -X       Ð½Ðµ ÑÐ¾Ñ…Ñ€Ð°Ð½ÑÑ‚ÑŒ Ñ„Ð°Ð¹Ð»Ñ‹ Ð¿Ñ€Ð¸ Ð²Ñ‹Ñ…Ð¾Ð´Ðµ"
 
-#: src/lang.c:1208
+#: src/lang.c:1240
 msgid "  -d       don't show newsgroup descriptions"
 msgstr "  -d       Ð½Ðµ Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð³Ñ€ÑƒÐ¿Ð¿"
 
-#: src/lang.c:1209
+#: src/lang.c:1241
 msgid "  -G limit get only limit articles/group"
 msgstr "  -G limit Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ limit ÑÑ‚Ð°Ñ‚ÐµÐ¹/Ð³Ñ€ÑƒÐ¿Ð¿"
 
-#: src/lang.c:1210
+#: src/lang.c:1242
 #, c-format
 msgid "  -H       help information about %s"
 msgstr "  -H       Ð¿Ð¾Ð´ÑÐºÐ°Ð·ÐºÐ° Ð¾ %s"
 
-#: src/lang.c:1211
+#: src/lang.c:1243
 msgid "  -h       this help message"
 msgstr "  -h       ÑÑ‚Ð° Ð¿Ð¾Ð´ÑÐºÐ°Ð·ÐºÐ°"
 
-#: src/lang.c:1212
+#: src/lang.c:1244
 #, c-format
 msgid "  -I dir   news index file directory [default=%s]"
 msgstr "  -I dir   Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑÐ½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð° [Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ=%s]"
 
-#: src/lang.c:1213
+#: src/lang.c:1246
+msgid "  -L msgid show the message with that Message-ID"
+msgstr ""
+
+#: src/lang.c:1248
 msgid "  -u       update index files (batch mode)"
 msgstr "  -u       Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ Ð¸Ð½Ð´ÐµÐºÑÐ½Ñ‹Ðµ Ñ„Ð°Ð¹Ð»Ñ‹ (Ð¿Ð°ÐºÐµÑ‚Ð½Ñ‹Ð¹ Ñ€ÐµÐ¶Ð¸Ð¼)"
 
-#: src/lang.c:1214
+#: src/lang.c:1249
 #, c-format
 msgid "  -m dir   mailbox directory [default=%s]"
 msgstr "  -m dir   Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ mailbox [Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ=%s]"
 
-#: src/lang.c:1215
+#: src/lang.c:1250
 #, c-format
 msgid ""
 "\n"
@@ -4467,55 +4561,60 @@ msgstr ""
 "\n"
 "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð»ÑÐ¹Ñ‚Ðµ Ð¾ÑˆÐ¸Ð±ÐºÐ¸/ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ð¸ %s"
 
-#: src/lang.c:1216
+#: src/lang.c:1251
 msgid "  -N       mail new news to your posts (batch mode)"
 msgstr ""
 "  -N       Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÑÑ‚ÑŒ Ð¿Ð¾ email Ð½Ð¾Ð²Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð½Ð° Ð²Ð°ÑˆÐ¸ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ (Ð¿Ð°ÐºÐµÑ‚Ð½Ñ‹Ð¹ "
 "Ñ€ÐµÐ¶Ð¸Ð¼)"
 
-#: src/lang.c:1217
+#: src/lang.c:1252
 msgid "  -M user  mail new news to specified user (batch mode)"
 msgstr ""
 "  -M user  Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÑÑ‚ÑŒ Ð¿Ð¾ email Ð½Ð¾Ð²Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¼Ñƒ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŽ "
 "(Ð¿Ð°ÐºÐµÑ‚Ð½Ñ‹Ð¹ Ñ€ÐµÐ¶Ð¸Ð¼)"
 
-#: src/lang.c:1218
+#: src/lang.c:1253
 #, c-format
 msgid "  -f file  subscribed to newsgroups file [default=%s]"
 msgstr "  -f file  Ñ„Ð°Ð¹Ð» Ð¿Ð¾Ð´Ð¿Ð¸ÑÐºÐ¸ [Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ=%s]"
 
-#: src/lang.c:1219
+#: src/lang.c:1255
+#, c-format
+msgid "  -t sec   override nntp_read_timeout_secs setting [default=%d]"
+msgstr ""
+
+#: src/lang.c:1257
 #, fuzzy
 msgid "  -x       no-posting mode"
 msgstr "  -x       Ñ€ÐµÐ¶Ð¸Ð¼ Ð·Ð°Ð¿Ñ€ÐµÑ‚ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ"
 
-#: src/lang.c:1220
+#: src/lang.c:1258
 msgid "  -w       post an article and exit"
 msgstr "  -w       Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð¸ Ð²Ñ‹Ð¹Ñ‚Ð¸"
 
-#: src/lang.c:1221
+#: src/lang.c:1259
 msgid "  -o       post all postponed articles and exit"
 msgstr "  -o       Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ Ð²ÑÐµ Ð¾Ñ‚Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð¸ Ð²Ñ‹Ð¹Ñ‚Ð¸"
 
-#: src/lang.c:1222
+#: src/lang.c:1260
 msgid "  -R       read news saved by -S option"
 msgstr "  -R       Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð½Ð¾Ð²Ð¾ÑÑ‚Ð¸, ÑÐ¾Ñ…Ñ€Ð°Ð½Ñ‘Ð½Ð½Ñ‹Ðµ Ð¾Ð¿Ñ†Ð¸ÐµÐ¹ -S"
 
-#: src/lang.c:1223
+#: src/lang.c:1261
 #, c-format
 msgid "  -s dir   save news directory [default=%s]"
 msgstr "  -s dir   Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾ÑÑ‚ÐµÐ¹ [Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ=%s]"
 
-#: src/lang.c:1224
+#: src/lang.c:1262
 msgid "  -S       save new news for later reading (batch mode)"
 msgstr ""
 "  -S       ÑÐ¾Ñ…Ñ€Ð°Ð½ÑÑ‚ÑŒ Ð½Ð¾Ð²Ð¾ÑÑ‚Ð¸ Ð´Ð»Ñ Ð¿Ð¾ÑÐ»ÐµÐ´ÑƒÑŽÑ‰ÐµÐ³Ð¾ Ð¿Ñ€Ð¾Ñ‡Ñ‚ÐµÐ½Ð¸Ñ (Ð¿Ð°ÐºÐµÑ‚Ð½Ñ‹Ð¹ Ñ€ÐµÐ¶Ð¸Ð¼)"
 
-#: src/lang.c:1225
+#: src/lang.c:1263
 msgid "  -z       start if any unread news"
 msgstr "  -z       Ð·Ð°Ð¿ÑƒÑÑ‚Ð¸Ñ‚ÑŒ ÐµÑÐ»Ð¸ ÐµÑÑ‚ÑŒ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ Ð½Ð¾Ð²Ð¾ÑÑ‚Ð¸"
 
-#: src/lang.c:1226
+#: src/lang.c:1264
 #, c-format
 msgid ""
 "A Usenet reader.\n"
@@ -4526,68 +4625,73 @@ msgstr ""
 "\n"
 "Ð˜ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ: %s [Ð¾Ð¿Ñ†Ð¸Ð¸] [Ð³Ñ€ÑƒÐ¿Ð¿Ð° Ð½Ð¾Ð²Ð¾ÑÑ‚ÐµÐ¹[,...]]"
 
-#: src/lang.c:1227
+#: src/lang.c:1265
 msgid "  -v       verbose output for batch mode options"
 msgstr "  -v       Ð´ÐµÑ‚Ð°Ð»ÑŒÐ½Ñ‹Ð¹ Ð²Ñ‹Ð²Ð¾Ð´ Ð´Ð»Ñ Ð¾Ð¿Ñ†Ð¸Ð¹ Ð¿Ð°ÐºÐµÑ‚Ð½Ð¾Ð³Ð¾ Ñ€ÐµÐ¶Ð¸Ð¼Ð°"
 
-#: src/lang.c:1228
+#: src/lang.c:1266
 msgid "  -V       print version & date information"
 msgstr "  -V       Ð²Ñ‹Ð²ÐµÑÑ‚Ð¸ Ð²ÐµÑ€ÑÐ¸ÑŽ Ð¸ Ð´Ð°Ñ‚Ñƒ"
 
-#: src/lang.c:1229
-#, c-format
-msgid "%s only useful without batch mode operations\n"
-msgstr "%s Ð¾Ð¿Ñ†Ð¸Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð±ÐµÐ· Ð¿Ð°ÐºÐµÑ‚Ð½Ð¾Ð³Ð¾ Ñ€ÐµÐ¶Ð¸Ð¼Ð°\n"
+#: src/lang.c:1267
+msgid "Use MIME display program for this message?"
+msgstr "Ð’Ñ‹Ð·Ð²Ð°Ñ‚ÑŒ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñƒ, Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°ÑŽÑ‰ÑƒÑŽ MIME Ð´Ð»Ñ ÑÑ‚Ð°Ñ‚ÑŒÐ¸?"
 
-#: src/lang.c:1230
-#, c-format
-msgid "%s only useful for batch mode operations\n"
-msgstr "%s Ð¾Ð¿Ñ†Ð¸Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð² Ð¿Ð°ÐºÐµÑ‚Ð½Ð¾Ð¼ Ñ€ÐµÐ¶Ð¸Ð¼Ðµ\n"
+#: src/lang.c:1268
+#, fuzzy, c-format
+msgid "%s only useful without batch mode operations.%s\n"
+msgstr "%s Ð¾Ð¿Ñ†Ð¸Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð±ÐµÐ· Ð¿Ð°ÐºÐµÑ‚Ð½Ð¾Ð³Ð¾ Ñ€ÐµÐ¶Ð¸Ð¼Ð°.%s\n"
 
-#: src/lang.c:1231
+#: src/lang.c:1269
+#, fuzzy, c-format
+msgid "%s only useful for batch mode operations.%s\n"
+msgstr "%s Ð¾Ð¿Ñ†Ð¸Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð² Ð¿Ð°ÐºÐµÑ‚Ð½Ð¾Ð¼ Ñ€ÐµÐ¶Ð¸Ð¼Ðµ.%s\n"
+
+#: src/lang.c:1270
 #, fuzzy, c-format
-msgid "%s only useful for batch or debug mode operations\n"
-msgstr "%s Ð¾Ð¿Ñ†Ð¸Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð² Ð¿Ð°ÐºÐµÑ‚Ð½Ð¾Ð¼ Ñ€ÐµÐ¶Ð¸Ð¼Ðµ\n"
+msgid "%s only useful for batch or debug mode operations.%s\n"
+msgstr "%s Ð¾Ð¿Ñ†Ð¸Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð° Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð² Ð¿Ð°ÐºÐµÑ‚Ð½Ð¾Ð¼ Ñ€ÐµÐ¶Ð¸Ð¼Ðµ.%s\n"
 
-#: src/lang.c:1232
+#: src/lang.c:1271
 #, c-format
-msgid "Useless combination %s and %s. Ignoring %s.\n"
+msgid "Useless combination %s and %s. Ignoring %s.%s\n"
 msgstr ""
 
-#: src/lang.c:1233
+#: src/lang.c:1272
 msgid "uuencoded file"
 msgstr ""
 
-#: src/lang.c:1234
+#: src/lang.c:1273
 #, fuzzy
 msgid "incomplete uuencoded file"
 msgstr "Ð½ÐµÐ¿Ð¾Ð»Ð½Ñ‹Ð¹ "
 
-#: src/lang.c:1237
+#: src/lang.c:1276
 #, c-format
 msgid "Valid not after : %s\n"
 msgstr ""
 
-#: src/lang.c:1238
+#: src/lang.c:1277
 #, c-format
 msgid "Valid not before: %s\n"
 msgstr ""
 
-#: src/lang.c:1240
-#, c-format
-msgid ""
-"\n"
-"%s%d out of range (0 - %d). Reset to 0"
-msgstr ""
-"\n"
-"%s%d Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (0 - %d). Ð¡Ð±Ñ€Ð¾Ñ Ð² 0"
+#: src/lang.c:1279
+#, fuzzy, c-format
+msgid "%s %s out of range (%d - %d). Ignored."
+msgstr "%s%d Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (0 - %d). Ð˜Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚ÑÑ."
 
-#: src/lang.c:1241
+#: src/lang.c:1280
+#, fuzzy, c-format
+msgid "%s %d out of range (0 - %d). Reset to 0."
+msgstr "%s%d Ð²Ð½Ðµ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° (0 - %d). Ð¡Ð±Ñ€Ð¾Ñ Ð² 0."
+
+#: src/lang.c:1281
 #, c-format
 msgid "View '%s' (%s/%s)?"
 msgstr "ÐŸÑ€Ð¾ÑÐ¼Ð¾Ñ‚Ñ€ '%s' (%s/%s)?"
 
-#: src/lang.c:1243
+#: src/lang.c:1283
 #, c-format
 msgid ""
 "\n"
@@ -4599,7 +4703,7 @@ msgstr ""
 "Ð¡Ñ‚Ñ€Ð¾ÐºÐ° %d - Ð¿ÐµÑ€Ð²Ð°Ñ Ð´Ð»Ð¸Ð½Ð½Ð°Ñ ÑÑ‚Ñ€Ð¾ÐºÐ°:\n"
 "%-100s\n"
 
-#: src/lang.c:1244
+#: src/lang.c:1284
 msgid ""
 "\n"
 "Warning: article unchanged after editing\n"
@@ -4607,7 +4711,7 @@ msgstr ""
 "\n"
 "Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: ÑÑ‚Ð°Ñ‚ÑŒÑ Ð½Ðµ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»Ð°ÑÑŒ Ð¿Ð¾ÑÐ»Ðµ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ\n"
 
-#: src/lang.c:1245
+#: src/lang.c:1285
 msgid ""
 "\n"
 "Warning: \"Subject:\" contains only whitespaces.\n"
@@ -4615,7 +4719,7 @@ msgstr ""
 "\n"
 "Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: \"Subject:\" ÑÐ¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¾Ð´Ð½Ð¸ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ñ‹.\n"
 
-#: src/lang.c:1246
+#: src/lang.c:1286
 msgid ""
 "\n"
 "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:"
@@ -4624,7 +4728,7 @@ msgstr ""
 "\n"
 "ÐŸÑ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ: \"Subject:\" Ð½Ð°Ñ‡Ð¸Ð½Ð°ÐµÑ‚ÑÑ Ñ  \"Re: \" Ð½Ð¾ Ð½ÐµÑ‚ \"References:\".\n"
 
-#: src/lang.c:1248
+#: src/lang.c:1288
 msgid ""
 "\n"
 "Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
@@ -4634,7 +4738,16 @@ msgstr ""
 "Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: Ð² ÑÑ‚Ð°Ñ‚ÑŒÐµ ÐµÑÑ‚ÑŒ \"References:\" Ð½Ð¾ \"Subject:\"\n"
 "          Ð½Ðµ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÐµÑ‚ÑÑ Ñ \"Re: \" Ð¸ Ð½Ðµ ÑÐ¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ \"(was:\".\n"
 
-#: src/lang.c:1251
+#: src/lang.c:1291
+#, fuzzy
+msgid ""
+"\n"
+"Warning: \"Subject:\" contains only \"Re:\".\n"
+msgstr ""
+"\n"
+"Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: \"Subject:\" ÑÐ¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¾Ð´Ð½Ð¸ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ñ‹.\n"
+
+#: src/lang.c:1292
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4656,7 +4769,13 @@ msgstr ""
 "Ð’Ð¾Ñ‚ ÑÑ‚Ð°Ñ‚ÑŒÑ, ÐºÐ¾Ñ‚Ð¾Ñ€ÑƒÑŽ Ð²Ñ‹ Ñ…Ð¾Ñ‚Ð¸Ñ‚Ðµ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ:\n"
 "\n"
 
-#: src/lang.c:1255
+#: src/lang.c:1296
+msgid ""
+"\n"
+"Warning: Undesired Distribution \"world\" used.\n"
+msgstr ""
+
+#: src/lang.c:1297
 msgid ""
 "\n"
 "Warning: You are using a non-plain transfer encoding (such as base64 or\n"
@@ -4671,7 +4790,7 @@ msgstr ""
 "Ð±ÑƒÐ´ÐµÑ‚\n"
 "          Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð° ÑÑ‚Ð¾Ð¹ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹, Ð¾Ð½Ð° Ð½Ðµ Ð±ÑƒÐ´ÐµÑ‚ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾ Ð·Ð°ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð°.\n"
 
-#: src/lang.c:1261
+#: src/lang.c:1303
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4681,7 +4800,7 @@ msgstr ""
 "Ð¡Ñ‚Ñ€Ð¾ÐºÐ° %d Ð´Ð»Ð¸Ð½Ð½ÐµÐµ 998 Ð¾ÐºÑ‚ÐµÑ‚Ð¾Ð² Ð¸ Ð´Ð¾Ð»Ð¶Ð½Ð° Ð±Ñ‹Ñ‚ÑŒ Ñ€Ð°Ð·Ð±Ð¸Ñ‚Ð° Ð½Ð° Ñ‡Ð°ÑÑ‚Ð¸,\n"
 "Ð½Ð¾ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ° Ð½Ðµ ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð° Ð½Ð¸ Ð² %s, Ð½Ð¸ Ð² %s\n"
 
-#: src/lang.c:1265
+#: src/lang.c:1307
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4694,7 +4813,7 @@ msgstr ""
 "Ð¸Ð»Ð¸ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ Ð½Ðµ ÑÐ¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð½Ð¸ Ð¾Ð´Ð½Ð¾Ð³Ð¾ 8-Ð±Ð¸Ñ‚Ð½Ð¾Ð³Ð¾ ÑÐ¸Ð¼Ð²Ð¾Ð»Ð°, Ñ‚Ð°ÐºÐ¸Ð¼ Ð¾Ð±Ñ€Ð°Ð·Ð¾Ð¼\n"
 "Ñ€Ð°Ð·Ð±Ð¸Ñ‚Ð¸Ñ Ð½Ð° Ñ‡Ð°ÑÑ‚Ð¸ Ð½Ðµ Ð¿Ñ€Ð¾Ð¸Ð·Ð¾Ð¹Ð´Ñ‘Ñ‚.\n"
 
-#: src/lang.c:1269
+#: src/lang.c:1311
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4704,13 +4823,13 @@ msgstr ""
 "Ð¡Ñ‚Ñ€Ð¾ÐºÐ° %d Ð´Ð»Ð¸Ð½Ð½ÐµÐµ 998 Ð¾ÐºÑ‚ÐµÑ‚Ð¾Ð² Ð¸ Ð´Ð¾Ð»Ð¶Ð½Ð° Ð±Ñ‹Ñ‚ÑŒ Ñ€Ð°Ð·Ð±Ð¸Ñ‚Ð° Ð½Ð° Ñ‡Ð°ÑÑ‚Ð¸,\n"
 "Ð½Ð¾ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ° Ð½Ðµ ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð° Ð² %s\n"
 
-#: src/lang.c:1272
+#: src/lang.c:1314
 msgid ""
 "\n"
 "Warning: \"example\" is a reserved hierarchy!\n"
 msgstr ""
 
-#: src/lang.c:1273
+#: src/lang.c:1315
 #, c-format
 msgid ""
 "\n"
@@ -4725,7 +4844,7 @@ msgstr ""
 "ÐÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² Ð²Ð°ÑˆÐµÐ¼ %s Ñ„Ð°Ð¹Ð»Ðµ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»Ð¸ÑÑŒ!\n"
 "ÐŸÑ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð¹Ñ‚Ðµ WHATSNEW, Ð¸ Ñ‚.Ð´...\n"
 
-#: src/lang.c:1275
+#: src/lang.c:1317
 #, c-format
 msgid ""
 "\n"
@@ -4739,7 +4858,7 @@ msgstr ""
 "ÐÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸ÐµÑ Ð² Ñ„Ð°Ð¹Ð»Ðµ %s Ð¼Ð¾Ð³ÑƒÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð¿Ñ€Ð¾Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ñ‹,\n"
 "Ð´Ñ€ÑƒÐ³Ð¸Ðµ Ð¼Ð¾Ð³Ð»Ð¸ Ð±Ñ‹Ñ‚ÑŒ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ñ‹!\n"
 
-#: src/lang.c:1278
+#: src/lang.c:1320
 #, c-format
 msgid ""
 "Warning: tin wrote fewer groups to your\n"
@@ -4749,7 +4868,25 @@ msgid ""
 "before you start tin once again!\n"
 msgstr ""
 
-#: src/lang.c:1282
+#: src/lang.c:1324
+#, c-format
+msgid ""
+"\n"
+"Warning: The article has multiple addresses in \"%s\".\n"
+"         This is at least uncommon.\n"
+msgstr ""
+
+#: src/lang.c:1327
+#, c-format
+msgid ""
+"\n"
+"Warning: With multiple addresses in \"From\", a \"Sender\"-header is\n"
+"         required, but its generation is deactivated by the global\n"
+"         configuration \"disable_sender=ON\" in\n"
+"         \"%s\".\n"
+msgstr ""
+
+#: src/lang.c:1332
 #, c-format
 msgid ""
 "\n"
@@ -4759,12 +4896,12 @@ msgstr ""
 "Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¾ %d '-- \\n' ÑÑ‚Ñ€Ð¾Ðº, ÑÑ‚Ð¾ Ð¼Ð¾Ð¶ÐµÑ‚ ÑƒÐ´Ð¸Ð²Ð¸Ñ‚ÑŒ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… "
 "Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹.\n"
 
-#: src/lang.c:1283
+#: src/lang.c:1333
 #, c-format
 msgid "Warning: Only %d out of %d articles were saved"
 msgstr "Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: Ð¡Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ñ‹ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ %d Ð¸Ð· %d ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:1284
+#: src/lang.c:1334
 #, c-format
 msgid ""
 "\n"
@@ -4779,21 +4916,21 @@ msgstr ""
 "          Ð¿Ð¾Ð»ÐµÐ·Ð½ÑƒÑŽ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÑŽ, Ð¾Ð½Ð¸ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ Ð±Ñ‹Ñ‚ÑŒ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ð¼Ð¸ Ð½Ð°ÑÑ‚Ð¾Ð»ÑŒÐºÐ¾,\n"
 "          Ð½Ð°ÑÐºÐ¾Ð»ÑŒÐºÐ¾ ÑÑ‚Ð¾ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾.\n"
 
-#: src/lang.c:1288
+#: src/lang.c:1338
 #, c-format
 msgid ""
 "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
 msgstr ""
 "Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: Ð°Ð´Ñ€ÐµÑ email Ð¼Ð¾Ð¶ÐµÑ‚ ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‚ÑŒ spamtrap. %s=Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶Ð¸Ñ‚ÑŒ, %s=ÑÑ‚Ð¾Ð¿? "
 
-#: src/lang.c:1289
+#: src/lang.c:1339
 #, c-format
 msgid ""
 "Warning: line %d contains unprintable chars:\n"
 "%s\n"
 msgstr ""
 
-#: src/lang.c:1290
+#: src/lang.c:1340
 msgid ""
 "\n"
 "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
@@ -4801,84 +4938,84 @@ msgstr ""
 "\n"
 "Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: Ð¡Ð¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñ‹ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ‚ÑŒÑÑ Ñ '-- \\n' Ð½Ðµ Ñ '--\\n'.\n"
 
-#: src/lang.c:1291
+#: src/lang.c:1341
 msgid "Writing attributes file..."
 msgstr "Ð—Ð°Ð¿Ð¸ÑÑŒ Ñ„Ð°Ð¹Ð»Ð° Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð²..."
 
-#: src/lang.c:1292
+#: src/lang.c:1342
 #, fuzzy, c-format
 msgid "Writing %s\n"
 msgstr "Ð¡Ñ‚Ð°Ñ€Ñ‚ÑƒÑŽ: (%s)"
 
-#: src/lang.c:1293
+#: src/lang.c:1343
 #, fuzzy
 msgid "Writing overview cache..."
 msgstr "Ð—Ð°Ð¿Ð¸ÑÑŒ Ñ„Ð°Ð¹Ð»Ð° Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð²..."
 
-#: src/lang.c:1295
+#: src/lang.c:1345
 #, fuzzy, c-format
 msgid "%4d Responses"
 msgstr "%d Ð¾Ñ‚Ð²ÐµÑ‚Ð¾Ð²"
 
-#: src/lang.c:1297
+#: src/lang.c:1347
 msgid "Can't run slrnface: couldn't construct fifo name."
 msgstr "ÐÐµ Ð¼Ð¾Ð³Ñƒ Ð·Ð°Ð¿ÑƒÑÑ‚Ð¸Ñ‚ÑŒ slrnface: Ð½Ðµ ÑƒÐ´Ð°Ñ‘Ñ‚ÑÑ ÑÐºÐ¾Ð½ÑÑ‚Ñ€ÑƒÐ¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð¼Ñ fifo."
 
-#: src/lang.c:1298
+#: src/lang.c:1348
 #, c-format
 msgid "Can't run slrnface: failed to create %s"
 msgstr "ÐÐµ Ð¼Ð¾Ð³Ñƒ Ð·Ð°Ð¿ÑƒÑÑ‚Ð¸Ñ‚ÑŒ slrnface: Ð¾ÑˆÐ¸Ð±ÐºÐ° ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ %s"
 
-#: src/lang.c:1299
+#: src/lang.c:1349
 #, c-format
 msgid "Slrnface abnormally exited, code %d."
 msgstr "Slrnface Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð° Ñ ÐºÐ¾Ð´Ð¾Ð¼ %d."
 
-#: src/lang.c:1300
+#: src/lang.c:1350
 #, c-format
 msgid "Slrnface failed: %s."
 msgstr "Slrnface: Ð¾ÑˆÐ¸Ð±ÐºÐ° Ð·Ð°Ð¿ÑƒÑÐºÐ°: %s."
 
-#: src/lang.c:1301
+#: src/lang.c:1352
 #, c-format
 msgid "Can't run slrnface: Environment variable %s not found."
 msgstr "ÐÐµ Ð¼Ð¾Ð³Ñƒ Ð·Ð°Ð¿ÑƒÑÑ‚Ð¸Ñ‚ÑŒ slrnface: ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ %s Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð°."
 
-#: src/lang.c:1302
+#: src/lang.c:1354
 #, fuzzy
 msgid "Can't run slrnface: Not running in an xterm."
 msgstr "ÐÐµ Ð¼Ð¾Ð³Ñƒ Ð·Ð°Ð¿ÑƒÑÑ‚Ð¸Ñ‚ÑŒ slrnface: Ð½Ðµ ÑƒÐ´Ð°Ñ‘Ñ‚ÑÑ ÑÐºÐ¾Ð½ÑÑ‚Ñ€ÑƒÐ¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð¼Ñ fifo."
 
-#: src/lang.c:1303
+#: src/lang.c:1357
 msgid "couldn't connect to display"
 msgstr ""
 
-#: src/lang.c:1304
+#: src/lang.c:1358
 #, fuzzy
 msgid "can't open FIFO"
 msgstr "ÐÐµ Ð¼Ð¾Ð³Ñƒ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ %s"
 
-#: src/lang.c:1305
+#: src/lang.c:1359
 msgid "executable not found"
 msgstr ""
 
-#: src/lang.c:1306
+#: src/lang.c:1360
 msgid "fork() failed"
 msgstr ""
 
-#: src/lang.c:1307
+#: src/lang.c:1361
 msgid "couldn't find controlling terminal"
 msgstr ""
 
-#: src/lang.c:1308
+#: src/lang.c:1362
 msgid "terminal doesn't export width and height"
 msgstr ""
 
-#: src/lang.c:1310
+#: src/lang.c:1363
 msgid "WINDOWID not found in environment"
 msgstr ""
 
-#: src/lang.c:1311
+#: src/lang.c:1364
 msgid ""
 "This directory is used to create named pipes for communication between\n"
 "slrnface and its parent process. It should normally be empty because\n"
@@ -4902,28 +5039,28 @@ msgstr ""
 "Ð²Ð¸Ð´ÐµÑ‚ÑŒ ÑÐ¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ðµ Ñ„Ð°Ð¹Ð»Ñ‹ ÑÐ¾Ð·Ð´Ð°Ð½Ð½Ñ‹Ðµ Ð´Ð»Ñ Ð²Ð°Ñ NFS ÑÐµÑ€Ð²ÐµÑ€Ð¾Ð¼ Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹\n"
 "slrnface.\n"
 
-#: src/lang.c:1324
+#: src/lang.c:1377
 #, c-format
 msgid "Added %d %s"
 msgstr "Ð”Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¾ %d %s"
 
-#: src/lang.c:1325
+#: src/lang.c:1378
 msgid "No unsubscribed groups to show"
 msgstr "ÐÐµÑ‚ Ð¾Ñ‚Ð¿Ð¸ÑÐ°Ð½Ð½Ñ‹Ñ… Ð³Ñ€ÑƒÐ¿Ð¿ Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°"
 
-#: src/lang.c:1326
+#: src/lang.c:1379
 msgid "Showing subscribed to groups only"
 msgstr "ÐŸÐ¾ÐºÐ°Ð· Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ð½Ð½Ñ‹Ñ… Ð½Ð° Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ"
 
-#: src/lang.c:1327
+#: src/lang.c:1380
 msgid "Yes "
 msgstr "Ð”Ð° "
 
-#: src/lang.c:1328
+#: src/lang.c:1381
 msgid "You have mail"
 msgstr "ÐÐ¾Ð²Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð°"
 
-#: src/lang.c:1333
+#: src/lang.c:1386
 #, c-format
 msgid ""
 "\n"
@@ -4943,11 +5080,11 @@ msgstr ""
 "          Ð¾Ñ‚Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€ÑƒÐ¹Ñ‚Ðµ ÐµÑ‘ Ð¸ ÑƒÐ±ÐµÑ€Ð¸Ñ‚Ðµ ÑÑ‚Ð¸ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ‹ Ð¸Ð»Ð¸ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚Ðµ Ð² M)ÐµÐ½ÑŽ\n"
 "          Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ MM_NETWORK_CHARSET Ð½Ð° Ð¿Ð¾Ð´Ñ…Ð¾Ð´ÑÑ‰ÐµÐµ.\n"
 
-#: src/lang.c:1344
+#: src/lang.c:1397
 msgid "  -D mode  debug mode"
 msgstr ""
 
-#: src/lang.c:1348
+#: src/lang.c:1401
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4974,11 +5111,11 @@ msgstr ""
 "Ð’Ð¾Ñ‚ ÑÑ‚Ð°Ñ‚ÑŒÑ, ÐºÐ¾Ñ‚Ð¾Ñ€ÑƒÑŽ Ð²Ñ‹ Ñ…Ð¾Ñ‚Ð¸Ñ‚Ðµ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ:\n"
 "\n"
 
-#: src/lang.c:1357
+#: src/lang.c:1410
 msgid "toggle color"
 msgstr "Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ñ†Ð²ÐµÑ‚"
 
-#: src/lang.c:1358
+#: src/lang.c:1411
 msgid ""
 "# Changing colors of several screen parts\n"
 "# Possible values are:\n"
@@ -5024,11 +5161,11 @@ msgstr ""
 "#  15 = ÑÐ²ÐµÑ‚Ð»Ð¾-Ð±ÐµÐ»Ñ‹Ð¹\n"
 "\n"
 
-#: src/lang.c:1378
+#: src/lang.c:1431
 msgid "  -a       toggle color flag"
 msgstr "  -a       Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ñ†Ð²ÐµÑ‚"
 
-#: src/lang.c:1382
+#: src/lang.c:1435
 msgid ""
 "\n"
 "Error: Followup-To set to more than one newsgroup!\n"
@@ -5036,14 +5173,14 @@ msgstr ""
 "\n"
 "ÐžÑˆÐ¸Ð±ÐºÐ°: Followup-To ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½ Ð½Ð° Ð±Ð¾Ð»ÑŒÑˆÐµ Ñ‡ÐµÐ¼ Ð¾Ð´Ð½Ñƒ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ!\n"
 
-#: src/lang.c:1383
+#: src/lang.c:1436
 #, c-format
 msgid ""
 "\n"
 "Error: \"%s\" is renamed, use \"%s\" instead!\n"
 msgstr ""
 
-#: src/lang.c:1384
+#: src/lang.c:1437
 #, c-format
 msgid ""
 "\n"
@@ -5052,7 +5189,7 @@ msgstr ""
 "\n"
 "ÐžÑˆÐ¸Ð±ÐºÐ°: ÐºÑ€Ð¾ÑÑ-Ð¿Ð¾ÑÑ‚Ð¸Ð½Ð³Ð° Ð² %d Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð±ÐµÐ· Followup-To ÑÑ‚Ñ€Ð¾ÐºÐ¸!\n"
 
-#: src/lang.c:1385
+#: src/lang.c:1438
 #, c-format
 msgid ""
 "\n"
@@ -5061,7 +5198,7 @@ msgstr ""
 "\n"
 "ÐžÑˆÐ¸Ð±ÐºÐ°: \"%s\" - Ð½ÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð°!\n"
 
-#: src/lang.c:1387
+#: src/lang.c:1440
 msgid ""
 "\n"
 "Warning: Followup-To set to more than one newsgroup!\n"
@@ -5069,7 +5206,7 @@ msgstr ""
 "\n"
 "Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: Followup-To ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½ Ð½Ð° Ð±Ð¾Ð»ÑŒÑˆÐµ Ñ‡ÐµÐ¼ Ð¾Ð´Ð½Ñƒ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ!\n"
 
-#: src/lang.c:1388
+#: src/lang.c:1441
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5078,7 +5215,7 @@ msgstr ""
 "\n"
 "Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: \"%s\" - Ð½ÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ð°Ñ Ð½Ð° ÑÑ‚Ð¾Ð¼ Ð¼ÐµÑÑ‚Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ð° Ð½Ð¾Ð²Ð¾ÑÑ‚ÐµÐ¹!\n"
 
-#: src/lang.c:1389
+#: src/lang.c:1442
 #, c-format
 msgid ""
 "\n"
@@ -5087,7 +5224,7 @@ msgstr ""
 "\n"
 "Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: ÐºÑ€Ð¾ÑÑ-Ð¿Ð¾ÑÑ‚Ð¸Ð½Ð³ Ð² %d Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð±ÐµÐ· Followup-To ÑÑ‚Ñ€Ð¾ÐºÐ¸!\n"
 
-#: src/lang.c:1390
+#: src/lang.c:1443
 #, c-format
 msgid ""
 "\n"
@@ -5096,7 +5233,7 @@ msgstr ""
 "\n"
 "Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: \"%s\" Ð½Ðµ Ð² newsrc Ð¸ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð¾ÑˆÐ¸Ð±Ð¾Ñ‡Ð½Ð° Ð½Ð° ÑÑ‚Ð¾Ð¼ Ð¼ÐµÑÑ‚Ðµ!\n"
 
-#: src/lang.c:1391
+#: src/lang.c:1444
 #, c-format
 msgid ""
 "\n"
@@ -5105,195 +5242,197 @@ msgstr ""
 "\n"
 "Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: \"%s\" - Ð½ÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ð°Ñ Ð½Ð° ÑÑ‚Ð¾Ð¼ Ð¼ÐµÑÑ‚Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ð° Ð½Ð¾Ð²Ð¾ÑÑ‚ÐµÐ¹!\n"
 
-#: src/lang.c:1395
+#: src/lang.c:1448
 #, c-format
 msgid "%d files successfully written from %d articles. %d %s occurred."
 msgstr "%d Ñ„Ð°Ð¹Ð»Ð¾Ð² ÑƒÑÐ¿ÐµÑˆÐ½Ð¾ Ð·Ð°Ð¿Ð¸ÑÐ°Ð½Ñ‹ Ð¸Ð· %d ÑÑ‚Ð°Ñ‚ÐµÐ¹. %d %s."
 
-#: src/lang.c:1396
+#: src/lang.c:1449
 msgid "Missing parts."
 msgstr "ÐŸÑ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ñ‹ Ñ‡Ð°ÑÑ‚Ð¸."
 
-#: src/lang.c:1397
+#: src/lang.c:1450
 msgid "No beginning."
 msgstr "ÐÐµÑ‚ Ð½Ð°Ñ‡Ð°Ð»Ð°."
 
-#: src/lang.c:1398
+#: src/lang.c:1451
 msgid "No data."
 msgstr "ÐÐµÑ‚ Ð´Ð°Ð½Ð½Ñ‹Ñ…."
 
-#: src/lang.c:1399
+#: src/lang.c:1452
 msgid "Unknown error."
 msgstr "ÐÐµÐ¸Ð·Ð²ÐµÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°."
 
-#: src/lang.c:1402
-#, c-format
-msgid "\tChecksum of %s (%ld %s)"
-msgstr "\tÐšÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ ÑÑƒÐ¼Ð¼Ð° %s (%ld %s)"
-
-#: src/lang.c:1407
-msgid "Reading mail active file... "
-msgstr ""
+#: src/lang.c:1456
+#, fuzzy, c-format
+msgid "Reading mail active file: %s"
+msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ Ñ„Ð°Ð¹Ð»Ð° Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ ÐºÐ»Ð°Ð²Ð¸Ñˆ...\n"
 
-#: src/lang.c:1408
-msgid "Reading mailgroups file... "
+#: src/lang.c:1457
+#, fuzzy, c-format
+msgid "Reading mailgroups file: %s"
 msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ Ñ„Ð°Ð¹Ð»Ð° mailgroups... "
 
-#: src/lang.c:1412
+#: src/lang.c:1461
 msgid "perform PGP operations on article"
 msgstr "Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ PGP Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸ ÑÐ¾ ÑÑ‚Ð°Ñ‚ÑŒÐµÐ¹"
 
-#: src/lang.c:1413
+#: src/lang.c:1462
 msgid "Add key(s) to public keyring?"
 msgstr "Ð”Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ ÐºÐ»ÑŽÑ‡(Ð¸) Ðº Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ ÐºÐ»ÑŽÑ‡Ð°Ð¼?"
 
-#: src/lang.c:1414
+#: src/lang.c:1463
 #, c-format
 msgid "%s=encrypt, %s=sign, %s=both, %s=quit: "
 msgstr "%s=ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ, %s=Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ñ‚ÑŒ, %s=Ð¾Ð±Ð°, %s=Ð²Ñ‹Ñ…Ð¾Ð´: "
 
-#: src/lang.c:1415
+#: src/lang.c:1464
 #, c-format
 msgid "%s=sign, %s=sign & include public key, %s=quit: "
 msgstr "%s=ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ, %s=Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ñ‚ÑŒ Ð¸ Ð²Ð»Ð¾Ð¶Ð¸Ñ‚ÑŒ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¹ ÐºÐ»ÑŽÑ‡, %s=Ð²Ñ‹Ñ…Ð¾Ð´: "
 
-#: src/lang.c:1416
+#: src/lang.c:1465
 #, c-format
 msgid "PGP has not been set up (can't open %s)"
 msgstr "PGP Ð½Ðµ ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½ (Ð½Ðµ Ð¼Ð¾Ð³Ñƒ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ %s)"
 
-#: src/lang.c:1417
+#: src/lang.c:1466
 msgid "Article not signed and no public keys found"
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð½Ðµ Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ð½Ð° Ð¸ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¹ ÐºÐ»ÑŽÑ‡ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½"
 
-#: src/lang.c:1419
+#: src/lang.c:1468
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 "%s=Ð²Ñ‹Ñ…Ð¾Ð´, %s=Ñ€ÐµÐ´., %s=ispell, %s=pgp, %s=Ð¼ÐµÐ½ÑŽ, %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ, %s=Ð¾Ñ‚Ð»Ð¾Ð¶Ð¸Ñ‚ÑŒ: "
 
-#: src/lang.c:1420
+#: src/lang.c:1469
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: "
 msgstr "%s=Ð²Ñ‹Ñ…Ð¾Ð´, %s=Ñ€ÐµÐ´., %s=ispell, %s=pgp, %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ [%%s]: "
 
-#: src/lang.c:1421
+#: src/lang.c:1470
 #, c-format
 msgid ""
 "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 "%s=Ð²Ñ‹Ñ…Ð¾Ð´, %s=Ñ€ÐµÐ´., %s=ispell, %s=pgp, %s=Ð¼ÐµÐ½ÑŽ, %s=Ð¾Ñ‚Ð¿Ñ€., %s=Ð¾Ñ‚Ð»Ð¾Ð¶Ð¸Ñ‚ÑŒ [%%s]: "
 
-#: src/lang.c:1423
+#: src/lang.c:1472
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=Ð²Ñ‹Ñ…Ð¾Ð´, %s=Ñ€ÐµÐ´Ð°ÐºÑ‚., %s=pgp, %s=Ð¼ÐµÐ½ÑŽ, %s=Ð¾Ñ‚Ð¿Ñ€., %s=Ð¾Ñ‚Ð»Ð¾Ð¶Ð¸Ñ‚ÑŒ: "
 
-#: src/lang.c:1424
+#: src/lang.c:1473
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: "
 msgstr "%s=Ð²Ñ‹Ñ…Ð¾Ð´, %s=Ñ€ÐµÐ´., %s=pgp, %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ [%%s]: "
 
-#: src/lang.c:1425
+#: src/lang.c:1474
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=Ð²Ñ‹Ñ…Ð¾Ð´, %s=Ñ€ÐµÐ´., %s=pgp, %s=Ð¼ÐµÐ½ÑŽ, %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ, %s=Ð¾Ñ‚Ð»Ð¾Ð¶Ð¸Ñ‚ÑŒ [%%s]: "
 
-#: src/lang.c:1429
+#: src/lang.c:1478
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=Ð²Ñ‹Ñ…Ð¾Ð´, %s=Ñ€ÐµÐ´., %s=ispell, %s=Ð¼ÐµÐ½ÑŽ, %s=Ð¾Ñ‚Ð¿Ñ€., %s=Ð¾Ñ‚Ð»Ð¾Ð¶Ð¸Ñ‚ÑŒ: "
 
-#: src/lang.c:1430
+#: src/lang.c:1479
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: "
 msgstr "%s=Ð²Ñ‹Ñ…Ð¾Ð´, %s=Ñ€ÐµÐ´., %s=ispell, %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ [%%s]: "
 
-#: src/lang.c:1431
+#: src/lang.c:1480
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 "%s=Ð²Ñ‹Ñ…Ð¾Ð´, %s=Ñ€ÐµÐ´., %s=ispell, %s=Ð¼ÐµÐ½ÑŽ, %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ, %s=Ð¾Ñ‚Ð»Ð¾Ð¶Ð¸Ñ‚ÑŒ [%%s]: "
 
-#: src/lang.c:1433
+#: src/lang.c:1482
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=Ð²Ñ‹Ñ…Ð¾Ð´, %s=Ñ€ÐµÐ´., %s=Ð¼ÐµÐ½ÑŽ, %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ, %s=Ð¾Ñ‚Ð»Ð¾Ð¶Ð¸Ñ‚ÑŒ: "
 
-#: src/lang.c:1434
+#: src/lang.c:1483
 #, c-format
 msgid "%s=quit, %s=edit, %s=send [%%s]: "
 msgstr "%s=Ð²Ñ‹Ñ…Ð¾Ð´, %s=Ñ€ÐµÐ´., %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ [%%s]: "
 
-#: src/lang.c:1435
+#: src/lang.c:1484
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=Ð²Ñ‹Ñ…Ð¾Ð´, %s=Ñ€ÐµÐ´., %s=Ð¼ÐµÐ½ÑŽ, %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ, %s=Ð¾Ñ‚Ð»Ð¾Ð¶Ð¸Ñ‚ÑŒ [%%s]: "
 
-#: src/lang.c:1441
+#: src/lang.c:1489
 msgid "Try cache_overview_files to speed up things.\n"
 msgstr "ÐŸÐ¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ cache_overview_files Ð´Ð»Ñ ÑƒÑÐºÐ¾Ñ€ÐµÐ½Ð¸Ñ.\n"
 
-#: src/lang.c:1442
+#: src/lang.c:1490
 msgid "Tin will use local index files instead.\n"
 msgstr "Tin Ð±ÑƒÐ´ÐµÑ‚ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ Ñ„Ð°Ð¹Ð»Ñ‹ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð¸Ð½Ð´ÐµÐºÑÐ°.\n"
 
-#: src/lang.c:1443
+#: src/lang.c:1491
 msgid "Cannot find NNTP server name"
 msgstr "ÐÐµ Ð¼Ð¾Ð³Ñƒ Ð½Ð°Ð¹Ñ‚Ð¸ Ð¸Ð¼Ñ NNTP ÑÐµÑ€Ð²ÐµÑ€Ð°"
 
-#: src/lang.c:1444
+#: src/lang.c:1492
 msgid "CAPABILITIES did not announce READER"
 msgstr ""
 
-#: src/lang.c:1445
+#: src/lang.c:1493
 #, fuzzy, c-format
 msgid "Connecting to %s:%u..."
 msgstr "Ð¡Ð¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ Ñ %s:%u..."
 
-#: src/lang.c:1446
+#: src/lang.c:1494
 #, fuzzy
 msgid "NNTP connection error. Exiting..."
 msgstr "ÐÐµ ÑƒÐ´Ð°Ð»Ð¾ÑÑŒ ÑÐ¾ÐµÐ´Ð¸Ð½Ð¸Ñ‚ÑŒÑÑ Ñ NNTP ÑÐµÑ€Ð²ÐµÑ€Ð¾Ð¼ %s. Ð’Ñ‹Ñ…Ð¾Ð´..."
 
-#: src/lang.c:1447
+#: src/lang.c:1495
 #, fuzzy
 msgid "Disconnecting from server..."
 msgstr "ÐžÑ‚ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ Ð¾Ñ‚ ÑÐµÑ€Ð²ÐµÑ€Ð°...\n"
 
-#: src/lang.c:1448
+#: src/lang.c:1496
 #, c-format
 msgid "Failed to connect to NNTP server %s. Exiting..."
 msgstr "ÐÐµ ÑƒÐ´Ð°Ð»Ð¾ÑÑŒ ÑÐ¾ÐµÐ´Ð¸Ð½Ð¸Ñ‚ÑŒÑÑ Ñ NNTP ÑÐµÑ€Ð²ÐµÑ€Ð¾Ð¼ %s. Ð’Ñ‹Ñ…Ð¾Ð´..."
 
-#: src/lang.c:1449
+#: src/lang.c:1497
 msgid "205  Closing connection"
 msgstr "205  Ð—Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ðµ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ"
 
-#: src/lang.c:1450
+#: src/lang.c:1498
 msgid "Your server does not support the NNTP XOVER or OVER command.\n"
 msgstr "Ð¡ÐµÑ€Ð²ÐµÑ€ Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ NNTP XOVER Ð¸Ð»Ð¸ OVER ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹.\n"
 
-#: src/lang.c:1452
+#: src/lang.c:1499
 #, c-format
 msgid "Port isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1453
+#: src/lang.c:1500
+#, c-format
+msgid "%s argument is not numeric: %s\n"
+msgstr ""
+
+#: src/lang.c:1502
 #, c-format
 msgid "Port in %s isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1454
+#: src/lang.c:1503
 #, c-format
 msgid "reconnect (%d) limit %d reached, giving up."
 msgstr ""
 
-#: src/lang.c:1456
+#: src/lang.c:1505
 msgid "Connection to news server has timed out. Reconnect?"
 msgstr "Ð’Ñ€ÐµÐ¼Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ðº ÑÐµÑ€Ð²ÐµÑ€Ñƒ Ð¿Ñ€ÐµÐ²Ñ‹ÑÐ¸Ð»Ð¾ Ð»Ð¸Ð¼Ð¸Ñ‚. ÐŸÐ¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒÑÑ ÐµÑ‰Ñ‘ Ñ€Ð°Ð·?"
 
-#: src/lang.c:1457
+#: src/lang.c:1506
 #, c-format
 msgid ""
 "Put the server name in the file %s,\n"
@@ -5302,69 +5441,68 @@ msgstr ""
 "ÐŸÐ¾Ð¼ÐµÑÑ‚Ð¸Ñ‚ÑŒ Ð¸Ð¼Ñ ÑÐµÑ€Ð²ÐµÑ€Ð° Ð² Ñ„Ð°Ð¹Ð» %s,\n"
 "Ð¸Ð»Ð¸ ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ NNTPSERVER"
 
-#: src/lang.c:1459
+#: src/lang.c:1508
 #, fuzzy
 msgid "Continuing..."
 msgstr "ÐŸÐµÑ‡Ð°Ñ‚Ð°ÑŽ..."
 
-#: src/lang.c:1460
-#, c-format
-msgid "Read timeout from server (%d seconds) - quit tin?"
+#: src/lang.c:1509
+msgid "Read timeout from server - quit tin?"
 msgstr ""
 
-#: src/lang.c:1461
+#: src/lang.c:1510
 msgid "  -C       try COMPRESS NNTP extension"
 msgstr ""
 
-#: src/lang.c:1463
+#: src/lang.c:1512
 msgid "  -A       force authentication on connect"
 msgstr "  -A       Ð¿Ñ€Ð¸Ð½ÑƒÐ´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¿Ñ€Ð¸ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ð¸"
 
-#: src/lang.c:1464
+#: src/lang.c:1513
 #, c-format
 msgid "  -g serv  read news from NNTP server serv [default=%s]"
 msgstr "  -g serv  Ñ‡Ñ‚ÐµÐ½Ð¸Ðµ Ð½Ð¾Ð²Ð¾ÑÑ‚ÐµÐ¹ Ñ NNTP ÑÐµÑ€Ð²ÐµÑ€Ð° serv [Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ=%s]"
 
-#: src/lang.c:1465
+#: src/lang.c:1514
 #, c-format
 msgid "  -p port  use port as NNTP port [default=%d]"
 msgstr "  -p port  Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ port ÐºÐ°Ðº NNTP Ð¿Ð¾Ñ€Ñ‚ [Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ=%d]"
 
-#: src/lang.c:1467
+#: src/lang.c:1516
 msgid "  -k       skip verification for NNTPS"
 msgstr ""
 
-#: src/lang.c:1468
+#: src/lang.c:1517
 msgid "  -T       enable NNTPS"
 msgstr ""
 
-#: src/lang.c:1470
+#: src/lang.c:1519
 #, fuzzy
 msgid "  -Q       quick start. Same as -dnq"
 msgstr "  -Q       Ð±Ñ‹ÑÑ‚Ñ€Ñ‹Ð¹ Ð·Ð°Ð¿ÑƒÑÐº. ÐšÐ°Ðº Ñ Ð¾Ð¿Ñ†Ð¸ÑÐ¼Ð¸ -dnq"
 
-#: src/lang.c:1471
+#: src/lang.c:1520
 msgid "  -r       read news remotely from default NNTP server"
 msgstr ""
 "  -r       Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ð½Ð¾Ð²Ð¾ÑÑ‚Ð¸ ÑƒÐ´Ð°Ð»ÐµÐ½Ð½Ð¾ Ñ NNTP ÑÐµÑ€Ð²ÐµÑ€Ð°, Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ"
 
-#: src/lang.c:1472
+#: src/lang.c:1521
 msgid "  -l       use only LIST instead of GROUP (-n) command"
 msgstr "  -l       Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ LIST Ð²Ð¼ÐµÑÑ‚Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ GROUP (-n)"
 
-#: src/lang.c:1473
+#: src/lang.c:1522
 msgid "  -n       only read subscribed .newsrc groups from NNTP server"
 msgstr "  -n       Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ð½Ð½Ñ‹Ðµ .newsrc Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ñ NNTP ÑÐµÑ€Ð²ÐµÑ€Ð°"
 
-#: src/lang.c:1475
+#: src/lang.c:1524
 msgid "  -4       force connecting via IPv4"
 msgstr ""
 
-#: src/lang.c:1476
+#: src/lang.c:1525
 msgid "  -6       force connecting via IPv6"
 msgstr ""
 
-#: src/lang.c:1477
+#: src/lang.c:1526
 msgid ""
 "\n"
 "socket or connect problem\n"
@@ -5372,7 +5510,7 @@ msgstr ""
 "\n"
 "Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð° Ñ ÑÐ¾ÐºÐµÑ‚Ð¾Ð¼ Ð¸Ð»Ð¸ Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸ÐµÐ¼\n"
 
-#: src/lang.c:1479
+#: src/lang.c:1528
 #, c-format
 msgid ""
 "\n"
@@ -5381,16 +5519,16 @@ msgstr ""
 "\n"
 "Ð¡Ð¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ Ñ %s: "
 
-#: src/lang.c:1480
+#: src/lang.c:1529
 msgid "Giving up...\n"
 msgstr "ÐŸÑ€ÐµÐºÑ€Ð°Ñ‰Ð°ÐµÐ¼...\n"
 
-#: src/lang.c:1482
+#: src/lang.c:1531
 #, c-format
 msgid "%s/tcp: Unknown service.\n"
 msgstr "%s/tcp: ÐÐµÐ¸Ð·Ð²ÐµÑÑ‚Ð½Ñ‹Ð¹ ÑÐµÑ€Ð²Ð¸Ñ.\n"
 
-#: src/lang.c:1486
+#: src/lang.c:1535
 msgid ""
 "Your server does not have Xref: in its XOVER information.\n"
 "Tin will try to use XHDR XREF instead (slows down things a bit).\n"
@@ -5398,89 +5536,89 @@ msgstr ""
 "Ð’Ð°Ñˆ ÑÐµÑ€Ð²ÐµÑ€ Ð½Ðµ ÑÐ¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Xref: Ð² ÑÐ²Ð¾ÐµÐ¹ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ XOVER.\n"
 "Tin Ð±ÑƒÐ´ÐµÑ‚ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ XHDR XREF (Ñ‡ÑƒÑ‚ÑŒ Ð¼ÐµÐ´Ð»ÐµÐ½ÐµÐµ).\n"
 
-#: src/lang.c:1489
+#: src/lang.c:1538
 msgid "Your server does not have Xref: in its XOVER information.\n"
 msgstr "Ð¡ÐµÑ€Ð²ÐµÑ€ Ð½Ðµ ÑÐ¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Xref: Ð² XOVER.\n"
 
-#: src/lang.c:1492
+#: src/lang.c:1541
 #, fuzzy, c-format
 msgid "Can't open %s. Try %s -r to read news via NNTP."
 msgstr "ÐÐµ Ð¼Ð¾Ð³Ñƒ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ %s. ÐŸÐ¾Ð¿Ñ€Ð¾Ð±ÑƒÐ¹Ñ‚Ðµ %s -r Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾ÑÑ‚ÐµÐ¹ Ð¿Ð¾ NNTP.\n"
 
-#: src/lang.c:1495
+#: src/lang.c:1544
 #, fuzzy
 msgid "  -Q       quick start. Same as -dq"
 msgstr "  -Q       Ð±Ñ‹ÑÑ‚Ñ€Ñ‹Ð¹ Ð·Ð°Ð¿ÑƒÑÐº. ÐšÐ°Ðº Ñ Ð¾Ð¿Ñ†Ð¸ÑÐ¼Ð¸ -dq"
 
-#: src/lang.c:1496
+#: src/lang.c:1545
 msgid "  -l       read only active file instead of scanning spool (-n) command"
 msgstr ""
 "  -l       Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ„Ð°Ð¹Ð» active Ð²Ð¼ÐµÑÑ‚Ð¾ ÑÐºÐ°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ spool (-n) ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹"
 
-#: src/lang.c:1497
+#: src/lang.c:1546
 msgid "  -n       only read subscribed .newsrc groups from spool"
 msgstr "  -n       Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ð½Ð½Ñ‹Ðµ .newsrc Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð¸Ð· spool"
 
-#: src/lang.c:1498
+#: src/lang.c:1547
 msgid "Your server does not have Xref: in its NOV-files.\n"
 msgstr "Ð’Ð°Ñˆ ÑÐµÑ€Ð²ÐµÑ€ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Xref: Ð² NOV-Ñ„Ð°Ð¹Ð»Ð°Ñ….\n"
 
-#: src/lang.c:1502
+#: src/lang.c:1551
 msgid "Posting using external inews failed. Use built in inews instead?"
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ñ Ð²Ð½ÐµÑˆÐ½Ð¸Ð¼ inews Ð¿Ñ€Ð¾Ð²Ð°Ð»Ð¸Ð»Ð¾ÑÑŒ. Ð˜ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ Ð²ÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ñ‹Ð¹ inews"
 
-#: src/lang.c:1503
+#: src/lang.c:1552
 msgid "It worked! Should I always use my built in inews from now on?"
 msgstr "Ð—Ð°Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð»Ð¾! Ð˜ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ Ð²ÑÐµÐ³Ð´Ð° ÑÐ´ÐµÐ»Ð°Ð½Ð½Ñ‹Ð¹ inews?"
 
-#: src/lang.c:1507
+#: src/lang.c:1556
 #, c-format
 msgid "%d %s printed"
 msgstr "%d %s Ð½Ð°Ð¿ÐµÑ‡Ð°Ñ‚Ð°Ð½Ð¾"
 
-#: src/lang.c:1508
+#: src/lang.c:1557
 msgid "output article/thread/hot/pattern/tagged articles to printer"
 msgstr "Ð²Ñ‹Ð²Ð¾Ð´ ÑÑ‚Ð°Ñ‚ÑŒÐ¸/Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¸/hot/ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°/Ð¿Ð¾Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð½Ð° Ð¿ÐµÑ‡Ð°Ñ‚ÑŒ"
 
-#: src/lang.c:1509
+#: src/lang.c:1558
 msgid "Print"
 msgstr "ÐŸÐµÑ‡Ð°Ñ‚ÑŒ"
 
-#: src/lang.c:1510
+#: src/lang.c:1559
 msgid "Printing..."
 msgstr "ÐŸÐµÑ‡Ð°Ñ‚Ð°ÑŽ..."
 
-#: src/lang.c:1514
+#: src/lang.c:1563
 #, fuzzy, c-format
 msgid "%d %s piped to \"%s\""
 msgstr "%d %s Ð½Ð°Ð¿ÐµÑ‡Ð°Ñ‚Ð°Ð½Ð¾"
 
-#: src/lang.c:1515
+#: src/lang.c:1564
 msgid "pipe article/thread/hot/pattern/tagged articles into command"
 msgstr "pipe ÑÑ‚Ð°Ñ‚ÑŒÑŽ/Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑŽ/hot/ÑˆÐ°Ð±Ð»Ð¾Ð½/Ð¿Ð¾Ð¼ÐµÑ‡ÐµÐ½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð² ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ"
 
-#: src/lang.c:1516
+#: src/lang.c:1565
 msgid "No command"
 msgstr "ÐÐµÑ‚ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹"
 
-#: src/lang.c:1517
+#: src/lang.c:1566
 msgid "Pipe"
 msgstr ""
 
-#: src/lang.c:1518
+#: src/lang.c:1567
 #, c-format
 msgid "Pipe to command [%.*s]> "
 msgstr "Pipe Ð² ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ [%.*s]> "
 
-#: src/lang.c:1519
+#: src/lang.c:1568
 msgid "Piping..."
 msgstr ""
 
-#: src/lang.c:1521
+#: src/lang.c:1570
 msgid "Piping not enabled."
 msgstr "Piping Ð½Ðµ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½."
 
-#: src/lang.c:1525
+#: src/lang.c:1574
 #, c-format
 msgid ""
 "\n"
@@ -5495,7 +5633,7 @@ msgstr ""
 "        Ð¸ ÑÐ¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ðµ.  Ð˜ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐ¹Ñ‚Ðµ Ð·Ð°Ð¿ÑÑ‚ÑƒÑŽ (,) Ð´Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ\n"
 "        Ð½ÐµÑÐºÐ¾Ð»ÑŒÐºÐ¸Ñ… Ð¸Ð¼ÐµÐ½ Ð³Ñ€ÑƒÐ¿Ð¿.\n"
 
-#: src/lang.c:1530
+#: src/lang.c:1579
 #, c-format
 msgid ""
 "\n"
@@ -5508,7 +5646,7 @@ msgstr ""
 "        Ñ‚Ð°Ðº ÐºÐ°Ðº ÑÑ‚Ñ€Ð¾ÐºÐ° Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‚ÑŒ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ð¾Ð².\n"
 "        ÐŸÐ¾Ð¶Ð°Ð»ÑƒÐ¹ÑÑ‚Ð° Ð·Ð°Ð¿Ð¸ÑÑ‹Ð²Ð°ÐµÑ‚Ðµ Ð²ÑÐµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð¾Ð´Ð½Ð¾Ð¹ ÑÑ‚Ñ€Ð¾ÐºÐ¾Ð¹.\n"
 
-#: src/lang.c:1535
+#: src/lang.c:1584
 #, c-format
 msgid ""
 "\n"
@@ -5521,7 +5659,7 @@ msgstr ""
 "          Ð­Ñ‚Ð¾ Ð½Ð¾Ð²Ð¾Ðµ ÑÐ²Ð¾Ð¹Ñ‚ÑÐ²Ð¾ Ð¸ Ð¼Ð¾Ð¶ÐµÑ‚ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ‚ÑŒÑÑ Ð½Ðµ Ð²ÑÐµÐ¼Ð¸ ÑÐµÑ€Ð²ÐµÑ€Ð°Ð¼Ð¸.\n"
 "          Ð§Ñ‚Ð¾Ð±Ñ‹ Ð¸Ð·Ð±ÐµÐ¶Ð°Ñ‚ÑŒ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼, Ð·Ð°Ð¿Ð¸ÑÑ‹Ð²Ð°Ð¹Ñ‚Ðµ Ð²ÑÐµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð¾Ð´Ð½Ð¾Ð¹ ÑÑ‚Ñ€Ð¾ÐºÐ¾Ð¹.\n"
 
-#: src/lang.c:1539
+#: src/lang.c:1588
 #, c-format
 msgid ""
 "\n"
@@ -5530,7 +5668,7 @@ msgstr ""
 "\n"
 "Ð’Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: ÑÑ‚Ñ€Ð¾ÐºÐ° \"%s:\" ÑÐ¾Ð´ÐµÑ€Ð¶Ð¸Ñ‚ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ñ‹, ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ðµ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ Ð±Ñ‹Ñ‚ÑŒ ÑƒÐ±Ñ€Ð°Ð½Ñ‹.\n"
 
-#: src/lang.c:1544
+#: src/lang.c:1593
 msgid ""
 "\n"
 "  If your article contains quoted text  please take some time to pare it "
@@ -5552,40 +5690,40 @@ msgid ""
 "  likely to ignore it completely.  It's a crowded net out there.\n"
 msgstr ""
 
-#: src/lang.c:1557
+#: src/lang.c:1606
 msgid "shell escape"
 msgstr "Ð²Ñ‹Ñ…Ð¾Ð´ Ð² Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÑƒ"
 
-#: src/lang.c:1558
+#: src/lang.c:1607
 #, c-format
 msgid "Shell Command (%s)"
 msgstr "ÐšÐ¾Ð¼Ð°Ð½Ð´Ð° Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ¸ (%s)"
 
-#: src/lang.c:1559
+#: src/lang.c:1608
 #, c-format
 msgid "Enter shell command [%s]> "
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ¸ [%s]> "
 
-#: src/lang.c:1563
+#: src/lang.c:1612
 #, c-format
 msgid "%s: Can't get entry for TERM\n"
 msgstr "%s: ÐÐµ Ð¼Ð¾Ð³Ñƒ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ Ð·Ð°Ð¿Ð¸ÑÑŒ Ð´Ð»Ñ TERM\n"
 
-#: src/lang.c:1567
+#: src/lang.c:1616
 #, c-format
 msgid "Group %.*s ('q' to quit)..."
 msgstr "Ð“Ñ€ÑƒÐ¿Ð¿Ð° %.*s ('q' Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ð²Ñ‹Ð¹Ñ‚Ð¸)..."
 
-#: src/lang.c:1569
+#: src/lang.c:1618
 #, c-format
 msgid "Group %.*s..."
 msgstr "Ð“Ñ€ÑƒÐ¿Ð¿Ð° %.*s..."
 
-#: src/lang.c:1573
+#: src/lang.c:1622
 msgid "Server unavailable\n"
 msgstr "Ð¡ÐµÑ€Ð²ÐµÑ€ Ð½Ðµ Ð´Ð¾ÑÑ‚ÑƒÐ¿ÐµÐ½\n"
 
-#: src/lang.c:1579
+#: src/lang.c:1628
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
@@ -5594,7 +5732,7 @@ msgstr ""
 "%s=pipe; %s=mail; %s=Ð¿ÐµÑ‡Ð°Ñ‚ÑŒ; %s=Ð²Ñ‹Ñ…Ð¾Ð´; %s=toggle all/unread; %s=ÑÐ¾Ñ…Ñ€.; "
 "%s=Ð¾Ñ‚Ð¼.; %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ"
 
-#: src/lang.c:1580
+#: src/lang.c:1629
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
@@ -5602,7 +5740,7 @@ msgstr ""
 "%s=pipe; %s=mail; %s=Ð¿ÐµÑ‡Ð°Ñ‚ÑŒ; %s=Ð²Ñ‹Ñ…Ð¾Ð´; %s=reply mail; %s=ÑÐ¾Ñ…Ñ€.; %s=Ð¾Ñ‚Ð¼.; "
 "%s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ"
 
-#: src/lang.c:1582
+#: src/lang.c:1631
 #, c-format
 msgid ""
 "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
@@ -5610,13 +5748,13 @@ msgstr ""
 "%s=mail; %s=Ð¿ÐµÑ‡Ð°Ñ‚ÑŒ; %s=Ð²Ñ‹Ñ…Ð¾Ð´; %s=toggle all/unread; %s=ÑÐ¾Ñ…Ñ€.; %s=Ð¾Ñ‚Ð¼.; "
 "%s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ"
 
-#: src/lang.c:1583
+#: src/lang.c:1632
 #, c-format
 msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=mail; %s=Ð¿ÐµÑ‡Ð°Ñ‚ÑŒ; %s=Ð²Ñ‹Ñ…Ð¾Ð´; %s=Ð¾Ñ‚Ð²ÐµÑ‚Ð¸Ñ‚ÑŒ; %s=ÑÐ¾Ñ…Ñ€.; %s=Ð¾Ñ‚Ð¼.; %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ"
 
-#: src/lang.c:1587
+#: src/lang.c:1636
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
@@ -5624,539 +5762,539 @@ msgstr ""
 "%s=pipe; %s=mail; %s=Ð²Ñ‹Ñ…Ð¾Ð´; %s=toggle all/unread; %s=ÑÐ¾Ñ…Ñ€.; %s=Ð¾Ñ‚Ð¼.; "
 "%s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ"
 
-#: src/lang.c:1588
+#: src/lang.c:1637
 #, c-format
 msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=pipe; %s=mail; %s=Ð²Ñ‹Ñ…Ð¾Ð´; %s=Ð¾Ñ‚Ð²ÐµÑ‚Ð¸Ñ‚ÑŒ; %s=ÑÐ¾Ñ…Ñ€.; %s=Ð¾Ñ‚Ð¼.; %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ"
 
-#: src/lang.c:1590
+#: src/lang.c:1639
 #, c-format
 msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=mail; %s=Ð²Ñ‹Ñ…Ð¾Ð´; %s=toggle all/unread; %s=ÑÐ¾Ñ…Ñ€.; %s=Ð¾Ñ‚Ð¼.; %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ"
 
-#: src/lang.c:1591
+#: src/lang.c:1640
 #, c-format
 msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr "%s=mail; %s=Ð²Ñ‹Ñ…Ð¾Ð´; %s=Ð¾Ñ‚Ð²ÐµÑ‚Ð¸Ñ‚ÑŒ; %s=ÑÐ¾Ñ…Ñ€Ð°Ð½Ð¸Ñ‚ÑŒ; %s=Ð¾Ñ‚Ð¼.; %s=Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ"
 
-#: src/lang.c:1597
+#: src/lang.c:1646
 msgid "Terminal does not support color"
 msgstr "Ð¢ÐµÑ€Ð¼Ð¸Ð½Ð°Ð» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ Ñ†Ð²ÐµÑ‚"
 
-#: src/lang.c:1602
+#: src/lang.c:1651
 #, c-format
 msgid "Trying %s"
 msgstr ""
 
-#: src/lang.c:1617
+#: src/lang.c:1666
 msgid "Subject"
 msgstr "Ð¢ÐµÐ¼Ð°"
 
-#: src/lang.c:1618
+#: src/lang.c:1667
 msgid "References"
 msgstr ""
 
-#: src/lang.c:1619
+#: src/lang.c:1668
 msgid "Both Subject and References"
 msgstr "Ð¢ÐµÐ¼Ð° Ð¸ References"
 
-#: src/lang.c:1620
+#: src/lang.c:1669
 msgid "Multipart Subject"
 msgstr ""
 
-#: src/lang.c:1621
+#: src/lang.c:1670
 msgid "Percentage Match"
 msgstr "Ð¡Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð¿Ð¾ Ð¿Ñ€Ð¾Ñ†ÐµÐ½Ñ‚Ð°Ð¼"
 
-#: src/lang.c:1634 src/lang.c:1725 src/lang.c:1824 src/lang.c:1927
+#: src/lang.c:1683 src/lang.c:1774 src/lang.c:1880 src/lang.c:1983
 msgid "No"
 msgstr "ÐÐµÑ‚"
 
-#: src/lang.c:1635 src/lang.c:1826
+#: src/lang.c:1684 src/lang.c:1882
 msgid "Yes"
 msgstr "Ð”Ð°"
 
-#: src/lang.c:1636
+#: src/lang.c:1685
 #, fuzzy
 msgid "Hide all"
 msgstr "Ð¡ÐºÑ€Ñ‹Ñ‚ÑŒ Ð²ÑÐµ"
 
-#: src/lang.c:1645
+#: src/lang.c:1694
 msgid "Address"
 msgstr "ÐÐ´Ñ€ÐµÑ"
 
-#: src/lang.c:1646
+#: src/lang.c:1695
 msgid "Full Name"
 msgstr "ÐŸÐ¾Ð»Ð½Ð¾Ðµ Ð¸Ð¼Ñ"
 
-#: src/lang.c:1647
+#: src/lang.c:1696
 msgid "Address and Name"
 msgstr "ÐÐ´Ñ€ÐµÑ Ð¸ Ð¸Ð¼Ñ"
 
-#: src/lang.c:1655
+#: src/lang.c:1704
 msgid "Max"
 msgstr "ÐœÐ°ÐºÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ñ‹Ð¹"
 
-#: src/lang.c:1656
+#: src/lang.c:1705
 msgid "Sum"
 msgstr "Ð¡ÑƒÐ¼Ð¼Ð°"
 
-#: src/lang.c:1657
+#: src/lang.c:1706
 msgid "Average"
 msgstr "Ð¡Ñ€ÐµÐ´Ð½Ð¸Ð¹"
 
-#: src/lang.c:1667 src/lang.c:1687
+#: src/lang.c:1716 src/lang.c:1736
 msgid "Black"
 msgstr "Ð§ÐµÑ€Ð½Ñ‹Ð¹"
 
-#: src/lang.c:1668 src/lang.c:1688
+#: src/lang.c:1717 src/lang.c:1737
 msgid "Red"
 msgstr "ÐšÑ€Ð°ÑÐ½Ñ‹Ð¹"
 
-#: src/lang.c:1669 src/lang.c:1689
+#: src/lang.c:1718 src/lang.c:1738
 msgid "Green"
 msgstr "Ð—ÐµÐ»Ñ‘Ð½Ñ‹Ð¹"
 
-#: src/lang.c:1670 src/lang.c:1690
+#: src/lang.c:1719 src/lang.c:1739
 msgid "Brown"
 msgstr "ÐšÐ¾Ñ€Ð¸Ñ‡Ð½ÐµÐ²Ñ‹Ð¹"
 
-#: src/lang.c:1671 src/lang.c:1691
+#: src/lang.c:1720 src/lang.c:1740
 msgid "Blue"
 msgstr "Ð¡Ð¸Ð½Ð¸Ð¹"
 
-#: src/lang.c:1672 src/lang.c:1692
+#: src/lang.c:1721 src/lang.c:1741
 msgid "Pink"
 msgstr "Ð Ð¾Ð·Ð¾Ð²Ñ‹Ð¹"
 
-#: src/lang.c:1673 src/lang.c:1693
+#: src/lang.c:1722 src/lang.c:1742
 msgid "Cyan"
 msgstr "Ð“Ð¾Ð»ÑƒÐ±Ð¾Ð¹"
 
-#: src/lang.c:1674 src/lang.c:1694
+#: src/lang.c:1723 src/lang.c:1743
 msgid "White"
 msgstr "Ð‘ÐµÐ»Ñ‹Ð¹"
 
-#: src/lang.c:1675
+#: src/lang.c:1724
 msgid "Gray"
 msgstr "Ð¡ÐµÑ€Ñ‹Ð¹"
 
-#: src/lang.c:1676
+#: src/lang.c:1725
 msgid "Light Red"
 msgstr "Ð¡Ð²ÐµÑ‚Ð»Ð¾-ÐºÑ€Ð°ÑÐ½Ñ‹Ð¹"
 
-#: src/lang.c:1677
+#: src/lang.c:1726
 msgid "Light Green"
 msgstr "Ð¡Ð²ÐµÑ‚Ð»Ð¾-Ð·ÐµÐ»Ñ‘Ð½Ñ‹Ð¹"
 
-#: src/lang.c:1678
+#: src/lang.c:1727
 msgid "Yellow"
 msgstr "Ð–Ñ‘Ð»Ñ‚Ñ‹Ð¹"
 
-#: src/lang.c:1679
+#: src/lang.c:1728
 msgid "Light Blue"
 msgstr "Ð¡Ð²ÐµÑ‚Ð»Ð¾-ÑÐ¸Ð½Ð¸Ð¹"
 
-#: src/lang.c:1680
+#: src/lang.c:1729
 msgid "Light Pink"
 msgstr "Ð¡Ð²ÐµÑ‚Ð»Ð¾-Ñ€Ð¾Ð·Ð¾Ð²Ñ‹Ð¹"
 
-#: src/lang.c:1681
+#: src/lang.c:1730
 msgid "Light Cyan"
 msgstr "Ð¡Ð²ÐµÑ‚Ð»Ð¾-Ð³Ð¾Ð»ÑƒÐ±Ð¾Ð¹"
 
-#: src/lang.c:1682
+#: src/lang.c:1731
 msgid "Light White"
 msgstr "Ð¡Ð²ÐµÑ‚Ð»Ð¾-Ð±ÐµÐ»Ñ‹Ð¹"
 
-#: src/lang.c:1703 src/lang.c:1831 src/lang.c:1846
+#: src/lang.c:1752 src/lang.c:1887 src/lang.c:1902
 msgid "Nothing"
 msgstr "ÐÐ¸Ñ‡ÐµÐ³Ð¾"
 
-#: src/lang.c:1705
+#: src/lang.c:1754
 msgid "Space"
 msgstr ""
 
-#: src/lang.c:1713
+#: src/lang.c:1762
 msgid "Normal"
 msgstr ""
 
-#: src/lang.c:1714
+#: src/lang.c:1763
 msgid "Best highlighting"
 msgstr "Ð›ÑƒÑ‡ÑˆÐµÐµ Ð¿Ð¾Ð´ÑÐ²ÐµÑ‡Ð¸Ð²Ð°Ð½Ð¸Ðµ"
 
-#: src/lang.c:1715
+#: src/lang.c:1764
 msgid "Underline"
 msgstr "ÐŸÐ¾Ð´Ñ‡ÐµÑ€ÐºÐ¸Ð²Ð°Ð½Ð¸Ðµ"
 
-#: src/lang.c:1716
+#: src/lang.c:1765
 msgid "Reverse video"
 msgstr "Ð ÐµÐ²ÐµÑ€ÑÐ½Ð¾Ðµ Ð²Ð¸Ð´ÐµÐ¾"
 
-#: src/lang.c:1717
+#: src/lang.c:1766
 msgid "Blinking"
 msgstr "ÐœÐ¸Ð³Ð°Ð½Ð¸Ðµ"
 
-#: src/lang.c:1718
+#: src/lang.c:1767
 msgid "Half bright"
 msgstr ""
 
-#: src/lang.c:1719
+#: src/lang.c:1768
 msgid "Bold"
 msgstr ""
 
-#: src/lang.c:1726
+#: src/lang.c:1775
 msgid "Cc"
 msgstr ""
 
-#: src/lang.c:1727
+#: src/lang.c:1776
 msgid "Bcc"
 msgstr ""
 
-#: src/lang.c:1728
+#: src/lang.c:1777
 msgid "Cc and Bcc"
 msgstr ""
 
-#: src/lang.c:1745 src/lang.c:1758
+#: src/lang.c:1794 src/lang.c:1807
 msgid "none"
 msgstr "Ð½Ð¸Ñ‡ÐµÐ³Ð¾"
 
-#: src/lang.c:1746
+#: src/lang.c:1795
 msgid "commands"
 msgstr "ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹"
 
-#: src/lang.c:1747
+#: src/lang.c:1796
 msgid "select"
 msgstr "Ð²Ñ‹Ð±Ð¾Ñ€"
 
-#: src/lang.c:1749
+#: src/lang.c:1798
 msgid "commands & quit"
 msgstr "ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ Ð¸ Ð²Ñ‹Ñ…Ð¾Ð´"
 
-#: src/lang.c:1750
+#: src/lang.c:1799
 msgid "commands & select"
 msgstr "ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ Ð¸ Ð²Ñ‹Ð±Ð¾Ñ€"
 
-#: src/lang.c:1751
+#: src/lang.c:1800
 msgid "quit & select"
 msgstr "Ð²Ñ‹Ñ…Ð¾Ð´ Ð¸ Ð²Ñ‹Ð±Ð¾Ñ€"
 
-#: src/lang.c:1752
+#: src/lang.c:1801
 msgid "commands & quit & select"
 msgstr "ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹, Ð²Ñ‹Ñ…Ð¾Ð´ Ð¸ Ð²Ñ‹Ð±Ð¾Ñ€"
 
-#: src/lang.c:1759
+#: src/lang.c:1808
 msgid "PageDown"
 msgstr ""
 
-#: src/lang.c:1760
+#: src/lang.c:1809
 msgid "PageNextUnread"
 msgstr ""
 
-#: src/lang.c:1761
+#: src/lang.c:1810
 msgid "PageDown or PageNextUnread"
 msgstr ""
 
-#: src/lang.c:1767
+#: src/lang.c:1816
 #, fuzzy
 msgid "Subject: (case sensitive)"
 msgstr "Ð¢ÐµÐ¼Ð°: ÑÑ‚Ñ€Ð¾ÐºÐ° (Ð½Ðµ Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€)"
 
-#: src/lang.c:1768
+#: src/lang.c:1817
 #, fuzzy
 msgid "Subject: (ignore case)"
 msgstr "Ð¢ÐµÐ¼Ð°: ÑÑ‚Ñ€Ð¾ÐºÐ° (Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€) "
 
-#: src/lang.c:1769
+#: src/lang.c:1818
 #, fuzzy
 msgid "From: (case sensitive)"
 msgstr "From: ÑÑ‚Ñ€Ð¾ÐºÐ° (Ð½Ðµ Ð¸Ð³Ð½Ð¾Ñ€. Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€)    "
 
-#: src/lang.c:1770
+#: src/lang.c:1819
 #, fuzzy
 msgid "From: (ignore case)"
 msgstr "From: ÑÑ‚Ñ€Ð¾ÐºÐ° (Ð¸Ð³Ð½Ð¾Ñ€. Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€)   "
 
-#: src/lang.c:1771
+#: src/lang.c:1820
 msgid "Msg-ID: & full References: line"
 msgstr ""
 
-#: src/lang.c:1772
+#: src/lang.c:1821
 msgid "Msg-ID: & last References: only"
 msgstr ""
 
-#: src/lang.c:1773
+#: src/lang.c:1822
 msgid "Message-ID: entry only"
 msgstr ""
 
-#: src/lang.c:1774
+#: src/lang.c:1823
 #, fuzzy
 msgid "Lines:"
 msgstr "Ð¡Ñ‚Ñ€Ð¾ÐºÐ¸"
 
-#: src/lang.c:1780
+#: src/lang.c:1829
 #, fuzzy
 msgid "Don't trim article body"
 msgstr "Ð¡Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð¿Ð¾"
 
-#: src/lang.c:1781
+#: src/lang.c:1830
 msgid "Skip leading blank lines"
 msgstr ""
 
-#: src/lang.c:1782
+#: src/lang.c:1831
 msgid "Skip trailing blank lines"
 msgstr ""
 
-#: src/lang.c:1783
+#: src/lang.c:1832
 msgid "Skip leading and trailing blank l."
 msgstr ""
 
-#: src/lang.c:1784
+#: src/lang.c:1833
 msgid "Compact multiple between text"
 msgstr ""
 
-#: src/lang.c:1785
+#: src/lang.c:1834
 msgid "Compact multiple and skip leading"
 msgstr ""
 
-#: src/lang.c:1786
+#: src/lang.c:1835
 msgid "Compact multiple and skip trailing"
 msgstr ""
 
-#: src/lang.c:1787
+#: src/lang.c:1836
 msgid "Compact mltpl., skip lead. & trai."
 msgstr ""
 
-#: src/lang.c:1793
+#: src/lang.c:1842
 #, fuzzy
 msgid "Don't show help or mail sign"
 msgstr "Ð¦Ð²ÐµÑ‚ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾ Ð²Ñ‹Ð·Ð¾Ð²Ðµ Ð¿Ð¾Ð¼Ð¾Ñ‰Ð¸"
 
-#: src/lang.c:1794
+#: src/lang.c:1843
 #, fuzzy
 msgid "Show only help sign"
 msgstr "Ð¦Ð²ÐµÑ‚ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾ Ð²Ñ‹Ð·Ð¾Ð²Ðµ Ð¿Ð¾Ð¼Ð¾Ñ‰Ð¸"
 
-#: src/lang.c:1795
+#: src/lang.c:1844
 msgid "Show only mail sign if new mail"
 msgstr ""
 
-#: src/lang.c:1796
+#: src/lang.c:1845
 msgid "Show mail if new mail else help s."
 msgstr ""
 
-#: src/lang.c:1825
+#: src/lang.c:1881
 msgid "Shell archive"
 msgstr ""
 
-#: src/lang.c:1832
+#: src/lang.c:1888
 msgid "Subject: (descending)"
 msgstr "Ð¢ÐµÐ¼Ð°: (Ð¿Ð¾ ÑƒÐ±Ñ‹Ð²Ð°Ð½Ð¸ÑŽ)"
 
-#: src/lang.c:1833
+#: src/lang.c:1889
 msgid "Subject: (ascending)"
 msgstr "Ð¢ÐµÐ¼Ð°: (Ð¿Ð¾ Ð²Ð¾Ð·Ñ€Ð°ÑÑ‚Ð°Ð½Ð¸ÑŽ)"
 
-#: src/lang.c:1834
+#: src/lang.c:1890
 msgid "From: (descending)"
 msgstr "From: (Ð¿Ð¾ ÑƒÐ±Ñ‹Ð²Ð°Ð½Ð¸ÑŽ)"
 
-#: src/lang.c:1835
+#: src/lang.c:1891
 msgid "From: (ascending)"
 msgstr "From: (Ð¿Ð¾ Ð²Ð¾Ð·Ñ€Ð°ÑÑ‚Ð°Ð½Ð¸ÑŽ)"
 
-#: src/lang.c:1836
+#: src/lang.c:1892
 msgid "Date: (descending)"
 msgstr "Ð”Ð°Ñ‚Ð°: (Ð¿Ð¾ ÑƒÐ±Ñ‹Ð²Ð°Ð½Ð¸ÑŽ)"
 
-#: src/lang.c:1837
+#: src/lang.c:1893
 msgid "Date: (ascending)"
 msgstr "Ð”Ð°Ñ‚Ð°: (Ð¿Ð¾ Ð²Ð¾Ð·Ñ€Ð°ÑÑ‚Ð°Ð½Ð¸ÑŽ)"
 
-#: src/lang.c:1838 src/lang.c:1847
+#: src/lang.c:1894 src/lang.c:1903
 msgid "Score (descending)"
 msgstr "Score (Ð¿Ð¾ ÑƒÐ±Ñ‹Ð²Ð°Ð½Ð¸ÑŽ)"
 
-#: src/lang.c:1839 src/lang.c:1848
+#: src/lang.c:1895 src/lang.c:1904
 msgid "Score (ascending)"
 msgstr "Score (Ð¿Ð¾ Ð²Ð¾Ð·Ñ€Ð°ÑÑ‚Ð°Ð½Ð¸ÑŽ)"
 
-#: src/lang.c:1840
+#: src/lang.c:1896
 msgid "Lines: (descending)"
 msgstr "ÐšÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚Ð²Ð¾ ÑÑ‚Ñ€Ð¾Ðº: (Ð¿Ð¾ ÑƒÐ±Ñ‹Ð²Ð°Ð½Ð¸ÑŽ)"
 
-#: src/lang.c:1841
+#: src/lang.c:1897
 msgid "Lines: (ascending)"
 msgstr "ÐšÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚Ð²Ð¾ ÑÑ‚Ñ€Ð¾Ðº: (Ð¿Ð¾ Ð²Ð¾Ð·Ñ€Ð°ÑÑ‚Ð°Ð½Ð¸ÑŽ)"
 
-#: src/lang.c:1849
+#: src/lang.c:1905
 #, fuzzy
 msgid "Last posting date (descending)"
 msgstr "ÐšÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚Ð²Ð¾ ÑÑ‚Ñ€Ð¾Ðº: (Ð¿Ð¾ ÑƒÐ±Ñ‹Ð²Ð°Ð½Ð¸ÑŽ)"
 
-#: src/lang.c:1850
+#: src/lang.c:1906
 #, fuzzy
 msgid "Last posting date (ascending)"
 msgstr "ÐšÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚Ð²Ð¾ ÑÑ‚Ñ€Ð¾Ðº: (Ð¿Ð¾ Ð²Ð¾Ð·Ñ€Ð°ÑÑ‚Ð°Ð½Ð¸ÑŽ)"
 
-#: src/lang.c:1856
+#: src/lang.c:1912
 msgid "Quick-sort"
 msgstr ""
 
-#: src/lang.c:1857
+#: src/lang.c:1913
 msgid "Heap-sort"
 msgstr ""
 
-#: src/lang.c:1864
+#: src/lang.c:1920
 msgid "Always Keep"
 msgstr ""
 
-#: src/lang.c:1865
+#: src/lang.c:1921
 msgid "Always Remove"
 msgstr ""
 
-#: src/lang.c:1866
+#: src/lang.c:1922
 msgid "Mark with D on selection screen"
 msgstr ""
 
-#: src/lang.c:1872
+#: src/lang.c:1928
 msgid "Kill only unread arts"
 msgstr "Ð£Ð½Ð¸Ñ‡Ñ‚Ð¾Ð¶Ð°Ñ‚ÑŒ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡. ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:1873
+#: src/lang.c:1929
 msgid "Kill all arts & show with K"
 msgstr "Ð£Ð½Ð¸Ñ‡Ñ‚Ð¾Ð¶Ð°Ñ‚ÑŒ Ð²ÑÐµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð¸ Ð¿Ð¾ÐºÐ°Ð·. Ñ K"
 
 #. TODO: s/K/art_marked_killed/
-#: src/lang.c:1874
+#: src/lang.c:1930
 msgid "Kill all arts and never show"
 msgstr "Ð£Ð½Ð¸Ñ‡Ñ‚Ð¾Ð¶Ð°Ñ‚ÑŒ Ð²ÑÐµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð¸ Ð½Ðµ Ð¿Ð¾ÐºÐ°Ð·."
 
-#: src/lang.c:1880
+#: src/lang.c:1936
 msgid "Nothing special"
 msgstr "ÐÐ¸Ñ‡ÐµÐ³Ð¾ Ð¾ÑÐ¾Ð±ÐµÐ½Ð½Ð¾Ð³Ð¾"
 
-#: src/lang.c:1881
+#: src/lang.c:1937
 msgid "Compress quotes"
 msgstr "Ð¡Ð¶Ð¸Ð¼Ð°Ñ‚ÑŒ Ñ†Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ"
 
-#: src/lang.c:1882
+#: src/lang.c:1938
 msgid "Quote signatures"
 msgstr "Ð¦Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñ‹"
 
-#: src/lang.c:1883
+#: src/lang.c:1939
 msgid "Compress quotes, quote sigs"
 msgstr "Ð¡Ð¶Ð¸Ð¼Ð°Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñ‹, Ñ†Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñ‹"
 
-#: src/lang.c:1884
+#: src/lang.c:1940
 msgid "Quote empty lines"
 msgstr "Ð¦Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿ÑƒÑÑ‚Ñ‹Ðµ ÑÑ‚Ñ€Ð¾ÐºÐ¸"
 
-#: src/lang.c:1885
+#: src/lang.c:1941
 msgid "Compress quotes, quote empty lines"
 msgstr "Ð¡Ð¶Ð¸Ð¼Ð°Ñ‚ÑŒ Ñ†Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ, Ñ†Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿ÑƒÑÑ‚Ñ‹Ðµ ÑÑ‚Ñ€Ð¾ÐºÐ¸"
 
-#: src/lang.c:1886
+#: src/lang.c:1942
 msgid "Quote sigs & empty lines"
 msgstr "Ð¦Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñ‹ Ð¸ Ð¿ÑƒÑÑ‚Ñ‹Ðµ ÑÑ‚Ñ€Ð¾ÐºÐ¸"
 
-#: src/lang.c:1887
+#: src/lang.c:1943
 msgid "Comp. q., quote sigs & empty lines"
 msgstr "Ð¡Ð¶Ð¸Ð¼Ð°Ñ‚ÑŒ Ñ†Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ, Ñ†Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñ‹ Ð¸ Ð¿ÑƒÑÑ‚Ñ‹Ðµ ÑÑ‚Ñ€Ð¾ÐºÐ¸"
 
-#: src/lang.c:1928
+#: src/lang.c:1984
 #, fuzzy
 msgid "With headers"
 msgstr "Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°Ð¼Ð¸"
 
-#: src/lang.c:1929
+#: src/lang.c:1985
 #, fuzzy
 msgid "Without headers"
 msgstr "Ð±ÐµÐ· Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð²"
 
-#: src/lang.c:1936
+#: src/lang.c:1992
 msgid "NFKC"
 msgstr ""
 
-#: src/lang.c:1938
+#: src/lang.c:1994
 msgid "NFKD"
 msgstr ""
 
-#: src/lang.c:1939
+#: src/lang.c:1995
 msgid "NFC"
 msgstr ""
 
-#: src/lang.c:1940
+#: src/lang.c:1996
 msgid "NFD"
 msgstr ""
 
-#: src/lang.c:1942
+#: src/lang.c:1998
 msgid "NFKC case fold"
 msgstr ""
 
-#: src/lang.c:1951
+#: src/lang.c:2007
 msgid "Display Options"
 msgstr "ÐžÐ¿Ñ†Ð¸Ð¸ Ð²Ñ‹Ð²Ð¾Ð´Ð°"
 
-#: src/lang.c:1958
+#: src/lang.c:2014
 msgid "Color Options"
 msgstr "ÐžÐ¿Ñ†Ð¸Ð¸ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ñ†Ð²ÐµÑ‚Ð¾Ð¼"
 
-#: src/lang.c:1964
+#: src/lang.c:2020
 #, fuzzy
 msgid "Highlight Options"
 msgstr "ÐžÐ¿Ñ†Ð¸Ð¸ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ð¸"
 
-#: src/lang.c:1971
+#: src/lang.c:2027
 msgid "Article-Limiting Options"
 msgstr ""
 
-#: src/lang.c:1977
+#: src/lang.c:2033
 msgid "Posting/Mailing Options"
 msgstr "ÐžÐ¿Ñ†Ð¸Ð¸ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ ÑÑ‚Ð°Ñ‚ÐµÐ¹/Ð¿Ð¸ÑÐµÐ¼"
 
-#: src/lang.c:1983
+#: src/lang.c:2039
 msgid "Saving/Printing Options"
 msgstr "ÐžÐ¿Ñ†Ð¸Ð¸ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸ Ð¿ÐµÑ‡Ð°Ñ‚Ð¸"
 
-#: src/lang.c:1989
+#: src/lang.c:2045
 msgid "Expert Options"
 msgstr "Ð­ÐºÑÐ¿ÐµÑ€Ñ‚Ð½Ñ‹Ðµ Ð¾Ð¿Ñ†Ð¸Ð¸"
 
-#: src/lang.c:1995
+#: src/lang.c:2051
 msgid "Filtering Options"
 msgstr "ÐžÐ¿Ñ†Ð¸Ð¸ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ð¸"
 
-#: src/lang.c:2000 src/lang.c:2031 src/lang.c:2037 src/lang.c:2064
-#: src/lang.c:2116 src/lang.c:2122 src/lang.c:2132 src/lang.c:2143
-#: src/lang.c:2161 src/lang.c:2172 src/lang.c:2241 src/lang.c:2456
-#: src/lang.c:2462 src/lang.c:2468 src/lang.c:2483 src/lang.c:2495
-#: src/lang.c:2502 src/lang.c:2556 src/lang.c:2565 src/lang.c:2571
-#: src/lang.c:2578 src/lang.c:2585 src/lang.c:2592 src/lang.c:2599
-#: src/lang.c:2606 src/lang.c:2613 src/lang.c:2620 src/lang.c:2627
+#: src/lang.c:2056 src/lang.c:2087 src/lang.c:2093 src/lang.c:2120
+#: src/lang.c:2172 src/lang.c:2178 src/lang.c:2188 src/lang.c:2199
+#: src/lang.c:2217 src/lang.c:2228 src/lang.c:2297 src/lang.c:2512
+#: src/lang.c:2518 src/lang.c:2524 src/lang.c:2539 src/lang.c:2551
+#: src/lang.c:2558 src/lang.c:2612 src/lang.c:2621 src/lang.c:2627
 #: src/lang.c:2634 src/lang.c:2641 src/lang.c:2648 src/lang.c:2655
 #: src/lang.c:2662 src/lang.c:2669 src/lang.c:2676 src/lang.c:2683
 #: src/lang.c:2690 src/lang.c:2697 src/lang.c:2704 src/lang.c:2711
 #: src/lang.c:2718 src/lang.c:2725 src/lang.c:2732 src/lang.c:2739
-#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2761 src/lang.c:2777
-#: src/lang.c:2784 src/lang.c:2791 src/lang.c:2798 src/lang.c:2804
-#: src/lang.c:2810 src/lang.c:2827 src/lang.c:2839 src/lang.c:2874
-#: src/lang.c:2927 src/lang.c:2941 src/lang.c:2947 src/lang.c:2972
-#: src/lang.c:2990 src/lang.c:3007 src/lang.c:3019 src/lang.c:3052
-#: src/lang.c:3081 src/lang.c:3101 src/lang.c:3129 src/lang.c:3139
-#: src/lang.c:3146 src/lang.c:3172 src/lang.c:3196 src/lang.c:3343
-#: src/lang.c:3358 src/lang.c:3366 src/lang.c:3380 src/lang.c:3386
-#: src/lang.c:3424
+#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2760 src/lang.c:2767
+#: src/lang.c:2774 src/lang.c:2781 src/lang.c:2788 src/lang.c:2795
+#: src/lang.c:2802 src/lang.c:2809 src/lang.c:2817 src/lang.c:2833
+#: src/lang.c:2840 src/lang.c:2847 src/lang.c:2854 src/lang.c:2860
+#: src/lang.c:2866 src/lang.c:2889 src/lang.c:2901 src/lang.c:2936
+#: src/lang.c:2989 src/lang.c:3003 src/lang.c:3009 src/lang.c:3034
+#: src/lang.c:3052 src/lang.c:3069 src/lang.c:3081 src/lang.c:3114
+#: src/lang.c:3143 src/lang.c:3163 src/lang.c:3190 src/lang.c:3200
+#: src/lang.c:3207 src/lang.c:3233 src/lang.c:3257 src/lang.c:3412
+#: src/lang.c:3427 src/lang.c:3435 src/lang.c:3449 src/lang.c:3455
+#: src/lang.c:3493
 msgid "<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr "<ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°."
 
-#: src/lang.c:2001
+#: src/lang.c:2057
 msgid "Show mini menu & posting etiquette"
 msgstr "ÐŸÐ¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð¼Ð¸Ð½Ð¸-Ð¼ÐµÐ½ÑŽ Ð¸ ÑÑ‚Ð¸ÐºÐµÑ‚ Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ"
 
-#: src/lang.c:2002
+#: src/lang.c:2058
 msgid ""
 "# If ON show a mini menu of useful commands at each level\n"
 "# and posting etiquette after composing an article\n"
@@ -6164,17 +6302,17 @@ msgstr ""
 "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¾Ðµ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ðµ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹\n"
 "# Ð¸ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° ÑÐµÑ‚ÐµÐ²Ð¾Ð³Ð¾ ÑÑ‚Ð¸ÐºÐµÑ‚Ð° Ð¿Ð¾ÑÐ»Ðµ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑÑ‚Ð°Ñ‚ÑŒÐ¸\n"
 
-#: src/lang.c:2007
+#: src/lang.c:2063
 msgid "Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 msgstr ""
 "ÐŸÐ¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¾Ðµ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> "
 "ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2008
+#: src/lang.c:2064
 msgid "Show description of each newsgroup"
 msgstr "ÐŸÐ¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ðµ Ð³Ñ€ÑƒÐ¿Ð¿"
 
-#: src/lang.c:2009
+#: src/lang.c:2065
 msgid ""
 "# If ON show group description text after newsgroup name at\n"
 "# group selection level\n"
@@ -6182,19 +6320,19 @@ msgstr ""
 "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð¿Ð¾ÑÐ»Ðµ Ð¸Ð¼ÐµÐ½Ð¸ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð²\n"
 "# Ñ€ÐµÐ¶Ð¸Ð¼Ðµ Ð²Ñ‹Ð±Ð¾Ñ€Ð° Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹\n"
 
-#: src/lang.c:2014
+#: src/lang.c:2070
 #, fuzzy
 msgid ""
 "Show From (author) fields in group & thread level. <SPACE> toggles & <CR> "
 "sets."
 msgstr "Ð’Ñ‹Ð²Ð¾Ð´ Ð¢ÐµÐ¼Ñ‹ Ð¸ ÐÐ²Ñ‚Ð¾Ñ€Ð° Ð² Ð¼ÐµÐ½ÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2015
+#: src/lang.c:2071
 #, fuzzy
 msgid "In group and thread level, show author by"
 msgstr "Ð’ Ð¼ÐµÐ½ÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ Ð°Ð²Ñ‚Ð¾Ñ€Ð° ÐºÐ°Ðº"
 
-#: src/lang.c:2016
+#: src/lang.c:2072
 #, fuzzy
 msgid ""
 "# Part of From field to display in group and thread level\n"
@@ -6211,33 +6349,33 @@ msgstr ""
 "# * 2 = Ð¿Ð¾Ð»Ð½Ð¾Ðµ Ð¸Ð¼Ñ\n"
 "#   3 = Ð°Ð´Ñ€ÐµÑ Ð¸ Ð¿Ð¾Ð»Ð½Ð¾Ðµ Ð¸Ð¼Ñ\n"
 
-#: src/lang.c:2025
+#: src/lang.c:2081
 msgid "Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 msgstr "Ð’Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ -> Ð²Ð¼ÐµÑÑ‚Ð¾ Ð¿Ð¾Ð´ÑÐ²ÐµÑ‚ÐºÐ¸ Ð² Ð¼ÐµÐ½ÑŽ. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2026
+#: src/lang.c:2082
 msgid "Draw -> instead of highlighted bar"
 msgstr "Ð’Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ -> Ð²Ð¼ÐµÑÑ‚Ð¾ Ð¿Ð¾Ð´ÑÐ²ÐµÑ‚ÐºÐ¸ Ð² Ð¼ÐµÐ½ÑŽ."
 
-#: src/lang.c:2027
+#: src/lang.c:2083
 msgid "# If ON use -> otherwise highlighted bar for selection\n"
 msgstr "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð²Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ -> Ð²Ð¼ÐµÑÑ‚Ð¾ Ð¿Ð¾Ð´ÑÐ²ÐµÑ‚ÐºÐ¸ Ð² Ð¼ÐµÐ½ÑŽ\n"
 
-#: src/lang.c:2032
+#: src/lang.c:2088
 msgid "Use inverse video for page headers"
 msgstr "Ð˜Ð½Ð²ÐµÑ€ÑÐ½Ñ‹Ð¹ Ð²Ð¸Ð´ÐµÐ¾ Ñ€ÐµÐ¶Ð¸Ð¼ Ð´Ð»Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð² ÑÑ‚Ñ€Ð°Ð½Ð¸Ñ†"
 
-#: src/lang.c:2033
+#: src/lang.c:2089
 msgid "# If ON use inverse video for page headers at different levels\n"
 msgstr ""
 "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð½Ð²ÐµÑ€ÑÐ¸ÑŽ Ñ†Ð²ÐµÑ‚Ð¾Ð² Ð´Ð»Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð² Ð½Ð°\n"
 "# Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ñ… ÑƒÑ€Ð¾Ð²Ð½ÑÑ…\n"
 
-#: src/lang.c:2038
+#: src/lang.c:2094
 msgid "Thread articles by"
 msgstr "Ð“Ñ€ÑƒÐ¿Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð¿Ð¾"
 
-#: src/lang.c:2039
+#: src/lang.c:2095
 msgid ""
 "# Thread articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6257,17 +6395,17 @@ msgstr ""
 "#   4 = Multipart Subject\n"
 "#   5 = Ð¡Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ Ð¿Ð¾ Ð¿Ñ€Ð¾Ñ†ÐµÐ½Ñ‚Ð°Ð¼\n"
 
-#: src/lang.c:2050
+#: src/lang.c:2106
 msgid "Enter percentage match required to thread together. <CR> sets."
 msgstr ""
 "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ñ‹Ð¹ Ð¿Ñ€Ð¾Ñ†ÐµÐ½Ñ‚ ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð² Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑŽ. <CR> "
 "ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2051
+#: src/lang.c:2107
 msgid "Thread percentage match"
 msgstr "ÐŸÑ€Ð¾Ñ†ÐµÐ½Ñ‚ ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¸"
 
-#: src/lang.c:2053
+#: src/lang.c:2109
 #, no-c-format
 msgid ""
 "# Thread percentage match...\n"
@@ -6282,11 +6420,11 @@ msgid ""
 "# 'harppy' would be threaded separately from 'happy'\n"
 msgstr ""
 
-#: src/lang.c:2065
+#: src/lang.c:2121
 msgid "Score of a thread"
 msgstr "Score Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¸"
 
-#: src/lang.c:2066
+#: src/lang.c:2122
 msgid ""
 "# Thread score\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6300,18 +6438,18 @@ msgstr ""
 "#   1 = ÑÑƒÐ¼Ð¼Ð°\n"
 "#   2 = ÑÑ€ÐµÐ´Ð½ÐµÐµ\n"
 
-#: src/lang.c:2074
+#: src/lang.c:2130
 msgid ""
 "Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Ð¡Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð¿Ð¾ Ð¢ÐµÐ¼Ðµ, From, Ð”Ð°Ñ‚Ðµ Ð¸Ð»Ð¸ Score. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> "
 "ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2075
+#: src/lang.c:2131
 msgid "Sort articles by"
 msgstr "Ð¡Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð¿Ð¾"
 
-#: src/lang.c:2076
+#: src/lang.c:2132
 msgid ""
 "# Sort articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6341,17 +6479,17 @@ msgstr ""
 "#   9 = ÐšÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚Ð²Ð¾ ÑÑ‚Ñ€Ð¾Ðº Ð¿Ð¾ ÑƒÐ±Ñ‹Ð²Ð°Ð½Ð¸ÑŽ\n"
 "#  10 = ÐšÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚Ð²Ð¾ ÑÑ‚Ñ€Ð¾Ðº Ð¿Ð¾ Ð²Ð¾Ð·Ñ€Ð°ÑÑ‚Ð°Ð½Ð¸ÑŽ\n"
 
-#: src/lang.c:2092
+#: src/lang.c:2148
 msgid "Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 "ÐÐµ ÑÐ¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¸ Ð¸Ð»Ð¸ ÑÐ¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿Ð¾ Score. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> "
 "ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2093
+#: src/lang.c:2149
 msgid "Sort threads by"
 msgstr "Ð¡Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¸ Ð¿Ð¾"
 
-#: src/lang.c:2094
+#: src/lang.c:2150
 #, fuzzy
 msgid ""
 "# Sort thread by ...\n"
@@ -6368,55 +6506,55 @@ msgstr ""
 "# * 1 = Score Ð¿Ð¾ ÑƒÐ±Ñ‹Ð²Ð°Ð½Ð¸ÑŽ\n"
 "#   2 = Score Ð¿Ð¾ Ð²Ð¾Ð·Ñ€Ð°ÑÑ‚Ð°Ð½Ð¸ÑŽ\n"
 
-#: src/lang.c:2104
+#: src/lang.c:2160
 msgid ""
 "Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Ð£ÑÑ‚. ÐºÑƒÑ€ÑÐ¾Ñ€ Ð½Ð° Ð¿ÐµÑ€Ð²ÑƒÑŽ/Ð¿Ð¾ÑÐ»ÐµÐ´. Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚. ÑÑ‚Ð°Ñ‚ÑŒÑŽ Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ð°Ñ…. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, "
 "<CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2105
+#: src/lang.c:2161
 #, fuzzy
 msgid "Go to first unread article in group"
 msgstr "ÐŸÐµÑ€ÐµÐ¹Ñ‚Ð¸ Ðº Ð¿ÐµÑ€Ð²Ð¾Ð¹ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡. ÑÑ‚Ð°Ñ‚ÑŒÐµ Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ðµ"
 
-#: src/lang.c:2106
+#: src/lang.c:2162
 msgid "# If ON put cursor at first unread art in group otherwise last art\n"
 msgstr ""
 "# Ð•ÑÐ»Ð¸ ON Ñ‚Ð¾ Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ Ðº Ð¿ÐµÑ€Ð²Ð¾Ð¹ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ð¾Ð¹ ÑÑ‚Ð°Ñ‚ÑŒÐµ Ð² Ð³Ñ€ÑƒÐ¿Ð¿Ðµ,\n"
 "# Ð¸Ð½Ð°Ñ‡Ðµ Ðº Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ Ðº Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐ¹.\n"
 
-#: src/lang.c:2110
+#: src/lang.c:2166
 msgid "Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 "ÐŸÐ¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð²ÑÐµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð¸Ð»Ð¸ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> "
 "ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2111
+#: src/lang.c:2167
 msgid "Show only unread articles"
 msgstr "ÐŸÐ¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚. ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:2112
+#: src/lang.c:2168
 msgid "# If ON show only new/unread articles otherwise show all.\n"
 msgstr ""
 "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð½Ð¾Ð²Ñ‹Ðµ/Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸,\n"
 "# Ð¸Ð½Ð°Ñ‡Ðµ Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð²ÑÐµ.\n"
 
-#: src/lang.c:2117
+#: src/lang.c:2173
 msgid "Show only groups with unread arts"
 msgstr "ÐŸÐ¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ñ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡. ÑÑ‚Ð°Ñ‚ÑŒÑÐ¼Ð¸"
 
-#: src/lang.c:2118
+#: src/lang.c:2174
 msgid "# If ON show only subscribed to groups that contain unread articles.\n"
 msgstr ""
 "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ð½Ð½Ñ‹Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ñ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ñ‚Ñ‘Ð½Ð½Ñ‹Ð¼Ð¸ "
 "ÑÑ‚Ð°Ñ‚ÑŒÑÐ¼Ð¸.\n"
 
-#: src/lang.c:2123
+#: src/lang.c:2179
 msgid "Filter which articles"
 msgstr "Ð¡Ñ‚Ð°Ñ‚ÑŒÐ¸ Ð´Ð»Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ð¸"
 
-#: src/lang.c:2124
+#: src/lang.c:2180
 msgid ""
 "# Filter which articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6425,11 +6563,11 @@ msgid ""
 "#   2 = kill all articles and never show them\n"
 msgstr ""
 
-#: src/lang.c:2133
+#: src/lang.c:2189
 msgid "Go to the next unread article with"
 msgstr ""
 
-#: src/lang.c:2134
+#: src/lang.c:2190
 msgid ""
 "# Go to the unread article with following key(s)\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6439,12 +6577,12 @@ msgid ""
 "#   3 = PAGE DOWN or TAB\n"
 msgstr ""
 
-#: src/lang.c:2144
+#: src/lang.c:2200
 #, fuzzy
 msgid "How to treat blank lines"
 msgstr "Ð¦Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿ÑƒÑÑ‚Ñ‹Ðµ ÑÑ‚Ñ€Ð¾ÐºÐ¸"
 
-#: src/lang.c:2145
+#: src/lang.c:2201
 msgid ""
 "# Trim the article body, remove unnecessary blank lines.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6461,11 +6599,11 @@ msgid ""
 "#       leading and trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:2162
+#: src/lang.c:2218
 msgid "Show help/mail sign in level titles"
 msgstr ""
 
-#: src/lang.c:2163
+#: src/lang.c:2219
 msgid ""
 "# Show help sign, new mail sign, both or nothing in level titles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6475,87 +6613,87 @@ msgid ""
 "# * 3 = Show mail sign if new mail has arrived else show help sign\n"
 msgstr ""
 
-#: src/lang.c:2173
+#: src/lang.c:2229
 msgid "List thread using right arrow key"
 msgstr "Ð Ð°Ð·Ð²ÐµÑ€Ð½ÑƒÑ‚ÑŒ Ð´Ð¸ÑÐºÑƒÑÑÐ¸ÑŽ Ð¿Ñ€Ð°Ð²Ð¾Ð¹ ÑÑ‚Ñ€ÐµÐ»ÐºÐ¾Ð¹"
 
-#: src/lang.c:2174
+#: src/lang.c:2230
 msgid ""
 "# If ON automatically list thread when entering it using right arrow key.\n"
 msgstr ""
 
-#: src/lang.c:2178
+#: src/lang.c:2234
 msgid "Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÑÐ¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°."
 
-#: src/lang.c:2179
+#: src/lang.c:2235
 msgid "Character to show deleted articles"
 msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:2180
+#: src/lang.c:2236
 msgid ""
 "# Character used to show that an art was deleted (default 'D')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2185
+#: src/lang.c:2241
 msgid ""
 "Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 msgstr ""
 "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÑÐ¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð² Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ðµ. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> "
 "Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2186
+#: src/lang.c:2242
 msgid "Character to show inrange articles"
 msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð² Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ðµ"
 
-#: src/lang.c:2187
+#: src/lang.c:2243
 msgid ""
 "# Character used to show that an art is in a range (default '#')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2192
+#: src/lang.c:2248
 msgid ""
 "Enter character to indicate that article will return. <CR> sets, <ESC> "
 "cancels."
 msgstr ""
 
-#: src/lang.c:2193
+#: src/lang.c:2249
 msgid "Character to show returning arts"
 msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ Ð²Ð¾Ð·Ð²Ñ€. ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:2194
+#: src/lang.c:2250
 msgid ""
 "# Character used to show that an art will return (default '-')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2199
+#: src/lang.c:2255
 msgid ""
 "Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÑÐ¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹. <CR> Ð²Ð²Ð¾Ð´, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°."
 
-#: src/lang.c:2200
+#: src/lang.c:2256
 msgid "Character to show selected articles"
 msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:2201
+#: src/lang.c:2257
 msgid ""
 "# Character used to show that an art was auto-selected (default '*')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2206
+#: src/lang.c:2262
 msgid "Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÑÐ¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ Ð½Ð¾Ð²Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹. <CR> Ð²Ð²Ð¾Ð´, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°."
 
-#: src/lang.c:2207
+#: src/lang.c:2263
 msgid "Character to show recent articles"
 msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ Ð½Ð¾Ð²Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:2208
+#: src/lang.c:2264
 msgid ""
 "# Character used to show that an art is recent (default 'o')\n"
 "# _ is turned into ' '\n"
@@ -6563,16 +6701,16 @@ msgstr ""
 "# Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ Ð½Ð¾Ð²Ð¾Ð¹ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ (Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ 'o')\n"
 "# _ Ð·Ð°Ð¼ÐµÐ½ÑÐµÑ‚ÑÑ Ð½Ð° ' '\n"
 
-#: src/lang.c:2213
+#: src/lang.c:2269
 msgid "Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÑÐ¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹. <CR> Ð²Ð²Ð¾Ð´, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°."
 
-#: src/lang.c:2214
+#: src/lang.c:2270
 msgid "Character to show unread articles"
 msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:2215
+#: src/lang.c:2271
 msgid ""
 "# Character used to show that an art is unread (default '+')\n"
 "# _ is turned into ' '\n"
@@ -6580,16 +6718,16 @@ msgstr ""
 "# Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ ÐºÐ°Ðº Ð½ÐµÐ¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ð¾Ð¹ (Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ '+')\n"
 "# _ Ð·Ð°Ð¼ÐµÐ½ÑÐµÑ‚ÑÑ Ð½Ð° ' '\n"
 
-#: src/lang.c:2220
+#: src/lang.c:2276
 msgid "Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÑÐ¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°."
 
-#: src/lang.c:2221
+#: src/lang.c:2277
 msgid "Character to show read articles"
 msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:2222
+#: src/lang.c:2278
 msgid ""
 "# Character used to show that an art was read (default ' ')\n"
 "# _ is turned into ' '\n"
@@ -6597,49 +6735,49 @@ msgstr ""
 "# Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ð¾Ð¹ (Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ ' ')\n"
 "# _ Ð·Ð°Ð¼ÐµÐ½ÑÐµÑ‚ÑÑ Ð½Ð° ' '\n"
 
-#: src/lang.c:2227
+#: src/lang.c:2283
 msgid "Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÑÐ¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ ÑƒÐ½Ð¸Ñ‡Ñ‚Ð¾Ð¶ÐµÐ½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> "
 "Ð¾Ñ‚Ð¼ÐµÐ½Ð°."
 
-#: src/lang.c:2228
+#: src/lang.c:2284
 msgid "Character to show killed articles"
 msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ ÑƒÐ½Ð¸Ñ‡Ñ‚Ð¾Ð¶ÐµÐ½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:2229
+#: src/lang.c:2285
 msgid ""
 "# Character used to show that an art was killed (default 'K')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2234
+#: src/lang.c:2290
 msgid ""
 "Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2235
+#: src/lang.c:2291
 msgid "Character to show readselected arts"
 msgstr ""
 
-#: src/lang.c:2236
+#: src/lang.c:2292
 msgid ""
 "# Character used to show that an art was selected before read (default ':')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2242
+#: src/lang.c:2298
 msgid "Abbreviate long newsgroup names"
 msgstr ""
 
-#: src/lang.c:2243
+#: src/lang.c:2299
 msgid ""
 "# If ON abbreviate (if necessary) long newsgroup names at group selection\n"
 "# level and article level like this:\n"
 "#   news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n"
 msgstr ""
 
-#: src/lang.c:2249
+#: src/lang.c:2305
 msgid ""
 "0 = full page scrolling, -1 = show previous last line as first on next page, "
 "-2 = half page"
@@ -6647,11 +6785,11 @@ msgstr ""
 "0 = Ð¿Ñ€Ð¾ÐºÑ€ÑƒÑ‚ÐºÐ° Ð²ÑÐµÐ¹ ÑÑ‚Ñ€Ð°Ð½Ð¸Ñ†Ñ‹, -1 = Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÑÑ ÑÑ‚Ñ€Ð¾ÐºÐ° ÐºÐ°Ðº Ð¿ÐµÑ€Ð²Ð°Ñ Ð½Ð° "
 "ÑÐ»ÐµÐ´ÑƒÑŽÑ‰ÐµÐ¹ ÑÑ‚Ñ€Ð°Ð½Ð¸Ñ†Ðµ, -2 = Ð¿Ð¾Ð»ÑÑ‚Ñ€Ð°Ð½Ð¸Ñ†Ñ‹"
 
-#: src/lang.c:2250
+#: src/lang.c:2306
 msgid "Number of lines to scroll in pager"
 msgstr "Ð§Ð¸ÑÐ»Ð¾ ÑÑ‚Ñ€Ð¾Ðº Ð¿Ñ€Ð¾ÐºÑ€ÑƒÑ‚ÐºÐ¸ Ð² Ð¿ÐµÐ¹Ð´Ð¶ÐµÑ€Ðµ"
 
-#: src/lang.c:2251
+#: src/lang.c:2307
 msgid ""
 "# Number of lines that cursor-up/down will scroll in article pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6662,59 +6800,59 @@ msgid ""
 "#   2 or greater = scroll by 2 or more lines (only in the pager)\n"
 msgstr ""
 
-#: src/lang.c:2261
+#: src/lang.c:2317
 msgid "Display signatures. <SPACE> toggles & <CR> sets."
 msgstr "Ð’Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñ‹. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2262
+#: src/lang.c:2318
 msgid "Display signatures"
 msgstr "Ð’Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñ‹"
 
-#: src/lang.c:2263
+#: src/lang.c:2319
 msgid "# If OFF don't show signatures when displaying articles\n"
 msgstr "# Ð•ÑÐ»Ð¸ OFF, Ñ‚Ð¾ Ð½Ðµ Ð²Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñ‹ Ð¿Ñ€Ð¸ Ð²Ñ‹Ð²Ð¾Ð´Ðµ ÑÑ‚Ð°Ñ‚ÐµÐ¹\n"
 
-#: src/lang.c:2267
+#: src/lang.c:2323
 #, fuzzy
 msgid "Display article score. <SPACE> toggles & <CR> sets."
 msgstr "Ð’Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñ‹. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2268
+#: src/lang.c:2324
 #, fuzzy
-msgid "Display article score"
+msgid "Display article score in pager"
 msgstr "Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒ ÑÐ»ÐµÐ´ÑƒÑŽÑ‰ÑƒÑŽ ÑÑ‚Ð°Ñ‚ÑŒÑŽ"
 
-#: src/lang.c:2269
+#: src/lang.c:2325
 #, fuzzy
 msgid "# If ON show article score when displaying articles\n"
 msgstr "# Ð•ÑÐ»Ð¸ OFF, Ñ‚Ð¾ Ð½Ðµ Ð²Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñ‹ Ð¿Ñ€Ð¸ Ð²Ñ‹Ð²Ð¾Ð´Ðµ ÑÑ‚Ð°Ñ‚ÐµÐ¹\n"
 
-#: src/lang.c:2274
+#: src/lang.c:2330
 #, fuzzy
 msgid "Remove soft hyphens. <SPACE> toggles & <CR> sets."
 msgstr "Ð’Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñ‹. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2275
+#: src/lang.c:2331
 msgid "Remove soft hyphens"
 msgstr ""
 
-#: src/lang.c:2276
+#: src/lang.c:2332
 #, fuzzy
 msgid "# If ON remove soft hyphens when displaying articles\n"
 msgstr "# Ð•ÑÐ»Ð¸ OFF, Ñ‚Ð¾ Ð½Ðµ Ð²Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñ‹ Ð¿Ñ€Ð¸ Ð²Ñ‹Ð²Ð¾Ð´Ðµ ÑÑ‚Ð°Ñ‚ÐµÐ¹\n"
 
-#: src/lang.c:2281
+#: src/lang.c:2337
 msgid ""
 "Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Ð’Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ UUE Ð·Ð°ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ Ð´Ð°Ð½Ð½Ñ‹Ðµ ÐºÐ°Ðº Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> "
 "ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2282
+#: src/lang.c:2338
 msgid "Display uue data as an attachment"
 msgstr "Ð’Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ UUE Ð´Ð°Ð½Ð½Ñ‹Ðµ ÐºÐ°Ðº Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ"
 
-#: src/lang.c:2283
+#: src/lang.c:2339
 msgid ""
 "# Handling of uuencoded data in the pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6726,30 +6864,30 @@ msgid ""
 "#       be folded into a tag line.\n"
 msgstr ""
 
-#: src/lang.c:2293
+#: src/lang.c:2349
 msgid ""
 "Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2294
+#: src/lang.c:2350
 msgid "Display \"a as Umlaut-a"
 msgstr "Ð’Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ \"a ÐºÐ°Ðº Umlaut-a"
 
-#: src/lang.c:2295
+#: src/lang.c:2351
 msgid ""
 "# If ON decode German style TeX umlaut codes to ISO and\n"
 "# show \"a as Umlaut-a, etc.\n"
 msgstr ""
 
-#: src/lang.c:2300 src/lang.c:2310
+#: src/lang.c:2356 src/lang.c:2366
 msgid "Space separated list of header fields"
 msgstr "Ð¡Ð¿Ð¸ÑÐ¾Ðº Ð¿Ð¾Ð»ÐµÐ¹ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°, Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ðµ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ð°Ð¼Ð¸"
 
-#: src/lang.c:2301
+#: src/lang.c:2357
 msgid "Display these header fields (or *)"
 msgstr "ÐŸÐ¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ ÑÑ‚Ð¸ Ð¿Ð¾Ð»Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° (Ð¸Ð»Ð¸ *)"
 
-#: src/lang.c:2302
+#: src/lang.c:2358
 msgid ""
 "# Which news headers you wish to see. If you want to see _all_ the headers,\n"
 "# place an '*' as this value. This is the only way a wildcard can be used.\n"
@@ -6759,11 +6897,11 @@ msgid ""
 "# spaces. Not defining anything turns off this option.\n"
 msgstr ""
 
-#: src/lang.c:2311
+#: src/lang.c:2367
 msgid "Do not display these header fields"
 msgstr "ÐÐµ Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ ÑÑ‚Ð¸ Ð¿Ð¾Ð»Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°"
 
-#: src/lang.c:2312
+#: src/lang.c:2368
 msgid ""
 "# Same as 'news_headers_to_display' except it denotes the opposite.\n"
 "# An example of using both options might be if you thought X- headers were\n"
@@ -6775,229 +6913,229 @@ msgid ""
 "# Not defining anything turns off this option.\n"
 msgstr ""
 
-#: src/lang.c:2322
+#: src/lang.c:2378
 msgid ""
 "Do you want to enable automatic handling of multipart/alternative articles?"
 msgstr "Ð¥Ð¾Ñ‚Ð¸Ñ‚Ðµ Ð²ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑÐºÑƒÑŽ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÑƒ multipart/alternative ÑÑ‚Ð°Ñ‚ÐµÐ¹?"
 
-#: src/lang.c:2323
+#: src/lang.c:2379
 msgid "Skip multipart/alternative parts"
 msgstr "ÐŸÑ€Ð¾Ð¿ÑƒÑÐºÐ°Ñ‚ÑŒ multipart/alternative Ñ‡Ð°ÑÑ‚Ð¸"
 
-#: src/lang.c:2324
+#: src/lang.c:2380
 msgid "# If ON strip multipart/alternative messages automatically\n"
 msgstr ""
 
-#: src/lang.c:2328
+#: src/lang.c:2384
 #, fuzzy
 msgid "Enable detection of verbatim blocks? <SPACE> toggles & <CR> sets."
 msgstr ""
 "Ð”Ð¾Ð±Ð°Ð²Ð»ÑÑ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñƒ Ð¿Ñ€Ð¸ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð¹ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐµ. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2329
+#: src/lang.c:2385
 msgid "Detection of verbatim blocks"
 msgstr ""
 
-#: src/lang.c:2330
+#: src/lang.c:2386
 #, fuzzy
 msgid "# If ON detect verbatim blocks in articles\n"
 msgstr ""
 "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð´ÐµÑ€Ð¶Ð°Ñ‚ÑŒ Ð²ÑÐµ Ð½ÐµÑƒÐ´Ð°Ð²ÑˆÐ¸ÐµÑÑ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð² ~/dead.articles\n"
 
-#: src/lang.c:2335
+#: src/lang.c:2391
 msgid "A regex used to decide which lines to show in col_quote."
 msgstr ""
 
-#: src/lang.c:2336
+#: src/lang.c:2392
 msgid "Regex used to show quoted lines"
 msgstr "Ð“ÐµÐ³. Ð²Ñ‹Ñ€. Ñ†Ð¸Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… ÑÑ‚Ñ€Ð¾Ðº"
 
-#: src/lang.c:2337
+#: src/lang.c:2393
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2343
+#: src/lang.c:2399
 msgid "A regex used to decide which lines to show in col_quote2."
 msgstr ""
 
-#: src/lang.c:2344
+#: src/lang.c:2400
 msgid "Regex used to show twice quoted l."
 msgstr "Ð ÐµÐ³. Ð²Ñ‹Ñ€. Ð´Ð»Ñ Ð´Ð²Ð°Ð¶Ð´Ñ‹ Ñ†Ð¸Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… ÑÑ‚Ñ€Ð¾Ðº"
 
-#: src/lang.c:2345
+#: src/lang.c:2401
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted twice. Twice quoted lines are shown in col_quote2.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2351
+#: src/lang.c:2407
 msgid "A regex used to decide which lines to show in col_quote3."
 msgstr ""
 
-#: src/lang.c:2352
+#: src/lang.c:2408
 msgid "Regex used to show >= 3 times q.l."
 msgstr "Ð ÐµÐ³. Ð²Ñ‹Ñ€. Ð´Ð»Ñ Ñ†Ð¸Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… ÑÑ‚Ñ€Ð¾Ðº >= 3 Ñ€Ð°Ð·"
 
-#: src/lang.c:2353
+#: src/lang.c:2409
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2359
+#: src/lang.c:2415
 #, fuzzy
 msgid "Enable detection of external quotes? <SPACE> toggles & <CR> sets."
 msgstr ""
 "Ð”Ð¾Ð±Ð°Ð²Ð»ÑÑ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñƒ Ð¿Ñ€Ð¸ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð¹ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐµ. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2360
+#: src/lang.c:2416
 msgid "Detection of external quotes"
 msgstr ""
 
-#: src/lang.c:2361
+#: src/lang.c:2417
 #, fuzzy
 msgid "# If ON detect quoted text from external sources in articles\n"
 msgstr ""
 "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð´ÐµÑ€Ð¶Ð°Ñ‚ÑŒ Ð²ÑÐµ Ð½ÐµÑƒÐ´Ð°Ð²ÑˆÐ¸ÐµÑÑ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð² ~/dead.articles\n"
 
-#: src/lang.c:2365
+#: src/lang.c:2421
 msgid "A regex used to decide which lines to show in col_extquote."
 msgstr ""
 
-#: src/lang.c:2366
+#: src/lang.c:2422
 #, fuzzy
 msgid "Regex used to show quotes from external sources"
 msgstr "Ð“ÐµÐ³. Ð²Ñ‹Ñ€. Ñ†Ð¸Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… ÑÑ‚Ñ€Ð¾Ðº"
 
-#: src/lang.c:2367
+#: src/lang.c:2423
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# external quotes. Text from external quotes is shown in col_extquote.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2374
+#: src/lang.c:2430
 msgid "A regex used to decide which words to show in col_markslashes."
 msgstr ""
 
-#: src/lang.c:2375
+#: src/lang.c:2431
 msgid "Regex used to highlight /slashes/"
 msgstr "Ð ÐµÐ³. Ð²Ñ‹Ñ€. Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ /Ñ‚ÐµÐºÑÑ‚Ð°/"
 
-#: src/lang.c:2376
+#: src/lang.c:2432
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '/' are to be shown in col_markslashes.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2382
+#: src/lang.c:2438
 msgid "A regex used to decide which words to show in col_markstars."
 msgstr ""
 
-#: src/lang.c:2383
+#: src/lang.c:2439
 msgid "Regex used to highlight *stars*"
 msgstr "Ð ÐµÐ³. Ð²Ñ‹Ñ€. Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ *Ñ‚ÐµÐºÑÑ‚Ð°*"
 
-#: src/lang.c:2384
+#: src/lang.c:2440
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '*' are to be shown in col_markstars.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2390
+#: src/lang.c:2446
 msgid "A regex used to decide which words to show in col_markstroke."
 msgstr ""
 
-#: src/lang.c:2391
+#: src/lang.c:2447
 msgid "Regex used to highlight -strokes-"
 msgstr "Ð ÐµÐ³. Ð²Ñ‹Ñ€. Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ -Ñ‚ÐµÐºÑÑ‚Ð°-"
 
-#: src/lang.c:2392
+#: src/lang.c:2448
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '-' are to be shown in col_markstroke.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2398
+#: src/lang.c:2454
 msgid "A regex used to decide which words to show in col_markdash."
 msgstr ""
 
-#: src/lang.c:2399
+#: src/lang.c:2455
 msgid "Regex used to highlight _underline_"
 msgstr "Ð ÐµÐ³. Ð²Ñ‹Ñ€. Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ _Ñ‚ÐµÐºÑÑ‚Ð°_"
 
-#: src/lang.c:2400
+#: src/lang.c:2456
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '_' are to be shown in col_markdash.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2406
+#: src/lang.c:2462
 msgid "A regex used to find Subject prefixes to remove.  Use '|' as separator."
 msgstr ""
 
-#: src/lang.c:2407
+#: src/lang.c:2463
 msgid "Regex with Subject prefixes"
 msgstr ""
 
-#: src/lang.c:2408
+#: src/lang.c:2464
 msgid ""
 "# A regular expression that tin will use to find Subject prefixes\n"
 "# which will be removed before showing the header.\n"
 msgstr ""
 
-#: src/lang.c:2413
+#: src/lang.c:2469
 msgid "A regex used to find Subject suffixes to remove.  Use '|' as separator."
 msgstr ""
 
-#: src/lang.c:2414
+#: src/lang.c:2470
 msgid "Regex with Subject suffixes"
 msgstr ""
 
-#: src/lang.c:2415
+#: src/lang.c:2471
 msgid ""
 "# A regular expression that tin will use to find Subject suffixes\n"
 "# which will be removed when replying or posting followup.\n"
 msgstr ""
 
-#: src/lang.c:2420
+#: src/lang.c:2476
 msgid "A regex used to find the begin of a verbatim block."
 msgstr ""
 
-#: src/lang.c:2421
+#: src/lang.c:2477
 msgid "Regex for begin of a verbatim block"
 msgstr ""
 
-#: src/lang.c:2422
+#: src/lang.c:2478
 msgid ""
 "# A regular expression that tin will use to find the begin of\n"
 "# a verbatim block.\n"
 msgstr ""
 
-#: src/lang.c:2427
+#: src/lang.c:2483
 msgid "A regex used to find the end of a verbatim block."
 msgstr ""
 
-#: src/lang.c:2428
+#: src/lang.c:2484
 msgid "Regex for end of a verbatim block"
 msgstr ""
 
-#: src/lang.c:2429
+#: src/lang.c:2485
 msgid ""
 "# A regular expression that tin will use to find the end of\n"
 "# a verbatim block.\n"
 msgstr ""
 
-#: src/lang.c:2434
+#: src/lang.c:2490
 msgid ""
 "Enter name and options for external MIME viewer, --internal for built-in "
 "viewer"
@@ -7005,11 +7143,11 @@ msgstr ""
 "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ð¸Ð¼Ñ Ð¸ Ð¾Ð¿Ñ†Ð¸Ð¸ Ð´Ð»Ñ Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ Ð¿Ñ€Ð¾ÑÐ¼Ð¾Ñ‚Ñ€. MIME, --internal Ð´Ð»Ñ Ð²ÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð¾Ð³Ð¾ "
 "Ð¿Ñ€Ð¾ÑÐ¼Ð¾Ñ‚Ñ€."
 
-#: src/lang.c:2435
+#: src/lang.c:2491
 msgid "MIME binary content viewer"
 msgstr "ÐŸÑ€Ð¾ÑÐ¼Ð¾Ñ‚Ð¾Ñ€Ñ‰Ð¸Ðº ÑÐ¾Ð´ÐµÑ€Ð¶Ð¸Ð¼Ð¾Ð³Ð¾ Ð´Ð²Ð¾Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ MIME"
 
-#: src/lang.c:2436
+#: src/lang.c:2492
 msgid ""
 "# If --internal automatically use the built in MIME viewer for non-text\n"
 "# parts of articles.\n"
@@ -7018,53 +7156,53 @@ msgid ""
 "# for no automatic viewing\n"
 msgstr ""
 
-#: src/lang.c:2443
+#: src/lang.c:2499
 msgid "Confirm before starting non-text viewing program"
 msgstr "ÐŸÐ¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´Ð°Ñ‚ÑŒ ÑÑ‚Ð°Ñ€Ñ‚ Ð¿Ñ€Ð¾ÑÐ¼Ð¾Ñ‚Ð¾Ñ€Ñ‰Ð¸ÐºÐ° Ð½ÐµÑ‚ÐµÐºÑÑ‚Ð¾Ð²Ð¾Ð¹ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸"
 
-#: src/lang.c:2444
+#: src/lang.c:2500
 msgid "Ask before using MIME viewer"
 msgstr "Ð¡Ð¿Ñ€Ð¾ÑÐ¸Ñ‚ÑŒ Ð¾Ð± Ð¸ÑÐ¿Ð¾Ð». Ð¿Ñ€Ð¾ÑÐ¼Ð¾Ñ‚Ñ€. MIME"
 
-#: src/lang.c:2445
+#: src/lang.c:2501
 msgid ""
 "# If ON tin will ask before using metamail to display MIME messages\n"
 "# this only happens if metamail_prog is set to something\n"
 msgstr ""
 
-#: src/lang.c:2450
+#: src/lang.c:2506
 msgid "Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Ð¡Ð¿Ñ€Ð¾ÑÐ¸Ñ‚ÑŒ Ð¾Ð± Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐµ Ð³Ñ€ÑƒÐ¿Ð¿ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚. Ð¿Ñ€Ð¸ Ð²Ñ‹Ñ…Ð¾Ð´Ðµ. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> "
 "ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2451
+#: src/lang.c:2507
 msgid "Catchup read groups when quitting"
 msgstr ""
 
-#: src/lang.c:2452
+#: src/lang.c:2508
 msgid "# If ON ask user if read groups should all be marked read\n"
 msgstr ""
 "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ ÑÐ¿Ñ€Ð¾ÑÐ¸Ñ‚ÑŒ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ Ð»Ð¸ Ð±Ñ‹Ñ‚ÑŒ Ð²ÑÐµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹\n"
 "# Ð¿Ð¾Ð¼ÐµÑ‡ÐµÐ½Ñ‹ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ñ‚Ñ‘Ð½Ð½Ñ‹Ðµ.\n"
 
-#: src/lang.c:2457
+#: src/lang.c:2513
 msgid "Catchup group using left key"
 msgstr ""
 
-#: src/lang.c:2458
+#: src/lang.c:2514
 msgid "# If ON catchup group/thread when leaving with the left arrow key.\n"
 msgstr ""
 
-#: src/lang.c:2463
+#: src/lang.c:2519
 msgid "Catchup thread by using left key"
 msgstr ""
 
-#: src/lang.c:2469
+#: src/lang.c:2525
 msgid "Which actions require confirmation"
 msgstr "ÐšÐ°ÐºÐ¸Ðµ Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÑŽÑ‚ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ"
 
-#: src/lang.c:2470
+#: src/lang.c:2526
 #, fuzzy
 msgid ""
 "# What should we ask confirmation for.\n"
@@ -7087,82 +7225,82 @@ msgstr ""
 "#   4 = Multipart Subject\n"
 "#   5 = Ð¡Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ Ð¿Ð¾ Ð¿Ñ€Ð¾Ñ†ÐµÐ½Ñ‚Ð°Ð¼\n"
 
-#: src/lang.c:2484
+#: src/lang.c:2540
 msgid "'Mark as (un)read' ignores tags"
 msgstr ""
 
-#: src/lang.c:2485
+#: src/lang.c:2541
 msgid ""
 "# If ON the 'Mark as (un)read' function marks only the current article.\n"
 msgstr ""
 
-#: src/lang.c:2489
+#: src/lang.c:2545
 #, fuzzy
 msgid "Program to run to open URLs, <CR> sets, <ESC> cancels."
 msgstr "ÐŸÑ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹ Ð´Ð»Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ URL. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°"
 
-#: src/lang.c:2490
+#: src/lang.c:2546
 #, fuzzy
 msgid "Program that opens URLs"
 msgstr "ÐŸÑ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° Ð´Ð»Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ URL"
 
-#: src/lang.c:2491
+#: src/lang.c:2547
 #, fuzzy
 msgid "# The program used to open URLs. The actual URL will be appended\n"
 msgstr "# ÐŸÑ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° Ð´Ð»Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ URL. Ð¡Ð°Ð¼ URL Ð±ÑƒÐ´ÐµÑ‚ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½ Ð² ÐºÐ¾Ð½ÐµÑ†\n"
 
-#: src/lang.c:2496
+#: src/lang.c:2552
 msgid "Use mouse in xterm"
 msgstr "Ð˜ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ Ð¼Ñ‹ÑˆÑŒ Ð² xterm"
 
-#: src/lang.c:2497
+#: src/lang.c:2553
 msgid "# If ON enable mouse button support on xterm terminals\n"
 msgstr "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ Ð¼Ñ‹ÑˆÑŒ Ð² xterm Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð°Ñ…\n"
 
-#: src/lang.c:2503
+#: src/lang.c:2559
 msgid "Use scroll keys on keypad"
 msgstr "Ð˜ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ¸ Ð¿Ñ€Ð¾ÐºÑ€ÑƒÑ‚ÐºÐ¸ Ð½Ð° keypad"
 
-#: src/lang.c:2504
+#: src/lang.c:2560
 msgid "# If ON enable scroll keys on terminals that support it\n"
 msgstr "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ¸ Ð¿Ñ€Ð¾ÐºÑ€ÑƒÑ‚ÐºÐ¸ Ð½Ð° Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð°Ñ…\n"
 
-#: src/lang.c:2509
+#: src/lang.c:2565
 msgid "Enter maximum number of article to get. <CR> sets."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ð¼Ð°ÐºÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ðµ Ñ‡Ð¸ÑÐ»Ð¾ ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2510
+#: src/lang.c:2566
 msgid "Number of articles to get"
 msgstr "Ð§Ð¸ÑÐ»Ð¾ ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸"
 
-#: src/lang.c:2511
+#: src/lang.c:2567
 msgid ""
 "# Number of articles to get (0=no limit), if negative sets maximum number\n"
 "# of already read articles to be read before first unread one\n"
 msgstr ""
 
-#: src/lang.c:2516
+#: src/lang.c:2572
 msgid "Enter number of days article is considered recent. <CR> sets."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ñ‡Ð¸ÑÐ»Ð¾ Ð´Ð½ÐµÐ¹, Ð¿Ð¾ÐºÐ° ÑÑ‚Ð°Ñ‚ÑŒÑ ÑÑ‡Ð¸Ñ‚Ð°ÐµÑ‚ÑÑ Ð½Ð¾Ð²Ð¾Ð¹. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2517
+#: src/lang.c:2573
 msgid "Article recentness time limit"
 msgstr "Ð›Ð¸Ð¼Ð¸Ñ‚ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:2518
+#: src/lang.c:2574
 msgid "# Number of days in which article is considered recent, (0=OFF)\n"
 msgstr "# Ð§Ð¸ÑÐ»Ð¾ Ð´Ð½ÐµÐ¹, Ð¿Ð¾ÐºÐ° ÑÑ‚Ð°Ñ‚ÑŒÑ ÑÑ‡Ð¸Ñ‚Ð°ÐµÑ‚ÑÑ Ð½Ð¾Ð²Ð¾Ð¹. (0=OFF)\n"
 
-#: src/lang.c:2522
+#: src/lang.c:2578
 msgid ""
 "WILDMAT for normal wildcards, REGEX for full regular expression matching."
 msgstr "WILDMAT Ð´Ð»Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ñ… ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð², REGEX Ð´Ð»Ñ Ñ€ÐµÐ³ÑƒÐ»ÑÑ€Ð½Ñ‹Ñ… Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ð¹"
 
-#: src/lang.c:2523
+#: src/lang.c:2579
 msgid "Wildcard matching"
 msgstr "Ð¢Ð¸Ð¿ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°"
 
-#: src/lang.c:2524
+#: src/lang.c:2580
 msgid ""
 "# Wildcard matching\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7174,59 +7312,59 @@ msgstr ""
 "# * 0 = wildmat\n"
 "#   1 = regex\n"
 
-#: src/lang.c:2531
+#: src/lang.c:2587
 msgid "Enter minimal score before an article is marked killed. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2532
+#: src/lang.c:2588
 msgid "Score limit (kill)"
 msgstr ""
 
-#: src/lang.c:2533
+#: src/lang.c:2589
 msgid "# Score limit before an article is marked killed\n"
 msgstr ""
 
-#: src/lang.c:2537
+#: src/lang.c:2593
 msgid "Enter default score to kill articles. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2538
+#: src/lang.c:2594
 msgid "Default score to kill articles"
 msgstr ""
 
-#: src/lang.c:2539
+#: src/lang.c:2595
 msgid "# Default score to kill articles\n"
 msgstr ""
 
-#: src/lang.c:2543
+#: src/lang.c:2599
 msgid "Enter minimal score before an article is marked hot. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2544
+#: src/lang.c:2600
 msgid "Score limit (select)"
 msgstr ""
 
-#: src/lang.c:2545
+#: src/lang.c:2601
 msgid "# Score limit before an article is marked hot\n"
 msgstr ""
 
-#: src/lang.c:2549
+#: src/lang.c:2605
 msgid "Enter default score to select articles. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2550
+#: src/lang.c:2606
 msgid "Default score to select articles"
 msgstr ""
 
-#: src/lang.c:2551
+#: src/lang.c:2607
 msgid "# Default score to select articles\n"
 msgstr ""
 
-#: src/lang.c:2557
+#: src/lang.c:2613
 msgid "Use slrnface to show ''X-Face:''s"
 msgstr "Ð˜ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ slrnface Ð´Ð»Ñ Ð¿Ð¾ÐºÐ°Ð·Ð° X_Face:"
 
-#: src/lang.c:2558
+#: src/lang.c:2614
 msgid ""
 "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 "# Only useful when running in an xterm.\n"
@@ -7234,19 +7372,19 @@ msgstr ""
 "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ slrnface(1) Ð´Ð»Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ñ€ÐµÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ\n"
 "# Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° X-Face. ÐŸÐ¾Ð»ÑŒÐ·Ð½Ð¾ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¿Ð¾Ð´ xterm.\n"
 
-#: src/lang.c:2566
+#: src/lang.c:2622
 msgid "Use ANSI color"
 msgstr "Ð˜ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ Ñ†Ð²ÐµÑ‚ ANSI"
 
-#: src/lang.c:2567
+#: src/lang.c:2623
 msgid "# If ON using ANSI-color\n"
 msgstr "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ Ñ†Ð²ÐµÑ‚ ANSI\n"
 
-#: src/lang.c:2572
+#: src/lang.c:2628
 msgid "Standard foreground color"
 msgstr "Ð¡Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ‹Ð¹ Ñ†Ð²ÐµÑ‚ ÑÐ¸Ð¼Ð²Ð¾Ð»Ð¾Ð²"
 
-#: src/lang.c:2573
+#: src/lang.c:2629
 msgid ""
 "# Standard foreground color\n"
 "# Default: -1 (default color)\n"
@@ -7254,11 +7392,11 @@ msgstr ""
 "# Ð¡Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ‹Ð¹ Ñ†Ð²ÐµÑ‚ ÑÐ¸Ð¼Ð²Ð¾Ð»Ð¾Ð²\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: -1 (Ñ†Ð²ÐµÑ‚ Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ)\n"
 
-#: src/lang.c:2579
+#: src/lang.c:2635
 msgid "Standard background color"
 msgstr "Ð¡Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ‹Ð¹ Ñ†Ð²ÐµÑ‚ Ñ„Ð¾Ð½Ð°"
 
-#: src/lang.c:2580
+#: src/lang.c:2636
 msgid ""
 "# Standard background color\n"
 "# Default: -1 (default color)\n"
@@ -7266,11 +7404,11 @@ msgstr ""
 "# Ð¡Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ‹Ð¹ Ñ†Ð²ÐµÑ‚ Ñ„Ð¾Ð½Ð°\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: -1 (Ñ†Ð²ÐµÑ‚ Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ)\n"
 
-#: src/lang.c:2586
+#: src/lang.c:2642
 msgid "Color for inverse text (background)"
 msgstr "Ð¦Ð²ÐµÑ‚ Ð´Ð»Ñ Ð¸Ð½Ð²ÐµÑ€ÑÐ½Ð¾Ð³Ð¾ Ñ‚ÐµÐºÑÑ‚Ð° (Ñ„Ð¾Ð½)"
 
-#: src/lang.c:2587
+#: src/lang.c:2643
 msgid ""
 "# Color of background for inverse text\n"
 "# Default: 4 (blue)\n"
@@ -7278,11 +7416,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ Ñ„Ð¾Ð½Ð° Ð´Ð»Ñ Ð¸Ð½Ð²ÐµÑ€ÑÐ½Ð¾Ð³Ð¾ Ñ‚ÐµÐºÑÑ‚Ð°\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 4 (ÑÐ¸Ð½Ð¸Ð¹)\n"
 
-#: src/lang.c:2593
+#: src/lang.c:2649
 msgid "Color for inverse text (foreground)"
 msgstr "Ð¦Ð²ÐµÑ‚ Ð´Ð»Ñ Ð¸Ð½Ð²ÐµÑ€ÑÐ½Ð¾Ð³Ð¾ Ñ‚ÐµÐºÑÑ‚Ð° (ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ‹)"
 
-#: src/lang.c:2594
+#: src/lang.c:2650
 msgid ""
 "# Color of foreground for inverse text\n"
 "# Default: 7 (white)\n"
@@ -7290,11 +7428,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ Ð´Ð»Ñ Ð¸Ð½Ð²ÐµÑ€ÑÐ½Ð¾Ð³Ð¾ Ñ‚ÐµÐºÑÑ‚Ð° (ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ‹)\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 7 (Ð±ÐµÐ»Ñ‹Ð¹)\n"
 
-#: src/lang.c:2600
+#: src/lang.c:2656
 msgid "Color of text lines"
 msgstr "Ð¦Ð²ÐµÑ‚ Ñ‚ÐµÐºÑÑ‚Ð¾Ð²Ñ‹Ñ… ÑÑ‚Ñ€Ð¾Ðº"
 
-#: src/lang.c:2601
+#: src/lang.c:2657
 msgid ""
 "# Color of text lines\n"
 "# Default: -1 (default color)\n"
@@ -7302,11 +7440,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ Ñ‚ÐµÐºÑÑ‚Ð¾Ð²Ñ‹Ñ… ÑÑ‚Ñ€Ð¾Ðº\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: -1 (Ñ†Ð²ÐµÑ‚ Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ)\n"
 
-#: src/lang.c:2607
+#: src/lang.c:2663
 msgid "Color of mini help menu"
 msgstr "Ð¦Ð²ÐµÑ‚ Ñ‚ÐµÐºÑÑ‚Ð° Ð¼ÐµÐ½ÑŽ Ð¼Ð¸Ð½Ð¸-Ð¿Ð¾Ð¼Ð¾Ñ‰Ð¸"
 
-#: src/lang.c:2608
+#: src/lang.c:2664
 msgid ""
 "# Color of mini help menu\n"
 "# Default: 3 (brown)\n"
@@ -7314,11 +7452,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ Ñ‚ÐµÐºÑÑ‚Ð° Ð¼Ð¸Ð½Ð¸-Ð¿Ð¾Ð¼Ð¾Ñ‰Ð¸\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 3 (ÐºÐ¾Ñ€Ð¸Ñ‡Ð½ÐµÐ²Ñ‹Ð¹)\n"
 
-#: src/lang.c:2614
+#: src/lang.c:2670
 msgid "Color of help text"
 msgstr "Ð¦Ð²ÐµÑ‚ Ñ‚ÐµÐºÑÑ‚Ð° Ð¿Ð¾Ð¼Ð¾Ñ‰Ð¸"
 
-#: src/lang.c:2615
+#: src/lang.c:2671
 msgid ""
 "# Color of help pages\n"
 "# Default: -1 (default color)\n"
@@ -7326,21 +7464,21 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ Ñ‚ÐµÐºÑÑ‚Ð° Ð¿Ð¾Ð¼Ð¾Ñ‰Ð¸\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: -1 (Ñ†Ð²ÐµÑ‚ Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ)\n"
 
-#: src/lang.c:2621
+#: src/lang.c:2677
 msgid "Color of status messages"
 msgstr "Ð¦Ð²ÐµÑ‚ ÑÑ‚Ð°Ñ‚ÑƒÑÐ½Ñ‹Ñ… ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ð¹"
 
-#: src/lang.c:2622
+#: src/lang.c:2678
 msgid ""
 "# Color of messages in last line\n"
 "# Default: 6 (cyan)\n"
 msgstr ""
 
-#: src/lang.c:2628
+#: src/lang.c:2684
 msgid "Color of quoted lines"
 msgstr "Ð¦Ð²ÐµÑ‚ Ñ†Ð¸Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… ÑÑ‚Ñ€Ð¾Ðº"
 
-#: src/lang.c:2629
+#: src/lang.c:2685
 msgid ""
 "# Color of quote-lines\n"
 "# Default: 2 (green)\n"
@@ -7348,11 +7486,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ Ñ†Ð¸Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… ÑÑ‚Ñ€Ð¾Ðº\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 2 (Ð·ÐµÐ»Ñ‘Ð½Ñ‹Ð¹)\n"
 
-#: src/lang.c:2635
+#: src/lang.c:2691
 msgid "Color of twice quoted line"
 msgstr "Ð¦Ð²ÐµÑ‚ Ð´Ð²Ð°Ð¶Ð´Ñ‹ Ñ†Ð¸Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… ÑÑ‚Ñ€Ð¾Ðº"
 
-#: src/lang.c:2636
+#: src/lang.c:2692
 msgid ""
 "# Color of twice quoted lines\n"
 "# Default: 3 (brown)\n"
@@ -7360,11 +7498,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ Ð´Ð²Ð°Ð¶Ð´Ñ‹ Ñ†Ð¸Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… ÑÑ‚Ñ€Ð¾Ðº\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 3 (ÐºÐ¾Ñ€Ð¸Ñ‡Ð½ÐµÐ²Ñ‹Ð¹)\n"
 
-#: src/lang.c:2642
+#: src/lang.c:2698
 msgid "Color of =>3 times quoted line"
 msgstr "Ð¦Ð²ÐµÑ‚ >=3 Ñ†Ð¸Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… ÑÑ‚Ñ€Ð¾Ðº"
 
-#: src/lang.c:2643
+#: src/lang.c:2699
 msgid ""
 "# Color of >=3 times quoted lines\n"
 "# Default: 4 (blue)\n"
@@ -7372,11 +7510,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ >=3 Ñ†Ð¸Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… ÑÑ‚Ñ€Ð¾Ðº\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 4 (ÑÐ¸Ð½Ð¸Ð¹)\n"
 
-#: src/lang.c:2649
+#: src/lang.c:2705
 msgid "Color of article header lines"
 msgstr "Ð¦Ð²ÐµÑ‚ ÑÑ‚Ñ€Ð¾Ðº Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð² ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:2650
+#: src/lang.c:2706
 msgid ""
 "# Color of header-lines\n"
 "# Default: 2 (green)\n"
@@ -7384,11 +7522,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ ÑÑ‚Ñ€Ð¾Ðº Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 2 (Ð·ÐµÐ»Ñ‘Ð½Ñ‹Ð¹)\n"
 
-#: src/lang.c:2656
+#: src/lang.c:2712
 msgid "Color of actual news header fields"
 msgstr "Ð¦Ð²ÐµÑ‚ ÑÑ‚Ñ€Ð¾Ðº news Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð² ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:2657
+#: src/lang.c:2713
 msgid ""
 "# Color of actual news header fields\n"
 "# Default: 9 (light red)\n"
@@ -7396,11 +7534,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ ÑÑ‚Ñ€Ð¾Ðº news Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð² ÑÑ‚Ð°Ñ‚ÐµÐ¹\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 9 (ÑÐ²ÐµÑ‚Ð»Ð¾-ÐºÑ€Ð°ÑÐ½Ñ‹Ð¹)\n"
 
-#: src/lang.c:2663
+#: src/lang.c:2719
 msgid "Color of article subject lines"
 msgstr "Ð¦Ð²ÐµÑ‚ ÑÑ‚Ñ€Ð¾Ðº Ñ Ñ‚ÐµÐ¼Ð¾Ð¹ ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:2664
+#: src/lang.c:2720
 msgid ""
 "# Color of article subject\n"
 "# Default: 6 (cyan)\n"
@@ -7408,12 +7546,12 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ñ Ñ‚ÐµÐ¼Ð¾Ð¹ ÑÑ‚Ð°Ñ‚ÑŒÐ¸\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 6 (Ð³Ð¾Ð»ÑƒÐ±Ð¾Ð¹)\n"
 
-#: src/lang.c:2670
+#: src/lang.c:2726
 #, fuzzy
 msgid "Color of external quotes"
 msgstr "Ð¦Ð²ÐµÑ‚ Ñ‚ÐµÐºÑÑ‚Ð¾Ð²Ñ‹Ñ… ÑÑ‚Ñ€Ð¾Ðº"
 
-#: src/lang.c:2671
+#: src/lang.c:2727
 #, fuzzy
 msgid ""
 "# Color of quoted text from external sources\n"
@@ -7422,11 +7560,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ñ Ñ‚ÐµÐ¼Ð¾Ð¹ ÑÑ‚Ð°Ñ‚ÑŒÐ¸\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 6 (Ð³Ð¾Ð»ÑƒÐ±Ð¾Ð¹)\n"
 
-#: src/lang.c:2677
+#: src/lang.c:2733
 msgid "Color of response counter"
 msgstr "Ð¦Ð²ÐµÑ‚ ÑÑ‡ÐµÑ‚Ñ‡Ð¸ÐºÐ° ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚Ð²Ð° Ð¾Ñ‚Ð²ÐµÑ‚Ð¾Ð²"
 
-#: src/lang.c:2678
+#: src/lang.c:2734
 msgid ""
 "# Color of response counter\n"
 "# Default: 2 (green)\n"
@@ -7434,11 +7572,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ ÑÑ‡ÐµÑ‚Ñ‡Ð¸ÐºÐ° ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚Ð²Ð° Ð¾Ñ‚Ð²ÐµÑ‚Ð¾Ð²\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 2 (Ð·ÐµÐ»Ñ‘Ð½Ñ‹Ð¹)\n"
 
-#: src/lang.c:2684
+#: src/lang.c:2740
 msgid "Color of sender (From:)"
 msgstr "Ð¦Ð²ÐµÑ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÐµÐ»Ñ From:"
 
-#: src/lang.c:2685
+#: src/lang.c:2741
 msgid ""
 "# Color of sender (From:)\n"
 "# Default: 2 (green)\n"
@@ -7446,11 +7584,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÐµÐ»Ñ (From:)\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 2 (Ð·ÐµÐ»Ñ‘Ð½Ñ‹Ð¹)\n"
 
-#: src/lang.c:2691
+#: src/lang.c:2747
 msgid "Color of help/mail sign"
 msgstr "Ð¦Ð²ÐµÑ‚ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾ Ð²Ñ‹Ð·Ð¾Ð²Ðµ Ð¿Ð¾Ð¼Ð¾Ñ‰Ð¸"
 
-#: src/lang.c:2692
+#: src/lang.c:2748
 msgid ""
 "# Color of Help/Mail-Sign\n"
 "# Default: 4 (blue)\n"
@@ -7458,11 +7596,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ Help/Mail-Sign\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 4 (ÑÐ¸Ð½Ð¸Ð¹)\n"
 
-#: src/lang.c:2698
+#: src/lang.c:2754
 msgid "Color of signatures"
 msgstr "Ð¦Ð²ÐµÑ‚ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€"
 
-#: src/lang.c:2699
+#: src/lang.c:2755
 msgid ""
 "# Color of signature\n"
 "# Default: 4 (blue)\n"
@@ -7470,12 +7608,12 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 4 (ÑÐ¸Ð½Ð¸Ð¹)\n"
 
-#: src/lang.c:2705
+#: src/lang.c:2761
 #, fuzzy
 msgid "Color of negative score"
 msgstr "Ð¦Ð²ÐµÑ‚ Ñ‚ÐµÐºÑÑ‚Ð¾Ð²Ñ‹Ñ… ÑÑ‚Ñ€Ð¾Ðº"
 
-#: src/lang.c:2706
+#: src/lang.c:2762
 #, fuzzy
 msgid ""
 "# Color of negative score\n"
@@ -7484,12 +7622,12 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 4 (ÑÐ¸Ð½Ð¸Ð¹)\n"
 
-#: src/lang.c:2712
+#: src/lang.c:2768
 #, fuzzy
 msgid "Color of positive score"
 msgstr "Ð¦Ð²ÐµÑ‚ ÑÑ‡ÐµÑ‚Ñ‡Ð¸ÐºÐ° ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚Ð²Ð° Ð¾Ñ‚Ð²ÐµÑ‚Ð¾Ð²"
 
-#: src/lang.c:2713
+#: src/lang.c:2769
 #, fuzzy
 msgid ""
 "# Color of positive score\n"
@@ -7498,11 +7636,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ ÑÑ‡ÐµÑ‚Ñ‡Ð¸ÐºÐ° ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚Ð²Ð° Ð¾Ñ‚Ð²ÐµÑ‚Ð¾Ð²\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 2 (Ð·ÐµÐ»Ñ‘Ð½Ñ‹Ð¹)\n"
 
-#: src/lang.c:2719
+#: src/lang.c:2775
 msgid "Color of highlighted URLs"
 msgstr "Ð¦Ð²ÐµÑ‚ Ð¿Ð¾Ð´ÑÐ²ÐµÑ‡Ð¸Ð²Ð°Ð½Ð¸Ñ URL"
 
-#: src/lang.c:2720
+#: src/lang.c:2776
 msgid ""
 "# Color of highlighted URLs\n"
 "# Default: -1 (default color)\n"
@@ -7510,12 +7648,12 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ Ð¿Ð¾Ð´ÑÐ²ÐµÑ‡Ð¸Ð²Ð°Ð½Ð¸Ñ URL\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: -1 (Ñ†Ð²ÐµÑ‚ Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ)\n"
 
-#: src/lang.c:2726
+#: src/lang.c:2782
 #, fuzzy
 msgid "Color of verbatim blocks"
 msgstr "Ð¦Ð²ÐµÑ‚ Ñ‚ÐµÐºÑÑ‚Ð¾Ð²Ñ‹Ñ… ÑÑ‚Ñ€Ð¾Ðº"
 
-#: src/lang.c:2727
+#: src/lang.c:2783
 #, fuzzy
 msgid ""
 "# Color of verbatim blocks\n"
@@ -7524,11 +7662,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ñ Ñ‚ÐµÐ¼Ð¾Ð¹ ÑÑ‚Ð°Ñ‚ÑŒÐ¸\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 6 (Ð³Ð¾Ð»ÑƒÐ±Ð¾Ð¹)\n"
 
-#: src/lang.c:2733
+#: src/lang.c:2789
 msgid "Color of highlighting with *stars*"
 msgstr "Ð¦Ð²ÐµÑ‚ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ *Ñ‚ÐµÐºÑÑ‚Ð°*"
 
-#: src/lang.c:2734
+#: src/lang.c:2790
 msgid ""
 "# Color of word highlighting with *stars*\n"
 "# Default: 11 (yellow)\n"
@@ -7536,11 +7674,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ *Ñ‚ÐµÐºÑÑ‚Ð°*\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 11 (Ð¶Ñ‘Ð»Ñ‚Ñ‹Ð¹)\n"
 
-#: src/lang.c:2740
+#: src/lang.c:2796
 msgid "Color of highlighting with _dash_"
 msgstr "Ð¦Ð²ÐµÑ‚ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ _Ñ‚ÐµÐºÑÑ‚Ð°_"
 
-#: src/lang.c:2741
+#: src/lang.c:2797
 msgid ""
 "# Color of word highlighting with _dash_\n"
 "# Default: 13 (light pink)\n"
@@ -7548,11 +7686,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ _Ñ‚ÐµÐºÑÑ‚Ð°_\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 13 (ÑÐ²ÐµÑ‚Ð»Ð¾-Ñ€Ð¾Ð·Ð¾Ð²Ñ‹Ð¹)\n"
 
-#: src/lang.c:2747
+#: src/lang.c:2803
 msgid "Color of highlighting with /slash/"
 msgstr "Ð¦Ð²ÐµÑ‚ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ /Ñ‚ÐµÐºÑÑ‚Ð°/"
 
-#: src/lang.c:2748
+#: src/lang.c:2804
 msgid ""
 "# Color of word highlighting with /slash/\n"
 "# Default: 14 (light cyan)\n"
@@ -7560,11 +7698,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ /Ñ‚ÐµÐºÑÑ‚Ð°/\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 14 (ÑÐ²ÐµÑ‚Ð»Ð¾-Ð³Ð¾Ð»ÑƒÐ±Ð¾Ð¹)\n"
 
-#: src/lang.c:2754
+#: src/lang.c:2810
 msgid "Color of highlighting with -stroke-"
 msgstr "Ð¦Ð²ÐµÑ‚ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ -Ñ‚ÐµÐºÑÑ‚Ð°-"
 
-#: src/lang.c:2755
+#: src/lang.c:2811
 msgid ""
 "# Color of word highlighting with -stroke-\n"
 "# Default: 12 (light blue)\n"
@@ -7572,11 +7710,11 @@ msgstr ""
 "# Ð¦Ð²ÐµÑ‚ Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ -Ñ‚ÐµÐºÑÑ‚Ð°-\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 12 (ÑÐ²ÐµÑ‚Ð»Ð¾-ÑÐ¸Ð½Ð¸Ð¹)\n"
 
-#: src/lang.c:2762
+#: src/lang.c:2818
 msgid "Attr. of highlighting with *stars*"
 msgstr "ÐÑ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ *Ñ‚ÐµÐºÑÑ‚Ð°*"
 
-#: src/lang.c:2763
+#: src/lang.c:2819
 msgid ""
 "# Attributes of word highlighting on mono terminals\n"
 "# Possible values are:\n"
@@ -7604,11 +7742,11 @@ msgstr ""
 "# ÐÑ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ *Ñ‚ÐµÐºÑÑ‚Ð°*\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 6 (bold)\n"
 
-#: src/lang.c:2778
+#: src/lang.c:2834
 msgid "Attr. of highlighting with _dash_"
 msgstr "ÐÑ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ _Ñ‚ÐµÐºÑÑ‚Ð°_"
 
-#: src/lang.c:2779
+#: src/lang.c:2835
 msgid ""
 "# Attribute of word highlighting with _dash_\n"
 "# Default: 2 (best highlighting)\n"
@@ -7616,11 +7754,11 @@ msgstr ""
 "# ÐÑ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ _Ñ‚ÐµÐºÑÑ‚Ð°_\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 2 (Ð»ÑƒÑ‡ÑˆÐµÐµ Ð¿Ð¾Ð´ÑÐ²ÐµÑ‡Ð¸Ð²Ð°Ð½Ð¸Ðµ)\n"
 
-#: src/lang.c:2785
+#: src/lang.c:2841
 msgid "Attr. of highlighting with /slash/"
 msgstr "ÐÑ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ /Ñ‚ÐµÐºÑÑ‚Ð°/"
 
-#: src/lang.c:2786
+#: src/lang.c:2842
 msgid ""
 "# Attribute of word highlighting with /slash/\n"
 "# Default: 5 (half bright)\n"
@@ -7628,11 +7766,11 @@ msgstr ""
 "# ÐÑ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ /Ñ‚ÐµÐºÑÑ‚Ð°/\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 5 (half bright)\n"
 
-#: src/lang.c:2792
+#: src/lang.c:2848
 msgid "Attr. of highlighting with -stroke-"
 msgstr "ÐÑ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ -Ñ‚ÐµÐºÑÑ‚Ð°-"
 
-#: src/lang.c:2793
+#: src/lang.c:2849
 msgid ""
 "# Attribute of word highlighting with -stroke-\n"
 "# Default: 3 (reverse video)\n"
@@ -7640,27 +7778,27 @@ msgstr ""
 "# ÐÑ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ -Ñ‚ÐµÐºÑÑ‚Ð°-\n"
 "# ÐŸÐ¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ: 3 (Ñ€ÐµÐ²ÐµÑ€ÑÐ½Ð¾Ðµ Ð²Ð¸Ð´ÐµÐ¾)\n"
 
-#: src/lang.c:2799
+#: src/lang.c:2855
 msgid "URL highlighting in message body"
 msgstr "ÐŸÐ¾Ð´ÑÐ²ÐµÑ‡Ð¸Ð²Ð°Ñ‚ÑŒ URL Ð² Ñ‚ÐµÐ»Ðµ Ð¿Ð¸ÑÑŒÐ¼Ð°"
 
-#: src/lang.c:2800
+#: src/lang.c:2856
 msgid "# Enable URL highlighting?\n"
 msgstr "# Ð’ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð´ÑÐ²ÐµÑ‚ÐºÑƒ URL?\n"
 
-#: src/lang.c:2805
+#: src/lang.c:2861
 msgid "Word highlighting in message body"
 msgstr "ÐŸÐ¾Ð´ÑÐ²ÐµÑ‡Ð¸Ð²Ð°Ñ‚ÑŒ ÑÐ»Ð¾Ð²Ð° Ð² Ñ‚ÐµÐ»Ðµ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ"
 
-#: src/lang.c:2806
+#: src/lang.c:2862
 msgid "# Enable word highlighting?\n"
 msgstr "# Ð’ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð´ÑÐ²ÐµÑ‚ÐºÑƒ ÑÐ»Ð¾Ð²?\n"
 
-#: src/lang.c:2811
+#: src/lang.c:2867
 msgid "What to display instead of mark"
 msgstr "Ð’Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ Ð²Ð¼ÐµÑÑ‚Ð¾ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸"
 
-#: src/lang.c:2812
+#: src/lang.c:2868
 msgid ""
 "# Should the leading and ending stars and dashes also be displayed,\n"
 "# even when they are highlighting marks?\n"
@@ -7670,58 +7808,73 @@ msgid ""
 "# * 2 = print a space instead\n"
 msgstr ""
 
-#: src/lang.c:2821
+#: src/lang.c:2877
 msgid "Enter column number to wrap article lines to in the pager. <CR> sets."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ð¼Ð°ÐºÑ. Ñ‡Ð¸ÑÐ»Ð¾ ÑÐ¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ð² ÑÑ‚Ñ€Ð¾ÐºÐµ Ð² Ð¿ÐµÐ¹Ð´Ð¶ÐµÑ€Ðµ. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2822
+#: src/lang.c:2878
 msgid "Page line wrap column"
 msgstr "ÐœÐ°ÐºÑ. Ñ‡Ð¸ÑÐ»Ð¾ ÑÐ¸Ð¼Ð²Ð¾Ð»Ð¾Ð² Ð² ÑÑ‚Ñ€Ð¾ÐºÐµ Ð² Ð¿ÐµÐ¹Ð´Ð¶ÐµÑ€Ðµ"
 
-#: src/lang.c:2823
+#: src/lang.c:2879
 msgid "# Wrap article lines at column\n"
 msgstr ""
 
-#: src/lang.c:2828
+#: src/lang.c:2883
+#, fuzzy
+msgid ""
+"If ON, don't break words when wrapping lines. <SPACE> toggles & <CR> sets."
+msgstr ""
+"Ð”Ð¾Ð±Ð°Ð²Ð»ÑÑ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñƒ Ð¿Ñ€Ð¸ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð¹ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐµ. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
+
+#: src/lang.c:2884
+msgid "Don't break words when wrapping"
+msgstr ""
+
+#: src/lang.c:2885
+msgid "# Don't break long lines inside a word but on <SPACE> or <TAB>\n"
+msgstr ""
+
+#: src/lang.c:2890
 msgid "Wrap around threads on next unread"
 msgstr ""
 
-#: src/lang.c:2829
+#: src/lang.c:2891
 msgid "# If ON wrap around threads on searching next unread article\n"
 msgstr ""
 
-#: src/lang.c:2833
+#: src/lang.c:2895
 msgid "Enter default mail address (and fullname). <CR> sets."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ email Ð°Ð´Ñ€ÐµÑ (Ð¸ Ð¿Ð¾Ð»Ð½Ð¾Ðµ Ð¸Ð¼Ñ). <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2834 src/lang.c:3405
+#: src/lang.c:2896 src/lang.c:3474
 msgid "Mail address (and fullname)"
 msgstr "Email Ð°Ð´Ñ€ÐµÑ (Ð¸ Ð¿Ð¾Ð»Ð½Ð¾Ðµ Ð¸Ð¼Ñ)"
 
-#: src/lang.c:2835
+#: src/lang.c:2897
 msgid "# User's mail address (and fullname), if not username@host (fullname)\n"
 msgstr "# Email Ð°Ð´Ñ€ÐµÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ (Ð¸ Ð¿Ð¾Ð»Ð½Ð¾Ðµ Ð¸Ð¼Ñ).\n"
 
-#: src/lang.c:2840
+#: src/lang.c:2902
 msgid "Show empty Followup-To in editor"
 msgstr "ÐŸÐ¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð¿ÑƒÑÑ‚Ð¾Ð¹ Followup-To Ð² Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¾Ñ€Ðµ"
 
-#: src/lang.c:2841
+#: src/lang.c:2903
 msgid "# If ON show empty Followup-To header when editing an article\n"
 msgstr ""
 "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ð¿ÑƒÑÑ‚Ð¾Ð¹ Follow-up Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑ‚Ð°Ñ‚ÑŒÐ¸\n"
 
-#: src/lang.c:2845
+#: src/lang.c:2907
 msgid ""
 "Enter path/! command/--none to create your default signature. <CR> sets."
 msgstr ""
 "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ð¿ÑƒÑ‚ÑŒ/! ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°/--none Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð²Ð°ÑˆÐµÐ¹ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñ‹. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2846
+#: src/lang.c:2908
 msgid "Create signature from path/command"
 msgstr "Ð¡Ð¾Ð·Ð´Ð°Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñƒ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹"
 
-#: src/lang.c:2847
+#: src/lang.c:2909
 #, c-format
 msgid ""
 "# Signature path (random sigs)/file to be used when posting/replying\n"
@@ -7731,54 +7884,54 @@ msgid ""
 "# sigfile=--none     don't append a signature\n"
 msgstr ""
 
-#: src/lang.c:2855
+#: src/lang.c:2917
 msgid ""
 "Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 msgstr ""
 "ÐÐ°Ñ‡Ð¸Ð½Ð°Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñƒ Ñ \"--\" Ð² Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ð¾Ð¹ ÑÑ‚Ñ€Ð¾ÐºÐµ. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> "
 "ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2856
+#: src/lang.c:2918
 msgid "Prepend signature with \"-- \""
 msgstr "ÐÐ°Ñ‡Ð¸Ð½Ð°Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñƒ Ñ \"--\""
 
-#: src/lang.c:2857
+#: src/lang.c:2919
 msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n"
 msgstr "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñƒ Ñ Ð´ÐµÑ„Ð¸ÑÐ¾Ð² '\\n-- \\n'\n"
 
-#: src/lang.c:2861
+#: src/lang.c:2923
 msgid "Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Ð”Ð¾Ð±Ð°Ð²Ð»ÑÑ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñƒ Ð¿Ñ€Ð¸ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð¹ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐµ. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2862
+#: src/lang.c:2924
 msgid "Add signature when reposting"
 msgstr "Ð”Ð¾Ð±Ð°Ð²Ð»ÑÑ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñƒ Ð¿Ñ€Ð¸ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð¹ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐµ"
 
-#: src/lang.c:2863
+#: src/lang.c:2925
 msgid "# If ON add signature to reposted articles\n"
 msgstr "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñƒ Ð¿Ñ€Ð¸ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð¹ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐµ\n"
 
-#: src/lang.c:2867
+#: src/lang.c:2929
 #, fuzzy
 msgid "Enter quotation marks, %I for author's initials."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ‹ Ð´Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° Ñ†Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ, %s Ð¸Ð»Ð¸ %S Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ñ‹ Ð°Ð²Ñ‚Ð¾Ñ€Ð°."
 
-#: src/lang.c:2868
+#: src/lang.c:2930
 msgid "Characters used as quote-marks"
 msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð»Ñ‹ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ñ‹Ðµ Ð´Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° Ñ†Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ"
 
-#: src/lang.c:2869
+#: src/lang.c:2931
 msgid ""
 "# Characters used in quoting to followups and replies.\n"
 "# '_' is replaced by ' ', %I is replaced by author's initials.\n"
 msgstr ""
 
-#: src/lang.c:2875
+#: src/lang.c:2937
 msgid "Quoting behavior"
 msgstr "Ð¦Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ"
 
-#: src/lang.c:2876
+#: src/lang.c:2938
 msgid ""
 "# How quoting should be handled when following up or replying.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7802,56 +7955,56 @@ msgstr ""
 "#   6 = Ð¦Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñ‹ Ð¸ Ð¿ÑƒÑÑ‚Ñ‹Ðµ ÑÑ‚Ñ€Ð¾ÐºÐ¸\n"
 "#   7 = Ð¡Ð¶Ð¸Ð¼Ð°Ñ‚ÑŒ Ñ†Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ, Ñ†Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ ÑÐ¸Ð³Ð½Ð°Ñ‚ÑƒÑ€Ñ‹ Ð¸ Ð¿ÑƒÑÑ‚Ñ‹Ðµ ÑÑ‚Ñ€Ð¾ÐºÐ¸\n"
 
-#: src/lang.c:2889 src/lang.c:2897 src/lang.c:2903
+#: src/lang.c:2951 src/lang.c:2959 src/lang.c:2965
 msgid ""
 "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 msgstr ""
 
-#: src/lang.c:2890
+#: src/lang.c:2952
 msgid "Quote line when following up"
 msgstr "Ð¦Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿Ñ€Ð¸ follow-up"
 
-#: src/lang.c:2891
+#: src/lang.c:2953
 msgid ""
 "# Format of quote line when mailing/posting/following-up an article\n"
 "# %A Address    %D Date   %F Addr+Name   %G Groupname   %M Message-ID\n"
 "# %N Full Name  %C First Name   %I Initials\n"
 msgstr ""
 
-#: src/lang.c:2898
+#: src/lang.c:2960
 msgid "Quote line when cross-posting"
 msgstr "Ð¦Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿Ñ€Ð¸ ÐºÑ€Ð¾ÑÑ-Ð¿Ð¾ÑÑ‚Ð¸Ð½Ð³Ðµ"
 
-#: src/lang.c:2904
+#: src/lang.c:2966
 msgid "Quote line when mailing"
 msgstr "Ð¦Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ð¿Ñ€Ð¸ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐµ email"
 
-#: src/lang.c:2909
+#: src/lang.c:2971
 msgid "If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑ‚ÑŒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº User-Agent:. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2910
+#: src/lang.c:2972
 #, fuzzy
 msgid "Insert 'User-Agent:' header"
 msgstr "Ð”Ð¾Ð±Ð°Ð²Ð»ÑÑ‚ÑŒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº User-Agent:"
 
-#: src/lang.c:2911
+#: src/lang.c:2973
 msgid "# If ON include advertising User-Agent: header\n"
 msgstr "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑ‚ÑŒ Ñ€ÐµÐºÐ»Ð°Ð¼Ð½Ñ‹Ð¹ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº User-Agent:\n"
 
-#: src/lang.c:2916
+#: src/lang.c:2978
 msgid ""
 "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÑƒ Ð´Ð»Ñ MIME (Ð½Ð°Ð¿Ñ€. US-ASCII, ISO-8859-1, EUC-KR), <CR> "
 "ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2917
+#: src/lang.c:2979
 msgid "MM_CHARSET"
 msgstr ""
 
-#: src/lang.c:2918
+#: src/lang.c:2980
 msgid ""
 "# Charset supported locally which is also used for MIME header and\n"
 "# Content-Type header.\n"
@@ -7861,15 +8014,15 @@ msgid ""
 "# mm_charset is considered not displayable and represented as '?'.\n"
 msgstr ""
 
-#: src/lang.c:2928
+#: src/lang.c:2990
 msgid "MM_NETWORK_CHARSET"
 msgstr ""
 
-#: src/lang.c:2929
+#: src/lang.c:2991
 msgid "# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr "# ÐšÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ° Ð² MIME (Content-Type) Ð² Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÑÐµÐ¼Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÑŒÑÑ….\n"
 
-#: src/lang.c:2933
+#: src/lang.c:2995
 #, fuzzy
 msgid ""
 "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
@@ -7877,27 +8030,27 @@ msgstr ""
 "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÑƒ Ð´Ð»Ñ MIME (Ð½Ð°Ð¿Ñ€. US-ASCII, ISO-8859-1, EUC-KR), <CR> "
 "ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:2934
+#: src/lang.c:2996
 msgid "MM_LOCAL_CHARSET"
 msgstr ""
 
-#: src/lang.c:2935
+#: src/lang.c:2997
 msgid "# Charset supported locally.\n"
 msgstr ""
 
-#: src/lang.c:2942
+#: src/lang.c:3004
 msgid "Mailbox format"
 msgstr "Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ Mailbox"
 
-#: src/lang.c:2943
+#: src/lang.c:3005
 msgid "# Format of the mailbox.\n"
 msgstr "# Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ mailbox.\n"
 
-#: src/lang.c:2948
+#: src/lang.c:3010
 msgid "MIME encoding in news messages"
 msgstr "ÐšÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ° MIME Ð² ÑÑ‚Ð°Ñ‚ÑŒÑÑ…"
 
-#: src/lang.c:2949
+#: src/lang.c:3011
 msgid ""
 "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n"
 "# for mails and posts, if necessary. QP is efficient for most European\n"
@@ -7906,15 +8059,15 @@ msgid ""
 "# Russian charsets with a lot of 8bit characters.\n"
 msgstr ""
 
-#: src/lang.c:2957 src/lang.c:2978
+#: src/lang.c:3019 src/lang.c:3040
 msgid "Don't change unless you know what you are doing. <ESC> cancels."
 msgstr "ÐÐµ Ð¸Ð·Ð¼ÐµÐ½ÑÐ¹Ñ‚Ðµ, ÐµÑÐ»Ð¸ Ð½Ðµ Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÐµÑ‚Ðµ Ñ‡Ñ‚Ð¾ Ð²Ñ‹ Ð´ÐµÐ»Ð°ÐµÑ‚Ðµ. <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°."
 
-#: src/lang.c:2958
+#: src/lang.c:3020
 msgid "Use 8bit characters in news headers"
 msgstr "Ð˜ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ 8 Ð±Ð¸Ñ‚Ð½Ñ‹Ðµ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ‹ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:2959
+#: src/lang.c:3021
 msgid ""
 "# If ON, 8bit characters in news headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -7927,32 +8080,32 @@ msgstr ""
 "# Ð¾Ñ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑÑ‚Ð¾Ð³Ð¾ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°, Ð¿Ð¾ÐºÐ° post_mime_encoding Ñ‚Ð°ÐºÐ¶Ðµ\n"
 "# Ð½Ðµ ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½ Ð² 8bit.\n"
 
-#: src/lang.c:2966
+#: src/lang.c:3028
 msgid ""
 "Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 "ÐÐ²Ñ‚Ð¾Ð¿Ñ€Ð¾ÑÐ¼Ð¾Ñ‚Ñ€ Ð¿Ð¾ÑÑ‚-Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð¾Ð². <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, "
 "<ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ"
 
-#: src/lang.c:2967
+#: src/lang.c:3029
 msgid "View post-processed files"
 msgstr "ÐŸÑ€Ð¾ÑÐ¼Ð¾Ñ‚Ñ€ Ð¿Ð¾ÑÑ‚-Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð¾Ð²"
 
-#: src/lang.c:2968
+#: src/lang.c:3030
 msgid "# If set, post processed files will be opened in a viewer\n"
 msgstr ""
 "# Ð•ÑÐ»Ð¸ ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½, Ñ‚Ð¾ Ð¿Ð¾ÑÑ‚-Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ðµ Ñ„Ð°Ð¹Ð»Ñ‹ Ð±ÑƒÐ´ÑƒÑ‚ Ð¾Ñ‚ÐºÑ€Ñ‹Ð²Ð°Ñ‚ÑŒÑÑ\n"
 "# Ð² Ð¿Ñ€Ð¾ÑÐ¼Ð¾Ñ‚Ð¾Ñ€Ñ‰Ð¸ÐºÐµ\n"
 
-#: src/lang.c:2973
+#: src/lang.c:3035
 msgid "MIME encoding in mail messages"
 msgstr "MIME ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ° Ð² Ð¿Ð¾Ñ‡Ñ‚Ð¾Ð²Ñ‹Ñ… ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸ÑÑ…"
 
-#: src/lang.c:2979
+#: src/lang.c:3041
 msgid "Use 8bit characters in mail headers"
 msgstr "Ð˜ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ 8 Ð±Ð¸Ñ‚Ð½Ñ‹Ðµ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ‹ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°Ñ… Ð¿Ð¾Ñ‡Ñ‚Ñ‹"
 
-#: src/lang.c:2980
+#: src/lang.c:3042
 msgid ""
 "# If ON, 8bit characters in mail headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -7963,11 +8116,11 @@ msgid ""
 "# turn it ON unless you have some compelling reason.\n"
 msgstr ""
 
-#: src/lang.c:2991
+#: src/lang.c:3053
 msgid "Strip blanks from ends of lines"
 msgstr "Ð£Ð±Ð¸Ñ€Ð°Ñ‚ÑŒ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ñ‹ Ð² ÐºÐ¾Ð½Ñ†Ðµ ÑÑ‚Ñ€Ð¾ÐºÐ¸"
 
-#: src/lang.c:2992
+#: src/lang.c:3054
 msgid ""
 "# If ON strip blanks from ends of lines for faster display on slow "
 "terminals.\n"
@@ -7975,16 +8128,16 @@ msgstr ""
 "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ ÑƒÐ±Ð¸Ñ€Ð°Ñ‚ÑŒ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ñ‹ Ð² ÐºÐ¾Ð½Ñ†Ðµ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ Ð±Ñ‹ÑÑ‚Ñ€Ð¾Ð³Ð¾ Ð²Ñ‹Ð²Ð¾Ð´Ð°\n"
 "# Ð½Ð° Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ñ‹Ñ… Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð°Ñ….\n"
 
-#: src/lang.c:2998
+#: src/lang.c:3060
 msgid "If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ Ñ‚Ñ€Ð°Ð½ÑÐ»Ð¸Ñ‚ÐµÑ€Ð°Ñ†Ð¸ÑŽ, <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ"
 
-#: src/lang.c:2999
+#: src/lang.c:3061
 msgid "Transliteration"
 msgstr "Ð¢Ñ€Ð°Ð½ÑÐ»Ð¸Ñ‚ÐµÑ€Ð°Ñ†Ð¸Ñ"
 
-#: src/lang.c:3000
+#: src/lang.c:3062
 msgid ""
 "# If ON, use //TRANSLIT extension. This means that when a character cannot\n"
 "# be represented in the in the target character set, it can be approximated\n"
@@ -7994,12 +8147,12 @@ msgstr ""
 "# ÑÐ¸Ð¼Ð²Ð¾Ð» Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚ Ð±Ñ‹Ñ‚ÑŒ Ð¿Ñ€ÐµÐ´ÑÑ‚Ð°Ð²Ð»ÐµÐ½ Ð² Ñ†ÐµÐ»ÐµÐ²Ð¾Ð¼ Ð½Ð°Ð±Ð¾Ñ€Ðµ ÑÐ¸Ð¼Ð²Ð¾Ð»Ð¾Ð², Ñ‚Ð¾ Ð¾Ð½\n"
 "# Ð°Ð¿Ð¿Ñ€Ð¾ÐºÑÐ¸Ð¼Ð¸Ñ€ÑƒÐµÑ‚ÑÑ Ð¾Ð´Ð½Ð¸Ð¼ Ð¸Ð»Ð¸ Ð½ÐµÑÐºÐ¾Ð»ÑŒÐºÐ¸Ð¼Ð¸ Ð¿Ð¾Ñ…Ð¾Ð¶Ð¸Ð¼Ð¸ ÑÐ¸Ð¼Ð²Ð¾Ð»Ð°Ð¼Ð¸.\n"
 
-#: src/lang.c:3008
+#: src/lang.c:3070
 #, fuzzy
 msgid "Send you a Cc/Bcc automatically"
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð»ÑÑ‚ÑŒ Ð²Ð°Ð¼ Cc Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑÐºÐ¸"
 
-#: src/lang.c:3009
+#: src/lang.c:3071
 #, fuzzy
 msgid ""
 "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n"
@@ -8017,91 +8170,91 @@ msgstr ""
 "#   3 = NFC\n"
 "#   4 = NFD\n"
 
-#: src/lang.c:3020
+#: src/lang.c:3082
 msgid "Hash algorithm for Cancel-Lock/Cancel-Key"
 msgstr ""
 
-#: src/lang.c:3021
+#: src/lang.c:3083
 msgid ""
 "# Hash algorithm for Cancel-Lock/Cancel-Key (default 'sha1')\n"
 "# Use 'none' to not generate Cancel-Lock headers.\n"
 msgstr ""
 
-#: src/lang.c:3027
+#: src/lang.c:3089
 msgid "Enter address elements about which you want to be warned. <CR> sets."
 msgstr ""
 
-#: src/lang.c:3028
+#: src/lang.c:3090
 msgid "Spamtrap warning address parts"
 msgstr ""
 
-#: src/lang.c:3029
+#: src/lang.c:3091
 msgid ""
 "# A comma-delimited list of address-parts you want to be warned\n"
 "# about when trying to reply by email.\n"
 msgstr ""
 
-#: src/lang.c:3034
+#: src/lang.c:3096
 msgid "Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ñ‡Ð¸ÑÐ»Ð¾ Ð´Ð½ÐµÐ¹ Ð¿Ð¾ÐºÐ° Ñ„Ð¸Ð»ÑŒÑ‚Ñ€ Ð¸Ð¼ÐµÐµÑ‚ ÑÐ¸Ð»Ñƒ. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:3035
+#: src/lang.c:3097
 msgid "No. of days a filter entry is valid"
 msgstr "Ð§Ð¸ÑÐ»Ð¾ Ð´Ð½ÐµÐ¹ Ð¿Ð¾ÐºÐ° Ñ„Ð¸Ð»ÑŒÑ‚Ñ€ Ð¸Ð¼ÐµÐµÑ‚ ÑÐ¸Ð»Ñƒ"
 
-#: src/lang.c:3036
+#: src/lang.c:3098
 msgid "# Number of days a short term filter will be active\n"
 msgstr ""
 
-#: src/lang.c:3040
+#: src/lang.c:3102
 msgid "Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr "Ð”Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð² Ñ„Ð¸Ð»ÑŒÑ‚Ñ€, <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ"
 
-#: src/lang.c:3041
+#: src/lang.c:3103
 msgid "Add posted articles to filter"
 msgstr "Ð”Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð² Ñ„Ð¸Ð»ÑŒÑ‚Ñ€"
 
-#: src/lang.c:3042
+#: src/lang.c:3104
 msgid ""
 "# If ON add posted articles which start a new thread to filter for\n"
 "# highlighting follow-ups\n"
 msgstr ""
 
-#: src/lang.c:3046
+#: src/lang.c:3108
 msgid "The directory where articles/threads are to be saved in mailbox format."
 msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÑÑ‚Ð°Ñ‚ÐµÐ¹/Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¹ Ð² Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ mailbox."
 
-#: src/lang.c:3047
+#: src/lang.c:3109
 msgid "Mail directory"
 msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð´Ð»Ñ Ð¿Ð¾Ñ‡Ñ‚Ñ‹"
 
-#: src/lang.c:3048
+#: src/lang.c:3110
 msgid "# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr "# (-m) Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÑÑ‚Ð°Ñ‚ÐµÐ¹/Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¹ Ð² Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ mailbox\n"
 
-#: src/lang.c:3053
+#: src/lang.c:3115
 msgid "Save articles in batch mode (-S)"
 msgstr "Ð¡Ð¾Ñ…Ñ€Ð°Ð½ÑÑ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð² Ð¿Ð°ÐºÐµÑ‚Ð½Ð¾Ð¼ Ñ€ÐµÐ¶Ð¸Ð¼Ðµ (-S)"
 
-#: src/lang.c:3054
+#: src/lang.c:3116
 msgid ""
 "# If ON articles/threads will be saved in batch mode when save -S\n"
 "# or mail (-M/-N) is specified on the command line\n"
 msgstr ""
 
-#: src/lang.c:3059
+#: src/lang.c:3121
 msgid "The directory where you want articles/threads saved."
 msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÑÑ‚Ð°Ñ‚ÐµÐ¹/Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¹"
 
-#: src/lang.c:3060
+#: src/lang.c:3122
 msgid "Directory to save arts/threads in"
 msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÑÑ‚Ð°Ñ‚ÐµÐ¹/Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¹"
 
-#: src/lang.c:3061
+#: src/lang.c:3123
 msgid "# Directory where articles/threads are saved\n"
 msgstr "# Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÑÑ‚Ð°Ñ‚ÐµÐ¹/Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¹\n"
 
-#: src/lang.c:3065
+#: src/lang.c:3127
 msgid ""
 "Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 "cancels."
@@ -8109,24 +8262,24 @@ msgstr ""
 "ÐžÑ‚Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ ÑÐ¾Ñ…Ñ€Ð°Ð½Ñ‘Ð½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸/Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¸ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> "
 "ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°"
 
-#: src/lang.c:3066
+#: src/lang.c:3128
 msgid "Mark saved articles/threads as read"
 msgstr "ÐžÑ‚Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ ÑÐ¾Ñ…Ñ€Ð°Ð½Ñ‘Ð½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸/Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¸ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ"
 
-#: src/lang.c:3067
+#: src/lang.c:3129
 msgid "# If ON mark articles that are saved as read\n"
 msgstr "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð¾Ñ‚Ð¼ÐµÑ‚Ð¸Ñ‚ÑŒ ÑÐ¾Ñ…Ñ€Ð°Ð½Ñ‘Ð½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ ÐºÐ°Ðº Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ‹Ðµ\n"
 
-#: src/lang.c:3071
+#: src/lang.c:3133
 msgid "Do post processing (e.g. extract attachments) for saved articles."
 msgstr ""
 "Ð’Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ Ð¿Ð¾ÑÑ‚-Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÑƒ (Ð½Ð°Ð¿Ñ€. ÑƒÐ±Ñ€Ð°Ñ‚ÑŒ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ) Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÑÐµÐ¼Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:3072
+#: src/lang.c:3134
 msgid "Post process saved articles"
 msgstr "ÐŸÐ¾ÑÑ‚-Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° ÑÐ¾Ñ…Ñ€Ð°Ð½Ñ‘Ð½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:3073
+#: src/lang.c:3135
 #, fuzzy
 msgid ""
 "# Perform post processing (saving binary attachments) from saved articles.\n"
@@ -8143,64 +8296,64 @@ msgstr ""
 "#   3 = NFC\n"
 "#   4 = NFD\n"
 
-#: src/lang.c:3082
+#: src/lang.c:3144
 msgid "Process only unread articles"
 msgstr "ÐžÐ±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð½ÐµÐ¿Ñ€Ð¾Ñ‡. ÑÑ‚Ð°Ñ‚ÑŒÐ¸"
 
-#: src/lang.c:3083
+#: src/lang.c:3145
 msgid ""
 "# If ON only save/print/pipe/mail unread articles (tagged articles "
 "excepted)\n"
 msgstr ""
 
-#: src/lang.c:3088
+#: src/lang.c:3150
 msgid "Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr ""
 "ÐŸÐµÑ‡Ð°Ñ‚Ð°Ñ‚ÑŒ Ð²ÑÐµ Ð¸Ð»Ð¸ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ‡Ð°ÑÑ‚ÑŒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð². <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:3089
+#: src/lang.c:3151
 msgid "Print all headers when printing"
 msgstr "ÐŸÐµÑ‡Ð°Ñ‚Ð°Ñ‚ÑŒ Ð²ÑÐµ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸"
 
-#: src/lang.c:3090
+#: src/lang.c:3152
 msgid ""
 "# If ON print all of article header otherwise just the important lines\n"
 msgstr "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð²Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ Ð²ÑÐµ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸ ÑÑ‚Ð°Ñ‚ÐµÐ¹, Ð¸Ð½Ð°Ñ‡Ðµ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð²Ð°Ð¶Ð½Ñ‹Ðµ\n"
 
-#: src/lang.c:3094
+#: src/lang.c:3156
 msgid ""
 "The printer program with options that is to be used to print articles/"
 "threads."
 msgstr "ÐšÐ¾Ð¼Ð°Ð½Ð´Ð° Ð¿ÐµÑ‡Ð°Ñ‚Ð¸ Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ Ð´Ð»Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð¸ ÑÑ‚Ð°Ñ‚ÐµÐ¹/Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¹"
 
-#: src/lang.c:3095
+#: src/lang.c:3157
 msgid "Printer program with options"
 msgstr "ÐŸÑ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° Ð¿ÐµÑ‡Ð°Ñ‚Ð¸ Ñ Ð¾Ð¿Ñ†Ð¸ÑÐ¼Ð¸"
 
-#: src/lang.c:3096
+#: src/lang.c:3158
 msgid "# Print program with parameters used to print articles/threads\n"
 msgstr "# ÐšÐ¾Ð¼Ð°Ð½Ð´Ð° Ð¿ÐµÑ‡Ð°Ñ‚Ð¸ Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ Ð´Ð»Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð¸ ÑÑ‚Ð°Ñ‚ÐµÐ¹/Ð´Ð¸ÑÐºÑƒÑÑÐ¸Ð¹\n"
 
-#: src/lang.c:3102
+#: src/lang.c:3164
 msgid "Force redraw after certain commands"
 msgstr "ÐŸÐµÑ€ÐµÑ€Ð¸ÑÐ¾Ð²Ñ‹Ð²Ð°Ñ‚ÑŒ ÑÐºÑ€Ð°Ð½ Ð¿Ð¾ÑÐ»Ðµ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… ÐºÐ¾Ð¼Ð°Ð½Ð´"
 
-#: src/lang.c:3103
+#: src/lang.c:3165
 msgid ""
 "# If ON a screen redraw will always be done after certain external commands\n"
 msgstr "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð¿ÐµÑ€ÐµÑ€Ð¸ÑÐ¾Ð²Ñ‹Ð²Ð°Ñ‚ÑŒ ÑÐºÑ€Ð°Ð½ Ð¿Ð¾ÑÐ»Ðµ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… Ð²Ð½ÐµÑˆÐ½Ð¸Ñ… ÐºÐ¾Ð¼Ð°Ð½Ð´\n"
 
-#: src/lang.c:3107
+#: src/lang.c:3169
 msgid "Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr ""
 "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ %E Ð´Ð»Ñ Ð¸Ð¼ÐµÐ½Ð¸ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¾Ñ€Ð°, %F Ð´Ð»Ñ Ð¸Ð¼ÐµÐ½Ð¸ Ñ„Ð°Ð¹Ð»Ð°, %N Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° ÑÑ‚Ñ€Ð¾ÐºÐ¸. "
 "<CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:3108
+#: src/lang.c:3170
 msgid "Invocation of your editor"
 msgstr "Ð—Ð°Ð¿ÑƒÑÐº Ð²Ð°ÑˆÐµÐ³Ð¾ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¾Ñ€Ð°"
 
-#: src/lang.c:3109
+#: src/lang.c:3171
 msgid ""
 "# Format of editor line including parameters\n"
 "# %E Editor  %F Filename  %N Linenumber\n"
@@ -8208,16 +8361,16 @@ msgstr ""
 "# Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑÐºÐ° Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¾Ñ€Ð° Ð²ÐºÐ»ÑŽÑ‡Ð°ÐµÑ‚ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹\n"
 "# %E Ð ÐµÐ´Ð°ÐºÑ‚Ð¾Ñ€  %F Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°  %N ÐÐ¾Ð¼ÐµÑ€ ÑÑ‚Ñ€Ð¾ÐºÐ¸\n"
 
-#: src/lang.c:3114
+#: src/lang.c:3176
 msgid ""
 "Enter name and options for external-inews, --internal for internal inews"
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ð¸Ð¼Ñ Ð¸ Ð¾Ð¿Ñ†Ð¸Ð¸ Ð´Ð»Ñ external-inews, --internal Ð´Ð»Ñ internal inews"
 
-#: src/lang.c:3115
+#: src/lang.c:3177
 msgid "External inews"
 msgstr "Ð’Ð½ÐµÑˆÐ½Ð¸Ð¹ inews"
 
-#: src/lang.c:3116
+#: src/lang.c:3178
 msgid ""
 "# If --internal use the built in mini inews for posting via NNTP\n"
 "# otherwise use an external inews program\n"
@@ -8225,30 +8378,32 @@ msgstr ""
 "# Ð•ÑÐ»Ð¸ --internal, Ñ‚Ð¾ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ Ð²ÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ñ‹Ð¹ Ð¼Ð¸Ð½Ð¸ unews Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸\n"
 "# ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ñ‡ÐµÑ€ÐµÐ· NNTP, Ð¸Ð½Ð°Ñ‡Ðµ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ Ð²Ð½ÐµÑˆÐ½ÑŽÑŽ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñƒ inews\n"
 
-#: src/lang.c:3120
+#: src/lang.c:3182
 msgid ""
 "Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr ""
 "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ %M Ð´Ð»Ñ MTA, %S Ð´Ð»Ñ Ñ‚ÐµÐ¼Ñ‹, %T Ð´Ð»Ñ To, %F Ð´Ð»Ñ Ð¸Ð¼ÐµÐ½Ð¸ Ñ„Ð°Ð¹Ð»Ð°, <CR> "
 "ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:3121
+#: src/lang.c:3183
 msgid "Invocation of your mail command"
 msgstr "Ð—Ð°Ð¿ÑƒÑÐº Ð²Ð°ÑˆÐµÐ¹ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ Ð¿Ð¾Ñ‡Ñ‚Ñ‹"
 
-#: src/lang.c:3122
+#: src/lang.c:3184
+#, fuzzy
 msgid ""
 "# Format of mailer line including parameters\n"
-"# %M Mailer  %S Subject  %T To  %F Filename\n"
-"# e.g. to use mutt as your mailer:    mutt -s \"%S\" -- \"%T\" < %F\n"
-"# e.g. mutt interactive          :    mutt -H %F\n"
+"# %M Mailer  %S Subject  %T To  %F Filename  %U Username\n"
+"# e.g. mutt interactive:  mutt -H %F\n"
 msgstr ""
+"# Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑÐºÐ° Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¾Ñ€Ð° Ð²ÐºÐ»ÑŽÑ‡Ð°ÐµÑ‚ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹\n"
+"# %E Ð ÐµÐ´Ð°ÐºÑ‚Ð¾Ñ€  %F Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°  %N ÐÐ¾Ð¼ÐµÑ€ ÑÑ‚Ñ€Ð¾ÐºÐ¸\n"
 
-#: src/lang.c:3130
+#: src/lang.c:3191
 msgid "Use interactive mail reader"
 msgstr "Ð˜ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð½Ñ‚ÐµÑ€Ð°ÐºÑ‚Ð¸Ð²Ð½ÑƒÑŽ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñƒ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñ‡Ñ‚Ñ‹"
 
-#: src/lang.c:3131
+#: src/lang.c:3192
 msgid ""
 "# Interactive mailreader\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8264,34 +8419,34 @@ msgstr ""
 "#   2 = Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð½Ñ‚ÐµÑ€Ð°ÐºÑ‚Ð¸Ð²Ð½ÑƒÑŽ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñƒ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñ‡Ñ‚Ñ‹ Ð±ÐµÐ· Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð² Ð² "
 "Ñ„Ð°Ð¹Ð»Ðµ\n"
 
-#: src/lang.c:3140
+#: src/lang.c:3201
 msgid "Remove ~/.article after posting"
 msgstr "Ð£Ð±Ñ€Ð°Ñ‚ÑŒ ~/.article Ð¿Ð¾ÑÐ»Ðµ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸"
 
-#: src/lang.c:3141
+#: src/lang.c:3202
 msgid "# If ON remove ~/.article after posting.\n"
 msgstr "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ ÑƒÐ±Ñ€Ð°Ñ‚ÑŒ ~/.article Ð¿Ð¾ÑÐ»Ðµ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸.\n"
 
-#: src/lang.c:3147
+#: src/lang.c:3208
 msgid "Use UTF-8 graphics (thread tree etc.)"
 msgstr ""
 
-#: src/lang.c:3148
+#: src/lang.c:3209
 msgid ""
 "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n"
 msgstr ""
 
-#: src/lang.c:3153
+#: src/lang.c:3214
 msgid "Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr ""
 "Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ Ð²ÑÐµÑ… Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, Ð½Ðµ Ð¸Ð¼ÐµÐ½Ð¸=Ð½Ðµ "
 "ÑÐ¾Ñ…Ñ€Ð°Ð½ÑÑ‚ÑŒ."
 
-#: src/lang.c:3154
+#: src/lang.c:3215
 msgid "Filename for posted articles"
 msgstr "Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:3155
+#: src/lang.c:3216
 msgid ""
 "# Filename where to keep all postings (default posted)\n"
 "# If no filename is set then postings will not be saved\n"
@@ -8299,39 +8454,39 @@ msgstr ""
 "# Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹.\n"
 "# Ð•ÑÐ»Ð¸ Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ð½Ðµ ÑƒÐºÐ°Ð·Ð°Ð½Ð¾, Ñ‚Ð¾ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ðµ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð½Ðµ Ð±ÑƒÐ´ÑƒÑ‚ ÑÐ¾Ñ…Ñ€Ð°Ð½ÑÑ‚ÑÑ.\n"
 
-#: src/lang.c:3160
+#: src/lang.c:3221
 msgid ""
 "Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Ð”ÐµÑ€Ð¶Ð°Ñ‚ÑŒ Ð²ÑÐµ Ð½ÐµÑƒÐ´Ð°Ð²ÑˆÐ¸ÐµÑÑ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð² ~/dead.articles. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> "
 "ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:3161
+#: src/lang.c:3222
 msgid "Keep failed arts in ~/dead.articles"
 msgstr "Ð”ÐµÑ€Ð¶Ð°Ñ‚ÑŒ Ð½ÐµÑƒÐ´Ð°Ð²ÑˆÐ¸ÐµÑÑ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ Ð² ~/dead.articles"
 
-#: src/lang.c:3162
+#: src/lang.c:3223
 msgid "# If ON keep all failed postings in ~/dead.articles\n"
 msgstr ""
 "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð´ÐµÑ€Ð¶Ð°Ñ‚ÑŒ Ð²ÑÐµ Ð½ÐµÑƒÐ´Ð°Ð²ÑˆÐ¸ÐµÑÑ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð² ~/dead.articles\n"
 
-#: src/lang.c:3166
+#: src/lang.c:3227
 msgid "Do you want to strip unsubscribed groups from .newsrc"
 msgstr "Ð¥Ð¾Ñ‚Ð¸Ñ‚Ðµ ÑƒÐ±Ñ€Ð°Ñ‚ÑŒ Ð½ÐµÐ¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ð½Ð½Ñ‹Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð¸Ð· .newsrc"
 
-#: src/lang.c:3167
+#: src/lang.c:3228
 msgid "No unsubscribed groups in newsrc"
 msgstr "Ð£Ð±Ð¸Ñ€Ð°Ñ‚ÑŒ Ð½ÐµÐ¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ð½Ð½Ñ‹Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð¸Ð· newsrc"
 
-#: src/lang.c:3168
+#: src/lang.c:3229
 msgid "# If ON strip unsubscribed groups from newsrc\n"
 msgstr "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ ÑƒÐ±Ð¸Ñ€Ð°Ñ‚ÑŒ Ð½ÐµÐ¿Ð¾Ð´Ð¿Ð¸ÑÐ°Ð½Ð½Ñ‹Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð¸Ð· newsrc\n"
 
-#: src/lang.c:3173
+#: src/lang.c:3234
 msgid "Remove bogus groups from newsrc"
 msgstr "Ð£Ð±Ð¸Ñ€Ð°Ñ‚ÑŒ Ñ„Ð¸ÐºÑ‚Ð¸Ð²Ð½Ñ‹Ðµ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð¸Ð· newsrc"
 
-#: src/lang.c:3174
+#: src/lang.c:3235
 msgid ""
 "# What to do with bogus groups in newsrc file\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8345,7 +8500,7 @@ msgstr ""
 "#   1 = ÑƒÐ½Ð¸Ñ‡Ñ‚Ð¾Ð¶Ð°Ñ‚ÑŒ\n"
 "#   2 = Ð¿Ð¾Ð¼ÐµÑ‡Ð°Ñ‚ÑŒ D Ð² ÑÐºÑ€Ð°Ð½Ðµ Ð²Ñ‹Ð±Ð¾Ñ€Ð°\n"
 
-#: src/lang.c:3183
+#: src/lang.c:3244
 #, fuzzy
 msgid ""
 "Enter number of seconds to wait for a response from the server. <CR> sets."
@@ -8353,37 +8508,37 @@ msgstr ""
 "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚Ð²Ð¾ ÑÐµÐºÑƒÐ½Ð´ Ð¼ÐµÐ¶Ð´Ñƒ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑÐºÐ¸Ð¼ Ñ‡Ñ‚ÐµÐ½Ð¸ÐµÐ¼ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°. <CR> "
 "ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:3184
+#: src/lang.c:3245
 msgid "NNTP read timeout in seconds"
 msgstr ""
 
-#: src/lang.c:3185
+#: src/lang.c:3246
 msgid ""
 "# Time in seconds to wait for a response from the server (0=no timeout)\n"
 msgstr ""
 
-#: src/lang.c:3190
+#: src/lang.c:3251
 msgid "Enter number of seconds until active file will be reread. <CR> sets."
 msgstr ""
 "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚Ð²Ð¾ ÑÐµÐºÑƒÐ½Ð´ Ð¼ÐµÐ¶Ð´Ñƒ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑÐºÐ¸Ð¼ Ñ‡Ñ‚ÐµÐ½Ð¸ÐµÐ¼ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ Ñ„Ð°Ð¹Ð»Ð°. <CR> "
 "ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:3191
+#: src/lang.c:3252
 msgid "Interval in secs to reread active"
 msgstr "Ð˜Ð½Ñ‚ÐµÑ€Ð²Ð°Ð» Ð² ÑÐµÐºÑƒÐ½Ð´Ð°Ñ… Ð¼ÐµÐ¶Ð´Ñƒ Ñ‡Ñ‚ÐµÐ½Ð¸ÐµÐ¼ active"
 
-#: src/lang.c:3192
+#: src/lang.c:3253
 msgid ""
 "# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr ""
 "# Ð’Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð» Ð² ÑÐµÐºÑƒÐ½Ð´Ð°Ñ… Ð¼ÐµÐ¶Ð´Ñƒ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑÐºÐ¸Ð¼ Ñ‡Ñ‚ÐµÐ½Ð¸ÐµÐ¼ Ñ„Ð°Ð¹Ð»Ð°\n"
 "# active (0=Ð½Ð¸ÐºÐ¾Ð³Ð´Ð°)\n"
 
-#: src/lang.c:3197
+#: src/lang.c:3258
 msgid "Reconnect to server automatically"
 msgstr "Ð¡Ð¾ÐµÐ´Ð¸Ð½Ð¸Ñ‚ÑŒÑÑ ÑÐ½Ð¾Ð²Ð° Ñ ÑÐµÑ€Ð²ÐµÑ€Ð¾Ð¼ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑÐºÐ¸"
 
-#: src/lang.c:3198
+#: src/lang.c:3259
 msgid ""
 "# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr ""
@@ -8391,30 +8546,44 @@ msgstr ""
 "ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ\n"
 "# Ð¿Ñ€ÐµÑ€Ð²Ð°Ð»Ð¾ÑÑŒ\n"
 
-#: src/lang.c:3202
+#: src/lang.c:3263
 msgid ""
 "Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:3203
+#: src/lang.c:3264
 msgid "Cache NNTP overview files locally"
 msgstr ""
 
-#: src/lang.c:3204
+#: src/lang.c:3265
 msgid "# If ON, create local copies of NNTP overview files.\n"
 msgstr ""
 
-#: src/lang.c:3208 src/lang.c:3223 src/lang.c:3243 src/lang.c:3266
-#: src/lang.c:3291 src/lang.c:3313 src/lang.c:3332
+#: src/lang.c:3270
+#, fuzzy
+msgid ""
+"Compress local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
+msgstr "From: ÑÑ‚Ñ€Ð¾ÐºÐ° Ð´Ð»Ñ Ð´Ð¾Ð±. Ð² Ñ„Ð¸Ð»ÑŒÑ‚Ñ€. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
+
+#: src/lang.c:3271
+msgid "Compress locally cached NNTP overview files"
+msgstr ""
+
+#: src/lang.c:3272
+msgid "# If ON, compress local copies of NNTP overview files.\n"
+msgstr ""
+
+#: src/lang.c:3277 src/lang.c:3292 src/lang.c:3312 src/lang.c:3335
+#: src/lang.c:3360 src/lang.c:3382 src/lang.c:3401
 msgid "Enter format string. <CR> sets, <ESC> cancels."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°."
 
-#: src/lang.c:3209
+#: src/lang.c:3278
 #, fuzzy
 msgid "Format string for selection level"
 msgstr "Ð²ÐµÑ€Ð½ÑƒÑ‚ÑŒÑÑ Ð² ÑƒÑ€Ð¾Ð²ÐµÐ½ÑŒ Ð²Ñ‹Ð±Ð¾Ñ€Ð° Ð³Ñ€ÑƒÐ¿Ð¿"
 
-#: src/lang.c:3210
+#: src/lang.c:3279
 msgid ""
 "# Format string for selection level representation\n"
 "# Default: %f %n %U  %G  %d\n"
@@ -8428,12 +8597,12 @@ msgid ""
 "#   %U              Unread count\n"
 msgstr ""
 
-#: src/lang.c:3224
+#: src/lang.c:3293
 #, fuzzy
 msgid "Format string for group level"
 msgstr "Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ð´Ð°Ñ‚"
 
-#: src/lang.c:3225
+#: src/lang.c:3294
 msgid ""
 "# Format string for group level representation\n"
 "# Default: %n %m %R %L  %s  %F\n"
@@ -8452,12 +8621,12 @@ msgid ""
 "#   %S              Score\n"
 msgstr ""
 
-#: src/lang.c:3244
+#: src/lang.c:3313
 #, fuzzy
 msgid "Format string for attachment level"
 msgstr "# Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ñ‚Ñ‹\n"
 
-#: src/lang.c:3245
+#: src/lang.c:3314
 msgid ""
 "# Format string for attachment level representation\n"
 "# Default: %t%s%e%c%d\n"
@@ -8479,12 +8648,12 @@ msgid ""
 "#   %z              Like %Z but with description\n"
 msgstr ""
 
-#: src/lang.c:3267
+#: src/lang.c:3336
 #, fuzzy
 msgid "Format string for display of mime header"
 msgstr "Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ð´Ð°Ñ‚"
 
-#: src/lang.c:3268
+#: src/lang.c:3337
 msgid ""
 "# Format string for mime header at article level\n"
 "# Default: [-- %T%S%*n%z%*l%!c%!d%*e --]\n"
@@ -8508,12 +8677,12 @@ msgid ""
 "#   %z              Like %Z but with description\n"
 msgstr ""
 
-#: src/lang.c:3292
+#: src/lang.c:3361
 #, fuzzy
 msgid "Format string for display of uue header"
 msgstr "Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ð´Ð°Ñ‚"
 
-#: src/lang.c:3293
+#: src/lang.c:3362
 msgid ""
 "# Format string for uue header at article level\n"
 "# Default: [-- %T%S%*n%I%!d%*e --]\n"
@@ -8534,12 +8703,12 @@ msgid ""
 "#   %z              Like %Z but with description\n"
 msgstr ""
 
-#: src/lang.c:3314
+#: src/lang.c:3383
 #, fuzzy
 msgid "Format string for thread level"
 msgstr "# Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ñ‚Ñ‹\n"
 
-#: src/lang.c:3315
+#: src/lang.c:3384
 msgid ""
 "# Format string for thread level representation\n"
 "# Default: %n %m  [%L]  %T  %F\n"
@@ -8557,19 +8726,19 @@ msgid ""
 "#   %T              Thread tree (only thread level)\n"
 msgstr ""
 
-#: src/lang.c:3333
+#: src/lang.c:3402
 msgid "Format string for display of dates"
 msgstr "Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ð´Ð°Ñ‚"
 
-#: src/lang.c:3334
+#: src/lang.c:3403
 msgid "# Format string for date representation\n"
 msgstr "# Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ñ‚Ñ‹\n"
 
-#: src/lang.c:3344
+#: src/lang.c:3413
 msgid "Unicode normalization form"
 msgstr "Ð¤Ð¾Ñ€Ð¼Ð° Ð½Ð¾Ñ€Ð¼Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ Unicode"
 
-#: src/lang.c:3345
+#: src/lang.c:3414
 #, fuzzy
 msgid ""
 "# Unicode normalization form\n"
@@ -8589,20 +8758,20 @@ msgstr ""
 "#   3 = NFC\n"
 "#   4 = NFD\n"
 
-#: src/lang.c:3359
+#: src/lang.c:3428
 msgid "Render BiDi"
 msgstr "Ð’Ð¾ÑÐ¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ BiDi"
 
-#: src/lang.c:3360
+#: src/lang.c:3429
 msgid "# If ON, bi-directional text is rendered by tin\n"
 msgstr "# Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð´Ð²ÑƒÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ð¹ Ñ‚ÐµÐºÑÑ‚ Ð²Ð¾ÑÐ¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÑÑ tin'Ð¾Ð¼\n"
 
-#: src/lang.c:3367
+#: src/lang.c:3436
 #, fuzzy
 msgid "Function for sorting articles"
 msgstr "Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹"
 
-#: src/lang.c:3368
+#: src/lang.c:3437
 #, fuzzy
 msgid ""
 "# Function for sorting articles\n"
@@ -8615,156 +8784,164 @@ msgstr ""
 "# * 0 = wildmat\n"
 "#   1 = regex\n"
 
-#: src/lang.c:3381
+#: src/lang.c:3450
 msgid "Automatically GroupMarkUnselArtRead"
 msgstr ""
 
-#: src/lang.c:3387
+#: src/lang.c:3456
 #, fuzzy
 msgid "Delete post-process files"
 msgstr "ÐŸÑ€Ð¾ÑÐ¼Ð¾Ñ‚Ñ€ Ð¿Ð¾ÑÑ‚-Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ñ… Ñ„Ð°Ð¹Ð»Ð¾Ð²"
 
-#: src/lang.c:3392
+#: src/lang.c:3461
 #, fuzzy
 msgid "Filename for all mailed articles, <CR> sets, no filename=do not save."
 msgstr ""
 "Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ Ð²ÑÐµÑ… Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ñ… ÑÑ‚Ð°Ñ‚ÐµÐ¹. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, Ð½Ðµ Ð¸Ð¼ÐµÐ½Ð¸=Ð½Ðµ "
 "ÑÐ¾Ñ…Ñ€Ð°Ð½ÑÑ‚ÑŒ."
 
-#: src/lang.c:3393
+#: src/lang.c:3462
 msgid "Mailbox to save sent mails"
 msgstr ""
 
-#: src/lang.c:3398
+#: src/lang.c:3467
 #, fuzzy
 msgid "Set Followup-To: header to this group(s). <CR> sets, <ESC> cancels."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°."
 
-#: src/lang.c:3399
+#: src/lang.c:3468
 msgid "Followup-To: header"
 msgstr ""
 
-#: src/lang.c:3404
+#: src/lang.c:3473
 #, fuzzy
 msgid "Enter default mail address (and fullname). <CR> sets, <ESC> cancels."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ email Ð°Ð´Ñ€ÐµÑ (Ð¸ Ð¿Ð¾Ð»Ð½Ð¾Ðµ Ð¸Ð¼Ñ). <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:3411
+#: src/lang.c:3480
 #, fuzzy
 msgid ""
 "Path and options for ispell-like spell-checker. <CR> sets, <ESC> cancels."
 msgstr "ÐŸÑ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹ Ð´Ð»Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ URL. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°"
 
-#: src/lang.c:3412
+#: src/lang.c:3481
 msgid "Ispell program"
 msgstr ""
 
-#: src/lang.c:3418
+#: src/lang.c:3487
 msgid "When group is a mailing list, send responses to this email address."
 msgstr ""
 
-#: src/lang.c:3419
+#: src/lang.c:3488
 #, fuzzy
 msgid "Mailing list address"
 msgstr "ÐžÑ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ Ð»Ð¾Ð³-ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ %s\n"
 
-#: src/lang.c:3425
+#: src/lang.c:3494
 msgid "Forward articles as attachment"
 msgstr ""
 
-#: src/lang.c:3430
+#: src/lang.c:3499
 msgid ""
 "A comma separated list of MIME major/minor Content-Types. <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3431
+#: src/lang.c:3500
 msgid "Which MIME types will be saved"
 msgstr ""
 
-#: src/lang.c:3436
+#: src/lang.c:3505
 #, fuzzy
 msgid "Value of the Organization: header. <CR> sets, <ESC> cancels."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°."
 
-#: src/lang.c:3437
+#: src/lang.c:3506
 msgid "Organization: header"
 msgstr ""
 
-#: src/lang.c:3442
+#: src/lang.c:3511
 #, fuzzy
 msgid "Filename for saved articles. <CR> sets, <ESC> cancels."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°."
 
-#: src/lang.c:3443
+#: src/lang.c:3512
 #, fuzzy
 msgid "savefile"
 msgstr "Ð¡Ð¾Ñ…Ñ€Ð°Ð½Ð¸Ñ‚ÑŒ Ð² Ñ„Ð°Ð¹Ð»> "
 
-#: src/lang.c:3448 src/lang.c:3472
+#: src/lang.c:3517 src/lang.c:3541
 #, fuzzy
 msgid "Scope for the filter rule. <CR> sets, <ESC> cancels."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°."
 
-#: src/lang.c:3449
+#: src/lang.c:3518
 #, fuzzy
 msgid "Quick (1 key) select filter scope"
 msgstr "Ð”Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€ Ð±Ñ‹ÑÑ‚Ñ€Ð¾Ð³Ð¾ Ð²Ñ‹Ð±Ð¾Ñ€Ð°?"
 
-#: src/lang.c:3454 src/lang.c:3478
+#: src/lang.c:3523 src/lang.c:3547
 #, fuzzy
 msgid "Header for filter rule. <CR> sets, <ESC> cancels."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°."
 
-#: src/lang.c:3455
+#: src/lang.c:3524
 msgid "Quick (1 key) select filter header"
 msgstr ""
 
-#: src/lang.c:3460 src/lang.c:3484
+#: src/lang.c:3529 src/lang.c:3553
 #, fuzzy
 msgid "ON = case sensitive, OFF = ignore case. <CR> sets, <ESC> cancels."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°."
 
-#: src/lang.c:3461
+#: src/lang.c:3530
 #, fuzzy
 msgid "Quick (1 key) select filter case"
 msgstr "Ð”Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€ Ð±Ñ‹ÑÑ‚Ñ€Ð¾Ð³Ð¾ Ð²Ñ‹Ð±Ð¾Ñ€Ð°?"
 
-#: src/lang.c:3466 src/lang.c:3490
+#: src/lang.c:3535 src/lang.c:3559
 #, fuzzy
 msgid "ON = expire, OFF = don't ever expire. <CR> sets, <ESC> cancels."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°."
 
-#: src/lang.c:3467
+#: src/lang.c:3536
 msgid "Quick (1 key) select filter expire"
 msgstr ""
 
-#: src/lang.c:3473
+#: src/lang.c:3542
 #, fuzzy
 msgid "Quick (1 key) kill filter scope"
 msgstr "Ð”Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€ Ð±Ñ‹ÑÑ‚Ñ€Ð¾Ð³Ð¾ ÑƒÐ½Ð¸Ñ‡Ñ‚Ð¾Ð¶ÐµÐ½Ð¸Ñ?"
 
-#: src/lang.c:3479
+#: src/lang.c:3548
 msgid "Quick (1 key) kill filter header"
 msgstr ""
 
-#: src/lang.c:3485
+#: src/lang.c:3554
 #, fuzzy
 msgid "Quick (1 key) kill filter case"
 msgstr "Ð”Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€ Ð±Ñ‹ÑÑ‚Ñ€Ð¾Ð³Ð¾ ÑƒÐ½Ð¸Ñ‡Ñ‚Ð¾Ð¶ÐµÐ½Ð¸Ñ?"
 
-#: src/lang.c:3491
+#: src/lang.c:3560
 msgid "Quick (1 key) kill filter expire"
 msgstr ""
 
-#: src/lang.c:3497
+#: src/lang.c:3566
 msgid "Assume this charset if no charset declaration is present, <CR> to set."
 msgstr ""
 
-#: src/lang.c:3498
+#: src/lang.c:3567
 msgid "UNDECLARED_CHARSET"
 msgstr ""
 
-#: src/lang.c:3504
+#: src/lang.c:3572
+msgid "Guess charset if no charset declaration is present, <CR> to set."
+msgstr ""
+
+#: src/lang.c:3573
+msgid "UNDECLARED_CS_GUESS"
+msgstr ""
+
+#: src/lang.c:3580
 #, fuzzy
 msgid ""
 "Add this text at the start of the message body. <CR> sets, <ESC> cancels."
@@ -8772,48 +8949,48 @@ msgstr ""
 "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ ÑÐ¸Ð¼Ð²Ð¾Ð» Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ ÑÑ‚Ð°Ñ‚ÐµÐ¹ Ð² Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ðµ. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> "
 "Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:3505
+#: src/lang.c:3581
 msgid "X_Body"
 msgstr ""
 
-#: src/lang.c:3510
+#: src/lang.c:3586
 #, fuzzy
 msgid "Insert this header when posting. <CR> sets, <ESC> cancels."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ ÑÑ‚Ñ€Ð¾ÐºÐ¸. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, <ESC> Ð¾Ñ‚Ð¼ÐµÐ½Ð°."
 
-#: src/lang.c:3511
+#: src/lang.c:3587
 msgid "X_Headers"
 msgstr ""
 
-#: src/lang.c:3516
+#: src/lang.c:3592
 #, fuzzy
 msgid ""
 "Automatically insert an X-Comment-To: header? <SPACE> toggles & <CR> sets."
 msgstr ""
 "Ð•ÑÐ»Ð¸ ON, Ñ‚Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑ‚ÑŒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº User-Agent:. <ÐŸÐ ÐžÐ‘Ð•Ð›> Ð²Ñ‹Ð±Ð¾Ñ€, <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:3517
+#: src/lang.c:3593
 #, fuzzy
 msgid "Insert 'X-Comment-To:' header"
 msgstr "Ð”Ð¾Ð±Ð°Ð²Ð»ÑÑ‚ÑŒ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº 'X-Comment-To:'"
 
-#: src/lang.c:3523
+#: src/lang.c:3599
 #, fuzzy
 msgid "Enter name of file containing trusted CA certificates. <CR> sets."
 msgstr "Ð’Ð²ÐµÐ´Ð¸Ñ‚Ðµ Ñ‡Ð¸ÑÐ»Ð¾ Ð´Ð½ÐµÐ¹, Ð¿Ð¾ÐºÐ° ÑÑ‚Ð°Ñ‚ÑŒÑ ÑÑ‡Ð¸Ñ‚Ð°ÐµÑ‚ÑÑ Ð½Ð¾Ð²Ð¾Ð¹. <CR> ÑƒÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ."
 
-#: src/lang.c:3524
+#: src/lang.c:3600
 #, fuzzy
 msgid "CA certificate file"
 msgstr "Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñ„Ð°Ð¹Ð» Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°"
 
-#: src/lang.c:3525
+#: src/lang.c:3601
 msgid ""
 "# name of file containing all trusted CA certificates (empty = system "
 "default)\n"
 msgstr ""
 
-#: src/nntplib.c:908
+#: src/nntplib.c:963
 #, c-format
 msgid ""
 "\n"
@@ -8822,33 +8999,63 @@ msgstr ""
 "\n"
 "Ð¡ÐµÑ€Ð²ÐµÑ€ Ð½Ðµ Ð¾Ñ‚Ð²ÐµÑ‡Ð°ÐµÑ‚, Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° ÑÐ¾ÐµÐ´Ð¸Ð½Ð¸Ñ‚ÑŒÑÑ ÑÐ½Ð¾Ð²Ð° # %d\n"
 
-#: src/nntplib.c:950 src/nntplib.c:2032
+#: src/nntplib.c:1006 src/nntplib.c:2115
 msgid "Rejoin current group\n"
 msgstr "Ð’ÑÑ‚ÑƒÐ¿Ð¸Ñ‚ÑŒ ÑÐ½Ð¾Ð²Ð° Ð² Ñ‚ÐµÐºÑƒÑ‰ÑƒÑŽ Ð³Ñ€ÑƒÐ¿Ð¿Ñƒ\n"
 
-#: src/nntplib.c:959 src/nntplib.c:2041
+#: src/nntplib.c:1015 src/nntplib.c:2124
 #, c-format
 msgid "Read (%s)\n"
 msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ (%s)\n"
 
-#: src/nntplib.c:961
+#: src/nntplib.c:1017
 #, c-format
 msgid "Resend last command (%s)\n"
 msgstr "ÐŸÐµÑ€ÐµÑÐ»Ð°Ñ‚ÑŒ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÑŽÑŽ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñƒ (%s)\n"
 
-#: src/read.c:363
+#: src/read.c:358
 msgid "Aborted read\n"
 msgstr "Ð§Ñ‚ÐµÐ½Ð¸Ðµ Ð¿Ñ€ÐµÑ€Ð²Ð°Ð½Ð¾\n"
 
-#: src/read.c:418
+#: src/read.c:413
 msgid "Draining\n"
 msgstr "ÐžÑÑƒÑˆÐµÐ½Ð¸Ðµ\n"
 
-#: src/refs.c:656
+#: src/refs.c:654
 msgid "[- Unavailable -]"
 msgstr "[- ÐÐµÐ´Ð¾ÑÑ‚ÑƒÐ¿Ð½Ð¾ -]"
 
-#, fuzzy, c-format
+#~ msgid "Invalid  From: %s  line. Read the INSTALL file again."
+#~ msgstr "ÐÐµÐ´Ð¾Ð¿ÑƒÑÑ‚Ð¸Ð¼Ð°Ñ ÑÑ‚Ñ€Ð¾ÐºÐ° From: %s. ÐŸÑ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð¹Ñ‚Ðµ Ñ„Ð°Ð¹Ð» INSTALL ÑÐ½Ð¾Ð²Ð°."
+
+#~ msgid "bytes"
+#~ msgstr "Ð±Ð°Ð¹Ñ‚"
+
+#~ msgid "\tChecksum of %s (%ld %s)"
+#~ msgstr "\tÐšÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ ÑÑƒÐ¼Ð¼Ð° %s (%ld %s)"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in Approved: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ÐžÑˆÐ¸Ð±ÐºÐ°: ÐÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Approved:.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in From: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ÐžÑˆÐ¸Ð±ÐºÐ°: ÐÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ From:.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in Reply-To: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ÐžÑˆÐ¸Ð±ÐºÐ°: ÐÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ Ð°Ð´Ñ€ÐµÑ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Reply-To:.\n"
+
+#, fuzzy
 #~ msgid ""
 #~ "\n"
 #~ "Error: Header on line %d starts with a dot '.':\n"
@@ -8858,15 +9065,13 @@ msgstr "[- ÐÐµÐ´Ð¾ÑÑ‚ÑƒÐ¿Ð½Ð¾ -]"
 #~ "ÐžÑˆÐ¸Ð±ÐºÐ°: Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð² ÑÑ‚Ñ€Ð¾ÐºÐµ %d Ð½Ðµ Ð¸Ð¼ÐµÐµÑ‚ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ð° Ð¿Ð¾ÑÐ»Ðµ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñ:\n"
 #~ "%s\n"
 
-#, c-format
 #~ msgid "Version: %s %s release %s (\"%s\") %s %s\n"
 #~ msgstr "Ð’ÐµÑ€ÑÐ¸Ñ: %s %s Ñ€ÐµÐ»Ð¸Ð· %s (\"%s\") %s %s\n"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "%d lines"
 #~ msgstr "Ð¡Ñ‚Ñ€Ð¾ÐºÐ¸"
 
-#, c-format
 #~ msgid ""
 #~ "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n"
 #~ "\n"
@@ -8874,7 +9079,7 @@ msgstr "[- ÐÐµÐ´Ð¾ÑÑ‚ÑƒÐ¿Ð½Ð¾ -]"
 #~ "%*s[-- %s/%s, %suuencoded Ñ„Ð°Ð¹Ð», %d ÑÑ‚Ñ€Ð¾Ðº, Ð¸Ð¼Ñ: %s --]\n"
 #~ "\n"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "%*s[-- %s/%s%s%s%s%s, %d lines, encoding %s --]\n"
 #~ msgstr "%*s[-- %s/%s, ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ° %s%s%s, %d ÑÑ‚Ñ€Ð¾Ðº%s%s --]\n"
 
Binary files tin-2.6.3/po/sv.gmo and tin-2.6.4/po/sv.gmo differ
diff -Nurp '--exclude=.bzr*' tin-2.6.3/po/sv.po tin-2.6.4/po/sv.po
--- tin-2.6.3/po/sv.po	2023-12-24 00:38:37.000000000 +0100
+++ tin-2.6.4/po/sv.po	2024-12-21 15:42:03.884755363 +0100
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tin 1.8.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-12-13 22:25+0100\n"
+"POT-Creation-Date: 2024-12-21 15:42+0100\n"
 "PO-Revision-Date: 2006-01-11 21:22+0100\n"
 "Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -16,11 +16,11 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/lang.c:45
+#: src/lang.c:48
 msgid "1 Response"
 msgstr "1 svar"
 
-#: src/lang.c:49
+#: src/lang.c:50
 #, c-format
 msgid ""
 "\n"
@@ -29,36 +29,36 @@ msgstr ""
 "\n"
 "%s innehÃ¥ller inga nyhetsgrupper. Avslutar."
 
-#: src/lang.c:51
+#: src/lang.c:52
 msgid "Aborting read, please wait..."
 msgstr "Avbryter lÃ¤sning, var god vÃ¤nta..."
 
-#: src/lang.c:53
+#: src/lang.c:54
 msgid "all"
 msgstr "alla"
 
-#: src/lang.c:54
+#: src/lang.c:55
 msgid "All groups"
 msgstr "Alla grupper"
 
-#: src/lang.c:55
+#: src/lang.c:56
 #, c-format
 msgid "File %s exists. %s=append, %s=overwrite, %s=quit: "
 msgstr ""
 
-#: src/lang.c:56
+#: src/lang.c:57
 msgid "Article cancelled (deleted)."
 msgstr "Artikel avbruten (borttagen)."
 
-#: src/lang.c:58
+#: src/lang.c:59
 msgid "Article cannot be cancelled (deleted)."
 msgstr "Artikel kan inte avbrytas (tas bort)."
 
-#: src/lang.c:60
+#: src/lang.c:61
 msgid "Article deleted."
 msgstr "Artikel borttagen."
 
-#: src/lang.c:61
+#: src/lang.c:62
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -72,7 +72,7 @@ msgstr ""
 "  \"%s\"\n"
 "kommer att postas till fÃ¶ljande %s:\n"
 
-#: src/lang.c:62
+#: src/lang.c:63
 #, c-format
 msgid ""
 "\n"
@@ -85,140 +85,145 @@ msgstr ""
 "  \"%s\"\n"
 "kommer att postas till fÃ¶ljande %s:\n"
 
-#: src/lang.c:63
+#: src/lang.c:64
 msgid "Article not posted!"
 msgstr "Artikel inte postad!"
 
-#: src/lang.c:64
+#: src/lang.c:65
 msgid "Article not saved"
 msgstr ""
 
-#: src/lang.c:65
+#: src/lang.c:66
 msgid "Article Level Commands"
 msgstr ""
 
-#: src/lang.c:66
+#: src/lang.c:67
 msgid "Article has no parent"
 msgstr ""
 
-#: src/lang.c:67
+#: src/lang.c:68
 msgid "Parent article has been killed"
 msgstr ""
 
-#: src/lang.c:68
+#: src/lang.c:69
 msgid "Parent article is unavailable"
 msgstr ""
 
-#: src/lang.c:69
+#: src/lang.c:70
 #, c-format
 msgid "Article posted: %s"
 msgstr ""
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid "Article rejected (saved to %s)"
 msgstr ""
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid ""
 "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: "
 msgstr ""
 
-#: src/lang.c:72
+#: src/lang.c:73
 msgid "Article unavailable"
 msgstr "Artikel ej tillgÃ¤nglig"
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid "Article undeleted."
 msgstr ""
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, fuzzy, c-format
 msgid "Article %4d of %4d"
 msgstr "Artikel %4d av %4d"
 
-#: src/lang.c:76
+#: src/lang.c:77
+#, fuzzy
+msgid "Article Info Page"
+msgstr "Artikel inte postad!"
+
+#: src/lang.c:78
 msgid "articles"
 msgstr "artiklar"
 
-#: src/lang.c:77
+#: src/lang.c:79
 msgid "This is a repost of the following article:"
 msgstr ""
 
-#: src/lang.c:78
+#: src/lang.c:80
 msgid "article"
 msgstr "artikel"
 
-#: src/lang.c:79
+#: src/lang.c:81
 msgid "Article"
 msgstr "Artikel"
 
-#: src/lang.c:80
+#: src/lang.c:82
 #, c-format
 msgid "-- %d %s mailed --"
 msgstr ""
 
-#: src/lang.c:81
+#: src/lang.c:83
 #, c-format
 msgid " at %s"
 msgstr " den %s"
 
-#: src/lang.c:84
+#: src/lang.c:86
 #, fuzzy, c-format
 msgid "charset %s"
 msgstr "teckenuppsÃ¤ttning %s"
 
-#: src/lang.c:85
+#: src/lang.c:87
 #, c-format
 msgid "content subtype %s"
 msgstr ""
 
-#: src/lang.c:86
+#: src/lang.c:88
 #, c-format
 msgid "content type %s"
 msgstr ""
 
-#: src/lang.c:87
+#: src/lang.c:89
 #, c-format
 msgid "%*s[-- charset %s not supported --]\n"
 msgstr ""
 
-#: src/lang.c:88
+#: src/lang.c:90
 #, c-format
 msgid "%*s[-- Description: %s --]\n"
 msgstr "%*s[-- Beskrivning: %s --]\n"
 
-#: src/lang.c:89
+#: src/lang.c:91
 #, fuzzy, c-format
 msgid "encoding %s"
 msgstr "Ã–ppnar %s"
 
-#: src/lang.c:95
+#: src/lang.c:97
 #, fuzzy, c-format
 msgid "lang %s"
 msgstr "LÃ¤ser om %s..."
 
-#: src/lang.c:96
+#: src/lang.c:98
 #, c-format
 msgid "%s lines"
 msgstr ""
 
-#: src/lang.c:97
+#: src/lang.c:99
 #, fuzzy, c-format
 msgid "name %s"
 msgstr "namn %s"
 
-#: src/lang.c:98
+#: src/lang.c:100
 msgid ", "
 msgstr ", "
 
-#: src/lang.c:99
+#: src/lang.c:101
 #, c-format
 msgid "size %s"
 msgstr ""
 
-#: src/lang.c:100
+#: src/lang.c:102
 msgid ""
 "This message has been composed in the 'multipart/mixed' MIME-format. If you\n"
 "are reading this prefix, your mail reader probably has not yet been "
@@ -227,665 +232,679 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:104
+#: src/lang.c:106
 msgid "Attachment Menu"
 msgstr ""
 
-#: src/lang.c:105
+#: src/lang.c:107
 #, fuzzy
 msgid "Attachment Menu Commands"
 msgstr "ToppnivÃ¥kommandon"
 
-#: src/lang.c:106
+#: src/lang.c:108
 #, fuzzy
 msgid "<no name>"
 msgstr "ingen"
 
-#: src/lang.c:107
+#: src/lang.c:109
 #, c-format
 msgid "Attachment saved successfully. (%s)"
 msgstr ""
 
-#: src/lang.c:108
+#: src/lang.c:110
 #, c-format
 msgid "%d of %d attachments saved successfully."
 msgstr ""
 
-#: src/lang.c:109
+#: src/lang.c:111
 #, fuzzy
 msgid "Select attachment> "
 msgstr "VÃ¤lj artikel> "
 
-#: src/lang.c:110
+#: src/lang.c:112
 #, fuzzy
 msgid "Tagged attachment"
 msgstr "VÃ¤lj artikel> "
 
-#: src/lang.c:111
+#: src/lang.c:113
 #, fuzzy, c-format
 msgid "%d attachments tagged"
 msgstr "VÃ¤lj artikel> "
 
-#: src/lang.c:112
+#: src/lang.c:114
 #, fuzzy
 msgid "Untagged attachment"
 msgstr "VÃ¤lj artikel> "
 
-#: src/lang.c:115
+#: src/lang.c:117
 msgid ""
 "# Do not edit this comment block\n"
 "#\n"
 msgstr ""
 
-#: src/lang.c:116
+#: src/lang.c:118
 msgid "#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr ""
 
-#: src/lang.c:117
+#: src/lang.c:119
 msgid "#  add_posted_to_filter=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:118
+#: src/lang.c:120
 msgid "#  advertising=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:119
+#: src/lang.c:121
 msgid "#  alternative_handling=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:120
+#: src/lang.c:122
 msgid "#  ask_for_metamail=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:121
+#: src/lang.c:123
 msgid "#  auto_cc_bcc=NUM\n"
 msgstr ""
 
-#: src/lang.c:122
+#: src/lang.c:124
 msgid "#    0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n"
 msgstr ""
 
-#: src/lang.c:123
+#: src/lang.c:125
 msgid "#  auto_list_thread=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:124
+#: src/lang.c:126
 msgid "#  auto_select=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:125
+#: src/lang.c:127
 msgid "#  batch_save=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:126
+#: src/lang.c:128
 msgid "#  date_format=STRING (eg. %a, %d %b %Y %H:%M:%S)\n"
 msgstr ""
 
-#: src/lang.c:127
+#: src/lang.c:129
 msgid "#  delete_tmp_files=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:128
+#: src/lang.c:130
 msgid "#  editor_format=STRING (eg. %E +%N %F)\n"
 msgstr ""
 
-#: src/lang.c:129
+#: src/lang.c:131
 msgid "#  fcc=STRING (eg. =mailbox)\n"
 msgstr ""
 
-#: src/lang.c:130
+#: src/lang.c:132
 msgid "#  followup_to=STRING\n"
 msgstr ""
 
-#: src/lang.c:131
+#: src/lang.c:133
 msgid "#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr ""
 
-#: src/lang.c:132
+#: src/lang.c:134
 msgid "#  group_catchup_on_exit=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:133
+#: src/lang.c:135
 msgid "#  group_format=STRING (eg. %n %m %R %L  %s  %F)\n"
 msgstr ""
 
-#: src/lang.c:134
+#: src/lang.c:136
 msgid "#  mail_8bit_header=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:135
+#: src/lang.c:137
 msgid "#  mail_mime_encoding=supported_encoding"
 msgstr ""
 
-#: src/lang.c:137
+#: src/lang.c:139
 msgid "#  ispell=STRING\n"
 msgstr ""
 
-#: src/lang.c:139
+#: src/lang.c:141
 msgid "#  maildir=STRING (eg. ~/Mail)\n"
 msgstr ""
 
-#: src/lang.c:140
+#: src/lang.c:142
 msgid "#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr ""
 
-#: src/lang.c:141
+#: src/lang.c:143
 msgid "#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr ""
 
-#: src/lang.c:142
+#: src/lang.c:144
 msgid "#  mark_ignore_tags=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:143
+#: src/lang.c:145
 msgid "#  mark_saved_read=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:144
+#: src/lang.c:146
 msgid "#  mime_forward=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:146
+#: src/lang.c:148
 msgid "#  mm_network_charset=supported_charset"
 msgstr ""
 
-#: src/lang.c:147
+#: src/lang.c:149
 msgid "#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr ""
 
-#: src/lang.c:149
+#: src/lang.c:151
+msgid "#  undeclared_cs_guess=ON/OFF (default is OFF)\n"
+msgstr ""
+
+#: src/lang.c:154
 msgid "#  news_headers_to_display=STRING\n"
 msgstr ""
 
-#: src/lang.c:150
+#: src/lang.c:155
 msgid "#  news_headers_to_not_display=STRING\n"
 msgstr ""
 
-#: src/lang.c:151
+#: src/lang.c:156
 msgid "#  news_quote_format=STRING\n"
 msgstr ""
 
-#: src/lang.c:152
+#: src/lang.c:157
 msgid "#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr ""
 
-#: src/lang.c:153
+#: src/lang.c:158
 msgid "#  pos_first_unread=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:154
+#: src/lang.c:159
 msgid "#  post_8bit_header=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:155
+#: src/lang.c:160
 msgid "#  post_mime_encoding=supported_encoding"
 msgstr ""
 
-#: src/lang.c:156
+#: src/lang.c:161
 msgid "#  post_process_type=NUM\n"
 msgstr ""
 
-#: src/lang.c:157
+#: src/lang.c:162
 msgid "#  post_process_view=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:158
+#: src/lang.c:163
 msgid "#  quick_kill_scope=STRING (e.g. talk.*)\n"
 msgstr ""
 
-#: src/lang.c:159
+#: src/lang.c:164
 msgid "#  quick_kill_expire=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:160
+#: src/lang.c:165
 msgid "#  quick_kill_case=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:161
+#: src/lang.c:166
 msgid "#  quick_kill_header=NUM\n"
 msgstr ""
 
-#: src/lang.c:162 src/lang.c:171
+#: src/lang.c:167 src/lang.c:176
 msgid "#    0=Subject: (case sensitive)  1=Subject: (ignore case)\n"
 msgstr ""
 
-#: src/lang.c:163 src/lang.c:172
+#: src/lang.c:168 src/lang.c:177
 msgid "#    2=From: (case sensitive)     3=From: (ignore case)\n"
 msgstr ""
 
-#: src/lang.c:164 src/lang.c:173
+#: src/lang.c:169 src/lang.c:178
 msgid "#    4=Message-ID: & full References: line\n"
 msgstr ""
 
-#: src/lang.c:165 src/lang.c:174
+#: src/lang.c:170 src/lang.c:179
 msgid "#    5=Message-ID: & last References: entry only\n"
 msgstr ""
 
-#: src/lang.c:166 src/lang.c:175
+#: src/lang.c:171 src/lang.c:180
 msgid "#    6=Message-ID: entry only     7=Lines:\n"
 msgstr ""
 
-#: src/lang.c:167
+#: src/lang.c:172
 msgid "#  quick_select_scope=STRING\n"
 msgstr ""
 
-#: src/lang.c:168
+#: src/lang.c:173
 msgid "#  quick_select_expire=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:169
+#: src/lang.c:174
 msgid "#  quick_select_case=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:170
+#: src/lang.c:175
 msgid "#  quick_select_header=NUM\n"
 msgstr ""
 
-#: src/lang.c:176
+#: src/lang.c:181
 msgid "#  quote_chars=STRING (%I for initials)\n"
 msgstr ""
 
-#: src/lang.c:178
+#: src/lang.c:183
 msgid "#  print_header=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:180
+#: src/lang.c:185
 msgid "#  process_only_unread=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:181
+#: src/lang.c:186
 msgid "#  prompt_followupto=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:182
+#: src/lang.c:187
 msgid "#  savedir=STRING (eg. ~user/News)\n"
 msgstr ""
 
-#: src/lang.c:183
+#: src/lang.c:188
 msgid "#  savefile=STRING (eg. =linux)\n"
 msgstr ""
 
-#: src/lang.c:184
+#: src/lang.c:189
 msgid "#  sigfile=STRING (eg. $var/sig)\n"
 msgstr ""
 
-#: src/lang.c:185
+#: src/lang.c:190
 msgid "#  show_author=NUM\n"
 msgstr ""
 
-#: src/lang.c:186
+#: src/lang.c:191
 msgid "#  show_signatures=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:187
+#: src/lang.c:192
 msgid "#  show_art_score=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:189
+#: src/lang.c:194
 msgid "#  suppress_soft_hyphens=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:191
+#: src/lang.c:196
 msgid "#  show_only_unread_arts=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:192
+#: src/lang.c:197
 msgid "#  sigdashes=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:193
+#: src/lang.c:198
 msgid "#  signature_repost=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:194
+#: src/lang.c:199
 msgid "#  sort_article_type=NUM\n"
 msgstr ""
 
-#: src/lang.c:195
+#: src/lang.c:200
 msgid "#  sort_threads_type=NUM\n"
 msgstr ""
 
-#: src/lang.c:196
+#: src/lang.c:201
 msgid "#  tex2iso_conv=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:197
+#: src/lang.c:202
 msgid "#  thread_catchup_on_exit=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:198
+#: src/lang.c:203
 msgid "#  thread_articles=NUM"
 msgstr ""
 
-#: src/lang.c:199
+#: src/lang.c:204
 msgid "#  thread_format=STRING (eg. %n %m [%L]  %T  %F)\n"
 msgstr ""
 
-#: src/lang.c:200
+#: src/lang.c:205
 msgid "#  thread_perc=NUM\n"
 msgstr ""
 
-#: src/lang.c:201
+#: src/lang.c:206
 msgid "#  trim_article_body=NUM\n"
 msgstr ""
 
-#: src/lang.c:202
+#: src/lang.c:207
 msgid "#    0 = Don't trim article body\n"
 msgstr ""
 
-#: src/lang.c:203
+#: src/lang.c:208
 msgid "#    1 = Skip leading blank lines\n"
 msgstr ""
 
-#: src/lang.c:204
+#: src/lang.c:209
 msgid "#    2 = Skip trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:205
+#: src/lang.c:210
 msgid "#    3 = Skip leading and trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:206
+#: src/lang.c:211
 msgid "#    4 = Compact multiple blank lines between text blocks\n"
 msgstr ""
 
-#: src/lang.c:207
+#: src/lang.c:212
 msgid ""
 "#    5 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading blank lines\n"
 msgstr ""
 
-#: src/lang.c:208
+#: src/lang.c:213
 msgid ""
 "#    6 = Compact multiple blank lines between text blocks and skip\n"
 "#        trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:209
+#: src/lang.c:214
 msgid ""
 "#    7 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading and trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:210
+#: src/lang.c:215
 msgid "#  verbatim_handling=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:212
+#: src/lang.c:217
 msgid "#  extquote_handling=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:214
+#: src/lang.c:219
 msgid "#  wrap_on_next_unread=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:215
+#: src/lang.c:220
 msgid "#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr ""
 
-#: src/lang.c:216
+#: src/lang.c:221
 msgid "#  x_comment_to=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:217
+#: src/lang.c:222
 msgid "#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr ""
 
-#: src/lang.c:218
+#: src/lang.c:223
 msgid ""
 "#\n"
 "# Note that it is best to put general (global scoping)\n"
 msgstr ""
 
-#: src/lang.c:219
+#: src/lang.c:224
 msgid ""
 "# entries first followed by group specific entries.\n"
 "#\n"
 msgstr ""
 
-#: src/lang.c:220
+#: src/lang.c:225
 msgid "############################################################################\n"
 msgstr ""
 
-#: src/lang.c:221
+#: src/lang.c:226
 msgid "Attributes Menu Commands"
 msgstr ""
 
-#: src/lang.c:222
+#: src/lang.c:227
 #, c-format
 msgid "attribute with no scope: %s"
 msgstr ""
 
-#: src/lang.c:224
+#: src/lang.c:229
 #, c-format
 msgid "%d Authentication failed"
 msgstr "%d Autentisering misslyckades"
 
-#: src/lang.c:225
+#: src/lang.c:230
 #, c-format
 msgid "NNTP authorization password not found for %s"
 msgstr ""
 
-#: src/lang.c:226
+#: src/lang.c:231
 msgid "Server expects authentication.\n"
 msgstr ""
 
-#: src/lang.c:227
+#: src/lang.c:232
 msgid "    Please enter password: "
 msgstr "    Ange lÃ¶senord: "
 
-#: src/lang.c:228
+#: src/lang.c:233
 msgid "    Please enter username: "
 msgstr "    VÃ¤nligen ange anvÃ¤ndarnamn: "
 
-#: src/lang.c:229
+#: src/lang.c:234
 #, c-format
 msgid "Authorized for user: %s\n"
 msgstr ""
 
-#: src/lang.c:230
+#: src/lang.c:235
 #, c-format
 msgid "Authorization failed for user: %s\n"
 msgstr ""
 
-#: src/lang.c:232
+#: src/lang.c:236
+msgid "No supported authorization method available in current state!\n"
+msgstr ""
+
+#: src/lang.c:238
 #, c-format
 msgid "Author search backwards [%s]> "
 msgstr ""
 
-#: src/lang.c:233
+#: src/lang.c:239
 #, c-format
 msgid "Author search forwards [%s]> "
 msgstr ""
 
-#: src/lang.c:234
+#: src/lang.c:240
 #, c-format
 msgid ""
 "\n"
 "Autosubscribed to %s"
 msgstr ""
 
-#: src/lang.c:235
+#: src/lang.c:241
 msgid "Autosubscribing groups...\n"
 msgstr ""
 
-#: src/lang.c:236
+#: src/lang.c:242
 #, c-format
 msgid "Autoselecting articles (use '%s' to see all unread) ..."
 msgstr ""
 
-#: src/lang.c:238
+#: src/lang.c:244
 #, c-format
 msgid ""
 "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 msgstr ""
 
-#: src/lang.c:239
+#: src/lang.c:246
 #, c-format
 msgid "Unrecognized attribute: %s"
 msgstr ""
 
-#: src/lang.c:240
+#: src/lang.c:248
 #, c-format
 msgid "Bad command. Type '%s' for help."
 msgstr "Felaktigt kommando. Skriv \"%s\" fÃ¶r hjÃ¤lp."
 
-#: src/lang.c:242
+#: src/lang.c:249
 msgid "Base article"
 msgstr ""
 
-#: src/lang.c:243
+#: src/lang.c:250
 msgid "Base article range"
 msgstr ""
 
-#: src/lang.c:244
+#: src/lang.c:251
 #, c-format
 msgid "%s: Updating of index files not supported: cache_overview_files=%s"
 msgstr ""
 
-#: src/lang.c:245
+#: src/lang.c:252
 msgid "*** Beginning of article ***"
 msgstr "*** BÃ¶rjan av artikel ***"
 
-#: src/lang.c:246
+#: src/lang.c:253
 #, fuzzy
 msgid "*** Beginning of page ***"
 msgstr "*** BÃ¶rjan av artikel ***"
 
-#: src/lang.c:248
-msgid "bytes"
-msgstr "byte"
-
-#: src/lang.c:251
+#: src/lang.c:255
 #, c-format
 msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr ""
 
-#: src/lang.c:252
+#: src/lang.c:256
 msgid "Cancelling article..."
 msgstr ""
 
-#: src/lang.c:254
+#: src/lang.c:258
 #, c-format
 msgid "Cannot create %s"
 msgstr "Kan inte skapa %s"
 
-#: src/lang.c:257
+#: src/lang.c:261
 #, c-format
 msgid "Can't find base article %d"
 msgstr ""
 
-#: src/lang.c:259
+#: src/lang.c:263
 #, c-format
 msgid "Can't open %s"
 msgstr "Kan inte Ã¶ppna %s"
 
-#: src/lang.c:260
+#: src/lang.c:264
 #, c-format
 msgid "Couldn't open %s for saving"
 msgstr ""
 
-#: src/lang.c:261
+#: src/lang.c:265
 msgid "*** Posting not allowed ***"
 msgstr "*** Postning inte tillÃ¥ten ***"
 
-#: src/lang.c:262
+#: src/lang.c:266
 #, c-format
 msgid "Posting is not allowed to %s"
 msgstr ""
 
-#: src/lang.c:264
+#: src/lang.c:268
 #, c-format
 msgid "Can't retrieve %s"
 msgstr ""
 
-#: src/lang.c:266
+#: src/lang.c:270
 msgid "Can't supersede in mailgroups, try repost instead."
 msgstr ""
 
-#: src/lang.c:267
+#: src/lang.c:271
 #, c-format
 msgid "%s is a directory"
 msgstr "%s Ã¤r en katalog"
 
-#: src/lang.c:268
+#: src/lang.c:272
 msgid "Catchup"
 msgstr ""
 
-#: src/lang.c:269
+#: src/lang.c:273
 #, c-format
 msgid "Catchup %s..."
 msgstr ""
 
-#: src/lang.c:270
+#: src/lang.c:274
 msgid "Catchup all groups entered during this session?"
 msgstr ""
 
-#: src/lang.c:271
+#: src/lang.c:275
 msgid "You have tagged articles in this group - catchup anyway?"
 msgstr ""
 
-#: src/lang.c:272
+#: src/lang.c:276
 #, c-format
 msgid "%s %d %s in %lu seconds\n"
 msgstr ""
 
-#: src/lang.c:273
+#: src/lang.c:277
 msgid "Caughtup"
 msgstr ""
 
-#: src/lang.c:274
+#: src/lang.c:278
 msgid "Check Prepared Article"
 msgstr ""
 
-#: src/lang.c:275
+#: src/lang.c:279
 msgid "Checking for new groups... "
 msgstr "Letar efter nya grupper..."
 
-#: src/lang.c:276
+#: src/lang.c:280
 #, fuzzy
 msgid "Checking for news...\n"
 msgstr "Letar efter nya grupper..."
 
-#: src/lang.c:277
+#: src/lang.c:281
 #, c-format
 msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr ""
 
-#: src/lang.c:279
+#: src/lang.c:283
 msgid "ANSI color disabled"
 msgstr ""
 
-#: src/lang.c:280
+#: src/lang.c:284
 msgid "ANSI color enabled"
 msgstr ""
 
-#: src/lang.c:282
+#: src/lang.c:286
 #, c-format
 msgid "Command failed: %s"
 msgstr "Kommando misslyckades: %s"
 
-#: src/lang.c:284
+#: src/lang.c:288
 msgid "Mark not selected articles read?"
 msgstr ""
 
-#: src/lang.c:285
+#: src/lang.c:289
 #, fuzzy
 msgid "Connection Info"
 msgstr ""
 "\n"
 "Anslutning till %s: "
 
-#: src/lang.c:286
+#: src/lang.c:290
 msgid "Reading from local spool.\n"
 msgstr ""
 
-#: src/lang.c:287
+#: src/lang.c:291
 #, fuzzy
 msgid "Reading saved news.\n"
 msgstr "LÃ¤ser om %s..."
 
-#: src/lang.c:295
+#: src/lang.c:292
+#, fuzzy
+msgid ""
+"\n"
+"Configuration files:\n"
+"--------------------\n"
+msgstr ""
+"Visa egenskaper\n"
+"---------------"
+
+#: src/lang.c:300
 #, fuzzy
 msgid ""
 "\n"
@@ -895,11 +914,11 @@ msgstr ""
 "Visa egenskaper\n"
 "---------------"
 
-#: src/lang.c:300
+#: src/lang.c:305
 msgid "COMPRESS      :"
 msgstr ""
 
-#: src/lang.c:301
+#: src/lang.c:306
 #, fuzzy
 msgid ""
 "\n"
@@ -909,82 +928,87 @@ msgstr ""
 "Visa egenskaper\n"
 "---------------"
 
-#: src/lang.c:303
+#: src/lang.c:308
 #, c-format
 msgid " DEFLATE %s\n"
 msgstr ""
 
-#: src/lang.c:304
+#: src/lang.c:309
 msgid "(enabled)"
 msgstr ""
 
-#: src/lang.c:305
+#: src/lang.c:310
 msgid "(inactive)"
 msgstr ""
 
-#: src/lang.c:307
+#: src/lang.c:312
 msgid " DEFLATE (not supported)\n"
 msgstr ""
 
-#: src/lang.c:310
+#: src/lang.c:315
 msgid "(disabled)"
 msgstr ""
 
-#: src/lang.c:311
+#: src/lang.c:316
 #, c-format
 msgid "NNTP TIMEOUT  : %d seconds %s\n"
 msgstr ""
 
-#: src/lang.c:313
+#: src/lang.c:318
 #, c-format
 msgid "IMPLEMENTATION: %s\n"
 msgstr ""
 
-#: src/lang.c:315
+#: src/lang.c:320
 #, c-format
 msgid "MAXARTNUM     : %s\n"
 msgstr ""
 
-#: src/lang.c:317
+#: src/lang.c:322
 #, fuzzy, c-format
 msgid "Reading via NNTP (%s).\n"
 msgstr "LÃ¤ser om %s..."
 
-#: src/lang.c:318
+#: src/lang.c:323
 #, c-format
 msgid "NNTPPORT      : %u\n"
 msgstr ""
 
-#: src/lang.c:319
+#: src/lang.c:324
 #, fuzzy
 msgid "read only"
 msgstr "olÃ¤st "
 
-#: src/lang.c:320
+#: src/lang.c:325
 msgid "read/write"
 msgstr ""
 
-#: src/lang.c:321
+#: src/lang.c:326
 #, c-format
 msgid "NNTPSERVER    : %s\n"
 msgstr ""
 
-#: src/lang.c:323
+#: src/lang.c:327
+#, c-format
+msgid "CONNECTIONTYPE: %s\n"
+msgstr ""
+
+#: src/lang.c:329
 #, c-format
 msgid "Reading %s via NNTPS (%s; "
 msgstr ""
 
-#: src/lang.c:325
+#: src/lang.c:330
 #, fuzzy, c-format
 msgid "Certificate #%d\n"
 msgstr "redigera filterfil"
 
-#: src/lang.c:327
+#: src/lang.c:332
 #, c-format
 msgid "Issuer : %s\n"
 msgstr ""
 
-#: src/lang.c:328
+#: src/lang.c:333
 #, fuzzy
 msgid ""
 "\n"
@@ -994,12 +1018,12 @@ msgstr ""
 "Operationer fÃ¶r grupp/trÃ¥d/artikel\n"
 "----------------------------------"
 
-#: src/lang.c:329
+#: src/lang.c:334
 #, fuzzy, c-format
 msgid "Subject: %s\n"
 msgstr "Ã„mne"
 
-#: src/lang.c:330
+#: src/lang.c:335
 #, fuzzy
 msgid ""
 "\n"
@@ -1009,349 +1033,383 @@ msgstr ""
 "Visa egenskaper\n"
 "---------------"
 
-#: src/lang.c:333
+#: src/lang.c:336
+msgid "trusted"
+msgstr ""
+
+#: src/lang.c:337
+msgid "untrusted"
+msgstr ""
+
+#: src/lang.c:339
 msgid "UNEXPECTED, possible BUG"
 msgstr ""
 
-#: src/lang.c:334
+#: src/lang.c:340
 msgid "tolerated as \"-k\" (insecure) requested"
 msgstr ""
 
-#: src/lang.c:335
+#: src/lang.c:341
 #, c-format
 msgid ""
 "Server certificate verification FAILED:\n"
 "\t%s (%s)\n"
 msgstr ""
 
-#: src/lang.c:336
+#: src/lang.c:342
 msgid "Server certificate verified successfully.\n"
 msgstr ""
 
-#: src/lang.c:338
-msgid "trusted"
-msgstr ""
-
-#: src/lang.c:339
-msgid "untrusted"
-msgstr ""
-
-#: src/lang.c:342
+#: src/lang.c:346
 msgid "Server certificate verification FAILED: <can't get reason>\n"
 msgstr ""
 
-#: src/lang.c:346
+#: src/lang.c:350
 #, c-format
 msgid "%s %s (strength %d)\n"
 msgstr ""
 
-#: src/lang.c:353
+#: src/lang.c:357
 #, fuzzy, c-format
 msgid "Cook article failed, %s is exiting"
 msgstr "skÃ¤rm Ã¤r fÃ¶r liten, %s avslutas\n"
 
-#: src/lang.c:354
+#: src/lang.c:358
 msgid "<CR>"
 msgstr ""
 
-#: src/lang.c:355
+#: src/lang.c:359
 msgid "Creating active file for saved groups...\n"
 msgstr ""
 
-#: src/lang.c:356
-msgid "Creating newsrc file...\n"
-msgstr ""
+#: src/lang.c:360
+#, fuzzy, c-format
+msgid "Creating %s file...\n"
+msgstr "LÃ¤ser %skonfigurationsfil...\n"
 
-#: src/lang.c:358 src/lang.c:1666 src/lang.c:1686
+#: src/lang.c:362 src/lang.c:1715 src/lang.c:1735
 msgid "Default"
 msgstr "FÃ¶rvald"
 
-#: src/lang.c:359
+#: src/lang.c:363
 msgid "Delete saved files that have been post processed?"
 msgstr ""
 
-#: src/lang.c:360
+#: src/lang.c:364
 msgid "Deleting temporary files..."
 msgstr ""
 
-#: src/lang.c:362
+#: src/lang.c:366
 msgid "*** End of article ***"
 msgstr "*** Slut pÃ¥ artikel ***"
 
-#: src/lang.c:363
+#: src/lang.c:367
 msgid "*** End of articles ***"
 msgstr "*** Slut pÃ¥ artiklar ***"
 
-#: src/lang.c:364
+#: src/lang.c:368
 #, fuzzy
 msgid "*** End of attachments ***"
 msgstr "*** Slut pÃ¥ artiklar ***"
 
-#: src/lang.c:365
+#: src/lang.c:369
 msgid "*** End of groups ***"
 msgstr "*** Slut pÃ¥ grupper ***"
 
-#: src/lang.c:366
+#: src/lang.c:370
 #, fuzzy
 msgid "*** End of page ***"
 msgstr "*** Slut pÃ¥ artikel ***"
 
-#: src/lang.c:367
+#: src/lang.c:371
 #, fuzzy
 msgid "*** End of posted articles ***"
 msgstr "*** Slut pÃ¥ artiklar ***"
 
-#: src/lang.c:368
+#: src/lang.c:372
 #, fuzzy
 msgid "*** End of scopes ***"
 msgstr "*** Slut pÃ¥ grupper ***"
 
-#: src/lang.c:369
+#: src/lang.c:373
 msgid "*** End of thread ***"
 msgstr "*** Slut pÃ¥ trÃ¥d ***"
 
-#: src/lang.c:370
+#: src/lang.c:374
 #, fuzzy
 msgid "*** End of URLs ***"
 msgstr "*** Slut pÃ¥ grupper ***"
 
-#: src/lang.c:371
+#: src/lang.c:375
 msgid "Enter limit of articles to get> "
 msgstr ""
 
-#: src/lang.c:372
+#: src/lang.c:376
 msgid "Enter Message-ID to go to> "
 msgstr ""
 
-#: src/lang.c:373
+#: src/lang.c:377
 msgid " and enter next unread thread"
 msgstr ""
 
-#: src/lang.c:374
+#: src/lang.c:378
 #, fuzzy
 msgid " and enter next unread article"
 msgstr "Slut pÃ¥ olÃ¤sta artiklar"
 
-#: src/lang.c:375
+#: src/lang.c:379
 msgid " and enter next unread group"
 msgstr ""
 
-#: src/lang.c:376
+#: src/lang.c:380
 msgid "Enter option number> "
 msgstr ""
 
-#: src/lang.c:377
+#: src/lang.c:381
 #, c-format
 msgid "Enter range [%s]> "
 msgstr ""
 
-#: src/lang.c:378
-msgid ""
-"\n"
-"Warning: Approved: header used.\n"
-msgstr ""
-
 #: src/lang.c:382
-msgid ""
-"\n"
-"Error: Bad address in Approved: header.\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "Error: Could not appended %s to %s"
+msgstr "Fel: byt namn pÃ¥ %s till %s"
 
 #: src/lang.c:383
 msgid ""
 "\n"
-"Error: Bad address in From: header.\n"
+"Warning: Approved: header used.\n"
 msgstr ""
 
 #: src/lang.c:384
-msgid ""
-"\n"
-"Error: Bad FQDN in Message-ID: header.\n"
+#, c-format
+msgid "  Line %d: \"%s\": given string too long.\n"
 msgstr ""
 
 #: src/lang.c:385
+#, c-format
+msgid "  Line %d: \"%s\": unrecognized attribute.\n"
+msgstr ""
+
+#: src/lang.c:386
+#, c-format
+msgid "  Line %d: \"%s\": malformed line, '=' missing.\n"
+msgstr ""
+
+#: src/lang.c:390
+#, c-format
 msgid ""
 "\n"
-"Error: Bad address in Reply-To: header.\n"
+"Error: Bad address in \"%s\" header.\n"
 msgstr ""
 
-#: src/lang.c:386
+#: src/lang.c:391
 msgid ""
 "\n"
-"Error: Bad address in To: header.\n"
+"Error: Bad FQDN in Message-ID: header.\n"
 msgstr ""
 
-#: src/lang.c:388
+#: src/lang.c:393
+#, fuzzy, c-format
+msgid "Can't use literal IPv%d-address %s with TLS (-T)"
+msgstr "Ingen e-postadress"
+
+#: src/lang.c:396
 #, c-format
 msgid "Can't unlock %s"
 msgstr "Kan inte lÃ¥sa upp %s"
 
-#: src/lang.c:389
+#: src/lang.c:397
 #, c-format
 msgid "Couldn't dotlock %s - article not appended!"
 msgstr ""
 
-#: src/lang.c:390
+#: src/lang.c:398
 #, c-format
 msgid "Couldn't lock %s - article not appended!"
 msgstr ""
 
-#: src/lang.c:393
+#: src/lang.c:401
 #, c-format
 msgid ""
 "Server requires authentication but compression (-C) is already active.\n"
 "Restart %s with -A cmd.-line switch in conjunction with -C.\n"
 msgstr ""
 
-#: src/lang.c:396
+#: src/lang.c:404
 #, c-format
 msgid "Corrupted file %s"
 msgstr "Skadad fil %s"
 
-#: src/lang.c:397
+#: src/lang.c:406
 #, c-format
 msgid "couldn't expand %s\n"
 msgstr ""
 
-#: src/lang.c:399
+#: src/lang.c:408
+#, c-format
+msgid "Error: Custom format empty. Using default \"%s\"."
+msgstr ""
+
+#: src/lang.c:409
+msgid ""
+"\n"
+"Error: Article is empty.\n"
+msgstr ""
+
+#: src/lang.c:411
 msgid ""
 "\n"
 "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n"
 msgstr ""
 
-#: src/lang.c:400
+#: src/lang.c:412
 #, c-format
 msgid "Error: Custom format exceeds screen width. Using default \"%s\"."
 msgstr ""
 
-#: src/lang.c:401
+#: src/lang.c:413
 msgid "Internal error in GNKSA routine - send bug report.\n"
 msgstr ""
 
-#: src/lang.c:402
+#: src/lang.c:414
 msgid "Left angle bracket missing in route address.\n"
 msgstr ""
 
-#: src/lang.c:403
+#: src/lang.c:415
 msgid "Left parenthesis missing in old-style address.\n"
 msgstr ""
 
-#: src/lang.c:404
+#: src/lang.c:416
 msgid "Right parenthesis missing in old-style address.\n"
 msgstr ""
 
-#: src/lang.c:405
+#: src/lang.c:417
 msgid "At-sign missing in mail address.\n"
 msgstr ""
 
-#: src/lang.c:406
+#: src/lang.c:418
+msgid "Right angle bracket missing in route address.\n"
+msgstr ""
+
+#: src/lang.c:419
 msgid "Single component FQDN is not allowed. Add your domain.\n"
 msgstr ""
 
-#: src/lang.c:407
+#: src/lang.c:420
 msgid ""
 "Invalid domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
 msgstr ""
 
-#: src/lang.c:408
+#: src/lang.c:421
 msgid ""
 "Illegal domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
 msgstr ""
 
-#: src/lang.c:409
+#: src/lang.c:422
 msgid ""
 "Unknown domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
 msgstr ""
 
-#: src/lang.c:410
+#: src/lang.c:423
 msgid "Illegal character in FQDN.\n"
 msgstr ""
 
-#: src/lang.c:411
+#: src/lang.c:424
 msgid "Zero length FQDN component not allowed.\n"
 msgstr ""
 
-#: src/lang.c:412
+#: src/lang.c:425
 msgid "FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr ""
 
-#: src/lang.c:413
+#: src/lang.c:426
 msgid "FQDN component may not start or end with hyphen.\n"
 msgstr ""
 
-#: src/lang.c:414
+#: src/lang.c:427
 msgid "FQDN component may not start with digit.\n"
 msgstr ""
 
-#: src/lang.c:415
+#: src/lang.c:428
 msgid "Domain literal has impossible numeric value.\n"
 msgstr ""
 
-#: src/lang.c:416
+#: src/lang.c:429
 msgid ""
 "Domain literal is for private use only and not allowed for global use.\n"
 msgstr ""
 
-#: src/lang.c:417
+#: src/lang.c:430
 msgid "Right bracket missing in domain literal.\n"
 msgstr ""
 
-#: src/lang.c:418
+#: src/lang.c:431
 msgid "Missing localpart of mail address.\n"
 msgstr ""
 
-#: src/lang.c:419
+#: src/lang.c:432
 msgid "Illegal character in localpart of mail address.\n"
 msgstr ""
 
-#: src/lang.c:420
+#: src/lang.c:433
 msgid "Zero length localpart component not allowed.\n"
 msgstr ""
 
-#: src/lang.c:421
+#: src/lang.c:434
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
 msgstr ""
 
-#: src/lang.c:422
+#: src/lang.c:435
 msgid ""
 "Illegal character in realname.\n"
 "Quoted words may not contain '()<>\\'.\n"
 msgstr ""
 
-#: src/lang.c:423
+#: src/lang.c:436
 msgid ""
 "Illegal character in realname.\n"
 "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
 msgstr ""
 
-#: src/lang.c:424
+#: src/lang.c:437
 msgid "Bad syntax in encoded word used in realname.\n"
 msgstr ""
 
-#: src/lang.c:425
+#: src/lang.c:438
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '()<>\\' in old-style addresses.\n"
 msgstr ""
 
-#: src/lang.c:426
+#: src/lang.c:439
 msgid ""
 "Illegal character in realname.\n"
 "Control characters and unencoded 8bit characters > 127 are not allowed.\n"
 msgstr ""
 
-#: src/lang.c:427
+#: src/lang.c:440
+msgid "Missing realname.\n"
+msgstr ""
+
+#: src/lang.c:441
 msgid ""
 "\n"
 "Error: No blank line found after header.\n"
 msgstr ""
 
-#: src/lang.c:428
+#: src/lang.c:442
+msgid ""
+"\n"
+"Error: Illegal Distribution \"all\" used.\n"
+msgstr ""
+
+#: src/lang.c:443
 #, c-format
 msgid ""
 "\n"
@@ -1359,7 +1417,7 @@ msgid ""
 msgstr ""
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:430
+#: src/lang.c:445
 msgid ""
 "\n"
 "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
@@ -1368,7 +1426,7 @@ msgid ""
 "       editing tinrc.\n"
 msgstr ""
 
-#: src/lang.c:435
+#: src/lang.c:450
 msgid ""
 "\n"
 "Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
@@ -1378,13 +1436,13 @@ msgid ""
 "       using the M)enu of configurable options or by editing tinrc.\n"
 msgstr ""
 
-#: src/lang.c:441
+#: src/lang.c:456
 msgid ""
 "\n"
 "Error: Article starts with blank line instead of header\n"
 msgstr ""
 
-#: src/lang.c:442
+#: src/lang.c:457
 #, c-format
 msgid ""
 "\n"
@@ -1392,28 +1450,28 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/lang.c:443
+#: src/lang.c:458
 #, c-format
 msgid ""
 "\n"
 "Error: The \"%s:\" line is empty.\n"
 msgstr ""
 
-#: src/lang.c:444
+#: src/lang.c:459
 #, c-format
 msgid ""
 "\n"
 "Error: The \"%s:\" line is missing from the article header.\n"
 msgstr ""
 
-#: src/lang.c:445
+#: src/lang.c:460
 #, c-format
 msgid ""
 "\n"
 "Error: %s contains non 7bit chars.\n"
 msgstr ""
 
-#: src/lang.c:446
+#: src/lang.c:461
 #, c-format
 msgid ""
 "\n"
@@ -1421,14 +1479,14 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/lang.c:447
+#: src/lang.c:462
 #, c-format
 msgid ""
 "\n"
 "Error: There are multiple (%d) \"%s:\" lines in the header.\n"
 msgstr ""
 
-#: src/lang.c:448
+#: src/lang.c:463
 #, c-format
 msgid ""
 "\n"
@@ -1436,140 +1494,156 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/lang.c:450
+#: src/lang.c:464
+msgid ""
+"\n"
+"Error: This is a mailgroup, but a recipient (\"To:\") is missing.\n"
+msgstr ""
+
+#: src/lang.c:465
+#, c-format
+msgid "Mixed up '-f'/'-F'? %s %s"
+msgstr ""
+
+#: src/lang.c:467
 #, c-format
 msgid "Insecure permissions of %s (%o)"
 msgstr ""
 
-#: src/lang.c:453
+#: src/lang.c:470
 #, c-format
 msgid "Line %d is longer than %d octets and should be folded.\n"
 msgstr ""
 
-#: src/lang.c:455
+#: src/lang.c:472
 #, c-format
 msgid "Line %d is longer than %d octets and should be shortened.\n"
 msgstr ""
 
-#: src/lang.c:461
+#: src/lang.c:477
 #, c-format
-msgid "MIME parse error: Unexpected end of %s/%s article"
+msgid "MIME parse error: Unexpected end of %s/%s article\n"
 msgstr ""
 
-#: src/lang.c:462
-msgid "MIME parse error: Start boundary whilst reading headers"
+#: src/lang.c:478
+msgid "MIME parse error: Start boundary whilst reading headers\n"
 msgstr ""
 
-#: src/lang.c:464
+#: src/lang.c:479
 msgid ""
 "\n"
 "Error: \"poster\" is not allowed in Newsgroups!\n"
 msgstr ""
 
-#: src/lang.c:465
+#: src/lang.c:480
 msgid "Can't get a (fully-qualified) domain-name!"
 msgstr ""
 
-#: src/lang.c:466
-#, c-format
-msgid "No permissions to go into %s\n"
-msgstr "Inga rÃ¤ttigheter att gÃ¥ in i %s\n"
-
-#: src/lang.c:468
+#: src/lang.c:482
 msgid ""
 "\n"
 "Error: From: line missing.\n"
 msgstr ""
 
-#: src/lang.c:470
+#: src/lang.c:485
+#, c-format
+msgid "No permissions to go into %s\n"
+msgstr "Inga rÃ¤ttigheter att gÃ¥ in i %s\n"
+
+#: src/lang.c:486
 #, c-format
 msgid "No read permissions for %s\n"
 msgstr "Inga lÃ¤srÃ¤ttigheter fÃ¶r %s\n"
 
-#: src/lang.c:471
+#: src/lang.c:487
 #, c-format
 msgid "File %s does not exist\n"
 msgstr "Filen %s existerar inte\n"
 
-#: src/lang.c:472
+#: src/lang.c:488
 #, c-format
 msgid "No write permissions for %s\n"
 msgstr "Inga skrivrÃ¤ttigheter fÃ¶r %s\n"
 
-#: src/lang.c:473
+#: src/lang.c:490
+#, fuzzy, c-format
+msgid "Not a literal IPv6 address: %s"
+msgstr "Ingen e-postadress"
+
+#: src/lang.c:493
 msgid "Can't get user information (/etc/passwd missing?)"
 msgstr ""
 
-#: src/lang.c:475
+#: src/lang.c:495
 msgid "errors"
 msgstr "fel"
 
-#: src/lang.c:476
+#: src/lang.c:496
 msgid "error"
 msgstr "fel"
 
-#: src/lang.c:479
+#: src/lang.c:499
 #, c-format
 msgid ""
 "\n"
 "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n"
 msgstr ""
 
-#: src/lang.c:481
+#: src/lang.c:501
 #, c-format
 msgid "Server has non of the groups listed in %s"
 msgstr ""
 
-#: src/lang.c:482
+#: src/lang.c:502
 #, c-format
 msgid "Error: unlink %s"
 msgstr ""
 
-#: src/lang.c:483
+#: src/lang.c:503
 msgid "Unknown display level"
 msgstr ""
 
-#: src/lang.c:485
+#: src/lang.c:505
 msgid "Unreachable?\n"
 msgstr "Ej nÃ¥bar?\n"
 
-#: src/lang.c:487
+#: src/lang.c:507
 msgid "<ESC>"
 msgstr "<ESC>"
 
-#: src/lang.c:488
+#: src/lang.c:508
 msgid "Exiting..."
 msgstr "Avslutar..."
 
-#: src/lang.c:489
+#: src/lang.c:509
 msgid "leaving external mail-reader"
 msgstr ""
 
-#: src/lang.c:490
+#: src/lang.c:510
 #, c-format
 msgid "Extracting %s..."
 msgstr "extraherar %s..."
 
-#: src/lang.c:492
+#: src/lang.c:512
 #, c-format
 msgid "Error writing %s file. Filesystem full? File reset to previous state."
 msgstr ""
 
-#: src/lang.c:493
+#: src/lang.c:513
 #, c-format
 msgid "Error making backup of %s file. Filesystem full?"
 msgstr ""
 
-#: src/lang.c:494
+#: src/lang.c:514
 #, c-format
 msgid "Filtering global rules (%d/%d) ('q' to quit)..."
 msgstr ""
 
-#: src/lang.c:495
+#: src/lang.c:515
 msgid "Rule created by: "
 msgstr ""
 
-#: src/lang.c:496
+#: src/lang.c:516
 msgid ""
 "# Format:\n"
 "#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
@@ -1604,933 +1678,938 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:522
+#: src/lang.c:542
 #, c-format
 msgid "Enter score for rule (default=%d): "
 msgstr ""
 
-#: src/lang.c:523
+#: src/lang.c:543
 #, c-format
 msgid "Enter the score weight (range 0 < score <= %d)"
 msgstr ""
 
 #. SCORE_MAX
-#: src/lang.c:524
+#: src/lang.c:544
 msgid "Full"
 msgstr "FullstÃ¤ndig"
 
-#: src/lang.c:525
+#: src/lang.c:545
 msgid "Comment (optional)  : "
 msgstr "Kommentar (valfri)  : "
 
-#: src/lang.c:527
+#: src/lang.c:547
 msgid "Malformed overview entry: servername missing."
 msgstr ""
 
-#: src/lang.c:528
+#: src/lang.c:548
 #, c-format
 msgid "\t Xref: %s"
 msgstr ""
 
-#: src/lang.c:529
+#: src/lang.c:549
 msgid "Skipping Xref filter"
 msgstr ""
 
-#: src/lang.c:531
+#: src/lang.c:551
 msgid "Apply pattern to    : "
 msgstr ""
 
-#: src/lang.c:532
+#: src/lang.c:552
 #, c-format
 msgid "Enter pattern [%s]> "
 msgstr "Ange mÃ¶nster [%s]> "
 
-#: src/lang.c:533
+#: src/lang.c:553
 #, c-format
 msgid ""
 "\n"
 "You requested followups to your article to go to the following %s:\n"
 msgstr ""
 
-#: src/lang.c:534
+#: src/lang.c:554
 #, c-format
 msgid "  %s\t Answers will be directed to you by mail.\n"
 msgstr ""
 
-#: src/lang.c:535
+#: src/lang.c:555
 msgid "-- forwarded message --\n"
 msgstr "-- vidarebefordrat meddelande --\n"
 
-#: src/lang.c:536
+#: src/lang.c:556
 #, fuzzy
 msgid "-- end of forwarded message --\n"
 msgstr "Vidarebefordrat meddelande (slut)\n"
 
-#: src/lang.c:537
+#: src/lang.c:557
 msgid "From: line (ignore case)      "
 msgstr ""
 
-#: src/lang.c:538
+#: src/lang.c:558
 msgid "From: line (case sensitive)   "
 msgstr ""
 
-#: src/lang.c:541
+#: src/lang.c:561
 #, c-format
 msgid "%s%s: Unknown host.\n"
 msgstr "%s%s: OkÃ¤nd vÃ¤rd.\n"
 
-#: src/lang.c:543
+#: src/lang.c:563
 msgid "global "
 msgstr "global "
 
-#: src/lang.c:544
+#: src/lang.c:564
 #, c-format
 msgid "Please use %.100s instead"
 msgstr "VÃ¤nligen anvÃ¤nd %.100s istÃ¤llet"
 
-#: src/lang.c:545
+#: src/lang.c:565
 #, c-format
 msgid "%s is bogus"
 msgstr ""
 
-#: src/lang.c:546
+#: src/lang.c:566
 #, c-format
 msgid "Group %s is moderated. Continue?"
 msgstr "Grupp %s Ã¤r modererad. FortsÃ¤tta?"
 
-#: src/lang.c:547
+#: src/lang.c:567
 msgid "groups"
 msgstr "grupper"
 
-#: src/lang.c:548
+#: src/lang.c:568
 #, c-format
 msgid "Rereading %s..."
 msgstr "LÃ¤ser om %s..."
 
-#: src/lang.c:549
+#: src/lang.c:569
 msgid "Top Level Commands"
 msgstr "ToppnivÃ¥kommandon"
 
-#: src/lang.c:550
+#: src/lang.c:570
 msgid "Group Selection"
 msgstr "Gruppval"
 
-#: src/lang.c:551
+#: src/lang.c:571
 msgid "group"
 msgstr "grupp"
 
-#: src/lang.c:552
+#: src/lang.c:572
 msgid ""
 "*** Group descriptions are disabled according to current select_format ***"
 msgstr ""
 
-#: src/lang.c:554
+#: src/lang.c:574
 msgid ""
 "One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr ""
 
-#: src/lang.c:555
+#: src/lang.c:575
 msgid "From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:556
+#: src/lang.c:576
 msgid ""
 "Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr ""
 
-#: src/lang.c:557
+#: src/lang.c:577
 msgid "Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:558
+#: src/lang.c:578
 msgid "Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:559
+#: src/lang.c:579
 msgid ""
 "Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr ""
 
-#: src/lang.c:560
+#: src/lang.c:580
 msgid ""
 "Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:561
+#: src/lang.c:581
 msgid ""
 "Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:562
+#: src/lang.c:582
 msgid ""
 "Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:563
+#: src/lang.c:583
 msgid ""
 "Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:564
+#: src/lang.c:584
 msgid "kill an article via a menu"
 msgstr ""
 
-#: src/lang.c:565
+#: src/lang.c:585
 msgid "auto-select (hot) an article via a menu"
 msgstr ""
 
-#: src/lang.c:566
+#: src/lang.c:586
 msgid "Browse URLs in article"
 msgstr "BlÃ¤ddra URL:er i artikel"
 
-#: src/lang.c:567
+#: src/lang.c:587
 msgid "0 - 9\t  display article by number in current thread"
 msgstr ""
 
-#: src/lang.c:569
+#: src/lang.c:589
 msgid "cancel (delete) or supersede (overwrite) current article"
 msgstr ""
 
-#: src/lang.c:570
+#: src/lang.c:590
 msgid "post followup to current article"
 msgstr ""
 
-#: src/lang.c:571
+#: src/lang.c:591
 msgid "post followup (don't copy text) to current article"
 msgstr ""
 
-#: src/lang.c:572
+#: src/lang.c:592
 msgid "post followup to current article quoting complete headers"
 msgstr ""
 
-#: src/lang.c:573
+#: src/lang.c:593
 msgid "repost chosen article to another group"
 msgstr ""
 
-#: src/lang.c:575
+#: src/lang.c:595
 msgid "edit article (mail-groups only)"
 msgstr ""
 
-#: src/lang.c:576
+#: src/lang.c:596
 msgid "display first article in current thread"
 msgstr ""
 
-#: src/lang.c:577
+#: src/lang.c:597
 msgid "display first page of article"
 msgstr ""
 
-#: src/lang.c:578
+#: src/lang.c:598
+#, fuzzy
+msgid "show MIME details of this article"
+msgstr "Inga fler URL:er i denna artikel"
+
+#: src/lang.c:599
 msgid "display last article in current thread"
 msgstr ""
 
-#: src/lang.c:579
+#: src/lang.c:600
 msgid "display last page of article"
 msgstr "visa sista sidan av artikel"
 
-#: src/lang.c:580
+#: src/lang.c:601
 msgid "mark rest of thread as read and advance to next unread"
 msgstr ""
 
-#: src/lang.c:581
+#: src/lang.c:602
 msgid "display next article"
 msgstr "visa nÃ¤sta artikel"
 
-#: src/lang.c:582
+#: src/lang.c:603
 msgid "display first article in next thread"
 msgstr "visa fÃ¶rsta artikel i nÃ¤sta trÃ¥d"
 
-#: src/lang.c:583
+#: src/lang.c:604
 msgid "display next unread article"
 msgstr "visa nÃ¤sta olÃ¤sta artikel"
 
-#: src/lang.c:584
+#: src/lang.c:605
 msgid "go to the article that this one followed up"
 msgstr ""
 
-#: src/lang.c:585
+#: src/lang.c:606
 msgid "display previous article"
 msgstr "visa fÃ¶regÃ¥ende artikel"
 
-#: src/lang.c:586
+#: src/lang.c:607
 msgid "display previous unread article"
 msgstr "visa fÃ¶regÃ¥ende olÃ¤sta artikel"
 
-#: src/lang.c:587
+#: src/lang.c:608
 msgid "quickly kill an article using defaults"
 msgstr ""
 
-#: src/lang.c:588
+#: src/lang.c:609
 msgid "quickly auto-select (hot) an article using defaults"
 msgstr ""
 
-#: src/lang.c:589
+#: src/lang.c:610
 msgid "return to group selection level"
 msgstr "Ã¥tergÃ¥ till gruppvalsnivÃ¥"
 
-#: src/lang.c:590
+#: src/lang.c:611
 msgid "reply through mail to author"
 msgstr ""
 
-#: src/lang.c:591
+#: src/lang.c:612
 msgid "reply through mail (don't copy text) to author"
 msgstr ""
 
-#: src/lang.c:592
+#: src/lang.c:613
 msgid "reply through mail to author quoting complete headers"
 msgstr ""
 
-#: src/lang.c:593
+#: src/lang.c:614
 msgid "search backwards within this article"
 msgstr ""
 
-#: src/lang.c:594
+#: src/lang.c:615
 msgid "search forwards within this article"
 msgstr "sÃ¶k framÃ¥t inom denna artikel"
 
-#: src/lang.c:595
+#: src/lang.c:616
 msgid "show article in raw-mode (including all headers)"
 msgstr ""
 
-#: src/lang.c:596
+#: src/lang.c:617
 msgid "skip next block of included text"
 msgstr ""
 
-#: src/lang.c:597
+#: src/lang.c:618
 msgid "toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr ""
 
-#: src/lang.c:598
+#: src/lang.c:619
 #, fuzzy
 msgid "toggle display of all headers"
 msgstr "vÃ¤xla val av trÃ¥d"
 
-#: src/lang.c:599
+#: src/lang.c:620
 msgid "toggle word highlighting on/off"
 msgstr ""
 
-#: src/lang.c:600
+#: src/lang.c:621
 msgid "toggle ROT-13 (basic decode) for current article"
 msgstr ""
 
-#: src/lang.c:601
+#: src/lang.c:622
 msgid "toggle tabwidth 4 <-> 8"
 msgstr ""
 
-#: src/lang.c:602
+#: src/lang.c:623
 msgid "toggle German TeX style decoding for current article"
 msgstr ""
 
-#: src/lang.c:603
+#: src/lang.c:624
 msgid "toggle display of uuencoded sections"
 msgstr ""
 
-#: src/lang.c:604
+#: src/lang.c:625
 msgid "View/pipe/save multimedia attachments"
 msgstr ""
 
-#: src/lang.c:605
+#: src/lang.c:626
 #, fuzzy
 msgid "choose first attachment in list"
 msgstr "vÃ¤lj fÃ¶rsta artikel i lista"
 
-#: src/lang.c:606
+#: src/lang.c:627
 #, fuzzy
 msgid "0 - 9\t  choose attachment by number"
 msgstr "0 - 9\t  vÃ¤lj artikel efter nummer"
 
-#: src/lang.c:607
+#: src/lang.c:628
 #, fuzzy
 msgid "choose last attachment in list"
 msgstr "vÃ¤lj sista artikel i lista"
 
-#: src/lang.c:609
+#: src/lang.c:630
 msgid "pipe attachment into command"
 msgstr ""
 
-#: src/lang.c:610
+#: src/lang.c:631
 #, fuzzy
 msgid "pipe raw attachment into command"
 msgstr "ToppnivÃ¥kommandon"
 
-#: src/lang.c:612
+#: src/lang.c:633
 msgid "save attachment to disk"
 msgstr ""
 
-#: src/lang.c:613
+#: src/lang.c:634
 msgid "search for attachments forwards"
 msgstr ""
 
-#: src/lang.c:614
+#: src/lang.c:635
 #, fuzzy
 msgid "search for attachments backwards"
 msgstr "%s=sÃ¶k framÃ¥t; %s=sÃ¶k bakÃ¥t; %s=avsluta"
 
-#: src/lang.c:615
+#: src/lang.c:636
 msgid "view attachment"
 msgstr ""
 
-#: src/lang.c:616
+#: src/lang.c:637
 #, fuzzy
 msgid "tag attachment"
 msgstr "VÃ¤lj artikel> "
 
-#: src/lang.c:617
+#: src/lang.c:638
 msgid "tag attachments that match user specified pattern"
 msgstr ""
 
-#: src/lang.c:618
+#: src/lang.c:639
 msgid "reverse tagging on all attachments (toggle)"
 msgstr ""
 
-#: src/lang.c:619
+#: src/lang.c:640
 #, fuzzy
 msgid "untag all tagged attachments"
 msgstr "VÃ¤lj artikel> "
 
-#: src/lang.c:620
+#: src/lang.c:641
 msgid "toggle info message in last line (name/description of attachment)"
 msgstr ""
 
-#: src/lang.c:621
+#: src/lang.c:642
 #, fuzzy
 msgid "choose first attribute in list"
 msgstr "vÃ¤lj fÃ¶rsta artikel i lista"
 
-#: src/lang.c:622
+#: src/lang.c:643
 #, fuzzy
 msgid "0 - 9\t  choose attribute by number"
 msgstr "0 - 9\t  vÃ¤lj artikel efter nummer"
 
-#: src/lang.c:623
+#: src/lang.c:644
 #, fuzzy
 msgid "choose last attribute in list"
 msgstr "vÃ¤lj sista artikel i lista"
 
-#: src/lang.c:624
+#: src/lang.c:645
 msgid "reset attribute to a default value"
 msgstr ""
 
-#: src/lang.c:625
+#: src/lang.c:646
 #, fuzzy
-msgid "search forwards for an attribute"
+msgid "search backwards for an attribute"
 msgstr "sÃ¶k framÃ¥t efter ett gruppnamn"
 
-#: src/lang.c:626
+#: src/lang.c:647
 #, fuzzy
-msgid "search backwards for an attribute"
+msgid "search forwards for an attribute"
 msgstr "sÃ¶k framÃ¥t efter ett gruppnamn"
 
-#: src/lang.c:627
+#: src/lang.c:648
 #, fuzzy
 msgid "select attribute"
 msgstr "vÃ¤lj trÃ¥d"
 
-#: src/lang.c:628
+#: src/lang.c:649
 msgid "toggle back to options menu when invoked from there"
 msgstr ""
 
-#: src/lang.c:629
+#: src/lang.c:650
 #, c-format
 msgid "report bug or comment via mail to %s"
 msgstr "rapportera fel eller kommentar via e-post till %s"
 
-#: src/lang.c:630
+#: src/lang.c:651
 #, fuzzy
 msgid "choose first option in list"
 msgstr "vÃ¤lj fÃ¶rsta grupp i lista"
 
-#: src/lang.c:631
+#: src/lang.c:652
 #, fuzzy
 msgid "0 - 9\t  choose option by number"
 msgstr "0 - 9\t  vÃ¤lj grupp efter nummer"
 
-#: src/lang.c:632
+#: src/lang.c:653
 #, fuzzy
 msgid "choose last option in list"
 msgstr "vÃ¤lj sista grupp i lista"
 
-#: src/lang.c:633
+#: src/lang.c:654
 #, fuzzy
 msgid "start scopes menu"
 msgstr "Ã¥tergÃ¥ till fÃ¶regÃ¥ende meny"
 
-#: src/lang.c:634
+#: src/lang.c:655
 #, fuzzy
-msgid "search forwards for an option"
+msgid "search backwards for an option"
 msgstr "sÃ¶k framÃ¥t efter ett gruppnamn"
 
-#: src/lang.c:635
+#: src/lang.c:656
 #, fuzzy
-msgid "search backwards for an option"
+msgid "search forwards for an option"
 msgstr "sÃ¶k framÃ¥t efter ett gruppnamn"
 
-#: src/lang.c:636
+#: src/lang.c:657
 #, fuzzy
 msgid "select option"
 msgstr "vÃ¤lj"
 
-#: src/lang.c:637
+#: src/lang.c:658
 msgid "toggle to attributes menu"
 msgstr ""
 
-#: src/lang.c:638
+#: src/lang.c:659
 msgid "choose range of articles to be affected by next command"
 msgstr ""
 
-#: src/lang.c:639
+#: src/lang.c:660
 msgid "escape from command prompt"
 msgstr ""
 
-#: src/lang.c:640
+#: src/lang.c:661
 msgid "edit filter file"
 msgstr "redigera filterfil"
 
-#: src/lang.c:641
+#: src/lang.c:662
 msgid "get help"
 msgstr "fÃ¥ hjÃ¤lp"
 
-#: src/lang.c:642
+#: src/lang.c:663
 msgid "display last article viewed"
 msgstr ""
 
-#: src/lang.c:643
+#: src/lang.c:664
 msgid "down one line"
 msgstr "en rad ner"
 
-#: src/lang.c:644
+#: src/lang.c:665
 msgid "up one line"
 msgstr "upp en rad"
 
-#: src/lang.c:645
+#: src/lang.c:666
 msgid "go to article chosen by Message-ID"
 msgstr ""
 
-#: src/lang.c:646
+#: src/lang.c:667
 msgid "mail article/thread/hot/pattern/tagged articles to someone"
 msgstr ""
 
-#: src/lang.c:647
+#: src/lang.c:668
 msgid "menu of configurable options"
 msgstr ""
 
-#: src/lang.c:648
+#: src/lang.c:669
 msgid "down one page"
 msgstr "ner en sida"
 
-#: src/lang.c:649
+#: src/lang.c:670
 msgid "up one page"
 msgstr "upp en sida"
 
-#: src/lang.c:651
+#: src/lang.c:672
 msgid "post (write) article to current group"
 msgstr ""
 
-#: src/lang.c:652
+#: src/lang.c:673
 msgid "post postponed articles"
 msgstr ""
 
-#: src/lang.c:654
+#: src/lang.c:675
 msgid "list articles posted by you (from posted file)"
 msgstr ""
 
-#: src/lang.c:655
+#: src/lang.c:676
 msgid "return to previous menu"
 msgstr "Ã¥tergÃ¥ till fÃ¶regÃ¥ende meny"
 
-#: src/lang.c:656
+#: src/lang.c:677
 msgid "quit tin immediately"
 msgstr "avsluta tin omedelbart"
 
-#: src/lang.c:657
+#: src/lang.c:678
 msgid "redraw page"
 msgstr "rita om sida"
 
-#: src/lang.c:658
+#: src/lang.c:679
 msgid "save article/thread/hot/pattern/tagged articles to file"
 msgstr ""
 
-#: src/lang.c:659
+#: src/lang.c:680
 msgid "save marked articles automatically without user prompts"
 msgstr ""
 
-#: src/lang.c:660
+#: src/lang.c:681
 msgid "scroll the screen one line down"
 msgstr ""
 
-#: src/lang.c:661
+#: src/lang.c:682
 msgid "scroll the screen one line up"
 msgstr ""
 
-#: src/lang.c:662
+#: src/lang.c:683
 msgid "search for articles by author backwards"
 msgstr ""
 
-#: src/lang.c:663
+#: src/lang.c:684
 msgid "search for articles by author forwards"
 msgstr ""
 
-#: src/lang.c:664
+#: src/lang.c:685
 msgid "search all articles for a given string (this may take some time)"
 msgstr ""
 
-#: src/lang.c:665
+#: src/lang.c:686
 msgid " \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr ""
 
-#: src/lang.c:666
+#: src/lang.c:687
 msgid "search for articles by Subject line backwards"
 msgstr ""
 
-#: src/lang.c:667
+#: src/lang.c:688
 msgid "search for articles by Subject line forwards"
 msgstr ""
 
-#: src/lang.c:668
+#: src/lang.c:689
 msgid "repeat last search"
 msgstr "repetera senaste sÃ¶kning"
 
-#: src/lang.c:669
+#: src/lang.c:690
 msgid "tag current article for reposting/mailing/piping/printing/saving"
 msgstr ""
 
-#: src/lang.c:670
+#: src/lang.c:691
 msgid "toggle info message in last line (subject/description)"
 msgstr ""
 
-#: src/lang.c:671
+#: src/lang.c:692
 msgid "toggle inverse video"
 msgstr ""
 
-#: src/lang.c:672
+#: src/lang.c:693
 msgid "toggle mini help menu and posting etiquette display"
 msgstr ""
 
-#: src/lang.c:673
+#: src/lang.c:694
 msgid "cycle the display of authors email address, real name, both or neither"
 msgstr ""
 
-#: src/lang.c:674
+#: src/lang.c:695
 msgid "show version information"
 msgstr "visa versionsinformation"
 
-#: src/lang.c:675
+#: src/lang.c:696
 msgid "mark all articles as read and return to group selection menu"
 msgstr ""
 
-#: src/lang.c:676
+#: src/lang.c:697
 msgid "mark all articles as read and enter next group with unread articles"
 msgstr ""
 
-#: src/lang.c:677
+#: src/lang.c:698
 msgid "choose first thread in list"
 msgstr "vÃ¤lj fÃ¶rsta trÃ¥d i lista"
 
-#: src/lang.c:678
+#: src/lang.c:699
 msgid "choose last thread in list"
 msgstr "vÃ¤lj sista trÃ¥d i lista"
 
-#: src/lang.c:679
+#: src/lang.c:700
 msgid "list articles within current thread (bring up Thread sub-menu)"
 msgstr ""
 
-#: src/lang.c:680
+#: src/lang.c:701
 msgid "mark article as unread"
 msgstr "markera artikel som olÃ¤st"
 
-#: src/lang.c:681
+#: src/lang.c:702
 msgid "mark current thread, range or tagged threads as read"
 msgstr ""
 
-#: src/lang.c:682
+#: src/lang.c:703
 msgid "mark current thread, range or tagged threads as unread"
 msgstr ""
 
-#: src/lang.c:683
+#: src/lang.c:704
 msgid "mark current/range/selected/pattern/tagged as read after prompting"
 msgstr ""
 
-#: src/lang.c:684
+#: src/lang.c:705
 msgid "mark current/range/selected/pattern/tagged as unread after prompting"
 msgstr ""
 
-#: src/lang.c:685
+#: src/lang.c:706
 msgid "toggle display of all/selected articles"
 msgstr ""
 
-#: src/lang.c:686
+#: src/lang.c:707
 msgid "display next group"
 msgstr "visa nÃ¤sta grupp"
 
-#: src/lang.c:687
+#: src/lang.c:708
 msgid "display previous group"
 msgstr "visa fÃ¶regÃ¥ende grupp"
 
-#: src/lang.c:688
+#: src/lang.c:709
 msgid "toggle all selections (all articles)"
 msgstr ""
 
-#: src/lang.c:689
+#: src/lang.c:710
 msgid "select group (make \"hot\")"
 msgstr "vÃ¤lj grupp (gÃ¶r \"het\")"
 
-#: src/lang.c:690
+#: src/lang.c:711
 msgid "select thread"
 msgstr "vÃ¤lj trÃ¥d"
 
-#: src/lang.c:691
+#: src/lang.c:712
 msgid "select threads if at least one unread article is selected"
 msgstr ""
 
-#: src/lang.c:692
+#: src/lang.c:713
 msgid "select threads that match user specified pattern"
 msgstr ""
 
-#: src/lang.c:693
+#: src/lang.c:714
 msgid "0 - 9\t  choose thread by number"
 msgstr "0 - 9\t  vÃ¤lj trÃ¥d efter nummer"
 
-#: src/lang.c:694
+#: src/lang.c:715
 msgid "toggle limit number of articles to get, and reload"
 msgstr ""
 
-#: src/lang.c:695
+#: src/lang.c:716
 msgid "toggle display of all/unread articles"
 msgstr ""
 
-#: src/lang.c:696
+#: src/lang.c:717
 msgid "toggle selection of thread"
 msgstr "vÃ¤xla val av trÃ¥d"
 
-#: src/lang.c:697
+#: src/lang.c:718
 msgid "cycle through threading options available"
 msgstr ""
 
-#: src/lang.c:698
+#: src/lang.c:719
 msgid "undo all selections (all articles)"
 msgstr ""
 
-#: src/lang.c:699
+#: src/lang.c:720
 msgid "untag all tagged threads"
 msgstr ""
 
-#: src/lang.c:700
+#: src/lang.c:721
 #, fuzzy
 msgid "search for articles forwards"
 msgstr "SÃ¶k framÃ¥t [%s]> "
 
-#: src/lang.c:701
+#: src/lang.c:722
 #, fuzzy
 msgid "search for articles backwards"
 msgstr "%s=sÃ¶k framÃ¥t; %s=sÃ¶k bakÃ¥t; %s=avsluta"
 
-#: src/lang.c:702
+#: src/lang.c:723
 msgid "toggle info message in last line (Message-ID)"
 msgstr ""
 
-#: src/lang.c:703
+#: src/lang.c:724
 msgid "Open article by Message-ID"
 msgstr ""
 
-#: src/lang.c:704
+#: src/lang.c:725
 msgid "add new scope"
 msgstr ""
 
-#: src/lang.c:705
+#: src/lang.c:726
 msgid "delete scope"
 msgstr ""
 
-#: src/lang.c:706
+#: src/lang.c:727
 #, fuzzy
 msgid "edit attributes file"
 msgstr "Skriver attributfil..."
 
-#: src/lang.c:707
+#: src/lang.c:728
 #, fuzzy
 msgid "choose first scope in list"
 msgstr "vÃ¤lj fÃ¶rsta grupp i lista"
 
-#: src/lang.c:708
+#: src/lang.c:729
 #, fuzzy
 msgid "0 - 9\t  choose scope by number"
 msgstr "0 - 9\t  vÃ¤lj grupp efter nummer"
 
-#: src/lang.c:709
+#: src/lang.c:730
 #, fuzzy
 msgid "choose last scope in list"
 msgstr "vÃ¤lj sista grupp i lista"
 
-#: src/lang.c:710
+#: src/lang.c:731
 msgid "move scope"
 msgstr ""
 
-#: src/lang.c:711
+#: src/lang.c:732
 msgid "rename scope"
 msgstr ""
 
-#: src/lang.c:712
+#: src/lang.c:733
 #, fuzzy
 msgid "select scope"
 msgstr "vÃ¤lj"
 
-#: src/lang.c:713
+#: src/lang.c:734
 msgid "mark all articles in group as read"
 msgstr ""
 
-#: src/lang.c:714
+#: src/lang.c:735
 msgid "mark all articles in group as read and move to next unread group"
 msgstr ""
 
-#: src/lang.c:715
+#: src/lang.c:736
 msgid "choose first group in list"
 msgstr "vÃ¤lj fÃ¶rsta grupp i lista"
 
-#: src/lang.c:716
+#: src/lang.c:737
 msgid "choose group by name"
 msgstr "vÃ¤lj grupp efter namn"
 
-#: src/lang.c:717
+#: src/lang.c:738
 msgid "0 - 9\t  choose group by number"
 msgstr "0 - 9\t  vÃ¤lj grupp efter nummer"
 
-#: src/lang.c:718
+#: src/lang.c:739
 msgid "choose range of groups to be affected by next command"
 msgstr ""
 
-#: src/lang.c:719
+#: src/lang.c:740
 msgid "choose last group in list"
 msgstr "vÃ¤lj sista grupp i lista"
 
-#: src/lang.c:721
+#: src/lang.c:742
 msgid "list groups which an article has been posted to (by Message-ID)"
 msgstr ""
 
-#: src/lang.c:722
+#: src/lang.c:743
 msgid " \t  (go to article if at least one of the groups is available)"
 msgstr ""
 
-#: src/lang.c:724
+#: src/lang.c:745
 msgid "mark all articles in chosen group unread"
 msgstr ""
 
-#: src/lang.c:725
+#: src/lang.c:746
 msgid "move chosen group within list"
 msgstr ""
 
-#: src/lang.c:726
+#: src/lang.c:747
 msgid "choose next group with unread news"
 msgstr ""
 
-#: src/lang.c:727 src/lang.c:1748
+#: src/lang.c:748 src/lang.c:1797
 msgid "quit"
 msgstr "avsluta"
 
-#: src/lang.c:728
+#: src/lang.c:749
 msgid "quit without saving configuration changes"
 msgstr "avsluta utan att spara konfigurationsÃ¤ndringar"
 
-#: src/lang.c:729
+#: src/lang.c:750
 msgid "read chosen group"
 msgstr "lÃ¤s vald grupp"
 
-#: src/lang.c:730
+#: src/lang.c:751
 msgid "reset .newsrc (all available articles in groups marked unread)"
 msgstr ""
 
-#: src/lang.c:731
+#: src/lang.c:752
 msgid "search backwards for a group name"
 msgstr ""
 
-#: src/lang.c:732
+#: src/lang.c:753
 msgid " \t  (all searches are case-insensitive and wrap around)"
 msgstr ""
 
-#: src/lang.c:733
+#: src/lang.c:754
 msgid "search forwards for a group name"
 msgstr "sÃ¶k framÃ¥t efter ett gruppnamn"
 
-#: src/lang.c:734
+#: src/lang.c:755
 msgid "subscribe to chosen group"
 msgstr "prenumerera pÃ¥ vald grupp"
 
-#: src/lang.c:735
+#: src/lang.c:756
 msgid "subscribe to groups that match pattern"
 msgstr ""
 
-#: src/lang.c:736
+#: src/lang.c:757
 msgid "reread active file to check for any new news"
 msgstr ""
 
-#: src/lang.c:737
+#: src/lang.c:758
 msgid "show NNTP[S] connection details"
 msgstr ""
 
-#: src/lang.c:738
+#: src/lang.c:759
 msgid "toggle display of group name only or group name plus description"
 msgstr ""
 
-#: src/lang.c:739
+#: src/lang.c:760
 msgid "toggle display to show all/unread subscribed groups"
 msgstr ""
 
-#: src/lang.c:740
+#: src/lang.c:761
 msgid "unsubscribe from chosen group"
 msgstr "sÃ¤g upp prenumeration av vald grupp"
 
-#: src/lang.c:741
+#: src/lang.c:762
 msgid "unsubscribe from groups that match pattern"
 msgstr "sÃ¤g upp prenumeration av grupper som matchar mÃ¶nster"
 
-#: src/lang.c:742
+#: src/lang.c:763
 msgid "sort the list of groups"
 msgstr "sortera listan av grupper"
 
-#: src/lang.c:743
+#: src/lang.c:764
 msgid "toggle display to show all/subscribed groups"
 msgstr ""
 
-#: src/lang.c:744
+#: src/lang.c:765
 msgid "tag/untag all parts of current multipart-message in order"
 msgstr ""
 
-#: src/lang.c:745
+#: src/lang.c:766
 msgid "0 - 9\t  choose article by number"
 msgstr "0 - 9\t  vÃ¤lj artikel efter nummer"
 
-#: src/lang.c:746
+#: src/lang.c:767
 msgid "mark thread as read and return to group index page"
 msgstr ""
 
-#: src/lang.c:747
+#: src/lang.c:768
 msgid "mark thread as read and enter next unread thread or group"
 msgstr ""
 
-#: src/lang.c:748
+#: src/lang.c:769
 msgid "choose first article in list"
 msgstr "vÃ¤lj fÃ¶rsta artikel i lista"
 
-#: src/lang.c:749
+#: src/lang.c:770
 msgid "choose last article in list"
 msgstr "vÃ¤lj sista artikel i lista"
 
-#: src/lang.c:750
+#: src/lang.c:771
 msgid "mark art, range or tagged arts as read; move crsr to next unread art"
 msgstr ""
 
-#: src/lang.c:751
+#: src/lang.c:772
 #, fuzzy
 msgid "mark article, range or tagged articles as unread"
 msgstr "markera artikel som olÃ¤st"
 
-#: src/lang.c:752
+#: src/lang.c:773
 #, fuzzy
 msgid "mark current thread as unread"
 msgstr "markera trÃ¥d som olÃ¤st"
 
-#: src/lang.c:753
+#: src/lang.c:774
 msgid "read chosen article"
 msgstr "lÃ¤s vald artikel"
 
-#: src/lang.c:754
+#: src/lang.c:775
 msgid ""
 "Display properties\n"
 "------------------"
@@ -2538,7 +2617,7 @@ msgstr ""
 "Visa egenskaper\n"
 "---------------"
 
-#: src/lang.c:755
+#: src/lang.c:776
 msgid ""
 "Miscellaneous\n"
 "-------------"
@@ -2546,7 +2625,7 @@ msgstr ""
 "Diverse\n"
 "-------"
 
-#: src/lang.c:756
+#: src/lang.c:777
 msgid ""
 "Moving around\n"
 "-------------"
@@ -2554,7 +2633,7 @@ msgstr ""
 "Flytta runt\n"
 "-----------"
 
-#: src/lang.c:757
+#: src/lang.c:778
 msgid ""
 "Group/thread/article operations\n"
 "-------------------------------"
@@ -2562,7 +2641,7 @@ msgstr ""
 "Operationer fÃ¶r grupp/trÃ¥d/artikel\n"
 "----------------------------------"
 
-#: src/lang.c:758
+#: src/lang.c:779
 #, fuzzy
 msgid ""
 "Attachment operations\n"
@@ -2571,7 +2650,7 @@ msgstr ""
 "Visa egenskaper\n"
 "---------------"
 
-#: src/lang.c:759
+#: src/lang.c:780
 #, fuzzy
 msgid ""
 "Attribute operations\n"
@@ -2580,7 +2659,7 @@ msgstr ""
 "Visa egenskaper\n"
 "---------------"
 
-#: src/lang.c:760
+#: src/lang.c:781
 #, fuzzy
 msgid ""
 "Option operations\n"
@@ -2589,7 +2668,7 @@ msgstr ""
 "Visa egenskaper\n"
 "---------------"
 
-#: src/lang.c:761
+#: src/lang.c:782
 #, fuzzy
 msgid ""
 "Posted article operations\n"
@@ -2598,7 +2677,7 @@ msgstr ""
 "Operationer fÃ¶r grupp/trÃ¥d/artikel\n"
 "----------------------------------"
 
-#: src/lang.c:762
+#: src/lang.c:783
 #, fuzzy
 msgid ""
 "Scope operations\n"
@@ -2607,7 +2686,7 @@ msgstr ""
 "Visa egenskaper\n"
 "---------------"
 
-#: src/lang.c:763
+#: src/lang.c:784
 #, fuzzy
 msgid ""
 "URL operations\n"
@@ -2616,121 +2695,121 @@ msgstr ""
 "Visa egenskaper\n"
 "---------------"
 
-#: src/lang.c:764
+#: src/lang.c:785
 #, fuzzy
 msgid "choose first URL in list"
 msgstr "vÃ¤lj fÃ¶rsta grupp i lista"
 
-#: src/lang.c:765
+#: src/lang.c:786
 #, fuzzy
 msgid "0 - 9\t  choose URL by number"
 msgstr "0 - 9\t  vÃ¤lj grupp efter nummer"
 
-#: src/lang.c:766
+#: src/lang.c:787
 #, fuzzy
 msgid "choose last URL in list"
 msgstr "vÃ¤lj sista grupp i lista"
 
-#: src/lang.c:767
+#: src/lang.c:788
 #, fuzzy
 msgid "search for URLs forwards"
 msgstr "SÃ¶k framÃ¥t [%s]> "
 
-#: src/lang.c:768
+#: src/lang.c:789
 #, fuzzy
 msgid "search for URLs backwards"
 msgstr "SÃ¶k bakÃ¥t [%s]> "
 
-#: src/lang.c:769
+#: src/lang.c:790
 msgid "Open URL in browser"
 msgstr ""
 
-#: src/lang.c:770
+#: src/lang.c:791
 msgid "toggle info message in last line (URL)"
 msgstr ""
 
-#: src/lang.c:772
+#: src/lang.c:793
 msgid "Group Level Commands"
 msgstr "GruppnivÃ¥kommandon"
 
-#: src/lang.c:773
+#: src/lang.c:794
 msgid "Kill filter added"
 msgstr ""
 
-#: src/lang.c:774
+#: src/lang.c:795
 msgid "Auto-selection filter added"
 msgstr ""
 
-#: src/lang.c:775
+#: src/lang.c:796
 msgid "All parts tagged"
 msgstr ""
 
-#: src/lang.c:776
+#: src/lang.c:797
 msgid "All parts untagged"
 msgstr ""
 
-#: src/lang.c:777
+#: src/lang.c:798
 #, c-format
 msgid "Building References-trees (%d/%d)..."
 msgstr ""
 
-#: src/lang.c:778
+#: src/lang.c:799
 msgid "Storing article for later posting"
 msgstr ""
 
-#: src/lang.c:779
+#: src/lang.c:800
 msgid "Please enter a valid character"
 msgstr "VÃ¤nligen ange ett giltigt tecken"
 
-#: src/lang.c:780
+#: src/lang.c:801
 #, c-format
 msgid "Missing part #%d"
 msgstr ""
 
-#: src/lang.c:781
+#: src/lang.c:802
 msgid "*** No postponed articles ***"
 msgstr "*** Inga uppskjutna artiklar ***"
 
-#: src/lang.c:782
+#: src/lang.c:803
 msgid "Not a multi-part message"
 msgstr ""
 
-#: src/lang.c:783
+#: src/lang.c:804
 msgid "You are not subscribed to this group"
 msgstr "Du Ã¤r inte prenumerant av denna grupp"
 
-#: src/lang.c:784
+#: src/lang.c:805
 msgid "No previous expression"
 msgstr "Inget tidigare uttryck"
 
-#: src/lang.c:785
+#: src/lang.c:806
 msgid "Operation disabled in no-overwrite mode"
 msgstr ""
 
 #. TODO: replace hard coded key-name in txt_info_postponed
-#: src/lang.c:787
+#: src/lang.c:808
 #, c-format
 msgid "%d postponed %s, reuse with ^O...\n"
 msgstr ""
 
-#: src/lang.c:788
+#: src/lang.c:809
 msgid ""
 "X-Conversion-Note: multipart/alternative contents have been removed.\n"
 "  To get the whole article, turn alternative handling OFF in the Option "
 "Menu\n"
 msgstr ""
 
-#: src/lang.c:790
+#: src/lang.c:811
 #, c-format
 msgid "Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr ""
 
-#: src/lang.c:791
+#: src/lang.c:812
 msgid "TeX2Iso encoded article"
 msgstr ""
 
 #. TODO: replace hard coded key-names
-#: src/lang.c:793
+#: src/lang.c:814
 #, c-format
 msgid ""
 "\n"
@@ -2768,152 +2847,152 @@ msgid ""
 "Please send bug-reports/comments to %s with the 'R' command.\n"
 msgstr ""
 
-#: src/lang.c:809
+#: src/lang.c:830
 #, c-format
-msgid "Invalid  From: %s  line. Read the INSTALL file again."
+msgid "Invalid From:-header \"%s\". Check your mail_address setting."
 msgstr ""
 
-#: src/lang.c:811
+#: src/lang.c:832
 msgid "Invalid multibyte sequence found\n"
 msgstr ""
 
-#: src/lang.c:814
+#: src/lang.c:835
 #, c-format
-msgid "Invalid  Sender:-header %s"
+msgid "Invalid Sender:-header \"%s\""
 msgstr ""
 
-#: src/lang.c:816
+#: src/lang.c:837
 msgid "Inverse video disabled"
 msgstr ""
 
-#: src/lang.c:817
+#: src/lang.c:838
 msgid "Inverse video enabled"
 msgstr ""
 
-#: src/lang.c:819
+#: src/lang.c:840
 #, c-format
 msgid "Missing definition for %s\n"
 msgstr ""
 
-#: src/lang.c:820
+#: src/lang.c:841
 #, c-format
 msgid "Invalid key definition '%s'\n"
 msgstr ""
 
-#: src/lang.c:821
+#: src/lang.c:842
 #, c-format
 msgid "Invalid keyname '%s'\n"
 msgstr ""
 
-#: src/lang.c:822
+#: src/lang.c:843
 #, c-format
 msgid "Keymap file was upgraded to version %s\n"
 msgstr ""
 
-#: src/lang.c:823
+#: src/lang.c:844
 #, c-format
 msgid "Kill From:     [%s] (y/n): "
 msgstr ""
 
-#: src/lang.c:824
+#: src/lang.c:845
 msgid "Kill Lines: (</>num): "
 msgstr ""
 
-#: src/lang.c:825
+#: src/lang.c:846
 msgid "Kill Article Menu"
 msgstr ""
 
-#: src/lang.c:826
+#: src/lang.c:847
 #, c-format
 msgid "Kill Msg-ID:   [%s] (f/l/o/n): "
 msgstr ""
 
-#: src/lang.c:827
+#: src/lang.c:848
 msgid "Kill pattern scope  : "
 msgstr ""
 
-#: src/lang.c:828
+#: src/lang.c:849
 #, c-format
 msgid "Kill Subject:  [%s] (y/n): "
 msgstr ""
 
-#: src/lang.c:829
+#: src/lang.c:850
 msgid "Kill text pattern   : "
 msgstr ""
 
-#: src/lang.c:830
+#: src/lang.c:851
 msgid "Kill time in days   : "
 msgstr ""
 
-#: src/lang.c:832
+#: src/lang.c:853
 msgid "Last"
 msgstr "Sista"
 
-#: src/lang.c:833
+#: src/lang.c:854
 msgid "-- Last response --"
 msgstr "-- Sista svaret --"
 
-#: src/lang.c:834
+#: src/lang.c:855
 #, c-format
 msgid "Lines %s  "
 msgstr "Rader %s  "
 
-#: src/lang.c:840
+#: src/lang.c:861
 #, fuzzy
 msgid "Function not available."
 msgstr "Artikel ej tillgÃ¤nglig"
 
-#: src/lang.c:841
+#: src/lang.c:862
 msgid "Not reading via NNTP."
 msgstr ""
 
-#: src/lang.c:843
+#: src/lang.c:864
 #, fuzzy, c-format
 msgid "Group: %s"
 msgstr "Grupp %.*s..."
 
-#: src/lang.c:844
+#: src/lang.c:865
 #, fuzzy, c-format
 msgid "Groups: %s"
 msgstr "Grupp %.*s..."
 
-#: src/lang.c:847
+#: src/lang.c:868
 msgid "Mail"
 msgstr "Post"
 
-#: src/lang.c:848
+#: src/lang.c:869
 msgid "mailbox "
 msgstr "postlÃ¥da "
 
-#: src/lang.c:849
+#: src/lang.c:870
 #, c-format
 msgid "Mail article(s) to [%.*s]> "
 msgstr "Skicka artikel(ar) till [%.*s]> "
 
-#: src/lang.c:850
+#: src/lang.c:871
 #, c-format
 msgid "Mailing log to %s\n"
 msgstr "Skickar logg till %s\n"
 
-#: src/lang.c:851
+#: src/lang.c:872
 msgid "Mail bug report..."
 msgstr ""
 
-#: src/lang.c:852
+#: src/lang.c:873
 #, c-format
 msgid "Mail BUG REPORT to %s?"
 msgstr "Skicka FELRAPPORT till %s?"
 
-#: src/lang.c:853
+#: src/lang.c:874
 msgid "Mailed"
 msgstr "Skickad"
 
-#: src/lang.c:854
+#: src/lang.c:875
 #, c-format
 msgid "Mailing to %s..."
 msgstr "Skickar till %s..."
 
-#: src/lang.c:855
+#: src/lang.c:876
 msgid ""
 "# [Mail/Save] active file. Format is like news active file:\n"
 "#   groupname  max.artnum  min.artnum  /dir\n"
@@ -2921,358 +3000,360 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:858
+#: src/lang.c:879
 #, fuzzy, c-format
 msgid "%s marked as read"
 msgstr "%s markerad som olÃ¤st"
 
-#: src/lang.c:859
+#: src/lang.c:880
 #, c-format
 msgid "%s marked as unread"
 msgstr "%s markerad som olÃ¤st"
 
-#: src/lang.c:860
+#: src/lang.c:881
 #, fuzzy, c-format
 msgid "Marked %d of %d %s as read"
 msgstr "Markera grupp %s som lÃ¤st?"
 
-#: src/lang.c:861
+#: src/lang.c:882
 #, fuzzy, c-format
 msgid "Marked %d of %d %s as unread"
 msgstr "Markera grupp %s som lÃ¤st?"
 
-#: src/lang.c:862 src/lang.c:1704
+#: src/lang.c:883 src/lang.c:1753
 msgid "Mark"
 msgstr "Markera"
 
-#: src/lang.c:863
+#: src/lang.c:884
 #, c-format
 msgid "Mark all articles as read%s?"
 msgstr "Markera alla artiklar som lÃ¤sta%s?"
 
-#: src/lang.c:864
+#: src/lang.c:885
 #, fuzzy, c-format
 msgid "Mark article as read%s?"
 msgstr "Markera alla artiklar som lÃ¤sta%s?"
 
-#: src/lang.c:865
+#: src/lang.c:886
 #, c-format
 msgid "Mark group %s as read?"
 msgstr "Markera grupp %s som lÃ¤st?"
 
-#: src/lang.c:866
+#: src/lang.c:887
 #, c-format
 msgid "Mark thread as read%s?"
 msgstr "Markera trÃ¥d som lÃ¤st%s?"
 
-#: src/lang.c:867
+#: src/lang.c:888
 #, c-format
 msgid "Matching %s groups..."
 msgstr "Matchar %s grupper..."
 
-#: src/lang.c:868 src/lang.c:881 src/lang.c:884 src/lang.c:890
+#: src/lang.c:889 src/lang.c:902 src/lang.c:905 src/lang.c:911
 #, fuzzy, c-format
 msgid "<n>=set current to n; %s=line down; %s=line up; %s=help; %s=quit"
 msgstr ""
 "<n>=sÃ¤tt nuvarande till n; %s=nÃ¤sta olÃ¤sta; %s=sÃ¶kmÃ¶nster; %s=dÃ¶da/vÃ¤lj"
 
-#: src/lang.c:870
+#: src/lang.c:891
 #, fuzzy, c-format
 msgid ""
 "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr ""
 "%s=rad ner; %s=rad upp; %s=hjÃ¤lp; %s=flytta; %s=avsluta; %s=vÃ¤xla alla/olÃ¤sta"
 
-#: src/lang.c:872
+#: src/lang.c:893
 #, fuzzy, c-format
 msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr ""
 "%s=rad ner; %s=rad upp; %s=hjÃ¤lp; %s=flytta; %s=avsluta; %s=vÃ¤xla alla/olÃ¤sta"
 
-#: src/lang.c:874
+#: src/lang.c:895
 #, fuzzy, c-format
 msgid ""
 "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search"
 msgstr "%s=sÃ¶k framÃ¥t; %s=sÃ¶k bakÃ¥t; %s=avsluta"
 
-#: src/lang.c:875 src/lang.c:879
+#: src/lang.c:896 src/lang.c:900
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=search pattern; %s=kill/select"
 msgstr ""
 "<n>=sÃ¤tt nuvarande till n; %s=nÃ¤sta olÃ¤sta; %s=sÃ¶kmÃ¶nster; %s=dÃ¶da/vÃ¤lj"
 
-#: src/lang.c:876
+#: src/lang.c:897
 #, c-format
 msgid ""
 "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; "
 "%s=list thread"
 msgstr ""
 
-#: src/lang.c:877
+#: src/lang.c:898
 #, c-format
 msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"
 msgstr "%s=rad upp; %s=rad ner; %s=sida upp; %s=sida ned; %s=topp; %s=botten"
 
-#: src/lang.c:878
+#: src/lang.c:899
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=quit"
 msgstr "%s=sÃ¶k framÃ¥t; %s=sÃ¶k bakÃ¥t; %s=avsluta"
 
-#: src/lang.c:880
+#: src/lang.c:901
 #, c-format
 msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr ""
 
-#: src/lang.c:882 src/lang.c:891
+#: src/lang.c:903 src/lang.c:912
 #, fuzzy, c-format
 msgid "%s=search forwards; %s=search backwards; %s=repeat search"
 msgstr "%s=sÃ¶k framÃ¥t; %s=sÃ¶k bakÃ¥t; %s=avsluta"
 
-#: src/lang.c:883
+#: src/lang.c:904
 #, c-format
 msgid "%s=add; %s=move; %s=rename; %s=delete"
 msgstr ""
 
-#: src/lang.c:885
+#: src/lang.c:906
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr ""
 
-#: src/lang.c:886
+#: src/lang.c:907
 #, c-format
 msgid ""
 "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
 msgstr ""
 "%s=rad ner; %s=rad upp; %s=hjÃ¤lp; %s=flytta; %s=avsluta; %s=vÃ¤xla alla/olÃ¤sta"
 
-#: src/lang.c:887
+#: src/lang.c:908
 #, c-format
 msgid ""
 "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/"
 "out"
 msgstr ""
 
-#: src/lang.c:888
+#: src/lang.c:909
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr ""
 
-#: src/lang.c:889
+#: src/lang.c:910
 #, c-format
 msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"
 msgstr ""
 "%s=hjÃ¤lp; %s=rad ner; %s=rad upp; %s=avsluta; %s=mÃ¤rk; %s=markera olÃ¤st"
 
-#: src/lang.c:892
+#: src/lang.c:913
 msgid "--More--"
 msgstr "--Mer--"
 
-#: src/lang.c:894
+#: src/lang.c:915
 #, c-format
 msgid "MOTD: %s\n"
 msgstr ""
 
-#: src/lang.c:896
+#: src/lang.c:917
 #, c-format
 msgid "Moving %s..."
 msgstr "Flyttar %s..."
 
-#: src/lang.c:897
+#: src/lang.c:918
 msgid "Message-ID: & last Reference  "
 msgstr ""
 
-#: src/lang.c:898
+#: src/lang.c:919
 msgid "Message-ID: line              "
 msgstr ""
 
-#: src/lang.c:899
+#: src/lang.c:920
 msgid "Message-ID: & References: line"
 msgstr ""
 
-#: src/lang.c:901
+#: src/lang.c:922
 #, c-format
 msgid "Go to newsgroup [%s]> "
 msgstr "GÃ¥ till diskussionsgrupp [%s]> "
 
-#: src/lang.c:902
+#: src/lang.c:923
 msgid "newsgroups"
 msgstr "diskussionsgrupper"
 
-#: src/lang.c:903
+#: src/lang.c:924
 #, c-format
 msgid "Position %s in group list (1,2,..,$) [%d]> "
 msgstr ""
 
-#: src/lang.c:904
+#: src/lang.c:925
 msgid "newsgroup"
 msgstr "diskussionsgrupp"
 
-#: src/lang.c:905
+#: src/lang.c:926
 msgid "Try and save newsrc file again?"
 msgstr "FÃ¶rsÃ¶ka att spara filen newsrc igen?"
 
-#: src/lang.c:906
-msgid "Warning: No newsgroups were written to your newsrc file. Save aborted."
+#: src/lang.c:927
+#, c-format
+msgid "Warning: No groups written to your %s file. Save aborted."
 msgstr ""
 
-#: src/lang.c:907
-msgid "newsrc file saved successfully.\n"
-msgstr ""
+#: src/lang.c:928
+#, fuzzy, c-format
+msgid "%s file saved successfully.\n"
+msgstr "%s lyckades avkodas."
 
-#: src/lang.c:908
+#: src/lang.c:929
 msgid "-- Next response --"
 msgstr "-- NÃ¤sta svar --"
 
-#: src/lang.c:909
+#: src/lang.c:930
 msgid "No  "
 msgstr "Nej "
 
-#: src/lang.c:910
+#: src/lang.c:931
 msgid "*** No articles ***"
 msgstr "*** Inga artiklar ***"
 
-#: src/lang.c:911
+#: src/lang.c:932
 msgid "No articles have been posted"
 msgstr "Inga artiklar har postats"
 
-#: src/lang.c:912
+#: src/lang.c:933
 #, fuzzy
 msgid "*** No attachments ***"
 msgstr "*** Inga artiklar ***"
 
-#: src/lang.c:913
+#: src/lang.c:934
 msgid "*** No description ***"
 msgstr "*** Ingen beskrivning ***"
 
-#: src/lang.c:914
+#: src/lang.c:935
 msgid "No filename"
 msgstr "Inget filnamn"
 
-#: src/lang.c:915
+#: src/lang.c:936
 msgid "No group"
 msgstr "Ingen grupp"
 
-#: src/lang.c:916
+#: src/lang.c:937
 msgid "*** No groups ***"
 msgstr "*** Inga grupper ***"
 
-#: src/lang.c:917
+#: src/lang.c:938
 msgid "No more groups to read"
 msgstr "Inga fler grupper att lÃ¤sa"
 
-#: src/lang.c:918
+#: src/lang.c:939
 msgid "No last message"
 msgstr "Inget sista meddelande"
 
-#: src/lang.c:919
+#: src/lang.c:940
 msgid "No mail address"
 msgstr "Ingen e-postadress"
 
-#: src/lang.c:920
+#: src/lang.c:941
 msgid "No articles marked for saving"
 msgstr ""
 
-#: src/lang.c:921
+#: src/lang.c:942
 msgid "No match"
 msgstr "Ingen match"
 
-#: src/lang.c:922
+#: src/lang.c:943
 msgid "No more groups"
 msgstr "Inga fler grupper"
 
-#: src/lang.c:923
+#: src/lang.c:944
 msgid "No newsgroups"
 msgstr "Inga diskussionsgrupper"
 
-#: src/lang.c:924
+#: src/lang.c:945
 msgid "No next unread article"
 msgstr "Slut pÃ¥ olÃ¤sta artiklar"
 
-#: src/lang.c:925
+#: src/lang.c:946
 msgid "No previous group"
 msgstr "Ingen fÃ¶regÃ¥ende grupp"
 
-#: src/lang.c:926
+#: src/lang.c:947
 msgid "No previous search, nothing to repeat"
 msgstr ""
 
-#: src/lang.c:927
+#: src/lang.c:948
 msgid "No previous unread article"
 msgstr "Ingen fÃ¶regÃ¥ende olÃ¤st artikel"
 
-#: src/lang.c:928
+#: src/lang.c:949
 msgid "No responses"
 msgstr "Inga svar"
 
-#: src/lang.c:929
+#: src/lang.c:950
 msgid "No responses to list in current thread"
 msgstr ""
 
-#: src/lang.c:930
+#: src/lang.c:951
 #, fuzzy
 msgid "*** No scopes ***"
 msgstr "*** Inga grupper ***"
 
-#: src/lang.c:931
+#: src/lang.c:952
 msgid "No search string"
 msgstr "Ingen sÃ¶kstrÃ¤ng"
 
-#: src/lang.c:932
+#: src/lang.c:953
 msgid "No subject"
 msgstr "Inget Ã¤mne"
 
-#: src/lang.c:934
+#: src/lang.c:955
 #, c-format
 msgid "%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr ""
 
-#: src/lang.c:935
+#: src/lang.c:956
 #, c-format
 msgid "%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr ""
 
-#: src/lang.c:936
+#: src/lang.c:957
 #, c-format
 msgid "%s: Terminal must have clearscreen (cl) capability\n"
 msgstr ""
 
-#: src/lang.c:937
+#: src/lang.c:958
 #, c-format
 msgid "%s: Terminal must have cursor motion (cm)\n"
 msgstr ""
 
-#: src/lang.c:938
+#: src/lang.c:959
 #, c-format
 msgid "%s: TERM variable must be set to use screen capabilities\n"
 msgstr ""
 
-#: src/lang.c:940
+#: src/lang.c:961
 #, c-format
 msgid "No viewer found for %s/%s\n"
 msgstr ""
 
-#: src/lang.c:941 src/lang.c:1616 src/lang.c:1644 src/lang.c:1935
+#: src/lang.c:962 src/lang.c:1665 src/lang.c:1693 src/lang.c:1991
 msgid "None"
 msgstr "Ingen"
 
-#: src/lang.c:942
+#: src/lang.c:963
 msgid "Newsgroup does not exist on this server"
 msgstr ""
 
-#: src/lang.c:943
+#: src/lang.c:964
 #, c-format
 msgid "Group %s not found in active file"
 msgstr ""
 
-#: src/lang.c:944
+#: src/lang.c:966
 msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr ""
 
-#: src/lang.c:945
+#: src/lang.c:967
 msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr ""
 
-#: src/lang.c:946
+#: src/lang.c:968
 #, c-format
 msgid ""
 "# NNTP-server -> newsrc translation table and NNTP-server\n"
@@ -3289,392 +3370,395 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:952
+#: src/lang.c:975
 msgid "NULL"
 msgstr "NOLL"
 
-#: src/lang.c:954
+#: src/lang.c:977
 msgid "Only"
 msgstr "Endast"
 
-#: src/lang.c:955
-#, c-format
-msgid "Option not enabled. Recompile with %s."
-msgstr "Flagga inte aktiverad. Bygg om med %s."
-
-#: src/lang.c:956
+#: src/lang.c:979
 msgid "Options Menu"
 msgstr "Alternativmenyn"
 
-#: src/lang.c:957
+#: src/lang.c:980
 #, fuzzy
 msgid "Options Menu Commands"
 msgstr "Alternativmenyn"
 
-#: src/lang.c:960
+#: src/lang.c:981
+#, fuzzy, c-format
+msgid "Option not enabled. Recompile with %s.%s\n"
+msgstr "Flagga inte aktiverad. Bygg om med %s.%s\n"
+
+#: src/lang.c:984
 #, c-format
 msgid "Error in regex: %s at pos. %d '%s'"
 msgstr ""
 
-#: src/lang.c:961
+#: src/lang.c:985
 #, c-format
 msgid "Error in regex: pcre internal error %d"
 msgstr ""
 
-#: src/lang.c:963
+#: src/lang.c:987
 #, c-format
 msgid "Error in regex: study - pcre internal error %s"
 msgstr ""
 
-#: src/lang.c:965
+#: src/lang.c:989
 msgid "Post a followup..."
 msgstr "Posta en uppfÃ¶ljning..."
 
 #. TODO: replace hard coded key-name in txt_post_error_ask_postpone
-#: src/lang.c:967
+#: src/lang.c:991
 msgid ""
 "An error has occurred while posting the article. If you think that this\n"
 "error is temporary or otherwise correctable, you can postpone the article\n"
 "and pick it up again with ^O later.\n"
 msgstr ""
 
-#: src/lang.c:970
+#: src/lang.c:994
 msgid "Posted articles history"
 msgstr ""
 
-#: src/lang.c:971
+#: src/lang.c:995
 #, fuzzy
 msgid "Posted Articles Menu Commands"
 msgstr "ToppnivÃ¥kommandon"
 
-#: src/lang.c:972
+#: src/lang.c:996
 msgid "Lookup failed"
 msgstr ""
 
-#: src/lang.c:973
+#: src/lang.c:997
 #, fuzzy
 msgid "Operation not available for replies by mail"
 msgstr "Ã¥tergÃ¥ till gruppvalsnivÃ¥"
 
-#: src/lang.c:974
+#: src/lang.c:998
 msgid "Already in posted articles history level"
 msgstr ""
 
-#: src/lang.c:975
+#: src/lang.c:999
 #, c-format
 msgid "Post to newsgroup(s) [%s]> "
 msgstr "Posta till diskussionsgrupp(er) [%s]> "
 
-#: src/lang.c:976
+#: src/lang.c:1000
 msgid "-- post processing started --"
 msgstr ""
 
-#: src/lang.c:977
+#: src/lang.c:1001
 msgid "-- post processing completed --"
 msgstr ""
 
-#: src/lang.c:978
+#: src/lang.c:1002
 #, c-format
 msgid "Post subject [%s]> "
 msgstr ""
 
-#: src/lang.c:979
+#: src/lang.c:1003
 msgid ""
 "# Summary of mailed/posted messages viewable by 'W' command from within "
 "tin.\n"
 msgstr ""
 
-#: src/lang.c:980
+#: src/lang.c:1004
 msgid "Posting article..."
 msgstr "Postar artikel..."
 
-#: src/lang.c:982
+#: src/lang.c:1006
 #, fuzzy, c-format
 msgid "Posting failed (%s)"
 msgstr "Postar artikel..."
 
-#: src/lang.c:984
+#: src/lang.c:1008
 #, c-format
 msgid "Posting: %.*s ..."
 msgstr "Postar: %.*s ..."
 
-#: src/lang.c:985
+#: src/lang.c:1009
 #, c-format
 msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 msgstr ""
 
-#: src/lang.c:986
+#: src/lang.c:1010
 #, c-format
 msgid "Hot %s"
 msgstr "Hetta %s"
 
-#: src/lang.c:987
+#: src/lang.c:1011
 #, c-format
 msgid "Tagged %s"
 msgstr "MÃ¤rkt %s"
 
-#: src/lang.c:988
+#: src/lang.c:1012
 #, c-format
 msgid "Untagged %s"
 msgstr ""
 
-#: src/lang.c:990
+#: src/lang.c:1014
 #, c-format
 msgid "Preparing for filtering on Path header (%d/%d)..."
 msgstr ""
 
-#: src/lang.c:992
+#: src/lang.c:1016
 #, fuzzy
 msgid "Processing attributes..."
 msgstr "Skriver attributfil... "
 
-#: src/lang.c:993
+#: src/lang.c:1017
 msgid "Processing mail messages marked for deletion."
 msgstr ""
 
-#: src/lang.c:994
+#: src/lang.c:1018
 msgid "Processing saved articles marked for deletion."
 msgstr ""
 
-#: src/lang.c:995
+#: src/lang.c:1019
 #, c-format
 msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr ""
 
-#: src/lang.c:996
+#: src/lang.c:1020
 msgid "Article unchanged, abort mailing?"
 msgstr ""
 
-#: src/lang.c:997
+#: src/lang.c:1021
 #, c-format
 msgid "Do you want to see postponed articles (%d)?"
 msgstr ""
 
-#: src/lang.c:999
+#: src/lang.c:1023
 msgid "Add quick kill filter?"
 msgstr ""
 
-#: src/lang.c:1000
+#: src/lang.c:1024
 msgid "Add quick selection filter?"
 msgstr ""
 
-#: src/lang.c:1001
+#: src/lang.c:1025
 msgid "Do you really want to quit?"
 msgstr "Vill du verkligen avsluta?"
 
-#: src/lang.c:1002
+#: src/lang.c:1026
 #, c-format
 msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr ""
 
-#: src/lang.c:1003
+#: src/lang.c:1027
 msgid "You have tagged articles in this group - quit anyway?"
 msgstr ""
 
-#: src/lang.c:1004
+#: src/lang.c:1028
 #, c-format
 msgid "%s=quit, %s=edit, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:1005
+#: src/lang.c:1029
 #, c-format
 msgid "%s=quit, %s=edit, %s=save kill description: "
 msgstr ""
 
-#: src/lang.c:1006
+#: src/lang.c:1030
 #, c-format
 msgid "%s=quit, %s=edit, %s=save select description: "
 msgstr ""
 
-#: src/lang.c:1007
+#: src/lang.c:1031
 msgid "Do you really want to quit without saving your configuration?"
 msgstr "Vill du verkligen avsluta utan att spara din konfiguration?"
 
-#: src/lang.c:1010
+#: src/lang.c:1033
 msgid "Invalid range - valid are '0-9.$' e.g. 1-$"
 msgstr ""
 
-#: src/lang.c:1012
+#: src/lang.c:1035
 msgid "Do you want to abort this operation?"
 msgstr "Vill du avbryta denna operation?"
 
-#: src/lang.c:1013
+#: src/lang.c:1036
 msgid "Do you want to exit tin immediately?"
 msgstr "Vill du avsluta tin omedelbart?"
 
-#: src/lang.c:1015
+#: src/lang.c:1038
 msgid "Reading ('q' to quit)..."
 msgstr "LÃ¤ser (\"q\" fÃ¶r att avsluta)..."
 
-#: src/lang.c:1016
+#: src/lang.c:1039
 #, fuzzy, c-format
 msgid "Reading %s articles..."
 msgstr "LÃ¤ser %sarticles..."
 
-#: src/lang.c:1017
-#, c-format
-msgid "Reading %sattributes file...\n"
+#: src/lang.c:1040
+#, fuzzy, c-format
+msgid "Reading %sattributes file: %s\n"
 msgstr "LÃ¤ser %sattributfil...\n"
 
-#: src/lang.c:1018
-#, c-format
-msgid "Reading %sconfig file...\n"
+#: src/lang.c:1041
+#, fuzzy, c-format
+msgid "Reading %sconfig file: %s\n"
 msgstr "LÃ¤ser %skonfigurationsfil...\n"
 
-#: src/lang.c:1019
-msgid "Reading filter file...\n"
+#: src/lang.c:1042
+#, fuzzy, c-format
+msgid "Reading filter file: %s\n"
 msgstr "LÃ¤ser filterfil...\n"
 
-#: src/lang.c:1021
+#: src/lang.c:1044
 msgid "reading from local spool"
 msgstr ""
 
-#: src/lang.c:1023
+#: src/lang.c:1046
 #, fuzzy, c-format
 msgid "Reading %s\n"
 msgstr "LÃ¤ser om %s..."
 
-#: src/lang.c:1024
+#: src/lang.c:1047
 #, c-format
 msgid "Reading %s groups..."
 msgstr "LÃ¤ser %s grupper..."
 
-#: src/lang.c:1025
-msgid "Reading input history file...\n"
-msgstr ""
+#: src/lang.c:1048
+#, fuzzy, c-format
+msgid "Reading input history file: %s\n"
+msgstr "LÃ¤ser keymap-fil: %s\n"
 
-#: src/lang.c:1026
+#: src/lang.c:1049
 #, fuzzy, c-format
 msgid "Reading keymap file: %s\n"
 msgstr "LÃ¤ser keymap-fil: %s\n"
 
-#: src/lang.c:1027
+#: src/lang.c:1050
 msgid "Reading groups from active file... "
 msgstr "LÃ¤ser grupper frÃ¥n aktiv fil..."
 
-#: src/lang.c:1028
+#: src/lang.c:1051
 #, fuzzy
 msgid "Reading groups from newsrc file... "
 msgstr "LÃ¤ser grupper frÃ¥n newsrc fil..."
 
-#: src/lang.c:1029
+#: src/lang.c:1052
 msgid "Reading newsgroups file... "
 msgstr ""
 
-#: src/lang.c:1030
-msgid "Reading newsrc file..."
-msgstr ""
+#: src/lang.c:1053
+#, fuzzy, c-format
+msgid "Reading newsrc file: %s"
+msgstr "LÃ¤ser keymap-fil: %s\n"
 
-#: src/lang.c:1031
+#: src/lang.c:1054
 msgid "References: line              "
 msgstr ""
 
-#: src/lang.c:1033
+#: src/lang.c:1056
 #, c-format
 msgid "(%d:%02d remaining)"
 msgstr "(%d:%02d Ã¥terstÃ¥r)"
 
-#: src/lang.c:1035
+#: src/lang.c:1058
 #, c-format
 msgid "Bogus group %s removed."
 msgstr ""
 
-#: src/lang.c:1036
+#: src/lang.c:1059
 msgid "Removed from this rule: "
 msgstr ""
 
-#: src/lang.c:1037
+#: src/lang.c:1060
 #, c-format
 msgid "Error: rename %s to %s"
 msgstr "Fel: byt namn pÃ¥ %s till %s"
 
-#: src/lang.c:1038
+#: src/lang.c:1061
 msgid "Reply to author..."
 msgstr ""
 
-#: src/lang.c:1039
+#: src/lang.c:1062
 msgid "Repost"
 msgstr ""
 
-#: src/lang.c:1040
+#: src/lang.c:1063
 msgid "Reposting article..."
 msgstr ""
 
-#: src/lang.c:1041
+#: src/lang.c:1064
 #, c-format
 msgid "Repost article(s) to group(s) [%s]> "
 msgstr ""
 
-#: src/lang.c:1042
+#: src/lang.c:1065
 msgid "Reset newsrc?"
 msgstr "Ã…terstÃ¤ll newsrc?"
 
-#: src/lang.c:1043
+#: src/lang.c:1066
 msgid "Responses have been directed to the following newsgroups"
 msgstr ""
 
-#: src/lang.c:1044
+#: src/lang.c:1067
 #, c-format
 msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr ""
 
-#: src/lang.c:1045
+#: src/lang.c:1068
 msgid "Press <RETURN> to continue..."
 msgstr "Tryck <RETURN> fÃ¶r att fortsÃ¤tta..."
 
-#: src/lang.c:1047
+#: src/lang.c:1070
 #, c-format
 msgid "Score: %s"
 msgstr ""
 
-#: src/lang.c:1048
+#: src/lang.c:1071
 #, c-format
 msgid "Select From    [%s] (y/n): "
 msgstr ""
 
-#: src/lang.c:1049
+#: src/lang.c:1072
 msgid "Select Lines: (</>num): "
 msgstr "VÃ¤lj rader: (</>num): "
 
-#: src/lang.c:1050
+#: src/lang.c:1073
 msgid "Auto-select Article Menu"
 msgstr ""
 
-#: src/lang.c:1051
+#: src/lang.c:1074
 #, c-format
 msgid "Select Msg-ID  [%s] (f/l/o/n): "
 msgstr ""
 
-#: src/lang.c:1052
+#: src/lang.c:1075
 msgid "Select pattern scope: "
 msgstr ""
 
-#: src/lang.c:1053
+#: src/lang.c:1076
 #, c-format
 msgid "Select Subject [%s] (y/n): "
 msgstr ""
 
-#: src/lang.c:1054
+#: src/lang.c:1077
 msgid "Select text pattern : "
 msgstr ""
 
-#: src/lang.c:1055
+#: src/lang.c:1078
 msgid "Select time in days   : "
 msgstr "VÃ¤lj tid i dagar   : "
 
-#: src/lang.c:1056
+#: src/lang.c:1079
 msgid "[k]"
 msgstr ""
 
-#: src/lang.c:1057
+#: src/lang.c:1080
 msgid "[T]"
 msgstr ""
 
-#: src/lang.c:1058
+#: src/lang.c:1081
 msgid " R"
 msgstr ""
 
-#: src/lang.c:1059
+#: src/lang.c:1082
 #, c-format
 msgid ""
 "# %s server configuration file\n"
@@ -3687,54 +3771,56 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:1065
+#: src/lang.c:1088
 msgid "Showing unread groups only"
 msgstr "Visar endast olÃ¤sta grupper"
 
-#: src/lang.c:1066
+#: src/lang.c:1089
 msgid "Subject: line (ignore case)   "
 msgstr ""
 
-#: src/lang.c:1067
+#: src/lang.c:1090
 msgid "Subject: line (case sensitive)"
 msgstr ""
 
-#: src/lang.c:1068
+#: src/lang.c:1091
 msgid "Save"
 msgstr "Spara"
 
-#: src/lang.c:1069
+#: src/lang.c:1092
 #, c-format
 msgid "Save '%s' (%s/%s)?"
 msgstr "Spara \"%s\" (%s/%s)?"
 
-#: src/lang.c:1070
+#: src/lang.c:1093
 msgid "Save configuration before continuing?"
 msgstr "Spara konfiguration fÃ¶re du fortsÃ¤tter?"
 
-#: src/lang.c:1071
+#: src/lang.c:1094
 msgid "Save filename> "
 msgstr "Spara filnamn> "
 
-#: src/lang.c:1072
+#: src/lang.c:1095
 msgid "Saved"
 msgstr "Sparad"
 
-#: src/lang.c:1073
-#, c-format
-msgid "%4d unread (%4d hot) %s in %s\n"
+#: src/lang.c:1096
+#, fuzzy, c-format
+msgid "%s unread (%s hot) %s in %s\n"
 msgstr ""
+"\n"
+"%s %d %s frÃ¥n %d %s\n"
 
-#: src/lang.c:1074
+#: src/lang.c:1097
 #, c-format
 msgid "Saved %s...\n"
 msgstr "Sparade %s...\n"
 
-#: src/lang.c:1075
+#: src/lang.c:1098
 msgid "Nothing was saved"
 msgstr "Ingenting sparades"
 
-#: src/lang.c:1076
+#: src/lang.c:1099
 #, c-format
 msgid ""
 "\n"
@@ -3743,223 +3829,223 @@ msgstr ""
 "\n"
 "%s %d %s frÃ¥n %d %s\n"
 
-#: src/lang.c:1077
+#: src/lang.c:1100
 #, c-format
 msgid "-- %s saved to %s%s --"
 msgstr "-- %s sparad till %s%s --"
 
-#: src/lang.c:1078
+#: src/lang.c:1101
 #, c-format
 msgid "-- %s saved to %s - %s --"
 msgstr "-- %s sparad till %s - %s --"
 
-#: src/lang.c:1079
+#: src/lang.c:1102
 msgid "Saving..."
 msgstr "Sparar..."
 
-#: src/lang.c:1080
+#: src/lang.c:1103
 #, c-format
 msgid "%s: Screen initialization failed"
 msgstr ""
 
-#: src/lang.c:1082
+#: src/lang.c:1105
 #, c-format
 msgid "%s: screen is too small\n"
 msgstr "%s: skÃ¤rm Ã¤r fÃ¶r liten\n"
 
-#: src/lang.c:1084
+#: src/lang.c:1107
 #, fuzzy, c-format
 msgid "screen is too small, %s is exiting"
 msgstr "skÃ¤rm Ã¤r fÃ¶r liten, %s avslutas\n"
 
-#: src/lang.c:1085
+#: src/lang.c:1108
 msgid "Delete scope?"
 msgstr ""
 
-#: src/lang.c:1086
+#: src/lang.c:1109
 #, fuzzy
 msgid "Enter scope> "
 msgstr "Ange mÃ¶nster [%s]> "
 
-#: src/lang.c:1087
+#: src/lang.c:1110
 msgid "Select new position> "
 msgstr ""
 
-#: src/lang.c:1088
+#: src/lang.c:1111
 msgid "New position cannot be a global scope"
 msgstr ""
 
-#: src/lang.c:1089
+#: src/lang.c:1112
 msgid "Global scope, operation not allowed"
 msgstr ""
 
-#: src/lang.c:1090
+#: src/lang.c:1113
 msgid "Rename scope> "
 msgstr ""
 
-#: src/lang.c:1091
+#: src/lang.c:1114
 #, fuzzy
 msgid "Select scope> "
 msgstr "VÃ¤lj grupp> "
 
-#: src/lang.c:1092
+#: src/lang.c:1115
 #, fuzzy
 msgid "Scopes Menu"
 msgstr "Alternativmenyn"
 
-#: src/lang.c:1093
+#: src/lang.c:1116
 #, fuzzy
 msgid "Scopes Menu Commands"
 msgstr "ToppnivÃ¥kommandon"
 
-#: src/lang.c:1094
+#: src/lang.c:1117
 #, c-format
 msgid "Search backwards [%s]> "
 msgstr "SÃ¶k bakÃ¥t [%s]> "
 
-#: src/lang.c:1095
+#: src/lang.c:1118
 #, c-format
 msgid "Search body [%s]> "
 msgstr ""
 
-#: src/lang.c:1096
+#: src/lang.c:1119
 #, c-format
 msgid "Search forwards [%s]> "
 msgstr "SÃ¶k framÃ¥t [%s]> "
 
-#: src/lang.c:1097
+#: src/lang.c:1120
 msgid "Searching..."
 msgstr "SÃ¶ker..."
 
-#: src/lang.c:1098
+#: src/lang.c:1121
 #, c-format
 msgid "Searching article %d of %d ('q' to abort)..."
 msgstr ""
 
-#: src/lang.c:1099
+#: src/lang.c:1122
 msgid "Select article> "
 msgstr "VÃ¤lj artikel> "
 
-#: src/lang.c:1100
+#: src/lang.c:1123
 msgid ""
 "Select option number before text or use arrow keys and <CR>. 'q' to quit."
 msgstr ""
 "VÃ¤lj alternativnummer fÃ¶re texten eller anvÃ¤nd piltangenter och <CR>. \"q\" "
 "avsluta."
 
-#: src/lang.c:1101
+#: src/lang.c:1124
 msgid "Select group> "
 msgstr "VÃ¤lj grupp> "
 
-#: src/lang.c:1102
+#: src/lang.c:1125
 #, c-format
 msgid "Enter selection pattern [%s]> "
 msgstr ""
 
-#: src/lang.c:1103
+#: src/lang.c:1126
 #, fuzzy
 msgid "Select thread> "
 msgstr "VÃ¤lj trÃ¥d > "
 
-#: src/lang.c:1104
+#: src/lang.c:1127
 #, c-format
 msgid "%s %s %s (\"%s\"): send a DETAILED bug report to %s\n"
 msgstr ""
 
-#: src/lang.c:1105
+#: src/lang.c:1128
 msgid "servers active-file"
 msgstr ""
 
-#: src/lang.c:1106
+#: src/lang.c:1129
 #, c-format
 msgid "Skipped %s"
 msgstr ""
 
-#: src/lang.c:1107
+#: src/lang.c:1130
 msgid "Cannot move into new newsgroups. Subscribe first..."
 msgstr ""
 
-#: src/lang.c:1108
+#: src/lang.c:1131
 msgid "<SPACE>"
 msgstr "<BLANKSTEG>"
 
-#: src/lang.c:1109
+#: src/lang.c:1132
 #, c-format
 msgid "Starting: (%s)"
 msgstr "Startar: (%s)"
 
-#: src/lang.c:1110
+#: src/lang.c:1133
 #, c-format
 msgid "List Thread (%d of %d)"
 msgstr "Lista trÃ¥d (%d av %d)"
 
-#: src/lang.c:1111
+#: src/lang.c:1134
 #, c-format
 msgid "Thread (%.*s)"
 msgstr "TrÃ¥d (%.*s)"
 
-#: src/lang.c:1112
+#: src/lang.c:1135
 msgid "Enter wildcard subscribe pattern> "
 msgstr ""
 
-#: src/lang.c:1113
+#: src/lang.c:1136
 #, c-format
 msgid "subscribed to %d groups"
 msgstr ""
 
-#: src/lang.c:1114
+#: src/lang.c:1137
 #, c-format
 msgid "Subscribed to %s"
 msgstr ""
 
-#: src/lang.c:1115
+#: src/lang.c:1138
 msgid "Subscribing... "
 msgstr ""
 
-#: src/lang.c:1116
+#: src/lang.c:1139
 #, c-format
 msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): "
 msgstr ""
 
-#: src/lang.c:1117
+#: src/lang.c:1140
 #, c-format
 msgid "Supersede article(s) to group(s) [%s]> "
 msgstr ""
 
-#: src/lang.c:1118
+#: src/lang.c:1141
 msgid "Superseding article ..."
 msgstr ""
 
-#: src/lang.c:1119
+#: src/lang.c:1142
 #, c-format
 msgid ""
 "\n"
 "Stopped. Type 'fg' to restart %s\n"
 msgstr ""
 
-#: src/lang.c:1121
+#: src/lang.c:1144
 #, c-format
 msgid "%d days"
 msgstr "%d dagar"
 
-#: src/lang.c:1122
+#: src/lang.c:1145
 msgid "<TAB>"
 msgstr "<TAB>"
 
-#: src/lang.c:1123
+#: src/lang.c:1146
 msgid "TeX "
 msgstr "TeX "
 
-#: src/lang.c:1124
+#: src/lang.c:1147
 #, fuzzy, c-format
 msgid "Version: %s %s release %s (\"%s\")"
 msgstr "Version: %s %s utgÃ¥va %s (\"%s\")\n"
 
-#: src/lang.c:1125
+#: src/lang.c:1148
 msgid "# Default action/prompt strings\n"
 msgstr ""
 
-#: src/lang.c:1126
+#: src/lang.c:1149
 msgid ""
 "# Defaults for quick (1 key) kill & auto-selection filters\n"
 "# header=NUM  0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n"
@@ -3970,289 +4056,299 @@ msgid ""
 "# expire=ON/OFF  ON=limit to default_filter_days OFF=don't ever expire\n"
 msgstr ""
 
-#: src/lang.c:1139
+#: src/lang.c:1162
 msgid ""
 "# If ON use print current subject or newsgroup description in the last line\n"
 msgstr ""
 
-#: src/lang.c:1140
+#: src/lang.c:1163
 msgid "# Host & time info used for detecting new groups (don't touch)\n"
 msgstr ""
 
-#: src/lang.c:1141
+#: src/lang.c:1164
 msgid "There is no news\n"
 msgstr ""
 
-#: src/lang.c:1142
+#: src/lang.c:1165
 msgid "Thread"
 msgstr "TrÃ¥d"
 
-#: src/lang.c:1143
+#: src/lang.c:1166
 msgid "Thread Level Commands"
 msgstr ""
 
-#: src/lang.c:1144
+#: src/lang.c:1167
 msgid "Thread deselected"
 msgstr ""
 
-#: src/lang.c:1145
+#: src/lang.c:1168
 msgid "Thread selected"
 msgstr ""
 
-#: src/lang.c:1146
+#: src/lang.c:1169
 msgid "thread"
 msgstr "trÃ¥d"
 
-#: src/lang.c:1147
+#: src/lang.c:1170
 #, c-format
 msgid "Thread %4s of %4s"
 msgstr "TrÃ¥d %4s av %4s"
 
-#: src/lang.c:1148
+#: src/lang.c:1171
 msgid "Threading articles..."
 msgstr "TrÃ¥dar artiklar..."
 
-#: src/lang.c:1149
+#: src/lang.c:1172
 #, fuzzy
 msgid "Threading by multipart"
 msgstr "TrÃ¥dar artiklar..."
 
-#: src/lang.c:1151
-#, fuzzy, c-format
-msgid "TLS handshake failed: %s\n"
-msgstr "Kommando misslyckades: %s"
-
-#: src/lang.c:1153
+#: src/lang.c:1175
 msgid "<failed to retrieve cipher>"
 msgstr ""
 
-#: src/lang.c:1154
+#: src/lang.c:1176
 msgid "<failed to retrieve issuer>"
 msgstr ""
 
-#: src/lang.c:1155
+#: src/lang.c:1177
 msgid "<failed to retrieve subject>"
 msgstr ""
 
-#: src/lang.c:1156
+#: src/lang.c:1178
 msgid "<failed to retrieve version>"
 msgstr ""
 
-#: src/lang.c:1157
+#: src/lang.c:1179
 #, fuzzy, c-format
 msgid "%s handshake done: %s\n"
 msgstr "Kommando misslyckades: %s"
 
-#: src/lang.c:1158 src/lang.c:1309
-#, fuzzy
-msgid "unknown error"
-msgstr "OkÃ¤nt fel."
-
-#: src/lang.c:1161
+#: src/lang.c:1182
 #, fuzzy, c-format
 msgid "TLS handshake failed: %s (%d)\n"
 msgstr "Kommando misslyckades: %s"
 
-#: src/lang.c:1162
+#: src/lang.c:1183
 #, fuzzy, c-format
 msgid "TLS peer verification failed: %s\n"
 msgstr "Kommando misslyckades: %s"
 
-#: src/lang.c:1163
+#: src/lang.c:1184
 #, c-format
 msgid "TLS peer verification failed, continuing anyway as requested: %s\n"
 msgstr ""
 
-#: src/lang.c:1164
+#: src/lang.c:1185
 msgid "<unable to retrieve status>"
 msgstr ""
 
-#: src/lang.c:1165
+#: src/lang.c:1186
 msgid "unexpected certificate verification status!"
 msgstr ""
 
-#: src/lang.c:1168
+#: src/lang.c:1189
 #, c-format
 msgid ""
 "TLS peer verification failed: %s.\n"
 "Continuing anyway as requested.\n"
 msgstr ""
 
-#: src/lang.c:1171
+#: src/lang.c:1192
 #, fuzzy, c-format
 msgid "TLS handshake done: %s\n"
 msgstr "Kommando misslyckades: %s"
 
-#: src/lang.c:1174
+#: src/lang.c:1195
+#, fuzzy, c-format
+msgid "TLS handshake failed: %s\n"
+msgstr "Kommando misslyckades: %s"
+
+#: src/lang.c:1198
 #, c-format
 msgid "Toggled word highlighting %s"
 msgstr ""
 
-#: src/lang.c:1175
+#: src/lang.c:1199
 msgid "Toggled rot13 encoding"
 msgstr ""
 
-#: src/lang.c:1176
+#: src/lang.c:1200
 #, c-format
 msgid "Toggled German TeX encoding %s"
 msgstr ""
 
-#: src/lang.c:1177
+#: src/lang.c:1201
 #, c-format
 msgid "Toggled tab-width to %d"
 msgstr ""
 
-#: src/lang.c:1179
+#: src/lang.c:1203
 #, c-format
 msgid "%d Trying to dotlock %s"
 msgstr ""
 
-#: src/lang.c:1180
+#: src/lang.c:1204
 #, c-format
 msgid "%d Trying to lock %s"
 msgstr "%d FÃ¶rsÃ¶ker att lÃ¥sa %s"
 
-#: src/lang.c:1182
+#: src/lang.c:1206
 #, fuzzy, c-format
 msgid "%s=help"
 msgstr "%s=hjÃ¤lp"
 
-#: src/lang.c:1184
+#: src/lang.c:1208
 msgid "Unlimited"
 msgstr "ObegrÃ¤nsad"
 
-#: src/lang.c:1185
+#: src/lang.c:1209
 msgid "Enter wildcard unsubscribe pattern> "
 msgstr ""
 
-#: src/lang.c:1186
+#: src/lang.c:1210
 #, c-format
 msgid "Error decoding %s : %s"
 msgstr "Fel vid avkodning av %s : %s"
 
-#: src/lang.c:1187
+#: src/lang.c:1211
 msgid "No end."
 msgstr "Inget slut."
 
-#: src/lang.c:1188
+#: src/lang.c:1212
 #, c-format
 msgid "%s successfully decoded."
 msgstr "%s lyckades avkodas."
 
-#: src/lang.c:1189
+#: src/lang.c:1214
 msgid "unchanged"
 msgstr "ofÃ¶rÃ¤ndrad"
 
-#: src/lang.c:1190
+#: src/lang.c:1216
 msgid "(unknown)"
 msgstr "(okÃ¤nd)"
 
-#: src/lang.c:1191
+#: src/lang.c:1218
+#, fuzzy
+msgid "unknown error"
+msgstr "OkÃ¤nt fel."
+
+#: src/lang.c:1220
 msgid "unread"
 msgstr "olÃ¤st"
 
-#: src/lang.c:1192
+#: src/lang.c:1221
 #, c-format
 msgid "unsubscribed from %d groups"
 msgstr ""
 
-#: src/lang.c:1193
+#: src/lang.c:1222
 #, c-format
 msgid "Unsubscribed from %s"
 msgstr ""
 
-#: src/lang.c:1194
+#: src/lang.c:1223
 msgid "Unsubscribing... "
 msgstr ""
 
-#: src/lang.c:1195
+#: src/lang.c:1224
 msgid "Unthreading articles..."
 msgstr ""
 
-#: src/lang.c:1196
+#: src/lang.c:1225
 msgid "Updated"
 msgstr "Uppdaterad"
 
-#: src/lang.c:1197
+#: src/lang.c:1226
 msgid "Updating"
 msgstr "Uppdaterar"
 
-#: src/lang.c:1198
+#: src/lang.c:1227
 msgid "URL Menu"
 msgstr ""
 
-#: src/lang.c:1199
+#: src/lang.c:1228
 #, fuzzy
 msgid "URL Menu Commands"
 msgstr "ToppnivÃ¥kommandon"
 
-#: src/lang.c:1200
+#: src/lang.c:1229
 #, fuzzy, c-format
 msgid "Opening %s"
 msgstr "Ã–ppnar %s"
 
-#: src/lang.c:1201
+#: src/lang.c:1230
 #, fuzzy
 msgid "Select URL> "
 msgstr "VÃ¤lj grupp> "
 
-#: src/lang.c:1202
+#: src/lang.c:1231
 #, fuzzy
 msgid "No URLs in this article"
 msgstr "Inga fler URL:er i denna artikel"
 
-#: src/lang.c:1203
-msgid "Use MIME display program for this message?"
+#: src/lang.c:1233
+#, c-format
+msgid "SASL MECHS    : %s\n"
 msgstr ""
 
-#: src/lang.c:1204
+#: src/lang.c:1234
+#, c-format
+msgid "SASL MECH used: %s\n"
+msgstr ""
+
+#: src/lang.c:1236
 msgid "  -c       mark all news as read in subscribed newsgroups (batch mode)"
 msgstr ""
 
-#: src/lang.c:1205
+#: src/lang.c:1237
 msgid "  -Z       return status indicating if any unread news (batch mode)"
 msgstr ""
 
-#: src/lang.c:1206
+#: src/lang.c:1238
 msgid "  -q       don't check for new newsgroups"
 msgstr ""
 
-#: src/lang.c:1207
+#: src/lang.c:1239
 msgid "  -X       don't save any files on quit"
 msgstr ""
 
-#: src/lang.c:1208
+#: src/lang.c:1240
 msgid "  -d       don't show newsgroup descriptions"
 msgstr ""
 
-#: src/lang.c:1209
+#: src/lang.c:1241
 msgid "  -G limit get only limit articles/group"
 msgstr ""
 
-#: src/lang.c:1210
+#: src/lang.c:1242
 #, c-format
 msgid "  -H       help information about %s"
 msgstr ""
 
-#: src/lang.c:1211
+#: src/lang.c:1243
 msgid "  -h       this help message"
 msgstr "  -h       detta hjÃ¤lpmeddelande"
 
-#: src/lang.c:1212
+#: src/lang.c:1244
 #, c-format
 msgid "  -I dir   news index file directory [default=%s]"
 msgstr ""
 
-#: src/lang.c:1213
+#: src/lang.c:1246
+msgid "  -L msgid show the message with that Message-ID"
+msgstr ""
+
+#: src/lang.c:1248
 msgid "  -u       update index files (batch mode)"
 msgstr ""
 
-#: src/lang.c:1214
+#: src/lang.c:1249
 #, c-format
 msgid "  -m dir   mailbox directory [default=%s]"
 msgstr ""
 
-#: src/lang.c:1215
+#: src/lang.c:1250
 #, c-format
 msgid ""
 "\n"
@@ -4262,49 +4358,54 @@ msgstr ""
 "Skicka felrapporter/kommentarer till %s\n"
 "Rapportera synpunkter pÃ¥ Ã¶versÃ¤ttningen till <tp-sv@listor.tp-sv.se>."
 
-#: src/lang.c:1216
+#: src/lang.c:1251
 msgid "  -N       mail new news to your posts (batch mode)"
 msgstr ""
 
-#: src/lang.c:1217
+#: src/lang.c:1252
 msgid "  -M user  mail new news to specified user (batch mode)"
 msgstr ""
 
-#: src/lang.c:1218
+#: src/lang.c:1253
 #, c-format
 msgid "  -f file  subscribed to newsgroups file [default=%s]"
 msgstr ""
 
-#: src/lang.c:1219
+#: src/lang.c:1255
+#, c-format
+msgid "  -t sec   override nntp_read_timeout_secs setting [default=%d]"
+msgstr ""
+
+#: src/lang.c:1257
 msgid "  -x       no-posting mode"
 msgstr ""
 
-#: src/lang.c:1220
+#: src/lang.c:1258
 msgid "  -w       post an article and exit"
 msgstr "  -w       posta en artikel och avsluta"
 
-#: src/lang.c:1221
+#: src/lang.c:1259
 msgid "  -o       post all postponed articles and exit"
 msgstr ""
 
-#: src/lang.c:1222
+#: src/lang.c:1260
 msgid "  -R       read news saved by -S option"
 msgstr ""
 
-#: src/lang.c:1223
+#: src/lang.c:1261
 #, c-format
 msgid "  -s dir   save news directory [default=%s]"
 msgstr ""
 
-#: src/lang.c:1224
+#: src/lang.c:1262
 msgid "  -S       save new news for later reading (batch mode)"
 msgstr ""
 
-#: src/lang.c:1225
+#: src/lang.c:1263
 msgid "  -z       start if any unread news"
 msgstr "  -z       starta om det finns olÃ¤sta diskussioner"
 
-#: src/lang.c:1226
+#: src/lang.c:1264
 #, c-format
 msgid ""
 "A Usenet reader.\n"
@@ -4315,66 +4416,73 @@ msgstr ""
 "\n"
 "AnvÃ¤ndning: %s [flaggor] [diskussionsgrupp[,...]]"
 
-#: src/lang.c:1227
+#: src/lang.c:1265
 msgid "  -v       verbose output for batch mode options"
 msgstr ""
 
-#: src/lang.c:1228
+#: src/lang.c:1266
 msgid "  -V       print version & date information"
 msgstr "  -V       skriv ut version & datuminformation"
 
-#: src/lang.c:1229
+#: src/lang.c:1267
+msgid "Use MIME display program for this message?"
+msgstr ""
+
+#: src/lang.c:1268
 #, c-format
-msgid "%s only useful without batch mode operations\n"
+msgid "%s only useful without batch mode operations.%s\n"
 msgstr ""
 
-#: src/lang.c:1230
+#: src/lang.c:1269
 #, c-format
-msgid "%s only useful for batch mode operations\n"
+msgid "%s only useful for batch mode operations.%s\n"
 msgstr ""
 
-#: src/lang.c:1231
+#: src/lang.c:1270
 #, c-format
-msgid "%s only useful for batch or debug mode operations\n"
+msgid "%s only useful for batch or debug mode operations.%s\n"
 msgstr ""
 
-#: src/lang.c:1232
+#: src/lang.c:1271
 #, c-format
-msgid "Useless combination %s and %s. Ignoring %s.\n"
+msgid "Useless combination %s and %s. Ignoring %s.%s\n"
 msgstr ""
 
-#: src/lang.c:1233
+#: src/lang.c:1272
 msgid "uuencoded file"
 msgstr ""
 
-#: src/lang.c:1234
+#: src/lang.c:1273
 #, fuzzy
 msgid "incomplete uuencoded file"
 msgstr "ej komplett "
 
-#: src/lang.c:1237
+#: src/lang.c:1276
 #, c-format
 msgid "Valid not after : %s\n"
 msgstr ""
 
-#: src/lang.c:1238
+#: src/lang.c:1277
 #, c-format
 msgid "Valid not before: %s\n"
 msgstr ""
 
-#: src/lang.c:1240
+#: src/lang.c:1279
 #, c-format
-msgid ""
-"\n"
-"%s%d out of range (0 - %d). Reset to 0"
+msgid "%s %s out of range (%d - %d). Ignored."
 msgstr ""
 
-#: src/lang.c:1241
+#: src/lang.c:1280
+#, c-format
+msgid "%s %d out of range (0 - %d). Reset to 0."
+msgstr ""
+
+#: src/lang.c:1281
 #, c-format
 msgid "View '%s' (%s/%s)?"
 msgstr "Visa \"%s\" (%s/%s)?"
 
-#: src/lang.c:1243
+#: src/lang.c:1283
 #, c-format
 msgid ""
 "\n"
@@ -4382,33 +4490,39 @@ msgid ""
 "%-100s\n"
 msgstr ""
 
-#: src/lang.c:1244
+#: src/lang.c:1284
 msgid ""
 "\n"
 "Warning: article unchanged after editing\n"
 msgstr ""
 
-#: src/lang.c:1245
+#: src/lang.c:1285
 msgid ""
 "\n"
 "Warning: \"Subject:\" contains only whitespaces.\n"
 msgstr ""
 
-#: src/lang.c:1246
+#: src/lang.c:1286
 msgid ""
 "\n"
 "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:"
 "\".\n"
 msgstr ""
 
-#: src/lang.c:1248
+#: src/lang.c:1288
 msgid ""
 "\n"
 "Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
 "         with \"Re: \" and does not contain \"(was:\".\n"
 msgstr ""
 
-#: src/lang.c:1251
+#: src/lang.c:1291
+msgid ""
+"\n"
+"Warning: \"Subject:\" contains only \"Re:\".\n"
+msgstr ""
+
+#: src/lang.c:1292
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4422,7 +4536,13 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:1255
+#: src/lang.c:1296
+msgid ""
+"\n"
+"Warning: Undesired Distribution \"world\" used.\n"
+msgstr ""
+
+#: src/lang.c:1297
 msgid ""
 "\n"
 "Warning: You are using a non-plain transfer encoding (such as base64 or\n"
@@ -4431,7 +4551,7 @@ msgid ""
 "         not be encoded properly.\n"
 msgstr ""
 
-#: src/lang.c:1261
+#: src/lang.c:1303
 #, c-format
 msgid ""
 "\n"
@@ -4439,7 +4559,7 @@ msgid ""
 "is neither set to %s nor to %s.\n"
 msgstr ""
 
-#: src/lang.c:1265
+#: src/lang.c:1307
 #, c-format
 msgid ""
 "\n"
@@ -4448,7 +4568,7 @@ msgid ""
 "posting doesn't contain any 8bit chars and thus folding won't happen.\n"
 msgstr ""
 
-#: src/lang.c:1269
+#: src/lang.c:1311
 #, c-format
 msgid ""
 "\n"
@@ -4456,13 +4576,13 @@ msgid ""
 "is not set to %s.\n"
 msgstr ""
 
-#: src/lang.c:1272
+#: src/lang.c:1314
 msgid ""
 "\n"
 "Warning: \"example\" is a reserved hierarchy!\n"
 msgstr ""
 
-#: src/lang.c:1273
+#: src/lang.c:1315
 #, c-format
 msgid ""
 "\n"
@@ -4472,7 +4592,7 @@ msgid ""
 "Read WHATSNEW, etc...\n"
 msgstr ""
 
-#: src/lang.c:1275
+#: src/lang.c:1317
 #, c-format
 msgid ""
 "\n"
@@ -4481,7 +4601,7 @@ msgid ""
 "Some values in your %s file may be ignored, others might have changed!\n"
 msgstr ""
 
-#: src/lang.c:1278
+#: src/lang.c:1320
 #, c-format
 msgid ""
 "Warning: tin wrote fewer groups to your\n"
@@ -4491,19 +4611,37 @@ msgid ""
 "before you start tin once again!\n"
 msgstr ""
 
-#: src/lang.c:1282
+#: src/lang.c:1324
+#, c-format
+msgid ""
+"\n"
+"Warning: The article has multiple addresses in \"%s\".\n"
+"         This is at least uncommon.\n"
+msgstr ""
+
+#: src/lang.c:1327
+#, c-format
+msgid ""
+"\n"
+"Warning: With multiple addresses in \"From\", a \"Sender\"-header is\n"
+"         required, but its generation is deactivated by the global\n"
+"         configuration \"disable_sender=ON\" in\n"
+"         \"%s\".\n"
+msgstr ""
+
+#: src/lang.c:1332
 #, c-format
 msgid ""
 "\n"
 "Warning: Found %d '-- \\n' lines, this may confuse some people.\n"
 msgstr ""
 
-#: src/lang.c:1283
+#: src/lang.c:1333
 #, c-format
 msgid "Warning: Only %d out of %d articles were saved"
 msgstr ""
 
-#: src/lang.c:1284
+#: src/lang.c:1334
 #, c-format
 msgid ""
 "\n"
@@ -4514,102 +4652,102 @@ msgid ""
 "         possible.\n"
 msgstr ""
 
-#: src/lang.c:1288
+#: src/lang.c:1338
 #, c-format
 msgid ""
 "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
 msgstr ""
 
-#: src/lang.c:1289
+#: src/lang.c:1339
 #, c-format
 msgid ""
 "Warning: line %d contains unprintable chars:\n"
 "%s\n"
 msgstr ""
 
-#: src/lang.c:1290
+#: src/lang.c:1340
 msgid ""
 "\n"
 "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
 msgstr ""
 
-#: src/lang.c:1291
+#: src/lang.c:1341
 msgid "Writing attributes file..."
 msgstr "Skriver attributfil..."
 
-#: src/lang.c:1292
+#: src/lang.c:1342
 #, fuzzy, c-format
 msgid "Writing %s\n"
 msgstr "FÃ¶rsÃ¶ker med %s"
 
-#: src/lang.c:1293
+#: src/lang.c:1343
 #, fuzzy
 msgid "Writing overview cache..."
 msgstr "Skriver attributfil..."
 
-#: src/lang.c:1295
+#: src/lang.c:1345
 #, fuzzy, c-format
 msgid "%4d Responses"
 msgstr "%d svar"
 
-#: src/lang.c:1297
+#: src/lang.c:1347
 msgid "Can't run slrnface: couldn't construct fifo name."
 msgstr ""
 
-#: src/lang.c:1298
+#: src/lang.c:1348
 #, c-format
 msgid "Can't run slrnface: failed to create %s"
 msgstr ""
 
-#: src/lang.c:1299
+#: src/lang.c:1349
 #, c-format
 msgid "Slrnface abnormally exited, code %d."
 msgstr ""
 
-#: src/lang.c:1300
+#: src/lang.c:1350
 #, c-format
 msgid "Slrnface failed: %s."
 msgstr ""
 
-#: src/lang.c:1301
+#: src/lang.c:1352
 #, c-format
 msgid "Can't run slrnface: Environment variable %s not found."
 msgstr ""
 
-#: src/lang.c:1302
+#: src/lang.c:1354
 msgid "Can't run slrnface: Not running in an xterm."
 msgstr ""
 
-#: src/lang.c:1303
+#: src/lang.c:1357
 msgid "couldn't connect to display"
 msgstr ""
 
-#: src/lang.c:1304
+#: src/lang.c:1358
 #, fuzzy
 msgid "can't open FIFO"
 msgstr "Kan inte Ã¶ppna %s"
 
-#: src/lang.c:1305
+#: src/lang.c:1359
 msgid "executable not found"
 msgstr ""
 
-#: src/lang.c:1306
+#: src/lang.c:1360
 msgid "fork() failed"
 msgstr ""
 
-#: src/lang.c:1307
+#: src/lang.c:1361
 msgid "couldn't find controlling terminal"
 msgstr ""
 
-#: src/lang.c:1308
+#: src/lang.c:1362
 msgid "terminal doesn't export width and height"
 msgstr ""
 
-#: src/lang.c:1310
+#: src/lang.c:1363
 msgid "WINDOWID not found in environment"
 msgstr ""
 
-#: src/lang.c:1311
+#: src/lang.c:1364
 msgid ""
 "This directory is used to create named pipes for communication between\n"
 "slrnface and its parent process. It should normally be empty because\n"
@@ -4623,28 +4761,28 @@ msgid ""
 "Do not try to remove them.\n"
 msgstr ""
 
-#: src/lang.c:1324
+#: src/lang.c:1377
 #, c-format
 msgid "Added %d %s"
 msgstr "Lade till %d %s"
 
-#: src/lang.c:1325
+#: src/lang.c:1378
 msgid "No unsubscribed groups to show"
 msgstr ""
 
-#: src/lang.c:1326
+#: src/lang.c:1379
 msgid "Showing subscribed to groups only"
 msgstr ""
 
-#: src/lang.c:1327
+#: src/lang.c:1380
 msgid "Yes "
 msgstr "Ja "
 
-#: src/lang.c:1328
+#: src/lang.c:1381
 msgid "You have mail"
 msgstr "Du har post"
 
-#: src/lang.c:1333
+#: src/lang.c:1386
 #, c-format
 msgid ""
 "\n"
@@ -4657,11 +4795,11 @@ msgid ""
 "         M)enu option.\n"
 msgstr ""
 
-#: src/lang.c:1344
+#: src/lang.c:1397
 msgid "  -D mode  debug mode"
 msgstr ""
 
-#: src/lang.c:1348
+#: src/lang.c:1401
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4678,11 +4816,11 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:1357
+#: src/lang.c:1410
 msgid "toggle color"
 msgstr "vÃ¤xla fÃ¤rg"
 
-#: src/lang.c:1358
+#: src/lang.c:1411
 msgid ""
 "# Changing colors of several screen parts\n"
 "# Possible values are:\n"
@@ -4707,330 +4845,331 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:1378
+#: src/lang.c:1431
 msgid "  -a       toggle color flag"
 msgstr ""
 
-#: src/lang.c:1382
+#: src/lang.c:1435
 msgid ""
 "\n"
 "Error: Followup-To set to more than one newsgroup!\n"
 msgstr ""
 
-#: src/lang.c:1383
+#: src/lang.c:1436
 #, c-format
 msgid ""
 "\n"
 "Error: \"%s\" is renamed, use \"%s\" instead!\n"
 msgstr ""
 
-#: src/lang.c:1384
+#: src/lang.c:1437
 #, c-format
 msgid ""
 "\n"
 "Error: cross-posting to %d newsgroups and no Followup-To line!\n"
 msgstr ""
 
-#: src/lang.c:1385
+#: src/lang.c:1438
 #, c-format
 msgid ""
 "\n"
 "Error: \"%s\" is not a valid newsgroup!\n"
 msgstr ""
 
-#: src/lang.c:1387
+#: src/lang.c:1440
 msgid ""
 "\n"
 "Warning: Followup-To set to more than one newsgroup!\n"
 msgstr ""
 
-#: src/lang.c:1388
+#: src/lang.c:1441
 #, c-format
 msgid ""
 "\n"
 "Warning: \"%s\" is renamed, you should use \"%s\" instead!\n"
 msgstr ""
 
-#: src/lang.c:1389
+#: src/lang.c:1442
 #, c-format
 msgid ""
 "\n"
 "Warning: cross-posting to %d newsgroups and no Followup-To line!\n"
 msgstr ""
 
-#: src/lang.c:1390
+#: src/lang.c:1443
 #, c-format
 msgid ""
 "\n"
 "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n"
 msgstr ""
 
-#: src/lang.c:1391
+#: src/lang.c:1444
 #, c-format
 msgid ""
 "\n"
 "Warning: \"%s\" is not a valid newsgroup at this site!\n"
 msgstr ""
 
-#: src/lang.c:1395
+#: src/lang.c:1448
 #, c-format
 msgid "%d files successfully written from %d articles. %d %s occurred."
 msgstr ""
 
-#: src/lang.c:1396
+#: src/lang.c:1449
 msgid "Missing parts."
 msgstr ""
 
-#: src/lang.c:1397
+#: src/lang.c:1450
 msgid "No beginning."
 msgstr "Ingen bÃ¶rjan."
 
-#: src/lang.c:1398
+#: src/lang.c:1451
 msgid "No data."
 msgstr "Inget data."
 
-#: src/lang.c:1399
+#: src/lang.c:1452
 msgid "Unknown error."
 msgstr "OkÃ¤nt fel."
 
-#: src/lang.c:1402
-#, c-format
-msgid "\tChecksum of %s (%ld %s)"
-msgstr "\tKontrollsumma fÃ¶r %s (%ld %s)"
-
-#: src/lang.c:1407
-msgid "Reading mail active file... "
-msgstr ""
+#: src/lang.c:1456
+#, fuzzy, c-format
+msgid "Reading mail active file: %s"
+msgstr "LÃ¤ser keymap-fil: %s\n"
 
-#: src/lang.c:1408
-msgid "Reading mailgroups file... "
-msgstr ""
+#: src/lang.c:1457
+#, fuzzy, c-format
+msgid "Reading mailgroups file: %s"
+msgstr "LÃ¤ser keymap-fil: %s\n"
 
-#: src/lang.c:1412
+#: src/lang.c:1461
 msgid "perform PGP operations on article"
 msgstr "genomfÃ¶r PGP-operationer pÃ¥ artikel"
 
-#: src/lang.c:1413
+#: src/lang.c:1462
 msgid "Add key(s) to public keyring?"
 msgstr ""
 
-#: src/lang.c:1414
+#: src/lang.c:1463
 #, c-format
 msgid "%s=encrypt, %s=sign, %s=both, %s=quit: "
 msgstr "%s=kryptera, %s=signera, %s=bÃ¥da, %s=avsluta: "
 
-#: src/lang.c:1415
+#: src/lang.c:1464
 #, c-format
 msgid "%s=sign, %s=sign & include public key, %s=quit: "
 msgstr "%s=signera, %s=signera & inkludera publik nyckel, %s=avsluta: "
 
-#: src/lang.c:1416
+#: src/lang.c:1465
 #, c-format
 msgid "PGP has not been set up (can't open %s)"
 msgstr ""
 
-#: src/lang.c:1417
+#: src/lang.c:1466
 msgid "Article not signed and no public keys found"
 msgstr ""
 
-#: src/lang.c:1419
+#: src/lang.c:1468
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:1420
+#: src/lang.c:1469
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: "
 msgstr ""
 
-#: src/lang.c:1421
+#: src/lang.c:1470
 #, c-format
 msgid ""
 "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 
-#: src/lang.c:1423
+#: src/lang.c:1472
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:1424
+#: src/lang.c:1473
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: "
 msgstr ""
 
-#: src/lang.c:1425
+#: src/lang.c:1474
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 
-#: src/lang.c:1429
+#: src/lang.c:1478
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:1430
+#: src/lang.c:1479
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: "
 msgstr ""
 
-#: src/lang.c:1431
+#: src/lang.c:1480
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 
-#: src/lang.c:1433
+#: src/lang.c:1482
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:1434
+#: src/lang.c:1483
 #, c-format
 msgid "%s=quit, %s=edit, %s=send [%%s]: "
 msgstr ""
 
-#: src/lang.c:1435
+#: src/lang.c:1484
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 
-#: src/lang.c:1441
+#: src/lang.c:1489
 msgid "Try cache_overview_files to speed up things.\n"
 msgstr ""
 
-#: src/lang.c:1442
+#: src/lang.c:1490
 msgid "Tin will use local index files instead.\n"
 msgstr ""
 
-#: src/lang.c:1443
+#: src/lang.c:1491
 msgid "Cannot find NNTP server name"
 msgstr ""
 
-#: src/lang.c:1444
+#: src/lang.c:1492
 msgid "CAPABILITIES did not announce READER"
 msgstr ""
 
-#: src/lang.c:1445
+#: src/lang.c:1493
 #, c-format
 msgid "Connecting to %s:%u..."
 msgstr "Ansluter till %s:%u..."
 
-#: src/lang.c:1446
+#: src/lang.c:1494
 msgid "NNTP connection error. Exiting..."
 msgstr ""
 
-#: src/lang.c:1447
+#: src/lang.c:1495
 #, fuzzy
 msgid "Disconnecting from server..."
 msgstr "Kopplar ner frÃ¥n server...\n"
 
-#: src/lang.c:1448
+#: src/lang.c:1496
 #, c-format
 msgid "Failed to connect to NNTP server %s. Exiting..."
 msgstr ""
 
-#: src/lang.c:1449
+#: src/lang.c:1497
 msgid "205  Closing connection"
 msgstr "205  StÃ¤nger anslutning"
 
-#: src/lang.c:1450
+#: src/lang.c:1498
 msgid "Your server does not support the NNTP XOVER or OVER command.\n"
 msgstr ""
 
-#: src/lang.c:1452
+#: src/lang.c:1499
 #, c-format
 msgid "Port isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1453
+#: src/lang.c:1500
+#, c-format
+msgid "%s argument is not numeric: %s\n"
+msgstr ""
+
+#: src/lang.c:1502
 #, c-format
 msgid "Port in %s isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1454
+#: src/lang.c:1503
 #, c-format
 msgid "reconnect (%d) limit %d reached, giving up."
 msgstr ""
 
-#: src/lang.c:1456
+#: src/lang.c:1505
 msgid "Connection to news server has timed out. Reconnect?"
 msgstr ""
 
-#: src/lang.c:1457
+#: src/lang.c:1506
 #, c-format
 msgid ""
 "Put the server name in the file %s,\n"
 "or set the environment variable NNTPSERVER"
 msgstr ""
 
-#: src/lang.c:1459
+#: src/lang.c:1508
 #, fuzzy
 msgid "Continuing..."
 msgstr "Skriver ut..."
 
-#: src/lang.c:1460
-#, c-format
-msgid "Read timeout from server (%d seconds) - quit tin?"
+#: src/lang.c:1509
+msgid "Read timeout from server - quit tin?"
 msgstr ""
 
-#: src/lang.c:1461
+#: src/lang.c:1510
 msgid "  -C       try COMPRESS NNTP extension"
 msgstr ""
 
-#: src/lang.c:1463
+#: src/lang.c:1512
 msgid "  -A       force authentication on connect"
 msgstr "  -A       tvinga autentisering vid anslutning"
 
-#: src/lang.c:1464
+#: src/lang.c:1513
 #, c-format
 msgid "  -g serv  read news from NNTP server serv [default=%s]"
 msgstr ""
 
-#: src/lang.c:1465
+#: src/lang.c:1514
 #, c-format
 msgid "  -p port  use port as NNTP port [default=%d]"
 msgstr ""
 
-#: src/lang.c:1467
+#: src/lang.c:1516
 msgid "  -k       skip verification for NNTPS"
 msgstr ""
 
-#: src/lang.c:1468
+#: src/lang.c:1517
 msgid "  -T       enable NNTPS"
 msgstr ""
 
-#: src/lang.c:1470
+#: src/lang.c:1519
 #, fuzzy
 msgid "  -Q       quick start. Same as -dnq"
 msgstr "  -Q       snabbstart. Samma som -dnq"
 
-#: src/lang.c:1471
+#: src/lang.c:1520
 msgid "  -r       read news remotely from default NNTP server"
 msgstr ""
 
-#: src/lang.c:1472
+#: src/lang.c:1521
 msgid "  -l       use only LIST instead of GROUP (-n) command"
 msgstr ""
 
-#: src/lang.c:1473
+#: src/lang.c:1522
 msgid "  -n       only read subscribed .newsrc groups from NNTP server"
 msgstr ""
 
-#: src/lang.c:1475
+#: src/lang.c:1524
 msgid "  -4       force connecting via IPv4"
 msgstr ""
 
-#: src/lang.c:1476
+#: src/lang.c:1525
 msgid "  -6       force connecting via IPv6"
 msgstr ""
 
-#: src/lang.c:1477
+#: src/lang.c:1526
 msgid ""
 "\n"
 "socket or connect problem\n"
 msgstr ""
 
-#: src/lang.c:1479
+#: src/lang.c:1528
 #, c-format
 msgid ""
 "\n"
@@ -5039,105 +5178,105 @@ msgstr ""
 "\n"
 "Anslutning till %s: "
 
-#: src/lang.c:1480
+#: src/lang.c:1529
 msgid "Giving up...\n"
 msgstr "Ger upp...\n"
 
-#: src/lang.c:1482
+#: src/lang.c:1531
 #, c-format
 msgid "%s/tcp: Unknown service.\n"
 msgstr "%s/tcp: OkÃ¤nd tjÃ¤nst.\n"
 
-#: src/lang.c:1486
+#: src/lang.c:1535
 msgid ""
 "Your server does not have Xref: in its XOVER information.\n"
 "Tin will try to use XHDR XREF instead (slows down things a bit).\n"
 msgstr ""
 
-#: src/lang.c:1489
+#: src/lang.c:1538
 msgid "Your server does not have Xref: in its XOVER information.\n"
 msgstr ""
 
-#: src/lang.c:1492
+#: src/lang.c:1541
 #, fuzzy, c-format
 msgid "Can't open %s. Try %s -r to read news via NNTP."
 msgstr ""
 "Kan inte Ã¶ppna %s. FÃ¶rsÃ¶k med %s -r fÃ¶r att lÃ¤sa diskussionsgrupper via "
 "NNTP.\n"
 
-#: src/lang.c:1495
+#: src/lang.c:1544
 #, fuzzy
 msgid "  -Q       quick start. Same as -dq"
 msgstr "  -Q       snabbstart. Samma som -dq"
 
-#: src/lang.c:1496
+#: src/lang.c:1545
 msgid "  -l       read only active file instead of scanning spool (-n) command"
 msgstr ""
 
-#: src/lang.c:1497
+#: src/lang.c:1546
 msgid "  -n       only read subscribed .newsrc groups from spool"
 msgstr ""
 
-#: src/lang.c:1498
+#: src/lang.c:1547
 msgid "Your server does not have Xref: in its NOV-files.\n"
 msgstr "Din server har inte Xref: i sina NOV-filer.\n"
 
-#: src/lang.c:1502
+#: src/lang.c:1551
 msgid "Posting using external inews failed. Use built in inews instead?"
 msgstr ""
 
-#: src/lang.c:1503
+#: src/lang.c:1552
 msgid "It worked! Should I always use my built in inews from now on?"
 msgstr ""
 
-#: src/lang.c:1507
+#: src/lang.c:1556
 #, c-format
 msgid "%d %s printed"
 msgstr "%d %s utskriven"
 
-#: src/lang.c:1508
+#: src/lang.c:1557
 msgid "output article/thread/hot/pattern/tagged articles to printer"
 msgstr ""
 
-#: src/lang.c:1509
+#: src/lang.c:1558
 msgid "Print"
 msgstr "Skriv ut"
 
-#: src/lang.c:1510
+#: src/lang.c:1559
 msgid "Printing..."
 msgstr "Skriver ut..."
 
-#: src/lang.c:1514
+#: src/lang.c:1563
 #, fuzzy, c-format
 msgid "%d %s piped to \"%s\""
 msgstr "%d %s utskriven"
 
-#: src/lang.c:1515
+#: src/lang.c:1564
 msgid "pipe article/thread/hot/pattern/tagged articles into command"
 msgstr ""
 
-#: src/lang.c:1516
+#: src/lang.c:1565
 msgid "No command"
 msgstr "Inget kommando"
 
-#: src/lang.c:1517
+#: src/lang.c:1566
 msgid "Pipe"
 msgstr "RÃ¶r"
 
-#: src/lang.c:1518
+#: src/lang.c:1567
 #, fuzzy, c-format
 msgid "Pipe to command [%.*s]> "
 msgstr "Ã–ppna rÃ¶r till kommando [%.*s]> "
 
-#: src/lang.c:1519
+#: src/lang.c:1568
 msgid "Piping..."
 msgstr ""
 
-#: src/lang.c:1521
+#: src/lang.c:1570
 msgid "Piping not enabled."
 msgstr ""
 
-#: src/lang.c:1525
+#: src/lang.c:1574
 #, c-format
 msgid ""
 "\n"
@@ -5147,7 +5286,7 @@ msgid ""
 "       newsgroup names.\n"
 msgstr ""
 
-#: src/lang.c:1530
+#: src/lang.c:1579
 #, c-format
 msgid ""
 "\n"
@@ -5156,7 +5295,7 @@ msgid ""
 "       Please write all newsgroups into a single line.\n"
 msgstr ""
 
-#: src/lang.c:1535
+#: src/lang.c:1584
 #, c-format
 msgid ""
 "\n"
@@ -5165,14 +5304,14 @@ msgid ""
 "         To avoid trouble please write all newsgroups into a single line.\n"
 msgstr ""
 
-#: src/lang.c:1539
+#: src/lang.c:1588
 #, c-format
 msgid ""
 "\n"
 "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n"
 msgstr ""
 
-#: src/lang.c:1544
+#: src/lang.c:1593
 msgid ""
 "\n"
 "  If your article contains quoted text  please take some time to pare it "
@@ -5194,623 +5333,623 @@ msgid ""
 "  likely to ignore it completely.  It's a crowded net out there.\n"
 msgstr ""
 
-#: src/lang.c:1557
+#: src/lang.c:1606
 msgid "shell escape"
 msgstr ""
 
-#: src/lang.c:1558
+#: src/lang.c:1607
 #, c-format
 msgid "Shell Command (%s)"
 msgstr "Skalkommando (%s)"
 
-#: src/lang.c:1559
+#: src/lang.c:1608
 #, c-format
 msgid "Enter shell command [%s]> "
 msgstr "Ange skalkommando [%s]> "
 
-#: src/lang.c:1563
+#: src/lang.c:1612
 #, c-format
 msgid "%s: Can't get entry for TERM\n"
 msgstr ""
 
-#: src/lang.c:1567
+#: src/lang.c:1616
 #, c-format
 msgid "Group %.*s ('q' to quit)..."
 msgstr "Grupp %.*s (\"q\" fÃ¶r att avsluta)..."
 
-#: src/lang.c:1569
+#: src/lang.c:1618
 #, c-format
 msgid "Group %.*s..."
 msgstr "Grupp %.*s..."
 
-#: src/lang.c:1573
+#: src/lang.c:1622
 msgid "Server unavailable\n"
 msgstr "Server ej tillgÃ¤nglig\n"
 
-#: src/lang.c:1579
+#: src/lang.c:1628
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
 "%s=post"
 msgstr ""
 
-#: src/lang.c:1580
+#: src/lang.c:1629
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1582
+#: src/lang.c:1631
 #, c-format
 msgid ""
 "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1583
+#: src/lang.c:1632
 #, c-format
 msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1587
+#: src/lang.c:1636
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1588
+#: src/lang.c:1637
 #, c-format
 msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1590
+#: src/lang.c:1639
 #, c-format
 msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1591
+#: src/lang.c:1640
 #, c-format
 msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1597
+#: src/lang.c:1646
 msgid "Terminal does not support color"
 msgstr ""
 
-#: src/lang.c:1602
+#: src/lang.c:1651
 #, c-format
 msgid "Trying %s"
 msgstr "FÃ¶rsÃ¶ker med %s"
 
-#: src/lang.c:1617
+#: src/lang.c:1666
 msgid "Subject"
 msgstr "Ã„mne"
 
-#: src/lang.c:1618
+#: src/lang.c:1667
 msgid "References"
 msgstr "Referenser"
 
-#: src/lang.c:1619
+#: src/lang.c:1668
 msgid "Both Subject and References"
 msgstr ""
 
-#: src/lang.c:1620
+#: src/lang.c:1669
 msgid "Multipart Subject"
 msgstr ""
 
-#: src/lang.c:1621
+#: src/lang.c:1670
 msgid "Percentage Match"
 msgstr ""
 
-#: src/lang.c:1634 src/lang.c:1725 src/lang.c:1824 src/lang.c:1927
+#: src/lang.c:1683 src/lang.c:1774 src/lang.c:1880 src/lang.c:1983
 msgid "No"
 msgstr "Nej"
 
-#: src/lang.c:1635 src/lang.c:1826
+#: src/lang.c:1684 src/lang.c:1882
 msgid "Yes"
 msgstr "Ja"
 
-#: src/lang.c:1636
+#: src/lang.c:1685
 #, fuzzy
 msgid "Hide all"
 msgstr "GÃ¶m alla"
 
-#: src/lang.c:1645
+#: src/lang.c:1694
 msgid "Address"
 msgstr "Adress"
 
-#: src/lang.c:1646
+#: src/lang.c:1695
 msgid "Full Name"
 msgstr "Hela namnet"
 
-#: src/lang.c:1647
+#: src/lang.c:1696
 msgid "Address and Name"
 msgstr "Adress och namn"
 
-#: src/lang.c:1655
+#: src/lang.c:1704
 msgid "Max"
 msgstr "Max"
 
-#: src/lang.c:1656
+#: src/lang.c:1705
 msgid "Sum"
 msgstr "Summa"
 
-#: src/lang.c:1657
+#: src/lang.c:1706
 msgid "Average"
 msgstr "MedelvÃ¤rde"
 
-#: src/lang.c:1667 src/lang.c:1687
+#: src/lang.c:1716 src/lang.c:1736
 msgid "Black"
 msgstr "Svart"
 
-#: src/lang.c:1668 src/lang.c:1688
+#: src/lang.c:1717 src/lang.c:1737
 msgid "Red"
 msgstr "RÃ¶d"
 
-#: src/lang.c:1669 src/lang.c:1689
+#: src/lang.c:1718 src/lang.c:1738
 msgid "Green"
 msgstr "GrÃ¶n"
 
-#: src/lang.c:1670 src/lang.c:1690
+#: src/lang.c:1719 src/lang.c:1739
 msgid "Brown"
 msgstr "Brun"
 
-#: src/lang.c:1671 src/lang.c:1691
+#: src/lang.c:1720 src/lang.c:1740
 msgid "Blue"
 msgstr "BlÃ¥"
 
-#: src/lang.c:1672 src/lang.c:1692
+#: src/lang.c:1721 src/lang.c:1741
 msgid "Pink"
 msgstr "Rosa"
 
-#: src/lang.c:1673 src/lang.c:1693
+#: src/lang.c:1722 src/lang.c:1742
 msgid "Cyan"
 msgstr "Turkos"
 
-#: src/lang.c:1674 src/lang.c:1694
+#: src/lang.c:1723 src/lang.c:1743
 msgid "White"
 msgstr "Vit"
 
-#: src/lang.c:1675
+#: src/lang.c:1724
 msgid "Gray"
 msgstr "GrÃ¥"
 
-#: src/lang.c:1676
+#: src/lang.c:1725
 msgid "Light Red"
 msgstr "LjusrÃ¶d"
 
-#: src/lang.c:1677
+#: src/lang.c:1726
 msgid "Light Green"
 msgstr "LjusgrÃ¶n"
 
-#: src/lang.c:1678
+#: src/lang.c:1727
 msgid "Yellow"
 msgstr "Gul"
 
-#: src/lang.c:1679
+#: src/lang.c:1728
 msgid "Light Blue"
 msgstr "LjusblÃ¥"
 
-#: src/lang.c:1680
+#: src/lang.c:1729
 msgid "Light Pink"
 msgstr "Ljusrosa"
 
-#: src/lang.c:1681
+#: src/lang.c:1730
 msgid "Light Cyan"
 msgstr "Ljusturkos"
 
-#: src/lang.c:1682
+#: src/lang.c:1731
 msgid "Light White"
 msgstr "Ljusvit"
 
-#: src/lang.c:1703 src/lang.c:1831 src/lang.c:1846
+#: src/lang.c:1752 src/lang.c:1887 src/lang.c:1902
 msgid "Nothing"
 msgstr "Ingenting"
 
-#: src/lang.c:1705
+#: src/lang.c:1754
 msgid "Space"
 msgstr "Blanksteg"
 
-#: src/lang.c:1713
+#: src/lang.c:1762
 msgid "Normal"
 msgstr "Normal"
 
-#: src/lang.c:1714
+#: src/lang.c:1763
 msgid "Best highlighting"
 msgstr ""
 
-#: src/lang.c:1715
+#: src/lang.c:1764
 msgid "Underline"
 msgstr "Understruken"
 
-#: src/lang.c:1716
+#: src/lang.c:1765
 msgid "Reverse video"
 msgstr ""
 
-#: src/lang.c:1717
+#: src/lang.c:1766
 msgid "Blinking"
 msgstr "Blinkande"
 
-#: src/lang.c:1718
+#: src/lang.c:1767
 msgid "Half bright"
 msgstr ""
 
-#: src/lang.c:1719
+#: src/lang.c:1768
 msgid "Bold"
 msgstr "Fet"
 
-#: src/lang.c:1726
+#: src/lang.c:1775
 msgid "Cc"
 msgstr ""
 
-#: src/lang.c:1727
+#: src/lang.c:1776
 msgid "Bcc"
 msgstr ""
 
-#: src/lang.c:1728
+#: src/lang.c:1777
 msgid "Cc and Bcc"
 msgstr ""
 
-#: src/lang.c:1745 src/lang.c:1758
+#: src/lang.c:1794 src/lang.c:1807
 msgid "none"
 msgstr "ingen"
 
-#: src/lang.c:1746
+#: src/lang.c:1795
 msgid "commands"
 msgstr "kommandon"
 
-#: src/lang.c:1747
+#: src/lang.c:1796
 msgid "select"
 msgstr "vÃ¤lj"
 
-#: src/lang.c:1749
+#: src/lang.c:1798
 msgid "commands & quit"
 msgstr ""
 
-#: src/lang.c:1750
+#: src/lang.c:1799
 msgid "commands & select"
 msgstr ""
 
-#: src/lang.c:1751
+#: src/lang.c:1800
 msgid "quit & select"
 msgstr ""
 
-#: src/lang.c:1752
+#: src/lang.c:1801
 msgid "commands & quit & select"
 msgstr ""
 
-#: src/lang.c:1759
+#: src/lang.c:1808
 msgid "PageDown"
 msgstr ""
 
-#: src/lang.c:1760
+#: src/lang.c:1809
 msgid "PageNextUnread"
 msgstr ""
 
-#: src/lang.c:1761
+#: src/lang.c:1810
 msgid "PageDown or PageNextUnread"
 msgstr ""
 
-#: src/lang.c:1767
+#: src/lang.c:1816
 #, fuzzy
 msgid "Subject: (case sensitive)"
 msgstr "Ã„mne: (stigande)"
 
-#: src/lang.c:1768
+#: src/lang.c:1817
 #, fuzzy
 msgid "Subject: (ignore case)"
 msgstr "Ã„mne: (stigande)"
 
-#: src/lang.c:1769
+#: src/lang.c:1818
 #, fuzzy
 msgid "From: (case sensitive)"
 msgstr "FrÃ¥n: (stigande)"
 
-#: src/lang.c:1770
+#: src/lang.c:1819
 #, fuzzy
 msgid "From: (ignore case)"
 msgstr "FrÃ¥n: (stigande)"
 
-#: src/lang.c:1771
+#: src/lang.c:1820
 msgid "Msg-ID: & full References: line"
 msgstr ""
 
-#: src/lang.c:1772
+#: src/lang.c:1821
 msgid "Msg-ID: & last References: only"
 msgstr ""
 
-#: src/lang.c:1773
+#: src/lang.c:1822
 msgid "Message-ID: entry only"
 msgstr ""
 
-#: src/lang.c:1774
+#: src/lang.c:1823
 msgid "Lines:"
 msgstr "Rader:"
 
-#: src/lang.c:1780
+#: src/lang.c:1829
 #, fuzzy
 msgid "Don't trim article body"
 msgstr "Sortera artiklar efter"
 
-#: src/lang.c:1781
+#: src/lang.c:1830
 msgid "Skip leading blank lines"
 msgstr ""
 
-#: src/lang.c:1782
+#: src/lang.c:1831
 msgid "Skip trailing blank lines"
 msgstr ""
 
-#: src/lang.c:1783
+#: src/lang.c:1832
 msgid "Skip leading and trailing blank l."
 msgstr ""
 
-#: src/lang.c:1784
+#: src/lang.c:1833
 msgid "Compact multiple between text"
 msgstr ""
 
-#: src/lang.c:1785
+#: src/lang.c:1834
 msgid "Compact multiple and skip leading"
 msgstr ""
 
-#: src/lang.c:1786
+#: src/lang.c:1835
 msgid "Compact multiple and skip trailing"
 msgstr ""
 
-#: src/lang.c:1787
+#: src/lang.c:1836
 msgid "Compact mltpl., skip lead. & trai."
 msgstr ""
 
-#: src/lang.c:1793
+#: src/lang.c:1842
 msgid "Don't show help or mail sign"
 msgstr ""
 
-#: src/lang.c:1794
+#: src/lang.c:1843
 msgid "Show only help sign"
 msgstr ""
 
-#: src/lang.c:1795
+#: src/lang.c:1844
 msgid "Show only mail sign if new mail"
 msgstr ""
 
-#: src/lang.c:1796
+#: src/lang.c:1845
 msgid "Show mail if new mail else help s."
 msgstr ""
 
-#: src/lang.c:1825
+#: src/lang.c:1881
 msgid "Shell archive"
 msgstr "Skalarkiv"
 
-#: src/lang.c:1832
+#: src/lang.c:1888
 msgid "Subject: (descending)"
 msgstr "Ã„mne: (fallande)"
 
-#: src/lang.c:1833
+#: src/lang.c:1889
 msgid "Subject: (ascending)"
 msgstr "Ã„mne: (stigande)"
 
-#: src/lang.c:1834
+#: src/lang.c:1890
 msgid "From: (descending)"
 msgstr "FrÃ¥n: (fallande)"
 
-#: src/lang.c:1835
+#: src/lang.c:1891
 msgid "From: (ascending)"
 msgstr "FrÃ¥n: (stigande)"
 
-#: src/lang.c:1836
+#: src/lang.c:1892
 msgid "Date: (descending)"
 msgstr "Datum: (fallande)"
 
-#: src/lang.c:1837
+#: src/lang.c:1893
 msgid "Date: (ascending)"
 msgstr "Datum: (stigande)"
 
-#: src/lang.c:1838 src/lang.c:1847
+#: src/lang.c:1894 src/lang.c:1903
 msgid "Score (descending)"
 msgstr "PoÃ¤ng (fallande)"
 
-#: src/lang.c:1839 src/lang.c:1848
+#: src/lang.c:1895 src/lang.c:1904
 msgid "Score (ascending)"
 msgstr "PoÃ¤ng (stigande)"
 
-#: src/lang.c:1840
+#: src/lang.c:1896
 msgid "Lines: (descending)"
 msgstr "Rader: (fallande)"
 
-#: src/lang.c:1841
+#: src/lang.c:1897
 msgid "Lines: (ascending)"
 msgstr "Rader: (stigande)"
 
-#: src/lang.c:1849
+#: src/lang.c:1905
 msgid "Last posting date (descending)"
 msgstr ""
 
-#: src/lang.c:1850
+#: src/lang.c:1906
 msgid "Last posting date (ascending)"
 msgstr ""
 
-#: src/lang.c:1856
+#: src/lang.c:1912
 msgid "Quick-sort"
 msgstr ""
 
-#: src/lang.c:1857
+#: src/lang.c:1913
 msgid "Heap-sort"
 msgstr ""
 
-#: src/lang.c:1864
+#: src/lang.c:1920
 msgid "Always Keep"
 msgstr "BehÃ¥ll alltid"
 
-#: src/lang.c:1865
+#: src/lang.c:1921
 msgid "Always Remove"
 msgstr "Ta alltid bort"
 
-#: src/lang.c:1866
+#: src/lang.c:1922
 msgid "Mark with D on selection screen"
 msgstr ""
 
-#: src/lang.c:1872
+#: src/lang.c:1928
 msgid "Kill only unread arts"
 msgstr ""
 
-#: src/lang.c:1873
+#: src/lang.c:1929
 msgid "Kill all arts & show with K"
 msgstr ""
 
 #. TODO: s/K/art_marked_killed/
-#: src/lang.c:1874
+#: src/lang.c:1930
 msgid "Kill all arts and never show"
 msgstr ""
 
-#: src/lang.c:1880
+#: src/lang.c:1936
 msgid "Nothing special"
 msgstr "Ingenting speciellt"
 
-#: src/lang.c:1881
+#: src/lang.c:1937
 msgid "Compress quotes"
 msgstr ""
 
-#: src/lang.c:1882
+#: src/lang.c:1938
 msgid "Quote signatures"
 msgstr ""
 
-#: src/lang.c:1883
+#: src/lang.c:1939
 msgid "Compress quotes, quote sigs"
 msgstr ""
 
-#: src/lang.c:1884
+#: src/lang.c:1940
 msgid "Quote empty lines"
 msgstr ""
 
-#: src/lang.c:1885
+#: src/lang.c:1941
 msgid "Compress quotes, quote empty lines"
 msgstr ""
 
-#: src/lang.c:1886
+#: src/lang.c:1942
 msgid "Quote sigs & empty lines"
 msgstr ""
 
-#: src/lang.c:1887
+#: src/lang.c:1943
 msgid "Comp. q., quote sigs & empty lines"
 msgstr ""
 
-#: src/lang.c:1928
+#: src/lang.c:1984
 msgid "With headers"
 msgstr ""
 
-#: src/lang.c:1929
+#: src/lang.c:1985
 msgid "Without headers"
 msgstr ""
 
-#: src/lang.c:1936
+#: src/lang.c:1992
 msgid "NFKC"
 msgstr ""
 
-#: src/lang.c:1938
+#: src/lang.c:1994
 msgid "NFKD"
 msgstr ""
 
-#: src/lang.c:1939
+#: src/lang.c:1995
 msgid "NFC"
 msgstr ""
 
-#: src/lang.c:1940
+#: src/lang.c:1996
 msgid "NFD"
 msgstr ""
 
-#: src/lang.c:1942
+#: src/lang.c:1998
 msgid "NFKC case fold"
 msgstr ""
 
-#: src/lang.c:1951
+#: src/lang.c:2007
 msgid "Display Options"
 msgstr "Visningsalternativ"
 
-#: src/lang.c:1958
+#: src/lang.c:2014
 msgid "Color Options"
 msgstr ""
 
-#: src/lang.c:1964
+#: src/lang.c:2020
 #, fuzzy
 msgid "Highlight Options"
 msgstr "Visningsalternativ"
 
-#: src/lang.c:1971
+#: src/lang.c:2027
 msgid "Article-Limiting Options"
 msgstr ""
 
-#: src/lang.c:1977
+#: src/lang.c:2033
 msgid "Posting/Mailing Options"
 msgstr ""
 
-#: src/lang.c:1983
+#: src/lang.c:2039
 msgid "Saving/Printing Options"
 msgstr ""
 
-#: src/lang.c:1989
+#: src/lang.c:2045
 msgid "Expert Options"
 msgstr ""
 
-#: src/lang.c:1995
+#: src/lang.c:2051
 msgid "Filtering Options"
 msgstr ""
 
-#: src/lang.c:2000 src/lang.c:2031 src/lang.c:2037 src/lang.c:2064
-#: src/lang.c:2116 src/lang.c:2122 src/lang.c:2132 src/lang.c:2143
-#: src/lang.c:2161 src/lang.c:2172 src/lang.c:2241 src/lang.c:2456
-#: src/lang.c:2462 src/lang.c:2468 src/lang.c:2483 src/lang.c:2495
-#: src/lang.c:2502 src/lang.c:2556 src/lang.c:2565 src/lang.c:2571
-#: src/lang.c:2578 src/lang.c:2585 src/lang.c:2592 src/lang.c:2599
-#: src/lang.c:2606 src/lang.c:2613 src/lang.c:2620 src/lang.c:2627
+#: src/lang.c:2056 src/lang.c:2087 src/lang.c:2093 src/lang.c:2120
+#: src/lang.c:2172 src/lang.c:2178 src/lang.c:2188 src/lang.c:2199
+#: src/lang.c:2217 src/lang.c:2228 src/lang.c:2297 src/lang.c:2512
+#: src/lang.c:2518 src/lang.c:2524 src/lang.c:2539 src/lang.c:2551
+#: src/lang.c:2558 src/lang.c:2612 src/lang.c:2621 src/lang.c:2627
 #: src/lang.c:2634 src/lang.c:2641 src/lang.c:2648 src/lang.c:2655
 #: src/lang.c:2662 src/lang.c:2669 src/lang.c:2676 src/lang.c:2683
 #: src/lang.c:2690 src/lang.c:2697 src/lang.c:2704 src/lang.c:2711
 #: src/lang.c:2718 src/lang.c:2725 src/lang.c:2732 src/lang.c:2739
-#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2761 src/lang.c:2777
-#: src/lang.c:2784 src/lang.c:2791 src/lang.c:2798 src/lang.c:2804
-#: src/lang.c:2810 src/lang.c:2827 src/lang.c:2839 src/lang.c:2874
-#: src/lang.c:2927 src/lang.c:2941 src/lang.c:2947 src/lang.c:2972
-#: src/lang.c:2990 src/lang.c:3007 src/lang.c:3019 src/lang.c:3052
-#: src/lang.c:3081 src/lang.c:3101 src/lang.c:3129 src/lang.c:3139
-#: src/lang.c:3146 src/lang.c:3172 src/lang.c:3196 src/lang.c:3343
-#: src/lang.c:3358 src/lang.c:3366 src/lang.c:3380 src/lang.c:3386
-#: src/lang.c:3424
+#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2760 src/lang.c:2767
+#: src/lang.c:2774 src/lang.c:2781 src/lang.c:2788 src/lang.c:2795
+#: src/lang.c:2802 src/lang.c:2809 src/lang.c:2817 src/lang.c:2833
+#: src/lang.c:2840 src/lang.c:2847 src/lang.c:2854 src/lang.c:2860
+#: src/lang.c:2866 src/lang.c:2889 src/lang.c:2901 src/lang.c:2936
+#: src/lang.c:2989 src/lang.c:3003 src/lang.c:3009 src/lang.c:3034
+#: src/lang.c:3052 src/lang.c:3069 src/lang.c:3081 src/lang.c:3114
+#: src/lang.c:3143 src/lang.c:3163 src/lang.c:3190 src/lang.c:3200
+#: src/lang.c:3207 src/lang.c:3233 src/lang.c:3257 src/lang.c:3412
+#: src/lang.c:3427 src/lang.c:3435 src/lang.c:3449 src/lang.c:3455
+#: src/lang.c:3493
 msgid "<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2001
+#: src/lang.c:2057
 msgid "Show mini menu & posting etiquette"
 msgstr ""
 
-#: src/lang.c:2002
+#: src/lang.c:2058
 msgid ""
 "# If ON show a mini menu of useful commands at each level\n"
 "# and posting etiquette after composing an article\n"
 msgstr ""
 
-#: src/lang.c:2007
+#: src/lang.c:2063
 msgid "Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2008
+#: src/lang.c:2064
 msgid "Show description of each newsgroup"
 msgstr ""
 
-#: src/lang.c:2009
+#: src/lang.c:2065
 msgid ""
 "# If ON show group description text after newsgroup name at\n"
 "# group selection level\n"
 msgstr ""
 
-#: src/lang.c:2014
+#: src/lang.c:2070
 msgid ""
 "Show From (author) fields in group & thread level. <SPACE> toggles & <CR> "
 "sets."
 msgstr ""
 
-#: src/lang.c:2015
+#: src/lang.c:2071
 msgid "In group and thread level, show author by"
 msgstr ""
 
-#: src/lang.c:2016
+#: src/lang.c:2072
 msgid ""
 "# Part of From field to display in group and thread level\n"
 "# Possible values are (the default is marked with *):\n"
@@ -5820,31 +5959,31 @@ msgid ""
 "#   3 = both\n"
 msgstr ""
 
-#: src/lang.c:2025
+#: src/lang.c:2081
 msgid "Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2026
+#: src/lang.c:2082
 msgid "Draw -> instead of highlighted bar"
 msgstr ""
 
-#: src/lang.c:2027
+#: src/lang.c:2083
 msgid "# If ON use -> otherwise highlighted bar for selection\n"
 msgstr ""
 
-#: src/lang.c:2032
+#: src/lang.c:2088
 msgid "Use inverse video for page headers"
 msgstr ""
 
-#: src/lang.c:2033
+#: src/lang.c:2089
 msgid "# If ON use inverse video for page headers at different levels\n"
 msgstr ""
 
-#: src/lang.c:2038
+#: src/lang.c:2094
 msgid "Thread articles by"
 msgstr "TrÃ¥da artiklar efter"
 
-#: src/lang.c:2039
+#: src/lang.c:2095
 msgid ""
 "# Thread articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -5856,15 +5995,15 @@ msgid ""
 "#   5 = Percentage Match\n"
 msgstr ""
 
-#: src/lang.c:2050
+#: src/lang.c:2106
 msgid "Enter percentage match required to thread together. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2051
+#: src/lang.c:2107
 msgid "Thread percentage match"
 msgstr ""
 
-#: src/lang.c:2053
+#: src/lang.c:2109
 #, no-c-format
 msgid ""
 "# Thread percentage match...\n"
@@ -5879,11 +6018,11 @@ msgid ""
 "# 'harppy' would be threaded separately from 'happy'\n"
 msgstr ""
 
-#: src/lang.c:2065
+#: src/lang.c:2121
 msgid "Score of a thread"
 msgstr ""
 
-#: src/lang.c:2066
+#: src/lang.c:2122
 msgid ""
 "# Thread score\n"
 "# Possible values are (the default is marked with *):\n"
@@ -5892,16 +6031,16 @@ msgid ""
 "#   2 = average\n"
 msgstr ""
 
-#: src/lang.c:2074
+#: src/lang.c:2130
 msgid ""
 "Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2075
+#: src/lang.c:2131
 msgid "Sort articles by"
 msgstr "Sortera artiklar efter"
 
-#: src/lang.c:2076
+#: src/lang.c:2132
 msgid ""
 "# Sort articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -5918,15 +6057,15 @@ msgid ""
 "#  10 = Lines ascending\n"
 msgstr ""
 
-#: src/lang.c:2092
+#: src/lang.c:2148
 msgid "Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2093
+#: src/lang.c:2149
 msgid "Sort threads by"
 msgstr "Sortera trÃ¥dar efter"
 
-#: src/lang.c:2094
+#: src/lang.c:2150
 msgid ""
 "# Sort thread by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -5937,44 +6076,44 @@ msgid ""
 "#   4 = Last posting date ascending\n"
 msgstr ""
 
-#: src/lang.c:2104
+#: src/lang.c:2160
 msgid ""
 "Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2105
+#: src/lang.c:2161
 msgid "Go to first unread article in group"
 msgstr "vÃ¤lj fÃ¶rsta artikel i lista"
 
-#: src/lang.c:2106
+#: src/lang.c:2162
 msgid "# If ON put cursor at first unread art in group otherwise last art\n"
 msgstr ""
 
-#: src/lang.c:2110
+#: src/lang.c:2166
 msgid "Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2111
+#: src/lang.c:2167
 msgid "Show only unread articles"
 msgstr "Visa endast olÃ¤sta artiklar"
 
-#: src/lang.c:2112
+#: src/lang.c:2168
 msgid "# If ON show only new/unread articles otherwise show all.\n"
 msgstr ""
 
-#: src/lang.c:2117
+#: src/lang.c:2173
 msgid "Show only groups with unread arts"
 msgstr ""
 
-#: src/lang.c:2118
+#: src/lang.c:2174
 msgid "# If ON show only subscribed to groups that contain unread articles.\n"
 msgstr ""
 
-#: src/lang.c:2123
+#: src/lang.c:2179
 msgid "Filter which articles"
 msgstr "Filtrera vilka artiklar"
 
-#: src/lang.c:2124
+#: src/lang.c:2180
 msgid ""
 "# Filter which articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -5983,11 +6122,11 @@ msgid ""
 "#   2 = kill all articles and never show them\n"
 msgstr ""
 
-#: src/lang.c:2133
+#: src/lang.c:2189
 msgid "Go to the next unread article with"
 msgstr ""
 
-#: src/lang.c:2134
+#: src/lang.c:2190
 msgid ""
 "# Go to the unread article with following key(s)\n"
 "# Possible values are (the default is marked with *):\n"
@@ -5997,11 +6136,11 @@ msgid ""
 "#   3 = PAGE DOWN or TAB\n"
 msgstr ""
 
-#: src/lang.c:2144
+#: src/lang.c:2200
 msgid "How to treat blank lines"
 msgstr ""
 
-#: src/lang.c:2145
+#: src/lang.c:2201
 msgid ""
 "# Trim the article body, remove unnecessary blank lines.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6018,11 +6157,11 @@ msgid ""
 "#       leading and trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:2162
+#: src/lang.c:2218
 msgid "Show help/mail sign in level titles"
 msgstr ""
 
-#: src/lang.c:2163
+#: src/lang.c:2219
 msgid ""
 "# Show help sign, new mail sign, both or nothing in level titles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6032,168 +6171,168 @@ msgid ""
 "# * 3 = Show mail sign if new mail has arrived else show help sign\n"
 msgstr ""
 
-#: src/lang.c:2173
+#: src/lang.c:2229
 msgid "List thread using right arrow key"
 msgstr ""
 
-#: src/lang.c:2174
+#: src/lang.c:2230
 msgid ""
 "# If ON automatically list thread when entering it using right arrow key.\n"
 msgstr ""
 
-#: src/lang.c:2178
+#: src/lang.c:2234
 msgid "Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2179
+#: src/lang.c:2235
 msgid "Character to show deleted articles"
 msgstr ""
 
-#: src/lang.c:2180
+#: src/lang.c:2236
 msgid ""
 "# Character used to show that an art was deleted (default 'D')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2185
+#: src/lang.c:2241
 msgid ""
 "Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2186
+#: src/lang.c:2242
 msgid "Character to show inrange articles"
 msgstr ""
 
-#: src/lang.c:2187
+#: src/lang.c:2243
 msgid ""
 "# Character used to show that an art is in a range (default '#')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2192
+#: src/lang.c:2248
 msgid ""
 "Enter character to indicate that article will return. <CR> sets, <ESC> "
 "cancels."
 msgstr ""
 
-#: src/lang.c:2193
+#: src/lang.c:2249
 msgid "Character to show returning arts"
 msgstr ""
 
-#: src/lang.c:2194
+#: src/lang.c:2250
 msgid ""
 "# Character used to show that an art will return (default '-')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2199
+#: src/lang.c:2255
 msgid ""
 "Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2200
+#: src/lang.c:2256
 msgid "Character to show selected articles"
 msgstr ""
 
-#: src/lang.c:2201
+#: src/lang.c:2257
 msgid ""
 "# Character used to show that an art was auto-selected (default '*')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2206
+#: src/lang.c:2262
 msgid "Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2207
+#: src/lang.c:2263
 msgid "Character to show recent articles"
 msgstr ""
 
-#: src/lang.c:2208
+#: src/lang.c:2264
 msgid ""
 "# Character used to show that an art is recent (default 'o')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2213
+#: src/lang.c:2269
 msgid "Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2214
+#: src/lang.c:2270
 msgid "Character to show unread articles"
 msgstr ""
 
-#: src/lang.c:2215
+#: src/lang.c:2271
 msgid ""
 "# Character used to show that an art is unread (default '+')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2220
+#: src/lang.c:2276
 msgid "Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2221
+#: src/lang.c:2277
 msgid "Character to show read articles"
 msgstr ""
 
-#: src/lang.c:2222
+#: src/lang.c:2278
 msgid ""
 "# Character used to show that an art was read (default ' ')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2227
+#: src/lang.c:2283
 msgid "Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2228
+#: src/lang.c:2284
 msgid "Character to show killed articles"
 msgstr ""
 
-#: src/lang.c:2229
+#: src/lang.c:2285
 msgid ""
 "# Character used to show that an art was killed (default 'K')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2234
+#: src/lang.c:2290
 msgid ""
 "Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2235
+#: src/lang.c:2291
 msgid "Character to show readselected arts"
 msgstr ""
 
-#: src/lang.c:2236
+#: src/lang.c:2292
 msgid ""
 "# Character used to show that an art was selected before read (default ':')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2242
+#: src/lang.c:2298
 msgid "Abbreviate long newsgroup names"
 msgstr ""
 
-#: src/lang.c:2243
+#: src/lang.c:2299
 msgid ""
 "# If ON abbreviate (if necessary) long newsgroup names at group selection\n"
 "# level and article level like this:\n"
 "#   news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n"
 msgstr ""
 
-#: src/lang.c:2249
+#: src/lang.c:2305
 msgid ""
 "0 = full page scrolling, -1 = show previous last line as first on next page, "
 "-2 = half page"
 msgstr ""
 
-#: src/lang.c:2250
+#: src/lang.c:2306
 msgid "Number of lines to scroll in pager"
 msgstr ""
 
-#: src/lang.c:2251
+#: src/lang.c:2307
 msgid ""
 "# Number of lines that cursor-up/down will scroll in article pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6204,53 +6343,53 @@ msgid ""
 "#   2 or greater = scroll by 2 or more lines (only in the pager)\n"
 msgstr ""
 
-#: src/lang.c:2261
+#: src/lang.c:2317
 msgid "Display signatures. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2262
+#: src/lang.c:2318
 msgid "Display signatures"
 msgstr "Visa signaturer"
 
-#: src/lang.c:2263
+#: src/lang.c:2319
 msgid "# If OFF don't show signatures when displaying articles\n"
 msgstr ""
 
-#: src/lang.c:2267
+#: src/lang.c:2323
 msgid "Display article score. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2268
+#: src/lang.c:2324
 #, fuzzy
-msgid "Display article score"
+msgid "Display article score in pager"
 msgstr "visa nÃ¤sta artikel"
 
-#: src/lang.c:2269
+#: src/lang.c:2325
 msgid "# If ON show article score when displaying articles\n"
 msgstr ""
 
-#: src/lang.c:2274
+#: src/lang.c:2330
 msgid "Remove soft hyphens. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2275
+#: src/lang.c:2331
 msgid "Remove soft hyphens"
 msgstr ""
 
-#: src/lang.c:2276
+#: src/lang.c:2332
 msgid "# If ON remove soft hyphens when displaying articles\n"
 msgstr ""
 
-#: src/lang.c:2281
+#: src/lang.c:2337
 msgid ""
 "Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2282
+#: src/lang.c:2338
 msgid "Display uue data as an attachment"
 msgstr ""
 
-#: src/lang.c:2283
+#: src/lang.c:2339
 msgid ""
 "# Handling of uuencoded data in the pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6262,30 +6401,30 @@ msgid ""
 "#       be folded into a tag line.\n"
 msgstr ""
 
-#: src/lang.c:2293
+#: src/lang.c:2349
 msgid ""
 "Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2294
+#: src/lang.c:2350
 msgid "Display \"a as Umlaut-a"
 msgstr "Visa \"a som Umlaut-a"
 
-#: src/lang.c:2295
+#: src/lang.c:2351
 msgid ""
 "# If ON decode German style TeX umlaut codes to ISO and\n"
 "# show \"a as Umlaut-a, etc.\n"
 msgstr ""
 
-#: src/lang.c:2300 src/lang.c:2310
+#: src/lang.c:2356 src/lang.c:2366
 msgid "Space separated list of header fields"
 msgstr ""
 
-#: src/lang.c:2301
+#: src/lang.c:2357
 msgid "Display these header fields (or *)"
 msgstr ""
 
-#: src/lang.c:2302
+#: src/lang.c:2358
 msgid ""
 "# Which news headers you wish to see. If you want to see _all_ the headers,\n"
 "# place an '*' as this value. This is the only way a wildcard can be used.\n"
@@ -6295,11 +6434,11 @@ msgid ""
 "# spaces. Not defining anything turns off this option.\n"
 msgstr ""
 
-#: src/lang.c:2311
+#: src/lang.c:2367
 msgid "Do not display these header fields"
 msgstr ""
 
-#: src/lang.c:2312
+#: src/lang.c:2368
 msgid ""
 "# Same as 'news_headers_to_display' except it denotes the opposite.\n"
 "# An example of using both options might be if you thought X- headers were\n"
@@ -6311,230 +6450,230 @@ msgid ""
 "# Not defining anything turns off this option.\n"
 msgstr ""
 
-#: src/lang.c:2322
+#: src/lang.c:2378
 msgid ""
 "Do you want to enable automatic handling of multipart/alternative articles?"
 msgstr ""
 
-#: src/lang.c:2323
+#: src/lang.c:2379
 msgid "Skip multipart/alternative parts"
 msgstr ""
 
-#: src/lang.c:2324
+#: src/lang.c:2380
 msgid "# If ON strip multipart/alternative messages automatically\n"
 msgstr ""
 
-#: src/lang.c:2328
+#: src/lang.c:2384
 msgid "Enable detection of verbatim blocks? <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2329
+#: src/lang.c:2385
 msgid "Detection of verbatim blocks"
 msgstr ""
 
-#: src/lang.c:2330
+#: src/lang.c:2386
 msgid "# If ON detect verbatim blocks in articles\n"
 msgstr ""
 
-#: src/lang.c:2335
+#: src/lang.c:2391
 msgid "A regex used to decide which lines to show in col_quote."
 msgstr ""
 
-#: src/lang.c:2336
+#: src/lang.c:2392
 msgid "Regex used to show quoted lines"
 msgstr ""
 
-#: src/lang.c:2337
+#: src/lang.c:2393
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2343
+#: src/lang.c:2399
 msgid "A regex used to decide which lines to show in col_quote2."
 msgstr ""
 
-#: src/lang.c:2344
+#: src/lang.c:2400
 msgid "Regex used to show twice quoted l."
 msgstr ""
 
-#: src/lang.c:2345
+#: src/lang.c:2401
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted twice. Twice quoted lines are shown in col_quote2.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2351
+#: src/lang.c:2407
 msgid "A regex used to decide which lines to show in col_quote3."
 msgstr ""
 
-#: src/lang.c:2352
+#: src/lang.c:2408
 msgid "Regex used to show >= 3 times q.l."
 msgstr ""
 
-#: src/lang.c:2353
+#: src/lang.c:2409
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2359
+#: src/lang.c:2415
 msgid "Enable detection of external quotes? <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2360
+#: src/lang.c:2416
 msgid "Detection of external quotes"
 msgstr ""
 
-#: src/lang.c:2361
+#: src/lang.c:2417
 msgid "# If ON detect quoted text from external sources in articles\n"
 msgstr ""
 
-#: src/lang.c:2365
+#: src/lang.c:2421
 msgid "A regex used to decide which lines to show in col_extquote."
 msgstr ""
 
-#: src/lang.c:2366
+#: src/lang.c:2422
 msgid "Regex used to show quotes from external sources"
 msgstr ""
 
-#: src/lang.c:2367
+#: src/lang.c:2423
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# external quotes. Text from external quotes is shown in col_extquote.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2374
+#: src/lang.c:2430
 msgid "A regex used to decide which words to show in col_markslashes."
 msgstr ""
 
-#: src/lang.c:2375
+#: src/lang.c:2431
 msgid "Regex used to highlight /slashes/"
 msgstr ""
 
-#: src/lang.c:2376
+#: src/lang.c:2432
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '/' are to be shown in col_markslashes.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2382
+#: src/lang.c:2438
 msgid "A regex used to decide which words to show in col_markstars."
 msgstr ""
 
-#: src/lang.c:2383
+#: src/lang.c:2439
 msgid "Regex used to highlight *stars*"
 msgstr ""
 
-#: src/lang.c:2384
+#: src/lang.c:2440
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '*' are to be shown in col_markstars.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2390
+#: src/lang.c:2446
 msgid "A regex used to decide which words to show in col_markstroke."
 msgstr ""
 
-#: src/lang.c:2391
+#: src/lang.c:2447
 msgid "Regex used to highlight -strokes-"
 msgstr ""
 
-#: src/lang.c:2392
+#: src/lang.c:2448
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '-' are to be shown in col_markstroke.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2398
+#: src/lang.c:2454
 msgid "A regex used to decide which words to show in col_markdash."
 msgstr ""
 
-#: src/lang.c:2399
+#: src/lang.c:2455
 msgid "Regex used to highlight _underline_"
 msgstr ""
 
-#: src/lang.c:2400
+#: src/lang.c:2456
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '_' are to be shown in col_markdash.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2406
+#: src/lang.c:2462
 msgid "A regex used to find Subject prefixes to remove.  Use '|' as separator."
 msgstr ""
 
-#: src/lang.c:2407
+#: src/lang.c:2463
 msgid "Regex with Subject prefixes"
 msgstr ""
 
-#: src/lang.c:2408
+#: src/lang.c:2464
 msgid ""
 "# A regular expression that tin will use to find Subject prefixes\n"
 "# which will be removed before showing the header.\n"
 msgstr ""
 
-#: src/lang.c:2413
+#: src/lang.c:2469
 msgid "A regex used to find Subject suffixes to remove.  Use '|' as separator."
 msgstr ""
 
-#: src/lang.c:2414
+#: src/lang.c:2470
 msgid "Regex with Subject suffixes"
 msgstr ""
 
-#: src/lang.c:2415
+#: src/lang.c:2471
 msgid ""
 "# A regular expression that tin will use to find Subject suffixes\n"
 "# which will be removed when replying or posting followup.\n"
 msgstr ""
 
-#: src/lang.c:2420
+#: src/lang.c:2476
 msgid "A regex used to find the begin of a verbatim block."
 msgstr ""
 
-#: src/lang.c:2421
+#: src/lang.c:2477
 msgid "Regex for begin of a verbatim block"
 msgstr ""
 
-#: src/lang.c:2422
+#: src/lang.c:2478
 msgid ""
 "# A regular expression that tin will use to find the begin of\n"
 "# a verbatim block.\n"
 msgstr ""
 
-#: src/lang.c:2427
+#: src/lang.c:2483
 msgid "A regex used to find the end of a verbatim block."
 msgstr ""
 
-#: src/lang.c:2428
+#: src/lang.c:2484
 msgid "Regex for end of a verbatim block"
 msgstr ""
 
-#: src/lang.c:2429
+#: src/lang.c:2485
 msgid ""
 "# A regular expression that tin will use to find the end of\n"
 "# a verbatim block.\n"
 msgstr ""
 
-#: src/lang.c:2434
+#: src/lang.c:2490
 msgid ""
 "Enter name and options for external MIME viewer, --internal for built-in "
 "viewer"
 msgstr ""
 
-#: src/lang.c:2435
+#: src/lang.c:2491
 msgid "MIME binary content viewer"
 msgstr ""
 
-#: src/lang.c:2436
+#: src/lang.c:2492
 msgid ""
 "# If --internal automatically use the built in MIME viewer for non-text\n"
 "# parts of articles.\n"
@@ -6543,49 +6682,49 @@ msgid ""
 "# for no automatic viewing\n"
 msgstr ""
 
-#: src/lang.c:2443
+#: src/lang.c:2499
 msgid "Confirm before starting non-text viewing program"
 msgstr ""
 
-#: src/lang.c:2444
+#: src/lang.c:2500
 msgid "Ask before using MIME viewer"
 msgstr ""
 
-#: src/lang.c:2445
+#: src/lang.c:2501
 msgid ""
 "# If ON tin will ask before using metamail to display MIME messages\n"
 "# this only happens if metamail_prog is set to something\n"
 msgstr ""
 
-#: src/lang.c:2450
+#: src/lang.c:2506
 msgid "Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2451
+#: src/lang.c:2507
 msgid "Catchup read groups when quitting"
 msgstr ""
 
-#: src/lang.c:2452
+#: src/lang.c:2508
 msgid "# If ON ask user if read groups should all be marked read\n"
 msgstr ""
 
-#: src/lang.c:2457
+#: src/lang.c:2513
 msgid "Catchup group using left key"
 msgstr ""
 
-#: src/lang.c:2458
+#: src/lang.c:2514
 msgid "# If ON catchup group/thread when leaving with the left arrow key.\n"
 msgstr ""
 
-#: src/lang.c:2463
+#: src/lang.c:2519
 msgid "Catchup thread by using left key"
 msgstr ""
 
-#: src/lang.c:2469
+#: src/lang.c:2525
 msgid "Which actions require confirmation"
 msgstr ""
 
-#: src/lang.c:2470
+#: src/lang.c:2526
 msgid ""
 "# What should we ask confirmation for.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6599,79 +6738,79 @@ msgid ""
 "#   7 = commands & quit & select\n"
 msgstr ""
 
-#: src/lang.c:2484
+#: src/lang.c:2540
 msgid "'Mark as (un)read' ignores tags"
 msgstr ""
 
-#: src/lang.c:2485
+#: src/lang.c:2541
 msgid ""
 "# If ON the 'Mark as (un)read' function marks only the current article.\n"
 msgstr ""
 
-#: src/lang.c:2489
+#: src/lang.c:2545
 msgid "Program to run to open URLs, <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2490
+#: src/lang.c:2546
 msgid "Program that opens URLs"
 msgstr ""
 
-#: src/lang.c:2491
+#: src/lang.c:2547
 msgid "# The program used to open URLs. The actual URL will be appended\n"
 msgstr ""
 
-#: src/lang.c:2496
+#: src/lang.c:2552
 msgid "Use mouse in xterm"
 msgstr ""
 
-#: src/lang.c:2497
+#: src/lang.c:2553
 msgid "# If ON enable mouse button support on xterm terminals\n"
 msgstr ""
 
-#: src/lang.c:2503
+#: src/lang.c:2559
 msgid "Use scroll keys on keypad"
 msgstr ""
 
-#: src/lang.c:2504
+#: src/lang.c:2560
 msgid "# If ON enable scroll keys on terminals that support it\n"
 msgstr ""
 
-#: src/lang.c:2509
+#: src/lang.c:2565
 msgid "Enter maximum number of article to get. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2510
+#: src/lang.c:2566
 msgid "Number of articles to get"
 msgstr ""
 
-#: src/lang.c:2511
+#: src/lang.c:2567
 msgid ""
 "# Number of articles to get (0=no limit), if negative sets maximum number\n"
 "# of already read articles to be read before first unread one\n"
 msgstr ""
 
-#: src/lang.c:2516
+#: src/lang.c:2572
 msgid "Enter number of days article is considered recent. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2517
+#: src/lang.c:2573
 msgid "Article recentness time limit"
 msgstr ""
 
-#: src/lang.c:2518
+#: src/lang.c:2574
 msgid "# Number of days in which article is considered recent, (0=OFF)\n"
 msgstr ""
 
-#: src/lang.c:2522
+#: src/lang.c:2578
 msgid ""
 "WILDMAT for normal wildcards, REGEX for full regular expression matching."
 msgstr ""
 
-#: src/lang.c:2523
+#: src/lang.c:2579
 msgid "Wildcard matching"
 msgstr ""
 
-#: src/lang.c:2524
+#: src/lang.c:2580
 msgid ""
 "# Wildcard matching\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6679,350 +6818,350 @@ msgid ""
 "#   1 = regex\n"
 msgstr ""
 
-#: src/lang.c:2531
+#: src/lang.c:2587
 msgid "Enter minimal score before an article is marked killed. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2532
+#: src/lang.c:2588
 msgid "Score limit (kill)"
 msgstr ""
 
-#: src/lang.c:2533
+#: src/lang.c:2589
 msgid "# Score limit before an article is marked killed\n"
 msgstr ""
 
-#: src/lang.c:2537
+#: src/lang.c:2593
 msgid "Enter default score to kill articles. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2538
+#: src/lang.c:2594
 msgid "Default score to kill articles"
 msgstr ""
 
-#: src/lang.c:2539
+#: src/lang.c:2595
 msgid "# Default score to kill articles\n"
 msgstr ""
 
-#: src/lang.c:2543
+#: src/lang.c:2599
 msgid "Enter minimal score before an article is marked hot. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2544
+#: src/lang.c:2600
 msgid "Score limit (select)"
 msgstr ""
 
-#: src/lang.c:2545
+#: src/lang.c:2601
 msgid "# Score limit before an article is marked hot\n"
 msgstr ""
 
-#: src/lang.c:2549
+#: src/lang.c:2605
 msgid "Enter default score to select articles. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2550
+#: src/lang.c:2606
 msgid "Default score to select articles"
 msgstr ""
 
-#: src/lang.c:2551
+#: src/lang.c:2607
 msgid "# Default score to select articles\n"
 msgstr ""
 
-#: src/lang.c:2557
+#: src/lang.c:2613
 msgid "Use slrnface to show ''X-Face:''s"
 msgstr ""
 
-#: src/lang.c:2558
+#: src/lang.c:2614
 msgid ""
 "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 "# Only useful when running in an xterm.\n"
 msgstr ""
 
-#: src/lang.c:2566
+#: src/lang.c:2622
 msgid "Use ANSI color"
 msgstr "AnvÃ¤nd ANSI-fÃ¤rg"
 
-#: src/lang.c:2567
+#: src/lang.c:2623
 msgid "# If ON using ANSI-color\n"
 msgstr ""
 
-#: src/lang.c:2572
+#: src/lang.c:2628
 msgid "Standard foreground color"
 msgstr ""
 
-#: src/lang.c:2573
+#: src/lang.c:2629
 msgid ""
 "# Standard foreground color\n"
 "# Default: -1 (default color)\n"
 msgstr ""
 
-#: src/lang.c:2579
+#: src/lang.c:2635
 msgid "Standard background color"
 msgstr ""
 
-#: src/lang.c:2580
+#: src/lang.c:2636
 msgid ""
 "# Standard background color\n"
 "# Default: -1 (default color)\n"
 msgstr ""
 
-#: src/lang.c:2586
+#: src/lang.c:2642
 msgid "Color for inverse text (background)"
 msgstr ""
 
-#: src/lang.c:2587
+#: src/lang.c:2643
 msgid ""
 "# Color of background for inverse text\n"
 "# Default: 4 (blue)\n"
 msgstr ""
 
-#: src/lang.c:2593
+#: src/lang.c:2649
 msgid "Color for inverse text (foreground)"
 msgstr ""
 
-#: src/lang.c:2594
+#: src/lang.c:2650
 msgid ""
 "# Color of foreground for inverse text\n"
 "# Default: 7 (white)\n"
 msgstr ""
 
-#: src/lang.c:2600
+#: src/lang.c:2656
 msgid "Color of text lines"
 msgstr ""
 
-#: src/lang.c:2601
+#: src/lang.c:2657
 msgid ""
 "# Color of text lines\n"
 "# Default: -1 (default color)\n"
 msgstr ""
 
-#: src/lang.c:2607
+#: src/lang.c:2663
 msgid "Color of mini help menu"
 msgstr ""
 
-#: src/lang.c:2608
+#: src/lang.c:2664
 msgid ""
 "# Color of mini help menu\n"
 "# Default: 3 (brown)\n"
 msgstr ""
 
-#: src/lang.c:2614
+#: src/lang.c:2670
 msgid "Color of help text"
 msgstr ""
 
-#: src/lang.c:2615
+#: src/lang.c:2671
 msgid ""
 "# Color of help pages\n"
 "# Default: -1 (default color)\n"
 msgstr ""
 
-#: src/lang.c:2621
+#: src/lang.c:2677
 msgid "Color of status messages"
 msgstr ""
 
-#: src/lang.c:2622
+#: src/lang.c:2678
 msgid ""
 "# Color of messages in last line\n"
 "# Default: 6 (cyan)\n"
 msgstr ""
 
-#: src/lang.c:2628
+#: src/lang.c:2684
 msgid "Color of quoted lines"
 msgstr ""
 
-#: src/lang.c:2629
+#: src/lang.c:2685
 msgid ""
 "# Color of quote-lines\n"
 "# Default: 2 (green)\n"
 msgstr ""
 
-#: src/lang.c:2635
+#: src/lang.c:2691
 msgid "Color of twice quoted line"
 msgstr ""
 
-#: src/lang.c:2636
+#: src/lang.c:2692
 msgid ""
 "# Color of twice quoted lines\n"
 "# Default: 3 (brown)\n"
 msgstr ""
 
-#: src/lang.c:2642
+#: src/lang.c:2698
 msgid "Color of =>3 times quoted line"
 msgstr ""
 
-#: src/lang.c:2643
+#: src/lang.c:2699
 msgid ""
 "# Color of >=3 times quoted lines\n"
 "# Default: 4 (blue)\n"
 msgstr ""
 
-#: src/lang.c:2649
+#: src/lang.c:2705
 msgid "Color of article header lines"
 msgstr ""
 
-#: src/lang.c:2650
+#: src/lang.c:2706
 msgid ""
 "# Color of header-lines\n"
 "# Default: 2 (green)\n"
 msgstr ""
 
-#: src/lang.c:2656
+#: src/lang.c:2712
 msgid "Color of actual news header fields"
 msgstr ""
 
-#: src/lang.c:2657
+#: src/lang.c:2713
 msgid ""
 "# Color of actual news header fields\n"
 "# Default: 9 (light red)\n"
 msgstr ""
 
-#: src/lang.c:2663
+#: src/lang.c:2719
 msgid "Color of article subject lines"
 msgstr ""
 
-#: src/lang.c:2664
+#: src/lang.c:2720
 msgid ""
 "# Color of article subject\n"
 "# Default: 6 (cyan)\n"
 msgstr ""
 
-#: src/lang.c:2670
+#: src/lang.c:2726
 #, fuzzy
 msgid "Color of external quotes"
 msgstr "FÃ¤rg fÃ¶r signaturer"
 
-#: src/lang.c:2671
+#: src/lang.c:2727
 msgid ""
 "# Color of quoted text from external sources\n"
 "# Default: 5 (pink)\n"
 msgstr ""
 
-#: src/lang.c:2677
+#: src/lang.c:2733
 msgid "Color of response counter"
 msgstr ""
 
-#: src/lang.c:2678
+#: src/lang.c:2734
 msgid ""
 "# Color of response counter\n"
 "# Default: 2 (green)\n"
 msgstr ""
 
-#: src/lang.c:2684
+#: src/lang.c:2740
 msgid "Color of sender (From:)"
 msgstr ""
 
-#: src/lang.c:2685
+#: src/lang.c:2741
 msgid ""
 "# Color of sender (From:)\n"
 "# Default: 2 (green)\n"
 msgstr ""
 
-#: src/lang.c:2691
+#: src/lang.c:2747
 msgid "Color of help/mail sign"
 msgstr ""
 
-#: src/lang.c:2692
+#: src/lang.c:2748
 msgid ""
 "# Color of Help/Mail-Sign\n"
 "# Default: 4 (blue)\n"
 msgstr ""
 
-#: src/lang.c:2698
+#: src/lang.c:2754
 msgid "Color of signatures"
 msgstr "FÃ¤rg fÃ¶r signaturer"
 
-#: src/lang.c:2699
+#: src/lang.c:2755
 msgid ""
 "# Color of signature\n"
 "# Default: 4 (blue)\n"
 msgstr ""
 
-#: src/lang.c:2705
+#: src/lang.c:2761
 #, fuzzy
 msgid "Color of negative score"
 msgstr "FÃ¤rg fÃ¶r signaturer"
 
-#: src/lang.c:2706
+#: src/lang.c:2762
 msgid ""
 "# Color of negative score\n"
 "# Default: 1 (red)\n"
 msgstr ""
 
-#: src/lang.c:2712
+#: src/lang.c:2768
 #, fuzzy
 msgid "Color of positive score"
 msgstr "FÃ¤rg fÃ¶r signaturer"
 
-#: src/lang.c:2713
+#: src/lang.c:2769
 msgid ""
 "# Color of positive score\n"
 "# Default: 2 (green)\n"
 msgstr ""
 
-#: src/lang.c:2719
+#: src/lang.c:2775
 msgid "Color of highlighted URLs"
 msgstr ""
 
-#: src/lang.c:2720
+#: src/lang.c:2776
 msgid ""
 "# Color of highlighted URLs\n"
 "# Default: -1 (default color)\n"
 msgstr ""
 
-#: src/lang.c:2726
+#: src/lang.c:2782
 msgid "Color of verbatim blocks"
 msgstr ""
 
-#: src/lang.c:2727
+#: src/lang.c:2783
 msgid ""
 "# Color of verbatim blocks\n"
 "# Default: 5 (pink)\n"
 msgstr ""
 
-#: src/lang.c:2733
+#: src/lang.c:2789
 msgid "Color of highlighting with *stars*"
 msgstr ""
 
-#: src/lang.c:2734
+#: src/lang.c:2790
 msgid ""
 "# Color of word highlighting with *stars*\n"
 "# Default: 11 (yellow)\n"
 msgstr ""
 
-#: src/lang.c:2740
+#: src/lang.c:2796
 msgid "Color of highlighting with _dash_"
 msgstr ""
 
-#: src/lang.c:2741
+#: src/lang.c:2797
 msgid ""
 "# Color of word highlighting with _dash_\n"
 "# Default: 13 (light pink)\n"
 msgstr ""
 
-#: src/lang.c:2747
+#: src/lang.c:2803
 msgid "Color of highlighting with /slash/"
 msgstr ""
 
-#: src/lang.c:2748
+#: src/lang.c:2804
 msgid ""
 "# Color of word highlighting with /slash/\n"
 "# Default: 14 (light cyan)\n"
 msgstr ""
 
-#: src/lang.c:2754
+#: src/lang.c:2810
 msgid "Color of highlighting with -stroke-"
 msgstr ""
 
-#: src/lang.c:2755
+#: src/lang.c:2811
 msgid ""
 "# Color of word highlighting with -stroke-\n"
 "# Default: 12 (light blue)\n"
 msgstr ""
 
-#: src/lang.c:2762
+#: src/lang.c:2818
 msgid "Attr. of highlighting with *stars*"
 msgstr ""
 
-#: src/lang.c:2763
+#: src/lang.c:2819
 msgid ""
 "# Attributes of word highlighting on mono terminals\n"
 "# Possible values are:\n"
@@ -7038,57 +7177,57 @@ msgid ""
 "# Default: 6 (bold)\n"
 msgstr ""
 
-#: src/lang.c:2778
+#: src/lang.c:2834
 msgid "Attr. of highlighting with _dash_"
 msgstr ""
 
-#: src/lang.c:2779
+#: src/lang.c:2835
 msgid ""
 "# Attribute of word highlighting with _dash_\n"
 "# Default: 2 (best highlighting)\n"
 msgstr ""
 
-#: src/lang.c:2785
+#: src/lang.c:2841
 msgid "Attr. of highlighting with /slash/"
 msgstr ""
 
-#: src/lang.c:2786
+#: src/lang.c:2842
 msgid ""
 "# Attribute of word highlighting with /slash/\n"
 "# Default: 5 (half bright)\n"
 msgstr ""
 
-#: src/lang.c:2792
+#: src/lang.c:2848
 msgid "Attr. of highlighting with -stroke-"
 msgstr ""
 
-#: src/lang.c:2793
+#: src/lang.c:2849
 msgid ""
 "# Attribute of word highlighting with -stroke-\n"
 "# Default: 3 (reverse video)\n"
 msgstr ""
 
-#: src/lang.c:2799
+#: src/lang.c:2855
 msgid "URL highlighting in message body"
 msgstr ""
 
-#: src/lang.c:2800
+#: src/lang.c:2856
 msgid "# Enable URL highlighting?\n"
 msgstr ""
 
-#: src/lang.c:2805
+#: src/lang.c:2861
 msgid "Word highlighting in message body"
 msgstr ""
 
-#: src/lang.c:2806
+#: src/lang.c:2862
 msgid "# Enable word highlighting?\n"
 msgstr ""
 
-#: src/lang.c:2811
+#: src/lang.c:2867
 msgid "What to display instead of mark"
 msgstr ""
 
-#: src/lang.c:2812
+#: src/lang.c:2868
 msgid ""
 "# Should the leading and ending stars and dashes also be displayed,\n"
 "# even when they are highlighting marks?\n"
@@ -7098,56 +7237,69 @@ msgid ""
 "# * 2 = print a space instead\n"
 msgstr ""
 
-#: src/lang.c:2821
+#: src/lang.c:2877
 msgid "Enter column number to wrap article lines to in the pager. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2822
+#: src/lang.c:2878
 msgid "Page line wrap column"
 msgstr ""
 
-#: src/lang.c:2823
+#: src/lang.c:2879
 msgid "# Wrap article lines at column\n"
 msgstr ""
 
-#: src/lang.c:2828
+#: src/lang.c:2883
+msgid ""
+"If ON, don't break words when wrapping lines. <SPACE> toggles & <CR> sets."
+msgstr ""
+
+#: src/lang.c:2884
+msgid "Don't break words when wrapping"
+msgstr ""
+
+#: src/lang.c:2885
+msgid "# Don't break long lines inside a word but on <SPACE> or <TAB>\n"
+msgstr ""
+
+#: src/lang.c:2890
 msgid "Wrap around threads on next unread"
 msgstr ""
 
-#: src/lang.c:2829
+#: src/lang.c:2891
 msgid "# If ON wrap around threads on searching next unread article\n"
 msgstr ""
 
-#: src/lang.c:2833
+#: src/lang.c:2895
 msgid "Enter default mail address (and fullname). <CR> sets."
 msgstr ""
 
-#: src/lang.c:2834 src/lang.c:3405
+#: src/lang.c:2896 src/lang.c:3474
 msgid "Mail address (and fullname)"
 msgstr "E-postadress (och hela namnet)"
 
-#: src/lang.c:2835
+#: src/lang.c:2897
 msgid "# User's mail address (and fullname), if not username@host (fullname)\n"
 msgstr ""
 
-#: src/lang.c:2840
+#: src/lang.c:2902
 msgid "Show empty Followup-To in editor"
 msgstr ""
 
-#: src/lang.c:2841
+#: src/lang.c:2903
 msgid "# If ON show empty Followup-To header when editing an article\n"
 msgstr ""
 
-#: src/lang.c:2845
+#: src/lang.c:2907
 msgid ""
 "Enter path/! command/--none to create your default signature. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2846
+#: src/lang.c:2908
 msgid "Create signature from path/command"
 msgstr ""
 
-#: src/lang.c:2847
+#: src/lang.c:2909
 #, c-format
 msgid ""
 "# Signature path (random sigs)/file to be used when posting/replying\n"
@@ -7157,50 +7309,50 @@ msgid ""
 "# sigfile=--none     don't append a signature\n"
 msgstr ""
 
-#: src/lang.c:2855
+#: src/lang.c:2917
 msgid ""
 "Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2856
+#: src/lang.c:2918
 msgid "Prepend signature with \"-- \""
 msgstr ""
 
-#: src/lang.c:2857
+#: src/lang.c:2919
 msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n"
 msgstr ""
 
-#: src/lang.c:2861
+#: src/lang.c:2923
 msgid "Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2862
+#: src/lang.c:2924
 msgid "Add signature when reposting"
 msgstr ""
 
-#: src/lang.c:2863
+#: src/lang.c:2925
 msgid "# If ON add signature to reposted articles\n"
 msgstr ""
 
-#: src/lang.c:2867
+#: src/lang.c:2929
 msgid "Enter quotation marks, %I for author's initials."
 msgstr ""
 
-#: src/lang.c:2868
+#: src/lang.c:2930
 msgid "Characters used as quote-marks"
 msgstr ""
 
-#: src/lang.c:2869
+#: src/lang.c:2931
 msgid ""
 "# Characters used in quoting to followups and replies.\n"
 "# '_' is replaced by ' ', %I is replaced by author's initials.\n"
 msgstr ""
 
-#: src/lang.c:2875
+#: src/lang.c:2937
 msgid "Quoting behavior"
 msgstr ""
 
-#: src/lang.c:2876
+#: src/lang.c:2938
 msgid ""
 "# How quoting should be handled when following up or replying.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7214,52 +7366,52 @@ msgid ""
 "#   7 = Compress quotes, quote signatures, quote empty lines\n"
 msgstr ""
 
-#: src/lang.c:2889 src/lang.c:2897 src/lang.c:2903
+#: src/lang.c:2951 src/lang.c:2959 src/lang.c:2965
 msgid ""
 "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 msgstr ""
 
-#: src/lang.c:2890
+#: src/lang.c:2952
 msgid "Quote line when following up"
 msgstr ""
 
-#: src/lang.c:2891
+#: src/lang.c:2953
 msgid ""
 "# Format of quote line when mailing/posting/following-up an article\n"
 "# %A Address    %D Date   %F Addr+Name   %G Groupname   %M Message-ID\n"
 "# %N Full Name  %C First Name   %I Initials\n"
 msgstr ""
 
-#: src/lang.c:2898
+#: src/lang.c:2960
 msgid "Quote line when cross-posting"
 msgstr ""
 
-#: src/lang.c:2904
+#: src/lang.c:2966
 msgid "Quote line when mailing"
 msgstr ""
 
-#: src/lang.c:2909
+#: src/lang.c:2971
 msgid "If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2910
+#: src/lang.c:2972
 msgid "Insert 'User-Agent:' header"
 msgstr ""
 
-#: src/lang.c:2911
+#: src/lang.c:2973
 msgid "# If ON include advertising User-Agent: header\n"
 msgstr ""
 
-#: src/lang.c:2916
+#: src/lang.c:2978
 msgid ""
 "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 
-#: src/lang.c:2917
+#: src/lang.c:2979
 msgid "MM_CHARSET"
 msgstr "MM_CHARSET"
 
-#: src/lang.c:2918
+#: src/lang.c:2980
 msgid ""
 "# Charset supported locally which is also used for MIME header and\n"
 "# Content-Type header.\n"
@@ -7269,41 +7421,41 @@ msgid ""
 "# mm_charset is considered not displayable and represented as '?'.\n"
 msgstr ""
 
-#: src/lang.c:2928
+#: src/lang.c:2990
 msgid "MM_NETWORK_CHARSET"
 msgstr "MM_NETWORK_CHARSET"
 
-#: src/lang.c:2929
+#: src/lang.c:2991
 msgid "# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr ""
 
-#: src/lang.c:2933
+#: src/lang.c:2995
 msgid ""
 "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 
-#: src/lang.c:2934
+#: src/lang.c:2996
 #, fuzzy
 msgid "MM_LOCAL_CHARSET"
 msgstr "MM_CHARSET"
 
-#: src/lang.c:2935
+#: src/lang.c:2997
 msgid "# Charset supported locally.\n"
 msgstr ""
 
-#: src/lang.c:2942
+#: src/lang.c:3004
 msgid "Mailbox format"
 msgstr "Format pÃ¥ postlÃ¥da"
 
-#: src/lang.c:2943
+#: src/lang.c:3005
 msgid "# Format of the mailbox.\n"
 msgstr "# Format pÃ¥ postlÃ¥da.\n"
 
-#: src/lang.c:2948
+#: src/lang.c:3010
 msgid "MIME encoding in news messages"
 msgstr ""
 
-#: src/lang.c:2949
+#: src/lang.c:3011
 msgid ""
 "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n"
 "# for mails and posts, if necessary. QP is efficient for most European\n"
@@ -7312,15 +7464,15 @@ msgid ""
 "# Russian charsets with a lot of 8bit characters.\n"
 msgstr ""
 
-#: src/lang.c:2957 src/lang.c:2978
+#: src/lang.c:3019 src/lang.c:3040
 msgid "Don't change unless you know what you are doing. <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2958
+#: src/lang.c:3020
 msgid "Use 8bit characters in news headers"
 msgstr ""
 
-#: src/lang.c:2959
+#: src/lang.c:3021
 msgid ""
 "# If ON, 8bit characters in news headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -7328,28 +7480,28 @@ msgid ""
 "# parameter unless post_mime_encoding is 8bit as well.\n"
 msgstr ""
 
-#: src/lang.c:2966
+#: src/lang.c:3028
 msgid ""
 "Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2967
+#: src/lang.c:3029
 msgid "View post-processed files"
 msgstr ""
 
-#: src/lang.c:2968
+#: src/lang.c:3030
 msgid "# If set, post processed files will be opened in a viewer\n"
 msgstr ""
 
-#: src/lang.c:2973
+#: src/lang.c:3035
 msgid "MIME encoding in mail messages"
 msgstr ""
 
-#: src/lang.c:2979
+#: src/lang.c:3041
 msgid "Use 8bit characters in mail headers"
 msgstr ""
 
-#: src/lang.c:2980
+#: src/lang.c:3042
 msgid ""
 "# If ON, 8bit characters in mail headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -7360,36 +7512,36 @@ msgid ""
 "# turn it ON unless you have some compelling reason.\n"
 msgstr ""
 
-#: src/lang.c:2991
+#: src/lang.c:3053
 msgid "Strip blanks from ends of lines"
 msgstr ""
 
-#: src/lang.c:2992
+#: src/lang.c:3054
 msgid ""
 "# If ON strip blanks from ends of lines for faster display on slow "
 "terminals.\n"
 msgstr ""
 
-#: src/lang.c:2998
+#: src/lang.c:3060
 msgid "If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2999
+#: src/lang.c:3061
 msgid "Transliteration"
 msgstr ""
 
-#: src/lang.c:3000
+#: src/lang.c:3062
 msgid ""
 "# If ON, use //TRANSLIT extension. This means that when a character cannot\n"
 "# be represented in the in the target character set, it can be approximated\n"
 "# through one or several similarly looking characters.\n"
 msgstr ""
 
-#: src/lang.c:3008
+#: src/lang.c:3070
 msgid "Send you a Cc/Bcc automatically"
 msgstr ""
 
-#: src/lang.c:3009
+#: src/lang.c:3071
 msgid ""
 "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7399,113 +7551,113 @@ msgid ""
 "#   3 = Cc and Bcc\n"
 msgstr ""
 
-#: src/lang.c:3020
+#: src/lang.c:3082
 msgid "Hash algorithm for Cancel-Lock/Cancel-Key"
 msgstr ""
 
-#: src/lang.c:3021
+#: src/lang.c:3083
 msgid ""
 "# Hash algorithm for Cancel-Lock/Cancel-Key (default 'sha1')\n"
 "# Use 'none' to not generate Cancel-Lock headers.\n"
 msgstr ""
 
-#: src/lang.c:3027
+#: src/lang.c:3089
 msgid "Enter address elements about which you want to be warned. <CR> sets."
 msgstr ""
 
-#: src/lang.c:3028
+#: src/lang.c:3090
 msgid "Spamtrap warning address parts"
 msgstr ""
 
-#: src/lang.c:3029
+#: src/lang.c:3091
 msgid ""
 "# A comma-delimited list of address-parts you want to be warned\n"
 "# about when trying to reply by email.\n"
 msgstr ""
 
-#: src/lang.c:3034
+#: src/lang.c:3096
 msgid "Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr ""
 
-#: src/lang.c:3035
+#: src/lang.c:3097
 msgid "No. of days a filter entry is valid"
 msgstr ""
 
-#: src/lang.c:3036
+#: src/lang.c:3098
 msgid "# Number of days a short term filter will be active\n"
 msgstr ""
 
-#: src/lang.c:3040
+#: src/lang.c:3102
 msgid "Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:3041
+#: src/lang.c:3103
 msgid "Add posted articles to filter"
 msgstr ""
 
-#: src/lang.c:3042
+#: src/lang.c:3104
 msgid ""
 "# If ON add posted articles which start a new thread to filter for\n"
 "# highlighting follow-ups\n"
 msgstr ""
 
-#: src/lang.c:3046
+#: src/lang.c:3108
 msgid "The directory where articles/threads are to be saved in mailbox format."
 msgstr ""
 
-#: src/lang.c:3047
+#: src/lang.c:3109
 msgid "Mail directory"
 msgstr "Postkatalog"
 
-#: src/lang.c:3048
+#: src/lang.c:3110
 msgid "# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr ""
 
-#: src/lang.c:3053
+#: src/lang.c:3115
 msgid "Save articles in batch mode (-S)"
 msgstr ""
 
-#: src/lang.c:3054
+#: src/lang.c:3116
 msgid ""
 "# If ON articles/threads will be saved in batch mode when save -S\n"
 "# or mail (-M/-N) is specified on the command line\n"
 msgstr ""
 
-#: src/lang.c:3059
+#: src/lang.c:3121
 msgid "The directory where you want articles/threads saved."
 msgstr ""
 
-#: src/lang.c:3060
+#: src/lang.c:3122
 msgid "Directory to save arts/threads in"
 msgstr ""
 
-#: src/lang.c:3061
+#: src/lang.c:3123
 msgid "# Directory where articles/threads are saved\n"
 msgstr ""
 
-#: src/lang.c:3065
+#: src/lang.c:3127
 msgid ""
 "Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 "cancels."
 msgstr ""
 
-#: src/lang.c:3066
+#: src/lang.c:3128
 msgid "Mark saved articles/threads as read"
 msgstr ""
 
-#: src/lang.c:3067
+#: src/lang.c:3129
 msgid "# If ON mark articles that are saved as read\n"
 msgstr ""
 
-#: src/lang.c:3071
+#: src/lang.c:3133
 msgid "Do post processing (e.g. extract attachments) for saved articles."
 msgstr ""
 
-#: src/lang.c:3072
+#: src/lang.c:3134
 msgid "Post process saved articles"
 msgstr ""
 
-#: src/lang.c:3073
+#: src/lang.c:3135
 msgid ""
 "# Perform post processing (saving binary attachments) from saved articles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7514,103 +7666,102 @@ msgid ""
 "#   2 = Yes\n"
 msgstr ""
 
-#: src/lang.c:3082
+#: src/lang.c:3144
 msgid "Process only unread articles"
 msgstr ""
 
-#: src/lang.c:3083
+#: src/lang.c:3145
 msgid ""
 "# If ON only save/print/pipe/mail unread articles (tagged articles "
 "excepted)\n"
 msgstr ""
 
-#: src/lang.c:3088
+#: src/lang.c:3150
 msgid "Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:3089
+#: src/lang.c:3151
 msgid "Print all headers when printing"
 msgstr ""
 
-#: src/lang.c:3090
+#: src/lang.c:3152
 msgid ""
 "# If ON print all of article header otherwise just the important lines\n"
 msgstr ""
 
-#: src/lang.c:3094
+#: src/lang.c:3156
 msgid ""
 "The printer program with options that is to be used to print articles/"
 "threads."
 msgstr ""
 
-#: src/lang.c:3095
+#: src/lang.c:3157
 msgid "Printer program with options"
 msgstr ""
 
-#: src/lang.c:3096
+#: src/lang.c:3158
 msgid "# Print program with parameters used to print articles/threads\n"
 msgstr ""
 
-#: src/lang.c:3102
+#: src/lang.c:3164
 msgid "Force redraw after certain commands"
 msgstr ""
 
-#: src/lang.c:3103
+#: src/lang.c:3165
 msgid ""
 "# If ON a screen redraw will always be done after certain external commands\n"
 msgstr ""
 
-#: src/lang.c:3107
+#: src/lang.c:3169
 msgid "Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr ""
 
-#: src/lang.c:3108
+#: src/lang.c:3170
 msgid "Invocation of your editor"
 msgstr ""
 
-#: src/lang.c:3109
+#: src/lang.c:3171
 msgid ""
 "# Format of editor line including parameters\n"
 "# %E Editor  %F Filename  %N Linenumber\n"
 msgstr ""
 
-#: src/lang.c:3114
+#: src/lang.c:3176
 msgid ""
 "Enter name and options for external-inews, --internal for internal inews"
 msgstr ""
 
-#: src/lang.c:3115
+#: src/lang.c:3177
 msgid "External inews"
 msgstr "Extern inews"
 
-#: src/lang.c:3116
+#: src/lang.c:3178
 msgid ""
 "# If --internal use the built in mini inews for posting via NNTP\n"
 "# otherwise use an external inews program\n"
 msgstr ""
 
-#: src/lang.c:3120
+#: src/lang.c:3182
 msgid ""
 "Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr ""
 
-#: src/lang.c:3121
+#: src/lang.c:3183
 msgid "Invocation of your mail command"
 msgstr ""
 
-#: src/lang.c:3122
+#: src/lang.c:3184
 msgid ""
 "# Format of mailer line including parameters\n"
-"# %M Mailer  %S Subject  %T To  %F Filename\n"
-"# e.g. to use mutt as your mailer:    mutt -s \"%S\" -- \"%T\" < %F\n"
-"# e.g. mutt interactive          :    mutt -H %F\n"
+"# %M Mailer  %S Subject  %T To  %F Filename  %U Username\n"
+"# e.g. mutt interactive:  mutt -H %F\n"
 msgstr ""
 
-#: src/lang.c:3130
+#: src/lang.c:3191
 msgid "Use interactive mail reader"
 msgstr ""
 
-#: src/lang.c:3131
+#: src/lang.c:3192
 msgid ""
 "# Interactive mailreader\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7619,67 +7770,67 @@ msgid ""
 "#   2 = use interactive mailreader without headers in file\n"
 msgstr ""
 
-#: src/lang.c:3140
+#: src/lang.c:3201
 msgid "Remove ~/.article after posting"
 msgstr "Ta bort ~/.article efter postning"
 
-#: src/lang.c:3141
+#: src/lang.c:3202
 msgid "# If ON remove ~/.article after posting.\n"
 msgstr ""
 
-#: src/lang.c:3147
+#: src/lang.c:3208
 msgid "Use UTF-8 graphics (thread tree etc.)"
 msgstr ""
 
-#: src/lang.c:3148
+#: src/lang.c:3209
 msgid ""
 "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n"
 msgstr ""
 
-#: src/lang.c:3153
+#: src/lang.c:3214
 msgid "Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr ""
 
-#: src/lang.c:3154
+#: src/lang.c:3215
 msgid "Filename for posted articles"
 msgstr ""
 
-#: src/lang.c:3155
+#: src/lang.c:3216
 msgid ""
 "# Filename where to keep all postings (default posted)\n"
 "# If no filename is set then postings will not be saved\n"
 msgstr ""
 
-#: src/lang.c:3160
+#: src/lang.c:3221
 msgid ""
 "Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:3161
+#: src/lang.c:3222
 msgid "Keep failed arts in ~/dead.articles"
 msgstr ""
 
-#: src/lang.c:3162
+#: src/lang.c:3223
 msgid "# If ON keep all failed postings in ~/dead.articles\n"
 msgstr ""
 
-#: src/lang.c:3166
+#: src/lang.c:3227
 msgid "Do you want to strip unsubscribed groups from .newsrc"
 msgstr ""
 
-#: src/lang.c:3167
+#: src/lang.c:3228
 msgid "No unsubscribed groups in newsrc"
 msgstr ""
 
-#: src/lang.c:3168
+#: src/lang.c:3229
 msgid "# If ON strip unsubscribed groups from newsrc\n"
 msgstr ""
 
-#: src/lang.c:3173
+#: src/lang.c:3234
 msgid "Remove bogus groups from newsrc"
 msgstr ""
 
-#: src/lang.c:3174
+#: src/lang.c:3235
 msgid ""
 "# What to do with bogus groups in newsrc file\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7688,66 +7839,79 @@ msgid ""
 "#   2 = highlight with D on selection screen\n"
 msgstr ""
 
-#: src/lang.c:3183
+#: src/lang.c:3244
 msgid ""
 "Enter number of seconds to wait for a response from the server. <CR> sets."
 msgstr ""
 
-#: src/lang.c:3184
+#: src/lang.c:3245
 msgid "NNTP read timeout in seconds"
 msgstr ""
 
-#: src/lang.c:3185
+#: src/lang.c:3246
 msgid ""
 "# Time in seconds to wait for a response from the server (0=no timeout)\n"
 msgstr ""
 
-#: src/lang.c:3190
+#: src/lang.c:3251
 msgid "Enter number of seconds until active file will be reread. <CR> sets."
 msgstr ""
 
-#: src/lang.c:3191
+#: src/lang.c:3252
 msgid "Interval in secs to reread active"
 msgstr ""
 
-#: src/lang.c:3192
+#: src/lang.c:3253
 msgid ""
 "# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr ""
 
-#: src/lang.c:3197
+#: src/lang.c:3258
 msgid "Reconnect to server automatically"
 msgstr ""
 
-#: src/lang.c:3198
+#: src/lang.c:3259
 msgid ""
 "# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr ""
 
-#: src/lang.c:3202
+#: src/lang.c:3263
 msgid ""
 "Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:3203
+#: src/lang.c:3264
 msgid "Cache NNTP overview files locally"
 msgstr ""
 
-#: src/lang.c:3204
+#: src/lang.c:3265
 msgid "# If ON, create local copies of NNTP overview files.\n"
 msgstr ""
 
-#: src/lang.c:3208 src/lang.c:3223 src/lang.c:3243 src/lang.c:3266
-#: src/lang.c:3291 src/lang.c:3313 src/lang.c:3332
+#: src/lang.c:3270
+msgid ""
+"Compress local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
+msgstr ""
+
+#: src/lang.c:3271
+msgid "Compress locally cached NNTP overview files"
+msgstr ""
+
+#: src/lang.c:3272
+msgid "# If ON, compress local copies of NNTP overview files.\n"
+msgstr ""
+
+#: src/lang.c:3277 src/lang.c:3292 src/lang.c:3312 src/lang.c:3335
+#: src/lang.c:3360 src/lang.c:3382 src/lang.c:3401
 msgid "Enter format string. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3209
+#: src/lang.c:3278
 #, fuzzy
 msgid "Format string for selection level"
 msgstr "Ã¥tergÃ¥ till gruppvalsnivÃ¥"
 
-#: src/lang.c:3210
+#: src/lang.c:3279
 msgid ""
 "# Format string for selection level representation\n"
 "# Default: %f %n %U  %G  %d\n"
@@ -7761,12 +7925,12 @@ msgid ""
 "#   %U              Unread count\n"
 msgstr ""
 
-#: src/lang.c:3224
+#: src/lang.c:3293
 #, fuzzy
 msgid "Format string for group level"
 msgstr "Ã¥tergÃ¥ till gruppvalsnivÃ¥"
 
-#: src/lang.c:3225
+#: src/lang.c:3294
 msgid ""
 "# Format string for group level representation\n"
 "# Default: %n %m %R %L  %s  %F\n"
@@ -7785,12 +7949,12 @@ msgid ""
 "#   %S              Score\n"
 msgstr ""
 
-#: src/lang.c:3244
+#: src/lang.c:3313
 #, fuzzy
 msgid "Format string for attachment level"
 msgstr "Ã¥tergÃ¥ till gruppvalsnivÃ¥"
 
-#: src/lang.c:3245
+#: src/lang.c:3314
 msgid ""
 "# Format string for attachment level representation\n"
 "# Default: %t%s%e%c%d\n"
@@ -7812,12 +7976,12 @@ msgid ""
 "#   %z              Like %Z but with description\n"
 msgstr ""
 
-#: src/lang.c:3267
+#: src/lang.c:3336
 #, fuzzy
 msgid "Format string for display of mime header"
 msgstr "Ã¥tergÃ¥ till gruppvalsnivÃ¥"
 
-#: src/lang.c:3268
+#: src/lang.c:3337
 msgid ""
 "# Format string for mime header at article level\n"
 "# Default: [-- %T%S%*n%z%*l%!c%!d%*e --]\n"
@@ -7841,12 +8005,12 @@ msgid ""
 "#   %z              Like %Z but with description\n"
 msgstr ""
 
-#: src/lang.c:3292
+#: src/lang.c:3361
 #, fuzzy
 msgid "Format string for display of uue header"
 msgstr "Ã¥tergÃ¥ till gruppvalsnivÃ¥"
 
-#: src/lang.c:3293
+#: src/lang.c:3362
 msgid ""
 "# Format string for uue header at article level\n"
 "# Default: [-- %T%S%*n%I%!d%*e --]\n"
@@ -7867,11 +8031,11 @@ msgid ""
 "#   %z              Like %Z but with description\n"
 msgstr ""
 
-#: src/lang.c:3314
+#: src/lang.c:3383
 msgid "Format string for thread level"
 msgstr ""
 
-#: src/lang.c:3315
+#: src/lang.c:3384
 msgid ""
 "# Format string for thread level representation\n"
 "# Default: %n %m  [%L]  %T  %F\n"
@@ -7889,19 +8053,19 @@ msgid ""
 "#   %T              Thread tree (only thread level)\n"
 msgstr ""
 
-#: src/lang.c:3333
+#: src/lang.c:3402
 msgid "Format string for display of dates"
 msgstr ""
 
-#: src/lang.c:3334
+#: src/lang.c:3403
 msgid "# Format string for date representation\n"
 msgstr ""
 
-#: src/lang.c:3344
+#: src/lang.c:3413
 msgid "Unicode normalization form"
 msgstr ""
 
-#: src/lang.c:3345
+#: src/lang.c:3414
 msgid ""
 "# Unicode normalization form\n"
 "# Possible values are:\n"
@@ -7913,19 +8077,19 @@ msgid ""
 "#   5 = NFKC_CF\n"
 msgstr ""
 
-#: src/lang.c:3359
+#: src/lang.c:3428
 msgid "Render BiDi"
 msgstr ""
 
-#: src/lang.c:3360
+#: src/lang.c:3429
 msgid "# If ON, bi-directional text is rendered by tin\n"
 msgstr ""
 
-#: src/lang.c:3367
+#: src/lang.c:3436
 msgid "Function for sorting articles"
 msgstr ""
 
-#: src/lang.c:3368
+#: src/lang.c:3437
 msgid ""
 "# Function for sorting articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7933,218 +8097,225 @@ msgid ""
 "#   1 = heapsort\n"
 msgstr ""
 
-#: src/lang.c:3381
+#: src/lang.c:3450
 msgid "Automatically GroupMarkUnselArtRead"
 msgstr ""
 
-#: src/lang.c:3387
+#: src/lang.c:3456
 msgid "Delete post-process files"
 msgstr ""
 
-#: src/lang.c:3392
+#: src/lang.c:3461
 msgid "Filename for all mailed articles, <CR> sets, no filename=do not save."
 msgstr ""
 
-#: src/lang.c:3393
+#: src/lang.c:3462
 msgid "Mailbox to save sent mails"
 msgstr ""
 
-#: src/lang.c:3398
+#: src/lang.c:3467
 msgid "Set Followup-To: header to this group(s). <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3399
+#: src/lang.c:3468
 msgid "Followup-To: header"
 msgstr ""
 
-#: src/lang.c:3404
+#: src/lang.c:3473
 msgid "Enter default mail address (and fullname). <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3411
+#: src/lang.c:3480
 msgid ""
 "Path and options for ispell-like spell-checker. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3412
+#: src/lang.c:3481
 msgid "Ispell program"
 msgstr ""
 
-#: src/lang.c:3418
+#: src/lang.c:3487
 msgid "When group is a mailing list, send responses to this email address."
 msgstr ""
 
-#: src/lang.c:3419
+#: src/lang.c:3488
 msgid "Mailing list address"
 msgstr ""
 
-#: src/lang.c:3425
+#: src/lang.c:3494
 msgid "Forward articles as attachment"
 msgstr ""
 
-#: src/lang.c:3430
+#: src/lang.c:3499
 msgid ""
 "A comma separated list of MIME major/minor Content-Types. <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3431
+#: src/lang.c:3500
 msgid "Which MIME types will be saved"
 msgstr ""
 
-#: src/lang.c:3436
+#: src/lang.c:3505
 msgid "Value of the Organization: header. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3437
+#: src/lang.c:3506
 msgid "Organization: header"
 msgstr ""
 
-#: src/lang.c:3442
+#: src/lang.c:3511
 msgid "Filename for saved articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3443
+#: src/lang.c:3512
 #, fuzzy
 msgid "savefile"
 msgstr "Spara filnamn> "
 
-#: src/lang.c:3448 src/lang.c:3472
+#: src/lang.c:3517 src/lang.c:3541
 msgid "Scope for the filter rule. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3449
+#: src/lang.c:3518
 msgid "Quick (1 key) select filter scope"
 msgstr ""
 
-#: src/lang.c:3454 src/lang.c:3478
+#: src/lang.c:3523 src/lang.c:3547
 msgid "Header for filter rule. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3455
+#: src/lang.c:3524
 msgid "Quick (1 key) select filter header"
 msgstr ""
 
-#: src/lang.c:3460 src/lang.c:3484
+#: src/lang.c:3529 src/lang.c:3553
 msgid "ON = case sensitive, OFF = ignore case. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3461
+#: src/lang.c:3530
 msgid "Quick (1 key) select filter case"
 msgstr ""
 
-#: src/lang.c:3466 src/lang.c:3490
+#: src/lang.c:3535 src/lang.c:3559
 msgid "ON = expire, OFF = don't ever expire. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3467
+#: src/lang.c:3536
 msgid "Quick (1 key) select filter expire"
 msgstr ""
 
-#: src/lang.c:3473
+#: src/lang.c:3542
 msgid "Quick (1 key) kill filter scope"
 msgstr ""
 
-#: src/lang.c:3479
+#: src/lang.c:3548
 msgid "Quick (1 key) kill filter header"
 msgstr ""
 
-#: src/lang.c:3485
+#: src/lang.c:3554
 msgid "Quick (1 key) kill filter case"
 msgstr ""
 
-#: src/lang.c:3491
+#: src/lang.c:3560
 msgid "Quick (1 key) kill filter expire"
 msgstr ""
 
-#: src/lang.c:3497
+#: src/lang.c:3566
 msgid "Assume this charset if no charset declaration is present, <CR> to set."
 msgstr ""
 
-#: src/lang.c:3498
+#: src/lang.c:3567
 #, fuzzy
 msgid "UNDECLARED_CHARSET"
 msgstr "MM_NETWORK_CHARSET"
 
-#: src/lang.c:3504
+#: src/lang.c:3572
+msgid "Guess charset if no charset declaration is present, <CR> to set."
+msgstr ""
+
+#: src/lang.c:3573
+msgid "UNDECLARED_CS_GUESS"
+msgstr "UNDECLARED_CS_GUESS"
+
+#: src/lang.c:3580
 msgid ""
 "Add this text at the start of the message body. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3505
+#: src/lang.c:3581
 #, fuzzy
 msgid "X_Body"
 msgstr "Fet"
 
-#: src/lang.c:3510
+#: src/lang.c:3586
 msgid "Insert this header when posting. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3511
+#: src/lang.c:3587
 msgid "X_Headers"
 msgstr ""
 
-#: src/lang.c:3516
+#: src/lang.c:3592
 msgid ""
 "Automatically insert an X-Comment-To: header? <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:3517
+#: src/lang.c:3593
 msgid "Insert 'X-Comment-To:' header"
 msgstr ""
 
-#: src/lang.c:3523
+#: src/lang.c:3599
 msgid "Enter name of file containing trusted CA certificates. <CR> sets."
 msgstr ""
 
-#: src/lang.c:3524
+#: src/lang.c:3600
 #, fuzzy
 msgid "CA certificate file"
 msgstr "redigera filterfil"
 
-#: src/lang.c:3525
+#: src/lang.c:3601
 msgid ""
 "# name of file containing all trusted CA certificates (empty = system "
 "default)\n"
 msgstr ""
 
-#: src/nntplib.c:908
+#: src/nntplib.c:963
 #, c-format
 msgid ""
 "\n"
 "Server timed out, trying reconnect # %d\n"
 msgstr ""
 
-#: src/nntplib.c:950 src/nntplib.c:2032
+#: src/nntplib.c:1006 src/nntplib.c:2115
 msgid "Rejoin current group\n"
 msgstr ""
 
-#: src/nntplib.c:959 src/nntplib.c:2041
+#: src/nntplib.c:1015 src/nntplib.c:2124
 #, c-format
 msgid "Read (%s)\n"
 msgstr "LÃ¤s (%s)\n"
 
-#: src/nntplib.c:961
+#: src/nntplib.c:1017
 #, c-format
 msgid "Resend last command (%s)\n"
 msgstr ""
 
-#: src/read.c:363
+#: src/read.c:358
 msgid "Aborted read\n"
 msgstr "AvbrÃ¶t lÃ¤sning\n"
 
-#: src/read.c:418
+#: src/read.c:413
 msgid "Draining\n"
 msgstr ""
 
-#: src/refs.c:656
+#: src/refs.c:654
 msgid "[- Unavailable -]"
 msgstr "[- Ej tillgÃ¤nglig -]"
 
-#, c-format
 #~ msgid "Version: %s %s release %s (\"%s\") %s %s\n"
 #~ msgstr "Version: %s %s utgÃ¥va %s (\"%s\") %s %s\n"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "%*s[-- %s/%s%s%s%s%s, %d lines, encoding %s --]\n"
 #~ msgstr "%*s[-- %s/%s%s%s%s%s, %d rader, kodar %s --]\n"
 
diff -Nurp '--exclude=.bzr*' tin-2.6.3/po/tin.pot tin-2.6.4/po/tin.pot
--- tin-2.6.3/po/tin.pot	2023-12-24 00:38:37.000000000 +0100
+++ tin-2.6.4/po/tin.pot	2024-12-23 21:44:58.738497623 +0100
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-12-13 22:25+0100\n"
+"POT-Creation-Date: 2024-12-21 15:42+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,47 +16,47 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/lang.c:45
+#: src/lang.c:48
 msgid "1 Response"
 msgstr ""
 
-#: src/lang.c:49
+#: src/lang.c:50
 #, c-format
 msgid ""
 "\n"
 "%s contains no newsgroups. Exiting."
 msgstr ""
 
-#: src/lang.c:51
+#: src/lang.c:52
 msgid "Aborting read, please wait..."
 msgstr ""
 
-#: src/lang.c:53
+#: src/lang.c:54
 msgid "all"
 msgstr ""
 
-#: src/lang.c:54
+#: src/lang.c:55
 msgid "All groups"
 msgstr ""
 
-#: src/lang.c:55
+#: src/lang.c:56
 #, c-format
 msgid "File %s exists. %s=append, %s=overwrite, %s=quit: "
 msgstr ""
 
-#: src/lang.c:56
+#: src/lang.c:57
 msgid "Article cancelled (deleted)."
 msgstr ""
 
-#: src/lang.c:58
+#: src/lang.c:59
 msgid "Article cannot be cancelled (deleted)."
 msgstr ""
 
-#: src/lang.c:60
+#: src/lang.c:61
 msgid "Article deleted."
 msgstr ""
 
-#: src/lang.c:61
+#: src/lang.c:62
 #, c-format
 msgid ""
 "\n"
@@ -66,7 +66,7 @@ msgid ""
 "  %s"
 msgstr ""
 
-#: src/lang.c:62
+#: src/lang.c:63
 #, c-format
 msgid ""
 "\n"
@@ -75,140 +75,144 @@ msgid ""
 "will be posted to the following %s:\n"
 msgstr ""
 
-#: src/lang.c:63
+#: src/lang.c:64
 msgid "Article not posted!"
 msgstr ""
 
-#: src/lang.c:64
+#: src/lang.c:65
 msgid "Article not saved"
 msgstr ""
 
-#: src/lang.c:65
+#: src/lang.c:66
 msgid "Article Level Commands"
 msgstr ""
 
-#: src/lang.c:66
+#: src/lang.c:67
 msgid "Article has no parent"
 msgstr ""
 
-#: src/lang.c:67
+#: src/lang.c:68
 msgid "Parent article has been killed"
 msgstr ""
 
-#: src/lang.c:68
+#: src/lang.c:69
 msgid "Parent article is unavailable"
 msgstr ""
 
-#: src/lang.c:69
+#: src/lang.c:70
 #, c-format
 msgid "Article posted: %s"
 msgstr ""
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid "Article rejected (saved to %s)"
 msgstr ""
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid ""
 "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: "
 msgstr ""
 
-#: src/lang.c:72
+#: src/lang.c:73
 msgid "Article unavailable"
 msgstr ""
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid "Article undeleted."
 msgstr ""
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid "Article %4d of %4d"
 msgstr ""
 
-#: src/lang.c:76
+#: src/lang.c:77
+msgid "Article Info Page"
+msgstr ""
+
+#: src/lang.c:78
 msgid "articles"
 msgstr ""
 
-#: src/lang.c:77
+#: src/lang.c:79
 msgid "This is a repost of the following article:"
 msgstr ""
 
-#: src/lang.c:78
+#: src/lang.c:80
 msgid "article"
 msgstr ""
 
-#: src/lang.c:79
+#: src/lang.c:81
 msgid "Article"
 msgstr ""
 
-#: src/lang.c:80
+#: src/lang.c:82
 #, c-format
 msgid "-- %d %s mailed --"
 msgstr ""
 
-#: src/lang.c:81
+#: src/lang.c:83
 #, c-format
 msgid " at %s"
 msgstr ""
 
-#: src/lang.c:84
+#: src/lang.c:86
 #, c-format
 msgid "charset %s"
 msgstr ""
 
-#: src/lang.c:85
+#: src/lang.c:87
 #, c-format
 msgid "content subtype %s"
 msgstr ""
 
-#: src/lang.c:86
+#: src/lang.c:88
 #, c-format
 msgid "content type %s"
 msgstr ""
 
-#: src/lang.c:87
+#: src/lang.c:89
 #, c-format
 msgid "%*s[-- charset %s not supported --]\n"
 msgstr ""
 
-#: src/lang.c:88
+#: src/lang.c:90
 #, c-format
 msgid "%*s[-- Description: %s --]\n"
 msgstr ""
 
-#: src/lang.c:89
+#: src/lang.c:91
 #, c-format
 msgid "encoding %s"
 msgstr ""
 
-#: src/lang.c:95
+#: src/lang.c:97
 #, c-format
 msgid "lang %s"
 msgstr ""
 
-#: src/lang.c:96
+#: src/lang.c:98
 #, c-format
 msgid "%s lines"
 msgstr ""
 
-#: src/lang.c:97
+#: src/lang.c:99
 #, c-format
 msgid "name %s"
 msgstr ""
 
-#: src/lang.c:98
+#: src/lang.c:100
 msgid ", "
 msgstr ""
 
-#: src/lang.c:99
+#: src/lang.c:101
 #, c-format
 msgid "size %s"
 msgstr ""
 
-#: src/lang.c:100
+#: src/lang.c:102
 msgid ""
 "This message has been composed in the 'multipart/mixed' MIME-format. If you\n"
 "are reading this prefix, your mail reader probably has not yet been "
@@ -217,1101 +221,1151 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:104
+#: src/lang.c:106
 msgid "Attachment Menu"
 msgstr ""
 
-#: src/lang.c:105
+#: src/lang.c:107
 msgid "Attachment Menu Commands"
 msgstr ""
 
-#: src/lang.c:106
+#: src/lang.c:108
 msgid "<no name>"
 msgstr ""
 
-#: src/lang.c:107
+#: src/lang.c:109
 #, c-format
 msgid "Attachment saved successfully. (%s)"
 msgstr ""
 
-#: src/lang.c:108
+#: src/lang.c:110
 #, c-format
 msgid "%d of %d attachments saved successfully."
 msgstr ""
 
-#: src/lang.c:109
+#: src/lang.c:111
 msgid "Select attachment> "
 msgstr ""
 
-#: src/lang.c:110
+#: src/lang.c:112
 msgid "Tagged attachment"
 msgstr ""
 
-#: src/lang.c:111
+#: src/lang.c:113
 #, c-format
 msgid "%d attachments tagged"
 msgstr ""
 
-#: src/lang.c:112
+#: src/lang.c:114
 msgid "Untagged attachment"
 msgstr ""
 
-#: src/lang.c:115
+#: src/lang.c:117
 msgid ""
 "# Do not edit this comment block\n"
 "#\n"
 msgstr ""
 
-#: src/lang.c:116
+#: src/lang.c:118
 msgid "#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr ""
 
-#: src/lang.c:117
+#: src/lang.c:119
 msgid "#  add_posted_to_filter=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:118
+#: src/lang.c:120
 msgid "#  advertising=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:119
+#: src/lang.c:121
 msgid "#  alternative_handling=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:120
+#: src/lang.c:122
 msgid "#  ask_for_metamail=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:121
+#: src/lang.c:123
 msgid "#  auto_cc_bcc=NUM\n"
 msgstr ""
 
-#: src/lang.c:122
+#: src/lang.c:124
 msgid "#    0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n"
 msgstr ""
 
-#: src/lang.c:123
+#: src/lang.c:125
 msgid "#  auto_list_thread=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:124
+#: src/lang.c:126
 msgid "#  auto_select=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:125
+#: src/lang.c:127
 msgid "#  batch_save=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:126
+#: src/lang.c:128
 msgid "#  date_format=STRING (eg. %a, %d %b %Y %H:%M:%S)\n"
 msgstr ""
 
-#: src/lang.c:127
+#: src/lang.c:129
 msgid "#  delete_tmp_files=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:128
+#: src/lang.c:130
 msgid "#  editor_format=STRING (eg. %E +%N %F)\n"
 msgstr ""
 
-#: src/lang.c:129
+#: src/lang.c:131
 msgid "#  fcc=STRING (eg. =mailbox)\n"
 msgstr ""
 
-#: src/lang.c:130
+#: src/lang.c:132
 msgid "#  followup_to=STRING\n"
 msgstr ""
 
-#: src/lang.c:131
+#: src/lang.c:133
 msgid "#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr ""
 
-#: src/lang.c:132
+#: src/lang.c:134
 msgid "#  group_catchup_on_exit=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:133
+#: src/lang.c:135
 msgid "#  group_format=STRING (eg. %n %m %R %L  %s  %F)\n"
 msgstr ""
 
-#: src/lang.c:134
+#: src/lang.c:136
 msgid "#  mail_8bit_header=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:135
+#: src/lang.c:137
 msgid "#  mail_mime_encoding=supported_encoding"
 msgstr ""
 
-#: src/lang.c:137
+#: src/lang.c:139
 msgid "#  ispell=STRING\n"
 msgstr ""
 
-#: src/lang.c:139
+#: src/lang.c:141
 msgid "#  maildir=STRING (eg. ~/Mail)\n"
 msgstr ""
 
-#: src/lang.c:140
+#: src/lang.c:142
 msgid "#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr ""
 
-#: src/lang.c:141
+#: src/lang.c:143
 msgid "#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr ""
 
-#: src/lang.c:142
+#: src/lang.c:144
 msgid "#  mark_ignore_tags=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:143
+#: src/lang.c:145
 msgid "#  mark_saved_read=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:144
+#: src/lang.c:146
 msgid "#  mime_forward=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:146
+#: src/lang.c:148
 msgid "#  mm_network_charset=supported_charset"
 msgstr ""
 
-#: src/lang.c:147
+#: src/lang.c:149
 msgid "#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr ""
 
-#: src/lang.c:149
+#: src/lang.c:151
+msgid "#  undeclared_cs_guess=ON/OFF (default is OFF)\n"
+msgstr ""
+
+#: src/lang.c:154
 msgid "#  news_headers_to_display=STRING\n"
 msgstr ""
 
-#: src/lang.c:150
+#: src/lang.c:155
 msgid "#  news_headers_to_not_display=STRING\n"
 msgstr ""
 
-#: src/lang.c:151
+#: src/lang.c:156
 msgid "#  news_quote_format=STRING\n"
 msgstr ""
 
-#: src/lang.c:152
+#: src/lang.c:157
 msgid "#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr ""
 
-#: src/lang.c:153
+#: src/lang.c:158
 msgid "#  pos_first_unread=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:154
+#: src/lang.c:159
 msgid "#  post_8bit_header=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:155
+#: src/lang.c:160
 msgid "#  post_mime_encoding=supported_encoding"
 msgstr ""
 
-#: src/lang.c:156
+#: src/lang.c:161
 msgid "#  post_process_type=NUM\n"
 msgstr ""
 
-#: src/lang.c:157
+#: src/lang.c:162
 msgid "#  post_process_view=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:158
+#: src/lang.c:163
 msgid "#  quick_kill_scope=STRING (e.g. talk.*)\n"
 msgstr ""
 
-#: src/lang.c:159
+#: src/lang.c:164
 msgid "#  quick_kill_expire=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:160
+#: src/lang.c:165
 msgid "#  quick_kill_case=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:161
+#: src/lang.c:166
 msgid "#  quick_kill_header=NUM\n"
 msgstr ""
 
-#: src/lang.c:162 src/lang.c:171
+#: src/lang.c:167 src/lang.c:176
 msgid "#    0=Subject: (case sensitive)  1=Subject: (ignore case)\n"
 msgstr ""
 
-#: src/lang.c:163 src/lang.c:172
+#: src/lang.c:168 src/lang.c:177
 msgid "#    2=From: (case sensitive)     3=From: (ignore case)\n"
 msgstr ""
 
-#: src/lang.c:164 src/lang.c:173
+#: src/lang.c:169 src/lang.c:178
 msgid "#    4=Message-ID: & full References: line\n"
 msgstr ""
 
-#: src/lang.c:165 src/lang.c:174
+#: src/lang.c:170 src/lang.c:179
 msgid "#    5=Message-ID: & last References: entry only\n"
 msgstr ""
 
-#: src/lang.c:166 src/lang.c:175
+#: src/lang.c:171 src/lang.c:180
 msgid "#    6=Message-ID: entry only     7=Lines:\n"
 msgstr ""
 
-#: src/lang.c:167
+#: src/lang.c:172
 msgid "#  quick_select_scope=STRING\n"
 msgstr ""
 
-#: src/lang.c:168
+#: src/lang.c:173
 msgid "#  quick_select_expire=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:169
+#: src/lang.c:174
 msgid "#  quick_select_case=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:170
+#: src/lang.c:175
 msgid "#  quick_select_header=NUM\n"
 msgstr ""
 
-#: src/lang.c:176
+#: src/lang.c:181
 msgid "#  quote_chars=STRING (%I for initials)\n"
 msgstr ""
 
-#: src/lang.c:178
+#: src/lang.c:183
 msgid "#  print_header=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:180
+#: src/lang.c:185
 msgid "#  process_only_unread=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:181
+#: src/lang.c:186
 msgid "#  prompt_followupto=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:182
+#: src/lang.c:187
 msgid "#  savedir=STRING (eg. ~user/News)\n"
 msgstr ""
 
-#: src/lang.c:183
+#: src/lang.c:188
 msgid "#  savefile=STRING (eg. =linux)\n"
 msgstr ""
 
-#: src/lang.c:184
+#: src/lang.c:189
 msgid "#  sigfile=STRING (eg. $var/sig)\n"
 msgstr ""
 
-#: src/lang.c:185
+#: src/lang.c:190
 msgid "#  show_author=NUM\n"
 msgstr ""
 
-#: src/lang.c:186
+#: src/lang.c:191
 msgid "#  show_signatures=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:187
+#: src/lang.c:192
 msgid "#  show_art_score=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:189
+#: src/lang.c:194
 msgid "#  suppress_soft_hyphens=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:191
+#: src/lang.c:196
 msgid "#  show_only_unread_arts=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:192
+#: src/lang.c:197
 msgid "#  sigdashes=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:193
+#: src/lang.c:198
 msgid "#  signature_repost=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:194
+#: src/lang.c:199
 msgid "#  sort_article_type=NUM\n"
 msgstr ""
 
-#: src/lang.c:195
+#: src/lang.c:200
 msgid "#  sort_threads_type=NUM\n"
 msgstr ""
 
-#: src/lang.c:196
+#: src/lang.c:201
 msgid "#  tex2iso_conv=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:197
+#: src/lang.c:202
 msgid "#  thread_catchup_on_exit=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:198
+#: src/lang.c:203
 msgid "#  thread_articles=NUM"
 msgstr ""
 
-#: src/lang.c:199
+#: src/lang.c:204
 msgid "#  thread_format=STRING (eg. %n %m [%L]  %T  %F)\n"
 msgstr ""
 
-#: src/lang.c:200
+#: src/lang.c:205
 msgid "#  thread_perc=NUM\n"
 msgstr ""
 
-#: src/lang.c:201
+#: src/lang.c:206
 msgid "#  trim_article_body=NUM\n"
 msgstr ""
 
-#: src/lang.c:202
+#: src/lang.c:207
 msgid "#    0 = Don't trim article body\n"
 msgstr ""
 
-#: src/lang.c:203
+#: src/lang.c:208
 msgid "#    1 = Skip leading blank lines\n"
 msgstr ""
 
-#: src/lang.c:204
+#: src/lang.c:209
 msgid "#    2 = Skip trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:205
+#: src/lang.c:210
 msgid "#    3 = Skip leading and trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:206
+#: src/lang.c:211
 msgid "#    4 = Compact multiple blank lines between text blocks\n"
 msgstr ""
 
-#: src/lang.c:207
+#: src/lang.c:212
 msgid ""
 "#    5 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading blank lines\n"
 msgstr ""
 
-#: src/lang.c:208
+#: src/lang.c:213
 msgid ""
 "#    6 = Compact multiple blank lines between text blocks and skip\n"
 "#        trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:209
+#: src/lang.c:214
 msgid ""
 "#    7 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading and trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:210
+#: src/lang.c:215
 msgid "#  verbatim_handling=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:212
+#: src/lang.c:217
 msgid "#  extquote_handling=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:214
+#: src/lang.c:219
 msgid "#  wrap_on_next_unread=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:215
+#: src/lang.c:220
 msgid "#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr ""
 
-#: src/lang.c:216
+#: src/lang.c:221
 msgid "#  x_comment_to=ON/OFF\n"
 msgstr ""
 
-#: src/lang.c:217
+#: src/lang.c:222
 msgid "#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr ""
 
-#: src/lang.c:218
+#: src/lang.c:223
 msgid ""
 "#\n"
 "# Note that it is best to put general (global scoping)\n"
 msgstr ""
 
-#: src/lang.c:219
+#: src/lang.c:224
 msgid ""
 "# entries first followed by group specific entries.\n"
 "#\n"
 msgstr ""
 
-#: src/lang.c:220
+#: src/lang.c:225
 msgid "############################################################################\n"
 msgstr ""
 
-#: src/lang.c:221
+#: src/lang.c:226
 msgid "Attributes Menu Commands"
 msgstr ""
 
-#: src/lang.c:222
+#: src/lang.c:227
 #, c-format
 msgid "attribute with no scope: %s"
 msgstr ""
 
-#: src/lang.c:224
+#: src/lang.c:229
 #, c-format
 msgid "%d Authentication failed"
 msgstr ""
 
-#: src/lang.c:225
+#: src/lang.c:230
 #, c-format
 msgid "NNTP authorization password not found for %s"
 msgstr ""
 
-#: src/lang.c:226
+#: src/lang.c:231
 msgid "Server expects authentication.\n"
 msgstr ""
 
-#: src/lang.c:227
+#: src/lang.c:232
 msgid "    Please enter password: "
 msgstr ""
 
-#: src/lang.c:228
+#: src/lang.c:233
 msgid "    Please enter username: "
 msgstr ""
 
-#: src/lang.c:229
+#: src/lang.c:234
 #, c-format
 msgid "Authorized for user: %s\n"
 msgstr ""
 
-#: src/lang.c:230
+#: src/lang.c:235
 #, c-format
 msgid "Authorization failed for user: %s\n"
 msgstr ""
 
-#: src/lang.c:232
+#: src/lang.c:236
+msgid "No supported authorization method available in current state!\n"
+msgstr ""
+
+#: src/lang.c:238
 #, c-format
 msgid "Author search backwards [%s]> "
 msgstr ""
 
-#: src/lang.c:233
+#: src/lang.c:239
 #, c-format
 msgid "Author search forwards [%s]> "
 msgstr ""
 
-#: src/lang.c:234
+#: src/lang.c:240
 #, c-format
 msgid ""
 "\n"
 "Autosubscribed to %s"
 msgstr ""
 
-#: src/lang.c:235
+#: src/lang.c:241
 msgid "Autosubscribing groups...\n"
 msgstr ""
 
-#: src/lang.c:236
+#: src/lang.c:242
 #, c-format
 msgid "Autoselecting articles (use '%s' to see all unread) ..."
 msgstr ""
 
-#: src/lang.c:238
+#: src/lang.c:244
 #, c-format
 msgid ""
 "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 msgstr ""
 
-#: src/lang.c:239
+#: src/lang.c:246
 #, c-format
 msgid "Unrecognized attribute: %s"
 msgstr ""
 
-#: src/lang.c:240
+#: src/lang.c:248
 #, c-format
 msgid "Bad command. Type '%s' for help."
 msgstr ""
 
-#: src/lang.c:242
+#: src/lang.c:249
 msgid "Base article"
 msgstr ""
 
-#: src/lang.c:243
+#: src/lang.c:250
 msgid "Base article range"
 msgstr ""
 
-#: src/lang.c:244
+#: src/lang.c:251
 #, c-format
 msgid "%s: Updating of index files not supported: cache_overview_files=%s"
 msgstr ""
 
-#: src/lang.c:245
+#: src/lang.c:252
 msgid "*** Beginning of article ***"
 msgstr ""
 
-#: src/lang.c:246
+#: src/lang.c:253
 msgid "*** Beginning of page ***"
 msgstr ""
 
-#: src/lang.c:248
-msgid "bytes"
-msgstr ""
-
-#: src/lang.c:251
+#: src/lang.c:255
 #, c-format
 msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr ""
 
-#: src/lang.c:252
+#: src/lang.c:256
 msgid "Cancelling article..."
 msgstr ""
 
-#: src/lang.c:254
+#: src/lang.c:258
 #, c-format
 msgid "Cannot create %s"
 msgstr ""
 
-#: src/lang.c:257
+#: src/lang.c:261
 #, c-format
 msgid "Can't find base article %d"
 msgstr ""
 
-#: src/lang.c:259
+#: src/lang.c:263
 #, c-format
 msgid "Can't open %s"
 msgstr ""
 
-#: src/lang.c:260
+#: src/lang.c:264
 #, c-format
 msgid "Couldn't open %s for saving"
 msgstr ""
 
-#: src/lang.c:261
+#: src/lang.c:265
 msgid "*** Posting not allowed ***"
 msgstr ""
 
-#: src/lang.c:262
+#: src/lang.c:266
 #, c-format
 msgid "Posting is not allowed to %s"
 msgstr ""
 
-#: src/lang.c:264
+#: src/lang.c:268
 #, c-format
 msgid "Can't retrieve %s"
 msgstr ""
 
-#: src/lang.c:266
+#: src/lang.c:270
 msgid "Can't supersede in mailgroups, try repost instead."
 msgstr ""
 
-#: src/lang.c:267
+#: src/lang.c:271
 #, c-format
 msgid "%s is a directory"
 msgstr ""
 
-#: src/lang.c:268
+#: src/lang.c:272
 msgid "Catchup"
 msgstr ""
 
-#: src/lang.c:269
+#: src/lang.c:273
 #, c-format
 msgid "Catchup %s..."
 msgstr ""
 
-#: src/lang.c:270
+#: src/lang.c:274
 msgid "Catchup all groups entered during this session?"
 msgstr ""
 
-#: src/lang.c:271
+#: src/lang.c:275
 msgid "You have tagged articles in this group - catchup anyway?"
 msgstr ""
 
-#: src/lang.c:272
+#: src/lang.c:276
 #, c-format
 msgid "%s %d %s in %lu seconds\n"
 msgstr ""
 
-#: src/lang.c:273
+#: src/lang.c:277
 msgid "Caughtup"
 msgstr ""
 
-#: src/lang.c:274
+#: src/lang.c:278
 msgid "Check Prepared Article"
 msgstr ""
 
-#: src/lang.c:275
+#: src/lang.c:279
 msgid "Checking for new groups... "
 msgstr ""
 
-#: src/lang.c:276
+#: src/lang.c:280
 msgid "Checking for news...\n"
 msgstr ""
 
-#: src/lang.c:277
+#: src/lang.c:281
 #, c-format
 msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr ""
 
-#: src/lang.c:279
+#: src/lang.c:283
 msgid "ANSI color disabled"
 msgstr ""
 
-#: src/lang.c:280
+#: src/lang.c:284
 msgid "ANSI color enabled"
 msgstr ""
 
-#: src/lang.c:282
+#: src/lang.c:286
 #, c-format
 msgid "Command failed: %s"
 msgstr ""
 
-#: src/lang.c:284
+#: src/lang.c:288
 msgid "Mark not selected articles read?"
 msgstr ""
 
-#: src/lang.c:285
+#: src/lang.c:289
 msgid "Connection Info"
 msgstr ""
 
-#: src/lang.c:286
+#: src/lang.c:290
 msgid "Reading from local spool.\n"
 msgstr ""
 
-#: src/lang.c:287
+#: src/lang.c:291
 msgid "Reading saved news.\n"
 msgstr ""
 
-#: src/lang.c:295
+#: src/lang.c:292
+msgid ""
+"\n"
+"Configuration files:\n"
+"--------------------\n"
+msgstr ""
+
+#: src/lang.c:300
 msgid ""
 "\n"
 "Local spool config:\n"
 "-------------------\n"
 msgstr ""
 
-#: src/lang.c:300
+#: src/lang.c:305
 msgid "COMPRESS      :"
 msgstr ""
 
-#: src/lang.c:301
+#: src/lang.c:306
 msgid ""
 "\n"
 "Connection details:\n"
 "-------------------\n"
 msgstr ""
 
-#: src/lang.c:303
+#: src/lang.c:308
 #, c-format
 msgid " DEFLATE %s\n"
 msgstr ""
 
-#: src/lang.c:304
+#: src/lang.c:309
 msgid "(enabled)"
 msgstr ""
 
-#: src/lang.c:305
+#: src/lang.c:310
 msgid "(inactive)"
 msgstr ""
 
-#: src/lang.c:307
+#: src/lang.c:312
 msgid " DEFLATE (not supported)\n"
 msgstr ""
 
-#: src/lang.c:310
+#: src/lang.c:315
 msgid "(disabled)"
 msgstr ""
 
-#: src/lang.c:311
+#: src/lang.c:316
 #, c-format
 msgid "NNTP TIMEOUT  : %d seconds %s\n"
 msgstr ""
 
-#: src/lang.c:313
+#: src/lang.c:318
 #, c-format
 msgid "IMPLEMENTATION: %s\n"
 msgstr ""
 
-#: src/lang.c:315
+#: src/lang.c:320
 #, c-format
 msgid "MAXARTNUM     : %s\n"
 msgstr ""
 
-#: src/lang.c:317
+#: src/lang.c:322
 #, c-format
 msgid "Reading via NNTP (%s).\n"
 msgstr ""
 
-#: src/lang.c:318
+#: src/lang.c:323
 #, c-format
 msgid "NNTPPORT      : %u\n"
 msgstr ""
 
-#: src/lang.c:319
+#: src/lang.c:324
 msgid "read only"
 msgstr ""
 
-#: src/lang.c:320
+#: src/lang.c:325
 msgid "read/write"
 msgstr ""
 
-#: src/lang.c:321
+#: src/lang.c:326
 #, c-format
 msgid "NNTPSERVER    : %s\n"
 msgstr ""
 
-#: src/lang.c:323
+#: src/lang.c:327
+#, c-format
+msgid "CONNECTIONTYPE: %s\n"
+msgstr ""
+
+#: src/lang.c:329
 #, c-format
 msgid "Reading %s via NNTPS (%s; "
 msgstr ""
 
-#: src/lang.c:325
+#: src/lang.c:330
 #, c-format
 msgid "Certificate #%d\n"
 msgstr ""
 
-#: src/lang.c:327
+#: src/lang.c:332
 #, c-format
 msgid "Issuer : %s\n"
 msgstr ""
 
-#: src/lang.c:328
+#: src/lang.c:333
 msgid ""
 "\n"
 "Server certificate information:\n"
 "-------------------------------\n"
 msgstr ""
 
-#: src/lang.c:329
+#: src/lang.c:334
 #, c-format
 msgid "Subject: %s\n"
 msgstr ""
 
-#: src/lang.c:330
+#: src/lang.c:335
 msgid ""
 "\n"
 "TLS information:\n"
 "----------------\n"
 msgstr ""
 
-#: src/lang.c:333
+#: src/lang.c:336
+msgid "trusted"
+msgstr ""
+
+#: src/lang.c:337
+msgid "untrusted"
+msgstr ""
+
+#: src/lang.c:339
 msgid "UNEXPECTED, possible BUG"
 msgstr ""
 
-#: src/lang.c:334
+#: src/lang.c:340
 msgid "tolerated as \"-k\" (insecure) requested"
 msgstr ""
 
-#: src/lang.c:335
+#: src/lang.c:341
 #, c-format
 msgid ""
 "Server certificate verification FAILED:\n"
 "\t%s (%s)\n"
 msgstr ""
 
-#: src/lang.c:336
+#: src/lang.c:342
 msgid "Server certificate verified successfully.\n"
 msgstr ""
 
-#: src/lang.c:338
-msgid "trusted"
-msgstr ""
-
-#: src/lang.c:339
-msgid "untrusted"
-msgstr ""
-
-#: src/lang.c:342
+#: src/lang.c:346
 msgid "Server certificate verification FAILED: <can't get reason>\n"
 msgstr ""
 
-#: src/lang.c:346
+#: src/lang.c:350
 #, c-format
 msgid "%s %s (strength %d)\n"
 msgstr ""
 
-#: src/lang.c:353
+#: src/lang.c:357
 #, c-format
 msgid "Cook article failed, %s is exiting"
 msgstr ""
 
-#: src/lang.c:354
+#: src/lang.c:358
 msgid "<CR>"
 msgstr ""
 
-#: src/lang.c:355
+#: src/lang.c:359
 msgid "Creating active file for saved groups...\n"
 msgstr ""
 
-#: src/lang.c:356
-msgid "Creating newsrc file...\n"
+#: src/lang.c:360
+#, c-format
+msgid "Creating %s file...\n"
 msgstr ""
 
-#: src/lang.c:358 src/lang.c:1666 src/lang.c:1686
+#: src/lang.c:362 src/lang.c:1715 src/lang.c:1735
 msgid "Default"
 msgstr ""
 
-#: src/lang.c:359
+#: src/lang.c:363
 msgid "Delete saved files that have been post processed?"
 msgstr ""
 
-#: src/lang.c:360
+#: src/lang.c:364
 msgid "Deleting temporary files..."
 msgstr ""
 
-#: src/lang.c:362
+#: src/lang.c:366
 msgid "*** End of article ***"
 msgstr ""
 
-#: src/lang.c:363
+#: src/lang.c:367
 msgid "*** End of articles ***"
 msgstr ""
 
-#: src/lang.c:364
+#: src/lang.c:368
 msgid "*** End of attachments ***"
 msgstr ""
 
-#: src/lang.c:365
+#: src/lang.c:369
 msgid "*** End of groups ***"
 msgstr ""
 
-#: src/lang.c:366
+#: src/lang.c:370
 msgid "*** End of page ***"
 msgstr ""
 
-#: src/lang.c:367
+#: src/lang.c:371
 msgid "*** End of posted articles ***"
 msgstr ""
 
-#: src/lang.c:368
+#: src/lang.c:372
 msgid "*** End of scopes ***"
 msgstr ""
 
-#: src/lang.c:369
+#: src/lang.c:373
 msgid "*** End of thread ***"
 msgstr ""
 
-#: src/lang.c:370
+#: src/lang.c:374
 msgid "*** End of URLs ***"
 msgstr ""
 
-#: src/lang.c:371
+#: src/lang.c:375
 msgid "Enter limit of articles to get> "
 msgstr ""
 
-#: src/lang.c:372
+#: src/lang.c:376
 msgid "Enter Message-ID to go to> "
 msgstr ""
 
-#: src/lang.c:373
+#: src/lang.c:377
 msgid " and enter next unread thread"
 msgstr ""
 
-#: src/lang.c:374
+#: src/lang.c:378
 msgid " and enter next unread article"
 msgstr ""
 
-#: src/lang.c:375
+#: src/lang.c:379
 msgid " and enter next unread group"
 msgstr ""
 
-#: src/lang.c:376
+#: src/lang.c:380
 msgid "Enter option number> "
 msgstr ""
 
-#: src/lang.c:377
+#: src/lang.c:381
 #, c-format
 msgid "Enter range [%s]> "
 msgstr ""
 
-#: src/lang.c:378
-msgid ""
-"\n"
-"Warning: Approved: header used.\n"
-msgstr ""
-
 #: src/lang.c:382
-msgid ""
-"\n"
-"Error: Bad address in Approved: header.\n"
+#, c-format
+msgid "Error: Could not appended %s to %s"
 msgstr ""
 
 #: src/lang.c:383
 msgid ""
 "\n"
-"Error: Bad address in From: header.\n"
+"Warning: Approved: header used.\n"
 msgstr ""
 
 #: src/lang.c:384
-msgid ""
-"\n"
-"Error: Bad FQDN in Message-ID: header.\n"
+#, c-format
+msgid "  Line %d: \"%s\": given string too long.\n"
 msgstr ""
 
 #: src/lang.c:385
+#, c-format
+msgid "  Line %d: \"%s\": unrecognized attribute.\n"
+msgstr ""
+
+#: src/lang.c:386
+#, c-format
+msgid "  Line %d: \"%s\": malformed line, '=' missing.\n"
+msgstr ""
+
+#: src/lang.c:390
+#, c-format
 msgid ""
 "\n"
-"Error: Bad address in Reply-To: header.\n"
+"Error: Bad address in \"%s\" header.\n"
 msgstr ""
 
-#: src/lang.c:386
+#: src/lang.c:391
 msgid ""
 "\n"
-"Error: Bad address in To: header.\n"
+"Error: Bad FQDN in Message-ID: header.\n"
+msgstr ""
+
+#: src/lang.c:393
+#, c-format
+msgid "Can't use literal IPv%d-address %s with TLS (-T)"
 msgstr ""
 
-#: src/lang.c:388
+#: src/lang.c:396
 #, c-format
 msgid "Can't unlock %s"
 msgstr ""
 
-#: src/lang.c:389
+#: src/lang.c:397
 #, c-format
 msgid "Couldn't dotlock %s - article not appended!"
 msgstr ""
 
-#: src/lang.c:390
+#: src/lang.c:398
 #, c-format
 msgid "Couldn't lock %s - article not appended!"
 msgstr ""
 
-#: src/lang.c:393
+#: src/lang.c:401
 #, c-format
 msgid ""
 "Server requires authentication but compression (-C) is already active.\n"
 "Restart %s with -A cmd.-line switch in conjunction with -C.\n"
 msgstr ""
 
-#: src/lang.c:396
+#: src/lang.c:404
 #, c-format
 msgid "Corrupted file %s"
 msgstr ""
 
-#: src/lang.c:397
+#: src/lang.c:406
 #, c-format
 msgid "couldn't expand %s\n"
 msgstr ""
 
-#: src/lang.c:399
+#: src/lang.c:408
+#, c-format
+msgid "Error: Custom format empty. Using default \"%s\"."
+msgstr ""
+
+#: src/lang.c:409
+msgid ""
+"\n"
+"Error: Article is empty.\n"
+msgstr ""
+
+#: src/lang.c:411
 msgid ""
 "\n"
 "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n"
 msgstr ""
 
-#: src/lang.c:400
+#: src/lang.c:412
 #, c-format
 msgid "Error: Custom format exceeds screen width. Using default \"%s\"."
 msgstr ""
 
-#: src/lang.c:401
+#: src/lang.c:413
 msgid "Internal error in GNKSA routine - send bug report.\n"
 msgstr ""
 
-#: src/lang.c:402
+#: src/lang.c:414
 msgid "Left angle bracket missing in route address.\n"
 msgstr ""
 
-#: src/lang.c:403
+#: src/lang.c:415
 msgid "Left parenthesis missing in old-style address.\n"
 msgstr ""
 
-#: src/lang.c:404
+#: src/lang.c:416
 msgid "Right parenthesis missing in old-style address.\n"
 msgstr ""
 
-#: src/lang.c:405
+#: src/lang.c:417
 msgid "At-sign missing in mail address.\n"
 msgstr ""
 
-#: src/lang.c:406
+#: src/lang.c:418
+msgid "Right angle bracket missing in route address.\n"
+msgstr ""
+
+#: src/lang.c:419
 msgid "Single component FQDN is not allowed. Add your domain.\n"
 msgstr ""
 
-#: src/lang.c:407
+#: src/lang.c:420
 msgid ""
 "Invalid domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
 msgstr ""
 
-#: src/lang.c:408
+#: src/lang.c:421
 msgid ""
 "Illegal domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
 msgstr ""
 
-#: src/lang.c:409
+#: src/lang.c:422
 msgid ""
 "Unknown domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
 msgstr ""
 
-#: src/lang.c:410
+#: src/lang.c:423
 msgid "Illegal character in FQDN.\n"
 msgstr ""
 
-#: src/lang.c:411
+#: src/lang.c:424
 msgid "Zero length FQDN component not allowed.\n"
 msgstr ""
 
-#: src/lang.c:412
+#: src/lang.c:425
 msgid "FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr ""
 
-#: src/lang.c:413
+#: src/lang.c:426
 msgid "FQDN component may not start or end with hyphen.\n"
 msgstr ""
 
-#: src/lang.c:414
+#: src/lang.c:427
 msgid "FQDN component may not start with digit.\n"
 msgstr ""
 
-#: src/lang.c:415
+#: src/lang.c:428
 msgid "Domain literal has impossible numeric value.\n"
 msgstr ""
 
-#: src/lang.c:416
+#: src/lang.c:429
 msgid ""
 "Domain literal is for private use only and not allowed for global use.\n"
 msgstr ""
 
-#: src/lang.c:417
+#: src/lang.c:430
 msgid "Right bracket missing in domain literal.\n"
 msgstr ""
 
-#: src/lang.c:418
+#: src/lang.c:431
 msgid "Missing localpart of mail address.\n"
 msgstr ""
 
-#: src/lang.c:419
+#: src/lang.c:432
 msgid "Illegal character in localpart of mail address.\n"
 msgstr ""
 
-#: src/lang.c:420
+#: src/lang.c:433
 msgid "Zero length localpart component not allowed.\n"
 msgstr ""
 
-#: src/lang.c:421
+#: src/lang.c:434
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
 msgstr ""
 
-#: src/lang.c:422
+#: src/lang.c:435
 msgid ""
 "Illegal character in realname.\n"
 "Quoted words may not contain '()<>\\'.\n"
 msgstr ""
 
-#: src/lang.c:423
+#: src/lang.c:436
 msgid ""
 "Illegal character in realname.\n"
 "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
 msgstr ""
 
-#: src/lang.c:424
+#: src/lang.c:437
 msgid "Bad syntax in encoded word used in realname.\n"
 msgstr ""
 
-#: src/lang.c:425
+#: src/lang.c:438
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '()<>\\' in old-style addresses.\n"
 msgstr ""
 
-#: src/lang.c:426
+#: src/lang.c:439
 msgid ""
 "Illegal character in realname.\n"
 "Control characters and unencoded 8bit characters > 127 are not allowed.\n"
 msgstr ""
 
-#: src/lang.c:427
+#: src/lang.c:440
+msgid "Missing realname.\n"
+msgstr ""
+
+#: src/lang.c:441
 msgid ""
 "\n"
 "Error: No blank line found after header.\n"
 msgstr ""
 
-#: src/lang.c:428
+#: src/lang.c:442
+msgid ""
+"\n"
+"Error: Illegal Distribution \"all\" used.\n"
+msgstr ""
+
+#: src/lang.c:443
 #, c-format
 msgid ""
 "\n"
@@ -1319,7 +1373,7 @@ msgid ""
 msgstr ""
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:430
+#: src/lang.c:445
 msgid ""
 "\n"
 "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
@@ -1328,7 +1382,7 @@ msgid ""
 "       editing tinrc.\n"
 msgstr ""
 
-#: src/lang.c:435
+#: src/lang.c:450
 msgid ""
 "\n"
 "Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
@@ -1338,13 +1392,13 @@ msgid ""
 "       using the M)enu of configurable options or by editing tinrc.\n"
 msgstr ""
 
-#: src/lang.c:441
+#: src/lang.c:456
 msgid ""
 "\n"
 "Error: Article starts with blank line instead of header\n"
 msgstr ""
 
-#: src/lang.c:442
+#: src/lang.c:457
 #, c-format
 msgid ""
 "\n"
@@ -1352,28 +1406,28 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/lang.c:443
+#: src/lang.c:458
 #, c-format
 msgid ""
 "\n"
 "Error: The \"%s:\" line is empty.\n"
 msgstr ""
 
-#: src/lang.c:444
+#: src/lang.c:459
 #, c-format
 msgid ""
 "\n"
 "Error: The \"%s:\" line is missing from the article header.\n"
 msgstr ""
 
-#: src/lang.c:445
+#: src/lang.c:460
 #, c-format
 msgid ""
 "\n"
 "Error: %s contains non 7bit chars.\n"
 msgstr ""
 
-#: src/lang.c:446
+#: src/lang.c:461
 #, c-format
 msgid ""
 "\n"
@@ -1381,14 +1435,14 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/lang.c:447
+#: src/lang.c:462
 #, c-format
 msgid ""
 "\n"
 "Error: There are multiple (%d) \"%s:\" lines in the header.\n"
 msgstr ""
 
-#: src/lang.c:448
+#: src/lang.c:463
 #, c-format
 msgid ""
 "\n"
@@ -1396,140 +1450,156 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/lang.c:450
+#: src/lang.c:464
+msgid ""
+"\n"
+"Error: This is a mailgroup, but a recipient (\"To:\") is missing.\n"
+msgstr ""
+
+#: src/lang.c:465
+#, c-format
+msgid "Mixed up '-f'/'-F'? %s %s"
+msgstr ""
+
+#: src/lang.c:467
 #, c-format
 msgid "Insecure permissions of %s (%o)"
 msgstr ""
 
-#: src/lang.c:453
+#: src/lang.c:470
 #, c-format
 msgid "Line %d is longer than %d octets and should be folded.\n"
 msgstr ""
 
-#: src/lang.c:455
+#: src/lang.c:472
 #, c-format
 msgid "Line %d is longer than %d octets and should be shortened.\n"
 msgstr ""
 
-#: src/lang.c:461
+#: src/lang.c:477
 #, c-format
-msgid "MIME parse error: Unexpected end of %s/%s article"
+msgid "MIME parse error: Unexpected end of %s/%s article\n"
 msgstr ""
 
-#: src/lang.c:462
-msgid "MIME parse error: Start boundary whilst reading headers"
+#: src/lang.c:478
+msgid "MIME parse error: Start boundary whilst reading headers\n"
 msgstr ""
 
-#: src/lang.c:464
+#: src/lang.c:479
 msgid ""
 "\n"
 "Error: \"poster\" is not allowed in Newsgroups!\n"
 msgstr ""
 
-#: src/lang.c:465
+#: src/lang.c:480
 msgid "Can't get a (fully-qualified) domain-name!"
 msgstr ""
 
-#: src/lang.c:466
-#, c-format
-msgid "No permissions to go into %s\n"
-msgstr ""
-
-#: src/lang.c:468
+#: src/lang.c:482
 msgid ""
 "\n"
 "Error: From: line missing.\n"
 msgstr ""
 
-#: src/lang.c:470
+#: src/lang.c:485
+#, c-format
+msgid "No permissions to go into %s\n"
+msgstr ""
+
+#: src/lang.c:486
 #, c-format
 msgid "No read permissions for %s\n"
 msgstr ""
 
-#: src/lang.c:471
+#: src/lang.c:487
 #, c-format
 msgid "File %s does not exist\n"
 msgstr ""
 
-#: src/lang.c:472
+#: src/lang.c:488
 #, c-format
 msgid "No write permissions for %s\n"
 msgstr ""
 
-#: src/lang.c:473
+#: src/lang.c:490
+#, c-format
+msgid "Not a literal IPv6 address: %s"
+msgstr ""
+
+#: src/lang.c:493
 msgid "Can't get user information (/etc/passwd missing?)"
 msgstr ""
 
-#: src/lang.c:475
+#: src/lang.c:495
 msgid "errors"
 msgstr ""
 
-#: src/lang.c:476
+#: src/lang.c:496
 msgid "error"
 msgstr ""
 
-#: src/lang.c:479
+#: src/lang.c:499
 #, c-format
 msgid ""
 "\n"
 "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n"
 msgstr ""
 
-#: src/lang.c:481
+#: src/lang.c:501
 #, c-format
 msgid "Server has non of the groups listed in %s"
 msgstr ""
 
-#: src/lang.c:482
+#: src/lang.c:502
 #, c-format
 msgid "Error: unlink %s"
 msgstr ""
 
-#: src/lang.c:483
+#: src/lang.c:503
 msgid "Unknown display level"
 msgstr ""
 
-#: src/lang.c:485
+#: src/lang.c:505
 msgid "Unreachable?\n"
 msgstr ""
 
-#: src/lang.c:487
+#: src/lang.c:507
 msgid "<ESC>"
 msgstr ""
 
-#: src/lang.c:488
+#: src/lang.c:508
 msgid "Exiting..."
 msgstr ""
 
-#: src/lang.c:489
+#: src/lang.c:509
 msgid "leaving external mail-reader"
 msgstr ""
 
-#: src/lang.c:490
+#: src/lang.c:510
 #, c-format
 msgid "Extracting %s..."
 msgstr ""
 
-#: src/lang.c:492
+#: src/lang.c:512
 #, c-format
 msgid "Error writing %s file. Filesystem full? File reset to previous state."
 msgstr ""
 
-#: src/lang.c:493
+#: src/lang.c:513
 #, c-format
 msgid "Error making backup of %s file. Filesystem full?"
 msgstr ""
 
-#: src/lang.c:494
+#: src/lang.c:514
 #, c-format
 msgid "Filtering global rules (%d/%d) ('q' to quit)..."
 msgstr ""
 
-#: src/lang.c:495
+#: src/lang.c:515
 msgid "Rule created by: "
 msgstr ""
 
-#: src/lang.c:496
+#: src/lang.c:516
 msgid ""
 "# Format:\n"
 "#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
@@ -1564,1071 +1634,1075 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:522
+#: src/lang.c:542
 #, c-format
 msgid "Enter score for rule (default=%d): "
 msgstr ""
 
-#: src/lang.c:523
+#: src/lang.c:543
 #, c-format
 msgid "Enter the score weight (range 0 < score <= %d)"
 msgstr ""
 
 #. SCORE_MAX
-#: src/lang.c:524
+#: src/lang.c:544
 msgid "Full"
 msgstr ""
 
-#: src/lang.c:525
+#: src/lang.c:545
 msgid "Comment (optional)  : "
 msgstr ""
 
-#: src/lang.c:527
+#: src/lang.c:547
 msgid "Malformed overview entry: servername missing."
 msgstr ""
 
-#: src/lang.c:528
+#: src/lang.c:548
 #, c-format
 msgid "\t Xref: %s"
 msgstr ""
 
-#: src/lang.c:529
+#: src/lang.c:549
 msgid "Skipping Xref filter"
 msgstr ""
 
-#: src/lang.c:531
+#: src/lang.c:551
 msgid "Apply pattern to    : "
 msgstr ""
 
-#: src/lang.c:532
+#: src/lang.c:552
 #, c-format
 msgid "Enter pattern [%s]> "
 msgstr ""
 
-#: src/lang.c:533
+#: src/lang.c:553
 #, c-format
 msgid ""
 "\n"
 "You requested followups to your article to go to the following %s:\n"
 msgstr ""
 
-#: src/lang.c:534
+#: src/lang.c:554
 #, c-format
 msgid "  %s\t Answers will be directed to you by mail.\n"
 msgstr ""
 
-#: src/lang.c:535
+#: src/lang.c:555
 msgid "-- forwarded message --\n"
 msgstr ""
 
-#: src/lang.c:536
+#: src/lang.c:556
 msgid "-- end of forwarded message --\n"
 msgstr ""
 
-#: src/lang.c:537
+#: src/lang.c:557
 msgid "From: line (ignore case)      "
 msgstr ""
 
-#: src/lang.c:538
+#: src/lang.c:558
 msgid "From: line (case sensitive)   "
 msgstr ""
 
-#: src/lang.c:541
+#: src/lang.c:561
 #, c-format
 msgid "%s%s: Unknown host.\n"
 msgstr ""
 
-#: src/lang.c:543
+#: src/lang.c:563
 msgid "global "
 msgstr ""
 
-#: src/lang.c:544
+#: src/lang.c:564
 #, c-format
 msgid "Please use %.100s instead"
 msgstr ""
 
-#: src/lang.c:545
+#: src/lang.c:565
 #, c-format
 msgid "%s is bogus"
 msgstr ""
 
-#: src/lang.c:546
+#: src/lang.c:566
 #, c-format
 msgid "Group %s is moderated. Continue?"
 msgstr ""
 
-#: src/lang.c:547
+#: src/lang.c:567
 msgid "groups"
 msgstr ""
 
-#: src/lang.c:548
+#: src/lang.c:568
 #, c-format
 msgid "Rereading %s..."
 msgstr ""
 
-#: src/lang.c:549
+#: src/lang.c:569
 msgid "Top Level Commands"
 msgstr ""
 
-#: src/lang.c:550
+#: src/lang.c:570
 msgid "Group Selection"
 msgstr ""
 
-#: src/lang.c:551
+#: src/lang.c:571
 msgid "group"
 msgstr ""
 
-#: src/lang.c:552
+#: src/lang.c:572
 msgid ""
 "*** Group descriptions are disabled according to current select_format ***"
 msgstr ""
 
-#: src/lang.c:554
+#: src/lang.c:574
 msgid ""
 "One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr ""
 
-#: src/lang.c:555
+#: src/lang.c:575
 msgid "From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:556
+#: src/lang.c:576
 msgid ""
 "Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr ""
 
-#: src/lang.c:557
+#: src/lang.c:577
 msgid "Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:558
+#: src/lang.c:578
 msgid "Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:559
+#: src/lang.c:579
 msgid ""
 "Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr ""
 
-#: src/lang.c:560
+#: src/lang.c:580
 msgid ""
 "Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:561
+#: src/lang.c:581
 msgid ""
 "Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:562
+#: src/lang.c:582
 msgid ""
 "Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:563
+#: src/lang.c:583
 msgid ""
 "Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:564
+#: src/lang.c:584
 msgid "kill an article via a menu"
 msgstr ""
 
-#: src/lang.c:565
+#: src/lang.c:585
 msgid "auto-select (hot) an article via a menu"
 msgstr ""
 
-#: src/lang.c:566
+#: src/lang.c:586
 msgid "Browse URLs in article"
 msgstr ""
 
-#: src/lang.c:567
+#: src/lang.c:587
 msgid "0 - 9\t  display article by number in current thread"
 msgstr ""
 
-#: src/lang.c:569
+#: src/lang.c:589
 msgid "cancel (delete) or supersede (overwrite) current article"
 msgstr ""
 
-#: src/lang.c:570
+#: src/lang.c:590
 msgid "post followup to current article"
 msgstr ""
 
-#: src/lang.c:571
+#: src/lang.c:591
 msgid "post followup (don't copy text) to current article"
 msgstr ""
 
-#: src/lang.c:572
+#: src/lang.c:592
 msgid "post followup to current article quoting complete headers"
 msgstr ""
 
-#: src/lang.c:573
+#: src/lang.c:593
 msgid "repost chosen article to another group"
 msgstr ""
 
-#: src/lang.c:575
+#: src/lang.c:595
 msgid "edit article (mail-groups only)"
 msgstr ""
 
-#: src/lang.c:576
+#: src/lang.c:596
 msgid "display first article in current thread"
 msgstr ""
 
-#: src/lang.c:577
+#: src/lang.c:597
 msgid "display first page of article"
 msgstr ""
 
-#: src/lang.c:578
+#: src/lang.c:598
+msgid "show MIME details of this article"
+msgstr ""
+
+#: src/lang.c:599
 msgid "display last article in current thread"
 msgstr ""
 
-#: src/lang.c:579
+#: src/lang.c:600
 msgid "display last page of article"
 msgstr ""
 
-#: src/lang.c:580
+#: src/lang.c:601
 msgid "mark rest of thread as read and advance to next unread"
 msgstr ""
 
-#: src/lang.c:581
+#: src/lang.c:602
 msgid "display next article"
 msgstr ""
 
-#: src/lang.c:582
+#: src/lang.c:603
 msgid "display first article in next thread"
 msgstr ""
 
-#: src/lang.c:583
+#: src/lang.c:604
 msgid "display next unread article"
 msgstr ""
 
-#: src/lang.c:584
+#: src/lang.c:605
 msgid "go to the article that this one followed up"
 msgstr ""
 
-#: src/lang.c:585
+#: src/lang.c:606
 msgid "display previous article"
 msgstr ""
 
-#: src/lang.c:586
+#: src/lang.c:607
 msgid "display previous unread article"
 msgstr ""
 
-#: src/lang.c:587
+#: src/lang.c:608
 msgid "quickly kill an article using defaults"
 msgstr ""
 
-#: src/lang.c:588
+#: src/lang.c:609
 msgid "quickly auto-select (hot) an article using defaults"
 msgstr ""
 
-#: src/lang.c:589
+#: src/lang.c:610
 msgid "return to group selection level"
 msgstr ""
 
-#: src/lang.c:590
+#: src/lang.c:611
 msgid "reply through mail to author"
 msgstr ""
 
-#: src/lang.c:591
+#: src/lang.c:612
 msgid "reply through mail (don't copy text) to author"
 msgstr ""
 
-#: src/lang.c:592
+#: src/lang.c:613
 msgid "reply through mail to author quoting complete headers"
 msgstr ""
 
-#: src/lang.c:593
+#: src/lang.c:614
 msgid "search backwards within this article"
 msgstr ""
 
-#: src/lang.c:594
+#: src/lang.c:615
 msgid "search forwards within this article"
 msgstr ""
 
-#: src/lang.c:595
+#: src/lang.c:616
 msgid "show article in raw-mode (including all headers)"
 msgstr ""
 
-#: src/lang.c:596
+#: src/lang.c:617
 msgid "skip next block of included text"
 msgstr ""
 
-#: src/lang.c:597
+#: src/lang.c:618
 msgid "toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr ""
 
-#: src/lang.c:598
+#: src/lang.c:619
 msgid "toggle display of all headers"
 msgstr ""
 
-#: src/lang.c:599
+#: src/lang.c:620
 msgid "toggle word highlighting on/off"
 msgstr ""
 
-#: src/lang.c:600
+#: src/lang.c:621
 msgid "toggle ROT-13 (basic decode) for current article"
 msgstr ""
 
-#: src/lang.c:601
+#: src/lang.c:622
 msgid "toggle tabwidth 4 <-> 8"
 msgstr ""
 
-#: src/lang.c:602
+#: src/lang.c:623
 msgid "toggle German TeX style decoding for current article"
 msgstr ""
 
-#: src/lang.c:603
+#: src/lang.c:624
 msgid "toggle display of uuencoded sections"
 msgstr ""
 
-#: src/lang.c:604
+#: src/lang.c:625
 msgid "View/pipe/save multimedia attachments"
 msgstr ""
 
-#: src/lang.c:605
+#: src/lang.c:626
 msgid "choose first attachment in list"
 msgstr ""
 
-#: src/lang.c:606
+#: src/lang.c:627
 msgid "0 - 9\t  choose attachment by number"
 msgstr ""
 
-#: src/lang.c:607
+#: src/lang.c:628
 msgid "choose last attachment in list"
 msgstr ""
 
-#: src/lang.c:609
+#: src/lang.c:630
 msgid "pipe attachment into command"
 msgstr ""
 
-#: src/lang.c:610
+#: src/lang.c:631
 msgid "pipe raw attachment into command"
 msgstr ""
 
-#: src/lang.c:612
+#: src/lang.c:633
 msgid "save attachment to disk"
 msgstr ""
 
-#: src/lang.c:613
+#: src/lang.c:634
 msgid "search for attachments forwards"
 msgstr ""
 
-#: src/lang.c:614
+#: src/lang.c:635
 msgid "search for attachments backwards"
 msgstr ""
 
-#: src/lang.c:615
+#: src/lang.c:636
 msgid "view attachment"
 msgstr ""
 
-#: src/lang.c:616
+#: src/lang.c:637
 msgid "tag attachment"
 msgstr ""
 
-#: src/lang.c:617
+#: src/lang.c:638
 msgid "tag attachments that match user specified pattern"
 msgstr ""
 
-#: src/lang.c:618
+#: src/lang.c:639
 msgid "reverse tagging on all attachments (toggle)"
 msgstr ""
 
-#: src/lang.c:619
+#: src/lang.c:640
 msgid "untag all tagged attachments"
 msgstr ""
 
-#: src/lang.c:620
+#: src/lang.c:641
 msgid "toggle info message in last line (name/description of attachment)"
 msgstr ""
 
-#: src/lang.c:621
+#: src/lang.c:642
 msgid "choose first attribute in list"
 msgstr ""
 
-#: src/lang.c:622
+#: src/lang.c:643
 msgid "0 - 9\t  choose attribute by number"
 msgstr ""
 
-#: src/lang.c:623
+#: src/lang.c:644
 msgid "choose last attribute in list"
 msgstr ""
 
-#: src/lang.c:624
+#: src/lang.c:645
 msgid "reset attribute to a default value"
 msgstr ""
 
-#: src/lang.c:625
-msgid "search forwards for an attribute"
+#: src/lang.c:646
+msgid "search backwards for an attribute"
 msgstr ""
 
-#: src/lang.c:626
-msgid "search backwards for an attribute"
+#: src/lang.c:647
+msgid "search forwards for an attribute"
 msgstr ""
 
-#: src/lang.c:627
+#: src/lang.c:648
 msgid "select attribute"
 msgstr ""
 
-#: src/lang.c:628
+#: src/lang.c:649
 msgid "toggle back to options menu when invoked from there"
 msgstr ""
 
-#: src/lang.c:629
+#: src/lang.c:650
 #, c-format
 msgid "report bug or comment via mail to %s"
 msgstr ""
 
-#: src/lang.c:630
+#: src/lang.c:651
 msgid "choose first option in list"
 msgstr ""
 
-#: src/lang.c:631
+#: src/lang.c:652
 msgid "0 - 9\t  choose option by number"
 msgstr ""
 
-#: src/lang.c:632
+#: src/lang.c:653
 msgid "choose last option in list"
 msgstr ""
 
-#: src/lang.c:633
+#: src/lang.c:654
 msgid "start scopes menu"
 msgstr ""
 
-#: src/lang.c:634
-msgid "search forwards for an option"
+#: src/lang.c:655
+msgid "search backwards for an option"
 msgstr ""
 
-#: src/lang.c:635
-msgid "search backwards for an option"
+#: src/lang.c:656
+msgid "search forwards for an option"
 msgstr ""
 
-#: src/lang.c:636
+#: src/lang.c:657
 msgid "select option"
 msgstr ""
 
-#: src/lang.c:637
+#: src/lang.c:658
 msgid "toggle to attributes menu"
 msgstr ""
 
-#: src/lang.c:638
+#: src/lang.c:659
 msgid "choose range of articles to be affected by next command"
 msgstr ""
 
-#: src/lang.c:639
+#: src/lang.c:660
 msgid "escape from command prompt"
 msgstr ""
 
-#: src/lang.c:640
+#: src/lang.c:661
 msgid "edit filter file"
 msgstr ""
 
-#: src/lang.c:641
+#: src/lang.c:662
 msgid "get help"
 msgstr ""
 
-#: src/lang.c:642
+#: src/lang.c:663
 msgid "display last article viewed"
 msgstr ""
 
-#: src/lang.c:643
+#: src/lang.c:664
 msgid "down one line"
 msgstr ""
 
-#: src/lang.c:644
+#: src/lang.c:665
 msgid "up one line"
 msgstr ""
 
-#: src/lang.c:645
+#: src/lang.c:666
 msgid "go to article chosen by Message-ID"
 msgstr ""
 
-#: src/lang.c:646
+#: src/lang.c:667
 msgid "mail article/thread/hot/pattern/tagged articles to someone"
 msgstr ""
 
-#: src/lang.c:647
+#: src/lang.c:668
 msgid "menu of configurable options"
 msgstr ""
 
-#: src/lang.c:648
+#: src/lang.c:669
 msgid "down one page"
 msgstr ""
 
-#: src/lang.c:649
+#: src/lang.c:670
 msgid "up one page"
 msgstr ""
 
-#: src/lang.c:651
+#: src/lang.c:672
 msgid "post (write) article to current group"
 msgstr ""
 
-#: src/lang.c:652
+#: src/lang.c:673
 msgid "post postponed articles"
 msgstr ""
 
-#: src/lang.c:654
+#: src/lang.c:675
 msgid "list articles posted by you (from posted file)"
 msgstr ""
 
-#: src/lang.c:655
+#: src/lang.c:676
 msgid "return to previous menu"
 msgstr ""
 
-#: src/lang.c:656
+#: src/lang.c:677
 msgid "quit tin immediately"
 msgstr ""
 
-#: src/lang.c:657
+#: src/lang.c:678
 msgid "redraw page"
 msgstr ""
 
-#: src/lang.c:658
+#: src/lang.c:679
 msgid "save article/thread/hot/pattern/tagged articles to file"
 msgstr ""
 
-#: src/lang.c:659
+#: src/lang.c:680
 msgid "save marked articles automatically without user prompts"
 msgstr ""
 
-#: src/lang.c:660
+#: src/lang.c:681
 msgid "scroll the screen one line down"
 msgstr ""
 
-#: src/lang.c:661
+#: src/lang.c:682
 msgid "scroll the screen one line up"
 msgstr ""
 
-#: src/lang.c:662
+#: src/lang.c:683
 msgid "search for articles by author backwards"
 msgstr ""
 
-#: src/lang.c:663
+#: src/lang.c:684
 msgid "search for articles by author forwards"
 msgstr ""
 
-#: src/lang.c:664
+#: src/lang.c:685
 msgid "search all articles for a given string (this may take some time)"
 msgstr ""
 
-#: src/lang.c:665
+#: src/lang.c:686
 msgid " \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr ""
 
-#: src/lang.c:666
+#: src/lang.c:687
 msgid "search for articles by Subject line backwards"
 msgstr ""
 
-#: src/lang.c:667
+#: src/lang.c:688
 msgid "search for articles by Subject line forwards"
 msgstr ""
 
-#: src/lang.c:668
+#: src/lang.c:689
 msgid "repeat last search"
 msgstr ""
 
-#: src/lang.c:669
+#: src/lang.c:690
 msgid "tag current article for reposting/mailing/piping/printing/saving"
 msgstr ""
 
-#: src/lang.c:670
+#: src/lang.c:691
 msgid "toggle info message in last line (subject/description)"
 msgstr ""
 
-#: src/lang.c:671
+#: src/lang.c:692
 msgid "toggle inverse video"
 msgstr ""
 
-#: src/lang.c:672
+#: src/lang.c:693
 msgid "toggle mini help menu and posting etiquette display"
 msgstr ""
 
-#: src/lang.c:673
+#: src/lang.c:694
 msgid "cycle the display of authors email address, real name, both or neither"
 msgstr ""
 
-#: src/lang.c:674
+#: src/lang.c:695
 msgid "show version information"
 msgstr ""
 
-#: src/lang.c:675
+#: src/lang.c:696
 msgid "mark all articles as read and return to group selection menu"
 msgstr ""
 
-#: src/lang.c:676
+#: src/lang.c:697
 msgid "mark all articles as read and enter next group with unread articles"
 msgstr ""
 
-#: src/lang.c:677
+#: src/lang.c:698
 msgid "choose first thread in list"
 msgstr ""
 
-#: src/lang.c:678
+#: src/lang.c:699
 msgid "choose last thread in list"
 msgstr ""
 
-#: src/lang.c:679
+#: src/lang.c:700
 msgid "list articles within current thread (bring up Thread sub-menu)"
 msgstr ""
 
-#: src/lang.c:680
+#: src/lang.c:701
 msgid "mark article as unread"
 msgstr ""
 
-#: src/lang.c:681
+#: src/lang.c:702
 msgid "mark current thread, range or tagged threads as read"
 msgstr ""
 
-#: src/lang.c:682
+#: src/lang.c:703
 msgid "mark current thread, range or tagged threads as unread"
 msgstr ""
 
-#: src/lang.c:683
+#: src/lang.c:704
 msgid "mark current/range/selected/pattern/tagged as read after prompting"
 msgstr ""
 
-#: src/lang.c:684
+#: src/lang.c:705
 msgid "mark current/range/selected/pattern/tagged as unread after prompting"
 msgstr ""
 
-#: src/lang.c:685
+#: src/lang.c:706
 msgid "toggle display of all/selected articles"
 msgstr ""
 
-#: src/lang.c:686
+#: src/lang.c:707
 msgid "display next group"
 msgstr ""
 
-#: src/lang.c:687
+#: src/lang.c:708
 msgid "display previous group"
 msgstr ""
 
-#: src/lang.c:688
+#: src/lang.c:709
 msgid "toggle all selections (all articles)"
 msgstr ""
 
-#: src/lang.c:689
+#: src/lang.c:710
 msgid "select group (make \"hot\")"
 msgstr ""
 
-#: src/lang.c:690
+#: src/lang.c:711
 msgid "select thread"
 msgstr ""
 
-#: src/lang.c:691
+#: src/lang.c:712
 msgid "select threads if at least one unread article is selected"
 msgstr ""
 
-#: src/lang.c:692
+#: src/lang.c:713
 msgid "select threads that match user specified pattern"
 msgstr ""
 
-#: src/lang.c:693
+#: src/lang.c:714
 msgid "0 - 9\t  choose thread by number"
 msgstr ""
 
-#: src/lang.c:694
+#: src/lang.c:715
 msgid "toggle limit number of articles to get, and reload"
 msgstr ""
 
-#: src/lang.c:695
+#: src/lang.c:716
 msgid "toggle display of all/unread articles"
 msgstr ""
 
-#: src/lang.c:696
+#: src/lang.c:717
 msgid "toggle selection of thread"
 msgstr ""
 
-#: src/lang.c:697
+#: src/lang.c:718
 msgid "cycle through threading options available"
 msgstr ""
 
-#: src/lang.c:698
+#: src/lang.c:719
 msgid "undo all selections (all articles)"
 msgstr ""
 
-#: src/lang.c:699
+#: src/lang.c:720
 msgid "untag all tagged threads"
 msgstr ""
 
-#: src/lang.c:700
+#: src/lang.c:721
 msgid "search for articles forwards"
 msgstr ""
 
-#: src/lang.c:701
+#: src/lang.c:722
 msgid "search for articles backwards"
 msgstr ""
 
-#: src/lang.c:702
+#: src/lang.c:723
 msgid "toggle info message in last line (Message-ID)"
 msgstr ""
 
-#: src/lang.c:703
+#: src/lang.c:724
 msgid "Open article by Message-ID"
 msgstr ""
 
-#: src/lang.c:704
+#: src/lang.c:725
 msgid "add new scope"
 msgstr ""
 
-#: src/lang.c:705
+#: src/lang.c:726
 msgid "delete scope"
 msgstr ""
 
-#: src/lang.c:706
+#: src/lang.c:727
 msgid "edit attributes file"
 msgstr ""
 
-#: src/lang.c:707
+#: src/lang.c:728
 msgid "choose first scope in list"
 msgstr ""
 
-#: src/lang.c:708
+#: src/lang.c:729
 msgid "0 - 9\t  choose scope by number"
 msgstr ""
 
-#: src/lang.c:709
+#: src/lang.c:730
 msgid "choose last scope in list"
 msgstr ""
 
-#: src/lang.c:710
+#: src/lang.c:731
 msgid "move scope"
 msgstr ""
 
-#: src/lang.c:711
+#: src/lang.c:732
 msgid "rename scope"
 msgstr ""
 
-#: src/lang.c:712
+#: src/lang.c:733
 msgid "select scope"
 msgstr ""
 
-#: src/lang.c:713
+#: src/lang.c:734
 msgid "mark all articles in group as read"
 msgstr ""
 
-#: src/lang.c:714
+#: src/lang.c:735
 msgid "mark all articles in group as read and move to next unread group"
 msgstr ""
 
-#: src/lang.c:715
+#: src/lang.c:736
 msgid "choose first group in list"
 msgstr ""
 
-#: src/lang.c:716
+#: src/lang.c:737
 msgid "choose group by name"
 msgstr ""
 
-#: src/lang.c:717
+#: src/lang.c:738
 msgid "0 - 9\t  choose group by number"
 msgstr ""
 
-#: src/lang.c:718
+#: src/lang.c:739
 msgid "choose range of groups to be affected by next command"
 msgstr ""
 
-#: src/lang.c:719
+#: src/lang.c:740
 msgid "choose last group in list"
 msgstr ""
 
-#: src/lang.c:721
+#: src/lang.c:742
 msgid "list groups which an article has been posted to (by Message-ID)"
 msgstr ""
 
-#: src/lang.c:722
+#: src/lang.c:743
 msgid " \t  (go to article if at least one of the groups is available)"
 msgstr ""
 
-#: src/lang.c:724
+#: src/lang.c:745
 msgid "mark all articles in chosen group unread"
 msgstr ""
 
-#: src/lang.c:725
+#: src/lang.c:746
 msgid "move chosen group within list"
 msgstr ""
 
-#: src/lang.c:726
+#: src/lang.c:747
 msgid "choose next group with unread news"
 msgstr ""
 
-#: src/lang.c:727 src/lang.c:1748
+#: src/lang.c:748 src/lang.c:1797
 msgid "quit"
 msgstr ""
 
-#: src/lang.c:728
+#: src/lang.c:749
 msgid "quit without saving configuration changes"
 msgstr ""
 
-#: src/lang.c:729
+#: src/lang.c:750
 msgid "read chosen group"
 msgstr ""
 
-#: src/lang.c:730
+#: src/lang.c:751
 msgid "reset .newsrc (all available articles in groups marked unread)"
 msgstr ""
 
-#: src/lang.c:731
+#: src/lang.c:752
 msgid "search backwards for a group name"
 msgstr ""
 
-#: src/lang.c:732
+#: src/lang.c:753
 msgid " \t  (all searches are case-insensitive and wrap around)"
 msgstr ""
 
-#: src/lang.c:733
+#: src/lang.c:754
 msgid "search forwards for a group name"
 msgstr ""
 
-#: src/lang.c:734
+#: src/lang.c:755
 msgid "subscribe to chosen group"
 msgstr ""
 
-#: src/lang.c:735
+#: src/lang.c:756
 msgid "subscribe to groups that match pattern"
 msgstr ""
 
-#: src/lang.c:736
+#: src/lang.c:757
 msgid "reread active file to check for any new news"
 msgstr ""
 
-#: src/lang.c:737
+#: src/lang.c:758
 msgid "show NNTP[S] connection details"
 msgstr ""
 
-#: src/lang.c:738
+#: src/lang.c:759
 msgid "toggle display of group name only or group name plus description"
 msgstr ""
 
-#: src/lang.c:739
+#: src/lang.c:760
 msgid "toggle display to show all/unread subscribed groups"
 msgstr ""
 
-#: src/lang.c:740
+#: src/lang.c:761
 msgid "unsubscribe from chosen group"
 msgstr ""
 
-#: src/lang.c:741
+#: src/lang.c:762
 msgid "unsubscribe from groups that match pattern"
 msgstr ""
 
-#: src/lang.c:742
+#: src/lang.c:763
 msgid "sort the list of groups"
 msgstr ""
 
-#: src/lang.c:743
+#: src/lang.c:764
 msgid "toggle display to show all/subscribed groups"
 msgstr ""
 
-#: src/lang.c:744
+#: src/lang.c:765
 msgid "tag/untag all parts of current multipart-message in order"
 msgstr ""
 
-#: src/lang.c:745
+#: src/lang.c:766
 msgid "0 - 9\t  choose article by number"
 msgstr ""
 
-#: src/lang.c:746
+#: src/lang.c:767
 msgid "mark thread as read and return to group index page"
 msgstr ""
 
-#: src/lang.c:747
+#: src/lang.c:768
 msgid "mark thread as read and enter next unread thread or group"
 msgstr ""
 
-#: src/lang.c:748
+#: src/lang.c:769
 msgid "choose first article in list"
 msgstr ""
 
-#: src/lang.c:749
+#: src/lang.c:770
 msgid "choose last article in list"
 msgstr ""
 
-#: src/lang.c:750
+#: src/lang.c:771
 msgid "mark art, range or tagged arts as read; move crsr to next unread art"
 msgstr ""
 
-#: src/lang.c:751
+#: src/lang.c:772
 msgid "mark article, range or tagged articles as unread"
 msgstr ""
 
-#: src/lang.c:752
+#: src/lang.c:773
 msgid "mark current thread as unread"
 msgstr ""
 
-#: src/lang.c:753
+#: src/lang.c:774
 msgid "read chosen article"
 msgstr ""
 
-#: src/lang.c:754
+#: src/lang.c:775
 msgid ""
 "Display properties\n"
 "------------------"
 msgstr ""
 
-#: src/lang.c:755
+#: src/lang.c:776
 msgid ""
 "Miscellaneous\n"
 "-------------"
 msgstr ""
 
-#: src/lang.c:756
+#: src/lang.c:777
 msgid ""
 "Moving around\n"
 "-------------"
 msgstr ""
 
-#: src/lang.c:757
+#: src/lang.c:778
 msgid ""
 "Group/thread/article operations\n"
 "-------------------------------"
 msgstr ""
 
-#: src/lang.c:758
+#: src/lang.c:779
 msgid ""
 "Attachment operations\n"
 "---------------------"
 msgstr ""
 
-#: src/lang.c:759
+#: src/lang.c:780
 msgid ""
 "Attribute operations\n"
 "--------------------"
 msgstr ""
 
-#: src/lang.c:760
+#: src/lang.c:781
 msgid ""
 "Option operations\n"
 "-----------------"
 msgstr ""
 
-#: src/lang.c:761
+#: src/lang.c:782
 msgid ""
 "Posted article operations\n"
 "-------------------------"
 msgstr ""
 
-#: src/lang.c:762
+#: src/lang.c:783
 msgid ""
 "Scope operations\n"
 "----------------"
 msgstr ""
 
-#: src/lang.c:763
+#: src/lang.c:784
 msgid ""
 "URL operations\n"
 "--------------"
 msgstr ""
 
-#: src/lang.c:764
+#: src/lang.c:785
 msgid "choose first URL in list"
 msgstr ""
 
-#: src/lang.c:765
+#: src/lang.c:786
 msgid "0 - 9\t  choose URL by number"
 msgstr ""
 
-#: src/lang.c:766
+#: src/lang.c:787
 msgid "choose last URL in list"
 msgstr ""
 
-#: src/lang.c:767
+#: src/lang.c:788
 msgid "search for URLs forwards"
 msgstr ""
 
-#: src/lang.c:768
+#: src/lang.c:789
 msgid "search for URLs backwards"
 msgstr ""
 
-#: src/lang.c:769
+#: src/lang.c:790
 msgid "Open URL in browser"
 msgstr ""
 
-#: src/lang.c:770
+#: src/lang.c:791
 msgid "toggle info message in last line (URL)"
 msgstr ""
 
-#: src/lang.c:772
+#: src/lang.c:793
 msgid "Group Level Commands"
 msgstr ""
 
-#: src/lang.c:773
+#: src/lang.c:794
 msgid "Kill filter added"
 msgstr ""
 
-#: src/lang.c:774
+#: src/lang.c:795
 msgid "Auto-selection filter added"
 msgstr ""
 
-#: src/lang.c:775
+#: src/lang.c:796
 msgid "All parts tagged"
 msgstr ""
 
-#: src/lang.c:776
+#: src/lang.c:797
 msgid "All parts untagged"
 msgstr ""
 
-#: src/lang.c:777
+#: src/lang.c:798
 #, c-format
 msgid "Building References-trees (%d/%d)..."
 msgstr ""
 
-#: src/lang.c:778
+#: src/lang.c:799
 msgid "Storing article for later posting"
 msgstr ""
 
-#: src/lang.c:779
+#: src/lang.c:800
 msgid "Please enter a valid character"
 msgstr ""
 
-#: src/lang.c:780
+#: src/lang.c:801
 #, c-format
 msgid "Missing part #%d"
 msgstr ""
 
-#: src/lang.c:781
+#: src/lang.c:802
 msgid "*** No postponed articles ***"
 msgstr ""
 
-#: src/lang.c:782
+#: src/lang.c:803
 msgid "Not a multi-part message"
 msgstr ""
 
-#: src/lang.c:783
+#: src/lang.c:804
 msgid "You are not subscribed to this group"
 msgstr ""
 
-#: src/lang.c:784
+#: src/lang.c:805
 msgid "No previous expression"
 msgstr ""
 
-#: src/lang.c:785
+#: src/lang.c:806
 msgid "Operation disabled in no-overwrite mode"
 msgstr ""
 
 #. TODO: replace hard coded key-name in txt_info_postponed
-#: src/lang.c:787
+#: src/lang.c:808
 #, c-format
 msgid "%d postponed %s, reuse with ^O...\n"
 msgstr ""
 
-#: src/lang.c:788
+#: src/lang.c:809
 msgid ""
 "X-Conversion-Note: multipart/alternative contents have been removed.\n"
 "  To get the whole article, turn alternative handling OFF in the Option "
 "Menu\n"
 msgstr ""
 
-#: src/lang.c:790
+#: src/lang.c:811
 #, c-format
 msgid "Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr ""
 
-#: src/lang.c:791
+#: src/lang.c:812
 msgid "TeX2Iso encoded article"
 msgstr ""
 
 #. TODO: replace hard coded key-names
-#: src/lang.c:793
+#: src/lang.c:814
 #, c-format
 msgid ""
 "\n"
@@ -2666,151 +2740,151 @@ msgid ""
 "Please send bug-reports/comments to %s with the 'R' command.\n"
 msgstr ""
 
-#: src/lang.c:809
+#: src/lang.c:830
 #, c-format
-msgid "Invalid  From: %s  line. Read the INSTALL file again."
+msgid "Invalid From:-header \"%s\". Check your mail_address setting."
 msgstr ""
 
-#: src/lang.c:811
+#: src/lang.c:832
 msgid "Invalid multibyte sequence found\n"
 msgstr ""
 
-#: src/lang.c:814
+#: src/lang.c:835
 #, c-format
-msgid "Invalid  Sender:-header %s"
+msgid "Invalid Sender:-header \"%s\""
 msgstr ""
 
-#: src/lang.c:816
+#: src/lang.c:837
 msgid "Inverse video disabled"
 msgstr ""
 
-#: src/lang.c:817
+#: src/lang.c:838
 msgid "Inverse video enabled"
 msgstr ""
 
-#: src/lang.c:819
+#: src/lang.c:840
 #, c-format
 msgid "Missing definition for %s\n"
 msgstr ""
 
-#: src/lang.c:820
+#: src/lang.c:841
 #, c-format
 msgid "Invalid key definition '%s'\n"
 msgstr ""
 
-#: src/lang.c:821
+#: src/lang.c:842
 #, c-format
 msgid "Invalid keyname '%s'\n"
 msgstr ""
 
-#: src/lang.c:822
+#: src/lang.c:843
 #, c-format
 msgid "Keymap file was upgraded to version %s\n"
 msgstr ""
 
-#: src/lang.c:823
+#: src/lang.c:844
 #, c-format
 msgid "Kill From:     [%s] (y/n): "
 msgstr ""
 
-#: src/lang.c:824
+#: src/lang.c:845
 msgid "Kill Lines: (</>num): "
 msgstr ""
 
-#: src/lang.c:825
+#: src/lang.c:846
 msgid "Kill Article Menu"
 msgstr ""
 
-#: src/lang.c:826
+#: src/lang.c:847
 #, c-format
 msgid "Kill Msg-ID:   [%s] (f/l/o/n): "
 msgstr ""
 
-#: src/lang.c:827
+#: src/lang.c:848
 msgid "Kill pattern scope  : "
 msgstr ""
 
-#: src/lang.c:828
+#: src/lang.c:849
 #, c-format
 msgid "Kill Subject:  [%s] (y/n): "
 msgstr ""
 
-#: src/lang.c:829
+#: src/lang.c:850
 msgid "Kill text pattern   : "
 msgstr ""
 
-#: src/lang.c:830
+#: src/lang.c:851
 msgid "Kill time in days   : "
 msgstr ""
 
-#: src/lang.c:832
+#: src/lang.c:853
 msgid "Last"
 msgstr ""
 
-#: src/lang.c:833
+#: src/lang.c:854
 msgid "-- Last response --"
 msgstr ""
 
-#: src/lang.c:834
+#: src/lang.c:855
 #, c-format
 msgid "Lines %s  "
 msgstr ""
 
-#: src/lang.c:840
+#: src/lang.c:861
 msgid "Function not available."
 msgstr ""
 
-#: src/lang.c:841
+#: src/lang.c:862
 msgid "Not reading via NNTP."
 msgstr ""
 
-#: src/lang.c:843
+#: src/lang.c:864
 #, c-format
 msgid "Group: %s"
 msgstr ""
 
-#: src/lang.c:844
+#: src/lang.c:865
 #, c-format
 msgid "Groups: %s"
 msgstr ""
 
-#: src/lang.c:847
+#: src/lang.c:868
 msgid "Mail"
 msgstr ""
 
-#: src/lang.c:848
+#: src/lang.c:869
 msgid "mailbox "
 msgstr ""
 
-#: src/lang.c:849
+#: src/lang.c:870
 #, c-format
 msgid "Mail article(s) to [%.*s]> "
 msgstr ""
 
-#: src/lang.c:850
+#: src/lang.c:871
 #, c-format
 msgid "Mailing log to %s\n"
 msgstr ""
 
-#: src/lang.c:851
+#: src/lang.c:872
 msgid "Mail bug report..."
 msgstr ""
 
-#: src/lang.c:852
+#: src/lang.c:873
 #, c-format
 msgid "Mail BUG REPORT to %s?"
 msgstr ""
 
-#: src/lang.c:853
+#: src/lang.c:874
 msgid "Mailed"
 msgstr ""
 
-#: src/lang.c:854
+#: src/lang.c:875
 #, c-format
 msgid "Mailing to %s..."
 msgstr ""
 
-#: src/lang.c:855
+#: src/lang.c:876
 msgid ""
 "# [Mail/Save] active file. Format is like news active file:\n"
 "#   groupname  max.artnum  min.artnum  /dir\n"
@@ -2818,350 +2892,352 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:858
+#: src/lang.c:879
 #, c-format
 msgid "%s marked as read"
 msgstr ""
 
-#: src/lang.c:859
+#: src/lang.c:880
 #, c-format
 msgid "%s marked as unread"
 msgstr ""
 
-#: src/lang.c:860
+#: src/lang.c:881
 #, c-format
 msgid "Marked %d of %d %s as read"
 msgstr ""
 
-#: src/lang.c:861
+#: src/lang.c:882
 #, c-format
 msgid "Marked %d of %d %s as unread"
 msgstr ""
 
-#: src/lang.c:862 src/lang.c:1704
+#: src/lang.c:883 src/lang.c:1753
 msgid "Mark"
 msgstr ""
 
-#: src/lang.c:863
+#: src/lang.c:884
 #, c-format
 msgid "Mark all articles as read%s?"
 msgstr ""
 
-#: src/lang.c:864
+#: src/lang.c:885
 #, c-format
 msgid "Mark article as read%s?"
 msgstr ""
 
-#: src/lang.c:865
+#: src/lang.c:886
 #, c-format
 msgid "Mark group %s as read?"
 msgstr ""
 
-#: src/lang.c:866
+#: src/lang.c:887
 #, c-format
 msgid "Mark thread as read%s?"
 msgstr ""
 
-#: src/lang.c:867
+#: src/lang.c:888
 #, c-format
 msgid "Matching %s groups..."
 msgstr ""
 
-#: src/lang.c:868 src/lang.c:881 src/lang.c:884 src/lang.c:890
+#: src/lang.c:889 src/lang.c:902 src/lang.c:905 src/lang.c:911
 #, c-format
 msgid "<n>=set current to n; %s=line down; %s=line up; %s=help; %s=quit"
 msgstr ""
 
-#: src/lang.c:870
+#: src/lang.c:891
 #, c-format
 msgid ""
 "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr ""
 
-#: src/lang.c:872
+#: src/lang.c:893
 #, c-format
 msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr ""
 
-#: src/lang.c:874
+#: src/lang.c:895
 #, c-format
 msgid ""
 "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search"
 msgstr ""
 
-#: src/lang.c:875 src/lang.c:879
+#: src/lang.c:896 src/lang.c:900
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=search pattern; %s=kill/select"
 msgstr ""
 
-#: src/lang.c:876
+#: src/lang.c:897
 #, c-format
 msgid ""
 "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; "
 "%s=list thread"
 msgstr ""
 
-#: src/lang.c:877
+#: src/lang.c:898
 #, c-format
 msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"
 msgstr ""
 
-#: src/lang.c:878
+#: src/lang.c:899
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=quit"
 msgstr ""
 
-#: src/lang.c:880
+#: src/lang.c:901
 #, c-format
 msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr ""
 
-#: src/lang.c:882 src/lang.c:891
+#: src/lang.c:903 src/lang.c:912
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=repeat search"
 msgstr ""
 
-#: src/lang.c:883
+#: src/lang.c:904
 #, c-format
 msgid "%s=add; %s=move; %s=rename; %s=delete"
 msgstr ""
 
-#: src/lang.c:885
+#: src/lang.c:906
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr ""
 
-#: src/lang.c:886
+#: src/lang.c:907
 #, c-format
 msgid ""
 "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
 msgstr ""
 
-#: src/lang.c:887
+#: src/lang.c:908
 #, c-format
 msgid ""
 "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/"
 "out"
 msgstr ""
 
-#: src/lang.c:888
+#: src/lang.c:909
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr ""
 
-#: src/lang.c:889
+#: src/lang.c:910
 #, c-format
 msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"
 msgstr ""
 
-#: src/lang.c:892
+#: src/lang.c:913
 msgid "--More--"
 msgstr ""
 
-#: src/lang.c:894
+#: src/lang.c:915
 #, c-format
 msgid "MOTD: %s\n"
 msgstr ""
 
-#: src/lang.c:896
+#: src/lang.c:917
 #, c-format
 msgid "Moving %s..."
 msgstr ""
 
-#: src/lang.c:897
+#: src/lang.c:918
 msgid "Message-ID: & last Reference  "
 msgstr ""
 
-#: src/lang.c:898
+#: src/lang.c:919
 msgid "Message-ID: line              "
 msgstr ""
 
-#: src/lang.c:899
+#: src/lang.c:920
 msgid "Message-ID: & References: line"
 msgstr ""
 
-#: src/lang.c:901
+#: src/lang.c:922
 #, c-format
 msgid "Go to newsgroup [%s]> "
 msgstr ""
 
-#: src/lang.c:902
+#: src/lang.c:923
 msgid "newsgroups"
 msgstr ""
 
-#: src/lang.c:903
+#: src/lang.c:924
 #, c-format
 msgid "Position %s in group list (1,2,..,$) [%d]> "
 msgstr ""
 
-#: src/lang.c:904
+#: src/lang.c:925
 msgid "newsgroup"
 msgstr ""
 
-#: src/lang.c:905
+#: src/lang.c:926
 msgid "Try and save newsrc file again?"
 msgstr ""
 
-#: src/lang.c:906
-msgid "Warning: No newsgroups were written to your newsrc file. Save aborted."
+#: src/lang.c:927
+#, c-format
+msgid "Warning: No groups written to your %s file. Save aborted."
 msgstr ""
 
-#: src/lang.c:907
-msgid "newsrc file saved successfully.\n"
+#: src/lang.c:928
+#, c-format
+msgid "%s file saved successfully.\n"
 msgstr ""
 
-#: src/lang.c:908
+#: src/lang.c:929
 msgid "-- Next response --"
 msgstr ""
 
-#: src/lang.c:909
+#: src/lang.c:930
 msgid "No  "
 msgstr ""
 
-#: src/lang.c:910
+#: src/lang.c:931
 msgid "*** No articles ***"
 msgstr ""
 
-#: src/lang.c:911
+#: src/lang.c:932
 msgid "No articles have been posted"
 msgstr ""
 
-#: src/lang.c:912
+#: src/lang.c:933
 msgid "*** No attachments ***"
 msgstr ""
 
-#: src/lang.c:913
+#: src/lang.c:934
 msgid "*** No description ***"
 msgstr ""
 
-#: src/lang.c:914
+#: src/lang.c:935
 msgid "No filename"
 msgstr ""
 
-#: src/lang.c:915
+#: src/lang.c:936
 msgid "No group"
 msgstr ""
 
-#: src/lang.c:916
+#: src/lang.c:937
 msgid "*** No groups ***"
 msgstr ""
 
-#: src/lang.c:917
+#: src/lang.c:938
 msgid "No more groups to read"
 msgstr ""
 
-#: src/lang.c:918
+#: src/lang.c:939
 msgid "No last message"
 msgstr ""
 
-#: src/lang.c:919
+#: src/lang.c:940
 msgid "No mail address"
 msgstr ""
 
-#: src/lang.c:920
+#: src/lang.c:941
 msgid "No articles marked for saving"
 msgstr ""
 
-#: src/lang.c:921
+#: src/lang.c:942
 msgid "No match"
 msgstr ""
 
-#: src/lang.c:922
+#: src/lang.c:943
 msgid "No more groups"
 msgstr ""
 
-#: src/lang.c:923
+#: src/lang.c:944
 msgid "No newsgroups"
 msgstr ""
 
-#: src/lang.c:924
+#: src/lang.c:945
 msgid "No next unread article"
 msgstr ""
 
-#: src/lang.c:925
+#: src/lang.c:946
 msgid "No previous group"
 msgstr ""
 
-#: src/lang.c:926
+#: src/lang.c:947
 msgid "No previous search, nothing to repeat"
 msgstr ""
 
-#: src/lang.c:927
+#: src/lang.c:948
 msgid "No previous unread article"
 msgstr ""
 
-#: src/lang.c:928
+#: src/lang.c:949
 msgid "No responses"
 msgstr ""
 
-#: src/lang.c:929
+#: src/lang.c:950
 msgid "No responses to list in current thread"
 msgstr ""
 
-#: src/lang.c:930
+#: src/lang.c:951
 msgid "*** No scopes ***"
 msgstr ""
 
-#: src/lang.c:931
+#: src/lang.c:952
 msgid "No search string"
 msgstr ""
 
-#: src/lang.c:932
+#: src/lang.c:953
 msgid "No subject"
 msgstr ""
 
-#: src/lang.c:934
+#: src/lang.c:955
 #, c-format
 msgid "%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr ""
 
-#: src/lang.c:935
+#: src/lang.c:956
 #, c-format
 msgid "%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr ""
 
-#: src/lang.c:936
+#: src/lang.c:957
 #, c-format
 msgid "%s: Terminal must have clearscreen (cl) capability\n"
 msgstr ""
 
-#: src/lang.c:937
+#: src/lang.c:958
 #, c-format
 msgid "%s: Terminal must have cursor motion (cm)\n"
 msgstr ""
 
-#: src/lang.c:938
+#: src/lang.c:959
 #, c-format
 msgid "%s: TERM variable must be set to use screen capabilities\n"
 msgstr ""
 
-#: src/lang.c:940
+#: src/lang.c:961
 #, c-format
 msgid "No viewer found for %s/%s\n"
 msgstr ""
 
-#: src/lang.c:941 src/lang.c:1616 src/lang.c:1644 src/lang.c:1935
+#: src/lang.c:962 src/lang.c:1665 src/lang.c:1693 src/lang.c:1991
 msgid "None"
 msgstr ""
 
-#: src/lang.c:942
+#: src/lang.c:963
 msgid "Newsgroup does not exist on this server"
 msgstr ""
 
-#: src/lang.c:943
+#: src/lang.c:964
 #, c-format
 msgid "Group %s not found in active file"
 msgstr ""
 
-#: src/lang.c:944
+#: src/lang.c:966
 msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr ""
 
-#: src/lang.c:945
+#: src/lang.c:967
 msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr ""
 
-#: src/lang.c:946
+#: src/lang.c:968
 #, c-format
 msgid ""
 "# NNTP-server -> newsrc translation table and NNTP-server\n"
@@ -3178,387 +3254,390 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:952
+#: src/lang.c:975
 msgid "NULL"
 msgstr ""
 
-#: src/lang.c:954
+#: src/lang.c:977
 msgid "Only"
 msgstr ""
 
-#: src/lang.c:955
-#, c-format
-msgid "Option not enabled. Recompile with %s."
-msgstr ""
-
-#: src/lang.c:956
+#: src/lang.c:979
 msgid "Options Menu"
 msgstr ""
 
-#: src/lang.c:957
+#: src/lang.c:980
 msgid "Options Menu Commands"
 msgstr ""
 
-#: src/lang.c:960
+#: src/lang.c:981
+#, c-format
+msgid "Option not enabled. Recompile with %s.%s\n"
+msgstr ""
+
+#: src/lang.c:984
 #, c-format
 msgid "Error in regex: %s at pos. %d '%s'"
 msgstr ""
 
-#: src/lang.c:961
+#: src/lang.c:985
 #, c-format
 msgid "Error in regex: pcre internal error %d"
 msgstr ""
 
-#: src/lang.c:963
+#: src/lang.c:987
 #, c-format
 msgid "Error in regex: study - pcre internal error %s"
 msgstr ""
 
-#: src/lang.c:965
+#: src/lang.c:989
 msgid "Post a followup..."
 msgstr ""
 
 #. TODO: replace hard coded key-name in txt_post_error_ask_postpone
-#: src/lang.c:967
+#: src/lang.c:991
 msgid ""
 "An error has occurred while posting the article. If you think that this\n"
 "error is temporary or otherwise correctable, you can postpone the article\n"
 "and pick it up again with ^O later.\n"
 msgstr ""
 
-#: src/lang.c:970
+#: src/lang.c:994
 msgid "Posted articles history"
 msgstr ""
 
-#: src/lang.c:971
+#: src/lang.c:995
 msgid "Posted Articles Menu Commands"
 msgstr ""
 
-#: src/lang.c:972
+#: src/lang.c:996
 msgid "Lookup failed"
 msgstr ""
 
-#: src/lang.c:973
+#: src/lang.c:997
 msgid "Operation not available for replies by mail"
 msgstr ""
 
-#: src/lang.c:974
+#: src/lang.c:998
 msgid "Already in posted articles history level"
 msgstr ""
 
-#: src/lang.c:975
+#: src/lang.c:999
 #, c-format
 msgid "Post to newsgroup(s) [%s]> "
 msgstr ""
 
-#: src/lang.c:976
+#: src/lang.c:1000
 msgid "-- post processing started --"
 msgstr ""
 
-#: src/lang.c:977
+#: src/lang.c:1001
 msgid "-- post processing completed --"
 msgstr ""
 
-#: src/lang.c:978
+#: src/lang.c:1002
 #, c-format
 msgid "Post subject [%s]> "
 msgstr ""
 
-#: src/lang.c:979
+#: src/lang.c:1003
 msgid ""
 "# Summary of mailed/posted messages viewable by 'W' command from within "
 "tin.\n"
 msgstr ""
 
-#: src/lang.c:980
+#: src/lang.c:1004
 msgid "Posting article..."
 msgstr ""
 
-#: src/lang.c:982
+#: src/lang.c:1006
 #, c-format
 msgid "Posting failed (%s)"
 msgstr ""
 
-#: src/lang.c:984
+#: src/lang.c:1008
 #, c-format
 msgid "Posting: %.*s ..."
 msgstr ""
 
-#: src/lang.c:985
+#: src/lang.c:1009
 #, c-format
 msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 msgstr ""
 
-#: src/lang.c:986
+#: src/lang.c:1010
 #, c-format
 msgid "Hot %s"
 msgstr ""
 
-#: src/lang.c:987
+#: src/lang.c:1011
 #, c-format
 msgid "Tagged %s"
 msgstr ""
 
-#: src/lang.c:988
+#: src/lang.c:1012
 #, c-format
 msgid "Untagged %s"
 msgstr ""
 
-#: src/lang.c:990
+#: src/lang.c:1014
 #, c-format
 msgid "Preparing for filtering on Path header (%d/%d)..."
 msgstr ""
 
-#: src/lang.c:992
+#: src/lang.c:1016
 msgid "Processing attributes..."
 msgstr ""
 
-#: src/lang.c:993
+#: src/lang.c:1017
 msgid "Processing mail messages marked for deletion."
 msgstr ""
 
-#: src/lang.c:994
+#: src/lang.c:1018
 msgid "Processing saved articles marked for deletion."
 msgstr ""
 
-#: src/lang.c:995
+#: src/lang.c:1019
 #, c-format
 msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr ""
 
-#: src/lang.c:996
+#: src/lang.c:1020
 msgid "Article unchanged, abort mailing?"
 msgstr ""
 
-#: src/lang.c:997
+#: src/lang.c:1021
 #, c-format
 msgid "Do you want to see postponed articles (%d)?"
 msgstr ""
 
-#: src/lang.c:999
+#: src/lang.c:1023
 msgid "Add quick kill filter?"
 msgstr ""
 
-#: src/lang.c:1000
+#: src/lang.c:1024
 msgid "Add quick selection filter?"
 msgstr ""
 
-#: src/lang.c:1001
+#: src/lang.c:1025
 msgid "Do you really want to quit?"
 msgstr ""
 
-#: src/lang.c:1002
+#: src/lang.c:1026
 #, c-format
 msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr ""
 
-#: src/lang.c:1003
+#: src/lang.c:1027
 msgid "You have tagged articles in this group - quit anyway?"
 msgstr ""
 
-#: src/lang.c:1004
+#: src/lang.c:1028
 #, c-format
 msgid "%s=quit, %s=edit, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:1005
+#: src/lang.c:1029
 #, c-format
 msgid "%s=quit, %s=edit, %s=save kill description: "
 msgstr ""
 
-#: src/lang.c:1006
+#: src/lang.c:1030
 #, c-format
 msgid "%s=quit, %s=edit, %s=save select description: "
 msgstr ""
 
-#: src/lang.c:1007
+#: src/lang.c:1031
 msgid "Do you really want to quit without saving your configuration?"
 msgstr ""
 
-#: src/lang.c:1010
+#: src/lang.c:1033
 msgid "Invalid range - valid are '0-9.$' e.g. 1-$"
 msgstr ""
 
-#: src/lang.c:1012
+#: src/lang.c:1035
 msgid "Do you want to abort this operation?"
 msgstr ""
 
-#: src/lang.c:1013
+#: src/lang.c:1036
 msgid "Do you want to exit tin immediately?"
 msgstr ""
 
-#: src/lang.c:1015
+#: src/lang.c:1038
 msgid "Reading ('q' to quit)..."
 msgstr ""
 
-#: src/lang.c:1016
+#: src/lang.c:1039
 #, c-format
 msgid "Reading %s articles..."
 msgstr ""
 
-#: src/lang.c:1017
+#: src/lang.c:1040
 #, c-format
-msgid "Reading %sattributes file...\n"
+msgid "Reading %sattributes file: %s\n"
 msgstr ""
 
-#: src/lang.c:1018
+#: src/lang.c:1041
 #, c-format
-msgid "Reading %sconfig file...\n"
+msgid "Reading %sconfig file: %s\n"
 msgstr ""
 
-#: src/lang.c:1019
-msgid "Reading filter file...\n"
+#: src/lang.c:1042
+#, c-format
+msgid "Reading filter file: %s\n"
 msgstr ""
 
-#: src/lang.c:1021
+#: src/lang.c:1044
 msgid "reading from local spool"
 msgstr ""
 
-#: src/lang.c:1023
+#: src/lang.c:1046
 #, c-format
 msgid "Reading %s\n"
 msgstr ""
 
-#: src/lang.c:1024
+#: src/lang.c:1047
 #, c-format
 msgid "Reading %s groups..."
 msgstr ""
 
-#: src/lang.c:1025
-msgid "Reading input history file...\n"
+#: src/lang.c:1048
+#, c-format
+msgid "Reading input history file: %s\n"
 msgstr ""
 
-#: src/lang.c:1026
+#: src/lang.c:1049
 #, c-format
 msgid "Reading keymap file: %s\n"
 msgstr ""
 
-#: src/lang.c:1027
+#: src/lang.c:1050
 msgid "Reading groups from active file... "
 msgstr ""
 
-#: src/lang.c:1028
+#: src/lang.c:1051
 msgid "Reading groups from newsrc file... "
 msgstr ""
 
-#: src/lang.c:1029
+#: src/lang.c:1052
 msgid "Reading newsgroups file... "
 msgstr ""
 
-#: src/lang.c:1030
-msgid "Reading newsrc file..."
+#: src/lang.c:1053
+#, c-format
+msgid "Reading newsrc file: %s"
 msgstr ""
 
-#: src/lang.c:1031
+#: src/lang.c:1054
 msgid "References: line              "
 msgstr ""
 
-#: src/lang.c:1033
+#: src/lang.c:1056
 #, c-format
 msgid "(%d:%02d remaining)"
 msgstr ""
 
-#: src/lang.c:1035
+#: src/lang.c:1058
 #, c-format
 msgid "Bogus group %s removed."
 msgstr ""
 
-#: src/lang.c:1036
+#: src/lang.c:1059
 msgid "Removed from this rule: "
 msgstr ""
 
-#: src/lang.c:1037
+#: src/lang.c:1060
 #, c-format
 msgid "Error: rename %s to %s"
 msgstr ""
 
-#: src/lang.c:1038
+#: src/lang.c:1061
 msgid "Reply to author..."
 msgstr ""
 
-#: src/lang.c:1039
+#: src/lang.c:1062
 msgid "Repost"
 msgstr ""
 
-#: src/lang.c:1040
+#: src/lang.c:1063
 msgid "Reposting article..."
 msgstr ""
 
-#: src/lang.c:1041
+#: src/lang.c:1064
 #, c-format
 msgid "Repost article(s) to group(s) [%s]> "
 msgstr ""
 
-#: src/lang.c:1042
+#: src/lang.c:1065
 msgid "Reset newsrc?"
 msgstr ""
 
-#: src/lang.c:1043
+#: src/lang.c:1066
 msgid "Responses have been directed to the following newsgroups"
 msgstr ""
 
-#: src/lang.c:1044
+#: src/lang.c:1067
 #, c-format
 msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr ""
 
-#: src/lang.c:1045
+#: src/lang.c:1068
 msgid "Press <RETURN> to continue..."
 msgstr ""
 
-#: src/lang.c:1047
+#: src/lang.c:1070
 #, c-format
 msgid "Score: %s"
 msgstr ""
 
-#: src/lang.c:1048
+#: src/lang.c:1071
 #, c-format
 msgid "Select From    [%s] (y/n): "
 msgstr ""
 
-#: src/lang.c:1049
+#: src/lang.c:1072
 msgid "Select Lines: (</>num): "
 msgstr ""
 
-#: src/lang.c:1050
+#: src/lang.c:1073
 msgid "Auto-select Article Menu"
 msgstr ""
 
-#: src/lang.c:1051
+#: src/lang.c:1074
 #, c-format
 msgid "Select Msg-ID  [%s] (f/l/o/n): "
 msgstr ""
 
-#: src/lang.c:1052
+#: src/lang.c:1075
 msgid "Select pattern scope: "
 msgstr ""
 
-#: src/lang.c:1053
+#: src/lang.c:1076
 #, c-format
 msgid "Select Subject [%s] (y/n): "
 msgstr ""
 
-#: src/lang.c:1054
+#: src/lang.c:1077
 msgid "Select text pattern : "
 msgstr ""
 
-#: src/lang.c:1055
+#: src/lang.c:1078
 msgid "Select time in days   : "
 msgstr ""
 
-#: src/lang.c:1056
+#: src/lang.c:1079
 msgid "[k]"
 msgstr ""
 
-#: src/lang.c:1057
+#: src/lang.c:1080
 msgid "[T]"
 msgstr ""
 
-#: src/lang.c:1058
+#: src/lang.c:1081
 msgid " R"
 msgstr ""
 
-#: src/lang.c:1059
+#: src/lang.c:1082
 #, c-format
 msgid ""
 "# %s server configuration file\n"
@@ -3571,270 +3650,270 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:1065
+#: src/lang.c:1088
 msgid "Showing unread groups only"
 msgstr ""
 
-#: src/lang.c:1066
+#: src/lang.c:1089
 msgid "Subject: line (ignore case)   "
 msgstr ""
 
-#: src/lang.c:1067
+#: src/lang.c:1090
 msgid "Subject: line (case sensitive)"
 msgstr ""
 
-#: src/lang.c:1068
+#: src/lang.c:1091
 msgid "Save"
 msgstr ""
 
-#: src/lang.c:1069
+#: src/lang.c:1092
 #, c-format
 msgid "Save '%s' (%s/%s)?"
 msgstr ""
 
-#: src/lang.c:1070
+#: src/lang.c:1093
 msgid "Save configuration before continuing?"
 msgstr ""
 
-#: src/lang.c:1071
+#: src/lang.c:1094
 msgid "Save filename> "
 msgstr ""
 
-#: src/lang.c:1072
+#: src/lang.c:1095
 msgid "Saved"
 msgstr ""
 
-#: src/lang.c:1073
+#: src/lang.c:1096
 #, c-format
-msgid "%4d unread (%4d hot) %s in %s\n"
+msgid "%s unread (%s hot) %s in %s\n"
 msgstr ""
 
-#: src/lang.c:1074
+#: src/lang.c:1097
 #, c-format
 msgid "Saved %s...\n"
 msgstr ""
 
-#: src/lang.c:1075
+#: src/lang.c:1098
 msgid "Nothing was saved"
 msgstr ""
 
-#: src/lang.c:1076
+#: src/lang.c:1099
 #, c-format
 msgid ""
 "\n"
 "%s %d %s from %d %s\n"
 msgstr ""
 
-#: src/lang.c:1077
+#: src/lang.c:1100
 #, c-format
 msgid "-- %s saved to %s%s --"
 msgstr ""
 
-#: src/lang.c:1078
+#: src/lang.c:1101
 #, c-format
 msgid "-- %s saved to %s - %s --"
 msgstr ""
 
-#: src/lang.c:1079
+#: src/lang.c:1102
 msgid "Saving..."
 msgstr ""
 
-#: src/lang.c:1080
+#: src/lang.c:1103
 #, c-format
 msgid "%s: Screen initialization failed"
 msgstr ""
 
-#: src/lang.c:1082
+#: src/lang.c:1105
 #, c-format
 msgid "%s: screen is too small\n"
 msgstr ""
 
-#: src/lang.c:1084
+#: src/lang.c:1107
 #, c-format
 msgid "screen is too small, %s is exiting"
 msgstr ""
 
-#: src/lang.c:1085
+#: src/lang.c:1108
 msgid "Delete scope?"
 msgstr ""
 
-#: src/lang.c:1086
+#: src/lang.c:1109
 msgid "Enter scope> "
 msgstr ""
 
-#: src/lang.c:1087
+#: src/lang.c:1110
 msgid "Select new position> "
 msgstr ""
 
-#: src/lang.c:1088
+#: src/lang.c:1111
 msgid "New position cannot be a global scope"
 msgstr ""
 
-#: src/lang.c:1089
+#: src/lang.c:1112
 msgid "Global scope, operation not allowed"
 msgstr ""
 
-#: src/lang.c:1090
+#: src/lang.c:1113
 msgid "Rename scope> "
 msgstr ""
 
-#: src/lang.c:1091
+#: src/lang.c:1114
 msgid "Select scope> "
 msgstr ""
 
-#: src/lang.c:1092
+#: src/lang.c:1115
 msgid "Scopes Menu"
 msgstr ""
 
-#: src/lang.c:1093
+#: src/lang.c:1116
 msgid "Scopes Menu Commands"
 msgstr ""
 
-#: src/lang.c:1094
+#: src/lang.c:1117
 #, c-format
 msgid "Search backwards [%s]> "
 msgstr ""
 
-#: src/lang.c:1095
+#: src/lang.c:1118
 #, c-format
 msgid "Search body [%s]> "
 msgstr ""
 
-#: src/lang.c:1096
+#: src/lang.c:1119
 #, c-format
 msgid "Search forwards [%s]> "
 msgstr ""
 
-#: src/lang.c:1097
+#: src/lang.c:1120
 msgid "Searching..."
 msgstr ""
 
-#: src/lang.c:1098
+#: src/lang.c:1121
 #, c-format
 msgid "Searching article %d of %d ('q' to abort)..."
 msgstr ""
 
-#: src/lang.c:1099
+#: src/lang.c:1122
 msgid "Select article> "
 msgstr ""
 
-#: src/lang.c:1100
+#: src/lang.c:1123
 msgid ""
 "Select option number before text or use arrow keys and <CR>. 'q' to quit."
 msgstr ""
 
-#: src/lang.c:1101
+#: src/lang.c:1124
 msgid "Select group> "
 msgstr ""
 
-#: src/lang.c:1102
+#: src/lang.c:1125
 #, c-format
 msgid "Enter selection pattern [%s]> "
 msgstr ""
 
-#: src/lang.c:1103
+#: src/lang.c:1126
 msgid "Select thread> "
 msgstr ""
 
-#: src/lang.c:1104
+#: src/lang.c:1127
 #, c-format
 msgid "%s %s %s (\"%s\"): send a DETAILED bug report to %s\n"
 msgstr ""
 
-#: src/lang.c:1105
+#: src/lang.c:1128
 msgid "servers active-file"
 msgstr ""
 
-#: src/lang.c:1106
+#: src/lang.c:1129
 #, c-format
 msgid "Skipped %s"
 msgstr ""
 
-#: src/lang.c:1107
+#: src/lang.c:1130
 msgid "Cannot move into new newsgroups. Subscribe first..."
 msgstr ""
 
-#: src/lang.c:1108
+#: src/lang.c:1131
 msgid "<SPACE>"
 msgstr ""
 
-#: src/lang.c:1109
+#: src/lang.c:1132
 #, c-format
 msgid "Starting: (%s)"
 msgstr ""
 
-#: src/lang.c:1110
+#: src/lang.c:1133
 #, c-format
 msgid "List Thread (%d of %d)"
 msgstr ""
 
-#: src/lang.c:1111
+#: src/lang.c:1134
 #, c-format
 msgid "Thread (%.*s)"
 msgstr ""
 
-#: src/lang.c:1112
+#: src/lang.c:1135
 msgid "Enter wildcard subscribe pattern> "
 msgstr ""
 
-#: src/lang.c:1113
+#: src/lang.c:1136
 #, c-format
 msgid "subscribed to %d groups"
 msgstr ""
 
-#: src/lang.c:1114
+#: src/lang.c:1137
 #, c-format
 msgid "Subscribed to %s"
 msgstr ""
 
-#: src/lang.c:1115
+#: src/lang.c:1138
 msgid "Subscribing... "
 msgstr ""
 
-#: src/lang.c:1116
+#: src/lang.c:1139
 #, c-format
 msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): "
 msgstr ""
 
-#: src/lang.c:1117
+#: src/lang.c:1140
 #, c-format
 msgid "Supersede article(s) to group(s) [%s]> "
 msgstr ""
 
-#: src/lang.c:1118
+#: src/lang.c:1141
 msgid "Superseding article ..."
 msgstr ""
 
-#: src/lang.c:1119
+#: src/lang.c:1142
 #, c-format
 msgid ""
 "\n"
 "Stopped. Type 'fg' to restart %s\n"
 msgstr ""
 
-#: src/lang.c:1121
+#: src/lang.c:1144
 #, c-format
 msgid "%d days"
 msgstr ""
 
-#: src/lang.c:1122
+#: src/lang.c:1145
 msgid "<TAB>"
 msgstr ""
 
-#: src/lang.c:1123
+#: src/lang.c:1146
 msgid "TeX "
 msgstr ""
 
-#: src/lang.c:1124
+#: src/lang.c:1147
 #, c-format
 msgid "Version: %s %s release %s (\"%s\")"
 msgstr ""
 
-#: src/lang.c:1125
+#: src/lang.c:1148
 msgid "# Default action/prompt strings\n"
 msgstr ""
 
-#: src/lang.c:1126
+#: src/lang.c:1149
 msgid ""
 "# Defaults for quick (1 key) kill & auto-selection filters\n"
 "# header=NUM  0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n"
@@ -3845,333 +3924,348 @@ msgid ""
 "# expire=ON/OFF  ON=limit to default_filter_days OFF=don't ever expire\n"
 msgstr ""
 
-#: src/lang.c:1139
+#: src/lang.c:1162
 msgid ""
 "# If ON use print current subject or newsgroup description in the last line\n"
 msgstr ""
 
-#: src/lang.c:1140
+#: src/lang.c:1163
 msgid "# Host & time info used for detecting new groups (don't touch)\n"
 msgstr ""
 
-#: src/lang.c:1141
+#: src/lang.c:1164
 msgid "There is no news\n"
 msgstr ""
 
-#: src/lang.c:1142
+#: src/lang.c:1165
 msgid "Thread"
 msgstr ""
 
-#: src/lang.c:1143
+#: src/lang.c:1166
 msgid "Thread Level Commands"
 msgstr ""
 
-#: src/lang.c:1144
+#: src/lang.c:1167
 msgid "Thread deselected"
 msgstr ""
 
-#: src/lang.c:1145
+#: src/lang.c:1168
 msgid "Thread selected"
 msgstr ""
 
-#: src/lang.c:1146
+#: src/lang.c:1169
 msgid "thread"
 msgstr ""
 
-#: src/lang.c:1147
+#: src/lang.c:1170
 #, c-format
 msgid "Thread %4s of %4s"
 msgstr ""
 
-#: src/lang.c:1148
+#: src/lang.c:1171
 msgid "Threading articles..."
 msgstr ""
 
-#: src/lang.c:1149
+#: src/lang.c:1172
 msgid "Threading by multipart"
 msgstr ""
 
-#: src/lang.c:1151
-#, c-format
-msgid "TLS handshake failed: %s\n"
-msgstr ""
-
-#: src/lang.c:1153
+#: src/lang.c:1175
 msgid "<failed to retrieve cipher>"
 msgstr ""
 
-#: src/lang.c:1154
+#: src/lang.c:1176
 msgid "<failed to retrieve issuer>"
 msgstr ""
 
-#: src/lang.c:1155
+#: src/lang.c:1177
 msgid "<failed to retrieve subject>"
 msgstr ""
 
-#: src/lang.c:1156
+#: src/lang.c:1178
 msgid "<failed to retrieve version>"
 msgstr ""
 
-#: src/lang.c:1157
+#: src/lang.c:1179
 #, c-format
 msgid "%s handshake done: %s\n"
 msgstr ""
 
-#: src/lang.c:1158 src/lang.c:1309
-msgid "unknown error"
-msgstr ""
-
-#: src/lang.c:1161
+#: src/lang.c:1182
 #, c-format
 msgid "TLS handshake failed: %s (%d)\n"
 msgstr ""
 
-#: src/lang.c:1162
+#: src/lang.c:1183
 #, c-format
 msgid "TLS peer verification failed: %s\n"
 msgstr ""
 
-#: src/lang.c:1163
+#: src/lang.c:1184
 #, c-format
 msgid "TLS peer verification failed, continuing anyway as requested: %s\n"
 msgstr ""
 
-#: src/lang.c:1164
+#: src/lang.c:1185
 msgid "<unable to retrieve status>"
 msgstr ""
 
-#: src/lang.c:1165
+#: src/lang.c:1186
 msgid "unexpected certificate verification status!"
 msgstr ""
 
-#: src/lang.c:1168
+#: src/lang.c:1189
 #, c-format
 msgid ""
 "TLS peer verification failed: %s.\n"
 "Continuing anyway as requested.\n"
 msgstr ""
 
-#: src/lang.c:1171
+#: src/lang.c:1192
 #, c-format
 msgid "TLS handshake done: %s\n"
 msgstr ""
 
-#: src/lang.c:1174
+#: src/lang.c:1195
+#, c-format
+msgid "TLS handshake failed: %s\n"
+msgstr ""
+
+#: src/lang.c:1198
 #, c-format
 msgid "Toggled word highlighting %s"
 msgstr ""
 
-#: src/lang.c:1175
+#: src/lang.c:1199
 msgid "Toggled rot13 encoding"
 msgstr ""
 
-#: src/lang.c:1176
+#: src/lang.c:1200
 #, c-format
 msgid "Toggled German TeX encoding %s"
 msgstr ""
 
-#: src/lang.c:1177
+#: src/lang.c:1201
 #, c-format
 msgid "Toggled tab-width to %d"
 msgstr ""
 
-#: src/lang.c:1179
+#: src/lang.c:1203
 #, c-format
 msgid "%d Trying to dotlock %s"
 msgstr ""
 
-#: src/lang.c:1180
+#: src/lang.c:1204
 #, c-format
 msgid "%d Trying to lock %s"
 msgstr ""
 
-#: src/lang.c:1182
+#: src/lang.c:1206
 #, c-format
 msgid "%s=help"
 msgstr ""
 
-#: src/lang.c:1184
+#: src/lang.c:1208
 msgid "Unlimited"
 msgstr ""
 
-#: src/lang.c:1185
+#: src/lang.c:1209
 msgid "Enter wildcard unsubscribe pattern> "
 msgstr ""
 
-#: src/lang.c:1186
+#: src/lang.c:1210
 #, c-format
 msgid "Error decoding %s : %s"
 msgstr ""
 
-#: src/lang.c:1187
+#: src/lang.c:1211
 msgid "No end."
 msgstr ""
 
-#: src/lang.c:1188
+#: src/lang.c:1212
 #, c-format
 msgid "%s successfully decoded."
 msgstr ""
 
-#: src/lang.c:1189
+#: src/lang.c:1214
 msgid "unchanged"
 msgstr ""
 
-#: src/lang.c:1190
+#: src/lang.c:1216
 msgid "(unknown)"
 msgstr ""
 
-#: src/lang.c:1191
+#: src/lang.c:1218
+msgid "unknown error"
+msgstr ""
+
+#: src/lang.c:1220
 msgid "unread"
 msgstr ""
 
-#: src/lang.c:1192
+#: src/lang.c:1221
 #, c-format
 msgid "unsubscribed from %d groups"
 msgstr ""
 
-#: src/lang.c:1193
+#: src/lang.c:1222
 #, c-format
 msgid "Unsubscribed from %s"
 msgstr ""
 
-#: src/lang.c:1194
+#: src/lang.c:1223
 msgid "Unsubscribing... "
 msgstr ""
 
-#: src/lang.c:1195
+#: src/lang.c:1224
 msgid "Unthreading articles..."
 msgstr ""
 
-#: src/lang.c:1196
+#: src/lang.c:1225
 msgid "Updated"
 msgstr ""
 
-#: src/lang.c:1197
+#: src/lang.c:1226
 msgid "Updating"
 msgstr ""
 
-#: src/lang.c:1198
+#: src/lang.c:1227
 msgid "URL Menu"
 msgstr ""
 
-#: src/lang.c:1199
+#: src/lang.c:1228
 msgid "URL Menu Commands"
 msgstr ""
 
-#: src/lang.c:1200
+#: src/lang.c:1229
 #, c-format
 msgid "Opening %s"
 msgstr ""
 
-#: src/lang.c:1201
+#: src/lang.c:1230
 msgid "Select URL> "
 msgstr ""
 
-#: src/lang.c:1202
+#: src/lang.c:1231
 msgid "No URLs in this article"
 msgstr ""
 
-#: src/lang.c:1203
-msgid "Use MIME display program for this message?"
+#: src/lang.c:1233
+#, c-format
+msgid "SASL MECHS    : %s\n"
 msgstr ""
 
-#: src/lang.c:1204
+#: src/lang.c:1234
+#, c-format
+msgid "SASL MECH used: %s\n"
+msgstr ""
+
+#: src/lang.c:1236
 msgid "  -c       mark all news as read in subscribed newsgroups (batch mode)"
 msgstr ""
 
-#: src/lang.c:1205
+#: src/lang.c:1237
 msgid "  -Z       return status indicating if any unread news (batch mode)"
 msgstr ""
 
-#: src/lang.c:1206
+#: src/lang.c:1238
 msgid "  -q       don't check for new newsgroups"
 msgstr ""
 
-#: src/lang.c:1207
+#: src/lang.c:1239
 msgid "  -X       don't save any files on quit"
 msgstr ""
 
-#: src/lang.c:1208
+#: src/lang.c:1240
 msgid "  -d       don't show newsgroup descriptions"
 msgstr ""
 
-#: src/lang.c:1209
+#: src/lang.c:1241
 msgid "  -G limit get only limit articles/group"
 msgstr ""
 
-#: src/lang.c:1210
+#: src/lang.c:1242
 #, c-format
 msgid "  -H       help information about %s"
 msgstr ""
 
-#: src/lang.c:1211
+#: src/lang.c:1243
 msgid "  -h       this help message"
 msgstr ""
 
-#: src/lang.c:1212
+#: src/lang.c:1244
 #, c-format
 msgid "  -I dir   news index file directory [default=%s]"
 msgstr ""
 
-#: src/lang.c:1213
+#: src/lang.c:1246
+msgid "  -L msgid show the message with that Message-ID"
+msgstr ""
+
+#: src/lang.c:1248
 msgid "  -u       update index files (batch mode)"
 msgstr ""
 
-#: src/lang.c:1214
+#: src/lang.c:1249
 #, c-format
 msgid "  -m dir   mailbox directory [default=%s]"
 msgstr ""
 
-#: src/lang.c:1215
+#: src/lang.c:1250
 #, c-format
 msgid ""
 "\n"
 "Mail bug reports/comments to %s"
 msgstr ""
 
-#: src/lang.c:1216
+#: src/lang.c:1251
 msgid "  -N       mail new news to your posts (batch mode)"
 msgstr ""
 
-#: src/lang.c:1217
+#: src/lang.c:1252
 msgid "  -M user  mail new news to specified user (batch mode)"
 msgstr ""
 
-#: src/lang.c:1218
+#: src/lang.c:1253
 #, c-format
 msgid "  -f file  subscribed to newsgroups file [default=%s]"
 msgstr ""
 
-#: src/lang.c:1219
+#: src/lang.c:1255
+#, c-format
+msgid "  -t sec   override nntp_read_timeout_secs setting [default=%d]"
+msgstr ""
+
+#: src/lang.c:1257
 msgid "  -x       no-posting mode"
 msgstr ""
 
-#: src/lang.c:1220
+#: src/lang.c:1258
 msgid "  -w       post an article and exit"
 msgstr ""
 
-#: src/lang.c:1221
+#: src/lang.c:1259
 msgid "  -o       post all postponed articles and exit"
 msgstr ""
 
-#: src/lang.c:1222
+#: src/lang.c:1260
 msgid "  -R       read news saved by -S option"
 msgstr ""
 
-#: src/lang.c:1223
+#: src/lang.c:1261
 #, c-format
 msgid "  -s dir   save news directory [default=%s]"
 msgstr ""
 
-#: src/lang.c:1224
+#: src/lang.c:1262
 msgid "  -S       save new news for later reading (batch mode)"
 msgstr ""
 
-#: src/lang.c:1225
+#: src/lang.c:1263
 msgid "  -z       start if any unread news"
 msgstr ""
 
-#: src/lang.c:1226
+#: src/lang.c:1264
 #, c-format
 msgid ""
 "A Usenet reader.\n"
@@ -4179,65 +4273,72 @@ msgid ""
 "Usage: %s [options] [newsgroup[,...]]"
 msgstr ""
 
-#: src/lang.c:1227
+#: src/lang.c:1265
 msgid "  -v       verbose output for batch mode options"
 msgstr ""
 
-#: src/lang.c:1228
+#: src/lang.c:1266
 msgid "  -V       print version & date information"
 msgstr ""
 
-#: src/lang.c:1229
+#: src/lang.c:1267
+msgid "Use MIME display program for this message?"
+msgstr ""
+
+#: src/lang.c:1268
 #, c-format
-msgid "%s only useful without batch mode operations\n"
+msgid "%s only useful without batch mode operations.%s\n"
 msgstr ""
 
-#: src/lang.c:1230
+#: src/lang.c:1269
 #, c-format
-msgid "%s only useful for batch mode operations\n"
+msgid "%s only useful for batch mode operations.%s\n"
 msgstr ""
 
-#: src/lang.c:1231
+#: src/lang.c:1270
 #, c-format
-msgid "%s only useful for batch or debug mode operations\n"
+msgid "%s only useful for batch or debug mode operations.%s\n"
 msgstr ""
 
-#: src/lang.c:1232
+#: src/lang.c:1271
 #, c-format
-msgid "Useless combination %s and %s. Ignoring %s.\n"
+msgid "Useless combination %s and %s. Ignoring %s.%s\n"
 msgstr ""
 
-#: src/lang.c:1233
+#: src/lang.c:1272
 msgid "uuencoded file"
 msgstr ""
 
-#: src/lang.c:1234
+#: src/lang.c:1273
 msgid "incomplete uuencoded file"
 msgstr ""
 
-#: src/lang.c:1237
+#: src/lang.c:1276
 #, c-format
 msgid "Valid not after : %s\n"
 msgstr ""
 
-#: src/lang.c:1238
+#: src/lang.c:1277
 #, c-format
 msgid "Valid not before: %s\n"
 msgstr ""
 
-#: src/lang.c:1240
+#: src/lang.c:1279
 #, c-format
-msgid ""
-"\n"
-"%s%d out of range (0 - %d). Reset to 0"
+msgid "%s %s out of range (%d - %d). Ignored."
 msgstr ""
 
-#: src/lang.c:1241
+#: src/lang.c:1280
+#, c-format
+msgid "%s %d out of range (0 - %d). Reset to 0."
+msgstr ""
+
+#: src/lang.c:1281
 #, c-format
 msgid "View '%s' (%s/%s)?"
 msgstr ""
 
-#: src/lang.c:1243
+#: src/lang.c:1283
 #, c-format
 msgid ""
 "\n"
@@ -4245,33 +4346,39 @@ msgid ""
 "%-100s\n"
 msgstr ""
 
-#: src/lang.c:1244
+#: src/lang.c:1284
 msgid ""
 "\n"
 "Warning: article unchanged after editing\n"
 msgstr ""
 
-#: src/lang.c:1245
+#: src/lang.c:1285
 msgid ""
 "\n"
 "Warning: \"Subject:\" contains only whitespaces.\n"
 msgstr ""
 
-#: src/lang.c:1246
+#: src/lang.c:1286
 msgid ""
 "\n"
 "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:"
 "\".\n"
 msgstr ""
 
-#: src/lang.c:1248
+#: src/lang.c:1288
 msgid ""
 "\n"
 "Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
 "         with \"Re: \" and does not contain \"(was:\".\n"
 msgstr ""
 
-#: src/lang.c:1251
+#: src/lang.c:1291
+msgid ""
+"\n"
+"Warning: \"Subject:\" contains only \"Re:\".\n"
+msgstr ""
+
+#: src/lang.c:1292
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4285,7 +4392,13 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:1255
+#: src/lang.c:1296
+msgid ""
+"\n"
+"Warning: Undesired Distribution \"world\" used.\n"
+msgstr ""
+
+#: src/lang.c:1297
 msgid ""
 "\n"
 "Warning: You are using a non-plain transfer encoding (such as base64 or\n"
@@ -4294,7 +4407,7 @@ msgid ""
 "         not be encoded properly.\n"
 msgstr ""
 
-#: src/lang.c:1261
+#: src/lang.c:1303
 #, c-format
 msgid ""
 "\n"
@@ -4302,7 +4415,7 @@ msgid ""
 "is neither set to %s nor to %s.\n"
 msgstr ""
 
-#: src/lang.c:1265
+#: src/lang.c:1307
 #, c-format
 msgid ""
 "\n"
@@ -4311,7 +4424,7 @@ msgid ""
 "posting doesn't contain any 8bit chars and thus folding won't happen.\n"
 msgstr ""
 
-#: src/lang.c:1269
+#: src/lang.c:1311
 #, c-format
 msgid ""
 "\n"
@@ -4319,13 +4432,13 @@ msgid ""
 "is not set to %s.\n"
 msgstr ""
 
-#: src/lang.c:1272
+#: src/lang.c:1314
 msgid ""
 "\n"
 "Warning: \"example\" is a reserved hierarchy!\n"
 msgstr ""
 
-#: src/lang.c:1273
+#: src/lang.c:1315
 #, c-format
 msgid ""
 "\n"
@@ -4335,7 +4448,7 @@ msgid ""
 "Read WHATSNEW, etc...\n"
 msgstr ""
 
-#: src/lang.c:1275
+#: src/lang.c:1317
 #, c-format
 msgid ""
 "\n"
@@ -4344,7 +4457,7 @@ msgid ""
 "Some values in your %s file may be ignored, others might have changed!\n"
 msgstr ""
 
-#: src/lang.c:1278
+#: src/lang.c:1320
 #, c-format
 msgid ""
 "Warning: tin wrote fewer groups to your\n"
@@ -4354,19 +4467,37 @@ msgid ""
 "before you start tin once again!\n"
 msgstr ""
 
-#: src/lang.c:1282
+#: src/lang.c:1324
+#, c-format
+msgid ""
+"\n"
+"Warning: The article has multiple addresses in \"%s\".\n"
+"         This is at least uncommon.\n"
+msgstr ""
+
+#: src/lang.c:1327
+#, c-format
+msgid ""
+"\n"
+"Warning: With multiple addresses in \"From\", a \"Sender\"-header is\n"
+"         required, but its generation is deactivated by the global\n"
+"         configuration \"disable_sender=ON\" in\n"
+"         \"%s\".\n"
+msgstr ""
+
+#: src/lang.c:1332
 #, c-format
 msgid ""
 "\n"
 "Warning: Found %d '-- \\n' lines, this may confuse some people.\n"
 msgstr ""
 
-#: src/lang.c:1283
+#: src/lang.c:1333
 #, c-format
 msgid "Warning: Only %d out of %d articles were saved"
 msgstr ""
 
-#: src/lang.c:1284
+#: src/lang.c:1334
 #, c-format
 msgid ""
 "\n"
@@ -4377,100 +4508,100 @@ msgid ""
 "         possible.\n"
 msgstr ""
 
-#: src/lang.c:1288
+#: src/lang.c:1338
 #, c-format
 msgid ""
 "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
 msgstr ""
 
-#: src/lang.c:1289
+#: src/lang.c:1339
 #, c-format
 msgid ""
 "Warning: line %d contains unprintable chars:\n"
 "%s\n"
 msgstr ""
 
-#: src/lang.c:1290
+#: src/lang.c:1340
 msgid ""
 "\n"
 "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
 msgstr ""
 
-#: src/lang.c:1291
+#: src/lang.c:1341
 msgid "Writing attributes file..."
 msgstr ""
 
-#: src/lang.c:1292
+#: src/lang.c:1342
 #, c-format
 msgid "Writing %s\n"
 msgstr ""
 
-#: src/lang.c:1293
+#: src/lang.c:1343
 msgid "Writing overview cache..."
 msgstr ""
 
-#: src/lang.c:1295
+#: src/lang.c:1345
 #, c-format
 msgid "%4d Responses"
 msgstr ""
 
-#: src/lang.c:1297
+#: src/lang.c:1347
 msgid "Can't run slrnface: couldn't construct fifo name."
 msgstr ""
 
-#: src/lang.c:1298
+#: src/lang.c:1348
 #, c-format
 msgid "Can't run slrnface: failed to create %s"
 msgstr ""
 
-#: src/lang.c:1299
+#: src/lang.c:1349
 #, c-format
 msgid "Slrnface abnormally exited, code %d."
 msgstr ""
 
-#: src/lang.c:1300
+#: src/lang.c:1350
 #, c-format
 msgid "Slrnface failed: %s."
 msgstr ""
 
-#: src/lang.c:1301
+#: src/lang.c:1352
 #, c-format
 msgid "Can't run slrnface: Environment variable %s not found."
 msgstr ""
 
-#: src/lang.c:1302
+#: src/lang.c:1354
 msgid "Can't run slrnface: Not running in an xterm."
 msgstr ""
 
-#: src/lang.c:1303
+#: src/lang.c:1357
 msgid "couldn't connect to display"
 msgstr ""
 
-#: src/lang.c:1304
+#: src/lang.c:1358
 msgid "can't open FIFO"
 msgstr ""
 
-#: src/lang.c:1305
+#: src/lang.c:1359
 msgid "executable not found"
 msgstr ""
 
-#: src/lang.c:1306
+#: src/lang.c:1360
 msgid "fork() failed"
 msgstr ""
 
-#: src/lang.c:1307
+#: src/lang.c:1361
 msgid "couldn't find controlling terminal"
 msgstr ""
 
-#: src/lang.c:1308
+#: src/lang.c:1362
 msgid "terminal doesn't export width and height"
 msgstr ""
 
-#: src/lang.c:1310
+#: src/lang.c:1363
 msgid "WINDOWID not found in environment"
 msgstr ""
 
-#: src/lang.c:1311
+#: src/lang.c:1364
 msgid ""
 "This directory is used to create named pipes for communication between\n"
 "slrnface and its parent process. It should normally be empty because\n"
@@ -4484,28 +4615,28 @@ msgid ""
 "Do not try to remove them.\n"
 msgstr ""
 
-#: src/lang.c:1324
+#: src/lang.c:1377
 #, c-format
 msgid "Added %d %s"
 msgstr ""
 
-#: src/lang.c:1325
+#: src/lang.c:1378
 msgid "No unsubscribed groups to show"
 msgstr ""
 
-#: src/lang.c:1326
+#: src/lang.c:1379
 msgid "Showing subscribed to groups only"
 msgstr ""
 
-#: src/lang.c:1327
+#: src/lang.c:1380
 msgid "Yes "
 msgstr ""
 
-#: src/lang.c:1328
+#: src/lang.c:1381
 msgid "You have mail"
 msgstr ""
 
-#: src/lang.c:1333
+#: src/lang.c:1386
 #, c-format
 msgid ""
 "\n"
@@ -4518,11 +4649,11 @@ msgid ""
 "         M)enu option.\n"
 msgstr ""
 
-#: src/lang.c:1344
+#: src/lang.c:1397
 msgid "  -D mode  debug mode"
 msgstr ""
 
-#: src/lang.c:1348
+#: src/lang.c:1401
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4539,11 +4670,11 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:1357
+#: src/lang.c:1410
 msgid "toggle color"
 msgstr ""
 
-#: src/lang.c:1358
+#: src/lang.c:1411
 msgid ""
 "# Changing colors of several screen parts\n"
 "# Possible values are:\n"
@@ -4568,429 +4699,430 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:1378
+#: src/lang.c:1431
 msgid "  -a       toggle color flag"
 msgstr ""
 
-#: src/lang.c:1382
+#: src/lang.c:1435
 msgid ""
 "\n"
 "Error: Followup-To set to more than one newsgroup!\n"
 msgstr ""
 
-#: src/lang.c:1383
+#: src/lang.c:1436
 #, c-format
 msgid ""
 "\n"
 "Error: \"%s\" is renamed, use \"%s\" instead!\n"
 msgstr ""
 
-#: src/lang.c:1384
+#: src/lang.c:1437
 #, c-format
 msgid ""
 "\n"
 "Error: cross-posting to %d newsgroups and no Followup-To line!\n"
 msgstr ""
 
-#: src/lang.c:1385
+#: src/lang.c:1438
 #, c-format
 msgid ""
 "\n"
 "Error: \"%s\" is not a valid newsgroup!\n"
 msgstr ""
 
-#: src/lang.c:1387
+#: src/lang.c:1440
 msgid ""
 "\n"
 "Warning: Followup-To set to more than one newsgroup!\n"
 msgstr ""
 
-#: src/lang.c:1388
+#: src/lang.c:1441
 #, c-format
 msgid ""
 "\n"
 "Warning: \"%s\" is renamed, you should use \"%s\" instead!\n"
 msgstr ""
 
-#: src/lang.c:1389
+#: src/lang.c:1442
 #, c-format
 msgid ""
 "\n"
 "Warning: cross-posting to %d newsgroups and no Followup-To line!\n"
 msgstr ""
 
-#: src/lang.c:1390
+#: src/lang.c:1443
 #, c-format
 msgid ""
 "\n"
 "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n"
 msgstr ""
 
-#: src/lang.c:1391
+#: src/lang.c:1444
 #, c-format
 msgid ""
 "\n"
 "Warning: \"%s\" is not a valid newsgroup at this site!\n"
 msgstr ""
 
-#: src/lang.c:1395
+#: src/lang.c:1448
 #, c-format
 msgid "%d files successfully written from %d articles. %d %s occurred."
 msgstr ""
 
-#: src/lang.c:1396
+#: src/lang.c:1449
 msgid "Missing parts."
 msgstr ""
 
-#: src/lang.c:1397
+#: src/lang.c:1450
 msgid "No beginning."
 msgstr ""
 
-#: src/lang.c:1398
+#: src/lang.c:1451
 msgid "No data."
 msgstr ""
 
-#: src/lang.c:1399
+#: src/lang.c:1452
 msgid "Unknown error."
 msgstr ""
 
-#: src/lang.c:1402
+#: src/lang.c:1456
 #, c-format
-msgid "\tChecksum of %s (%ld %s)"
-msgstr ""
-
-#: src/lang.c:1407
-msgid "Reading mail active file... "
+msgid "Reading mail active file: %s"
 msgstr ""
 
-#: src/lang.c:1408
-msgid "Reading mailgroups file... "
+#: src/lang.c:1457
+#, c-format
+msgid "Reading mailgroups file: %s"
 msgstr ""
 
-#: src/lang.c:1412
+#: src/lang.c:1461
 msgid "perform PGP operations on article"
 msgstr ""
 
-#: src/lang.c:1413
+#: src/lang.c:1462
 msgid "Add key(s) to public keyring?"
 msgstr ""
 
-#: src/lang.c:1414
+#: src/lang.c:1463
 #, c-format
 msgid "%s=encrypt, %s=sign, %s=both, %s=quit: "
 msgstr ""
 
-#: src/lang.c:1415
+#: src/lang.c:1464
 #, c-format
 msgid "%s=sign, %s=sign & include public key, %s=quit: "
 msgstr ""
 
-#: src/lang.c:1416
+#: src/lang.c:1465
 #, c-format
 msgid "PGP has not been set up (can't open %s)"
 msgstr ""
 
-#: src/lang.c:1417
+#: src/lang.c:1466
 msgid "Article not signed and no public keys found"
 msgstr ""
 
-#: src/lang.c:1419
+#: src/lang.c:1468
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:1420
+#: src/lang.c:1469
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: "
 msgstr ""
 
-#: src/lang.c:1421
+#: src/lang.c:1470
 #, c-format
 msgid ""
 "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 
-#: src/lang.c:1423
+#: src/lang.c:1472
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:1424
+#: src/lang.c:1473
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: "
 msgstr ""
 
-#: src/lang.c:1425
+#: src/lang.c:1474
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 
-#: src/lang.c:1429
+#: src/lang.c:1478
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:1430
+#: src/lang.c:1479
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: "
 msgstr ""
 
-#: src/lang.c:1431
+#: src/lang.c:1480
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 
-#: src/lang.c:1433
+#: src/lang.c:1482
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:1434
+#: src/lang.c:1483
 #, c-format
 msgid "%s=quit, %s=edit, %s=send [%%s]: "
 msgstr ""
 
-#: src/lang.c:1435
+#: src/lang.c:1484
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 
-#: src/lang.c:1441
+#: src/lang.c:1489
 msgid "Try cache_overview_files to speed up things.\n"
 msgstr ""
 
-#: src/lang.c:1442
+#: src/lang.c:1490
 msgid "Tin will use local index files instead.\n"
 msgstr ""
 
-#: src/lang.c:1443
+#: src/lang.c:1491
 msgid "Cannot find NNTP server name"
 msgstr ""
 
-#: src/lang.c:1444
+#: src/lang.c:1492
 msgid "CAPABILITIES did not announce READER"
 msgstr ""
 
-#: src/lang.c:1445
+#: src/lang.c:1493
 #, c-format
 msgid "Connecting to %s:%u..."
 msgstr ""
 
-#: src/lang.c:1446
+#: src/lang.c:1494
 msgid "NNTP connection error. Exiting..."
 msgstr ""
 
-#: src/lang.c:1447
+#: src/lang.c:1495
 msgid "Disconnecting from server..."
 msgstr ""
 
-#: src/lang.c:1448
+#: src/lang.c:1496
 #, c-format
 msgid "Failed to connect to NNTP server %s. Exiting..."
 msgstr ""
 
-#: src/lang.c:1449
+#: src/lang.c:1497
 msgid "205  Closing connection"
 msgstr ""
 
-#: src/lang.c:1450
+#: src/lang.c:1498
 msgid "Your server does not support the NNTP XOVER or OVER command.\n"
 msgstr ""
 
-#: src/lang.c:1452
+#: src/lang.c:1499
 #, c-format
 msgid "Port isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1453
+#: src/lang.c:1500
+#, c-format
+msgid "%s argument is not numeric: %s\n"
+msgstr ""
+
+#: src/lang.c:1502
 #, c-format
 msgid "Port in %s isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1454
+#: src/lang.c:1503
 #, c-format
 msgid "reconnect (%d) limit %d reached, giving up."
 msgstr ""
 
-#: src/lang.c:1456
+#: src/lang.c:1505
 msgid "Connection to news server has timed out. Reconnect?"
 msgstr ""
 
-#: src/lang.c:1457
+#: src/lang.c:1506
 #, c-format
 msgid ""
 "Put the server name in the file %s,\n"
 "or set the environment variable NNTPSERVER"
 msgstr ""
 
-#: src/lang.c:1459
+#: src/lang.c:1508
 msgid "Continuing..."
 msgstr ""
 
-#: src/lang.c:1460
-#, c-format
-msgid "Read timeout from server (%d seconds) - quit tin?"
+#: src/lang.c:1509
+msgid "Read timeout from server - quit tin?"
 msgstr ""
 
-#: src/lang.c:1461
+#: src/lang.c:1510
 msgid "  -C       try COMPRESS NNTP extension"
 msgstr ""
 
-#: src/lang.c:1463
+#: src/lang.c:1512
 msgid "  -A       force authentication on connect"
 msgstr ""
 
-#: src/lang.c:1464
+#: src/lang.c:1513
 #, c-format
 msgid "  -g serv  read news from NNTP server serv [default=%s]"
 msgstr ""
 
-#: src/lang.c:1465
+#: src/lang.c:1514
 #, c-format
 msgid "  -p port  use port as NNTP port [default=%d]"
 msgstr ""
 
-#: src/lang.c:1467
+#: src/lang.c:1516
 msgid "  -k       skip verification for NNTPS"
 msgstr ""
 
-#: src/lang.c:1468
+#: src/lang.c:1517
 msgid "  -T       enable NNTPS"
 msgstr ""
 
-#: src/lang.c:1470
+#: src/lang.c:1519
 msgid "  -Q       quick start. Same as -dnq"
 msgstr ""
 
-#: src/lang.c:1471
+#: src/lang.c:1520
 msgid "  -r       read news remotely from default NNTP server"
 msgstr ""
 
-#: src/lang.c:1472
+#: src/lang.c:1521
 msgid "  -l       use only LIST instead of GROUP (-n) command"
 msgstr ""
 
-#: src/lang.c:1473
+#: src/lang.c:1522
 msgid "  -n       only read subscribed .newsrc groups from NNTP server"
 msgstr ""
 
-#: src/lang.c:1475
+#: src/lang.c:1524
 msgid "  -4       force connecting via IPv4"
 msgstr ""
 
-#: src/lang.c:1476
+#: src/lang.c:1525
 msgid "  -6       force connecting via IPv6"
 msgstr ""
 
-#: src/lang.c:1477
+#: src/lang.c:1526
 msgid ""
 "\n"
 "socket or connect problem\n"
 msgstr ""
 
-#: src/lang.c:1479
+#: src/lang.c:1528
 #, c-format
 msgid ""
 "\n"
 "Connection to %s: "
 msgstr ""
 
-#: src/lang.c:1480
+#: src/lang.c:1529
 msgid "Giving up...\n"
 msgstr ""
 
-#: src/lang.c:1482
+#: src/lang.c:1531
 #, c-format
 msgid "%s/tcp: Unknown service.\n"
 msgstr ""
 
-#: src/lang.c:1486
+#: src/lang.c:1535
 msgid ""
 "Your server does not have Xref: in its XOVER information.\n"
 "Tin will try to use XHDR XREF instead (slows down things a bit).\n"
 msgstr ""
 
-#: src/lang.c:1489
+#: src/lang.c:1538
 msgid "Your server does not have Xref: in its XOVER information.\n"
 msgstr ""
 
-#: src/lang.c:1492
+#: src/lang.c:1541
 #, c-format
 msgid "Can't open %s. Try %s -r to read news via NNTP."
 msgstr ""
 
-#: src/lang.c:1495
+#: src/lang.c:1544
 msgid "  -Q       quick start. Same as -dq"
 msgstr ""
 
-#: src/lang.c:1496
+#: src/lang.c:1545
 msgid "  -l       read only active file instead of scanning spool (-n) command"
 msgstr ""
 
-#: src/lang.c:1497
+#: src/lang.c:1546
 msgid "  -n       only read subscribed .newsrc groups from spool"
 msgstr ""
 
-#: src/lang.c:1498
+#: src/lang.c:1547
 msgid "Your server does not have Xref: in its NOV-files.\n"
 msgstr ""
 
-#: src/lang.c:1502
+#: src/lang.c:1551
 msgid "Posting using external inews failed. Use built in inews instead?"
 msgstr ""
 
-#: src/lang.c:1503
+#: src/lang.c:1552
 msgid "It worked! Should I always use my built in inews from now on?"
 msgstr ""
 
-#: src/lang.c:1507
+#: src/lang.c:1556
 #, c-format
 msgid "%d %s printed"
 msgstr ""
 
-#: src/lang.c:1508
+#: src/lang.c:1557
 msgid "output article/thread/hot/pattern/tagged articles to printer"
 msgstr ""
 
-#: src/lang.c:1509
+#: src/lang.c:1558
 msgid "Print"
 msgstr ""
 
-#: src/lang.c:1510
+#: src/lang.c:1559
 msgid "Printing..."
 msgstr ""
 
-#: src/lang.c:1514
+#: src/lang.c:1563
 #, c-format
 msgid "%d %s piped to \"%s\""
 msgstr ""
 
-#: src/lang.c:1515
+#: src/lang.c:1564
 msgid "pipe article/thread/hot/pattern/tagged articles into command"
 msgstr ""
 
-#: src/lang.c:1516
+#: src/lang.c:1565
 msgid "No command"
 msgstr ""
 
-#: src/lang.c:1517
+#: src/lang.c:1566
 msgid "Pipe"
 msgstr ""
 
-#: src/lang.c:1518
+#: src/lang.c:1567
 #, c-format
 msgid "Pipe to command [%.*s]> "
 msgstr ""
 
-#: src/lang.c:1519
+#: src/lang.c:1568
 msgid "Piping..."
 msgstr ""
 
-#: src/lang.c:1521
+#: src/lang.c:1570
 msgid "Piping not enabled."
 msgstr ""
 
-#: src/lang.c:1525
+#: src/lang.c:1574
 #, c-format
 msgid ""
 "\n"
@@ -5000,7 +5132,7 @@ msgid ""
 "       newsgroup names.\n"
 msgstr ""
 
-#: src/lang.c:1530
+#: src/lang.c:1579
 #, c-format
 msgid ""
 "\n"
@@ -5009,7 +5141,7 @@ msgid ""
 "       Please write all newsgroups into a single line.\n"
 msgstr ""
 
-#: src/lang.c:1535
+#: src/lang.c:1584
 #, c-format
 msgid ""
 "\n"
@@ -5018,14 +5150,14 @@ msgid ""
 "         To avoid trouble please write all newsgroups into a single line.\n"
 msgstr ""
 
-#: src/lang.c:1539
+#: src/lang.c:1588
 #, c-format
 msgid ""
 "\n"
 "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n"
 msgstr ""
 
-#: src/lang.c:1544
+#: src/lang.c:1593
 msgid ""
 "\n"
 "  If your article contains quoted text  please take some time to pare it "
@@ -5047,616 +5179,616 @@ msgid ""
 "  likely to ignore it completely.  It's a crowded net out there.\n"
 msgstr ""
 
-#: src/lang.c:1557
+#: src/lang.c:1606
 msgid "shell escape"
 msgstr ""
 
-#: src/lang.c:1558
+#: src/lang.c:1607
 #, c-format
 msgid "Shell Command (%s)"
 msgstr ""
 
-#: src/lang.c:1559
+#: src/lang.c:1608
 #, c-format
 msgid "Enter shell command [%s]> "
 msgstr ""
 
-#: src/lang.c:1563
+#: src/lang.c:1612
 #, c-format
 msgid "%s: Can't get entry for TERM\n"
 msgstr ""
 
-#: src/lang.c:1567
+#: src/lang.c:1616
 #, c-format
 msgid "Group %.*s ('q' to quit)..."
 msgstr ""
 
-#: src/lang.c:1569
+#: src/lang.c:1618
 #, c-format
 msgid "Group %.*s..."
 msgstr ""
 
-#: src/lang.c:1573
+#: src/lang.c:1622
 msgid "Server unavailable\n"
 msgstr ""
 
-#: src/lang.c:1579
+#: src/lang.c:1628
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
 "%s=post"
 msgstr ""
 
-#: src/lang.c:1580
+#: src/lang.c:1629
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1582
+#: src/lang.c:1631
 #, c-format
 msgid ""
 "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1583
+#: src/lang.c:1632
 #, c-format
 msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1587
+#: src/lang.c:1636
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1588
+#: src/lang.c:1637
 #, c-format
 msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1590
+#: src/lang.c:1639
 #, c-format
 msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1591
+#: src/lang.c:1640
 #, c-format
 msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1597
+#: src/lang.c:1646
 msgid "Terminal does not support color"
 msgstr ""
 
-#: src/lang.c:1602
+#: src/lang.c:1651
 #, c-format
 msgid "Trying %s"
 msgstr ""
 
-#: src/lang.c:1617
+#: src/lang.c:1666
 msgid "Subject"
 msgstr ""
 
-#: src/lang.c:1618
+#: src/lang.c:1667
 msgid "References"
 msgstr ""
 
-#: src/lang.c:1619
+#: src/lang.c:1668
 msgid "Both Subject and References"
 msgstr ""
 
-#: src/lang.c:1620
+#: src/lang.c:1669
 msgid "Multipart Subject"
 msgstr ""
 
-#: src/lang.c:1621
+#: src/lang.c:1670
 msgid "Percentage Match"
 msgstr ""
 
-#: src/lang.c:1634 src/lang.c:1725 src/lang.c:1824 src/lang.c:1927
+#: src/lang.c:1683 src/lang.c:1774 src/lang.c:1880 src/lang.c:1983
 msgid "No"
 msgstr ""
 
-#: src/lang.c:1635 src/lang.c:1826
+#: src/lang.c:1684 src/lang.c:1882
 msgid "Yes"
 msgstr ""
 
-#: src/lang.c:1636
+#: src/lang.c:1685
 msgid "Hide all"
 msgstr ""
 
-#: src/lang.c:1645
+#: src/lang.c:1694
 msgid "Address"
 msgstr ""
 
-#: src/lang.c:1646
+#: src/lang.c:1695
 msgid "Full Name"
 msgstr ""
 
-#: src/lang.c:1647
+#: src/lang.c:1696
 msgid "Address and Name"
 msgstr ""
 
-#: src/lang.c:1655
+#: src/lang.c:1704
 msgid "Max"
 msgstr ""
 
-#: src/lang.c:1656
+#: src/lang.c:1705
 msgid "Sum"
 msgstr ""
 
-#: src/lang.c:1657
+#: src/lang.c:1706
 msgid "Average"
 msgstr ""
 
-#: src/lang.c:1667 src/lang.c:1687
+#: src/lang.c:1716 src/lang.c:1736
 msgid "Black"
 msgstr ""
 
-#: src/lang.c:1668 src/lang.c:1688
+#: src/lang.c:1717 src/lang.c:1737
 msgid "Red"
 msgstr ""
 
-#: src/lang.c:1669 src/lang.c:1689
+#: src/lang.c:1718 src/lang.c:1738
 msgid "Green"
 msgstr ""
 
-#: src/lang.c:1670 src/lang.c:1690
+#: src/lang.c:1719 src/lang.c:1739
 msgid "Brown"
 msgstr ""
 
-#: src/lang.c:1671 src/lang.c:1691
+#: src/lang.c:1720 src/lang.c:1740
 msgid "Blue"
 msgstr ""
 
-#: src/lang.c:1672 src/lang.c:1692
+#: src/lang.c:1721 src/lang.c:1741
 msgid "Pink"
 msgstr ""
 
-#: src/lang.c:1673 src/lang.c:1693
+#: src/lang.c:1722 src/lang.c:1742
 msgid "Cyan"
 msgstr ""
 
-#: src/lang.c:1674 src/lang.c:1694
+#: src/lang.c:1723 src/lang.c:1743
 msgid "White"
 msgstr ""
 
-#: src/lang.c:1675
+#: src/lang.c:1724
 msgid "Gray"
 msgstr ""
 
-#: src/lang.c:1676
+#: src/lang.c:1725
 msgid "Light Red"
 msgstr ""
 
-#: src/lang.c:1677
+#: src/lang.c:1726
 msgid "Light Green"
 msgstr ""
 
-#: src/lang.c:1678
+#: src/lang.c:1727
 msgid "Yellow"
 msgstr ""
 
-#: src/lang.c:1679
+#: src/lang.c:1728
 msgid "Light Blue"
 msgstr ""
 
-#: src/lang.c:1680
+#: src/lang.c:1729
 msgid "Light Pink"
 msgstr ""
 
-#: src/lang.c:1681
+#: src/lang.c:1730
 msgid "Light Cyan"
 msgstr ""
 
-#: src/lang.c:1682
+#: src/lang.c:1731
 msgid "Light White"
 msgstr ""
 
-#: src/lang.c:1703 src/lang.c:1831 src/lang.c:1846
+#: src/lang.c:1752 src/lang.c:1887 src/lang.c:1902
 msgid "Nothing"
 msgstr ""
 
-#: src/lang.c:1705
+#: src/lang.c:1754
 msgid "Space"
 msgstr ""
 
-#: src/lang.c:1713
+#: src/lang.c:1762
 msgid "Normal"
 msgstr ""
 
-#: src/lang.c:1714
+#: src/lang.c:1763
 msgid "Best highlighting"
 msgstr ""
 
-#: src/lang.c:1715
+#: src/lang.c:1764
 msgid "Underline"
 msgstr ""
 
-#: src/lang.c:1716
+#: src/lang.c:1765
 msgid "Reverse video"
 msgstr ""
 
-#: src/lang.c:1717
+#: src/lang.c:1766
 msgid "Blinking"
 msgstr ""
 
-#: src/lang.c:1718
+#: src/lang.c:1767
 msgid "Half bright"
 msgstr ""
 
-#: src/lang.c:1719
+#: src/lang.c:1768
 msgid "Bold"
 msgstr ""
 
-#: src/lang.c:1726
+#: src/lang.c:1775
 msgid "Cc"
 msgstr ""
 
-#: src/lang.c:1727
+#: src/lang.c:1776
 msgid "Bcc"
 msgstr ""
 
-#: src/lang.c:1728
+#: src/lang.c:1777
 msgid "Cc and Bcc"
 msgstr ""
 
-#: src/lang.c:1745 src/lang.c:1758
+#: src/lang.c:1794 src/lang.c:1807
 msgid "none"
 msgstr ""
 
-#: src/lang.c:1746
+#: src/lang.c:1795
 msgid "commands"
 msgstr ""
 
-#: src/lang.c:1747
+#: src/lang.c:1796
 msgid "select"
 msgstr ""
 
-#: src/lang.c:1749
+#: src/lang.c:1798
 msgid "commands & quit"
 msgstr ""
 
-#: src/lang.c:1750
+#: src/lang.c:1799
 msgid "commands & select"
 msgstr ""
 
-#: src/lang.c:1751
+#: src/lang.c:1800
 msgid "quit & select"
 msgstr ""
 
-#: src/lang.c:1752
+#: src/lang.c:1801
 msgid "commands & quit & select"
 msgstr ""
 
-#: src/lang.c:1759
+#: src/lang.c:1808
 msgid "PageDown"
 msgstr ""
 
-#: src/lang.c:1760
+#: src/lang.c:1809
 msgid "PageNextUnread"
 msgstr ""
 
-#: src/lang.c:1761
+#: src/lang.c:1810
 msgid "PageDown or PageNextUnread"
 msgstr ""
 
-#: src/lang.c:1767
+#: src/lang.c:1816
 msgid "Subject: (case sensitive)"
 msgstr ""
 
-#: src/lang.c:1768
+#: src/lang.c:1817
 msgid "Subject: (ignore case)"
 msgstr ""
 
-#: src/lang.c:1769
+#: src/lang.c:1818
 msgid "From: (case sensitive)"
 msgstr ""
 
-#: src/lang.c:1770
+#: src/lang.c:1819
 msgid "From: (ignore case)"
 msgstr ""
 
-#: src/lang.c:1771
+#: src/lang.c:1820
 msgid "Msg-ID: & full References: line"
 msgstr ""
 
-#: src/lang.c:1772
+#: src/lang.c:1821
 msgid "Msg-ID: & last References: only"
 msgstr ""
 
-#: src/lang.c:1773
+#: src/lang.c:1822
 msgid "Message-ID: entry only"
 msgstr ""
 
-#: src/lang.c:1774
+#: src/lang.c:1823
 msgid "Lines:"
 msgstr ""
 
-#: src/lang.c:1780
+#: src/lang.c:1829
 msgid "Don't trim article body"
 msgstr ""
 
-#: src/lang.c:1781
+#: src/lang.c:1830
 msgid "Skip leading blank lines"
 msgstr ""
 
-#: src/lang.c:1782
+#: src/lang.c:1831
 msgid "Skip trailing blank lines"
 msgstr ""
 
-#: src/lang.c:1783
+#: src/lang.c:1832
 msgid "Skip leading and trailing blank l."
 msgstr ""
 
-#: src/lang.c:1784
+#: src/lang.c:1833
 msgid "Compact multiple between text"
 msgstr ""
 
-#: src/lang.c:1785
+#: src/lang.c:1834
 msgid "Compact multiple and skip leading"
 msgstr ""
 
-#: src/lang.c:1786
+#: src/lang.c:1835
 msgid "Compact multiple and skip trailing"
 msgstr ""
 
-#: src/lang.c:1787
+#: src/lang.c:1836
 msgid "Compact mltpl., skip lead. & trai."
 msgstr ""
 
-#: src/lang.c:1793
+#: src/lang.c:1842
 msgid "Don't show help or mail sign"
 msgstr ""
 
-#: src/lang.c:1794
+#: src/lang.c:1843
 msgid "Show only help sign"
 msgstr ""
 
-#: src/lang.c:1795
+#: src/lang.c:1844
 msgid "Show only mail sign if new mail"
 msgstr ""
 
-#: src/lang.c:1796
+#: src/lang.c:1845
 msgid "Show mail if new mail else help s."
 msgstr ""
 
-#: src/lang.c:1825
+#: src/lang.c:1881
 msgid "Shell archive"
 msgstr ""
 
-#: src/lang.c:1832
+#: src/lang.c:1888
 msgid "Subject: (descending)"
 msgstr ""
 
-#: src/lang.c:1833
+#: src/lang.c:1889
 msgid "Subject: (ascending)"
 msgstr ""
 
-#: src/lang.c:1834
+#: src/lang.c:1890
 msgid "From: (descending)"
 msgstr ""
 
-#: src/lang.c:1835
+#: src/lang.c:1891
 msgid "From: (ascending)"
 msgstr ""
 
-#: src/lang.c:1836
+#: src/lang.c:1892
 msgid "Date: (descending)"
 msgstr ""
 
-#: src/lang.c:1837
+#: src/lang.c:1893
 msgid "Date: (ascending)"
 msgstr ""
 
-#: src/lang.c:1838 src/lang.c:1847
+#: src/lang.c:1894 src/lang.c:1903
 msgid "Score (descending)"
 msgstr ""
 
-#: src/lang.c:1839 src/lang.c:1848
+#: src/lang.c:1895 src/lang.c:1904
 msgid "Score (ascending)"
 msgstr ""
 
-#: src/lang.c:1840
+#: src/lang.c:1896
 msgid "Lines: (descending)"
 msgstr ""
 
-#: src/lang.c:1841
+#: src/lang.c:1897
 msgid "Lines: (ascending)"
 msgstr ""
 
-#: src/lang.c:1849
+#: src/lang.c:1905
 msgid "Last posting date (descending)"
 msgstr ""
 
-#: src/lang.c:1850
+#: src/lang.c:1906
 msgid "Last posting date (ascending)"
 msgstr ""
 
-#: src/lang.c:1856
+#: src/lang.c:1912
 msgid "Quick-sort"
 msgstr ""
 
-#: src/lang.c:1857
+#: src/lang.c:1913
 msgid "Heap-sort"
 msgstr ""
 
-#: src/lang.c:1864
+#: src/lang.c:1920
 msgid "Always Keep"
 msgstr ""
 
-#: src/lang.c:1865
+#: src/lang.c:1921
 msgid "Always Remove"
 msgstr ""
 
-#: src/lang.c:1866
+#: src/lang.c:1922
 msgid "Mark with D on selection screen"
 msgstr ""
 
-#: src/lang.c:1872
+#: src/lang.c:1928
 msgid "Kill only unread arts"
 msgstr ""
 
-#: src/lang.c:1873
+#: src/lang.c:1929
 msgid "Kill all arts & show with K"
 msgstr ""
 
 #. TODO: s/K/art_marked_killed/
-#: src/lang.c:1874
+#: src/lang.c:1930
 msgid "Kill all arts and never show"
 msgstr ""
 
-#: src/lang.c:1880
+#: src/lang.c:1936
 msgid "Nothing special"
 msgstr ""
 
-#: src/lang.c:1881
+#: src/lang.c:1937
 msgid "Compress quotes"
 msgstr ""
 
-#: src/lang.c:1882
+#: src/lang.c:1938
 msgid "Quote signatures"
 msgstr ""
 
-#: src/lang.c:1883
+#: src/lang.c:1939
 msgid "Compress quotes, quote sigs"
 msgstr ""
 
-#: src/lang.c:1884
+#: src/lang.c:1940
 msgid "Quote empty lines"
 msgstr ""
 
-#: src/lang.c:1885
+#: src/lang.c:1941
 msgid "Compress quotes, quote empty lines"
 msgstr ""
 
-#: src/lang.c:1886
+#: src/lang.c:1942
 msgid "Quote sigs & empty lines"
 msgstr ""
 
-#: src/lang.c:1887
+#: src/lang.c:1943
 msgid "Comp. q., quote sigs & empty lines"
 msgstr ""
 
-#: src/lang.c:1928
+#: src/lang.c:1984
 msgid "With headers"
 msgstr ""
 
-#: src/lang.c:1929
+#: src/lang.c:1985
 msgid "Without headers"
 msgstr ""
 
-#: src/lang.c:1936
+#: src/lang.c:1992
 msgid "NFKC"
 msgstr ""
 
-#: src/lang.c:1938
+#: src/lang.c:1994
 msgid "NFKD"
 msgstr ""
 
-#: src/lang.c:1939
+#: src/lang.c:1995
 msgid "NFC"
 msgstr ""
 
-#: src/lang.c:1940
+#: src/lang.c:1996
 msgid "NFD"
 msgstr ""
 
-#: src/lang.c:1942
+#: src/lang.c:1998
 msgid "NFKC case fold"
 msgstr ""
 
-#: src/lang.c:1951
+#: src/lang.c:2007
 msgid "Display Options"
 msgstr ""
 
-#: src/lang.c:1958
+#: src/lang.c:2014
 msgid "Color Options"
 msgstr ""
 
-#: src/lang.c:1964
+#: src/lang.c:2020
 msgid "Highlight Options"
 msgstr ""
 
-#: src/lang.c:1971
+#: src/lang.c:2027
 msgid "Article-Limiting Options"
 msgstr ""
 
-#: src/lang.c:1977
+#: src/lang.c:2033
 msgid "Posting/Mailing Options"
 msgstr ""
 
-#: src/lang.c:1983
+#: src/lang.c:2039
 msgid "Saving/Printing Options"
 msgstr ""
 
-#: src/lang.c:1989
+#: src/lang.c:2045
 msgid "Expert Options"
 msgstr ""
 
-#: src/lang.c:1995
+#: src/lang.c:2051
 msgid "Filtering Options"
 msgstr ""
 
-#: src/lang.c:2000 src/lang.c:2031 src/lang.c:2037 src/lang.c:2064
-#: src/lang.c:2116 src/lang.c:2122 src/lang.c:2132 src/lang.c:2143
-#: src/lang.c:2161 src/lang.c:2172 src/lang.c:2241 src/lang.c:2456
-#: src/lang.c:2462 src/lang.c:2468 src/lang.c:2483 src/lang.c:2495
-#: src/lang.c:2502 src/lang.c:2556 src/lang.c:2565 src/lang.c:2571
-#: src/lang.c:2578 src/lang.c:2585 src/lang.c:2592 src/lang.c:2599
-#: src/lang.c:2606 src/lang.c:2613 src/lang.c:2620 src/lang.c:2627
+#: src/lang.c:2056 src/lang.c:2087 src/lang.c:2093 src/lang.c:2120
+#: src/lang.c:2172 src/lang.c:2178 src/lang.c:2188 src/lang.c:2199
+#: src/lang.c:2217 src/lang.c:2228 src/lang.c:2297 src/lang.c:2512
+#: src/lang.c:2518 src/lang.c:2524 src/lang.c:2539 src/lang.c:2551
+#: src/lang.c:2558 src/lang.c:2612 src/lang.c:2621 src/lang.c:2627
 #: src/lang.c:2634 src/lang.c:2641 src/lang.c:2648 src/lang.c:2655
 #: src/lang.c:2662 src/lang.c:2669 src/lang.c:2676 src/lang.c:2683
 #: src/lang.c:2690 src/lang.c:2697 src/lang.c:2704 src/lang.c:2711
 #: src/lang.c:2718 src/lang.c:2725 src/lang.c:2732 src/lang.c:2739
-#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2761 src/lang.c:2777
-#: src/lang.c:2784 src/lang.c:2791 src/lang.c:2798 src/lang.c:2804
-#: src/lang.c:2810 src/lang.c:2827 src/lang.c:2839 src/lang.c:2874
-#: src/lang.c:2927 src/lang.c:2941 src/lang.c:2947 src/lang.c:2972
-#: src/lang.c:2990 src/lang.c:3007 src/lang.c:3019 src/lang.c:3052
-#: src/lang.c:3081 src/lang.c:3101 src/lang.c:3129 src/lang.c:3139
-#: src/lang.c:3146 src/lang.c:3172 src/lang.c:3196 src/lang.c:3343
-#: src/lang.c:3358 src/lang.c:3366 src/lang.c:3380 src/lang.c:3386
-#: src/lang.c:3424
+#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2760 src/lang.c:2767
+#: src/lang.c:2774 src/lang.c:2781 src/lang.c:2788 src/lang.c:2795
+#: src/lang.c:2802 src/lang.c:2809 src/lang.c:2817 src/lang.c:2833
+#: src/lang.c:2840 src/lang.c:2847 src/lang.c:2854 src/lang.c:2860
+#: src/lang.c:2866 src/lang.c:2889 src/lang.c:2901 src/lang.c:2936
+#: src/lang.c:2989 src/lang.c:3003 src/lang.c:3009 src/lang.c:3034
+#: src/lang.c:3052 src/lang.c:3069 src/lang.c:3081 src/lang.c:3114
+#: src/lang.c:3143 src/lang.c:3163 src/lang.c:3190 src/lang.c:3200
+#: src/lang.c:3207 src/lang.c:3233 src/lang.c:3257 src/lang.c:3412
+#: src/lang.c:3427 src/lang.c:3435 src/lang.c:3449 src/lang.c:3455
+#: src/lang.c:3493
 msgid "<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2001
+#: src/lang.c:2057
 msgid "Show mini menu & posting etiquette"
 msgstr ""
 
-#: src/lang.c:2002
+#: src/lang.c:2058
 msgid ""
 "# If ON show a mini menu of useful commands at each level\n"
 "# and posting etiquette after composing an article\n"
 msgstr ""
 
-#: src/lang.c:2007
+#: src/lang.c:2063
 msgid "Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2008
+#: src/lang.c:2064
 msgid "Show description of each newsgroup"
 msgstr ""
 
-#: src/lang.c:2009
+#: src/lang.c:2065
 msgid ""
 "# If ON show group description text after newsgroup name at\n"
 "# group selection level\n"
 msgstr ""
 
-#: src/lang.c:2014
+#: src/lang.c:2070
 msgid ""
 "Show From (author) fields in group & thread level. <SPACE> toggles & <CR> "
 "sets."
 msgstr ""
 
-#: src/lang.c:2015
+#: src/lang.c:2071
 msgid "In group and thread level, show author by"
 msgstr ""
 
-#: src/lang.c:2016
+#: src/lang.c:2072
 msgid ""
 "# Part of From field to display in group and thread level\n"
 "# Possible values are (the default is marked with *):\n"
@@ -5666,31 +5798,31 @@ msgid ""
 "#   3 = both\n"
 msgstr ""
 
-#: src/lang.c:2025
+#: src/lang.c:2081
 msgid "Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2026
+#: src/lang.c:2082
 msgid "Draw -> instead of highlighted bar"
 msgstr ""
 
-#: src/lang.c:2027
+#: src/lang.c:2083
 msgid "# If ON use -> otherwise highlighted bar for selection\n"
 msgstr ""
 
-#: src/lang.c:2032
+#: src/lang.c:2088
 msgid "Use inverse video for page headers"
 msgstr ""
 
-#: src/lang.c:2033
+#: src/lang.c:2089
 msgid "# If ON use inverse video for page headers at different levels\n"
 msgstr ""
 
-#: src/lang.c:2038
+#: src/lang.c:2094
 msgid "Thread articles by"
 msgstr ""
 
-#: src/lang.c:2039
+#: src/lang.c:2095
 msgid ""
 "# Thread articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -5702,15 +5834,15 @@ msgid ""
 "#   5 = Percentage Match\n"
 msgstr ""
 
-#: src/lang.c:2050
+#: src/lang.c:2106
 msgid "Enter percentage match required to thread together. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2051
+#: src/lang.c:2107
 msgid "Thread percentage match"
 msgstr ""
 
-#: src/lang.c:2053
+#: src/lang.c:2109
 #, no-c-format
 msgid ""
 "# Thread percentage match...\n"
@@ -5725,11 +5857,11 @@ msgid ""
 "# 'harppy' would be threaded separately from 'happy'\n"
 msgstr ""
 
-#: src/lang.c:2065
+#: src/lang.c:2121
 msgid "Score of a thread"
 msgstr ""
 
-#: src/lang.c:2066
+#: src/lang.c:2122
 msgid ""
 "# Thread score\n"
 "# Possible values are (the default is marked with *):\n"
@@ -5738,16 +5870,16 @@ msgid ""
 "#   2 = average\n"
 msgstr ""
 
-#: src/lang.c:2074
+#: src/lang.c:2130
 msgid ""
 "Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2075
+#: src/lang.c:2131
 msgid "Sort articles by"
 msgstr ""
 
-#: src/lang.c:2076
+#: src/lang.c:2132
 msgid ""
 "# Sort articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -5764,15 +5896,15 @@ msgid ""
 "#  10 = Lines ascending\n"
 msgstr ""
 
-#: src/lang.c:2092
+#: src/lang.c:2148
 msgid "Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2093
+#: src/lang.c:2149
 msgid "Sort threads by"
 msgstr ""
 
-#: src/lang.c:2094
+#: src/lang.c:2150
 msgid ""
 "# Sort thread by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -5783,44 +5915,44 @@ msgid ""
 "#   4 = Last posting date ascending\n"
 msgstr ""
 
-#: src/lang.c:2104
+#: src/lang.c:2160
 msgid ""
 "Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2105
+#: src/lang.c:2161
 msgid "Go to first unread article in group"
 msgstr ""
 
-#: src/lang.c:2106
+#: src/lang.c:2162
 msgid "# If ON put cursor at first unread art in group otherwise last art\n"
 msgstr ""
 
-#: src/lang.c:2110
+#: src/lang.c:2166
 msgid "Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2111
+#: src/lang.c:2167
 msgid "Show only unread articles"
 msgstr ""
 
-#: src/lang.c:2112
+#: src/lang.c:2168
 msgid "# If ON show only new/unread articles otherwise show all.\n"
 msgstr ""
 
-#: src/lang.c:2117
+#: src/lang.c:2173
 msgid "Show only groups with unread arts"
 msgstr ""
 
-#: src/lang.c:2118
+#: src/lang.c:2174
 msgid "# If ON show only subscribed to groups that contain unread articles.\n"
 msgstr ""
 
-#: src/lang.c:2123
+#: src/lang.c:2179
 msgid "Filter which articles"
 msgstr ""
 
-#: src/lang.c:2124
+#: src/lang.c:2180
 msgid ""
 "# Filter which articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -5829,11 +5961,11 @@ msgid ""
 "#   2 = kill all articles and never show them\n"
 msgstr ""
 
-#: src/lang.c:2133
+#: src/lang.c:2189
 msgid "Go to the next unread article with"
 msgstr ""
 
-#: src/lang.c:2134
+#: src/lang.c:2190
 msgid ""
 "# Go to the unread article with following key(s)\n"
 "# Possible values are (the default is marked with *):\n"
@@ -5843,11 +5975,11 @@ msgid ""
 "#   3 = PAGE DOWN or TAB\n"
 msgstr ""
 
-#: src/lang.c:2144
+#: src/lang.c:2200
 msgid "How to treat blank lines"
 msgstr ""
 
-#: src/lang.c:2145
+#: src/lang.c:2201
 msgid ""
 "# Trim the article body, remove unnecessary blank lines.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -5864,11 +5996,11 @@ msgid ""
 "#       leading and trailing blank lines\n"
 msgstr ""
 
-#: src/lang.c:2162
+#: src/lang.c:2218
 msgid "Show help/mail sign in level titles"
 msgstr ""
 
-#: src/lang.c:2163
+#: src/lang.c:2219
 msgid ""
 "# Show help sign, new mail sign, both or nothing in level titles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -5878,168 +6010,168 @@ msgid ""
 "# * 3 = Show mail sign if new mail has arrived else show help sign\n"
 msgstr ""
 
-#: src/lang.c:2173
+#: src/lang.c:2229
 msgid "List thread using right arrow key"
 msgstr ""
 
-#: src/lang.c:2174
+#: src/lang.c:2230
 msgid ""
 "# If ON automatically list thread when entering it using right arrow key.\n"
 msgstr ""
 
-#: src/lang.c:2178
+#: src/lang.c:2234
 msgid "Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2179
+#: src/lang.c:2235
 msgid "Character to show deleted articles"
 msgstr ""
 
-#: src/lang.c:2180
+#: src/lang.c:2236
 msgid ""
 "# Character used to show that an art was deleted (default 'D')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2185
+#: src/lang.c:2241
 msgid ""
 "Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2186
+#: src/lang.c:2242
 msgid "Character to show inrange articles"
 msgstr ""
 
-#: src/lang.c:2187
+#: src/lang.c:2243
 msgid ""
 "# Character used to show that an art is in a range (default '#')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2192
+#: src/lang.c:2248
 msgid ""
 "Enter character to indicate that article will return. <CR> sets, <ESC> "
 "cancels."
 msgstr ""
 
-#: src/lang.c:2193
+#: src/lang.c:2249
 msgid "Character to show returning arts"
 msgstr ""
 
-#: src/lang.c:2194
+#: src/lang.c:2250
 msgid ""
 "# Character used to show that an art will return (default '-')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2199
+#: src/lang.c:2255
 msgid ""
 "Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2200
+#: src/lang.c:2256
 msgid "Character to show selected articles"
 msgstr ""
 
-#: src/lang.c:2201
+#: src/lang.c:2257
 msgid ""
 "# Character used to show that an art was auto-selected (default '*')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2206
+#: src/lang.c:2262
 msgid "Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2207
+#: src/lang.c:2263
 msgid "Character to show recent articles"
 msgstr ""
 
-#: src/lang.c:2208
+#: src/lang.c:2264
 msgid ""
 "# Character used to show that an art is recent (default 'o')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2213
+#: src/lang.c:2269
 msgid "Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2214
+#: src/lang.c:2270
 msgid "Character to show unread articles"
 msgstr ""
 
-#: src/lang.c:2215
+#: src/lang.c:2271
 msgid ""
 "# Character used to show that an art is unread (default '+')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2220
+#: src/lang.c:2276
 msgid "Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2221
+#: src/lang.c:2277
 msgid "Character to show read articles"
 msgstr ""
 
-#: src/lang.c:2222
+#: src/lang.c:2278
 msgid ""
 "# Character used to show that an art was read (default ' ')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2227
+#: src/lang.c:2283
 msgid "Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2228
+#: src/lang.c:2284
 msgid "Character to show killed articles"
 msgstr ""
 
-#: src/lang.c:2229
+#: src/lang.c:2285
 msgid ""
 "# Character used to show that an art was killed (default 'K')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2234
+#: src/lang.c:2290
 msgid ""
 "Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2235
+#: src/lang.c:2291
 msgid "Character to show readselected arts"
 msgstr ""
 
-#: src/lang.c:2236
+#: src/lang.c:2292
 msgid ""
 "# Character used to show that an art was selected before read (default ':')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:2242
+#: src/lang.c:2298
 msgid "Abbreviate long newsgroup names"
 msgstr ""
 
-#: src/lang.c:2243
+#: src/lang.c:2299
 msgid ""
 "# If ON abbreviate (if necessary) long newsgroup names at group selection\n"
 "# level and article level like this:\n"
 "#   news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n"
 msgstr ""
 
-#: src/lang.c:2249
+#: src/lang.c:2305
 msgid ""
 "0 = full page scrolling, -1 = show previous last line as first on next page, "
 "-2 = half page"
 msgstr ""
 
-#: src/lang.c:2250
+#: src/lang.c:2306
 msgid "Number of lines to scroll in pager"
 msgstr ""
 
-#: src/lang.c:2251
+#: src/lang.c:2307
 msgid ""
 "# Number of lines that cursor-up/down will scroll in article pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6050,52 +6182,52 @@ msgid ""
 "#   2 or greater = scroll by 2 or more lines (only in the pager)\n"
 msgstr ""
 
-#: src/lang.c:2261
+#: src/lang.c:2317
 msgid "Display signatures. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2262
+#: src/lang.c:2318
 msgid "Display signatures"
 msgstr ""
 
-#: src/lang.c:2263
+#: src/lang.c:2319
 msgid "# If OFF don't show signatures when displaying articles\n"
 msgstr ""
 
-#: src/lang.c:2267
+#: src/lang.c:2323
 msgid "Display article score. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2268
-msgid "Display article score"
+#: src/lang.c:2324
+msgid "Display article score in pager"
 msgstr ""
 
-#: src/lang.c:2269
+#: src/lang.c:2325
 msgid "# If ON show article score when displaying articles\n"
 msgstr ""
 
-#: src/lang.c:2274
+#: src/lang.c:2330
 msgid "Remove soft hyphens. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2275
+#: src/lang.c:2331
 msgid "Remove soft hyphens"
 msgstr ""
 
-#: src/lang.c:2276
+#: src/lang.c:2332
 msgid "# If ON remove soft hyphens when displaying articles\n"
 msgstr ""
 
-#: src/lang.c:2281
+#: src/lang.c:2337
 msgid ""
 "Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2282
+#: src/lang.c:2338
 msgid "Display uue data as an attachment"
 msgstr ""
 
-#: src/lang.c:2283
+#: src/lang.c:2339
 msgid ""
 "# Handling of uuencoded data in the pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6107,30 +6239,30 @@ msgid ""
 "#       be folded into a tag line.\n"
 msgstr ""
 
-#: src/lang.c:2293
+#: src/lang.c:2349
 msgid ""
 "Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2294
+#: src/lang.c:2350
 msgid "Display \"a as Umlaut-a"
 msgstr ""
 
-#: src/lang.c:2295
+#: src/lang.c:2351
 msgid ""
 "# If ON decode German style TeX umlaut codes to ISO and\n"
 "# show \"a as Umlaut-a, etc.\n"
 msgstr ""
 
-#: src/lang.c:2300 src/lang.c:2310
+#: src/lang.c:2356 src/lang.c:2366
 msgid "Space separated list of header fields"
 msgstr ""
 
-#: src/lang.c:2301
+#: src/lang.c:2357
 msgid "Display these header fields (or *)"
 msgstr ""
 
-#: src/lang.c:2302
+#: src/lang.c:2358
 msgid ""
 "# Which news headers you wish to see. If you want to see _all_ the headers,\n"
 "# place an '*' as this value. This is the only way a wildcard can be used.\n"
@@ -6140,11 +6272,11 @@ msgid ""
 "# spaces. Not defining anything turns off this option.\n"
 msgstr ""
 
-#: src/lang.c:2311
+#: src/lang.c:2367
 msgid "Do not display these header fields"
 msgstr ""
 
-#: src/lang.c:2312
+#: src/lang.c:2368
 msgid ""
 "# Same as 'news_headers_to_display' except it denotes the opposite.\n"
 "# An example of using both options might be if you thought X- headers were\n"
@@ -6156,230 +6288,230 @@ msgid ""
 "# Not defining anything turns off this option.\n"
 msgstr ""
 
-#: src/lang.c:2322
+#: src/lang.c:2378
 msgid ""
 "Do you want to enable automatic handling of multipart/alternative articles?"
 msgstr ""
 
-#: src/lang.c:2323
+#: src/lang.c:2379
 msgid "Skip multipart/alternative parts"
 msgstr ""
 
-#: src/lang.c:2324
+#: src/lang.c:2380
 msgid "# If ON strip multipart/alternative messages automatically\n"
 msgstr ""
 
-#: src/lang.c:2328
+#: src/lang.c:2384
 msgid "Enable detection of verbatim blocks? <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2329
+#: src/lang.c:2385
 msgid "Detection of verbatim blocks"
 msgstr ""
 
-#: src/lang.c:2330
+#: src/lang.c:2386
 msgid "# If ON detect verbatim blocks in articles\n"
 msgstr ""
 
-#: src/lang.c:2335
+#: src/lang.c:2391
 msgid "A regex used to decide which lines to show in col_quote."
 msgstr ""
 
-#: src/lang.c:2336
+#: src/lang.c:2392
 msgid "Regex used to show quoted lines"
 msgstr ""
 
-#: src/lang.c:2337
+#: src/lang.c:2393
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2343
+#: src/lang.c:2399
 msgid "A regex used to decide which lines to show in col_quote2."
 msgstr ""
 
-#: src/lang.c:2344
+#: src/lang.c:2400
 msgid "Regex used to show twice quoted l."
 msgstr ""
 
-#: src/lang.c:2345
+#: src/lang.c:2401
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted twice. Twice quoted lines are shown in col_quote2.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2351
+#: src/lang.c:2407
 msgid "A regex used to decide which lines to show in col_quote3."
 msgstr ""
 
-#: src/lang.c:2352
+#: src/lang.c:2408
 msgid "Regex used to show >= 3 times q.l."
 msgstr ""
 
-#: src/lang.c:2353
+#: src/lang.c:2409
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2359
+#: src/lang.c:2415
 msgid "Enable detection of external quotes? <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2360
+#: src/lang.c:2416
 msgid "Detection of external quotes"
 msgstr ""
 
-#: src/lang.c:2361
+#: src/lang.c:2417
 msgid "# If ON detect quoted text from external sources in articles\n"
 msgstr ""
 
-#: src/lang.c:2365
+#: src/lang.c:2421
 msgid "A regex used to decide which lines to show in col_extquote."
 msgstr ""
 
-#: src/lang.c:2366
+#: src/lang.c:2422
 msgid "Regex used to show quotes from external sources"
 msgstr ""
 
-#: src/lang.c:2367
+#: src/lang.c:2423
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# external quotes. Text from external quotes is shown in col_extquote.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2374
+#: src/lang.c:2430
 msgid "A regex used to decide which words to show in col_markslashes."
 msgstr ""
 
-#: src/lang.c:2375
+#: src/lang.c:2431
 msgid "Regex used to highlight /slashes/"
 msgstr ""
 
-#: src/lang.c:2376
+#: src/lang.c:2432
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '/' are to be shown in col_markslashes.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2382
+#: src/lang.c:2438
 msgid "A regex used to decide which words to show in col_markstars."
 msgstr ""
 
-#: src/lang.c:2383
+#: src/lang.c:2439
 msgid "Regex used to highlight *stars*"
 msgstr ""
 
-#: src/lang.c:2384
+#: src/lang.c:2440
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '*' are to be shown in col_markstars.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2390
+#: src/lang.c:2446
 msgid "A regex used to decide which words to show in col_markstroke."
 msgstr ""
 
-#: src/lang.c:2391
+#: src/lang.c:2447
 msgid "Regex used to highlight -strokes-"
 msgstr ""
 
-#: src/lang.c:2392
+#: src/lang.c:2448
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '-' are to be shown in col_markstroke.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2398
+#: src/lang.c:2454
 msgid "A regex used to decide which words to show in col_markdash."
 msgstr ""
 
-#: src/lang.c:2399
+#: src/lang.c:2455
 msgid "Regex used to highlight _underline_"
 msgstr ""
 
-#: src/lang.c:2400
+#: src/lang.c:2456
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '_' are to be shown in col_markdash.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:2406
+#: src/lang.c:2462
 msgid "A regex used to find Subject prefixes to remove.  Use '|' as separator."
 msgstr ""
 
-#: src/lang.c:2407
+#: src/lang.c:2463
 msgid "Regex with Subject prefixes"
 msgstr ""
 
-#: src/lang.c:2408
+#: src/lang.c:2464
 msgid ""
 "# A regular expression that tin will use to find Subject prefixes\n"
 "# which will be removed before showing the header.\n"
 msgstr ""
 
-#: src/lang.c:2413
+#: src/lang.c:2469
 msgid "A regex used to find Subject suffixes to remove.  Use '|' as separator."
 msgstr ""
 
-#: src/lang.c:2414
+#: src/lang.c:2470
 msgid "Regex with Subject suffixes"
 msgstr ""
 
-#: src/lang.c:2415
+#: src/lang.c:2471
 msgid ""
 "# A regular expression that tin will use to find Subject suffixes\n"
 "# which will be removed when replying or posting followup.\n"
 msgstr ""
 
-#: src/lang.c:2420
+#: src/lang.c:2476
 msgid "A regex used to find the begin of a verbatim block."
 msgstr ""
 
-#: src/lang.c:2421
+#: src/lang.c:2477
 msgid "Regex for begin of a verbatim block"
 msgstr ""
 
-#: src/lang.c:2422
+#: src/lang.c:2478
 msgid ""
 "# A regular expression that tin will use to find the begin of\n"
 "# a verbatim block.\n"
 msgstr ""
 
-#: src/lang.c:2427
+#: src/lang.c:2483
 msgid "A regex used to find the end of a verbatim block."
 msgstr ""
 
-#: src/lang.c:2428
+#: src/lang.c:2484
 msgid "Regex for end of a verbatim block"
 msgstr ""
 
-#: src/lang.c:2429
+#: src/lang.c:2485
 msgid ""
 "# A regular expression that tin will use to find the end of\n"
 "# a verbatim block.\n"
 msgstr ""
 
-#: src/lang.c:2434
+#: src/lang.c:2490
 msgid ""
 "Enter name and options for external MIME viewer, --internal for built-in "
 "viewer"
 msgstr ""
 
-#: src/lang.c:2435
+#: src/lang.c:2491
 msgid "MIME binary content viewer"
 msgstr ""
 
-#: src/lang.c:2436
+#: src/lang.c:2492
 msgid ""
 "# If --internal automatically use the built in MIME viewer for non-text\n"
 "# parts of articles.\n"
@@ -6388,49 +6520,49 @@ msgid ""
 "# for no automatic viewing\n"
 msgstr ""
 
-#: src/lang.c:2443
+#: src/lang.c:2499
 msgid "Confirm before starting non-text viewing program"
 msgstr ""
 
-#: src/lang.c:2444
+#: src/lang.c:2500
 msgid "Ask before using MIME viewer"
 msgstr ""
 
-#: src/lang.c:2445
+#: src/lang.c:2501
 msgid ""
 "# If ON tin will ask before using metamail to display MIME messages\n"
 "# this only happens if metamail_prog is set to something\n"
 msgstr ""
 
-#: src/lang.c:2450
+#: src/lang.c:2506
 msgid "Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2451
+#: src/lang.c:2507
 msgid "Catchup read groups when quitting"
 msgstr ""
 
-#: src/lang.c:2452
+#: src/lang.c:2508
 msgid "# If ON ask user if read groups should all be marked read\n"
 msgstr ""
 
-#: src/lang.c:2457
+#: src/lang.c:2513
 msgid "Catchup group using left key"
 msgstr ""
 
-#: src/lang.c:2458
+#: src/lang.c:2514
 msgid "# If ON catchup group/thread when leaving with the left arrow key.\n"
 msgstr ""
 
-#: src/lang.c:2463
+#: src/lang.c:2519
 msgid "Catchup thread by using left key"
 msgstr ""
 
-#: src/lang.c:2469
+#: src/lang.c:2525
 msgid "Which actions require confirmation"
 msgstr ""
 
-#: src/lang.c:2470
+#: src/lang.c:2526
 msgid ""
 "# What should we ask confirmation for.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6444,79 +6576,79 @@ msgid ""
 "#   7 = commands & quit & select\n"
 msgstr ""
 
-#: src/lang.c:2484
+#: src/lang.c:2540
 msgid "'Mark as (un)read' ignores tags"
 msgstr ""
 
-#: src/lang.c:2485
+#: src/lang.c:2541
 msgid ""
 "# If ON the 'Mark as (un)read' function marks only the current article.\n"
 msgstr ""
 
-#: src/lang.c:2489
+#: src/lang.c:2545
 msgid "Program to run to open URLs, <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2490
+#: src/lang.c:2546
 msgid "Program that opens URLs"
 msgstr ""
 
-#: src/lang.c:2491
+#: src/lang.c:2547
 msgid "# The program used to open URLs. The actual URL will be appended\n"
 msgstr ""
 
-#: src/lang.c:2496
+#: src/lang.c:2552
 msgid "Use mouse in xterm"
 msgstr ""
 
-#: src/lang.c:2497
+#: src/lang.c:2553
 msgid "# If ON enable mouse button support on xterm terminals\n"
 msgstr ""
 
-#: src/lang.c:2503
+#: src/lang.c:2559
 msgid "Use scroll keys on keypad"
 msgstr ""
 
-#: src/lang.c:2504
+#: src/lang.c:2560
 msgid "# If ON enable scroll keys on terminals that support it\n"
 msgstr ""
 
-#: src/lang.c:2509
+#: src/lang.c:2565
 msgid "Enter maximum number of article to get. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2510
+#: src/lang.c:2566
 msgid "Number of articles to get"
 msgstr ""
 
-#: src/lang.c:2511
+#: src/lang.c:2567
 msgid ""
 "# Number of articles to get (0=no limit), if negative sets maximum number\n"
 "# of already read articles to be read before first unread one\n"
 msgstr ""
 
-#: src/lang.c:2516
+#: src/lang.c:2572
 msgid "Enter number of days article is considered recent. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2517
+#: src/lang.c:2573
 msgid "Article recentness time limit"
 msgstr ""
 
-#: src/lang.c:2518
+#: src/lang.c:2574
 msgid "# Number of days in which article is considered recent, (0=OFF)\n"
 msgstr ""
 
-#: src/lang.c:2522
+#: src/lang.c:2578
 msgid ""
 "WILDMAT for normal wildcards, REGEX for full regular expression matching."
 msgstr ""
 
-#: src/lang.c:2523
+#: src/lang.c:2579
 msgid "Wildcard matching"
 msgstr ""
 
-#: src/lang.c:2524
+#: src/lang.c:2580
 msgid ""
 "# Wildcard matching\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6524,347 +6656,347 @@ msgid ""
 "#   1 = regex\n"
 msgstr ""
 
-#: src/lang.c:2531
+#: src/lang.c:2587
 msgid "Enter minimal score before an article is marked killed. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2532
+#: src/lang.c:2588
 msgid "Score limit (kill)"
 msgstr ""
 
-#: src/lang.c:2533
+#: src/lang.c:2589
 msgid "# Score limit before an article is marked killed\n"
 msgstr ""
 
-#: src/lang.c:2537
+#: src/lang.c:2593
 msgid "Enter default score to kill articles. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2538
+#: src/lang.c:2594
 msgid "Default score to kill articles"
 msgstr ""
 
-#: src/lang.c:2539
+#: src/lang.c:2595
 msgid "# Default score to kill articles\n"
 msgstr ""
 
-#: src/lang.c:2543
+#: src/lang.c:2599
 msgid "Enter minimal score before an article is marked hot. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2544
+#: src/lang.c:2600
 msgid "Score limit (select)"
 msgstr ""
 
-#: src/lang.c:2545
+#: src/lang.c:2601
 msgid "# Score limit before an article is marked hot\n"
 msgstr ""
 
-#: src/lang.c:2549
+#: src/lang.c:2605
 msgid "Enter default score to select articles. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2550
+#: src/lang.c:2606
 msgid "Default score to select articles"
 msgstr ""
 
-#: src/lang.c:2551
+#: src/lang.c:2607
 msgid "# Default score to select articles\n"
 msgstr ""
 
-#: src/lang.c:2557
+#: src/lang.c:2613
 msgid "Use slrnface to show ''X-Face:''s"
 msgstr ""
 
-#: src/lang.c:2558
+#: src/lang.c:2614
 msgid ""
 "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 "# Only useful when running in an xterm.\n"
 msgstr ""
 
-#: src/lang.c:2566
+#: src/lang.c:2622
 msgid "Use ANSI color"
 msgstr ""
 
-#: src/lang.c:2567
+#: src/lang.c:2623
 msgid "# If ON using ANSI-color\n"
 msgstr ""
 
-#: src/lang.c:2572
+#: src/lang.c:2628
 msgid "Standard foreground color"
 msgstr ""
 
-#: src/lang.c:2573
+#: src/lang.c:2629
 msgid ""
 "# Standard foreground color\n"
 "# Default: -1 (default color)\n"
 msgstr ""
 
-#: src/lang.c:2579
+#: src/lang.c:2635
 msgid "Standard background color"
 msgstr ""
 
-#: src/lang.c:2580
+#: src/lang.c:2636
 msgid ""
 "# Standard background color\n"
 "# Default: -1 (default color)\n"
 msgstr ""
 
-#: src/lang.c:2586
+#: src/lang.c:2642
 msgid "Color for inverse text (background)"
 msgstr ""
 
-#: src/lang.c:2587
+#: src/lang.c:2643
 msgid ""
 "# Color of background for inverse text\n"
 "# Default: 4 (blue)\n"
 msgstr ""
 
-#: src/lang.c:2593
+#: src/lang.c:2649
 msgid "Color for inverse text (foreground)"
 msgstr ""
 
-#: src/lang.c:2594
+#: src/lang.c:2650
 msgid ""
 "# Color of foreground for inverse text\n"
 "# Default: 7 (white)\n"
 msgstr ""
 
-#: src/lang.c:2600
+#: src/lang.c:2656
 msgid "Color of text lines"
 msgstr ""
 
-#: src/lang.c:2601
+#: src/lang.c:2657
 msgid ""
 "# Color of text lines\n"
 "# Default: -1 (default color)\n"
 msgstr ""
 
-#: src/lang.c:2607
+#: src/lang.c:2663
 msgid "Color of mini help menu"
 msgstr ""
 
-#: src/lang.c:2608
+#: src/lang.c:2664
 msgid ""
 "# Color of mini help menu\n"
 "# Default: 3 (brown)\n"
 msgstr ""
 
-#: src/lang.c:2614
+#: src/lang.c:2670
 msgid "Color of help text"
 msgstr ""
 
-#: src/lang.c:2615
+#: src/lang.c:2671
 msgid ""
 "# Color of help pages\n"
 "# Default: -1 (default color)\n"
 msgstr ""
 
-#: src/lang.c:2621
+#: src/lang.c:2677
 msgid "Color of status messages"
 msgstr ""
 
-#: src/lang.c:2622
+#: src/lang.c:2678
 msgid ""
 "# Color of messages in last line\n"
 "# Default: 6 (cyan)\n"
 msgstr ""
 
-#: src/lang.c:2628
+#: src/lang.c:2684
 msgid "Color of quoted lines"
 msgstr ""
 
-#: src/lang.c:2629
+#: src/lang.c:2685
 msgid ""
 "# Color of quote-lines\n"
 "# Default: 2 (green)\n"
 msgstr ""
 
-#: src/lang.c:2635
+#: src/lang.c:2691
 msgid "Color of twice quoted line"
 msgstr ""
 
-#: src/lang.c:2636
+#: src/lang.c:2692
 msgid ""
 "# Color of twice quoted lines\n"
 "# Default: 3 (brown)\n"
 msgstr ""
 
-#: src/lang.c:2642
+#: src/lang.c:2698
 msgid "Color of =>3 times quoted line"
 msgstr ""
 
-#: src/lang.c:2643
+#: src/lang.c:2699
 msgid ""
 "# Color of >=3 times quoted lines\n"
 "# Default: 4 (blue)\n"
 msgstr ""
 
-#: src/lang.c:2649
+#: src/lang.c:2705
 msgid "Color of article header lines"
 msgstr ""
 
-#: src/lang.c:2650
+#: src/lang.c:2706
 msgid ""
 "# Color of header-lines\n"
 "# Default: 2 (green)\n"
 msgstr ""
 
-#: src/lang.c:2656
+#: src/lang.c:2712
 msgid "Color of actual news header fields"
 msgstr ""
 
-#: src/lang.c:2657
+#: src/lang.c:2713
 msgid ""
 "# Color of actual news header fields\n"
 "# Default: 9 (light red)\n"
 msgstr ""
 
-#: src/lang.c:2663
+#: src/lang.c:2719
 msgid "Color of article subject lines"
 msgstr ""
 
-#: src/lang.c:2664
+#: src/lang.c:2720
 msgid ""
 "# Color of article subject\n"
 "# Default: 6 (cyan)\n"
 msgstr ""
 
-#: src/lang.c:2670
+#: src/lang.c:2726
 msgid "Color of external quotes"
 msgstr ""
 
-#: src/lang.c:2671
+#: src/lang.c:2727
 msgid ""
 "# Color of quoted text from external sources\n"
 "# Default: 5 (pink)\n"
 msgstr ""
 
-#: src/lang.c:2677
+#: src/lang.c:2733
 msgid "Color of response counter"
 msgstr ""
 
-#: src/lang.c:2678
+#: src/lang.c:2734
 msgid ""
 "# Color of response counter\n"
 "# Default: 2 (green)\n"
 msgstr ""
 
-#: src/lang.c:2684
+#: src/lang.c:2740
 msgid "Color of sender (From:)"
 msgstr ""
 
-#: src/lang.c:2685
+#: src/lang.c:2741
 msgid ""
 "# Color of sender (From:)\n"
 "# Default: 2 (green)\n"
 msgstr ""
 
-#: src/lang.c:2691
+#: src/lang.c:2747
 msgid "Color of help/mail sign"
 msgstr ""
 
-#: src/lang.c:2692
+#: src/lang.c:2748
 msgid ""
 "# Color of Help/Mail-Sign\n"
 "# Default: 4 (blue)\n"
 msgstr ""
 
-#: src/lang.c:2698
+#: src/lang.c:2754
 msgid "Color of signatures"
 msgstr ""
 
-#: src/lang.c:2699
+#: src/lang.c:2755
 msgid ""
 "# Color of signature\n"
 "# Default: 4 (blue)\n"
 msgstr ""
 
-#: src/lang.c:2705
+#: src/lang.c:2761
 msgid "Color of negative score"
 msgstr ""
 
-#: src/lang.c:2706
+#: src/lang.c:2762
 msgid ""
 "# Color of negative score\n"
 "# Default: 1 (red)\n"
 msgstr ""
 
-#: src/lang.c:2712
+#: src/lang.c:2768
 msgid "Color of positive score"
 msgstr ""
 
-#: src/lang.c:2713
+#: src/lang.c:2769
 msgid ""
 "# Color of positive score\n"
 "# Default: 2 (green)\n"
 msgstr ""
 
-#: src/lang.c:2719
+#: src/lang.c:2775
 msgid "Color of highlighted URLs"
 msgstr ""
 
-#: src/lang.c:2720
+#: src/lang.c:2776
 msgid ""
 "# Color of highlighted URLs\n"
 "# Default: -1 (default color)\n"
 msgstr ""
 
-#: src/lang.c:2726
+#: src/lang.c:2782
 msgid "Color of verbatim blocks"
 msgstr ""
 
-#: src/lang.c:2727
+#: src/lang.c:2783
 msgid ""
 "# Color of verbatim blocks\n"
 "# Default: 5 (pink)\n"
 msgstr ""
 
-#: src/lang.c:2733
+#: src/lang.c:2789
 msgid "Color of highlighting with *stars*"
 msgstr ""
 
-#: src/lang.c:2734
+#: src/lang.c:2790
 msgid ""
 "# Color of word highlighting with *stars*\n"
 "# Default: 11 (yellow)\n"
 msgstr ""
 
-#: src/lang.c:2740
+#: src/lang.c:2796
 msgid "Color of highlighting with _dash_"
 msgstr ""
 
-#: src/lang.c:2741
+#: src/lang.c:2797
 msgid ""
 "# Color of word highlighting with _dash_\n"
 "# Default: 13 (light pink)\n"
 msgstr ""
 
-#: src/lang.c:2747
+#: src/lang.c:2803
 msgid "Color of highlighting with /slash/"
 msgstr ""
 
-#: src/lang.c:2748
+#: src/lang.c:2804
 msgid ""
 "# Color of word highlighting with /slash/\n"
 "# Default: 14 (light cyan)\n"
 msgstr ""
 
-#: src/lang.c:2754
+#: src/lang.c:2810
 msgid "Color of highlighting with -stroke-"
 msgstr ""
 
-#: src/lang.c:2755
+#: src/lang.c:2811
 msgid ""
 "# Color of word highlighting with -stroke-\n"
 "# Default: 12 (light blue)\n"
 msgstr ""
 
-#: src/lang.c:2762
+#: src/lang.c:2818
 msgid "Attr. of highlighting with *stars*"
 msgstr ""
 
-#: src/lang.c:2763
+#: src/lang.c:2819
 msgid ""
 "# Attributes of word highlighting on mono terminals\n"
 "# Possible values are:\n"
@@ -6880,57 +7012,57 @@ msgid ""
 "# Default: 6 (bold)\n"
 msgstr ""
 
-#: src/lang.c:2778
+#: src/lang.c:2834
 msgid "Attr. of highlighting with _dash_"
 msgstr ""
 
-#: src/lang.c:2779
+#: src/lang.c:2835
 msgid ""
 "# Attribute of word highlighting with _dash_\n"
 "# Default: 2 (best highlighting)\n"
 msgstr ""
 
-#: src/lang.c:2785
+#: src/lang.c:2841
 msgid "Attr. of highlighting with /slash/"
 msgstr ""
 
-#: src/lang.c:2786
+#: src/lang.c:2842
 msgid ""
 "# Attribute of word highlighting with /slash/\n"
 "# Default: 5 (half bright)\n"
 msgstr ""
 
-#: src/lang.c:2792
+#: src/lang.c:2848
 msgid "Attr. of highlighting with -stroke-"
 msgstr ""
 
-#: src/lang.c:2793
+#: src/lang.c:2849
 msgid ""
 "# Attribute of word highlighting with -stroke-\n"
 "# Default: 3 (reverse video)\n"
 msgstr ""
 
-#: src/lang.c:2799
+#: src/lang.c:2855
 msgid "URL highlighting in message body"
 msgstr ""
 
-#: src/lang.c:2800
+#: src/lang.c:2856
 msgid "# Enable URL highlighting?\n"
 msgstr ""
 
-#: src/lang.c:2805
+#: src/lang.c:2861
 msgid "Word highlighting in message body"
 msgstr ""
 
-#: src/lang.c:2806
+#: src/lang.c:2862
 msgid "# Enable word highlighting?\n"
 msgstr ""
 
-#: src/lang.c:2811
+#: src/lang.c:2867
 msgid "What to display instead of mark"
 msgstr ""
 
-#: src/lang.c:2812
+#: src/lang.c:2868
 msgid ""
 "# Should the leading and ending stars and dashes also be displayed,\n"
 "# even when they are highlighting marks?\n"
@@ -6940,56 +7072,69 @@ msgid ""
 "# * 2 = print a space instead\n"
 msgstr ""
 
-#: src/lang.c:2821
+#: src/lang.c:2877
 msgid "Enter column number to wrap article lines to in the pager. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2822
+#: src/lang.c:2878
 msgid "Page line wrap column"
 msgstr ""
 
-#: src/lang.c:2823
+#: src/lang.c:2879
 msgid "# Wrap article lines at column\n"
 msgstr ""
 
-#: src/lang.c:2828
+#: src/lang.c:2883
+msgid ""
+"If ON, don't break words when wrapping lines. <SPACE> toggles & <CR> sets."
+msgstr ""
+
+#: src/lang.c:2884
+msgid "Don't break words when wrapping"
+msgstr ""
+
+#: src/lang.c:2885
+msgid "# Don't break long lines inside a word but on <SPACE> or <TAB>\n"
+msgstr ""
+
+#: src/lang.c:2890
 msgid "Wrap around threads on next unread"
 msgstr ""
 
-#: src/lang.c:2829
+#: src/lang.c:2891
 msgid "# If ON wrap around threads on searching next unread article\n"
 msgstr ""
 
-#: src/lang.c:2833
+#: src/lang.c:2895
 msgid "Enter default mail address (and fullname). <CR> sets."
 msgstr ""
 
-#: src/lang.c:2834 src/lang.c:3405
+#: src/lang.c:2896 src/lang.c:3474
 msgid "Mail address (and fullname)"
 msgstr ""
 
-#: src/lang.c:2835
+#: src/lang.c:2897
 msgid "# User's mail address (and fullname), if not username@host (fullname)\n"
 msgstr ""
 
-#: src/lang.c:2840
+#: src/lang.c:2902
 msgid "Show empty Followup-To in editor"
 msgstr ""
 
-#: src/lang.c:2841
+#: src/lang.c:2903
 msgid "# If ON show empty Followup-To header when editing an article\n"
 msgstr ""
 
-#: src/lang.c:2845
+#: src/lang.c:2907
 msgid ""
 "Enter path/! command/--none to create your default signature. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2846
+#: src/lang.c:2908
 msgid "Create signature from path/command"
 msgstr ""
 
-#: src/lang.c:2847
+#: src/lang.c:2909
 #, c-format
 msgid ""
 "# Signature path (random sigs)/file to be used when posting/replying\n"
@@ -6999,50 +7144,50 @@ msgid ""
 "# sigfile=--none     don't append a signature\n"
 msgstr ""
 
-#: src/lang.c:2855
+#: src/lang.c:2917
 msgid ""
 "Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2856
+#: src/lang.c:2918
 msgid "Prepend signature with \"-- \""
 msgstr ""
 
-#: src/lang.c:2857
+#: src/lang.c:2919
 msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n"
 msgstr ""
 
-#: src/lang.c:2861
+#: src/lang.c:2923
 msgid "Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2862
+#: src/lang.c:2924
 msgid "Add signature when reposting"
 msgstr ""
 
-#: src/lang.c:2863
+#: src/lang.c:2925
 msgid "# If ON add signature to reposted articles\n"
 msgstr ""
 
-#: src/lang.c:2867
+#: src/lang.c:2929
 msgid "Enter quotation marks, %I for author's initials."
 msgstr ""
 
-#: src/lang.c:2868
+#: src/lang.c:2930
 msgid "Characters used as quote-marks"
 msgstr ""
 
-#: src/lang.c:2869
+#: src/lang.c:2931
 msgid ""
 "# Characters used in quoting to followups and replies.\n"
 "# '_' is replaced by ' ', %I is replaced by author's initials.\n"
 msgstr ""
 
-#: src/lang.c:2875
+#: src/lang.c:2937
 msgid "Quoting behavior"
 msgstr ""
 
-#: src/lang.c:2876
+#: src/lang.c:2938
 msgid ""
 "# How quoting should be handled when following up or replying.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7056,52 +7201,52 @@ msgid ""
 "#   7 = Compress quotes, quote signatures, quote empty lines\n"
 msgstr ""
 
-#: src/lang.c:2889 src/lang.c:2897 src/lang.c:2903
+#: src/lang.c:2951 src/lang.c:2959 src/lang.c:2965
 msgid ""
 "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 msgstr ""
 
-#: src/lang.c:2890
+#: src/lang.c:2952
 msgid "Quote line when following up"
 msgstr ""
 
-#: src/lang.c:2891
+#: src/lang.c:2953
 msgid ""
 "# Format of quote line when mailing/posting/following-up an article\n"
 "# %A Address    %D Date   %F Addr+Name   %G Groupname   %M Message-ID\n"
 "# %N Full Name  %C First Name   %I Initials\n"
 msgstr ""
 
-#: src/lang.c:2898
+#: src/lang.c:2960
 msgid "Quote line when cross-posting"
 msgstr ""
 
-#: src/lang.c:2904
+#: src/lang.c:2966
 msgid "Quote line when mailing"
 msgstr ""
 
-#: src/lang.c:2909
+#: src/lang.c:2971
 msgid "If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2910
+#: src/lang.c:2972
 msgid "Insert 'User-Agent:' header"
 msgstr ""
 
-#: src/lang.c:2911
+#: src/lang.c:2973
 msgid "# If ON include advertising User-Agent: header\n"
 msgstr ""
 
-#: src/lang.c:2916
+#: src/lang.c:2978
 msgid ""
 "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 
-#: src/lang.c:2917
+#: src/lang.c:2979
 msgid "MM_CHARSET"
 msgstr ""
 
-#: src/lang.c:2918
+#: src/lang.c:2980
 msgid ""
 "# Charset supported locally which is also used for MIME header and\n"
 "# Content-Type header.\n"
@@ -7111,40 +7256,40 @@ msgid ""
 "# mm_charset is considered not displayable and represented as '?'.\n"
 msgstr ""
 
-#: src/lang.c:2928
+#: src/lang.c:2990
 msgid "MM_NETWORK_CHARSET"
 msgstr ""
 
-#: src/lang.c:2929
+#: src/lang.c:2991
 msgid "# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr ""
 
-#: src/lang.c:2933
+#: src/lang.c:2995
 msgid ""
 "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 
-#: src/lang.c:2934
+#: src/lang.c:2996
 msgid "MM_LOCAL_CHARSET"
 msgstr ""
 
-#: src/lang.c:2935
+#: src/lang.c:2997
 msgid "# Charset supported locally.\n"
 msgstr ""
 
-#: src/lang.c:2942
+#: src/lang.c:3004
 msgid "Mailbox format"
 msgstr ""
 
-#: src/lang.c:2943
+#: src/lang.c:3005
 msgid "# Format of the mailbox.\n"
 msgstr ""
 
-#: src/lang.c:2948
+#: src/lang.c:3010
 msgid "MIME encoding in news messages"
 msgstr ""
 
-#: src/lang.c:2949
+#: src/lang.c:3011
 msgid ""
 "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n"
 "# for mails and posts, if necessary. QP is efficient for most European\n"
@@ -7153,15 +7298,15 @@ msgid ""
 "# Russian charsets with a lot of 8bit characters.\n"
 msgstr ""
 
-#: src/lang.c:2957 src/lang.c:2978
+#: src/lang.c:3019 src/lang.c:3040
 msgid "Don't change unless you know what you are doing. <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2958
+#: src/lang.c:3020
 msgid "Use 8bit characters in news headers"
 msgstr ""
 
-#: src/lang.c:2959
+#: src/lang.c:3021
 msgid ""
 "# If ON, 8bit characters in news headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -7169,28 +7314,28 @@ msgid ""
 "# parameter unless post_mime_encoding is 8bit as well.\n"
 msgstr ""
 
-#: src/lang.c:2966
+#: src/lang.c:3028
 msgid ""
 "Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2967
+#: src/lang.c:3029
 msgid "View post-processed files"
 msgstr ""
 
-#: src/lang.c:2968
+#: src/lang.c:3030
 msgid "# If set, post processed files will be opened in a viewer\n"
 msgstr ""
 
-#: src/lang.c:2973
+#: src/lang.c:3035
 msgid "MIME encoding in mail messages"
 msgstr ""
 
-#: src/lang.c:2979
+#: src/lang.c:3041
 msgid "Use 8bit characters in mail headers"
 msgstr ""
 
-#: src/lang.c:2980
+#: src/lang.c:3042
 msgid ""
 "# If ON, 8bit characters in mail headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -7201,36 +7346,36 @@ msgid ""
 "# turn it ON unless you have some compelling reason.\n"
 msgstr ""
 
-#: src/lang.c:2991
+#: src/lang.c:3053
 msgid "Strip blanks from ends of lines"
 msgstr ""
 
-#: src/lang.c:2992
+#: src/lang.c:3054
 msgid ""
 "# If ON strip blanks from ends of lines for faster display on slow "
 "terminals.\n"
 msgstr ""
 
-#: src/lang.c:2998
+#: src/lang.c:3060
 msgid "If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2999
+#: src/lang.c:3061
 msgid "Transliteration"
 msgstr ""
 
-#: src/lang.c:3000
+#: src/lang.c:3062
 msgid ""
 "# If ON, use //TRANSLIT extension. This means that when a character cannot\n"
 "# be represented in the in the target character set, it can be approximated\n"
 "# through one or several similarly looking characters.\n"
 msgstr ""
 
-#: src/lang.c:3008
+#: src/lang.c:3070
 msgid "Send you a Cc/Bcc automatically"
 msgstr ""
 
-#: src/lang.c:3009
+#: src/lang.c:3071
 msgid ""
 "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7240,113 +7385,113 @@ msgid ""
 "#   3 = Cc and Bcc\n"
 msgstr ""
 
-#: src/lang.c:3020
+#: src/lang.c:3082
 msgid "Hash algorithm for Cancel-Lock/Cancel-Key"
 msgstr ""
 
-#: src/lang.c:3021
+#: src/lang.c:3083
 msgid ""
 "# Hash algorithm for Cancel-Lock/Cancel-Key (default 'sha1')\n"
 "# Use 'none' to not generate Cancel-Lock headers.\n"
 msgstr ""
 
-#: src/lang.c:3027
+#: src/lang.c:3089
 msgid "Enter address elements about which you want to be warned. <CR> sets."
 msgstr ""
 
-#: src/lang.c:3028
+#: src/lang.c:3090
 msgid "Spamtrap warning address parts"
 msgstr ""
 
-#: src/lang.c:3029
+#: src/lang.c:3091
 msgid ""
 "# A comma-delimited list of address-parts you want to be warned\n"
 "# about when trying to reply by email.\n"
 msgstr ""
 
-#: src/lang.c:3034
+#: src/lang.c:3096
 msgid "Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr ""
 
-#: src/lang.c:3035
+#: src/lang.c:3097
 msgid "No. of days a filter entry is valid"
 msgstr ""
 
-#: src/lang.c:3036
+#: src/lang.c:3098
 msgid "# Number of days a short term filter will be active\n"
 msgstr ""
 
-#: src/lang.c:3040
+#: src/lang.c:3102
 msgid "Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:3041
+#: src/lang.c:3103
 msgid "Add posted articles to filter"
 msgstr ""
 
-#: src/lang.c:3042
+#: src/lang.c:3104
 msgid ""
 "# If ON add posted articles which start a new thread to filter for\n"
 "# highlighting follow-ups\n"
 msgstr ""
 
-#: src/lang.c:3046
+#: src/lang.c:3108
 msgid "The directory where articles/threads are to be saved in mailbox format."
 msgstr ""
 
-#: src/lang.c:3047
+#: src/lang.c:3109
 msgid "Mail directory"
 msgstr ""
 
-#: src/lang.c:3048
+#: src/lang.c:3110
 msgid "# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr ""
 
-#: src/lang.c:3053
+#: src/lang.c:3115
 msgid "Save articles in batch mode (-S)"
 msgstr ""
 
-#: src/lang.c:3054
+#: src/lang.c:3116
 msgid ""
 "# If ON articles/threads will be saved in batch mode when save -S\n"
 "# or mail (-M/-N) is specified on the command line\n"
 msgstr ""
 
-#: src/lang.c:3059
+#: src/lang.c:3121
 msgid "The directory where you want articles/threads saved."
 msgstr ""
 
-#: src/lang.c:3060
+#: src/lang.c:3122
 msgid "Directory to save arts/threads in"
 msgstr ""
 
-#: src/lang.c:3061
+#: src/lang.c:3123
 msgid "# Directory where articles/threads are saved\n"
 msgstr ""
 
-#: src/lang.c:3065
+#: src/lang.c:3127
 msgid ""
 "Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 "cancels."
 msgstr ""
 
-#: src/lang.c:3066
+#: src/lang.c:3128
 msgid "Mark saved articles/threads as read"
 msgstr ""
 
-#: src/lang.c:3067
+#: src/lang.c:3129
 msgid "# If ON mark articles that are saved as read\n"
 msgstr ""
 
-#: src/lang.c:3071
+#: src/lang.c:3133
 msgid "Do post processing (e.g. extract attachments) for saved articles."
 msgstr ""
 
-#: src/lang.c:3072
+#: src/lang.c:3134
 msgid "Post process saved articles"
 msgstr ""
 
-#: src/lang.c:3073
+#: src/lang.c:3135
 msgid ""
 "# Perform post processing (saving binary attachments) from saved articles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7355,103 +7500,102 @@ msgid ""
 "#   2 = Yes\n"
 msgstr ""
 
-#: src/lang.c:3082
+#: src/lang.c:3144
 msgid "Process only unread articles"
 msgstr ""
 
-#: src/lang.c:3083
+#: src/lang.c:3145
 msgid ""
 "# If ON only save/print/pipe/mail unread articles (tagged articles "
 "excepted)\n"
 msgstr ""
 
-#: src/lang.c:3088
+#: src/lang.c:3150
 msgid "Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:3089
+#: src/lang.c:3151
 msgid "Print all headers when printing"
 msgstr ""
 
-#: src/lang.c:3090
+#: src/lang.c:3152
 msgid ""
 "# If ON print all of article header otherwise just the important lines\n"
 msgstr ""
 
-#: src/lang.c:3094
+#: src/lang.c:3156
 msgid ""
 "The printer program with options that is to be used to print articles/"
 "threads."
 msgstr ""
 
-#: src/lang.c:3095
+#: src/lang.c:3157
 msgid "Printer program with options"
 msgstr ""
 
-#: src/lang.c:3096
+#: src/lang.c:3158
 msgid "# Print program with parameters used to print articles/threads\n"
 msgstr ""
 
-#: src/lang.c:3102
+#: src/lang.c:3164
 msgid "Force redraw after certain commands"
 msgstr ""
 
-#: src/lang.c:3103
+#: src/lang.c:3165
 msgid ""
 "# If ON a screen redraw will always be done after certain external commands\n"
 msgstr ""
 
-#: src/lang.c:3107
+#: src/lang.c:3169
 msgid "Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr ""
 
-#: src/lang.c:3108
+#: src/lang.c:3170
 msgid "Invocation of your editor"
 msgstr ""
 
-#: src/lang.c:3109
+#: src/lang.c:3171
 msgid ""
 "# Format of editor line including parameters\n"
 "# %E Editor  %F Filename  %N Linenumber\n"
 msgstr ""
 
-#: src/lang.c:3114
+#: src/lang.c:3176
 msgid ""
 "Enter name and options for external-inews, --internal for internal inews"
 msgstr ""
 
-#: src/lang.c:3115
+#: src/lang.c:3177
 msgid "External inews"
 msgstr ""
 
-#: src/lang.c:3116
+#: src/lang.c:3178
 msgid ""
 "# If --internal use the built in mini inews for posting via NNTP\n"
 "# otherwise use an external inews program\n"
 msgstr ""
 
-#: src/lang.c:3120
+#: src/lang.c:3182
 msgid ""
 "Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr ""
 
-#: src/lang.c:3121
+#: src/lang.c:3183
 msgid "Invocation of your mail command"
 msgstr ""
 
-#: src/lang.c:3122
+#: src/lang.c:3184
 msgid ""
 "# Format of mailer line including parameters\n"
-"# %M Mailer  %S Subject  %T To  %F Filename\n"
-"# e.g. to use mutt as your mailer:    mutt -s \"%S\" -- \"%T\" < %F\n"
-"# e.g. mutt interactive          :    mutt -H %F\n"
+"# %M Mailer  %S Subject  %T To  %F Filename  %U Username\n"
+"# e.g. mutt interactive:  mutt -H %F\n"
 msgstr ""
 
-#: src/lang.c:3130
+#: src/lang.c:3191
 msgid "Use interactive mail reader"
 msgstr ""
 
-#: src/lang.c:3131
+#: src/lang.c:3192
 msgid ""
 "# Interactive mailreader\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7460,67 +7604,67 @@ msgid ""
 "#   2 = use interactive mailreader without headers in file\n"
 msgstr ""
 
-#: src/lang.c:3140
+#: src/lang.c:3201
 msgid "Remove ~/.article after posting"
 msgstr ""
 
-#: src/lang.c:3141
+#: src/lang.c:3202
 msgid "# If ON remove ~/.article after posting.\n"
 msgstr ""
 
-#: src/lang.c:3147
+#: src/lang.c:3208
 msgid "Use UTF-8 graphics (thread tree etc.)"
 msgstr ""
 
-#: src/lang.c:3148
+#: src/lang.c:3209
 msgid ""
 "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n"
 msgstr ""
 
-#: src/lang.c:3153
+#: src/lang.c:3214
 msgid "Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr ""
 
-#: src/lang.c:3154
+#: src/lang.c:3215
 msgid "Filename for posted articles"
 msgstr ""
 
-#: src/lang.c:3155
+#: src/lang.c:3216
 msgid ""
 "# Filename where to keep all postings (default posted)\n"
 "# If no filename is set then postings will not be saved\n"
 msgstr ""
 
-#: src/lang.c:3160
+#: src/lang.c:3221
 msgid ""
 "Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:3161
+#: src/lang.c:3222
 msgid "Keep failed arts in ~/dead.articles"
 msgstr ""
 
-#: src/lang.c:3162
+#: src/lang.c:3223
 msgid "# If ON keep all failed postings in ~/dead.articles\n"
 msgstr ""
 
-#: src/lang.c:3166
+#: src/lang.c:3227
 msgid "Do you want to strip unsubscribed groups from .newsrc"
 msgstr ""
 
-#: src/lang.c:3167
+#: src/lang.c:3228
 msgid "No unsubscribed groups in newsrc"
 msgstr ""
 
-#: src/lang.c:3168
+#: src/lang.c:3229
 msgid "# If ON strip unsubscribed groups from newsrc\n"
 msgstr ""
 
-#: src/lang.c:3173
+#: src/lang.c:3234
 msgid "Remove bogus groups from newsrc"
 msgstr ""
 
-#: src/lang.c:3174
+#: src/lang.c:3235
 msgid ""
 "# What to do with bogus groups in newsrc file\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7529,65 +7673,78 @@ msgid ""
 "#   2 = highlight with D on selection screen\n"
 msgstr ""
 
-#: src/lang.c:3183
+#: src/lang.c:3244
 msgid ""
 "Enter number of seconds to wait for a response from the server. <CR> sets."
 msgstr ""
 
-#: src/lang.c:3184
+#: src/lang.c:3245
 msgid "NNTP read timeout in seconds"
 msgstr ""
 
-#: src/lang.c:3185
+#: src/lang.c:3246
 msgid ""
 "# Time in seconds to wait for a response from the server (0=no timeout)\n"
 msgstr ""
 
-#: src/lang.c:3190
+#: src/lang.c:3251
 msgid "Enter number of seconds until active file will be reread. <CR> sets."
 msgstr ""
 
-#: src/lang.c:3191
+#: src/lang.c:3252
 msgid "Interval in secs to reread active"
 msgstr ""
 
-#: src/lang.c:3192
+#: src/lang.c:3253
 msgid ""
 "# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr ""
 
-#: src/lang.c:3197
+#: src/lang.c:3258
 msgid "Reconnect to server automatically"
 msgstr ""
 
-#: src/lang.c:3198
+#: src/lang.c:3259
 msgid ""
 "# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr ""
 
-#: src/lang.c:3202
+#: src/lang.c:3263
 msgid ""
 "Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:3203
+#: src/lang.c:3264
 msgid "Cache NNTP overview files locally"
 msgstr ""
 
-#: src/lang.c:3204
+#: src/lang.c:3265
 msgid "# If ON, create local copies of NNTP overview files.\n"
 msgstr ""
 
-#: src/lang.c:3208 src/lang.c:3223 src/lang.c:3243 src/lang.c:3266
-#: src/lang.c:3291 src/lang.c:3313 src/lang.c:3332
+#: src/lang.c:3270
+msgid ""
+"Compress local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
+msgstr ""
+
+#: src/lang.c:3271
+msgid "Compress locally cached NNTP overview files"
+msgstr ""
+
+#: src/lang.c:3272
+msgid "# If ON, compress local copies of NNTP overview files.\n"
+msgstr ""
+
+#: src/lang.c:3277 src/lang.c:3292 src/lang.c:3312 src/lang.c:3335
+#: src/lang.c:3360 src/lang.c:3382 src/lang.c:3401
 msgid "Enter format string. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3209
+#: src/lang.c:3278
 msgid "Format string for selection level"
 msgstr ""
 
-#: src/lang.c:3210
+#: src/lang.c:3279
 msgid ""
 "# Format string for selection level representation\n"
 "# Default: %f %n %U  %G  %d\n"
@@ -7601,11 +7758,11 @@ msgid ""
 "#   %U              Unread count\n"
 msgstr ""
 
-#: src/lang.c:3224
+#: src/lang.c:3293
 msgid "Format string for group level"
 msgstr ""
 
-#: src/lang.c:3225
+#: src/lang.c:3294
 msgid ""
 "# Format string for group level representation\n"
 "# Default: %n %m %R %L  %s  %F\n"
@@ -7624,11 +7781,11 @@ msgid ""
 "#   %S              Score\n"
 msgstr ""
 
-#: src/lang.c:3244
+#: src/lang.c:3313
 msgid "Format string for attachment level"
 msgstr ""
 
-#: src/lang.c:3245
+#: src/lang.c:3314
 msgid ""
 "# Format string for attachment level representation\n"
 "# Default: %t%s%e%c%d\n"
@@ -7650,11 +7807,11 @@ msgid ""
 "#   %z              Like %Z but with description\n"
 msgstr ""
 
-#: src/lang.c:3267
+#: src/lang.c:3336
 msgid "Format string for display of mime header"
 msgstr ""
 
-#: src/lang.c:3268
+#: src/lang.c:3337
 msgid ""
 "# Format string for mime header at article level\n"
 "# Default: [-- %T%S%*n%z%*l%!c%!d%*e --]\n"
@@ -7678,11 +7835,11 @@ msgid ""
 "#   %z              Like %Z but with description\n"
 msgstr ""
 
-#: src/lang.c:3292
+#: src/lang.c:3361
 msgid "Format string for display of uue header"
 msgstr ""
 
-#: src/lang.c:3293
+#: src/lang.c:3362
 msgid ""
 "# Format string for uue header at article level\n"
 "# Default: [-- %T%S%*n%I%!d%*e --]\n"
@@ -7703,11 +7860,11 @@ msgid ""
 "#   %z              Like %Z but with description\n"
 msgstr ""
 
-#: src/lang.c:3314
+#: src/lang.c:3383
 msgid "Format string for thread level"
 msgstr ""
 
-#: src/lang.c:3315
+#: src/lang.c:3384
 msgid ""
 "# Format string for thread level representation\n"
 "# Default: %n %m  [%L]  %T  %F\n"
@@ -7725,19 +7882,19 @@ msgid ""
 "#   %T              Thread tree (only thread level)\n"
 msgstr ""
 
-#: src/lang.c:3333
+#: src/lang.c:3402
 msgid "Format string for display of dates"
 msgstr ""
 
-#: src/lang.c:3334
+#: src/lang.c:3403
 msgid "# Format string for date representation\n"
 msgstr ""
 
-#: src/lang.c:3344
+#: src/lang.c:3413
 msgid "Unicode normalization form"
 msgstr ""
 
-#: src/lang.c:3345
+#: src/lang.c:3414
 msgid ""
 "# Unicode normalization form\n"
 "# Possible values are:\n"
@@ -7749,19 +7906,19 @@ msgid ""
 "#   5 = NFKC_CF\n"
 msgstr ""
 
-#: src/lang.c:3359
+#: src/lang.c:3428
 msgid "Render BiDi"
 msgstr ""
 
-#: src/lang.c:3360
+#: src/lang.c:3429
 msgid "# If ON, bi-directional text is rendered by tin\n"
 msgstr ""
 
-#: src/lang.c:3367
+#: src/lang.c:3436
 msgid "Function for sorting articles"
 msgstr ""
 
-#: src/lang.c:3368
+#: src/lang.c:3437
 msgid ""
 "# Function for sorting articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7769,205 +7926,213 @@ msgid ""
 "#   1 = heapsort\n"
 msgstr ""
 
-#: src/lang.c:3381
+#: src/lang.c:3450
 msgid "Automatically GroupMarkUnselArtRead"
 msgstr ""
 
-#: src/lang.c:3387
+#: src/lang.c:3456
 msgid "Delete post-process files"
 msgstr ""
 
-#: src/lang.c:3392
+#: src/lang.c:3461
 msgid "Filename for all mailed articles, <CR> sets, no filename=do not save."
 msgstr ""
 
-#: src/lang.c:3393
+#: src/lang.c:3462
 msgid "Mailbox to save sent mails"
 msgstr ""
 
-#: src/lang.c:3398
+#: src/lang.c:3467
 msgid "Set Followup-To: header to this group(s). <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3399
+#: src/lang.c:3468
 msgid "Followup-To: header"
 msgstr ""
 
-#: src/lang.c:3404
+#: src/lang.c:3473
 msgid "Enter default mail address (and fullname). <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3411
+#: src/lang.c:3480
 msgid ""
 "Path and options for ispell-like spell-checker. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3412
+#: src/lang.c:3481
 msgid "Ispell program"
 msgstr ""
 
-#: src/lang.c:3418
+#: src/lang.c:3487
 msgid "When group is a mailing list, send responses to this email address."
 msgstr ""
 
-#: src/lang.c:3419
+#: src/lang.c:3488
 msgid "Mailing list address"
 msgstr ""
 
-#: src/lang.c:3425
+#: src/lang.c:3494
 msgid "Forward articles as attachment"
 msgstr ""
 
-#: src/lang.c:3430
+#: src/lang.c:3499
 msgid ""
 "A comma separated list of MIME major/minor Content-Types. <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3431
+#: src/lang.c:3500
 msgid "Which MIME types will be saved"
 msgstr ""
 
-#: src/lang.c:3436
+#: src/lang.c:3505
 msgid "Value of the Organization: header. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3437
+#: src/lang.c:3506
 msgid "Organization: header"
 msgstr ""
 
-#: src/lang.c:3442
+#: src/lang.c:3511
 msgid "Filename for saved articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3443
+#: src/lang.c:3512
 msgid "savefile"
 msgstr ""
 
-#: src/lang.c:3448 src/lang.c:3472
+#: src/lang.c:3517 src/lang.c:3541
 msgid "Scope for the filter rule. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3449
+#: src/lang.c:3518
 msgid "Quick (1 key) select filter scope"
 msgstr ""
 
-#: src/lang.c:3454 src/lang.c:3478
+#: src/lang.c:3523 src/lang.c:3547
 msgid "Header for filter rule. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3455
+#: src/lang.c:3524
 msgid "Quick (1 key) select filter header"
 msgstr ""
 
-#: src/lang.c:3460 src/lang.c:3484
+#: src/lang.c:3529 src/lang.c:3553
 msgid "ON = case sensitive, OFF = ignore case. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3461
+#: src/lang.c:3530
 msgid "Quick (1 key) select filter case"
 msgstr ""
 
-#: src/lang.c:3466 src/lang.c:3490
+#: src/lang.c:3535 src/lang.c:3559
 msgid "ON = expire, OFF = don't ever expire. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3467
+#: src/lang.c:3536
 msgid "Quick (1 key) select filter expire"
 msgstr ""
 
-#: src/lang.c:3473
+#: src/lang.c:3542
 msgid "Quick (1 key) kill filter scope"
 msgstr ""
 
-#: src/lang.c:3479
+#: src/lang.c:3548
 msgid "Quick (1 key) kill filter header"
 msgstr ""
 
-#: src/lang.c:3485
+#: src/lang.c:3554
 msgid "Quick (1 key) kill filter case"
 msgstr ""
 
-#: src/lang.c:3491
+#: src/lang.c:3560
 msgid "Quick (1 key) kill filter expire"
 msgstr ""
 
-#: src/lang.c:3497
+#: src/lang.c:3566
 msgid "Assume this charset if no charset declaration is present, <CR> to set."
 msgstr ""
 
-#: src/lang.c:3498
+#: src/lang.c:3567
 msgid "UNDECLARED_CHARSET"
 msgstr ""
 
-#: src/lang.c:3504
+#: src/lang.c:3572
+msgid "Guess charset if no charset declaration is present, <CR> to set."
+msgstr ""
+
+#: src/lang.c:3573
+msgid "UNDECLARED_CS_GUESS"
+msgstr ""
+
+#: src/lang.c:3580
 msgid ""
 "Add this text at the start of the message body. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3505
+#: src/lang.c:3581
 msgid "X_Body"
 msgstr ""
 
-#: src/lang.c:3510
+#: src/lang.c:3586
 msgid "Insert this header when posting. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:3511
+#: src/lang.c:3587
 msgid "X_Headers"
 msgstr ""
 
-#: src/lang.c:3516
+#: src/lang.c:3592
 msgid ""
 "Automatically insert an X-Comment-To: header? <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:3517
+#: src/lang.c:3593
 msgid "Insert 'X-Comment-To:' header"
 msgstr ""
 
-#: src/lang.c:3523
+#: src/lang.c:3599
 msgid "Enter name of file containing trusted CA certificates. <CR> sets."
 msgstr ""
 
-#: src/lang.c:3524
+#: src/lang.c:3600
 msgid "CA certificate file"
 msgstr ""
 
-#: src/lang.c:3525
+#: src/lang.c:3601
 msgid ""
 "# name of file containing all trusted CA certificates (empty = system "
 "default)\n"
 msgstr ""
 
-#: src/nntplib.c:908
+#: src/nntplib.c:963
 #, c-format
 msgid ""
 "\n"
 "Server timed out, trying reconnect # %d\n"
 msgstr ""
 
-#: src/nntplib.c:950 src/nntplib.c:2032
+#: src/nntplib.c:1006 src/nntplib.c:2115
 msgid "Rejoin current group\n"
 msgstr ""
 
-#: src/nntplib.c:959 src/nntplib.c:2041
+#: src/nntplib.c:1015 src/nntplib.c:2124
 #, c-format
 msgid "Read (%s)\n"
 msgstr ""
 
-#: src/nntplib.c:961
+#: src/nntplib.c:1017
 #, c-format
 msgid "Resend last command (%s)\n"
 msgstr ""
 
-#: src/read.c:363
+#: src/read.c:358
 msgid "Aborted read\n"
 msgstr ""
 
-#: src/read.c:418
+#: src/read.c:413
 msgid "Draining\n"
 msgstr ""
 
-#: src/refs.c:656
+#: src/refs.c:654
 msgid "[- Unavailable -]"
 msgstr ""
Binary files tin-2.6.3/po/tr.gmo and tin-2.6.4/po/tr.gmo differ
diff -Nurp '--exclude=.bzr*' tin-2.6.3/po/tr.po tin-2.6.4/po/tr.po
--- tin-2.6.3/po/tr.po	2023-12-24 00:38:37.000000000 +0100
+++ tin-2.6.4/po/tr.po	2024-12-21 15:42:04.024760849 +0100
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tin 2.4.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-12-13 22:25+0100\n"
+"POT-Creation-Date: 2024-12-21 15:42+0100\n"
 "PO-Revision-Date: 2017-05-29 18:40+0000\n"
 "Last-Translator: Mesutcan Kurt <mesutcank@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -22,11 +22,11 @@ msgstr ""
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "X-POOTLE-MTIME: 1496083249.000000\n"
 
-#: src/lang.c:45
+#: src/lang.c:48
 msgid "1 Response"
 msgstr "1 YanÄ±t"
 
-#: src/lang.c:49
+#: src/lang.c:50
 #, c-format
 msgid ""
 "\n"
@@ -37,36 +37,36 @@ msgstr ""
 
 #  fp
 #  Check if okay to read
-#: src/lang.c:51
+#: src/lang.c:52
 msgid "Aborting read, please wait..."
 msgstr "Okuma durduruluyor, lÃ¼tfen bekleyin..."
 
-#: src/lang.c:53
+#: src/lang.c:54
 msgid "all"
 msgstr "Hepsi"
 
-#: src/lang.c:54
+#: src/lang.c:55
 msgid "All groups"
 msgstr "TÃ¼m gruplar"
 
-#: src/lang.c:55
+#: src/lang.c:56
 #, c-format
 msgid "File %s exists. %s=append, %s=overwrite, %s=quit: "
 msgstr "%s dosyasÄ± var. %s=ekle, %s=Ã¼stÃ¼ne yaz, %s=Ã§Ä±k: "
 
-#: src/lang.c:56
+#: src/lang.c:57
 msgid "Article cancelled (deleted)."
 msgstr "Makale iptal edildi (silinmiÅŸ)."
 
-#: src/lang.c:58
+#: src/lang.c:59
 msgid "Article cannot be cancelled (deleted)."
 msgstr "Makale iptal edilemedi (silinemedi)."
 
-#: src/lang.c:60
+#: src/lang.c:61
 msgid "Article deleted."
 msgstr "Makale silindi."
 
-#: src/lang.c:61
+#: src/lang.c:62
 #, c-format
 msgid ""
 "\n"
@@ -81,7 +81,7 @@ msgstr ""
 "  buna gÃ¶nderilecektir:\n"
 " %s"
 
-#: src/lang.c:62
+#: src/lang.c:63
 #, c-format
 msgid ""
 "\n"
@@ -94,41 +94,41 @@ msgstr ""
 "  \"%s\"\n"
 "buna gÃ¶nderilecektir %s:\n"
 
-#: src/lang.c:63
+#: src/lang.c:64
 msgid "Article not posted!"
 msgstr "Makale gÃ¶nderilmedi!"
 
-#: src/lang.c:64
+#: src/lang.c:65
 msgid "Article not saved"
 msgstr "Makale kaydedilmedi"
 
-#: src/lang.c:65
+#: src/lang.c:66
 msgid "Article Level Commands"
 msgstr "Makale Seviye KomutlarÄ±"
 
-#: src/lang.c:66
+#: src/lang.c:67
 msgid "Article has no parent"
 msgstr "Makalenin Ã¼stÃ¼ yok"
 
-#: src/lang.c:67
+#: src/lang.c:68
 msgid "Parent article has been killed"
 msgstr "Ãœst makale Ã¶ldÃ¼rÃ¼ldÃ¼"
 
-#: src/lang.c:68
+#: src/lang.c:69
 msgid "Parent article is unavailable"
 msgstr "Ãœst makale mevcut deÄŸil."
 
-#: src/lang.c:69
+#: src/lang.c:70
 #, c-format
 msgid "Article posted: %s"
 msgstr "Makale gÃ¶nderildi: %s"
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid "Article rejected (saved to %s)"
 msgstr "Makale reddedildi (%s dosyasÄ±na kaydedildi)"
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid ""
 "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: "
@@ -136,71 +136,76 @@ msgstr ""
 "%s=makale, %s=e-posta zinciri, %s=aralÄ±k, %s=sÄ±cak, %s=kalÄ±p, "
 "%s=etiketlenmiÅŸ, %s=Ã§Ä±k: "
 
-#: src/lang.c:72
+#: src/lang.c:73
 msgid "Article unavailable"
 msgstr "Makale mevcut deÄŸil"
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid "Article undeleted."
 msgstr "Makale silinmeden geri alÄ±ndÄ±."
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid "Article %4d of %4d"
 msgstr "Makale %4d/%4d"
 
-#: src/lang.c:76
+#: src/lang.c:77
+#, fuzzy
+msgid "Article Info Page"
+msgstr "Makale kaydedilmedi"
+
+#: src/lang.c:78
 msgid "articles"
 msgstr "makaleler"
 
-#: src/lang.c:77
+#: src/lang.c:79
 msgid "This is a repost of the following article:"
 msgstr "Bu, ÅŸu makalenin yeniden gÃ¶nderimidir:"
 
-#: src/lang.c:78
+#: src/lang.c:80
 msgid "article"
 msgstr "makale"
 
-#: src/lang.c:79
+#: src/lang.c:81
 msgid "Article"
 msgstr "Makale"
 
-#: src/lang.c:80
+#: src/lang.c:82
 #, c-format
 msgid "-- %d %s mailed --"
 msgstr "-- %d %s postalandÄ± --"
 
-#: src/lang.c:81
+#: src/lang.c:83
 #, c-format
 msgid " at %s"
 msgstr "%s de"
 
-#: src/lang.c:84
+#: src/lang.c:86
 #, fuzzy, c-format
 msgid "charset %s"
 msgstr ", karakter kÃ¼mesi: "
 
-#: src/lang.c:85
+#: src/lang.c:87
 #, c-format
 msgid "content subtype %s"
 msgstr ""
 
-#: src/lang.c:86
+#: src/lang.c:88
 #, c-format
 msgid "content type %s"
 msgstr ""
 
-#: src/lang.c:87
+#: src/lang.c:89
 #, c-format
 msgid "%*s[-- charset %s not supported --]\n"
 msgstr "%*s[-- karakter seti %s desteklenmiyor --]\n"
 
-#: src/lang.c:88
+#: src/lang.c:90
 #, c-format
 msgid "%*s[-- Description: %s --]\n"
 msgstr "%*s[-- TanÄ±m:%s --]\n"
 
-#: src/lang.c:89
+#: src/lang.c:91
 #, fuzzy, c-format
 msgid "encoding %s"
 msgstr "%s aÃ§Ä±lÄ±yor"
@@ -212,31 +217,31 @@ msgstr "%s aÃ§Ä±lÄ±yor"
 # #-#-#-#-#  tin4.po (PACKAGE VERSION)  #-#-#-#-#
 #  TODO: -> lang.c
 #  TODO: -> lang.c
-#: src/lang.c:95
+#: src/lang.c:97
 #, fuzzy, c-format
 msgid "lang %s"
 msgstr "%s tekrar okunuyor..."
 
-#: src/lang.c:96
+#: src/lang.c:98
 #, fuzzy, c-format
 msgid "%s lines"
 msgstr "%d satÄ±r"
 
-#: src/lang.c:97
+#: src/lang.c:99
 #, fuzzy, c-format
 msgid "name %s"
 msgstr ", isim: "
 
-#: src/lang.c:98
+#: src/lang.c:100
 msgid ", "
 msgstr ""
 
-#: src/lang.c:99
+#: src/lang.c:101
 #, c-format
 msgid "size %s"
 msgstr ""
 
-#: src/lang.c:100
+#: src/lang.c:102
 msgid ""
 "This message has been composed in the 'multipart/mixed' MIME-format. If you\n"
 "are reading this prefix, your mail reader probably has not yet been "
@@ -250,46 +255,46 @@ msgstr ""
 "henÃ¼z deÄŸiÅŸikliÄŸe uÄŸramamÄ±ÅŸ, ve gelecek birkaÃ§ ÅŸey garip gÃ¶rÃ¼nebilir.\n"
 "\n"
 
-#: src/lang.c:104
+#: src/lang.c:106
 msgid "Attachment Menu"
 msgstr "Ek MenÃ¼sÃ¼"
 
-#: src/lang.c:105
+#: src/lang.c:107
 msgid "Attachment Menu Commands"
 msgstr "Ek MenÃ¼ KomutlarÄ±"
 
-#: src/lang.c:106
+#: src/lang.c:108
 msgid "<no name>"
 msgstr "<no name>"
 
-#: src/lang.c:107
+#: src/lang.c:109
 #, c-format
 msgid "Attachment saved successfully. (%s)"
 msgstr "Ek baÅŸarÄ±yla kaydedildi. (%s)"
 
-#: src/lang.c:108
+#: src/lang.c:110
 #, c-format
 msgid "%d of %d attachments saved successfully."
 msgstr "%d ekin %d'si baÅŸarÄ±yla kaydedildi."
 
-#: src/lang.c:109
+#: src/lang.c:111
 msgid "Select attachment> "
 msgstr "Ek seÃ§> "
 
-#: src/lang.c:110
+#: src/lang.c:112
 msgid "Tagged attachment"
 msgstr "EtiketlendirilmiÅŸ ek"
 
-#: src/lang.c:111
+#: src/lang.c:113
 #, c-format
 msgid "%d attachments tagged"
 msgstr "%d ek etiketlendi"
 
-#: src/lang.c:112
+#: src/lang.c:114
 msgid "Untagged attachment"
 msgstr "EtiketlenmemiÅŸ ek"
 
-#: src/lang.c:115
+#: src/lang.c:117
 msgid ""
 "# Do not edit this comment block\n"
 "#\n"
@@ -297,327 +302,332 @@ msgstr ""
 "# Bu aÃ§Ä±klama bloÄŸunu dÃ¼zenlemeyin\n"
 "#\n"
 
-#: src/lang.c:116
+#: src/lang.c:118
 msgid "#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr "#  scope=DÄ°ZGE (Ã¶rn. alt.*,!alt.bin*) [zorunlu]\n"
 
-#: src/lang.c:117
+#: src/lang.c:119
 msgid "#  add_posted_to_filter=ON/OFF\n"
 msgstr "#  add_posted_to_filter=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:118
+#: src/lang.c:120
 msgid "#  advertising=ON/OFF\n"
 msgstr "#  advertising=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:119
+#: src/lang.c:121
 msgid "#  alternative_handling=ON/OFF\n"
 msgstr "#  alternative_handling=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:120
+#: src/lang.c:122
 msgid "#  ask_for_metamail=ON/OFF\n"
 msgstr "#  ask_for_metamail=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:121
+#: src/lang.c:123
 msgid "#  auto_cc_bcc=NUM\n"
 msgstr "#   auto_cc_bcc=SAYI\n"
 
-#: src/lang.c:122
+#: src/lang.c:124
 msgid "#    0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n"
 msgstr "#    0=HayÄ±r, 1=Kopya, 2=Gizli Kopya, 3=Kopya ve Gizli kopya\n"
 
-#: src/lang.c:123
+#: src/lang.c:125
 msgid "#  auto_list_thread=ON/OFF\n"
 msgstr "#  auto_list_thread=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:124
+#: src/lang.c:126
 msgid "#  auto_select=ON/OFF\n"
 msgstr "#  auto_select=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:125
+#: src/lang.c:127
 msgid "#  batch_save=ON/OFF\n"
 msgstr "#  batch_save=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:126
+#: src/lang.c:128
 msgid "#  date_format=STRING (eg. %a, %d %b %Y %H:%M:%S)\n"
 msgstr "#  date_format=DÄ°ZGE (Ã¶rn. %a, %d %b %Y %H:%M:%S)\n"
 
-#: src/lang.c:127
+#: src/lang.c:129
 msgid "#  delete_tmp_files=ON/OFF\n"
 msgstr "#  delete_tmp_files=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:128
+#: src/lang.c:130
 msgid "#  editor_format=STRING (eg. %E +%N %F)\n"
 msgstr "#  editor_format=DÄ°ZGE (Ã¶rn. %E +%N %F)\n"
 
-#: src/lang.c:129
+#: src/lang.c:131
 msgid "#  fcc=STRING (eg. =mailbox)\n"
 msgstr "#  fcc=DÄ°ZGE (Ã¶rn. =mailbox)\n"
 
-#: src/lang.c:130
+#: src/lang.c:132
 msgid "#  followup_to=STRING\n"
 msgstr "#  followup_to=DÄ°ZGE\n"
 
-#: src/lang.c:131
+#: src/lang.c:133
 msgid "#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr ""
 "#  from=DÄ°ZGE (sadece istenen gÃ¶nderen satÄ±rÄ±nÄ± ekle, Ã§ift tÄ±rnak kullanma)\n"
 
-#: src/lang.c:132
+#: src/lang.c:134
 msgid "#  group_catchup_on_exit=ON/OFF\n"
 msgstr "#  group_catchup_on_exit=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:133
+#: src/lang.c:135
 msgid "#  group_format=STRING (eg. %n %m %R %L  %s  %F)\n"
 msgstr "#  group_format=DÄ°ZGE (Ã¶rn. %n %m %R %L  %s  %F)\n"
 
-#: src/lang.c:134
+#: src/lang.c:136
 msgid "#  mail_8bit_header=ON/OFF\n"
 msgstr "#  mail_8bit_header=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:135
+#: src/lang.c:137
 msgid "#  mail_mime_encoding=supported_encoding"
 msgstr "#  mail_mime_encoding=desteklenen_kodlama"
 
-#: src/lang.c:137
+#: src/lang.c:139
 msgid "#  ispell=STRING\n"
 msgstr "#  ispell=DÄ°ZGE\n"
 
-#: src/lang.c:139
+#: src/lang.c:141
 msgid "#  maildir=STRING (eg. ~/Mail)\n"
 msgstr "#  maildir=DÄ°ZGE (Ã¶rn. ~/Mail)\n"
 
-#: src/lang.c:140
+#: src/lang.c:142
 msgid "#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr "#  mailing_list=DÄ°ZGE (Ã¶rn. majordomo@example.org)\n"
 
-#: src/lang.c:141
+#: src/lang.c:143
 msgid "#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr "#  mime_types_to_save=DÄ°ZGE (Ã¶rn. image/*,!image/bmp)\n"
 
-#: src/lang.c:142
+#: src/lang.c:144
 msgid "#  mark_ignore_tags=ON/OFF\n"
 msgstr "#  mark_ignore_tags=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:143
+#: src/lang.c:145
 msgid "#  mark_saved_read=ON/OFF\n"
 msgstr "#  mark_saved_read=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:144
+#: src/lang.c:146
 msgid "#  mime_forward=ON/OFF\n"
 msgstr "#  mime_forward=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:146
+#: src/lang.c:148
 msgid "#  mm_network_charset=supported_charset"
 msgstr "#  mm_network_charset=supported_charset"
 
-#: src/lang.c:147
+#: src/lang.c:149
 msgid "#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr "#  undeclared_charset=DÄ°ZGE (varsayÄ±lan US-ASCII)\n"
 
-#: src/lang.c:149
+#: src/lang.c:151
+#, fuzzy
+msgid "#  undeclared_cs_guess=ON/OFF (default is OFF)\n"
+msgstr "#  undeclared_charset=DÄ°ZGE (varsayÄ±lan US-ASCII)\n"
+
+#: src/lang.c:154
 msgid "#  news_headers_to_display=STRING\n"
 msgstr "#  news_headers_to_display=DÄ°ZGE\n"
 
-#: src/lang.c:150
+#: src/lang.c:155
 msgid "#  news_headers_to_not_display=STRING\n"
 msgstr "#  news_headers_to_not_display=DÄ°ZGE\n"
 
-#: src/lang.c:151
+#: src/lang.c:156
 msgid "#  news_quote_format=STRING\n"
 msgstr "#  news_quote_format=DÄ°ZGE\n"
 
-#: src/lang.c:152
+#: src/lang.c:157
 msgid "#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr ""
 "#  organization=DÄ°ZGE (kurum; eÄŸer / ile baÅŸlÄ±yor ise, dosyadan okunur)\n"
 
-#: src/lang.c:153
+#: src/lang.c:158
 msgid "#  pos_first_unread=ON/OFF\n"
 msgstr "#  pos_first_unread=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:154
+#: src/lang.c:159
 msgid "#  post_8bit_header=ON/OFF\n"
 msgstr "#  post_8bit_header=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:155
+#: src/lang.c:160
 msgid "#  post_mime_encoding=supported_encoding"
 msgstr "#  post_mime_encoding=desteklenen_kodlama"
 
-#: src/lang.c:156
+#: src/lang.c:161
 msgid "#  post_process_type=NUM\n"
 msgstr "#  post_process_type=SAYI\n"
 
-#: src/lang.c:157
+#: src/lang.c:162
 msgid "#  post_process_view=ON/OFF\n"
 msgstr "#  post_process_view=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:158
+#: src/lang.c:163
 msgid "#  quick_kill_scope=STRING (e.g. talk.*)\n"
 msgstr "#  quick_kill_scope=DÄ°ZGE (yani. talk.*)\n"
 
-#: src/lang.c:159
+#: src/lang.c:164
 msgid "#  quick_kill_expire=ON/OFF\n"
 msgstr "#  quick_kill_expire=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:160
+#: src/lang.c:165
 msgid "#  quick_kill_case=ON/OFF\n"
 msgstr "#  quick_kill_case=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:161
+#: src/lang.c:166
 msgid "#  quick_kill_header=NUM\n"
 msgstr "#  quick_kill_header=SAYI\n"
 
-#: src/lang.c:162 src/lang.c:171
+#: src/lang.c:167 src/lang.c:176
 msgid "#    0=Subject: (case sensitive)  1=Subject: (ignore case)\n"
 msgstr ""
 "#    0=Konu: (bÃ¼yÃ¼k/kÃ¼Ã§Ã¼k harfe duyarlÄ±)  1=Konu: (bÃ¼yÃ¼k/kÃ¼Ã§Ã¼k harf gÃ¶z ardÄ± "
 "et)\n"
 
-#: src/lang.c:163 src/lang.c:172
+#: src/lang.c:168 src/lang.c:177
 msgid "#    2=From: (case sensitive)     3=From: (ignore case)\n"
 msgstr ""
 "#    2=GÃ¶nderen: (bÃ¼yÃ¼k kÃ¼Ã§Ã¼k harf duyarlÄ±)     3=GÃ¶nderen: (bÃ¼yÃ¼k kÃ¼Ã§Ã¼k "
 "harf duyarsÄ±z)\n"
 
-#: src/lang.c:164 src/lang.c:173
+#: src/lang.c:169 src/lang.c:178
 msgid "#    4=Message-ID: & full References: line\n"
 msgstr "#    4=Ä°leti-KimliÄŸi: & tÃ¼m Referanslar: satÄ±rÄ±\n"
 
-#: src/lang.c:165 src/lang.c:174
+#: src/lang.c:170 src/lang.c:179
 msgid "#    5=Message-ID: & last References: entry only\n"
 msgstr "#    5=Ä°leti-KimliÄŸi: & sadece son Referanslar: girdisi\n"
 
-#: src/lang.c:166 src/lang.c:175
+#: src/lang.c:171 src/lang.c:180
 msgid "#    6=Message-ID: entry only     7=Lines:\n"
 msgstr "#    6=Ä°leti-KimliÄŸi: girdisi sadece     7=SatÄ±rlar:\n"
 
-#: src/lang.c:167
+#: src/lang.c:172
 msgid "#  quick_select_scope=STRING\n"
 msgstr "#  quick_select_scope=DÄ°ZGE\n"
 
-#: src/lang.c:168
+#: src/lang.c:173
 msgid "#  quick_select_expire=ON/OFF\n"
 msgstr "#  quick_select_expire=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:169
+#: src/lang.c:174
 msgid "#  quick_select_case=ON/OFF\n"
 msgstr "#  quick_select_case=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:170
+#: src/lang.c:175
 msgid "#  quick_select_header=NUM\n"
 msgstr "#  quick_select_header=SAYI\n"
 
-#: src/lang.c:176
+#: src/lang.c:181
 msgid "#  quote_chars=STRING (%I for initials)\n"
 msgstr "#  quote_chars=DÄ°ZGE (baÅŸlangÄ±Ã§ iÃ§in %I)\n"
 
-#: src/lang.c:178
+#: src/lang.c:183
 msgid "#  print_header=ON/OFF\n"
 msgstr "#  print_header=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:180
+#: src/lang.c:185
 msgid "#  process_only_unread=ON/OFF\n"
 msgstr "#  process_only_unread=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:181
+#: src/lang.c:186
 msgid "#  prompt_followupto=ON/OFF\n"
 msgstr "#  prompt_followupto=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:182
+#: src/lang.c:187
 msgid "#  savedir=STRING (eg. ~user/News)\n"
 msgstr "#  savedir=DÄ°ZGE (Ã¶rn. ~user/News)\n"
 
-#: src/lang.c:183
+#: src/lang.c:188
 msgid "#  savefile=STRING (eg. =linux)\n"
 msgstr "#  savefile=DÄ°ZGE (Ã¶rn. =linux)\n"
 
-#: src/lang.c:184
+#: src/lang.c:189
 msgid "#  sigfile=STRING (eg. $var/sig)\n"
 msgstr "#  sigfile=DÄ°ZGE (Ã¶rn. $var/sig)\n"
 
-#: src/lang.c:185
+#: src/lang.c:190
 msgid "#  show_author=NUM\n"
 msgstr "#  show_author=SAYI\n"
 
-#: src/lang.c:186
+#: src/lang.c:191
 msgid "#  show_signatures=ON/OFF\n"
 msgstr "#  show_signatures=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:187
+#: src/lang.c:192
 #, fuzzy
 msgid "#  show_art_score=ON/OFF\n"
 msgstr "#  show_signatures=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:189
+#: src/lang.c:194
 #, fuzzy
 msgid "#  suppress_soft_hyphens=ON/OFF\n"
 msgstr "#  suppress_soft_hyphens=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:191
+#: src/lang.c:196
 msgid "#  show_only_unread_arts=ON/OFF\n"
 msgstr "#  show_only_unread_arts=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:192
+#: src/lang.c:197
 msgid "#  sigdashes=ON/OFF\n"
 msgstr "#  sigdashes=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:193
+#: src/lang.c:198
 msgid "#  signature_repost=ON/OFF\n"
 msgstr "#  signature_repost=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:194
+#: src/lang.c:199
 msgid "#  sort_article_type=NUM\n"
 msgstr "#  sort_article_type=SAYI\n"
 
-#: src/lang.c:195
+#: src/lang.c:200
 msgid "#  sort_threads_type=NUM\n"
 msgstr "#  sort_threads_type=SAYI\n"
 
-#: src/lang.c:196
+#: src/lang.c:201
 msgid "#  tex2iso_conv=ON/OFF\n"
 msgstr "#  tex2iso_conv=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:197
+#: src/lang.c:202
 msgid "#  thread_catchup_on_exit=ON/OFF\n"
 msgstr "#  thread_catchup_on_exit=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:198
+#: src/lang.c:203
 msgid "#  thread_articles=NUM"
 msgstr "#  thread_articles=SAYI"
 
-#: src/lang.c:199
+#: src/lang.c:204
 msgid "#  thread_format=STRING (eg. %n %m [%L]  %T  %F)\n"
 msgstr "#  thread_format=DÄ°ZGE (Ã¶rn. %n %m [%L]  %T  %F)\n"
 
-#: src/lang.c:200
+#: src/lang.c:205
 msgid "#  thread_perc=NUM\n"
 msgstr "#  thread_perc=SAYI\n"
 
-#: src/lang.c:201
+#: src/lang.c:206
 msgid "#  trim_article_body=NUM\n"
 msgstr "#  trim_article_body=SAYI\n"
 
-#: src/lang.c:202
+#: src/lang.c:207
 msgid "#    0 = Don't trim article body\n"
 msgstr "#    0 = Makale gÃ¶vdesini kesme\n"
 
-#: src/lang.c:203
+#: src/lang.c:208
 msgid "#    1 = Skip leading blank lines\n"
 msgstr "#    1 = BaÅŸtaki boÅŸ satÄ±rlarÄ± atla\n"
 
-#: src/lang.c:204
+#: src/lang.c:209
 msgid "#    2 = Skip trailing blank lines\n"
 msgstr "#    2 = Sondaki boÅŸ satÄ±rlarÄ± atla\n"
 
-#: src/lang.c:205
+#: src/lang.c:210
 msgid "#    3 = Skip leading and trailing blank lines\n"
 msgstr "#    3 = BaÅŸtaki ve sondaki boÅŸ satÄ±rlarÄ± atla\n"
 
-#: src/lang.c:206
+#: src/lang.c:211
 msgid "#    4 = Compact multiple blank lines between text blocks\n"
 msgstr "#    4 = Metin bloklarÄ± arasÄ±ndaki birden fazla boÅŸ satÄ±rÄ± birleÅŸtir\n"
 
-#: src/lang.c:207
+#: src/lang.c:212
 msgid ""
 "#    5 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading blank lines\n"
@@ -625,7 +635,7 @@ msgstr ""
 "#    5 = Metin bloklarÄ± arasÄ±ndaki birden fazla boÅŸ satÄ±rÄ± birleÅŸtir ve\n"
 "#        baÅŸtaki boÅŸ satÄ±rlarÄ± atla\n"
 
-#: src/lang.c:208
+#: src/lang.c:213
 msgid ""
 "#    6 = Compact multiple blank lines between text blocks and skip\n"
 "#        trailing blank lines\n"
@@ -633,7 +643,7 @@ msgstr ""
 "#    6 = Metin bloklarÄ± arasÄ±ndaki birden fazla boÅŸ satÄ±rÄ± birleÅŸtir ve\n"
 "#        sondaki boÅŸ satÄ±rlarÄ± atla\n"
 
-#: src/lang.c:209
+#: src/lang.c:214
 msgid ""
 "#    7 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading and trailing blank lines\n"
@@ -641,31 +651,31 @@ msgstr ""
 "#    7 = Metin bloklarÄ± arasÄ±ndaki birden fazla boÅŸ satÄ±rÄ± birleÅŸtir ve\n"
 "#        baÅŸtaki ve sonraki boÅŸ satÄ±rlarÄ± atla\n"
 
-#: src/lang.c:210
+#: src/lang.c:215
 msgid "#  verbatim_handling=ON/OFF\n"
 msgstr "#  verbatim_handling=AÃ‡IK/KAPLI\n"
 
-#: src/lang.c:212
+#: src/lang.c:217
 msgid "#  extquote_handling=ON/OFF\n"
 msgstr "#  exquote_handling=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:214
+#: src/lang.c:219
 msgid "#  wrap_on_next_unread=ON/OFF\n"
 msgstr "#  wrap_on_next_unread=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:215
+#: src/lang.c:220
 msgid "#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr "#  x_body=DÄ°ZGE (Ã¶rn. ~/.tin/extra-body-text)\n"
 
-#: src/lang.c:216
+#: src/lang.c:221
 msgid "#  x_comment_to=ON/OFF\n"
 msgstr "#  x_comment_to=AÃ‡IK/KAPALI\n"
 
-#: src/lang.c:217
+#: src/lang.c:222
 msgid "#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr "#  x_headers=DÄ°ZGE (Ã¶rn. ~/.tin/extra-headers)\n"
 
-#: src/lang.c:218
+#: src/lang.c:223
 msgid ""
 "#\n"
 "# Note that it is best to put general (global scoping)\n"
@@ -673,7 +683,7 @@ msgstr ""
 "#\n"
 "# Genele (kÃ¼resel kapsama) koymak en iyisidir\n"
 
-#: src/lang.c:219
+#: src/lang.c:224
 msgid ""
 "# entries first followed by group specific entries.\n"
 "#\n"
@@ -681,62 +691,66 @@ msgstr ""
 "# grup Ã¶zel girdilerinden hemen Ã¶nce gelen girdiler.\n"
 "#\n"
 
-#: src/lang.c:220
+#: src/lang.c:225
 msgid "############################################################################\n"
 msgstr "############################################################################\n"
 
-#: src/lang.c:221
+#: src/lang.c:226
 msgid "Attributes Menu Commands"
 msgstr "Ã–znitelik MenÃ¼sÃ¼ KomutlarÄ±"
 
-#: src/lang.c:222
+#: src/lang.c:227
 #, c-format
 msgid "attribute with no scope: %s"
 msgstr "kapsamsÄ±z nitelik: %s"
 
-#: src/lang.c:224
+#: src/lang.c:229
 #, c-format
 msgid "%d Authentication failed"
 msgstr "%d Kimlik denetimi baÅŸarÄ±sÄ±z"
 
-#: src/lang.c:225
+#: src/lang.c:230
 #, c-format
 msgid "NNTP authorization password not found for %s"
 msgstr "%s iÃ§in NNTP yetkilendirme parolasÄ± bulunmadÄ± "
 
-#: src/lang.c:226
+#: src/lang.c:231
 msgid "Server expects authentication.\n"
 msgstr "Sunucu doÄŸrulama bekliyor.\n"
 
-#: src/lang.c:227
+#: src/lang.c:232
 msgid "    Please enter password: "
 msgstr "    LÃ¼tfen parola girin: "
 
-#: src/lang.c:228
+#: src/lang.c:233
 msgid "    Please enter username: "
 msgstr "    LÃ¼tfen kullanÄ±cÄ± adÄ± girin: "
 
-#: src/lang.c:229
+#: src/lang.c:234
 #, c-format
 msgid "Authorized for user: %s\n"
 msgstr "%s kullanÄ±cÄ±sÄ± iÃ§in yetkilendirilmiÅŸ\n"
 
-#: src/lang.c:230
+#: src/lang.c:235
 #, c-format
 msgid "Authorization failed for user: %s\n"
 msgstr "KullanÄ±cÄ± iÃ§in yetkilendirme baÅŸarÄ±sÄ±z: %s\n"
 
-#: src/lang.c:232
+#: src/lang.c:236
+msgid "No supported authorization method available in current state!\n"
+msgstr ""
+
+#: src/lang.c:238
 #, c-format
 msgid "Author search backwards [%s]> "
 msgstr "Yazar geriye doÄŸru arÄ±yor[%s]> "
 
-#: src/lang.c:233
+#: src/lang.c:239
 #, c-format
 msgid "Author search forwards [%s]> "
 msgstr "Yazar ileriye doÄŸru arÄ±yor [%s]> "
 
-#: src/lang.c:234
+#: src/lang.c:240
 #, c-format
 msgid ""
 "\n"
@@ -745,183 +759,179 @@ msgstr ""
 "\n"
 "%s'e otomatik abone olundu"
 
-#: src/lang.c:235
+#: src/lang.c:241
 msgid "Autosubscribing groups...\n"
 msgstr "Gruplar otomatik abone ediliyor...\n"
 
-#: src/lang.c:236
+#: src/lang.c:242
 #, c-format
 msgid "Autoselecting articles (use '%s' to see all unread) ..."
 msgstr ""
 "Makaleler otomatik seÃ§iliyor (tÃ¼m okunmamÄ±ÅŸlarÄ± gÃ¶rmek iÃ§in '%s' "
 "kullanÄ±n) ..."
 
-#: src/lang.c:238
+#: src/lang.c:244
 #, c-format
 msgid ""
 "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 msgstr ""
 "GÃ¶nderilecek makalede hatalar/uyarÄ±lar Ã§Ä±ktÄ±. %s=Ã§Ä±k, %s=MenÃ¼, %s=dÃ¼zenle: "
 
-#: src/lang.c:239
+#: src/lang.c:246
 #, c-format
 msgid "Unrecognized attribute: %s"
 msgstr "TanÄ±nmayan Ã¶znitelik: %s"
 
-#: src/lang.c:240
+#: src/lang.c:248
 #, c-format
 msgid "Bad command. Type '%s' for help."
 msgstr "Bozuk komut. YardÄ±m iÃ§in  '%s'  yazÄ±n."
 
-#: src/lang.c:242
+#: src/lang.c:249
 msgid "Base article"
 msgstr "Temel makale"
 
-#: src/lang.c:243
+#: src/lang.c:250
 msgid "Base article range"
 msgstr "Temel makale aralÄ±ÄŸÄ±"
 
-#: src/lang.c:244
+#: src/lang.c:251
 #, c-format
 msgid "%s: Updating of index files not supported: cache_overview_files=%s"
 msgstr ""
 "%s: Dizin dosyalarÄ±nÄ± gÃ¼ncelleme desteklenmiyor: cache_overview_files=%s"
 
-#: src/lang.c:245
+#: src/lang.c:252
 msgid "*** Beginning of article ***"
 msgstr "*** Makalenin baÅŸÄ± ***"
 
-#: src/lang.c:246
+#: src/lang.c:253
 msgid "*** Beginning of page ***"
 msgstr "*** SayfanÄ±n baÅŸÄ± ***"
 
-#: src/lang.c:248
-msgid "bytes"
-msgstr "bayt"
-
-#: src/lang.c:251
+#: src/lang.c:255
 #, c-format
 msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr ""
 "Ä°ptal et (sil) veya dosyanÄ±n yerini al (Ã¼stÃ¼ne yaz) makale [%%.*s]? (%s/%s/"
 "%s): "
 
-#: src/lang.c:252
+#: src/lang.c:256
 msgid "Cancelling article..."
 msgstr "Makale iptal ediliyor..."
 
-#: src/lang.c:254
+#: src/lang.c:258
 #, c-format
 msgid "Cannot create %s"
 msgstr "%s oluÅŸturulamÄ±yor"
 
-#: src/lang.c:257
+#: src/lang.c:261
 #, c-format
 msgid "Can't find base article %d"
 msgstr "Temel makale %d bulunamadÄ±"
 
-#: src/lang.c:259
+#: src/lang.c:263
 #, c-format
 msgid "Can't open %s"
 msgstr "%s aÃ§Ä±lamÄ±yor"
 
-#: src/lang.c:260
+#: src/lang.c:264
 #, c-format
 msgid "Couldn't open %s for saving"
 msgstr "%s kaydetmek iÃ§in aÃ§Ä±lamadÄ±"
 
-#: src/lang.c:261
+#: src/lang.c:265
 msgid "*** Posting not allowed ***"
 msgstr "*** GÃ¶nderim izni yok ***"
 
-#: src/lang.c:262
+#: src/lang.c:266
 #, c-format
 msgid "Posting is not allowed to %s"
 msgstr "%s iÃ§in gÃ¶nderim izni yok"
 
-#: src/lang.c:264
+#: src/lang.c:268
 #, c-format
 msgid "Can't retrieve %s"
 msgstr "%s alÄ±namÄ±yor"
 
-#: src/lang.c:266
+#: src/lang.c:270
 msgid "Can't supersede in mailgroups, try repost instead."
 msgstr ""
 
-#: src/lang.c:267
+#: src/lang.c:271
 #, c-format
 msgid "%s is a directory"
 msgstr "%s bir dizindir"
 
-#: src/lang.c:268
+#: src/lang.c:272
 msgid "Catchup"
 msgstr "Yakala"
 
-#: src/lang.c:269
+#: src/lang.c:273
 #, c-format
 msgid "Catchup %s..."
 msgstr "Yakala %s..."
 
-#: src/lang.c:270
+#: src/lang.c:274
 msgid "Catchup all groups entered during this session?"
 msgstr "Bu oturunda girilmiÅŸ tÃ¼m gruplar yakalansÄ±n mÄ±?"
 
-#: src/lang.c:271
+#: src/lang.c:275
 msgid "You have tagged articles in this group - catchup anyway?"
 msgstr "Bu grupta etiketlenmiÅŸ makaleleriniz var - yine de yakala?"
 
-#: src/lang.c:272
+#: src/lang.c:276
 #, c-format
 msgid "%s %d %s in %lu seconds\n"
 msgstr "%4$lu saniyede %1$s %2$d %3$s\n"
 
-#: src/lang.c:273
+#: src/lang.c:277
 msgid "Caughtup"
 msgstr "Caughtup"
 
-#: src/lang.c:274
+#: src/lang.c:278
 msgid "Check Prepared Article"
 msgstr "HazÄ±rlanmÄ±ÅŸ Makaleyi Denetle"
 
-#: src/lang.c:275
+#: src/lang.c:279
 msgid "Checking for new groups... "
 msgstr "Yeni gruplar kontrol ediliyor... "
 
-#: src/lang.c:276
+#: src/lang.c:280
 #, fuzzy
 msgid "Checking for news...\n"
 msgstr "Haberler kontrol ediliyor..."
 
-#: src/lang.c:277
+#: src/lang.c:281
 #, c-format
 msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr "Sonradan-iÅŸleme %s=hayÄ±r, %s=evet, %s=ortak, %s=Ã§Ä±k: "
 
-#: src/lang.c:279
+#: src/lang.c:283
 msgid "ANSI color disabled"
 msgstr "ANSI renk kapalÄ±"
 
-#: src/lang.c:280
+#: src/lang.c:284
 msgid "ANSI color enabled"
 msgstr "ANSI renk aÃ§Ä±k"
 
-#: src/lang.c:282
+#: src/lang.c:286
 #, c-format
 msgid "Command failed: %s"
 msgstr "Komut baÅŸarÄ±sÄ±z: %s"
 
-#: src/lang.c:284
+#: src/lang.c:288
 msgid "Mark not selected articles read?"
 msgstr "SeÃ§ilmemiÅŸ makaleleri okunmuÅŸ olarak iÅŸaretle?"
 
-#: src/lang.c:285
+#: src/lang.c:289
 #, fuzzy
 msgid "Connection Info"
 msgstr ""
 "\n"
 "%s'e baÄŸlantÄ±: "
 
-#: src/lang.c:286
+#: src/lang.c:290
 #, fuzzy
 msgid "Reading from local spool.\n"
 msgstr "yerel kuyruktan okunuyor"
@@ -933,12 +943,22 @@ msgstr "yerel kuyruktan okunuyor"
 # #-#-#-#-#  tin4.po (PACKAGE VERSION)  #-#-#-#-#
 #  TODO: -> lang.c
 #  TODO: -> lang.c
-#: src/lang.c:287
+#: src/lang.c:291
 #, fuzzy
 msgid "Reading saved news.\n"
 msgstr "%s tekrar okunuyor..."
 
-#: src/lang.c:295
+#: src/lang.c:292
+#, fuzzy
+msgid ""
+"\n"
+"Configuration files:\n"
+"--------------------\n"
+msgstr ""
+"SeÃ§enek iÅŸlemleri\n"
+"-----------------"
+
+#: src/lang.c:300
 #, fuzzy
 msgid ""
 "\n"
@@ -948,11 +968,11 @@ msgstr ""
 "Ã–zellikleri gÃ¶rÃ¼ntÃ¼le\n"
 "------------------"
 
-#: src/lang.c:300
+#: src/lang.c:305
 msgid "COMPRESS      :"
 msgstr ""
 
-#: src/lang.c:301
+#: src/lang.c:306
 #, fuzzy
 msgid ""
 "\n"
@@ -962,82 +982,87 @@ msgstr ""
 "SeÃ§enek iÅŸlemleri\n"
 "-----------------"
 
-#: src/lang.c:303
+#: src/lang.c:308
 #, c-format
 msgid " DEFLATE %s\n"
 msgstr ""
 
-#: src/lang.c:304
+#: src/lang.c:309
 msgid "(enabled)"
 msgstr ""
 
-#: src/lang.c:305
+#: src/lang.c:310
 msgid "(inactive)"
 msgstr ""
 
-#: src/lang.c:307
+#: src/lang.c:312
 msgid " DEFLATE (not supported)\n"
 msgstr ""
 
-#: src/lang.c:310
+#: src/lang.c:315
 msgid "(disabled)"
 msgstr ""
 
-#: src/lang.c:311
+#: src/lang.c:316
 #, c-format
 msgid "NNTP TIMEOUT  : %d seconds %s\n"
 msgstr ""
 
-#: src/lang.c:313
+#: src/lang.c:318
 #, c-format
 msgid "IMPLEMENTATION: %s\n"
 msgstr ""
 
-#: src/lang.c:315
+#: src/lang.c:320
 #, c-format
 msgid "MAXARTNUM     : %s\n"
 msgstr ""
 
-#: src/lang.c:317
+#: src/lang.c:322
 #, fuzzy, c-format
 msgid "Reading via NNTP (%s).\n"
 msgstr "NNTP Ã¼zerinden okunamÄ±yor."
 
-#: src/lang.c:318
+#: src/lang.c:323
 #, c-format
 msgid "NNTPPORT      : %u\n"
 msgstr ""
 
-#: src/lang.c:319
+#: src/lang.c:324
 #, fuzzy
 msgid "read only"
 msgstr "okunmamÄ±ÅŸ "
 
-#: src/lang.c:320
+#: src/lang.c:325
 msgid "read/write"
 msgstr ""
 
-#: src/lang.c:321
+#: src/lang.c:326
 #, c-format
 msgid "NNTPSERVER    : %s\n"
 msgstr ""
 
-#: src/lang.c:323
+#: src/lang.c:327
+#, c-format
+msgid "CONNECTIONTYPE: %s\n"
+msgstr ""
+
+#: src/lang.c:329
 #, fuzzy, c-format
 msgid "Reading %s via NNTPS (%s; "
 msgstr "NNTP Ã¼zerinden okunamÄ±yor."
 
-#: src/lang.c:325
+#: src/lang.c:330
 #, fuzzy, c-format
 msgid "Certificate #%d\n"
 msgstr "sÃ¼zgeÃ§ dosyasÄ±nÄ± dÃ¼zenle"
 
-#: src/lang.c:327
+#: src/lang.c:332
 #, c-format
 msgid "Issuer : %s\n"
 msgstr ""
 
-#: src/lang.c:328
+#: src/lang.c:333
 #, fuzzy
 msgid ""
 "\n"
@@ -1047,12 +1072,12 @@ msgstr ""
 "Grup/zincir/makale iÅŸlemleri\n"
 "-------------------------------"
 
-#: src/lang.c:329
+#: src/lang.c:334
 #, fuzzy, c-format
 msgid "Subject: %s\n"
 msgstr "Konu"
 
-#: src/lang.c:330
+#: src/lang.c:335
 #, fuzzy
 msgid ""
 "\n"
@@ -1062,139 +1087,145 @@ msgstr ""
 "Etki alanÄ± iÅŸlemleri\n"
 "----------------"
 
-#: src/lang.c:333
+#: src/lang.c:336
+msgid "trusted"
+msgstr ""
+
+#: src/lang.c:337
+msgid "untrusted"
+msgstr ""
+
+#: src/lang.c:339
 msgid "UNEXPECTED, possible BUG"
 msgstr ""
 
-#: src/lang.c:334
+#: src/lang.c:340
 msgid "tolerated as \"-k\" (insecure) requested"
 msgstr ""
 
-#: src/lang.c:335
+#: src/lang.c:341
 #, c-format
 msgid ""
 "Server certificate verification FAILED:\n"
 "\t%s (%s)\n"
 msgstr ""
 
-#: src/lang.c:336
+#: src/lang.c:342
 #, fuzzy
 msgid "Server certificate verified successfully.\n"
 msgstr "newsrc dosyasÄ± baÅŸarÄ±yla kaydedildi.\n"
 
-#: src/lang.c:338
-msgid "trusted"
-msgstr ""
-
-#: src/lang.c:339
-msgid "untrusted"
-msgstr ""
-
-#: src/lang.c:342
+#: src/lang.c:346
 msgid "Server certificate verification FAILED: <can't get reason>\n"
 msgstr ""
 
-#: src/lang.c:346
+#: src/lang.c:350
 #, c-format
 msgid "%s %s (strength %d)\n"
 msgstr ""
 
-#: src/lang.c:353
+#: src/lang.c:357
 #, c-format
 msgid "Cook article failed, %s is exiting"
 msgstr "Makale piÅŸirme baÅŸarÄ±sÄ±z, %s Ã§Ä±kÄ±yor"
 
-#: src/lang.c:354
+#: src/lang.c:358
 msgid "<CR>"
 msgstr "<CR>"
 
-#: src/lang.c:355
+#: src/lang.c:359
 msgid "Creating active file for saved groups...\n"
 msgstr "Kaydedilen gruplar iÃ§in aktif dosya oluÅŸturuyor...\n"
 
-#: src/lang.c:356
-msgid "Creating newsrc file...\n"
+#: src/lang.c:360
+#, fuzzy, c-format
+msgid "Creating %s file...\n"
 msgstr "Newsrc dosyasÄ± oluÅŸturuluyor...\n"
 
-#: src/lang.c:358 src/lang.c:1666 src/lang.c:1686
+#: src/lang.c:362 src/lang.c:1715 src/lang.c:1735
 msgid "Default"
 msgstr "Ã–ntanÄ±mlÄ±"
 
-#: src/lang.c:359
+#: src/lang.c:363
 msgid "Delete saved files that have been post processed?"
 msgstr "Sonradan iÅŸlenen kaydedilmiÅŸ dosyalarÄ± sil?"
 
-#: src/lang.c:360
+#: src/lang.c:364
 msgid "Deleting temporary files..."
 msgstr "GeÃ§ici dosyalar siliniyor..."
 
-#: src/lang.c:362
+#: src/lang.c:366
 msgid "*** End of article ***"
 msgstr "*** Makalenin sonu ***"
 
-#: src/lang.c:363
+#: src/lang.c:367
 msgid "*** End of articles ***"
 msgstr "*** Makalelerin sonu ***"
 
-#: src/lang.c:364
+#: src/lang.c:368
 msgid "*** End of attachments ***"
 msgstr "*** Eklerin sonu ***"
 
-#: src/lang.c:365
+#: src/lang.c:369
 msgid "*** End of groups ***"
 msgstr "*** GruplarÄ±n sonu ***"
 
-#: src/lang.c:366
+#: src/lang.c:370
 msgid "*** End of page ***"
 msgstr "*** SayfanÄ±n sonu ***"
 
-#: src/lang.c:367
+#: src/lang.c:371
 #, fuzzy
 msgid "*** End of posted articles ***"
 msgstr "*** Makalelerin sonu ***"
 
-#: src/lang.c:368
+#: src/lang.c:372
 msgid "*** End of scopes ***"
 msgstr "*** KapsamlarÄ±n sonu ***"
 
-#: src/lang.c:369
+#: src/lang.c:373
 msgid "*** End of thread ***"
 msgstr "***E-posta zincirinin sonu***"
 
-#: src/lang.c:370
+#: src/lang.c:374
 msgid "*** End of URLs ***"
 msgstr "***URL'lerin sonu***"
 
-#: src/lang.c:371
+#: src/lang.c:375
 msgid "Enter limit of articles to get> "
 msgstr "Getirilecek makalelerin sÄ±nÄ±rÄ±nÄ± girin> "
 
-#: src/lang.c:372
+#: src/lang.c:376
 msgid "Enter Message-ID to go to> "
 msgstr "Gidilecek mesaj kimlik numarasÄ± girin> "
 
-#: src/lang.c:373
+#: src/lang.c:377
 msgid " and enter next unread thread"
 msgstr " ve sonraki okunmamÄ±ÅŸ e-posta zincirine girin"
 
-#: src/lang.c:374
+#: src/lang.c:378
 msgid " and enter next unread article"
 msgstr " ve sonraki okunmamÄ±ÅŸ makaleye girin"
 
-#: src/lang.c:375
+#: src/lang.c:379
 msgid " and enter next unread group"
 msgstr " ve sonraki okunmamÄ±ÅŸ eposta grubuna girin"
 
-#: src/lang.c:376
+#: src/lang.c:380
 msgid "Enter option number> "
 msgstr "SeÃ§enek numarasÄ±nÄ± yazÄ±n> "
 
-#: src/lang.c:377
+#: src/lang.c:381
 #, c-format
 msgid "Enter range [%s]> "
 msgstr "AralÄ±k Girin [%s]> "
 
-#: src/lang.c:378
+#: src/lang.c:382
+#, fuzzy, c-format
+msgid "Error: Could not appended %s to %s"
+msgstr "Hata: %s'den %s'ye yeniden adlandÄ±rma"
+
+#: src/lang.c:383
 msgid ""
 "\n"
 "Warning: Approved: header used.\n"
@@ -1202,23 +1233,31 @@ msgstr ""
 "\n"
 "UyarÄ±: OnaylandÄ±: baÅŸlÄ±k kullanÄ±ldÄ±.\n"
 
-#: src/lang.c:382
-msgid ""
-"\n"
-"Error: Bad address in Approved: header.\n"
+#: src/lang.c:384
+#, c-format
+msgid "  Line %d: \"%s\": given string too long.\n"
 msgstr ""
-"\n"
-"Hata: Onaylananda bozuk adres: baÅŸlÄ±k.\n"
 
-#: src/lang.c:383
+#: src/lang.c:385
+#, fuzzy, c-format
+msgid "  Line %d: \"%s\": unrecognized attribute.\n"
+msgstr "TanÄ±nmayan Ã¶znitelik: %s"
+
+#: src/lang.c:386
+#, c-format
+msgid "  Line %d: \"%s\": malformed line, '=' missing.\n"
+msgstr ""
+
+#: src/lang.c:390
+#, fuzzy, c-format
 msgid ""
 "\n"
-"Error: Bad address in From: header.\n"
+"Error: Bad address in \"%s\" header.\n"
 msgstr ""
 "\n"
 "Hata: GÃ¶nderende bozuk adres: baÅŸlÄ±k.\n"
 
-#: src/lang.c:384
+#: src/lang.c:391
 msgid ""
 "\n"
 "Error: Bad FQDN in Message-ID: header.\n"
@@ -1226,55 +1265,60 @@ msgstr ""
 "\n"
 "Hata: Mesaj kimlik numarasÄ±nda bozuk FQDN: baÅŸlÄ±k.\n"
 
-#: src/lang.c:385
-msgid ""
-"\n"
-"Error: Bad address in Reply-To: header.\n"
-msgstr ""
-"\n"
-"Hata: YanÄ±tlanacak Adreste bozuk adres: baÅŸlÄ±k\n"
-
-#: src/lang.c:386
-msgid ""
-"\n"
-"Error: Bad address in To: header.\n"
-msgstr ""
-"\n"
-"Hata: GÃ¶nderende bozuk adres: baÅŸlÄ±k.\n"
+#: src/lang.c:393
+#, fuzzy, c-format
+msgid "Can't use literal IPv%d-address %s with TLS (-T)"
+msgstr "Eposta adresi yok"
 
-#: src/lang.c:388
+#: src/lang.c:396
 #, c-format
 msgid "Can't unlock %s"
 msgstr "AÃ§Ä±lamÄ±yor %s"
 
-#: src/lang.c:389
+#: src/lang.c:397
 #, c-format
 msgid "Couldn't dotlock %s - article not appended!"
 msgstr "dotlock yapÄ±lamadÄ± %s- makale eklenmedi!"
 
-#: src/lang.c:390
+#: src/lang.c:398
 #, c-format
 msgid "Couldn't lock %s - article not appended!"
 msgstr "%s kapatÄ±lamÄ±yor - makale eklenmedi!"
 
-#: src/lang.c:393
+#: src/lang.c:401
 #, c-format
 msgid ""
 "Server requires authentication but compression (-C) is already active.\n"
 "Restart %s with -A cmd.-line switch in conjunction with -C.\n"
 msgstr ""
 
-#: src/lang.c:396
+#: src/lang.c:404
 #, c-format
 msgid "Corrupted file %s"
 msgstr "BozulmuÅŸ dosya %s"
 
-#: src/lang.c:397
+#: src/lang.c:406
 #, c-format
 msgid "couldn't expand %s\n"
 msgstr "%s geniÅŸletilemedi\n"
 
-#: src/lang.c:399
+#: src/lang.c:408
+#, fuzzy, c-format
+msgid "Error: Custom format empty. Using default \"%s\"."
+msgstr ""
+"Hata: Ã–zelleÅŸtirilmiÅŸ biÃ§im ekran geniÅŸliÄŸini aÅŸÄ±yor. VarsayÄ±lan \"%s\" "
+"kullanÄ±lÄ±yor."
+
+#: src/lang.c:409
+#, fuzzy
+msgid ""
+"\n"
+"Error: Article is empty.\n"
+msgstr ""
+"\n"
+"Hata: \"%s:\" satÄ±rÄ± boÅŸ.\n"
+
+#: src/lang.c:411
 msgid ""
 "\n"
 "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n"
@@ -1282,38 +1326,43 @@ msgstr ""
 "\n"
 "Hata: \"poster\" ve bir haber grubu iÃ§in takip-et'e izin verilmiyor\n"
 
-#: src/lang.c:400
+#: src/lang.c:412
 #, c-format
 msgid "Error: Custom format exceeds screen width. Using default \"%s\"."
 msgstr ""
 "Hata: Ã–zelleÅŸtirilmiÅŸ biÃ§im ekran geniÅŸliÄŸini aÅŸÄ±yor. VarsayÄ±lan \"%s\" "
 "kullanÄ±lÄ±yor."
 
-#: src/lang.c:401
+#: src/lang.c:413
 msgid "Internal error in GNKSA routine - send bug report.\n"
 msgstr "GNKSA yordamÄ±nda iÃ§ hata - hata raporu gÃ¶nder.\n"
 
-#: src/lang.c:402
+#: src/lang.c:414
 msgid "Left angle bracket missing in route address.\n"
 msgstr "Yol adresinde kÃ¼Ã§Ã¼ktÃ¼r iÅŸareti eksik.\n"
 
-#: src/lang.c:403
+#: src/lang.c:415
 msgid "Left parenthesis missing in old-style address.\n"
 msgstr "Eski-biÃ§emli adreste sol ayraÃ§ eksik.\n"
 
-#: src/lang.c:404
+#: src/lang.c:416
 msgid "Right parenthesis missing in old-style address.\n"
 msgstr "Eski-biÃ§emli adreste saÄŸ ayraÃ§ eksik.\n"
 
-#: src/lang.c:405
+#: src/lang.c:417
 msgid "At-sign missing in mail address.\n"
 msgstr "Posta adresinde @ iÅŸareti eksik.\n"
 
-#: src/lang.c:406
+#: src/lang.c:418
+#, fuzzy
+msgid "Right angle bracket missing in route address.\n"
+msgstr "Yol adresinde kÃ¼Ã§Ã¼ktÃ¼r iÅŸareti eksik.\n"
+
+#: src/lang.c:419
 msgid "Single component FQDN is not allowed. Add your domain.\n"
 msgstr "FQDN tekli bileÅŸenine izin verilmedi. Alan adÄ±nÄ±zÄ± ekleyin.\n"
 
-#: src/lang.c:407
+#: src/lang.c:420
 msgid ""
 "Invalid domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1322,7 +1371,7 @@ msgstr ""
 "gÃ¶nderin.\n"
 "KorunmuÅŸ adresler iÃ§in Ã¼st seviye alan adÄ± olarak .invalid kullanÄ±n.\n"
 
-#: src/lang.c:408
+#: src/lang.c:421
 msgid ""
 "Illegal domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1331,7 +1380,7 @@ msgstr ""
 "gÃ¶nderin.\n"
 "KorunmuÅŸ adresler iÃ§in Ã¼st seviye etki alanÄ± olarak .invalid kullanÄ±n.\n"
 
-#: src/lang.c:409
+#: src/lang.c:422
 msgid ""
 "Unknown domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1340,53 +1389,53 @@ msgstr ""
 "gÃ¶nderin.\n"
 "KorunmuÅŸ adresler iÃ§in Ã¼st seviye alan adÄ± olarak .invalid kullanÄ±n.\n"
 
-#: src/lang.c:410
+#: src/lang.c:423
 msgid "Illegal character in FQDN.\n"
 msgstr "FQDN'de kuraldÄ±ÅŸÄ± karakter.\n"
 
-#: src/lang.c:411
+#: src/lang.c:424
 msgid "Zero length FQDN component not allowed.\n"
 msgstr "SÄ±fÄ±r uzunluklu FQDN bileÅŸenine izin verilmedi. \n"
 
-#: src/lang.c:412
+#: src/lang.c:425
 msgid "FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr "FQDN bileÅŸeni izin verilen en fazla uzunluÄŸu aÅŸÄ±yor (63 karakter).\n"
 
-#: src/lang.c:413
+#: src/lang.c:426
 msgid "FQDN component may not start or end with hyphen.\n"
 msgstr "FQDN bileÅŸeni tire ile baÅŸlamayabilir veya bitmeyebilir.\n"
 
-#: src/lang.c:414
+#: src/lang.c:427
 msgid "FQDN component may not start with digit.\n"
 msgstr "FQDN bileÅŸeni sayÄ± ile baÅŸlamayabilir.\n"
 
-#: src/lang.c:415
+#: src/lang.c:428
 msgid "Domain literal has impossible numeric value.\n"
 msgstr "Alan adÄ± ifadesi imkansÄ±z sayÄ±sal deÄŸer iÃ§eriyor.\n"
 
-#: src/lang.c:416
+#: src/lang.c:429
 msgid ""
 "Domain literal is for private use only and not allowed for global use.\n"
 msgstr ""
 "Alan adÄ± ifadesi Ã¶zel kullanÄ±m iÃ§indir ve genel kullanÄ±ma izin verilmez.\n"
 
-#: src/lang.c:417
+#: src/lang.c:430
 msgid "Right bracket missing in domain literal.\n"
 msgstr "Alan adÄ± ifadesinde saÄŸ kÃ¶ÅŸeli parantez eksik.\n"
 
-#: src/lang.c:418
+#: src/lang.c:431
 msgid "Missing localpart of mail address.\n"
 msgstr "Posta adresinin yerel kÄ±smÄ± eksik.\n"
 
-#: src/lang.c:419
+#: src/lang.c:432
 msgid "Illegal character in localpart of mail address.\n"
 msgstr "Posta adresinin yerel kÄ±smÄ±nda kuraldÄ±ÅŸÄ± karakter.\n"
 
-#: src/lang.c:420
+#: src/lang.c:433
 msgid "Zero length localpart component not allowed.\n"
 msgstr "SÄ±fÄ±r uzunluklu localpart bileÅŸenine izin verilmedi.\n"
 
-#: src/lang.c:421
+#: src/lang.c:434
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
@@ -1394,7 +1443,7 @@ msgstr ""
 "GerÃ§ek isimde kuraldÄ±ÅŸÄ± karakter.\n"
 "AlÄ±ntÄ±lanmamÄ±ÅŸ sÃ¶zcÃ¼kler rota adreslerinde  '!()<>@,;:\\.[]' iÃ§ermeyebilir.\n"
 
-#: src/lang.c:422
+#: src/lang.c:435
 msgid ""
 "Illegal character in realname.\n"
 "Quoted words may not contain '()<>\\'.\n"
@@ -1402,7 +1451,7 @@ msgstr ""
 "GerÃ§ek isimde kuraldÄ±ÅŸÄ± karakter.\n"
 "AlÄ±ntÄ±lanmÄ±ÅŸ sÃ¶zcÃ¼kler '()<>\\' iÃ§ermeyebilir.\n"
 
-#: src/lang.c:423
+#: src/lang.c:436
 msgid ""
 "Illegal character in realname.\n"
 "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
@@ -1410,11 +1459,11 @@ msgstr ""
 "GerÃ§ek isimde kuraldÄ±ÅŸÄ± karakter.\n"
 "KodlanmÄ±ÅŸ sÃ¶zcÃ¼kler parametrelerde '!()<>@,;:\"\\.[]/= iÃ§ermeyebilir.\n"
 
-#: src/lang.c:424
+#: src/lang.c:437
 msgid "Bad syntax in encoded word used in realname.\n"
 msgstr "GerÃ§ek isimde kullanÄ±lan kodlanmÄ±ÅŸ sÃ¶zcÃ¼kte bozuk sÃ¶zdizimi.\n"
 
-#: src/lang.c:425
+#: src/lang.c:438
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '()<>\\' in old-style addresses.\n"
@@ -1422,7 +1471,7 @@ msgstr ""
 "GerÃ§ek isimde kuraldÄ±ÅŸÄ± karakter.\n"
 "AlÄ±ntÄ±lanmamÄ±ÅŸ sÃ¶zcÃ¼kler eski-biÃ§emli adreslerde '()<>\\' iÃ§ermeyebilir.\n"
 
-#: src/lang.c:426
+#: src/lang.c:439
 msgid ""
 "Illegal character in realname.\n"
 "Control characters and unencoded 8bit characters > 127 are not allowed.\n"
@@ -1431,7 +1480,12 @@ msgstr ""
 "Denetim karakterlerine ve kodlanmamÄ±ÅŸ 127'den bÃ¼yÃ¼k 8bit karakterlerine izin "
 "verilmiyor.\n"
 
-#: src/lang.c:427
+#: src/lang.c:440
+#, fuzzy
+msgid "Missing realname.\n"
+msgstr "Eksik bÃ¶lÃ¼mler var."
+
+#: src/lang.c:441
 msgid ""
 "\n"
 "Error: No blank line found after header.\n"
@@ -1439,7 +1493,16 @@ msgstr ""
 "\n"
 "Hata: Ãœst bilgiden sonra sonra boÅŸ satÄ±r bulunamadÄ±.\n"
 
-#: src/lang.c:428
+#: src/lang.c:442
+#, fuzzy
+msgid ""
+"\n"
+"Error: Illegal Distribution \"all\" used.\n"
+msgstr ""
+"\n"
+"Hata: GeÃ§ersiz biÃ§imlendirilmiÅŸ %s.\n"
+
+#: src/lang.c:443
 #, c-format
 msgid ""
 "\n"
@@ -1451,7 +1514,7 @@ msgstr ""
 #  TODO: fixme, US-ASCII is not the only 7bit charset we know about
 #   TODO:beni dÃ¼zelt, US-ASCII bilinen tek 7bit karakter seti deÄŸildir.
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:430
+#: src/lang.c:445
 msgid ""
 "\n"
 "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
@@ -1467,7 +1530,7 @@ msgstr ""
 "uygun deÄŸerlere\n"
 "       dÃ¶nÃ¼ÅŸtÃ¼rÃ¼n.\n"
 
-#: src/lang.c:435
+#: src/lang.c:450
 msgid ""
 "\n"
 "Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
@@ -1486,7 +1549,7 @@ msgstr ""
 "ya  da tinrc\n"
 "       dosyasÄ± dÃ¼zenlenerek yapÄ±labilir.\n"
 
-#: src/lang.c:441
+#: src/lang.c:456
 msgid ""
 "\n"
 "Error: Article starts with blank line instead of header\n"
@@ -1494,7 +1557,7 @@ msgstr ""
 "\n"
 "Hata: Makale Ã¼st bilgi yerine boÅŸ satÄ±rla baÅŸlÄ±yor\n"
 
-#: src/lang.c:442
+#: src/lang.c:457
 #, c-format
 msgid ""
 "\n"
@@ -1506,7 +1569,7 @@ msgstr ""
 "bulundurmuyor:\n"
 "%s\n"
 
-#: src/lang.c:443
+#: src/lang.c:458
 #, c-format
 msgid ""
 "\n"
@@ -1515,7 +1578,7 @@ msgstr ""
 "\n"
 "Hata: \"%s:\" satÄ±rÄ± boÅŸ.\n"
 
-#: src/lang.c:444
+#: src/lang.c:459
 #, c-format
 msgid ""
 "\n"
@@ -1524,7 +1587,7 @@ msgstr ""
 "\n"
 "Hata: Makale Ã¼st bilgisinden sonra \"%s:\" satÄ±rÄ± eksik.\n"
 
-#: src/lang.c:445
+#: src/lang.c:460
 #, c-format
 msgid ""
 "\n"
@@ -1533,7 +1596,7 @@ msgstr ""
 "\n"
 "Hata: %s 7bit olmayan karakterler iÃ§eriyor.\n"
 
-#: src/lang.c:446
+#: src/lang.c:461
 #, c-format
 msgid ""
 "\n"
@@ -1544,7 +1607,7 @@ msgstr ""
 "Hata: %d satÄ±rÄ±ndaki Ã¼st bilgide iki noktadan sonra sonra boÅŸluk yok:\n"
 "%s\n"
 
-#: src/lang.c:447
+#: src/lang.c:462
 #, c-format
 msgid ""
 "\n"
@@ -1553,7 +1616,7 @@ msgstr ""
 "\n"
 "Hata: Ãœst bilgide (%d) \"%s:\" satÄ±rlarÄ±ndan birden fazla var.\n"
 
-#: src/lang.c:448
+#: src/lang.c:463
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -1564,35 +1627,47 @@ msgstr ""
 "Hata: %d satÄ±rÄ±ndaki Ã¼st bilgide iki noktadan sonra sonra boÅŸluk yok:\n"
 "%s\n"
 
-#: src/lang.c:450
+#: src/lang.c:464
+msgid ""
+"\n"
+"Error: This is a mailgroup, but a recipient (\"To:\") is missing.\n"
+msgstr ""
+
+#: src/lang.c:465
+#, c-format
+msgid "Mixed up '-f'/'-F'? %s %s"
+msgstr ""
+
+#: src/lang.c:467
 #, c-format
 msgid "Insecure permissions of %s (%o)"
 msgstr "%s'de gÃ¼venli olmayan yetkiler (%o)"
 
-#: src/lang.c:453
+#: src/lang.c:470
 #, fuzzy, c-format
 msgid "Line %d is longer than %d octets and should be folded.\n"
 msgstr ""
 "%d satÄ±rÄ± %d oktetten daha uzun ve kÄ±saltÄ±lmalÄ±, fakat\n"
 "kodlama %s deÄŸerine ayarlÄ± deÄŸil\n"
 
-#: src/lang.c:455
+#: src/lang.c:472
 #, fuzzy, c-format
 msgid "Line %d is longer than %d octets and should be shortened.\n"
 msgstr ""
 "%d satÄ±rÄ± %d oktetten daha uzun ve kÄ±saltÄ±lmalÄ±, fakat\n"
 "kodlama %s deÄŸerine ayarlÄ± deÄŸil\n"
 
-#: src/lang.c:461
-#, c-format
-msgid "MIME parse error: Unexpected end of %s/%s article"
-msgstr "MIME ayrÄ±ÅŸtÄ±rma hatasÄ±: Makale %s/%s iÃ§in beklenmeyen son"
+#: src/lang.c:477
+#, fuzzy, c-format
+msgid "MIME parse error: Unexpected end of %s/%s article\n"
+msgstr "MIME ayrÄ±ÅŸtÄ±rma hatasÄ±: Makale %s/%s iÃ§in beklenmeyen son\n"
 
-#: src/lang.c:462
-msgid "MIME parse error: Start boundary whilst reading headers"
-msgstr "MIME ayrÄ±ÅŸtÄ±rma hatasÄ±: BaÅŸlÄ±klarÄ± okurken baÅŸlatma sÄ±nÄ±rÄ±"
+#: src/lang.c:478
+#, fuzzy
+msgid "MIME parse error: Start boundary whilst reading headers\n"
+msgstr "MIME ayrÄ±ÅŸtÄ±rma hatasÄ±: BaÅŸlÄ±klarÄ± okurken baÅŸlatma sÄ±nÄ±rÄ±\n"
 
-#: src/lang.c:464
+#: src/lang.c:479
 msgid ""
 "\n"
 "Error: \"poster\" is not allowed in Newsgroups!\n"
@@ -1600,16 +1675,11 @@ msgstr ""
 "\n"
 "Hata: Haber gruplarÄ±nda \"poster\" izin verilmiyor!\n"
 
-#: src/lang.c:465
+#: src/lang.c:480
 msgid "Can't get a (fully-qualified) domain-name!"
 msgstr "(tam yetkinlikte) bir alan adÄ± alÄ±namadÄ±!"
 
-#: src/lang.c:466
-#, c-format
-msgid "No permissions to go into %s\n"
-msgstr "%s'e giriÅŸ yetkisi yok\n"
-
-#: src/lang.c:468
+#: src/lang.c:482
 msgid ""
 "\n"
 "Error: From: line missing.\n"
@@ -1617,34 +1687,44 @@ msgstr ""
 "\n"
 "Hata: GÃ¶nderen: satÄ±rÄ± eksik.\n"
 
-#: src/lang.c:470
+#: src/lang.c:485
+#, c-format
+msgid "No permissions to go into %s\n"
+msgstr "%s'e giriÅŸ yetkisi yok\n"
+
+#: src/lang.c:486
 #, c-format
 msgid "No read permissions for %s\n"
 msgstr "%s iÃ§in okuma yetkisi yok\n"
 
-#: src/lang.c:471
+#: src/lang.c:487
 #, c-format
 msgid "File %s does not exist\n"
 msgstr "%s dosyasÄ± yok\n"
 
-#: src/lang.c:472
+#: src/lang.c:488
 #, c-format
 msgid "No write permissions for %s\n"
 msgstr "%s iÃ§in yazma yetkisi yok\n"
 
-#: src/lang.c:473
+#: src/lang.c:490
+#, fuzzy, c-format
+msgid "Not a literal IPv6 address: %s"
+msgstr "Eposta adresi yok"
+
+#: src/lang.c:493
 msgid "Can't get user information (/etc/passwd missing?)"
 msgstr "KullanÄ±cÄ± bilgisi alÄ±namÄ±yor (/etc/passwd kayÄ±p?)"
 
-#: src/lang.c:475
+#: src/lang.c:495
 msgid "errors"
 msgstr "hatalar"
 
-#: src/lang.c:476
+#: src/lang.c:496
 msgid "error"
 msgstr "hata"
 
-#: src/lang.c:479
+#: src/lang.c:499
 #, c-format
 msgid ""
 "\n"
@@ -1654,63 +1734,63 @@ msgstr ""
 "%d satÄ±rÄ±nda hata: \"GÃ¶nderen:\" baÅŸlÄ±ÄŸÄ±na izin verilmedi (sizin iÃ§in "
 "eklenecek)\n"
 
-#: src/lang.c:481
+#: src/lang.c:501
 #, c-format
 msgid "Server has non of the groups listed in %s"
 msgstr "Sunucuda %s'de listelenen gruplarÄ±n hiÃ§biri yok "
 
-#: src/lang.c:482
+#: src/lang.c:502
 #, c-format
 msgid "Error: unlink %s"
 msgstr ""
 
-#: src/lang.c:483
+#: src/lang.c:503
 msgid "Unknown display level"
 msgstr "Bilinmeyen gÃ¶sterim dÃ¼zeyi"
 
-#: src/lang.c:485
+#: src/lang.c:505
 msgid "Unreachable?\n"
 msgstr "UlaÅŸÄ±lamaz?\n"
 
-#: src/lang.c:487
+#: src/lang.c:507
 msgid "<ESC>"
 msgstr "<ESC>"
 
-#: src/lang.c:488
+#: src/lang.c:508
 msgid "Exiting..."
 msgstr "Ã‡Ä±kÄ±lÄ±yor..."
 
-#: src/lang.c:489
+#: src/lang.c:509
 msgid "leaving external mail-reader"
 msgstr "harici eposta okuyucusundan Ã§Ä±kÄ±lÄ±yor"
 
-#: src/lang.c:490
+#: src/lang.c:510
 #, c-format
 msgid "Extracting %s..."
 msgstr "%s Ã§Ä±kartÄ±lÄ±yor..."
 
-#: src/lang.c:492
+#: src/lang.c:512
 #, c-format
 msgid "Error writing %s file. Filesystem full? File reset to previous state."
 msgstr ""
 "%s dosyasÄ±nÄ± yazarken hata oluÅŸtu. Dosya sistemi dolu olabilir mi? Dosya "
 "Ã¶nceki durumuna dÃ¶nÃ¼ÅŸtÃ¼rÃ¼ldÃ¼. "
 
-#: src/lang.c:493
+#: src/lang.c:513
 #, c-format
 msgid "Error making backup of %s file. Filesystem full?"
 msgstr "%s dosyasÄ±nÄ± yedeklerken hata oluÅŸtu. Dosya sistemi dolu olabilir mi?"
 
-#: src/lang.c:494
+#: src/lang.c:514
 #, fuzzy, c-format
 msgid "Filtering global rules (%d/%d) ('q' to quit)..."
 msgstr "Genel kurallar filtreleniyor (%d/%d)..."
 
-#: src/lang.c:495
+#: src/lang.c:515
 msgid "Rule created by: "
 msgstr "KuralÄ± oluÅŸturan: "
 
-#: src/lang.c:496
+#: src/lang.c:516
 #, fuzzy
 msgid ""
 "# Format:\n"
@@ -1774,12 +1854,12 @@ msgstr ""
 "#   time=SAYI          SeÃ§meli. KuralÄ±n sÃ¼resi dolunca time_t deÄŸeri\n"
 "#\n"
 
-#: src/lang.c:522
+#: src/lang.c:542
 #, c-format
 msgid "Enter score for rule (default=%d): "
 msgstr "Kural iÃ§in skoru yazÄ±n (varsayÄ±lan=%d): "
 
-#: src/lang.c:523
+#: src/lang.c:543
 #, c-format
 msgid "Enter the score weight (range 0 < score <= %d)"
 msgstr "Skor aÄŸÄ±rlÄ±ÄŸÄ±nÄ± yazÄ±n (aralÄ±k 0 < skor <= %d)"
@@ -1787,37 +1867,37 @@ msgstr "Skor aÄŸÄ±rlÄ±ÄŸÄ±nÄ± yazÄ±n (ar
 #  SCORE_MAX
 #  SCORE_MAX
 #. SCORE_MAX
-#: src/lang.c:524
+#: src/lang.c:544
 msgid "Full"
 msgstr "Tam"
 
-#: src/lang.c:525
+#: src/lang.c:545
 msgid "Comment (optional)  : "
 msgstr "Komut (seÃ§meli)  : "
 
-#: src/lang.c:527
+#: src/lang.c:547
 msgid "Malformed overview entry: servername missing."
 msgstr ""
 
-#: src/lang.c:528
+#: src/lang.c:548
 #, c-format
 msgid "\t Xref: %s"
 msgstr ""
 
-#: src/lang.c:529
+#: src/lang.c:549
 msgid "Skipping Xref filter"
 msgstr ""
 
-#: src/lang.c:531
+#: src/lang.c:551
 msgid "Apply pattern to    : "
 msgstr "Ã–rÃ¼ntÃ¼yÃ¼ uygula    : "
 
-#: src/lang.c:532
+#: src/lang.c:552
 #, c-format
 msgid "Enter pattern [%s]> "
 msgstr "Ã–rÃ¼ntÃ¼yÃ¼ girin [%s]> "
 
-#: src/lang.c:533
+#: src/lang.c:553
 #, c-format
 msgid ""
 "\n"
@@ -1826,52 +1906,52 @@ msgstr ""
 "\n"
 "Sonraki %s'e gitmek iÃ§in makalenize takip-et istediniz:\n"
 
-#: src/lang.c:534
+#: src/lang.c:554
 #, c-format
 msgid "  %s\t Answers will be directed to you by mail.\n"
 msgstr "  %s\t Cevaplar, size eposta ile yÃ¶nlendirilecek.\n"
 
-#: src/lang.c:535
+#: src/lang.c:555
 msgid "-- forwarded message --\n"
 msgstr "-- yÃ¶nlendirilmiÅŸ ileti --\n"
 
-#: src/lang.c:536
+#: src/lang.c:556
 msgid "-- end of forwarded message --\n"
 msgstr "-- yÃ¶nlendirilmiÅŸ iletinin sonu --\n"
 
-#: src/lang.c:537
+#: src/lang.c:557
 msgid "From: line (ignore case)      "
 msgstr "GÃ¶nderen: satÄ±r (bÃ¼yÃ¼k/kÃ¼Ã§Ã¼k harfleri yoksay)      "
 
-#: src/lang.c:538
+#: src/lang.c:558
 msgid "From: line (case sensitive)   "
 msgstr "GÃ¶nderen: satÄ±r (bÃ¼yÃ¼k/kÃ¼Ã§Ã¼k harfe duyarlÄ±)   "
 
-#: src/lang.c:541
+#: src/lang.c:561
 #, c-format
 msgid "%s%s: Unknown host.\n"
 msgstr "%s%s: Bilinmeyen sunucu.\n"
 
-#: src/lang.c:543
+#: src/lang.c:563
 msgid "global "
 msgstr "kÃ¼resel "
 
-#: src/lang.c:544
+#: src/lang.c:564
 #, c-format
 msgid "Please use %.100s instead"
 msgstr "LÃ¼tfen yerine %.100s kullanÄ±n"
 
-#: src/lang.c:545
+#: src/lang.c:565
 #, c-format
 msgid "%s is bogus"
 msgstr "%s sahte"
 
-#: src/lang.c:546
+#: src/lang.c:566
 #, c-format
 msgid "Group %s is moderated. Continue?"
 msgstr "%s yÃ¶neticili bir grup. Devam?"
 
-#: src/lang.c:547
+#: src/lang.c:567
 msgid "groups"
 msgstr "gruplar"
 
@@ -1882,857 +1962,862 @@ msgstr "gruplar"
 # #-#-#-#-#  tin4.po (PACKAGE VERSION)  #-#-#-#-#
 #  TODO: -> lang.c
 #  TODO: -> lang.c
-#: src/lang.c:548
+#: src/lang.c:568
 #, c-format
 msgid "Rereading %s..."
 msgstr "%s tekrar okunuyor..."
 
-#: src/lang.c:549
+#: src/lang.c:569
 msgid "Top Level Commands"
 msgstr "Ãœst DÃ¼zey Komutlar "
 
-#: src/lang.c:550
+#: src/lang.c:570
 msgid "Group Selection"
 msgstr "Grup SeÃ§imi"
 
-#: src/lang.c:551
+#: src/lang.c:571
 msgid "group"
 msgstr "grup"
 
-#: src/lang.c:552
+#: src/lang.c:572
 msgid ""
 "*** Group descriptions are disabled according to current select_format ***"
 msgstr ""
 "*** Grup tanÄ±mlarÄ± mevcut select_format ayarÄ±na gÃ¶re devre dÄ±ÅŸÄ± bÄ±rakÄ±ldÄ± ***"
 
-#: src/lang.c:554
+#: src/lang.c:574
 msgid ""
 "One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr ""
 "Yorumun bir veya birden Ã§ok satÄ±rÄ±. SatÄ±r boÅŸsa satÄ±r eklemek veya devam "
 "etmek iÃ§in <CR>."
 
-#: src/lang.c:555
+#: src/lang.c:575
 msgid "From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 "GÃ¶nderen: Filtre dosyasÄ±na eklenecek satÄ±r. <SPACE> deÄŸiÅŸtirir & <CR> "
 "ayarlar."
 
-#: src/lang.c:556
+#: src/lang.c:576
 msgid ""
 "Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr ""
 "Filtrelenecek makalelerin satÄ±r sayÄ±sÄ±. < daha az, > daha Ã§ok , = eÅŸit."
 
-#: src/lang.c:557
+#: src/lang.c:577
 msgid "Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Ä°leti-kimliÄŸi: Filtre dosyasÄ±na eklenecek satÄ±r. <SPACE> deÄŸiÅŸtirir & <CR> "
 "ayarlar."
 
-#: src/lang.c:558
+#: src/lang.c:578
 msgid "Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Konu: Dosya filtrelemek iÃ§in eklenecek satÄ±r. <SPACE> deÄŸiÅŸtirir & <CR> "
 "ayarlar."
 
-#: src/lang.c:559
+#: src/lang.c:579
 msgid ""
 "Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr ""
 "Konu: & GÃ¶nderen: satÄ±rlarÄ± istediÄŸiniz gibi deÄŸilse filtrelemek iÃ§in metin "
 "Ã¶rÃ¼ntÃ¼sÃ¼nÃ¼ girin."
 
-#: src/lang.c:560
+#: src/lang.c:580
 msgid ""
 "Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Metin Ã¶rÃ¼ntÃ¼sÃ¼nÃ¼n nereye uygulanacaÄŸÄ±nÄ± seÃ§in. <SPACE> deÄŸiÅŸtirir & <CR> "
 "ayarlar."
 
-#: src/lang.c:561
+#: src/lang.c:581
 msgid ""
 "Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 "YazÄ±lan sÃ¼zgeÃ§ iÃ§in gÃ¼n olarak kullanÄ±m sÃ¼resi bitimi. <SPACE> deÄŸiÅŸtirir & "
 "<CR> ayarlar."
 
-#: src/lang.c:562
+#: src/lang.c:582
 msgid ""
 "Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Ã–ldÃ¼rmeyi sadece mevcut grup veya bÃ¼tÃ¼n gruplar iÃ§in uygula. <SPACE> "
 "deÄŸiÅŸtirir & <CR>ayarlar."
 
-#: src/lang.c:563
+#: src/lang.c:583
 msgid ""
 "Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "SeÃ§imi mevcut grup veya bÃ¼tÃ¼n gruplar uygula. <SPACE> deÄŸiÅŸtirir & <CR> "
 "ayarlar."
 
-#: src/lang.c:564
+#: src/lang.c:584
 msgid "kill an article via a menu"
 msgstr "makaleyi menÃ¼ aracÄ±lÄ±ÄŸÄ±yla Ã¶ldÃ¼r"
 
-#: src/lang.c:565
+#: src/lang.c:585
 msgid "auto-select (hot) an article via a menu"
 msgstr "makaleyi menÃ¼ yardÄ±mÄ±yla otomatik seÃ§ (sÄ±cak)"
 
-#: src/lang.c:566
+#: src/lang.c:586
 msgid "Browse URLs in article"
 msgstr "Makaledeki URL'lere gÃ¶zat"
 
-#: src/lang.c:567
+#: src/lang.c:587
 msgid "0 - 9\t  display article by number in current thread"
 msgstr "0 - 9\t  makaleyi mevcut zincirdeki sayÄ±yla gÃ¶rÃ¼ntÃ¼le"
 
-#: src/lang.c:569
+#: src/lang.c:589
 msgid "cancel (delete) or supersede (overwrite) current article"
 msgstr "makaleyi iptal et (sil) veya dosyanÄ±n yerini al (Ã¼stÃ¼ne yaz)"
 
-#: src/lang.c:570
+#: src/lang.c:590
 msgid "post followup to current article"
 msgstr "mevcut makale iÃ§in devam iletisi gÃ¶nder"
 
-#: src/lang.c:571
+#: src/lang.c:591
 msgid "post followup (don't copy text) to current article"
 msgstr "mevcut makaleye devam iletisi gÃ¶nder (metni kopyalama)"
 
-#: src/lang.c:572
+#: src/lang.c:592
 msgid "post followup to current article quoting complete headers"
 msgstr "mevcut makaleye tÃ¼m Ã¼st bilgileri alÄ±ntÄ±layan devam iletisi gÃ¶nder"
 
-#: src/lang.c:573
+#: src/lang.c:593
 msgid "repost chosen article to another group"
 msgstr "seÃ§ilen makaleyi baÅŸka bir gruba yeniden gÃ¶nder"
 
-#: src/lang.c:575
+#: src/lang.c:595
 msgid "edit article (mail-groups only)"
 msgstr "makaleyi dÃ¼zenle (sadece eposta-gruplarÄ±)"
 
-#: src/lang.c:576
+#: src/lang.c:596
 msgid "display first article in current thread"
 msgstr "mevcut zincirdeki ilk makaleyi gÃ¶rÃ¼ntÃ¼le"
 
-#: src/lang.c:577
+#: src/lang.c:597
 msgid "display first page of article"
 msgstr "makalenin ilk sayfasÄ±nÄ± gÃ¶rÃ¼ntÃ¼le"
 
-#: src/lang.c:578
+#: src/lang.c:598
+#, fuzzy
+msgid "show MIME details of this article"
+msgstr "Makalede URL yok"
+
+#: src/lang.c:599
 msgid "display last article in current thread"
 msgstr "mevcut zincirdeki son makaleyi gÃ¶rÃ¼ntÃ¼le"
 
-#: src/lang.c:579
+#: src/lang.c:600
 msgid "display last page of article"
 msgstr "makalenin son sayfasnÄ± gÃ¶rÃ¼ntÃ¼le"
 
-#: src/lang.c:580
+#: src/lang.c:601
 msgid "mark rest of thread as read and advance to next unread"
 msgstr "zincirin kalanÄ±nÄ± okunmuÅŸ olarak iÅŸaretle ve sonraki okunmamÄ±ÅŸa geÃ§"
 
-#: src/lang.c:581
+#: src/lang.c:602
 msgid "display next article"
 msgstr "sonraki makaleyi gÃ¶rÃ¼ntÃ¼le"
 
-#: src/lang.c:582
+#: src/lang.c:603
 msgid "display first article in next thread"
 msgstr "sonraki zincirdeki ilk makaleyi gÃ¶rÃ¼ntÃ¼le"
 
-#: src/lang.c:583
+#: src/lang.c:604
 msgid "display next unread article"
 msgstr "sonraki okunmamÄ±ÅŸ makaleyi gÃ¶ster"
 
-#: src/lang.c:584
+#: src/lang.c:605
 msgid "go to the article that this one followed up"
 msgstr "bunu takip eden makaleye git"
 
-#: src/lang.c:585
+#: src/lang.c:606
 msgid "display previous article"
 msgstr "Ã¶nceki makaleyi gÃ¶rÃ¼ntÃ¼le"
 
-#: src/lang.c:586
+#: src/lang.c:607
 msgid "display previous unread article"
 msgstr "Ã¶nceki okunmamÄ±ÅŸ makaleyi gÃ¶rÃ¼ntÃ¼le"
 
-#: src/lang.c:587
+#: src/lang.c:608
 msgid "quickly kill an article using defaults"
 msgstr "varsayÄ±lanlarÄ± kullanarak makaleyi hemen Ã¶ldÃ¼r"
 
-#: src/lang.c:588
+#: src/lang.c:609
 msgid "quickly auto-select (hot) an article using defaults"
 msgstr "varsayÄ±lanlarÄ± kullanarak makaleyi hemen otomatik-seÃ§ (sÄ±cak)"
 
-#: src/lang.c:589
+#: src/lang.c:610
 msgid "return to group selection level"
 msgstr "grup seÃ§me seviyesine dÃ¶n"
 
-#: src/lang.c:590
+#: src/lang.c:611
 msgid "reply through mail to author"
 msgstr "yazara e-posta aracÄ±lÄ±ÄŸyla yanÄ±t ver"
 
-#: src/lang.c:591
+#: src/lang.c:612
 msgid "reply through mail (don't copy text) to author"
 msgstr "yazara e-posta aracÄ±lÄ±yla yanÄ±t ver (metni kopyalama)"
 
-#: src/lang.c:592
+#: src/lang.c:613
 msgid "reply through mail to author quoting complete headers"
 msgstr "Ã¼st bilgileri alÄ±ntÄ±layarak yazara e-posta aracÄ±lÄ±ÄŸÄ±yla yanÄ±t ver"
 
-#: src/lang.c:593
+#: src/lang.c:614
 msgid "search backwards within this article"
 msgstr "bu makalede geriye doÄŸru ara"
 
-#: src/lang.c:594
+#: src/lang.c:615
 msgid "search forwards within this article"
 msgstr "bu makalede ileriye doÄŸru ara"
 
-#: src/lang.c:595
+#: src/lang.c:616
 msgid "show article in raw-mode (including all headers)"
 msgstr "makaleyi ham-kipte gÃ¶ster (bÃ¼tÃ¼n Ã¼st bilgiler dahil)"
 
-#: src/lang.c:596
+#: src/lang.c:617
 msgid "skip next block of included text"
 msgstr "sonraki iÃ§eren metnin Ã¶beÄŸini atla"
 
-#: src/lang.c:597
+#: src/lang.c:618
 msgid "toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr ""
 "form-feed (Ë†L) ile gizlenen bÃ¶lÃ¼mlerin gÃ¶sterilmesini deÄŸiÅŸtir aÃ§Ä±k/kapalÄ±"
 
-#: src/lang.c:598
+#: src/lang.c:619
 msgid "toggle display of all headers"
 msgstr "tÃ¼m Ã¼st bilgilerin gÃ¶sterilmesini deÄŸiÅŸtir"
 
-#: src/lang.c:599
+#: src/lang.c:620
 msgid "toggle word highlighting on/off"
 msgstr "kelime vurgulamayÄ± deÄŸiÅŸtir aÃ§Ä±k/kapalÄ±"
 
-#: src/lang.c:600
+#: src/lang.c:621
 msgid "toggle ROT-13 (basic decode) for current article"
 msgstr "mevcut makale iÃ§in ROT-13 (temel kod Ã§Ã¶zÃ¼cÃ¼) deÄŸiÅŸtir"
 
-#: src/lang.c:601
+#: src/lang.c:622
 msgid "toggle tabwidth 4 <-> 8"
 msgstr "tab aralÄ±ÄŸÄ±nÄ± deÄŸiÅŸtir 4 <-> 8"
 
-#: src/lang.c:602
+#: src/lang.c:623
 #, fuzzy
 msgid "toggle German TeX style decoding for current article"
 msgstr "mevcut makale iÃ§in alman TeX biÃ§imi kod Ã§Ã¶zmeyi deÄŸiÅŸtir"
 
-#: src/lang.c:603
+#: src/lang.c:624
 msgid "toggle display of uuencoded sections"
 msgstr "uuencoded bÃ¶lÃ¼mlerin gÃ¶sterimini deÄŸiÅŸtir"
 
-#: src/lang.c:604
+#: src/lang.c:625
 msgid "View/pipe/save multimedia attachments"
 msgstr "Ã‡oklu-ortam eklerini gÃ¶rÃ¼ntÃ¼le/yÃ¶nlendir/kaydet"
 
-#: src/lang.c:605
+#: src/lang.c:626
 msgid "choose first attachment in list"
 msgstr "listedeki ilk eki seÃ§"
 
-#: src/lang.c:606
+#: src/lang.c:627
 msgid "0 - 9\t  choose attachment by number"
 msgstr "0 - 9\t  eki sayÄ±yla seÃ§"
 
-#: src/lang.c:607
+#: src/lang.c:628
 msgid "choose last attachment in list"
 msgstr "listedeki son eki seÃ§"
 
-#: src/lang.c:609
+#: src/lang.c:630
 msgid "pipe attachment into command"
 msgstr "eki komuta yÃ¶nlendir"
 
-#: src/lang.c:610
+#: src/lang.c:631
 msgid "pipe raw attachment into command"
 msgstr "ham eki komuta yÃ¶nlendir"
 
-#: src/lang.c:612
+#: src/lang.c:633
 msgid "save attachment to disk"
 msgstr "eki diske kaydet"
 
-#: src/lang.c:613
+#: src/lang.c:634
 msgid "search for attachments forwards"
 msgstr "ekleri ileriye doÄŸru ara"
 
-#: src/lang.c:614
+#: src/lang.c:635
 msgid "search for attachments backwards"
 msgstr "ekleri geriye doÄŸru ara"
 
-#: src/lang.c:615
+#: src/lang.c:636
 msgid "view attachment"
 msgstr "eki gÃ¶rÃ¼ntÃ¼le"
 
-#: src/lang.c:616
+#: src/lang.c:637
 msgid "tag attachment"
 msgstr "eki etiketle"
 
-#: src/lang.c:617
+#: src/lang.c:638
 msgid "tag attachments that match user specified pattern"
 msgstr "kullanÄ±cÄ± tarafÄ±ndan belirlenmiÅŸ Ã¶rÃ¼ntÃ¼ye uyan ekleri etiketle"
 
-#: src/lang.c:618
+#: src/lang.c:639
 msgid "reverse tagging on all attachments (toggle)"
 msgstr "tÃ¼m eklerdeki etiketleri ters Ã§evir (deÄŸiÅŸtir)"
 
-#: src/lang.c:619
+#: src/lang.c:640
 msgid "untag all tagged attachments"
 msgstr "etiketlenmiÅŸ bÃ¼tÃ¼n eklerin etiketlerini kaldÄ±r"
 
-#: src/lang.c:620
+#: src/lang.c:641
 msgid "toggle info message in last line (name/description of attachment)"
 msgstr "son satÄ±rdaki bilgi iletisini deÄŸiÅŸtir (isim/ekin tanÄ±mÄ±)"
 
-#: src/lang.c:621
+#: src/lang.c:642
 msgid "choose first attribute in list"
 msgstr "listedeki ilk Ã¶zelliÄŸi seÃ§"
 
-#: src/lang.c:622
+#: src/lang.c:643
 msgid "0 - 9\t  choose attribute by number"
 msgstr "0 - 9\t  Ã¶zelliÄŸi sayÄ±yla seÃ§"
 
-#: src/lang.c:623
+#: src/lang.c:644
 msgid "choose last attribute in list"
 msgstr "listedeki son Ã¶zniteliÄŸi seÃ§"
 
-#: src/lang.c:624
+#: src/lang.c:645
 msgid "reset attribute to a default value"
 msgstr "niteliÄŸi varsayÄ±lan deÄŸere sÄ±fÄ±rla"
 
-#: src/lang.c:625
-msgid "search forwards for an attribute"
-msgstr "ileriye doÄŸru Ã¶znitelik ismi ara"
-
-#: src/lang.c:626
+#: src/lang.c:646
 msgid "search backwards for an attribute"
 msgstr "geriye doÄŸru Ã¶znitelik ismi ara"
 
-#: src/lang.c:627
+#: src/lang.c:647
+msgid "search forwards for an attribute"
+msgstr "ileriye doÄŸru Ã¶znitelik ismi ara"
+
+#: src/lang.c:648
 msgid "select attribute"
 msgstr "nitelik seÃ§"
 
-#: src/lang.c:628
+#: src/lang.c:649
 msgid "toggle back to options menu when invoked from there"
 msgstr "oradan Ã§aÄŸrÄ±ldÄ±ÄŸÄ±nda seÃ§enekler menÃ¼sÃ¼ne geri deÄŸiÅŸtir"
 
-#: src/lang.c:629
+#: src/lang.c:650
 #, c-format
 msgid "report bug or comment via mail to %s"
 msgstr "%s'e eposta yoluyla yorum ya da hata bildir"
 
-#: src/lang.c:630
+#: src/lang.c:651
 msgid "choose first option in list"
 msgstr "listedeki ilk seÃ§eneÄŸi seÃ§"
 
-#: src/lang.c:631
+#: src/lang.c:652
 msgid "0 - 9\t  choose option by number"
 msgstr "0 - 9\t  seÃ§eneÄŸi sayÄ±yla seÃ§"
 
-#: src/lang.c:632
+#: src/lang.c:653
 msgid "choose last option in list"
 msgstr "listedeki son seÃ§eneÄŸi seÃ§"
 
-#: src/lang.c:633
+#: src/lang.c:654
 msgid "start scopes menu"
 msgstr "kapsam menÃ¼sÃ¼nÃ¼ baÅŸlat"
 
-#: src/lang.c:634
-msgid "search forwards for an option"
-msgstr "bir seÃ§enek iÃ§in ileriye doÄŸru ara"
-
-#: src/lang.c:635
+#: src/lang.c:655
 msgid "search backwards for an option"
 msgstr "bir seÃ§enek iÃ§in geriye doÄŸru ara"
 
-#: src/lang.c:636
+#: src/lang.c:656
+msgid "search forwards for an option"
+msgstr "bir seÃ§enek iÃ§in ileriye doÄŸru ara"
+
+#: src/lang.c:657
 msgid "select option"
 msgstr "seÃ§enek seÃ§"
 
-#: src/lang.c:637
+#: src/lang.c:658
 msgid "toggle to attributes menu"
 msgstr "nitelik menÃ¼sÃ¼ne deÄŸiÅŸtir"
 
-#: src/lang.c:638
+#: src/lang.c:659
 msgid "choose range of articles to be affected by next command"
 msgstr "sonraki komuttan etkilenecek makalelerin aralÄ±ÄŸÄ±nÄ± seÃ§"
 
-#: src/lang.c:639
+#: src/lang.c:660
 msgid "escape from command prompt"
 msgstr "komut isteminden Ã§Ä±k"
 
-#: src/lang.c:640
+#: src/lang.c:661
 msgid "edit filter file"
 msgstr "sÃ¼zgeÃ§ dosyasÄ±nÄ± dÃ¼zenle"
 
-#: src/lang.c:641
+#: src/lang.c:662
 msgid "get help"
 msgstr "yardÄ±m al"
 
-#: src/lang.c:642
+#: src/lang.c:663
 msgid "display last article viewed"
 msgstr "gÃ¶rÃ¼ntÃ¼lenen son makaleyi gÃ¶ster"
 
-#: src/lang.c:643
+#: src/lang.c:664
 msgid "down one line"
 msgstr "bir satÄ±r aÅŸaÄŸÄ±"
 
-#: src/lang.c:644
+#: src/lang.c:665
 msgid "up one line"
 msgstr "bir satÄ±r yukarÄ±"
 
-#: src/lang.c:645
+#: src/lang.c:666
 msgid "go to article chosen by Message-ID"
 msgstr "Ä°leti-kimliÄŸi tarafÄ±ndan seÃ§ilen makaleye git"
 
-#: src/lang.c:646
+#: src/lang.c:667
 msgid "mail article/thread/hot/pattern/tagged articles to someone"
 msgstr "makale/zincir/hot/Ã¶rÃ¼ntÃ¼/etiketlenmiÅŸ makaleleri baÅŸkasÄ±na postala"
 
-#: src/lang.c:647
+#: src/lang.c:668
 msgid "menu of configurable options"
 msgstr "yapÄ±landÄ±rabilir seÃ§enekler menÃ¼sÃ¼"
 
-#: src/lang.c:648
+#: src/lang.c:669
 msgid "down one page"
 msgstr "bir sayfa aÅŸaÄŸÄ±ya"
 
-#: src/lang.c:649
+#: src/lang.c:670
 msgid "up one page"
 msgstr "bir sayfa yukarÄ±ya"
 
-#: src/lang.c:651
+#: src/lang.c:672
 msgid "post (write) article to current group"
 msgstr "makaleyi mevcut gruba gÃ¶nder (yaz)"
 
-#: src/lang.c:652
+#: src/lang.c:673
 msgid "post postponed articles"
 msgstr "ertelenmiÅŸ makaleleri gÃ¶nder"
 
-#: src/lang.c:654
+#: src/lang.c:675
 msgid "list articles posted by you (from posted file)"
 msgstr "gÃ¶ndermiÅŸ olduÄŸunuz makaleleri listele (posted dosyasÄ±ndan)"
 
-#: src/lang.c:655
+#: src/lang.c:676
 msgid "return to previous menu"
 msgstr "Ã¶nceki menÃ¼ye geri dÃ¶n"
 
-#: src/lang.c:656
+#: src/lang.c:677
 msgid "quit tin immediately"
 msgstr "tin'den hemen Ã§Ä±k"
 
-#: src/lang.c:657
+#: src/lang.c:678
 msgid "redraw page"
 msgstr "sayfayÄ± yeniden Ã§iz"
 
-#: src/lang.c:658
+#: src/lang.c:679
 msgid "save article/thread/hot/pattern/tagged articles to file"
 msgstr "makale/zincir/sÄ±cak/Ã¶rÃ¼ntÃ¼/etiketlenmiÅŸ makaleleri dosyaya kaydet"
 
-#: src/lang.c:659
+#: src/lang.c:680
 msgid "save marked articles automatically without user prompts"
 msgstr "iÅŸaretlenmiÅŸ makaleleri kullanÄ±cÄ± istemi olmadan otomatik kaydet"
 
-#: src/lang.c:660
+#: src/lang.c:681
 msgid "scroll the screen one line down"
 msgstr "ekranÄ± bir satÄ±r aÅŸaÄŸÄ± kaydÄ±r"
 
-#: src/lang.c:661
+#: src/lang.c:682
 msgid "scroll the screen one line up"
 msgstr "ekranÄ± bir satÄ±r yukarÄ± kaydÄ±r"
 
-#: src/lang.c:662
+#: src/lang.c:683
 msgid "search for articles by author backwards"
 msgstr "makaleleri yazara gÃ¶re geriye doÄŸru ara"
 
-#: src/lang.c:663
+#: src/lang.c:684
 msgid "search for articles by author forwards"
 msgstr "makaleleri yazara gÃ¶re ileriye doÄŸru ara"
 
-#: src/lang.c:664
+#: src/lang.c:685
 msgid "search all articles for a given string (this may take some time)"
 msgstr "bÃ¼tÃ¼n makaleleri verilen dizgi iÃ§in ara (bu uzun sÃ¼rebilir)"
 
-#: src/lang.c:665
+#: src/lang.c:686
 msgid " \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr ""
 " \t  (aramalar bÃ¼yÃ¼k/kÃ¼Ã§Ã¼k harfe duyarlÄ±dÄ±r ve bÃ¼tÃ¼n makaleleri Ã§evreler)"
 
-#: src/lang.c:666
+#: src/lang.c:687
 msgid "search for articles by Subject line backwards"
 msgstr "makaleleri Konu satÄ±rÄ±na gÃ¶re geriye doÄŸru ara"
 
-#: src/lang.c:667
+#: src/lang.c:688
 msgid "search for articles by Subject line forwards"
 msgstr "makaleleri Konuya gÃ¶re ileriye doÄŸru ara "
 
-#: src/lang.c:668
+#: src/lang.c:689
 msgid "repeat last search"
 msgstr "son aramayÄ± tekrarla"
 
-#: src/lang.c:669
+#: src/lang.c:690
 msgid "tag current article for reposting/mailing/piping/printing/saving"
 msgstr ""
 "mevcut makaleyi yeniden gÃ¶nderme/postalama/yÃ¶nlendirme/yazdÄ±rma/kaydetme "
 "iÃ§in etiketle"
 
-#: src/lang.c:670
+#: src/lang.c:691
 msgid "toggle info message in last line (subject/description)"
 msgstr "son satÄ±rdaki bilgi iletisini deÄŸiÅŸtir (konu/tanÄ±m)"
 
-#: src/lang.c:671
+#: src/lang.c:692
 msgid "toggle inverse video"
 msgstr "ters videoyu deÄŸiÅŸtir"
 
-#: src/lang.c:672
+#: src/lang.c:693
 #, fuzzy
 msgid "toggle mini help menu and posting etiquette display"
 msgstr "mini yardÄ±m menÃ¼sÃ¼nÃ¼n gÃ¶rÃ¼nÃ¼mÃ¼nÃ¼ deÄŸiÅŸtir"
 
-#: src/lang.c:673
+#: src/lang.c:694
 msgid "cycle the display of authors email address, real name, both or neither"
 msgstr ""
 "yazarlarÄ±n e-posta adreslerinin, gerÃ§ek isimlerinin, ikisinin veya "
 "hiÃ§birinin gÃ¶rÃ¼nÃ¼mÃ¼nÃ¼ Ã§evir"
 
-#: src/lang.c:674
+#: src/lang.c:695
 msgid "show version information"
 msgstr "sÃ¼rÃ¼m bilgisini gÃ¶ster"
 
-#: src/lang.c:675
+#: src/lang.c:696
 msgid "mark all articles as read and return to group selection menu"
 msgstr ""
 "bÃ¼tÃ¼n makaleleri okunmuÅŸ olarak iÅŸaretle ve grup seÃ§me menÃ¼sÃ¼ne geri dÃ¶n"
 
-#: src/lang.c:676
+#: src/lang.c:697
 msgid "mark all articles as read and enter next group with unread articles"
 msgstr ""
 "bÃ¼tÃ¼n makaleleri okunmuÅŸ olarak iÅŸaretle ve okunmamÄ±ÅŸ makalelerin bulunduÄŸu "
 "sonraki gruba gir"
 
-#: src/lang.c:677
+#: src/lang.c:698
 msgid "choose first thread in list"
 msgstr "listedeki ilk eposta zincirini seÃ§"
 
-#: src/lang.c:678
+#: src/lang.c:699
 msgid "choose last thread in list"
 msgstr "listedeki son eposta zincirini seÃ§"
 
-#: src/lang.c:679
+#: src/lang.c:700
 msgid "list articles within current thread (bring up Thread sub-menu)"
 msgstr "mevcut zincirdeki baÅŸlÄ±klarÄ± listele (Zincir alt menÃ¼sÃ¼nÃ¼ aÃ§arak)"
 
-#: src/lang.c:680
+#: src/lang.c:701
 msgid "mark article as unread"
 msgstr "makaleyi okunmamÄ±ÅŸ olarak iÅŸaretle"
 
-#: src/lang.c:681
+#: src/lang.c:702
 msgid "mark current thread, range or tagged threads as read"
 msgstr ""
 "mevcut zincir, aralÄ±k veya etiketlenmiÅŸ zincirleri okunmuÅŸ olarak iÅŸaretle"
 
-#: src/lang.c:682
+#: src/lang.c:703
 msgid "mark current thread, range or tagged threads as unread"
 msgstr ""
 "mevcut zincir, aralÄ±k veya etiketlenmiÅŸ zincirleri okunmamÄ±ÅŸ olarak iÅŸaretle"
 
-#: src/lang.c:683
+#: src/lang.c:704
 msgid "mark current/range/selected/pattern/tagged as read after prompting"
 msgstr ""
 "mevcut/aralÄ±k/seÃ§ilmiÅŸ/Ã¶rÃ¼ntÃ¼/etiketlenmiÅŸleri onay sonrasÄ± okunmuÅŸ olarak "
 "iÅŸaretle"
 
-#: src/lang.c:684
+#: src/lang.c:705
 msgid "mark current/range/selected/pattern/tagged as unread after prompting"
 msgstr ""
 "mevcut/aralÄ±k/seÃ§ilmiÅŸ/Ã¶rÃ¼ntÃ¼/etiketlenmiÅŸleri onay sonrasÄ± okunmamÄ±ÅŸ olarak "
 "iÅŸaretle"
 
-#: src/lang.c:685
+#: src/lang.c:706
 msgid "toggle display of all/selected articles"
 msgstr "bÃ¼tÃ¼n/seÃ§ilen makalelerin gÃ¶rÃ¼nÃ¼mÃ¼nÃ¼ deÄŸiÅŸtir"
 
-#: src/lang.c:686
+#: src/lang.c:707
 msgid "display next group"
 msgstr "sonraki grubu gÃ¶rÃ¼ntÃ¼le"
 
-#: src/lang.c:687
+#: src/lang.c:708
 msgid "display previous group"
 msgstr "Ã¶nceki grubu gÃ¶rÃ¼ntÃ¼le"
 
-#: src/lang.c:688
+#: src/lang.c:709
 msgid "toggle all selections (all articles)"
 msgstr "bÃ¼tÃ¼n seÃ§imleri (bÃ¼tÃ¼n makaleleri) deÄŸiÅŸtir"
 
-#: src/lang.c:689
+#: src/lang.c:710
 msgid "select group (make \"hot\")"
 msgstr "grup seÃ§ (\"sÄ±cak\" yap)"
 
-#: src/lang.c:690
+#: src/lang.c:711
 msgid "select thread"
 msgstr "zincir seÃ§"
 
-#: src/lang.c:691
+#: src/lang.c:712
 msgid "select threads if at least one unread article is selected"
 msgstr "en az bir okunmamÄ±ÅŸ makalesi olan zincirleri seÃ§"
 
-#: src/lang.c:692
+#: src/lang.c:713
 msgid "select threads that match user specified pattern"
 msgstr "kullanÄ±cÄ± tanÄ±mlÄ± kalÄ±ba uyan eposta zincirlerini seÃ§"
 
-#: src/lang.c:693
+#: src/lang.c:714
 msgid "0 - 9\t  choose thread by number"
 msgstr "0 - 9\t  sayÄ±ya gÃ¶re eposta zinciri seÃ§"
 
-#: src/lang.c:694
+#: src/lang.c:715
 msgid "toggle limit number of articles to get, and reload"
 msgstr "alÄ±nacak ve yeniden yÃ¼klenecek makalelerin sÄ±nÄ±r sayÄ±sÄ±nÄ± deÄŸiÅŸtir"
 
-#: src/lang.c:695
+#: src/lang.c:716
 msgid "toggle display of all/unread articles"
 msgstr "bÃ¼tÃ¼n/okunmamÄ±ÅŸ makalelerin gÃ¶rÃ¼nÃ¼mÃ¼nÃ¼ deÄŸiÅŸtir"
 
-#: src/lang.c:696
+#: src/lang.c:717
 msgid "toggle selection of thread"
 msgstr "eposta zincirin seÃ§imini deÄŸiÅŸtir"
 
-#: src/lang.c:697
+#: src/lang.c:718
 msgid "cycle through threading options available"
 msgstr "kullanÄ±labilir eposta zinciri seÃ§eneklerini Ã§evir"
 
-#: src/lang.c:698
+#: src/lang.c:719
 msgid "undo all selections (all articles)"
 msgstr "bÃ¼tÃ¼n seÃ§imleri (bÃ¼tÃ¼n makaleleri) geri al"
 
-#: src/lang.c:699
+#: src/lang.c:720
 msgid "untag all tagged threads"
 msgstr "etiketlenmiÅŸ bÃ¼tÃ¼n eposta zincirlerinin etiketini kaldÄ±r"
 
-#: src/lang.c:700
+#: src/lang.c:721
 #, fuzzy
 msgid "search for articles forwards"
 msgstr "makaleleri yazara gÃ¶re ileriye doÄŸru ara"
 
-#: src/lang.c:701
+#: src/lang.c:722
 #, fuzzy
 msgid "search for articles backwards"
 msgstr "makaleleri yazara gÃ¶re geriye doÄŸru ara"
 
-#: src/lang.c:702
+#: src/lang.c:723
 #, fuzzy
 msgid "toggle info message in last line (Message-ID)"
 msgstr "son satÄ±rdaki bilgi iletisini deÄŸiÅŸtir (URL)"
 
-#: src/lang.c:703
+#: src/lang.c:724
 #, fuzzy
 msgid "Open article by Message-ID"
 msgstr "Ä°leti-kimliÄŸi tarafÄ±ndan seÃ§ilen makaleye git"
 
-#: src/lang.c:704
+#: src/lang.c:725
 msgid "add new scope"
 msgstr "yeni kapsam ekle"
 
-#: src/lang.c:705
+#: src/lang.c:726
 msgid "delete scope"
 msgstr "kapsam sil"
 
-#: src/lang.c:706
+#: src/lang.c:727
 msgid "edit attributes file"
 msgstr "Ã¶znitelikler dosyasÄ±nÄ± dÃ¼zenle"
 
-#: src/lang.c:707
+#: src/lang.c:728
 msgid "choose first scope in list"
 msgstr "listedeki ilk kapsamÄ± seÃ§"
 
-#: src/lang.c:708
+#: src/lang.c:729
 msgid "0 - 9\t  choose scope by number"
 msgstr "0 - 9\t  kapsamÄ± sayÄ±yla seÃ§"
 
-#: src/lang.c:709
+#: src/lang.c:730
 msgid "choose last scope in list"
 msgstr "listedeki son kapsamÄ± seÃ§"
 
-#: src/lang.c:710
+#: src/lang.c:731
 msgid "move scope"
 msgstr "kapsamÄ± kaydÄ±r"
 
-#: src/lang.c:711
+#: src/lang.c:732
 msgid "rename scope"
 msgstr "kapsamÄ± yeniden adlandÄ±r"
 
-#: src/lang.c:712
+#: src/lang.c:733
 msgid "select scope"
 msgstr "kapsam seÃ§"
 
-#: src/lang.c:713
+#: src/lang.c:734
 msgid "mark all articles in group as read"
 msgstr "gruptaki tÃ¼m makaleleri okunmuÅŸ olarak iÅŸaretle"
 
-#: src/lang.c:714
+#: src/lang.c:735
 msgid "mark all articles in group as read and move to next unread group"
 msgstr ""
 "gruptaki tÃ¼m makaleleri okunmuÅŸ olarak iÅŸaretle ve sonraki okunmamÄ±ÅŸ gruba "
 "geÃ§"
 
-#: src/lang.c:715
+#: src/lang.c:736
 msgid "choose first group in list"
 msgstr "listedeki ilk grubu seÃ§"
 
-#: src/lang.c:716
+#: src/lang.c:737
 msgid "choose group by name"
 msgstr "grubu isme gÃ¶re seÃ§"
 
-#: src/lang.c:717
+#: src/lang.c:738
 msgid "0 - 9\t  choose group by number"
 msgstr "0 - 9\t  grubu sayÄ±yla seÃ§"
 
-#: src/lang.c:718
+#: src/lang.c:739
 msgid "choose range of groups to be affected by next command"
 msgstr "sonraki komuttan etkilenecek olan gruplarÄ±n aralÄ±ÄŸÄ±nÄ± seÃ§"
 
-#: src/lang.c:719
+#: src/lang.c:740
 msgid "choose last group in list"
 msgstr "listedeki son grubu seÃ§"
 
-#: src/lang.c:721
+#: src/lang.c:742
 msgid "list groups which an article has been posted to (by Message-ID)"
 msgstr "Ä°leti-kimliÄŸine gÃ¶re makale gÃ¶nderilmiÅŸ gruplarÄ± listele"
 
-#: src/lang.c:722
+#: src/lang.c:743
 msgid " \t  (go to article if at least one of the groups is available)"
 msgstr " \t  (gruplardan en az biri kullanÄ±labilir ise makaleye git)"
 
-#: src/lang.c:724
+#: src/lang.c:745
 msgid "mark all articles in chosen group unread"
 msgstr "seÃ§ilen gruptaki bÃ¼tÃ¼n makaleleri okunmamÄ±ÅŸ olarak iÅŸaretle"
 
-#: src/lang.c:725
+#: src/lang.c:746
 msgid "move chosen group within list"
 msgstr "listede seÃ§ilen grubu taÅŸÄ±"
 
-#: src/lang.c:726
+#: src/lang.c:747
 msgid "choose next group with unread news"
 msgstr "okunmamÄ±ÅŸ haberli sonraki grubu seÃ§"
 
-#: src/lang.c:727 src/lang.c:1748
+#: src/lang.c:748 src/lang.c:1797
 msgid "quit"
 msgstr "Ã§Ä±k"
 
-#: src/lang.c:728
+#: src/lang.c:749
 msgid "quit without saving configuration changes"
 msgstr "yapÄ±landÄ±rma deÄŸiÅŸikliklerini kaydetmeden Ã§Ä±k"
 
-#: src/lang.c:729
+#: src/lang.c:750
 msgid "read chosen group"
 msgstr "seÃ§ilen grubu oku"
 
-#: src/lang.c:730
+#: src/lang.c:751
 msgid "reset .newsrc (all available articles in groups marked unread)"
 msgstr ""
 ".newsrc dosyasÄ±nÄ± sÄ±fÄ±rla (gruplardaki okunmamÄ±ÅŸ olarak iÅŸaretlenmiÅŸ tÃ¼m "
 "mevcut makaleler)"
 
-#: src/lang.c:731
+#: src/lang.c:752
 msgid "search backwards for a group name"
 msgstr "grup adÄ± iÃ§in geriye doÄŸru ara"
 
-#: src/lang.c:732
+#: src/lang.c:753
 msgid " \t  (all searches are case-insensitive and wrap around)"
 msgstr " \t  (tÃ¼m aramalar bÃ¼yÃ¼k/kÃ¼Ã§Ã¼k harfe duyarlÄ±dÄ±r ve Ã§evreler)"
 
-#: src/lang.c:733
+#: src/lang.c:754
 msgid "search forwards for a group name"
 msgstr "grup adÄ± iÃ§in ileriye doÄŸru ara"
 
-#: src/lang.c:734
+#: src/lang.c:755
 msgid "subscribe to chosen group"
 msgstr "seÃ§ilen gruba abone ol"
 
-#: src/lang.c:735
+#: src/lang.c:756
 msgid "subscribe to groups that match pattern"
 msgstr "Ã¶rÃ¼ntÃ¼ye uyan gruplara abone ol"
 
-#: src/lang.c:736
+#: src/lang.c:757
 msgid "reread active file to check for any new news"
 msgstr "etkin dosyayÄ± yeni haberleri kontrol etmek iÃ§in yeniden oku"
 
-#: src/lang.c:737
+#: src/lang.c:758
 msgid "show NNTP[S] connection details"
 msgstr ""
 
-#: src/lang.c:738
+#: src/lang.c:759
 msgid "toggle display of group name only or group name plus description"
 msgstr "sadece grup ismini veya grup ismi ve tanÄ±m gÃ¶rÃ¼nÃ¼mÃ¼nÃ¼ deÄŸiÅŸtir"
 
-#: src/lang.c:739
+#: src/lang.c:760
 msgid "toggle display to show all/unread subscribed groups"
 msgstr ""
 "bÃ¼tÃ¼n/okunmamÄ±ÅŸ abone olmayan gruplarÄ± gÃ¶stermek iÃ§in gÃ¶rÃ¼nÃ¼mÃ¼ deÄŸiÅŸtir"
 
-#: src/lang.c:740
+#: src/lang.c:761
 msgid "unsubscribe from chosen group"
 msgstr "seÃ§ilen grup iÃ§in abonelikten Ã§Ä±k"
 
-#: src/lang.c:741
+#: src/lang.c:762
 msgid "unsubscribe from groups that match pattern"
 msgstr "Ã¶rÃ¼ntÃ¼ye uyan bÃ¼tÃ¼n gruplar iÃ§in abonelikten Ã§Ä±k"
 
-#: src/lang.c:742
+#: src/lang.c:763
 msgid "sort the list of groups"
 msgstr "grup listelerini sÄ±rala"
 
-#: src/lang.c:743
+#: src/lang.c:764
 msgid "toggle display to show all/subscribed groups"
 msgstr "bÃ¼tÃ¼n/abone olunmayan gruplarÄ± gÃ¶stermek iÃ§in gÃ¶rÃ¼nÃ¼mÃ¼ deÄŸiÅŸtir"
 
-#: src/lang.c:744
+#: src/lang.c:765
 #, fuzzy
 msgid "tag/untag all parts of current multipart-message in order"
 msgstr "mevcut Ã§ok-bÃ¶lÃ¼mlÃ¼ iletinin bÃ¼tÃ¼n bÃ¶lÃ¼mlerini sÄ±rayla etiketle"
 
-#: src/lang.c:745
+#: src/lang.c:766
 msgid "0 - 9\t  choose article by number"
 msgstr "0 - 9\t  sayÄ±yla makale seÃ§"
 
-#: src/lang.c:746
+#: src/lang.c:767
 msgid "mark thread as read and return to group index page"
 msgstr "zinciri okunmuÅŸ olarak iÅŸaretle ve grup dizin sayfasÄ±na geri dÃ¶n"
 
-#: src/lang.c:747
+#: src/lang.c:768
 msgid "mark thread as read and enter next unread thread or group"
 msgstr ""
 "epsota zincirini okunmuÅŸ olarak iÅŸaretle ve sonraki okunmamÄ±ÅŸ eposta "
 "zincirine veya gruba gir"
 
-#: src/lang.c:748
+#: src/lang.c:769
 msgid "choose first article in list"
 msgstr "listedeki ilk makaleyi seÃ§"
 
-#: src/lang.c:749
+#: src/lang.c:770
 msgid "choose last article in list"
 msgstr "listedeki son makaleyi seÃ§"
 
-#: src/lang.c:750
+#: src/lang.c:771
 msgid "mark art, range or tagged arts as read; move crsr to next unread art"
 msgstr ""
 "makale, aralÄ±k veya etiketlenmiÅŸ makaleyi okunmuÅŸ olarak iÅŸaretle; crsr'yi "
 "sonraki okunmamÄ±ÅŸ makaleye taÅŸÄ±"
 
-#: src/lang.c:751
+#: src/lang.c:772
 msgid "mark article, range or tagged articles as unread"
 msgstr ""
 "makaleyi, aralÄ±ÄŸÄ± ya da etiketlenmiÅŸ makaleleri okunmamÄ±ÅŸ olarak iÅŸaretle"
 
-#: src/lang.c:752
+#: src/lang.c:773
 msgid "mark current thread as unread"
 msgstr "mevcut eposta zincirini okunmamÄ±ÅŸ olarak iÅŸaretle"
 
-#: src/lang.c:753
+#: src/lang.c:774
 msgid "read chosen article"
 msgstr "seÃ§ilen makaleyi oku"
 
-#: src/lang.c:754
+#: src/lang.c:775
 msgid ""
 "Display properties\n"
 "------------------"
@@ -2740,7 +2825,7 @@ msgstr ""
 "Ã–zellikleri gÃ¶rÃ¼ntÃ¼le\n"
 "------------------"
 
-#: src/lang.c:755
+#: src/lang.c:776
 msgid ""
 "Miscellaneous\n"
 "-------------"
@@ -2748,7 +2833,7 @@ msgstr ""
 "DiÄŸer\n"
 "-------------"
 
-#: src/lang.c:756
+#: src/lang.c:777
 msgid ""
 "Moving around\n"
 "-------------"
@@ -2756,7 +2841,7 @@ msgstr ""
 "EtrafÄ±na taÅŸÄ±\n"
 "-------------"
 
-#: src/lang.c:757
+#: src/lang.c:778
 msgid ""
 "Group/thread/article operations\n"
 "-------------------------------"
@@ -2764,7 +2849,7 @@ msgstr ""
 "Grup/zincir/makale iÅŸlemleri\n"
 "-------------------------------"
 
-#: src/lang.c:758
+#: src/lang.c:779
 msgid ""
 "Attachment operations\n"
 "---------------------"
@@ -2772,7 +2857,7 @@ msgstr ""
 "Ek iÅŸlemleri\n"
 "---------------------"
 
-#: src/lang.c:759
+#: src/lang.c:780
 msgid ""
 "Attribute operations\n"
 "--------------------"
@@ -2780,7 +2865,7 @@ msgstr ""
 "Ã–znitelik iÅŸlemleri\n"
 "--------------------"
 
-#: src/lang.c:760
+#: src/lang.c:781
 msgid ""
 "Option operations\n"
 "-----------------"
@@ -2788,7 +2873,7 @@ msgstr ""
 "SeÃ§enek iÅŸlemleri\n"
 "-----------------"
 
-#: src/lang.c:761
+#: src/lang.c:782
 #, fuzzy
 msgid ""
 "Posted article operations\n"
@@ -2797,7 +2882,7 @@ msgstr ""
 "Grup/zincir/makale iÅŸlemleri\n"
 "-------------------------------"
 
-#: src/lang.c:762
+#: src/lang.c:783
 msgid ""
 "Scope operations\n"
 "----------------"
@@ -2805,7 +2890,7 @@ msgstr ""
 "Etki alanÄ± iÅŸlemleri\n"
 "----------------"
 
-#: src/lang.c:763
+#: src/lang.c:784
 msgid ""
 "URL operations\n"
 "--------------"
@@ -2813,101 +2898,101 @@ msgstr ""
 "URL iÅŸlemleri\n"
 "--------------"
 
-#: src/lang.c:764
+#: src/lang.c:785
 msgid "choose first URL in list"
 msgstr "listedeki ilk URL'yi seÃ§"
 
-#: src/lang.c:765
+#: src/lang.c:786
 msgid "0 - 9\t  choose URL by number"
 msgstr "0 - 9\t  URL'yi sayÄ±yla seÃ§"
 
-#: src/lang.c:766
+#: src/lang.c:787
 msgid "choose last URL in list"
 msgstr "Listedeki son URL'yi seÃ§"
 
-#: src/lang.c:767
+#: src/lang.c:788
 msgid "search for URLs forwards"
 msgstr "URL'leri ileriye doÄŸru ara"
 
-#: src/lang.c:768
+#: src/lang.c:789
 msgid "search for URLs backwards"
 msgstr "URL'leri geriye doÄŸru ara"
 
-#: src/lang.c:769
+#: src/lang.c:790
 msgid "Open URL in browser"
 msgstr "URL'yi tarayÄ±cÄ±da aÃ§"
 
-#: src/lang.c:770
+#: src/lang.c:791
 msgid "toggle info message in last line (URL)"
 msgstr "son satÄ±rdaki bilgi iletisini deÄŸiÅŸtir (URL)"
 
-#: src/lang.c:772
+#: src/lang.c:793
 msgid "Group Level Commands"
 msgstr "Grup Seviyesi KomutlarÄ±"
 
-#: src/lang.c:773
+#: src/lang.c:794
 msgid "Kill filter added"
 msgstr "Ã–ldÃ¼rme filtresi eklendi"
 
-#: src/lang.c:774
+#: src/lang.c:795
 msgid "Auto-selection filter added"
 msgstr "Otomatik seÃ§me filtresi eklendi"
 
-#: src/lang.c:775
+#: src/lang.c:796
 msgid "All parts tagged"
 msgstr "BÃ¼tÃ¼n bÃ¶lÃ¼mler etiketlendi"
 
-#: src/lang.c:776
+#: src/lang.c:797
 #, fuzzy
 msgid "All parts untagged"
 msgstr "BÃ¼tÃ¼n bÃ¶lÃ¼mler etiketlendi"
 
-#: src/lang.c:777
+#: src/lang.c:798
 #, c-format
 msgid "Building References-trees (%d/%d)..."
 msgstr ""
 
-#: src/lang.c:778
+#: src/lang.c:799
 msgid "Storing article for later posting"
 msgstr "Makale daha sonra gÃ¶ndermek iÃ§in saklanÄ±yor"
 
-#: src/lang.c:779
+#: src/lang.c:800
 msgid "Please enter a valid character"
 msgstr "LÃ¼tfen geÃ§erli bir karakter girin"
 
-#: src/lang.c:780
+#: src/lang.c:801
 #, c-format
 msgid "Missing part #%d"
 msgstr "Eksik bÃ¶lÃ¼m #%d"
 
-#: src/lang.c:781
+#: src/lang.c:802
 msgid "*** No postponed articles ***"
 msgstr "*** ErtelenmiÅŸ makale yok ***"
 
-#: src/lang.c:782
+#: src/lang.c:803
 msgid "Not a multi-part message"
 msgstr "Ã‡ok-bÃ¶lÃ¼mlÃ¼ ileti deÄŸil"
 
-#: src/lang.c:783
+#: src/lang.c:804
 msgid "You are not subscribed to this group"
 msgstr "Bu gruba abone deÄŸilsiniz"
 
-#: src/lang.c:784
+#: src/lang.c:805
 msgid "No previous expression"
 msgstr "Ã–nceki ifade yok"
 
-#: src/lang.c:785
+#: src/lang.c:806
 msgid "Operation disabled in no-overwrite mode"
 msgstr "ÃœstÃ¼ne yazÄ±lmayan kipte iÅŸlem geÃ§ersiz"
 
 #  TODO: replace hardcoded key-name in txt_info_postponed
 #. TODO: replace hard coded key-name in txt_info_postponed
-#: src/lang.c:787
+#: src/lang.c:808
 #, c-format
 msgid "%d postponed %s, reuse with ^O...\n"
 msgstr "%d ertelendi %s, ^O ile tekrar kullan...\n"
 
-#: src/lang.c:788
+#: src/lang.c:809
 msgid ""
 "X-Conversion-Note: multipart/alternative contents have been removed.\n"
 "  To get the whole article, turn alternative handling OFF in the Option "
@@ -2917,18 +3002,18 @@ msgstr ""
 "  BÃ¼tÃ¼n makaleyi almak iÃ§in, SeÃ§enekler MenÃ¼sÃ¼ndeki alternatif kotarmayÄ± "
 "KAPALI durumuna getirin\n"
 
-#: src/lang.c:790
+#: src/lang.c:811
 #, c-format
 msgid "Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr "Dosya adÄ±nÄ± %s/%s iÃ§in kaydetmek bir posta kutusudur. Ek kaydedilmedi"
 
-#: src/lang.c:791
+#: src/lang.c:812
 msgid "TeX2Iso encoded article"
 msgstr "TeX2Iso ile kodlanmÄ±ÅŸ makale"
 
 #  TODO: replace hardcoded key-names
 #. TODO: replace hard coded key-names
-#: src/lang.c:793
+#: src/lang.c:814
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -2995,151 +3080,151 @@ msgstr ""
 "dosyalarÄ±nÄ± okuyun.\n"
 "Hata-raporlarÄ±nÄ± ve Ã¶nerileri 'R' komutu ile %s'e gÃ¶nderin.\n"
 
-#: src/lang.c:809
+#: src/lang.c:830
 #, c-format
-msgid "Invalid  From: %s  line. Read the INSTALL file again."
-msgstr "GeÃ§ersiz  GÃ¶nderen: %s  satÄ±rÄ±. INSTALL dosyasÄ±nÄ± yeniden okuyun."
+msgid "Invalid From:-header \"%s\". Check your mail_address setting."
+msgstr ""
 
-#: src/lang.c:811
+#: src/lang.c:832
 msgid "Invalid multibyte sequence found\n"
 msgstr "GeÃ§ersiz Ã§oklu bayt sÄ±rasÄ± bulundu\n"
 
-#: src/lang.c:814
-#, c-format
-msgid "Invalid  Sender:-header %s"
-msgstr "GeÃ§ersiz  GÃ¶nderen: -baÅŸlÄ±k %s"
+#: src/lang.c:835
+#, fuzzy, c-format
+msgid "Invalid Sender:-header \"%s\""
+msgstr "GeÃ§ersiz GÃ¶nderen:-baÅŸlÄ±k \"%s\""
 
-#: src/lang.c:816
+#: src/lang.c:837
 msgid "Inverse video disabled"
 msgstr "Ters video devre dÄ±ÅŸÄ±"
 
-#: src/lang.c:817
+#: src/lang.c:838
 msgid "Inverse video enabled"
 msgstr "Ters video geÃ§erli"
 
-#: src/lang.c:819
+#: src/lang.c:840
 #, c-format
 msgid "Missing definition for %s\n"
 msgstr "%s iÃ§in tanÄ±m eksik\n"
 
-#: src/lang.c:820
+#: src/lang.c:841
 #, c-format
 msgid "Invalid key definition '%s'\n"
 msgstr "GeÃ§ersiz tuÅŸ tanÄ±mÄ± '%s'\n"
 
-#: src/lang.c:821
+#: src/lang.c:842
 #, c-format
 msgid "Invalid keyname '%s'\n"
 msgstr "GeÃ§ersiz anahtar isim '%s'\n"
 
-#: src/lang.c:822
+#: src/lang.c:843
 #, c-format
 msgid "Keymap file was upgraded to version %s\n"
 msgstr "TuÅŸeÅŸlem dosyasÄ± %s sÃ¼rÃ¼mÃ¼ne yÃ¼kseltildi\n"
 
-#: src/lang.c:823
+#: src/lang.c:844
 #, c-format
 msgid "Kill From:     [%s] (y/n): "
 msgstr "GÃ¶nderen: yok et     [%s] (e/h): "
 
-#: src/lang.c:824
+#: src/lang.c:845
 msgid "Kill Lines: (</>num): "
 msgstr "SatÄ±rlar: yok et(</>num): "
 
-#: src/lang.c:825
+#: src/lang.c:846
 msgid "Kill Article Menu"
 msgstr "Makale MenÃ¼sÃ¼nÃ¼ Yok Et"
 
-#: src/lang.c:826
+#: src/lang.c:847
 #, fuzzy, c-format
 msgid "Kill Msg-ID:   [%s] (f/l/o/n): "
 msgstr "Ä°leti-KimliÄŸi: yok et:  [%s] (f/l/o/n): "
 
-#: src/lang.c:827
+#: src/lang.c:848
 msgid "Kill pattern scope  : "
 msgstr "Ã–rÃ¼ntÃ¼ kapsamÄ±nÄ± yok et  :  "
 
-#: src/lang.c:828
+#: src/lang.c:849
 #, c-format
 msgid "Kill Subject:  [%s] (y/n): "
 msgstr "Konuyu yok et:  [%s] (e/h): "
 
-#: src/lang.c:829
+#: src/lang.c:850
 msgid "Kill text pattern   : "
 msgstr "Metin Ã¶rÃ¼ntÃ¼sÃ¼nÃ¼ yok et   : "
 
-#: src/lang.c:830
+#: src/lang.c:851
 msgid "Kill time in days   : "
 msgstr "Åžu kadar gÃ¼n iÃ§inde Ã¶ldÃ¼r   : "
 
-#: src/lang.c:832
+#: src/lang.c:853
 msgid "Last"
 msgstr "Son"
 
-#: src/lang.c:833
+#: src/lang.c:854
 msgid "-- Last response --"
 msgstr "-- Son yanÄ±t --"
 
-#: src/lang.c:834
+#: src/lang.c:855
 #, c-format
 msgid "Lines %s  "
 msgstr "SatÄ±rlar %s  "
 
-#: src/lang.c:840
+#: src/lang.c:861
 msgid "Function not available."
 msgstr "Fonksiyon mevcut deÄŸil."
 
-#: src/lang.c:841
+#: src/lang.c:862
 msgid "Not reading via NNTP."
 msgstr "NNTP Ã¼zerinden okunamÄ±yor."
 
-#: src/lang.c:843
+#: src/lang.c:864
 #, c-format
 msgid "Group: %s"
 msgstr "Grup: %s"
 
-#: src/lang.c:844
+#: src/lang.c:865
 #, c-format
 msgid "Groups: %s"
 msgstr "Gruplar: %s"
 
-#: src/lang.c:847
+#: src/lang.c:868
 msgid "Mail"
 msgstr "Eposta"
 
-#: src/lang.c:848
+#: src/lang.c:869
 msgid "mailbox "
 msgstr "mailbox "
 
-#: src/lang.c:849
+#: src/lang.c:870
 #, c-format
 msgid "Mail article(s) to [%.*s]> "
 msgstr "Makaleleri ÅŸuraya gÃ¶nder [%.*s]> "
 
-#: src/lang.c:850
+#: src/lang.c:871
 #, c-format
 msgid "Mailing log to %s\n"
 msgstr "GÃ¼nlÃ¼k %s'e postalanÄ±yor\n"
 
-#: src/lang.c:851
+#: src/lang.c:872
 msgid "Mail bug report..."
 msgstr "Hata raporu postala..."
 
-#: src/lang.c:852
+#: src/lang.c:873
 #, c-format
 msgid "Mail BUG REPORT to %s?"
 msgstr "HATA RAPORUNU %s'e postala?"
 
-#: src/lang.c:853
+#: src/lang.c:874
 msgid "Mailed"
 msgstr "PostalandÄ±"
 
-#: src/lang.c:854
+#: src/lang.c:875
 #, c-format
 msgid "Mailing to %s..."
 msgstr "%s'e postalanÄ±yor..."
 
-#: src/lang.c:855
+#: src/lang.c:876
 msgid ""
 "# [Mail/Save] active file. Format is like news active file:\n"
 "#   groupname  max.artnum  min.artnum  /dir\n"
@@ -3151,63 +3236,63 @@ msgstr ""
 "# 4. alan temel dizin (Ã¶rn.~/Mail or ~/News)\n"
 "#\n"
 
-#: src/lang.c:858
+#: src/lang.c:879
 #, c-format
 msgid "%s marked as read"
 msgstr "%s okunmuÅŸ olarak iÅŸaretlendi"
 
-#: src/lang.c:859
+#: src/lang.c:880
 #, c-format
 msgid "%s marked as unread"
 msgstr "%s okunmamÄ±ÅŸ olarak iÅŸaretlendi"
 
-#: src/lang.c:860
+#: src/lang.c:881
 #, c-format
 msgid "Marked %d of %d %s as read"
 msgstr "%d iÃ§erisinde %d %s okunmuÅŸ olarak iÅŸaretlendi"
 
-#: src/lang.c:861
+#: src/lang.c:882
 #, c-format
 msgid "Marked %d of %d %s as unread"
 msgstr "%d iÃ§erisinde %d %s okunmamÄ±ÅŸ olarak iÅŸaretlendi "
 
-#: src/lang.c:862 src/lang.c:1704
+#: src/lang.c:883 src/lang.c:1753
 msgid "Mark"
 msgstr "Ä°ÅŸaretle"
 
-#: src/lang.c:863
+#: src/lang.c:884
 #, c-format
 msgid "Mark all articles as read%s?"
 msgstr "BÃ¼tÃ¼n makaleleri okunmuÅŸ olarak iÅŸaretle%s?"
 
-#: src/lang.c:864
+#: src/lang.c:885
 #, c-format
 msgid "Mark article as read%s?"
 msgstr "Makaleyi okunmuÅŸ olarak iÅŸaretle%s?"
 
-#: src/lang.c:865
+#: src/lang.c:886
 #, c-format
 msgid "Mark group %s as read?"
 msgstr "%s grubunu okunmuÅŸ olarak iÅŸaretle?"
 
-#: src/lang.c:866
+#: src/lang.c:887
 #, c-format
 msgid "Mark thread as read%s?"
 msgstr "Eposta zincirini okunmuÅŸ olarak iÅŸaretle%s?"
 
-#: src/lang.c:867
+#: src/lang.c:888
 #, c-format
 msgid "Matching %s groups..."
 msgstr "%s gruplarÄ± eÅŸleÅŸtiriyor..."
 
-#: src/lang.c:868 src/lang.c:881 src/lang.c:884 src/lang.c:890
+#: src/lang.c:889 src/lang.c:902 src/lang.c:905 src/lang.c:911
 #, c-format
 msgid "<n>=set current to n; %s=line down; %s=line up; %s=help; %s=quit"
 msgstr ""
 "<n>=mevcutu n olarak ayarla; %s=satÄ±r aÅŸaÄŸÄ±; %s=satÄ±r yukarÄ±; %s=yardÄ±m; "
 "%s=Ã§Ä±kÄ±ÅŸ"
 
-#: src/lang.c:870
+#: src/lang.c:891
 #, c-format
 msgid ""
 "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all"
@@ -3215,14 +3300,14 @@ msgstr ""
 "%s=gÃ¶rÃ¼ntÃ¼le; %s=yÃ¶nlendir; %s=ham yÃ¶nlendir; %s=kaydet; %s=etiketle; "
 "%s=Ã¶rÃ¼ntÃ¼yÃ¼ etiketle; %s=tÃ¼mÃ¼nÃ¼n etiketini kaldÄ±r"
 
-#: src/lang.c:872
+#: src/lang.c:893
 #, c-format
 msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr ""
 "%s=gÃ¶rÃ¼ntÃ¼le; %s=kaydet; %s=etiketle; %s=deseni etiketle; %s=tamamÄ±nÄ±n "
 "etiketini kaldÄ±r"
 
-#: src/lang.c:874
+#: src/lang.c:895
 #, c-format
 msgid ""
 "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search"
@@ -3230,14 +3315,14 @@ msgstr ""
 "%s=geriye doÄŸru etiketle; %s=ileriye doÄŸru ara; %s=geriye doÄŸru ara; "
 "%s=aramayÄ± tekrarla"
 
-#: src/lang.c:875 src/lang.c:879
+#: src/lang.c:896 src/lang.c:900
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=search pattern; %s=kill/select"
 msgstr ""
 "<n>=mevcutu n olarak ayarla; %s=sonraki okunmayan; %s=arama Ã¶rÃ¼ntÃ¼sÃ¼; %s=yok "
 "et/seÃ§"
 
-#: src/lang.c:876
+#: src/lang.c:897
 #, c-format
 msgid ""
 "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; "
@@ -3246,42 +3331,42 @@ msgstr ""
 "%s=yazar aramasÄ±; %s=yakala; %s=satÄ±r aÅŸaÄŸÄ±; %s=satÄ±r yukarÄ±; %s= okunmuÅŸ "
 "iÅŸaretle; %s=eposta zinciri listele"
 
-#: src/lang.c:877
+#: src/lang.c:898
 #, c-format
 msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"
 msgstr ""
 "%s=satÄ±r yukarÄ±; %s=satÄ±r aÅŸaÄŸÄ±; %s=Ã¼st sayfa; %s=alt sayfa; %s=Ã¼st; %s=alt"
 
-#: src/lang.c:878
+#: src/lang.c:899
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=quit"
 msgstr "%s=ileriye doÄŸru ara; %s=geriye doÄŸru ara; %s=Ã§Ä±k"
 
-#: src/lang.c:880
+#: src/lang.c:901
 #, c-format
 msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr ""
 "%s=yazar aramasÄ±; %s=gÃ¶vde aramasÄ±; %s=yakala; %s=takip-et; %s=okumuÅŸ olarak "
 "iÅŸaretle"
 
-#: src/lang.c:882 src/lang.c:891
+#: src/lang.c:903 src/lang.c:912
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=repeat search"
 msgstr "%s=ileriye doÄŸru ara; %s=geriye doÄŸru ara; %s=aramayÄ± tekrarla"
 
-#: src/lang.c:883
+#: src/lang.c:904
 #, c-format
 msgid "%s=add; %s=move; %s=rename; %s=delete"
 msgstr "%s=ekle; %s=kaydÄ±r; %s=yeniden adlandÄ±r; %s=sil"
 
-#: src/lang.c:885
+#: src/lang.c:906
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr ""
 "<n>=mevcutu n olarak ayarla; %s=sonraki okunmayan; %s,%s=arama deseni; "
 "%s=yakala"
 
-#: src/lang.c:886
+#: src/lang.c:907
 #, c-format
 msgid ""
 "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
@@ -3289,7 +3374,7 @@ msgstr ""
 "%s=satÄ±r aÅŸaÄŸÄ±; %s=satÄ±r yukarÄ±; %s=yardÄ±m; %s=taÅŸÄ±; %s=Ã§Ä±k; %s=hepsi/"
 "okunmamÄ±ÅŸlar deÄŸiÅŸtir"
 
-#: src/lang.c:887
+#: src/lang.c:908
 #, c-format
 msgid ""
 "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/"
@@ -3298,232 +3383,234 @@ msgstr ""
 "%s=abone ol; %s=Ã¶rÃ¼ntÃ¼dekine abone ol; %s=abonelikten Ã§Ä±k; %s=Ã¶rÃ¼ntÃ¼deki "
 "abonelikten Ã§Ä±k; %s=Ã§ekme iÃ§eri/dÄ±ÅŸarÄ±"
 
-#: src/lang.c:888
+#: src/lang.c:909
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr ""
 "<n>=mevcutu n olarak ayarla; %s=sonraki okunmayan; %s=yakala; %s=gÃ¶rÃ¼nÃ¼m "
 "deÄŸiÅŸtir"
 
-#: src/lang.c:889
+#: src/lang.c:910
 #, c-format
 msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"
 msgstr ""
 "%s=yardÄ±m; %s=satÄ±r aÅŸaÄŸÄ±; %s=satÄ±r yukarÄ±; %s=quit; %s=etiketle; "
 "%s=okunmamÄ±ÅŸ olarak iÅŸaretle"
 
-#: src/lang.c:892
+#: src/lang.c:913
 msgid "--More--"
 msgstr "--Daha fazla--"
 
-#: src/lang.c:894
+#: src/lang.c:915
 #, fuzzy, c-format
 msgid "MOTD: %s\n"
 msgstr "MOTD: "
 
-#: src/lang.c:896
+#: src/lang.c:917
 #, c-format
 msgid "Moving %s..."
 msgstr "TaÅŸÄ±nÄ±yor %s..."
 
-#: src/lang.c:897
+#: src/lang.c:918
 msgid "Message-ID: & last Reference  "
 msgstr "Ä°leti-KimliÄŸi: & son Referans  "
 
-#: src/lang.c:898
+#: src/lang.c:919
 msgid "Message-ID: line              "
 msgstr "Ä°leti-KimliÄŸi: satÄ±r             "
 
-#: src/lang.c:899
+#: src/lang.c:920
 msgid "Message-ID: & References: line"
 msgstr "Ä°leti-KimliÄŸi & Referanslar: satÄ±rÄ±"
 
-#: src/lang.c:901
+#: src/lang.c:922
 #, c-format
 msgid "Go to newsgroup [%s]> "
 msgstr "Haber grubuna git [%s]> "
 
-#: src/lang.c:902
+#: src/lang.c:923
 msgid "newsgroups"
 msgstr "haber gruplarÄ±"
 
-#: src/lang.c:903
+#: src/lang.c:924
 #, c-format
 msgid "Position %s in group list (1,2,..,$) [%d]> "
 msgstr "Grup listesinde %s konumu (1,2,..,$) [%d]> "
 
-#: src/lang.c:904
+#: src/lang.c:925
 msgid "newsgroup"
 msgstr "haber grubu"
 
-#: src/lang.c:905
+#: src/lang.c:926
 msgid "Try and save newsrc file again?"
 msgstr "newsrc dosyasÄ±nÄ± yeniden dene ve kaydet?"
 
-#: src/lang.c:906
-msgid "Warning: No newsgroups were written to your newsrc file. Save aborted."
+#: src/lang.c:927
+#, fuzzy, c-format
+msgid "Warning: No groups written to your %s file. Save aborted."
 msgstr ""
 "UyarÄ±: newsrc dosyanÄ±zda hiÃ§bir haber grubu yazÄ±lÄ± deÄŸil. Kaydetme "
 "durduruldu."
 
-#: src/lang.c:907
-msgid "newsrc file saved successfully.\n"
+#: src/lang.c:928
+#, fuzzy, c-format
+msgid "%s file saved successfully.\n"
 msgstr "newsrc dosyasÄ± baÅŸarÄ±yla kaydedildi.\n"
 
-#: src/lang.c:908
+#: src/lang.c:929
 msgid "-- Next response --"
 msgstr "-- Sonraki yanÄ±t --"
 
-#: src/lang.c:909
+#: src/lang.c:930
 msgid "No  "
 msgstr "HayÄ±r  "
 
-#: src/lang.c:910
+#: src/lang.c:931
 msgid "*** No articles ***"
 msgstr "*** Makale Yok ***"
 
-#: src/lang.c:911
+#: src/lang.c:932
 msgid "No articles have been posted"
 msgstr "Makale(ler) gÃ¶nderilmedi"
 
-#: src/lang.c:912
+#: src/lang.c:933
 msgid "*** No attachments ***"
 msgstr "*** Ek yok ***"
 
-#: src/lang.c:913
+#: src/lang.c:934
 msgid "*** No description ***"
 msgstr "*** TanÄ±m yok ***"
 
-#: src/lang.c:914
+#: src/lang.c:935
 msgid "No filename"
 msgstr "Dosya adÄ± yok"
 
-#: src/lang.c:915
+#: src/lang.c:936
 msgid "No group"
 msgstr "Grup yok"
 
-#: src/lang.c:916
+#: src/lang.c:937
 msgid "*** No groups ***"
 msgstr "*** Grup(lar) yok ***"
 
-#: src/lang.c:917
+#: src/lang.c:938
 msgid "No more groups to read"
 msgstr "Okunacak baÅŸka grup yok"
 
-#: src/lang.c:918
+#: src/lang.c:939
 msgid "No last message"
 msgstr "Son ileti yok"
 
-#: src/lang.c:919
+#: src/lang.c:940
 msgid "No mail address"
 msgstr "Eposta adresi yok"
 
-#: src/lang.c:920
+#: src/lang.c:941
 msgid "No articles marked for saving"
 msgstr "Kaydetmek iÃ§in iÅŸaretlenen makale yok"
 
-#: src/lang.c:921
+#: src/lang.c:942
 msgid "No match"
 msgstr "EÅŸleÅŸme yok"
 
-#: src/lang.c:922
+#: src/lang.c:943
 msgid "No more groups"
 msgstr "BaÅŸka grup yok"
 
-#: src/lang.c:923
+#: src/lang.c:944
 msgid "No newsgroups"
 msgstr "Haber grubu yok"
 
-#: src/lang.c:924
+#: src/lang.c:945
 msgid "No next unread article"
 msgstr "Sonraki okunmayan makale yok"
 
-#: src/lang.c:925
+#: src/lang.c:946
 msgid "No previous group"
 msgstr "Ã–nceki grup yok"
 
-#: src/lang.c:926
+#: src/lang.c:947
 msgid "No previous search, nothing to repeat"
 msgstr "Ã–nceki arama yok, tekrarlanacak bir ÅŸey yok"
 
-#: src/lang.c:927
+#: src/lang.c:948
 msgid "No previous unread article"
 msgstr "Ã–nceki okunmayan makale yok"
 
-#: src/lang.c:928
+#: src/lang.c:949
 msgid "No responses"
 msgstr "YanÄ±t yok"
 
-#: src/lang.c:929
+#: src/lang.c:950
 msgid "No responses to list in current thread"
 msgstr "Mevcut zincirde listelenecek yanÄ±t yok"
 
-#: src/lang.c:930
+#: src/lang.c:951
 msgid "*** No scopes ***"
 msgstr "*** Kapsam yok ***"
 
-#: src/lang.c:931
+#: src/lang.c:952
 msgid "No search string"
 msgstr "Arama dizgisi yok"
 
-#: src/lang.c:932
+#: src/lang.c:953
 msgid "No subject"
 msgstr "Konu yok"
 
-#: src/lang.c:934
+#: src/lang.c:955
 #, c-format
 msgid "%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr "%s: UÃ§birim satÄ±r sonuna (ce) kadar silmek zorunda\n"
 
-#: src/lang.c:935
+#: src/lang.c:956
 #, c-format
 msgid "%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr "%s: UÃ§birim ekran sonuna (cd) kadar silmek zorunda\n"
 
-#: src/lang.c:936
+#: src/lang.c:957
 #, c-format
 msgid "%s: Terminal must have clearscreen (cl) capability\n"
 msgstr "%s: UÃ§birim'in ekran temizleme yeteneÄŸini (cl) olmak zorunda\n"
 
-#: src/lang.c:937
+#: src/lang.c:958
 #, c-format
 msgid "%s: Terminal must have cursor motion (cm)\n"
 msgstr "%s: UÃ§birim imleÃ§ hareketi'ne (cm) sahip olmak zorunda\n"
 
-#: src/lang.c:938
+#: src/lang.c:959
 #, c-format
 msgid "%s: TERM variable must be set to use screen capabilities\n"
 msgstr ""
 "%s: Ekran yeteneklerini kullanabilmek iÃ§in TERM deÄŸiÅŸkeni ayarlanmalÄ±\n"
 
-#: src/lang.c:940
+#: src/lang.c:961
 #, c-format
 msgid "No viewer found for %s/%s\n"
 msgstr "%s%s iÃ§in gÃ¶rÃ¼ntÃ¼leyici yok\n"
 
-#: src/lang.c:941 src/lang.c:1616 src/lang.c:1644 src/lang.c:1935
+#: src/lang.c:962 src/lang.c:1665 src/lang.c:1693 src/lang.c:1991
 msgid "None"
 msgstr "HiÃ§biri"
 
-#: src/lang.c:942
+#: src/lang.c:963
 msgid "Newsgroup does not exist on this server"
 msgstr "Bu sunucuda haber grubu yok"
 
-#: src/lang.c:943
+#: src/lang.c:964
 #, c-format
 msgid "Group %s not found in active file"
 msgstr "%s grubu aktif dosyada bulunamadÄ±"
 
-#: src/lang.c:944
+#: src/lang.c:966
 msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr ""
 "o)luÅŸtur, a)lternatif isim kullan, v)arsayÄ±lan .newsrc kullan, tin'den Ã§)Ä±k: "
 
-#: src/lang.c:945
+#: src/lang.c:967
 msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr "a)lternatif isim kullan, v)arsayÄ±lan .newsrc kullan, tin'den Ã§)Ä±k: "
 
-#: src/lang.c:946
+#: src/lang.c:968
 #, c-format
 msgid ""
 "# NNTP-server -> newsrc translation table and NNTP-server\n"
@@ -3553,49 +3640,49 @@ msgstr ""
 "#   news.ka.nu    /tmp/nrc-nu      example    ex\n"
 "#\n"
 
-#: src/lang.c:952
+#: src/lang.c:975
 msgid "NULL"
 msgstr "NULL"
 
-#: src/lang.c:954
+#: src/lang.c:977
 msgid "Only"
 msgstr "Sadece"
 
-#: src/lang.c:955
-#, c-format
-msgid "Option not enabled. Recompile with %s."
-msgstr "SeÃ§enek etkin deÄŸil. %s ile tekrar derle."
-
-#: src/lang.c:956
+#: src/lang.c:979
 msgid "Options Menu"
 msgstr "SeÃ§enekler menÃ¼sÃ¼"
 
-#: src/lang.c:957
+#: src/lang.c:980
 msgid "Options Menu Commands"
 msgstr "SeÃ§enekler MenÃ¼sÃ¼ KomutlarÄ±"
 
-#: src/lang.c:960
+#: src/lang.c:981
+#, fuzzy, c-format
+msgid "Option not enabled. Recompile with %s.%s\n"
+msgstr "SeÃ§enek etkin deÄŸil. %s ile tekrar derle.%s\n"
+
+#: src/lang.c:984
 #, c-format
 msgid "Error in regex: %s at pos. %d '%s'"
 msgstr "Regex hatasÄ±: %s ÅŸu konumda %d '%s'"
 
-#: src/lang.c:961
+#: src/lang.c:985
 #, c-format
 msgid "Error in regex: pcre internal error %d"
 msgstr "Regex hatasÄ±: pcre iÃ§ hata %d"
 
-#: src/lang.c:963
+#: src/lang.c:987
 #, c-format
 msgid "Error in regex: study - pcre internal error %s"
 msgstr "Regex hatasÄ±: incele - pcre iÃ§ hatasÄ± %s"
 
-#: src/lang.c:965
+#: src/lang.c:989
 msgid "Post a followup..."
 msgstr "Takip gÃ¶nder..."
 
 #  TODO: replace hardcoded key-name in txt_post_error_ask_postpone
 #. TODO: replace hard coded key-name in txt_post_error_ask_postpone
-#: src/lang.c:967
+#: src/lang.c:991
 msgid ""
 "An error has occurred while posting the article. If you think that this\n"
 "error is temporary or otherwise correctable, you can postpone the article\n"
@@ -3605,48 +3692,48 @@ msgstr ""
 "dÃ¼ÅŸÃ¼nÃ¼yorsanÄ±z ya da geÃ§ici bir hata ise, makaleyi erteleyebilir ve\n"
 "tekrar ^O komutunu kulanarak ulaÅŸabilirsiniz.\n"
 
-#: src/lang.c:970
+#: src/lang.c:994
 msgid "Posted articles history"
 msgstr "GÃ¶nderilmiÅŸ makalelerin geÃ§miÅŸi"
 
-#: src/lang.c:971
+#: src/lang.c:995
 #, fuzzy
 msgid "Posted Articles Menu Commands"
 msgstr "Ã–znitelik MenÃ¼sÃ¼ KomutlarÄ±"
 
-#: src/lang.c:972
+#: src/lang.c:996
 msgid "Lookup failed"
 msgstr ""
 
-#: src/lang.c:973
+#: src/lang.c:997
 #, fuzzy
 msgid "Operation not available for replies by mail"
 msgstr "grup seÃ§me seviyesine dÃ¶n"
 
-#: src/lang.c:974
+#: src/lang.c:998
 #, fuzzy
 msgid "Already in posted articles history level"
 msgstr "GÃ¶nderilmiÅŸ makalelerin geÃ§miÅŸi"
 
-#: src/lang.c:975
+#: src/lang.c:999
 #, c-format
 msgid "Post to newsgroup(s) [%s]> "
 msgstr "Habergrup(lar)a gÃ¶nder [%s]> "
 
-#: src/lang.c:976
+#: src/lang.c:1000
 msgid "-- post processing started --"
 msgstr "-- sonradan iÅŸleme baÅŸladÄ± --"
 
-#: src/lang.c:977
+#: src/lang.c:1001
 msgid "-- post processing completed --"
 msgstr "-- sonradan iÅŸleme tamamlandÄ± --"
 
-#: src/lang.c:978
+#: src/lang.c:1002
 #, c-format
 msgid "Post subject [%s]> "
 msgstr "Konuyu gÃ¶nder [%s]> "
 
-#: src/lang.c:979
+#: src/lang.c:1003
 msgid ""
 "# Summary of mailed/posted messages viewable by 'W' command from within "
 "tin.\n"
@@ -3654,148 +3741,149 @@ msgstr ""
 "# Tin'deki 'W' komutundan gÃ¶rÃ¼nebilir postalanmÄ±ÅŸ/gÃ¶nderilmiÅŸ iletilerin "
 "Ã¶zeti.\n"
 
-#: src/lang.c:980
+#: src/lang.c:1004
 msgid "Posting article..."
 msgstr "Makale gÃ¶nderiliyor..."
 
-#: src/lang.c:982
+#: src/lang.c:1006
 #, fuzzy, c-format
 msgid "Posting failed (%s)"
 msgstr "Makale gÃ¶nderiliyor..."
 
-#: src/lang.c:984
+#: src/lang.c:1008
 #, c-format
 msgid "Posting: %.*s ..."
 msgstr "GÃ¶nderiliyor: %.*s ..."
 
-#: src/lang.c:985
+#: src/lang.c:1009
 #, c-format
 msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 msgstr "ErtelenmiÅŸ makaleleri gÃ¶nder [%%s]? (%s/%s/%s/%s/%s): "
 
-#: src/lang.c:986
+#: src/lang.c:1010
 #, c-format
 msgid "Hot %s"
 msgstr "SÄ±cak %s"
 
-#: src/lang.c:987
+#: src/lang.c:1011
 #, c-format
 msgid "Tagged %s"
 msgstr "EtiketlenmiÅŸ %s"
 
-#: src/lang.c:988
+#: src/lang.c:1012
 #, c-format
 msgid "Untagged %s"
 msgstr "EtiketlenmemiÅŸ %s"
 
-#: src/lang.c:990
+#: src/lang.c:1014
 #, c-format
 msgid "Preparing for filtering on Path header (%d/%d)..."
 msgstr ""
 
-#: src/lang.c:992
+#: src/lang.c:1016
 #, fuzzy
 msgid "Processing attributes..."
 msgstr "Nitelikleri iÅŸliyor... "
 
-#: src/lang.c:993
+#: src/lang.c:1017
 msgid "Processing mail messages marked for deletion."
 msgstr "Silinmek iÃ§in iÅŸaretlenen iletiler iÅŸleniyor."
 
-#: src/lang.c:994
+#: src/lang.c:1018
 msgid "Processing saved articles marked for deletion."
 msgstr "Silinmek iÃ§in iÅŸaretlenen kaydedilmiÅŸ makaleler iÅŸleniyor."
 
-#: src/lang.c:995
+#: src/lang.c:1019
 #, c-format
 msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr "Takip etmeyi kabul et? %s=gÃ¶nder, %s=yoksay, %s=Ã§Ä±k: "
 
-#: src/lang.c:996
+#: src/lang.c:1020
 msgid "Article unchanged, abort mailing?"
 msgstr "Makale deÄŸiÅŸtirilmedi, postalama iptal edilsin mi?"
 
-#: src/lang.c:997
+#: src/lang.c:1021
 #, c-format
 msgid "Do you want to see postponed articles (%d)?"
 msgstr "ErtelenmiÅŸ makaleleri gÃ¶rmek ister misiniz (%d)?"
 
-#: src/lang.c:999
+#: src/lang.c:1023
 msgid "Add quick kill filter?"
 msgstr "HÄ±zlÄ±ca Ã¶ldÃ¼rme filtresi ekle?"
 
-#: src/lang.c:1000
+#: src/lang.c:1024
 msgid "Add quick selection filter?"
 msgstr "HÄ±zlÄ± seÃ§me filtresi ekle?"
 
-#: src/lang.c:1001
+#: src/lang.c:1025
 msgid "Do you really want to quit?"
 msgstr "GerÃ§ekten Ã§Ä±kmak istiyor musunuz?"
 
-#: src/lang.c:1002
+#: src/lang.c:1026
 #, c-format
 msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr "%s=iptal edilen iletiyi dÃ¼zenle, %s=terk et, %s=sil (iptal) [%%s]: "
 
-#: src/lang.c:1003
+#: src/lang.c:1027
 msgid "You have tagged articles in this group - quit anyway?"
 msgstr "Bu grupta etiketlenmiÅŸ makaleleriniz var - yine de Ã§Ä±kÄ±lsÄ±n mÄ±?"
 
-#: src/lang.c:1004
+#: src/lang.c:1028
 #, c-format
 msgid "%s=quit, %s=edit, %s=postpone: "
 msgstr "%s=Ã§Ä±k, %s=dÃ¼zenle, %s=ertele: "
 
-#: src/lang.c:1005
+#: src/lang.c:1029
 #, fuzzy, c-format
 msgid "%s=quit, %s=edit, %s=save kill description: "
 msgstr "%s=Ã§Ä±k %s=dÃ¼zenle %s=Ã¶ldÃ¼rme tanÄ±mÄ± kaydet: "
 
-#: src/lang.c:1006
+#: src/lang.c:1030
 #, fuzzy, c-format
 msgid "%s=quit, %s=edit, %s=save select description: "
 msgstr "%s=Ã§Ä±k %s=dÃ¼zenle %s=tanÄ±m seÃ§me kaydet: "
 
-#: src/lang.c:1007
+#: src/lang.c:1031
 msgid "Do you really want to quit without saving your configuration?"
 msgstr "YapÄ±landÄ±rmalarÄ± kaydetmeden Ã§Ä±kmak istediÄŸinizden emin misiniz?"
 
-#: src/lang.c:1010
+#: src/lang.c:1033
 msgid "Invalid range - valid are '0-9.$' e.g. 1-$"
 msgstr "GeÃ§ersiz aralÄ±k- 'geÃ§erli aralÄ±k '0-9.$' Ã¶rn. 1-$"
 
-#: src/lang.c:1012
+#: src/lang.c:1035
 msgid "Do you want to abort this operation?"
 msgstr "Ä°ÅŸlem durdurulsun mu?"
 
-#: src/lang.c:1013
+#: src/lang.c:1036
 msgid "Do you want to exit tin immediately?"
 msgstr "tin'den hemen Ã§Ä±kmak istediÄŸinizden emin misiniz?"
 
-#: src/lang.c:1015
+#: src/lang.c:1038
 msgid "Reading ('q' to quit)..."
 msgstr "okunuyor (Ã§Ä±kmak iÃ§in 'q')..."
 
-#: src/lang.c:1016
+#: src/lang.c:1039
 #, fuzzy, c-format
 msgid "Reading %s articles..."
 msgstr "%smakaleler okunuyor..."
 
-#: src/lang.c:1017
-#, c-format
-msgid "Reading %sattributes file...\n"
+#: src/lang.c:1040
+#, fuzzy, c-format
+msgid "Reading %sattributes file: %s\n"
 msgstr "%sÃ¶znitelik dosyasÄ± okunuyor...\n"
 
-#: src/lang.c:1018
-#, c-format
-msgid "Reading %sconfig file...\n"
+#: src/lang.c:1041
+#, fuzzy, c-format
+msgid "Reading %sconfig file: %s\n"
 msgstr " %syapÄ±landÄ±rma dosyasÄ± okunuyor...\n"
 
-#: src/lang.c:1019
-msgid "Reading filter file...\n"
+#: src/lang.c:1042
+#, fuzzy, c-format
+msgid "Reading filter file: %s\n"
 msgstr "filtre dosyasÄ± okunuyor...\n"
 
-#: src/lang.c:1021
+#: src/lang.c:1044
 msgid "reading from local spool"
 msgstr "yerel kuyruktan okunuyor"
 
@@ -3806,153 +3894,155 @@ msgstr "yerel kuyruktan okunuyor"
 # #-#-#-#-#  tin4.po (PACKAGE VERSION)  #-#-#-#-#
 #  TODO: -> lang.c
 #  TODO: -> lang.c
-#: src/lang.c:1023
+#: src/lang.c:1046
 #, fuzzy, c-format
 msgid "Reading %s\n"
 msgstr "%s tekrar okunuyor..."
 
-#: src/lang.c:1024
+#: src/lang.c:1047
 #, c-format
 msgid "Reading %s groups..."
 msgstr "%s gruplar okunuyor..."
 
-#: src/lang.c:1025
-msgid "Reading input history file...\n"
+#: src/lang.c:1048
+#, fuzzy, c-format
+msgid "Reading input history file: %s\n"
 msgstr "Girdi geÃ§miÅŸ dosyasÄ± okunuyor...\n"
 
-#: src/lang.c:1026
+#: src/lang.c:1049
 #, fuzzy, c-format
 msgid "Reading keymap file: %s\n"
 msgstr "tuÅŸeÅŸlem dosyasÄ± okunuyor: %s\n"
 
-#: src/lang.c:1027
+#: src/lang.c:1050
 msgid "Reading groups from active file... "
 msgstr "Gruplar etkin dosyadan okunuyor... "
 
-#: src/lang.c:1028
+#: src/lang.c:1051
 msgid "Reading groups from newsrc file... "
 msgstr "Gruplar newsrc dosyasÄ±ndan okunuyor... "
 
-#: src/lang.c:1029
+#: src/lang.c:1052
 msgid "Reading newsgroups file... "
 msgstr "haber gruplarÄ± dosyasÄ± okunuyor... "
 
-#: src/lang.c:1030
-msgid "Reading newsrc file..."
+#: src/lang.c:1053
+#, fuzzy, c-format
+msgid "Reading newsrc file: %s"
 msgstr "newsrc dosyasÄ± okunuyor..."
 
-#: src/lang.c:1031
+#: src/lang.c:1054
 msgid "References: line              "
 msgstr "Referanslar: satÄ±rÄ±              "
 
-#: src/lang.c:1033
+#: src/lang.c:1056
 #, c-format
 msgid "(%d:%02d remaining)"
 msgstr "(%d:%02d kaldÄ±)"
 
-#: src/lang.c:1035
+#: src/lang.c:1058
 #, c-format
 msgid "Bogus group %s removed."
 msgstr "Sahte grup %s kaldÄ±rÄ±ldÄ±."
 
 #  * TODO: add to the right rule, give better explanation, -> lang.c
-#: src/lang.c:1036
+#: src/lang.c:1059
 #, fuzzy
 msgid "Removed from this rule: "
 msgstr "Ã–nceki kuraldan kaldÄ±rÄ±ldÄ±: "
 
-#: src/lang.c:1037
+#: src/lang.c:1060
 #, c-format
 msgid "Error: rename %s to %s"
 msgstr "Hata: %s'den %s'ye yeniden adlandÄ±rma"
 
-#: src/lang.c:1038
+#: src/lang.c:1061
 msgid "Reply to author..."
 msgstr "Yazara yanÄ±tla..."
 
-#: src/lang.c:1039
+#: src/lang.c:1062
 msgid "Repost"
 msgstr "Yeniden gÃ¶nder"
 
-#: src/lang.c:1040
+#: src/lang.c:1063
 msgid "Reposting article..."
 msgstr "\"Makale yeniden gÃ¶nderiliyor..."
 
-#: src/lang.c:1041
+#: src/lang.c:1064
 #, c-format
 msgid "Repost article(s) to group(s) [%s]> "
 msgstr "Makale(ler)i grup(lar)a gÃ¶nder [%s]> "
 
-#: src/lang.c:1042
+#: src/lang.c:1065
 msgid "Reset newsrc?"
 msgstr "newsrc sÄ±fÄ±rlansÄ±n mÄ±?"
 
-#: src/lang.c:1043
+#: src/lang.c:1066
 msgid "Responses have been directed to the following newsgroups"
 msgstr "YanÄ±tlar ÅŸu haber gruplarÄ±na yÃ¶nlendirildi"
 
-#: src/lang.c:1044
+#: src/lang.c:1067
 #, c-format
 msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr "YanÄ±tlar gÃ¶ndericiye yÃ¶nlendirildi.  %s=postala, %s=gÃ¶nder, %s=iptal: "
 
-#: src/lang.c:1045
+#: src/lang.c:1068
 msgid "Press <RETURN> to continue..."
 msgstr "Devam etmek iÃ§in  <RETURN>..."
 
-#: src/lang.c:1047
+#: src/lang.c:1070
 #, c-format
 msgid "Score: %s"
 msgstr ""
 
-#: src/lang.c:1048
+#: src/lang.c:1071
 #, c-format
 msgid "Select From    [%s] (y/n): "
 msgstr "GÃ¶nderen SeÃ§    [%s] (e/h): "
 
-#: src/lang.c:1049
+#: src/lang.c:1072
 msgid "Select Lines: (</>num): "
 msgstr "SatÄ±rlar: SeÃ§ (</>num):"
 
-#: src/lang.c:1050
+#: src/lang.c:1073
 msgid "Auto-select Article Menu"
 msgstr "Makale MenÃ¼sÃ¼nÃ¼ Otomatik SeÃ§"
 
-#: src/lang.c:1051
+#: src/lang.c:1074
 #, fuzzy, c-format
 msgid "Select Msg-ID  [%s] (f/l/o/n): "
 msgstr "Ä°leti-kimliÄŸi seÃ§iniz  [%s] (f/l/o/n): "
 
-#: src/lang.c:1052
+#: src/lang.c:1075
 msgid "Select pattern scope: "
 msgstr "Desen etki alanÄ±nÄ± seÃ§: "
 
-#: src/lang.c:1053
+#: src/lang.c:1076
 #, c-format
 msgid "Select Subject [%s] (y/n): "
 msgstr "Konuyu SeÃ§ [%s] (e/h): "
 
-#: src/lang.c:1054
+#: src/lang.c:1077
 msgid "Select text pattern : "
 msgstr "Metin Ã¶rÃ¼ntÃ¼sÃ¼ seÃ§ : "
 
-#: src/lang.c:1055
+#: src/lang.c:1078
 msgid "Select time in days   : "
 msgstr "ZamanÄ± gÃ¼n cinsinden seÃ§   : "
 
-#: src/lang.c:1056
+#: src/lang.c:1079
 msgid "[k]"
 msgstr ""
 
-#: src/lang.c:1057
+#: src/lang.c:1080
 msgid "[T]"
 msgstr ""
 
-#: src/lang.c:1058
+#: src/lang.c:1081
 msgid " R"
 msgstr " R"
 
-#: src/lang.c:1059
+#: src/lang.c:1082
 #, c-format
 msgid ""
 "# %s server configuration file\n"
@@ -3973,54 +4063,54 @@ msgstr ""
 "############################################################################\n"
 "\n"
 
-#: src/lang.c:1065
+#: src/lang.c:1088
 msgid "Showing unread groups only"
 msgstr "Sadece okunmamÄ±ÅŸ gruplar gÃ¶steriliyor"
 
-#: src/lang.c:1066
+#: src/lang.c:1089
 msgid "Subject: line (ignore case)   "
 msgstr "Konu: satÄ±r (bÃ¼yÃ¼k kÃ¼Ã§Ã¼k harf durumunu yoksay)   "
 
-#: src/lang.c:1067
+#: src/lang.c:1090
 msgid "Subject: line (case sensitive)"
 msgstr "Konu: satÄ±r (bÃ¼yÃ¼k-kÃ¼Ã§Ã¼k harf duyarlÄ±)"
 
-#: src/lang.c:1068
+#: src/lang.c:1091
 msgid "Save"
 msgstr "Kaydet"
 
-#: src/lang.c:1069
+#: src/lang.c:1092
 #, c-format
 msgid "Save '%s' (%s/%s)?"
 msgstr "'%s' Kaydedilsin mi (%s/%s)?"
 
-#: src/lang.c:1070
+#: src/lang.c:1093
 msgid "Save configuration before continuing?"
 msgstr "Devam etmeden yapÄ±landÄ±rmayÄ± kaydet?"
 
-#: src/lang.c:1071
+#: src/lang.c:1094
 msgid "Save filename> "
 msgstr "Kaydet dosyaadÄ±> "
 
-#: src/lang.c:1072
+#: src/lang.c:1095
 msgid "Saved"
 msgstr "Kaydedildi"
 
-#: src/lang.c:1073
-#, c-format
-msgid "%4d unread (%4d hot) %s in %s\n"
+#: src/lang.c:1096
+#, fuzzy, c-format
+msgid "%s unread (%s hot) %s in %s\n"
 msgstr "%4d okunmamÄ±ÅŸ (%4d sÄ±cak) %s ÅŸunun iÃ§inde %s\n"
 
-#: src/lang.c:1074
+#: src/lang.c:1097
 #, c-format
 msgid "Saved %s...\n"
 msgstr "%s kaydedildi...\n"
 
-#: src/lang.c:1075
+#: src/lang.c:1098
 msgid "Nothing was saved"
 msgstr "HiÃ§bir ÅŸey kaydedilmedi"
 
-#: src/lang.c:1076
+#: src/lang.c:1099
 #, c-format
 msgid ""
 "\n"
@@ -4029,189 +4119,189 @@ msgstr ""
 "\n"
 "%s %d %s ÅŸundan %d %s\n"
 
-#: src/lang.c:1077
+#: src/lang.c:1100
 #, c-format
 msgid "-- %s saved to %s%s --"
 msgstr "-- %s ÅŸuna kaydedildi %s%s --"
 
-#: src/lang.c:1078
+#: src/lang.c:1101
 #, c-format
 msgid "-- %s saved to %s - %s --"
 msgstr "-- %s ÅŸuna kaydedildi %s - %s --"
 
-#: src/lang.c:1079
+#: src/lang.c:1102
 msgid "Saving..."
 msgstr "Kaydediliyor..."
 
-#: src/lang.c:1080
+#: src/lang.c:1103
 #, c-format
 msgid "%s: Screen initialization failed"
 msgstr "%s: Ekran baÅŸlatma baÅŸarÄ±sÄ±z"
 
-#: src/lang.c:1082
+#: src/lang.c:1105
 #, c-format
 msgid "%s: screen is too small\n"
 msgstr "%s: ekran Ã§ok kÃ¼Ã§Ã¼k\n"
 
-#: src/lang.c:1084
+#: src/lang.c:1107
 #, c-format
 msgid "screen is too small, %s is exiting"
 msgstr "ekran Ã§ok kÃ¼Ã§Ã¼k, %s Ã§Ä±kÄ±yor"
 
-#: src/lang.c:1085
+#: src/lang.c:1108
 msgid "Delete scope?"
 msgstr "AlanÄ± sil?"
 
-#: src/lang.c:1086
+#: src/lang.c:1109
 msgid "Enter scope> "
 msgstr "Alan gir> "
 
-#: src/lang.c:1087
+#: src/lang.c:1110
 msgid "Select new position> "
 msgstr "Yeni konum seÃ§> "
 
-#: src/lang.c:1088
+#: src/lang.c:1111
 msgid "New position cannot be a global scope"
 msgstr "Yeni konum kÃ¼resel kapsam olamaz"
 
-#: src/lang.c:1089
+#: src/lang.c:1112
 msgid "Global scope, operation not allowed"
 msgstr "Genel etki alanÄ±, iÅŸleme izin verilmedi"
 
-#: src/lang.c:1090
+#: src/lang.c:1113
 msgid "Rename scope> "
 msgstr "KapsamÄ± yeniden adlandÄ±r> "
 
-#: src/lang.c:1091
+#: src/lang.c:1114
 msgid "Select scope> "
 msgstr "Etki alanÄ± seÃ§> "
 
-#: src/lang.c:1092
+#: src/lang.c:1115
 msgid "Scopes Menu"
 msgstr "Etki AlanÄ± MenÃ¼sÃ¼"
 
-#: src/lang.c:1093
+#: src/lang.c:1116
 msgid "Scopes Menu Commands"
 msgstr "Alan MenÃ¼sÃ¼ KomutlarÄ±"
 
-#: src/lang.c:1094
+#: src/lang.c:1117
 #, c-format
 msgid "Search backwards [%s]> "
 msgstr "Geriye doÄŸru ara [%s]> "
 
-#: src/lang.c:1095
+#: src/lang.c:1118
 #, c-format
 msgid "Search body [%s]> "
 msgstr "GÃ¶vdeyi ara  [%s]> "
 
-#: src/lang.c:1096
+#: src/lang.c:1119
 #, c-format
 msgid "Search forwards [%s]> "
 msgstr "Ä°leri ara [%s]> "
 
-#: src/lang.c:1097
+#: src/lang.c:1120
 msgid "Searching..."
 msgstr "AranÄ±yor..."
 
-#: src/lang.c:1098
+#: src/lang.c:1121
 #, c-format
 msgid "Searching article %d of %d ('q' to abort)..."
 msgstr "Makale aranÄ±yor %d / %d ('q' durdur)..."
 
-#: src/lang.c:1099
+#: src/lang.c:1122
 msgid "Select article> "
 msgstr "Makale seÃ§> "
 
-#: src/lang.c:1100
+#: src/lang.c:1123
 msgid ""
 "Select option number before text or use arrow keys and <CR>. 'q' to quit."
 msgstr ""
 "Metinden Ã¶nce seÃ§enek numarasÄ±nÄ± seÃ§in ya da ok tuÅŸlarÄ± ve <CR> ile seÃ§in. "
 "Ã‡Ä±kmak iÃ§in 'q'."
 
-#: src/lang.c:1101
+#: src/lang.c:1124
 msgid "Select group> "
 msgstr "Grup seÃ§> "
 
-#: src/lang.c:1102
+#: src/lang.c:1125
 #, c-format
 msgid "Enter selection pattern [%s]> "
 msgstr "SeÃ§me Ã¶rÃ¼ntÃ¼sÃ¼nÃ¼ girin [%s]> "
 
-#: src/lang.c:1103
+#: src/lang.c:1126
 msgid "Select thread> "
 msgstr "eposta zinciri seÃ§> "
 
-#: src/lang.c:1104
+#: src/lang.c:1127
 #, c-format
 msgid "%s %s %s (\"%s\"): send a DETAILED bug report to %s\n"
 msgstr "\"%s %s %s (\"%s\"): DETAYLI hata raporunu ÅŸuna gÃ¶nder %s\n"
 
-#: src/lang.c:1105
+#: src/lang.c:1128
 msgid "servers active-file"
 msgstr "sunucular etkin-dosyasÄ±"
 
-#: src/lang.c:1106
+#: src/lang.c:1129
 #, c-format
 msgid "Skipped %s"
 msgstr ""
 
-#: src/lang.c:1107
+#: src/lang.c:1130
 msgid "Cannot move into new newsgroups. Subscribe first..."
 msgstr "Yeni habergruplarÄ±na giriÅŸ yapÄ±lamÄ±yor. Ã–nce abone ol..."
 
-#: src/lang.c:1108
+#: src/lang.c:1131
 msgid "<SPACE>"
 msgstr "<SPACE>"
 
-#: src/lang.c:1109
+#: src/lang.c:1132
 #, c-format
 msgid "Starting: (%s)"
 msgstr "BaÅŸlÄ±yor: (%s)"
 
-#: src/lang.c:1110
+#: src/lang.c:1133
 #, c-format
 msgid "List Thread (%d of %d)"
 msgstr "Eposta zinciri listeleme (%d of %d)"
 
-#: src/lang.c:1111
+#: src/lang.c:1134
 #, c-format
 msgid "Thread (%.*s)"
 msgstr "Eposta zinciri (%.*s)"
 
-#: src/lang.c:1112
+#: src/lang.c:1135
 msgid "Enter wildcard subscribe pattern> "
 msgstr "Abone olma joker karakter Ã¶rÃ¼ntÃ¼sÃ¼nÃ¼ girin> "
 
-#: src/lang.c:1113
+#: src/lang.c:1136
 #, c-format
 msgid "subscribed to %d groups"
 msgstr "\"%d gruba abone olundu"
 
-#: src/lang.c:1114
+#: src/lang.c:1137
 #, c-format
 msgid "Subscribed to %s"
 msgstr "%s'e abone olundu"
 
-#: src/lang.c:1115
+#: src/lang.c:1138
 msgid "Subscribing... "
 msgstr "Abone olunuyor... "
 
-#: src/lang.c:1116
+#: src/lang.c:1139
 #, c-format
 msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): "
 msgstr "Makale(ler)i yeniden gÃ¶nder yada deÄŸiÅŸtir [%%s]? (%s/%s/%s): "
 
-#: src/lang.c:1117
+#: src/lang.c:1140
 #, c-format
 msgid "Supersede article(s) to group(s) [%s]> "
 msgstr "Makale(ler)i Grup(lar)Ä±n yerine al [%s]> "
 
-#: src/lang.c:1118
+#: src/lang.c:1141
 msgid "Superseding article ..."
 msgstr "Makale deÄŸiÅŸtiriliyor ..."
 
-#: src/lang.c:1119
+#: src/lang.c:1142
 #, c-format
 msgid ""
 "\n"
@@ -4220,29 +4310,29 @@ msgstr ""
 "\n"
 "Durduruldu. Yeniden baÅŸlatmak iÃ§in 'fg' yaz %s\n"
 
-#: src/lang.c:1121
+#: src/lang.c:1144
 #, c-format
 msgid "%d days"
 msgstr "%d gÃ¼n"
 
-#: src/lang.c:1122
+#: src/lang.c:1145
 msgid "<TAB>"
 msgstr "<TAB>"
 
-#: src/lang.c:1123
+#: src/lang.c:1146
 msgid "TeX "
 msgstr "TeX "
 
-#: src/lang.c:1124
+#: src/lang.c:1147
 #, fuzzy, c-format
 msgid "Version: %s %s release %s (\"%s\")"
 msgstr "SÃ¼rÃ¼m: %s yayÄ±m %s %s (\"%s\")\n"
 
-#: src/lang.c:1125
+#: src/lang.c:1148
 msgid "# Default action/prompt strings\n"
 msgstr "# VarsayÄ±lan iÅŸlem/komut dizgileri\n"
 
-#: src/lang.c:1126
+#: src/lang.c:1149
 msgid ""
 "# Defaults for quick (1 key) kill & auto-selection filters\n"
 "# header=NUM  0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n"
@@ -4264,295 +4354,305 @@ msgstr ""
 "# sÃ¼re doldur=AÃ‡IK/KAPALI  AÃ‡IK=default_filter_days deÄŸerine sÄ±nÄ±rla "
 "KAPALI=hiÃ§bir zaman sÃ¼resini doldurma\n"
 
-#: src/lang.c:1139
+#: src/lang.c:1162
 msgid ""
 "# If ON use print current subject or newsgroup description in the last line\n"
 msgstr ""
 "# eÄŸer AÃ‡IK durumdaysa mevcut konu yada son satÄ±rdaki haber grubu tanÄ±mÄ± "
 "iÃ§in yazdÄ±rÄ±r\n"
 
-#: src/lang.c:1140
+#: src/lang.c:1163
 msgid "# Host & time info used for detecting new groups (don't touch)\n"
 msgstr ""
 "# Yeni gruplarÄ± algÄ±lamak iÃ§in sunucu & zaman bilgileri kullanÄ±lÄ±r "
 "(dokunmayÄ±nÄ±z)\n"
 
-#: src/lang.c:1141
+#: src/lang.c:1164
 msgid "There is no news\n"
 msgstr "HiÃ§bir haber yok\n"
 
-#: src/lang.c:1142
+#: src/lang.c:1165
 msgid "Thread"
 msgstr "Eposta zinciri"
 
-#: src/lang.c:1143
+#: src/lang.c:1166
 msgid "Thread Level Commands"
 msgstr "Eposta Zinciri Seviyesi KomutlarÄ±"
 
-#: src/lang.c:1144
+#: src/lang.c:1167
 msgid "Thread deselected"
 msgstr "Eposta zinciri seÃ§imi kaldÄ±rÄ±ldÄ±"
 
-#: src/lang.c:1145
+#: src/lang.c:1168
 msgid "Thread selected"
 msgstr "Eposta zinciri seÃ§ildi"
 
-#: src/lang.c:1146
+#: src/lang.c:1169
 msgid "thread"
 msgstr "eposta zinciri"
 
-#: src/lang.c:1147
+#: src/lang.c:1170
 #, c-format
 msgid "Thread %4s of %4s"
 msgstr "Eposta zinciri %4s / %4s "
 
-#: src/lang.c:1148
+#: src/lang.c:1171
 msgid "Threading articles..."
 msgstr "Makaleler zincirleniyor..."
 
-#: src/lang.c:1149
+#: src/lang.c:1172
 #, fuzzy
 msgid "Threading by multipart"
 msgstr "Makaleler zincirleniyor..."
 
-#: src/lang.c:1151
-#, fuzzy, c-format
-msgid "TLS handshake failed: %s\n"
-msgstr "Slrnface baÅŸarÄ±sÄ±z: %s"
-
-#: src/lang.c:1153
+#: src/lang.c:1175
 msgid "<failed to retrieve cipher>"
 msgstr ""
 
-#: src/lang.c:1154
+#: src/lang.c:1176
 msgid "<failed to retrieve issuer>"
 msgstr ""
 
-#: src/lang.c:1155
+#: src/lang.c:1177
 msgid "<failed to retrieve subject>"
 msgstr ""
 
-#: src/lang.c:1156
+#: src/lang.c:1178
 msgid "<failed to retrieve version>"
 msgstr ""
 
-#: src/lang.c:1157
+#: src/lang.c:1179
 #, fuzzy, c-format
 msgid "%s handshake done: %s\n"
 msgstr "Slrnface baÅŸarÄ±sÄ±z: %s"
 
-#: src/lang.c:1158 src/lang.c:1309
-#, fuzzy
-msgid "unknown error"
-msgstr "Bilinmeyen hata."
-
-#: src/lang.c:1161
+#: src/lang.c:1182
 #, fuzzy, c-format
 msgid "TLS handshake failed: %s (%d)\n"
 msgstr "Slrnface baÅŸarÄ±sÄ±z: %s"
 
-#: src/lang.c:1162
+#: src/lang.c:1183
 #, fuzzy, c-format
 msgid "TLS peer verification failed: %s\n"
 msgstr "Slrnface baÅŸarÄ±sÄ±z: %s"
 
-#: src/lang.c:1163
+#: src/lang.c:1184
 #, c-format
 msgid "TLS peer verification failed, continuing anyway as requested: %s\n"
 msgstr ""
 
-#: src/lang.c:1164
+#: src/lang.c:1185
 msgid "<unable to retrieve status>"
 msgstr ""
 
-#: src/lang.c:1165
+#: src/lang.c:1186
 msgid "unexpected certificate verification status!"
 msgstr ""
 
-#: src/lang.c:1168
+#: src/lang.c:1189
 #, c-format
 msgid ""
 "TLS peer verification failed: %s.\n"
 "Continuing anyway as requested.\n"
 msgstr ""
 
-#: src/lang.c:1171
+#: src/lang.c:1192
 #, fuzzy, c-format
 msgid "TLS handshake done: %s\n"
 msgstr "Slrnface baÅŸarÄ±sÄ±z: %s"
 
-#: src/lang.c:1174
+#: src/lang.c:1195
+#, fuzzy, c-format
+msgid "TLS handshake failed: %s\n"
+msgstr "Slrnface baÅŸarÄ±sÄ±z: %s"
+
+#: src/lang.c:1198
 #, c-format
 msgid "Toggled word highlighting %s"
 msgstr "Kelime vurgulamasÄ± deÄŸiÅŸtirildi %s"
 
-#: src/lang.c:1175
+#: src/lang.c:1199
 msgid "Toggled rot13 encoding"
 msgstr "rot13 kodlama deÄŸiÅŸtirildi"
 
-#: src/lang.c:1176
+#: src/lang.c:1200
 #, fuzzy, c-format
 msgid "Toggled German TeX encoding %s"
 msgstr "Almanca TeX kodlama deÄŸiÅŸtirildi %s"
 
-#: src/lang.c:1177
+#: src/lang.c:1201
 #, c-format
 msgid "Toggled tab-width to %d"
 msgstr "tab geniÅŸliÄŸi ÅŸuna deÄŸiÅŸtirildi %d"
 
-#: src/lang.c:1179
+#: src/lang.c:1203
 #, c-format
 msgid "%d Trying to dotlock %s"
 msgstr "\"%d dotlock yapÄ±lmaya Ã§alÄ±ÅŸÄ±lÄ±yor %s"
 
-#: src/lang.c:1180
+#: src/lang.c:1204
 #, c-format
 msgid "%d Trying to lock %s"
 msgstr "\"%d Kilitlemeye Ã§alÄ±ÅŸÄ±lÄ±yor %s"
 
-#: src/lang.c:1182
+#: src/lang.c:1206
 #, fuzzy, c-format
 msgid "%s=help"
 msgstr "%s=yardÄ±m"
 
-#: src/lang.c:1184
+#: src/lang.c:1208
 msgid "Unlimited"
 msgstr "SÄ±nÄ±rsÄ±z"
 
-#: src/lang.c:1185
+#: src/lang.c:1209
 msgid "Enter wildcard unsubscribe pattern> "
 msgstr "abonelikten Ã§Ä±kma joker karakter Ã¶rÃ¼ntÃ¼sÃ¼nÃ¼ girin> "
 
-#: src/lang.c:1186
+#: src/lang.c:1210
 #, c-format
 msgid "Error decoding %s : %s"
 msgstr "Ã‡Ã¶zÃ¼lÃ¼rken hata %s: %s"
 
-#: src/lang.c:1187
+#: src/lang.c:1211
 msgid "No end."
 msgstr "Son yok."
 
-#: src/lang.c:1188
+#: src/lang.c:1212
 #, c-format
 msgid "%s successfully decoded."
 msgstr "%s baÅŸarÄ±yla Ã§Ã¶zÃ¼ldÃ¼."
 
 #  Don't hash the initial '<'
-#: src/lang.c:1189
+#: src/lang.c:1214
 msgid "unchanged"
 msgstr "deÄŸiÅŸtirilmemiÅŸ"
 
-#: src/lang.c:1190
+#: src/lang.c:1216
 msgid "(unknown)"
 msgstr "(bilinmiyor)"
 
-#: src/lang.c:1191
+#: src/lang.c:1218
+#, fuzzy
+msgid "unknown error"
+msgstr "Bilinmeyen hata."
+
+#: src/lang.c:1220
 msgid "unread"
 msgstr "okunmamÄ±ÅŸ"
 
-#: src/lang.c:1192
+#: src/lang.c:1221
 #, c-format
 msgid "unsubscribed from %d groups"
 msgstr "%d tane gruptan abonelikten Ã§Ä±kÄ±ldÄ±"
 
-#: src/lang.c:1193
+#: src/lang.c:1222
 #, c-format
 msgid "Unsubscribed from %s"
 msgstr "%s aboneliÄŸinden Ã§Ä±kÄ±ldÄ±"
 
-#: src/lang.c:1194
+#: src/lang.c:1223
 msgid "Unsubscribing... "
 msgstr "Abonelik iptal ediliyor... "
 
-#: src/lang.c:1195
+#: src/lang.c:1224
 msgid "Unthreading articles..."
 msgstr "Makalelerin baÄŸlantÄ±sÄ± sonlanÄ±yor..."
 
-#: src/lang.c:1196
+#: src/lang.c:1225
 msgid "Updated"
 msgstr "GÃ¼ncellendi"
 
-#: src/lang.c:1197
+#: src/lang.c:1226
 msgid "Updating"
 msgstr "GÃ¼ncelleniyor"
 
-#: src/lang.c:1198
+#: src/lang.c:1227
 msgid "URL Menu"
 msgstr "URL MenÃ¼sÃ¼"
 
-#: src/lang.c:1199
+#: src/lang.c:1228
 msgid "URL Menu Commands"
 msgstr "URL MenÃ¼sÃ¼ KomutlarÄ±"
 
-#: src/lang.c:1200
+#: src/lang.c:1229
 #, c-format
 msgid "Opening %s"
 msgstr "%s aÃ§Ä±lÄ±yor"
 
-#: src/lang.c:1201
+#: src/lang.c:1230
 msgid "Select URL> "
 msgstr "URL seÃ§> "
 
-#: src/lang.c:1202
+#: src/lang.c:1231
 msgid "No URLs in this article"
 msgstr "Makalede URL yok"
 
-#: src/lang.c:1203
-msgid "Use MIME display program for this message?"
-msgstr "Bu ileti iÃ§in MIME gÃ¶rÃ¼ntÃ¼leme programÄ± kullan?"
+#: src/lang.c:1233
+#, c-format
+msgid "SASL MECHS    : %s\n"
+msgstr ""
 
-#: src/lang.c:1204
+#: src/lang.c:1234
+#, c-format
+msgid "SASL MECH used: %s\n"
+msgstr ""
+
+#: src/lang.c:1236
 msgid "  -c       mark all news as read in subscribed newsgroups (batch mode)"
 msgstr ""
 "  -c       abone olunmuÅŸ haber gruplarÄ±ndaki tÃ¼m haberleri okunmuÅŸ olarak "
 "iÅŸaretle (toplu kip)"
 
-#: src/lang.c:1205
+#: src/lang.c:1237
 msgid "  -Z       return status indicating if any unread news (batch mode)"
 msgstr ""
 "  -Z       herhangi okunmamÄ±ÅŸ haber varsa bu durumu gÃ¶steren durum geri "
 "dÃ¶ndÃ¼r (toplu kip)"
 
-#: src/lang.c:1206
+#: src/lang.c:1238
 msgid "  -q       don't check for new newsgroups"
 msgstr "  -q       yeni haber gruplarÄ± iÃ§in kontrol etme"
 
-#: src/lang.c:1207
+#: src/lang.c:1239
 msgid "  -X       don't save any files on quit"
 msgstr "  -X       Ã§Ä±kÄ±ÅŸta hiÃ§bir dosyayÄ± kaydetme"
 
-#: src/lang.c:1208
+#: src/lang.c:1240
 msgid "  -d       don't show newsgroup descriptions"
 msgstr "  -d       habergrubu tanÄ±mlarÄ± gÃ¶sterme"
 
-#: src/lang.c:1209
+#: src/lang.c:1241
 msgid "  -G limit get only limit articles/group"
 msgstr "  -G sÄ±nÄ±r sadece sÄ±nÄ±r kadar makale/grup getir"
 
-#: src/lang.c:1210
+#: src/lang.c:1242
 #, c-format
 msgid "  -H       help information about %s"
 msgstr "  -H       %s hakkÄ±nda yardÄ±m bilgisi"
 
-#: src/lang.c:1211
+#: src/lang.c:1243
 msgid "  -h       this help message"
 msgstr "  -h       bu yardÄ±m mesajÄ±"
 
-#: src/lang.c:1212
+#: src/lang.c:1244
 #, c-format
 msgid "  -I dir   news index file directory [default=%s]"
 msgstr "  -I dizin   haber dizinleme dosyasÄ± dizini [varsayÄ±lan=%s]"
 
-#: src/lang.c:1213
+#: src/lang.c:1246
+msgid "  -L msgid show the message with that Message-ID"
+msgstr ""
+
+#: src/lang.c:1248
 msgid "  -u       update index files (batch mode)"
 msgstr "  -u       dizin dosyalarÄ±nÄ± gÃ¼ncelle (toplu kip)"
 
-#: src/lang.c:1214
+#: src/lang.c:1249
 #, c-format
 msgid "  -m dir   mailbox directory [default=%s]"
 msgstr "  -m dizin   posta kutusu dizini [varsayÄ±lan=%s]"
 
-#: src/lang.c:1215
+#: src/lang.c:1250
 #, c-format
 msgid ""
 "\n"
@@ -4561,50 +4661,55 @@ msgstr ""
 "\n"
 "hata raporu/yorumlarÄ± %s adresine yolla"
 
-#: src/lang.c:1216
+#: src/lang.c:1251
 msgid "  -N       mail new news to your posts (batch mode)"
 msgstr "  -N       gÃ¶nderilerinize yeni haberleri gÃ¶nder (toplu kip)"
 
-#: src/lang.c:1217
+#: src/lang.c:1252
 msgid "  -M user  mail new news to specified user (batch mode)"
 msgstr ""
 "  -M kullanÄ±cÄ±  belirtilmiÅŸ kulanÄ±cÄ±ya yeni haberleri gÃ¶nder (toplu kip)"
 
-#: src/lang.c:1218
+#: src/lang.c:1253
 #, c-format
 msgid "  -f file  subscribed to newsgroups file [default=%s]"
 msgstr "  -f dosya  haber gruplarÄ± dosyasÄ±na abone olundu [varsayÄ±lan=%s]"
 
-#: src/lang.c:1219
+#: src/lang.c:1255
+#, c-format
+msgid "  -t sec   override nntp_read_timeout_secs setting [default=%d]"
+msgstr ""
+
+#: src/lang.c:1257
 msgid "  -x       no-posting mode"
 msgstr "  -x       gÃ¶ndermeme kipi"
 
-#: src/lang.c:1220
+#: src/lang.c:1258
 msgid "  -w       post an article and exit"
 msgstr "  -w       makale gÃ¶nder ve Ã§Ä±k"
 
-#: src/lang.c:1221
+#: src/lang.c:1259
 msgid "  -o       post all postponed articles and exit"
 msgstr "  -o       ertelenmiÅŸ bÃ¼tÃ¼n makaleleri gÃ¶nder ve Ã§Ä±k"
 
-#: src/lang.c:1222
+#: src/lang.c:1260
 msgid "  -R       read news saved by -S option"
 msgstr "  -R       -S seÃ§eneÄŸi ile kaydedilen haberleri oku"
 
-#: src/lang.c:1223
+#: src/lang.c:1261
 #, c-format
 msgid "  -s dir   save news directory [default=%s]"
 msgstr "  -s dizin   haber dizinini kaydet [varsayÄ±lan=%s]"
 
-#: src/lang.c:1224
+#: src/lang.c:1262
 msgid "  -S       save new news for later reading (batch mode)"
 msgstr "  -S       daha sonra okumak Ã¼zere yeni haberleri kaydet (toplu kip)"
 
-#: src/lang.c:1225
+#: src/lang.c:1263
 msgid "  -z       start if any unread news"
 msgstr "  -z       okunmamÄ±ÅŸ haber varsa baÅŸla"
 
-#: src/lang.c:1226
+#: src/lang.c:1264
 #, c-format
 msgid ""
 "A Usenet reader.\n"
@@ -4615,68 +4720,73 @@ msgstr ""
 "\n"
 "KullanÄ±m: %s [seÃ§enekler] [habergrubu[,...]]"
 
-#: src/lang.c:1227
+#: src/lang.c:1265
 msgid "  -v       verbose output for batch mode options"
 msgstr "  -v       toplu kip seÃ§enekleri iÃ§in ayrÄ±ntÄ±lÄ± Ã§Ä±kÄ±ÅŸ"
 
-#: src/lang.c:1228
+#: src/lang.c:1266
 msgid "  -V       print version & date information"
 msgstr "  -V       sÃ¼rÃ¼m ve tarih bilgilerini yazdÄ±r"
 
-#: src/lang.c:1229
-#, c-format
-msgid "%s only useful without batch mode operations\n"
-msgstr "%s sadece toplu kip iÅŸlemleri yoksa kullanÄ±ÅŸlÄ±\n"
+#: src/lang.c:1267
+msgid "Use MIME display program for this message?"
+msgstr "Bu ileti iÃ§in MIME gÃ¶rÃ¼ntÃ¼leme programÄ± kullan?"
 
-#: src/lang.c:1230
-#, c-format
-msgid "%s only useful for batch mode operations\n"
-msgstr "%s sadece toplu kip iÅŸlemleri varsa kullanÄ±ÅŸlÄ±\n"
+#: src/lang.c:1268
+#, fuzzy, c-format
+msgid "%s only useful without batch mode operations.%s\n"
+msgstr "%s sadece toplu kip iÅŸlemleri yoksa kullanÄ±ÅŸlÄ±.%s\n"
 
-#: src/lang.c:1231
+#: src/lang.c:1269
 #, fuzzy, c-format
-msgid "%s only useful for batch or debug mode operations\n"
-msgstr "%s sadece toplu kip iÅŸlemleri varsa kullanÄ±ÅŸlÄ±\n"
+msgid "%s only useful for batch mode operations.%s\n"
+msgstr "%s sadece toplu kip iÅŸlemleri varsa kullanÄ±ÅŸlÄ±.%s\n"
 
-#: src/lang.c:1232
-#, c-format
-msgid "Useless combination %s and %s. Ignoring %s.\n"
-msgstr "Kombinasyon %s ve %s kullanÄ±ÅŸsÄ±z. %s Ã¶nemsenmiyor.\n"
+#: src/lang.c:1270
+#, fuzzy, c-format
+msgid "%s only useful for batch or debug mode operations.%s\n"
+msgstr "%s sadece toplu kip iÅŸlemleri varsa kullanÄ±ÅŸlÄ±.%s\n"
 
-#: src/lang.c:1233
+#: src/lang.c:1271
+#, fuzzy, c-format
+msgid "Useless combination %s and %s. Ignoring %s.%s\n"
+msgstr "Kombinasyon %s ve %s kullanÄ±ÅŸsÄ±z. %s Ã¶nemsenmiyor.%s\n"
+
+#: src/lang.c:1272
 msgid "uuencoded file"
 msgstr ""
 
-#: src/lang.c:1234
+#: src/lang.c:1273
 #, fuzzy
 msgid "incomplete uuencoded file"
 msgstr "tamamlanmadÄ± "
 
-#: src/lang.c:1237
+#: src/lang.c:1276
 #, c-format
 msgid "Valid not after : %s\n"
 msgstr ""
 
-#: src/lang.c:1238
+#: src/lang.c:1277
 #, c-format
 msgid "Valid not before: %s\n"
 msgstr ""
 
-#: src/lang.c:1240
-#, c-format
-msgid ""
-"\n"
-"%s%d out of range (0 - %d). Reset to 0"
-msgstr ""
-"\n"
-"%s%d aralÄ±k dÄ±ÅŸÄ±nda (0 - %d). 0'a SÄ±fÄ±rla"
+#: src/lang.c:1279
+#, fuzzy, c-format
+msgid "%s %s out of range (%d - %d). Ignored."
+msgstr "%s%d aralÄ±k dÄ±ÅŸÄ±nda (0 - %d). GÃ¶rmezden geldim."
 
-#: src/lang.c:1241
+#: src/lang.c:1280
+#, fuzzy, c-format
+msgid "%s %d out of range (0 - %d). Reset to 0."
+msgstr "%s%d aralÄ±k dÄ±ÅŸÄ±nda (0 - %d). 0'a SÄ±fÄ±rla."
+
+#: src/lang.c:1281
 #, c-format
 msgid "View '%s' (%s/%s)?"
 msgstr "GÃ¶ster '%s' (%s/%s)?"
 
-#: src/lang.c:1243
+#: src/lang.c:1283
 #, c-format
 msgid ""
 "\n"
@@ -4687,7 +4797,7 @@ msgstr ""
 "UyarÄ±: gÃ¶nderi %d sÃ¼tunu aÅŸÄ±yor. %d en uzun ilk satÄ±r:\n"
 "%-100s\n"
 
-#: src/lang.c:1244
+#: src/lang.c:1284
 msgid ""
 "\n"
 "Warning: article unchanged after editing\n"
@@ -4695,7 +4805,7 @@ msgstr ""
 "\n"
 "UyarÄ±: makale dÃ¼zenlendikten sonra deÄŸiÅŸtirilmedi\n"
 
-#: src/lang.c:1245
+#: src/lang.c:1285
 msgid ""
 "\n"
 "Warning: \"Subject:\" contains only whitespaces.\n"
@@ -4703,7 +4813,7 @@ msgstr ""
 "\n"
 "UyarÄ±: \"Konu:\" sadece beyaz boÅŸluklardan oluÅŸuyor. \n"
 
-#: src/lang.c:1246
+#: src/lang.c:1286
 msgid ""
 "\n"
 "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:"
@@ -4712,7 +4822,7 @@ msgstr ""
 "\n"
 "UyarÄ±: \"Konu:\", \"Re: \" ile baÅŸlÄ±yor ama \"Referanslar:\" yok.\n"
 
-#: src/lang.c:1248
+#: src/lang.c:1288
 msgid ""
 "\n"
 "Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
@@ -4722,7 +4832,16 @@ msgstr ""
 "UyarÄ±: Makalede \"Referanslar:\" var ama \"Konu:\" \"Re: \" ile\n"
 "         baÅŸlamÄ±yor ve \"(was:\" yok.\n"
 
-#: src/lang.c:1251
+#: src/lang.c:1291
+#, fuzzy
+msgid ""
+"\n"
+"Warning: \"Subject:\" contains only \"Re:\".\n"
+msgstr ""
+"\n"
+"UyarÄ±: \"Konu:\" sadece beyaz boÅŸluklardan oluÅŸuyor. \n"
+
+#: src/lang.c:1292
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4745,7 +4864,16 @@ msgstr ""
 "Ä°ptal etmek Ã¼zere olduÄŸunuz makale bu:\n"
 "\n"
 
-#: src/lang.c:1255
+#: src/lang.c:1296
+#, fuzzy
+msgid ""
+"\n"
+"Warning: Undesired Distribution \"world\" used.\n"
+msgstr ""
+"\n"
+"Hata: GeÃ§ersiz biÃ§imlendirilmiÅŸ %s.\n"
+
+#: src/lang.c:1297
 msgid ""
 "\n"
 "Warning: You are using a non-plain transfer encoding (such as base64 or\n"
@@ -4761,7 +4889,7 @@ msgstr ""
 "          inews programÄ± tarafÄ±ndan bir imza iliÅŸtirildiyse, uygun ÅŸekilde "
 "kodlanamaz.\n"
 
-#: src/lang.c:1261
+#: src/lang.c:1303
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4771,7 +4899,7 @@ msgstr ""
 "%d satÄ±rÄ± %d oktetten daha uzun ve kÄ±saltÄ±lmalÄ±, fakat\n"
 "kodlama %s ya da %s deÄŸerlerine ayarlanmadÄ±\n"
 
-#: src/lang.c:1265
+#: src/lang.c:1307
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4784,7 +4912,7 @@ msgstr ""
 "gÃ¶nderi hiÃ§bir 8bit karakter iÃ§ermiyor ve bu sebeple kÄ±saltma "
 "gerÃ§ekleÅŸmeyecek\n"
 
-#: src/lang.c:1269
+#: src/lang.c:1311
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4794,7 +4922,7 @@ msgstr ""
 "%d satÄ±rÄ± %d oktetten daha uzun ve kÄ±saltÄ±lmalÄ±, fakat\n"
 "kodlama %s deÄŸerine ayarlÄ± deÄŸil\n"
 
-#: src/lang.c:1272
+#: src/lang.c:1314
 msgid ""
 "\n"
 "Warning: \"example\" is a reserved hierarchy!\n"
@@ -4802,7 +4930,7 @@ msgstr ""
 "\n"
 "UyarÄ±: \"Ã¶rnek\" ayrÄ±lmÄ±ÅŸ bir hiyerarÅŸidir!\n"
 
-#: src/lang.c:1273
+#: src/lang.c:1315
 #, c-format
 msgid ""
 "\n"
@@ -4817,7 +4945,7 @@ msgstr ""
 "%s dosyanÄ±zdaki bazÄ± deÄŸerler deÄŸiÅŸtirilmiÅŸtir!\n"
 "WHATSNEW, vb dosyalarÄ± okuyun...\n"
 
-#: src/lang.c:1275
+#: src/lang.c:1317
 #, c-format
 msgid ""
 "\n"
@@ -4830,7 +4958,7 @@ msgstr ""
 "Yeni bir sÃ¼rÃ¼mden tin %s'e alÃ§altÄ±yorsunuz!\n"
 "%s dosyanÄ±daki bazÄ± deÄŸerler yoksayÄ±labir, diÄŸerleri deÄŸiÅŸtirilebilir!\n"
 
-#: src/lang.c:1278
+#: src/lang.c:1320
 #, c-format
 msgid ""
 "Warning: tin wrote fewer groups to your\n"
@@ -4846,7 +4974,25 @@ msgstr ""
 "bu oturum bir hataya iÅŸarettir ve tin'i tekrar baÅŸlatmadan %s'i\n"
 "yedeklemeniz gerekmektedir!\n"
 
-#: src/lang.c:1282
+#: src/lang.c:1324
+#, c-format
+msgid ""
+"\n"
+"Warning: The article has multiple addresses in \"%s\".\n"
+"         This is at least uncommon.\n"
+msgstr ""
+
+#: src/lang.c:1327
+#, c-format
+msgid ""
+"\n"
+"Warning: With multiple addresses in \"From\", a \"Sender\"-header is\n"
+"         required, but its generation is deactivated by the global\n"
+"         configuration \"disable_sender=ON\" in\n"
+"         \"%s\".\n"
+msgstr ""
+
+#: src/lang.c:1332
 #, c-format
 msgid ""
 "\n"
@@ -4855,12 +5001,12 @@ msgstr ""
 "\n"
 "UyarÄ±: %d bulundu  '-- \\n' satÄ±r, bazÄ± insanlarÄ±n kafasÄ± karÄ±ÅŸabilir.\n"
 
-#: src/lang.c:1283
+#: src/lang.c:1333
 #, c-format
 msgid "Warning: Only %d out of %d articles were saved"
 msgstr "UyarÄ±: Sadece %d'de %d makale kaydedildi"
 
-#: src/lang.c:1284
+#: src/lang.c:1334
 #, c-format
 msgid ""
 "\n"
@@ -4875,7 +5021,7 @@ msgstr ""
 "         iÅŸe yarar bilgi aktarmadÄ±klarÄ± iÃ§in, olabildikleri kadar kÄ±sa\n"
 "         olmalÄ±lar.\n"
 
-#: src/lang.c:1288
+#: src/lang.c:1338
 #, c-format
 msgid ""
 "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
@@ -4883,14 +5029,14 @@ msgstr ""
 "UyarÄ±: bu eposta adresinde mesaj yaÄŸanaÄŸÄ± tuzaÄŸÄ± olabilir. %s=devam, "
 "%s=durdur? "
 
-#: src/lang.c:1289
+#: src/lang.c:1339
 #, c-format
 msgid ""
 "Warning: line %d contains unprintable chars:\n"
 "%s\n"
 msgstr ""
 
-#: src/lang.c:1290
+#: src/lang.c:1340
 msgid ""
 "\n"
 "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
@@ -4898,85 +5044,85 @@ msgstr ""
 "\n"
 "UyarÄ±: Ä°mzalar '-- \\n ile baÅŸlamalÄ± '--\\n ile deÄŸil'.\n"
 
-#: src/lang.c:1291
+#: src/lang.c:1341
 msgid "Writing attributes file..."
 msgstr "Ã–znitelikler dosylasÄ± yazÄ±lÄ±yor..."
 
-#: src/lang.c:1292
+#: src/lang.c:1342
 #, fuzzy, c-format
 msgid "Writing %s\n"
 msgstr "%s deneniyor"
 
-#: src/lang.c:1293
+#: src/lang.c:1343
 #, fuzzy
 msgid "Writing overview cache..."
 msgstr "Ã–znitelikler dosylasÄ± yazÄ±lÄ±yor..."
 
-#: src/lang.c:1295
+#: src/lang.c:1345
 #, fuzzy, c-format
 msgid "%4d Responses"
 msgstr "%d YanÄ±t"
 
-#: src/lang.c:1297
+#: src/lang.c:1347
 msgid "Can't run slrnface: couldn't construct fifo name."
 msgstr "Slrnface Ã§alÄ±ÅŸtÄ±rÄ±lamÄ±yor: fifo ismi oluÅŸturulamadÄ±."
 
-#: src/lang.c:1298
+#: src/lang.c:1348
 #, c-format
 msgid "Can't run slrnface: failed to create %s"
 msgstr "Slrnface Ã§alÄ±ÅŸtÄ±rÄ±lamÄ±yor: %s oluÅŸturulamÄ±yor"
 
-#: src/lang.c:1299
+#: src/lang.c:1349
 #, c-format
 msgid "Slrnface abnormally exited, code %d."
 msgstr "Slrnface beklenmedik ÅŸekilde sonlandÄ±rÄ±ldÄ±, kod %d."
 
-#: src/lang.c:1300
+#: src/lang.c:1350
 #, c-format
 msgid "Slrnface failed: %s."
 msgstr "Slrnface baÅŸarÄ±sÄ±z: %s"
 
 #  TODO: use tin global 'homedir' instead? or even rcdir?
-#: src/lang.c:1301
+#: src/lang.c:1352
 #, c-format
 msgid "Can't run slrnface: Environment variable %s not found."
 msgstr "Slrnface Ã§alÄ±ÅŸtÄ±rÄ±lamÄ±yor: Ã‡evre deÄŸiÅŸkeni %s bulunamadÄ±."
 
-#: src/lang.c:1302
+#: src/lang.c:1354
 #, fuzzy
 msgid "Can't run slrnface: Not running in an xterm."
 msgstr "Slrnface Ã§alÄ±ÅŸtÄ±rÄ±lamÄ±yor: xterm iÃ§inde Ã§alÄ±ÅŸmÄ±yor"
 
-#: src/lang.c:1303
+#: src/lang.c:1357
 msgid "couldn't connect to display"
 msgstr ""
 
-#: src/lang.c:1304
+#: src/lang.c:1358
 #, fuzzy
 msgid "can't open FIFO"
 msgstr "%s aÃ§Ä±lamÄ±yor"
 
-#: src/lang.c:1305
+#: src/lang.c:1359
 msgid "executable not found"
 msgstr ""
 
-#: src/lang.c:1306
+#: src/lang.c:1360
 msgid "fork() failed"
 msgstr ""
 
-#: src/lang.c:1307
+#: src/lang.c:1361
 msgid "couldn't find controlling terminal"
 msgstr ""
 
-#: src/lang.c:1308
+#: src/lang.c:1362
 msgid "terminal doesn't export width and height"
 msgstr ""
 
-#: src/lang.c:1310
+#: src/lang.c:1363
 msgid "WINDOWID not found in environment"
 msgstr ""
 
-#: src/lang.c:1311
+#: src/lang.c:1364
 msgid ""
 "This directory is used to create named pipes for communication between\n"
 "slrnface and its parent process. It should normally be empty because\n"
@@ -4993,36 +5139,36 @@ msgstr ""
 " kanallarÄ± yaratmak iÃ§in kullanÄ±lmaktadÄ±r. Normalde boÅŸ olmalÄ± Ã§Ã¼nkÃ¼\n"
 " kanal her iki iÅŸlem tarafÄ±ndan aÃ§Ä±ldÄ±ktan hemen sonra silinir.\n"
 "\n"
-"Slrnface tarafÄ±ndan oluÅŸturulan dosya isimleri ÅŸu biÃ§imdedir: \"sunucuadi.pid"
-"\". Bu\n"
+"Slrnface tarafÄ±ndan oluÅŸturulan dosya isimleri ÅŸu biÃ§imdedir: \"sunucuadi."
+"pid\". Bu\n"
 " muhtemelen saniyenin onda birinden bile fazla kalÄ±nca oluÅŸan bir hatadÄ±r.\n"
 "\n"
 "Ancak dizin eÄŸer NFS sunucusundan baÄŸlandÄ±ysa, slrnface Ã§alÄ±ÅŸÄ±rken\n"
 "NFS sunucunuzun yarattÄ±ÄŸÄ± Ã¶zel dosyalari gÃ¶rebilirsiniz.\n"
 "OnlarÄ± silmeye Ã§alÄ±ÅŸmayÄ±nÄ±z.\n"
 
-#: src/lang.c:1324
+#: src/lang.c:1377
 #, c-format
 msgid "Added %d %s"
 msgstr "%d %s Eklendi"
 
-#: src/lang.c:1325
+#: src/lang.c:1378
 msgid "No unsubscribed groups to show"
 msgstr "GÃ¶sterilecek abonelikten Ã§Ä±kÄ±lmÄ±ÅŸ grup yok"
 
-#: src/lang.c:1326
+#: src/lang.c:1379
 msgid "Showing subscribed to groups only"
 msgstr "Sadece abone olunan gruplarÄ± gÃ¶ster"
 
-#: src/lang.c:1327
+#: src/lang.c:1380
 msgid "Yes "
 msgstr "Evet "
 
-#: src/lang.c:1328
+#: src/lang.c:1381
 msgid "You have mail"
 msgstr "EpostanÄ±z var"
 
-#: src/lang.c:1333
+#: src/lang.c:1386
 #, c-format
 msgid ""
 "\n"
@@ -5043,11 +5189,11 @@ msgstr ""
 "         ayarlarÄ±nÄ± M)enÃ¼ seÃ§eneÄŸi ile yollamak iÃ§in daha uygun bir ÅŸekilde\n"
 "         deÄŸiÅŸtirin.\n"
 
-#: src/lang.c:1344
+#: src/lang.c:1397
 msgid "  -D mode  debug mode"
 msgstr "  -D kip  hata ayÄ±klama kipi"
 
-#: src/lang.c:1348
+#: src/lang.c:1401
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -5074,11 +5220,11 @@ msgstr ""
 "Ä°ptal etmek Ã¼zere olduÄŸunuz makale bu:\n"
 "\n"
 
-#: src/lang.c:1357
+#: src/lang.c:1410
 msgid "toggle color"
 msgstr "renk deÄŸiÅŸtir"
 
-#: src/lang.c:1358
+#: src/lang.c:1411
 msgid ""
 "# Changing colors of several screen parts\n"
 "# Possible values are:\n"
@@ -5124,11 +5270,11 @@ msgstr ""
 "#  15 = aÃ§Ä±k beyaz\n"
 "\n"
 
-#: src/lang.c:1378
+#: src/lang.c:1431
 msgid "  -a       toggle color flag"
 msgstr "  -a       renk bayraÄŸÄ±nÄ± deÄŸiÅŸtir"
 
-#: src/lang.c:1382
+#: src/lang.c:1435
 msgid ""
 "\n"
 "Error: Followup-To set to more than one newsgroup!\n"
@@ -5136,7 +5282,7 @@ msgstr ""
 "\n"
 "Hata: Birden fazla haber grubu iÃ§in Takip-Et ayarlandÄ±!\n"
 
-#: src/lang.c:1383
+#: src/lang.c:1436
 #, c-format
 msgid ""
 "\n"
@@ -5145,7 +5291,7 @@ msgstr ""
 "\n"
 "Hata: \"%s\" yeniden adlandÄ±rÄ±lmÄ±ÅŸ, onun yerine \"%s\" kullanÄ±n!\n"
 
-#: src/lang.c:1384
+#: src/lang.c:1437
 #, c-format
 msgid ""
 "\n"
@@ -5154,7 +5300,7 @@ msgstr ""
 "\n"
 "Hata: %d haber gruubuna Ã§apraz gÃ¶nderiyor ve Takip-Et satÄ±rÄ± yok!\n"
 
-#: src/lang.c:1385
+#: src/lang.c:1438
 #, c-format
 msgid ""
 "\n"
@@ -5163,7 +5309,7 @@ msgstr ""
 "\n"
 "Hata: \"%s\" geÃ§erli bir haber grubu deÄŸil!\n"
 
-#: src/lang.c:1387
+#: src/lang.c:1440
 msgid ""
 "\n"
 "Warning: Followup-To set to more than one newsgroup!\n"
@@ -5171,7 +5317,7 @@ msgstr ""
 "\n"
 "UyarÄ±: Birden fazla haber grubu iÃ§in Takip-Et ayarlandÄ±!\n"
 
-#: src/lang.c:1388
+#: src/lang.c:1441
 #, c-format
 msgid ""
 "\n"
@@ -5180,7 +5326,7 @@ msgstr ""
 "\n"
 "UyarÄ±: \"%s\"nin ismi deÄŸiÅŸti, onun yerine \"%s\" kullanmalÄ±sÄ±nÄ±z!\n"
 
-#: src/lang.c:1389
+#: src/lang.c:1442
 #, c-format
 msgid ""
 "\n"
@@ -5189,7 +5335,7 @@ msgstr ""
 "\n"
 "Hata: %d haber grubuna Ã§apraz gÃ¶nderiyor ve Takip-Et satÄ±rÄ± yok!\n"
 
-#: src/lang.c:1390
+#: src/lang.c:1443
 #, c-format
 msgid ""
 "\n"
@@ -5198,7 +5344,7 @@ msgstr ""
 "\n"
 "UyarÄ±: \"%s\" sizin newsrc'nizde mevcut deÄŸil, bu sitede geÃ§ersiz olabilir!\n"
 
-#: src/lang.c:1391
+#: src/lang.c:1444
 #, c-format
 msgid ""
 "\n"
@@ -5207,192 +5353,194 @@ msgstr ""
 "\n"
 "UyaÄ±:  \"%s\" bu sitede geÃ§erli bir haber grubu deÄŸil!\n"
 
-#: src/lang.c:1395
+#: src/lang.c:1448
 #, c-format
 msgid "%d files successfully written from %d articles. %d %s occurred."
 msgstr "%d dosya %d makalelerinden baÅŸarÄ±yla yazÄ±ldÄ±. %d %s meydana geldi."
 
-#: src/lang.c:1396
+#: src/lang.c:1449
 msgid "Missing parts."
 msgstr "Eksik bÃ¶lÃ¼mler var."
 
-#: src/lang.c:1397
+#: src/lang.c:1450
 msgid "No beginning."
 msgstr "BaÅŸlangÄ±Ã§ yok."
 
-#: src/lang.c:1398
+#: src/lang.c:1451
 msgid "No data."
 msgstr "Veri yok."
 
-#: src/lang.c:1399
+#: src/lang.c:1452
 msgid "Unknown error."
 msgstr "Bilinmeyen hata."
 
-#: src/lang.c:1402
-#, c-format
-msgid "\tChecksum of %s (%ld %s)"
-msgstr "\tSaÄŸlama toplamÄ± %s (%ld %s)"
-
-#: src/lang.c:1407
-msgid "Reading mail active file... "
+#: src/lang.c:1456
+#, fuzzy, c-format
+msgid "Reading mail active file: %s"
 msgstr "eposta etkin dosya okunuyor... "
 
-#: src/lang.c:1408
-msgid "Reading mailgroups file... "
+#: src/lang.c:1457
+#, fuzzy, c-format
+msgid "Reading mailgroups file: %s"
 msgstr "mailgroups dosyasÄ± okunuyor... "
 
-#: src/lang.c:1412
+#: src/lang.c:1461
 msgid "perform PGP operations on article"
 msgstr "makalede PGP iÅŸlemi gerÃ§ekleÅŸtir"
 
-#: src/lang.c:1413
+#: src/lang.c:1462
 msgid "Add key(s) to public keyring?"
 msgstr "Genel anahtar zincirine anahtar(lar) ekle?"
 
-#: src/lang.c:1414
+#: src/lang.c:1463
 #, c-format
 msgid "%s=encrypt, %s=sign, %s=both, %s=quit: "
 msgstr "%s=ÅŸifrele, %s=imzala. %s=ikisi de, %s=Ã§Ä±k: "
 
-#: src/lang.c:1415
+#: src/lang.c:1464
 #, c-format
 msgid "%s=sign, %s=sign & include public key, %s=quit: "
 msgstr "%s=iÅŸaretle, %s=imzala & genel anahtarÄ± dahil et, %s=Ã§Ä±k: "
 
-#: src/lang.c:1416
+#: src/lang.c:1465
 #, c-format
 msgid "PGP has not been set up (can't open %s)"
 msgstr "PGP ayarlanmadÄ± (%s aÃ§Ä±lamÄ±yor)"
 
-#: src/lang.c:1417
+#: src/lang.c:1466
 msgid "Article not signed and no public keys found"
 msgstr "Makale imzalanmadÄ± ve genel anahtar bulunamadÄ±"
 
-#: src/lang.c:1419
+#: src/lang.c:1468
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=Ã§Ä±k, %s=dÃ¼zenle, %s=ispell, %s=pgp, %s=menÃ¼, %s=gÃ¶nder, %s=ertele: "
 
-#: src/lang.c:1420
+#: src/lang.c:1469
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: "
 msgstr "%s=Ã§Ä±k, %s=dÃ¼zenle, %s=ispell, %s=pgp, %s=gÃ¶nder [%%s]: "
 
-#: src/lang.c:1421
+#: src/lang.c:1470
 #, c-format
 msgid ""
 "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 "%s=Ã§Ä±k, %s=dÃ¼zenle, %s=ispell, %s=pgp, %s=menÃ¼, %s=gÃ¶nder, %s=ertele [%%s]: "
 
-#: src/lang.c:1423
+#: src/lang.c:1472
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=Ã§Ä±k, %s=dÃ¼zenle, %s=pgp, %s=menÃ¼, %s=yolla, %s=ertele: "
 
-#: src/lang.c:1424
+#: src/lang.c:1473
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: "
 msgstr "%s=Ã§Ä±k, %s=dÃ¼zenle, %s=pgp, %s=gÃ¶nder [%%s]: "
 
-#: src/lang.c:1425
+#: src/lang.c:1474
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=Ã§Ä±k, %s=dÃ¼zenle, %s=pgp, %s=menÃ¼, %s=yolla, %s=ertele [%%s]: "
 
-#: src/lang.c:1429
+#: src/lang.c:1478
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=Ã§Ä±k, %s=dÃ¼zenle, %s=ispell, %s=menÃ¼, %s=yolla, %s=ertele: "
 
-#: src/lang.c:1430
+#: src/lang.c:1479
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: "
 msgstr "%s=Ã§Ä±k, %s=dÃ¼zenle, %s=ispell, %s=yolla [%%s]: "
 
-#: src/lang.c:1431
+#: src/lang.c:1480
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=Ã§Ä±k, %s=dÃ¼zenle, %s=ispell, %s=menÃ¼, %s=yolla, %s=ertele [%%s]: "
 
-#: src/lang.c:1433
+#: src/lang.c:1482
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=Ã§Ä±k, %s=dÃ¼zenle, %s=menÃ¼, %s=yolla, %s=ertele: "
 
-#: src/lang.c:1434
+#: src/lang.c:1483
 #, c-format
 msgid "%s=quit, %s=edit, %s=send [%%s]: "
 msgstr "%s=Ã§Ä±k, %s=dÃ¼zenle, %s=gÃ¶nder [%%s]: "
 
-#: src/lang.c:1435
+#: src/lang.c:1484
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=Ã§Ä±k, %s=dÃ¼zenle, %s=menÃ¼, %s=yolla, %s=ertele [%%.*s]: "
 
-#: src/lang.c:1441
+#: src/lang.c:1489
 msgid "Try cache_overview_files to speed up things.\n"
 msgstr "HÄ±zlandÄ±rmak iÃ§in cace_overview_files deneyin.\n"
 
-#: src/lang.c:1442
+#: src/lang.c:1490
 msgid "Tin will use local index files instead.\n"
 msgstr "Tin yerel dizinleme dosyalarÄ±nÄ± kullanacak.\n"
 
-#: src/lang.c:1443
+#: src/lang.c:1491
 msgid "Cannot find NNTP server name"
 msgstr "NNTP sunucu ismi bulunamadÄ±"
 
-#: src/lang.c:1444
+#: src/lang.c:1492
 msgid "CAPABILITIES did not announce READER"
 msgstr "CAPABILITIES, READER duyurmadÄ±"
 
-#: src/lang.c:1445
+#: src/lang.c:1493
 #, c-format
 msgid "Connecting to %s:%u..."
 msgstr "BaÄŸlanÄ±yor %s:%u..."
 
-#: src/lang.c:1446
+#: src/lang.c:1494
 msgid "NNTP connection error. Exiting..."
 msgstr "NNTP sunucusuna baÄŸlantÄ± baÅŸarÄ±sÄ±z %s. Ã‡Ä±kÄ±yor..."
 
-#: src/lang.c:1447
+#: src/lang.c:1495
 #, fuzzy
 msgid "Disconnecting from server..."
 msgstr "Sunucu baÄŸlantÄ±sÄ± kesiliyor...\n"
 
-#: src/lang.c:1448
+#: src/lang.c:1496
 #, c-format
 msgid "Failed to connect to NNTP server %s. Exiting..."
 msgstr "NNTP sunucusuna baÄŸlantÄ± baÅŸarÄ±sÄ±z %s. Ã‡Ä±kÄ±lÄ±yor..."
 
-#: src/lang.c:1449
+#: src/lang.c:1497
 msgid "205  Closing connection"
 msgstr "205  BaÄŸlantÄ± kapanÄ±yor"
 
-#: src/lang.c:1450
+#: src/lang.c:1498
 msgid "Your server does not support the NNTP XOVER or OVER command.\n"
 msgstr "Sunucunuz NNTP XOVER ya da OVER komutunu desteklemiyor.\n"
 
-#: src/lang.c:1452
+#: src/lang.c:1499
 #, c-format
 msgid "Port isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1453
+#: src/lang.c:1500
+#, c-format
+msgid "%s argument is not numeric: %s\n"
+msgstr ""
+
+#: src/lang.c:1502
 #, c-format
 msgid "Port in %s isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1454
+#: src/lang.c:1503
 #, c-format
 msgid "reconnect (%d) limit %d reached, giving up."
 msgstr ""
 
-#: src/lang.c:1456
+#: src/lang.c:1505
 msgid "Connection to news server has timed out. Reconnect?"
 msgstr "Haber sunucusu baÄŸlantÄ±sÄ± zaman aÅŸÄ±mÄ±na uÄŸradÄ±. Tekrar baÄŸlan?"
 
-#: src/lang.c:1457
+#: src/lang.c:1506
 #, c-format
 msgid ""
 "Put the server name in the file %s,\n"
@@ -5401,70 +5549,69 @@ msgstr ""
 "%s dosyasÄ±na sunucu ismini girin,\n"
 "ya da Ã§evre deÄŸiÅŸkeni NNTPSERVERi ayarlayÄ±n"
 
-#: src/lang.c:1459
+#: src/lang.c:1508
 #, fuzzy
 msgid "Continuing..."
 msgstr "YazdÄ±rÄ±lÄ±yor..."
 
-#: src/lang.c:1460
-#, c-format
-msgid "Read timeout from server (%d seconds) - quit tin?"
+#: src/lang.c:1509
+msgid "Read timeout from server - quit tin?"
 msgstr ""
 
-#: src/lang.c:1461
+#: src/lang.c:1510
 msgid "  -C       try COMPRESS NNTP extension"
 msgstr ""
 
-#: src/lang.c:1463
+#: src/lang.c:1512
 msgid "  -A       force authentication on connect"
 msgstr "  -A       baÄŸlantÄ±da kimlik doÄŸrulamayÄ± zorla"
 
-#: src/lang.c:1464
+#: src/lang.c:1513
 #, c-format
 msgid "  -g serv  read news from NNTP server serv [default=%s]"
 msgstr "  -g sunucu  NNTP sunucusundan haberleri oku [varsayÄ±lan=%s]"
 
-#: src/lang.c:1465
+#: src/lang.c:1514
 #, c-format
 msgid "  -p port  use port as NNTP port [default=%d]"
 msgstr ""
 "  -p baÄŸlantÄ± noktasÄ±  baÄŸlantÄ± noktasÄ±nÄ± NNTP baÄŸlantÄ± noktasÄ± olarak "
 "kullan [varsayÄ±lan=%d]"
 
-#: src/lang.c:1467
+#: src/lang.c:1516
 msgid "  -k       skip verification for NNTPS"
 msgstr ""
 
-#: src/lang.c:1468
+#: src/lang.c:1517
 msgid "  -T       enable NNTPS"
 msgstr ""
 
-#: src/lang.c:1470
+#: src/lang.c:1519
 #, fuzzy
 msgid "  -Q       quick start. Same as -dnq"
 msgstr "  -Q       hÄ±zlÄ± baÅŸlat. -dnq ile aynÄ±"
 
-#: src/lang.c:1471
+#: src/lang.c:1520
 msgid "  -r       read news remotely from default NNTP server"
-msgstr "  -r       varsayÄ±lan NTTP sunucusundan haberleri uzaktan oku"
+msgstr "  -r       varsayÄ±lan NNTP sunucusundan haberleri uzaktan oku"
 
-#: src/lang.c:1472
+#: src/lang.c:1521
 msgid "  -l       use only LIST instead of GROUP (-n) command"
 msgstr "  -l       GROUP (-n) komutu yerine sadece LIST i kullan"
 
-#: src/lang.c:1473
+#: src/lang.c:1522
 msgid "  -n       only read subscribed .newsrc groups from NNTP server"
 msgstr "  -n       NNTP sunucusundan sadece abone olunan newsrc gruplarÄ±nÄ± oku"
 
-#: src/lang.c:1475
+#: src/lang.c:1524
 msgid "  -4       force connecting via IPv4"
 msgstr "  -4       IPv4 ile baÄŸlanmayÄ± zorla"
 
-#: src/lang.c:1476
+#: src/lang.c:1525
 msgid "  -6       force connecting via IPv6"
 msgstr "  -6       IPv6 ile baÄŸlanmayÄ± zorla"
 
-#: src/lang.c:1477
+#: src/lang.c:1526
 msgid ""
 "\n"
 "socket or connect problem\n"
@@ -5472,7 +5619,7 @@ msgstr ""
 "\n"
 "soket ya da baÄŸlantÄ± hatasÄ±\n"
 
-#: src/lang.c:1479
+#: src/lang.c:1528
 #, c-format
 msgid ""
 "\n"
@@ -5481,16 +5628,16 @@ msgstr ""
 "\n"
 "%s'e baÄŸlantÄ±: "
 
-#: src/lang.c:1480
+#: src/lang.c:1529
 msgid "Giving up...\n"
 msgstr "BÄ±rakÄ±lÄ±yor...\n"
 
-#: src/lang.c:1482
+#: src/lang.c:1531
 #, c-format
 msgid "%s/tcp: Unknown service.\n"
 msgstr "%s/tcp: Bilinmeyen servis.\n"
 
-#: src/lang.c:1486
+#: src/lang.c:1535
 msgid ""
 "Your server does not have Xref: in its XOVER information.\n"
 "Tin will try to use XHDR XREF instead (slows down things a bit).\n"
@@ -5498,90 +5645,90 @@ msgstr ""
 "Sunucunuzun XOVER bilgisinde Xref: yok.\n"
 "Tin XHDR XREF kullanmayÄ± deneyecek (biraz yavaÅŸlatÄ±r).\n"
 
-#: src/lang.c:1489
+#: src/lang.c:1538
 msgid "Your server does not have Xref: in its XOVER information.\n"
 msgstr "Sunucunuzun XOVER bilgisinde Xref: yok.\n"
 
-#: src/lang.c:1492
+#: src/lang.c:1541
 #, c-format
 msgid "Can't open %s. Try %s -r to read news via NNTP."
 msgstr "%s aÃ§Ä±lamÄ±yor. NNTP aracÄ±lÄ±ÄŸÄ±yla haber okumak iÃ§in %s -r deneyin."
 
-#: src/lang.c:1495
+#: src/lang.c:1544
 #, fuzzy
 msgid "  -Q       quick start. Same as -dq"
 msgstr "  -Q       hÄ±zlÄ± baÅŸlat. -dq ile aynÄ±"
 
-#: src/lang.c:1496
+#: src/lang.c:1545
 msgid "  -l       read only active file instead of scanning spool (-n) command"
 msgstr "  -l       kuyruk arama (-n) komutu yerine sadece etkin dosyayÄ± oku"
 
-#: src/lang.c:1497
+#: src/lang.c:1546
 msgid "  -n       only read subscribed .newsrc groups from spool"
 msgstr "  -n       kuyruktan sadece abone olunan .newsrc gruplarÄ±nÄ± okuyun"
 
-#: src/lang.c:1498
+#: src/lang.c:1547
 msgid "Your server does not have Xref: in its NOV-files.\n"
 msgstr "Sunucunuzun NOV dosyalarÄ±nda Xref: yok.\n"
 
-#: src/lang.c:1502
+#: src/lang.c:1551
 msgid "Posting using external inews failed. Use built in inews instead?"
 msgstr ""
 "Harici inews kullanÄ±larak gÃ¶nderme baÅŸarÄ±sÄ±z. Yerine dahili inews "
 "kullanÄ±lsÄ±n mÄ±?"
 
-#: src/lang.c:1503
+#: src/lang.c:1552
 msgid "It worked! Should I always use my built in inews from now on?"
 msgstr "Ä°ÅŸe yaradÄ±! Bundan sonra hep dahili inews mi kullanmalÄ±yÄ±m?"
 
-#: src/lang.c:1507
+#: src/lang.c:1556
 #, c-format
 msgid "%d %s printed"
 msgstr "%d %s yazdÄ±rÄ±ldÄ±"
 
-#: src/lang.c:1508
+#: src/lang.c:1557
 msgid "output article/thread/hot/pattern/tagged articles to printer"
 msgstr "makale/eposta zinciri/hot/Ã¶rÃ¼ntÃ¼/imlenmiÅŸ makaleleri yazÄ±cÄ±ya gÃ¶nder"
 
-#: src/lang.c:1509
+#: src/lang.c:1558
 msgid "Print"
 msgstr "YazdÄ±r"
 
-#: src/lang.c:1510
+#: src/lang.c:1559
 msgid "Printing..."
 msgstr "YazdÄ±rÄ±lÄ±yor..."
 
-#: src/lang.c:1514
+#: src/lang.c:1563
 #, c-format
 msgid "%d %s piped to \"%s\""
 msgstr "%d %s ÅŸuna yÃ¶nlendirildi \"%s\""
 
-#: src/lang.c:1515
+#: src/lang.c:1564
 msgid "pipe article/thread/hot/pattern/tagged articles into command"
 msgstr "makale/zincir/sÄ±cak/Ã¶rÃ¼ntÃ¼/imlenmiÅŸ makaleleri komuta yÃ¶nlendir"
 
-#: src/lang.c:1516
+#: src/lang.c:1565
 msgid "No command"
 msgstr "Komut yok"
 
-#: src/lang.c:1517
+#: src/lang.c:1566
 msgid "Pipe"
 msgstr "YÃ¶nlendirme"
 
-#: src/lang.c:1518
+#: src/lang.c:1567
 #, c-format
 msgid "Pipe to command [%.*s]> "
 msgstr "Komuta yÃ¶nlendir [%.*s]> "
 
-#: src/lang.c:1519
+#: src/lang.c:1568
 msgid "Piping..."
 msgstr "YÃ¶nlendiriliyor..."
 
-#: src/lang.c:1521
+#: src/lang.c:1570
 msgid "Piping not enabled."
 msgstr "YÃ¶nlendirme etkin deÄŸil."
 
-#: src/lang.c:1525
+#: src/lang.c:1574
 #, c-format
 msgid ""
 "\n"
@@ -5596,7 +5743,7 @@ msgstr ""
 "       boÅŸluktur. Ã‡oklu habergrubu isimlerini ayÄ±rmak iÃ§in\n"
 "       virgÃ¼l (,) kullanÄ±n.\n"
 
-#: src/lang.c:1530
+#: src/lang.c:1579
 #, c-format
 msgid ""
 "\n"
@@ -5609,7 +5756,7 @@ msgstr ""
 "       boÅŸluk iÃ§in iÃ§ermeyebileceÄŸi iÃ§in, buna izin verilmiyor.\n"
 "       LÃ¼tfen bÃ¼tÃ¼n haber gruplarÄ±nÄ± tek bir satÄ±ra yazÄ±n.\n"
 
-#: src/lang.c:1535
+#: src/lang.c:1584
 #, c-format
 msgid ""
 "\n"
@@ -5624,7 +5771,7 @@ msgstr ""
 "        Herhangi bir sorunla karÅŸÄ±laÅŸmamak iÃ§in bÃ¼tÃ¼n haber gruplarÄ±nÄ± tek "
 "bir satÄ±ra yazÄ±n.\n"
 
-#: src/lang.c:1539
+#: src/lang.c:1588
 #, c-format
 msgid ""
 "\n"
@@ -5633,7 +5780,7 @@ msgstr ""
 "\n"
 "UyarÄ±: \"%s:\" satÄ±rÄ±nda SÄ°LÄ°NMESÄ° GEREKEN boÅŸluklar var.\n"
 
-#: src/lang.c:1544
+#: src/lang.c:1593
 msgid ""
 "\n"
 "  If your article contains quoted text  please take some time to pare it "
@@ -5669,40 +5816,40 @@ msgstr ""
 "  dikkatli ve Ã¶zenli olmazsanÄ±z, insanlar  onu tamamen yoksayarlar. Net  "
 "oldukÃ§a kalabalÄ±k bir yer.\n"
 
-#: src/lang.c:1557
+#: src/lang.c:1606
 msgid "shell escape"
 msgstr "kabuk Ã§Ä±kÄ±ÅŸÄ±"
 
-#: src/lang.c:1558
+#: src/lang.c:1607
 #, c-format
 msgid "Shell Command (%s)"
 msgstr "Kabuk Komutu (%s)"
 
-#: src/lang.c:1559
+#: src/lang.c:1608
 #, c-format
 msgid "Enter shell command [%s]> "
 msgstr "Kabuk komutunu girin [%s]> "
 
-#: src/lang.c:1563
+#: src/lang.c:1612
 #, c-format
 msgid "%s: Can't get entry for TERM\n"
 msgstr "%s: TERM iÃ§in girdi alÄ±namÄ±yor\n"
 
-#: src/lang.c:1567
+#: src/lang.c:1616
 #, c-format
 msgid "Group %.*s ('q' to quit)..."
 msgstr "Grup %.*s (Ã§Ä±kmak iÃ§in 'q')..."
 
-#: src/lang.c:1569
+#: src/lang.c:1618
 #, c-format
 msgid "Group %.*s..."
 msgstr "Grup %.*s..."
 
-#: src/lang.c:1573
+#: src/lang.c:1622
 msgid "Server unavailable\n"
 msgstr "Sunucuya ulaÅŸÄ±lamÄ±yor\n"
 
-#: src/lang.c:1579
+#: src/lang.c:1628
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
@@ -5711,7 +5858,7 @@ msgstr ""
 "%s=yÃ¶nlendir, %s=eposta; %s=yazdÄ±r, %s=Ã§Ä±k, %s=hepsini/okunmayanlarÄ± "
 "deÄŸiÅŸtir; %s=kaydet; %s=etiketle; %s=gÃ¶nder"
 
-#: src/lang.c:1580
+#: src/lang.c:1629
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
@@ -5719,7 +5866,7 @@ msgstr ""
 "%s=yÃ¶nlendir; %s=eposta; %s=yazdÄ±r; %s=Ã§Ä±k; %s=cevap yaz; %s=kaydet; "
 "%s=etiketle; %s=gÃ¶nder"
 
-#: src/lang.c:1582
+#: src/lang.c:1631
 #, c-format
 msgid ""
 "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
@@ -5727,13 +5874,13 @@ msgstr ""
 "%s=posta; %s=yazdÄ±r; %s=Ã§Ä±k; %s=hepsini/okunmayanlarÄ± deÄŸiÅŸtir; %s=kaydet; "
 "%s=etiketle; %s=gÃ¶nder"
 
-#: src/lang.c:1583
+#: src/lang.c:1632
 #, c-format
 msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=eposta; %s=yazdÄ±r; %s=Ã§Ä±k; %s=cevap yaz; %s=kaydet; %s=etiketle; %s=gÃ¶nder"
 
-#: src/lang.c:1587
+#: src/lang.c:1636
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
@@ -5741,533 +5888,533 @@ msgstr ""
 "%s=yÃ¶nlendir; %s=eposta; %s=Ã§Ä±k; %s=hepsini/okunmayanlarÄ± deÄŸiÅŸtir; "
 "%s=kaydet; %s=etiketle; %s=gÃ¶nder"
 
-#: src/lang.c:1588
+#: src/lang.c:1637
 #, c-format
 msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=yÃ¶nlendir; %s=eposta; %s=Ã§Ä±k; %s=cevap yaz; %s=kaydet; %s=etiketle; "
 "%s=gÃ¶nder"
 
-#: src/lang.c:1590
+#: src/lang.c:1639
 #, c-format
 msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=eposta; %s=Ã§Ä±k; %s=hepsini/okunmayanlarÄ± deÄŸiÅŸtir; %s=kaydet; "
 "%s=etiketle; %s=yolla"
 
-#: src/lang.c:1591
+#: src/lang.c:1640
 #, c-format
 msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr "%s=eposta; %s=Ã§Ä±k; %s=cevap yaz; %s=kaydet; %s=etiketle; %s=yolla"
 
-#: src/lang.c:1597
+#: src/lang.c:1646
 msgid "Terminal does not support color"
 msgstr "UÃ§birim renk desteklemiyor"
 
-#: src/lang.c:1602
+#: src/lang.c:1651
 #, c-format
 msgid "Trying %s"
 msgstr "%s deneniyor"
 
-#: src/lang.c:1617
+#: src/lang.c:1666
 msgid "Subject"
 msgstr "Konu"
 
-#: src/lang.c:1618
+#: src/lang.c:1667
 msgid "References"
 msgstr "Kaynaklar"
 
-#: src/lang.c:1619
+#: src/lang.c:1668
 msgid "Both Subject and References"
 msgstr "Konu ve Kaynaklar"
 
-#: src/lang.c:1620
+#: src/lang.c:1669
 msgid "Multipart Subject"
 msgstr "Ã‡ok parÃ§alÄ± Konu"
 
-#: src/lang.c:1621
+#: src/lang.c:1670
 msgid "Percentage Match"
 msgstr "YÃ¼zde EÅŸleÅŸmesi"
 
-#: src/lang.c:1634 src/lang.c:1725 src/lang.c:1824 src/lang.c:1927
+#: src/lang.c:1683 src/lang.c:1774 src/lang.c:1880 src/lang.c:1983
 msgid "No"
 msgstr "HayÄ±r"
 
-#: src/lang.c:1635 src/lang.c:1826
+#: src/lang.c:1684 src/lang.c:1882
 msgid "Yes"
 msgstr "Evet"
 
-#: src/lang.c:1636
+#: src/lang.c:1685
 #, fuzzy
 msgid "Hide all"
 msgstr "TÃ¼mÃ¼nÃ¼ Sakla"
 
-#: src/lang.c:1645
+#: src/lang.c:1694
 msgid "Address"
 msgstr "Adres"
 
-#: src/lang.c:1646
+#: src/lang.c:1695
 msgid "Full Name"
 msgstr "Tam Ä°sim"
 
-#: src/lang.c:1647
+#: src/lang.c:1696
 msgid "Address and Name"
 msgstr "Adres ve Ä°sim"
 
-#: src/lang.c:1655
+#: src/lang.c:1704
 msgid "Max"
 msgstr "En Ã‡ok"
 
-#: src/lang.c:1656
+#: src/lang.c:1705
 msgid "Sum"
 msgstr "Toplam"
 
-#: src/lang.c:1657
+#: src/lang.c:1706
 msgid "Average"
 msgstr "Ortalama"
 
-#: src/lang.c:1667 src/lang.c:1687
+#: src/lang.c:1716 src/lang.c:1736
 msgid "Black"
 msgstr "Siyah"
 
-#: src/lang.c:1668 src/lang.c:1688
+#: src/lang.c:1717 src/lang.c:1737
 msgid "Red"
 msgstr "KÄ±rmÄ±zÄ±"
 
-#: src/lang.c:1669 src/lang.c:1689
+#: src/lang.c:1718 src/lang.c:1738
 msgid "Green"
 msgstr "YeÅŸil"
 
-#: src/lang.c:1670 src/lang.c:1690
+#: src/lang.c:1719 src/lang.c:1739
 msgid "Brown"
 msgstr "Kahverengi"
 
-#: src/lang.c:1671 src/lang.c:1691
+#: src/lang.c:1720 src/lang.c:1740
 msgid "Blue"
 msgstr "Mavi"
 
-#: src/lang.c:1672 src/lang.c:1692
+#: src/lang.c:1721 src/lang.c:1741
 msgid "Pink"
 msgstr "Pembe"
 
-#: src/lang.c:1673 src/lang.c:1693
+#: src/lang.c:1722 src/lang.c:1742
 msgid "Cyan"
 msgstr "CamgÃ¶beÄŸi"
 
-#: src/lang.c:1674 src/lang.c:1694
+#: src/lang.c:1723 src/lang.c:1743
 msgid "White"
 msgstr "Beyaz"
 
-#: src/lang.c:1675
+#: src/lang.c:1724
 msgid "Gray"
 msgstr "Gri"
 
-#: src/lang.c:1676
+#: src/lang.c:1725
 msgid "Light Red"
 msgstr "AÃ§Ä±k KÄ±rmÄ±zÄ±"
 
-#: src/lang.c:1677
+#: src/lang.c:1726
 msgid "Light Green"
 msgstr "AÃ§Ä±k YeÅŸil"
 
-#: src/lang.c:1678
+#: src/lang.c:1727
 msgid "Yellow"
 msgstr "SarÄ±"
 
-#: src/lang.c:1679
+#: src/lang.c:1728
 msgid "Light Blue"
 msgstr "AÃ§Ä±k Mavi"
 
-#: src/lang.c:1680
+#: src/lang.c:1729
 msgid "Light Pink"
 msgstr "AÃ§Ä±k Pembe"
 
-#: src/lang.c:1681
+#: src/lang.c:1730
 msgid "Light Cyan"
 msgstr "AÃ§Ä±k CamgÃ¶beÄŸi"
 
-#: src/lang.c:1682
+#: src/lang.c:1731
 msgid "Light White"
 msgstr "AÃ§Ä±k Beyaz"
 
-#: src/lang.c:1703 src/lang.c:1831 src/lang.c:1846
+#: src/lang.c:1752 src/lang.c:1887 src/lang.c:1902
 msgid "Nothing"
 msgstr "HiÃ§bir ÅŸey"
 
-#: src/lang.c:1705
+#: src/lang.c:1754
 msgid "Space"
 msgstr "BoÅŸluk"
 
-#: src/lang.c:1713
+#: src/lang.c:1762
 msgid "Normal"
 msgstr "Normal"
 
-#: src/lang.c:1714
+#: src/lang.c:1763
 msgid "Best highlighting"
 msgstr "En iyi vurgulama"
 
-#: src/lang.c:1715
+#: src/lang.c:1764
 msgid "Underline"
 msgstr "AltÄ± Ã§izili"
 
-#: src/lang.c:1716
+#: src/lang.c:1765
 msgid "Reverse video"
 msgstr "Ters video"
 
-#: src/lang.c:1717
+#: src/lang.c:1766
 msgid "Blinking"
 msgstr "YanÄ±p sÃ¶nme"
 
-#: src/lang.c:1718
+#: src/lang.c:1767
 msgid "Half bright"
 msgstr "YarÄ± parlak"
 
-#: src/lang.c:1719
+#: src/lang.c:1768
 msgid "Bold"
 msgstr "KalÄ±n"
 
-#: src/lang.c:1726
+#: src/lang.c:1775
 msgid "Cc"
 msgstr "Bilgi"
 
-#: src/lang.c:1727
+#: src/lang.c:1776
 msgid "Bcc"
 msgstr "Gizli Kopya"
 
-#: src/lang.c:1728
+#: src/lang.c:1777
 msgid "Cc and Bcc"
 msgstr "Kopya ve Gizli Kopya"
 
-#: src/lang.c:1745 src/lang.c:1758
+#: src/lang.c:1794 src/lang.c:1807
 msgid "none"
 msgstr "hiÃ§biri"
 
-#: src/lang.c:1746
+#: src/lang.c:1795
 msgid "commands"
 msgstr "komutlar"
 
-#: src/lang.c:1747
+#: src/lang.c:1796
 msgid "select"
 msgstr "seÃ§"
 
-#: src/lang.c:1749
+#: src/lang.c:1798
 msgid "commands & quit"
 msgstr "komutlar & Ã§Ä±k"
 
-#: src/lang.c:1750
+#: src/lang.c:1799
 msgid "commands & select"
 msgstr "komutlar & seÃ§"
 
-#: src/lang.c:1751
+#: src/lang.c:1800
 msgid "quit & select"
 msgstr "Ã§Ä±k & seÃ§"
 
-#: src/lang.c:1752
+#: src/lang.c:1801
 msgid "commands & quit & select"
 msgstr "komutlar & Ã§Ä±k & seÃ§"
 
-#: src/lang.c:1759
+#: src/lang.c:1808
 msgid "PageDown"
 msgstr "PageDown"
 
-#: src/lang.c:1760
+#: src/lang.c:1809
 msgid "PageNextUnread"
 msgstr "PageNextUnread"
 
-#: src/lang.c:1761
+#: src/lang.c:1810
 msgid "PageDown or PageNextUnread"
 msgstr "PageDown ya da PageNextUnread"
 
-#: src/lang.c:1767
+#: src/lang.c:1816
 msgid "Subject: (case sensitive)"
 msgstr "Konu: (bÃ¼yÃ¼k-kÃ¼Ã§Ã¼k harf duyarlÄ±)"
 
-#: src/lang.c:1768
+#: src/lang.c:1817
 msgid "Subject: (ignore case)"
 msgstr "Konu: (bÃ¼yÃ¼k kÃ¼Ã§Ã¼k harf yoksay)"
 
-#: src/lang.c:1769
+#: src/lang.c:1818
 msgid "From: (case sensitive)"
 msgstr "GÃ¶nderen: (bÃ¼yÃ¼k/kÃ¼Ã§Ã¼k harf duyarlÄ±)"
 
-#: src/lang.c:1770
+#: src/lang.c:1819
 msgid "From: (ignore case)"
 msgstr "GÃ¶nderen: (bÃ¼yÃ¼k/kÃ¼Ã§Ã¼k harf yoksay)"
 
-#: src/lang.c:1771
+#: src/lang.c:1820
 msgid "Msg-ID: & full References: line"
 msgstr "Ä°leti-KimliÄŸi: & tÃ¼m Referanslar: satÄ±rÄ±"
 
-#: src/lang.c:1772
+#: src/lang.c:1821
 msgid "Msg-ID: & last References: only"
 msgstr "Ä°leti-KimliÄŸi & sadece son Referanslar:"
 
-#: src/lang.c:1773
+#: src/lang.c:1822
 msgid "Message-ID: entry only"
 msgstr "Ä°leti-KimliÄŸi: sadece girdi"
 
-#: src/lang.c:1774
+#: src/lang.c:1823
 msgid "Lines:"
 msgstr "SatÄ±rlar: "
 
-#: src/lang.c:1780
+#: src/lang.c:1829
 msgid "Don't trim article body"
 msgstr "Makale gÃ¶vdesini kÄ±rpma"
 
-#: src/lang.c:1781
+#: src/lang.c:1830
 msgid "Skip leading blank lines"
 msgstr "BaÅŸtaki boÅŸ satÄ±rlarÄ± atla"
 
-#: src/lang.c:1782
+#: src/lang.c:1831
 msgid "Skip trailing blank lines"
 msgstr "Sondaki boÅŸ satÄ±rlarÄ± atla"
 
-#: src/lang.c:1783
+#: src/lang.c:1832
 msgid "Skip leading and trailing blank l."
 msgstr "BaÅŸtaki ve sondaki I. boÅŸluÄŸu atla."
 
-#: src/lang.c:1784
+#: src/lang.c:1833
 msgid "Compact multiple between text"
 msgstr "Metin arasÄ±ndaki Ã§oklu olanlarÄ± birleÅŸtir"
 
-#: src/lang.c:1785
+#: src/lang.c:1834
 msgid "Compact multiple and skip leading"
 msgstr "Ã‡oklu olanlarÄ± birleÅŸtir ve baÅŸtakini atla"
 
-#: src/lang.c:1786
+#: src/lang.c:1835
 msgid "Compact multiple and skip trailing"
 msgstr "Ã‡oklu olanlarÄ± birleÅŸtir ve sondakini atla"
 
-#: src/lang.c:1787
+#: src/lang.c:1836
 msgid "Compact mltpl., skip lead. & trai."
 msgstr "Ã‡oklularÄ± sÄ±kÄ±ÅŸtÄ±r, baÅŸÄ± & sonu atla."
 
-#: src/lang.c:1793
+#: src/lang.c:1842
 #, fuzzy
 msgid "Don't show help or mail sign"
 msgstr "YardÄ±m/posta iÅŸaretinin rengi"
 
-#: src/lang.c:1794
+#: src/lang.c:1843
 #, fuzzy
 msgid "Show only help sign"
 msgstr "YardÄ±m/posta iÅŸaretinin rengi"
 
-#: src/lang.c:1795
+#: src/lang.c:1844
 msgid "Show only mail sign if new mail"
 msgstr ""
 
-#: src/lang.c:1796
+#: src/lang.c:1845
 msgid "Show mail if new mail else help s."
 msgstr ""
 
-#: src/lang.c:1825
+#: src/lang.c:1881
 msgid "Shell archive"
 msgstr "Kabuk arÅŸivi"
 
-#: src/lang.c:1832
+#: src/lang.c:1888
 msgid "Subject: (descending)"
 msgstr "Konu: (azalan)"
 
-#: src/lang.c:1833
+#: src/lang.c:1889
 msgid "Subject: (ascending)"
 msgstr "Konu: (artan)"
 
-#: src/lang.c:1834
+#: src/lang.c:1890
 msgid "From: (descending)"
 msgstr "GÃ¶nderen: (azalan)"
 
-#: src/lang.c:1835
+#: src/lang.c:1891
 msgid "From: (ascending)"
 msgstr "GÃ¶nderen: (artan)"
 
-#: src/lang.c:1836
+#: src/lang.c:1892
 msgid "Date: (descending)"
 msgstr "Tarih: (azalan)"
 
-#: src/lang.c:1837
+#: src/lang.c:1893
 msgid "Date: (ascending)"
 msgstr "Tarih: (artan)"
 
-#: src/lang.c:1838 src/lang.c:1847
+#: src/lang.c:1894 src/lang.c:1903
 msgid "Score (descending)"
 msgstr "Skor: (azalan)"
 
-#: src/lang.c:1839 src/lang.c:1848
+#: src/lang.c:1895 src/lang.c:1904
 msgid "Score (ascending)"
 msgstr "Skor (artan)"
 
-#: src/lang.c:1840
+#: src/lang.c:1896
 msgid "Lines: (descending)"
 msgstr "SatÄ±rlar: (azalan)"
 
-#: src/lang.c:1841
+#: src/lang.c:1897
 msgid "Lines: (ascending)"
 msgstr "SatÄ±rlar: (artan)"
 
-#: src/lang.c:1849
+#: src/lang.c:1905
 msgid "Last posting date (descending)"
 msgstr "Son gÃ¶nderim tarihi (azalan)"
 
-#: src/lang.c:1850
+#: src/lang.c:1906
 msgid "Last posting date (ascending)"
 msgstr "Son gÃ¶nderim tarihi (artan)"
 
-#: src/lang.c:1856
+#: src/lang.c:1912
 msgid "Quick-sort"
 msgstr "HÄ±zlÄ± sÄ±ralama algoritmasÄ±"
 
-#: src/lang.c:1857
+#: src/lang.c:1913
 msgid "Heap-sort"
 msgstr "Heap sÄ±ralama algoritmasÄ±"
 
-#: src/lang.c:1864
+#: src/lang.c:1920
 msgid "Always Keep"
 msgstr "Her zaman Koru"
 
-#: src/lang.c:1865
+#: src/lang.c:1921
 msgid "Always Remove"
 msgstr "Her Zaman KaldÄ±r"
 
-#: src/lang.c:1866
+#: src/lang.c:1922
 msgid "Mark with D on selection screen"
 msgstr "SeÃ§im ekranÄ±nda D ile iÅŸaretle"
 
-#: src/lang.c:1872
+#: src/lang.c:1928
 msgid "Kill only unread arts"
 msgstr "Sadece okunmayan makaleleri yok et"
 
-#: src/lang.c:1873
+#: src/lang.c:1929
 msgid "Kill all arts & show with K"
 msgstr "TÃ¼m makaleleri yok et & K ile gÃ¶ster"
 
 #  TODO: s/K/art_marked_killed/
 #. TODO: s/K/art_marked_killed/
-#: src/lang.c:1874
+#: src/lang.c:1930
 msgid "Kill all arts and never show"
 msgstr "TÃ¼m makaleleri yok et ve asla gÃ¶sterme"
 
-#: src/lang.c:1880
+#: src/lang.c:1936
 msgid "Nothing special"
 msgstr "Ã–zel bir ÅŸey yok"
 
-#: src/lang.c:1881
+#: src/lang.c:1937
 msgid "Compress quotes"
 msgstr "AlÄ±ntÄ±larÄ± sÄ±kÄ±ÅŸtÄ±r"
 
-#: src/lang.c:1882
+#: src/lang.c:1938
 msgid "Quote signatures"
 msgstr "Ä°mzalarÄ± alÄ±ntÄ±la"
 
-#: src/lang.c:1883
+#: src/lang.c:1939
 msgid "Compress quotes, quote sigs"
 msgstr "AlÄ±ntÄ±larÄ± sÄ±kÄ±ÅŸtÄ±r, imzalarÄ± alÄ±ntÄ±la"
 
-#: src/lang.c:1884
+#: src/lang.c:1940
 msgid "Quote empty lines"
 msgstr "BoÅŸ satÄ±rlarÄ± alÄ±ntÄ±la"
 
-#: src/lang.c:1885
+#: src/lang.c:1941
 msgid "Compress quotes, quote empty lines"
 msgstr "AlÄ±ntÄ±larÄ± sÄ±kÄ±ÅŸtÄ±r, boÅŸ satÄ±rlarÄ± alÄ±ntÄ±la"
 
-#: src/lang.c:1886
+#: src/lang.c:1942
 msgid "Quote sigs & empty lines"
 msgstr "Ä°mzalarÄ± ve boÅŸ satÄ±rlarÄ± alÄ±ntÄ±la"
 
-#: src/lang.c:1887
+#: src/lang.c:1943
 msgid "Comp. q., quote sigs & empty lines"
 msgstr "Ä°mleri sÄ±kÄ±ÅŸtÄ±r, imzalarÄ± & boÅŸ satÄ±rlarÄ± alÄ±ntÄ±la"
 
-#: src/lang.c:1928
+#: src/lang.c:1984
 #, fuzzy
 msgid "With headers"
 msgstr "baÅŸlÄ±klarla birlikte"
 
-#: src/lang.c:1929
+#: src/lang.c:1985
 #, fuzzy
 msgid "Without headers"
 msgstr "Ã¼st bilgi olmadan"
 
-#: src/lang.c:1936
+#: src/lang.c:1992
 msgid "NFKC"
 msgstr "NFKC"
 
-#: src/lang.c:1938
+#: src/lang.c:1994
 msgid "NFKD"
 msgstr "NFKD"
 
-#: src/lang.c:1939
+#: src/lang.c:1995
 msgid "NFC"
 msgstr "NFC"
 
-#: src/lang.c:1940
+#: src/lang.c:1996
 msgid "NFD"
 msgstr "NFD"
 
-#: src/lang.c:1942
+#: src/lang.c:1998
 msgid "NFKC case fold"
 msgstr ""
 
-#: src/lang.c:1951
+#: src/lang.c:2007
 msgid "Display Options"
 msgstr "GÃ¶rÃ¼ntÃ¼ SeÃ§enekleri"
 
-#: src/lang.c:1958
+#: src/lang.c:2014
 msgid "Color Options"
 msgstr "Renk SeÃ§enekleri"
 
-#: src/lang.c:1964
+#: src/lang.c:2020
 msgid "Highlight Options"
 msgstr "Vurgulama SeÃ§enekleri"
 
-#: src/lang.c:1971
+#: src/lang.c:2027
 msgid "Article-Limiting Options"
 msgstr "Makale-SÄ±nÄ±rlandÄ±rma SeÃ§enekleri"
 
-#: src/lang.c:1977
+#: src/lang.c:2033
 msgid "Posting/Mailing Options"
 msgstr "Yollama/Postalama SeÃ§enekleri"
 
-#: src/lang.c:1983
+#: src/lang.c:2039
 msgid "Saving/Printing Options"
 msgstr "Kaydetme/YazdÄ±rma SeÃ§enekleri"
 
-#: src/lang.c:1989
+#: src/lang.c:2045
 msgid "Expert Options"
 msgstr "Uzman SeÃ§enekleri"
 
-#: src/lang.c:1995
+#: src/lang.c:2051
 msgid "Filtering Options"
 msgstr "Filtreleme SeÃ§enekleri"
 
-#: src/lang.c:2000 src/lang.c:2031 src/lang.c:2037 src/lang.c:2064
-#: src/lang.c:2116 src/lang.c:2122 src/lang.c:2132 src/lang.c:2143
-#: src/lang.c:2161 src/lang.c:2172 src/lang.c:2241 src/lang.c:2456
-#: src/lang.c:2462 src/lang.c:2468 src/lang.c:2483 src/lang.c:2495
-#: src/lang.c:2502 src/lang.c:2556 src/lang.c:2565 src/lang.c:2571
-#: src/lang.c:2578 src/lang.c:2585 src/lang.c:2592 src/lang.c:2599
-#: src/lang.c:2606 src/lang.c:2613 src/lang.c:2620 src/lang.c:2627
+#: src/lang.c:2056 src/lang.c:2087 src/lang.c:2093 src/lang.c:2120
+#: src/lang.c:2172 src/lang.c:2178 src/lang.c:2188 src/lang.c:2199
+#: src/lang.c:2217 src/lang.c:2228 src/lang.c:2297 src/lang.c:2512
+#: src/lang.c:2518 src/lang.c:2524 src/lang.c:2539 src/lang.c:2551
+#: src/lang.c:2558 src/lang.c:2612 src/lang.c:2621 src/lang.c:2627
 #: src/lang.c:2634 src/lang.c:2641 src/lang.c:2648 src/lang.c:2655
 #: src/lang.c:2662 src/lang.c:2669 src/lang.c:2676 src/lang.c:2683
 #: src/lang.c:2690 src/lang.c:2697 src/lang.c:2704 src/lang.c:2711
 #: src/lang.c:2718 src/lang.c:2725 src/lang.c:2732 src/lang.c:2739
-#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2761 src/lang.c:2777
-#: src/lang.c:2784 src/lang.c:2791 src/lang.c:2798 src/lang.c:2804
-#: src/lang.c:2810 src/lang.c:2827 src/lang.c:2839 src/lang.c:2874
-#: src/lang.c:2927 src/lang.c:2941 src/lang.c:2947 src/lang.c:2972
-#: src/lang.c:2990 src/lang.c:3007 src/lang.c:3019 src/lang.c:3052
-#: src/lang.c:3081 src/lang.c:3101 src/lang.c:3129 src/lang.c:3139
-#: src/lang.c:3146 src/lang.c:3172 src/lang.c:3196 src/lang.c:3343
-#: src/lang.c:3358 src/lang.c:3366 src/lang.c:3380 src/lang.c:3386
-#: src/lang.c:3424
+#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2760 src/lang.c:2767
+#: src/lang.c:2774 src/lang.c:2781 src/lang.c:2788 src/lang.c:2795
+#: src/lang.c:2802 src/lang.c:2809 src/lang.c:2817 src/lang.c:2833
+#: src/lang.c:2840 src/lang.c:2847 src/lang.c:2854 src/lang.c:2860
+#: src/lang.c:2866 src/lang.c:2889 src/lang.c:2901 src/lang.c:2936
+#: src/lang.c:2989 src/lang.c:3003 src/lang.c:3009 src/lang.c:3034
+#: src/lang.c:3052 src/lang.c:3069 src/lang.c:3081 src/lang.c:3114
+#: src/lang.c:3143 src/lang.c:3163 src/lang.c:3190 src/lang.c:3200
+#: src/lang.c:3207 src/lang.c:3233 src/lang.c:3257 src/lang.c:3412
+#: src/lang.c:3427 src/lang.c:3435 src/lang.c:3449 src/lang.c:3455
+#: src/lang.c:3493
 msgid "<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr "<SPACE> deÄŸiÅŸtirir, <CR> ayarlar, <ESC> iptal eder."
 
-#: src/lang.c:2001
+#: src/lang.c:2057
 msgid "Show mini menu & posting etiquette"
 msgstr "Mini menÃ¼yÃ¼ ve gÃ¶nderme etiketini gÃ¶ster"
 
-#: src/lang.c:2002
+#: src/lang.c:2058
 msgid ""
 "# If ON show a mini menu of useful commands at each level\n"
 "# and posting etiquette after composing an article\n"
@@ -6276,16 +6423,16 @@ msgstr ""
 "# dÃ¼zeylerde kullanÄ±ÅŸlÄ± komutlarÄ±n mini menÃ¼sÃ¼nÃ¼ ve yollama etiketini "
 "gÃ¶ster.\n"
 
-#: src/lang.c:2007
+#: src/lang.c:2063
 msgid "Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Her haber grubu iÃ§in kÄ±sa aÃ§Ä±klama gÃ¶ster. <SPACE> deÄŸiÅŸtirir & <CR> ayarlar."
 
-#: src/lang.c:2008
+#: src/lang.c:2064
 msgid "Show description of each newsgroup"
 msgstr "Her haber grubu iÃ§in aÃ§Ä±klama gÃ¶ster"
 
-#: src/lang.c:2009
+#: src/lang.c:2065
 msgid ""
 "# If ON show group description text after newsgroup name at\n"
 "# group selection level\n"
@@ -6294,7 +6441,7 @@ msgstr ""
 "sonraki\n"
 "# grup aÃ§Ä±klama metnini gÃ¶ster.\n"
 
-#: src/lang.c:2014
+#: src/lang.c:2070
 msgid ""
 "Show From (author) fields in group & thread level. <SPACE> toggles & <CR> "
 "sets."
@@ -6302,11 +6449,11 @@ msgstr ""
 "Grup & zincir seviyesinde Konu & GÃ¶nderen (yazar) alanlarÄ±nÄ± gÃ¶ster. <SPACE> "
 "deÄŸiÅŸtirir & <CR> ayarlar."
 
-#: src/lang.c:2015
+#: src/lang.c:2071
 msgid "In group and thread level, show author by"
 msgstr "Grup ve zincir seviyesinde, yazarÄ± ÅŸuna gÃ¶re gÃ¶ster"
 
-#: src/lang.c:2016
+#: src/lang.c:2072
 msgid ""
 "# Part of From field to display in group and thread level\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6323,35 +6470,35 @@ msgstr ""
 "# * 2 = tam isim\n"
 "#   3 = her ikisi de\n"
 
-#: src/lang.c:2025
+#: src/lang.c:2081
 msgid "Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 msgstr ""
 "-> Ã§iz ya da seÃ§im iÃ§in vurgulanmÄ±ÅŸ Ã§ubuk. <SPACE> deÄŸiÅŸtirir & <CR> ayarlar."
 
-#: src/lang.c:2026
+#: src/lang.c:2082
 msgid "Draw -> instead of highlighted bar"
 msgstr "Ã‡iz -> vurgulanmÄ±ÅŸ Ã§ubuk yerine"
 
-#: src/lang.c:2027
+#: src/lang.c:2083
 msgid "# If ON use -> otherwise highlighted bar for selection\n"
 msgstr ""
 "# EÄŸer AÃ‡IK durumundaysa kullan -> deÄŸilse seÃ§im iÃ§in vurgulanmÄ±ÅŸ Ã§ubuk\n"
 
-#: src/lang.c:2032
+#: src/lang.c:2088
 msgid "Use inverse video for page headers"
 msgstr "Sayfa Ã¼st bilgileri iÃ§in ters gÃ¶rÃ¼ntÃ¼ kullan"
 
-#: src/lang.c:2033
+#: src/lang.c:2089
 msgid "# If ON use inverse video for page headers at different levels\n"
 msgstr ""
 "# EÄŸer AÃ‡IK durumundaysa farklÄ± seviyelerdeki sayfa Ã¼st bilgileri iÃ§in ters "
 "gÃ¶rÃ¼ntÃ¼ kullan\n"
 
-#: src/lang.c:2038
+#: src/lang.c:2094
 msgid "Thread articles by"
 msgstr "Zincir makaleleri ÅŸuna gÃ¶re"
 
-#: src/lang.c:2039
+#: src/lang.c:2095
 msgid ""
 "# Thread articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6371,15 +6518,15 @@ msgstr ""
 "#    4 = Ã‡ok BÃ¶lÃ¼mlÃ¼ Konu\n"
 "#    5 = YÃ¼zde EÅŸleÅŸmesi\n"
 
-#: src/lang.c:2050
+#: src/lang.c:2106
 msgid "Enter percentage match required to thread together. <CR> sets."
 msgstr "Zincirlemek iÃ§in gerekli eÅŸleÅŸme yÃ¼zdesini girin. <CR> ayarlar."
 
-#: src/lang.c:2051
+#: src/lang.c:2107
 msgid "Thread percentage match"
 msgstr "Zincir eÅŸleÅŸme yÃ¼zdesi"
 
-#: src/lang.c:2053
+#: src/lang.c:2109
 #, no-c-format
 msgid ""
 "# Thread percentage match...\n"
@@ -6404,11 +6551,11 @@ msgstr ""
 "# fakat 'mttllu', 'muuttl' ve 'mtluuu', 'mutlu'dan ayrÄ± bir ÅŸekilde "
 "zincirlenecektir.\n"
 
-#: src/lang.c:2065
+#: src/lang.c:2121
 msgid "Score of a thread"
 msgstr "Eposta zincirinin skoru"
 
-#: src/lang.c:2066
+#: src/lang.c:2122
 msgid ""
 "# Thread score\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6422,18 +6569,18 @@ msgstr ""
 "#   1 = toplam\n"
 "#   2 = ortalama\n"
 
-#: src/lang.c:2074
+#: src/lang.c:2130
 msgid ""
 "Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Makaleleri Konu, GÃ¶nderen, Tarih ya da Skora gÃ¶re sÄ±rala. <SPACE> deÄŸiÅŸtirir "
 "& <CR> ayarlar."
 
-#: src/lang.c:2075
+#: src/lang.c:2131
 msgid "Sort articles by"
 msgstr "Makaleleri ÅŸuna gÃ¶re sÄ±rala"
 
-#: src/lang.c:2076
+#: src/lang.c:2132
 msgid ""
 "# Sort articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6463,17 +6610,17 @@ msgstr ""
 "#   9 = (SatÄ±rlar azalan)\n"
 "#  10 = (SatÄ±rlar artan)\n"
 
-#: src/lang.c:2092
+#: src/lang.c:2148
 msgid "Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Eposta zincirlerini HiÃ§bir ÅŸeye ya da skora gÃ¶re sÄ±rala. <SPACE> deÄŸiÅŸtirir "
 "& <CR> ayarlar."
 
-#: src/lang.c:2093
+#: src/lang.c:2149
 msgid "Sort threads by"
 msgstr "Eposta zincirlerini ÅŸuna gÃ¶re sÄ±rala"
 
-#: src/lang.c:2094
+#: src/lang.c:2150
 msgid ""
 "# Sort thread by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6491,54 +6638,54 @@ msgstr ""
 "#   3 = Son gÃ¶nderim tarihi azalan\n"
 "#   4 = Son gÃ¶nderim tarihi artan\n"
 
-#: src/lang.c:2104
+#: src/lang.c:2160
 msgid ""
 "Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Ä°mleci gruplardaki ilk/son okunmamÄ±ÅŸ makalelere koy. <SPACE> deÄŸiÅŸtirir & "
 "<CR> ayarlar."
 
-#: src/lang.c:2105
+#: src/lang.c:2161
 msgid "Go to first unread article in group"
 msgstr "Gruptaki ilk okunmamÄ±ÅŸ makaleye git"
 
-#: src/lang.c:2106
+#: src/lang.c:2162
 msgid "# If ON put cursor at first unread art in group otherwise last art\n"
 msgstr ""
 "# EÄŸer AÃ‡IK durumundaysa imleci ilk okunmamÄ±ÅŸ makeleye, deÄŸilse son makeleye "
 "koy\n"
 
-#: src/lang.c:2110
+#: src/lang.c:2166
 msgid "Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 "TÃ¼m makaleleri ya da sadece okunmamÄ±ÅŸ makaleleri gÃ¶ster.<SPACE> deÄŸiÅŸtirir & "
 "<CR> ayarlar."
 
-#: src/lang.c:2111
+#: src/lang.c:2167
 msgid "Show only unread articles"
 msgstr "Sadece okunmayan makaleleri gÃ¶ster"
 
-#: src/lang.c:2112
+#: src/lang.c:2168
 msgid "# If ON show only new/unread articles otherwise show all.\n"
 msgstr ""
 "# EÄŸer AÃ‡IK durumundaysa sadece yeni/okunmamÄ±ÅŸ makaleleri, deÄŸilse hepsini "
 "gÃ¶ster.\n"
 
-#: src/lang.c:2117
+#: src/lang.c:2173
 msgid "Show only groups with unread arts"
 msgstr "Sadece okunmamÄ±ÅŸ makale olan gruplarÄ± gÃ¶ster"
 
-#: src/lang.c:2118
+#: src/lang.c:2174
 msgid "# If ON show only subscribed to groups that contain unread articles.\n"
 msgstr ""
 "# EÄŸer AÃ‡IK durumundaysa sadece abone olunup okunmamÄ±ÅŸ makaler iÃ§eren "
 "gruplarÄ± gÃ¶ster.\n"
 
-#: src/lang.c:2123
+#: src/lang.c:2179
 msgid "Filter which articles"
 msgstr "Hangi makaleler filtrelenecek"
 
-#: src/lang.c:2124
+#: src/lang.c:2180
 msgid ""
 "# Filter which articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6553,11 +6700,11 @@ msgstr ""
 "gÃ¶ster\n"
 "#   2 = TÃ¼m makaleleri yok et ve bir daha gÃ¶sterme.\n"
 
-#: src/lang.c:2133
+#: src/lang.c:2189
 msgid "Go to the next unread article with"
 msgstr "Sonraki okunmamÄ±ÅŸ makaleye ÅŸununla git"
 
-#: src/lang.c:2134
+#: src/lang.c:2190
 msgid ""
 "# Go to the unread article with following key(s)\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6573,11 +6720,11 @@ msgstr ""
 "# * 2 = TAB\n"
 "#   3 = PAGE DOWN ya da TAB\n"
 
-#: src/lang.c:2144
+#: src/lang.c:2200
 msgid "How to treat blank lines"
 msgstr "BoÅŸ satÄ±rlar nasÄ±l iÅŸlensin"
 
-#: src/lang.c:2145
+#: src/lang.c:2201
 msgid ""
 "# Trim the article body, remove unnecessary blank lines.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6607,11 +6754,11 @@ msgstr ""
 "# 7 = Metin bloklarÄ± arasÄ±ndaki birden fazla boÅŸ satÄ±rÄ± birleÅŸtir ve\n"
 "#       baÅŸtaki ve sondaki boÅŸ satÄ±rlarÄ± atla\n"
 
-#: src/lang.c:2162
+#: src/lang.c:2218
 msgid "Show help/mail sign in level titles"
 msgstr ""
 
-#: src/lang.c:2163
+#: src/lang.c:2219
 msgid ""
 "# Show help sign, new mail sign, both or nothing in level titles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6621,28 +6768,28 @@ msgid ""
 "# * 3 = Show mail sign if new mail has arrived else show help sign\n"
 msgstr ""
 
-#: src/lang.c:2173
+#: src/lang.c:2229
 msgid "List thread using right arrow key"
 msgstr "SaÄŸ ok tuÅŸunu kullanarak eposta zincirlerini listele"
 
-#: src/lang.c:2174
+#: src/lang.c:2230
 msgid ""
 "# If ON automatically list thread when entering it using right arrow key.\n"
 msgstr ""
 "# EÄŸer AÃ‡IK durumundaysa zincirleri saÄŸ ok tuÅŸunu kullanarak girerken "
 "otomatik olarak listele.\n"
 
-#: src/lang.c:2178
+#: src/lang.c:2234
 msgid "Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "SilinmiÅŸ makaleleri gÃ¶stermek iÃ§in karakter giriniz. <CR> ayarlar, <ESC> "
 "iptal eder."
 
-#: src/lang.c:2179
+#: src/lang.c:2235
 msgid "Character to show deleted articles"
 msgstr "SilinmiÅŸ makaleleri gÃ¶sterecek olan karakter"
 
-#: src/lang.c:2180
+#: src/lang.c:2236
 msgid ""
 "# Character used to show that an art was deleted (default 'D')\n"
 "# _ is turned into ' '\n"
@@ -6650,18 +6797,18 @@ msgstr ""
 "# Makalenin silindiÄŸini gÃ¶stermek iÃ§in kullanÄ±lan karakter (varsayÄ±lan 'D')\n"
 "#_ ÅŸuna dÃ¶nÃ¼ÅŸÃ¼ ' '\n"
 
-#: src/lang.c:2185
+#: src/lang.c:2241
 msgid ""
 "Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 msgstr ""
 "Bir aralÄ±ktaki makaleleri belirtmek iÃ§in karakter girin. <CR> ayarlar, <ESC> "
 "iptal eder."
 
-#: src/lang.c:2186
+#: src/lang.c:2242
 msgid "Character to show inrange articles"
 msgstr "SÄ±ralanmÄ±ÅŸ makaleleri gÃ¶sterecek olan karakter"
 
-#: src/lang.c:2187
+#: src/lang.c:2243
 msgid ""
 "# Character used to show that an art is in a range (default '#')\n"
 "# _ is turned into ' '\n"
@@ -6670,7 +6817,7 @@ msgstr ""
 "(varsayÄ±lan '#')\n"
 "# _ ÅŸuna dÃ¶nÃ¼ÅŸtÃ¼ ' '\n"
 
-#: src/lang.c:2192
+#: src/lang.c:2248
 msgid ""
 "Enter character to indicate that article will return. <CR> sets, <ESC> "
 "cancels."
@@ -6678,11 +6825,11 @@ msgstr ""
 "Makalenin dÃ¶neceÄŸini gÃ¶stermek iÃ§in karakter girin. <CR> ayarlar, <ESC> "
 "iptal eder."
 
-#: src/lang.c:2193
+#: src/lang.c:2249
 msgid "Character to show returning arts"
 msgstr "DÃ¶nen makaleleri gÃ¶sterecek olan karakter"
 
-#: src/lang.c:2194
+#: src/lang.c:2250
 msgid ""
 "# Character used to show that an art will return (default '-')\n"
 "# _ is turned into ' '\n"
@@ -6691,18 +6838,18 @@ msgstr ""
 "'-')\n"
 "# _ ÅŸuna dÃ¶nÃ¼ÅŸtÃ¼ ' '\n"
 
-#: src/lang.c:2199
+#: src/lang.c:2255
 msgid ""
 "Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "SeÃ§ilen makaleleri belirtmek iÃ§in karakter girin. <CR> ayarlar, <ESC> iptal "
 "eder."
 
-#: src/lang.c:2200
+#: src/lang.c:2256
 msgid "Character to show selected articles"
 msgstr "SeÃ§ilen makaleleri gÃ¶sterecek olan karakter"
 
-#: src/lang.c:2201
+#: src/lang.c:2257
 msgid ""
 "# Character used to show that an art was auto-selected (default '*')\n"
 "# _ is turned into ' '\n"
@@ -6711,16 +6858,16 @@ msgstr ""
 "(varsayÄ±lan '*')\n"
 "#_ ÅŸuna dÃ¶nÃ¼ÅŸÃ¼r ' '\n"
 
-#: src/lang.c:2206
+#: src/lang.c:2262
 msgid "Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Son makaleleri belirtmek iÃ§in karakter girin. <CR> ayarlar, <ESC> iptal eder."
 
-#: src/lang.c:2207
+#: src/lang.c:2263
 msgid "Character to show recent articles"
 msgstr "Son makaleleri gÃ¶sterecek olan karakter"
 
-#: src/lang.c:2208
+#: src/lang.c:2264
 msgid ""
 "# Character used to show that an art is recent (default 'o')\n"
 "# _ is turned into ' '\n"
@@ -6729,17 +6876,17 @@ msgstr ""
 "'o')\n"
 "# _ ÅŸuna dÃ¶nÃ¼ÅŸtÃ¼ ' '\n"
 
-#: src/lang.c:2213
+#: src/lang.c:2269
 msgid "Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "OkunmamÄ±ÅŸ makaleleri belirtmek iÃ§in karakter girin. <CR> ayarlar, <ESC> "
 "iptal eder."
 
-#: src/lang.c:2214
+#: src/lang.c:2270
 msgid "Character to show unread articles"
 msgstr "OkunmamÄ±ÅŸ makaleleri gÃ¶sterecek olan karakter"
 
-#: src/lang.c:2215
+#: src/lang.c:2271
 msgid ""
 "# Character used to show that an art is unread (default '+')\n"
 "# _ is turned into ' '\n"
@@ -6748,17 +6895,17 @@ msgstr ""
 "'+')\n"
 "# _ ÅŸuna dÃ¶nÃ¼ÅŸtÃ¼ ' '\n"
 
-#: src/lang.c:2220
+#: src/lang.c:2276
 msgid "Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Okunan makaleleri belirtmek iÃ§in karakter girin. <CR> ayarlar, <ESC> iptal "
 "eder."
 
-#: src/lang.c:2221
+#: src/lang.c:2277
 msgid "Character to show read articles"
 msgstr "OkunmuÅŸ makaleleri gÃ¶sterecek olan karakter"
 
-#: src/lang.c:2222
+#: src/lang.c:2278
 msgid ""
 "# Character used to show that an art was read (default ' ')\n"
 "# _ is turned into ' '\n"
@@ -6767,17 +6914,17 @@ msgstr ""
 "')\n"
 "# _ ÅŸuna dÃ¶nÃ¼ÅŸtÃ¼ ' '\n"
 
-#: src/lang.c:2227
+#: src/lang.c:2283
 msgid "Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "Yok olan makaleleri belirtmek iÃ§in karakter girin. <CR> ayarlar, <ESC> iptal "
 "eder."
 
-#: src/lang.c:2228
+#: src/lang.c:2284
 msgid "Character to show killed articles"
 msgstr "Yok olan makaleleri gÃ¶sterecek olan karakter"
 
-#: src/lang.c:2229
+#: src/lang.c:2285
 msgid ""
 "# Character used to show that an art was killed (default 'K')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
@@ -6786,18 +6933,18 @@ msgstr ""
 "'K')\n"
 "# kill_level ona gÃ¶re ayarlanmalÄ±dÄ±r, _ ÅŸuna dÃ¶nÃ¼ÅŸtÃ¼ ' '\n"
 
-#: src/lang.c:2234
+#: src/lang.c:2290
 msgid ""
 "Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 "OkunmuÅŸ seÃ§ilmiÅŸ makaleleri belirtmek iÃ§in karakter girin. <CR> ayarlar, "
 "<ESC> iptal eder."
 
-#: src/lang.c:2235
+#: src/lang.c:2291
 msgid "Character to show readselected arts"
 msgstr "OkunmuÅŸ seÃ§ilmiÅŸ makaleleri gÃ¶steren karakter:"
 
-#: src/lang.c:2236
+#: src/lang.c:2292
 msgid ""
 "# Character used to show that an art was selected before read (default ':')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
@@ -6806,11 +6953,11 @@ msgstr ""
 "(varsayÄ±lan ':')\n"
 "# kill_level ona gÃ¶re ayarlanmalÄ±dÄ±r, _ ÅŸuna dÃ¶nÃ¼ÅŸtÃ¼ ' '\n"
 
-#: src/lang.c:2242
+#: src/lang.c:2298
 msgid "Abbreviate long newsgroup names"
 msgstr "Uzun haber grubu isimlerini kÄ±saltÄ±n"
 
-#: src/lang.c:2243
+#: src/lang.c:2299
 msgid ""
 "# If ON abbreviate (if necessary) long newsgroup names at group selection\n"
 "# level and article level like this:\n"
@@ -6821,7 +6968,7 @@ msgstr ""
 "# (eÄŸer gerekliyse) ÅŸu ÅŸekilde kÄ±salt:\n"
 "#   news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n"
 
-#: src/lang.c:2249
+#: src/lang.c:2305
 msgid ""
 "0 = full page scrolling, -1 = show previous last line as first on next page, "
 "-2 = half page"
@@ -6829,11 +6976,11 @@ msgstr ""
 "0 = tÃ¼m sayfa kaydÄ±rÄ±mÄ±, -1 = Ã¶nceki son satÄ±rÄ± bir sonraki sayfanÄ±n ilk "
 "satÄ±rÄ±nda gÃ¶ster, -2 = yarÄ±m sayfa "
 
-#: src/lang.c:2250
+#: src/lang.c:2306
 msgid "Number of lines to scroll in pager"
 msgstr "SayfalayÄ±cÄ±da kaydÄ±rÄ±lacak satÄ±r sayÄ±sÄ±"
 
-#: src/lang.c:2251
+#: src/lang.c:2307
 msgid ""
 "# Number of lines that cursor-up/down will scroll in article pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6852,60 +6999,60 @@ msgstr ""
 "#   2 ya da daha fazla = 2 ya da daha fazla satÄ±r kaydÄ±r (sadece "
 "sayfalayÄ±cÄ±da)\n"
 
-#: src/lang.c:2261
+#: src/lang.c:2317
 msgid "Display signatures. <SPACE> toggles & <CR> sets."
 msgstr "Ä°mzalarÄ± gÃ¶ster. <SPACE> deÄŸiÅŸtirir & <CR> ayarlar."
 
-#: src/lang.c:2262
+#: src/lang.c:2318
 msgid "Display signatures"
 msgstr "Ä°mzalarÄ± gÃ¶ster"
 
-#: src/lang.c:2263
+#: src/lang.c:2319
 msgid "# If OFF don't show signatures when displaying articles\n"
 msgstr "# EÄŸer KAPALI ise makaleleri gÃ¶rÃ¼ntÃ¼lerken imzalarÄ± gÃ¶sterme\n"
 
-#: src/lang.c:2267
+#: src/lang.c:2323
 #, fuzzy
 msgid "Display article score. <SPACE> toggles & <CR> sets."
 msgstr "Ä°mzalarÄ± gÃ¶ster. <SPACE> deÄŸiÅŸtirir & <CR> ayarlar."
 
-#: src/lang.c:2268
+#: src/lang.c:2324
 #, fuzzy
-msgid "Display article score"
+msgid "Display article score in pager"
 msgstr "sonraki makaleyi gÃ¶rÃ¼ntÃ¼le"
 
-#: src/lang.c:2269
+#: src/lang.c:2325
 #, fuzzy
 msgid "# If ON show article score when displaying articles\n"
 msgstr "# EÄŸer KAPALI ise makaleleri gÃ¶rÃ¼ntÃ¼lerken imzalarÄ± gÃ¶sterme\n"
 
-#: src/lang.c:2274
+#: src/lang.c:2330
 #, fuzzy
 msgid "Remove soft hyphens. <SPACE> toggles & <CR> sets."
 msgstr "Ä°mzalarÄ± gÃ¶ster. <SPACE> deÄŸiÅŸtirir & <CR> ayarlar."
 
-#: src/lang.c:2275
+#: src/lang.c:2331
 #, fuzzy
 msgid "Remove soft hyphens"
 msgstr "kapsamÄ± kaydÄ±r"
 
-#: src/lang.c:2276
+#: src/lang.c:2332
 #, fuzzy
 msgid "# If ON remove soft hyphens when displaying articles\n"
 msgstr "# EÄŸer KAPALI ise makaleleri gÃ¶rÃ¼ntÃ¼lerken imzalarÄ± gÃ¶sterme\n"
 
-#: src/lang.c:2281
+#: src/lang.c:2337
 msgid ""
 "Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Uuencoded veriyi etiketli ek olarak gÃ¶ster. <SPACE> deÄŸiÅŸtirir & <CR> "
 "ayarlar."
 
-#: src/lang.c:2282
+#: src/lang.c:2338
 msgid "Display uue data as an attachment"
 msgstr "Uue verilerini ek olarak gÃ¶rÃ¼ntÃ¼le"
 
-#: src/lang.c:2283
+#: src/lang.c:2339
 #, fuzzy
 msgid ""
 "# Handling of uuencoded data in the pager\n"
@@ -6926,18 +7073,18 @@ msgstr ""
 "#   2 = hepsini gizle, 1 gibi fakat uuencoded veri gibi gÃ¶rÃ¼nen veriler\n"
 "#                   etiket satÄ±rÄ±na kÃ¼Ã§Ã¼ltÃ¼lecek.\n"
 
-#: src/lang.c:2293
+#: src/lang.c:2349
 msgid ""
 "Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Alman stili TeX noktalama kodlarÄ±nÄ± ISO'ya Ã§Ã¶z. <SPACE> deÄŸiÅŸtirir & <CR> "
 "ayarlar."
 
-#: src/lang.c:2294
+#: src/lang.c:2350
 msgid "Display \"a as Umlaut-a"
 msgstr "\"a karaklerlerini noktalÄ± a olarak gÃ¶ster"
 
-#: src/lang.c:2295
+#: src/lang.c:2351
 msgid ""
 "# If ON decode German style TeX umlaut codes to ISO and\n"
 "# show \"a as Umlaut-a, etc.\n"
@@ -6945,15 +7092,15 @@ msgstr ""
 "# EÄŸer AÃ‡IK ise Alman stili TeX noktalama kodlarÄ±nÄ± ISO'ya Ã§evir\n"
 "# ve \"a'yÄ± noktalÄ± a, vb. ÅŸekilde gÃ¶ster\n"
 
-#: src/lang.c:2300 src/lang.c:2310
+#: src/lang.c:2356 src/lang.c:2366
 msgid "Space separated list of header fields"
 msgstr "BoÅŸluk ile ayrÄ±lmÄ±ÅŸ baÅŸlÄ±k alanlarÄ± listesi"
 
-#: src/lang.c:2301
+#: src/lang.c:2357
 msgid "Display these header fields (or *)"
 msgstr "Åžu baÅŸlÄ±k alanlarÄ±nÄ± gÃ¶ster (ya da *)"
 
-#: src/lang.c:2302
+#: src/lang.c:2358
 msgid ""
 "# Which news headers you wish to see. If you want to see _all_ the headers,\n"
 "# place an '*' as this value. This is the only way a wildcard can be used.\n"
@@ -6972,11 +7119,11 @@ msgstr ""
 "listeleyebilirsiniz.\n"
 "# HiÃ§bir ÅŸey belirtmezseniz bu Ã¶zellik kapanÄ±r.\n"
 
-#: src/lang.c:2311
+#: src/lang.c:2367
 msgid "Do not display these header fields"
 msgstr "Bu Ã¼st bilgi alanlarÄ±nÄ± gÃ¶sterme"
 
-#: src/lang.c:2312
+#: src/lang.c:2368
 msgid ""
 "# Same as 'news_headers_to_display' except it denotes the opposite.\n"
 "# An example of using both options might be if you thought X- headers were\n"
@@ -6995,48 +7142,48 @@ msgstr ""
 "# news_headers_to_not_display=X-Alan X-Pape\n"
 "# HiÃ§bir ÅŸey belirtmezseniz bu Ã¶zellik kapanÄ±r.\n"
 
-#: src/lang.c:2322
+#: src/lang.c:2378
 msgid ""
 "Do you want to enable automatic handling of multipart/alternative articles?"
 msgstr ""
 "multipart/alternative makalelerin otomatik iÅŸlenmesini etkinleÅŸtirmek "
 "istiyor musunuz?"
 
-#: src/lang.c:2323
+#: src/lang.c:2379
 msgid "Skip multipart/alternative parts"
 msgstr "multipart/alternative bÃ¶lÃ¼mleri atla"
 
-#: src/lang.c:2324
+#: src/lang.c:2380
 msgid "# If ON strip multipart/alternative messages automatically\n"
 msgstr "# EÄŸer AÃ‡IK ise multipart/alternative iletileri otomatik olarak kÄ±rp\n"
 
-#: src/lang.c:2328
+#: src/lang.c:2384
 msgid "Enable detection of verbatim blocks? <SPACE> toggles & <CR> sets."
 msgstr ""
 "Birebir aynÄ± bloklarÄ±n algÄ±lanmasÄ±nÄ± etkinleÅŸtir. <SPACE> deÄŸiÅŸtirir & <CR> "
 "ayarlar."
 
-#: src/lang.c:2329
+#: src/lang.c:2385
 msgid "Detection of verbatim blocks"
 msgstr "Birebir aynÄ± bloklarÄ±n algÄ±lanmasÄ±"
 
-#: src/lang.c:2330
+#: src/lang.c:2386
 msgid "# If ON detect verbatim blocks in articles\n"
 msgstr ""
 "# EÄŸer AÃ‡IK ise makalelerde birebir aynÄ± bloklarÄ±n algÄ±lanmasÄ±nÄ± "
 "etkinleÅŸtir\n"
 
-#: src/lang.c:2335
+#: src/lang.c:2391
 msgid "A regex used to decide which lines to show in col_quote."
 msgstr ""
 "Hangi satÄ±rlarÄ±n col_quote iÃ§inde gÃ¶sterileceÄŸine karar vermek iÃ§in regex "
 "kullanÄ±ldÄ±."
 
-#: src/lang.c:2336
+#: src/lang.c:2392
 msgid "Regex used to show quoted lines"
 msgstr "AlÄ±ntÄ±lanmÄ±ÅŸ satÄ±rlarÄ± gÃ¶stermek iÃ§in regex kullanÄ±ldÄ±"
 
-#: src/lang.c:2337
+#: src/lang.c:2393
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
@@ -7047,17 +7194,17 @@ msgstr ""
 "col_quote iÃ§erisinde gÃ¶steriliyor.\n"
 "# EÄŸer bunu boÅŸ bÄ±rakÄ±rsanÄ±z, tin yerleÅŸik varsayÄ±lanÄ± kullanacak.\n"
 
-#: src/lang.c:2343
+#: src/lang.c:2399
 msgid "A regex used to decide which lines to show in col_quote2."
 msgstr ""
 "Hangi satÄ±rlarÄ±n col_quote2 iÃ§inde gÃ¶sterileceÄŸine karar vermek iÃ§in regex "
 "kullanÄ±ldÄ±."
 
-#: src/lang.c:2344
+#: src/lang.c:2400
 msgid "Regex used to show twice quoted l."
 msgstr "Ä°ki kere alÄ±ntÄ±lanan dil iÃ§in kullanÄ±lan regex."
 
-#: src/lang.c:2345
+#: src/lang.c:2401
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted twice. Twice quoted lines are shown in col_quote2.\n"
@@ -7068,17 +7215,17 @@ msgstr ""
 "iÃ§erisinde gÃ¶steriliyor.\n"
 "# EÄŸer bunu boÅŸ bÄ±rakÄ±rsanÄ±z, tin yerleÅŸik varsayÄ±lanÄ± kullanacak.\n"
 
-#: src/lang.c:2351
+#: src/lang.c:2407
 msgid "A regex used to decide which lines to show in col_quote3."
 msgstr ""
 "Hangi satÄ±rlarÄ±n col_quote3 iÃ§inde gÃ¶sterileceÄŸine karar vermek iÃ§in regex "
 "kullanÄ±ldÄ±."
 
-#: src/lang.c:2352
+#: src/lang.c:2408
 msgid "Regex used to show >= 3 times q.l."
 msgstr "3 kere ya da daha fazla kullanÄ±lan sorgu dili iÃ§in kullanÄ±lan regex."
 
-#: src/lang.c:2353
+#: src/lang.c:2409
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
@@ -7090,33 +7237,33 @@ msgstr ""
 "gÃ¶steriliyor.\n"
 "# EÄŸer bunu boÅŸ bÄ±rakÄ±rsanÄ±z, tin yerleÅŸik varsayÄ±lanÄ± kullanacak.\n"
 
-#: src/lang.c:2359
+#: src/lang.c:2415
 msgid "Enable detection of external quotes? <SPACE> toggles & <CR> sets."
 msgstr ""
 "Harici alÄ±ntÄ±lar iÃ§in algÄ±lamayÄ± etkinleÅŸtir? <SPACE> deÄŸiÅŸtirir & <CR> "
 "ayarlar."
 
-#: src/lang.c:2360
+#: src/lang.c:2416
 msgid "Detection of external quotes"
 msgstr "Harici alÄ±ntÄ±lar algÄ±landÄ±"
 
-#: src/lang.c:2361
+#: src/lang.c:2417
 msgid "# If ON detect quoted text from external sources in articles\n"
 msgstr ""
 "# EÄŸer AÃ‡IK ise makaledeki harici kaynaklardan alÄ±ntÄ±lanmÄ±ÅŸ metinleri "
 "algÄ±la\n"
 
-#: src/lang.c:2365
+#: src/lang.c:2421
 msgid "A regex used to decide which lines to show in col_extquote."
 msgstr ""
 "Hangi satÄ±rlarÄ±n col_extquote iÃ§inde gÃ¶sterileceÄŸine karar vermek iÃ§in regex "
 "kullanÄ±ldÄ±."
 
-#: src/lang.c:2366
+#: src/lang.c:2422
 msgid "Regex used to show quotes from external sources"
 msgstr "Harici kaynaklardan alÄ±ntÄ±larÄ± gÃ¶stermek iÃ§in regex kullanÄ±ldÄ±"
 
-#: src/lang.c:2367
+#: src/lang.c:2423
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# external quotes. Text from external quotes is shown in col_extquote.\n"
@@ -7127,17 +7274,17 @@ msgstr ""
 "iÃ§inde gÃ¶steriliyor.\n"
 "# EÄŸer bunu boÅŸ bÄ±rakÄ±rsanÄ±z, tin yerleÅŸik varsayÄ±lanÄ± kullanacak.\n"
 
-#: src/lang.c:2374
+#: src/lang.c:2430
 msgid "A regex used to decide which words to show in col_markslashes."
 msgstr ""
 "Hangi kelimelerin col_markslashes iÃ§inde gÃ¶sterileceÄŸine karar vermek iÃ§in "
 "regex kullanÄ±ldÄ±."
 
-#: src/lang.c:2375
+#: src/lang.c:2431
 msgid "Regex used to highlight /slashes/"
 msgstr "/taksimleri/ vurgulamak iÃ§in regex kullanÄ±ldÄ±"
 
-#: src/lang.c:2376
+#: src/lang.c:2432
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '/' are to be shown in col_markslashes.\n"
@@ -7148,17 +7295,17 @@ msgstr ""
 "# gÃ¶sterileceÄŸine karar vermek iÃ§in kullanacaÄŸÄ± dÃ¼zenli ifade\n"
 "# EÄŸer bunu boÅŸ bÄ±rakÄ±rsanÄ±z, tin yerleÅŸik varsayÄ±lanÄ± kullanacak.\n"
 
-#: src/lang.c:2382
+#: src/lang.c:2438
 msgid "A regex used to decide which words to show in col_markstars."
 msgstr ""
 "Hangi kelimelerin col_markstars iÃ§inde gÃ¶sterileceÄŸine karar vermek iÃ§in "
 "regex kullanÄ±ldÄ±."
 
-#: src/lang.c:2383
+#: src/lang.c:2439
 msgid "Regex used to highlight *stars*"
 msgstr "*yÄ±ldÄ±zlarÄ±* vurgulamak iÃ§in regex kullanÄ±ldÄ±"
 
-#: src/lang.c:2384
+#: src/lang.c:2440
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '*' are to be shown in col_markstars.\n"
@@ -7168,17 +7315,17 @@ msgstr ""
 "# gÃ¶sterileceÄŸine karar vermek iÃ§in kullanacaÄŸÄ± dÃ¼zenli ifade\n"
 "# EÄŸer bunu boÅŸ bÄ±rakÄ±rsanÄ±z, tin yerleÅŸik varsayÄ±lanÄ± kullanacak.\n"
 
-#: src/lang.c:2390
+#: src/lang.c:2446
 msgid "A regex used to decide which words to show in col_markstroke."
 msgstr ""
 "Hangi kelimelerin col_markstroke iÃ§inde gÃ¶sterileceÄŸine karar vermek iÃ§in "
 "regex kullanÄ±ldÄ±."
 
-#: src/lang.c:2391
+#: src/lang.c:2447
 msgid "Regex used to highlight -strokes-"
 msgstr "-vuruÅŸ- ile vurgulama regex'i"
 
-#: src/lang.c:2392
+#: src/lang.c:2448
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '-' are to be shown in col_markstroke.\n"
@@ -7188,17 +7335,17 @@ msgstr ""
 "# gÃ¶sterileceÄŸine karar vermek iÃ§in kullanacaÄŸÄ± dÃ¼zenli ifade\n"
 "# EÄŸer bunu boÅŸ bÄ±rakÄ±rsanÄ±z, tin yerleÅŸik varsayÄ±lanÄ± kullanacak.\n"
 
-#: src/lang.c:2398
+#: src/lang.c:2454
 msgid "A regex used to decide which words to show in col_markdash."
 msgstr ""
 "Hangi kelimelerin col_markdash iÃ§inde kullanÄ±lacaÄŸÄ±na karar vermek iÃ§in "
 "regex kullanÄ±ldÄ±."
 
-#: src/lang.c:2399
+#: src/lang.c:2455
 msgid "Regex used to highlight _underline_"
 msgstr "_alt Ã§izgiyi_ vurgulamak iÃ§in regex kullanÄ±ldÄ±"
 
-#: src/lang.c:2400
+#: src/lang.c:2456
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '_' are to be shown in col_markdash.\n"
@@ -7208,17 +7355,17 @@ msgstr ""
 "# gÃ¶sterileceÄŸine karar vermek iÃ§in kullanacaÄŸÄ± dÃ¼zenli ifade\n"
 "# EÄŸer bunu boÅŸ bÄ±rakÄ±rsanÄ±z, tin yerleÅŸik varsayÄ±lanÄ± kullanacak.\n"
 
-#: src/lang.c:2406
+#: src/lang.c:2462
 msgid "A regex used to find Subject prefixes to remove.  Use '|' as separator."
 msgstr ""
 "Ã‡Ä±kartÄ±lacak konu Ã¶neklerini bulmak iÃ§in regex kullanÄ±ldÄ±.  \"|\" ayÄ±rÄ±cÄ± "
 "olarak kullan."
 
-#: src/lang.c:2407
+#: src/lang.c:2463
 msgid "Regex with Subject prefixes"
 msgstr "Konu Ã¶nekleriyle regex"
 
-#: src/lang.c:2408
+#: src/lang.c:2464
 msgid ""
 "# A regular expression that tin will use to find Subject prefixes\n"
 "# which will be removed before showing the header.\n"
@@ -7226,17 +7373,17 @@ msgstr ""
 "# Tin'in hangi konu Ã¶neklerinin baÅŸlÄ±k gÃ¶sterilmeden Ã¶nce\n"
 "# kaldÄ±rÄ±lacaÄŸÄ±nÄ± bulmak iÃ§in kullanacaÄŸÄ± dÃ¼zenli ifade.\n"
 
-#: src/lang.c:2413
+#: src/lang.c:2469
 msgid "A regex used to find Subject suffixes to remove.  Use '|' as separator."
 msgstr ""
 "Ã‡Ä±kartÄ±lacak konu soneklerini bulmak iÃ§in regex kullanÄ±ldÄ±.  \"|\" ayÄ±rÄ±cÄ± "
 "olarak kullan."
 
-#: src/lang.c:2414
+#: src/lang.c:2470
 msgid "Regex with Subject suffixes"
 msgstr "Konu sonekleriyle regex"
 
-#: src/lang.c:2415
+#: src/lang.c:2471
 msgid ""
 "# A regular expression that tin will use to find Subject suffixes\n"
 "# which will be removed when replying or posting followup.\n"
@@ -7244,15 +7391,15 @@ msgstr ""
 "# Tin'in hangi konu soneklerinin takip edeni cevaplarken ya da gÃ¶nderirken\n"
 "# kaldÄ±rÄ±lacaÄŸÄ±nÄ± bulmak iÃ§in kullanacaÄŸÄ± dÃ¼zenli ifade.\n"
 
-#: src/lang.c:2420
+#: src/lang.c:2476
 msgid "A regex used to find the begin of a verbatim block."
 msgstr "BloÄŸun birebir aynÄ±sÄ±nÄ±n baÅŸlangÄ±cÄ±nÄ± bulmak iÃ§in regex kullanÄ±ldÄ±."
 
-#: src/lang.c:2421
+#: src/lang.c:2477
 msgid "Regex for begin of a verbatim block"
 msgstr "BloÄŸun birebir aynÄ±sÄ±nÄ±n baÅŸlangÄ±cÄ± iÃ§in regex"
 
-#: src/lang.c:2422
+#: src/lang.c:2478
 msgid ""
 "# A regular expression that tin will use to find the begin of\n"
 "# a verbatim block.\n"
@@ -7260,15 +7407,15 @@ msgstr ""
 "# Tin'in bloÄŸun birebir aynÄ±sÄ±nÄ±n baÅŸlangÄ±cÄ±nÄ± bulmak iÃ§in\n"
 "# kullanacaÄŸÄ± dÃ¼zenli ifade.\n"
 
-#: src/lang.c:2427
+#: src/lang.c:2483
 msgid "A regex used to find the end of a verbatim block."
 msgstr "BloÄŸun birebir aynÄ±sÄ±nÄ±n sonunu bulmak iÃ§in regex kullanÄ±ldÄ±."
 
-#: src/lang.c:2428
+#: src/lang.c:2484
 msgid "Regex for end of a verbatim block"
 msgstr "BloÄŸun birebir aynÄ±sÄ±nÄ±n sonu iÃ§in regex"
 
-#: src/lang.c:2429
+#: src/lang.c:2485
 msgid ""
 "# A regular expression that tin will use to find the end of\n"
 "# a verbatim block.\n"
@@ -7276,7 +7423,7 @@ msgstr ""
 "# Tin'in bloÄŸun birebir aynÄ±sÄ±nÄ±n sonunu bulmak iÃ§in\n"
 "# kullanacaÄŸÄ± dÃ¼zenli ifade.\n"
 
-#: src/lang.c:2434
+#: src/lang.c:2490
 msgid ""
 "Enter name and options for external MIME viewer, --internal for built-in "
 "viewer"
@@ -7284,11 +7431,11 @@ msgstr ""
 "Harici MIME gÃ¶rÃ¼ntÃ¼leyici iÃ§in isim ve seÃ§enek girin, --internal for built-"
 "in viewer"
 
-#: src/lang.c:2435
+#: src/lang.c:2491
 msgid "MIME binary content viewer"
 msgstr "MIME ikili deÄŸeri iÃ§erik gÃ¶rÃ¼ntÃ¼leyicisi"
 
-#: src/lang.c:2436
+#: src/lang.c:2492
 #, fuzzy
 msgid ""
 "# If --internal automatically use the built in MIME viewer for non-text\n"
@@ -7302,15 +7449,15 @@ msgstr ""
 "# Aksi takdirde harici gÃ¶rÃ¼ntÃ¼leme programÄ± (Ã¶rn. metamail) belirtin ya da\n"
 "# otomatik gÃ¶rÃ¼ntÃ¼leme istemiyorsanÄ±z boÅŸ bÄ±rakÄ±n\n"
 
-#: src/lang.c:2443
+#: src/lang.c:2499
 msgid "Confirm before starting non-text viewing program"
 msgstr "Metin olmayan gÃ¶rÃ¼ntÃ¼leme programÄ±nÄ± baÅŸlatmadan Ã¶nce onaylayÄ±n"
 
-#: src/lang.c:2444
+#: src/lang.c:2500
 msgid "Ask before using MIME viewer"
 msgstr "MIME gÃ¶rÃ¼ntÃ¼leyiciyi kullanmadan Ã¶nce sor"
 
-#: src/lang.c:2445
+#: src/lang.c:2501
 msgid ""
 "# If ON tin will ask before using metamail to display MIME messages\n"
 "# this only happens if metamail_prog is set to something\n"
@@ -7319,38 +7466,38 @@ msgstr ""
 "Ã¶nce soracak\n"
 "# bu sadece metamail_prog bir ÅŸeye ayarlÄ± ise olur\n"
 
-#: src/lang.c:2450
+#: src/lang.c:2506
 msgid "Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 msgstr ""
 "GruplarÄ± kapatÄ±rken iÅŸaretlemek iÃ§in sor. <SPACE> deÄŸiÅŸtirir & <CR> ayarlar."
 
-#: src/lang.c:2451
+#: src/lang.c:2507
 msgid "Catchup read groups when quitting"
 msgstr "Ã‡Ä±kmadan okunan gruplar yakalansÄ±n mÄ±"
 
-#: src/lang.c:2452
+#: src/lang.c:2508
 msgid "# If ON ask user if read groups should all be marked read\n"
 msgstr ""
 "# EÄŸer AÃ‡IK ise kullanÄ±cÄ±ya okuma gruplarÄ±nÄ±n tamamÄ±nÄ±n okunmuÅŸ olarak "
 "iÅŸaretlenmesini sor\n"
 
-#: src/lang.c:2457
+#: src/lang.c:2513
 msgid "Catchup group using left key"
 msgstr "Sol tuÅŸ ile grubu yakala"
 
-#: src/lang.c:2458
+#: src/lang.c:2514
 msgid "# If ON catchup group/thread when leaving with the left arrow key.\n"
 msgstr "# EÄŸer AÃ‡IKSA gruptan/zincirden sol ok tuÅŸ ile ayrÄ±lÄ±rken yakala.\n"
 
-#: src/lang.c:2463
+#: src/lang.c:2519
 msgid "Catchup thread by using left key"
 msgstr "Makaleyi sol tuÅŸ ile yakala"
 
-#: src/lang.c:2469
+#: src/lang.c:2525
 msgid "Which actions require confirmation"
 msgstr "Hangi eylemler onay gerektiriyor"
 
-#: src/lang.c:2470
+#: src/lang.c:2526
 #, fuzzy
 msgid ""
 "# What should we ask confirmation for.\n"
@@ -7373,58 +7520,58 @@ msgstr ""
 "#    4 = Ã‡ok BÃ¶lÃ¼mlÃ¼ Konu\n"
 "#    5 = YÃ¼zde EÅŸleÅŸmesi\n"
 
-#: src/lang.c:2484
+#: src/lang.c:2540
 msgid "'Mark as (un)read' ignores tags"
 msgstr "'Okun(ma)muÅŸ olarak iÅŸaretle' etiketleri yoksayar"
 
-#: src/lang.c:2485
+#: src/lang.c:2541
 msgid ""
 "# If ON the 'Mark as (un)read' function marks only the current article.\n"
 msgstr ""
 "# EÄŸer AÃ‡IK durumundaysa 'makaleyi okunmuÅŸ/okunmamÄ±ÅŸ olarak iÅŸaretle' iÅŸlevi "
 "sadece mevcut makale iÃ§in geÃ§erlidir.\n"
 
-#: src/lang.c:2489
+#: src/lang.c:2545
 msgid "Program to run to open URLs, <CR> sets, <ESC> cancels."
 msgstr "URL aÃ§mak iÃ§in Ã§alÄ±ÅŸtÄ±rÄ±lacak program, <CR> ayarlar, <ESC> iptal eder."
 
-#: src/lang.c:2490
+#: src/lang.c:2546
 msgid "Program that opens URLs"
 msgstr "URL'leri aÃ§an program"
 
-#: src/lang.c:2491
+#: src/lang.c:2547
 msgid "# The program used to open URLs. The actual URL will be appended\n"
 msgstr "# Program URL aÃ§Ä±yordu. AsÄ±l URL'ler sona eklenecek\n"
 
-#: src/lang.c:2496
+#: src/lang.c:2552
 msgid "Use mouse in xterm"
 msgstr "xterm'de fare kullan"
 
-#: src/lang.c:2497
+#: src/lang.c:2553
 msgid "# If ON enable mouse button support on xterm terminals\n"
 msgstr ""
 "# EÄŸer AÃ‡IK durumundaysa xtrem uÃ§birimlerini destekleyen fare tuÅŸunu "
 "etkinleÅŸtir.\n"
 
-#: src/lang.c:2503
+#: src/lang.c:2559
 msgid "Use scroll keys on keypad"
 msgstr "TuÅŸ takÄ±mÄ±ndaki ok tuÅŸlarÄ±nÄ± kullan"
 
-#: src/lang.c:2504
+#: src/lang.c:2560
 msgid "# If ON enable scroll keys on terminals that support it\n"
 msgstr ""
 "# EÄŸer AÃ‡IK durumunduysa uÃ§birimler tarafÄ±ndan desteklenen kaydÄ±rma "
 "tuÅŸlarÄ±nÄ± etkinleÅŸtir\n"
 
-#: src/lang.c:2509
+#: src/lang.c:2565
 msgid "Enter maximum number of article to get. <CR> sets."
 msgstr "En fazla alÄ±nacak makalenin sayÄ±sÄ±nÄ± yazÄ±n. <CR> ayarlar. "
 
-#: src/lang.c:2510
+#: src/lang.c:2566
 msgid "Number of articles to get"
 msgstr "AlÄ±nacak makale sayÄ±sÄ±"
 
-#: src/lang.c:2511
+#: src/lang.c:2567
 msgid ""
 "# Number of articles to get (0=no limit), if negative sets maximum number\n"
 "# of already read articles to be read before first unread one\n"
@@ -7433,30 +7580,30 @@ msgstr ""
 "okunmamÄ±ÅŸtan Ã¶ncce\n"
 "# ÅŸu anki mevcut okunan makale sayÄ±sÄ± okunur\n"
 
-#: src/lang.c:2516
+#: src/lang.c:2572
 msgid "Enter number of days article is considered recent. <CR> sets."
 msgstr "Makalenin yeni sayÄ±lacaÄŸÄ± gÃ¼n sayÄ±sÄ±nÄ± yazÄ±n. <CR> ayarlar."
 
-#: src/lang.c:2517
+#: src/lang.c:2573
 msgid "Article recentness time limit"
 msgstr "Makalenin yenilik zaman sÄ±nÄ±rÄ±"
 
-#: src/lang.c:2518
+#: src/lang.c:2574
 msgid "# Number of days in which article is considered recent, (0=OFF)\n"
 msgstr "# Makalenin yeni sayÄ±ldÄ±ÄŸÄ± gÃ¼n sayÄ±sÄ±, (0=KAPALI)\n"
 
-#: src/lang.c:2522
+#: src/lang.c:2578
 msgid ""
 "WILDMAT for normal wildcards, REGEX for full regular expression matching."
 msgstr ""
 "WILDMAT normal joker karakterler, REGEX tam dÃ¼zenli ifade eÅŸleÅŸtirmeleri "
 "iÃ§indir."
 
-#: src/lang.c:2523
+#: src/lang.c:2579
 msgid "Wildcard matching"
 msgstr "Joker karakterler eÅŸleÅŸtiriyor"
 
-#: src/lang.c:2524
+#: src/lang.c:2580
 msgid ""
 "# Wildcard matching\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7468,62 +7615,62 @@ msgstr ""
 "# * 0 = wildmat\n"
 "#   1 = regex\n"
 
-#: src/lang.c:2531
+#: src/lang.c:2587
 msgid "Enter minimal score before an article is marked killed. <CR> sets."
 msgstr ""
 "Makale yok et olarak iÅŸaretlenmeden Ã¶nce minimal skoru yazÄ±n. <CR> ayarlar."
 
-#: src/lang.c:2532
+#: src/lang.c:2588
 msgid "Score limit (kill)"
 msgstr "Skor sÄ±nÄ±rÄ± (yok et)"
 
-#: src/lang.c:2533
+#: src/lang.c:2589
 msgid "# Score limit before an article is marked killed\n"
 msgstr "# Makale yok et olarak iÅŸaretlenmeden Ã¶nceki skor sÄ±nÄ±rÄ±\n"
 
-#: src/lang.c:2537
+#: src/lang.c:2593
 msgid "Enter default score to kill articles. <CR> sets."
 msgstr "Makaleleri yok etmek iÃ§in varsayÄ±lan skoru yazÄ±n. <CR> ayarlar."
 
-#: src/lang.c:2538
+#: src/lang.c:2594
 msgid "Default score to kill articles"
 msgstr "Makaleleri yok etmek iÃ§in Ã¶ntanÄ±mlÄ± skor"
 
-#: src/lang.c:2539
+#: src/lang.c:2595
 msgid "# Default score to kill articles\n"
 msgstr "# Makaleleri yok etmek iÃ§in Ã¶ntanÄ±mlÄ± skor\n"
 
-#: src/lang.c:2543
+#: src/lang.c:2599
 msgid "Enter minimal score before an article is marked hot. <CR> sets."
 msgstr ""
 "Makale sÄ±cak olarak iÅŸaretlenmeden Ã¶nce gereken en az skoru yazÄ±n. <CR> "
 "ayarlar."
 
-#: src/lang.c:2544
+#: src/lang.c:2600
 msgid "Score limit (select)"
 msgstr "Skor sÄ±nÄ±rÄ± (seÃ§)          :"
 
-#: src/lang.c:2545
+#: src/lang.c:2601
 msgid "# Score limit before an article is marked hot\n"
 msgstr "# Makale sÄ±cak olarak iÅŸaretlenmeden Ã¶nceki skor sÄ±nÄ±rÄ±\n"
 
-#: src/lang.c:2549
+#: src/lang.c:2605
 msgid "Enter default score to select articles. <CR> sets."
 msgstr "Makaleleri seÃ§mek iÃ§in Ã¶ntanÄ±mlÄ± skoru yazÄ±n. <CR> ayarlar."
 
-#: src/lang.c:2550
+#: src/lang.c:2606
 msgid "Default score to select articles"
 msgstr "Makaleleri seÃ§mek iÃ§in Ã¶ntanÄ±mlÄ± skor"
 
-#: src/lang.c:2551
+#: src/lang.c:2607
 msgid "# Default score to select articles\n"
 msgstr "# Makaleleri seÃ§mek iÃ§in Ã¶ntanÄ±mlÄ± skor\n"
 
-#: src/lang.c:2557
+#: src/lang.c:2613
 msgid "Use slrnface to show ''X-Face:''s"
 msgstr " ''X-Face:''leri gÃ¶stermek iÃ§in slmface kullan"
 
-#: src/lang.c:2558
+#: src/lang.c:2614
 msgid ""
 "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 "# Only useful when running in an xterm.\n"
@@ -7532,19 +7679,19 @@ msgstr ""
 "kullanÄ±lÄ±r.\n"
 "# Sadece xterm'de Ã§alÄ±ÅŸÄ±rken faydalÄ±.\n"
 
-#: src/lang.c:2566
+#: src/lang.c:2622
 msgid "Use ANSI color"
 msgstr "ANSI renk kullan"
 
-#: src/lang.c:2567
+#: src/lang.c:2623
 msgid "# If ON using ANSI-color\n"
 msgstr "# EÄŸer AÃ‡IK durumundaysa ANSI-renk kullanÄ±lÄ±yor\n"
 
-#: src/lang.c:2572
+#: src/lang.c:2628
 msgid "Standard foreground color"
 msgstr "Standart Ã¶nplan rengi"
 
-#: src/lang.c:2573
+#: src/lang.c:2629
 msgid ""
 "# Standard foreground color\n"
 "# Default: -1 (default color)\n"
@@ -7552,11 +7699,11 @@ msgstr ""
 "# Standart Ã¶nplan rengi\n"
 "# Ã–ntanÄ±mlÄ±: -1 (varsayÄ±lan renk)\n"
 
-#: src/lang.c:2579
+#: src/lang.c:2635
 msgid "Standard background color"
 msgstr "Standart arkaplan rengi"
 
-#: src/lang.c:2580
+#: src/lang.c:2636
 msgid ""
 "# Standard background color\n"
 "# Default: -1 (default color)\n"
@@ -7564,11 +7711,11 @@ msgstr ""
 "# Standart arkaplan rengi\n"
 "# Ã–ntanÄ±mlÄ±: -1 (Ã¶ntanÄ±mlÄ± renk)\n"
 
-#: src/lang.c:2586
+#: src/lang.c:2642
 msgid "Color for inverse text (background)"
 msgstr "Ters metin iÃ§in renk (arkaplan)"
 
-#: src/lang.c:2587
+#: src/lang.c:2643
 msgid ""
 "# Color of background for inverse text\n"
 "# Default: 4 (blue)\n"
@@ -7576,11 +7723,11 @@ msgstr ""
 "# Ters metin iÃ§in arkaplan rengi\n"
 "# Ã–ntanÄ±mlÄ±: 4 (mavi)\n"
 
-#: src/lang.c:2593
+#: src/lang.c:2649
 msgid "Color for inverse text (foreground)"
 msgstr "Ters metin iÃ§in renk (Ã¶nplan)"
 
-#: src/lang.c:2594
+#: src/lang.c:2650
 msgid ""
 "# Color of foreground for inverse text\n"
 "# Default: 7 (white)\n"
@@ -7588,11 +7735,11 @@ msgstr ""
 "# Ters Ã§erilmiÅŸ metin iÃ§in Ã¶nplan rengi\n"
 "# Ã–ntanÄ±mlÄ±: 7 (beyaz)\n"
 
-#: src/lang.c:2600
+#: src/lang.c:2656
 msgid "Color of text lines"
 msgstr "Metin satÄ±rlarÄ± iÃ§in renk"
 
-#: src/lang.c:2601
+#: src/lang.c:2657
 msgid ""
 "# Color of text lines\n"
 "# Default: -1 (default color)\n"
@@ -7600,11 +7747,11 @@ msgstr ""
 "# Metin satÄ±rlarÄ±nÄ±n renkleri\n"
 "# VarsayÄ±lan: -1 (varsayÄ±lan renk)\n"
 
-#: src/lang.c:2607
+#: src/lang.c:2663
 msgid "Color of mini help menu"
 msgstr "KÃ¼Ã§Ã¼k yardÄ±m menÃ¼sÃ¼ iÃ§in renk"
 
-#: src/lang.c:2608
+#: src/lang.c:2664
 msgid ""
 "# Color of mini help menu\n"
 "# Default: 3 (brown)\n"
@@ -7612,11 +7759,11 @@ msgstr ""
 "# KÃ¼Ã§Ã¼k yardÄ±m menÃ¼sÃ¼ iÃ§in renk\n"
 "# Ã–ntanÄ±mlÄ±: 3 (kahverengi)\n"
 
-#: src/lang.c:2614
+#: src/lang.c:2670
 msgid "Color of help text"
 msgstr "YardÄ±m metinleri iÃ§in renk"
 
-#: src/lang.c:2615
+#: src/lang.c:2671
 msgid ""
 "# Color of help pages\n"
 "# Default: -1 (default color)\n"
@@ -7624,11 +7771,11 @@ msgstr ""
 "# YardÄ±m sayfalarÄ±nÄ±n renkleri\n"
 "# VarsayÄ±lan: -1 (varsayÄ±lan renk)\n"
 
-#: src/lang.c:2621
+#: src/lang.c:2677
 msgid "Color of status messages"
 msgstr "Durum mesajlarÄ± iÃ§in renk"
 
-#: src/lang.c:2622
+#: src/lang.c:2678
 msgid ""
 "# Color of messages in last line\n"
 "# Default: 6 (cyan)\n"
@@ -7636,11 +7783,11 @@ msgstr ""
 "# Son satÄ±rdaki iletilerin rengi\n"
 "# Ã–ntanÄ±mlÄ±: 6 (cam gÃ¶beÄŸi)\n"
 
-#: src/lang.c:2628
+#: src/lang.c:2684
 msgid "Color of quoted lines"
 msgstr "AlÄ±ntÄ±lanmÄ±ÅŸ satÄ±rlarÄ±n rengi"
 
-#: src/lang.c:2629
+#: src/lang.c:2685
 msgid ""
 "# Color of quote-lines\n"
 "# Default: 2 (green)\n"
@@ -7648,11 +7795,11 @@ msgstr ""
 "# AlÄ±ntÄ±lanmÄ±ÅŸ satÄ±r rengi\n"
 "# Ã–ntanÄ±mlÄ±: 2 (yeÅŸil)\n"
 
-#: src/lang.c:2635
+#: src/lang.c:2691
 msgid "Color of twice quoted line"
 msgstr "Ä°ki kez alÄ±ntÄ±lanan satÄ±rlarÄ±n rengi"
 
-#: src/lang.c:2636
+#: src/lang.c:2692
 msgid ""
 "# Color of twice quoted lines\n"
 "# Default: 3 (brown)\n"
@@ -7660,32 +7807,32 @@ msgstr ""
 "# Ä°ki kez alÄ±ntÄ±lanan satÄ±rlarÄ±n rengi\n"
 "# Ã–ntanÄ±mÄ±: 3 (kahverengi)\n"
 
-#: src/lang.c:2642
+#: src/lang.c:2698
 msgid "Color of =>3 times quoted line"
 msgstr "3 ya da daha fazla alÄ±ntÄ±lanan satÄ±rlarÄ±n rengi"
 
-#: src/lang.c:2643
+#: src/lang.c:2699
 msgid ""
 "# Color of >=3 times quoted lines\n"
 "# Default: 4 (blue)\n"
 msgstr ""
 "# 3 ya da daha fazla alÄ±ntÄ±lanan satÄ±rlarÄ±n rengi# Ã–ntanÄ±mlÄ±: 4 (mavi)\n"
 
-#: src/lang.c:2649
+#: src/lang.c:2705
 msgid "Color of article header lines"
 msgstr "Makale Ã¼st bilgi satÄ±rlarÄ±nÄ±n rengi"
 
-#: src/lang.c:2650
+#: src/lang.c:2706
 msgid ""
 "# Color of header-lines\n"
 "# Default: 2 (green)\n"
 msgstr "# Makale Ã¼st bilgi satÄ±rlarÄ±nÄ±n rengi# Ã–ntanÄ±mlÄ±: 2 (yeÅŸil)\n"
 
-#: src/lang.c:2656
+#: src/lang.c:2712
 msgid "Color of actual news header fields"
 msgstr "Mevcut haber Ã¼st bilgi alanlarÄ± iÃ§in renk"
 
-#: src/lang.c:2657
+#: src/lang.c:2713
 msgid ""
 "# Color of actual news header fields\n"
 "# Default: 9 (light red)\n"
@@ -7693,11 +7840,11 @@ msgstr ""
 "# Mevcut haber Ã¼st bilgi alanlarÄ± iÃ§in renk\n"
 "# Ã–ntanÄ±mlÄ±: 9 (aÃ§Ä±k kÄ±rmÄ±zÄ±)\n"
 
-#: src/lang.c:2663
+#: src/lang.c:2719
 msgid "Color of article subject lines"
 msgstr "Makale baÅŸlÄ±k satÄ±rlarÄ± iÃ§in renk"
 
-#: src/lang.c:2664
+#: src/lang.c:2720
 msgid ""
 "# Color of article subject\n"
 "# Default: 6 (cyan)\n"
@@ -7705,11 +7852,11 @@ msgstr ""
 "# Makale baÅŸlÄ±ÄŸÄ± rengi\n"
 "# Ã–ntanÄ±mlÄ±: 6 (camgÃ¶beÄŸi)\n"
 
-#: src/lang.c:2670
+#: src/lang.c:2726
 msgid "Color of external quotes"
 msgstr "Harici alÄ±ntÄ±larÄ±n rengi"
 
-#: src/lang.c:2671
+#: src/lang.c:2727
 msgid ""
 "# Color of quoted text from external sources\n"
 "# Default: 5 (pink)\n"
@@ -7717,11 +7864,11 @@ msgstr ""
 "# Harici kaynaklardan alÄ±ntÄ±lanan metnin rengi\n"
 "# VarsayÄ±lan: 5 (pembe)\n"
 
-#: src/lang.c:2677
+#: src/lang.c:2733
 msgid "Color of response counter"
 msgstr "YanÄ±t sayacÄ± rengi"
 
-#: src/lang.c:2678
+#: src/lang.c:2734
 msgid ""
 "# Color of response counter\n"
 "# Default: 2 (green)\n"
@@ -7729,11 +7876,11 @@ msgstr ""
 "# YanÄ±t sayacÄ± rengi\n"
 "# Ã–ntanÄ±mlÄ±: 2 (yeÅŸil)\n"
 
-#: src/lang.c:2684
+#: src/lang.c:2740
 msgid "Color of sender (From:)"
 msgstr "GÃ¶nderen rengi (GÃ¶nderen:)"
 
-#: src/lang.c:2685
+#: src/lang.c:2741
 msgid ""
 "# Color of sender (From:)\n"
 "# Default: 2 (green)\n"
@@ -7741,11 +7888,11 @@ msgstr ""
 "# GÃ¶nderen rengi (GÃ¶nderen:)\n"
 "# Ã–ntanÄ±mlÄ±: 2 (yeÅŸil)\n"
 
-#: src/lang.c:2691
+#: src/lang.c:2747
 msgid "Color of help/mail sign"
 msgstr "YardÄ±m/posta iÅŸaretinin rengi"
 
-#: src/lang.c:2692
+#: src/lang.c:2748
 msgid ""
 "# Color of Help/Mail-Sign\n"
 "# Default: 4 (blue)\n"
@@ -7753,11 +7900,11 @@ msgstr ""
 "# YardÄ±m/Posta Ä°ÅŸareti rengi\n"
 "# Ã–ntanÄ±mlÄ±: 4 (mavi)\n"
 
-#: src/lang.c:2698
+#: src/lang.c:2754
 msgid "Color of signatures"
 msgstr "Ä°mzalarÄ±n rengi"
 
-#: src/lang.c:2699
+#: src/lang.c:2755
 msgid ""
 "# Color of signature\n"
 "# Default: 4 (blue)\n"
@@ -7765,12 +7912,12 @@ msgstr ""
 "# Ä°nzanÄ±n rengi\n"
 "# Ã–ntanÄ±mlÄ±: 4 (mavi)\n"
 
-#: src/lang.c:2705
+#: src/lang.c:2761
 #, fuzzy
 msgid "Color of negative score"
 msgstr "Metin satÄ±rlarÄ± iÃ§in renk"
 
-#: src/lang.c:2706
+#: src/lang.c:2762
 #, fuzzy
 msgid ""
 "# Color of negative score\n"
@@ -7779,12 +7926,12 @@ msgstr ""
 "# Ä°nzanÄ±n rengi\n"
 "# Ã–ntanÄ±mlÄ±: 4 (mavi)\n"
 
-#: src/lang.c:2712
+#: src/lang.c:2768
 #, fuzzy
 msgid "Color of positive score"
 msgstr "YanÄ±t sayacÄ± rengi"
 
-#: src/lang.c:2713
+#: src/lang.c:2769
 #, fuzzy
 msgid ""
 "# Color of positive score\n"
@@ -7793,11 +7940,11 @@ msgstr ""
 "# YanÄ±t sayacÄ± rengi\n"
 "# Ã–ntanÄ±mlÄ±: 2 (yeÅŸil)\n"
 
-#: src/lang.c:2719
+#: src/lang.c:2775
 msgid "Color of highlighted URLs"
 msgstr "VurgulanmÄ±ÅŸ URL'lerin rengi"
 
-#: src/lang.c:2720
+#: src/lang.c:2776
 msgid ""
 "# Color of highlighted URLs\n"
 "# Default: -1 (default color)\n"
@@ -7805,11 +7952,11 @@ msgstr ""
 "# VurgulanmÄ±ÅŸ URL renkleri\n"
 "# Default: -1 (varsayÄ±lan renk)\n"
 
-#: src/lang.c:2726
+#: src/lang.c:2782
 msgid "Color of verbatim blocks"
 msgstr "Birebir aynÄ± bloklarÄ±n rengi"
 
-#: src/lang.c:2727
+#: src/lang.c:2783
 msgid ""
 "# Color of verbatim blocks\n"
 "# Default: 5 (pink)\n"
@@ -7817,11 +7964,11 @@ msgstr ""
 "# Birebir aynÄ± bloklarÄ±n rengi\n"
 "# VarsayÄ±lan: 5 (pink)\n"
 
-#: src/lang.c:2733
+#: src/lang.c:2789
 msgid "Color of highlighting with *stars*"
 msgstr "*yÄ±ldÄ±z* ile vurgulama rengi"
 
-#: src/lang.c:2734
+#: src/lang.c:2790
 msgid ""
 "# Color of word highlighting with *stars*\n"
 "# Default: 11 (yellow)\n"
@@ -7829,11 +7976,11 @@ msgstr ""
 "# *yÄ±ldÄ±z* ile kelime vurgulama rengi\n"
 "# Ã–ntanÄ±mlÄ±: 11 (yeÅŸil)\n"
 
-#: src/lang.c:2740
+#: src/lang.c:2796
 msgid "Color of highlighting with _dash_"
 msgstr "_alt Ã§izgi_ ile vurgulama rengi"
 
-#: src/lang.c:2741
+#: src/lang.c:2797
 msgid ""
 "# Color of word highlighting with _dash_\n"
 "# Default: 13 (light pink)\n"
@@ -7841,11 +7988,11 @@ msgstr ""
 "# _alt Ã§izgi_ ile kelime vurgulama rengi\n"
 "# Ã–ntanÄ±mlÄ±: 13 (aÃ§Ä±k pembe)\n"
 
-#: src/lang.c:2747
+#: src/lang.c:2803
 msgid "Color of highlighting with /slash/"
 msgstr "/taksim/ ile vurgulama rengi"
 
-#: src/lang.c:2748
+#: src/lang.c:2804
 msgid ""
 "# Color of word highlighting with /slash/\n"
 "# Default: 14 (light cyan)\n"
@@ -7853,11 +8000,11 @@ msgstr ""
 "# /taksim/ ile kelime vurgulama rengi\n"
 "# Ã–ntanÄ±mlÄ±: 14 (aÃ§Ä±k camgÃ¶beÄŸi)\n"
 
-#: src/lang.c:2754
+#: src/lang.c:2810
 msgid "Color of highlighting with -stroke-"
 msgstr "-tire- ile vurgulama rengi"
 
-#: src/lang.c:2755
+#: src/lang.c:2811
 msgid ""
 "# Color of word highlighting with -stroke-\n"
 "# Default: 12 (light blue)\n"
@@ -7865,11 +8012,11 @@ msgstr ""
 "# -vuruÅŸ- ile kelime vurgulama rengi\n"
 "# Ã–ntanÄ±mlÄ±: 14 (aÃ§Ä±k mavi)\n"
 
-#: src/lang.c:2762
+#: src/lang.c:2818
 msgid "Attr. of highlighting with *stars*"
 msgstr "*yÄ±ldÄ±z* ile vurgulama Ã¶zelliÄŸi"
 
-#: src/lang.c:2763
+#: src/lang.c:2819
 msgid ""
 "# Attributes of word highlighting on mono terminals\n"
 "# Possible values are:\n"
@@ -7897,11 +8044,11 @@ msgstr ""
 "# *yÄ±ldÄ±zlarla kelime vurgulama Ã¶zelliÄŸi\n"
 "# Ã–ntanÄ±mlÄ±: 6 (kalÄ±n)\n"
 
-#: src/lang.c:2778
+#: src/lang.c:2834
 msgid "Attr. of highlighting with _dash_"
 msgstr "_alt Ã§izgi_ ile vurgulama Ã¶zelliÄŸi"
 
-#: src/lang.c:2779
+#: src/lang.c:2835
 msgid ""
 "# Attribute of word highlighting with _dash_\n"
 "# Default: 2 (best highlighting)\n"
@@ -7909,11 +8056,11 @@ msgstr ""
 "# _tire_ ile vurgulanan kelimenin rengi\n"
 "# VarsayÄ±lan: 2 (en iyi vurgu)\n"
 
-#: src/lang.c:2785
+#: src/lang.c:2841
 msgid "Attr. of highlighting with /slash/"
 msgstr "/bÃ¶lÃ¼/ ile vurgulama Ã¶zelliÄŸi"
 
-#: src/lang.c:2786
+#: src/lang.c:2842
 msgid ""
 "# Attribute of word highlighting with /slash/\n"
 "# Default: 5 (half bright)\n"
@@ -7921,11 +8068,11 @@ msgstr ""
 "# /taksim/ ile kelime vurgulama Ã¶zelliÄŸi\n"
 "# Ã–ntanÄ±mlÄ±: 5 (hafif parlak)\n"
 
-#: src/lang.c:2792
+#: src/lang.c:2848
 msgid "Attr. of highlighting with -stroke-"
 msgstr "-tire- ile vurgulama Ã¶zniteliÄŸi"
 
-#: src/lang.c:2793
+#: src/lang.c:2849
 msgid ""
 "# Attribute of word highlighting with -stroke-\n"
 "# Default: 3 (reverse video)\n"
@@ -7933,27 +8080,27 @@ msgstr ""
 "# -tire- ile kelime vurgulama Ã¶zniteliÄŸi\n"
 "# Ã–ntanÄ±mlÄ±: 3 (ters video)\n"
 
-#: src/lang.c:2799
+#: src/lang.c:2855
 msgid "URL highlighting in message body"
 msgstr "Ä°leti gÃ¶vdesindeki URL vurgulamasÄ±"
 
-#: src/lang.c:2800
+#: src/lang.c:2856
 msgid "# Enable URL highlighting?\n"
 msgstr "# URL vurgulamasÄ±nÄ± etkinleÅŸtir?\n"
 
-#: src/lang.c:2805
+#: src/lang.c:2861
 msgid "Word highlighting in message body"
 msgstr "Ä°leti gÃ¶vdesinde kelime vurgulama"
 
-#: src/lang.c:2806
+#: src/lang.c:2862
 msgid "# Enable word highlighting?\n"
 msgstr "# Kelime vurgulamasÄ±nÄ± etkinleÅŸtir?\n"
 
-#: src/lang.c:2811
+#: src/lang.c:2867
 msgid "What to display instead of mark"
 msgstr "Ä°ÅŸaretin yerine ne gÃ¶sterilecek?"
 
-#: src/lang.c:2812
+#: src/lang.c:2868
 msgid ""
 "# Should the leading and ending stars and dashes also be displayed,\n"
 "# even when they are highlighting marks?\n"
@@ -7969,64 +8116,79 @@ msgstr ""
 "#   1 = evet, iÅŸareti gÃ¶ster\n"
 "# * 2 = onlarÄ±n yerine bir boÅŸluk yaz\n"
 
-#: src/lang.c:2821
+#: src/lang.c:2877
 msgid "Enter column number to wrap article lines to in the pager. <CR> sets."
 msgstr ""
 "SayfalayÄ±cÄ±daki makale satÄ±rlarÄ±nÄ± Ã§evrelemek iÃ§in sÃ¼tun mumarasÄ±nÄ± yazÄ±n. "
 "<CR> ayarlar."
 
-#: src/lang.c:2822
+#: src/lang.c:2878
 msgid "Page line wrap column"
 msgstr "Sayfa satÄ±rÄ± sÃ¼tunu Ã§evreliyor"
 
-#: src/lang.c:2823
+#: src/lang.c:2879
 msgid "# Wrap article lines at column\n"
 msgstr "# SÃ¼tundaki makale satÄ±rlarÄ±nÄ± Ã§evrele\n"
 
-#: src/lang.c:2828
+#: src/lang.c:2883
+#, fuzzy
+msgid ""
+"If ON, don't break words when wrapping lines. <SPACE> toggles & <CR> sets."
+msgstr ""
+"Makaleleri yeniden gÃ¶nderirken imza ekle. <SPACE> deÄŸiÅŸtirir & <CR> ayarlar."
+
+#: src/lang.c:2884
+msgid "Don't break words when wrapping"
+msgstr ""
+
+#: src/lang.c:2885
+msgid "# Don't break long lines inside a word but on <SPACE> or <TAB>\n"
+msgstr ""
+
+#: src/lang.c:2890
 msgid "Wrap around threads on next unread"
 msgstr "Sonraki okunmayanda zincirleri Ã§evrele"
 
-#: src/lang.c:2829
+#: src/lang.c:2891
 msgid "# If ON wrap around threads on searching next unread article\n"
 msgstr ""
 "# EÄŸer AÃ‡IK durumunduysa sonraki okunmayan makaleyi aramak iÃ§in zincirleri "
 "Ã§evrele\n"
 
-#: src/lang.c:2833
+#: src/lang.c:2895
 msgid "Enter default mail address (and fullname). <CR> sets."
 msgstr "Ã–ntanÄ±mlÄ± e-posta adresini (ve tÃ¼m ismi) yaz, <CR> ayarlar."
 
-#: src/lang.c:2834 src/lang.c:3405
+#: src/lang.c:2896 src/lang.c:3474
 msgid "Mail address (and fullname)"
 msgstr "E-posta adresi (ve tÃ¼m isim)"
 
-#: src/lang.c:2835
+#: src/lang.c:2897
 msgid "# User's mail address (and fullname), if not username@host (fullname)\n"
 msgstr ""
 "# KullanÄ±cÄ±nÄ±n e-posta adresi (ve tÃ¼m ismi), yoksa kullanÄ±cÄ±adÄ±@sistem (tÃ¼m "
 "isim)\n"
 
-#: src/lang.c:2840
+#: src/lang.c:2902
 msgid "Show empty Followup-To in editor"
 msgstr "BoÅŸ izleneni dÃ¼zenleyicide gÃ¶ster"
 
-#: src/lang.c:2841
+#: src/lang.c:2903
 msgid "# If ON show empty Followup-To header when editing an article\n"
 msgstr ""
 "# EÄŸer AÃ‡IK ise makaleyi dÃ¼zenlerken boÅŸ izlenen Ã¼st bilgisini gÃ¶ster\n"
 
-#: src/lang.c:2845
+#: src/lang.c:2907
 msgid ""
 "Enter path/! command/--none to create your default signature. <CR> sets."
 msgstr ""
 "Ã–ntanÄ±mlÄ± imzayÄ± oluÅŸturmak iÃ§in yol/! komut/--none  girin. <CR> ayarlar."
 
-#: src/lang.c:2846
+#: src/lang.c:2908
 msgid "Create signature from path/command"
 msgstr "Yoldan/komuttan imza oluÅŸtur"
 
-#: src/lang.c:2847
+#: src/lang.c:2909
 #, fuzzy, c-format
 msgid ""
 "# Signature path (random sigs)/file to be used when posting/replying\n"
@@ -8040,43 +8202,43 @@ msgstr ""
 "# sigfile=!komut   harici komutu imza oluÅŸturmak iÃ§in Ã§alÄ±ÅŸtÄ±rÄ±r\n"
 "# sigfile=--none     imza eklemez\n"
 
-#: src/lang.c:2855
+#: src/lang.c:2917
 msgid ""
 "Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Ä°mzayÄ± kendi satÄ±rÄ±nda \"--\" ile baÅŸlat. <SPACE> deÄŸiÅŸtirir & <CR> ayarlar."
 
-#: src/lang.c:2856
+#: src/lang.c:2918
 msgid "Prepend signature with \"-- \""
 msgstr "Ä°mzayÄ± \"--\" ile baÅŸlat"
 
-#: src/lang.c:2857
+#: src/lang.c:2919
 msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n"
 msgstr "# EÄŸer AÃ‡IK ise imzayÄ± tire ile baÅŸlat '\\n-- \\n'\n"
 
-#: src/lang.c:2861
+#: src/lang.c:2923
 msgid "Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 "Makaleleri yeniden gÃ¶nderirken imza ekle. <SPACE> deÄŸiÅŸtirir & <CR> ayarlar."
 
-#: src/lang.c:2862
+#: src/lang.c:2924
 msgid "Add signature when reposting"
 msgstr "Tekrar gÃ¶nderirken imza ekle"
 
-#: src/lang.c:2863
+#: src/lang.c:2925
 msgid "# If ON add signature to reposted articles\n"
 msgstr "# EÄŸer AÃ‡IK ise tekrar gÃ¶nderilmiÅŸ makaleler iÃ§in imza ekle\n"
 
-#: src/lang.c:2867
+#: src/lang.c:2929
 #, fuzzy
 msgid "Enter quotation marks, %I for author's initials."
 msgstr "YazarÄ±n baÅŸlangÄ±Ã§larÄ± iÃ§in, %s ya da %S alÄ±ntÄ± iÅŸaretleri gir."
 
-#: src/lang.c:2868
+#: src/lang.c:2930
 msgid "Characters used as quote-marks"
 msgstr "TÄ±rnak iÅŸaretleri olarak kullanÄ±lmÄ±ÅŸ karakterler"
 
-#: src/lang.c:2869
+#: src/lang.c:2931
 #, fuzzy
 msgid ""
 "# Characters used in quoting to followups and replies.\n"
@@ -8085,11 +8247,11 @@ msgstr ""
 "# Cevaplar ve takipleri alÄ±ntÄ±lamak iÃ§in kullanÄ±lacak karakter\n"
 "# '_' ÅŸuna dÃ¶nÃ¼ÅŸtÃ¼ ' ', %s, %S yazarÄ±n baÅŸlangÄ±Ã§larÄ±yla deÄŸiÅŸtiriliyor.\n"
 
-#: src/lang.c:2875
+#: src/lang.c:2937
 msgid "Quoting behavior"
 msgstr "AlÄ±ntÄ±lama davranÄ±ÅŸÄ±"
 
-#: src/lang.c:2876
+#: src/lang.c:2938
 msgid ""
 "# How quoting should be handled when following up or replying.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8113,17 +8275,17 @@ msgstr ""
 "#   6 = Ä°mzalarÄ± alÄ±ntÄ±la, boÅŸ satÄ±rlarÄ± alÄ±ntÄ±la\n"
 "#   7 = AlÄ±ntÄ±larÄ± sÄ±kÄ±ÅŸtÄ±r, imzalarÄ± alÄ±ntÄ±la, boÅŸ satÄ±rlarÄ± alÄ±ntÄ±la\n"
 
-#: src/lang.c:2889 src/lang.c:2897 src/lang.c:2903
+#: src/lang.c:2951 src/lang.c:2959 src/lang.c:2965
 msgid ""
 "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 msgstr ""
 "%A Adres %D Tarih %F Adres+Ad %G Grup adÄ± %M Ä°leti-KimliÄŸi %N Ad %C Ä°lk Ad"
 
-#: src/lang.c:2890
+#: src/lang.c:2952
 msgid "Quote line when following up"
 msgstr "Takip ederken satÄ±rÄ± alÄ±ntÄ±la"
 
-#: src/lang.c:2891
+#: src/lang.c:2953
 msgid ""
 "# Format of quote line when mailing/posting/following-up an article\n"
 "# %A Address    %D Date   %F Addr+Name   %G Groupname   %M Message-ID\n"
@@ -8134,40 +8296,40 @@ msgstr ""
 "# %A Adres    %D Tarih   %F Adres+Ad   %G GrupadÄ±   %M Ä°leti-KimliÄŸi\n"
 "# %N Tam Ad  %C Ä°lk Ad   %I Ä°lk harfler\n"
 
-#: src/lang.c:2898
+#: src/lang.c:2960
 msgid "Quote line when cross-posting"
 msgstr "Ã‡apraz gÃ¶nderirken satÄ±rÄ± alÄ±ntÄ±la"
 
-#: src/lang.c:2904
+#: src/lang.c:2966
 msgid "Quote line when mailing"
 msgstr "E-posta gÃ¶nderirken satÄ±rÄ± alÄ±ntÄ±la"
 
-#: src/lang.c:2909
+#: src/lang.c:2971
 msgid "If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 msgstr ""
 "EÄŸer AÃ‡IK durumdaysa, User-Agent: baÅŸlÄ±ÄŸÄ± ekler. <SPACE> deÄŸiÅŸtirir & <CR> "
 "ayarlar."
 
-#: src/lang.c:2910
+#: src/lang.c:2972
 msgid "Insert 'User-Agent:' header"
 msgstr "'User-Agent' baÅŸlÄ±ÄŸÄ± ekle"
 
-#: src/lang.c:2911
+#: src/lang.c:2973
 msgid "# If ON include advertising User-Agent: header\n"
 msgstr "# EÄŸer AÃ‡IK durumdaysa User-Agent: baÅŸlÄ±ÄŸÄ±nÄ± iÃ§er\n"
 
-#: src/lang.c:2916
+#: src/lang.c:2978
 msgid ""
 "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 "MIME iÃ§in karakter kÃ¼mesi adÄ± girin (Ã¶rn. US-ASCII, ISO-8859-1, EUC-KR), "
 "<CR> ayarlar."
 
-#: src/lang.c:2917
+#: src/lang.c:2979
 msgid "MM_CHARSET"
 msgstr "MM_CHARSET"
 
-#: src/lang.c:2918
+#: src/lang.c:2980
 msgid ""
 "# Charset supported locally which is also used for MIME header and\n"
 "# Content-Type header.\n"
@@ -8185,43 +8347,43 @@ msgstr ""
 "# haricinde karakter kÃ¼meleri gÃ¶sterilemez kabul edilir ve '?' olarak "
 "gÃ¶sterilir.\n"
 
-#: src/lang.c:2928
+#: src/lang.c:2990
 msgid "MM_NETWORK_CHARSET"
 msgstr "MM_NETWORK_CHARSET"
 
-#: src/lang.c:2929
+#: src/lang.c:2991
 msgid "# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr ""
 "GÃ¶nderilerde MIME (Content-Type) baÅŸlÄ±ÄŸÄ± iÃ§in kullanÄ±lan karakter kÃ¼mesi.\n"
 
-#: src/lang.c:2933
+#: src/lang.c:2995
 msgid ""
 "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 "Yerel karakter kÃ¼mesi adÄ± giriniz (Ã¶rneÄŸin US-ASCII, ISO-8859-1, EUC-KR), "
 "<CR> ayarlar."
 
-#: src/lang.c:2934
+#: src/lang.c:2996
 msgid "MM_LOCAL_CHARSET"
 msgstr "MM_LOCAL_CHARSET"
 
-#: src/lang.c:2935
+#: src/lang.c:2997
 msgid "# Charset supported locally.\n"
 msgstr "# Karakter kÃ¼mesi yerel olarak destekleniyor.\n"
 
-#: src/lang.c:2942
+#: src/lang.c:3004
 msgid "Mailbox format"
 msgstr "Mailbox biÃ§imi"
 
-#: src/lang.c:2943
+#: src/lang.c:3005
 msgid "# Format of the mailbox.\n"
 msgstr "# mailbox biÃ§imi.\n"
 
-#: src/lang.c:2948
+#: src/lang.c:3010
 msgid "MIME encoding in news messages"
 msgstr "Haber mesajlarÄ±nda MIME kodlama"
 
-#: src/lang.c:2949
+#: src/lang.c:3011
 msgid ""
 "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n"
 "# for mails and posts, if necessary. QP is efficient for most European\n"
@@ -8237,15 +8399,15 @@ msgstr ""
 "# Anca Base64 Ã§oÄŸu 8bit DoÄŸu Asya, Yunanca ve RusÃ§a gibi Ã§ok fazla 8bit\n"
 "# karaktere sahip olaln karakter kÃ¼melerinde daha iyidir.\n"
 
-#: src/lang.c:2957 src/lang.c:2978
+#: src/lang.c:3019 src/lang.c:3040
 msgid "Don't change unless you know what you are doing. <ESC> cancels."
 msgstr "Ne yaptÄ±ÄŸÄ±nÄ± bilmiyorsan deÄŸiÅŸtirme. <ESC> iptal eder."
 
-#: src/lang.c:2958
+#: src/lang.c:3020
 msgid "Use 8bit characters in news headers"
 msgstr "Haber baÅŸlÄ±klarÄ±nda 8bit karakterler kullan."
 
-#: src/lang.c:2959
+#: src/lang.c:3021
 msgid ""
 "# If ON, 8bit characters in news headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -8257,32 +8419,32 @@ msgstr ""
 "# kodlanÄ±r. post_mime_encoding deÄŸeri 8bit ise bu deÄŸere bakÄ±lmaksÄ±zÄ±n\n"
 "# baÅŸlÄ±klardaki 8bit karakterler kodlanÄ±r.\n"
 
-#: src/lang.c:2966
+#: src/lang.c:3028
 msgid ""
 "Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 "Sonradan iÅŸlenmiÅŸ dosyalarÄ± otomatik olarak gÃ¶ster <SPACE> deÄŸiÅŸtirir, <CR> "
 "ayarlar, <ESC> iptal eder."
 
-#: src/lang.c:2967
+#: src/lang.c:3029
 msgid "View post-processed files"
 msgstr "sonradan-iÅŸlenmiÅŸ dosyalarÄ± gÃ¶ster"
 
-#: src/lang.c:2968
+#: src/lang.c:3030
 msgid "# If set, post processed files will be opened in a viewer\n"
 msgstr ""
 "# EÄŸer ayarlandÄ±ysa, sonradan iÅŸlenmiÅŸ dosyalar bir gÃ¶rÃ¼ntÃ¼leyicide "
 "aÃ§Ä±lacaktÄ±r\n"
 
-#: src/lang.c:2973
+#: src/lang.c:3035
 msgid "MIME encoding in mail messages"
 msgstr "E-posta iletilerinde MIME kodlama"
 
-#: src/lang.c:2979
+#: src/lang.c:3041
 msgid "Use 8bit characters in mail headers"
 msgstr "E-posta baÅŸlÄ±klarÄ±nda 8bit karakterler kullan"
 
-#: src/lang.c:2980
+#: src/lang.c:3042
 msgid ""
 "# If ON, 8bit characters in mail headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -8300,11 +8462,11 @@ msgstr ""
 "# yasaklar. EÄŸer Ã§ok Ã¶nemli bir nedeniniz yoksa bunu AÃ‡IK TUTMAMANI "
 "Ã¶nerilir.\n"
 
-#: src/lang.c:2991
+#: src/lang.c:3053
 msgid "Strip blanks from ends of lines"
 msgstr "SatÄ±r sonu boÅŸlarÄ± yok et"
 
-#: src/lang.c:2992
+#: src/lang.c:3054
 msgid ""
 "# If ON strip blanks from ends of lines for faster display on slow "
 "terminals.\n"
@@ -8312,17 +8474,17 @@ msgstr ""
 "# EÄŸer AÃ‡IK durumdaysa yavaÅŸ uÃ§birimde daha hÄ±zlÄ± gÃ¶rÃ¼ntÃ¼ iÃ§in boÅŸlarÄ± yok "
 "et.\n"
 
-#: src/lang.c:2998
+#: src/lang.c:3060
 msgid "If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr ""
 "EÄŸer AÃ‡IK durumdaysa damga Ã§evirisi kullan. <SPACE> deÄŸiÅŸtirir & <CR> "
 "ayarlar."
 
-#: src/lang.c:2999
+#: src/lang.c:3061
 msgid "Transliteration"
 msgstr "BaÅŸka alfabe ile yazma"
 
-#: src/lang.c:3000
+#: src/lang.c:3062
 msgid ""
 "# If ON, use //TRANSLIT extension. This means that when a character cannot\n"
 "# be represented in the in the target character set, it can be approximated\n"
@@ -8333,11 +8495,11 @@ msgstr ""
 "karakterlerin\n"
 "# bir ya da birkaÃ§Ä± ile benzetilebilir.\n"
 
-#: src/lang.c:3008
+#: src/lang.c:3070
 msgid "Send you a Cc/Bcc automatically"
 msgstr "kopyasÄ±nÄ±/gizli kopyasÄ±nÄ± otomatik olarak kendine gÃ¶nder"
 
-#: src/lang.c:3009
+#: src/lang.c:3071
 msgid ""
 "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8353,25 +8515,25 @@ msgstr ""
 "#   2 = Gizli Bilgi\n"
 "#   3 = Bilgi ve Gizli Bilgi\n"
 
-#: src/lang.c:3020
+#: src/lang.c:3082
 msgid "Hash algorithm for Cancel-Lock/Cancel-Key"
 msgstr ""
 
-#: src/lang.c:3021
+#: src/lang.c:3083
 msgid ""
 "# Hash algorithm for Cancel-Lock/Cancel-Key (default 'sha1')\n"
 "# Use 'none' to not generate Cancel-Lock headers.\n"
 msgstr ""
 
-#: src/lang.c:3027
+#: src/lang.c:3089
 msgid "Enter address elements about which you want to be warned. <CR> sets."
 msgstr "UyarÄ±lmak istediÄŸiniz adres bileÅŸenlerini girin. <CR> ayarlar."
 
-#: src/lang.c:3028
+#: src/lang.c:3090
 msgid "Spamtrap warning address parts"
 msgstr "Spam tuzaÄŸÄ± uyarÄ± adres bÃ¶lÃ¼mleri"
 
-#: src/lang.c:3029
+#: src/lang.c:3091
 msgid ""
 "# A comma-delimited list of address-parts you want to be warned\n"
 "# about when trying to reply by email.\n"
@@ -8379,30 +8541,30 @@ msgstr ""
 "# E-posta ile cevap yazmaya Ã§alÄ±ÅŸÄ±rken\n"
 "# uyarÄ±lmak istediÄŸin virgÃ¼lle ayrÄ±lmÄ±ÅŸ adres bÃ¶lÃ¼mleri listesi\n"
 
-#: src/lang.c:3034
+#: src/lang.c:3096
 msgid "Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr ""
 "Bir filtre girdisinin geÃ§erli olacaÄŸÄ± varsayÄ±lan gÃ¼n sayÄ±sÄ±na gir. <CR> "
 "ayarlar."
 
-#: src/lang.c:3035
+#: src/lang.c:3097
 msgid "No. of days a filter entry is valid"
 msgstr "SÃ¼zgeÃ§ girdisinin geÃ§erli olduÄŸu gÃ¼n sayÄ±sÄ±"
 
-#: src/lang.c:3036
+#: src/lang.c:3098
 msgid "# Number of days a short term filter will be active\n"
 msgstr "# KÄ±sa sÃ¼reli filtrenin aktif olacaÄŸÄ± gÃ¼n sayÄ±sÄ±\n"
 
-#: src/lang.c:3040
+#: src/lang.c:3102
 msgid "Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 "GÃ¶nderilmiÅŸ makaleleri sÃ¼zgece ekle. <SPACE> deÄŸiÅŸtirir & <CR> ayarlar."
 
-#: src/lang.c:3041
+#: src/lang.c:3103
 msgid "Add posted articles to filter"
 msgstr "GÃ¶nderilen makaleleri sÃ¼zgece ekle"
 
-#: src/lang.c:3042
+#: src/lang.c:3104
 msgid ""
 "# If ON add posted articles which start a new thread to filter for\n"
 "# highlighting follow-ups\n"
@@ -8411,26 +8573,26 @@ msgstr ""
 "oluÅŸturan\n"
 "# gÃ¶nderilmiÅŸ makaleleri ekle\n"
 
-#: src/lang.c:3046
+#: src/lang.c:3108
 msgid "The directory where articles/threads are to be saved in mailbox format."
 msgstr ""
 "makalelerin/e-posta zincirlerinin mailbox biÃ§iminde kaydedileceÄŸi dizin"
 
-#: src/lang.c:3047
+#: src/lang.c:3109
 msgid "Mail directory"
 msgstr "Eposta dizini"
 
-#: src/lang.c:3048
+#: src/lang.c:3110
 msgid "# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr ""
 "# (-m) dizin makaleler/zincirlerin mailbox biÃ§iminde kaydetmek istediÄŸiniz "
 "dizin\n"
 
-#: src/lang.c:3053
+#: src/lang.c:3115
 msgid "Save articles in batch mode (-S)"
 msgstr "Makaleleri toplu modda kaydet (-S)"
 
-#: src/lang.c:3054
+#: src/lang.c:3116
 msgid ""
 "# If ON articles/threads will be saved in batch mode when save -S\n"
 "# or mail (-M/-N) is specified on the command line\n"
@@ -8438,19 +8600,19 @@ msgstr ""
 "# EÄŸer AÃ‡IK durumdaysa komut satÄ±rÄ±ndan save -S ya da mail (-M/-N)\n"
 "# belirtilirse makaleler/zincirler toplu kipte kaydedilir\n"
 
-#: src/lang.c:3059
+#: src/lang.c:3121
 msgid "The directory where you want articles/threads saved."
 msgstr "makeleleri/e-pota zincirlerini kaydetmek istediÄŸiniz dizin."
 
-#: src/lang.c:3060
+#: src/lang.c:3122
 msgid "Directory to save arts/threads in"
 msgstr "makaleler/zincirler ÅŸu dizine kaydedilir"
 
-#: src/lang.c:3061
+#: src/lang.c:3123
 msgid "# Directory where articles/threads are saved\n"
 msgstr "# Makalelerin/zincirlerin kaydedildiÄŸi dizin\n"
 
-#: src/lang.c:3065
+#: src/lang.c:3127
 msgid ""
 "Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 "cancels."
@@ -8458,23 +8620,23 @@ msgstr ""
 "Kaydedilen makale/zincirleri okunmuÅŸ olarak iÅŸaretle. <SPACE> deÄŸiÅŸtirir, "
 "<CR> ayarlar, <ESC> iptal eder."
 
-#: src/lang.c:3066
+#: src/lang.c:3128
 msgid "Mark saved articles/threads as read"
 msgstr "KaydedilmiÅŸ makaleleri/eposta zincirlerini okunmuÅŸ olarak iÅŸaretle"
 
-#: src/lang.c:3067
+#: src/lang.c:3129
 msgid "# If ON mark articles that are saved as read\n"
 msgstr "# AÃ‡IK durumdaysa okunmuÅŸ olarak kaydedilmiÅŸ makaleleri iÅŸaretle\n"
 
-#: src/lang.c:3071
+#: src/lang.c:3133
 msgid "Do post processing (e.g. extract attachments) for saved articles."
 msgstr "KaydedilmiÅŸ makaleler iÃ§in sonradan iÅŸleme uygula (Ã¶rn. ek Ã§Ä±kartma)."
 
-#: src/lang.c:3072
+#: src/lang.c:3134
 msgid "Post process saved articles"
 msgstr "KaydedilmiÅŸ makaleleri sonradan iÅŸle"
 
-#: src/lang.c:3073
+#: src/lang.c:3135
 #, fuzzy
 msgid ""
 "# Perform post processing (saving binary attachments) from saved articles.\n"
@@ -8489,11 +8651,11 @@ msgstr ""
 "#   1 = sadece kabuk arÅŸivlerini (shar) Ã§Ä±kart\n"
 "#   2 = evet\n"
 
-#: src/lang.c:3082
+#: src/lang.c:3144
 msgid "Process only unread articles"
 msgstr "Sadece okunmayan makaleleri iÅŸle"
 
-#: src/lang.c:3083
+#: src/lang.c:3145
 msgid ""
 "# If ON only save/print/pipe/mail unread articles (tagged articles "
 "excepted)\n"
@@ -8501,23 +8663,23 @@ msgstr ""
 "# EÄŸer AÃ‡IK durumundaysa okunmamÄ±ÅŸ makaleleri sadece kaydet/yazdÄ±r/yÃ¶nlendir/"
 "postala (etiketlenmiÅŸ makaleler hariÃ§ tutulur)\n"
 
-#: src/lang.c:3088
+#: src/lang.c:3150
 msgid "Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr ""
 "BaÅŸlÄ±ÄŸÄ±n tÃ¼mÃ¼nÃ¼ ya da bir kÄ±smÄ±nÄ± yazdÄ±r. <SPACE> deÄŸiÅŸtirir & <CR> ayarlar."
 
-#: src/lang.c:3089
+#: src/lang.c:3151
 msgid "Print all headers when printing"
 msgstr "YazdÄ±rÄ±rken bÃ¼tÃ¼n Ã¼st bilgileri yazdÄ±r"
 
-#: src/lang.c:3090
+#: src/lang.c:3152
 msgid ""
 "# If ON print all of article header otherwise just the important lines\n"
 msgstr ""
 "# EÄŸer AÃ‡IK durumundaysa makale baÅŸlÄ±ÄŸÄ±nÄ±n tÃ¼mÃ¼nÃ¼ deÄŸilse sadece Ã¶nemli "
 "olanlarÄ± yazdÄ±r\n"
 
-#: src/lang.c:3094
+#: src/lang.c:3156
 msgid ""
 "The printer program with options that is to be used to print articles/"
 "threads."
@@ -8525,38 +8687,38 @@ msgstr ""
 "Makaleleri/zincirleri yazdÄ±rmak iÃ§in kullanÄ±lacak seÃ§enekleriyle yazÄ±cÄ± "
 "programÄ±"
 
-#: src/lang.c:3095
+#: src/lang.c:3157
 msgid "Printer program with options"
 msgstr "SeÃ§enekleriyle yazÄ±cÄ± programÄ±"
 
-#: src/lang.c:3096
+#: src/lang.c:3158
 msgid "# Print program with parameters used to print articles/threads\n"
 msgstr ""
 "# ProgramÄ± makaleleri/zincirleri yazdÄ±rmak iÃ§in kullanÄ±lan parametreleri "
 "kullanarak yazdÄ±r\n"
 
-#: src/lang.c:3102
+#: src/lang.c:3164
 msgid "Force redraw after certain commands"
 msgstr "Belli komutlardan sonra ekrandaki Ã§izimin yenilenmesini zorla"
 
-#: src/lang.c:3103
+#: src/lang.c:3165
 msgid ""
 "# If ON a screen redraw will always be done after certain external commands\n"
 msgstr ""
 "# EÄŸer AÃ‡IK durumdaysa ekrandaki Ã§izimin yenilenmesi bazÄ± dÄ±ÅŸ komutlardan "
 "sonra tamamlanacak\n"
 
-#: src/lang.c:3107
+#: src/lang.c:3169
 msgid "Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr ""
 "DÃ¼zenleyici iÃ§in %E, dosya adÄ± iÃ§in %F, satÄ±r numarasÄ± iÃ§in %N, ayarlama "
 "iÃ§in <CR>."
 
-#: src/lang.c:3108
+#: src/lang.c:3170
 msgid "Invocation of your editor"
 msgstr "DÃ¼zenleyicinizin baÅŸlatÄ±lmasÄ±"
 
-#: src/lang.c:3109
+#: src/lang.c:3171
 msgid ""
 "# Format of editor line including parameters\n"
 "# %E Editor  %F Filename  %N Linenumber\n"
@@ -8564,17 +8726,17 @@ msgstr ""
 "# Parametrelerde dÃ¼zenleyici satÄ±rÄ± biÃ§imi\n"
 "# %E DÃ¼zenleyici  %F Dosya adÄ±  %N SatÄ±r numarasÄ±\n"
 
-#: src/lang.c:3114
+#: src/lang.c:3176
 msgid ""
 "Enter name and options for external-inews, --internal for internal inews"
 msgstr ""
 "Harici inews programÄ± iÃ§in isim ve seÃ§enekler, dahili inews iÃ§in --internal"
 
-#: src/lang.c:3115
+#: src/lang.c:3177
 msgid "External inews"
 msgstr "Harici inews"
 
-#: src/lang.c:3116
+#: src/lang.c:3178
 msgid ""
 "# If --internal use the built in mini inews for posting via NNTP\n"
 "# otherwise use an external inews program\n"
@@ -8582,34 +8744,33 @@ msgstr ""
 "# EÄŸer --internal ise NNTP Ã¼zerinden gÃ¶ndermek iÃ§in dahili mini inews\n"
 "# kullan, aksi takdirde harici inews programÄ± kullan\n"
 
-#: src/lang.c:3120
+#: src/lang.c:3182
 msgid ""
 "Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr ""
 "Posta gÃ¶nderici iÃ§in %M, konu iÃ§in %S, gÃ¶nderilen iÃ§in %T, dosya adÄ± iÃ§in "
 "%F, ayarlamak iÃ§in <CR>."
 
-#: src/lang.c:3121
+#: src/lang.c:3183
 msgid "Invocation of your mail command"
 msgstr "E-posta komutunuzun baÅŸlatÄ±lmasÄ±"
 
-#: src/lang.c:3122
+#: src/lang.c:3184
+#, fuzzy
 msgid ""
 "# Format of mailer line including parameters\n"
-"# %M Mailer  %S Subject  %T To  %F Filename\n"
-"# e.g. to use mutt as your mailer:    mutt -s \"%S\" -- \"%T\" < %F\n"
-"# e.g. mutt interactive          :    mutt -H %F\n"
+"# %M Mailer  %S Subject  %T To  %F Filename  %U Username\n"
+"# e.g. mutt interactive:  mutt -H %F\n"
 msgstr ""
 "# GÃ¶nderen satÄ±rÄ±nÄ±n parametrelerle birlikte biÃ§imi\n"
 "# %M EpostacÄ±  %S BaÅŸlÄ±k  %T Kime  %F Dosya adÄ±\n"
-"# Ã¶rn. epostacÄ± olarak mutt :    mutt -s \"%S\" \"%T\" < %F\n"
 "# Ã¶rn. mutt interaktif      :    mutt -H %F\n"
 
-#: src/lang.c:3130
+#: src/lang.c:3191
 msgid "Use interactive mail reader"
 msgstr "EtkileÅŸimli posta okuyucusu kullan"
 
-#: src/lang.c:3131
+#: src/lang.c:3192
 msgid ""
 "# Interactive mailreader\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8625,36 +8786,36 @@ msgstr ""
 "#   2 = etkileÅŸimli eposta okuyucusunu dosyada baÅŸlÄ±klar olmayacak ÅŸekilde "
 "kullan\n"
 
-#: src/lang.c:3140
+#: src/lang.c:3201
 msgid "Remove ~/.article after posting"
 msgstr "GÃ¶nderim sonrasÄ± ~/.article dosyasÄ±nÄ± sil"
 
-#: src/lang.c:3141
+#: src/lang.c:3202
 msgid "# If ON remove ~/.article after posting.\n"
 msgstr "# AÃ‡IK durumundaysa gÃ¶nderim sonrasÄ± ~/.article dosyasÄ±nÄ± sil.\n"
 
-#: src/lang.c:3147
+#: src/lang.c:3208
 msgid "Use UTF-8 graphics (thread tree etc.)"
 msgstr "UTF-8 grafik kullan (zincir aÄŸacÄ± vb.)"
 
-#: src/lang.c:3148
+#: src/lang.c:3209
 msgid ""
 "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n"
 msgstr ""
 "# EÄŸer AÃ‡IK ise belirtgeÃ§ '->', aÄŸaÃ§ ve elips '...' iÃ§in UTF-8 karakterler "
 "kullan.\n"
 
-#: src/lang.c:3153
+#: src/lang.c:3214
 msgid "Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr ""
 "TÃ¼m gÃ¶nderilen makaleler iÃ§in dosya adÄ±, <CR> ayarlar, dosya adÄ± "
 "yok=kaydetme."
 
-#: src/lang.c:3154
+#: src/lang.c:3215
 msgid "Filename for posted articles"
 msgstr "GÃ¶nderilen makaleler iÃ§in dosya adÄ±"
 
-#: src/lang.c:3155
+#: src/lang.c:3216
 msgid ""
 "# Filename where to keep all postings (default posted)\n"
 "# If no filename is set then postings will not be saved\n"
@@ -8662,39 +8823,39 @@ msgstr ""
 "# TÃ¼m gÃ¶nderilerin tutulacaÄŸÄ± dosya adÄ± (gÃ¶nderilmiÅŸ varsayÄ±lan)\n"
 "# Dosya adÄ± ayarlanmazsa hiÃ§bir gÃ¶nderi kaydedilmeyecek\n"
 
-#: src/lang.c:3160
+#: src/lang.c:3221
 msgid ""
 "Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 "TÃ¼m baÅŸarÄ±sÄ±z makaleleri ~/dead.articles altÄ±nda tut. <SPACE> deÄŸiÅŸtirir & "
 "<CR> ayarlar."
 
-#: src/lang.c:3161
+#: src/lang.c:3222
 msgid "Keep failed arts in ~/dead.articles"
 msgstr "BaÅŸarÄ±sÄ±z makaleleri ~/dead.articles altÄ±nda tut"
 
-#: src/lang.c:3162
+#: src/lang.c:3223
 msgid "# If ON keep all failed postings in ~/dead.articles\n"
 msgstr ""
 "# EÄŸer AÃ‡IK ise tÃ¼m baÅŸarÄ±sÄ±z gÃ¶nderileri ~/dead.articles iÃ§inde sakla\n"
 
-#: src/lang.c:3166
+#: src/lang.c:3227
 msgid "Do you want to strip unsubscribed groups from .newsrc"
 msgstr "Abone olmayan gruplarÄ± Ã§Ä±kart .newsrc dosyasÄ±ndan Ã§Ä±kart"
 
-#: src/lang.c:3167
+#: src/lang.c:3228
 msgid "No unsubscribed groups in newsrc"
 msgstr "newsrc dosyasÄ±nda abone olunmayan grup yok"
 
-#: src/lang.c:3168
+#: src/lang.c:3229
 msgid "# If ON strip unsubscribed groups from newsrc\n"
 msgstr "# EÄŸer AÃ‡IK ise newsrc'den abonelikten Ã§Ä±kÄ±lmÄ±ÅŸ gruplarÄ± Ã§Ä±kart\n"
 
-#: src/lang.c:3173
+#: src/lang.c:3234
 msgid "Remove bogus groups from newsrc"
 msgstr "sahte gruplarÄ±nÄ± newsrc'den Ã§Ä±kart"
 
-#: src/lang.c:3174
+#: src/lang.c:3235
 msgid ""
 "# What to do with bogus groups in newsrc file\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8708,76 +8869,95 @@ msgstr ""
 "#   1 = kaldÄ±r\n"
 "#   2 = seÃ§im ekranÄ±nda D ile vurgula\n"
 
-#: src/lang.c:3183
+#: src/lang.c:3244
 msgid ""
 "Enter number of seconds to wait for a response from the server. <CR> sets."
 msgstr ""
 "Sunucudan cevap gelene kadar beklenecek saniye miktarÄ±nÄ± girin. <CR> ayarlar."
 
-#: src/lang.c:3184
+#: src/lang.c:3245
 msgid "NNTP read timeout in seconds"
 msgstr "NNTP saniye cinsinden okuma zaman aÅŸÄ±mÄ±"
 
-#: src/lang.c:3185
+#: src/lang.c:3246
 msgid ""
 "# Time in seconds to wait for a response from the server (0=no timeout)\n"
 msgstr ""
 "# Sunucudan cevap gelmesi iÃ§in saniye cinsinden beklenen sÃ¼re (0=zaman aÅŸÄ±mÄ± "
 "yok)\n"
 
-#: src/lang.c:3190
+#: src/lang.c:3251
 msgid "Enter number of seconds until active file will be reread. <CR> sets."
 msgstr ""
 "Aktif dosya tekrar okunana kadar beklenecek saniye miktarÄ±nÄ± girin. <CR> "
 "ayarlar."
 
-#: src/lang.c:3191
+#: src/lang.c:3252
 msgid "Interval in secs to reread active"
 msgstr "Etkin olanÄ± yeniden okmak iÃ§in saniye cinsinden zaman aralÄ±ÄŸÄ±"
 
-#: src/lang.c:3192
+#: src/lang.c:3253
 msgid ""
 "# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr ""
 "# Aktif dosyalar tekrar okunurken saniye cinsinden zaman aralÄ±ÄŸÄ± (0=asla)\n"
 
-#: src/lang.c:3197
+#: src/lang.c:3258
 msgid "Reconnect to server automatically"
 msgstr "Sunucuya otomatik olarak baÄŸlan"
 
-#: src/lang.c:3198
+#: src/lang.c:3259
 msgid ""
 "# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr ""
 "# AÃ‡IK konumunda ise baÄŸlantÄ± kesilirse NNTP sunucusuna otomatik olarak "
 "tekrar baÄŸlan\n"
 
-#: src/lang.c:3202
+#: src/lang.c:3263
 msgid ""
 "Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr ""
 "NNTP Ã¶nizleme dosyalarÄ±nÄ±n yerel kopyalarÄ±nÄ± yarat. <SPACE> deÄŸiÅŸtirir & "
 "<CR> ayarlar."
 
-#: src/lang.c:3203
+#: src/lang.c:3264
 msgid "Cache NNTP overview files locally"
 msgstr "NNTP Ã¶nizleme dosyalarÄ±nÄ± yerel olarak Ã¶nbellekle"
 
-#: src/lang.c:3204
+#: src/lang.c:3265
 msgid "# If ON, create local copies of NNTP overview files.\n"
 msgstr ""
 "# AÃ‡IK durumundaysa, NNTP Ã¶nizleme dosyalarÄ±nÄ±n yerel kopyalarÄ±nÄ± yarat.\n"
 
-#: src/lang.c:3208 src/lang.c:3223 src/lang.c:3243 src/lang.c:3266
-#: src/lang.c:3291 src/lang.c:3313 src/lang.c:3332
+#: src/lang.c:3270
+#, fuzzy
+msgid ""
+"Compress local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
+msgstr ""
+"NNTP Ã¶nizleme dosyalarÄ±nÄ±n yerel kopyalarÄ±nÄ± yarat. <SPACE> deÄŸiÅŸtirir & "
+"<CR> ayarlar."
+
+#: src/lang.c:3271
+#, fuzzy
+msgid "Compress locally cached NNTP overview files"
+msgstr "NNTP Ã¶nizleme dosyalarÄ±nÄ± yerel olarak Ã¶nbellekle"
+
+#: src/lang.c:3272
+#, fuzzy
+msgid "# If ON, compress local copies of NNTP overview files.\n"
+msgstr ""
+"# AÃ‡IK durumundaysa, NNTP Ã¶nizleme dosyalarÄ±nÄ±n yerel kopyalarÄ±nÄ± yarat.\n"
+
+#: src/lang.c:3277 src/lang.c:3292 src/lang.c:3312 src/lang.c:3335
+#: src/lang.c:3360 src/lang.c:3382 src/lang.c:3401
 msgid "Enter format string. <CR> sets, <ESC> cancels."
 msgstr "BiÃ§imleme dizgesini girin. <CR> ayarlar, <ESC> iptal eder."
 
-#: src/lang.c:3209
+#: src/lang.c:3278
 msgid "Format string for selection level"
 msgstr "SeÃ§im seviyesinde formatlama dizgesi"
 
-#: src/lang.c:3210
+#: src/lang.c:3279
 msgid ""
 "# Format string for selection level representation\n"
 "# Default: %f %n %U  %G  %d\n"
@@ -8802,11 +8982,11 @@ msgstr ""
 "#   %n              SayÄ±, ekrandaki satÄ±r sayÄ±sÄ±\n"
 "#   %U              OkunmamÄ±ÅŸ say\n"
 
-#: src/lang.c:3224
+#: src/lang.c:3293
 msgid "Format string for group level"
 msgstr "Grup seviyesinde biÃ§imleme dizgesi"
 
-#: src/lang.c:3225
+#: src/lang.c:3294
 msgid ""
 "# Format string for group level representation\n"
 "# Default: %n %m %R %L  %s  %F\n"
@@ -8841,12 +9021,12 @@ msgstr ""
 "#   %s             BaÅŸlÄ±k (sadece grup seviyesinde)\n"
 "#   %S             Skor\n"
 
-#: src/lang.c:3244
+#: src/lang.c:3313
 #, fuzzy
 msgid "Format string for attachment level"
 msgstr "E-posta zinciri iÃ§in dizge biÃ§imi"
 
-#: src/lang.c:3245
+#: src/lang.c:3314
 #, fuzzy
 msgid ""
 "# Format string for attachment level representation\n"
@@ -8885,12 +9065,12 @@ msgstr ""
 "#   %s             BaÅŸlÄ±k (sadece grup seviyesinde)\n"
 "#   %S             Skor\n"
 
-#: src/lang.c:3267
+#: src/lang.c:3336
 #, fuzzy
 msgid "Format string for display of mime header"
 msgstr "Tarihlerin gÃ¶sterilmesi iÃ§in dizge biÃ§imi"
 
-#: src/lang.c:3268
+#: src/lang.c:3337
 #, fuzzy
 msgid ""
 "# Format string for mime header at article level\n"
@@ -8931,12 +9111,12 @@ msgstr ""
 "#   %s             BaÅŸlÄ±k (sadece grup seviyesinde)\n"
 "#   %S             Skor\n"
 
-#: src/lang.c:3292
+#: src/lang.c:3361
 #, fuzzy
 msgid "Format string for display of uue header"
 msgstr "Tarihlerin gÃ¶sterilmesi iÃ§in dizge biÃ§imi"
 
-#: src/lang.c:3293
+#: src/lang.c:3362
 #, fuzzy
 msgid ""
 "# Format string for uue header at article level\n"
@@ -8974,11 +9154,11 @@ msgstr ""
 "#   %s             BaÅŸlÄ±k (sadece grup seviyesinde)\n"
 "#   %S             Skor\n"
 
-#: src/lang.c:3314
+#: src/lang.c:3383
 msgid "Format string for thread level"
 msgstr "E-posta zinciri iÃ§in dizge biÃ§imi"
 
-#: src/lang.c:3315
+#: src/lang.c:3384
 msgid ""
 "# Format string for thread level representation\n"
 "# Default: %n %m  [%L]  %T  %F\n"
@@ -9011,19 +9191,19 @@ msgstr ""
 "#   %S             Skor\n"
 "#   %T             Zincir aÄŸacÄ±(sadece zincir seviyesinde)\n"
 
-#: src/lang.c:3333
+#: src/lang.c:3402
 msgid "Format string for display of dates"
 msgstr "Tarihlerin gÃ¶sterilmesi iÃ§in dizge biÃ§imi"
 
-#: src/lang.c:3334
+#: src/lang.c:3403
 msgid "# Format string for date representation\n"
 msgstr "# Tarih gÃ¶sterimi iÃ§in dizge biÃ§imi\n"
 
-#: src/lang.c:3344
+#: src/lang.c:3413
 msgid "Unicode normalization form"
 msgstr "Unicode normalleÅŸtirme biÃ§imi"
 
-#: src/lang.c:3345
+#: src/lang.c:3414
 #, fuzzy
 msgid ""
 "# Unicode normalization form\n"
@@ -9044,19 +9224,19 @@ msgstr ""
 "#   4 = NFD\n"
 "#   5 = NFKC_CF\n"
 
-#: src/lang.c:3359
+#: src/lang.c:3428
 msgid "Render BiDi"
 msgstr "BiDi gerÃ§ekle"
 
-#: src/lang.c:3360
+#: src/lang.c:3429
 msgid "# If ON, bi-directional text is rendered by tin\n"
 msgstr "# EÄŸer AÃ‡IK ise Ã§ift yÃ¶nlÃ¼ metinler tin tarafÄ±ndan gerÃ§eklenir\n"
 
-#: src/lang.c:3367
+#: src/lang.c:3436
 msgid "Function for sorting articles"
 msgstr "Makaleleri sÄ±ralamak iÃ§in fonksiyon"
 
-#: src/lang.c:3368
+#: src/lang.c:3437
 msgid ""
 "# Function for sorting articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -9068,194 +9248,206 @@ msgstr ""
 "# * 0 = qsort\n"
 "#   1 = heapsort\n"
 
-#: src/lang.c:3381
+#: src/lang.c:3450
 msgid "Automatically GroupMarkUnselArtRead"
 msgstr "Otomatik olarak GroupMarkUnselArtRead"
 
-#: src/lang.c:3387
+#: src/lang.c:3456
 msgid "Delete post-process files"
 msgstr "sonradan-iÅŸlenmiÅŸ dosyalarÄ± sil"
 
-#: src/lang.c:3392
+#: src/lang.c:3461
 msgid "Filename for all mailed articles, <CR> sets, no filename=do not save."
 msgstr ""
 "TÃ¼m gÃ¶nderilen makaleler iÃ§in dosya adÄ±, <CR> ayarlar, dosya adÄ± "
 "yok=kaydetme."
 
-#: src/lang.c:3393
+#: src/lang.c:3462
 msgid "Mailbox to save sent mails"
 msgstr "GÃ¶nderilmiÅŸ postalarÄ± kaydetmek iÃ§in posta kutusu"
 
-#: src/lang.c:3398
+#: src/lang.c:3467
 msgid "Set Followup-To: header to this group(s). <CR> sets, <ESC> cancels."
 msgstr ""
 "Takip-Et: baÅŸlÄ±ÄŸÄ±nÄ± bu grup(lar) iÃ§in ayarla. <CR> ayarlar, <ESC> iptal eder."
 
-#: src/lang.c:3399
+#: src/lang.c:3468
 msgid "Followup-To: header"
 msgstr "Takip-Et: baÅŸlÄ±ÄŸÄ±"
 
-#: src/lang.c:3404
+#: src/lang.c:3473
 msgid "Enter default mail address (and fullname). <CR> sets, <ESC> cancels."
 msgstr ""
 "VarsayÄ±lan e-posta adresi (ve tÃ¼m ismi) girin. <CR> ayarlar, <ESC> iptal "
 "eder."
 
-#: src/lang.c:3411
+#: src/lang.c:3480
 msgid ""
 "Path and options for ispell-like spell-checker. <CR> sets, <ESC> cancels."
 msgstr ""
 "ispell gibi imla kontrol araÃ§larÄ± iÃ§in yol ve seÃ§enekler. <CR> ayarlar, "
 "<ESC> iptal eder."
 
-#: src/lang.c:3412
+#: src/lang.c:3481
 msgid "Ispell program"
 msgstr "Ispell programÄ±"
 
-#: src/lang.c:3418
+#: src/lang.c:3487
 msgid "When group is a mailing list, send responses to this email address."
 msgstr "Grup bir posta listesi ise, yanÄ±tlarÄ± bu e-posta adresine yolla."
 
-#: src/lang.c:3419
+#: src/lang.c:3488
 msgid "Mailing list address"
 msgstr "Eposta listesi adresi"
 
-#: src/lang.c:3425
+#: src/lang.c:3494
 msgid "Forward articles as attachment"
 msgstr "Makaleleri ek olarak ilet"
 
-#: src/lang.c:3430
+#: src/lang.c:3499
 msgid ""
 "A comma separated list of MIME major/minor Content-Types. <ESC> cancels."
 msgstr ""
 "VirgÃ¼lle ayrÄ±lmÄ±ÅŸ MIME bÃ¼yÃ¼k/kÃ¼Ã§Ã¼k Content-Type listesi. <ESC> iptal eder."
 
-#: src/lang.c:3431
+#: src/lang.c:3500
 msgid "Which MIME types will be saved"
 msgstr "Hangi MIME tÃ¼rleri kaydedilecek"
 
-#: src/lang.c:3436
+#: src/lang.c:3505
 msgid "Value of the Organization: header. <CR> sets, <ESC> cancels."
 msgstr "Organizasyon: baÅŸlÄ±ÄŸÄ± iÃ§in deÄŸer. <CR> ayarlar, <ESC> iptal eder."
 
-#: src/lang.c:3437
+#: src/lang.c:3506
 msgid "Organization: header"
 msgstr "Kurum: Ã¼st bilgi"
 
-#: src/lang.c:3442
+#: src/lang.c:3511
 msgid "Filename for saved articles. <CR> sets, <ESC> cancels."
 msgstr "KaydedilmiÅŸ makaleler iÃ§in dosya adÄ±. <CR> ayarlar, <ESC> iptal eder."
 
-#: src/lang.c:3443
+#: src/lang.c:3512
 msgid "savefile"
 msgstr "kayÄ±tdosyasÄ±"
 
-#: src/lang.c:3448 src/lang.c:3472
+#: src/lang.c:3517 src/lang.c:3541
 msgid "Scope for the filter rule. <CR> sets, <ESC> cancels."
 msgstr "Filtre kuralÄ±nÄ±n kapsamÄ±. <CR> ayarlar, <ESC> iptal eder."
 
-#: src/lang.c:3449
+#: src/lang.c:3518
 msgid "Quick (1 key) select filter scope"
 msgstr "HÄ±zlÄ± (1 tuÅŸ) filtre alanÄ± seÃ§"
 
-#: src/lang.c:3454 src/lang.c:3478
+#: src/lang.c:3523 src/lang.c:3547
 msgid "Header for filter rule. <CR> sets, <ESC> cancels."
 msgstr "Filtre kuralÄ±nÄ±n Ã¼st bilgisi. <CR> ayarlar, <ESC> iptal eder."
 
-#: src/lang.c:3455
+#: src/lang.c:3524
 msgid "Quick (1 key) select filter header"
 msgstr "Filtre Ã¼st bilgisi hÄ±zlÄ± seÃ§imi (1 tuÅŸ)"
 
-#: src/lang.c:3460 src/lang.c:3484
+#: src/lang.c:3529 src/lang.c:3553
 msgid "ON = case sensitive, OFF = ignore case. <CR> sets, <ESC> cancels."
 msgstr ""
 "AÃ‡IK = bÃ¼yÃ¼k kÃ¼Ã§Ã¼k harf duyarlÄ±, KAPALI = bÃ¼yÃ¼k kÃ¼Ã§Ã¼k harf duyarsÄ±z. <CR> "
 "ayarlar, <ESC> iptal eder."
 
-#: src/lang.c:3461
+#: src/lang.c:3530
 msgid "Quick (1 key) select filter case"
 msgstr "HÄ±zlÄ± filtre durumu seÃ§me (1 tuÅŸ)"
 
-#: src/lang.c:3466 src/lang.c:3490
+#: src/lang.c:3535 src/lang.c:3559
 msgid "ON = expire, OFF = don't ever expire. <CR> sets, <ESC> cancels."
 msgstr ""
 "AÃ‡IK = sÃ¼resini doldur, KAPALI = hiÃ§bir zaman sÃ¼resini doldurma. <CR> "
 "ayarlar, <ESC> iptal eder."
 
-#: src/lang.c:3467
+#: src/lang.c:3536
 msgid "Quick (1 key) select filter expire"
 msgstr "HÄ±zlÄ± (1 tuÅŸ) filtre bitiÅŸ seÃ§me"
 
-#: src/lang.c:3473
+#: src/lang.c:3542
 msgid "Quick (1 key) kill filter scope"
 msgstr "HÄ±zlÄ± (1 tuÅŸ) filtre alanÄ± Ã¶ldÃ¼r"
 
-#: src/lang.c:3479
+#: src/lang.c:3548
 msgid "Quick (1 key) kill filter header"
 msgstr "HÄ±zlÄ± (1 tuÅŸ) filtre baÅŸlÄ±ÄŸÄ± yok etme"
 
-#: src/lang.c:3485
+#: src/lang.c:3554
 msgid "Quick (1 key) kill filter case"
 msgstr "HÄ±zlÄ± (1 tuÅŸ) filtre durumu Ã¶ldÃ¼r"
 
-#: src/lang.c:3491
+#: src/lang.c:3560
 msgid "Quick (1 key) kill filter expire"
 msgstr "HÄ±zlÄ± (1 tuÅŸ) filtre bitiÅŸi Ã¶ldÃ¼rme"
 
-#: src/lang.c:3497
+#: src/lang.c:3566
 msgid "Assume this charset if no charset declaration is present, <CR> to set."
 msgstr ""
 "EÄŸer hiÃ§bir karakter kÃ¼mesi tanÄ±mlamamÄ±ÅŸsa bu karakter kÃ¼mesini varsay, "
 "ayarlamak iÃ§in <CR>."
 
-#: src/lang.c:3498
+#: src/lang.c:3567
 msgid "UNDECLARED_CHARSET"
 msgstr "UNDECLARED_CHARSET"
 
-#: src/lang.c:3504
+#: src/lang.c:3572
+#, fuzzy
+msgid "Guess charset if no charset declaration is present, <CR> to set."
+msgstr ""
+"EÄŸer hiÃ§bir karakter kÃ¼mesi tanÄ±mlamamÄ±ÅŸsa bu karakter kÃ¼mesini varsay, "
+"ayarlamak iÃ§in <CR>."
+
+#: src/lang.c:3573
+#, fuzzy
+msgid "UNDECLARED_CS_GUESS"
+msgstr "UNDECLARED_CS_GUESS"
+
+#: src/lang.c:3580
 msgid ""
 "Add this text at the start of the message body. <CR> sets, <ESC> cancels."
 msgstr "Bu metni ileti gÃ¶vdesinin baÅŸÄ±na ekle. <CR> ayarlar, <ESC> iptal eder."
 
-#: src/lang.c:3505
+#: src/lang.c:3581
 msgid "X_Body"
 msgstr "X_Body"
 
-#: src/lang.c:3510
+#: src/lang.c:3586
 msgid "Insert this header when posting. <CR> sets, <ESC> cancels."
 msgstr "Bu Ã¼st bilgiyi gÃ¶nderirken ekle. <CR> ayarlar, <ESC> iptal eder."
 
-#: src/lang.c:3511
+#: src/lang.c:3587
 msgid "X_Headers"
 msgstr "X_Headers"
 
-#: src/lang.c:3516
+#: src/lang.c:3592
 msgid ""
 "Automatically insert an X-Comment-To: header? <SPACE> toggles & <CR> sets."
 msgstr ""
 "X-Comment-To: baÅŸlÄ±ÄŸÄ±nÄ± otomatik ekle? <SPACE> deÄŸiÅŸtirir & <CR> ayarlar."
 
-#: src/lang.c:3517
+#: src/lang.c:3593
 msgid "Insert 'X-Comment-To:' header"
 msgstr "'X-Comment-To:' Ã¼st bilgisi ekle"
 
-#: src/lang.c:3523
+#: src/lang.c:3599
 #, fuzzy
 msgid "Enter name of file containing trusted CA certificates. <CR> sets."
 msgstr "Makalenin yeni sayÄ±lacaÄŸÄ± gÃ¼n sayÄ±sÄ±nÄ± yazÄ±n. <CR> ayarlar."
 
-#: src/lang.c:3524
+#: src/lang.c:3600
 #, fuzzy
 msgid "CA certificate file"
 msgstr "sÃ¼zgeÃ§ dosyasÄ±nÄ± dÃ¼zenle"
 
-#: src/lang.c:3525
+#: src/lang.c:3601
 msgid ""
 "# name of file containing all trusted CA certificates (empty = system "
 "default)\n"
 msgstr ""
 
-#: src/nntplib.c:908
+#: src/nntplib.c:963
 #, c-format
 msgid ""
 "\n"
@@ -9264,33 +9456,63 @@ msgstr ""
 "\n"
 "Sunucu zaman aÅŸÄ±mÄ±na uÄŸradÄ±, tekrar baÄŸlanmaya Ã§alÄ±ÅŸÄ±yor # %d\n"
 
-#: src/nntplib.c:950 src/nntplib.c:2032
+#: src/nntplib.c:1006 src/nntplib.c:2115
 msgid "Rejoin current group\n"
 msgstr "Åžu anki gruba tekrar katÄ±l\n"
 
-#: src/nntplib.c:959 src/nntplib.c:2041
+#: src/nntplib.c:1015 src/nntplib.c:2124
 #, c-format
 msgid "Read (%s)\n"
 msgstr "Oku (%s)\n"
 
-#: src/nntplib.c:961
+#: src/nntplib.c:1017
 #, c-format
 msgid "Resend last command (%s)\n"
 msgstr "Son komutu tekrar yolla (%s)\n"
 
-#: src/read.c:363
+#: src/read.c:358
 msgid "Aborted read\n"
 msgstr "Okuma durduruldu\n"
 
-#: src/read.c:418
+#: src/read.c:413
 msgid "Draining\n"
 msgstr "SÃ¼zdÃ¼rÃ¼lÃ¼yor\n"
 
-#: src/refs.c:656
+#: src/refs.c:654
 msgid "[- Unavailable -]"
 msgstr "[- KullanÄ±lamÄ±yor -]"
 
-#, fuzzy, c-format
+#~ msgid "Invalid  From: %s  line. Read the INSTALL file again."
+#~ msgstr "GeÃ§ersiz  GÃ¶nderen: %s  satÄ±rÄ±. INSTALL dosyasÄ±nÄ± yeniden okuyun."
+
+#~ msgid "bytes"
+#~ msgstr "bayt"
+
+#~ msgid "\tChecksum of %s (%ld %s)"
+#~ msgstr "\tSaÄŸlama toplamÄ± %s (%ld %s)"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in Approved: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Hata: Onaylananda bozuk adres: baÅŸlÄ±k.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in From: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Hata: GÃ¶nderende bozuk adres: baÅŸlÄ±k.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in Reply-To: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Hata: YanÄ±tlanacak Adreste bozuk adres: baÅŸlÄ±k\n"
+
+#, fuzzy
 #~ msgid ""
 #~ "\n"
 #~ "Error: Header on line %d starts with a dot '.':\n"
@@ -9300,15 +9522,12 @@ msgstr "[- KullanÄ±lamÄ±yor -]"
 #~ "Hata: %d satÄ±rÄ±ndaki Ã¼st bilgide iki noktadan sonra sonra boÅŸluk yok:\n"
 #~ "%s\n"
 
-#, c-format
 #~ msgid "Version: %s %s release %s (\"%s\") %s %s\n"
 #~ msgstr "SÃ¼rÃ¼m: %s yayÄ±m %s %s (\"%s\") %s %s\n"
 
-#, c-format
 #~ msgid "%d lines"
 #~ msgstr "%d satÄ±r"
 
-#, c-format
 #~ msgid ""
 #~ "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n"
 #~ "\n"
@@ -9316,7 +9535,7 @@ msgstr "[- KullanÄ±lamÄ±yor -]"
 #~ "%*s[-- %s/%s, %s uuencoded dosya, %d satÄ±r, ad: %s --]\n"
 #~ "\n"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "%*s[-- %s/%s%s%s%s%s, %d lines, encoding %s --]\n"
 #~ msgstr "%*s[-- %s/%s, kodlanÄ±yor %s%s%s, %d satÄ±r%s%s --]\n"
 
Binary files tin-2.6.3/po/zh_CN.gmo and tin-2.6.4/po/zh_CN.gmo differ
diff -Nurp '--exclude=.bzr*' tin-2.6.3/po/zh_CN.po tin-2.6.4/po/zh_CN.po
--- tin-2.6.3/po/zh_CN.po	2023-12-24 00:38:37.000000000 +0100
+++ tin-2.6.4/po/zh_CN.po	2024-12-21 15:42:04.180766961 +0100
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tin 2.3.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-12-13 22:25+0100\n"
+"POT-Creation-Date: 2024-12-21 15:42+0100\n"
 "PO-Revision-Date: 2015-08-28 12:21+0800\n"
 "Last-Translator: Mingye Wang <arthur200126@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -20,11 +20,11 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Poedit 1.8.4\n"
 
-#: src/lang.c:45
+#: src/lang.c:48
 msgid "1 Response"
 msgstr "1 ç¯‡å›žåº”"
 
-#: src/lang.c:49
+#: src/lang.c:50
 #, c-format
 msgid ""
 "\n"
@@ -33,36 +33,36 @@ msgstr ""
 "\n"
 "%s ä¸å«ä»»ä½•æ–°é—»ç¾¤ç»„ã€‚ç¦»å¼€ã€‚"
 
-#: src/lang.c:51
+#: src/lang.c:52
 msgid "Aborting read, please wait..."
 msgstr "æ”¾å¼ƒè¯»å–ï¼Œè¯·ç¨å¾…â€¦"
 
-#: src/lang.c:53
+#: src/lang.c:54
 msgid "all"
 msgstr "æ‰€æœ‰"
 
-#: src/lang.c:54
+#: src/lang.c:55
 msgid "All groups"
 msgstr "æ‰€æœ‰ç¾¤ç»„"
 
-#: src/lang.c:55
+#: src/lang.c:56
 #, c-format
 msgid "File %s exists. %s=append, %s=overwrite, %s=quit: "
 msgstr "æ–‡ä»¶ %s å·²å­˜åœ¨ã€‚%s=é™„åŠ ï¼Œ%s=è¦†å†™ï¼Œ%s=ç¦»å¼€ï¼š"
 
-#: src/lang.c:56
+#: src/lang.c:57
 msgid "Article cancelled (deleted)."
 msgstr "å·²å–æ¶ˆæ–‡ç«  (è¢«åˆ é™¤)ã€‚"
 
-#: src/lang.c:58
+#: src/lang.c:59
 msgid "Article cannot be cancelled (deleted)."
 msgstr "æ— æ³•å–æ¶ˆæ–‡ç«  (è¢«åˆ é™¤)ã€‚"
 
-#: src/lang.c:60
+#: src/lang.c:61
 msgid "Article deleted."
 msgstr "å·²åˆ é™¤æ–‡ç« ã€‚"
 
-#: src/lang.c:61
+#: src/lang.c:62
 #, c-format
 msgid ""
 "\n"
@@ -77,7 +77,7 @@ msgstr ""
 "å°†è¢«å¼ è´´åˆ°ä¸‹åˆ—åœ°å€ï¼š\n"
 "  %s"
 
-#: src/lang.c:62
+#: src/lang.c:63
 #, c-format
 msgid ""
 "\n"
@@ -90,140 +90,145 @@ msgstr ""
 "  â€œ%sâ€\n"
 "å°†è¢«å¼ è´´åˆ°ä¸‹åˆ— %sï¼š\n"
 
-#: src/lang.c:63
+#: src/lang.c:64
 msgid "Article not posted!"
 msgstr "æ— æ³•å¼ è´´æ–‡ç« ï¼"
 
-#: src/lang.c:64
+#: src/lang.c:65
 msgid "Article not saved"
 msgstr "æ— æ³•ä¿å­˜æ–‡ç« "
 
-#: src/lang.c:65
+#: src/lang.c:66
 msgid "Article Level Commands"
 msgstr "æ–‡ç« å±‚çº§æŒ‡ä»¤"
 
-#: src/lang.c:66
+#: src/lang.c:67
 msgid "Article has no parent"
 msgstr "æ–‡ç« æ²¡æœ‰ä»»ä½•ä¸Šå±‚"
 
-#: src/lang.c:67
+#: src/lang.c:68
 msgid "Parent article has been killed"
 msgstr "ä¸Šå±‚æ–‡ç« å·²è¢«ç é™¤"
 
-#: src/lang.c:68
+#: src/lang.c:69
 msgid "Parent article is unavailable"
 msgstr "ä¸Šå±‚æ–‡ç« æ— æ³•ä½¿ç”¨"
 
-#: src/lang.c:69
+#: src/lang.c:70
 #, c-format
 msgid "Article posted: %s"
 msgstr "å·²å¼ è´´æ–‡ç« ï¼š%s"
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid "Article rejected (saved to %s)"
 msgstr "å·²æ‹’ç»æ–‡ç«  (ä¿å­˜åˆ° %s)"
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid ""
 "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: "
 msgstr "%s=æ–‡ç« ï¼Œ%s=è®¨è®ºä¸²ï¼Œ%s=èŒƒå›´ï¼Œ%s=çƒ­é—¨ï¼Œ%s=æ¨¡å¼ï¼Œ%s=å·²æ ‡è®°ï¼Œ%s=ç¦»å¼€ï¼š"
 
-#: src/lang.c:72
+#: src/lang.c:73
 msgid "Article unavailable"
 msgstr "æ— æ³•ä½¿ç”¨æ–‡ç« "
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid "Article undeleted."
 msgstr "å–æ¶ˆåˆ é™¤æ–‡ç« ã€‚"
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid "Article %4d of %4d"
 msgstr "æ–‡ç«  %4d ä¹‹äºŽ %4d"
 
-#: src/lang.c:76
+#: src/lang.c:77
+#, fuzzy
+msgid "Article Info Page"
+msgstr "æ— æ³•ä¿å­˜æ–‡ç« "
+
+#: src/lang.c:78
 msgid "articles"
 msgstr "æ–‡ç« "
 
-#: src/lang.c:77
+#: src/lang.c:79
 msgid "This is a repost of the following article:"
 msgstr "è¿™æ˜¯ä»¥ä¸‹æ–‡ç« çš„é‡æ–°å¼ è´´ï¼š"
 
-#: src/lang.c:78
+#: src/lang.c:80
 msgid "article"
 msgstr "æ–‡ç« "
 
-#: src/lang.c:79
+#: src/lang.c:81
 msgid "Article"
 msgstr "æ–‡ç« "
 
-#: src/lang.c:80
+#: src/lang.c:82
 #, c-format
 msgid "-- %d %s mailed --"
 msgstr "-- %d %s å·²å¯„å‡º --"
 
-#: src/lang.c:81
+#: src/lang.c:83
 #, c-format
 msgid " at %s"
 msgstr " äºŽ %s"
 
-#: src/lang.c:84
+#: src/lang.c:86
 #, fuzzy, c-format
 msgid "charset %s"
 msgstr "ï¼Œå­—ç¬¦é›†ï¼š"
 
-#: src/lang.c:85
+#: src/lang.c:87
 #, c-format
 msgid "content subtype %s"
 msgstr ""
 
-#: src/lang.c:86
+#: src/lang.c:88
 #, c-format
 msgid "content type %s"
 msgstr ""
 
-#: src/lang.c:87
+#: src/lang.c:89
 #, c-format
 msgid "%*s[-- charset %s not supported --]\n"
 msgstr "%*s[-- ä¸æ”¯æŒ %s å­—ç¬¦é›† --]\n"
 
-#: src/lang.c:88
+#: src/lang.c:90
 #, c-format
 msgid "%*s[-- Description: %s --]\n"
 msgstr "%*s[-- æè¿°ï¼š%s --]\n"
 
-#: src/lang.c:89
+#: src/lang.c:91
 #, fuzzy, c-format
 msgid "encoding %s"
 msgstr "æ‰“å¼€ %s"
 
-#: src/lang.c:95
+#: src/lang.c:97
 #, fuzzy, c-format
 msgid "lang %s"
 msgstr "é‡æ–°è¯»å– %sâ€¦"
 
-#: src/lang.c:96
+#: src/lang.c:98
 #, fuzzy, c-format
 msgid "%s lines"
 msgstr "%d è¡Œ"
 
-#: src/lang.c:97
+#: src/lang.c:99
 #, fuzzy, c-format
 msgid "name %s"
 msgstr "ï¼Œåç§°ï¼š"
 
-#: src/lang.c:98
+#: src/lang.c:100
 msgid ", "
 msgstr ""
 
-#: src/lang.c:99
+#: src/lang.c:101
 #, c-format
 msgid "size %s"
 msgstr ""
 
-#: src/lang.c:100
+#: src/lang.c:102
 msgid ""
 "This message has been composed in the 'multipart/mixed' MIME-format. If you\n"
 "are reading this prefix, your mail reader probably has not yet been "
@@ -236,46 +241,46 @@ msgstr ""
 "ä»¥äº†è§£æ–°çš„æ ¼å¼ï¼Œè€ŒéšåŽè€Œæ¥çš„ä¸œè¥¿ä¹Ÿè®¸çœ‹èµ·æ¥ä¼šå¾ˆæ€ªå¼‚ã€‚\n"
 "\n"
 
-#: src/lang.c:104
+#: src/lang.c:106
 msgid "Attachment Menu"
 msgstr "é™„ä»¶èœå•"
 
-#: src/lang.c:105
+#: src/lang.c:107
 msgid "Attachment Menu Commands"
 msgstr "é™„ä»¶åŠŸèƒ½è¡¨æŒ‡ä»¤"
 
-#: src/lang.c:106
+#: src/lang.c:108
 msgid "<no name>"
 msgstr "<æ²¡æœ‰åç§°>"
 
-#: src/lang.c:107
+#: src/lang.c:109
 #, c-format
 msgid "Attachment saved successfully. (%s)"
 msgstr "æˆåŠŸä¿å­˜é™„ä»¶ã€‚(%s)"
 
-#: src/lang.c:108
+#: src/lang.c:110
 #, c-format
 msgid "%d of %d attachments saved successfully."
 msgstr "æˆåŠŸä¿å­˜ %2$d ä¸­çš„ %1$d é¡¹é™„ä»¶ã€‚"
 
-#: src/lang.c:109
+#: src/lang.c:111
 msgid "Select attachment> "
 msgstr "é€‰å–é™„ä»¶>"
 
-#: src/lang.c:110
+#: src/lang.c:112
 msgid "Tagged attachment"
 msgstr "å·²æ ‡è®°é™„ä»¶"
 
-#: src/lang.c:111
+#: src/lang.c:113
 #, c-format
 msgid "%d attachments tagged"
 msgstr "%d é™„ä»¶å·²æ ‡è®°"
 
-#: src/lang.c:112
+#: src/lang.c:114
 msgid "Untagged attachment"
 msgstr "å·²å–æ¶ˆé™„ä»¶æ ‡è®°"
 
-#: src/lang.c:115
+#: src/lang.c:117
 msgid ""
 "# Do not edit this comment block\n"
 "#\n"
@@ -283,322 +288,327 @@ msgstr ""
 "# ä¸ç¼–è¾‘è¿™ä¸ªè¯„è®ºåŒºå—\n"
 "#\n"
 
-#: src/lang.c:116
+#: src/lang.c:118
 msgid "#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr "#  scope=å­—ä¸² (ä¾‹å¦‚ï¼šalt.*,!alt.bin*) [å¿…è¦]\n"
 
-#: src/lang.c:117
+#: src/lang.c:119
 msgid "#  add_posted_to_filter=ON/OFF\n"
 msgstr "#  add_posted_to_filter=ON/OFF\n"
 
-#: src/lang.c:118
+#: src/lang.c:120
 msgid "#  advertising=ON/OFF\n"
 msgstr "#  advertising=ON/OFF\n"
 
-#: src/lang.c:119
+#: src/lang.c:121
 msgid "#  alternative_handling=ON/OFF\n"
 msgstr "#  alternative_handling=ON/OFF\n"
 
-#: src/lang.c:120
+#: src/lang.c:122
 msgid "#  ask_for_metamail=ON/OFF\n"
 msgstr "#  ask_for_metamail=ON/OFF\n"
 
-#: src/lang.c:121
+#: src/lang.c:123
 msgid "#  auto_cc_bcc=NUM\n"
 msgstr "#  auto_cc_bcc=æ•°å­—\n"
 
-#: src/lang.c:122
+#: src/lang.c:124
 msgid "#    0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n"
 msgstr "#    0=æ— ï¼Œ1=æŠ„é€ï¼Œ2=å¯†ä»¶æŠ„é€ï¼Œ3=æŠ„é€å’Œå¯†ä»¶æŠ„é€\n"
 
-#: src/lang.c:123
+#: src/lang.c:125
 msgid "#  auto_list_thread=ON/OFF\n"
 msgstr "#  auto_list_thread=ON/OFF\n"
 
-#: src/lang.c:124
+#: src/lang.c:126
 msgid "#  auto_select=ON/OFF\n"
 msgstr "#  auto_select=ON/OFF\n"
 
-#: src/lang.c:125
+#: src/lang.c:127
 msgid "#  batch_save=ON/OFF\n"
 msgstr "#  batch_save=ON/OFF\n"
 
-#: src/lang.c:126
+#: src/lang.c:128
 msgid "#  date_format=STRING (eg. %a, %d %b %Y %H:%M:%S)\n"
 msgstr "#  date_format=å­—ä¸² (ä¾‹å¦‚ï¼š%aï¼Œ%d %b %Y %H:%M:%S)\n"
 
-#: src/lang.c:127
+#: src/lang.c:129
 msgid "#  delete_tmp_files=ON/OFF\n"
 msgstr "#  delete_tmp_files=ON/OFF\n"
 
-#: src/lang.c:128
+#: src/lang.c:130
 msgid "#  editor_format=STRING (eg. %E +%N %F)\n"
 msgstr "#  editor_format=å­—ä¸² (ä¾‹å¦‚ï¼š%E +%N %F)\n"
 
-#: src/lang.c:129
+#: src/lang.c:131
 msgid "#  fcc=STRING (eg. =mailbox)\n"
 msgstr "#  fcc=å­—ä¸² (ä¾‹å¦‚ï¼š=mailbox)\n"
 
-#: src/lang.c:130
+#: src/lang.c:132
 msgid "#  followup_to=STRING\n"
 msgstr "#  followup_to=å­—ä¸²\n"
 
-#: src/lang.c:131
+#: src/lang.c:133
 msgid "#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr "#  from=å­—ä¸² (ä»…é™„åŠ æƒ³è¦çš„å‘ä¿¡è€… :-lineï¼Œä¸ä½¿ç”¨å¼•è¨€)\n"
 
-#: src/lang.c:132
+#: src/lang.c:134
 msgid "#  group_catchup_on_exit=ON/OFF\n"
 msgstr "#  group_catchup_on_exit=ON/OFF\n"
 
-#: src/lang.c:133
+#: src/lang.c:135
 msgid "#  group_format=STRING (eg. %n %m %R %L  %s  %F)\n"
 msgstr "#  group_format=å­—ä¸² (ä¾‹å¦‚ï¼š%n %m %R %L  %s  %F)\n"
 
-#: src/lang.c:134
+#: src/lang.c:136
 msgid "#  mail_8bit_header=ON/OFF\n"
 msgstr "#  mail_8 bit_header=ON/OFF\n"
 
-#: src/lang.c:135
+#: src/lang.c:137
 msgid "#  mail_mime_encoding=supported_encoding"
 msgstr "#  mail_mime_encoding=supported_encoding"
 
-#: src/lang.c:137
+#: src/lang.c:139
 msgid "#  ispell=STRING\n"
 msgstr "#  ispell=å­—ä¸²\n"
 
-#: src/lang.c:139
+#: src/lang.c:141
 msgid "#  maildir=STRING (eg. ~/Mail)\n"
 msgstr "#  maildir=å­—ä¸² (ä¾‹å¦‚ï¼š~/Mail)\n"
 
-#: src/lang.c:140
+#: src/lang.c:142
 msgid "#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr "#  mailing_list=å­—ä¸² (ä¾‹å¦‚ï¼šmajordomo@example.org)\n"
 
-#: src/lang.c:141
+#: src/lang.c:143
 msgid "#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr "#  mime_types_to_save=å­—ä¸² (ä¾‹å¦‚ï¼šimage/*,!image/bmp)\n"
 
-#: src/lang.c:142
+#: src/lang.c:144
 msgid "#  mark_ignore_tags=ON/OFF\n"
 msgstr "#  mark_ignore_tags=ON/OFF\n"
 
-#: src/lang.c:143
+#: src/lang.c:145
 msgid "#  mark_saved_read=ON/OFF\n"
 msgstr "#  mark_saved_read=ON/OFF\n"
 
-#: src/lang.c:144
+#: src/lang.c:146
 msgid "#  mime_forward=ON/OFF\n"
 msgstr "#  mime_forward=ON/OFF\n"
 
-#: src/lang.c:146
+#: src/lang.c:148
 msgid "#  mm_network_charset=supported_charset"
 msgstr "#  mm_network_charset=æ”¯æŒçš„å­—ç¬¦é›†"
 
-#: src/lang.c:147
+#: src/lang.c:149
 msgid "#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr "#  undeclared_charset=å­—ä¸² (ç¼ºçœæ˜¯ US-ASCII)\n"
 
-#: src/lang.c:149
+#: src/lang.c:151
+#, fuzzy
+msgid "#  undeclared_cs_guess=ON/OFF (default is OFF)\n"
+msgstr "#  undeclared_charset=å­—ä¸² (ç¼ºçœæ˜¯ US-ASCII)\n"
+
+#: src/lang.c:154
 msgid "#  news_headers_to_display=STRING\n"
 msgstr "#  news_headers_to_display=å­—ä¸²\n"
 
-#: src/lang.c:150
+#: src/lang.c:155
 msgid "#  news_headers_to_not_display=STRING\n"
 msgstr "#  news_headers_to_not_display=å­—ä¸²\n"
 
-#: src/lang.c:151
+#: src/lang.c:156
 msgid "#  news_quote_format=STRING\n"
 msgstr "#  news_quote_format=å­—ä¸²\n"
 
-#: src/lang.c:152
+#: src/lang.c:157
 msgid "#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr "#  organization=å­—ä¸² (å¦‚æžœèµ·å§‹éƒ¨åˆ†ä¸Žâ€˜/â€™è¯»å–ä»Žæ–‡ä»¶)\n"
 
-#: src/lang.c:153
+#: src/lang.c:158
 msgid "#  pos_first_unread=ON/OFF\n"
 msgstr "#  pos_first_unread=ON/OFF\n"
 
-#: src/lang.c:154
+#: src/lang.c:159
 msgid "#  post_8bit_header=ON/OFF\n"
 msgstr "#  post_8 bit_header=ON/OFF\n"
 
-#: src/lang.c:155
+#: src/lang.c:160
 msgid "#  post_mime_encoding=supported_encoding"
 msgstr "#  post_mime_encoding=æ”¯æŒçš„ç¼–ç "
 
-#: src/lang.c:156
+#: src/lang.c:161
 msgid "#  post_process_type=NUM\n"
 msgstr "#  post_process_type=æ•°å­—\n"
 
-#: src/lang.c:157
+#: src/lang.c:162
 msgid "#  post_process_view=ON/OFF\n"
 msgstr "#  post_process_view=ON/OFF\n"
 
-#: src/lang.c:158
+#: src/lang.c:163
 msgid "#  quick_kill_scope=STRING (e.g. talk.*)\n"
 msgstr "#  quick_kill_scope=å­—ä¸² (äº¦å³ talk.*)\n"
 
-#: src/lang.c:159
+#: src/lang.c:164
 msgid "#  quick_kill_expire=ON/OFF\n"
 msgstr "#  quick_kill_expire=ON/OFF\n"
 
-#: src/lang.c:160
+#: src/lang.c:165
 msgid "#  quick_kill_case=ON/OFF\n"
 msgstr "#  quick_kill_case=ON/OFF\n"
 
-#: src/lang.c:161
+#: src/lang.c:166
 msgid "#  quick_kill_header=NUM\n"
 msgstr "#  quick_kill_header=æ•°å­—\n"
 
-#: src/lang.c:162 src/lang.c:171
+#: src/lang.c:167 src/lang.c:176
 msgid "#    0=Subject: (case sensitive)  1=Subject: (ignore case)\n"
 msgstr "#    0=Subject: (å¤§å°å†™ç›¸ç¬¦)  1=Subject: (å¿½ç•¥å¤§å°å†™)\n"
 
-#: src/lang.c:163 src/lang.c:172
+#: src/lang.c:168 src/lang.c:177
 msgid "#    2=From: (case sensitive)     3=From: (ignore case)\n"
 msgstr "#    2=From: (å¤§å°å†™ç›¸ç¬¦)     3=From: (å¿½ç•¥å¤§å°å†™)\n"
 
-#: src/lang.c:164 src/lang.c:173
+#: src/lang.c:169 src/lang.c:178
 msgid "#    4=Message-ID: & full References: line\n"
 msgstr "#    4=Message-ID: & å…¨éƒ¨ References: è¡Œ\n"
 
-#: src/lang.c:165 src/lang.c:174
+#: src/lang.c:170 src/lang.c:179
 msgid "#    5=Message-ID: & last References: entry only\n"
 msgstr "#    5=åªæœ‰ Message-ID: & æœ€åŽä¸€ç¬” References: æ¡ç›®\n"
 
-#: src/lang.c:166 src/lang.c:175
+#: src/lang.c:171 src/lang.c:180
 msgid "#    6=Message-ID: entry only     7=Lines:\n"
 msgstr "#    6=åªæœ‰ Message-ID: æ¡ç›®     7=Lines:\n"
 
-#: src/lang.c:167
+#: src/lang.c:172
 msgid "#  quick_select_scope=STRING\n"
 msgstr "#  quick_select_scope=å­—ä¸²\n"
 
-#: src/lang.c:168
+#: src/lang.c:173
 msgid "#  quick_select_expire=ON/OFF\n"
 msgstr "#  quick_select_expire=ON/OFF\n"
 
-#: src/lang.c:169
+#: src/lang.c:174
 msgid "#  quick_select_case=ON/OFF\n"
 msgstr "#  quick_select_case=ON/OFF\n"
 
-#: src/lang.c:170
+#: src/lang.c:175
 msgid "#  quick_select_header=NUM\n"
 msgstr "#  quick_select_header=æ•°å­—\n"
 
-#: src/lang.c:176
+#: src/lang.c:181
 #, fuzzy
 msgid "#  quote_chars=STRING (%I for initials)\n"
 msgstr "#  quote_chars=å­—ä¸² (%%sï¼Œ%%S ç”¨äºŽç¼©å†™)\n"
 
-#: src/lang.c:178
+#: src/lang.c:183
 msgid "#  print_header=ON/OFF\n"
 msgstr "#  print_header=ON/OFF\n"
 
-#: src/lang.c:180
+#: src/lang.c:185
 msgid "#  process_only_unread=ON/OFF\n"
 msgstr "#  process_only_unread=ON/OFF\n"
 
-#: src/lang.c:181
+#: src/lang.c:186
 msgid "#  prompt_followupto=ON/OFF\n"
 msgstr "#  prompt_followupto=ON/OFF\n"
 
-#: src/lang.c:182
+#: src/lang.c:187
 msgid "#  savedir=STRING (eg. ~user/News)\n"
 msgstr "#  savedir=å­—ä¸² (ä¾‹å¦‚ï¼š~user/News)\n"
 
-#: src/lang.c:183
+#: src/lang.c:188
 msgid "#  savefile=STRING (eg. =linux)\n"
 msgstr "#  savefile=å­—ä¸² (ä¾‹å¦‚ï¼š=linux)\n"
 
-#: src/lang.c:184
+#: src/lang.c:189
 msgid "#  sigfile=STRING (eg. $var/sig)\n"
 msgstr "#  sigfile=å­—ä¸² (ä¾‹å¦‚ï¼š$var/sig)\n"
 
-#: src/lang.c:185
+#: src/lang.c:190
 msgid "#  show_author=NUM\n"
 msgstr "#  show_author=æ•°å­—\n"
 
-#: src/lang.c:186
+#: src/lang.c:191
 msgid "#  show_signatures=ON/OFF\n"
 msgstr "#  show_signatures=ON/OFF\n"
 
-#: src/lang.c:187
+#: src/lang.c:192
 #, fuzzy
 msgid "#  show_art_score=ON/OFF\n"
 msgstr "#  show_signatures=ON/OFF\n"
 
-#: src/lang.c:189
+#: src/lang.c:194
 #, fuzzy
 msgid "#  suppress_soft_hyphens=ON/OFF\n"
 msgstr "#  process_only_unread=ON/OFF\n"
 
-#: src/lang.c:191
+#: src/lang.c:196
 msgid "#  show_only_unread_arts=ON/OFF\n"
 msgstr "#  show_only_unread_arts=ON/OFF\n"
 
-#: src/lang.c:192
+#: src/lang.c:197
 msgid "#  sigdashes=ON/OFF\n"
 msgstr "#  sigdashes=ON/OFF\n"
 
-#: src/lang.c:193
+#: src/lang.c:198
 msgid "#  signature_repost=ON/OFF\n"
 msgstr "#  signature_repost=ON/OFF\n"
 
-#: src/lang.c:194
+#: src/lang.c:199
 msgid "#  sort_article_type=NUM\n"
 msgstr "#  sort_article_type=æ•°å­—\n"
 
-#: src/lang.c:195
+#: src/lang.c:200
 msgid "#  sort_threads_type=NUM\n"
 msgstr "#  sort_threads_type=æ•°å­—\n"
 
-#: src/lang.c:196
+#: src/lang.c:201
 msgid "#  tex2iso_conv=ON/OFF\n"
 msgstr "#  tex2iso_conv=ON/OFF\n"
 
-#: src/lang.c:197
+#: src/lang.c:202
 msgid "#  thread_catchup_on_exit=ON/OFF\n"
 msgstr "#  thread_catchup_on_exit=ON/OFF\n"
 
-#: src/lang.c:198
+#: src/lang.c:203
 msgid "#  thread_articles=NUM"
 msgstr "#  thread_articles=æ•°å­—"
 
-#: src/lang.c:199
+#: src/lang.c:204
 msgid "#  thread_format=STRING (eg. %n %m [%L]  %T  %F)\n"
 msgstr "#  thread_format=å­—ä¸² (ä¾‹å¦‚ï¼š%n %m [%L]  %T  %F)\n"
 
-#: src/lang.c:200
+#: src/lang.c:205
 msgid "#  thread_perc=NUM\n"
 msgstr "#  thread_perc=æ•°å­—\n"
 
-#: src/lang.c:201
+#: src/lang.c:206
 msgid "#  trim_article_body=NUM\n"
 msgstr "#  trim_article_body=æ•°å­—\n"
 
-#: src/lang.c:202
+#: src/lang.c:207
 msgid "#    0 = Don't trim article body\n"
 msgstr "#    0 = ä¸ä¿®å‰ªæ–‡ç« å†…æ–‡\n"
 
-#: src/lang.c:203
+#: src/lang.c:208
 msgid "#    1 = Skip leading blank lines\n"
 msgstr "#    1 = è·³è¿‡å‰å¯¼ç©ºè¡Œ\n"
 
-#: src/lang.c:204
+#: src/lang.c:209
 msgid "#    2 = Skip trailing blank lines\n"
 msgstr "#    2 = è·³è¿‡å°¾éšç©ºè¡Œ\n"
 
-#: src/lang.c:205
+#: src/lang.c:210
 msgid "#    3 = Skip leading and trailing blank lines\n"
 msgstr "#    3 = è·³è¿‡å‰å¯¼å’Œå°¾éšç©ºè¡Œ\n"
 
-#: src/lang.c:206
+#: src/lang.c:211
 msgid "#    4 = Compact multiple blank lines between text blocks\n"
 msgstr "#    4 = åŽ‹ç¼©æ–‡æœ¬åŒºå—ä¹‹é—´çš„å¤šé‡ç©ºè¡Œ\n"
 
-#: src/lang.c:207
+#: src/lang.c:212
 msgid ""
 "#    5 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading blank lines\n"
@@ -606,7 +616,7 @@ msgstr ""
 "#    5 = åŽ‹ç¼©æ–‡æœ¬åŒºå—ä¹‹é—´çš„å¤šé‡ç©ºè¡Œå¹¶è·³è¿‡\n"
 "#        å‰å¯¼ç©ºè¡Œ\n"
 
-#: src/lang.c:208
+#: src/lang.c:213
 msgid ""
 "#    6 = Compact multiple blank lines between text blocks and skip\n"
 "#        trailing blank lines\n"
@@ -614,7 +624,7 @@ msgstr ""
 "#    6 = åŽ‹ç¼©æ–‡æœ¬åŒºå—ä¹‹é—´çš„å¤šé‡ç©ºè¡Œå¹¶è·³è¿‡\n"
 "#        å°¾éšç©ºè¡Œ\n"
 
-#: src/lang.c:209
+#: src/lang.c:214
 msgid ""
 "#    7 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading and trailing blank lines\n"
@@ -622,32 +632,32 @@ msgstr ""
 "#    7 = åŽ‹ç¼©æ–‡æœ¬åŒºå—ä¹‹é—´çš„å¤šé‡ç©ºè¡Œå¹¶è·³è¿‡\n"
 "#        å‰å¯¼å’Œå°¾éšç©ºè¡Œ\n"
 
-#: src/lang.c:210
+#: src/lang.c:215
 msgid "#  verbatim_handling=ON/OFF\n"
 msgstr "#  verbatim_handling=ON/OFF\n"
 
-#: src/lang.c:212
+#: src/lang.c:217
 #, fuzzy
 msgid "#  extquote_handling=ON/OFF\n"
 msgstr "#  verbatim_handling=ON/OFF\n"
 
-#: src/lang.c:214
+#: src/lang.c:219
 msgid "#  wrap_on_next_unread=ON/OFF\n"
 msgstr "#  wrap_on_next_unread=ON/OFF\n"
 
-#: src/lang.c:215
+#: src/lang.c:220
 msgid "#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr "#  x_body=å­—ä¸² (ä¾‹å¦‚ï¼š~/.tin/extra-body-text)\n"
 
-#: src/lang.c:216
+#: src/lang.c:221
 msgid "#  x_comment_to=ON/OFF\n"
 msgstr "#  x_comment_to=ON/OFF\n"
 
-#: src/lang.c:217
+#: src/lang.c:222
 msgid "#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr "#  x_headers=å­—ä¸² (ä¾‹å¦‚ï¼š~/.tin/extra-headers)\n"
 
-#: src/lang.c:218
+#: src/lang.c:223
 msgid ""
 "#\n"
 "# Note that it is best to put general (global scoping)\n"
@@ -655,7 +665,7 @@ msgstr ""
 "#\n"
 "# è¦æ³¨æ„çš„æ˜¯ï¼Œæœ€å¥½æ˜¯æ”¾åˆ°ä¸€èˆ¬çŽ¯å¢ƒ (å…¨å±€èŒƒå›´)\n"
 
-#: src/lang.c:219
+#: src/lang.c:224
 msgid ""
 "# entries first followed by group specific entries.\n"
 "#\n"
@@ -663,62 +673,66 @@ msgstr ""
 "# æ¡ç›®å…ˆäºŽç¾¤ç»„ç‰¹å®šçš„æ¡ç›®ã€‚\n"
 "#\n"
 
-#: src/lang.c:220
+#: src/lang.c:225
 msgid "############################################################################\n"
 msgstr "############################################################################\n"
 
-#: src/lang.c:221
+#: src/lang.c:226
 msgid "Attributes Menu Commands"
 msgstr "å±žæ€§åŠŸèƒ½è¡¨æŒ‡ä»¤"
 
-#: src/lang.c:222
+#: src/lang.c:227
 #, c-format
 msgid "attribute with no scope: %s"
 msgstr "å±žæ€§ä¸å…·ä»»ä½•èŒƒå›´ï¼š%s"
 
-#: src/lang.c:224
+#: src/lang.c:229
 #, c-format
 msgid "%d Authentication failed"
 msgstr "%d è®¤è¯å¤±è´¥"
 
-#: src/lang.c:225
+#: src/lang.c:230
 #, c-format
 msgid "NNTP authorization password not found for %s"
 msgstr "æ‰¾ä¸åˆ°ç”¨äºŽ %s çš„ NNTP æŽˆæƒå¯†ç "
 
-#: src/lang.c:226
+#: src/lang.c:231
 msgid "Server expects authentication.\n"
 msgstr "æœåŠ¡å™¨é¢„æœŸéœ€è¦è®¤è¯ã€‚\n"
 
-#: src/lang.c:227
+#: src/lang.c:232
 msgid "    Please enter password: "
 msgstr "    è¯·è¾“å…¥å¯†ç ï¼š"
 
-#: src/lang.c:228
+#: src/lang.c:233
 msgid "    Please enter username: "
 msgstr "    è¯·è¾“å…¥ç”¨æˆ·åï¼š"
 
-#: src/lang.c:229
+#: src/lang.c:234
 #, c-format
 msgid "Authorized for user: %s\n"
 msgstr "ç”¨æˆ·èŽ·å¾—æŽˆæƒï¼š%s\n"
 
-#: src/lang.c:230
+#: src/lang.c:235
 #, c-format
 msgid "Authorization failed for user: %s\n"
 msgstr "ç”¨æˆ·æŽˆæƒå¤±è´¥ï¼š%s\n"
 
-#: src/lang.c:232
+#: src/lang.c:236
+msgid "No supported authorization method available in current state!\n"
+msgstr ""
+
+#: src/lang.c:238
 #, c-format
 msgid "Author search backwards [%s]> "
 msgstr "å‘åŽæœç´¢ä½œè€… [%s]>"
 
-#: src/lang.c:233
+#: src/lang.c:239
 #, c-format
 msgid "Author search forwards [%s]> "
 msgstr "å‘å‰æœç´¢ä½œè€… [%s]>"
 
-#: src/lang.c:234
+#: src/lang.c:240
 #, c-format
 msgid ""
 "\n"
@@ -727,186 +741,192 @@ msgstr ""
 "\n"
 "è‡ªåŠ¨è®¢é˜… %s"
 
-#: src/lang.c:235
+#: src/lang.c:241
 msgid "Autosubscribing groups...\n"
 msgstr "è‡ªåŠ¨è®¢é˜…ç¾¤ç»„â€¦\n"
 
-#: src/lang.c:236
+#: src/lang.c:242
 #, c-format
 msgid "Autoselecting articles (use '%s' to see all unread) ..."
 msgstr "è‡ªåŠ¨é€‰å–æ–‡ç«  (ä½¿ç”¨â€˜%sâ€™ä»¥çœ‹åˆ°æ‰€æœ‰æœªè¯»)â€¦"
 
-#: src/lang.c:238
+#: src/lang.c:244
 #, c-format
 msgid ""
 "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 msgstr "è¦å¼ è´´çš„æ–‡ç« å¯¼è‡´é”™è¯¯/è­¦å‘Šã€‚%s=ç¦»å¼€ï¼Œ%s=èœå•ï¼Œ%s=ç¼–è¾‘ï¼š"
 
-#: src/lang.c:239
+#: src/lang.c:246
 #, c-format
 msgid "Unrecognized attribute: %s"
 msgstr "æ— æ³•è¾¨è¯†çš„å±žæ€§ï¼š%s"
 
-#: src/lang.c:240
+#: src/lang.c:248
 #, c-format
 msgid "Bad command. Type '%s' for help."
 msgstr "ä¸å½“çš„å‘½ä»¤ã€‚è¾“å…¥â€˜%sâ€™ä»¥èŽ·å¾—è¯´æ˜Žã€‚"
 
-#: src/lang.c:242
+#: src/lang.c:249
 msgid "Base article"
 msgstr "åŸºåº•æ–‡ç« "
 
-#: src/lang.c:243
+#: src/lang.c:250
 msgid "Base article range"
 msgstr "åŸºåº•æ–‡ç« èŒƒå›´"
 
-#: src/lang.c:244
+#: src/lang.c:251
 #, fuzzy, c-format
 msgid "%s: Updating of index files not supported: cache_overview_files=%s"
 msgstr "%sï¼šä¸æ”¯æŒç´¢å¼•æ–‡ä»¶çš„æ›´æ–°\n"
 
-#: src/lang.c:245
+#: src/lang.c:252
 msgid "*** Beginning of article ***"
 msgstr "*** æ–‡ç« å¼€å¤´ ***"
 
-#: src/lang.c:246
+#: src/lang.c:253
 msgid "*** Beginning of page ***"
 msgstr "*** é¡µé¢å¼€å¤´ ***"
 
-#: src/lang.c:248
-msgid "bytes"
-msgstr "å­—èŠ‚"
-
-#: src/lang.c:251
+#: src/lang.c:255
 #, c-format
 msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr "å–æ¶ˆ (åˆ é™¤) æˆ–å–ä»£ (è¦†å†™) æ–‡ç«  [%%s]ï¼Ÿ(%s/%s/%s)ï¼š"
 
-#: src/lang.c:252
+#: src/lang.c:256
 msgid "Cancelling article..."
 msgstr "å–æ¶ˆæ–‡ç« â€¦"
 
-#: src/lang.c:254
+#: src/lang.c:258
 #, c-format
 msgid "Cannot create %s"
 msgstr "æ— æ³•åˆ›å»º %s"
 
-#: src/lang.c:257
+#: src/lang.c:261
 #, c-format
 msgid "Can't find base article %d"
 msgstr "æ‰¾ä¸åˆ°åŸºåº•æ–‡ç«  %d"
 
-#: src/lang.c:259
+#: src/lang.c:263
 #, c-format
 msgid "Can't open %s"
 msgstr "æ— æ³•æ‰“å¼€ %s"
 
-#: src/lang.c:260
+#: src/lang.c:264
 #, c-format
 msgid "Couldn't open %s for saving"
 msgstr "æ— æ³•æ‰“å¼€ %s ä»¥ä¿å­˜"
 
-#: src/lang.c:261
+#: src/lang.c:265
 msgid "*** Posting not allowed ***"
 msgstr "*** ä¸å…è®¸å¼ è´´ ***"
 
-#: src/lang.c:262
+#: src/lang.c:266
 #, c-format
 msgid "Posting is not allowed to %s"
 msgstr "ä¸å…è®¸å¼ è´´åˆ° %s"
 
-#: src/lang.c:264
+#: src/lang.c:268
 #, c-format
 msgid "Can't retrieve %s"
 msgstr "æ— æ³•å–å›ž %s"
 
-#: src/lang.c:266
+#: src/lang.c:270
 msgid "Can't supersede in mailgroups, try repost instead."
 msgstr ""
 
-#: src/lang.c:267
+#: src/lang.c:271
 #, c-format
 msgid "%s is a directory"
 msgstr "%s æ˜¯ä¸ªç›®å½•"
 
-#: src/lang.c:268
+#: src/lang.c:272
 msgid "Catchup"
 msgstr "è®¾å›žæœªè¯»"
 
-#: src/lang.c:269
+#: src/lang.c:273
 #, c-format
 msgid "Catchup %s..."
 msgstr "è®¾å›žæœªè¯» %sâ€¦"
 
-#: src/lang.c:270
+#: src/lang.c:274
 msgid "Catchup all groups entered during this session?"
 msgstr "å°†æ‰€æœ‰åœ¨è¿™ä¸ªä½œä¸šé˜¶æ®µæœŸé—´å†…è¿›å…¥çš„ç¾¤ç»„è®¾å›žæœªè¯»ï¼Ÿ"
 
-#: src/lang.c:271
+#: src/lang.c:275
 msgid "You have tagged articles in this group - catchup anyway?"
 msgstr "æ‚¨å·²åœ¨è¿™ä¸ªç¾¤ç»„ä¸­æ ‡è®°æ–‡ç«  - è¿˜æ˜¯è¦è®¾å›žæœªè¯»ï¼Ÿ"
 
-#: src/lang.c:272
+#: src/lang.c:276
 #, c-format
 msgid "%s %d %s in %lu seconds\n"
 msgstr "%s %d %s äºŽ %lu ç§’å®Œæˆ\n"
 
-#: src/lang.c:273
+#: src/lang.c:277
 msgid "Caughtup"
 msgstr "å·²è®¾å›žæœªè¯»"
 
-#: src/lang.c:274
+#: src/lang.c:278
 msgid "Check Prepared Article"
 msgstr "æ£€æŸ¥å¤‡å¦¥çš„æ–‡ç« "
 
-#: src/lang.c:275
+#: src/lang.c:279
 msgid "Checking for new groups... "
 msgstr "æ£€æŸ¥çœ‹çœ‹æ–°ç¾¤ç»„â€¦"
 
-#: src/lang.c:276
+#: src/lang.c:280
 #, fuzzy
 msgid "Checking for news...\n"
 msgstr "æ£€æŸ¥çœ‹çœ‹æ–°é—»â€¦"
 
-#: src/lang.c:277
+#: src/lang.c:281
 #, c-format
 msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr "åŽç½®å¤„ç† %s=å¦ï¼Œ%s=æ˜¯ï¼Œ%s=sharï¼Œ%s=ç¦»å¼€ï¼š"
 
-#: src/lang.c:279
+#: src/lang.c:283
 msgid "ANSI color disabled"
 msgstr "ANSI é¢œè‰²å·²åœç”¨"
 
-#: src/lang.c:280
+#: src/lang.c:284
 msgid "ANSI color enabled"
 msgstr "ANSI é¢œè‰²å·²å¯ç”¨"
 
-#: src/lang.c:282
+#: src/lang.c:286
 #, c-format
 msgid "Command failed: %s"
 msgstr "å‘½ä»¤å¤±è´¥ï¼š%s"
 
-#: src/lang.c:284
+#: src/lang.c:288
 msgid "Mark not selected articles read?"
 msgstr "æ ‡è®°æœªé€‰æ–‡ç« ä¸ºå·²è¯»ï¼Ÿ"
 
-#: src/lang.c:285
+#: src/lang.c:289
 #, fuzzy
 msgid "Connection Info"
 msgstr ""
 "\n"
 "è¿žæŽ¥åˆ° %sï¼š"
 
-#: src/lang.c:286
+#: src/lang.c:290
 msgid "Reading from local spool.\n"
 msgstr ""
 
-#: src/lang.c:287
+#: src/lang.c:291
 #, fuzzy
 msgid "Reading saved news.\n"
 msgstr "é‡æ–°è¯»å– %sâ€¦"
 
-#: src/lang.c:295
+#: src/lang.c:292
+#, fuzzy
+msgid ""
+"\n"
+"Configuration files:\n"
+"--------------------\n"
+msgstr ""
+"é€‰é¡¹æ“ä½œ\n"
+"-----------------"
+
+#: src/lang.c:300
 #, fuzzy
 msgid ""
 "\n"
@@ -916,11 +936,11 @@ msgstr ""
 "æ˜¾ç¤ºå±žæ€§\n"
 "------------------"
 
-#: src/lang.c:300
+#: src/lang.c:305
 msgid "COMPRESS      :"
 msgstr ""
 
-#: src/lang.c:301
+#: src/lang.c:306
 #, fuzzy
 msgid ""
 "\n"
@@ -930,82 +950,87 @@ msgstr ""
 "é€‰é¡¹æ“ä½œ\n"
 "-----------------"
 
-#: src/lang.c:303
+#: src/lang.c:308
 #, c-format
 msgid " DEFLATE %s\n"
 msgstr ""
 
-#: src/lang.c:304
+#: src/lang.c:309
 msgid "(enabled)"
 msgstr ""
 
-#: src/lang.c:305
+#: src/lang.c:310
 msgid "(inactive)"
 msgstr ""
 
-#: src/lang.c:307
+#: src/lang.c:312
 msgid " DEFLATE (not supported)\n"
 msgstr ""
 
-#: src/lang.c:310
+#: src/lang.c:315
 msgid "(disabled)"
 msgstr ""
 
-#: src/lang.c:311
+#: src/lang.c:316
 #, c-format
 msgid "NNTP TIMEOUT  : %d seconds %s\n"
 msgstr ""
 
-#: src/lang.c:313
+#: src/lang.c:318
 #, c-format
 msgid "IMPLEMENTATION: %s\n"
 msgstr ""
 
-#: src/lang.c:315
+#: src/lang.c:320
 #, c-format
 msgid "MAXARTNUM     : %s\n"
 msgstr ""
 
-#: src/lang.c:317
+#: src/lang.c:322
 #, fuzzy, c-format
 msgid "Reading via NNTP (%s).\n"
 msgstr "é‡æ–°è¯»å– %sâ€¦"
 
-#: src/lang.c:318
+#: src/lang.c:323
 #, c-format
 msgid "NNTPPORT      : %u\n"
 msgstr ""
 
-#: src/lang.c:319
+#: src/lang.c:324
 #, fuzzy
 msgid "read only"
 msgstr "æœªè¯» "
 
-#: src/lang.c:320
+#: src/lang.c:325
 msgid "read/write"
 msgstr ""
 
-#: src/lang.c:321
+#: src/lang.c:326
 #, c-format
 msgid "NNTPSERVER    : %s\n"
 msgstr ""
 
-#: src/lang.c:323
+#: src/lang.c:327
+#, c-format
+msgid "CONNECTIONTYPE: %s\n"
+msgstr ""
+
+#: src/lang.c:329
 #, c-format
 msgid "Reading %s via NNTPS (%s; "
 msgstr ""
 
-#: src/lang.c:325
+#: src/lang.c:330
 #, fuzzy, c-format
 msgid "Certificate #%d\n"
 msgstr "ç¼–è¾‘ç­›é€‰å™¨æ–‡ä»¶"
 
-#: src/lang.c:327
+#: src/lang.c:332
 #, c-format
 msgid "Issuer : %s\n"
 msgstr ""
 
-#: src/lang.c:328
+#: src/lang.c:333
 #, fuzzy
 msgid ""
 "\n"
@@ -1015,12 +1040,12 @@ msgstr ""
 "ç¾¤ç»„/è®¨è®ºä¸²/æ–‡ç« æ“ä½œ\n"
 "-------------------------------"
 
-#: src/lang.c:329
+#: src/lang.c:334
 #, fuzzy, c-format
 msgid "Subject: %s\n"
 msgstr "ä¸»æ—¨"
 
-#: src/lang.c:330
+#: src/lang.c:335
 #, fuzzy
 msgid ""
 "\n"
@@ -1030,219 +1055,236 @@ msgstr ""
 "èŒƒå›´æ“ä½œ\n"
 "----------------"
 
-#: src/lang.c:333
+#: src/lang.c:336
+msgid "trusted"
+msgstr ""
+
+#: src/lang.c:337
+msgid "untrusted"
+msgstr ""
+
+#: src/lang.c:339
 msgid "UNEXPECTED, possible BUG"
 msgstr ""
 
-#: src/lang.c:334
+#: src/lang.c:340
 msgid "tolerated as \"-k\" (insecure) requested"
 msgstr ""
 
-#: src/lang.c:335
+#: src/lang.c:341
 #, c-format
 msgid ""
 "Server certificate verification FAILED:\n"
 "\t%s (%s)\n"
 msgstr ""
 
-#: src/lang.c:336
+#: src/lang.c:342
 #, fuzzy
 msgid "Server certificate verified successfully.\n"
 msgstr "newsrc æ–‡ä»¶å·²æˆåŠŸä¿å­˜ã€‚\n"
 
-#: src/lang.c:338
-msgid "trusted"
-msgstr ""
-
-#: src/lang.c:339
-msgid "untrusted"
-msgstr ""
-
-#: src/lang.c:342
+#: src/lang.c:346
 msgid "Server certificate verification FAILED: <can't get reason>\n"
 msgstr ""
 
-#: src/lang.c:346
+#: src/lang.c:350
 #, c-format
 msgid "%s %s (strength %d)\n"
 msgstr ""
 
-#: src/lang.c:353
+#: src/lang.c:357
 #, c-format
 msgid "Cook article failed, %s is exiting"
 msgstr ""
 
-#: src/lang.c:354
+#: src/lang.c:358
 msgid "<CR>"
 msgstr "<CR>"
 
-#: src/lang.c:355
+#: src/lang.c:359
 msgid "Creating active file for saved groups...\n"
 msgstr "ä¸ºå·²å­˜ç¾¤ç»„åˆ›å»ºçŽ°ç”¨æ–‡ä»¶â€¦\n"
 
-#: src/lang.c:356
-msgid "Creating newsrc file...\n"
+#: src/lang.c:360
+#, fuzzy, c-format
+msgid "Creating %s file...\n"
 msgstr "åˆ›å»º newsrc æ–‡ä»¶â€¦\n"
 
-#: src/lang.c:358 src/lang.c:1666 src/lang.c:1686
+#: src/lang.c:362 src/lang.c:1715 src/lang.c:1735
 msgid "Default"
 msgstr "ç¼ºçœ"
 
-#: src/lang.c:359
+#: src/lang.c:363
 msgid "Delete saved files that have been post processed?"
 msgstr "åˆ é™¤ç»è¿‡åŽç½®å¤„ç†çš„å·²å­˜æ–‡ä»¶ï¼Ÿ"
 
-#: src/lang.c:360
+#: src/lang.c:364
 msgid "Deleting temporary files..."
 msgstr "åˆ é™¤æš‚å­˜æ–‡ä»¶â€¦"
 
-#: src/lang.c:362
+#: src/lang.c:366
 msgid "*** End of article ***"
 msgstr "*** æ–‡ç« ç»“æŸ ***"
 
-#: src/lang.c:363
+#: src/lang.c:367
 msgid "*** End of articles ***"
 msgstr "*** æ–‡ç« ç»“æŸ ***"
 
-#: src/lang.c:364
+#: src/lang.c:368
 msgid "*** End of attachments ***"
 msgstr "*** é™„ä»¶ç»“æŸ ***"
 
-#: src/lang.c:365
+#: src/lang.c:369
 msgid "*** End of groups ***"
 msgstr "*** ç¾¤ç»„ç»“æŸ ***"
 
-#: src/lang.c:366
+#: src/lang.c:370
 msgid "*** End of page ***"
 msgstr "*** é¡µé¢ç»“æŸ ***"
 
-#: src/lang.c:367
+#: src/lang.c:371
 #, fuzzy
 msgid "*** End of posted articles ***"
 msgstr "*** æ–‡ç« ç»“æŸ ***"
 
-#: src/lang.c:368
+#: src/lang.c:372
 msgid "*** End of scopes ***"
 msgstr "*** èŒƒå›´ç»“æŸ ***"
 
-#: src/lang.c:369
+#: src/lang.c:373
 msgid "*** End of thread ***"
 msgstr "*** è®¨è®ºä¸²ç»“æŸ ***"
 
-#: src/lang.c:370
+#: src/lang.c:374
 msgid "*** End of URLs ***"
 msgstr "*** ç½‘å€ç»“æŸ ***"
 
-#: src/lang.c:371
+#: src/lang.c:375
 msgid "Enter limit of articles to get> "
 msgstr "è¾“å…¥æå–æ–‡ç« çš„é™åˆ¶>"
 
-#: src/lang.c:372
+#: src/lang.c:376
 msgid "Enter Message-ID to go to> "
 msgstr "è¾“å…¥è¦å‰å¾€çš„æ¶ˆæ¯è¯†åˆ«å·>"
 
-#: src/lang.c:373
+#: src/lang.c:377
 msgid " and enter next unread thread"
 msgstr " å¹¶è¿›å…¥ä¸‹ä¸€ä¸ªæœªè¯»çš„è®¨è®ºä¸²"
 
-#: src/lang.c:374
+#: src/lang.c:378
 msgid " and enter next unread article"
 msgstr " å¹¶è¿›å…¥ä¸‹ä¸€ç¯‡æœªè¯»çš„æ–‡ç« "
 
-#: src/lang.c:375
+#: src/lang.c:379
 msgid " and enter next unread group"
 msgstr " å¹¶è¿›å…¥ä¸‹ä¸€ä¸ªæœªè¯»çš„ç¾¤ç»„"
 
-#: src/lang.c:376
+#: src/lang.c:380
 msgid "Enter option number> "
 msgstr "è¾“å…¥é€‰é¡¹æ•°å­—>"
 
-#: src/lang.c:377
+#: src/lang.c:381
 #, c-format
 msgid "Enter range [%s]> "
 msgstr "è¾“å…¥èŒƒå›´ [%s]>"
 
-#: src/lang.c:378
-msgid ""
-"\n"
-"Warning: Approved: header used.\n"
-msgstr ""
-"\n"
-"è­¦å‘Šï¼šå·²ä½¿ç”¨ Approved: æ ‡å¤´ã€‚\n"
-
 #: src/lang.c:382
-msgid ""
-"\n"
-"Error: Bad address in Approved: header.\n"
-msgstr ""
-"\n"
-"é”™è¯¯ï¼šä¸å½“çš„åœ°å€äºŽ Approved: æ ‡å¤´ã€‚\n"
+#, fuzzy, c-format
+msgid "Error: Could not appended %s to %s"
+msgstr "é”™è¯¯ï¼šé‡å‘½å %s ä¸º %s"
 
 #: src/lang.c:383
 msgid ""
 "\n"
-"Error: Bad address in From: header.\n"
+"Warning: Approved: header used.\n"
 msgstr ""
 "\n"
-"é”™è¯¯ï¼šä¸å½“çš„åœ°å€äºŽ From: æ ‡å¤´ã€‚\n"
+"è­¦å‘Šï¼šå·²ä½¿ç”¨ Approved: æ ‡å¤´ã€‚\n"
 
 #: src/lang.c:384
-msgid ""
-"\n"
-"Error: Bad FQDN in Message-ID: header.\n"
+#, c-format
+msgid "  Line %d: \"%s\": given string too long.\n"
 msgstr ""
-"\n"
-"é”™è¯¯ï¼šä¸å½“çš„ FQDN äºŽ Message-ID: æ ‡å¤´ã€‚\n"
 
 #: src/lang.c:385
+#, fuzzy, c-format
+msgid "  Line %d: \"%s\": unrecognized attribute.\n"
+msgstr "æ— æ³•è¾¨è¯†çš„å±žæ€§ï¼š%s"
+
+#: src/lang.c:386
+#, c-format
+msgid "  Line %d: \"%s\": malformed line, '=' missing.\n"
+msgstr ""
+
+#: src/lang.c:390
+#, fuzzy, c-format
 msgid ""
 "\n"
-"Error: Bad address in Reply-To: header.\n"
+"Error: Bad address in \"%s\" header.\n"
 msgstr ""
 "\n"
-"é”™è¯¯ï¼šä¸å½“çš„åœ°å€äºŽ Reply-To: æ ‡å¤´ã€‚\n"
+"é”™è¯¯ï¼šä¸å½“çš„åœ°å€åœ¨ From: æ ‡å¤´å†…ã€‚\n"
 
-#: src/lang.c:386
+#: src/lang.c:391
 msgid ""
 "\n"
-"Error: Bad address in To: header.\n"
+"Error: Bad FQDN in Message-ID: header.\n"
 msgstr ""
 "\n"
-"é”™è¯¯ï¼šä¸å½“çš„åœ°å€åœ¨ From: æ ‡å¤´å†…ã€‚\n"
+"é”™è¯¯ï¼šä¸å½“çš„ FQDN äºŽ Message-ID: æ ‡å¤´ã€‚\n"
 
-#: src/lang.c:388
+#: src/lang.c:393
+#, fuzzy, c-format
+msgid "Can't use literal IPv%d-address %s with TLS (-T)"
+msgstr "æ²¡æœ‰é‚®ä»¶åœ°å€"
+
+#: src/lang.c:396
 #, c-format
 msgid "Can't unlock %s"
 msgstr "æ— æ³•è§£é™¤é”å®š %s"
 
-#: src/lang.c:389
+#: src/lang.c:397
 #, c-format
 msgid "Couldn't dotlock %s - article not appended!"
 msgstr "æ— æ³•ç‚¹é” %s - æ–‡ç« æœªé™„åŠ ï¼"
 
-#: src/lang.c:390
+#: src/lang.c:398
 #, c-format
 msgid "Couldn't lock %s - article not appended!"
 msgstr "æ— æ³•é”å®š %s - æ–‡ç« æœªé™„åŠ ï¼"
 
-#: src/lang.c:393
+#: src/lang.c:401
 #, c-format
 msgid ""
 "Server requires authentication but compression (-C) is already active.\n"
 "Restart %s with -A cmd.-line switch in conjunction with -C.\n"
 msgstr ""
 
-#: src/lang.c:396
+#: src/lang.c:404
 #, c-format
 msgid "Corrupted file %s"
 msgstr "å·²æŸåæ–‡ä»¶ %s"
 
-#: src/lang.c:397
+#: src/lang.c:406
 #, c-format
 msgid "couldn't expand %s\n"
 msgstr "æ— æ³•å±•å¼€ %s\n"
 
-#: src/lang.c:399
+#: src/lang.c:408
+#, c-format
+msgid "Error: Custom format empty. Using default \"%s\"."
+msgstr ""
+
+#: src/lang.c:409
+#, fuzzy
+msgid ""
+"\n"
+"Error: Article is empty.\n"
+msgstr ""
+"\n"
+"é”™è¯¯ï¼šâ€œ%s:â€è¿™è¡Œæ˜¯ç©ºçš„ã€‚\n"
+
+#: src/lang.c:411
 msgid ""
 "\n"
 "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n"
@@ -1250,36 +1292,41 @@ msgstr ""
 "\n"
 "é”™è¯¯ï¼šä¸å…è®¸è·Ÿè´´â€œposterâ€å’Œæ–°é—»ç¾¤ç»„ï¼\n"
 
-#: src/lang.c:400
+#: src/lang.c:412
 #, c-format
 msgid "Error: Custom format exceeds screen width. Using default \"%s\"."
 msgstr ""
 
-#: src/lang.c:401
+#: src/lang.c:413
 msgid "Internal error in GNKSA routine - send bug report.\n"
 msgstr "GNKSA ä¾‹ç¨‹ä¸­å‘ç”Ÿå†…éƒ¨é”™è¯¯ - å‘é€é”™è¯¯æŠ¥å‘Šã€‚\n"
 
-#: src/lang.c:402
+#: src/lang.c:414
 msgid "Left angle bracket missing in route address.\n"
 msgstr "åœ¨è·¯ç”±åœ°å€ä¸­ç¼ºå°‘å·¦è§’æ‹¬å·ã€‚\n"
 
-#: src/lang.c:403
+#: src/lang.c:415
 msgid "Left parenthesis missing in old-style address.\n"
 msgstr "åœ¨æ—§å¼åœ°å€ä¸­ç¼ºå°‘å·¦æ‹¬å·ã€‚\n"
 
-#: src/lang.c:404
+#: src/lang.c:416
 msgid "Right parenthesis missing in old-style address.\n"
 msgstr "åœ¨æ—§å¼åœ°å€ä¸­ç¼ºå°‘å³æ‹¬å·ã€‚\n"
 
-#: src/lang.c:405
+#: src/lang.c:417
 msgid "At-sign missing in mail address.\n"
 msgstr "åœ¨é‚®ä»¶åœ°å€ä¸­ç¼ºå°‘ @ ç¬¦å·ã€‚\n"
 
-#: src/lang.c:406
+#: src/lang.c:418
+#, fuzzy
+msgid "Right angle bracket missing in route address.\n"
+msgstr "åœ¨è·¯ç”±åœ°å€ä¸­ç¼ºå°‘å·¦è§’æ‹¬å·ã€‚\n"
+
+#: src/lang.c:419
 msgid "Single component FQDN is not allowed. Add your domain.\n"
 msgstr "ä¸å…è®¸å•ä¸€ç»„æˆ FQDNã€‚è¯·åŠ å…¥æ‚¨çš„åŸŸåã€‚\n"
 
-#: src/lang.c:407
+#: src/lang.c:420
 msgid ""
 "Invalid domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1287,7 +1334,7 @@ msgstr ""
 "æ— æ•ˆçš„åŸŸåã€‚å¦‚æžœæ‚¨çš„é¡¶å±‚åŸŸåçœŸçš„å­˜åœ¨ï¼Œè¯·å‘é€é”™è¯¯æŠ¥å‘Šã€‚\n"
 "ä½¿ç”¨ .invalid ä½œä¸ºä¼ªè£…åœ°å€çš„é¡¶å±‚åŸŸåã€‚\n"
 
-#: src/lang.c:408
+#: src/lang.c:421
 msgid ""
 "Illegal domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1295,7 +1342,7 @@ msgstr ""
 "ä¸åˆæ³•çš„åŸŸåã€‚å¦‚æžœæ‚¨çš„é¡¶å±‚åŸŸåçœŸçš„å­˜åœ¨ï¼Œè¯·å‘é€é”™è¯¯æŠ¥å‘Šã€‚\n"
 "ä½¿ç”¨ .invalid ä½œä¸ºä¼ªè£…åœ°å€çš„é¡¶å±‚åŸŸåã€‚\n"
 
-#: src/lang.c:409
+#: src/lang.c:422
 msgid ""
 "Unknown domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1303,52 +1350,52 @@ msgstr ""
 "ä¸æ˜ŽåŸŸåã€‚å¦‚æžœæ‚¨çš„é¡¶å±‚åŸŸåçœŸçš„å­˜åœ¨ï¼Œè¯·å‘é€é”™è¯¯æŠ¥å‘Šã€‚\n"
 "ä½¿ç”¨ .invalid ä½œä¸ºä¼ªè£…åœ°å€çš„é¡¶å±‚åŸŸåã€‚\n"
 
-#: src/lang.c:410
+#: src/lang.c:423
 msgid "Illegal character in FQDN.\n"
 msgstr "FQDN ä¸­æœ‰ä¸åˆæ³•çš„å­—ç¬¦ã€‚\n"
 
-#: src/lang.c:411
+#: src/lang.c:424
 msgid "Zero length FQDN component not allowed.\n"
 msgstr "ä¸å…è®¸é›¶é•¿åº¦çš„ FQDN ç»„æˆã€‚\n"
 
-#: src/lang.c:412
+#: src/lang.c:425
 msgid "FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr "FQDN ç»„æˆè¶…å‡ºå…è®¸çš„æœ€å¤§é•¿åº¦ (63 ä¸ªå­—ç¬¦)ã€‚\n"
 
-#: src/lang.c:413
+#: src/lang.c:426
 msgid "FQDN component may not start or end with hyphen.\n"
 msgstr "FQDN ç»„æˆä¸å¯ä»¥è¿žå­—å·èµ·å§‹æˆ–ç»“æŸã€‚\n"
 
-#: src/lang.c:414
+#: src/lang.c:427
 msgid "FQDN component may not start with digit.\n"
 msgstr "FQDN ç»„æˆä¸å¯ä»¥æ•°å­—èµ·å§‹ã€‚\n"
 
-#: src/lang.c:415
+#: src/lang.c:428
 msgid "Domain literal has impossible numeric value.\n"
 msgstr "åŸŸåå­—é¢é‡å…·æœ‰ä¸å¯èƒ½çš„æ•°å€¼ã€‚\n"
 
-#: src/lang.c:416
+#: src/lang.c:429
 msgid ""
 "Domain literal is for private use only and not allowed for global use.\n"
 msgstr "åŸŸåå­—é¢é‡åªé™ç§äººä½¿ç”¨è€Œä¸å…è®¸å…¨å±€ä½¿ç”¨ã€‚\n"
 
-#: src/lang.c:417
+#: src/lang.c:430
 msgid "Right bracket missing in domain literal.\n"
 msgstr "åŸŸåå­—é¢é‡ä¸­ç¼ºå°‘å³ä¸­æ‹¬å·ã€‚\n"
 
-#: src/lang.c:418
+#: src/lang.c:431
 msgid "Missing localpart of mail address.\n"
 msgstr "ç¼ºå°‘é‚®ä»¶åœ°å€çš„æœ¬åœ°éƒ¨åˆ†ã€‚\n"
 
-#: src/lang.c:419
+#: src/lang.c:432
 msgid "Illegal character in localpart of mail address.\n"
 msgstr "é‚®ä»¶åœ°å€çš„æœ¬åœ°éƒ¨åˆ†æœ‰ä¸åˆæ³•çš„å­—ç¬¦ã€‚\n"
 
-#: src/lang.c:420
+#: src/lang.c:433
 msgid "Zero length localpart component not allowed.\n"
 msgstr "ä¸å…è®¸é›¶é•¿åº¦çš„æœ¬åœ°éƒ¨åˆ†ç»„æˆã€‚\n"
 
-#: src/lang.c:421
+#: src/lang.c:434
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
@@ -1356,7 +1403,7 @@ msgstr ""
 "çœŸå®žåç§°ä¸­æœ‰ä¸åˆæ³•çš„å­—ç¬¦ã€‚\n"
 "è·¯ç”±åœ°å€ä¸­çš„å¼•è¨€ç»“æŸå­—è¯ä¸å¯ä»¥åŒ…å«â€˜!()<>@,;:\\.[]â€™ã€‚\n"
 
-#: src/lang.c:422
+#: src/lang.c:435
 msgid ""
 "Illegal character in realname.\n"
 "Quoted words may not contain '()<>\\'.\n"
@@ -1364,7 +1411,7 @@ msgstr ""
 "çœŸå®žåç§°ä¸­æœ‰ä¸åˆæ³•çš„å­—ç¬¦ã€‚\n"
 "å¼•è¨€å­—è¯ä¸å¯ä»¥åŒ…å«â€˜()<>\\â€™ã€‚\n"
 
-#: src/lang.c:423
+#: src/lang.c:436
 msgid ""
 "Illegal character in realname.\n"
 "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
@@ -1372,11 +1419,11 @@ msgstr ""
 "çœŸå®žåç§°ä¸­æœ‰ä¸åˆæ³•çš„å­—ç¬¦ã€‚\n"
 "ç¼–ç å­—è¯åœ¨å‚æ•°ä¸­ä¸å¯ä»¥åŒ…å«â€˜!()<>@,;:\"\\.[]/=â€™ã€‚\n"
 
-#: src/lang.c:424
+#: src/lang.c:437
 msgid "Bad syntax in encoded word used in realname.\n"
 msgstr "ç”¨äºŽçœŸå®žåç§°çš„ç¼–ç å­—è¯ä¸­æœ‰ä¸å½“çš„è¯­æ³•ã€‚\n"
 
-#: src/lang.c:425
+#: src/lang.c:438
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '()<>\\' in old-style addresses.\n"
@@ -1384,7 +1431,7 @@ msgstr ""
 "çœŸå®žåç§°ä¸­æœ‰ä¸åˆæ³•çš„å­—ç¬¦ã€‚\n"
 "å¼•è¨€ç»“æŸå­—è¯åœ¨æ—§å¼åœ°å€ä¸­ä¸å¯ä»¥åŒ…å«â€˜()<>\\â€™ã€‚\n"
 
-#: src/lang.c:426
+#: src/lang.c:439
 msgid ""
 "Illegal character in realname.\n"
 "Control characters and unencoded 8bit characters > 127 are not allowed.\n"
@@ -1392,7 +1439,12 @@ msgstr ""
 "çœŸå®žåç§°ä¸­æœ‰ä¸åˆæ³•çš„å­—ç¬¦ã€‚\n"
 "æŽ§åˆ¶å­—ç¬¦å’Œæœªç¼–ç  8 æ¯”ç‰¹å­—ç¬¦ä¸å…è®¸ > 127ã€‚\n"
 
-#: src/lang.c:427
+#: src/lang.c:440
+#, fuzzy
+msgid "Missing realname.\n"
+msgstr "ç¼ºå°‘éƒ¨åˆ†ã€‚"
+
+#: src/lang.c:441
 msgid ""
 "\n"
 "Error: No blank line found after header.\n"
@@ -1400,7 +1452,16 @@ msgstr ""
 "\n"
 "é”™è¯¯ï¼šæ ‡å¤´ä¹‹åŽæ‰¾ä¸åˆ°ä»»ä½•ç©ºè¡Œã€‚\n"
 
-#: src/lang.c:428
+#: src/lang.c:442
+#, fuzzy
+msgid ""
+"\n"
+"Error: Illegal Distribution \"all\" used.\n"
+msgstr ""
+"\n"
+"é”™è¯¯ï¼šä¸åˆæ³•çš„æ ¼å¼ %sã€‚\n"
+
+#: src/lang.c:443
 #, c-format
 msgid ""
 "\n"
@@ -1410,7 +1471,7 @@ msgstr ""
 "é”™è¯¯ï¼šä¸åˆæ³•çš„æ ¼å¼ %sã€‚\n"
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:430
+#: src/lang.c:445
 msgid ""
 "\n"
 "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
@@ -1423,7 +1484,7 @@ msgstr ""
 "      US-ASCII  - è¯·ä½¿ç”¨å¯ç»„é…é€‰é¡¹çš„ M)èœå• æˆ–è€…ç»ç”±ç¼–è¾‘\n"
 "      tinrc æ¥å˜æ›´è¿™ä¸ªè®¾ç½®ä¸ºé€‚åˆæ‚¨çš„è¯­è¨€çš„å€¼ã€‚\n"
 
-#: src/lang.c:435
+#: src/lang.c:450
 msgid ""
 "\n"
 "Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
@@ -1439,7 +1500,7 @@ msgstr ""
 "      è¿™å¯ä»¥åˆ©ç”¨å¯ç»„é…é€‰é¡¹çš„  M)èœå• æˆ–æ˜¯ç»ç”±ç¼–è¾‘ tinrc æ¥\n"
 "      è¾¾æˆã€‚\n"
 
-#: src/lang.c:441
+#: src/lang.c:456
 msgid ""
 "\n"
 "Error: Article starts with blank line instead of header\n"
@@ -1447,7 +1508,7 @@ msgstr ""
 "\n"
 "é”™è¯¯ï¼šæ–‡ç« ä»¥ç©ºè¡Œèµ·å§‹è€Œéžæ ‡å¤´\n"
 
-#: src/lang.c:442
+#: src/lang.c:457
 #, c-format
 msgid ""
 "\n"
@@ -1458,7 +1519,7 @@ msgstr ""
 "é”™è¯¯ï¼šç¬¬ %d è¡Œçš„æ ‡å¤´äºŽæ ‡å¤´åç§°ä¹‹åŽæ²¡æœ‰å†’å·ï¼š\n"
 "%s\n"
 
-#: src/lang.c:443
+#: src/lang.c:458
 #, c-format
 msgid ""
 "\n"
@@ -1467,7 +1528,7 @@ msgstr ""
 "\n"
 "é”™è¯¯ï¼šâ€œ%s:â€è¿™è¡Œæ˜¯ç©ºçš„ã€‚\n"
 
-#: src/lang.c:444
+#: src/lang.c:459
 #, c-format
 msgid ""
 "\n"
@@ -1476,7 +1537,7 @@ msgstr ""
 "\n"
 "é”™è¯¯ï¼šâ€œ%s:â€æ–‡ç« æ ‡å¤´ç¼ºå°‘è¿™è¡Œã€‚\n"
 
-#: src/lang.c:445
+#: src/lang.c:460
 #, c-format
 msgid ""
 "\n"
@@ -1485,7 +1546,7 @@ msgstr ""
 "\n"
 "é”™è¯¯ï¼š%s å«æœ‰éž 7 æ¯”ç‰¹å­—ç¬¦ã€‚\n"
 
-#: src/lang.c:446
+#: src/lang.c:461
 #, c-format
 msgid ""
 "\n"
@@ -1496,7 +1557,7 @@ msgstr ""
 "é”™è¯¯ï¼šç¬¬ %d è¡Œçš„æ ‡å¤´äºŽå†’å·ä¹‹åŽæ²¡æœ‰ç©ºæ ¼ï¼š\n"
 "%s\n"
 
-#: src/lang.c:447
+#: src/lang.c:462
 #, c-format
 msgid ""
 "\n"
@@ -1505,7 +1566,7 @@ msgstr ""
 "\n"
 "é”™è¯¯ï¼šåœ¨æ ‡å¤´ä¸­å‡ºçŽ°å¤šé‡çš„ (%d)â€œ%s:â€è¡Œã€‚\n"
 
-#: src/lang.c:448
+#: src/lang.c:463
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -1516,35 +1577,47 @@ msgstr ""
 "é”™è¯¯ï¼šç¬¬ %d è¡Œçš„æ ‡å¤´äºŽå†’å·ä¹‹åŽæ²¡æœ‰ç©ºæ ¼ï¼š\n"
 "%s\n"
 
-#: src/lang.c:450
+#: src/lang.c:464
+msgid ""
+"\n"
+"Error: This is a mailgroup, but a recipient (\"To:\") is missing.\n"
+msgstr ""
+
+#: src/lang.c:465
+#, c-format
+msgid "Mixed up '-f'/'-F'? %s %s"
+msgstr ""
+
+#: src/lang.c:467
 #, c-format
 msgid "Insecure permissions of %s (%o)"
 msgstr "%s (%o) çš„ä¸å®‰å…¨æƒé™"
 
-#: src/lang.c:453
+#: src/lang.c:470
 #, fuzzy, c-format
 msgid "Line %d is longer than %d octets and should be folded.\n"
 msgstr ""
 "ç¬¬ %d è¡Œé•¿åº¦è¶…è¿‡ 998 å­—èŠ‚è€Œï¼Œä½†æ˜¯\n"
 "ç¼–ç æœªè¢«è®¾ç½®ä¸º %s\n"
 
-#: src/lang.c:455
+#: src/lang.c:472
 #, fuzzy, c-format
 msgid "Line %d is longer than %d octets and should be shortened.\n"
 msgstr ""
 "ç¬¬ %d è¡Œé•¿åº¦è¶…è¿‡ 998 å­—èŠ‚è€Œï¼Œä½†æ˜¯\n"
 "ç¼–ç æœªè¢«è®¾ç½®ä¸º %s\n"
 
-#: src/lang.c:461
-#, c-format
-msgid "MIME parse error: Unexpected end of %s/%s article"
+#: src/lang.c:477
+#, fuzzy, c-format
+msgid "MIME parse error: Unexpected end of %s/%s article\n"
 msgstr "MIME å‰–æžé”™è¯¯ï¼šæœªé¢„æœŸçš„ %s/%s æ–‡ç« ç»“æŸ"
 
-#: src/lang.c:462
-msgid "MIME parse error: Start boundary whilst reading headers"
+#: src/lang.c:478
+#, fuzzy
+msgid "MIME parse error: Start boundary whilst reading headers\n"
 msgstr "MIME å‰–æžé”™è¯¯ï¼šè¯»å–æ ‡å¤´æ—¶å‡ºçŽ°èµ·å§‹è¾¹ç•Œ"
 
-#: src/lang.c:464
+#: src/lang.c:479
 msgid ""
 "\n"
 "Error: \"poster\" is not allowed in Newsgroups!\n"
@@ -1552,16 +1625,11 @@ msgstr ""
 "\n"
 "é”™è¯¯ï¼šåœ¨æ–°é—»ç¾¤ç»„ä¸­ä¸å…è®¸â€œposterâ€ï¼\n"
 
-#: src/lang.c:465
+#: src/lang.c:480
 msgid "Can't get a (fully-qualified) domain-name!"
 msgstr "æ— æ³•æå– (å®Œå…¨åˆæ ¼çš„) åŸŸååç§°ï¼"
 
-#: src/lang.c:466
-#, c-format
-msgid "No permissions to go into %s\n"
-msgstr "æ²¡æœ‰æƒé™å¯è¿›å…¥ %s\n"
-
-#: src/lang.c:468
+#: src/lang.c:482
 msgid ""
 "\n"
 "Error: From: line missing.\n"
@@ -1569,34 +1637,44 @@ msgstr ""
 "\n"
 "é”™è¯¯ï¼š From: è¡Œç¼ºå¤±ã€‚\n"
 
-#: src/lang.c:470
+#: src/lang.c:485
+#, c-format
+msgid "No permissions to go into %s\n"
+msgstr "æ²¡æœ‰æƒé™å¯è¿›å…¥ %s\n"
+
+#: src/lang.c:486
 #, c-format
 msgid "No read permissions for %s\n"
 msgstr "æ²¡æœ‰ %s çš„è¯»å–æƒé™\n"
 
-#: src/lang.c:471
+#: src/lang.c:487
 #, c-format
 msgid "File %s does not exist\n"
 msgstr "æ–‡ä»¶ %s ä¸å­˜åœ¨\n"
 
-#: src/lang.c:472
+#: src/lang.c:488
 #, c-format
 msgid "No write permissions for %s\n"
 msgstr "æ²¡æœ‰ %s çš„å†™å…¥æƒé™\n"
 
-#: src/lang.c:473
+#: src/lang.c:490
+#, fuzzy, c-format
+msgid "Not a literal IPv6 address: %s"
+msgstr "æ²¡æœ‰é‚®ä»¶åœ°å€"
+
+#: src/lang.c:493
 msgid "Can't get user information (/etc/passwd missing?)"
 msgstr "æ— æ³•æå–ç”¨æˆ·ä¿¡æ¯ (ç¼ºå°‘ /etc/passwd ?)"
 
-#: src/lang.c:475
+#: src/lang.c:495
 msgid "errors"
 msgstr "é”™è¯¯"
 
-#: src/lang.c:476
+#: src/lang.c:496
 msgid "error"
 msgstr "é”™è¯¯"
 
-#: src/lang.c:479
+#: src/lang.c:499
 #, c-format
 msgid ""
 "\n"
@@ -1605,61 +1683,61 @@ msgstr ""
 "\n"
 "é”™è¯¯äºŽç¬¬ %d è¡Œï¼šâ€œSender:â€æ ‡å¤´ä¸è¢«å…è®¸ (å°†ä¼šä¸ºæ‚¨åŠ å…¥)\n"
 
-#: src/lang.c:481
+#: src/lang.c:501
 #, c-format
 msgid "Server has non of the groups listed in %s"
 msgstr "æœåŠ¡å™¨ä¸å…·ä»»ä½•ä¸€ä¸ªåˆ—åœ¨ %s ä¸­çš„ç¾¤ç»„"
 
-#: src/lang.c:482
+#: src/lang.c:502
 #, c-format
 msgid "Error: unlink %s"
 msgstr ""
 
-#: src/lang.c:483
+#: src/lang.c:503
 msgid "Unknown display level"
 msgstr "ä¸æ˜Žçš„æ˜¾ç¤ºå±‚çº§"
 
-#: src/lang.c:485
+#: src/lang.c:505
 msgid "Unreachable?\n"
 msgstr "æ— æ³•è¿žæŽ¥ï¼Ÿ\n"
 
-#: src/lang.c:487
+#: src/lang.c:507
 msgid "<ESC>"
 msgstr "<ESC>"
 
-#: src/lang.c:488
+#: src/lang.c:508
 msgid "Exiting..."
 msgstr "æ­£åœ¨ç¦»å¼€â€¦"
 
-#: src/lang.c:489
+#: src/lang.c:509
 msgid "leaving external mail-reader"
 msgstr "ç¦»å¼€å¤–éƒ¨é‚®ä»¶é˜…è¯»å™¨"
 
-#: src/lang.c:490
+#: src/lang.c:510
 #, c-format
 msgid "Extracting %s..."
 msgstr "æ­£åœ¨æˆªå– %sâ€¦"
 
-#: src/lang.c:492
+#: src/lang.c:512
 #, c-format
 msgid "Error writing %s file. Filesystem full? File reset to previous state."
 msgstr "å†™å…¥ %s æ–‡ä»¶æ—¶å‘ç”Ÿé”™è¯¯ã€‚æ–‡ä»¶ç³»ç»Ÿå·²æ»¡ï¼Ÿæ–‡ä»¶é‡ç½®åˆ°ä¸Šä¸€ä¸ªçŠ¶æ€ã€‚"
 
-#: src/lang.c:493
+#: src/lang.c:513
 #, c-format
 msgid "Error making backup of %s file. Filesystem full?"
 msgstr "åˆ¶ä½œæ–‡ä»¶ %s å¤‡ä»½æ—¶å‘ç”Ÿé”™è¯¯ã€‚æ–‡ä»¶ç³»ç»Ÿå·²æ»¡ï¼Ÿ"
 
-#: src/lang.c:494
+#: src/lang.c:514
 #, fuzzy, c-format
 msgid "Filtering global rules (%d/%d) ('q' to quit)..."
 msgstr "ç­›é€‰å…¨å±€è§„åˆ™ (%d/%d)â€¦"
 
-#: src/lang.c:495
+#: src/lang.c:515
 msgid "Rule created by: "
 msgstr "è§„åˆ™åˆ›å»ºè€…ä¸ºï¼š"
 
-#: src/lang.c:496
+#: src/lang.c:516
 #, fuzzy
 msgid ""
 "# Format:\n"
@@ -1718,48 +1796,48 @@ msgstr ""
 "#   time=æ•°å­—         å¯é€‰ã€‚time_t å€¼è¡¨ç¤ºè§„åˆ™è¿‡æœŸçš„æ—¶é—´\n"
 "#\n"
 
-#: src/lang.c:522
+#: src/lang.c:542
 #, c-format
 msgid "Enter score for rule (default=%d): "
 msgstr "è¾“å…¥è§„åˆ™çš„åˆ†æ•° (ç¼ºçœ=%d)ï¼š"
 
-#: src/lang.c:523
+#: src/lang.c:543
 #, c-format
 msgid "Enter the score weight (range 0 < score <= %d)"
 msgstr "è¾“å…¥åˆ†æ•°çš„æƒé‡ (èŒƒå›´ 0 < åˆ†æ•° <= %d)"
 
 #. SCORE_MAX
-#: src/lang.c:524
+#: src/lang.c:544
 msgid "Full"
 msgstr "å…¨éƒ¨"
 
-#: src/lang.c:525
+#: src/lang.c:545
 msgid "Comment (optional)  : "
 msgstr "è¯„è®º (å¯é€‰çš„) ï¼š"
 
-#: src/lang.c:527
+#: src/lang.c:547
 msgid "Malformed overview entry: servername missing."
 msgstr ""
 
-#: src/lang.c:528
+#: src/lang.c:548
 #, fuzzy, c-format
 msgid "\t Xref: %s"
 msgstr "åˆ†æ•°"
 
-#: src/lang.c:529
+#: src/lang.c:549
 msgid "Skipping Xref filter"
 msgstr ""
 
-#: src/lang.c:531
+#: src/lang.c:551
 msgid "Apply pattern to    : "
 msgstr "å¥—ç”¨æ¨¡å¼åˆ°   ï¼š"
 
-#: src/lang.c:532
+#: src/lang.c:552
 #, c-format
 msgid "Enter pattern [%s]> "
 msgstr "è¾“å…¥æ¨¡å¼ [%s]>"
 
-#: src/lang.c:533
+#: src/lang.c:553
 #, c-format
 msgid ""
 "\n"
@@ -1768,862 +1846,867 @@ msgstr ""
 "\n"
 "æ‚¨æ‰€è¦æ±‚å¯¹äºŽæ‚¨æ–‡ç« çš„è·Ÿè´´ä¸ºä¸‹åˆ— %sï¼š\n"
 
-#: src/lang.c:534
+#: src/lang.c:554
 #, c-format
 msgid "  %s\t Answers will be directed to you by mail.\n"
 msgstr "  %s\t å›žå¤å°†ä¼šç›´æŽ¥ç»ç”±é‚®ä»¶å¯„ç»™æ‚¨ã€‚\n"
 
-#: src/lang.c:535
+#: src/lang.c:555
 msgid "-- forwarded message --\n"
 msgstr "-- å·²è½¬å‘æ¶ˆæ¯ --\n"
 
-#: src/lang.c:536
+#: src/lang.c:556
 msgid "-- end of forwarded message --\n"
 msgstr "-- å·²è½¬å‘æ¶ˆæ¯ç»“æŸ --\n"
 
-#: src/lang.c:537
+#: src/lang.c:557
 msgid "From: line (ignore case)      "
 msgstr "From: è¡Œ (å¿½ç•¥å¤§å°å†™)      "
 
-#: src/lang.c:538
+#: src/lang.c:558
 msgid "From: line (case sensitive)   "
 msgstr "From: è¡Œ (å¤§å°å†™ç›¸ç¬¦)   "
 
-#: src/lang.c:541
+#: src/lang.c:561
 #, c-format
 msgid "%s%s: Unknown host.\n"
 msgstr "%s%sï¼šä¸æ˜Žçš„ä¸»æœºã€‚\n"
 
-#: src/lang.c:543
+#: src/lang.c:563
 msgid "global "
 msgstr "å…¨å±€ "
 
-#: src/lang.c:544
+#: src/lang.c:564
 #, c-format
 msgid "Please use %.100s instead"
 msgstr "è¯·ä½¿ç”¨ %.100s ä½œä¸ºæ›¿ä»£"
 
-#: src/lang.c:545
+#: src/lang.c:565
 #, c-format
 msgid "%s is bogus"
 msgstr "%s æ˜¯å‡é€ çš„"
 
-#: src/lang.c:546
+#: src/lang.c:566
 #, c-format
 msgid "Group %s is moderated. Continue?"
 msgstr "ç¾¤ç»„ %s æœ‰äººä¸»æŒã€‚è¦ç»§ç»­ï¼Ÿ"
 
-#: src/lang.c:547
+#: src/lang.c:567
 msgid "groups"
 msgstr "ç¾¤ç»„"
 
-#: src/lang.c:548
+#: src/lang.c:568
 #, c-format
 msgid "Rereading %s..."
 msgstr "é‡æ–°è¯»å– %sâ€¦"
 
-#: src/lang.c:549
+#: src/lang.c:569
 msgid "Top Level Commands"
 msgstr "é¡¶å±‚å‘½ä»¤"
 
-#: src/lang.c:550
+#: src/lang.c:570
 msgid "Group Selection"
 msgstr "ç¾¤ç»„é€‰æ‹©"
 
-#: src/lang.c:551
+#: src/lang.c:571
 msgid "group"
 msgstr "ç¾¤ç»„"
 
-#: src/lang.c:552
+#: src/lang.c:572
 msgid ""
 "*** Group descriptions are disabled according to current select_format ***"
 msgstr ""
 
-#: src/lang.c:554
+#: src/lang.c:574
 msgid ""
 "One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr "ä¸€æˆ–å¤šè¡Œçš„è¯„è®ºã€‚<CR> ä»¥åŠ å…¥ä¸€è¡Œæˆ–æ˜¯å¦‚æžœç©ºè¡Œåˆ™ç»§ç»­ã€‚"
 
-#: src/lang.c:555
+#: src/lang.c:575
 msgid "From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "From: è¦åŠ å…¥ç­›é€‰å™¨æ–‡ä»¶çš„åˆ—ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:556
+#: src/lang.c:576
 msgid ""
 "Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr "è¦ç­›é€‰çš„æ–‡ç« è¡Œæ•°ã€‚< è¡¨ç¤ºè¾ƒå°‘ï¼Œ> è¡¨ç¤ºæ›´å¤šï¼Œ= è¡¨ç¤ºç›¸ç­‰ã€‚"
 
-#: src/lang.c:557
+#: src/lang.c:577
 msgid "Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "Message-ID: è¦åŠ å…¥ç­›é€‰å™¨æ–‡ä»¶çš„åˆ—ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:558
+#: src/lang.c:578
 msgid "Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "Subject: è¦åŠ å…¥ç­›é€‰å™¨æ–‡ä»¶çš„åˆ—ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:559
+#: src/lang.c:579
 msgid ""
 "Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr "å¦‚æžœ Subject: &  From: å„åˆ—ä¸æ˜¯æ‚¨æƒ³è¦çš„ï¼Œå°±è¾“å…¥æ–‡æœ¬æ¨¡å¼åˆ°ç­›é€‰å™¨ã€‚"
 
-#: src/lang.c:560
+#: src/lang.c:580
 msgid ""
 "Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr "é€‰å–åº”è¯¥å¥—ç”¨æ–‡æœ¬æ¨¡å¼çš„åœ°æ–¹ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:561
+#: src/lang.c:581
 msgid ""
 "Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr "æ‰€è¾“å…¥ç­›é€‰å™¨çš„è¿‡æœŸå¤©æ•°ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:562
+#: src/lang.c:582
 msgid ""
 "Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr "åªå¯¹ç›®å‰çš„ç¾¤ç»„æˆ–æ‰€æœ‰ç¾¤ç»„æ‰å¥—ç”¨ç é™¤ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:563
+#: src/lang.c:583
 msgid ""
 "Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr "å¯¹ç›®å‰çš„ç¾¤ç»„æˆ–æ‰€æœ‰ç¾¤ç»„å¥—ç”¨é€‰å–ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:564
+#: src/lang.c:584
 msgid "kill an article via a menu"
 msgstr "é€è¿‡èœå•ç é™¤æ–‡ç« "
 
-#: src/lang.c:565
+#: src/lang.c:585
 msgid "auto-select (hot) an article via a menu"
 msgstr "é€è¿‡èœå•è‡ªåŠ¨é€‰å– (çƒ­é—¨) æ–‡ç« "
 
-#: src/lang.c:566
+#: src/lang.c:586
 msgid "Browse URLs in article"
 msgstr "åœ¨æ–‡ç« ä¸­æµè§ˆç½‘å€"
 
-#: src/lang.c:567
+#: src/lang.c:587
 msgid "0 - 9\t  display article by number in current thread"
 msgstr "0 - 9\t  åœ¨ç›®å‰çš„è®¨è®ºä¸²ä¸­ä¾ç¼–å·æ˜¾ç¤ºæ–‡ç« "
 
-#: src/lang.c:569
+#: src/lang.c:589
 msgid "cancel (delete) or supersede (overwrite) current article"
 msgstr "å–æ¶ˆ (åˆ é™¤) æˆ–å–ä»£ (è¦†å†™) ç›®å‰çš„æ–‡ç« "
 
-#: src/lang.c:570
+#: src/lang.c:590
 msgid "post followup to current article"
 msgstr "è·Ÿè´´ç›®å‰çš„æ–‡ç« "
 
-#: src/lang.c:571
+#: src/lang.c:591
 msgid "post followup (don't copy text) to current article"
 msgstr "è·Ÿè´´ (ä¸å¤åˆ¶æ–‡æœ¬) ç›®å‰çš„æ–‡ç« "
 
-#: src/lang.c:572
+#: src/lang.c:592
 msgid "post followup to current article quoting complete headers"
 msgstr "è·Ÿè´´ç›®å‰çš„æ–‡ç« å¹¶å¼•è¿°å®Œæ•´æ ‡å¤´"
 
-#: src/lang.c:573
+#: src/lang.c:593
 msgid "repost chosen article to another group"
 msgstr "é‡æ–°å¼ è´´æ‰€é€‰æ–‡ç« åˆ°å¦å¤–çš„ç¾¤ç»„"
 
-#: src/lang.c:575
+#: src/lang.c:595
 msgid "edit article (mail-groups only)"
 msgstr "ç¼–è¾‘æ–‡ç«  (åªé™é‚®ä»¶ç¾¤ç»„)"
 
-#: src/lang.c:576
+#: src/lang.c:596
 msgid "display first article in current thread"
 msgstr "æ˜¾ç¤ºç›®å‰è®¨è®ºä¸²ä¸­çš„ç¬¬ä¸€ç¯‡æ–‡ç« "
 
-#: src/lang.c:577
+#: src/lang.c:597
 msgid "display first page of article"
 msgstr "æ˜¾ç¤ºæ–‡ç« çš„ç¬¬ä¸€é¡µ"
 
-#: src/lang.c:578
+#: src/lang.c:598
+#, fuzzy
+msgid "show MIME details of this article"
+msgstr "åœ¨è¿™ç¯‡æ–‡ç« ä¸­æ²¡æœ‰ç½‘å€"
+
+#: src/lang.c:599
 msgid "display last article in current thread"
 msgstr "æ˜¾ç¤ºç›®å‰è®¨è®ºä¸²ä¸­çš„æœ€åŽä¸€ç¯‡æ–‡ç« "
 
-#: src/lang.c:579
+#: src/lang.c:600
 msgid "display last page of article"
 msgstr "æ˜¾ç¤ºæ–‡ç« çš„æœ€åŽä¸€é¡µ"
 
-#: src/lang.c:580
+#: src/lang.c:601
 msgid "mark rest of thread as read and advance to next unread"
 msgstr "æ ‡è®°å…¶ä½™çš„è®¨è®ºä¸²ä¸ºå·²è¯»å¹¶è·³åˆ°ä¸‹ä¸€ä¸ªæœªè¯»"
 
-#: src/lang.c:581
+#: src/lang.c:602
 msgid "display next article"
 msgstr "æ˜¾ç¤ºä¸‹ä¸€ç¯‡æ–‡ç« "
 
-#: src/lang.c:582
+#: src/lang.c:603
 msgid "display first article in next thread"
 msgstr "æ˜¾ç¤ºä¸‹ä¸€ä¸ªè®¨è®ºä¸²çš„ç¬¬ä¸€ç¯‡æ–‡ç« "
 
-#: src/lang.c:583
+#: src/lang.c:604
 msgid "display next unread article"
 msgstr "æ˜¾ç¤ºä¸‹ä¸€ç¯‡æœªè¯»æ–‡ç« "
 
-#: src/lang.c:584
+#: src/lang.c:605
 msgid "go to the article that this one followed up"
 msgstr "å‰å¾€è¿™ç¯‡æ‰€è·Ÿè´´çš„æ–‡ç« "
 
-#: src/lang.c:585
+#: src/lang.c:606
 msgid "display previous article"
 msgstr "æ˜¾ç¤ºä¸Šä¸€ç¯‡æ–‡ç« "
 
-#: src/lang.c:586
+#: src/lang.c:607
 msgid "display previous unread article"
 msgstr "æ˜¾ç¤ºä¸Šä¸€ç¯‡æœªè¯»æ–‡ç« "
 
-#: src/lang.c:587
+#: src/lang.c:608
 msgid "quickly kill an article using defaults"
 msgstr "ä½¿ç”¨é»˜è®¤å€¼å¿«é€Ÿç é™¤æ–‡ç« "
 
-#: src/lang.c:588
+#: src/lang.c:609
 msgid "quickly auto-select (hot) an article using defaults"
 msgstr "ä½¿ç”¨é»˜è®¤å€¼å¿«é€Ÿè‡ªåŠ¨é€‰å– (çƒ­é—¨) æ–‡ç« "
 
-#: src/lang.c:589
+#: src/lang.c:610
 msgid "return to group selection level"
 msgstr "å›žåˆ°ç¾¤ç»„é€‰æ‹©å±‚çº§"
 
-#: src/lang.c:590
+#: src/lang.c:611
 msgid "reply through mail to author"
 msgstr "é€è¿‡é‚®ä»¶å›žå¤ä½œè€…"
 
-#: src/lang.c:591
+#: src/lang.c:612
 msgid "reply through mail (don't copy text) to author"
 msgstr "é€è¿‡é‚®ä»¶ (ä¸å¤åˆ¶æ–‡æœ¬) å›žå¤ä½œè€…"
 
-#: src/lang.c:592
+#: src/lang.c:613
 msgid "reply through mail to author quoting complete headers"
 msgstr "é€è¿‡é‚®ä»¶å›žå¤ä½œè€…å¹¶å¼•è¿°å®Œæ•´æ ‡å¤´"
 
-#: src/lang.c:593
+#: src/lang.c:614
 msgid "search backwards within this article"
 msgstr "åœ¨è¿™ç¯‡æ–‡ç« ä¹‹å†…å‘åŽæœç´¢"
 
-#: src/lang.c:594
+#: src/lang.c:615
 msgid "search forwards within this article"
 msgstr "åœ¨è¿™ç¯‡æ–‡ç« ä¹‹å†…å‘å‰æœç´¢"
 
-#: src/lang.c:595
+#: src/lang.c:616
 msgid "show article in raw-mode (including all headers)"
 msgstr "åœ¨åŽŸå§‹æ¨¡å¼ä¸­æ˜¾ç¤ºæ–‡ç«  (åŒ…å«æ‰€æœ‰æ ‡å¤´)"
 
-#: src/lang.c:596
+#: src/lang.c:617
 msgid "skip next block of included text"
 msgstr "è·³è¿‡æ‰€å«æ–‡æœ¬çš„ä¸‹ä¸€ä¸ªåŒºå—"
 
-#: src/lang.c:597
+#: src/lang.c:618
 msgid "toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr "åˆ‡æ¢æ˜¾ç¤ºç”±è¡¨æ ¼é¦ˆé€ (^L) æ‰€éšè—çš„åŒºæ®µ ON/OFF"
 
-#: src/lang.c:598
+#: src/lang.c:619
 msgid "toggle display of all headers"
 msgstr "åˆ‡æ¢æ˜¾ç¤ºæ‰€æœ‰æ ‡å¤´"
 
-#: src/lang.c:599
+#: src/lang.c:620
 msgid "toggle word highlighting on/off"
 msgstr "åˆ‡æ¢å­—è¯é«˜äº®åº¦æ˜¾ç¤º ON/OFF"
 
-#: src/lang.c:600
+#: src/lang.c:621
 msgid "toggle ROT-13 (basic decode) for current article"
 msgstr "åˆ‡æ¢ç›®å‰æ–‡ç« çš„ ROT-13 (åŸºæœ¬è§£ç )"
 
-#: src/lang.c:601
+#: src/lang.c:622
 msgid "toggle tabwidth 4 <-> 8"
 msgstr "åˆ‡æ¢è·³æ ¼å®½åº¦ 4 <-> 8"
 
-#: src/lang.c:602
+#: src/lang.c:623
 #, fuzzy
 msgid "toggle German TeX style decoding for current article"
 msgstr "åˆ‡æ¢ç›®å‰æ–‡ç« çš„å¾·è¯­ TeX æ ·å¼è§£ç "
 
-#: src/lang.c:603
+#: src/lang.c:624
 msgid "toggle display of uuencoded sections"
 msgstr "åˆ‡æ¢æ˜¾ç¤ºå¹¶ç¼–ç åŒºæ®µ"
 
-#: src/lang.c:604
+#: src/lang.c:625
 msgid "View/pipe/save multimedia attachments"
 msgstr "æŸ¥çœ‹/ç®¡é“/ä¿å­˜å¤šåª’ä½“é™„ä»¶"
 
-#: src/lang.c:605
+#: src/lang.c:626
 msgid "choose first attachment in list"
 msgstr "é€‰æ‹©åˆ—è¡¨ä¸­çš„ç¬¬ä¸€ä¸ªé™„ä»¶"
 
-#: src/lang.c:606
+#: src/lang.c:627
 msgid "0 - 9\t  choose attachment by number"
 msgstr "0 - 9\t  ä¾ç¼–å·é€‰æ‹©é™„ä»¶"
 
-#: src/lang.c:607
+#: src/lang.c:628
 msgid "choose last attachment in list"
 msgstr "é€‰æ‹©åˆ—è¡¨ä¸­çš„æœ€åŽä¸€ä¸ªé™„ä»¶"
 
-#: src/lang.c:609
+#: src/lang.c:630
 msgid "pipe attachment into command"
 msgstr "å°†é™„ä»¶è¿›å…¥ç®¡é“å‘½ä»¤"
 
-#: src/lang.c:610
+#: src/lang.c:631
 msgid "pipe raw attachment into command"
 msgstr "å°†åŽŸå§‹é™„ä»¶è¿›å…¥ç®¡é“å‘½ä»¤"
 
-#: src/lang.c:612
+#: src/lang.c:633
 msgid "save attachment to disk"
 msgstr "å°†é™„ä»¶ä¿å­˜åˆ°ç£ç›˜"
 
-#: src/lang.c:613
+#: src/lang.c:634
 msgid "search for attachments forwards"
 msgstr "å‘å‰æœç´¢é™„ä»¶"
 
-#: src/lang.c:614
+#: src/lang.c:635
 msgid "search for attachments backwards"
 msgstr "å‘åŽæœç´¢é™„ä»¶"
 
-#: src/lang.c:615
+#: src/lang.c:636
 msgid "view attachment"
 msgstr "æŸ¥çœ‹é™„ä»¶"
 
-#: src/lang.c:616
+#: src/lang.c:637
 msgid "tag attachment"
 msgstr "æ ‡è®°é™„ä»¶"
 
-#: src/lang.c:617
+#: src/lang.c:638
 msgid "tag attachments that match user specified pattern"
 msgstr "æ ‡è®°åŒ¹é…ç”¨æˆ·æŒ‡å®šæ¨¡å¼çš„é™„ä»¶"
 
-#: src/lang.c:618
+#: src/lang.c:639
 msgid "reverse tagging on all attachments (toggle)"
 msgstr "åå‘æ ‡è®°æ‰€æœ‰é™„ä»¶ (åˆ‡æ¢)"
 
-#: src/lang.c:619
+#: src/lang.c:640
 msgid "untag all tagged attachments"
 msgstr "å–æ¶ˆæ ‡è®°æ‰€æœ‰å·²æ ‡è®°é™„ä»¶"
 
-#: src/lang.c:620
+#: src/lang.c:641
 msgid "toggle info message in last line (name/description of attachment)"
 msgstr "åˆ‡æ¢æœ€åŽä¸€è¡Œä¸­çš„ä¿¡æ¯ (é™„ä»¶çš„åç§°/æè¿°)"
 
-#: src/lang.c:621
+#: src/lang.c:642
 msgid "choose first attribute in list"
 msgstr "é€‰æ‹©åˆ—è¡¨ä¸­çš„ç¬¬ä¸€é¡¹å±žæ€§"
 
-#: src/lang.c:622
+#: src/lang.c:643
 msgid "0 - 9\t  choose attribute by number"
 msgstr "0 - 9\t  ä¾ç¼–å·é€‰æ‹©å±žæ€§"
 
-#: src/lang.c:623
+#: src/lang.c:644
 msgid "choose last attribute in list"
 msgstr "é€‰æ‹©åˆ—è¡¨ä¸­çš„æœ€åŽä¸€é¡¹å±žæ€§"
 
-#: src/lang.c:624
+#: src/lang.c:645
 msgid "reset attribute to a default value"
 msgstr "é‡ç½®å±žæ€§ä¸ºé»˜è®¤å€¼"
 
-#: src/lang.c:625
-msgid "search forwards for an attribute"
-msgstr "å‘å‰æœç´¢æŸä¸€å±žæ€§"
-
-#: src/lang.c:626
+#: src/lang.c:646
 msgid "search backwards for an attribute"
 msgstr "å‘åŽæœç´¢æŸä¸€å±žæ€§"
 
-#: src/lang.c:627
+#: src/lang.c:647
+msgid "search forwards for an attribute"
+msgstr "å‘å‰æœç´¢æŸä¸€å±žæ€§"
+
+#: src/lang.c:648
 msgid "select attribute"
 msgstr "é€‰å–å±žæ€§"
 
-#: src/lang.c:628
+#: src/lang.c:649
 msgid "toggle back to options menu when invoked from there"
 msgstr "å¦‚æžœä¹‹å‰ä»Žé‚£é‡Œè°ƒç”¨å°±åˆ‡å›žé€‰é¡¹åŠŸèƒ½è¡¨"
 
-#: src/lang.c:629
+#: src/lang.c:650
 #, c-format
 msgid "report bug or comment via mail to %s"
 msgstr "é€è¿‡é‚®ä»¶æŠ¥å‘Šé”™è¯¯æˆ–è¯„è®ºç»™ %s"
 
-#: src/lang.c:630
+#: src/lang.c:651
 msgid "choose first option in list"
 msgstr "é€‰æ‹©åˆ—è¡¨ä¸­çš„ç¬¬ä¸€ä¸ªé€‰é¡¹"
 
-#: src/lang.c:631
+#: src/lang.c:652
 msgid "0 - 9\t  choose option by number"
 msgstr "0 - 9\t  ä¾ç¼–å·é€‰æ‹©é€‰é¡¹"
 
-#: src/lang.c:632
+#: src/lang.c:653
 msgid "choose last option in list"
 msgstr "é€‰æ‹©åˆ—è¡¨ä¸­çš„æœ€åŽä¸€ä¸ªé€‰é¡¹"
 
-#: src/lang.c:633
+#: src/lang.c:654
 msgid "start scopes menu"
 msgstr "èµ·å§‹èŒƒå›´èœå•"
 
-#: src/lang.c:634
-msgid "search forwards for an option"
-msgstr "å‘å‰æœç´¢æŸä¸€é€‰é¡¹"
-
-#: src/lang.c:635
+#: src/lang.c:655
 msgid "search backwards for an option"
 msgstr "å‘åŽæœç´¢æŸä¸€é€‰é¡¹"
 
-#: src/lang.c:636
+#: src/lang.c:656
+msgid "search forwards for an option"
+msgstr "å‘å‰æœç´¢æŸä¸€é€‰é¡¹"
+
+#: src/lang.c:657
 msgid "select option"
 msgstr "é€‰å–é€‰é¡¹"
 
-#: src/lang.c:637
+#: src/lang.c:658
 msgid "toggle to attributes menu"
 msgstr "åˆ‡æ¢åˆ°å±žæ€§èœå•"
 
-#: src/lang.c:638
+#: src/lang.c:659
 msgid "choose range of articles to be affected by next command"
 msgstr "é€‰æ‹©ä¼šè¢«ä¸‹ä¸€ä¸ªå‘½ä»¤æ‰€å½±å“çš„æ–‡ç« èŒƒå›´"
 
-#: src/lang.c:639
+#: src/lang.c:660
 msgid "escape from command prompt"
 msgstr "ä»ŽæŒ‡ä»¤æç¤ºç¬¦å·é€€å‡º"
 
-#: src/lang.c:640
+#: src/lang.c:661
 msgid "edit filter file"
 msgstr "ç¼–è¾‘ç­›é€‰å™¨æ–‡ä»¶"
 
-#: src/lang.c:641
+#: src/lang.c:662
 msgid "get help"
 msgstr "æå–è¯´æ˜Ž"
 
-#: src/lang.c:642
+#: src/lang.c:663
 msgid "display last article viewed"
 msgstr "æ˜¾ç¤ºæœ€åŽä¸€ç¯‡å·²æŸ¥çœ‹æ–‡ç« "
 
-#: src/lang.c:643
+#: src/lang.c:664
 msgid "down one line"
 msgstr "å‘ä¸‹ä¸€è¡Œ"
 
-#: src/lang.c:644
+#: src/lang.c:665
 msgid "up one line"
 msgstr "å‘ä¸Šä¸€è¡Œ"
 
-#: src/lang.c:645
+#: src/lang.c:666
 msgid "go to article chosen by Message-ID"
 msgstr "å‰å¾€ä¾æ¶ˆæ¯è¯†åˆ«å·æ‰€é€‰æ–‡ç« "
 
-#: src/lang.c:646
+#: src/lang.c:667
 msgid "mail article/thread/hot/pattern/tagged articles to someone"
 msgstr "é‚®å¯„æ–‡ç« /è®¨è®ºä¸²/çƒ­é—¨/æ¨¡å¼/å·²æ ‡è®°æ–‡ç« ç»™æŸäºº"
 
-#: src/lang.c:647
+#: src/lang.c:668
 msgid "menu of configurable options"
 msgstr "å¯ç»„é…é€‰é¡¹çš„èœå•"
 
-#: src/lang.c:648
+#: src/lang.c:669
 msgid "down one page"
 msgstr "å‘ä¸‹ä¸€é¡µ"
 
-#: src/lang.c:649
+#: src/lang.c:670
 msgid "up one page"
 msgstr "å‘ä¸Šä¸€é¡µ"
 
-#: src/lang.c:651
+#: src/lang.c:672
 msgid "post (write) article to current group"
 msgstr "å¼ è´´ (å†™å…¥) æ–‡ç« åˆ°ç›®å‰çš„ç¾¤ç»„"
 
-#: src/lang.c:652
+#: src/lang.c:673
 msgid "post postponed articles"
 msgstr "å¼ è´´è¢«æç½®çš„æ–‡ç« "
 
-#: src/lang.c:654
+#: src/lang.c:675
 msgid "list articles posted by you (from posted file)"
 msgstr "åˆ—å‡ºç”±æ‚¨æ‰€å¼ è´´çš„æ–‡ç«  (æ¥è‡ªå¼ è´´çš„æ–‡ä»¶)"
 
-#: src/lang.c:655
+#: src/lang.c:676
 msgid "return to previous menu"
 msgstr "å›žåˆ°ä¸Šä¸€ä¸ªèœå•"
 
-#: src/lang.c:656
+#: src/lang.c:677
 msgid "quit tin immediately"
 msgstr "é©¬ä¸Šç¦»å¼€ tin"
 
-#: src/lang.c:657
+#: src/lang.c:678
 msgid "redraw page"
 msgstr "é‡ç»˜é¡µé¢"
 
-#: src/lang.c:658
+#: src/lang.c:679
 msgid "save article/thread/hot/pattern/tagged articles to file"
 msgstr "ä¿å­˜æ–‡ç« /è®¨è®ºä¸²/çƒ­é—¨/æ¨¡å¼/å·²æ ‡è®°æ–‡ç« åˆ°æ–‡ä»¶"
 
-#: src/lang.c:659
+#: src/lang.c:680
 msgid "save marked articles automatically without user prompts"
 msgstr "è‡ªåŠ¨ä¿å­˜æ ‡è®°çš„æ–‡ç« è€Œæ— éœ€ç”¨æˆ·æç¤º"
 
-#: src/lang.c:660
+#: src/lang.c:681
 msgid "scroll the screen one line down"
 msgstr "å·åŠ¨å±å¹•ä¸€æ¬¡ä¸‹ç§»ä¸€è¡Œ"
 
-#: src/lang.c:661
+#: src/lang.c:682
 msgid "scroll the screen one line up"
 msgstr "å·åŠ¨å±å¹•ä¸€æ¬¡ä¸Šç§»ä¸€è¡Œ"
 
-#: src/lang.c:662
+#: src/lang.c:683
 msgid "search for articles by author backwards"
 msgstr "ä¾ä½œè€…å‘åŽæœç´¢æ–‡ç« "
 
-#: src/lang.c:663
+#: src/lang.c:684
 msgid "search for articles by author forwards"
 msgstr "ä¾ä½œè€…å‘å‰æœç´¢æ–‡ç« "
 
-#: src/lang.c:664
+#: src/lang.c:685
 msgid "search all articles for a given string (this may take some time)"
 msgstr "å¯¹æ‰€æœ‰æ–‡ç« æœç´¢ç»™å®šçš„å­—ä¸² (è¿™ä¹Ÿè®¸ä¼šèŠ±ä¸€ç‚¹æ—¶é—´)"
 
-#: src/lang.c:665
+#: src/lang.c:686
 msgid " \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr " \t (æœç´¢æ—¶å¤§å°å†™ä¸é¡»ç›¸ç¬¦å¹¶å›žåˆ°æ‰€æœ‰æ–‡ç« çš„å‰ç«¯)"
 
-#: src/lang.c:666
+#: src/lang.c:687
 msgid "search for articles by Subject line backwards"
 msgstr "ä¾ä¸»é¢˜å‘åŽæœç´¢æ–‡ç« "
 
-#: src/lang.c:667
+#: src/lang.c:688
 msgid "search for articles by Subject line forwards"
 msgstr "ä¾ä¸»é¢˜å‘å‰æœç´¢æ–‡ç« "
 
-#: src/lang.c:668
+#: src/lang.c:689
 msgid "repeat last search"
 msgstr "é‡å¤æœ€åŽä¸€ç¬”æœç´¢"
 
-#: src/lang.c:669
+#: src/lang.c:690
 msgid "tag current article for reposting/mailing/piping/printing/saving"
 msgstr "æ ‡è®°ç›®å‰çš„æ–‡ç« ä»¥ç”¨äºŽé‡æ–°å¼ è´´/é‚®å¯„/ç®¡é“/æ‰“å°/ä¿å­˜"
 
-#: src/lang.c:670
+#: src/lang.c:691
 msgid "toggle info message in last line (subject/description)"
 msgstr "åˆ‡æ¢æœ€åŽä¸€è¡Œä¸­çš„ä¿¡æ¯æ¶ˆæ¯ (ä¸»æ—¨/æè¿°)"
 
-#: src/lang.c:671
+#: src/lang.c:692
 msgid "toggle inverse video"
 msgstr "åˆ‡æ¢åç™½æ˜¾ç¤º"
 
-#: src/lang.c:672
+#: src/lang.c:693
 #, fuzzy
 msgid "toggle mini help menu and posting etiquette display"
 msgstr "åˆ‡æ¢è¿·ä½ è¯´æ˜Žèœå•æ˜¾ç¤º"
 
-#: src/lang.c:673
+#: src/lang.c:694
 msgid "cycle the display of authors email address, real name, both or neither"
 msgstr "å‘¨æœŸæ˜¾ç¤ºä½œè€…ç”µå­é‚®ä»¶åœ°å€ã€çœŸå®žåç§°ã€ä¸¤è€…æˆ–çš†éž"
 
-#: src/lang.c:674
+#: src/lang.c:695
 msgid "show version information"
 msgstr "æ˜¾ç¤ºç‰ˆæœ¬ä¿¡æ¯"
 
-#: src/lang.c:675
+#: src/lang.c:696
 msgid "mark all articles as read and return to group selection menu"
 msgstr "æ ‡è®°æ‰€æœ‰æ–‡ç« ä¸ºå·²è¯»å¹¶å›žåˆ°ç¾¤ç»„é€‰æ‹©èœå•"
 
-#: src/lang.c:676
+#: src/lang.c:697
 msgid "mark all articles as read and enter next group with unread articles"
 msgstr "æ ‡è®°æ‰€æœ‰æ–‡ç« ä¸ºå·²è¯»å¹¶è¿›å…¥ä¸‹ä¸€ä¸ªç¾¤ç»„ä¸Žæœªè¯»æ–‡ç« "
 
-#: src/lang.c:677
+#: src/lang.c:698
 msgid "choose first thread in list"
 msgstr "é€‰æ‹©æ¸…å•ä¸­çš„ç¬¬ä¸€ç¬”è®¨è®ºä¸²"
 
-#: src/lang.c:678
+#: src/lang.c:699
 msgid "choose last thread in list"
 msgstr "é€‰æ‹©æ¸…å•ä¸­çš„æœ€åŽä¸€ç¯‡è®¨è®ºä¸²"
 
-#: src/lang.c:679
+#: src/lang.c:700
 msgid "list articles within current thread (bring up Thread sub-menu)"
 msgstr "åˆ—å‡ºç›®å‰è®¨è®ºä¸²ä¹‹å†…çš„æ–‡ç«  (å¸¦å‡ºè®¨è®ºä¸²å­èœå•)"
 
-#: src/lang.c:680
+#: src/lang.c:701
 msgid "mark article as unread"
 msgstr "æ ‡è®°æ–‡ç« ä¸ºæœªè¯»"
 
-#: src/lang.c:681
+#: src/lang.c:702
 msgid "mark current thread, range or tagged threads as read"
 msgstr "æ ‡è®°ç›®å‰çš„è®¨è®ºä¸²ã€èŒƒå›´æˆ–å·²æ ‡è®°è®¨è®ºä¸²ä¸ºå·²è¯»"
 
-#: src/lang.c:682
+#: src/lang.c:703
 msgid "mark current thread, range or tagged threads as unread"
 msgstr "æ ‡è®°ç›®å‰çš„è®¨è®ºä¸²ã€èŒƒå›´æˆ–å·²æ ‡è®°è®¨è®ºä¸²ä¸ºæœªè¯»"
 
-#: src/lang.c:683
+#: src/lang.c:704
 msgid "mark current/range/selected/pattern/tagged as read after prompting"
 msgstr "æ ‡è®°ç›®å‰çš„/èŒƒå›´/å·²é€‰/æ¨¡å¼/å·²æ ‡è®°äºŽæç¤ºä¹‹åŽä¸ºå·²è¯»"
 
-#: src/lang.c:684
+#: src/lang.c:705
 msgid "mark current/range/selected/pattern/tagged as unread after prompting"
 msgstr "æ ‡è®°ç›®å‰çš„/èŒƒå›´/å·²é€‰/æ¨¡å¼/å·²æ ‡è®°äºŽæç¤ºä¹‹åŽä¸ºæœªè¯»"
 
-#: src/lang.c:685
+#: src/lang.c:706
 msgid "toggle display of all/selected articles"
 msgstr "åˆ‡æ¢æ˜¾ç¤ºæ‰€æœ‰/å·²é€‰æ–‡ç« "
 
-#: src/lang.c:686
+#: src/lang.c:707
 msgid "display next group"
 msgstr "æ˜¾ç¤ºä¸‹ä¸€ä¸ªç¾¤ç»„"
 
-#: src/lang.c:687
+#: src/lang.c:708
 msgid "display previous group"
 msgstr "æ˜¾ç¤ºä¸Šä¸€ä¸ªç¾¤ç»„"
 
-#: src/lang.c:688
+#: src/lang.c:709
 msgid "toggle all selections (all articles)"
 msgstr "åˆ‡æ¢æ‰€æœ‰é€‰å– (æ‰€æœ‰æ–‡ç« )"
 
-#: src/lang.c:689
+#: src/lang.c:710
 msgid "select group (make \"hot\")"
 msgstr "é€‰å–ç¾¤ç»„ (è®¾ä¸ºâ€œçƒ­é—¨â€)"
 
-#: src/lang.c:690
+#: src/lang.c:711
 msgid "select thread"
 msgstr "é€‰å–è®¨è®ºä¸²"
 
-#: src/lang.c:691
+#: src/lang.c:712
 msgid "select threads if at least one unread article is selected"
 msgstr "å¦‚æžœè‡³å°‘é€‰å–äº†ä¸€ç¯‡æœªè¯»æ–‡ç« å°±é€‰å–è®¨è®ºä¸²"
 
-#: src/lang.c:692
+#: src/lang.c:713
 msgid "select threads that match user specified pattern"
 msgstr "é€‰å–åŒ¹é…ç”¨æˆ·æŒ‡å®šæ¨¡å¼çš„è®¨è®ºä¸²"
 
-#: src/lang.c:693
+#: src/lang.c:714
 msgid "0 - 9\t  choose thread by number"
 msgstr "0 - 9\t  ä¾ç¼–å·é€‰æ‹©è®¨è®ºä¸²"
 
-#: src/lang.c:694
+#: src/lang.c:715
 msgid "toggle limit number of articles to get, and reload"
 msgstr "åˆ‡æ¢è¦æå–æ–‡ç« çš„é™åˆ¶æ•°é‡ï¼Œå¹¶é‡æ–°åŠ è½½"
 
-#: src/lang.c:695
+#: src/lang.c:716
 msgid "toggle display of all/unread articles"
 msgstr "åˆ‡æ¢æ˜¾ç¤ºæ‰€æœ‰/æœªè¯»æ–‡ç« "
 
-#: src/lang.c:696
+#: src/lang.c:717
 msgid "toggle selection of thread"
 msgstr "åˆ‡æ¢è®¨è®ºä¸²çš„é€‰å–"
 
-#: src/lang.c:697
+#: src/lang.c:718
 msgid "cycle through threading options available"
 msgstr "é‡å¤å¾ªçŽ¯å¯ç”¨çš„è®¨è®ºä¸²é€‰é¡¹"
 
-#: src/lang.c:698
+#: src/lang.c:719
 msgid "undo all selections (all articles)"
 msgstr "å¤åŽŸæ‰€æœ‰é€‰å– (æ‰€æœ‰æ–‡ç« )"
 
-#: src/lang.c:699
+#: src/lang.c:720
 msgid "untag all tagged threads"
 msgstr "å–æ¶ˆæ ‡è®°æ‰€æœ‰å·²æ ‡è®°è®¨è®ºä¸²"
 
-#: src/lang.c:700
+#: src/lang.c:721
 #, fuzzy
 msgid "search for articles forwards"
 msgstr "ä¾ä½œè€…å‘å‰æœç´¢æ–‡ç« "
 
-#: src/lang.c:701
+#: src/lang.c:722
 #, fuzzy
 msgid "search for articles backwards"
 msgstr "ä¾ä½œè€…å‘åŽæœç´¢æ–‡ç« "
 
-#: src/lang.c:702
+#: src/lang.c:723
 #, fuzzy
 msgid "toggle info message in last line (Message-ID)"
 msgstr "åˆ‡æ¢æœ€åŽä¸€è¡Œçš„ä¿¡æ¯æ¶ˆæ¯ (ç½‘å€)"
 
-#: src/lang.c:703
+#: src/lang.c:724
 #, fuzzy
 msgid "Open article by Message-ID"
 msgstr "å‰å¾€ä¾æ¶ˆæ¯è¯†åˆ«å·æ‰€é€‰æ–‡ç« "
 
-#: src/lang.c:704
+#: src/lang.c:725
 msgid "add new scope"
 msgstr "åŠ å…¥æ–°çš„èŒƒå›´"
 
-#: src/lang.c:705
+#: src/lang.c:726
 msgid "delete scope"
 msgstr "åˆ é™¤èŒƒå›´"
 
-#: src/lang.c:706
+#: src/lang.c:727
 msgid "edit attributes file"
 msgstr "ç¼–è¾‘å±žæ€§æ–‡ä»¶"
 
-#: src/lang.c:707
+#: src/lang.c:728
 msgid "choose first scope in list"
 msgstr "é€‰æ‹©æ¸…å•ä¸­çš„ç¬¬ä¸€ç¬”èŒƒå›´"
 
-#: src/lang.c:708
+#: src/lang.c:729
 msgid "0 - 9\t  choose scope by number"
 msgstr "0 - 9\t  ä¾ç¼–å·é€‰æ‹©èŒƒå›´"
 
-#: src/lang.c:709
+#: src/lang.c:730
 msgid "choose last scope in list"
 msgstr "é€‰æ‹©æ¸…å•ä¸­çš„æœ€åŽä¸€ç¬”èŒƒå›´"
 
-#: src/lang.c:710
+#: src/lang.c:731
 msgid "move scope"
 msgstr "ç§»åŠ¨èŒƒå›´"
 
-#: src/lang.c:711
+#: src/lang.c:732
 msgid "rename scope"
 msgstr "é‡å‘½åèŒƒå›´"
 
-#: src/lang.c:712
+#: src/lang.c:733
 msgid "select scope"
 msgstr "é€‰å–èŒƒå›´"
 
-#: src/lang.c:713
+#: src/lang.c:734
 msgid "mark all articles in group as read"
 msgstr "æ ‡è®°æ‰€æœ‰ç¾¤ç»„ä¸­çš„æ–‡ç« ä¸ºå·²è¯»"
 
-#: src/lang.c:714
+#: src/lang.c:735
 msgid "mark all articles in group as read and move to next unread group"
 msgstr "æ ‡è®°æ‰€æœ‰ç¾¤ç»„ä¸­çš„æ–‡ç« ä¸ºå·²è¯»å¹¶ç§»åŠ¨åˆ°ä¸‹ä¸€ä¸ªæœªè¯»ç¾¤ç»„"
 
-#: src/lang.c:715
+#: src/lang.c:736
 msgid "choose first group in list"
 msgstr "é€‰æ‹©æ¸…å•ä¸­çš„ç¬¬ä¸€ç¬”ç¾¤ç»„"
 
-#: src/lang.c:716
+#: src/lang.c:737
 msgid "choose group by name"
 msgstr "ä¾åç§°é€‰æ‹©ç¾¤ç»„"
 
-#: src/lang.c:717
+#: src/lang.c:738
 msgid "0 - 9\t  choose group by number"
 msgstr "0 - 9\t  ä¾ç¼–å·é€‰æ‹©ç¾¤ç»„"
 
-#: src/lang.c:718
+#: src/lang.c:739
 msgid "choose range of groups to be affected by next command"
 msgstr "é€‰æ‹©å—ä¸‹ä¸€ä¸ªå‘½ä»¤æ‰€å½±å“çš„ç¾¤ç»„èŒƒå›´"
 
-#: src/lang.c:719
+#: src/lang.c:740
 msgid "choose last group in list"
 msgstr "é€‰æ‹©æ¸…å•ä¸­çš„æœ€åŽä¸€ä¸ªç¾¤ç»„"
 
-#: src/lang.c:721
+#: src/lang.c:742
 #, fuzzy
 msgid "list groups which an article has been posted to (by Message-ID)"
 msgstr "å‰å¾€ä¾æ¶ˆæ¯è¯†åˆ«å·æ‰€é€‰æ–‡ç« "
 
-#: src/lang.c:722
+#: src/lang.c:743
 msgid " \t  (go to article if at least one of the groups is available)"
 msgstr ""
 
-#: src/lang.c:724
+#: src/lang.c:745
 msgid "mark all articles in chosen group unread"
 msgstr "æ ‡è®°æ‰€æœ‰åœ¨å·²é€‰ç¾¤ç»„ä¸­çš„æ–‡ç« ä¸ºæœªè¯»"
 
-#: src/lang.c:725
+#: src/lang.c:746
 msgid "move chosen group within list"
 msgstr "ç§»åŠ¨æ¸…å•å†…æ‰€é€‰ç¾¤ç»„"
 
-#: src/lang.c:726
+#: src/lang.c:747
 msgid "choose next group with unread news"
 msgstr "é€‰æ‹©å…·æœ‰æœªè¯»æ–°é—»çš„ä¸‹ä¸€ä¸ªç¾¤ç»„"
 
-#: src/lang.c:727 src/lang.c:1748
+#: src/lang.c:748 src/lang.c:1797
 msgid "quit"
 msgstr "ç¦»å¼€"
 
-#: src/lang.c:728
+#: src/lang.c:749
 msgid "quit without saving configuration changes"
 msgstr "ç¦»å¼€ä½†ä¸ä¿å­˜ç»„æ€å˜æ›´"
 
-#: src/lang.c:729
+#: src/lang.c:750
 msgid "read chosen group"
 msgstr "è¯»å–æ‰€é€‰ç¾¤ç»„"
 
-#: src/lang.c:730
+#: src/lang.c:751
 msgid "reset .newsrc (all available articles in groups marked unread)"
 msgstr "é‡ç½® .newsrc (æ ‡è®°æ‰€æœ‰å¯ç”¨ç¾¤ç»„ä¸­çš„æ–‡ç« ä¸ºæœªè¯»)"
 
-#: src/lang.c:731
+#: src/lang.c:752
 msgid "search backwards for a group name"
 msgstr "å‘åŽæœç´¢ç¾¤ç»„åç§°"
 
-#: src/lang.c:732
+#: src/lang.c:753
 msgid " \t  (all searches are case-insensitive and wrap around)"
 msgstr " \t  (æ‰€æœ‰æœç´¢ä¸é¡»ç¬¦åˆå¤§å°å†™å¹¶å›žåˆ°å¼€å§‹éƒ¨åˆ†)"
 
-#: src/lang.c:733
+#: src/lang.c:754
 msgid "search forwards for a group name"
 msgstr "å‘å‰æœç´¢ç¾¤ç»„åç§°"
 
-#: src/lang.c:734
+#: src/lang.c:755
 msgid "subscribe to chosen group"
 msgstr "è®¢é˜…æ‰€é€‰ç¾¤ç»„"
 
-#: src/lang.c:735
+#: src/lang.c:756
 msgid "subscribe to groups that match pattern"
 msgstr "è®¢é˜…åŒ¹é…æ¨¡å¼çš„ç¾¤ç»„"
 
-#: src/lang.c:736
+#: src/lang.c:757
 msgid "reread active file to check for any new news"
 msgstr "é‡æ–°è¯»å–çŽ°ç”¨æ–‡ä»¶ä»¥æ£€æŸ¥çœ‹çœ‹ä»»ä½•æ–°çš„æ–°é—»"
 
-#: src/lang.c:737
+#: src/lang.c:758
 msgid "show NNTP[S] connection details"
 msgstr ""
 
-#: src/lang.c:738
+#: src/lang.c:759
 msgid "toggle display of group name only or group name plus description"
 msgstr "åˆ‡æ¢åªæ˜¾ç¤ºç¾¤ç»„åç§°æˆ–æ˜¯ç¾¤ç»„åç§°åŠ ä¸Šæè¿°"
 
-#: src/lang.c:739
+#: src/lang.c:760
 msgid "toggle display to show all/unread subscribed groups"
 msgstr "åˆ‡æ¢æ˜¾ç¤ºå…¨éƒ¨/æœªè¯»çš„å·²è®¢é˜…ç¾¤ç»„"
 
-#: src/lang.c:740
+#: src/lang.c:761
 msgid "unsubscribe from chosen group"
 msgstr "å–æ¶ˆè®¢é˜…æ‰€é€‰ç¾¤ç»„"
 
-#: src/lang.c:741
+#: src/lang.c:762
 msgid "unsubscribe from groups that match pattern"
 msgstr "å–æ¶ˆè®¢é˜…åŒ¹é…æ¨¡å¼çš„ç¾¤ç»„"
 
-#: src/lang.c:742
+#: src/lang.c:763
 msgid "sort the list of groups"
 msgstr "æŽ’åºç¾¤ç»„æ¸…å•"
 
-#: src/lang.c:743
+#: src/lang.c:764
 msgid "toggle display to show all/subscribed groups"
 msgstr "åˆ‡æ¢æ˜¾ç¤ºå…¨éƒ¨/å·²è®¢é˜…çš„ç¾¤ç»„"
 
-#: src/lang.c:744
+#: src/lang.c:765
 #, fuzzy
 msgid "tag/untag all parts of current multipart-message in order"
 msgstr "ä¾åºæ ‡è®°ç›®å‰å¤šéƒ¨ä»¶æ¶ˆæ¯çš„æ‰€æœ‰éƒ¨åˆ†"
 
-#: src/lang.c:745
+#: src/lang.c:766
 msgid "0 - 9\t  choose article by number"
 msgstr "0 - 9\t  ä¾ç¼–å·é€‰æ‹©æ–‡ç« "
 
-#: src/lang.c:746
+#: src/lang.c:767
 msgid "mark thread as read and return to group index page"
 msgstr "æ ‡è®°è®¨è®ºä¸²ä¸ºå·²è¯»å¹¶å›žåˆ°ç¾¤ç»„ç´¢å¼•é¡µé¢"
 
-#: src/lang.c:747
+#: src/lang.c:768
 msgid "mark thread as read and enter next unread thread or group"
 msgstr "æ ‡è®°è®¨è®ºä¸²ä¸ºå·²è¯»å¹¶è¾“å…¥ä¸‹ä¸€ä¸ªæœªè¯»çš„è®¨è®ºä¸²æˆ–ç¾¤ç»„"
 
-#: src/lang.c:748
+#: src/lang.c:769
 msgid "choose first article in list"
 msgstr "é€‰æ‹©æ¸…å•ä¸­çš„ç¬¬ä¸€ç¯‡æ–‡ç« "
 
-#: src/lang.c:749
+#: src/lang.c:770
 msgid "choose last article in list"
 msgstr "é€‰æ‹©æ¸…å•ä¸­çš„æœ€åŽä¸€ç¯‡æ–‡ç« "
 
-#: src/lang.c:750
+#: src/lang.c:771
 msgid "mark art, range or tagged arts as read; move crsr to next unread art"
 msgstr "æ ‡è®°æ–‡ç« ã€èŒƒå›´æˆ–å·²æ ‡è®°æ–‡ç« ä¸ºå·²è¯»ï¼›ç§»åŠ¨å…‰æ ‡åˆ°ä¸‹ä¸€ç¯‡æœªè¯»æ–‡ç« "
 
-#: src/lang.c:751
+#: src/lang.c:772
 msgid "mark article, range or tagged articles as unread"
 msgstr "æ ‡è®°æ–‡ç« ã€èŒƒå›´æˆ–å·²æ ‡è®°æ–‡ç« ä¸ºæœªè¯»"
 
-#: src/lang.c:752
+#: src/lang.c:773
 msgid "mark current thread as unread"
 msgstr "æ ‡è®°ç›®å‰è®¨è®ºä¸²ä¸ºæœªè¯»"
 
-#: src/lang.c:753
+#: src/lang.c:774
 msgid "read chosen article"
 msgstr "è¯»å–æ‰€é€‰æ–‡ç« "
 
-#: src/lang.c:754
+#: src/lang.c:775
 msgid ""
 "Display properties\n"
 "------------------"
@@ -2631,7 +2714,7 @@ msgstr ""
 "æ˜¾ç¤ºå±žæ€§\n"
 "------------------"
 
-#: src/lang.c:755
+#: src/lang.c:776
 msgid ""
 "Miscellaneous\n"
 "-------------"
@@ -2639,7 +2722,7 @@ msgstr ""
 "æ‚é¡¹\n"
 "-------------"
 
-#: src/lang.c:756
+#: src/lang.c:777
 msgid ""
 "Moving around\n"
 "-------------"
@@ -2647,7 +2730,7 @@ msgstr ""
 "å››å¤„ç§»åŠ¨\n"
 "-------------"
 
-#: src/lang.c:757
+#: src/lang.c:778
 msgid ""
 "Group/thread/article operations\n"
 "-------------------------------"
@@ -2655,7 +2738,7 @@ msgstr ""
 "ç¾¤ç»„/è®¨è®ºä¸²/æ–‡ç« æ“ä½œ\n"
 "-------------------------------"
 
-#: src/lang.c:758
+#: src/lang.c:779
 msgid ""
 "Attachment operations\n"
 "---------------------"
@@ -2663,7 +2746,7 @@ msgstr ""
 "é™„ä»¶æ“ä½œ\n"
 "---------------------"
 
-#: src/lang.c:759
+#: src/lang.c:780
 msgid ""
 "Attribute operations\n"
 "--------------------"
@@ -2671,7 +2754,7 @@ msgstr ""
 "å±žæ€§æ“ä½œ\n"
 "--------------------"
 
-#: src/lang.c:760
+#: src/lang.c:781
 msgid ""
 "Option operations\n"
 "-----------------"
@@ -2679,7 +2762,7 @@ msgstr ""
 "é€‰é¡¹æ“ä½œ\n"
 "-----------------"
 
-#: src/lang.c:761
+#: src/lang.c:782
 #, fuzzy
 msgid ""
 "Posted article operations\n"
@@ -2688,7 +2771,7 @@ msgstr ""
 "ç¾¤ç»„/è®¨è®ºä¸²/æ–‡ç« æ“ä½œ\n"
 "-------------------------------"
 
-#: src/lang.c:762
+#: src/lang.c:783
 msgid ""
 "Scope operations\n"
 "----------------"
@@ -2696,7 +2779,7 @@ msgstr ""
 "èŒƒå›´æ“ä½œ\n"
 "----------------"
 
-#: src/lang.c:763
+#: src/lang.c:784
 msgid ""
 "URL operations\n"
 "--------------"
@@ -2704,100 +2787,100 @@ msgstr ""
 "ç½‘å€æ“ä½œ\n"
 "--------------"
 
-#: src/lang.c:764
+#: src/lang.c:785
 msgid "choose first URL in list"
 msgstr "é€‰æ‹©æ¸…å•ä¸­çš„ç¬¬ä¸€ç¬”ç½‘å€"
 
-#: src/lang.c:765
+#: src/lang.c:786
 msgid "0 - 9\t  choose URL by number"
 msgstr "0 - 9\t  ä¾ç¼–å·é€‰æ‹©ç½‘å€"
 
-#: src/lang.c:766
+#: src/lang.c:787
 msgid "choose last URL in list"
 msgstr "é€‰æ‹©æ¸…å•ä¸­çš„æœ€åŽä¸€ç¬”ç½‘å€"
 
-#: src/lang.c:767
+#: src/lang.c:788
 msgid "search for URLs forwards"
 msgstr "å‘å‰æœç´¢ç½‘å€"
 
-#: src/lang.c:768
+#: src/lang.c:789
 msgid "search for URLs backwards"
 msgstr "å‘åŽæœç´¢ç½‘å€"
 
-#: src/lang.c:769
+#: src/lang.c:790
 msgid "Open URL in browser"
 msgstr "åœ¨æµè§ˆå™¨ä¸­æ‰“å¼€ç½‘å€"
 
-#: src/lang.c:770
+#: src/lang.c:791
 msgid "toggle info message in last line (URL)"
 msgstr "åˆ‡æ¢æœ€åŽä¸€è¡Œçš„ä¿¡æ¯æ¶ˆæ¯ (ç½‘å€)"
 
-#: src/lang.c:772
+#: src/lang.c:793
 msgid "Group Level Commands"
 msgstr "ç¾¤ç»„å±‚çº§å‘½ä»¤"
 
-#: src/lang.c:773
+#: src/lang.c:794
 msgid "Kill filter added"
 msgstr "ç é™¤å·²åŠ å…¥çš„ç­›é€‰å™¨"
 
-#: src/lang.c:774
+#: src/lang.c:795
 msgid "Auto-selection filter added"
 msgstr "è‡ªåŠ¨é€‰å–å·²åŠ å…¥çš„ç­›é€‰å™¨"
 
-#: src/lang.c:775
+#: src/lang.c:796
 msgid "All parts tagged"
 msgstr "å·²æ ‡è®°æ‰€æœ‰éƒ¨åˆ†"
 
-#: src/lang.c:776
+#: src/lang.c:797
 #, fuzzy
 msgid "All parts untagged"
 msgstr "å·²æ ‡è®°æ‰€æœ‰éƒ¨åˆ†"
 
-#: src/lang.c:777
+#: src/lang.c:798
 #, c-format
 msgid "Building References-trees (%d/%d)..."
 msgstr ""
 
-#: src/lang.c:778
+#: src/lang.c:799
 msgid "Storing article for later posting"
 msgstr "å­˜å…¥æ–‡ç« ä»¥ç”¨äºŽç¨åŽå¼ è´´"
 
-#: src/lang.c:779
+#: src/lang.c:800
 msgid "Please enter a valid character"
 msgstr "è¯·è¾“å…¥æœ‰æ•ˆå­—ç¬¦"
 
-#: src/lang.c:780
+#: src/lang.c:801
 #, c-format
 msgid "Missing part #%d"
 msgstr "ç¼ºå°‘éƒ¨åˆ†çš„ #%d"
 
-#: src/lang.c:781
+#: src/lang.c:802
 msgid "*** No postponed articles ***"
 msgstr "*** æœªè¢«æç½®çš„æ–‡ç«  ***"
 
-#: src/lang.c:782
+#: src/lang.c:803
 msgid "Not a multi-part message"
 msgstr "ä¸æ˜¯ä¸€ç¯‡å¤šéƒ¨ä»¶æ¶ˆæ¯"
 
-#: src/lang.c:783
+#: src/lang.c:804
 msgid "You are not subscribed to this group"
 msgstr "æ‚¨æœªè®¢é˜…è¿™ä¸ªç¾¤ç»„"
 
-#: src/lang.c:784
+#: src/lang.c:805
 msgid "No previous expression"
 msgstr "æ²¡æœ‰ä¸Šä¸€ä¸ªè¡¨è¾¾å¼"
 
-#: src/lang.c:785
+#: src/lang.c:806
 msgid "Operation disabled in no-overwrite mode"
 msgstr "åœ¨æ— è¦†å†™æ¨¡å¼ä¸­çš„æ“ä½œå·²åœç”¨"
 
 #. TODO: replace hard coded key-name in txt_info_postponed
-#: src/lang.c:787
+#: src/lang.c:808
 #, c-format
 msgid "%d postponed %s, reuse with ^O...\n"
 msgstr "%d å·²æç½® %sï¼ŒæŒ‰ä¸‹ ^O ä»¥é‡æ–°ä½¿ç”¨â€¦\n"
 
-#: src/lang.c:788
+#: src/lang.c:809
 msgid ""
 "X-Conversion-Note: multipart/alternative contents have been removed.\n"
 "  To get the whole article, turn alternative handling OFF in the Option "
@@ -2806,17 +2889,17 @@ msgstr ""
 "X-Conversion-Note: å¤šéƒ¨ä»¶/æ›¿ä»£å†…å®¹å·²è¢«ç§»é™¤ã€‚\n"
 "  è¦æå–æ•´ç¯‡æ–‡ç« ï¼Œè¯·åœ¨é€‰é¡¹åŠŸèƒ½è¡¨ä¸­å…³é—­æ›¿ä»£å¤„ç†\n"
 
-#: src/lang.c:790
+#: src/lang.c:811
 #, c-format
 msgid "Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr "ä¿å­˜ %s/%s çš„æ–‡ä»¶åæ˜¯ä¸€ä¸ªä¿¡ç®±ã€‚é™„ä»¶æœªè¢«ä¿å­˜"
 
-#: src/lang.c:791
+#: src/lang.c:812
 msgid "TeX2Iso encoded article"
 msgstr "TeX2Iso ç¼–ç æ–‡ç« "
 
 #. TODO: replace hard coded key-names
-#: src/lang.c:793
+#: src/lang.c:814
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -2875,152 +2958,152 @@ msgstr ""
 "è¦èŽ·å¾—æ›´å¤šä¿¡æ¯ï¼Œè¯·é˜…è¯»åœ¨çº¿æ‰‹å†Œã€READMEã€INSTALLã€TODO å’Œ FTP ç­‰æ–‡ä»¶ã€‚\n"
 "è¯·åˆ©ç”¨â€˜Râ€™å‘½ä»¤å‘é€é”™è¯¯æŠ¥å‘Š/æ„è§ç»™ %sã€‚\n"
 
-#: src/lang.c:809
+#: src/lang.c:830
 #, c-format
-msgid "Invalid  From: %s  line. Read the INSTALL file again."
-msgstr "æ— æ•ˆçš„   From: %s  è¡Œã€‚è¯·å†é˜…è¯» INSTALL æ–‡ä»¶ã€‚"
+msgid "Invalid From:-header \"%s\". Check your mail_address setting."
+msgstr ""
 
-#: src/lang.c:811
+#: src/lang.c:832
 msgid "Invalid multibyte sequence found\n"
 msgstr "å‡ºçŽ°æ— æ•ˆçš„å¤šå­—èŠ‚åºåˆ—\n"
 
-#: src/lang.c:814
-#, c-format
-msgid "Invalid  Sender:-header %s"
-msgstr "æ— æ•ˆçš„  Sender: -header %s"
+#: src/lang.c:835
+#, fuzzy, c-format
+msgid "Invalid Sender:-header \"%s\""
+msgstr "æ— æ•ˆçš„ Sender:-header \"%s\""
 
-#: src/lang.c:816
+#: src/lang.c:837
 msgid "Inverse video disabled"
 msgstr "åç™½æ˜¾ç¤ºå·²åœç”¨"
 
-#: src/lang.c:817
+#: src/lang.c:838
 msgid "Inverse video enabled"
 msgstr "åç™½æ˜¾ç¤ºå·²å¯ç”¨"
 
-#: src/lang.c:819
+#: src/lang.c:840
 #, c-format
 msgid "Missing definition for %s\n"
 msgstr "ç¼ºå°‘ %s çš„å®šä¹‰\n"
 
-#: src/lang.c:820
+#: src/lang.c:841
 #, c-format
 msgid "Invalid key definition '%s'\n"
 msgstr "æ— æ•ˆçš„æŒ‰é”®å®šä¹‰â€˜%sâ€™\n"
 
-#: src/lang.c:821
+#: src/lang.c:842
 #, c-format
 msgid "Invalid keyname '%s'\n"
 msgstr "æ— æ•ˆçš„æŒ‰é”®åç§°â€˜%sâ€™\n"
 
-#: src/lang.c:822
+#: src/lang.c:843
 #, c-format
 msgid "Keymap file was upgraded to version %s\n"
 msgstr "Keymap æ–‡ä»¶å·²å‡çº§åˆ°ç‰ˆæœ¬ %s\n"
 
-#: src/lang.c:823
+#: src/lang.c:844
 #, c-format
 msgid "Kill From:     [%s] (y/n): "
 msgstr "ç é™¤ From:   [%s] (y/n)ï¼š"
 
-#: src/lang.c:824
+#: src/lang.c:845
 msgid "Kill Lines: (</>num): "
 msgstr "ç é™¤ Lines: (</>num)ï¼š"
 
-#: src/lang.c:825
+#: src/lang.c:846
 msgid "Kill Article Menu"
 msgstr "ç é™¤æ–‡ç« èœå•"
 
-#: src/lang.c:826
+#: src/lang.c:847
 #, fuzzy, c-format
 msgid "Kill Msg-ID:   [%s] (f/l/o/n): "
 msgstr "ç é™¤ Msg-Idï¼š [%s] (f/l/o/n)ï¼š"
 
-#: src/lang.c:827
+#: src/lang.c:848
 msgid "Kill pattern scope  : "
 msgstr "ç é™¤æ¨¡å¼èŒƒå›´ ï¼š"
 
-#: src/lang.c:828
+#: src/lang.c:849
 #, c-format
 msgid "Kill Subject:  [%s] (y/n): "
 msgstr "ç é™¤ Subject: [%s] (y/n)ï¼š"
 
-#: src/lang.c:829
+#: src/lang.c:850
 msgid "Kill text pattern   : "
 msgstr "ç é™¤æ–‡æœ¬æ¨¡å¼  ï¼š"
 
-#: src/lang.c:830
+#: src/lang.c:851
 msgid "Kill time in days   : "
 msgstr "ç é™¤æ—¶é—´äºŽæ¯æ—¥  ï¼š"
 
-#: src/lang.c:832
+#: src/lang.c:853
 msgid "Last"
 msgstr "æœ€åŽä¸€ç¬”"
 
-#: src/lang.c:833
+#: src/lang.c:854
 msgid "-- Last response --"
 msgstr "-- æœ€åŽä¸€ç¬”å›žåº” --"
 
-#: src/lang.c:834
+#: src/lang.c:855
 #, c-format
 msgid "Lines %s  "
 msgstr "è¡Œ %s  "
 
-#: src/lang.c:840
+#: src/lang.c:861
 #, fuzzy
 msgid "Function not available."
 msgstr "æ— æ³•ä½¿ç”¨æ–‡ç« "
 
-#: src/lang.c:841
+#: src/lang.c:862
 msgid "Not reading via NNTP."
 msgstr ""
 
-#: src/lang.c:843
+#: src/lang.c:864
 #, fuzzy, c-format
 msgid "Group: %s"
 msgstr "ç¾¤ç»„ %.*sâ€¦"
 
-#: src/lang.c:844
+#: src/lang.c:865
 #, fuzzy, c-format
 msgid "Groups: %s"
 msgstr "ç¾¤ç»„ %.*sâ€¦"
 
-#: src/lang.c:847
+#: src/lang.c:868
 msgid "Mail"
 msgstr "é‚®å¯„"
 
-#: src/lang.c:848
+#: src/lang.c:869
 msgid "mailbox "
 msgstr "ä¿¡ç®± "
 
-#: src/lang.c:849
+#: src/lang.c:870
 #, c-format
 msgid "Mail article(s) to [%.*s]> "
 msgstr "é‚®å¯„æ–‡ç« åˆ° [%.*s]>"
 
-#: src/lang.c:850
+#: src/lang.c:871
 #, c-format
 msgid "Mailing log to %s\n"
 msgstr "é‚®å¯„è®°å½•æ¡£åˆ° %s\n"
 
-#: src/lang.c:851
+#: src/lang.c:872
 msgid "Mail bug report..."
 msgstr "é‚®å¯„é”™è¯¯æŠ¥å‘Šâ€¦"
 
-#: src/lang.c:852
+#: src/lang.c:873
 #, c-format
 msgid "Mail BUG REPORT to %s?"
 msgstr "é‚®å¯„é”™è¯¯æŠ¥å‘Šåˆ° %sï¼Ÿ"
 
-#: src/lang.c:853
+#: src/lang.c:874
 msgid "Mailed"
 msgstr "å·²å¯„å‡º"
 
-#: src/lang.c:854
+#: src/lang.c:875
 #, c-format
 msgid "Mailing to %s..."
 msgstr "é‚®å¯„åˆ° %sâ€¦"
 
-#: src/lang.c:855
+#: src/lang.c:876
 msgid ""
 "# [Mail/Save] active file. Format is like news active file:\n"
 "#   groupname  max.artnum  min.artnum  /dir\n"
@@ -3032,84 +3115,84 @@ msgstr ""
 "# ç¬¬å››ä¸ªå­—æ®µæ˜¯åŸºåº•ç›®å½• (äº¦å³ ~/Mail æˆ– ~/News)\n"
 "#\n"
 
-#: src/lang.c:858
+#: src/lang.c:879
 #, c-format
 msgid "%s marked as read"
 msgstr "%s æ ‡è®°ä¸ºå·²è¯»"
 
-#: src/lang.c:859
+#: src/lang.c:880
 #, c-format
 msgid "%s marked as unread"
 msgstr "%s æ ‡è®°ä¸ºæœªè¯»"
 
-#: src/lang.c:860
+#: src/lang.c:881
 #, c-format
 msgid "Marked %d of %d %s as read"
 msgstr "æ ‡è®° %2$d ä¸­çš„ %1$d %3$s ä¸ºå·²è¯»"
 
-#: src/lang.c:861
+#: src/lang.c:882
 #, c-format
 msgid "Marked %d of %d %s as unread"
 msgstr "æ ‡è®° %2$d ä¸­çš„ %1$d %3$s ä¸ºæœªè¯»"
 
-#: src/lang.c:862 src/lang.c:1704
+#: src/lang.c:883 src/lang.c:1753
 msgid "Mark"
 msgstr "æ ‡è®°"
 
-#: src/lang.c:863
+#: src/lang.c:884
 #, c-format
 msgid "Mark all articles as read%s?"
 msgstr "æ ‡è®°æ‰€æœ‰æ–‡ç« ä¸º %s è¯»ï¼Ÿ"
 
-#: src/lang.c:864
+#: src/lang.c:885
 #, c-format
 msgid "Mark article as read%s?"
 msgstr "æ ‡è®°æ–‡ç« ä¸º %s è¯»ï¼Ÿ"
 
-#: src/lang.c:865
+#: src/lang.c:886
 #, c-format
 msgid "Mark group %s as read?"
 msgstr "æ ‡è®°ç¾¤ç»„ %s ä¸ºå·²è¯»ï¼Ÿ"
 
-#: src/lang.c:866
+#: src/lang.c:887
 #, c-format
 msgid "Mark thread as read%s?"
 msgstr "æ ‡è®°è®¨è®ºä¸²ä¸º %s è¯»ï¼Ÿ"
 
-#: src/lang.c:867
+#: src/lang.c:888
 #, c-format
 msgid "Matching %s groups..."
 msgstr "æ­£åœ¨åŒ¹é… %s ç¾¤ç»„â€¦"
 
-#: src/lang.c:868 src/lang.c:881 src/lang.c:884 src/lang.c:890
+#: src/lang.c:889 src/lang.c:902 src/lang.c:905 src/lang.c:911
 #, c-format
 msgid "<n>=set current to n; %s=line down; %s=line up; %s=help; %s=quit"
 msgstr "<n>=è®¾ç½®ç›®å‰ä¸º n; %s=ä¸‹ç§»ä¸€è¡Œï¼›%s=ä¸Šç§»ä¸€è¡Œï¼›%s=æ±‚åŠ©ï¼›%s=ç¦»å¼€"
 
-#: src/lang.c:870
+#: src/lang.c:891
 #, c-format
 msgid ""
 "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr ""
 "%s=æŸ¥çœ‹ï¼›%s=ç®¡é“ï¼›%s=ç®¡é“åŽŸå§‹ï¼›%s=ä¿å­˜ï¼›%s=æ ‡è®°ï¼›%s=æ ‡è®°æ¨¡å¼ï¼›%s=å–æ¶ˆæ‰€æœ‰æ ‡è®°"
 
-#: src/lang.c:872
+#: src/lang.c:893
 #, c-format
 msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr "%s=æŸ¥çœ‹ï¼›%s=ä¿å­˜ï¼›%s=æ ‡è®°ï¼›%s=æ ‡è®°æ¨¡å¼ï¼›%s=å–æ¶ˆæ‰€æœ‰æ ‡è®°"
 
-#: src/lang.c:874
+#: src/lang.c:895
 #, c-format
 msgid ""
 "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search"
 msgstr "%s=åå‘æ ‡è®°ï¼›%s=å‘å‰æœç´¢ï¼›%s=å‘åŽæœç´¢ï¼›%s=é‡å¤æœç´¢"
 
-#: src/lang.c:875 src/lang.c:879
+#: src/lang.c:896 src/lang.c:900
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=search pattern; %s=kill/select"
 msgstr "<n>=è®¾ç½®ç›®å‰ä¸º n; %s=ä¸‹ä¸€ä¸ªæœªè¯»ï¼›%s=æœç´¢æ¨¡å¼ï¼›%s=ç é™¤/é€‰å–"
 
-#: src/lang.c:876
+#: src/lang.c:897
 #, c-format
 msgid ""
 "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; "
@@ -3118,267 +3201,269 @@ msgstr ""
 "%s=ä½œè€…æœç´¢ï¼›%s=è®¾å›žæœªè¯»ï¼›%s=ä¸‹ç§»ä¸€è¡Œï¼›%s=ä¸Šç§»ä¸€è¡Œï¼›%s=è®¾ä¸ºå·²è¯»ï¼›%s=åˆ—å‡ºè®¨è®º"
 "ä¸²"
 
-#: src/lang.c:877
+#: src/lang.c:898
 #, c-format
 msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"
 msgstr "%s=ä¸Šç§»ä¸€è¡Œï¼›%s=ä¸‹ç§»ä¸€è¡Œï¼›%s=å‘ä¸Šä¸€é¡µï¼›%s=å‘ä¸‹ä¸€é¡µï¼›%s=é¡¶ç«¯ï¼›%s=åº•éƒ¨"
 
-#: src/lang.c:878
+#: src/lang.c:899
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=quit"
 msgstr "%s=å‘å‰æœç´¢ï¼›%s=å‘åŽæœç´¢ï¼›%s=ç¦»å¼€"
 
-#: src/lang.c:880
+#: src/lang.c:901
 #, c-format
 msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr "%s=ä½œè€…æœç´¢ï¼›%s=å†…æ–‡æœç´¢ï¼›%s=è®¾å›žæœªè¯»ï¼›%s=è·Ÿè´´ï¼›%s=è®¾ä¸ºå·²è¯»"
 
-#: src/lang.c:882 src/lang.c:891
+#: src/lang.c:903 src/lang.c:912
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=repeat search"
 msgstr "%s=å‘å‰æœç´¢ï¼›%s=å‘åŽæœç´¢ï¼›%s=é‡å¤æœç´¢"
 
-#: src/lang.c:883
+#: src/lang.c:904
 #, c-format
 msgid "%s=add; %s=move; %s=rename; %s=delete"
 msgstr "%s=åŠ å…¥ï¼›%s=ç§»åŠ¨ï¼›%s=é‡å‘½åï¼›%s=åˆ é™¤"
 
-#: src/lang.c:885
+#: src/lang.c:906
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr "<n>=è®¾ç½®ç›®å‰ä¸º n; %s=ä¸‹ä¸€ä¸ªæœªè¯»ï¼›%s,%s=æœç´¢æ¨¡å¼ï¼›%s=è®¾å›žæœªè¯»"
 
-#: src/lang.c:886
+#: src/lang.c:907
 #, c-format
 msgid ""
 "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
 msgstr "%s=ä¸‹ç§»ä¸€è¡Œï¼›%s=ä¸Šç§»ä¸€è¡Œï¼›%s=æ±‚åŠ©ï¼›%s=ç§»åŠ¨ï¼›%s=ç¦»å¼€ï¼›%s=åˆ‡æ¢å…¨éƒ¨/æœªè¯»"
 
-#: src/lang.c:887
+#: src/lang.c:908
 #, c-format
 msgid ""
 "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/"
 "out"
 msgstr "%s=è®¢é˜…ï¼›%s=è®¢é˜…æ¨¡å¼ï¼›%s=å–æ¶ˆè®¢é˜…ï¼›%s=å–æ¶ˆè®¢é˜…æ¨¡å¼ï¼›%s=æ‹”å…¥/å‡º"
 
-#: src/lang.c:888
+#: src/lang.c:909
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr "<n>=è®¾ç½®ç›®å‰ä¸º n; %s=ä¸‹ä¸€ä¸ªæœªè¯»ï¼›%s=è®¾å›žæœªè¯»ï¼›%s=æ˜¾ç¤ºåˆ‡æ¢"
 
-#: src/lang.c:889
+#: src/lang.c:910
 #, c-format
 msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"
 msgstr "%s=æ±‚åŠ©ï¼›%s=ä¸‹ç§»ä¸€è¡Œï¼›%s=ä¸Šç§»ä¸€è¡Œï¼›%s=ç¦»å¼€ï¼›%s=æ ‡è®°ï¼›%s=æ ‡è®°æœªè¯»"
 
-#: src/lang.c:892
+#: src/lang.c:913
 msgid "--More--"
 msgstr "--æ›´å¤š--"
 
-#: src/lang.c:894
+#: src/lang.c:915
 #, fuzzy, c-format
 msgid "MOTD: %s\n"
 msgstr "MOTD: "
 
-#: src/lang.c:896
+#: src/lang.c:917
 #, c-format
 msgid "Moving %s..."
 msgstr "æ­£åœ¨ç§»åŠ¨ %sâ€¦"
 
-#: src/lang.c:897
+#: src/lang.c:918
 msgid "Message-ID: & last Reference  "
 msgstr "Message-ID: & æœ€è¿‘å‚è€ƒ  "
 
-#: src/lang.c:898
+#: src/lang.c:919
 msgid "Message-ID: line              "
 msgstr "Message-ID: è¡Œ              "
 
-#: src/lang.c:899
+#: src/lang.c:920
 msgid "Message-ID: & References: line"
 msgstr "Message-ID: & References: è¡Œ"
 
-#: src/lang.c:901
+#: src/lang.c:922
 #, c-format
 msgid "Go to newsgroup [%s]> "
 msgstr "å‰å¾€æ–°é—»ç¾¤ç»„ [%s]>"
 
-#: src/lang.c:902
+#: src/lang.c:923
 msgid "newsgroups"
 msgstr "æ–°é—»ç¾¤ç»„"
 
-#: src/lang.c:903
+#: src/lang.c:924
 #, c-format
 msgid "Position %s in group list (1,2,..,$) [%d]> "
 msgstr "å®šä½ %s äºŽç¾¤ç»„æ¸…å• (1,2,..,$) [%d]>"
 
-#: src/lang.c:904
+#: src/lang.c:925
 msgid "newsgroup"
 msgstr "æ–°é—»ç¾¤ç»„"
 
-#: src/lang.c:905
+#: src/lang.c:926
 msgid "Try and save newsrc file again?"
 msgstr "å†æ¬¡å°è¯•å¹¶ä¿å­˜ newsrc æ–‡ä»¶ï¼Ÿ"
 
-#: src/lang.c:906
-msgid "Warning: No newsgroups were written to your newsrc file. Save aborted."
+#: src/lang.c:927
+#, fuzzy, c-format
+msgid "Warning: No groups written to your %s file. Save aborted."
 msgstr "è­¦å‘Šï¼šæ²¡æœ‰ä»»ä½•æ–°é—»ç¾¤ç»„è¢«å†™å…¥æ‚¨çš„ newsrc æ–‡ä»¶ã€‚å·²æ”¾å¼ƒä¿å­˜ã€‚"
 
-#: src/lang.c:907
-msgid "newsrc file saved successfully.\n"
+#: src/lang.c:928
+#, fuzzy, c-format
+msgid "%s file saved successfully.\n"
 msgstr "newsrc æ–‡ä»¶å·²æˆåŠŸä¿å­˜ã€‚\n"
 
-#: src/lang.c:908
+#: src/lang.c:929
 msgid "-- Next response --"
 msgstr "-- ä¸‹ä¸€ä¸ªå›žåº” --"
 
-#: src/lang.c:909
+#: src/lang.c:930
 msgid "No  "
 msgstr "å¦  "
 
-#: src/lang.c:910
+#: src/lang.c:931
 msgid "*** No articles ***"
 msgstr "*** æ²¡æœ‰æ–‡ç«  ***"
 
-#: src/lang.c:911
+#: src/lang.c:932
 msgid "No articles have been posted"
 msgstr "æ²¡æœ‰ä»»ä½•æ–‡ç« å·²è¢«å¼ è´´"
 
-#: src/lang.c:912
+#: src/lang.c:933
 msgid "*** No attachments ***"
 msgstr "*** æ²¡æœ‰é™„ä»¶ ***"
 
-#: src/lang.c:913
+#: src/lang.c:934
 msgid "*** No description ***"
 msgstr "*** æ²¡æœ‰æè¿° ***"
 
-#: src/lang.c:914
+#: src/lang.c:935
 msgid "No filename"
 msgstr "æ²¡æœ‰æ–‡ä»¶å"
 
-#: src/lang.c:915
+#: src/lang.c:936
 msgid "No group"
 msgstr "æ²¡æœ‰ç¾¤ç»„"
 
-#: src/lang.c:916
+#: src/lang.c:937
 msgid "*** No groups ***"
 msgstr "*** æ²¡æœ‰ç¾¤ç»„ ***"
 
-#: src/lang.c:917
+#: src/lang.c:938
 msgid "No more groups to read"
 msgstr "å·²æ— å¯è¯»å–ç¾¤ç»„"
 
-#: src/lang.c:918
+#: src/lang.c:939
 msgid "No last message"
 msgstr "æ²¡æœ‰æœ€è¿‘ä¸€ç¬”æ¶ˆæ¯"
 
-#: src/lang.c:919
+#: src/lang.c:940
 msgid "No mail address"
 msgstr "æ²¡æœ‰é‚®ä»¶åœ°å€"
 
-#: src/lang.c:920
+#: src/lang.c:941
 msgid "No articles marked for saving"
 msgstr "æ²¡æœ‰æ ‡è®°è¦ä¿å­˜çš„æ–‡ç« "
 
-#: src/lang.c:921
+#: src/lang.c:942
 msgid "No match"
 msgstr "æ²¡æœ‰åŒ¹é…"
 
-#: src/lang.c:922
+#: src/lang.c:943
 msgid "No more groups"
 msgstr "å·²æ— ç¾¤ç»„"
 
-#: src/lang.c:923
+#: src/lang.c:944
 msgid "No newsgroups"
 msgstr "æ²¡æœ‰æ–°é—»ç¾¤ç»„"
 
-#: src/lang.c:924
+#: src/lang.c:945
 msgid "No next unread article"
 msgstr "æ²¡æœ‰ä¸‹ä¸€ç¯‡æœªè¯»æ–‡ç« "
 
-#: src/lang.c:925
+#: src/lang.c:946
 msgid "No previous group"
 msgstr "æ²¡æœ‰ä¸Šä¸€ä¸ªç¾¤ç»„"
 
-#: src/lang.c:926
+#: src/lang.c:947
 msgid "No previous search, nothing to repeat"
 msgstr "æ²¡æœ‰ä¸Šä¸€ä¸ªæœç´¢ï¼Œæ²¡æœ‰ä»»ä½•ä¸œè¥¿å¯é‡å¤"
 
-#: src/lang.c:927
+#: src/lang.c:948
 msgid "No previous unread article"
 msgstr "æ²¡æœ‰ä¸Šä¸€ç¯‡æœªè¯»æ–‡ç« "
 
-#: src/lang.c:928
+#: src/lang.c:949
 msgid "No responses"
 msgstr "æ²¡æœ‰å›žåº”"
 
-#: src/lang.c:929
+#: src/lang.c:950
 msgid "No responses to list in current thread"
 msgstr "åœ¨ç›®å‰çš„è®¨è®ºä¸²ä¸­æ²¡æœ‰å›žåº”å¯åˆ—å‡º"
 
-#: src/lang.c:930
+#: src/lang.c:951
 msgid "*** No scopes ***"
 msgstr "*** æ²¡æœ‰èŒƒå›´ ***"
 
-#: src/lang.c:931
+#: src/lang.c:952
 msgid "No search string"
 msgstr "æ²¡æœ‰æœç´¢å­—ä¸²"
 
-#: src/lang.c:932
+#: src/lang.c:953
 msgid "No subject"
 msgstr "æ²¡æœ‰ä¸»æ—¨"
 
-#: src/lang.c:934
+#: src/lang.c:955
 #, c-format
 msgid "%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr "%sï¼šç»ˆç«¯æœºå¿…é¡»èƒ½å¤Ÿæ¸…ç©ºåˆ°è¡Œå°¾ (ce)\n"
 
-#: src/lang.c:935
+#: src/lang.c:956
 #, c-format
 msgid "%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr "%sï¼šç»ˆç«¯æœºå¿…é¡»èƒ½å¤Ÿæ¸…ç©ºåˆ°å±å¹•æœ«ç«¯ (cd)\n"
 
-#: src/lang.c:936
+#: src/lang.c:957
 #, c-format
 msgid "%s: Terminal must have clearscreen (cl) capability\n"
 msgstr "%sï¼šç»ˆç«¯æœºå¿…é¡»å…·å¤‡æ¸…ç©ºå±å¹• (cl) çš„èƒ½åŠ›\n"
 
-#: src/lang.c:937
+#: src/lang.c:958
 #, c-format
 msgid "%s: Terminal must have cursor motion (cm)\n"
 msgstr "%sï¼šç»ˆç«¯æœºå¿…é¡»èƒ½å¤Ÿç§»åŠ¨å…‰æ ‡ (cm)\n"
 
-#: src/lang.c:938
+#: src/lang.c:959
 #, c-format
 msgid "%s: TERM variable must be set to use screen capabilities\n"
 msgstr "%sï¼šTERM å˜é‡å¿…é¡»è¢«è®¾ç½®ä»¥ä½¿ç”¨å±å¹•èƒ½åŠ›\n"
 
-#: src/lang.c:940
+#: src/lang.c:961
 #, c-format
 msgid "No viewer found for %s/%s\n"
 msgstr "æ‰¾ä¸åˆ°ä»»ä½•æŸ¥çœ‹å™¨ç”¨äºŽ %s/%s\n"
 
-#: src/lang.c:941 src/lang.c:1616 src/lang.c:1644 src/lang.c:1935
+#: src/lang.c:962 src/lang.c:1665 src/lang.c:1693 src/lang.c:1991
 msgid "None"
 msgstr "æ— "
 
-#: src/lang.c:942
+#: src/lang.c:963
 msgid "Newsgroup does not exist on this server"
 msgstr "æ–°é—»ç¾¤ç»„ä¸å­˜åœ¨äºŽè¿™ä¸ªæœåŠ¡å™¨"
 
-#: src/lang.c:943
+#: src/lang.c:964
 #, c-format
 msgid "Group %s not found in active file"
 msgstr "åœ¨çŽ°ç”¨æ–‡ä»¶ä¸­æ‰¾ä¸åˆ°ç¾¤ç»„ %s"
 
-#: src/lang.c:944
+#: src/lang.c:966
 msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr "c)åˆ›å»ºå®ƒã€ä½¿ç”¨ a)æ›¿ä»£åç§°ã€ä½¿ç”¨ d)ç¼ºçœ .newsrcã€q)ç¦»å¼€ tinï¼š"
 
-#: src/lang.c:945
+#: src/lang.c:967
 msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr "ä½¿ç”¨ a)æ›¿ä»£åç§°ã€ä½¿ç”¨ d)ç¼ºçœ .newsrcã€q)ç¦»å¼€ tinï¼š"
 
-#: src/lang.c:946
+#: src/lang.c:968
 #, c-format
 msgid ""
 "# NNTP-server -> newsrc translation table and NNTP-server\n"
@@ -3407,48 +3492,48 @@ msgstr ""
 "#   news.example.org  /tmp/nrc-ex      example    ex\n"
 "#\n"
 
-#: src/lang.c:952
+#: src/lang.c:975
 msgid "NULL"
 msgstr "NULL"
 
-#: src/lang.c:954
+#: src/lang.c:977
 msgid "Only"
 msgstr "åªæœ‰"
 
-#: src/lang.c:955
-#, c-format
-msgid "Option not enabled. Recompile with %s."
-msgstr "é€‰é¡¹æœªå¯ç”¨ã€‚é‡æ–°ä»¥ %s ç¼–è¯‘ã€‚"
-
-#: src/lang.c:956
+#: src/lang.c:979
 msgid "Options Menu"
 msgstr "é€‰é¡¹åŠŸèƒ½è¡¨"
 
-#: src/lang.c:957
+#: src/lang.c:980
 msgid "Options Menu Commands"
 msgstr "é€‰é¡¹åŠŸèƒ½è¡¨å‘½ä»¤"
 
-#: src/lang.c:960
+#: src/lang.c:981
+#, fuzzy, c-format
+msgid "Option not enabled. Recompile with %s.%s\n"
+msgstr "é€‰é¡¹æœªå¯ç”¨ã€‚é‡æ–°ä»¥ %s ç¼–è¯‘ã€‚%s\n"
+
+#: src/lang.c:984
 #, c-format
 msgid "Error in regex: %s at pos. %d '%s'"
 msgstr "åœ¨æ­£åˆ™è¡¨è¾¾å¼ %s çš„ä½ç½® %d å‘ç”Ÿé”™è¯¯ï¼šâ€˜%sâ€™"
 
-#: src/lang.c:961
+#: src/lang.c:985
 #, c-format
 msgid "Error in regex: pcre internal error %d"
 msgstr "åœ¨æ­£åˆ™è¡¨è¾¾å¼ä¸­å‘ç”Ÿé”™è¯¯ï¼špcre å†…éƒ¨é”™è¯¯ %d"
 
-#: src/lang.c:963
+#: src/lang.c:987
 #, c-format
 msgid "Error in regex: study - pcre internal error %s"
 msgstr "åœ¨æ­£åˆ™è¡¨è¾¾å¼ä¸­å‘ç”Ÿé”™è¯¯ï¼šstudy - pcre å†…éƒ¨é”™è¯¯ %s"
 
-#: src/lang.c:965
+#: src/lang.c:989
 msgid "Post a followup..."
 msgstr "è·Ÿè´´â€¦"
 
 #. TODO: replace hard coded key-name in txt_post_error_ask_postpone
-#: src/lang.c:967
+#: src/lang.c:991
 msgid ""
 "An error has occurred while posting the article. If you think that this\n"
 "error is temporary or otherwise correctable, you can postpone the article\n"
@@ -3458,344 +3543,347 @@ msgstr ""
 "é”™è¯¯æ˜¯æš‚æ—¶æˆ–æ˜¯å¯æ”¹æ­£çš„ï¼Œæ‚¨å¯ä»¥æç½®æ–‡ç« \n"
 "å¹¶äºŽç¨åŽä»¥ ^O å†æ¬¡å–å‡ºå®ƒã€‚\n"
 
-#: src/lang.c:970
+#: src/lang.c:994
 msgid "Posted articles history"
 msgstr "å¼ è´´æ–‡ç« åŽ†å²è®°å½•"
 
-#: src/lang.c:971
+#: src/lang.c:995
 #, fuzzy
 msgid "Posted Articles Menu Commands"
 msgstr "å±žæ€§åŠŸèƒ½è¡¨æŒ‡ä»¤"
 
-#: src/lang.c:972
+#: src/lang.c:996
 msgid "Lookup failed"
 msgstr ""
 
-#: src/lang.c:973
+#: src/lang.c:997
 #, fuzzy
 msgid "Operation not available for replies by mail"
 msgstr "å›žåˆ°ç¾¤ç»„é€‰æ‹©å±‚çº§"
 
-#: src/lang.c:974
+#: src/lang.c:998
 #, fuzzy
 msgid "Already in posted articles history level"
 msgstr "å¼ è´´æ–‡ç« åŽ†å²è®°å½•"
 
-#: src/lang.c:975
+#: src/lang.c:999
 #, c-format
 msgid "Post to newsgroup(s) [%s]> "
 msgstr "å¼ è´´åˆ°æ–°é—»ç¾¤ç»„ [%s]>"
 
-#: src/lang.c:976
+#: src/lang.c:1000
 msgid "-- post processing started --"
 msgstr "-- å¼ è´´å¤„ç†å¼€å§‹ --"
 
-#: src/lang.c:977
+#: src/lang.c:1001
 msgid "-- post processing completed --"
 msgstr "-- å¼ è´´å¤„ç†å®Œæˆ --"
 
-#: src/lang.c:978
+#: src/lang.c:1002
 #, c-format
 msgid "Post subject [%s]> "
 msgstr "å¼ è´´ä¸»æ—¨ [%s]>"
 
-#: src/lang.c:979
+#: src/lang.c:1003
 msgid ""
 "# Summary of mailed/posted messages viewable by 'W' command from within "
 "tin.\n"
 msgstr "# é‚®å¯„/å¼ è´´çš„æ¶ˆæ¯æ¦‚è¦å¯ä»¥åœ¨ tin ä¹‹ä¸­ç»ç”±â€˜Wâ€™å‘½ä»¤æ¥æŸ¥çœ‹ã€‚\n"
 
-#: src/lang.c:980
+#: src/lang.c:1004
 msgid "Posting article..."
 msgstr "å¼ è´´æ–‡ç« â€¦"
 
-#: src/lang.c:982
+#: src/lang.c:1006
 #, fuzzy, c-format
 msgid "Posting failed (%s)"
 msgstr "å¼ è´´æ–‡ç« â€¦"
 
-#: src/lang.c:984
+#: src/lang.c:1008
 #, c-format
 msgid "Posting: %.*s ..."
 msgstr "å¼ è´´ï¼š%.*sâ€¦"
 
-#: src/lang.c:985
+#: src/lang.c:1009
 #, c-format
 msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 msgstr "å¼ è´´è¢«æç½®çš„æ–‡ç«  [%%s]ï¼Ÿ(%s/%s/%s/%s/%s)ï¼š"
 
-#: src/lang.c:986
+#: src/lang.c:1010
 #, c-format
 msgid "Hot %s"
 msgstr "çƒ­é—¨ %s"
 
-#: src/lang.c:987
+#: src/lang.c:1011
 #, c-format
 msgid "Tagged %s"
 msgstr "å·²æ ‡è®° %s"
 
-#: src/lang.c:988
+#: src/lang.c:1012
 #, c-format
 msgid "Untagged %s"
 msgstr "å·²å–æ¶ˆæ ‡è®° %s"
 
-#: src/lang.c:990
+#: src/lang.c:1014
 #, c-format
 msgid "Preparing for filtering on Path header (%d/%d)..."
 msgstr ""
 
-#: src/lang.c:992
+#: src/lang.c:1016
 #, fuzzy
 msgid "Processing attributes..."
 msgstr "å¤„ç†å±žæ€§â€¦"
 
-#: src/lang.c:993
+#: src/lang.c:1017
 msgid "Processing mail messages marked for deletion."
 msgstr "å¤„ç†æ ‡è®°ä¸ºåˆ é™¤çš„é‚®ä»¶æ¶ˆæ¯ã€‚"
 
-#: src/lang.c:994
+#: src/lang.c:1018
 msgid "Processing saved articles marked for deletion."
 msgstr "å¤„ç†æ ‡è®°ä¸ºåˆ é™¤çš„å·²ä¿å­˜æ–‡ç« ã€‚"
 
-#: src/lang.c:995
+#: src/lang.c:1019
 #, c-format
 msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr "æŽ¥å—è·Ÿè´´ï¼Ÿ%s=å¼ è´´ï¼Œ%s=å¿½ç•¥ï¼Œ%s=ç¦»å¼€ï¼š"
 
-#: src/lang.c:996
+#: src/lang.c:1020
 msgid "Article unchanged, abort mailing?"
 msgstr "æ–‡ç« æœªå˜æ›´ï¼Œæ”¾å¼ƒé‚®å¯„ï¼Ÿ"
 
-#: src/lang.c:997
+#: src/lang.c:1021
 #, c-format
 msgid "Do you want to see postponed articles (%d)?"
 msgstr "æ‚¨è¦çœ‹åˆ°æç½®çš„æ–‡ç«  (%d) å—ï¼Ÿ"
 
-#: src/lang.c:999
+#: src/lang.c:1023
 msgid "Add quick kill filter?"
 msgstr "åŠ å…¥å¿«é€Ÿç é™¤ç­›é€‰å™¨ï¼Ÿ"
 
-#: src/lang.c:1000
+#: src/lang.c:1024
 msgid "Add quick selection filter?"
 msgstr "åŠ å…¥å¿«é€Ÿé€‰æ‹©ç­›é€‰å™¨ï¼Ÿ"
 
-#: src/lang.c:1001
+#: src/lang.c:1025
 msgid "Do you really want to quit?"
 msgstr "æ‚¨çœŸçš„è¦ç¦»å¼€å—ï¼Ÿ"
 
-#: src/lang.c:1002
+#: src/lang.c:1026
 #, c-format
 msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr "%s=ç¼–è¾‘å–æ¶ˆæ¶ˆæ¯ï¼Œ%s=ç¦»å¼€ï¼Œ%s=åˆ é™¤ (å–æ¶ˆ) [%%s]ï¼š"
 
-#: src/lang.c:1003
+#: src/lang.c:1027
 msgid "You have tagged articles in this group - quit anyway?"
 msgstr "æ‚¨å·²åœ¨è¿™ä¸ªç¾¤ç»„ä¸­æ ‡è®°æ–‡ç«  - æ— è®ºå¦‚ä½•éƒ½è¦ç¦»å¼€ï¼Ÿ"
 
-#: src/lang.c:1004
+#: src/lang.c:1028
 #, c-format
 msgid "%s=quit, %s=edit, %s=postpone: "
 msgstr "%s=ç¦»å¼€ï¼Œ%s=ç¼–è¾‘ï¼Œ%s=æç½®ï¼š"
 
-#: src/lang.c:1005
+#: src/lang.c:1029
 #, fuzzy, c-format
 msgid "%s=quit, %s=edit, %s=save kill description: "
 msgstr "%s=ç¦»å¼€ %s=ç¼–è¾‘ %s=ä¿å­˜ç é™¤æè¿°ï¼š"
 
-#: src/lang.c:1006
+#: src/lang.c:1030
 #, fuzzy, c-format
 msgid "%s=quit, %s=edit, %s=save select description: "
 msgstr "%s=ç¦»å¼€ %s=ç¼–è¾‘ %s=ä¿å­˜é€‰å–æè¿°ï¼š"
 
-#: src/lang.c:1007
+#: src/lang.c:1031
 msgid "Do you really want to quit without saving your configuration?"
 msgstr "æ‚¨çœŸçš„è¦ç¦»å¼€å´ä¸ä¿å­˜æ‚¨çš„ç»„æ€å—ï¼Ÿ"
 
-#: src/lang.c:1010
+#: src/lang.c:1033
 msgid "Invalid range - valid are '0-9.$' e.g. 1-$"
 msgstr "æ— æ•ˆçš„èŒƒå›´ - æœ‰æ•ˆæ˜¯â€˜0-9.$â€™ä¾‹å¦‚ï¼š1-$"
 
-#: src/lang.c:1012
+#: src/lang.c:1035
 msgid "Do you want to abort this operation?"
 msgstr "æ‚¨è¦æ”¾å¼ƒè¿™ä¸ªæ“ä½œå—ï¼Ÿ"
 
-#: src/lang.c:1013
+#: src/lang.c:1036
 msgid "Do you want to exit tin immediately?"
 msgstr "æ‚¨è¦é©¬ä¸Šç¦»å¼€ tin å—ï¼Ÿ"
 
-#: src/lang.c:1015
+#: src/lang.c:1038
 msgid "Reading ('q' to quit)..."
 msgstr "è¯»å– (â€˜qâ€™è¡¨ç¤ºç¦»å¼€)â€¦"
 
-#: src/lang.c:1016
+#: src/lang.c:1039
 #, fuzzy, c-format
 msgid "Reading %s articles..."
 msgstr "è¯»å– %s ç¯‡æ–‡ç« â€¦"
 
-#: src/lang.c:1017
-#, c-format
-msgid "Reading %sattributes file...\n"
+#: src/lang.c:1040
+#, fuzzy, c-format
+msgid "Reading %sattributes file: %s\n"
 msgstr "è¯»å– %s å±žæ€§æ–‡ä»¶â€¦\n"
 
-#: src/lang.c:1018
-#, c-format
-msgid "Reading %sconfig file...\n"
+#: src/lang.c:1041
+#, fuzzy, c-format
+msgid "Reading %sconfig file: %s\n"
 msgstr "è¯»å– %s ç»„æ€æ–‡ä»¶â€¦\n"
 
-#: src/lang.c:1019
-msgid "Reading filter file...\n"
+#: src/lang.c:1042
+#, fuzzy, c-format
+msgid "Reading filter file: %s\n"
 msgstr "è¯»å–ç­›é€‰å™¨æ–‡ä»¶â€¦\n"
 
-#: src/lang.c:1021
+#: src/lang.c:1044
 msgid "reading from local spool"
 msgstr ""
 
-#: src/lang.c:1023
+#: src/lang.c:1046
 #, fuzzy, c-format
 msgid "Reading %s\n"
 msgstr "é‡æ–°è¯»å– %sâ€¦"
 
-#: src/lang.c:1024
+#: src/lang.c:1047
 #, c-format
 msgid "Reading %s groups..."
 msgstr "è¯»å– %s ç¾¤ç»„â€¦"
 
-#: src/lang.c:1025
-msgid "Reading input history file...\n"
+#: src/lang.c:1048
+#, fuzzy, c-format
+msgid "Reading input history file: %s\n"
 msgstr "è¯»å–è¾“å…¥åŽ†å²æ–‡ä»¶â€¦\n"
 
-#: src/lang.c:1026
+#: src/lang.c:1049
 #, fuzzy, c-format
 msgid "Reading keymap file: %s\n"
 msgstr "è¯»å– keymap æ–‡ä»¶â€¦\n"
 
-#: src/lang.c:1027
+#: src/lang.c:1050
 msgid "Reading groups from active file... "
 msgstr "ä»ŽçŽ°ç”¨æ–‡ä»¶è¯»å–ç¾¤ç»„â€¦"
 
-#: src/lang.c:1028
+#: src/lang.c:1051
 msgid "Reading groups from newsrc file... "
 msgstr "ä»Ž newsrc æ–‡ä»¶è¯»å–ç¾¤ç»„â€¦"
 
-#: src/lang.c:1029
+#: src/lang.c:1052
 msgid "Reading newsgroups file... "
 msgstr "è¯»å–æ–°é—»ç¾¤ç»„æ–‡ä»¶â€¦"
 
-#: src/lang.c:1030
-msgid "Reading newsrc file..."
+#: src/lang.c:1053
+#, fuzzy, c-format
+msgid "Reading newsrc file: %s"
 msgstr "è¯»å– newsrc æ–‡ä»¶â€¦"
 
-#: src/lang.c:1031
+#: src/lang.c:1054
 msgid "References: line              "
 msgstr "References: è¡Œ              "
 
-#: src/lang.c:1033
+#: src/lang.c:1056
 #, c-format
 msgid "(%d:%02d remaining)"
 msgstr "(%d:%02d è¿˜å‰©ä½™)"
 
-#: src/lang.c:1035
+#: src/lang.c:1058
 #, c-format
 msgid "Bogus group %s removed."
 msgstr "å‡é€ çš„ç¾¤ç»„ %s å·²ç§»é™¤ã€‚"
 
-#: src/lang.c:1036
+#: src/lang.c:1059
 #, fuzzy
 msgid "Removed from this rule: "
 msgstr "å·²ä»Žä¸Šä¸€ä¸ªè§„åˆ™ç§»é™¤ï¼š"
 
-#: src/lang.c:1037
+#: src/lang.c:1060
 #, c-format
 msgid "Error: rename %s to %s"
 msgstr "é”™è¯¯ï¼šé‡å‘½å %s ä¸º %s"
 
-#: src/lang.c:1038
+#: src/lang.c:1061
 msgid "Reply to author..."
 msgstr "å›žå¤ç»™ä½œè€…â€¦"
 
-#: src/lang.c:1039
+#: src/lang.c:1062
 msgid "Repost"
 msgstr "é‡æ–°å¼ è´´"
 
-#: src/lang.c:1040
+#: src/lang.c:1063
 msgid "Reposting article..."
 msgstr "é‡æ–°å¼ è´´æ–‡ç« â€¦"
 
-#: src/lang.c:1041
+#: src/lang.c:1064
 #, c-format
 msgid "Repost article(s) to group(s) [%s]> "
 msgstr "é‡æ–°å¼ è´´æ–‡ç« åˆ°ç¾¤ç»„ [%s]>"
 
-#: src/lang.c:1042
+#: src/lang.c:1065
 msgid "Reset newsrc?"
 msgstr "é‡ç½® newsrcï¼Ÿ"
 
-#: src/lang.c:1043
+#: src/lang.c:1066
 msgid "Responses have been directed to the following newsgroups"
 msgstr "å›žåº”å·²è¢«å¯¼å‘ä¸‹åˆ—æ–°é—»ç¾¤ç»„"
 
-#: src/lang.c:1044
+#: src/lang.c:1067
 #, c-format
 msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr "å›žåº”å·²è¢«å¯¼å‘å¼ è´´è€…ã€‚%s=é‚®å¯„ï¼Œ%s=å¼ è´´ï¼Œ%s=ç¦»å¼€ï¼š"
 
-#: src/lang.c:1045
+#: src/lang.c:1068
 msgid "Press <RETURN> to continue..."
 msgstr "æŒ‰ä¸‹ <RETURN> ä»¥ç»§ç»­â€¦"
 
-#: src/lang.c:1047
+#: src/lang.c:1070
 #, fuzzy, c-format
 msgid "Score: %s"
 msgstr "åˆ†æ•°"
 
-#: src/lang.c:1048
+#: src/lang.c:1071
 #, c-format
 msgid "Select From    [%s] (y/n): "
 msgstr "é€‰å–è‡ª    [%s] (y/n)ï¼š"
 
-#: src/lang.c:1049
+#: src/lang.c:1072
 msgid "Select Lines: (</>num): "
 msgstr "é€‰å–å¤šè¡Œï¼š(</>num)ï¼š"
 
-#: src/lang.c:1050
+#: src/lang.c:1073
 msgid "Auto-select Article Menu"
 msgstr "è‡ªåŠ¨é€‰å–æ–‡ç« èœå•"
 
-#: src/lang.c:1051
+#: src/lang.c:1074
 #, fuzzy, c-format
 msgid "Select Msg-ID  [%s] (f/l/o/n): "
 msgstr "é€‰å– Msg-Id  [%s] (f/l/o/n)ï¼š"
 
-#: src/lang.c:1052
+#: src/lang.c:1075
 msgid "Select pattern scope: "
 msgstr "é€‰å–æ¨¡å¼èŒƒå›´ï¼š"
 
-#: src/lang.c:1053
+#: src/lang.c:1076
 #, c-format
 msgid "Select Subject [%s] (y/n): "
 msgstr "é€‰å–ä¸»æ—¨ [%s] (y/n)ï¼š"
 
-#: src/lang.c:1054
+#: src/lang.c:1077
 msgid "Select text pattern : "
 msgstr "é€‰å–æ–‡æœ¬æ¨¡å¼ï¼š"
 
-#: src/lang.c:1055
+#: src/lang.c:1078
 msgid "Select time in days   : "
 msgstr "é€‰å–æ—¶é—´å¤©æ•°  ï¼š"
 
-#: src/lang.c:1056
+#: src/lang.c:1079
 msgid "[k]"
 msgstr ""
 
-#: src/lang.c:1057
+#: src/lang.c:1080
 msgid "[T]"
 msgstr ""
 
-#: src/lang.c:1058
+#: src/lang.c:1081
 msgid " R"
 msgstr " R"
 
-#: src/lang.c:1059
+#: src/lang.c:1082
 #, c-format
 msgid ""
 "# %s server configuration file\n"
@@ -3816,54 +3904,54 @@ msgstr ""
 "############################################################################\n"
 "\n"
 
-#: src/lang.c:1065
+#: src/lang.c:1088
 msgid "Showing unread groups only"
 msgstr "åªæ˜¾ç¤ºæœªè¯»ç¾¤ç»„"
 
-#: src/lang.c:1066
+#: src/lang.c:1089
 msgid "Subject: line (ignore case)   "
 msgstr "Subject: è¡Œ (å¿½ç•¥å¤§å°å†™)   "
 
-#: src/lang.c:1067
+#: src/lang.c:1090
 msgid "Subject: line (case sensitive)"
 msgstr "Subject: è¡Œ (å¤§å°å†™ç›¸ç¬¦)"
 
-#: src/lang.c:1068
+#: src/lang.c:1091
 msgid "Save"
 msgstr "ä¿å­˜"
 
-#: src/lang.c:1069
+#: src/lang.c:1092
 #, c-format
 msgid "Save '%s' (%s/%s)?"
 msgstr "ä¿å­˜â€˜%sâ€™(%s/%s)ï¼Ÿ"
 
-#: src/lang.c:1070
+#: src/lang.c:1093
 msgid "Save configuration before continuing?"
 msgstr "ç»§ç»­ä¹‹å‰å…ˆä¿å­˜ç»„æ€ï¼Ÿ"
 
-#: src/lang.c:1071
+#: src/lang.c:1094
 msgid "Save filename> "
 msgstr "ä¿å­˜æ–‡ä»¶å>"
 
-#: src/lang.c:1072
+#: src/lang.c:1095
 msgid "Saved"
 msgstr "å·²ä¿å­˜"
 
-#: src/lang.c:1073
-#, c-format
-msgid "%4d unread (%4d hot) %s in %s\n"
+#: src/lang.c:1096
+#, fuzzy, c-format
+msgid "%s unread (%s hot) %s in %s\n"
 msgstr "%4d æœªè¯» (%4d çƒ­é—¨) %s äºŽ %s\n"
 
-#: src/lang.c:1074
+#: src/lang.c:1097
 #, c-format
 msgid "Saved %s...\n"
 msgstr "å·²ä¿å­˜ %sâ€¦\n"
 
-#: src/lang.c:1075
+#: src/lang.c:1098
 msgid "Nothing was saved"
 msgstr "æ²¡æœ‰ä»»ä½•ä¸œè¥¿è¢«ä¿å­˜"
 
-#: src/lang.c:1076
+#: src/lang.c:1099
 #, c-format
 msgid ""
 "\n"
@@ -3872,187 +3960,187 @@ msgstr ""
 "\n"
 "%s %d %s æ¥è‡ª %d %s\n"
 
-#: src/lang.c:1077
+#: src/lang.c:1100
 #, c-format
 msgid "-- %s saved to %s%s --"
 msgstr "-- %s ä¿å­˜åˆ° %s%s --"
 
-#: src/lang.c:1078
+#: src/lang.c:1101
 #, c-format
 msgid "-- %s saved to %s - %s --"
 msgstr "-- %s ä¿å­˜åˆ° %s - %s --"
 
-#: src/lang.c:1079
+#: src/lang.c:1102
 msgid "Saving..."
 msgstr "ä¿å­˜ä¸­â€¦"
 
-#: src/lang.c:1080
+#: src/lang.c:1103
 #, c-format
 msgid "%s: Screen initialization failed"
 msgstr "%sï¼šå±å¹•åˆå§‹åŒ–å¤±è´¥"
 
-#: src/lang.c:1082
+#: src/lang.c:1105
 #, c-format
 msgid "%s: screen is too small\n"
 msgstr "%sï¼šå±å¹•å¤ªå°\n"
 
-#: src/lang.c:1084
+#: src/lang.c:1107
 #, fuzzy, c-format
 msgid "screen is too small, %s is exiting"
 msgstr "å±å¹•å¤ªå°ï¼Œ%s æ­£åœ¨ç¦»å¼€\n"
 
-#: src/lang.c:1085
+#: src/lang.c:1108
 msgid "Delete scope?"
 msgstr "åˆ é™¤èŒƒå›´ï¼Ÿ"
 
-#: src/lang.c:1086
+#: src/lang.c:1109
 msgid "Enter scope> "
 msgstr "è¾“å…¥èŒƒå›´>"
 
-#: src/lang.c:1087
+#: src/lang.c:1110
 msgid "Select new position> "
 msgstr "é€‰å–æ–°ä½ç½®>"
 
-#: src/lang.c:1088
+#: src/lang.c:1111
 msgid "New position cannot be a global scope"
 msgstr "æ–°ä½ç½®ä¸å¯æ˜¯å…¨å±€èŒƒå›´"
 
-#: src/lang.c:1089
+#: src/lang.c:1112
 msgid "Global scope, operation not allowed"
 msgstr "å…¨å±€èŒƒå›´ï¼Œæ“ä½œä¸å…è®¸"
 
-#: src/lang.c:1090
+#: src/lang.c:1113
 msgid "Rename scope> "
 msgstr "é‡å‘½åèŒƒå›´>"
 
-#: src/lang.c:1091
+#: src/lang.c:1114
 msgid "Select scope> "
 msgstr "é€‰å–èŒƒå›´>"
 
-#: src/lang.c:1092
+#: src/lang.c:1115
 msgid "Scopes Menu"
 msgstr "èŒƒå›´èœå•"
 
-#: src/lang.c:1093
+#: src/lang.c:1116
 msgid "Scopes Menu Commands"
 msgstr "èŒƒå›´åŠŸèƒ½è¡¨æŒ‡ä»¤"
 
-#: src/lang.c:1094
+#: src/lang.c:1117
 #, c-format
 msgid "Search backwards [%s]> "
 msgstr "å‘åŽæœç´¢ [%s]>"
 
-#: src/lang.c:1095
+#: src/lang.c:1118
 #, c-format
 msgid "Search body [%s]> "
 msgstr "æœç´¢å†…æ–‡ [%s]>"
 
-#: src/lang.c:1096
+#: src/lang.c:1119
 #, c-format
 msgid "Search forwards [%s]> "
 msgstr "å‘å‰æœç´¢ [%s]>"
 
-#: src/lang.c:1097
+#: src/lang.c:1120
 msgid "Searching..."
 msgstr "æœç´¢ä¸­â€¦"
 
-#: src/lang.c:1098
+#: src/lang.c:1121
 #, c-format
 msgid "Searching article %d of %d ('q' to abort)..."
 msgstr "æœç´¢æ–‡ç«  %2$d ä¸­çš„ %1$d (â€˜qâ€™ä»¥æ”¾å¼ƒ)â€¦"
 
-#: src/lang.c:1099
+#: src/lang.c:1122
 msgid "Select article> "
 msgstr "é€‰å–æ–‡ç« >"
 
-#: src/lang.c:1100
+#: src/lang.c:1123
 msgid ""
 "Select option number before text or use arrow keys and <CR>. 'q' to quit."
 msgstr "é€‰å–æ–‡æœ¬å‰æ–¹çš„é€‰é¡¹æ•°å­—æˆ–ä½¿ç”¨æ–¹å‘é”®å’Œ <CR>ã€‚â€˜qâ€™ä»¥ç¦»å¼€ã€‚"
 
-#: src/lang.c:1101
+#: src/lang.c:1124
 msgid "Select group> "
 msgstr "é€‰å–ç¾¤ç»„>"
 
-#: src/lang.c:1102
+#: src/lang.c:1125
 #, c-format
 msgid "Enter selection pattern [%s]> "
 msgstr "è¾“å…¥é€‰æ‹©æ¨¡å¼ [%s]>"
 
-#: src/lang.c:1103
+#: src/lang.c:1126
 msgid "Select thread> "
 msgstr "é€‰å–å¸–å­> "
 
-#: src/lang.c:1104
+#: src/lang.c:1127
 #, fuzzy, c-format
 msgid "%s %s %s (\"%s\"): send a DETAILED bug report to %s\n"
 msgstr "%s %s %s (â€œ%sâ€) [%s]ï¼šå‘é€è¯¦ç»†çš„é”™è¯¯æŠ¥å‘Šç»™ %s\n"
 
-#: src/lang.c:1105
+#: src/lang.c:1128
 msgid "servers active-file"
 msgstr "æœåŠ¡å™¨ç›®å‰æ–‡ä»¶"
 
-#: src/lang.c:1106
+#: src/lang.c:1129
 #, c-format
 msgid "Skipped %s"
 msgstr ""
 
-#: src/lang.c:1107
+#: src/lang.c:1130
 msgid "Cannot move into new newsgroups. Subscribe first..."
 msgstr "æ— æ³•ç§»å…¥æ–°çš„æ–°é—»ç¾¤ç»„ã€‚è¯·å…ˆè®¢é˜…â€¦"
 
-#: src/lang.c:1108
+#: src/lang.c:1131
 msgid "<SPACE>"
 msgstr "<SPACE>"
 
-#: src/lang.c:1109
+#: src/lang.c:1132
 #, c-format
 msgid "Starting: (%s)"
 msgstr "å¼€å§‹ï¼š(%s)"
 
-#: src/lang.c:1110
+#: src/lang.c:1133
 #, c-format
 msgid "List Thread (%d of %d)"
 msgstr "åˆ—å‡ºè®¨è®ºä¸² (%2$d ä¸­çš„ %1$d)"
 
-#: src/lang.c:1111
+#: src/lang.c:1134
 #, c-format
 msgid "Thread (%.*s)"
 msgstr "è®¨è®ºä¸² (%.*s)"
 
-#: src/lang.c:1112
+#: src/lang.c:1135
 msgid "Enter wildcard subscribe pattern> "
 msgstr "è¾“å…¥é€šé…ç¬¦è®¢é˜…æ¨¡å¼>"
 
-#: src/lang.c:1113
+#: src/lang.c:1136
 #, c-format
 msgid "subscribed to %d groups"
 msgstr "å·²è®¢é˜… %d ç¾¤ç»„"
 
-#: src/lang.c:1114
+#: src/lang.c:1137
 #, c-format
 msgid "Subscribed to %s"
 msgstr "å·²è®¢é˜… %s"
 
-#: src/lang.c:1115
+#: src/lang.c:1138
 msgid "Subscribing... "
 msgstr "è®¢é˜…â€¦"
 
-#: src/lang.c:1116
+#: src/lang.c:1139
 #, c-format
 msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): "
 msgstr "é‡æ–°å¼ è´´æˆ–å–ä»£æ–‡ç«  [%%s]ï¼Ÿ(%s/%s/%s)ï¼š"
 
-#: src/lang.c:1117
+#: src/lang.c:1140
 #, c-format
 msgid "Supersede article(s) to group(s) [%s]> "
 msgstr "å–ä»£æ–‡ç« äºŽç¾¤ç»„ [%s]>"
 
-#: src/lang.c:1118
+#: src/lang.c:1141
 msgid "Superseding article ..."
 msgstr "å–ä»£æ–‡ç« â€¦"
 
-#: src/lang.c:1119
+#: src/lang.c:1142
 #, c-format
 msgid ""
 "\n"
@@ -4061,29 +4149,29 @@ msgstr ""
 "\n"
 "å·²åœæ­¢ã€‚è¾“å…¥â€˜fgâ€™ä»¥é‡æ–°å¯åŠ¨ %s\n"
 
-#: src/lang.c:1121
+#: src/lang.c:1144
 #, c-format
 msgid "%d days"
 msgstr "%d å¤©"
 
-#: src/lang.c:1122
+#: src/lang.c:1145
 msgid "<TAB>"
 msgstr "<TAB>"
 
-#: src/lang.c:1123
+#: src/lang.c:1146
 msgid "TeX "
 msgstr "TeX "
 
-#: src/lang.c:1124
+#: src/lang.c:1147
 #, fuzzy, c-format
 msgid "Version: %s %s release %s (\"%s\")"
 msgstr "ç‰ˆæœ¬ï¼š%s %s å‘å¸ƒ %s (â€œ%sâ€)\n"
 
-#: src/lang.c:1125
+#: src/lang.c:1148
 msgid "# Default action/prompt strings\n"
 msgstr "# ç¼ºçœçš„åŠ¨ä½œ/æç¤ºå­—ä¸²\n"
 
-#: src/lang.c:1126
+#: src/lang.c:1149
 msgid ""
 "# Defaults for quick (1 key) kill & auto-selection filters\n"
 "# header=NUM  0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n"
@@ -4101,286 +4189,296 @@ msgstr ""
 "# case=ON/OFF    ON=ç­›é€‰å™¨å¤§å°å†™é¡»ç›¸ç¬¦ OFF=å¿½ç•¥å¤§å°å†™\n"
 "# expire=ON/OFF  ON=é™åˆ¶åˆ° default_filter_days OFF=ä¸ä¼šè¿‡æœŸ\n"
 
-#: src/lang.c:1139
+#: src/lang.c:1162
 msgid ""
 "# If ON use print current subject or newsgroup description in the last line\n"
 msgstr "# å¦‚æžœä¸º ON å°±å°å‡ºç›®å‰çš„ä¸»æ—¨æˆ–æœ€åŽä¸€è¡Œä¸­çš„æ–°é—»ç¾¤ç»„æè¿°\n"
 
-#: src/lang.c:1140
+#: src/lang.c:1163
 msgid "# Host & time info used for detecting new groups (don't touch)\n"
 msgstr "# ä¸»æœº & æ—¶é—´ä¿¡æ¯ç”¨äºŽä¾¦æµ‹æ–°ç¾¤ç»„ (ä¸å½±å“)\n"
 
-#: src/lang.c:1141
+#: src/lang.c:1164
 msgid "There is no news\n"
 msgstr "æ²¡æœ‰ä»»ä½•æ–°é—»\n"
 
-#: src/lang.c:1142
+#: src/lang.c:1165
 msgid "Thread"
 msgstr "è®¨è®ºä¸²"
 
-#: src/lang.c:1143
+#: src/lang.c:1166
 msgid "Thread Level Commands"
 msgstr "è®¨è®ºä¸²å±‚çº§å‘½ä»¤"
 
-#: src/lang.c:1144
+#: src/lang.c:1167
 msgid "Thread deselected"
 msgstr "è®¨è®ºä¸²å·²å–æ¶ˆé€‰å–"
 
-#: src/lang.c:1145
+#: src/lang.c:1168
 msgid "Thread selected"
 msgstr "è®¨è®ºä¸²å·²é€‰å–"
 
-#: src/lang.c:1146
+#: src/lang.c:1169
 msgid "thread"
 msgstr "è®¨è®ºä¸²"
 
-#: src/lang.c:1147
+#: src/lang.c:1170
 #, c-format
 msgid "Thread %4s of %4s"
 msgstr "è®¨è®ºä¸² %2$4s ä¸­çš„ %1$4s"
 
-#: src/lang.c:1148
+#: src/lang.c:1171
 msgid "Threading articles..."
 msgstr "è®¨è®ºä¸²æ–‡ç« â€¦"
 
-#: src/lang.c:1149
+#: src/lang.c:1172
 #, fuzzy
 msgid "Threading by multipart"
 msgstr "è®¨è®ºä¸²æ–‡ç« â€¦"
 
-#: src/lang.c:1151
-#, fuzzy, c-format
-msgid "TLS handshake failed: %s\n"
-msgstr "Slrnface å¤±è´¥ï¼š%sã€‚"
-
-#: src/lang.c:1153
+#: src/lang.c:1175
 msgid "<failed to retrieve cipher>"
 msgstr ""
 
-#: src/lang.c:1154
+#: src/lang.c:1176
 msgid "<failed to retrieve issuer>"
 msgstr ""
 
-#: src/lang.c:1155
+#: src/lang.c:1177
 msgid "<failed to retrieve subject>"
 msgstr ""
 
-#: src/lang.c:1156
+#: src/lang.c:1178
 msgid "<failed to retrieve version>"
 msgstr ""
 
-#: src/lang.c:1157
+#: src/lang.c:1179
 #, fuzzy, c-format
 msgid "%s handshake done: %s\n"
 msgstr "Slrnface å¤±è´¥ï¼š%sã€‚"
 
-#: src/lang.c:1158 src/lang.c:1309
-#, fuzzy
-msgid "unknown error"
-msgstr "ä¸æ˜Žé”™è¯¯ã€‚"
-
-#: src/lang.c:1161
+#: src/lang.c:1182
 #, fuzzy, c-format
 msgid "TLS handshake failed: %s (%d)\n"
 msgstr "Slrnface å¤±è´¥ï¼š%sã€‚"
 
-#: src/lang.c:1162
+#: src/lang.c:1183
 #, fuzzy, c-format
 msgid "TLS peer verification failed: %s\n"
 msgstr "Slrnface å¤±è´¥ï¼š%sã€‚"
 
-#: src/lang.c:1163
+#: src/lang.c:1184
 #, c-format
 msgid "TLS peer verification failed, continuing anyway as requested: %s\n"
 msgstr ""
 
-#: src/lang.c:1164
+#: src/lang.c:1185
 msgid "<unable to retrieve status>"
 msgstr ""
 
-#: src/lang.c:1165
+#: src/lang.c:1186
 msgid "unexpected certificate verification status!"
 msgstr ""
 
-#: src/lang.c:1168
+#: src/lang.c:1189
 #, c-format
 msgid ""
 "TLS peer verification failed: %s.\n"
 "Continuing anyway as requested.\n"
 msgstr ""
 
-#: src/lang.c:1171
+#: src/lang.c:1192
 #, fuzzy, c-format
 msgid "TLS handshake done: %s\n"
 msgstr "Slrnface å¤±è´¥ï¼š%sã€‚"
 
-#: src/lang.c:1174
+#: src/lang.c:1195
+#, fuzzy, c-format
+msgid "TLS handshake failed: %s\n"
+msgstr "Slrnface å¤±è´¥ï¼š%sã€‚"
+
+#: src/lang.c:1198
 #, c-format
 msgid "Toggled word highlighting %s"
 msgstr "å·²åˆ‡æ¢å­—è¯é«˜äº®åº¦æ˜¾ç¤º %s"
 
-#: src/lang.c:1175
+#: src/lang.c:1199
 msgid "Toggled rot13 encoding"
 msgstr "å·²åˆ‡æ¢ rot13 ç¼–ç "
 
-#: src/lang.c:1176
+#: src/lang.c:1200
 #, fuzzy, c-format
 msgid "Toggled German TeX encoding %s"
 msgstr "å·²åˆ‡æ¢å¾·è¯­ TeX ç¼–ç  %s"
 
-#: src/lang.c:1177
+#: src/lang.c:1201
 #, c-format
 msgid "Toggled tab-width to %d"
 msgstr "å·²åˆ‡æ¢è·³æ ¼å®½åº¦ä¸º %d"
 
-#: src/lang.c:1179
+#: src/lang.c:1203
 #, c-format
 msgid "%d Trying to dotlock %s"
 msgstr "%d å°è¯•ç‚¹é”å®š %s"
 
-#: src/lang.c:1180
+#: src/lang.c:1204
 #, c-format
 msgid "%d Trying to lock %s"
 msgstr "%d å°è¯•é”å®š %s"
 
-#: src/lang.c:1182
+#: src/lang.c:1206
 #, fuzzy, c-format
 msgid "%s=help"
 msgstr "%s=æ±‚åŠ©"
 
-#: src/lang.c:1184
+#: src/lang.c:1208
 msgid "Unlimited"
 msgstr "æ²¡æœ‰é™åˆ¶"
 
-#: src/lang.c:1185
+#: src/lang.c:1209
 msgid "Enter wildcard unsubscribe pattern> "
 msgstr "è¾“å…¥å–æ¶ˆè®¢é˜…çš„é€šé…ç¬¦æ¨¡å¼>"
 
-#: src/lang.c:1186
+#: src/lang.c:1210
 #, c-format
 msgid "Error decoding %s : %s"
 msgstr "è§£ç  %s æ—¶å‘ç”Ÿé”™è¯¯ï¼š%s"
 
-#: src/lang.c:1187
+#: src/lang.c:1211
 msgid "No end."
 msgstr "æ²¡æœ‰ç»“æŸã€‚"
 
-#: src/lang.c:1188
+#: src/lang.c:1212
 #, c-format
 msgid "%s successfully decoded."
 msgstr "%s å·²æˆåŠŸè§£ç ã€‚"
 
-#: src/lang.c:1189
+#: src/lang.c:1214
 msgid "unchanged"
 msgstr "æœªå˜æ›´"
 
-#: src/lang.c:1190
+#: src/lang.c:1216
 msgid "(unknown)"
 msgstr "(ä¸æ˜Ž)"
 
-#: src/lang.c:1191
+#: src/lang.c:1218
+#, fuzzy
+msgid "unknown error"
+msgstr "ä¸æ˜Žé”™è¯¯ã€‚"
+
+#: src/lang.c:1220
 msgid "unread"
 msgstr "æœªè¯»"
 
-#: src/lang.c:1192
+#: src/lang.c:1221
 #, c-format
 msgid "unsubscribed from %d groups"
 msgstr "å·²ä»Ž %d ç¾¤ç»„å–æ¶ˆè®¢é˜…"
 
-#: src/lang.c:1193
+#: src/lang.c:1222
 #, c-format
 msgid "Unsubscribed from %s"
 msgstr "å·²ä»Ž %s å–æ¶ˆè®¢é˜…"
 
-#: src/lang.c:1194
+#: src/lang.c:1223
 msgid "Unsubscribing... "
 msgstr "å–æ¶ˆè®¢é˜…â€¦"
 
-#: src/lang.c:1195
+#: src/lang.c:1224
 msgid "Unthreading articles..."
 msgstr "å±•å¼€è®¨è®ºä¸²æ–‡ç« â€¦"
 
-#: src/lang.c:1196
+#: src/lang.c:1225
 msgid "Updated"
 msgstr "å·²æ›´æ–°"
 
-#: src/lang.c:1197
+#: src/lang.c:1226
 msgid "Updating"
 msgstr "æ›´æ–°"
 
-#: src/lang.c:1198
+#: src/lang.c:1227
 msgid "URL Menu"
 msgstr "ç½‘å€èœå•"
 
-#: src/lang.c:1199
+#: src/lang.c:1228
 msgid "URL Menu Commands"
 msgstr "ç½‘å€åŠŸèƒ½è¡¨æŒ‡ä»¤"
 
-#: src/lang.c:1200
+#: src/lang.c:1229
 #, c-format
 msgid "Opening %s"
 msgstr "æ‰“å¼€ %s"
 
-#: src/lang.c:1201
+#: src/lang.c:1230
 msgid "Select URL> "
 msgstr "é€‰å–ç½‘å€>"
 
-#: src/lang.c:1202
+#: src/lang.c:1231
 msgid "No URLs in this article"
 msgstr "åœ¨è¿™ç¯‡æ–‡ç« ä¸­æ²¡æœ‰ç½‘å€"
 
-#: src/lang.c:1203
-msgid "Use MIME display program for this message?"
-msgstr "è¿™ä¸ªæ¶ˆæ¯ä½¿ç”¨ MIME æ˜¾ç¤ºç¨‹åºï¼Ÿ"
+#: src/lang.c:1233
+#, c-format
+msgid "SASL MECHS    : %s\n"
+msgstr ""
 
-#: src/lang.c:1204
+#: src/lang.c:1234
+#, c-format
+msgid "SASL MECH used: %s\n"
+msgstr ""
+
+#: src/lang.c:1236
 msgid "  -c       mark all news as read in subscribed newsgroups (batch mode)"
 msgstr "  -c       æ ‡è®°æ‰€æœ‰åœ¨è®¢é˜…æ–°é—»ç¾¤ç»„ä¸­çš„æ–°é—»ä¸ºå·²è¯» (æ‰¹æ¬¡æ¨¡å¼)"
 
-#: src/lang.c:1205
+#: src/lang.c:1237
 msgid "  -Z       return status indicating if any unread news (batch mode)"
 msgstr "  -Z       è¿”å›žçŠ¶æ€æŒ‡å‡ºæ˜¯å¦æœ‰ä»»ä½•æœªè¯»æ–°é—» (æ‰¹æ¬¡æ¨¡å¼)"
 
-#: src/lang.c:1206
+#: src/lang.c:1238
 msgid "  -q       don't check for new newsgroups"
 msgstr "  -q       ä¸æ£€æŸ¥æ–°çš„æ–°é—»ç¾¤ç»„"
 
-#: src/lang.c:1207
+#: src/lang.c:1239
 msgid "  -X       don't save any files on quit"
 msgstr "  -X       ç¦»å¼€æ—¶ä¸ä¿å­˜ä»»ä½•æ–‡ä»¶"
 
-#: src/lang.c:1208
+#: src/lang.c:1240
 msgid "  -d       don't show newsgroup descriptions"
 msgstr "  -d       ä¸æ˜¾ç¤ºæ–°é—»ç¾¤ç»„çš„æè¿°"
 
-#: src/lang.c:1209
+#: src/lang.c:1241
 msgid "  -G limit get only limit articles/group"
 msgstr "  -G limit åªæå–æœ‰é™çš„æ–‡ç« /ç¾¤ç»„"
 
-#: src/lang.c:1210
+#: src/lang.c:1242
 #, c-format
 msgid "  -H       help information about %s"
 msgstr "  -H       %s ç›¸å…³çš„è¯´æ˜Žä¿¡æ¯"
 
-#: src/lang.c:1211
+#: src/lang.c:1243
 msgid "  -h       this help message"
 msgstr "  -h       è¿™ä»½è¯´æ˜Žæ¶ˆæ¯"
 
-#: src/lang.c:1212
+#: src/lang.c:1244
 #, c-format
 msgid "  -I dir   news index file directory [default=%s]"
 msgstr "  -I dir   æ–°é—»ç´¢å¼•æ–‡ä»¶ç›®å½• [ç¼ºçœ=%s]"
 
-#: src/lang.c:1213
+#: src/lang.c:1246
+msgid "  -L msgid show the message with that Message-ID"
+msgstr ""
+
+#: src/lang.c:1248
 msgid "  -u       update index files (batch mode)"
 msgstr "  -u       æ›´æ–°ç´¢å¼•æ–‡ä»¶ (æ‰¹æ¬¡æ¨¡å¼)"
 
-#: src/lang.c:1214
+#: src/lang.c:1249
 #, c-format
 msgid "  -m dir   mailbox directory [default=%s]"
 msgstr "  -m dir   ä¿¡ç®±ç›®å½• [ç¼ºçœ=%s]"
 
-#: src/lang.c:1215
+#: src/lang.c:1250
 #, c-format
 msgid ""
 "\n"
@@ -4389,49 +4487,54 @@ msgstr ""
 "\n"
 "é‚®å¯„é”™è¯¯æŠ¥å‘Š/è¯„è®ºç»™ %s"
 
-#: src/lang.c:1216
+#: src/lang.c:1251
 msgid "  -N       mail new news to your posts (batch mode)"
 msgstr "  -N       é‚®å¯„å¯¹äºŽæ‚¨çš„å¼ è´´çš„æ–°é—» (æ‰¹æ¬¡æ¨¡å¼)"
 
-#: src/lang.c:1217
+#: src/lang.c:1252
 msgid "  -M user  mail new news to specified user (batch mode)"
 msgstr "  -M user  é‚®å¯„æ–°çš„æ–°é—»ç»™æŒ‡å®šç”¨æˆ· (æ‰¹æ¬¡æ¨¡å¼)"
 
-#: src/lang.c:1218
+#: src/lang.c:1253
 #, c-format
 msgid "  -f file  subscribed to newsgroups file [default=%s]"
 msgstr "  -f file  è®¢é˜…æ–°é—»ç¾¤ç»„æ–‡ä»¶ [ç¼ºçœ=%s]"
 
-#: src/lang.c:1219
+#: src/lang.c:1255
+#, c-format
+msgid "  -t sec   override nntp_read_timeout_secs setting [default=%d]"
+msgstr ""
+
+#: src/lang.c:1257
 msgid "  -x       no-posting mode"
 msgstr "  -x       ä¸è®¸å¼ è´´æ¨¡å¼"
 
-#: src/lang.c:1220
+#: src/lang.c:1258
 msgid "  -w       post an article and exit"
 msgstr "  -w       å¼ è´´æ–‡ç« ç„¶åŽç¦»å¼€"
 
-#: src/lang.c:1221
+#: src/lang.c:1259
 msgid "  -o       post all postponed articles and exit"
 msgstr "  -o       å¼ è´´æ‰€æœ‰æç½®çš„æ–‡ç« ç„¶åŽç¦»å¼€"
 
-#: src/lang.c:1222
+#: src/lang.c:1260
 msgid "  -R       read news saved by -S option"
 msgstr "  -R       è¯»å–ç”± -S é€‰é¡¹æ‰€ä¿å­˜çš„æ–°é—»"
 
-#: src/lang.c:1223
+#: src/lang.c:1261
 #, c-format
 msgid "  -s dir   save news directory [default=%s]"
 msgstr "  -s dir   ä¿å­˜æ–°é—»ç›®å½• [ç¼ºçœ=%s]"
 
-#: src/lang.c:1224
+#: src/lang.c:1262
 msgid "  -S       save new news for later reading (batch mode)"
 msgstr "  -S       ä¿å­˜æ–°çš„æ–°é—»ä»¥ä¾¿ç¨åŽè¯»å– (æ‰¹æ¬¡æ¨¡å¼)"
 
-#: src/lang.c:1225
+#: src/lang.c:1263
 msgid "  -z       start if any unread news"
 msgstr "  -z       å¦‚æžœæœ‰ä»»ä½•æœªè¯»æ–°é—»æ‰æ‰“å¼€"
 
-#: src/lang.c:1226
+#: src/lang.c:1264
 #, c-format
 msgid ""
 "A Usenet reader.\n"
@@ -4442,68 +4545,73 @@ msgstr ""
 "\n"
 "ç”¨æ³•ï¼š%s [é€‰é¡¹] [æ–°é—»ç¾¤ç»„[,...]]"
 
-#: src/lang.c:1227
+#: src/lang.c:1265
 msgid "  -v       verbose output for batch mode options"
 msgstr "  -v       è¯¦ç»†è¾“å‡ºç”¨äºŽæ‰¹æ¬¡æ¨¡å¼é€‰é¡¹"
 
-#: src/lang.c:1228
+#: src/lang.c:1266
 msgid "  -V       print version & date information"
 msgstr "  -V       å°å‡ºç‰ˆæœ¬ & æ—¥æœŸä¿¡æ¯"
 
-#: src/lang.c:1229
-#, c-format
-msgid "%s only useful without batch mode operations\n"
+#: src/lang.c:1267
+msgid "Use MIME display program for this message?"
+msgstr "è¿™ä¸ªæ¶ˆæ¯ä½¿ç”¨ MIME æ˜¾ç¤ºç¨‹åºï¼Ÿ"
+
+#: src/lang.c:1268
+#, fuzzy, c-format
+msgid "%s only useful without batch mode operations.%s\n"
 msgstr "%s åªæœ‰åœ¨éžæ‰¹æ¬¡æ¨¡å¼æ“ä½œæ—¶æœ‰ç”¨\n"
 
-#: src/lang.c:1230
-#, c-format
-msgid "%s only useful for batch mode operations\n"
+#: src/lang.c:1269
+#, fuzzy, c-format
+msgid "%s only useful for batch mode operations.%s\n"
 msgstr "%s åªæœ‰åœ¨æ‰¹æ¬¡æ¨¡å¼æ“ä½œæ—¶æœ‰ç”¨\n"
 
-#: src/lang.c:1231
+#: src/lang.c:1270
 #, fuzzy, c-format
-msgid "%s only useful for batch or debug mode operations\n"
+msgid "%s only useful for batch or debug mode operations.%s\n"
 msgstr "%s åªæœ‰åœ¨æ‰¹æ¬¡æ¨¡å¼æ“ä½œæ—¶æœ‰ç”¨\n"
 
-#: src/lang.c:1232
-#, c-format
-msgid "Useless combination %s and %s. Ignoring %s.\n"
-msgstr "æ— ç”¨çš„ç»„åˆ %s å’Œ %sã€‚å¿½ç•¥ %sã€‚\n"
+#: src/lang.c:1271
+#, fuzzy, c-format
+msgid "Useless combination %s and %s. Ignoring %s.%s\n"
+msgstr "æ— ç”¨çš„ç»„åˆ %s å’Œ %sã€‚å¿½ç•¥ %sã€‚%s\n"
 
-#: src/lang.c:1233
+#: src/lang.c:1272
 msgid "uuencoded file"
 msgstr ""
 
-#: src/lang.c:1234
+#: src/lang.c:1273
 #, fuzzy
 msgid "incomplete uuencoded file"
 msgstr "ä¸å®Œæ•´çš„ "
 
-#: src/lang.c:1237
+#: src/lang.c:1276
 #, c-format
 msgid "Valid not after : %s\n"
 msgstr ""
 
-#: src/lang.c:1238
+#: src/lang.c:1277
 #, c-format
 msgid "Valid not before: %s\n"
 msgstr ""
 
-#: src/lang.c:1240
-#, c-format
-msgid ""
-"\n"
-"%s%d out of range (0 - %d). Reset to 0"
-msgstr ""
-"\n"
-"%s%d è¶…å‡ºèŒƒå›´ (0 - %d)ã€‚é‡ç½®ä¸º 0"
+#: src/lang.c:1279
+#, fuzzy, c-format
+msgid "%s %s out of range (%d - %d). Ignored."
+msgstr "%s%d è¶…å‡ºèŒƒå›´ (0 - %d)ã€‚è¢«å¿½è§†ã€‚"
 
-#: src/lang.c:1241
+#: src/lang.c:1280
+#, fuzzy, c-format
+msgid "%s %d out of range (0 - %d). Reset to 0."
+msgstr "%s%d è¶…å‡ºèŒƒå›´ (0 - %d)ã€‚é‡ç½®ä¸º 0ã€‚"
+
+#: src/lang.c:1281
 #, c-format
 msgid "View '%s' (%s/%s)?"
 msgstr "æŸ¥çœ‹â€˜%sâ€™(%s/%s)ï¼Ÿ"
 
-#: src/lang.c:1243
+#: src/lang.c:1283
 #, c-format
 msgid ""
 "\n"
@@ -4514,7 +4622,7 @@ msgstr ""
 "è­¦å‘Šï¼šå¼ è´´è¶…å‡º %d å­—æ®µã€‚ç¬¬ %d è¡Œæ˜¯ç¬¬ä¸€ä¸ªé•¿è¡Œï¼š\n"
 "%-100s\n"
 
-#: src/lang.c:1244
+#: src/lang.c:1284
 msgid ""
 "\n"
 "Warning: article unchanged after editing\n"
@@ -4522,7 +4630,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šæ–‡ç« ç¼–è¾‘ä¹‹åŽæœªå˜æ›´\n"
 
-#: src/lang.c:1245
+#: src/lang.c:1285
 msgid ""
 "\n"
 "Warning: \"Subject:\" contains only whitespaces.\n"
@@ -4530,7 +4638,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šâ€œ Subject: â€åªå«ç©ºç™½ã€‚\n"
 
-#: src/lang.c:1246
+#: src/lang.c:1286
 msgid ""
 "\n"
 "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:"
@@ -4539,7 +4647,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šâ€œ Subject: â€ä»¥â€œReï¼šâ€å¼€å§‹ä½†æ˜¯æ²¡æœ‰â€œ References: â€ã€‚\n"
 
-#: src/lang.c:1248
+#: src/lang.c:1288
 msgid ""
 "\n"
 "Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
@@ -4549,7 +4657,16 @@ msgstr ""
 "è­¦å‘Šï¼šæ–‡ç« æœ‰â€œ References: â€ä½†æ˜¯â€œ Subject: â€å¹¶éž\n"
 "      ä»¥â€œRe:â€å¼€å§‹ä¸”ä¸åŒ…å«â€œ(was:â€ã€‚\n"
 
-#: src/lang.c:1251
+#: src/lang.c:1291
+#, fuzzy
+msgid ""
+"\n"
+"Warning: \"Subject:\" contains only \"Re:\".\n"
+msgstr ""
+"\n"
+"è­¦å‘Šï¼šâ€œ Subject: â€åªå«ç©ºç™½ã€‚\n"
+
+#: src/lang.c:1292
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4571,7 +4688,16 @@ msgstr ""
 "è¿™æ˜¯æ‚¨å³å°†å–æ¶ˆçš„æ–‡ç« ï¼š\n"
 "\n"
 
-#: src/lang.c:1255
+#: src/lang.c:1296
+#, fuzzy
+msgid ""
+"\n"
+"Warning: Undesired Distribution \"world\" used.\n"
+msgstr ""
+"\n"
+"é”™è¯¯ï¼šä¸åˆæ³•çš„æ ¼å¼ %sã€‚\n"
+
+#: src/lang.c:1297
 msgid ""
 "\n"
 "Warning: You are using a non-plain transfer encoding (such as base64 or\n"
@@ -4585,7 +4711,7 @@ msgstr ""
 "      æ–‡ç« ã€‚å¦‚æžœæŸä¸ªç­¾åè¢«è¯¥ inews ç¨‹åºæ‰€é™„åŠ ï¼Œå®ƒå°†\n"
 "      æ— æ³•è¢«é€‚å½“åœ°ç¼–ç ã€‚\n"
 
-#: src/lang.c:1261
+#: src/lang.c:1303
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4595,7 +4721,7 @@ msgstr ""
 "ç¬¬ %d è¡Œé•¿åº¦è¶…è¿‡ 998 å­—èŠ‚è€Œåº”è¯¥è¢«æŠ˜å ï¼Œä½†æ˜¯\n"
 "ç¼–ç æœªè¢«è®¾ç½®ä¸º %s äº¦éž %s\n"
 
-#: src/lang.c:1265
+#: src/lang.c:1307
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4607,7 +4733,7 @@ msgstr ""
 "ç¼–ç è¢«è®¾ç½®ä¸º %s è€Œæœªå¯ç”¨ MIME_BREAK_LONG_LINES æˆ–æ˜¯\n"
 "è´´æ–‡ä¸åŒ…å«ä»»ä½• 8 æ¯”ç‰¹å­—ç¬¦ï¼Œå› è€Œæ— æ³•å‘ç”ŸæŠ˜å \n"
 
-#: src/lang.c:1269
+#: src/lang.c:1311
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4617,7 +4743,7 @@ msgstr ""
 "ç¬¬ %d è¡Œé•¿åº¦è¶…è¿‡ 998 å­—èŠ‚è€Œï¼Œä½†æ˜¯\n"
 "ç¼–ç æœªè¢«è®¾ç½®ä¸º %s\n"
 
-#: src/lang.c:1272
+#: src/lang.c:1314
 msgid ""
 "\n"
 "Warning: \"example\" is a reserved hierarchy!\n"
@@ -4625,7 +4751,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šâ€œexampleâ€æ˜¯è¢«ä¿ç•™çš„é˜¶å±‚ç»“æž„ï¼\n"
 
-#: src/lang.c:1273
+#: src/lang.c:1315
 #, c-format
 msgid ""
 "\n"
@@ -4640,7 +4766,7 @@ msgstr ""
 "åœ¨æ‚¨ %s æ–‡ä»¶ä¸­çš„æŸäº›å€¼å·²æœ‰å˜æ›´ï¼\n"
 "è¯·å‚é˜… WHATSNEW â€¦ç­‰ç­‰\n"
 
-#: src/lang.c:1275
+#: src/lang.c:1317
 #, c-format
 msgid ""
 "\n"
@@ -4653,7 +4779,7 @@ msgstr ""
 "æ‚¨æ­£åœ¨ä»Žè¾ƒæ–°çš„ç‰ˆæœ¬é™çº§åˆ° tin %sï¼\n"
 "åœ¨æ‚¨ %s æ–‡ä»¶ä¸­çš„æŸäº›å€¼å¯èƒ½ä¼šè¢«å¿½ç•¥ï¼Œå…¶ä»–å€¼ä¹Ÿå¯èƒ½å·²æœ‰å˜æ›´ï¼\n"
 
-#: src/lang.c:1278
+#: src/lang.c:1320
 #, c-format
 msgid ""
 "Warning: tin wrote fewer groups to your\n"
@@ -4668,7 +4794,25 @@ msgstr ""
 "å¹¶æœªå–æ¶ˆè®¢é˜… %ld %sï¼Œé‚£ä¹ˆè¿™å°±ä»£è¡¨å‘ç”Ÿäº†é”™è¯¯ï¼Œè€Œæ‚¨åº”è¯¥\n"
 "äºŽå†æ¬¡å¯åŠ¨ tin ä¹‹å‰å…ˆå¤‡ä»½æ‚¨çš„ %sï¼\n"
 
-#: src/lang.c:1282
+#: src/lang.c:1324
+#, c-format
+msgid ""
+"\n"
+"Warning: The article has multiple addresses in \"%s\".\n"
+"         This is at least uncommon.\n"
+msgstr ""
+
+#: src/lang.c:1327
+#, c-format
+msgid ""
+"\n"
+"Warning: With multiple addresses in \"From\", a \"Sender\"-header is\n"
+"         required, but its generation is deactivated by the global\n"
+"         configuration \"disable_sender=ON\" in\n"
+"         \"%s\".\n"
+msgstr ""
+
+#: src/lang.c:1332
 #, c-format
 msgid ""
 "\n"
@@ -4677,12 +4821,12 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šæ‰¾åˆ° %d ä¸ªâ€˜-- \\nâ€™è¡Œï¼Œè¿™ä¹Ÿè®¸ä¼šä½¿æŸäº›äººæ„Ÿåˆ°å›°æƒ‘ã€‚\n"
 
-#: src/lang.c:1283
+#: src/lang.c:1333
 #, c-format
 msgid "Warning: Only %d out of %d articles were saved"
 msgstr "è­¦å‘Šï¼šåªæœ‰ %2$d ä¸­çš„ %1$d ç¯‡æ–‡ç« è¢«ä¿å­˜"
 
-#: src/lang.c:1284
+#: src/lang.c:1334
 #, c-format
 msgid ""
 "\n"
@@ -4696,20 +4840,20 @@ msgstr ""
 "è­¦å‘Šï¼šæ‚¨çš„ç­¾åé•¿åº¦å·²è¶…è¿‡ %d è¡Œã€‚ ç”±äºŽç­¾åé€šå¸¸\n"
 "      ä¸ä¼šç”¨æ¥ä¼ è¾“ä»»ä½•æœ‰ç”¨çš„ä¿¡æ¯ï¼Œå®ƒä»¬åº”è¯¥è¦æ„ˆçŸ­æ„ˆå¥½ã€‚\n"
 
-#: src/lang.c:1288
+#: src/lang.c:1338
 #, c-format
 msgid ""
 "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
 msgstr "è­¦å‘Šï¼šè¿™ä¸ªé‚®ä»¶åœ°å€å¯èƒ½åŒ…å«åžƒåœ¾é™·é˜±ã€‚%s=ç»§ç»­ï¼Œ%s=æ”¾å¼ƒï¼Ÿ"
 
-#: src/lang.c:1289
+#: src/lang.c:1339
 #, c-format
 msgid ""
 "Warning: line %d contains unprintable chars:\n"
 "%s\n"
 msgstr ""
 
-#: src/lang.c:1290
+#: src/lang.c:1340
 msgid ""
 "\n"
 "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
@@ -4717,84 +4861,84 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šç­¾ååº”è¯¥ä»¥â€˜-- \\nâ€™èµ·å§‹è€Œéžä»¥â€˜--\\nâ€™ã€‚\n"
 
-#: src/lang.c:1291
+#: src/lang.c:1341
 msgid "Writing attributes file..."
 msgstr "å†™å…¥å±žæ€§æ–‡ä»¶â€¦"
 
-#: src/lang.c:1292
+#: src/lang.c:1342
 #, fuzzy, c-format
 msgid "Writing %s\n"
 msgstr "å°è¯• %s"
 
-#: src/lang.c:1293
+#: src/lang.c:1343
 #, fuzzy
 msgid "Writing overview cache..."
 msgstr "å†™å…¥å±žæ€§æ–‡ä»¶â€¦"
 
-#: src/lang.c:1295
+#: src/lang.c:1345
 #, fuzzy, c-format
 msgid "%4d Responses"
 msgstr "%d ç¯‡å›žåº”"
 
-#: src/lang.c:1297
+#: src/lang.c:1347
 msgid "Can't run slrnface: couldn't construct fifo name."
 msgstr "æ— æ³•è¿è¡Œ slrnfaceï¼šæ— æ³•å»ºæž„ fifo åç§°ã€‚"
 
-#: src/lang.c:1298
+#: src/lang.c:1348
 #, c-format
 msgid "Can't run slrnface: failed to create %s"
 msgstr "æ— æ³•è¿è¡Œ slrnfaceï¼šæ— æ³•åˆ›å»º %s"
 
-#: src/lang.c:1299
+#: src/lang.c:1349
 #, c-format
 msgid "Slrnface abnormally exited, code %d."
 msgstr "Slrnface ä¸æ­£å¸¸é€€å‡ºï¼Œä»£ç  %dã€‚"
 
-#: src/lang.c:1300
+#: src/lang.c:1350
 #, c-format
 msgid "Slrnface failed: %s."
 msgstr "Slrnface å¤±è´¥ï¼š%sã€‚"
 
-#: src/lang.c:1301
+#: src/lang.c:1352
 #, c-format
 msgid "Can't run slrnface: Environment variable %s not found."
 msgstr "æ— æ³•è¿è¡Œ slrnfaceï¼šæ‰¾ä¸åˆ°çŽ¯å¢ƒå˜é‡ %sã€‚"
 
-#: src/lang.c:1302
+#: src/lang.c:1354
 #, fuzzy
 msgid "Can't run slrnface: Not running in an xterm."
 msgstr "æ— æ³•è¿è¡Œ slrnfaceï¼šæœªåœ¨ xterm ä¸­è¿è¡Œã€‚"
 
-#: src/lang.c:1303
+#: src/lang.c:1357
 msgid "couldn't connect to display"
 msgstr ""
 
-#: src/lang.c:1304
+#: src/lang.c:1358
 #, fuzzy
 msgid "can't open FIFO"
 msgstr "æ— æ³•æ‰“å¼€ %s"
 
-#: src/lang.c:1305
+#: src/lang.c:1359
 msgid "executable not found"
 msgstr ""
 
-#: src/lang.c:1306
+#: src/lang.c:1360
 msgid "fork() failed"
 msgstr ""
 
-#: src/lang.c:1307
+#: src/lang.c:1361
 msgid "couldn't find controlling terminal"
 msgstr ""
 
-#: src/lang.c:1308
+#: src/lang.c:1362
 msgid "terminal doesn't export width and height"
 msgstr ""
 
-#: src/lang.c:1310
+#: src/lang.c:1363
 msgid "WINDOWID not found in environment"
 msgstr ""
 
-#: src/lang.c:1311
+#: src/lang.c:1364
 msgid ""
 "This directory is used to create named pipes for communication between\n"
 "slrnface and its parent process. It should normally be empty because\n"
@@ -4818,28 +4962,28 @@ msgstr ""
 "æ‚¨ä¹Ÿè®¸ä¼šçœ‹åˆ°ç”±æ‚¨çš„ NFS æœåŠ¡å™¨æ‰€åˆ›å»ºçš„ç‰¹æ®Šæ–‡ä»¶ã€‚\n"
 "è¯·ä¸è¦å°è¯•åŽ»ç§»é™¤å®ƒä»¬ã€‚\n"
 
-#: src/lang.c:1324
+#: src/lang.c:1377
 #, c-format
 msgid "Added %d %s"
 msgstr "å·²åŠ å…¥ %d %s"
 
-#: src/lang.c:1325
+#: src/lang.c:1378
 msgid "No unsubscribed groups to show"
 msgstr "æ²¡æœ‰å·²å–æ¶ˆè®¢é˜…çš„ç¾¤ç»„å¯æ˜¾ç¤º"
 
-#: src/lang.c:1326
+#: src/lang.c:1379
 msgid "Showing subscribed to groups only"
 msgstr "åªæ˜¾ç¤ºå·²è®¢é˜…ç¾¤ç»„"
 
-#: src/lang.c:1327
+#: src/lang.c:1380
 msgid "Yes "
 msgstr "æ˜¯ "
 
-#: src/lang.c:1328
+#: src/lang.c:1381
 msgid "You have mail"
 msgstr "æ‚¨æœ‰é‚®ä»¶"
 
-#: src/lang.c:1333
+#: src/lang.c:1386
 #, c-format
 msgid ""
 "\n"
@@ -4860,11 +5004,11 @@ msgstr ""
 "      å˜æ›´ MM_NETWORK_CHARSET çš„è®¾ç½®ä¸ºé€‚å½“çš„å€¼ï¼Œ\n"
 "      ä»¥ç”¨äºŽæ‚¨çš„å¼ è´´ã€‚\n"
 
-#: src/lang.c:1344
+#: src/lang.c:1397
 msgid "  -D mode  debug mode"
 msgstr "  -D æ¨¡å¼  é™¤é”™æ¨¡å¼"
 
-#: src/lang.c:1348
+#: src/lang.c:1401
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4891,11 +5035,11 @@ msgstr ""
 "è¿™æ˜¯æ‚¨å³å°†è¦å–æ¶ˆçš„æ–‡ç« ï¼š\n"
 "\n"
 
-#: src/lang.c:1357
+#: src/lang.c:1410
 msgid "toggle color"
 msgstr "åˆ‡æ¢é¢œè‰²"
 
-#: src/lang.c:1358
+#: src/lang.c:1411
 msgid ""
 "# Changing colors of several screen parts\n"
 "# Possible values are:\n"
@@ -4941,11 +5085,11 @@ msgstr ""
 "#  15 = äº®ç™½è‰²\n"
 "\n"
 
-#: src/lang.c:1378
+#: src/lang.c:1431
 msgid "  -a       toggle color flag"
 msgstr "  -a       åˆ‡æ¢é¢œè‰²æ——æ ‡"
 
-#: src/lang.c:1382
+#: src/lang.c:1435
 msgid ""
 "\n"
 "Error: Followup-To set to more than one newsgroup!\n"
@@ -4953,7 +5097,7 @@ msgstr ""
 "\n"
 "é”™è¯¯ï¼šè·Ÿè´´è¢«è®¾ç½®è¶…è¿‡ä¸€ä¸ªæ–°é—»ç¾¤ç»„ï¼\n"
 
-#: src/lang.c:1383
+#: src/lang.c:1436
 #, c-format
 msgid ""
 "\n"
@@ -4962,7 +5106,7 @@ msgstr ""
 "\n"
 "é”™è¯¯ï¼šâ€œ%sâ€è¢«é‡å‘½åï¼Œä½¿ç”¨â€œ%sâ€ä½œä¸ºæ›¿ä»£ï¼\n"
 
-#: src/lang.c:1384
+#: src/lang.c:1437
 #, c-format
 msgid ""
 "\n"
@@ -4971,7 +5115,7 @@ msgstr ""
 "\n"
 "é”™è¯¯ï¼šè·¨æ¿å¼ è´´åˆ° %d æ–°é—»ç¾¤ç»„è€Œæ²¡æœ‰è·Ÿè´´è¡Œï¼\n"
 
-#: src/lang.c:1385
+#: src/lang.c:1438
 #, c-format
 msgid ""
 "\n"
@@ -4980,7 +5124,7 @@ msgstr ""
 "\n"
 "é”™è¯¯ï¼šâ€œ%sâ€å¹¶éžæœ‰æ•ˆæ–°é—»ç¾¤ç»„ï¼\n"
 
-#: src/lang.c:1387
+#: src/lang.c:1440
 msgid ""
 "\n"
 "Warning: Followup-To set to more than one newsgroup!\n"
@@ -4988,7 +5132,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šè·Ÿè´´è¢«è®¾ç½®è¶…è¿‡ä¸€ä¸ªæ–°é—»ç¾¤ç»„ï¼\n"
 
-#: src/lang.c:1388
+#: src/lang.c:1441
 #, c-format
 msgid ""
 "\n"
@@ -4997,7 +5141,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šâ€œ%sâ€è¢«é‡å‘½åï¼Œæ‚¨åº”è¯¥ä½¿ç”¨â€œ%sâ€ä½œä¸ºæ›¿ä»£ï¼\n"
 
-#: src/lang.c:1389
+#: src/lang.c:1442
 #, c-format
 msgid ""
 "\n"
@@ -5006,7 +5150,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šè·¨æ¿å¼ è´´åˆ° %d æ–°é—»ç¾¤ç»„è€Œæ²¡æœ‰è·Ÿè´´è¡Œï¼\n"
 
-#: src/lang.c:1390
+#: src/lang.c:1443
 #, c-format
 msgid ""
 "\n"
@@ -5015,7 +5159,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šâ€œ%sâ€ä¸åœ¨æ‚¨çš„ newsrc ä¹‹ä¸­ï¼Œåœ¨è¿™ä¸ªç«™å°å®ƒä¹Ÿè®¸ä¼šæ— æ•ˆï¼\n"
 
-#: src/lang.c:1391
+#: src/lang.c:1444
 #, c-format
 msgid ""
 "\n"
@@ -5024,193 +5168,195 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šâ€œ%sâ€å¹¶éžè¿™ä¸ªç«™å°ä¸Šçš„æœ‰æ•ˆæ–°é—»ç¾¤ç»„ï¼\n"
 
-#: src/lang.c:1395
+#: src/lang.c:1448
 #, c-format
 msgid "%d files successfully written from %d articles. %d %s occurred."
 msgstr "%d ä¸ªæ–‡ä»¶æˆåŠŸåœ°ä»Ž %d ç¯‡æ–‡ç« å†™å…¥ã€‚%d %s å·²å‘ç”Ÿã€‚"
 
-#: src/lang.c:1396
+#: src/lang.c:1449
 msgid "Missing parts."
 msgstr "ç¼ºå°‘éƒ¨åˆ†ã€‚"
 
-#: src/lang.c:1397
+#: src/lang.c:1450
 msgid "No beginning."
 msgstr "æ²¡æœ‰èµ·å§‹éƒ¨åˆ†ã€‚"
 
-#: src/lang.c:1398
+#: src/lang.c:1451
 msgid "No data."
 msgstr "æ²¡æœ‰æ•°æ®ã€‚"
 
-#: src/lang.c:1399
+#: src/lang.c:1452
 msgid "Unknown error."
 msgstr "ä¸æ˜Žé”™è¯¯ã€‚"
 
-#: src/lang.c:1402
-#, c-format
-msgid "\tChecksum of %s (%ld %s)"
-msgstr "\t%s çš„æ€»å’Œæ£€æŸ¥ç  (%ld %s)"
-
-#: src/lang.c:1407
-msgid "Reading mail active file... "
+#: src/lang.c:1456
+#, fuzzy, c-format
+msgid "Reading mail active file: %s"
 msgstr "è¯»å–é‚®ä»¶çŽ°ç”¨æ–‡ä»¶â€¦"
 
-#: src/lang.c:1408
-msgid "Reading mailgroups file... "
+#: src/lang.c:1457
+#, fuzzy, c-format
+msgid "Reading mailgroups file: %s"
 msgstr "è¯»å–é‚®ä»¶ç¾¤ç»„æ–‡ä»¶â€¦"
 
-#: src/lang.c:1412
+#: src/lang.c:1461
 msgid "perform PGP operations on article"
 msgstr "å¯¹äºŽæ–‡ç« æ–½è¡Œ PGP æ“ä½œ"
 
-#: src/lang.c:1413
+#: src/lang.c:1462
 msgid "Add key(s) to public keyring?"
 msgstr "å°†å¯†é’¥åŠ å…¥å…¬ç”¨é’¥åŒ™åœˆï¼Ÿ"
 
-#: src/lang.c:1414
+#: src/lang.c:1463
 #, c-format
 msgid "%s=encrypt, %s=sign, %s=both, %s=quit: "
 msgstr "%s=åŠ å¯†ï¼Œ%s=ç­¾åï¼Œ%s=ä¸¤è€…ï¼Œ%s=ç¦»å¼€ï¼š"
 
-#: src/lang.c:1415
+#: src/lang.c:1464
 #, c-format
 msgid "%s=sign, %s=sign & include public key, %s=quit: "
 msgstr "%s=ç­¾åï¼Œ%s=ç­¾å & åŒ…å«å…¬å¼€å¯†é’¥ï¼Œ%s=ç¦»å¼€ï¼š"
 
-#: src/lang.c:1416
+#: src/lang.c:1465
 #, c-format
 msgid "PGP has not been set up (can't open %s)"
 msgstr "PGP å°šæœªè®¾ç½® (æ— æ³•æ‰“å¼€ %s)"
 
-#: src/lang.c:1417
+#: src/lang.c:1466
 msgid "Article not signed and no public keys found"
 msgstr "æ–‡ç« æœªè¢«ç­¾åä¸”æ‰¾ä¸åˆ°ä»»ä½•å…¬å¼€å¯†é’¥"
 
-#: src/lang.c:1419
+#: src/lang.c:1468
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=ç¦»å¼€ï¼Œ%s=ç¼–è¾‘ï¼Œ%s=æ‹¼å†™æ£€æŸ¥ï¼Œ%s=pgpï¼Œ%s=èœå•ï¼Œ%s=å¼ è´´ï¼Œ%s=æç½®ï¼š"
 
-#: src/lang.c:1420
+#: src/lang.c:1469
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: "
 msgstr "%s=ç¦»å¼€ï¼Œ%s=ç¼–è¾‘ï¼Œ%s=æ‹¼å†™æ£€æŸ¥ï¼Œ%s=pgpï¼Œ%s=å‘é€ [%%s]ï¼š"
 
-#: src/lang.c:1421
+#: src/lang.c:1470
 #, c-format
 msgid ""
 "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 "%s=ç¦»å¼€ï¼Œ%s=ç¼–è¾‘ï¼Œ%s=æ‹¼å†™æ£€æŸ¥ï¼Œ%s=pgpï¼Œ%s=èœå•ï¼Œ%s=å¼ è´´ï¼Œ%s=æç½® [%%s]ï¼š"
 
-#: src/lang.c:1423
+#: src/lang.c:1472
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=ç¦»å¼€ï¼Œ%s=ç¼–è¾‘ï¼Œ%s=pgpï¼Œ%s=èœå•ï¼Œ%s=å¼ è´´ï¼Œ%s=æç½®ï¼š"
 
-#: src/lang.c:1424
+#: src/lang.c:1473
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: "
 msgstr "%s=ç¦»å¼€ï¼Œ%s=ç¼–è¾‘ï¼Œ%s=pgpï¼Œ%s=å‘é€ [%%s]ï¼š"
 
-#: src/lang.c:1425
+#: src/lang.c:1474
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=ç¦»å¼€ï¼Œ%s=ç¼–è¾‘ï¼Œ%s=pgpï¼Œ%s=èœå•ï¼Œ%s=å¼ è´´ï¼Œ%s=æç½® [%%s]ï¼š"
 
-#: src/lang.c:1429
+#: src/lang.c:1478
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=ç¦»å¼€ï¼Œ%s=ç¼–è¾‘ï¼Œ%s=æ‹¼å†™æ£€æŸ¥ï¼Œ%s=èœå•ï¼Œ%s=å¼ è´´ï¼Œ%s=æç½®ï¼š"
 
-#: src/lang.c:1430
+#: src/lang.c:1479
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: "
 msgstr "%s=ç¦»å¼€ï¼Œ%s=ç¼–è¾‘ï¼Œ%s=æ‹¼å†™æ£€æŸ¥ï¼Œ%s=å‘é€ [%%s]ï¼š"
 
-#: src/lang.c:1431
+#: src/lang.c:1480
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=ç¦»å¼€ï¼Œ%s=ç¼–è¾‘ï¼Œ%s=æ‹¼å†™æ£€æŸ¥ï¼Œ%s=èœå•ï¼Œ%s=å¼ è´´ï¼Œ%s=æç½® [%%s]ï¼š"
 
-#: src/lang.c:1433
+#: src/lang.c:1482
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=ç¦»å¼€ï¼Œ%s=ç¼–è¾‘ï¼Œ%s=èœå•ï¼Œ%s=å¼ è´´ï¼Œ%s=æç½®ï¼š"
 
-#: src/lang.c:1434
+#: src/lang.c:1483
 #, c-format
 msgid "%s=quit, %s=edit, %s=send [%%s]: "
 msgstr "%s=ç¦»å¼€ï¼Œ%s=ç¼–è¾‘ï¼Œ%s=å‘é€ [%%s]ï¼š"
 
-#: src/lang.c:1435
+#: src/lang.c:1484
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=ç¦»å¼€ï¼Œ%s=ç¼–è¾‘ï¼Œ%s=èœå•ï¼Œ%s=å¼ è´´ï¼Œ%s=æç½® [%%s]ï¼š"
 
-#: src/lang.c:1441
+#: src/lang.c:1489
 msgid "Try cache_overview_files to speed up things.\n"
 msgstr "å°è¯• cache_overview_files ä»¥åŠ é€Ÿã€‚\n"
 
-#: src/lang.c:1442
+#: src/lang.c:1490
 msgid "Tin will use local index files instead.\n"
 msgstr "Tin å°†ä½¿ç”¨æœ¬åœ°ç´¢å¼•æ–‡ä»¶ä½œä¸ºæ›¿ä»£ã€‚\n"
 
-#: src/lang.c:1443
+#: src/lang.c:1491
 msgid "Cannot find NNTP server name"
 msgstr "æ‰¾ä¸åˆ° NNTP æœåŠ¡å™¨åç§°"
 
-#: src/lang.c:1444
+#: src/lang.c:1492
 msgid "CAPABILITIES did not announce READER"
 msgstr "èƒ½åŠ›ä¸­å¹¶æœªå®£å‘ŠåŒ…å«é˜…è¯»å™¨"
 
-#: src/lang.c:1445
+#: src/lang.c:1493
 #, c-format
 msgid "Connecting to %s:%u..."
 msgstr "è¿žæŽ¥åˆ° %s:%uâ€¦"
 
-#: src/lang.c:1446
+#: src/lang.c:1494
 #, fuzzy
 msgid "NNTP connection error. Exiting..."
 msgstr "è¿žæŽ¥åˆ° NNTP æœåŠ¡å™¨ %s æ—¶å¤±è´¥ã€‚ç¦»å¼€â€¦"
 
-#: src/lang.c:1447
+#: src/lang.c:1495
 #, fuzzy
 msgid "Disconnecting from server..."
 msgstr "ä»ŽæœåŠ¡å™¨ä¸­æ–­è¿žæŽ¥â€¦\n"
 
-#: src/lang.c:1448
+#: src/lang.c:1496
 #, c-format
 msgid "Failed to connect to NNTP server %s. Exiting..."
 msgstr "è¿žæŽ¥åˆ° NNTP æœåŠ¡å™¨ %s æ—¶å¤±è´¥ã€‚ç¦»å¼€â€¦"
 
-#: src/lang.c:1449
+#: src/lang.c:1497
 msgid "205  Closing connection"
 msgstr "205  å…³é—­è¿žæŽ¥"
 
-#: src/lang.c:1450
+#: src/lang.c:1498
 msgid "Your server does not support the NNTP XOVER or OVER command.\n"
 msgstr "æ‚¨çš„æœåŠ¡å™¨ä¸æ”¯æŒ NNTP XOVER æˆ– OVER å‘½ä»¤ã€‚\n"
 
-#: src/lang.c:1452
+#: src/lang.c:1499
 #, c-format
 msgid "Port isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1453
+#: src/lang.c:1500
+#, c-format
+msgid "%s argument is not numeric: %s\n"
+msgstr ""
+
+#: src/lang.c:1502
 #, c-format
 msgid "Port in %s isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1454
+#: src/lang.c:1503
 #, c-format
 msgid "reconnect (%d) limit %d reached, giving up."
 msgstr ""
 
-#: src/lang.c:1456
+#: src/lang.c:1505
 msgid "Connection to news server has timed out. Reconnect?"
 msgstr "è¿žæŽ¥åˆ°æ–°é—»æœåŠ¡å™¨å·²è¶…æ—¶ã€‚é‡æ–°è¿žæŽ¥ï¼Ÿ"
 
-#: src/lang.c:1457
+#: src/lang.c:1506
 #, c-format
 msgid ""
 "Put the server name in the file %s,\n"
@@ -5219,68 +5365,67 @@ msgstr ""
 "åœ¨æ–‡ä»¶ %s ä¸­æ”¾å…¥æœåŠ¡å™¨åç§°ï¼Œ\n"
 "æˆ–è®¾ç½®çŽ¯å¢ƒå˜é‡ NNTPSERVER"
 
-#: src/lang.c:1459
+#: src/lang.c:1508
 #, fuzzy
 msgid "Continuing..."
 msgstr "æ‰“å°ä¸­â€¦"
 
-#: src/lang.c:1460
-#, c-format
-msgid "Read timeout from server (%d seconds) - quit tin?"
+#: src/lang.c:1509
+msgid "Read timeout from server - quit tin?"
 msgstr ""
 
-#: src/lang.c:1461
+#: src/lang.c:1510
 msgid "  -C       try COMPRESS NNTP extension"
 msgstr ""
 
-#: src/lang.c:1463
+#: src/lang.c:1512
 msgid "  -A       force authentication on connect"
 msgstr "  -A       è¿žæŽ¥æ—¶å¼ºåˆ¶è®¤è¯"
 
-#: src/lang.c:1464
+#: src/lang.c:1513
 #, c-format
 msgid "  -g serv  read news from NNTP server serv [default=%s]"
 msgstr "  -g serv  ä»Ž NNTP æœåŠ¡å™¨ serv [ç¼ºçœ=%s] è¯»å–æ–°é—»"
 
-#: src/lang.c:1465
+#: src/lang.c:1514
 #, c-format
 msgid "  -p port  use port as NNTP port [default=%d]"
 msgstr "  -p port  ä½¿ç”¨ port ä½œä¸º NNTP é€šä¿¡ç«¯å£ [ç¼ºçœ=%d]"
 
-#: src/lang.c:1467
+#: src/lang.c:1516
 msgid "  -k       skip verification for NNTPS"
 msgstr ""
 
-#: src/lang.c:1468
+#: src/lang.c:1517
 msgid "  -T       enable NNTPS"
 msgstr ""
 
-#: src/lang.c:1470
+#: src/lang.c:1519
 #, fuzzy
 msgid "  -Q       quick start. Same as -dnq"
 msgstr "  -Q       å¿«é€Ÿå¼€å§‹ã€‚å¦‚åŒ -dnq"
 
-#: src/lang.c:1471
+#: src/lang.c:1520
 msgid "  -r       read news remotely from default NNTP server"
 msgstr "  -r       ä»Žç¼ºçœ NNTP æœåŠ¡å™¨è¿œç¨‹è¯»å–æ–°é—»"
 
-#: src/lang.c:1472
+#: src/lang.c:1521
 msgid "  -l       use only LIST instead of GROUP (-n) command"
 msgstr "  -l       åªä½¿ç”¨ LIST ä»¥ä»£æ›¿ GROUP (-n) å‘½ä»¤"
 
-#: src/lang.c:1473
+#: src/lang.c:1522
 msgid "  -n       only read subscribed .newsrc groups from NNTP server"
 msgstr "  -n       ä»Ž NNTP æœåŠ¡å™¨åªè¯»å–å·²è®¢é˜…çš„ .newsrc ç¾¤ç»„"
 
-#: src/lang.c:1475
+#: src/lang.c:1524
 msgid "  -4       force connecting via IPv4"
 msgstr "  -4       å¼ºåˆ¶é€è¿‡ IPv4 è¿žæŽ¥"
 
-#: src/lang.c:1476
+#: src/lang.c:1525
 msgid "  -6       force connecting via IPv6"
 msgstr "  -6       å¼ºåˆ¶é€è¿‡ IPv6 è¿žæŽ¥"
 
-#: src/lang.c:1477
+#: src/lang.c:1526
 msgid ""
 "\n"
 "socket or connect problem\n"
@@ -5288,7 +5433,7 @@ msgstr ""
 "\n"
 "é€šä¿¡ç«¯æˆ–è¿žæŽ¥é—®é¢˜\n"
 
-#: src/lang.c:1479
+#: src/lang.c:1528
 #, c-format
 msgid ""
 "\n"
@@ -5297,16 +5442,16 @@ msgstr ""
 "\n"
 "è¿žæŽ¥åˆ° %sï¼š"
 
-#: src/lang.c:1480
+#: src/lang.c:1529
 msgid "Giving up...\n"
 msgstr "æ”¾å¼ƒâ€¦\n"
 
-#: src/lang.c:1482
+#: src/lang.c:1531
 #, c-format
 msgid "%s/tcp: Unknown service.\n"
 msgstr "%s/tcpï¼šä¸æ˜ŽæœåŠ¡ã€‚\n"
 
-#: src/lang.c:1486
+#: src/lang.c:1535
 msgid ""
 "Your server does not have Xref: in its XOVER information.\n"
 "Tin will try to use XHDR XREF instead (slows down things a bit).\n"
@@ -5314,87 +5459,87 @@ msgstr ""
 "æ‚¨çš„æœåŠ¡å™¨æ²¡æœ‰ Xref: äºŽå®ƒçš„ XOVER ä¿¡æ¯ä¹‹ä¸­ã€‚\n"
 "Tin å°†å°è¯•ä½¿ç”¨ XHDR XREF ä½œä¸ºæ›¿ä»£ (ä¼šæ…¢ä¸€ç‚¹)ã€‚\n"
 
-#: src/lang.c:1489
+#: src/lang.c:1538
 msgid "Your server does not have Xref: in its XOVER information.\n"
 msgstr "æ‚¨çš„æœåŠ¡å™¨æ²¡æœ‰ Xref: äºŽå®ƒçš„ XOVER ä¿¡æ¯ä¹‹ä¸­ã€‚\n"
 
-#: src/lang.c:1492
+#: src/lang.c:1541
 #, fuzzy, c-format
 msgid "Can't open %s. Try %s -r to read news via NNTP."
 msgstr "æ— æ³•æ‰“å¼€ %sã€‚å°è¯• %s -r ä»¥é€è¿‡ NNTP è¯»å–æ–°é—»ã€‚\n"
 
-#: src/lang.c:1495
+#: src/lang.c:1544
 msgid "  -Q       quick start. Same as -dq"
 msgstr "  -Q       å¿«é€Ÿå¼€å§‹ã€‚å¦‚åŒ -dq"
 
-#: src/lang.c:1496
+#: src/lang.c:1545
 msgid "  -l       read only active file instead of scanning spool (-n) command"
 msgstr "  -l       çŽ°ç”¨æ–‡ä»¶åªè¯»ä»¥ä»£æ›¿æ‰«ææš‚å­˜ (-n) å‘½ä»¤"
 
-#: src/lang.c:1497
+#: src/lang.c:1546
 msgid "  -n       only read subscribed .newsrc groups from spool"
 msgstr "  -n       åªä»Žæš‚å­˜è¯»å–å·²è®¢é˜…çš„ .newsrc ç¾¤ç»„"
 
-#: src/lang.c:1498
+#: src/lang.c:1547
 msgid "Your server does not have Xref: in its NOV-files.\n"
 msgstr "æ‚¨çš„æœåŠ¡å™¨æ²¡æœ‰ Xref: äºŽå®ƒçš„ NOV æ–‡ä»¶ä¹‹ä¸­ã€‚\n"
 
-#: src/lang.c:1502
+#: src/lang.c:1551
 msgid "Posting using external inews failed. Use built in inews instead?"
 msgstr "ä½¿ç”¨å¤–éƒ¨ inews å¼ è´´å¤±è´¥ã€‚ä½¿ç”¨å†…ç½® inews ä½œä¸ºæ›¿ä»£ï¼Ÿ"
 
-#: src/lang.c:1503
+#: src/lang.c:1552
 msgid "It worked! Should I always use my built in inews from now on?"
 msgstr "å®ƒåšåˆ°äº†ï¼ä»ŽçŽ°åœ¨èµ·ï¼Œæˆ‘åº”è¯¥ä¸€å¾‹ä½¿ç”¨å†…ç½®çš„ inewsï¼Ÿ"
 
-#: src/lang.c:1507
+#: src/lang.c:1556
 #, c-format
 msgid "%d %s printed"
 msgstr "%d %s å·²æ‰“å°"
 
-#: src/lang.c:1508
+#: src/lang.c:1557
 msgid "output article/thread/hot/pattern/tagged articles to printer"
 msgstr "è¾“å‡º æ–‡ç« /è®¨è®ºä¸²/çƒ­é—¨/æ¨¡å¼/å·²æ ‡è®°æ–‡ç«  åˆ°æ‰“å°æœº"
 
-#: src/lang.c:1509
+#: src/lang.c:1558
 msgid "Print"
 msgstr "æ‰“å°"
 
-#: src/lang.c:1510
+#: src/lang.c:1559
 msgid "Printing..."
 msgstr "æ‰“å°ä¸­â€¦"
 
-#: src/lang.c:1514
+#: src/lang.c:1563
 #, fuzzy, c-format
 msgid "%d %s piped to \"%s\""
 msgstr "%d %s å·²æ‰“å°"
 
-#: src/lang.c:1515
+#: src/lang.c:1564
 msgid "pipe article/thread/hot/pattern/tagged articles into command"
 msgstr "ç®¡é“ æ–‡ç« /è®¨è®ºä¸²/çƒ­é—¨/æ¨¡å¼/å·²æ ‡è®°æ–‡ç«  è¿›å…¥å‘½ä»¤"
 
-#: src/lang.c:1516
+#: src/lang.c:1565
 msgid "No command"
 msgstr "æ²¡æœ‰å‘½ä»¤"
 
-#: src/lang.c:1517
+#: src/lang.c:1566
 msgid "Pipe"
 msgstr "ç®¡é“"
 
-#: src/lang.c:1518
+#: src/lang.c:1567
 #, c-format
 msgid "Pipe to command [%.*s]> "
 msgstr "ç®¡é“åˆ°å‘½ä»¤ [%.*s]>"
 
-#: src/lang.c:1519
+#: src/lang.c:1568
 msgid "Piping..."
 msgstr "ç®¡é“ä¸­â€¦"
 
-#: src/lang.c:1521
+#: src/lang.c:1570
 msgid "Piping not enabled."
 msgstr "ç®¡é“æœªå¯ç”¨ã€‚"
 
-#: src/lang.c:1525
+#: src/lang.c:1574
 #, c-format
 msgid ""
 "\n"
@@ -5409,7 +5554,7 @@ msgstr ""
 "      æ‰å…è®¸ã€‚ä½¿ç”¨é€—å·(,)æ¥åˆ†éš”å¤šé‡çš„\n"
 "      æ–°é—»ç¾¤ç»„åç§°ã€‚\n"
 
-#: src/lang.c:1530
+#: src/lang.c:1579
 #, c-format
 msgid ""
 "\n"
@@ -5422,7 +5567,7 @@ msgstr ""
 "      åœ¨è¡Œä¸­ä¸å¯ä»¥åŒ…å«ç©ºç™½ï¼Œ å› æ­¤è¿™æ˜¯ä¸å…è®¸çš„ã€‚\n"
 "      è¯·å°†æ‰€æœ‰æ–°é—»ç¾¤ç»„å†™å…¥å•ä¸€è¡Œä¸­ã€‚\n"
 
-#: src/lang.c:1535
+#: src/lang.c:1584
 #, c-format
 msgid ""
 "\n"
@@ -5435,7 +5580,7 @@ msgstr ""
 "        è¿™æ˜¯éžå¸¸æ–°çš„åŠŸèƒ½ï¼Œå¯èƒ½æ— æ³•è¢«æ‰€æœ‰çš„æœåŠ¡å™¨æŽ¥æ”¶ã€‚\n"
 "        ä¸ºé¿å…éº»çƒ¦ï¼Œè¯·å°†æ‰€æœ‰æ–°é—»ç¾¤ç»„å†™å…¥å•ä¸€è¡Œä¸­ã€‚\n"
 
-#: src/lang.c:1539
+#: src/lang.c:1588
 #, c-format
 msgid ""
 "\n"
@@ -5444,7 +5589,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šâ€œ%s:â€è¡Œä¸­å«æœ‰åº”è¯¥è¢«ç§»é™¤çš„ç©ºæ ¼ã€‚\n"
 
-#: src/lang.c:1544
+#: src/lang.c:1593
 msgid ""
 "\n"
 "  If your article contains quoted text  please take some time to pare it "
@@ -5476,40 +5621,40 @@ msgstr ""
 "  ä¸åœ¨ä¹Žå¹¶æ³¨æ„æ‚¨å¼ è´´æ‰€ç”¨çš„æ ¼å¼ï¼Œåˆ«äººå°†å¾ˆå¯èƒ½\n"
 "  ä¼šå®Œå…¨å¿½ç•¥å®ƒï¼Œå°¤å…¶æ˜¯åœ¨è¿™ä¸ªæ‹¥æŒ¤çš„ç½‘ç»œä¸­ã€‚\n"
 
-#: src/lang.c:1557
+#: src/lang.c:1606
 msgid "shell escape"
 msgstr "å‘½ä»¤å£³è·³è„±"
 
-#: src/lang.c:1558
+#: src/lang.c:1607
 #, c-format
 msgid "Shell Command (%s)"
 msgstr "å‘½ä»¤å£³å‘½ä»¤ (%s)"
 
-#: src/lang.c:1559
+#: src/lang.c:1608
 #, c-format
 msgid "Enter shell command [%s]> "
 msgstr "è¾“å…¥å‘½ä»¤å£³å‘½ä»¤ [%s]>"
 
-#: src/lang.c:1563
+#: src/lang.c:1612
 #, c-format
 msgid "%s: Can't get entry for TERM\n"
 msgstr "%sï¼šæ— æ³•æå– TERM æ¡ç›®\n"
 
-#: src/lang.c:1567
+#: src/lang.c:1616
 #, c-format
 msgid "Group %.*s ('q' to quit)..."
 msgstr "ç¾¤ç»„ %.*s (â€˜qâ€™ä»¥ç¦»å¼€)â€¦"
 
-#: src/lang.c:1569
+#: src/lang.c:1618
 #, c-format
 msgid "Group %.*s..."
 msgstr "ç¾¤ç»„ %.*sâ€¦"
 
-#: src/lang.c:1573
+#: src/lang.c:1622
 msgid "Server unavailable\n"
 msgstr "æœåŠ¡å™¨æ— æ³•ä½¿ç”¨\n"
 
-#: src/lang.c:1579
+#: src/lang.c:1628
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
@@ -5518,552 +5663,552 @@ msgstr ""
 "%s=ç®¡é“ï¼›%s=é‚®å¯„ï¼›%s=æ‰“å°ï¼›%s=ç¦»å¼€ï¼›%s=åˆ‡æ¢æ‰€æœ‰/æœªè¯»ï¼›%s=ä¿å­˜ï¼›%s=æ ‡è®°ï¼›%s=å¼ "
 "è´´"
 
-#: src/lang.c:1580
+#: src/lang.c:1629
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=ç®¡é“ï¼›%s=é‚®å¯„ï¼›%s=æ‰“å°ï¼›%s=ç¦»å¼€ï¼›%s=å›žå¤é‚®ä»¶ï¼›%s=ä¿å­˜ï¼›%s=æ ‡è®°ï¼›%s=å¼ è´´"
 
-#: src/lang.c:1582
+#: src/lang.c:1631
 #, c-format
 msgid ""
 "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr "%s=é‚®å¯„ï¼›%s=æ‰“å°ï¼›%s=ç¦»å¼€ï¼›%s=åˆ‡æ¢æ‰€æœ‰/æœªè¯»ï¼›%s=ä¿å­˜ï¼›%s=æ ‡è®°ï¼›%s=å¼ è´´"
 
-#: src/lang.c:1583
+#: src/lang.c:1632
 #, c-format
 msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr "%s=é‚®å¯„ï¼›%s=æ‰“å°ï¼›%s=ç¦»å¼€ï¼›%s=å›žå¤é‚®ä»¶ï¼›%s=ä¿å­˜ï¼›%s=æ ‡è®°ï¼›%s=å¼ è´´"
 
-#: src/lang.c:1587
+#: src/lang.c:1636
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr "%s=ç®¡é“ï¼›%s=é‚®å¯„ï¼›%s=ç¦»å¼€ï¼›%s=åˆ‡æ¢æ‰€æœ‰/æœªè¯»ï¼›%s=ä¿å­˜ï¼›%s=æ ‡è®°ï¼›%s=å¼ è´´"
 
-#: src/lang.c:1588
+#: src/lang.c:1637
 #, c-format
 msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr "%s=ç®¡é“ï¼›%s=é‚®å¯„ï¼›%s=ç¦»å¼€ï¼›%s=å›žå¤é‚®ä»¶ï¼›%s=ä¿å­˜ï¼›%s=æ ‡è®°ï¼›%s=å¼ è´´"
 
-#: src/lang.c:1590
+#: src/lang.c:1639
 #, c-format
 msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr "%s=é‚®å¯„ï¼›%s=ç¦»å¼€ï¼›%s=åˆ‡æ¢æ‰€æœ‰/æœªè¯»ï¼›%s=ä¿å­˜ï¼›%s=æ ‡è®°ï¼›%s=å¼ è´´"
 
-#: src/lang.c:1591
+#: src/lang.c:1640
 #, c-format
 msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr "%s=é‚®å¯„ï¼›%s=ç¦»å¼€ï¼›%s=å›žå¤é‚®ä»¶ï¼›%s=ä¿å­˜ï¼›%s=æ ‡è®°ï¼›%s=å¼ è´´"
 
-#: src/lang.c:1597
+#: src/lang.c:1646
 msgid "Terminal does not support color"
 msgstr "ç»ˆç«¯æœºä¸æ”¯æŒé¢œè‰²"
 
-#: src/lang.c:1602
+#: src/lang.c:1651
 #, c-format
 msgid "Trying %s"
 msgstr "å°è¯• %s"
 
-#: src/lang.c:1617
+#: src/lang.c:1666
 msgid "Subject"
 msgstr "ä¸»æ—¨"
 
-#: src/lang.c:1618
+#: src/lang.c:1667
 msgid "References"
 msgstr "å‚è€ƒ"
 
-#: src/lang.c:1619
+#: src/lang.c:1668
 msgid "Both Subject and References"
 msgstr "ä¸»æ—¨å’Œå‚è€ƒä¸¤è€…"
 
-#: src/lang.c:1620
+#: src/lang.c:1669
 msgid "Multipart Subject"
 msgstr "å¤šéƒ¨ä»¶ä¸»æ—¨"
 
-#: src/lang.c:1621
+#: src/lang.c:1670
 msgid "Percentage Match"
 msgstr "ç™¾åˆ†æ¯”åŒ¹é…"
 
-#: src/lang.c:1634 src/lang.c:1725 src/lang.c:1824 src/lang.c:1927
+#: src/lang.c:1683 src/lang.c:1774 src/lang.c:1880 src/lang.c:1983
 msgid "No"
 msgstr "å¦"
 
-#: src/lang.c:1635 src/lang.c:1826
+#: src/lang.c:1684 src/lang.c:1882
 msgid "Yes"
 msgstr "æ˜¯"
 
-#: src/lang.c:1636
+#: src/lang.c:1685
 #, fuzzy
 msgid "Hide all"
 msgstr "éšè—æ‰€æœ‰"
 
-#: src/lang.c:1645
+#: src/lang.c:1694
 msgid "Address"
 msgstr "åœ°å€"
 
-#: src/lang.c:1646
+#: src/lang.c:1695
 msgid "Full Name"
 msgstr "å…¨å"
 
-#: src/lang.c:1647
+#: src/lang.c:1696
 msgid "Address and Name"
 msgstr "åœ°å€å’Œåç§°"
 
-#: src/lang.c:1655
+#: src/lang.c:1704
 msgid "Max"
 msgstr "æœ€å¤§"
 
-#: src/lang.c:1656
+#: src/lang.c:1705
 msgid "Sum"
 msgstr "æ€»å’Œ"
 
-#: src/lang.c:1657
+#: src/lang.c:1706
 msgid "Average"
 msgstr "å¹³å‡"
 
-#: src/lang.c:1667 src/lang.c:1687
+#: src/lang.c:1716 src/lang.c:1736
 msgid "Black"
 msgstr "é»‘è‰²"
 
-#: src/lang.c:1668 src/lang.c:1688
+#: src/lang.c:1717 src/lang.c:1737
 msgid "Red"
 msgstr "çº¢è‰²"
 
-#: src/lang.c:1669 src/lang.c:1689
+#: src/lang.c:1718 src/lang.c:1738
 msgid "Green"
 msgstr "ç»¿è‰²"
 
-#: src/lang.c:1670 src/lang.c:1690
+#: src/lang.c:1719 src/lang.c:1739
 msgid "Brown"
 msgstr "æ£•è‰²"
 
-#: src/lang.c:1671 src/lang.c:1691
+#: src/lang.c:1720 src/lang.c:1740
 msgid "Blue"
 msgstr "è“è‰²"
 
-#: src/lang.c:1672 src/lang.c:1692
+#: src/lang.c:1721 src/lang.c:1741
 msgid "Pink"
 msgstr "ç²‰çº¢"
 
-#: src/lang.c:1673 src/lang.c:1693
+#: src/lang.c:1722 src/lang.c:1742
 msgid "Cyan"
 msgstr "é’è‰²"
 
-#: src/lang.c:1674 src/lang.c:1694
+#: src/lang.c:1723 src/lang.c:1743
 msgid "White"
 msgstr "ç™½è‰²"
 
-#: src/lang.c:1675
+#: src/lang.c:1724
 msgid "Gray"
 msgstr "ç°è‰²"
 
-#: src/lang.c:1676
+#: src/lang.c:1725
 msgid "Light Red"
 msgstr "æµ…çº¢è‰²"
 
-#: src/lang.c:1677
+#: src/lang.c:1726
 msgid "Light Green"
 msgstr "æµ…ç»¿è‰²"
 
-#: src/lang.c:1678
+#: src/lang.c:1727
 msgid "Yellow"
 msgstr "é»„è‰²"
 
-#: src/lang.c:1679
+#: src/lang.c:1728
 msgid "Light Blue"
 msgstr "æµ…è“è‰²"
 
-#: src/lang.c:1680
+#: src/lang.c:1729
 msgid "Light Pink"
 msgstr "æµ…ç²‰çº¢"
 
-#: src/lang.c:1681
+#: src/lang.c:1730
 msgid "Light Cyan"
 msgstr "æµ…é’è‰²"
 
-#: src/lang.c:1682
+#: src/lang.c:1731
 msgid "Light White"
 msgstr "äº®ç™½è‰²"
 
-#: src/lang.c:1703 src/lang.c:1831 src/lang.c:1846
+#: src/lang.c:1752 src/lang.c:1887 src/lang.c:1902
 msgid "Nothing"
 msgstr "æ²¡æœ‰ä»»ä½•ä¸œè¥¿"
 
-#: src/lang.c:1705
+#: src/lang.c:1754
 msgid "Space"
 msgstr "ç©ºæ ¼"
 
-#: src/lang.c:1713
+#: src/lang.c:1762
 msgid "Normal"
 msgstr "ä¸€èˆ¬"
 
-#: src/lang.c:1714
+#: src/lang.c:1763
 msgid "Best highlighting"
 msgstr "æœ€ä½³é«˜äº®åº¦æ˜¾ç¤º"
 
-#: src/lang.c:1715
+#: src/lang.c:1764
 msgid "Underline"
 msgstr "åº•çº¿"
 
-#: src/lang.c:1716
+#: src/lang.c:1765
 msgid "Reverse video"
 msgstr "åç™½æ˜¾ç¤º"
 
-#: src/lang.c:1717
+#: src/lang.c:1766
 msgid "Blinking"
 msgstr "é—ªåŠ¨"
 
-#: src/lang.c:1718
+#: src/lang.c:1767
 msgid "Half bright"
 msgstr "åŠæ˜Žäº®"
 
-#: src/lang.c:1719
+#: src/lang.c:1768
 msgid "Bold"
 msgstr "ç²—ä½“"
 
-#: src/lang.c:1726
+#: src/lang.c:1775
 msgid "Cc"
 msgstr "å‰¯æœ¬"
 
-#: src/lang.c:1727
+#: src/lang.c:1776
 msgid "Bcc"
 msgstr "å¯†ä»¶å‰¯æœ¬"
 
-#: src/lang.c:1728
+#: src/lang.c:1777
 msgid "Cc and Bcc"
 msgstr "å‰¯æœ¬å’Œå¯†ä»¶å‰¯æœ¬"
 
-#: src/lang.c:1745 src/lang.c:1758
+#: src/lang.c:1794 src/lang.c:1807
 msgid "none"
 msgstr "æ— "
 
-#: src/lang.c:1746
+#: src/lang.c:1795
 msgid "commands"
 msgstr "å‘½ä»¤"
 
-#: src/lang.c:1747
+#: src/lang.c:1796
 msgid "select"
 msgstr "é€‰å–"
 
-#: src/lang.c:1749
+#: src/lang.c:1798
 msgid "commands & quit"
 msgstr "å‘½ä»¤ & ç¦»å¼€"
 
-#: src/lang.c:1750
+#: src/lang.c:1799
 msgid "commands & select"
 msgstr "å‘½ä»¤ & é€‰å–"
 
-#: src/lang.c:1751
+#: src/lang.c:1800
 msgid "quit & select"
 msgstr "ç¦»å¼€ & é€‰å–"
 
-#: src/lang.c:1752
+#: src/lang.c:1801
 msgid "commands & quit & select"
 msgstr "å‘½ä»¤ & ç¦»å¼€ & é€‰å–"
 
-#: src/lang.c:1759
+#: src/lang.c:1808
 msgid "PageDown"
 msgstr "ä¸‹ä¸€é¡µ"
 
-#: src/lang.c:1760
+#: src/lang.c:1809
 msgid "PageNextUnread"
 msgstr "ä¸‹ä¸€æœªè¯»é¡µ"
 
-#: src/lang.c:1761
+#: src/lang.c:1810
 msgid "PageDown or PageNextUnread"
 msgstr "ä¸‹ä¸€é¡µæˆ–ä¸€æœªè¯»é¡µ"
 
-#: src/lang.c:1767
+#: src/lang.c:1816
 msgid "Subject: (case sensitive)"
 msgstr "Subject: (å¤§å°å†™ç›¸ç¬¦)"
 
-#: src/lang.c:1768
+#: src/lang.c:1817
 msgid "Subject: (ignore case)"
 msgstr "Subject: (å¿½ç•¥å¤§å°å†™)"
 
-#: src/lang.c:1769
+#: src/lang.c:1818
 msgid "From: (case sensitive)"
 msgstr "From: (å¤§å°å†™ç›¸ç¬¦)"
 
-#: src/lang.c:1770
+#: src/lang.c:1819
 msgid "From: (ignore case)"
 msgstr "From: (å¿½ç•¥å¤§å°å†™)"
 
-#: src/lang.c:1771
+#: src/lang.c:1820
 msgid "Msg-ID: & full References: line"
 msgstr "Message-ID: & å…¨éƒ¨ References: è¡Œ"
 
-#: src/lang.c:1772
+#: src/lang.c:1821
 msgid "Msg-ID: & last References: only"
 msgstr "Message-ID: & æœ€åŽä¸€ç¬” References: åªæœ‰"
 
-#: src/lang.c:1773
+#: src/lang.c:1822
 msgid "Message-ID: entry only"
 msgstr "åªæœ‰ Message-ID: æ¡ç›®"
 
-#: src/lang.c:1774
+#: src/lang.c:1823
 msgid "Lines:"
 msgstr "Lines:"
 
-#: src/lang.c:1780
+#: src/lang.c:1829
 msgid "Don't trim article body"
 msgstr "ä¸ä¿®å‰ªæ–‡ç« å†…æ–‡"
 
-#: src/lang.c:1781
+#: src/lang.c:1830
 msgid "Skip leading blank lines"
 msgstr "è·³è¿‡å‰å¯¼ç©ºè¡Œ"
 
-#: src/lang.c:1782
+#: src/lang.c:1831
 msgid "Skip trailing blank lines"
 msgstr "è·³è¿‡å°¾éšç©ºè¡Œ"
 
-#: src/lang.c:1783
+#: src/lang.c:1832
 msgid "Skip leading and trailing blank l."
 msgstr "è·³è¿‡å‰å¯¼å’Œå°¾éšç©ºè¡Œã€‚"
 
-#: src/lang.c:1784
+#: src/lang.c:1833
 msgid "Compact multiple between text"
 msgstr "åŽ‹ç¼©æ–‡æœ¬é—´å¤šé‡ç©ºè¡Œ"
 
-#: src/lang.c:1785
+#: src/lang.c:1834
 msgid "Compact multiple and skip leading"
 msgstr "åŽ‹ç¼©å¤šé‡ç©ºè¡Œå’Œè·³è¿‡å‰å¯¼ç©ºè¡Œ"
 
-#: src/lang.c:1786
+#: src/lang.c:1835
 msgid "Compact multiple and skip trailing"
 msgstr "åŽ‹ç¼©å¤šé‡ç©ºè¡Œå’Œè·³è¿‡å°¾éšç©ºè¡Œ"
 
-#: src/lang.c:1787
+#: src/lang.c:1836
 msgid "Compact mltpl., skip lead. & trai."
 msgstr "åŽ‹ç¼©å¤šé‡ç©ºè¡Œï¼Œè·³è¿‡å‰å¯¼ & å°¾éšç©ºè¡Œã€‚"
 
-#: src/lang.c:1793
+#: src/lang.c:1842
 #, fuzzy
 msgid "Don't show help or mail sign"
 msgstr "è¯´æ˜Ž/é‚®ä»¶ç­¾åçš„é¢œè‰²"
 
-#: src/lang.c:1794
+#: src/lang.c:1843
 #, fuzzy
 msgid "Show only help sign"
 msgstr "è¯´æ˜Ž/é‚®ä»¶ç­¾åçš„é¢œè‰²"
 
-#: src/lang.c:1795
+#: src/lang.c:1844
 msgid "Show only mail sign if new mail"
 msgstr ""
 
-#: src/lang.c:1796
+#: src/lang.c:1845
 msgid "Show mail if new mail else help s."
 msgstr ""
 
-#: src/lang.c:1825
+#: src/lang.c:1881
 msgid "Shell archive"
 msgstr "å‘½ä»¤å£³å­˜ç›˜"
 
-#: src/lang.c:1832
+#: src/lang.c:1888
 msgid "Subject: (descending)"
 msgstr "Subject: (é€’å‡)"
 
-#: src/lang.c:1833
+#: src/lang.c:1889
 msgid "Subject: (ascending)"
 msgstr "Subject: (é€’å‡)"
 
-#: src/lang.c:1834
+#: src/lang.c:1890
 msgid "From: (descending)"
 msgstr "From: (é€’å‡)"
 
-#: src/lang.c:1835
+#: src/lang.c:1891
 msgid "From: (ascending)"
 msgstr "From: (é€’å‡)"
 
-#: src/lang.c:1836
+#: src/lang.c:1892
 msgid "Date: (descending)"
 msgstr "Date: (é€’å‡)"
 
-#: src/lang.c:1837
+#: src/lang.c:1893
 msgid "Date: (ascending)"
 msgstr "Date: (é€’å‡)"
 
-#: src/lang.c:1838 src/lang.c:1847
+#: src/lang.c:1894 src/lang.c:1903
 msgid "Score (descending)"
 msgstr "åˆ†æ•° (é€’å‡)"
 
-#: src/lang.c:1839 src/lang.c:1848
+#: src/lang.c:1895 src/lang.c:1904
 msgid "Score (ascending)"
 msgstr "åˆ†æ•° (é€’å‡)"
 
-#: src/lang.c:1840
+#: src/lang.c:1896
 msgid "Lines: (descending)"
 msgstr "Lines: (é€’å‡)"
 
-#: src/lang.c:1841
+#: src/lang.c:1897
 msgid "Lines: (ascending)"
 msgstr "Lines: (é€’å‡)"
 
-#: src/lang.c:1849
+#: src/lang.c:1905
 msgid "Last posting date (descending)"
 msgstr "æœ€è¿‘ä¸€æ¬¡å¼ è´´æ—¥æœŸ (é€’å‡)"
 
-#: src/lang.c:1850
+#: src/lang.c:1906
 msgid "Last posting date (ascending)"
 msgstr "æœ€è¿‘ä¸€æ¬¡å¼ è´´æ—¥æœŸ (é€’å‡)"
 
-#: src/lang.c:1856
+#: src/lang.c:1912
 msgid "Quick-sort"
 msgstr "å¿«é€ŸæŽ’åºæ³•"
 
-#: src/lang.c:1857
+#: src/lang.c:1913
 msgid "Heap-sort"
 msgstr "å †ç§¯æŽ’åºæ³•"
 
-#: src/lang.c:1864
+#: src/lang.c:1920
 msgid "Always Keep"
 msgstr "ä¸€å¾‹ä¿ç•™"
 
-#: src/lang.c:1865
+#: src/lang.c:1921
 msgid "Always Remove"
 msgstr "ä¸€å¾‹ç§»é™¤"
 
-#: src/lang.c:1866
+#: src/lang.c:1922
 msgid "Mark with D on selection screen"
 msgstr "äºŽé€‰æ‹©å±å¹•ä»¥ D æ ‡è®°"
 
-#: src/lang.c:1872
+#: src/lang.c:1928
 msgid "Kill only unread arts"
 msgstr "åªç é™¤æœªè¯»æ–‡ç« "
 
-#: src/lang.c:1873
+#: src/lang.c:1929
 msgid "Kill all arts & show with K"
 msgstr "ä»¥ K ç é™¤æ‰€æœ‰æ–‡ç«  & æ˜¾ç¤º"
 
 #. TODO: s/K/art_marked_killed/
-#: src/lang.c:1874
+#: src/lang.c:1930
 msgid "Kill all arts and never show"
 msgstr "ç é™¤æ‰€æœ‰æ–‡ç« å¹¶æ°¸ä¸æ˜¾ç¤º"
 
-#: src/lang.c:1880
+#: src/lang.c:1936
 msgid "Nothing special"
 msgstr "æ²¡ä»€ä¹ˆç‰¹åˆ«"
 
-#: src/lang.c:1881
+#: src/lang.c:1937
 msgid "Compress quotes"
 msgstr "åŽ‹ç¼©å¼•è¨€"
 
-#: src/lang.c:1882
+#: src/lang.c:1938
 msgid "Quote signatures"
 msgstr "å¼•ç”¨ç­¾å"
 
-#: src/lang.c:1883
+#: src/lang.c:1939
 msgid "Compress quotes, quote sigs"
 msgstr "åŽ‹ç¼©å¼•è¨€ï¼Œå¼•ç”¨ç­¾å"
 
-#: src/lang.c:1884
+#: src/lang.c:1940
 msgid "Quote empty lines"
 msgstr "å¼•è¨€ç©ºè¡Œ"
 
-#: src/lang.c:1885
+#: src/lang.c:1941
 msgid "Compress quotes, quote empty lines"
 msgstr "åŽ‹ç¼©å¼•è¨€ï¼Œå¼•è¨€ç©ºè¡Œ"
 
-#: src/lang.c:1886
+#: src/lang.c:1942
 msgid "Quote sigs & empty lines"
 msgstr "å¼•ç”¨ç­¾å & ç©ºè¡Œ"
 
-#: src/lang.c:1887
+#: src/lang.c:1943
 msgid "Comp. q., quote sigs & empty lines"
 msgstr "åŽ‹ç¼©å¼•è¨€ï¼Œå¼•ç”¨ç­¾å & ç©ºè¡Œ"
 
-#: src/lang.c:1928
+#: src/lang.c:1984
 #, fuzzy
 msgid "With headers"
 msgstr "ä¿ç•™æ ‡å¤´"
 
-#: src/lang.c:1929
+#: src/lang.c:1985
 #, fuzzy
 msgid "Without headers"
 msgstr "æ— éœ€æ ‡å¤´"
 
-#: src/lang.c:1936
+#: src/lang.c:1992
 msgid "NFKC"
 msgstr "NFKC"
 
-#: src/lang.c:1938
+#: src/lang.c:1994
 msgid "NFKD"
 msgstr "NFKD"
 
-#: src/lang.c:1939
+#: src/lang.c:1995
 msgid "NFC"
 msgstr "NFC"
 
-#: src/lang.c:1940
+#: src/lang.c:1996
 msgid "NFD"
 msgstr "NFD"
 
-#: src/lang.c:1942
+#: src/lang.c:1998
 msgid "NFKC case fold"
 msgstr ""
 
-#: src/lang.c:1951
+#: src/lang.c:2007
 msgid "Display Options"
 msgstr "æ˜¾ç¤ºé€‰é¡¹"
 
-#: src/lang.c:1958
+#: src/lang.c:2014
 msgid "Color Options"
 msgstr "é¢œè‰²é€‰é¡¹"
 
-#: src/lang.c:1964
+#: src/lang.c:2020
 msgid "Highlight Options"
 msgstr "çªæ˜¾é€‰é¡¹"
 
-#: src/lang.c:1971
+#: src/lang.c:2027
 msgid "Article-Limiting Options"
 msgstr "æ–‡ç« é™åˆ¶é€‰é¡¹"
 
-#: src/lang.c:1977
+#: src/lang.c:2033
 msgid "Posting/Mailing Options"
 msgstr "å¼ è´´/é‚®å¯„é€‰é¡¹"
 
-#: src/lang.c:1983
+#: src/lang.c:2039
 msgid "Saving/Printing Options"
 msgstr "ä¿å­˜/æ‰“å°é€‰é¡¹"
 
-#: src/lang.c:1989
+#: src/lang.c:2045
 msgid "Expert Options"
 msgstr "ä¸“å®¶é€‰é¡¹"
 
-#: src/lang.c:1995
+#: src/lang.c:2051
 msgid "Filtering Options"
 msgstr "ç­›é€‰é€‰é¡¹"
 
-#: src/lang.c:2000 src/lang.c:2031 src/lang.c:2037 src/lang.c:2064
-#: src/lang.c:2116 src/lang.c:2122 src/lang.c:2132 src/lang.c:2143
-#: src/lang.c:2161 src/lang.c:2172 src/lang.c:2241 src/lang.c:2456
-#: src/lang.c:2462 src/lang.c:2468 src/lang.c:2483 src/lang.c:2495
-#: src/lang.c:2502 src/lang.c:2556 src/lang.c:2565 src/lang.c:2571
-#: src/lang.c:2578 src/lang.c:2585 src/lang.c:2592 src/lang.c:2599
-#: src/lang.c:2606 src/lang.c:2613 src/lang.c:2620 src/lang.c:2627
+#: src/lang.c:2056 src/lang.c:2087 src/lang.c:2093 src/lang.c:2120
+#: src/lang.c:2172 src/lang.c:2178 src/lang.c:2188 src/lang.c:2199
+#: src/lang.c:2217 src/lang.c:2228 src/lang.c:2297 src/lang.c:2512
+#: src/lang.c:2518 src/lang.c:2524 src/lang.c:2539 src/lang.c:2551
+#: src/lang.c:2558 src/lang.c:2612 src/lang.c:2621 src/lang.c:2627
 #: src/lang.c:2634 src/lang.c:2641 src/lang.c:2648 src/lang.c:2655
 #: src/lang.c:2662 src/lang.c:2669 src/lang.c:2676 src/lang.c:2683
 #: src/lang.c:2690 src/lang.c:2697 src/lang.c:2704 src/lang.c:2711
 #: src/lang.c:2718 src/lang.c:2725 src/lang.c:2732 src/lang.c:2739
-#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2761 src/lang.c:2777
-#: src/lang.c:2784 src/lang.c:2791 src/lang.c:2798 src/lang.c:2804
-#: src/lang.c:2810 src/lang.c:2827 src/lang.c:2839 src/lang.c:2874
-#: src/lang.c:2927 src/lang.c:2941 src/lang.c:2947 src/lang.c:2972
-#: src/lang.c:2990 src/lang.c:3007 src/lang.c:3019 src/lang.c:3052
-#: src/lang.c:3081 src/lang.c:3101 src/lang.c:3129 src/lang.c:3139
-#: src/lang.c:3146 src/lang.c:3172 src/lang.c:3196 src/lang.c:3343
-#: src/lang.c:3358 src/lang.c:3366 src/lang.c:3380 src/lang.c:3386
-#: src/lang.c:3424
+#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2760 src/lang.c:2767
+#: src/lang.c:2774 src/lang.c:2781 src/lang.c:2788 src/lang.c:2795
+#: src/lang.c:2802 src/lang.c:2809 src/lang.c:2817 src/lang.c:2833
+#: src/lang.c:2840 src/lang.c:2847 src/lang.c:2854 src/lang.c:2860
+#: src/lang.c:2866 src/lang.c:2889 src/lang.c:2901 src/lang.c:2936
+#: src/lang.c:2989 src/lang.c:3003 src/lang.c:3009 src/lang.c:3034
+#: src/lang.c:3052 src/lang.c:3069 src/lang.c:3081 src/lang.c:3114
+#: src/lang.c:3143 src/lang.c:3163 src/lang.c:3190 src/lang.c:3200
+#: src/lang.c:3207 src/lang.c:3233 src/lang.c:3257 src/lang.c:3412
+#: src/lang.c:3427 src/lang.c:3435 src/lang.c:3449 src/lang.c:3455
+#: src/lang.c:3493
 msgid "<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr "<SPACE> åˆ‡æ¢ï¼Œ<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2001
+#: src/lang.c:2057
 msgid "Show mini menu & posting etiquette"
 msgstr "æ˜¾ç¤ºè¿·ä½ èœå• & å¼ è´´ç¤¼ä»ª"
 
-#: src/lang.c:2002
+#: src/lang.c:2058
 msgid ""
 "# If ON show a mini menu of useful commands at each level\n"
 "# and posting etiquette after composing an article\n"
@@ -6071,15 +6216,15 @@ msgstr ""
 "# å¦‚æžœæ‰“å¼€å°±åœ¨æ¯ä¸ªå±‚çº§ä¸­æ˜¾ç¤ºå¸¸ç”¨å‘½ä»¤çš„è¿·ä½ èœå•\n"
 "# å¹¶äºŽæ’°å†™æ–‡ç« ä¹‹åŽæ˜¾ç¤ºå¼ è´´ç¤¼ä»ª\n"
 
-#: src/lang.c:2007
+#: src/lang.c:2063
 msgid "Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 msgstr "æ˜¾ç¤ºæ¯ä¸ªæ–°é—»ç¾¤ç»„çš„ç®€çŸ­æè¿°ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2008
+#: src/lang.c:2064
 msgid "Show description of each newsgroup"
 msgstr "æ˜¾ç¤ºæ¯ä¸ªæ–°é—»ç¾¤ç»„çš„æè¿°"
 
-#: src/lang.c:2009
+#: src/lang.c:2065
 msgid ""
 "# If ON show group description text after newsgroup name at\n"
 "# group selection level\n"
@@ -6087,19 +6232,19 @@ msgstr ""
 "# å¦‚æžœæ‰“å¼€å°±åœ¨ç¾¤ç»„é€‰æ‹©å±‚çº§ä¸­äºŽæ–°é—»ç¾¤ç»„åç§°ä¹‹åŽ\n"
 "# æ˜¾ç¤ºç¾¤ç»„æè¿°æ–‡æœ¬\n"
 
-#: src/lang.c:2014
+#: src/lang.c:2070
 #, fuzzy
 msgid ""
 "Show From (author) fields in group & thread level. <SPACE> toggles & <CR> "
 "sets."
 msgstr "åœ¨ç¾¤ç»„èœå•ä¸­æ˜¾ç¤ºä¸»æ—¨ & å‘ä¿¡è€… (ä½œè€…) å­—æ®µã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2015
+#: src/lang.c:2071
 #, fuzzy
 msgid "In group and thread level, show author by"
 msgstr "åœ¨ç¾¤ç»„èœå•ä¸­ï¼Œæ˜¾ç¤ºä½œè€…"
 
-#: src/lang.c:2016
+#: src/lang.c:2072
 #, fuzzy
 msgid ""
 "# Part of From field to display in group and thread level\n"
@@ -6116,31 +6261,31 @@ msgstr ""
 "# * 2 = å…¨å\n"
 "#   3 = ä¸¤è€…\n"
 
-#: src/lang.c:2025
+#: src/lang.c:2081
 msgid "Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 msgstr "ç»˜åˆ¶ -> æˆ–é«˜äº®åº¦æ¡ç”¨äºŽé€‰æ‹©ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2026
+#: src/lang.c:2082
 msgid "Draw -> instead of highlighted bar"
 msgstr "ç»˜åˆ¶ -> ä»¥ä»£æ›¿é«˜äº®åº¦æ¡"
 
-#: src/lang.c:2027
+#: src/lang.c:2083
 msgid "# If ON use -> otherwise highlighted bar for selection\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±ä½¿ç”¨ -> å¦åˆ™é«˜äº®åº¦æ¡ç”¨äºŽé€‰æ‹©\n"
 
-#: src/lang.c:2032
+#: src/lang.c:2088
 msgid "Use inverse video for page headers"
 msgstr "ä½¿ç”¨åç™½æ˜¾ç¤ºç”¨äºŽé¡µé¢æ ‡å¤´"
 
-#: src/lang.c:2033
+#: src/lang.c:2089
 msgid "# If ON use inverse video for page headers at different levels\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±äºŽä¸åŒçš„å±‚çº§ä½¿ç”¨åç™½æ˜¾ç¤ºç”¨äºŽé¡µé¢æ ‡å¤´\n"
 
-#: src/lang.c:2038
+#: src/lang.c:2094
 msgid "Thread articles by"
 msgstr "è®¨è®ºä¸²æ–‡ç« ä¾æ®"
 
-#: src/lang.c:2039
+#: src/lang.c:2095
 msgid ""
 "# Thread articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6160,15 +6305,15 @@ msgstr ""
 "#   4 = å¤šéƒ¨ä»¶ä¸»æ—¨\n"
 "#   5 = ç™¾åˆ†æ¯”åŒ¹é…\n"
 
-#: src/lang.c:2050
+#: src/lang.c:2106
 msgid "Enter percentage match required to thread together. <CR> sets."
 msgstr "è¾“å…¥å°†è®¨è®ºä¸²èµ·æ‰€å¿…éœ€çš„ç™¾åˆ†æ¯”åŒ¹é…ã€‚<CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2051
+#: src/lang.c:2107
 msgid "Thread percentage match"
 msgstr "è®¨è®ºä¸²ç™¾åˆ†æ¯”åŒ¹é…"
 
-#: src/lang.c:2053
+#: src/lang.c:2109
 #, no-c-format
 msgid ""
 "# Thread percentage match...\n"
@@ -6191,11 +6336,11 @@ msgstr ""
 "# ä»»ä½•æ’å…¥ã€‚ä¾‹å¦‚ happy å°†åŒ¹é… harpyï¼Œä½† harpie, happie å’Œ harpy ä¼šè¢«åˆ†å…¥å¦ä¸€"
 "ç¯‡å¸–å­ã€‚\n"
 
-#: src/lang.c:2065
+#: src/lang.c:2121
 msgid "Score of a thread"
 msgstr "è®¨è®ºä¸²çš„åˆ†æ•°"
 
-#: src/lang.c:2066
+#: src/lang.c:2122
 msgid ""
 "# Thread score\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6209,16 +6354,16 @@ msgstr ""
 "#   1 = æ€»å’Œ\n"
 "#   2 = å¹³å‡\n"
 
-#: src/lang.c:2074
+#: src/lang.c:2130
 msgid ""
 "Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 msgstr "æŽ’åºæ–‡ç« ä¾æ®ä¸»é¢˜ã€å‘ä¿¡è€…ã€æ—¥æœŸæˆ–åˆ†æ•°ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2075
+#: src/lang.c:2131
 msgid "Sort articles by"
 msgstr "æŽ’åºæ–‡ç« ä¾æ®"
 
-#: src/lang.c:2076
+#: src/lang.c:2132
 msgid ""
 "# Sort articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6248,15 +6393,15 @@ msgstr ""
 "#   9 = è¡Œæ•°é€’å‡\n"
 "#  10 = è¡Œæ•°é€’å‡\n"
 
-#: src/lang.c:2092
+#: src/lang.c:2148
 msgid "Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 msgstr "æŽ’åºè®¨è®ºä¸²ä¸ä¾æ®ä»»ä½•ä¸œè¥¿æˆ–ä¾æ®åˆ†æ•°ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2093
+#: src/lang.c:2149
 msgid "Sort threads by"
 msgstr "æŽ’åºè®¨è®ºä¸²ä¾æ®"
 
-#: src/lang.c:2094
+#: src/lang.c:2150
 msgid ""
 "# Sort thread by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6274,44 +6419,44 @@ msgstr ""
 "#   3 = æœ€è¿‘ä¸€æ¬¡å¼ è´´æ—¥æœŸé€’å‡\n"
 "#   4 = æœ€è¿‘ä¸€æ¬¡å¼ è´´æ—¥æœŸé€’å‡\n"
 
-#: src/lang.c:2104
+#: src/lang.c:2160
 msgid ""
 "Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 msgstr "å°†å…‰æ ‡æ”¾åœ¨ç¾¤ç»„ä¸­ç¬¬ä¸€/æœ€åŽä¸€ç¯‡æœªè¯»æ–‡ç« ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2105
+#: src/lang.c:2161
 msgid "Go to first unread article in group"
 msgstr "å‰å¾€ç¾¤ç»„ä¸­ç¬¬ä¸€ç¯‡æœªè¯»çš„æ–‡ç« "
 
-#: src/lang.c:2106
+#: src/lang.c:2162
 msgid "# If ON put cursor at first unread art in group otherwise last art\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±å°†å…‰æ ‡æ”¾åœ¨ç¾¤ç»„ä¸­ç¬¬ä¸€ç¯‡æœªè¯»æ–‡ç« ï¼Œå¦åˆ™æ˜¯æœ€åŽä¸€ç¯‡æ–‡ç« \n"
 
-#: src/lang.c:2110
+#: src/lang.c:2166
 msgid "Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 msgstr "æ˜¾ç¤ºæ‰€æœ‰æ–‡ç« æˆ–åªæœ‰æœªè¯»æ–‡ç« ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2111
+#: src/lang.c:2167
 msgid "Show only unread articles"
 msgstr "åªæ˜¾ç¤ºæœªè¯»æ–‡ç« "
 
-#: src/lang.c:2112
+#: src/lang.c:2168
 msgid "# If ON show only new/unread articles otherwise show all.\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±åªæ˜¾ç¤ºæ–°çš„/æœªè¯»æ–‡ç« ï¼Œå¦åˆ™å…¨éƒ¨æ˜¾ç¤ºã€‚\n"
 
-#: src/lang.c:2117
+#: src/lang.c:2173
 msgid "Show only groups with unread arts"
 msgstr "åªæ˜¾ç¤ºæœ‰æœªè¯»æ–‡ç« çš„ç¾¤ç»„"
 
-#: src/lang.c:2118
+#: src/lang.c:2174
 msgid "# If ON show only subscribed to groups that contain unread articles.\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±åªæ˜¾ç¤ºåŒ…å«æœªè¯»æ–‡ç« çš„è®¢é˜…ç¾¤ç»„ã€‚\n"
 
-#: src/lang.c:2123
+#: src/lang.c:2179
 msgid "Filter which articles"
 msgstr "ç­›é€‰å“ªäº›æ–‡ç« "
 
-#: src/lang.c:2124
+#: src/lang.c:2180
 msgid ""
 "# Filter which articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6325,11 +6470,11 @@ msgstr ""
 "#   1 = ç é™¤æ‰€æœ‰æ–‡ç« å¹¶åœ¨è®¨è®ºä¸²ä¸­æ˜¾ç¤ºæ—¶ä»¥ K æ ‡è®°\n"
 "#   2 = ç é™¤æ‰€æœ‰æ–‡ç« å¹¶æ°¸ä¸æ˜¾ç¤ºå®ƒä»¬\n"
 
-#: src/lang.c:2133
+#: src/lang.c:2189
 msgid "Go to the next unread article with"
 msgstr "å‰å¾€ä¸‹ä¸€ç¯‡æœªè¯»æ–‡ç« å€Ÿç”±"
 
-#: src/lang.c:2134
+#: src/lang.c:2190
 msgid ""
 "# Go to the unread article with following key(s)\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6345,11 +6490,11 @@ msgstr ""
 "# * 2 = TAB\n"
 "#   3 = PAGE DOWN æˆ– TAB\n"
 
-#: src/lang.c:2144
+#: src/lang.c:2200
 msgid "How to treat blank lines"
 msgstr "å¦‚ä½•å¯¹å¾…ç©ºè¡Œ"
 
-#: src/lang.c:2145
+#: src/lang.c:2201
 msgid ""
 "# Trim the article body, remove unnecessary blank lines.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6379,11 +6524,11 @@ msgstr ""
 "#   7 = åŽ‹ç¼©æ–‡æœ¬åŒºå—é—´çš„å¤šé‡ç©ºè¡Œå’Œè·³è¿‡\n"
 "#       å‰å¯¼å’Œå°¾éšç©ºè¡Œ\n"
 
-#: src/lang.c:2162
+#: src/lang.c:2218
 msgid "Show help/mail sign in level titles"
 msgstr ""
 
-#: src/lang.c:2163
+#: src/lang.c:2219
 msgid ""
 "# Show help sign, new mail sign, both or nothing in level titles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6393,24 +6538,24 @@ msgid ""
 "# * 3 = Show mail sign if new mail has arrived else show help sign\n"
 msgstr ""
 
-#: src/lang.c:2173
+#: src/lang.c:2229
 msgid "List thread using right arrow key"
 msgstr "ä½¿ç”¨å‘å³é”®åˆ—å‡ºè®¨è®ºä¸²"
 
-#: src/lang.c:2174
+#: src/lang.c:2230
 msgid ""
 "# If ON automatically list thread when entering it using right arrow key.\n"
 msgstr "# å¦‚æžœæ‰“å¼€å½“ä½¿ç”¨å‘å³é”®è¾“å…¥å®ƒæ—¶å°±è‡ªåŠ¨åˆ—å‡ºè®¨è®ºä¸²ã€‚\n"
 
-#: src/lang.c:2178
+#: src/lang.c:2234
 msgid "Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 msgstr "è¾“å…¥å­—ç¬¦ä»¥æŒ‡å‡ºå·²åˆ é™¤æ–‡ç« ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2179
+#: src/lang.c:2235
 msgid "Character to show deleted articles"
 msgstr "ç”¨æ¥æ˜¾ç¤ºå·²åˆ é™¤æ–‡ç« çš„å­—ç¬¦"
 
-#: src/lang.c:2180
+#: src/lang.c:2236
 msgid ""
 "# Character used to show that an art was deleted (default 'D')\n"
 "# _ is turned into ' '\n"
@@ -6418,16 +6563,16 @@ msgstr ""
 "# ç”¨æ¥æ˜¾ç¤ºæ–‡ç« è¢«åˆ é™¤çš„å­—ç¬¦ (ç¼ºçœâ€˜Dâ€™)\n"
 "# _ è¢«è½¬æ¢ä¸ºâ€˜ â€™\n"
 
-#: src/lang.c:2185
+#: src/lang.c:2241
 msgid ""
 "Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 msgstr "è¾“å…¥å­—ç¬¦ä»¥æŒ‡å‡ºåœ¨èŒƒå›´ä¸­çš„æ–‡ç« ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2186
+#: src/lang.c:2242
 msgid "Character to show inrange articles"
 msgstr "ç”¨æ¥æ˜¾ç¤ºèŒƒå›´ä¸­æ–‡ç« çš„å­—ç¬¦"
 
-#: src/lang.c:2187
+#: src/lang.c:2243
 msgid ""
 "# Character used to show that an art is in a range (default '#')\n"
 "# _ is turned into ' '\n"
@@ -6435,17 +6580,17 @@ msgstr ""
 "# ç”¨æ¥æ˜¾ç¤ºæ–‡ç« åœ¨èŒƒå›´ä¸­çš„å­—ç¬¦ (ç¼ºçœâ€˜#â€™)\n"
 "# _ è¢«è½¬æ¢ä¸ºâ€˜ â€™\n"
 
-#: src/lang.c:2192
+#: src/lang.c:2248
 msgid ""
 "Enter character to indicate that article will return. <CR> sets, <ESC> "
 "cancels."
 msgstr "è¾“å…¥å­—ç¬¦ä»¥æŒ‡å‡ºè¯¥æ–‡ç« å°†è¿”å›žã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2193
+#: src/lang.c:2249
 msgid "Character to show returning arts"
 msgstr "ç”¨æ¥æ˜¾ç¤ºè¿”å›žæ–‡ç« çš„å­—ç¬¦"
 
-#: src/lang.c:2194
+#: src/lang.c:2250
 msgid ""
 "# Character used to show that an art will return (default '-')\n"
 "# _ is turned into ' '\n"
@@ -6453,16 +6598,16 @@ msgstr ""
 "# ç”¨æ¥æ˜¾ç¤ºè¯¥æ–‡ç« å°†è¿”å›žçš„å­—ç¬¦ (ç¼ºçœâ€˜-â€™)\n"
 "# _ è¢«è½¬æ¢ä¸ºâ€˜ â€™\n"
 
-#: src/lang.c:2199
+#: src/lang.c:2255
 msgid ""
 "Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 msgstr "è¾“å…¥å­—ç¬¦ä»¥æŒ‡å‡ºå·²é€‰æ–‡ç« ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2200
+#: src/lang.c:2256
 msgid "Character to show selected articles"
 msgstr "ç”¨æ¥æ˜¾ç¤ºå·²é€‰æ–‡ç« çš„å­—ç¬¦"
 
-#: src/lang.c:2201
+#: src/lang.c:2257
 msgid ""
 "# Character used to show that an art was auto-selected (default '*')\n"
 "# _ is turned into ' '\n"
@@ -6470,15 +6615,15 @@ msgstr ""
 "# ç”¨æ¥æ˜¾ç¤ºè¯¥æ–‡ç« å·²è¢«è‡ªåŠ¨é€‰å–çš„å­—ç¬¦ (ç¼ºçœâ€˜*â€™)\n"
 "# _ è¢«è½¬æ¢ä¸ºâ€˜ â€™\n"
 
-#: src/lang.c:2206
+#: src/lang.c:2262
 msgid "Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 msgstr "è¾“å…¥å­—ç¬¦ä»¥æŒ‡å‡ºæœ€è¿‘æ–‡ç« ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2207
+#: src/lang.c:2263
 msgid "Character to show recent articles"
 msgstr "ç”¨æ¥æ˜¾ç¤ºæœ€è¿‘æ–‡ç« çš„å­—ç¬¦"
 
-#: src/lang.c:2208
+#: src/lang.c:2264
 msgid ""
 "# Character used to show that an art is recent (default 'o')\n"
 "# _ is turned into ' '\n"
@@ -6486,15 +6631,15 @@ msgstr ""
 "# ç”¨æ¥æ˜¾ç¤ºæ˜¯æœ€è¿‘æ–‡ç« çš„å­—ç¬¦ (ç¼ºçœâ€˜oâ€™)\n"
 "# _ è¢«è½¬æ¢ä¸ºâ€˜ â€™\n"
 
-#: src/lang.c:2213
+#: src/lang.c:2269
 msgid "Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 msgstr "è¾“å…¥å­—ç¬¦ä»¥æŒ‡å‡ºæœªè¯»æ–‡ç« ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2214
+#: src/lang.c:2270
 msgid "Character to show unread articles"
 msgstr "ç”¨æ¥æ˜¾ç¤ºæœªè¯»æ–‡ç« çš„å­—ç¬¦"
 
-#: src/lang.c:2215
+#: src/lang.c:2271
 msgid ""
 "# Character used to show that an art is unread (default '+')\n"
 "# _ is turned into ' '\n"
@@ -6502,15 +6647,15 @@ msgstr ""
 "# ç”¨æ¥æ˜¾ç¤ºè¯¥æ–‡ç« æœªè¯»çš„å­—ç¬¦ (ç¼ºçœâ€˜+â€™)\n"
 "# _ è¢«è½¬æ¢ä¸ºâ€˜ â€™\n"
 
-#: src/lang.c:2220
+#: src/lang.c:2276
 msgid "Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 msgstr "è¾“å…¥å­—ç¬¦ä»¥æŒ‡å‡ºå·²è¯»æ–‡ç« ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2221
+#: src/lang.c:2277
 msgid "Character to show read articles"
 msgstr "ç”¨æ¥æ˜¾ç¤ºå·²è¯»æ–‡ç« çš„å­—ç¬¦"
 
-#: src/lang.c:2222
+#: src/lang.c:2278
 msgid ""
 "# Character used to show that an art was read (default ' ')\n"
 "# _ is turned into ' '\n"
@@ -6518,15 +6663,15 @@ msgstr ""
 "# ç”¨æ¥æ˜¾ç¤ºè¯¥æ–‡ç« å·²è¯»å–å­—ç¬¦ (ç¼ºçœâ€˜ â€™)\n"
 "# _ è¢«è½¬æ¢ä¸ºâ€˜ â€™\n"
 
-#: src/lang.c:2227
+#: src/lang.c:2283
 msgid "Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 msgstr "è¾“å…¥å­—ç¬¦ä»¥æŒ‡å‡ºè¢«ç é™¤æ–‡ç« ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2228
+#: src/lang.c:2284
 msgid "Character to show killed articles"
 msgstr "ç”¨æ¥æ˜¾ç¤ºè¢«ç é™¤æ–‡ç« çš„å­—ç¬¦"
 
-#: src/lang.c:2229
+#: src/lang.c:2285
 msgid ""
 "# Character used to show that an art was killed (default 'K')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
@@ -6534,16 +6679,16 @@ msgstr ""
 "# ç”¨æ¥æ˜¾ç¤ºè¯¥æ–‡ç« è¢«ç é™¤çš„å­—ç¬¦ (ç¼ºçœâ€˜Kâ€™)\n"
 "# kill_level å¿…é¡»æ ¹æ®ä¸åŒæƒ…å†µè€Œè®¾ç½®ï¼Œ_ è¢«è½¬æ¢ä¸ºâ€˜ â€™\n"
 
-#: src/lang.c:2234
+#: src/lang.c:2290
 msgid ""
 "Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 msgstr "è¾“å…¥å­—ç¬¦ä»¥æŒ‡å‡ºè¯»å–æ‰€é€‰æ–‡ç« ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2235
+#: src/lang.c:2291
 msgid "Character to show readselected arts"
 msgstr "ç”¨æ¥æ˜¾ç¤ºè¯»å–æ‰€é€‰æ–‡ç« çš„å­—ç¬¦"
 
-#: src/lang.c:2236
+#: src/lang.c:2292
 msgid ""
 "# Character used to show that an art was selected before read (default ':')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
@@ -6551,11 +6696,11 @@ msgstr ""
 "# ç”¨æ¥æ˜¾ç¤ºè¯¥æ–‡ç« è¯»å–ä¹‹å‰å·²è¢«é€‰çš„å­—ç¬¦ (ç¼ºçœâ€˜:â€™)\n"
 "# kill_level å¿…é¡»æ ¹æ®ä¸åŒæƒ…å†µè€Œè®¾ç½®ï¼Œ_ è¢«è½¬æ¢ä¸ºâ€˜ â€™\n"
 
-#: src/lang.c:2242
+#: src/lang.c:2298
 msgid "Abbreviate long newsgroup names"
 msgstr "å°†è¾ƒé•¿æ–°é—»ç¾¤ç»„åç§°ç¼©å†™"
 
-#: src/lang.c:2243
+#: src/lang.c:2299
 msgid ""
 "# If ON abbreviate (if necessary) long newsgroup names at group selection\n"
 "# level and article level like this:\n"
@@ -6565,17 +6710,17 @@ msgstr ""
 "# å±‚çº§å’Œæ–‡ç« å±‚çº§ä¼šå¦‚ä¸‹æ‰€ç¤ºï¼š\n"
 "#   news.software.readers -> n.software.readers -> n.s.readers -> n.s.rã€‚\n"
 
-#: src/lang.c:2249
+#: src/lang.c:2305
 msgid ""
 "0 = full page scrolling, -1 = show previous last line as first on next page, "
 "-2 = half page"
 msgstr "0 = æ•´é¡µå·åŠ¨ï¼Œ-1 = æ˜¾ç¤ºä¸Šé¡µæœ€åŽä¸€è¡Œä¸ºä¸‹é¡µç¬¬ä¸€è¡Œï¼Œ-2 = åŠé¡µå·åŠ¨"
 
-#: src/lang.c:2250
+#: src/lang.c:2306
 msgid "Number of lines to scroll in pager"
 msgstr "é¡µé¢åˆ‡æ¢æ—¶å·åŠ¨çš„è¡Œæ•°"
 
-#: src/lang.c:2251
+#: src/lang.c:2307
 msgid ""
 "# Number of lines that cursor-up/down will scroll in article pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6593,58 +6738,58 @@ msgstr ""
 "# * 1 = å·åŠ¨ä¸€è¡Œ\n"
 "#   2 æˆ–æ›´å¤§ = å·åŠ¨ 2 æˆ–æ›´å¤šè¡Œ (åªæœ‰åœ¨é¡µé¢åˆ‡æ¢æ—¶)\n"
 
-#: src/lang.c:2261
+#: src/lang.c:2317
 msgid "Display signatures. <SPACE> toggles & <CR> sets."
 msgstr "æ˜¾ç¤ºç­¾åã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2262
+#: src/lang.c:2318
 msgid "Display signatures"
 msgstr "æ˜¾ç¤ºç­¾å"
 
-#: src/lang.c:2263
+#: src/lang.c:2319
 msgid "# If OFF don't show signatures when displaying articles\n"
 msgstr "# å¦‚æžœå…³é—­äºŽæ˜¾ç¤ºæ–‡ç« æ—¶å°±ä¸æ˜¾ç¤ºç­¾å\n"
 
-#: src/lang.c:2267
+#: src/lang.c:2323
 #, fuzzy
 msgid "Display article score. <SPACE> toggles & <CR> sets."
 msgstr "æ˜¾ç¤ºç­¾åã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2268
+#: src/lang.c:2324
 #, fuzzy
-msgid "Display article score"
+msgid "Display article score in pager"
 msgstr "æ˜¾ç¤ºä¸‹ä¸€ç¯‡æ–‡ç« "
 
-#: src/lang.c:2269
+#: src/lang.c:2325
 #, fuzzy
 msgid "# If ON show article score when displaying articles\n"
 msgstr "# å¦‚æžœå…³é—­äºŽæ˜¾ç¤ºæ–‡ç« æ—¶å°±ä¸æ˜¾ç¤ºç­¾å\n"
 
-#: src/lang.c:2274
+#: src/lang.c:2330
 #, fuzzy
 msgid "Remove soft hyphens. <SPACE> toggles & <CR> sets."
 msgstr "æ˜¾ç¤ºç­¾åã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2275
+#: src/lang.c:2331
 #, fuzzy
 msgid "Remove soft hyphens"
 msgstr "ç§»åŠ¨èŒƒå›´"
 
-#: src/lang.c:2276
+#: src/lang.c:2332
 #, fuzzy
 msgid "# If ON remove soft hyphens when displaying articles\n"
 msgstr "# å¦‚æžœå…³é—­äºŽæ˜¾ç¤ºæ–‡ç« æ—¶å°±ä¸æ˜¾ç¤ºç­¾å\n"
 
-#: src/lang.c:2281
+#: src/lang.c:2337
 msgid ""
 "Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 msgstr "å°† uuencoded æ•°æ®æ˜¾ç¤ºä¸ºå·²æ ‡è®°é™„ä»¶ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2282
+#: src/lang.c:2338
 msgid "Display uue data as an attachment"
 msgstr "å°† uue æ•°æ®ä½œä¸ºé™„ä»¶æ˜¾ç¤º"
 
-#: src/lang.c:2283
+#: src/lang.c:2339
 #, fuzzy
 msgid ""
 "# Handling of uuencoded data in the pager\n"
@@ -6664,16 +6809,16 @@ msgstr ""
 "#   2 = éšè—æ‰€æœ‰ï¼Œç±»ä¼¼ 1ï¼Œä½†æ˜¯ä»»ä½•çœ‹æ¥åƒæ˜¯ uuencoded æ•°æ®çš„è¡Œï¼Œéƒ½å°†\n"
 "#       è¢«æŠ˜å ä¸ºä¸€æ ‡è®°è¡Œã€‚\n"
 
-#: src/lang.c:2293
+#: src/lang.c:2349
 msgid ""
 "Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 msgstr "è§£ç å¾·è¯­æ ·å¼ TeX å˜éŸ³ç¼–ç ä¸º ISOã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2294
+#: src/lang.c:2350
 msgid "Display \"a as Umlaut-a"
 msgstr "æ˜¾ç¤º \"a ä¸ºå˜éŸ³ a"
 
-#: src/lang.c:2295
+#: src/lang.c:2351
 msgid ""
 "# If ON decode German style TeX umlaut codes to ISO and\n"
 "# show \"a as Umlaut-a, etc.\n"
@@ -6681,15 +6826,15 @@ msgstr ""
 "# å¦‚æžœæ‰“å¼€å°±è§£ç å¾·è¯­æ ·å¼ TeX å˜éŸ³ç¼–ç ä¸º ISO å¹¶\n"
 "# æ˜¾ç¤º \"a ä¸ºå˜éŸ³ a ...ç­‰ç­‰\n"
 
-#: src/lang.c:2300 src/lang.c:2310
+#: src/lang.c:2356 src/lang.c:2366
 msgid "Space separated list of header fields"
 msgstr "ä»¥ç©ºæ ¼åˆ†éš”çš„æ ‡å¤´å­—æ®µæ¸…å•"
 
-#: src/lang.c:2301
+#: src/lang.c:2357
 msgid "Display these header fields (or *)"
 msgstr "æ˜¾ç¤ºè¿™äº›æ ‡å¤´å­—æ®µ (æˆ– *)"
 
-#: src/lang.c:2302
+#: src/lang.c:2358
 msgid ""
 "# Which news headers you wish to see. If you want to see _all_ the headers,\n"
 "# place an '*' as this value. This is the only way a wildcard can be used.\n"
@@ -6704,11 +6849,11 @@ msgstr ""
 "#â€˜X-â€™(åƒæ˜¯ X-Alan æˆ– X-Pape)ã€‚æ‚¨å¯ä»¥å€Ÿç”±ä»¥ç©ºæ ¼åˆ†éš”è€Œåˆ—å‡º\n"
 "# è¶…è¿‡ä¸€ä¸ªã€‚æ²¡æœ‰å®šä¹‰ä»»ä½•å€¼å°†ä¼šå…³é—­è¿™ä¸ªé€‰é¡¹ã€‚\n"
 
-#: src/lang.c:2311
+#: src/lang.c:2367
 msgid "Do not display these header fields"
 msgstr "ä¸æ˜¾ç¤ºè¿™äº›æ ‡å¤´å­—æ®µ"
 
-#: src/lang.c:2312
+#: src/lang.c:2368
 msgid ""
 "# Same as 'news_headers_to_display' except it denotes the opposite.\n"
 "# An example of using both options might be if you thought X- headers were\n"
@@ -6727,40 +6872,40 @@ msgstr ""
 "# news_headers_to_not_display=X-Alan X-Pape\n"
 "# æ²¡æœ‰å®šä¹‰ä»»ä½•å€¼å°±è¡¨ç¤ºå…³é—­è¿™ä¸ªé€‰é¡¹ã€‚\n"
 
-#: src/lang.c:2322
+#: src/lang.c:2378
 msgid ""
 "Do you want to enable automatic handling of multipart/alternative articles?"
 msgstr "æ‚¨è¦å¯ç”¨å¤šéƒ¨ä»¶/æ›¿ä»£æ–‡ç« çš„è‡ªåŠ¨å¤„ç†å—ï¼Ÿ"
 
-#: src/lang.c:2323
+#: src/lang.c:2379
 msgid "Skip multipart/alternative parts"
 msgstr "è·³è¿‡å¤šéƒ¨ä»¶/æ›¿ä»£éƒ¨åˆ†"
 
-#: src/lang.c:2324
+#: src/lang.c:2380
 msgid "# If ON strip multipart/alternative messages automatically\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±è‡ªåŠ¨æˆªé™¤å¤šéƒ¨ä»¶/æ›¿ä»£æ¶ˆæ¯\n"
 
-#: src/lang.c:2328
+#: src/lang.c:2384
 msgid "Enable detection of verbatim blocks? <SPACE> toggles & <CR> sets."
 msgstr "å¯ç”¨å­—é¢åŒºå—çš„ä¾¦æµ‹ï¼Ÿ<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2329
+#: src/lang.c:2385
 msgid "Detection of verbatim blocks"
 msgstr "å­—é¢åŒºå—çš„ä¾¦æµ‹"
 
-#: src/lang.c:2330
+#: src/lang.c:2386
 msgid "# If ON detect verbatim blocks in articles\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±åœ¨æ–‡ç« ä¸­ä¾¦æµ‹å­—é¢åŒºå—\n"
 
-#: src/lang.c:2335
+#: src/lang.c:2391
 msgid "A regex used to decide which lines to show in col_quote."
 msgstr "ç”¨æ¥å†³å®šåœ¨ col_quote ä¸­è¦æ˜¾ç¤ºå“ªäº›è¡Œçš„ regexã€‚"
 
-#: src/lang.c:2336
+#: src/lang.c:2392
 msgid "Regex used to show quoted lines"
 msgstr "ç”¨æ¥æ˜¾ç¤ºå¼•è¨€è¡Œçš„ regex"
 
-#: src/lang.c:2337
+#: src/lang.c:2393
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
@@ -6770,15 +6915,15 @@ msgstr ""
 "# æ­£åˆ™è¡¨è¾¾å¼ã€‚å¼•è¨€è¡Œå°†ä»¥ col_quote æ˜¾ç¤ºã€‚\n"
 "# å¦‚æžœæ‚¨ä¿ç•™å®ƒä¸ºç©ºç™½ï¼Œtin å°†ä½¿ç”¨å†…ç½®çš„é»˜è®¤å€¼ã€‚\n"
 
-#: src/lang.c:2343
+#: src/lang.c:2399
 msgid "A regex used to decide which lines to show in col_quote2."
 msgstr "ç”¨æ¥å†³å®šè¦ä»¥ col_quote2 æ˜¾ç¤ºå“ªäº›è¡Œçš„ regexã€‚"
 
-#: src/lang.c:2344
+#: src/lang.c:2400
 msgid "Regex used to show twice quoted l."
 msgstr "ç”¨æ¥æ˜¾ç¤ºç¬¬äºŒå±‚å¼•è¨€è¡Œçš„ regexã€‚"
 
-#: src/lang.c:2345
+#: src/lang.c:2401
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted twice. Twice quoted lines are shown in col_quote2.\n"
@@ -6788,15 +6933,15 @@ msgstr ""
 "# æ­£åˆ™è¡¨è¾¾å¼ã€‚ç¬¬äºŒå±‚å¼•è¨€è¡Œå°†ä»¥ col_quote2 æ˜¾ç¤ºã€‚\n"
 "# å¦‚æžœæ‚¨ä¿ç•™å®ƒä¸ºç©ºç™½ï¼Œtin å°†ä½¿ç”¨å†…ç½®çš„é»˜è®¤å€¼ã€‚\n"
 
-#: src/lang.c:2351
+#: src/lang.c:2407
 msgid "A regex used to decide which lines to show in col_quote3."
 msgstr "ç”¨æ¥å†³å®šè¦ä»¥ col_quote3 æ˜¾ç¤ºå“ªäº›è¡Œçš„ regexã€‚"
 
-#: src/lang.c:2352
+#: src/lang.c:2408
 msgid "Regex used to show >= 3 times q.l."
 msgstr "ç”¨æ¥æ˜¾ç¤º >= 3 å±‚å¼•è¨€è¡Œçš„ regexã€‚"
 
-#: src/lang.c:2353
+#: src/lang.c:2409
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
@@ -6806,32 +6951,32 @@ msgstr ""
 "# æ­£åˆ™è¡¨è¾¾å¼ã€‚>= 3 å±‚å¼•è¨€è¡Œå°†ä»¥ col_quote3 æ˜¾ç¤ºã€‚\n"
 "# å¦‚æžœæ‚¨ä¿ç•™å®ƒä¸ºç©ºç™½ï¼Œtin å°†ä½¿ç”¨å†…ç½®çš„é»˜è®¤å€¼ã€‚\n"
 
-#: src/lang.c:2359
+#: src/lang.c:2415
 #, fuzzy
 msgid "Enable detection of external quotes? <SPACE> toggles & <CR> sets."
 msgstr "å¯ç”¨å­—é¢åŒºå—çš„ä¾¦æµ‹ï¼Ÿ<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2360
+#: src/lang.c:2416
 #, fuzzy
 msgid "Detection of external quotes"
 msgstr "å­—é¢åŒºå—çš„ä¾¦æµ‹"
 
-#: src/lang.c:2361
+#: src/lang.c:2417
 #, fuzzy
 msgid "# If ON detect quoted text from external sources in articles\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±åœ¨æ–‡ç« ä¸­ä¾¦æµ‹å­—é¢åŒºå—\n"
 
-#: src/lang.c:2365
+#: src/lang.c:2421
 #, fuzzy
 msgid "A regex used to decide which lines to show in col_extquote."
 msgstr "ç”¨æ¥å†³å®šåœ¨ col_quote ä¸­è¦æ˜¾ç¤ºå“ªäº›è¡Œçš„ regexã€‚"
 
-#: src/lang.c:2366
+#: src/lang.c:2422
 #, fuzzy
 msgid "Regex used to show quotes from external sources"
 msgstr "ç”¨æ¥æ˜¾ç¤ºå¼•è¨€è¡Œçš„ regex"
 
-#: src/lang.c:2367
+#: src/lang.c:2423
 #, fuzzy
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
@@ -6842,15 +6987,15 @@ msgstr ""
 "# æ­£åˆ™è¡¨è¾¾å¼ã€‚ç¬¬äºŒå±‚å¼•è¨€è¡Œå°†ä»¥ col_quote2 æ˜¾ç¤ºã€‚\n"
 "# å¦‚æžœæ‚¨ä¿ç•™å®ƒä¸ºç©ºç™½ï¼Œtin å°†ä½¿ç”¨å†…ç½®çš„é»˜è®¤å€¼ã€‚\n"
 
-#: src/lang.c:2374
+#: src/lang.c:2430
 msgid "A regex used to decide which words to show in col_markslashes."
 msgstr "ç”¨æ¥å†³å®šè¦ä»¥ col_markslashes æ˜¾ç¤ºå“ªäº›å­—è¯çš„ regexã€‚"
 
-#: src/lang.c:2375
+#: src/lang.c:2431
 msgid "Regex used to highlight /slashes/"
 msgstr "ç”¨æ¥é«˜äº®åº¦æ ‡ç¤º /æ–œçº¿/ çš„ regex"
 
-#: src/lang.c:2376
+#: src/lang.c:2432
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '/' are to be shown in col_markslashes.\n"
@@ -6860,15 +7005,15 @@ msgstr ""
 "# å°†ä»¥ col_markslashes æ˜¾ç¤ºçš„æ­£åˆ™è¡¨è¾¾å¼ã€‚\n"
 "# å¦‚æžœæ‚¨ä¿ç•™å®ƒä¸ºç©ºç™½ï¼Œtin å°†ä½¿ç”¨å†…ç½®çš„é»˜è®¤å€¼ã€‚\n"
 
-#: src/lang.c:2382
+#: src/lang.c:2438
 msgid "A regex used to decide which words to show in col_markstars."
 msgstr "ç”¨æ¥å†³å®šè¦ä»¥ col_markstars æ˜¾ç¤ºå“ªäº›å­—è¯çš„ regexã€‚"
 
-#: src/lang.c:2383
+#: src/lang.c:2439
 msgid "Regex used to highlight *stars*"
 msgstr "ç”¨æ¥é«˜äº®åº¦æ˜¾ç¤º *æ˜Ÿå·* çš„ regex"
 
-#: src/lang.c:2384
+#: src/lang.c:2440
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '*' are to be shown in col_markstars.\n"
@@ -6878,15 +7023,15 @@ msgstr ""
 "# å°†ä»¥ col_markstars æ˜¾ç¤ºçš„æ­£åˆ™è¡¨è¾¾å¼ã€‚\n"
 "# å¦‚æžœæ‚¨ä¿ç•™å®ƒä¸ºç©ºç™½ï¼Œtin å°†ä½¿ç”¨å†…ç½®çš„é»˜è®¤å€¼ã€‚\n"
 
-#: src/lang.c:2390
+#: src/lang.c:2446
 msgid "A regex used to decide which words to show in col_markstroke."
 msgstr "ç”¨æ¥å†³å®šè¦ä»¥ col_markstroke æ˜¾ç¤ºå“ªäº›å­—è¯çš„ regexã€‚"
 
-#: src/lang.c:2391
+#: src/lang.c:2447
 msgid "Regex used to highlight -strokes-"
 msgstr "ç”¨æ¥é«˜äº®åº¦æ˜¾ç¤º -æ¨ªçº¿- çš„ regex"
 
-#: src/lang.c:2392
+#: src/lang.c:2448
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '-' are to be shown in col_markstroke.\n"
@@ -6896,15 +7041,15 @@ msgstr ""
 "# å°†ä»¥ col_markstroke æ˜¾ç¤ºçš„æ­£åˆ™è¡¨è¾¾å¼ã€‚\n"
 "# å¦‚æžœæ‚¨ä¿ç•™å®ƒä¸ºç©ºç™½ï¼Œtin å°†ä½¿ç”¨å†…ç½®çš„é»˜è®¤å€¼ã€‚\n"
 
-#: src/lang.c:2398
+#: src/lang.c:2454
 msgid "A regex used to decide which words to show in col_markdash."
 msgstr "ç”¨æ¥å†³å®šè¦ä»¥ col_markdash æ˜¾ç¤ºå“ªäº›å­—è¯çš„ regexã€‚"
 
-#: src/lang.c:2399
+#: src/lang.c:2455
 msgid "Regex used to highlight _underline_"
 msgstr "ç”¨æ¥é«˜äº®åº¦æ˜¾ç¤º _åº•çº¿_ çš„ regex"
 
-#: src/lang.c:2400
+#: src/lang.c:2456
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '_' are to be shown in col_markdash.\n"
@@ -6914,15 +7059,15 @@ msgstr ""
 "# å°†ä»¥ col_markdash æ˜¾ç¤ºçš„æ­£åˆ™è¡¨è¾¾å¼ã€‚\n"
 "# å¦‚æžœæ‚¨ä¿ç•™å®ƒä¸ºç©ºç™½ï¼Œtin å°†ä½¿ç”¨å†…ç½®çš„é»˜è®¤å€¼ã€‚\n"
 
-#: src/lang.c:2406
+#: src/lang.c:2462
 msgid "A regex used to find Subject prefixes to remove.  Use '|' as separator."
 msgstr "ç”¨æ¥å¯»æ‰¾è¦ç§»é™¤çš„ä¸»æ—¨å‰ç¼€çš„ regexã€‚ ä½¿ç”¨â€˜|â€™ä½œä¸ºåˆ†éš”ç¬¦å·ã€‚"
 
-#: src/lang.c:2407
+#: src/lang.c:2463
 msgid "Regex with Subject prefixes"
 msgstr "ä¸»æ—¨å‰ç¼€çš„ regex"
 
-#: src/lang.c:2408
+#: src/lang.c:2464
 msgid ""
 "# A regular expression that tin will use to find Subject prefixes\n"
 "# which will be removed before showing the header.\n"
@@ -6930,15 +7075,15 @@ msgstr ""
 "# tin å°†ç”¨æ¥å¯»æ‰¾ä¸»æ—¨å‰ç¼€çš„æ­£åˆ™è¡¨è¾¾å¼\n"
 "# äºŽæ˜¾ç¤ºæ ‡å¤´ä¹‹å‰å°†è¢«ç§»é™¤ã€‚\n"
 
-#: src/lang.c:2413
+#: src/lang.c:2469
 msgid "A regex used to find Subject suffixes to remove.  Use '|' as separator."
 msgstr "ç”¨æ¥å¯»æ‰¾è¦ç§»é™¤çš„ä¸»æ—¨åŽç¼€çš„ regexã€‚ ä½¿ç”¨â€˜|â€™ä½œä¸ºåˆ†éš”ç¬¦å·ã€‚"
 
-#: src/lang.c:2414
+#: src/lang.c:2470
 msgid "Regex with Subject suffixes"
 msgstr "ä¸»æ—¨åŽç¼€çš„ regex"
 
-#: src/lang.c:2415
+#: src/lang.c:2471
 msgid ""
 "# A regular expression that tin will use to find Subject suffixes\n"
 "# which will be removed when replying or posting followup.\n"
@@ -6946,45 +7091,45 @@ msgstr ""
 "# tin å°†ç”¨æ¥å¯»æ‰¾ä¸»æ—¨åŽç¼€çš„æ­£åˆ™è¡¨è¾¾å¼\n"
 "# äºŽå›žå¤æˆ–è·Ÿè´´æ—¶å°†è¢«ç§»é™¤ã€‚\n"
 
-#: src/lang.c:2420
+#: src/lang.c:2476
 msgid "A regex used to find the begin of a verbatim block."
 msgstr "ç”¨æ¥æ‰¾å¯»å­—é¢åŒºå—å¼€å§‹çš„ regexã€‚"
 
-#: src/lang.c:2421
+#: src/lang.c:2477
 msgid "Regex for begin of a verbatim block"
 msgstr "ç”¨äºŽå­—é¢åŒºå—å¼€å§‹çš„ regex"
 
-#: src/lang.c:2422
+#: src/lang.c:2478
 msgid ""
 "# A regular expression that tin will use to find the begin of\n"
 "# a verbatim block.\n"
 msgstr "# tin å°†ç”¨æ¥æ‰¾å¯»å­—é¢åŒºå—å¼€å§‹çš„æ­£åˆ™è¡¨è¾¾å¼ã€‚\n"
 
-#: src/lang.c:2427
+#: src/lang.c:2483
 msgid "A regex used to find the end of a verbatim block."
 msgstr "ç”¨æ¥æ‰¾å¯»å­—é¢åŒºå—ç»“æŸçš„ regexã€‚"
 
-#: src/lang.c:2428
+#: src/lang.c:2484
 msgid "Regex for end of a verbatim block"
 msgstr "ç”¨äºŽå­—é¢åŒºå—ç»“æŸçš„ regex"
 
-#: src/lang.c:2429
+#: src/lang.c:2485
 msgid ""
 "# A regular expression that tin will use to find the end of\n"
 "# a verbatim block.\n"
 msgstr "# tin å°†ç”¨æ¥æ‰¾å¯»å­—é¢åŒºå—ç»“æŸçš„æ­£åˆ™è¡¨è¾¾å¼ã€‚\n"
 
-#: src/lang.c:2434
+#: src/lang.c:2490
 msgid ""
 "Enter name and options for external MIME viewer, --internal for built-in "
 "viewer"
 msgstr "è¾“å…¥å¤–éƒ¨ MIME æŸ¥çœ‹å™¨çš„åç§°å’Œé€‰é¡¹ï¼Œ--internal è¡¨ç¤ºå†…ç½®æŸ¥çœ‹å™¨"
 
-#: src/lang.c:2435
+#: src/lang.c:2491
 msgid "MIME binary content viewer"
 msgstr "MIME äºŒè¿›åˆ¶å†…å®¹æŸ¥çœ‹å™¨"
 
-#: src/lang.c:2436
+#: src/lang.c:2492
 #, fuzzy
 msgid ""
 "# If --internal automatically use the built in MIME viewer for non-text\n"
@@ -6998,15 +7143,15 @@ msgstr ""
 "# å¦åˆ™è¯·æŒ‡å®šå¤–éƒ¨æŸ¥çœ‹å™¨ç¨‹åº (ä¾‹ï¼šmetamail) æˆ–ä¿æŒç©ºç™½ä»¥\n"
 "# è¡¨ç¤ºä¸è¦è‡ªåŠ¨æŸ¥çœ‹\n"
 
-#: src/lang.c:2443
+#: src/lang.c:2499
 msgid "Confirm before starting non-text viewing program"
 msgstr "å¯åŠ¨éžçº¯æ–‡æœ¬æŸ¥çœ‹ç¨‹åºä¹‹å‰å…ˆç¡®è®¤"
 
-#: src/lang.c:2444
+#: src/lang.c:2500
 msgid "Ask before using MIME viewer"
 msgstr "ä½¿ç”¨ MIME æŸ¥çœ‹å™¨ä¹‹å‰å…ˆè¯¢é—®"
 
-#: src/lang.c:2445
+#: src/lang.c:2501
 msgid ""
 "# If ON tin will ask before using metamail to display MIME messages\n"
 "# this only happens if metamail_prog is set to something\n"
@@ -7014,35 +7159,35 @@ msgstr ""
 "# å¦‚æžœæ‰“å¼€ï¼Œtin å°†äºŽä½¿ç”¨ metamail æ˜¾ç¤º MIME æ¶ˆæ¯ä¹‹å‰å…ˆè¯¢é—®\n"
 "# åªæœ‰å½“ metamail_prog å·²è®¾ç½®ä¸ºæŸä¸ªå€¼æ—¶ï¼Œè¿™æ‰ä¼šå‘ç”Ÿ\n"
 
-#: src/lang.c:2450
+#: src/lang.c:2506
 msgid "Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 msgstr "ç¦»å¼€æ—¶è¯¢é—®æ˜¯å¦å°†ç¾¤ç»„æ ‡è®°ä¸ºå·²è¯»ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2451
+#: src/lang.c:2507
 msgid "Catchup read groups when quitting"
 msgstr "ç¦»å¼€æ—¶å°†å·²è¯»ç¾¤ç»„è®¾å›žæœªè¯»"
 
-#: src/lang.c:2452
+#: src/lang.c:2508
 msgid "# If ON ask user if read groups should all be marked read\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±è¯¢é—®ç”¨æˆ·æ˜¯å¦æ‰€æœ‰å·²è¯»ç¾¤ç»„åº”è¯¥éƒ½è¢«æ ‡è®°ä¸ºå·²è¯»\n"
 
-#: src/lang.c:2457
+#: src/lang.c:2513
 msgid "Catchup group using left key"
 msgstr "ä½¿ç”¨å‘å·¦é”®å°†ç¾¤ç»„è®¾å›žæœªè¯»"
 
-#: src/lang.c:2458
+#: src/lang.c:2514
 msgid "# If ON catchup group/thread when leaving with the left arrow key.\n"
 msgstr "# å¦‚æžœæ‰“å¼€åˆ™å½“ä»¥å‘å·¦é”®ç¦»å¼€æ—¶ï¼Œå°†ç¾¤ç»„/è®¨è®ºä¸²è®¾å›žæœªè¯»ã€‚\n"
 
-#: src/lang.c:2463
+#: src/lang.c:2519
 msgid "Catchup thread by using left key"
 msgstr "ä½¿ç”¨å‘å·¦é”®å°†è®¨è®ºä¸²è®¾å›žæœªè¯»"
 
-#: src/lang.c:2469
+#: src/lang.c:2525
 msgid "Which actions require confirmation"
 msgstr "å“ªäº›åŠ¨ä½œéœ€è¦ç¡®è®¤"
 
-#: src/lang.c:2470
+#: src/lang.c:2526
 #, fuzzy
 msgid ""
 "# What should we ask confirmation for.\n"
@@ -7065,52 +7210,52 @@ msgstr ""
 "#   4 = å¤šéƒ¨ä»¶ä¸»æ—¨\n"
 "#   5 = ç™¾åˆ†æ¯”åŒ¹é…\n"
 
-#: src/lang.c:2484
+#: src/lang.c:2540
 msgid "'Mark as (un)read' ignores tags"
 msgstr "â€˜æ ‡è®°ä¸º(æœª)å·²è¯»â€™å¿½ç•¥æ ‡è®°"
 
-#: src/lang.c:2485
+#: src/lang.c:2541
 msgid ""
 "# If ON the 'Mark as (un)read' function marks only the current article.\n"
 msgstr "# å¦‚æžœæ‰“å¼€åˆ™â€˜æ ‡è®°ä¸º(æœª)å·²è¯»â€™åŠŸèƒ½åªä¼šæ ‡è®°ç›®å‰çš„æ–‡ç« ã€‚\n"
 
-#: src/lang.c:2489
+#: src/lang.c:2545
 msgid "Program to run to open URLs, <CR> sets, <ESC> cancels."
 msgstr "è¿è¡Œä»¥æ‰“å¼€ç½‘å€çš„ç¨‹åºï¼Œ<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2490
+#: src/lang.c:2546
 msgid "Program that opens URLs"
 msgstr "æ‰“å¼€ç½‘å€çš„ç¨‹åº"
 
-#: src/lang.c:2491
+#: src/lang.c:2547
 msgid "# The program used to open URLs. The actual URL will be appended\n"
 msgstr "# ç”¨æ¥æ‰“å¼€ç½‘å€çš„ç¨‹åºã€‚å°†ä¼šé™„åŠ å®žé™…çš„ç½‘å€\n"
 
-#: src/lang.c:2496
+#: src/lang.c:2552
 msgid "Use mouse in xterm"
 msgstr "åœ¨ xterm ä¸­ä½¿ç”¨é¼ æ ‡"
 
-#: src/lang.c:2497
+#: src/lang.c:2553
 msgid "# If ON enable mouse button support on xterm terminals\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±å¯ç”¨ xterm ç»ˆç«¯æœºå¯¹äºŽé¼ æ ‡æŒ‰é’®çš„æ”¯æŒ\n"
 
-#: src/lang.c:2503
+#: src/lang.c:2559
 msgid "Use scroll keys on keypad"
 msgstr "ä½¿ç”¨æ•°å­—é”®ç›˜ä¸Šçš„å·åŠ¨é”®"
 
-#: src/lang.c:2504
+#: src/lang.c:2560
 msgid "# If ON enable scroll keys on terminals that support it\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±åœ¨æœ‰æ”¯æŒå·åŠ¨é”®çš„ç»ˆç«¯æœºä¸Šå¯ç”¨å®ƒ\n"
 
-#: src/lang.c:2509
+#: src/lang.c:2565
 msgid "Enter maximum number of article to get. <CR> sets."
 msgstr "è¾“å…¥è¦æå–æ–‡ç« çš„æœ€å¤§å€¼æ•°é‡ã€‚<CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2510
+#: src/lang.c:2566
 msgid "Number of articles to get"
 msgstr "è¦æå–æ–‡ç« çš„æ•°é‡"
 
-#: src/lang.c:2511
+#: src/lang.c:2567
 msgid ""
 "# Number of articles to get (0=no limit), if negative sets maximum number\n"
 "# of already read articles to be read before first unread one\n"
@@ -7118,28 +7263,28 @@ msgstr ""
 "# è¦æå–æ–‡ç« çš„æ•°é‡ (0=æ— é™åˆ¶)ï¼Œå¦‚æžœä¸ºè´Ÿå°±è®¾ç½®\n"
 "# ä¸ºç¬¬ä¸€ç¯‡æœªè¯»æ–‡ç« ä¹‹å‰è¦è¯»å–çš„å·²è¯»æ–‡ç« æœ€å¤§å€¼\n"
 
-#: src/lang.c:2516
+#: src/lang.c:2572
 msgid "Enter number of days article is considered recent. <CR> sets."
 msgstr "è¾“å…¥è¢«è®¤ä¸ºæœ€è¿‘æ–‡ç« çš„æ—¥æ•°ã€‚<CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2517
+#: src/lang.c:2573
 msgid "Article recentness time limit"
 msgstr "æœ€è¿‘æ–‡ç« çš„æ—¶é—´é™åˆ¶"
 
-#: src/lang.c:2518
+#: src/lang.c:2574
 msgid "# Number of days in which article is considered recent, (0=OFF)\n"
 msgstr "# è¢«è®¤ä¸ºæ˜¯æœ€è¿‘æ–‡ç« æ‰€éœ€çš„æ—¥æ•°ï¼Œ(0=å…³é—­)\n"
 
-#: src/lang.c:2522
+#: src/lang.c:2578
 msgid ""
 "WILDMAT for normal wildcards, REGEX for full regular expression matching."
 msgstr "WILDMAT ç”¨äºŽä¸€èˆ¬é€šé…ç¬¦ï¼ŒREGEX ç”¨äºŽå®Œæ•´æ­£åˆ™è¡¨è¾¾å¼åŒ¹é…ã€‚"
 
-#: src/lang.c:2523
+#: src/lang.c:2579
 msgid "Wildcard matching"
 msgstr "é€šé…ç¬¦åŒ¹é…"
 
-#: src/lang.c:2524
+#: src/lang.c:2580
 msgid ""
 "# Wildcard matching\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7151,59 +7296,59 @@ msgstr ""
 "# * 0 = wildmat\n"
 "#   1 = regex\n"
 
-#: src/lang.c:2531
+#: src/lang.c:2587
 msgid "Enter minimal score before an article is marked killed. <CR> sets."
 msgstr "è¾“å…¥æ–‡ç« è¢«æ ‡è®°ç é™¤ä¹‹å‰çš„æœ€å°‘åˆ†æ•°ã€‚<CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2532
+#: src/lang.c:2588
 msgid "Score limit (kill)"
 msgstr "åˆ†æ•°é™åˆ¶ (ç é™¤)"
 
-#: src/lang.c:2533
+#: src/lang.c:2589
 msgid "# Score limit before an article is marked killed\n"
 msgstr "# æ–‡ç« è¢«æ ‡è®°ç é™¤ä¹‹å‰çš„åˆ†æ•°é™åˆ¶\n"
 
-#: src/lang.c:2537
+#: src/lang.c:2593
 msgid "Enter default score to kill articles. <CR> sets."
 msgstr "è¾“å…¥ç é™¤æ–‡ç« çš„ç¼ºçœåˆ†æ•°ã€‚<CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2538
+#: src/lang.c:2594
 msgid "Default score to kill articles"
 msgstr "ç é™¤æ–‡ç« çš„ç¼ºçœåˆ†æ•°"
 
-#: src/lang.c:2539
+#: src/lang.c:2595
 msgid "# Default score to kill articles\n"
 msgstr "# ç é™¤æ–‡ç« çš„ç¼ºçœåˆ†æ•°\n"
 
-#: src/lang.c:2543
+#: src/lang.c:2599
 msgid "Enter minimal score before an article is marked hot. <CR> sets."
 msgstr "è¾“å…¥æ–‡ç« è¢«æ ‡è®°çƒ­é—¨ä¹‹å‰çš„æœ€å°‘åˆ†æ•°ã€‚<CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2544
+#: src/lang.c:2600
 msgid "Score limit (select)"
 msgstr "åˆ†æ•°é™åˆ¶ (é€‰å–)"
 
-#: src/lang.c:2545
+#: src/lang.c:2601
 msgid "# Score limit before an article is marked hot\n"
 msgstr "# æ–‡ç« è¢«æ ‡è®°çƒ­é—¨ä¹‹å‰çš„åˆ†æ•°é™åˆ¶\n"
 
-#: src/lang.c:2549
+#: src/lang.c:2605
 msgid "Enter default score to select articles. <CR> sets."
 msgstr "è¾“å…¥é€‰å–æ–‡ç« çš„ç¼ºçœåˆ†æ•°ã€‚<CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2550
+#: src/lang.c:2606
 msgid "Default score to select articles"
 msgstr "é€‰å–æ–‡ç« çš„ç¼ºçœåˆ†æ•°"
 
-#: src/lang.c:2551
+#: src/lang.c:2607
 msgid "# Default score to select articles\n"
 msgstr "# é€‰å–æ–‡ç« çš„ç¼ºçœåˆ†æ•°\n"
 
-#: src/lang.c:2557
+#: src/lang.c:2613
 msgid "Use slrnface to show ''X-Face:''s"
 msgstr "ä½¿ç”¨ slrnface ä»¥æ˜¾ç¤ºâ€˜X-Face:â€™"
 
-#: src/lang.c:2558
+#: src/lang.c:2614
 msgid ""
 "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 "# Only useful when running in an xterm.\n"
@@ -7211,19 +7356,19 @@ msgstr ""
 "# å¦‚æžœæ‰“å¼€å°±ä½¿ç”¨ slrnface(1) ä»¥è§£è¯‘â€˜X-Face:â€™æ ‡å¤´ã€‚\n"
 "# åªæœ‰åœ¨ xterm ä¸­è¿è¡Œæ—¶æ‰æœ‰ä½œç”¨ã€‚\n"
 
-#: src/lang.c:2566
+#: src/lang.c:2622
 msgid "Use ANSI color"
 msgstr "ä½¿ç”¨ ANSI é¢œè‰²"
 
-#: src/lang.c:2567
+#: src/lang.c:2623
 msgid "# If ON using ANSI-color\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±ä½¿ç”¨ ANSI é¢œè‰²\n"
 
-#: src/lang.c:2572
+#: src/lang.c:2628
 msgid "Standard foreground color"
 msgstr "æ ‡å‡†å‰æ™¯é¢œè‰²"
 
-#: src/lang.c:2573
+#: src/lang.c:2629
 msgid ""
 "# Standard foreground color\n"
 "# Default: -1 (default color)\n"
@@ -7231,11 +7376,11 @@ msgstr ""
 "# æ ‡å‡†å‰æ™¯é¢œè‰²\n"
 "# ç¼ºçœï¼š-1 (ç¼ºçœé¢œè‰²)\n"
 
-#: src/lang.c:2579
+#: src/lang.c:2635
 msgid "Standard background color"
 msgstr "æ ‡å‡†èƒŒæ™¯é¢œè‰²"
 
-#: src/lang.c:2580
+#: src/lang.c:2636
 msgid ""
 "# Standard background color\n"
 "# Default: -1 (default color)\n"
@@ -7243,11 +7388,11 @@ msgstr ""
 "# æ ‡å‡†èƒŒæ™¯é¢œè‰²\n"
 "# ç¼ºçœï¼š-1 (ç¼ºçœé¢œè‰²)\n"
 
-#: src/lang.c:2586
+#: src/lang.c:2642
 msgid "Color for inverse text (background)"
 msgstr "åç™½æ–‡æœ¬çš„é¢œè‰² (èƒŒæ™¯)"
 
-#: src/lang.c:2587
+#: src/lang.c:2643
 msgid ""
 "# Color of background for inverse text\n"
 "# Default: 4 (blue)\n"
@@ -7255,11 +7400,11 @@ msgstr ""
 "# åç™½æ–‡æœ¬çš„èƒŒæ™¯é¢œè‰²\n"
 "# ç¼ºçœï¼š4 (è“è‰²)\n"
 
-#: src/lang.c:2593
+#: src/lang.c:2649
 msgid "Color for inverse text (foreground)"
 msgstr "åç™½æ–‡æœ¬çš„é¢œè‰² (å‰æ™¯)"
 
-#: src/lang.c:2594
+#: src/lang.c:2650
 msgid ""
 "# Color of foreground for inverse text\n"
 "# Default: 7 (white)\n"
@@ -7267,11 +7412,11 @@ msgstr ""
 "# åç™½æ–‡æœ¬çš„å‰æ™¯é¢œè‰²\n"
 "# ç¼ºçœï¼š7 (ç™½è‰²)\n"
 
-#: src/lang.c:2600
+#: src/lang.c:2656
 msgid "Color of text lines"
 msgstr "æ–‡æœ¬è¡Œçš„é¢œè‰²"
 
-#: src/lang.c:2601
+#: src/lang.c:2657
 msgid ""
 "# Color of text lines\n"
 "# Default: -1 (default color)\n"
@@ -7279,11 +7424,11 @@ msgstr ""
 "# æ–‡æœ¬è¡Œçš„é¢œè‰²\n"
 "# ç¼ºçœï¼š-1 (ç¼ºçœé¢œè‰²)\n"
 
-#: src/lang.c:2607
+#: src/lang.c:2663
 msgid "Color of mini help menu"
 msgstr "è¿·ä½ è¯´æ˜Žèœå•çš„é¢œè‰²"
 
-#: src/lang.c:2608
+#: src/lang.c:2664
 msgid ""
 "# Color of mini help menu\n"
 "# Default: 3 (brown)\n"
@@ -7291,11 +7436,11 @@ msgstr ""
 "# è¿·ä½ è¯´æ˜Žèœå•çš„é¢œè‰²\n"
 "# ç¼ºçœï¼š3 (æ£•è‰²)\n"
 
-#: src/lang.c:2614
+#: src/lang.c:2670
 msgid "Color of help text"
 msgstr "è¯´æ˜Žæ–‡æœ¬çš„é¢œè‰²"
 
-#: src/lang.c:2615
+#: src/lang.c:2671
 msgid ""
 "# Color of help pages\n"
 "# Default: -1 (default color)\n"
@@ -7303,11 +7448,11 @@ msgstr ""
 "# è¯´æ˜Žé¡µé¢çš„é¢œè‰²\n"
 "# ç¼ºçœï¼š-1 (ç¼ºçœé¢œè‰²)\n"
 
-#: src/lang.c:2621
+#: src/lang.c:2677
 msgid "Color of status messages"
 msgstr "çŠ¶æ€æ¶ˆæ¯çš„é¢œè‰²"
 
-#: src/lang.c:2622
+#: src/lang.c:2678
 msgid ""
 "# Color of messages in last line\n"
 "# Default: 6 (cyan)\n"
@@ -7315,11 +7460,11 @@ msgstr ""
 "# æœ€åŽä¸€è¡Œä¸­æ¶ˆæ¯çš„é¢œè‰²\n"
 "# ç¼ºçœï¼š6 (é’è‰²)\n"
 
-#: src/lang.c:2628
+#: src/lang.c:2684
 msgid "Color of quoted lines"
 msgstr "å¼•è¨€è¡Œçš„é¢œè‰²"
 
-#: src/lang.c:2629
+#: src/lang.c:2685
 msgid ""
 "# Color of quote-lines\n"
 "# Default: 2 (green)\n"
@@ -7327,11 +7472,11 @@ msgstr ""
 "# å¼•è¨€è¡Œçš„é¢œè‰²\n"
 "# ç¼ºçœï¼š2 (ç»¿è‰²)\n"
 
-#: src/lang.c:2635
+#: src/lang.c:2691
 msgid "Color of twice quoted line"
 msgstr "ç¬¬äºŒå±‚å¼•è¨€è¡Œçš„é¢œè‰²"
 
-#: src/lang.c:2636
+#: src/lang.c:2692
 msgid ""
 "# Color of twice quoted lines\n"
 "# Default: 3 (brown)\n"
@@ -7339,11 +7484,11 @@ msgstr ""
 "# ç¬¬äºŒå±‚å¼•è¨€è¡Œçš„é¢œè‰²\n"
 "# ç¼ºçœï¼š3 (æ£•è‰²)\n"
 
-#: src/lang.c:2642
+#: src/lang.c:2698
 msgid "Color of =>3 times quoted line"
 msgstr "=>3 å±‚å¼•è¨€è¡Œçš„é¢œè‰²"
 
-#: src/lang.c:2643
+#: src/lang.c:2699
 msgid ""
 "# Color of >=3 times quoted lines\n"
 "# Default: 4 (blue)\n"
@@ -7351,11 +7496,11 @@ msgstr ""
 "# =>3 å±‚å¼•è¨€è¡Œçš„é¢œè‰²\n"
 "# ç¼ºçœï¼š4 (è“è‰²)\n"
 
-#: src/lang.c:2649
+#: src/lang.c:2705
 msgid "Color of article header lines"
 msgstr "æ ‡å¤´è¡Œçš„é¢œè‰²"
 
-#: src/lang.c:2650
+#: src/lang.c:2706
 msgid ""
 "# Color of header-lines\n"
 "# Default: 2 (green)\n"
@@ -7363,11 +7508,11 @@ msgstr ""
 "# æ ‡å¤´è¡Œçš„é¢œè‰²\n"
 "# ç¼ºçœï¼š2 (ç»¿è‰²)\n"
 
-#: src/lang.c:2656
+#: src/lang.c:2712
 msgid "Color of actual news header fields"
 msgstr "å®žé™…æ–°é—»æ ‡å¤´å­—æ®µçš„é¢œè‰²"
 
-#: src/lang.c:2657
+#: src/lang.c:2713
 msgid ""
 "# Color of actual news header fields\n"
 "# Default: 9 (light red)\n"
@@ -7375,11 +7520,11 @@ msgstr ""
 "# å®žé™…æ–°é—»æ ‡å¤´å­—æ®µçš„é¢œè‰²\n"
 "# ç¼ºçœï¼š9 (æµ…çº¢è‰²)\n"
 
-#: src/lang.c:2663
+#: src/lang.c:2719
 msgid "Color of article subject lines"
 msgstr "æ–‡ç« ä¸»æ—¨è¡Œçš„é¢œè‰²"
 
-#: src/lang.c:2664
+#: src/lang.c:2720
 msgid ""
 "# Color of article subject\n"
 "# Default: 6 (cyan)\n"
@@ -7387,12 +7532,12 @@ msgstr ""
 "# æ–‡ç« ä¸»æ—¨è¡Œçš„é¢œè‰²\n"
 "# ç¼ºçœï¼š6 (é’è‰²)\n"
 
-#: src/lang.c:2670
+#: src/lang.c:2726
 #, fuzzy
 msgid "Color of external quotes"
 msgstr "æ–‡æœ¬è¡Œçš„é¢œè‰²"
 
-#: src/lang.c:2671
+#: src/lang.c:2727
 #, fuzzy
 msgid ""
 "# Color of quoted text from external sources\n"
@@ -7401,11 +7546,11 @@ msgstr ""
 "# å­—é¢åŒºå—çš„é¢œè‰²\n"
 "# ç¼ºçœï¼š5 (ç²‰çº¢)\n"
 
-#: src/lang.c:2677
+#: src/lang.c:2733
 msgid "Color of response counter"
 msgstr "å›žåº”è®¡æ•°å™¨çš„é¢œè‰²"
 
-#: src/lang.c:2678
+#: src/lang.c:2734
 msgid ""
 "# Color of response counter\n"
 "# Default: 2 (green)\n"
@@ -7413,11 +7558,11 @@ msgstr ""
 "# å›žåº”è®¡æ•°å™¨çš„é¢œè‰²\n"
 "# ç¼ºçœï¼š2 (ç»¿è‰²)\n"
 
-#: src/lang.c:2684
+#: src/lang.c:2740
 msgid "Color of sender (From:)"
 msgstr "å‘é€è€…çš„é¢œè‰² ( From: )"
 
-#: src/lang.c:2685
+#: src/lang.c:2741
 msgid ""
 "# Color of sender (From:)\n"
 "# Default: 2 (green)\n"
@@ -7425,11 +7570,11 @@ msgstr ""
 "# å‘é€è€…çš„é¢œè‰² ( From: )\n"
 "# ç¼ºçœï¼š2 (ç»¿è‰²)\n"
 
-#: src/lang.c:2691
+#: src/lang.c:2747
 msgid "Color of help/mail sign"
 msgstr "è¯´æ˜Ž/é‚®ä»¶ç­¾åçš„é¢œè‰²"
 
-#: src/lang.c:2692
+#: src/lang.c:2748
 msgid ""
 "# Color of Help/Mail-Sign\n"
 "# Default: 4 (blue)\n"
@@ -7437,11 +7582,11 @@ msgstr ""
 "# è¯´æ˜Ž/é‚®ä»¶ç­¾åçš„é¢œè‰²\n"
 "# ç¼ºçœï¼š4 (è“è‰²)\n"
 
-#: src/lang.c:2698
+#: src/lang.c:2754
 msgid "Color of signatures"
 msgstr "ç­¾åçš„é¢œè‰²"
 
-#: src/lang.c:2699
+#: src/lang.c:2755
 msgid ""
 "# Color of signature\n"
 "# Default: 4 (blue)\n"
@@ -7449,12 +7594,12 @@ msgstr ""
 "# ç­¾åçš„é¢œè‰²\n"
 "# ç¼ºçœï¼š4 (è“è‰²)\n"
 
-#: src/lang.c:2705
+#: src/lang.c:2761
 #, fuzzy
 msgid "Color of negative score"
 msgstr "æ–‡æœ¬è¡Œçš„é¢œè‰²"
 
-#: src/lang.c:2706
+#: src/lang.c:2762
 #, fuzzy
 msgid ""
 "# Color of negative score\n"
@@ -7463,12 +7608,12 @@ msgstr ""
 "# ç­¾åçš„é¢œè‰²\n"
 "# ç¼ºçœï¼š4 (è“è‰²)\n"
 
-#: src/lang.c:2712
+#: src/lang.c:2768
 #, fuzzy
 msgid "Color of positive score"
 msgstr "å›žåº”è®¡æ•°å™¨çš„é¢œè‰²"
 
-#: src/lang.c:2713
+#: src/lang.c:2769
 #, fuzzy
 msgid ""
 "# Color of positive score\n"
@@ -7477,11 +7622,11 @@ msgstr ""
 "# å›žåº”è®¡æ•°å™¨çš„é¢œè‰²\n"
 "# ç¼ºçœï¼š2 (ç»¿è‰²)\n"
 
-#: src/lang.c:2719
+#: src/lang.c:2775
 msgid "Color of highlighted URLs"
 msgstr "é«˜äº®åº¦ç½‘å€çš„é¢œè‰²"
 
-#: src/lang.c:2720
+#: src/lang.c:2776
 msgid ""
 "# Color of highlighted URLs\n"
 "# Default: -1 (default color)\n"
@@ -7489,11 +7634,11 @@ msgstr ""
 "# é«˜äº®åº¦ç½‘å€çš„é¢œè‰²\n"
 "# ç¼ºçœï¼š-1 (ç¼ºçœé¢œè‰²)\n"
 
-#: src/lang.c:2726
+#: src/lang.c:2782
 msgid "Color of verbatim blocks"
 msgstr "å­—é¢åŒºå—çš„é¢œè‰²"
 
-#: src/lang.c:2727
+#: src/lang.c:2783
 msgid ""
 "# Color of verbatim blocks\n"
 "# Default: 5 (pink)\n"
@@ -7501,11 +7646,11 @@ msgstr ""
 "# å­—é¢åŒºå—çš„é¢œè‰²\n"
 "# ç¼ºçœï¼š5 (ç²‰çº¢)\n"
 
-#: src/lang.c:2733
+#: src/lang.c:2789
 msgid "Color of highlighting with *stars*"
 msgstr "é«˜äº®åº¦æ˜¾ç¤º *æ˜Ÿå·* çš„é¢œè‰²"
 
-#: src/lang.c:2734
+#: src/lang.c:2790
 msgid ""
 "# Color of word highlighting with *stars*\n"
 "# Default: 11 (yellow)\n"
@@ -7513,11 +7658,11 @@ msgstr ""
 "# é«˜äº®åº¦æ˜¾ç¤º *æ˜Ÿå·* å­—è¯çš„é¢œè‰²\n"
 "# ç¼ºçœï¼š11 (é»„è‰²)\n"
 
-#: src/lang.c:2740
+#: src/lang.c:2796
 msgid "Color of highlighting with _dash_"
 msgstr "é«˜äº®åº¦æ˜¾ç¤º _åº•çº¿_ çš„é¢œè‰²"
 
-#: src/lang.c:2741
+#: src/lang.c:2797
 msgid ""
 "# Color of word highlighting with _dash_\n"
 "# Default: 13 (light pink)\n"
@@ -7525,11 +7670,11 @@ msgstr ""
 "# é«˜äº®åº¦æ˜¾ç¤º _åº•çº¿_ å­—è¯çš„é¢œè‰²\n"
 "# ç¼ºçœï¼š13 (æµ…ç²‰çº¢)\n"
 
-#: src/lang.c:2747
+#: src/lang.c:2803
 msgid "Color of highlighting with /slash/"
 msgstr "é«˜äº®åº¦æ˜¾ç¤º /æ–œçº¿/ çš„é¢œè‰²"
 
-#: src/lang.c:2748
+#: src/lang.c:2804
 msgid ""
 "# Color of word highlighting with /slash/\n"
 "# Default: 14 (light cyan)\n"
@@ -7537,11 +7682,11 @@ msgstr ""
 "# é«˜äº®åº¦æ˜¾ç¤º /æ–œçº¿/ å­—è¯çš„é¢œè‰²\n"
 "# ç¼ºçœï¼š14 (æµ…è“ç»¿è‰²)\n"
 
-#: src/lang.c:2754
+#: src/lang.c:2810
 msgid "Color of highlighting with -stroke-"
 msgstr "é«˜äº®åº¦æ˜¾ç¤º -æ¨ªçº¿- çš„é¢œè‰²"
 
-#: src/lang.c:2755
+#: src/lang.c:2811
 msgid ""
 "# Color of word highlighting with -stroke-\n"
 "# Default: 12 (light blue)\n"
@@ -7549,11 +7694,11 @@ msgstr ""
 "# é«˜äº®åº¦æ˜¾ç¤º -æ¨ªçº¿- å­—è¯çš„é¢œè‰²\n"
 "# ç¼ºçœï¼š12 (æµ…è“è‰²)\n"
 
-#: src/lang.c:2762
+#: src/lang.c:2818
 msgid "Attr. of highlighting with *stars*"
 msgstr "é«˜äº®åº¦æ˜¾ç¤º *æ˜Ÿå·* çš„å±žæ€§"
 
-#: src/lang.c:2763
+#: src/lang.c:2819
 msgid ""
 "# Attributes of word highlighting on mono terminals\n"
 "# Possible values are:\n"
@@ -7581,11 +7726,11 @@ msgstr ""
 "# é«˜äº®åº¦æ˜¾ç¤º *æ˜Ÿå·* å­—è¯çš„å±žæ€§\n"
 "# ç¼ºçœï¼š6 (ç²—ä½“)\n"
 
-#: src/lang.c:2778
+#: src/lang.c:2834
 msgid "Attr. of highlighting with _dash_"
 msgstr "é«˜äº®åº¦æ˜¾ç¤º _åº•çº¿_ çš„å±žæ€§"
 
-#: src/lang.c:2779
+#: src/lang.c:2835
 msgid ""
 "# Attribute of word highlighting with _dash_\n"
 "# Default: 2 (best highlighting)\n"
@@ -7593,11 +7738,11 @@ msgstr ""
 "# é«˜äº®åº¦æ˜¾ç¤º _åº•çº¿_ å­—è¯çš„å±žæ€§\n"
 "# ç¼ºçœï¼š2 (æœ€å¥½é«˜äº®åº¦æ˜¾ç¤º)\n"
 
-#: src/lang.c:2785
+#: src/lang.c:2841
 msgid "Attr. of highlighting with /slash/"
 msgstr "é«˜äº®åº¦æ˜¾ç¤º /æ–œçº¿/ çš„å±žæ€§"
 
-#: src/lang.c:2786
+#: src/lang.c:2842
 msgid ""
 "# Attribute of word highlighting with /slash/\n"
 "# Default: 5 (half bright)\n"
@@ -7605,11 +7750,11 @@ msgstr ""
 "# é«˜äº®åº¦æ˜¾ç¤º /æ–œçº¿/ å­—è¯çš„å±žæ€§\n"
 "# ç¼ºçœï¼š5 (åŠæ˜Žäº®)\n"
 
-#: src/lang.c:2792
+#: src/lang.c:2848
 msgid "Attr. of highlighting with -stroke-"
 msgstr "é«˜äº®åº¦æ˜¾ç¤º -æ¨ªçº¿- çš„å±žæ€§"
 
-#: src/lang.c:2793
+#: src/lang.c:2849
 msgid ""
 "# Attribute of word highlighting with -stroke-\n"
 "# Default: 3 (reverse video)\n"
@@ -7617,27 +7762,27 @@ msgstr ""
 "# é«˜äº®åº¦æ˜¾ç¤º /æ–œçº¿/ å­—è¯çš„å±žæ€§\n"
 "# ç¼ºçœï¼š3 (åç™½æ˜¾ç¤º)\n"
 
-#: src/lang.c:2799
+#: src/lang.c:2855
 msgid "URL highlighting in message body"
 msgstr "åœ¨æ¶ˆæ¯å†…æ–‡ä¸­é«˜äº®åº¦æ˜¾ç¤ºç½‘å€"
 
-#: src/lang.c:2800
+#: src/lang.c:2856
 msgid "# Enable URL highlighting?\n"
 msgstr "# å¯ç”¨é«˜äº®åº¦æ˜¾ç¤ºç½‘å€ï¼Ÿ\n"
 
-#: src/lang.c:2805
+#: src/lang.c:2861
 msgid "Word highlighting in message body"
 msgstr "åœ¨æ¶ˆæ¯å†…æ–‡ä¸­é«˜äº®åº¦æ˜¾ç¤ºå­—è¯"
 
-#: src/lang.c:2806
+#: src/lang.c:2862
 msgid "# Enable word highlighting?\n"
 msgstr "# å¯ç”¨é«˜äº®åº¦æ˜¾ç¤ºå­—è¯ï¼Ÿ\n"
 
-#: src/lang.c:2811
+#: src/lang.c:2867
 msgid "What to display instead of mark"
 msgstr "è¦æ˜¾ç¤ºä»€ä¹ˆä»¥ä»£æ›¿æ ‡è®°"
 
-#: src/lang.c:2812
+#: src/lang.c:2868
 msgid ""
 "# Should the leading and ending stars and dashes also be displayed,\n"
 "# even when they are highlighting marks?\n"
@@ -7653,56 +7798,70 @@ msgstr ""
 "#   1 = æ˜¯ï¼Œæ˜¾ç¤ºæ ‡è®°\n"
 "# * 2 = å°å‡ºç©ºæ ¼ä½œä¸ºæ›¿ä»£\n"
 
-#: src/lang.c:2821
+#: src/lang.c:2877
 msgid "Enter column number to wrap article lines to in the pager. <CR> sets."
 msgstr "è¾“å…¥åœ¨é¡µé¢åˆ‡æ¢ä¸­ç”¨æ¥å°†æ–‡ç« æ¢è¡Œçš„æ å·ã€‚<CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2822
+#: src/lang.c:2878
 msgid "Page line wrap column"
 msgstr "é¡µé¢è‡ªåŠ¨æ¢è¡Œæ å·"
 
-#: src/lang.c:2823
+#: src/lang.c:2879
 msgid "# Wrap article lines at column\n"
 msgstr "# æ–‡ç« æ¢è¡ŒäºŽæ å·\n"
 
-#: src/lang.c:2828
+#: src/lang.c:2883
+#, fuzzy
+msgid ""
+"If ON, don't break words when wrapping lines. <SPACE> toggles & <CR> sets."
+msgstr "é‡æ–°å¼ è´´æ–‡ç« æ—¶åŠ å…¥ç­¾åã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
+
+#: src/lang.c:2884
+msgid "Don't break words when wrapping"
+msgstr ""
+
+#: src/lang.c:2885
+msgid "# Don't break long lines inside a word but on <SPACE> or <TAB>\n"
+msgstr ""
+
+#: src/lang.c:2890
 msgid "Wrap around threads on next unread"
 msgstr "äºŽä¸‹ä¸€ç¯‡æœªè¯»å›žåˆ°å¼€å§‹éƒ¨åˆ†è®¨è®ºä¸²"
 
-#: src/lang.c:2829
+#: src/lang.c:2891
 msgid "# If ON wrap around threads on searching next unread article\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±äºŽæœç´¢ä¸‹ä¸€ç¯‡æœªè¯»æ–‡ç« æ—¶å›žåˆ°å¼€å§‹éƒ¨åˆ†è®¨è®ºä¸²\n"
 
-#: src/lang.c:2833
+#: src/lang.c:2895
 msgid "Enter default mail address (and fullname). <CR> sets."
 msgstr "è¾“å…¥ç¼ºçœé‚®ä»¶åœ°å€ (ä»¥åŠå…¨å)ã€‚<CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2834 src/lang.c:3405
+#: src/lang.c:2896 src/lang.c:3474
 msgid "Mail address (and fullname)"
 msgstr "é‚®ä»¶åœ°å€ (ä»¥åŠå…¨å)"
 
-#: src/lang.c:2835
+#: src/lang.c:2897
 msgid "# User's mail address (and fullname), if not username@host (fullname)\n"
 msgstr "# ç”¨æˆ·é‚®ä»¶åœ°å€ (ä»¥åŠå…¨å)ï¼Œå¦‚æžœä¸æ˜¯ ç”¨æˆ·å@ä¸»æœº (å…¨å)\n"
 
-#: src/lang.c:2840
+#: src/lang.c:2902
 msgid "Show empty Followup-To in editor"
 msgstr "åœ¨ç¼–è¾‘å™¨ä¸­æ˜¾ç¤ºç©ºçš„è·Ÿè´´"
 
-#: src/lang.c:2841
+#: src/lang.c:2903
 msgid "# If ON show empty Followup-To header when editing an article\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±äºŽç¼–è¾‘æ–‡ç« æ—¶æ˜¾ç¤ºç©ºçš„è·Ÿè´´æ ‡å¤´\n"
 
-#: src/lang.c:2845
+#: src/lang.c:2907
 msgid ""
 "Enter path/! command/--none to create your default signature. <CR> sets."
 msgstr "è¾“å…¥ path/! command/--none ä»¥åˆ›å»ºæ‚¨çš„ç¼ºçœç­¾åã€‚<CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2846
+#: src/lang.c:2908
 msgid "Create signature from path/command"
 msgstr "ä»Žè·¯å¾„/å‘½ä»¤åˆ›å»ºç­¾å"
 
-#: src/lang.c:2847
+#: src/lang.c:2909
 #, fuzzy, c-format
 msgid ""
 "# Signature path (random sigs)/file to be used when posting/replying\n"
@@ -7716,41 +7875,41 @@ msgstr ""
 "# sigfile=!å‘½ä»¤      è¿è¡Œå¤–éƒ¨å‘½ä»¤ä»¥äº§ç”Ÿç­¾å\n"
 "# sigfile=--none     ä¸é™„åŠ ç­¾å\n"
 
-#: src/lang.c:2855
+#: src/lang.c:2917
 msgid ""
 "Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 msgstr "å°†å•ç‹¬ä¸€è¡Œçš„â€œ-- â€å‰ç½®äºŽç­¾åã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2856
+#: src/lang.c:2918
 msgid "Prepend signature with \"-- \""
 msgstr "å°†â€œ-- â€å‰ç½®äºŽç­¾å"
 
-#: src/lang.c:2857
+#: src/lang.c:2919
 msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±å°†è™šçº¿â€˜\\n-- \\nâ€™å‰ç½®äºŽç­¾å\n"
 
-#: src/lang.c:2861
+#: src/lang.c:2923
 msgid "Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 msgstr "é‡æ–°å¼ è´´æ–‡ç« æ—¶åŠ å…¥ç­¾åã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2862
+#: src/lang.c:2924
 msgid "Add signature when reposting"
 msgstr "é‡æ–°å¼ è´´æ—¶åŠ å…¥ç­¾å"
 
-#: src/lang.c:2863
+#: src/lang.c:2925
 msgid "# If ON add signature to reposted articles\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±å°†ç­¾ååŠ å…¥é‡æ–°å¼ è´´çš„æ–‡ç« \n"
 
-#: src/lang.c:2867
+#: src/lang.c:2929
 #, fuzzy
 msgid "Enter quotation marks, %I for author's initials."
 msgstr "è¾“å…¥å¼•è¨€ç¬¦å·ã€%s æˆ– %S ä½œä¸ºä½œè€…çš„ç¼©å†™ã€‚"
 
-#: src/lang.c:2868
+#: src/lang.c:2930
 msgid "Characters used as quote-marks"
 msgstr "ä½œä¸ºå¼•è¨€ç¬¦å·ä½¿ç”¨çš„å­—ç¬¦"
 
-#: src/lang.c:2869
+#: src/lang.c:2931
 #, fuzzy
 msgid ""
 "# Characters used in quoting to followups and replies.\n"
@@ -7759,11 +7918,11 @@ msgstr ""
 "# å­—ç¬¦å·²ç”¨äºŽå¼•è¨€åˆ°è·Ÿéšå’Œå›žå¤ã€‚\n"
 "#â€˜_â€™è¢«ç½®æ¢ç”±â€˜ â€™ï¼Œ%sï¼Œ%S è¢«ç½®æ¢ä¾ä½œè€…è®¾ç½®ç¼©å†™ã€‚\n"
 
-#: src/lang.c:2875
+#: src/lang.c:2937
 msgid "Quoting behavior"
 msgstr "å¼•è¨€è¡Œä¸º"
 
-#: src/lang.c:2876
+#: src/lang.c:2938
 msgid ""
 "# How quoting should be handled when following up or replying.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7787,16 +7946,16 @@ msgstr ""
 "#   6 = å¼•ç”¨ç­¾åï¼Œå¼•ç”¨ç©ºè¡Œ\n"
 "#   7 = åŽ‹ç¼©å¼•è¨€ï¼Œå¼•ç”¨ç­¾åï¼Œå¼•ç”¨ç©ºè¡Œ\n"
 
-#: src/lang.c:2889 src/lang.c:2897 src/lang.c:2903
+#: src/lang.c:2951 src/lang.c:2959 src/lang.c:2965
 msgid ""
 "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 msgstr "%A åœ°å€ %D æ—¥æœŸ %F åœ°å€+åç§° %G ç¾¤ç»„åç§° %M æ¶ˆæ¯è¯†åˆ«å· %N åç§° %C åå­—"
 
-#: src/lang.c:2890
+#: src/lang.c:2952
 msgid "Quote line when following up"
 msgstr "è·Ÿè´´æ—¶çš„å¼•è¨€è¡Œ"
 
-#: src/lang.c:2891
+#: src/lang.c:2953
 msgid ""
 "# Format of quote line when mailing/posting/following-up an article\n"
 "# %A Address    %D Date   %F Addr+Name   %G Groupname   %M Message-ID\n"
@@ -7806,38 +7965,38 @@ msgstr ""
 "# %A åœ°å€    %D æ—¥æœŸ   %F Addr+åç§°   %G ç¾¤ç»„åç§°   %M æ¶ˆæ¯è¯†åˆ«å·\n"
 "# %N å…¨å  %C åå­—   %I ç¼©å†™\n"
 
-#: src/lang.c:2898
+#: src/lang.c:2960
 msgid "Quote line when cross-posting"
 msgstr "è·¨æ¿å¼ è´´æ—¶çš„å¼•è¨€è¡Œ"
 
-#: src/lang.c:2904
+#: src/lang.c:2966
 msgid "Quote line when mailing"
 msgstr "é‚®å¯„æ—¶çš„å¼•è¨€è¡Œ"
 
-#: src/lang.c:2909
+#: src/lang.c:2971
 msgid "If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 msgstr "å¦‚æžœæ‰“å¼€å°±åŒ…å« User-Agent: æ ‡å¤´ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2910
+#: src/lang.c:2972
 msgid "Insert 'User-Agent:' header"
 msgstr "æ’å…¥â€˜User-Agent:â€™æ ‡å¤´"
 
-#: src/lang.c:2911
+#: src/lang.c:2973
 msgid "# If ON include advertising User-Agent: header\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±åŒ…å«ä½œä¸ºé€šå‘Šçš„ User-Agent: æ ‡å¤´\n"
 
-#: src/lang.c:2916
+#: src/lang.c:2978
 msgid ""
 "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 "è¾“å…¥ç”¨äºŽ MIME çš„å­—ç¬¦é›†åç§° (ä¾‹å¦‚ï¼šUS-ASCII, ISO-8859-1, EUC-KR)ï¼Œ<CR> ä»¥è®¾"
 "ç½®ã€‚"
 
-#: src/lang.c:2917
+#: src/lang.c:2979
 msgid "MM_CHARSET"
 msgstr "MM_CHARSET"
 
-#: src/lang.c:2918
+#: src/lang.c:2980
 msgid ""
 "# Charset supported locally which is also used for MIME header and\n"
 "# Content-Type header.\n"
@@ -7853,40 +8012,40 @@ msgstr ""
 "# å¦‚æžœ MIME_STRICT_CHARSET äºŽç¼–è¯‘æ—¶æœŸè¢«å®šä¹‰ï¼Œé‚£ä¹ˆ mm_charset ä»¥å¤–çš„\n"
 "# å­—ç¬¦é›†å°†è¢«è®¤ä¸ºæ— æ³•æ˜¾ç¤ºï¼Œå¹¶ä¸”ä»¥â€˜ï¼Ÿâ€™çš„æ–¹å¼è¡¨è¿°ã€‚\n"
 
-#: src/lang.c:2928
+#: src/lang.c:2990
 msgid "MM_NETWORK_CHARSET"
 msgstr "MM_NETWORK_CHARSET"
 
-#: src/lang.c:2929
+#: src/lang.c:2991
 msgid "# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr "# åœ¨è´´æ–‡ä¸­ä½œä¸º MIME (å†…å®¹ç±»åž‹) æ ‡å¤´çš„å­—ç¬¦é›†ã€‚\n"
 
-#: src/lang.c:2933
+#: src/lang.c:2995
 msgid ""
 "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr "è¾“å…¥æœ¬åœ°å­—ç¬¦é›†åç§° (ä¾‹å¦‚ï¼šUS-ASCII, ISO-8859-1, EUC-KR)ï¼Œ<CR> ä»¥è®¾ç½®ã€‚"
 
-#: src/lang.c:2934
+#: src/lang.c:2996
 msgid "MM_LOCAL_CHARSET"
 msgstr "MM_LOCAL_CHARSET"
 
-#: src/lang.c:2935
+#: src/lang.c:2997
 msgid "# Charset supported locally.\n"
 msgstr "# æœ¬åœ°æ”¯æŒçš„å­—ç¬¦é›†ã€‚\n"
 
-#: src/lang.c:2942
+#: src/lang.c:3004
 msgid "Mailbox format"
 msgstr "ä¿¡ç®±æ ¼å¼"
 
-#: src/lang.c:2943
+#: src/lang.c:3005
 msgid "# Format of the mailbox.\n"
 msgstr "# ä¿¡ç®±çš„æ ¼å¼ã€‚\n"
 
-#: src/lang.c:2948
+#: src/lang.c:3010
 msgid "MIME encoding in news messages"
 msgstr "åœ¨æ–°é—»æ¶ˆæ¯ä¸­çš„ MIME ç¼–ç "
 
-#: src/lang.c:2949
+#: src/lang.c:3011
 msgid ""
 "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n"
 "# for mails and posts, if necessary. QP is efficient for most European\n"
@@ -7900,15 +8059,15 @@ msgstr ""
 "# è€Œ Base64 å¯¹äºŽåŒ…å«å¾ˆå¤š 8 æ¯”ç‰¹å­—ç¬¦çš„å¤šæ•° 8 æ¯”ç‰¹ä¸œäºšè¯¸è¯­ã€\n"
 "# å¸Œè…Šè¯­ä»¥åŠä¿„è¯­å­—ç¬¦é›†æ¥è¯´æ›´ä¸ºé€‚å½“ã€‚\n"
 
-#: src/lang.c:2957 src/lang.c:2978
+#: src/lang.c:3019 src/lang.c:3040
 msgid "Don't change unless you know what you are doing. <ESC> cancels."
 msgstr "ä¸è¦å˜æ›´ï¼Œé™¤éžæ‚¨çŸ¥é“æ‚¨åœ¨åšä»€ä¹ˆã€‚<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2958
+#: src/lang.c:3020
 msgid "Use 8bit characters in news headers"
 msgstr "åœ¨æ–°é—»æ ‡å¤´ä¸­ä½¿ç”¨ 8 æ¯”ç‰¹å­—ç¬¦"
 
-#: src/lang.c:2959
+#: src/lang.c:3021
 msgid ""
 "# If ON, 8bit characters in news headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -7920,28 +8079,28 @@ msgstr ""
 "# é™¤éž post_mime_encoding åŒæ ·ä¹Ÿè¢«è®¾ç½®ä¸º 8 æ¯”ç‰¹ï¼Œ\n"
 "# å¦åˆ™æ ‡å¤´ä¸­çš„ 8 æ¯”ç‰¹å­—ç¬¦å°†æ— è§†äºŽæ­¤å‚æ•°è€Œè¢«ç¼–ç ã€‚\n"
 
-#: src/lang.c:2966
+#: src/lang.c:3028
 msgid ""
 "Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr "è‡ªåŠ¨æŸ¥çœ‹å¤„ç†åŽæ–‡ä»¶<SPACE> åˆ‡æ¢ï¼Œ<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2967
+#: src/lang.c:3029
 msgid "View post-processed files"
 msgstr "æŸ¥çœ‹å¤„ç†åŽæ–‡ä»¶"
 
-#: src/lang.c:2968
+#: src/lang.c:3030
 msgid "# If set, post processed files will be opened in a viewer\n"
 msgstr "# å¦‚æžœè®¾ç½®ï¼Œå¤„ç†ä¹‹åŽçš„æ–‡ä»¶å°†åœ¨æŸ¥çœ‹å™¨ä¸­è¢«æ‰“å¼€\n"
 
-#: src/lang.c:2973
+#: src/lang.c:3035
 msgid "MIME encoding in mail messages"
 msgstr "é‚®ä»¶æ¶ˆæ¯ä¸­çš„ MIME ç¼–ç "
 
-#: src/lang.c:2979
+#: src/lang.c:3041
 msgid "Use 8bit characters in mail headers"
 msgstr "é‚®ä»¶æ ‡å¤´ä¸­ä½¿ç”¨ 8 æ¯”ç‰¹å­—ç¬¦"
 
-#: src/lang.c:2980
+#: src/lang.c:3042
 msgid ""
 "# If ON, 8bit characters in mail headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -7958,25 +8117,25 @@ msgstr ""
 "# ç¦æ­¢é‚®ä»¶æ ‡å¤´ä¸­çš„ 8 æ¯”ç‰¹å­—ç¬¦ï¼Œå› æ­¤å»ºè®®æ‚¨ä¸è¦å°†å®ƒæ‰“å¼€ï¼Œ\n"
 "# é™¤éžæ‚¨æœ‰æŸäº›å¼ºåˆ¶çš„åŽŸå› ã€‚\n"
 
-#: src/lang.c:2991
+#: src/lang.c:3053
 msgid "Strip blanks from ends of lines"
 msgstr "ä»Žè¡Œå°¾æˆªé™¤ç©ºç™½"
 
-#: src/lang.c:2992
+#: src/lang.c:3054
 msgid ""
 "# If ON strip blanks from ends of lines for faster display on slow "
 "terminals.\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±ä»Žè¡Œå°¾æˆªé™¤ç©ºç™½ï¼Œä»¥ä¾¿åœ¨è¾ƒæ…¢ç»ˆç«¯æœºä¸Šèƒ½è¾ƒå¿«æ˜¾ç¤ºã€‚\n"
 
-#: src/lang.c:2998
+#: src/lang.c:3060
 msgid "If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr "å¦‚æžœæ‰“å¼€å°±ä½¿ç”¨å­—é¢é‡è½¬è¯‘ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:2999
+#: src/lang.c:3061
 msgid "Transliteration"
 msgstr "å­—é¢é‡è½¬è¯‘"
 
-#: src/lang.c:3000
+#: src/lang.c:3062
 msgid ""
 "# If ON, use //TRANSLIT extension. This means that when a character cannot\n"
 "# be represented in the in the target character set, it can be approximated\n"
@@ -7986,11 +8145,11 @@ msgstr ""
 "# åœ¨ç›®æ ‡å­—ç¬¦é›†ä¸­è¢«è¡¨è¿°æ—¶ï¼Œå®ƒå¯ä»¥é€è¿‡ä¸€ä¸ª\n"
 "# æˆ–å¤šä¸ªå¤–è§‚ç±»ä¼¼çš„å­—ç¬¦æ‰€è¿‘ä¼¼æ˜¾ç¤ºã€‚\n"
 
-#: src/lang.c:3008
+#: src/lang.c:3070
 msgid "Send you a Cc/Bcc automatically"
 msgstr "è‡ªåŠ¨å‘é€ç»™æ‚¨ä¸€ä»½å‰¯æœ¬/å¯†ä»¶å‰¯æœ¬"
 
-#: src/lang.c:3009
+#: src/lang.c:3071
 msgid ""
 "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8006,25 +8165,25 @@ msgstr ""
 "#   2 = å¯†ä»¶å‰¯æœ¬\n"
 "#   3 = å‰¯æœ¬å’Œå¯†ä»¶å‰¯æœ¬\n"
 
-#: src/lang.c:3020
+#: src/lang.c:3082
 msgid "Hash algorithm for Cancel-Lock/Cancel-Key"
 msgstr ""
 
-#: src/lang.c:3021
+#: src/lang.c:3083
 msgid ""
 "# Hash algorithm for Cancel-Lock/Cancel-Key (default 'sha1')\n"
 "# Use 'none' to not generate Cancel-Lock headers.\n"
 msgstr ""
 
-#: src/lang.c:3027
+#: src/lang.c:3089
 msgid "Enter address elements about which you want to be warned. <CR> sets."
 msgstr "è¾“å…¥æ‚¨æƒ³è¦èŽ·å¾—ç›¸å…³è­¦å‘Šçš„åœ°å€å› ç´ ã€‚<CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:3028
+#: src/lang.c:3090
 msgid "Spamtrap warning address parts"
 msgstr "åžƒåœ¾é‚®ä»¶æŠ“å–è­¦å‘Šçš„åœ°å€éƒ¨åˆ†"
 
-#: src/lang.c:3029
+#: src/lang.c:3091
 msgid ""
 "# A comma-delimited list of address-parts you want to be warned\n"
 "# about when trying to reply by email.\n"
@@ -8032,27 +8191,27 @@ msgstr ""
 "# å½“æ‚¨å°è¯•ä»¥ç”µå­é‚®ä»¶å›žå¤æ—¶\n"
 "# æƒ³è¦èŽ·å¾—ç›¸å…³è­¦å‘Šè€Œä»¥é€—å·åˆ†éš”çš„åœ°å€éƒ¨åˆ†æ¸…å•ã€‚\n"
 
-#: src/lang.c:3034
+#: src/lang.c:3096
 msgid "Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr "è¾“å…¥ç­›é€‰å™¨æ¡ç›®ä¿æŒæœ‰æ•ˆçš„ç¼ºçœå¤©æ•°ã€‚<CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:3035
+#: src/lang.c:3097
 msgid "No. of days a filter entry is valid"
 msgstr "ç­›é€‰å™¨æ¡ç›®æœ‰æ•ˆå¤©æ•°"
 
-#: src/lang.c:3036
+#: src/lang.c:3098
 msgid "# Number of days a short term filter will be active\n"
 msgstr "# çŸ­æœŸç­›é€‰å™¨ä¿æŒä½œç”¨çš„å¤©æ•°\n"
 
-#: src/lang.c:3040
+#: src/lang.c:3102
 msgid "Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr "åŠ å…¥å·²å¼ è´´æ–‡ç« åˆ°ç­›é€‰å™¨ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:3041
+#: src/lang.c:3103
 msgid "Add posted articles to filter"
 msgstr "åŠ å…¥å·²å¼ è´´æ–‡ç« åˆ°ç­›é€‰å™¨"
 
-#: src/lang.c:3042
+#: src/lang.c:3104
 msgid ""
 "# If ON add posted articles which start a new thread to filter for\n"
 "# highlighting follow-ups\n"
@@ -8060,23 +8219,23 @@ msgstr ""
 "# å¦‚æžœæ‰“å¼€å°±åŠ å…¥å¼€å§‹æ–°è®¨è®ºä¸²çš„å·²å¼ è´´æ–‡ç« åˆ°ç­›é€‰å™¨\n"
 "# ä½œä¸ºé«˜äº®åº¦æ˜¾ç¤ºè·Ÿè´´\n"
 
-#: src/lang.c:3046
+#: src/lang.c:3108
 msgid "The directory where articles/threads are to be saved in mailbox format."
 msgstr "å°†ä»¥ mailbox æ ¼å¼ä¿å­˜çš„æ–‡ç« /è®¨è®ºä¸²ç›®å½•ä½ç½®ã€‚"
 
-#: src/lang.c:3047
+#: src/lang.c:3109
 msgid "Mail directory"
 msgstr "é‚®ä»¶ç›®å½•"
 
-#: src/lang.c:3048
+#: src/lang.c:3110
 msgid "# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr "# (-m) ä»¥ mailbox æ ¼å¼ä¿å­˜çš„æ–‡ç« /è®¨è®ºä¸²ç›®å½•ä½ç½®\n"
 
-#: src/lang.c:3053
+#: src/lang.c:3115
 msgid "Save articles in batch mode (-S)"
 msgstr "ä»¥æ‰¹æ¬¡æ¨¡å¼ä¿å­˜æ–‡ç«  (-S)"
 
-#: src/lang.c:3054
+#: src/lang.c:3116
 msgid ""
 "# If ON articles/threads will be saved in batch mode when save -S\n"
 "# or mail (-M/-N) is specified on the command line\n"
@@ -8084,41 +8243,41 @@ msgstr ""
 "# å¦‚æžœæ‰“å¼€å°±äºŽå‘½ä»¤è¡Œä¸ŠæŒ‡å®šä¿å­˜ -S æˆ–é‚®å¯„ (-M/-N) æ—¶\n"
 "# ä»¥æ‰¹æ¬¡æ¨¡å¼ä¿å­˜æ–‡ç« /è®¨è®ºä¸²\n"
 
-#: src/lang.c:3059
+#: src/lang.c:3121
 msgid "The directory where you want articles/threads saved."
 msgstr "æ‚¨æƒ³è¦ä¿å­˜æ–‡ç« /è®¨è®ºä¸²çš„ç›®å½•ä½ç½®ã€‚"
 
-#: src/lang.c:3060
+#: src/lang.c:3122
 msgid "Directory to save arts/threads in"
 msgstr "è¦ä¿å­˜æ–‡ç« /è®¨è®ºä¸²çš„ç›®å½•"
 
-#: src/lang.c:3061
+#: src/lang.c:3123
 msgid "# Directory where articles/threads are saved\n"
 msgstr "# ä¿å­˜æ–‡ç« /è®¨è®ºä¸²çš„ç›®å½•ä½ç½®\n"
 
-#: src/lang.c:3065
+#: src/lang.c:3127
 msgid ""
 "Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 "cancels."
 msgstr "å°†å·²ä¿å­˜çš„æ–‡ç« /è®¨è®ºä¸²æ ‡è®°ä¸ºå·²è¯»ã€‚<SPACE> åˆ‡æ¢ï¼Œ<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3066
+#: src/lang.c:3128
 msgid "Mark saved articles/threads as read"
 msgstr "å°†å·²ä¿å­˜çš„æ–‡ç« /è®¨è®ºä¸²æ ‡è®°ä¸ºå·²è¯»"
 
-#: src/lang.c:3067
+#: src/lang.c:3129
 msgid "# If ON mark articles that are saved as read\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±æ ‡è®°å·²ä¿å­˜çš„æ–‡ç« ä¸ºå·²è¯»\n"
 
-#: src/lang.c:3071
+#: src/lang.c:3133
 msgid "Do post processing (e.g. extract attachments) for saved articles."
 msgstr "å¯¹äºŽå·²ä¿å­˜çš„æ–‡ç« è¿›è¡ŒåŽç»­å¤„ç† (ä¾‹å¦‚ï¼šæˆªå–é™„ä»¶)ã€‚"
 
-#: src/lang.c:3072
+#: src/lang.c:3134
 msgid "Post process saved articles"
 msgstr "åŽç»­å¤„ç†å·²ä¿å­˜çš„æ–‡ç« "
 
-#: src/lang.c:3073
+#: src/lang.c:3135
 #, fuzzy
 msgid ""
 "# Perform post processing (saving binary attachments) from saved articles.\n"
@@ -8133,61 +8292,61 @@ msgstr ""
 "#   1 = åªæˆªå–å‘½ä»¤å£³å½’æ¡£ (shar)\n"
 "#   2 = æ˜¯\n"
 
-#: src/lang.c:3082
+#: src/lang.c:3144
 msgid "Process only unread articles"
 msgstr "åªå¤„ç†æœªè¯»æ–‡ç« "
 
-#: src/lang.c:3083
+#: src/lang.c:3145
 msgid ""
 "# If ON only save/print/pipe/mail unread articles (tagged articles "
 "excepted)\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±åª ä¿å­˜/æ‰“å°/ç®¡é“/é‚®å¯„ æœªè¯»æ–‡ç«  (é™¤äº†å·²æ ‡è®°æ–‡ç« )\n"
 
-#: src/lang.c:3088
+#: src/lang.c:3150
 msgid "Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr "æ‰“å°æ‰€æœ‰æˆ–æ˜¯ä»…ä»…éƒ¨åˆ†çš„æ ‡å¤´ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:3089
+#: src/lang.c:3151
 msgid "Print all headers when printing"
 msgstr "æ‰“å°æ—¶æ‰“å°æ‰€æœ‰æ ‡å¤´"
 
-#: src/lang.c:3090
+#: src/lang.c:3152
 msgid ""
 "# If ON print all of article header otherwise just the important lines\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±æ‰“å°æ‰€æœ‰çš„æ–‡ç« æ ‡å¤´ï¼Œå¦åˆ™ä»…æ‰“å°é‡è¦è¡Œ\n"
 
-#: src/lang.c:3094
+#: src/lang.c:3156
 msgid ""
 "The printer program with options that is to be used to print articles/"
 "threads."
 msgstr "å°†è¢«ç”¨æ¥æ‰“å°æ–‡ç« /è®¨è®ºä¸²çš„æ‰“å°ç¨‹åºä»¥åŠé€‰é¡¹ã€‚"
 
-#: src/lang.c:3095
+#: src/lang.c:3157
 msgid "Printer program with options"
 msgstr "æ‰“å°ç¨‹åºä»¥åŠé€‰é¡¹"
 
-#: src/lang.c:3096
+#: src/lang.c:3158
 msgid "# Print program with parameters used to print articles/threads\n"
 msgstr "# ç”¨æ¥æ‰“å°æ–‡ç« /è®¨è®ºä¸²çš„æ‰“å°ç¨‹åºä»¥åŠå‚æ•°\n"
 
-#: src/lang.c:3102
+#: src/lang.c:3164
 msgid "Force redraw after certain commands"
 msgstr "ç‰¹å®šå‘½ä»¤ä¹‹åŽå¼ºåˆ¶é‡ç»˜"
 
-#: src/lang.c:3103
+#: src/lang.c:3165
 msgid ""
 "# If ON a screen redraw will always be done after certain external commands\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±äºŽç‰¹å®šå¤–éƒ¨å‘½ä»¤ä¹‹åŽå°†ä¸€å¾‹å®Œæˆå±å¹•é‡ç»˜\n"
 
-#: src/lang.c:3107
+#: src/lang.c:3169
 msgid "Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr "è¾“å…¥ %E ä½œä¸ºç¼–è¾‘å™¨ï¼Œ%F ä½œä¸ºæ–‡ä»¶åï¼Œ%N ä½œä¸ºè¡Œå·ï¼Œ<CR> ä»¥è®¾ç½®ã€‚"
 
-#: src/lang.c:3108
+#: src/lang.c:3170
 msgid "Invocation of your editor"
 msgstr "è°ƒç”¨æ‚¨çš„ç¼–è¾‘å™¨"
 
-#: src/lang.c:3109
+#: src/lang.c:3171
 msgid ""
 "# Format of editor line including parameters\n"
 "# %E Editor  %F Filename  %N Linenumber\n"
@@ -8195,16 +8354,16 @@ msgstr ""
 "# æ ¼å¼çš„ç¼–è¾‘å™¨è¡ŒåŒ…å«å‚æ•°\n"
 "# %E ç¼–è¾‘å™¨  %F æ–‡ä»¶å  %N Linenumber\n"
 
-#: src/lang.c:3114
+#: src/lang.c:3176
 msgid ""
 "Enter name and options for external-inews, --internal for internal inews"
 msgstr "è¾“å…¥ç”¨äºŽå¤–éƒ¨ inews çš„åç§°å’Œé€‰é¡¹ï¼Œ--internal ç”¨äºŽå†…éƒ¨ inews"
 
-#: src/lang.c:3115
+#: src/lang.c:3177
 msgid "External inews"
 msgstr "å¤–éƒ¨ inews"
 
-#: src/lang.c:3116
+#: src/lang.c:3178
 msgid ""
 "# If --internal use the built in mini inews for posting via NNTP\n"
 "# otherwise use an external inews program\n"
@@ -8212,35 +8371,34 @@ msgstr ""
 "# å¦‚æžœè®¾ç½® --internal å°±ä½¿ç”¨å†…ç½®çš„è¿·ä½  inews ä½œä¸ºé€è¿‡ NNTP å¼ è´´\n"
 "# å¦åˆ™ä½¿ç”¨å¤–éƒ¨ inews ç¨‹åº\n"
 
-#: src/lang.c:3120
+#: src/lang.c:3182
 msgid ""
 "Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr ""
 "è¾“å…¥ %M ä½œä¸ºé‚®ä»¶ç¨‹åºï¼Œ%S ä½œä¸ºä¸»æ—¨ï¼Œ%T ä½œä¸ºæ”¶ä»¶è€…ï¼Œ%F ä½œä¸ºæ–‡ä»¶åï¼Œ<CR> ä»¥è®¾"
 "ç½®ã€‚"
 
-#: src/lang.c:3121
+#: src/lang.c:3183
 msgid "Invocation of your mail command"
 msgstr "è°ƒç”¨æ‚¨çš„é‚®å¯„å‘½ä»¤"
 
-#: src/lang.c:3122
+#: src/lang.c:3184
 #, fuzzy
 msgid ""
 "# Format of mailer line including parameters\n"
-"# %M Mailer  %S Subject  %T To  %F Filename\n"
-"# e.g. to use mutt as your mailer:    mutt -s \"%S\" -- \"%T\" < %F\n"
-"# e.g. mutt interactive          :    mutt -H %F\n"
+"# %M Mailer  %S Subject  %T To  %F Filename  %U Username\n"
+"# e.g. mutt interactive:  mutt -H %F\n"
 msgstr ""
 "# æ ¼å¼çš„é‚®ä»¶ç¨‹åºè¡ŒåŒ…å«å‚æ•°\n"
 "# %M é‚®ä»¶ç¨‹åº  %S ä¸»æ—¨  %T åˆ°  %F æ–‡ä»¶å\n"
 "# æˆ‘ã€‚ä»¥ä½¿ç”¨ elm ä½œä¸ºæ‚¨çš„é‚®ä»¶ç¨‹åºï¼š   elm -sâ€œ%Sâ€â€œ%Tâ€<%F\n"
 "# æˆ‘ã€‚elm äº¤äº’å¼         ï¼š   elm -i %F -sâ€œ%Sâ€â€œ%Tâ€\n"
 
-#: src/lang.c:3130
+#: src/lang.c:3191
 msgid "Use interactive mail reader"
 msgstr "ä½¿ç”¨äº¤äº’å¼é‚®ä»¶é˜…è¯»å™¨"
 
-#: src/lang.c:3131
+#: src/lang.c:3192
 msgid ""
 "# Interactive mailreader\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8254,32 +8412,32 @@ msgstr ""
 "#   1 = ä½¿ç”¨äº¤äº’å¼é‚®ä»¶é˜…è¯»å™¨ä»¥åŠæ–‡ä»¶ä¸­çš„æ ‡å¤´\n"
 "#   2 = ä½¿ç”¨äº¤äº’å¼é‚®ä»¶é˜…è¯»å™¨è€Œæ— éœ€æ–‡ä»¶ä¸­çš„æ ‡å¤´\n"
 
-#: src/lang.c:3140
+#: src/lang.c:3201
 msgid "Remove ~/.article after posting"
 msgstr "å¼ è´´ä¹‹åŽç§»é™¤ ~/.article"
 
-#: src/lang.c:3141
+#: src/lang.c:3202
 msgid "# If ON remove ~/.article after posting.\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±äºŽå¼ è´´ä¹‹åŽç§»é™¤ ~/.articleã€‚\n"
 
-#: src/lang.c:3147
+#: src/lang.c:3208
 msgid "Use UTF-8 graphics (thread tree etc.)"
 msgstr "ä½¿ç”¨ UTF-8 å›¾å½¢ (æ ‘çŠ¶è®¨è®ºä¸²ç­‰ç­‰â€¦)"
 
-#: src/lang.c:3148
+#: src/lang.c:3209
 msgid ""
 "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±ä½¿ç”¨ UTF-8 å­—ç¬¦ä½œä¸ºæŒ‡ç¤ºå™¨â€˜->â€™ã€æ ‘çŠ¶ç»“æž„å’Œçœç•¥ç¬¦å·â€˜â€¦â€™ã€‚\n"
 
-#: src/lang.c:3153
+#: src/lang.c:3214
 msgid "Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr "ç”¨äºŽæ‰€æœ‰å·²å¼ è´´æ–‡ç« çš„æ–‡ä»¶åï¼Œ<CR> è®¾ç½®ï¼Œæ²¡æœ‰æ–‡ä»¶å=ä¸ä¿å­˜ã€‚"
 
-#: src/lang.c:3154
+#: src/lang.c:3215
 msgid "Filename for posted articles"
 msgstr "ç”¨äºŽå·²å¼ è´´æ–‡ç« çš„æ–‡ä»¶å"
 
-#: src/lang.c:3155
+#: src/lang.c:3216
 msgid ""
 "# Filename where to keep all postings (default posted)\n"
 "# If no filename is set then postings will not be saved\n"
@@ -8287,36 +8445,36 @@ msgstr ""
 "# ä¿ç•™æ‰€æœ‰è´´æ–‡ (ç¼ºçœä¸ºå·²å¼ è´´) çš„æ–‡ä»¶ä½ç½®\n"
 "# å¦‚æžœæ²¡æœ‰è®¾ç½®æ–‡ä»¶ååˆ™ä¸ä¼šä¿å­˜è´´æ–‡\n"
 
-#: src/lang.c:3160
+#: src/lang.c:3221
 msgid ""
 "Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr "ä¿ç•™æ‰€æœ‰å¼ è´´å¤±è´¥çš„æ–‡ç« äºŽ ~/dead.articlesã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:3161
+#: src/lang.c:3222
 msgid "Keep failed arts in ~/dead.articles"
 msgstr "ä¿ç•™å¼ è´´å¤±è´¥çš„æ–‡ç« äºŽ ~/dead.articles"
 
-#: src/lang.c:3162
+#: src/lang.c:3223
 msgid "# If ON keep all failed postings in ~/dead.articles\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±ä¿ç•™æ‰€æœ‰å¼ è´´å¤±è´¥çš„è´´æ–‡äºŽ ~/dead.articles\n"
 
-#: src/lang.c:3166
+#: src/lang.c:3227
 msgid "Do you want to strip unsubscribed groups from .newsrc"
 msgstr "æ‚¨è¦ä»Ž .newsrc æˆªé™¤å·²å–æ¶ˆè®¢é˜…çš„ç¾¤ç»„"
 
-#: src/lang.c:3167
+#: src/lang.c:3228
 msgid "No unsubscribed groups in newsrc"
 msgstr "åœ¨ newsrc ä¸­æ²¡æœ‰å·²å–æ¶ˆè®¢é˜…çš„ç¾¤ç»„"
 
-#: src/lang.c:3168
+#: src/lang.c:3229
 msgid "# If ON strip unsubscribed groups from newsrc\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±ä»Ž newsrc æˆªé™¤å·²å–æ¶ˆè®¢é˜…çš„ç¾¤ç»„\n"
 
-#: src/lang.c:3173
+#: src/lang.c:3234
 msgid "Remove bogus groups from newsrc"
 msgstr "ä»Ž newsrc ç§»é™¤å‡é€ çš„ç¾¤ç»„"
 
-#: src/lang.c:3174
+#: src/lang.c:3235
 msgid ""
 "# What to do with bogus groups in newsrc file\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8330,65 +8488,81 @@ msgstr ""
 "#   1 = ç§»é™¤\n"
 "#   2 = ä»¥ D é«˜äº®åº¦æ˜¾ç¤ºäºŽé€‰æ‹©å±å¹•\n"
 
-#: src/lang.c:3183
+#: src/lang.c:3244
 msgid ""
 "Enter number of seconds to wait for a response from the server. <CR> sets."
 msgstr "è¾“å…¥ä»ŽæœåŠ¡å™¨ç­‰å¾…å›žåº”çš„ç§’æ•°ã€‚<CR> è¡¨ç¤ºè®¾ç½®ã€‚"
 
-#: src/lang.c:3184
+#: src/lang.c:3245
 msgid "NNTP read timeout in seconds"
 msgstr "NNTP è¯»å–è¶…æ—¶çš„ç§’æ•°"
 
-#: src/lang.c:3185
+#: src/lang.c:3246
 msgid ""
 "# Time in seconds to wait for a response from the server (0=no timeout)\n"
 msgstr "# ä»ŽæœåŠ¡å™¨ç­‰å¾…å›žåº”çš„ç§’æ•°æ—¶é—´ (0=æ²¡æœ‰è¶…æ—¶é™åˆ¶)\n"
 
-#: src/lang.c:3190
+#: src/lang.c:3251
 msgid "Enter number of seconds until active file will be reread. <CR> sets."
 msgstr "è¾“å…¥é‡æ–°è¯»å–çŽ°ç”¨æ–‡ä»¶çš„é—´éš”ç§’æ•°ã€‚<CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:3191
+#: src/lang.c:3252
 msgid "Interval in secs to reread active"
 msgstr "é‡æ–°è¯»å–çŽ°ç”¨æ–‡ä»¶çš„é—´éš”(ä»¥ç§’ä¸ºå•ä½)"
 
-#: src/lang.c:3192
+#: src/lang.c:3253
 msgid ""
 "# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr "# é‡æ–°è¯»å–çŽ°ç”¨æ–‡ä»¶çš„æ—¶é—´é—´éš”ç§’æ•° (0=æ°¸ä¸)\n"
 
-#: src/lang.c:3197
+#: src/lang.c:3258
 msgid "Reconnect to server automatically"
 msgstr "è‡ªåŠ¨é‡æ–°è¿žæŽ¥åˆ°æœåŠ¡å™¨"
 
-#: src/lang.c:3198
+#: src/lang.c:3259
 msgid ""
 "# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±äºŽè¿žæŽ¥ä¸­æ–­æ—¶è‡ªåŠ¨é‡æ–°è¿žæŽ¥åˆ° NNTP æœåŠ¡å™¨\n"
 
-#: src/lang.c:3202
+#: src/lang.c:3263
 msgid ""
 "Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr "åˆ›å»º NNTP æ¦‚è¿°æ–‡ä»¶çš„æœ¬åœ°å¤æœ¬ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:3203
+#: src/lang.c:3264
 msgid "Cache NNTP overview files locally"
 msgstr "äº§ç”Ÿ NNTP æ¦‚è¿°æ–‡ä»¶çš„æœ¬åœ°ç¼“å­˜"
 
-#: src/lang.c:3204
+#: src/lang.c:3265
 msgid "# If ON, create local copies of NNTP overview files.\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±åˆ›å»º NNTP æ¦‚è¿°æ–‡ä»¶çš„æœ¬åœ°å¤æœ¬ã€‚\n"
 
-#: src/lang.c:3208 src/lang.c:3223 src/lang.c:3243 src/lang.c:3266
-#: src/lang.c:3291 src/lang.c:3313 src/lang.c:3332
+#: src/lang.c:3270
+#, fuzzy
+msgid ""
+"Compress local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
+msgstr "åˆ›å»º NNTP æ¦‚è¿°æ–‡ä»¶çš„æœ¬åœ°å¤æœ¬ã€‚<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
+
+#: src/lang.c:3271
+#, fuzzy
+msgid "Compress locally cached NNTP overview files"
+msgstr "äº§ç”Ÿ NNTP æ¦‚è¿°æ–‡ä»¶çš„æœ¬åœ°ç¼“å­˜"
+
+#: src/lang.c:3272
+#, fuzzy
+msgid "# If ON, compress local copies of NNTP overview files.\n"
+msgstr "# å¦‚æžœæ‰“å¼€å°±åˆ›å»º NNTP æ¦‚è¿°æ–‡ä»¶çš„æœ¬åœ°å¤æœ¬ã€‚\n"
+
+#: src/lang.c:3277 src/lang.c:3292 src/lang.c:3312 src/lang.c:3335
+#: src/lang.c:3360 src/lang.c:3382 src/lang.c:3401
 msgid "Enter format string. <CR> sets, <ESC> cancels."
 msgstr "è¾“å…¥æ ¼å¼å­—ä¸²ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3209
+#: src/lang.c:3278
 msgid "Format string for selection level"
 msgstr "ç”¨äºŽé€‰æ‹©å±‚çº§è¡¨ç¤ºçš„æ ¼å¼å­—ä¸²"
 
-#: src/lang.c:3210
+#: src/lang.c:3279
 msgid ""
 "# Format string for selection level representation\n"
 "# Default: %f %n %U  %G  %d\n"
@@ -8412,11 +8586,11 @@ msgstr ""
 "#   %n              æ•°å­—ï¼Œå±å¹•ä¸Šçš„è¡Œæ•°\n"
 "#   %U              æœªè¯»æ•°\n"
 
-#: src/lang.c:3224
+#: src/lang.c:3293
 msgid "Format string for group level"
 msgstr "ç”¨äºŽç»„å±‚çº§è¡¨ç¤ºçš„æ ¼å¼å­—ä¸²"
 
-#: src/lang.c:3225
+#: src/lang.c:3294
 msgid ""
 "# Format string for group level representation\n"
 "# Default: %n %m %R %L  %s  %F\n"
@@ -8450,12 +8624,12 @@ msgstr ""
 "#   %s              ä¸»é¢˜ï¼ˆä»…ç»„çº§ï¼‰\n"
 "#   %S              åˆ†æ•°\n"
 
-#: src/lang.c:3244
+#: src/lang.c:3313
 #, fuzzy
 msgid "Format string for attachment level"
 msgstr "ç”¨äºŽå¸–å­å±‚çº§çš„æ ¼å¼å­—ä¸²"
 
-#: src/lang.c:3245
+#: src/lang.c:3314
 #, fuzzy
 msgid ""
 "# Format string for attachment level representation\n"
@@ -8493,12 +8667,12 @@ msgstr ""
 "#   %s              ä¸»é¢˜ï¼ˆä»…ç»„çº§ï¼‰\n"
 "#   %S              åˆ†æ•°\n"
 
-#: src/lang.c:3267
+#: src/lang.c:3336
 #, fuzzy
 msgid "Format string for display of mime header"
 msgstr "ç”¨äºŽæ˜¾ç¤ºæ—¥æœŸçš„æ ¼å¼å­—ä¸²"
 
-#: src/lang.c:3268
+#: src/lang.c:3337
 #, fuzzy
 msgid ""
 "# Format string for mime header at article level\n"
@@ -8538,12 +8712,12 @@ msgstr ""
 "#   %s              ä¸»é¢˜ï¼ˆä»…ç»„çº§ï¼‰\n"
 "#   %S              åˆ†æ•°\n"
 
-#: src/lang.c:3292
+#: src/lang.c:3361
 #, fuzzy
 msgid "Format string for display of uue header"
 msgstr "ç”¨äºŽæ˜¾ç¤ºæ—¥æœŸçš„æ ¼å¼å­—ä¸²"
 
-#: src/lang.c:3293
+#: src/lang.c:3362
 #, fuzzy
 msgid ""
 "# Format string for uue header at article level\n"
@@ -8580,11 +8754,11 @@ msgstr ""
 "#   %s              ä¸»é¢˜ï¼ˆä»…ç»„çº§ï¼‰\n"
 "#   %S              åˆ†æ•°\n"
 
-#: src/lang.c:3314
+#: src/lang.c:3383
 msgid "Format string for thread level"
 msgstr "ç”¨äºŽå¸–å­å±‚çº§çš„æ ¼å¼å­—ä¸²"
 
-#: src/lang.c:3315
+#: src/lang.c:3384
 msgid ""
 "# Format string for thread level representation\n"
 "# Default: %n %m  [%L]  %T  %F\n"
@@ -8618,19 +8792,19 @@ msgstr ""
 "#   %T              å¸–å­æ ‘ï¼ˆä»…å¸–çº§ï¼‰\n"
 "\n"
 
-#: src/lang.c:3333
+#: src/lang.c:3402
 msgid "Format string for display of dates"
 msgstr "ç”¨äºŽæ˜¾ç¤ºæ—¥æœŸçš„æ ¼å¼å­—ä¸²"
 
-#: src/lang.c:3334
+#: src/lang.c:3403
 msgid "# Format string for date representation\n"
 msgstr "# ç”¨äºŽæ—¥æœŸè¡¨ç¤ºçš„æ ¼å¼å­—ä¸²\n"
 
-#: src/lang.c:3344
+#: src/lang.c:3413
 msgid "Unicode normalization form"
 msgstr "ä¸‡å›½ç èŒƒå¼å½¢å¼"
 
-#: src/lang.c:3345
+#: src/lang.c:3414
 #, fuzzy
 msgid ""
 "# Unicode normalization form\n"
@@ -8651,19 +8825,19 @@ msgstr ""
 "#   4 = NFD\n"
 "#   5 = NFKC_CF\n"
 
-#: src/lang.c:3359
+#: src/lang.c:3428
 msgid "Render BiDi"
 msgstr "å‘ˆçŽ°åŒå‘æ–‡æœ¬"
 
-#: src/lang.c:3360
+#: src/lang.c:3429
 msgid "# If ON, bi-directional text is rendered by tin\n"
 msgstr "# å¦‚æžœæ‰“å¼€å°±ç”± tin å‘ˆçŽ°åŒå‘æ–‡æœ¬\n"
 
-#: src/lang.c:3367
+#: src/lang.c:3436
 msgid "Function for sorting articles"
 msgstr "ç”¨äºŽæŽ’åºæ–‡ç« çš„å‡½æ•°"
 
-#: src/lang.c:3368
+#: src/lang.c:3437
 msgid ""
 "# Function for sorting articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8675,179 +8849,189 @@ msgstr ""
 "# * 0 = å¿«é€ŸæŽ’åº\n"
 "#   1 = å †ç§¯æŽ’åº\n"
 
-#: src/lang.c:3381
+#: src/lang.c:3450
 msgid "Automatically GroupMarkUnselArtRead"
 msgstr "è‡ªåŠ¨ GroupMarkUnselArtRead"
 
-#: src/lang.c:3387
+#: src/lang.c:3456
 msgid "Delete post-process files"
 msgstr "åˆ é™¤åŽç»­å¤„ç†æ–‡ä»¶"
 
-#: src/lang.c:3392
+#: src/lang.c:3461
 msgid "Filename for all mailed articles, <CR> sets, no filename=do not save."
 msgstr "ç”¨äºŽæ‰€æœ‰å·²é‚®å¯„æ–‡ç« çš„æ–‡ä»¶åï¼Œ<CR> è®¾ç½®ï¼Œæ²¡æœ‰æ–‡ä»¶å=ä¸ä¿å­˜ã€‚"
 
-#: src/lang.c:3393
+#: src/lang.c:3462
 msgid "Mailbox to save sent mails"
 msgstr "è¦ä¿å­˜å·²å‘é€é‚®ä»¶çš„ä¿¡ç®±"
 
-#: src/lang.c:3398
+#: src/lang.c:3467
 msgid "Set Followup-To: header to this group(s). <CR> sets, <ESC> cancels."
 msgstr "è®¾ç½® Followup-To: æ ‡å¤´ä¸ºè¿™ä¸ªç¾¤ç»„ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3399
+#: src/lang.c:3468
 msgid "Followup-To: header"
 msgstr "Followup-To: æ ‡å¤´"
 
-#: src/lang.c:3404
+#: src/lang.c:3473
 msgid "Enter default mail address (and fullname). <CR> sets, <ESC> cancels."
 msgstr "è¾“å…¥ç¼ºçœé‚®ä»¶åœ°å€ (é™„å…¨å)ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3411
+#: src/lang.c:3480
 msgid ""
 "Path and options for ispell-like spell-checker. <CR> sets, <ESC> cancels."
 msgstr "ä½œä¸ºç±»ä¼¼ ispell æ‹¼å†™æ£€æŸ¥å™¨çš„è·¯å¾„å’Œé€‰é¡¹ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3412
+#: src/lang.c:3481
 msgid "Ispell program"
 msgstr "Ispell ç¨‹åº"
 
-#: src/lang.c:3418
+#: src/lang.c:3487
 msgid "When group is a mailing list, send responses to this email address."
 msgstr "å½“ç¾¤ç»„æ˜¯ä¸ªé‚®é€’è®ºå›æ—¶ï¼Œå‘é€å›žåº”åˆ°è¿™ä¸ªç”µå­é‚®ä»¶åœ°å€ã€‚"
 
-#: src/lang.c:3419
+#: src/lang.c:3488
 msgid "Mailing list address"
 msgstr "é‚®é€’è®ºå›åœ°å€"
 
-#: src/lang.c:3425
+#: src/lang.c:3494
 msgid "Forward articles as attachment"
 msgstr "ä½œä¸ºé™„ä»¶ä»¥è½¬å‘æ–‡ç« "
 
-#: src/lang.c:3430
+#: src/lang.c:3499
 msgid ""
 "A comma separated list of MIME major/minor Content-Types. <ESC> cancels."
 msgstr "é€—å·åˆ†éš”çš„ MIME ä¸»è¦/æ¬¡è¦å†…å®¹ç±»åž‹æ¸…å•ã€‚<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3431
+#: src/lang.c:3500
 msgid "Which MIME types will be saved"
 msgstr "å°†è¢«ä¿å­˜çš„ MIME ç±»åž‹"
 
-#: src/lang.c:3436
+#: src/lang.c:3505
 msgid "Value of the Organization: header. <CR> sets, <ESC> cancels."
 msgstr "Organization: æ ‡å¤´çš„å€¼ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3437
+#: src/lang.c:3506
 msgid "Organization: header"
 msgstr "Organization: æ ‡å¤´"
 
-#: src/lang.c:3442
+#: src/lang.c:3511
 msgid "Filename for saved articles. <CR> sets, <ESC> cancels."
 msgstr "ç”¨äºŽå·²ä¿å­˜æ–‡ç« çš„æ–‡ä»¶åã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3443
+#: src/lang.c:3512
 msgid "savefile"
 msgstr "ä¿å­˜æ–‡ä»¶"
 
-#: src/lang.c:3448 src/lang.c:3472
+#: src/lang.c:3517 src/lang.c:3541
 msgid "Scope for the filter rule. <CR> sets, <ESC> cancels."
 msgstr "ç”¨äºŽç­›é€‰å™¨è§„åˆ™çš„èŒƒå›´ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3449
+#: src/lang.c:3518
 msgid "Quick (1 key) select filter scope"
 msgstr "å¿«é€Ÿ (1 é”®) é€‰å–ç­›é€‰å™¨èŒƒå›´"
 
-#: src/lang.c:3454 src/lang.c:3478
+#: src/lang.c:3523 src/lang.c:3547
 msgid "Header for filter rule. <CR> sets, <ESC> cancels."
 msgstr "ç”¨äºŽç­›é€‰å™¨è§„åˆ™çš„æ ‡å¤´ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3455
+#: src/lang.c:3524
 msgid "Quick (1 key) select filter header"
 msgstr "å¿«é€Ÿ (1 é”®) é€‰å–ç­›é€‰å™¨æ ‡å¤´"
 
-#: src/lang.c:3460 src/lang.c:3484
+#: src/lang.c:3529 src/lang.c:3553
 msgid "ON = case sensitive, OFF = ignore case. <CR> sets, <ESC> cancels."
 msgstr "ON = å¤§å°å†™ç›¸ç¬¦ï¼ŒOFF = å¿½ç•¥å¤§å°å†™ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3461
+#: src/lang.c:3530
 msgid "Quick (1 key) select filter case"
 msgstr "å¿«é€Ÿ (1 é”®) é€‰å–ç­›é€‰å™¨å¤§å°å†™"
 
-#: src/lang.c:3466 src/lang.c:3490
+#: src/lang.c:3535 src/lang.c:3559
 msgid "ON = expire, OFF = don't ever expire. <CR> sets, <ESC> cancels."
 msgstr "ON = è¿‡æœŸï¼ŒOFF = ä¸ä¼šè¿‡æœŸã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3467
+#: src/lang.c:3536
 msgid "Quick (1 key) select filter expire"
 msgstr "å¿«é€Ÿ (1 é”®) é€‰å–ç­›é€‰å™¨è¿‡æœŸ"
 
-#: src/lang.c:3473
+#: src/lang.c:3542
 msgid "Quick (1 key) kill filter scope"
 msgstr "å¿«é€Ÿ (1 é”®) ç é™¤ç­›é€‰å™¨èŒƒå›´"
 
-#: src/lang.c:3479
+#: src/lang.c:3548
 msgid "Quick (1 key) kill filter header"
 msgstr "å¿«é€Ÿ (1 é”®) ç é™¤ç­›é€‰å™¨æ ‡å¤´"
 
-#: src/lang.c:3485
+#: src/lang.c:3554
 msgid "Quick (1 key) kill filter case"
 msgstr "å¿«é€Ÿ (1 é”®) ç é™¤ç­›é€‰å™¨å¤§å°å†™"
 
-#: src/lang.c:3491
+#: src/lang.c:3560
 msgid "Quick (1 key) kill filter expire"
 msgstr "å¿«é€Ÿ (1 é”®) ç é™¤ç­›é€‰å™¨è¿‡æœŸ"
 
-#: src/lang.c:3497
+#: src/lang.c:3566
 msgid "Assume this charset if no charset declaration is present, <CR> to set."
 msgstr "å¦‚æžœä¸å­˜åœ¨ä»»ä½•å­—ç¬¦é›†å®£å‘Šå°±å‡è®¾ä¸ºè¿™ä¸ªå­—ç¬¦é›†ï¼Œ<CR> ä»¥è®¾ç½®ã€‚"
 
-#: src/lang.c:3498
+#: src/lang.c:3567
 msgid "UNDECLARED_CHARSET"
 msgstr "æœªå®£å‘Šå­—ç¬¦é›†"
 
-#: src/lang.c:3504
+#: src/lang.c:3572
+#, fuzzy
+msgid "Guess charset if no charset declaration is present, <CR> to set."
+msgstr "å¦‚æžœä¸å­˜åœ¨ä»»ä½•å­—ç¬¦é›†å®£å‘Šå°±å‡è®¾ä¸ºè¿™ä¸ªå­—ç¬¦é›†ï¼Œ<CR> ä»¥è®¾ç½®ã€‚"
+
+#: src/lang.c:3573
+#, fuzzy
+msgid "UNDECLARED_CS_GUESS"
+msgstr "æœªå®£å‘Šå­—ç¬¦é›†"
+
+#: src/lang.c:3580
 msgid ""
 "Add this text at the start of the message body. <CR> sets, <ESC> cancels."
 msgstr "åŠ å…¥è¿™ä¸ªæ–‡æœ¬äºŽæ¶ˆæ¯å†…æ–‡çš„å¼€å§‹ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3505
+#: src/lang.c:3581
 msgid "X_Body"
 msgstr "X_Body"
 
-#: src/lang.c:3510
+#: src/lang.c:3586
 msgid "Insert this header when posting. <CR> sets, <ESC> cancels."
 msgstr "å¼ è´´æ—¶æ’å…¥è¿™ä¸ªæ ‡å¤´ã€‚<CR> è®¾ç½®ï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3511
+#: src/lang.c:3587
 msgid "X_Headers"
 msgstr "X_Headers"
 
-#: src/lang.c:3516
+#: src/lang.c:3592
 msgid ""
 "Automatically insert an X-Comment-To: header? <SPACE> toggles & <CR> sets."
 msgstr "è‡ªåŠ¨æ’å…¥ X-Comment-To: æ ‡å¤´ï¼Ÿ<SPACE> åˆ‡æ¢ & <CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:3517
+#: src/lang.c:3593
 msgid "Insert 'X-Comment-To:' header"
 msgstr "æ’å…¥â€˜X-Comment-To:â€™æ ‡å¤´"
 
-#: src/lang.c:3523
+#: src/lang.c:3599
 #, fuzzy
 msgid "Enter name of file containing trusted CA certificates. <CR> sets."
 msgstr "è¾“å…¥è¢«è®¤ä¸ºæœ€è¿‘æ–‡ç« çš„æ—¥æ•°ã€‚<CR> è®¾ç½®ã€‚"
 
-#: src/lang.c:3524
+#: src/lang.c:3600
 #, fuzzy
 msgid "CA certificate file"
 msgstr "ç¼–è¾‘ç­›é€‰å™¨æ–‡ä»¶"
 
-#: src/lang.c:3525
+#: src/lang.c:3601
 msgid ""
 "# name of file containing all trusted CA certificates (empty = system "
 "default)\n"
 msgstr ""
 
-#: src/nntplib.c:908
+#: src/nntplib.c:963
 #, c-format
 msgid ""
 "\n"
@@ -8856,33 +9040,63 @@ msgstr ""
 "\n"
 "æœåŠ¡å™¨å·²è¶…æ—¶ï¼Œå°è¯•é‡æ–°è¿žæŽ¥ # %d\n"
 
-#: src/nntplib.c:950 src/nntplib.c:2032
+#: src/nntplib.c:1006 src/nntplib.c:2115
 msgid "Rejoin current group\n"
 msgstr "é‡æ–°é“¾æŽ¥ç›®å‰çš„ç¾¤ç»„\n"
 
-#: src/nntplib.c:959 src/nntplib.c:2041
+#: src/nntplib.c:1015 src/nntplib.c:2124
 #, c-format
 msgid "Read (%s)\n"
 msgstr "å·²è¯» (%s)\n"
 
-#: src/nntplib.c:961
+#: src/nntplib.c:1017
 #, c-format
 msgid "Resend last command (%s)\n"
 msgstr "é‡æ–°å‘é€æœ€è¿‘çš„å‘½ä»¤ (%s)\n"
 
-#: src/read.c:363
+#: src/read.c:358
 msgid "Aborted read\n"
 msgstr "å·²æ”¾å¼ƒè¯»å–\n"
 
-#: src/read.c:418
+#: src/read.c:413
 msgid "Draining\n"
 msgstr "æŽ’æ”¾\n"
 
-#: src/refs.c:656
+#: src/refs.c:654
 msgid "[- Unavailable -]"
 msgstr "[- ä¸å¯ç”¨ -]"
 
-#, fuzzy, c-format
+#~ msgid "Invalid  From: %s  line. Read the INSTALL file again."
+#~ msgstr "æ— æ•ˆçš„   From: %s  è¡Œã€‚è¯·å†é˜…è¯» INSTALL æ–‡ä»¶ã€‚"
+
+#~ msgid "bytes"
+#~ msgstr "å­—èŠ‚"
+
+#~ msgid "\tChecksum of %s (%ld %s)"
+#~ msgstr "\t%s çš„æ€»å’Œæ£€æŸ¥ç  (%ld %s)"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in Approved: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "é”™è¯¯ï¼šä¸å½“çš„åœ°å€äºŽ Approved: æ ‡å¤´ã€‚\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in From: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "é”™è¯¯ï¼šä¸å½“çš„åœ°å€äºŽ From: æ ‡å¤´ã€‚\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in Reply-To: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "é”™è¯¯ï¼šä¸å½“çš„åœ°å€äºŽ Reply-To: æ ‡å¤´ã€‚\n"
+
+#, fuzzy
 #~ msgid ""
 #~ "\n"
 #~ "Error: Header on line %d starts with a dot '.':\n"
@@ -8892,15 +9106,12 @@ msgstr "[- ä¸å¯ç”¨ -]"
 #~ "é”™è¯¯ï¼šç¬¬ %d è¡Œçš„æ ‡å¤´äºŽå†’å·ä¹‹åŽæ²¡æœ‰ç©ºæ ¼ï¼š\n"
 #~ "%s\n"
 
-#, c-format
 #~ msgid "Version: %s %s release %s (\"%s\") %s %s\n"
 #~ msgstr "ç‰ˆæœ¬ï¼š%s %s å‘å¸ƒ %s (â€œ%sâ€) %s %s\n"
 
-#, c-format
 #~ msgid "%d lines"
 #~ msgstr "%d è¡Œ"
 
-#, c-format
 #~ msgid ""
 #~ "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n"
 #~ "\n"
@@ -8908,7 +9119,7 @@ msgstr "[- ä¸å¯ç”¨ -]"
 #~ "%*s[-- %s/%sï¼Œ%suuencoded æ–‡ä»¶ï¼Œ%d è¡Œï¼Œåç§°ï¼š%s --]\n"
 #~ "\n"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "%*s[-- %s/%s%s%s%s%s, %d lines, encoding %s --]\n"
 #~ msgstr "%*s[-- %s/%sï¼Œç¼–ç  %s%s%sï¼Œ%d è¡Œ%s%s --]\n"
 
Binary files tin-2.6.3/po/zh_TW.gmo and tin-2.6.4/po/zh_TW.gmo differ
diff -Nurp '--exclude=.bzr*' tin-2.6.3/po/zh_TW.po tin-2.6.4/po/zh_TW.po
--- tin-2.6.3/po/zh_TW.po	2023-12-24 00:38:37.000000000 +0100
+++ tin-2.6.4/po/zh_TW.po	2024-12-21 15:42:04.320772447 +0100
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tin 2.3.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-12-13 22:25+0100\n"
+"POT-Creation-Date: 2024-12-21 15:42+0100\n"
 "PO-Revision-Date: 2015-10-08 12:13+0800\n"
 "Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -18,11 +18,11 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: src/lang.c:45
+#: src/lang.c:48
 msgid "1 Response"
 msgstr "1 ç¯‡å›žæ‡‰"
 
-#: src/lang.c:49
+#: src/lang.c:50
 #, c-format
 msgid ""
 "\n"
@@ -31,36 +31,36 @@ msgstr ""
 "\n"
 "%s ä¸å«ä»»ä½•æ–°èžç¾¤çµ„ã€‚é›¢é–‹ã€‚"
 
-#: src/lang.c:51
+#: src/lang.c:52
 msgid "Aborting read, please wait..."
 msgstr "æ”¾æ£„è®€å–ï¼Œè«‹ç¨å¾…â€¦"
 
-#: src/lang.c:53
+#: src/lang.c:54
 msgid "all"
 msgstr "æ‰€æœ‰"
 
-#: src/lang.c:54
+#: src/lang.c:55
 msgid "All groups"
 msgstr "æ‰€æœ‰ç¾¤çµ„"
 
-#: src/lang.c:55
+#: src/lang.c:56
 #, c-format
 msgid "File %s exists. %s=append, %s=overwrite, %s=quit: "
 msgstr "æª”æ¡ˆ %s å·²å­˜åœ¨ã€‚%s=é™„åŠ ï¼Œ%s=è¦†å¯«ï¼Œ%s=é›¢é–‹ï¼š"
 
-#: src/lang.c:56
+#: src/lang.c:57
 msgid "Article cancelled (deleted)."
 msgstr "å·²å–æ¶ˆæ–‡ç«  (è¢«åˆªé™¤)ã€‚"
 
-#: src/lang.c:58
+#: src/lang.c:59
 msgid "Article cannot be cancelled (deleted)."
 msgstr "ç„¡æ³•å–æ¶ˆæ–‡ç«  (è¢«åˆªé™¤)ã€‚"
 
-#: src/lang.c:60
+#: src/lang.c:61
 msgid "Article deleted."
 msgstr "å·²åˆªé™¤æ–‡ç« ã€‚"
 
-#: src/lang.c:61
+#: src/lang.c:62
 #, c-format
 msgid ""
 "\n"
@@ -75,7 +75,7 @@ msgstr ""
 "å°‡è¢«å¯„åˆ°ä¸‹åˆ—åœ°å€ï¼š\n"
 "  %s"
 
-#: src/lang.c:62
+#: src/lang.c:63
 #, c-format
 msgid ""
 "\n"
@@ -88,140 +88,145 @@ msgstr ""
 "  ã€Œ%sã€\n"
 "å°‡è¢«å¼µè²¼åˆ°ä¸‹åˆ— %sï¼š\n"
 
-#: src/lang.c:63
+#: src/lang.c:64
 msgid "Article not posted!"
 msgstr "ç„¡æ³•å¼µè²¼æ–‡ç« ï¼"
 
-#: src/lang.c:64
+#: src/lang.c:65
 msgid "Article not saved"
 msgstr "ç„¡æ³•å„²å­˜æ–‡ç« "
 
-#: src/lang.c:65
+#: src/lang.c:66
 msgid "Article Level Commands"
 msgstr "æ–‡ç« å±¤ç´šæŒ‡ä»¤"
 
-#: src/lang.c:66
+#: src/lang.c:67
 msgid "Article has no parent"
 msgstr "æ–‡ç« æ²’æœ‰ä»»ä½•ä¸Šå±¤"
 
-#: src/lang.c:67
+#: src/lang.c:68
 msgid "Parent article has been killed"
 msgstr "ä¸Šå±¤æ–‡ç« å·²è¢«ç é™¤"
 
-#: src/lang.c:68
+#: src/lang.c:69
 msgid "Parent article is unavailable"
 msgstr "ä¸Šå±¤æ–‡ç« ç„¡æ³•ä½¿ç”¨"
 
-#: src/lang.c:69
+#: src/lang.c:70
 #, c-format
 msgid "Article posted: %s"
 msgstr "å·²å¼µè²¼æ–‡ç« ï¼š%s"
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid "Article rejected (saved to %s)"
 msgstr "å·²æ‹’çµ•æ–‡ç«  (å„²å­˜åˆ° %s)"
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid ""
 "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: "
 msgstr "%s=æ–‡ç« ï¼Œ%s=è¨Žè«–ä¸²ï¼Œ%s=ç¯„åœï¼Œ%s=ç†±é–€ï¼Œ%s=èƒšé¨°ï¼Œ%s=å·²æ¨™å®šï¼Œ%s=é›¢é–‹ï¼š"
 
-#: src/lang.c:72
+#: src/lang.c:73
 msgid "Article unavailable"
 msgstr "ç„¡æ³•ä½¿ç”¨æ–‡ç« "
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid "Article undeleted."
 msgstr "å–æ¶ˆåˆªé™¤æ–‡ç« ã€‚"
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid "Article %4d of %4d"
 msgstr "æ–‡ç«  %4d ä¹‹æ–¼ %4d"
 
-#: src/lang.c:76
+#: src/lang.c:77
+#, fuzzy
+msgid "Article Info Page"
+msgstr "ç„¡æ³•å„²å­˜æ–‡ç« "
+
+#: src/lang.c:78
 msgid "articles"
 msgstr "æ–‡ç« "
 
-#: src/lang.c:77
+#: src/lang.c:79
 msgid "This is a repost of the following article:"
 msgstr "é€™æ˜¯ä»¥ä¸‹æ–‡ç« çš„é‡æ–°å¼µè²¼ï¼š"
 
-#: src/lang.c:78
+#: src/lang.c:80
 msgid "article"
 msgstr "æ–‡ç« "
 
-#: src/lang.c:79
+#: src/lang.c:81
 msgid "Article"
 msgstr "æ–‡ç« "
 
-#: src/lang.c:80
+#: src/lang.c:82
 #, c-format
 msgid "-- %d %s mailed --"
 msgstr "-- %d %s å·²å¯„å‡º --"
 
-#: src/lang.c:81
+#: src/lang.c:83
 #, c-format
 msgid " at %s"
 msgstr " æ–¼ %s"
 
-#: src/lang.c:84
+#: src/lang.c:86
 #, fuzzy, c-format
 msgid "charset %s"
 msgstr "ï¼Œå­—å…ƒé›†ï¼š"
 
-#: src/lang.c:85
+#: src/lang.c:87
 #, c-format
 msgid "content subtype %s"
 msgstr ""
 
-#: src/lang.c:86
+#: src/lang.c:88
 #, c-format
 msgid "content type %s"
 msgstr ""
 
-#: src/lang.c:87
+#: src/lang.c:89
 #, c-format
 msgid "%*s[-- charset %s not supported --]\n"
 msgstr "%*s[-- ä¸æ”¯æ´ %s å­—å…ƒé›† --]\n"
 
-#: src/lang.c:88
+#: src/lang.c:90
 #, c-format
 msgid "%*s[-- Description: %s --]\n"
 msgstr "%*s[-- æè¿°ï¼š%s --]\n"
 
-#: src/lang.c:89
+#: src/lang.c:91
 #, fuzzy, c-format
 msgid "encoding %s"
 msgstr "é–‹å•Ÿ %s"
 
-#: src/lang.c:95
+#: src/lang.c:97
 #, fuzzy, c-format
 msgid "lang %s"
 msgstr "é‡æ–°è®€å– %sâ€¦"
 
-#: src/lang.c:96
+#: src/lang.c:98
 #, fuzzy, c-format
 msgid "%s lines"
 msgstr "%d åˆ—"
 
-#: src/lang.c:97
+#: src/lang.c:99
 #, fuzzy, c-format
 msgid "name %s"
 msgstr "ï¼Œåç¨±ï¼š"
 
-#: src/lang.c:98
+#: src/lang.c:100
 msgid ", "
 msgstr ""
 
-#: src/lang.c:99
+#: src/lang.c:101
 #, c-format
 msgid "size %s"
 msgstr ""
 
-#: src/lang.c:100
+#: src/lang.c:102
 msgid ""
 "This message has been composed in the 'multipart/mixed' MIME-format. If you\n"
 "are reading this prefix, your mail reader probably has not yet been "
@@ -234,46 +239,46 @@ msgstr ""
 "ä»¥äº†è§£æ–°çš„æ ¼å¼ï¼Œè€Œéš¨å¾Œè€Œä¾†çš„æ±è¥¿ä¹Ÿè¨±çœ‹èµ·ä¾†æœƒå¾ˆæ€ªç•°ã€‚\n"
 "\n"
 
-#: src/lang.c:104
+#: src/lang.c:106
 msgid "Attachment Menu"
 msgstr "é™„ä»¶é¸å–®"
 
-#: src/lang.c:105
+#: src/lang.c:107
 msgid "Attachment Menu Commands"
 msgstr "é™„ä»¶åŠŸèƒ½è¡¨æŒ‡ä»¤"
 
-#: src/lang.c:106
+#: src/lang.c:108
 msgid "<no name>"
 msgstr "<æ²’æœ‰åç¨±>"
 
-#: src/lang.c:107
+#: src/lang.c:109
 #, c-format
 msgid "Attachment saved successfully. (%s)"
 msgstr "æˆåŠŸå„²å­˜é™„ä»¶ã€‚(%s)"
 
-#: src/lang.c:108
+#: src/lang.c:110
 #, c-format
 msgid "%d of %d attachments saved successfully."
 msgstr "æˆåŠŸå„²å­˜ %2$d ä¸­çš„ %1$d é …é™„ä»¶ã€‚"
 
-#: src/lang.c:109
+#: src/lang.c:111
 msgid "Select attachment> "
 msgstr "é¸å–é™„ä»¶>"
 
-#: src/lang.c:110
+#: src/lang.c:112
 msgid "Tagged attachment"
 msgstr "å·²æ¨™å®šé™„ä»¶"
 
-#: src/lang.c:111
+#: src/lang.c:113
 #, c-format
 msgid "%d attachments tagged"
 msgstr "%d é™„ä»¶å·²æ¨™å®š"
 
-#: src/lang.c:112
+#: src/lang.c:114
 msgid "Untagged attachment"
 msgstr "å·²å–æ¶ˆé™„ä»¶æ¨™å®š"
 
-#: src/lang.c:115
+#: src/lang.c:117
 msgid ""
 "# Do not edit this comment block\n"
 "#\n"
@@ -281,322 +286,327 @@ msgstr ""
 "# ä¸ç·¨è¼¯é€™å€‹è©•è«–å€å¡Š\n"
 "#\n"
 
-#: src/lang.c:116
+#: src/lang.c:118
 msgid "#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr "#  scope=å­—ä¸² (ä¾‹å¦‚ï¼šalt.*,!alt.bin*) [å¿…è¦]\n"
 
-#: src/lang.c:117
+#: src/lang.c:119
 msgid "#  add_posted_to_filter=ON/OFF\n"
 msgstr "#  add_posted_to_filter=ON/OFF\n"
 
-#: src/lang.c:118
+#: src/lang.c:120
 msgid "#  advertising=ON/OFF\n"
 msgstr "#  advertising=ON/OFF\n"
 
-#: src/lang.c:119
+#: src/lang.c:121
 msgid "#  alternative_handling=ON/OFF\n"
 msgstr "#  alternative_handling=ON/OFF\n"
 
-#: src/lang.c:120
+#: src/lang.c:122
 msgid "#  ask_for_metamail=ON/OFF\n"
 msgstr "#  ask_for_metamail=ON/OFF\n"
 
-#: src/lang.c:121
+#: src/lang.c:123
 msgid "#  auto_cc_bcc=NUM\n"
 msgstr "#  auto_cc_bcc=æ•¸å­—\n"
 
-#: src/lang.c:122
+#: src/lang.c:124
 msgid "#    0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n"
 msgstr "#    0=ç„¡ï¼Œ1=å‰¯æœ¬ï¼Œ2=å¯†ä»¶å‰¯æœ¬ï¼Œ3=å‰¯æœ¬å’Œå¯†ä»¶å‰¯æœ¬\n"
 
-#: src/lang.c:123
+#: src/lang.c:125
 msgid "#  auto_list_thread=ON/OFF\n"
 msgstr "#  auto_list_thread=ON/OFF\n"
 
-#: src/lang.c:124
+#: src/lang.c:126
 msgid "#  auto_select=ON/OFF\n"
 msgstr "#  auto_select=ON/OFF\n"
 
-#: src/lang.c:125
+#: src/lang.c:127
 msgid "#  batch_save=ON/OFF\n"
 msgstr "#  batch_save=ON/OFF\n"
 
-#: src/lang.c:126
+#: src/lang.c:128
 msgid "#  date_format=STRING (eg. %a, %d %b %Y %H:%M:%S)\n"
 msgstr "#  date_format=å­—ä¸² (ä¾‹å¦‚ï¼š%aï¼Œ%d %b %Y %H:%M:%S)\n"
 
-#: src/lang.c:127
+#: src/lang.c:129
 msgid "#  delete_tmp_files=ON/OFF\n"
 msgstr "#  delete_tmp_files=ON/OFF\n"
 
-#: src/lang.c:128
+#: src/lang.c:130
 msgid "#  editor_format=STRING (eg. %E +%N %F)\n"
 msgstr "#  editor_format=å­—ä¸² (ä¾‹å¦‚ï¼š%E +%N %F)\n"
 
-#: src/lang.c:129
+#: src/lang.c:131
 msgid "#  fcc=STRING (eg. =mailbox)\n"
 msgstr "#  fcc=å­—ä¸² (ä¾‹å¦‚ï¼š=mailbox)\n"
 
-#: src/lang.c:130
+#: src/lang.c:132
 msgid "#  followup_to=STRING\n"
 msgstr "#  followup_to=å­—ä¸²\n"
 
-#: src/lang.c:131
+#: src/lang.c:133
 msgid "#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr "#  from=å­—ä¸² (åƒ…é™„åŠ æƒ³è¦çš„ç™¼ä¿¡è€… :-lineï¼Œä¸ä½¿ç”¨å¼•è¨€)\n"
 
-#: src/lang.c:132
+#: src/lang.c:134
 msgid "#  group_catchup_on_exit=ON/OFF\n"
 msgstr "#  group_catchup_on_exit=ON/OFF\n"
 
-#: src/lang.c:133
+#: src/lang.c:135
 msgid "#  group_format=STRING (eg. %n %m %R %L  %s  %F)\n"
 msgstr "#  group_format=å­—ä¸² (ä¾‹å¦‚ï¼š%n %m %R %L  %s  %F)\n"
 
-#: src/lang.c:134
+#: src/lang.c:136
 msgid "#  mail_8bit_header=ON/OFF\n"
 msgstr "#  mail_8 bit_header=ON/OFF\n"
 
-#: src/lang.c:135
+#: src/lang.c:137
 msgid "#  mail_mime_encoding=supported_encoding"
 msgstr "#  mail_mime_encoding=supported_encoding"
 
-#: src/lang.c:137
+#: src/lang.c:139
 msgid "#  ispell=STRING\n"
 msgstr "#  ispell=å­—ä¸²\n"
 
-#: src/lang.c:139
+#: src/lang.c:141
 msgid "#  maildir=STRING (eg. ~/Mail)\n"
 msgstr "#  maildir=å­—ä¸² (ä¾‹å¦‚ï¼š~/Mail)\n"
 
-#: src/lang.c:140
+#: src/lang.c:142
 msgid "#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr "#  mailing_list=å­—ä¸² (ä¾‹å¦‚ï¼šmajordomo@example.org)\n"
 
-#: src/lang.c:141
+#: src/lang.c:143
 msgid "#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr "#  mime_types_to_save=å­—ä¸² (ä¾‹å¦‚ï¼šimage/*,!image/bmp)\n"
 
-#: src/lang.c:142
+#: src/lang.c:144
 msgid "#  mark_ignore_tags=ON/OFF\n"
 msgstr "#  mark_ignore_tags=ON/OFF\n"
 
-#: src/lang.c:143
+#: src/lang.c:145
 msgid "#  mark_saved_read=ON/OFF\n"
 msgstr "#  mark_saved_read=ON/OFF\n"
 
-#: src/lang.c:144
+#: src/lang.c:146
 msgid "#  mime_forward=ON/OFF\n"
 msgstr "#  mime_forward=ON/OFF\n"
 
-#: src/lang.c:146
+#: src/lang.c:148
 msgid "#  mm_network_charset=supported_charset"
 msgstr "#  mm_network_charset=æ”¯æ´çš„å­—å…ƒé›†"
 
-#: src/lang.c:147
+#: src/lang.c:149
 msgid "#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr "#  undeclared_charset=å­—ä¸² (é è¨­æ˜¯ US-ASCII)\n"
 
-#: src/lang.c:149
+#: src/lang.c:151
+#, fuzzy
+msgid "#  undeclared_cs_guess=ON/OFF (default is OFF)\n"
+msgstr "#  undeclared_charset=å­—ä¸² (é è¨­æ˜¯ US-ASCII)\n"
+
+#: src/lang.c:154
 msgid "#  news_headers_to_display=STRING\n"
 msgstr "#  news_headers_to_display=å­—ä¸²\n"
 
-#: src/lang.c:150
+#: src/lang.c:155
 msgid "#  news_headers_to_not_display=STRING\n"
 msgstr "#  news_headers_to_not_display=å­—ä¸²\n"
 
-#: src/lang.c:151
+#: src/lang.c:156
 msgid "#  news_quote_format=STRING\n"
 msgstr "#  news_quote_format=å­—ä¸²\n"
 
-#: src/lang.c:152
+#: src/lang.c:157
 msgid "#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr "#  organization=å­—ä¸² (å¦‚æžœèµ·å§‹éƒ¨åˆ†èˆ‡ã€Ž/ã€è®€å–å¾žæª”æ¡ˆ)\n"
 
-#: src/lang.c:153
+#: src/lang.c:158
 msgid "#  pos_first_unread=ON/OFF\n"
 msgstr "#  pos_first_unread=ON/OFF\n"
 
-#: src/lang.c:154
+#: src/lang.c:159
 msgid "#  post_8bit_header=ON/OFF\n"
 msgstr "#  post_8 bit_header=ON/OFF\n"
 
-#: src/lang.c:155
+#: src/lang.c:160
 msgid "#  post_mime_encoding=supported_encoding"
 msgstr "#  post_mime_encoding=æ”¯æ´çš„ç·¨ç¢¼"
 
-#: src/lang.c:156
+#: src/lang.c:161
 msgid "#  post_process_type=NUM\n"
 msgstr "#  post_process_type=æ•¸å­—\n"
 
-#: src/lang.c:157
+#: src/lang.c:162
 msgid "#  post_process_view=ON/OFF\n"
 msgstr "#  post_process_view=ON/OFF\n"
 
-#: src/lang.c:158
+#: src/lang.c:163
 msgid "#  quick_kill_scope=STRING (e.g. talk.*)\n"
 msgstr "#  quick_kill_scope=å­—ä¸² (äº¦å³ talk.*)\n"
 
-#: src/lang.c:159
+#: src/lang.c:164
 msgid "#  quick_kill_expire=ON/OFF\n"
 msgstr "#  quick_kill_expire=ON/OFF\n"
 
-#: src/lang.c:160
+#: src/lang.c:165
 msgid "#  quick_kill_case=ON/OFF\n"
 msgstr "#  quick_kill_case=ON/OFF\n"
 
-#: src/lang.c:161
+#: src/lang.c:166
 msgid "#  quick_kill_header=NUM\n"
 msgstr "#  quick_kill_header=æ•¸å­—\n"
 
-#: src/lang.c:162 src/lang.c:171
+#: src/lang.c:167 src/lang.c:176
 msgid "#    0=Subject: (case sensitive)  1=Subject: (ignore case)\n"
 msgstr "#    0=Subject: (å¤§å°å¯«ç›¸ç¬¦)  1=Subject: (å¿½ç•¥å¤§å°å¯«)\n"
 
-#: src/lang.c:163 src/lang.c:172
+#: src/lang.c:168 src/lang.c:177
 msgid "#    2=From: (case sensitive)     3=From: (ignore case)\n"
 msgstr "#    2=From: (å¤§å°å¯«ç›¸ç¬¦)     3=From: (å¿½ç•¥å¤§å°å¯«)\n"
 
-#: src/lang.c:164 src/lang.c:173
+#: src/lang.c:169 src/lang.c:178
 msgid "#    4=Message-ID: & full References: line\n"
 msgstr "#    4=Message-ID: & å…¨éƒ¨ References: åˆ—\n"
 
-#: src/lang.c:165 src/lang.c:174
+#: src/lang.c:170 src/lang.c:179
 msgid "#    5=Message-ID: & last References: entry only\n"
 msgstr "#    5=åªæœ‰ Message-ID: & æœ€å¾Œä¸€ç­† References: æ¢ç›®\n"
 
-#: src/lang.c:166 src/lang.c:175
+#: src/lang.c:171 src/lang.c:180
 msgid "#    6=Message-ID: entry only     7=Lines:\n"
 msgstr "#    6=åªæœ‰ Message-ID: æ¢ç›®     7=Lines:\n"
 
-#: src/lang.c:167
+#: src/lang.c:172
 msgid "#  quick_select_scope=STRING\n"
 msgstr "#  quick_select_scope=å­—ä¸²\n"
 
-#: src/lang.c:168
+#: src/lang.c:173
 msgid "#  quick_select_expire=ON/OFF\n"
 msgstr "#  quick_select_expire=ON/OFF\n"
 
-#: src/lang.c:169
+#: src/lang.c:174
 msgid "#  quick_select_case=ON/OFF\n"
 msgstr "#  quick_select_case=ON/OFF\n"
 
-#: src/lang.c:170
+#: src/lang.c:175
 msgid "#  quick_select_header=NUM\n"
 msgstr "#  quick_select_header=æ•¸å­—\n"
 
-#: src/lang.c:176
+#: src/lang.c:181
 #, fuzzy
 msgid "#  quote_chars=STRING (%I for initials)\n"
 msgstr "#  quote_chars=å­—ä¸² (%%sï¼Œ%%S ç”¨æ–¼ç¸®å¯«)\n"
 
-#: src/lang.c:178
+#: src/lang.c:183
 msgid "#  print_header=ON/OFF\n"
 msgstr "#  print_header=ON/OFF\n"
 
-#: src/lang.c:180
+#: src/lang.c:185
 msgid "#  process_only_unread=ON/OFF\n"
 msgstr "#  process_only_unread=ON/OFF\n"
 
-#: src/lang.c:181
+#: src/lang.c:186
 msgid "#  prompt_followupto=ON/OFF\n"
 msgstr "#  prompt_followupto=ON/OFF\n"
 
-#: src/lang.c:182
+#: src/lang.c:187
 msgid "#  savedir=STRING (eg. ~user/News)\n"
 msgstr "#  savedir=å­—ä¸² (ä¾‹å¦‚ï¼š~user/News)\n"
 
-#: src/lang.c:183
+#: src/lang.c:188
 msgid "#  savefile=STRING (eg. =linux)\n"
 msgstr "#  savefile=å­—ä¸² (ä¾‹å¦‚ï¼š=linux)\n"
 
-#: src/lang.c:184
+#: src/lang.c:189
 msgid "#  sigfile=STRING (eg. $var/sig)\n"
 msgstr "#  sigfile=å­—ä¸² (ä¾‹å¦‚ï¼š$var/sig)\n"
 
-#: src/lang.c:185
+#: src/lang.c:190
 msgid "#  show_author=NUM\n"
 msgstr "#  show_author=æ•¸å­—\n"
 
-#: src/lang.c:186
+#: src/lang.c:191
 msgid "#  show_signatures=ON/OFF\n"
 msgstr "#  show_signatures=ON/OFF\n"
 
-#: src/lang.c:187
+#: src/lang.c:192
 #, fuzzy
 msgid "#  show_art_score=ON/OFF\n"
 msgstr "#  show_signatures=ON/OFF\n"
 
-#: src/lang.c:189
+#: src/lang.c:194
 #, fuzzy
 msgid "#  suppress_soft_hyphens=ON/OFF\n"
 msgstr "#  process_only_unread=ON/OFF\n"
 
-#: src/lang.c:191
+#: src/lang.c:196
 msgid "#  show_only_unread_arts=ON/OFF\n"
 msgstr "#  show_only_unread_arts=ON/OFF\n"
 
-#: src/lang.c:192
+#: src/lang.c:197
 msgid "#  sigdashes=ON/OFF\n"
 msgstr "#  sigdashes=ON/OFF\n"
 
-#: src/lang.c:193
+#: src/lang.c:198
 msgid "#  signature_repost=ON/OFF\n"
 msgstr "#  signature_repost=ON/OFF\n"
 
-#: src/lang.c:194
+#: src/lang.c:199
 msgid "#  sort_article_type=NUM\n"
 msgstr "#  sort_article_type=æ•¸å­—\n"
 
-#: src/lang.c:195
+#: src/lang.c:200
 msgid "#  sort_threads_type=NUM\n"
 msgstr "#  sort_threads_type=æ•¸å­—\n"
 
-#: src/lang.c:196
+#: src/lang.c:201
 msgid "#  tex2iso_conv=ON/OFF\n"
 msgstr "#  tex2iso_conv=ON/OFF\n"
 
-#: src/lang.c:197
+#: src/lang.c:202
 msgid "#  thread_catchup_on_exit=ON/OFF\n"
 msgstr "#  thread_catchup_on_exit=ON/OFF\n"
 
-#: src/lang.c:198
+#: src/lang.c:203
 msgid "#  thread_articles=NUM"
 msgstr "#  thread_articles=æ•¸å­—"
 
-#: src/lang.c:199
+#: src/lang.c:204
 msgid "#  thread_format=STRING (eg. %n %m [%L]  %T  %F)\n"
 msgstr "#  thread_format=å­—ä¸² (ä¾‹å¦‚ï¼š%n %m [%L]  %T  %F)\n"
 
-#: src/lang.c:200
+#: src/lang.c:205
 msgid "#  thread_perc=NUM\n"
 msgstr "#  thread_perc=æ•¸å­—\n"
 
-#: src/lang.c:201
+#: src/lang.c:206
 msgid "#  trim_article_body=NUM\n"
 msgstr "#  trim_article_body=æ•¸å­—\n"
 
-#: src/lang.c:202
+#: src/lang.c:207
 msgid "#    0 = Don't trim article body\n"
 msgstr "#    0 = ä¸ä¿®å‰ªæ–‡ç« å…§æ–‡\n"
 
-#: src/lang.c:203
+#: src/lang.c:208
 msgid "#    1 = Skip leading blank lines\n"
 msgstr "#    1 = è·³éŽå‰å°Žç©ºåˆ—\n"
 
-#: src/lang.c:204
+#: src/lang.c:209
 msgid "#    2 = Skip trailing blank lines\n"
 msgstr "#    2 = è·³éŽå°¾éš¨ç©ºåˆ—\n"
 
-#: src/lang.c:205
+#: src/lang.c:210
 msgid "#    3 = Skip leading and trailing blank lines\n"
 msgstr "#    3 = è·³éŽå‰å°Žå’Œå°¾éš¨ç©ºåˆ—\n"
 
-#: src/lang.c:206
+#: src/lang.c:211
 msgid "#    4 = Compact multiple blank lines between text blocks\n"
 msgstr "#    4 = å£“ç¸®æ–‡å­—å€å¡Šä¹‹é–“çš„å¤šé‡ç©ºåˆ—\n"
 
-#: src/lang.c:207
+#: src/lang.c:212
 msgid ""
 "#    5 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading blank lines\n"
@@ -604,7 +614,7 @@ msgstr ""
 "#    5 = å£“ç¸®æ–‡å­—å€å¡Šä¹‹é–“çš„å¤šé‡ç©ºåˆ—ä¸¦è·³éŽ\n"
 "#        å‰å°Žç©ºåˆ—\n"
 
-#: src/lang.c:208
+#: src/lang.c:213
 msgid ""
 "#    6 = Compact multiple blank lines between text blocks and skip\n"
 "#        trailing blank lines\n"
@@ -612,7 +622,7 @@ msgstr ""
 "#    6 = å£“ç¸®æ–‡å­—å€å¡Šä¹‹é–“çš„å¤šé‡ç©ºåˆ—ä¸¦è·³éŽ\n"
 "#        å°¾éš¨ç©ºåˆ—\n"
 
-#: src/lang.c:209
+#: src/lang.c:214
 msgid ""
 "#    7 = Compact multiple blank lines between text blocks and skip\n"
 "#        leading and trailing blank lines\n"
@@ -620,32 +630,32 @@ msgstr ""
 "#    7 = å£“ç¸®æ–‡å­—å€å¡Šä¹‹é–“çš„å¤šé‡ç©ºåˆ—ä¸¦è·³éŽ\n"
 "#        å‰å°Žå’Œå°¾éš¨ç©ºåˆ—\n"
 
-#: src/lang.c:210
+#: src/lang.c:215
 msgid "#  verbatim_handling=ON/OFF\n"
 msgstr "#  verbatim_handling=ON/OFF\n"
 
-#: src/lang.c:212
+#: src/lang.c:217
 #, fuzzy
 msgid "#  extquote_handling=ON/OFF\n"
 msgstr "#  verbatim_handling=ON/OFF\n"
 
-#: src/lang.c:214
+#: src/lang.c:219
 msgid "#  wrap_on_next_unread=ON/OFF\n"
 msgstr "#  wrap_on_next_unread=ON/OFF\n"
 
-#: src/lang.c:215
+#: src/lang.c:220
 msgid "#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr "#  x_body=å­—ä¸² (ä¾‹å¦‚ï¼š~/.tin/extra-body-text)\n"
 
-#: src/lang.c:216
+#: src/lang.c:221
 msgid "#  x_comment_to=ON/OFF\n"
 msgstr "#  x_comment_to=ON/OFF\n"
 
-#: src/lang.c:217
+#: src/lang.c:222
 msgid "#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr "#  x_headers=å­—ä¸² (ä¾‹å¦‚ï¼š~/.tin/extra-headers)\n"
 
-#: src/lang.c:218
+#: src/lang.c:223
 msgid ""
 "#\n"
 "# Note that it is best to put general (global scoping)\n"
@@ -653,7 +663,7 @@ msgstr ""
 "#\n"
 "# è¦æ³¨æ„çš„æ˜¯ï¼Œæœ€å¥½æ˜¯æ”¾åˆ°ä¸€èˆ¬ç’°å¢ƒ (å…¨åŸŸç¯„åœ)\n"
 
-#: src/lang.c:219
+#: src/lang.c:224
 msgid ""
 "# entries first followed by group specific entries.\n"
 "#\n"
@@ -661,62 +671,66 @@ msgstr ""
 "# æ¢ç›®å…ˆæ–¼ç¾¤çµ„ç‰¹å®šçš„æ¢ç›®ã€‚\n"
 "#\n"
 
-#: src/lang.c:220
+#: src/lang.c:225
 msgid "############################################################################\n"
 msgstr "############################################################################\n"
 
-#: src/lang.c:221
+#: src/lang.c:226
 msgid "Attributes Menu Commands"
 msgstr "å±¬æ€§åŠŸèƒ½è¡¨æŒ‡ä»¤"
 
-#: src/lang.c:222
+#: src/lang.c:227
 #, c-format
 msgid "attribute with no scope: %s"
 msgstr "å±¬æ€§ä¸å…·ä»»ä½•ç¯„åœï¼š%s"
 
-#: src/lang.c:224
+#: src/lang.c:229
 #, c-format
 msgid "%d Authentication failed"
 msgstr "%d èªè­‰å¤±æ•—"
 
-#: src/lang.c:225
+#: src/lang.c:230
 #, c-format
 msgid "NNTP authorization password not found for %s"
 msgstr "æ‰¾ä¸åˆ°ç”¨æ–¼ %s çš„ NNTP æŽˆæ¬Šå¯†ç¢¼"
 
-#: src/lang.c:226
+#: src/lang.c:231
 msgid "Server expects authentication.\n"
 msgstr "ä¼ºæœå™¨é æœŸéœ€è¦èªè­‰ã€‚\n"
 
-#: src/lang.c:227
+#: src/lang.c:232
 msgid "    Please enter password: "
 msgstr "    è«‹è¼¸å…¥å¯†ç¢¼ï¼š"
 
-#: src/lang.c:228
+#: src/lang.c:233
 msgid "    Please enter username: "
 msgstr "    è«‹è¼¸å…¥ä½¿ç”¨è€…åç¨±ï¼š"
 
-#: src/lang.c:229
+#: src/lang.c:234
 #, c-format
 msgid "Authorized for user: %s\n"
 msgstr "ä½¿ç”¨è€…ç²å¾—æŽˆæ¬Šï¼š%s\n"
 
-#: src/lang.c:230
+#: src/lang.c:235
 #, c-format
 msgid "Authorization failed for user: %s\n"
 msgstr "ä½¿ç”¨è€…æŽˆæ¬Šå¤±æ•—ï¼š%s\n"
 
-#: src/lang.c:232
+#: src/lang.c:236
+msgid "No supported authorization method available in current state!\n"
+msgstr ""
+
+#: src/lang.c:238
 #, c-format
 msgid "Author search backwards [%s]> "
 msgstr "å‘å¾Œæœå°‹ä½œè€… [%s]>"
 
-#: src/lang.c:233
+#: src/lang.c:239
 #, c-format
 msgid "Author search forwards [%s]> "
 msgstr "å‘å‰æœå°‹ä½œè€… [%s]>"
 
-#: src/lang.c:234
+#: src/lang.c:240
 #, c-format
 msgid ""
 "\n"
@@ -725,186 +739,192 @@ msgstr ""
 "\n"
 "è‡ªå‹•è¨‚é–± %s"
 
-#: src/lang.c:235
+#: src/lang.c:241
 msgid "Autosubscribing groups...\n"
 msgstr "è‡ªå‹•è¨‚é–±ç¾¤çµ„â€¦\n"
 
-#: src/lang.c:236
+#: src/lang.c:242
 #, c-format
 msgid "Autoselecting articles (use '%s' to see all unread) ..."
 msgstr "è‡ªå‹•é¸å–æ–‡ç«  (ä½¿ç”¨ã€Ž%sã€ä»¥çœ‹åˆ°æ‰€æœ‰æœªè®€)â€¦"
 
-#: src/lang.c:238
+#: src/lang.c:244
 #, c-format
 msgid ""
 "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 msgstr "è¦å¼µè²¼çš„æ–‡ç« å°Žè‡´éŒ¯èª¤/è­¦å‘Šã€‚%s=é›¢é–‹ï¼Œ%s=é¸å–®ï¼Œ%s=ç·¨è¼¯ï¼š"
 
-#: src/lang.c:239
+#: src/lang.c:246
 #, c-format
 msgid "Unrecognized attribute: %s"
 msgstr "ç„¡æ³•è¾¨è­˜çš„å±¬æ€§ï¼š%s"
 
-#: src/lang.c:240
+#: src/lang.c:248
 #, c-format
 msgid "Bad command. Type '%s' for help."
 msgstr "ä¸ç•¶çš„å‘½ä»¤ã€‚è¼¸å…¥ã€Ž%sã€ä»¥ç²å¾—èªªæ˜Žã€‚"
 
-#: src/lang.c:242
+#: src/lang.c:249
 msgid "Base article"
 msgstr "åŸºåº•æ–‡ç« "
 
-#: src/lang.c:243
+#: src/lang.c:250
 msgid "Base article range"
 msgstr "åŸºåº•æ–‡ç« ç¯„åœ"
 
-#: src/lang.c:244
+#: src/lang.c:251
 #, fuzzy, c-format
 msgid "%s: Updating of index files not supported: cache_overview_files=%s"
 msgstr "%sï¼šä¸æ”¯æ´ç´¢å¼•æª”æ¡ˆçš„æ›´æ–°\n"
 
-#: src/lang.c:245
+#: src/lang.c:252
 msgid "*** Beginning of article ***"
 msgstr "*** æ–‡ç« é–‹é ­ ***"
 
-#: src/lang.c:246
+#: src/lang.c:253
 msgid "*** Beginning of page ***"
 msgstr "*** é é¢é–‹é ­ ***"
 
-#: src/lang.c:248
-msgid "bytes"
-msgstr "ä½å…ƒçµ„"
-
-#: src/lang.c:251
+#: src/lang.c:255
 #, c-format
 msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr "å–æ¶ˆ (åˆªé™¤) æˆ–å–ä»£ (è¦†å¯«) æ–‡ç«  [%%s]ï¼Ÿ(%s/%s/%s)ï¼š"
 
-#: src/lang.c:252
+#: src/lang.c:256
 msgid "Cancelling article..."
 msgstr "å–æ¶ˆæ–‡ç« â€¦"
 
-#: src/lang.c:254
+#: src/lang.c:258
 #, c-format
 msgid "Cannot create %s"
 msgstr "ç„¡æ³•å»ºç«‹ %s"
 
-#: src/lang.c:257
+#: src/lang.c:261
 #, c-format
 msgid "Can't find base article %d"
 msgstr "æ‰¾ä¸åˆ°åŸºåº•æ–‡ç«  %d"
 
-#: src/lang.c:259
+#: src/lang.c:263
 #, c-format
 msgid "Can't open %s"
 msgstr "ç„¡æ³•é–‹å•Ÿ %s"
 
-#: src/lang.c:260
+#: src/lang.c:264
 #, c-format
 msgid "Couldn't open %s for saving"
 msgstr "ç„¡æ³•é–‹å•Ÿ %s ä»¥å„²å­˜"
 
-#: src/lang.c:261
+#: src/lang.c:265
 msgid "*** Posting not allowed ***"
 msgstr "*** ä¸å…è¨±å¼µè²¼ ***"
 
-#: src/lang.c:262
+#: src/lang.c:266
 #, c-format
 msgid "Posting is not allowed to %s"
 msgstr "ä¸å…è¨±å¼µè²¼åˆ° %s"
 
-#: src/lang.c:264
+#: src/lang.c:268
 #, c-format
 msgid "Can't retrieve %s"
 msgstr "ç„¡æ³•å–å›ž %s"
 
-#: src/lang.c:266
+#: src/lang.c:270
 msgid "Can't supersede in mailgroups, try repost instead."
 msgstr ""
 
-#: src/lang.c:267
+#: src/lang.c:271
 #, c-format
 msgid "%s is a directory"
 msgstr "%s æ˜¯å€‹ç›®éŒ„"
 
-#: src/lang.c:268
+#: src/lang.c:272
 msgid "Catchup"
 msgstr "è¨­å›žæœªè®€"
 
-#: src/lang.c:269
+#: src/lang.c:273
 #, c-format
 msgid "Catchup %s..."
 msgstr "è¨­å›žæœªè®€ %sâ€¦"
 
-#: src/lang.c:270
+#: src/lang.c:274
 msgid "Catchup all groups entered during this session?"
 msgstr "å°‡æ‰€æœ‰åœ¨é€™å€‹ä½œæ¥­éšŽæ®µæœŸé–“å…§é€²å…¥çš„ç¾¤çµ„è¨­å›žæœªè®€ï¼Ÿ"
 
-#: src/lang.c:271
+#: src/lang.c:275
 msgid "You have tagged articles in this group - catchup anyway?"
 msgstr "æ‚¨å·²åœ¨é€™å€‹ç¾¤çµ„ä¸­æ¨™å®šæ–‡ç«  - é‚„æ˜¯è¦è¨­å›žæœªè®€ï¼Ÿ"
 
-#: src/lang.c:272
+#: src/lang.c:276
 #, c-format
 msgid "%s %d %s in %lu seconds\n"
 msgstr "%s %d %s æ–¼ %lu ç§’å®Œæˆ\n"
 
-#: src/lang.c:273
+#: src/lang.c:277
 msgid "Caughtup"
 msgstr "å·²è¨­å›žæœªè®€"
 
-#: src/lang.c:274
+#: src/lang.c:278
 msgid "Check Prepared Article"
 msgstr "æª¢æŸ¥å‚™å¦¥çš„æ–‡ç« "
 
-#: src/lang.c:275
+#: src/lang.c:279
 msgid "Checking for new groups... "
 msgstr "æª¢æŸ¥çœ‹çœ‹æ–°ç¾¤çµ„â€¦"
 
-#: src/lang.c:276
+#: src/lang.c:280
 #, fuzzy
 msgid "Checking for news...\n"
 msgstr "æª¢æŸ¥çœ‹çœ‹æ–°èžâ€¦"
 
-#: src/lang.c:277
+#: src/lang.c:281
 #, c-format
 msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr "å¾Œç½®è™•ç† %s=å¦ï¼Œ%s=æ˜¯ï¼Œ%s=sharï¼Œ%s=é›¢é–‹ï¼š"
 
-#: src/lang.c:279
+#: src/lang.c:283
 msgid "ANSI color disabled"
 msgstr "ANSI é¡è‰²å·²åœç”¨"
 
-#: src/lang.c:280
+#: src/lang.c:284
 msgid "ANSI color enabled"
 msgstr "ANSI é¡è‰²å·²å•Ÿç”¨"
 
-#: src/lang.c:282
+#: src/lang.c:286
 #, c-format
 msgid "Command failed: %s"
 msgstr "å‘½ä»¤å¤±æ•—ï¼š%s"
 
-#: src/lang.c:284
+#: src/lang.c:288
 msgid "Mark not selected articles read?"
 msgstr "æ¨™è¨˜æœªé¸æ–‡ç« ç‚ºå·²è®€ï¼Ÿ"
 
-#: src/lang.c:285
+#: src/lang.c:289
 #, fuzzy
 msgid "Connection Info"
 msgstr ""
 "\n"
 "é€£ç·šåˆ° %sï¼š"
 
-#: src/lang.c:286
+#: src/lang.c:290
 msgid "Reading from local spool.\n"
 msgstr ""
 
-#: src/lang.c:287
+#: src/lang.c:291
 #, fuzzy
 msgid "Reading saved news.\n"
 msgstr "é‡æ–°è®€å– %sâ€¦"
 
-#: src/lang.c:295
+#: src/lang.c:292
+#, fuzzy
+msgid ""
+"\n"
+"Configuration files:\n"
+"--------------------\n"
+msgstr ""
+"é¸é …æ“ä½œ\n"
+"-----------------"
+
+#: src/lang.c:300
 #, fuzzy
 msgid ""
 "\n"
@@ -914,11 +934,11 @@ msgstr ""
 "é¡¯ç¤ºå±¬æ€§\n"
 "------------------"
 
-#: src/lang.c:300
+#: src/lang.c:305
 msgid "COMPRESS      :"
 msgstr ""
 
-#: src/lang.c:301
+#: src/lang.c:306
 #, fuzzy
 msgid ""
 "\n"
@@ -928,82 +948,87 @@ msgstr ""
 "é¸é …æ“ä½œ\n"
 "-----------------"
 
-#: src/lang.c:303
+#: src/lang.c:308
 #, c-format
 msgid " DEFLATE %s\n"
 msgstr ""
 
-#: src/lang.c:304
+#: src/lang.c:309
 msgid "(enabled)"
 msgstr ""
 
-#: src/lang.c:305
+#: src/lang.c:310
 msgid "(inactive)"
 msgstr ""
 
-#: src/lang.c:307
+#: src/lang.c:312
 msgid " DEFLATE (not supported)\n"
 msgstr ""
 
-#: src/lang.c:310
+#: src/lang.c:315
 msgid "(disabled)"
 msgstr ""
 
-#: src/lang.c:311
+#: src/lang.c:316
 #, c-format
 msgid "NNTP TIMEOUT  : %d seconds %s\n"
 msgstr ""
 
-#: src/lang.c:313
+#: src/lang.c:318
 #, c-format
 msgid "IMPLEMENTATION: %s\n"
 msgstr ""
 
-#: src/lang.c:315
+#: src/lang.c:320
 #, c-format
 msgid "MAXARTNUM     : %s\n"
 msgstr ""
 
-#: src/lang.c:317
+#: src/lang.c:322
 #, fuzzy, c-format
 msgid "Reading via NNTP (%s).\n"
 msgstr "é‡æ–°è®€å– %sâ€¦"
 
-#: src/lang.c:318
+#: src/lang.c:323
 #, c-format
 msgid "NNTPPORT      : %u\n"
 msgstr ""
 
-#: src/lang.c:319
+#: src/lang.c:324
 #, fuzzy
 msgid "read only"
 msgstr "æœªè®€ "
 
-#: src/lang.c:320
+#: src/lang.c:325
 msgid "read/write"
 msgstr ""
 
-#: src/lang.c:321
+#: src/lang.c:326
 #, c-format
 msgid "NNTPSERVER    : %s\n"
 msgstr ""
 
-#: src/lang.c:323
+#: src/lang.c:327
+#, c-format
+msgid "CONNECTIONTYPE: %s\n"
+msgstr ""
+
+#: src/lang.c:329
 #, c-format
 msgid "Reading %s via NNTPS (%s; "
 msgstr ""
 
-#: src/lang.c:325
+#: src/lang.c:330
 #, fuzzy, c-format
 msgid "Certificate #%d\n"
 msgstr "ç·¨è¼¯ç¯©é¸å™¨æª”æ¡ˆ"
 
-#: src/lang.c:327
+#: src/lang.c:332
 #, c-format
 msgid "Issuer : %s\n"
 msgstr ""
 
-#: src/lang.c:328
+#: src/lang.c:333
 #, fuzzy
 msgid ""
 "\n"
@@ -1013,12 +1038,12 @@ msgstr ""
 "ç¾¤çµ„/è¨Žè«–ä¸²/æ–‡ç« æ“ä½œ\n"
 "-------------------------------"
 
-#: src/lang.c:329
+#: src/lang.c:334
 #, fuzzy, c-format
 msgid "Subject: %s\n"
 msgstr "ä¸»æ—¨"
 
-#: src/lang.c:330
+#: src/lang.c:335
 #, fuzzy
 msgid ""
 "\n"
@@ -1028,219 +1053,236 @@ msgstr ""
 "ç¯„åœæ“ä½œ\n"
 "----------------"
 
-#: src/lang.c:333
+#: src/lang.c:336
+msgid "trusted"
+msgstr ""
+
+#: src/lang.c:337
+msgid "untrusted"
+msgstr ""
+
+#: src/lang.c:339
 msgid "UNEXPECTED, possible BUG"
 msgstr ""
 
-#: src/lang.c:334
+#: src/lang.c:340
 msgid "tolerated as \"-k\" (insecure) requested"
 msgstr ""
 
-#: src/lang.c:335
+#: src/lang.c:341
 #, c-format
 msgid ""
 "Server certificate verification FAILED:\n"
 "\t%s (%s)\n"
 msgstr ""
 
-#: src/lang.c:336
+#: src/lang.c:342
 #, fuzzy
 msgid "Server certificate verified successfully.\n"
 msgstr "newsrc æª”æ¡ˆå·²æˆåŠŸå„²å­˜ã€‚\n"
 
-#: src/lang.c:338
-msgid "trusted"
-msgstr ""
-
-#: src/lang.c:339
-msgid "untrusted"
-msgstr ""
-
-#: src/lang.c:342
+#: src/lang.c:346
 msgid "Server certificate verification FAILED: <can't get reason>\n"
 msgstr ""
 
-#: src/lang.c:346
+#: src/lang.c:350
 #, c-format
 msgid "%s %s (strength %d)\n"
 msgstr ""
 
-#: src/lang.c:353
+#: src/lang.c:357
 #, fuzzy, c-format
 msgid "Cook article failed, %s is exiting"
 msgstr "èž¢å¹•å¤ªå°ï¼Œ%s æ­£åœ¨é›¢é–‹\n"
 
-#: src/lang.c:354
+#: src/lang.c:358
 msgid "<CR>"
 msgstr "<CR>"
 
-#: src/lang.c:355
+#: src/lang.c:359
 msgid "Creating active file for saved groups...\n"
 msgstr "ç‚ºå·²å­˜ç¾¤çµ„å»ºç«‹ç¾ç”¨æª”æ¡ˆâ€¦\n"
 
-#: src/lang.c:356
-msgid "Creating newsrc file...\n"
+#: src/lang.c:360
+#, fuzzy, c-format
+msgid "Creating %s file...\n"
 msgstr "å»ºç«‹ newsrc æª”æ¡ˆâ€¦\n"
 
-#: src/lang.c:358 src/lang.c:1666 src/lang.c:1686
+#: src/lang.c:362 src/lang.c:1715 src/lang.c:1735
 msgid "Default"
 msgstr "é è¨­"
 
-#: src/lang.c:359
+#: src/lang.c:363
 msgid "Delete saved files that have been post processed?"
 msgstr "åˆªé™¤ç¶“éŽå¾Œç½®è™•ç†çš„å·²å­˜æª”æ¡ˆï¼Ÿ"
 
-#: src/lang.c:360
+#: src/lang.c:364
 msgid "Deleting temporary files..."
 msgstr "åˆªé™¤æš«å­˜æª”æ¡ˆâ€¦"
 
-#: src/lang.c:362
+#: src/lang.c:366
 msgid "*** End of article ***"
 msgstr "*** æ–‡ç« çµæŸ ***"
 
-#: src/lang.c:363
+#: src/lang.c:367
 msgid "*** End of articles ***"
 msgstr "*** æ–‡ç« çµæŸ ***"
 
-#: src/lang.c:364
+#: src/lang.c:368
 msgid "*** End of attachments ***"
 msgstr "*** é™„ä»¶çµæŸ ***"
 
-#: src/lang.c:365
+#: src/lang.c:369
 msgid "*** End of groups ***"
 msgstr "*** ç¾¤çµ„çµæŸ ***"
 
-#: src/lang.c:366
+#: src/lang.c:370
 msgid "*** End of page ***"
 msgstr "*** é é¢çµæŸ ***"
 
-#: src/lang.c:367
+#: src/lang.c:371
 #, fuzzy
 msgid "*** End of posted articles ***"
 msgstr "*** æ–‡ç« çµæŸ ***"
 
-#: src/lang.c:368
+#: src/lang.c:372
 msgid "*** End of scopes ***"
 msgstr "*** ç¯„åœçµæŸ ***"
 
-#: src/lang.c:369
+#: src/lang.c:373
 msgid "*** End of thread ***"
 msgstr "*** è¨Žè«–ä¸²çµæŸ ***"
 
-#: src/lang.c:370
+#: src/lang.c:374
 msgid "*** End of URLs ***"
 msgstr "*** ç¶²å€çµæŸ ***"
 
-#: src/lang.c:371
+#: src/lang.c:375
 msgid "Enter limit of articles to get> "
 msgstr "è¼¸å…¥æå–æ–‡ç« çš„é™åˆ¶>"
 
-#: src/lang.c:372
+#: src/lang.c:376
 msgid "Enter Message-ID to go to> "
 msgstr "è¼¸å…¥è¦å‰å¾€çš„è¨Šæ¯è­˜åˆ¥è™Ÿ>"
 
-#: src/lang.c:373
+#: src/lang.c:377
 msgid " and enter next unread thread"
 msgstr " ä¸¦é€²å…¥ä¸‹ä¸€å€‹æœªè®€çš„è¨Žè«–ä¸²"
 
-#: src/lang.c:374
+#: src/lang.c:378
 msgid " and enter next unread article"
 msgstr " ä¸¦é€²å…¥ä¸‹ä¸€ç¯‡æœªè®€çš„æ–‡ç« "
 
-#: src/lang.c:375
+#: src/lang.c:379
 msgid " and enter next unread group"
 msgstr " ä¸¦é€²å…¥ä¸‹ä¸€å€‹æœªè®€çš„ç¾¤çµ„"
 
-#: src/lang.c:376
+#: src/lang.c:380
 msgid "Enter option number> "
 msgstr "è¼¸å…¥é¸é …æ•¸å­—>"
 
-#: src/lang.c:377
+#: src/lang.c:381
 #, c-format
 msgid "Enter range [%s]> "
 msgstr "è¼¸å…¥ç¯„åœ [%s]>"
 
-#: src/lang.c:378
-msgid ""
-"\n"
-"Warning: Approved: header used.\n"
-msgstr ""
-"\n"
-"è­¦å‘Šï¼šå·²ä½¿ç”¨ Approved: æ¨™é ­ã€‚\n"
-
 #: src/lang.c:382
-msgid ""
-"\n"
-"Error: Bad address in Approved: header.\n"
-msgstr ""
-"\n"
-"éŒ¯èª¤ï¼šä¸ç•¶çš„åœ°å€æ–¼ Approved: æ¨™é ­ã€‚\n"
+#, fuzzy, c-format
+msgid "Error: Could not appended %s to %s"
+msgstr "éŒ¯èª¤ï¼šé‡æ–°å‘½å %s ç‚º %s"
 
 #: src/lang.c:383
 msgid ""
 "\n"
-"Error: Bad address in From: header.\n"
+"Warning: Approved: header used.\n"
 msgstr ""
 "\n"
-"éŒ¯èª¤ï¼šä¸ç•¶çš„åœ°å€æ–¼ From: æ¨™é ­ã€‚\n"
+"è­¦å‘Šï¼šå·²ä½¿ç”¨ Approved: æ¨™é ­ã€‚\n"
 
 #: src/lang.c:384
-msgid ""
-"\n"
-"Error: Bad FQDN in Message-ID: header.\n"
+#, c-format
+msgid "  Line %d: \"%s\": given string too long.\n"
 msgstr ""
-"\n"
-"éŒ¯èª¤ï¼šä¸ç•¶çš„ FQDN æ–¼ Message-ID: æ¨™é ­ã€‚\n"
 
 #: src/lang.c:385
+#, fuzzy, c-format
+msgid "  Line %d: \"%s\": unrecognized attribute.\n"
+msgstr "ç„¡æ³•è¾¨è­˜çš„å±¬æ€§ï¼š%s"
+
+#: src/lang.c:386
+#, c-format
+msgid "  Line %d: \"%s\": malformed line, '=' missing.\n"
+msgstr ""
+
+#: src/lang.c:390
+#, fuzzy, c-format
 msgid ""
 "\n"
-"Error: Bad address in Reply-To: header.\n"
+"Error: Bad address in \"%s\" header.\n"
 msgstr ""
 "\n"
-"éŒ¯èª¤ï¼šä¸ç•¶çš„åœ°å€æ–¼ Reply-To: æ¨™é ­ã€‚\n"
+"éŒ¯èª¤ï¼šä¸ç•¶çš„åœ°å€æ–¼ To: æ¨™é ­ã€‚\n"
 
-#: src/lang.c:386
+#: src/lang.c:391
 msgid ""
 "\n"
-"Error: Bad address in To: header.\n"
+"Error: Bad FQDN in Message-ID: header.\n"
 msgstr ""
 "\n"
-"éŒ¯èª¤ï¼šä¸ç•¶çš„åœ°å€æ–¼ To: æ¨™é ­ã€‚\n"
+"éŒ¯èª¤ï¼šä¸ç•¶çš„ FQDN æ–¼ Message-ID: æ¨™é ­ã€‚\n"
 
-#: src/lang.c:388
+#: src/lang.c:393
+#, fuzzy, c-format
+msgid "Can't use literal IPv%d-address %s with TLS (-T)"
+msgstr "æ²’æœ‰éƒµä»¶åœ°å€"
+
+#: src/lang.c:396
 #, c-format
 msgid "Can't unlock %s"
 msgstr "ç„¡æ³•è§£é™¤éŽ–å®š %s"
 
-#: src/lang.c:389
+#: src/lang.c:397
 #, c-format
 msgid "Couldn't dotlock %s - article not appended!"
 msgstr "ç„¡æ³•é»žéŽ– %s - æ–‡ç« æœªé™„åŠ ï¼"
 
-#: src/lang.c:390
+#: src/lang.c:398
 #, c-format
 msgid "Couldn't lock %s - article not appended!"
 msgstr "ç„¡æ³•éŽ–å®š %s - æ–‡ç« æœªé™„åŠ ï¼"
 
-#: src/lang.c:393
+#: src/lang.c:401
 #, c-format
 msgid ""
 "Server requires authentication but compression (-C) is already active.\n"
 "Restart %s with -A cmd.-line switch in conjunction with -C.\n"
 msgstr ""
 
-#: src/lang.c:396
+#: src/lang.c:404
 #, c-format
 msgid "Corrupted file %s"
 msgstr "å·²æå£žæª”æ¡ˆ %s"
 
-#: src/lang.c:397
+#: src/lang.c:406
 #, c-format
 msgid "couldn't expand %s\n"
 msgstr "ç„¡æ³•å±•é–‹ %s\n"
 
-#: src/lang.c:399
+#: src/lang.c:408
+#, c-format
+msgid "Error: Custom format empty. Using default \"%s\"."
+msgstr ""
+
+#: src/lang.c:409
+#, fuzzy
+msgid ""
+"\n"
+"Error: Article is empty.\n"
+msgstr ""
+"\n"
+"éŒ¯èª¤ï¼šã€Œ%s:ã€é€™åˆ—æ˜¯ç©ºçš„ã€‚\n"
+
+#: src/lang.c:411
 msgid ""
 "\n"
 "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n"
@@ -1248,36 +1290,41 @@ msgstr ""
 "\n"
 "éŒ¯èª¤ï¼šä¸å…è¨±è·Ÿè²¼ã€Œposterã€å’Œæ–°èžç¾¤çµ„ï¼\n"
 
-#: src/lang.c:400
+#: src/lang.c:412
 #, c-format
 msgid "Error: Custom format exceeds screen width. Using default \"%s\"."
 msgstr ""
 
-#: src/lang.c:401
+#: src/lang.c:413
 msgid "Internal error in GNKSA routine - send bug report.\n"
 msgstr "GNKSA å¸¸å¼ä¸­ç™¼ç”Ÿå…§éƒ¨éŒ¯èª¤ - ç™¼é€éŒ¯èª¤å ±å‘Šã€‚\n"
 
-#: src/lang.c:402
+#: src/lang.c:414
 msgid "Left angle bracket missing in route address.\n"
 msgstr "åœ¨è·¯ç”±åœ°å€ä¸­ç¼ºå°‘å·¦è§’æ‹¬è™Ÿã€‚\n"
 
-#: src/lang.c:403
+#: src/lang.c:415
 msgid "Left parenthesis missing in old-style address.\n"
 msgstr "åœ¨èˆŠå¼åœ°å€ä¸­ç¼ºå°‘å·¦æ‹¬è™Ÿã€‚\n"
 
-#: src/lang.c:404
+#: src/lang.c:416
 msgid "Right parenthesis missing in old-style address.\n"
 msgstr "åœ¨èˆŠå¼åœ°å€ä¸­ç¼ºå°‘å³æ‹¬è™Ÿã€‚\n"
 
-#: src/lang.c:405
+#: src/lang.c:417
 msgid "At-sign missing in mail address.\n"
 msgstr "åœ¨éƒµä»¶åœ°å€ä¸­ç¼ºå°‘ @ ç¬¦è™Ÿã€‚\n"
 
-#: src/lang.c:406
+#: src/lang.c:418
+#, fuzzy
+msgid "Right angle bracket missing in route address.\n"
+msgstr "åœ¨è·¯ç”±åœ°å€ä¸­ç¼ºå°‘å·¦è§’æ‹¬è™Ÿã€‚\n"
+
+#: src/lang.c:419
 msgid "Single component FQDN is not allowed. Add your domain.\n"
 msgstr "ä¸å…è¨±å–®ä¸€çµ„æˆ FQDNã€‚è«‹åŠ å…¥æ‚¨çš„ç¶²åŸŸã€‚\n"
 
-#: src/lang.c:407
+#: src/lang.c:420
 msgid ""
 "Invalid domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1285,7 +1332,7 @@ msgstr ""
 "ç„¡æ•ˆçš„ç¶²åŸŸã€‚å¦‚æžœæ‚¨çš„é ‚å±¤ç¶²åŸŸçœŸçš„å­˜åœ¨ï¼Œè«‹ç™¼é€éŒ¯èª¤å ±å‘Šã€‚\n"
 "ä½¿ç”¨ .invalid åšç‚ºå½è£åœ°å€çš„é ‚å±¤ç¶²åŸŸã€‚\n"
 
-#: src/lang.c:408
+#: src/lang.c:421
 msgid ""
 "Illegal domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1293,7 +1340,7 @@ msgstr ""
 "ä¸åˆæ³•çš„ç¶²åŸŸã€‚å¦‚æžœæ‚¨çš„é ‚å±¤ç¶²åŸŸçœŸçš„å­˜åœ¨ï¼Œè«‹ç™¼é€éŒ¯èª¤å ±å‘Šã€‚\n"
 "ä½¿ç”¨ .invalid åšç‚ºå½è£åœ°å€çš„é ‚å±¤ç¶²åŸŸã€‚\n"
 
-#: src/lang.c:409
+#: src/lang.c:422
 msgid ""
 "Unknown domain. Send bug report if your top level domain really exists.\n"
 "Use .invalid as top level domain for munged addresses.\n"
@@ -1301,52 +1348,52 @@ msgstr ""
 "ä¸æ˜Žç¶²åŸŸã€‚å¦‚æžœæ‚¨çš„é ‚å±¤ç¶²åŸŸçœŸçš„å­˜åœ¨ï¼Œè«‹ç™¼é€éŒ¯èª¤å ±å‘Šã€‚\n"
 "ä½¿ç”¨ .invalid åšç‚ºå½è£åœ°å€çš„é ‚å±¤ç¶²åŸŸã€‚\n"
 
-#: src/lang.c:410
+#: src/lang.c:423
 msgid "Illegal character in FQDN.\n"
 msgstr "FQDN ä¸­æœ‰ä¸åˆæ³•çš„å­—å…ƒã€‚\n"
 
-#: src/lang.c:411
+#: src/lang.c:424
 msgid "Zero length FQDN component not allowed.\n"
 msgstr "ä¸å…è¨±é›¶é•·åº¦çš„ FQDN çµ„æˆã€‚\n"
 
-#: src/lang.c:412
+#: src/lang.c:425
 msgid "FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr "FQDN çµ„æˆè¶…å‡ºå…è¨±çš„æœ€å¤§é•·åº¦ (63 å€‹å­—å…ƒ)ã€‚\n"
 
-#: src/lang.c:413
+#: src/lang.c:426
 msgid "FQDN component may not start or end with hyphen.\n"
 msgstr "FQDN çµ„æˆä¸å¯ä»¥é€£å­—è™Ÿèµ·å§‹æˆ–çµæŸã€‚\n"
 
-#: src/lang.c:414
+#: src/lang.c:427
 msgid "FQDN component may not start with digit.\n"
 msgstr "FQDN çµ„æˆä¸å¯ä»¥æ•¸å­—èµ·å§‹ã€‚\n"
 
-#: src/lang.c:415
+#: src/lang.c:428
 msgid "Domain literal has impossible numeric value.\n"
 msgstr "ç¶²åŸŸå¯¦å­—å…·æœ‰ä¸å¯èƒ½çš„æ•¸å€¼ã€‚\n"
 
-#: src/lang.c:416
+#: src/lang.c:429
 msgid ""
 "Domain literal is for private use only and not allowed for global use.\n"
 msgstr "ç¶²åŸŸå¯¦å­—åªé™ç§äººä½¿ç”¨è€Œä¸å…è¨±å…¨åŸŸä½¿ç”¨ã€‚\n"
 
-#: src/lang.c:417
+#: src/lang.c:430
 msgid "Right bracket missing in domain literal.\n"
 msgstr "ç¶²åŸŸå¯¦å­—ä¸­ç¼ºå°‘å³ä¸­æ‹¬è™Ÿã€‚\n"
 
-#: src/lang.c:418
+#: src/lang.c:431
 msgid "Missing localpart of mail address.\n"
 msgstr "ç¼ºå°‘éƒµä»¶åœ°å€çš„æœ¬åœ°éƒ¨åˆ†ã€‚\n"
 
-#: src/lang.c:419
+#: src/lang.c:432
 msgid "Illegal character in localpart of mail address.\n"
 msgstr "éƒµä»¶åœ°å€çš„æœ¬åœ°éƒ¨åˆ†æœ‰ä¸åˆæ³•çš„å­—å…ƒã€‚\n"
 
-#: src/lang.c:420
+#: src/lang.c:433
 msgid "Zero length localpart component not allowed.\n"
 msgstr "ä¸å…è¨±é›¶é•·åº¦çš„æœ¬åœ°éƒ¨åˆ†çµ„æˆã€‚\n"
 
-#: src/lang.c:421
+#: src/lang.c:434
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
@@ -1354,7 +1401,7 @@ msgstr ""
 "çœŸå¯¦åç¨±ä¸­æœ‰ä¸åˆæ³•çš„å­—å…ƒã€‚\n"
 "è·¯ç”±åœ°å€ä¸­çš„å¼•è¨€çµæŸå­—è©žä¸å¯ä»¥åŒ…å«ã€Ž!()<>@,;:\\.[]ã€ã€‚\n"
 
-#: src/lang.c:422
+#: src/lang.c:435
 msgid ""
 "Illegal character in realname.\n"
 "Quoted words may not contain '()<>\\'.\n"
@@ -1362,7 +1409,7 @@ msgstr ""
 "çœŸå¯¦åç¨±ä¸­æœ‰ä¸åˆæ³•çš„å­—å…ƒã€‚\n"
 "å¼•è¨€å­—è©žä¸å¯ä»¥åŒ…å«ã€Ž()<>\\ã€ã€‚\n"
 
-#: src/lang.c:423
+#: src/lang.c:436
 msgid ""
 "Illegal character in realname.\n"
 "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
@@ -1370,11 +1417,11 @@ msgstr ""
 "çœŸå¯¦åç¨±ä¸­æœ‰ä¸åˆæ³•çš„å­—å…ƒã€‚\n"
 "ç·¨ç¢¼å­—è©žåœ¨åƒæ•¸ä¸­ä¸å¯ä»¥åŒ…å«ã€Ž!()<>@,;:\"\\.[]/=ã€ã€‚\n"
 
-#: src/lang.c:424
+#: src/lang.c:437
 msgid "Bad syntax in encoded word used in realname.\n"
 msgstr "ç”¨æ–¼çœŸå¯¦åç¨±çš„ç·¨ç¢¼å­—è©žä¸­æœ‰ä¸ç•¶çš„èªžæ³•ã€‚\n"
 
-#: src/lang.c:425
+#: src/lang.c:438
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '()<>\\' in old-style addresses.\n"
@@ -1382,7 +1429,7 @@ msgstr ""
 "çœŸå¯¦åç¨±ä¸­æœ‰ä¸åˆæ³•çš„å­—å…ƒã€‚\n"
 "å¼•è¨€çµæŸå­—è©žåœ¨èˆŠå¼åœ°å€ä¸­ä¸å¯ä»¥åŒ…å«ã€Ž()<>\\ã€ã€‚\n"
 
-#: src/lang.c:426
+#: src/lang.c:439
 msgid ""
 "Illegal character in realname.\n"
 "Control characters and unencoded 8bit characters > 127 are not allowed.\n"
@@ -1390,7 +1437,12 @@ msgstr ""
 "çœŸå¯¦åç¨±ä¸­æœ‰ä¸åˆæ³•çš„å­—å…ƒã€‚\n"
 "æŽ§åˆ¶å­—å…ƒå’Œæœªç·¨ç¢¼ 8 ä½å…ƒå­—å…ƒä¸å…è¨± > 127ã€‚\n"
 
-#: src/lang.c:427
+#: src/lang.c:440
+#, fuzzy
+msgid "Missing realname.\n"
+msgstr "ç¼ºå°‘éƒ¨åˆ†ã€‚"
+
+#: src/lang.c:441
 msgid ""
 "\n"
 "Error: No blank line found after header.\n"
@@ -1398,7 +1450,16 @@ msgstr ""
 "\n"
 "éŒ¯èª¤ï¼šæ¨™é ­ä¹‹å¾Œæ‰¾ä¸åˆ°ä»»ä½•ç©ºç™½åˆ—ã€‚\n"
 
-#: src/lang.c:428
+#: src/lang.c:442
+#, fuzzy
+msgid ""
+"\n"
+"Error: Illegal Distribution \"all\" used.\n"
+msgstr ""
+"\n"
+"éŒ¯èª¤ï¼šä¸åˆæ³•çš„æ ¼å¼ %sã€‚\n"
+
+#: src/lang.c:443
 #, c-format
 msgid ""
 "\n"
@@ -1408,7 +1469,7 @@ msgstr ""
 "éŒ¯èª¤ï¼šä¸åˆæ³•çš„æ ¼å¼ %sã€‚\n"
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:430
+#: src/lang.c:445
 msgid ""
 "\n"
 "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
@@ -1421,7 +1482,7 @@ msgstr ""
 "      US-ASCII  - è«‹ä½¿ç”¨å¯çµ„é…é¸é …çš„ M)é¸å–® æˆ–è€…ç¶“ç”±ç·¨è¼¯\n"
 "      tinrc ä¾†è®Šæ›´é€™å€‹è¨­å®šç‚ºé©åˆæ‚¨çš„èªžè¨€çš„å€¼ã€‚\n"
 
-#: src/lang.c:435
+#: src/lang.c:450
 msgid ""
 "\n"
 "Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
@@ -1437,7 +1498,7 @@ msgstr ""
 "      é€™å¯ä»¥åˆ©ç”¨å¯çµ„é…é¸é …çš„  M)é¸å–® æˆ–æ˜¯ç¶“ç”±ç·¨è¼¯ tinrc ä¾†\n"
 "      é”æˆã€‚\n"
 
-#: src/lang.c:441
+#: src/lang.c:456
 msgid ""
 "\n"
 "Error: Article starts with blank line instead of header\n"
@@ -1445,7 +1506,7 @@ msgstr ""
 "\n"
 "éŒ¯èª¤ï¼šæ–‡ç« ä»¥ç©ºç™½åˆ—èµ·å§‹è€Œéžæ¨™é ­\n"
 
-#: src/lang.c:442
+#: src/lang.c:457
 #, c-format
 msgid ""
 "\n"
@@ -1456,7 +1517,7 @@ msgstr ""
 "éŒ¯èª¤ï¼šç¬¬ %d åˆ—çš„æ¨™é ­æ–¼æ¨™é ­åç¨±ä¹‹å¾Œæ²’æœ‰å†’è™Ÿï¼š\n"
 "%s\n"
 
-#: src/lang.c:443
+#: src/lang.c:458
 #, c-format
 msgid ""
 "\n"
@@ -1465,7 +1526,7 @@ msgstr ""
 "\n"
 "éŒ¯èª¤ï¼šã€Œ%s:ã€é€™åˆ—æ˜¯ç©ºçš„ã€‚\n"
 
-#: src/lang.c:444
+#: src/lang.c:459
 #, c-format
 msgid ""
 "\n"
@@ -1474,7 +1535,7 @@ msgstr ""
 "\n"
 "éŒ¯èª¤ï¼šã€Œ%s:ã€æ–‡ç« æ¨™é ­ç¼ºå°‘é€™åˆ—ã€‚\n"
 
-#: src/lang.c:445
+#: src/lang.c:460
 #, c-format
 msgid ""
 "\n"
@@ -1483,7 +1544,7 @@ msgstr ""
 "\n"
 "éŒ¯èª¤ï¼š%s å«æœ‰éž 7 ä½å…ƒå­—å…ƒã€‚\n"
 
-#: src/lang.c:446
+#: src/lang.c:461
 #, c-format
 msgid ""
 "\n"
@@ -1494,7 +1555,7 @@ msgstr ""
 "éŒ¯èª¤ï¼šç¬¬ %d åˆ—çš„æ¨™é ­æ–¼å†’è™Ÿä¹‹å¾Œæ²’æœ‰ç©ºæ ¼ï¼š\n"
 "%s\n"
 
-#: src/lang.c:447
+#: src/lang.c:462
 #, c-format
 msgid ""
 "\n"
@@ -1503,7 +1564,7 @@ msgstr ""
 "\n"
 "éŒ¯èª¤ï¼šåœ¨æ¨™é ­ä¸­å‡ºç¾å¤šé‡çš„ (%d)ã€Œ%s:ã€åˆ—ã€‚\n"
 
-#: src/lang.c:448
+#: src/lang.c:463
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -1514,35 +1575,47 @@ msgstr ""
 "éŒ¯èª¤ï¼šç¬¬ %d åˆ—çš„æ¨™é ­æ–¼å†’è™Ÿä¹‹å¾Œæ²’æœ‰ç©ºæ ¼ï¼š\n"
 "%s\n"
 
-#: src/lang.c:450
+#: src/lang.c:464
+msgid ""
+"\n"
+"Error: This is a mailgroup, but a recipient (\"To:\") is missing.\n"
+msgstr ""
+
+#: src/lang.c:465
+#, c-format
+msgid "Mixed up '-f'/'-F'? %s %s"
+msgstr ""
+
+#: src/lang.c:467
 #, c-format
 msgid "Insecure permissions of %s (%o)"
 msgstr "%s (%o) çš„ä¸å®‰å…¨æ¬Šé™"
 
-#: src/lang.c:453
+#: src/lang.c:470
 #, fuzzy, c-format
 msgid "Line %d is longer than %d octets and should be folded.\n"
 msgstr ""
 "ç¬¬ %d åˆ—é•·åº¦è¶…éŽ 998 ä½å…ƒçµ„è€Œï¼Œä½†æ˜¯\n"
 "ç·¨ç¢¼æœªè¢«è¨­å®šç‚º %s\n"
 
-#: src/lang.c:455
+#: src/lang.c:472
 #, fuzzy, c-format
 msgid "Line %d is longer than %d octets and should be shortened.\n"
 msgstr ""
 "ç¬¬ %d åˆ—é•·åº¦è¶…éŽ 998 ä½å…ƒçµ„è€Œï¼Œä½†æ˜¯\n"
 "ç·¨ç¢¼æœªè¢«è¨­å®šç‚º %s\n"
 
-#: src/lang.c:461
-#, c-format
-msgid "MIME parse error: Unexpected end of %s/%s article"
+#: src/lang.c:477
+#, fuzzy, c-format
+msgid "MIME parse error: Unexpected end of %s/%s article\n"
 msgstr "MIME å‰–æžéŒ¯èª¤ï¼šæœªé æœŸçš„ %s/%s æ–‡ç« çµæŸ"
 
-#: src/lang.c:462
-msgid "MIME parse error: Start boundary whilst reading headers"
+#: src/lang.c:478
+#, fuzzy
+msgid "MIME parse error: Start boundary whilst reading headers\n"
 msgstr "MIME å‰–æžéŒ¯èª¤ï¼šè®€å–æ¨™é ­æ™‚å‡ºç¾èµ·å§‹é‚Šç•Œ"
 
-#: src/lang.c:464
+#: src/lang.c:479
 msgid ""
 "\n"
 "Error: \"poster\" is not allowed in Newsgroups!\n"
@@ -1550,16 +1623,11 @@ msgstr ""
 "\n"
 "éŒ¯èª¤ï¼šåœ¨æ–°èžç¾¤çµ„ä¸­ä¸å…è¨±ã€Œposterã€ï¼\n"
 
-#: src/lang.c:465
+#: src/lang.c:480
 msgid "Can't get a (fully-qualified) domain-name!"
 msgstr "ç„¡æ³•æå– (å®Œå…¨åˆæ ¼çš„) ç¶²åŸŸåç¨±ï¼"
 
-#: src/lang.c:466
-#, c-format
-msgid "No permissions to go into %s\n"
-msgstr "æ²’æœ‰æ¬Šé™å¯é€²å…¥ %s\n"
-
-#: src/lang.c:468
+#: src/lang.c:482
 msgid ""
 "\n"
 "Error: From: line missing.\n"
@@ -1567,34 +1635,44 @@ msgstr ""
 "\n"
 "éŒ¯èª¤ï¼š From: ç¼ºå°‘åˆ—ã€‚\n"
 
-#: src/lang.c:470
+#: src/lang.c:485
+#, c-format
+msgid "No permissions to go into %s\n"
+msgstr "æ²’æœ‰æ¬Šé™å¯é€²å…¥ %s\n"
+
+#: src/lang.c:486
 #, c-format
 msgid "No read permissions for %s\n"
 msgstr "æ²’æœ‰ %s çš„è®€å–è¨±å¯æ¬Š\n"
 
-#: src/lang.c:471
+#: src/lang.c:487
 #, c-format
 msgid "File %s does not exist\n"
 msgstr "æª”æ¡ˆ %s ä¸å­˜åœ¨\n"
 
-#: src/lang.c:472
+#: src/lang.c:488
 #, c-format
 msgid "No write permissions for %s\n"
 msgstr "æ²’æœ‰ %s çš„å¯«å…¥æ¬Šé™\n"
 
-#: src/lang.c:473
+#: src/lang.c:490
+#, fuzzy, c-format
+msgid "Not a literal IPv6 address: %s"
+msgstr "æ²’æœ‰éƒµä»¶åœ°å€"
+
+#: src/lang.c:493
 msgid "Can't get user information (/etc/passwd missing?)"
 msgstr "ç„¡æ³•æå–ä½¿ç”¨è€…è³‡è¨Š (ç¼ºå°‘ /etc/passwd ?)"
 
-#: src/lang.c:475
+#: src/lang.c:495
 msgid "errors"
 msgstr "éŒ¯èª¤"
 
-#: src/lang.c:476
+#: src/lang.c:496
 msgid "error"
 msgstr "éŒ¯èª¤"
 
-#: src/lang.c:479
+#: src/lang.c:499
 #, c-format
 msgid ""
 "\n"
@@ -1603,61 +1681,61 @@ msgstr ""
 "\n"
 "éŒ¯èª¤æ–¼ç¬¬ %d åˆ—ï¼šä¸å…è¨±ã€ŒSender:ã€æ¨™é ­ (å°‡æœƒç‚ºæ‚¨åŠ å…¥)\n"
 
-#: src/lang.c:481
+#: src/lang.c:501
 #, c-format
 msgid "Server has non of the groups listed in %s"
 msgstr "ä¼ºæœå™¨ä¸å…·ä»»ä½•ä¸€å€‹åˆ—åœ¨ %s ä¸­çš„ç¾¤çµ„"
 
-#: src/lang.c:482
+#: src/lang.c:502
 #, c-format
 msgid "Error: unlink %s"
 msgstr ""
 
-#: src/lang.c:483
+#: src/lang.c:503
 msgid "Unknown display level"
 msgstr "ä¸æ˜Žçš„é¡¯ç¤ºå±¤ç´š"
 
-#: src/lang.c:485
+#: src/lang.c:505
 msgid "Unreachable?\n"
 msgstr "ç„¡æ³•é€£ç·šï¼Ÿ\n"
 
-#: src/lang.c:487
+#: src/lang.c:507
 msgid "<ESC>"
 msgstr "<ESC>"
 
-#: src/lang.c:488
+#: src/lang.c:508
 msgid "Exiting..."
 msgstr "æ­£åœ¨é›¢é–‹â€¦"
 
-#: src/lang.c:489
+#: src/lang.c:509
 msgid "leaving external mail-reader"
 msgstr "é›¢é–‹å¤–éƒ¨éƒµä»¶é–±è®€å™¨"
 
-#: src/lang.c:490
+#: src/lang.c:510
 #, c-format
 msgid "Extracting %s..."
 msgstr "æ­£åœ¨æ“·å– %sâ€¦"
 
-#: src/lang.c:492
+#: src/lang.c:512
 #, c-format
 msgid "Error writing %s file. Filesystem full? File reset to previous state."
 msgstr "å¯«å…¥ %s æª”æ¡ˆæ™‚ç™¼ç”ŸéŒ¯èª¤ã€‚æª”æ¡ˆç³»çµ±å·²æ»¿ï¼Ÿæª”æ¡ˆé‡ç½®åˆ°ä¸Šä¸€å€‹ç‹€æ…‹ã€‚"
 
-#: src/lang.c:493
+#: src/lang.c:513
 #, c-format
 msgid "Error making backup of %s file. Filesystem full?"
 msgstr "è£½ä½œæª”æ¡ˆ %s å‚™ä»½æ™‚ç™¼ç”ŸéŒ¯èª¤ã€‚æª”æ¡ˆç³»çµ±å·²æ»¿ï¼Ÿ"
 
-#: src/lang.c:494
+#: src/lang.c:514
 #, fuzzy, c-format
 msgid "Filtering global rules (%d/%d) ('q' to quit)..."
 msgstr "ç¯©é¸å…¨åŸŸè¦å‰‡ (%d/%d)â€¦"
 
-#: src/lang.c:495
+#: src/lang.c:515
 msgid "Rule created by: "
 msgstr "è¦å‰‡å»ºç«‹è€…ç‚ºï¼š"
 
-#: src/lang.c:496
+#: src/lang.c:516
 #, fuzzy
 msgid ""
 "# Format:\n"
@@ -1716,48 +1794,48 @@ msgstr ""
 "#   time=æ•¸å­—         å¯é¸ã€‚time_t å€¼è¡¨ç¤ºè¦å‰‡éŽæœŸçš„æ™‚é–“\n"
 "#\n"
 
-#: src/lang.c:522
+#: src/lang.c:542
 #, c-format
 msgid "Enter score for rule (default=%d): "
 msgstr "è¼¸å…¥è¦å‰‡çš„åˆ†æ•¸ (é è¨­=%d)ï¼š"
 
-#: src/lang.c:523
+#: src/lang.c:543
 #, c-format
 msgid "Enter the score weight (range 0 < score <= %d)"
 msgstr "è¼¸å…¥åˆ†æ•¸çš„æ¬Šé‡ (ç¯„åœ 0 < åˆ†æ•¸ <= %d)"
 
 #. SCORE_MAX
-#: src/lang.c:524
+#: src/lang.c:544
 msgid "Full"
 msgstr "å…¨éƒ¨"
 
-#: src/lang.c:525
+#: src/lang.c:545
 msgid "Comment (optional)  : "
 msgstr "è©•è«– (å¯é¸çš„) ï¼š"
 
-#: src/lang.c:527
+#: src/lang.c:547
 msgid "Malformed overview entry: servername missing."
 msgstr ""
 
-#: src/lang.c:528
+#: src/lang.c:548
 #, c-format
 msgid "\t Xref: %s"
 msgstr ""
 
-#: src/lang.c:529
+#: src/lang.c:549
 msgid "Skipping Xref filter"
 msgstr ""
 
-#: src/lang.c:531
+#: src/lang.c:551
 msgid "Apply pattern to    : "
 msgstr "å¥—ç”¨èƒšé¨°åˆ°   ï¼š"
 
-#: src/lang.c:532
+#: src/lang.c:552
 #, c-format
 msgid "Enter pattern [%s]> "
 msgstr "è¼¸å…¥èƒšé¨° [%s]>"
 
-#: src/lang.c:533
+#: src/lang.c:553
 #, c-format
 msgid ""
 "\n"
@@ -1766,862 +1844,867 @@ msgstr ""
 "\n"
 "æ‚¨æ‰€è¦æ±‚å°æ–¼æ‚¨æ–‡ç« çš„è·Ÿè²¼ç‚ºä¸‹åˆ— %sï¼š\n"
 
-#: src/lang.c:534
+#: src/lang.c:554
 #, c-format
 msgid "  %s\t Answers will be directed to you by mail.\n"
 msgstr "  %s\t å›žè¦†å°‡æœƒç›´æŽ¥ç¶“ç”±éƒµä»¶å¯„çµ¦æ‚¨ã€‚\n"
 
-#: src/lang.c:535
+#: src/lang.c:555
 msgid "-- forwarded message --\n"
 msgstr "-- å·²è½‰å¯„è¨Šæ¯ --\n"
 
-#: src/lang.c:536
+#: src/lang.c:556
 msgid "-- end of forwarded message --\n"
 msgstr "-- å·²è½‰å¯„è¨Šæ¯çµæŸ --\n"
 
-#: src/lang.c:537
+#: src/lang.c:557
 msgid "From: line (ignore case)      "
 msgstr "From: åˆ— (å¿½ç•¥å¤§å°å¯«)      "
 
-#: src/lang.c:538
+#: src/lang.c:558
 msgid "From: line (case sensitive)   "
 msgstr "From: åˆ— (å¤§å°å¯«ç›¸ç¬¦)   "
 
-#: src/lang.c:541
+#: src/lang.c:561
 #, c-format
 msgid "%s%s: Unknown host.\n"
 msgstr "%s%sï¼šä¸æ˜Žçš„ä¸»æ©Ÿã€‚\n"
 
-#: src/lang.c:543
+#: src/lang.c:563
 msgid "global "
 msgstr "å…¨åŸŸ "
 
-#: src/lang.c:544
+#: src/lang.c:564
 #, c-format
 msgid "Please use %.100s instead"
 msgstr "è«‹ä½¿ç”¨ %.100s åšç‚ºæ›¿ä»£"
 
-#: src/lang.c:545
+#: src/lang.c:565
 #, c-format
 msgid "%s is bogus"
 msgstr "%s æ˜¯å‡é€ çš„"
 
-#: src/lang.c:546
+#: src/lang.c:566
 #, c-format
 msgid "Group %s is moderated. Continue?"
 msgstr "ç¾¤çµ„ %s æœ‰äººä¸»æŒã€‚è¦ç¹¼çºŒï¼Ÿ"
 
-#: src/lang.c:547
+#: src/lang.c:567
 msgid "groups"
 msgstr "ç¾¤çµ„"
 
-#: src/lang.c:548
+#: src/lang.c:568
 #, c-format
 msgid "Rereading %s..."
 msgstr "é‡æ–°è®€å– %sâ€¦"
 
-#: src/lang.c:549
+#: src/lang.c:569
 msgid "Top Level Commands"
 msgstr "é ‚å±¤å‘½ä»¤"
 
-#: src/lang.c:550
+#: src/lang.c:570
 msgid "Group Selection"
 msgstr "ç¾¤çµ„é¸æ“‡"
 
-#: src/lang.c:551
+#: src/lang.c:571
 msgid "group"
 msgstr "ç¾¤çµ„"
 
-#: src/lang.c:552
+#: src/lang.c:572
 msgid ""
 "*** Group descriptions are disabled according to current select_format ***"
 msgstr ""
 
-#: src/lang.c:554
+#: src/lang.c:574
 msgid ""
 "One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr "ä¸€æˆ–å¤šåˆ—çš„è©•è«–ã€‚<CR> ä»¥åŠ å…¥ä¸€åˆ—æˆ–æ˜¯å¦‚æžœç©ºåˆ—å‰‡ç¹¼çºŒã€‚"
 
-#: src/lang.c:555
+#: src/lang.c:575
 msgid "From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "From: è¦åŠ å…¥ç¯©é¸å™¨æª”æ¡ˆçš„åˆ—ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:556
+#: src/lang.c:576
 msgid ""
 "Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr "è¦ç¯©é¸çš„æ–‡ç« åˆ—æ•¸ã€‚< è¡¨ç¤ºè¼ƒå°‘ï¼Œ> è¡¨ç¤ºæ›´å¤šï¼Œ= è¡¨ç¤ºç›¸ç­‰ã€‚"
 
-#: src/lang.c:557
+#: src/lang.c:577
 msgid "Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "Message-ID: è¦åŠ å…¥ç¯©é¸å™¨æª”æ¡ˆçš„åˆ—ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:558
+#: src/lang.c:578
 msgid "Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr "Subject: è¦åŠ å…¥ç¯©é¸å™¨æª”æ¡ˆçš„åˆ—ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:559
+#: src/lang.c:579
 msgid ""
 "Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr "å¦‚æžœ Subject: &  From: å„åˆ—ä¸æ˜¯æ‚¨æƒ³è¦çš„ï¼Œå°±è¼¸å…¥æ–‡å­—èƒšé¨°åˆ°ç¯©é¸å™¨ã€‚"
 
-#: src/lang.c:560
+#: src/lang.c:580
 msgid ""
 "Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr "é¸å–æ‡‰è©²å¥—ç”¨æ–‡å­—èƒšé¨°çš„åœ°æ–¹ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:561
+#: src/lang.c:581
 msgid ""
 "Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr "æ‰€è¼¸å…¥ç¯©é¸å™¨çš„éŽæœŸå¤©æ•¸ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:562
+#: src/lang.c:582
 msgid ""
 "Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr "åªå°ç›®å‰çš„ç¾¤çµ„æˆ–æ‰€æœ‰ç¾¤çµ„æ‰å¥—ç”¨ç é™¤ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:563
+#: src/lang.c:583
 msgid ""
 "Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr "å°ç›®å‰çš„ç¾¤çµ„æˆ–æ‰€æœ‰ç¾¤çµ„å¥—ç”¨é¸å–ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:564
+#: src/lang.c:584
 msgid "kill an article via a menu"
 msgstr "é€éŽé¸å–®ç é™¤æ–‡ç« "
 
-#: src/lang.c:565
+#: src/lang.c:585
 msgid "auto-select (hot) an article via a menu"
 msgstr "é€éŽé¸å–®è‡ªå‹•é¸å– (ç†±é–€) æ–‡ç« "
 
-#: src/lang.c:566
+#: src/lang.c:586
 msgid "Browse URLs in article"
 msgstr "åœ¨æ–‡ç« ä¸­ç€è¦½ç¶²å€"
 
-#: src/lang.c:567
+#: src/lang.c:587
 msgid "0 - 9\t  display article by number in current thread"
 msgstr "0 - 9\t  åœ¨ç›®å‰çš„è¨Žè«–ä¸²ä¸­ä¾ç·¨è™Ÿé¡¯ç¤ºæ–‡ç« "
 
-#: src/lang.c:569
+#: src/lang.c:589
 msgid "cancel (delete) or supersede (overwrite) current article"
 msgstr "å–æ¶ˆ (åˆªé™¤) æˆ–å–ä»£ (è¦†å¯«) ç›®å‰çš„æ–‡ç« "
 
-#: src/lang.c:570
+#: src/lang.c:590
 msgid "post followup to current article"
 msgstr "è·Ÿè²¼ç›®å‰çš„æ–‡ç« "
 
-#: src/lang.c:571
+#: src/lang.c:591
 msgid "post followup (don't copy text) to current article"
 msgstr "è·Ÿè²¼ (ä¸è¤‡è£½æ–‡å­—) ç›®å‰çš„æ–‡ç« "
 
-#: src/lang.c:572
+#: src/lang.c:592
 msgid "post followup to current article quoting complete headers"
 msgstr "è·Ÿè²¼ç›®å‰çš„æ–‡ç« ä¸¦å¼•è¿°å®Œæ•´æ¨™é ­"
 
-#: src/lang.c:573
+#: src/lang.c:593
 msgid "repost chosen article to another group"
 msgstr "é‡æ–°å¼µè²¼æ‰€é¸æ–‡ç« åˆ°å¦å¤–çš„ç¾¤çµ„"
 
-#: src/lang.c:575
+#: src/lang.c:595
 msgid "edit article (mail-groups only)"
 msgstr "ç·¨è¼¯æ–‡ç«  (åªé™éƒµä»¶ç¾¤çµ„)"
 
-#: src/lang.c:576
+#: src/lang.c:596
 msgid "display first article in current thread"
 msgstr "é¡¯ç¤ºç›®å‰è¨Žè«–ä¸²ä¸­çš„ç¬¬ä¸€ç¯‡æ–‡ç« "
 
-#: src/lang.c:577
+#: src/lang.c:597
 msgid "display first page of article"
 msgstr "é¡¯ç¤ºæ–‡ç« çš„ç¬¬ä¸€é "
 
-#: src/lang.c:578
+#: src/lang.c:598
+#, fuzzy
+msgid "show MIME details of this article"
+msgstr "åœ¨é€™ç¯‡æ–‡ç« ä¸­æ²’æœ‰ç¶²å€"
+
+#: src/lang.c:599
 msgid "display last article in current thread"
 msgstr "é¡¯ç¤ºç›®å‰è¨Žè«–ä¸²ä¸­çš„æœ€å¾Œä¸€ç¯‡æ–‡ç« "
 
-#: src/lang.c:579
+#: src/lang.c:600
 msgid "display last page of article"
 msgstr "é¡¯ç¤ºæ–‡ç« çš„æœ€å¾Œä¸€é "
 
-#: src/lang.c:580
+#: src/lang.c:601
 msgid "mark rest of thread as read and advance to next unread"
 msgstr "æ¨™è¨˜å…¶é¤˜çš„è¨Žè«–ä¸²ç‚ºå·²è®€ä¸¦è·³åˆ°ä¸‹ä¸€å€‹æœªè®€"
 
-#: src/lang.c:581
+#: src/lang.c:602
 msgid "display next article"
 msgstr "é¡¯ç¤ºä¸‹ä¸€ç¯‡æ–‡ç« "
 
-#: src/lang.c:582
+#: src/lang.c:603
 msgid "display first article in next thread"
 msgstr "é¡¯ç¤ºä¸‹ä¸€å€‹è¨Žè«–ä¸²çš„ç¬¬ä¸€ç¯‡æ–‡ç« "
 
-#: src/lang.c:583
+#: src/lang.c:604
 msgid "display next unread article"
 msgstr "é¡¯ç¤ºä¸‹ä¸€ç¯‡æœªè®€æ–‡ç« "
 
-#: src/lang.c:584
+#: src/lang.c:605
 msgid "go to the article that this one followed up"
 msgstr "å‰å¾€é€™ç¯‡æ‰€è·Ÿè²¼çš„æ–‡ç« "
 
-#: src/lang.c:585
+#: src/lang.c:606
 msgid "display previous article"
 msgstr "é¡¯ç¤ºä¸Šä¸€ç¯‡æ–‡ç« "
 
-#: src/lang.c:586
+#: src/lang.c:607
 msgid "display previous unread article"
 msgstr "é¡¯ç¤ºä¸Šä¸€ç¯‡æœªè®€æ–‡ç« "
 
-#: src/lang.c:587
+#: src/lang.c:608
 msgid "quickly kill an article using defaults"
 msgstr "ä½¿ç”¨é è¨­å€¼å¿«é€Ÿç é™¤æ–‡ç« "
 
-#: src/lang.c:588
+#: src/lang.c:609
 msgid "quickly auto-select (hot) an article using defaults"
 msgstr "ä½¿ç”¨é è¨­å€¼å¿«é€Ÿè‡ªå‹•é¸å– (ç†±é–€) æ–‡ç« "
 
-#: src/lang.c:589
+#: src/lang.c:610
 msgid "return to group selection level"
 msgstr "å›žåˆ°ç¾¤çµ„é¸æ“‡å±¤ç´š"
 
-#: src/lang.c:590
+#: src/lang.c:611
 msgid "reply through mail to author"
 msgstr "é€éŽéƒµä»¶å›žè¦†ä½œè€…"
 
-#: src/lang.c:591
+#: src/lang.c:612
 msgid "reply through mail (don't copy text) to author"
 msgstr "é€éŽéƒµä»¶ (ä¸è¤‡è£½æ–‡å­—) å›žè¦†ä½œè€…"
 
-#: src/lang.c:592
+#: src/lang.c:613
 msgid "reply through mail to author quoting complete headers"
 msgstr "é€éŽéƒµä»¶å›žè¦†ä½œè€…ä¸¦å¼•è¿°å®Œæ•´æ¨™é ­"
 
-#: src/lang.c:593
+#: src/lang.c:614
 msgid "search backwards within this article"
 msgstr "åœ¨é€™ç¯‡æ–‡ç« ä¹‹å…§å‘å¾Œæœå°‹"
 
-#: src/lang.c:594
+#: src/lang.c:615
 msgid "search forwards within this article"
 msgstr "åœ¨é€™ç¯‡æ–‡ç« ä¹‹å…§å‘å‰æœå°‹"
 
-#: src/lang.c:595
+#: src/lang.c:616
 msgid "show article in raw-mode (including all headers)"
 msgstr "åœ¨åŽŸå§‹æ¨¡å¼ä¸­é¡¯ç¤ºæ–‡ç«  (åŒ…å«æ‰€æœ‰æ¨™é ­)"
 
-#: src/lang.c:596
+#: src/lang.c:617
 msgid "skip next block of included text"
 msgstr "è·³éŽæ‰€å«æ–‡å­—çš„ä¸‹ä¸€å€‹å€å¡Š"
 
-#: src/lang.c:597
+#: src/lang.c:618
 msgid "toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr "åˆ‡æ›é¡¯ç¤ºç”±è¡¨æ ¼é¥‹é€ (^L) æ‰€éš±è—çš„å€æ®µ ON/OFF"
 
-#: src/lang.c:598
+#: src/lang.c:619
 msgid "toggle display of all headers"
 msgstr "åˆ‡æ›é¡¯ç¤ºæ‰€æœ‰æ¨™é ­"
 
-#: src/lang.c:599
+#: src/lang.c:620
 msgid "toggle word highlighting on/off"
 msgstr "åˆ‡æ›å­—è©žé«˜äº®åº¦é¡¯ç¤º ON/OFF"
 
-#: src/lang.c:600
+#: src/lang.c:621
 msgid "toggle ROT-13 (basic decode) for current article"
 msgstr "åˆ‡æ›ç›®å‰æ–‡ç« çš„ ROT-13 (åŸºæœ¬è§£ç¢¼)"
 
-#: src/lang.c:601
+#: src/lang.c:622
 msgid "toggle tabwidth 4 <-> 8"
 msgstr "åˆ‡æ›è·³æ ¼å¯¬åº¦ 4 <-> 8"
 
-#: src/lang.c:602
+#: src/lang.c:623
 #, fuzzy
 msgid "toggle German TeX style decoding for current article"
 msgstr "åˆ‡æ›ç›®å‰æ–‡ç« çš„å¾·èªž TeX æ¨£å¼è§£ç¢¼"
 
-#: src/lang.c:603
+#: src/lang.c:624
 msgid "toggle display of uuencoded sections"
 msgstr "åˆ‡æ›é¡¯ç¤ºä¸¦ç·¨ç¢¼å€æ®µ"
 
-#: src/lang.c:604
+#: src/lang.c:625
 msgid "View/pipe/save multimedia attachments"
 msgstr "æª¢è¦–/ç®¡ç·š/å„²å­˜å¤šåª’é«”é™„ä»¶"
 
-#: src/lang.c:605
+#: src/lang.c:626
 msgid "choose first attachment in list"
 msgstr "é¸æ“‡åˆ—è¡¨ä¸­çš„ç¬¬ä¸€å€‹é™„ä»¶"
 
-#: src/lang.c:606
+#: src/lang.c:627
 msgid "0 - 9\t  choose attachment by number"
 msgstr "0 - 9\t  ä¾ç·¨è™Ÿé¸æ“‡é™„ä»¶"
 
-#: src/lang.c:607
+#: src/lang.c:628
 msgid "choose last attachment in list"
 msgstr "é¸æ“‡åˆ—è¡¨ä¸­çš„æœ€å¾Œä¸€å€‹é™„ä»¶"
 
-#: src/lang.c:609
+#: src/lang.c:630
 msgid "pipe attachment into command"
 msgstr "å°‡é™„ä»¶é€²å…¥ç®¡ç·šå‘½ä»¤"
 
-#: src/lang.c:610
+#: src/lang.c:631
 msgid "pipe raw attachment into command"
 msgstr "å°‡åŽŸå§‹é™„ä»¶é€²å…¥ç®¡ç·šå‘½ä»¤"
 
-#: src/lang.c:612
+#: src/lang.c:633
 msgid "save attachment to disk"
 msgstr "å°‡é™„ä»¶å„²å­˜åˆ°ç£ç¢Ÿ"
 
-#: src/lang.c:613
+#: src/lang.c:634
 msgid "search for attachments forwards"
 msgstr "å‘å‰æœå°‹é™„ä»¶"
 
-#: src/lang.c:614
+#: src/lang.c:635
 msgid "search for attachments backwards"
 msgstr "å‘å¾Œæœå°‹é™„ä»¶"
 
-#: src/lang.c:615
+#: src/lang.c:636
 msgid "view attachment"
 msgstr "æª¢è¦–é™„ä»¶"
 
-#: src/lang.c:616
+#: src/lang.c:637
 msgid "tag attachment"
 msgstr "æ¨™å®šé™„ä»¶"
 
-#: src/lang.c:617
+#: src/lang.c:638
 msgid "tag attachments that match user specified pattern"
 msgstr "æ¨™å®šåŒ¹é…ä½¿ç”¨è€…æŒ‡å®šèƒšé¨°çš„é™„ä»¶"
 
-#: src/lang.c:618
+#: src/lang.c:639
 msgid "reverse tagging on all attachments (toggle)"
 msgstr "åå‘æ¨™å®šæ‰€æœ‰é™„ä»¶ (åˆ‡æ›)"
 
-#: src/lang.c:619
+#: src/lang.c:640
 msgid "untag all tagged attachments"
 msgstr "å–æ¶ˆæ¨™å®šæ‰€æœ‰å·²æ¨™å®šé™„ä»¶"
 
-#: src/lang.c:620
+#: src/lang.c:641
 msgid "toggle info message in last line (name/description of attachment)"
 msgstr "åˆ‡æ›æœ€å¾Œä¸€åˆ—ä¸­çš„è³‡è¨Š (é™„ä»¶çš„åç¨±/æè¿°)"
 
-#: src/lang.c:621
+#: src/lang.c:642
 msgid "choose first attribute in list"
 msgstr "é¸æ“‡åˆ—è¡¨ä¸­çš„ç¬¬ä¸€é …å±¬æ€§"
 
-#: src/lang.c:622
+#: src/lang.c:643
 msgid "0 - 9\t  choose attribute by number"
 msgstr "0 - 9\t  ä¾ç·¨è™Ÿé¸æ“‡å±¬æ€§"
 
-#: src/lang.c:623
+#: src/lang.c:644
 msgid "choose last attribute in list"
 msgstr "é¸æ“‡åˆ—è¡¨ä¸­çš„æœ€å¾Œä¸€é …å±¬æ€§"
 
-#: src/lang.c:624
+#: src/lang.c:645
 msgid "reset attribute to a default value"
 msgstr "é‡ç½®å±¬æ€§ç‚ºé è¨­å€¼"
 
-#: src/lang.c:625
-msgid "search forwards for an attribute"
-msgstr "å‘å‰æœå°‹æŸä¸€å±¬æ€§"
-
-#: src/lang.c:626
+#: src/lang.c:646
 msgid "search backwards for an attribute"
 msgstr "å‘å¾Œæœå°‹æŸä¸€å±¬æ€§"
 
-#: src/lang.c:627
+#: src/lang.c:647
+msgid "search forwards for an attribute"
+msgstr "å‘å‰æœå°‹æŸä¸€å±¬æ€§"
+
+#: src/lang.c:648
 msgid "select attribute"
 msgstr "é¸å–å±¬æ€§"
 
-#: src/lang.c:628
+#: src/lang.c:649
 msgid "toggle back to options menu when invoked from there"
 msgstr "å¦‚æžœä¹‹å‰å¾žé‚£è£¡èª¿ç”¨å°±åˆ‡å›žé¸é …åŠŸèƒ½è¡¨"
 
-#: src/lang.c:629
+#: src/lang.c:650
 #, c-format
 msgid "report bug or comment via mail to %s"
 msgstr "é€éŽéƒµä»¶å ±å‘ŠéŒ¯èª¤æˆ–è©•è«–çµ¦ %s"
 
-#: src/lang.c:630
+#: src/lang.c:651
 msgid "choose first option in list"
 msgstr "é¸æ“‡åˆ—è¡¨ä¸­çš„ç¬¬ä¸€å€‹é¸é …"
 
-#: src/lang.c:631
+#: src/lang.c:652
 msgid "0 - 9\t  choose option by number"
 msgstr "0 - 9\t  ä¾ç·¨è™Ÿé¸æ“‡é¸é …"
 
-#: src/lang.c:632
+#: src/lang.c:653
 msgid "choose last option in list"
 msgstr "é¸æ“‡åˆ—è¡¨ä¸­çš„æœ€å¾Œä¸€å€‹é¸é …"
 
-#: src/lang.c:633
+#: src/lang.c:654
 msgid "start scopes menu"
 msgstr "èµ·å§‹ç¯„åœé¸å–®"
 
-#: src/lang.c:634
-msgid "search forwards for an option"
-msgstr "å‘å‰æœå°‹æŸä¸€é¸é …"
-
-#: src/lang.c:635
+#: src/lang.c:655
 msgid "search backwards for an option"
 msgstr "å‘å¾Œæœå°‹æŸä¸€é¸é …"
 
-#: src/lang.c:636
+#: src/lang.c:656
+msgid "search forwards for an option"
+msgstr "å‘å‰æœå°‹æŸä¸€é¸é …"
+
+#: src/lang.c:657
 msgid "select option"
 msgstr "é¸å–é¸é …"
 
-#: src/lang.c:637
+#: src/lang.c:658
 msgid "toggle to attributes menu"
 msgstr "åˆ‡æ›åˆ°å±¬æ€§é¸å–®"
 
-#: src/lang.c:638
+#: src/lang.c:659
 msgid "choose range of articles to be affected by next command"
 msgstr "é¸æ“‡æœƒè¢«ä¸‹ä¸€å€‹å‘½ä»¤æ‰€å½±éŸ¿çš„æ–‡ç« ç¯„åœ"
 
-#: src/lang.c:639
+#: src/lang.c:660
 msgid "escape from command prompt"
 msgstr "å¾žæŒ‡ä»¤æç¤ºç¬¦è™Ÿé€€å‡º"
 
-#: src/lang.c:640
+#: src/lang.c:661
 msgid "edit filter file"
 msgstr "ç·¨è¼¯ç¯©é¸å™¨æª”æ¡ˆ"
 
-#: src/lang.c:641
+#: src/lang.c:662
 msgid "get help"
 msgstr "æå–èªªæ˜Ž"
 
-#: src/lang.c:642
+#: src/lang.c:663
 msgid "display last article viewed"
 msgstr "é¡¯ç¤ºæœ€å¾Œä¸€ç¯‡å·²æª¢è¦–æ–‡ç« "
 
-#: src/lang.c:643
+#: src/lang.c:664
 msgid "down one line"
 msgstr "å‘ä¸‹ä¸€åˆ—"
 
-#: src/lang.c:644
+#: src/lang.c:665
 msgid "up one line"
 msgstr "å‘ä¸Šä¸€åˆ—"
 
-#: src/lang.c:645
+#: src/lang.c:666
 msgid "go to article chosen by Message-ID"
 msgstr "å‰å¾€ä¾è¨Šæ¯è­˜åˆ¥è™Ÿæ‰€é¸æ–‡ç« "
 
-#: src/lang.c:646
+#: src/lang.c:667
 msgid "mail article/thread/hot/pattern/tagged articles to someone"
 msgstr "éƒµå¯„æ–‡ç« /è¨Žè«–ä¸²/ç†±é–€/èƒšé¨°/å·²æ¨™å®šæ–‡ç« çµ¦æŸäºº"
 
-#: src/lang.c:647
+#: src/lang.c:668
 msgid "menu of configurable options"
 msgstr "å¯çµ„é…é¸é …çš„é¸å–®"
 
-#: src/lang.c:648
+#: src/lang.c:669
 msgid "down one page"
 msgstr "å‘ä¸‹ä¸€é "
 
-#: src/lang.c:649
+#: src/lang.c:670
 msgid "up one page"
 msgstr "å‘ä¸Šä¸€é "
 
-#: src/lang.c:651
+#: src/lang.c:672
 msgid "post (write) article to current group"
 msgstr "å¼µè²¼ (å¯«å…¥) æ–‡ç« åˆ°ç›®å‰çš„ç¾¤çµ„"
 
-#: src/lang.c:652
+#: src/lang.c:673
 msgid "post postponed articles"
 msgstr "å¼µè²¼è¢«æ“±ç½®çš„æ–‡ç« "
 
-#: src/lang.c:654
+#: src/lang.c:675
 msgid "list articles posted by you (from posted file)"
 msgstr "åˆ—å‡ºç”±æ‚¨æ‰€å¼µè²¼çš„æ–‡ç«  (ä¾†è‡ªå¼µè²¼çš„æª”æ¡ˆ)"
 
-#: src/lang.c:655
+#: src/lang.c:676
 msgid "return to previous menu"
 msgstr "å›žåˆ°ä¸Šä¸€å€‹é¸å–®"
 
-#: src/lang.c:656
+#: src/lang.c:677
 msgid "quit tin immediately"
 msgstr "é¦¬ä¸Šé›¢é–‹ tin"
 
-#: src/lang.c:657
+#: src/lang.c:678
 msgid "redraw page"
 msgstr "é‡ç¹ªé é¢"
 
-#: src/lang.c:658
+#: src/lang.c:679
 msgid "save article/thread/hot/pattern/tagged articles to file"
 msgstr "å„²å­˜æ–‡ç« /è¨Žè«–ä¸²/ç†±é–€/èƒšé¨°/å·²æ¨™å®šæ–‡ç« åˆ°æª”æ¡ˆ"
 
-#: src/lang.c:659
+#: src/lang.c:680
 msgid "save marked articles automatically without user prompts"
 msgstr "è‡ªå‹•å„²å­˜æ¨™è¨˜çš„æ–‡ç« è€Œç„¡éœ€ä½¿ç”¨è€…æç¤º"
 
-#: src/lang.c:660
+#: src/lang.c:681
 msgid "scroll the screen one line down"
 msgstr "æ²å‹•èž¢å¹•ä¸€æ¬¡ä¸‹ç§»ä¸€åˆ—"
 
-#: src/lang.c:661
+#: src/lang.c:682
 msgid "scroll the screen one line up"
 msgstr "æ²å‹•èž¢å¹•ä¸€æ¬¡ä¸Šç§»ä¸€åˆ—"
 
-#: src/lang.c:662
+#: src/lang.c:683
 msgid "search for articles by author backwards"
 msgstr "ä¾ä½œè€…å‘å¾Œæœå°‹æ–‡ç« "
 
-#: src/lang.c:663
+#: src/lang.c:684
 msgid "search for articles by author forwards"
 msgstr "ä¾ä½œè€…å‘å‰æœå°‹æ–‡ç« "
 
-#: src/lang.c:664
+#: src/lang.c:685
 msgid "search all articles for a given string (this may take some time)"
 msgstr "å°æ‰€æœ‰æ–‡ç« æœå°‹çµ¦å®šçš„å­—ä¸² (é€™ä¹Ÿè¨±æœƒèŠ±ä¸€é»žæ™‚é–“)"
 
-#: src/lang.c:665
+#: src/lang.c:686
 msgid " \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr " \t (æœå°‹æ™‚å¤§å°å¯«ä¸é ˆç›¸ç¬¦ä¸¦å›žåˆ°æ‰€æœ‰æ–‡ç« çš„å‰ç«¯)"
 
-#: src/lang.c:666
+#: src/lang.c:687
 msgid "search for articles by Subject line backwards"
 msgstr "ä¾ä¸»é¡Œå‘å¾Œæœå°‹æ–‡ç« "
 
-#: src/lang.c:667
+#: src/lang.c:688
 msgid "search for articles by Subject line forwards"
 msgstr "ä¾ä¸»é¡Œå‘å‰æœå°‹æ–‡ç« "
 
-#: src/lang.c:668
+#: src/lang.c:689
 msgid "repeat last search"
 msgstr "é‡è¤‡æœ€å¾Œä¸€ç­†æœå°‹"
 
-#: src/lang.c:669
+#: src/lang.c:690
 msgid "tag current article for reposting/mailing/piping/printing/saving"
 msgstr "æ¨™å®šç›®å‰çš„æ–‡ç« ä»¥ç”¨æ–¼é‡æ–°å¼µè²¼/éƒµå¯„/ç®¡ç·š/åˆ—å°/å„²å­˜"
 
-#: src/lang.c:670
+#: src/lang.c:691
 msgid "toggle info message in last line (subject/description)"
 msgstr "åˆ‡æ›æœ€å¾Œä¸€åˆ—ä¸­çš„è³‡è¨Šè¨Šæ¯ (ä¸»æ—¨/æè¿°)"
 
-#: src/lang.c:671
+#: src/lang.c:692
 msgid "toggle inverse video"
 msgstr "åˆ‡æ›åç™½é¡¯ç¤º"
 
-#: src/lang.c:672
+#: src/lang.c:693
 #, fuzzy
 msgid "toggle mini help menu and posting etiquette display"
 msgstr "åˆ‡æ›è¿·ä½ èªªæ˜Žé¸å–®é¡¯ç¤º"
 
-#: src/lang.c:673
+#: src/lang.c:694
 msgid "cycle the display of authors email address, real name, both or neither"
 msgstr "é€±æœŸé¡¯ç¤ºä½œè€…é›»å­éƒµä»¶åœ°å€ã€çœŸå¯¦åç¨±ã€å…©è€…æˆ–çš†éž"
 
-#: src/lang.c:674
+#: src/lang.c:695
 msgid "show version information"
 msgstr "é¡¯ç¤ºç‰ˆæœ¬è³‡è¨Š"
 
-#: src/lang.c:675
+#: src/lang.c:696
 msgid "mark all articles as read and return to group selection menu"
 msgstr "æ¨™è¨˜æ‰€æœ‰æ–‡ç« ç‚ºå·²è®€ä¸¦å›žåˆ°ç¾¤çµ„é¸æ“‡é¸å–®"
 
-#: src/lang.c:676
+#: src/lang.c:697
 msgid "mark all articles as read and enter next group with unread articles"
 msgstr "æ¨™è¨˜æ‰€æœ‰æ–‡ç« ç‚ºå·²è®€ä¸¦é€²å…¥ä¸‹ä¸€å€‹ç¾¤çµ„èˆ‡æœªè®€æ–‡ç« "
 
-#: src/lang.c:677
+#: src/lang.c:698
 msgid "choose first thread in list"
 msgstr "é¸æ“‡æ¸…å–®ä¸­çš„ç¬¬ä¸€ç­†è¨Žè«–ä¸²"
 
-#: src/lang.c:678
+#: src/lang.c:699
 msgid "choose last thread in list"
 msgstr "é¸æ“‡æ¸…å–®ä¸­çš„æœ€å¾Œä¸€ç¯‡è¨Žè«–ä¸²"
 
-#: src/lang.c:679
+#: src/lang.c:700
 msgid "list articles within current thread (bring up Thread sub-menu)"
 msgstr "åˆ—å‡ºç›®å‰è¨Žè«–ä¸²ä¹‹å…§çš„æ–‡ç«  (å¸¶å‡ºè¨Žè«–ä¸²å­é¸å–®)"
 
-#: src/lang.c:680
+#: src/lang.c:701
 msgid "mark article as unread"
 msgstr "æ¨™è¨˜æ–‡ç« ç‚ºæœªè®€"
 
-#: src/lang.c:681
+#: src/lang.c:702
 msgid "mark current thread, range or tagged threads as read"
 msgstr "æ¨™è¨˜ç›®å‰çš„è¨Žè«–ä¸²ã€ç¯„åœæˆ–å·²æ¨™å®šè¨Žè«–ä¸²ç‚ºå·²è®€"
 
-#: src/lang.c:682
+#: src/lang.c:703
 msgid "mark current thread, range or tagged threads as unread"
 msgstr "æ¨™è¨˜ç›®å‰çš„è¨Žè«–ä¸²ã€ç¯„åœæˆ–å·²æ¨™å®šè¨Žè«–ä¸²ç‚ºæœªè®€"
 
-#: src/lang.c:683
+#: src/lang.c:704
 msgid "mark current/range/selected/pattern/tagged as read after prompting"
 msgstr "æ¨™è¨˜ç›®å‰çš„/ç¯„åœ/å·²é¸/èƒšé¨°/å·²æ¨™å®šæ–¼æç¤ºä¹‹å¾Œç‚ºå·²è®€"
 
-#: src/lang.c:684
+#: src/lang.c:705
 msgid "mark current/range/selected/pattern/tagged as unread after prompting"
 msgstr "æ¨™è¨˜ç›®å‰çš„/ç¯„åœ/å·²é¸/èƒšé¨°/å·²æ¨™å®šæ–¼æç¤ºä¹‹å¾Œç‚ºæœªè®€"
 
-#: src/lang.c:685
+#: src/lang.c:706
 msgid "toggle display of all/selected articles"
 msgstr "åˆ‡æ›é¡¯ç¤ºæ‰€æœ‰/å·²é¸æ–‡ç« "
 
-#: src/lang.c:686
+#: src/lang.c:707
 msgid "display next group"
 msgstr "é¡¯ç¤ºä¸‹ä¸€å€‹ç¾¤çµ„"
 
-#: src/lang.c:687
+#: src/lang.c:708
 msgid "display previous group"
 msgstr "é¡¯ç¤ºä¸Šä¸€å€‹ç¾¤çµ„"
 
-#: src/lang.c:688
+#: src/lang.c:709
 msgid "toggle all selections (all articles)"
 msgstr "åˆ‡æ›æ‰€æœ‰é¸å– (æ‰€æœ‰æ–‡ç« )"
 
-#: src/lang.c:689
+#: src/lang.c:710
 msgid "select group (make \"hot\")"
 msgstr "é¸å–ç¾¤çµ„ (è¨­ç‚ºã€Œç†±é–€ã€)"
 
-#: src/lang.c:690
+#: src/lang.c:711
 msgid "select thread"
 msgstr "é¸å–è¨Žè«–ä¸²"
 
-#: src/lang.c:691
+#: src/lang.c:712
 msgid "select threads if at least one unread article is selected"
 msgstr "å¦‚æžœè‡³å°‘é¸å–äº†ä¸€ç¯‡æœªè®€æ–‡ç« å°±é¸å–è¨Žè«–ä¸²"
 
-#: src/lang.c:692
+#: src/lang.c:713
 msgid "select threads that match user specified pattern"
 msgstr "é¸å–åŒ¹é…ä½¿ç”¨è€…æŒ‡å®šèƒšé¨°çš„è¨Žè«–ä¸²"
 
-#: src/lang.c:693
+#: src/lang.c:714
 msgid "0 - 9\t  choose thread by number"
 msgstr "0 - 9\t  ä¾ç·¨è™Ÿé¸æ“‡è¨Žè«–ä¸²"
 
-#: src/lang.c:694
+#: src/lang.c:715
 msgid "toggle limit number of articles to get, and reload"
 msgstr "åˆ‡æ›è¦æå–æ–‡ç« çš„é™åˆ¶æ•¸é‡ï¼Œä¸¦é‡æ–°è¼‰å…¥"
 
-#: src/lang.c:695
+#: src/lang.c:716
 msgid "toggle display of all/unread articles"
 msgstr "åˆ‡æ›é¡¯ç¤ºæ‰€æœ‰/æœªè®€æ–‡ç« "
 
-#: src/lang.c:696
+#: src/lang.c:717
 msgid "toggle selection of thread"
 msgstr "åˆ‡æ›è¨Žè«–ä¸²çš„é¸å–"
 
-#: src/lang.c:697
+#: src/lang.c:718
 msgid "cycle through threading options available"
 msgstr "é‡è¦†å¾ªç’°å¯ç”¨çš„è¨Žè«–ä¸²é¸é …"
 
-#: src/lang.c:698
+#: src/lang.c:719
 msgid "undo all selections (all articles)"
 msgstr "å¾©åŽŸæ‰€æœ‰é¸å– (æ‰€æœ‰æ–‡ç« )"
 
-#: src/lang.c:699
+#: src/lang.c:720
 msgid "untag all tagged threads"
 msgstr "å–æ¶ˆæ¨™å®šæ‰€æœ‰å·²æ¨™å®šè¨Žè«–ä¸²"
 
-#: src/lang.c:700
+#: src/lang.c:721
 #, fuzzy
 msgid "search for articles forwards"
 msgstr "ä¾ä½œè€…å‘å‰æœå°‹æ–‡ç« "
 
-#: src/lang.c:701
+#: src/lang.c:722
 #, fuzzy
 msgid "search for articles backwards"
 msgstr "ä¾ä½œè€…å‘å¾Œæœå°‹æ–‡ç« "
 
-#: src/lang.c:702
+#: src/lang.c:723
 #, fuzzy
 msgid "toggle info message in last line (Message-ID)"
 msgstr "åˆ‡æ›æœ€å¾Œä¸€åˆ—çš„è³‡è¨Šè¨Šæ¯ (ç¶²å€)"
 
-#: src/lang.c:703
+#: src/lang.c:724
 #, fuzzy
 msgid "Open article by Message-ID"
 msgstr "å‰å¾€ä¾è¨Šæ¯è­˜åˆ¥è™Ÿæ‰€é¸æ–‡ç« "
 
-#: src/lang.c:704
+#: src/lang.c:725
 msgid "add new scope"
 msgstr "åŠ å…¥æ–°çš„ç¯„åœ"
 
-#: src/lang.c:705
+#: src/lang.c:726
 msgid "delete scope"
 msgstr "åˆªé™¤ç¯„åœ"
 
-#: src/lang.c:706
+#: src/lang.c:727
 msgid "edit attributes file"
 msgstr "ç·¨è¼¯å±¬æ€§æª”æ¡ˆ"
 
-#: src/lang.c:707
+#: src/lang.c:728
 msgid "choose first scope in list"
 msgstr "é¸æ“‡æ¸…å–®ä¸­çš„ç¬¬ä¸€ç­†ç¯„åœ"
 
-#: src/lang.c:708
+#: src/lang.c:729
 msgid "0 - 9\t  choose scope by number"
 msgstr "0 - 9\t  ä¾ç·¨è™Ÿé¸æ“‡ç¯„åœ"
 
-#: src/lang.c:709
+#: src/lang.c:730
 msgid "choose last scope in list"
 msgstr "é¸æ“‡æ¸…å–®ä¸­çš„æœ€å¾Œä¸€ç­†ç¯„åœ"
 
-#: src/lang.c:710
+#: src/lang.c:731
 msgid "move scope"
 msgstr "ç§»å‹•ç¯„åœ"
 
-#: src/lang.c:711
+#: src/lang.c:732
 msgid "rename scope"
 msgstr "é‡æ–°å‘½åç¯„åœ"
 
-#: src/lang.c:712
+#: src/lang.c:733
 msgid "select scope"
 msgstr "é¸å–ç¯„åœ"
 
-#: src/lang.c:713
+#: src/lang.c:734
 msgid "mark all articles in group as read"
 msgstr "æ¨™è¨˜æ‰€æœ‰ç¾¤çµ„ä¸­çš„æ–‡ç« ç‚ºå·²è®€"
 
-#: src/lang.c:714
+#: src/lang.c:735
 msgid "mark all articles in group as read and move to next unread group"
 msgstr "æ¨™è¨˜æ‰€æœ‰ç¾¤çµ„ä¸­çš„æ–‡ç« ç‚ºå·²è®€ä¸¦ç§»å‹•åˆ°ä¸‹ä¸€å€‹æœªè®€ç¾¤çµ„"
 
-#: src/lang.c:715
+#: src/lang.c:736
 msgid "choose first group in list"
 msgstr "é¸æ“‡æ¸…å–®ä¸­çš„ç¬¬ä¸€ç­†ç¾¤çµ„"
 
-#: src/lang.c:716
+#: src/lang.c:737
 msgid "choose group by name"
 msgstr "ä¾åç¨±é¸æ“‡ç¾¤çµ„"
 
-#: src/lang.c:717
+#: src/lang.c:738
 msgid "0 - 9\t  choose group by number"
 msgstr "0 - 9\t  ä¾ç·¨è™Ÿé¸æ“‡ç¾¤çµ„"
 
-#: src/lang.c:718
+#: src/lang.c:739
 msgid "choose range of groups to be affected by next command"
 msgstr "é¸æ“‡å—ä¸‹ä¸€å€‹å‘½ä»¤æ‰€å½±éŸ¿çš„ç¾¤çµ„ç¯„åœ"
 
-#: src/lang.c:719
+#: src/lang.c:740
 msgid "choose last group in list"
 msgstr "é¸æ“‡æ¸…å–®ä¸­çš„æœ€å¾Œä¸€å€‹ç¾¤çµ„"
 
-#: src/lang.c:721
+#: src/lang.c:742
 #, fuzzy
 msgid "list groups which an article has been posted to (by Message-ID)"
 msgstr "å‰å¾€ä¾è¨Šæ¯è­˜åˆ¥è™Ÿæ‰€é¸æ–‡ç« "
 
-#: src/lang.c:722
+#: src/lang.c:743
 msgid " \t  (go to article if at least one of the groups is available)"
 msgstr ""
 
-#: src/lang.c:724
+#: src/lang.c:745
 msgid "mark all articles in chosen group unread"
 msgstr "æ¨™è¨˜æ‰€æœ‰åœ¨å·²é¸ç¾¤çµ„ä¸­çš„æ–‡ç« ç‚ºæœªè®€"
 
-#: src/lang.c:725
+#: src/lang.c:746
 msgid "move chosen group within list"
 msgstr "ç§»å‹•æ¸…å–®å…§æ‰€é¸ç¾¤çµ„"
 
-#: src/lang.c:726
+#: src/lang.c:747
 msgid "choose next group with unread news"
 msgstr "é¸æ“‡å…·æœ‰æœªè®€æ–°èžçš„ä¸‹ä¸€å€‹ç¾¤çµ„"
 
-#: src/lang.c:727 src/lang.c:1748
+#: src/lang.c:748 src/lang.c:1797
 msgid "quit"
 msgstr "é›¢é–‹"
 
-#: src/lang.c:728
+#: src/lang.c:749
 msgid "quit without saving configuration changes"
 msgstr "é›¢é–‹ä½†ä¸å„²å­˜çµ„æ…‹è®Šæ›´"
 
-#: src/lang.c:729
+#: src/lang.c:750
 msgid "read chosen group"
 msgstr "è®€å–æ‰€é¸ç¾¤çµ„"
 
-#: src/lang.c:730
+#: src/lang.c:751
 msgid "reset .newsrc (all available articles in groups marked unread)"
 msgstr "é‡ç½® .newsrc (æ¨™è¨˜æ‰€æœ‰å¯ç”¨ç¾¤çµ„ä¸­çš„æ–‡ç« ç‚ºæœªè®€)"
 
-#: src/lang.c:731
+#: src/lang.c:752
 msgid "search backwards for a group name"
 msgstr "å‘å¾Œæœå°‹ç¾¤çµ„åç¨±"
 
-#: src/lang.c:732
+#: src/lang.c:753
 msgid " \t  (all searches are case-insensitive and wrap around)"
 msgstr " \t  (æ‰€æœ‰æœå°‹ä¸é ˆç¬¦åˆå¤§å°å¯«ä¸¦å›žåˆ°é–‹å§‹éƒ¨åˆ†)"
 
-#: src/lang.c:733
+#: src/lang.c:754
 msgid "search forwards for a group name"
 msgstr "å‘å‰æœå°‹ç¾¤çµ„åç¨±"
 
-#: src/lang.c:734
+#: src/lang.c:755
 msgid "subscribe to chosen group"
 msgstr "è¨‚é–±æ‰€é¸ç¾¤çµ„"
 
-#: src/lang.c:735
+#: src/lang.c:756
 msgid "subscribe to groups that match pattern"
 msgstr "è¨‚é–±åŒ¹é…èƒšé¨°çš„ç¾¤çµ„"
 
-#: src/lang.c:736
+#: src/lang.c:757
 msgid "reread active file to check for any new news"
 msgstr "é‡æ–°è®€å–ç¾ç”¨æª”æ¡ˆä»¥æª¢æŸ¥çœ‹çœ‹ä»»ä½•æ–°çš„æ–°èž"
 
-#: src/lang.c:737
+#: src/lang.c:758
 msgid "show NNTP[S] connection details"
 msgstr ""
 
-#: src/lang.c:738
+#: src/lang.c:759
 msgid "toggle display of group name only or group name plus description"
 msgstr "åˆ‡æ›åªé¡¯ç¤ºç¾¤çµ„åç¨±æˆ–æ˜¯ç¾¤çµ„åç¨±åŠ ä¸Šæè¿°"
 
-#: src/lang.c:739
+#: src/lang.c:760
 msgid "toggle display to show all/unread subscribed groups"
 msgstr "åˆ‡æ›é¡¯ç¤ºå…¨éƒ¨/æœªè®€çš„å·²è¨‚é–±ç¾¤çµ„"
 
-#: src/lang.c:740
+#: src/lang.c:761
 msgid "unsubscribe from chosen group"
 msgstr "å–æ¶ˆè¨‚é–±æ‰€é¸ç¾¤çµ„"
 
-#: src/lang.c:741
+#: src/lang.c:762
 msgid "unsubscribe from groups that match pattern"
 msgstr "å–æ¶ˆè¨‚é–±åŒ¹é…èƒšé¨°çš„ç¾¤çµ„"
 
-#: src/lang.c:742
+#: src/lang.c:763
 msgid "sort the list of groups"
 msgstr "æŽ’åºç¾¤çµ„æ¸…å–®"
 
-#: src/lang.c:743
+#: src/lang.c:764
 msgid "toggle display to show all/subscribed groups"
 msgstr "åˆ‡æ›é¡¯ç¤ºå…¨éƒ¨/å·²è¨‚é–±çš„ç¾¤çµ„"
 
-#: src/lang.c:744
+#: src/lang.c:765
 #, fuzzy
 msgid "tag/untag all parts of current multipart-message in order"
 msgstr "ä¾åºæ¨™å®šç›®å‰å¤šéƒ¨ä»¶è¨Šæ¯çš„æ‰€æœ‰éƒ¨åˆ†"
 
-#: src/lang.c:745
+#: src/lang.c:766
 msgid "0 - 9\t  choose article by number"
 msgstr "0 - 9\t  ä¾ç·¨è™Ÿé¸æ“‡æ–‡ç« "
 
-#: src/lang.c:746
+#: src/lang.c:767
 msgid "mark thread as read and return to group index page"
 msgstr "æ¨™è¨˜è¨Žè«–ä¸²ç‚ºå·²è®€ä¸¦å›žåˆ°ç¾¤çµ„ç´¢å¼•é é¢"
 
-#: src/lang.c:747
+#: src/lang.c:768
 msgid "mark thread as read and enter next unread thread or group"
 msgstr "æ¨™è¨˜è¨Žè«–ä¸²ç‚ºå·²è®€ä¸¦è¼¸å…¥ä¸‹ä¸€å€‹æœªè®€çš„è¨Žè«–ä¸²æˆ–ç¾¤çµ„"
 
-#: src/lang.c:748
+#: src/lang.c:769
 msgid "choose first article in list"
 msgstr "é¸æ“‡æ¸…å–®ä¸­çš„ç¬¬ä¸€ç¯‡æ–‡ç« "
 
-#: src/lang.c:749
+#: src/lang.c:770
 msgid "choose last article in list"
 msgstr "é¸æ“‡æ¸…å–®ä¸­çš„æœ€å¾Œä¸€ç¯‡æ–‡ç« "
 
-#: src/lang.c:750
+#: src/lang.c:771
 msgid "mark art, range or tagged arts as read; move crsr to next unread art"
 msgstr "æ¨™è¨˜æ–‡ç« ã€ç¯„åœæˆ–å·²æ¨™å®šæ–‡ç« ç‚ºå·²è®€ï¼›ç§»å‹•æ¸¸æ¨™åˆ°ä¸‹ä¸€ç¯‡æœªè®€æ–‡ç« "
 
-#: src/lang.c:751
+#: src/lang.c:772
 msgid "mark article, range or tagged articles as unread"
 msgstr "æ¨™è¨˜æ–‡ç« ã€ç¯„åœæˆ–å·²æ¨™å®šæ–‡ç« ç‚ºæœªè®€"
 
-#: src/lang.c:752
+#: src/lang.c:773
 msgid "mark current thread as unread"
 msgstr "æ¨™è¨˜ç›®å‰è¨Žè«–ä¸²ç‚ºæœªè®€"
 
-#: src/lang.c:753
+#: src/lang.c:774
 msgid "read chosen article"
 msgstr "è®€å–æ‰€é¸æ–‡ç« "
 
-#: src/lang.c:754
+#: src/lang.c:775
 msgid ""
 "Display properties\n"
 "------------------"
@@ -2629,7 +2712,7 @@ msgstr ""
 "é¡¯ç¤ºå±¬æ€§\n"
 "------------------"
 
-#: src/lang.c:755
+#: src/lang.c:776
 msgid ""
 "Miscellaneous\n"
 "-------------"
@@ -2637,7 +2720,7 @@ msgstr ""
 "é›œé …\n"
 "-------------"
 
-#: src/lang.c:756
+#: src/lang.c:777
 msgid ""
 "Moving around\n"
 "-------------"
@@ -2645,7 +2728,7 @@ msgstr ""
 "å››è™•ç§»å‹•\n"
 "-------------"
 
-#: src/lang.c:757
+#: src/lang.c:778
 msgid ""
 "Group/thread/article operations\n"
 "-------------------------------"
@@ -2653,7 +2736,7 @@ msgstr ""
 "ç¾¤çµ„/è¨Žè«–ä¸²/æ–‡ç« æ“ä½œ\n"
 "-------------------------------"
 
-#: src/lang.c:758
+#: src/lang.c:779
 msgid ""
 "Attachment operations\n"
 "---------------------"
@@ -2661,7 +2744,7 @@ msgstr ""
 "é™„ä»¶æ“ä½œ\n"
 "---------------------"
 
-#: src/lang.c:759
+#: src/lang.c:780
 msgid ""
 "Attribute operations\n"
 "--------------------"
@@ -2669,7 +2752,7 @@ msgstr ""
 "å±¬æ€§æ“ä½œ\n"
 "--------------------"
 
-#: src/lang.c:760
+#: src/lang.c:781
 msgid ""
 "Option operations\n"
 "-----------------"
@@ -2677,7 +2760,7 @@ msgstr ""
 "é¸é …æ“ä½œ\n"
 "-----------------"
 
-#: src/lang.c:761
+#: src/lang.c:782
 #, fuzzy
 msgid ""
 "Posted article operations\n"
@@ -2686,7 +2769,7 @@ msgstr ""
 "ç¾¤çµ„/è¨Žè«–ä¸²/æ–‡ç« æ“ä½œ\n"
 "-------------------------------"
 
-#: src/lang.c:762
+#: src/lang.c:783
 msgid ""
 "Scope operations\n"
 "----------------"
@@ -2694,7 +2777,7 @@ msgstr ""
 "ç¯„åœæ“ä½œ\n"
 "----------------"
 
-#: src/lang.c:763
+#: src/lang.c:784
 msgid ""
 "URL operations\n"
 "--------------"
@@ -2702,100 +2785,100 @@ msgstr ""
 "ç¶²å€æ“ä½œ\n"
 "--------------"
 
-#: src/lang.c:764
+#: src/lang.c:785
 msgid "choose first URL in list"
 msgstr "é¸æ“‡æ¸…å–®ä¸­çš„ç¬¬ä¸€ç­†ç¶²å€"
 
-#: src/lang.c:765
+#: src/lang.c:786
 msgid "0 - 9\t  choose URL by number"
 msgstr "0 - 9\t  ä¾ç·¨è™Ÿé¸æ“‡ç¶²å€"
 
-#: src/lang.c:766
+#: src/lang.c:787
 msgid "choose last URL in list"
 msgstr "é¸æ“‡æ¸…å–®ä¸­çš„æœ€å¾Œä¸€ç­†ç¶²å€"
 
-#: src/lang.c:767
+#: src/lang.c:788
 msgid "search for URLs forwards"
 msgstr "å‘å‰æœå°‹ç¶²å€"
 
-#: src/lang.c:768
+#: src/lang.c:789
 msgid "search for URLs backwards"
 msgstr "å‘å¾Œæœå°‹ç¶²å€"
 
-#: src/lang.c:769
+#: src/lang.c:790
 msgid "Open URL in browser"
 msgstr "åœ¨ç€è¦½å™¨ä¸­é–‹å•Ÿç¶²å€"
 
-#: src/lang.c:770
+#: src/lang.c:791
 msgid "toggle info message in last line (URL)"
 msgstr "åˆ‡æ›æœ€å¾Œä¸€åˆ—çš„è³‡è¨Šè¨Šæ¯ (ç¶²å€)"
 
-#: src/lang.c:772
+#: src/lang.c:793
 msgid "Group Level Commands"
 msgstr "ç¾¤çµ„å±¤ç´šå‘½ä»¤"
 
-#: src/lang.c:773
+#: src/lang.c:794
 msgid "Kill filter added"
 msgstr "ç é™¤å·²åŠ å…¥çš„ç¯©é¸å™¨"
 
-#: src/lang.c:774
+#: src/lang.c:795
 msgid "Auto-selection filter added"
 msgstr "è‡ªå‹•é¸å–å·²åŠ å…¥çš„ç¯©é¸å™¨"
 
-#: src/lang.c:775
+#: src/lang.c:796
 msgid "All parts tagged"
 msgstr "å·²æ¨™å®šæ‰€æœ‰éƒ¨åˆ†"
 
-#: src/lang.c:776
+#: src/lang.c:797
 #, fuzzy
 msgid "All parts untagged"
 msgstr "å·²æ¨™å®šæ‰€æœ‰éƒ¨åˆ†"
 
-#: src/lang.c:777
+#: src/lang.c:798
 #, c-format
 msgid "Building References-trees (%d/%d)..."
 msgstr ""
 
-#: src/lang.c:778
+#: src/lang.c:799
 msgid "Storing article for later posting"
 msgstr "å­˜å…¥æ–‡ç« ä»¥ç”¨æ–¼ç¨å¾Œå¼µè²¼"
 
-#: src/lang.c:779
+#: src/lang.c:800
 msgid "Please enter a valid character"
 msgstr "è«‹è¼¸å…¥æœ‰æ•ˆå­—å…ƒ"
 
-#: src/lang.c:780
+#: src/lang.c:801
 #, c-format
 msgid "Missing part #%d"
 msgstr "ç¼ºå°‘éƒ¨åˆ†çš„ #%d"
 
-#: src/lang.c:781
+#: src/lang.c:802
 msgid "*** No postponed articles ***"
 msgstr "*** æ²’æœ‰è¢«æ“±ç½®çš„æ–‡ç«  ***"
 
-#: src/lang.c:782
+#: src/lang.c:803
 msgid "Not a multi-part message"
 msgstr "ä¸æ˜¯ä¸€ç¯‡å¤šéƒ¨ä»¶è¨Šæ¯"
 
-#: src/lang.c:783
+#: src/lang.c:804
 msgid "You are not subscribed to this group"
 msgstr "æ‚¨æœªè¨‚é–±é€™å€‹ç¾¤çµ„"
 
-#: src/lang.c:784
+#: src/lang.c:805
 msgid "No previous expression"
 msgstr "æ²’æœ‰ä¸Šä¸€å€‹è¡¨ç¤ºå¼"
 
-#: src/lang.c:785
+#: src/lang.c:806
 msgid "Operation disabled in no-overwrite mode"
 msgstr "åœ¨ç„¡è¦†å¯«æ¨¡å¼ä¸­çš„æ“ä½œå·²åœç”¨"
 
 #. TODO: replace hard coded key-name in txt_info_postponed
-#: src/lang.c:787
+#: src/lang.c:808
 #, c-format
 msgid "%d postponed %s, reuse with ^O...\n"
 msgstr "%d å·²æ“±ç½® %sï¼ŒæŒ‰ä¸‹ ^O ä»¥é‡æ–°ä½¿ç”¨â€¦\n"
 
-#: src/lang.c:788
+#: src/lang.c:809
 msgid ""
 "X-Conversion-Note: multipart/alternative contents have been removed.\n"
 "  To get the whole article, turn alternative handling OFF in the Option "
@@ -2804,17 +2887,17 @@ msgstr ""
 "X-Conversion-Note: å¤šéƒ¨ä»¶/æ›¿ä»£å…§å®¹å·²è¢«ç§»é™¤ã€‚\n"
 "  è¦æå–æ•´ç¯‡æ–‡ç« ï¼Œè«‹åœ¨é¸é …åŠŸèƒ½è¡¨ä¸­é—œé–‰æ›¿ä»£è™•ç†\n"
 
-#: src/lang.c:790
+#: src/lang.c:811
 #, c-format
 msgid "Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr "å„²å­˜ %s/%s çš„æª”åæ˜¯ä¸€å€‹ä¿¡ç®±ã€‚é™„ä»¶æœªè¢«å„²å­˜"
 
-#: src/lang.c:791
+#: src/lang.c:812
 msgid "TeX2Iso encoded article"
 msgstr "TeX2Iso ç·¨ç¢¼æ–‡ç« "
 
 #. TODO: replace hard coded key-names
-#: src/lang.c:793
+#: src/lang.c:814
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -2873,152 +2956,152 @@ msgstr ""
 "è¦ç²å¾—æ›´å¤šè³‡è¨Šï¼Œè«‹é–±è®€ç·šä¸Šæ‰‹å†Šã€READMEã€INSTALLã€TODO å’Œ FTP ç­‰æª”æ¡ˆã€‚\n"
 "è«‹åˆ©ç”¨ã€ŽRã€å‘½ä»¤ç™¼é€éŒ¯èª¤å ±å‘Š/æ„è¦‹çµ¦ %sã€‚\n"
 
-#: src/lang.c:809
+#: src/lang.c:830
 #, c-format
-msgid "Invalid  From: %s  line. Read the INSTALL file again."
-msgstr "ç„¡æ•ˆçš„   From: %s  åˆ—ã€‚è«‹å†é–±è®€ INSTALL æª”æ¡ˆã€‚"
+msgid "Invalid From:-header \"%s\". Check your mail_address setting."
+msgstr ""
 
-#: src/lang.c:811
+#: src/lang.c:832
 msgid "Invalid multibyte sequence found\n"
 msgstr "å‡ºç¾ç„¡æ•ˆçš„å¤šä½å…ƒçµ„åºåˆ—\n"
 
-#: src/lang.c:814
-#, c-format
-msgid "Invalid  Sender:-header %s"
-msgstr "ç„¡æ•ˆçš„  Sender: -header %s"
+#: src/lang.c:835
+#, fuzzy, c-format
+msgid "Invalid Sender:-header \"%s\""
+msgstr "ç„¡æ•ˆçš„ Sender:-header \"%s\""
 
-#: src/lang.c:816
+#: src/lang.c:837
 msgid "Inverse video disabled"
 msgstr "åç™½é¡¯ç¤ºå·²åœç”¨"
 
-#: src/lang.c:817
+#: src/lang.c:838
 msgid "Inverse video enabled"
 msgstr "åç™½é¡¯ç¤ºå·²å•Ÿç”¨"
 
-#: src/lang.c:819
+#: src/lang.c:840
 #, c-format
 msgid "Missing definition for %s\n"
 msgstr "ç¼ºå°‘ %s çš„å®šç¾©\n"
 
-#: src/lang.c:820
+#: src/lang.c:841
 #, c-format
 msgid "Invalid key definition '%s'\n"
 msgstr "ç„¡æ•ˆçš„æŒ‰éµå®šç¾©ã€Ž%sã€\n"
 
-#: src/lang.c:821
+#: src/lang.c:842
 #, c-format
 msgid "Invalid keyname '%s'\n"
 msgstr "ç„¡æ•ˆçš„æŒ‰éµåç¨±ã€Ž%sã€\n"
 
-#: src/lang.c:822
+#: src/lang.c:843
 #, c-format
 msgid "Keymap file was upgraded to version %s\n"
 msgstr "Keymap æª”æ¡ˆå·²å‡ç´šåˆ°ç‰ˆæœ¬ %s\n"
 
-#: src/lang.c:823
+#: src/lang.c:844
 #, c-format
 msgid "Kill From:     [%s] (y/n): "
 msgstr "ç é™¤ From:   [%s] (y/n)ï¼š"
 
-#: src/lang.c:824
+#: src/lang.c:845
 msgid "Kill Lines: (</>num): "
 msgstr "ç é™¤ Lines: (</>num)ï¼š"
 
-#: src/lang.c:825
+#: src/lang.c:846
 msgid "Kill Article Menu"
 msgstr "ç é™¤æ–‡ç« é¸å–®"
 
-#: src/lang.c:826
+#: src/lang.c:847
 #, fuzzy, c-format
 msgid "Kill Msg-ID:   [%s] (f/l/o/n): "
 msgstr "ç é™¤ Msg-Idï¼š [%s] (f/l/o/n)ï¼š"
 
-#: src/lang.c:827
+#: src/lang.c:848
 msgid "Kill pattern scope  : "
 msgstr "ç é™¤èƒšé¨°ç¯„åœ ï¼š"
 
-#: src/lang.c:828
+#: src/lang.c:849
 #, c-format
 msgid "Kill Subject:  [%s] (y/n): "
 msgstr "ç é™¤ Subject: [%s] (y/n)ï¼š"
 
-#: src/lang.c:829
+#: src/lang.c:850
 msgid "Kill text pattern   : "
 msgstr "ç é™¤æ–‡å­—èƒšé¨°  ï¼š"
 
-#: src/lang.c:830
+#: src/lang.c:851
 msgid "Kill time in days   : "
 msgstr "ç é™¤æ™‚é–“æ–¼æ¯æ—¥  ï¼š"
 
-#: src/lang.c:832
+#: src/lang.c:853
 msgid "Last"
 msgstr "æœ€å¾Œä¸€ç­†"
 
-#: src/lang.c:833
+#: src/lang.c:854
 msgid "-- Last response --"
 msgstr "-- æœ€å¾Œä¸€ç­†å›žæ‡‰ --"
 
-#: src/lang.c:834
+#: src/lang.c:855
 #, c-format
 msgid "Lines %s  "
 msgstr "åˆ— %s  "
 
-#: src/lang.c:840
+#: src/lang.c:861
 #, fuzzy
 msgid "Function not available."
 msgstr "ç„¡æ³•ä½¿ç”¨æ–‡ç« "
 
-#: src/lang.c:841
+#: src/lang.c:862
 msgid "Not reading via NNTP."
 msgstr ""
 
-#: src/lang.c:843
+#: src/lang.c:864
 #, fuzzy, c-format
 msgid "Group: %s"
 msgstr "ç¾¤çµ„ %.*sâ€¦"
 
-#: src/lang.c:844
+#: src/lang.c:865
 #, fuzzy, c-format
 msgid "Groups: %s"
 msgstr "ç¾¤çµ„ %.*sâ€¦"
 
-#: src/lang.c:847
+#: src/lang.c:868
 msgid "Mail"
 msgstr "éƒµå¯„"
 
-#: src/lang.c:848
+#: src/lang.c:869
 msgid "mailbox "
 msgstr "ä¿¡ç®± "
 
-#: src/lang.c:849
+#: src/lang.c:870
 #, c-format
 msgid "Mail article(s) to [%.*s]> "
 msgstr "éƒµå¯„æ–‡ç« åˆ° [%.*s]>"
 
-#: src/lang.c:850
+#: src/lang.c:871
 #, c-format
 msgid "Mailing log to %s\n"
 msgstr "éƒµå¯„è¨˜éŒ„æª”åˆ° %s\n"
 
-#: src/lang.c:851
+#: src/lang.c:872
 msgid "Mail bug report..."
 msgstr "éƒµå¯„éŒ¯èª¤å ±å‘Šâ€¦"
 
-#: src/lang.c:852
+#: src/lang.c:873
 #, c-format
 msgid "Mail BUG REPORT to %s?"
 msgstr "éƒµå¯„éŒ¯èª¤å ±å‘Šåˆ° %sï¼Ÿ"
 
-#: src/lang.c:853
+#: src/lang.c:874
 msgid "Mailed"
 msgstr "å·²å¯„å‡º"
 
-#: src/lang.c:854
+#: src/lang.c:875
 #, c-format
 msgid "Mailing to %s..."
 msgstr "éƒµå¯„åˆ° %sâ€¦"
 
-#: src/lang.c:855
+#: src/lang.c:876
 msgid ""
 "# [Mail/Save] active file. Format is like news active file:\n"
 "#   groupname  max.artnum  min.artnum  /dir\n"
@@ -3030,84 +3113,84 @@ msgstr ""
 "# ç¬¬å››å€‹æ¬„ä½æ˜¯åŸºåº•ç›®éŒ„ (äº¦å³ ~/Mail æˆ– ~/News)\n"
 "#\n"
 
-#: src/lang.c:858
+#: src/lang.c:879
 #, c-format
 msgid "%s marked as read"
 msgstr "%s æ¨™è¨˜ç‚ºå·²è®€"
 
-#: src/lang.c:859
+#: src/lang.c:880
 #, c-format
 msgid "%s marked as unread"
 msgstr "%s æ¨™è¨˜ç‚ºæœªè®€"
 
-#: src/lang.c:860
+#: src/lang.c:881
 #, c-format
 msgid "Marked %d of %d %s as read"
 msgstr "æ¨™è¨˜ %2$d ä¸­çš„ %1$d %3$s ç‚ºå·²è®€"
 
-#: src/lang.c:861
+#: src/lang.c:882
 #, c-format
 msgid "Marked %d of %d %s as unread"
 msgstr "æ¨™è¨˜ %2$d ä¸­çš„ %1$d %3$s ç‚ºæœªè®€"
 
-#: src/lang.c:862 src/lang.c:1704
+#: src/lang.c:883 src/lang.c:1753
 msgid "Mark"
 msgstr "æ¨™è¨˜"
 
-#: src/lang.c:863
+#: src/lang.c:884
 #, c-format
 msgid "Mark all articles as read%s?"
 msgstr "æ¨™è¨˜æ‰€æœ‰æ–‡ç« ç‚º %s è®€ï¼Ÿ"
 
-#: src/lang.c:864
+#: src/lang.c:885
 #, c-format
 msgid "Mark article as read%s?"
 msgstr "æ¨™è¨˜æ–‡ç« ç‚º %s è®€ï¼Ÿ"
 
-#: src/lang.c:865
+#: src/lang.c:886
 #, c-format
 msgid "Mark group %s as read?"
 msgstr "æ¨™è¨˜ç¾¤çµ„ %s ç‚ºå·²è®€ï¼Ÿ"
 
-#: src/lang.c:866
+#: src/lang.c:887
 #, c-format
 msgid "Mark thread as read%s?"
 msgstr "æ¨™è¨˜è¨Žè«–ä¸²ç‚º %s è®€ï¼Ÿ"
 
-#: src/lang.c:867
+#: src/lang.c:888
 #, c-format
 msgid "Matching %s groups..."
 msgstr "æ­£åœ¨åŒ¹é… %s ç¾¤çµ„â€¦"
 
-#: src/lang.c:868 src/lang.c:881 src/lang.c:884 src/lang.c:890
+#: src/lang.c:889 src/lang.c:902 src/lang.c:905 src/lang.c:911
 #, c-format
 msgid "<n>=set current to n; %s=line down; %s=line up; %s=help; %s=quit"
 msgstr "<n>=è¨­å®šç›®å‰ç‚º n; %s=ä¸‹ç§»ä¸€åˆ—ï¼›%s=è²¼é½Šï¼›%s=æ±‚åŠ©ï¼›%s=é›¢é–‹"
 
-#: src/lang.c:870
+#: src/lang.c:891
 #, c-format
 msgid ""
 "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr ""
 "%s=æª¢è¦–ï¼›%s=ç®¡ç·šï¼›%s=ç®¡ç·šåŽŸå§‹ï¼›%s=å„²å­˜ï¼›%s=æ¨™å®šï¼›%s=æ¨™å®šèƒšé¨°ï¼›%s=å–æ¶ˆæ‰€æœ‰æ¨™å®š"
 
-#: src/lang.c:872
+#: src/lang.c:893
 #, c-format
 msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all"
 msgstr "%s=æª¢è¦–ï¼›%s=å„²å­˜ï¼›%s=æ¨™å®šï¼›%s=æ¨™å®šèƒšé¨°ï¼›%s=å–æ¶ˆæ‰€æœ‰æ¨™å®š"
 
-#: src/lang.c:874
+#: src/lang.c:895
 #, c-format
 msgid ""
 "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search"
 msgstr "%s=åå‘æ¨™å®šï¼›%s=å‘å‰æœå°‹ï¼›%s=å‘å¾Œæœå°‹ï¼›%s=é‡è¤‡æœå°‹"
 
-#: src/lang.c:875 src/lang.c:879
+#: src/lang.c:896 src/lang.c:900
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=search pattern; %s=kill/select"
 msgstr "<n>=è¨­å®šç›®å‰ç‚º n; %s=ä¸‹ä¸€å€‹æœªè®€ï¼›%s=æœå°‹èƒšé¨°ï¼›%s=ç é™¤/é¸å–"
 
-#: src/lang.c:876
+#: src/lang.c:897
 #, c-format
 msgid ""
 "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; "
@@ -3115,267 +3198,269 @@ msgid ""
 msgstr ""
 "%s=ä½œè€…æœå°‹ï¼›%s=è¨­å›žæœªè®€ï¼›%s=ä¸‹ç§»ä¸€åˆ—ï¼›%s=è²¼é½Šï¼›%s=æ¨™è¨˜è®€å–ï¼›%s=åˆ—å‡ºè¨Žè«–ä¸²"
 
-#: src/lang.c:877
+#: src/lang.c:898
 #, c-format
 msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"
 msgstr "%s=è²¼é½Šï¼›%s=ä¸‹ç§»ä¸€åˆ—ï¼›%s=å‘ä¸Šä¸€é ï¼›%s=å‘ä¸‹ä¸€é ï¼›%s=é ‚ç«¯ï¼›%s=åº•éƒ¨"
 
-#: src/lang.c:878
+#: src/lang.c:899
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=quit"
 msgstr "%s=å‘å‰æœå°‹ï¼›%s=å‘å¾Œæœå°‹ï¼›%s=é›¢é–‹"
 
-#: src/lang.c:880
+#: src/lang.c:901
 #, c-format
 msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr "%s=ä½œè€…æœå°‹ï¼›%s=å…§æ–‡æœå°‹ï¼›%s=è¨­å›žæœªè®€ï¼›%s=è·Ÿè²¼ï¼›%s=æ¨™è¨˜è®€å–"
 
-#: src/lang.c:882 src/lang.c:891
+#: src/lang.c:903 src/lang.c:912
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=repeat search"
 msgstr "%s=å‘å‰æœå°‹ï¼›%s=å‘å¾Œæœå°‹ï¼›%s=é‡è¤‡æœå°‹"
 
-#: src/lang.c:883
+#: src/lang.c:904
 #, c-format
 msgid "%s=add; %s=move; %s=rename; %s=delete"
 msgstr "%s=åŠ å…¥ï¼›%s=ç§»å‹•ï¼›%s=é‡æ–°å‘½åï¼›%s=åˆªé™¤"
 
-#: src/lang.c:885
+#: src/lang.c:906
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr "<n>=è¨­å®šç›®å‰ç‚º n; %s=ä¸‹ä¸€å€‹æœªè®€ï¼›%s,%s=æœå°‹èƒšé¨°ï¼›%s=è¨­å›žæœªè®€"
 
-#: src/lang.c:886
+#: src/lang.c:907
 #, c-format
 msgid ""
 "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
 msgstr "%s=ä¸‹ç§»ä¸€åˆ—ï¼›%s=è²¼é½Šï¼›%s=æ±‚åŠ©ï¼›%s=ç§»å‹•ï¼›%s=é›¢é–‹ï¼›%s=åˆ‡æ›å…¨éƒ¨/æœªè®€"
 
-#: src/lang.c:887
+#: src/lang.c:908
 #, c-format
 msgid ""
 "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/"
 "out"
 msgstr "%s=è¨‚é–±ï¼›%s=è¨‚é–±èƒšé¨°ï¼›%s=å–æ¶ˆè¨‚é–±ï¼›%s=å–æ¶ˆè¨‚é–±èƒšé¨°ï¼›%s=æ‹”å…¥/å‡º"
 
-#: src/lang.c:888
+#: src/lang.c:909
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr "<n>=è¨­å®šç›®å‰ç‚º n; %s=ä¸‹ä¸€å€‹æœªè®€ï¼›%s=è¨­å›žæœªè®€ï¼›%s=é¡¯ç¤ºåˆ‡æ›"
 
-#: src/lang.c:889
+#: src/lang.c:910
 #, c-format
 msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"
 msgstr "%s=æ±‚åŠ©ï¼›%s=ä¸‹ç§»ä¸€åˆ—ï¼›%s=è²¼é½Šï¼›%s=é›¢é–‹ï¼›%s=æ¨™å®šï¼›%s=æ¨™è¨˜æœªè®€"
 
-#: src/lang.c:892
+#: src/lang.c:913
 msgid "--More--"
 msgstr "--æ›´å¤š--"
 
-#: src/lang.c:894
+#: src/lang.c:915
 #, fuzzy, c-format
 msgid "MOTD: %s\n"
 msgstr "MOTD: "
 
-#: src/lang.c:896
+#: src/lang.c:917
 #, c-format
 msgid "Moving %s..."
 msgstr "æ­£åœ¨ç§»å‹• %sâ€¦"
 
-#: src/lang.c:897
+#: src/lang.c:918
 msgid "Message-ID: & last Reference  "
 msgstr "Message-ID: & æœ€è¿‘ä¸€ç­†åƒè€ƒ  "
 
-#: src/lang.c:898
+#: src/lang.c:919
 msgid "Message-ID: line              "
 msgstr "Message-ID: åˆ—              "
 
-#: src/lang.c:899
+#: src/lang.c:920
 msgid "Message-ID: & References: line"
 msgstr "Message-ID: & References: åˆ—"
 
-#: src/lang.c:901
+#: src/lang.c:922
 #, c-format
 msgid "Go to newsgroup [%s]> "
 msgstr "å‰å¾€æ–°èžç¾¤çµ„ [%s]>"
 
-#: src/lang.c:902
+#: src/lang.c:923
 msgid "newsgroups"
 msgstr "æ–°èžç¾¤çµ„"
 
-#: src/lang.c:903
+#: src/lang.c:924
 #, c-format
 msgid "Position %s in group list (1,2,..,$) [%d]> "
 msgstr "å®šä½ %s æ–¼ç¾¤çµ„æ¸…å–® (1,2,..,$) [%d]>"
 
-#: src/lang.c:904
+#: src/lang.c:925
 msgid "newsgroup"
 msgstr "æ–°èžç¾¤çµ„"
 
-#: src/lang.c:905
+#: src/lang.c:926
 msgid "Try and save newsrc file again?"
 msgstr "å†æ¬¡å˜—è©¦ä¸¦å„²å­˜ newsrc æª”æ¡ˆï¼Ÿ"
 
-#: src/lang.c:906
-msgid "Warning: No newsgroups were written to your newsrc file. Save aborted."
+#: src/lang.c:927
+#, fuzzy, c-format
+msgid "Warning: No groups written to your %s file. Save aborted."
 msgstr "è­¦å‘Šï¼šæ²’æœ‰ä»»ä½•æ–°èžç¾¤çµ„è¢«å¯«å…¥æ‚¨çš„ newsrc æª”æ¡ˆã€‚å·²æ”¾æ£„å„²å­˜ã€‚"
 
-#: src/lang.c:907
-msgid "newsrc file saved successfully.\n"
+#: src/lang.c:928
+#, fuzzy, c-format
+msgid "%s file saved successfully.\n"
 msgstr "newsrc æª”æ¡ˆå·²æˆåŠŸå„²å­˜ã€‚\n"
 
-#: src/lang.c:908
+#: src/lang.c:929
 msgid "-- Next response --"
 msgstr "-- ä¸‹ä¸€å€‹å›žæ‡‰ --"
 
-#: src/lang.c:909
+#: src/lang.c:930
 msgid "No  "
 msgstr "å¦  "
 
-#: src/lang.c:910
+#: src/lang.c:931
 msgid "*** No articles ***"
 msgstr "*** æ²’æœ‰æ–‡ç«  ***"
 
-#: src/lang.c:911
+#: src/lang.c:932
 msgid "No articles have been posted"
 msgstr "æ²’æœ‰ä»»ä½•æ–‡ç« å·²è¢«å¼µè²¼"
 
-#: src/lang.c:912
+#: src/lang.c:933
 msgid "*** No attachments ***"
 msgstr "*** æ²’æœ‰é™„ä»¶ ***"
 
-#: src/lang.c:913
+#: src/lang.c:934
 msgid "*** No description ***"
 msgstr "*** æ²’æœ‰æè¿° ***"
 
-#: src/lang.c:914
+#: src/lang.c:935
 msgid "No filename"
 msgstr "æ²’æœ‰æª”å"
 
-#: src/lang.c:915
+#: src/lang.c:936
 msgid "No group"
 msgstr "æ²’æœ‰ç¾¤çµ„"
 
-#: src/lang.c:916
+#: src/lang.c:937
 msgid "*** No groups ***"
 msgstr "*** æ²’æœ‰ç¾¤çµ„ ***"
 
-#: src/lang.c:917
+#: src/lang.c:938
 msgid "No more groups to read"
 msgstr "å·²ç„¡å¯è®€å–ç¾¤çµ„"
 
-#: src/lang.c:918
+#: src/lang.c:939
 msgid "No last message"
 msgstr "æ²’æœ‰æœ€è¿‘ä¸€ç­†è¨Šæ¯"
 
-#: src/lang.c:919
+#: src/lang.c:940
 msgid "No mail address"
 msgstr "æ²’æœ‰éƒµä»¶åœ°å€"
 
-#: src/lang.c:920
+#: src/lang.c:941
 msgid "No articles marked for saving"
 msgstr "æ²’æœ‰æ¨™è¨˜è¦å„²å­˜çš„æ–‡ç« "
 
-#: src/lang.c:921
+#: src/lang.c:942
 msgid "No match"
 msgstr "æ²’æœ‰åŒ¹é…"
 
-#: src/lang.c:922
+#: src/lang.c:943
 msgid "No more groups"
 msgstr "å·²ç„¡ç¾¤çµ„"
 
-#: src/lang.c:923
+#: src/lang.c:944
 msgid "No newsgroups"
 msgstr "æ²’æœ‰æ–°èžç¾¤çµ„"
 
-#: src/lang.c:924
+#: src/lang.c:945
 msgid "No next unread article"
 msgstr "æ²’æœ‰ä¸‹ä¸€ç¯‡æœªè®€æ–‡ç« "
 
-#: src/lang.c:925
+#: src/lang.c:946
 msgid "No previous group"
 msgstr "æ²’æœ‰ä¸Šä¸€å€‹ç¾¤çµ„"
 
-#: src/lang.c:926
+#: src/lang.c:947
 msgid "No previous search, nothing to repeat"
 msgstr "æ²’æœ‰ä¸Šä¸€å€‹æœå°‹ï¼Œæ²’æœ‰ä»»ä½•æ±è¥¿å¯é‡è¤‡"
 
-#: src/lang.c:927
+#: src/lang.c:948
 msgid "No previous unread article"
 msgstr "æ²’æœ‰ä¸Šä¸€ç¯‡æœªè®€æ–‡ç« "
 
-#: src/lang.c:928
+#: src/lang.c:949
 msgid "No responses"
 msgstr "æ²’æœ‰å›žæ‡‰"
 
-#: src/lang.c:929
+#: src/lang.c:950
 msgid "No responses to list in current thread"
 msgstr "åœ¨ç›®å‰çš„è¨Žè«–ä¸²ä¸­æ²’æœ‰å›žæ‡‰å¯åˆ—å‡º"
 
-#: src/lang.c:930
+#: src/lang.c:951
 msgid "*** No scopes ***"
 msgstr "*** æ²’æœ‰ç¯„åœ ***"
 
-#: src/lang.c:931
+#: src/lang.c:952
 msgid "No search string"
 msgstr "æ²’æœ‰æœå°‹å­—ä¸²"
 
-#: src/lang.c:932
+#: src/lang.c:953
 msgid "No subject"
 msgstr "æ²’æœ‰ä¸»æ—¨"
 
-#: src/lang.c:934
+#: src/lang.c:955
 #, c-format
 msgid "%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr "%sï¼šçµ‚ç«¯æ©Ÿå¿…é ˆèƒ½å¤ æ¸…ç©ºåˆ°åˆ—å°¾ (ce)\n"
 
-#: src/lang.c:935
+#: src/lang.c:956
 #, c-format
 msgid "%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr "%sï¼šçµ‚ç«¯æ©Ÿå¿…é ˆèƒ½å¤ æ¸…ç©ºåˆ°èž¢å¹•æœ«ç«¯ (cd)\n"
 
-#: src/lang.c:936
+#: src/lang.c:957
 #, c-format
 msgid "%s: Terminal must have clearscreen (cl) capability\n"
 msgstr "%sï¼šçµ‚ç«¯æ©Ÿå¿…é ˆå…·å‚™æ¸…ç©ºèž¢å¹• (cl) çš„èƒ½åŠ›\n"
 
-#: src/lang.c:937
+#: src/lang.c:958
 #, c-format
 msgid "%s: Terminal must have cursor motion (cm)\n"
 msgstr "%sï¼šçµ‚ç«¯æ©Ÿå¿…é ˆèƒ½å¤ ç§»å‹•æ¸¸æ¨™ (cm)\n"
 
-#: src/lang.c:938
+#: src/lang.c:959
 #, c-format
 msgid "%s: TERM variable must be set to use screen capabilities\n"
 msgstr "%sï¼šTERM è®Šæ•¸å¿…é ˆè¢«è¨­å®šä»¥ä½¿ç”¨èž¢å¹•èƒ½åŠ›\n"
 
-#: src/lang.c:940
+#: src/lang.c:961
 #, c-format
 msgid "No viewer found for %s/%s\n"
 msgstr "æ‰¾ä¸åˆ°ä»»ä½•æª¢è¦–å™¨ç”¨æ–¼ %s/%s\n"
 
-#: src/lang.c:941 src/lang.c:1616 src/lang.c:1644 src/lang.c:1935
+#: src/lang.c:962 src/lang.c:1665 src/lang.c:1693 src/lang.c:1991
 msgid "None"
 msgstr "ç„¡"
 
-#: src/lang.c:942
+#: src/lang.c:963
 msgid "Newsgroup does not exist on this server"
 msgstr "æ–°èžç¾¤çµ„ä¸å­˜åœ¨æ–¼é€™å€‹ä¼ºæœå™¨"
 
-#: src/lang.c:943
+#: src/lang.c:964
 #, c-format
 msgid "Group %s not found in active file"
 msgstr "åœ¨ç¾ç”¨æª”æ¡ˆä¸­æ‰¾ä¸åˆ°ç¾¤çµ„ %s"
 
-#: src/lang.c:944
+#: src/lang.c:966
 msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr "c)å»ºç«‹å®ƒã€ä½¿ç”¨ a)æ›¿ä»£åç¨±ã€ä½¿ç”¨ d)é è¨­ .newsrcã€q)é›¢é–‹ tinï¼š"
 
-#: src/lang.c:945
+#: src/lang.c:967
 msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr "ä½¿ç”¨ a)æ›¿ä»£åç¨±ã€ä½¿ç”¨ d)é è¨­ .newsrcã€q)é›¢é–‹ tinï¼š"
 
-#: src/lang.c:946
+#: src/lang.c:968
 #, c-format
 msgid ""
 "# NNTP-server -> newsrc translation table and NNTP-server\n"
@@ -3404,48 +3489,48 @@ msgstr ""
 "#   news.example.org  /tmp/nrc-ex      example    ex\n"
 "#\n"
 
-#: src/lang.c:952
+#: src/lang.c:975
 msgid "NULL"
 msgstr "NULL"
 
-#: src/lang.c:954
+#: src/lang.c:977
 msgid "Only"
 msgstr "åªæœ‰"
 
-#: src/lang.c:955
-#, c-format
-msgid "Option not enabled. Recompile with %s."
-msgstr "é¸é …æœªå•Ÿç”¨ã€‚é‡æ–°ä»¥ %s ç·¨è­¯ã€‚"
-
-#: src/lang.c:956
+#: src/lang.c:979
 msgid "Options Menu"
 msgstr "é¸é …åŠŸèƒ½è¡¨"
 
-#: src/lang.c:957
+#: src/lang.c:980
 msgid "Options Menu Commands"
 msgstr "é¸é …åŠŸèƒ½è¡¨å‘½ä»¤"
 
-#: src/lang.c:960
+#: src/lang.c:981
+#, fuzzy, c-format
+msgid "Option not enabled. Recompile with %s.%s\n"
+msgstr "é¸é …æœªå•Ÿç”¨ã€‚é‡æ–°ä»¥ %s ç·¨è­¯ã€‚%s\n"
+
+#: src/lang.c:984
 #, c-format
 msgid "Error in regex: %s at pos. %d '%s'"
 msgstr "åœ¨æ­£è¦è¡¨ç¤ºå¼ %s çš„ä½ç½® %d ç™¼ç”ŸéŒ¯èª¤ï¼šã€Ž%sã€"
 
-#: src/lang.c:961
+#: src/lang.c:985
 #, c-format
 msgid "Error in regex: pcre internal error %d"
 msgstr "åœ¨æ­£è¦è¡¨ç¤ºå¼ä¸­ç™¼ç”ŸéŒ¯èª¤ï¼špcre å…§éƒ¨éŒ¯èª¤ %d"
 
-#: src/lang.c:963
+#: src/lang.c:987
 #, c-format
 msgid "Error in regex: study - pcre internal error %s"
 msgstr "åœ¨æ­£è¦è¡¨ç¤ºå¼ä¸­ç™¼ç”ŸéŒ¯èª¤ï¼šstudy - pcre å…§éƒ¨éŒ¯èª¤ %s"
 
-#: src/lang.c:965
+#: src/lang.c:989
 msgid "Post a followup..."
 msgstr "è·Ÿè²¼â€¦"
 
 #. TODO: replace hard coded key-name in txt_post_error_ask_postpone
-#: src/lang.c:967
+#: src/lang.c:991
 msgid ""
 "An error has occurred while posting the article. If you think that this\n"
 "error is temporary or otherwise correctable, you can postpone the article\n"
@@ -3455,344 +3540,347 @@ msgstr ""
 "éŒ¯èª¤æ˜¯æš«æ™‚æˆ–æ˜¯å¯æ”¹æ­£çš„ï¼Œæ‚¨å¯ä»¥æ“±ç½®æ–‡ç« \n"
 "ä¸¦æ–¼ç¨å¾Œä»¥ ^O å†æ¬¡å–å‡ºå®ƒã€‚\n"
 
-#: src/lang.c:970
+#: src/lang.c:994
 msgid "Posted articles history"
 msgstr "å¼µè²¼æ–‡ç« æ­·å²è¨˜éŒ„"
 
-#: src/lang.c:971
+#: src/lang.c:995
 #, fuzzy
 msgid "Posted Articles Menu Commands"
 msgstr "å±¬æ€§åŠŸèƒ½è¡¨æŒ‡ä»¤"
 
-#: src/lang.c:972
+#: src/lang.c:996
 msgid "Lookup failed"
 msgstr ""
 
-#: src/lang.c:973
+#: src/lang.c:997
 #, fuzzy
 msgid "Operation not available for replies by mail"
 msgstr "å›žåˆ°ç¾¤çµ„é¸æ“‡å±¤ç´š"
 
-#: src/lang.c:974
+#: src/lang.c:998
 #, fuzzy
 msgid "Already in posted articles history level"
 msgstr "å¼µè²¼æ–‡ç« æ­·å²è¨˜éŒ„"
 
-#: src/lang.c:975
+#: src/lang.c:999
 #, c-format
 msgid "Post to newsgroup(s) [%s]> "
 msgstr "å¼µè²¼åˆ°æ–°èžç¾¤çµ„ [%s]>"
 
-#: src/lang.c:976
+#: src/lang.c:1000
 msgid "-- post processing started --"
 msgstr "-- å¼µè²¼è™•ç†é–‹å§‹ --"
 
-#: src/lang.c:977
+#: src/lang.c:1001
 msgid "-- post processing completed --"
 msgstr "-- å¼µè²¼è™•ç†å®Œæˆ --"
 
-#: src/lang.c:978
+#: src/lang.c:1002
 #, c-format
 msgid "Post subject [%s]> "
 msgstr "å¼µè²¼ä¸»æ—¨ [%s]>"
 
-#: src/lang.c:979
+#: src/lang.c:1003
 msgid ""
 "# Summary of mailed/posted messages viewable by 'W' command from within "
 "tin.\n"
 msgstr "# éƒµå¯„/å¼µè²¼çš„è¨Šæ¯æ¦‚è¦å¯ä»¥åœ¨ tin ä¹‹ä¸­ç¶“ç”±ã€ŽWã€å‘½ä»¤ä¾†æª¢è¦–ã€‚\n"
 
-#: src/lang.c:980
+#: src/lang.c:1004
 msgid "Posting article..."
 msgstr "å¼µè²¼æ–‡ç« â€¦"
 
-#: src/lang.c:982
+#: src/lang.c:1006
 #, fuzzy, c-format
 msgid "Posting failed (%s)"
 msgstr "å¼µè²¼æ–‡ç« â€¦"
 
-#: src/lang.c:984
+#: src/lang.c:1008
 #, c-format
 msgid "Posting: %.*s ..."
 msgstr "å¼µè²¼ï¼š%.*sâ€¦"
 
-#: src/lang.c:985
+#: src/lang.c:1009
 #, c-format
 msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 msgstr "å¼µè²¼è¢«æ“±ç½®çš„æ–‡ç«  [%%s]ï¼Ÿ(%s/%s/%s/%s/%s)ï¼š"
 
-#: src/lang.c:986
+#: src/lang.c:1010
 #, c-format
 msgid "Hot %s"
 msgstr "ç†±é–€ %s"
 
-#: src/lang.c:987
+#: src/lang.c:1011
 #, c-format
 msgid "Tagged %s"
 msgstr "å·²æ¨™å®š %s"
 
-#: src/lang.c:988
+#: src/lang.c:1012
 #, c-format
 msgid "Untagged %s"
 msgstr "å·²å–æ¶ˆæ¨™å®š %s"
 
-#: src/lang.c:990
+#: src/lang.c:1014
 #, c-format
 msgid "Preparing for filtering on Path header (%d/%d)..."
 msgstr ""
 
-#: src/lang.c:992
+#: src/lang.c:1016
 #, fuzzy
 msgid "Processing attributes..."
 msgstr "è™•ç†å±¬æ€§â€¦"
 
-#: src/lang.c:993
+#: src/lang.c:1017
 msgid "Processing mail messages marked for deletion."
 msgstr "è™•ç†æ¨™è¨˜ç‚ºåˆªé™¤çš„éƒµä»¶è¨Šæ¯ã€‚"
 
-#: src/lang.c:994
+#: src/lang.c:1018
 msgid "Processing saved articles marked for deletion."
 msgstr "è™•ç†æ¨™è¨˜ç‚ºåˆªé™¤çš„å·²å„²å­˜æ–‡ç« ã€‚"
 
-#: src/lang.c:995
+#: src/lang.c:1019
 #, c-format
 msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr "æŽ¥å—è·Ÿè²¼ï¼Ÿ%s=å¼µè²¼ï¼Œ%s=å¿½ç•¥ï¼Œ%s=é›¢é–‹ï¼š"
 
-#: src/lang.c:996
+#: src/lang.c:1020
 msgid "Article unchanged, abort mailing?"
 msgstr "æ–‡ç« æœªè®Šæ›´ï¼Œæ”¾æ£„éƒµå¯„ï¼Ÿ"
 
-#: src/lang.c:997
+#: src/lang.c:1021
 #, c-format
 msgid "Do you want to see postponed articles (%d)?"
 msgstr "æ‚¨è¦çœ‹åˆ°æ“±ç½®çš„æ–‡ç«  (%d) å—Žï¼Ÿ"
 
-#: src/lang.c:999
+#: src/lang.c:1023
 msgid "Add quick kill filter?"
 msgstr "åŠ å…¥å¿«é€Ÿç é™¤ç¯©é¸å™¨ï¼Ÿ"
 
-#: src/lang.c:1000
+#: src/lang.c:1024
 msgid "Add quick selection filter?"
 msgstr "åŠ å…¥å¿«é€Ÿé¸æ“‡ç¯©é¸å™¨ï¼Ÿ"
 
-#: src/lang.c:1001
+#: src/lang.c:1025
 msgid "Do you really want to quit?"
 msgstr "æ‚¨çœŸçš„è¦é›¢é–‹å—Žï¼Ÿ"
 
-#: src/lang.c:1002
+#: src/lang.c:1026
 #, c-format
 msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr "%s=ç·¨è¼¯å–æ¶ˆè¨Šæ¯ï¼Œ%s=é›¢é–‹ï¼Œ%s=åˆªé™¤ (å–æ¶ˆ) [%%s]ï¼š"
 
-#: src/lang.c:1003
+#: src/lang.c:1027
 msgid "You have tagged articles in this group - quit anyway?"
 msgstr "æ‚¨å·²åœ¨é€™å€‹ç¾¤çµ„ä¸­æ¨™å®šæ–‡ç«  - ç„¡è«–å¦‚ä½•éƒ½è¦é›¢é–‹ï¼Ÿ"
 
-#: src/lang.c:1004
+#: src/lang.c:1028
 #, c-format
 msgid "%s=quit, %s=edit, %s=postpone: "
 msgstr "%s=é›¢é–‹ï¼Œ%s=ç·¨è¼¯ï¼Œ%s=æ“±ç½®ï¼š"
 
-#: src/lang.c:1005
+#: src/lang.c:1029
 #, fuzzy, c-format
 msgid "%s=quit, %s=edit, %s=save kill description: "
 msgstr "%s=é›¢é–‹ %s=ç·¨è¼¯ %s=å„²å­˜ç é™¤æè¿°ï¼š"
 
-#: src/lang.c:1006
+#: src/lang.c:1030
 #, fuzzy, c-format
 msgid "%s=quit, %s=edit, %s=save select description: "
 msgstr "%s=é›¢é–‹ %s=ç·¨è¼¯ %s=å„²å­˜é¸å–æè¿°ï¼š"
 
-#: src/lang.c:1007
+#: src/lang.c:1031
 msgid "Do you really want to quit without saving your configuration?"
 msgstr "æ‚¨çœŸçš„è¦é›¢é–‹å»ä¸å„²å­˜æ‚¨çš„çµ„æ…‹å—Žï¼Ÿ"
 
-#: src/lang.c:1010
+#: src/lang.c:1033
 msgid "Invalid range - valid are '0-9.$' e.g. 1-$"
 msgstr "ç„¡æ•ˆçš„ç¯„åœ - æœ‰æ•ˆæ˜¯ã€Ž0-9.$ã€ä¾‹å¦‚ï¼š1-$"
 
-#: src/lang.c:1012
+#: src/lang.c:1035
 msgid "Do you want to abort this operation?"
 msgstr "æ‚¨è¦æ”¾æ£„é€™å€‹æ“ä½œå—Žï¼Ÿ"
 
-#: src/lang.c:1013
+#: src/lang.c:1036
 msgid "Do you want to exit tin immediately?"
 msgstr "æ‚¨è¦é¦¬ä¸Šé›¢é–‹ tin å—Žï¼Ÿ"
 
-#: src/lang.c:1015
+#: src/lang.c:1038
 msgid "Reading ('q' to quit)..."
 msgstr "è®€å– (ã€Žqã€è¡¨ç¤ºé›¢é–‹)â€¦"
 
-#: src/lang.c:1016
+#: src/lang.c:1039
 #, fuzzy, c-format
 msgid "Reading %s articles..."
 msgstr "è®€å– %s ç¯‡æ–‡ç« â€¦"
 
-#: src/lang.c:1017
-#, c-format
-msgid "Reading %sattributes file...\n"
+#: src/lang.c:1040
+#, fuzzy, c-format
+msgid "Reading %sattributes file: %s\n"
 msgstr "è®€å– %s å±¬æ€§æª”æ¡ˆâ€¦\n"
 
-#: src/lang.c:1018
-#, c-format
-msgid "Reading %sconfig file...\n"
+#: src/lang.c:1041
+#, fuzzy, c-format
+msgid "Reading %sconfig file: %s\n"
 msgstr "è®€å– %s çµ„æ…‹æª”æ¡ˆâ€¦\n"
 
-#: src/lang.c:1019
-msgid "Reading filter file...\n"
+#: src/lang.c:1042
+#, fuzzy, c-format
+msgid "Reading filter file: %s\n"
 msgstr "è®€å–ç¯©é¸å™¨æª”æ¡ˆâ€¦\n"
 
-#: src/lang.c:1021
+#: src/lang.c:1044
 msgid "reading from local spool"
 msgstr ""
 
-#: src/lang.c:1023
+#: src/lang.c:1046
 #, fuzzy, c-format
 msgid "Reading %s\n"
 msgstr "é‡æ–°è®€å– %sâ€¦"
 
-#: src/lang.c:1024
+#: src/lang.c:1047
 #, c-format
 msgid "Reading %s groups..."
 msgstr "è®€å– %s ç¾¤çµ„â€¦"
 
-#: src/lang.c:1025
-msgid "Reading input history file...\n"
+#: src/lang.c:1048
+#, fuzzy, c-format
+msgid "Reading input history file: %s\n"
 msgstr "è®€å–è¼¸å…¥æ­·å²æª”æ¡ˆâ€¦\n"
 
-#: src/lang.c:1026
+#: src/lang.c:1049
 #, fuzzy, c-format
 msgid "Reading keymap file: %s\n"
 msgstr "è®€å– keymap æª”æ¡ˆâ€¦\n"
 
-#: src/lang.c:1027
+#: src/lang.c:1050
 msgid "Reading groups from active file... "
 msgstr "å¾žç¾ç”¨æª”æ¡ˆè®€å–ç¾¤çµ„â€¦"
 
-#: src/lang.c:1028
+#: src/lang.c:1051
 msgid "Reading groups from newsrc file... "
 msgstr "å¾ž newsrc æª”æ¡ˆè®€å–ç¾¤çµ„â€¦"
 
-#: src/lang.c:1029
+#: src/lang.c:1052
 msgid "Reading newsgroups file... "
 msgstr "è®€å–æ–°èžç¾¤çµ„æª”æ¡ˆâ€¦"
 
-#: src/lang.c:1030
-msgid "Reading newsrc file..."
+#: src/lang.c:1053
+#, fuzzy, c-format
+msgid "Reading newsrc file: %s"
 msgstr "è®€å– newsrc æª”æ¡ˆâ€¦"
 
-#: src/lang.c:1031
+#: src/lang.c:1054
 msgid "References: line              "
 msgstr "References: åˆ—              "
 
-#: src/lang.c:1033
+#: src/lang.c:1056
 #, c-format
 msgid "(%d:%02d remaining)"
 msgstr "(%d:%02d é‚„å‰©é¤˜)"
 
-#: src/lang.c:1035
+#: src/lang.c:1058
 #, c-format
 msgid "Bogus group %s removed."
 msgstr "å‡é€ çš„ç¾¤çµ„ %s å·²ç§»é™¤ã€‚"
 
-#: src/lang.c:1036
+#: src/lang.c:1059
 #, fuzzy
 msgid "Removed from this rule: "
 msgstr "å·²å¾žä¸Šä¸€å€‹è¦å‰‡ç§»é™¤ï¼š"
 
-#: src/lang.c:1037
+#: src/lang.c:1060
 #, c-format
 msgid "Error: rename %s to %s"
 msgstr "éŒ¯èª¤ï¼šé‡æ–°å‘½å %s ç‚º %s"
 
-#: src/lang.c:1038
+#: src/lang.c:1061
 msgid "Reply to author..."
 msgstr "å›žè¦†çµ¦ä½œè€…â€¦"
 
-#: src/lang.c:1039
+#: src/lang.c:1062
 msgid "Repost"
 msgstr "é‡æ–°å¼µè²¼"
 
-#: src/lang.c:1040
+#: src/lang.c:1063
 msgid "Reposting article..."
 msgstr "é‡æ–°å¼µè²¼æ–‡ç« â€¦"
 
-#: src/lang.c:1041
+#: src/lang.c:1064
 #, c-format
 msgid "Repost article(s) to group(s) [%s]> "
 msgstr "é‡æ–°å¼µè²¼æ–‡ç« åˆ°ç¾¤çµ„ [%s]>"
 
-#: src/lang.c:1042
+#: src/lang.c:1065
 msgid "Reset newsrc?"
 msgstr "é‡ç½® newsrcï¼Ÿ"
 
-#: src/lang.c:1043
+#: src/lang.c:1066
 msgid "Responses have been directed to the following newsgroups"
 msgstr "å›žæ‡‰å·²è¢«å°Žå‘ä¸‹åˆ—æ–°èžç¾¤çµ„"
 
-#: src/lang.c:1044
+#: src/lang.c:1067
 #, c-format
 msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr "å›žæ‡‰å·²è¢«å°Žå‘å¼µè²¼è€…ã€‚%s=éƒµå¯„ï¼Œ%s=å¼µè²¼ï¼Œ%s=é›¢é–‹ï¼š"
 
-#: src/lang.c:1045
+#: src/lang.c:1068
 msgid "Press <RETURN> to continue..."
 msgstr "æŒ‰ä¸‹ <RETURN> ä»¥ç¹¼çºŒâ€¦"
 
-#: src/lang.c:1047
+#: src/lang.c:1070
 #, c-format
 msgid "Score: %s"
 msgstr ""
 
-#: src/lang.c:1048
+#: src/lang.c:1071
 #, c-format
 msgid "Select From    [%s] (y/n): "
 msgstr "é¸å–è‡ª    [%s] (y/n)ï¼š"
 
-#: src/lang.c:1049
+#: src/lang.c:1072
 msgid "Select Lines: (</>num): "
 msgstr "é¸å–å¤šåˆ—ï¼š(</>num)ï¼š"
 
-#: src/lang.c:1050
+#: src/lang.c:1073
 msgid "Auto-select Article Menu"
 msgstr "è‡ªå‹•é¸å–æ–‡ç« é¸å–®"
 
-#: src/lang.c:1051
+#: src/lang.c:1074
 #, fuzzy, c-format
 msgid "Select Msg-ID  [%s] (f/l/o/n): "
 msgstr "é¸å– Msg-Id  [%s] (f/l/o/n)ï¼š"
 
-#: src/lang.c:1052
+#: src/lang.c:1075
 msgid "Select pattern scope: "
 msgstr "é¸å–èƒšé¨°ç¯„åœï¼š"
 
-#: src/lang.c:1053
+#: src/lang.c:1076
 #, c-format
 msgid "Select Subject [%s] (y/n): "
 msgstr "é¸å–ä¸»æ—¨ [%s] (y/n)ï¼š"
 
-#: src/lang.c:1054
+#: src/lang.c:1077
 msgid "Select text pattern : "
 msgstr "é¸å–æ–‡å­—èƒšé¨°ï¼š"
 
-#: src/lang.c:1055
+#: src/lang.c:1078
 msgid "Select time in days   : "
 msgstr "é¸å–æ™‚é–“å¤©æ•¸  ï¼š"
 
-#: src/lang.c:1056
+#: src/lang.c:1079
 msgid "[k]"
 msgstr ""
 
-#: src/lang.c:1057
+#: src/lang.c:1080
 msgid "[T]"
 msgstr ""
 
-#: src/lang.c:1058
+#: src/lang.c:1081
 msgid " R"
 msgstr " R"
 
-#: src/lang.c:1059
+#: src/lang.c:1082
 #, c-format
 msgid ""
 "# %s server configuration file\n"
@@ -3813,54 +3901,54 @@ msgstr ""
 "############################################################################\n"
 "\n"
 
-#: src/lang.c:1065
+#: src/lang.c:1088
 msgid "Showing unread groups only"
 msgstr "åªé¡¯ç¤ºæœªè®€ç¾¤çµ„"
 
-#: src/lang.c:1066
+#: src/lang.c:1089
 msgid "Subject: line (ignore case)   "
 msgstr "Subject: åˆ— (å¿½ç•¥å¤§å°å¯«)   "
 
-#: src/lang.c:1067
+#: src/lang.c:1090
 msgid "Subject: line (case sensitive)"
 msgstr "Subject: åˆ— (å¤§å°å¯«ç›¸ç¬¦)"
 
-#: src/lang.c:1068
+#: src/lang.c:1091
 msgid "Save"
 msgstr "å„²å­˜"
 
-#: src/lang.c:1069
+#: src/lang.c:1092
 #, c-format
 msgid "Save '%s' (%s/%s)?"
 msgstr "å„²å­˜ã€Ž%sã€(%s/%s)ï¼Ÿ"
 
-#: src/lang.c:1070
+#: src/lang.c:1093
 msgid "Save configuration before continuing?"
 msgstr "ç¹¼çºŒä¹‹å‰å…ˆå„²å­˜çµ„æ…‹ï¼Ÿ"
 
-#: src/lang.c:1071
+#: src/lang.c:1094
 msgid "Save filename> "
 msgstr "å„²å­˜æª”å>"
 
-#: src/lang.c:1072
+#: src/lang.c:1095
 msgid "Saved"
 msgstr "å·²å„²å­˜"
 
-#: src/lang.c:1073
-#, c-format
-msgid "%4d unread (%4d hot) %s in %s\n"
+#: src/lang.c:1096
+#, fuzzy, c-format
+msgid "%s unread (%s hot) %s in %s\n"
 msgstr "%4d æœªè®€ (%4d ç†±é–€) %s æ–¼ %s\n"
 
-#: src/lang.c:1074
+#: src/lang.c:1097
 #, c-format
 msgid "Saved %s...\n"
 msgstr "å·²å„²å­˜ %sâ€¦\n"
 
-#: src/lang.c:1075
+#: src/lang.c:1098
 msgid "Nothing was saved"
 msgstr "æ²’æœ‰ä»»ä½•æ±è¥¿è¢«å„²å­˜"
 
-#: src/lang.c:1076
+#: src/lang.c:1099
 #, c-format
 msgid ""
 "\n"
@@ -3869,187 +3957,187 @@ msgstr ""
 "\n"
 "%s %d %s ä¾†è‡ª %d %s\n"
 
-#: src/lang.c:1077
+#: src/lang.c:1100
 #, c-format
 msgid "-- %s saved to %s%s --"
 msgstr "-- %s å„²å­˜åˆ° %s%s --"
 
-#: src/lang.c:1078
+#: src/lang.c:1101
 #, c-format
 msgid "-- %s saved to %s - %s --"
 msgstr "-- %s å„²å­˜åˆ° %s - %s --"
 
-#: src/lang.c:1079
+#: src/lang.c:1102
 msgid "Saving..."
 msgstr "å„²å­˜ä¸­â€¦"
 
-#: src/lang.c:1080
+#: src/lang.c:1103
 #, c-format
 msgid "%s: Screen initialization failed"
 msgstr "%sï¼šèž¢å¹•åˆå§‹åŒ–å¤±æ•—"
 
-#: src/lang.c:1082
+#: src/lang.c:1105
 #, c-format
 msgid "%s: screen is too small\n"
 msgstr "%sï¼šèž¢å¹•å¤ªå°\n"
 
-#: src/lang.c:1084
+#: src/lang.c:1107
 #, fuzzy, c-format
 msgid "screen is too small, %s is exiting"
 msgstr "èž¢å¹•å¤ªå°ï¼Œ%s æ­£åœ¨é›¢é–‹\n"
 
-#: src/lang.c:1085
+#: src/lang.c:1108
 msgid "Delete scope?"
 msgstr "åˆªé™¤ç¯„åœï¼Ÿ"
 
-#: src/lang.c:1086
+#: src/lang.c:1109
 msgid "Enter scope> "
 msgstr "è¼¸å…¥ç¯„åœ>"
 
-#: src/lang.c:1087
+#: src/lang.c:1110
 msgid "Select new position> "
 msgstr "é¸å–æ–°ä½ç½®>"
 
-#: src/lang.c:1088
+#: src/lang.c:1111
 msgid "New position cannot be a global scope"
 msgstr "æ–°ä½ç½®ä¸å¯æ˜¯å…¨åŸŸç¯„åœ"
 
-#: src/lang.c:1089
+#: src/lang.c:1112
 msgid "Global scope, operation not allowed"
 msgstr "å…¨åŸŸç¯„åœï¼Œæ“ä½œä¸å…è¨±"
 
-#: src/lang.c:1090
+#: src/lang.c:1113
 msgid "Rename scope> "
 msgstr "é‡æ–°å‘½åç¯„åœ>"
 
-#: src/lang.c:1091
+#: src/lang.c:1114
 msgid "Select scope> "
 msgstr "é¸å–ç¯„åœ>"
 
-#: src/lang.c:1092
+#: src/lang.c:1115
 msgid "Scopes Menu"
 msgstr "ç¯„åœé¸å–®"
 
-#: src/lang.c:1093
+#: src/lang.c:1116
 msgid "Scopes Menu Commands"
 msgstr "ç¯„åœåŠŸèƒ½è¡¨æŒ‡ä»¤"
 
-#: src/lang.c:1094
+#: src/lang.c:1117
 #, c-format
 msgid "Search backwards [%s]> "
 msgstr "å‘å¾Œæœå°‹ [%s]>"
 
-#: src/lang.c:1095
+#: src/lang.c:1118
 #, c-format
 msgid "Search body [%s]> "
 msgstr "æœå°‹å…§æ–‡ [%s]>"
 
-#: src/lang.c:1096
+#: src/lang.c:1119
 #, c-format
 msgid "Search forwards [%s]> "
 msgstr "å‘å‰æœå°‹ [%s]>"
 
-#: src/lang.c:1097
+#: src/lang.c:1120
 msgid "Searching..."
 msgstr "æœå°‹ä¸­â€¦"
 
-#: src/lang.c:1098
+#: src/lang.c:1121
 #, c-format
 msgid "Searching article %d of %d ('q' to abort)..."
 msgstr "æœå°‹æ–‡ç«  %2$d ä¸­çš„ %1$d (ã€Žqã€ä»¥æ”¾æ£„)â€¦"
 
-#: src/lang.c:1099
+#: src/lang.c:1122
 msgid "Select article> "
 msgstr "é¸å–æ–‡ç« >"
 
-#: src/lang.c:1100
+#: src/lang.c:1123
 msgid ""
 "Select option number before text or use arrow keys and <CR>. 'q' to quit."
 msgstr "é¸å–æ–‡å­—å‰æ–¹çš„é¸é …æ•¸å­—æˆ–ä½¿ç”¨æ–¹å‘éµå’Œ <CR>ã€‚ã€Žqã€ä»¥é›¢é–‹ã€‚"
 
-#: src/lang.c:1101
+#: src/lang.c:1124
 msgid "Select group> "
 msgstr "é¸å–ç¾¤çµ„>"
 
-#: src/lang.c:1102
+#: src/lang.c:1125
 #, c-format
 msgid "Enter selection pattern [%s]> "
 msgstr "è¼¸å…¥é¸æ“‡èƒšé¨° [%s]>"
 
-#: src/lang.c:1103
+#: src/lang.c:1126
 msgid "Select thread> "
 msgstr "é¸å–è¨Žè«–ä¸²> "
 
-#: src/lang.c:1104
+#: src/lang.c:1127
 #, fuzzy, c-format
 msgid "%s %s %s (\"%s\"): send a DETAILED bug report to %s\n"
 msgstr "%s %s %s (ã€Œ%sã€) [%s]ï¼šç™¼é€è©³ç´°çš„éŒ¯èª¤å ±å‘Šçµ¦ %s\n"
 
-#: src/lang.c:1105
+#: src/lang.c:1128
 msgid "servers active-file"
 msgstr "ä¼ºæœå™¨ç›®å‰æª”æ¡ˆ"
 
-#: src/lang.c:1106
+#: src/lang.c:1129
 #, c-format
 msgid "Skipped %s"
 msgstr ""
 
-#: src/lang.c:1107
+#: src/lang.c:1130
 msgid "Cannot move into new newsgroups. Subscribe first..."
 msgstr "ç„¡æ³•ç§»å…¥æ–°çš„æ–°èžç¾¤çµ„ã€‚è«‹å…ˆè¨‚é–±â€¦"
 
-#: src/lang.c:1108
+#: src/lang.c:1131
 msgid "<SPACE>"
 msgstr "<SPACE>"
 
-#: src/lang.c:1109
+#: src/lang.c:1132
 #, c-format
 msgid "Starting: (%s)"
 msgstr "é–‹å§‹ï¼š(%s)"
 
-#: src/lang.c:1110
+#: src/lang.c:1133
 #, c-format
 msgid "List Thread (%d of %d)"
 msgstr "åˆ—å‡ºè¨Žè«–ä¸² (%2$d ä¸­çš„ %1$d)"
 
-#: src/lang.c:1111
+#: src/lang.c:1134
 #, c-format
 msgid "Thread (%.*s)"
 msgstr "è¨Žè«–ä¸² (%.*s)"
 
-#: src/lang.c:1112
+#: src/lang.c:1135
 msgid "Enter wildcard subscribe pattern> "
 msgstr "è¼¸å…¥è¬ç”¨å­—å…ƒè¨‚é–±èƒšé¨°>"
 
-#: src/lang.c:1113
+#: src/lang.c:1136
 #, c-format
 msgid "subscribed to %d groups"
 msgstr "å·²è¨‚é–± %d ç¾¤çµ„"
 
-#: src/lang.c:1114
+#: src/lang.c:1137
 #, c-format
 msgid "Subscribed to %s"
 msgstr "å·²è¨‚é–± %s"
 
-#: src/lang.c:1115
+#: src/lang.c:1138
 msgid "Subscribing... "
 msgstr "è¨‚é–±â€¦"
 
-#: src/lang.c:1116
+#: src/lang.c:1139
 #, c-format
 msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): "
 msgstr "é‡æ–°å¼µè²¼æˆ–å–ä»£æ–‡ç«  [%%s]ï¼Ÿ(%s/%s/%s)ï¼š"
 
-#: src/lang.c:1117
+#: src/lang.c:1140
 #, c-format
 msgid "Supersede article(s) to group(s) [%s]> "
 msgstr "å–ä»£æ–‡ç« æ–¼ç¾¤çµ„ [%s]>"
 
-#: src/lang.c:1118
+#: src/lang.c:1141
 msgid "Superseding article ..."
 msgstr "å–ä»£æ–‡ç« â€¦"
 
-#: src/lang.c:1119
+#: src/lang.c:1142
 #, c-format
 msgid ""
 "\n"
@@ -4058,29 +4146,29 @@ msgstr ""
 "\n"
 "å·²åœæ­¢ã€‚è¼¸å…¥ã€Žfgã€ä»¥é‡æ–°å•Ÿå‹• %s\n"
 
-#: src/lang.c:1121
+#: src/lang.c:1144
 #, c-format
 msgid "%d days"
 msgstr "%d å¤©"
 
-#: src/lang.c:1122
+#: src/lang.c:1145
 msgid "<TAB>"
 msgstr "<TAB>"
 
-#: src/lang.c:1123
+#: src/lang.c:1146
 msgid "TeX "
 msgstr "TeX "
 
-#: src/lang.c:1124
+#: src/lang.c:1147
 #, fuzzy, c-format
 msgid "Version: %s %s release %s (\"%s\")"
 msgstr "ç‰ˆæœ¬ï¼š%s %s é‡‹å‡º %s (ã€Œ%sã€)\n"
 
-#: src/lang.c:1125
+#: src/lang.c:1148
 msgid "# Default action/prompt strings\n"
 msgstr "# é è¨­çš„å‹•ä½œ/æç¤ºå­—ä¸²\n"
 
-#: src/lang.c:1126
+#: src/lang.c:1149
 msgid ""
 "# Defaults for quick (1 key) kill & auto-selection filters\n"
 "# header=NUM  0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n"
@@ -4098,286 +4186,296 @@ msgstr ""
 "# case=ON/OFF    ON=ç¯©é¸å™¨å¤§å°å¯«é ˆç›¸ç¬¦ OFF=å¿½ç•¥å¤§å°å¯«\n"
 "# expire=ON/OFF  ON=é™åˆ¶åˆ° default_filter_days OFF=ä¸æœƒéŽæœŸ\n"
 
-#: src/lang.c:1139
+#: src/lang.c:1162
 msgid ""
 "# If ON use print current subject or newsgroup description in the last line\n"
 msgstr "# å¦‚æžœç‚º ON å°±å°å‡ºç›®å‰çš„ä¸»æ—¨æˆ–æœ€å¾Œä¸€åˆ—ä¸­çš„æ–°èžç¾¤çµ„æè¿°\n"
 
-#: src/lang.c:1140
+#: src/lang.c:1163
 msgid "# Host & time info used for detecting new groups (don't touch)\n"
 msgstr "# ä¸»æ©Ÿ & æ™‚é–“è³‡è¨Šç”¨æ–¼åµæ¸¬æ–°ç¾¤çµ„ (ä¸å½±éŸ¿)\n"
 
-#: src/lang.c:1141
+#: src/lang.c:1164
 msgid "There is no news\n"
 msgstr "æ²’æœ‰ä»»ä½•æ–°èž\n"
 
-#: src/lang.c:1142
+#: src/lang.c:1165
 msgid "Thread"
 msgstr "è¨Žè«–ä¸²"
 
-#: src/lang.c:1143
+#: src/lang.c:1166
 msgid "Thread Level Commands"
 msgstr "è¨Žè«–ä¸²å±¤ç´šå‘½ä»¤"
 
-#: src/lang.c:1144
+#: src/lang.c:1167
 msgid "Thread deselected"
 msgstr "è¨Žè«–ä¸²å·²å–æ¶ˆé¸å–"
 
-#: src/lang.c:1145
+#: src/lang.c:1168
 msgid "Thread selected"
 msgstr "è¨Žè«–ä¸²å·²é¸å–"
 
-#: src/lang.c:1146
+#: src/lang.c:1169
 msgid "thread"
 msgstr "è¨Žè«–ä¸²"
 
-#: src/lang.c:1147
+#: src/lang.c:1170
 #, c-format
 msgid "Thread %4s of %4s"
 msgstr "è¨Žè«–ä¸² %2$4s ä¸­çš„ %1$4s"
 
-#: src/lang.c:1148
+#: src/lang.c:1171
 msgid "Threading articles..."
 msgstr "è¨Žè«–ä¸²æ–‡ç« â€¦"
 
-#: src/lang.c:1149
+#: src/lang.c:1172
 #, fuzzy
 msgid "Threading by multipart"
 msgstr "è¨Žè«–ä¸²æ–‡ç« â€¦"
 
-#: src/lang.c:1151
-#, fuzzy, c-format
-msgid "TLS handshake failed: %s\n"
-msgstr "Slrnface å¤±æ•—ï¼š%sã€‚"
-
-#: src/lang.c:1153
+#: src/lang.c:1175
 msgid "<failed to retrieve cipher>"
 msgstr ""
 
-#: src/lang.c:1154
+#: src/lang.c:1176
 msgid "<failed to retrieve issuer>"
 msgstr ""
 
-#: src/lang.c:1155
+#: src/lang.c:1177
 msgid "<failed to retrieve subject>"
 msgstr ""
 
-#: src/lang.c:1156
+#: src/lang.c:1178
 msgid "<failed to retrieve version>"
 msgstr ""
 
-#: src/lang.c:1157
+#: src/lang.c:1179
 #, fuzzy, c-format
 msgid "%s handshake done: %s\n"
 msgstr "Slrnface å¤±æ•—ï¼š%sã€‚"
 
-#: src/lang.c:1158 src/lang.c:1309
-#, fuzzy
-msgid "unknown error"
-msgstr "ä¸æ˜ŽéŒ¯èª¤ã€‚"
-
-#: src/lang.c:1161
+#: src/lang.c:1182
 #, fuzzy, c-format
 msgid "TLS handshake failed: %s (%d)\n"
 msgstr "Slrnface å¤±æ•—ï¼š%sã€‚"
 
-#: src/lang.c:1162
+#: src/lang.c:1183
 #, fuzzy, c-format
 msgid "TLS peer verification failed: %s\n"
 msgstr "Slrnface å¤±æ•—ï¼š%sã€‚"
 
-#: src/lang.c:1163
+#: src/lang.c:1184
 #, c-format
 msgid "TLS peer verification failed, continuing anyway as requested: %s\n"
 msgstr ""
 
-#: src/lang.c:1164
+#: src/lang.c:1185
 msgid "<unable to retrieve status>"
 msgstr ""
 
-#: src/lang.c:1165
+#: src/lang.c:1186
 msgid "unexpected certificate verification status!"
 msgstr ""
 
-#: src/lang.c:1168
+#: src/lang.c:1189
 #, c-format
 msgid ""
 "TLS peer verification failed: %s.\n"
 "Continuing anyway as requested.\n"
 msgstr ""
 
-#: src/lang.c:1171
+#: src/lang.c:1192
 #, fuzzy, c-format
 msgid "TLS handshake done: %s\n"
 msgstr "Slrnface å¤±æ•—ï¼š%sã€‚"
 
-#: src/lang.c:1174
+#: src/lang.c:1195
+#, fuzzy, c-format
+msgid "TLS handshake failed: %s\n"
+msgstr "Slrnface å¤±æ•—ï¼š%sã€‚"
+
+#: src/lang.c:1198
 #, c-format
 msgid "Toggled word highlighting %s"
 msgstr "å·²åˆ‡æ›å­—è©žé«˜äº®åº¦é¡¯ç¤º %s"
 
-#: src/lang.c:1175
+#: src/lang.c:1199
 msgid "Toggled rot13 encoding"
 msgstr "å·²åˆ‡æ› rot13 ç·¨ç¢¼"
 
-#: src/lang.c:1176
+#: src/lang.c:1200
 #, fuzzy, c-format
 msgid "Toggled German TeX encoding %s"
 msgstr "å·²åˆ‡æ›å¾·èªž TeX ç·¨ç¢¼ %s"
 
-#: src/lang.c:1177
+#: src/lang.c:1201
 #, c-format
 msgid "Toggled tab-width to %d"
 msgstr "å·²åˆ‡æ›è·³æ ¼å¯¬åº¦ç‚º %d"
 
-#: src/lang.c:1179
+#: src/lang.c:1203
 #, c-format
 msgid "%d Trying to dotlock %s"
 msgstr "%d å˜—è©¦é»žéŽ–å®š %s"
 
-#: src/lang.c:1180
+#: src/lang.c:1204
 #, c-format
 msgid "%d Trying to lock %s"
 msgstr "%d å˜—è©¦éŽ–å®š %s"
 
-#: src/lang.c:1182
+#: src/lang.c:1206
 #, fuzzy, c-format
 msgid "%s=help"
 msgstr "%s=æ±‚åŠ©"
 
-#: src/lang.c:1184
+#: src/lang.c:1208
 msgid "Unlimited"
 msgstr "æ²’æœ‰é™åˆ¶"
 
-#: src/lang.c:1185
+#: src/lang.c:1209
 msgid "Enter wildcard unsubscribe pattern> "
 msgstr "è¼¸å…¥å–æ¶ˆè¨‚é–±çš„è¬ç”¨å­—å…ƒèƒšé¨°>"
 
-#: src/lang.c:1186
+#: src/lang.c:1210
 #, c-format
 msgid "Error decoding %s : %s"
 msgstr "è§£ç¢¼ %s æ™‚ç™¼ç”ŸéŒ¯èª¤ï¼š%s"
 
-#: src/lang.c:1187
+#: src/lang.c:1211
 msgid "No end."
 msgstr "æ²’æœ‰çµæŸã€‚"
 
-#: src/lang.c:1188
+#: src/lang.c:1212
 #, c-format
 msgid "%s successfully decoded."
 msgstr "%s å·²æˆåŠŸè§£ç¢¼ã€‚"
 
-#: src/lang.c:1189
+#: src/lang.c:1214
 msgid "unchanged"
 msgstr "æœªè®Šæ›´"
 
-#: src/lang.c:1190
+#: src/lang.c:1216
 msgid "(unknown)"
 msgstr "(ä¸æ˜Ž)"
 
-#: src/lang.c:1191
+#: src/lang.c:1218
+#, fuzzy
+msgid "unknown error"
+msgstr "ä¸æ˜ŽéŒ¯èª¤ã€‚"
+
+#: src/lang.c:1220
 msgid "unread"
 msgstr "æœªè®€"
 
-#: src/lang.c:1192
+#: src/lang.c:1221
 #, c-format
 msgid "unsubscribed from %d groups"
 msgstr "å·²å¾ž %d ç¾¤çµ„å–æ¶ˆè¨‚é–±"
 
-#: src/lang.c:1193
+#: src/lang.c:1222
 #, c-format
 msgid "Unsubscribed from %s"
 msgstr "å·²å¾ž %s å–æ¶ˆè¨‚é–±"
 
-#: src/lang.c:1194
+#: src/lang.c:1223
 msgid "Unsubscribing... "
 msgstr "å–æ¶ˆè¨‚é–±â€¦"
 
-#: src/lang.c:1195
+#: src/lang.c:1224
 msgid "Unthreading articles..."
 msgstr "å±•é–‹è¨Žè«–ä¸²æ–‡ç« â€¦"
 
-#: src/lang.c:1196
+#: src/lang.c:1225
 msgid "Updated"
 msgstr "å·²æ›´æ–°"
 
-#: src/lang.c:1197
+#: src/lang.c:1226
 msgid "Updating"
 msgstr "æ›´æ–°"
 
-#: src/lang.c:1198
+#: src/lang.c:1227
 msgid "URL Menu"
 msgstr "ç¶²å€é¸å–®"
 
-#: src/lang.c:1199
+#: src/lang.c:1228
 msgid "URL Menu Commands"
 msgstr "ç¶²å€åŠŸèƒ½è¡¨æŒ‡ä»¤"
 
-#: src/lang.c:1200
+#: src/lang.c:1229
 #, c-format
 msgid "Opening %s"
 msgstr "é–‹å•Ÿ %s"
 
-#: src/lang.c:1201
+#: src/lang.c:1230
 msgid "Select URL> "
 msgstr "é¸å–ç¶²å€>"
 
-#: src/lang.c:1202
+#: src/lang.c:1231
 msgid "No URLs in this article"
 msgstr "åœ¨é€™ç¯‡æ–‡ç« ä¸­æ²’æœ‰ç¶²å€"
 
-#: src/lang.c:1203
-msgid "Use MIME display program for this message?"
-msgstr "é€™å€‹è¨Šæ¯ä½¿ç”¨ MIME é¡¯ç¤ºç¨‹å¼ï¼Ÿ"
+#: src/lang.c:1233
+#, c-format
+msgid "SASL MECHS    : %s\n"
+msgstr ""
 
-#: src/lang.c:1204
+#: src/lang.c:1234
+#, c-format
+msgid "SASL MECH used: %s\n"
+msgstr ""
+
+#: src/lang.c:1236
 msgid "  -c       mark all news as read in subscribed newsgroups (batch mode)"
 msgstr "  -c       æ¨™è¨˜æ‰€æœ‰åœ¨è¨‚é–±æ–°èžç¾¤çµ„ä¸­çš„æ–°èžç‚ºå·²è®€ (æ‰¹æ¬¡æ¨¡å¼)"
 
-#: src/lang.c:1205
+#: src/lang.c:1237
 msgid "  -Z       return status indicating if any unread news (batch mode)"
 msgstr "  -Z       å›žå‚³ç‹€æ…‹æŒ‡å‡ºæ˜¯å¦æœ‰ä»»ä½•æœªè®€æ–°èž (æ‰¹æ¬¡æ¨¡å¼)"
 
-#: src/lang.c:1206
+#: src/lang.c:1238
 msgid "  -q       don't check for new newsgroups"
 msgstr "  -q       ä¸æª¢æŸ¥æ–°çš„æ–°èžç¾¤çµ„"
 
-#: src/lang.c:1207
+#: src/lang.c:1239
 msgid "  -X       don't save any files on quit"
 msgstr "  -X       é›¢é–‹æ™‚ä¸å„²å­˜ä»»ä½•æª”æ¡ˆ"
 
-#: src/lang.c:1208
+#: src/lang.c:1240
 msgid "  -d       don't show newsgroup descriptions"
 msgstr "  -d       ä¸é¡¯ç¤ºæ–°èžç¾¤çµ„çš„æè¿°"
 
-#: src/lang.c:1209
+#: src/lang.c:1241
 msgid "  -G limit get only limit articles/group"
 msgstr "  -G limit åªæå–æœ‰é™çš„æ–‡ç« /ç¾¤çµ„"
 
-#: src/lang.c:1210
+#: src/lang.c:1242
 #, c-format
 msgid "  -H       help information about %s"
 msgstr "  -H       %s ç›¸é—œçš„èªªæ˜Žè³‡è¨Š"
 
-#: src/lang.c:1211
+#: src/lang.c:1243
 msgid "  -h       this help message"
 msgstr "  -h       é€™ä»½èªªæ˜Žè¨Šæ¯"
 
-#: src/lang.c:1212
+#: src/lang.c:1244
 #, c-format
 msgid "  -I dir   news index file directory [default=%s]"
 msgstr "  -I dir   æ–°èžç´¢å¼•æª”æ¡ˆç›®éŒ„ [é è¨­=%s]"
 
-#: src/lang.c:1213
+#: src/lang.c:1246
+msgid "  -L msgid show the message with that Message-ID"
+msgstr ""
+
+#: src/lang.c:1248
 msgid "  -u       update index files (batch mode)"
 msgstr "  -u       æ›´æ–°ç´¢å¼•æª”æ¡ˆ (æ‰¹æ¬¡æ¨¡å¼)"
 
-#: src/lang.c:1214
+#: src/lang.c:1249
 #, c-format
 msgid "  -m dir   mailbox directory [default=%s]"
 msgstr "  -m dir   ä¿¡ç®±ç›®éŒ„ [é è¨­=%s]"
 
-#: src/lang.c:1215
+#: src/lang.c:1250
 #, c-format
 msgid ""
 "\n"
@@ -4386,49 +4484,54 @@ msgstr ""
 "\n"
 "éƒµå¯„éŒ¯èª¤å ±å‘Š/è©•è«–çµ¦ %s"
 
-#: src/lang.c:1216
+#: src/lang.c:1251
 msgid "  -N       mail new news to your posts (batch mode)"
 msgstr "  -N       éƒµå¯„å°æ–¼æ‚¨çš„å¼µè²¼çš„æ–°èž (æ‰¹æ¬¡æ¨¡å¼)"
 
-#: src/lang.c:1217
+#: src/lang.c:1252
 msgid "  -M user  mail new news to specified user (batch mode)"
 msgstr "  -M user  éƒµå¯„æ–°çš„æ–°èžçµ¦æŒ‡å®šä½¿ç”¨è€… (æ‰¹æ¬¡æ¨¡å¼)"
 
-#: src/lang.c:1218
+#: src/lang.c:1253
 #, c-format
 msgid "  -f file  subscribed to newsgroups file [default=%s]"
 msgstr "  -f file  è¨‚é–±æ–°èžç¾¤çµ„æª”æ¡ˆ [é è¨­=%s]"
 
-#: src/lang.c:1219
+#: src/lang.c:1255
+#, c-format
+msgid "  -t sec   override nntp_read_timeout_secs setting [default=%d]"
+msgstr ""
+
+#: src/lang.c:1257
 msgid "  -x       no-posting mode"
 msgstr "  -x       ä¸è¨±å¼µè²¼æ¨¡å¼"
 
-#: src/lang.c:1220
+#: src/lang.c:1258
 msgid "  -w       post an article and exit"
 msgstr "  -w       å¼µè²¼æ–‡ç« ç„¶å¾Œé›¢é–‹"
 
-#: src/lang.c:1221
+#: src/lang.c:1259
 msgid "  -o       post all postponed articles and exit"
 msgstr "  -o       å¼µè²¼æ‰€æœ‰æ“±ç½®çš„æ–‡ç« ç„¶å¾Œé›¢é–‹"
 
-#: src/lang.c:1222
+#: src/lang.c:1260
 msgid "  -R       read news saved by -S option"
 msgstr "  -R       è®€å–ç”± -S é¸é …æ‰€å„²å­˜çš„æ–°èž"
 
-#: src/lang.c:1223
+#: src/lang.c:1261
 #, c-format
 msgid "  -s dir   save news directory [default=%s]"
 msgstr "  -s dir   å„²å­˜æ–°èžç›®éŒ„ [é è¨­=%s]"
 
-#: src/lang.c:1224
+#: src/lang.c:1262
 msgid "  -S       save new news for later reading (batch mode)"
 msgstr "  -S       å„²å­˜æ–°çš„æ–°èžä»¥ä¾¿ç¨å¾Œè®€å– (æ‰¹æ¬¡æ¨¡å¼)"
 
-#: src/lang.c:1225
+#: src/lang.c:1263
 msgid "  -z       start if any unread news"
 msgstr "  -z       å¦‚æžœæœ‰ä»»ä½•æœªè®€æ–°èžæ‰é–‹å•Ÿ"
 
-#: src/lang.c:1226
+#: src/lang.c:1264
 #, c-format
 msgid ""
 "A Usenet reader.\n"
@@ -4439,68 +4542,73 @@ msgstr ""
 "\n"
 "ç”¨æ³•ï¼š%s [é¸é …] [æ–°èžç¾¤çµ„[,...]]"
 
-#: src/lang.c:1227
+#: src/lang.c:1265
 msgid "  -v       verbose output for batch mode options"
 msgstr "  -v       è©³ç´°è¼¸å‡ºç”¨æ–¼æ‰¹æ¬¡æ¨¡å¼é¸é …"
 
-#: src/lang.c:1228
+#: src/lang.c:1266
 msgid "  -V       print version & date information"
 msgstr "  -V       å°å‡ºç‰ˆæœ¬ & æ—¥æœŸè³‡è¨Š"
 
-#: src/lang.c:1229
-#, c-format
-msgid "%s only useful without batch mode operations\n"
+#: src/lang.c:1267
+msgid "Use MIME display program for this message?"
+msgstr "é€™å€‹è¨Šæ¯ä½¿ç”¨ MIME é¡¯ç¤ºç¨‹å¼ï¼Ÿ"
+
+#: src/lang.c:1268
+#, fuzzy, c-format
+msgid "%s only useful without batch mode operations.%s\n"
 msgstr "%s åªæœ‰åœ¨éžæ‰¹æ¬¡æ¨¡å¼æ“ä½œæ™‚æœ‰ç”¨\n"
 
-#: src/lang.c:1230
-#, c-format
-msgid "%s only useful for batch mode operations\n"
+#: src/lang.c:1269
+#, fuzzy, c-format
+msgid "%s only useful for batch mode operations.%s\n"
 msgstr "%s åªæœ‰åœ¨æ‰¹æ¬¡æ¨¡å¼æ“ä½œæ™‚æœ‰ç”¨\n"
 
-#: src/lang.c:1231
+#: src/lang.c:1270
 #, fuzzy, c-format
-msgid "%s only useful for batch or debug mode operations\n"
+msgid "%s only useful for batch or debug mode operations.%s\n"
 msgstr "%s åªæœ‰åœ¨æ‰¹æ¬¡æ¨¡å¼æ“ä½œæ™‚æœ‰ç”¨\n"
 
-#: src/lang.c:1232
-#, c-format
-msgid "Useless combination %s and %s. Ignoring %s.\n"
-msgstr "ç„¡ç”¨çš„çµ„åˆ %s å’Œ %sã€‚å¿½ç•¥ %sã€‚\n"
+#: src/lang.c:1271
+#, fuzzy, c-format
+msgid "Useless combination %s and %s. Ignoring %s.%s\n"
+msgstr "ç„¡ç”¨çš„çµ„åˆ %s å’Œ %sã€‚å¿½ç•¥ %sã€‚%s\n"
 
-#: src/lang.c:1233
+#: src/lang.c:1272
 msgid "uuencoded file"
 msgstr ""
 
-#: src/lang.c:1234
+#: src/lang.c:1273
 #, fuzzy
 msgid "incomplete uuencoded file"
 msgstr "ä¸å®Œæ•´çš„ "
 
-#: src/lang.c:1237
+#: src/lang.c:1276
 #, c-format
 msgid "Valid not after : %s\n"
 msgstr ""
 
-#: src/lang.c:1238
+#: src/lang.c:1277
 #, c-format
 msgid "Valid not before: %s\n"
 msgstr ""
 
-#: src/lang.c:1240
-#, c-format
-msgid ""
-"\n"
-"%s%d out of range (0 - %d). Reset to 0"
-msgstr ""
-"\n"
-"%s%d è¶…å‡ºç¯„åœ (0 - %d)ã€‚é‡ç½®ç‚º 0"
+#: src/lang.c:1279
+#, fuzzy, c-format
+msgid "%s %s out of range (%d - %d). Ignored."
+msgstr "%s%d è¶…å‡ºç¯„åœ (0 - %d)ã€‚è¢«å¿½ç•¥ã€‚"
 
-#: src/lang.c:1241
+#: src/lang.c:1280
+#, fuzzy, c-format
+msgid "%s %d out of range (0 - %d). Reset to 0."
+msgstr "%s%d è¶…å‡ºç¯„åœ (0 - %d)ã€‚é‡ç½®ç‚º 0ã€‚"
+
+#: src/lang.c:1281
 #, c-format
 msgid "View '%s' (%s/%s)?"
 msgstr "æª¢è¦–ã€Ž%sã€(%s/%s)ï¼Ÿ"
 
-#: src/lang.c:1243
+#: src/lang.c:1283
 #, c-format
 msgid ""
 "\n"
@@ -4511,7 +4619,7 @@ msgstr ""
 "è­¦å‘Šï¼šå¼µè²¼è¶…å‡º %d æ¬„ä½ã€‚ç¬¬ %d åˆ—æ˜¯ç¬¬ä¸€å€‹é•·åˆ—ï¼š\n"
 "%-100s\n"
 
-#: src/lang.c:1244
+#: src/lang.c:1284
 msgid ""
 "\n"
 "Warning: article unchanged after editing\n"
@@ -4519,7 +4627,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šæ–‡ç« ç·¨è¼¯ä¹‹å¾Œæœªè®Šæ›´\n"
 
-#: src/lang.c:1245
+#: src/lang.c:1285
 msgid ""
 "\n"
 "Warning: \"Subject:\" contains only whitespaces.\n"
@@ -4527,7 +4635,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šã€ŒSubject:ã€åªå«ç©ºç™½ã€‚\n"
 
-#: src/lang.c:1246
+#: src/lang.c:1286
 msgid ""
 "\n"
 "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:"
@@ -4536,7 +4644,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šã€ŒSubject:ã€ä»¥ã€ŒReï¼šã€é–‹å§‹ä½†æ˜¯æ²’æœ‰ã€ŒReferences:ã€ã€‚\n"
 
-#: src/lang.c:1248
+#: src/lang.c:1288
 msgid ""
 "\n"
 "Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
@@ -4546,7 +4654,16 @@ msgstr ""
 "è­¦å‘Šï¼šæ–‡ç« æœ‰ã€ŒReferences:ã€ä½†æ˜¯ã€ŒSubject:ã€ä¸¦éž\n"
 "      ä»¥ã€ŒRe:ã€é–‹å§‹ä¸”ä¸åŒ…å«ã€Œ(was:ã€ã€‚\n"
 
-#: src/lang.c:1251
+#: src/lang.c:1291
+#, fuzzy
+msgid ""
+"\n"
+"Warning: \"Subject:\" contains only \"Re:\".\n"
+msgstr ""
+"\n"
+"è­¦å‘Šï¼šã€ŒSubject:ã€åªå«ç©ºç™½ã€‚\n"
+
+#: src/lang.c:1292
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4568,7 +4685,16 @@ msgstr ""
 "é€™æ˜¯æ‚¨å³å°‡å–æ¶ˆçš„æ–‡ç« ï¼š\n"
 "\n"
 
-#: src/lang.c:1255
+#: src/lang.c:1296
+#, fuzzy
+msgid ""
+"\n"
+"Warning: Undesired Distribution \"world\" used.\n"
+msgstr ""
+"\n"
+"éŒ¯èª¤ï¼šä¸åˆæ³•çš„æ ¼å¼ %sã€‚\n"
+
+#: src/lang.c:1297
 msgid ""
 "\n"
 "Warning: You are using a non-plain transfer encoding (such as base64 or\n"
@@ -4582,7 +4708,7 @@ msgstr ""
 "      æ–‡ç« ã€‚å¦‚æžœæŸå€‹ç°½åè¢«è©² inews ç¨‹å¼æ‰€é™„åŠ ï¼Œå®ƒå°‡\n"
 "      ç„¡æ³•è¢«é©ç•¶åœ°ç·¨ç¢¼ã€‚\n"
 
-#: src/lang.c:1261
+#: src/lang.c:1303
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4592,7 +4718,7 @@ msgstr ""
 "ç¬¬ %d åˆ—é•·åº¦è¶…éŽ 998 ä½å…ƒçµ„è€Œæ‡‰è©²è¢«æŠ˜ç–Šï¼Œä½†æ˜¯\n"
 "ç·¨ç¢¼æœªè¢«è¨­å®šç‚º %s äº¦éž %s\n"
 
-#: src/lang.c:1265
+#: src/lang.c:1307
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4604,7 +4730,7 @@ msgstr ""
 "ç·¨ç¢¼è¢«è¨­å®šç‚º %s è€Œæœªå•Ÿç”¨ MIME_BREAK_LONG_LINES æˆ–æ˜¯\n"
 "è²¼æ–‡ä¸åŒ…å«ä»»ä½• 8 ä½å…ƒå­—å…ƒï¼Œå› è€Œç„¡æ³•ç™¼ç”ŸæŠ˜ç–Š\n"
 
-#: src/lang.c:1269
+#: src/lang.c:1311
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4614,7 +4740,7 @@ msgstr ""
 "ç¬¬ %d åˆ—é•·åº¦è¶…éŽ 998 ä½å…ƒçµ„è€Œï¼Œä½†æ˜¯\n"
 "ç·¨ç¢¼æœªè¢«è¨­å®šç‚º %s\n"
 
-#: src/lang.c:1272
+#: src/lang.c:1314
 msgid ""
 "\n"
 "Warning: \"example\" is a reserved hierarchy!\n"
@@ -4622,7 +4748,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šã€Œexampleã€æ˜¯è¢«ä¿ç•™çš„éšŽå±¤çµæ§‹ï¼\n"
 
-#: src/lang.c:1273
+#: src/lang.c:1315
 #, c-format
 msgid ""
 "\n"
@@ -4637,7 +4763,7 @@ msgstr ""
 "åœ¨æ‚¨ %s æª”æ¡ˆä¸­çš„æŸäº›å€¼å·²æœ‰è®Šæ›´ï¼\n"
 "è«‹åƒé–± WHATSNEW â€¦ç­‰ç­‰\n"
 
-#: src/lang.c:1275
+#: src/lang.c:1317
 #, c-format
 msgid ""
 "\n"
@@ -4650,7 +4776,7 @@ msgstr ""
 "æ‚¨æ­£åœ¨å¾žè¼ƒæ–°çš„ç‰ˆæœ¬é™ç´šåˆ° tin %sï¼\n"
 "åœ¨æ‚¨ %s æª”æ¡ˆä¸­çš„æŸäº›å€¼å¯èƒ½æœƒè¢«å¿½ç•¥ï¼Œå…¶ä»–å€¼ä¹Ÿå¯èƒ½å·²æœ‰è®Šæ›´ï¼\n"
 
-#: src/lang.c:1278
+#: src/lang.c:1320
 #, c-format
 msgid ""
 "Warning: tin wrote fewer groups to your\n"
@@ -4665,7 +4791,25 @@ msgstr ""
 "ä¸¦æœªå–æ¶ˆè¨‚é–± %ld %sï¼Œé‚£éº¼é€™å°±ä»£è¡¨ç™¼ç”Ÿäº†éŒ¯èª¤ï¼Œè€Œæ‚¨æ‡‰è©²\n"
 "æ–¼å†æ¬¡å•Ÿå‹• tin ä¹‹å‰å…ˆå‚™ä»½æ‚¨çš„ %sï¼\n"
 
-#: src/lang.c:1282
+#: src/lang.c:1324
+#, c-format
+msgid ""
+"\n"
+"Warning: The article has multiple addresses in \"%s\".\n"
+"         This is at least uncommon.\n"
+msgstr ""
+
+#: src/lang.c:1327
+#, c-format
+msgid ""
+"\n"
+"Warning: With multiple addresses in \"From\", a \"Sender\"-header is\n"
+"         required, but its generation is deactivated by the global\n"
+"         configuration \"disable_sender=ON\" in\n"
+"         \"%s\".\n"
+msgstr ""
+
+#: src/lang.c:1332
 #, c-format
 msgid ""
 "\n"
@@ -4674,12 +4818,12 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šæ‰¾åˆ° %d å€‹ã€Ž-- \\nã€åˆ—ï¼Œé€™ä¹Ÿè¨±æœƒä½¿æŸäº›äººæ„Ÿåˆ°å›°æƒ‘ã€‚\n"
 
-#: src/lang.c:1283
+#: src/lang.c:1333
 #, c-format
 msgid "Warning: Only %d out of %d articles were saved"
 msgstr "è­¦å‘Šï¼šåªæœ‰ %2$d ä¸­çš„ %1$d ç¯‡æ–‡ç« è¢«å„²å­˜"
 
-#: src/lang.c:1284
+#: src/lang.c:1334
 #, c-format
 msgid ""
 "\n"
@@ -4693,20 +4837,20 @@ msgstr ""
 "è­¦å‘Šï¼šæ‚¨çš„ç°½åé•·åº¦å·²è¶…éŽ %d åˆ—ã€‚ ç”±æ–¼ç°½åé€šå¸¸\n"
 "      ä¸æœƒç”¨ä¾†å‚³è¼¸ä»»ä½•æœ‰ç”¨çš„è³‡è¨Šï¼Œå®ƒå€‘æ‡‰è©²è¦æ„ˆçŸ­æ„ˆå¥½ã€‚\n"
 
-#: src/lang.c:1288
+#: src/lang.c:1338
 #, c-format
 msgid ""
 "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
 msgstr "è­¦å‘Šï¼šé€™å€‹éƒµä»¶åœ°å€å¯èƒ½åŒ…å«åžƒåœ¾é™·é˜±ã€‚%s=ç¹¼çºŒï¼Œ%s=æ”¾æ£„ï¼Ÿ"
 
-#: src/lang.c:1289
+#: src/lang.c:1339
 #, c-format
 msgid ""
 "Warning: line %d contains unprintable chars:\n"
 "%s\n"
 msgstr ""
 
-#: src/lang.c:1290
+#: src/lang.c:1340
 msgid ""
 "\n"
 "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
@@ -4714,84 +4858,84 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šç°½åæ‡‰è©²ä»¥ã€Ž-- \\nã€èµ·å§‹è€Œéžä»¥ã€Ž--\\nã€ã€‚\n"
 
-#: src/lang.c:1291
+#: src/lang.c:1341
 msgid "Writing attributes file..."
 msgstr "å¯«å…¥å±¬æ€§æª”æ¡ˆâ€¦"
 
-#: src/lang.c:1292
+#: src/lang.c:1342
 #, fuzzy, c-format
 msgid "Writing %s\n"
 msgstr "å˜—è©¦ %s"
 
-#: src/lang.c:1293
+#: src/lang.c:1343
 #, fuzzy
 msgid "Writing overview cache..."
 msgstr "å¯«å…¥å±¬æ€§æª”æ¡ˆâ€¦"
 
-#: src/lang.c:1295
+#: src/lang.c:1345
 #, fuzzy, c-format
 msgid "%4d Responses"
 msgstr "%d ç¯‡å›žæ‡‰"
 
-#: src/lang.c:1297
+#: src/lang.c:1347
 msgid "Can't run slrnface: couldn't construct fifo name."
 msgstr "ç„¡æ³•é‹è¡Œ slrnfaceï¼šç„¡æ³•å»ºæ§‹ fifo åç¨±ã€‚"
 
-#: src/lang.c:1298
+#: src/lang.c:1348
 #, c-format
 msgid "Can't run slrnface: failed to create %s"
 msgstr "ç„¡æ³•é‹è¡Œ slrnfaceï¼šç„¡æ³•å»ºç«‹ %s"
 
-#: src/lang.c:1299
+#: src/lang.c:1349
 #, c-format
 msgid "Slrnface abnormally exited, code %d."
 msgstr "Slrnface ä¸æ­£å¸¸åœ°é›¢é–‹ï¼Œä»£ç¢¼ %dã€‚"
 
-#: src/lang.c:1300
+#: src/lang.c:1350
 #, c-format
 msgid "Slrnface failed: %s."
 msgstr "Slrnface å¤±æ•—ï¼š%sã€‚"
 
-#: src/lang.c:1301
+#: src/lang.c:1352
 #, c-format
 msgid "Can't run slrnface: Environment variable %s not found."
 msgstr "ç„¡æ³•é‹è¡Œ slrnfaceï¼šæ‰¾ä¸åˆ°ç’°å¢ƒè®Šæ•¸ %sã€‚"
 
-#: src/lang.c:1302
+#: src/lang.c:1354
 #, fuzzy
 msgid "Can't run slrnface: Not running in an xterm."
 msgstr "ç„¡æ³•é‹è¡Œ slrnfaceï¼šç„¡æ³•åœ¨ xterm ä¸­åŸ·è¡Œã€‚"
 
-#: src/lang.c:1303
+#: src/lang.c:1357
 msgid "couldn't connect to display"
 msgstr ""
 
-#: src/lang.c:1304
+#: src/lang.c:1358
 #, fuzzy
 msgid "can't open FIFO"
 msgstr "ç„¡æ³•é–‹å•Ÿ %s"
 
-#: src/lang.c:1305
+#: src/lang.c:1359
 msgid "executable not found"
 msgstr ""
 
-#: src/lang.c:1306
+#: src/lang.c:1360
 msgid "fork() failed"
 msgstr ""
 
-#: src/lang.c:1307
+#: src/lang.c:1361
 msgid "couldn't find controlling terminal"
 msgstr ""
 
-#: src/lang.c:1308
+#: src/lang.c:1362
 msgid "terminal doesn't export width and height"
 msgstr ""
 
-#: src/lang.c:1310
+#: src/lang.c:1363
 msgid "WINDOWID not found in environment"
 msgstr ""
 
-#: src/lang.c:1311
+#: src/lang.c:1364
 msgid ""
 "This directory is used to create named pipes for communication between\n"
 "slrnface and its parent process. It should normally be empty because\n"
@@ -4815,28 +4959,28 @@ msgstr ""
 "æ‚¨ä¹Ÿè¨±æœƒçœ‹åˆ°ç”±æ‚¨çš„ NFS ä¼ºæœå™¨æ‰€å»ºç«‹çš„ç‰¹æ®Šæª”æ¡ˆã€‚\n"
 "è«‹ä¸è¦å˜—è©¦åŽ»ç§»é™¤å®ƒå€‘ã€‚\n"
 
-#: src/lang.c:1324
+#: src/lang.c:1377
 #, c-format
 msgid "Added %d %s"
 msgstr "å·²åŠ å…¥ %d %s"
 
-#: src/lang.c:1325
+#: src/lang.c:1378
 msgid "No unsubscribed groups to show"
 msgstr "æ²’æœ‰å·²å–æ¶ˆè¨‚é–±çš„ç¾¤çµ„å¯é¡¯ç¤º"
 
-#: src/lang.c:1326
+#: src/lang.c:1379
 msgid "Showing subscribed to groups only"
 msgstr "åªé¡¯ç¤ºå·²è¨‚é–±ç¾¤çµ„"
 
-#: src/lang.c:1327
+#: src/lang.c:1380
 msgid "Yes "
 msgstr "æ˜¯ "
 
-#: src/lang.c:1328
+#: src/lang.c:1381
 msgid "You have mail"
 msgstr "æ‚¨æœ‰éƒµä»¶"
 
-#: src/lang.c:1333
+#: src/lang.c:1386
 #, c-format
 msgid ""
 "\n"
@@ -4857,11 +5001,11 @@ msgstr ""
 "      è®Šæ›´ MM_NETWORK_CHARSET çš„è¨­å®šç‚ºé©ç•¶çš„å€¼ï¼Œ\n"
 "      ä»¥ç”¨æ–¼æ‚¨çš„å¼µè²¼ã€‚\n"
 
-#: src/lang.c:1344
+#: src/lang.c:1397
 msgid "  -D mode  debug mode"
 msgstr "  -D æ¨¡å¼  é™¤éŒ¯æ¨¡å¼"
 
-#: src/lang.c:1348
+#: src/lang.c:1401
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -4888,11 +5032,11 @@ msgstr ""
 "é€™æ˜¯æ‚¨å³å°‡è¦å–æ¶ˆçš„æ–‡ç« ï¼š\n"
 "\n"
 
-#: src/lang.c:1357
+#: src/lang.c:1410
 msgid "toggle color"
 msgstr "åˆ‡æ›é¡è‰²"
 
-#: src/lang.c:1358
+#: src/lang.c:1411
 msgid ""
 "# Changing colors of several screen parts\n"
 "# Possible values are:\n"
@@ -4938,11 +5082,11 @@ msgstr ""
 "#  15 = äº®ç™½è‰²\n"
 "\n"
 
-#: src/lang.c:1378
+#: src/lang.c:1431
 msgid "  -a       toggle color flag"
 msgstr "  -a       åˆ‡æ›é¡è‰²æ——æ¨™"
 
-#: src/lang.c:1382
+#: src/lang.c:1435
 msgid ""
 "\n"
 "Error: Followup-To set to more than one newsgroup!\n"
@@ -4950,7 +5094,7 @@ msgstr ""
 "\n"
 "éŒ¯èª¤ï¼šè·Ÿè²¼è¢«è¨­å®šè¶…éŽä¸€å€‹æ–°èžç¾¤çµ„ï¼\n"
 
-#: src/lang.c:1383
+#: src/lang.c:1436
 #, c-format
 msgid ""
 "\n"
@@ -4959,7 +5103,7 @@ msgstr ""
 "\n"
 "éŒ¯èª¤ï¼šã€Œ%sã€è¢«é‡æ–°å‘½åï¼Œä½¿ç”¨ã€Œ%sã€åšç‚ºæ›¿ä»£ï¼\n"
 
-#: src/lang.c:1384
+#: src/lang.c:1437
 #, c-format
 msgid ""
 "\n"
@@ -4968,7 +5112,7 @@ msgstr ""
 "\n"
 "éŒ¯èª¤ï¼šè·¨æ¿å¼µè²¼åˆ° %d æ–°èžç¾¤çµ„è€Œæ²’æœ‰è·Ÿè²¼åˆ—ï¼\n"
 
-#: src/lang.c:1385
+#: src/lang.c:1438
 #, c-format
 msgid ""
 "\n"
@@ -4977,7 +5121,7 @@ msgstr ""
 "\n"
 "éŒ¯èª¤ï¼šã€Œ%sã€ä¸¦éžæœ‰æ•ˆæ–°èžç¾¤çµ„ï¼\n"
 
-#: src/lang.c:1387
+#: src/lang.c:1440
 msgid ""
 "\n"
 "Warning: Followup-To set to more than one newsgroup!\n"
@@ -4985,7 +5129,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šè·Ÿè²¼è¢«è¨­å®šè¶…éŽä¸€å€‹æ–°èžç¾¤çµ„ï¼\n"
 
-#: src/lang.c:1388
+#: src/lang.c:1441
 #, c-format
 msgid ""
 "\n"
@@ -4994,7 +5138,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šã€Œ%sã€è¢«é‡æ–°å‘½åï¼Œæ‚¨æ‡‰è©²ä½¿ç”¨ã€Œ%sã€åšç‚ºæ›¿ä»£ï¼\n"
 
-#: src/lang.c:1389
+#: src/lang.c:1442
 #, c-format
 msgid ""
 "\n"
@@ -5003,7 +5147,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šè·¨æ¿å¼µè²¼åˆ° %d æ–°èžç¾¤çµ„è€Œæ²’æœ‰è·Ÿè²¼åˆ—ï¼\n"
 
-#: src/lang.c:1390
+#: src/lang.c:1443
 #, c-format
 msgid ""
 "\n"
@@ -5012,7 +5156,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šã€Œ%sã€ä¸åœ¨æ‚¨çš„ newsrc ä¹‹ä¸­ï¼Œåœ¨é€™å€‹ç«™è‡ºå®ƒä¹Ÿè¨±æœƒç„¡æ•ˆï¼\n"
 
-#: src/lang.c:1391
+#: src/lang.c:1444
 #, c-format
 msgid ""
 "\n"
@@ -5021,193 +5165,195 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šã€Œ%sã€ä¸¦éžé€™å€‹ç«™è‡ºä¸Šçš„æœ‰æ•ˆæ–°èžç¾¤çµ„ï¼\n"
 
-#: src/lang.c:1395
+#: src/lang.c:1448
 #, c-format
 msgid "%d files successfully written from %d articles. %d %s occurred."
 msgstr "%d å€‹æª”æ¡ˆæˆåŠŸåœ°å¾ž %d ç¯‡æ–‡ç« å¯«å…¥ã€‚%d %s å·²ç™¼ç”Ÿã€‚"
 
-#: src/lang.c:1396
+#: src/lang.c:1449
 msgid "Missing parts."
 msgstr "ç¼ºå°‘éƒ¨åˆ†ã€‚"
 
-#: src/lang.c:1397
+#: src/lang.c:1450
 msgid "No beginning."
 msgstr "æ²’æœ‰èµ·å§‹éƒ¨åˆ†ã€‚"
 
-#: src/lang.c:1398
+#: src/lang.c:1451
 msgid "No data."
 msgstr "æ²’æœ‰è³‡æ–™ã€‚"
 
-#: src/lang.c:1399
+#: src/lang.c:1452
 msgid "Unknown error."
 msgstr "ä¸æ˜ŽéŒ¯èª¤ã€‚"
 
-#: src/lang.c:1402
-#, c-format
-msgid "\tChecksum of %s (%ld %s)"
-msgstr "\t%s çš„ç¸½å’Œæª¢æŸ¥ç¢¼ (%ld %s)"
-
-#: src/lang.c:1407
-msgid "Reading mail active file... "
+#: src/lang.c:1456
+#, fuzzy, c-format
+msgid "Reading mail active file: %s"
 msgstr "è®€å–éƒµä»¶ç¾ç”¨æª”æ¡ˆâ€¦"
 
-#: src/lang.c:1408
-msgid "Reading mailgroups file... "
+#: src/lang.c:1457
+#, fuzzy, c-format
+msgid "Reading mailgroups file: %s"
 msgstr "è®€å–éƒµä»¶ç¾¤çµ„æª”æ¡ˆâ€¦"
 
-#: src/lang.c:1412
+#: src/lang.c:1461
 msgid "perform PGP operations on article"
 msgstr "å°æ–¼æ–‡ç« æ–½è¡Œ PGP æ“ä½œ"
 
-#: src/lang.c:1413
+#: src/lang.c:1462
 msgid "Add key(s) to public keyring?"
 msgstr "å°‡å¯†é‘°åŠ å…¥å…¬ç”¨é‘°åŒ™åœˆï¼Ÿ"
 
-#: src/lang.c:1414
+#: src/lang.c:1463
 #, c-format
 msgid "%s=encrypt, %s=sign, %s=both, %s=quit: "
 msgstr "%s=åŠ å¯†ï¼Œ%s=ç°½åï¼Œ%s=å…©è€…ï¼Œ%s=é›¢é–‹ï¼š"
 
-#: src/lang.c:1415
+#: src/lang.c:1464
 #, c-format
 msgid "%s=sign, %s=sign & include public key, %s=quit: "
 msgstr "%s=ç°½åï¼Œ%s=ç°½å & åŒ…å«å…¬é–‹é‡‘é‘°ï¼Œ%s=é›¢é–‹ï¼š"
 
-#: src/lang.c:1416
+#: src/lang.c:1465
 #, c-format
 msgid "PGP has not been set up (can't open %s)"
 msgstr "PGP å°šæœªè¨­ç½® (ç„¡æ³•é–‹å•Ÿ %s)"
 
-#: src/lang.c:1417
+#: src/lang.c:1466
 msgid "Article not signed and no public keys found"
 msgstr "æ–‡ç« æœªè¢«ç°½åä¸”æ‰¾ä¸åˆ°ä»»ä½•å…¬é–‹é‡‘é‘°"
 
-#: src/lang.c:1419
+#: src/lang.c:1468
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=é›¢é–‹ï¼Œ%s=ç·¨è¼¯ï¼Œ%s=æ‹¼å¯«æª¢æŸ¥ï¼Œ%s=pgpï¼Œ%s=é¸å–®ï¼Œ%s=å¼µè²¼ï¼Œ%s=æ“±ç½®ï¼š"
 
-#: src/lang.c:1420
+#: src/lang.c:1469
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: "
 msgstr "%s=é›¢é–‹ï¼Œ%s=ç·¨è¼¯ï¼Œ%s=æ‹¼å¯«æª¢æŸ¥ï¼Œ%s=pgpï¼Œ%s=ç™¼é€ [%%s]ï¼š"
 
-#: src/lang.c:1421
+#: src/lang.c:1470
 #, c-format
 msgid ""
 "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr ""
 "%s=é›¢é–‹ï¼Œ%s=ç·¨è¼¯ï¼Œ%s=æ‹¼å¯«æª¢æŸ¥ï¼Œ%s=pgpï¼Œ%s=é¸å–®ï¼Œ%s=å¼µè²¼ï¼Œ%s=æ“±ç½® [%%s]ï¼š"
 
-#: src/lang.c:1423
+#: src/lang.c:1472
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=é›¢é–‹ï¼Œ%s=ç·¨è¼¯ï¼Œ%s=pgpï¼Œ%s=é¸å–®ï¼Œ%s=å¼µè²¼ï¼Œ%s=æ“±ç½®ï¼š"
 
-#: src/lang.c:1424
+#: src/lang.c:1473
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: "
 msgstr "%s=é›¢é–‹ï¼Œ%s=ç·¨è¼¯ï¼Œ%s=pgpï¼Œ%s=ç™¼é€ [%%s]ï¼š"
 
-#: src/lang.c:1425
+#: src/lang.c:1474
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=é›¢é–‹ï¼Œ%s=ç·¨è¼¯ï¼Œ%s=pgpï¼Œ%s=é¸å–®ï¼Œ%s=å¼µè²¼ï¼Œ%s=æ“±ç½® [%%s]ï¼š"
 
-#: src/lang.c:1429
+#: src/lang.c:1478
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=é›¢é–‹ï¼Œ%s=ç·¨è¼¯ï¼Œ%s=æ‹¼å¯«æª¢æŸ¥ï¼Œ%s=é¸å–®ï¼Œ%s=å¼µè²¼ï¼Œ%s=æ“±ç½®ï¼š"
 
-#: src/lang.c:1430
+#: src/lang.c:1479
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: "
 msgstr "%s=é›¢é–‹ï¼Œ%s=ç·¨è¼¯ï¼Œ%s=æ‹¼å¯«æª¢æŸ¥ï¼Œ%s=ç™¼é€ [%%s]ï¼š"
 
-#: src/lang.c:1431
+#: src/lang.c:1480
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=é›¢é–‹ï¼Œ%s=ç·¨è¼¯ï¼Œ%s=æ‹¼å¯«æª¢æŸ¥ï¼Œ%s=é¸å–®ï¼Œ%s=å¼µè²¼ï¼Œ%s=æ“±ç½® [%%s]ï¼š"
 
-#: src/lang.c:1433
+#: src/lang.c:1482
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 msgstr "%s=é›¢é–‹ï¼Œ%s=ç·¨è¼¯ï¼Œ%s=é¸å–®ï¼Œ%s=å¼µè²¼ï¼Œ%s=æ“±ç½®ï¼š"
 
-#: src/lang.c:1434
+#: src/lang.c:1483
 #, c-format
 msgid "%s=quit, %s=edit, %s=send [%%s]: "
 msgstr "%s=é›¢é–‹ï¼Œ%s=ç·¨è¼¯ï¼Œ%s=ç™¼é€ [%%s]ï¼š"
 
-#: src/lang.c:1435
+#: src/lang.c:1484
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: "
 msgstr "%s=é›¢é–‹ï¼Œ%s=ç·¨è¼¯ï¼Œ%s=é¸å–®ï¼Œ%s=å¼µè²¼ï¼Œ%s=æ“±ç½® [%%s]ï¼š"
 
-#: src/lang.c:1441
+#: src/lang.c:1489
 msgid "Try cache_overview_files to speed up things.\n"
 msgstr "å˜—è©¦ cache_overview_files ä»¥åŠ é€Ÿã€‚\n"
 
-#: src/lang.c:1442
+#: src/lang.c:1490
 msgid "Tin will use local index files instead.\n"
 msgstr "Tin å°‡ä½¿ç”¨æœ¬åœ°ç´¢å¼•æª”æ¡ˆåšç‚ºæ›¿ä»£ã€‚\n"
 
-#: src/lang.c:1443
+#: src/lang.c:1491
 msgid "Cannot find NNTP server name"
 msgstr "æ‰¾ä¸åˆ° NNTP ä¼ºæœå™¨åç¨±"
 
-#: src/lang.c:1444
+#: src/lang.c:1492
 msgid "CAPABILITIES did not announce READER"
 msgstr "èƒ½åŠ›ä¸­ä¸¦æœªå®£å‘ŠåŒ…å«é–±è®€å™¨"
 
-#: src/lang.c:1445
+#: src/lang.c:1493
 #, c-format
 msgid "Connecting to %s:%u..."
 msgstr "é€£ç·šåˆ° %s:%uâ€¦"
 
-#: src/lang.c:1446
+#: src/lang.c:1494
 #, fuzzy
 msgid "NNTP connection error. Exiting..."
 msgstr "é€£ç·šåˆ° NNTP ä¼ºæœå™¨ %s æ™‚å¤±æ•—ã€‚é›¢é–‹â€¦"
 
-#: src/lang.c:1447
+#: src/lang.c:1495
 #, fuzzy
 msgid "Disconnecting from server..."
 msgstr "å¾žä¼ºæœå™¨ä¸­æ–·é€£ç·šâ€¦\n"
 
-#: src/lang.c:1448
+#: src/lang.c:1496
 #, c-format
 msgid "Failed to connect to NNTP server %s. Exiting..."
 msgstr "é€£ç·šåˆ° NNTP ä¼ºæœå™¨ %s æ™‚å¤±æ•—ã€‚é›¢é–‹â€¦"
 
-#: src/lang.c:1449
+#: src/lang.c:1497
 msgid "205  Closing connection"
 msgstr "205  é—œé–‰é€£æŽ¥"
 
-#: src/lang.c:1450
+#: src/lang.c:1498
 msgid "Your server does not support the NNTP XOVER or OVER command.\n"
 msgstr "æ‚¨çš„ä¼ºæœå™¨ä¸æ”¯æ´ NNTP XOVER æˆ– OVER å‘½ä»¤ã€‚\n"
 
-#: src/lang.c:1452
+#: src/lang.c:1499
 #, c-format
 msgid "Port isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1453
+#: src/lang.c:1500
+#, c-format
+msgid "%s argument is not numeric: %s\n"
+msgstr ""
+
+#: src/lang.c:1502
 #, c-format
 msgid "Port in %s isn't numeric: %s:%s\n"
 msgstr ""
 
-#: src/lang.c:1454
+#: src/lang.c:1503
 #, c-format
 msgid "reconnect (%d) limit %d reached, giving up."
 msgstr ""
 
-#: src/lang.c:1456
+#: src/lang.c:1505
 msgid "Connection to news server has timed out. Reconnect?"
 msgstr "é€£ç·šåˆ°æ–°èžä¼ºæœå™¨å·²é€¾æ™‚ã€‚é‡æ–°é€£ç·šï¼Ÿ"
 
-#: src/lang.c:1457
+#: src/lang.c:1506
 #, c-format
 msgid ""
 "Put the server name in the file %s,\n"
@@ -5216,68 +5362,67 @@ msgstr ""
 "åœ¨æª”æ¡ˆ %s ä¸­æ”¾å…¥ä¼ºæœå™¨åç¨±ï¼Œ\n"
 "æˆ–è¨­å®šç’°å¢ƒè®Šæ•¸ NNTPSERVER"
 
-#: src/lang.c:1459
+#: src/lang.c:1508
 #, fuzzy
 msgid "Continuing..."
 msgstr "åˆ—å°ä¸­â€¦"
 
-#: src/lang.c:1460
-#, c-format
-msgid "Read timeout from server (%d seconds) - quit tin?"
+#: src/lang.c:1509
+msgid "Read timeout from server - quit tin?"
 msgstr ""
 
-#: src/lang.c:1461
+#: src/lang.c:1510
 msgid "  -C       try COMPRESS NNTP extension"
 msgstr ""
 
-#: src/lang.c:1463
+#: src/lang.c:1512
 msgid "  -A       force authentication on connect"
 msgstr "  -A       é€£ç·šæ™‚å¼·åˆ¶èªè­‰"
 
-#: src/lang.c:1464
+#: src/lang.c:1513
 #, c-format
 msgid "  -g serv  read news from NNTP server serv [default=%s]"
 msgstr "  -g serv  å¾ž NNTP ä¼ºæœå™¨ serv [é è¨­=%s] è®€å–æ–°èž"
 
-#: src/lang.c:1465
+#: src/lang.c:1514
 #, c-format
 msgid "  -p port  use port as NNTP port [default=%d]"
 msgstr "  -p port  ä½¿ç”¨ port åšç‚º NNTP é€šè¨ŠåŸ  [é è¨­=%d]"
 
-#: src/lang.c:1467
+#: src/lang.c:1516
 msgid "  -k       skip verification for NNTPS"
 msgstr ""
 
-#: src/lang.c:1468
+#: src/lang.c:1517
 msgid "  -T       enable NNTPS"
 msgstr ""
 
-#: src/lang.c:1470
+#: src/lang.c:1519
 #, fuzzy
 msgid "  -Q       quick start. Same as -dnq"
 msgstr "  -Q       å¿«é€Ÿé–‹å§‹ã€‚å¦‚åŒ -dnq"
 
-#: src/lang.c:1471
+#: src/lang.c:1520
 msgid "  -r       read news remotely from default NNTP server"
 msgstr "  -r       å¾žé è¨­ NNTP ä¼ºæœå™¨é ç«¯è®€å–æ–°èž"
 
-#: src/lang.c:1472
+#: src/lang.c:1521
 msgid "  -l       use only LIST instead of GROUP (-n) command"
 msgstr "  -l       åªä½¿ç”¨ LIST ä»¥ä»£æ›¿ GROUP (-n) å‘½ä»¤"
 
-#: src/lang.c:1473
+#: src/lang.c:1522
 msgid "  -n       only read subscribed .newsrc groups from NNTP server"
 msgstr "  -n       å¾ž NNTP ä¼ºæœå™¨åªè®€å–å·²è¨‚é–±çš„ .newsrc ç¾¤çµ„"
 
-#: src/lang.c:1475
+#: src/lang.c:1524
 msgid "  -4       force connecting via IPv4"
 msgstr "  -4       å¼·åˆ¶é€éŽ IPv4 é€£æŽ¥"
 
-#: src/lang.c:1476
+#: src/lang.c:1525
 msgid "  -6       force connecting via IPv6"
 msgstr "  -6       å¼·åˆ¶é€éŽ IPv6 é€£æŽ¥"
 
-#: src/lang.c:1477
+#: src/lang.c:1526
 msgid ""
 "\n"
 "socket or connect problem\n"
@@ -5285,7 +5430,7 @@ msgstr ""
 "\n"
 "é€šè¨Šç«¯æˆ–é€£æŽ¥å•é¡Œ\n"
 
-#: src/lang.c:1479
+#: src/lang.c:1528
 #, c-format
 msgid ""
 "\n"
@@ -5294,16 +5439,16 @@ msgstr ""
 "\n"
 "é€£ç·šåˆ° %sï¼š"
 
-#: src/lang.c:1480
+#: src/lang.c:1529
 msgid "Giving up...\n"
 msgstr "æ”¾æ£„â€¦\n"
 
-#: src/lang.c:1482
+#: src/lang.c:1531
 #, c-format
 msgid "%s/tcp: Unknown service.\n"
 msgstr "%s/tcpï¼šä¸æ˜Žæœå‹™ã€‚\n"
 
-#: src/lang.c:1486
+#: src/lang.c:1535
 msgid ""
 "Your server does not have Xref: in its XOVER information.\n"
 "Tin will try to use XHDR XREF instead (slows down things a bit).\n"
@@ -5311,87 +5456,87 @@ msgstr ""
 "æ‚¨çš„ä¼ºæœå™¨æ²’æœ‰ Xref: æ–¼å®ƒçš„ XOVER è³‡è¨Šä¹‹ä¸­ã€‚\n"
 "Tin å°‡å˜—è©¦ä½¿ç”¨ XHDR XREF åšç‚ºæ›¿ä»£ (æœƒæ…¢ä¸€é»ž)ã€‚\n"
 
-#: src/lang.c:1489
+#: src/lang.c:1538
 msgid "Your server does not have Xref: in its XOVER information.\n"
 msgstr "æ‚¨çš„ä¼ºæœå™¨æ²’æœ‰ Xref: æ–¼å®ƒçš„ XOVER è³‡è¨Šä¹‹ä¸­ã€‚\n"
 
-#: src/lang.c:1492
+#: src/lang.c:1541
 #, fuzzy, c-format
 msgid "Can't open %s. Try %s -r to read news via NNTP."
 msgstr "ç„¡æ³•é–‹å•Ÿ %sã€‚å˜—è©¦ %s -r ä»¥é€éŽ NNTP è®€å–æ–°èžã€‚\n"
 
-#: src/lang.c:1495
+#: src/lang.c:1544
 msgid "  -Q       quick start. Same as -dq"
 msgstr "  -Q       å¿«é€Ÿé–‹å§‹ã€‚å¦‚åŒ -dq"
 
-#: src/lang.c:1496
+#: src/lang.c:1545
 msgid "  -l       read only active file instead of scanning spool (-n) command"
 msgstr "  -l       ç¾ç”¨æª”æ¡ˆå”¯è®€ä»¥ä»£æ›¿æŽƒææš«å­˜ (-n) å‘½ä»¤"
 
-#: src/lang.c:1497
+#: src/lang.c:1546
 msgid "  -n       only read subscribed .newsrc groups from spool"
 msgstr "  -n       åªå¾žæš«å­˜è®€å–å·²è¨‚é–±çš„ .newsrc ç¾¤çµ„"
 
-#: src/lang.c:1498
+#: src/lang.c:1547
 msgid "Your server does not have Xref: in its NOV-files.\n"
 msgstr "æ‚¨çš„ä¼ºæœå™¨æ²’æœ‰ Xref: æ–¼å®ƒçš„ NOV æª”æ¡ˆä¹‹ä¸­ã€‚\n"
 
-#: src/lang.c:1502
+#: src/lang.c:1551
 msgid "Posting using external inews failed. Use built in inews instead?"
 msgstr "ä½¿ç”¨å¤–éƒ¨ inews å¼µè²¼å¤±æ•—ã€‚ä½¿ç”¨å…§å»º inews åšç‚ºæ›¿ä»£ï¼Ÿ"
 
-#: src/lang.c:1503
+#: src/lang.c:1552
 msgid "It worked! Should I always use my built in inews from now on?"
 msgstr "å®ƒåšåˆ°äº†ï¼å¾žç¾åœ¨èµ·ï¼Œæˆ‘æ‡‰è©²ä¸€å¾‹ä½¿ç”¨å…§å»ºçš„ inewsï¼Ÿ"
 
-#: src/lang.c:1507
+#: src/lang.c:1556
 #, c-format
 msgid "%d %s printed"
 msgstr "%d %s å·²åˆ—å°"
 
-#: src/lang.c:1508
+#: src/lang.c:1557
 msgid "output article/thread/hot/pattern/tagged articles to printer"
 msgstr "è¼¸å‡º æ–‡ç« /è¨Žè«–ä¸²/ç†±é–€/èƒšé¨°/å·²æ¨™å®šæ–‡ç«  åˆ°å°è¡¨æ©Ÿ"
 
-#: src/lang.c:1509
+#: src/lang.c:1558
 msgid "Print"
 msgstr "åˆ—å°"
 
-#: src/lang.c:1510
+#: src/lang.c:1559
 msgid "Printing..."
 msgstr "åˆ—å°ä¸­â€¦"
 
-#: src/lang.c:1514
+#: src/lang.c:1563
 #, fuzzy, c-format
 msgid "%d %s piped to \"%s\""
 msgstr "%d %s å·²åˆ—å°"
 
-#: src/lang.c:1515
+#: src/lang.c:1564
 msgid "pipe article/thread/hot/pattern/tagged articles into command"
 msgstr "ç®¡ç·š æ–‡ç« /è¨Žè«–ä¸²/ç†±é–€/èƒšé¨°/å·²æ¨™å®šæ–‡ç«  é€²å…¥å‘½ä»¤"
 
-#: src/lang.c:1516
+#: src/lang.c:1565
 msgid "No command"
 msgstr "æ²’æœ‰å‘½ä»¤"
 
-#: src/lang.c:1517
+#: src/lang.c:1566
 msgid "Pipe"
 msgstr "ç®¡ç·š"
 
-#: src/lang.c:1518
+#: src/lang.c:1567
 #, c-format
 msgid "Pipe to command [%.*s]> "
 msgstr "ç®¡ç·šåˆ°å‘½ä»¤ [%.*s]>"
 
-#: src/lang.c:1519
+#: src/lang.c:1568
 msgid "Piping..."
 msgstr "ç®¡ç·šä¸­â€¦"
 
-#: src/lang.c:1521
+#: src/lang.c:1570
 msgid "Piping not enabled."
 msgstr "ç®¡ç·šæœªå•Ÿç”¨ã€‚"
 
-#: src/lang.c:1525
+#: src/lang.c:1574
 #, c-format
 msgid ""
 "\n"
@@ -5406,7 +5551,7 @@ msgstr ""
 "      æ‰å…è¨±ã€‚ä½¿ç”¨é€—è™Ÿ(,)ä¾†åˆ†éš”å¤šé‡çš„\n"
 "      æ–°èžç¾¤çµ„åç¨±ã€‚\n"
 
-#: src/lang.c:1530
+#: src/lang.c:1579
 #, c-format
 msgid ""
 "\n"
@@ -5419,7 +5564,7 @@ msgstr ""
 "      åœ¨åˆ—ä¸­ä¸å¯ä»¥åŒ…å«ç©ºç™½ï¼Œ å› æ­¤é€™æ˜¯ä¸å…è¨±çš„ã€‚\n"
 "      è«‹å°‡æ‰€æœ‰æ–°èžç¾¤çµ„å¯«å…¥å–®ä¸€åˆ—ä¸­ã€‚\n"
 
-#: src/lang.c:1535
+#: src/lang.c:1584
 #, c-format
 msgid ""
 "\n"
@@ -5432,7 +5577,7 @@ msgstr ""
 "        é€™æ˜¯éžå¸¸æ–°çš„åŠŸèƒ½ï¼Œå¯èƒ½ç„¡æ³•è¢«æ‰€æœ‰çš„ä¼ºæœå™¨æŽ¥æ”¶ã€‚\n"
 "        ç‚ºé¿å…éº»ç…©ï¼Œè«‹å°‡æ‰€æœ‰æ–°èžç¾¤çµ„å¯«å…¥å–®ä¸€åˆ—ä¸­ã€‚\n"
 
-#: src/lang.c:1539
+#: src/lang.c:1588
 #, c-format
 msgid ""
 "\n"
@@ -5441,7 +5586,7 @@ msgstr ""
 "\n"
 "è­¦å‘Šï¼šã€Œ%s:ã€åˆ—ä¸­å«æœ‰æ‡‰è©²è¢«ç§»é™¤çš„ç©ºæ ¼ã€‚\n"
 
-#: src/lang.c:1544
+#: src/lang.c:1593
 msgid ""
 "\n"
 "  If your article contains quoted text  please take some time to pare it "
@@ -5473,40 +5618,40 @@ msgstr ""
 "  ä¸åœ¨ä¹Žä¸¦æ³¨æ„æ‚¨å¼µè²¼æ‰€ç”¨çš„æ ¼å¼ï¼Œåˆ¥äººå°‡å¾ˆå¯èƒ½\n"
 "  æœƒå®Œå…¨å¿½ç•¥å®ƒï¼Œå°¤å…¶æ˜¯åœ¨é€™å€‹æ“æ“ çš„ç¶²è·¯ä¸­ã€‚\n"
 
-#: src/lang.c:1557
+#: src/lang.c:1606
 msgid "shell escape"
 msgstr "å‘½ä»¤æ®¼è·³è„«"
 
-#: src/lang.c:1558
+#: src/lang.c:1607
 #, c-format
 msgid "Shell Command (%s)"
 msgstr "å‘½ä»¤æ®¼å‘½ä»¤ (%s)"
 
-#: src/lang.c:1559
+#: src/lang.c:1608
 #, c-format
 msgid "Enter shell command [%s]> "
 msgstr "è¼¸å…¥å‘½ä»¤æ®¼å‘½ä»¤ [%s]>"
 
-#: src/lang.c:1563
+#: src/lang.c:1612
 #, c-format
 msgid "%s: Can't get entry for TERM\n"
 msgstr "%sï¼šç„¡æ³•æå– TERM æ¢ç›®\n"
 
-#: src/lang.c:1567
+#: src/lang.c:1616
 #, c-format
 msgid "Group %.*s ('q' to quit)..."
 msgstr "ç¾¤çµ„ %.*s (ã€Žqã€ä»¥é›¢é–‹)â€¦"
 
-#: src/lang.c:1569
+#: src/lang.c:1618
 #, c-format
 msgid "Group %.*s..."
 msgstr "ç¾¤çµ„ %.*sâ€¦"
 
-#: src/lang.c:1573
+#: src/lang.c:1622
 msgid "Server unavailable\n"
 msgstr "ä¼ºæœå™¨ç„¡æ³•ä½¿ç”¨\n"
 
-#: src/lang.c:1579
+#: src/lang.c:1628
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
@@ -5515,552 +5660,552 @@ msgstr ""
 "%s=ç®¡ç·šï¼›%s=éƒµå¯„ï¼›%s=åˆ—å°ï¼›%s=é›¢é–‹ï¼›%s=åˆ‡æ›æ‰€æœ‰/æœªè®€ï¼›%s=å„²å­˜ï¼›%s=æ¨™å®šï¼›%s=å¼µ"
 "è²¼"
 
-#: src/lang.c:1580
+#: src/lang.c:1629
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 "%s=ç®¡ç·šï¼›%s=éƒµå¯„ï¼›%s=åˆ—å°ï¼›%s=é›¢é–‹ï¼›%s=å›žè¦†éƒµä»¶ï¼›%s=å„²å­˜ï¼›%s=æ¨™å®šï¼›%s=å¼µè²¼"
 
-#: src/lang.c:1582
+#: src/lang.c:1631
 #, c-format
 msgid ""
 "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr "%s=éƒµå¯„ï¼›%s=åˆ—å°ï¼›%s=é›¢é–‹ï¼›%s=åˆ‡æ›æ‰€æœ‰/æœªè®€ï¼›%s=å„²å­˜ï¼›%s=æ¨™å®šï¼›%s=å¼µè²¼"
 
-#: src/lang.c:1583
+#: src/lang.c:1632
 #, c-format
 msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr "%s=éƒµå¯„ï¼›%s=åˆ—å°ï¼›%s=é›¢é–‹ï¼›%s=å›žè¦†éƒµä»¶ï¼›%s=å„²å­˜ï¼›%s=æ¨™å®šï¼›%s=å¼µè²¼"
 
-#: src/lang.c:1587
+#: src/lang.c:1636
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr "%s=ç®¡ç·šï¼›%s=éƒµå¯„ï¼›%s=é›¢é–‹ï¼›%s=åˆ‡æ›æ‰€æœ‰/æœªè®€ï¼›%s=å„²å­˜ï¼›%s=æ¨™å®šï¼›%s=å¼µè²¼"
 
-#: src/lang.c:1588
+#: src/lang.c:1637
 #, c-format
 msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr "%s=ç®¡ç·šï¼›%s=éƒµå¯„ï¼›%s=é›¢é–‹ï¼›%s=å›žè¦†éƒµä»¶ï¼›%s=å„²å­˜ï¼›%s=æ¨™å®šï¼›%s=å¼µè²¼"
 
-#: src/lang.c:1590
+#: src/lang.c:1639
 #, c-format
 msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr "%s=éƒµå¯„ï¼›%s=é›¢é–‹ï¼›%s=åˆ‡æ›æ‰€æœ‰/æœªè®€ï¼›%s=å„²å­˜ï¼›%s=æ¨™å®šï¼›%s=å¼µè²¼"
 
-#: src/lang.c:1591
+#: src/lang.c:1640
 #, c-format
 msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr "%s=éƒµå¯„ï¼›%s=é›¢é–‹ï¼›%s=å›žè¦†éƒµä»¶ï¼›%s=å„²å­˜ï¼›%s=æ¨™å®šï¼›%s=å¼µè²¼"
 
-#: src/lang.c:1597
+#: src/lang.c:1646
 msgid "Terminal does not support color"
 msgstr "çµ‚ç«¯æ©Ÿä¸æ”¯æ´é¡è‰²"
 
-#: src/lang.c:1602
+#: src/lang.c:1651
 #, c-format
 msgid "Trying %s"
 msgstr "å˜—è©¦ %s"
 
-#: src/lang.c:1617
+#: src/lang.c:1666
 msgid "Subject"
 msgstr "ä¸»æ—¨"
 
-#: src/lang.c:1618
+#: src/lang.c:1667
 msgid "References"
 msgstr "åƒè€ƒ"
 
-#: src/lang.c:1619
+#: src/lang.c:1668
 msgid "Both Subject and References"
 msgstr "ä¸»æ—¨å’Œåƒè€ƒå…©è€…"
 
-#: src/lang.c:1620
+#: src/lang.c:1669
 msgid "Multipart Subject"
 msgstr "å¤šéƒ¨ä»¶ä¸»æ—¨"
 
-#: src/lang.c:1621
+#: src/lang.c:1670
 msgid "Percentage Match"
 msgstr "ç™¾åˆ†æ¯”åŒ¹é…"
 
-#: src/lang.c:1634 src/lang.c:1725 src/lang.c:1824 src/lang.c:1927
+#: src/lang.c:1683 src/lang.c:1774 src/lang.c:1880 src/lang.c:1983
 msgid "No"
 msgstr "å¦"
 
-#: src/lang.c:1635 src/lang.c:1826
+#: src/lang.c:1684 src/lang.c:1882
 msgid "Yes"
 msgstr "æ˜¯"
 
-#: src/lang.c:1636
+#: src/lang.c:1685
 #, fuzzy
 msgid "Hide all"
 msgstr "éš±è—æ‰€æœ‰"
 
-#: src/lang.c:1645
+#: src/lang.c:1694
 msgid "Address"
 msgstr "åœ°å€"
 
-#: src/lang.c:1646
+#: src/lang.c:1695
 msgid "Full Name"
 msgstr "å…¨å"
 
-#: src/lang.c:1647
+#: src/lang.c:1696
 msgid "Address and Name"
 msgstr "åœ°å€å’Œåç¨±"
 
-#: src/lang.c:1655
+#: src/lang.c:1704
 msgid "Max"
 msgstr "æœ€å¤§"
 
-#: src/lang.c:1656
+#: src/lang.c:1705
 msgid "Sum"
 msgstr "ç¸½å’Œ"
 
-#: src/lang.c:1657
+#: src/lang.c:1706
 msgid "Average"
 msgstr "å¹³å‡"
 
-#: src/lang.c:1667 src/lang.c:1687
+#: src/lang.c:1716 src/lang.c:1736
 msgid "Black"
 msgstr "é»‘è‰²"
 
-#: src/lang.c:1668 src/lang.c:1688
+#: src/lang.c:1717 src/lang.c:1737
 msgid "Red"
 msgstr "ç´…è‰²"
 
-#: src/lang.c:1669 src/lang.c:1689
+#: src/lang.c:1718 src/lang.c:1738
 msgid "Green"
 msgstr "ç¶ è‰²"
 
-#: src/lang.c:1670 src/lang.c:1690
+#: src/lang.c:1719 src/lang.c:1739
 msgid "Brown"
 msgstr "æ£•è‰²"
 
-#: src/lang.c:1671 src/lang.c:1691
+#: src/lang.c:1720 src/lang.c:1740
 msgid "Blue"
 msgstr "è—è‰²"
 
-#: src/lang.c:1672 src/lang.c:1692
+#: src/lang.c:1721 src/lang.c:1741
 msgid "Pink"
 msgstr "ç²‰ç´…"
 
-#: src/lang.c:1673 src/lang.c:1693
+#: src/lang.c:1722 src/lang.c:1742
 msgid "Cyan"
 msgstr "é’è‰²"
 
-#: src/lang.c:1674 src/lang.c:1694
+#: src/lang.c:1723 src/lang.c:1743
 msgid "White"
 msgstr "ç™½è‰²"
 
-#: src/lang.c:1675
+#: src/lang.c:1724
 msgid "Gray"
 msgstr "ç°è‰²"
 
-#: src/lang.c:1676
+#: src/lang.c:1725
 msgid "Light Red"
 msgstr "æ·ºç´…è‰²"
 
-#: src/lang.c:1677
+#: src/lang.c:1726
 msgid "Light Green"
 msgstr "æ·ºç¶ è‰²"
 
-#: src/lang.c:1678
+#: src/lang.c:1727
 msgid "Yellow"
 msgstr "é»ƒè‰²"
 
-#: src/lang.c:1679
+#: src/lang.c:1728
 msgid "Light Blue"
 msgstr "æ·ºè—è‰²"
 
-#: src/lang.c:1680
+#: src/lang.c:1729
 msgid "Light Pink"
 msgstr "æ·ºç²‰ç´…"
 
-#: src/lang.c:1681
+#: src/lang.c:1730
 msgid "Light Cyan"
 msgstr "æ·ºé’è‰²"
 
-#: src/lang.c:1682
+#: src/lang.c:1731
 msgid "Light White"
 msgstr "äº®ç™½è‰²"
 
-#: src/lang.c:1703 src/lang.c:1831 src/lang.c:1846
+#: src/lang.c:1752 src/lang.c:1887 src/lang.c:1902
 msgid "Nothing"
 msgstr "æ²’æœ‰ä»»ä½•æ±è¥¿"
 
-#: src/lang.c:1705
+#: src/lang.c:1754
 msgid "Space"
 msgstr "ç©ºæ ¼"
 
-#: src/lang.c:1713
+#: src/lang.c:1762
 msgid "Normal"
 msgstr "ä¸€èˆ¬"
 
-#: src/lang.c:1714
+#: src/lang.c:1763
 msgid "Best highlighting"
 msgstr "æœ€ä½³é«˜äº®åº¦é¡¯ç¤º"
 
-#: src/lang.c:1715
+#: src/lang.c:1764
 msgid "Underline"
 msgstr "åº•ç·š"
 
-#: src/lang.c:1716
+#: src/lang.c:1765
 msgid "Reverse video"
 msgstr "åç™½é¡¯ç¤º"
 
-#: src/lang.c:1717
+#: src/lang.c:1766
 msgid "Blinking"
 msgstr "é–ƒå‹•"
 
-#: src/lang.c:1718
+#: src/lang.c:1767
 msgid "Half bright"
 msgstr "åŠæ˜Žäº®"
 
-#: src/lang.c:1719
+#: src/lang.c:1768
 msgid "Bold"
 msgstr "ç²—é«”"
 
-#: src/lang.c:1726
+#: src/lang.c:1775
 msgid "Cc"
 msgstr "å‰¯æœ¬"
 
-#: src/lang.c:1727
+#: src/lang.c:1776
 msgid "Bcc"
 msgstr "å¯†ä»¶å‰¯æœ¬"
 
-#: src/lang.c:1728
+#: src/lang.c:1777
 msgid "Cc and Bcc"
 msgstr "å‰¯æœ¬å’Œå¯†ä»¶å‰¯æœ¬"
 
-#: src/lang.c:1745 src/lang.c:1758
+#: src/lang.c:1794 src/lang.c:1807
 msgid "none"
 msgstr "ç„¡"
 
-#: src/lang.c:1746
+#: src/lang.c:1795
 msgid "commands"
 msgstr "å‘½ä»¤"
 
-#: src/lang.c:1747
+#: src/lang.c:1796
 msgid "select"
 msgstr "é¸å–"
 
-#: src/lang.c:1749
+#: src/lang.c:1798
 msgid "commands & quit"
 msgstr "å‘½ä»¤ & é›¢é–‹"
 
-#: src/lang.c:1750
+#: src/lang.c:1799
 msgid "commands & select"
 msgstr "å‘½ä»¤ & é¸å–"
 
-#: src/lang.c:1751
+#: src/lang.c:1800
 msgid "quit & select"
 msgstr "é›¢é–‹ & é¸å–"
 
-#: src/lang.c:1752
+#: src/lang.c:1801
 msgid "commands & quit & select"
 msgstr "å‘½ä»¤ & é›¢é–‹ & é¸å–"
 
-#: src/lang.c:1759
+#: src/lang.c:1808
 msgid "PageDown"
 msgstr "ä¸‹ä¸€é "
 
-#: src/lang.c:1760
+#: src/lang.c:1809
 msgid "PageNextUnread"
 msgstr "ä¸‹ä¸€æœªè®€é "
 
-#: src/lang.c:1761
+#: src/lang.c:1810
 msgid "PageDown or PageNextUnread"
 msgstr "ä¸‹ä¸€é æˆ–ä¸€æœªè®€é "
 
-#: src/lang.c:1767
+#: src/lang.c:1816
 msgid "Subject: (case sensitive)"
 msgstr "Subject: (å¤§å°å¯«ç›¸ç¬¦)"
 
-#: src/lang.c:1768
+#: src/lang.c:1817
 msgid "Subject: (ignore case)"
 msgstr "Subject: (å¿½ç•¥å¤§å°å¯«)"
 
-#: src/lang.c:1769
+#: src/lang.c:1818
 msgid "From: (case sensitive)"
 msgstr "From: (å¤§å°å¯«ç›¸ç¬¦)"
 
-#: src/lang.c:1770
+#: src/lang.c:1819
 msgid "From: (ignore case)"
 msgstr "From: (å¿½ç•¥å¤§å°å¯«)"
 
-#: src/lang.c:1771
+#: src/lang.c:1820
 msgid "Msg-ID: & full References: line"
 msgstr "Message-ID: & å…¨éƒ¨ References: åˆ—"
 
-#: src/lang.c:1772
+#: src/lang.c:1821
 msgid "Msg-ID: & last References: only"
 msgstr "Message-ID: & æœ€å¾Œä¸€ç­† References: åªæœ‰"
 
-#: src/lang.c:1773
+#: src/lang.c:1822
 msgid "Message-ID: entry only"
 msgstr "åªæœ‰ Message-ID: æ¢ç›®"
 
-#: src/lang.c:1774
+#: src/lang.c:1823
 msgid "Lines:"
 msgstr "Lines:"
 
-#: src/lang.c:1780
+#: src/lang.c:1829
 msgid "Don't trim article body"
 msgstr "ä¸ä¿®å‰ªæ–‡ç« å…§æ–‡"
 
-#: src/lang.c:1781
+#: src/lang.c:1830
 msgid "Skip leading blank lines"
 msgstr "è·³éŽå‰å°Žç©ºåˆ—"
 
-#: src/lang.c:1782
+#: src/lang.c:1831
 msgid "Skip trailing blank lines"
 msgstr "è·³éŽå°¾éš¨ç©ºåˆ—"
 
-#: src/lang.c:1783
+#: src/lang.c:1832
 msgid "Skip leading and trailing blank l."
 msgstr "è·³éŽå‰å°Žå’Œå°¾éš¨ç©ºåˆ—ã€‚"
 
-#: src/lang.c:1784
+#: src/lang.c:1833
 msgid "Compact multiple between text"
 msgstr "å£“ç¸®æ–‡å­—é–“å¤šé‡ç©ºåˆ—"
 
-#: src/lang.c:1785
+#: src/lang.c:1834
 msgid "Compact multiple and skip leading"
 msgstr "å£“ç¸®å¤šé‡ç©ºåˆ—å’Œè·³éŽå‰å°Žç©ºåˆ—"
 
-#: src/lang.c:1786
+#: src/lang.c:1835
 msgid "Compact multiple and skip trailing"
 msgstr "å£“ç¸®å¤šé‡ç©ºåˆ—å’Œè·³éŽå°¾éš¨ç©ºåˆ—"
 
-#: src/lang.c:1787
+#: src/lang.c:1836
 msgid "Compact mltpl., skip lead. & trai."
 msgstr "å£“ç¸®å¤šé‡ç©ºåˆ—ï¼Œè·³éŽå‰å°Ž & å°¾éš¨ç©ºåˆ—ã€‚"
 
-#: src/lang.c:1793
+#: src/lang.c:1842
 #, fuzzy
 msgid "Don't show help or mail sign"
 msgstr "èªªæ˜Ž/éƒµä»¶ç°½åçš„é¡è‰²"
 
-#: src/lang.c:1794
+#: src/lang.c:1843
 #, fuzzy
 msgid "Show only help sign"
 msgstr "èªªæ˜Ž/éƒµä»¶ç°½åçš„é¡è‰²"
 
-#: src/lang.c:1795
+#: src/lang.c:1844
 msgid "Show only mail sign if new mail"
 msgstr ""
 
-#: src/lang.c:1796
+#: src/lang.c:1845
 msgid "Show mail if new mail else help s."
 msgstr ""
 
-#: src/lang.c:1825
+#: src/lang.c:1881
 msgid "Shell archive"
 msgstr "å‘½ä»¤æ®¼å­˜æª”"
 
-#: src/lang.c:1832
+#: src/lang.c:1888
 msgid "Subject: (descending)"
 msgstr "Subject: (éžé™)"
 
-#: src/lang.c:1833
+#: src/lang.c:1889
 msgid "Subject: (ascending)"
 msgstr "Subject: (éžå‡)"
 
-#: src/lang.c:1834
+#: src/lang.c:1890
 msgid "From: (descending)"
 msgstr "From: (éžé™)"
 
-#: src/lang.c:1835
+#: src/lang.c:1891
 msgid "From: (ascending)"
 msgstr "From: (éžå‡)"
 
-#: src/lang.c:1836
+#: src/lang.c:1892
 msgid "Date: (descending)"
 msgstr "Date: (éžé™)"
 
-#: src/lang.c:1837
+#: src/lang.c:1893
 msgid "Date: (ascending)"
 msgstr "Date: (éžå‡)"
 
-#: src/lang.c:1838 src/lang.c:1847
+#: src/lang.c:1894 src/lang.c:1903
 msgid "Score (descending)"
 msgstr "åˆ†æ•¸ (éžé™)"
 
-#: src/lang.c:1839 src/lang.c:1848
+#: src/lang.c:1895 src/lang.c:1904
 msgid "Score (ascending)"
 msgstr "åˆ†æ•¸ (éžå‡)"
 
-#: src/lang.c:1840
+#: src/lang.c:1896
 msgid "Lines: (descending)"
 msgstr "Lines: (éžé™)"
 
-#: src/lang.c:1841
+#: src/lang.c:1897
 msgid "Lines: (ascending)"
 msgstr "Lines: (éžå‡)"
 
-#: src/lang.c:1849
+#: src/lang.c:1905
 msgid "Last posting date (descending)"
 msgstr "æœ€è¿‘ä¸€æ¬¡å¼µè²¼æ—¥æœŸ (éžé™)"
 
-#: src/lang.c:1850
+#: src/lang.c:1906
 msgid "Last posting date (ascending)"
 msgstr "æœ€è¿‘ä¸€æ¬¡å¼µè²¼æ—¥æœŸ (éžå‡)"
 
-#: src/lang.c:1856
+#: src/lang.c:1912
 msgid "Quick-sort"
 msgstr "å¿«é€ŸæŽ’åºæ³•"
 
-#: src/lang.c:1857
+#: src/lang.c:1913
 msgid "Heap-sort"
 msgstr "å †ç©æŽ’åºæ³•"
 
-#: src/lang.c:1864
+#: src/lang.c:1920
 msgid "Always Keep"
 msgstr "ä¸€å¾‹ä¿ç•™"
 
-#: src/lang.c:1865
+#: src/lang.c:1921
 msgid "Always Remove"
 msgstr "ä¸€å¾‹ç§»é™¤"
 
-#: src/lang.c:1866
+#: src/lang.c:1922
 msgid "Mark with D on selection screen"
 msgstr "æ–¼é¸æ“‡èž¢å¹•ä»¥ D æ¨™è¨˜"
 
-#: src/lang.c:1872
+#: src/lang.c:1928
 msgid "Kill only unread arts"
 msgstr "åªç é™¤æœªè®€æ–‡ç« "
 
-#: src/lang.c:1873
+#: src/lang.c:1929
 msgid "Kill all arts & show with K"
 msgstr "ä»¥ K ç é™¤æ‰€æœ‰æ–‡ç«  & é¡¯ç¤º"
 
 #. TODO: s/K/art_marked_killed/
-#: src/lang.c:1874
+#: src/lang.c:1930
 msgid "Kill all arts and never show"
 msgstr "ç é™¤æ‰€æœ‰æ–‡ç« ä¸¦æ°¸ä¸é¡¯ç¤º"
 
-#: src/lang.c:1880
+#: src/lang.c:1936
 msgid "Nothing special"
 msgstr "æ²’ä»€éº¼ç‰¹åˆ¥"
 
-#: src/lang.c:1881
+#: src/lang.c:1937
 msgid "Compress quotes"
 msgstr "å£“ç¸®å¼•è¨€"
 
-#: src/lang.c:1882
+#: src/lang.c:1938
 msgid "Quote signatures"
 msgstr "å¼•ç”¨ç°½å"
 
-#: src/lang.c:1883
+#: src/lang.c:1939
 msgid "Compress quotes, quote sigs"
 msgstr "å£“ç¸®å¼•è¨€ï¼Œå¼•ç”¨ç°½å"
 
-#: src/lang.c:1884
+#: src/lang.c:1940
 msgid "Quote empty lines"
 msgstr "å¼•è¨€ç©ºåˆ—"
 
-#: src/lang.c:1885
+#: src/lang.c:1941
 msgid "Compress quotes, quote empty lines"
 msgstr "å£“ç¸®å¼•è¨€ï¼Œå¼•è¨€ç©ºåˆ—"
 
-#: src/lang.c:1886
+#: src/lang.c:1942
 msgid "Quote sigs & empty lines"
 msgstr "å¼•ç”¨ç°½å & ç©ºåˆ—"
 
-#: src/lang.c:1887
+#: src/lang.c:1943
 msgid "Comp. q., quote sigs & empty lines"
 msgstr "å£“ç¸®å¼•è¨€ï¼Œå¼•ç”¨ç°½å & ç©ºåˆ—"
 
-#: src/lang.c:1928
+#: src/lang.c:1984
 #, fuzzy
 msgid "With headers"
 msgstr "ä¿ç•™æ¨™é ­"
 
-#: src/lang.c:1929
+#: src/lang.c:1985
 #, fuzzy
 msgid "Without headers"
 msgstr "ç„¡éœ€æ¨™é ­"
 
-#: src/lang.c:1936
+#: src/lang.c:1992
 msgid "NFKC"
 msgstr "NFKC"
 
-#: src/lang.c:1938
+#: src/lang.c:1994
 msgid "NFKD"
 msgstr "NFKD"
 
-#: src/lang.c:1939
+#: src/lang.c:1995
 msgid "NFC"
 msgstr "NFC"
 
-#: src/lang.c:1940
+#: src/lang.c:1996
 msgid "NFD"
 msgstr "NFD"
 
-#: src/lang.c:1942
+#: src/lang.c:1998
 msgid "NFKC case fold"
 msgstr ""
 
-#: src/lang.c:1951
+#: src/lang.c:2007
 msgid "Display Options"
 msgstr "é¡¯ç¤ºé¸é …"
 
-#: src/lang.c:1958
+#: src/lang.c:2014
 msgid "Color Options"
 msgstr "é¡è‰²é¸é …"
 
-#: src/lang.c:1964
+#: src/lang.c:2020
 msgid "Highlight Options"
 msgstr "çªé¡¯é¸é …"
 
-#: src/lang.c:1971
+#: src/lang.c:2027
 msgid "Article-Limiting Options"
 msgstr "æ–‡ç« é™åˆ¶é¸é …"
 
-#: src/lang.c:1977
+#: src/lang.c:2033
 msgid "Posting/Mailing Options"
 msgstr "å¼µè²¼/éƒµå¯„é¸é …"
 
-#: src/lang.c:1983
+#: src/lang.c:2039
 msgid "Saving/Printing Options"
 msgstr "å„²å­˜/åˆ—å°é¸é …"
 
-#: src/lang.c:1989
+#: src/lang.c:2045
 msgid "Expert Options"
 msgstr "å°ˆå®¶é¸é …"
 
-#: src/lang.c:1995
+#: src/lang.c:2051
 msgid "Filtering Options"
 msgstr "ç¯©é¸é¸é …"
 
-#: src/lang.c:2000 src/lang.c:2031 src/lang.c:2037 src/lang.c:2064
-#: src/lang.c:2116 src/lang.c:2122 src/lang.c:2132 src/lang.c:2143
-#: src/lang.c:2161 src/lang.c:2172 src/lang.c:2241 src/lang.c:2456
-#: src/lang.c:2462 src/lang.c:2468 src/lang.c:2483 src/lang.c:2495
-#: src/lang.c:2502 src/lang.c:2556 src/lang.c:2565 src/lang.c:2571
-#: src/lang.c:2578 src/lang.c:2585 src/lang.c:2592 src/lang.c:2599
-#: src/lang.c:2606 src/lang.c:2613 src/lang.c:2620 src/lang.c:2627
+#: src/lang.c:2056 src/lang.c:2087 src/lang.c:2093 src/lang.c:2120
+#: src/lang.c:2172 src/lang.c:2178 src/lang.c:2188 src/lang.c:2199
+#: src/lang.c:2217 src/lang.c:2228 src/lang.c:2297 src/lang.c:2512
+#: src/lang.c:2518 src/lang.c:2524 src/lang.c:2539 src/lang.c:2551
+#: src/lang.c:2558 src/lang.c:2612 src/lang.c:2621 src/lang.c:2627
 #: src/lang.c:2634 src/lang.c:2641 src/lang.c:2648 src/lang.c:2655
 #: src/lang.c:2662 src/lang.c:2669 src/lang.c:2676 src/lang.c:2683
 #: src/lang.c:2690 src/lang.c:2697 src/lang.c:2704 src/lang.c:2711
 #: src/lang.c:2718 src/lang.c:2725 src/lang.c:2732 src/lang.c:2739
-#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2761 src/lang.c:2777
-#: src/lang.c:2784 src/lang.c:2791 src/lang.c:2798 src/lang.c:2804
-#: src/lang.c:2810 src/lang.c:2827 src/lang.c:2839 src/lang.c:2874
-#: src/lang.c:2927 src/lang.c:2941 src/lang.c:2947 src/lang.c:2972
-#: src/lang.c:2990 src/lang.c:3007 src/lang.c:3019 src/lang.c:3052
-#: src/lang.c:3081 src/lang.c:3101 src/lang.c:3129 src/lang.c:3139
-#: src/lang.c:3146 src/lang.c:3172 src/lang.c:3196 src/lang.c:3343
-#: src/lang.c:3358 src/lang.c:3366 src/lang.c:3380 src/lang.c:3386
-#: src/lang.c:3424
+#: src/lang.c:2746 src/lang.c:2753 src/lang.c:2760 src/lang.c:2767
+#: src/lang.c:2774 src/lang.c:2781 src/lang.c:2788 src/lang.c:2795
+#: src/lang.c:2802 src/lang.c:2809 src/lang.c:2817 src/lang.c:2833
+#: src/lang.c:2840 src/lang.c:2847 src/lang.c:2854 src/lang.c:2860
+#: src/lang.c:2866 src/lang.c:2889 src/lang.c:2901 src/lang.c:2936
+#: src/lang.c:2989 src/lang.c:3003 src/lang.c:3009 src/lang.c:3034
+#: src/lang.c:3052 src/lang.c:3069 src/lang.c:3081 src/lang.c:3114
+#: src/lang.c:3143 src/lang.c:3163 src/lang.c:3190 src/lang.c:3200
+#: src/lang.c:3207 src/lang.c:3233 src/lang.c:3257 src/lang.c:3412
+#: src/lang.c:3427 src/lang.c:3435 src/lang.c:3449 src/lang.c:3455
+#: src/lang.c:3493
 msgid "<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr "<SPACE> åˆ‡æ›ï¼Œ<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2001
+#: src/lang.c:2057
 msgid "Show mini menu & posting etiquette"
 msgstr "é¡¯ç¤ºè¿·ä½ é¸å–® & å¼µè²¼ç¦®å„€"
 
-#: src/lang.c:2002
+#: src/lang.c:2058
 msgid ""
 "# If ON show a mini menu of useful commands at each level\n"
 "# and posting etiquette after composing an article\n"
@@ -6068,15 +6213,15 @@ msgstr ""
 "# å¦‚æžœé–‹å•Ÿå°±åœ¨æ¯å€‹å±¤ç´šä¸­é¡¯ç¤ºå¸¸ç”¨å‘½ä»¤çš„è¿·ä½ é¸å–®\n"
 "# ä¸¦æ–¼æ’°å¯«æ–‡ç« ä¹‹å¾Œé¡¯ç¤ºå¼µè²¼ç¦®å„€\n"
 
-#: src/lang.c:2007
+#: src/lang.c:2063
 msgid "Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 msgstr "é¡¯ç¤ºæ¯å€‹æ–°èžç¾¤çµ„çš„ç°¡çŸ­æè¿°ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2008
+#: src/lang.c:2064
 msgid "Show description of each newsgroup"
 msgstr "é¡¯ç¤ºæ¯å€‹æ–°èžç¾¤çµ„çš„æè¿°"
 
-#: src/lang.c:2009
+#: src/lang.c:2065
 msgid ""
 "# If ON show group description text after newsgroup name at\n"
 "# group selection level\n"
@@ -6084,19 +6229,19 @@ msgstr ""
 "# å¦‚æžœé–‹å•Ÿå°±åœ¨ç¾¤çµ„é¸æ“‡å±¤ç´šä¸­æ–¼æ–°èžç¾¤çµ„åç¨±ä¹‹å¾Œ\n"
 "# é¡¯ç¤ºç¾¤çµ„æè¿°æ–‡å­—\n"
 
-#: src/lang.c:2014
+#: src/lang.c:2070
 #, fuzzy
 msgid ""
 "Show From (author) fields in group & thread level. <SPACE> toggles & <CR> "
 "sets."
 msgstr "åœ¨ç¾¤çµ„é¸å–®ä¸­é¡¯ç¤ºä¸»æ—¨ & ç™¼ä¿¡è€… (ä½œè€…) æ¬„ä½ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2015
+#: src/lang.c:2071
 #, fuzzy
 msgid "In group and thread level, show author by"
 msgstr "åœ¨ç¾¤çµ„é¸å–®ä¸­ï¼Œé¡¯ç¤ºä½œè€…"
 
-#: src/lang.c:2016
+#: src/lang.c:2072
 #, fuzzy
 msgid ""
 "# Part of From field to display in group and thread level\n"
@@ -6113,31 +6258,31 @@ msgstr ""
 "# * 2 = å…¨å\n"
 "#   3 = å…©è€…\n"
 
-#: src/lang.c:2025
+#: src/lang.c:2081
 msgid "Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 msgstr "ç¹ªè£½ -> æˆ–é«˜äº®åº¦æ¢ç”¨æ–¼é¸æ“‡ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2026
+#: src/lang.c:2082
 msgid "Draw -> instead of highlighted bar"
 msgstr "ç¹ªè£½ -> ä»¥ä»£æ›¿é«˜äº®åº¦æ¢"
 
-#: src/lang.c:2027
+#: src/lang.c:2083
 msgid "# If ON use -> otherwise highlighted bar for selection\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±ä½¿ç”¨ -> å¦å‰‡é«˜äº®åº¦æ¢ç”¨æ–¼é¸æ“‡\n"
 
-#: src/lang.c:2032
+#: src/lang.c:2088
 msgid "Use inverse video for page headers"
 msgstr "ä½¿ç”¨åç™½é¡¯ç¤ºç”¨æ–¼é é¢æ¨™é ­"
 
-#: src/lang.c:2033
+#: src/lang.c:2089
 msgid "# If ON use inverse video for page headers at different levels\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±æ–¼ä¸åŒçš„å±¤ç´šä½¿ç”¨åç™½é¡¯ç¤ºç”¨æ–¼é é¢æ¨™é ­\n"
 
-#: src/lang.c:2038
+#: src/lang.c:2094
 msgid "Thread articles by"
 msgstr "è¨Žè«–ä¸²æ–‡ç« ä¾æ“š"
 
-#: src/lang.c:2039
+#: src/lang.c:2095
 msgid ""
 "# Thread articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6157,15 +6302,15 @@ msgstr ""
 "#   4 = å¤šéƒ¨ä»¶ä¸»æ—¨\n"
 "#   5 = ç™¾åˆ†æ¯”åŒ¹é…\n"
 
-#: src/lang.c:2050
+#: src/lang.c:2106
 msgid "Enter percentage match required to thread together. <CR> sets."
 msgstr "è¼¸å…¥å°‡è¨Žè«–ä¸²èµ·æ‰€å¿…éœ€çš„ç™¾åˆ†æ¯”åŒ¹é…ã€‚<CR> è¨­å®šã€‚"
 
-#: src/lang.c:2051
+#: src/lang.c:2107
 msgid "Thread percentage match"
 msgstr "è¨Žè«–ä¸²ç™¾åˆ†æ¯”åŒ¹é…"
 
-#: src/lang.c:2053
+#: src/lang.c:2109
 #, no-c-format
 msgid ""
 "# Thread percentage match...\n"
@@ -6188,11 +6333,11 @@ msgstr ""
 "# è¨Žè«–ä¸²ä¸­ã€‚ä¾‹å¦‚ï¼šã€Žhappyã€å’Œã€Žharpyã€æœƒåŒ¹é…ï¼Œä½†æ˜¯ã€Žharpieã€ã€ã€Žhappieã€å’Œ\n"
 "#ã€Žharppyã€æœƒè·Ÿã€Žhappyã€åˆ†åœ¨ä¸åŒçš„è¨Žè«–ä¸²\n"
 
-#: src/lang.c:2065
+#: src/lang.c:2121
 msgid "Score of a thread"
 msgstr "è¨Žè«–ä¸²çš„åˆ†æ•¸"
 
-#: src/lang.c:2066
+#: src/lang.c:2122
 msgid ""
 "# Thread score\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6206,16 +6351,16 @@ msgstr ""
 "#   1 = ç¸½å’Œ\n"
 "#   2 = å¹³å‡\n"
 
-#: src/lang.c:2074
+#: src/lang.c:2130
 msgid ""
 "Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 msgstr "æŽ’åºæ–‡ç« ä¾æ“šä¸»é¡Œã€ç™¼ä¿¡è€…ã€æ—¥æœŸæˆ–åˆ†æ•¸ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2075
+#: src/lang.c:2131
 msgid "Sort articles by"
 msgstr "æŽ’åºæ–‡ç« ä¾æ“š"
 
-#: src/lang.c:2076
+#: src/lang.c:2132
 msgid ""
 "# Sort articles by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6245,15 +6390,15 @@ msgstr ""
 "#   9 = åˆ—æ•¸éžé™\n"
 "#  10 = åˆ—æ•¸éžå‡\n"
 
-#: src/lang.c:2092
+#: src/lang.c:2148
 msgid "Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 msgstr "æŽ’åºè¨Žè«–ä¸²ä¸ä¾æ“šä»»ä½•æ±è¥¿æˆ–ä¾æ“šåˆ†æ•¸ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2093
+#: src/lang.c:2149
 msgid "Sort threads by"
 msgstr "æŽ’åºè¨Žè«–ä¸²ä¾æ“š"
 
-#: src/lang.c:2094
+#: src/lang.c:2150
 msgid ""
 "# Sort thread by ...\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6271,44 +6416,44 @@ msgstr ""
 "#   3 = æœ€è¿‘ä¸€æ¬¡å¼µè²¼æ—¥æœŸéžé™\n"
 "#   4 = æœ€è¿‘ä¸€æ¬¡å¼µè²¼æ—¥æœŸéžå‡\n"
 
-#: src/lang.c:2104
+#: src/lang.c:2160
 msgid ""
 "Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 msgstr "å°‡æ¸¸æ¨™æ”¾åœ¨ç¾¤çµ„ä¸­ç¬¬ä¸€/æœ€å¾Œä¸€ç¯‡æœªè®€æ–‡ç« ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2105
+#: src/lang.c:2161
 msgid "Go to first unread article in group"
 msgstr "å‰å¾€ç¾¤çµ„ä¸­ç¬¬ä¸€ç¯‡æœªè®€çš„æ–‡ç« "
 
-#: src/lang.c:2106
+#: src/lang.c:2162
 msgid "# If ON put cursor at first unread art in group otherwise last art\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±å°‡æ¸¸æ¨™æ”¾åœ¨ç¾¤çµ„ä¸­ç¬¬ä¸€ç¯‡æœªè®€æ–‡ç« ï¼Œå¦å‰‡æ˜¯æœ€å¾Œä¸€ç¯‡æ–‡ç« \n"
 
-#: src/lang.c:2110
+#: src/lang.c:2166
 msgid "Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 msgstr "é¡¯ç¤ºæ‰€æœ‰æ–‡ç« æˆ–åªæœ‰æœªè®€æ–‡ç« ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2111
+#: src/lang.c:2167
 msgid "Show only unread articles"
 msgstr "åªé¡¯ç¤ºæœªè®€æ–‡ç« "
 
-#: src/lang.c:2112
+#: src/lang.c:2168
 msgid "# If ON show only new/unread articles otherwise show all.\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±åªé¡¯ç¤ºæ–°çš„/æœªè®€æ–‡ç« ï¼Œå¦å‰‡å…¨éƒ¨é¡¯ç¤ºã€‚\n"
 
-#: src/lang.c:2117
+#: src/lang.c:2173
 msgid "Show only groups with unread arts"
 msgstr "åªé¡¯ç¤ºæœ‰æœªè®€æ–‡ç« çš„ç¾¤çµ„"
 
-#: src/lang.c:2118
+#: src/lang.c:2174
 msgid "# If ON show only subscribed to groups that contain unread articles.\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±åªé¡¯ç¤ºåŒ…å«æœªè®€æ–‡ç« çš„è¨‚é–±ç¾¤çµ„ã€‚\n"
 
-#: src/lang.c:2123
+#: src/lang.c:2179
 msgid "Filter which articles"
 msgstr "ç¯©é¸å“ªäº›æ–‡ç« "
 
-#: src/lang.c:2124
+#: src/lang.c:2180
 msgid ""
 "# Filter which articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6322,11 +6467,11 @@ msgstr ""
 "#   1 = ç é™¤æ‰€æœ‰æ–‡ç« ä¸¦åœ¨è¨Žè«–ä¸²ä¸­é¡¯ç¤ºæ™‚ä»¥ K æ¨™è¨˜\n"
 "#   2 = ç é™¤æ‰€æœ‰æ–‡ç« ä¸¦æ°¸ä¸é¡¯ç¤ºå®ƒå€‘\n"
 
-#: src/lang.c:2133
+#: src/lang.c:2189
 msgid "Go to the next unread article with"
 msgstr "å‰å¾€ä¸‹ä¸€ç¯‡æœªè®€æ–‡ç« è—‰ç”±"
 
-#: src/lang.c:2134
+#: src/lang.c:2190
 msgid ""
 "# Go to the unread article with following key(s)\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6342,11 +6487,11 @@ msgstr ""
 "# * 2 = TAB\n"
 "#   3 = PAGE DOWN æˆ– TAB\n"
 
-#: src/lang.c:2144
+#: src/lang.c:2200
 msgid "How to treat blank lines"
 msgstr "å¦‚ä½•å°å¾…ç©ºåˆ—"
 
-#: src/lang.c:2145
+#: src/lang.c:2201
 msgid ""
 "# Trim the article body, remove unnecessary blank lines.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6376,11 +6521,11 @@ msgstr ""
 "#   7 = å£“ç¸®æ–‡å­—å€å¡Šé–“çš„å¤šé‡ç©ºåˆ—å’Œè·³éŽ\n"
 "#       å‰å°Žå’Œå°¾éš¨ç©ºåˆ—\n"
 
-#: src/lang.c:2162
+#: src/lang.c:2218
 msgid "Show help/mail sign in level titles"
 msgstr ""
 
-#: src/lang.c:2163
+#: src/lang.c:2219
 msgid ""
 "# Show help sign, new mail sign, both or nothing in level titles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6390,24 +6535,24 @@ msgid ""
 "# * 3 = Show mail sign if new mail has arrived else show help sign\n"
 msgstr ""
 
-#: src/lang.c:2173
+#: src/lang.c:2229
 msgid "List thread using right arrow key"
 msgstr "ä½¿ç”¨å‘å³éµåˆ—å‡ºè¨Žè«–ä¸²"
 
-#: src/lang.c:2174
+#: src/lang.c:2230
 msgid ""
 "# If ON automatically list thread when entering it using right arrow key.\n"
 msgstr "# å¦‚æžœé–‹å•Ÿç•¶ä½¿ç”¨å‘å³éµè¼¸å…¥å®ƒæ™‚å°±è‡ªå‹•åˆ—å‡ºè¨Žè«–ä¸²ã€‚\n"
 
-#: src/lang.c:2178
+#: src/lang.c:2234
 msgid "Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 msgstr "è¼¸å…¥å­—å…ƒä»¥æŒ‡å‡ºå·²åˆªé™¤æ–‡ç« ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2179
+#: src/lang.c:2235
 msgid "Character to show deleted articles"
 msgstr "ç”¨ä¾†é¡¯ç¤ºå·²åˆªé™¤æ–‡ç« çš„å­—å…ƒ"
 
-#: src/lang.c:2180
+#: src/lang.c:2236
 msgid ""
 "# Character used to show that an art was deleted (default 'D')\n"
 "# _ is turned into ' '\n"
@@ -6415,16 +6560,16 @@ msgstr ""
 "# ç”¨ä¾†é¡¯ç¤ºæ–‡ç« è¢«åˆªé™¤çš„å­—å…ƒ (é è¨­ã€ŽDã€)\n"
 "# _ è¢«è½‰æ›ç‚ºã€Ž ã€\n"
 
-#: src/lang.c:2185
+#: src/lang.c:2241
 msgid ""
 "Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 msgstr "è¼¸å…¥å­—å…ƒä»¥æŒ‡å‡ºåœ¨ç¯„åœä¸­çš„æ–‡ç« ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2186
+#: src/lang.c:2242
 msgid "Character to show inrange articles"
 msgstr "ç”¨ä¾†é¡¯ç¤ºç¯„åœä¸­æ–‡ç« çš„å­—å…ƒ"
 
-#: src/lang.c:2187
+#: src/lang.c:2243
 msgid ""
 "# Character used to show that an art is in a range (default '#')\n"
 "# _ is turned into ' '\n"
@@ -6432,17 +6577,17 @@ msgstr ""
 "# ç”¨ä¾†é¡¯ç¤ºæ–‡ç« åœ¨ç¯„åœä¸­çš„å­—å…ƒ (é è¨­ã€Ž#ã€)\n"
 "# _ è¢«è½‰æ›ç‚ºã€Ž ã€\n"
 
-#: src/lang.c:2192
+#: src/lang.c:2248
 msgid ""
 "Enter character to indicate that article will return. <CR> sets, <ESC> "
 "cancels."
 msgstr "è¼¸å…¥å­—å…ƒä»¥æŒ‡å‡ºè©²æ–‡ç« å°‡å›žå‚³ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2193
+#: src/lang.c:2249
 msgid "Character to show returning arts"
 msgstr "ç”¨ä¾†é¡¯ç¤ºå›žå‚³æ–‡ç« çš„å­—å…ƒ"
 
-#: src/lang.c:2194
+#: src/lang.c:2250
 msgid ""
 "# Character used to show that an art will return (default '-')\n"
 "# _ is turned into ' '\n"
@@ -6450,16 +6595,16 @@ msgstr ""
 "# ç”¨ä¾†é¡¯ç¤ºè©²æ–‡ç« å°‡å›žå‚³çš„å­—å…ƒ (é è¨­ã€Ž-ã€)\n"
 "# _ è¢«è½‰æ›ç‚ºã€Ž ã€\n"
 
-#: src/lang.c:2199
+#: src/lang.c:2255
 msgid ""
 "Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 msgstr "è¼¸å…¥å­—å…ƒä»¥æŒ‡å‡ºå·²é¸æ–‡ç« ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2200
+#: src/lang.c:2256
 msgid "Character to show selected articles"
 msgstr "ç”¨ä¾†é¡¯ç¤ºå·²é¸æ–‡ç« çš„å­—å…ƒ"
 
-#: src/lang.c:2201
+#: src/lang.c:2257
 msgid ""
 "# Character used to show that an art was auto-selected (default '*')\n"
 "# _ is turned into ' '\n"
@@ -6467,15 +6612,15 @@ msgstr ""
 "# ç”¨ä¾†é¡¯ç¤ºè©²æ–‡ç« å·²è¢«è‡ªå‹•é¸å–çš„å­—å…ƒ (é è¨­ã€Ž*ã€)\n"
 "# _ è¢«è½‰æ›ç‚ºã€Ž ã€\n"
 
-#: src/lang.c:2206
+#: src/lang.c:2262
 msgid "Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 msgstr "è¼¸å…¥å­—å…ƒä»¥æŒ‡å‡ºæœ€è¿‘æ–‡ç« ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2207
+#: src/lang.c:2263
 msgid "Character to show recent articles"
 msgstr "ç”¨ä¾†é¡¯ç¤ºæœ€è¿‘æ–‡ç« çš„å­—å…ƒ"
 
-#: src/lang.c:2208
+#: src/lang.c:2264
 msgid ""
 "# Character used to show that an art is recent (default 'o')\n"
 "# _ is turned into ' '\n"
@@ -6483,15 +6628,15 @@ msgstr ""
 "# ç”¨ä¾†é¡¯ç¤ºæ˜¯æœ€è¿‘æ–‡ç« çš„å­—å…ƒ (é è¨­ã€Žoã€)\n"
 "# _ è¢«è½‰æ›ç‚ºã€Ž ã€\n"
 
-#: src/lang.c:2213
+#: src/lang.c:2269
 msgid "Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 msgstr "è¼¸å…¥å­—å…ƒä»¥æŒ‡å‡ºæœªè®€æ–‡ç« ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2214
+#: src/lang.c:2270
 msgid "Character to show unread articles"
 msgstr "ç”¨ä¾†é¡¯ç¤ºæœªè®€æ–‡ç« çš„å­—å…ƒ"
 
-#: src/lang.c:2215
+#: src/lang.c:2271
 msgid ""
 "# Character used to show that an art is unread (default '+')\n"
 "# _ is turned into ' '\n"
@@ -6499,15 +6644,15 @@ msgstr ""
 "# ç”¨ä¾†é¡¯ç¤ºè©²æ–‡ç« æœªè®€çš„å­—å…ƒ (é è¨­ã€Ž+ã€)\n"
 "# _ è¢«è½‰æ›ç‚ºã€Ž ã€\n"
 
-#: src/lang.c:2220
+#: src/lang.c:2276
 msgid "Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 msgstr "è¼¸å…¥å­—å…ƒä»¥æŒ‡å‡ºå·²è®€æ–‡ç« ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2221
+#: src/lang.c:2277
 msgid "Character to show read articles"
 msgstr "ç”¨ä¾†é¡¯ç¤ºå·²è®€æ–‡ç« çš„å­—å…ƒ"
 
-#: src/lang.c:2222
+#: src/lang.c:2278
 msgid ""
 "# Character used to show that an art was read (default ' ')\n"
 "# _ is turned into ' '\n"
@@ -6515,15 +6660,15 @@ msgstr ""
 "# ç”¨ä¾†é¡¯ç¤ºè©²æ–‡ç« å·²è®€å–å­—å…ƒ (é è¨­ã€Ž ã€)\n"
 "# _ è¢«è½‰æ›ç‚ºã€Ž ã€\n"
 
-#: src/lang.c:2227
+#: src/lang.c:2283
 msgid "Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 msgstr "è¼¸å…¥å­—å…ƒä»¥æŒ‡å‡ºè¢«ç é™¤æ–‡ç« ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2228
+#: src/lang.c:2284
 msgid "Character to show killed articles"
 msgstr "ç”¨ä¾†é¡¯ç¤ºè¢«ç é™¤æ–‡ç« çš„å­—å…ƒ"
 
-#: src/lang.c:2229
+#: src/lang.c:2285
 msgid ""
 "# Character used to show that an art was killed (default 'K')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
@@ -6531,16 +6676,16 @@ msgstr ""
 "# ç”¨ä¾†é¡¯ç¤ºè©²æ–‡ç« è¢«ç é™¤çš„å­—å…ƒ (é è¨­ã€ŽKã€)\n"
 "# kill_level å¿…é ˆæ ¹æ“šä¸åŒæƒ…æ³è€Œè¨­å®šï¼Œ_ è¢«è½‰æ›ç‚ºã€Ž ã€\n"
 
-#: src/lang.c:2234
+#: src/lang.c:2290
 msgid ""
 "Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 msgstr "è¼¸å…¥å­—å…ƒä»¥æŒ‡å‡ºè®€å–æ‰€é¸æ–‡ç« ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2235
+#: src/lang.c:2291
 msgid "Character to show readselected arts"
 msgstr "ç”¨ä¾†é¡¯ç¤ºè®€å–æ‰€é¸æ–‡ç« çš„å­—å…ƒ"
 
-#: src/lang.c:2236
+#: src/lang.c:2292
 msgid ""
 "# Character used to show that an art was selected before read (default ':')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
@@ -6548,11 +6693,11 @@ msgstr ""
 "# ç”¨ä¾†é¡¯ç¤ºè©²æ–‡ç« è®€å–ä¹‹å‰å·²è¢«é¸çš„å­—å…ƒ (é è¨­ã€Ž:ã€)\n"
 "# kill_level å¿…é ˆæ ¹æ“šä¸åŒæƒ…æ³è€Œè¨­å®šï¼Œ_ è¢«è½‰æ›ç‚ºã€Ž ã€\n"
 
-#: src/lang.c:2242
+#: src/lang.c:2298
 msgid "Abbreviate long newsgroup names"
 msgstr "å°‡è¼ƒé•·æ–°èžç¾¤çµ„åç¨±ç¸®å¯«"
 
-#: src/lang.c:2243
+#: src/lang.c:2299
 msgid ""
 "# If ON abbreviate (if necessary) long newsgroup names at group selection\n"
 "# level and article level like this:\n"
@@ -6562,17 +6707,17 @@ msgstr ""
 "# å±¤ç´šå’Œæ–‡ç« å±¤ç´šæœƒå¦‚ä¸‹æ‰€ç¤ºï¼š\n"
 "#   news.software.readers -> n.software.readers -> n.s.readers -> n.s.rã€‚\n"
 
-#: src/lang.c:2249
+#: src/lang.c:2305
 msgid ""
 "0 = full page scrolling, -1 = show previous last line as first on next page, "
 "-2 = half page"
 msgstr "0 = æ•´é æ²å‹•ï¼Œ-1 = é¡¯ç¤ºä¸Šé æœ€å¾Œä¸€åˆ—ç‚ºä¸‹é ç¬¬ä¸€åˆ—ï¼Œ-2 = åŠé æ²å‹•"
 
-#: src/lang.c:2250
+#: src/lang.c:2306
 msgid "Number of lines to scroll in pager"
 msgstr "é é¢åˆ‡æ›æ™‚æ²å‹•çš„åˆ—æ•¸"
 
-#: src/lang.c:2251
+#: src/lang.c:2307
 msgid ""
 "# Number of lines that cursor-up/down will scroll in article pager\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6590,58 +6735,58 @@ msgstr ""
 "# * 1 = æ²å‹•ä¸€åˆ—\n"
 "#   2 æˆ–æ›´å¤§ = æ²å‹• 2 æˆ–æ›´å¤šåˆ— (åªæœ‰åœ¨é é¢åˆ‡æ›æ™‚)\n"
 
-#: src/lang.c:2261
+#: src/lang.c:2317
 msgid "Display signatures. <SPACE> toggles & <CR> sets."
 msgstr "é¡¯ç¤ºç°½åã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2262
+#: src/lang.c:2318
 msgid "Display signatures"
 msgstr "é¡¯ç¤ºç°½å"
 
-#: src/lang.c:2263
+#: src/lang.c:2319
 msgid "# If OFF don't show signatures when displaying articles\n"
 msgstr "# å¦‚æžœé—œé–‰æ–¼é¡¯ç¤ºæ–‡ç« æ™‚å°±ä¸é¡¯ç¤ºç°½å\n"
 
-#: src/lang.c:2267
+#: src/lang.c:2323
 #, fuzzy
 msgid "Display article score. <SPACE> toggles & <CR> sets."
 msgstr "é¡¯ç¤ºç°½åã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2268
+#: src/lang.c:2324
 #, fuzzy
-msgid "Display article score"
+msgid "Display article score in pager"
 msgstr "é¡¯ç¤ºä¸‹ä¸€ç¯‡æ–‡ç« "
 
-#: src/lang.c:2269
+#: src/lang.c:2325
 #, fuzzy
 msgid "# If ON show article score when displaying articles\n"
 msgstr "# å¦‚æžœé—œé–‰æ–¼é¡¯ç¤ºæ–‡ç« æ™‚å°±ä¸é¡¯ç¤ºç°½å\n"
 
-#: src/lang.c:2274
+#: src/lang.c:2330
 #, fuzzy
 msgid "Remove soft hyphens. <SPACE> toggles & <CR> sets."
 msgstr "é¡¯ç¤ºç°½åã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2275
+#: src/lang.c:2331
 #, fuzzy
 msgid "Remove soft hyphens"
 msgstr "ç§»å‹•ç¯„åœ"
 
-#: src/lang.c:2276
+#: src/lang.c:2332
 #, fuzzy
 msgid "# If ON remove soft hyphens when displaying articles\n"
 msgstr "# å¦‚æžœé—œé–‰æ–¼é¡¯ç¤ºæ–‡ç« æ™‚å°±ä¸é¡¯ç¤ºç°½å\n"
 
-#: src/lang.c:2281
+#: src/lang.c:2337
 msgid ""
 "Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 msgstr "å°‡ uuencoded è³‡æ–™é¡¯ç¤ºç‚ºå·²æ¨™å®šé™„ä»¶ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2282
+#: src/lang.c:2338
 msgid "Display uue data as an attachment"
 msgstr "å°‡ uue è³‡æ–™åšç‚ºé™„ä»¶é¡¯ç¤º"
 
-#: src/lang.c:2283
+#: src/lang.c:2339
 #, fuzzy
 msgid ""
 "# Handling of uuencoded data in the pager\n"
@@ -6661,16 +6806,16 @@ msgstr ""
 "#   2 = éš±è—æ‰€æœ‰ï¼Œé¡žä¼¼ 1ï¼Œä½†æ˜¯ä»»ä½•çœ‹ä¾†åƒæ˜¯ uuencoded è³‡æ–™çš„åˆ—ï¼Œéƒ½å°‡\n"
 "#       è¢«æŠ˜ç–Šç‚ºä¸€æ¨™å®šåˆ—ã€‚\n"
 
-#: src/lang.c:2293
+#: src/lang.c:2349
 msgid ""
 "Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 msgstr "è§£ç¢¼å¾·èªžæ¨£å¼ TeX è®ŠéŸ³ç·¨ç¢¼ç‚º ISOã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2294
+#: src/lang.c:2350
 msgid "Display \"a as Umlaut-a"
 msgstr "é¡¯ç¤º \"a ç‚ºè®ŠéŸ³ a"
 
-#: src/lang.c:2295
+#: src/lang.c:2351
 msgid ""
 "# If ON decode German style TeX umlaut codes to ISO and\n"
 "# show \"a as Umlaut-a, etc.\n"
@@ -6678,15 +6823,15 @@ msgstr ""
 "# å¦‚æžœé–‹å•Ÿå°±è§£ç¢¼å¾·èªžæ¨£å¼ TeX è®ŠéŸ³ç·¨ç¢¼ç‚º ISO ä¸¦\n"
 "# é¡¯ç¤º \"a ç‚ºè®ŠéŸ³ a ...ç­‰ç­‰\n"
 
-#: src/lang.c:2300 src/lang.c:2310
+#: src/lang.c:2356 src/lang.c:2366
 msgid "Space separated list of header fields"
 msgstr "ä»¥ç©ºæ ¼åˆ†éš”çš„æ¨™é ­æ¬„ä½æ¸…å–®"
 
-#: src/lang.c:2301
+#: src/lang.c:2357
 msgid "Display these header fields (or *)"
 msgstr "é¡¯ç¤ºé€™äº›æ¨™é ­æ¬„ä½ (æˆ– *)"
 
-#: src/lang.c:2302
+#: src/lang.c:2358
 msgid ""
 "# Which news headers you wish to see. If you want to see _all_ the headers,\n"
 "# place an '*' as this value. This is the only way a wildcard can be used.\n"
@@ -6701,11 +6846,11 @@ msgstr ""
 "#ã€ŽX-ã€(åƒæ˜¯ X-Alan æˆ– X-Pape)ã€‚æ‚¨å¯ä»¥è—‰ç”±ä»¥ç©ºæ ¼åˆ†éš”è€Œåˆ—å‡º\n"
 "# è¶…éŽä¸€å€‹ã€‚æ²’æœ‰å®šç¾©ä»»ä½•å€¼å°‡æœƒé—œé–‰é€™å€‹é¸é …ã€‚\n"
 
-#: src/lang.c:2311
+#: src/lang.c:2367
 msgid "Do not display these header fields"
 msgstr "ä¸é¡¯ç¤ºé€™äº›æ¨™é ­æ¬„ä½"
 
-#: src/lang.c:2312
+#: src/lang.c:2368
 msgid ""
 "# Same as 'news_headers_to_display' except it denotes the opposite.\n"
 "# An example of using both options might be if you thought X- headers were\n"
@@ -6724,40 +6869,40 @@ msgstr ""
 "# news_headers_to_not_display=X-Alan X-Pape\n"
 "# æ²’æœ‰å®šç¾©ä»»ä½•å€¼å°±è¡¨ç¤ºé—œé–‰é€™å€‹é¸é …ã€‚\n"
 
-#: src/lang.c:2322
+#: src/lang.c:2378
 msgid ""
 "Do you want to enable automatic handling of multipart/alternative articles?"
 msgstr "æ‚¨è¦å•Ÿç”¨å¤šéƒ¨ä»¶/æ›¿ä»£æ–‡ç« çš„è‡ªå‹•è™•ç†å—Žï¼Ÿ"
 
-#: src/lang.c:2323
+#: src/lang.c:2379
 msgid "Skip multipart/alternative parts"
 msgstr "è·³éŽå¤šéƒ¨ä»¶/æ›¿ä»£éƒ¨åˆ†"
 
-#: src/lang.c:2324
+#: src/lang.c:2380
 msgid "# If ON strip multipart/alternative messages automatically\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±è‡ªå‹•æˆªé™¤å¤šéƒ¨ä»¶/æ›¿ä»£è¨Šæ¯\n"
 
-#: src/lang.c:2328
+#: src/lang.c:2384
 msgid "Enable detection of verbatim blocks? <SPACE> toggles & <CR> sets."
 msgstr "å•Ÿç”¨å­—é¢å€å¡Šçš„åµæ¸¬ï¼Ÿ<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2329
+#: src/lang.c:2385
 msgid "Detection of verbatim blocks"
 msgstr "å­—é¢å€å¡Šçš„åµæ¸¬"
 
-#: src/lang.c:2330
+#: src/lang.c:2386
 msgid "# If ON detect verbatim blocks in articles\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±åœ¨æ–‡ç« ä¸­åµæ¸¬å­—é¢å€å¡Š\n"
 
-#: src/lang.c:2335
+#: src/lang.c:2391
 msgid "A regex used to decide which lines to show in col_quote."
 msgstr "ç”¨ä¾†æ±ºå®šåœ¨ col_quote ä¸­è¦é¡¯ç¤ºå“ªäº›åˆ—çš„ regexã€‚"
 
-#: src/lang.c:2336
+#: src/lang.c:2392
 msgid "Regex used to show quoted lines"
 msgstr "ç”¨ä¾†é¡¯ç¤ºå¼•è¨€åˆ—çš„ regex"
 
-#: src/lang.c:2337
+#: src/lang.c:2393
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
@@ -6767,15 +6912,15 @@ msgstr ""
 "# æ­£è¦è¡¨ç¤ºå¼ã€‚å¼•è¨€åˆ—å°‡ä»¥ col_quote é¡¯ç¤ºã€‚\n"
 "# å¦‚æžœæ‚¨ä¿ç•™å®ƒç‚ºç©ºç™½ï¼Œtin å°‡ä½¿ç”¨å…§å»ºçš„é è¨­å€¼ã€‚\n"
 
-#: src/lang.c:2343
+#: src/lang.c:2399
 msgid "A regex used to decide which lines to show in col_quote2."
 msgstr "ç”¨ä¾†æ±ºå®šè¦ä»¥ col_quote2 é¡¯ç¤ºå“ªäº›åˆ—çš„ regexã€‚"
 
-#: src/lang.c:2344
+#: src/lang.c:2400
 msgid "Regex used to show twice quoted l."
 msgstr "ç”¨ä¾†é¡¯ç¤ºç¬¬äºŒå±¤å¼•è¨€åˆ—çš„ regexã€‚"
 
-#: src/lang.c:2345
+#: src/lang.c:2401
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted twice. Twice quoted lines are shown in col_quote2.\n"
@@ -6785,15 +6930,15 @@ msgstr ""
 "# æ­£è¦è¡¨ç¤ºå¼ã€‚ç¬¬äºŒå±¤å¼•è¨€åˆ—å°‡ä»¥ col_quote2 é¡¯ç¤ºã€‚\n"
 "# å¦‚æžœæ‚¨ä¿ç•™å®ƒç‚ºç©ºç™½ï¼Œtin å°‡ä½¿ç”¨å…§å»ºçš„é è¨­å€¼ã€‚\n"
 
-#: src/lang.c:2351
+#: src/lang.c:2407
 msgid "A regex used to decide which lines to show in col_quote3."
 msgstr "ç”¨ä¾†æ±ºå®šè¦ä»¥ col_quote3 é¡¯ç¤ºå“ªäº›åˆ—çš„ regexã€‚"
 
-#: src/lang.c:2352
+#: src/lang.c:2408
 msgid "Regex used to show >= 3 times q.l."
 msgstr "ç”¨ä¾†é¡¯ç¤º >= 3 å±¤å¼•è¨€åˆ—çš„ regexã€‚"
 
-#: src/lang.c:2353
+#: src/lang.c:2409
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
@@ -6803,32 +6948,32 @@ msgstr ""
 "# æ­£è¦è¡¨ç¤ºå¼ã€‚>= 3 å±¤å¼•è¨€åˆ—å°‡ä»¥ col_quote3 é¡¯ç¤ºã€‚\n"
 "# å¦‚æžœæ‚¨ä¿ç•™å®ƒç‚ºç©ºç™½ï¼Œtin å°‡ä½¿ç”¨å…§å»ºçš„é è¨­å€¼ã€‚\n"
 
-#: src/lang.c:2359
+#: src/lang.c:2415
 #, fuzzy
 msgid "Enable detection of external quotes? <SPACE> toggles & <CR> sets."
 msgstr "å•Ÿç”¨å­—é¢å€å¡Šçš„åµæ¸¬ï¼Ÿ<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2360
+#: src/lang.c:2416
 #, fuzzy
 msgid "Detection of external quotes"
 msgstr "å­—é¢å€å¡Šçš„åµæ¸¬"
 
-#: src/lang.c:2361
+#: src/lang.c:2417
 #, fuzzy
 msgid "# If ON detect quoted text from external sources in articles\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±åœ¨æ–‡ç« ä¸­åµæ¸¬å­—é¢å€å¡Š\n"
 
-#: src/lang.c:2365
+#: src/lang.c:2421
 #, fuzzy
 msgid "A regex used to decide which lines to show in col_extquote."
 msgstr "ç”¨ä¾†æ±ºå®šåœ¨ col_quote ä¸­è¦é¡¯ç¤ºå“ªäº›åˆ—çš„ regexã€‚"
 
-#: src/lang.c:2366
+#: src/lang.c:2422
 #, fuzzy
 msgid "Regex used to show quotes from external sources"
 msgstr "ç”¨ä¾†é¡¯ç¤ºå¼•è¨€åˆ—çš„ regex"
 
-#: src/lang.c:2367
+#: src/lang.c:2423
 #, fuzzy
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
@@ -6839,15 +6984,15 @@ msgstr ""
 "# æ­£è¦è¡¨ç¤ºå¼ã€‚ç¬¬äºŒå±¤å¼•è¨€åˆ—å°‡ä»¥ col_quote2 é¡¯ç¤ºã€‚\n"
 "# å¦‚æžœæ‚¨ä¿ç•™å®ƒç‚ºç©ºç™½ï¼Œtin å°‡ä½¿ç”¨å…§å»ºçš„é è¨­å€¼ã€‚\n"
 
-#: src/lang.c:2374
+#: src/lang.c:2430
 msgid "A regex used to decide which words to show in col_markslashes."
 msgstr "ç”¨ä¾†æ±ºå®šè¦ä»¥ col_markslashes é¡¯ç¤ºå“ªäº›å­—è©žçš„ regexã€‚"
 
-#: src/lang.c:2375
+#: src/lang.c:2431
 msgid "Regex used to highlight /slashes/"
 msgstr "ç”¨ä¾†é«˜äº®åº¦æ¨™ç¤º /æ–œç·š/ çš„ regex"
 
-#: src/lang.c:2376
+#: src/lang.c:2432
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '/' are to be shown in col_markslashes.\n"
@@ -6857,15 +7002,15 @@ msgstr ""
 "# å°‡ä»¥ col_markslashes é¡¯ç¤ºçš„æ­£è¦è¡¨ç¤ºå¼ã€‚\n"
 "# å¦‚æžœæ‚¨ä¿ç•™å®ƒç‚ºç©ºç™½ï¼Œtin å°‡ä½¿ç”¨å…§å»ºçš„é è¨­å€¼ã€‚\n"
 
-#: src/lang.c:2382
+#: src/lang.c:2438
 msgid "A regex used to decide which words to show in col_markstars."
 msgstr "ç”¨ä¾†æ±ºå®šè¦ä»¥ col_markstars é¡¯ç¤ºå“ªäº›å­—è©žçš„ regexã€‚"
 
-#: src/lang.c:2383
+#: src/lang.c:2439
 msgid "Regex used to highlight *stars*"
 msgstr "ç”¨ä¾†é«˜äº®åº¦é¡¯ç¤º *æ˜Ÿè™Ÿ* çš„ regex"
 
-#: src/lang.c:2384
+#: src/lang.c:2440
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '*' are to be shown in col_markstars.\n"
@@ -6875,15 +7020,15 @@ msgstr ""
 "# å°‡ä»¥ col_markstars é¡¯ç¤ºçš„æ­£è¦è¡¨ç¤ºå¼ã€‚\n"
 "# å¦‚æžœæ‚¨ä¿ç•™å®ƒç‚ºç©ºç™½ï¼Œtin å°‡ä½¿ç”¨å…§å»ºçš„é è¨­å€¼ã€‚\n"
 
-#: src/lang.c:2390
+#: src/lang.c:2446
 msgid "A regex used to decide which words to show in col_markstroke."
 msgstr "ç”¨ä¾†æ±ºå®šè¦ä»¥ col_markstroke é¡¯ç¤ºå“ªäº›å­—è©žçš„ regexã€‚"
 
-#: src/lang.c:2391
+#: src/lang.c:2447
 msgid "Regex used to highlight -strokes-"
 msgstr "ç”¨ä¾†é«˜äº®åº¦é¡¯ç¤º -æ©«ç·š- çš„ regex"
 
-#: src/lang.c:2392
+#: src/lang.c:2448
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '-' are to be shown in col_markstroke.\n"
@@ -6893,15 +7038,15 @@ msgstr ""
 "# å°‡ä»¥ col_markstroke é¡¯ç¤ºçš„æ­£è¦è¡¨ç¤ºå¼ã€‚\n"
 "# å¦‚æžœæ‚¨ä¿ç•™å®ƒç‚ºç©ºç™½ï¼Œtin å°‡ä½¿ç”¨å…§å»ºçš„é è¨­å€¼ã€‚\n"
 
-#: src/lang.c:2398
+#: src/lang.c:2454
 msgid "A regex used to decide which words to show in col_markdash."
 msgstr "ç”¨ä¾†æ±ºå®šè¦ä»¥ col_markdash é¡¯ç¤ºå“ªäº›å­—è©žçš„ regexã€‚"
 
-#: src/lang.c:2399
+#: src/lang.c:2455
 msgid "Regex used to highlight _underline_"
 msgstr "ç”¨ä¾†é«˜äº®åº¦é¡¯ç¤º _åº•ç·š_ çš„ regex"
 
-#: src/lang.c:2400
+#: src/lang.c:2456
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '_' are to be shown in col_markdash.\n"
@@ -6911,15 +7056,15 @@ msgstr ""
 "# å°‡ä»¥ col_markdash é¡¯ç¤ºçš„æ­£è¦è¡¨ç¤ºå¼ã€‚\n"
 "# å¦‚æžœæ‚¨ä¿ç•™å®ƒç‚ºç©ºç™½ï¼Œtin å°‡ä½¿ç”¨å…§å»ºçš„é è¨­å€¼ã€‚\n"
 
-#: src/lang.c:2406
+#: src/lang.c:2462
 msgid "A regex used to find Subject prefixes to remove.  Use '|' as separator."
 msgstr "ç”¨ä¾†å°‹æ‰¾è¦ç§»é™¤çš„ä¸»æ—¨å‰ç¶´çš„ regexã€‚ ä½¿ç”¨ã€Ž|ã€åšç‚ºåˆ†éš”ç¬¦è™Ÿã€‚"
 
-#: src/lang.c:2407
+#: src/lang.c:2463
 msgid "Regex with Subject prefixes"
 msgstr "ä¸»æ—¨å‰ç¶´çš„ regex"
 
-#: src/lang.c:2408
+#: src/lang.c:2464
 msgid ""
 "# A regular expression that tin will use to find Subject prefixes\n"
 "# which will be removed before showing the header.\n"
@@ -6927,15 +7072,15 @@ msgstr ""
 "# tin å°‡ç”¨ä¾†å°‹æ‰¾ä¸»æ—¨å‰ç¶´çš„æ­£è¦è¡¨ç¤ºå¼\n"
 "# æ–¼é¡¯ç¤ºæ¨™é ­ä¹‹å‰å°‡è¢«ç§»é™¤ã€‚\n"
 
-#: src/lang.c:2413
+#: src/lang.c:2469
 msgid "A regex used to find Subject suffixes to remove.  Use '|' as separator."
 msgstr "ç”¨ä¾†å°‹æ‰¾è¦ç§»é™¤çš„ä¸»æ—¨å­—å°¾çš„ regexã€‚ ä½¿ç”¨ã€Ž|ã€åšç‚ºåˆ†éš”ç¬¦è™Ÿã€‚"
 
-#: src/lang.c:2414
+#: src/lang.c:2470
 msgid "Regex with Subject suffixes"
 msgstr "ä¸»æ—¨å­—å°¾çš„ regex"
 
-#: src/lang.c:2415
+#: src/lang.c:2471
 msgid ""
 "# A regular expression that tin will use to find Subject suffixes\n"
 "# which will be removed when replying or posting followup.\n"
@@ -6943,45 +7088,45 @@ msgstr ""
 "# tin å°‡ç”¨ä¾†å°‹æ‰¾ä¸»æ—¨å­—å°¾çš„æ­£è¦è¡¨ç¤ºå¼\n"
 "# æ–¼å›žè¦†æˆ–è·Ÿè²¼æ™‚å°‡è¢«ç§»é™¤ã€‚\n"
 
-#: src/lang.c:2420
+#: src/lang.c:2476
 msgid "A regex used to find the begin of a verbatim block."
 msgstr "ç”¨ä¾†æ‰¾å°‹å­—é¢å€å¡Šé–‹å§‹çš„ regexã€‚"
 
-#: src/lang.c:2421
+#: src/lang.c:2477
 msgid "Regex for begin of a verbatim block"
 msgstr "ç”¨æ–¼å­—é¢å€å¡Šé–‹å§‹çš„ regex"
 
-#: src/lang.c:2422
+#: src/lang.c:2478
 msgid ""
 "# A regular expression that tin will use to find the begin of\n"
 "# a verbatim block.\n"
 msgstr "# tin å°‡ç”¨ä¾†æ‰¾å°‹å­—é¢å€å¡Šé–‹å§‹çš„æ­£è¦è¡¨ç¤ºå¼ã€‚\n"
 
-#: src/lang.c:2427
+#: src/lang.c:2483
 msgid "A regex used to find the end of a verbatim block."
 msgstr "ç”¨ä¾†æ‰¾å°‹å­—é¢å€å¡ŠçµæŸçš„ regexã€‚"
 
-#: src/lang.c:2428
+#: src/lang.c:2484
 msgid "Regex for end of a verbatim block"
 msgstr "ç”¨æ–¼å­—é¢å€å¡ŠçµæŸçš„ regex"
 
-#: src/lang.c:2429
+#: src/lang.c:2485
 msgid ""
 "# A regular expression that tin will use to find the end of\n"
 "# a verbatim block.\n"
 msgstr "# tin å°‡ç”¨ä¾†æ‰¾å°‹å­—é¢å€å¡ŠçµæŸçš„æ­£è¦è¡¨ç¤ºå¼ã€‚\n"
 
-#: src/lang.c:2434
+#: src/lang.c:2490
 msgid ""
 "Enter name and options for external MIME viewer, --internal for built-in "
 "viewer"
 msgstr "è¼¸å…¥å¤–éƒ¨ MIME æª¢è¦–å™¨çš„åç¨±å’Œé¸é …ï¼Œ--internal è¡¨ç¤ºå…§å»ºæª¢è¦–å™¨"
 
-#: src/lang.c:2435
+#: src/lang.c:2491
 msgid "MIME binary content viewer"
 msgstr "MIME äºŒé€²ä½å…§å®¹æª¢è¦–å™¨"
 
-#: src/lang.c:2436
+#: src/lang.c:2492
 #, fuzzy
 msgid ""
 "# If --internal automatically use the built in MIME viewer for non-text\n"
@@ -6995,15 +7140,15 @@ msgstr ""
 "# å¦å‰‡è«‹æŒ‡å®šå¤–éƒ¨æª¢è¦–å™¨ç¨‹å¼ (ä¾‹ï¼šmetamail) æˆ–ä¿æŒç©ºç™½ä»¥\n"
 "# è¡¨ç¤ºä¸è¦è‡ªå‹•æª¢è¦–\n"
 
-#: src/lang.c:2443
+#: src/lang.c:2499
 msgid "Confirm before starting non-text viewing program"
 msgstr "å•Ÿå‹•éžç´”æ–‡å­—æª¢è¦–ç¨‹å¼ä¹‹å‰å…ˆç¢ºèª"
 
-#: src/lang.c:2444
+#: src/lang.c:2500
 msgid "Ask before using MIME viewer"
 msgstr "ä½¿ç”¨ MIME æª¢è¦–å™¨ä¹‹å‰å…ˆè©¢å•"
 
-#: src/lang.c:2445
+#: src/lang.c:2501
 msgid ""
 "# If ON tin will ask before using metamail to display MIME messages\n"
 "# this only happens if metamail_prog is set to something\n"
@@ -7011,35 +7156,35 @@ msgstr ""
 "# å¦‚æžœé–‹å•Ÿï¼Œtin å°‡æ–¼ä½¿ç”¨ metamail é¡¯ç¤º MIME è¨Šæ¯ä¹‹å‰å…ˆè©¢å•\n"
 "# åªæœ‰ç•¶ metamail_prog å·²è¨­å®šç‚ºæŸå€‹å€¼æ™‚ï¼Œé€™æ‰æœƒç™¼ç”Ÿ\n"
 
-#: src/lang.c:2450
+#: src/lang.c:2506
 msgid "Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 msgstr "é›¢é–‹æ™‚è©¢å•æ˜¯å¦å°‡ç¾¤çµ„æ¨™è¨˜ç‚ºå·²è®€ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2451
+#: src/lang.c:2507
 msgid "Catchup read groups when quitting"
 msgstr "é›¢é–‹æ™‚å°‡å·²è®€ç¾¤çµ„è¨­å›žæœªè®€"
 
-#: src/lang.c:2452
+#: src/lang.c:2508
 msgid "# If ON ask user if read groups should all be marked read\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±è©¢å•ä½¿ç”¨è€…æ˜¯å¦æ‰€æœ‰å·²è®€ç¾¤çµ„æ‡‰è©²éƒ½è¢«æ¨™è¨˜ç‚ºå·²è®€\n"
 
-#: src/lang.c:2457
+#: src/lang.c:2513
 msgid "Catchup group using left key"
 msgstr "ä½¿ç”¨å‘å·¦éµå°‡ç¾¤çµ„è¨­å›žæœªè®€"
 
-#: src/lang.c:2458
+#: src/lang.c:2514
 msgid "# If ON catchup group/thread when leaving with the left arrow key.\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå‰‡ç•¶ä»¥å‘å·¦éµé›¢é–‹æ™‚ï¼Œå°‡ç¾¤çµ„/è¨Žè«–ä¸²è¨­å›žæœªè®€ã€‚\n"
 
-#: src/lang.c:2463
+#: src/lang.c:2519
 msgid "Catchup thread by using left key"
 msgstr "ä½¿ç”¨å‘å·¦éµå°‡è¨Žè«–ä¸²è¨­å›žæœªè®€"
 
-#: src/lang.c:2469
+#: src/lang.c:2525
 msgid "Which actions require confirmation"
 msgstr "å“ªäº›å‹•ä½œéœ€è¦ç¢ºèª"
 
-#: src/lang.c:2470
+#: src/lang.c:2526
 #, fuzzy
 msgid ""
 "# What should we ask confirmation for.\n"
@@ -7062,52 +7207,52 @@ msgstr ""
 "#   4 = å¤šéƒ¨ä»¶ä¸»æ—¨\n"
 "#   5 = ç™¾åˆ†æ¯”åŒ¹é…\n"
 
-#: src/lang.c:2484
+#: src/lang.c:2540
 msgid "'Mark as (un)read' ignores tags"
 msgstr "ã€Žæ¨™è¨˜ç‚º(æœª)å·²è®€ã€å¿½ç•¥æ¨™å®š"
 
-#: src/lang.c:2485
+#: src/lang.c:2541
 msgid ""
 "# If ON the 'Mark as (un)read' function marks only the current article.\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå‰‡ã€Žæ¨™è¨˜ç‚º(æœª)å·²è®€ã€åŠŸèƒ½åªæœƒæ¨™è¨˜ç›®å‰çš„æ–‡ç« ã€‚\n"
 
-#: src/lang.c:2489
+#: src/lang.c:2545
 msgid "Program to run to open URLs, <CR> sets, <ESC> cancels."
 msgstr "åŸ·è¡Œä»¥é–‹å•Ÿç¶²å€çš„ç¨‹å¼ï¼Œ<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2490
+#: src/lang.c:2546
 msgid "Program that opens URLs"
 msgstr "é–‹å•Ÿç¶²å€çš„ç¨‹å¼"
 
-#: src/lang.c:2491
+#: src/lang.c:2547
 msgid "# The program used to open URLs. The actual URL will be appended\n"
 msgstr "# ç”¨ä¾†é–‹å•Ÿç¶²å€çš„ç¨‹å¼ã€‚å°‡æœƒé™„åŠ å¯¦éš›çš„ç¶²å€\n"
 
-#: src/lang.c:2496
+#: src/lang.c:2552
 msgid "Use mouse in xterm"
 msgstr "åœ¨ xterm ä¸­ä½¿ç”¨æ»‘é¼ "
 
-#: src/lang.c:2497
+#: src/lang.c:2553
 msgid "# If ON enable mouse button support on xterm terminals\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±å•Ÿç”¨ xterm çµ‚ç«¯æ©Ÿå°æ–¼æ»‘é¼ æŒ‰éˆ•çš„æ”¯æ´\n"
 
-#: src/lang.c:2503
+#: src/lang.c:2559
 msgid "Use scroll keys on keypad"
 msgstr "ä½¿ç”¨æ•¸å­—éµç›¤ä¸Šçš„æ²å‹•éµ"
 
-#: src/lang.c:2504
+#: src/lang.c:2560
 msgid "# If ON enable scroll keys on terminals that support it\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±åœ¨æœ‰æ”¯æ´æ²å‹•éµçš„çµ‚ç«¯æ©Ÿä¸Šå•Ÿç”¨å®ƒ\n"
 
-#: src/lang.c:2509
+#: src/lang.c:2565
 msgid "Enter maximum number of article to get. <CR> sets."
 msgstr "è¼¸å…¥è¦æå–æ–‡ç« çš„æœ€å¤§å€¼æ•¸é‡ã€‚<CR> è¨­å®šã€‚"
 
-#: src/lang.c:2510
+#: src/lang.c:2566
 msgid "Number of articles to get"
 msgstr "è¦æå–æ–‡ç« çš„æ•¸é‡"
 
-#: src/lang.c:2511
+#: src/lang.c:2567
 msgid ""
 "# Number of articles to get (0=no limit), if negative sets maximum number\n"
 "# of already read articles to be read before first unread one\n"
@@ -7115,28 +7260,28 @@ msgstr ""
 "# è¦æå–æ–‡ç« çš„æ•¸é‡ (0=ç„¡é™åˆ¶)ï¼Œå¦‚æžœç‚ºè² å°±è¨­å®š\n"
 "# ç‚ºç¬¬ä¸€ç¯‡æœªè®€æ–‡ç« ä¹‹å‰è¦è®€å–çš„å·²è®€æ–‡ç« æœ€å¤§å€¼\n"
 
-#: src/lang.c:2516
+#: src/lang.c:2572
 msgid "Enter number of days article is considered recent. <CR> sets."
 msgstr "è¼¸å…¥è¢«èªç‚ºæœ€è¿‘æ–‡ç« çš„æ—¥æ•¸ã€‚<CR> è¨­å®šã€‚"
 
-#: src/lang.c:2517
+#: src/lang.c:2573
 msgid "Article recentness time limit"
 msgstr "æœ€è¿‘æ–‡ç« çš„æ™‚é–“é™åˆ¶"
 
-#: src/lang.c:2518
+#: src/lang.c:2574
 msgid "# Number of days in which article is considered recent, (0=OFF)\n"
 msgstr "# è¢«èªç‚ºæ˜¯æœ€è¿‘æ–‡ç« æ‰€éœ€çš„æ—¥æ•¸ï¼Œ(0=é—œé–‰)\n"
 
-#: src/lang.c:2522
+#: src/lang.c:2578
 msgid ""
 "WILDMAT for normal wildcards, REGEX for full regular expression matching."
 msgstr "WILDMAT ç”¨æ–¼ä¸€èˆ¬è¬ç”¨å­—å…ƒï¼ŒREGEX ç”¨æ–¼å®Œæ•´æ­£è¦è¡¨ç¤ºå¼åŒ¹é…ã€‚"
 
-#: src/lang.c:2523
+#: src/lang.c:2579
 msgid "Wildcard matching"
 msgstr "è¬ç”¨å­—å…ƒåŒ¹é…"
 
-#: src/lang.c:2524
+#: src/lang.c:2580
 msgid ""
 "# Wildcard matching\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7148,59 +7293,59 @@ msgstr ""
 "# * 0 = wildmat\n"
 "#   1 = regex\n"
 
-#: src/lang.c:2531
+#: src/lang.c:2587
 msgid "Enter minimal score before an article is marked killed. <CR> sets."
 msgstr "è¼¸å…¥æ–‡ç« è¢«æ¨™è¨˜ç é™¤ä¹‹å‰çš„æœ€å°‘åˆ†æ•¸ã€‚<CR> è¨­å®šã€‚"
 
-#: src/lang.c:2532
+#: src/lang.c:2588
 msgid "Score limit (kill)"
 msgstr "åˆ†æ•¸é™åˆ¶ (ç é™¤)"
 
-#: src/lang.c:2533
+#: src/lang.c:2589
 msgid "# Score limit before an article is marked killed\n"
 msgstr "# æ–‡ç« è¢«æ¨™è¨˜ç é™¤ä¹‹å‰çš„åˆ†æ•¸é™åˆ¶\n"
 
-#: src/lang.c:2537
+#: src/lang.c:2593
 msgid "Enter default score to kill articles. <CR> sets."
 msgstr "è¼¸å…¥ç é™¤æ–‡ç« çš„é è¨­åˆ†æ•¸ã€‚<CR> è¨­å®šã€‚"
 
-#: src/lang.c:2538
+#: src/lang.c:2594
 msgid "Default score to kill articles"
 msgstr "ç é™¤æ–‡ç« çš„é è¨­åˆ†æ•¸"
 
-#: src/lang.c:2539
+#: src/lang.c:2595
 msgid "# Default score to kill articles\n"
 msgstr "# ç é™¤æ–‡ç« çš„é è¨­åˆ†æ•¸\n"
 
-#: src/lang.c:2543
+#: src/lang.c:2599
 msgid "Enter minimal score before an article is marked hot. <CR> sets."
 msgstr "è¼¸å…¥æ–‡ç« è¢«æ¨™è¨˜ç†±é–€ä¹‹å‰çš„æœ€å°‘åˆ†æ•¸ã€‚<CR> è¨­å®šã€‚"
 
-#: src/lang.c:2544
+#: src/lang.c:2600
 msgid "Score limit (select)"
 msgstr "åˆ†æ•¸é™åˆ¶ (é¸å–)"
 
-#: src/lang.c:2545
+#: src/lang.c:2601
 msgid "# Score limit before an article is marked hot\n"
 msgstr "# æ–‡ç« è¢«æ¨™è¨˜ç†±é–€ä¹‹å‰çš„åˆ†æ•¸é™åˆ¶\n"
 
-#: src/lang.c:2549
+#: src/lang.c:2605
 msgid "Enter default score to select articles. <CR> sets."
 msgstr "è¼¸å…¥é¸å–æ–‡ç« çš„é è¨­åˆ†æ•¸ã€‚<CR> è¨­å®šã€‚"
 
-#: src/lang.c:2550
+#: src/lang.c:2606
 msgid "Default score to select articles"
 msgstr "é¸å–æ–‡ç« çš„é è¨­åˆ†æ•¸"
 
-#: src/lang.c:2551
+#: src/lang.c:2607
 msgid "# Default score to select articles\n"
 msgstr "# é¸å–æ–‡ç« çš„é è¨­åˆ†æ•¸\n"
 
-#: src/lang.c:2557
+#: src/lang.c:2613
 msgid "Use slrnface to show ''X-Face:''s"
 msgstr "ä½¿ç”¨ slrnface ä»¥é¡¯ç¤ºã€ŽX-Face:ã€"
 
-#: src/lang.c:2558
+#: src/lang.c:2614
 msgid ""
 "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 "# Only useful when running in an xterm.\n"
@@ -7208,19 +7353,19 @@ msgstr ""
 "# å¦‚æžœé–‹å•Ÿå°±ä½¿ç”¨ slrnface(1) ä»¥è§£è­¯ã€ŽX-Face:ã€æ¨™é ­ã€‚\n"
 "# åªæœ‰åœ¨ xterm ä¸­åŸ·è¡Œæ™‚æ‰æœ‰ä½œç”¨ã€‚\n"
 
-#: src/lang.c:2566
+#: src/lang.c:2622
 msgid "Use ANSI color"
 msgstr "ä½¿ç”¨ ANSI é¡è‰²"
 
-#: src/lang.c:2567
+#: src/lang.c:2623
 msgid "# If ON using ANSI-color\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±ä½¿ç”¨ ANSI é¡è‰²\n"
 
-#: src/lang.c:2572
+#: src/lang.c:2628
 msgid "Standard foreground color"
 msgstr "æ¨™æº–å‰æ™¯é¡è‰²"
 
-#: src/lang.c:2573
+#: src/lang.c:2629
 msgid ""
 "# Standard foreground color\n"
 "# Default: -1 (default color)\n"
@@ -7228,11 +7373,11 @@ msgstr ""
 "# æ¨™æº–å‰æ™¯é¡è‰²\n"
 "# é è¨­ï¼š-1 (é è¨­é¡è‰²)\n"
 
-#: src/lang.c:2579
+#: src/lang.c:2635
 msgid "Standard background color"
 msgstr "æ¨™æº–èƒŒæ™¯é¡è‰²"
 
-#: src/lang.c:2580
+#: src/lang.c:2636
 msgid ""
 "# Standard background color\n"
 "# Default: -1 (default color)\n"
@@ -7240,11 +7385,11 @@ msgstr ""
 "# æ¨™æº–èƒŒæ™¯é¡è‰²\n"
 "# é è¨­ï¼š-1 (é è¨­é¡è‰²)\n"
 
-#: src/lang.c:2586
+#: src/lang.c:2642
 msgid "Color for inverse text (background)"
 msgstr "åç™½æ–‡å­—çš„é¡è‰² (èƒŒæ™¯)"
 
-#: src/lang.c:2587
+#: src/lang.c:2643
 msgid ""
 "# Color of background for inverse text\n"
 "# Default: 4 (blue)\n"
@@ -7252,11 +7397,11 @@ msgstr ""
 "# åç™½æ–‡å­—çš„èƒŒæ™¯é¡è‰²\n"
 "# é è¨­ï¼š4 (è—è‰²)\n"
 
-#: src/lang.c:2593
+#: src/lang.c:2649
 msgid "Color for inverse text (foreground)"
 msgstr "åç™½æ–‡å­—çš„é¡è‰² (å‰æ™¯)"
 
-#: src/lang.c:2594
+#: src/lang.c:2650
 msgid ""
 "# Color of foreground for inverse text\n"
 "# Default: 7 (white)\n"
@@ -7264,11 +7409,11 @@ msgstr ""
 "# åç™½æ–‡å­—çš„å‰æ™¯é¡è‰²\n"
 "# é è¨­ï¼š7 (ç™½è‰²)\n"
 
-#: src/lang.c:2600
+#: src/lang.c:2656
 msgid "Color of text lines"
 msgstr "æ–‡å­—åˆ—çš„é¡è‰²"
 
-#: src/lang.c:2601
+#: src/lang.c:2657
 msgid ""
 "# Color of text lines\n"
 "# Default: -1 (default color)\n"
@@ -7276,11 +7421,11 @@ msgstr ""
 "# æ–‡å­—åˆ—çš„é¡è‰²\n"
 "# é è¨­ï¼š-1 (é è¨­é¡è‰²)\n"
 
-#: src/lang.c:2607
+#: src/lang.c:2663
 msgid "Color of mini help menu"
 msgstr "è¿·ä½ èªªæ˜Žé¸å–®çš„é¡è‰²"
 
-#: src/lang.c:2608
+#: src/lang.c:2664
 msgid ""
 "# Color of mini help menu\n"
 "# Default: 3 (brown)\n"
@@ -7288,11 +7433,11 @@ msgstr ""
 "# è¿·ä½ èªªæ˜Žé¸å–®çš„é¡è‰²\n"
 "# é è¨­ï¼š3 (æ£•è‰²)\n"
 
-#: src/lang.c:2614
+#: src/lang.c:2670
 msgid "Color of help text"
 msgstr "èªªæ˜Žæ–‡å­—çš„é¡è‰²"
 
-#: src/lang.c:2615
+#: src/lang.c:2671
 msgid ""
 "# Color of help pages\n"
 "# Default: -1 (default color)\n"
@@ -7300,11 +7445,11 @@ msgstr ""
 "# èªªæ˜Žé é¢çš„é¡è‰²\n"
 "# é è¨­ï¼š-1 (é è¨­é¡è‰²)\n"
 
-#: src/lang.c:2621
+#: src/lang.c:2677
 msgid "Color of status messages"
 msgstr "ç‹€æ…‹è¨Šæ¯çš„é¡è‰²"
 
-#: src/lang.c:2622
+#: src/lang.c:2678
 msgid ""
 "# Color of messages in last line\n"
 "# Default: 6 (cyan)\n"
@@ -7312,11 +7457,11 @@ msgstr ""
 "# æœ€å¾Œä¸€åˆ—ä¸­è¨Šæ¯çš„é¡è‰²\n"
 "# é è¨­ï¼š6 (é’è‰²)\n"
 
-#: src/lang.c:2628
+#: src/lang.c:2684
 msgid "Color of quoted lines"
 msgstr "å¼•è¨€åˆ—çš„é¡è‰²"
 
-#: src/lang.c:2629
+#: src/lang.c:2685
 msgid ""
 "# Color of quote-lines\n"
 "# Default: 2 (green)\n"
@@ -7324,11 +7469,11 @@ msgstr ""
 "# å¼•è¨€åˆ—çš„é¡è‰²\n"
 "# é è¨­ï¼š2 (ç¶ è‰²)\n"
 
-#: src/lang.c:2635
+#: src/lang.c:2691
 msgid "Color of twice quoted line"
 msgstr "ç¬¬äºŒå±¤å¼•è¨€åˆ—çš„é¡è‰²"
 
-#: src/lang.c:2636
+#: src/lang.c:2692
 msgid ""
 "# Color of twice quoted lines\n"
 "# Default: 3 (brown)\n"
@@ -7336,11 +7481,11 @@ msgstr ""
 "# ç¬¬äºŒå±¤å¼•è¨€åˆ—çš„é¡è‰²\n"
 "# é è¨­ï¼š3 (æ£•è‰²)\n"
 
-#: src/lang.c:2642
+#: src/lang.c:2698
 msgid "Color of =>3 times quoted line"
 msgstr "=>3 å±¤å¼•è¨€åˆ—çš„é¡è‰²"
 
-#: src/lang.c:2643
+#: src/lang.c:2699
 msgid ""
 "# Color of >=3 times quoted lines\n"
 "# Default: 4 (blue)\n"
@@ -7348,11 +7493,11 @@ msgstr ""
 "# =>3 å±¤å¼•è¨€åˆ—çš„é¡è‰²\n"
 "# é è¨­ï¼š4 (è—è‰²)\n"
 
-#: src/lang.c:2649
+#: src/lang.c:2705
 msgid "Color of article header lines"
 msgstr "æ–‡ç« æ¨™é ­åˆ—çš„é¡è‰²"
 
-#: src/lang.c:2650
+#: src/lang.c:2706
 msgid ""
 "# Color of header-lines\n"
 "# Default: 2 (green)\n"
@@ -7360,11 +7505,11 @@ msgstr ""
 "# æ¨™é ­åˆ—çš„é¡è‰²\n"
 "# é è¨­ï¼š2 (ç¶ è‰²)\n"
 
-#: src/lang.c:2656
+#: src/lang.c:2712
 msgid "Color of actual news header fields"
 msgstr "å¯¦éš›æ–°èžæ¨™é ­æ¬„ä½çš„é¡è‰²"
 
-#: src/lang.c:2657
+#: src/lang.c:2713
 msgid ""
 "# Color of actual news header fields\n"
 "# Default: 9 (light red)\n"
@@ -7372,11 +7517,11 @@ msgstr ""
 "# å¯¦éš›æ–°èžæ¨™é ­æ¬„ä½çš„é¡è‰²\n"
 "# é è¨­ï¼š9 (æ·ºç´…è‰²)\n"
 
-#: src/lang.c:2663
+#: src/lang.c:2719
 msgid "Color of article subject lines"
 msgstr "æ–‡ç« ä¸»æ—¨åˆ—çš„é¡è‰²"
 
-#: src/lang.c:2664
+#: src/lang.c:2720
 msgid ""
 "# Color of article subject\n"
 "# Default: 6 (cyan)\n"
@@ -7384,12 +7529,12 @@ msgstr ""
 "# æ–‡ç« ä¸»æ—¨åˆ—çš„é¡è‰²\n"
 "# é è¨­ï¼š6 (é’è‰²)\n"
 
-#: src/lang.c:2670
+#: src/lang.c:2726
 #, fuzzy
 msgid "Color of external quotes"
 msgstr "æ–‡å­—åˆ—çš„é¡è‰²"
 
-#: src/lang.c:2671
+#: src/lang.c:2727
 #, fuzzy
 msgid ""
 "# Color of quoted text from external sources\n"
@@ -7398,11 +7543,11 @@ msgstr ""
 "# å­—é¢å€å¡Šçš„é¡è‰²\n"
 "# é è¨­ï¼š5 (ç²‰ç´…)\n"
 
-#: src/lang.c:2677
+#: src/lang.c:2733
 msgid "Color of response counter"
 msgstr "å›žæ‡‰è¨ˆæ•¸å™¨çš„é¡è‰²"
 
-#: src/lang.c:2678
+#: src/lang.c:2734
 msgid ""
 "# Color of response counter\n"
 "# Default: 2 (green)\n"
@@ -7410,11 +7555,11 @@ msgstr ""
 "# å›žæ‡‰è¨ˆæ•¸å™¨çš„é¡è‰²\n"
 "# é è¨­ï¼š2 (ç¶ è‰²)\n"
 
-#: src/lang.c:2684
+#: src/lang.c:2740
 msgid "Color of sender (From:)"
 msgstr "å‚³é€è€…çš„é¡è‰² ( From: )"
 
-#: src/lang.c:2685
+#: src/lang.c:2741
 msgid ""
 "# Color of sender (From:)\n"
 "# Default: 2 (green)\n"
@@ -7422,11 +7567,11 @@ msgstr ""
 "# å‚³é€è€…çš„é¡è‰² ( From: )\n"
 "# é è¨­ï¼š2 (ç¶ è‰²)\n"
 
-#: src/lang.c:2691
+#: src/lang.c:2747
 msgid "Color of help/mail sign"
 msgstr "èªªæ˜Ž/éƒµä»¶ç°½åçš„é¡è‰²"
 
-#: src/lang.c:2692
+#: src/lang.c:2748
 msgid ""
 "# Color of Help/Mail-Sign\n"
 "# Default: 4 (blue)\n"
@@ -7434,11 +7579,11 @@ msgstr ""
 "# èªªæ˜Ž/éƒµä»¶ç°½åçš„é¡è‰²\n"
 "# é è¨­ï¼š4 (è—è‰²)\n"
 
-#: src/lang.c:2698
+#: src/lang.c:2754
 msgid "Color of signatures"
 msgstr "ç°½åçš„é¡è‰²"
 
-#: src/lang.c:2699
+#: src/lang.c:2755
 msgid ""
 "# Color of signature\n"
 "# Default: 4 (blue)\n"
@@ -7446,12 +7591,12 @@ msgstr ""
 "# ç°½åçš„é¡è‰²\n"
 "# é è¨­ï¼š4 (è—è‰²)\n"
 
-#: src/lang.c:2705
+#: src/lang.c:2761
 #, fuzzy
 msgid "Color of negative score"
 msgstr "æ–‡å­—åˆ—çš„é¡è‰²"
 
-#: src/lang.c:2706
+#: src/lang.c:2762
 #, fuzzy
 msgid ""
 "# Color of negative score\n"
@@ -7460,12 +7605,12 @@ msgstr ""
 "# ç°½åçš„é¡è‰²\n"
 "# é è¨­ï¼š4 (è—è‰²)\n"
 
-#: src/lang.c:2712
+#: src/lang.c:2768
 #, fuzzy
 msgid "Color of positive score"
 msgstr "å›žæ‡‰è¨ˆæ•¸å™¨çš„é¡è‰²"
 
-#: src/lang.c:2713
+#: src/lang.c:2769
 #, fuzzy
 msgid ""
 "# Color of positive score\n"
@@ -7474,11 +7619,11 @@ msgstr ""
 "# å›žæ‡‰è¨ˆæ•¸å™¨çš„é¡è‰²\n"
 "# é è¨­ï¼š2 (ç¶ è‰²)\n"
 
-#: src/lang.c:2719
+#: src/lang.c:2775
 msgid "Color of highlighted URLs"
 msgstr "é«˜äº®åº¦ç¶²å€çš„é¡è‰²"
 
-#: src/lang.c:2720
+#: src/lang.c:2776
 msgid ""
 "# Color of highlighted URLs\n"
 "# Default: -1 (default color)\n"
@@ -7486,11 +7631,11 @@ msgstr ""
 "# é«˜äº®åº¦ç¶²å€çš„é¡è‰²\n"
 "# é è¨­ï¼š-1 (é è¨­é¡è‰²)\n"
 
-#: src/lang.c:2726
+#: src/lang.c:2782
 msgid "Color of verbatim blocks"
 msgstr "å­—é¢å€å¡Šçš„é¡è‰²"
 
-#: src/lang.c:2727
+#: src/lang.c:2783
 msgid ""
 "# Color of verbatim blocks\n"
 "# Default: 5 (pink)\n"
@@ -7498,11 +7643,11 @@ msgstr ""
 "# å­—é¢å€å¡Šçš„é¡è‰²\n"
 "# é è¨­ï¼š5 (ç²‰ç´…)\n"
 
-#: src/lang.c:2733
+#: src/lang.c:2789
 msgid "Color of highlighting with *stars*"
 msgstr "é«˜äº®åº¦é¡¯ç¤º *æ˜Ÿè™Ÿ* çš„é¡è‰²"
 
-#: src/lang.c:2734
+#: src/lang.c:2790
 msgid ""
 "# Color of word highlighting with *stars*\n"
 "# Default: 11 (yellow)\n"
@@ -7510,11 +7655,11 @@ msgstr ""
 "# é«˜äº®åº¦é¡¯ç¤º *æ˜Ÿè™Ÿ* å­—è©žçš„é¡è‰²\n"
 "# é è¨­ï¼š11 (é»ƒè‰²)\n"
 
-#: src/lang.c:2740
+#: src/lang.c:2796
 msgid "Color of highlighting with _dash_"
 msgstr "é«˜äº®åº¦é¡¯ç¤º _åº•ç·š_ çš„é¡è‰²"
 
-#: src/lang.c:2741
+#: src/lang.c:2797
 msgid ""
 "# Color of word highlighting with _dash_\n"
 "# Default: 13 (light pink)\n"
@@ -7522,11 +7667,11 @@ msgstr ""
 "# é«˜äº®åº¦é¡¯ç¤º _åº•ç·š_ å­—è©žçš„é¡è‰²\n"
 "# é è¨­ï¼š13 (æ·ºç²‰ç´…)\n"
 
-#: src/lang.c:2747
+#: src/lang.c:2803
 msgid "Color of highlighting with /slash/"
 msgstr "é«˜äº®åº¦é¡¯ç¤º /æ–œç·š/ çš„é¡è‰²"
 
-#: src/lang.c:2748
+#: src/lang.c:2804
 msgid ""
 "# Color of word highlighting with /slash/\n"
 "# Default: 14 (light cyan)\n"
@@ -7534,11 +7679,11 @@ msgstr ""
 "# é«˜äº®åº¦é¡¯ç¤º /æ–œç·š/ å­—è©žçš„é¡è‰²\n"
 "# é è¨­ï¼š14 (æ·ºè—ç¶ è‰²)\n"
 
-#: src/lang.c:2754
+#: src/lang.c:2810
 msgid "Color of highlighting with -stroke-"
 msgstr "é«˜äº®åº¦é¡¯ç¤º -æ©«ç·š- çš„é¡è‰²"
 
-#: src/lang.c:2755
+#: src/lang.c:2811
 msgid ""
 "# Color of word highlighting with -stroke-\n"
 "# Default: 12 (light blue)\n"
@@ -7546,11 +7691,11 @@ msgstr ""
 "# é«˜äº®åº¦é¡¯ç¤º -æ©«ç·š- å­—è©žçš„é¡è‰²\n"
 "# é è¨­ï¼š12 (æ·ºè—è‰²)\n"
 
-#: src/lang.c:2762
+#: src/lang.c:2818
 msgid "Attr. of highlighting with *stars*"
 msgstr "é«˜äº®åº¦é¡¯ç¤º *æ˜Ÿè™Ÿ* çš„å±¬æ€§"
 
-#: src/lang.c:2763
+#: src/lang.c:2819
 msgid ""
 "# Attributes of word highlighting on mono terminals\n"
 "# Possible values are:\n"
@@ -7578,11 +7723,11 @@ msgstr ""
 "# é«˜äº®åº¦é¡¯ç¤º *æ˜Ÿè™Ÿ* å­—è©žçš„å±¬æ€§\n"
 "# é è¨­ï¼š6 (ç²—é«”)\n"
 
-#: src/lang.c:2778
+#: src/lang.c:2834
 msgid "Attr. of highlighting with _dash_"
 msgstr "é«˜äº®åº¦é¡¯ç¤º _åº•ç·š_ çš„å±¬æ€§"
 
-#: src/lang.c:2779
+#: src/lang.c:2835
 msgid ""
 "# Attribute of word highlighting with _dash_\n"
 "# Default: 2 (best highlighting)\n"
@@ -7590,11 +7735,11 @@ msgstr ""
 "# é«˜äº®åº¦é¡¯ç¤º _åº•ç·š_ å­—è©žçš„å±¬æ€§\n"
 "# é è¨­ï¼š2 (æœ€å¥½é«˜äº®åº¦é¡¯ç¤º)\n"
 
-#: src/lang.c:2785
+#: src/lang.c:2841
 msgid "Attr. of highlighting with /slash/"
 msgstr "é«˜äº®åº¦é¡¯ç¤º /æ–œç·š/ çš„å±¬æ€§"
 
-#: src/lang.c:2786
+#: src/lang.c:2842
 msgid ""
 "# Attribute of word highlighting with /slash/\n"
 "# Default: 5 (half bright)\n"
@@ -7602,11 +7747,11 @@ msgstr ""
 "# é«˜äº®åº¦é¡¯ç¤º /æ–œç·š/ å­—è©žçš„å±¬æ€§\n"
 "# é è¨­ï¼š5 (åŠæ˜Žäº®)\n"
 
-#: src/lang.c:2792
+#: src/lang.c:2848
 msgid "Attr. of highlighting with -stroke-"
 msgstr "é«˜äº®åº¦é¡¯ç¤º -æ©«ç·š- çš„å±¬æ€§"
 
-#: src/lang.c:2793
+#: src/lang.c:2849
 msgid ""
 "# Attribute of word highlighting with -stroke-\n"
 "# Default: 3 (reverse video)\n"
@@ -7614,27 +7759,27 @@ msgstr ""
 "# é«˜äº®åº¦é¡¯ç¤º /æ–œç·š/ å­—è©žçš„å±¬æ€§\n"
 "# é è¨­ï¼š3 (åç™½é¡¯ç¤º)\n"
 
-#: src/lang.c:2799
+#: src/lang.c:2855
 msgid "URL highlighting in message body"
 msgstr "åœ¨è¨Šæ¯å…§æ–‡ä¸­é«˜äº®åº¦é¡¯ç¤ºç¶²å€"
 
-#: src/lang.c:2800
+#: src/lang.c:2856
 msgid "# Enable URL highlighting?\n"
 msgstr "# å•Ÿç”¨é«˜äº®åº¦é¡¯ç¤ºç¶²å€ï¼Ÿ\n"
 
-#: src/lang.c:2805
+#: src/lang.c:2861
 msgid "Word highlighting in message body"
 msgstr "åœ¨è¨Šæ¯å…§æ–‡ä¸­é«˜äº®åº¦é¡¯ç¤ºå­—è©ž"
 
-#: src/lang.c:2806
+#: src/lang.c:2862
 msgid "# Enable word highlighting?\n"
 msgstr "# å•Ÿç”¨é«˜äº®åº¦é¡¯ç¤ºå­—è©žï¼Ÿ\n"
 
-#: src/lang.c:2811
+#: src/lang.c:2867
 msgid "What to display instead of mark"
 msgstr "è¦é¡¯ç¤ºä»€éº¼ä»¥ä»£æ›¿æ¨™è¨˜"
 
-#: src/lang.c:2812
+#: src/lang.c:2868
 msgid ""
 "# Should the leading and ending stars and dashes also be displayed,\n"
 "# even when they are highlighting marks?\n"
@@ -7650,56 +7795,70 @@ msgstr ""
 "#   1 = æ˜¯ï¼Œé¡¯ç¤ºæ¨™è¨˜\n"
 "# * 2 = å°å‡ºç©ºæ ¼åšç‚ºæ›¿ä»£\n"
 
-#: src/lang.c:2821
+#: src/lang.c:2877
 msgid "Enter column number to wrap article lines to in the pager. <CR> sets."
 msgstr "è¼¸å…¥åœ¨é é¢åˆ‡æ›ä¸­ç”¨ä¾†å°‡æ–‡ç« æ›åˆ—çš„æ¬„è™Ÿã€‚<CR> è¨­å®šã€‚"
 
-#: src/lang.c:2822
+#: src/lang.c:2878
 msgid "Page line wrap column"
 msgstr "é é¢è‡ªå‹•æ›åˆ—æ¬„è™Ÿ"
 
-#: src/lang.c:2823
+#: src/lang.c:2879
 msgid "# Wrap article lines at column\n"
 msgstr "# æ–‡ç« æ›åˆ—æ–¼æ¬„è™Ÿ\n"
 
-#: src/lang.c:2828
+#: src/lang.c:2883
+#, fuzzy
+msgid ""
+"If ON, don't break words when wrapping lines. <SPACE> toggles & <CR> sets."
+msgstr "é‡æ–°å¼µè²¼æ–‡ç« æ™‚åŠ å…¥ç°½åã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
+
+#: src/lang.c:2884
+msgid "Don't break words when wrapping"
+msgstr ""
+
+#: src/lang.c:2885
+msgid "# Don't break long lines inside a word but on <SPACE> or <TAB>\n"
+msgstr ""
+
+#: src/lang.c:2890
 msgid "Wrap around threads on next unread"
 msgstr "æ–¼ä¸‹ä¸€ç¯‡æœªè®€å›žåˆ°é–‹å§‹éƒ¨åˆ†è¨Žè«–ä¸²"
 
-#: src/lang.c:2829
+#: src/lang.c:2891
 msgid "# If ON wrap around threads on searching next unread article\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±æ–¼æœå°‹ä¸‹ä¸€ç¯‡æœªè®€æ–‡ç« æ™‚å›žåˆ°é–‹å§‹éƒ¨åˆ†è¨Žè«–ä¸²\n"
 
-#: src/lang.c:2833
+#: src/lang.c:2895
 msgid "Enter default mail address (and fullname). <CR> sets."
 msgstr "è¼¸å…¥é è¨­éƒµä»¶åœ°å€ (ä»¥åŠå…¨å)ã€‚<CR> è¨­å®šã€‚"
 
-#: src/lang.c:2834 src/lang.c:3405
+#: src/lang.c:2896 src/lang.c:3474
 msgid "Mail address (and fullname)"
 msgstr "éƒµä»¶åœ°å€ (ä»¥åŠå…¨å)"
 
-#: src/lang.c:2835
+#: src/lang.c:2897
 msgid "# User's mail address (and fullname), if not username@host (fullname)\n"
 msgstr "# ä½¿ç”¨è€…éƒµä»¶åœ°å€ (ä»¥åŠå…¨å)ï¼Œå¦‚æžœä¸æ˜¯ ä½¿ç”¨è€…åç¨±@ä¸»æ©Ÿ (å…¨å)\n"
 
-#: src/lang.c:2840
+#: src/lang.c:2902
 msgid "Show empty Followup-To in editor"
 msgstr "åœ¨ç·¨è¼¯å™¨ä¸­é¡¯ç¤ºç©ºçš„è·Ÿè²¼"
 
-#: src/lang.c:2841
+#: src/lang.c:2903
 msgid "# If ON show empty Followup-To header when editing an article\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±æ–¼ç·¨è¼¯æ–‡ç« æ™‚é¡¯ç¤ºç©ºçš„è·Ÿè²¼æ¨™é ­\n"
 
-#: src/lang.c:2845
+#: src/lang.c:2907
 msgid ""
 "Enter path/! command/--none to create your default signature. <CR> sets."
 msgstr "è¼¸å…¥ path/! command/--none ä»¥å»ºç«‹æ‚¨çš„é è¨­ç°½åã€‚<CR> è¨­å®šã€‚"
 
-#: src/lang.c:2846
+#: src/lang.c:2908
 msgid "Create signature from path/command"
 msgstr "å¾žè·¯å¾‘/å‘½ä»¤å»ºç«‹ç°½å"
 
-#: src/lang.c:2847
+#: src/lang.c:2909
 #, fuzzy, c-format
 msgid ""
 "# Signature path (random sigs)/file to be used when posting/replying\n"
@@ -7713,41 +7872,41 @@ msgstr ""
 "# sigfile=!å‘½ä»¤      åŸ·è¡Œå¤–éƒ¨å‘½ä»¤ä»¥ç”¢ç”Ÿç°½å\n"
 "# sigfile=--none     ä¸é™„åŠ ç°½å\n"
 
-#: src/lang.c:2855
+#: src/lang.c:2917
 msgid ""
 "Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 msgstr "å°‡å–®ç¨ä¸€åˆ—çš„ã€Œ--ã€å‰ç½®æ–¼ç°½åã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2856
+#: src/lang.c:2918
 msgid "Prepend signature with \"-- \""
 msgstr "å°‡ã€Œ--ã€å‰ç½®æ–¼ç°½å"
 
-#: src/lang.c:2857
+#: src/lang.c:2919
 msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±å°‡è™›ç·šã€Ž\\n-- \\nã€å‰ç½®æ–¼ç°½å\n"
 
-#: src/lang.c:2861
+#: src/lang.c:2923
 msgid "Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 msgstr "é‡æ–°å¼µè²¼æ–‡ç« æ™‚åŠ å…¥ç°½åã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2862
+#: src/lang.c:2924
 msgid "Add signature when reposting"
 msgstr "é‡æ–°å¼µè²¼æ™‚åŠ å…¥ç°½å"
 
-#: src/lang.c:2863
+#: src/lang.c:2925
 msgid "# If ON add signature to reposted articles\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±å°‡ç°½ååŠ å…¥é‡æ–°å¼µè²¼çš„æ–‡ç« \n"
 
-#: src/lang.c:2867
+#: src/lang.c:2929
 #, fuzzy
 msgid "Enter quotation marks, %I for author's initials."
 msgstr "è¼¸å…¥å¼•è¨€ç¬¦è™Ÿã€%s æˆ– %S åšç‚ºä½œè€…çš„ç¸®å¯«ã€‚"
 
-#: src/lang.c:2868
+#: src/lang.c:2930
 msgid "Characters used as quote-marks"
 msgstr "åšç‚ºå¼•è¨€ç¬¦è™Ÿä½¿ç”¨çš„å­—å…ƒ"
 
-#: src/lang.c:2869
+#: src/lang.c:2931
 #, fuzzy
 msgid ""
 "# Characters used in quoting to followups and replies.\n"
@@ -7756,11 +7915,11 @@ msgstr ""
 "# å­—å…ƒå·²ç”¨æ–¼å¼•è¨€åˆ°è·Ÿéš¨å’Œå›žè¦†ã€‚\n"
 "#ã€Ž_ã€è¢«ç½®æ›ç”±ã€Ž ã€ï¼Œ%sï¼Œ%S è¢«ç½®æ›ä¾ä½œè€…è¨­å®šç¸®å¯«ã€‚\n"
 
-#: src/lang.c:2875
+#: src/lang.c:2937
 msgid "Quoting behavior"
 msgstr "å¼•è¨€è¡Œç‚º"
 
-#: src/lang.c:2876
+#: src/lang.c:2938
 msgid ""
 "# How quoting should be handled when following up or replying.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -7784,16 +7943,16 @@ msgstr ""
 "#   6 = å¼•ç”¨ç°½åï¼Œå¼•ç”¨ç©ºåˆ—\n"
 "#   7 = å£“ç¸®å¼•è¨€ï¼Œå¼•ç”¨ç°½åï¼Œå¼•ç”¨ç©ºåˆ—\n"
 
-#: src/lang.c:2889 src/lang.c:2897 src/lang.c:2903
+#: src/lang.c:2951 src/lang.c:2959 src/lang.c:2965
 msgid ""
 "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 msgstr "%A åœ°å€ %D æ—¥æœŸ %F åœ°å€+åç¨± %G ç¾¤çµ„åç¨± %M è¨Šæ¯è­˜åˆ¥è™Ÿ %N åç¨± %C åå­—"
 
-#: src/lang.c:2890
+#: src/lang.c:2952
 msgid "Quote line when following up"
 msgstr "è·Ÿè²¼æ™‚çš„å¼•è¨€åˆ—"
 
-#: src/lang.c:2891
+#: src/lang.c:2953
 msgid ""
 "# Format of quote line when mailing/posting/following-up an article\n"
 "# %A Address    %D Date   %F Addr+Name   %G Groupname   %M Message-ID\n"
@@ -7803,38 +7962,38 @@ msgstr ""
 "# %A ä½å€    %D æ—¥æœŸ   %F Addr+åç¨±   %G ç¾¤çµ„åç¨±   %M è¨Šæ¯è­˜åˆ¥è™Ÿ\n"
 "# %N å…¨å  %C åå­—   %I ç¸®å¯«\n"
 
-#: src/lang.c:2898
+#: src/lang.c:2960
 msgid "Quote line when cross-posting"
 msgstr "è·¨æ¿å¼µè²¼æ™‚çš„å¼•è¨€åˆ—"
 
-#: src/lang.c:2904
+#: src/lang.c:2966
 msgid "Quote line when mailing"
 msgstr "éƒµå¯„æ™‚çš„å¼•è¨€åˆ—"
 
-#: src/lang.c:2909
+#: src/lang.c:2971
 msgid "If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 msgstr "å¦‚æžœé–‹å•Ÿå°±åŒ…å« User-Agent: æ¨™é ­ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2910
+#: src/lang.c:2972
 msgid "Insert 'User-Agent:' header"
 msgstr "æ’å…¥ã€ŽUser-Agent:ã€æ¨™é ­"
 
-#: src/lang.c:2911
+#: src/lang.c:2973
 msgid "# If ON include advertising User-Agent: header\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±åŒ…å«åšç‚ºé€šå‘Šçš„ User-Agent: æ¨™é ­\n"
 
-#: src/lang.c:2916
+#: src/lang.c:2978
 msgid ""
 "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 "è¼¸å…¥ç”¨æ–¼ MIME çš„å­—å…ƒé›†åç¨± (ä¾‹å¦‚ï¼šUS-ASCII, ISO-8859-1, EUC-KR)ï¼Œ<CR> ä»¥è¨­"
 "å®šã€‚"
 
-#: src/lang.c:2917
+#: src/lang.c:2979
 msgid "MM_CHARSET"
 msgstr "MM_CHARSET"
 
-#: src/lang.c:2918
+#: src/lang.c:2980
 msgid ""
 "# Charset supported locally which is also used for MIME header and\n"
 "# Content-Type header.\n"
@@ -7850,40 +8009,40 @@ msgstr ""
 "# å¦‚æžœ MIME_STRICT_CHARSET æ–¼ç·¨è­¯æ™‚æœŸè¢«å®šç¾©ï¼Œé‚£éº¼ mm_charset ä»¥å¤–çš„\n"
 "# å­—å…ƒé›†å°‡è¢«èªç‚ºç„¡æ³•é¡¯ç¤ºï¼Œä¸¦ä¸”ä»¥ã€Žï¼Ÿã€çš„æ–¹å¼è¡¨è¿°ã€‚\n"
 
-#: src/lang.c:2928
+#: src/lang.c:2990
 msgid "MM_NETWORK_CHARSET"
 msgstr "MM_NETWORK_CHARSET"
 
-#: src/lang.c:2929
+#: src/lang.c:2991
 msgid "# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr "# åœ¨è²¼æ–‡ä¸­åšç‚º MIME (å…§å®¹é¡žåž‹) æ¨™é ­çš„å­—å…ƒé›†ã€‚\n"
 
-#: src/lang.c:2933
+#: src/lang.c:2995
 msgid ""
 "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr "è¼¸å…¥æœ¬åœ°å­—å…ƒé›†åç¨± (ä¾‹å¦‚ï¼šUS-ASCII, ISO-8859-1, EUC-KR)ï¼Œ<CR> ä»¥è¨­å®šã€‚"
 
-#: src/lang.c:2934
+#: src/lang.c:2996
 msgid "MM_LOCAL_CHARSET"
 msgstr "MM_LOCAL_CHARSET"
 
-#: src/lang.c:2935
+#: src/lang.c:2997
 msgid "# Charset supported locally.\n"
 msgstr "# æœ¬åœ°æ”¯æ´çš„å­—å…ƒé›†ã€‚\n"
 
-#: src/lang.c:2942
+#: src/lang.c:3004
 msgid "Mailbox format"
 msgstr "ä¿¡ç®±æ ¼å¼"
 
-#: src/lang.c:2943
+#: src/lang.c:3005
 msgid "# Format of the mailbox.\n"
 msgstr "# ä¿¡ç®±çš„æ ¼å¼ã€‚\n"
 
-#: src/lang.c:2948
+#: src/lang.c:3010
 msgid "MIME encoding in news messages"
 msgstr "åœ¨æ–°èžè¨Šæ¯ä¸­çš„ MIME ç·¨ç¢¼"
 
-#: src/lang.c:2949
+#: src/lang.c:3011
 msgid ""
 "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n"
 "# for mails and posts, if necessary. QP is efficient for most European\n"
@@ -7897,15 +8056,15 @@ msgstr ""
 "# è€Œ Base64 å°æ–¼åŒ…å«å¾ˆå¤š 8 ä½å…ƒå­—å…ƒçš„å¤šæ•¸ 8 ä½å…ƒæ±äºžè«¸èªžã€\n"
 "# å¸Œè‡˜èªžä»¥åŠä¿„èªžå­—å…ƒé›†ä¾†èªªæ›´ç‚ºé©ç•¶ã€‚\n"
 
-#: src/lang.c:2957 src/lang.c:2978
+#: src/lang.c:3019 src/lang.c:3040
 msgid "Don't change unless you know what you are doing. <ESC> cancels."
 msgstr "ä¸è¦è®Šæ›´ï¼Œé™¤éžæ‚¨çŸ¥é“æ‚¨åœ¨åšä»€éº¼ã€‚<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2958
+#: src/lang.c:3020
 msgid "Use 8bit characters in news headers"
 msgstr "åœ¨æ–°èžæ¨™é ­ä¸­ä½¿ç”¨ 8 ä½å…ƒå­—å…ƒ"
 
-#: src/lang.c:2959
+#: src/lang.c:3021
 msgid ""
 "# If ON, 8bit characters in news headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -7917,28 +8076,28 @@ msgstr ""
 "# é™¤éž post_mime_encoding åŒæ¨£ä¹Ÿè¢«è¨­å®šç‚º 8 ä½å…ƒï¼Œ\n"
 "# å¦å‰‡æ¨™é ­ä¸­çš„ 8 ä½å…ƒå­—å…ƒå°‡ç„¡è¦–æ–¼æ­¤åƒæ•¸è€Œè¢«ç·¨ç¢¼ã€‚\n"
 
-#: src/lang.c:2966
+#: src/lang.c:3028
 msgid ""
 "Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr "è‡ªå‹•æª¢è¦–è™•ç†å¾Œæª”æ¡ˆ<SPACE> åˆ‡æ›ï¼Œ<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:2967
+#: src/lang.c:3029
 msgid "View post-processed files"
 msgstr "æª¢è¦–è™•ç†å¾Œæª”æ¡ˆ"
 
-#: src/lang.c:2968
+#: src/lang.c:3030
 msgid "# If set, post processed files will be opened in a viewer\n"
 msgstr "# å¦‚æžœè¨­å®šï¼Œè™•ç†ä¹‹å¾Œçš„æª”æ¡ˆå°‡åœ¨æª¢è¦–å™¨ä¸­è¢«é–‹å•Ÿ\n"
 
-#: src/lang.c:2973
+#: src/lang.c:3035
 msgid "MIME encoding in mail messages"
 msgstr "éƒµä»¶è¨Šæ¯ä¸­çš„ MIME ç·¨ç¢¼"
 
-#: src/lang.c:2979
+#: src/lang.c:3041
 msgid "Use 8bit characters in mail headers"
 msgstr "éƒµä»¶æ¨™é ­ä¸­ä½¿ç”¨ 8 ä½å…ƒå­—å…ƒ"
 
-#: src/lang.c:2980
+#: src/lang.c:3042
 msgid ""
 "# If ON, 8bit characters in mail headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -7955,25 +8114,25 @@ msgstr ""
 "# ç¦æ­¢éƒµä»¶æ¨™é ­ä¸­çš„ 8 ä½å…ƒå­—å…ƒï¼Œå› æ­¤å»ºè­°æ‚¨ä¸è¦å°‡å®ƒé–‹å•Ÿï¼Œ\n"
 "# é™¤éžæ‚¨æœ‰æŸäº›å¼·åˆ¶çš„åŽŸå› ã€‚\n"
 
-#: src/lang.c:2991
+#: src/lang.c:3053
 msgid "Strip blanks from ends of lines"
 msgstr "å¾žåˆ—å°¾æˆªé™¤ç©ºç™½"
 
-#: src/lang.c:2992
+#: src/lang.c:3054
 msgid ""
 "# If ON strip blanks from ends of lines for faster display on slow "
 "terminals.\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±å¾žåˆ—å°¾æˆªé™¤ç©ºç™½ï¼Œä»¥ä¾¿åœ¨è¼ƒæ…¢çµ‚ç«¯æ©Ÿä¸Šèƒ½è¼ƒå¿«é¡¯ç¤ºã€‚\n"
 
-#: src/lang.c:2998
+#: src/lang.c:3060
 msgid "If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr "å¦‚æžœé–‹å•Ÿå°±ä½¿ç”¨å¯¦å­—è½‰è­¯ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:2999
+#: src/lang.c:3061
 msgid "Transliteration"
 msgstr "å¯¦å­—è½‰è­¯"
 
-#: src/lang.c:3000
+#: src/lang.c:3062
 msgid ""
 "# If ON, use //TRANSLIT extension. This means that when a character cannot\n"
 "# be represented in the in the target character set, it can be approximated\n"
@@ -7983,11 +8142,11 @@ msgstr ""
 "# åœ¨ç›®æ¨™å­—å…ƒé›†ä¸­è¢«è¡¨è¿°æ™‚ï¼Œå®ƒå¯ä»¥é€éŽä¸€å€‹\n"
 "# æˆ–å¤šå€‹å¤–è§€é¡žä¼¼çš„å­—å…ƒæ‰€è¿‘ä¼¼é¡¯ç¤ºã€‚\n"
 
-#: src/lang.c:3008
+#: src/lang.c:3070
 msgid "Send you a Cc/Bcc automatically"
 msgstr "è‡ªå‹•ç™¼é€çµ¦æ‚¨ä¸€ä»½å‰¯æœ¬/å¯†ä»¶å‰¯æœ¬"
 
-#: src/lang.c:3009
+#: src/lang.c:3071
 msgid ""
 "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8003,25 +8162,25 @@ msgstr ""
 "#   2 = å¯†ä»¶å‰¯æœ¬\n"
 "#   3 = å‰¯æœ¬å’Œå¯†ä»¶å‰¯æœ¬\n"
 
-#: src/lang.c:3020
+#: src/lang.c:3082
 msgid "Hash algorithm for Cancel-Lock/Cancel-Key"
 msgstr ""
 
-#: src/lang.c:3021
+#: src/lang.c:3083
 msgid ""
 "# Hash algorithm for Cancel-Lock/Cancel-Key (default 'sha1')\n"
 "# Use 'none' to not generate Cancel-Lock headers.\n"
 msgstr ""
 
-#: src/lang.c:3027
+#: src/lang.c:3089
 msgid "Enter address elements about which you want to be warned. <CR> sets."
 msgstr "è¼¸å…¥æ‚¨æƒ³è¦ç²å¾—ç›¸é—œè­¦å‘Šçš„åœ°å€å› ç´ ã€‚<CR> è¨­å®šã€‚"
 
-#: src/lang.c:3028
+#: src/lang.c:3090
 msgid "Spamtrap warning address parts"
 msgstr "åžƒåœ¾éƒµä»¶æŠ“å–è­¦å‘Šçš„åœ°å€éƒ¨åˆ†"
 
-#: src/lang.c:3029
+#: src/lang.c:3091
 msgid ""
 "# A comma-delimited list of address-parts you want to be warned\n"
 "# about when trying to reply by email.\n"
@@ -8029,27 +8188,27 @@ msgstr ""
 "# ç•¶æ‚¨å˜—è©¦ä»¥é›»å­éƒµä»¶å›žè¦†æ™‚\n"
 "# æƒ³è¦ç²å¾—ç›¸é—œè­¦å‘Šè€Œä»¥é€—è™Ÿåˆ†éš”çš„åœ°å€éƒ¨åˆ†æ¸…å–®ã€‚\n"
 
-#: src/lang.c:3034
+#: src/lang.c:3096
 msgid "Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr "è¼¸å…¥ç¯©é¸å™¨æ¢ç›®ä¿æŒæœ‰æ•ˆçš„é è¨­å¤©æ•¸ã€‚<CR> è¨­å®šã€‚"
 
-#: src/lang.c:3035
+#: src/lang.c:3097
 msgid "No. of days a filter entry is valid"
 msgstr "ç¯©é¸å™¨æ¢ç›®æœ‰æ•ˆå¤©æ•¸"
 
-#: src/lang.c:3036
+#: src/lang.c:3098
 msgid "# Number of days a short term filter will be active\n"
 msgstr "# çŸ­æœŸç¯©é¸å™¨ä¿æŒä½œç”¨çš„å¤©æ•¸\n"
 
-#: src/lang.c:3040
+#: src/lang.c:3102
 msgid "Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr "åŠ å…¥å·²å¼µè²¼æ–‡ç« åˆ°ç¯©é¸å™¨ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:3041
+#: src/lang.c:3103
 msgid "Add posted articles to filter"
 msgstr "åŠ å…¥å·²å¼µè²¼æ–‡ç« åˆ°ç¯©é¸å™¨"
 
-#: src/lang.c:3042
+#: src/lang.c:3104
 msgid ""
 "# If ON add posted articles which start a new thread to filter for\n"
 "# highlighting follow-ups\n"
@@ -8057,23 +8216,23 @@ msgstr ""
 "# å¦‚æžœé–‹å•Ÿå°±åŠ å…¥é–‹å§‹æ–°è¨Žè«–ä¸²çš„å·²å¼µè²¼æ–‡ç« åˆ°ç¯©é¸å™¨\n"
 "# åšç‚ºé«˜äº®åº¦é¡¯ç¤ºè·Ÿè²¼\n"
 
-#: src/lang.c:3046
+#: src/lang.c:3108
 msgid "The directory where articles/threads are to be saved in mailbox format."
 msgstr "å°‡ä»¥ mailbox æ ¼å¼å„²å­˜çš„æ–‡ç« /è¨Žè«–ä¸²ç›®éŒ„ä½ç½®ã€‚"
 
-#: src/lang.c:3047
+#: src/lang.c:3109
 msgid "Mail directory"
 msgstr "éƒµä»¶ç›®éŒ„"
 
-#: src/lang.c:3048
+#: src/lang.c:3110
 msgid "# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr "# (-m) ä»¥ mailbox æ ¼å¼å„²å­˜çš„æ–‡ç« /è¨Žè«–ä¸²ç›®éŒ„ä½ç½®\n"
 
-#: src/lang.c:3053
+#: src/lang.c:3115
 msgid "Save articles in batch mode (-S)"
 msgstr "ä»¥æ‰¹æ¬¡æ¨¡å¼å„²å­˜æ–‡ç«  (-S)"
 
-#: src/lang.c:3054
+#: src/lang.c:3116
 msgid ""
 "# If ON articles/threads will be saved in batch mode when save -S\n"
 "# or mail (-M/-N) is specified on the command line\n"
@@ -8081,41 +8240,41 @@ msgstr ""
 "# å¦‚æžœé–‹å•Ÿå°±æ–¼å‘½ä»¤åˆ—ä¸ŠæŒ‡å®šå„²å­˜ -S æˆ–éƒµå¯„ (-M/-N) æ™‚\n"
 "# ä»¥æ‰¹æ¬¡æ¨¡å¼å„²å­˜æ–‡ç« /è¨Žè«–ä¸²\n"
 
-#: src/lang.c:3059
+#: src/lang.c:3121
 msgid "The directory where you want articles/threads saved."
 msgstr "æ‚¨æƒ³è¦å„²å­˜æ–‡ç« /è¨Žè«–ä¸²çš„ç›®éŒ„ä½ç½®ã€‚"
 
-#: src/lang.c:3060
+#: src/lang.c:3122
 msgid "Directory to save arts/threads in"
 msgstr "è¦å„²å­˜æ–‡ç« /è¨Žè«–ä¸²çš„ç›®éŒ„"
 
-#: src/lang.c:3061
+#: src/lang.c:3123
 msgid "# Directory where articles/threads are saved\n"
 msgstr "# å„²å­˜æ–‡ç« /è¨Žè«–ä¸²çš„ç›®éŒ„ä½ç½®\n"
 
-#: src/lang.c:3065
+#: src/lang.c:3127
 msgid ""
 "Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 "cancels."
 msgstr "å°‡å·²å„²å­˜çš„æ–‡ç« /è¨Žè«–ä¸²æ¨™è¨˜ç‚ºå·²è®€ã€‚<SPACE> åˆ‡æ›ï¼Œ<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3066
+#: src/lang.c:3128
 msgid "Mark saved articles/threads as read"
 msgstr "å°‡å·²å„²å­˜çš„æ–‡ç« /è¨Žè«–ä¸²æ¨™è¨˜ç‚ºå·²è®€"
 
-#: src/lang.c:3067
+#: src/lang.c:3129
 msgid "# If ON mark articles that are saved as read\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±æ¨™è¨˜å·²å„²å­˜çš„æ–‡ç« ç‚ºå·²è®€\n"
 
-#: src/lang.c:3071
+#: src/lang.c:3133
 msgid "Do post processing (e.g. extract attachments) for saved articles."
 msgstr "å°æ–¼å·²å„²å­˜çš„æ–‡ç« é€²è¡Œå¾ŒçºŒè™•ç† (ä¾‹å¦‚ï¼šæ“·å–é™„ä»¶)ã€‚"
 
-#: src/lang.c:3072
+#: src/lang.c:3134
 msgid "Post process saved articles"
 msgstr "å¾ŒçºŒè™•ç†å·²å„²å­˜çš„æ–‡ç« "
 
-#: src/lang.c:3073
+#: src/lang.c:3135
 #, fuzzy
 msgid ""
 "# Perform post processing (saving binary attachments) from saved articles.\n"
@@ -8130,61 +8289,61 @@ msgstr ""
 "#   1 = åªæ“·å–å‘½ä»¤æ®¼æ­¸æª” (shar)\n"
 "#   2 = æ˜¯\n"
 
-#: src/lang.c:3082
+#: src/lang.c:3144
 msgid "Process only unread articles"
 msgstr "åªè™•ç†æœªè®€æ–‡ç« "
 
-#: src/lang.c:3083
+#: src/lang.c:3145
 msgid ""
 "# If ON only save/print/pipe/mail unread articles (tagged articles "
 "excepted)\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±åª å„²å­˜/åˆ—å°/ç®¡ç·š/éƒµå¯„ æœªè®€æ–‡ç«  (é™¤äº†å·²æ¨™å®šæ–‡ç« )\n"
 
-#: src/lang.c:3088
+#: src/lang.c:3150
 msgid "Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr "åˆ—å°æ‰€æœ‰æˆ–æ˜¯åƒ…åƒ…éƒ¨åˆ†çš„æ¨™é ­ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:3089
+#: src/lang.c:3151
 msgid "Print all headers when printing"
 msgstr "åˆ—å°æ™‚åˆ—å°æ‰€æœ‰æ¨™é ­"
 
-#: src/lang.c:3090
+#: src/lang.c:3152
 msgid ""
 "# If ON print all of article header otherwise just the important lines\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±åˆ—å°æ‰€æœ‰çš„æ–‡ç« æ¨™é ­ï¼Œå¦å‰‡åƒ…åˆ—å°é‡è¦åˆ—\n"
 
-#: src/lang.c:3094
+#: src/lang.c:3156
 msgid ""
 "The printer program with options that is to be used to print articles/"
 "threads."
 msgstr "å°‡è¢«ç”¨ä¾†åˆ—å°æ–‡ç« /è¨Žè«–ä¸²çš„åˆ—å°ç¨‹å¼ä»¥åŠé¸é …ã€‚"
 
-#: src/lang.c:3095
+#: src/lang.c:3157
 msgid "Printer program with options"
 msgstr "åˆ—å°ç¨‹å¼ä»¥åŠé¸é …"
 
-#: src/lang.c:3096
+#: src/lang.c:3158
 msgid "# Print program with parameters used to print articles/threads\n"
 msgstr "# ç”¨ä¾†åˆ—å°æ–‡ç« /è¨Žè«–ä¸²çš„åˆ—å°ç¨‹å¼ä»¥åŠåƒæ•¸\n"
 
-#: src/lang.c:3102
+#: src/lang.c:3164
 msgid "Force redraw after certain commands"
 msgstr "ç‰¹å®šå‘½ä»¤ä¹‹å¾Œå¼·åˆ¶é‡ç¹ª"
 
-#: src/lang.c:3103
+#: src/lang.c:3165
 msgid ""
 "# If ON a screen redraw will always be done after certain external commands\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±æ–¼ç‰¹å®šå¤–éƒ¨å‘½ä»¤ä¹‹å¾Œå°‡ä¸€å¾‹å®Œæˆèž¢å¹•é‡ç¹ª\n"
 
-#: src/lang.c:3107
+#: src/lang.c:3169
 msgid "Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr "è¼¸å…¥ %E åšç‚ºç·¨è¼¯å™¨ï¼Œ%F åšç‚ºæª”åï¼Œ%N åšç‚ºåˆ—è™Ÿï¼Œ<CR> ä»¥è¨­å®šã€‚"
 
-#: src/lang.c:3108
+#: src/lang.c:3170
 msgid "Invocation of your editor"
 msgstr "èª¿ç”¨æ‚¨çš„ç·¨è¼¯å™¨"
 
-#: src/lang.c:3109
+#: src/lang.c:3171
 msgid ""
 "# Format of editor line including parameters\n"
 "# %E Editor  %F Filename  %N Linenumber\n"
@@ -8192,16 +8351,16 @@ msgstr ""
 "# æ ¼å¼çš„ç·¨è¼¯å™¨åˆ—åŒ…å«åƒæ•¸\n"
 "# %E ç·¨è¼¯å™¨  %F æª”å  %N Linenumber\n"
 
-#: src/lang.c:3114
+#: src/lang.c:3176
 msgid ""
 "Enter name and options for external-inews, --internal for internal inews"
 msgstr "è¼¸å…¥ç”¨æ–¼å¤–éƒ¨ inews çš„åç¨±å’Œé¸é …ï¼Œ--internal ç”¨æ–¼å…§éƒ¨ inews"
 
-#: src/lang.c:3115
+#: src/lang.c:3177
 msgid "External inews"
 msgstr "å¤–éƒ¨ inews"
 
-#: src/lang.c:3116
+#: src/lang.c:3178
 msgid ""
 "# If --internal use the built in mini inews for posting via NNTP\n"
 "# otherwise use an external inews program\n"
@@ -8209,34 +8368,33 @@ msgstr ""
 "# å¦‚æžœè¨­å®š --internal å°±ä½¿ç”¨å…§å»ºçš„è¿·ä½  inews åšç‚ºé€éŽ NNTP å¼µè²¼\n"
 "# å¦å‰‡ä½¿ç”¨å¤–éƒ¨ inews ç¨‹å¼\n"
 
-#: src/lang.c:3120
+#: src/lang.c:3182
 msgid ""
 "Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr ""
 "è¼¸å…¥ %M åšç‚ºéƒµä»¶ç¨‹å¼ï¼Œ%S åšç‚ºä¸»æ—¨ï¼Œ%T åšç‚ºæ”¶ä»¶è€…ï¼Œ%F åšç‚ºæª”åï¼Œ<CR> ä»¥è¨­å®šã€‚"
 
-#: src/lang.c:3121
+#: src/lang.c:3183
 msgid "Invocation of your mail command"
 msgstr "èª¿ç”¨æ‚¨çš„éƒµå¯„å‘½ä»¤"
 
-#: src/lang.c:3122
+#: src/lang.c:3184
 #, fuzzy
 msgid ""
 "# Format of mailer line including parameters\n"
-"# %M Mailer  %S Subject  %T To  %F Filename\n"
-"# e.g. to use mutt as your mailer:    mutt -s \"%S\" -- \"%T\" < %F\n"
-"# e.g. mutt interactive          :    mutt -H %F\n"
+"# %M Mailer  %S Subject  %T To  %F Filename  %U Username\n"
+"# e.g. mutt interactive:  mutt -H %F\n"
 msgstr ""
 "# æ ¼å¼çš„éƒµä»¶ç¨‹å¼åˆ—åŒ…å«åƒæ•¸\n"
 "# %M éƒµä»¶ç¨‹å¼  %S ä¸»æ—¨  %T åˆ°  %F æª”å\n"
 "# æˆ‘ã€‚ä»¥ä½¿ç”¨ elm åšç‚ºæ‚¨çš„éƒµä»¶ç¨‹å¼ï¼š   elm -sã€Œ%Sã€ã€Œ%Tã€<%F\n"
 "# æˆ‘ã€‚elm äº’å‹•å¼         ï¼š   elm -i %F -sã€Œ%Sã€ã€Œ%Tã€\n"
 
-#: src/lang.c:3130
+#: src/lang.c:3191
 msgid "Use interactive mail reader"
 msgstr "ä½¿ç”¨äº’å‹•å¼éƒµä»¶é–±è®€å™¨"
 
-#: src/lang.c:3131
+#: src/lang.c:3192
 msgid ""
 "# Interactive mailreader\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8250,33 +8408,33 @@ msgstr ""
 "#   1 = ä½¿ç”¨äº’å‹•å¼éƒµä»¶é–±è®€å™¨ä»¥åŠæª”æ¡ˆä¸­çš„æ¨™é ­\n"
 "#   2 = ä½¿ç”¨äº’å‹•å¼éƒµä»¶é–±è®€å™¨è€Œç„¡éœ€æª”æ¡ˆä¸­çš„æ¨™é ­\n"
 
-#: src/lang.c:3140
+#: src/lang.c:3201
 msgid "Remove ~/.article after posting"
 msgstr "å¼µè²¼ä¹‹å¾Œç§»é™¤ ~/.article"
 
-#: src/lang.c:3141
+#: src/lang.c:3202
 msgid "# If ON remove ~/.article after posting.\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±æ–¼å¼µè²¼ä¹‹å¾Œç§»é™¤ ~/.articleã€‚\n"
 
-#: src/lang.c:3147
+#: src/lang.c:3208
 msgid "Use UTF-8 graphics (thread tree etc.)"
 msgstr "ä½¿ç”¨ UTF-8 åœ–å½¢ (æ¨¹ç‹€è¨Žè«–ä¸²ç­‰ç­‰â€¦)"
 
-#: src/lang.c:3148
+#: src/lang.c:3209
 msgid ""
 "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n"
 msgstr ""
 "# å¦‚æžœé–‹å•Ÿå°±ä½¿ç”¨ UTF-8 å­—å…ƒåšç‚ºæŒ‡ç¤ºå™¨ã€Ž->ã€ã€æ¨¹ç‹€çµæ§‹å’Œçœç•¥ç¬¦è™Ÿã€Žâ€¦ã€ã€‚\n"
 
-#: src/lang.c:3153
+#: src/lang.c:3214
 msgid "Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr "ç”¨æ–¼æ‰€æœ‰å·²å¼µè²¼æ–‡ç« çš„æª”åï¼Œ<CR> è¨­å®šï¼Œæ²’æœ‰æª”å=ä¸å„²å­˜ã€‚"
 
-#: src/lang.c:3154
+#: src/lang.c:3215
 msgid "Filename for posted articles"
 msgstr "ç”¨æ–¼å·²å¼µè²¼æ–‡ç« çš„æª”å"
 
-#: src/lang.c:3155
+#: src/lang.c:3216
 msgid ""
 "# Filename where to keep all postings (default posted)\n"
 "# If no filename is set then postings will not be saved\n"
@@ -8284,36 +8442,36 @@ msgstr ""
 "# ä¿ç•™æ‰€æœ‰è²¼æ–‡ (é è¨­ç‚ºå·²å¼µè²¼) çš„æª”æ¡ˆä½ç½®\n"
 "# å¦‚æžœæ²’æœ‰è¨­å®šæª”åå‰‡ä¸æœƒå„²å­˜è²¼æ–‡\n"
 
-#: src/lang.c:3160
+#: src/lang.c:3221
 msgid ""
 "Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr "ä¿ç•™æ‰€æœ‰å¼µè²¼å¤±æ•—çš„æ–‡ç« æ–¼ ~/dead.articlesã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:3161
+#: src/lang.c:3222
 msgid "Keep failed arts in ~/dead.articles"
 msgstr "ä¿ç•™å¼µè²¼å¤±æ•—çš„æ–‡ç« æ–¼ ~/dead.articles"
 
-#: src/lang.c:3162
+#: src/lang.c:3223
 msgid "# If ON keep all failed postings in ~/dead.articles\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±ä¿ç•™æ‰€æœ‰å¼µè²¼å¤±æ•—çš„è²¼æ–‡æ–¼ ~/dead.articles\n"
 
-#: src/lang.c:3166
+#: src/lang.c:3227
 msgid "Do you want to strip unsubscribed groups from .newsrc"
 msgstr "æ‚¨è¦å¾ž .newsrc æˆªé™¤å·²å–æ¶ˆè¨‚é–±çš„ç¾¤çµ„"
 
-#: src/lang.c:3167
+#: src/lang.c:3228
 msgid "No unsubscribed groups in newsrc"
 msgstr "åœ¨ newsrc ä¸­æ²’æœ‰å·²å–æ¶ˆè¨‚é–±çš„ç¾¤çµ„"
 
-#: src/lang.c:3168
+#: src/lang.c:3229
 msgid "# If ON strip unsubscribed groups from newsrc\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±å¾ž newsrc æˆªé™¤å·²å–æ¶ˆè¨‚é–±çš„ç¾¤çµ„\n"
 
-#: src/lang.c:3173
+#: src/lang.c:3234
 msgid "Remove bogus groups from newsrc"
 msgstr "å¾ž newsrc ç§»é™¤å‡é€ çš„ç¾¤çµ„"
 
-#: src/lang.c:3174
+#: src/lang.c:3235
 msgid ""
 "# What to do with bogus groups in newsrc file\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8327,65 +8485,81 @@ msgstr ""
 "#   1 = ç§»é™¤\n"
 "#   2 = ä»¥ D é«˜äº®åº¦é¡¯ç¤ºæ–¼é¸æ“‡èž¢å¹•\n"
 
-#: src/lang.c:3183
+#: src/lang.c:3244
 msgid ""
 "Enter number of seconds to wait for a response from the server. <CR> sets."
 msgstr "è¼¸å…¥å¾žä¼ºæœå™¨ç­‰å¾…å›žæ‡‰çš„ç§’æ•¸ã€‚<CR> è¡¨ç¤ºè¨­å®šã€‚"
 
-#: src/lang.c:3184
+#: src/lang.c:3245
 msgid "NNTP read timeout in seconds"
 msgstr "NNTP è®€å–é€¾æ™‚çš„ç§’æ•¸"
 
-#: src/lang.c:3185
+#: src/lang.c:3246
 msgid ""
 "# Time in seconds to wait for a response from the server (0=no timeout)\n"
 msgstr "# å¾žä¼ºæœå™¨ç­‰å¾…å›žæ‡‰çš„ç§’æ•¸æ™‚é–“ (0=æ²’æœ‰é€¾æ™‚é™åˆ¶)\n"
 
-#: src/lang.c:3190
+#: src/lang.c:3251
 msgid "Enter number of seconds until active file will be reread. <CR> sets."
 msgstr "è¼¸å…¥é‡æ–°è®€å–ç¾ç”¨æª”æ¡ˆçš„é–“éš”ç§’æ•¸ã€‚<CR> è¨­å®šã€‚"
 
-#: src/lang.c:3191
+#: src/lang.c:3252
 msgid "Interval in secs to reread active"
 msgstr "é‡æ–°è®€å–ç¾ç”¨æª”æ¡ˆçš„é–“éš”(ä»¥ç§’ç‚ºå–®ä½)"
 
-#: src/lang.c:3192
+#: src/lang.c:3253
 msgid ""
 "# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr "# é‡æ–°è®€å–ç¾ç”¨æª”æ¡ˆçš„æ™‚é–“é–“éš”ç§’æ•¸ (0=æ°¸ä¸)\n"
 
-#: src/lang.c:3197
+#: src/lang.c:3258
 msgid "Reconnect to server automatically"
 msgstr "è‡ªå‹•é‡æ–°é€£ç·šåˆ°ä¼ºæœå™¨"
 
-#: src/lang.c:3198
+#: src/lang.c:3259
 msgid ""
 "# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±æ–¼é€£æŽ¥ä¸­æ–·æ™‚è‡ªå‹•é‡æ–°é€£ç·šåˆ° NNTP ä¼ºæœå™¨\n"
 
-#: src/lang.c:3202
+#: src/lang.c:3263
 msgid ""
 "Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr "å»ºç«‹ NNTP æ¦‚è§€æª”æ¡ˆçš„æœ¬åœ°è¤‡æœ¬ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:3203
+#: src/lang.c:3264
 msgid "Cache NNTP overview files locally"
 msgstr "ç”¢ç”Ÿ NNTP æ¦‚è§€æª”æ¡ˆçš„æœ¬åœ°å¿«å–"
 
-#: src/lang.c:3204
+#: src/lang.c:3265
 msgid "# If ON, create local copies of NNTP overview files.\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±å»ºç«‹ NNTP æ¦‚è§€æª”æ¡ˆçš„æœ¬åœ°è¤‡æœ¬ã€‚\n"
 
-#: src/lang.c:3208 src/lang.c:3223 src/lang.c:3243 src/lang.c:3266
-#: src/lang.c:3291 src/lang.c:3313 src/lang.c:3332
+#: src/lang.c:3270
+#, fuzzy
+msgid ""
+"Compress local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
+msgstr "å»ºç«‹ NNTP æ¦‚è§€æª”æ¡ˆçš„æœ¬åœ°è¤‡æœ¬ã€‚<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
+
+#: src/lang.c:3271
+#, fuzzy
+msgid "Compress locally cached NNTP overview files"
+msgstr "ç”¢ç”Ÿ NNTP æ¦‚è§€æª”æ¡ˆçš„æœ¬åœ°å¿«å–"
+
+#: src/lang.c:3272
+#, fuzzy
+msgid "# If ON, compress local copies of NNTP overview files.\n"
+msgstr "# å¦‚æžœé–‹å•Ÿå°±å»ºç«‹ NNTP æ¦‚è§€æª”æ¡ˆçš„æœ¬åœ°è¤‡æœ¬ã€‚\n"
+
+#: src/lang.c:3277 src/lang.c:3292 src/lang.c:3312 src/lang.c:3335
+#: src/lang.c:3360 src/lang.c:3382 src/lang.c:3401
 msgid "Enter format string. <CR> sets, <ESC> cancels."
 msgstr "è¼¸å…¥æ ¼å¼å­—ä¸²ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3209
+#: src/lang.c:3278
 msgid "Format string for selection level"
 msgstr "é¸æ“‡å±¤ç´šçš„æ ¼å¼å­—ä¸²"
 
-#: src/lang.c:3210
+#: src/lang.c:3279
 msgid ""
 "# Format string for selection level representation\n"
 "# Default: %f %n %U  %G  %d\n"
@@ -8409,11 +8583,11 @@ msgstr ""
 "#   %n              æ•¸å­—ï¼Œèž¢å¹•ä¸Šçš„åˆ—è™Ÿ\n"
 "#   %U              æœªè®€è¨ˆæ•¸\n"
 
-#: src/lang.c:3224
+#: src/lang.c:3293
 msgid "Format string for group level"
 msgstr "ç”¨æ–¼ç¾¤çµ„å±¤ç´šçš„æ ¼å¼å­—ä¸²"
 
-#: src/lang.c:3225
+#: src/lang.c:3294
 msgid ""
 "# Format string for group level representation\n"
 "# Default: %n %m %R %L  %s  %F\n"
@@ -8447,12 +8621,12 @@ msgstr ""
 "#   %s              ä¸»æ—¨ (åªæœ‰åœ¨ç¾¤çµ„ç­‰ç´š)\n"
 "#   %S              åˆ†æ•¸\n"
 
-#: src/lang.c:3244
+#: src/lang.c:3313
 #, fuzzy
 msgid "Format string for attachment level"
 msgstr "# ç”¨æ–¼è¨Žè«–ä¸²å±¤ç´šçš„æ ¼å¼å­—ä¸²"
 
-#: src/lang.c:3245
+#: src/lang.c:3314
 #, fuzzy
 msgid ""
 "# Format string for attachment level representation\n"
@@ -8490,12 +8664,12 @@ msgstr ""
 "#   %s              ä¸»æ—¨ (åªæœ‰åœ¨ç¾¤çµ„ç­‰ç´š)\n"
 "#   %S              åˆ†æ•¸\n"
 
-#: src/lang.c:3267
+#: src/lang.c:3336
 #, fuzzy
 msgid "Format string for display of mime header"
 msgstr "ç”¨æ–¼é¡¯ç¤ºæ—¥æœŸçš„æ ¼å¼å­—ä¸²"
 
-#: src/lang.c:3268
+#: src/lang.c:3337
 #, fuzzy
 msgid ""
 "# Format string for mime header at article level\n"
@@ -8535,12 +8709,12 @@ msgstr ""
 "#   %s              ä¸»æ—¨ (åªæœ‰åœ¨ç¾¤çµ„ç­‰ç´š)\n"
 "#   %S              åˆ†æ•¸\n"
 
-#: src/lang.c:3292
+#: src/lang.c:3361
 #, fuzzy
 msgid "Format string for display of uue header"
 msgstr "ç”¨æ–¼é¡¯ç¤ºæ—¥æœŸçš„æ ¼å¼å­—ä¸²"
 
-#: src/lang.c:3293
+#: src/lang.c:3362
 #, fuzzy
 msgid ""
 "# Format string for uue header at article level\n"
@@ -8577,11 +8751,11 @@ msgstr ""
 "#   %s              ä¸»æ—¨ (åªæœ‰åœ¨ç¾¤çµ„ç­‰ç´š)\n"
 "#   %S              åˆ†æ•¸\n"
 
-#: src/lang.c:3314
+#: src/lang.c:3383
 msgid "Format string for thread level"
 msgstr "# ç”¨æ–¼è¨Žè«–ä¸²å±¤ç´šçš„æ ¼å¼å­—ä¸²"
 
-#: src/lang.c:3315
+#: src/lang.c:3384
 msgid ""
 "# Format string for thread level representation\n"
 "# Default: %n %m  [%L]  %T  %F\n"
@@ -8613,19 +8787,19 @@ msgstr ""
 "#   %S              åˆ†æ•¸\n"
 "#   %T              è¨Žè«–ä¸²æ¨¹ (åªæœ‰åœ¨è¨Žè«–ä¸²ç­‰ç´š)\n"
 
-#: src/lang.c:3333
+#: src/lang.c:3402
 msgid "Format string for display of dates"
 msgstr "ç”¨æ–¼é¡¯ç¤ºæ—¥æœŸçš„æ ¼å¼å­—ä¸²"
 
-#: src/lang.c:3334
+#: src/lang.c:3403
 msgid "# Format string for date representation\n"
 msgstr "# ç”¨æ–¼æ—¥æœŸè¡¨ç¤ºçš„æ ¼å¼å­—ä¸²\n"
 
-#: src/lang.c:3344
+#: src/lang.c:3413
 msgid "Unicode normalization form"
 msgstr "è¬åœ‹ç¢¼æ­£è¦åŒ–å½¢å¼"
 
-#: src/lang.c:3345
+#: src/lang.c:3414
 #, fuzzy
 msgid ""
 "# Unicode normalization form\n"
@@ -8646,19 +8820,19 @@ msgstr ""
 "#   4 = NFD\n"
 "#   5 = NFKC_CF\n"
 
-#: src/lang.c:3359
+#: src/lang.c:3428
 msgid "Render BiDi"
 msgstr "æ½¤ç®—é›™å‘æ–‡å­—"
 
-#: src/lang.c:3360
+#: src/lang.c:3429
 msgid "# If ON, bi-directional text is rendered by tin\n"
 msgstr "# å¦‚æžœé–‹å•Ÿå°±ç”± tin æ½¤ç®—é›™å‘æ–‡å­—\n"
 
-#: src/lang.c:3367
+#: src/lang.c:3436
 msgid "Function for sorting articles"
 msgstr "ç”¨æ–¼æŽ’åºæ–‡ç« çš„å‡½å¼"
 
-#: src/lang.c:3368
+#: src/lang.c:3437
 msgid ""
 "# Function for sorting articles\n"
 "# Possible values are (the default is marked with *):\n"
@@ -8670,179 +8844,189 @@ msgstr ""
 "# * 0 = å¿«é€ŸæŽ’åº\n"
 "#   1 = å †ç©æŽ’åº\n"
 
-#: src/lang.c:3381
+#: src/lang.c:3450
 msgid "Automatically GroupMarkUnselArtRead"
 msgstr "è‡ªå‹• GroupMarkUnselArtRead"
 
-#: src/lang.c:3387
+#: src/lang.c:3456
 msgid "Delete post-process files"
 msgstr "åˆªé™¤å¾ŒçºŒè™•ç†æª”æ¡ˆ"
 
-#: src/lang.c:3392
+#: src/lang.c:3461
 msgid "Filename for all mailed articles, <CR> sets, no filename=do not save."
 msgstr "ç”¨æ–¼æ‰€æœ‰å·²éƒµå¯„æ–‡ç« çš„æª”åï¼Œ<CR> è¨­å®šï¼Œæ²’æœ‰æª”å=ä¸å„²å­˜ã€‚"
 
-#: src/lang.c:3393
+#: src/lang.c:3462
 msgid "Mailbox to save sent mails"
 msgstr "è¦å„²å­˜å·²ç™¼é€éƒµä»¶çš„ä¿¡ç®±"
 
-#: src/lang.c:3398
+#: src/lang.c:3467
 msgid "Set Followup-To: header to this group(s). <CR> sets, <ESC> cancels."
 msgstr "è¨­å®š Followup-To: æ¨™é ­ç‚ºé€™å€‹ç¾¤çµ„ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3399
+#: src/lang.c:3468
 msgid "Followup-To: header"
 msgstr "Followup-To: æ¨™é ­"
 
-#: src/lang.c:3404
+#: src/lang.c:3473
 msgid "Enter default mail address (and fullname). <CR> sets, <ESC> cancels."
 msgstr "è¼¸å…¥é è¨­éƒµä»¶åœ°å€ (é™„å…¨å)ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3411
+#: src/lang.c:3480
 msgid ""
 "Path and options for ispell-like spell-checker. <CR> sets, <ESC> cancels."
 msgstr "åšç‚ºé¡žä¼¼ ispell æ‹¼å¯«æª¢æŸ¥å™¨çš„è·¯å¾‘å’Œé¸é …ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3412
+#: src/lang.c:3481
 msgid "Ispell program"
 msgstr "Ispell ç¨‹å¼"
 
-#: src/lang.c:3418
+#: src/lang.c:3487
 msgid "When group is a mailing list, send responses to this email address."
 msgstr "ç•¶ç¾¤çµ„æ˜¯å€‹éƒµéžè«–å£‡æ™‚ï¼Œç™¼é€å›žæ‡‰åˆ°é€™å€‹é›»å­éƒµä»¶åœ°å€ã€‚"
 
-#: src/lang.c:3419
+#: src/lang.c:3488
 msgid "Mailing list address"
 msgstr "éƒµéžè«–å£‡åœ°å€"
 
-#: src/lang.c:3425
+#: src/lang.c:3494
 msgid "Forward articles as attachment"
 msgstr "åšç‚ºè½‰å¯„æ–‡ç« çš„é™„ä»¶"
 
-#: src/lang.c:3430
+#: src/lang.c:3499
 msgid ""
 "A comma separated list of MIME major/minor Content-Types. <ESC> cancels."
 msgstr "é€—è™Ÿåˆ†éš”çš„ MIME ä¸»è¦/æ¬¡è¦å…§å®¹é¡žåž‹æ¸…å–®ã€‚<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3431
+#: src/lang.c:3500
 msgid "Which MIME types will be saved"
 msgstr "å°‡è¢«å„²å­˜çš„ MIME é¡žåž‹"
 
-#: src/lang.c:3436
+#: src/lang.c:3505
 msgid "Value of the Organization: header. <CR> sets, <ESC> cancels."
 msgstr "Organization: æ¨™é ­çš„å€¼ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3437
+#: src/lang.c:3506
 msgid "Organization: header"
 msgstr "Organization: æ¨™é ­"
 
-#: src/lang.c:3442
+#: src/lang.c:3511
 msgid "Filename for saved articles. <CR> sets, <ESC> cancels."
 msgstr "ç”¨æ–¼å·²å„²å­˜æ–‡ç« çš„æª”åã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3443
+#: src/lang.c:3512
 msgid "savefile"
 msgstr "å„²å­˜æª”æ¡ˆ"
 
-#: src/lang.c:3448 src/lang.c:3472
+#: src/lang.c:3517 src/lang.c:3541
 msgid "Scope for the filter rule. <CR> sets, <ESC> cancels."
 msgstr "ç”¨æ–¼ç¯©é¸å™¨è¦å‰‡çš„ç¯„åœã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3449
+#: src/lang.c:3518
 msgid "Quick (1 key) select filter scope"
 msgstr "å¿«é€Ÿ (1 éµ) é¸å–ç¯©é¸å™¨ç¯„åœ"
 
-#: src/lang.c:3454 src/lang.c:3478
+#: src/lang.c:3523 src/lang.c:3547
 msgid "Header for filter rule. <CR> sets, <ESC> cancels."
 msgstr "ç”¨æ–¼ç¯©é¸å™¨è¦å‰‡çš„æ¨™é ­ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3455
+#: src/lang.c:3524
 msgid "Quick (1 key) select filter header"
 msgstr "å¿«é€Ÿ (1 éµ) é¸å–ç¯©é¸å™¨æ¨™é ­"
 
-#: src/lang.c:3460 src/lang.c:3484
+#: src/lang.c:3529 src/lang.c:3553
 msgid "ON = case sensitive, OFF = ignore case. <CR> sets, <ESC> cancels."
 msgstr "ON = å¤§å°å¯«ç›¸ç¬¦ï¼ŒOFF = å¿½ç•¥å¤§å°å¯«ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3461
+#: src/lang.c:3530
 msgid "Quick (1 key) select filter case"
 msgstr "å¿«é€Ÿ (1 éµ) é¸å–ç¯©é¸å™¨å¤§å°å¯«"
 
-#: src/lang.c:3466 src/lang.c:3490
+#: src/lang.c:3535 src/lang.c:3559
 msgid "ON = expire, OFF = don't ever expire. <CR> sets, <ESC> cancels."
 msgstr "ON = éŽæœŸï¼ŒOFF = ä¸æœƒéŽæœŸã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3467
+#: src/lang.c:3536
 msgid "Quick (1 key) select filter expire"
 msgstr "å¿«é€Ÿ (1 éµ) é¸å–ç¯©é¸å™¨éŽæœŸ"
 
-#: src/lang.c:3473
+#: src/lang.c:3542
 msgid "Quick (1 key) kill filter scope"
 msgstr "å¿«é€Ÿ (1 éµ) ç é™¤ç¯©é¸å™¨ç¯„åœ"
 
-#: src/lang.c:3479
+#: src/lang.c:3548
 msgid "Quick (1 key) kill filter header"
 msgstr "å¿«é€Ÿ (1 éµ) ç é™¤ç¯©é¸å™¨æ¨™é ­"
 
-#: src/lang.c:3485
+#: src/lang.c:3554
 msgid "Quick (1 key) kill filter case"
 msgstr "å¿«é€Ÿ (1 éµ) ç é™¤ç¯©é¸å™¨å¤§å°å¯«"
 
-#: src/lang.c:3491
+#: src/lang.c:3560
 msgid "Quick (1 key) kill filter expire"
 msgstr "å¿«é€Ÿ (1 éµ) ç é™¤ç¯©é¸å™¨éŽæœŸ"
 
-#: src/lang.c:3497
+#: src/lang.c:3566
 msgid "Assume this charset if no charset declaration is present, <CR> to set."
 msgstr "å¦‚æžœä¸å­˜åœ¨ä»»ä½•å­—å…ƒé›†å®£å‘Šå°±å‡è¨­ç‚ºé€™å€‹å­—å…ƒé›†ï¼Œ<CR> ä»¥è¨­å®šã€‚"
 
-#: src/lang.c:3498
+#: src/lang.c:3567
 msgid "UNDECLARED_CHARSET"
 msgstr "æœªå®£å‘Šå­—å…ƒé›†"
 
-#: src/lang.c:3504
+#: src/lang.c:3572
+#, fuzzy
+msgid "Guess charset if no charset declaration is present, <CR> to set."
+msgstr "å¦‚æžœä¸å­˜åœ¨ä»»ä½•å­—å…ƒé›†å®£å‘Šå°±å‡è¨­ç‚ºé€™å€‹å­—å…ƒé›†ï¼Œ<CR> ä»¥è¨­å®šã€‚"
+
+#: src/lang.c:3573
+#, fuzzy
+msgid "UNDECLARED_CS_GUESS"
+msgstr "æœªå®£å‘Šå­—å…ƒé›†"
+
+#: src/lang.c:3580
 msgid ""
 "Add this text at the start of the message body. <CR> sets, <ESC> cancels."
 msgstr "åŠ å…¥é€™å€‹æ–‡å­—æ–¼è¨Šæ¯å…§æ–‡çš„é–‹å§‹ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3505
+#: src/lang.c:3581
 msgid "X_Body"
 msgstr "X_Body"
 
-#: src/lang.c:3510
+#: src/lang.c:3586
 msgid "Insert this header when posting. <CR> sets, <ESC> cancels."
 msgstr "å¼µè²¼æ™‚æ’å…¥é€™å€‹æ¨™é ­ã€‚<CR> è¨­å®šï¼Œ<ESC> å–æ¶ˆã€‚"
 
-#: src/lang.c:3511
+#: src/lang.c:3587
 msgid "X_Headers"
 msgstr "X_Headers"
 
-#: src/lang.c:3516
+#: src/lang.c:3592
 msgid ""
 "Automatically insert an X-Comment-To: header? <SPACE> toggles & <CR> sets."
 msgstr "è‡ªå‹•æ’å…¥ X-Comment-To: æ¨™é ­ï¼Ÿ<SPACE> åˆ‡æ› & <CR> è¨­å®šã€‚"
 
-#: src/lang.c:3517
+#: src/lang.c:3593
 msgid "Insert 'X-Comment-To:' header"
 msgstr "æ’å…¥ã€ŽX-Comment-To:ã€æ¨™é ­"
 
-#: src/lang.c:3523
+#: src/lang.c:3599
 #, fuzzy
 msgid "Enter name of file containing trusted CA certificates. <CR> sets."
 msgstr "è¼¸å…¥è¢«èªç‚ºæœ€è¿‘æ–‡ç« çš„æ—¥æ•¸ã€‚<CR> è¨­å®šã€‚"
 
-#: src/lang.c:3524
+#: src/lang.c:3600
 #, fuzzy
 msgid "CA certificate file"
 msgstr "ç·¨è¼¯ç¯©é¸å™¨æª”æ¡ˆ"
 
-#: src/lang.c:3525
+#: src/lang.c:3601
 msgid ""
 "# name of file containing all trusted CA certificates (empty = system "
 "default)\n"
 msgstr ""
 
-#: src/nntplib.c:908
+#: src/nntplib.c:963
 #, c-format
 msgid ""
 "\n"
@@ -8851,33 +9035,63 @@ msgstr ""
 "\n"
 "ä¼ºæœå™¨å·²é€¾æ™‚ï¼Œå˜—è©¦é‡æ–°é€£ç·š # %d\n"
 
-#: src/nntplib.c:950 src/nntplib.c:2032
+#: src/nntplib.c:1006 src/nntplib.c:2115
 msgid "Rejoin current group\n"
 msgstr "é‡æ–°é€£çµç›®å‰çš„ç¾¤çµ„\n"
 
-#: src/nntplib.c:959 src/nntplib.c:2041
+#: src/nntplib.c:1015 src/nntplib.c:2124
 #, c-format
 msgid "Read (%s)\n"
 msgstr "å·²è®€ (%s)\n"
 
-#: src/nntplib.c:961
+#: src/nntplib.c:1017
 #, c-format
 msgid "Resend last command (%s)\n"
 msgstr "é‡æ–°ç™¼é€æœ€è¿‘çš„å‘½ä»¤ (%s)\n"
 
-#: src/read.c:363
+#: src/read.c:358
 msgid "Aborted read\n"
 msgstr "å·²æ”¾æ£„è®€å–\n"
 
-#: src/read.c:418
+#: src/read.c:413
 msgid "Draining\n"
 msgstr "æŽ’æ”¾\n"
 
-#: src/refs.c:656
+#: src/refs.c:654
 msgid "[- Unavailable -]"
 msgstr "[- ç„¡æ³•ä½¿ç”¨ -]"
 
-#, fuzzy, c-format
+#~ msgid "Invalid  From: %s  line. Read the INSTALL file again."
+#~ msgstr "ç„¡æ•ˆçš„   From: %s  åˆ—ã€‚è«‹å†é–±è®€ INSTALL æª”æ¡ˆã€‚"
+
+#~ msgid "bytes"
+#~ msgstr "ä½å…ƒçµ„"
+
+#~ msgid "\tChecksum of %s (%ld %s)"
+#~ msgstr "\t%s çš„ç¸½å’Œæª¢æŸ¥ç¢¼ (%ld %s)"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in Approved: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "éŒ¯èª¤ï¼šä¸ç•¶çš„åœ°å€æ–¼ Approved: æ¨™é ­ã€‚\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in From: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "éŒ¯èª¤ï¼šä¸ç•¶çš„åœ°å€æ–¼ From: æ¨™é ­ã€‚\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Error: Bad address in Reply-To: header.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "éŒ¯èª¤ï¼šä¸ç•¶çš„åœ°å€æ–¼ Reply-To: æ¨™é ­ã€‚\n"
+
+#, fuzzy
 #~ msgid ""
 #~ "\n"
 #~ "Error: Header on line %d starts with a dot '.':\n"
@@ -8887,15 +9101,12 @@ msgstr "[- ç„¡æ³•ä½¿ç”¨ -]"
 #~ "éŒ¯èª¤ï¼šç¬¬ %d åˆ—çš„æ¨™é ­æ–¼å†’è™Ÿä¹‹å¾Œæ²’æœ‰ç©ºæ ¼ï¼š\n"
 #~ "%s\n"
 
-#, c-format
 #~ msgid "Version: %s %s release %s (\"%s\") %s %s\n"
 #~ msgstr "ç‰ˆæœ¬ï¼š%s %s é‡‹å‡º %s (ã€Œ%sã€) %s %s\n"
 
-#, c-format
 #~ msgid "%d lines"
 #~ msgstr "%d åˆ—"
 
-#, c-format
 #~ msgid ""
 #~ "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n"
 #~ "\n"
@@ -8903,7 +9114,7 @@ msgstr "[- ç„¡æ³•ä½¿ç”¨ -]"
 #~ "%*s[-- %s/%sï¼Œ%suuencoded æª”æ¡ˆï¼Œ%d åˆ—ï¼Œåç¨±ï¼š%s --]\n"
 #~ "\n"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "%*s[-- %s/%s%s%s%s%s, %d lines, encoding %s --]\n"
 #~ msgstr "%*s[-- %s/%sï¼Œç·¨ç¢¼ %s%s%sï¼Œ%d åˆ—%s%s --]\n"
 
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/Makefile.in tin-2.6.4/src/Makefile.in
--- tin-2.6.3/src/Makefile.in	2023-12-24 00:38:37.000000000 +0100
+++ tin-2.6.4/src/Makefile.in	2024-11-22 14:48:27.468386835 +0100
@@ -1,7 +1,7 @@
 # Source Makefile for tin
 # - for configuration options read the ../doc/INSTALL file.
 #
-# Updated: 2023-12-14
+# Updated: 2024-11-22
 #
 # Copyright (c) 1995-2024 Thomas E. Dickey <dickey@invisible-island.net>
 # All rights reserved.
@@ -54,8 +54,8 @@ PRELIB		= @LIB_PREFIX@
 x		= @EXEEXT@
 o		= .@OBJEXT@
 
-DEBUG		= @ENABLE_DEBUG@ -DDEBUG # -DPROFILE
-FEATURES	= # -DALLOW_FWS_IN_NEWSGROUPLIST # -DEVIL_INSIDE
+DEBUG		= @ENABLE_DEBUG@ -DDEBUG # -DPROFILE # -DINLINE_DEBUG_MIME
+FEATURES	= # -DREPRODUCIBLE_BUILD # -DALLOW_FWS_IN_NEWSGROUPLIST # -DEVIL_INSIDE # -DMAXARTNUM
 INTL_CPPFLAGS	= -DLOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\"
 PCRE_CPPFLAGS	= @PCREDIR_CPPFLAGS@ @PCREDIR_MAKE@ -I$(top_builddir)/pcre -I$(top_srcdir)/pcre
 
@@ -75,10 +75,9 @@ BUILD_LIBS	= @BUILD_LIBS@
 X		= $(BUILD_EXEEXT)
 
 CANLIB		= @CANLIBS@
-INTL_LIBS	= @INTLLIBS@
 PCRE_LIBS	= @PCREDIR_LIBS@ @PCREDIR_MAKE@ -L../pcre -lpcre
 LIBS		= @LIBS@
-LINK_LIBS	= $(PCRE_LIBS) $(CANLIB) @LIBS@ $(INTL_LIBS)
+LINK_LIBS	= $(PCRE_LIBS) $(CANLIB) @LIBS@
 
 # Where do you want the binary & manual page installed?
 DESTDIR		= @DESTDIR@
@@ -90,7 +89,6 @@ INS_OLD_SUFFIX	= old
 
 REMAKE		= $(MAKE) @cf_cv_makeflags@ DESTDIR="$(DESTDIR)"
 
-
 MAN_LINGUAS = de en_GB es
 
 # Project
@@ -134,10 +132,10 @@ HFILES	= \
 	$(INCDIR)/keymap.h \
 	$(INCDIR)/newsrc.h \
 	$(INCDIR)/nntplib.h \
-	$(INCDIR)/plp_snprintf.h \
 	$(INCDIR)/policy.h \
 	$(INCDIR)/proto.h \
 	$(INCDIR)/rfc2046.h \
+	$(INCDIR)/snprintf.h \
 	$(INCDIR)/stpwatch.h \
 	$(INCDIR)/tin.h \
 	$(INCDIR)/tinrc.h \
@@ -187,7 +185,6 @@ CFILES	= \
 	$(SRCDIR)/page.c \
 	$(SRCDIR)/parsdate.y \
 	$(SRCDIR)/pgp.c \
-	$(SRCDIR)/plp_snprintf.c \
 	$(SRCDIR)/post.c \
 	$(SRCDIR)/prompt.c \
 	$(SRCDIR)/read.c \
@@ -203,21 +200,20 @@ CFILES	= \
 	$(SRCDIR)/select.c \
 	$(SRCDIR)/sigfile.c \
 	$(SRCDIR)/signal.c \
+	$(SRCDIR)/snprintf.c \
 	$(SRCDIR)/strftime.c \
 	$(SRCDIR)/string.c \
 	$(SRCDIR)/tags.c \
 	$(SRCDIR)/tcurses.c \
-	$(SRCDIR)/tmpfile.c \
 	$(SRCDIR)/thread.c \
 	$(SRCDIR)/version.c \
 	$(SRCDIR)/wildmat.c \
 	$(SRCDIR)/xref.c
 
-EXTRA_INTLLIBS = @INTLDIR_MAKE@ @INTLLIBS@
 EXTRA_PCREHDRS = @PCREDIR_MAKE@ ../pcre/pcre.h
 EXTRA_PCRELIBS = @PCREDIR_MAKE@ ../pcre/$(PRELIB)pcre.a
 EXTRA_CANLIBS = @CANDIR_MAKE@ ../libcanlock/$(PRELIB)canlock.a
-EXTRALIBS = $(EXTRA_INTLLIBS) $(EXTRA_PCRELIBS) $(EXTRA_CANLIBS)
+EXTRALIBS = $(EXTRA_PCRELIBS) $(EXTRA_CANLIBS)
 
 OFILES	= @ALLOCA@ @EXTRAOBJS@ \
 	$(OBJDIR)/active$o \
@@ -261,7 +257,6 @@ OFILES	= @ALLOCA@ @EXTRAOBJS@ \
 	$(OBJDIR)/page$o \
 	$(OBJDIR)/parsdate$o \
 	$(OBJDIR)/pgp$o \
-	$(OBJDIR)/plp_snprintf$o \
 	$(OBJDIR)/post$o \
 	$(OBJDIR)/prompt$o \
 	$(OBJDIR)/read$o \
@@ -277,11 +272,11 @@ OFILES	= @ALLOCA@ @EXTRAOBJS@ \
 	$(OBJDIR)/select$o \
 	$(OBJDIR)/sigfile$o \
 	$(OBJDIR)/signal$o \
+	$(OBJDIR)/snprintf$o \
 	$(OBJDIR)/strftime$o \
 	$(OBJDIR)/string$o \
 	$(OBJDIR)/tags$o \
 	$(OBJDIR)/tcurses$o \
-	$(OBJDIR)/tmpfile$o \
 	$(OBJDIR)/thread$o \
 	$(OBJDIR)/version$o \
 	$(OBJDIR)/wildmat$o \
@@ -451,7 +446,7 @@ lint :	$(CFILES) $(SRCDIR)/heapsort.c $(
 clean :
 	@$(ECHO) "Cleaning ..."
 	@-$(RM) -f $(OFILES)
-	@-$(RM) -f $(OBJDIR)/parsdate.c
+	@-$(RM) -f $(OBJDIR)/parsdate.c $(OBJDIR)/y.tab.[chi]
 	@-$(RM) -f LINT *.ln *.out trace
 	@-$(RM) -f makecfg$X makecfg$o tincfg.h options_menu.h
 	@-$(RM) -rf makecfg.dSYM
@@ -459,7 +454,6 @@ clean :
 	@-$(RM) -f $(EXE)
 @PCREDIR_MAKE@	@-if test -r ../pcre/Makefile ; then $(CD) ../pcre && $(ECHO) "Cleaning Philip Hazel's Perl-compatible regular expressions library ..." && $(REMAKE) clean ; fi
 @MSG_DIR_MAKE@	@-if test -r ../po/Makefile ; then $(CD) ../po && $(REMAKE) $@ ; fi
-@INTLDIR_MAKE@	@-if test -r ../intl/Makefile ; then $(CD) ../intl && $(REMAKE) $@ ; fi
 
 laundry \
 dirty :
@@ -471,7 +465,6 @@ clobber :: clean
 	@-$(RM) -f $(OFILES) $(BINDIR)/$(EXE) tags TAGS LINT cflow.$(PACKAGE)
 
 distclean ::
-@INTLDIR_MAKE@	@-$(CD) ../intl && $(REMAKE) $@
 @MSG_DIR_MAKE@	@-$(CD) ../po && $(REMAKE) clean
 
 cflow :
@@ -486,10 +479,6 @@ cscope :
 @PCREDIR_MAKE@	@$(ECHO) "Building Philip Hazel's Perl regular expressions library ..."
 @PCREDIR_MAKE@	@$(CD) ../pcre && $(REMAKE) $(PRELIB)pcre.a
 
-@INTLDIR_MAKE@@INTLLIBS@ :
-@INTLDIR_MAKE@	@$(ECHO) "Building GNU gettext library ..."
-@INTLDIR_MAKE@	@$(CD) ../intl && $(REMAKE)
-
 @CANDIR_MAKE@../libcanlock/$(PRELIB)canlock.a :
 @CANDIR_MAKE@	@$(ECHO) "Building Cancel-Lock library ..."
 @CANDIR_MAKE@	@$(CD) ../libcanlock && $(REMAKE) lib
@@ -519,7 +508,7 @@ TIN_DEP	= \
 	$(INCDIR)/extern.h \
 	$(INCDIR)/nntplib.h \
 	$(INCDIR)/tcurses.h \
-	$(INCDIR)/proto.h $(EXTRA_PCREHDRS) $(EXTRA_INTLLIBS)
+	$(INCDIR)/proto.h $(EXTRA_PCREHDRS)
 
 $(OBJDIR)/active$o :		$(SRCDIR)/active.c $(TIN_DEP) \
 				$(INCDIR)/stpwatch.h
@@ -569,12 +558,15 @@ $(OBJDIR)/joinpath$o :		$(SRCDIR)/joinpa
 $(OBJDIR)/keymap$o :		$(SRCDIR)/keymap.c $(TIN_DEP) \
 				$(INCDIR)/keymap.h \
 				$(INCDIR)/version.h
-$(OBJDIR)/lang$o :		$(SRCDIR)/lang.c $(TIN_DEP)
+$(OBJDIR)/lang$o :		$(SRCDIR)/lang.c $(TIN_DEP) \
+				$(INCDIR)/tnntps.h
 $(OBJDIR)/langinfo$o :		$(SRCDIR)/langinfo.c $(TIN_DEP)
 $(OBJDIR)/list$o :		$(SRCDIR)/list.c $(TIN_DEP)
 $(OBJDIR)/lock$o :		$(SRCDIR)/lock.c $(TIN_DEP)
-$(OBJDIR)/mail$o :		$(SRCDIR)/mail.c $(TIN_DEP)
+$(OBJDIR)/mail$o :		$(SRCDIR)/mail.c $(TIN_DEP) \
+				$(INCDIR)/tnntp.h
 $(OBJDIR)/main$o :		$(SRCDIR)/main.c $(TIN_DEP) \
+				$(INCDIR)/tnntp.h \
 				$(INCDIR)/version.h
 $(OBJDIR)/memory$o :		$(SRCDIR)/memory.c $(TIN_DEP) \
 				$(INCDIR)/rfc2046.h
@@ -593,6 +585,7 @@ $(OBJDIR)/nntps$o :		$(SRCDIR)/nntps.c $
 				$(INCDIR)/tnntps.h
 $(OBJDIR)/nrctbl$o :		$(SRCDIR)/nrctbl.c $(TIN_DEP) \
 				$(INCDIR)/keymap.h \
+				$(INCDIR)/tnntp.h \
 				$(INCDIR)/version.h
 $(OBJDIR)/options_menu$o :	$(SRCDIR)/options_menu.c $(TIN_DEP) \
 				tincfg.h \
@@ -603,8 +596,6 @@ $(OBJDIR)/page$o :		$(SRCDIR)/page.c $(T
 $(OBJDIR)/parsdate$o :		$(OBJDIR)/parsdate.y $(TIN_DEP)
 $(OBJDIR)/pgp$o :		$(SRCDIR)/pgp.c $(TIN_DEP) \
 				$(INCDIR)/keymap.h
-$(OBJDIR)/plp_snprintf$o :	$(SRCDIR)/plp_snprintf.c $(TIN_DEP) \
-				$(INCDIR)/plp_snprintf.h
 $(OBJDIR)/post$o :		$(SRCDIR)/post.c $(TIN_DEP) \
 				$(INCDIR)/keymap.h \
 				$(INCDIR)/rfc2046.h \
@@ -627,7 +618,8 @@ $(OBJDIR)/rfc2047$o :		$(SRCDIR)/rfc2047
 $(OBJDIR)/save$o :		$(SRCDIR)/save.c $(TIN_DEP) \
 				$(INCDIR)/keymap.h \
 				$(INCDIR)/rfc2046.h
-$(OBJDIR)/screen$o :		$(SRCDIR)/screen.c $(TIN_DEP)
+$(OBJDIR)/screen$o :		$(SRCDIR)/screen.c $(TIN_DEP) \
+				$(INCDIR)/tnntp.h
 $(OBJDIR)/search$o :		$(SRCDIR)/search.c $(TIN_DEP) \
 				$(INCDIR)/keymap.h
 $(OBJDIR)/select$o :		$(SRCDIR)/select.c $(TIN_DEP) \
@@ -635,13 +627,14 @@ $(OBJDIR)/select$o :		$(SRCDIR)/select.c
 $(OBJDIR)/sigfile$o :		$(SRCDIR)/sigfile.c $(TIN_DEP)
 $(OBJDIR)/signal$o :		$(SRCDIR)/signal.c $(TIN_DEP) \
 				$(INCDIR)/version.h
+$(OBJDIR)/snprintf$o :	$(SRCDIR)/snprintf.c $(TIN_DEP) \
+				$(INCDIR)/snprintf.h
 $(OBJDIR)/strftime$o :		$(SRCDIR)/strftime.c $(TIN_DEP)
 $(OBJDIR)/string$o :		$(SRCDIR)/string.c $(TIN_DEP)
 $(OBJDIR)/tags$o :		$(SRCDIR)/tags.c $(TIN_DEP)
 $(OBJDIR)/tcurses$o :		$(SRCDIR)/tcurses.c $(TIN_DEP)
 $(OBJDIR)/thread$o :		$(SRCDIR)/thread.c $(TIN_DEP) \
 				$(INCDIR)/keymap.h
-$(OBJDIR)/tmpfile$o :		$(SRCDIR)/tmpfile.c $(TIN_DEP)
 $(OBJDIR)/version$o :		$(SRCDIR)/version.c $(TIN_DEP) \
 				$(INCDIR)/keymap.h \
 				$(INCDIR)/version.h
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/active.c tin-2.6.4/src/active.c
--- tin-2.6.3/src/active.c	2023-12-24 00:38:37.000000000 +0100
+++ tin-2.6.4/src/active.c	2024-12-16 02:34:04.147347729 +0100
@@ -3,10 +3,10 @@
  *  Module    : active.c
  *  Author    : I. Lea
  *  Created   : 1992-02-16
- *  Updated   : 2023-12-22
+ *  Updated   : 2024-12-16
  *  Notes     :
  *
- * Copyright (c) 1992-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1992-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -73,11 +73,11 @@ static FILE *open_newgroups_fp(int idx);
 static FILE *open_news_active_fp(void);
 static int check_for_any_new_groups(void);
 static void active_add(struct t_group *ptr, t_artnum count, t_artnum max, t_artnum min, const char *moderated);
-static void append_group_line(char *active_file, char *group_path, t_artnum art_max, t_artnum art_min, char *base_dir);
+static void append_group_line(const char *active_file, const char *group_path, t_artnum art_max, t_artnum art_min, char *base_dir);
 static void make_group_list(char *active_file, char *base_dir, char *fixed_base, char *group_path);
 static void read_active_file(void);
 static void read_newsrc_active_file(void);
-static void subscribe_new_group(char *group, char *autosubscribe, char *autounsubscribe);
+static void subscribe_new_group(char *group, const char *autosubscribe, const char *autounsubscribe);
 #ifdef NNTP_ABLE
 	static t_bool do_read_newsrc_active_file(FILE *fp);
 	static t_bool parse_count_line(char *line, t_artnum *max, t_artnum *min, t_artnum *count, char *moderated);
@@ -117,7 +117,7 @@ resync_active_file(
 		old_group = my_strdup(CURR_GROUP.name);
 
 	write_newsrc();
-	read_news_active_file();
+	read_news_active_file(FALSE);
 
 #ifdef HAVE_MH_MAIL_HANDLING
 	read_mail_active_file();
@@ -193,7 +193,7 @@ active_add(
  */
 t_bool
 process_bogus(
-	char *name) /* return value is always ignored */
+	const char *name) /* return value is always ignored */
 {
 	struct t_group *ptr;
 
@@ -235,7 +235,7 @@ parse_active_line(
 #endif /* DEBUG */
 	t_bool lineok = FALSE;
 
-	if (line[0] == '#' || line[0] == '\0')
+	if (!*line || *line == '#')
 		return lineok;
 
 #ifdef DEBUG
@@ -299,7 +299,7 @@ parse_count_line(
 	char *p = NULL, *q = NULL, *r = NULL, *s = NULL;
 	t_bool lineok = FALSE;
 
-	if (line[0] == '#' || line[0] == '\0')
+	if (!*line || *line == '#')
 		return FALSE;
 
 	if (strtok(line, ACTIVE_SEP)) {		/* skip group name */
@@ -357,10 +357,17 @@ do_read_newsrc_active_file(
 	t_artnum count = T_ARTNUM_CONST(-1), min = T_ARTNUM_CONST(1), max = T_ARTNUM_CONST(0);
 	static char ngname[NNTP_GRPLEN + 1]; /* RFC 3977 3.1 limits group names to 497 octets */
 	struct t_group *grpptr;
+	t_bool changed;
 #ifdef NNTP_ABLE
 	t_bool need_auth = FALSE;
 	char *ngnames[NUM_SIMULTANEOUS_GROUP_COMMAND] = { NULL };
+	char fmt[25];
+	char buf[NNTP_STRLEN];
+	char line[NNTP_STRLEN];
 	int index_i = 0, index_o = 0;
+	int respcode, i, j;
+
+	snprintf(fmt, sizeof(fmt), "%%"T_ARTNUM_SFMT" %%"T_ARTNUM_SFMT" %%"T_ARTNUM_SFMT" %%%ds", NNTP_GRPLEN);
 #endif /* NNTP_ABLE */
 
 	rewind(fp);
@@ -385,24 +392,21 @@ do_read_newsrc_active_file(
 			ptr = ngname;
 		}
 
-		if (read_news_via_nntp && !read_saved_news) {
+		if (read_news_via_nntp && !read_saved_news) { /* this should be limited to GROUP_TYPE_NEWS, but ... */
 #ifdef NNTP_ABLE
-			char buf[NNTP_STRLEN];
-			char line[NNTP_STRLEN];
-
-			if (window < NUM_SIMULTANEOUS_GROUP_COMMAND && ptr && (!list_active || (newsrc_active && list_active && group_find(ptr, FALSE)))) {
+			if (window < NUM_SIMULTANEOUS_GROUP_COMMAND && ptr && (!list_active || (newsrc_active && group_find(ptr, FALSE)))) {
 				ngnames[index_i] = my_strdup(ptr);
 				snprintf(buf, sizeof(buf), "GROUP %s", ngnames[index_i]);
 #	ifdef DEBUG
 				if ((debug & DEBUG_NNTP) && verbose > 1)
 					debug_print_file("NNTP", "read_newsrc_active_file() %s", buf);
 #	endif /* DEBUG */
-				put_server(buf);
+				put_server(buf, FALSE);
 				index_i = (index_i + 1) % NUM_SIMULTANEOUS_GROUP_COMMAND;
-				window++;
+				++window;
 			}
 			if (window == NUM_SIMULTANEOUS_GROUP_COMMAND || ptr == NULL) {
-				int respcode = get_only_respcode(line, sizeof(line));
+				respcode = get_only_respcode(line, sizeof(line));
 
 				if (reconnected_in_last_get_server) {
 					/*
@@ -411,8 +415,7 @@ do_read_newsrc_active_file(
 					 * We resend all buffered command except for last window_i.
 					 * And rotate buffer to use data received.
 					 */
-					int i;
-					int j = index_o;
+					j = index_o;
 
 					for (i = 0; i < window - 1; i++) {
 						snprintf(buf, sizeof(buf), "GROUP %s", ngnames[j]);
@@ -420,7 +423,7 @@ do_read_newsrc_active_file(
 						if ((debug & DEBUG_NNTP) && verbose > 1)
 							debug_print_file("NNTP", "read_newsrc_active_file() %s", buf);
 #	endif /* DEBUG */
-						put_server(buf);
+						put_server(buf, FALSE);
 						j = (j + 1) % NUM_SIMULTANEOUS_GROUP_COMMAND;
 					}
 					if (--index_o < 0)
@@ -432,12 +435,8 @@ do_read_newsrc_active_file(
 				}
 
 				switch (respcode) {
-
 					case OK_GROUP:
 						{
-							char fmt[25];
-
-							snprintf(fmt, sizeof(fmt), "%%"T_ARTNUM_SFMT" %%"T_ARTNUM_SFMT" %%"T_ARTNUM_SFMT" %%%ds", NNTP_GRPLEN);
 							if (sscanf(line, fmt, &count, &min, &max, ngname) != 4) {
 #	ifdef DEBUG
 								if ((debug & DEBUG_NNTP) && verbose > 1) {
@@ -450,7 +449,7 @@ do_read_newsrc_active_file(
 							ptr = ngname;
 							free(ngnames[index_o]);
 							index_o = (index_o + 1) % NUM_SIMULTANEOUS_GROUP_COMMAND;
-							window--;
+							--window;
 							break;
 						}
 
@@ -463,10 +462,13 @@ do_read_newsrc_active_file(
 					case ERR_NOGROUP:
 						free(ngnames[index_o]);
 						index_o = (index_o + 1) % NUM_SIMULTANEOUS_GROUP_COMMAND;
-						window--;
+						--window;
 						continue;
 
 					case ERR_ACCESS:
+						for (index_i = 0; index_i < NUM_SIMULTANEOUS_GROUP_COMMAND - 1; index_i++) {
+							FreeIfNeeded(ngnames[index_i]);
+						}
 						tin_done(NNTP_ERROR_EXIT, "%s", line);
 						/* keep lint quiet: */
 						/* FALLTHROUGH */
@@ -478,7 +480,7 @@ do_read_newsrc_active_file(
 #	endif /* DEBUG */
 						free(ngnames[index_o]);
 						index_o = (index_o + 1) % NUM_SIMULTANEOUS_GROUP_COMMAND;
-						window--;
+						--window;
 						continue;
 				}
 			} else
@@ -500,7 +502,7 @@ do_read_newsrc_active_file(
 		 * This call may implicitly ++num_active
 		 */
 		if ((grpptr = group_add(ptr)) == NULL) {
-			t_bool changed = FALSE;
+			changed = FALSE;
 
 			if ((grpptr = group_find(ptr, FALSE)) == NULL)
 				continue;
@@ -540,39 +542,31 @@ read_newsrc_active_file(
 	void)
 {
 	FILE *fp;
-#ifdef NNTP_ABLE
-	t_bool need_auth;
-#endif /* NNTP_ABLE */
 
 	/*
 	 * return immediately if no .newsrc can be found or .newsrc is empty
 	 * when function asked to use .newsrc
 	 */
-	if ((fp = fopen(newsrc, "r")) == NULL)
-		return;
-
-	if (file_size(newsrc) <= 0L) {
-		fclose(fp);
+	if ((fp = tin_fopen(newsrc, "r")) == NULL)
 		return;
-	}
 
-#ifdef NNTP_ABLE
-	need_auth = do_read_newsrc_active_file(fp);
-#else
+#ifndef NNTP_ABLE
 	do_read_newsrc_active_file(fp);
-#endif /* NNTP_ABLE */
-
-#ifdef NNTP_ABLE
-	if (need_auth) { /* delayed auth */
-		if (!authenticate(nntp_server, userid, FALSE))
+#else
+	if (do_read_newsrc_active_file(fp)) {	/* delayed auth */
+		if (!authenticate(nntp_server, userid, FALSE)) {
+			fclose(fp);
 			tin_done(EXIT_FAILURE, _(txt_auth_failed), ERR_ACCESS);
+		}
 #	if defined(MAXARTNUM) && defined(USE_LONG_ARTICLE_NUMBERS)
 		set_maxartnum(FALSE);
 #	endif /* MAXARTNUM && USE_LONG_ARTICLE_NUMBERS */
-		if (do_read_newsrc_active_file(fp))
+		if (do_read_newsrc_active_file(fp)) {
+			fclose(fp);
 			tin_done(EXIT_FAILURE, _(txt_auth_failed), ERR_ACCESS);
+		}
 	}
-#endif /* NNTP_ABLE */
+#endif /* !NNTP_ABLE */
 
 	fclose(fp);
 
@@ -787,7 +781,7 @@ read_active_counts(
  */
 int
 read_news_active_file(
-	void)
+	t_bool check_any_unread)
 {
 	FILE *fp;
 	int newgrps = 0;
@@ -800,16 +794,11 @@ read_news_active_file(
 	 * Ignore -n if no .newsrc can be found or .newsrc is empty
 	 */
 	if (newsrc_active) {
-		if ((fp = fopen(newsrc, "r")) == NULL) {
+		if ((fp = tin_fopen(newsrc, "r")) == NULL) {
 			list_active = TRUE;
 			newsrc_active = FALSE;
-		} else {
+		} else
 			fclose(fp);
-			if (file_size(newsrc) <= 0L) {
-				list_active = TRUE;
-				newsrc_active = FALSE;
-			}
-		}
 	}
 
 	/* Read an active file if it is allowed */
@@ -835,20 +824,20 @@ read_news_active_file(
 		 * PIPELINE_LIMIT groups in newsrc
 		 */
 		if (read_news_via_nntp && (list_active || nntp_caps.list_counts) && !did_list_cmd) {
-			char buff[NNTP_STRLEN];
-			char *ptr, *q;
-			char moderated[PATH_LEN];
-			int r = 0, j = 0;
-			int i;
-			struct t_group *grpptr;
-			t_artnum count = T_ARTNUM_CONST(-1), min = T_ARTNUM_CONST(1), max = T_ARTNUM_CONST(0);
-			t_bool need_auth = FALSE;
-
-			*buff = '\0';
 			/* we can't use for_each_group(i) yet, so we have to parse the newsrc */
-			if ((fp = fopen(newsrc, "r")) != NULL) {
+			if ((fp = tin_fopen(newsrc, "r")) != NULL) {
+				char buff[NNTP_STRLEN];
+				char moderated[PATH_LEN];
+				char *ptr, *q;
+				int r = 0, j = 0;
+				int i;
+				t_artnum count = T_ARTNUM_CONST(-1), min = T_ARTNUM_CONST(1), max = T_ARTNUM_CONST(0);
+				struct t_group *grpptr;
+				t_bool need_auth = FALSE;
+
+				*buff = '\0';
 				while (tin_fgets(fp, FALSE) != NULL)
-					j++;
+					++j;
 				rewind(fp);
 				if (j < PIPELINE_LIMIT) {
 					while ((ptr = tin_fgets(fp, FALSE)) != NULL) {
@@ -861,21 +850,21 @@ read_news_active_file(
 								snprintf(buff + strlen(buff), sizeof(buff) - strlen(buff), ",%s", ptr);
 							} else {
 								if (*buff) {
-									put_server(buff);
-									r++;
+									put_server(buff, FALSE);
+									++r;
 								}
 								snprintf(buff, sizeof(buff), "LIST %s %s", nntp_caps.list_counts ? "COUNTS" : "ACTIVE", ptr);
 							}
 							continue;
 						} else
 							snprintf(buff, sizeof(buff), "LIST ACTIVE %s", ptr);
-						put_server(buff);
-						r++;
+						put_server(buff, FALSE);
+						++r;
 						*buff = '\0';
 					}
 					if (*buff) {
-						put_server(buff);
-						r++;
+						put_server(buff, FALSE);
+						++r;
 					}
 				} else
 					do_group_cmds = TRUE;
@@ -923,11 +912,11 @@ read_news_active_file(
 								}
 								active_add(grpptr, count, max, min, moderated);
 							}
-#	ifdef DEBUG
+#		ifdef DEBUG
 							/* log end of multiline response to get timing data */
 							if ((debug & DEBUG_NNTP) && !verbose)
 								debug_print_file("NNTP", "<<<%s%s", logtime(), txt_log_data_hidden);
-#	endif /* DEBUG */
+#		endif /* DEBUG */
 						}
 					}
 					if (need_auth) { /* retry after auth is overkill here, so just auth */
@@ -956,10 +945,13 @@ read_news_active_file(
 
 	/*
 	 * finally we have a list of all groups and can set the attributes
+	 * if required
 	 */
-	BegStopWatch();
-	assign_attributes_to_groups();
-	EndStopWatch("assign_attributes_to_groups()");
+	if (!check_any_unread) {
+		BegStopWatch();
+		assign_attributes_to_groups();
+		EndStopWatch("assign_attributes_to_groups()");
+	}
 
 	return newgrps;
 }
@@ -967,32 +959,49 @@ read_news_active_file(
 
 /*
  * Open the active.times file locally or send the NEWGROUPS command
- * "NEWGROUPS yymmdd hhmmss"
+ * "NEWGROUPS yymmdd hhmmss" (or "NEWGROUPS yyymmdd hhmmss GMT" if
+ * server knows CAPABILITIES (=RFC 3977)).
  */
 static FILE *
 open_newgroups_fp(
 	int idx)
 {
 #ifdef NNTP_ABLE
-	char line[NNTP_STRLEN];
-	struct tm *ngtm;
-
 	if (read_news_via_nntp && !read_saved_news) {
-		/*
-		 * not checking for caps_type == CAPABILITIES && reader as some
-		 * servers do not support it even if advertising READER so we must
-		 * handle errors anyway and just issue the cmd.
-		 */
-		if (idx == -1 || ((ngtm = localtime(&newnews[idx].time)) == NULL))
-			return (FILE *) 0;
+		char line[NNTP_STRLEN];
+		const struct tm *ngtm;
 
-		/*
-		 * RFC 3977 states that we SHOULD use 4 digit year but some servers
-		 * still do not support it.
-		 */
-		snprintf(line, sizeof(line), "NEWGROUPS %02d%02d%02d %02d%02d%02d",
-			ngtm->tm_year % 100, ngtm->tm_mon + 1, ngtm->tm_mday,
-			ngtm->tm_hour, ngtm->tm_min, ngtm->tm_sec);
+		if (idx >= 0) {
+			if (nntp_caps.type == CAPABILITIES)
+				ngtm = gmtime(&newnews[idx].time);
+			else
+				ngtm = localtime(&newnews[idx].time);
+
+			if (ngtm == NULL)
+				return (FILE *) 0;
+
+			if (nntp_caps.type == CAPABILITIES) {
+			/*
+			 * not checking for caps_type == CAPABILITIES && reader as some
+			 * servers do not support it even if advertising READER so we must
+			 * handle errors anyway and just issue the cmd. but we use
+			 * GMT and 4 didigit year on RFC 3977 servers. 4 digit year
+			 * was introduced before Y2K ...
+			 */
+				snprintf(line, sizeof(line), "NEWGROUPS %04d%02d%02d %02d%02d%02d GMT",
+				ngtm->tm_year + 1900, ngtm->tm_mon + 1, ngtm->tm_mday,
+				ngtm->tm_hour, ngtm->tm_min, ngtm->tm_sec);
+			} else {
+				/*
+				 * RFC 3977 states that we SHOULD use 4 digit year but some servers
+				 * still do not support it.
+				 */
+				snprintf(line, sizeof(line), "NEWGROUPS %02d%02d%02d %02d%02d%02d",
+				ngtm->tm_year % 100, ngtm->tm_mon + 1, ngtm->tm_mday,
+				ngtm->tm_hour, ngtm->tm_min, ngtm->tm_sec);
+			}
+		} else
+			return (FILE *) 0;
 
 		return (nntp_command(line, OK_NEWGROUPS, NULL, 0));
 	}
@@ -1000,6 +1009,7 @@ open_newgroups_fp(
 	/* silence compiler warning (unused parameter) */
 	(void) idx;
 #endif /* NNTP_ABLE */
+
 	return (fopen(active_times_file, "r"));
 }
 
@@ -1018,7 +1028,7 @@ check_for_any_new_groups(
 	void)
 {
 	FILE *fp;
-	char *autosubscribe, *autounsubscribe;
+	const char *autosubscribe, *autounsubscribe;
 	char *ptr, *line, buf[NNTP_STRLEN];
 	char old_newnews_host[PATH_LEN];
 	int newnews_index;
@@ -1061,13 +1071,13 @@ check_for_any_new_groups(
 			 * we must check the creation date manually
 			 */
 			if ((ptr = strchr(line, ' ')) != NULL) {
-				if (!read_news_via_nntp && ((time_t) atol(ptr) < old_newnews_time || old_newnews_time == (time_t) 0))
+				if (!read_news_via_nntp && ((time_t) strtol(ptr, NULL, 10) < old_newnews_time || old_newnews_time == (time_t) 0))
 					continue;
 
 				*ptr = '\0';
 			}
 			subscribe_new_group(line, autosubscribe, autounsubscribe);
-			newgrps++;
+			++newgrps;
 		}
 		TIN_FCLOSE(fp);
 
@@ -1106,8 +1116,8 @@ check_for_any_new_groups(
 static void
 subscribe_new_group(
 	char *group,
-	char *autosubscribe,
-	char *autounsubscribe)
+	const char *autosubscribe,
+	const char *autounsubscribe)
 {
 	int idx;
 	struct t_group *ptr;
@@ -1170,10 +1180,10 @@ match_group_list(
 {
 	char *separator;
 	char pattern[HEADER_LEN];
-	size_t group_len, list_len;
+	char ngname[NNTP_GRPLEN + 1]; /* RFC 3977 3.1 limits group names to 497 octets */
+	size_t group_len, list_len = strlen(group_list);
 	t_bool negate, accept = FALSE;
 
-	list_len = strlen(group_list);
 	/*
 	 * walk through comma-separated entries in list
 	 */
@@ -1188,26 +1198,29 @@ match_group_list(
 			/*
 			 * a '!' before the pattern inverts sense of match
 			 */
-			group_list++;
-			group_len--;
-			list_len--;
+			++group_list;
+			--group_len;
+			--list_len;
 		}
 		/*
 		 * copy out the entry and terminate it properly
 		 */
-		strncpy(pattern, group_list, group_len);
-		pattern[group_len] = '\0';
+		my_strncpy(pattern, group_list, group_len);
+		my_strncpy(ngname, group, sizeof(ngname) - 1);
+		str_lwr(pattern);
+		str_lwr(ngname);
+
 		/*
-		 * case-insensitive wildcard match
+		 * "case-insensitive" (str_lwr(); avoid malloc()/free() in) wildcard match
 		 */
-		if (GROUP_MATCH(group, pattern, TRUE))
+		if (GROUP_MATCH(group, pattern, FALSE))
 			accept = bool_not(negate);	/* matched! */
 
 		/*
 		 * now examine next entry if any
 		 */
 		if (group_list[group_len] != '\0')
-			group_len++;	/* skip the separator */
+			++group_len;	/* skip the separator */
 
 		group_list += group_len;
 		list_len -= group_len;
@@ -1220,9 +1233,6 @@ match_group_list(
  * Add or update an entry to the in-memory newnews[] array (The times newgroups
  * were last checked for a particular news server)
  * If this is first time we've been called, zero out the array.
- *
- * Side effects:
- *   'info' is modified. Caller should not depend on it.
  */
 void
 load_newnews_info(
@@ -1249,7 +1259,10 @@ load_newnews_info(
 		return;
 
 	*ptr++ = '\0';
-	new_time = (time_t) atol(ptr);
+	errno = 0;
+	new_time = (time_t) strtol(ptr, NULL, 10);
+	if (errno == ERANGE)
+		new_time = (time_t) 0;
 
 	/*
 	 * If this is a new host entry, set it up
@@ -1328,7 +1341,7 @@ create_save_active_file(
 	if (no_write && file_size(local_save_active_file) != -1L)
 		return;
 
-	if (strfpath((cmdline.args & CMDLINE_SAVEDIR) ? cmdline.savedir : tinrc.savedir, group_path, sizeof(group_path), NULL, FALSE)) {
+	if (strfpath(cmdline.savedir ? cmdline.savedir : tinrc.savedir, group_path, sizeof(group_path), NULL, FALSE)) {
 		wait_message(0, _(txt_creating_active));
 		print_active_head(local_save_active_file);
 
@@ -1336,7 +1349,7 @@ create_save_active_file(
 			group_path[strlen(group_path) - 1] = '\0';
 
 		fb = my_strdup(group_path);
-		make_group_list(local_save_active_file, (cmdline.args & CMDLINE_SAVEDIR) ? cmdline.savedir : tinrc.savedir, fb, group_path);
+		make_group_list(local_save_active_file, cmdline.savedir ? cmdline.savedir : tinrc.savedir, fb, group_path);
 		free(fb);
 	}
 }
@@ -1357,10 +1370,9 @@ make_group_list(
 	t_artnum art_max;
 	t_artnum art_min;
 	struct stat stat_info;
-	t_bool is_dir;
+	t_bool is_dir = FALSE;
 
 	if ((dir = opendir(group_path)) != NULL) {
-		is_dir = FALSE;
 		while ((direntry = readdir(dir)) != NULL) {
 			STRCPY(filename, direntry->d_name);
 			joinpath(path, sizeof(path), group_path, filename);
@@ -1389,8 +1401,8 @@ make_group_list(
 
 static void
 append_group_line(
-	char *active_file,
-	char *group_path,
+	const char *active_file,
+	const char *group_path,
 	t_artnum art_max,
 	t_artnum art_min,
 	char *base_dir)
@@ -1401,7 +1413,8 @@ append_group_line(
 	if (art_max == 0 && art_min == 1)
 		return;
 
-	file_tmp = get_tmpfilename(active_file);
+	if ((file_tmp = get_tmpfilename(active_file)) == NULL)
+		return;
 
 	if (!backup_file(active_file, file_tmp)) {
 		free(file_tmp);
@@ -1414,7 +1427,7 @@ append_group_line(
 		int err;
 
 		ptr = group_name = my_strdup(group_path);
-		ptr++;
+		++ptr;
 		while ((ptr = strchr(ptr, '/')) != NULL)
 			*ptr = '.';
 
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/art.c tin-2.6.4/src/art.c
--- tin-2.6.3/src/art.c	2024-12-05 04:46:43.298147300 +0100
+++ tin-2.6.4/src/art.c	2024-12-21 17:43:55.502987536 +0100
@@ -3,10 +3,10 @@
  *  Module    : art.c
  *  Author    : I.Lea & R.Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2023-11-24
+ *  Updated   : 2024-12-21
  *  Notes     :
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -51,6 +51,16 @@
 #	include "stpwatch.h"
 #endif /* !STPWATCH_H */
 
+#if defined(USE_ZLIB) && defined(CPP_DOES_CONCAT)
+#	include <zlib.h>
+/* (read)/write data in gzip format (RFC 1952) */
+#	define FPRINTF	gzprintf
+#	define GFP(x)	g ## x
+#else
+#	define FPRINTF	fprintf
+#	define GFP(x)	x
+#endif /* USE_ZLIB && CPP_DOES_CONCAT */
+
 
 /*
  * TODO: fixup to remove CURR_GROUP dependency in all sort funcs
@@ -62,10 +72,10 @@ int top_art = 0;				/* # of articles in
 /*
  * Local prototypes
  */
-static FILE *open_art_header(char *groupname, t_artnum art, t_artnum *next);
-static FILE *open_xover_fp(struct t_group *group, const char *mode, t_artnum min, t_artnum max, t_bool local);
-static char *find_nov_file(struct t_group *group, int mode);
-static char *print_from(struct t_group *group, struct t_article *article, int charset);
+static FILE *open_art_header(const char *groupname, t_artnum art, t_artnum *next);
+static FILE *open_xover_fp(const struct t_group *group, const char *mode, t_artnum min, t_artnum max, t_bool local);
+static char *find_nov_file(const struct t_group *group, int mode);
+static char *print_from(const struct t_group *group, struct t_article *article, int charset);
 static int artnum_comp(t_comptype p1, t_comptype p2);
 static int base_comp(t_comptype p1, t_comptype p2);
 static int date_comp_asc(t_comptype p1, t_comptype p2);
@@ -77,7 +87,7 @@ static int last_date_comp_base_asc(t_com
 static int last_date_comp_base_desc(t_comptype p1, t_comptype p2);
 static int lines_comp_asc(t_comptype p1, t_comptype p2);
 static int lines_comp_desc(t_comptype p1, t_comptype p2);
-static int read_art_headers(struct t_group *group, int total, t_artnum top);
+static int read_art_headers(const struct t_group *group, int total, t_artnum top);
 static int read_overview(struct t_group *group, t_artnum min, t_artnum max, t_artnum *top, t_bool local, t_bool *rebuild_cache);
 static int score_comp_asc(t_comptype p1, t_comptype p2);
 static int score_comp_desc(t_comptype p1, t_comptype p2);
@@ -89,7 +99,8 @@ static t_artnum find_first_unread(struct
 static t_artnum setup_hard_base(struct t_group *group);
 static t_bool parse_headers(FILE *fp, struct t_article *h);
 static t_compfunc eval_sort_arts_func(unsigned int sort_art_type);
-static time_t get_last_posting_date(long n);
+static time_t get_last_posting_date(t_artnum n);
+static void build_mailbox_list(struct t_article *art, const char *hdr);
 static void sort_base(unsigned int sort_threads_type);
 static void thread_by_multipart(void);
 static void thread_by_percentage(unsigned int percentage);
@@ -97,8 +108,9 @@ static void thread_by_subject(void);
 static void write_overview(struct t_group *group);
 #ifdef NNTP_ABLE
 	static struct t_article_range *build_range_list(t_artnum min, t_artnum max, int *range_cnt);
-	static t_bool get_path_header(int cur, int cnt, struct t_group *group, t_artnum min, t_artnum max);
+	static t_bool get_path_header(int cur, int cnt, const struct t_group *group, t_artnum min, t_artnum max);
 #endif /* NNTP_ABLE */
+static struct t_mailbox *add_mailbox(struct t_article *art);
 
 
 /*
@@ -120,7 +132,7 @@ show_art_msg(
  */
 void
 find_base(
-	struct t_group *group)
+	const struct t_group *group)
 {
 	int i, j;
 
@@ -143,7 +155,7 @@ find_base(
 		if (grpmenu.max >= max_base)
 			expand_base();
 
-		if (group->attribute->show_only_unread_arts) {
+		if (group->attribute && group->attribute->show_only_unread_arts) {
 			if (arts[i].status != ART_READ || arts[i].keep_in_base)
 				base[grpmenu.max++] = i;
 			else {
@@ -159,7 +171,7 @@ find_base(
 			base[grpmenu.max++] = i;
 	}
 	/* sort base[] */
-	if (group->attribute->sort_threads_type > SORT_THREADS_BY_NOTHING)
+	if (group->attribute && group->attribute->sort_threads_type > SORT_THREADS_BY_NOTHING)
 		sort_base(group->attribute->sort_threads_type);
 }
 
@@ -206,7 +218,7 @@ static t_artnum
 setup_hard_base(
 	struct t_group *group)
 {
-	t_artnum total = 0;
+	t_artnum total = T_ARTNUM_CONST(0);
 
 	grpmenu.max = 0;
 
@@ -219,9 +231,12 @@ setup_hard_base(
 		char line[NNTP_STRLEN];
 		int getart_limit = (cmdline.args & CMDLINE_GETART_LIMIT) ? cmdline.getart_limit : tinrc.getart_limit;
 		FILE *fp;
-		t_artnum last, start, count = 0, j = 0;
+		t_artnum last, start, count = T_ARTNUM_CONST(0), j = T_ARTNUM_CONST(0);
 		static t_bool skip_listgroup = FALSE;
 
+		if (newsrc_active && !list_active)
+			skip_listgroup = TRUE;
+
 		/*
 		 * Some nntp servers are broken and need an extra GROUP command
 		 * (reported by reorx@irc.pl). This affects (old?) versions of
@@ -286,10 +301,14 @@ setup_hard_base(
 #	endif /* DEBUG */
 
 				while ((ptr = tin_fgets(fp, FALSE)) != NULL) {
+#	ifdef DEBUG
+				if ((debug & DEBUG_NNTP) && verbose)
+					debug_print_file("NNTP", "<<<%s%s", logtime(), ptr);
+#	endif /* DEBUG */
 					if (grpmenu.max >= max_base)
 						expand_base();
 					base[grpmenu.max++] = atoartnum(ptr);
-					total++;
+					++total;
 				}
 #	ifdef DEBUG
 				/* log end of multiline response to get timing data */
@@ -359,7 +378,7 @@ setup_hard_base(
 			while ((e = readdir(d)) != NULL) {
 				art = atoartnum(e->d_name);
 				if (art >= 1) {
-					total++;
+					++total;
 					if (grpmenu.max >= max_base)
 						expand_base();
 					base[grpmenu.max++] = art;
@@ -502,14 +521,14 @@ index_group(
 	 * Mark as UNTHREADED all articles that have been verified as valid
 	 * Get num of new arts to index so the user will have an idea of index time
 	 */
-	for (i = 0, total = 0; i < grpmenu.max; i++) {
+	for (i = total = 0; i < grpmenu.max; i++) {
 		if ((respnum = valid_artnum(base[i])) >= 0) {
 			arts[respnum].thread = ART_UNTHREADED;
 			continue;
 		}
 		if (base[i] <= last_read_article)		/* It is vital this test be done last */
 			continue;
-		total++;
+		++total;
 	}
 
 	/*
@@ -548,13 +567,13 @@ index_group(
 	 */
 	for_each_art(i) {
 		if (arts[i].thread == ART_EXPIRED) {
-			changed++;
+			++changed;
 #ifdef DEBUG
 			if (debug & DEBUG_NEWSRC)
 				debug_print_comment("art.c: index_group() purging...");
 #endif /* DEBUG */
 			art_mark(group, &arts[i], ART_READ);
-			if (group->attribute->show_only_unread_arts)
+			if (group->attribute && group->attribute->show_only_unread_arts)
 				arts[i].keep_in_base = FALSE;
 		}
 		if (!path_in_nov && arts[i].path && *arts[i].path != '\0')
@@ -625,16 +644,15 @@ find_first_unread(
  */
 static FILE *
 open_art_header(
-	char *groupname,
+	const char *groupname,
 	t_artnum art,
 	t_artnum *next)
 {
 	char buf[NNTP_STRLEN];
-#ifdef NNTP_ABLE
-	FILE *fp;
-	int i;
 
+#ifdef NNTP_ABLE
 	if (read_news_via_nntp && CURR_GROUP.type == GROUP_TYPE_NEWS) {
+		FILE *fp;
 		static t_bool no_next = FALSE; /* TODO: move to t_capabilities ? */
 		/*
 		 * Don't bother requesting if we have not got there yet.
@@ -663,8 +681,7 @@ open_art_header(
 			 * HEAD failed, try to find NEXT
 			 * Should return "223 artno message-id more text...."
 			 */
-			i = new_nntp_command("NEXT", OK_NOTEXT, buf, sizeof(buf));
-			switch (i) {
+			switch (new_nntp_command("NEXT", OK_NOTEXT, buf, sizeof(buf))) {
 				case OK_NOTEXT:
 					*next = atoartnum(buf);		/* Set next art number */
 					break;
@@ -716,8 +733,11 @@ open_art_header(
 		}
 		return NULL;
 	}
-#else
 	/* silence compiler warning (unused parameter) */
+#	ifdef BROKEN_LISTGROUP
+	(void) groupname;
+#	endif /* BROKEN_LISTGROUP */
+#else
 	(void) groupname;
 	(void) next;
 #endif /* NNTP_ABLE */
@@ -741,7 +761,7 @@ open_art_header(
  */
 static int
 read_art_headers(
-	struct t_group *group,
+	const struct t_group *group,
 	int total,
 	t_artnum top)
 {
@@ -751,7 +771,7 @@ read_art_headers(
 	int i;
 	int modified = 0;
 	t_artnum art;
-	t_artnum head_next = -1; /* Reset the next article number index (for when HEAD fails) */
+	t_artnum head_next = T_ARTNUM_CONST(-1); /* Reset the next article number index (for when HEAD fails) */
 	t_bool res;
 
 	/*
@@ -826,6 +846,7 @@ read_art_headers(
 			FreeAndNull(arts[top_art].path);
 			FreeAndNull(arts[top_art].refs);
 			FreeAndNull(arts[top_art].msgid);
+			free_mailbox_list(arts[top_art].mailbox.next);
 			arts[top_art].tagged = 0;
 			arts[top_art].thread = ART_EXPIRED;
 			arts[top_art].prev = ART_NORMAL;
@@ -836,7 +857,7 @@ read_art_headers(
 		}
 
 		top = arts[top_art].artnum;	/* used if arts are killed */
-		top_art++;
+		++top_art;
 
 		if (++modified % (MODULO_COUNT_NUM * 20) == 0)
 			show_progress(group_msg, modified, total);
@@ -848,9 +869,8 @@ read_art_headers(
 	if (!read_news_via_nntp || group->type != GROUP_TYPE_NEWS) {
 		if (chdir(dir) == -1) {
 #ifdef DEBUG
-			int e = errno;
 			if (debug & DEBUG_MISC)
-				error_message(2, "chdir(%s): Error: %s", dir, strerror(e));
+				perror_message("chdir(%s)", dir);
 #endif /* DEBUG */
 		}
 	}
@@ -949,7 +969,7 @@ thread_by_percentage(
 		unmatched = 0;
 		for (j = 0; arts[base[root_num]].subject[j] != '\0' && arts[i].subject[k] != '\0'; j++, k++) {
 			if (arts[base[root_num]].subject[j] != arts[i].subject[k])
-				unmatched++;
+				++unmatched;
 		}
 
 		/*
@@ -961,7 +981,7 @@ thread_by_percentage(
 		 * them matching.
 		 */
 		if (!(slen = strlen(arts[base[root_num]].subject)))
-			slen++;
+			++slen;
 		unmatched += (unsigned) (slen - strlen(arts[i].subject));
 		if (unmatched * 100 / slen > percentage) {
 			/*
@@ -999,7 +1019,8 @@ global_get_multipart_info(
 	MultiPartInfo *setme)
 {
 	int i, j, offi, offj;
-	MultiPartInfo setmei, setmej;
+	MultiPartInfo setmei = { NULL, 0, 0, 0, 0 }; /* init to silence __infer__ */
+	MultiPartInfo setmej = { NULL, 0, 0, 0, 0 }; /* init to silence __infer__ */
 
 	i = global_look_for_multipart_info(aindex, &setmei, '[', ']', &offi);
 	j = global_look_for_multipart_info(aindex, &setmej, '(', ')', &offj);
@@ -1019,7 +1040,7 @@ global_get_multipart_info(
 static int
 global_look_for_multipart_info(
 	int aindex,
-	MultiPartInfo* setme,
+	MultiPartInfo *setme,
 	char start,
 	char stop,
 	int *offset)
@@ -1037,7 +1058,7 @@ global_look_for_multipart_info(
 	/* parse the message */
 	subj = arts[aindex].subject;
 	pch = strrchr(subj, start);
-	if (!pch || !isdigit((int) pch[1]))
+	if (!pch || !isdigit((unsigned char) pch[1]))
 		return 0;
 
 	tmp.arts_index = aindex;
@@ -1046,7 +1067,7 @@ global_look_for_multipart_info(
 	if (*pch != '/' && *pch != '|')
 		return 0;
 
-	if (!isdigit((int) pch[1]))
+	if (!isdigit((unsigned char) pch[1]))
 		return 0;
 
 	tmp.total = (int) strtol(pch + 1, &pch, 10);
@@ -1072,17 +1093,16 @@ global_look_for_multipart(
 	char start,
 	char stop)
 {
-	char *pch;
+	char *pch = strrchr(arts[aindex].subject, start);
 
-	pch = strrchr(arts[aindex].subject, start);
-	if (!pch || !isdigit((int) pch[1]))
+	if (!pch || !isdigit((unsigned char) pch[1]))
 		return FALSE;
 
 	strtol(pch + 1, &pch, 10);
 	if (*pch != '/' && *pch != '|')
 		return FALSE;
 
-	if (!isdigit((int) pch[1]))
+	if (!isdigit((unsigned char) pch[1]))
 		return FALSE;
 
 	strtol(pch + 1, &pch, 10);
@@ -1268,7 +1288,7 @@ make_threads(
 	 * on arts[] and so the base messages under all threading systems
 	 * will be sorted in this way.
 	 */
-	sort_arts(group->attribute->sort_article_type);
+	sort_arts(group->attribute ? group->attribute->sort_article_type : SORT_ARTICLES_BY_NOTHING);
 
 	/*
 	 * Reset all the ptrs to articles following the above sort
@@ -1279,7 +1299,7 @@ make_threads(
 	 * The threading pointers need to be reset if re-threading
 	 * If using ref threading, revector the links back to the articles
 	 */
-	if (rethread || group->attribute->thread_articles) {
+	if (rethread || (group->attribute && group->attribute->thread_articles)) {
 		int i;
 
 		for_each_art(i) {
@@ -1295,7 +1315,7 @@ make_threads(
 					my_fprintf(stderr, "\nError  : art->refptr is NULL\n");
 					my_fprintf(stderr, "Artnum : %"T_ARTNUM_PFMT"\n", arts[i].artnum);
 					my_fprintf(stderr, "Subject: %s\n", arts[i].subject);
-					my_fprintf(stderr, "From   : %s\n", arts[i].from);
+					my_fprintf(stderr, "From   : %s\n", arts[i].mailbox.from);
 					assert(arts[i].refptr != NULL);
 				} else
 #endif /* DEBUG */
@@ -1308,7 +1328,7 @@ make_threads(
 	/*
 	 * Do the right thing according to the threading strategy
 	 */
-	switch (group->attribute->thread_articles) {
+	switch (group->attribute ? group->attribute->thread_articles : THREAD_NONE) {
 		case THREAD_NONE:
 			break;
 
@@ -1417,6 +1437,13 @@ sort_base(
 		case SORT_THREADS_BY_LAST_POSTING_DATE_ASCEND:
 			tin_sort(base, (size_t) grpmenu.max, sizeof(t_artnum), last_date_comp_base_asc);
 			break;
+
+		/* should not happen */
+		case SORT_THREADS_BY_NOTHING:
+		default:
+			/* CONSTANTCONDITION */
+			assert(0 != 0);
+			break;
 	}
 }
 
@@ -1430,12 +1457,8 @@ parse_headers(
 	FILE *fp,
 	struct t_article *h)
 {
-	char art_from_addr[HEADER_LEN];
-	char art_full_name[HEADER_LEN];
 	char *s, *hdr, *ptr;
-	t_bool got_from, got_lines;
-
-	got_from = got_lines = FALSE;
+	t_bool got_from = FALSE, got_lines = FALSE;
 
 	while ((ptr = tin_fgets(fp, TRUE)) != NULL) {
 		/*
@@ -1446,7 +1469,7 @@ parse_headers(
 		/*
 		 * End of headers ?
 		 */
-		if (ptr[0] == '\0')
+		if (!*ptr)
 			break;
 
 		unfold_header(ptr);
@@ -1469,10 +1492,7 @@ parse_headers(
 			case 'F':	/* From:  mandatory */
 				if (!got_from) {
 					if ((hdr = parse_header(ptr + 1, "rom", FALSE, FALSE, FALSE))) {
-						h->gnksa_code = parse_from(hdr, art_from_addr, art_full_name);
-						h->from = hash_str(buffer_to_ascii(art_from_addr));
-						if (*art_full_name)
-							h->name = hash_str(eat_tab(convert_to_printable(rfc1522_decode(art_full_name), FALSE)));
+						build_mailbox_list(h, hdr);
 						got_from = TRUE;
 					}
 				}
@@ -1481,13 +1501,13 @@ parse_headers(
 			case 'L':	/* Lines:  optional */
 				if (!got_lines) {
 					if ((hdr = parse_header(ptr + 1, "ines", FALSE, FALSE, FALSE))) {
-						h->line_count = atoi(hdr);
+						h->line_count = s2i(hdr, 0, INT_MAX);
 						got_lines = TRUE;
 					}
 				}
 				break;
 
-			case 'M':	/* Message-ID:  mandatory */
+			case 'M':	/* Message-ID:  mandatory; be aware that build_references() later on clears it! */
 				if (!h->msgid) {
 					if ((hdr = parse_header(ptr + 1, "essage-ID", FALSE, FALSE, FALSE)))
 						h->msgid = my_strdup(hdr);
@@ -1535,7 +1555,6 @@ parse_headers(
 			default:
 				break;
 		} /* switch */
-
 	} /* while */
 
 #ifdef NNTP_ABLE
@@ -1567,6 +1586,7 @@ parse_headers(
 	return FALSE;
 }
 
+
 #ifdef NNTP_ABLE
 /*
  * Loop over arts[] and find ranges without Path: header
@@ -1585,9 +1605,8 @@ build_range_list(
 {
 	int i, gap_cnt = 0;
 	struct t_article_range *res = NULL, *gap_list, *curr, *from;
-	t_artnum new_end;
+	t_artnum new_end = T_ARTNUM_CONST(0);
 
-	new_end = T_ARTNUM_CONST(0);
 	gap_list = my_malloc(sizeof(struct t_article_range));
 	curr = gap_list;
 	curr->start = min;
@@ -1727,15 +1746,13 @@ static t_bool
 get_path_header(
 	int cur,
 	int cnt,
-	struct t_group *group,
+	const struct t_group *group,
 	t_artnum min,
 	t_artnum max)
 {
 	FILE *fp = NULL;
-	char *prep_msg;
 	char *buf, *ptr;
 	char cmd[NNTP_STRLEN];
-	t_artnum artnum, i;
 	t_bool found = FALSE;
 	static t_bool supported = TRUE; /* assume HDR || XPAT works */
 
@@ -1748,8 +1765,7 @@ get_path_header(
 #	endif /* DEBUG */
 
 	if (nntp_caps.type == CAPABILITIES && nntp_caps.list_headers && !*nntp_caps.headers_range && nntp_caps.hdr_cmd[0] != 'X') {
-		int j = new_nntp_command("LIST HEADERS RANGE", 215, cmd, sizeof(cmd));
-		switch (j) {
+		switch (new_nntp_command("LIST HEADERS RANGE", 215, cmd, sizeof(cmd))) {
 			case 215:
 				while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) {
 #	ifdef DEBUG
@@ -1792,9 +1808,9 @@ get_path_header(
 	}
 
 	if (fp) {
-		int j = 0;
+		t_artnum artnum, i, j = T_ARTNUM_CONST(0);
+		char *prep_msg = fmt_string(_(txt_prep_for_filter_on_path), cur, cnt);
 
-		prep_msg = fmt_string(_(txt_prep_for_filter_on_path), cur, cnt);
 		while ((buf = tin_fgets(fp, FALSE)) != NULL && buf[0] != '.') {
 #	ifdef DEBUG
 			if ((debug & DEBUG_NNTP) && verbose)
@@ -1809,7 +1825,7 @@ get_path_header(
 				if (arts[i].artnum == artnum) {
 					FreeIfNeeded(arts[i].path);
 					arts[i].path = my_strdup(ptr);
-					j = (int) i;
+					j = i;
 					break;
 				}
 			}
@@ -1840,6 +1856,83 @@ get_path_header(
 #endif /* NNTP_ABLE */
 
 
+static struct t_mailbox *
+add_mailbox(
+	struct t_article *art)
+{
+	struct t_mailbox *mb;
+
+	if (!art)
+		return NULL;
+
+	if (!art->mailbox.from)
+		return &art->mailbox;
+
+	if (!(mb = art->mailbox.next)) {
+		art->mailbox.next = my_malloc(sizeof(struct t_mailbox));
+		mb = art->mailbox.next;
+	} else {
+		while (mb->next)
+			mb = mb->next;
+		mb->next = my_malloc(sizeof(struct t_mailbox));
+		mb = mb->next;
+	}
+
+	mb->from = NULL;
+	mb->name = NULL;
+	mb->next = NULL;
+
+	return mb;
+}
+
+
+static void
+build_mailbox_list(
+	struct t_article *art,
+	const char *hdr)
+{
+	char art_from_addr[HEADER_LEN];
+	char art_full_name[HEADER_LEN];
+	char *tmp_from, *curr_from, *next_from;
+	struct t_mailbox *mb;
+
+	curr_from = tmp_from = my_strdup(hdr);
+
+	do {
+		if ((mb = add_mailbox(art)) == NULL)
+			break;
+
+		while (*curr_from == ' ')
+			++curr_from;
+
+		next_from = split_mailbox_list(curr_from);
+		mb->gnksa_code = parse_from(curr_from, art_from_addr, art_full_name);
+		mb->from = hash_str(buffer_to_ascii(art_from_addr));
+		if (*art_full_name)
+			mb->name = hash_str(eat_tab(convert_to_printable(rfc1522_decode(art_full_name), FALSE)));
+		curr_from = next_from;
+	} while (curr_from);
+
+	free(tmp_from);
+}
+
+
+void
+free_mailbox_list(
+	struct t_mailbox *mb)
+{
+	if (!mb)
+		return;
+
+	while (mb->next != NULL) {
+		free_mailbox_list(mb->next);
+		mb->next = NULL;
+	}
+
+	free(mb);
+}
+
+
 /*
  * Read in an overview index file. Fields are separated by TAB.
  * return the number of expired articles encountered or -1 if the user aborted
@@ -1871,16 +1964,18 @@ read_overview(
 	FILE *fp;
 	char *ptr;
 	char *q;
-	char *buf;
 	char *group_msg;
-	char art_full_name[HEADER_LEN];
-	char art_from_addr[HEADER_LEN];
+	char *buf = NULL;
 	unsigned int count;
 	int expired = 0;
 	t_artnum artnum;
 	t_bool path_found = FALSE, path_in_ofmt = FALSE;
 	struct t_article *art;
 	size_t over_fields = 1;
+#ifdef USE_ZLIB
+	int fd;
+	gzFile gfp = NULL; /* we don't use Z_NULL here to avoid -Wzero-as-null-pointer-constant */
+#endif /* USE_ZLIB */
 
 	/*
 	 * open the overview file (whether it be local or via nntp)
@@ -1888,6 +1983,18 @@ read_overview(
 	if ((fp = open_xover_fp(group, "r", min, max, local)) == NULL)
 		return expired;
 
+#ifdef USE_ZLIB
+	if (fp != FAKE_NNTP_FP /* && tinrc.compress_overview_files */ ) { /* we may need to read compressed data even if not writing it */
+		fd = fileno(fp);
+		if ((gfp = gzdopen(fd, "r")) != Z_NULL) {
+			buf = my_malloc(32768 + 1);  /* FIXME make dynamic; I've seen up to 8K overview lines in the wild, so 32k should be "safe" */
+			/* gzbuffer(gfp, 4 * 32768); */	/* the 8k default is ok for us */
+		}
+	}
+#endif /* USE_ZLIB */
+
+	BegStopWatch();
+
 	if (group->xmax > max)
 		group->xmax = max;
 
@@ -1924,7 +2031,16 @@ read_overview(
 		over_fields = 7;
 	}
 
-	while ((buf = tin_fgets(fp, FALSE)) != NULL) {
+#ifdef USE_ZLIB
+	while (
+		gfp ? gzgets(gfp, buf, 32768) != Z_NULL /* FIXME: don't use fixed size */
+			: (buf = tin_fgets(fp, FALSE)) != NULL
+	)
+#else
+	while ((buf = tin_fgets(fp, FALSE)) != NULL)
+#endif /* USE_ZLIB */
+	{
+
 #if defined(DEBUG) && defined(NNTP_ABLE)
 		if ((debug & DEBUG_NNTP) && fp == FAKE_NNTP_FP && verbose)
 			debug_print_file("NNTP", "<<<%s%s", logtime(), buf);
@@ -1963,7 +2079,7 @@ read_overview(
 		 * Check to make sure article in nov file has not expired in group
 		 */
 		if (artnum < group->xmin) {
-			expired++;
+			++expired;
 			continue;
 		}
 
@@ -2003,7 +2119,7 @@ read_overview(
 						if ((debug & DEBUG_NNTP) && verbose > 1)
 							debug_print_file("NNTP", "%s: found unexpected Xref: on semi std. position", nntp_caps.over_cmd);
 #endif /* DEBUG */
-						over_fields++;
+						++over_fields;
 						ofmt = my_realloc(ofmt, sizeof(struct t_overview_fmt) * (over_fields + 2)); /* + 2 = artnum and end-marker */
 						ofmt[over_fields].type = OVER_T_FSTRING;
 						ofmt[over_fields].name = my_strdup("Xref:");
@@ -2015,7 +2131,7 @@ read_overview(
 						if ((debug & DEBUG_NNTP) && verbose > 1)
 							debug_print_file("NNTP", "%s: found Path:", nntp_caps.over_cmd);
 #endif /* DEBUG */
-						over_fields++;
+						++over_fields;
 						ofmt = my_realloc(ofmt, sizeof(struct t_overview_fmt) * (over_fields + 2)); /* + 2 = artnum and end-marker */
 						ofmt[over_fields].type = OVER_T_FSTRING;
 						ofmt[over_fields].name = my_strdup("Path:");
@@ -2054,13 +2170,13 @@ read_overview(
 					}
 
 					if (!strcasecmp(ofmt[count].name, "From:")) {
-						if (*ptr) {
-							art->gnksa_code = parse_from(ptr, art_from_addr, art_full_name);
-							art->from = hash_str(buffer_to_ascii(art_from_addr));
-							if (*art_full_name)
-								art->name = hash_str(eat_tab(convert_to_printable(rfc1522_decode(art_full_name), FALSE)));
-						} else {
-							art->from = hash_str("");
+						if (*ptr)
+							build_mailbox_list(art, ptr);
+						else {
+							struct t_mailbox *mb;
+
+							if ((mb = add_mailbox(art)) != NULL)
+								mb->from = hash_str("");
 #ifdef DEBUG
 							if ((debug & DEBUG_NNTP) && verbose > 1)
 								debug_print_file("NNTP", "%s(%"T_ARTNUM_PFMT") empty overview-field %s", nntp_caps.over_cmd, artnum, ofmt[count].name);
@@ -2141,7 +2257,7 @@ read_overview(
 					if (!strcasecmp(ofmt[count].name, "Lines:")) {
 						if (*ptr) {
 							if (isdigit((unsigned char) *ptr))
-								art->line_count = atoi(ptr);
+								art->line_count = s2i(ptr, 0, INT_MAX);
 							else {
 								art->line_count = 0;
 #ifdef DEBUG
@@ -2177,13 +2293,13 @@ read_overview(
 						break;
 
 					case 2:	/* From: */
-						if (*ptr) {
-							art->gnksa_code = parse_from(ptr, art_from_addr, art_full_name);
-							art->from = hash_str(buffer_to_ascii(art_from_addr));
-							if (*art_full_name)
-								art->name = hash_str(eat_tab(convert_to_printable(rfc1522_decode(art_full_name), FALSE)));
-						} else {
-							art->from = hash_str("");
+						if (*ptr)
+							build_mailbox_list(art, ptr);
+						else {
+							struct t_mailbox *mb;
+
+							if ((mb = add_mailbox(art)) != NULL)
+								mb->from = hash_str("");
 #ifdef DEBUG
 							if ((debug & DEBUG_NNTP) && verbose > 1)
 								debug_print_file("NNTP", "%s(%"T_ARTNUM_PFMT") empty overview-field %s", nntp_caps.over_cmd, artnum, ofmt[count].name);
@@ -2237,7 +2353,7 @@ read_overview(
 					case 7:	/* :lines || Lines: */
 						if (*ptr) {
 							if (isdigit((unsigned char) *ptr))
-								art->line_count = atoi(ptr);
+								art->line_count = s2i(ptr, 0, INT_MAX);
 							else {
 								art->line_count = 0;
 #ifdef DEBUG
@@ -2293,7 +2409,6 @@ read_overview(
 							if ((debug & DEBUG_NNTP) && verbose > 1 && strcasecmp(ofmt[count].name, "Path:"))
 								debug_print_file("NNTP", "\tUsing as \"Path:\" not \"%s\"", ofmt[count].name);
 #endif /* DEBUG */
-
 						}
 						continue;
 					}
@@ -2314,16 +2429,23 @@ read_overview(
 		if (artnum % (MODULO_COUNT_NUM * 20) == 0)
 			show_progress(group_msg, artnum - min, max - min);
 
-		top_art++;				/* Basically this statement commits the article */
+		++top_art;				/* Basically this statement commits the article */
 	}
 #	if defined(DEBUG) && defined(NNTP_ABLE)
 	/* log end of multiline response to get timing data */
-	if ((debug & DEBUG_NNTP) && !verbose)
+	if ((debug & DEBUG_NNTP) && fp == FAKE_NNTP_FP && !verbose)
 		debug_print_file("NNTP", "<<<%s%s", logtime(), txt_log_data_hidden);
 #	endif /* DEBUG && NNTP_ABLE */
 
 	free(group_msg);
-	TIN_FCLOSE(fp);
+#ifdef USE_ZLIB
+	if (gfp) {
+		free(buf);
+		gzclose_r(gfp);
+		fclose(fp);
+	} else
+#endif /* USE_ZLIB */
+		TIN_FCLOSE(fp);
 
 	if (tin_errno)
 		return -1;
@@ -2331,7 +2453,6 @@ read_overview(
 #if defined(NNTP_ABLE) && defined(XHDR_XREF)
 	if (read_news_via_nntp && !read_saved_news && !xref_supported && nntp_caps.hdr_cmd) {
 		char cbuf[HEADER_LEN];
-		int i;
 		static t_bool found;
 		static t_bool first = TRUE;
 
@@ -2342,10 +2463,8 @@ read_overview(
 			 */
 			if (nntp_caps.type == CAPABILITIES && nntp_caps.list_headers) {
 				if (!*nntp_caps.headers_range) {
-					i = new_nntp_command("LIST HEADERS RANGE", 215, cbuf, sizeof(cbuf));
-
 					found = FALSE;
-					switch (i) {
+					switch (new_nntp_command("LIST HEADERS RANGE", 215, cbuf, sizeof(cbuf))) {
 						case 215:
 							while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) {
 #	ifdef DEBUG
@@ -2380,6 +2499,7 @@ read_overview(
 			snprintf(cbuf, sizeof(cbuf), "%s XREF %"T_ARTNUM_PFMT"-%"T_ARTNUM_PFMT, nntp_caps.hdr_cmd, min, MAX(min, max));
 			group_msg = fmt_string(txt_xref_loop, nntp_caps.hdr_cmd); /* TODO: find a better message */
 			if ((fp = nntp_command(cbuf, nntp_caps.hdr ? OK_HDR : OK_HEAD, NULL, 0)) != NULL) { /* RFC 2980 (XHDR) uses 221; RFC 3977 (HDR) uses 225 */
+				top_art = 0;
 				while ((ptr = tin_fgets(fp, FALSE)) != NULL) {
 #	ifdef DEBUG
 					if ((debug & DEBUG_NNTP) && verbose)
@@ -2390,21 +2510,24 @@ read_overview(
 					if (artnum <= 0 || artnum < group->xmin || artnum > group->xmax)
 						continue;
 					art = &arts[top_art];
-					set_article(art);
-					if (!art->xref && !strstr(ptr, "(none)")) {
+					if (artnum != art->artnum) /* try harder to find a match? while (&arts[i++].artnum != artnum) ...? */
+						continue;
+					FreeAndNull(art->xref);
+					if (!strstr(ptr, "(none)")) {
 						if ((q = strchr(ptr, ' ')) == NULL) /* skip article number */
 							continue;
 						ptr = q;
-						while (*ptr && isspace((int) *ptr))
-							ptr++;
-						q = strchr(ptr, '\n');
-						if (q)
+						while (*ptr && isspace((unsigned char) *ptr))
+							++ptr;
+						if ((q = strchr(ptr, '\n')) != NULL)
 							*q = '\0';
 						art->xref = my_strdup(ptr);
 					}
 					/* we might lose accuracy here, but that shouldn't hurt */
 					if (artnum % (MODULO_COUNT_NUM * 20) == 0)
 						show_progress(group_msg, artnum - min, max - min);
+
+					++top_art;
 				}
 #	ifdef DEBUG
 				/* log end of multiline response to get timing data */
@@ -2458,7 +2581,7 @@ read_overview(
 		}
 #endif /* NNTP_ABLE */
 	} else
-		if (!path_found && filter_on_path(group)) {
+		if (!path_found && filter_on_path(group) && !batch_mode) {
 #ifdef NNTP_ABLE
 			if (!get_path_header(1, 1, group, min, *top))
 #endif /* NNTP_ABLE */
@@ -2468,6 +2591,9 @@ read_overview(
 	/* silence compiler warning (unused parameter) */
 	(void) rebuild_cache;
 #endif /* !NNTP_ABLE */
+
+	EndStopWatch("read_overview()");
+
 	return expired;
 }
 
@@ -2514,6 +2640,10 @@ write_overview(
 #ifdef CHARSET_CONVERSION
 	int c = -1;
 #endif /* CHARSET_CONVERSION */
+#if defined(USE_ZLIB) && defined(CPP_DOES_CONCAT)
+	int fd;
+	gzFile gfp;
+#endif /* USE_ZLIB && CPP_DOES_CONCAT */
 
 	/*
 	 * Can't write or caching is off or getart_limit is set
@@ -2524,19 +2654,28 @@ write_overview(
 	if ((fp = open_xover_fp(group, "w", T_ARTNUM_CONST(0), T_ARTNUM_CONST(0), FALSE)) == NULL)
 		return;
 
-	if (group->attribute->sort_article_type != SORT_ARTICLES_BY_NOTHING)
+	BegStopWatch();
+
+#if defined(USE_ZLIB) && defined(CPP_DOES_CONCAT)
+	fd = fileno(fp);
+	if ((gfp = gzdopen(fd, tinrc.compress_overview_files ? "w3" : "wT")) != Z_NULL) {
+		/* gzbuffer(gfp, (tinrc.compress_overview_files ? 4 : 1) * 32768); */ /* the 8k default is ok for us */
+	}
+#endif /* USE_ZLIB && CPP_DOES_CONCAT */
+
+	if (group->attribute && group->attribute->sort_article_type != SORT_ARTICLES_BY_NOTHING)
 		SortBy(artnum_comp);
 
 	/*
 	 * Needed to preserve uniqueness in hashed private overview files
 	 */
-	fprintf(fp, "%s\n", group->name);
+	FPRINTF(GFP(fp), "%s\n", group->name);
 
 #ifdef CHARSET_CONVERSION
 	/* get undeclared_charset number if required */
-	if (group->attribute->undeclared_charset) {
+	if (group->attribute && group->attribute->undeclared_charset && *group->attribute->undeclared_charset) {
 		for (i = 0; txt_mime_charsets[i] != NULL; i++) {
-			if (!strcasecmp(group->attribute->undeclared_charset, txt_mime_charsets[i])) {
+			if (!strcasecmp(*group->attribute->undeclared_charset, txt_mime_charsets[i])) {
 				c = i;
 				break;
 			}
@@ -2555,12 +2694,12 @@ write_overview(
 		if (article->thread != ART_EXPIRED && article->artnum >= group->xmin) {
 			ref = NULL;
 
-			if (!group->attribute->post_8bit_header) { /* write encoded data */
+			if (group->attribute && !group->attribute->post_8bit_header) { /* write encoded data */
 				/*
 				 * TODO: instead of tinrc.mm_local_charset we'd better use UTF-8
 				 *       here and in print_from() in the CHARSET_CONVERSION case.
 				 *       note that this requires something like
-				 *          buffer_to_network(article->subject, "UTF-8");
+				 *          buffer_to_network(&article->subject, "UTF-8");
 				 *       right before the rfc1522_encode() call.
 				 *
 				 *       if we would cache the original undecoded data, we could
@@ -2572,8 +2711,8 @@ write_overview(
 			} else { /* raw data */
 				p = my_strdup(article->subject);
 #ifdef CHARSET_CONVERSION
-				if (group->attribute->undeclared_charset && c != -1) /* use undeclared_charset if set (otherwise local charset is used) */
-					buffer_to_network(p, c);
+				if (group->attribute && group->attribute->undeclared_charset && *group->attribute->undeclared_charset && c != -1) /* use undeclared_charset if set (otherwise local charset is used) */
+					buffer_to_network(&p, c);
 #endif /* CHARSET_CONVERSION */
 			}
 
@@ -2592,7 +2731,7 @@ write_overview(
 				while (*q) {
 					if (*q == '\t')
 						*q = ' ';
-					q++;
+					++q;
 				}
 			}
 
@@ -2614,7 +2753,7 @@ write_overview(
 				if (!my_strftime(date, sizeof(date) - 1, "%d %b %Y %H:%M:%S GMT", gmtime(&article->date)))
 					snprintf(date, sizeof(date) - 1, "01 Jan 1970 00:00:00 UTC");
 
-				fprintf(fp, "%"T_ARTNUM_PFMT"\t%s\t%s\t%s\t%s\t%s\t%d\t%d",
+				FPRINTF(GFP(fp), "%"T_ARTNUM_PFMT"\t%s\t%s\t%s\t%s\t%s\t%d\t%d",
 					article->artnum,
 					p,
 #ifdef CHARSET_CONVERSION
@@ -2640,12 +2779,12 @@ write_overview(
 			}
 
 			if (article->xref)
-				fprintf(fp, "\tXref: %s", article->xref);
+				FPRINTF(GFP(fp), "\tXref: %s", article->xref);
 
 			if (article->path)
-				fprintf(fp, "\tPath: %s", article->path);
+				FPRINTF(GFP(fp), "\tPath: %s", article->path);
 
-			fprintf(fp, "\n");
+			FPRINTF(GFP(fp), "\n");
 
 			free(p);
 			if (article->refs) {
@@ -2662,7 +2801,12 @@ write_overview(
 		chmod(find_nov_file(group, R_OK), (mode_t) (S_IWUSR|S_IRUGO));
 #	endif /* HAVE_CHMOD */
 #endif /* HAVE_FCHMOD */
+#if defined(USE_ZLIB) && defined(CPP_DOES_CONCAT)
+	if (gfp)
+		gzclose_w(gfp);
+#endif /* USE_ZLIB && CPP_DOES_CONCAT */
 	fclose(fp);
+	EndStopWatch("write_overview()");
 }
 
 
@@ -2686,15 +2830,16 @@ write_overview(
  */
 static char *
 find_nov_file(
-	struct t_group *group,
+	const struct t_group *group,
 	int mode)
 {
-	FILE *fp;
+	FILE *fp = NULL;
 	const char *dir;
+	char *ptr;
 	char buf[PATH_LEN];
-	int i;
-	struct stat sb;
+	unsigned int i;
 	unsigned long hash;
+	struct stat sb;
 	static char nov_file[PATH_LEN];
 	static t_bool once_only = FALSE;	/* Trap things that are done only 1 time */
 
@@ -2728,45 +2873,48 @@ find_nov_file(
 			 *
 			 * See if local overview file $SPOOLDIR/<groupname>/.overview exists
 			 *
-			 * INN >= 2.3.0 seems to use a new naming schemme with tradindexed
-			 * see untested gross hack below; buffindexed and ovdb are not
-			 * covered by the code at all.
+			 * INN >= 2.3.0 uses a new naming schemme with tradindexed;
+			 * buffindexed and ovdb are not covered by the code at all.
 			 */
 #ifndef NNTP_ONLY
 			if (!read_news_via_nntp) {
 				make_base_group_path(novrootdir, group->name, buf, sizeof(buf));
 				joinpath(nov_file, sizeof(nov_file), buf, novfilename);
-#	if 0	/* TODO: FIXME - ugly hack for inn >= 2.3.0 with ovmethod tradindexed */
-				{
+				if (access(nov_file, R_OK) == 0) {
+					if (mode == R_OK)
+						return nov_file; /* system wide "classic" overviews */
+					else
+						return NULL;	/* Don't write to system wide overviews */
+				} else { /* ugly hack for inn >= 2.3.0 with ovmethod tradindexed */
 					char *gn = my_strdup(group->name);
-					size_t t, j;
+					size_t t;
 					t_bool w = FALSE;
 
-					for (t = 1, j = 1; t < strlen(group->name); t++) {
+					for (t = 1, i = 1; t < strlen(group->name); t++) {
 						if (!w) {
 							if (group->name[t] == '.') {
-								gn[j++] = '/';
+								gn[i++] = '/';
 								w = TRUE;
 							}
-						} else {
+						} else { /* TODO: check against inns code */
 							if (group->name[t] != '.') { /* illegal .. in name? */
-								gn[j++] = group->name[t];
+								gn[i++] = group->name[t];
 								w = FALSE;
 							}
 						}
 					}
-					gn[j] = '\0';
+					gn[i] = '\0';
 
 					joinpath(nov_file, sizeof(nov_file), novrootdir, gn);
 					free(gn);
 					snprintf(nov_file + strlen(nov_file), sizeof(nov_file) - strlen(nov_file), "/%s.DAT", group->name);
 				}
-#	endif /* 0 */
 				if (access(nov_file, R_OK) == 0) {
-					if (mode == R_OK)
+					if (mode == R_OK) {
+						/* STRCPY(novfilename, ".DAT"); */ /* would be just to fix the name in make_connection_page() */
 						return nov_file;		/* Use system wide overviews */
-					else
-						return NULL;			/* Don't write cache in this case */
+					} else
+						return NULL;			/* Don't write to system wide overviews */
 				}
 			}
 #endif /* !NNTP_ONLY */
@@ -2784,12 +2932,12 @@ find_nov_file(
 			if (!once_only && nntp_server) {
 				size_t sp = sizeof(index_newsdir), ln = strlen(index_newsdir);
 
-				if (--sp - ln >= 2) {
+				if (sp > ln + 3) {
 					char *srv = my_strdup(nntp_server);
 
 					str_lwr(srv);
 					strcat(index_newsdir, "-");
-					my_strncpy(index_newsdir + ln + 1, srv, sp);
+					my_strncpy(index_newsdir + ln + 1, srv, --sp);
 					free(srv);
 				}
 				once_only = TRUE;
@@ -2834,31 +2982,53 @@ find_nov_file(
 	 */
 	hash = hash_groupname(group->name);
 
-	for (i = 1; ; i++) {
-		char *ptr;
-
-		snprintf(buf, sizeof(buf), "%lu.%d", hash, i);
+	for (i = 1; i < INT_MAX; i++) {
+		snprintf(buf, sizeof(buf), "%lu.%u", hash, i);
 		joinpath(nov_file, sizeof(nov_file), dir, buf);
 
-		if ((fp = fopen(nov_file, "r")) == NULL)
+		if ((fp = tin_fopen(nov_file, "r")) == NULL) /* file not found or empty -> name can be used, leave loop */
 			break;
 
-		/*
-		 * No group name header, so not a valid index file => overwrite it
-		 */
-		if (fgets(buf, (int) sizeof(buf), fp) == NULL) {
-			fclose(fp);
-			break;
+#ifdef USE_ZLIB /* TODO: avoid fixed length buffer */
+		{
+			int fd = fileno(fp);
+			gzFile gfp = NULL;
+
+			if ((gfp = gzdopen(fd, "r")) != Z_NULL) {
+				ptr = my_calloc(1, 32768 + 1);
+				if (gzgets(gfp, ptr, 32768) != Z_NULL) {
+					str_trim(ptr);
+					gzclose_r(gfp);
+					fclose(fp);
+					fp = NULL;
+					if (strcmp(ptr, group->name)) {
+						free(ptr);
+						continue;
+					} else {
+						free(ptr);
+						break;
+					}
+				}
+				gzclose_r(gfp);
+				fclose(fp);
+				fp = NULL;
+				free(ptr);
+			}
 		}
-		fclose(fp);
-
-		if ((ptr = strrchr(buf, '\n')) != NULL)
-			*ptr = '\0';
-
-		if (STRCMPEQ(buf, group->name))
-			break;
+#else
+		if ((ptr = tin_fgets(fp, FALSE)) != NULL) { /* grab 1st line */
+			if (strcmp(ptr, group->name)) {/* name mismatch try next */
+				fclose(fp);
+				fp = NULL;
+				continue;
+			}
+		}
+#endif /* USE_ZLIB */
+		/* match, leave loop */
+		break;
 	}
-
+	if (fp)
+		fclose(fp);
 	return nov_file;
 }
 
@@ -2903,7 +3073,7 @@ do_update(
 			continue;
 		}
 
-		k++;
+		++k;
 
 		if (verbose) {
 			my_printf("%s %s\n", (catchup ? _(txt_catchup) : _(txt_updating)), group->name);
@@ -2995,7 +3165,7 @@ from_comp_asc(
 	const struct t_article *s1 = (const struct t_article *) p1;
 	const struct t_article *s2 = (const struct t_article *) p2;
 
-	if ((retval = strcasecmp(s1->from, s2->from))) /* != 0 */
+	if ((retval = strcasecmp(s1->mailbox.from, s2->mailbox.from))) /* != 0 */
 		return retval;
 
 	return s1->date - s2->date > 0 ? 1 : -1;
@@ -3011,7 +3181,7 @@ from_comp_desc(
 	const struct t_article *s1 = (const struct t_article *) p1;
 	const struct t_article *s2 = (const struct t_article *) p2;
 
-	if ((retval = strcasecmp(s2->from, s1->from))) /* != 0 */
+	if ((retval = strcasecmp(s2->mailbox.from, s1->mailbox.from))) /* != 0 */
 		return retval;
 
 	return s1->date - s2->date > 0 ? 1 : -1;
@@ -3161,15 +3331,15 @@ score_comp_base(
 	t_comptype p1,
 	t_comptype p2)
 {
-	int a = get_score_of_thread((int) *(const long *) p1);
-	int b = get_score_of_thread((int) *(const long *) p2);
+	int a = get_score_of_thread((int) *(const t_artnum *) p1);
+	int b = get_score_of_thread((int) *(const t_artnum *) p2);
 
 	/* If scores are equal, compare using the article sort order.
 	 * This determines the order in a group of equally scored threads.
 	 */
 	if (a == b) {
-		const struct t_article *s1 = &arts[*(const long *) p1];
-		const struct t_article *s2 = &arts[*(const long *) p2];
+		t_comptype s1 = &arts[*(const t_artnum *) p1];
+		t_comptype s2 = &arts[*(const t_artnum *) p2];
 		t_compfunc comp_func = eval_sort_arts_func(CURR_GROUP.attribute->sort_article_type);
 
 		if (comp_func)
@@ -3194,8 +3364,8 @@ last_date_comp_base_desc(
 	t_comptype p1,
 	t_comptype p2)
 {
-	time_t s1_last = get_last_posting_date(*(const long *) p1);
-	time_t s2_last = get_last_posting_date(*(const long *) p2);
+	time_t s1_last = get_last_posting_date(*(const t_artnum *) p1);
+	time_t s2_last = get_last_posting_date(*(const t_artnum *) p2);
 
 	if (s2_last < s1_last)
 		return -1;
@@ -3212,8 +3382,8 @@ last_date_comp_base_asc(
 	t_comptype p1,
 	t_comptype p2)
 {
-	time_t s1_last = get_last_posting_date(*(const long *) p1);
-	time_t s2_last = get_last_posting_date(*(const long *) p2);
+	time_t s1_last = get_last_posting_date(*(const t_artnum *) p1);
+	time_t s2_last = get_last_posting_date(*(const t_artnum *) p2);
 
 	if (s2_last > s1_last)
 		return -1;
@@ -3227,9 +3397,9 @@ last_date_comp_base_asc(
 
 static time_t
 get_last_posting_date(
-	long n)
+	t_artnum n)
 {
-	long i;
+	t_artnum i;
 	time_t last = (time_t) 0;
 
 	for (i = n; i >= 0; i = arts[i].thread) {
@@ -3246,13 +3416,14 @@ set_article(
 	struct t_article *art)
 {
 	art->subject = NULL;
-	art->from = NULL;
-	art->name = NULL;
 	art->date = (time_t) 0;
 	art->xref = NULL;
 	art->msgid = NULL;
 	art->refs = NULL;
 	art->refptr = NULL;
+	art->mailbox.from = NULL;
+	art->mailbox.name = NULL;
+	art->mailbox.next = NULL;
 	art->line_count = -1;
 	art->tagged = 0;
 	art->thread = ART_EXPIRED;
@@ -3328,32 +3499,57 @@ find_artnum(
 
 static char *
 print_from(
-	struct t_group *group,
+	const struct t_group *group,
 	struct t_article *article,
 	int charset)
 {
 	char *p, *q;
 	static char from[PATH_LEN];
-
-	*from = '\0';
-
-	if (article->name != NULL) {
-		q = my_strdup(article->name);
+	char single_from[PATH_LEN];
+	int c_needed = 0;
+	struct t_mailbox *mb = &article->mailbox;
+
+/*	if (!mb)
+		return from; */
+
+	*from = *single_from = '\0';
+
+	do {
+		if (mb->name != NULL) {
+			q = my_strdup(mb->name);
 #ifdef CHARSET_CONVERSION
-		if (charset != -1)
-			buffer_to_network(q, charset);
+			if (charset != -1)
+				buffer_to_network(&q, charset);
+#else
+			(void) charset;
 #endif /* CHARSET_CONVERSION */
-		p = rfc1522_encode(article->name, tinrc.mm_local_charset, FALSE);
-		unfold_header(p);
-		if (strpbrk(article->name, "\".:;<>@[]()\\") != NULL && article->name[0] != '"' && article->name[strlen(article->name)] != '"')
-			snprintf(from, sizeof(from), "\"%s\" <%s>", group->attribute->post_8bit_header ? q : p, article->from);
-		else
-			snprintf(from, sizeof(from), "%s <%s>", group->attribute->post_8bit_header ? q : p, article->from);
+			p = rfc1522_encode(mb->name, tinrc.mm_local_charset, FALSE);
+			unfold_header(p);
+			if (CHECK_RFC5322_SPECIALS(mb->name)) {
+				if (group->attribute)
+					snprintf(single_from, sizeof(single_from), "\"%s\" <%s>", group->attribute->post_8bit_header ? q : p, mb->from);
+				else
+					snprintf(single_from, sizeof(single_from), "\"%s\" <%s>", tinrc.post_8bit_header ? q : p, mb->from);
+			} else {
+				if (group->attribute)
+					snprintf(single_from, sizeof(single_from), "%s <%s>", group->attribute->post_8bit_header ? q : p, mb->from);
+				else
+					snprintf(single_from, sizeof(single_from), "%s <%s>", tinrc.post_8bit_header ? q : p, mb->from);
+			}
 
-		free(p);
-		free(q);
-	} else
-		snprintf(from, sizeof(from), "<%s>", article->from);
+			free(p);
+			free(q);
+		} else
+			snprintf(single_from, sizeof(single_from), "<%s>", mb->from);
+
+		if (strlen(from) + strlen(single_from) + /* strlen(", ") */ 2 < PATH_LEN) {
+			if (c_needed++)
+				strcat(from, ", ");
+			strcat(from, single_from);
+		}
+
+		mb = mb->next;
+	} while (mb);
 
 	return from;
 }
@@ -3365,7 +3561,7 @@ print_from(
  */
 static FILE *
 open_xover_fp(
-	struct t_group *group,
+	const struct t_group *group,
 	const char *mode,
 	t_artnum min,
 	t_artnum max,
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/attrib.c tin-2.6.4/src/attrib.c
--- tin-2.6.3/src/attrib.c	2023-12-24 00:38:37.000000000 +0100
+++ tin-2.6.4/src/attrib.c	2024-12-01 15:06:21.642889638 +0100
@@ -3,10 +3,10 @@
  *  Module    : attrib.c
  *  Author    : I. Lea
  *  Created   : 1993-12-01
- *  Updated   : 2023-11-16
+ *  Updated   : 2024-12-01
  *  Notes     : Group attribute routines
  *
- * Copyright (c) 1993-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1993-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -84,31 +84,31 @@ set_default_attributes(
 	t_bool global)
 {
 	attributes->global = (global ? TRUE : FALSE);	/* global/group specific */
-	attributes->maildir = (scope ? scope->maildir : (global ? tinrc.maildir : NULL));
-	attributes->savedir = (scope ? scope->savedir : (global ? tinrc.savedir : NULL));
+	attributes->maildir = (scope ? scope->maildir : (global ? &tinrc.maildir : NULL));
+	attributes->savedir = (scope ? scope->savedir : (global ? &tinrc.savedir : NULL));
 	attributes->savefile = NULL;
-	attributes->sigfile = (scope ? scope->sigfile : (global ? tinrc.sigfile : NULL));
-	attributes->group_format = (scope ? scope->group_format : (global ? tinrc.group_format : NULL));
-	attributes->thread_format = (scope ? scope->thread_format : (global ? tinrc.thread_format : NULL));
-	attributes->date_format = (scope ? scope->date_format : (global ? tinrc.date_format : NULL));
-	attributes->editor_format = (scope ? scope->editor_format : (global ? tinrc.editor_format : NULL));
-	attributes->organization = (scope ? scope->organization : (global ? (*default_organization ? default_organization : NULL) : NULL));
+	attributes->sigfile = (scope ? scope->sigfile : (global ? &tinrc.sigfile : NULL));
+	attributes->group_format = (scope ? scope->group_format : (global ? &tinrc.group_format : NULL));
+	attributes->thread_format = (scope ? scope->thread_format : (global ? &tinrc.thread_format : NULL));
+	attributes->date_format = (scope ? scope->date_format : (global ? &tinrc.date_format : NULL));
+	attributes->editor_format = (scope ? scope->editor_format : (global ? &tinrc.editor_format : NULL));
+	attributes->organization = (scope ? scope->organization : (global ? (*default_organization ? &default_organization : NULL) : NULL));
 	attributes->followup_to = NULL;
 	attributes->mailing_list = NULL;
 	attributes->x_headers = NULL;
 	attributes->x_body = NULL;
-	attributes->from = (scope ? scope->from : (global ? tinrc.mail_address : NULL));
-	attributes->news_quote_format = (scope ? scope->news_quote_format : (global ? tinrc.news_quote_format : NULL));
-	attributes->quote_chars = (scope ? scope->quote_chars : (global ? tinrc.quote_chars : NULL));
-	attributes->mime_types_to_save = (scope ? scope->mime_types_to_save : (global ? my_strdup("*/*") : NULL));
+	attributes->from = (scope ? scope->from : (global ? &tinrc.mail_address : NULL));
+	attributes->news_quote_format = (scope ? scope->news_quote_format : (global ? &tinrc.news_quote_format : NULL));
+	attributes->quote_chars = (scope ? scope->quote_chars : (global ? &tinrc.quote_chars : NULL));
+	attributes->mime_types_to_save = (scope ? scope->mime_types_to_save : (global ? &default_mime_types_to_save : NULL));
 #ifdef HAVE_ISPELL
 	attributes->ispell = NULL;
 #endif /* HAVE_ISPELL */
-	attributes->quick_kill_scope = (scope ? scope->quick_kill_scope : (global ? (tinrc.default_filter_kill_global ? my_strdup("*") : NULL) : NULL));
+	attributes->quick_kill_scope = (scope ? scope->quick_kill_scope : (global ? (tinrc.default_filter_kill_global ? &default_filter_kill_global : NULL) : NULL));
 	CopyBits(quick_kill_header, tinrc.default_filter_kill_header);
 	CopyBool(quick_kill_case, tinrc.default_filter_kill_case);
 	CopyBool(quick_kill_expire, tinrc.default_filter_kill_expire);
-	attributes->quick_select_scope = (scope ? scope->quick_select_scope : (global ? (tinrc.default_filter_select_global ? my_strdup("*") : NULL) : NULL));
+	attributes->quick_select_scope = (scope ? scope->quick_select_scope : (global ? (tinrc.default_filter_select_global ? &default_filter_select_global : NULL) : NULL));
 	CopyBits(quick_select_header, tinrc.default_filter_select_header);
 	CopyBool(quick_select_case, tinrc.default_filter_select_case);
 	CopyBool(quick_select_expire, tinrc.default_filter_select_expire);
@@ -144,9 +144,9 @@ set_default_attributes(
 	CopyBits(mail_mime_encoding, tinrc.mail_mime_encoding);
 	CopyBool(mark_ignore_tags, tinrc.mark_ignore_tags);
 	CopyBool(mark_saved_read, tinrc.mark_saved_read);
-	attributes->news_headers_to_display = (global ? tinrc.news_headers_to_display : NULL);
+	attributes->news_headers_to_display = (global ? &tinrc.news_headers_to_display : NULL);
 	attributes->headers_to_display = (scope ? (scope->headers_to_display ? scope->headers_to_display : NULL) : NULL);
-	attributes->news_headers_to_not_display = (global ? tinrc.news_headers_to_not_display : NULL);
+	attributes->news_headers_to_not_display = (global ? &tinrc.news_headers_to_not_display : NULL);
 	attributes->headers_to_not_display = (scope ? (scope->headers_to_not_display ? scope->headers_to_not_display : NULL) : NULL);
 	CopyBool(pos_first_unread, tinrc.pos_first_unread);
 	CopyBool(post_8bit_header, tinrc.post_8bit_header);
@@ -167,6 +167,9 @@ set_default_attributes(
 #ifdef CHARSET_CONVERSION
 	CopyBits(mm_network_charset, tinrc.mm_network_charset);
 	attributes->undeclared_charset = NULL;
+#	ifdef USE_ICU_UCSDET
+		attributes->undeclared_cs_guess = FALSE;
+#	endif /* USE_ICU_UCSDET */
 #endif /* CHARSET_CONVERSION */
 }
 
@@ -247,6 +250,9 @@ set_default_state(
 	state->trim_article_body = FALSE;
 #ifdef CHARSET_CONVERSION
 	state->undeclared_charset = FALSE;
+#	ifdef USE_ICU_UCSDET
+		state->undeclared_cs_guess = FALSE;
+#	endif /* USE_ICU_UCSDET */
 	state->mm_network_charset = FALSE;
 #endif /* CHARSET_CONVERSION */
 	state->verbatim_handling = FALSE;
@@ -274,8 +280,9 @@ set_default_state(
 		break; \
 	}
 #define MATCH_STRING(pattern, type) \
-	if (match_string(line, pattern, buf, sizeof(buf) - strlen(pattern))) { \
-		set_attrib(type, scope, line, buf); \
+	if (strlen(line) - strlen(pattern) < BUF_SIZE - 1 && match_string_ptr(line, pattern, tmp)) { \
+		set_attrib(type, scope, line, *tmp); \
+		*tmp = NULL; \
 		found = TRUE; \
 		break; \
 	}
@@ -285,34 +292,31 @@ set_default_state(
 		found = TRUE; \
 		break; \
 	}
-#if !defined(CHARSET_CONVERSION) || !defined(HAVE_ISPELL) || defined(DISABLE_PRINTING)
+#if !defined(CHARSET_CONVERSION) || !defined(HAVE_ISPELL) || defined(DISABLE_PRINTING) || !defined(USE_ICU_UCSDET)
 #	define SKIP_ITEM(pattern) \
 		if (!strncmp(line, pattern, strlen(pattern))) { \
 			found = TRUE; \
 			break; \
 		}
-#endif /* !CHARSET_CONVERSION || !HAVE_ISPELL || DISABLE_PRINTING */
+#endif /* !CHARSET_CONVERSION || !HAVE_ISPELL || DISABLE_PRINTING || !USE_ICU_UCSDET */
 
 
 /*
  * read global/local attributes file
  */
-void
+t_bool
 read_attributes_file(
 	t_bool global_file)
 {
 	FILE *fp;
-	char *file;
+	char *file, *line, **tmp;
 	char buf[LEN];
-	char line[LEN];
 	char scope[LEN];
 	int i, num;
 	struct t_version *upgrade = NULL;
 	static t_bool startup = TRUE;
 	t_bool flag, found = FALSE;
 
-	if (!batch_mode || verbose)
-		wait_message(0, _(txt_reading_attributes_file), (global_file ? _(txt_global) : ""));
 	/*
 	 * Initialize global attributes even if there is no global file
 	 * These setting are used as the default for all groups unless overridden
@@ -329,23 +333,28 @@ read_attributes_file(
 		file = local_attributes_file;
 	}
 
-	if ((fp = fopen(file, "r")) != NULL) {
-		scope[0] = '\0';
-		/*
-		 * TODO: use tin_fgets() instead to handle long lines
-		 * (e.g. buggy translation)
-		 */
-		while (fgets(line, (int) sizeof(line), fp) != NULL) {
-			if (line[0] == '\n')
+	if (!batch_mode || verbose)
+		wait_message(0, _(txt_reading_attributes_file), global_file ? _(txt_global) : "", file);
+
+	tmp = my_malloc(sizeof(char *));
+	*tmp = NULL;
+
+	if ((fp = tin_fopen(file, "r")) != NULL) {
+		unsigned int errors = 0, ln = 0;
+
+		*scope = '\0';
+		while ((line = tin_fgets(fp, FALSE)) != NULL) {
+			++ln;
+			if (!*line)
 				continue;
 			if (line[0] == '#') {
 				if (!global_file) {
-					if (scope[0] == '\0')
-						attrib_file_offset++;
+					if (!*scope)
+						++attrib_file_offset;
 					if (startup && upgrade == NULL && match_string(line, "# Group attributes file V", NULL, 0)) {
 						upgrade = check_upgrade(line, "# Group attributes file V", ATTRIBUTES_VERSION);
 						if (upgrade->state != RC_IGNORE)
-							upgrade_prompt_quit(upgrade, file); /* TODO: do something (more) useful here */
+							upgrade_prompt_quit(upgrade, file, fp); /* TODO: do something (more) useful here */
 					}
 				}
 				continue;
@@ -448,7 +457,7 @@ read_attributes_file(
 					MATCH_BOOLEAN("quick_select_expire=", OPT_ATTRIB_QUICK_SELECT_EXPIRE);
 					MATCH_INTEGER("quick_select_header=", OPT_ATTRIB_QUICK_SELECT_HEADER, FILTER_LINES);
 					MATCH_STRING("quick_select_scope=", OPT_ATTRIB_QUICK_SELECT_SCOPE);
-					if (match_string(line, "quote_chars=", buf, sizeof(buf))) {
+					if (strlen(line) - strlen("quote_chars=") < BUF_SIZE - 1 && match_string(line, "quote_chars=", buf, sizeof(buf))) {
 						if (upgrade && upgrade->file_version < 10010) { /* %s/%S changed to %I */
 							char *q = buf;
 
@@ -456,11 +465,13 @@ read_attributes_file(
 								if (*q == '%' && (*(q + 1) == 's' || *(q + 1) == 'S'))
 									*(++q) = 'I';
 
-								q++;
+								++q;
 							}
 						}
 						quote_dash_to_space(buf);
-						set_attrib(OPT_ATTRIB_QUOTE_CHARS, scope, line, buf);
+						*tmp = my_strdup(buf);
+						set_attrib(OPT_ATTRIB_QUOTE_CHARS, scope, line, *tmp);
+						*tmp = NULL;
 						found = TRUE;
 						break;
 					}
@@ -501,6 +512,11 @@ read_attributes_file(
 				case 'u':
 #ifdef CHARSET_CONVERSION
 					MATCH_STRING("undeclared_charset=", OPT_ATTRIB_UNDECLARED_CHARSET);
+#	ifdef USE_ICU_UCSDET
+					MATCH_BOOLEAN("undeclared_cs_guess=", OPT_ATTRIB_UNDECLARED_CS_GUESS);
+#	else
+					SKIP_ITEM("undeclared_cs_guess=");
+#	endif /* USE_ICU_UCSDET */
 #else
 					SKIP_ITEM("undeclared_charset=");
 #endif /* CHARSET_CONVERSION */
@@ -527,8 +543,8 @@ read_attributes_file(
 			if (!global_file && upgrade && upgrade->state == RC_UPGRADE) {
 				int auto_cc_bcc;
 				int show_info;
-				t_bool auto_bcc = FALSE;
-				t_bool auto_cc = FALSE;
+				t_bool auto_bcc;
+				t_bool auto_cc;
 
 				switch (my_tolower((unsigned char) line[0])) {
 					case 'a':
@@ -592,25 +608,20 @@ read_attributes_file(
 							}
 							set_attrib(OPT_ATTRIB_GROUP_FORMAT, scope, line, gbuf);
 							set_attrib(OPT_ATTRIB_THREAD_FORMAT, scope, line, tbuf);
-							free(gbuf);
-							free(tbuf);
 							found = TRUE;
 							break;
 						}
 						/*
 						 * previous versions has always passed groupname to external
 						 * commands, now we look for %G
-						 *
-						 * 8 == sizeof("sigfile=")
 						 */
-						if (match_string(line, "sigfile=", buf, sizeof(buf) - 8) && buf[0] == '!') {
+						if (match_string(line, "sigfile=", buf, sizeof(buf) - strlen("sigfile=")) && buf[0] == '!') {
 							/* just append %G if ATTRIBUTES_VERSION <= 1.0.8 */
 							if (upgrade && upgrade->file_version < 10009) {
-								char *newbuf = my_malloc(sizeof(buf) - 8 + 4);
+								char *newbuf = my_malloc(sizeof(buf) + 3); /* " %G" */
 
 								sprintf(newbuf, "%s %s", buf, "%G");
 								set_attrib(OPT_ATTRIB_SIGFILE, scope, line, newbuf);
-								free(newbuf);
 							}
 							break;
 						}
@@ -629,15 +640,32 @@ read_attributes_file(
 
 			if (found)
 				found = FALSE;
-			else {
-				/* TODO: even without DEBUG? */
-				error_message(1, _(txt_bad_attrib), line);
+			else { /* TODO: even without DEBUG? */
+				char *p;
+				const char *msg;
+
+				++errors;
+				if ((p = strchr(line, '='))) {
+					*p = '\0';
+					if (strlen(p + 1) >= BUF_SIZE - 1)
+						msg = _(txt_error_attrib_too_long);
+					else
+						msg = _(txt_error_attrib_unknown);
+				} else
+					msg = _(txt_error_attrib_malformed);
+
+				my_fprintf(stderr, msg, ln, line); /* TODO: add log_formatted_msg("ERR", ...)? */
 #ifdef DEBUG
 				if (debug & (DEBUG_ATTRIB))
 					debug_print_file("ATTRIBUTES", txt_bad_attrib, line);
 #endif /* DEBUG */
 			}
 		}
+		if (errors) {
+			my_fflush(stderr);
+			if (!batch_mode)
+				sleep(errors > 15 ? 7 : (errors >> 1) | 0x01);
+		}
 		fclose(fp);
 
 		/*
@@ -647,42 +675,59 @@ read_attributes_file(
 			write_attributes_file(file);
 
 		FreeAndNull(upgrade);
+		FreeAndNull(tmp);
+
+	} else {
+		if (global_file) {
+			FreeIfNeeded(tmp);
+			return FALSE;
+		}
 
-	} else if (!global_file && startup) {
-		/* no local attributes file, add some useful defaults and write file */
+		if (startup) {
+			/* no local attributes file, add some useful defaults and write file */
 
-		add_scope("*");
-		snprintf(buf, sizeof(buf), "%s", "~/.tin/headers");
-		set_attrib(OPT_ATTRIB_X_HEADERS, "*", "", buf);
-
-		add_scope("*sources*");
-		num = POST_PROC_SHAR;
-		set_attrib(OPT_ATTRIB_POST_PROCESS_TYPE, "*sources*", "", &num);
-
-		add_scope("*binaries*");
-		num = POST_PROC_YES;
-		set_attrib(OPT_ATTRIB_POST_PROCESS_TYPE, "*binaries*", "", &num);
-		num = FALSE;
-		set_attrib(OPT_ATTRIB_TEX2ISO_CONV, "*binaries*", "", &num);
-		num = TRUE;
-		set_attrib(OPT_ATTRIB_DELETE_TMP_FILES, "*binaries*", "", &num);
-		snprintf(buf, sizeof(buf), "%s", "poster");
-		set_attrib(OPT_ATTRIB_FOLLOWUP_TO, "*binaries*", "", buf);
+			add_scope("*");
+			*tmp = my_strdup("~/.tin/headers");
+			set_attrib(OPT_ATTRIB_X_HEADERS, "*", "", *tmp);
+
+			add_scope("*sources*");
+			num = POST_PROC_SHAR;
+			set_attrib(OPT_ATTRIB_POST_PROCESS_TYPE, "*sources*", "", &num);
+
+			add_scope("*binaries*");
+			num = POST_PROC_YES;
+			set_attrib(OPT_ATTRIB_POST_PROCESS_TYPE, "*binaries*", "", &num);
+			num = FALSE;
+			set_attrib(OPT_ATTRIB_TEX2ISO_CONV, "*binaries*", "", &num);
+			num = TRUE;
+			set_attrib(OPT_ATTRIB_DELETE_TMP_FILES, "*binaries*", "", &num);
+			*tmp = my_strdup("poster");
+			set_attrib(OPT_ATTRIB_FOLLOWUP_TO, "*binaries*", "", *tmp);
 
-		write_attributes_file(file);
+			write_attributes_file(file);
+			FreeAndNull(tmp);
+		}
 	}
+
+	FreeIfNeeded(tmp);
 	if (!global_file && startup)
 		startup = FALSE;
+
 #ifdef DEBUG
 	if (!global_file)
 		dump_scopes("SCOPES-R");
 #endif /* DEBUG */
+
+	return TRUE;
 }
 
 
 #define SET_STRING(string) \
-	FreeIfNeeded(curr_scope->attribute->string); \
-	curr_scope->attribute->string = my_strdup((char *) data); \
+	if (!curr_scope->attribute->string) \
+		curr_scope->attribute->string = my_malloc(sizeof(char *)); \
+	else \
+		FreeIfNeeded(*curr_scope->attribute->string); \
+	*curr_scope->attribute->string = (char *) data; \
 	curr_scope->state->string = TRUE; \
 	break
 
@@ -793,17 +838,33 @@ set_attrib(
 				SET_BOOLEAN(mark_saved_read);
 
 			case OPT_ATTRIB_NEWS_HEADERS_TO_DISPLAY:
-				FreeIfNeeded(curr_scope->attribute->news_headers_to_display);
-				curr_scope->attribute->news_headers_to_display = my_strdup((char *) data);
-				build_news_headers_array(curr_scope->attribute, TRUE);
-				curr_scope->state->news_headers_to_display = TRUE;
+				{
+					char *tmp = (char *) data;
+
+					if (!curr_scope->attribute->news_headers_to_display)
+						curr_scope->attribute->news_headers_to_display = my_malloc(sizeof(char *));
+					else
+						FreeIfNeeded(*curr_scope->attribute->news_headers_to_display);
+					*curr_scope->attribute->news_headers_to_display = my_strdup(tmp);
+					FreeAndNull(tmp);
+					build_news_headers_array(curr_scope->attribute, TRUE);
+					curr_scope->state->news_headers_to_display = TRUE;
+				}
 				break;
 
 			case OPT_ATTRIB_NEWS_HEADERS_TO_NOT_DISPLAY:
-				FreeIfNeeded(curr_scope->attribute->news_headers_to_not_display);
-				curr_scope->attribute->news_headers_to_not_display = my_strdup((char *) data);
-				build_news_headers_array(curr_scope->attribute, FALSE);
-				curr_scope->state->news_headers_to_not_display = TRUE;
+				{
+					char *tmp = (char *) data;
+
+					if (!curr_scope->attribute->news_headers_to_not_display)
+						curr_scope->attribute->news_headers_to_not_display = my_malloc(sizeof(char *));
+					else
+						FreeIfNeeded(*curr_scope->attribute->news_headers_to_not_display);
+					*curr_scope->attribute->news_headers_to_not_display = my_strdup(tmp);
+					FreeAndNull(tmp);
+					build_news_headers_array(curr_scope->attribute, FALSE);
+					curr_scope->state->news_headers_to_not_display = TRUE;
+				}
 				break;
 
 			case OPT_ATTRIB_POS_FIRST_UNREAD:
@@ -920,6 +981,10 @@ set_attrib(
 
 			case OPT_ATTRIB_UNDECLARED_CHARSET:
 				SET_STRING(undeclared_charset);
+#	ifdef USE_ICU_UCSDET
+			case OPT_ATTRIB_UNDECLARED_CS_GUESS:
+				SET_BOOLEAN(undeclared_cs_guess);
+#	endif /* USE_ICU_UCSDET */
 #endif /* CHARSET_CONVERSION */
 
 			case OPT_ATTRIB_X_HEADERS:
@@ -1051,6 +1116,9 @@ assign_attributes_to_groups(
 #ifdef CHARSET_CONVERSION
 				SET_ATTRIB(mm_network_charset);
 				SET_ATTRIB(undeclared_charset);
+#	ifdef USE_ICU_UCSDET
+				SET_ATTRIB(undeclared_cs_guess);
+#	endif /* USE_ICU_UCSDET */
 #endif /* CHARSET_CONVERSION */
 				SET_ATTRIB(quick_kill_scope);
 				SET_ATTRIB(quick_kill_header);
@@ -1092,10 +1160,14 @@ assign_attributes_to_groups(
 				SET_ATTRIB(mail_mime_encoding);
 				SET_ATTRIB(mark_ignore_tags);
 				SET_ATTRIB(mark_saved_read);
-				if (curr_scope->state->news_headers_to_display)
+				if (curr_scope->state->news_headers_to_display) {
+					SET_ATTRIB(news_headers_to_display);
 					group->attribute->headers_to_display = curr_scope->attribute->headers_to_display;
-				if (curr_scope->state->news_headers_to_not_display)
+				}
+				if (curr_scope->state->news_headers_to_not_display) {
+					SET_ATTRIB(news_headers_to_not_display);
 					group->attribute->headers_to_not_display = curr_scope->attribute->headers_to_not_display;
+				}
 				SET_ATTRIB(pos_first_unread);
 				SET_ATTRIB(post_8bit_header);
 				SET_ATTRIB(post_mime_encoding);
@@ -1129,9 +1201,9 @@ assign_attributes_to_groups(
 					break;
 				}
 			}
-			if (is_7bit) {
+			if (is_7bit)
 				group->attribute->mail_mime_encoding = group->attribute->post_mime_encoding = MIME_ENCODING_7BIT;
-			} else {
+			else {
 				if (group->attribute->mail_mime_encoding == MIME_ENCODING_7BIT)
 					group->attribute->mail_mime_encoding = MIME_ENCODING_QP;
 				if (group->attribute->post_mime_encoding == MIME_ENCODING_7BIT)
@@ -1180,7 +1252,7 @@ build_news_headers_array(
 				FreeIfNeeded(*scope->headers_to_display->header);
 			FreeIfNeeded(scope->headers_to_display->header);
 		}
-		scope->headers_to_display->header = ulBuildArgv(scope->news_headers_to_display, &scope->headers_to_display->num);
+		scope->headers_to_display->header = ulBuildArgv(scope->news_headers_to_display ? BlankIfNull(*scope->news_headers_to_display) : "", &scope->headers_to_display->num);
 	} else {
 		if (scope->headers_to_not_display == NULL)
 			scope->headers_to_not_display = my_malloc(sizeof(struct t_newsheader));
@@ -1189,11 +1261,13 @@ build_news_headers_array(
 				FreeIfNeeded(*scope->headers_to_not_display->header);
 			FreeIfNeeded(scope->headers_to_not_display->header);
 		}
-		scope->headers_to_not_display->header = ulBuildArgv(scope->news_headers_to_not_display, &scope->headers_to_not_display->num);
+		scope->headers_to_not_display->header = ulBuildArgv(scope->news_headers_to_not_display ? BlankIfNull(*scope->news_headers_to_not_display) : "", &scope->headers_to_not_display->num);
 	}
 }
 
 
+#define ATTRIB_IS_SET(attrib) (scope->state->attrib && scope->attribute->attrib && *scope->attribute->attrib)
+
 /*
  * Save the scope attributes from scopes[] to ~/.tin/attributes
  */
@@ -1209,7 +1283,8 @@ write_attributes_file(
 	if ((batch_mode || no_write || num_scope < 1) && file_size(file) != -1L)
 		return;
 
-	new_file = get_tmpfilename(file);
+	if ((new_file = get_tmpfilename(file)) == NULL)
+		return;
 
 	if ((fp = fopen(new_file, "w+")) == NULL) {
 		error_message(2, _(txt_filesystem_full_backup), ATTRIBUTES_FILE);
@@ -1217,7 +1292,7 @@ write_attributes_file(
 		return;
 	}
 
-	wait_message(0, _(txt_writing_attributes_file));
+	wait_message(0, _(txt_writing_attributes_file)); /* incl. filename in message? which one: file or new_file? */
 
 #ifdef DEBUG
 	dump_scopes("SCOPES-W");
@@ -1272,6 +1347,9 @@ write_attributes_file(
 	}
 	fprintf(fp, "\n");
 	fprintf(fp, "%s", _(txt_attrib_file_undeclared_charset));
+#	ifdef USE_ICU_UCSDET
+	fprintf(fp, "%s", _(txt_attrib_file_undeclared_cs_guess));
+#	endif /* USE_ICU_UCSDET */
 #endif /* CHARSET_CONVERSION */
 	fprintf(fp, "%s", _(txt_attrib_file_hdr_to_disp));
 	fprintf(fp, "%s", _(txt_attrib_file_hdr_to_not_disp));
@@ -1409,7 +1487,7 @@ write_attributes_file(
 	attrib_file_offset = 1;
 	while ((i = fgetc(fp)) != EOF) {
 		if (i == '\n')
-			attrib_file_offset++;
+			++attrib_file_offset;
 	}
 	if (fseek(fp, fpos, SEEK_SET)) {
 		clearerr(fp);
@@ -1438,67 +1516,71 @@ write_attributes_file(
 				if (scope->state->ask_for_metamail)
 					fprintf(fp, "ask_for_metamail=%s\n", print_boolean(scope->attribute->ask_for_metamail));
 				if (scope->state->auto_cc_bcc)
-					fprintf(fp, "auto_cc_bcc=%u\n", scope->attribute->auto_cc_bcc);
+					fprintf(fp, "auto_cc_bcc=%u\n", (unsigned) scope->attribute->auto_cc_bcc);
 				if (scope->state->auto_list_thread)
 					fprintf(fp, "auto_list_thread=%s\n", print_boolean(scope->attribute->auto_list_thread));
 				if (scope->state->auto_select)
 					fprintf(fp, "auto_select=%s\n", print_boolean(scope->attribute->auto_select));
 				if (scope->state->batch_save)
 					fprintf(fp, "batch_save=%s\n", print_boolean(scope->attribute->batch_save));
-				if (scope->state->date_format && scope->attribute->date_format)
-					fprintf(fp, "date_format=%s\n", scope->attribute->date_format);
+				if (ATTRIB_IS_SET(date_format))
+					fprintf(fp, "date_format=%s\n", *scope->attribute->date_format);
 				if (scope->state->delete_tmp_files)
 					fprintf(fp, "delete_tmp_files=%s\n", print_boolean(scope->attribute->delete_tmp_files));
-				if (scope->state->editor_format && scope->attribute->editor_format)
-					fprintf(fp, "editor_format=%s\n", scope->attribute->editor_format);
+				if (ATTRIB_IS_SET(editor_format))
+					fprintf(fp, "editor_format=%s\n", *scope->attribute->editor_format);
 #ifdef HAVE_COLOR
 				if (scope->state->extquote_handling)
 					fprintf(fp, "extquote_handling=%s\n", print_boolean(scope->attribute->extquote_handling));
 #endif /* HAVE_COLOR */
-				if (scope->state->fcc && scope->attribute->fcc)
-					fprintf(fp, "fcc=%s\n", scope->attribute->fcc);
-				if (scope->state->followup_to && scope->attribute->followup_to)
-					fprintf(fp, "followup_to=%s\n", scope->attribute->followup_to);
-				if (scope->state->from && scope->attribute->from)
-					fprintf(fp, "from=%s\n", scope->attribute->from);
+				if (ATTRIB_IS_SET(fcc))
+					fprintf(fp, "fcc=%s\n", *scope->attribute->fcc);
+				if (ATTRIB_IS_SET(followup_to))
+					fprintf(fp, "followup_to=%s\n", *scope->attribute->followup_to);
+				if (ATTRIB_IS_SET(from))
+					fprintf(fp, "from=%s\n", *scope->attribute->from);
 				if (scope->state->group_catchup_on_exit)
 					fprintf(fp, "group_catchup_on_exit=%s\n", print_boolean(scope->attribute->group_catchup_on_exit));
-				if (scope->state->group_format && scope->attribute->group_format)
-					fprintf(fp, "group_format=%s\n", scope->attribute->group_format);
+				if (ATTRIB_IS_SET(group_format))
+					fprintf(fp, "group_format=%s\n", *scope->attribute->group_format);
 				if (scope->state->mail_8bit_header)
 					fprintf(fp, "mail_8bit_header=%s\n", print_boolean(scope->attribute->mail_8bit_header));
 				if (scope->state->mail_mime_encoding)
 					fprintf(fp, "mail_mime_encoding=%s\n", txt_mime_encodings[scope->attribute->mail_mime_encoding]);
 #ifdef HAVE_ISPELL
-				if (scope->state->ispell && scope->attribute->ispell)
-					fprintf(fp, "ispell=%s\n", scope->attribute->ispell);
+				if (ATTRIB_IS_SET(ispell))
+					fprintf(fp, "ispell=%s\n", *scope->attribute->ispell);
 #endif /* HAVE_ISPELL */
-				if (scope->state->maildir && scope->attribute->maildir)
-					fprintf(fp, "maildir=%s\n", scope->attribute->maildir);
-				if (scope->state->mailing_list && scope->attribute->mailing_list)
-					fprintf(fp, "mailing_list=%s\n", scope->attribute->mailing_list);
+				if (ATTRIB_IS_SET(maildir))
+					fprintf(fp, "maildir=%s\n", *scope->attribute->maildir);
+				if (ATTRIB_IS_SET(mailing_list))
+					fprintf(fp, "mailing_list=%s\n", *scope->attribute->mailing_list);
 				if (scope->state->mark_ignore_tags)
 					fprintf(fp, "mark_ignore_tags=%s\n", print_boolean(scope->attribute->mark_ignore_tags));
 				if (scope->state->mark_saved_read)
 					fprintf(fp, "mark_saved_read=%s\n", print_boolean(scope->attribute->mark_saved_read));
 				if (scope->state->mime_forward)
 					fprintf(fp, "mime_forward=%s\n", print_boolean(scope->attribute->mime_forward));
-				if (scope->state->mime_types_to_save && scope->attribute->mime_types_to_save)
-					fprintf(fp, "mime_types_to_save=%s\n", scope->attribute->mime_types_to_save);
+				if (ATTRIB_IS_SET(mime_types_to_save))
+					fprintf(fp, "mime_types_to_save=%s\n", *scope->attribute->mime_types_to_save);
 #ifdef CHARSET_CONVERSION
 				if (scope->state->mm_network_charset)
 					fprintf(fp, "mm_network_charset=%s\n", txt_mime_charsets[scope->attribute->mm_network_charset]);
-				if (scope->state->undeclared_charset && scope->attribute->undeclared_charset)
-					fprintf(fp, "undeclared_charset=%s\n", scope->attribute->undeclared_charset);
+				if (ATTRIB_IS_SET(undeclared_charset))
+					fprintf(fp, "undeclared_charset=%s\n", *scope->attribute->undeclared_charset);
+#	ifdef USE_ICU_UCSDET
+				if (scope->state->undeclared_cs_guess)
+					fprintf(fp, "undeclared_cs_guess=%s\n", print_boolean(scope->attribute->undeclared_cs_guess));
+#	endif /* USE_ICU_UCSDET */
 #endif /* CHARSET_CONVERSION */
-				if (scope->state->news_headers_to_display && scope->attribute->news_headers_to_display)
-					fprintf(fp, "news_headers_to_display=%s\n", scope->attribute->news_headers_to_display);
-				if (scope->state->news_headers_to_not_display && scope->attribute->news_headers_to_not_display)
-					fprintf(fp, "news_headers_to_not_display=%s\n", scope->attribute->news_headers_to_not_display);
-				if (scope->state->news_quote_format && scope->attribute->news_quote_format)
-					fprintf(fp, "news_quote_format=%s\n", scope->attribute->news_quote_format);
-				if (scope->state->organization && scope->attribute->organization)
-					fprintf(fp, "organization=%s\n", scope->attribute->organization);
+				if (ATTRIB_IS_SET(news_headers_to_display))
+					fprintf(fp, "news_headers_to_display=%s\n", *scope->attribute->news_headers_to_display);
+				if (ATTRIB_IS_SET(news_headers_to_not_display))
+					fprintf(fp, "news_headers_to_not_display=%s\n", *scope->attribute->news_headers_to_not_display);
+				if (ATTRIB_IS_SET(news_quote_format))
+					fprintf(fp, "news_quote_format=%s\n", *scope->attribute->news_quote_format);
+				if (ATTRIB_IS_SET(organization))
+					fprintf(fp, "organization=%s\n", *scope->attribute->organization);
 				if (scope->state->pos_first_unread)
 					fprintf(fp, "pos_first_unread=%s\n", print_boolean(scope->attribute->pos_first_unread));
 				if (scope->state->post_8bit_header)
@@ -1508,7 +1590,7 @@ write_attributes_file(
 				if (scope->state->post_process_view)
 					fprintf(fp, "post_process_view=%s\n", print_boolean(scope->attribute->post_process_view));
 				if (scope->state->post_process_type)
-					fprintf(fp, "post_process_type=%u\n", scope->attribute->post_process_type);
+					fprintf(fp, "post_process_type=%u\n", (unsigned) scope->attribute->post_process_type);
 #ifndef DISABLE_PRINTING
 				if (scope->state->print_header)
 					fprintf(fp, "print_header=%s\n", print_boolean(scope->attribute->print_header));
@@ -1517,30 +1599,30 @@ write_attributes_file(
 					fprintf(fp, "process_only_unread=%s\n", print_boolean(scope->attribute->process_only_unread));
 				if (scope->state->prompt_followupto)
 					fprintf(fp, "prompt_followupto=%s\n", print_boolean(scope->attribute->prompt_followupto));
-				if (scope->state->quick_kill_scope && scope->attribute->quick_kill_scope)
-					fprintf(fp, "quick_kill_scope=%s\n", scope->attribute->quick_kill_scope);
+				if (ATTRIB_IS_SET(quick_kill_scope))
+					fprintf(fp, "quick_kill_scope=%s\n", *scope->attribute->quick_kill_scope);
 				if (scope->state->quick_kill_case)
 					fprintf(fp, "quick_kill_case=%s\n", print_boolean(scope->attribute->quick_kill_case));
 				if (scope->state->quick_kill_expire)
 					fprintf(fp, "quick_kill_expire=%s\n", print_boolean(scope->attribute->quick_kill_expire));
 				if (scope->state->quick_kill_header)
-					fprintf(fp, "quick_kill_header=%u\n", scope->attribute->quick_kill_header);
-				if (scope->state->quick_select_scope && scope->attribute->quick_select_scope)
-					fprintf(fp, "quick_select_scope=%s\n", scope->attribute->quick_select_scope);
+					fprintf(fp, "quick_kill_header=%u\n", (unsigned) scope->attribute->quick_kill_header);
+				if (ATTRIB_IS_SET(quick_select_scope))
+					fprintf(fp, "quick_select_scope=%s\n", *scope->attribute->quick_select_scope);
 				if (scope->state->quick_select_case)
 					fprintf(fp, "quick_select_case=%s\n", print_boolean(scope->attribute->quick_select_case));
 				if (scope->state->quick_select_expire)
 					fprintf(fp, "quick_select_expire=%s\n", print_boolean(scope->attribute->quick_select_expire));
 				if (scope->state->quick_select_header)
-					fprintf(fp, "quick_select_header=%u\n", scope->attribute->quick_select_header);
-				if (scope->state->quote_chars && scope->attribute->quote_chars)
-					fprintf(fp, "quote_chars=%s\n", quote_space_to_dash(scope->attribute->quote_chars));
-				if (scope->state->savedir && scope->attribute->savedir)
-					fprintf(fp, "savedir=%s\n", scope->attribute->savedir);
-				if (scope->state->savefile && scope->attribute->savefile)
-					fprintf(fp, "savefile=%s\n", scope->attribute->savefile);
+					fprintf(fp, "quick_select_header=%u\n", (unsigned) scope->attribute->quick_select_header);
+				if (ATTRIB_IS_SET(quote_chars))
+					fprintf(fp, "quote_chars=%s\n", quote_space_to_dash(*scope->attribute->quote_chars));
+				if (ATTRIB_IS_SET(savedir))
+					fprintf(fp, "savedir=%s\n", *scope->attribute->savedir);
+				if (ATTRIB_IS_SET(savefile))
+					fprintf(fp, "savefile=%s\n", *scope->attribute->savefile);
 				if (scope->state->show_author)
-					fprintf(fp, "show_author=%u\n", scope->attribute->show_author);
+					fprintf(fp, "show_author=%u\n", (unsigned) scope->attribute->show_author);
 				if (scope->state->show_only_unread_arts)
 					fprintf(fp, "show_only_unread_arts=%s\n", print_boolean(scope->attribute->show_only_unread_arts));
 				if (scope->state->show_signatures)
@@ -1549,14 +1631,14 @@ write_attributes_file(
 					fprintf(fp, "show_art_score=%s\n", print_boolean(scope->attribute->show_art_score));
 				if (scope->state->sigdashes)
 					fprintf(fp, "sigdashes=%s\n", print_boolean(scope->attribute->sigdashes));
-				if (scope->state->sigfile && scope->attribute->sigfile)
-					fprintf(fp, "sigfile=%s\n", scope->attribute->sigfile);
+				if (ATTRIB_IS_SET(sigfile))
+					fprintf(fp, "sigfile=%s\n", *scope->attribute->sigfile);
 				if (scope->state->signature_repost)
 					fprintf(fp, "signature_repost=%s\n", print_boolean(scope->attribute->signature_repost));
 				if (scope->state->sort_article_type)
-					fprintf(fp, "sort_article_type=%u\n", scope->attribute->sort_article_type);
+					fprintf(fp, "sort_article_type=%u\n", (unsigned) scope->attribute->sort_article_type);
 				if (scope->state->sort_threads_type)
-					fprintf(fp, "sort_threads_type=%u\n", scope->attribute->sort_threads_type);
+					fprintf(fp, "sort_threads_type=%u\n", (unsigned) scope->attribute->sort_threads_type);
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 				if (scope->state->suppress_soft_hyphens)
 					fprintf(fp, "suppress_soft_hyphens=%s\n", print_boolean(scope->attribute->suppress_soft_hyphens));
@@ -1564,23 +1646,23 @@ write_attributes_file(
 				if (scope->state->tex2iso_conv)
 					fprintf(fp, "tex2iso_conv=%s\n", print_boolean(scope->attribute->tex2iso_conv));
 				if (scope->state->thread_articles)
-					fprintf(fp, "thread_articles=%u\n", scope->attribute->thread_articles);
+					fprintf(fp, "thread_articles=%u\n", (unsigned) scope->attribute->thread_articles);
 				if (scope->state->thread_catchup_on_exit)
 					fprintf(fp, "thread_catchup_on_exit=%s\n", print_boolean(scope->attribute->thread_catchup_on_exit));
-				if (scope->state->thread_format && scope->attribute->thread_format)
-					fprintf(fp, "thread_format=%s\n", scope->attribute->thread_format);
+				if (ATTRIB_IS_SET(thread_format))
+					fprintf(fp, "thread_format=%s\n", *scope->attribute->thread_format);
 				if (scope->state->thread_perc)
-					fprintf(fp, "thread_perc=%u\n", scope->attribute->thread_perc);
+					fprintf(fp, "thread_perc=%u\n", (unsigned) scope->attribute->thread_perc);
 				if (scope->state->trim_article_body)
-					fprintf(fp, "trim_article_body=%u\n", scope->attribute->trim_article_body);
+					fprintf(fp, "trim_article_body=%u\n", (unsigned) scope->attribute->trim_article_body);
 				if (scope->state->verbatim_handling)
 					fprintf(fp, "verbatim_handling=%s\n", print_boolean(scope->attribute->verbatim_handling));
 				if (scope->state->wrap_on_next_unread)
 					fprintf(fp, "wrap_on_next_unread=%s\n", print_boolean(scope->attribute->wrap_on_next_unread));
-				if (scope->state->x_headers && scope->attribute->x_headers)
-					fprintf(fp, "x_headers=%s\n", scope->attribute->x_headers);
-				if (scope->state->x_body && scope->attribute->x_body)
-					fprintf(fp, "x_body=%s\n", scope->attribute->x_body);
+				if (ATTRIB_IS_SET(x_headers))
+					fprintf(fp, "x_headers=%s\n", *scope->attribute->x_headers);
+				if (ATTRIB_IS_SET(x_body))
+					fprintf(fp, "x_body=%s\n", *scope->attribute->x_body);
 				if (scope->state->x_comment_to)
 					fprintf(fp, "x_comment_to=%s\n", print_boolean(scope->attribute->x_comment_to));
 			}
@@ -1625,36 +1707,39 @@ skip_scope(
 		|| scope->state->auto_list_thread
 		|| scope->state->auto_select
 		|| scope->state->batch_save
-		|| (scope->state->date_format && scope->attribute->date_format)
+		|| ATTRIB_IS_SET(date_format)
 		|| scope->state->delete_tmp_files
-		|| (scope->state->editor_format && scope->attribute->editor_format)
+		|| ATTRIB_IS_SET(editor_format)
 #ifdef HAVE_COLOR
 		|| scope->state->extquote_handling
 #endif /* HAVE_COLOR */
-		|| (scope->state->fcc && scope->attribute->fcc)
-		|| (scope->state->followup_to && scope->attribute->followup_to)
-		|| (scope->state->from && scope->attribute->from)
+		|| ATTRIB_IS_SET(fcc)
+		|| ATTRIB_IS_SET(followup_to)
+		|| ATTRIB_IS_SET(from)
 		|| scope->state->group_catchup_on_exit
-		|| (scope->state->group_format && scope->attribute->group_format)
+		|| ATTRIB_IS_SET(group_format)
 		|| scope->state->mail_8bit_header
 		|| scope->state->mail_mime_encoding
 #ifdef HAVE_ISPELL
-		|| (scope->state->ispell && scope->attribute->ispell)
+		|| ATTRIB_IS_SET(ispell)
 #endif /* HAVE_ISPELL */
-		|| (scope->state->maildir && scope->attribute->maildir)
-		|| (scope->state->mailing_list && scope->attribute->mailing_list)
+		|| ATTRIB_IS_SET(maildir)
+		|| ATTRIB_IS_SET(mailing_list)
 		|| scope->state->mark_ignore_tags
 		|| scope->state->mark_saved_read
 		|| scope->state->mime_forward
-		|| (scope->state->mime_types_to_save && scope->attribute->mime_types_to_save)
+		|| ATTRIB_IS_SET(mime_types_to_save)
 #ifdef CHARSET_CONVERSION
 		|| scope->state->mm_network_charset
-		|| (scope->state->undeclared_charset && scope->attribute->undeclared_charset)
+		|| ATTRIB_IS_SET(undeclared_charset)
+#	ifdef USE_ICU_UCSDET
+		|| scope->state->undeclared_cs_guess
+#	endif /* USE_ICU_UCSDET */
 #endif /* CHARSET_CONVERSION */
-		|| (scope->state->news_headers_to_display && scope->attribute->news_headers_to_display)
-		|| (scope->state->news_headers_to_not_display && scope->attribute->news_headers_to_not_display)
-		|| (scope->state->news_quote_format && scope->attribute->news_quote_format)
-		|| (scope->state->organization && scope->attribute->organization)
+		|| ATTRIB_IS_SET(news_headers_to_display)
+		|| ATTRIB_IS_SET(news_headers_to_not_display)
+		|| ATTRIB_IS_SET(news_quote_format)
+		|| ATTRIB_IS_SET(organization)
 		|| scope->state->pos_first_unread
 		|| scope->state->post_8bit_header
 		|| scope->state->post_mime_encoding
@@ -1665,23 +1750,23 @@ skip_scope(
 #endif /* !DISABLE_PRINTING */
 		|| scope->state->process_only_unread
 		|| scope->state->prompt_followupto
-		|| (scope->state->quick_kill_scope && scope->attribute->quick_kill_scope)
+		|| ATTRIB_IS_SET(quick_kill_scope)
 		|| scope->state->quick_kill_case
 		|| scope->state->quick_kill_expire
 		|| scope->state->quick_kill_header
-		|| (scope->state->quick_select_scope && scope->attribute->quick_select_scope)
+		|| ATTRIB_IS_SET(quick_select_scope)
 		|| scope->state->quick_select_case
 		|| scope->state->quick_select_expire
 		|| scope->state->quick_select_header
-		|| (scope->state->quote_chars && scope->attribute->quote_chars)
-		|| (scope->state->savedir && scope->attribute->savedir)
-		|| (scope->state->savefile && scope->attribute->savefile)
+		|| ATTRIB_IS_SET(quote_chars)
+		|| ATTRIB_IS_SET(savedir)
+		|| ATTRIB_IS_SET(savefile)
 		|| scope->state->show_author
 		|| scope->state->show_only_unread_arts
 		|| scope->state->show_signatures
 		|| scope->state->show_art_score
 		|| scope->state->sigdashes
-		|| (scope->state->sigfile && scope->attribute->sigfile)
+		|| ATTRIB_IS_SET(sigfile)
 		|| scope->state->signature_repost
 		|| scope->state->sort_article_type
 		|| scope->state->sort_threads_type
@@ -1691,18 +1776,21 @@ skip_scope(
 		|| scope->state->tex2iso_conv
 		|| scope->state->thread_articles
 		|| scope->state->thread_catchup_on_exit
-		|| (scope->state->thread_format && scope->attribute->thread_format)
+		|| ATTRIB_IS_SET(thread_format)
 		|| scope->state->thread_perc
 		|| scope->state->trim_article_body
 		|| scope->state->verbatim_handling
 		|| scope->state->wrap_on_next_unread
-		|| (scope->state->x_headers && scope->attribute->x_headers)
-		|| (scope->state->x_body && scope->attribute->x_body)
+		|| ATTRIB_IS_SET(x_headers)
+		|| ATTRIB_IS_SET(x_body)
 		|| scope->state->x_comment_to);
 }
 
 
 #ifdef DEBUG
+
+#define DEBUG_PRINT_BLANK_IF_NULL(attrib) (group->attribute->attrib ? BlankIfNull(*group->attribute->attrib) : "")
+
 #	if 0
 static void
 debug_print_filter_attributes(
@@ -1718,12 +1806,12 @@ debug_print_filter_attributes(
 			group = &active[i];
 			my_printf("Grp=[%s] KILL   header=[%d] scope=[%s] case=[%s] expire=[%s]\n",
 				group->name, group->attribute->quick_kill_header,
-				BlankIfNull(group->attribute->quick_kill_scope),
+				group->attribute->quick_kill_scope ? DEBUG_PRINT_BLANK_IF_NULL(*group->attribute->quick_kill_scope : ""),
 				txt_onoff[group->attribute->quick_kill_case != FALSE ? 1 : 0],
 				txt_onoff[group->attribute->quick_kill_expire != FALSE ? 1 : 0]);
 			my_printf("Grp=[%s] SELECT header=[%d] scope=[%s] case=[%s] expire=[%s]\n",
 				group->name, group->attribute->quick_select_header,
-				BlankIfNull(group->attribute->quick_select_scope),
+				group->attribute->quick_select_scope ? DEBUG_PRINT_BLANK_IF_NULL(*group->attribute->quick_select_scope : ""),
 				txt_onoff[group->attribute->quick_select_case != FALSE ? 1 : 0],
 				txt_onoff[group->attribute->quick_select_expire != FALSE ? 1 : 0]);
 		}
@@ -1732,7 +1820,6 @@ debug_print_filter_attributes(
 }
 #	endif /* 0 */
 
-
 static void
 dump_attributes(
 	void)
@@ -1747,21 +1834,21 @@ dump_attributes(
 				continue;
 			debug_print_file("ATTRIBUTES", "group=%s", BlankIfNull(group->name));
 			debug_print_file("ATTRIBUTES", "\tGlobal=%d", group->attribute->global);
-			debug_print_file("ATTRIBUTES", "\tmaildir=%s", BlankIfNull(group->attribute->maildir));
-			debug_print_file("ATTRIBUTES", "\tsavedir=%s", BlankIfNull(group->attribute->savedir));
-			debug_print_file("ATTRIBUTES", "\tsavefile=%s", BlankIfNull(group->attribute->savefile));
-			debug_print_file("ATTRIBUTES", "\tsigfile=%s", BlankIfNull(group->attribute->sigfile));
-			debug_print_file("ATTRIBUTES", "\torganization=%s", BlankIfNull(group->attribute->organization));
-			debug_print_file("ATTRIBUTES", "\tfollowup_to=%s", BlankIfNull(group->attribute->followup_to));
-			debug_print_file("ATTRIBUTES", "\tmailing_list=%s", BlankIfNull(group->attribute->mailing_list));
-			debug_print_file("ATTRIBUTES", "\tx_headers=%s", BlankIfNull(group->attribute->x_headers));
-			debug_print_file("ATTRIBUTES", "\tx_body=%s", BlankIfNull(group->attribute->x_body));
-			debug_print_file("ATTRIBUTES", "\tfrom=%s", BlankIfNull(group->attribute->from));
-			debug_print_file("ATTRIBUTES", "\tnews_quote_format=%s", BlankIfNull(group->attribute->news_quote_format));
-			debug_print_file("ATTRIBUTES", "\tquote_chars=%s", quote_space_to_dash(BlankIfNull(group->attribute->quote_chars)));
-			debug_print_file("ATTRIBUTES", "\tmime_types_to_save=%s", BlankIfNull(group->attribute->mime_types_to_save));
+			debug_print_file("ATTRIBUTES", "\tmaildir=%s", DEBUG_PRINT_BLANK_IF_NULL(maildir));
+			debug_print_file("ATTRIBUTES", "\tsavedir=%s", DEBUG_PRINT_BLANK_IF_NULL(savedir));
+			debug_print_file("ATTRIBUTES", "\tsavefile=%s", DEBUG_PRINT_BLANK_IF_NULL(savefile));
+			debug_print_file("ATTRIBUTES", "\tsigfile=%s", DEBUG_PRINT_BLANK_IF_NULL(sigfile));
+			debug_print_file("ATTRIBUTES", "\torganization=%s", DEBUG_PRINT_BLANK_IF_NULL(organization));
+			debug_print_file("ATTRIBUTES", "\tfollowup_to=%s", DEBUG_PRINT_BLANK_IF_NULL(followup_to));
+			debug_print_file("ATTRIBUTES", "\tmailing_list=%s", DEBUG_PRINT_BLANK_IF_NULL(mailing_list));
+			debug_print_file("ATTRIBUTES", "\tx_headers=%s", DEBUG_PRINT_BLANK_IF_NULL(x_headers));
+			debug_print_file("ATTRIBUTES", "\tx_body=%s", DEBUG_PRINT_BLANK_IF_NULL(x_body));
+			debug_print_file("ATTRIBUTES", "\tfrom=%s", DEBUG_PRINT_BLANK_IF_NULL(from));
+			debug_print_file("ATTRIBUTES", "\tnews_quote_format=%s", DEBUG_PRINT_BLANK_IF_NULL(news_quote_format));
+			debug_print_file("ATTRIBUTES", "\tquote_chars=%s", quote_space_to_dash(DEBUG_PRINT_BLANK_IF_NULL(quote_chars)));
+			debug_print_file("ATTRIBUTES", "\tmime_types_to_save=%s", DEBUG_PRINT_BLANK_IF_NULL(mime_types_to_save));
 #	ifdef HAVE_ISPELL
-			debug_print_file("ATTRIBUTES", "\tispell=%s", BlankIfNull(group->attribute->ispell));
+			debug_print_file("ATTRIBUTES", "\tispell=%s", DEBUG_PRINT_BLANK_IF_NULL(ispell));
 #	endif /* HAVE_ISPELL */
 			debug_print_file("ATTRIBUTES", "\tshow_only_unread_arts=%s", print_boolean(group->attribute->show_only_unread_arts));
 			debug_print_file("ATTRIBUTES", "\tthread_articles=%d", group->attribute->thread_articles);
@@ -1774,25 +1861,25 @@ dump_attributes(
 			debug_print_file("ATTRIBUTES", "\tauto_list_thread=%s", print_boolean(group->attribute->auto_list_thread));
 			debug_print_file("ATTRIBUTES", "\tauto_select=%s", print_boolean(group->attribute->auto_select));
 			debug_print_file("ATTRIBUTES", "\tbatch_save=%s", print_boolean(group->attribute->batch_save));
-			debug_print_file("ATTRIBUTES", "\tdate_format=%s", BlankIfNull(group->attribute->date_format));
+			debug_print_file("ATTRIBUTES", "\tdate_format=%s", DEBUG_PRINT_BLANK_IF_NULL(date_format));
 			debug_print_file("ATTRIBUTES", "\tdelete_tmp_files=%s", print_boolean(group->attribute->delete_tmp_files));
-			debug_print_file("ATTRIBUTES", "\teditor_format=%s", BlankIfNull(group->attribute->editor_format));
+			debug_print_file("ATTRIBUTES", "\teditor_format=%s", DEBUG_PRINT_BLANK_IF_NULL(editor_format));
 #	ifdef HAVE_COLOR
 			debug_print_file("ATTRIBUTES", "\textquote_handling=%s", print_boolean(group->attribute->extquote_handling));
 #	endif /* HAVE_COLOR */
 			debug_print_file("ATTRIBUTES", "\tgroup_catchup_on_exit=%s", print_boolean(group->attribute->group_catchup_on_exit));
-			debug_print_file("ATTRIBUTES", "\tgroup_format=%s", BlankIfNull(group->attribute->group_format));
+			debug_print_file("ATTRIBUTES", "\tgroup_format=%s", DEBUG_PRINT_BLANK_IF_NULL(group_format));
 			debug_print_file("ATTRIBUTES", "\tmail_8bit_header=%s", print_boolean(group->attribute->mail_8bit_header));
 			debug_print_file("ATTRIBUTES", "\tmail_mime_encoding=%s", txt_mime_encodings[group->attribute->mail_mime_encoding]);
 			debug_print_file("ATTRIBUTES", "\tmark_ignore_tags=%s", print_boolean(group->attribute->mark_ignore_tags));
 			debug_print_file("ATTRIBUTES", "\tmark_saved_read=%s", print_boolean(group->attribute->mark_saved_read));
-			debug_print_file("ATTRIBUTES", "\tnews_headers_to_display=%s", BlankIfNull(group->attribute->news_headers_to_display));
+			debug_print_file("ATTRIBUTES", "\tnews_headers_to_display=%s", DEBUG_PRINT_BLANK_IF_NULL(news_headers_to_display));
 			if (group->attribute->headers_to_display) {
 				debug_print_file("ATTRIBUTES", "\theaders_to_display->num=%d", group->attribute->headers_to_display->num);
 				for (j = 0; j < group->attribute->headers_to_display->num; j++)
 					debug_print_file("ATTRIBUTES", "\theaders_to_display->header[%d]=%s", j, group->attribute->headers_to_display->header[j]);
 			}
-			debug_print_file("ATTRIBUTES", "\tnews_headers_to_not_display=%s", BlankIfNull(group->attribute->news_headers_to_not_display));
+			debug_print_file("ATTRIBUTES", "\tnews_headers_to_not_display=%s", DEBUG_PRINT_BLANK_IF_NULL(news_headers_to_not_display));
 			if (group->attribute->headers_to_not_display) {
 				debug_print_file("ATTRIBUTES", "\theaders_to_not_display->num=%d", group->attribute->headers_to_not_display->num);
 				for (j = 0; j < group->attribute->headers_to_not_display->num; j++)
@@ -1818,26 +1905,29 @@ dump_attributes(
 			debug_print_file("ATTRIBUTES", "\tsuppress_soft_hyphens=%s", print_boolean(group->attribute->suppress_soft_hyphens));
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 			debug_print_file("ATTRIBUTES", "\tthread_catchup_on_exit=%s", print_boolean(group->attribute->thread_catchup_on_exit));
-			debug_print_file("ATTRIBUTES", "\tthread_format=%s", BlankIfNull(group->attribute->thread_format));
+			debug_print_file("ATTRIBUTES", "\tthread_format=%s", DEBUG_PRINT_BLANK_IF_NULL(thread_format));
 			debug_print_file("ATTRIBUTES", "\ttrim_article_body=%d", group->attribute->trim_article_body);
 			debug_print_file("ATTRIBUTES", "\tverbatim_handling=%s", print_boolean(group->attribute->verbatim_handling));
 			debug_print_file("ATTRIBUTES", "\twrap_on_next_unread=%s", print_boolean(group->attribute->wrap_on_next_unread));
 			debug_print_file("ATTRIBUTES", "\tpost_process_type=%d", group->attribute->post_process_type);
-			debug_print_file("ATTRIBUTES", "\tquick_kill_scope=%s", BlankIfNull(group->attribute->quick_kill_scope));
+			debug_print_file("ATTRIBUTES", "\tquick_kill_scope=%s", DEBUG_PRINT_BLANK_IF_NULL(quick_kill_scope));
 			debug_print_file("ATTRIBUTES", "\tquick_kill_case=%s", print_boolean(group->attribute->quick_kill_case));
 			debug_print_file("ATTRIBUTES", "\tquick_kill_expire=%s", print_boolean(group->attribute->quick_kill_expire));
 			debug_print_file("ATTRIBUTES", "\tquick_kill_header=%d", group->attribute->quick_kill_header);
-			debug_print_file("ATTRIBUTES", "\tquick_select_scope=%s", BlankIfNull(group->attribute->quick_select_scope));
+			debug_print_file("ATTRIBUTES", "\tquick_select_scope=%s", DEBUG_PRINT_BLANK_IF_NULL(quick_select_scope));
 			debug_print_file("ATTRIBUTES", "\tquick_select_case=%s", print_boolean(group->attribute->quick_select_case));
 			debug_print_file("ATTRIBUTES", "\tquick_select_expire=%s", print_boolean(group->attribute->quick_select_expire));
 			debug_print_file("ATTRIBUTES", "\tquick_select_header=%d", group->attribute->quick_select_header);
 			debug_print_file("ATTRIBUTES", "\tx_comment_to=%s", print_boolean(group->attribute->x_comment_to));
-			debug_print_file("ATTRIBUTES", "\tfcc=%s", BlankIfNull(group->attribute->fcc));
+			debug_print_file("ATTRIBUTES", "\tfcc=%s", DEBUG_PRINT_BLANK_IF_NULL(fcc));
 			debug_print_file("ATTRIBUTES", "\ttex2iso_conv=%s", print_boolean(group->attribute->tex2iso_conv));
 			debug_print_file("ATTRIBUTES", "\tmime_forward=%s", print_boolean(group->attribute->mime_forward));
 #	ifdef CHARSET_CONVERSION
 			debug_print_file("ATTRIBUTES", "\tmm_network_charset=%s", txt_mime_charsets[group->attribute->mm_network_charset]);
-			debug_print_file("ATTRIBUTES", "\tundeclared_charset=%s", BlankIfNull(group->attribute->undeclared_charset));
+			debug_print_file("ATTRIBUTES", "\tundeclared_charset=%s", DEBUG_PRINT_BLANK_IF_NULL(undeclared_charset));
+#		ifdef USE_ICU_UCSDET
+			debug_print_file("ATTRIBUTES", "\tundeclared_cs_guess=%s", print_boolean(group->attribute->undeclared_cs_guess));
+#		endif /* USE_ICU_UCSDET */
 #	endif /* CHARSET_CONVERSION */
 			debug_print_file("ATTRIBUTES", "");
 		}
@@ -1846,7 +1936,7 @@ dump_attributes(
 
 
 #define DEBUG_PRINT_STATE(attrib) (scope->state->attrib ? "+ " : "  ")
-#define DEBUG_PRINT_STRING(attrib) (scope->attribute->attrib ? scope->attribute->attrib : "NULL")
+#define DEBUG_PRINT_STRING(attrib) (scope->attribute->attrib ? *scope->attribute->attrib ? *scope->attribute->attrib : "NULL" : "NULL")
 
 
 static void
@@ -1956,6 +2046,9 @@ dump_scopes(
 #	ifdef CHARSET_CONVERSION
 			debug_print_file(fname, "\t%smm_network_charset=%s", DEBUG_PRINT_STATE(mm_network_charset), txt_mime_charsets[scope->attribute->mm_network_charset]);
 			debug_print_file(fname, "\t%sundeclared_charset=%s", DEBUG_PRINT_STATE(undeclared_charset), DEBUG_PRINT_STRING(undeclared_charset));
+#		ifdef USE_ICU_UCSDET
+			debug_print_file(fname, "\t%sundeclared_cs_guess=%s", DEBUG_PRINT_STATE(undeclared_cs_guess), print_boolean(scope->attribute->undeclared_cs_guess));
+#		endif /* USE_ICU_UCSDET */
 #	endif /* CHARSET_CONVERSION */
 			debug_print_file(fname, "");
 		}
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/auth.c tin-2.6.4/src/auth.c
--- tin-2.6.3/src/auth.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/auth.c	2024-12-06 11:20:43.638955630 +0100
@@ -3,11 +3,11 @@
  *  Module    : auth.c
  *  Author    : Dirk Nimmich <nimmich@muenster.de>
  *  Created   : 1997-04-05
- *  Updated   : 2023-02-06
+ *  Updated   : 2024-11-25
  *  Notes     : Routines to authenticate to a news server via NNTP.
  *              DON'T USE get_respcode() THROUGHOUT THIS CODE.
  *
- * Copyright (c) 1997-2024 Dirk Nimmich <nimmich@muenster.de>
+ * Copyright (c) 1997-2025 Dirk Nimmich <nimmich@muenster.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -54,13 +54,16 @@
 /*
  * local prototypes
  */
-static int do_authinfo_user(char *server, char *authuser, char *authpass);
-static t_bool read_newsauth_file(char *server, char *authuser, char *authpass);
+static int do_authinfo_user(char *server, char *authuser, const char *authpass);
+static t_bool read_newsauth_file(const char *server, char *authuser, char *authpass);
 static t_bool authinfo_plain(char *server, char *authuser, t_bool startup);
-#	ifdef USE_SASL
-	static char *sasl_auth_plain(char *user, char *pass);
-	static int do_authinfo_sasl_plain(char *authuser, char *authpass);
-#	endif /* USE_SASL */
+static char *prompt_for_authid(const char *authuser);
+static char *prompt_for_password(void);
+#	ifdef USE_GSASL
+	static int sasl_auth(char *user, char *pass);
+	static int do_authinfo_sasl(char *authuser, char *authpass);
+	/* static int callback(Gsasl *ctx, Gsasl_session *sctx, Gsasl_property prop); */
+#	endif /* USE_GSASL */
 
 
 /*
@@ -71,85 +74,100 @@ static t_bool authinfo_plain(char *serve
  */
 static t_bool
 read_newsauth_file(
-	char *server,
+	const char *server,
 	char *authuser,
 	char *authpass)
 {
 	FILE *fp;
 	char *_authpass;
-	char *ptr;
+	char *ptr, *p, *q;
 	char filename[PATH_LEN];
 	char line[PATH_LEN];
+	char hn[262]; /* [^\W_]{1,255}(:\d{,5})? */
 	int found = 0;
+#	ifndef FILE_MODE_BROKEN
 	int fd;
 	struct stat statbuf;
+#	endif /* !FILE_MODE_BROKEN */
 
 	joinpath(filename, sizeof(filename), homedir, ".newsauth");
 
-	if ((fp = fopen(filename, "r"))) {
-		if ((fd = fileno(fp)) == -1) {
-			fclose(fp);
-			return FALSE;
-		}
-		if (fstat(fd, &statbuf) == -1) {
-			fclose(fp);
-			return FALSE;
-		}
+	if ((fp = tin_fopen(filename, "r")) == NULL)
+		return FALSE;
 
 #	ifndef FILE_MODE_BROKEN
-		if (S_ISREG(statbuf.st_mode) && (statbuf.st_mode|S_IRUSR|S_IWUSR) != (S_IRUSR|S_IWUSR|S_IFREG)) {
-			error_message(4, _(txt_error_insecure_permissions), filename, statbuf.st_mode);
-			/*
-			 * TODO: fix permissions?
-			 * #ifdef HAVE_FCHMOD
-			 *  fchmod(fd, S_IRUSR|S_IWUSR);
-			 * #else
-			 * #	ifdef HAVE_CHMOD
-			 *  chmod(filename, S_IRUSR|S_IWUSR);
-			 * #	endif
-			 * #endif
-			 */
-		}
-#	endif /* !FILE_MODE_BROKEN */
+	if ((fd = fileno(fp)) == -1) {
+		fclose(fp);
+		return FALSE;
+	}
 
+	if (fstat(fd, &statbuf) == -1) {
+		fclose(fp);
+		return FALSE;
+	}
+
+	if (S_ISREG(statbuf.st_mode) && (statbuf.st_mode|S_IRUSR|S_IWUSR) != (S_IRUSR|S_IWUSR|S_IFREG)) {
+		error_message(4, _(txt_error_insecure_permissions), filename, statbuf.st_mode);
 		/*
-		 * Search through authorization file for correct NNTP server
-		 * File has format: 'nntp-server' 'password' ['username']
+		 * TODO: fix permissions?
+		 * #ifdef HAVE_FCHMOD
+		 *  fchmod(fd, S_IRUSR|S_IWUSR);
+		 * #else
+		 * #	ifdef HAVE_CHMOD
+		 *  chmod(filename, S_IRUSR|S_IWUSR);
+		 * #	endif
+		 * #endif
 		 */
-		while (fgets(line, sizeof(line), fp) != NULL) {
-			/* strip trailing newline character */
-			ptr = strchr(line, '\n');
-			if (ptr != NULL)
-				*ptr = '\0';
-
-			/* Get server from 1st part of the line */
-			ptr = strpbrk(line, " \t");
-
-			if (ptr == NULL || *line == '#')		/* comment or no passwd, no auth, skip */
-				continue;
-
-			*ptr++ = '\0';		/* cut off server part */
-
-			/* allow ":port" suffix in .newsauth - no IPv6-address support yet */
-			{
-				char *p;
-				char hn[262]; /* [^\W_]{1,255}(:\d{,5})? */
+	}
+#	endif /* !FILE_MODE_BROKEN */
 
-				if ((p = strchr(line, ':')) != NULL) {
-					if (strrchr(line, ':') == p) {
-						snprintf(hn, 262, "%s:%u", server, nntp_tcp_port);
-						if ((strcasecmp(line, hn)))
+	/*
+	 * Search through authorization file for correct NNTP server
+	 * File has format: 'nntp-server' 'password' ['username']
+	 */
+	while (fgets(line, sizeof(line), fp) != NULL) {
+		/* strip trailing newline character */
+		if ((ptr = strchr(line, '\n')) != NULL)
+			*ptr = '\0';
+
+		/* Get server from 1st part of the line */
+		ptr = strpbrk(line, " \t");
+
+		if (ptr == NULL || *line == '#')		/* comment or no passwd, no auth, skip */
+			continue;
+
+		*ptr++ = '\0';		/* cut off server part */
+
+		/* allow ":port" suffix in .newsauth */
+		if ((p = strchr(line, ':')) != NULL) {
+			if (*line != '[' && strrchr(line, ':') == p) { /* exact 1 x ':' must be [name|ipv4]:port */
+				snprintf(hn, sizeof(hn), "%s:%u", server, nntp_tcp_port);
+				if ((strcasecmp(line, hn)))
+					continue;
+			} else { /* "[ipv6]"[:port] */
+				if (*line == '[' && (q = strrchr(line, ']')) != NULL) {
+					if ((p = strchr(line, ':')) != NULL) {
+						if (p > q) /* not an IPv6 */
 							continue;
 					}
-				} else {
-					if ((strcasecmp(line, server)))
-						continue;
+					if ((p = strchr(q, ':')) != NULL) {
+						if (p == q + 1) {
+							snprintf(hn, sizeof(hn), "[%s]:%u", server, nntp_tcp_port);
+							if ((strcasecmp(line, hn)))
+								continue;
+						}
+					}
 				}
 			}
+		} else {
+			if ((strcasecmp(line, server)))
+				continue;
+		}
 
+		if (!(strcasecmp(line, server))) {
 			/* Get password from 2nd part of the line */
 			while (*ptr == ' ' || *ptr == '\t')
-				ptr++;	/* skip any blanks */
+				++ptr;	/* skip any blanks */
 
 			_authpass = ptr;
 
@@ -172,13 +190,12 @@ read_newsauth_file(
 					strcpy(authuser, ptr);	/* so will replace default user */
 			}
 			strcpy(authpass, _authpass);
-			found++;
+			++found;
 			break;	/* if we end up here, everything seems OK */
 		}
-		fclose(fp);
-		return (found > 0);
 	}
-	return FALSE;
+	fclose(fp);
+	return (found > 0);
 }
 
 
@@ -189,24 +206,24 @@ read_newsauth_file(
  * we don't handle ERR_ENCRYPT right now
  *
  * we don't convert authuser and authpass to UTF-8 as required by 3977
- * and we do in do_authinfo_sasl_plain(); if we want todo so it should
- * lkely be done in authinfo_plain() instead.
+ * and we do in do_authinfo_sasl(); if we want to do so it should
+ * likely be done in authinfo_plain() instead.
  */
 static int
 do_authinfo_user(
 	char *server,
 	char *authuser,
-	char *authpass)
+	const char *authpass)
 {
 	char line[NNTP_STRLEN];
 	int ret;
 
-	snprintf(line, sizeof(line), "AUTHINFO USER %.497s", authuser); /* RFC 3977 3.1 */
+	snprintf(line, sizeof(line), "AUTHINFO USER %.*s", NNTP_GRPLEN, authuser); /* RFC 3977 3.1 */
 #	ifdef DEBUG
 	if ((debug & DEBUG_NNTP) && verbose > 1)
 		debug_print_file("NNTP", "authorization %s", line);
 #	endif /* DEBUG */
-	put_server(line);
+	put_server(line, FALSE);
 	if ((ret = get_only_respcode(NULL, 0)) != NEED_AUTHDATA)
 		return ret;
 
@@ -219,12 +236,12 @@ do_authinfo_user(
 		return ERR_AUTHBAD;
 	}
 
-	snprintf(line, sizeof(line), "AUTHINFO PASS %.497s", authpass); /* RFC 3977 3.1 */
+	snprintf(line, sizeof(line), "AUTHINFO PASS %.*s", NNTP_GRPLEN, authpass); /* RFC 3977 3.1 */
 #	ifdef DEBUG
 	if ((debug & DEBUG_NNTP) && verbose > 1)
 		debug_print_file("NNTP", "authorization %s", line);
 #	endif /* DEBUG */
-	put_server(line);
+	put_server(line, TRUE);
 	ret = get_only_respcode(line, sizeof(line));
 	if (!batch_mode || verbose || ret != OK_AUTH)
 		wait_message(2, (ret == OK_AUTH ? _(txt_authorization_ok) : _(txt_authorization_fail)), authuser);
@@ -248,7 +265,18 @@ do_authinfo_user(
  *   nntpserver2 password [user]
  *   etc.
  *
- * TODO: convert authuser and authpass to UTF-8 as required by 3977?
+ * TODO: - convert authuser and authpass to UTF-8 as required by 3977?
+ *         (instead of doing so in do_authinfo_sasl())
+ *       - prompt logic does NOT work with SASL mechs which do not
+ *         require a username and/or password
+ *       - rewrite from scratch like:
+ *         - fill username/password from cache (reconnecting)
+ *         - if still unset lookup user/password from file
+ *         - if avail try sasl_auth (with callback if still unset user/password
+ *           and _return_ username/password so it can be used with non sasl
+ *           too)
+ *         - if user/password are still empty prompt user
+ *         - authinfo user/pass
  */
 static t_bool
 authinfo_plain(
@@ -272,19 +300,19 @@ authinfo_plain(
 	 * Else, proceed to the other mechanisms.
 	 */
 	if (initialized && !changed && !already_failed) {
-#	ifdef USE_SASL
-		if (nntp_caps.sasl & SASL_PLAIN)
-			ret = do_authinfo_sasl_plain(authusername, authpassword);
-		if (ret != OK_AUTH)
-#	endif /* USE_SASL */
+#	ifdef USE_GSASL
+		if (nntp_caps.authinfo_sasl && *nntp_caps.sasl_mechs)
+			ret = do_authinfo_sasl(authusername, authpassword);
+		if (ret != OK_AUTH_SASL && ret != OK_AUTH)
+#	endif /* USE_GSASL */
 		{
 			if (nntp_caps.type != CAPABILITIES || nntp_caps.authinfo_user)
 				ret = do_authinfo_user(server, authusername, authpassword);
 		}
-		return (ret == OK_AUTH);
+		return (ret == OK_AUTH || ret == OK_AUTH_SASL);
 	}
 
-	authpassword[0] = '\0';
+	*authpassword = '\0';
 	STRCPY(authusername, authuser);
 	authuser = authusername;
 	authpass = authpassword;
@@ -305,19 +333,19 @@ authinfo_plain(
 	 */
 	if ((changed || !initialized) && !already_failed) {
 		if (read_newsauth_file(server, authuser, authpass)) {
-#	ifdef USE_SASL
-			if (nntp_caps.sasl & SASL_PLAIN)
-				ret = do_authinfo_sasl_plain(authuser, authpass);
+#	ifdef USE_GSASL
+			if (nntp_caps.authinfo_sasl && *nntp_caps.sasl_mechs)
+				ret = do_authinfo_sasl(authuser, authpass);
 
-			if (ret != OK_AUTH)
-#	endif /* USE_SASL */
+			if (ret != OK_AUTH_SASL && ret != OK_AUTH)
+#	endif /* USE_GSASL */
 			{
 				if (force_auth_on_conn_open || nntp_caps.type != CAPABILITIES || (nntp_caps.type == CAPABILITIES && nntp_caps.authinfo_user))
 					ret = do_authinfo_user(server, authuser, authpass);
 			}
-			already_failed = (ret != OK_AUTH);
+			already_failed = (ret != OK_AUTH && ret != OK_AUTH_SASL);
 
-			if (ret == OK_AUTH) {
+			if (ret == OK_AUTH || ret == OK_AUTH_SASL) {
 #	ifdef DEBUG
 				if ((debug & DEBUG_NNTP) && verbose > 1)
 					debug_print_file("NNTP", "authorization succeeded");
@@ -350,46 +378,36 @@ authinfo_plain(
 	if (force_auth_on_conn_open || !startup) {
 		if (batch_mode) { /* no interactive username/password prompting */
 			error_message(0, _(txt_auth_needed));
-			return (ret == OK_AUTH);
+			return (ret == OK_AUTH || ret == OK_AUTH_SASL);
 		}
-		if (nntp_caps.type != CAPABILITIES || (nntp_caps.type == CAPABILITIES && !nntp_caps.authinfo_state && ((nntp_caps.sasl & SASL_PLAIN) || nntp_caps.authinfo_user || (!nntp_caps.authinfo_user && !(nntp_caps.sasl & SASL_PLAIN))))) {
-#	ifdef USE_CURSES
-			int state = RawState();
-#	endif /* USE_CURSES */
+		if (nntp_caps.type != CAPABILITIES || (nntp_caps.type == CAPABILITIES && !nntp_caps.authinfo_state && ((nntp_caps.authinfo_sasl && *nntp_caps.sasl_mechs) || nntp_caps.authinfo_user))) {
+			char *u, *p;
 
 			wait_message(0, _(txt_auth_needed));
-#	ifdef USE_CURSES
-			Raw(TRUE);
-#	endif /* USE_CURSES */
-			if (!prompt_default_string(_(txt_auth_user), authuser, sizeof(authusername) - 1, authusername, HIST_NONE)) {
-#	ifdef DEBUG
-				if ((debug & DEBUG_NNTP) && verbose > 1)
-					debug_print_file("NNTP", "authorization failed: no username");
-#	endif /* DEBUG */
-				return FALSE;
-			}
 
-#	ifdef USE_CURSES
-			Raw(state);
-			my_printf("%s", _(txt_auth_pass));
-			wgetnstr(stdscr, authpassword, sizeof(authpassword) - 1);
-			authpassword[sizeof(authpassword) - 1] = '\0';
-			Raw(TRUE);
-#	else
-			/*
-			 * on some systems (i.e. Solaris) getpass(3) is limited
-			 * to 8 chars -> we use tin_getline()
-			 */
-			STRCPY(authpassword, tin_getline(_(txt_auth_pass), 0, NULL, sizeof(authpassword) - 1, TRUE, HIST_NONE));
-#	endif /* USE_CURSES */
+			u = prompt_for_authid(authuser);
+			p = prompt_for_password();
 
-#	ifdef USE_SASL
-			if (nntp_caps.sasl & SASL_PLAIN)
-				ret = do_authinfo_sasl_plain(authuser, authpass);
-			if (ret != OK_AUTH)
-#	endif /* USE_SASL */
+			if (p && *p) /* authpass points to authpassword */
+				STRCPY(authpassword, p);
+			else
+				*authpassword = '\0';
+
+			if (u && *u) /* authuser points to authusername */
+				STRCPY(authusername, u);
+			else
+				*authusername = '\0';
+
+			free(p);
+			free(u);
+
+#	ifdef USE_GSASL
+			if (nntp_caps.authinfo_sasl && *nntp_caps.sasl_mechs)
+				ret = do_authinfo_sasl(authuser, authpass);
+			if (ret != OK_AUTH_SASL && ret != OK_AUTH)
+#	endif /* USE_GSASL */
 			{
-				if (nntp_caps.type != CAPABILITIES || (nntp_caps.authinfo_user || !nntp_caps.authinfo_sasl)) {
+				if (*authpass && *authuser && (nntp_caps.type != CAPABILITIES || (nntp_caps.authinfo_user || !nntp_caps.authinfo_sasl))) {
 #	ifdef DEBUG
 					if (debug & DEBUG_NNTP) {
 						if (nntp_caps.type == CAPABILITIES && !nntp_caps.authinfo_sasl && !nntp_caps.authinfo_user)
@@ -417,16 +435,18 @@ authinfo_plain(
 			/*
 			 * TODO:
 			 * nntp_caps.type == CAPABILITIES && nntp_caps.authinfo_state
-			 * can we change the state here? and if so how? SARTTLS? MODE
-			 * READER?
+			 * can we change the state here? and if so how? SARTTLS (which
+			 * we do not support, RFC 7525 3.2)? MODE READER?
 			 */
 #	ifdef DEBUG
 			if ((debug & DEBUG_NNTP) && verbose > 1) {
-				debug_print_file("NNTP", "authorization not allowed in current state:");
+				debug_print_file("NNTP", "Authorization not allowed in current state");
 				debug_print_file("NNTP", "\tCAPABILITIES: %s", nntp_caps.type ? (nntp_caps.type < 2 ? "CAPABILITIES" : "BROKEN") : "NONE");
 				debug_print_file("NNTP", "\t%cREADER, %cMODE READER", nntp_caps.reader ? '+' : '-', nntp_caps.mode_reader ? '+' : '-');
 				debug_print_file("NNTP", "\t%cSTARTTLS", nntp_caps.starttls ? '+' : '-');
-				debug_print_file("NNTP", "\t%cAUTHINFO %s%s", nntp_caps.authinfo_state ? '+' : '-', nntp_caps.authinfo_user ? "USER " : "", nntp_caps.authinfo_sasl ? "SASL" : "");
+				debug_print_file("NNTP", "\t%cAUTHINFO %s%s", nntp_caps.authinfo_state ? '-' : '+', nntp_caps.authinfo_user ? "USER " : "", nntp_caps.authinfo_sasl ? "SASL" : "");
+				if (nntp_caps.authinfo_sasl) /* should not happen as we unset authinfo_sasl if we didn't find any mech we support */
+					debug_print_file("NNTP", "\tSASL %s", BlankIfNull(nntp_caps.sasl_mechs));
 			}
 #	endif /* DEBUG */
 			/*
@@ -435,15 +455,18 @@ authinfo_plain(
 			 */
 			if (!already_failed)
 				ret = OK_AUTH;
+
+			if (ret != OK_AUTH) /* TODO: also issue a hint for "-T" or to leave out "-A"? */
+				wait_message(4, _(txt_authorization_unavail));
 		}
 	}
 
 #	ifdef DEBUG
 	if ((debug & DEBUG_NNTP) && verbose > 1)
-		debug_print_file("NNTP", "authorization %s", (ret == OK_AUTH ? "succeeded" : "failed"));
+		debug_print_file("NNTP", "authorization %s", (ret == OK_AUTH || ret == OK_AUTH_SASL) ? "succeeded" : "failed");
 #	endif /* DEBUG */
 
-	return (ret == OK_AUTH);
+	return (ret == OK_AUTH || ret == OK_AUTH_SASL);
 }
 
 
@@ -461,9 +484,7 @@ authenticate(
 	t_bool startup)
 {
 	char line[NNTP_STRLEN];
-	t_bool ret;
-
-	ret = authinfo_plain(server, user, startup);
+	t_bool ret = authinfo_plain(server, user, startup);
 
 	if (ret && nntp_caps.type == CAPABILITIES) {
 		/* resend CAPABILITIES, but "manually" to avoid AUTH loop */
@@ -472,7 +493,7 @@ authenticate(
 		if ((debug & DEBUG_NNTP) && verbose > 1)
 			debug_print_file("NNTP", "authenticate(%s)", line);
 #	endif /* DEBUG */
-		put_server(line);
+		put_server(line, FALSE);
 
 		check_extensions(get_only_respcode(line, sizeof(line)));
 	}
@@ -481,38 +502,48 @@ authenticate(
 }
 
 
-#	ifdef USE_SASL
+#	ifdef USE_GSASL
 static int
-do_authinfo_sasl_plain(
+do_authinfo_sasl(
 	char *authuser,
 	char *authpass)
 {
-	char line[PATH_LEN];
-	char *foo;
-	char *utf8user;
-	char *utf8pass;
+	char *utf8user = NULL;
+	char *utf8pass = NULL;
 	int ret;
-#		ifdef CHARSET_CONVERSION
-	char *cp;
-	int i, c = 0;
-	t_bool contains_8bit = FALSE;
-#		endif /* CHARSET_CONVERSION */
 
-	utf8user = my_strdup(authuser);
-	utf8pass = my_strdup(authpass);
+	if (authuser && *authuser)
+		utf8user = my_strdup(authuser);
+
+	if (authpass && *authpass)
+		utf8pass = my_strdup(authpass);
+
 #		ifdef CHARSET_CONVERSION
 	/* RFC 4616 */
 	if (!IS_LOCAL_CHARSET("UTF-8")) {
-		for (cp = utf8user; *cp && !contains_8bit; cp++) {
-			if (!isascii(*cp)) {
-				contains_8bit = TRUE;
-				break;
+		char *cp;
+		int i, c = 0;
+		t_bool contains_8bit = FALSE;
+
+		/*
+		 * if authuser or authpass contains non ASCII-chars
+		 * convert both to UTF-8 even if this is a noop for
+		 * one of them
+		 */
+		if (utf8user && *utf8user) {
+			for (cp = utf8user; *cp; cp++) {
+				if (!isascii((unsigned char) *cp)) {
+					contains_8bit = TRUE;
+					break;
+				}
 			}
 		}
-		for (cp = utf8pass; *cp && !contains_8bit; cp++) {
-			if (!isascii(*cp)) {
-				contains_8bit = TRUE;
-				break;
+		if (!contains_8bit && utf8pass && *utf8pass) {
+			for (cp = utf8pass; *cp; cp++) {
+				if (!isascii((unsigned char) *cp)) {
+					contains_8bit = TRUE;
+					break;
+				}
 			}
 		}
 		if (contains_8bit) {
@@ -523,11 +554,11 @@ do_authinfo_sasl_plain(
 				}
 			}
 			if (c == i) { /* should never fail */
-				if (!buffer_to_network(utf8user, c)) {
+				if (utf8user && !buffer_to_network(&utf8user, c)) {
 					free(utf8user);
 					utf8user = my_strdup(authuser);
 				}
-				if (!buffer_to_network(utf8pass, c)) {
+				if (utf8pass && !buffer_to_network(&utf8pass, c)) {
 					free(utf8pass);
 					utf8pass = my_strdup(authpass);
 				}
@@ -538,58 +569,265 @@ do_authinfo_sasl_plain(
 
 #		ifdef DEBUG
 	if ((debug & DEBUG_NNTP) && verbose > 1)
-		debug_print_file("NNTP", "do_authinfo_sasl_plain(\"%s\", \"%s\")", BlankIfNull(authuser), BlankIfNull(authpass));
+		debug_print_file("NNTP", "do_authinfo_sasl(\"%s\", \"%s\")", BlankIfNull(authuser), BlankIfNull(authpass));
 #		endif /* DEBUG */
 
-	if ((foo = sasl_auth_plain(utf8user, utf8pass)) == NULL) {
-		free(utf8user);
-		free(utf8pass);
-		return ERR_AUTHBAD;
-	}
+	ret = sasl_auth(utf8user, utf8pass);
+	FreeIfNeeded(utf8user);
+	FreeIfNeeded(utf8pass);
 
-	free(utf8user);
-	free(utf8pass);
-
-	snprintf(line, sizeof(line), "AUTHINFO SASL PLAIN %s", foo);
-	FreeIfNeeded(foo);
-#		ifdef DEBUG
-	if ((debug & DEBUG_NNTP) && verbose > 1)
-		debug_print_file("NNTP", "authorization %s", line);
-#		endif /* DEBUG */
-	put_server(line);
-	ret = get_only_respcode(line, sizeof(line));
-	if (!batch_mode || verbose || ret != OK_AUTH)
-		wait_message(2, (ret == OK_AUTH ? _(txt_authorization_ok) : _(txt_authorization_fail)), authuser);
+	if (!batch_mode || verbose || (ret != OK_AUTH_SASL && ret != OK_AUTH))
+		wait_message(2, ((ret == OK_AUTH_SASL || ret == OK_AUTH) ? _(txt_authorization_ok) : _(txt_authorization_fail)), BlankIfNull(authuser));
 	return ret;
 }
 
 
-static char *
-sasl_auth_plain(
+/*
+ * TODO: add cyrus-sasl variant
+ *       support more mechs
+ *       callbacks
+ */
+static int
+sasl_auth(
 	char *user,
 	char *pass)
 {
 	Gsasl *ctx = NULL;
-	Gsasl_session *session;
-	char *p = NULL;
-	const char *mech = "PLAIN";
-
-	if (gsasl_init(&ctx) != GSASL_OK) /* TODO: do this only once at startup */
-		return p;
-	if (gsasl_client_start(ctx, mech, &session) != GSASL_OK) {
+	Gsasl_session *session = NULL;
+	char *out = NULL;
+	char *in = NULL;
+	const char *mech;
+	char *suggest = nntp_caps.sasl_mechs;
+	char line[8192]; /* hope that fits RFC 4643 2.4.1 */
+	int rc, ret = ERR_AUTHFAIL;
+	int sasl_prop;
+
+	if (gsasl_init(&ctx) != GSASL_OK) /* TODO: do this only once at startup? */
+		goto sasl_done;
+
+	if ((mech = gsasl_client_suggest_mechanism(ctx, suggest)) == NULL)
+		goto sasl_done;
+
+	if (gsasl_client_start(ctx, mech, &session) != GSASL_OK)
+		goto sasl_done;
+
+	/* callback to prompt for missing data if needed */
+	/* gsasl_callback_set(ctx, callback); */
+
+	FreeIfNeeded(nntp_caps.sasl_mech_used);
+	nntp_caps.sasl_mech_used = my_strdup(mech);
+	sasl_prop = SASL_NEED_NONE;
+
+	/* figure out required properties - align mechs with nntplib.c:check_extensions() */
+	if (!strcasecmp(mech, "PLAIN") || !strcasecmp(mech, "LOGIN"))
+		sasl_prop = (SASL_NEED_AUTHID | SASL_NEED_PASSWORD);
+	if (!strcasecmp(mech, "ANONYMOUS"))
+		sasl_prop = SASL_NEED_ANONYMOUS_TOKEN;
+
+	/* set required props  ... see also callback() */
+#if 0
+	if (user && (sasl_prop & SASL_NEED_AUTHZID)) /* authorization identity, usually not used with NNTP, but GSSAPI? */
+		gsasl_property_set(session, GSASL_AUTHZID, user);
+#endif /* 0 */
+
+	if (user && (sasl_prop & SASL_NEED_AUTHID))	/* authentication identity */
+		gsasl_property_set(session, GSASL_AUTHID, user);
+
+	if (pass && (sasl_prop & SASL_NEED_PASSWORD))	/* password of the authentication identity */
+		gsasl_property_set(session, GSASL_PASSWORD, pass);
+
+	if (sasl_prop & SASL_NEED_ANONYMOUS_TOKEN)
+		gsasl_property_set(session, GSASL_ANONYMOUS_TOKEN, "dummy"); /* use a base64(randstr(len=whatever))?? */
+
+	/* authenticate */
+	snprintf(line, sizeof(line), "AUTHINFO SASL %s", mech);
+	put_server(line, FALSE);
+
+	do {
+		ret = get_only_respcode(line, sizeof(line));
+		rc = gsasl_step64(session, in, &out);
+
+		if (ret != NEED_AUTHDATA_SASL || !out)
+			break;
+
+		if (rc == GSASL_NEEDS_MORE || ret == NEED_AUTHDATA_SASL)
+			put_server(out, TRUE);
+
+		if (rc == GSASL_NEEDS_MORE || rc == GSASL_OK)
+			gsasl_free(out);
+	} while (rc == GSASL_NEEDS_MORE);
+
+	if (ret == NEED_AUTHDATA_SASL && rc == GSASL_OK)
+		ret = get_only_respcode(line, sizeof(line));
+
+	if (rc != GSASL_OK)
+		error_message(batch_mode ? 0 : 4, "%s", gsasl_strerror(rc));
+
+sasl_done:
+	if (session)
+		gsasl_finish(session);
+	if (ctx)
 		gsasl_done(ctx);
-		return p;
+
+	if (ret != OK_AUTH_SASL && ret != OK_AUTH)
+		FreeAndNull(nntp_caps.sasl_mech_used);
+
+	return ret;
+}
+
+
+#if 0 /* prototype */
+static int
+callback(
+	Gsasl *ctx,
+	Gsasl_session *sctx,
+	Gsasl_property prop
+) {
+	char *u, *p;
+	int rc = GSASL_NO_CALLBACK;
+	int c = 0, i = -1;
+
+	(void) ctx;
+	if (!IS_LOCAL_CHARSET("UTF-8")) { /* charset conversion likely (we don't check for 7bit only) needed? */
+		for (i = 0; txt_mime_charsets[i] != NULL; i++) {
+			if (!strcasecmp("UTF-8", txt_mime_charsets[i])) {
+				c = i;
+				break;
+			}
+		}
+	}
+
+	switch (prop) {
+		case GSASL_AUTHID:
+			if ((u = prompt_for_authid(NULL)) != NULL) {
+				if (c == i) { /* convert to utf-8 */
+					char *u8 = my_strdup(u);
+
+					if (buffer_to_network(&u8, c))
+						gsasl_property_set(sctx, prop, u8);
+					else /* conversion failed, try plain string */
+						gsasl_property_set(sctx, prop, u);
+
+					free(u8);
+				} else
+					gsasl_property_set(sctx, prop, u);
+
+				free(u);
+				rc = GSASL_OK;
+			}
+			break;
+
+		case GSASL_PASSWORD:
+			if ((p = prompt_for_password()) != NULL) {
+				if (c == i) { /* convert to utf-8 */
+					char *p8 = my_strdup(p);
+
+					if (buffer_to_network(&p8, c))
+						gsasl_property_set(sctx, prop, p8);
+					else /* conversion failed, try plain string */
+						gsasl_property_set(sctx, prop, p);
+
+					free(p8);
+				} else
+					gsasl_property_set(sctx, prop, p);
+
+				free(p);
+				rc = GSASL_OK;
+			}
+			break;
+
+		GSASL_ANONYMOUS_TOKEN:
+			gsasl_property_set(sctx, GSASL_ANONYMOUS_TOKEN, "dummy");
+			rc = GSASL_OK;
+			break;
+
+		GSASL_SERVICE:
+			gsasl_property_set(sctx, GSASL_SERVICE, "nntp");
+			rc = GSASL_OK;
+			break;
+
+		case GSASL_HOSTNAME:
+			gsasl_property_set(sctx, GSASL_HOSTNAME, nntp_server /* get_host_name() ? */);
+			rc = GSASL_OK;
+			break;
+
+#if 0
+		case GSASL_AUTHZID:
+		case GSASL_PASSCODE:
+		case GSASL_PIN:
+		case GSASL_REALM:
+#endif /* 0 */
+		default: /* unhandled property */
+			break;
+	}
+	return rc;
+}
+#endif /* 0 */
+#	endif /* USE_GSASL */
+
+
+/*
+ * prompts for authid, suggests authuser
+ * returns freshly allocated authid
+ * caller must free result.
+ */
+static char *
+prompt_for_authid(
+	const char *authuser
+) {
+	char *authid;
+	size_t maxlen = 255;
+#	ifdef USE_CURSES
+	int state = RawState();
+
+	Raw(TRUE);
+#	endif /* USE_CURSES */
+
+	authid = my_malloc(maxlen--);
+	if (!prompt_default_string(_(txt_auth_user), authid, maxlen, authuser, HIST_NONE)) {
+#	ifdef DEBUG
+		if ((debug & DEBUG_NNTP) && verbose > 1)
+			debug_print_file("NNTP", "authorization failed: no username");
+#	endif /* DEBUG */
+
+		*authid = '\0';
 	}
-	/* GSASL_AUTHZID (authorization identity) is (usually) unused with NNTP */
-	gsasl_property_set(session, GSASL_AUTHID, user);	/* authentication identity */
-	gsasl_property_set(session, GSASL_PASSWORD, pass);	/* password of the authentication identity */
-	if (gsasl_step64(session, NULL, &p) != GSASL_OK)
-		FreeAndNull(p);
-	gsasl_finish(session);
-	gsasl_done(ctx);
-	return p;
+#	ifdef USE_CURSES
+	Raw(state);
+#	endif /* USE_CURSES */
+
+	return authid;
 }
-#	endif /* USE_SASL */
+
+
+/*
+ * prompts for authid related password
+ * returns freshly allocated password
+ * caller must free result.
+ */
+static char *
+prompt_for_password(
+	void
+) {
+	char *pass;
+	size_t maxlen = 255;
+
+#	ifdef USE_CURSES
+	pass = my_malloc(maxlen--);
+	my_printf("%s", _(txt_auth_pass));
+	wgetnstr(stdscr, pass, maxlen);
+	pass[maxlen] = '\0';
+#	else
+	/*
+	 * on some systems (i.e. Solaris) getpass(3) is limited
+	 * to 8 chars -> we use tin_getline()
+	 */
+	pass = my_strdup(tin_getline(_(txt_auth_pass), 0, NULL, maxlen, TRUE, HIST_NONE));
+#	endif /* USE_CURSES */
+
+	return pass;
+}
+
 
 #else
 static void no_authenticate(void);			/* proto-type */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/charset.c tin-2.6.4/src/charset.c
--- tin-2.6.3/src/charset.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/charset.c	2024-11-25 20:40:37.439791256 +0100
@@ -3,10 +3,10 @@
  *  Module    : charset.c
  *  Author    : M. Kuhn, T. Burmester
  *  Created   : 1993-12-10
- *  Updated   : 2021-02-23
+ *  Updated   : 2024-11-25
  *  Notes     : ISO to ascii charset conversion routines
  *
- * Copyright (c) 1993-2024 Markus Kuhn <mgk25@cl.cam.ac.uk>
+ * Copyright (c) 1993-2025 Markus Kuhn <mgk25@cl.cam.ac.uk>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,6 +42,14 @@
 #	include "tin.h"
 #endif /* !TIN_H */
 
+#ifdef CHARSET_CONVERSION
+#	ifdef USE_ICU_UCSDET
+#		include <unicode/utypes.h>
+#		include <unicode/uenum.h>
+#		include <unicode/ucsdet.h>
+#	endif /* USE_ICU_UCSDET */
+#endif /* CHARSET_CONVERSION */
+
 /*
  *  Table for the iso2asc conversion
  *  iso2asc  by  (unrza3@cd4680fs.rrze.uni-erlangen.de)
@@ -176,11 +184,10 @@ convert_iso2asc(
 	constext *p;
 	constext *const *tab;
 	char *asc;
-	t_bool first;	/* flag for first SPACE/TAB after other characters */
 	int i, a;	/* column counters in iso and asc */
+	t_bool first;	/* flag for first SPACE/TAB after other characters */
 
 	asc = *asc_buffer;
-
 	if (iso == NULL || asc == NULL)
 		return;
 
@@ -188,10 +195,10 @@ convert_iso2asc(
 	first = TRUE;
 	i = a = 0;
 	while (*iso != '\0') {
-		if (*EIGHT_BIT(iso) >= ISO_EXTRA) {
-			p = tab[*EIGHT_BIT(iso) - ISO_EXTRA];
-			iso++;
-			i++;
+		if (*(unsigned char *) (iso) >= ISO_EXTRA) {
+			p = tab[*(unsigned char *) (iso) - ISO_EXTRA];
+			++iso;
+			++i;
 			first = TRUE;
 			while (*p) {
 				*(asc++) = *(p++);
@@ -201,7 +208,7 @@ convert_iso2asc(
 					*asc_buffer = my_realloc(*asc_buffer, *max_line_len);
 					asc = *asc_buffer + offset;
 				}
-				a++;
+				++a;
 			}
 		} else {
 			if (a > i && ((*iso == ' ') || (*iso == '\t'))) {
@@ -214,10 +221,10 @@ convert_iso2asc(
 					 */
 					if (first) {
 						*(asc++) = ' ';
-						a++;
+						++a;
 						first = FALSE;
 					}
-					i++;
+					++i;
 				} else {	/* here: *iso == '\t' */
 					if (a >= TABSTOP(i)) {
 						/*
@@ -225,7 +232,7 @@ convert_iso2asc(
 						 */
 						if (first) {
 							*(asc++) = ' ';
-							a++;
+							++a;
 							first = FALSE;
 						}
 					} else {
@@ -237,7 +244,7 @@ convert_iso2asc(
 					}
 					i = TABSTOP(i);
 				}
-				iso++;
+				++iso;
 			} else {
 				/*
 				 * just copy the characters and advance the column counters
@@ -245,11 +252,11 @@ convert_iso2asc(
 				if (*iso == '\t') {
 					a = i = TABSTOP(i);	/* = TABSTOP(a), because here a = i */
 				} else if (*iso == '\b') {
-					a--;
-					i--;
+					--a;
+					--i;
 				} else {
-					a++;
-					i++;
+					++a;
+					++i;
 				}
 				*(asc++) = *(iso++);
 				first = TRUE;
@@ -286,7 +293,14 @@ convert_tex2iso(
 	 * code position as ISO-8859-1
 	 * DEC-MCS, Windows-1252
 	 */
-	if (IS_LOCAL_CHARSET("ISO-8859-1") ||
+	if (
+		!strcasecmp( /* ensure not to also match ISO-8859-{11,12} */
+#ifdef CHARSET_CONVERSION
+			tinrc.mm_local_charset
+#else
+			tinrc.mm_charset
+#endif /* CHARSET_CONVERSION */
+			, "ISO-8859-1") ||
 		IS_LOCAL_CHARSET("ISO-8859-2") ||
 		IS_LOCAL_CHARSET("ISO-8859-3") ||
 		IS_LOCAL_CHARSET("ISO-8859-4") ||
@@ -319,7 +333,6 @@ convert_tex2iso(
 
 	*to = '\0';
 	len = strlen(from);
-
 	while (col < len) {
 		i = 0;
 		ex = FALSE;
@@ -331,7 +344,7 @@ convert_tex2iso(
 				col += subst_len - 1;
 				ex = TRUE;
 			}
-			i++;
+			++i;
 		}
 		if (!ex)
 			strncat(to, from + col, 1);
@@ -339,8 +352,7 @@ convert_tex2iso(
 			strncat(to, SPACES, spaces);
 			spaces = 0;
 		}
-
-		col++;
+		++col;
 	}
 }
 
@@ -352,25 +364,24 @@ t_bool
 is_art_tex_encoded(
 	FILE *fp)
 {
-	char line[LEN];
+	char *line;
 	int i, len;
 	t_bool body = FALSE;
 
 	rewind(fp);
+	while ((line = tin_fgets(fp, FALSE)) != NULL) {
+		if (!body) {
+			if (!*line)
+				body = TRUE;
 
-	while (fgets(line, (int) sizeof(line), fp) != NULL) {
-		if (line[0] == '\n' && !body)
-			body = TRUE;
-		else if (!body)
 			continue;
+		}
 
 		i = 0;
-
 		while (line[i++] == ' ')
 			;	/* search for first non blank */
 
-		i--;
-
+		--i;
 		if (!isalnum((unsigned char) line[i]) && line[i] != '\"')
 			continue;	/* quoting char */
 
@@ -382,7 +393,6 @@ is_art_tex_encoded(
 				return TRUE;
 		}
 	}
-
 	return FALSE;
 }
 
@@ -405,11 +415,9 @@ convert_to_printable(
 
 	if ((wbuffer = char2wchar_t(buf)) != NULL) {
 		wconvert_to_printable(wbuffer, keep_tab);
-
 		if ((buffer = wchar_t2char(wbuffer)) != NULL) {
 			strncpy(buf, buffer, len);
 			buf[len - 1] = '\0';
-
 			free(buffer);
 		}
 		free(wbuffer);
@@ -443,7 +451,142 @@ wconvert_to_printable(
 		if (!iswprint((wint_t) *wc) && !(keep_tab && *wc == (wchar_t) '\t'))
 			*wc = (wchar_t) '?';
 	}
-
 	return wbuf;
 }
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+
+
+/*
+ * Check for charsets which may contain NULL bytes and thus break string
+ * functions. Possibly incomplete.
+ *
+ * TODO: fix the other code to handle those charsets properly.
+ */
+t_bool
+charset_unsupported(
+	const char *charset)
+{
+	static const char *charsets[] = {
+		"csUnicode",	/* alias for ISO-10646-UCS-2 */
+		"csUCS4",		/* alias for ISO-10646-UCS-4 */
+		"ISO-10646-UCS-2", /* can't be shortened due to ISO-10646-UCS-Basic */
+		"ISO-10646-UCS-4",
+		"UTF-16",		/* covers also BE/LE */
+		"UTF-32",		/* covers also BE/LE */
+		"UNICODE-1-1",
+		"SCSU",
+		"csSCSU",
+		NULL };
+	const char **charsetptr = charsets;
+	t_bool ret = FALSE;
+
+	if (!charset)
+		return ret;
+
+	do {
+		if (!strncasecmp(charset, *charsetptr, strlen(*charsetptr)))
+			return TRUE;
+	} while (*(++charsetptr) != NULL);
+
+#ifdef CHARSET_CONVERSION
+#	ifdef CHARSET_CONVERSION_ICONV
+	{
+		iconv_t cd;
+
+		if ((cd = iconv_open("UCS-4", charset)) != (iconv_t) (-1)) {
+			iconv_close(cd);
+			return ret;
+		}
+	}
+#	endif /* CHARSET_CONVERSION_ICONV */
+#	ifdef CHARSET_CONVERSION_UCNV
+	/* check if icu can handle it */
+	{
+		UErrorCode err = U_ZERO_ERROR;
+		UConverter *test = ucnv_open(charset, &err);
+
+		if (U_FAILURE(err)) {
+#if defined(DEBUG) && defined(DEBUG_UCNV)
+			wait_message(2, "UCNV: %s (%s:%d) %s", u_errorName(err), __FILE__, __LINE__, charset);
+#endif /* DEBUG && DEBUG_UCNV */
+			ret = TRUE;
+		} else
+			ucnv_close(test);
+	}
+#	endif /* CHARSET_CONVERSION_UCNV */
+#endif /* CHARSET_CONVERSION */
+
+	return ret;
+}
+
+
+#if defined(CHARSET_CONVERSION) && defined(USE_ICU_UCSDET)
+char *
+guess_charset(
+		const char *sample,
+		int32_t confidence)
+{
+	char *guessed_charset = NULL;
+	const char *p_match;
+	UCharsetDetector *detector;
+	const UCharsetMatch *match;
+	UErrorCode status = 0;
+
+	detector = ucsdet_open(&status);
+	if (U_FAILURE(status))
+		goto failure;
+
+	ucsdet_setText(detector, sample, -1, &status);
+	if (U_FAILURE(status))
+		goto failure;
+
+	/*
+	 * TODO: use ucsdet_detectAll() and loop over the results?
+	 * currently we just look at the best match and that might
+	 * be a charset we can't handle (e.g. UTF-16) ...
+	 */
+
+	match = ucsdet_detect(detector, &status);
+	if (match == NULL || U_FAILURE(status))
+		goto failure;
+
+	p_match = ucsdet_getName(match, &status);
+	if (p_match == NULL || U_FAILURE(status))
+		goto failure;
+
+	if (charset_unsupported(p_match))
+		goto failure;
+
+	/* badguess = 0 ... perfect = 100 */
+	if (ucsdet_getConfidence(match, &status) >= confidence)
+		guessed_charset = my_strdup(p_match);
+
+failure:
+	if (detector)
+		ucsdet_close(detector);
+
+	return guessed_charset;
+}
+#endif /* CHARSET_CONVERSION && USE_ICU_UCSDET */
+
+
+/*
+ * restrict it to [a-zA-Z0-9_-]+
+ */
+const char *
+validate_charset(
+	const char *charset)
+{
+	const char *c = charset;
+
+	if (!charset || strlen(charset) > 40) /* RFC 2978 2.3 */
+		return NULL;
+
+	while (*c) {
+		if (*c < 45 || *c > 122 || *c == 46 || *c == 47 || (*c >= 58 && *c <= 64) || (*c >= 91 && *c <= 94) || *c == 96)
+			return NULL;
+
+		++c;
+	}
+	return charset;
+}
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/color.c tin-2.6.4/src/color.c
--- tin-2.6.3/src/color.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/color.c	2024-11-26 10:39:13.881383364 +0100
@@ -11,7 +11,7 @@
  *  Notes     : This are the basic function for ansi-color
  *              and word highlighting
  *
- * Copyright (c) 1995-2024 Roland Rosenfeld <roland@spinnaker.rhein.de>
+ * Copyright (c) 1995-2025 Roland Rosenfeld <roland@spinnaker.rhein.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -333,7 +333,7 @@ draw_pager_line(
 #else
 			if (my_isprint((unsigned char) *c)) {
 				my_fputc((int) *c, stdout);
-				c++;
+				++c;
 			}
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 			else if (IS_LOCAL_CHARSET("Big5") && (unsigned char) *c >= 0xa1 && (unsigned char) *c <= 0xfe && *(c + 1)) {
@@ -343,9 +343,9 @@ draw_pager_line(
 				 * TODO: should we also check if the second byte is also valid?
 				 */
 				my_fputc((int) *c, stdout);
-				c++;
+				++c;
 				my_fputc((int) *c, stdout);
-				c++;
+				++c;
 			} else {
 				/*
 				 * non-printable char
@@ -353,7 +353,7 @@ draw_pager_line(
 				 */
 				snprintf(octal, sizeof(octal), "\\%03o", (unsigned int) (*c & 0xff));
 				my_fputs(octal, stdout);
-				c++;
+				++c;
 			}
 		}
 	}
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/config.c tin-2.6.4/src/config.c
--- tin-2.6.3/src/config.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/config.c	2024-12-21 15:16:43.653323555 +0100
@@ -3,10 +3,10 @@
  *  Module    : config.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2023-11-27
+ *  Updated   : 2024-12-21
  *  Notes     : Configuration file routines
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -54,18 +54,18 @@
 /*
  * local prototypes
  */
-static t_bool match_item(char *line, const char *pat, char *dst, size_t dstlen);
+static t_bool match_item(const char *line, const char *pat, char *dst, size_t dstlen);
 static t_bool rc_update(FILE *fp);
 static t_bool rc_post_update(FILE *fp/* , struct t_version *upgrade */);
 static void write_server_config(void);
 #ifdef HAVE_COLOR
-	static t_bool match_color(char *line, const char *pat, int *dst, int max);
+	static t_bool match_color(const char *line, const char *pat, int *dst, int max);
 #endif /* HAVE_COLOR */
 
 
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 #	define DASH_TO_SPACE(mark)	((wchar_t) (mark == L'_' ? L' ' : mark))
-#	define SPACE_TO_DASH(mark)	((wchar_t) (mark == L' ' ? L'_' : mark))
+#	define SPACE_TO_DASH(mark)	((wint_t) (mark == L' ' ? L'_' : mark))
 #	define SET_RC_VAL(buf, rcval, defval) do { \
 		wchar_t *wbuf; \
 		if ((wbuf = char2wchar_t(buf))) { \
@@ -91,30 +91,31 @@ static void write_server_config(void);
 t_bool
 read_config_file(
 	char *file,
-	t_bool global_file) /* return value is always ignored */
+	t_bool global_file)
 {
 	FILE *fp;
-	char buf[LEN], tmp[LEN];
+	char *buf;
+	char tmp[LEN];
 	struct t_version *upgrade = NULL;
 #ifdef CHARSET_CONVERSION
 	int i;
 	t_bool is_7bit;
 #endif /* CHARSET_CONVERSION */
 
-	if ((fp = fopen(file, "r")) == NULL)
+	if ((fp = tin_fopen(file, "r")) == NULL)
 		return FALSE;
 
 	if (!batch_mode || verbose)
-		wait_message(0, _(txt_reading_config_file), (global_file) ? _(txt_global) : "");
+		wait_message(0, _(txt_reading_config_file), global_file ? _(txt_global) : "", file);
 
-	while (fgets(buf, (int) sizeof(buf), fp) != NULL) {
-		if (buf[0] == '\n')
+	while ((buf = tin_fgets(fp, FALSE)) != NULL) {
+		if (!*buf)
 			continue;
 		if (buf[0] == '#') {
 			if (upgrade == NULL && !global_file && match_string(buf, "# tin configuration file V", NULL, 0)) {
 				upgrade = check_upgrade(buf, "# tin configuration file V", TINRC_VERSION);
 				if (upgrade->state != RC_IGNORE)
-					upgrade_prompt_quit(upgrade, file); /* CONFIG_FILE */
+					upgrade_prompt_quit(upgrade, file, fp); /* CONFIG_FILE */
 				if (upgrade->state == RC_UPGRADE)
 					rc_update(fp);
 			}
@@ -183,7 +184,7 @@ read_config_file(
 			if (match_boolean(buf, "ask_for_metamail=", &tinrc.ask_for_metamail))
 				break;
 
-			if (match_string(buf, "attachment_format=", tinrc.attachment_format, sizeof(tinrc.attachment_format)))
+			if (match_string_ptr(buf, "attachment_format=", &tinrc.attachment_format))
 				break;
 
 			if (match_integer(buf, "auto_cc_bcc=", &tinrc.auto_cc_bcc, AUTO_CC_BCC))
@@ -316,10 +317,15 @@ read_config_file(
 					break;
 			}
 
+#if defined(USE_ZLIB) && defined(CPP_DOES_CONCAT)
+			if (match_boolean(buf, "compress_overview_files=", &tinrc.compress_overview_files))
+				break;
+#endif /* USE_ZLIB && CPP_DOES_CONCAT */
+
 			break;
 
 		case 'd':
-			if (match_string(buf, "date_format=", tinrc.date_format, sizeof(tinrc.date_format)))
+			if (match_string_ptr(buf, "date_format=", &tinrc.date_format))
 				break;
 
 			if (match_integer(buf, "default_filter_days=", &tinrc.filter_days, 0)) {
@@ -357,63 +363,66 @@ read_config_file(
 				break;
 			}
 
-			if (match_string(buf, "default_author_search=", tinrc.default_search_author, sizeof(tinrc.default_search_author)))
+			if (match_string_ptr(buf, "default_author_search=", &tinrc.default_search_author))
 				break;
 
-			if (match_string(buf, "default_goto_group=", tinrc.default_goto_group, sizeof(tinrc.default_goto_group)))
+			if (match_string_ptr(buf, "default_goto_group=", &tinrc.default_goto_group))
 				break;
 
-			if (match_string(buf, "default_config_search=", tinrc.default_search_config, sizeof(tinrc.default_search_config)))
+			if (match_string_ptr(buf, "default_config_search=", &tinrc.default_search_config))
 				break;
 
-			if (match_string(buf, "default_group_search=", tinrc.default_search_group, sizeof(tinrc.default_search_group)))
+			if (match_string_ptr(buf, "default_group_search=", &tinrc.default_search_group))
 				break;
 
-			if (match_string(buf, "default_subject_search=", tinrc.default_search_subject, sizeof(tinrc.default_search_subject)))
+			if (match_string_ptr(buf, "default_subject_search=", &tinrc.default_search_subject))
 				break;
 
-			if (match_string(buf, "default_art_search=", tinrc.default_search_art, sizeof(tinrc.default_search_art)))
+			if (match_string_ptr(buf, "default_art_search=", &tinrc.default_search_art))
 				break;
 
-			if (match_string(buf, "default_repost_group=", tinrc.default_repost_group, sizeof(tinrc.default_repost_group)))
+			if (match_string_ptr(buf, "default_repost_group=", &tinrc.default_repost_group))
 				break;
 
-			if (match_string(buf, "default_mail_address=", tinrc.default_mail_address, sizeof(tinrc.default_mail_address)))
+			if (match_string_ptr(buf, "default_mail_address=", &tinrc.default_mail_address))
 				break;
 
 			if (match_integer(buf, "default_move_group=", &tinrc.default_move_group, 0))
 				break;
 
 #ifndef DONT_HAVE_PIPING
-			if (match_string(buf, "default_pipe_command=", tinrc.default_pipe_command, sizeof(tinrc.default_pipe_command)))
+			if (match_string_ptr(buf, "default_pipe_command=", &tinrc.default_pipe_command))
 				break;
 #endif /* !DONT_HAVE_PIPING */
 
-			if (match_string(buf, "default_post_newsgroups=", tinrc.default_post_newsgroups, sizeof(tinrc.default_post_newsgroups)))
+			if (match_string_ptr(buf, "default_post_newsgroups=", &tinrc.default_post_newsgroups))
+				break;
+
+			if (match_string_ptr(buf, "default_post_subject=", &tinrc.default_post_subject))
 				break;
 
-			if (match_string(buf, "default_post_subject=", tinrc.default_post_subject, sizeof(tinrc.default_post_subject)))
+			if (match_string_ptr(buf, "default_pattern=", &tinrc.default_pattern))
 				break;
 
-			if (match_string(buf, "default_pattern=", tinrc.default_pattern, sizeof(tinrc.default_pattern)))
+			if (match_string_ptr(buf, "default_range_group=", &tinrc.default_range_group))
 				break;
 
-			if (match_string(buf, "default_range_group=", tinrc.default_range_group, sizeof(tinrc.default_range_group)))
+			if (match_string_ptr(buf, "default_range_select=", &tinrc.default_range_select))
 				break;
 
-			if (match_string(buf, "default_range_select=", tinrc.default_range_select, sizeof(tinrc.default_range_select)))
+			if (match_string_ptr(buf, "default_range_thread=", &tinrc.default_range_thread))
 				break;
 
-			if (match_string(buf, "default_range_thread=", tinrc.default_range_thread, sizeof(tinrc.default_range_thread)))
+			if (match_string_ptr(buf, "default_save_file=", &tinrc.default_save_file))
 				break;
 
-			if (match_string(buf, "default_save_file=", tinrc.default_save_file, sizeof(tinrc.default_save_file)))
+			if (match_string_ptr(buf, "default_select_pattern=", &tinrc.default_select_pattern))
 				break;
 
-			if (match_string(buf, "default_select_pattern=", tinrc.default_select_pattern, sizeof(tinrc.default_select_pattern)))
+			if (match_string_ptr(buf, "default_shell_command=", &tinrc.default_shell_command))
 				break;
 
-			if (match_string(buf, "default_shell_command=", tinrc.default_shell_command, sizeof(tinrc.default_shell_command)))
+			if (match_boolean(buf, "dont_break_words=", &tinrc.dont_break_words))
 				break;
 
 			if (match_boolean(buf, "draw_arrow=", &tinrc.draw_arrow))
@@ -422,14 +431,14 @@ read_config_file(
 			break;
 
 		case 'e':
-			if (match_string(buf, "editor_format=", tinrc.editor_format, sizeof(tinrc.editor_format)))
+			if (match_string_ptr(buf, "editor_format=", &tinrc.editor_format))
 				break;
 
 #ifdef HAVE_COLOR
 			if (match_boolean(buf, "extquote_handling=", &tinrc.extquote_handling))
 				break;
 
-			if (match_string(buf, "extquote_regex=", tinrc.extquote_regex, sizeof(tinrc.extquote_regex)))
+			if (match_string_ptr(buf, "extquote_regex=", &tinrc.extquote_regex))
 				break;
 #endif /* HAVE_COLOR */
 
@@ -448,7 +457,7 @@ read_config_file(
 			if (match_integer(buf, "goto_next_unread=", &tinrc.goto_next_unread, NUM_GOTO_NEXT_UNREAD))
 				break;
 
-			if (match_string(buf, "group_format=", tinrc.group_format, sizeof(tinrc.group_format)))
+			if (match_string_ptr(buf, "group_format=", &tinrc.group_format))
 				break;
 
 			if (match_boolean(buf, "group_catchup_on_exit=", &tinrc.group_catchup_on_exit))
@@ -469,7 +478,7 @@ read_config_file(
 			if (match_boolean(buf, "inverse_okay=", &tinrc.inverse_okay))
 				break;
 
-			if (match_string(buf, "inews_prog=", tinrc.inews_prog, sizeof(tinrc.inews_prog)))
+			if (match_string_ptr(buf, "inews_prog=", &tinrc.inews_prog))
 				break;
 
 			if (match_integer(buf, "interactive_mailer=", &tinrc.interactive_mailer, (int) INTERACTIVE_NONE))
@@ -487,10 +496,10 @@ read_config_file(
 			break;
 
 		case 'm':
-			if (match_string(buf, "maildir=", tinrc.maildir, sizeof(tinrc.maildir)))
+			if (match_string_ptr(buf, "maildir=", &tinrc.maildir))
 				break;
 
-			if (match_string(buf, "mailer_format=", tinrc.mailer_format, sizeof(tinrc.mailer_format)))
+			if (match_string_ptr(buf, "mailer_format=", &tinrc.mailer_format))
 				break;
 
 			if (match_list(buf, "mail_mime_encoding=", txt_mime_encodings, &tinrc.mail_mime_encoding))
@@ -500,7 +509,7 @@ read_config_file(
 				break;
 
 #ifndef CHARSET_CONVERSION
-			if (match_string(buf, "mm_charset=", tinrc.mm_charset, sizeof(tinrc.mm_charset)))
+			if (match_string_ptr(buf, "mm_charset=", &tinrc.mm_charset))
 				break;
 #else
 			if (match_list(buf, "mm_charset=", txt_mime_charsets, &tinrc.mm_network_charset))
@@ -508,7 +517,7 @@ read_config_file(
 			if (match_list(buf, "mm_network_charset=", txt_mime_charsets, &tinrc.mm_network_charset))
 				break;
 #	ifdef NO_LOCALE
-			if (match_string(buf, "mm_local_charset=", tinrc.mm_local_charset, sizeof(tinrc.mm_local_charset)))
+			if (match_string_ptr(buf, "mm_local_charset=", &tinrc.mm_local_charset))
 				break;
 #	endif /* NO_LOCALE */
 #endif /* !CHARSET_CONVERSION */
@@ -519,16 +528,16 @@ read_config_file(
 			if (match_boolean(buf, "mark_saved_read=", &tinrc.mark_saved_read))
 				break;
 
-			if (match_string(buf, "mail_address=", tinrc.mail_address, sizeof(tinrc.mail_address)))
+			if (match_string_ptr(buf, "mail_address=", &tinrc.mail_address))
 				break;
 
-			if (match_string(buf, "mail_quote_format=", tinrc.mail_quote_format, sizeof(tinrc.mail_quote_format)))
+			if (match_string_ptr(buf, "mail_quote_format=", &tinrc.mail_quote_format))
 				break;
 
 			if (match_list(buf, "mailbox_format=", txt_mailbox_formats, &tinrc.mailbox_format))
 				break;
 
-			if (match_string(buf, "metamail_prog=", tinrc.metamail_prog, sizeof(tinrc.metamail_prog)))
+			if (match_string_ptr(buf, "metamail_prog=", &tinrc.metamail_prog))
 				break;
 
 			if (match_integer(buf, "mono_markdash=", &tinrc.mono_markdash, MAX_ATTR))
@@ -552,14 +561,14 @@ read_config_file(
 			}
 
 			/* pick which news headers to display */
-			if (match_string(buf, "news_headers_to_display=", tinrc.news_headers_to_display, sizeof(tinrc.news_headers_to_display)))
+			if (match_string_ptr(buf, "news_headers_to_display=", &tinrc.news_headers_to_display))
 				break;
 
 			/* pick which news headers to NOT display */
-			if (match_string(buf, "news_headers_to_not_display=", tinrc.news_headers_to_not_display, sizeof(tinrc.news_headers_to_not_display)))
+			if (match_string_ptr(buf, "news_headers_to_not_display=", &tinrc.news_headers_to_not_display))
 				break;
 
-			if (match_string(buf, "news_quote_format=", tinrc.news_quote_format, sizeof(tinrc.news_quote_format)))
+			if (match_string_ptr(buf, "news_quote_format=", &tinrc.news_quote_format))
 				break;
 
 #if defined(HAVE_ALARM) && defined(SIGALRM)
@@ -576,10 +585,10 @@ read_config_file(
 			break;
 
 		case 'p':
-			if (match_string(buf, "page_mime_format=", tinrc.page_mime_format, sizeof(tinrc.page_mime_format)))
+			if (match_string_ptr(buf, "page_mime_format=", &tinrc.page_mime_format))
 				break;
 
-			if (match_string(buf, "page_uue_format=", tinrc.page_uue_format, sizeof(tinrc.page_uue_format)))
+			if (match_string_ptr(buf, "page_uue_format=", &tinrc.page_uue_format))
 				break;
 
 			if (match_list(buf, "post_mime_encoding=", txt_mime_encodings, &tinrc.post_mime_encoding))
@@ -589,7 +598,7 @@ read_config_file(
 				break;
 
 #ifndef DISABLE_PRINTING
-			if (match_string(buf, "printer=", tinrc.printer, sizeof(tinrc.printer)))
+			if (match_string_ptr(buf, "printer=", &tinrc.printer))
 				break;
 
 			if (match_boolean(buf, "print_header=", &tinrc.print_header))
@@ -605,7 +614,7 @@ read_config_file(
 			if (match_boolean(buf, "post_process_view=", &tinrc.post_process_view))
 				break;
 
-			if (match_string(buf, "posted_articles_file=", tinrc.posted_articles_file, sizeof(tinrc.posted_articles_file)))
+			if (match_string_ptr(buf, "posted_articles_file=", &tinrc.posted_articles_file))
 				break;
 
 			if (match_boolean(buf, "process_only_unread=", &tinrc.process_only_unread))
@@ -617,7 +626,7 @@ read_config_file(
 			break;
 
 		case 'q':
-			if (match_string(buf, "quote_chars=", tinrc.quote_chars, sizeof(tinrc.quote_chars))) {
+			if (match_string_ptr(buf, "quote_chars=", &tinrc.quote_chars)) {
 				if (upgrade && upgrade->file_version < 10317) { /* %s/%S changed to %I */
 					char *q = tinrc.quote_chars;
 
@@ -625,7 +634,7 @@ read_config_file(
 						if (*q == '%' && (*(q + 1) == 's' || *(q + 1) == 'S'))
 							*(++q) = 'I';
 
-						q++;
+						++q;
 					}
 				}
 				quote_dash_to_space(tinrc.quote_chars);
@@ -636,13 +645,13 @@ read_config_file(
 				break;
 
 #ifdef HAVE_COLOR
-			if (match_string(buf, "quote_regex=", tinrc.quote_regex, sizeof(tinrc.quote_regex)))
+			if (match_string_ptr(buf, "quote_regex=", &tinrc.quote_regex))
 				break;
 
-			if (match_string(buf, "quote_regex2=", tinrc.quote_regex2, sizeof(tinrc.quote_regex2)))
+			if (match_string_ptr(buf, "quote_regex2=", &tinrc.quote_regex2))
 				break;
 
-			if (match_string(buf, "quote_regex3=", tinrc.quote_regex3, sizeof(tinrc.quote_regex3)))
+			if (match_string_ptr(buf, "quote_regex3=", &tinrc.quote_regex3))
 				break;
 #endif /* HAVE_COLOR */
 
@@ -663,12 +672,13 @@ read_config_file(
 			break;
 
 		case 's':
-			if (match_string(buf, "savedir=", tinrc.savedir, sizeof(tinrc.savedir))) {
-				if (tinrc.savedir[0] == '.' && strlen(tinrc.savedir) == 1) {
+			if (match_string_ptr(buf, "savedir=", &tinrc.savedir)) {
+				if (*tinrc.savedir == '.' && strlen(tinrc.savedir) == 1) {
 					char buff[PATH_LEN];
 
 					get_cwd(buff);
-					my_strncpy(tinrc.savedir, buff, sizeof(tinrc.savedir) - 1);
+					free(tinrc.savedir);
+					tinrc.savedir = my_strdup(buff);
 				}
 				break;
 			}
@@ -689,14 +699,14 @@ read_config_file(
 				break;
 			}
 
-			if (match_string(buf, "select_format=", tinrc.select_format, sizeof(tinrc.select_format)))
+			if (match_string_ptr(buf, "select_format=", &tinrc.select_format))
 				break;
 
 			if (match_integer(buf, "show_author=", &tinrc.show_author, SHOW_FROM_BOTH))
 				break;
 
 			if (match_boolean(buf, "show_description=", &tinrc.show_description)) {
-				if (show_description)
+				if (!(cmdline.args & CMDLINE_NO_DESCRIPTION))
 					show_description = tinrc.show_description;
 				break;
 			}
@@ -713,13 +723,13 @@ read_config_file(
 			if (match_boolean(buf, "sigdashes=", &tinrc.sigdashes))
 				break;
 
-			if (match_string(buf, "sigfile=", tinrc.sigfile, sizeof(tinrc.sigfile)))
+			if (match_string_ptr(buf, "sigfile=", &tinrc.sigfile))
 				break;
 
 			if (match_boolean(buf, "signature_repost=", &tinrc.signature_repost))
 				break;
 
-			if (match_string(buf, "spamtrap_warning_addresses=", tinrc.spamtrap_warning_addresses, sizeof(tinrc.spamtrap_warning_addresses)))
+			if (match_string_ptr(buf, "spamtrap_warning_addresses=", &tinrc.spamtrap_warning_addresses))
 				break;
 
 			if (match_integer(buf, "sort_article_type=", &tinrc.sort_article_type, SORT_ARTICLES_BY_LINES_ASCEND))
@@ -742,13 +752,13 @@ read_config_file(
 			if (match_boolean(buf, "show_art_score=", &tinrc.show_art_score))
 				break;
 
-			if (match_string(buf, "slashes_regex=", tinrc.slashes_regex, sizeof(tinrc.slashes_regex)))
+			if (match_string_ptr(buf, "slashes_regex=", &tinrc.slashes_regex))
 				break;
 
-			if (match_string(buf, "stars_regex=", tinrc.stars_regex, sizeof(tinrc.stars_regex)))
+			if (match_string_ptr(buf, "stars_regex=", &tinrc.stars_regex))
 				break;
 
-			if (match_string(buf, "strokes_regex=", tinrc.strokes_regex, sizeof(tinrc.strokes_regex)))
+			if (match_string_ptr(buf, "strokes_regex=", &tinrc.strokes_regex))
 				break;
 
 #ifndef USE_CURSES
@@ -763,10 +773,10 @@ read_config_file(
 				break;
 
 			/* Regexp used to strip "Re: "s and similar */
-			if (match_string(buf, "strip_re_regex=", tinrc.strip_re_regex, sizeof(tinrc.strip_re_regex)))
+			if (match_string_ptr(buf, "strip_re_regex=", &tinrc.strip_re_regex))
 				break;
 
-			if (match_string(buf, "strip_was_regex=", tinrc.strip_was_regex, sizeof(tinrc.strip_was_regex)))
+			if (match_string_ptr(buf, "strip_was_regex=", &tinrc.strip_was_regex))
 				break;
 
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
@@ -783,7 +793,7 @@ read_config_file(
 			if (match_integer(buf, "thread_perc=", &tinrc.thread_perc, 100))
 				break;
 
-			if (match_string(buf, "thread_format=", tinrc.thread_format, sizeof(tinrc.thread_format)))
+			if (match_string_ptr(buf, "thread_format=", &tinrc.thread_format))
 				break;
 
 			if (match_integer(buf, "thread_score=", &tinrc.thread_score, THREAD_SCORE_WEIGHT))
@@ -796,7 +806,7 @@ read_config_file(
 				break;
 
 #ifdef NNTPS_ABLE
-			if (match_string(buf, "tls_ca_cert_file=", tinrc.tls_ca_cert_file, sizeof(tinrc.tls_ca_cert_file)))
+			if (match_string_ptr(buf, "tls_ca_cert_file=", &tinrc.tls_ca_cert_file))
 				break;
 #endif /* NNTPS_ABLE */
 
@@ -811,13 +821,13 @@ read_config_file(
 			break;
 
 		case 'u':
-			if (match_string(buf, "underscores_regex=", tinrc.underscores_regex, sizeof(tinrc.underscores_regex)))
+			if (match_string_ptr(buf, "underscores_regex=", &tinrc.underscores_regex))
 				break;
 
 			if (match_boolean(buf, "unlink_article=", &tinrc.unlink_article))
 				break;
 
-			if (match_string(buf, "url_handler=", tinrc.url_handler, sizeof(tinrc.url_handler)))
+			if (match_string_ptr(buf, "url_handler=", &tinrc.url_handler))
 				break;
 
 			if (match_boolean(buf, "url_highlight=", &tinrc.url_highlight))
@@ -854,10 +864,10 @@ read_config_file(
 			break;
 
 		case 'v':
-			if (match_string(buf, "verbatim_begin_regex=", tinrc.verbatim_begin_regex, sizeof(tinrc.verbatim_begin_regex)))
+			if (match_string_ptr(buf, "verbatim_begin_regex=", &tinrc.verbatim_begin_regex))
 				break;
 
-			if (match_string(buf, "verbatim_end_regex=", tinrc.verbatim_end_regex, sizeof(tinrc.verbatim_end_regex)))
+			if (match_string_ptr(buf, "verbatim_end_regex=", &tinrc.verbatim_end_regex))
 				break;
 
 			if (match_boolean(buf, "verbatim_handling=", &tinrc.verbatim_handling))
@@ -886,7 +896,7 @@ read_config_file(
 			break;
 
 		case 'x':
-			if (match_string(buf, "xpost_quote_format=", tinrc.xpost_quote_format, sizeof(tinrc.xpost_quote_format)))
+			if (match_string_ptr(buf, "xpost_quote_format=", &tinrc.xpost_quote_format))
 				break;
 
 			break;
@@ -938,30 +948,51 @@ read_config_file(
 		tinrc.post_8bit_header = FALSE;
 
 	/* set defaults if blank */
-	if (!*tinrc.attachment_format)
-		STRCPY(tinrc.attachment_format, DEFAULT_ATTACHMENT_FORMAT);
-	if (!*tinrc.editor_format)
-		STRCPY(tinrc.editor_format, TIN_EDITOR_FMT);
-	if (!*tinrc.select_format)
-		STRCPY(tinrc.select_format, DEFAULT_SELECT_FORMAT);
-	if (!*tinrc.group_format)
-		STRCPY(tinrc.group_format, DEFAULT_GROUP_FORMAT);
-	if (!*tinrc.thread_format)
-		STRCPY(tinrc.thread_format, DEFAULT_THREAD_FORMAT);
-	if (!*tinrc.date_format)
-		STRCPY(tinrc.date_format, DEFAULT_DATE_FORMAT);
-	if (!*tinrc.inews_prog)
-		STRCPY(tinrc.inews_prog, INTERNAL_CMD);
+	if (!tinrc.attachment_format || !*tinrc.attachment_format) {
+		FreeIfNeeded(tinrc.attachment_format);
+		tinrc.attachment_format = my_strdup(DEFAULT_ATTACHMENT_FORMAT);
+	}
+	if (!tinrc.editor_format || !*tinrc.editor_format) {
+		FreeIfNeeded(tinrc.editor_format);
+		tinrc.editor_format = my_strdup(TIN_EDITOR_FMT);
+	}
+	if (!tinrc.select_format || !*tinrc.select_format) {
+		FreeIfNeeded(tinrc.select_format);
+		tinrc.select_format = my_strdup(DEFAULT_SELECT_FORMAT);
+	}
+	if (!tinrc.group_format || !*tinrc.group_format) {
+		FreeIfNeeded(tinrc.group_format);
+		tinrc.group_format = my_strdup(DEFAULT_GROUP_FORMAT);
+	}
+	if (!tinrc.thread_format || !*tinrc.thread_format) {
+		FreeIfNeeded(tinrc.thread_format);
+		tinrc.thread_format = my_strdup(DEFAULT_THREAD_FORMAT);
+	}
+	if (!tinrc.date_format || !*tinrc.date_format) {
+		FreeIfNeeded(tinrc.date_format);
+		tinrc.date_format = my_strdup(DEFAULT_DATE_FORMAT);
+	}
+	if (!tinrc.inews_prog || !*tinrc.inews_prog) {
+		FreeIfNeeded(tinrc.inews_prog);
+		tinrc.inews_prog = my_strdup(INTERNAL_CMD);
+	}
 	/* determine local charset */
 #ifndef CHARSET_CONVERSION
-	if (!*tinrc.mm_charset)
-		STRCPY(tinrc.mm_charset, get_val("MM_CHARSET", MM_CHARSET));
-	strcpy(tinrc.mm_local_charset, tinrc.mm_charset);
+	if (!tinrc.mm_charset || !*tinrc.mm_charset) {
+		FreeIfNeeded(tinrc.mm_charset);
+		tinrc.mm_charset = my_strdup(get_val("MM_CHARSET", MM_CHARSET));
+	}
+	FreeIfNeeded(tinrc.mm_local_charset);
+	tinrc.mm_local_charset = my_strdup(tinrc.mm_charset);
 #endif /* !CHARSET_CONVERSION */
-	if (!*tinrc.page_mime_format)
-		STRCPY(tinrc.page_mime_format, DEFAULT_PAGE_MIME_FORMAT);
-	if (!*tinrc.page_uue_format)
-		STRCPY(tinrc.page_uue_format, DEFAULT_PAGE_UUE_FORMAT);
+	if (!tinrc.page_mime_format || !*tinrc.page_mime_format) {
+		FreeIfNeeded(tinrc.page_mime_format);
+		tinrc.page_mime_format = my_strdup(DEFAULT_PAGE_MIME_FORMAT);
+	}
+	if (!tinrc.page_uue_format || !*tinrc.page_uue_format) {
+		FreeIfNeeded(tinrc.page_uue_format);
+		tinrc.page_uue_format = my_strdup(DEFAULT_PAGE_UUE_FORMAT);
+	}
 
 	return TRUE;
 }
@@ -972,7 +1003,7 @@ read_config_file(
  */
 void
 write_config_file(
-	char *file)
+	const char *file)
 {
 	FILE *fp;
 	char *file_tmp;
@@ -982,7 +1013,8 @@ write_config_file(
 		return;
 
 	/* generate tmp-filename */
-	file_tmp = get_tmpfilename(file);
+	if ((file_tmp = get_tmpfilename(file)) == NULL)
+		return;
 
 	if ((fp = fopen(file_tmp, "w")) == NULL) {
 		error_message(2, _(txt_filesystem_full_backup), CONFIG_FILE);
@@ -995,7 +1027,7 @@ write_config_file(
 	fprintf(fp, txt_tinrc_header, PRODUCT, TINRC_VERSION, tin_progname, VERSION, RELEASEDATE, RELEASENAME);
 
 	fprintf(fp, "%s", _(txt_savedir.tinrc));
-	fprintf(fp, "savedir=%s\n\n", tinrc.savedir);
+	fprintf(fp, "savedir=%s\n\n", BlankIfNull(tinrc.savedir));
 
 	fprintf(fp, "%s", _(txt_mark_saved_read.tinrc));
 	fprintf(fp, "mark_saved_read=%s\n\n", print_boolean(tinrc.mark_saved_read));
@@ -1065,10 +1097,10 @@ write_config_file(
 	fprintf(fp, "show_author=%d\n\n", tinrc.show_author);
 
 	fprintf(fp, "%s", _(txt_news_headers_to_display.tinrc));
-	fprintf(fp, "news_headers_to_display=%s\n\n", tinrc.news_headers_to_display);
+	fprintf(fp, "news_headers_to_display=%s\n\n", BlankIfNull(tinrc.news_headers_to_display));
 
 	fprintf(fp, "%s", _(txt_news_headers_to_not_display.tinrc));
-	fprintf(fp, "news_headers_to_not_display=%s\n\n", tinrc.news_headers_to_not_display);
+	fprintf(fp, "news_headers_to_not_display=%s\n\n", BlankIfNull(tinrc.news_headers_to_not_display));
 
 	fprintf(fp, "%s", _(txt_tinrc_info_in_last_line));
 	fprintf(fp, "info_in_last_line=%s\n\n", print_boolean(tinrc.info_in_last_line));
@@ -1085,7 +1117,7 @@ write_config_file(
 #endif /* USE_HEAPSORT */
 
 	fprintf(fp, "%s", _(txt_maildir.tinrc));
-	fprintf(fp, "maildir=%s\n\n", tinrc.maildir);
+	fprintf(fp, "maildir=%s\n\n", BlankIfNull(tinrc.maildir));
 
 	fprintf(fp, "%s", _(txt_mailbox_format.tinrc));
 	fprintf(fp, "mailbox_format=%s\n\n", txt_mailbox_formats[tinrc.mailbox_format]);
@@ -1095,17 +1127,17 @@ write_config_file(
 	fprintf(fp, "print_header=%s\n\n", print_boolean(tinrc.print_header));
 
 	fprintf(fp, "%s", _(txt_printer.tinrc));
-	fprintf(fp, "printer=%s\n\n", tinrc.printer);
+	fprintf(fp, "printer=%s\n\n", BlankIfNull(tinrc.printer));
 #endif /* !DISABLE_PRINTING */
 
 	fprintf(fp, "%s", _(txt_batch_save.tinrc));
 	fprintf(fp, "batch_save=%s\n\n", print_boolean(tinrc.batch_save));
 
 	fprintf(fp, "%s", _(txt_editor_format.tinrc));
-	fprintf(fp, "editor_format=%s\n\n", tinrc.editor_format);
+	fprintf(fp, "editor_format=%s\n\n", BlankIfNull(tinrc.editor_format));
 
 	fprintf(fp, "%s", _(txt_mailer_format.tinrc));
-	fprintf(fp, "mailer_format=%s\n\n", tinrc.mailer_format);
+	fprintf(fp, "mailer_format=%s\n\n", BlankIfNull(tinrc.mailer_format));
 
 	fprintf(fp, "%s", _(txt_interactive_mailer.tinrc));
 	fprintf(fp, "interactive_mailer=%d\n\n", tinrc.interactive_mailer);
@@ -1120,13 +1152,13 @@ write_config_file(
 	fprintf(fp, "keep_dead_articles=%s\n\n", print_boolean(tinrc.keep_dead_articles));
 
 	fprintf(fp, "%s", _(txt_posted_articles_file.tinrc));
-	fprintf(fp, "posted_articles_file=%s\n\n", tinrc.posted_articles_file);
+	fprintf(fp, "posted_articles_file=%s\n\n", BlankIfNull(tinrc.posted_articles_file));
 
 	fprintf(fp, "%s", _(txt_add_posted_to_filter.tinrc));
 	fprintf(fp, "add_posted_to_filter=%s\n\n", print_boolean(tinrc.add_posted_to_filter));
 
 	fprintf(fp, "%s", _(txt_sigfile.tinrc));
-	fprintf(fp, "sigfile=%s\n\n", tinrc.sigfile);
+	fprintf(fp, "sigfile=%s\n\n", BlankIfNull(tinrc.sigfile));
 
 	fprintf(fp, "%s", _(txt_sigdashes.tinrc));
 	fprintf(fp, "sigdashes=%s\n\n", print_boolean(tinrc.sigdashes));
@@ -1135,10 +1167,10 @@ write_config_file(
 	fprintf(fp, "signature_repost=%s\n\n", print_boolean(tinrc.signature_repost));
 
 	fprintf(fp, "%s", _(txt_spamtrap_warning_addresses.tinrc));
-	fprintf(fp, "spamtrap_warning_addresses=%s\n\n", tinrc.spamtrap_warning_addresses);
+	fprintf(fp, "spamtrap_warning_addresses=%s\n\n", BlankIfNull(tinrc.spamtrap_warning_addresses));
 
 	fprintf(fp, "%s", _(txt_url_handler.tinrc));
-	fprintf(fp, "url_handler=%s\n\n", tinrc.url_handler);
+	fprintf(fp, "url_handler=%s\n\n", BlankIfNull(tinrc.url_handler));
 
 	fprintf(fp, "%s", _(txt_advertising.tinrc));
 	fprintf(fp, "advertising=%s\n\n", print_boolean(tinrc.advertising));
@@ -1159,35 +1191,35 @@ write_config_file(
 
 #ifdef HAVE_COLOR
 	fprintf(fp, "%s", _(txt_quote_regex.tinrc));
-	fprintf(fp, "quote_regex=%s\n\n", tinrc.quote_regex);
+	fprintf(fp, "quote_regex=%s\n\n", BlankIfNull(tinrc.quote_regex));
 	fprintf(fp, "%s", _(txt_quote_regex2.tinrc));
-	fprintf(fp, "quote_regex2=%s\n\n", tinrc.quote_regex2);
+	fprintf(fp, "quote_regex2=%s\n\n", BlankIfNull(tinrc.quote_regex2));
 	fprintf(fp, "%s", _(txt_quote_regex3.tinrc));
-	fprintf(fp, "quote_regex3=%s\n\n", tinrc.quote_regex3);
+	fprintf(fp, "quote_regex3=%s\n\n", BlankIfNull(tinrc.quote_regex3));
 #endif /* HAVE_COLOR */
 
 	fprintf(fp, "%s", _(txt_slashes_regex.tinrc));
-	fprintf(fp, "slashes_regex=%s\n\n", tinrc.slashes_regex);
+	fprintf(fp, "slashes_regex=%s\n\n", BlankIfNull(tinrc.slashes_regex));
 	fprintf(fp, "%s", _(txt_stars_regex.tinrc));
-	fprintf(fp, "stars_regex=%s\n\n", tinrc.stars_regex);
+	fprintf(fp, "stars_regex=%s\n\n", BlankIfNull(tinrc.stars_regex));
 	fprintf(fp, "%s", _(txt_strokes_regex.tinrc));
-	fprintf(fp, "strokes_regex=%s\n\n", tinrc.strokes_regex);
+	fprintf(fp, "strokes_regex=%s\n\n", BlankIfNull(tinrc.strokes_regex));
 	fprintf(fp, "%s", _(txt_underscores_regex.tinrc));
-	fprintf(fp, "underscores_regex=%s\n\n", tinrc.underscores_regex);
+	fprintf(fp, "underscores_regex=%s\n\n", BlankIfNull(tinrc.underscores_regex));
 
 	fprintf(fp, "%s", _(txt_strip_re_regex.tinrc));
-	fprintf(fp, "strip_re_regex=%s\n\n", tinrc.strip_re_regex);
+	fprintf(fp, "strip_re_regex=%s\n\n", BlankIfNull(tinrc.strip_re_regex));
 	fprintf(fp, "%s", _(txt_strip_was_regex.tinrc));
-	fprintf(fp, "strip_was_regex=%s\n\n", tinrc.strip_was_regex);
+	fprintf(fp, "strip_was_regex=%s\n\n", BlankIfNull(tinrc.strip_was_regex));
 
 	fprintf(fp, "%s", _(txt_verbatim_begin_regex.tinrc));
-	fprintf(fp, "verbatim_begin_regex=%s\n\n", tinrc.verbatim_begin_regex);
+	fprintf(fp, "verbatim_begin_regex=%s\n\n", BlankIfNull(tinrc.verbatim_begin_regex));
 	fprintf(fp, "%s", _(txt_verbatim_end_regex.tinrc));
-	fprintf(fp, "verbatim_end_regex=%s\n\n", tinrc.verbatim_end_regex);
+	fprintf(fp, "verbatim_end_regex=%s\n\n", BlankIfNull(tinrc.verbatim_end_regex));
 
 #ifdef HAVE_COLOR
 	fprintf(fp, "%s", _(txt_extquote_regex.tinrc));
-	fprintf(fp, "extquote_regex=%s\n\n", tinrc.extquote_regex);
+	fprintf(fp, "extquote_regex=%s\n\n", BlankIfNull(tinrc.extquote_regex));
 #endif /* HAVE_COLOR */
 
 	fprintf(fp, "%s", _(txt_show_signatures.tinrc));
@@ -1208,9 +1240,9 @@ write_config_file(
 	fprintf(fp, "hide_uue=%d\n\n", tinrc.hide_uue);
 
 	fprintf(fp, "%s", _(txt_news_quote_format.tinrc));
-	fprintf(fp, "news_quote_format=%s\n", tinrc.news_quote_format);
-	fprintf(fp, "mail_quote_format=%s\n", tinrc.mail_quote_format);
-	fprintf(fp, "xpost_quote_format=%s\n\n", tinrc.xpost_quote_format);
+	fprintf(fp, "news_quote_format=%s\n", BlankIfNull(tinrc.news_quote_format));
+	fprintf(fp, "mail_quote_format=%s\n", BlankIfNull(tinrc.mail_quote_format));
+	fprintf(fp, "xpost_quote_format=%s\n\n", BlankIfNull(tinrc.xpost_quote_format));
 
 	fprintf(fp, "%s", _(txt_auto_cc_bcc.tinrc));
 	fprintf(fp, "auto_cc_bcc=%d\n\n", tinrc.auto_cc_bcc);
@@ -1251,7 +1283,7 @@ write_config_file(
 	fprintf(fp, "force_screen_redraw=%s\n\n", print_boolean(tinrc.force_screen_redraw));
 
 	fprintf(fp, "%s", _(txt_inews_prog.tinrc));
-	fprintf(fp, "inews_prog=%s\n\n", tinrc.inews_prog);
+	fprintf(fp, "inews_prog=%s\n\n", BlankIfNull(tinrc.inews_prog));
 
 #ifdef USE_CANLOCK
 	fprintf(fp, "%s", _(txt_cancel_lock_algo.tinrc));
@@ -1284,6 +1316,11 @@ write_config_file(
 	fprintf(fp, "%s", _(txt_cache_overview_files.tinrc));
 	fprintf(fp, "cache_overview_files=%s\n\n", print_boolean(tinrc.cache_overview_files));
 
+#if defined(USE_ZLIB) && defined(CPP_DOES_CONCAT)
+	fprintf(fp, "%s", _(txt_compress_overview_files.tinrc));
+	fprintf(fp, "compress_overview_files=%s\n\n", print_boolean(tinrc.compress_overview_files));
+#endif /* USE_ZLIB && CPP_DOES_CONCAT */
+
 	fprintf(fp, "%s", _(txt_getart_limit.tinrc));
 	fprintf(fp, "getart_limit=%d\n\n", tinrc.getart_limit);
 
@@ -1408,7 +1445,7 @@ write_config_file(
 	fprintf(fp, "mono_markstroke=%d\n\n", tinrc.mono_markstroke);
 
 	fprintf(fp, "%s", _(txt_mail_address.tinrc));
-	fprintf(fp, "mail_address=%s\n\n", tinrc.mail_address);
+	fprintf(fp, "mail_address=%s\n\n", BlankIfNull(tinrc.mail_address));
 
 #ifdef XFACE_ABLE
 	fprintf(fp, "%s", _(txt_use_slrnface.tinrc));
@@ -1418,19 +1455,22 @@ write_config_file(
 	fprintf(fp, "%s", _(txt_wrap_column.tinrc));
 	fprintf(fp, "wrap_column=%d\n\n", tinrc.wrap_column);
 
+	fprintf(fp, "%s", _(txt_dont_break_words.tinrc));
+	fprintf(fp, "dont_break_words=%s\n\n", print_boolean(tinrc.dont_break_words));
+
 	fprintf(fp, "%s", _(txt_trim_article_body.tinrc));
 	fprintf(fp, "trim_article_body=%d\n\n", tinrc.trim_article_body);
 
 #ifndef CHARSET_CONVERSION
 	fprintf(fp, "%s", _(txt_mm_charset.tinrc));
-	fprintf(fp, "mm_charset=%s\n\n", tinrc.mm_charset);
+	fprintf(fp, "mm_charset=%s\n\n", BlankIfNull(tinrc.mm_charset));
 #else
 	fprintf(fp, "%s", _(txt_mm_network_charset.tinrc));
 	fprintf(fp, "mm_network_charset=%s\n\n", txt_mime_charsets[tinrc.mm_network_charset]);
 
 #	ifdef NO_LOCALE
 	fprintf(fp, "%s", _(txt_mm_local_charset.tinrc));
-	fprintf(fp, "mm_local_charset=%s\n\n", tinrc.mm_local_charset);
+	fprintf(fp, "mm_local_charset=%s\n\n", BlankIfNull(tinrc.mm_local_charset));
 #	endif /* NO_LOCALE */
 #	ifdef HAVE_ICONV_OPEN_TRANSLIT
 	fprintf(fp, "%s", _(txt_translit.tinrc));
@@ -1449,7 +1489,7 @@ write_config_file(
 	fprintf(fp, "mail_8bit_header=%s\n\n", print_boolean(tinrc.mail_8bit_header));
 
 	fprintf(fp, "%s", _(txt_metamail_prog.tinrc));
-	fprintf(fp, "metamail_prog=%s\n\n", tinrc.metamail_prog);
+	fprintf(fp, "metamail_prog=%s\n\n", BlankIfNull(tinrc.metamail_prog));
 
 	fprintf(fp, "%s", _(txt_ask_for_metamail.tinrc));
 	fprintf(fp, "ask_for_metamail=%s\n\n", print_boolean(tinrc.ask_for_metamail));
@@ -1480,25 +1520,25 @@ write_config_file(
 	fprintf(fp, "show_help_mail_sign=%d\n\n", tinrc.show_help_mail_sign);
 
 	fprintf(fp, "%s", _(txt_select_format.tinrc));
-	fprintf(fp, "select_format=%s\n\n", tinrc.select_format);
+	fprintf(fp, "select_format=%s\n\n", BlankIfNull(tinrc.select_format));
 
 	fprintf(fp, "%s", _(txt_group_format.tinrc));
-	fprintf(fp, "group_format=%s\n\n", tinrc.group_format);
+	fprintf(fp, "group_format=%s\n\n", BlankIfNull(tinrc.group_format));
 
 	fprintf(fp, "%s", _(txt_thread_format.tinrc));
-	fprintf(fp, "thread_format=%s\n\n", tinrc.thread_format);
+	fprintf(fp, "thread_format=%s\n\n", BlankIfNull(tinrc.thread_format));
 
 	fprintf(fp, "%s", _(txt_attachment_format.tinrc));
-	fprintf(fp, "attachment_format=%s\n\n", tinrc.attachment_format);
+	fprintf(fp, "attachment_format=%s\n\n", BlankIfNull(tinrc.attachment_format));
 
 	fprintf(fp, "%s", _(txt_page_mime_format.tinrc));
-	fprintf(fp, "page_mime_format=%s\n\n", tinrc.page_mime_format);
+	fprintf(fp, "page_mime_format=%s\n\n", BlankIfNull(tinrc.page_mime_format));
 
 	fprintf(fp, "%s", _(txt_page_uue_format.tinrc));
-	fprintf(fp, "page_uue_format=%s\n\n", tinrc.page_uue_format);
+	fprintf(fp, "page_uue_format=%s\n\n", BlankIfNull(tinrc.page_uue_format));
 
 	fprintf(fp, "%s", _(txt_date_format.tinrc));
-	fprintf(fp, "date_format=%s\n\n", tinrc.date_format);
+	fprintf(fp, "date_format=%s\n\n", BlankIfNull(tinrc.date_format));
 
 	fprintf(fp, "%s", _(txt_wildcard.tinrc));
 	fprintf(fp, "wildcard=%d\n\n", tinrc.wildcard);
@@ -1515,7 +1555,7 @@ write_config_file(
 
 #ifdef NNTPS_ABLE
 	fprintf(fp, "%s", _(txt_tls_ca_cert_file.tinrc));
-	fprintf(fp, "tls_ca_cert_file=%s\n\n", tinrc.tls_ca_cert_file);
+	fprintf(fp, "tls_ca_cert_file=%s\n\n", BlankIfNull(tinrc.tls_ca_cert_file));
 #endif /* NNTPS_ABLE */
 
 	fprintf(fp, "%s", _(txt_tinrc_filter));
@@ -1530,27 +1570,27 @@ write_config_file(
 
 	fprintf(fp, "%s", _(txt_tinrc_defaults));
 	fprintf(fp, "default_save_mode=%c\n", tinrc.default_save_mode);
-	fprintf(fp, "default_author_search=%s\n", tinrc.default_search_author);
-	fprintf(fp, "default_goto_group=%s\n", tinrc.default_goto_group);
-	fprintf(fp, "default_config_search=%s\n", tinrc.default_search_config);
-	fprintf(fp, "default_group_search=%s\n", tinrc.default_search_group);
-	fprintf(fp, "default_subject_search=%s\n", tinrc.default_search_subject);
-	fprintf(fp, "default_art_search=%s\n", tinrc.default_search_art);
-	fprintf(fp, "default_repost_group=%s\n", tinrc.default_repost_group);
-	fprintf(fp, "default_mail_address=%s\n", tinrc.default_mail_address);
+	fprintf(fp, "default_author_search=%s\n", BlankIfNull(tinrc.default_search_author));
+	fprintf(fp, "default_goto_group=%s\n", BlankIfNull(tinrc.default_goto_group));
+	fprintf(fp, "default_config_search=%s\n", BlankIfNull(tinrc.default_search_config));
+	fprintf(fp, "default_group_search=%s\n", BlankIfNull(tinrc.default_search_group));
+	fprintf(fp, "default_subject_search=%s\n", BlankIfNull(tinrc.default_search_subject));
+	fprintf(fp, "default_art_search=%s\n", BlankIfNull(tinrc.default_search_art));
+	fprintf(fp, "default_repost_group=%s\n", BlankIfNull(tinrc.default_repost_group));
+	fprintf(fp, "default_mail_address=%s\n", BlankIfNull(tinrc.default_mail_address));
 	fprintf(fp, "default_move_group=%d\n", tinrc.default_move_group);
 #ifndef DONT_HAVE_PIPING
-	fprintf(fp, "default_pipe_command=%s\n", tinrc.default_pipe_command);
+	fprintf(fp, "default_pipe_command=%s\n", BlankIfNull(tinrc.default_pipe_command));
 #endif /* !DONT_HAVE_PIPING */
-	fprintf(fp, "default_post_newsgroups=%s\n", tinrc.default_post_newsgroups);
-	fprintf(fp, "default_post_subject=%s\n", tinrc.default_post_subject);
-	fprintf(fp, "default_range_group=%s\n", tinrc.default_range_group);
-	fprintf(fp, "default_range_select=%s\n", tinrc.default_range_select);
-	fprintf(fp, "default_range_thread=%s\n", tinrc.default_range_thread);
-	fprintf(fp, "default_pattern=%s\n", tinrc.default_pattern);
-	fprintf(fp, "default_save_file=%s\n", tinrc.default_save_file);
-	fprintf(fp, "default_select_pattern=%s\n", tinrc.default_select_pattern);
-	fprintf(fp, "default_shell_command=%s\n\n", tinrc.default_shell_command);
+	fprintf(fp, "default_post_newsgroups=%s\n", BlankIfNull(tinrc.default_post_newsgroups));
+	fprintf(fp, "default_post_subject=%s\n", BlankIfNull(tinrc.default_post_subject));
+	fprintf(fp, "default_range_group=%s\n", BlankIfNull(tinrc.default_range_group));
+	fprintf(fp, "default_range_select=%s\n", BlankIfNull(tinrc.default_range_select));
+	fprintf(fp, "default_range_thread=%s\n", BlankIfNull(tinrc.default_range_thread));
+	fprintf(fp, "default_pattern=%s\n", BlankIfNull(tinrc.default_pattern));
+	fprintf(fp, "default_save_file=%s\n", BlankIfNull(tinrc.default_save_file));
+	fprintf(fp, "default_select_pattern=%s\n", BlankIfNull(tinrc.default_select_pattern));
+	fprintf(fp, "default_shell_command=%s\n\n", BlankIfNull(tinrc.default_shell_command));
 
 	fprintf(fp, "%s", _(txt_tinrc_newnews));
 	{
@@ -1613,7 +1653,7 @@ match_boolean(
 #ifdef HAVE_COLOR
 static t_bool
 match_color(
-	char *line,
+	const char *line,
 	const char *pat,
 	int *dst,
 	int max)
@@ -1638,8 +1678,11 @@ match_color(
 			if (max == MAX_BACKCOLOR && *dst > max && *dst <= MAX_COLOR)
 				*dst %= MAX_BACKCOLOR + 1;
 			else if ((*dst < -1) || (*dst > max)) {
-				my_fprintf(stderr, _(txt_value_out_of_range), pat, *dst, max);
+				my_fprintf(stderr, _(txt_val_out_of_range_reset), pat, *dst, max);
 				*dst = 0;
+				my_fflush(stderr);
+				if (!batch_mode)
+					sleep(2);
 			}
 		} else
 			*dst = -1;
@@ -1657,7 +1700,7 @@ match_color(
  */
 t_bool
 match_integer(
-	char *line,
+	const char *line,
 	const char *pat,
 	int *dst,
 	int maxval)
@@ -1669,8 +1712,11 @@ match_integer(
 
 		if (maxval) {
 			if ((*dst < 0) || (*dst > maxval)) {
-				my_fprintf(stderr, _(txt_value_out_of_range), pat, *dst, maxval);
+				my_fprintf(stderr, _(txt_val_out_of_range_reset), pat, *dst, maxval);
 				*dst = 0;
+				my_fflush(stderr);
+				if (!batch_mode)
+					sleep(2);
 			}
 		}
 		return TRUE;
@@ -1681,15 +1727,17 @@ match_integer(
 
 t_bool
 match_long(
-	char *line,
+	const char *line,
 	const char *pat,
 	long *dst)
 {
 	size_t patlen = strlen(pat);
 
 	if (STRNCMPEQ(line, pat, patlen)) {
-		*dst = atol(&line[patlen]);
-		return TRUE;
+		errno = 0;
+		*dst = strtol(&line[patlen], NULL, 10);
+		if (!errno)
+			return TRUE;
 	}
 	return FALSE;
 }
@@ -1734,7 +1782,7 @@ match_string(
 {
 	size_t patlen = strlen(pat);
 
-	if (STRNCMPEQ(line, pat, patlen) && (strlen(line) > patlen)) {
+	if (STRNCMPEQ(line, pat, patlen) && (strlen(line) >= patlen)) {
 		if (dst != NULL && dstlen >= 1)
 			my_strncpy(dst, &line[patlen], dstlen - 1);
 		return TRUE;
@@ -1743,24 +1791,45 @@ match_string(
 }
 
 
+t_bool
+match_string_ptr(
+	char *line,
+	const char *pat,
+	char **dst)
+{
+	size_t patlen = strlen(pat);
+
+	if (STRNCMPEQ(line, pat, patlen) && (strlen(line) >= patlen)) {
+		FreeAndNull(*dst);
+		/*
+		 * options >= 1023 might be truncated later, so they are discarded here
+		 */
+		if (strlen(line) - patlen < BUF_SIZE - 1) {
+			*dst = my_strdup(&line[patlen]);
+			return TRUE;
+		}
+	}
+	return FALSE;
+}
+
+
 /* like mach_string() but looks for 100% exact matches */
 static t_bool
 match_item(
-	char *line,
+	const char *line,
 	const char *pat,
 	char *dst,
 	size_t dstlen)
 {
 	char *ptr;
 	char *nline = my_strdup(line);
-	size_t patlen = strlen(pat);
 
 	if ((ptr = strchr(nline, '\n')) != NULL) /* terminate on \n */
 		*ptr = '\0';
 
 	if (!strcasecmp(nline, pat)) {
 		if (dst != NULL) {
-			strncpy(dst, &nline[patlen], dstlen);
+			strncpy(dst, &nline[strlen(pat)], dstlen);
 			dst[dstlen ? (dstlen - 1) : 0] = '\0';
 		}
 		free(nline);
@@ -1812,7 +1881,7 @@ quote_space_to_dash(
 			*dst = '_';
 		else
 			*dst = *ptr;
-		dst++;
+		++dst;
 	}
 	*dst = '\0';
 
@@ -1830,11 +1899,12 @@ quote_space_to_dash(
  */
 char **
 ulBuildArgv(
-	char *cmd,
+	const char *cmd,
 	int *new_argc)
 {
 	char **new_argv = NULL;
 	char *buf, *tmp;
+	const char *tmp_cmd;
 	int i = 0;
 
 	if (!cmd || !*cmd) {
@@ -1842,28 +1912,28 @@ ulBuildArgv(
 		return NULL;
 	}
 
-	for (tmp = cmd; isspace((int) *tmp); tmp++)
+	for (tmp_cmd = cmd; isspace((unsigned char) *tmp_cmd); tmp_cmd++)
 		;
 
-	buf = my_strdup(tmp);
+	buf = my_strdup(tmp_cmd);
 	tmp = buf;
 
 	new_argv = my_calloc(1, sizeof(char *));
 
 	while (*tmp) {
-		if (!isspace((int) *tmp)) { /* found the beginning of a word */
+		if (!isspace((unsigned char) *tmp)) { /* found the beginning of a word */
 			new_argv[i] = tmp;
-			for (; *tmp && !isspace((int) *tmp); tmp++)
+			for (; *tmp && !isspace((unsigned char) *tmp); tmp++)
 				;
 			if (*tmp) {
 				*tmp = '\0';
-				tmp++;
+				++tmp;
 			}
-			i++;
+			++i;
 			new_argv = my_realloc(new_argv, ((size_t) (i + 1) * sizeof(char *)));
 			new_argv[i] = NULL;
 		} else
-			tmp++;
+			++tmp;
 	}
 	*new_argc = i;
 	return new_argv;
@@ -1878,7 +1948,7 @@ static t_bool
 rc_update(
 	FILE *fp)
 {
-	char buf[LEN];
+	char *buf;
 	int show_info = 1;
 	t_bool auto_bcc = FALSE;
 	t_bool auto_cc = FALSE;
@@ -1907,7 +1977,7 @@ rc_update(
 		return FALSE;
 
 	/* rewind(fp); */
-	while (fgets(buf, (int) sizeof(buf), fp) != NULL) {
+	while ((buf = tin_fgets(fp, FALSE)) != NULL) {
 		if (buf[0] == '#' || buf[0] == '\n')
 			continue;
 
@@ -1931,29 +2001,30 @@ rc_update(
 
 			case 'd':
 				/* simple rename */
-				if (match_string(buf, "default_editor_format=", tinrc.editor_format, sizeof(tinrc.editor_format)))
+				if (match_string_ptr(buf, "default_editor_format=", &tinrc.editor_format))
 					break;
 				/* simple rename */
-				if (match_string(buf, "default_maildir=", tinrc.maildir, sizeof(tinrc.maildir)))
+				if (match_string_ptr(buf, "default_maildir=", &tinrc.maildir))
 					break;
 				/* simple rename */
-				if (match_string(buf, "default_mailer_format=", tinrc.mailer_format, sizeof(tinrc.mailer_format)))
+				if (match_string_ptr(buf, "default_mailer_format=", &tinrc.mailer_format))
 					break;
 				/* simple rename */
 #ifndef DISABLE_PRINTING
-				if (match_string(buf, "default_printer=", tinrc.printer, sizeof(tinrc.printer)))
+				if (match_string_ptr(buf, "default_printer=", &tinrc.printer))
 					break;
 #endif /* !DISABLE_PRINTING */
 				/* simple rename */
-				if (match_string(buf, "default_regex_pattern=", tinrc.default_pattern, sizeof(tinrc.default_pattern)))
+				if (match_string_ptr(buf, "default_regex_pattern=", &tinrc.default_pattern))
 					break;
 				/* simple rename */
-				if (match_string(buf, "default_savedir=", tinrc.savedir, sizeof(tinrc.savedir))) {
-					if (tinrc.savedir[0] == '.' && strlen(tinrc.savedir) == 1) {
+				if (match_string_ptr(buf, "default_savedir=", &tinrc.savedir)) {
+					if (*tinrc.savedir == '.' && strlen(tinrc.savedir) == 1) {
 						char buff[PATH_LEN];
 
 						get_cwd(buff);
-						my_strncpy(tinrc.savedir, buff, sizeof(tinrc.savedir) - 1);
+						free(tinrc.savedir);
+						tinrc.savedir = my_strdup(buff);
 					}
 					break;
 				}
@@ -1962,14 +2033,15 @@ rc_update(
 				 * 2. previous versions has always passed groupname to external
 				 *    commands, now we look for %G
 				 */
-				if (match_string(buf, "default_sigfile=", tinrc.sigfile, sizeof(tinrc.sigfile))) {
+				if (match_string_ptr(buf, "default_sigfile=", &tinrc.sigfile)) {
 					size_t l = strlen(tinrc.sigfile);
 
-					if (tinrc.sigfile[0] == '!' && (tinrc.sigfile[l - 2] != '%' || tinrc.sigfile[l - 1] != 'G')) {
+					if (*tinrc.sigfile == '!' && (tinrc.sigfile[l - 2] != '%' || tinrc.sigfile[l - 1] != 'G')) {
 						char *newbuf = my_malloc(sizeof(tinrc.sigfile) + 4);
 
 						sprintf(newbuf, "%s %s", tinrc.sigfile, "%G");
-						my_strncpy(tinrc.sigfile, newbuf, sizeof(tinrc.sigfile) - 1);
+						free(tinrc.sigfile);
+						tinrc.sigfile = my_strdup(newbuf);
 						free(newbuf);
 					}
 					break;
@@ -2065,8 +2137,10 @@ rc_update(
 	if (hide_uue)
 		tinrc.hide_uue = 1;
 
-	if (keep_posted_articles)
-		STRCPY(tinrc.posted_articles_file, "posted");
+	if (keep_posted_articles) {
+		FreeIfNeeded(tinrc.posted_articles_file);
+		tinrc.posted_articles_file = my_strdup(POSTED_FILE);
+	}
 
 	tinrc.quote_style = (compress_quotes ? QUOTE_COMPRESS : 0) + (quote_empty_lines ? QUOTE_EMPTY : 0) + (quote_signatures ? QUOTE_SIGS : 0);
 
@@ -2077,18 +2151,24 @@ rc_update(
 
 	switch (show_info) {
 		case 0:
-			STRCPY(tinrc.group_format, "%n %m %R  %s  %F");
-			STRCPY(tinrc.thread_format, "%n %m  %T  %F");
+			FreeIfNeeded(tinrc.group_format);
+			tinrc.group_format = my_strdup("%n %m %R  %s  %F");
+			FreeIfNeeded(tinrc.thread_format);
+			tinrc.thread_format = my_strdup("%n %m  %T  %F");
 			break;
 
 		case 2:
-			STRCPY(tinrc.group_format, "%n %m %R %S  %s  %F");
-			STRCPY(tinrc.thread_format, "%n %m  [%S]  %T  %F");
+			FreeIfNeeded(tinrc.group_format);
+			tinrc.group_format = my_strdup("%n %m %R %S  %s  %F");
+			FreeIfNeeded(tinrc.thread_format);
+			tinrc.thread_format = my_strdup("%n %m  [%S]  %T  %F");
 			break;
 
 		case 3:
-			STRCPY(tinrc.group_format, "%n %m %R %L %S  %s  %F");
-			STRCPY(tinrc.thread_format, "%n %m  [%L,%S]  %T  %F");
+			FreeIfNeeded(tinrc.group_format);
+			tinrc.group_format = my_strdup("%n %m %R %L %S  %s  %F");
+			FreeIfNeeded(tinrc.thread_format);
+			tinrc.thread_format = my_strdup("%n %m  [%L,%S]  %T  %F");
 			break;
 
 		default:
@@ -2098,16 +2178,18 @@ rc_update(
 	if (show_last_line_prev_page)
 		tinrc.scroll_lines = -1;
 
-	if (use_builtin_inews)
-		STRCPY(tinrc.inews_prog, INTERNAL_CMD);
+	if (use_builtin_inews) {
+		FreeIfNeeded(tinrc.inews_prog);
+		tinrc.inews_prog = my_strdup(INTERNAL_CMD);
+	}
 
 	if (use_mailreader_i)
 		tinrc.interactive_mailer = INTERACTIVE_WITHOUT_HEADERS;
 
 	if (!use_metamail || getenv("NOMETAMAIL") != NULL)
-		STRCPY(tinrc.metamail_prog, INTERNAL_CMD);
+		tinrc.metamail_prog = my_strdup(INTERNAL_CMD);
 	else
-		my_strncpy(tinrc.metamail_prog, METAMAIL_CMD, sizeof(tinrc.metamail_prog) - 1);
+		tinrc.metamail_prog = my_strdup(METAMAIL_CMD);
 
 	rewind(fp);
 	return TRUE;
@@ -2127,14 +2209,15 @@ rc_post_update(
 	FILE *fp
 	/* , struct t_version *upgrade */)
 {
-	char buf[LEN];
+	char *buf;
 	int groupname_max_length = 0;
 
-	if (!fp)
+	if (fseek(fp, 0L, SEEK_SET) == -1) {
+		perror_message(txt_error_fseek, fp);
 		return FALSE;
+	}
 
-	rewind(fp);
-	while (fgets(buf, (int) sizeof(buf), fp) != NULL) {
+	while ((buf = tin_fgets(fp, FALSE)) != NULL) {
 		if (buf[0] == '#' || buf[0] == '\n')
 			continue;
 
@@ -2142,7 +2225,7 @@ rc_post_update(
 			case 'c':
 #ifdef USE_CANLOCK
 				{
-					t_bool cancel_locks = TRUE;
+					t_bool cancel_locks;
 
 					if (match_boolean(buf, "cancel_locks=", &cancel_locks)) {
 						if (!cancel_locks)
@@ -2164,7 +2247,7 @@ rc_post_update(
 				 * previous versions has always passed groupname to external
 				 * commands, now we look for %G
 				 */
-				if (match_string(buf, "sigfile=", tinrc.sigfile, sizeof(tinrc.sigfile))) {
+				if (match_string_ptr(buf, "sigfile=", &tinrc.sigfile)) {
 					size_t l = strlen(tinrc.sigfile);
 
 					if (tinrc.sigfile[0] == '!' && (tinrc.sigfile[l - 2] != '%' || tinrc.sigfile[l - 1] != 'G')) {
@@ -2202,7 +2285,8 @@ rc_post_update(
 			*d++ = *f++;
 		}
 		*d = '\0';
-		STRCPY(tinrc.select_format, dest);
+		FreeIfNeeded(tinrc.select_format);
+		tinrc.select_format = my_strdup(dest);
 		free(dest);
 	}
 
@@ -2232,8 +2316,9 @@ read_server_config(
 	joinpath(serverdir, sizeof(serverdir), rcdir, file);
 	joinpath(file, sizeof(file), serverdir, SERVERCONFIG_FILE);
 	joinpath(local_newsgroups_file, sizeof(local_newsgroups_file), serverdir, NEWSGROUPS_FILE);
+	joinpath(local_motd_file, sizeof(local_motd_file), serverdir, MOTD_FILE);
 
-	if ((fp = fopen(file, "r")) == NULL)
+	if ((fp = tin_fopen(file, "r")) == NULL)
 		return;
 
 	while ((line = tin_fgets(fp, FALSE)) != NULL) {
@@ -2244,14 +2329,18 @@ read_server_config(
 			char *tmp_info;
 			int tmp_len;
 
-			tmp_len = snprintf(NULL, 0, "%s %s", nntp_server, newnews_info);
-			tmp_info = my_malloc(++tmp_len);
-			snprintf(tmp_info, tmp_len, "%s %s", nntp_server, newnews_info);
-			load_newnews_info(tmp_info);
-			free(tmp_info);
+			if ((tmp_len = snprintf(NULL, 0, "%s %s", nntp_server, newnews_info)) > 0) {
+				tmp_info = my_malloc(++tmp_len);
+				if (snprintf(tmp_info, (size_t) tmp_len, "%s %s", nntp_server, newnews_info) == tmp_len - 1)
+					load_newnews_info(tmp_info);
+				free(tmp_info);
+			}
 			continue;
 		}
 
+		if (match_long(line, "motd_hash=", &motd_hash))
+			continue;
+
 		if (match_string(line, "version=", NULL, 0)) {
 			if (upgrade != NULL) /* ignore duplicate version lines; first match counts */
 				continue;
@@ -2310,7 +2399,7 @@ write_server_config(
 				break;
 
 			default:
-				wait_message(2, "write_server_config(%s)", strerror(errno));
+				perror_message("write_server_config(%s)", serverdir);
 				break;
 		}
 		return;
@@ -2318,7 +2407,8 @@ write_server_config(
 		CLOSEDIR(dirp);
 
 	/* generate tmp-filename */
-	file_tmp = get_tmpfilename(file);
+	if ((file_tmp = get_tmpfilename(file)) == NULL)
+		return;
 
 	if ((fp = fopen(file_tmp, "w")) == NULL) {
 		error_message(2, _(txt_filesystem_full_backup), SERVERCONFIG_FILE); /* TODO: better error handling/message */
@@ -2329,6 +2419,9 @@ write_server_config(
 	fprintf(fp, _(txt_serverconfig_header), PRODUCT, tin_progname, VERSION, RELEASEDATE, RELEASENAME, PRODUCT, PRODUCT);
 	fprintf(fp, "version=%s\n", SERVERCONFIG_VERSION);
 
+	if (motd_hash != 0)
+		fprintf(fp, "motd_hash=%lu\n", (unsigned long int) motd_hash);
+
 	if ((i = find_newnews_index(nntp_server)) >= 0) {
 		if (my_strftime(timestring, sizeof(timestring) - 1, "%Y-%m-%d %H:%M:%S UTC", gmtime(&(newnews[i].time))))
 			fprintf(fp, "last_newnews=%lu (%s)\n", (unsigned long int) newnews[i].time, timestring);
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/cook.c tin-2.6.4/src/cook.c
--- tin-2.6.3/src/cook.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/cook.c	2024-12-04 18:12:24.737239170 +0100
@@ -3,10 +3,10 @@
  *  Module    : cook.c
  *  Author    : J. Faultless
  *  Created   : 2000-03-08
- *  Updated   : 2023-11-26
+ *  Updated   : 2024-12-04
  *  Notes     : Split from page.c
  *
- * Copyright (c) 2000-2024 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 2000-2025 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -43,8 +43,28 @@
 #ifndef TCURSES_H
 #	include "tcurses.h"
 #endif /* !TCURSES_H */
-
-
+#ifdef HAVE_LIBURIPARSER
+#	include <uriparser/Uri.h>
+#	define CHECK_URI(r,f)	do { \
+		if (MATCH_REGEX(r, line, len)) { \
+			offsets = regex_get_ovector_pointer(&r); \
+			if ((l = offsets[1] - offsets[0])) { \
+				u = my_strndup(line + offsets[0], l); \
+				if (*(u + l - 1) == '\n') \
+					*(u + l -1) = '\0'; \
+				if (*u) { \
+					state.uri = &uri; \
+					if (uriParseUriA(&state, u) == URI_SUCCESS) { \
+						if (uriNormalizeSyntaxA(&uri) == URI_SUCCESS) \
+							flags |= f; \
+						uriFreeUriMembersA(&uri); \
+					} \
+				} \
+				FreeAndNull(u); \
+			} \
+		} \
+	} while (0)
+#endif /* HAVE_LIBURIPARSER */
 /*
  * We malloc() this many t_lineinfo's at a time
  */
@@ -55,16 +75,15 @@
 			(x)->hdr.ext->type == TYPE_MULTIPART && \
 			strcasecmp("alternative", (x)->hdr.ext->subtype) == 0)
 
-#define MATCH_REGEX(x,y,z)	(match_regex_ex(y, z, 0, 0, &(x)) >= 0)
+#define MATCH_REGEX(x,y,z)	(match_regex_ex(y, (REGEX_SIZE) z, 0, 0, &(x)) >= 0)
 
 
 static char *ltobi(unsigned long i);
 static struct t_attach_item *add_attach_line_item(struct t_attach_item **item);
-static t_bool charset_unsupported(const char *charset);
 static t_bool header_wanted(const char *line);
 static t_bool shorten_attach_line(struct t_attach_item *item);
 static t_part *new_uue(t_part **part, char *name);
-static void process_text_body_part(t_bool wrap_lines, FILE *in, t_part *part, int hide_uue);
+static void process_text_body_part(t_bool wrap_lines, FILE *in, const char *charset, t_part *part, int hide_uue);
 static void put_attach(t_bool wrap_lines, t_part *part, int depth, int is_uue, const char *name, const char *charset);
 static void put_cooked(size_t buf_len, t_bool wrap_lines, int flags, const char *fmt, ...);
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
@@ -103,13 +122,13 @@ expand_ctrl_chars(
 	 * it should help us find problems with wide-char strings
 	 * in the development branch
 	 */
-	assert(wline != NULL);
+	assert(((void) "wline must not be NULL", wline != NULL));
 	wlen = wcslen(wline) + 1; /* add one to make coverity happy */
 	ctrl_L = wexpand_ctrl_chars(&wline, &wlen, lcook_width);
 	free(*line);
 	*line = wchar_t2char(wline);
 	free(wline);
-	assert(line != NULL);
+	assert(((void) "line must not be NULL", line != NULL));
 	*length = strlen(*line);
 #else
 	int curr_len = LEN;
@@ -140,7 +159,7 @@ expand_ctrl_chars(
 			else
 				buf[i++] = *c;
 		}
-		c++;
+		++c;
 	}
 	buf[i] = '\0';
 	*length = i + 1;
@@ -187,7 +206,7 @@ wexpand_ctrl_chars(
 			else
 				wbuf[i++] = *wc;
 		}
-		wc++;
+		++wc;
 	}
 	wbuf[i] = '\0';
 	*length = i + 1;
@@ -214,7 +233,7 @@ put_cooked(
 	const char *fmt,
 	...)
 {
-	char *p, *bufp, *buf;
+	char *p, *bufp, *buf, *last_space;
 	int wrap_column;
 	int space;
 	static int saved_flags = 0;
@@ -231,13 +250,12 @@ put_cooked(
 
 	if (tinrc.wrap_column < 0)
 		wrap_column = ((tinrc.wrap_column > -cCOLS) ? cCOLS + tinrc.wrap_column : cCOLS);
-	else
-#if 1
-		wrap_column = ((tinrc.wrap_column > 0) ? tinrc.wrap_column : cCOLS);
-#else	/* never cut off long lines */
-		wrap_column = (((tinrc.wrap_column > 0) && (tinrc.wrap_column < cCOLS)) ? tinrc.wrap_column : cCOLS);
-#endif /* 1 */
-
+	else {
+		if (tinrc.dont_break_words)
+			wrap_column = (((tinrc.wrap_column > 0) && (tinrc.wrap_column < cCOLS)) ? tinrc.wrap_column : cCOLS);
+		else
+			wrap_column = ((tinrc.wrap_column > 0) ? tinrc.wrap_column : cCOLS);
+	}
 	p = bufp = buf;
 
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
@@ -247,27 +265,32 @@ put_cooked(
 	while (*p) {
 		if (wrap_lines) {
 			space = wrap_column;
+			last_space = NULL;
 			while (space > 0 && *p && *p != '\n') {
+				if (tinrc.dont_break_words && !(flags & (C_VERBATIM | C_HEADER)) && (*p == ' ' || *p == '\t'))
+					last_space = p;
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 				if ((bytes = mbtowc((wchar_t *) wp, p, MB_CUR_MAX)) > 0) {
 					if ((space -= wcwidth((wchar_t) *wp)) < 0)
 						break;
 					p += bytes;
 				} else
-					p++;
+					++p;
 #else
-				p++;
-				space--;
+				++p;
+				--space;
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 			}
+			if (tinrc.dont_break_words && !(flags & (C_VERBATIM | C_HEADER)) && space <= 0 && last_space && p > last_space)
+				p = last_space + 1;
 		} else {
 			while (*p && *p != '\n')
-				p++;
+				++p;
 		}
 		fwrite(bufp, 1, (size_t) (p - bufp), art->cooked);
 		fputs("\n", art->cooked);
 		if (*p == '\n')
-			p++;
+			++p;
 		bufp = p;
 
 		if (art->cooked_lines == 0) {
@@ -403,9 +426,9 @@ get_filename(
 #define BUILD_ATTACH_ITEM() do { \
 		if (curr->flags & (ATTACH_SHOW_CONTENT | ATTACH_SHOW_BOTH)) { \
 			if (curr->flags & ATTACH_SHOW_BOTH) \
-				snprintf(buf, sizeof(buf), curr->description, curr->content); \
+				snprintf(buf, blen, curr->description, curr->content); \
 			else \
-				snprintf(buf, sizeof(buf), curr->fmt, curr->content); \
+				snprintf(buf, blen, curr->fmt, curr->content); \
 			if ((space_left -= strlen(buf) > 0)) \
 				strcat(attach_line, buf); \
 		} \
@@ -471,7 +494,7 @@ shorten_attach_line(
 
 char *
 build_attach_line(
-	t_part *part,
+	const t_part *part,
 	int depth,
 	int max_len,
 	int is_uue,
@@ -482,17 +505,25 @@ build_attach_line(
 	char *al_ptr;
 	char *fmt_ptr;
 	char *line_cnt_str = NULL;
-	char buf[BUFSIZ];
+	char *buf;
 	char *fmt;
 	int i, line_cnt_str_len;
+	size_t blen;
 	ssize_t space_left;
 	struct t_attach_item *curr = NULL;
 	struct t_attach_item *items = NULL;
-	struct t_attach_item *last = NULL;
+	struct t_attach_item *last;
 	t_bool init = TRUE;
 	t_bool excl_seen = FALSE;
 	t_bool star_seen = FALSE;
 
+#	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+	buf = my_malloc(MB_CUR_MAX * (size_t) (cCOLS + 1));
+	blen = MB_CUR_MAX * (size_t) cCOLS;
+#	else
+	buf = my_malloc(cCOLS + 1);
+	blen = (size_t) cCOLS;
+#	endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 	if (is_uue)
 		fmt = tinrc.page_uue_format;
 	else if (signal_context == cAttachment)
@@ -692,7 +723,7 @@ build_attach_line(
 	star_seen = excl_seen = FALSE;
 	attach_line = my_malloc(LEN);
 	space_left = LEN - 2;
-	attach_line[0] = '\0';
+	*attach_line = '\0';
 
 	while (space_left > 0 && (init || ((strwidth(attach_line) > max_len && shorten_attach_line(last))))) {
 		init = FALSE;
@@ -824,6 +855,7 @@ build_attach_line(
 		}
 	}
 
+	free(buf);
 	return (attach_line);
 }
 
@@ -865,14 +897,14 @@ static void
 process_text_body_part(
 	t_bool wrap_lines,
 	FILE *in,
+	const char *charset,
 	t_part *part,
 	int hide_uue)
 {
 	char *rest = NULL;
 	char *line = NULL, *buf, *tmpline;
-	const char *ncharset;
-	size_t max_line_len = 0;
-	int flags, len, lines_left, len_blank;
+	size_t max_line_len = 0, len, len_blank;
+	int flags, lines_left;
 	unsigned int lines_skipped = 0;
 	t_bool in_sig = FALSE;			/* Set when in sig portion */
 	t_bool in_uue = FALSE;			/* Set when in uuencoded section */
@@ -883,6 +915,13 @@ process_text_body_part(
 	t_bool first_line_blank = TRUE;	/* Unset when first non-blank line is reached */
 	t_bool put_blank_lines = FALSE;	/* Set when previously skipped lines needs to put */
 	t_part *curruue = NULL;
+#ifdef HAVE_LIBURIPARSER
+	REGEX_SIZE *offsets;
+	char *u = NULL;
+	size_t l;
+	UriUriA uri;
+	UriParserStateA state;
+#endif /* HAVE_LIBURIPARSER */
 
 	if (part->uue) {				/* These are redone each time we recook/resize etc.. */
 		free_parts(part->uue);
@@ -893,7 +932,7 @@ process_text_body_part(
 #ifdef DEBUG
 		/*
 		 * TODO: always show to user?
-		 *       hen use something less technical and move to lang.c
+		 *       then use something less technical and move to lang.c
 		 */
 		perror_message("%s:%d process_text_body_part(fseek(in)) failed", __FILE__, __LINE__);
 #endif /* DEBUG */
@@ -939,7 +978,7 @@ process_text_body_part(
 				 */
 				strcat(line, "\n");
 
-				lines_left--;
+				--lines_left;
 				break;
 		}
 		if (!(line && strlen(line))) {
@@ -947,25 +986,18 @@ process_text_body_part(
 			break;	/* premature end of file, file error etc. */
 		}
 
-		/* convert network to local charset, tex2iso, iso2asc etc. */
-		ncharset = validate_charset(get_param(part->params, "charset"));
-		/* TODO: ok to fall back to undeclared_charset if charset is illegal or should we always hard fail to US-ASCII? */
-		process_charsets(&line, &max_line_len, ncharset ? ncharset :
-#ifdef CHARSET_CONVERSION
-			curr_group->attribute->undeclared_charset ? curr_group->attribute->undeclared_charset :
-#endif /* CHARSET_CONVERSION */
-			 "US-ASCII", tinrc.mm_local_charset, curr_group->attribute->tex2iso_conv && art->tex2iso);
+		process_charsets(&line, &max_line_len, charset, tinrc.mm_local_charset, curr_group->attribute->tex2iso_conv && art->tex2iso);
 
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 		if (IS_LOCAL_CHARSET("UTF-8")) {
 			utf8_valid(line);
 
-			if (!in_verbatim && curr_group->attribute->suppress_soft_hyphens && ncharset && !strcasecmp(ncharset, "UTF-8"))
+			if (!in_verbatim && curr_group->attribute->suppress_soft_hyphens && !strcasecmp(charset, "UTF-8"))
 				remove_soft_hyphens(line);
 		}
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
-		len = (int) strlen(line);
+		len = strlen(line);
 
 		/*
 		 * trim article body and sig (not verbatim blocks):
@@ -979,8 +1011,8 @@ process_text_body_part(
 			tmpline = line;
 			/* check if line contains only whitespace */
 			while ((*tmpline == ' ') || (*tmpline == '\t')) {
-				len_blank++;
-				tmpline++;
+				++len_blank;
+				++tmpline;
 			}
 			if (len_blank == len) {		/* line is blank */
 				if (lines_left == 0 && (curr_group->attribute->trim_article_body & SKIP_TRAILING)) {
@@ -992,7 +1024,7 @@ process_text_body_part(
 					if (curr_group->attribute->trim_article_body & SKIP_LEADING)
 						continue;
 				} else if ((curr_group->attribute->trim_article_body & (COMPACT_MULTIPLE | SKIP_TRAILING)) && (!in_sig || curr_group->attribute->show_signatures)) {
-					lines_skipped++;
+					++lines_skipped;
 					if (lines_left == 0 && !(curr_group->attribute->trim_article_body & SKIP_TRAILING)) {
 						for (; lines_skipped > 0; lines_skipped--)
 							put_cooked(1, TRUE, in_sig ? C_SIG : C_BODY, "\n");
@@ -1060,7 +1092,7 @@ process_text_body_part(
 
 			is_uubegin = FALSE;
 
-			if (match_regex_ex(line, len, 0, 0, &uubegin_regex) >= 0) {
+			if (MATCH_REGEX(uubegin_regex, line, len)) {
 				REGEX_SIZE *ovector = regex_get_ovector_pointer(&uubegin_regex);
 
 				if (in_uue) { /* previous uue part incomplete and the current one follows without gap */
@@ -1094,11 +1126,11 @@ process_text_body_part(
 				/* sum = 0 in a uubody only on the last line, a single ` */
 				if (sum == 0 && len == 1 + 1)			/* +1 for the \n */
 					is_uubody = TRUE;
-				else if (len == sum + 1 + 1)
+				else if (len == (unsigned) (sum + 1 + 1))
 					is_uubody = TRUE;
 #ifdef DEBUG_ART
 				if (debug & DEBUG_MISC)
-					fprintf(stderr, "%s sum=%d len=%d (%s)\n", bool_unparse(is_uubody), sum, len, line);
+					fprintf(stderr, "%s sum=%d len=%lu (%s)\n", bool_unparse(is_uubody), sum, len, line);
 #endif /* DEBUG_ART */
 			}
 
@@ -1182,12 +1214,19 @@ process_text_body_part(
 		}
 #endif /* HAVE_COLOR */
 
+#ifdef HAVE_LIBURIPARSER
+		/* find and validate URIs */
+		CHECK_URI(url_regex, C_URL);
+		CHECK_URI(mail_regex, C_MAIL);
+		CHECK_URI(news_regex, C_NEWS);
+#else
 		if (MATCH_REGEX(url_regex, line, len))
 			flags |= C_URL;
 		if (MATCH_REGEX(mail_regex, line, len))
 			flags |= C_MAIL;
 		if (MATCH_REGEX(news_regex, line, len))
 			flags |= C_NEWS;
+#endif /* HAVE_LIBURIPARSER */
 
 		if (expand_ctrl_chars(&line, &max_line_len, tabwidth))
 			flags |= C_CTRLL;				/* Line contains form-feed */
@@ -1272,42 +1311,6 @@ dump_cooked(
 
 
 /*
- * Check for charsets which may contain NULL bytes and thus break string
- * functions. Possibly incomplete.
- *
- * TODO: fix the other code to handle those charsets properly.
- */
-static t_bool
-charset_unsupported(
-	const char *charset)
-{
-	static const char *charsets[] = {
-		"csUnicode",	/* alias for ISO-10646-UCS-2 */
-		"csUCS4",		/* alias for ISO-10646-UCS-4 */
-		"ISO-10646-UCS-2",
-		"ISO-10646-UCS-4",
-		"UTF-16",		/* covers also BE/LE */
-		"UTF-32",		/* covers also BE/LE */
-		NULL };
-	const char **charsetptr = charsets;
-	t_bool ret = FALSE;
-
-	if (!charset)
-		return ret;
-
-	do {
-		if (!strncasecmp(charset, *charsetptr, strlen(*charsetptr)))
-			ret = TRUE;
-	} while (!ret && *(++charsetptr) != NULL);
-
-	if (!validate_charset(charset))
-		return FALSE;
-
-	return ret;
-}
-
-
-/*
  * 'cooks' an article, ie, prepare what will actually appear on the screen
  * It is not easy to do this in the same pass as the initial read since
  * boundary conditions for multipart articles make it harder to do on the
@@ -1332,6 +1335,10 @@ charset_unsupported(
  * TODO:
  *      give an error-message on at least disk-full
  */
+/* set INLINE_DEBUG_MIME to 1 to inline report some errors/warnings,
+ * use PAGE_ARTICLE_INFO ('\'') for a more detailed info.
+ * strings -> lang.c?
+ */
 t_bool
 cook_article(
 	t_bool wrap_lines,
@@ -1343,15 +1350,19 @@ cook_article(
 	const char *name;
 	char *line;
 	struct t_header *hdr = &artinfo->hdr;
-	t_bool header_put = FALSE;
 	static const char *struct_header[] = {
-		"Approved: ", "From: ", "Originator: ",
-		"Reply-To: ", "Sender: ", "X-Cancelled-By: ", "X-Comment-To: ",
-		"X-Submissions-To: ", "To: ", "Cc: ", "Bcc: ", "X-Originator: ", NULL };
+		"Approved: ", "From: ", "Originator: ", "Reply-To: ",
+		"Sender: ", "To: ", "Cc: ", "Bcc: ", "X-Cancelled-By: ",
+		"X-Comment-To: ", "X-Submissions-To: ", "X-Originator: ",
+		NULL };
+	t_bool header_put = FALSE;
+#ifdef INLINE_DEBUG_MIME
+	t_bool stripped = FALSE;
+#endif /* INLINE_DEBUG_MIME */
 
 	art = artinfo;				/* Global saves lots of passing artinfo around */
 
-	if (!(art->cooked = tmpfile()))
+	if (!(art->cooked = my_tmpfile()))
 		return FALSE;
 
 	art->cooked_lines = 0;
@@ -1362,15 +1373,23 @@ cook_article(
 	 * Put down just the headers we want
 	 */
 	while ((line = tin_fgets(artinfo->raw, TRUE)) != NULL) {
-		if (line[0] == '\0') {				/* End of headers? */
+		if (!*line) {				/* End of headers? */
 			if (STRIP_ALTERNATIVE(artinfo)) {
+#ifdef INLINE_DEBUG_MIME
+				stripped = TRUE;
+#endif /* INLINE_DEBUG_MIME */
 				if (header_wanted(_(txt_info_x_conversion_note))) {
 					header_put = TRUE;
 					put_cooked(LEN, wrap_lines, C_HEADER, _(txt_info_x_conversion_note));
 				}
 			}
-			if (header_put)
+			if (header_put) {
 				put_cooked(1, TRUE, 0, "\n");		/* put a newline after headers */
+#ifdef INLINE_DEBUG_MIME
+				if (stripped)
+					put_cooked(LEN, wrap_lines, C_ATTACH, "[-- non text/plain parts from multipart/alternative stripped --]\n");
+#endif /* INLINE_DEBUG_MIME */
+			}
 			break;
 		}
 
@@ -1387,7 +1406,7 @@ cook_article(
 					if ((ptr = strchr(foo, ':'))) {
 						*ptr = '\0';
 						unfold_header(line);
-						if ((ptr = parse_header(line, foo, TRUE, TRUE, FALSE))) {
+						if ((ptr = parse_mb_list_header(line, foo))) {
 #if 0
 							/*
 							 * TODO:
@@ -1442,6 +1461,15 @@ cook_article(
 	if (hdr->mime && hdr->ext->type == TYPE_MULTIPART) {
 		t_part *ptr;
 
+#ifdef INLINE_DEBUG_MIME
+		if (hdr->ext->mime_hints.flags & MIME_VERSION_MISSING)
+			put_cooked(LEN, wrap_lines, C_ATTACH, "[-- \"MIME-Version:\"-header missing --]\n");
+		else {
+			if (hdr->ext->mime_hints.flags & MIME_VERSION_UNSUPPORTED)
+				put_cooked(LEN, wrap_lines, C_ATTACH, "[-- Unsupported \"MIME-Version:\" --]\n");
+		}
+#endif /* INLINE_DEBUG_MIME */
+
 		for (ptr = hdr->ext->next; ptr != NULL; ptr = ptr->next) {
 			/*
 			 * Ignore non text/plain sections with alternative handling
@@ -1450,41 +1478,74 @@ cook_article(
 				continue;
 
 			name = get_filename(ptr->params);
-			if (!strcmp(content_types[ptr->type], "text"))
+			if (ptr->type == TYPE_TEXT)
 				charset = get_param(ptr->params, "charset");
 			else
 				charset = NULL;
+
 			put_attach(wrap_lines, ptr, (ptr->depth - 1) * 4, 0, name, charset);
 
 			/* Try to view anything of type text, may need to review this */
 			if (IS_PLAINTEXT(ptr)) {
-				if (charset_unsupported(charset)) {
-					put_cooked(LEN, wrap_lines, C_ATTACH, _(txt_mime_unsup_charset), (ptr->depth - 1) * 4, "", charset);
+				if (hdr->ext->mime_hints.flags & MIME_CHARSET_UNSUPPORTED) {
+					put_cooked(LEN, wrap_lines, C_ATTACH, _(txt_mime_unsup_charset), (ptr->depth - 1) * 4, "", hdr->ext->mime_hints.charset);
 					if (ptr->next)
 						put_cooked(1, wrap_lines, C_ATTACH, "\n");
-				} else
-					process_text_body_part(wrap_lines, artinfo->raw, ptr, hide_uue);
+				} else {
+					charset = validate_charset(charset);
+					process_text_body_part(wrap_lines, artinfo->raw, charset ? charset : "US-ASCII", ptr, hide_uue);
+				}
 			}
 		}
 	} else {
-		if (!strcmp(content_types[hdr->ext->type], "text"))
-			charset = get_param(hdr->ext->params, "charset");
-		else
-			charset = NULL;
+		charset = get_param(hdr->ext->params, "charset");
+
+#ifdef INLINE_DEBUG_MIME
+		if (hdr->ext->type != TYPE_TEXT || (hdr->ext->type == TYPE_TEXT && hdr->ext->encoding != ENCODING_7BIT)) { /* don't warn on pure ascii non mime */
+			if (hdr->ext->mime_hints.flags & MIME_VERSION_MISSING)
+				put_cooked(LEN, wrap_lines, C_ATTACH, "[-- \"MIME-Version:\"-header missing --]\n");
+			else {
+				if (hdr->ext->mime_hints.flags & MIME_VERSION_UNSUPPORTED)
+					put_cooked(LEN, wrap_lines, C_ATTACH, "[-- Unsupported \"MIME-Version:\" --]\n");
+			}
+		}
+#endif /* INLINE_DEBUG_MIME */
+
+#ifdef CHARSET_CONVERSION
+#	ifdef USE_ICU_UCSDET
+		if (hdr->ext->type == TYPE_APPLICATION && hdr->ext->encoding == ENCODING_BINARY && artinfo->hdr.ext->mime_hints.flags & MIME_TRANSFER_ENCODING_UNKNOWN) {
+			put_cooked(LEN, wrap_lines, C_ATTACH, "[-- \"Content-Type: application/octet-stream\" forced --]\n");
+			put_cooked(LEN, wrap_lines, C_ATTACH, "[-- \"Content-Type-Encodig: %s\" forced --]\n", content_encodings[hdr->ext->encoding]);
+		}
+		if (hdr->ext->mime_hints.flags & MIME_CHARSET_GUESSED) {
+			charset = get_param(hdr->ext->params, "guessed_charset");
+#		ifdef INLINE_DEBUG_MIME
+			put_cooked(LEN, wrap_lines, C_ATTACH, "[-- \"charset=%s\" guessed --]\n", charset);
+			if (hdr->ext->type == TYPE_TEXT && hdr->ext->encoding != ENCODING_7BIT && ((hdr->ext->mime_hints.flags & MIME_TRANSFER_ENCODING_MISSING) || (artinfo->hdr.ext->mime_hints.flags & MIME_TRANSFER_ENCODING_UNKNOWN)))
+				put_cooked(LEN, wrap_lines, C_ATTACH, "[-- \"Content-Type-Encodig: %s\" forced --]\n", content_encodings[hdr->ext->encoding]);
+#		endif /* INLINE_DEBUG_MIME */
+		}
+#	endif /* USE_ICU_UCSDET */
+#	ifdef INLINE_DEBUG_MIME
+		if (hdr->ext->mime_hints.flags & MIME_CHARSET_UNSUPPORTED)
+			put_cooked(LEN, wrap_lines, C_ATTACH, "[-- \"charset=%s\" unsupported --]\n", hdr->ext->mime_hints.charset);
+#	endif /* INLINE_DEBUG_MIME */
+#endif /* CHARSET_CONVERSION */
+
 		/*
 		 * A regular single-body article
 		 */
-		if (IS_PLAINTEXT(hdr->ext)) {
-			if (charset_unsupported(charset))
-				put_cooked(LEN, wrap_lines, C_ATTACH, _(txt_mime_unsup_charset), 0, "", charset);
+		if (!hdr->mime || IS_PLAINTEXT(hdr->ext)) {
+			if (hdr->ext->mime_hints.flags & MIME_CHARSET_UNSUPPORTED)
+				put_cooked(LEN, wrap_lines, C_ATTACH, _(txt_mime_unsup_charset), 0, "", hdr->ext->mime_hints.charset);
 			else
-				process_text_body_part(wrap_lines, artinfo->raw, hdr->ext, hide_uue);
+				process_text_body_part(wrap_lines, artinfo->raw, charset ? charset : "US-ASCII", hdr->ext, hide_uue);
 		} else {
 			/*
 			 * Non-textual main body
 			 */
 			name = get_filename(hdr->ext->params);
-			put_attach(wrap_lines, hdr->ext, 0, 0, name, charset);
+			put_attach(wrap_lines, hdr->ext, 0, 0, name, BlankIfNull(charset));
 		}
 	}
 
@@ -1502,27 +1563,36 @@ cook_article(
 
 /*
  * tin_ltoa() like function; IEC binary notation (base 1024)
- * with one decimal point. positive numbers only
+ * with one decimal point. positive numbers only.
  */
 #define BI_BASE 1024
 static char *
 ltobi(
 	unsigned long i)
 {
-	static const char power[] = { ' ', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y', 'R', 'Q', '\0' };
+	static const char power[] = { 'e', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y', 'R', 'Q', '\0' };
 	static char buffer[9];
+	char r;
 	unsigned d = 0, e = 0;
 
+#if !defined(NO_LOCALE) && defined(HAVE_LANGINFO_CODESET)
+	if (!(r = nl_langinfo(RADIXCHAR)[0]))
+#endif /* !NO_LOCALE && HAVE_LANGINFO_CODESET */
+		r = '.';
+
 	while (i >= BI_BASE) {
 		d = (unsigned) (i % BI_BASE * 10 / BI_BASE);
 		i /= BI_BASE;
-		e++;
+		++e;
 	}
 
-	if (e)
-		sprintf(buffer, "%u.%u%c", (unsigned) i, d, power[e]);
-	else
-		sprintf(buffer, "0.%u%c", (unsigned) (i * 10 / BI_BASE), power[1]);
+	if (e) {
+		if (e >= sizeof(power) - 1) /* any 128bit systems around? ,-) */
+			sprintf(buffer, "%u%c%u%c", (unsigned) i, r, d, power[0]); /* omit value and use a better error string? */
+		else
+			sprintf(buffer, "%u%c%u%c", (unsigned) i, r, d, power[e]);
+	} else
+		sprintf(buffer, "0%c%u%c", r, (unsigned) (i * 10 / BI_BASE), power[1]);
 
 	return buffer;
 }
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/curses.c tin-2.6.4/src/curses.c
--- tin-2.6.3/src/curses.c	2022-12-09 10:03:48.000000000 +0100
+++ tin-2.6.4/src/curses.c	2024-11-25 20:40:37.467792363 +0100
@@ -3,7 +3,7 @@
  *  Module    : curses.c
  *  Author    : D. Taylor & I. Lea
  *  Created   : 1986-01-01
- *  Updated   : 2021-09-20
+ *  Updated   : 2024-07-28
  *  Notes     : This is a screen management library borrowed with permission
  *              from the Elm mail system. This library was hacked to provide
  *              what tin needs.
@@ -40,7 +40,7 @@
 void my_dummy(void) { }	/* ANSI C requires non-empty file */
 t_bool have_linescroll = TRUE;	/* USE_CURSES always allows line scrolling */
 
-#else	/* !USE_CURSES */
+#else /* !USE_CURSES */
 
 #	ifndef ns32000
 #	undef	sinix
@@ -187,7 +187,7 @@ setup_screen(
 #		define TGETSTR(b,bufp)    tigetstr(b)
 #		define TGETNUM(b)         tigetnum(b) /* may be tigetint() */
 #		define TGETFLAG(b)        tigetflag(b)
-#		define NO_CAP(s)          (s == 0 || s == (char *) -1)
+#		define NO_CAP(s)          (s == NULL || s == (char *) -1)
 #		if !defined(HAVE_TIGETNUM) && defined(HAVE_TIGETINT)
 #			define tigetnum tigetint
 #		endif /* !HAVE_TIGETNUM && HAVE_TIGETINT */
@@ -199,7 +199,7 @@ setup_screen(
 #		define TGETSTR(a, bufp)   tgetstr(a, bufp)
 #		define TGETNUM(a)         tgetnum(a)
 #		define TGETFLAG(a)        tgetflag(a)
-#		define NO_CAP(s)          (s == 0)
+#		define NO_CAP(s)          (s == NULL)
 #	endif /* USE_TERMINFO */
 
 #	ifdef HAVE_TPARM
@@ -521,7 +521,7 @@ ScrollScreen(
 				tputs(_scrollback, 1, outchar);
 			}
 		}
-	} else
+	} else {
 		if (_scrollfwd) {
 			i = lines_to_scroll;
 			while (i--) {
@@ -529,6 +529,7 @@ ScrollScreen(
 				tputs(_scrollfwd, 1, outchar);
 			}
 		}
+	}
 	my_flush();
 }
 
@@ -638,7 +639,7 @@ Raw(
 		cfmakeraw(&_raw_tty);
 		_raw_tty.c_lflag |= ISIG;		/* for ^Z */
 #		else
-		_raw_tty.c_lflag &= ~(ICANON | ECHO);	/* noecho raw mode */
+		_raw_tty.c_lflag &= ~((tcflag_t) ICANON | ECHO);	/* noecho raw mode */
 		_raw_tty.c_cc[VMIN] = '\01';	/* minimum # of chars to queue */
 		_raw_tty.c_cc[VTIME] = '\0';	/* minimum time to wait for input */
 #		endif /* __FreeBSD__ */
@@ -973,7 +974,7 @@ get_arrow_key(
 			usleep((unsigned long) (SECOND_CHARACTER_DELAY * 1000));
 			i++;
 		}
-#else	/* !HAVE_USLEEP */
+#else /* !HAVE_USLEEP */
 #	ifdef HAVE_SELECT
 		struct timeval tvptr;
 
@@ -1180,7 +1181,7 @@ ReadWch(
 	void)
 {
 	char *mbs = my_malloc(MB_CUR_MAX + 1);
-	int result, to_read;
+	int result;
 	wchar_t wch;
 
 	fflush(stdout);
@@ -1234,7 +1235,7 @@ ReadWch(
 	 * UTF-8
 	 */
 	if (IS_LOCAL_CHARSET("UTF-8")) {
-		int ch = mbs[0] & 0xFF;
+		int to_read, ch = mbs[0] & 0xFF;
 
 		/* determine the count of bytes we have still have to read */
 		if (ch <= 0x7F) {
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/debug.c tin-2.6.4/src/debug.c
--- tin-2.6.3/src/debug.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/debug.c	2024-12-21 02:54:24.334614008 +0100
@@ -3,10 +3,10 @@
  *  Module    : debug.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2023-11-22
+ *  Updated   : 2024-12-21
  *  Notes     : debug routines
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -148,8 +148,8 @@ debug_print_header(
 			bool_unparse(s->killed),
 			bool_unparse(s->selected));
 		fprintf(fp, "subj=[%-38s]\n", s->subject);
-		fprintf(fp, "date=[%ld]  from=[%s]  name=[%s]\n", (long) s->date, s->from,
-			BlankIfNull(s->name));
+		fprintf(fp, "date=[%ld]  from=[%s]  name=[%s]\n", (long) s->date, s->mailbox.from,
+			BlankIfNull(s->mailbox.name));
 
 #if 0	/* msgid and refs are only retained until the reference tree is built */
 		if (s->msgid || s->refs)
@@ -157,9 +157,9 @@ debug_print_header(
 #endif /* 0 */
 
 		if (s->score != 0)
-			fprintf(fp, "score=[%d] gnksa=[%d] lines=[%d]\n", s->score, s->gnksa_code, s->line_count);
+			fprintf(fp, "score=[%d] gnksa=[%d] lines=[%d]\n", s->score, s->mailbox.gnksa_code, s->line_count);
 
-		fprintf(fp, "thread=[%d]  prev=[%d]  status=[%u]\n\n", s->thread, s->prev, s->status);
+		fprintf(fp, "thread=[%d]  prev=[%d]  status=[%u]\n\n", s->thread, s->prev, (unsigned) s->status);
 		fflush(fp);
 #	ifdef HAVE_FCHMOD
 		fchmod(fileno(fp), (S_IRUGO|S_IWUGO));
@@ -226,29 +226,29 @@ debug_print_attributes(
 		return;
 
 	fprintf(fp, "global=[%u] show=[%u] thread=[%u] sort=[%u] author=[%u] auto_select=[%u] batch_save=[%u] process=[%u]\n",
-		attr->global,
-		attr->show_only_unread_arts,
-		attr->thread_articles,
-		attr->sort_article_type,
-		attr->show_author,
-		attr->auto_select,
-		attr->batch_save,
-		attr->post_process_type);
+		(unsigned) attr->global,
+		(unsigned) attr->show_only_unread_arts,
+		(unsigned) attr->thread_articles,
+		(unsigned) attr->sort_article_type,
+		(unsigned) attr->show_author,
+		(unsigned) attr->auto_select,
+		(unsigned) attr->batch_save,
+		(unsigned) attr->post_process_type);
 	fprintf(fp, "select_header=[%u] select_global=[%s] select_expire=[%s]\n",
-		attr->quick_select_header,
-		BlankIfNull(attr->quick_select_scope),
+		(unsigned) attr->quick_select_header,
+		attr->quick_select_scope ? BlankIfNull(*attr->quick_select_scope) : "",
 		bool_unparse(attr->quick_select_expire));
 	fprintf(fp, "kill_header  =[%u] kill_global  =[%s] kill_expire  =[%s]\n",
-		attr->quick_kill_header,
-		BlankIfNull(attr->quick_kill_scope),
+		(unsigned) attr->quick_kill_header,
+		attr->quick_kill_scope ? BlankIfNull(*attr->quick_kill_scope) : "",
 		bool_unparse(attr->quick_kill_expire));
 	fprintf(fp, "maildir=[%s] savedir=[%s] savefile=[%s]\n",
-		BlankIfNull(attr->maildir),
-		BlankIfNull(attr->savedir),
-		BlankIfNull(attr->savefile));
+		attr->maildir ? BlankIfNull(*attr->maildir) : "",
+		attr->savedir ? BlankIfNull(*attr->savedir) : "",
+		attr->savefile ? BlankIfNull(*attr->savefile) : "");
 	fprintf(fp, "sigfile=[%s] followup_to=[%s]\n\n",
-		BlankIfNull(attr->sigfile),
-		BlankIfNull(attr->followup_to));
+		attr->sigfile ? BlankIfNull(*attr->sigfile) : "",
+		attr->followup_to ? BlankIfNull(*attr->followup_to) : "");
 	fflush(fp);
 }
 
@@ -448,7 +448,7 @@ debug_print_newsrc(
 	struct t_newsrc *lnewsrc,
 	FILE *fp)
 {
-	int j;
+	int j = 0;
 	t_artnum i;
 
 	fprintf(fp, "Newsrc: min=[%"T_ARTNUM_PFMT"] max=[%"T_ARTNUM_PFMT"] bitlen=[%"T_ARTNUM_PFMT"] num_unread=[%"T_ARTNUM_PFMT"] present=[%d]\n",
@@ -457,7 +457,7 @@ debug_print_newsrc(
 
 	fprintf(fp, "bitmap=[");
 	if (lnewsrc->xbitlen && lnewsrc->xbitmap) {
-		for (j = 0, i = lnewsrc->xmin; i <= lnewsrc->xmax; i++) {
+		for (i = lnewsrc->xmin; i <= lnewsrc->xmax; i++) {
 			fprintf(fp, "%d",
 				(NTEST(lnewsrc->xbitmap, i - lnewsrc->xmin) == ART_READ ?
 				ART_READ : ART_UNREAD));
@@ -481,7 +481,7 @@ logtime(
 
 	if (tin_gettime(&log_time) == 0) {
 		if (my_strftime(out, 39, " [%H:%M:%S.", gmtime(&(log_time.tv_sec)))) {
-			sprintf(out + 11, "%09ld", log_time.tv_nsec); /* strlen(" [hh:mm:ss.") */
+			snprintf(out + 11, sizeof(out) - 11, "%09ld", log_time.tv_nsec); /* strlen(" [hh:mm:ss.") */
 			out[17] = '\0'; /* strlen(" [hh:mm:ss.uuuuuu") */
 			strcat(out, "] ");
 			return out;
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/envarg.c tin-2.6.4/src/envarg.c
--- tin-2.6.3/src/envarg.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/envarg.c	2024-11-25 20:40:37.483792996 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2021-02-23
  *  Notes     : Adds default options from environment to command line
  *
- * Copyright (c) 1991-2024 Bill Davidson
+ * Copyright (c) 1991-2025 Bill Davidson
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/feed.c tin-2.6.4/src/feed.c
--- tin-2.6.3/src/feed.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/feed.c	2024-12-04 20:10:52.888759270 +0100
@@ -3,10 +3,10 @@
  *  Module    : feed.c
  *  Author    : I. Lea
  *  Created   : 1991-08-31
- *  Updated   : 2023-10-16
+ *  Updated   : 2024-12-04
  *  Notes     : provides same interface to mail,pipe,print,save & repost commands
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -66,9 +66,9 @@ struct t_counters {
 /*
  * Local prototypes
  */
-static char *get_save_filename(struct t_group *group, int function, char *filename, int filelen);
+static char *get_save_filename(const struct t_group *group, int function, char *filename, int filelen);
 static t_bool expand_feed_filename(char *outpath, size_t outpath_len, const char *path);
-static t_bool feed_article(int art, int function, struct t_counters *counter, t_bool use_current, const char *data, struct t_group *group);
+static t_bool feed_article(int art, int function, struct t_counters *counter, t_bool use_current, const char *data, const struct t_group *group);
 static t_function get_feed_key(int function, int level, struct t_art_stat *thread);
 static t_function get_post_proc_type(void);
 static void print_save_summary(t_function type, int fed);
@@ -90,7 +90,7 @@ static void print_save_summary(t_functio
  */
 static char *
 get_save_filename(
-	struct t_group *group,
+	const struct t_group *group,
 	int function,
 	char *filename,
 	int filelen)
@@ -102,7 +102,7 @@ get_save_filename(
 	/*
 	 * Group attribute savefile overrides tinrc default savefile
 	 */
-	my_strncpy(default_savefile, (group->attribute->savefile ? group->attribute->savefile : tinrc.default_save_file), sizeof(default_savefile) - 1);
+	my_strncpy(default_savefile, (group->attribute->savefile && *group->attribute->savefile ? *group->attribute->savefile : BlankIfNull(tinrc.default_save_file)), sizeof(default_savefile) - 1);
 
 	/*
 	 * We don't ask when auto'S'aving
@@ -118,9 +118,10 @@ get_save_filename(
 	/*
 	 * Update tinrc.default_save_file if changed
 	 */
-	if (*filename)
-		my_strncpy(tinrc.default_save_file, filename, sizeof(tinrc.default_save_file) - 1);
-	else {
+	if (*filename) {
+		FreeIfNeeded(tinrc.default_save_file);
+		tinrc.default_save_file = my_strdup(filename);
+	} else {
 		/*
 		 * None chosen (or AUTOSAVING), use tinrc default
 		 */
@@ -164,7 +165,7 @@ expand_feed_filename(
 	if ((ret == 0) || !(strrchr(outpath, '/'))) {
 		char buf[PATH_LEN];
 
-		if (!strfpath((cmdline.args & CMDLINE_SAVEDIR) ? cmdline.savedir : curr_group->attribute->savedir, buf, sizeof(buf), curr_group, FALSE))
+		if (!strfpath(cmdline.savedir ? cmdline.savedir : *curr_group->attribute->savedir, buf, sizeof(buf), curr_group, FALSE))
 			joinpath(buf, sizeof(buf), homedir, DEFAULT_SAVEDIR);
 		joinpath(outpath, outpath_len, buf, path);
 		return FALSE;
@@ -313,7 +314,7 @@ get_feed_key(
 			{
 				char *tmp = fmt_string(_(txt_feed_pattern), tinrc.default_pattern);
 
-				if (!(prompt_string_default(tmp, tinrc.default_pattern, _(txt_no_match), HIST_REGEX_PATTERN))) {
+				if (!(prompt_string_ptr_default(tmp, &tinrc.default_pattern, _(txt_no_match), HIST_REGEX_PATTERN))) {
 					free(tmp);
 					return GLOBAL_ABORT;
 				}
@@ -412,7 +413,7 @@ feed_article(
 	struct t_counters *counter,	/* Accounting */
 	t_bool use_current,		/* Use already open pager article */
 	const char *data,		/* Extra data if needed, print command or save filename */
-	struct t_group *group)
+	const struct t_group *group)
 {
 	char *progress_mesg = NULL;
 	t_bool ok = TRUE;		/* Assume success */
@@ -469,6 +470,7 @@ feed_article(
 					break;
 
 				case POSTED_OK:
+				default:
 					break;
 			}
 			confirm = bool_not(ok);		/* Only confirm the next one after a failure */
@@ -491,9 +493,10 @@ feed_article(
 #ifndef DONT_HAVE_PIPING
 		case FEED_PIPE:
 			rewind(openartptr->raw);
-			ok = copy_fp(openartptr->raw, pipe_fp);
-			if (errno == EPIPE)	/* broken pipe in copy_fp() */
+			if (copy_fp(openartptr->raw, pipe_fp) == EPIPE) {	/* broken pipe in copy_fp() */
 				got_epipe = TRUE;
+				ok = FALSE;
+			}
 			break;
 #endif /* !DONT_HAVE_PIPING */
 
@@ -568,13 +571,13 @@ feed_articles(
 	int respnum)
 {
 	char *prompt;
-	char outpath[PATH_LEN];
+	char outpath[PATH_LEN]; /* FIXME: don't used fixed length */
 	int art;
 	int i;
 	int saved_curr_line = -1;
 	int thread_base;
 	struct t_art_stat sbuf;
-	struct t_counters counter = {0, 0, 0};
+	struct t_counters counter = { 0, 0, 0 };
 	t_bool feed_mark_function = function == FEED_MARK_READ || function == FEED_MARK_UNREAD;
 	t_bool mark_saved = FALSE;
 	t_bool no_next_unread = FALSE;
@@ -623,7 +626,7 @@ feed_articles(
 		/* Setup mail - get address to mail to */
 		case FEED_MAIL:
 			prompt = fmt_string(_(txt_mail_art_to), cCOLS - (strwidth(_(txt_mail_art_to)) > cCOLS - 30 ? cCOLS - 30 : strwidth(_(txt_mail_art_to)) + 30), tinrc.default_mail_address);
-			if (!(prompt_string_default(prompt, tinrc.default_mail_address, _(txt_no_mail_address), HIST_MAIL_ADDRESS))) {
+			if (!(prompt_string_ptr_default(prompt, &tinrc.default_mail_address, _(txt_no_mail_address), HIST_MAIL_ADDRESS))) {
 				free(prompt);
 				return -1;
 			}
@@ -634,7 +637,7 @@ feed_articles(
 		/* Setup pipe - get pipe-to command and open the pipe */
 		case FEED_PIPE:
 			prompt = fmt_string(_(txt_pipe_to_command), cCOLS - (strwidth(_(txt_pipe_to_command)) > cCOLS - 30 ? cCOLS - 30 : strwidth(_(txt_pipe_to_command)) + 30), tinrc.default_pipe_command);
-			if (!(prompt_string_default(prompt, tinrc.default_pipe_command, _(txt_no_command), HIST_PIPE_COMMAND))) {
+			if (!(prompt_string_ptr_default(prompt, &tinrc.default_pipe_command, _(txt_no_command), HIST_PIPE_COMMAND))) {
 				free(prompt);
 				return -1;
 			}
@@ -657,8 +660,16 @@ feed_articles(
 
 #ifndef DISABLE_PRINTING
 		/* Setup printing - get print command line */
+		/* FIXME: don't use fixed length buffer */
 		case FEED_PRINT:
-			snprintf(outpath, sizeof(outpath), "%s %s", tinrc.printer, REDIRECT_OUTPUT);
+			{
+				int l = sizeof(outpath) - strlen(tinrc.printer) - strlen(REDIRECT_OUTPUT) - 2;
+
+				if (l > 0)
+					snprintf(outpath, sizeof(outpath), "%.*s %s", l, tinrc.printer, REDIRECT_OUTPUT);
+				else
+					*outpath = '\0';
+			}
 			break;
 #endif /* !DISABLE_PRINTING */
 
@@ -710,14 +721,14 @@ feed_articles(
 		case FEED_REPOST:
 			{
 				char *tmp;
+				char *smsg;
 #ifndef FORGERY
 				char from_name[PATH_LEN];
 
 				get_from_name(from_name, (struct t_group *) 0);
 
-				if (strstr(from_name, arts[respnum].from)) {
+				if (strstr(from_name, arts[respnum].mailbox.from)) {
 #endif /* !FORGERY */
-					char *smsg;
 					char buf[LEN];
 					char keyrepost[MAXKEYLEN], keysupersede[MAXKEYLEN];
 					char keyquit[MAXKEYLEN];
@@ -735,12 +746,12 @@ feed_articles(
 
 					switch (func) {
 						case FEED_SUPERSEDE:
-							tmp = fmt_string(_(txt_supersede_group), tinrc.default_repost_group);
+							tmp = fmt_string(_(txt_supersede_group), BlankIfNull(tinrc.default_repost_group));
 							supersede = TRUE;
 							break;
 
 						case FEED_KEY_REPOST:
-							tmp = fmt_string(_(txt_repost_group), tinrc.default_repost_group);
+							tmp = fmt_string(_(txt_repost_group), BlankIfNull(tinrc.default_repost_group));
 							supersede = FALSE;
 							break;
 
@@ -750,14 +761,16 @@ feed_articles(
 					}
 #ifndef FORGERY
 				} else {
-					tmp = fmt_string(_(txt_repost_group), tinrc.default_repost_group);
+					tmp = fmt_string(_(txt_repost_group), BlankIfNull(tinrc.default_repost_group));
 					supersede = FALSE;
 				}
 #endif /* !FORGERY */
-				if (!(prompt_string_default(tmp, tinrc.default_repost_group, _(txt_no_group), HIST_REPOST_GROUP))) {
+				if (!(smsg = prompt_string_default(tmp, tinrc.default_repost_group, _(txt_no_group), HIST_REPOST_GROUP))) {
+					FreeIfNeeded(smsg);
 					free(tmp);
 					return -1;
 				}
+				tinrc.default_repost_group = smsg;
 				free(tmp);
 			}
 			break;
@@ -1053,8 +1066,8 @@ print_file(
 	t_openartinfo *artinfo)
 {
 	FILE *fp;
-	struct t_header *hdr = &artinfo->hdr;
-	t_bool ok;
+	const struct t_header *hdr = &artinfo->hdr;
+	t_bool ok = FALSE;
 #	ifdef DONT_HAVE_PIPING
 	char cmd[PATH_LEN], file[PATH_LEN];
 	int i;
@@ -1064,28 +1077,29 @@ print_file(
 	snprintf(file, sizeof(file), TIN_PRINTFILE, respnum);
 	if ((fp = fopen(file, "w")) == NULL) /* TODO: issue a more correct error message here */
 #	else
-	if ((fp = popen(command, "w")) == NULL)
+	if (!command || !*command || (fp = popen(command, "w")) == NULL)
 #	endif /* DONT_HAVE_PIPING */
 	{
-		perror_message(_(txt_command_failed), command);
-		return FALSE;
+		perror_message(_(txt_command_failed), BlankIfNull(command));
+		return ok;
 	}
 
 	rewind(artinfo->raw);
 	if (!curr_group->attribute->print_header && !(fseek(artinfo->raw, hdr->ext->offset, SEEK_SET))) {	/* -> start of body */
 		if (hdr->newsgroups)
 			fprintf(fp, "Newsgroups: %s\n", hdr->newsgroups);
-		if (arts[respnum].from == arts[respnum].name || arts[respnum].name == NULL)
-			fprintf(fp, "From: %s\n", arts[respnum].from);
+		if (arts[respnum].mailbox.from == arts[respnum].mailbox.name || arts[respnum].mailbox.name == NULL)
+			fprintf(fp, "From: %s\n", arts[respnum].mailbox.from);
 		else
-			fprintf(fp, "From: %s <%s>\n", arts[respnum].name, arts[respnum].from);
+			fprintf(fp, "From: %s <%s>\n", arts[respnum].mailbox.name, arts[respnum].mailbox.from);
 		if (hdr->subj)
 			fprintf(fp, "Subject: %s\n", hdr->subj);
 		if (hdr->date)
 			fprintf(fp, "Date: %s\n\n", hdr->date);
 	}
 
-	ok = copy_fp(artinfo->raw, fp);
+	if (copy_fp(artinfo->raw, fp) == 0)
+		ok = TRUE;
 
 #	ifdef DONT_HAVE_PIPING
 	fclose(fp);
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/filter.c tin-2.6.4/src/filter.c
--- tin-2.6.3/src/filter.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/filter.c	2024-12-09 15:14:54.060995425 +0100
@@ -3,10 +3,10 @@
  *  Module    : filter.c
  *  Author    : I. Lea
  *  Created   : 1992-12-28
- *  Updated   : 2023-12-11
+ *  Updated   : 2024-12-09
  *  Notes     : Filter articles. Kill & auto selection are supported.
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -96,12 +96,12 @@ int filter_file_offset;
 /*
  * Local prototypes
  */
-static int get_choice(int x, const char *help, const char *prompt, char *list[], int list_size);
+static int get_choice(int x, const char *help, const char *prompt, const char *list[], int list_size);
 static int set_filter_scope(struct t_group *group);
 static struct t_filter_comment *add_filter_comment(struct t_filter_comment *ptr, char *text);
 static struct t_filter_comment *free_filter_comment(struct t_filter_comment *ptr);
 static struct t_filter_comment *copy_filter_comment(struct t_filter_comment *from, struct t_filter_comment *to);
-static t_bool add_filter_rule(struct t_group *group, struct t_article *art, struct t_filter_rule *rule, t_bool quick_filter_rule);
+static t_bool add_filter_rule(const struct t_group *group, struct t_article *art, struct t_filter_rule *rule, t_bool quick_filter_rule);
 static int test_match(const char *string, char *regex, t_bool nocase, t_bool use_regex, struct regex_cache *cache);
 static void expand_filter_array(struct t_filters *ptr);
 static void fmt_filter_menu_prompt(char *dest, size_t dest_len, const char *fmt_str, int len, const char *text);
@@ -216,7 +216,7 @@ test_match(
 		if (!cache->re)
 			compile_regex(regex, cache, (nocase ? REGEX_CASELESS : 0));
 		if (cache->re) {
-			error = match_regex_ex(string, (int) strlen(string), 0, 0, cache);
+			error = match_regex_ex(string, (REGEX_SIZE) strlen(string), 0, 0, cache);
 			if (error >= 0)
 				return 1;
 			else if (error != REGEX_ERROR_NOMATCH) { /* also exclude BADUTF8 ? */
@@ -322,7 +322,7 @@ read_filter_file(
 	char scbuf[PATH_LEN];
 	int i = 0;
 	int icase = 0;
-	int score = 0;
+	int score;
 	long secs = 0L;
 	struct t_filter_comment *comment = NULL;
 	struct t_filter *ptr = NULL;
@@ -333,11 +333,11 @@ read_filter_file(
 	static t_bool first_read = TRUE;
 	struct t_version *upgrade = NULL;
 
-	if ((fp = fopen(file, "r")) == NULL)
+	if ((fp = tin_fopen(file, "r")) == NULL)
 		return FALSE;
 
 	if (!batch_mode || verbose)
-		wait_message(0, _(txt_reading_filter_file));
+		wait_message(0, _(txt_reading_filter_file), file);
 
 	(void) time(&current_secs);
 
@@ -352,15 +352,27 @@ read_filter_file(
 	while (fgets(buf, (int) sizeof(buf), fp) != NULL) {
 		if (*buf == '\n')
 			continue;
+		/* sanity check for mixed up -F/-f */
+		if (!i && first_read && no_version_line) {
+			/*
+			 * we know that a filter-file line is either a comment (#) or
+			 * has at least an equal signe ('=') whereas a newsrc-file line
+			 * has either a ':' or a '!'
+			 */
+			if (*buf != '#' && !strchr(buf, '=') && (strchr(buf, ':') || strchr(buf, '!'))) {
+				fclose(fp);
+				tin_done(EXIT_FAILURE, _(txt_error_mixed_up_opt), "-F", file);
+			}
+		}
 		if (*buf == '#') {
-			if (scope[0] == '\0')
-				filter_file_offset++;
+			if (!*scope)
+				++filter_file_offset;
 			if (upgrade == NULL && first_read && match_string(buf, "# Filter file V", NULL, 0)) {
 				first_read = FALSE;
 				no_version_line = FALSE;
 				upgrade = check_upgrade(buf, "# Filter file V", FILTER_VERSION);
 				if (upgrade->state != RC_IGNORE)
-					upgrade_prompt_quit(upgrade, file); /* FILTER_FILE */ /* TODO: do something (more) useful here */
+					upgrade_prompt_quit(upgrade, file, fp); /* FILTER_FILE */ /* TODO: do something (more) useful here */
 			}
 			continue;
 		}
@@ -428,13 +440,13 @@ read_filter_file(
 					if (ptr && !expired_time) {
 						if (gnksa[0] == '<') {
 							ptr[i].gnksa_cmp = FILTER_LINES_LT;
-							ptr[i].gnksa_num = atoi(&gnksa[1]);
+							ptr[i].gnksa_num = s2i(&gnksa[1], GNKSA_OK, GNKSA_MISSING_REALNAME);
 						} else if (gnksa[0] == '>') {
 							ptr[i].gnksa_cmp = FILTER_LINES_GT;
-							ptr[i].gnksa_num = atoi(&gnksa[1]);
+							ptr[i].gnksa_num = s2i(&gnksa[1], GNKSA_OK, GNKSA_MISSING_REALNAME);
 						} else {
 							ptr[i].gnksa_cmp = FILTER_LINES_EQ;
-							ptr[i].gnksa_num = atoi(gnksa);
+							ptr[i].gnksa_num = s2i(gnksa, GNKSA_OK, GNKSA_MISSING_REALNAME);
 						}
 					}
 				}
@@ -445,13 +457,13 @@ read_filter_file(
 					if (ptr && !expired_time) {
 						if (buffer[0] == '<') {
 							ptr[i].lines_cmp = FILTER_LINES_LT;
-							ptr[i].lines_num = atoi(&buffer[1]);
+							ptr[i].lines_num = s2i(&buffer[1], 0, INT_MAX);
 						} else if (buffer[0] == '>') {
 							ptr[i].lines_cmp = FILTER_LINES_GT;
-							ptr[i].lines_num = atoi(&buffer[1]);
+							ptr[i].lines_num = s2i(&buffer[1], 0, INT_MAX);
 						} else {
 							ptr[i].lines_cmp = FILTER_LINES_EQ;
-							ptr[i].lines_num = atoi(buffer);
+							ptr[i].lines_num = s2i(buffer, 0, INT_MAX);
 						}
 					}
 				}
@@ -562,26 +574,18 @@ read_filter_file(
 				 * read score for rule
 				 */
 				if (match_string(buf + 1, "core=", scbuf, PATH_LEN)) {
-					score = atoi(scbuf);
+					score = s2i(scbuf, -SCORE_MAX, SCORE_MAX);
 #ifdef DEBUG
 					if (debug & DEBUG_FILTER)
 						debug_print_file("FILTER", "score=[%d]", score);
 #endif /* DEBUG */
 					if (ptr && !expired_time) {
-						if (score > SCORE_MAX)
-							score = SCORE_MAX;
-						else {
-							if (score < -SCORE_MAX)
-								score = -SCORE_MAX;
+						if (!score) {
+							if (!strncasecmp(scbuf, "kill", 4))
+								score = tinrc.score_kill;
 							else {
-								if (!score) {
-									if (!strncasecmp(scbuf, "kill", 4))
-										score = tinrc.score_kill;
-									else {
-										if (!strncasecmp(scbuf, "hot", 3))
-											score = tinrc.score_select;
-									}
-								}
+								if (!strncasecmp(scbuf, "hot", 3))
+									score = tinrc.score_select;
 							}
 						}
 						ptr[i].score = score;
@@ -660,7 +664,7 @@ read_filter_file(
 		upgrade = my_malloc(sizeof(struct t_version));
 		upgrade->state = RC_UPGRADE;
 		upgrade->file_version = -1;
-		upgrade_prompt_quit(upgrade, file); /* TODO: do something (more) useful here */
+		upgrade_prompt_quit(upgrade, file, NULL); /* TODO: do something (more) useful here */
 	}
 
 	if (need_write || (upgrade && upgrade->state == RC_UPGRADE))
@@ -690,7 +694,8 @@ write_filter_file(
 		return;
 
 	/* generate tmp-filename */
-	file_tmp = get_tmpfilename(filename);
+	if ((file_tmp = get_tmpfilename(filename)) == NULL)
+		return;
 
 	if (!backup_file(filename, file_tmp)) {
 		error_message(2, _(txt_filesystem_full_backup), filename);
@@ -699,6 +704,7 @@ write_filter_file(
 	}
 
 	if ((fp = fopen(filename, "w+")) == NULL) {
+		perror_message("write_filter_file(%s)", filename);
 		free(file_tmp);
 		return;
 	}
@@ -722,7 +728,7 @@ write_filter_file(
 		filter_file_offset = 1;
 		while ((i = fgetc(fp)) != EOF) {
 			if (i == '\n')
-				filter_file_offset++;
+				++filter_file_offset;
 		}
 		if (fseek(fp, fpos, SEEK_SET)) {
 			clearerr(fp);
@@ -897,7 +903,7 @@ get_choice(
 	int x,
 	const char *help,
 	const char *prompt,
-	char *list[],
+	const char *list[],
 	int list_size)
 {
 	int ch, y, i = 0;
@@ -918,7 +924,7 @@ get_choice(
 		ch = ReadCh();
 		switch (ch) {
 			case ' ':
-				i++;
+				++i;
 				i %= list_size;
 				break;
 
@@ -928,14 +934,14 @@ get_choice(
 #endif /* HAVE_KEY_PREFIX */
 				switch (get_arrow_key(ch)) {
 					case KEYMAP_UP:
-						i--;
+						--i;
 						if (i < 0)
 							i = list_size - 1;
 						ch = ' ';	/* don't exit the while loop yet */
 						break;
 
 					case KEYMAP_DOWN:
-						i++;
+						++i;
 						i %= list_size;
 						ch = ' ';	/* don't exit the while loop yet */
 						break;
@@ -1068,9 +1074,9 @@ filter_menu(
 	const char *ptr_filter_subj;
 	const char *ptr_filter_help_scope;
 	const char *ptr_filter_quit_edit_save;
+	const char **list;
 	char *ptr;
-	char **list;
-	char comment_line[LEN];
+	char *prompt_buf = NULL;
 	char buf[LEN];
 	char keyedit[MAXKEYLEN], keyquit[MAXKEYLEN], keysave[MAXKEYLEN];
 	char text_time[PATH_LEN];
@@ -1085,8 +1091,8 @@ filter_menu(
 	signal_context = cFilter;
 
 	rule.comment = (struct t_filter_comment *) 0;
-	rule.text[0] = '\0';
-	rule.scope[0] = '\0';
+	rule.text = NULL;
+	rule.scope = NULL;
 	rule.counter = 0;
 	rule.lines_cmp = FILTER_LINES_NO;
 	rule.lines_num = 0;
@@ -1100,8 +1106,6 @@ filter_menu(
 	rule.expire_time = FALSE;
 	rule.check_string = FALSE;
 
-	comment_line[0] = '\0';
-
 	/*
 	 * setup correct text for user selected menu
 	 */
@@ -1150,8 +1154,8 @@ filter_menu(
 
 	snprintf(text_time, sizeof(text_time), _(txt_time_default_days), tinrc.filter_days);
 	fmt_filter_menu_prompt(text_subj, sizeof(text_subj), ptr_filter_subj, len, art->subject);
-	snprintf(text_score, sizeof(text_score), _(txt_filter_score), (type == GLOBAL_MENU_FILTER_KILL ? -tinrc.score_kill : tinrc.score_select));
-	fmt_filter_menu_prompt(text_from, sizeof(text_from), ptr_filter_from, len, art->from);
+	snprintf(text_score, sizeof(text_score), _(txt_filter_score), (type == GLOBAL_MENU_FILTER_KILL ? tinrc.score_kill : tinrc.score_select));
+	fmt_filter_menu_prompt(text_from, sizeof(text_from), ptr_filter_from, len, art->mailbox.from);
 	fmt_filter_menu_prompt(text_msgid, sizeof(text_msgid), ptr_filter_msgid, len - 4, MSGID(art));
 
 	print_filter_menu();
@@ -1162,10 +1166,13 @@ filter_menu(
 	 * The empty line is ignored.
 	 */
 	show_menu_help(_(txt_help_filter_comment));
-	while ((proceed = prompt_menu_string(INDEX_TOP, ptr_filter_comment, comment_line)) && comment_line[0] != '\0') {
-		rule.comment = add_filter_comment(rule.comment, comment_line);
-		comment_line[0] = '\0';
+	while ((proceed = prompt_menu_string(INDEX_TOP, ptr_filter_comment, &prompt_buf)) && prompt_buf && *prompt_buf) {
+		rule.comment = add_filter_comment(rule.comment, prompt_buf);
+		FreeAndNull(prompt_buf);
 	}
+
+	FreeAndNull(prompt_buf);
+
 	if (!proceed) {
 		free_filter_comment(rule.comment);
 		return FALSE;
@@ -1175,26 +1182,27 @@ filter_menu(
 	 * Text which might be used to filter on subj, from or msgid
 	 */
 	show_menu_help(_(txt_help_filter_text));
-	if (!prompt_menu_string(INDEX_TOP + 2, ptr_filter_text, rule.text)) {
+	if (!prompt_menu_string(INDEX_TOP + 2, ptr_filter_text, &rule.text)) {
 		free_filter_comment(rule.comment);
 		return FALSE;
 	}
 
-	if (*rule.text) {
+	if (rule.text && *rule.text) {
 		list = my_malloc(sizeof(char *) * 8);
-		list[0] = (char *) _(txt_subj_line_only_case);
-		list[1] = (char *) _(txt_subj_line_only);
-		list[2] = (char *) _(txt_from_line_only_case);
-		list[3] = (char *) _(txt_from_line_only);
-		list[4] = (char *) _(txt_msgid_refs_line);
-		list[5] = (char *) _(txt_msgid_line_last);
-		list[6] = (char *) _(txt_msgid_line_only);
-		list[7] = (char *) _(txt_refs_line_only);
+		list[0] = _(txt_subj_line_only_case);
+		list[1] = _(txt_subj_line_only);
+		list[2] = _(txt_from_line_only_case);
+		list[3] = _(txt_from_line_only);
+		list[4] = _(txt_msgid_refs_line);
+		list[5] = _(txt_msgid_line_last);
+		list[6] = _(txt_msgid_line_only);
+		list[7] = _(txt_refs_line_only);
 
 		i = get_choice(INDEX_TOP + 3, _(txt_help_filter_text_type), _(txt_filter_text_type), list, 8);
 		free(list);
 
 		if (i == -1) {
+			free(rule.text);
 			free_filter_comment(rule.comment);
 			return FALSE;
 		}
@@ -1221,18 +1229,19 @@ filter_menu(
 		}
 	}
 
-	if (!*rule.text) {
+	if (!rule.text || !*rule.text) {
 		rule.check_string = TRUE;
 		/*
 		 * Subject:
 		 */
 		list = my_malloc(sizeof(char *) * 2);
-		list[0] = (char *) _(txt_yes);
-		list[1] = (char *) _(txt_no);
+		list[0] = _(txt_yes);
+		list[1] = _(txt_no);
 		i = get_choice(INDEX_TOP + 5, _(txt_help_filter_subj), text_subj, list, 2);
 		free(list);
 
 		if (i == -1) {
+			FreeIfNeeded(rule.text);
 			free_filter_comment(rule.comment);
 			return FALSE;
 		} else
@@ -1243,16 +1252,17 @@ filter_menu(
 		 */
 		list = my_malloc(sizeof(char *) * 2);
 		if (rule.subj_ok) {
-			list[0] = (char *) _(txt_no);
-			list[1] = (char *) _(txt_yes);
+			list[0] = _(txt_no);
+			list[1] = _(txt_yes);
 		} else {
-			list[0] = (char *) _(txt_yes);
-			list[1] = (char *) _(txt_no);
+			list[0] = _(txt_yes);
+			list[1] = _(txt_no);
 		}
 		i = get_choice(INDEX_TOP + 6, _(txt_help_filter_from), text_from, list, 2);
 		free(list);
 
 		if (i == -1) {
+			FreeIfNeeded(rule.text);
 			free_filter_comment(rule.comment);
 			return FALSE;
 		} else
@@ -1263,20 +1273,21 @@ filter_menu(
 		 */
 		list = my_malloc(sizeof(char *) * 4);
 		if (rule.subj_ok || rule.from_ok) {
-			list[0] = (char *) _(txt_no);
-			list[1] = (char *) _(txt_full);
-			list[2] = (char *) _(txt_last);
-			list[3] = (char *) _(txt_only);
+			list[0] = _(txt_no);
+			list[1] = _(txt_full);
+			list[2] = _(txt_last);
+			list[3] = _(txt_only);
 		} else {
-			list[0] = (char *) _(txt_full);
-			list[1] = (char *) _(txt_last);
-			list[2] = (char *) _(txt_only);
-			list[3] = (char *) _(txt_no);
+			list[0] = _(txt_full);
+			list[1] = _(txt_last);
+			list[2] = _(txt_only);
+			list[3] = _(txt_no);
 		}
 		i = get_choice(INDEX_TOP + 7, _(txt_help_filter_msgid), text_msgid, list, 4);
 		free(list);
 
 		if (i == -1) {
+			FreeIfNeeded(rule.text);
 			free_filter_comment(rule.comment);
 			return FALSE;
 		} else {
@@ -1308,7 +1319,6 @@ filter_menu(
 					break;
 			}
 		}
-
 	}
 
 	/*
@@ -1316,9 +1326,8 @@ filter_menu(
 	 */
 	show_menu_help(_(txt_help_filter_lines));
 
-	buf[0] = '\0';
-
-	if (!prompt_menu_string(INDEX_TOP + 9, ptr_filter_lines, buf)) {
+	if (!prompt_menu_string(INDEX_TOP + 9, ptr_filter_lines, &prompt_buf)) {
+		FreeIfNeeded(rule.text);
 		free_filter_comment(rule.comment);
 		return FALSE;
 	}
@@ -1326,23 +1335,25 @@ filter_menu(
 	/*
 	 * Get the < > sign if any for the lines rule
 	 */
-	ptr = buf;
+	ptr = prompt_buf;
 	while (*ptr == ' ')
-		ptr++;
+		++ptr;
 
 	if (*ptr == '>') {
 		rule.lines_cmp = FILTER_LINES_GT;
-		ptr++;
+		++ptr;
 	} else if (*ptr == '<') {
 		rule.lines_cmp = FILTER_LINES_LT;
-		ptr++;
+		++ptr;
 	} else if (*ptr == '=') {
 		rule.lines_cmp = FILTER_LINES_EQ;
-		ptr++;
+		++ptr;
 	}
 
 	if (*ptr)
-		rule.lines_num = abs(atoi(ptr));
+		rule.lines_num = s2i(ptr, 0, INT_MAX);
+
+	FreeAndNull(prompt_buf);
 
 	if (rule.lines_num && rule.lines_cmp == FILTER_LINES_NO)
 		rule.lines_cmp = FILTER_LINES_EQ;
@@ -1356,16 +1367,16 @@ filter_menu(
 	snprintf(buf, sizeof(buf), _(txt_filter_score_help), SCORE_MAX);
 	show_menu_help(buf);
 
-	buf[0] = '\0';
-	if (!prompt_menu_string(INDEX_TOP + 10, text_score, buf)) {
+	if (!prompt_menu_string(INDEX_TOP + 10, text_score, &prompt_buf)) {
+		FreeIfNeeded(rule.text);
 		free_filter_comment(rule.comment);
 		return FALSE;
 	}
 
 	/* check if a score has been entered */
-	if (buf[0] != '\0')
+	if (*prompt_buf)
 		/* use entered score */
-		rule.score = atoi(buf);
+		rule.score = s2i(prompt_buf, -SCORE_MAX, SCORE_MAX);
 	else {
 		/* use default score */
 		if (type == GLOBAL_MENU_FILTER_KILL)
@@ -1374,7 +1385,10 @@ filter_menu(
 			rule.score = tinrc.score_select;
 	}
 
+	FreeAndNull(prompt_buf);
+
 	if (!rule.score) { /* ignore 0 scores */
+		FreeIfNeeded(rule.text);
 		free_filter_comment(rule.comment);
 		return FALSE;
 	}
@@ -1395,11 +1409,11 @@ filter_menu(
 	 * Expire time
 	 */
 	double_time = my_malloc(strlen(text_time) + 4); /* "2x " prefix */
-	quat_time = my_malloc(strlen(text_time) + 4); /* "4x " prefix*/
+	quat_time = my_malloc(strlen(text_time) + 4); /* "4x " prefix */
 	sprintf(double_time, "2x %s", text_time);
 	sprintf(quat_time, "4x %s", text_time);
 	list = my_malloc(sizeof(char *) * 4);
-	list[0] = (char *) _(txt_unlimited_time);
+	list[0] = _(txt_unlimited_time);
 	list[1] = text_time;
 	list[2] = double_time;
 	list[3] = quat_time;
@@ -1409,6 +1423,7 @@ filter_menu(
 	free(quat_time);
 
 	if (i == -1) {
+		FreeIfNeeded(rule.text);
 		free_filter_comment(rule.comment);
 		return FALSE;
 	}
@@ -1418,35 +1433,43 @@ filter_menu(
 	/*
 	 * Scope
 	 */
-	if (*rule.text || rule.subj_ok || rule.from_ok || rule.msgid_ok || rule.lines_ok) {
+	if ((rule.text && *rule.text) || rule.subj_ok || rule.from_ok || rule.msgid_ok || rule.lines_ok) {
+		char *grp_name = my_strdup(group->name);
+		char **tmp_list;
 		int j = 0;
 
 		list = my_malloc(sizeof(char *) * 2); /* at least 2 scopes */
-		list[j++] = my_strdup(group->name);
-		list[j] = my_strdup(list[j - 1]);
-		while ((ptr = strrchr(list[j], '.')) != NULL) {
+		tmp_list = my_malloc(sizeof(char *) * 2);
+		list[j] = tmp_list[j] = my_strdup(grp_name);
+		++j;
+		while ((ptr = strrchr(grp_name, '.')) != NULL) {
 			*(++ptr) = '*';
 			*(++ptr) = '\0';
-			j++;
-			list = my_realloc(list, sizeof(char *) * (size_t) (j + 1)); /* one element more */
-			list[j] = my_strdup(list[j - 1]);
-			list[j][strlen(list[j]) - 2] = '\0';
+			list[j] = tmp_list[j] = my_strdup(grp_name);
+			list = my_realloc(list, sizeof(char *) * (size_t) (j + 2)); /* one element more */
+			tmp_list = my_realloc(tmp_list, sizeof(char *) * (size_t) (j + 2));
+			++j;
+			grp_name[strlen(grp_name) - 2] = '\0';
 		}
-		free(list[j]); /* this copy isn't needed anymore */
-		list[j] = (char *) _(txt_all_groups);
+		free(grp_name);
+		list[j] = tmp_list[j] = my_strdup(_(txt_all_groups));
 
 		if ((i = get_choice(INDEX_TOP + 13, ptr_filter_help_scope, ptr_filter_scope, list, j + 1)) > 0)
-			my_strncpy(rule.scope, i == j ? "*" : list[i], sizeof(rule.scope) - 1);
+			rule.scope = my_strdup(i == j ? "*" : list[i]);
 
-		for (j--; j >= 0; j--)
-			free(list[j]);
+		while (j >= 0)
+			free(tmp_list[j--]);
+		free(tmp_list);
 		free(list);
 
 		if (i == -1) {
+			FreeIfNeeded(rule.text);
+			FreeIfNeeded(rule.scope);
 			free_filter_comment(rule.comment);
 			return FALSE;
 		}
 	} else {
+		FreeIfNeeded(rule.text);
 		free_filter_comment(rule.comment);
 		return FALSE;
 	}
@@ -1458,31 +1481,37 @@ filter_menu(
 
 		case FILTER_EDIT:
 			add_filter_rule(group, art, &rule, FALSE); /* save the rule */
+			FreeIfNeeded(rule.text);
+			FreeIfNeeded(rule.scope);
 			rule.comment = free_filter_comment(rule.comment);
 			if (!invoke_editor(filter_file, filter_file_offset, NULL))
 				return FALSE;
 			unfilter_articles(group);
 			(void) read_filter_file(filter_file);
 			return TRUE;
-			/* keep lint quiet: */
-			/* FALLTHROUGH */
+			/* NOTREACHED */
+			break;
 
 		case GLOBAL_QUIT:
 		case GLOBAL_ABORT:
+			FreeIfNeeded(rule.text);
+			FreeIfNeeded(rule.scope);
 			free_filter_comment(rule.comment);
 			return FALSE;
-			/* keep lint quiet: */
-			/* FALLTHROUGH */
+			/* NOTREACHED */
+			break;
 
 		case FILTER_SAVE:
 			/*
 			 * Add the filter rule and save it to the filter file
 			 */
 			ret = add_filter_rule(group, art, &rule, FALSE);
+			FreeIfNeeded(rule.text);
+			FreeIfNeeded(rule.scope);
 			free_filter_comment(rule.comment);
 			return ret;
-			/* keep lint quiet: */
-			/* FALLTHROUGH */
+			/* NOTREACHED */
+			break;
 
 		default:
 			break;
@@ -1502,7 +1531,7 @@ quick_filter(
 	struct t_group *group,
 	struct t_article *art)
 {
-	char *scope;
+	const char *scope;
 	char txt[LEN];
 	int header, expire;
 	struct t_filter_rule rule;
@@ -1513,26 +1542,24 @@ quick_filter(
 		expire = group->attribute->quick_kill_expire;
 		/* ON=case sensitive, OFF=ignore case -> invert */
 		icase = bool_not(group->attribute->quick_kill_case);
-		scope = group->attribute->quick_kill_scope;
+		scope = group->attribute->quick_kill_scope ? BlankIfNull(*group->attribute->quick_kill_scope) : "";
 	} else {	/* type == GLOBAL_QUICK_FILTER_SELECT */
 		header = group->attribute->quick_select_header;
 		expire = group->attribute->quick_select_expire;
 		/* ON=case sensitive, OFF=ignore case -> invert */
 		icase = bool_not(group->attribute->quick_select_case);
-		scope = group->attribute->quick_select_scope;
+		scope = group->attribute->quick_select_scope ? BlankIfNull(*group->attribute->quick_select_scope) : "";
 	}
 
 #ifdef DEBUG
 	if (debug & DEBUG_FILTER)
-		error_message(2, "%s header=[%d] scope=[%s] expire=[%s] case=[%c]", (type == GLOBAL_QUICK_FILTER_KILL) ? "KILL" : "SELECT", header, BlankIfNull(scope), txt_onoff[expire != FALSE ? 1 : 0], icase ? "I" : "C");
+		error_message(2, "%s header=[%d] scope=[%s] expire=[%s] case=[%c]", (type == GLOBAL_QUICK_FILTER_KILL) ? "KILL" : "SELECT", header, scope, txt_onoff[expire != FALSE ? 1 : 0], icase ? "I" : "C");
 #endif /* DEBUG */
 
 	/*
 	 * Setup rules
 	 */
-	if (strlen(BlankIfNull(scope)) > (sizeof(rule.scope) - 1))
-		return FALSE;
-	my_strncpy(rule.scope, BlankIfNull(scope), sizeof(rule.scope) - 1);
+	rule.scope = my_strdup(scope);
 	rule.counter = 0;
 	rule.lines_cmp = FILTER_LINES_NO;
 	rule.lines_num = 0;
@@ -1549,13 +1576,14 @@ quick_filter(
 		snprintf(txt, sizeof(txt), "%s%s%c%s%s%s", _(txt_filter_rule_created), "'", '[', "' (", _(txt_help_article_quick_select), ").");
 	rule.comment = add_filter_comment(NULL, txt);
 
-	rule.text[0] = '\0';
-	rule.icase = icase;
+	rule.text = NULL;
+	rule.icase = icase ? 1 : 0;
 	rule.expire_time = expire;
 	rule.check_string = TRUE;
 	rule.score = (type == GLOBAL_QUICK_FILTER_KILL) ? tinrc.score_kill : tinrc.score_select;
 
 	ret = add_filter_rule(group, art, &rule, TRUE);
+	free(rule.scope);
 	free_filter_comment(rule.comment);
 	return ret;
 }
@@ -1568,7 +1596,7 @@ quick_filter(
  */
 t_bool
 quick_filter_select_posted_art(
-	struct t_group *group,
+	const struct t_group *group,
 	const char *subj,
 	const char *a_message_id)	/* return value is always ignored */
 {
@@ -1579,13 +1607,6 @@ quick_filter_select_posted_art(
 		struct t_article art;
 		struct t_filter_rule rule;
 
-#ifdef __cplusplus /* keep C++ quiet */
-		rule.scope[0] = '\0';
-#endif /* __cplusplus */
-
-		if (strlen(group->name) > (sizeof(rule.scope) - 1)) /* groupname to long? */
-			return FALSE;
-
 		/*
 		 * Setup rules
 		 */
@@ -1597,13 +1618,14 @@ quick_filter_select_posted_art(
 		rule.msgid_ok = FALSE;
 		rule.fullref = FILTER_MSGID;
 		rule.subj_ok = TRUE;
-		rule.text[0] = '\0';
+		rule.text = NULL;
+		rule.scope = NULL;
 		rule.icase = FALSE;
 		rule.expire_time = TRUE;
 		rule.check_string = TRUE;
 		rule.score = tinrc.score_select;
 
-		strcpy(rule.scope, group->name);
+		rule.scope = my_strdup(group->name);
 
 		/* create an auto-comment. */
 		snprintf(txt, sizeof(txt), "%s%s", _(txt_filter_rule_created), "add_posted_to_filter=ON.");
@@ -1642,6 +1664,7 @@ quick_filter_select_posted_art(
 			filtered = add_filter_rule(group, &art, &rule, FALSE);
 			FreeIfNeeded(art.subject);
 		}
+		free(rule.scope);
 		rule.comment = free_filter_comment(rule.comment);
 	}
 	return filtered;
@@ -1653,7 +1676,7 @@ quick_filter_select_posted_art(
  */
 static t_bool
 add_filter_rule(
-	struct t_group *group,
+	const struct t_group *group,
 	struct t_article *art,
 	struct t_filter_rule *rule,
 	t_bool quick_filter_rule)
@@ -1689,7 +1712,7 @@ add_filter_rule(
 	if (rule->comment != NULL)
 		ptr[i].comment = copy_filter_comment(rule->comment, ptr[i].comment);
 
-	if (rule->scope[0] == '\0') /* replace empty scope with current group name */
+	if (!rule->scope || !*rule->scope) /* replace empty scope with current group name */
 		ptr[i].scope = my_strdup(group->name);
 	else {
 		if ((rule->scope[0] != '*') && (rule->scope[1] != '\0')) /* copy non-global scope */
@@ -1716,7 +1739,7 @@ add_filter_rule(
 	}
 
 	ptr[i].icase = rule->icase;
-	if (*rule->text) {
+	if (rule->text && *rule->text) {
 		snprintf(acbuf, sizeof(acbuf), REGEX_FMT, quote_wild_whitespace(rule->text));
 
 		switch (rule->counter) {
@@ -1756,7 +1779,7 @@ add_filter_rule(
 			ptr[i].subj = my_strdup(acbuf);
 		}
 		if (rule->from_ok) {
-			STRCPY(sbuf, art->from);
+			STRCPY(sbuf, art->mailbox.from);
 			snprintf(acbuf, sizeof(acbuf), REGEX_FMT, quote_wild(sbuf));
 			ptr[i].from = my_strdup(acbuf);
 		}
@@ -1858,7 +1881,7 @@ filter_articles(
 	struct regex_cache *regex_cache_path = NULL;
 	t_bool filtered = FALSE;
 	t_bool error = FALSE;
-	t_bool use_regex = tinrc.wildcard;
+	t_bool use_regex = tinrc.wildcard ? TRUE : FALSE;
 
 	/*
 	 * check if there are any global filter rules
@@ -1884,9 +1907,8 @@ filter_articles(
 	 * (only for regexp matching)
 	 */
 	if (use_regex) {
-		size_t msiz;
+		size_t msiz = sizeof(struct regex_cache) * (size_t) num;
 
-		msiz = sizeof(struct regex_cache) * (size_t) num;
 		regex_cache_subj = my_malloc(msiz);
 		regex_cache_from = my_malloc(msiz);
 		regex_cache_msgid = my_malloc(msiz);
@@ -1937,12 +1959,15 @@ filter_articles(
 
 				/*
 				 * Filter on From: line
+				 *
+				 * TODO: switch to angle-addr format (RFC 5322 3.4)
+				 *       as that is what we use elsewhere?
 				 */
 				if (ptr[j].from != NULL) {
-					if (arts[i].name != NULL)
-						snprintf(buf, sizeof(buf), "%s (%s)", arts[i].from, arts[i].name);
+					if (arts[i].mailbox.name != NULL)
+						snprintf(buf, sizeof(buf), "%s (%s)", arts[i].mailbox.from, arts[i].mailbox.name);
 					else
-						STRCPY(buf, arts[i].from);
+						STRCPY(buf, arts[i].mailbox.from);
 
 					switch (test_match(buf, ptr[j].from, ptr[j].icase, use_regex, &regex_cache_from[j])) {
 						case 1:
@@ -1966,8 +1991,8 @@ filter_articles(
 				 */
 				if (ptr[j].msgid != NULL) {
 					char *refs = NULL;
-					const char *myrefs = NULL;
-					const char *mymsgid = NULL;
+					const char *myrefs;
+					const char *mymsgid;
 					int x;
 					struct t_article *art = &arts[i];
 					/*
@@ -2061,22 +2086,22 @@ filter_articles(
 				/*
 				 * Filter on GNKSA code
 				 */
-				if ((ptr[j].gnksa_cmp != FILTER_LINES_NO) && (arts[i].gnksa_code >= 0)) {
+				if ((ptr[j].gnksa_cmp != FILTER_LINES_NO) && (arts[i].mailbox.gnksa_code >= 0)) {
 					switch (ptr[j].gnksa_cmp) {
 						case FILTER_LINES_EQ:
-							if (arts[i].gnksa_code == ptr[j].gnksa_num) {
+							if (arts[i].mailbox.gnksa_code == ptr[j].gnksa_num) {
 								SET_FILTER(group, i, j);
 							}
 							break;
 
 						case FILTER_LINES_LT:
-							if (arts[i].gnksa_code < ptr[j].gnksa_num) {
+							if (arts[i].mailbox.gnksa_code < ptr[j].gnksa_num) {
 								SET_FILTER(group, i, j);
 							}
 							break;
 
 						case FILTER_LINES_GT:
-							if (arts[i].gnksa_code > ptr[j].gnksa_num) {
+							if (arts[i].mailbox.gnksa_code > ptr[j].gnksa_num) {
 								SET_FILTER(group, i, j);
 							}
 							break;
@@ -2100,10 +2125,10 @@ filter_articles(
 
 						s = arts[i].xref;
 						if (strchr(s, ' ') || strchr(s, '\t')) {
-							while (*s && !isspace((int) *s))	/* skip server name */
-								s++;
-							while (*s && isspace((int) *s))
-								s++;
+							while (*s && !isspace((unsigned char) *s))	/* skip server name */
+								++s;
+							while (*s && isspace((unsigned char) *s))
+								++s;
 						}
 #ifdef DEBUG
 						else { /* server name missing in overview, i.e. colobus 2.1 */
@@ -2121,11 +2146,20 @@ filter_articles(
 									*e++ = ',';
 									skip = TRUE;
 								}
-								if (!skip && *s != ':' && !isspace((int) *s))
+								if (!skip && *s != ':' && !isspace((unsigned char) *s))
 									*e++ = *s;
-								if (isspace((int) *s))
+								if (isspace((unsigned char) *s))
 									skip = FALSE;
-								s++;
+								++s;
+							}
+							if (e == k) {
+#ifdef DEBUG
+								if (debug & DEBUG_FILTER)
+									debug_print_file("FILTER", _(txt_filter_error_skipping_xref_filter));
+#endif /* DEBUG */
+								error = TRUE;
+								free(k);
+								break;
 							}
 							*--e = '\0';
 						} else {
@@ -2212,7 +2246,7 @@ filter_articles(
 					arts[i].killed = ART_KILLED;
 				filtered = TRUE;
 				art_mark(group, &arts[i], ART_READ);
-				if (group->attribute->show_only_unread_arts)
+				if (group->attribute && group->attribute->show_only_unread_arts)
 					arts[i].keep_in_base = FALSE;
 			} else if (arts[i].score >= tinrc.score_limit_select) {
 				arts[i].selected = TRUE;
@@ -2235,7 +2269,7 @@ filter_on_path(
 	struct t_group *group)
 {
 	int i;
-	struct t_filter *flt;
+	const struct t_filter *flt;
 	t_bool ret = FALSE;
 
 	if (group->glob_filter->num == 0)
@@ -2269,7 +2303,7 @@ set_filter_scope(
 		if (ptr[i].scope != NULL) {
 			if (!match_group_list(group->name, ptr[i].scope)) {
 				ptr[i].inscope = FALSE;
-				inscope--;
+				--inscope;
 			}
 		}
 	}
@@ -2292,7 +2326,7 @@ open_xhdr_fp(
 	if (read_news_via_nntp && !read_saved_news && nntp_caps.hdr_cmd) {
 		char buf[NNTP_STRLEN];
 
-		snprintf(buf, sizeof(buf), "%s %s %"T_ARTNUM_PFMT,"-%"T_ARTNUM_PFMT,, nntp_caps.hdr_cmd, header, min, max);
+		snprintf(buf, sizeof(buf), "%s %s %"T_ARTNUM_PFMT, "-%"T_ARTNUM_PFMT, nntp_caps.hdr_cmd, header, min, max);
 		return (nntp_command(buf, OK_HEAD, NULL, 0));
 	} else
 #	endif /* NNTP_ABLE */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/getline.c tin-2.6.4/src/getline.c
--- tin-2.6.3/src/getline.c	2022-12-09 10:03:48.000000000 +0100
+++ tin-2.6.4/src/getline.c	2024-11-25 20:40:37.507793945 +0100
@@ -3,7 +3,7 @@
  *  Module    : getline.c
  *  Author    : Chris Thewalt & Iain Lea
  *  Created   : 1991-11-09
- *  Updated   : 2021-02-23
+ *  Updated   : 2024-09-20
  *  Notes     : emacs style line editing input package.
  *  Copyright : (c) Copyright 1991-99 by Chris Thewalt & Iain Lea
  *              Permission to use, copy, modify, and distribute this
@@ -22,7 +22,6 @@
 #	include "tcurses.h"
 #endif /* !TCURSES_H */
 
-#define BUF_SIZE	1024
 #define TAB_SIZE		4
 
 #define CTRL_A	'\001'
@@ -72,12 +71,12 @@ static void hist_next(int w);
 static void hist_prev(int w);
 
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-	static int (*gl_in_hook) (wchar_t *) = 0;
-	static int (*gl_out_hook) (wchar_t *) = 0;
+	static int (*gl_in_hook) (wchar_t *) = NULL;
+	static int (*gl_out_hook) (wchar_t *) = NULL;
 	static int (*gl_tab_hook) (wchar_t *, int, int *) = gl_tab;
 #else
-	static int (*gl_in_hook) (char *) = 0;
-	static int (*gl_out_hook) (char *) = 0;
+	static int (*gl_in_hook) (char *) = NULL;
+	static int (*gl_out_hook) (char *) = NULL;
 	static int (*gl_tab_hook) (char *, int, int *) = gl_tab;
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
@@ -474,15 +473,15 @@ gl_kill_back_word(
 		;
 #else
 	/* delete spaces */
-	for (i = gl_pos - 1; i >= 0 && isspace((int) gl_buf[i]); --i)
+	for (i = gl_pos - 1; i >= 0 && isspace((unsigned char) gl_buf[i]); --i)
 		;
 
 	/* delete not alnum characters but graph characters */
-	for (; i >= 0 && isgraph((int) gl_buf[i]) && !isalnum((int) gl_buf[i]); --i)
+	for (; i >= 0 && isgraph((unsigned char) gl_buf[i]) && !isalnum((unsigned char) gl_buf[i]); --i)
 		;
 
 	/* delete all graph characters except '/' */
-	for (; i >= 0 && gl_buf[i] != '/' && isgraph((int) gl_buf[i]); --i)
+	for (; i >= 0 && gl_buf[i] != '/' && isgraph((unsigned char) gl_buf[i]); --i)
 		;
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
@@ -656,16 +655,15 @@ gl_tab(
 {
 	int i, count, len;
 
+	count = TAB_SIZE - (offset + *loc) % TAB_SIZE;
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 	len = (int) wcslen(wbuf);
-	count = TAB_SIZE - (offset + *loc) % TAB_SIZE;
 	for (i = len; i >= *loc; i--)
 		wbuf[i + count] = wbuf[i];
 	for (i = 0; i < count; i++)
 		wbuf[*loc + i] = (wchar_t) ' ';
 #else
 	len = (int) strlen(buf);
-	count = TAB_SIZE - (offset + *loc) % TAB_SIZE;
 	for (i = len; i >= *loc; i--)
 		buf[i + count] = buf[i];
 	for (i = 0; i < count; i++)
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/global.c tin-2.6.4/src/global.c
--- tin-2.6.3/src/global.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/global.c	2024-11-25 20:40:37.511794103 +0100
@@ -3,10 +3,10 @@
  *  Module    : global.c
  *  Author    : Jason Faultless <jason@altarstone.com>
  *  Created   : 1999-12-12
- *  Updated   : 2021-02-23
+ *  Updated   : 2024-10-17
  *  Notes     : Generic navigation and key handling routines
  *
- * Copyright (c) 1999-2024 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 1999-2025 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -130,13 +130,12 @@ void
 page_up(
 	void)
 {
-	int scroll_lines;
-
 	if (!currmenu->max)
 		return;
 
 	if (currmenu->curr == currmenu->first) {
-		scroll_lines = (tinrc.scroll_lines == -2) ? NOTESLINES / 2 : NOTESLINES;
+		int scroll_lines = (tinrc.scroll_lines == -2) ? NOTESLINES / 2 : NOTESLINES;
+
 		if (currmenu->first == 0) {
 			/* wrap around */
 			currmenu->first = MAX(0, currmenu->max - scroll_lines);
@@ -155,8 +154,6 @@ void
 page_down(
 	void)
 {
-	int scroll_lines;
-
 	if (!currmenu->max)
 		return;
 
@@ -166,7 +163,8 @@ page_down(
 		currmenu->curr = 0;
 		currmenu->redraw();
 	} else {
-		scroll_lines = (tinrc.scroll_lines == -2) ? NOTESLINES / 2 : NOTESLINES;
+		int scroll_lines = (tinrc.scroll_lines == -2) ? NOTESLINES / 2 : NOTESLINES;
+
 		if (currmenu->first + scroll_lines >= currmenu->max)
 			move_to_item(currmenu->max - 1);
 		else {
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/group.c tin-2.6.4/src/group.c
--- tin-2.6.3/src/group.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/group.c	2024-12-03 09:29:39.512778544 +0100
@@ -3,10 +3,10 @@
  *  Module    : group.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2023-11-24
+ *  Updated   : 2024-12-02
  *  Notes     :
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -61,7 +61,7 @@ static struct t_fmt grp_fmt;
 static int do_search(t_function func, t_bool repeat);
 static int enter_pager(int art, t_bool ignore_unavail);
 static int enter_thread(int depth, t_pagerinfo *page);
-static int find_new_pos(long old_artnum, int cur_pos);
+static int find_new_pos(t_artnum old_artnum, int cur_pos);
 static int group_catchup(t_function func);
 static int tab_pressed(void);
 static t_bool prompt_getart_limit(void);
@@ -337,7 +337,7 @@ group_page(
 
 			case GROUP_CANCEL:	/* cancel current basenote */
 				if (grpmenu.curr >= 0) {
-					if (can_post || group->attribute->mailing_list != NULL) {
+					if (can_post || (group->attribute->mailing_list && *group->attribute->mailing_list)) {
 						n = (int) base[grpmenu.curr];
 						ii = art_open(TRUE, &arts[n], group, &pgart, TRUE, _(txt_reading_article));
 						if (ii != ART_UNAVAILABLE && ii != ART_ABORT && cancel_article(group, &arts[n], n))
@@ -469,6 +469,7 @@ group_page(
 
 			case GLOBAL_TOGGLE_INVERSE_VIDEO:		/* toggle inverse video */
 				toggle_inverse_video();
+				need_parse_fmt |= GROUP_LEVEL;
 				show_group_page();
 				show_inverse_video_status();
 				break;
@@ -599,7 +600,7 @@ group_page(
 					 * tinrc.getart_limit
 					 */
 					if (cmdline.args & CMDLINE_GETART_LIMIT)
-						cmdline.args &= ~CMDLINE_GETART_LIMIT;
+						cmdline.args ^= CMDLINE_GETART_LIMIT;
 					ret_code = GRP_NEXTUNREAD;
 				}
 				break;
@@ -610,9 +611,9 @@ group_page(
 
 			case GROUP_TAG_PARTS: /* tag all in order */
 				if (0 <= grpmenu.curr) {
-					int old_num = num_of_tagged_arts;
-
 					if (tag_multipart((int) base[grpmenu.curr]) != 0) {
+						int old_num = num_of_tagged_arts;
+
 						/*
 						 * on success, move the pointer to the next
 						 * untagged article just for ease of use's sake
@@ -620,7 +621,7 @@ group_page(
 						n = grpmenu.curr;
 						update_group_page();
 						do {
-							n++;
+							++n;
 							n %= grpmenu.max;
 							if (arts[base[n]].tagged == 0) {
 								move_to_item(n);
@@ -693,7 +694,7 @@ group_page(
 						stat_thread(grpmenu.curr, &sbuf);
 						mark[0] = sbuf.art_mark;
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-						mark_screen(grpmenu.curr, mark_offset - (3 - art_mark_width), L"   "); /* clear space used by tag numbering */
+						mark_screen(grpmenu.curr, mark_offset - (3 - art_mark_width), (const wchar_t *) L"   "); /* clear space used by tag numbering */
 						mark_screen(grpmenu.curr, mark_offset + (art_mark_width - wcwidth(mark[0])), mark);
 #else
 						mark_screen(grpmenu.curr, mark_offset - 2, "  "); /* clear space used by tag numbering */
@@ -709,7 +710,6 @@ group_page(
 						draw_subject_arrow();
 
 					info_message(tagged ? _(txt_prefix_untagged) : _(txt_prefix_tagged), txt_thread_singular);
-
 				}
 				break;
 
@@ -862,15 +862,18 @@ group_page(
 
 			case GROUP_SELECT_PATTERN:	/* select matching patterns */
 				if (grpmenu.curr >= 0) {
-					char pat[128];
+					char pat[LEN];
 					char *prompt;
+					char *spat;
 					struct regex_cache cache = REGEX_CACHE_INITIALIZER;
 
-					prompt = fmt_string(_(txt_select_pattern), tinrc.default_select_pattern);
-					if (!(prompt_string_default(prompt, tinrc.default_select_pattern, _(txt_info_no_previous_expression), HIST_SELECT_PATTERN))) {
+					prompt = fmt_string(_(txt_select_pattern), BlankIfNull(tinrc.default_select_pattern));
+					if (!(spat = prompt_string_default(prompt, tinrc.default_select_pattern, _(txt_info_no_previous_expression), HIST_SELECT_PATTERN))) {
+						FreeIfNeeded(spat);
 						free(prompt);
 						break;
 					}
+					tinrc.default_select_pattern = spat;
 					free(prompt);
 
 					if (STRCMPEQ(tinrc.default_select_pattern, "*")) {	/* all */
@@ -952,6 +955,9 @@ group_page(
 
 	art_close(&pgart);				/* Close any open art */
 
+	FreeAndNull(grp_fmt.str);
+	FreeAndNull(grp_fmt.date_str);
+
 	curr_group = NULL;
 
 	return ret_code;
@@ -967,10 +973,14 @@ show_group_page(
 	signal_context = cGroup;
 	currmenu = &grpmenu;
 
+	if (!grp_fmt.str || (need_parse_fmt & GROUP_LEVEL)) {
+		parse_format_string(curr_group->attribute->group_format ? BlankIfNull(*curr_group->attribute->group_format) : "", &grp_fmt);
+		need_parse_fmt &= ~GROUP_LEVEL;
+		mark_offset = 0;
+	}
+
 	ClearScreen();
 	set_first_screen_item();
-	parse_format_string(curr_group->attribute->group_format, &grp_fmt);
-	mark_offset = 0;
 	show_group_title(FALSE);
 
 	for (i = grpmenu.first; i < grpmenu.first + NOTESLINES && i < grpmenu.max; ++i)
@@ -1014,7 +1024,7 @@ update_group_page(
 			stat_thread(i, &sbuf);
 			mark[0] = sbuf.art_mark;
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-			mark_screen(i, mark_offset - (3 - art_mark_width), L"   ");	/* clear space used by tag numbering */
+			mark_screen(i, mark_offset - (3 - art_mark_width), (const wchar_t *) L"   ");	/* clear space used by tag numbering */
 			mark_screen(i, mark_offset + (art_mark_width - wcwidth(mark[0])), mark);
 #else
 			mark_screen(i, mark_offset - 2, "  ");	/* clear space used by tag numbering */
@@ -1044,7 +1054,7 @@ draw_subject_arrow(
 
 		stat_thread(grpmenu.curr, &statbuf);
 		if (!statbuf.unread || (n = next_unread((int) base[grpmenu.curr])) == -1)
-			n = base[grpmenu.curr];
+			n = (int) base[grpmenu.curr];
 		info_message("%s", arts[n].subject);
 	} else if (grpmenu.curr == grpmenu.max - 1)
 		info_message(_(txt_end_of_arts));
@@ -1114,7 +1124,7 @@ toggle_read_unread(
  */
 static int
 find_new_pos(
-	long old_artnum,
+	t_artnum old_artnum,
 	int cur_pos)
 {
 	int i, pos;
@@ -1157,7 +1167,6 @@ mark_screen(
 	const char *value)
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 {
-
 	if (tinrc.draw_arrow) {
 		MoveCursor(INDEX2LNUM(screen_row), screen_col);
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
@@ -1268,9 +1277,9 @@ build_sline(
 	 * make it the same size like in !USE_CURSES case to simplify the code
 	 */
 #	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-		buffer = my_malloc(cCOLS * MB_CUR_MAX + 2);
+		buffer = my_malloc((size_t) cCOLS * MB_CUR_MAX + 2);
 #	else
-		buffer = my_malloc(cCOLS + 2);
+		buffer = my_malloc((size_t) cCOLS + 2);
 #	endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 #else
 	buffer = screen[INDEX2SNUM(i)].col;
@@ -1310,11 +1319,11 @@ build_sline(
 				if (my_strftime(buf, LEN - 1, grp_fmt.date_str, localtime((const time_t *) &arts[j].date))) {
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 					if ((wtmp = char2wchar_t(buf)) != NULL) {
-						wtmp2 = wcspart(wtmp, (int) grp_fmt.len_date_max, TRUE);
+						wtmp2 = wcspart(wtmp, grp_fmt.len_date_max, TRUE);
+						free(wtmp);
 						if (wcstombs(tmp, wtmp2, sizeof(tmp) - 1) != (size_t) -1)
 							strcat(buffer, tmp);
 
-						free(wtmp);
 						free(wtmp2);
 					}
 #else
@@ -1330,13 +1339,14 @@ build_sline(
 					get_author(FALSE, &arts[j], tmp, sizeof(tmp) - 1);
 
 					if ((wtmp = char2wchar_t(tmp)) != NULL) {
-						wtmp2 = wcspart(wtmp, (int) grp_fmt.len_from, TRUE);
-						if (wcstombs(tmp, wtmp2, sizeof(tmp) - 1) != (size_t) -1)
-							strcat(buffer, tmp);
-
+						wtmp2 = wcspart(wtmp, grp_fmt.len_from, TRUE);
 						free(wtmp);
-						free(wtmp2);
-					}
+					} else
+						wtmp2 = wcspart(L"", grp_fmt.len_from, TRUE);
+					if (wcstombs(tmp, wtmp2, sizeof(tmp) - 1) != (size_t) -1)
+						strcat(buffer, tmp);
+
+					free(wtmp2);
 #else
 					len_start = strwidth(buffer);
 					get_author(FALSE, &arts[j], buffer + strlen(buffer), grp_fmt.len_from);
@@ -1363,7 +1373,7 @@ build_sline(
 
 			case 'L':	/* lines */
 				if (arts[j].line_count != -1)
-					strcat(buffer, tin_ltoa(arts[j].line_count, (int) grp_fmt.len_linecnt));
+					strcat(buffer, tin_ltoa(arts[j].line_count, grp_fmt.len_linecnt));
 				else {
 					buf = buffer + strlen(buffer);
 					for (k = (int) grp_fmt.len_linecnt; k > 1; --k)
@@ -1385,7 +1395,7 @@ build_sline(
 					tagged = TRUE;
 				} else
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-					snprintf(tmp_buf, sizeof(tmp_buf), "%s%lc", art_mark_width > wcwidth(sbuf.art_mark) ? "   " : "  ", sbuf.art_mark);
+					snprintf(tmp_buf, sizeof(tmp_buf), "%s%"T_CHAR_FMT, art_mark_width > wcwidth(sbuf.art_mark) ? "   " : "  ", (wint_t) sbuf.art_mark);
 #else
 					snprintf(tmp_buf, sizeof(tmp_buf), "  %c", sbuf.art_mark);
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
@@ -1406,13 +1416,13 @@ build_sline(
 				break;
 
 			case 'n':
-				strcat(buffer, tin_ltoa(i + 1, (int) grp_fmt.len_linenumber));
+				strcat(buffer, tin_ltoa(i + 1, grp_fmt.len_linenumber));
 				break;
 
 			case 'R':
 				n = ((curr_group->attribute->show_only_unread_arts) ? (sbuf.unread + sbuf.seen) : sbuf.total);
 				if (n > 1)
-					strcat(buffer, tin_ltoa(n, (int) grp_fmt.len_respcnt));
+					strcat(buffer, tin_ltoa(n, grp_fmt.len_respcnt));
 				else {
 					buf = buffer + strlen(buffer);
 					for (k = (int) grp_fmt.len_respcnt; k > 0; --k)
@@ -1422,7 +1432,7 @@ build_sline(
 				break;
 
 			case 'S':	/* score */
-				strcat(buffer, tin_ltoa(sbuf.score, (int) grp_fmt.len_score));
+				strcat(buffer, tin_ltoa(sbuf.score, grp_fmt.len_score));
 				break;
 
 			case 's':	/* thread/subject */
@@ -1435,13 +1445,15 @@ build_sline(
 
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 				if ((wtmp = char2wchar_t(arts_sub)) != NULL) {
-					wtmp2 = wcspart(wtmp, (int) len, TRUE);
-					if (wcstombs(tmp, wtmp2, sizeof(tmp) - 1) != (size_t) -1)
-						strcat(buffer, tmp);
-
+					wtmp2 = wcspart(wtmp, len, TRUE);
 					free(wtmp);
-					free(wtmp2);
-				}
+				} else
+					wtmp2 = wcspart(L"", len, TRUE);
+
+				if (wcstombs(tmp, wtmp2, sizeof(tmp) - 1) != (size_t) -1)
+					strcat(buffer, tmp);
+
+				free(wtmp2);
 #else
 				len_start = strwidth(buffer);
 				strncat(buffer, arts_sub, len);
@@ -1492,25 +1504,25 @@ show_group_title(
 
 		if (curr_group->attribute->show_only_unread_arts) {
 			if (arts[i].status != ART_READ) {
-				art_cnt++;
+				++art_cnt;
 				if (tinrc.recent_time && ((time((time_t *) 0) - arts[i].date) < (tinrc.recent_time * DAY)))
-					recent_art_cnt++;
+					++recent_art_cnt;
 			}
 			if (arts[i].killed == ART_KILLED_UNREAD)
-				killed_art_cnt++;
+				++killed_art_cnt;
 		} else {
-			art_cnt++;
+			++art_cnt;
 			if (tinrc.recent_time && ((time((time_t *) 0) - arts[i].date) < (tinrc.recent_time * DAY)))
-				recent_art_cnt++;
+				++recent_art_cnt;
 
 			if (arts[i].killed)
-				killed_art_cnt++;
+				++killed_art_cnt;
 		}
 		if (arts[i].selected) {
 			if (arts[i].status != ART_READ)
-				selected_art_cnt++;
+				++selected_art_cnt;
 			else
-				read_selected_art_cnt++;
+				++read_selected_art_cnt;
 		}
 	}
 
@@ -1525,29 +1537,29 @@ show_group_title(
 	if ((cmdline.args & CMDLINE_GETART_LIMIT) ? cmdline.getart_limit : tinrc.getart_limit)
 		snprintf(tmp, sizeof(tmp), " %d/%d%"T_CHAR_FMT,
 			(cmdline.args & CMDLINE_GETART_LIMIT) ? cmdline.getart_limit : tinrc.getart_limit, art_cnt,
-			(curr_group->attribute->show_only_unread_arts ? tinrc.art_marked_unread : tinrc.art_marked_read));
+			(wint_t) (curr_group->attribute->show_only_unread_arts ? tinrc.art_marked_unread : tinrc.art_marked_read));
 	else
 		snprintf(tmp, sizeof(tmp), " %d%"T_CHAR_FMT,
 			art_cnt,
-			(curr_group->attribute->show_only_unread_arts ? tinrc.art_marked_unread : tinrc.art_marked_read));
+			(wint_t) (curr_group->attribute->show_only_unread_arts ? tinrc.art_marked_unread : tinrc.art_marked_read));
 	if (sizeof(buf) > strlen(buf) + strlen(tmp))
 		strcat(buf, tmp);
 
 	/* selected articles */
 	if (curr_group->attribute->show_only_unread_arts)
 		snprintf(tmp, sizeof(tmp), " %d%"T_CHAR_FMT,
-			selected_art_cnt, tinrc.art_marked_selected);
+			selected_art_cnt, (wint_t) tinrc.art_marked_selected);
 	else
 		snprintf(tmp, sizeof(tmp), " %d%"T_CHAR_FMT" %d%"T_CHAR_FMT,
-			selected_art_cnt, tinrc.art_marked_selected,
-			read_selected_art_cnt, tinrc.art_marked_read_selected);
+			selected_art_cnt, (wint_t) tinrc.art_marked_selected,
+			read_selected_art_cnt, (wint_t) tinrc.art_marked_read_selected);
 	if (sizeof(buf) > strlen(buf) + strlen(tmp))
 		strcat(buf, tmp);
 
 	/* recent articles */
 	if (tinrc.recent_time) {
 		snprintf(tmp, sizeof(tmp), " %d%"T_CHAR_FMT,
-			recent_art_cnt, tinrc.art_marked_recent);
+			recent_art_cnt, (wint_t) tinrc.art_marked_recent);
 
 		if (sizeof(buf) > strlen(buf) + strlen(tmp))
 			strcat(buf, tmp);
@@ -1555,7 +1567,7 @@ show_group_title(
 
 	/* killed articles */
 	snprintf(tmp, sizeof(tmp), " %d%"T_CHAR_FMT,
-		killed_art_cnt, tinrc.art_marked_killed);
+		killed_art_cnt, (wint_t) tinrc.art_marked_killed);
 
 	if (sizeof(buf) > strlen(buf) + strlen(tmp))
 		strcat(buf, tmp);
@@ -1585,6 +1597,8 @@ show_group_title(
 	} else
 		len = cCOLS - strwidth(buf) - 2;
 
+	if (len < 0)
+		len = 0;
 	/* group name */
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 	if ((wtmp = char2wchar_t(curr_group->name)) != NULL) {
@@ -1592,8 +1606,8 @@ show_group_title(
 			wtmp2 = abbr_wcsgroupname(wtmp, len);
 		else
 			wtmp2 = wstrunc(wtmp, len);
-		grpname = wchar_t2char(wtmp2);
 		free(wtmp);
+		grpname = wchar_t2char(wtmp2);
 		free(wtmp2);
 		if (grpname) {
 			STRCPY(tmp, grpname);
@@ -1802,13 +1816,9 @@ group_catchup(
 
 				case 1:						/* We caught up - advance group */
 					return GRP_NEXT;
-					/* NOTREACHED */
-					break;
 
 				default:					/* Just leave the group */
 					return GRP_EXIT;
-					/* NOTREACHED */
-					break;
 			}
 			/* FALLTHROUGH */
 		default:							/* Should not be here */
@@ -1827,8 +1837,9 @@ prompt_getart_limit(
 
 	clear_message();
 	if ((p = tin_getline(_(txt_enter_getart_limit), 2, NULL, 0, FALSE, HIST_OTHER)) != NULL) {
-		tinrc.getart_limit = atoi(p);
-		ret = TRUE;
+		tinrc.getart_limit = s2i(p, INT_MIN, INT_MAX);
+		if (!errno)
+			ret = TRUE;
 	}
 	clear_message();
 	return ret;
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/hashstr.c tin-2.6.4/src/hashstr.c
--- tin-2.6.3/src/hashstr.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/hashstr.c	2024-11-25 20:40:37.527794736 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2020-05-13
  *  Notes     :
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
 
  * All rights reserved.
  *
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/header.c tin-2.6.4/src/header.c
--- tin-2.6.3/src/header.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/header.c	2024-12-15 14:01:15.190747571 +0100
@@ -3,9 +3,9 @@
  *  Module    : header.c
  *  Author    : Urs Janssen <urs@tin.org>
  *  Created   : 1997-03-10
- *  Updated   : 2023-12-06
+ *  Updated   : 2024-12-15
  *
- * Copyright (c) 1997-2024 Urs Janssen <urs@tin.org>
+ * Copyright (c) 1997-2025 Urs Janssen <urs@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,7 +44,6 @@
 #endif /* !TNNTP_H */
 
 static const char *get_full_name(void);
-static const char *get_user_name(void);
 
 
 /* find hostname */
@@ -52,7 +51,7 @@ const char *
 get_host_name(
 	void)
 {
-	char *ptr;
+	const char *ptr;
 	static char hostname[MAXHOSTNAMELEN + 1]; /* need space for '\0' */
 
 	hostname[0] = '\0';
@@ -65,14 +64,11 @@ get_host_name(
 		my_strncpy(hostname, system_info.nodename, sizeof(hostname) - 1);
 #endif /* HAVE_SYS_UTSNAME_H */
 	if (!*hostname) {
-		if ((ptr = getenv("HOST")) != NULL)
+		ptr = get_val("HOST", get_val("HOSTNAME", ""));
+		if (*ptr)
 			my_strncpy(hostname, ptr, sizeof(hostname) - 1);
-		else {
-			if ((ptr = getenv("HOSTNAME")) != NULL)
-				my_strncpy(hostname, ptr, sizeof(hostname) - 1);
-			else
-				hostname[0] = '\0';
-		}
+		else
+			hostname[0] = '\0';
 	}
 	hostname[MAXHOSTNAMELEN] = '\0';
 	return hostname;
@@ -100,7 +96,7 @@ get_domain_name(
 
 	if (domain[0] == '/' && domain[1]) {
 		/* read domainname from specified file */
-		if ((fp = fopen(domain, "r")) != NULL) {
+		if ((fp = tin_fopen(domain, "r")) != NULL) {
 			while (fgets(buff, (int) sizeof(buff), fp) != NULL) {
 				if (buff[0] == '#' || buff[0] == '\n')
 					continue;
@@ -110,10 +106,10 @@ get_domain_name(
 					strcpy(domain, buff);
 				}
 			}
+			fclose(fp);
+			str_trim(domain);
 			if (domain[0] == '/')	/* '/' is not allowed in domainames -> file was empty */
 				domain[0] = '\0';
-
-			fclose(fp);
 		} else
 			domain[0] = '\0';
 	}
@@ -125,7 +121,7 @@ get_domain_name(
 
 #ifdef HAVE_GETHOSTBYNAME
 #	define MAXLINELEN	1024
-#	define WS	" \f\t\v"
+#	define WSP	" \f\t\v"
 /* find FQDN - gethostbyaddr() */
 const char *
 get_fqdn(
@@ -136,7 +132,7 @@ get_fqdn(
 	char name[MAXHOSTNAMELEN + 1];
 	static char fqdn[1024];
 	struct hostent *hp;
-	struct in_addr in = {0};
+	struct in_addr in = { 0 };
 
 	*fqdn = '\0';
 	domain = NULL;
@@ -153,6 +149,7 @@ get_fqdn(
 			return NULL;
 	}
 
+	/* FIXME: this does not do IPv6 only */
 #	ifdef HAVE_INET_ADDR
 	if (*name >= '0' && *name <= '9') {
 		in_addr_t addr = inet_addr(name);
@@ -164,9 +161,17 @@ get_fqdn(
 			in.s_addr = (*hp->h_addr);
 #		endif /* HAVE_HOSTENT_H_ADDR_LIST */
 		}
-		return (hp && strchr(hp->h_name, '.') ? hp->h_name : inet_ntoa(in));
+		return (
+			hp && strchr(hp->h_name, '.') ? hp->h_name :
+#		ifdef HAVE_INET_NTOA
+			inet_ntoa(in)
+#		else
+			""
+#		endif /* HAVE_INET_NTOA */
+			);
 	}
 #	endif /* HAVE_INET_ADDR */
+
 	if ((hp = gethostbyname(name)) && !strchr(hp->h_name, '.')) {
 #	ifdef HAVE_HOSTENT_H_ADDR_LIST
 		if ((hp = gethostbyaddr(hp->h_addr_list[0], hp->h_length, hp->h_addrtype)))
@@ -178,15 +183,20 @@ get_fqdn(
 	}
 	snprintf(fqdn, sizeof(fqdn), "%s", hp
 		? strchr(hp->h_name, '.')
-			? hp->h_name : inet_ntoa(in)
+			? hp->h_name :
+#	ifdef HAVE_INET_NTOA
+			inet_ntoa(in)
+#	else
+			""
+#	endif /* HAVE_INET_NTOA */
 		: "");
 
-	if (!*fqdn || (fqdn[strlen(fqdn) - 1] <= '9')) {
+	if (!*fqdn || (fqdn[strlen(fqdn) - 1] <= '9')) { /* see FIXME above about IPv6 */
 		FILE *inf;
 
 		*fqdn = '\0';
 
-		if ((inf = fopen("/etc/resolv.conf", "r")) != NULL) {
+		if ((inf = tin_fopen("/etc/resolv.conf", "r")) != NULL) {
 			char *eos;
 			int j;
 
@@ -196,10 +206,10 @@ get_fqdn(
 
 				line[MAXLINELEN] = '\0';
 
-				if ((eos = strpbrk(line, WS)) != NULL) {
+				if ((eos = strpbrk(line, WSP)) != NULL) {
 					if ((j = (int) (eos - line))) {
 						if (!strncmp(line, "domain", (size_t) j) || !strncmp(line, "search", (size_t) j)) {
-							domain = strtok(eos, WS);
+							domain = strtok(eos, WSP);
 							break;
 						}
 					}
@@ -211,89 +221,51 @@ get_fqdn(
 			fclose(inf);
 		}
 	}
-	return fqdn;
+	return *fqdn ? fqdn : get_val("HOST", get_val("HOSTNAME", ""));
 }
 #endif /* HAVE_GETHOSTBYNAME */
 
 
-/*
- * Find username & fullname
- */
-void
-get_user_info(
-	char *user_name,
-	char *full_name)
-{
-	const char *ptr;
-
-	user_name[0] = '\0';
-	full_name[0] = '\0';
-
-	if ((ptr = get_full_name()))
-		strcpy(full_name, ptr);
-	if ((ptr = get_user_name()))
-		strcpy(user_name, ptr);
-}
-
-
-static const char *
-get_user_name(
-	void)
-{
-	static char username[128];
-	struct passwd *pw;
-
-	username[0] = '\0';
-
-	if ((pw = getpwuid(getuid())) != NULL)
-		STRCPY(username, pw->pw_name);
-	else {
-		if (!*username)
-			tin_done(EXIT_FAILURE, _(txt_error_passwd_missing));
-	}
-
-	return username;
-}
-
-
 static const char *
 get_full_name(
 	void)
 {
+	const char *q;
 	char *p;
 	static char fullname[128];
 #ifndef DONT_HAVE_PW_GECOS
 	char buf[128];
-	char tmp[128];
-	struct passwd *pw;
+	const struct passwd *pw;
 #endif /* !DONT_HAVE_PW_GECOS */
 
 	fullname[0] = '\0';
 
-	if ((p = getenv("NAME")) != NULL) {
-		my_strncpy(fullname, p, sizeof(fullname) - 1);
-		return fullname;
-	}
-	if ((p = getenv("REALNAME")) != NULL) {
-		my_strncpy(fullname, p, sizeof(fullname) - 1);
+	/*
+	 * ignore set but empty env-var.
+	 * give mail_address in tinrc without a name instead if you
+	 * want this behaviour.
+	 */
+	if ((q = get_val("NAME", get_val("REALNAME", NULL))) != NULL) {
+		my_strncpy(fullname, q, sizeof(fullname) - 1);
 		return fullname;
 	}
 
 #ifndef DONT_HAVE_PW_GECOS
 	if ((pw = getpwuid(getuid())) != NULL) {
-		int ret;
-
 		STRCPY(buf, pw->pw_gecos);
 		if ((p = strchr(buf, ',')))
 			*p = '\0';
 		if ((p = strchr(buf, '&'))) {
+			char tmp[128];
+			int ret;
+
 			*p++ = '\0';
 			STRCPY(tmp, pw->pw_name);
-			if (*tmp && isalpha((int)(unsigned char) *tmp) && islower((int)(unsigned char) *tmp))
-				*tmp = (char) my_toupper((int) (unsigned char) *tmp);
+			if (*tmp && isalpha((unsigned char) *tmp) && islower((unsigned char) *tmp))
+				*tmp = (char) my_toupper((unsigned char) *tmp);
 			ret = snprintf(fullname, sizeof(fullname), "%s%s%s", buf, tmp, p);
 			if (ret == -1 || ret > (int) sizeof(fullname))
-				error_message(2, "Fullname truncated");
+				error_message(2, "Fullname truncated"); /* -> lang.c */
 		} else
 			STRCPY(fullname, buf);
 	}
@@ -312,20 +284,20 @@ get_full_name(
 void
 get_from_name(
 	char *from_name,
-	struct t_group *thisgrp)
+	const struct t_group *thisgrp)
 {
-	char *fromhost = domain_name;
+	const char *fromhost = domain_name;
 
-	if (thisgrp && *thisgrp->attribute->from != '\0') {
-		strcpy(from_name, thisgrp->attribute->from);
+	if (thisgrp && thisgrp->attribute->from && *thisgrp->attribute->from) {
+		strcpy(from_name, *thisgrp->attribute->from);
 		return;
 	}
 
-	sprintf(from_name, ((strpbrk(get_full_name(), "!()<>@,;:\\\".[]")) ? "\"%s\" <%s@%s>" : "%s <%s@%s>"), BlankIfNull(get_full_name()), BlankIfNull(get_user_name()), BlankIfNull(fromhost));
+	sprintf(from_name, ((strpbrk(get_full_name(), "!()<>@,;:\\\".[]")) ? "\"%s\" <%s@%s>" : "%s <%s@%s>"), BlankIfNull(get_full_name()), userid, BlankIfNull(fromhost));
 
 #ifdef DEBUG
 	if (debug & DEBUG_MISC)
-		error_message(2, "FROM=[%s] USER=[%s] HOST=[%s] NAME=[%s]", from_name, BlankIfNull(get_user_name()), domain_name, BlankIfNull(get_full_name()));
+		error_message(2, "FROM=[%s] USER=[%s] HOST=[%s] NAME=[%s]", from_name, userid, domain_name, BlankIfNull(get_full_name()));
 #endif /* DEBUG */
 }
 
@@ -334,32 +306,34 @@ get_from_name(
  * build_sender()
  * returns *(Full_Name <user@fq.domainna.me>)
  */
-#ifndef FORGERY
+#if !defined(FORGERY) && defined(NNTP_ABLE)
 char *
 build_sender(
 	void)
 {
 	const char *ptr;
-	static char sender[8192];
+	static char sender[HEADER_LEN];
 
 	sender[0] = '\0';
 
-	if ((ptr = get_full_name()))
+	if ((ptr = get_full_name())) /* TODO: rfc2047 encode */
 		snprintf(sender, sizeof(sender), ((strpbrk(ptr, "\".:;<>@[]()\\")) ? "\"%s\"" : "%s "), ptr);
-	if ((ptr = get_user_name())) {
-		snprintf(sender + strlen(sender), sizeof(sender) - strlen(sender), "<%s@", ptr);
+
+	snprintf(sender + strlen(sender), sizeof(sender) - strlen(sender), "<%.*s@", LOGIN_NAME_MAX, userid);
 
 #	ifdef HAVE_GETHOSTBYNAME
-		if ((ptr = get_fqdn(get_host_name())))
+	ptr = get_fqdn(get_host_name());
 #	else
-		if ((ptr = get_host_name()))
+	ptr = get_host_name();
 #	endif /* HAVE_GETHOSTBYNAME */
-			snprintf(sender + strlen(sender), sizeof(sender) - strlen(sender), "%s>", ptr);
-		else
-			return NULL;
-	} else
+
+		/* intentionally do not fall back to *domain_name */
+
+	if (*ptr)
+		snprintf(sender + strlen(sender), sizeof(sender) - strlen(sender), "%s>", ptr);
+	else
 		return NULL;
 
 	return sender;
 }
-#endif /* !FORGERY */
+#endif /* !FORGERY && NNTP_ABLE */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/help.c tin-2.6.4/src/help.c
--- tin-2.6.3/src/help.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/help.c	2024-11-25 20:40:37.547795526 +0100
@@ -3,10 +3,10 @@
  *  Module    : help.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2023-11-09
+ *  Updated   : 2024-11-25
  *  Notes     :
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -599,6 +599,7 @@ static t_help_page page_help_page[] = {
 #endif /* HAVE_PGP_GPG */
 	{ txt_help_empty_line, NOT_ASSIGNED },
 	{ txt_help_global_connection_info, GLOBAL_CONNECTION_INFO },
+	{ txt_help_article_info, PAGE_ARTICLE_INFO },
 	{ txt_help_global_version, GLOBAL_VERSION },
 	{ NULL, NOT_ASSIGNED }
 };
@@ -718,7 +719,7 @@ make_help_page(
 			 */
 			buf = my_realloc(buf, LEN);
 
-			if (!strlen(helppage->helptext))	/* avoid translation of empty strings */
+			if (!*helppage->helptext)	/* avoid translation of empty strings */
 				strcpy(buf, "\n");
 			else
 				strncpy(buf, _(helppage->helptext), LEN);
@@ -733,7 +734,7 @@ make_help_page(
 					snprintf(buf, LEN, "%s\t  %s", printascii(key, (wint_t) keys.list[i].key), _(helppage->helptext));
 #else
 					snprintf(buf, LEN, "%s\t  %s", printascii(key, keys.list[i].key), _(helppage->helptext));
-#endif /* MULTIBYTE_ABLE &&! NO_LOCALE */
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 					expand_ctrl_chars(&buf, &length, 8);
 					if (strcmp(last, buf)) {
 						fprintf(fp, "%s\n", buf);
@@ -742,7 +743,7 @@ make_help_page(
 				}
 			}
 		}
-		helppage++;
+		++helppage;
 	}
 
 	free(buf);
@@ -757,7 +758,7 @@ show_help_page(
 {
 	FILE *fp;
 
-	if (!(fp = tmpfile()))
+	if (!(fp = my_tmpfile()))
 		return;
 
 	switch (level) {
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/inews.c tin-2.6.4/src/inews.c
--- tin-2.6.3/src/inews.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/inews.c	2024-12-05 04:31:45.951503322 +0100
@@ -3,10 +3,10 @@
  *  Module    : inews.c
  *  Author    : I. Lea
  *  Created   : 1992-03-17
- *  Updated   : 2023-11-27
+ *  Updated   : 2024-12-05
  *  Notes     : NNTP built in version of inews
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -50,10 +50,10 @@
  * local prototypes
  */
 #ifdef NNTP_INEWS
-	static t_bool submit_inews(char *name, struct t_group *group, char *a_message_id);
+	static t_bool submit_inews(const char *name, struct t_group *group, char *a_message_id);
 #endif /* NNTP_INEWS */
 #if defined(NNTP_INEWS) && !defined(FORGERY)
-	static int sender_needed(char *from, char *sender, const char *charset);
+	static int sender_needed(const char *from, const char *sender, const char *charset);
 #endif /* NNTP_INEWS && !FORGERY */
 
 
@@ -65,7 +65,7 @@
 #ifdef NNTP_INEWS
 static t_bool
 submit_inews(
-	char *name,
+	const char *name,
 	struct t_group *group,
 	char *a_message_id)
 {
@@ -82,24 +82,27 @@ submit_inews(
 	t_bool id_in_article = FALSE;
 	t_bool ret_code = FALSE;
 #	ifndef FORGERY
-	char sender_hdr[HEADER_LEN];
+	char *sender_hdr = my_malloc(HEADER_LEN + 1);
+	int charset;
 	int sender = 0;
+	int err = 0;
 	t_bool ismail = FALSE;
 #	endif /* !FORGERY */
 #	ifdef USE_CANLOCK
 	t_bool can_lock_in_article = FALSE;
 #	endif /* USE_CANLOCK */
 
-	if ((fp = fopen(name, "r")) == NULL) {
-		perror_message(_(txt_cannot_open), name);
-		return ret_code;
-	}
+	if ((fp = tin_fopen(name, "r")) == NULL)
+		goto out;
 
 	from_name[0] = '\0';
 	message_id[0] = '\0';
+#	ifndef FORGERY
+	sender_hdr[0] = '\0';
+#	endif /* !FORGERY */
 
 	while ((line = tin_fgets(fp, TRUE)) != NULL) {
-		if (line[0] == '\0') /* end of headers */
+		if (!*line) /* end of headers */
 			break;
 
 		if ((ptr = strchr(line, ':'))) {
@@ -122,10 +125,15 @@ submit_inews(
 		/* we could silently add a From: line here if we want to... */
 		error_message(2, _(txt_error_no_from));
 		fclose(fp);
-		return ret_code;
+		goto out;
 	}
 
 #	ifndef FORGERY
+#		ifdef CHARSET_CONVERSION
+	charset = group ? group->attribute->mm_network_charset : tinrc.mm_network_charset;
+#		else
+	charset = 0;
+#		endif /* CHARSET_CONVERSION */
 	/*
 	 * we should only skip the gnksa_check_from() test if we are going to
 	 * post a forged cancel, but inews.c doesn't know anything about the
@@ -136,11 +144,13 @@ submit_inews(
 	 *
 	 * check for valid From: line
 	 */
-	respcode = gnksa_check_from(from_name + 6);
-	if (!(group ? group->attribute->post_8bit_header : tinrc.post_8bit_header) && respcode > GNKSA_OK && respcode < GNKSA_MISSING_REALNAME) { /* error in address */
-		error_message(2, "inews158%s", _(txt_invalid_from), from_name + 6);
+	if (check_mailbox_list(from_name, "From:", charset, &err) > 1)
+		sender = 1;
+
+	if (err) {
+		error_message(2, _(txt_invalid_from), from_name + 6);
 		fclose(fp);
-		return ret_code;
+		goto out;
 	}
 #	endif /* !FORGERY */
 
@@ -150,36 +160,37 @@ submit_inews(
 #	ifndef FORGERY
 		if (!disable_sender && (ptr = build_sender())) {
 #		ifdef CHARSET_CONVERSION
-			const char *charset = group ? txt_mime_charsets[group->attribute->mm_network_charset] : txt_mime_charsets[tinrc.mm_network_charset];
+			const char *ccharset = group ? txt_mime_charsets[group->attribute->mm_network_charset] : txt_mime_charsets[tinrc.mm_network_charset];
 #		else
-			const char *charset = tinrc.mm_charset;
+			const char *ccharset = tinrc.mm_charset;
 #		endif /* CHARSET_CONVERSION */
 
-			sender = sender_needed(from_name + 6, ptr, charset);
+			if (!sender)
+				sender = sender_needed(from_name + 6, ptr, ccharset);
 			switch (sender) {
 				case -2: /* can't build Sender: */
 					error_message(2, _(txt_invalid_sender), ptr);
 					fclose(fp);
-					return ret_code;
+					goto out;
 					/* NOTREACHED */
 					break;
 
 				case -1: /* illegal From: (can't happen as check is done above already) */
 					error_message(2, _(txt_invalid_from), from_name + 6);
 					fclose(fp);
-					return ret_code;
+					goto out;
 					/* NOTREACHED */
 					break;
 
 				case 1:	/* insert Sender */
-					snprintf(sender_hdr, sizeof(sender_hdr), "Sender: %s", ptr);
+					snprintf(sender_hdr, HEADER_LEN + 1, "Sender: %s", ptr);
 #		ifdef CHARSET_CONVERSION
-					buffer_to_network(sender_hdr, group ? group->attribute->mm_network_charset : tinrc.mm_network_charset);
+					buffer_to_network(&sender_hdr, charset);
 #		endif /* CHARSET_CONVERSION */
 					if (!(group ? group->attribute->post_8bit_header : tinrc.post_8bit_header)) {
-						char *p = rfc1522_encode(sender_hdr, charset, ismail);
+						char *p = rfc1522_encode(sender_hdr, ccharset, ismail);
 
-						STRCPY(sender_hdr, p);
+						strcpy(sender_hdr, p);
 						free(p);
 					}
 					break;
@@ -198,7 +209,7 @@ submit_inews(
 		if (nntp_command("POST", CONT_POST, response, sizeof(response)) == NULL) {
 			error_message(2, "%s", response);
 			fclose(fp);
-			return ret_code;
+			goto out;
 		}
 
 		/*
@@ -206,7 +217,7 @@ submit_inews(
 		 * if not scan response line if it contains a Message-ID
 		 * if it's present: use it.
 		 */
-		if (message_id[0] == '\0') {
+		if (!*message_id) {
 			/* simple syntax check - locate last '<' */
 			if ((ptr = strrchr(response, '<')) != NULL) {
 				/* search next '>' */
@@ -221,14 +232,13 @@ submit_inews(
 		}
 
 #	ifndef FORGERY
-		/*
-		 * Send Path: (and Sender: if needed) headers
-		 */
+		/* Send Path: header */
 		snprintf(buf, sizeof(buf), "Path: %s", PATHMASTER);
 		u_put_server(buf);
 		u_put_server("\r\n");
 
-		if (sender == 1) {
+		/* and Sender: (if needed) */
+		if (sender == 1 && *sender_hdr) {
 			u_put_server(sender_hdr);
 			u_put_server("\r\n");
 		}
@@ -241,7 +251,7 @@ submit_inews(
 		 */
 		if (*message_id && strlen(message_id) <= NNTP_STRLEN) {
 			if (!id_in_article) {
-				snprintf(buf, sizeof(buf), "Message-ID: %.512s", message_id);
+				snprintf(buf, sizeof(buf), "Message-ID: %.*s", NNTP_STRLEN, message_id);
 				u_put_server(buf);
 				u_put_server("\r\n");
 			}
@@ -274,7 +284,7 @@ submit_inews(
 
 #	ifdef USE_CANLOCK
 			/* skip any bogus Cancel-Locks */
-			if (!strlen(line))
+			if (!*line)
 				can_lock_in_article = FALSE;	/* don't touch the body */
 
 			if (can_lock_in_article && !id_in_article) {
@@ -293,7 +303,7 @@ submit_inews(
 		}
 
 		u_put_server(".\r\n");
-		put_server(""); /* flush */
+		put_server("", FALSE); /* flush */
 
 		/*
 		 * Receive OK_POSTED or ERROR response code from NNTP server
@@ -326,7 +336,7 @@ submit_inews(
 	 */
 	if (respcode != OK_POSTED) {
 		error_message(2, _(txt_posting_failed), str_trim(response));
-		return ret_code;
+		goto out;
 	}
 
 	/*
@@ -362,6 +372,12 @@ submit_inews(
 
 	ret_code = TRUE;
 
+out:
+#	ifndef FORGERY
+	FreeIfNeeded(sender_hdr);
+#	else
+	(void) group;
+#	endif /* !FORGERY */
 	return ret_code;
 }
 #endif /* NNTP_INEWS */
@@ -379,15 +395,14 @@ submit_news_file(
 {
 	char buf[PATH_LEN];
 	char *cp = buf;
-	char *fcc;
+	char *fcc = checknadd_headers(name, group);
 	t_bool ret_code;
 	t_bool ismail = FALSE;
 
-	a_message_id[0] = '\0';
-
-	fcc = checknadd_headers(name, group);
 	FreeIfNeeded(fcc); /* we don't use it at the moment */
 
+	a_message_id[0] = '\0';
+
 	rfc15211522_encode(name, txt_mime_encodings[(group ? group->attribute->post_mime_encoding : tinrc.post_mime_encoding)], group, (group ? group->attribute->post_8bit_header : tinrc.post_8bit_header), ismail);
 
 #ifdef NNTP_INEWS
@@ -395,33 +410,34 @@ submit_news_file(
 		ret_code = submit_inews(name, group, a_message_id);
 	else
 #endif /* NNTP_INEWS */
-		{
-			/* use tinrc.inews_prog or 'inewsdir/inews -h' 'inews -h' */
-			if (strcasecmp(tinrc.inews_prog, INTERNAL_CMD))
-				STRCPY(buf, tinrc.inews_prog);
-			else {
-				if (*inewsdir)
-					joinpath(buf, sizeof(buf), inewsdir, "inews -h");
-				else
-					strcpy(buf, "inews -h");
-			}
-			cp += strlen(cp);
-			sh_format(cp, sizeof(buf) - (size_t) (cp - buf), " < %s", name);
+	{
+		/* use tinrc.inews_prog or 'inewsdir/inews -h' 'inews -h' */
+		if (strcasecmp(tinrc.inews_prog, INTERNAL_CMD))
+			STRCPY(buf, tinrc.inews_prog);
+		else {
+			if (*inewsdir)
+				joinpath(buf, sizeof(buf), inewsdir, "inews -h");
+			else
+				strcpy(buf, "inews -h");
+		}
+		cp += strlen(cp);
+		sh_format(cp, sizeof(buf) - (size_t) (cp - buf), " < %s", name);
 
-			ret_code = invoke_cmd(buf);
+		ret_code = invoke_cmd(buf);
 
 #ifdef NNTP_INEWS
-			if (!ret_code && read_news_via_nntp && !read_saved_news && strcasecmp(tinrc.inews_prog, INTERNAL_CMD)) {
-				if (prompt_yn(_(txt_post_via_builtin_inews), TRUE)) {
-					ret_code = submit_inews(name, group, a_message_id);
-					if (ret_code) {
-						if (prompt_yn(_(txt_post_via_builtin_inews_only), TRUE) == 1)
-							strcpy(tinrc.inews_prog, INTERNAL_CMD);
+		if (!ret_code && read_news_via_nntp && !read_saved_news && strcasecmp(tinrc.inews_prog, INTERNAL_CMD)) {
+			if (prompt_yn(_(txt_post_via_builtin_inews), TRUE)) {
+				if ((ret_code = submit_inews(name, group, a_message_id)) == TRUE) {
+					if (prompt_yn(_(txt_post_via_builtin_inews_only), TRUE) == 1) {
+						FreeIfNeeded(tinrc.inews_prog);
+						tinrc.inews_prog = my_strdup(INTERNAL_CMD);
 					}
 				}
 			}
-#endif /* NNTP_INEWS */
 		}
+#endif /* NNTP_INEWS */
+	}
 	return ret_code;
 }
 
@@ -435,13 +451,13 @@ submit_news_file(
 #if defined(NNTP_INEWS) && !defined(FORGERY)
 static int
 sender_needed(
-	char *from,
-	char *sender,
+	const char *from,
+	const char *sender,
 	const char *charset)
 {
-	char *from_at_pos;
-	char *sender_at_pos;
-	char *sender_dot_pos;
+	const char *from_at_pos;
+	const char *sender_at_pos;
+	const char *sender_dot_pos;
 	char *p;
 	char from_addr[HEADER_LEN];
 	char sender_addr[HEADER_LEN];
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/init.c tin-2.6.4/src/init.c
--- tin-2.6.3/src/init.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/init.c	2024-12-21 15:17:27.679043895 +0100
@@ -3,10 +3,10 @@
  *  Module    : init.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2023-11-22
+ *  Updated   : 2024-12-21
  *  Notes     :
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,6 +41,9 @@
 #ifndef TIN_H
 #	include "tin.h"
 #endif /* !TIN_H */
+#ifndef TCURSES_H
+#	include "tcurses.h"
+#endif /* !TCURSES_H */
 #ifndef TNNTP_H
 #	include "tnntp.h"
 #endif /* !TNNTP_H */
@@ -73,23 +76,29 @@ char *backup_article_name;			/* ~/TIN_AR
 char cvers[LEN];
 char dead_article[PATH_LEN];		/* ~/dead.article file */
 char dead_articles[PATH_LEN];		/* ~/dead.articles file */
-char default_organization[PATH_LEN];	/* Organization: */
+char *default_filter_kill_global;
+char *default_filter_select_global;
+char *default_organization;			/* Organization: */
+char *default_mime_types_to_save;
 char default_signature[PATH_LEN];
 char domain_name[MAXHOSTNAMELEN + 1];
 char global_attributes_file[PATH_LEN];
 char global_config_file[PATH_LEN];
+char global_defaults_file[PATH_LEN];
 char homedir[PATH_LEN];
 char index_maildir[PATH_LEN];
 char index_newsdir[PATH_LEN];	/* directory for private overview data */
 char index_savedir[PATH_LEN];
 char inewsdir[PATH_LEN];
+char filter_file[PATH_LEN];
+char keymap_file[PATH_LEN];
 char local_attributes_file[PATH_LEN];
 char local_config_file[PATH_LEN];
 char local_input_history_file[PATH_LEN];
+char local_motd_file[PATH_LEN];	/* local copy of NNTP MOTD message */
 char local_newsgroups_file[PATH_LEN];	/* local copy of NNTP newsgroups file */
-char local_newsrctable_file[PATH_LEN];
+char newsrctable_file[PATH_LEN];
 char lock_file[PATH_LEN];		/* contains name of index lock file */
-char filter_file[PATH_LEN];
 char mail_news_user[LEN];		/* mail new news to this user address */
 char mailbox[PATH_LEN];			/* system mailbox for each user */
 char mailer[PATH_LEN];			/* mail program */
@@ -108,7 +117,7 @@ char subscriptions_file[PATH_LEN];	/* fu
 char *tin_progname;		/* program name */
 const char *tmpdir;
 char txt_help_bug_report[LEN];		/* address to send bug reports to */
-char userid[PATH_LEN];
+char userid[LOGIN_NAME_MAX];
 #ifdef HAVE_MH_MAIL_HANDLING
 	char mail_active_file[PATH_LEN];
 	char mailgroups_file[PATH_LEN];
@@ -128,6 +137,8 @@ int iso2asc_supported;			/* Convert ISO-
 int system_status;
 int xmouse, xrow, xcol;			/* xterm button pressing information */
 
+long motd_hash = 0L;
+
 pid_t process_id;			/* Useful to have around for .suffixes */
 
 t_bool batch_mode;			/* update index files only mode */
@@ -169,7 +180,7 @@ t_bool xref_supported = TRUE;
 	t_bool force_auth_on_conn_open = FALSE;	/* authenticate on connection startup */
 	unsigned short nntp_tcp_port = 0;
 	unsigned short nntp_tcp_default_port;
-#ifdef USE_ZLIB
+#if defined(USE_ZLIB) && defined(CPP_DOES_CONCAT)
 	t_bool use_compress = FALSE;
 #endif /* USE_ZLIB */
 #ifdef NNTPS_ABLE
@@ -199,123 +210,88 @@ struct regex_cache
 #endif /* HAVE_COLOR */
 	= REGEX_CACHE_INITIALIZER;
 
-struct t_cmdlineopts cmdline;
+struct t_cmdlineopts cmdline = { 0, 0, NULL, NULL, NULL, NULL, 0 };
 
 struct t_config tinrc = {
-	ART_MARK_DELETED,		/* art_marked_deleted */
-	MARK_INRANGE,			/* art_marked_inrange */
-	ART_MARK_RETURN,		/* art_marked_return */
-	ART_MARK_SELECTED,		/* art_marked_selected */
-	ART_MARK_RECENT,		/* art_marked_recent */
-	ART_MARK_UNREAD,		/* art_marked_unread */
-	ART_MARK_READ,			/* art_marked_read */
-	ART_MARK_KILLED,		/* art_marked_killed */
-	ART_MARK_READ_SELECTED,		/* art_marked_read_selected */
-	"",		/* editor_format */
-	"",		/* default_goto_group */
-	"",		/* default_mail_address */
-	"",		/* mailer_format */
+	NULL,	/* default_goto_group */
+	NULL,	/* default_mail_address */
 #ifndef DONT_HAVE_PIPING
-	"",		/* default_pipe_command */
+	NULL,	/* default_pipe_command */
 #endif /* !DONT_HAVE_PIPING */
-	"",		/* default_post_newsgroups */
-	"",		/* default_post_subject */
+	NULL,	/* default_post_newsgroups */
+	NULL,	/* default_post_subject */
+	NULL,	/* default_range_group */
+	NULL,	/* default_range_select */
+	NULL,	/* default_range_thread */
+	NULL,	/* default_pattern */
+	NULL,	/* default_repost_group */
+	NULL,	/* default_save_file */
+	NULL,	/* default_search_art */
+	NULL,	/* default_search_author */
+	NULL,	/* default_search_config */
+	NULL,	/* default_search_group */
+	NULL,	/* default_search_subject */
+	NULL,	/* default_select_pattern */
+	NULL,	/* default_shell_command */
+	NULL,	/* editor_format */
+	NULL,	/* select_format */
+	NULL,	/* group_format */
+	NULL,	/* thread_format */
+	NULL,	/* attachment_format */
+	NULL,	/* page_mime_format */
+	NULL,	/* page_uue_format */
+	NULL,	/* date_format */
+	NULL,	/* mail_quote_format */
+	NULL,	/* mailer_format */
+	NULL,	/* news_quote_format */
+	NULL,	/* xpost_quote_format */
+	NULL,	/* quote_chars */
+	NULL,	/* inews_prog */
+	NULL,	/* mail_address */
+	NULL,	/* maildir */
+	NULL,	/* metamail_prog */
+	NULL,	/* mm_local_charset, display charset */
+	NULL,	/* news_headers_to_display */
+	NULL,	/* news_headers_to_not_display */
+	NULL,	/* posted_articles_file */
 #ifndef DISABLE_PRINTING
-	"",		/* printer */
+	NULL,	/* printer */
 #endif /* !DISABLE_PRINTING */
-	"1-.",	/* default_range_group */
-	"1-.",	/* default_range_select */
-	"1-.",	/* default_range_thread */
-	"",		/* default_pattern */
-	"",		/* default_repost_group */
-	"savefile.tin",		/* default_save_file */
-	"",		/* default_search_art */
-	"",		/* default_search_author */
-	"",		/* default_search_config */
-	"",		/* default_search_group */
-	"",		/* default_search_subject */
-	"",		/* default_select_pattern */
-	"",		/* default_shell_command */
-	"In article %M you wrote:",		/* mail_quote_format */
-	"",		/* maildir */
-#ifdef SCO_UNIX
-	2,			/* mailbox_format = MMDF */
-#else
-	0,			/* mailbox_format = MBOXO */
-#endif /* SCO_UNIX */
-	"",		/* mail_address */
-#ifdef HAVE_METAMAIL
-	METAMAIL_CMD,		/* metamail_prog */
-#else
-	INTERNAL_CMD,		/* metamail_prog */
-#endif /* HAVE_METAMAIL */
-#ifndef CHARSET_CONVERSION
-	"",		/* mm_charset, defaults to $MM_CHARSET */
-#else
-	-1,		/* mm_network_charset, defaults to $MM_CHARSET */
-#endif /* !CHARSET_CONVERSION */
-	"US-ASCII",		/* mm_local_charset, display charset */
-#if defined(HAVE_ICONV_OPEN_TRANSLIT) && defined(CHARSET_CONVERSION)
-	FALSE,	/* translit */
-#endif /* HAVE_ICONV_OPEN_TRANSLIT && CHARSET_CONVERSION */
-	"Newsgroups Followup-To Summary Keywords X-Comment-To",		/* news_headers_to_display */
-	"",		/* news_headers_to_not_display */
-	"%F wrote:",		/* news_quote_format */
-	DEFAULT_COMMENT,	/* quote_chars */
+	NULL,	/* slashes_regex */
+	NULL,	/* stars_regex */
+	NULL,	/* strokes_regex */
+	NULL,	/* strip_re_regex */
+	NULL,	/* strip_was_regex */
 #ifdef HAVE_COLOR
-	"",		/* quote_regex */
-	"",		/* quote_regex 2nd level */
-	"",		/* quote_regex >= 3rd level */
-	"",		/* extquote_regex */
+	NULL,	/* quote_regex */
+	NULL,	/* quote_regex 2nd level */
+	NULL,	/* quote_regex >= 3rd level */
+	NULL,	/* extquote_regex */
 #endif /* HAVE_COLOR */
-	"",		/* slashes_regex */
-	"",		/* stars_regex */
-	"",		/* underscores_regex */
-	"",		/* strokes_regex */
-	"",		/* sigfile */
-	"",		/* strip_re_regex */
-	"",		/* strip_was_regex */
-	"",		/* verbatim_begin_regex */
-	"",		/* verbatim_end_regex */
-	"",		/* savedir */
-	"",		/* spamtrap_warning_addresses */
+	NULL,	/* underscores_regex */
+	NULL,	/* verbatim_begin_regex */
+	NULL,	/* verbatim_end_regex */
+	NULL,	/* savedir */
+	NULL,	/* sigfile */
+	NULL,	/* spamtrap_warning_addresses */
 #ifdef NNTPS_ABLE
-	"",		/* tls_ca_cert_file */
+	NULL,	/* tls_ca_cert_file */
 #endif /* NNTPS_ABLE */
-	DEFAULT_URL_HANDLER,	/* url_handler */
-	"In %G %F wrote:",			/* xpost_quote_format */
-	DEFAULT_FILTER_DAYS,			/* filter_days */
-	FILTER_SUBJ_CASE_SENSITIVE,		/* default_filter_kill_header */
-	FILTER_SUBJ_CASE_SENSITIVE,		/* default_filter_select_header */
-	0,		/* default_move_group */
-	'a',		/* default_save_mode */
-	0,		/* getart_limit */
-	2,		/* recent_time */
-	GOTO_NEXT_UNREAD_TAB,		/* goto_next_unread */
-	UUE_NO,	/* hide_uue */
-	KILL_UNREAD,		/* kill_level */
-	MIME_ENCODING_QP,		/* mail_mime_encoding */
-	MIME_ENCODING_8BIT,		/* post_mime_encoding */
-	POST_PROC_NO,			/* post_process_type */
-	REREAD_ACTIVE_FILE_SECS,	/* reread_active_file_secs */
-	1,		/* scroll_lines */
-	SHOW_FROM_NAME,				/* show_author */
-	SORT_ARTICLES_BY_DATE_ASCEND,		/* sort_article_type */
-	SORT_THREADS_BY_SCORE_DESCEND,		/* sort_threads_type */
-#ifdef USE_HEAPSORT
-	0,				/* sort_function default qsort */
-#endif /* USE_HEAPSORT */
-	BOGUS_SHOW,		/* strip_bogus */
-	THREAD_BOTH,		/* thread_articles */
-	THREAD_PERC_DEFAULT,	/* thread_perc */
-	THREAD_SCORE_MAX,	/* thread_score */
-	0,		/* Default to wildmat, not regex */
-	-50,		/* score_limit_kill */
-	50,		/* score_limit_select */
-	-100,		/* score_kill */
-	100,		/* score_select */
-	0,		/* trim_article_body */
-	SHOW_SIGN_BOTH,	/* show help/mail sign in level title */
+	NULL,	/* url_handler */
+#ifndef CHARSET_CONVERSION
+	NULL,	/* mm_charset, defaults to $MM_CHARSET */
+#else
+	-1,		/* mm_network_charset, defaults to $MM_CHARSET */
+#endif /* !CHARSET_CONVERSION */
+#ifdef SCO_UNIX
+	2,		/* mailbox_format = MMDF */
+#else
+	0,		/* mailbox_format = MBOXO */
+#endif /* SCO_UNIX */
+	0,		/* auto_cc_bcc */
+#ifdef USE_CANLOCK
+	1,		/* cancel_lock_algo, sha1 */
+#endif /* USE_CANLOCK */
 #ifdef HAVE_COLOR
 	0,		/* col_back (initialised later) */
 	0,		/* col_from (initialised later) */
@@ -345,198 +321,236 @@ struct t_config tinrc = {
 	0,		/* col_text (initialised later) */
 	0,		/* col_title (initialised later) */
 #endif /* HAVE_COLOR */
-	2,		/* word_h_display_marks */
+	4,		/* confirm_choice */
+	FILTER_SUBJ_CASE_SENSITIVE,	/* default_filter_kill_header */
+	FILTER_SUBJ_CASE_SENSITIVE,	/* default_filter_select_header */
+	DEFAULT_FILTER_DAYS,		/* filter_days */
+	0,		/* default_move_group */
+	'a',	/* default_save_mode */
+	0,		/* getart_limit */
+	GOTO_NEXT_UNREAD_TAB,		/* goto_next_unread */
+	UUE_NO,	/* hide_uue */
+	INTERACTIVE_NONE,			/* interactive_mailer */
+	KILL_UNREAD,				/* kill_level */
 	2,		/* mono_markdash */
 	6,		/* mono_markstar */
 	5,		/* mono_markslash */
 	3,		/* mono_markstroke */
-	TRUE,		/* word_highlight */
-	TRUE,		/* url_highlight */
+#if defined(HAVE_ALARM) && defined(SIGALRM)
+	120,	/* nntp_read_timeout_secs */
+#endif /* HAVE_ALARM && SIGALRM */
+#ifdef HAVE_UNICODE_NORMALIZATION
+	DEFAULT_NORMALIZE,	/* normalization_form */
+#endif /* HAVE_UNICODE_NORMALIZATION */
+	MIME_ENCODING_QP,			/* mail_mime_encoding */
+	MIME_ENCODING_8BIT,			/* post_mime_encoding */
+	POST_PROC_NO,				/* post_process_type */
+	QUOTE_COMPRESS|QUOTE_EMPTY,	/* quote_style */
+	2,		/* recent_time */
+	REREAD_ACTIVE_FILE_SECS,	/* reread_active_file_secs */
+	-50,	/* score_limit_kill */
+	50,		/* score_limit_select */
+	-100,	/* score_kill */
+	100,	/* score_select */
+	1,		/* scroll_lines */
+	SHOW_FROM_NAME,	/* show_author */
+	SHOW_SIGN_BOTH,	/* show help/mail sign in level title */
+	SORT_ARTICLES_BY_DATE_ASCEND,	/* sort_article_type */
+	SORT_THREADS_BY_SCORE_DESCEND,	/* sort_threads_type */
+#ifdef USE_HEAPSORT
+	0,		/* sort_function default qsort */
+#endif /* USE_HEAPSORT */
+	BOGUS_SHOW,				/* strip_bogus */
+	THREAD_BOTH,			/* thread_articles */
+	THREAD_PERC_DEFAULT,	/* thread_perc */
+	THREAD_SCORE_MAX,		/* thread_score */
+	0,		/* trim_article_body */
+	0,		/* Default to wildmat, not regex */
+	2,		/* word_h_display_marks */
 	0,		/* wrap_column */
 #ifdef HAVE_COLOR
-	FALSE,		/* use_color */
+	FALSE,	/* use_color */
 #endif /* HAVE_COLOR */
-	FALSE,		/* abbreviate_groupname */
-	TRUE,		/* add_posted_to_filter */
-	TRUE,		/* advertising */
-	TRUE,		/* alternative_handling */
-	0,			/* auto_cc_bcc */
-	TRUE,		/* auto_list_thread */
-	FALSE,		/* auto_reconnect */
-	TRUE,		/* batch_save */
-	TRUE,		/* beginner_level */
-	FALSE,		/* cache_overview_files */
-	FALSE,		/* catchup_read_groups */
-	4,		/* confirm_choice */
+	FALSE,	/* abbreviate_groupname */
+	TRUE,	/* add_posted_to_filter */
+	TRUE,	/* advertising */
+	TRUE,	/* alternative_handling */
+	FALSE,	/* ask_for_metamail */
+	TRUE,	/* auto_list_thread */
+	FALSE,	/* auto_reconnect */
+	TRUE,	/* batch_save */
+	TRUE,	/* beginner_level */
+	FALSE,	/* cache_overview_files */
+	FALSE,	/* catchup_read_groups */
+#if defined(USE_ZLIB) && defined(CPP_DOES_CONCAT)
+	FALSE,	/* compress_overview_files */
+#endif /* USE_ZLIB && CPP_DOES_CONCAT */
 #ifdef USE_INVERSE_HACK
-	TRUE,		/* draw_arrow */
+	TRUE,	/* draw_arrow */
 #else
-	FALSE,		/* draw_arrow */
+	FALSE,	/* draw_arrow */
 #endif /* USE_INVERSE_HACK */
-	FALSE,		/* force_screen_redraw */
-	TRUE,		/* group_catchup_on_exit */
-	FALSE,		/* info_in_last_line */
+	FALSE,	/* dont_break_words */
+	FALSE,	/* force_screen_redraw */
+	TRUE,	/* group_catchup_on_exit */
+	FALSE,	/* info_in_last_line */
 #ifdef USE_INVERSE_HACK
-	FALSE,		/* inverse_okay */
+	FALSE,	/* inverse_okay */
 #else
-	TRUE,		/* inverse_okay */
+	TRUE,	/* inverse_okay */
 #endif /* USE_INVERSE_HACK */
-	TRUE,		/* keep_dead_articles */
-	POSTED_FILE,	/* posted_articles_file */
-	FALSE,		/* mail_8bit_header */
-	FALSE,		/* mark_ignore_tags */
-	TRUE,		/* mark_saved_read */
-	TRUE,		/* pos_first_unread */
-	FALSE,		/* post_8bit_header */
-	TRUE,		/* post_process_view */
+	TRUE,	/* keep_dead_articles */
+	FALSE,	/* mail_8bit_header */
+	FALSE,	/* mark_ignore_tags */
+	TRUE,	/* mark_saved_read */
+	TRUE,	/* pos_first_unread */
+	FALSE,	/* post_8bit_header */
+	TRUE,	/* post_process_view */
 #ifndef DISABLE_PRINTING
 	FALSE,		/* print_header */
 #endif /* !DISABLE_PRINTING */
-	FALSE,		/* process_only_unread */
-	FALSE,		/* prompt_followupto */
-	QUOTE_COMPRESS|QUOTE_EMPTY,	/* quote_style */
-	TRUE,		/* show_description */
-	TRUE,		/* show_only_unread_arts */
-	FALSE,		/* show_only_unread_groups */
-	TRUE,		/* show_signatures */
-	FALSE,		/* show_art_score */
-	TRUE,		/* sigdashes */
-	TRUE,		/* signature_repost */
+	FALSE,	/* process_only_unread */
+	FALSE,	/* prompt_followupto */
+	TRUE,	/* show_description */
+	TRUE,	/* show_only_unread_arts */
+	FALSE,	/* show_only_unread_groups */
+	TRUE,	/* show_signatures */
+	FALSE,	/* show_art_score */
+	TRUE,	/* sigdashes */
+	TRUE,	/* signature_repost */
 #ifndef USE_CURSES
-	TRUE,		/* strip_blanks */
+	TRUE,	/* strip_blanks */
 #endif /* !USE_CURSES */
-	FALSE,		/* strip_newsrc */
+	FALSE,	/* strip_newsrc */
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-	FALSE,		/* suppress_soft_hyphens */
+	FALSE,	/* suppress_soft_hyphens */
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
-	FALSE,		/* tex2iso_conv */
-	TRUE,		/* thread_catchup_on_exit */
-	TRUE,		/* unlink_article */
+	FALSE,	/* tex2iso_conv */
+	TRUE,	/* thread_catchup_on_exit */
+#if defined(HAVE_ICONV_OPEN_TRANSLIT) && defined(CHARSET_CONVERSION)
+	FALSE,	/* translit */
+#endif /* HAVE_ICONV_OPEN_TRANSLIT && CHARSET_CONVERSION */
+	TRUE,	/* unlink_article */
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-	FALSE,		/* utf8_graphics */
+	FALSE,	/* utf8_graphics */
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
-	TRUE,		/* verbatim_handling */
+	TRUE,	/* verbatim_handling */
 #ifdef HAVE_COLOR
-	FALSE,		/* extquote_handling */
+	FALSE,	/* extquote_handling */
 #endif /* HAVE_COLOR */
-	"",		/* inews_prog */
-#ifdef USE_CANLOCK
-	1,			/* cancel_lock_algo, sha1 */
-#endif /* USE_CANLOCK */
-	INTERACTIVE_NONE,		/* interactive_mailer */
-	FALSE,		/* use_mouse */
+	FALSE,	/* use_mouse */
 #ifdef HAVE_KEYPAD
-	FALSE,		/* use_keypad */
+	FALSE,	/* use_keypad */
 #endif /* HAVE_KEYPAD */
-	TRUE,		/* wrap_on_next_unread */
-	FALSE,		/* ask_for_metamail */
-	FALSE,		/* default_filter_kill_case */
-	FALSE,		/* default_filter_kill_expire */
-	TRUE,		/* default_filter_kill_global */
-	FALSE,		/* default_filter_select_case */
-	FALSE,		/* default_filter_select_expire */
+	FALSE,	/* default_filter_kill_case */
+	FALSE,	/* default_filter_kill_expire */
+	TRUE,	/* default_filter_kill_global */
+	FALSE,	/* default_filter_select_case */
+	FALSE,	/* default_filter_select_expire */
+	TRUE,	/* default_filter_select_global */
 #ifdef XFACE_ABLE
-	FALSE,		/* use_slrnface */
+	FALSE,	/* use_slrnface */
 #endif /* XFACE_ABLE */
-	TRUE,		/* default_filter_select_global */
-	DEFAULT_SELECT_FORMAT,		/* select_format */
-	DEFAULT_GROUP_FORMAT,		/* group_format */
-	DEFAULT_THREAD_FORMAT,		/* thread_format */
-	DEFAULT_ATTACHMENT_FORMAT,	/* attachment_format */
-	DEFAULT_PAGE_MIME_FORMAT,	/* page_mime_format */
-	DEFAULT_PAGE_UUE_FORMAT,	/* page_uue_format */
-	DEFAULT_DATE_FORMAT,		/* date_format */
-#ifdef HAVE_UNICODE_NORMALIZATION
-	DEFAULT_NORMALIZE,		/* normalization form */
-#endif /* HAVE_UNICODE_NORMALIZATION */
 #if defined(HAVE_LIBICUUC) && defined(MULTIBYTE_ABLE) && defined(HAVE_UNICODE_UBIDI_H) && !defined(NO_LOCALE)
-	FALSE,		/* render_bidi */
+	FALSE,	/* render_bidi */
 #endif /* HAVE_LIBICUUC && MULTIBYTE_ABLE && HAVE_UNICODE_UBIDI_H && !NO_LOCALE */
+	TRUE,	/* url_highlight */
+	TRUE,	/* word_highlight */
+	TRUE,	/* wrap_on_next_unread */
+	ART_MARK_DELETED,		/* art_marked_deleted */
+	MARK_INRANGE,			/* art_marked_inrange */
+	ART_MARK_RETURN,		/* art_marked_return */
+	ART_MARK_SELECTED,		/* art_marked_selected */
+	ART_MARK_RECENT,		/* art_marked_recent */
+	ART_MARK_UNREAD,		/* art_marked_unread */
+	ART_MARK_READ,			/* art_marked_read */
+	ART_MARK_KILLED,		/* art_marked_killed */
+	ART_MARK_READ_SELECTED,	/* art_marked_read_selected */
+	NULL,	/* attrib_editor_format */
+	NULL,	/* attrib_fcc */
+	NULL,	/* attrib_maildir */
+	NULL,	/* attrib_from */
+	NULL,	/* attrib_mailing_list */
+	NULL,	/* attrib_organization */
+	NULL,	/* attrib_followup_to */
+	NULL,	/* attrib_mime_types_to_save */
+	NULL,	/* attrib_news_headers_to_display */
+	NULL,	/* attrib_news_headers_to_not_display */
+	NULL,	/* attrib_news_quote_format */
+	NULL,	/* attrib_quote_chars */
+	NULL,	/* attrib_sigfile */
+	NULL,	/* attrib_savedir */
+	NULL,	/* attrib_savefile */
+	NULL,	/* attrib_x_body */
+	NULL,	/* attrib_x_headers */
+#ifdef HAVE_ISPELL
+	NULL,	/* attrib_ispell */
+#endif /* HAVE_ISPELL */
+	NULL,	/* attrib_quick_kill_scope */
+	NULL,	/* attrib_quick_select_scope */
+	NULL,	/* attrib_group_format */
+	NULL,	/* attrib_thread_format */
+	NULL,	/* attrib_date_format */
 #ifdef CHARSET_CONVERSION
+	NULL,	/* attrib_undeclared_charset */
 	-1,		/* attrib_mm_network_charset, defaults to $MM_CHARSET */
-	"",		/* attrib_undeclared_charset */
+#	ifdef USE_ICU_UCSDET
+	FALSE,
+#	endif /* USE_ICU_UCSDET */
 #endif /* CHARSET_CONVERSION */
-	"",		/* attrib_editor_format */
-	"",		/* attrib_fcc */
-	"",		/* attrib_maildir */
-	"",		/* attrib_from */
-	"",		/* attrib_mailing_list */
-	"",		/* attrib_organization */
-	"",		/* attrib_followup_to */
-	"",		/* attrib_mime_types_to_save */
-	"",		/* attrib_news_headers_to_display */
-	"",		/* attrib_news_headers_to_not_display */
-	"",		/* attrib_news_quote_format */
-	"",		/* attrib_quote_chars */
-	"",		/* attrib_sigfile */
-	"",		/* attrib_savedir */
-	"",		/* attrib_savefile */
-	"",		/* attrib_x_body */
-	"",		/* attrib_x_headers */
-#ifdef HAVE_ISPELL
-	"",		/* attrib_ispell */
-#endif /* HAVE_ISPELL */
-	"",		/* attrib_quick_kill_scope */
-	"",		/* attrib_quick_select_scope */
-	"",		/* attrib_group_format */
-	"",		/* attrib_thread_format */
-	"",		/* attrib_date_format */
 	0,		/* attrib_trim_article_body */
 	0,		/* attrib_auto_cc_bcc */
 	FILTER_SUBJ_CASE_SENSITIVE,		/* attrib_quick_kill_header */
 	FILTER_SUBJ_CASE_SENSITIVE,		/* attrib_quick_select_header */
 	MIME_ENCODING_QP,		/* attrib_mail_mime_encoding */
-#if defined(HAVE_ALARM) && defined(SIGALRM)
-	120,	/* nntp_read_timeout_secs */
-#endif /* HAVE_ALARM && SIGALRM */
 	MIME_ENCODING_8BIT,		/* attrib_post_mime_encoding */
 	POST_PROC_NO,			/* attrib_post_process_type */
 	SHOW_FROM_NAME,			/* attrib_show_author */
-	SORT_ARTICLES_BY_DATE_ASCEND,		/* attrib_sort_article_type */
-	SORT_THREADS_BY_SCORE_DESCEND,		/* attrib_sort_threads_type */
-	THREAD_BOTH,		/* attrib_thread_articles */
+	SORT_ARTICLES_BY_DATE_ASCEND,	/* attrib_sort_article_type */
+	SORT_THREADS_BY_SCORE_DESCEND,	/* attrib_sort_threads_type */
+	THREAD_BOTH,			/* attrib_thread_articles */
 	THREAD_PERC_DEFAULT,	/* attrib_thread_perc */
-	TRUE,		/* attrib_add_posted_to_filter */
-	TRUE,		/* attrib_advertising */
-	TRUE,		/* attrib_alternative_handling */
-	TRUE,		/* attrib_auto_list_thread */
-	FALSE,		/* attrib_auto_select */
-	TRUE,		/* attrib_batch_save */
-	TRUE,		/* attrib_delete_tmp_files */
-	TRUE,		/* attrib_group_catchup_on_exit */
-	FALSE,		/* attrib_mail_8bit_header */
-	FALSE,		/* attrib_mime_forward */
-	FALSE,		/* attrib_mark_ignore_tags */
-	TRUE,		/* attrib_mark_saved_read */
-	TRUE,		/* attrib_pos_first_unread */
-	FALSE,		/* attrib_post_8bit_header */
-	TRUE,		/* attrib_post_process_view */
+	TRUE,	/* attrib_add_posted_to_filter */
+	TRUE,	/* attrib_advertising */
+	TRUE,	/* attrib_alternative_handling */
+	TRUE,	/* attrib_auto_list_thread */
+	FALSE,	/* attrib_auto_select */
+	TRUE,	/* attrib_batch_save */
+	TRUE,	/* attrib_delete_tmp_files */
+	TRUE,	/* attrib_group_catchup_on_exit */
+	FALSE,	/* attrib_mail_8bit_header */
+	FALSE,	/* attrib_mime_forward */
+	FALSE,	/* attrib_mark_ignore_tags */
+	TRUE,	/* attrib_mark_saved_read */
+	TRUE,	/* attrib_pos_first_unread */
+	FALSE,	/* attrib_post_8bit_header */
+	TRUE,	/* attrib_post_process_view */
 #ifndef DISABLE_PRINTING
-	FALSE,		/* attrib_print_header */
+	FALSE,	/* attrib_print_header */
 #endif /* !DISABLE_PRINTING */
-	FALSE,		/* attrib_process_only_unread */
-	FALSE,		/* attrib_prompt_followupto */
-	TRUE,		/* attrib_show_only_unread_arts */
-	TRUE,		/* attrib_show_signatures */
-	FALSE,		/* attrib_show_art_score */
-	TRUE,		/* attrib_sigdashes */
-	TRUE,		/* attrib_signature_repost */
+	FALSE,	/* attrib_process_only_unread */
+	FALSE,	/* attrib_prompt_followupto */
+	TRUE,	/* attrib_show_only_unread_arts */
+	TRUE,	/* attrib_show_signatures */
+	FALSE,	/* attrib_show_art_score */
+	TRUE,	/* attrib_sigdashes */
+	TRUE,	/* attrib_signature_repost */
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-	FALSE,		/* suppress_soft_hyphens */
+	FALSE,	/* suppress_soft_hyphens */
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
-	FALSE,		/* attrib_tex2iso_conv */
-	TRUE,		/* attrib_thread_catchup_on_exit */
-	TRUE,		/* attrib_verbatim_handling */
+	FALSE,	/* attrib_tex2iso_conv */
+	TRUE,	/* attrib_thread_catchup_on_exit */
+	TRUE,	/* attrib_verbatim_handling */
 #ifdef HAVE_COLOR
-	FALSE,		/* attrib_extquote_handling */
+	FALSE,	/* attrib_extquote_handling */
 #endif /* HAVE_COLOR */
-	FALSE,		/* attrib_x_comment_to */
-	TRUE,		/* attrib_wrap_on_next_unread */
-	FALSE,		/* attrib_ask_for_metamail */
-	FALSE,		/* attrib_quick_kill_case */
-	FALSE,		/* attrib_quick_kill_expire */
-	FALSE,		/* attrib_quick_select_case */
-	FALSE		/* attrib_quick_select_expire */
+	FALSE,	/* attrib_x_comment_to */
+	TRUE,	/* attrib_wrap_on_next_unread */
+	FALSE,	/* attrib_ask_for_metamail */
+	FALSE,	/* attrib_quick_kill_case */
+	FALSE,	/* attrib_quick_kill_expire */
+	FALSE,	/* attrib_quick_select_case */
+	FALSE	/* attrib_quick_select_expire */
 };
 
 struct t_capabilities nntp_caps = {
@@ -570,7 +584,8 @@ struct t_capabilities nntp_caps = {
 	FALSE, /* AUTHINFO USER/PASS */
 	FALSE, /* AUTHINFO SASL */
 	FALSE, /* AUTHINFO available but not in current state */
-	SASL_NONE, /* SASL CRAM-MD5 DIGEST-MD5 PLAIN GSSAPI EXTERNAL OTP NTLM LOGIN */
+	NULL, /* SASL mechs implemented on both sides */
+	NULL, /* SASL mech used after handshake */
 	FALSE, /* COMPRESS */
 	COMPRESS_NONE, /* COMPRESS_NONE, COMPRESS_DEFLATE */
 #if defined(MAXARTNUM) && defined(USE_LONG_ARTICLE_NUMBERS)
@@ -678,23 +693,35 @@ init_selfinfo(
 	void)
 {
 	FILE *fp;
-	char *ptr;
+	const char *p;
 	char tmp[PATH_LEN];
-	struct stat sb;
-	struct passwd *myentry;
-#if defined(DOMAIN_NAME) || defined(HAVE_GETHOSTBYNAME)
-	const char *cptr;
-#endif /* DOMAIN_NAME || HAVE_GETHOSTBYNAME */
 	size_t space;
+	const struct passwd *myentry;
+	struct stat sb;
+#if !defined(NNTP_ONLY) || defined(CHARSET_CONVERSION)
+	char *ptr;
+#endif /* !NNTP_ONLY || CHARSET_CONVERSION */
+
+	process_id = getpid();
+
+	real_umask = umask(0);
+	(void) umask(real_umask);
+
+	if ((myentry = getpwuid(getuid())) == NULL) {
+		my_fprintf(stderr, "%s\n", _(txt_error_passwd_missing));
+		free(tin_progname);
+		giveup();
+	} else
+		my_strncpy(userid, myentry->pw_name, sizeof(userid) - 1);
 
-	domain_name[0] = '\0';
+	*domain_name = '\0';
 
 #ifdef HAVE_SYS_UTSNAME_H
 #	ifdef HAVE_UNAME
 	if (uname(&system_info) == -1)
 #	endif /* HAVE_UNAME */
 	{
-		strcpy(system_info.sysname, "unknown");
+		strcpy(system_info.sysname, txt_unknown);
 		*system_info.machine = '\0';
 		*system_info.release = '\0';
 		*system_info.nodename = '\0';
@@ -702,37 +729,21 @@ init_selfinfo(
 #endif /* HAVE_SYS_UTSNAME_H */
 
 #ifdef DOMAIN_NAME
-	if ((cptr = get_domain_name()) != NULL)
-		my_strncpy(domain_name, cptr, MAXHOSTNAMELEN);
+	if ((p = get_domain_name()) != NULL)
+		my_strncpy(domain_name, p, MAXHOSTNAMELEN);
 #endif /* DOMAIN_NAME */
 
 #ifdef HAVE_GETHOSTBYNAME
-	if (domain_name[0] == '\0') {
-		cptr = get_fqdn(get_host_name());
-		if (cptr != NULL)
-			my_strncpy(domain_name, cptr, MAXHOSTNAMELEN);
+	if (!*domain_name) {
+		if ((p = get_fqdn(get_host_name())) != NULL)
+			my_strncpy(domain_name, p, MAXHOSTNAMELEN);
 	}
 #endif /* HAVE_GETHOSTBYNAME */
 
-	process_id = getpid();
-
-	real_umask = umask(0);
-	(void) umask(real_umask);
-
-	if ((myentry = getpwuid(getuid())) == NULL) {
-		error_message(2, _(txt_error_passwd_missing));
-		free(tin_progname);
-		giveup();
-	}
-
-	my_strncpy(userid, myentry->pw_name, sizeof(userid) - 1);
-
 	tmpdir = get_val("TMPDIR", _PATH_TMP);
 
-	if (((ptr = getenv("TIN_HOMEDIR")) != NULL) && strlen(ptr)) {
-		my_strncpy(homedir, ptr, sizeof(homedir) - 1);
-	} else if (((ptr = getenv("HOME")) != NULL) && strlen(ptr)) {
-		my_strncpy(homedir, ptr, sizeof(homedir) - 1);
+	if ((p = get_val("TIN_HOMEDIR", get_val("HOME", NULL))) != NULL) {
+		my_strncpy(homedir, p, sizeof(homedir) - 1);
 	} else if (strlen(myentry->pw_dir)) {
 		strncpy(homedir, myentry->pw_dir, sizeof(homedir) - 1);
 	} else
@@ -742,8 +753,8 @@ init_selfinfo(
 	dangerous_signal_exit = FALSE;
 	disable_gnksa_domain_check = TRUE;
 	disable_sender = FALSE;	/* we set force_no_post=TRUE later on if we don't have a valid FQDN */
-	iso2asc_supported = atoi(get_val("ISO2ASC", DEFAULT_ISO2ASC));
-	if (iso2asc_supported >= NUM_ISO_TABLES || iso2asc_supported < 0) /* TODO: issue a warning here? */
+	iso2asc_supported = s2i(get_val("ISO2ASC", DEFAULT_ISO2ASC), -1, NUM_ISO_TABLES - 1);
+	if (errno) /* TODO: issue a warning here? */
 		iso2asc_supported = -1;
 	list_active = FALSE;
 	newsrc_active = FALSE;
@@ -767,12 +778,12 @@ init_selfinfo(
 	index_savedir[0] = '\0';
 	newsrc[0] = '\0';
 
-	snprintf(page_header, sizeof(page_header), "%s %s release %s (\"%s\") %s",
+	snprintf(page_header, sizeof(page_header), "%s %s release %s (\"%s\")%s",
 		PRODUCT, VERSION, RELEASEDATE, RELEASENAME,
-		(iso2asc_supported >= 0 ? "[ISO2ASC]" : ""));
+		(iso2asc_supported >= 0 ? " [ISO2ASC]" : ""));
 	snprintf(cvers, sizeof(cvers), txt_copyright_notice, page_header);
 
-	default_organization[0] = '\0';
+	default_mime_types_to_save = my_strdup(DEFAULT_MIME_TYPES_TO_SAVE);
 
 	strncpy(bug_addr, BUG_REPORT_ADDRESS, sizeof(bug_addr) - 1);
 
@@ -787,12 +798,16 @@ init_selfinfo(
 	inewsdir[0] = '\0';
 #endif /* INEWSDIR */
 
+	default_organization = NULL;
 #ifdef apollo
-	my_strncpy(default_organization, get_val("NEWSORG", ""), sizeof(default_organization) - 1);
+	default_organization = my_strdup(get_val("NEWSORG", ""));
 #else
-	my_strncpy(default_organization, get_val("ORGANIZATION", ""), sizeof(default_organization) - 1);
+	default_organization = my_strdup(get_val("ORGANIZATION", ""));
 #endif /* apollo */
 
+	default_filter_kill_global = my_strdup(DEFAULT_FILTER);
+	default_filter_select_global = my_strdup(DEFAULT_FILTER);
+
 #ifndef NNTP_ONLY
 	my_strncpy(libdir, get_val("TIN_LIBDIR", NEWSLIBDIR), sizeof(libdir) - 1);
 	my_strncpy(novrootdir, get_val("TIN_NOVROOTDIR", NOVROOTDIR), sizeof(novrootdir) - 1);
@@ -816,21 +831,24 @@ init_selfinfo(
 	 * the site_config-file was the last chance to set the domainname
 	 * if it's still unset fall into no posting mode.
 	 */
-	if (domain_name[0] == '\0') {
-		error_message(4, _(txt_error_no_domain_name));
+	if (!*domain_name) {
 		force_no_post = TRUE;
+		my_fprintf(stderr, "%s\n%s\n", _(txt_error_no_domain_name), _(txt_cannot_post));
+		if (!batch_mode)
+			sleep(4);
 	}
 
+#ifndef NNTP_ONLY
 	/*
 	 * only set the following variables if they weren't set from within
 	 * read_site_config()
 	 *
+	 * what if !*libdir - should be use some fallback other than '/' ?
+	 *
 	 * TODO: do we really want that read_site_config() overwrites
 	 * values given in env-vars? ($MM_CHARSET, $TIN_ACTIVEFILE)
 	 */
 	if (!*news_active_file) {
-		const char *p;
-
 		p = get_val("TIN_ACTIVEFILE", ACTIVE_FILE);
 		if (*p != '/')
 			joinpath(news_active_file, sizeof(news_active_file), libdir, p);
@@ -845,37 +863,53 @@ init_selfinfo(
 		joinpath(subscriptions_file, sizeof(subscriptions_file), libdir, SUBSCRIPTIONS_FILE);
 	if (!*overviewfmt_file)
 		joinpath(overviewfmt_file, sizeof(overviewfmt_file), libdir, OVERVIEW_FMT);
-	if (!*default_organization) {
+	if (!default_organization || !*default_organization) {
 		joinpath(tmp, sizeof(tmp), libdir, "organization");
-		if ((fp = fopen(tmp, "r")) != NULL) {
+		if ((fp = tin_fopen(tmp, "r")) != NULL) {
 			char buf[LEN];
 
 			if (fgets(buf, (int) sizeof(buf), fp) != NULL) {
-				ptr = strrchr(buf, '\n');
-				if (ptr != NULL)
+				if ((ptr = strrchr(buf, '\n')) != NULL)
 					*ptr = '\0';
 			}
 			fclose(fp);
 			my_strncpy(default_organization, buf, sizeof(default_organization) - 1);
+			FreeIfNeeded(default_organization);
+			default_organization = my_strdup(buf);
 		}
 	}
+#endif /* NNTP_ONLY */
 
 	/*
 	 * Formerly get_mm_charset(), read_site_config() may set mm_charset
+	 * No need to set tinrc.mm_local_charset here, main.c:main() always sets a default value
 	 */
 #ifndef CHARSET_CONVERSION
-	if (!*tinrc.mm_charset)
-		STRCPY(tinrc.mm_charset, get_val("MM_CHARSET", MM_CHARSET));
+	if (!tinrc.mm_charset || !*tinrc.mm_charset) {
+		FreeIfNeeded(tinrc.mm_charset);
+		tinrc.mm_charset = my_strdup(get_val("MM_CHARSET", MM_CHARSET));
+	}
 #else
 	if (tinrc.mm_network_charset < 0) {
-		space = 255;
-
+		space = 127;
 		ptr = my_malloc(space + 1);
-
-		snprintf(ptr, space, "mm_network_charset=%s\n", get_val("MM_CHARSET", MM_CHARSET));
-		if (!match_list(ptr, "mm_network_charset=", txt_mime_charsets, &tinrc.mm_network_charset)) /* $MM_CHARSET may be set invalid, fallback */
-			snprintf(ptr, space, "mm_network_charset=%s\n", MM_CHARSET);
-
+		/* check $MM_CHARSET */
+		if ((p = validate_charset(get_val("MM_CHARSET", NULL)))) {
+			snprintf(ptr, space, "mm_network_charset=%s\n", p);
+			if (!match_list(ptr, "mm_network_charset=", txt_mime_charsets, &tinrc.mm_network_charset)) {
+				/* fallback to MM_CHARSET */
+				snprintf(ptr, space, "mm_network_charset=%s\n", MM_CHARSET);
+				if (!match_list(ptr, "mm_network_charset=", txt_mime_charsets, &tinrc.mm_network_charset))
+					/* fallback to US-ASCII */
+					tinrc.mm_network_charset = 0;
+			}
+		} else {
+				/* fallback to MM_CHARSET */
+				snprintf(ptr, space, "mm_network_charset=%s\n", MM_CHARSET);
+				if (!match_list(ptr, "mm_network_charset=", txt_mime_charsets, &tinrc.mm_network_charset))
+					/* fallback to US-ASCII */
+					tinrc.mm_network_charset = 0;
+		}
 		free(ptr);
 	}
 #endif /* !CHARSET_CONVERSION */
@@ -892,19 +926,44 @@ init_selfinfo(
 	joinpath(rcdir, sizeof(rcdir), homedir, RCDIR);
 	if (stat(rcdir, &sb) == -1) {
 		if (my_mkdir(rcdir, (mode_t) (S_IRWXU)) == -1) {
-			error_message(0, _(txt_cannot_create), rcdir);
+			my_fprintf(stderr, _(txt_cannot_create), rcdir);
+			my_fprintf(stderr, "\n");
 			free_all_arrays();
 			giveup();
 		} else
 			created_rcdir = TRUE;
 	}
-	strcpy(tinrc.mailer_format, MAILER_FORMAT);
+	tinrc.mailer_format = my_strdup(MAILER_FORMAT);
 	my_strncpy(mailer, get_val(ENV_VAR_MAILER, DEFAULT_MAILER), sizeof(mailer) - 1);
-	STRCPY(tinrc.editor_format, TIN_EDITOR_FMT);
+	tinrc.editor_format = my_strdup(TIN_EDITOR_FMT);
+	tinrc.attrib_editor_format = NULL;
 #ifndef DISABLE_PRINTING
-	strcpy(tinrc.printer, DEFAULT_PRINTER);
+	tinrc.printer = my_strdup(DEFAULT_PRINTER);
 #endif /* !DISABLE_PRINTING */
-	strcpy(tinrc.inews_prog, PATH_INEWS);
+	tinrc.default_range_group = my_strdup(DEFAULT_RANGE);
+	tinrc.default_range_select = my_strdup(DEFAULT_RANGE);
+	tinrc.default_range_thread = my_strdup(DEFAULT_RANGE);
+	tinrc.default_save_file = my_strdup(DEFAULT_SAVE_FILE);
+	tinrc.mail_quote_format = my_strdup(MAIL_QUOTE_FORMAT);
+#ifdef HAVE_METAMAIL
+	tinrc.metamail_prog = my_strdup(METAMAIL_CMD);
+#else
+	tinrc.metamail_prog = my_strdup(INTERNAL_CMD);
+#endif /* HAVE_METAMAIL */
+	tinrc.news_headers_to_display = my_strdup(DEFAULT_NEWS_HEADERS_TO_DISPLAY);
+	tinrc.news_quote_format = my_strdup(DEFAULT_NEWS_QUOTE_FORMAT);
+	tinrc.quote_chars = my_strdup(DEFAULT_COMMENT);
+	tinrc.url_handler = my_strdup(DEFAULT_URL_HANDLER);
+	tinrc.posted_articles_file = my_strdup(POSTED_FILE);
+	tinrc.xpost_quote_format = my_strdup(DEFAULT_XPOST_QUOTE_FORMAT);
+	tinrc.inews_prog = my_strdup(PATH_INEWS);
+	tinrc.select_format = my_strdup(DEFAULT_SELECT_FORMAT);
+	tinrc.group_format = my_strdup(DEFAULT_GROUP_FORMAT);
+	tinrc.thread_format = my_strdup(DEFAULT_THREAD_FORMAT);
+	tinrc.attachment_format = my_strdup(DEFAULT_ATTACHMENT_FORMAT);
+	tinrc.page_mime_format = my_strdup(DEFAULT_PAGE_MIME_FORMAT);
+	tinrc.page_uue_format = my_strdup(DEFAULT_PAGE_UUE_FORMAT);
+	tinrc.date_format = my_strdup(DEFAULT_DATE_FORMAT);
 	joinpath(article_name, sizeof(article_name), homedir, TIN_ARTICLE_NAME);
 #ifdef APPEND_PID
 	snprintf(article_name + strlen(article_name), sizeof(article_name) - strlen(article_name), ".%ld", (long) process_id);
@@ -924,36 +983,46 @@ init_selfinfo(
 
 	joinpath(dead_article, sizeof(dead_article), homedir, "dead.article");
 	joinpath(dead_articles, sizeof(dead_articles), homedir, "dead.articles");
-	joinpath(tinrc.maildir, sizeof(tinrc.maildir), homedir, DEFAULT_MAILDIR);
-	joinpath(tinrc.savedir, sizeof(tinrc.savedir), homedir, DEFAULT_SAVEDIR);
-	joinpath(tinrc.sigfile, sizeof(tinrc.sigfile), homedir, ".Sig");
+	joinpath(tmp, sizeof(tmp), homedir, DEFAULT_MAILDIR);
+	tinrc.maildir = my_strdup(tmp);
+	joinpath(tmp, sizeof(tmp), homedir, DEFAULT_SAVEDIR);
+	tinrc.savedir = my_strdup(tmp);
+	joinpath(tmp, sizeof(tmp), homedir, DEFAULT_SIGFILE);
+	tinrc.sigfile = my_strdup(tmp);
 	joinpath(default_signature, sizeof(default_signature), homedir, ".signature");
 
 	if (!index_newsdir[0])
 		joinpath(index_newsdir, sizeof(index_newsdir), get_val("TIN_INDEX_NEWSDIR", rcdir), INDEX_NEWSDIR);
 	joinpath(index_maildir, sizeof(index_maildir), get_val("TIN_INDEX_MAILDIR", rcdir), INDEX_MAILDIR);
 	if (stat(index_maildir, &sb) == -1) {
-		if (my_mkdir(index_maildir, (mode_t) S_IRWXU) == -1)
-			error_message(2, _(txt_cannot_create), index_maildir);
+		if (my_mkdir(index_maildir, (mode_t) S_IRWXU) == -1) {
+			my_fprintf(stderr, _(txt_cannot_create), index_maildir);
+			my_fprintf(stderr, "\n");
+			if (!batch_mode)
+				sleep(2);
+		}
 	}
 	joinpath(index_savedir, sizeof(index_savedir), get_val("TIN_INDEX_SAVEDIR", rcdir), INDEX_SAVEDIR);
 	if (stat(index_savedir, &sb) == -1) {
-		if (my_mkdir(index_savedir, (mode_t) S_IRWXU) == -1)
-			error_message(2, _(txt_cannot_create), index_savedir);
+		if (my_mkdir(index_savedir, (mode_t) S_IRWXU) == -1) {
+			my_fprintf(stderr, _(txt_cannot_create), index_savedir);
+			my_fprintf(stderr, "\n");
+			if (!batch_mode)
+				sleep(2);
+		}
 	}
 	joinpath(local_attributes_file, sizeof(local_attributes_file), rcdir, ATTRIBUTES_FILE);
 	joinpath(local_config_file, sizeof(local_config_file), rcdir, CONFIG_FILE);
 	joinpath(filter_file, sizeof(filter_file), rcdir, FILTER_FILE);
 	joinpath(local_input_history_file, sizeof(local_input_history_file), rcdir, INPUT_HISTORY_FILE);
-	joinpath(local_newsrctable_file, sizeof(local_newsrctable_file), rcdir, NEWSRCTABLE_FILE);
+	joinpath(newsrctable_file, sizeof(newsrctable_file), rcdir, NEWSRCTABLE_FILE);
 #ifdef HAVE_MH_MAIL_HANDLING
 	joinpath(mail_active_file, sizeof(mail_active_file), rcdir, ACTIVE_MAIL_FILE);
 #endif /* HAVE_MH_MAIL_HANDLING */
-	ptr = getenv("MAIL");
-	if (ptr == NULL || (*ptr == '\0'))
+	if ((p = get_val("MAILPATH", get_val("MAIL", NULL))) != NULL) {
+		STRCPY(mailbox, p);
+	} else
 		joinpath(mailbox, sizeof(mailbox), DEFAULT_MAILBOX, userid);
-	else
-		STRCPY(mailbox, ptr);
 #ifdef HAVE_MH_MAIL_HANDLING
 	joinpath(mailgroups_file, sizeof(mailgroups_file), rcdir, MAILGROUPS_FILE);
 #endif /* HAVE_MH_MAIL_HANDLING */
@@ -966,14 +1035,28 @@ init_selfinfo(
 	joinpath(postponed_articles_file, sizeof(postponed_articles_file), rcdir, POSTPONED_FILE);
 	joinpath(save_active_file, sizeof(save_active_file), rcdir, ACTIVE_SAVE_FILE);
 
-	snprintf(tmp, sizeof(tmp), INDEX_LOCK, userid);
-	joinpath(lock_file, sizeof(lock_file), tmpdir, tmp);
+#ifdef HAVE_LONG_FILE_NAMES
+	snprintf(tmp, sizeof(tmp), "tin.%.*s.LCK", MIN((int) (sizeof(tmp) - 9), LOGIN_NAME_MAX - 1), userid);
+#else
+	snprintf(tmp, sizeof(tmp), "%.10s.LCK", userid);
+#endif /* HAVE_LONG_FILE_NAMES */
+	/*
+	 * TODO: rcdir is better than tmpdir, but serverdir (or
+	 *       index_newsdir"-"servername) would make most sense as that
+	 *       would allow simultaneous updates from different servers,
+	 *       unfortunately we don't know the servername yet
+	 */
+	joinpath(lock_file, sizeof(lock_file), rcdir, tmp);
 
 #ifdef NNTP_ABLE
-	nntp_tcp_default_port = (unsigned short) atoi(get_val("NNTPPORT", NNTP_TCP_PORT));
-#ifdef NNTPS_ABLE
-	nntps_tcp_default_port = (unsigned short) atoi(get_val("NNTPSPORT", NNTPS_TCP_PORT));
-#endif /* NNTPS_ABLE */
+	nntp_tcp_default_port = (unsigned short) s2i(get_val("NNTPPORT", NNTP_TCP_PORT), 0, 65535);
+	if (errno)
+		nntp_tcp_default_port = IPPORT_NNTP;
+#	ifdef NNTPS_ABLE
+	nntps_tcp_default_port = (unsigned short) s2i(get_val("NNTPSPORT", NNTPS_TCP_PORT), 0, 65535);
+	if (errno)
+		nntps_tcp_default_port = IPPORT_NNTPS;
+#	endif /* NNTPS_ABLE */
 #endif /* NNTP_ABLE */
 
 	if ((fp = fopen(posted_info_file, "a")) != NULL) {
@@ -1015,23 +1098,26 @@ read_site_config(
 	void)
 {
 	FILE *fp = (FILE *) 0;
-	char buf[LEN], filename[PATH_LEN];
+	char *buf, filename[PATH_LEN];
 	static const char *tin_defaults[] = { TIN_DEFAULTS };
 	int i = 0;
 
 	/*
 	 * try to find tin.defaults in some different locations
 	 */
+	*global_defaults_file = '\0';
 	while (tin_defaults[i] != NULL) {
 		joinpath(filename, sizeof(filename), tin_defaults[i++], "tin.defaults");
-		if ((fp = fopen(filename, "r")) != NULL)
+		if ((fp = tin_fopen(filename, "r")) != NULL) {
+			STRCPY(global_defaults_file, filename);
 			break;
+		}
 	}
 
 	if (!fp)
 		return -1;
 
-	while (fgets(buf, (int) sizeof(buf), fp)) {
+	while ((buf = tin_fgets(fp, FALSE)) != NULL) {
 		/* ignore comments */
 		if (*buf == '#' || *buf == ';' || *buf == ' ')
 			continue;
@@ -1061,10 +1147,10 @@ read_site_config(
 			continue;
 		if (match_string(buf, "bugaddress=", bug_addr, sizeof(bug_addr)))
 			continue;
-		if (match_string(buf, "organization=", default_organization, sizeof(default_organization)))
+		if (match_string_ptr(buf, "organization=", &default_organization))
 			continue;
 #ifndef CHARSET_CONVERSION
-		if (match_string(buf, "mm_charset=", tinrc.mm_charset, sizeof(tinrc.mm_charset)))
+		if (match_string_ptr(buf, "mm_charset=", &tinrc.mm_charset))
 			continue;
 #else
 		if (match_list(buf, "mm_charset=", txt_mime_charsets, &tinrc.mm_network_charset))
@@ -1092,11 +1178,13 @@ void
 postinit_regexp(
 	void)
 {
-	if (!*tinrc.strip_re_regex)
-		STRCPY(tinrc.strip_re_regex, DEFAULT_STRIP_RE_REGEX);
+	if (!tinrc.strip_re_regex || !*tinrc.strip_re_regex) {
+		FreeIfNeeded(tinrc.strip_re_regex);
+		tinrc.strip_re_regex = my_strdup(DEFAULT_STRIP_RE_REGEX);
+	}
 	compile_regex(tinrc.strip_re_regex, &strip_re_regex, REGEX_ANCHORED);
 
-	if (*tinrc.strip_was_regex) {
+	if (tinrc.strip_was_regex && *tinrc.strip_was_regex) {
 		/*
 		 * try to be clever, if we still use the initial default value
 		 * convert it to our needs
@@ -1104,53 +1192,80 @@ postinit_regexp(
 		 * TODO: a global solution
 		 */
 		if (regex_use_utf8()) {
-			if (!strcmp(tinrc.strip_was_regex, DEFAULT_STRIP_WAS_REGEX))
-				STRCPY(tinrc.strip_was_regex, DEFAULT_U8_STRIP_WAS_REGEX);
+			if (!strcmp(tinrc.strip_was_regex, DEFAULT_STRIP_WAS_REGEX)) {
+				free(tinrc.strip_was_regex);
+				tinrc.strip_was_regex = my_strdup(DEFAULT_U8_STRIP_WAS_REGEX);
+			}
 		} else {
-			if (!strcmp(tinrc.strip_was_regex, DEFAULT_U8_STRIP_WAS_REGEX))
-				STRCPY(tinrc.strip_was_regex, DEFAULT_STRIP_WAS_REGEX);
+			if (!strcmp(tinrc.strip_was_regex, DEFAULT_U8_STRIP_WAS_REGEX)) {
+				free(tinrc.strip_was_regex);
+				tinrc.strip_was_regex = my_strdup(DEFAULT_STRIP_WAS_REGEX);
+			}
 		}
 	} else {
-		if (regex_use_utf8())
-			STRCPY(tinrc.strip_was_regex, DEFAULT_U8_STRIP_WAS_REGEX);
-		else
-			STRCPY(tinrc.strip_was_regex, DEFAULT_STRIP_WAS_REGEX);
+		if (regex_use_utf8()) {
+			FreeIfNeeded(tinrc.strip_was_regex);
+			tinrc.strip_was_regex = my_strdup(DEFAULT_U8_STRIP_WAS_REGEX);
+		} else {
+			FreeIfNeeded(tinrc.strip_was_regex);
+			tinrc.strip_was_regex = my_strdup(DEFAULT_STRIP_WAS_REGEX);
+		}
 	}
 	compile_regex(tinrc.strip_was_regex, &strip_was_regex, 0);
 
 #ifdef HAVE_COLOR
-	if (!*tinrc.extquote_regex)
-		STRCPY(tinrc.extquote_regex, DEFAULT_EXTQUOTE_REGEX);
+	if (!tinrc.extquote_regex || !*tinrc.extquote_regex) {
+		FreeIfNeeded(tinrc.extquote_regex);
+		tinrc.extquote_regex = my_strdup(DEFAULT_EXTQUOTE_REGEX);
+	}
 	compile_regex(tinrc.extquote_regex, &extquote_regex, REGEX_CASELESS);
-	if (!*tinrc.quote_regex)
-		STRCPY(tinrc.quote_regex, DEFAULT_QUOTE_REGEX);
+	if (!tinrc.quote_regex || !*tinrc.quote_regex) {
+		FreeIfNeeded(tinrc.quote_regex);
+		tinrc.quote_regex = my_strdup(DEFAULT_QUOTE_REGEX);
+	}
 	compile_regex(tinrc.quote_regex, &quote_regex, REGEX_CASELESS);
-	if (!*tinrc.quote_regex2)
-		STRCPY(tinrc.quote_regex2, DEFAULT_QUOTE_REGEX2);
+	if (!tinrc.quote_regex2 || !*tinrc.quote_regex2) {
+		FreeIfNeeded(tinrc.quote_regex2);
+		tinrc.quote_regex2 = my_strdup(DEFAULT_QUOTE_REGEX2);
+	}
 	compile_regex(tinrc.quote_regex2, &quote_regex2, REGEX_CASELESS);
-	if (!*tinrc.quote_regex3)
-		STRCPY(tinrc.quote_regex3, DEFAULT_QUOTE_REGEX3);
+	if (!tinrc.quote_regex3 || !*tinrc.quote_regex3) {
+		FreeIfNeeded(tinrc.quote_regex3);
+		tinrc.quote_regex3 = my_strdup(DEFAULT_QUOTE_REGEX3);
+	}
 	compile_regex(tinrc.quote_regex3, &quote_regex3, REGEX_CASELESS);
 #endif /* HAVE_COLOR */
 
-	if (!*tinrc.slashes_regex)
-		STRCPY(tinrc.slashes_regex, DEFAULT_SLASHES_REGEX);
+	if (!tinrc.slashes_regex || !*tinrc.slashes_regex) {
+		FreeIfNeeded(tinrc.slashes_regex);
+		tinrc.slashes_regex = my_strdup(DEFAULT_SLASHES_REGEX);
+	}
 	compile_regex(tinrc.slashes_regex, &slashes_regex, REGEX_CASELESS);
-	if (!*tinrc.stars_regex)
-		STRCPY(tinrc.stars_regex, DEFAULT_STARS_REGEX);
+	if (!tinrc.stars_regex || !*tinrc.stars_regex) {
+		FreeIfNeeded(tinrc.stars_regex);
+		tinrc.stars_regex = my_strdup(DEFAULT_STARS_REGEX);
+	}
 	compile_regex(tinrc.stars_regex, &stars_regex, REGEX_CASELESS);
-	if (!*tinrc.strokes_regex)
-		STRCPY(tinrc.strokes_regex, DEFAULT_STROKES_REGEX);
+	if (!tinrc.strokes_regex || !*tinrc.strokes_regex) {
+		FreeIfNeeded(tinrc.strokes_regex);
+		tinrc.strokes_regex = my_strdup(DEFAULT_STROKES_REGEX);
+	}
 	compile_regex(tinrc.strokes_regex, &strokes_regex, REGEX_CASELESS);
-	if (!*tinrc.underscores_regex)
-		STRCPY(tinrc.underscores_regex, DEFAULT_UNDERSCORES_REGEX);
+	if (!tinrc.underscores_regex || !*tinrc.underscores_regex) {
+		FreeIfNeeded(tinrc.underscores_regex);
+		tinrc.underscores_regex = my_strdup(DEFAULT_UNDERSCORES_REGEX);
+	}
 	compile_regex(tinrc.underscores_regex, &underscores_regex, REGEX_CASELESS);
 
-	if (!*tinrc.verbatim_begin_regex)
-		STRCPY(tinrc.verbatim_begin_regex, DEFAULT_VERBATIM_BEGIN_REGEX);
+	if (!tinrc.verbatim_begin_regex || !*tinrc.verbatim_begin_regex) {
+		FreeIfNeeded(tinrc.verbatim_begin_regex);
+		tinrc.verbatim_begin_regex = my_strdup(DEFAULT_VERBATIM_BEGIN_REGEX);
+	}
 	compile_regex(tinrc.verbatim_begin_regex, &verbatim_begin_regex, REGEX_ANCHORED);
-	if (!*tinrc.verbatim_end_regex)
-		STRCPY(tinrc.verbatim_end_regex, DEFAULT_VERBATIM_END_REGEX);
+	if (!tinrc.verbatim_end_regex || !*tinrc.verbatim_end_regex) {
+		FreeIfNeeded(tinrc.verbatim_end_regex);
+		tinrc.verbatim_end_regex = my_strdup(DEFAULT_VERBATIM_END_REGEX);
+	}
 	compile_regex(tinrc.verbatim_end_regex, &verbatim_end_regex, REGEX_ANCHORED);
 
 	compile_regex(UUBEGIN_REGEX, &uubegin_regex, REGEX_ANCHORED);
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/joinpath.c tin-2.6.4/src/joinpath.c
--- tin-2.6.3/src/joinpath.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/joinpath.c	2024-11-25 20:40:37.571796475 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2008-12-04
  *  Notes     :
  *
- * Copyright (c) 1997-2024 Thomas Dickey <dickey@invisible-island.net>
+ * Copyright (c) 1997-2025 Thomas Dickey <dickey@invisible-island.net>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/keymap.c tin-2.6.4/src/keymap.c
--- tin-2.6.3/src/keymap.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/keymap.c	2024-12-05 01:54:16.526820587 +0100
@@ -3,10 +3,10 @@
  *  Module    : keymap.c
  *  Author    : D. Nimmich, J. Faultless
  *  Created   : 2000-05-25
- *  Updated   : 2023-12-22
+ *  Updated   : 2024-12-05
  *  Notes     : This file contains key mapping routines and variables.
  *
- * Copyright (c) 2000-2024 Dirk Nimmich <nimmich@muenster.de>
+ * Copyright (c) 2000-2025 Dirk Nimmich <nimmich@muenster.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -52,14 +52,14 @@ static void add_global_keys(struct keyli
 static void free_keylist(struct keylist *keys);
 static void upgrade_keymap_file(char *old);
 static t_bool process_keys(t_function func, const char *keys, struct keylist *kl);
-static t_bool process_mapping(char *keyname, char *keys);
+static t_bool process_mapping(const char *keyname, const char *keys);
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 	static t_bool add_key(struct keylist *keys, const wchar_t key, t_function func, t_bool override);
 #else
 	static t_bool add_key(struct keylist *keys, const char key, t_function func, t_bool override);
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
-struct keylist attachment_keys = { NULL, 0, 0};
+struct keylist attachment_keys = { NULL, 0, 0 };
 struct keylist feed_post_process_keys = { NULL, 0, 0 };
 struct keylist feed_supersede_article_keys = { NULL, 0, 0 };
 struct keylist feed_type_keys = { NULL, 0, 0 };
@@ -332,8 +332,7 @@ read_keymap_file(
 	char *line, *keydef, *kname;
 	char *p, *q;
 	char *map = NULL;
-	char *l = NULL;
-	char *locale = NULL;
+	char *l, *locale;
 	char *language = NULL;
 	char *territory = NULL;
 	char *codeset = NULL, *normcodeset = NULL;
@@ -342,6 +341,7 @@ read_keymap_file(
 	char dirs[3][PATH_LEN]; /* 2 dirs + endmark */
 	char buf[LEN];
 	int k = 0, j, i = 0, n;
+	size_t s;
 	struct t_version *upgrade = NULL;
 	t_bool ret = TRUE;
 
@@ -371,7 +371,7 @@ read_keymap_file(
 	l = my_strdup(get_val("LC_ALL", get_val("LC_MESSAGES", get_val("LC_CTYPE", get_val("LANG", "")))));
 
 	if ((locale = strrchr(l, '/'))) /* skip path */
-		locale++;
+		++locale;
 	else
 		locale = l;
 
@@ -406,12 +406,18 @@ read_keymap_file(
 			*q = '\0';
 
 			/* normalized .codeset */
-			q = normcodeset = my_strdup(codeset);
-			for (p = codeset; *p != '\0'; p++) {
-				if (isalpha((int) *p) || isdigit((int) *p) || *p == '.')
+			q = normcodeset = my_malloc(strlen(codeset) + 1);
+			*q++ = *codeset; /* skip initial '.' */
+			for (p = codeset + 1; *p != '\0'; p++) {
+				if (isdigit((unsigned char) *p)) {
+					*q++ = *p;
+					continue;
+				}
+				if (isalpha((unsigned char) *p))
 					*q++ = (char) my_tolower((unsigned char) *p);
 			}
 			*q = '\0';
+			/* TODO: prefix "iso" to normcodeset if it consist only of numbers? */
 		}
 
 		if (codeset && normcodeset) {
@@ -424,54 +430,58 @@ read_keymap_file(
 	for (k = 0; dirs[k][0] != '\0'; k++) {
 		if (*locale) {
 			if (codeset) {
-				n = snprintf(NULL, 0, "%s/%s.%s%s%s%s", dirs[k], KEYMAP_FILE, BlankIfNull(language), BlankIfNull(territory), codeset, BlankIfNull(modifier));
-				fnames[i] = my_malloc(++n);
-				snprintf(fnames[i++], n, "%s/%s.%s%s%s%s", dirs[k], KEYMAP_FILE, BlankIfNull(language), BlankIfNull(territory), codeset, BlankIfNull(modifier));
+				if ((n = snprintf(NULL, 0, "%s/%s.%s%s%s%s", dirs[k], KEYMAP_FILE, BlankIfNull(language), BlankIfNull(territory), codeset, BlankIfNull(modifier))) > 0) {
+					s = (size_t) n + 1;
+					fnames[i] = my_malloc(s);
+					if (snprintf(fnames[i], s, "%s/%s.%s%s%s%s", dirs[k], KEYMAP_FILE, BlankIfNull(language), BlankIfNull(territory), codeset, BlankIfNull(modifier)) == n)
+						++i;
+				}
 			}
 			if (normcodeset) {
-				n = snprintf(NULL, 0, "%s/%s.%s%s%s%s", dirs[k], KEYMAP_FILE, BlankIfNull(language), BlankIfNull(territory), normcodeset, BlankIfNull(modifier));
-				fnames[i] = my_malloc(++n);
-				snprintf(fnames[i++], n, "%s/%s.%s%s%s%s", dirs[k], KEYMAP_FILE, BlankIfNull(language), BlankIfNull(territory), normcodeset, BlankIfNull(modifier));
+				if ((n = snprintf(NULL, 0, "%s/%s.%s%s%s%s", dirs[k], KEYMAP_FILE, BlankIfNull(language), BlankIfNull(territory), normcodeset, BlankIfNull(modifier))) > 0) {
+					s = (size_t) n + 1;
+					fnames[i] = my_malloc(s);
+					if (snprintf(fnames[i], s, "%s/%s.%s%s%s%s", dirs[k], KEYMAP_FILE, BlankIfNull(language), BlankIfNull(territory), normcodeset, BlankIfNull(modifier)) == n)
+						++i;
+				}
 			}
 			if (territory) {
-				n = snprintf(NULL, 0, "%s/%s.%s%s%s", dirs[k], KEYMAP_FILE, BlankIfNull(language), territory, BlankIfNull(modifier));
-				fnames[i] = my_malloc(++n);
-				snprintf(fnames[i++], n, "%s/%s.%s%s%s", dirs[k], KEYMAP_FILE, BlankIfNull(language), territory, BlankIfNull(modifier));
+				if ((n = snprintf(NULL, 0, "%s/%s.%s%s%s", dirs[k], KEYMAP_FILE, BlankIfNull(language), territory, BlankIfNull(modifier))) > 0) {
+					s = (size_t) n + 1;
+					fnames[i] = my_malloc(s);
+					if (snprintf(fnames[i], s, "%s/%s.%s%s%s", dirs[k], KEYMAP_FILE, BlankIfNull(language), territory, BlankIfNull(modifier)) == n)
+						++i;
+				}
 			}
 			if (modifier) {
-				n = snprintf(NULL, 0, "%s/%s.%s%s", dirs[k], KEYMAP_FILE, BlankIfNull(language), modifier);
-				fnames[i] = my_malloc(++n);
-				snprintf(fnames[i++], n, "%s/%s.%s%s", dirs[k], KEYMAP_FILE, BlankIfNull(language), modifier);
+				if ((n = snprintf(NULL, 0, "%s/%s.%s%s", dirs[k], KEYMAP_FILE, BlankIfNull(language), modifier)) > 0) {
+					s = (size_t) n + 1;
+					fnames[i] = my_malloc(s);
+					if (snprintf(fnames[i], s, "%s/%s.%s%s", dirs[k], KEYMAP_FILE, BlankIfNull(language), modifier) == n)
+						++i;
+				}
 			}
 			if (language) {
-				n = snprintf(NULL, 0, "%s/%s.%s", dirs[k], KEYMAP_FILE, language);
-				fnames[i] = my_malloc(++n);
-				snprintf(fnames[i++], n, "%s/%s.%s", dirs[k], KEYMAP_FILE, language);
+				if ((n = snprintf(NULL, 0, "%s/%s.%s", dirs[k], KEYMAP_FILE, language)) > 0) {
+					s = (size_t) n + 1;
+					fnames[i] = my_malloc(s);
+					if (snprintf(fnames[i], s, "%s/%s.%s", dirs[k], KEYMAP_FILE, language) == n)
+						++i;
+				}
 			}
 		}
-		n = snprintf(NULL, 0, "%s/%s", dirs[k], KEYMAP_FILE);
-		fnames[i] = my_malloc(++n);
-		snprintf(fnames[i++], n, "%s/%s", dirs[k], KEYMAP_FILE);
+		if ((n = snprintf(NULL, 0, "%s/%s", dirs[k], KEYMAP_FILE)) > 0) {
+			s = (size_t) n + 1;
+			fnames[i] = my_malloc(s);
+			if (snprintf(fnames[i], s, "%s/%s", dirs[k], KEYMAP_FILE) == n)
+				++i;
+		}
 	}
 
 	/* first non empty match wins */
 	for (j = 0; j < i && !fp; j++) {
-		if ((fp = fopen(fnames[j], "r")) != NULL) {
-			struct stat st;
-
-			if (fstat(fileno(fp), &st) != -1) { /* disallow symlinks? */
-				if (/*S_ISREG(st.st_mode) && */st.st_size > 0L)
-					break;
-#ifdef DEBUG
-				else {
-					if (debug & DEBUG_MISC)
-						error_message(2, "Skipping empty keymap-file: %s", fnames[j]);
-				}
-#endif /* DEBUG */
-			}
-			fclose(fp);
-			fp = NULL;
-		}
+		if ((fp = tin_fopen(fnames[j], "r")) != NULL)
+			break;
 	}
 
 	free(l);
@@ -493,6 +503,7 @@ read_keymap_file(
 	if (!fp)
 		return TRUE; /* no keymap file is not an error */
 
+	STRCPY(keymap_file, map); /* remember name for connection-page */
 	/* check if keymap file is up-to-date */
 	while ((line = fgets(buf, sizeof(buf), fp)) != NULL) {
 		if (line[0] == '#') {
@@ -503,7 +514,7 @@ read_keymap_file(
 					fclose(fp);
 					upgrade_keymap_file(map);
 					upgrade->state = RC_IGNORE;
-					if (!(fp = fopen(map, "r"))) { /* TODO: issue error message? */
+					if (!(fp = tin_fopen(map, "r"))) { /* TODO: issue error message? */
 						free(map);
 						FreeAndNull(upgrade);
 						return TRUE;
@@ -551,7 +562,7 @@ read_keymap_file(
 	fclose(fp);
 	setup_default_keys();
 	if (upgrade && upgrade->state != RC_IGNORE)
-		upgrade_prompt_quit(upgrade, map);
+		upgrade_prompt_quit(upgrade, map, NULL);
 
 	free(map);
 	FreeAndNull(upgrade);
@@ -628,7 +639,7 @@ process_keys(
 						break;
 					}
 #else
-					if (isupper((int)(unsigned char) keydef[1])) {
+					if (isupper((unsigned char) keydef[1])) {
 						key = ctrl(keydef[1]);
 						break;
 					}
@@ -644,7 +655,7 @@ process_keys(
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 			if (iswdigit((wint_t) (key = wkeydef[0])))
 #else
-			if (isdigit(key = keydef[0]))
+			if (isdigit((unsigned char) (key = keydef[0])))
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 			{
 				error_message(0, _(txt_keymap_invalid_key), keydef);
@@ -673,8 +684,8 @@ process_keys(
  */
 static t_bool
 process_mapping(
-	char *keyname,				/* Keyname we're searching for */
-	char *keys)				/* Key to assign to keyname if found */
+	const char *keyname,				/* Keyname we're searching for */
+	const char *keys)				/* Key to assign to keyname if found */
 {
 	switch (keyname[0]) {
 		case 'A':
@@ -1157,6 +1168,11 @@ process_mapping(
 			break;
 
 		case 'P':
+			if (STRCMPEQ(keyname, "PageArticleInfo")) {
+				process_keys(PAGE_ARTICLE_INFO, keys, &page_keys);
+
+				return TRUE;
+			}
 			if (STRCMPEQ(keyname, "PageAutoSave")) {
 				process_keys(PAGE_AUTOSAVE, keys, &page_keys);
 
@@ -2082,11 +2098,12 @@ upgrade_keymap_file(
 	char *threadreadart[2] = { NULL, NULL };
 	char *up[2] = { NULL, NULL };
 
-	if ((oldfp = fopen(old, "r")) == NULL)
+	if ((oldfp = tin_fopen(old, "r")) == NULL)
 		return;
 
 	snprintf(newk, sizeof(newk), "%s.%ld", old, (long) process_id);
 	if ((newfp = fopen(newk, "w")) == NULL) {
+		perror_message(_(txt_cannot_open_for_saving), newk);
 		fclose(oldfp);
 		return;
 	}
@@ -2176,6 +2193,7 @@ upgrade_keymap_file(
 				FreeAndNull(postponed[0]);
 				FreeAndNull(postponed[1]);
 			}
+			/* TODO: this was merged with GLOBAL_POST "Post" */
 			if (postpost[0] || postpost[1] || postpost[2]) {
 				fprintf(newfp, "PostPost\t\t");
 				if (postpost[0])
@@ -2274,6 +2292,7 @@ upgrade_keymap_file(
 
 		switch (keyname[0]) {
 			case 'C':
+				/* TODO ConfigFirstPage/keyname was merged with GLOBAL_FIRST_PAGE/GLOBAL_LAST_PAGE */
 				if (STRCMPEQ(keyname, "ConfigFirstPage2"))
 					fprintf(newfp, "ConfigFirstPage\t\t\t%s\n", keydef);
 				else if (STRCMPEQ(keyname, "ConfigLastPage2"))
@@ -2325,6 +2344,7 @@ upgrade_keymap_file(
 				break;
 
 			case 'H':
+				/* TODO: HelpFirstPage/HelpLastPage was merged with GLOBAL_FIRST_PAGE/GLOBAL_LAST_PAGE */
 				if (STRCMPEQ(keyname, "HelpFirstPage2"))
 					fprintf(newfp, "HelpFirstPage\t\t\t%s\n", keydef);
 				else if (STRCMPEQ(keyname, "HelpLastPage2"))
@@ -2348,6 +2368,10 @@ upgrade_keymap_file(
 				break;
 
 			case 'P':
+				/*
+				 * TODO: - PageFirstPage/PageLastPage was merged with GLOBAL_FIRST_PAGE/GLOBAL_LAST_PAGE
+				 *       - PostPost with GLOBAL_POST "Post"
+				 */
 				if (STRCMPEQ(keyname, "PageAutoSel"))
 					menu_filter_select[1] = my_strdup(keydef);
 				else if (STRCMPEQ(keyname, "PageQuickAutoSel"))
@@ -2399,8 +2423,8 @@ upgrade_keymap_file(
 				else if (STRCMPEQ(keyname, "PageToggleHeaders"))
 					fprintf(newfp, "PageToggleRaw\t\t\t%s\n", keydef);
 				else if (STRCMPEQ(keyname, "PromptNo") || STRCMPEQ(keyname, "PromptYes")) {
-					if (strlen(keydef) == 1 && islower((int)(unsigned char) keydef[0]))
-						fprintf(newfp, "%s\t\t\t%c\t%c\n", keyname, keydef[0], my_toupper((int)(unsigned char) keydef[0]));
+					if (strlen(keydef) == 1 && islower((unsigned char) keydef[0]))
+						fprintf(newfp, "%s\t\t\t%c\t%c\n", keyname, keydef[0], my_toupper((unsigned char) keydef[0]));
 					else
 						fprintf(newfp, "%s", backup);
 				} else
@@ -2673,7 +2697,8 @@ upgrade_keymap_file(
 
 	fclose(oldfp);
 	fclose(newfp);
-	rename_file(newk, old);
+	if ((errno = rename_file(newk, old)) != 0)
+		perror_message(_(txt_rename_error), newk, old); /* TODO: unlink(newk)? */
 	wait_message(0, _(txt_keymap_upgraded), KEYMAP_VERSION);
 	prompt_continue();
 }
@@ -2945,6 +2970,7 @@ setup_default_keys(
 	add_default_key(&page_keys, "*", PAGE_TOGGLE_HEADERS);
 	add_default_key(&page_keys, ":", PAGE_SKIP_INCLUDED_TEXT);
 	add_default_key(&page_keys, "_", PAGE_TOGGLE_HIGHLIGHTING);
+	add_default_key(&page_keys, "'", PAGE_ARTICLE_INFO);
 
 	/* info pager */
 	add_default_key(&info_keys, "", GLOBAL_ABORT);
@@ -3029,7 +3055,7 @@ setup_default_keys(
 #endif /* !NO_SHELL_ESCAPE */
 #ifdef HAVE_COLOR
 	add_default_key(&post_hist_keys, "&", GLOBAL_TOGGLE_COLOR);
-#endif /* HAVE COLOR */
+#endif /* HAVE_COLOR */
 
 	/* prompt keys */
 	add_default_key(&prompt_keys, "", GLOBAL_ABORT);
@@ -3187,7 +3213,7 @@ setup_default_keys(
 #endif /* !NO_SHELL_ESCAPE */
 #ifdef HAVE_COLOR
 	add_default_key(&url_keys, "&", GLOBAL_TOGGLE_COLOR);
-#endif /* HAVE COLOR */
+#endif /* HAVE_COLOR */
 }
 
 
@@ -3238,5 +3264,305 @@ add_global_keys(
 #endif /* !NO_SHELL_ESCAPE */
 #ifdef HAVE_COLOR
 	add_default_key(keys, "&", GLOBAL_TOGGLE_COLOR);
-#endif /* HAVE COLOR */
+#endif /* HAVE_COLOR */
 }
+
+
+#if 0
+/*
+ * add dump_all_keys() to end of read_keymap_file() or the like
+ * and pipe generated file through something like
+ * 	sort|uniq|\
+ * 	awk '/^[^#]/{a[$1]=a[$1]"\t"$2}END{for(x in a){print x"\t"a[x]}}'|sort
+ * inspection
+ */
+#ifdef DEBUG
+static void dump_keylist(const struct keylist keys);
+static void dump_all_keys(void);
+
+static void
+dump_keylist(
+	const struct keylist keys)
+{
+	char keybuf[MAXKEYLEN];
+	const char *key_funcnames[] = {
+		"#Unassigned",
+		"#DIGIT_0",
+		"#DIGIT_1",
+		"#DIGIT_2",
+		"#DIGIT_3",
+		"#DIGIT_4",
+		"#DIGIT_5",
+		"#DIGIT_6",
+		"#DIGIT_7",
+		"#DIGIT_8",
+		"#DIGIT_9",
+		"AttachPipe",
+		"AttachSave",
+		"AttachSelect",
+		"AttachTag",
+		"AttachTagPattern",
+		"AttachToggleTagged",
+		"AttachUntag",
+		"#SPECIAL_CATCHUP_LEFT",
+		"#SPECIAL_MOUSE_TOGGLE",
+		"Catchup",
+		"CatchupNextUnread",
+		"ConfigResetAttrib",
+		"ConfigScopeMenu",
+		"ConfigSelect",
+		"ConfigNoSave",
+		"ConfigToggleAttrib",
+		"FeedArt",
+		"FeedThd",
+		"FeedHot",
+		"FeedPat",
+		"FeedRange",
+		"FeedTag",
+		"FeedRepost",
+		"FeedSupersede",
+		"FilterEdit",
+		"FilterSave",
+		"#GLOBAL_ABORT",
+		"BugReport",
+		"ConnectionInfo",
+		"DisplayPostHist",
+		"EditFilter",
+		"FirstPage",
+		"Help",
+		"LastPage",
+		"LastViewed",
+		"Down",
+		"Up",
+		"LookupMessage",
+		"MenuFilterKill",
+		"MenuFilterSelect",
+		"OptionMenu",
+		"PageDown",
+		"PageUp",
+		"Pipe",
+		"Post",
+		"Postponed",
+#	ifndef DISABLE_PRINTING
+		"Print",
+#	endif /* !DISABLE_PRINTING */
+		"QuickFilterKill",
+		"QuickFilterSelect",
+		"Quit",
+		"QuitTin",
+		"RedrawScr",
+		"ScrollDown",
+		"ScrollUp",
+		"SearchBody",
+		"SearchRepeat",
+		"SearchAuthB",
+		"SearchAuthF",
+		"SearchSubjB",
+		"SearchSubjF",
+		"SetRange",
+#	ifndef NO_SHELL_ESCAPE
+		"ShellEscape",
+#	endif /* !NO_SHELL_ESCAPE */
+#	ifdef HAVE_COLOR
+		"ToggleColor",
+#	endif /* HAVE_COLOR */
+		"ToggleHelpDisplay",
+		"ToggleInfoLastLine",
+		"ToggleInverseVideo",
+		"Version",
+		"GroupAutoSave",
+		"GroupCancel",
+		"GroupDoAutoSel",
+		"GroupGoto",
+		"GroupListThd",
+		"GroupMail",
+		"GroupMarkThdRead",
+		"GroupMarkUnselArtRead",
+		"GroupNextGroup",
+		"GroupNextUnreadArt",
+		"GroupNextUnreadArtOrGrp",
+		"GroupPrevGroup",
+		"GroupPrevUnreadArt",
+		"GroupReadBasenote",
+		"GroupRepost",
+		"GroupReverseSel",
+		"GroupSave",
+		"GroupSelPattern",
+		"GroupSelThd",
+		"GroupSelThdIfUnreadSelected",
+		"GroupTag",
+		"GroupTagParts",
+		"GroupToggleGetartLimit",
+		"GroupToggleReadUnread",
+		"GroupToggleSubjDisplay",
+		"GroupToggleThdSel",
+		"GroupToggleThreading",
+		"GroupUndoSel",
+		"GroupUntag",
+		"MarkArticleUnread",
+		"MarkThreadUnread",
+		"MarkFeedRead",
+		"MarkFeedUnread",
+		"PageArticleInfo",
+		"PageAutoSave",
+		"PageBotThd",
+		"PageCancel",
+		"PageEditArticle",
+		"PageFollowup",
+		"PageFollowupQuote",
+		"PageFollowupQuoteHeaders",
+		"PageGotoParent",
+		"PageGroupSel",
+		"PageListThd",
+		"PageMail",
+		"PageKillThd",
+		"PageNextArt",
+		"PageNextThd",
+		"PageNextUnread",
+		"PageNextUnreadArt",
+#	ifdef HAVE_PGP_GPG
+		"PagePGPCheckArticle",
+#	endif /* HAVE_PGP_GPG */
+		"PagePrevArt",
+		"PagePrevUnreadArt",
+		"PageReveal",
+		"PageReply",
+		"PageReplyQuote",
+		"PageReplyQuoteHeaders",
+		"PageRepost",
+		"PageSave",
+		"PageSkipIncludedText",
+		"PageTag",
+		"PageToggleAllHeaders",
+		"PageToggleHighlight",
+		"PageToggleRaw",
+		"PageToggleRot",
+		"PageToggleTabs",
+		"PageToggleTex2iso",
+		"PageToggleUue",
+		"PageTopThd",
+		"PageViewAttach",
+		"PageViewUrl",
+#	ifdef HAVE_PGP_GPG
+		"PgpEncrypt",
+		"PgpEncSign",
+		"PgpIncludekey",
+		"PgpSign",
+#	endif /* HAVE_PGP_GPG */
+		"PostAbort",
+		"PostCancel",
+		"PostContinue",
+		"PostEdit",
+		"PostIgnore",
+#	ifdef HAVE_ISPELL
+		"PostIspell",
+#	endif /* HAVE_ISPELL */
+		"PostMail",
+#	ifdef HAVE_PGP_GPG
+		"PostPGP",
+#	endif /* HAVE_PGP_GPG */
+		"PostPostpone",
+		"PostSend",
+		"PostSupersede",
+		"PostedArticlesSelect",
+		"PostponeAll",
+		"PostponeOverride",
+		"PProcNo",
+		"PProcShar",
+		"PProcYes",
+		"PromptNo",
+		"PromptYes",
+		"SaveAppendFile",
+		"SaveOverwriteFile",
+		"ScopeAdd",
+		"ScopeDelete",
+		"ScopeEditAttributesFile",
+		"ScopeMove",
+		"ScopeRename",
+		"ScopeSelect",
+		"SelectReadGrp",
+		"SelectEnterNextUnreadGrp",
+		"SelectGoto",
+		"SelectMarkGrpUnread",
+		"SelectMoveGrp",
+		"SelectNextUnreadGrp",
+		"SelectResetNewsrc",
+		"SelectSortActive",
+		"SelectSubscribe",
+		"SelectSubscribePat",
+		"SelectSyncWithActive",
+		"SelectToggleDescriptions",
+		"SelectToggleReadDisplay",
+		"SelectUnsubscribe",
+		"SelectUnsubscribePat",
+		"SelectQuitNoWrite",
+		"SelectYankActive",
+		"ThreadAutoSave",
+		"ThreadCancel",
+		"ThreadFollowup",
+		"ThreadFollowupQuote",
+		"ThreadMail",
+		"ThreadMarkArtRead",
+		"ThreadReadNextArtOrThread",
+		"ThreadReadArt",
+		"ThreadReverseSel",
+		"ThreadSave",
+		"ThreadSelArt",
+		"ThreadTag",
+		"ThreadTagParts",
+		"ThreadToggleArtSel",
+		"ThreadToggleSubjDisplay",
+		"ThreadUndoSel",
+		"ThreadUntag",
+		"UrlSelect",
+		NULL
+	};
+	size_t i;
+
+	for (i = 0; i < keys.used; i++) {
+		if (keys.list[i].key && keys.list[i].function)
+			debug_print_file("KEYMAP", "%s\t%s", key_funcnames[keys.list[i].function], printascii(keybuf, keys.list[i].key));
+	}
+}
+
+
+static void
+dump_all_keys(
+	void
+)
+{
+	if (debug) { /* order? */
+		dump_keylist(attachment_keys);
+		dump_keylist(select_keys);
+		dump_keylist(group_keys);
+		dump_keylist(thread_keys);
+		dump_keylist(option_menu_keys);
+		dump_keylist(page_keys);
+		dump_keylist(info_keys);
+		dump_keylist(post_hist_keys);
+		dump_keylist(post_send_keys);
+		dump_keylist(post_edit_keys);
+		dump_keylist(post_edit_ext_keys);
+		dump_keylist(post_post_keys);
+		dump_keylist(post_postpone_keys);
+		dump_keylist(post_mail_fup_keys);
+		dump_keylist(post_ignore_fupto_keys);
+		dump_keylist(post_continue_keys);
+		dump_keylist(post_delete_keys);
+		dump_keylist(post_cancel_keys);
+		dump_keylist(filter_keys);
+#	ifdef HAVE_PGP_GPG
+		dump_keylist(pgp_mail_keys);
+		dump_keylist(pgp_news_keys);
+#	endif /* HAVE_PGP_GPG */
+		dump_keylist(save_append_overwrite_keys);
+		dump_keylist(scope_keys);
+		dump_keylist(feed_type_keys);
+		dump_keylist(feed_post_process_keys);
+		dump_keylist(feed_supersede_article_keys);
+		dump_keylist(prompt_keys);
+		dump_keylist(url_keys);
+	}
+}
+#endif /* DEBUG */
+#endif /* 0 */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/lang.c tin-2.6.4/src/lang.c
--- tin-2.6.3/src/lang.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/lang.c	2024-12-21 15:19:00.094655108 +0100
@@ -3,10 +3,10 @@
  *  Module    : lang.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2023-12-14
+ *  Updated   : 2024-12-21
  *  Notes     :
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,10 +41,11 @@
 #ifndef TIN_H
 #	include "tin.h"
 #endif /* !TIN_H */
+#ifndef TNNTPS_H
+#	include "tnntps.h"
+#endif /* !TNNTPS_H */
 
 constext txt_1_resp[] = N_("1 Response");
-constext txt_7bit[] = "7bit";
-constext txt_8bit[] = "8bit";
 
 constext txt_active_file_is_empty[] = N_("\n%s contains no newsgroups. Exiting.");
 #if defined(NNTP_ABLE) && defined(HAVE_SELECT)
@@ -73,6 +74,7 @@ constext txt_art_unavailable[] = N_("Art
 constext txt_art_undeleted[] = N_("Article undeleted.");
 constext txt_art_x_of_n[] = N_("Article %4d of %4d");
 constext txt_article_cancelled[] = "Article cancelled by author.\n";
+constext txt_article_info_page[] = N_("Article Info Page");
 constext txt_article_plural[] = N_("articles");
 constext txt_article_reposted[] = N_("This is a repost of the following article:");
 constext txt_article_singular[] = N_("article");
@@ -87,7 +89,7 @@ constext txt_mime_content_type[] = N_("c
 constext txt_mime_unsup_charset[] = N_("%*s[-- charset %s not supported --]\n");
 constext txt_mime_description[] = N_("%*s[-- Description: %s --]\n");
 constext txt_mime_encoding[] = N_("encoding %s");
-constext txt_mime_hdr_c_disposition_inline[] = "Content-Disposition: inline\n";
+constext txt_mime_hdr_c_disposition[] = "Content-Disposition: %s\n";
 constext txt_mime_hdr_c_transfer_encoding[] = "Content-Transfer-Encoding: %s\n";
 constext txt_mime_hdr_c_type_msg_rfc822[] = "Content-Type: message/rfc822\n";
 constext txt_mime_hdr_c_type_multipart_mixed[] = "Content-Type: multipart/mixed; boundary=\"%s\"\n";
@@ -145,6 +147,9 @@ constext txt_attrib_file_mime_forward[]
 #ifdef CHARSET_CONVERSION
 	constext txt_attrib_file_mm_network_charset[] = N_("#  mm_network_charset=supported_charset");
 	constext txt_attrib_file_undeclared_charset[] = N_("#  undeclared_charset=STRING (default is US-ASCII)\n");
+#	ifdef USE_ICU_UCSDET
+	constext txt_attrib_file_undeclared_cs_guess[] = N_("#  undeclared_cs_guess=ON/OFF (default is OFF)\n");
+#	endif /* USE_ICU_UCSDET */
 #endif /* CHARSET_CONVERSION */
 constext txt_attrib_file_hdr_to_disp[] = N_("#  news_headers_to_display=STRING\n");
 constext txt_attrib_file_hdr_to_not_disp[] = N_("#  news_headers_to_not_display=STRING\n");
@@ -228,6 +233,7 @@ constext txt_attrib_no_scope[] = N_("att
 	constext txt_auth_user[] = N_("    Please enter username: ");
 	constext txt_authorization_ok[] = N_("Authorized for user: %s\n");
 	constext txt_authorization_fail[] = N_("Authorization failed for user: %s\n");
+	constext txt_authorization_unavail[] = N_("No supported authorization method available in current state!\n");
 #endif /* NNTP_ABLE */
 constext txt_author_search_backwards[] = N_("Author search backwards [%s]> ");
 constext txt_author_search_forwards[] = N_("Author search forwards [%s]> ");
@@ -236,17 +242,15 @@ constext txt_autosubscribing_groups[] =
 constext txt_autoselecting_articles[] = N_("Autoselecting articles (use '%s' to see all unread) ...");
 
 constext txt_bad_article[] = N_("Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: ");
-constext txt_bad_attrib[] = N_("Unrecognized attribute: %s");
+#ifdef DEBUG
+	constext txt_bad_attrib[] = N_("Unrecognized attribute: %s");
+#endif /* DEBUG */
 constext txt_bad_command[] = N_("Bad command. Type '%s' for help.");
-constext txt_base64[] = "base64";
 constext txt_base_article[] = N_("Base article");
 constext txt_base_article_range[] = N_("Base article range");
 constext txt_batch_update_unavail[] = N_("%s: Updating of index files not supported: cache_overview_files=%s");
 constext txt_begin_of_art[] = N_("*** Beginning of article ***");
 constext txt_begin_of_page[] = N_("*** Beginning of page ***");
-#if !defined(HAVE_LIBUU) && defined(HAVE_SUM) && !defined(DONT_HAVE_PIPING)
-	constext txt_bytes[] = N_("bytes");
-#endif /* !HAVE_LIBUU && HAVE_SUM && !DONT_HAVE_PIPING */
 
 constext txt_cancel_article[] = N_("Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): ");
 constext txt_cancelling_art[] = N_("Cancelling article...");
@@ -280,11 +284,12 @@ constext txt_choose_post_process_type[]
 	constext txt_color_on[] = N_("ANSI color enabled");
 #endif /* HAVE_COLOR */
 constext txt_command_failed[] = N_("Command failed: %s");
-constext txt_copyright_notice[] = "%s (c) Copyright 1991-2024 Iain Lea.";
+constext txt_copyright_notice[] = "%s (c) Copyright 1991-2025 Iain Lea.";
 constext txt_confirm_select_on_exit[] = N_("Mark not selected articles read?");
 constext txt_connection_info[] = N_("Connection Info");
 constext txt_conninfo_local_spool[] = N_("Reading from local spool.\n");
 constext txt_conninfo_saved_news[] = N_("Reading saved news.\n");
+constext txt_conninfo_conf_files[] = N_("\nConfiguration files:\n--------------------\n");
 #ifndef NNTP_ONLY
 	constext txt_conninfo_active_file[] = "ACTIVE_FILE       : %s\n";
 	constext txt_conninfo_active_times_file[] = "ACTIVE_TIMES_FILE : %s\n";
@@ -319,6 +324,7 @@ constext txt_conninfo_saved_news[] = N_(
 	constext txt_conninfo_ro[] = N_("read only");
 	constext txt_conninfo_rw[] = N_("read/write");
 	constext txt_conninfo_server[] = N_("NNTPSERVER    : %s\n");
+	constext txt_conninfo_type[] = N_("CONNECTIONTYPE: %s\n");
 #	ifdef NNTPS_ABLE
 	constext txt_conninfo_nntps[] = N_("Reading %s via NNTPS (%s; ");
 	constext txt_conninfo_cert[] = N_("Certificate #%d\n");
@@ -351,7 +357,7 @@ constext txt_conninfo_saved_news[] = N_(
 constext txt_cook_article_failed_exiting[] = N_("Cook article failed, %s is exiting");
 constext txt_cr[] = N_("<CR>");
 constext txt_creating_active[] = N_("Creating active file for saved groups...\n");
-constext txt_creating_newsrc[] = N_("Creating newsrc file...\n");
+constext txt_creating_newsrc[] = N_("Creating %s file...\n");
 
 constext txt_default[] = N_("Default");
 constext txt_delete_processed_files[] = N_("Delete saved files that have been post processed?");
@@ -373,15 +379,19 @@ constext txt_enter_next_unread_art[] = N
 constext txt_enter_next_unread_group[] = N_(" and enter next unread group");
 constext txt_enter_option_num[] = N_("Enter option number> ");
 constext txt_enter_range[] = N_("Enter range [%s]> ");
+constext txt_enter_append[] = N_("Error: Could not appended %s to %s");
 constext txt_error_approved[] = N_("\nWarning: Approved: header used.\n");
+constext txt_error_attrib_too_long[] = N_("  Line %d: \"%s\": given string too long.\n");
+constext txt_error_attrib_malformed[] = N_("  Line %d: \"%s\": unrecognized attribute.\n");
+constext txt_error_attrib_unknown[] = N_("  Line %d: \"%s\": malformed line, '=' missing.\n");
 #ifndef NDEBUG
 	constext txt_error_asfail[] = "%s: assertion failure: %s (%d): %s\n";
-#endif /* ! NDEBUG */
-constext txt_error_bad_approved[] = N_("\nError: Bad address in Approved: header.\n");
-constext txt_error_bad_from[] = N_("\nError: Bad address in From: header.\n");
+#endif /* !NDEBUG */
+constext txt_error_bad_address_in[] = N_("\nError: Bad address in \"%s\" header.\n");
 constext txt_error_bad_msgidfqdn[] = N_("\nError: Bad FQDN in Message-ID: header.\n");
-constext txt_error_bad_replyto[] = N_("\nError: Bad address in Reply-To: header.\n");
-constext txt_error_bad_to[] = N_("\nError: Bad address in To: header.\n");
+#ifdef NNTPS_ABLE
+	constext txt_error_cant_use_litteral[] = N_("Can't use literal IPv%d-address %s with TLS (-T)");
+#endif /* NNTPS_ABLE */
 #ifndef NO_LOCKING
 	constext txt_error_cant_unlock[] = N_("Can't unlock %s");
 	constext txt_error_couldnt_dotlock[] = N_("Couldn't dotlock %s - article not appended!");
@@ -392,7 +402,11 @@ constext txt_error_bad_to[] = N_("\nErro
 #endif /* NNTP_ABLE && USE_ZLIB */
 constext txt_error_copy_fp[] = "copy_fp() failed";
 constext txt_error_corrupted_file[] = N_("Corrupted file %s");
-constext txt_error_couldnt_expand[] = N_("couldn't expand %s\n");
+#ifdef NNTP_ABLE
+	constext txt_error_couldnt_expand[] = N_("couldn't expand %s\n");
+#endif /* NNTP_ABLE */
+constext txt_error_empty_format_string[] = N_("Error: Custom format empty. Using default \"%s\".");
+constext txt_error_empty_art[] = N_("\nError: Article is empty.\n");
 constext txt_error_fseek[] = "fseek() error on [%s]";
 constext txt_error_followup_poster[] = N_("\nError: Followup-To \"poster\" and a newsgroup is not allowed!\n");
 constext txt_error_format_string[] = N_("Error: Custom format exceeds screen width. Using default \"%s\".");
@@ -401,6 +415,7 @@ constext txt_error_gnksa_langle[] = N_("
 constext txt_error_gnksa_lparen[] = N_("Left parenthesis missing in old-style address.\n");
 constext txt_error_gnksa_rparen[] = N_("Right parenthesis missing in old-style address.\n");
 constext txt_error_gnksa_atsign[] = N_("At-sign missing in mail address.\n");
+constext txt_error_gnksa_rangle[] = N_("Right angle bracket missing in route address.\n");
 constext txt_error_gnksa_sgl_domain[] = N_("Single component FQDN is not allowed. Add your domain.\n");
 constext txt_error_gnksa_inv_domain[] = N_("Invalid domain. Send bug report if your top level domain really exists.\nUse .invalid as top level domain for munged addresses.\n");
 constext txt_error_gnksa_ill_domain[] = N_("Illegal domain. Send bug report if your top level domain really exists.\nUse .invalid as top level domain for munged addresses.\n");
@@ -422,7 +437,9 @@ constext txt_error_gnksa_rn_enc[] = N_("
 constext txt_error_gnksa_rn_encsyn[] = N_("Bad syntax in encoded word used in realname.\n");
 constext txt_error_gnksa_rn_paren[] = N_("Illegal character in realname.\nUnquoted words may not contain '()<>\\' in old-style addresses.\n");
 constext txt_error_gnksa_rn_invalid[] = N_("Illegal character in realname.\nControl characters and unencoded 8bit characters > 127 are not allowed.\n");
+constext txt_error_gnksa_rn_missing[] = N_("Missing realname.\n");
 constext txt_error_header_and_body_not_separate[] = N_("\nError: No blank line found after header.\n");
+constext txt_error_header_distribution_all[] = N_("\nError: Illegal Distribution \"all\" used.\n");
 constext txt_error_header_format[] = N_("\nError: Illegal formatted %s.\n");
 /* TODO: fixme, US-ASCII is not the only 7bit charset we know about */
 constext txt_error_header_line_bad_charset[] = N_("\n\
@@ -444,7 +461,9 @@ constext txt_error_header_line_not_7bit[
 constext txt_error_header_line_space[] = N_("\nError: Header on line %d does not have a space after the colon:\n%s\n");
 constext txt_error_header_duplicate[] = N_("\nError: There are multiple (%d) \"%s:\" lines in the header.\n");
 constext txt_error_header_no_name[] = N_("\nError: Header on line %d has no name:\n%s\n");
-# ifndef FILE_MODE_BROKEN
+constext txt_error_mailgroup_no_recipient[] = N_("\nError: This is a mailgroup, but a recipient (\"To:\") is missing.\n");
+constext txt_error_mixed_up_opt[] = N_("Mixed up '-f'/'-F'? %s %s");
+#ifndef FILE_MODE_BROKEN
 	constext txt_error_insecure_permissions[] = N_("Insecure permissions of %s (%o)");
 #endif /* !FILE_MODE_BROKEN */
 #ifdef MIME_BREAK_LONG_LINES
@@ -455,19 +474,22 @@ constext txt_error_header_no_name[] = N_
 #if defined(HAVE_SETLOCALE) && !defined(NO_LOCALE)
 	constext txt_error_locale[] = "Can't set the specified locale!";
 #endif /* HAVE_SETLOCALE && !NO_LOCALE */
-#ifdef DEBUG
-	constext txt_error_mime_end[] = N_("MIME parse error: Unexpected end of %s/%s article");
-	constext txt_error_mime_start[] = N_("MIME parse error: Start boundary whilst reading headers");
-#endif /* DEBUG */
+constext txt_error_mime_end[] = N_("MIME parse error: Unexpected end of %s/%s article\n");
+constext txt_error_mime_start[] = N_("MIME parse error: Start boundary whilst reading headers\n");
 constext txt_error_newsgroups_poster[] = N_("\nError: \"poster\" is not allowed in Newsgroups!\n");
 constext txt_error_no_domain_name[] = N_("Can't get a (fully-qualified) domain-name!");
-constext txt_error_no_enter_permission[] = N_("No permissions to go into %s\n");
 #ifdef NNTP_INEWS
 	constext txt_error_no_from[] = N_("\nError: From: line missing.\n");
 #endif /* NNTP_INEWS */
-constext txt_error_no_read_permission[] = N_("No read permissions for %s\n");
-constext txt_error_no_such_file[] = N_("File %s does not exist\n");
-constext txt_error_no_write_permission[] = N_("No write permissions for %s\n");
+#ifdef NNTP_ABLE
+	constext txt_error_no_enter_permission[] = N_("No permissions to go into %s\n");
+	constext txt_error_no_read_permission[] = N_("No read permissions for %s\n");
+	constext txt_error_no_such_file[] = N_("File %s does not exist\n");
+	constext txt_error_no_write_permission[] = N_("No write permissions for %s\n");
+#	ifdef INET6
+		constext txt_error_not_ipv6_literal[] = N_("Not a literal IPv6 address: %s");
+#	endif /* INET6 */
+#endif /* NNTP_ABLE */
 constext txt_error_passwd_missing[] = N_("Can't get user information (/etc/passwd missing?)");
 #ifdef HAVE_LIBUU
 	constext txt_error_plural[] = N_("errors");
@@ -573,6 +595,7 @@ constext txt_help_article_by_num[] = N_(
 constext txt_help_article_edit[] = N_("edit article (mail-groups only)");
 constext txt_help_article_first_in_thread[] = N_("display first article in current thread");
 constext txt_help_article_first_page[] = N_("display first page of article");
+constext txt_help_article_info[] = N_("show MIME details of this article");
 constext txt_help_article_last_in_thread[] = N_("display last article in current thread");
 constext txt_help_article_last_page[] = N_("display last page of article");
 constext txt_help_article_mark_thread_read[] = N_("mark rest of thread as read and advance to next unread");
@@ -620,8 +643,8 @@ constext txt_help_attrib_first_opt[] = N
 constext txt_help_attrib_goto_opt[] = N_("0 - 9\t  choose attribute by number");
 constext txt_help_attrib_last_opt[] = N_("choose last attribute in list");
 constext txt_help_attrib_reset_attrib[] = N_("reset attribute to a default value");
-constext txt_help_attrib_search_opt_backwards[] = N_("search forwards for an attribute");
-constext txt_help_attrib_search_opt_forwards[] = N_("search backwards for an attribute");
+constext txt_help_attrib_search_opt_backwards[] = N_("search backwards for an attribute");
+constext txt_help_attrib_search_opt_forwards[] = N_("search forwards for an attribute");
 constext txt_help_attrib_select[] = N_("select attribute");
 constext txt_help_attrib_toggle_attrib[] = N_("toggle back to options menu when invoked from there");
 constext txt_help_bug[] = N_("report bug or comment via mail to %s");
@@ -629,8 +652,8 @@ constext txt_help_config_first_opt[] = N
 constext txt_help_config_goto_opt[] = N_("0 - 9\t  choose option by number");
 constext txt_help_config_last_opt[] = N_("choose last option in list");
 constext txt_help_config_scope_menu[] = N_("start scopes menu");
-constext txt_help_config_search_opt_backwards[] = N_("search forwards for an option");
-constext txt_help_config_search_opt_forwards[] = N_("search backwards for an option");
+constext txt_help_config_search_opt_backwards[] = N_("search backwards for an option");
+constext txt_help_config_search_opt_forwards[] = N_("search forwards for an option");
 constext txt_help_config_select[] = N_("select option");
 constext txt_help_config_toggle_attrib[] = N_("toggle to attributes menu");
 constext txt_help_global_article_range[] = N_("choose range of articles to be affected by next command");
@@ -804,12 +827,12 @@ mail to an  existing news article author
 of %s to be configured via a menu.\n\n\
 For more information read the manual page, README, INSTALL, TODO and FTP files.\n\
 Please send bug-reports/comments to %s with the 'R' command.\n");
-constext txt_invalid_from[] = N_("Invalid  From: %s  line. Read the INSTALL file again.");
+constext txt_invalid_from[] = N_("Invalid From:-header \"%s\". Check your mail_address setting.");
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 	constext txt_invalid_multibyte_sequence[] = N_("Invalid multibyte sequence found\n");
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 #if defined(NNTP_INEWS) && !defined(FORGERY)
-	constext txt_invalid_sender[] = N_("Invalid  Sender:-header %s");
+	constext txt_invalid_sender[] = N_("Invalid Sender:-header \"%s\"");
 #endif /* NNTP_INEWS && !FORGERY */
 constext txt_inverse_off[] = N_("Inverse video disabled");
 constext txt_inverse_on[] = N_("Inverse video enabled");
@@ -901,8 +924,8 @@ constext txt_newsgroup_plural[] = N_("ne
 constext txt_newsgroup_position[] = N_("Position %s in group list (1,2,..,$) [%d]> ");
 constext txt_newsgroup_singular[] = N_("newsgroup");
 constext txt_newsrc_again[] = N_("Try and save newsrc file again?");
-constext txt_newsrc_nogroups[] = N_("Warning: No newsgroups were written to your newsrc file. Save aborted.");
-constext txt_newsrc_saved[] = N_("newsrc file saved successfully.\n");
+constext txt_newsrc_nogroups[] = N_("Warning: No groups written to your %s file. Save aborted.");
+constext txt_newsrc_saved[] = N_("%s file saved successfully.\n");
 constext txt_next_resp[] = N_("-- Next response --");
 constext txt_no[] = N_("No  ");
 constext txt_no_arts[] = N_("*** No articles ***");
@@ -939,20 +962,23 @@ constext txt_no_viewer_found[] = N_("No
 constext txt_none[] = N_("None");
 constext txt_not_exist[] = N_("Newsgroup does not exist on this server");
 constext txt_not_in_active_file[] = N_("Group %s not found in active file");
-constext txt_nrctbl_create[] = N_("c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: ");
-constext txt_nrctbl_default[] = N_("use a)lternative name, use d)efault .newsrc, q)uit tin: ");
-constext txt_nrctbl_info[] = N_("# NNTP-server -> newsrc translation table and NNTP-server\n\
+#ifdef NNTP_ABLE
+	constext txt_nrctbl_create[] = N_("c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: ");
+	constext txt_nrctbl_default[] = N_("use a)lternative name, use d)efault .newsrc, q)uit tin: ");
+	constext txt_nrctbl_info[] = N_("# NNTP-server -> newsrc translation table and NNTP-server\n\
 # shortname list for %s %s\n#\n# the format of this file is\n\
 #   <FQDN of NNTP-server> <newsrc file> <shortname> ...\n#\n\
 # if <newsrc file> is given without path, $HOME is assumed as its location\n\
 #\n# examples:\n#   news.tin.org      .newsrc-tin.org  tinorg\n\
 #   news.example.org  /tmp/nrc-ex      example    ex\n#\n");
+#endif /* NNTP_ABLE */
 constext txt_null[] = N_("NULL");
 
 constext txt_only[] = N_("Only");
-constext txt_option_not_enabled[] = N_("Option not enabled. Recompile with %s.");
+constext txt_option_check_tinrc[] = " ($TINRC: \"%s\")";
 constext txt_options_menu[] = N_("Options Menu");
 constext txt_options_menu_com[] = N_("Options Menu Commands");
+constext txt_option_not_enabled[] = N_("Option not enabled. Recompile with %s.%s\n");
 constext txt_out_of_memory[] = "%s: memory exhausted trying to allocate %lu bytes in file %s line %d";
 
 constext txt_pcre_error_at[] = N_("Error in regex: %s at pos. %d '%s'");
@@ -1003,7 +1029,6 @@ constext txt_quit_edit_postpone[] = N_("
 constext txt_quit_edit_save_kill[] = N_("%s=quit, %s=edit, %s=save kill description: ");
 constext txt_quit_edit_save_select[] = N_("%s=quit, %s=edit, %s=save select description: ");
 constext txt_quit_no_write[] = N_("Do you really want to quit without saving your configuration?");
-constext txt_quoted_printable[] = "quoted-printable";
 
 constext txt_range_invalid[] = N_("Invalid range - valid are '0-9.$' e.g. 1-$");
 #ifdef HAVE_SELECT
@@ -1012,20 +1037,20 @@ constext txt_range_invalid[] = N_("Inval
 #endif /* HAVE_SELECT */
 constext txt_reading_article[] = N_("Reading ('q' to quit)...");
 constext txt_reading_arts[] = N_("Reading %s articles...");
-constext txt_reading_attributes_file[] = N_("Reading %sattributes file...\n");
-constext txt_reading_config_file[] = N_("Reading %sconfig file...\n");
-constext txt_reading_filter_file[] = N_("Reading filter file...\n");
+constext txt_reading_attributes_file[] = N_("Reading %sattributes file: %s\n");
+constext txt_reading_config_file[] = N_("Reading %sconfig file: %s\n");
+constext txt_reading_filter_file[] = N_("Reading filter file: %s\n");
 #ifdef DEBUG
 	constext txt_reading_from_spool[] = N_("reading from local spool");
 #endif /* DEBUG */
 constext txt_reading_group[] = N_("Reading %s\n");
 constext txt_reading_groups[] = N_("Reading %s groups...");
-constext txt_reading_input_history_file[] = N_("Reading input history file...\n");
+constext txt_reading_input_history_file[] = N_("Reading input history file: %s\n");
 constext txt_reading_keymap_file[] = N_("Reading keymap file: %s\n");
 constext txt_reading_news_active_file[] = N_("Reading groups from active file... ");
 constext txt_reading_news_newsrc_file[] = N_("Reading groups from newsrc file... ");
 constext txt_reading_newsgroups_file[] = N_("Reading newsgroups file... ");
-constext txt_reading_newsrc[] = N_("Reading newsrc file...");
+constext txt_reading_newsrc[] = N_("Reading newsrc file: %s");
 constext txt_refs_line_only[] = N_("References: line              ");
 #if defined(HAVE_CLOCK_GETTIME) || defined(HAVE_GETTIMEOFDAY)
 	constext txt_remaining[] = N_("(%d:%02d remaining)");
@@ -1068,7 +1093,7 @@ constext txt_save_attachment[] = N_("Sav
 constext txt_save_config[] = N_("Save configuration before continuing?");
 constext txt_save_filename[] = N_("Save filename> ");
 constext txt_saved[] = N_("Saved");
-constext txt_saved_group[] = N_("%4d unread (%4d hot) %s in %s\n");
+constext txt_saved_group[] = N_("%s unread (%s hot) %s in %s\n");
 constext txt_saved_groupname[] = N_("Saved %s...\n");
 constext txt_saved_nothing[] = N_("Nothing was saved");
 constext txt_saved_summary[] = N_("\n%s %d %s from %d %s\n");
@@ -1146,14 +1171,12 @@ constext txt_thread_x_of_n[] = N_("Threa
 constext txt_threading_arts[] = N_("Threading articles...");
 constext txt_threading_by_multipart[] = N_("Threading by multipart");
 #if defined(NNTP_ABLE) && defined(NNTPS_ABLE)
-	constext txt_tls_handshake_failed[] = N_("TLS handshake failed: %s\n");
 #	ifdef HAVE_LIB_LIBTLS
 	constext txt_retr_cipher_failed[] = N_("<failed to retrieve cipher>");
 	constext txt_retr_issuer_failed[] = N_("<failed to retrieve issuer>");
 	constext txt_retr_subject_failed[] = N_("<failed to retrieve subject>");
 	constext txt_retr_version_failed[] = N_("<failed to retrieve version>");
 	constext txt_tls_handshake_done[] = N_("%s handshake done: %s\n");
-	constext txt_tls_unknown_error[] = N_("unknown error");
 #	endif /* HAVE_LIB_LIBTLS */
 #	ifdef HAVE_LIB_GNUTLS
 	constext txt_tls_handshake_failed_with_err_num[] = N_("TLS handshake failed: %s (%d)\n");
@@ -1168,6 +1191,9 @@ constext txt_threading_by_multipart[] =
 #	if defined(HAVE_LIB_GNUTLS) || defined(HAVE_LIB_OPENSSL)
 	constext txt_tls_handshake_done[] = N_("TLS handshake done: %s\n");
 #	endif /* HAVE_LIB_GNUTLS || HAVE_LIB_OPENSSL */
+#	if defined(USE_LIBTLS) || defined(USE_OPENSSL)
+	constext txt_tls_handshake_failed[] = N_("TLS handshake failed: %s\n");
+#	endif /* USE_LIBTLS || USE_OPENSSL */
 #endif /* NNTP_ABLE && NNTPS_ABLE */
 constext txt_toggled_high[] = N_("Toggled word highlighting %s");
 constext txt_toggled_rot13[] = N_("Toggled rot13 encoding");
@@ -1184,8 +1210,13 @@ constext txt_unsubscribe_pattern[] = N_(
 constext txt_uu_error_decode[] = N_("Error decoding %s : %s");
 constext txt_uu_error_no_end[] = N_("No end.");
 constext txt_uu_success[] = N_("%s successfully decoded.");
-constext txt_unchanged[] = N_("unchanged");
+#ifdef DEBUG
+	constext txt_unchanged[] = N_("unchanged");
+#endif /* DEBUG */
 constext txt_unknown[] = N_("(unknown)");
+#if defined(XFACE_ABLE) || (defined(NNTPS_ABLE) && defined(HAVE_LIB_LIBTLS))
+	constext txt_unknown_error[] = N_("unknown error");
+#endif /* XFACE_ABLE || (NNTPS_ABLE && HAVE_LIB_LIBTLS) */
 constext txt_unread[] = N_("unread");
 constext txt_unsubscribed_num_groups[] = N_("unsubscribed from %d groups");
 constext txt_unsubscribed_to[] = N_("Unsubscribed from %s");
@@ -1198,7 +1229,10 @@ constext txt_url_menu_com[] = N_("URL Me
 constext txt_url_open[] = N_("Opening %s");
 constext txt_url_select[] = N_("Select URL> ");
 constext txt_url_done[] = N_("No URLs in this article");
-constext txt_use_mime[] = N_("Use MIME display program for this message?");
+#if defined(NNTP_ABLE) && defined(USE_GSASL)
+	constext txt_usable_sasl_mechs[] = N_("SASL MECHS    : %s\n");
+	constext txt_used_sasl_mech[] = N_("SASL MECH used: %s\n");
+#endif /* NNTP_ABLE && USE_GSASL */
 constext txt_usage_catchup[] = N_("  -c       mark all news as read in subscribed newsgroups (batch mode)");
 constext txt_usage_check_for_unread_news[] = N_("  -Z       return status indicating if any unread news (batch mode)");
 constext txt_usage_dont_check_new_newsgroups[] = N_("  -q       don't check for new newsgroups");
@@ -1208,12 +1242,18 @@ constext txt_usage_getart_limit[] = N_("
 constext txt_usage_help_information[] = N_("  -H       help information about %s");
 constext txt_usage_help_message[] = N_("  -h       this help message");
 constext txt_usage_index_newsdir[] = N_("  -I dir   news index file directory [default=%s]");
+#ifdef NNTP_ABLE
+	constext txt_usage_lookup_id[] = N_("  -L msgid show the message with that Message-ID");
+#endif /* NNTP_ABLE */
 constext txt_usage_update_index_files[] = N_("  -u       update index files (batch mode)");
 constext txt_usage_maildir[] = N_("  -m dir   mailbox directory [default=%s]");
 constext txt_usage_mail_bugreport[] = N_("\nMail bug reports/comments to %s");
 constext txt_usage_mail_new_news[] = N_("  -N       mail new news to your posts (batch mode)");
 constext txt_usage_mail_new_news_to_user[] = N_("  -M user  mail new news to specified user (batch mode)");
 constext txt_usage_newsrc_file[] = N_("  -f file  subscribed to newsgroups file [default=%s]");
+#if defined(NNTP_ABLE) && defined(HAVE_ALARM) && defined(SIGALRM)
+	constext txt_usage_nntp_timeout[] = N_("  -t sec   override nntp_read_timeout_secs setting [default=%d]");
+#endif /* NNTP_ABLE && HAVE_ALARM && SIGALRM */
 constext txt_usage_no_posting[] = N_("  -x       no-posting mode");
 constext txt_usage_post_article[] = N_("  -w       post an article and exit");
 constext txt_usage_post_postponed_arts[] = N_("  -o       post all postponed articles and exit");
@@ -1224,10 +1264,11 @@ constext txt_usage_start_if_unread_news[
 constext txt_usage_tin[] = N_("A Usenet reader.\n\nUsage: %s [options] [newsgroup[,...]]");
 constext txt_usage_verbose[] = N_("  -v       verbose output for batch mode options");
 constext txt_usage_version[] = N_("  -V       print version & date information");
-constext txt_useful_without_batch_mode[] = N_("%s only useful without batch mode operations\n");
-constext txt_useful_with_batch_mode[] = N_("%s only useful for batch mode operations\n");
-constext txt_useful_with_batch_or_debug_mode[] = N_("%s only useful for batch or debug mode operations\n");
-constext txt_useless_combination[] = N_("Useless combination %s and %s. Ignoring %s.\n");
+constext txt_use_mime[] = N_("Use MIME display program for this message?");
+constext txt_useful_without_batch_mode[] = N_("%s only useful without batch mode operations.%s\n");
+constext txt_useful_with_batch_mode[] = N_("%s only useful for batch mode operations.%s\n");
+constext txt_useful_with_batch_or_debug_mode[] = N_("%s only useful for batch or debug mode operations.%s\n");
+constext txt_useless_combination[] = N_("Useless combination %s and %s. Ignoring %s.%s\n");
 constext txt_uue_complete[] = N_("uuencoded file");
 constext txt_uue_incomplete[] = N_("incomplete uuencoded file");
 
@@ -1235,7 +1276,8 @@ constext txt_uue_incomplete[] = N_("inco
 	constext txt_valid_not_after[] = N_("Valid not after : %s\n");
 	constext txt_valid_not_before[] = N_("Valid not before: %s\n");
 #endif /* NNTP_ABLE && NNTPS_ABLE */
-constext txt_value_out_of_range[] = N_("\n%s%d out of range (0 - %d). Reset to 0");
+constext txt_val_out_of_range_ignored[] = N_("%s %s out of range (%d - %d). Ignored.");
+constext txt_val_out_of_range_reset[] = N_("%s %d out of range (0 - %d). Reset to 0.");
 constext txt_view_attachment[] = N_("View '%s' (%s/%s)?");
 
 constext txt_warn_art_line_too_long[] = N_("\nWarning: posting exceeds %d columns. Line %d is the first long one:\n%-100s\n");
@@ -1246,10 +1288,12 @@ Warning: \"Subject:\" begins with \"Re:
 constext txt_warn_references_but_no_re[] = N_("\n\
 Warning: Article has \"References:\" but \"Subject:\" does not begin\n\
          with \"Re: \" and does not contain \"(was:\".\n");
+constext txt_warn_re_only_subject[] = N_("\nWarning: \"Subject:\" contains only \"Re:\".\n");
 constext txt_warn_cancel[] = N_("Read carefully!\n\n\
   You are about to cancel an article seemingly written by you. This will wipe\n\
   the article from most  news servers  throughout the world,  but there is no\n\
   guarantee that it will work.\n\nThis is the article you are about to cancel:\n\n");
+constext txt_warn_distribution_world[] = N_("\nWarning: Undesired Distribution \"world\" used.\n");
 constext txt_warn_encoding_and_external_inews[] = N_("\n\
 Warning: You are using a non-plain transfer encoding (such as base64 or\n\
          quoted-printable) and an external inews program to submit your\n\
@@ -1277,6 +1321,14 @@ constext txt_warn_newsrc[] = N_("Warning
 than it read at startup. If you didn't unsubscribe from %ld %s during\n\
 this session this indicates an error and you should backup your %s\n\
 before you start tin once again!\n");
+constext txt_warn_multiple_addresses[] = N_("\nWarning: The article has multiple addresses in \"%s\".\n\
+         This is at least uncommon.\n");
+#ifndef FORGERY
+constext txt_warn_sender_required_but_disabled[] = N_("\nWarning: With multiple addresses in \"From\", a \"Sender\"-header is\n\
+         required, but its generation is deactivated by the global\n\
+         configuration \"disable_sender=ON\" in\n\
+         \"%s\".\n");
+#endif /* !FORGERY */
 constext txt_warn_multiple_sigs[] = N_("\nWarning: Found %d '-- \\n' lines, this may confuse some people.\n");
 constext txt_warn_not_all_arts_saved[] = N_("Warning: Only %d out of %d articles were saved");
 constext txt_warn_sig_too_long[] = N_("\n\
@@ -1296,17 +1348,18 @@ constext txt_x_resp[] = N_("%4d Response
 	constext txt_xface_error_create_failed[] = N_("Can't run slrnface: failed to create %s");
 	constext txt_xface_error_exited_abnormal[] = N_("Slrnface abnormally exited, code %d.");
 	constext txt_xface_error_finally_failed[] = N_("Slrnface failed: %s.");
-	constext txt_xface_error_missing_env_var[] = N_("Can't run slrnface: Environment variable %s not found.");
-#	if defined(DEBUG) && defined(HAVE_IS_XTERM)
-	constext txt_xface_error_no_xterm[] = N_("Can't run slrnface: Not running in an xterm.");
-#	endif /* DEBUG && HAVE_IS_XTERM */
+#	ifdef DEBUG
+		constext txt_xface_error_missing_env_var[] = N_("Can't run slrnface: Environment variable %s not found.");
+#		ifdef HAVE_IS_XTERM
+			constext txt_xface_error_no_xterm[] = N_("Can't run slrnface: Not running in an xterm.");
+#		endif /* HAVE_IS_XTERM */
+#	endif /* DEBUG */
 	constext txt_xface_msg_cannot_connect_display[] = N_("couldn't connect to display");
 	constext txt_xface_msg_cannot_open_fifo[] = N_("can't open FIFO");
 	constext txt_xface_msg_executable_not_found[] = N_("executable not found");
 	constext txt_xface_msg_fork_failed[] = N_("fork() failed");
 	constext txt_xface_msg_no_controlling_terminal[] = N_("couldn't find controlling terminal");
 	constext txt_xface_msg_no_width_and_height_avail[] = N_("terminal doesn't export width and height");
-	constext txt_xface_msg_unknown_error[] = N_("unknown error");
 	constext txt_xface_msg_windowid_not_found[] = N_("WINDOWID not found in environment");
 	constext txt_xface_readme[] = N_("This directory is used to create named pipes for communication between\n\
 slrnface and its parent process. It should normally be empty because\n\
@@ -1397,15 +1450,11 @@ Warning: Posting is in %s and contains c
 	constext txt_libuu_error_no_begin[] = N_("No beginning.");
 	constext txt_libuu_error_no_data[] = N_("No data.");
 	constext txt_libuu_error_unknown[] = N_("Unknown error.");
-#else
-#	if defined(HAVE_SUM) && !defined(DONT_HAVE_PIPING)
-		constext txt_checksum_of_file[] = N_("\tChecksum of %s (%ld %s)");
-#	endif /* HAVE_SUM && !DONT_HAVE_PIPING */
 #endif /* HAVE_LIBUU */
 
 #ifdef HAVE_MH_MAIL_HANDLING
-	constext txt_reading_mail_active_file[] = N_("Reading mail active file... ");
-	constext txt_reading_mailgroups_file[] = N_("Reading mailgroups file... ");
+	constext txt_reading_mail_active_file[] = N_("Reading mail active file: %s");
+	constext txt_reading_mailgroups_file[] = N_("Reading mailgroups file: %s");
 #endif /* HAVE_MH_MAIL_HANDLING */
 
 #ifdef HAVE_PGP_GPG
@@ -1436,7 +1485,6 @@ Warning: Posting is in %s and contains c
 #	endif /* HAVE_ISPELL */
 #endif /* HAVE_PGP_GPG */
 
-
 #ifdef NNTP_ABLE
 	constext txt_caching_off[] = N_("Try cache_overview_files to speed up things.\n");
 	constext txt_caching_on[] = N_("Tin will use local index files instead.\n");
@@ -1448,8 +1496,9 @@ Warning: Posting is in %s and contains c
 	constext txt_failed_to_connect_to_server[] = N_("Failed to connect to NNTP server %s. Exiting...");
 	constext txt_nntp_ok_goodbye[] = N_("205  Closing connection");
 	constext txt_no_xover_support[] = N_("Your server does not support the NNTP XOVER or OVER command.\n");
+	constext txt_port_not_numeric[] = N_("Port isn't numeric: %s:%s\n");
+	constext txt_arg_not_numeric[] = N_("%s argument is not numeric: %s\n");
 #	ifdef DEBUG
-		constext txt_port_not_numeric[] = N_("Port isn't numeric: %s:%s\n");
 		constext txt_port_not_numeric_in[] = N_("Port in %s isn't numeric: %s:%s\n");
 		constext txt_reconnect_limit_reached[] = N_("reconnect (%d) limit %d reached, giving up.");
 #	endif /* DEBUG */
@@ -1457,7 +1506,7 @@ Warning: Posting is in %s and contains c
 	constext txt_server_name_in_file_env_var[] = N_("Put the server name in the file %s,\nor set the environment variable NNTPSERVER");
 #ifdef USE_ZLIB
 		constext txt_continuing[] = N_("Continuing...");
-		constext txt_read_timeout_quit[] = N_("Read timeout from server (%d seconds) - quit tin?");
+		constext txt_read_timeout_quit[] = N_("Read timeout from server - quit tin?");
 		constext txt_usage_compress[] = N_("  -C       try COMPRESS NNTP extension");
 #endif /* USE_ZLIB */
 	constext txt_usage_force_authentication[] = N_("  -A       force authentication on connect");
@@ -1797,12 +1846,18 @@ constext *txt_show_help_mail_sign_option
 	NULL
 };
 
+
+constext *content_disposition[] = {
+	"inline", "attachment",
+	NULL
+};
+
 /*
  * MIME-Content-Transfer-Encodings.
  */
 /* TODO: can any of this go away? */
 constext *txt_mime_encodings[] = {
-	txt_8bit, txt_base64, txt_quoted_printable, txt_7bit,
+	"8bit", "base64", "quoted-printable", "7bit",
 	NULL
 };
 
@@ -1811,8 +1866,9 @@ constext *content_encodings[] = {
 	NULL
 };
 
+/* t_part->type */
 constext *content_types[] = {
-	"text", "multipart", "application", "message", "image", "audio", "video",
+	"text", "multipart", "application", "message", "image", "audio", "video", "font", "haptics", "model",
 	NULL
 };
 
@@ -2265,7 +2321,7 @@ struct opttxt txt_show_signatures = {
 
 struct opttxt txt_show_art_score = {
 	N_("Display article score. <SPACE> toggles & <CR> sets."),
-	N_("Display article score"),
+	N_("Display article score in pager"),
 	N_("# If ON show article score when displaying articles\n")
 };
 
@@ -2823,6 +2879,12 @@ struct opttxt txt_wrap_column = {
 	N_("# Wrap article lines at column\n")
 };
 
+struct opttxt txt_dont_break_words = {
+    N_("If ON, don't break words when wrapping lines. <SPACE> toggles & <CR> sets."),
+    N_("Don't break words when wrapping"),
+    N_("# Don't break long lines inside a word but on <SPACE> or <TAB>\n")
+};
+
 struct opttxt txt_wrap_on_next_unread = {
 	N_("<SPACE> toggles, <CR> sets, <ESC> cancels."),
 	N_("Wrap around threads on next unread"),
@@ -3120,9 +3182,8 @@ struct opttxt txt_mailer_format = {
 	N_("Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."),
 	N_("Invocation of your mail command"),
 	N_("# Format of mailer line including parameters\n\
-# %M Mailer  %S Subject  %T To  %F Filename\n\
-# e.g. to use mutt as your mailer:    mutt -s \"%S\" -- \"%T\" < %F\n\
-# e.g. mutt interactive          :    mutt -H %F\n")
+# %M Mailer  %S Subject  %T To  %F Filename  %U Username\n\
+# e.g. mutt interactive:  mutt -H %F\n")
 };
 
 struct opttxt txt_interactive_mailer = {
@@ -3204,6 +3265,14 @@ struct opttxt txt_cache_overview_files =
 	N_("# If ON, create local copies of NNTP overview files.\n")
 };
 
+#if defined(USE_ZLIB) && defined(CPP_DOES_CONCAT)
+struct opttxt txt_compress_overview_files = {
+	N_("Compress local copies of NNTP overview files. <SPACE> toggles & <CR> sets."),
+	N_("Compress locally cached NNTP overview files"),
+	N_("# If ON, compress local copies of NNTP overview files.\n")
+};
+#endif /* USE_ZLIB && CPP_DOES_CONCAT */
+
 struct opttxt txt_select_format = {
 	N_("Enter format string. <CR> sets, <ESC> cancels."),
 	N_("Format string for selection level"),
@@ -3498,6 +3567,13 @@ struct opttxt txt_undeclared_charset = {
 	N_("UNDECLARED_CHARSET"),
 	NULL
 };
+#	ifdef USE_ICU_UCSDET
+struct opttxt txt_undeclared_cs_guess = {
+	N_("Guess charset if no charset declaration is present, <CR> to set."),
+	N_("UNDECLARED_CS_GUESS"),
+	NULL
+};
+#	endif /* USE_ICU_UCSDET */
 #endif /* CHARSET_CONVERSION */
 
 struct opttxt txt_x_body = {
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/list.c tin-2.6.4/src/list.c
--- tin-2.6.3/src/list.c	2023-12-24 00:38:38.000000000 +0100
+++ tin-2.6.4/src/list.c	2024-11-25 20:40:37.603797740 +0100
@@ -3,10 +3,10 @@
  *  Module    : list.c
  *  Author    : I. Lea
  *  Created   : 1993-12-18
- *  Updated   : 2019-01-18
+ *  Updated   : 2024-11-25
  *  Notes     : Low level functions handling the active[] list and its group_hash index
  *
- * Copyright (c) 1993-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1993-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -91,6 +91,7 @@ hash_groupname(
 		hash_value = (hash_value << 1) ^ *ptr++;
 		if (++len & 7)
 			continue;
+
 		hash_value %= TABLE_SIZE;
 	}
 	hash_value %= TABLE_SIZE;
@@ -139,6 +140,7 @@ find_group_index(
 		while (i >= 0) {
 			if (!strcasecmp(group, active[i].name))
 				return i;
+
 			i = active[i].next;
 		}
 	}
@@ -296,13 +298,13 @@ debug_print_active_hash(
 
 		if (group_hash[i] == -1) {
 			/* my_printf("EMPTY\n"); */
-			empty++;
+			++empty;
 		} else {
 			int j;
 			int number = 0;
 
 			for (j = group_hash[i]; active[j].next >= 0; j = active[j].next)
-				number++;
+				++number;
 
 			if (number > 31)
 				fprintf(stderr, "MEGA HASH COLLISION > 31 HASH[%d]=[%d]!!!\n", i, number);
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/lock.c tin-2.6.4/src/lock.c
--- tin-2.6.3/src/lock.c	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/lock.c	2024-11-25 20:40:37.611798056 +0100
@@ -3,10 +3,10 @@
  *  Module    : lock.c
  *  Author    : Urs Janssen <urs@tin.org>
  *  Created   : 1998-07-27
- *  Updated   : 2013-11-17
+ *  Updated   : 2024-02-27
  *  Notes     :
  *
- * Copyright (c) 1998-2024 Urs Janssen <urs@tin.org>
+ * Copyright (c) 1998-2025 Urs Janssen <urs@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -230,14 +230,14 @@ dot_lock(
 	dir_name(filename, base_dir);
 	if (!strcmp(filename, base_dir)) /* no filename portion */
 		return rval;
-	if ((dot_fd = my_tmpfile(tempfile, sizeof(tempfile) - 1, base_dir)) == -1)
+	if ((dot_fd = my_mktmp(tempfile, sizeof(tempfile) - 1, base_dir)) == -1)
 		return rval;
 	snprintf(lockfile, sizeof(lockfile), "%s%s", filename, LOCK_SUFFIX);
 
 #ifdef HAVE_LINK
 	if (stat(lockfile, &statbuf)) {	/* lockfile doesn't exist */
 		if (!link(tempfile, lockfile)) {			/* link successful */
-			if (!stat(tempfile, &statbuf)) {	/* tempfile exist */
+			if (!fstat(dot_fd, &statbuf)) {	/* tempfile exist */
 				if (statbuf.st_nlink == 2)			/* link count ok */
 					rval = TRUE;
 			}
@@ -268,13 +268,19 @@ dot_unlock(
 	const char *filename)
 {
 	char *lockfile;
+	int n;
+	size_t llen;
 	t_bool rval = FALSE;
 
-	lockfile = my_malloc(strlen(filename) + strlen(LOCK_SUFFIX) + 2);
-	strcpy(lockfile, filename);
-	strcat(lockfile, LOCK_SUFFIX);
-	if (!unlink(lockfile))
-		rval = TRUE;
+	if ((n = snprintf(NULL, 0, "%s%s", filename, LOCK_SUFFIX)) < 0)
+		return rval;
+
+	llen = (size_t) n + 1;
+	lockfile = my_malloc(llen);
+	if (snprintf(lockfile, llen, "%s%s", filename, LOCK_SUFFIX) == n) {
+		if (!unlink(lockfile))
+			rval = TRUE;
+	}
 	free(lockfile);
 	return rval;
 }
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/mail.c tin-2.6.4/src/mail.c
--- tin-2.6.3/src/mail.c	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/mail.c	2024-12-21 03:54:10.010319016 +0100
@@ -3,10 +3,10 @@
  *  Module    : mail.c
  *  Author    : I. Lea
  *  Created   : 1992-10-02
- *  Updated   : 2023-12-22
+ *  Updated   : 2024-12-21
  *  Notes     : Mail handling routines for creating pseudo newsgroups
  *
- * Copyright (c) 1992-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1992-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -49,6 +49,7 @@
 #		include "tnntp.h"
 #	endif /* !TNNTP_H */
 #endif /* NNTP_ABLE */
+
 /*
  * local prototypes
  */
@@ -100,7 +101,7 @@ read_mail_active_file(
 	struct t_group *ptr;
 
 	if (!batch_mode)
-		wait_message(0, _(txt_reading_mail_active_file));
+		wait_message(0, _(txt_reading_mail_active_file), mail_active_file);
 
 	/*
 	 * Open the mail active file
@@ -188,7 +189,8 @@ write_mail_active_file(
 		return;
 
 	/* generate tmp-filename */
-	file_tmp = get_tmpfilename(mail_active_file);
+	if ((file_tmp = get_tmpfilename(mail_active_file)) == NULL)
+		return;
 
 	if (!backup_file(mail_active_file, file_tmp)) {
 		error_message(2, _(txt_filesystem_full_backup), mail_active_file);
@@ -236,7 +238,7 @@ read_mailgroups_file(
 
 	if ((fp = open_mailgroups_fp()) != NULL) {
 		if (!batch_mode && verb)
-			wait_message(0, _(txt_reading_mailgroups_file));
+			wait_message(0, _(txt_reading_mailgroups_file), mailgroups_file);
 
 		read_groups_descriptions(fp, (FILE *) 0);
 
@@ -266,25 +268,20 @@ open_newsgroups_fp(
 	void)
 {
 #ifdef NNTP_ABLE
-	FILE *result;
-	static int no_more_wildmat = 0;
-
 	if (read_news_via_nntp && !read_saved_news) {
-		if (read_local_newsgroups_file) {
-			if ((result = fopen(local_newsgroups_file, "r")) != NULL) {
-				struct stat buf;
+		FILE *result;
+		static int no_more_wildmat = 0;
 
+		if (read_local_newsgroups_file) {
+			if ((result = tin_fopen(local_newsgroups_file, "r")) != NULL) {
 #	ifdef DEBUG
 				if ((debug & DEBUG_NNTP) && verbose > 1)
 					debug_print_file("NNTP", "open_newsgroups_fp Using local copy of newsgroups file");
 #	endif /* DEBUG */
-
-				if (!fstat(fileno(result), &buf)) {
-					if (buf.st_size > 0)
-						return result;
-				}
-				fclose(result);
-				unlink(local_newsgroups_file);
+				return result;
+			} else {
+				if (!errno) /* zero size file */
+					unlink(local_newsgroups_file);
 			}
 		}
 		/*
@@ -298,8 +295,8 @@ open_newsgroups_fp(
 			char line[NNTP_STRLEN];
 			char file[PATH_LEN];
 			char serverdir[PATH_LEN];
-			struct t_group *group;
 			int resp, i, j = 0;
+			struct t_group *group;
 
 			if (nntp_tcp_port != IPPORT_NNTP)
 				snprintf(file, sizeof(file), "%s:%u", nntp_server, nntp_tcp_port);
@@ -319,9 +316,9 @@ open_newsgroups_fp(
 										snprintf(buff + strlen(buff), sizeof(buff) - strlen(buff), ",%s", active[i].name);
 										continue;
 									} else {
-										put_server(buff);
+										put_server(buff, FALSE);
 										*buff = '\0';
-										j++;
+										++j;
 									}
 								}
 								if (!*buff) {
@@ -349,16 +346,16 @@ open_newsgroups_fp(
 #			endif /* DEBUG && NNTP_ABLE */
 
 #		else
-							put_server(buff);
+							put_server(buff, FALSE);
 							*buff = '\0';
-							j++;
+							++j;
 #		endif /* DISABLE_PIPELINING */
 						}
 					}
 				}
 				if (*buff) {
-					put_server(buff);
-					j++;
+					put_server(buff, FALSE);
+					++j;
 				}
 #		ifndef DISABLE_PIPELINING
 				while (j--) {
@@ -381,8 +378,10 @@ open_newsgroups_fp(
 				}
 				/* TODO: add 483 (RFC 3977) support */
 				if (no_more_wildmat == ERR_NOAUTH || no_more_wildmat == NEED_AUTHINFO) {
-					if (!authenticate(nntp_server, userid, FALSE))
-						tin_done(EXIT_FAILURE, _(txt_auth_failed), nntp_caps.type == CAPABILITIES ? ERR_AUTHFAIL : ERR_ACCESS);
+					if (!authenticate(nntp_server, userid, FALSE)) {
+						fclose(result);
+						tin_done(EXIT_FAILURE, _(txt_auth_failed), nntp_caps.type == CAPABILITIES ? ERR_AUTHFAIL : ERR_ACCESS); /* TODO: should we exit with NNTP_ERROR_EXIT? */
+					}
 				}
 #		endif /* !DISABLE_PIPELINING */
 				fclose(result);
@@ -458,6 +457,22 @@ read_descriptions(
  * of all groups if reading groups of type GROUP_TYPE_NEWS.
  * Aborting this early won't have any adverse affects, just some missing
  * descriptions.
+ *
+ * TODO: instead of matching the description to the group right away
+ *       we could collect (or fetch?) them on a per hierarchy base first
+ *       to guess the charset of the descriptions for that hierarchy for
+ *       conversion (descriptions SHOULD be in UTF-8, but in the real
+ *       world ...)
+ *
+ * TODO: add a tinrc-var to be able to en/disabale charset guessing?
+ *
+ * TODO: (maybe as a wildmat-list? suitable for match_group_list()
+ *        guess_descption_charset=*,!*.test
+ *        or
+ *        guess_descption_charset=ukr.*,cn.*,han.*,esp.*,ee.*,\
+ *          finet.*,fr.*,france.*,is.*,it.*,no.*,se.*,tw.*
+ *       ) results should still be passed per "scope" to charset-guessing
+ *       to have more data.
  */
 static void
 read_groups_descriptions(
@@ -498,30 +513,53 @@ read_groups_descriptions(
 			}
 		}
 
-		for (p = ptr, q = groupname; *p && *p != ' ' && *p != '\t'; p++, q++)
+		p = ptr;
+		for (q = groupname; *p && *p != ' ' && *p != '\t'; p++, q++)
 			*q = *p;
 
 		*q = '\0';
 
 		while (*p == '\t' || *p == ' ')
-			p++;
+			++p;
 
 		group = group_find(groupname, FALSE);
 
 		if (group != NULL && group->description == NULL) {
 			char *r;
 			size_t r_len;
+			t_bool conv_needed = FALSE;
 
 			q = p;
-			while ((q = strchr(q, '\t')) != NULL)
-				*q = ' ';
+			while (*q) {
+				if (*q == '\t') /* what about '\r', '\f', '\v', '\b', '\a'? */
+					*q = ' ';
+				else {
+					if (!conv_needed && (*q < 0x20 || (unsigned char) *q > 0x7f))
+						conv_needed = TRUE;
+				}
+				++q;
+			}
 
 			r = my_strdup(p);
 			r_len = strlen(r);
+
 			/*
 			 * Protect against invalid character sequences.
 			 */
-			process_charsets(&r, &r_len, "UTF-8", tinrc.mm_local_charset, FALSE);
+			if (conv_needed) {
+#ifdef CHARSET_CONVERSION
+#	ifdef USE_ICU_UCSDET
+				char *guessed_charset = guess_charset(r, 10);
+
+				process_charsets(&r, &r_len, guessed_charset ? guessed_charset : "UTF-8", tinrc.mm_local_charset, FALSE);
+				FreeAndNull(guessed_charset);
+#	else
+				process_charsets(&r, &r_len, "UTF-8", tinrc.mm_local_charset, FALSE);
+#	endif /* USE_ICU_UCSDET */
+#else
+				process_charsets(&r, &r_len, "UTF-8", tinrc.mm_local_charset, FALSE);
+#endif /* CHARSET_CONVERSION */
+			}
 			group->description = convert_to_printable(r, FALSE);
 		}
 
@@ -529,7 +567,7 @@ read_groups_descriptions(
 			spin_cursor();
 	}
 #	if defined(DEBUG) && defined(NNTP_ABLE)
-	if ((debug & DEBUG_NNTP) && !verbose)
+	if ((debug & DEBUG_NNTP) && fp == FAKE_NNTP_FP && !verbose)
 		debug_print_file("NNTP", "<<<%s%s", logtime(), txt_log_data_hidden);
 #	endif /* DEBUG && NNTP_ABLE */
 	FreeIfNeeded(groupname);
@@ -611,15 +649,14 @@ grp_del_mail_art(
 
 void
 grp_del_mail_arts(
-	struct t_group *group)
+	const struct t_group *group)
 {
-	char article_filename[PATH_LEN];
-	char group_path[PATH_LEN];
-	char artnum[LEN];
-	int i;
-	struct t_article *article;
-
 	if (group->type == GROUP_TYPE_MAIL || group->type == GROUP_TYPE_SAVE) {
+		char article_filename[PATH_LEN];
+		char group_path[PATH_LEN];
+		char artnum[LEN];
+		int i;
+		struct t_article *article;
 		/*
 		 * at least for GROUP_TYPE_SAVE a wait is annoying - nuke the message?
 		 */
@@ -647,8 +684,8 @@ grp_del_mail_arts(
 
 t_bool
 art_edit(
-	struct t_group *group,
-	struct t_article *article)
+	const struct t_group *group,
+	const struct t_article *article)
 {
 	char article_filename[PATH_LEN];
 	char temp_filename[PATH_LEN];
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/main.c tin-2.6.4/src/main.c
--- tin-2.6.3/src/main.c	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/main.c	2024-12-11 18:16:53.066643088 +0100
@@ -3,10 +3,10 @@
  *  Module    : main.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2023-11-26
+ *  Updated   : 2024-12-11
  *  Notes     :
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,6 +47,12 @@
 #ifndef VERSION_H
 #	include "version.h"
 #endif /* !VERSION_H */
+#if defined(INET6) && defined(HAVE_INET_PTON)
+#	ifndef TNNTP_H
+#		include "tnntp.h"
+#	endif /* !TNNTP_H */
+#endif /* INET6 && HAVE_INET_PTON */
+
 
 signed long int read_newsrc_lines = -1;
 
@@ -75,7 +81,7 @@ static void usage(char *theProgname);
 #define FREE_ARGV_IF_NEEDED(orig, new) do { \
 		if (orig != new) { \
 			free(*(new + 1)); \
-			free(new); \
+			FreeAndNull(new); \
 		} \
 	} while (0)
 
@@ -104,7 +110,8 @@ main(
 #	endif /* ENABLE_NLS */
 	} else {
 		my_fprintf(stderr, "%s\n", txt_error_locale);
-		sleep(4);
+		if (!batch_mode)
+			sleep(4);
 	}
 #endif /* HAVE_SETLOCALE && !NO_LOCALE */
 
@@ -116,18 +123,39 @@ main(
 		const char *p;
 
 		if ((p = tin_nl_langinfo(CODESET)) != NULL) {
-			if (strcasecmp(p, "ANSI_X3.4-1968")) /* !US-ASCII */
-				STRCPY(tinrc.mm_local_charset, p);
+			/*
+			 * TODO: also "exclude" the other US-ASCII aliases
+			 *       csASCII, cp367, IBM367, ISO646-US, ...
+			 */
+			if (strncasecmp(p, "ANSI_X3.4-19", 12)) { /* !US-ASCII (ANSI_X3.4-1968, ANSI_X3.4-1986) */
+				FreeIfNeeded(tinrc.mm_local_charset);
+				tinrc.mm_local_charset = my_strdup(p);
+			}
 		}
 	}
 #endif /* !NO_LOCALE */
 	/* always set a default value */
-	if (!*tinrc.mm_local_charset)
-		STRCPY(tinrc.mm_local_charset, "US-ASCII");
+	if (!tinrc.mm_local_charset || !*tinrc.mm_local_charset) {
+		FreeIfNeeded(tinrc.mm_local_charset);
+		tinrc.mm_local_charset = my_strdup("US-ASCII");
+	}
+
+	/*
+	 * Set cCOLS temporarily to trim (localized) messages.
+	 * It does not matter if this value is greater than the actual
+	 * terminal size.
+	 *
+	 * cCOLS / cLINES will be set later to the real terminal width,
+	 * but as they are checked the SIGWINCH handler which is setup
+	 * early...
+	 */
+	cCOLS = 80;
+	cLINES = 24;
 
 	set_signal_handlers();
 
-	debug = 0;	/* can't use if (debug) before read_cmd_line_options() */
+	/* can't use if (debug) before read_cmd_line_options() */
+	debug = 0;
 
 	tin_progname = my_malloc(strlen(argv[0]) + 1);
 	base_name(argv[0], tin_progname);
@@ -142,15 +170,19 @@ main(
 #	ifdef NNTP_ABLE
 		read_news_via_nntp = TRUE;
 #	else
-		my_fprintf(stderr, _(txt_option_not_enabled), "-DNNTP_ABLE");
-		my_fprintf(stderr, "\n");
-		sleep(2);
+		my_fprintf(stderr, _(txt_option_not_enabled), "-DNNTP_ABLE", "\n");
 		free(tin_progname);
 		giveup();
 #	endif /* NNTP_ABLE */
 	}
 #endif /* NNTP_ONLY */
 
+#ifdef USE_SOCKS5
+	/* override the the generic "SOCKSclient" log-name */
+	if (read_news_via_nntp)
+		SOCKSinit(tin_progname);
+#endif /* USE_SOCKS5 */
+
 	/*
 	 * Set up initial array sizes, char *'s: homedir, newsrc, etc.
 	 */
@@ -160,19 +192,12 @@ main(
 	init_group_hash();
 
 	/*
-	 * Set cCOLS temporarily to trim (localized) messages
-	 * It does not matter if this value is greater than the actual
-	 * terminal size
-	 *
-	 * cCOLS will be set later to the real terminal width
-	 */
-	cCOLS = 80;
-
-	/*
 	 * Process envargs & command line options
 	 * These override the configured in values
 	 */
 	cmdargs = read_cmd_line_options(argc, argv);
+	if (cmdargs != argv_orig)
+		handle_cmdargs(TRUE);
 
 	/* preinit keybindings if interactive */
 	if (!batch_mode)
@@ -184,7 +209,8 @@ main(
 	 *
 	 * must be called before setup_screen()
 	 */
-	read_config_file(global_config_file, TRUE);
+	if (!read_config_file(global_config_file, TRUE))
+		global_config_file[0] = '\0';
 	read_config_file(local_config_file, FALSE);
 
 	tmp_no_write = no_write; /* keep no_write */
@@ -193,7 +219,10 @@ main(
 	if (!batch_mode) {
 #ifndef USE_CURSES
 		if (!get_termcaps()) {
-			error_message(2, _(txt_screen_init_failed), tin_progname);
+			my_fprintf(stderr, _(txt_screen_init_failed), tin_progname);
+			my_fprintf(stderr, "\n");
+			if (!batch_mode)
+				sleep(2);
 			FREE_ARGV_IF_NEEDED(argv_orig, cmdargs);
 			free_all_arrays();
 			giveup();
@@ -243,35 +272,56 @@ main(
 		nntp_server = getserverbyfile(NNTP_SERVER_FILE);
 
 	open_msglog(); /* depends on nntp_server */
+	read_server_config();
 
 	if (read_news_via_nntp && !read_saved_news) {
+#	ifdef NNTPS_ABLE
+		if (use_nntps && !insecure_nntps) { /* RFC 8143 "3.3 Server Name Indication" */
+			unsigned is_ip;
+
+			if (strchr(nntp_server, ':')) /* IPv6 */
+				is_ip = 6;
+			else
+				is_ip = (sscanf(nntp_server, "%*u.%*u.%*u.%*u") == 4) ? 4 : 0;
+
+			if (is_ip) {
+				error_message(2, _(txt_error_cant_use_litteral), is_ip, nntp_server); /* TODO: mention "-k"? */
+				FREE_ARGV_IF_NEEDED(argv_orig, cmdargs);
+				free_all_arrays();
+				giveup();
+			}
+		}
+
 		if (use_nntps && tintls_init()) {
 			tintls_exit();
 			FREE_ARGV_IF_NEEDED(argv_orig, cmdargs);
 			free_all_arrays();
 			giveup();
 		}
+#	endif /* NNTPS_ABLE */
 
 		if (nntp_open()) {
 			nntp_close(FALSE);
-			tintls_exit();
+			if (use_nntps)
+				tintls_exit();
 			FREE_ARGV_IF_NEEDED(argv_orig, cmdargs);
 			free_all_arrays();
 			giveup();
 		}
 	}
 
-	read_server_config();
-
 	/*
 	 * exit early - unfortunately we can't do that in read_cmd_line_options()
 	 * as nntp_caps.over_cmd is set in nntp_open()
 	 *
-	 * TODO: does the logic make sense? what
-	 * if (update_index && !nntp_caps.over_cmd && !tinrc.cache_overview_files)
-	 * no error message? why?
+	 * without nntp_caps.over_cmd we used HEAD to fetch the data
+	 * which is MUCH slower, inform the user about this (but he can't
+	 * do much about it anyway)?
+	 *
+	 * why evaluate tinrc.cache_overview_files in error_message, we know
+	 * it is false -> txt_batch_update_unavail could hold a fixed string.
 	 */
-	if (update_index && nntp_caps.over_cmd && !tinrc.cache_overview_files) {
+	if (update_index && !tinrc.cache_overview_files) {
 		error_message(2, _(txt_batch_update_unavail), tin_progname, print_boolean(tinrc.cache_overview_files));
 		FREE_ARGV_IF_NEEDED(argv_orig, cmdargs);
 		free_all_arrays();
@@ -293,13 +343,16 @@ main(
 	 */
 	postinit_regexp();
 
-	if (!(batch_mode || post_postponed_and_exit)) {
+	if (!(batch_mode /*|| post_postponed_and_exit*/)) { /* post_postponed_and_exit currently may ask questions (e.g. group not found) */
 		/*
 		 * Read user specific keybindings and input history
 		 */
+		keymap_file[0] = '\0';
 		read_keymap_file();
 		read_input_history_file();
+	}
 
+	if (!(batch_mode || post_postponed_and_exit)) {
 		/*
 		 * Load the mail & news active files into active[]
 		 *
@@ -327,9 +380,13 @@ main(
 	 * $AUTOSUBSCRIBE groups
 	 */
 	no_write = tmp_no_write;
-	read_attributes_file(TRUE);
-	read_attributes_file(FALSE);
-	start_groupnum = read_news_active_file();
+	if (!check_any_unread) {
+		if (!read_attributes_file(TRUE))
+			global_attributes_file[0] = '\0';
+
+		read_attributes_file(FALSE);
+	}
+	start_groupnum = read_news_active_file(check_any_unread);
 #ifdef DEBUG
 	if (debug & DEBUG_MISC)
 		debug_print_active();
@@ -339,7 +396,8 @@ main(
 	 * Read in users filter preferences file. This has to be done before
 	 * quick post because the filters might be updated.
 	 */
-	read_filter_file(filter_file);
+	if (!update_index)
+		read_filter_file(filter_file);
 
 	no_write = TRUE;
 #ifdef DEBUG
@@ -355,12 +413,6 @@ main(
 		num_cmd_line_groups = read_cmd_line_groups();
 
 	/*
-	 * If TINRC environment variable exist, envarg.c:envargs() allocates
-	 * memory for a new argv. Free it now as it is no longer needed.
-	 */
-	FREE_ARGV_IF_NEEDED(argv_orig, cmdargs);
-
-	/*
 	 * Quick post an article and exit if -w or -o specified
 	 */
 	if (post_article_and_exit || post_postponed_and_exit) {
@@ -485,7 +537,7 @@ main(
 
 /*
  * process command line options
- * [01235789beEFijJKLOyY] are unused
+ * [01235789beEFijJKOyY] are unused
  * [W] is reserved
  * [BPU] have been in use at some time, but now are unused:
  *   B BBS mode (M_AMIGA only)
@@ -493,36 +545,68 @@ main(
  *   U update index files in background
  * reused with different function:
  *   C was count articles, now is activate COMPRESS DEFLATE
+ *   p was set printer-cmd., now is nntp-port
+ *
+ * unused: [bBeEijJKOPU01235789]
  */
-#define OPTIONS "46aAcCdD:f:g:G:hHI:klm:M:nNop:qQrRs:St:TuvVwxXzZ"
-
+#define DO_FREE() do { \
+		FreeIfNeeded(trcv); \
+		FREE_ARGV_IF_NEEDED(argv_orig, argv); \
+		free_all_arrays(); \
+	} while (0)
+#define OPTION_EXIT(opt) do { \
+		error_message(0, _(txt_option_not_enabled), opt, BlankIfNull(trcv)); \
+		FreeIfNeeded(trcv); \
+		FREE_ARGV_IF_NEEDED(argv_orig, argv); \
+		free_all_arrays(); \
+		giveup(); \
+	} while (0)
+#define USELESS_COMB(keep,ignore) do { \
+		wait_message(2, _(txt_useless_combination), keep, ignore, ignore, BlankIfNull(trcv)); \
+	} while (0)
+#define OPTIONS "46aAcCdD:f:F:g:G:hHI:klL:m:M:nNop:qQrRs:St:TuvVwxXzZ"
 static char **
 read_cmd_line_options(
 	int argc,
 	char *argv[])
 {
+	const char *envtinrc = get_val("TINRC", NULL);
 	char **argv_orig = argv;
-	int ch;
+	char *trcv;
+	int n, ch;
+#if defined(NNTP_ABLE) || defined(DEBUG)
+	int i;
+#endif /* NNTP_ABLE || DEBUG */
+#ifdef NNTP_ABLE
 	t_bool newsrc_set = FALSE;
+#endif /* NNTP_ABLE */
 
 	envargs(&argc, &argv, "TINRC");
 
+	if (envtinrc && *envtinrc) {
+		size_t len;
+
+		if ((n = snprintf(NULL, 0, txt_option_check_tinrc, envtinrc)) > 0) {
+			len = (size_t) n + 1;
+			trcv = my_malloc(len);
+			if (snprintf(trcv, len, txt_option_check_tinrc, envtinrc) != n) {
+				FreeAndNull(trcv);
+			}
+		} else
+			trcv = NULL;
+	} else
+		trcv = NULL;
+
 	while ((ch = getopt(argc, argv, OPTIONS)) != -1) {
 		switch (ch) {
-
 			case '4':
-#if defined(NNTP_ABLE) && defined(INET6)
-				force_ipv4 = TRUE;
+#ifdef NNTP_ABLE
 				read_news_via_nntp = TRUE;
+#	ifdef INET6
+				force_ipv4 = TRUE;
+#	endif /* INET6 */
 #else
-#	ifdef NNTP_ABLE
-				error_message(2, _(txt_option_not_enabled), "-DENABLE_IPV6");
-#	else
-				error_message(2, _(txt_option_not_enabled), "-DNNTP_ABLE");
-#	endif /* NNTP_ABLE */
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
-				giveup();
+				OPTION_EXIT("-DNNTP_ABLE");
 				/* keep lint quiet: */
 				/* NOTREACHED */
 #endif /* NNTP_ABLE && INET6 */
@@ -534,13 +618,10 @@ read_cmd_line_options(
 				read_news_via_nntp = TRUE;
 #	else
 #	ifdef NNTP_ABLE
-				error_message(2, _(txt_option_not_enabled), "-DENABLE_IPV6");
+				OPTION_EXIT("-DENABLE_IPV6");
 #	else
-				error_message(2, _(txt_option_not_enabled), "-DNNTP_ABLE");
+				OPTION_EXIT("-DNNTP_ABLE");
 #	endif /* NNTP_ABLE */
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
-				giveup();
 				/* keep lint quiet: */
 				/* NOTREACHED */
 #endif /* NNTP_ABLE && INET6 */
@@ -550,10 +631,7 @@ read_cmd_line_options(
 #ifdef HAVE_COLOR
 				cmdline.args |= CMDLINE_USE_COLOR;
 #else
-				error_message(2, _(txt_option_not_enabled), "-DHAVE_COLOR");
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
-				giveup();
+				OPTION_EXIT("-DHAVE_COLOR");
 				/* keep lint quiet: */
 				/* NOTREACHED */
 #endif /* HAVE_COLOR */
@@ -564,10 +642,7 @@ read_cmd_line_options(
 				force_auth_on_conn_open = TRUE;
 				read_news_via_nntp = TRUE;
 #else
-				error_message(2, _(txt_option_not_enabled), "-DNNTP_ABLE");
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
-				giveup();
+				OPTION_EXIT("-DNNTP_ABLE");
 				/* keep lint quiet: */
 				/* NOTREACHED */
 #endif /* NNTP_ABLE */
@@ -583,36 +658,101 @@ read_cmd_line_options(
 #	ifdef USE_ZLIB
 				use_compress = TRUE;
 #	else
-				error_message(2, _(txt_option_not_enabled), "-DUSE_ZLIB");
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
-				giveup();
+				OPTION_EXIT("-DUSE_ZLIB");
 				/* keep lint quiet: */
 				/* NOTREACHED */
 #	endif /* USE_ZLIB */
 #else
-				error_message(2, _(txt_option_not_enabled), "-DNNTP_ABLE");
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
-				giveup();
+				OPTION_EXIT("-DNNTP_ABLE");
 				/* keep lint quiet: */
 				/* NOTREACHED */
 #endif /* NNTP_ABLE */
 				break;
 
 			case 'd':
+				cmdline.args |= CMDLINE_NO_DESCRIPTION;
 				show_description = FALSE;
 				break;
 
 			case 'D':		/* debug mode */
 #ifdef DEBUG
-				debug = atoi(optarg) & 0xff;
-				debug_delete_files();
+				{
+					char *d;
+					char *dbg = my_strdup(optarg);
+					const char *option_names[3][9] = { {
+						"NNTP", "FILTER", "NEWSRC", "THREADING", "MEMORY",
+						"ATTRIBUTES", "MISC", "REMOVE",
+						NULL }, {
+						"NNTPS", "ARTS", "BITMAP", "REFS", "MALLOC",
+						"ATTRIBUTES" /* no 2nd alt. */, "GNKSA", "DELETE",
+						NULL }, {
+						NULL } };
+					int num_o;
+					t_bool m = FALSE;
+
+					if ((d = strtok(dbg, ",")) == NULL) {
+						free(dbg);
+						break;
+					}
+
+					do {
+						errno = 0;
+						if ((i = s2i(d, 1, 2 * DEBUG_REMOVE - 1))) {
+							switch (errno) {
+								case ERANGE:
+									error_message(0, _(txt_val_out_of_range_ignored), "-D", d, 1, 2 * DEBUG_REMOVE - 1);
+									if (!batch_mode)
+										sleep(2);
+									break;
+
+								default:
+									debug |= i;
+									break;
+							}
+							continue;
+						} else { /* EINVAL */
+							while (*d == ' ' || *d == '\t') /* skip leading blanks -D "foo, 0" */
+								++d;
+							for (n = 0; option_names[n][0] != NULL; n++) {
+								for (num_o = 0; option_names[n][num_o] != NULL; num_o++) {
+									m = FALSE; /* match flag */
+									if (!strcasecmp(d, option_names[n][num_o])) {
+										debug |= 1 << num_o;
+										m = TRUE;
+										break;
+									}
+								}
+								if (m) /* match, break loop to fetch next arg */
+									break;
+							}
+							if (m) /* match, fetch next arg */
+								continue;
+
+							/* more alternatives or combinations */
+							if (!strcasecmp(d, "ACTIVE")) {
+								debug |= DEBUG_MISC;
+								continue;
+							}
+							if (!strcasecmp(d, "ALL") || !strcasecmp(d, "EVERYTHING")) {
+								debug |= DEBUG_ALL;
+								continue;
+							}
+
+							if (*d == '0' && *(d + 1) == '\0') /* silence the noop -D 0 */
+								continue;
+
+							error_message(0, "Unknown option \"-D %s\"", d);
+							if (!batch_mode)
+								sleep(2);
+						}
+					} while ((d = strtok(NULL, ",")) != NULL);
+
+					free(dbg);
+					if (debug)
+						debug_delete_files();
+				}
 #else
-				error_message(2, _(txt_option_not_enabled), "-DDEBUG");
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
-				giveup();
+				OPTION_EXIT("-DDEBUG");
 				/* keep lint quiet: */
 				/* NOTREACHED */
 #endif /* DEBUG */
@@ -620,43 +760,151 @@ read_cmd_line_options(
 
 			case 'f':	/* newsrc file */
 				my_strncpy(newsrc, optarg, sizeof(newsrc) - 1);
+#ifdef NNTP_ABLE
 				newsrc_set = TRUE;
+#endif /* NNTP_ABLE */
+				break;
+
+			case 'F':	/* filter file */
+				my_strncpy(filter_file, optarg, sizeof(filter_file) - 1);
 				break;
 
 			case 'G':
-				cmdline.getart_limit = atoi(optarg);
-				cmdline.args |= CMDLINE_GETART_LIMIT;
+				cmdline.getart_limit = s2i(optarg, INT_MIN, INT_MAX);
+				switch (errno) {
+					case EINVAL: /* arg not numeric */
+						error_message(0, _(txt_arg_not_numeric), "-G", optarg);
+						DO_FREE();
+						giveup();
+						/* keep lint quiet: */
+						/* FALLTHROUGH */
+						break;
+
+					case ERANGE:
+						error_message(0, _(txt_val_out_of_range_ignored), "-G", optarg, INT_MIN, INT_MAX);
+						cmdline.getart_limit = 0;
+						if (!batch_mode)
+							sleep(2);
+						break;
+
+					default:
+						break;
+				}
+				if (cmdline.getart_limit != 0)
+					cmdline.args |= CMDLINE_GETART_LIMIT;
 				break;
 
 			case 'g':	/* select alternative NNTP-server, implies -r */
 #ifdef NNTP_ABLE
-				my_strncpy(cmdline.nntpserver, optarg, sizeof(cmdline.nntpserver) - 1);
-				{ /* ":port" suffix - no IPv6-address support yet */
+				cmdline.nntpserver = my_strdup(optarg);
+				str_trim(cmdline.nntpserver);
+				{
 					char *p;
-					unsigned short i;
 
 					if ((p = strchr(cmdline.nntpserver, ':')) != NULL) {
-						if (strrchr(cmdline.nntpserver, ':') == p) {
+						if (*cmdline.nntpserver != '[' && strrchr(cmdline.nntpserver, ':') == p) { /* exact 1 x ':' must be name:port or ipv4:port */
 							*p++ = '\0';
-
-							if ((i = (unsigned short) atoi(p)) != 0)
-								nntp_tcp_port = i;
-#	ifdef DEBUG
-							else {
-								if (debug & DEBUG_MISC)
-									wait_message(3, _(txt_port_not_numeric), cmdline.nntpserver, p);
+							i = s2i(p, 0, 65535);
+							switch (errno) {
+								case EINVAL:
+									error_message(0, _(txt_port_not_numeric), cmdline.nntpserver, p);
+									DO_FREE();
+									giveup();
+									/* keep lint quiet: */
+									/* FALLTHROUGH */
+									break;
+
+								case ERANGE:
+									error_message(0, _(txt_val_out_of_range_reset), "-g", (int) strtol(optarg, NULL, 10), 65535);
+									if (!batch_mode)
+										sleep(2);
+									break;
+
+								default:
+									nntp_tcp_port = (unsigned short) i;
+									break;
 							}
-#	endif /* DEBUG */
+						} else /* "[ipv6]"[:port] */
+#	ifndef INET6
+						{
+							OPTION_EXIT("-DENABLE_IPV6");
 						}
+#	else
+						{
+							char *q;
+							int j = 0;
+
+							if (*cmdline.nntpserver == '[' && (q = strrchr(cmdline.nntpserver, ']')) != NULL) {
+								if ((p = strchr(cmdline.nntpserver, ':')) != NULL) {
+									if (p > q) { /* not an IPv6 literal (e.g. [host.name]:port or [i.p.v.4]:port, must not be in []) */
+										error_message(0, _(txt_error_not_ipv6_literal), cmdline.nntpserver);
+										DO_FREE();
+										giveup();
+									}
+								}
+								if ((p = strchr(q, ':')) != NULL) {
+									if (p == q + 1) {
+										i = s2i(++p, 0, 65535);
+										switch (errno) {
+											case EINVAL:
+												*++q = '\0'; /* remove tailing ':' */
+												error_message(0, _(txt_port_not_numeric), cmdline.nntpserver, p);
+												DO_FREE();
+												giveup();
+												/* keep lint quiet: */
+												/* FALLTHROUGH */
+												break;
+
+											case ERANGE:
+												error_message(0, _(txt_val_out_of_range_reset), "-g", (int) strtol(optarg, NULL, 10), 65535);
+												if (!batch_mode)
+													sleep(2);
+												break;
+
+											default:
+												nntp_tcp_port = (unsigned short) i;
+												break;
+										}
+									}
+								}
+								*q = '\0'; /* remove tailing ']' */
+								for (i = 1; cmdline.nntpserver[i] != '\0'; i++) { /* remove leading '[' */
+									cmdline.nntpserver[i - 1] = cmdline.nntpserver[i];
+									/* minimal IPv6 syntax checking - just if we didn't find inet_pton() */
+									if (cmdline.nntpserver[i] == ':')
+										++j;
+									else {
+										if (!IS_XDIGIT(cmdline.nntpserver[i]))
+											j += 1000;
+									}
+								}
+								cmdline.nntpserver[i - 1] = '\0';
+								str_trim(cmdline.nntpserver);
+								{
+#		if defined(HAVE_INET_PTON) && defined(AF_INET6)
+									struct in6_addr inaddr;
+
+									(void) j; /* silence unused-but-set */
+									if (inet_pton(AF_INET6, cmdline.nntpserver, &inaddr) != 1)
+#		else
+									if (j < 2 || j > 7)
+#		endif /* HAVE_INET_PTON && AF_INET6 */
+									{
+										error_message(0, _(txt_error_not_ipv6_literal), cmdline.nntpserver);
+										DO_FREE();
+										giveup();
+									}
+								}
+							}
+						}
+#	endif /* !INET6 */
 					}
 				}
-				cmdline.args |= CMDLINE_NNTPSERVER;
+				if (cmdline.nntpserver && !*cmdline.nntpserver)
+					FreeAndNull(cmdline.nntpserver);
 				read_news_via_nntp = TRUE;
 #else
-				error_message(2, _(txt_option_not_enabled), "-DNNTP_ABLE");
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
-				giveup();
+				OPTION_EXIT("-DNNTP_ABLE");
 				/* keep lint quiet: */
 				/* NOTREACHED */
 #endif /* NNTP_ABLE */
@@ -664,11 +912,11 @@ read_cmd_line_options(
 
 			case 'H':
 				show_intro_page();
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
+				DO_FREE();
 				exit(EXIT_SUCCESS);
 				/* keep lint quiet: */
-				/* FALLTHROUGH */
+				/* NOTREACHED */
+				break;
 
 			case 'I':
 				joinpath(index_newsdir, sizeof(index_newsdir), optarg, INDEX_NEWSDIR);
@@ -679,10 +927,7 @@ read_cmd_line_options(
 				insecure_nntps = TRUE;
 				use_nntps = TRUE;
 #else
-				error_message(2, _(txt_option_not_enabled), "--with-nntps");
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
-				giveup();
+				OPTION_EXIT("--with-nntps");
 				/* keep lint quiet: */
 				/* NOTREACHED */
 #endif /* NNTPS_ABLE */
@@ -692,9 +937,19 @@ read_cmd_line_options(
 				list_active = TRUE;
 				break;
 
+			case 'L':
+#ifdef NNTP_ABLE
+				cmdline.msgid = my_strdup(optarg);
+				str_trim(cmdline.msgid);
+#else
+				OPTION_EXIT("-DNNTP_ABLE");
+				/* keep lint quiet: */
+				/* NOTREACHED */
+#endif /* NNTP_ABLE */
+				break;
+
 			case 'm':
-				my_strncpy(cmdline.maildir, optarg, sizeof(cmdline.maildir) - 1);
-				cmdline.args |= CMDLINE_MAILDIR;
+				cmdline.maildir = my_strdup(optarg);
 				break;
 
 			case 'M':	/* mail new news to specified user */
@@ -722,10 +977,7 @@ read_cmd_line_options(
 				post_postponed_and_exit = TRUE;
 				check_for_new_newsgroups = FALSE;
 #else
-				error_message(2, _(txt_option_not_enabled), "-UNO_POSTING");
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
-				giveup();
+				OPTION_EXIT("-UNO_POSTING");
 				/* keep lint quiet: */
 				/* NOTREACHED */
 #endif /* !NO_POSTING */
@@ -733,14 +985,30 @@ read_cmd_line_options(
 
 			case 'p': /* implies -r */
 #ifdef NNTP_ABLE
+				i = s2i(optarg, 0, 65535);
+
+				switch (errno) {
+					case EINVAL:
+						error_message(0, _(txt_arg_not_numeric), "-p", optarg);
+						DO_FREE();
+						giveup();
+						/* keep lint quiet: */
+						/* FALLTHROUGH */
+						break;
+
+					case ERANGE:
+						error_message(0, _(txt_val_out_of_range_ignored), "-p", optarg, 0, 65535);
+						if (!batch_mode)
+							sleep(2);
+						break;
+
+					default:
+						nntp_tcp_port = (unsigned short) i;
+						break;
+				}
 				read_news_via_nntp = TRUE;
-				if (atoi(optarg) != 0)
-					nntp_tcp_port = (unsigned short) atoi(optarg);
 #else
-				error_message(2, _(txt_option_not_enabled), "-DNNTP_ABLE");
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
-				giveup();
+				OPTION_EXIT("-DNNTP_ABLE");
 				/* keep lint quiet: */
 				/* NOTREACHED */
 #endif /* NNTP_ABLE */
@@ -754,16 +1022,14 @@ read_cmd_line_options(
 				newsrc_active = TRUE;
 				check_for_new_newsgroups = FALSE;
 				show_description = FALSE;
+				cmdline.args |= CMDLINE_NO_DESCRIPTION;
 				break;
 
 			case 'r':	/* read news remotely from default NNTP server */
 #ifdef NNTP_ABLE
 				read_news_via_nntp = TRUE;
 #else
-				error_message(2, _(txt_option_not_enabled), "-DNNTP_ABLE");
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
-				giveup();
+				OPTION_EXIT("-DNNTP_ABLE");
 				/* keep lint quiet: */
 				/* NOTREACHED */
 #endif /* NNTP_ABLE */
@@ -772,14 +1038,13 @@ read_cmd_line_options(
 			case 'R':	/* read news saved by -S option */
 				read_saved_news = TRUE;
 				list_active = TRUE;
-				newsrc_active = FALSE;
+				read_news_via_nntp = newsrc_active = FALSE;
 				check_for_new_newsgroups = FALSE;
 				my_strncpy(news_active_file, save_active_file, sizeof(news_active_file) - 1);
 				break;
 
 			case 's':
-				my_strncpy(cmdline.savedir, optarg, sizeof(cmdline.savedir) - 1);
-				cmdline.args |= CMDLINE_SAVEDIR;
+				cmdline.savedir = my_strdup(optarg);
 				break;
 
 			case 'S':	/* save new news to dir structure */
@@ -789,19 +1054,22 @@ read_cmd_line_options(
 
 			case 't':
 #if defined(NNTP_ABLE) && defined(HAVE_ALARM) && defined(SIGALRM)
-				cmdline.nntp_timeout = MIN(abs(atoi(optarg)), TIN_NNTP_TIMEOUT_MAX);
-				if ((cmdline.nntp_timeout = atoi(optarg)) < 0)
-					cmdline.nntp_timeout = 0;
-				else { /* as for nntp_read_timeout_secs */
-					if (cmdline.nntp_timeout > TIN_NNTP_TIMEOUT_MAX)
-						cmdline.nntp_timeout = 0;
+				cmdline.nntp_timeout = s2i(optarg, 0, TIN_NNTP_TIMEOUT_MAX);
+				switch (errno) {
+					case EINVAL: /* TODO: extra error message */
+					case ERANGE:
+						error_message(0, _(txt_val_out_of_range_reset), "-t", (int) strtol(optarg, NULL, 10), TIN_NNTP_TIMEOUT_MAX);
+						if (!batch_mode)
+							sleep(2);
+						break;
+
+					default:
+						break;
 				}
-				cmdline.args |= CMDLINE_NNTP_TIMEOUT;
+				if (cmdline.nntp_timeout)
+					cmdline.args |= CMDLINE_NNTP_TIMEOUT;
 #else
-				error_message(2, _(txt_option_not_enabled), "-DNNTP_ABLE");
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
-				giveup();
+				OPTION_EXIT("-DNNTP_ABLE");
 				/* keep lint quiet: */
 				/* NOTREACHED */
 #endif /* NNTP_ABLE && HAVE_ALARM && SIGALRM */
@@ -811,10 +1079,7 @@ read_cmd_line_options(
 #ifdef NNTPS_ABLE
 				use_nntps = TRUE;
 #else
-				error_message(2, _(txt_option_not_enabled), "--with-nntps");
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
-				giveup();
+				OPTION_EXIT("--with-nntps");
 				/* keep lint quiet: */
 				/* NOTREACHED */
 #endif /* NNTPS_ABLE */
@@ -826,26 +1091,23 @@ read_cmd_line_options(
 				break;
 
 			case 'v':	/* verbose mode, can be used multiple times */
-				verbose++;
+				++verbose;
 				break;
 
 			case 'V':
-				tin_version_info(stderr);
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
+				tin_version_info(stderr, verbose);
+				DO_FREE();
 				exit(EXIT_SUCCESS);
 				/* keep lint quiet: */
-				/* FALLTHROUGH */
+				/* NOTREACHED */
+				break;
 
 			case 'w':	/* post article & exit */
 #ifndef NO_POSTING
 				post_article_and_exit = TRUE;
 				check_for_new_newsgroups = FALSE;
 #else
-				error_message(2, _(txt_option_not_enabled), "-UNO_POSTING");
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
-				giveup();
+				OPTION_EXIT("-UNO_POSTING");
 				/* keep lint quiet: */
 				/* NOTREACHED */
 #endif /* !NO_POSTING */
@@ -877,8 +1139,7 @@ read_cmd_line_options(
 			case '?':
 			default:
 				usage(tin_progname);
-				FREE_ARGV_IF_NEEDED(argv_orig, argv);
-				free_all_arrays();
+				DO_FREE();
 				exit(EXIT_SUCCESS);
 		}
 	}
@@ -897,114 +1158,256 @@ read_cmd_line_options(
 	/* cmdargs = argv; */
 	num_cmdargs = optind;
 	max_cmdargs = argc;
-	if (!newsrc_set) {
+
+#ifdef NNTP_ABLE
+	if (!newsrc_set) { /* this gives "-f" a higher priority (in contrast to -p) */
 		if (read_news_via_nntp) {
 			nntp_server = getserverbyfile(NNTP_SERVER_FILE);
 			get_newsrcname(newsrc, sizeof(newsrc), nntp_server);
 		} else {
-#if defined(HAVE_SYS_UTSNAME_H) && defined(HAVE_UNAME)
-			struct utsname uts;
-			(void) uname(&uts);
-			get_newsrcname(newsrc, sizeof(newsrc), uts.nodename);
-#else
-			char nodenamebuf[256]; /* SUSv2 limit; better use HOST_NAME_MAX */
-#	ifdef HAVE_GETHOSTNAME
-			(void) gethostname(nodenamebuf, sizeof(nodenamebuf));
-#	endif /* HAVE_GETHOSTNAME */
+			const char *nodenamebuf = get_host_name();
+
 			get_newsrcname(newsrc, sizeof(newsrc), nodenamebuf);
-#endif /* HAVE_SYS_UTSNAME_H && HAVE_UNAME */
 		}
 	}
+#endif /* NNTP_ABLE */
 
 	/*
 	 * Sort out option conflicts
 	 */
 	if (!batch_mode) {
 		if (catchup) {
-			wait_message(2, _(txt_useful_with_batch_mode), "-c");
+			wait_message(2, _(txt_useful_with_batch_mode), "-c", BlankIfNull(trcv));
 			catchup = FALSE;
 		}
-	} else {
-		if (read_saved_news) {
-			wait_message(2, _(txt_useful_without_batch_mode), "-R");
-			read_saved_news = FALSE;
-		}
 	}
 	if (!(batch_mode || debug)) {
 		if (verbose) {
-			wait_message(2, _(txt_useful_with_batch_or_debug_mode), "-v");
+			wait_message(2, _(txt_useful_with_batch_or_debug_mode), "-v", BlankIfNull(trcv));
 			verbose = FALSE;
 		}
 	}
 	/*
+	 * NOTE: order IS important (in case where multiple conflicting settings
+	 *       are given e.g. ("-oSL")
+	 *
 	 * TODO: also disallow
 	 *       -NM
 	 *       -oN, -oM (at this stage we no longer know if -N or -M was given)
 	 *       -wN, -wM (at this stage we no longer know if -N or -M was given)
 	 *       -NZ, -MZ (at this stage we no longer know if -N or -M was given)
-	 */
+	 *       -LM, -LN (at this stage we no longer know if -N or -M was given)
+	 *       (extend t_cmdlineopts with a flag indicating which of -M/-N was given)
+	 *       -uo
+	 *       ...
+	 */
+	if (post_postponed_and_exit && cmdline.msgid) {
+		USELESS_COMB("-o", "-L");
+		FreeAndNull(cmdline.msgid);
+	}
+	if (post_postponed_and_exit && save_news) {
+		USELESS_COMB("-o", "-S");
+		save_news = FALSE;
+	}
+	if (post_postponed_and_exit && update_index) {
+		USELESS_COMB("-o", "-u");
+		update_index = FALSE;
+	}
+	if (post_postponed_and_exit && post_article_and_exit) {
+		USELESS_COMB("-o", "-w");
+		post_article_and_exit = FALSE;
+	}
 	if (post_postponed_and_exit && force_no_post) {
-		wait_message(2, _(txt_useless_combination), "-o", "-x", "-x");
+		USELESS_COMB("-o", "-x");
 		force_no_post = FALSE;
 	}
 	if (post_postponed_and_exit && start_any_unread) {
-		wait_message(2, _(txt_useless_combination), "-o", "-z", "-z");
+		USELESS_COMB("-o", "-z");
 		start_any_unread = FALSE;
 	}
-	if (post_postponed_and_exit && post_article_and_exit) {
-		wait_message(2, _(txt_useless_combination), "-o", "-w", "-w");
+	if (post_postponed_and_exit && check_any_unread) {
+		USELESS_COMB("-o", "-Z");
+		check_any_unread = FALSE;
+	}
+	if (cmdline.msgid && catchup) {
+		USELESS_COMB("-L", "-c");
+		catchup = FALSE;
+	}
+	if (cmdline.msgid && read_saved_news) {
+		USELESS_COMB("-L", "-R");
+		read_saved_news = FALSE;
+	}
+	if (cmdline.msgid && save_news) {
+		USELESS_COMB("-L", "-S");
+		save_news = FALSE;
+	}
+	if (cmdline.msgid && update_index) {
+		USELESS_COMB("-L", "-u");
+		update_index = FALSE;
+	}
+	if (cmdline.msgid && post_article_and_exit) {
+		USELESS_COMB("-L", "-w");
 		post_article_and_exit = FALSE;
 	}
+	if (cmdline.msgid && start_any_unread) {
+		USELESS_COMB("-L", "-z");
+		start_any_unread = FALSE;
+	}
+	if (cmdline.msgid && check_any_unread) {
+		USELESS_COMB("-L", "-Z");
+		check_any_unread = FALSE;
+	}
+	if (post_article_and_exit && update_index) {
+		USELESS_COMB("-w", "-u");
+		update_index = FALSE;
+	}
 	if (post_article_and_exit && force_no_post) {
-		wait_message(2, _(txt_useless_combination), "-w", "-x", "-x");
+		USELESS_COMB("-w", "-x");
 		force_no_post = FALSE;
 	}
 	if (post_article_and_exit && start_any_unread) {
-		wait_message(2, _(txt_useless_combination), "-w", "-z", "-z");
+		USELESS_COMB("-w", "-z");
 		start_any_unread = FALSE;
 	}
-	if (catchup && start_any_unread) {
-		wait_message(2, _(txt_useless_combination), "-c", "-z", "-c");
+	if (start_any_unread && catchup) {
+		USELESS_COMB("-z", "-c");
 		catchup = FALSE;
 	}
-	if (catchup && no_write) {
-		wait_message(2, _(txt_useless_combination), "-c", "-X", "-c");
+	if (start_any_unread && update_index) {
+		USELESS_COMB("-z", "-u");
+		update_index = FALSE;
+	}
+	if (start_any_unread && check_any_unread) {
+		USELESS_COMB("-z", "-Z");
+		check_any_unread = FALSE;
+	}
+	if (no_write && catchup) {
+		USELESS_COMB("-X", "-c");
 		catchup = FALSE;
 	}
-	if (catchup && check_any_unread) {
-		wait_message(2, _(txt_useless_combination), "-c", "-Z", "-c");
+	if (no_write && update_index) {
+		USELESS_COMB("-X", "-u");
+		update_index = FALSE;
+	}
+	if (no_write && save_news) {
+		USELESS_COMB("-X", "-S");
+		save_news = FALSE;
+	}
+	if (check_any_unread && catchup) {
+		USELESS_COMB("-Z", "-c");
 		catchup = FALSE;
 	}
-	if (newsrc_active && read_saved_news) {
-		wait_message(2, _(txt_useless_combination), "-n", "-R", "-n");
-		newsrc_active = read_news_via_nntp = FALSE;
+	if (check_any_unread && save_news) {
+		USELESS_COMB("-Z", "-S");
+		save_news = FALSE;
+	}
+	if (check_any_unread && update_index) {
+		USELESS_COMB("-Z", "-u");
+		update_index = FALSE;
 	}
-	if (start_any_unread && save_news) {
-		wait_message(2, _(txt_useless_combination), "-z", "-S", "-z");
-		start_any_unread = FALSE;
+#ifdef NNTP_ABLE
+#	ifdef INET6
+	if (read_saved_news && force_ipv4) {
+		/* USELESS_COMB("-R", "-4"); */ /* we ignore this silently */
+		force_ipv4 = read_news_via_nntp = FALSE;
+	}
+	if (read_saved_news && force_ipv6) {
+		/* USELESS_COMB("-R", "-6"); */ /* we ignore this silently */
+		force_ipv6 = read_news_via_nntp = FALSE;
+	}
+#	endif /* INET6 */
+	if (read_saved_news && force_auth_on_conn_open) {
+		USELESS_COMB("-R", "-A");
+		force_auth_on_conn_open = read_news_via_nntp = FALSE;
+	}
+#	ifdef USE_ZLIB
+	if (read_saved_news && use_compress) { /* as long as we don't (read)/write cached overview ... */
+		USELESS_COMB("-R", "-C");
+		use_compress = FALSE;
 	}
-	if (save_news && check_any_unread) {
-		wait_message(2, _(txt_useless_combination), "-S", "-Z", "-S");
+#	endif /* USE_ZLIB */
+	if (read_saved_news && cmdline.nntpserver) {
+		USELESS_COMB("-R", "-g");
+		read_news_via_nntp = FALSE;
+		FreeAndNull(cmdline.nntpserver);
+	}
+	if (read_saved_news && insecure_nntps) {
+		USELESS_COMB("-R", "-k");
+		use_nntps = insecure_nntps = read_news_via_nntp = FALSE;
+	}
+	if (read_saved_news && cmdline.msgid) {
+		USELESS_COMB("-R", "-L");
+		FreeAndNull(cmdline.msgid);
+	}
+	if (read_saved_news && newsrc_active) {
+		/* USELESS_COMB("-R", "-n"); */ /* we ignore this silently */
+		newsrc_active = FALSE;
+	}
+	if (read_saved_news && read_news_via_nntp) {
+		/* USELESS_COMB("-R", "-r"); */ /* we ignore this silently, also catches 'p' */
+		read_news_via_nntp = FALSE;
+	}
+	if (read_saved_news && save_news) {
+		USELESS_COMB("-R", "-S");
 		save_news = FALSE;
 	}
-	if (start_any_unread && check_any_unread) {
-		wait_message(2, _(txt_useless_combination), "-Z", "-z", "-Z");
+	if (read_saved_news && use_nntps) {
+		USELESS_COMB("-R", "-T");
+		use_nntps = read_news_via_nntp = FALSE;
+	}
+	if (read_saved_news && cmdline.nntp_timeout) {
+		/* USELESS_COMB("-R", "-t"); */ /* we ignore this silently */
+		read_news_via_nntp = FALSE;
+		cmdline.nntp_timeout = 0;
+		cmdline.args |= CMDLINE_NNTP_TIMEOUT;
+	}
+	if (read_saved_news && check_any_unread) {
+		USELESS_COMB("-R", "-Z");
 		check_any_unread = FALSE;
 	}
-#	ifdef DEBUG
-	if ((debug & DEBUG_NNTP) && !read_news_via_nntp) {
-		wait_message(3, _(txt_useless_combination), _(txt_reading_from_spool), "-D nntp", "-D nntp");
-		debug &= ~DEBUG_NNTP;
+#endif /* NNTP_ABLE */
+	if (read_saved_news && catchup) {
+		USELESS_COMB("-R", "-c");
+		catchup = FALSE;
+	}
+	if (save_news && start_any_unread) {
+		USELESS_COMB("-S", "-z");
+		start_any_unread = FALSE;
+	}
+	/*
+	 * When updating index files set getart_limit to 0 in order to get overview
+	 * information for all article; this overwrites '-G limit' and disables
+	 * tinrc.getart_limit temporary
+	 */
+	if (update_index && cmdline.getart_limit ) {
+		/* USELESS_COMB("-u", "-G"); */  /* we ignore this silently */
+		cmdline.getart_limit = 0;
+		cmdline.args |= CMDLINE_GETART_LIMIT;
+	}
+#ifdef DEBUG
+#	ifdef NNTP_ABLE
+	if ((debug & DEBUG_NNTP) && !read_news_via_nntp)
+#		else
+	if (debug & DEBUG_NNTP)
+#	endif /* NNTP_ABLE */
+	{ /* TODO: fix translation unfriendly construct */
+		USELESS_COMB(_(txt_reading_from_spool), "-D nntp");
+		debug ^= DEBUG_NNTP;
 	}
-#	endif /* DEBUG */
+#endif /* DEBUG */
 
 #if defined(NNTP_ABLE) && defined(INET6)
 	if (force_ipv4 && force_ipv6) {
-		wait_message(2, _(txt_useless_combination), "-4", "-6", "-6");
+		USELESS_COMB("-4", "-6");
 		force_ipv6 = FALSE;
 	}
 #endif /* NNTP_ABLE && INET6 */
 
+	if (batch_mode && read_saved_news) {
+		wait_message(2, _(txt_useful_without_batch_mode), "-R", BlankIfNull(trcv));
+		read_saved_news = FALSE;
+	}
+
 	if (mail_news || save_news || update_index || check_any_unread || catchup)
 		batch_mode = TRUE;
 	else
@@ -1012,15 +1415,6 @@ read_cmd_line_options(
 	if (batch_mode && (post_article_and_exit || post_postponed_and_exit))
 		batch_mode = FALSE;
 
-	/*
-	 * When updating index files set getart_limit to 0 in order to get overview
-	 * information for all article; this overwrites '-G limit' and disables
-	 * tinrc.getart_limit temporary
-	 */
-	if (update_index) {
-		cmdline.getart_limit = 0;
-		cmdline.args |= CMDLINE_GETART_LIMIT;
-	}
 #ifdef NNTP_ABLE
 	/*
 	 * If we're reading from an NNTP server and we've been asked not to look
@@ -1036,8 +1430,16 @@ read_cmd_line_options(
 	if (!list_active && !newsrc_active)
 		list_active = newsrc_active = TRUE;
 
+	FreeIfNeeded(trcv);
 	return argv;
+
+#if defined(OPTION_EXIT)
+	/* silence unused-macros warning" */
+#endif /* OPTION_EXIT */
 }
+#undef OPTION_EXIT
+#undef USELESS_COMB
+#undef DO_FREE
 
 
 /*
@@ -1047,92 +1449,102 @@ static void
 usage(
 	char *theProgname)
 {
-	error_message(2, _(txt_usage_tin), theProgname);
+	error_message(0, _(txt_usage_tin), theProgname);
 
 #if defined(NNTP_ABLE) && defined(INET6)
-	error_message(2, _(txt_usage_force_ipv4));
-	error_message(2, _(txt_usage_force_ipv6));
+	error_message(0, _(txt_usage_force_ipv4));
+	error_message(0, _(txt_usage_force_ipv6));
 #endif /* NNTP_ABLE && INET6 */
 
 #ifdef HAVE_COLOR
-	error_message(2, _(txt_usage_toggle_color));
+	error_message(0, _(txt_usage_toggle_color));
 #endif /* HAVE_COLOR */
 #ifdef NNTP_ABLE
-	error_message(2, _(txt_usage_force_authentication));
+	error_message(0, _(txt_usage_force_authentication));
 #endif /* NNTP_ABLE */
 
-	error_message(2, _(txt_usage_catchup));
+	error_message(0, _(txt_usage_catchup));
 #if defined(NNTP_ABLE) && defined(USE_ZLIB)
-	error_message(2, _(txt_usage_compress));
+	error_message(0, _(txt_usage_compress));
 #endif /* NNTP_ABLE && USE_ZLIB */
-	error_message(2, _(txt_usage_dont_show_descriptions));
+	error_message(0, _(txt_usage_dont_show_descriptions));
 
 #ifdef DEBUG
-	error_message(2, _(txt_usage_debug));
+	error_message(0, _(txt_usage_debug));
 #endif /* DEBUG */
 
-	error_message(2, _(txt_usage_newsrc_file), newsrc);
-	error_message(2, _(txt_usage_getart_limit));
+	error_message(0, _(txt_usage_newsrc_file), newsrc);
+	error_message(0, _(txt_usage_getart_limit));
 
 #ifdef NNTP_ABLE
 #	ifdef NNTP_DEFAULT_SERVER
-	error_message(2, _(txt_usage_newsserver), get_val("NNTPSERVER", NNTP_DEFAULT_SERVER));
+	error_message(0, _(txt_usage_newsserver), get_val("NNTPSERVER", NNTP_DEFAULT_SERVER));
 #	else
-	error_message(2, _(txt_usage_newsserver), get_val("NNTPSERVER", "news"));
+	error_message(0, _(txt_usage_newsserver), get_val("NNTPSERVER", "news"));
 #	endif /* NNTP_DEFAULT_SERVER */
 #endif /* NNTP_ABLE */
 
-	error_message(2, _(txt_usage_help_message));
-	error_message(2, _(txt_usage_help_information), theProgname);
-	error_message(2, _(txt_usage_index_newsdir), index_newsdir);
+	error_message(0, _(txt_usage_help_message));
+	error_message(0, _(txt_usage_help_information), theProgname);
+	error_message(0, _(txt_usage_index_newsdir), index_newsdir);
 
 #ifdef NNTP_ABLE
 #	ifdef NNTPS_ABLE
-	error_message(2, _(txt_usage_use_insecure_nntps));
+	error_message(0, _(txt_usage_use_insecure_nntps));
 #	endif /* NNTPS_ABLE */
 #endif /* NNTP_ABLE */
 
-	error_message(2, _(txt_usage_read_only_active));
-	error_message(2, _(txt_usage_maildir), tinrc.maildir);
-	error_message(2, _(txt_usage_mail_new_news_to_user));
-	error_message(2, _(txt_usage_read_only_subscribed));
-	error_message(2, _(txt_usage_mail_new_news));
-	error_message(2, _(txt_usage_post_postponed_arts));
+	error_message(0, _(txt_usage_read_only_active));
+
+#ifdef NNTP_ABLE
+	error_message(0, _(txt_usage_lookup_id));
+#endif /* NNTP_ABLE */
+
+	error_message(0, _(txt_usage_maildir), tinrc.maildir);
+	error_message(0, _(txt_usage_mail_new_news_to_user));
+	error_message(0, _(txt_usage_read_only_subscribed));
+	error_message(0, _(txt_usage_mail_new_news));
+	error_message(0, _(txt_usage_post_postponed_arts));
 
 #ifdef NNTP_ABLE
 #	ifdef NNTPS_ABLE
-	error_message(2, _(txt_usage_port), use_nntps ? nntps_tcp_default_port : nntp_tcp_default_port);
+	error_message(0, _(txt_usage_port), use_nntps ? nntps_tcp_default_port : nntp_tcp_default_port);
 #	else
-	error_message(2, _(txt_usage_port), nntp_tcp_default_port);
+	error_message(0, _(txt_usage_port), nntp_tcp_default_port);
 #	endif /* NNTPS_ABLE */
 #endif /* NNTP_ABLE */
 
-	error_message(2, _(txt_usage_dont_check_new_newsgroups));
-	error_message(2, _(txt_usage_quickstart));
+	error_message(0, _(txt_usage_dont_check_new_newsgroups));
+	error_message(0, _(txt_usage_quickstart));
 
 #ifdef NNTP_ABLE
 	if (!read_news_via_nntp)
-		error_message(2, _(txt_usage_read_news_remotely));
+		error_message(0, _(txt_usage_read_news_remotely));
 #endif /* NNTP_ABLE */
 
-	error_message(2, _(txt_usage_read_saved_news));
-	error_message(2, _(txt_usage_savedir), tinrc.savedir);
-	error_message(2, _(txt_usage_save_new_news));
+	error_message(0, _(txt_usage_read_saved_news));
+	error_message(0, _(txt_usage_savedir), tinrc.savedir);
+	error_message(0, _(txt_usage_save_new_news));
+
 #ifdef NNTP_ABLE
+#	if defined(HAVE_ALARM) && defined(SIGALRM)
+	error_message(0, _(txt_usage_nntp_timeout), TIN_NNTP_TIMEOUT);
+#	endif /* HAVE_ALARM && SIGALRM */
 #	ifdef NNTPS_ABLE
-	error_message(2, _(txt_usage_use_nntps));
+	error_message(0, _(txt_usage_use_nntps));
 #	endif /* NNTPS_ABLE */
 #endif /* NNTP_ABLE */
-	error_message(2, _(txt_usage_update_index_files));
-	error_message(2, _(txt_usage_verbose));
-	error_message(2, _(txt_usage_version));
-	error_message(2, _(txt_usage_post_article));
-	error_message(2, _(txt_usage_no_posting));
-	error_message(2, _(txt_usage_dont_save_files_on_quit));
-	error_message(2, _(txt_usage_start_if_unread_news));
-	error_message(2, _(txt_usage_check_for_unread_news));
 
-	error_message(2, _(txt_usage_mail_bugreport), bug_addr);
+	error_message(0, _(txt_usage_update_index_files));
+	error_message(0, _(txt_usage_verbose));
+	error_message(0, _(txt_usage_version));
+	error_message(0, _(txt_usage_post_article));
+	error_message(0, _(txt_usage_no_posting));
+	error_message(0, _(txt_usage_dont_save_files_on_quit));
+	error_message(0, _(txt_usage_start_if_unread_news));
+	error_message(0, _(txt_usage_check_for_unread_news));
+
+	error_message(0, _(txt_usage_mail_bugreport), bug_addr);
 }
 
 
@@ -1203,9 +1615,10 @@ read_cmd_line_groups(
 			for_each_group(i) {
 				if (match_group_list(active[i].name, cmdargs[num])) {
 					if (my_group_add(active[i].name, TRUE) != -1) {
-						matched++;
+						++matched;
 						if (post_article_and_exit) {
-							my_strncpy(tinrc.default_post_newsgroups, active[i].name, sizeof(tinrc.default_post_newsgroups) - 1);
+							FreeIfNeeded(tinrc.default_post_newsgroups);
+							tinrc.default_post_newsgroups = my_strdup(active[i].name);
 							break;
 						}
 						active[i].read_during_session = TRUE; /* misuse for "-[zZMN] grp" */
@@ -1245,6 +1658,27 @@ create_mail_save_dirs(
 	}
 }
 
+
+/*
+ * TODO: find a better solution to free() cmdargs from outside main.c
+ */
+void
+handle_cmdargs(
+	t_bool init)
+{
+	static t_bool argv_modified = FALSE;
+
+	if (init)
+		argv_modified = TRUE;
+	else if (argv_modified) {
+		if (cmdargs) {
+			free(*(cmdargs + 1));
+			free(cmdargs);
+			cmdargs = NULL;
+		}
+	}
+}
+
 
 /*
  * we don't try do free() any previously malloc()ed mem here as exit via
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/makecfg.c tin-2.6.4/src/makecfg.c
--- tin-2.6.3/src/makecfg.c	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/makecfg.c	2024-12-21 03:18:16.582274603 +0100
@@ -3,10 +3,10 @@
  *  Module    : makecfg.c
  *  Author    : Thomas E. Dickey
  *  Created   : 1997-08-23
- *  Updated   : 2023-12-06
+ *  Updated   : 2024-12-21
  *  Notes     : #defines and structs for options_menu.c
  *
- * Copyright (c) 1997-2024 Thomas E. Dickey <dickey@invisible-island.net>
+ * Copyright (c) 1997-2025 Thomas E. Dickey <dickey@invisible-island.net>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,9 +40,12 @@
 /* replace tin.h {{ */
 
 #ifdef HAVE_CONFIG_H
-#include <autoconf.h>
+#include "autoconf.h"
 #endif /* HAVE_CONFIG_H */
 
+#ifdef HAVE_STDDEF_H
+#include <stddef.h>
+#endif /* HAVE_STDDEF_H */
 #ifdef HAVE_SYS_TYPES_H
 #include <sys/types.h>
 #endif /* HAVE_CONFIG_H */
@@ -51,7 +54,7 @@
 #include <stdlib.h>
 #else
 extern void exit(int);
-extern void free(void*);
+extern void free(void *);
 #endif /* HAVE_STDLIB_H */
 
 #ifndef EXIT_SUCCESS
@@ -73,10 +76,10 @@ extern void *malloc(size_t);
 #ifdef HAVE_STRING_H
 #include <string.h>
 #else
-extern char* strcpy(char*, const char *);
-extern int strcmp(const char*, const char *);
-extern int strncmp(const char*, const char *, size_t);
-extern size_t strlen(const char*);
+extern char *strcpy(char *, const char *);
+extern int strcmp(const char *, const char *);
+extern int strncmp(const char *, const char *, size_t);
+extern size_t strlen(const char *);
 #endif /* HAVE_STRING_H */
 
 #include <stdio.h>
@@ -86,6 +89,17 @@ extern size_t strlen(const char*);
 #define FALSE 0
 #define FreeIfNeeded(p)	if (p != NULL) free((void *) p)
 
+#ifdef STDC_NORETURN
+#ifdef HAVE_STDNORETURN_H
+#include <stdnoreturn.h>
+#endif /* HAVE_STDNORETURN_H */
+#else
+#if defined(_Noreturn)
+#undef _Noreturn
+#endif /* _Noreturn */
+#define _Noreturn /**/
+#endif /* STDC_NORETURN */
+
 /* }} replace tin.h */
 
 #define L_CURL '{'
@@ -104,7 +118,7 @@ MYDATA {
 static MYDATA *all_data;
 static int line_no;
 
-static void
+static _Noreturn void
 failed(
 	const char *message)
 {
@@ -144,7 +158,7 @@ store_data(
 	MYDATA *p, *q;
 
 	if ((p = (MYDATA *) malloc(sizeof(MYDATA))) == NULL)
-		failed("malloc() failed");
+		failed("malloc() failed ");
 
 	p->link = NULL;
 	p->name = string_dup(name);
@@ -169,12 +183,12 @@ parse_tbl(
 	/* strip leading/trailing blanks */
 	do {
 		t--;
-		if (isspace ((int)*t))
+		if (isspace((unsigned char) *t))
 			*t = '\0';
 		else
 			break;
 	} while (t > s);
-	while (isspace ((int)*s))
+	while (isspace((unsigned char) *s))
 		s++;
 	buffer = s;
 
@@ -187,9 +201,9 @@ parse_tbl(
 			 * otherwise the data consists of 2 blank
 			 * separated columns (name, type).
 			 */
-			while (*s && !isspace ((int)*s))
+			while (*s && !isspace((unsigned char) *s))
 				s++;
-			while (isspace ((int)*s))
+			while (isspace((unsigned char) *s))
 				*s++ = '\0';
 			store_data(buffer, s);
 		}
@@ -243,7 +257,7 @@ typename_of(
 	MYDATA *p)
 {
 	if (!strcmp(p->type, "OPT_STRING"))
-		return "char *";
+		return "char **";
 	if (!strcmp(p->type, "OPT_CHAR")) {
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 		return "wchar_t *";
@@ -271,12 +285,12 @@ generate_tbl(
 		,"#define OPT_CHAR      5"
 		,""
 		,"struct t_option option_table[]={"
-		,0
+		,NULL
 	};
 	static const char *const table_2[] =
 	{
 		"};"
-		,0
+		,NULL
 	};
 	static const char prefix[] = "  { ";
 	static const char suffix[] = "},";
@@ -306,7 +320,7 @@ generate_tbl(
 			if (is_title(p)) {
 				fprintf(ofp, "0, NULL, ");
 			} else if (!is_int) {
-				fprintf(ofp, "OINX_%s, 0, ", p->name);
+				fprintf(ofp, "OINX_%s, NULL, ", p->name);
 			} else {
 				fprintf(ofp, "0, &tinrc.%s, ", p->name);
 			}
@@ -331,13 +345,13 @@ generate_enum(
 
 	static const char *const table_1[] = {
 		"enum option_enum {",
-		0
+		NULL
 	};
 	static const char *const table_2[] = {
 		"\tSIGNAL_HANDLER };",
 		"",
 		"#define LAST_OPT (SIGNAL_HANDLER - 1)",
-		0
+		NULL
 	};
 
 	/* generate enumerated type */
@@ -371,7 +385,6 @@ generate_ptr(
 {
 	MYDATA *p, *q;
 	int after;
-	const char *addr = !strcmp(opt_type, "OPT_STRING") ? "" : "&";
 
 	switch (mode) {
 	case 0:
@@ -386,7 +399,8 @@ generate_ptr(
 	}
 	after = FALSE;
 
-	for (p = all_data, q = NULL; p != NULL; p = p->link) {
+	q = NULL;
+	for (p = all_data; p != NULL; p = p->link) {
 		if (p->name[0] == '#') {
 			if (!strcmp(p->name, "#endif")) {
 				if (after) {
@@ -405,10 +419,9 @@ generate_ptr(
 			}
 			switch (mode) {
 			case 0:
-				fprintf(ofp, "\t%stinrc.%s,%*s/* %2d: %s__ */\n",
-					addr,
+				fprintf(ofp, "\t&tinrc.%s,%*s/* %2d: %s__ */\n",
 					p->name,
-					MAXNAME - (int)(strlen(addr) + strlen(p->name)),
+					MAXNAME - (int) (1 + strlen(p->name)),
 					" ",
 					index_of(p),
 					p->name);
@@ -485,7 +498,7 @@ makecfg(
 		,"#\t\tdefine OTYP struct"
 		,"#\tendif /* CPP_DOES_CONCAT */"
 		,"#endif /* lint */"
-		,0
+		,NULL
 	};
 	static const char *const table_2[] =
 	{
@@ -497,7 +510,7 @@ makecfg(
 		,"#undef OTYP"
 		,""
 		,"#endif /* TINCFG_H */"
-		,0
+		,NULL
 	};
 	static const char *const table_3[] = {
 		"/* This file is generated by MAKECFG */",
@@ -505,12 +518,12 @@ makecfg(
 		"#ifndef OPTIONS_MENU_H",
 		"#define OPTIONS_MENU_H 1",
 		"",
-		0
+		NULL
 	};
 	static const char *const table_4[] = {
 		"",
 		"#endif /* OPTIONS_MENU_H */",
-		0
+		NULL
 	};
 
 	/*
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/memory.c tin-2.6.4/src/memory.c
--- tin-2.6.3/src/memory.c	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/memory.c	2024-11-25 20:40:37.639799163 +0100
@@ -3,10 +3,10 @@
  *  Module    : memory.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2023-12-06
+ *  Updated   : 2024-10-28
  *  Notes     :
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -74,9 +74,11 @@ struct t_save *save;			/* sorts articles
  */
 static void free_active_arrays(void);
 static void free_attributes(struct t_attribute *attributes);
+static void free_cmdline_args(void);
 static void free_scopes_arrays(void);
+static void free_tinrc_strings(void);
 static void free_newnews_array(void);
-static void free_if_not_default(char **attrib, const char *deflt);
+static void free_if_not_default(char ***attrib, char **deflt);
 static void free_input_history(void);
 
 
@@ -99,7 +101,7 @@ init_alloc(
 
 	active = my_malloc(sizeof(*active) * (size_t) max_active);
 	newnews = my_malloc(sizeof(*newnews) * (size_t) max_newnews);
-	my_group = my_calloc(1, sizeof(int) * (size_t) max_active);
+	my_group = my_calloc((size_t) max_active, sizeof(int));
 
 	/*
 	 * article headers array
@@ -107,10 +109,10 @@ init_alloc(
 	max_art = DEFAULT_ARTICLE_NUM;
 	max_base = DEFAULT_ARTICLE_NUM;
 
-	arts = my_calloc(1, sizeof(*arts) * (size_t) max_art);
+	arts = my_calloc((size_t) max_art, sizeof(*arts));
 	base = my_malloc(sizeof(t_artnum) * (size_t) max_base);
 
-	ofmt = my_calloc(1, sizeof(*ofmt) * 9);	/* initial number of overview fields */
+	ofmt = my_calloc(9, sizeof(*ofmt));	/* initial number of overview fields */
 
 	/*
 	 * save file array
@@ -143,8 +145,10 @@ expand_art(
 		 * memset(&arts[i].artnum, 0, (max_art - i - 1) * sizeof(*arts));
 		 * seems to be not faster at all
 		 */
-	for (; i < max_art; i++)
-		arts[i].subject = arts[i].from = arts[i].xref = arts[i].path = arts[i].refs = arts[i].msgid = NULL;
+	for (; i < max_art; i++) {
+		arts[i].subject = arts[i].xref = arts[i].path = arts[i].refs = arts[i].msgid = arts[i].mailbox.from = arts[i].mailbox.name = NULL;
+		arts[i].mailbox.next = NULL;
+	}
 }
 
 
@@ -155,7 +159,7 @@ expand_active(
 	max_active += max_active >> 1;		/* increase by 50% */
 	if (active == NULL) {
 		active = my_malloc(sizeof(*active) * (size_t) max_active);
-		my_group = my_calloc(1, sizeof(int) * (size_t) max_active);
+		my_group = my_calloc((size_t) max_active, sizeof(int));
 	} else {
 		active = my_realloc(active, sizeof(*active) * (size_t) max_active);
 		my_group = my_realloc(my_group, sizeof(int) * (size_t) max_active);
@@ -217,9 +221,9 @@ init_screen_array(
 
 		for (i = 0; i < cLINES; i++) {
 #	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-			screen[i].col = my_malloc((size_t) ((size_t) cCOLS * MB_CUR_MAX + 2));
+			screen[i].col = my_malloc((size_t) cCOLS * MB_CUR_MAX + 2);
 #	else
-			screen[i].col = my_malloc((size_t) ((size_t) cCOLS + 2));
+			screen[i].col = my_malloc((size_t) cCOLS + 2);
 #	endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 		}
 	} else {
@@ -251,6 +255,7 @@ free_all_arrays(
 	free_filter_array(&glob_filter);
 	free_active_arrays();
 	free_scopes_arrays();
+	free_tinrc_strings();
 
 #ifdef HAVE_COLOR
 	regex_cache_destroy(&quote_regex);
@@ -293,6 +298,8 @@ free_all_arrays(
 	FreeAndNull(nntp_caps.headers_range);
 	FreeAndNull(nntp_caps.headers_id);
 	FreeAndNull(nntp_caps.implementation);
+	FreeAndNull(nntp_caps.sasl_mechs);
+	FreeAndNull(nntp_caps.sasl_mech_used);
 
 	if (ofmt) { /* ofmt might not be allocated yet on early abort */
 		int i;
@@ -306,6 +313,7 @@ free_all_arrays(
 	rfc1522_decode(NULL);
 
 	free(backup_article_name);
+	free_cmdline_args();
 	free(tin_progname);
 }
 
@@ -321,6 +329,7 @@ free_art_array(
 		arts[i].date = (time_t) 0;
 		FreeAndNull(arts[i].xref);
 		FreeAndNull(arts[i].path);
+		free_mailbox_list(arts[i].mailbox.next);
 
 		/*
 		 * .refs & .msgid are usually free()d in build_references()
@@ -341,16 +350,18 @@ free_art_array(
 
 
 /*
- * Use this only for attributes that have a fixed default of a static string
- * in tinrc
+ * Use this for attributes that have a default in tinrc
+ * otherwise use (char **) 0 as deflt
  */
 static void
 free_if_not_default(
-	char **attrib,
-	const char *deflt)
+	char ***attrib,
+	char **deflt)
 {
-	if (*attrib != deflt)
+	if (*attrib && *attrib != deflt) {
+		FreeAndNull(**attrib);
 		FreeAndNull(*attrib);
+	}
 }
 
 
@@ -361,48 +372,129 @@ static void
 free_attributes(
 	struct t_attribute *attributes)
 {
-	free_if_not_default(&attributes->group_format, tinrc.group_format);
-	free_if_not_default(&attributes->thread_format, tinrc.thread_format);
-	free_if_not_default(&attributes->date_format, tinrc.date_format);
-	free_if_not_default(&attributes->editor_format, tinrc.editor_format);
-	FreeAndNull(attributes->fcc);
-	free_if_not_default(&attributes->from, tinrc.mail_address);
-	FreeAndNull(attributes->followup_to);
+	free_if_not_default(&attributes->group_format, &tinrc.group_format);
+	free_if_not_default(&attributes->thread_format, &tinrc.thread_format);
+	free_if_not_default(&attributes->date_format, &tinrc.date_format);
+	free_if_not_default(&attributes->editor_format, &tinrc.editor_format);
+	free_if_not_default(&attributes->fcc, (char **) 0);
+	free_if_not_default(&attributes->from, &tinrc.mail_address);
+	free_if_not_default(&attributes->followup_to, (char **) 0);
 #ifdef HAVE_ISPELL
-	FreeAndNull(attributes->ispell);
+	free_if_not_default(&attributes->ispell, (char **) 0);
 #endif /* HAVE_ISPELL */
-	free_if_not_default(&attributes->maildir, tinrc.maildir);
-	FreeAndNull(attributes->mailing_list);
-	FreeAndNull(attributes->mime_types_to_save);
-	free_if_not_default(&attributes->news_headers_to_display, tinrc.news_headers_to_display);
-	free_if_not_default(&attributes->news_headers_to_not_display, tinrc.news_headers_to_not_display);
+	free_if_not_default(&attributes->maildir, &tinrc.maildir);
+	free_if_not_default(&attributes->mailing_list, (char **) 0);
+	free_if_not_default(&attributes->mime_types_to_save, &default_mime_types_to_save);
+	free_if_not_default(&attributes->news_headers_to_display, &tinrc.news_headers_to_display);
+	free_if_not_default(&attributes->news_headers_to_not_display, &tinrc.news_headers_to_not_display);
 	if (attributes->headers_to_display) {
 		if (attributes->headers_to_display->header)
 			FreeIfNeeded(*attributes->headers_to_display->header);
 		FreeAndNull(attributes->headers_to_display->header);
 		free(attributes->headers_to_display);
-		attributes->headers_to_display = (struct t_newsheader *) 0;
+		attributes->headers_to_display = NULL;
 	}
 	if (attributes->headers_to_not_display) {
 		if (attributes->headers_to_not_display->header)
 			FreeIfNeeded(*attributes->headers_to_not_display->header);
 		FreeAndNull(attributes->headers_to_not_display->header);
 		free(attributes->headers_to_not_display);
-		attributes->headers_to_not_display = (struct t_newsheader *) 0;
+		attributes->headers_to_not_display = NULL;
 	}
-	free_if_not_default(&attributes->news_quote_format, tinrc.news_quote_format);
-	free_if_not_default(&attributes->organization, default_organization);
-	FreeAndNull(attributes->quick_kill_scope);
-	FreeAndNull(attributes->quick_select_scope);
-	free_if_not_default(&attributes->quote_chars, tinrc.quote_chars);
-	free_if_not_default(&attributes->savedir, tinrc.savedir);
-	FreeAndNull(attributes->savefile);
-	free_if_not_default(&attributes->sigfile, tinrc.sigfile);
+	free_if_not_default(&attributes->news_quote_format, &tinrc.news_quote_format);
+	free_if_not_default(&attributes->organization, &default_organization);
+	free_if_not_default(&attributes->quick_kill_scope, &default_filter_kill_global);
+	free_if_not_default(&attributes->quick_select_scope, &default_filter_select_global);
+	free_if_not_default(&attributes->quote_chars, &tinrc.quote_chars);
+	free_if_not_default(&attributes->savedir, &tinrc.savedir);
+	free_if_not_default(&attributes->savefile, (char **) 0);
+	free_if_not_default(&attributes->sigfile, &tinrc.sigfile);
 #ifdef CHARSET_CONVERSION
-	FreeAndNull(attributes->undeclared_charset);
+	free_if_not_default(&attributes->undeclared_charset, (char **) 0);
 #endif /* CHARSET_CONVERSION */
-	FreeAndNull(attributes->x_headers);
-	FreeAndNull(attributes->x_body);
+	free_if_not_default(&attributes->x_headers, (char **) 0);
+	free_if_not_default(&attributes->x_body, (char **) 0);
+}
+
+static void
+free_tinrc_strings(
+		void)
+{
+	FreeAndNull(tinrc.editor_format);
+	FreeAndNull(tinrc.mailer_format);
+	FreeAndNull(tinrc.default_goto_group);
+	FreeAndNull(tinrc.default_mail_address);
+	FreeAndNull(tinrc.default_pipe_command);
+	FreeAndNull(tinrc.default_post_newsgroups);
+	FreeAndNull(tinrc.default_post_subject);
+	FreeAndNull(tinrc.printer);
+	FreeAndNull(tinrc.default_range_group);
+	FreeAndNull(tinrc.default_range_select);
+	FreeAndNull(tinrc.default_range_thread);
+	FreeAndNull(tinrc.default_pattern);
+	FreeAndNull(tinrc.default_repost_group);
+	FreeAndNull(tinrc.default_save_file);
+	FreeAndNull(tinrc.default_search_art);
+	FreeAndNull(tinrc.default_search_author);
+	FreeAndNull(tinrc.default_search_config);
+	FreeAndNull(tinrc.default_search_group);
+	FreeAndNull(tinrc.default_search_subject);
+	FreeAndNull(tinrc.default_select_pattern);
+	FreeAndNull(tinrc.default_shell_command);
+	FreeAndNull(tinrc.maildir);
+	FreeAndNull(tinrc.mail_address);
+	FreeAndNull(tinrc.mail_quote_format);
+	FreeAndNull(tinrc.metamail_prog);
+#ifndef CHARSET_CONVERSION
+	FreeAndNull(tinrc.mm_charset);
+#endif /* !CHARSET_CONVERSION */
+	FreeAndNull(tinrc.mm_local_charset);
+	FreeAndNull(tinrc.news_headers_to_display);
+	FreeAndNull(tinrc.news_headers_to_not_display);
+	FreeAndNull(tinrc.news_quote_format);
+	FreeAndNull(tinrc.quote_chars);
+#ifdef HAVE_COLOR
+	FreeAndNull(tinrc.quote_regex);
+	FreeAndNull(tinrc.quote_regex2);
+	FreeAndNull(tinrc.quote_regex3);
+	FreeAndNull(tinrc.extquote_regex);
+#endif /* HAVE_COLOR */
+	FreeAndNull(tinrc.slashes_regex);
+	FreeAndNull(tinrc.stars_regex);
+	FreeAndNull(tinrc.underscores_regex);
+	FreeAndNull(tinrc.strokes_regex);
+	FreeAndNull(tinrc.strip_re_regex);
+	FreeAndNull(tinrc.strip_was_regex);
+	FreeAndNull(tinrc.verbatim_begin_regex);
+	FreeAndNull(tinrc.verbatim_end_regex);
+	FreeAndNull(tinrc.savedir);
+	FreeAndNull(tinrc.sigfile);
+	FreeAndNull(tinrc.spamtrap_warning_addresses);
+	FreeAndNull(tinrc.url_handler);
+	FreeAndNull(tinrc.posted_articles_file);
+	FreeAndNull(tinrc.inews_prog);
+	FreeAndNull(tinrc.select_format);
+	FreeAndNull(tinrc.group_format);
+	FreeAndNull(tinrc.thread_format);
+	FreeAndNull(tinrc.attachment_format);
+	FreeAndNull(tinrc.page_mime_format);
+	FreeAndNull(tinrc.page_uue_format);
+	FreeAndNull(tinrc.date_format);
+	FreeAndNull(tinrc.xpost_quote_format);
+#	ifdef NNTPS_ABLE
+		FreeAndNull(tinrc.tls_ca_cert_file);
+#	endif /* NNTPS_ABLE */
+}
+
+
+static void
+free_cmdline_args(
+	void)
+{
+	FreeAndNull(cmdline.maildir);
+	FreeAndNull(cmdline.nntpserver);
+	FreeAndNull(cmdline.savedir);
+	FreeAndNull(cmdline.msgid);
 }
 
 
@@ -430,6 +522,10 @@ free_scopes_arrays(
 		free_scope(--num_scope);
 	FreeAndNull(scopes);
 	num_scope = -1;
+	FreeAndNull(default_filter_kill_global);
+	FreeAndNull(default_filter_select_global);
+	FreeAndNull(default_organization);
+	FreeAndNull(default_mime_types_to_save);
 }
 
 
@@ -550,6 +646,13 @@ my_calloc1(
 }
 
 
+/*
+ * TODO: add fallback code with
+ *        q = malloc(nmemb * size); memmove(q, p, size); free(p)?
+ *
+ * for size = 0 and p != NULL, we do what glibc does and
+ * ignore ISO C 23 Â§ 7.24.3.7 ("undefined behavior").
+ */
 void *
 my_realloc1(
 	const char *file,
@@ -603,7 +706,7 @@ my_memmove(
 		d += n;
 		c += n;
 		while (n--)
-			*--d= *--c;
+			*--d = *--c;
 	} else {
 		while (n--)
 			*d++ = *c++;
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/mimetypes.c tin-2.6.4/src/mimetypes.c
--- tin-2.6.3/src/mimetypes.c	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/mimetypes.c	2024-11-25 20:40:37.647799479 +0100
@@ -3,10 +3,10 @@
  *  Module    : mimetypes.c
  *  Author    : J. Faultless
  *  Created   : 2000-03-31
- *  Updated   : 2022-04-09
+ *  Updated   : 2024-05-05
  *  Notes     : mime.types handling
  *
- * Copyright (c) 2000-2024 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 2000-2025 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -66,7 +66,7 @@ _lookup_mimetype(
 	char buf[PATH_LEN];
 	int i;
 
-	if ((fp = fopen(file, "r")) == NULL)
+	if ((fp = tin_fopen(file, "r")) == NULL)
 		return FALSE;
 
 	while ((fgets(buf, sizeof(buf), fp)) != NULL) {
@@ -137,8 +137,9 @@ _lookup_extension(
 	char *p;
 	char buf[8192];
 
-	if ((fp = fopen(file, "r")) == NULL)
+	if ((fp = tin_fopen(file, "r")) == NULL)
 		return FALSE;
+
 	while ((fgets(buf, sizeof(buf), fp)) != NULL) {
 		if (buf[0] == '#' || buf[0] == '\n' || strncmp(buf, type, strlen(type)))
 			continue;
@@ -174,16 +175,25 @@ lookup_extension(
 {
 	char *type;
 	char buf[PATH_LEN];
+	int n;
+	size_t tlen;
 
 	if (!major || !minor) {
 		*extension = '\0';
 		return FALSE;
 	}
 
-	type = my_malloc(strlen(major) + 1 + strlen(minor) + 1);
-	strcpy(type, major);
-	strcat(type, "/");
-	strcat(type, minor);
+	if ((n = snprintf(NULL, 0, "%s/%s", major, minor)) < 0) {
+		*extension = '\0';
+		return FALSE;
+	}
+	tlen = (size_t) n + 1;
+	type = my_malloc(tlen);
+	if (snprintf(type, tlen, "%s/%s", major, minor) != n) {
+		*extension = '\0';
+		free(type);
+		return FALSE;
+	}
 
 	joinpath(buf, sizeof(buf), homedir, ".mime.types");
 	if (_lookup_extension(extension, ext_len, buf, type)) {
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/misc.c tin-2.6.4/src/misc.c
--- tin-2.6.3/src/misc.c	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/misc.c	2024-12-22 18:22:28.012500579 +0100
@@ -3,10 +3,10 @@
  *  Module    : misc.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2023-12-04
+ *  Updated   : 2024-12-22
  *  Notes     :
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -54,6 +54,11 @@
 #	include "policy.h"
 #endif /* !TIN_POLICY_H */
 
+#ifndef TNNTP_H
+#	include "tnntp.h"
+#endif /* !TNNTP_H */
+
+/* GNU libidn */
 #if defined(HAVE_IDNA_H) && !defined(_IDNA_H)
 #	include <idna.h>
 #endif /* HAVE_IDNA_H && !_IDNA_H */
@@ -61,10 +66,24 @@
 #	include <stringprep.h>
 #endif /* HAVE_STRINGPREP_H && !_STRINGPREP_H */
 
+/* GNU libidn2 */
+#if defined(HAVE_LIBIDN2) && defined(HAVE_IDN2_H) && !defined(IDN2_H)
+#	include <idn2.h>
+#endif /* HAVE_LIBIDN2 && HAVE_IDN2_H && !IDN2_H */
+
+/* JPRS libidnkit */
 #if defined(HAVE_IDN_API_H) && !defined(IDN_API_H)
 #	include <idn/api.h>
+#	if defined(HAVE_IDN_VERSION_H) && !defined(REPRODUCIBLE_BUILD)
+#		include <idn/version.h>
+#	endif /* HAVE_IDN_VERSION_H && !REPRODUCIBLE_BUILD */
 #endif /* HAVE_IDN_API_H && !IDN_API_H */
 
+/* GNU libunistring */
+#if defined(HAVE_LIBUNISTRING) && defined(HAVE_UNISTRING_VERSION_H) && !defined(REPRODUCIBLE_BUILD)
+#	include <unistring/version.h>
+#endif /* HAVE_LIBUNISTRING && HAVE_UNISTRING_VERSION_H && !REPRODUCIBLE_BUILD */
+
 #ifdef NNTPS_ABLE
 #	ifdef HAVE_LIB_LIBTLS
 #		include <tls.h>
@@ -80,6 +99,19 @@
 #	endif /* HAVE_LIB_LIBTLS */
 #endif /* NNTPS_ABLE */
 
+/* ICU */
+#if defined(HAVE_LIBICUUC) || defined(USE_ICU_UCSDET)
+#	include <unicode/uversion.h>
+#	include <unicode/uclean.h>
+#endif /* HAVE_LIBICUUC || USE_ICU_UCSDET */
+
+#if defined(USE_ZLIB) && !defined(REPRODUCIBLE_BUILD)
+#	include <zlib.h>
+#endif /* USE_ZLIB && !REPRODUCIBLE_BUILD */
+
+#ifdef HAVE_LIBURIPARSER
+#	include <uriparser/Uri.h>
+#endif /* HAVE_LIBURIPARSER */
 
 /*
  * defines to control GNKSA-checks behavior:
@@ -96,14 +128,17 @@
 static char *strfpath_cp(char *str, char *tbuf, const char *endp);
 static int _strfpath(const char *format, char *str, size_t maxsize, struct t_group *group, t_bool expand_all);
 static int gnksa_check_domain(char *domain);
-static int gnksa_check_domain_literal(char *domain);
+static int gnksa_check_domain_literal(const char *domain);
 static int gnksa_check_localpart(const char *localpart);
 static int gnksa_dequote_plainphrase(char *realname, char *decoded, int addrtype);
-static int strfeditor(char *editor, int linenum, const char *filename, char *s, size_t maxsize, char *format);
+static int strfeditor(const char *editor, int linenum, const char *filename, char *s, size_t maxsize, char *format);
 static void make_connection_page(FILE *fp);
 static void write_input_history_file(void);
 #ifdef CHARSET_CONVERSION
-	static t_bool buffer_to_local(char **line, size_t *max_line_len, const char *network_charset, const char *local_charset);
+	static t_bool buffer_to_local(char **line, size_t *max_line_len, const char *from_charset, const char *to_charset);
+#	ifdef CHARSET_CONVERSION_UCNV
+	static t_bool tin_ucnv_buffer_to_local(char **line, size_t *max_line_len, const char *from_charset, const char *to_charset);
+#	endif /* CHARSET_CONVERSION_UCNV */
 #endif /* CHARSET_CONVERSION */
 #if 0 /* currently unused */
 	static t_bool stat_article(t_artnum art, const char *group_path);
@@ -118,12 +153,28 @@ get_tmpfilename(
 	const char *filename)
 {
 	char *file_tmp;
+	int n;
+	size_t len;
 
-	/* alloc memory for tmp-filename */
-	file_tmp = my_malloc(strlen(filename) + 5);
+#ifdef APPEND_PID
+	if ((n = snprintf(NULL, 0, "%s.tmp.%ld", filename, (long) process_id)) < 0)
+#else
+	if ((n = snprintf(NULL, 0, "%s.tmp", filename)) < 0)
+#endif /* APPEND_PID */
+		return NULL;
+
+	len = (size_t) n + 1;
+	file_tmp = my_malloc(len);
+#ifdef APPEND_PID
+	if (snprintf(file_tmp, len, "%s.tmp.%ld", filename, (long) process_id) < 0)
+#else
+	if (snprintf(file_tmp, len, "%s.tmp", filename) < 0)
+#endif /* APPEND_PID */
+	{
+		free(file_tmp);
+		return NULL;
+	}
 
-	/* generate tmp-filename */
-	sprintf(file_tmp, "%s.tmp", filename);
 	return file_tmp;
 }
 
@@ -131,26 +182,32 @@ get_tmpfilename(
 /*
  * append_file instead of rename_file
  * minimum error trapping
+ * return 0 on success, errno otherwise.
  */
-void
+int
 append_file(
-	char *old_filename,
-	char *new_filename)
+	const char *old_filename,
+	const char *new_filename)
 {
 	FILE *fp_old, *fp_new;
+	int rval;
+
+	if (!*old_filename || !*new_filename)
+		return ENOENT;
+
+	if ((fp_old = tin_fopen(old_filename, "r")) == NULL)
+		return errno;
 
-	if ((fp_old = fopen(old_filename, "r")) == NULL) {
-		perror_message(_(txt_cannot_open), old_filename);
-		return;
-	}
 	if ((fp_new = fopen(new_filename, "a")) == NULL) {
+		rval = errno;
 		perror_message(_(txt_cannot_open), new_filename);
 		fclose(fp_old);
-		return;
+		return rval;
 	}
-	copy_fp(fp_old, fp_new);
+	rval = copy_fp(fp_old, fp_new);
 	fclose(fp_old);
 	fclose(fp_new);
+	return rval;
 }
 
 
@@ -191,9 +248,10 @@ asfail(
 
 /*
  * Quick copying of files
- * Returns FALSE if copy failed. Caller may wish to check for errno == EPIPE.
+ *
+ * Returns 0 on success and errno otherwise (incl. EPIPE).
  */
-t_bool
+int
 copy_fp(
 	FILE *fp_ip,
 	FILE *fp_op)
@@ -209,11 +267,12 @@ copy_fp(
 			TRACE(("copy_fp wrote %d of %d:{%.*s}", sent, have, (int) sent, buf));
 			if (errno && errno != EPIPE) /* not a broken pipe => more serious error */
 				perror_message(_(txt_error_copy_fp));
-			return FALSE;
+
+			return errno;
 		}
 		TRACE(("copy_fp wrote %d:{%.*s}", sent, (int) sent, buf));
 	}
-	return TRUE;
+	return 0;
 }
 
 
@@ -240,7 +299,7 @@ backup_file(
 	struct stat statbuf;
 #endif /* HAVE_FCHMOD || HAVE_CHMOD */
 
-	if ((fp_in = fopen(filename, "r")) == NULL)	/* a missing sourcefile is not a real bug */
+	if ((fp_in = tin_fopen(filename, "r")) == NULL)	/* a missing sourcefile is not a real bug */
 		return TRUE;
 
 	/* don't follow links when writing backup files - do we really want this? */
@@ -257,7 +316,8 @@ backup_file(
 	}
 #endif /* HAVE_FCHMOD || HAVE_CHMOD */
 
-	ret = copy_fp(fp_in, fp_out);
+	if (copy_fp(fp_in, fp_out) == 0)
+		ret = TRUE;
 
 #if defined(HAVE_FCHMOD) || defined(HAVE_CHMOD)
 	if ((fd = fileno(fp_out)) != -1) {
@@ -282,18 +342,18 @@ backup_file(
  * prefix (= quote_chars), initials of the articles author
  * with_sig is set if the signature should be quoted
  *
- * TODO: rewrite from scratch, the code is awful.
+ * TODO: rewrite from scratch, the code is awful!
  */
 void
 copy_body(
 	FILE *fp_ip,
 	FILE *fp_op,
 	char *prefix,
-	char *initl,
+	const char *initl,
 	t_bool raw_data)
 {
-	char buf[8192];
-	char buf2[8192];
+	char *buf;
+	char *buf2;
 	char prefixbuf[256];
 	char *p = prefixbuf;
 	char *q = prefix;
@@ -323,7 +383,7 @@ copy_body(
 			initials = TRUE;
 		} else {
 			*p++ = *q++;
-			maxlen--;
+			--maxlen;
 		}
 	}
 	*p = '\0';
@@ -339,42 +399,48 @@ copy_body(
 	 * tinrc tells us not to do so. This extraordinary behavior occurs when
 	 * replying or following up with the 'raw' message shown.
 	 */
-	while (fgets(buf, (int) sizeof(buf), fp_ip) != NULL) {
-		if (!(tinrc.quote_style & QUOTE_SIGS) && !strcmp(buf, SIGDASHES) && !raw_data)
+	buf2 = my_malloc(1024);
+	while ((buf = tin_fgets(fp_ip, FALSE)) != NULL) {
+		ilen = strlen(buf);
+		if (!(tinrc.quote_style & QUOTE_SIGS) && !strncmp(buf, SIGDASHES, 3) && ilen == 3 && !raw_data)
 			break;
 
 		if (initials) { /* initials wanted */
-			if (buf[0] != '\n') { /* line is not empty */
+			if (ilen) { /* line is not empty */
 				if (strchr(buf, '>')) {
+					if (ilen > sizeof(buf2))
+						buf2 = my_realloc(buf2, ilen + 1);
 					status_space = FALSE;
 					status_char = TRUE;
 					for (i = 0; buf[i] && (buf[i] != '>'); i++) {
 						buf2[i] = buf[i];
 						if (buf[i] != ' ')
 							status_space = TRUE;
-						if ((status_space) && !(isalpha((int)(unsigned char) buf[i]) || buf[i] == '>'))
+						if ((status_space) && !(isalpha((unsigned char) buf[i]) || buf[i] == '>'))
 							status_char = FALSE;
 					}
 					buf2[i] = '\0';
 					if (status_char)	/* already quoted */
-						retcode = fprintf(fp_op, "%s>%s", buf2, BlankIfNull(strchr(buf, '>')));
+						retcode = fprintf(fp_op, "%s>%s\n", buf2, BlankIfNull(strchr(buf, '>')));
 					else	/* ... to be quoted ... */
-						retcode = fprintf(fp_op, "%s%s", prefixbuf, buf);
+						retcode = fprintf(fp_op, "%s%s\n", prefixbuf, buf);
 				} else	/* line was not already quoted (no >) */
-					retcode = fprintf(fp_op, "%s%s", prefixbuf, buf);
+					retcode = fprintf(fp_op, "%s%s\n", prefixbuf, buf);
 			} else	/* line is empty */
 				retcode = fprintf(fp_op, "%s\n", ((tinrc.quote_style & QUOTE_EMPTY) ? prefixbuf : ""));
 		} else {		/* no initials in quote_string, just copy */
-			if ((buf[0] != '\n') || (tinrc.quote_style & QUOTE_EMPTY))
-				retcode = fprintf(fp_op, "%s%s", (buf[0] == '>' ? prefixbuf : prefix), buf);	/* use blank-stripped quote string if line is already quoted */
+			if (ilen || (tinrc.quote_style & QUOTE_EMPTY))
+				retcode = fprintf(fp_op, "%s%s\n", (buf[0] == '>' ? prefixbuf : prefix), buf);	/* use blank-stripped quote string if line is already quoted */
 			else
 				retcode = fprintf(fp_op, "\n");
 		}
 		if (retcode == EOF) {
 			perror_message("copy_body() failed"); /* TODO: -> lang.c */
+			FreeIfNeeded(buf2);
 			return;
 		}
 	}
+	FreeIfNeeded(buf2);
 }
 
 
@@ -402,7 +468,7 @@ t_bool
 invoke_editor(
 	const char *filename,
 	int lineno,
-	struct t_group *group) /* return value is always ignored */
+	const struct t_group *group) /* return value is always ignored */
 {
 	char buf[PATH_LEN];
 	char editor_format[PATH_LEN];
@@ -419,9 +485,9 @@ invoke_editor(
 	}
 
 	if (group != NULL)
-		my_strncpy(editor_format, (*group->attribute->editor_format ? group->attribute->editor_format : TIN_EDITOR_FMT), sizeof(editor_format) - 1);
+		my_strncpy(editor_format, (group->attribute->editor_format ? *group->attribute->editor_format : TIN_EDITOR_FMT), sizeof(editor_format) - 1);
 	else
-		my_strncpy(editor_format, (*tinrc.editor_format ? tinrc.editor_format : TIN_EDITOR_FMT), sizeof(editor_format) - 1);
+		my_strncpy(editor_format, (tinrc.editor_format ? tinrc.editor_format : TIN_EDITOR_FMT), sizeof(editor_format) - 1);
 
 	if (!strfeditor(editor, lineno, filename, buf, sizeof(buf), editor_format))
 		sh_format(buf, sizeof(buf), "%s %s", editor, filename);
@@ -445,15 +511,15 @@ invoke_editor(
 t_bool
 invoke_ispell(
 	const char *nam,
-	struct t_group *group) /* return value is always ignored */
+	const struct t_group *group) /* return value is always ignored */
 {
 	FILE *fp_all, *fp_body, *fp_head;
 	char buf[PATH_LEN], nam_body[PATH_LEN], nam_head[PATH_LEN];
 	char ispell[PATH_LEN];
 	t_bool retcode;
 
-	if (group && group->attribute->ispell != NULL)
-		STRCPY(ispell, group->attribute->ispell);
+	if (group && group->attribute->ispell && *group->attribute->ispell)
+		STRCPY(ispell, *group->attribute->ispell);
 	else
 		STRCPY(ispell, get_val("ISPELL", PATH_ISPELL));
 
@@ -469,10 +535,8 @@ invoke_ispell(
 	snprintf(nam_head, sizeof(nam_head), "%s%s", nam, ".h");
 #	endif /* HAVE_LONG_FILE_NAMES */
 
-	if ((fp_all = fopen(nam, "r")) == NULL) {
-		perror_message(_(txt_cannot_open), nam);
+	if ((fp_all = tin_fopen(nam, "r")) == NULL)
 		return FALSE;
-	}
 
 	if ((fp_head = fopen(nam_head, "w")) == NULL) {
 		perror_message(_(txt_cannot_open), nam_head);
@@ -499,8 +563,12 @@ invoke_ispell(
 	if (fp_head)
 		fclose(fp_head);
 
-	while (fgets(buf, (int) sizeof(buf), fp_all) != NULL)
-		fputs(buf, fp_body);
+	while (!feof(fp_all) && !ferror(fp_all)) {
+		if (fgets(buf, (int) sizeof(buf), fp_all) != NULL)
+			fputs(buf, fp_body);
+		else
+			break;
+	}
 
 	fclose(fp_body);
 	fclose(fp_all);
@@ -508,9 +576,16 @@ invoke_ispell(
 	sh_format(buf, sizeof(buf), "%s %s", ispell, nam_body);
 	retcode = invoke_cmd(buf);
 
-	append_file(nam_body, nam_head);
+	if ((errno = append_file(nam_body, nam_head)) != 0) {
+		perror_message(_(txt_enter_append), nam_body, nam_head);
+		retcode = FALSE;
+	}
 	unlink(nam_body);
-	rename_file(nam_head, nam);
+	if ((errno = rename_file(nam_head, nam)) != 0) {
+		perror_message(_(txt_rename_error), nam_head, nam);
+		retcode = FALSE;
+		unlink(nam_head);
+	}
 	return retcode;
 }
 #endif /* HAVE_ISPELL */
@@ -521,24 +596,23 @@ void
 shell_escape(
 	void)
 {
-	char *p, *tmp;
+	char *p, *tmp = fmt_string(_(txt_shell_escape), BlankIfNull(tinrc.default_shell_command));
 	char shell[LEN];
 
-	tmp = fmt_string(_(txt_shell_escape), tinrc.default_shell_command);
-
 	if (!prompt_string(tmp, shell, HIST_SHELL_COMMAND)) {
 		free(tmp);
 		return;
 	}
 	free(tmp);
 
-	for (p = shell; *p && isspace((int) *p); p++)
+	for (p = shell; *p && isspace((unsigned char) *p); p++)
 		continue;
 
-	if (*p)
-		my_strncpy(tinrc.default_shell_command, p, sizeof(tinrc.default_shell_command) - 1);
-	else {
-		my_strncpy(shell, (*tinrc.default_shell_command ? tinrc.default_shell_command : (get_val(ENV_VAR_SHELL, DEFAULT_SHELL))), sizeof(shell) - 1);
+	if (*p) {
+		FreeIfNeeded(tinrc.default_shell_command);
+		tinrc.default_shell_command = my_strdup(p);
+	} else {
+		my_strncpy(shell, (tinrc.default_shell_command ? tinrc.default_shell_command : (get_val(ENV_VAR_SHELL, DEFAULT_SHELL))), sizeof(shell) - 1);
 		p = shell;
 	}
 
@@ -637,12 +711,12 @@ tin_done(
 	 * chance to try again
 	 */
 	if (!no_write) {
-		i = 3; /* max retries */
-		while (i--) {
+		i = (read_newsrc_lines <= 0L ? 2 : 4); /* max retries */
+		while (--i) {
 			wrote_newsrc_lines = write_newsrc();
 			if ((wrote_newsrc_lines >= 0L) && (wrote_newsrc_lines >= read_newsrc_lines)) {
 				if (/* !batch_mode || */ verbose)
-					wait_message(0, _(txt_newsrc_saved));
+					wait_message(0, _(txt_newsrc_saved), newsrc);
 				break;
 			}
 
@@ -657,7 +731,7 @@ tin_done(
 				break;
 			}
 
-			if (!batch_mode) {
+			if (i && !batch_mode) {
 				if (prompt_yn(_(txt_newsrc_again), TRUE) <= 0)
 					break;
 			}
@@ -668,6 +742,17 @@ tin_done(
 #ifdef HAVE_MH_MAIL_HANDLING
 		write_mail_active_file();
 #endif /* HAVE_MH_MAIL_HANDLING */
+
+		if (unlink(local_motd_file) == -1) { /* ensure it will be recreated (even if started with -Q) */
+			switch (errno) {
+				case ENOENT: /* missing file is ok */
+					break;
+
+				default:
+					perror_message(_(txt_error_unlink), local_motd_file);
+					break;
+			}
+		}
 	}
 
 #ifdef XFACE_ABLE
@@ -677,10 +762,17 @@ tin_done(
 	/* Do this sometime after we save the newsrc in case this hangs up for any reason */
 	nntp_close((ret == NNTP_ERROR_EXIT));			/* disconnect from NNTP server */
 
-	tintls_exit();
+	if (use_nntps)
+		tintls_exit();
 
 	free_all_arrays();
 
+	handle_cmdargs(FALSE);
+
+#if defined(HAVE_LIBICUUC)
+	u_cleanup();
+#endif /* HAVE_LIBICUUC */
+
 	/*
 	 * TODO:
 	 * why do we make this exception "Terminate gracefully but do
@@ -716,6 +808,11 @@ tin_done(
 #endif /* HAVE_COLOR */
 	cleanup_tmp_files();
 
+#ifdef DEBUG
+	if (debug > DEBUG_REMOVE) /* special case to remove debug files on exit */
+		debug_delete_files();
+#endif /* DEBUG */
+
 	if (buf && *buf) {
 		my_fputs(buf, stderr);
 		my_fputs(cCRLF, stderr);
@@ -744,7 +841,7 @@ tin_done(
 
 int
 my_mkdir(
-	char *path,
+	const char *path,
 	mode_t mode)
 {
 #ifndef HAVE_MKDIR
@@ -757,6 +854,7 @@ my_mkdir(
 #	ifdef HAVE_CHMOD
 		return chmod(path, mode);
 #	else
+		(void) mode;
 		return 0; /* chmod via system() like for mkdir? */
 #	endif /* HAVE_CHMOD */
 	} else
@@ -767,12 +865,16 @@ my_mkdir(
 }
 
 
-void
+/*
+ * returns 0 on success and errno otherwise
+ */
+int
 rename_file(
 	const char *old_filename,
 	const char *new_filename)
 {
 	FILE *fp_old, *fp_new;
+	int rval = 0;
 #if defined(HAVE_FCHMOD) || defined(HAVE_CHMOD)
 	int fd;
 	mode_t mode = (mode_t) (S_IRUSR|S_IWUSR);
@@ -781,8 +883,9 @@ rename_file(
 
 	if (unlink(new_filename) == -1) {
 		if (errno == EPERM) { /* TODO: != ENOENT ? */
+			rval = errno;
 			perror_message(_(txt_error_unlink), new_filename);
-			return;
+			return rval;
 		}
 	}
 
@@ -792,15 +895,19 @@ rename_file(
 	if (rename(old_filename, new_filename) < 0)
 #endif /* HAVE_LINK */
 	{
-		if (errno == EXDEV) {	/* create & copy file across filesystem */
-			if ((fp_old = fopen(old_filename, "r")) == NULL) {
-				perror_message(_(txt_cannot_open), old_filename);
-				return;
-			}
+		rval = errno;
+		if (errno != EXDEV) { /* ENOENT and co. */
+			perror_message(_(txt_rename_error), old_filename, new_filename);
+			return rval;
+		} else { /* create & copy file across filesystem */
+			if ((fp_old = tin_fopen(old_filename, "r")) == NULL)
+				return errno;
+
 			if ((fp_new = fopen(new_filename, "w")) == NULL) {
+				rval = errno;
 				perror_message(_(txt_cannot_open), new_filename);
 				fclose(fp_old);
-				return;
+				return rval;
 			}
 
 #if defined(HAVE_FCHMOD) || defined(HAVE_CHMOD)
@@ -827,17 +934,15 @@ rename_file(
 			fclose(fp_new);
 			fclose(fp_old);
 			errno = 0;
-		} else {
-			perror_message(_(txt_rename_error), old_filename, new_filename);
-			return;
 		}
 	}
 #ifdef HAVE_LINK
 	if (unlink(old_filename) == -1) {
+		rval = errno;
 		perror_message(_(txt_rename_error), old_filename, new_filename);
-		return;
 	}
 #endif /* HAVE_LINK */
+	return rval;
 }
 
 
@@ -939,35 +1044,85 @@ t_bool
 mail_check(
 	const char *mailbox_name)
 {
+	char *from, *to, p, *cmb, *mb, ecmb[PATH_LEN];
+	t_bool in_message = FALSE;
 	struct stat buf;
 
-	if (mailbox_name != NULL && stat(mailbox_name, &buf) >= 0) {
-		if ((int) (buf.st_mode & S_IFMT) == (int) S_IFDIR) { /* maildir setup */
-			char *maildir_box;
-			size_t maildir_box_len = strlen(mailbox_name) + strlen(MAILDIR_NEW) + 2;
-			DIR *dirp;
-			DIR_BUF *dp;
+	if (!mailbox_name || !*mailbox_name)
+		return FALSE;
+	mb = my_strdup(mailbox_name); /* take a copy due to strtok() */
 
-			maildir_box = my_malloc(maildir_box_len);
-			joinpath(maildir_box, maildir_box_len, mailbox_name, MAILDIR_NEW);
+	/*
+	 * remove custom messages for now; rughly based on
+	 * <https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sh.html>
+	 *
+	 * TODO: if '\'-quoting is limited to '%' outside the message, there
+	 *       is no way to get a ':' into the message (except it would come
+	 *       from a variable expansion).
+	 */
+	from = to = mb;
+	while ((p = *from) != '\0') {
+		++from;
+		if (!in_message) {
+			if (p == '\\' && *from == '%') /* really just %? */
+				continue;
+
+			if (p == '%' || p == '?') {
+				in_message = TRUE;
+				continue;
+			}
+
+			*to++ = p;
+		}
+		if (p == ':')
+			in_message = FALSE;
+	}
+	*to = p;
 
-			if (!(dirp = opendir(maildir_box))) {
+	/* split into elements */
+	cmb = strtok(mb, ":");
+	while (cmb != NULL) {
+		/* expand relative path */
+		if (!strfpath(cmb, ecmb, sizeof(ecmb), NULL, FALSE)) {
+			free(mb);
+			return FALSE;
+		} else
+			cmb = ecmb;
+
+		if (stat(cmb, &buf) == 0) {
+			if (S_ISDIR(buf.st_mode)) { /* maildir setup */
+				char *maildir_box;
+				size_t maildir_box_len = strlen(cmb) + strlen(MAILDIR_NEW) + 2;
+				DIR *dirp;
+				DIR_BUF *dp;
+
+				maildir_box = my_malloc(maildir_box_len);
+				joinpath(maildir_box, maildir_box_len, cmb, MAILDIR_NEW);
+
+				if (!(dirp = opendir(maildir_box))) {
+					free(maildir_box);
+					free(mb);
+					return FALSE;
+				}
 				free(maildir_box);
-				return FALSE;
-			}
-			free(maildir_box);
-			while ((dp = readdir(dirp)) != NULL) {
-				if ((strcmp(dp->d_name, ".")) && (strcmp(dp->d_name, ".."))) {
-					CLOSEDIR(dirp);
+				while ((dp = readdir(dirp)) != NULL) {
+					if ((strcmp(dp->d_name, ".")) && (strcmp(dp->d_name, ".."))) {
+						CLOSEDIR(dirp);
+						free(mb);
+						return TRUE;
+					}
+				}
+				CLOSEDIR(dirp);
+			} else {
+				if (buf.st_atime < buf.st_mtime && buf.st_size > 0) {
+					free(mb);
 					return TRUE;
 				}
 			}
-			CLOSEDIR(dirp);
-		} else {
-			if (buf.st_atime < buf.st_mtime && buf.st_size > 0)
-				return TRUE;
 		}
+		cmb = strtok(NULL, ":");
 	}
+	free(mb);
 	return FALSE;
 }
 
@@ -986,29 +1141,26 @@ eat_re(
 	char *s,
 	t_bool eat_was)
 {
-	int match;
-
 	if (!s || !*s)
 		return "";
-
-	do {
-		REGEX_SIZE *offsets;
-
-		match = match_regex_ex(s, (int) strlen(s), 0, 0, &strip_re_regex);
-		offsets = regex_get_ovector_pointer(&strip_re_regex);
-		if (match >= 0 && offsets[0] == 0)
-			s += offsets[1];
-	} while (match >= 0);
-
-	if (eat_was) do {
+	else {
+		int match;
 		REGEX_SIZE *offsets;
 
-		match = match_regex_ex(s, (int) strlen(s), 0, 0, &strip_was_regex);
-		offsets = regex_get_ovector_pointer(&strip_was_regex);
-		if (match >= 0 && offsets[0] > 0)
-			s[offsets[0]] = '\0';
-	} while (match >= 0);
-
+		do {
+			match = match_regex_ex(s, (REGEX_SIZE) strlen(s), 0, 0, &strip_re_regex);
+			offsets = regex_get_ovector_pointer(&strip_re_regex);
+			if (match >= 0 && offsets[0] == 0)
+				s += offsets[1];
+		} while (match >= 0);
+
+		if (eat_was) do {
+			match = match_regex_ex(s, (REGEX_SIZE) strlen(s), 0, 0, &strip_was_regex);
+			offsets = regex_get_ovector_pointer(&strip_was_regex);
+			if (match >= 0 && offsets[0] > 0)
+				s[offsets[0]] = '\0';
+		} while (match >= 0);
+	}
 	return s;
 }
 
@@ -1054,35 +1206,56 @@ get_author(
 	char *str,
 	size_t len)
 {
-	char *p = idna_decode(art->from);
+	char *p, *ptr = str;
 	int author;
+	size_t curr_len, rem_len = len - 1;
+	struct t_mailbox *mb = &art->mailbox;
 
-	author = ((thread && !show_subject && curr_group->attribute->show_author == SHOW_FROM_NONE) ? SHOW_FROM_BOTH : curr_group->attribute->show_author);
+	*ptr = '\0';
 
-	switch (author) {
-		case SHOW_FROM_ADDR:
-			strncpy(str, p, len);
-			break;
+	do {
+		p = idna_decode(mb->from);
 
-		case SHOW_FROM_NAME:
-			strncpy(str, (art->name ? art->name : p), len);
-			break;
+		author = ((thread && !show_subject && curr_group->attribute->show_author == SHOW_FROM_NONE) ? SHOW_FROM_BOTH : curr_group->attribute->show_author);
 
-		case SHOW_FROM_BOTH:
-			if (art->name)
-				snprintf(str, len, "%s <%s>", art->name, p);
-			else
-				strncpy(str, p, len);
-			break;
+		switch (author) {
+			case SHOW_FROM_ADDR:
+				strncpy(ptr, p, rem_len);
+				break;
 
-		case SHOW_FROM_NONE:
-		default:
-			len = 0;
-			break;
-	}
+			case SHOW_FROM_NAME:
+				strncpy(ptr, (mb->name ? mb->name : p), rem_len);
+				break;
+
+			case SHOW_FROM_BOTH:
+				if (mb->name) {
+					if (CHECK_RFC5322_SPECIALS(mb->name))
+						snprintf(ptr, rem_len, "\"%s\" <%s>", mb->name, p);
+					else
+						snprintf(ptr, rem_len, "%s <%s>", mb->name, p);
+				}
+				else
+					strncpy(ptr, p, rem_len);
+				break;
+
+			case SHOW_FROM_NONE:
+			default:
+				rem_len = 0;
+				break;
+		}
 
-	free(p);
-	*(str + len) = '\0';				/* NULL terminate */
+		free(p);
+
+		/* we stop if there is no room for at least one character after â€, â€ */
+		if (rem_len < 5)
+			mb = NULL;
+		else if ((mb = mb->next)) {
+			strcat(ptr, ", ");
+			curr_len = strlen(ptr);
+			rem_len -= curr_len;
+			ptr += curr_len;
+		}
+	} while (mb);
 }
 
 
@@ -1123,9 +1296,8 @@ toggle_color(
 	if (use_color)
 		reset_color();
 #	endif /* USE_CURSES */
-	use_color = bool_not(use_color);
 
-	if (use_color) {
+	if ((use_color = bool_not(use_color))) {
 #	ifdef USE_CURSES
 		fcol(tinrc.col_normal);
 #	endif /* USE_CURSES */
@@ -1164,10 +1336,17 @@ create_index_lock_file(
 	int err;
 	time_t epoch;
 
-	if ((fp = fopen(the_lock_file, "r")) != NULL) {
+	if ((fp = tin_fopen(the_lock_file, "r")) != NULL) {
 		err = (fgets(buf, (int) sizeof(buf), fp) == NULL);
 		fclose(fp);
-		error_message(2, "\n%s: Already started pid=[%d] on %s", tin_progname, err ? 0 : atoi(buf), err ? "-" : buf + 8);
+		error_message(2, "%s: Already started pid=[%d] on %s", tin_progname, err ? 0 : s2i(buf, 0, INT_MAX), err ? "-" : buf + 9);
+#ifdef DEBUG
+		if (debug & DEBUG_MISC) {
+			if (!err)
+				error_message(0, "Lockfile: %s", the_lock_file);
+		}
+#endif /* DEBUG */
+
 		free(tin_progname);
 		giveup();
 	}
@@ -1180,7 +1359,7 @@ create_index_lock_file(
 #	endif /* HAVE_CHMOD */
 #endif /* HAVE_FCHMOD */
 		(void) time(&epoch);
-		fprintf(fp, "%6d  %s\n", (int) process_id, ctime(&epoch));
+		fprintf(fp, "%6d  %s\n", (int) process_id, BlankIfNull(str_trim(ctime(&epoch))));
 		if ((err = ferror(fp)) || fclose(fp)) {
 			error_message(2, _(txt_filesystem_full), the_lock_file);
 			if (err) {
@@ -1221,7 +1400,7 @@ strfquote(
 	if (s == NULL || format == NULL || maxsize == 0)
 		return 0;
 
-	if (strchr(format, '%') == NULL && strlen(format) + 1 >= maxsize)
+	if (strchr(format, '%') == NULL || strlen(format) + 1 >= maxsize)
 		return 0;
 
 	endp = s + maxsize;
@@ -1255,8 +1434,8 @@ strfquote(
 					tbuf[2] = '\0';
 					break;
 			}
-			i = (int) strlen(tbuf);
-			if (i) {
+
+			if ((i = (int) strlen(tbuf))) {
 				if (s + i < endp - 1) {
 					strcpy(s, tbuf);
 					s += i;
@@ -1278,30 +1457,30 @@ strfquote(
 					continue;
 
 				case 'A':	/* Articles Email address */
-					STRCPY(tbuf, arts[respnum].from);
+					STRCPY(tbuf, arts[respnum].mailbox.from);
 					break;
 
 				case 'C':	/* First Name of author */
-					if (arts[respnum].name != NULL) {
-						STRCPY(tbuf, arts[respnum].name);
+					if (arts[respnum].mailbox.name != NULL) {
+						STRCPY(tbuf, arts[respnum].mailbox.name);
 						if (strchr(tbuf, ' '))
 							*(strchr(tbuf, ' ')) = '\0';
 					} else {
-						STRCPY(tbuf, arts[respnum].from);
+						STRCPY(tbuf, arts[respnum].mailbox.from);
 					}
 					break;
 
 				case 'D':	/* Articles Date (reformatted as specified in attributes->date_format) */
-					if (!my_strftime(tbuf, LEN - 1, curr_group->attribute->date_format, localtime(&arts[respnum].date))) {
+					if (!my_strftime(tbuf, LEN - 1, curr_group->attribute->date_format ? BlankIfNull(*curr_group->attribute->date_format) : "", localtime(&arts[respnum].date))) {
 						STRCPY(tbuf, BlankIfNull(pgart.hdr.date));
 					}
 					break;
 
 				case 'F':	/* Articles Address+Name */
-					if (arts[respnum].name)
-						snprintf(tbuf, sizeof(tbuf), "%s <%s>", arts[respnum].name, arts[respnum].from);
+					if (arts[respnum].mailbox.name)
+						snprintf(tbuf, sizeof(tbuf), "%s <%s>", arts[respnum].mailbox.name, arts[respnum].mailbox.from);
 					else {
-						STRCPY(tbuf, arts[respnum].from);
+						STRCPY(tbuf, arts[respnum].mailbox.from);
 					}
 					break;
 
@@ -1310,7 +1489,7 @@ strfquote(
 					break;
 
 				case 'I':	/* Initials of author */
-					STRCPY(tbuf, ((arts[respnum].name != NULL) ? arts[respnum].name : arts[respnum].from));
+					STRCPY(tbuf, ((arts[respnum].mailbox.name != NULL) ? arts[respnum].mailbox.name : arts[respnum].mailbox.from));
 					j = 0;
 					iflag = TRUE;
 					for (i = 0; tbuf[i]; i++) {
@@ -1329,7 +1508,7 @@ strfquote(
 					break;
 
 				case 'N':	/* Articles Name of author */
-					STRCPY(tbuf, ((arts[respnum].name != NULL) ? arts[respnum].name : arts[respnum].from));
+					STRCPY(tbuf, ((arts[respnum].mailbox.name != NULL) ? arts[respnum].mailbox.name : arts[respnum].mailbox.from));
 					break;
 
 				default:
@@ -1338,8 +1517,8 @@ strfquote(
 					tbuf[2] = '\0';
 					break;
 			}
-			i = (int) strlen(tbuf);
-			if (i) {
+
+			if ((i = (int) strlen(tbuf))) {
 				if (s + i < endp - 1) {
 					strcpy(s, tbuf);
 					s += i;
@@ -1365,7 +1544,7 @@ out:
  */
 static int
 strfeditor(
-	char *editor,
+	const char *editor,
 	int linenum,
 	const char *filename,
 	char *s,
@@ -1380,7 +1559,7 @@ strfeditor(
 	if (s == NULL || format == NULL || maxsize == 0)
 		return 0;
 
-	if (strchr(format, '%') == NULL && strlen(format) + 1 >= maxsize)
+	if (strchr(format, '%') == NULL || strlen(format) + 1 >= maxsize)
 		return 0;
 
 	endp = s + maxsize;
@@ -1503,7 +1682,7 @@ _strfpath(
 	char tbuf[PATH_LEN];
 	const char *startp = format;
 	int i;
-	struct passwd *pwd;
+	const struct passwd *pwd;
 	t_bool is_mailbox = FALSE;
 
 	if (str == NULL || format == NULL || maxsize == 0)
@@ -1552,16 +1731,16 @@ _strfpath(
 
 			case '$':	/* Read the envvar and use its value */
 				i = 0;
-				format++;
+				++format;
 				if (*format == '{') {
-					format++;
+					++format;
 					while (*format && !(strchr("}-", *format)))
 						tbuf[i++] = *format++;
 
 					tbuf[i] = '\0';
 					i = 0;
 					if (*format == '-') {
-						format++;
+						++format;
 						while (*format && *format != '}')
 							defbuf[i++] = *format++;
 					}
@@ -1571,7 +1750,7 @@ _strfpath(
 						tbuf[i++] = *format++;
 
 					tbuf[i] = '\0';
-					format--;
+					--format;
 					defbuf[0] = '\0';
 				}
 				/*
@@ -1601,7 +1780,7 @@ _strfpath(
 					char buf[PATH_LEN];
 
 					is_mailbox = TRUE;
-					if (strfpath((cmdline.args & CMDLINE_MAILDIR) ? cmdline.maildir : group->attribute->maildir, buf, sizeof(buf), group, FALSE)) {
+					if (strfpath(cmdline.maildir ? cmdline.maildir : (group->attribute->maildir && *group->attribute->maildir) ? *group->attribute->maildir : NULL, buf, sizeof(buf), group, FALSE)) {
 						if (*(format + 1) == '\0')				/* Just an = */
 							joinpath(tbuf, sizeof(tbuf), buf, group->name);
 						else
@@ -1629,7 +1808,7 @@ _strfpath(
 					/*
 					 * Start with the savedir name
 					 */
-					if (strfpath((cmdline.args & CMDLINE_SAVEDIR) ? cmdline.savedir : group->attribute->savedir, buf, sizeof(buf), group, FALSE)) {
+					if (strfpath(cmdline.savedir ? cmdline.savedir : (group->attribute->savedir && *group->attribute->savedir) ? *group->attribute->savedir : NULL, buf, sizeof(buf), group, FALSE)) {
 						char tmp[PATH_LEN];
 #ifdef HAVE_LONG_FILE_NAMES
 						my_strncpy(tmp, group->name, sizeof(tmp) - 1);
@@ -1649,7 +1828,7 @@ _strfpath(
 				break;
 
 			case '%':	/* Different forms of parsing cmds */
-				format++;
+				++format;
 				if (group != NULL && *format == 'G') {
 					memset(tbuf, 0, sizeof(tbuf));
 					STRCPY(tbuf, group->name);
@@ -1686,7 +1865,8 @@ _strfpath(
 					break;
 				}
 				*str++ = *format;
-				/* FALLTHROUGH */
+				break;
+
 			default:
 				break;
 		}
@@ -1720,7 +1900,7 @@ strfpath(
 	 * Expand any leading env vars first in case they themselves contain
 	 * formatting chars
 	 */
-	if (format[0] == '$') {
+	if (format && format[0] == '$') {
 		char buf[PATH_LEN];
 
 		if (_strfpath(format, buf, sizeof(buf), group, expand_all))
@@ -1752,10 +1932,10 @@ escape_shell_meta(
 					*source == '>' || *source == ';' || *source == '(' ||
 					*source == ')') {
 					*dest++ = '\\';
-					space--;
+					--space;
 				}
 				*dest++ = *source++;
-				space--;
+				--space;
 			}
 			break;
 
@@ -1764,10 +1944,10 @@ escape_shell_meta(
 				if (*source == '\\' || *source == '"' || *source == '$' ||
 					*source == '`') {
 					*dest++ = '\\';
-					space--;
+					--space;
 				}
 				*dest++ = *source++;
-				space--;
+				--space;
 			}
 			break;
 
@@ -1780,7 +1960,7 @@ escape_shell_meta(
 					space -= 3;
 				}
 				*dest++ = *source++;
-				space--;
+				--space;
 			}
 			break;
 
@@ -1825,14 +2005,7 @@ strfmailer(
 	if (dest == NULL || format == NULL || maxsize == 0)
 		return 0;
 
-	/*
-	 * TODO: shouldn't we better check for no % OR format > maxsize?
-	 *       as no replacement doesn't make sense (hard coded To, Subject
-	 *       and filename) and the resulting string usually is longer after
-	 *       replacements were done (nobody uses enough %% to make the
-	 *       result shorter than the input).
-	 */
-	if (strchr(format, '%') == NULL && strlen(format) + 1 >= maxsize)
+	if (strchr(format, '%') == NULL || strlen(format) + 1 >= maxsize)
 		return 0;
 
 	/*
@@ -1959,17 +2132,16 @@ strfmailer(
 				case 'U':	/* User */
 					/* don't MIME encode User if using external mail client */
 					if (tinrc.interactive_mailer != INTERACTIVE_NONE)
-						strncpy(tbuf, userid, sizeof(tbuf) - 1);
+						STRCPY(tbuf, userid);
 					else {
 #ifdef CHARSET_CONVERSION
 						p = rfc1522_encode(userid, txt_mime_charsets[tinrc.mm_network_charset], ismail);
 #else
 						p = rfc1522_encode(userid, tinrc.mm_charset, ismail);
 #endif /* CHARSET_CONVERSION */
-						strncpy(tbuf, p, sizeof(tbuf) - 1);
+						STRCPY(tbuf, p);
 						free(p);
 					}
-					tbuf[sizeof(tbuf) - 1] = '\0';	/* just in case */
 					break;
 
 				default:
@@ -2009,9 +2181,11 @@ get_initials(
 	char *s,
 	int maxsize) /* return value is always 0 and ignored */
 {
+	char *ptr = s;
 	char tbuf[PATH_LEN];
-	int i, j = 0;
-	t_bool iflag = FALSE;
+	int i, j, curr_len, rem_len = maxsize;
+	struct t_mailbox *mb = &art->mailbox;
+	t_bool iflag;
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 	wchar_t *wtmp, *wbuf;
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
@@ -2019,39 +2193,51 @@ get_initials(
 	if (s == NULL || maxsize <= 0)
 		return 0;
 
-	s[0] = '\0';
-	STRCPY(tbuf, ((art->name != NULL) ? art->name : art->from));
+	*ptr = '\0';
+	do {
+		STRCPY(tbuf, ((mb->name != NULL) ? mb->name : mb->from));
+		j = 0;
+		iflag = FALSE;
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-	if ((wtmp = char2wchar_t(tbuf)) != NULL) {
-		wbuf = my_malloc(sizeof(wchar_t) * (size_t) (maxsize + 1));
-		for (i = 0; wtmp[i] && j < maxsize; i++) {
-			if (iswalpha((wint_t) wtmp[i])) {
+		if ((wtmp = char2wchar_t(tbuf)) != NULL) {
+			wbuf = my_malloc(sizeof(wchar_t) * (size_t) (rem_len + 1));
+			for (i = 0; wtmp[i] && j < rem_len; i++) {
+				if (iswalpha((wint_t) wtmp[i])) {
+					if (!iflag) {
+						wbuf[j++] = wtmp[i];
+						iflag = TRUE;
+					}
+				} else
+					iflag = FALSE;
+			}
+			wbuf[j] = (wchar_t) '\0';
+			if (wcstombs(tbuf, wbuf, sizeof(tbuf) - 1) != (size_t) -1)
+				strcat(ptr, tbuf);
+			free(wtmp);
+			free(wbuf);
+		}
+#else
+		for (i = 0; tbuf[i] && j < rem_len; i++) {
+			if (isalpha((unsigned char) tbuf[i])) {
 				if (!iflag) {
-					wbuf[j++] = wtmp[i];
+					ptr[j++] = tbuf[i];
 					iflag = TRUE;
 				}
 			} else
 				iflag = FALSE;
 		}
-		wbuf[j] = (wchar_t) '\0';
-		s[0] = '\0';
-		if (wcstombs(tbuf, wbuf, sizeof(tbuf) - 1) != (size_t) -1)
-			strcat(s, tbuf);
-		free(wtmp);
-		free(wbuf);
-	}
-#else
-	for (i = 0; tbuf[i] && j < maxsize; i++) {
-		if (isalpha((int)(unsigned char) tbuf[i])) {
-			if (!iflag) {
-				s[j++] = tbuf[i];
-				iflag = TRUE;
-			}
-		} else
-			iflag = FALSE;
-	}
-	s[j] = '\0';
+		ptr[j] = '\0';
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+		/* we stop if there is no room for at least one character after â€, â€ */
+		if (rem_len < 5)
+			mb = NULL;
+		else if ((mb = mb->next)) {
+			strcat(ptr, ", ");
+			curr_len = strwidth(ptr);
+			rem_len -= curr_len;
+			ptr += curr_len;
+		}
+	} while (mb);
 	return 0;
 }
 
@@ -2063,18 +2249,16 @@ get_cwd(
 #ifdef HAVE_GETCWD
 	if (getcwd(buf, PATH_LEN) == NULL) {
 #	ifdef DEBUG
-		int e = errno;
 		if (debug & DEBUG_MISC)
-			error_message(2, "getcwd(%s): Error: %s", buf, strerror(e));
+			perror_message("getcwd(%s)", buf);
 #	endif /* DEBUG */
 	}
 #else
 #	ifdef HAVE_GETWD
 	if (getwd(buf) == NULL) {
 #		ifdef DEBUG
-		int e = errno;
 		if (debug & DEBUG_MISC)
-			error_message(2, "getwd(%s): Error: %s", buf, strerror(e));
+			perror_message("getwd(%s)", buf);
 #		endif /* DEBUG */
 	}
 #	else
@@ -2095,7 +2279,7 @@ make_group_path(
 {
 	while (*name) {
 		*path++ = ((*name == '.') ? '/' : *name);
-		name++;
+		++name;
 	}
 	*path++ = '/';
 	*path = '\0';
@@ -2178,31 +2362,27 @@ random_organization(
 	int nool = 0, sol;
 	static char selorg[512];
 
-	*selorg = '\0';
-
 	if (*in_org != '/')
 		return in_org;
 
-	if ((orgfp = fopen(in_org, "r")) == NULL)
+	*selorg = '\0';
+
+	if ((orgfp = tin_fopen(in_org, "r")) == NULL)
 		return selorg;
 
-	/* count lines */
 	while (fgets(selorg, (int) sizeof(selorg), orgfp))
-		nool++;
+		++nool;
 
-	if (!nool) {
-		fclose(orgfp);
-		return selorg;
-	}
+	if (nool) {
+		rewind(orgfp);
 
-	rewind(orgfp);
+		srndm();
+		sol = rndm() % nool + 1;
+		nool = 0;
 
-	srand((unsigned int) time(NULL));
-	sol = rand() % nool + 1;
-	nool = 0;
-
-	while ((nool != sol) && (fgets(selorg, (int) sizeof(selorg), orgfp)))
-		nool++;
+		while ((nool != sol) && (fgets(selorg, (int) sizeof(selorg), orgfp)))
+			++nool;
+	}
 
 	fclose(orgfp);
 	return selorg;
@@ -2218,12 +2398,11 @@ read_input_history_file(
 	char buf[HEADER_LEN];
 	int his_w = 0, his_e = 0, his_free = 0;
 
-	/* this is usually .tin/.inputhistory */
-	if ((fp = fopen(local_input_history_file, "r")) == NULL)
+	if ((fp = tin_fopen(local_input_history_file, "r")) == NULL)
 		return;
 
 	if (!batch_mode)
-		wait_message(0, _(txt_reading_input_history_file));
+		wait_message(0, _(txt_reading_input_history_file), local_input_history_file);
 
 	/* to be safe ;-) */
 	memset((void *) input_history, 0, sizeof(input_history));
@@ -2245,12 +2424,12 @@ read_input_history_file(
 				his_free = his_e;
 		}
 
-		his_e++;
+		++his_e;
 		/* check if next type is reached */
 		if (his_e >= HIST_SIZE) {
 			hist_pos[his_w] = hist_last[his_w] = his_free;
 			his_free = his_e = 0;
-			his_w++;
+			++his_w;
 		}
 		/* check if end is reached */
 		if (his_w > HIST_MAXNUM)
@@ -2259,7 +2438,7 @@ read_input_history_file(
 	fclose(fp);
 
 	if (cmd_line)
-		printf("\r\n");
+		my_printf("\r\n");
 }
 
 
@@ -2279,7 +2458,8 @@ write_input_history_file(
 	mask = umask((mode_t) (S_IRWXO|S_IRWXG));
 
 	/* generate tmp-filename */
-	file_tmp = get_tmpfilename(local_input_history_file);
+	if ((file_tmp = get_tmpfilename(local_input_history_file)) == NULL)
+		return;
 
 	if ((fp = fopen(file_tmp, "w")) == NULL) {
 		error_message(2, _(txt_filesystem_full_backup), local_input_history_file);
@@ -2315,9 +2495,8 @@ write_input_history_file(
 		/* fix modes for all pre 1.4.1 local_input_history_file files */
 		if (chmod(local_input_history_file, (mode_t) (S_IRUSR|S_IWUSR)) == -1) {
 #	ifdef DEBUG
-			int e = errno;
 			if (debug & DEBUG_MISC)
-				error_message(2, "chmod(%s, %d): Error: %s", local_input_history_file, (mode_t) (S_IRUSR|S_IWUSR), strerror(e));
+				perror_message("chmod(%s, %d)", local_input_history_file, (mode_t) (S_IRUSR|S_IWUSR));
 #	endif /* DEBUG */
 		}
 #endif /* HAVE_CHMOD */
@@ -2412,28 +2591,35 @@ strip_name(
 
 
 #ifdef CHARSET_CONVERSION
+/*
+ * converts **input of max-length *input_size *from charset *to charset
+ * via iconv() or ucnv*(), may reallocate **input and update *input_size
+ * accordingly. returns FALSE on error and TRUE otherwise.
+ */
 static t_bool
-buffer_to_local(
+buffer_to_local( /* TODO: rename to something more useful/descriptive */
 	char **line,
 	size_t *max_line_len,
-	const char *network_charset,
-	const char *local_charset)
+	const char *from_charset,
+	const char *to_charset)
 {
+	t_bool rval = TRUE;
+
 	/* FIXME: this should default in RFC2046.c to US-ASCII */
-	if ((network_charset && *network_charset)) {	/* Content-Type: had a charset parameter */
-		if (strcasecmp(network_charset, local_charset)) { /* different charsets */
+	if ((from_charset && *from_charset)) {	/* Content-Type: had a charset parameter */
+		if (strcasecmp(from_charset, to_charset)) { /* different charsets */
+#	ifdef CHARSET_CONVERSION_ICONV
 			char *clocal_charset;
 			iconv_t cd0, cd1, cd2;
 
-			clocal_charset = my_malloc(strlen(local_charset) + strlen("//TRANSLIT") + 1);
-			strcpy(clocal_charset, local_charset);
-#	ifdef HAVE_ICONV_OPEN_TRANSLIT
+			clocal_charset = my_strdup((to_charset));
+#		ifdef HAVE_ICONV_OPEN_TRANSLIT
 			if (tinrc.translit)
-				strcat(clocal_charset, "//TRANSLIT");
-#	endif /* HAVE_ICONV_OPEN_TRANSLIT */
+				clocal_charset = append_to_string(clocal_charset, "//TRANSLIT");
+#		endif /* HAVE_ICONV_OPEN_TRANSLIT */
 
 			/* iconv() might crash on broken multibyte sequences so check them */
-			if (!strcasecmp(network_charset, "UTF-8") || !strcasecmp(network_charset, "utf8"))
+			if (!strcasecmp(from_charset, "UTF-8") || !strcasecmp(from_charset, "utf8"))
 				(void) utf8_valid(*line);
 
 			/*
@@ -2441,7 +2627,7 @@ buffer_to_local(
 			 *       instead of converting it?
 			 */
 			cd0 = iconv_open("UCS-4", "US-ASCII");
-			cd1 = iconv_open("UCS-4", network_charset);
+			cd1 = iconv_open("UCS-4", from_charset);
 			cd2 = iconv_open(clocal_charset, "UCS-4");
 			if (cd0 != (iconv_t) (-1) && cd1 != (iconv_t) (-1) && cd2 != (iconv_t) (-1)) {
 				char unknown = '?';
@@ -2470,8 +2656,8 @@ buffer_to_local(
 				inbytesleft = strlen(*line);
 				tmpbytesleft = inbytesleft * 4 + 4;	/* should be enough */
 				tsize = tmpbytesleft;
-				tbuf = my_malloc(tsize);
-				tmpbuf = (char *) tbuf;
+				tbuf = (char *) my_malloc(tsize);
+				tmpbuf = tbuf;
 
 				do {
 					errno = 0;
@@ -2482,8 +2668,8 @@ buffer_to_local(
 								memcpy(tmpbuf, unknown_ucs4, 4);
 								tmpbuf += 4;
 								tmpbytesleft -= 4;
-								inbuf++;
-								inbytesleft--;
+								++inbuf;
+								--inbytesleft;
 								break;
 
 							case E2BIG:
@@ -2504,8 +2690,8 @@ buffer_to_local(
 				inbytesleft = tsize - tmpbytesleft;
 				outbytesleft = inbytesleft;
 				osize = outbytesleft;
-				obuf = my_malloc(osize + 1);
-				outbuf = (char *) obuf;
+				obuf = (char *) my_malloc(osize + 1);
+				outbuf = obuf;
 
 				do {
 					/*
@@ -2523,10 +2709,11 @@ buffer_to_local(
 						switch (errno) {
 							case EILSEQ:
 								**&outbuf = '?';
-								outbuf++;
-								outbytesleft--;
+								++outbuf;
+								--outbytesleft;
 								inbuf += 4;
 								inbytesleft -= 4;
+								rval = FALSE;
 								break;
 
 							case E2BIG:
@@ -2571,72 +2758,47 @@ buffer_to_local(
 				if (cd0 != (iconv_t) (-1))
 					iconv_close(cd0);
 				free(clocal_charset);
+#		ifdef CHARSET_CONVERSION_UCNV
+				return (tin_ucnv_buffer_to_local(line, max_line_len, from_charset, to_charset));
+#		else
 				return FALSE;
+#		endif /* CHARSET_CONVERSION_UCNV */
 			}
 			free(clocal_charset);
+#	else
+#		ifdef CHARSET_CONVERSION_UCNV
+			return (tin_ucnv_buffer_to_local(line, max_line_len, from_charset, to_charset));
+#		else
+			return FALSE;
+#		endif /* CHARSET_CONVERSION_UCNV */
+#	endif /* CHARSET_CONVERSION_ICONV */
 		}
 	}
-	return TRUE;
+	return rval;
 }
 
 
-/* convert from local_charset to txt_mime_charsets[mmnwcharset] */
+/*
+ * converts **line from local_charset to txt_mime_charsets[mmnwcharset]
+ * via iconv() or ucnv*(). may reallocate **line if needed. returns
+ * TRUE on success and FALSE on error.
+ */
 t_bool
 buffer_to_network(
-	char *line,
+	char **line,
 	int mmnwcharset)
 {
-	char *obuf;
-	char *outbuf;
-	ICONV_CONST char *inbuf;
-	iconv_t cd;
-	size_t result, osize;
-	size_t inbytesleft, outbytesleft;
 	t_bool conv_success = TRUE;
-
 	if (strcasecmp(txt_mime_charsets[mmnwcharset], tinrc.mm_local_charset)) {
-		if ((cd = iconv_open(txt_mime_charsets[mmnwcharset], tinrc.mm_local_charset)) != (iconv_t) (-1)) {
-			inbytesleft = strlen(line);
-			inbuf = (char *) line;
-			outbytesleft = 1 + inbytesleft * 4;
-			osize = outbytesleft;
-			obuf = my_malloc(osize + 1);
-			outbuf = (char *) obuf;
-
-			do {
-				errno = 0;
-				result = iconv(cd, &inbuf, &inbytesleft, &outbuf, &outbytesleft);
-				if (result == (size_t) (-1)) {
-					switch (errno) {
-						case EILSEQ:
-							/* TODO: only one '?' for each multibyte sequence ? */
-							**&outbuf = '?';
-							outbuf++;
-							inbuf++;
-							inbytesleft--;
-							conv_success = FALSE;
-							break;
-
-						case E2BIG:
-							obuf = my_realloc(obuf, osize * 2);
-							outbuf = (char *) (obuf + osize - outbytesleft);
-							outbytesleft += osize;
-							osize <<= 1; /* double size */
-							break;
-
-						default:	/* EINVAL */
-							inbytesleft = 0;
-							conv_success = FALSE;
-					}
-				}
-			} while (inbytesleft > 0);
+		size_t l = strlen(*line);
 
-			**&outbuf = '\0';
-			strcpy(line, obuf); /* FIXME: here we assume that line is big enough to hold obuf */
-			free(obuf);
-			iconv_close(cd);
-		} else
-			conv_success = FALSE;
+#	ifdef CHARSET_CONVERSION_ICONV
+		conv_success = buffer_to_local(line, &l, tinrc.mm_local_charset, txt_mime_charsets[mmnwcharset]);
+#	else
+#		ifdef CHARSET_CONVERSION_UCNV
+		conv_success = tin_ucnv_buffer_to_local(line, &l, tinrc.mm_local_charset, txt_mime_charsets[mmnwcharset]);
+#		endif /* CHARSET_CONVERSION_UCNV */
+#	endif /* CHARSET_CONVERSION_ICONV */
 	}
 	return conv_success;
 }
@@ -2653,7 +2815,7 @@ buffer_to_ascii(
 		/* reduce to US-ASCII, other non-prints are filtered later */
 		if ((unsigned char) *c >= 128)
 			*c = '?';
-		c++;
+		++c;
 	}
 	return a;
 }
@@ -2665,34 +2827,38 @@ buffer_to_ascii(
  * this is called for headers, overview data, and article bodies
  * to set non-ASCII characters to '?'
  * (only with MIME_STRICT_CHARSET and !NO_LOCALE or CHARSET_CONVERSION
- * and network_charset=="US-ASCII")
+ * and from_charset=="US-ASCII")
+ *
+ * **line may get reallocated and *max_line_len updated accordingly.
  */
 void
 process_charsets(
 	char **line,
 	size_t *max_line_len,
-	const char *network_charset,
-	const char *local_charset,
+	const char *from_charset,
+	const char *to_charset,
 	t_bool conv_tex2iso)
 {
 	char *p;
 
 #ifdef CHARSET_CONVERSION
-	if (strcasecmp(network_charset, "US-ASCII")) {	/* network_charset is NOT US-ASCII */
+	if (strcasecmp(from_charset, "US-ASCII")) {	/* from_charset is NOT US-ASCII */
 		if (iso2asc_supported >= 0)
 			p = my_strdup("ISO-8859-1");
 		else
-			p = my_strdup(local_charset);
-		if (!buffer_to_local(line, max_line_len, network_charset, p))
+			p = my_strdup(to_charset);
+		if (!buffer_to_local(line, max_line_len, from_charset, p))
 			buffer_to_ascii(*line);
 		free(p);
 	} else /* set non-ASCII characters to '?' */
 		buffer_to_ascii(*line);
 #else
 #	if defined(MIME_STRICT_CHARSET) && !defined(NO_LOCALE)
-	if ((local_charset && strcasecmp(network_charset, local_charset)) || !strcasecmp(network_charset, "US-ASCII"))
+	if ((to_charset && strcasecmp(from_charset, to_charset)) || !strcasecmp(from_charset, "US-ASCII"))
 		/* different charsets || network charset is US-ASCII (see below) */
 		buffer_to_ascii(*line);
+#	else
+	(void) to_charset;
 #	endif /* MIME_STRICT_CHARSET && !NO_LOCALE */
 	/* charset conversion (codepage version) */
 #endif /* CHARSET_CONVERSION */
@@ -2711,7 +2877,7 @@ process_charsets(
 #ifdef CHARSET_CONVERSION
 	if (iso2asc_supported >= 0)
 #else
-	if (iso2asc_supported >= 0 && !strcasecmp(network_charset, "ISO-8859-1"))
+	if (iso2asc_supported >= 0 && !strcasecmp(from_charset, "ISO-8859-1"))
 #endif /* CHARSET_CONVERSION */
 	{
 		p = my_strdup(*line);
@@ -2856,7 +3022,7 @@ gnksa_strerror(
 			break;
 
 		case GNKSA_LANGLE_MISSING:
-			message = txt_error_gnksa_langle;
+			message = _(txt_error_gnksa_langle);
 			break;
 
 		case GNKSA_LPAREN_MISSING:
@@ -2871,6 +3037,10 @@ gnksa_strerror(
 			message = _(txt_error_gnksa_atsign);
 			break;
 
+		case GNKSA_RANGLE_MISSING:
+			message = _(txt_error_gnksa_rangle);
+			break;
+
 		case GNKSA_SINGLE_DOMAIN:
 			message = _(txt_error_gnksa_sgl_domain);
 			break;
@@ -2955,6 +3125,10 @@ gnksa_strerror(
 			message = _(txt_error_gnksa_rn_invalid);
 			break;
 
+		case GNKSA_MISSING_REALNAME:
+			message = _(txt_error_gnksa_rn_missing);
+			break;
+
 		case GNKSA_OK:
 		default:
 			/* shouldn't happen */
@@ -2982,9 +3156,6 @@ gnksa_dequote_plainphrase(
 	int initialstate;	/* initial state */
 	int state;	/* current state */
 
-	if (!*realname)
-		return GNKSA_MISSING_REALNAME;
-
 	/* initialize state machine */
 	switch (addrtype) {
 		case GNKSA_ADDRTYPE_ROUTE:
@@ -3016,10 +3187,9 @@ gnksa_dequote_plainphrase(
 				switch (*rpos) {
 					case '"':
 						state = 1;
-						rpos++;
+						++rpos;
 						break;
 
-					case '!':
 					case '(':
 					case ')':
 					case '<':
@@ -3057,15 +3227,9 @@ gnksa_dequote_plainphrase(
 				switch (*rpos) {
 					case '"':
 						state = 0;
-						rpos++;
+						++rpos;
 						break;
 
-#if 0 /* RFC 5322 3.2.4. does not prohibit these anymore as RFC 1036 did */
-					case '(':
-					case ')':
-					case '<':
-					case '>':
-#endif /* 0 */
 					/*
 					 * FIXME: \ is allowed in dquotes as of 5322,
 					 * but we need to ensure that \" doesn't end
@@ -3175,8 +3339,6 @@ gnksa_dequote_plainphrase(
 				switch (*rpos) {
 					case '(':
 					case ')':
-					case '<':
-					case '>':
 					case '\\':
 						return GNKSA_ILLEGAL_PAREN_CHAR;
 						/* NOTREACHED */
@@ -3204,6 +3366,10 @@ gnksa_dequote_plainphrase(
 		}
 	}
 
+	/* non fatal error is checked last */
+	if (!*realname)
+		return GNKSA_MISSING_REALNAME;
+
 	/* successful */
 	*wpos = '\0';
 	return GNKSA_OK;
@@ -3211,23 +3377,61 @@ gnksa_dequote_plainphrase(
 
 
 /*
- * check domain literal
+ * check domain literal (IPv4, IPv6)
  */
 static int
 gnksa_check_domain_literal(
-	char *domain)
+	const char *domain)
 {
-	char term;
-	int n;
+	char term = '\0';
 	unsigned int x1, x2, x3, x4;
 
-	/* parse domain literal into ip number */
 	x1 = x2 = x3 = x4 = 666;
-	term = '\0';
 
 	if (*domain == '[') { /* literal bracketed */
-		n = sscanf(domain, "[%u.%u.%u.%u%c", &x1, &x2, &x3, &x4, &term);
-		if (n != 5)
+#if defined(HAVE_INET_PTON) && defined(AF_INET6)
+		/*
+		 * academic: what about systenms without AF_INET6?
+		 * they would reject IPv6 address (so no change there),
+		 * do we need a handrolled parser for those?
+		 */
+		if (strchr(domain + 1, ':')) {
+			char *p;
+			int n;
+			size_t l = strlen(domain);
+			struct in6_addr inaddr;
+
+			if (l < 4 || l > 41) /* "[::]" ... "[acab:cafe:deef:dead:beef:babe:face:feed]" */
+				return GNKSA_BAD_DOMAIN_LITERAL;
+
+			if (domain[l - 1] != ']')
+				return GNKSA_RBRACKET_MISSING;
+			else
+				p = my_strndup(domain + 1, l - 2);
+
+			if (inet_pton(AF_INET6, p, &inaddr) != 1)
+				n = GNKSA_BAD_DOMAIN_LITERAL;
+			else {
+#	if 0	/* TODO: filter out link-lokal ... see IPv4 code blow */
+				wait_message(2, "IPv6 uncompressed: [%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x]",
+					inaddr.s6_addr[0],  inaddr.s6_addr[1],
+					inaddr.s6_addr[2],  inaddr.s6_addr[3],
+					inaddr.s6_addr[4],  inaddr.s6_addr[5],
+					inaddr.s6_addr[6],  inaddr.s6_addr[7],
+					inaddr.s6_addr[8],  inaddr.s6_addr[9],
+					inaddr.s6_addr[10], inaddr.s6_addr[11],
+					inaddr.s6_addr[12], inaddr.s6_addr[13],
+					inaddr.s6_addr[14], inaddr.s6_addr[15]);
+#	endif /* 0*/
+				n = GNKSA_OK;
+			}
+
+			free(p);
+            return n;
+		}
+#endif /* HAVE_INET_PTON && AF_INET6 */
+
+		if (sscanf(domain, "[%u.%u.%u.%u%c", &x1, &x2, &x3, &x4, &term) != 5)
 			return GNKSA_BAD_DOMAIN_LITERAL;
 
 		if (term != ']')
@@ -3237,9 +3441,7 @@ gnksa_check_domain_literal(
 #ifdef REQUIRE_BRACKETS_IN_DOMAIN_LITERAL
 		return GNKSA_RBRACKET_MISSING;
 #else
-		n = sscanf(domain, "%u.%u.%u.%u%c", &x1, &x2, &x3, &x4, &term);
-		/* there should be no terminating character present */
-		if (n != 4)
+		if (sscanf(domain, "%u.%u.%u.%u%c", &x1, &x2, &x3, &x4, &term) != 4)	/* there should be no terminating character present */
 			return GNKSA_BAD_DOMAIN_LITERAL;
 #endif /* REQUIRE_BRACKETS_IN_DOMAIN_LITERAL */
 	}
@@ -3249,15 +3451,21 @@ gnksa_check_domain_literal(
 		return GNKSA_BAD_DOMAIN_LITERAL;
 
 	/* check for private ip or localhost - see RFC 5735, RFC 5737 */
+	/*
+	 * TODO: as we 'abuse' disable_gnksa_domain_check to skip TLD
+	 *       checking since 20131126 as there are gazillions of new
+	 *       TLD showing up, we may reconsider NOT to skip checking
+	 *       IPs here.
+	 */
 	if ((!disable_gnksa_domain_check)
 	    && ((x1 == 0)				/* local network */
 		|| (x1 == 10)				/* private class A */
+		|| (x1 == 127)				/* loopback */
 		|| ((x1 == 172) && ((x2 & 0xf0) == 16))	/* private /12 */
 		|| ((x1 == 192) && (x2 == 168))		/* private class B */
 		|| ((x1 == 192) && (x2 == 0) && (x3 == 2)) /* TEST NET-1 */
 		|| ((x1 == 198) && (x2 == 51) && (x3 == 100)) /* TEST NET-2 */
-		|| ((x1 == 203) && (x2 == 0) && (x3 == 113)) /* TEST NET-3 */
-		|| (x1 == 127)))			/* loopback */
+		|| ((x1 == 203) && (x2 == 0) && (x3 == 113)))) /* TEST NET-3 */
 		return GNKSA_LOCAL_DOMAIN_LITERAL;
 
 	return GNKSA_OK;
@@ -3285,7 +3493,7 @@ gnksa_check_domain(
 	if ((aux = strrchr(domain, '.')) == NULL)
 		return GNKSA_SINGLE_DOMAIN;
 
-	aux++;
+	++aux;
 
 	/* check existence of toplevel domain */
 	switch ((int) strlen(aux)) {
@@ -3323,15 +3531,17 @@ gnksa_check_domain(
 			/* FALLTHROUGH */
 		default:
 			/* check for valid domains */
-			result = GNKSA_INVALID_DOMAIN;
-			for (i = 0; *gnksa_domain_list[i]; i++) {
-				if (!strcmp(aux, gnksa_domain_list[i]))
-					result = GNKSA_OK;
+			if (!disable_gnksa_domain_check) {
+				result = GNKSA_INVALID_DOMAIN;
+				for (i = 0; *gnksa_domain_list[i]; i++) {
+					if (!strcmp(aux, gnksa_domain_list[i])) {
+						result = GNKSA_OK;
+						break;
+					}
+				}
+				if (result != GNKSA_OK)
+					return result;
 			}
-			if (disable_gnksa_domain_check)
-				result = GNKSA_OK;
-			if (result != GNKSA_OK)
-				return result;
 			break;
 	}
 
@@ -3386,10 +3596,7 @@ gnksa_check_localpart(
 	for (aux = localpart; *aux; aux++) {
 		if ((*aux == '.') && (*(aux + 1) == '.'))
 			return GNKSA_ZERO_LENGTH_LOCAL_WORD;
-	}
-
-	/* check for illegal characters in FQDN */
-	for (aux = localpart; *aux; aux++) {
+		/* check for illegal characters in FQDN */
 		if (!gnksa_legal_localpart_chars[(unsigned char) *aux])
 			return GNKSA_INVALID_LOCALPART;
 	}
@@ -3408,8 +3615,7 @@ gnksa_split_from(
 	char *realname,
 	int *addrtype)
 {
-	char *addr_begin;
-	char *addr_end;
+	char *addr_begin, *addr_end, *ptr;
 	char work[HEADER_LEN];
 
 	/* init return variables */
@@ -3425,9 +3631,24 @@ gnksa_split_from(
 		return GNKSA_ATSIGN_MISSING; /* GNKSA_LPAREN_MISSING */
 	}
 
-	/* skip trailing whitespace */
-	addr_end = work + strlen(work) - 1;
+	/*
+	 * RFC5322 allows CFWS after "<" addr-spec ">"
+	 * if '>' is present, everything after it (possible comments)
+	 * is removed
+	 */
+	if ((addr_end = strrchr(work, '>'))) {
+		ptr = strrchr(work, ')');
+		if (!ptr || addr_end > ptr)
+			*(addr_end + 1) = '\0';
+
+		ptr = strrchr(work, '(');
+		if (!ptr || addr_end < ptr)
+			*(addr_end + 1) = '\0';
 
+		str_trim(work);
+	}
+
+	addr_end = work + strlen(work) - 1;
 	if (*addr_end == '>') {
 		/* route-address used */
 		*addrtype = GNKSA_ADDRTYPE_ROUTE;
@@ -3435,7 +3656,7 @@ gnksa_split_from(
 		/* get address part */
 		addr_begin = addr_end;
 		while (('<' != *addr_begin) && (addr_begin > work))
-			addr_begin--;
+			--addr_begin;
 
 		if (*addr_begin != '<') /* syntax error in mail address */
 			return GNKSA_LANGLE_MISSING;
@@ -3444,6 +3665,17 @@ gnksa_split_from(
 		/* copy route address */
 		strcpy(address, addr_begin + 1);
 
+		/*
+		 * if we allow <> as From: we must disallow <> as Message-ID,
+		 * see code in post.c:check_article_to_be_posted()
+		 */
+#if 0
+		if (!strchr(address, '@') && *address) /* check for From: without an @ but allow <> */
+#else
+		if (!strchr(address, '@')) /* check for From: without an @ */
+#endif /* 0 */
+			return GNKSA_ATSIGN_MISSING;
+
 		/* missing realname */
 		if (addr_begin == work)
 			return GNKSA_MISSING_REALNAME;
@@ -3455,18 +3687,21 @@ gnksa_split_from(
 		/* strip surrounding whitespace */
 		strip_line(addr_end);
 		while ((*addr_begin == ' ') || (*addr_begin == '\t'))
-			addr_begin++;
+			++addr_begin;
 
 #if 0	/* whitespace only realname */
 		strip_line(addr_begin);
-		if (!strlen(addr_begin))
+		if (!*addr_begin)
 			return GNKSA_WHITESPACE_REALNAME;
 		else
 #endif /* 0 */
 		/* copy realname */
 		strcpy(realname, addr_begin);
+		remove_comments(realname);
+		strip_line(realname);
 	} else {
 		size_t l;
+
 		/* old-style address used */
 		*addrtype = GNKSA_ADDRTYPE_OLDSTYLE;
 
@@ -3474,7 +3709,7 @@ gnksa_split_from(
 		/* skip leading whitespace */
 		addr_begin = work;
 		while ((*addr_begin == ' ') || (*addr_begin == '\t'))
-			addr_begin++;
+			++addr_begin;
 
 		if (*addr_begin == '<') {
 			*addrtype = GNKSA_ADDRTYPE_ROUTE;
@@ -3485,25 +3720,36 @@ gnksa_split_from(
 		l = strlen(addr_begin);
 		addr_end = addr_begin;
 
-		while ((*addr_end != ' ') && (*addr_end != '\t') && (*addr_end))
-			addr_end++;
+		while (*addr_end && (*addr_end != ' ') && (*addr_end != '\t'))
+			++addr_end;
 
 		*addr_end = '\0';
 
-		if (l == strlen(addr_begin))
-			return GNKSA_MISSING_REALNAME;
-
 		/* copy route address */
 		strcpy(address, addr_begin);
 
+		/*
+		 * if we allow <> as From: we must disallow <> as Message-ID,
+		 * see code in post.c:check_article_to_be_posted()
+		 */
+#if 0
+		if (!strchr(address, '@') && *address) /* check for From: without an @ but allow <> */
+#else
+		if (!strchr(address, '@')) /* check for From: without an @ */
+#endif /* 0 */
+			return GNKSA_ATSIGN_MISSING;
+
+		if (l == strlen(address))
+			return GNKSA_MISSING_REALNAME;
+
 		/* get realname part */
 		addr_begin = addr_end + 1;
 		addr_end = addr_begin + strlen(addr_begin) - 1;
 
 		/* strip surrounding whitespace */
 		strip_line(addr_end);
-		while ((*addr_begin == ' ') || (*addr_begin == '\t'))
-			addr_begin++;
+		while (*addr_begin == ' ' || *addr_begin == '\t')
+			++addr_begin;
 
 		/* any realname at all? */
 		if (*addr_begin) {
@@ -3514,28 +3760,20 @@ gnksa_split_from(
 			if (*addr_end != ')')
 				return GNKSA_RPAREN_MISSING;
 
+			if ((addr_end > addr_begin + 2) && *(addr_end - 1) == '\\' && *(addr_end - 2) != '\\')
+				return GNKSA_RPAREN_MISSING;
+
 			/* copy realname */
 			*addr_end = '\0';
 			strcpy(realname, addr_begin + 1);
 		}
 	}
 
-	/*
-	 * if we allow <> as From: we must disallow <> as Message-ID,
-	 * see code in post.c:check_article_to_be_posted()
-	 */
-#if 0
-	if (!strchr(address, '@') && *address) /* check for From: without an @ but allow <> */
-#else
-	if (!strchr(address, '@')) /* check for From: without an @ */
-#endif /* 0 */
-		return GNKSA_ATSIGN_MISSING;
-
 	/* split successful */
 	return GNKSA_OK;
 }
 
-
+#define GNKSA_REALNAME_ISSUES(a) ((a == GNKSA_MISSING_REALNAME || a == GNKSA_LPAREN_MISSING || a == GNKSA_RPAREN_MISSING))
 /*
  * restrictive check for valid address conforming to RFC 1036, son of RFC 1036
  * and draft-usefor-article-xx.txt
@@ -3588,16 +3826,17 @@ gnksa_do_check_from(
 #endif /* DEBUG */
 
 		if ((result = gnksa_check_domain(addr_begin)) != GNKSA_OK
-		    && (code == GNKSA_OK)) /* error detected */
+		    && (code == GNKSA_OK || GNKSA_REALNAME_ISSUES(code))) /* error detected */
 			code = result;
 
 		if ((result = gnksa_check_localpart(address)) != GNKSA_OK
-		    && (code == GNKSA_OK)) /* error detected */
+		    && (code == GNKSA_OK || GNKSA_REALNAME_ISSUES(code))) /* error detected */
 			code = result;
 
 		/* restore separator character */
 		*--addr_begin = '@';
-	}
+	} else
+		code = GNKSA_ATSIGN_MISSING;
 
 #ifdef DEBUG
 	if (debug & DEBUG_MISC)
@@ -3612,11 +3851,11 @@ gnksa_do_check_from(
 		strcpy(realname, decoded);
 
 #ifdef DEBUG
-	if (debug & DEBUG_MISC) { /* TODO: dump to a file instead of wait_message() */
+	if (debug & DEBUG_MISC) {
 		if (code != GNKSA_OK)
-			debug_print_file("GNKSA", "From:=[%s], GNKSA=[%d]", from, code);
+			debug_print_file("GNKSA", "From:=[%s], GNKSA=[%d]\n", from, code);
 		else
-			debug_print_file("GNKSA", "GNKSA=[%d]", code);
+			debug_print_file("GNKSA", "GNKSA=[%d]\n", code);
 	}
 #endif /* DEBUG */
 
@@ -3629,7 +3868,7 @@ gnksa_do_check_from(
  */
 int
 gnksa_check_from(
-	char *from)
+	const char *from)
 {
 	char address[HEADER_LEN];	/* will be initialised in gnksa_split_from() */
 	char realname[HEADER_LEN];	/* which is called by gnksa_do_check_from() */
@@ -3666,7 +3905,7 @@ strip_line(
 
 	ptr = line + strlen(line);
 	do {
-		ptr--;
+		--ptr;
 		if (*ptr == ' ' || *ptr == '\t' || *ptr == '\r' || *ptr == '\n')
 			*ptr = '\0';
 		else
@@ -3698,6 +3937,7 @@ utf8_valid(
 {
 	char *c;
 	unsigned char d, e, f, g;
+	unsigned bits;
 	int numc;
 	t_bool illegal;
 
@@ -3705,17 +3945,17 @@ utf8_valid(
 
 	while (*c != '\0') {
 		if (!(*c & 0x80)) { /* plain US-ASCII? */
-			c++;
+			++c;
 			continue;
 		}
 
 		numc = 0;
 		illegal = FALSE;
-		d = (*c & 0x7c);	/* remove bits 7,1,0 */
+		bits = (*c & 0x7c);	/* remove bits 7,1,0 */
 
 		do {
-			numc++;
-		} while ((d <<= 1) & 0x80);	/* get sequence length */
+			++numc;
+		} while ((bits <<= 1) & 0x80);	/* get sequence length */
 
 		if (c + numc > line + strlen(line)) { /* sequence runs past end of string */
 			illegal = TRUE;
@@ -3800,7 +4040,7 @@ utf8_valid(
 
 		for (d = 1; d < numc && !illegal; d++) {
 			e = (unsigned char) *(c + d);
-			if (e < 0x80 || e > 0xbf || e == '\0' || e == '\n')
+			if (e < 0x80 || e > 0xbf)
 				illegal = TRUE;
 		}
 
@@ -3812,7 +4052,7 @@ utf8_valid(
 					break;
 				if (*c & 0x80)	/* replace 'dangerous' bytes */
 					*c = '?';
-				c++;
+				++c;
 			}
 		}
 	}
@@ -3863,6 +4103,9 @@ remove_soft_hyphens(
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
 
+/*
+ * returns freshly allocated mem
+ */
 char *
 idna_decode(
 	char *in)
@@ -3875,15 +4118,49 @@ idna_decode(
 
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 	/* IDNA 2008 */
+#	if defined(HAVE_LIBIDN2)
+	{
+		char *t, *s = NULL;
+		int rs = IDN2_ICONV_FAIL;
+		size_t len;
+
+		if ((t = strrchr(out, '@')))
+			++t;
+		else
+			t = out;
+
+		len = (size_t) (t - out);
+
+		if (len && (rs = idn2_to_unicode_lzlz(t, &s, IDN2_USE_STD3_ASCII_RULES)) == IDN2_OK) {
+			char *q = my_strndup(out, len); /* local-part@ */
+
+			free(out);
+			q = append_to_string(q, s); /* domain-part */
+			FreeIfNeeded(s);
+			return q;
+		}
+#		ifdef DEBUG
+		else {
+			if (debug & DEBUG_MISC)
+				wait_message(2, "idn2_to_unicode_lzlz(%s): %s", t, idn2_strerror(rs));
+		}
+#		endif /* DEBUG */
+		/* IDNA 2008 failed, try again with IDNA 2003 if available */
+		FreeIfNeeded(s);
+		free(out);
+		out = my_strdup(in);
+	}
+#	endif /* HAVE_LIBIDN2 */
+
 #	if defined(HAVE_LIBIDNKIT) && defined(HAVE_IDN_DECODENAME)
 	{
 		idn_result_t res;
 		char *q, *r;
 
 		if ((q = strrchr(out, '@'))) {
-			q++;
+			++q;
 			if ((r = strrchr(in, '@')))
-				r++;
+				++r;
 			else { /* just to make static analyzer happy */
 				r = in;
 				q = out;
@@ -3901,6 +4178,8 @@ idna_decode(
 #		ifdef DEBUG
 		if (debug & DEBUG_MISC)
 			wait_message(2, "idn_decodename(%s): %s", r, idn_result_tostring(res));
+#		else
+		(void) res;
 #		endif /* DEBUG */
 	}
 #	endif /* HAVE_LIBIDNKIT && HAVE_IDN_DECODENAME */
@@ -3918,7 +4197,7 @@ idna_decode(
 #		endif /* HAVE_LIBICUUC_46_API */
 
 		if ((s = strrchr(out, '@')))
-			s++;
+			++s;
 		else
 			s = out;
 
@@ -3951,7 +4230,7 @@ idna_decode(
 		int rs;
 
 		if ((t = strrchr(out, '@')))
-			t++;
+			++t;
 		else
 			t = out;
 
@@ -3981,22 +4260,124 @@ idna_decode(
 }
 
 
+/*
+ * Terminates "from" at first comma that separates mailboxes
+ *
+ * Mailbox list:
+ *   From: alice@example.com (Alice A), bob@example.com (Bob B)
+ *     ->: Alice A <alice@example.com>
+ *   From: Alice A <alice@example.com>, Bob B <bob@example.com>
+ *     ->: Alice A <alice@example.com>
+ *   From: "a(,)lice"@example.com (Alice A), bob@example.com (Bob B)
+ *     ->: Alice A <"a(,)lice"@example.com>
+ * No mailbox list:
+ *   From: "Alice A., alice" <alice@example.com>
+ *   From: "Alice \" <>, alice" <"ali \" , -ce"@example.com>
+ * Broken, no mailbox list:
+ *   From: "Alice \" <>, alice" <"ali " , ce@example.com>
+ */
+char *
+split_mailbox_list(
+	char *from)
+{
+	char *ptr = from;
+	t_bool at_seen, in_quoted_str, in_quoted_pair, in_addr, in_comment;
+
+	if (!ptr)
+		return NULL;
+
+	at_seen = in_quoted_str = in_quoted_pair = in_addr = in_comment = FALSE;
+
+	while (*ptr) {
+		switch (*ptr) {
+			case '\\':
+				in_quoted_pair = bool_not(in_quoted_pair);
+				break;
+
+			case '"':
+				if (!in_comment && !in_quoted_pair)
+					in_quoted_str = bool_not(in_quoted_str);
+				else
+					in_quoted_pair = FALSE;
+				break;
+
+			case '<':
+				if (!in_quoted_pair && !in_comment && !in_quoted_str)
+					in_addr = TRUE;
+				else
+					in_quoted_pair = FALSE;
+				break;
+
+			case '>':
+				if (!in_quoted_pair && !in_comment && !in_quoted_str)
+					in_addr = FALSE;
+				else
+					in_quoted_pair = FALSE;
+				break;
+
+			case '(':
+				if (!in_addr && !in_quoted_pair && !in_quoted_str)
+					in_comment = TRUE;
+				else
+					in_quoted_pair = FALSE;
+				break;
+
+			case ')':
+				if (!in_addr && !in_quoted_pair && !in_quoted_str)
+					in_comment = FALSE;
+				else
+					in_quoted_pair = FALSE;
+				break;
+
+			case '@':
+				if (!in_quoted_pair && !in_comment && !in_quoted_str)
+					at_seen = TRUE;
+				else
+					in_quoted_pair = FALSE;
+				break;
+
+			case ',':
+				if (at_seen && !(in_quoted_pair || in_quoted_str || in_addr || in_comment)) {
+					*ptr = '\0';
+					return *++ptr ? ptr : NULL;
+				}
+				break;
+
+			default:
+				in_quoted_pair = FALSE;
+				break;
+		}
+		++ptr;
+	}
+	return NULL;
+}
+
+
 int
 tin_version_info(
-	FILE *fp)
+	FILE *fp,
+	int verb)
 {
 	int wlines = 0;	/* written lines */
-#ifdef HAVE_LIB_PCRE2
+#ifndef REPRODUCIBLE_BUILD
+#	ifdef HAVE_LIB_PCRE2
 	char *pcre2_version = NULL;
 	int pcre2_version_length;
-#endif /* HAVE_LIB_PCRE2 */
+#	endif /* HAVE_LIB_PCRE2 */
+#	ifdef HAVE_LIBICUUC
+	UVersionInfo version;
+	char buf[U_MAX_VERSION_STRING_LENGTH + 1];
+#	endif /* HAVE_LIBICUUC */
+#else
+	(void) verb;
+#endif /* REPRODUCIBLE_BUILD */
 
 	fprintf(fp, _(txt_tin_version), PRODUCT, VERSION, RELEASEDATE, RELEASENAME);
-#if defined(__DATE__) && defined(__TIME__)
+#if defined(__DATE__) && defined(__TIME__) && !defined(REPRODUCIBLE_BUILD)
 	fprintf(fp, " %s %s", __DATE__, __TIME__);
-#endif /* __DATE__ && __TIME__ */
+#endif /* __DATE__ && __TIME__ && !REPRODUCIBLE_BUILD */
 	fprintf(fp, "\n");
-	wlines++;
+	++wlines;
 
 #ifdef SYSTEM_NAME
 	fprintf(fp, "Platform:\n");
@@ -4008,263 +4389,358 @@ tin_version_info(
 	fprintf(fp, "Compiler:\n");
 	fprintf(fp, "\tCC       = \"%s\"\n", TIN_CC);
 	wlines += 2;
-#	ifdef TIN_CFLAGS
+#	if defined(TIN_CFLAGS) && !defined(REPRODUCIBLE_BUILD)
+	if (verb) {
 		fprintf(fp, "\tCFLAGS   = \"%s\"\n", TIN_CFLAGS);
-		wlines++;
-#	endif /* TIN_CFLAGS */
+		++wlines;
+	}
+#	endif /* TIN_CFLAGS && !REPRODUCIBLE_BUILD */
 #	ifdef TIN_CPP
 		fprintf(fp, "\tCPP      = \"%s\"\n", TIN_CPP);
-		wlines++;
+		++wlines;
 #	endif /* TIN_CPP */
-#	ifdef TIN_CPPFLAGS
+#	if defined(TIN_CFLAGS) && !defined(REPRODUCIBLE_BUILD)
+	if (verb) {
 		fprintf(fp, "\tCPPFLAGS = \"%s\"\n", TIN_CPPFLAGS);
-		wlines++;
-#	endif /* TIN_CPPFLAGS */
+		++wlines;
+	}
+#	endif /* TIN_CPPFLAGS && !REPRODUCIBLE_BUILD */
 #endif /* TIN_CC */
 
 #ifdef TIN_LD
 	fprintf(fp, "Linker and Libraries:\n");
 	fprintf(fp, "\tLD       = \"%s\"\n", TIN_LD);
 	wlines += 2;
-#	ifdef TIN_LDFLAGS
+#	if defined(TIN_LDFLAGS) && !defined(REPRODUCIBLE_BUILD)
+	if (verb) {
 		fprintf(fp, "\tLDFLAGS  = \"%s\"\n", TIN_LDFLAGS);
-		wlines++;
-#	endif /* TIN_LDFLAGS */
+		++wlines;
+	}
+#	endif /* TIN_LDFLAGS && !REPRODUCIBLE_BUILD */
 #	ifdef TIN_LIBS
 		fprintf(fp, "\tLIBS     = \"%s\"\n", TIN_LIBS);
-		wlines++;
+		++wlines;
 #	endif /* TIN_LIBS */
 #endif /* TIN_LD */
-#ifdef NNTPS_ABLE
-#	ifdef HAVE_LIB_LIBTLS
-				fprintf(fp, "\tTLS      = \"LibreSSL %d\"\n", TLS_API);
+
+#ifndef REPRODUCIBLE_BUILD
+	if (verb) {
+#	ifdef NNTPS_ABLE
+#		ifdef HAVE_LIB_LIBTLS
+		fprintf(fp, "\tTLS      = \"LibreSSL %d\"\n", TLS_API);
+#		else
+#			ifdef HAVE_LIB_OPENSSL
+		fprintf(fp, "\tTLS      = \"%s\"\n", OpenSSL_version(OPENSSL_VERSION));
+#			else
+#				ifdef HAVE_LIB_GNUTLS
+		fprintf(fp, "\tTLS      = \"GnuTLS %s\"\n", gnutls_check_version(NULL));
+#				endif /* HAVE_LIB_GNUTLS */
+#			endif /* HAVE_LIB_OPENSSL */
+#		endif /* HAVE_LIB_LIBTLS */
+		++wlines;
+#	endif /* NNTPS_ABLE */
+
+#	ifdef HAVE_LIB_PCRE2
+		pcre2_version_length = pcre2_config_8(PCRE2_CONFIG_VERSION, NULL);
+		if (pcre2_version_length > 0) {
+			pcre2_version = my_malloc(pcre2_version_length);
+			(void) pcre2_config_8(PCRE2_CONFIG_VERSION, pcre2_version);
+		}
+		fprintf(fp, "\tPCRE2    = \"%s\"\n", pcre2_version ? pcre2_version : txt_unknown);
+		FreeIfNeeded(pcre2_version);
 #	else
-#		ifdef HAVE_LIB_OPENSSL
-				fprintf(fp, "\tTLS      = \"%s\"\n", OpenSSL_version(OPENSSL_VERSION));
+		fprintf(fp, "\tPCRE     = \"%s\"\n", pcre_version());
+#	endif /* HAVE_LIB_PCRE2 */
+		++wlines;
+
+#	ifdef USE_CURSES
+#		ifdef HAVE_CURSES_VERSION
+		fprintf(fp, "\tCURSES   = \"%s\"\n", curses_version());
+		++wlines;
 #		else
-#			ifdef HAVE_LIB_GNUTLS
-				fprintf(fp, "\tTLS      = \"GnuTLS %s\"\n", gnutls_check_version(NULL));
-#			endif /* HAVE_LIB_GNUTLS */
-#		endif /* HAVE_LIB_OPENSSL */
-#	endif /* HAVE_LIB_LIBTLS */
-	wlines++;
-#endif /* NNTPS_ABLE */
-#ifdef HAVE_LIB_PCRE2
-	pcre2_version_length = pcre2_config_8(PCRE2_CONFIG_VERSION, NULL);
-	if (pcre2_version_length > 0) {
-		pcre2_version = my_malloc(pcre2_version_length);
-		(void) pcre2_config_8(PCRE2_CONFIG_VERSION, pcre2_version);
-	}
-	fprintf(fp, "\tPCRE     = \"%s\"\n", pcre2_version ? pcre2_version : "unknown");
-	FreeIfNeeded(pcre2_version);
-#else
-	fprintf(fp, "\tPCRE     = \"%s\"\n", pcre_version());
-#endif /* HAVE_LIB_PCRE2 */
-	wlines++;
+#			if defined(NCURSES_VERSION_MAJOR) && NCURSES_VERSION_MAJOR < 5
+		fprintf(fp, "\tCURSES   = \"ncurses %s\"\n", NCURSES_VERSION);
+		++wlines;
+#			endif /* NCURSES_VERSION_MAJOR && NCURSES_VERSION_MAJOR < 5*/
+#			if defined(PDCURSES) && defined(PDC_VERDOT)
+		fprintf(fp, "\tCURSES   = \"PDCurses %s\"\n", PDC_VERDOT);
+		++wlines;
+#			endif /* PDCURSES && PDC_VERDOT */
+#		endif /* HAVE_CURSES_VERSION */
+#	endif /* USE_CURSES */
+
+#	ifdef USE_GSASL
+		fprintf(fp, "\tGNU SASL = \"%s\"\n", gsasl_check_version(NULL));
+		++wlines;
+#	endif /* USE_GSASL */
+
+#	ifdef HAVE_LIBICUUC
+		u_getVersion(version);
+		u_versionToString(version, buf);
+		fprintf(fp, "\tICU      = \"%s", buf);
+#		ifdef USE_ICU_UCSDET
+		u_getUnicodeVersion(version);
+		u_versionToString(version, buf);
+		fprintf(fp, " (Unicode %s)", buf);
+#		endif /* USE_ICU_UCSDET */
+		fprintf(fp, "\"\n");
+		++wlines;
+#	endif /* HAVE_LIBICUUC */
+
+#	if defined(HAVE_LIBUNISTRING) && defined(HAVE_UNISTRING_VERSION_H) && (_LIBUNISTRING_VERSION > 0x000009)
+		fprintf(fp, "\tUNISTRING= \"%d.%d.%d\"\n", (_LIBUNISTRING_VERSION & 0xff0000) >> 16, (_LIBUNISTRING_VERSION & 0x00ff00) >> 8, _LIBUNISTRING_VERSION & 0x0000ff);
+		++wlines;
+#	endif /* HAVE_LIBUNISTRING && HAVE_UNISTRING_VERSION_H && _LIBUNISTRING_VERSION > 0x000009 */
+
+#	if defined(HAVE_LIBIDNKIT) && defined (HAVE_IDN_VERSION_H)
+		fprintf(fp, "\tIDNKIT   = \"%s\"\n", idn_version_libidn());
+		++wlines;
+#	endif /* HAVE_LIBIDNKIT && HAVE_IDN_VERSION_H */
+
+#	if defined(HAVE_LIBIDN2) && defined(IDN2_VERSION)
+		fprintf(fp, "\tIDN2     = \"%s\"\n", IDN2_VERSION);
+		++wlines;
+#	endif /* HAVE_LIBIDN2 && IDN2_VERSION */
+
+#	if defined(HAVE_LIBIDN) && defined(HAVE_STRINGPREP_H)
+		fprintf(fp, "\tIDN      = \"%s\"\n", stringprep_check_version("0.3.0"));
+		++wlines;
+#	endif /* HAVE_LIBIDN && HAVE_STRINGPREP_H */
+
+#	ifdef USE_ZLIB
+		fprintf(fp, "\tZLIB     = \"%s\"\n", ZLIB_VERSION);
+		++wlines;
+#	endif /* USE_ZLIB */
+#	ifdef HAVE_LIBURIPARSER
+		fprintf(fp, "\tURIPARSER= \"%s\"\n", URI_VER_ANSI);
+		++wlines;
+#	endif /* HAVE_LIBURIPARSER */
+#	if defined(USE_CANLOCK) && defined(CL_API_MAJOR) && defined(CL_API_MINOR)
+		fprintf(fp, "\tCANLOCK  = \"%d.%d\"\n", CL_API_MAJOR, CL_API_MINOR);
+		++wlines;
+#	endif /* USE_CANLOCK && CL_API_MAJOR && CL_API_MINOR */
+	}
+#endif /* REPRODUCIBLE_BUILD */
 
 	fprintf(fp, "Characteristics:\n\t"
 /* TODO: complete list and do some useful grouping; show only in -vV case? */
 #ifdef DEBUG
-			"+DEBUG "
+			"+DEBUG"
 #else
-			"-DEBUG "
+			"-DEBUG"
 #endif /* DEBUG */
 #ifdef NNTP_ONLY
 #	ifdef NNTPS_ABLE
-			"+NNTP(S)_ONLY "
+			" +NNTP(S)_ONLY"
 #	else
-			"+NNTP_ONLY "
+			" +NNTP_ONLY"
 #	endif /* NNTPS_ABLE */
 #else
 #	ifdef NNTP_ABLE
-			"+NNTP_ABLE "
 #		ifdef NNTPS_ABLE
-			"+NNTPS_ABLE "
+			" +NNTP(S)_ABLE"
 #		else
-			"-NNTPS_ABLE "
+			" +NNTP_ABLE -NNTPS_ABLE"
 #		endif /* NNTPS_ABLE */
 #	else
-			"-NNTP_ABLE "
+			" -NNTP_ABLE"
 #	endif /* NNTP_ABLE */
 #endif /* NNTP_ONLY */
 #ifdef USE_ZLIB
-			"+USE_ZLIB "
+			" +USE_ZLIB"
 #else
-			"-USE_ZLIB "
+			" -USE_ZLIB"
 #endif /* USE_ZLIB */
 #ifdef NO_POSTING
-			"+NO_POSTING "
+			" +NO_POSTING"
 #else
-			"-NO_POSTING "
+			" -NO_POSTING"
 #endif /* NO_POSTING */
 #ifdef BROKEN_LISTGROUP
-			"+BROKEN_LISTGROUP "
+			" +BROKEN_LISTGROUP"
 #else
-			"-BROKEN_LISTGROUP "
+			" -BROKEN_LISTGROUP"
 #endif /* BROKEN_LISTGROUP */
+			"\n\t"
 #ifdef XHDR_XREF
 			"+XHDR_XREF"
 #else
 			"-XHDR_XREF"
 #endif /* XHDR_XREF */
-			"\n\t"
 #ifdef HAVE_FASCIST_NEWSADMIN
-			"+HAVE_FASCIST_NEWSADMIN "
+			" +HAVE_FASCIST_NEWSADMIN"
 #else
-			"-HAVE_FASCIST_NEWSADMIN "
+			" -HAVE_FASCIST_NEWSADMIN"
 #endif /* HAVE_FASCIST_NEWSADMIN */
 #ifdef ENABLE_IPV6
-			"+ENABLE_IPV6 "
+			" +ENABLE_IPV6"
 #else
-			"-ENABLE_IPV6 "
+			" -ENABLE_IPV6"
 #endif /* ENABLE_IPV6 */
 #ifdef HAVE_COREFILE
-			"+HAVE_COREFILE"
+			" +HAVE_COREFILE"
 #else
-			"-HAVE_COREFILE"
+			" -HAVE_COREFILE"
 #endif /* HAVE_COREFILE */
+#ifdef SOCKS
+#	ifdef USE_SOCKS5
+		"  +USE_SOCKS5"
+#	else
+		"  +SOCKS"
+#	endif /* USE_SOCKS5 */
+#endif /* SOCKS */
 			"\n\t"
 #ifdef NO_SHELL_ESCAPE
-			"+NO_SHELL_ESCAPE "
+			"+NO_SHELL_ESCAPE"
 #else
-			"-NO_SHELL_ESCAPE "
+			"-NO_SHELL_ESCAPE"
 #endif /* NO_SHELL_ESCAPE */
 #ifdef DISABLE_PRINTING
-			"+DISABLE_PRINTING "
+			" +DISABLE_PRINTING"
 #else
-			"-DISABLE_PRINTING "
+			" -DISABLE_PRINTING"
 #endif /* DISABLE_PRINTING */
 #ifdef DONT_HAVE_PIPING
-			"+DONT_HAVE_PIPING "
+			" +DONT_HAVE_PIPING"
 #else
-			"-DONT_HAVE_PIPING "
+			" -DONT_HAVE_PIPING"
 #endif /* DONT_HAVE_PIPING */
 #ifdef NO_ETIQUETTE
-			"+NO_ETIQUETTE"
+			" +NO_ETIQUETTE"
 #else
-			"-NO_ETIQUETTE"
+			" -NO_ETIQUETTE"
 #endif /* NO_ETIQUETTE */
 			"\n\t"
 #ifdef HAVE_LONG_FILE_NAMES
-			"+HAVE_LONG_FILE_NAMES "
+			"+HAVE_LONG_FILE_NAMES"
 #else
-			"-HAVE_LONG_FILE_NAMES "
+			"-HAVE_LONG_FILE_NAMES"
 #endif /* HAVE_LONG_FILE_NAMES */
 #ifdef APPEND_PID
-			"+APPEND_PID "
+			" +APPEND_PID"
 #else
-			"-APPEND_PID "
+			" -APPEND_PID"
 #endif /* APPEND_PID */
 #ifdef HAVE_MH_MAIL_HANDLING
-			"+HAVE_MH_MAIL_HANDLING"
+			" +HAVE_MH_MAIL_HANDLING"
 #else
-			"-HAVE_MH_MAIL_HANDLING"
+			" -HAVE_MH_MAIL_HANDLING"
 #endif /* HAVE_MH_MAIL_HANDLING */
+#ifdef HAVE_COLOR
+			" +HAVE_COLOR"
+#else
+			" -HAVE_COLOR"
+#endif /* HAVE_COLOR */
 			"\n\t"
 #ifdef HAVE_ISPELL
-			"+HAVE_ISPELL "
+			"+HAVE_ISPELL"
 #else
-			"-HAVE_ISPELL "
+			"-HAVE_ISPELL"
 #endif /* HAVE_ISPELL */
 #ifdef HAVE_METAMAIL
-			"+HAVE_METAMAIL "
+			" +HAVE_METAMAIL"
 #else
-			"-HAVE_METAMAIL "
+			" -HAVE_METAMAIL"
 #endif /* HAVE_METAMAIL */
-#ifdef HAVE_SUM
-			"+HAVE_SUM"
-#else
-			"-HAVE_SUM"
-#endif /* HAVE_SUM */
-			"\n\t"
-#ifdef HAVE_COLOR
-			"+HAVE_COLOR "
-#else
-			"-HAVE_COLOR "
-#endif /* HAVE_COLOR */
 #ifdef HAVE_PGP
-			"+HAVE_PGP "
+			" +HAVE_PGP"
 #else
-			"-HAVE_PGP "
+			" -HAVE_PGP"
 #endif /* HAVE_PGP */
 #ifdef HAVE_PGPK
-			"+HAVE_PGPK "
+			" +HAVE_PGPK"
 #else
-			"-HAVE_PGPK "
+			" -HAVE_PGPK"
 #endif /* HAVE_PGPK */
 #ifdef HAVE_GPG
-			"+HAVE_GPG"
+			" +HAVE_GPG"
 #else
-			"-HAVE_GPG"
+			" -HAVE_GPG"
 #endif /* HAVE_GPG */
 			"\n\t"
 #ifdef MIME_BREAK_LONG_LINES
-			"+MIME_BREAK_LONG_LINES "
+			"+MIME_BREAK_LONG_LINES"
 #else
-			"-MIME_BREAK_LONG_LINES "
+			"-MIME_BREAK_LONG_LINES"
 #endif /* MIME_BREAK_LONG_LINES */
 #ifdef MIME_STRICT_CHARSET
-			"+MIME_STRICT_CHARSET "
+			" +MIME_STRICT_CHARSET"
 #else
-			"-MIME_STRICT_CHARSET "
+			" -MIME_STRICT_CHARSET"
 #endif /* MIME_STRICT_CHARSET */
+			"\n\t"
 #ifdef CHARSET_CONVERSION
-			"+CHARSET_CONVERSION"
+			"+CHARSET_CONVERSION_{"
+#	ifdef CHARSET_CONVERSION_ICONV
+			"ICONV"
+#		ifdef CHARSET_CONVERSION_UCNV
+			","
+#		endif /* CHARSET_CONVERSION_UCNV */
+#	endif /* CHARSET_CONVERSION_ICONV */
+#	ifdef CHARSET_CONVERSION_UCNV
+			"UCNV"
+#	endif /* CHARSET_CONVERSION_UCNV */
+			"}"
 #else
 			"-CHARSET_CONVERSION"
 #endif /* CHARSET_CONVERSION */
-			"\n\t"
 #ifdef MULTIBYTE_ABLE
-			"+MULTIBYTE_ABLE "
+			" +MULTIBYTE_ABLE"
 #else
-			"-MULTIBYTE_ABLE "
+			" -MULTIBYTE_ABLE"
 #endif /* MULTIBYTE_ABLE */
 #ifdef NO_LOCALE
-			"+NO_LOCALE "
+			" +NO_LOCALE"
 #else
-			"-NO_LOCALE "
+			" -NO_LOCALE"
 #endif /* NO_LOCALE */
+			"\n\t"
+#ifdef USE_ICU_UCSDET
+			"+USE_ICU_UCSDET"
+#else
+			"-USE_ICU_UCSDET"
+#endif /* USE_ICU_UCSDET */
 #ifdef USE_LONG_ARTICLE_NUMBERS
-			"+USE_LONG_ARTICLE_NUMBERS"
+			" +USE_LONG_ARTICLE_NUMBERS"
 #else
-			"-USE_LONG_ARTICLE_NUMBERS"
+			" -USE_LONG_ARTICLE_NUMBERS"
 #endif /* USE_LONG_ARTICLE_NUMBERS */
 			"\n\t"
 #ifdef USE_CANLOCK
-			"+USE_CANLOCK "
+			"+USE_CANLOCK"
 #else
-			"-USE_CANLOCK "
+			"-USE_CANLOCK"
 #endif /* USE_CANLOCK */
 #ifdef EVIL_INSIDE
-			"+EVIL_INSIDE "
+			" +EVIL_INSIDE"
 #else
-			"-EVIL_INSIDE "
+			" -EVIL_INSIDE"
 #endif /* EVIL_INSIDE */
 #ifdef FORGERY
-			"+FORGERY "
+			" +FORGERY"
 #else
-			"-FORGERY "
+			" -FORGERY"
 #endif /* FORGERY */
 #ifdef TINC_DNS
-			"+TINC_DNS "
+			" +TINC_DNS"
 #else
-			"-TINC_DNS "
+			" -TINC_DNS"
 #endif /* TINC_DNS */
 #ifdef ENFORCE_RFC1034
-			"+ENFORCE_RFC1034"
+			" +ENFORCE_RFC1034"
 #else
-			"-ENFORCE_RFC1034"
+			" -ENFORCE_RFC1034"
 #endif /* ENFORCE_RFC1034 */
 			"\n\t"
 #ifdef REQUIRE_BRACKETS_IN_DOMAIN_LITERAL
-			"+REQUIRE_BRACKETS_IN_DOMAIN_LITERAL "
+			"+REQUIRE_BRACKETS_IN_DOMAIN_LITERAL"
 #else
-			"-REQUIRE_BRACKETS_IN_DOMAIN_LITERAL "
+			"-REQUIRE_BRACKETS_IN_DOMAIN_LITERAL"
 #endif /* REQUIRE_BRACKETS_IN_DOMAIN_LITERAL */
 #ifdef ALLOW_FWS_IN_NEWSGROUPLIST
-			"+ALLOW_FWS_IN_NEWSGROUPLIST"
+			" +ALLOW_FWS_IN_NEWSGROUPLIST"
 #else
-			"-ALLOW_FWS_IN_NEWSGROUPLIST"
+			" -ALLOW_FWS_IN_NEWSGROUPLIST"
 #endif /* ALLOW_FWS_IN_NEWSGROUPLIST */
 			"\n");
 	wlines += 11;
@@ -4369,7 +4845,7 @@ show_connection_page(
 {
 	FILE *fp;
 
-	if (!(fp = tmpfile()))
+	if (!(fp = my_tmpfile()))
 		return;
 
 	make_connection_page(fp);
@@ -4379,11 +4855,6 @@ show_connection_page(
 }
 
 
-/*
- * TODO:
- * - detected NNTP features
- * - connection type (IPv4 vs IPv6), remote IP, ...
- */
 static void
 make_connection_page(
 	FILE *fp)
@@ -4411,23 +4882,26 @@ make_connection_page(
 #			endif /* HAVE_LIB_OPENSSL */
 #		endif /* HAVE_LIB_LIBTLS */
 			} else
-#	else
-			{
 #	endif /* NNTPS_ABLE */
 			{
 				fprintf(fp, _(txt_conninfo_nntp), can_post ? _(txt_conninfo_rw) : _(txt_conninfo_ro));
+				if (!can_post && !*domain_name)
+					fprintf(fp, "%s\n", _(txt_error_no_domain_name));
 			}
 
 			(void) nntp_conninfo(fp);
+#	if defined(NNTPS_ABLE)
 		}
+#	endif /* NNTPS_ABLE */
 #endif /* NNTP_ABLE */
 	}
+
 #ifndef NNTP_ONLY
 	if (!read_news_via_nntp && !read_saved_news) {
 		fprintf(fp, "%s", txt_conninfo_spool_config);
 		fprintf(fp, txt_conninfo_spooldir, spooldir);
 		fprintf(fp, txt_conninfo_novrootdir, novrootdir);
-		fprintf(fp, txt_conninfo_overview_file, novfilename);
+		fprintf(fp, txt_conninfo_overview_file, novfilename); /* TODO: shows wrong name if using inn >= 2.3.0 nov-style */
 		fprintf(fp, txt_conninfo_overview_fmt, overviewfmt_file);
 		fprintf(fp, txt_conninfo_newsgroups_file, newsgroups_file);
 		fprintf(fp, txt_conninfo_active_file, news_active_file);
@@ -4435,23 +4909,290 @@ make_connection_page(
 		fprintf(fp, txt_conninfo_subscriptions_file, subscriptions_file);
 	}
 #endif /* !NNTP_ONLY */
+
+	fprintf(fp, "%s", _(txt_conninfo_conf_files));
+	fprintf(fp, "tin.defaults       : %s\n", global_defaults_file);
+
+	fprintf(fp, "attributes (local) : %s\n", local_attributes_file);
+	if (*global_attributes_file)
+		fprintf(fp, "attributes (global): %s\n", global_attributes_file);
+
+	fprintf(fp, "tinrc (local)      : %s\n", local_config_file);
+	if (*global_config_file)
+		fprintf(fp, "tinrc (global)     : %s\n", global_config_file);
+
+	fprintf(fp, "filter             : %s\n", filter_file);
+
+	if (*keymap_file)
+		fprintf(fp, "keymap             : %s\n", keymap_file);
+
+	/* non conf files/dirs */
+	fprintf(fp, "\n");
+	fprintf(fp, ".newsrc            : %s\n", newsrc);
+
+	if (tinrc.cache_overview_files)
+		fprintf(fp, "local overviews    : %s\n", index_newsdir);
 }
 
 
 /*
- * restrict it to [a-zA-Z0-9_-]+
+ * pseudo random number generator
+ * range 0 to INT_MAX (=RAND_MAX)
+ * seed with srndm(void)
  */
-const char *
-validate_charset(
-	const char *charset)
+int
+rndm(
+	void)
 {
-	const char *c = charset;
+#ifdef HAVE_ARC4RANDOM_UNIFORM
+	return (int) (arc4random_uniform(INT_MAX));
+#else
+#	ifdef HAVE_LRAND48
+	return (int) (lrand48() & INT_MAX);
+#	else
+#		ifdef HAVE_RANDOM
+	return (int) (random() & INT_MAX);
+#		else
+	return rand();
+#		endif /* HAVE_RANDOM */
+#	endif /* HAVE_LRAND48 */
+#endif /* HAVE_ARC4RANDOM_UNIFORM */
+}
 
-	while (*c) {
-		if (*c < 45 || *c > 122 || *c == 46 || *c == 47 || (*c >= 58 && *c <= 64) || (*c >= 91 && *c <= 94) || *c == 96)
-			return NULL;
 
-		c++;
+/* seed rndm() */
+void
+srndm(
+	void)
+{
+#ifdef HAVE_ARC4RANDOM_UNIFORM
+	(void) 0;
+#else
+	time_t t;
+
+	if ((t = time(NULL)) == (time_t) -1)
+		t = (time_t) getpid();
+	else {
+		if (t >= 1041379200) /* 2003-01-01 00:00:00 GMT */
+			t -= 1041379200;
+	}
+#	ifdef HAVE_LRAND48
+	srand48(t);
+#	else
+#		ifdef HAVE_RANDOM
+	srandom((unsigned int) t);
+#		else
+	srand((unsigned int) t);
+#		endif /* HAVE_RANDOM */
+#	endif /* HAVE_LRAND48 */
+#endif /* HAVE_ARC4RANDOM_UNIFORM */
+}
+
+
+/*
+ * opens pathname with mode if it is S_IFREG or S_IFLNK
+ * if mode is "r[b]" (read only) its size needs to be > 0L
+ * returns FILE* on success or NULL on failure
+ * if NULL is returned and errno is 0, it either had a zero size
+ * or was neither S_IFDIR, S_IFLNK or S_IFREG.
+ *
+ * TODO: do something on EISDIR
+ */
+FILE *
+tin_fopen(
+	const char *pathname,
+	const char *mode)
+{
+	FILE *fp;
+	int serrno = 0;
+	struct stat st;
+
+	if (!*pathname || !*mode) {
+		serrno = EINVAL;
+		goto out;
+	}
+
+	if ((fp = fopen(pathname, mode)) != NULL) {
+		if (fstat(fileno(fp), &st) != -1) {
+			if (S_ISDIR(st.st_mode))
+				serrno = errno = EISDIR;
+			else {
+				if (st.st_mode & (S_IFREG | S_IFLNK)) {
+					if (mode[0] == 'r' && (mode[1] == '\0' || (mode[1] == 'b' && mode[2] == '\0')) && st.st_size <= 0L) {
+#ifdef DEBUG
+						if (debug & DEBUG_MISC)
+							error_message(2, "Skipping empty file: %s", pathname);
+#endif /* DEBUG */
+					} else
+						return fp;
+				} else
+					serrno = errno;
+			}
+		} else
+			serrno = errno;
+
+		if (fclose(fp) != 0) {
+			if (!serrno)
+				serrno = errno;
+		}
+	} else
+		serrno = errno;
+
+out:
+	errno = serrno;
+	switch (errno) {
+		case 0:
+			break;
+
+		case ENOENT: /* a missing file is usually ok */
+#ifdef DEBUG
+			if (debug & DEBUG_MISC)
+				perror_message(_(txt_cannot_open), pathname);
+#endif /* DEBUG */
+			break;
+
+		case EISDIR:
+			/*
+			 * TODO: issue an error message here
+			 *       this requires some rework elsewhere in the
+			 *       code, i.e. "-f /tmp/isdir" would
+			 *       lead to multiple messages, most of them
+			 *       may confuse the user. at least
+			 *       put the  _(txt_reading_* message
+			 *       before the tin_fopen call.
+			 */
+#ifdef DEBUG
+			if (debug & DEBUG_MISC)
+				perror_message("Error: tin_fopen(%s)", pathname);
+#endif /* DEBUG */
+			break;
+
+		default:
+			perror_message(_(txt_cannot_open), BlankIfNull(pathname));
+			break;
 	}
-	return charset;
+	return NULL;
 }
+
+
+#ifdef CHARSET_CONVERSION
+#	ifdef CHARSET_CONVERSION_UCNV
+#		if defined(DEBUG) && defined(DEBUG_UCNV)
+#			include <unicode/errorcode.h>
+#		endif /* DEBUG && DEBUG_UCNV */
+/*
+ * converts **input of max-length *input_size *from charset *to charset
+ * may reallocate **input and updateinput_size accordingly
+ * returns FALSE on error and TRUE otherwise
+ */
+static t_bool
+tin_ucnv_buffer_to_local(
+	char **line,
+	size_t *max_line_len,
+	const char *from_charset,
+	const char *to_charset)
+{
+	UErrorCode err = U_ZERO_ERROR;
+	UConverter *to_conv, *from_conv;
+	UChar *unicode_buffer;
+	char *output_buffer;
+	char *p;
+	const char subc[] = { 0x3f }; /* hardcoded '?' replacement char */
+	int quest = 0; /* input/output number of '?' to detect substitutions */
+	size_t unicode_length, output_length, ilen;
+
+	from_conv = ucnv_open(from_charset, &err);
+	if (U_FAILURE(err)) {
+#if defined(DEBUG) && defined(DEBUG_UCNV)
+		wait_message(2, "UCNV: %s (%s:%d) %s [-> %s]", u_errorName(err), __FILE__, __LINE__, from_charset, to_charset);
+#endif /* DEBUG && DEBUG_UCNV */
+		return FALSE;
+	}
+
+	to_conv = ucnv_open(to_charset, &err);
+	if (U_FAILURE(err)) {
+#if defined(DEBUG) && defined(DEBUG_UCNV)
+		wait_message(2, "UCNV: %s (%s:%d) [%s ->] %s", u_errorName(err), __FILE__, __LINE__, from_charset, to_charset);
+#endif /* DEBUG && DEBUG_UCNV */
+		ucnv_close(from_conv);
+		return FALSE;
+	}
+
+	ucnv_setSubstChars(from_conv, subc, 1, &err); /* switch to ucnv_setSubstString()? */
+
+	ilen = *max_line_len;
+	unicode_buffer = my_calloc(ilen, sizeof(UChar));
+
+	p = *line;
+	while ((p = strchr(p, '?')) != NULL) { /* count input questionmarks */
+		--quest;
+		++p;
+	}
+
+	do {
+		ucnv_reset(from_conv);
+		err = U_ZERO_ERROR;
+		unicode_length = ucnv_toUChars(from_conv, unicode_buffer, ilen, *line, strlen(*line), &err);
+		if (err == U_BUFFER_OVERFLOW_ERROR) {
+			ilen = unicode_length + 1;
+			free(unicode_buffer);
+			unicode_buffer = my_calloc(ilen, sizeof(UChar));
+		}
+	} while (err == U_BUFFER_OVERFLOW_ERROR);
+
+	if (U_FAILURE(err)) {
+#if defined(DEBUG) && defined(DEBUG_UCNV)
+		wait_message(2, "UCNV: %s (%s:%d) %s [-> UChar]", u_errorName(err), __FILE__, __LINE__, from_charset);
+#endif /* DEBUG && DEBUG_UCNV */
+		ucnv_close(from_conv);
+		ucnv_close(to_conv);
+		free(unicode_buffer);
+		return FALSE;
+	}
+
+	ucnv_setSubstChars(to_conv, subc, 1, &err); /* switch to ucnv_setSubstString()? */
+
+	ilen = *max_line_len;
+	output_buffer = my_calloc(ilen, sizeof(UChar));
+	do {
+		ucnv_reset(to_conv);
+		err = U_ZERO_ERROR;
+		output_length = ucnv_fromUChars(to_conv, output_buffer, ilen, unicode_buffer, unicode_length, &err);
+		if (err == U_BUFFER_OVERFLOW_ERROR) {
+			ilen = output_length + 1;
+			free(output_buffer);
+			output_buffer = my_calloc(ilen, sizeof(UChar));
+		}
+	} while (err == U_BUFFER_OVERFLOW_ERROR);
+
+	p = output_buffer;
+	while ((p = strchr(p, '?')) != NULL) { /* count output questionmarks */
+		++quest;
+		++p;
+	}
+
+	if (U_FAILURE(err)) {
+#if defined(DEBUG) && defined(DEBUG_UCNV)
+		wait_message(2, "UCNV: %s (%s:%d) [UChar ->] %s", u_errorName(err), __FILE__, __LINE__, to_charset);
+#endif /* DEBUG && DEBUG_UCNV */
+		ucnv_close(from_conv);
+		ucnv_close(to_conv);
+		free(unicode_buffer);
+		free(output_buffer);
+		return FALSE;
+	}
+
+	/* copy result */
+	free(*line);
+	*line = strdup(output_buffer);
+	*max_line_len = strlen(output_buffer);
+
+	/* cleanup */
+	ucnv_close(from_conv);
+	ucnv_close(to_conv);
+	free(unicode_buffer);
+	free(output_buffer);
+	return (quest == 0); /* was there a substitution? */
+}
+#	endif /* CHARSET_CONVERSION_UCNV */
+#endif /* CHARSET_CONVERSION */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/my_tmpfile.c tin-2.6.4/src/my_tmpfile.c
--- tin-2.6.3/src/my_tmpfile.c	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/my_tmpfile.c	2024-12-03 09:07:04.040351108 +0100
@@ -3,10 +3,10 @@
  *  Module    : my_tmpfile.c
  *  Author    : Urs Janssen <urs@tin.org>
  *  Created   : 2001-03-11
- *  Updated   : 2022-02-19
+ *  Updated   : 2024-12-03
  *  Notes     :
  *
- * Copyright (c) 2001-2024 Urs Janssen <urs@tin.org>
+ * Copyright (c) 2001-2025 Urs Janssen <urs@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,72 +42,195 @@
 
 
 /*
- * my_tmpfile(filename, name_size, base_dir)
+ * my_mktmp(filename, name_size, base_dir)
  *
- * try to create a unique tmp-file descriptor
+ * try to create a unique tmp-file descriptor (in base_dir if set)
  *
  * return codes:
  * >0 = file descriptor of tmpfile
- *      if need_name is set to true and/or we have to unlink the file
- *      ourself filename is set to the name of the tmp file located in
- *      base_dir
- * -1 = some error occurred
+ *      filename is set to the name of the tmp file
+ * -1 = some error occurred, errno should hold the details
+ *
+ * TODO: add/verify code for
+ *       HAVE_BSD_SIGNALS
+ *       HAVE_SYSV_SIGNALS
  */
 int
-my_tmpfile(
+my_mktmp(
 	char *filename,
 	size_t name_size,
 	const char *base_dir)
 {
+	char *buf;
 	int fd = -1;
-	char buf[PATH_LEN];
 	mode_t mask;
-#if defined(HAVE_MKTEMP) && !defined(HAVE_MKSTEMP)
-	char *t;
-#endif /* HAVE_MKTEMP && !HAVE_MKSTEMP */
-#ifdef DEBUG
-	int sverrno;
-#endif /* DEBUG */
-
-	errno = 0;
+	int sverrno = errno;
 
 	if (filename != NULL && name_size > 0) {
+		int n;
+		size_t len;
+#ifdef HAVE_POSIX_SIGNALS
+		sigset_t set, oset;
+#else
+#	ifdef HAVE_BSD_SIGNALS
+		int smask;
+#	endif /* HAVE_BSD_SIGNALS */
+#endif /* HAVE_POSIX_SIGNALS */
+
 		if (base_dir) {
 #ifdef HAVE_LONG_FILE_NAMES
-			snprintf(buf, MIN(name_size, (sizeof(buf) - 1)), "tin-%s-%ld-XXXXXX", get_host_name(), (long) process_id);
+			/*
+			 * base_dir may reside on a shared network device
+			 * so add hostname/pid if allowed.
+			 */
+			if ((n = snprintf(NULL, 0, "tin-%s-%ld-XXXXXX", get_host_name(), (long) process_id)) < 0)
+				goto error_out;
+
+			len = (size_t) n + 1;
+			buf = my_malloc(len);
+			if (snprintf(buf, len, "tin-%s-%ld-XXXXXX", get_host_name(), (long) process_id) != n) {
+				free(buf);
+				goto error_out;
+			}
 #else
-			snprintf(buf, MIN(name_size, (sizeof(buf) - 1)), "tin-XXXXXX");
+			if ((n = snprintf(NULL, 0, "tin-XXXXXX")) < 0)
+				goto error_out;
+
+			len = (size_t) n + 1;
+			buf = my_malloc(len);
+			if (snprintf(buf, len, "tin-XXXXXX") != n) {
+				free(buf);
+				goto error_out;
+			}
 #endif /* HAVE_LONG_FILE_NAMES */
-			joinpath(filename, name_size, base_dir, buf);
 		} else {
-			snprintf(buf, MIN(name_size, (sizeof(buf) - 1)), "tin_XXXXXX");
-			joinpath(filename, name_size, tmpdir, buf);
+			/*
+			 * tmpdir is unlikely to reside on a shared device
+			 * so don't bother to distinguish between HAVE_LONG_FILE_NAMES
+			 * or not.
+			 */
+			if ((n = snprintf(NULL, 0, "tin_XXXXXX")) < 0) {
+#ifdef DEBUG
+wait_message(5, "snprintf(NULL, 0, \"tin_XXXXXX\")=%d", n);
+#endif /* DEBUG */
+				goto error_out;
+			}
+
+			len = (size_t) n + 1;
+			buf = my_malloc(len);
+			if (snprintf(buf, len, "tin_XXXXXX") != n) {
+#ifdef DEBUG
+wait_message(5, "snprintf(%s, %d, \"tin_XXXXXX\")=%d", BlankIfNull(buf), len, n);
+#endif /* DEBUG */
+				free(buf);
+				goto error_out;
+			}
 		}
+		joinpath(filename, name_size, base_dir ? base_dir: tmpdir, buf);
+		free(buf);
+
 		mask = umask((mode_t) (S_IRWXO|S_IRWXG));
+
+#ifdef HAVE_POSIX_SIGNALS
+		if (!sigfillset(&set))
+			(void) sigprocmask(SIG_BLOCK, &set, &oset);
+		else
+			(void) sigprocmask(SIG_BLOCK, NULL, &oset);
+#else
+#	ifdef HAVE_BSD_SIGNALS
+		smask = sigblock(0); /* siggetmask(); */
+		(void) sigblock(~0);
+#	else
+#		ifdef HAVE_SYSV_SIGNALS
+		sighold(SIGINT);
+#		endif /* HAVE_SYSV_SIGNALS */
+#	endif /* HAVE_BSD_SIGNALS */
+#endif /* HAVE_POSIX_SIGNALS */
+
 #ifdef DEBUG
 		errno = 0;
 #endif /* DEBUG */
+
 #ifdef HAVE_MKSTEMP
 		fd = mkstemp(filename);
-#	ifdef DEBUG
 		sverrno = errno;
-		if (fd == -1 && sverrno)
-			wait_message(5, "HAVE_MKSTEMP %s: %s", filename, strerror(sverrno));
+#	ifdef DEBUG
+		if (fd == -1)
+			perror_message("HAVE_MKSTEMP mkstemp(%s)==%d", filename, fd);
 #	endif /* DEBUG */
 #else
 #	ifdef HAVE_MKTEMP
-		if ((t = mktemp(filename)) != NULL)
-			fd = open(t, (O_WRONLY|O_CREAT|O_EXCL), (mode_t) (S_IRUSR|S_IWUSR));
-#		ifdef DEBUG
+		buf = mktemp(filename);
 		sverrno = errno;
-		if (sverrno)
-			wait_message(5, "HAVE_MKTEMP %s: %s", filename, strerror(sverrno));
+		if (!sverrno) {
+			if ((fd = open(buf, (O_RDWR|O_CREAT|O_EXCL), (mode_t) (S_IRUSR|S_IWUSR))) == -1) {
+				sverrno = errno;
+#		ifdef DEBUG
+				if (fd == -1)
+					perror_message("HAVE_MKTEMP open(%s)==%d", filename, fd);
+#		endif /* DEBUG */
+			}
+		}
+#		ifdef DEBUG
+		else
+			perror_message("HAVE_MKTEMP mktemp(%s)", filename);
 #		endif /* DEBUG */
 #	endif /* HAVE_MKTEMP */
 #endif /* HAVE_MKSTEMP */
-		umask(mask);
+
+		(void) umask(mask);
+
+#ifdef HAVE_POSIX_SIGNALS
+		(void) sigprocmask(SIG_SETMASK, &oset, NULL);
+#else
+#	ifdef HAVE_BSD_SIGNALS
+		(void) sigsetmask(smask);
+#	else
+#		ifdef HAVE_SYSV_SIGNALS
+		(void) sigrelse(SIGINT);
+#		endif /* HAVE_SYSV_SIGNALS */
+#	endif /* HAVE_BSD_SIGNALS */
+#endif /* HAVE_POSIX_SIGNALS */
 	}
+#ifdef DEBUG
+	else
+		wait_message(5, "my_mktmp(NULL, %lu, ...)", name_size);
+#endif /* DEBUG */
+
+error_out:
 	if (fd == -1)
 		error_message(2, _(txt_cannot_create_uniq_name));
+
+	errno = sverrno;
 	return fd;
 }
+
+
+/* tmpfile() replacement */
+FILE *
+my_tmpfile(
+	void)
+{
+	char f[PATH_LEN];
+	int fd, sverrno;
+	size_t s = sizeof(f);
+	FILE *fp;
+
+	if ((fd = my_mktmp(f, s, NULL)) != -1) {
+		if ((fp = fdopen(fd, "w+")) != NULL) {
+			unlink(f);
+			return(fp);
+		}
+		sverrno = errno;
+#ifdef DEBUG
+		perror_message("fdopen(%d, \"w+\")", fd);
+#endif /* DEBUG */
+		unlink(f);
+		close(fd);
+		errno = sverrno;
+	}
+#ifdef DEBUG
+	perror_message("my_mktmp(f, %lu, NULL)==%d", s, fd);
+#endif /* DEBUG */
+	return NULL;
+}
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/newsrc.c tin-2.6.4/src/newsrc.c
--- tin-2.6.3/src/newsrc.c	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/newsrc.c	2024-12-09 15:15:30.234396729 +0100
@@ -3,10 +3,10 @@
  *  Module    : newsrc.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2023-12-06
+ *  Updated   : 2024-12-09
  *  Notes     : ArtCount = (ArtMax - ArtMin) + 1  [could have holes]
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -65,7 +65,7 @@ static char *parse_subseq(struct t_group
 static char *parse_get_seq(char *seq, t_artnum *low, t_artnum *high);
 static int write_newsrc_line(FILE *fp, char *line);
 static t_bool create_newsrc(char *newsrc_file);
-static void auto_subscribe_groups(char *newsrc_file);
+static void auto_subscribe_groups(const char *newsrc_file);
 static void get_subscribe_info(struct t_group *grp);
 static void parse_bitmap_seq(struct t_group *group, char *seq);
 static void print_bitmap_seq(FILE *fp, struct t_group *group);
@@ -100,17 +100,36 @@ read_newsrc(
 	 * make a .newsrc if none exist & auto subscribe to set groups
 	 */
 	if ((fp = fopen(newsrc_file, "r")) == NULL) {
-		if (!create_newsrc(newsrc_file))
-			return -1L; /* ouch */
-
+		if (errno != ENOENT) { /* ENOENT is "ok" here */
+			perror_message(_(txt_cannot_open), newsrc_file);
+			if (!batch_mode)
+				sleep(2);
+		}
+		switch (errno) {
+			case EACCES:
+				return -1L;
+
+			default:	/* e.g. ENOENT */
+				if (!create_newsrc(newsrc_file))
+					return -1L;
+				break;
+		}
 		auto_subscribe_groups(newsrc_file);
 	}
+	/* see if create_newsrc() created the file for us */
 	if (!fp) {
-		if ((fp = fopen(newsrc_file, "r")) == NULL)
+		if ((fp = fopen(newsrc_file, "r")) == NULL) {
+			perror_message(_(txt_cannot_open), newsrc_file);
+			if (!batch_mode)
+				sleep(2);
 			return -1L;
+		}
 	}
 
 	if (fstat(fileno(fp), &statbuf) == -1) {
+		perror_message(_(txt_cannot_open), newsrc_file);
+		if (!batch_mode)
+			sleep(2);
 		fclose(fp);
 		return -1L;
 	}
@@ -119,15 +138,30 @@ read_newsrc(
 		newsrc_mode = statbuf.st_mode;
 #endif /* HAVE_FCHMOD || HAVE_CHMOD */
 
+	if (S_ISDIR(statbuf.st_mode)) {	/* TODO: die hard? */
+		errno = EISDIR;
+		perror_message(_(txt_cannot_open), newsrc_file);
+		if (!batch_mode)
+			sleep(2);
+		fclose(fp);
+		return -1L;
+	}
+
 	if (!batch_mode || verbose)
-		wait_message(0, _(txt_reading_newsrc));
+		wait_message(0, _(txt_reading_newsrc), newsrc_file);
 
 	while ((grp = tin_fgets(fp, FALSE)) != NULL) {
 		strip_line(grp);
+
+		/* mixed up -f / -F ? */
+		if (*grp && !line_count && !strncmp(grp, txt_filter_file_version, 15)) { /* version number starts after pos. 15 */
+			fclose(fp);
+			tin_done(EXIT_FAILURE, _(txt_error_mixed_up_opt), "-f", newsrc_file);
+		}
 		if (*grp == '#' || *grp == '\0')	/* skip comments and empty lines */
 			continue;
 
-		line_count++;	/* but count all other lines (incl. bogus ones) */
+		++line_count;	/* but count all other lines (incl. bogus ones) */
 		seq = parse_newsrc_line(grp, &sub);
 
 		if (sub == SUBSCRIBED) {
@@ -220,25 +254,18 @@ write_newsrc(
 	FILE *fp_op;
 	char *line;
 	signed long int tot = 0L;
-	struct stat note_stat_newsrc;
 	t_bool write_ok = FALSE;
 	int err;
 
 	if (no_write)
 		return 0L;
 
-	if ((fp_ip = fopen(newsrc, "r")) == NULL)
-		return -1L; /* can't open newsrc */
-
-	/* get size of original newsrc */
-	if (fstat(fileno(fp_ip), &note_stat_newsrc) != 0) {
-		fclose(fp_ip);
-		return -1L; /* can't access newsrc */
-	}
-
-	if (!note_stat_newsrc.st_size) {
-		fclose(fp_ip);
-		return 0L; /* newsrc is empty */
+	if ((fp_ip = tin_fopen(newsrc, "r")) == NULL) {
+		if (errno == ENOENT)
+			perror_message(_(txt_cannot_open), newsrc);
+		if (!batch_mode && errno)
+			sleep(2);
+		return (errno ? -1L : 0L);
 	}
 
 	if ((fp_op = fopen(newnewsrc, "w")) != NULL) {
@@ -261,7 +288,7 @@ write_newsrc(
 		 * Don't rename if either fclose() fails or ferror() is set
 		 */
 		if ((err = ferror(fp_op)) || fclose(fp_op)) {
-			error_message(2, _(txt_filesystem_full), NEWSRC_FILE);
+			error_message(2, _(txt_filesystem_full), newsrc);
 			unlink(newnewsrc);
 			if (err) {
 				clearerr(fp_op);
@@ -269,12 +296,16 @@ write_newsrc(
 			}
 		} else
 			write_ok = TRUE;
+	} else {
+		perror_message(_(txt_cannot_open_for_saving), newnewsrc);
+		fclose(fp_ip);
+		return 0L; /* o we don't get prompted to try again */
 	}
 
 	fclose(fp_ip);
 
-	if (tot < 1) {
-		error_message(2, _(txt_newsrc_nogroups));
+	if (tot < 1L) {
+		error_message(2, _(txt_newsrc_nogroups), newsrc);
 		unlink(newnewsrc);
 		return 0L;		/* So we don't get prompted to try again */
 	}
@@ -297,13 +328,13 @@ create_newsrc(
 	int i;
 
 	if ((fp = fopen(newsrc_file, "w")) != NULL) {
-		wait_message(0, _(txt_creating_newsrc));
+		wait_message(0, _(txt_creating_newsrc), newsrc);
 
 		for_each_group(i)
 			fprintf(fp, "%s!\n", active[i].name);
 
 		if ((i = ferror(fp)) || fclose(fp)) {
-			error_message(2, _(txt_filesystem_full), NEWSRC_FILE);
+			error_message(2, _(txt_filesystem_full), newsrc);
 			if (i) {
 				clearerr(fp);
 				fclose(fp);
@@ -312,6 +343,11 @@ create_newsrc(
 		}
 		return TRUE; /* newsrc created */
 	}
+
+	perror_message(_(txt_cannot_open), newsrc_file);
+	if (!batch_mode)
+		sleep(2);
+
 	return FALSE;
 }
 
@@ -346,7 +382,7 @@ open_subscription_fp(
  */
 static void
 auto_subscribe_groups(
-	char *newsrc_file)
+	const char *newsrc_file)
 {
 	FILE *fp_newsrc;
 	FILE *fp_subs;
@@ -391,7 +427,7 @@ auto_subscribe_groups(
 	/* We ignore user 'q'uits here. They will get them next time in any case */
 
 	if ((err = ferror(fp_newsrc)) || fclose(fp_newsrc)) {
-		error_message(2, _(txt_filesystem_full), NEWSRC_FILE);
+		error_message(2, _(txt_filesystem_full), newsrc);
 		if (err) {
 			clearerr(fp_newsrc);
 			fclose(fp_newsrc);
@@ -431,7 +467,7 @@ backup_newsrc(
 	}
 
 	if (!backup_file(newsrc, filebuf))
-		error_message(2, _(txt_filesystem_full_backup), NEWSRC_FILE);
+		error_message(2, _(txt_filesystem_full_backup), newsrc);
 }
 
 
@@ -442,15 +478,13 @@ backup_newsrc(
  */
 int
 group_get_art_info(
-	char *tin_spooldir,
-	char *groupname,
+	const char *tin_spooldir,
+	const char *groupname,
 	int grouptype,
 	t_artnum *art_count,
 	t_artnum *art_max,
 	t_artnum *art_min)
 {
-	DIR *dir;
-	DIR_BUF *direntry;
 	t_artnum artnum;
 
 	if (read_news_via_nntp && grouptype == GROUP_TYPE_NEWS) {
@@ -462,7 +496,7 @@ group_get_art_info(
 		if ((debug & DEBUG_NNTP) && verbose > 1)
 			debug_print_file("NNTP", "group_get_art_info %s", line);
 #	endif /* DEBUG */
-		put_server(line);
+		put_server(line, FALSE);
 
 		switch (get_respcode(line, sizeof(line))) {
 			case OK_GROUP:
@@ -499,6 +533,8 @@ group_get_art_info(
 #endif /* NNTP_ABLE */
 	} else {
 		char group_path[PATH_LEN];
+		DIR *dir;
+		DIR_BUF *direntry;
 
 		*art_count = T_ARTNUM_CONST(0);
 		*art_min = T_ARTNUM_CONST(0);
@@ -634,7 +670,7 @@ subscribe(
 	}
 
 	if ((sub = ferror(newfp)) || fclose(newfp)) {
-		error_message(2, _(txt_filesystem_full), NEWSRC_FILE);
+		error_message(2, _(txt_filesystem_full), newsrc);
 		if (sub) {
 			clearerr(newfp);
 			fclose(newfp);
@@ -660,7 +696,7 @@ bulk_subscribe(
 	char *line;
 	char *seq;
 	int i, sub;
-	t_bool found = FALSE;
+	t_bool found;
 
 	if (no_write || (newfp = fopen(newnewsrc, "w")) == NULL)
 		return;
@@ -721,7 +757,7 @@ bulk_subscribe(
 	}
 
 	if ((sub = ferror(newfp)) || fclose(newfp)) {
-		error_message(2, _(txt_filesystem_full), NEWSRC_FILE);
+		error_message(2, _(txt_filesystem_full), newsrc);
 		if (sub) {
 			clearerr(newfp);
 			fclose(newfp);
@@ -742,7 +778,6 @@ reset_newsrc(
 	int sub, i;
 
 	if (!no_write && (newfp = fopen(newnewsrc, "w")) != NULL) {
-
 #if defined(HAVE_FCHMOD) || defined(HAVE_CHMOD)
 		if (newsrc_mode) {
 #	ifdef HAVE_FCHMOD
@@ -752,7 +787,7 @@ reset_newsrc(
 			chmod(newnewsrc, newsrc_mode);
 #		endif /* HAVE_CHMOD */
 #	endif /* HAVE_FCHMOD */
-	}
+		}
 #endif /* HAVE_FCHMOD || HAVE_CHMOD */
 
 		if ((fp = fopen(newsrc, "r")) != NULL) {
@@ -763,7 +798,7 @@ reset_newsrc(
 			fclose(fp);
 		}
 		if ((sub = ferror(newfp)) || fclose(newfp)) {
-			error_message(2, _(txt_filesystem_full), NEWSRC_FILE);
+			error_message(2, _(txt_filesystem_full), newsrc);
 			if (sub) {
 				clearerr(newfp);
 				fclose(newfp);
@@ -783,7 +818,7 @@ reset_newsrc(
  */
 void
 delete_group(
-	char *group)
+	const char *group)
 {
 	FILE *fp;
 	FILE *newfp;
@@ -818,7 +853,7 @@ delete_group(
 		}
 
 		if ((sub = ferror(newfp)) || fclose(newfp)) {
-			error_message(2, _(txt_filesystem_full), NEWSRC_FILE);
+			error_message(2, _(txt_filesystem_full), newsrc);
 			if (sub) {
 				clearerr(newfp);
 				fclose(newfp);
@@ -955,7 +990,7 @@ parse_bitmap_seq(
 	 */
 	ptr = seq;
 	while (ptr && *ptr && (*ptr < '0' || *ptr > '9'))
-		ptr++;
+		++ptr;
 
 #ifdef DEBUG
 	if (debug & DEBUG_NEWSRC) {
@@ -1145,13 +1180,13 @@ parse_get_seq(
 	*low = strtoartnum(seq, &seq, 10);
 
 	if (*seq == '-') {	/* Range of articles */
-		seq++;
+		++seq;
 		*high = strtoartnum(seq, &seq, 10);
 	} else	/* Single article */
 		*high = *low;
 
 	while (*seq && (*seq < '0' || *seq > '9'))
-		seq++;
+		++seq;
 
 	return seq;
 }
@@ -1202,7 +1237,7 @@ parse_unread_arts(
 		}
 		while (j < min) {
 			NSET1(newbitmap, j - bitmin);
-			j++;
+			++j;
 		}
 	}
 
@@ -1230,7 +1265,7 @@ parse_unread_arts(
 			if (arts[i].artnum <= group->xmax)
 #endif /* 0 */
 				NSET1(newbitmap, arts[i].artnum - bitmin);
-			unread++;
+			++unread;
 		}
 	}
 
@@ -1285,7 +1320,7 @@ print_bitmap_seq(
 					fprintf(fp, "1");
 				}
 				while (i < group->newsrc.xmax && NTEST(group->newsrc.xbitmap, (i + 1) - group->newsrc.xmin) == ART_READ)
-					i++;
+					++i;
 
 				if (artnum != i)
 					fprintf(fp, "-%"T_ARTNUM_PFMT, i);
@@ -1297,13 +1332,12 @@ print_bitmap_seq(
 
 					if (group->newsrc.xmin > 2)
 						fprintf(fp, "-%"T_ARTNUM_PFMT, group->newsrc.xmin - 1);
-
 				}
 			}
 			if (group->newsrc.xmax == i)
 				break;
 
-			i++;
+			++i;
 		}
 	}
 
@@ -1329,7 +1363,7 @@ print_bitmap_seq(
  */
 t_bool
 pos_group_in_newsrc(
-	struct t_group *group,
+	const struct t_group *group,
 	int pos)
 {
 	FILE *fp_in = NULL, *fp_out = NULL;
@@ -1340,7 +1374,7 @@ pos_group_in_newsrc(
 	char *sub = NULL;
 	char *unsub = NULL;
 	int subscribed_pos = 1;
-	int err;
+	int err, n;
 	size_t len;
 	t_bool found = FALSE;
 	t_bool newnewsrc_created = FALSE;
@@ -1371,16 +1405,23 @@ pos_group_in_newsrc(
 	}
 #endif /* HAVE_FCHMOD || HAVE_CHMOD */
 
-
 	joinpath(filename, sizeof(filename), tmpdir, ".subrc");
-	len = snprintf(NULL, 0, "%s.%ld", filename, (long) process_id);
-	sub = my_malloc(++len);
-	snprintf(sub, len, "%s.%ld", filename, (long) process_id);
+	if ((n = snprintf(NULL, 0, "%s.%ld", filename, (long) process_id)) < 0)
+		goto rewrite_group_done;
+
+	len = (size_t) n + 1;
+	sub = my_malloc(len);
+	if (snprintf(sub, len, "%s.%ld", filename, (long) process_id) != n)
+		goto rewrite_group_done;
 
 	joinpath(filename, sizeof(filename), tmpdir, ".unsubrc");
-	len = snprintf(NULL, 0, "%s.%ld", filename, (long) process_id);
-	unsub = my_malloc(++len);
-	snprintf(unsub, len, "%s.%ld", filename, (long) process_id);
+	if ((n = snprintf(NULL, 0, "%s.%ld", filename, (long) process_id)) < 0)
+		goto rewrite_group_done;
+
+	len = (size_t) n + 1;
+	unsub = my_malloc(len);
+	if (snprintf(unsub, len, "%s.%ld", filename, (long) process_id) != n)
+		goto rewrite_group_done;
 
 	if ((fp_sub = fopen(sub, "w")) == NULL)
 		goto rewrite_group_done;
@@ -1414,7 +1455,7 @@ pos_group_in_newsrc(
 	}
 
 	if ((err = ferror(fp_sub)) || fclose(fp_sub)) {
-		error_message(2, _(txt_filesystem_full), NEWSRC_FILE);
+		error_message(2, _(txt_filesystem_full), newsrc);
 		if (err) {
 			clearerr(fp_sub);
 			fclose(fp_sub);
@@ -1423,7 +1464,7 @@ pos_group_in_newsrc(
 	}
 	if ((err = ferror(fp_unsub)) || fclose(fp_unsub)) {
 		if (!fs_error) /* avoid repeatd error message */
-			error_message(2, _(txt_filesystem_full), NEWSRC_FILE);
+			error_message(2, _(txt_filesystem_full), newsrc);
 		if (err) {
 			clearerr(fp_unsub);
 			fclose(fp_unsub);
@@ -1466,7 +1507,7 @@ pos_group_in_newsrc(
 
 		fprintf(fp_out, "%s\n", line);
 
-		subscribed_pos++;
+		++subscribed_pos;
 	}
 
 	if (!repositioned)
@@ -1485,7 +1526,7 @@ pos_group_in_newsrc(
 	 * Try and cleanly close out the newnewsrc file
 	 */
 	if ((err = ferror(fp_out)) || fclose(fp_out)) {
-		error_message(2, _(txt_filesystem_full), NEWSRC_FILE);
+		error_message(2, _(txt_filesystem_full), newsrc);
 		if (err) {
 			clearerr(fp_out);
 			fclose(fp_out);
@@ -1684,8 +1725,7 @@ expand_bitmap(
 			debug_print_comment("expand_bitmap: group->newsrc.bitlen != (group->max-group->min)+1 and need full copy");
 #endif /* DEBUG */
 	} else if (max != group->newsrc.xmax || first != group->newsrc.xmin) {
-		t_bitmap *newbitmap;
-		newbitmap = my_malloc(BITS_TO_BYTES(bitlen));
+		t_bitmap *newbitmap = my_malloc(BITS_TO_BYTES(bitlen));
 
 		/* Copy over old bitmap */
 
@@ -1756,7 +1796,7 @@ art_mark(
 					if (group->newsrc.num_unread)
 						group->newsrc.num_unread--;
 
-					if (group->attribute->show_only_unread_arts)
+					if (group->attribute && group->attribute->show_only_unread_arts)
 						art->keep_in_base = TRUE;
 				}
 
@@ -1770,7 +1810,7 @@ art_mark(
 				if (group != NULL) {
 					group->newsrc.num_unread++;
 
-					if (group->attribute->show_only_unread_arts)
+					if (group->attribute && group->attribute->show_only_unread_arts)
 						art->keep_in_base = FALSE;
 				}
 
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/nntplib.c tin-2.6.4/src/nntplib.c
--- tin-2.6.3/src/nntplib.c	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/nntplib.c	2024-12-21 02:56:55.348491084 +0100
@@ -3,7 +3,7 @@
  *  Module    : nntplib.c
  *  Author    : S. Barber & I. Lea
  *  Created   : 1991-01-12
- *  Updated   : 2023-12-12
+ *  Updated   : 2024-12-21
  *  Notes     : NNTP client routines taken from clientlib.c 1.5.11 (1991-02-10)
  *  Copyright : (c) Copyright 1991-99 by Stan Barber & Iain Lea
  *              Permission is hereby granted to copy, reproduce, redistribute
@@ -41,9 +41,6 @@ char *nntp_server = NULL;
 	t_bool reconnected_in_last_get_server = FALSE;
 	/* Flag used in LIST ACVTIVE loop */
 	t_bool did_reconnect = FALSE;
-#endif /* NNTP_ABLE */
-
-#ifdef NNTP_ABLE
 	/* Copy of last NNTP command sent, so we can retry it if needed */
 	static char last_put[NNTP_STRLEN];
 	static constext *xover_cmds = "XOVER";
@@ -63,14 +60,14 @@ char *nntp_server = NULL;
 	static int reconnect(int retry);
 	static int server_init(char *machine, const char *cservice, unsigned short port, char *text, size_t mlen);
 	static void close_server(t_bool send_no_quit);
-	static void list_motd(FILE *stream);
+	static long int list_motd(FILE *stream);
 #	ifdef INET6
-		static int get_tcp6_socket(char *machine, unsigned short port);
+		static int get_tcp6_socket(const char *machine, unsigned short port);
 #	else
 		static int get_tcp_socket(char *machine, char *service, unsigned short port);
 #	endif /* INET6 */
 #	ifdef DECNET
-		static int get_dnet_socket(char *machine, char *service);
+		static int get_dnet_socket(const char *machine);
 #	endif /* DECNET */
 	static ssize_t nntp_read(int fd, void *tls, void *buf, size_t n);
 
@@ -84,6 +81,11 @@ char *nntp_server = NULL;
 		struct simplebuf rd;
 		struct simplebuf wr;
 		int fd;
+#	ifdef HAVE_GETPEERNAME
+		sa_family_t family;
+#	else
+		int family;
+#	endif /* HAVE_GETPEERNAME */
 #	ifdef USE_ZLIB
 		z_streamp z_wr;
 		z_streamp z_rd;
@@ -97,15 +99,15 @@ char *nntp_server = NULL;
 /* because compression can make the buffer increase, choose a larger size than
  * for the uncompressed data */
 #		define DEFLATE_BUFSZ (5000U)
-#		define NNTPBUF_INITIALIZER { { {0}, 0, 0 }, { {0}, 0, 0 }, -1, NULL, NULL, NULL, NULL, NULL }
+#		define NNTPBUF_INITIALIZER { { {0}, 0, 0 }, { {0}, 0, 0 }, -1, 0, NULL, NULL, NULL, NULL, NULL }
 #	else /* USE_ZLIB */
-#		define NNTPBUF_INITIALIZER { { {0}, 0, 0 }, { {0}, 0, 0 }, -1, NULL }
+#		define NNTPBUF_INITIALIZER { { {0}, 0, 0 }, { {0}, 0, 0 }, -1, 0, NULL }
 #	endif /* USE_ZLIB */
 
 	static struct nntpbuf nntp_buf = NNTPBUF_INITIALIZER;
 
 #	ifdef USE_ZLIB
-		static void enable_deflate(struct nntpbuf* buf);
+		static void enable_deflate(struct nntpbuf *nntpbuf);
 #	endif /* USE_ZLIB */
 	static int nntpbuf_refill(struct nntpbuf *buf);
 	static int nntpbuf_flush(struct nntpbuf* buf);
@@ -131,7 +133,7 @@ char *nntp_server = NULL;
  *	         first non-ws/comment line in the file.
  *	         NULL on error (or lack of entry in file).
  *
- *	Side effects: None.
+ *	Side effects: sets/updates $NNTPSERVER in the env.
  */
 char *
 getserverbyfile(
@@ -142,9 +144,10 @@ getserverbyfile(
 	FILE *fp;
 	char *cp;
 #	if !defined(HAVE_SETENV) && defined(HAVE_PUTENV)
-	char tmpbuf[256];
 	char *new_env;
-	static char *old_env = NULL;
+	static char *serv_env = NULL;
+	int n;
+	size_t len;
 #	endif /* !HAVE_SETENV && HAVE_PUTENV */
 #endif /* NNTP_ABLE */
 
@@ -159,52 +162,91 @@ getserverbyfile(
 	}
 
 #ifdef NNTP_ABLE
-	if (cmdline.args & CMDLINE_NNTPSERVER) {
+	if (cmdline.nntpserver) {
+		char *p, *q;
+		int i;
+
 		get_nntpserver(buf, sizeof(buf), cmdline.nntpserver);
 		/*
-		 * - given port in NEWSRCTABLE_FILE overrides -p, -T and $NNTPPORT
-		 * - no IPv6 address support yet (should be simple if address is
-		 *   brackets)
+		 * - given port in NEWSRCTABLE_FILE overrides -p, -g, -[kT] and $NNTP[S]PORT
 		 *
 		 * news.example.com[:123]    ~/.tin/${NNTPSERVER-localhost}/.newsrc  ex
+		 * [::1]:1119	~/.tin/NEWSRCS/${NNTPSERVER-localhost}	lh6
 		 */
-		if ((cp = strchr(buf, ':')) != NULL) { /* >= 1 x ':' in servername? */
-			if (strrchr(buf, ':') == cp) { /* == 1 x ':' in servername? otherwise (IPv6, syntaxerror) skip */
-				int i;
 
-				*cp++ = '\0';
-				if ((i = atoi(cp)) != 0)
-					nntp_tcp_port = (unsigned short) i;
-#	ifdef DEBUG
-				else {
-					if (debug & DEBUG_MISC)
-						wait_message(3, _(txt_port_not_numeric_in), local_newsrctable_file, buf, cp);
-				}
+		if (buf[0] == '[') { /* IPv6 address? */
+			if ((p = strrchr(buf, ':')) != NULL) {
+				if ((q = strrchr(buf, ']')) != NULL) {
+					for (i = 1; buf[i] != ']'; i++)
+						buf[i - 1] = buf[i];
+					buf[i - 1] = '\0';
+					if (p > q) { /* looks like [IP:v6]:port */
+						i = s2i(++p, 0, 65535);
+						if (i && !errno)
+							nntp_tcp_port = (unsigned short) i;
+#	ifdef DEBUG
+						else {
+							if (debug & DEBUG_MISC)
+								wait_message(3, _(txt_port_not_numeric_in), newsrctable_file, buf, p);
+						}
 #	endif /* DEBUG */
+					}
+				} /* else { not an IPv6 address } */
+			} /* else { not an IPv6 address } */
+		} else {
+			if ((cp = strchr(buf, ':')) != NULL) { /* >= 1 x ':' in servername? */
+				if (strrchr(buf, ':') == cp) { /* == 1 x ':' in servername? otherwise (IPv6, syntaxerror) skip */
+					*cp++ = '\0'; /* cut off port from the name */
+					i = s2i(cp, 1, 65535);
+					if (i && !errno)
+						nntp_tcp_port = (unsigned short) i;
+#	ifdef DEBUG
+					else {
+						if (debug & DEBUG_MISC)
+							wait_message(3, _(txt_port_not_numeric_in), newsrctable_file, buf, cp);
+					}
+#	endif /* DEBUG */
+				}
 			}
 		}
 #	ifdef HAVE_SETENV
-		setenv("NNTPSERVER", buf, 1);
+		if (setenv("NNTPSERVER", buf, 1)) {
+#		ifdef DEBUG
+			perror_message("setenv(\"NNTPSERVER\", \"%s\", 1)", buf);
+#		endif /* DEBUG */
+		}
 #	else
 #		ifdef HAVE_PUTENV
-		snprintf(tmpbuf, sizeof(tmpbuf), "NNTPSERVER=%s", buf);
-		new_env = my_strdup(tmpbuf);
-		putenv(new_env);
-		FreeIfNeeded(old_env);
-		old_env = new_env; /* we are 'leaking' the last malloced mem at exit here */
+		if ((n = snprintf(NULL, 0, "NNTPSERVER=%s", buf)) >= 0) {
+			len = (size_t) n + 1;
+			new_env = my_malloc(len);
+			if (snprintf(new_env, len, "NNTPSERVER=%s", buf) == n) {
+				if (putenv(new_env) != 0) {
+#			ifdef DEBUG
+					perror_message("putenv(\"%s\")", new_env);
+#			endif /* DEBUG */
+					free(new_env);
+				} else {
+					FreeIfNeeded(serv_env);
+					serv_env = new_env; /* we are 'leaking' the last malloced mem at exit here */
+				}
+			} else
+				free(new_env);
+		}
 #		endif /* HAVE_PUTENV */
 #	endif /* HAVE_SETENV */
 		return buf;
 	}
 
-	if ((cp = getenv("NNTPSERVER")) != NULL) {
+	if ((cp = getenv("NNTPSERVER")) != NULL && *cp) {
 		get_nntpserver(buf, sizeof(buf), cp);
 		if ((cp = strchr(buf, ':')) != NULL) {
-			if (strrchr(buf, ':') == cp) {
+			if (strrchr(buf, ':') == cp) { /* "count" ':'s to be sure it's not an IPv6 address */
 				int i;
 
-				*cp++ = '\0';
-				if ((i = atoi(cp)) != 0)
+				*cp++ = '\0'; /* cut off port from the name */
+				i = s2i(cp, 1, 65535);
+				if (i && !errno)
 					nntp_tcp_port = (unsigned short) i;
 #	ifdef DEBUG
 				else {
@@ -220,8 +262,7 @@ getserverbyfile(
 	if (file == NULL)
 		return NULL;
 
-	if ((fp = fopen(file, "r")) != NULL) {
-
+	if ((fp = tin_fopen(file, "r")) != NULL) {
 		while (fgets(buf, (int) sizeof(buf), fp) != NULL) {
 			if (*buf == '\n' || *buf == '#')
 				continue;
@@ -229,7 +270,16 @@ getserverbyfile(
 			if ((cp = strrchr(buf, '\n')) != NULL)
 				*cp = '\0';
 
+			/*
+			 * TODO:
+			 *       - we do not export $NNTPSERVER here
+			 *       - we do not care about any port here
+			 *       should we?
+			 */
+
 			(void) fclose(fp);
+			str_trim(buf);
+			str_lwr(buf);
 			return buf;
 		}
 		(void) fclose(fp);
@@ -277,13 +327,11 @@ server_init(
 	char *service = strncpy(temp, cservice, sizeof(temp) - 1); /* ...calls non-const funcs; temp will be terminated few lines below */
 #	endif /* !INET6 */
 #	ifdef DECNET
-	char *cp;
-
-	cp = strchr(machine, ':');
+	char *cp = strchr(machine, ':');
 
 	if (cp && cp[1] == ':') {
 		*cp = '\0';
-		sock_fd = get_dnet_socket(machine, service);
+		sock_fd = get_dnet_socket(machine);
 	} else
 		sock_fd = get_tcp_socket(machine, service, port);
 #	else
@@ -313,20 +361,40 @@ server_init(
 
 #	ifdef NNTPS_ABLE
 	if (use_nntps) {
-		int result;
+		int result = tintls_open(machine, sock_fd, &nntp_buf.tls_ctx);
 
-		result = tintls_open(machine, sock_fd, &nntp_buf.tls_ctx);
-		if (result < 0)
+		if (result < 0) {
+			close(sock_fd);
 			return result;
+		}
 
 		result = tintls_handshake(nntp_buf.tls_ctx);
-		if (result < 0)
+		if (result < 0) {
+			close(sock_fd);
 			return result;
+		}
 	}
 #	endif /* NNTPS_ABLE */
 
 	nntp_buf.fd = sock_fd;
 
+#	if defined(HAVE_GETPEERNAME) || defined(TLI)
+	{
+		struct sockaddr sa;
+		socklen_t sa_len = sizeof(sa);
+
+#	ifdef HAVE_GETPEERNAME
+		if (getpeername(nntp_buf.fd, &sa, &sa_len) == 0)
+#	else
+#		ifdef TLI
+		if (t_getpeername(nntp_buf.fd, &sa, &sa_len) == 0)
+		/* if (getpeerinaddr(nntp_buf.fd, (struct sockaddr_in *)&sa, &sa_len) == 0) */
+#		endif /* TLI */
+#	endif /* HAVE_GETPEERNAME */
+			nntp_buf.family = sa.sa_family;
+	}
+#endif /* HAVE_GETPEERNAME || TLI */
+
 	last_put[0] = '\0';		/* no retries in get_respcode */
 	/*
 	 * Now get the server's signon message
@@ -356,7 +424,7 @@ server_init(
 static int
 get_tcp_socket(
 	char *machine,		/* remote host */
-	char *service,		/* nttp/smtp etc. */
+	char *service,		/* nntp/smtp etc. */
 	unsigned short port)	/* tcp port number */
 {
 	int s = -1;
@@ -460,27 +528,25 @@ get_tcp_socket(
 
 #	else
 #		ifndef EXCELAN
-	struct servent *sp;
 	struct hostent *hp;
 #			ifdef h_addr
 	int x = 0;
 	char **cp;
 #			endif /* h_addr */
 #			ifdef HAVE_HOSTENT_H_ADDR_LIST
-	static char *alist[2] = {0, 0};
+	static char *alist[2] = { NULL, NULL };
 #			endif /* HAVE_HOSTENT_H_ADDR_LIST */
 	static struct hostent def;
 	static struct in_addr defaddr;
 	static char namebuf[256];
 
 #			ifdef HAVE_GETSERVBYNAME
-	if ((sp = (struct servent *) getservbyname(service, "tcp")) == NULL) {
+	if (getservbyname(service, "tcp") == NULL) {
 		my_fprintf(stderr, _(txt_error_unknown_service), service);
 		return -EHOSTUNREACH;
 	}
 #			else
-	sp = my_malloc(sizeof(struct servent));
-	sp->s_port = htons(IPPORT_NNTP);
+			(void) service;
 #			endif /* HAVE_GETSERVBYNAME */
 
 	/* If not a raw ip address, try nameserver */
@@ -507,7 +573,7 @@ get_tcp_socket(
 #			endif /* HAVE_HOSTENT_H_ADDR_LIST */
 		def.h_length = sizeof(struct in_addr);
 		def.h_addrtype = AF_INET;
-		def.h_aliases = 0;
+		def.h_aliases = NULL;
 		hp = &def;
 	}
 
@@ -519,14 +585,13 @@ get_tcp_socket(
 	memset((char *) &sock_in, '\0', sizeof(sock_in));
 	sock_in.sin_family = hp->h_addrtype;
 	sock_in.sin_port = htons(port);
-/*	sock_in.sin_port = sp->s_port; */
 #		else
 	memset((char *) &sock_in, '\0', sizeof(sock_in));
 	sock_in.sin_family = AF_INET;
 #		endif /* !EXCELAN */
 
 	/*
-	 * The following is kinda gross. The name server under 4.3
+	 * The following is kind of gross. The name server under 4.3
 	 * returns a list of addresses, each of which should be tried
 	 * in turn if the previous one fails. However, 4.2 hostent
 	 * structure doesn't have this list of addresses.
@@ -598,7 +663,7 @@ get_tcp_socket(
 	/* set up addr for the connect */
 	memset((char *) &sock_in, '\0', sizeof(sock_in));
 	sock_in.sin_family = AF_INET;
-	sock_in.sin_port = htons(IPPORT_NNTP);
+	sock_in.sin_port = htons(port);
 
 	if ((sock_in.sin_addr.s_addr = rhost(&machine)) == -1) {
 		my_fprintf(stderr, _(txt_gethostbyname), "\n", machine);
@@ -656,7 +721,7 @@ get_tcp_socket(
  */
 static int
 get_tcp6_socket(
-	char *machine,
+	const char *machine,
 	unsigned short port)
 {
 	char mymachine[MAXHOSTNAMELEN + 1];
@@ -678,8 +743,8 @@ get_tcp6_socket(
 #		endif /* PF_UNSPEC */
 #	endif /* AF_UNSPEC */
 #	ifndef AF_INET6 /* i.e. sco3.2v5.0.7 */
-#		define  AF_INET6 AF_INET
-#	endif /* ! AF_INET6 */
+#		define AF_INET6 AF_INET
+#	endif /* !AF_INET6 */
 	memset(&hints, 0, sizeof(hints));
 /*	hints.ai_flags = AI_CANONNAME; */
 	hints.ai_family = (force_ipv4 ? AF_INET : (force_ipv6 ? AF_INET6 : ADDRFAM));
@@ -689,6 +754,7 @@ get_tcp6_socket(
 		my_fprintf(stderr, "\ngetaddrinfo: %s\n", gai_strerror(err));
 		return -1;
 	}
+
 	err = -1;
 	for (res = res0; res; res = res->ai_next) {
 		if ((s = socket(res->ai_family, res->ai_socktype, res->ai_protocol)) < 0) {
@@ -705,6 +771,7 @@ get_tcp6_socket(
 	}
 	if (res0 != NULL)
 		freeaddrinfo(res0);
+
 	if (err < 0) {
 		my_fprintf(stderr, "%s", _(txt_error_socket_or_connect_problem));
 		if (es)
@@ -714,6 +781,7 @@ get_tcp6_socket(
 		sleep(3);
 		return -1;
 	}
+
 	return s;
 }
 #endif /* NNTP_ABLE && INET6 */
@@ -724,7 +792,6 @@ get_tcp6_socket(
  * get_dnet_socket -- get us a socket connected to the server.
  *
  *	Parameters:	"machine" is the machine the server is running on.
- *			"service" is the name of the service to connect to.
  *
  *	Returns:	Socket connected to the news server if
  *			all is ok, else -1 on error.
@@ -735,8 +802,7 @@ get_tcp6_socket(
  */
 static int
 get_dnet_socket(
-	char *machine,
-	char *service)
+	const char *machine)
 {
 #	ifdef NNTP_ABLE
 	int s, area, node;
@@ -789,6 +855,7 @@ get_dnet_socket(
 
 	return s;
 #	else
+    (void) machine;
 	return -1;
 #	endif /* NNTP_ABLE */
 }
@@ -834,9 +901,10 @@ u_put_server(
  */
 void
 put_server(
-	const char *string)
+	const char *string,
+	t_bool hide_from_log)
 {
-	if (*string && strlen(string)) {
+	if (*string) {
 		DEBUG_IO((stderr, "put_server(%s)\n", string));
 		nntpbuf_puts(string, &nntp_buf);
 		nntpbuf_puts("\r\n", &nntp_buf);
@@ -845,21 +913,8 @@ put_server(
 		if (debug & DEBUG_NNTP) {
 			if (verbose)	/* only log password when running verbose */
 				debug_print_file("NNTP", ">>>%s%s", logtime(), string);
-			else {
-				char *c = my_strdup(string);
-				int l = 0;
-
-				if (!strncmp(string, "AUTHINFO PASS", 13))
-					l = 13;
-				if (!l && !strncmp(string, "AUTHINFO SASL PLAIN", 19))
-					l = 19;
-
-				if (l)
-					*(c+l) = '\0';
-
-				debug_print_file("NNTP", ">>>%s%s%s", logtime(), c, l ? " [data hidden, rerun with -v]" : "");
-				free(c);
-			}
+			else
+				debug_print_file("NNTP", ">>>%s%s", logtime(), hide_from_log ? "[data hidden, rerun with -v]" : string);
 		}
 #	endif /* DEBUG */
 
@@ -872,7 +927,7 @@ put_server(
 		 * one. we cache "LIST cmd." instead, this will slow down things, but
 		 * that's ok on reconnect.
 		 */
-		if (strcmp(last_put, string))
+		if (!hide_from_log && strcmp(last_put, string))
 			STRCPY(last_put, string);
 		if (!strncmp(string, "LIST ACTIVE ", 12))
 			last_put[11] = '\0'; /* "LIST ACTIVE" */
@@ -924,7 +979,8 @@ reconnect(
 			unlink(backup_article_name);
 			rename_file(article_name, dead_article);
 			if (tinrc.keep_dead_articles)
-				append_file(dead_article, dead_articles);
+				if ((errno = append_file(dead_article, dead_articles)) != 0)
+					perror_message(_(txt_enter_append), dead_article, dead_articles);
 		}
 		if (retry > NNTP_TRY_RECONNECT) {
 #	ifdef DEBUG
@@ -949,7 +1005,7 @@ reconnect(
 		if (curr_group != NULL) {
 			DEBUG_IO((stderr, _("Rejoin current group\n")));
 			snprintf(last_put, sizeof(last_put), "GROUP %s", curr_group->name);
-			put_server(last_put);
+			put_server(last_put, FALSE);
 			if (nntpbuf_gets(last_put, NNTP_STRLEN, &nntp_buf) == NULL)
 				*last_put = '\0';
 #	ifdef DEBUG
@@ -959,7 +1015,7 @@ reconnect(
 			DEBUG_IO((stderr, _("Read (%s)\n"), last_put));
 		}
 		DEBUG_IO((stderr, _("Resend last command (%s)\n"), buf));
-		put_server(buf);
+		put_server(buf, FALSE);
 		did_reconnect = TRUE;
 		retry = NNTP_TRY_RECONNECT;
 	}
@@ -976,7 +1032,7 @@ int
 fgetc_server(
 	FILE *stream)
 {
-	int c = EOF;
+	int c;
 
 	if (stream != FAKE_NNTP_FP) {
 		DEBUG_IO((stderr, "fgetc_server: BAD fp\n"));
@@ -1112,10 +1168,9 @@ close_server(
 	t_bool send_no_quit)
 {
 	if (!send_no_quit && nntpbuf_is_open(&nntp_buf)) {
-		if (!batch_mode || verbose) {
-			char *msg;
+		if ((!batch_mode || verbose) && cCOLS > 1) {
+			char *msg = strunc(_(txt_disconnecting), (size_t) (cCOLS - 1));
 
-			msg = strunc(_(txt_disconnecting), cCOLS - 1);
 			my_fputs(msg, stdout);
 			my_fputc('\n', stdout);
 			free(msg);
@@ -1127,6 +1182,7 @@ close_server(
 }
 
 
+#define WS	" \t"
 /*
  * Try and use CAPABILITIES here. Get this list before issuing other NNTP
  * commands because the correct methods may be mentioned in the list of
@@ -1143,6 +1199,33 @@ check_extensions(
 	char buf[NNTP_STRLEN];
 	int i;
 	int ret = 0;
+	static unsigned int cap_vers[] = { 2, /* 3,*/ 0 }; /* array of all capability versions we do support */
+	static const char *tin_mechs[] = { /* SASL mechanisms our code can handle */
+		"PLAIN",			/* RFC 4616 */
+		"ANONYMOUS",		/* RFC 4505 */
+		"LOGIN",			/* just for testing, remove b4 release */
+#if 0
+		"EXTERNAL",			/* RFC 4422 */
+		"OTP",				/* RFC 2444 */
+		"SECURID",			/* RFC 2808 */
+
+		"SCRAM-SHA-224",	/* RFC 5802, RFC 7677 */
+		"SCRAM-SHA-256",	/* RFC 5802, RFC 7677 */
+
+		"GSSAPI",			/* RFC 4643 7.3, RFC 4752 */
+		"GS2",				/* RFC 5801 */
+		"SAML20",			/* RFC 6595 */
+		"OPENID",			/* RFC 6616 */
+		/* ... */
+#endif /* 0 */
+		/*
+		 * we exclude weak/obsolete
+		 * CRAM_MD5, DIGEST_MD5 (via RFC 6151, RFC 6331)
+		 * NTLM, LOGIN
+		 * SRP, PSSDSS
+		 */
+		NULL
+	};
 
 	buf[0] = '\0';
 
@@ -1181,7 +1264,8 @@ check_extensions(
 			nntp_caps.authinfo_user = FALSE;
 			nntp_caps.authinfo_sasl = FALSE;
 			nntp_caps.authinfo_state = FALSE;
-			nntp_caps.sasl = SASL_NONE;
+			FreeAndNull(nntp_caps.sasl_mechs);
+			/* nntp_caps.sasl_mech_used will be init in sasl_auth() */
 			nntp_caps.compress = FALSE;
 			nntp_caps.compress_algorithm = COMPRESS_NONE;
 			/* nntp_caps.maxartnum will be init it nntp_open() */
@@ -1203,48 +1287,48 @@ check_extensions(
 				/* look for version number(s) */
 				if (!nntp_caps.version && nntp_caps.type == CAPABILITIES) {
 					if (!strncasecmp(ptr, "VERSION", 7)) {
-						d = ptr + 7;
-						d = strpbrk(d, " \t");
-						while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) {
-							d++;
-							nntp_caps.version = (unsigned int) atoi(d);
-							d = strpbrk(d, " \t");
+						if (strtok(ptr, WS) != NULL) { /* skip initial VERSION */
+							unsigned int v, j;
+
+							while ((d = strtok(NULL, WS)) != NULL) { /* find highest version we do support */
+								v = (unsigned int) s2i(d, 2, INT_MAX);
+								for (j = 0; cap_vers[j]; j++) {
+									if (v == cap_vers[j])
+										nntp_caps.version = MAX(nntp_caps.version, v);
+								}
+							}
 						}
 					}
 				}
-				/* we currently only support CAPABILITIES VERSION 2 */
+				/* CAPABILITIES VERSION 2 (we currently only support that) */
 				if (nntp_caps.version == 2) {
-					/*
-					 * check for LIST variants
-					 */
+					/* check for LIST variants */
 					if (!strncasecmp(ptr, "LIST", 4)) {
-						d = ptr + 4;
-						d = strpbrk(d, " \t");
-						while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) {
-							d++;
-							if (!strncasecmp(d, "ACTIVE.TIMES", 12))
-								nntp_caps.list_active_times = TRUE;
-							else if (!strncasecmp(d, "ACTIVE", 6))
-								nntp_caps.list_active = TRUE;
-							else if (!strncasecmp(d, "DISTRIB.PATS", 12))
-								nntp_caps.list_distrib_pats = TRUE;
-							else if (!strncasecmp(d, "DISTRIBUTIONS", 13)) /* RFC 6048 */
-								nntp_caps.list_distributions = TRUE;
-							else if (!strncasecmp(d, "HEADERS", 7))
-								nntp_caps.list_headers = TRUE; /* HDR requires LIST HEADERS, but not vice versa */
-							else if (!strncasecmp(d, "NEWSGROUPS", 10))
-								nntp_caps.list_newsgroups = TRUE;
-							else if (!strncasecmp(d, "OVERVIEW.FMT", 12)) /* OVER requires OVERVIEW.FMT, but not vice versa */
-								nntp_caps.list_overview_fmt = TRUE;
-							else if (!strncasecmp(d, "MOTD", 4)) /* RFC 6048 */
-								nntp_caps.list_motd = TRUE;
-							else if (!strncasecmp(d, "SUBSCRIPTIONS", 13)) /* RFC 6048 */
-								nntp_caps.list_subscriptions = TRUE;
-							else if (!strncasecmp(d, "MODERATORS", 10)) /* RFC 6048 */
-								nntp_caps.list_moderators = TRUE;
-							else if (!strncasecmp(d, "COUNTS", 6)) /* RFC 6048 */
-								nntp_caps.list_counts = TRUE;
-							d = strpbrk(d, " \t");
+						if (strtok(ptr, WS) != NULL) { /* skip initial LIST */
+							while ((d = strtok(NULL, WS)) != NULL) {
+								if (!strcasecmp(d, "ACTIVE.TIMES"))
+									nntp_caps.list_active_times = TRUE;
+								else if (!strcasecmp(d, "ACTIVE"))
+									nntp_caps.list_active = TRUE;
+								else if (!strcasecmp(d, "DISTRIB.PATS"))
+									nntp_caps.list_distrib_pats = TRUE;
+								else if (!strcasecmp(d, "DISTRIBUTIONS")) /* RFC 6048 */
+									nntp_caps.list_distributions = TRUE;
+								else if (!strcasecmp(d, "HEADERS"))
+									nntp_caps.list_headers = TRUE; /* HDR requires LIST HEADERS, but not vice versa */
+								else if (!strcasecmp(d, "NEWSGROUPS"))
+									nntp_caps.list_newsgroups = TRUE;
+								else if (!strcasecmp(d, "OVERVIEW.FMT")) /* OVER requires OVERVIEW.FMT, but not vice versa */
+									nntp_caps.list_overview_fmt = TRUE;
+								else if (!strcasecmp(d, "MOTD")) /* RFC 6048 */
+									nntp_caps.list_motd = TRUE;
+								else if (!strcasecmp(d, "SUBSCRIPTIONS")) /* RFC 6048 */
+									nntp_caps.list_subscriptions = TRUE;
+								else if (!strcasecmp(d, "MODERATORS")) /* RFC 6048 */
+									nntp_caps.list_moderators = TRUE;
+								else if (!strcasecmp(d, "COUNTS")) /* RFC 6048 */
+									nntp_caps.list_counts = TRUE;
+							}
 						}
 					} else if (!strncasecmp(ptr, "IMPLEMENTATION", 14)) {
 						FreeIfNeeded(nntp_caps.implementation);
@@ -1272,13 +1356,11 @@ check_extensions(
 					else if (!strncasecmp(ptr, &xover_cmds[1], strlen(&xover_cmds[1]))) {
 						nntp_caps.list_overview_fmt = nntp_caps.over = TRUE;
 						nntp_caps.over_cmd = &xover_cmds[1];
-						d = ptr + strlen(&xover_cmds[1]);
-						d = strpbrk(d, " \t");
-						while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) {
-							d++;
-							if (!strcasecmp(d, "MSGID"))
-								nntp_caps.over_msgid = TRUE;
-							d = strpbrk(d, " \t");
+						if (strtok(ptr, WS) != NULL) {
+							while ((d = strtok(NULL, WS)) != NULL) {
+								if (!strcasecmp(d, "MSGID"))
+									nntp_caps.over_msgid = TRUE;
+							}
 						}
 					}
 					/*
@@ -1290,65 +1372,47 @@ check_extensions(
 						nntp_caps.headers_range = my_strdup("");
 						nntp_caps.headers_id = my_strdup("");
 					} else if (!strncasecmp(ptr, "AUTHINFO", 8)) {
-						d = ptr + 8;
-						d = strpbrk(d, " \t");
-						if (d == NULL) /* AUTHINFO without args */
+						if (strtok(ptr, WS) == NULL) /* AUTHINFO without args */
 							nntp_caps.authinfo_state = TRUE;
-						while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) {
-							d++;
-							if (!strncasecmp(d, "USER", 4))
-								nntp_caps.authinfo_user = TRUE;
-							if (!strncasecmp(d, "SASL", 4))
-								nntp_caps.authinfo_sasl = TRUE;
-							d = strpbrk(d, " \t");
+						else {
+							while ((d = strtok(NULL, WS)) != NULL) {
+								if (!strcasecmp(d, "USER"))
+									nntp_caps.authinfo_user = TRUE;
+								if (!strcasecmp(d, "SASL"))
+									nntp_caps.authinfo_sasl = TRUE;
+							}
 						}
 					} else if (!strncasecmp(ptr, "SASL", 4)) {
-						d = ptr + 4;
-						d = strpbrk(d, " \t");
-						while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) {
-							d++;
-							if (!strncasecmp(d, "CRAM-MD5", 8)) { /* RFC 2195 */
-								nntp_caps.authinfo_sasl = TRUE;
-								nntp_caps.sasl |= SASL_CRAM_MD5;
-							}
-							if (!strncasecmp(d, "DIGEST-MD5", 10)) { /* RFC 2831 */
-								nntp_caps.authinfo_sasl = TRUE;
-								nntp_caps.sasl |= SASL_DIGEST_MD5;
-							}
-							if (!strncasecmp(d, "PLAIN", 5)) { /* RFC 4616 */
-								nntp_caps.authinfo_sasl = TRUE;
-								nntp_caps.sasl |= SASL_PLAIN;
-							}
-							if (!strncasecmp(d, "GSSAPI", 6)) { /* RFC 4752 */
-								nntp_caps.authinfo_sasl = TRUE;
-								nntp_caps.sasl |= SASL_GSSAPI;
-							}
-							if (!strncasecmp(d, "EXTERNAL", 8)) { /* RFC 4422 */
-								nntp_caps.authinfo_sasl = TRUE;
-								nntp_caps.sasl |= SASL_EXTERNAL;
-							}
-							/* inn also can do these */
-							if (!strncasecmp(d, "OTP", 3)) { /* RFC 2444 */
-								nntp_caps.authinfo_sasl = TRUE;
-								nntp_caps.sasl |= SASL_OTP;
-							}
-							if (!strncasecmp(d, "NTLM", 4)) { /* Microsoft */
-								nntp_caps.authinfo_sasl = TRUE;
-								nntp_caps.sasl |= SASL_NTLM;
+						nntp_caps.authinfo_sasl = FALSE;
+						FreeAndNull(nntp_caps.sasl_mechs);
+						nntp_caps.sasl_mechs = my_malloc(strlen(ptr) + 1); /* more than enough */
+						nntp_caps.sasl_mechs[0] = '\0';
+
+						if (strtok(ptr, WS) != NULL) { /* skip initial "SASL" */
+							int m;
+
+							while ((d = strtok(NULL, WS)) != NULL) {
+								m = 0;
+								while (tin_mechs[m]) { /* remember servers mechs we like */
+									if (!strcasecmp(d, tin_mechs[m])) {
+										strcat(nntp_caps.sasl_mechs, d);
+										strcat(nntp_caps.sasl_mechs, " ");
+										break;
+									}
+									++m;
+								}
 							}
-							if (!strncasecmp(d, "LOGIN", 5)) { /* Microsoft */
+							str_trim(nntp_caps.sasl_mechs);
+							if (*nntp_caps.sasl_mechs)
 								nntp_caps.authinfo_sasl = TRUE;
-								nntp_caps.sasl |= SASL_LOGIN;
-							}
 						}
 					} else if (!strncasecmp(ptr, "COMPRESS", 8)) { /* RFC 8054 */
-						d = ptr + 8;
-						d = strpbrk(d, " \t");
-						while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) {
-							d++;
-							if (!strncasecmp(d, "DEFLATE", 7)) {
-								nntp_caps.compress = TRUE;
-								nntp_caps.compress_algorithm |= COMPRESS_DEFLATE;
+						if (strtok(ptr, WS) != NULL) {
+							while ((d = strtok(NULL, WS)) != NULL) {
+								if (!strcasecmp(d, "DEFLATE")) {
+									nntp_caps.compress = TRUE;
+									nntp_caps.compress_algorithm |= COMPRESS_DEFLATE;
+								}
 							}
 						}
 					}
@@ -1362,12 +1426,9 @@ check_extensions(
 					 * after it had been used ...
 					 */
 					else if (!strncasecmp(ptr, "MAXARTNUM", 9) && nntp_caps.maxartnum == T_ARTNUM_CONST(0)) {
-						d = ptr + 9;
-						d = strpbrk(d, " \t");
-						while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) {
-							d++;
-							nntp_caps.maxartnum = MIN(atoartnum(d), ARTNUM_MAX);
-							d = strpbrk(d, " \t");
+						if (strtok(ptr, WS) != NULL) {
+							while ((d = strtok(NULL, WS)) != NULL)
+								nntp_caps.maxartnum = MIN(atoartnum(d), ARTNUM_MAX);
 						}
 					}
 #	endif /* MAXARTNUM && USE_LONG_ARTICLE_NUMBERS */
@@ -1425,7 +1486,7 @@ mode_reader(
 			debug_print_file("NNTP", "mode_reader(MODE READER)");
 #	endif /* DEBUG */
 		DEBUG_IO((stderr, "nntp_command(MODE READER)\n"));
-		put_server("MODE READER");
+		put_server("MODE READER", FALSE);
 
 		/*
 		 * According to RFC 3977 (5.3), MODE READER may only return the
@@ -1567,8 +1628,8 @@ nntp_open(
 	if (!is_reconnect && *line) {
 		/* remove leading whitespace and save server's initial response */
 		linep = line;
-		while (isspace((int) *linep))
-			linep++;
+		while (isspace((unsigned char) *linep))
+			++linep;
 
 		STRCPY(bug_nntpserver1, linep);
 	}
@@ -1607,7 +1668,7 @@ nntp_open(
 			if ((debug & DEBUG_NNTP) && verbose > 1)
 				debug_print_file("NNTP", "nntp_open(MODE READER)");
 #	endif /* DEBUG */
-			put_server("MODE READER");
+			put_server("MODE READER", FALSE);
 			switch (get_only_respcode(buf, sizeof(buf))) {
 				/* just honor critical errors */
 				case ERR_GOODBYE:
@@ -1670,8 +1731,8 @@ nntp_open(
 
 		/* Remove leading white space and save server's second response */
 		linep = line;
-		while (isspace((int) *linep))
-			linep++;
+		while (isspace((unsigned char) *linep))
+			++linep;
 
 		STRCPY(bug_nntpserver2, linep);
 
@@ -1683,18 +1744,15 @@ nntp_open(
 		 * longer than two lines ...
 		 */
 		if (!batch_mode || verbose) {
-			char *chr1, *chr2;
-			int j;
-
-			j = atoi(get_val("COLUMNS", "80"));
-			chr1 = my_strdup((sec ? bug_nntpserver2 : bug_nntpserver1));
+			char *chr2, *chr1 = my_strdup((sec ? bug_nntpserver2 : bug_nntpserver1));
+			int j = s2i(get_val("COLUMNS", "80"), MIN_COLUMNS_ON_TERMINAL, INT_MAX);
 
 			if (j > MIN_COLUMNS_ON_TERMINAL && ((int) strlen(chr1)) >= j) {
 				chr2 = chr1 + strlen(chr1) - 1;
 				while (chr2 - chr1 >= j)
-					chr2--;
+					--chr2;
 				while (chr2 > chr1 && *chr2 != ' ')
-					chr2--;
+					--chr2;
 				if (chr2 != chr1)
 					*chr2 = '\n';
 			}
@@ -1736,7 +1794,7 @@ nntp_open(
 					break;
 			}
 		}
-		for (i = 0, j = 0; i < 2 && j >= 0; i++) {
+		for (i = j = 0; i < 2 && j >= 0; i++) {
 			j = new_nntp_command(&xhdr_cmds[i], ERR_CMDSYN, line, sizeof(line));
 			switch (j) {
 				case ERR_COMMAND:
@@ -1843,14 +1901,40 @@ nntp_open(
 	set_maxartnum(is_reconnect);
 #	endif /* MAXARTNUM && USE_LONG_ARTICLE_NUMBERS */
 
-	if (!is_reconnect && !batch_mode && show_description && check_for_new_newsgroups) {
-		/*
-		 * TODO:
-		 * - add a tinrc var to turn LIST MOTD on/off?
-		 *   (currently done automatically for -d, -q and -Q)
-		 */
-		if (nntp_caps.list_motd)
-			list_motd(NULL);
+	/* no no_write logic here as that's always set on initial connect */
+	if (((nntp_caps.type == CAPABILITIES && nntp_caps.list_motd) || nntp_caps.type != CAPABILITIES) && !is_reconnect && !batch_mode && show_description && check_for_new_newsgroups) {
+		FILE *fp;
+
+		if ((fp = tin_fopen(local_motd_file, "w+")) != NULL) {
+			char *motd;
+			unsigned int n;
+			long m_hash = list_motd(fp);
+
+			if (m_hash != motd_hash) {
+				if (fseek(fp, 0L, SEEK_SET) != -1) {
+					n = 0;
+#	ifdef HAVE_COLOR
+					fcol(tinrc.col_message);
+#	endif /* HAVE_COLOR */
+					while ((motd = tin_fgets(fp, FALSE)) != NULL) {
+						my_printf("%s\n", motd);
+						++n;
+					}
+					my_fflush(stdout);
+#	ifdef HAVE_COLOR
+					fcol(tinrc.col_normal);
+#	endif /* HAVE_COLOR */
+					if (n) {
+						if (!batch_mode || verbose)
+							sleep((n >> 1) | 0x01);
+					} else
+						unlink(local_motd_file);
+
+					motd_hash = m_hash;
+				} /* else EBADF */
+			}
+			fclose(fp);
+		}
 	}
 
 	is_reconnect = TRUE;
@@ -1910,8 +1994,8 @@ get_only_respcode(
 	char *message,
 	size_t mlen)
 {
-	int respcode;
 	char *end, *ptr;
+	int respcode;
 
 	ptr = tin_fgets(FAKE_NNTP_FP, FALSE);
 
@@ -1928,7 +2012,7 @@ get_only_respcode(
 		debug_print_file("NNTP", "<<<%s%s", logtime(), ptr);
 #	endif /* DEBUG */
 	respcode = (int) strtol(ptr, &end, 10);
-	if (end == ptr) /* no leading numbers in response */
+	if (end == ptr || respcode < 100 || respcode > 599)
 		respcode = -1;
 	DEBUG_IO((stderr, "get_only_respcode(%d)\n", respcode));
 
@@ -1938,7 +2022,7 @@ get_only_respcode(
 	 *
 	 * what about other LIST cmds? (ACTIVE|COUNTS|OVERVIEW.FMT|...)
 	 */
-	if (last_put[0] != '\0' && ((respcode == ERR_FAULT && (!strncmp(last_put, "ARTICLE", 7) || !strcmp(last_put, "POST") || !strcmp(last_put, "LIST"))) || respcode == ERR_GOODBYE || respcode == OK_GOODBYE) && strcmp(last_put, "QUIT")) {
+	if (*last_put && ((respcode == ERR_FAULT && (!strncmp(last_put, "ARTICLE", 7) || !strcmp(last_put, "POST") || !strcmp(last_put, "LIST"))) || respcode == ERR_GOODBYE || respcode == OK_GOODBYE) && strcmp(last_put, "QUIT")) {
 		if (respcode == ERR_GOODBYE && !strncmp(last_put, "HEAD ", 5)) {
 			/* usenetfarm may send ERR_GOODBYE in response to HEAD, we don't want to retry that */
 			return respcode;
@@ -1951,7 +2035,7 @@ get_only_respcode(
 		if ((debug & DEBUG_NNTP) && verbose > 1)
 			debug_print_file("NNTP", "get_only_respcode() timeout");
 #	endif /* DEBUG */
-		put_server(last_put);
+		put_server(last_put, FALSE);
 		ptr = tin_fgets(FAKE_NNTP_FP, FALSE);
 
 		if (tin_errno || ptr == NULL) {
@@ -1967,7 +2051,7 @@ get_only_respcode(
 			debug_print_file("NNTP", "<<<%s%s", logtime(), ptr);
 #	endif /* DEBUG */
 		respcode = (int) strtol(ptr, &end, 10);
-		if (end == ptr) /* no leading numbers in response */
+		if (end == ptr || respcode < 100 || respcode > 599)
 			respcode = -1;
 		DEBUG_IO((stderr, "get_only_respcode(%d)\n", respcode));
 	}
@@ -1998,15 +2082,14 @@ get_respcode(
 	char *message,
 	size_t mlen)
 {
-	int respcode;
-	char savebuf[NNTP_STRLEN];
 	char *ptr, *end;
+	char savebuf[NNTP_STRLEN];
+	int respcode = get_only_respcode(message, mlen);
 
-	respcode = get_only_respcode(message, mlen);
 	if ((respcode == ERR_NOAUTH) || (respcode == NEED_AUTHINFO)) {
 #	ifdef USE_ZLIB
 		if (deflate_active) /* Do not auth if compression is active */
-			tin_done(EXIT_FAILURE, _(txt_error_compression_auth), tin_progname);
+			tin_done(EXIT_FAILURE, _(txt_error_compression_auth), tin_progname); /* TODO: should we exit with NNTP_ERROR_EXIT? */
 #	endif /* USE_ZLIB */
 
 		/*
@@ -2019,19 +2102,19 @@ get_respcode(
 		STRCPY(savebuf, last_put);
 
 		if (!authenticate(nntp_server, userid, FALSE))
-			tin_done(EXIT_FAILURE, _(txt_auth_failed), nntp_caps.type == CAPABILITIES ? ERR_AUTHFAIL : ERR_ACCESS);
+			tin_done(EXIT_FAILURE, _(txt_auth_failed), nntp_caps.type == CAPABILITIES ? ERR_AUTHFAIL : ERR_ACCESS); /* TODO: should we exit with NNTP_ERROR_EXIT? */
 
 		if (nntp_caps.type == CAPABILITIES)
 			can_post = nntp_caps.post && !force_no_post;
 		else {
-			put_server("MODE READER");
+			put_server("MODE READER", FALSE);
 			if (get_only_respcode(message, mlen) == OK_CANPOST)
 				can_post = TRUE && !force_no_post;
 		}
 		if (curr_group != NULL) {
 			DEBUG_IO((stderr, _("Rejoin current group\n")));
 			snprintf(last_put, sizeof(last_put), "GROUP %s", curr_group->name);
-			put_server(last_put);
+			put_server(last_put, FALSE);
 			if (nntpbuf_gets(last_put, NNTP_STRLEN, &nntp_buf) == NULL)
 				*last_put = '\0';
 #	ifdef DEBUG
@@ -2042,7 +2125,7 @@ get_respcode(
 		}
 		STRCPY(last_put, savebuf);
 
-		put_server(last_put);
+		put_server(last_put, FALSE);
 		ptr = tin_fgets(FAKE_NNTP_FP, FALSE);
 
 		if (tin_errno) {
@@ -2061,7 +2144,7 @@ get_respcode(
 			return -1;
 
 		respcode = (int) strtol(ptr, &end, 10);
-		if (end == ptr)	/* no leading numbers in response */
+		if (end == ptr || respcode < 100 || respcode > 599)
 			return -1;
 
 		if (message != NULL && mlen > 1) {				/* Pass out the rest of the text */
@@ -2092,7 +2175,7 @@ DEBUG_IO((stderr, "nntp_command(%s)\n",
 	if ((debug & DEBUG_NNTP) && verbose > 1)
 		debug_print_file("NNTP", "nntp_command(%s)", command);
 #	endif /* DEBUG */
-	put_server(command);
+	put_server(command, FALSE);
 
 	if (!bool_equal(dangerous_signal_exit, TRUE)) {
 		if (get_respcode(message, mlen) != success) {
@@ -2131,7 +2214,7 @@ DEBUG_IO((stderr, "new_nntp_command(%s)\
 	if ((debug & DEBUG_NNTP) && verbose > 1)
 		debug_print_file("NNTP", "new_nntp_command(%s)", command);
 #	endif /* DEBUG */
-	put_server(command);
+	put_server(command, FALSE);
 
 	if (!bool_equal(dangerous_signal_exit, TRUE)) {
 		if ((respcode = get_respcode(message, mlen)) != success) {
@@ -2150,60 +2233,63 @@ DEBUG_IO((stderr, "new_nntp_command(%s)\
 }
 
 
-static void
+static long int
 list_motd(
 	FILE *stream)
 {
-	char *ptr;
-	char *p;
+	char *ptr, *p, *m;
 	char buf[NNTP_STRLEN];
-	int i;
 	size_t len;
-	unsigned int l = 0;
+	long m_hash = 0L;
+#	if defined(CHARSET_CONVERSION) && defined(USE_ICU_UCSDET)
+	char *guessed_charset;
+#	endif /* CHARSET_CONVERSION && USE_ICU_UCSDET */
 
+	if (!stream)
+		return m_hash;
+
+	m = my_calloc(1, 1);
 	buf[0] = '\0';
-	i = new_nntp_command("LIST MOTD", OK_MOTD, buf, sizeof(buf));
 
-	switch (i) {
+	switch (new_nntp_command("LIST MOTD", OK_MOTD, buf, sizeof(buf))) {
 		case OK_MOTD:
-#	ifdef HAVE_COLOR
-			if (!stream) /* just on startup */
-				fcol(tinrc.col_message);
-#	endif /* HAVE_COLOR */
-
 			while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) {
 #	ifdef DEBUG
 				if (debug & DEBUG_NNTP)
 					debug_print_file("NNTP", "<<<%s%s", logtime(), ptr);
 #	endif /* DEBUG */
+				p = my_strdup(ptr);
+				len = strlen(p);
+
+				/* original MOTD for hashing as local charset may change */
+				m = append_to_string(m, p);
+
 				/*
 				 * RFC 6048 2.5.2 "The information MUST be in UTF-8"
+				 * but the cmd. was widely available before that RFC and
+				 * even before RFC 3977(which doesn't mention it *sigh*),
+				 * so checking nntp_caps.type doesn't help and we guess if
+				 * we can. Some day we may check for nntp_caps.version > 2 ...
 				 */
-				p = my_strdup(ptr);
-				len = strlen(p);
-				process_charsets(&p, &len, "UTF-8", tinrc.mm_local_charset, FALSE);
-				if (stream && !l)
-					fprintf(stream, "\n");
-				if (stream)
-					fprintf(stream, _(txt_motd), p);
-				else
-					my_printf(_(txt_motd), p);
+#	if defined(CHARSET_CONVERSION) && defined(USE_ICU_UCSDET)
+				if ((guessed_charset = guess_charset(p, 10)) != NULL) {
+					process_charsets(&p, &len, guessed_charset, tinrc.mm_local_charset, FALSE);
+					free(guessed_charset);
+				} else
+#	endif /* CHARSET_CONVERSION && USE_ICU_UCSDET */
+					process_charsets(&p, &len, "UTF-8", tinrc.mm_local_charset, FALSE);
+
+				fprintf(stream, _(txt_motd), p);
 				free(p);
-				l++;
-			}
-#	ifdef HAVE_COLOR
-			if (!stream)
-				fcol(tinrc.col_normal);
-#	endif /* HAVE_COLOR */
-			if (l && !stream) { /* no sleep in nntp_conninfo() */
-				my_flush();
-				sleep((l >> 1) | 0x01);
 			}
+			m_hash = (long int) hash_groupname(m);
 			break;
 
 		default:	/* common response codes are 500, 501, 503 */
 			break;
 	}
+	free(m);
+	return m_hash;
 }
 
 
@@ -2230,7 +2316,8 @@ nntp_write(
 }
 
 
-ssize_t nntp_read(
+static ssize_t
+nntp_read(
 	int fd,
 	void *tls,
 	void *buf,
@@ -2255,9 +2342,9 @@ ssize_t nntp_read(
 #define SZ(a) sizeof((a))
 
 #	ifdef USE_ZLIB
-static void *
+static voidpf
 deflate_alloc(
-	void *user,
+	voidpf user,
 	uInt items,
 	uInt size)
 {
@@ -2268,8 +2355,8 @@ deflate_alloc(
 
 static void
 deflate_free(
-	void *user,
-	void *ptr)
+	voidpf user,
+	voidpf ptr)
 {
 	(void) user;
 	FreeIfNeeded(ptr);
@@ -2303,7 +2390,6 @@ enable_deflate(
 	struct nntpbuf* nntpbuf)
 {
 	char buf[NNTP_STRLEN];
-	int result;
 
 	if (nntpbuf->z_rd || nntpbuf->z_wr)
 		return;
@@ -2323,9 +2409,7 @@ enable_deflate(
 	nntpbuf->z_wr->avail_out = DEFLATE_BUFSZ;
 
 	buf[0] = '\0';
-	result = new_nntp_command("COMPRESS DEFLATE", OK_COMPRESS, buf, sizeof(buf));
-
-	switch (result) {
+	switch (new_nntp_command("COMPRESS DEFLATE", OK_COMPRESS, buf, sizeof(buf))) {
 		case OK_COMPRESS:
 			deflate_active = TRUE;
 			return;
@@ -2348,7 +2432,6 @@ static ssize_t
 nntpbuf_deflate_write(
 	struct nntpbuf* buf)
 {
-	int result;
 	ssize_t bytes_written = 0, bwritten;
 	t_bool deflate_again = TRUE;
 
@@ -2358,8 +2441,7 @@ nntpbuf_deflate_write(
 	while (deflate_again) {
 		Bytef *out = buf->z_wr->next_out;
 
-		result = deflate(buf->z_wr, Z_PARTIAL_FLUSH);
-		if (result < 0)
+		if (deflate(buf->z_wr, Z_PARTIAL_FLUSH) < 0)
 			return EOF;
 
 		if (buf->z_wr->avail_in > 0 || buf->z_wr->avail_out == 0)
@@ -2368,8 +2450,7 @@ nntpbuf_deflate_write(
 			deflate_again = FALSE;
 
 		while (buf->z_wr->avail_out < DEFLATE_BUFSZ) {
-			bwritten = nntp_write(buf->fd, buf->tls_ctx, out, DEFLATE_BUFSZ - buf->z_wr->avail_out);
-			if (bwritten < 0)
+			if ((bwritten = nntp_write(buf->fd, buf->tls_ctx, out, DEFLATE_BUFSZ - buf->z_wr->avail_out)) < 0)
 				return EOF;
 
 			buf->z_wr->avail_out += bwritten;
@@ -2387,9 +2468,8 @@ static ssize_t
 nntpbuf_inflate(
 	struct nntpbuf* buf)
 {
-	int result;
+	int result = inflate(buf->z_rd, Z_NO_FLUSH);
 
-	result = inflate(buf->z_rd, Z_NO_FLUSH);
 	if (result < 0 && result != Z_BUF_ERROR)
 		return EOF;
 
@@ -2413,21 +2493,18 @@ nntpbuf_inflate_read(
 
 	/* call inflate unconditionally to make sure there is no pending output
 	   left, before calling the possibly blocking read below */
-	bytes_read = nntpbuf_inflate(buf);
-	if (bytes_read < 0)
+	if ((bytes_read = nntpbuf_inflate(buf)) < 0)
 		return bytes_read;
 
 	while (bytes_read == 0) {
 		if (buf->z_rd->avail_in < DEFLATE_BUFSZ) {
-			bread = nntp_read(buf->fd, buf->tls_ctx, buf->z_rd->next_in, DEFLATE_BUFSZ - buf->z_rd->avail_in);
-			if (bread <= 0)
+			if ((bread = nntp_read(buf->fd, buf->tls_ctx, buf->z_rd->next_in, DEFLATE_BUFSZ - buf->z_rd->avail_in)) <= 0)
 				return EOF;
 
 			buf->z_rd->avail_in += bread;
 		}
 
-		bread = nntpbuf_inflate(buf);
-		if (bread < 0)
+		if ((bread = nntpbuf_inflate(buf)) < 0)
 			return bread;
 
 		bytes_read += bread;
@@ -2478,7 +2555,7 @@ nntpbuf_puts(
 	struct nntpbuf* buf)
 {
 	int bytes_written = 0, retval;
-	unsigned len, l;
+	size_t len, l;
 
 	if (!buf || SZ(buf->wr.buf) == 0 || buf->wr.lb > buf->wr.ub)
 		return EOF;
@@ -2489,9 +2566,7 @@ nntpbuf_puts(
 	len = strlen(data);
 	while (len) {
 		if (buf->wr.ub == SZ(buf->wr.buf)) {
-			retval = nntpbuf_flush(buf);
-
-			if (retval != 0)
+			if ((retval = nntpbuf_flush(buf)) != 0)
 				return retval;
 		}
 
@@ -2522,8 +2597,7 @@ nntpbuf_refill(
 	if (buf->rd.ub == buf->rd.lb)
 		buf->rd.ub = buf->rd.lb = 0;
 
-	free_b = SZ(buf->rd.buf) - buf->rd.ub;
-	if (free_b) {
+	if ((free_b = SZ(buf->rd.buf) - buf->rd.ub)) {
 		ssize_t bytes_read;
 
 #	ifdef USE_ZLIB
@@ -2549,12 +2623,10 @@ static int
 nntpbuf_getc(
 	struct nntpbuf *buf)
 {
-	int c = EOF, retval;
+	int c, retval;
 
 	if (buf->rd.ub - buf->rd.lb == 0) {
-		retval = nntpbuf_refill(buf);
-
-		if (retval <= 0)
+		if ((retval = nntpbuf_refill(buf)) <= 0)
 			return retval;
 	}
 
@@ -2583,7 +2655,7 @@ nntpbuf_ungetc(
 	}
 
 	buf->rd.lb--;
-	buf->rd.buf[buf->rd.lb] = (unsigned char)c;
+	buf->rd.buf[buf->rd.lb] = (unsigned char) c;
 
 	return c;
 }
@@ -2598,7 +2670,7 @@ nntpbuf_gets(
 	int size,
 	struct nntpbuf *buf)
 {
-	int write_at = 0, retval;
+	int write_at = 0;
 
 	if (s == NULL || size == 0)
 		return s;
@@ -2607,15 +2679,13 @@ nntpbuf_gets(
 
 	while (size) {
 		if (buf->rd.ub - buf->rd.lb == 0) {
-			retval = nntpbuf_refill(buf);
-
-			if (retval <= 0)
+			if (nntpbuf_refill(buf) <= 0)
 				return NULL;
 		}
 
 		while (size && (buf->rd.ub - buf->rd.lb) > 0) {
-			s[write_at++] = buf->rd.buf[buf->rd.lb++];
-			size--;
+			((unsigned char *) s)[write_at++] = buf->rd.buf[buf->rd.lb++];
+			--size;
 
 			if (s[write_at - 1] == '\n' && size) {
 				s[write_at] = '\0';
@@ -2640,7 +2710,7 @@ nntpbuf_close(
 		int result = tintls_close(buf->tls_ctx);
 
 		if (result != 0) {
-			/* warn? */
+			/* TODO: warn? */
 		}
 	}
 	buf->tls_ctx = NULL;
@@ -2678,10 +2748,18 @@ nntpbuf_is_open(
 {
 	return buf->fd != -1;
 }
-
 #undef SZ
 
 
+/*
+ * TODO: - add servers (and clients) "DATE" ((both) in GMT)?
+ *         NOTE: - we may still use localtime() in NEWGROUPS (and two
+ *                 didgit year) if not using a RFC 3977 server.
+ *               - instead of displaying the clients "current" time (in GMT)
+ *                 it might be more helpful to display the time of the last
+ *                 connection to that server (as used in NEWGROUP)
+ *       - mention used IP
+ */
 int
 nntp_conninfo(
 	FILE *stream)
@@ -2691,8 +2769,36 @@ nntp_conninfo(
 	fprintf(stream, "%s", _(txt_conninfo_conn_details));
 	fprintf(stream, _(txt_conninfo_server), nntp_server);
 	fprintf(stream, _(txt_conninfo_port), nntp_tcp_port);
+
+#	if defined(HAVE_GETPEERNAME) || defined(TLI)
+	switch (nntp_buf.family) {
+		case AF_INET:
+			fprintf(stream, _(txt_conninfo_type), "IPv4");
+			break;
+
+#		ifdef INET6
+		case AF_INET6:
+			fprintf(stream, _(txt_conninfo_type), "IPv6");
+			break;
+#		endif /* INET6 */
+
+#		ifdef DECNET
+		case AF_DECnet:
+			fprintf(stream, _(txt_conninfo_type), "DECnet");
+			break;
+#		endif /* DECNET */
+
+		default: /* should not happen */
+#		ifdef DEBUG
+			fprintf(stream, "CONNECTIONTYPE: unknown type %d\n", nntp_buf.family);
+#		endif /* DEBUG */
+			break;
+	}
+#	endif /* HAVE_GETPEERNAME || TLI */
+
 	if (nntp_caps.type == CAPABILITIES) {
-		if (*nntp_caps.implementation)
+		fprintf(stream, "\n");
+		if (nntp_caps.implementation && *nntp_caps.implementation)
 			fprintf(stream, _(txt_conninfo_implementation), nntp_caps.implementation);
 		if (nntp_caps.compress) {
 			fprintf(stream, "%s", _(txt_conninfo_compress));
@@ -2706,12 +2812,18 @@ nntp_conninfo(
 		}
 #	if defined(MAXARTNUM) && defined(USE_LONG_ARTICLE_NUMBERS)
 		if (nntp_caps.maxartnum) {
-			size_t len = snprintf(NULL, 0, "%"T_ARTNUM_PFMT, nntp_caps.maxartnum) + 1;
-			char *buf = my_malloc(len);
-
-			snprintf(buf, len, "%"T_ARTNUM_PFMT, nntp_caps.maxartnum);
-			fprintf(stream, _(txt_conninfo_maxartnum), buf);
-			free(buf);
+			char *buf;
+			int n;
+			size_t len;
+
+			if ((n = snprintf(NULL, 0, "%"T_ARTNUM_PFMT, nntp_caps.maxartnum)) > 0) {
+				len = (size_t) n + 1;
+				buf = my_malloc(len);
+
+				if (snprintf(buf, len, "%"T_ARTNUM_PFMT, nntp_caps.maxartnum) == n)
+					fprintf(stream, _(txt_conninfo_maxartnum), buf);
+				free(buf);
+			}
 		}
 #	endif /* MAXARTNUM && USE_LONG_ARTICLE_NUMBERS */
 	}
@@ -2720,9 +2832,26 @@ nntp_conninfo(
 	fprintf(stream, _(txt_conninfo_timeout), TIN_NNTP_TIMEOUT, TIN_NNTP_TIMEOUT ? "" : _(txt_conninfo_disabled));
 #	endif /* HAVE_ALARM && SIGALRM */
 
-#	ifdef NNTP_ABLE
-	list_motd(stream);
-#	endif /* NNTPS_ABLE */
+#	ifdef USE_GSASL
+	if (nntp_caps.type == CAPABILITIES && nntp_caps.authinfo_sasl) {
+		fprintf(stream, _(txt_usable_sasl_mechs), nntp_caps.sasl_mechs ? nntp_caps.sasl_mechs : _(txt_none));
+		fprintf(stream, _(txt_used_sasl_mech), nntp_caps.sasl_mech_used ? nntp_caps.sasl_mech_used : _(txt_none));
+	}
+#	endif /* USE_GSASL */
+
+	{
+		char *motd;
+		FILE *fp_motd;
+
+		fprintf(stream, "\n");
+		if ((fp_motd = tin_fopen(local_motd_file, "r")) != NULL) { /* use local cache */
+			while ((motd = tin_fgets(fp_motd, FALSE)) != NULL)
+				fprintf(stream, "%s\n", motd);
+
+			fclose(fp_motd);
+		} else
+			(void) list_motd(stream);
+	}
 
 #	ifdef NNTPS_ABLE
 	if (nntp_buf.tls_ctx)
@@ -2748,7 +2877,7 @@ set_maxartnum(
 	if (nntp_caps.maxartnum < T_ARTNUM_CONST(2147483647) || (!reconnect && cnt))
 		return;
 	else
-		cnt++;
+		++cnt;
 
 	snprintf(cmd, sizeof(cmd), "MAXARTNUM %"T_ARTNUM_PFMT, nntp_caps.maxartnum);
 
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/nntps.c tin-2.6.4/src/nntps.c
--- tin-2.6.3/src/nntps.c	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/nntps.c	2024-12-23 21:22:36.574386792 +0100
@@ -3,9 +3,9 @@
  *  Module    : nntps.c
  *  Author    : E. Berkhan
  *  Created   : 2022-09-10
- *  Updated   : 2023-12-20
+ *  Updated   : 2024-12-23
  *  Notes     : simple abstraction for various TLS implementations
- *  Copyright : (c) Copyright 2022-2024 Enrik Berkhan <Enrik.Berkhan@inka.de>
+ *  Copyright : (c) Copyright 2022-2025 Enrik Berkhan <Enrik.Berkhan@inka.de>
  *              Permission is hereby granted to copy, reproduce, redistribute
  *              or otherwise use this software  as long as: there is no
  *              monetary  profit  gained  specifically  from the use or
@@ -68,24 +68,23 @@ int
 tintls_init(
 	void)
 {
+	char *ca_cert_file = ca_cert_file_expanded;
+#ifdef USE_GNUTLS
 	int result = 0;
-	const char *ca_cert_file = ca_cert_file_expanded;
+#endif /* USE_GNUTLS */
 
-	if (tinrc.tls_ca_cert_file[0] != '\0') {
-		result = strfpath(tinrc.tls_ca_cert_file, ca_cert_file_expanded, sizeof(ca_cert_file_expanded), NULL, FALSE);
-		if (result == 0)
+	if (tinrc.tls_ca_cert_file && *tinrc.tls_ca_cert_file) {
+		if (strfpath(tinrc.tls_ca_cert_file, ca_cert_file_expanded, sizeof(ca_cert_file_expanded), NULL, FALSE) == 0)
 			return -EINVAL;
 	} else
 		ca_cert_file_expanded[0] = '\0';
 
 #ifdef USE_LIBTLS
-
 	/*
 	 * libtls does not support compression, no actions needed to disable.
 	 */
 
-	libtls_config = tls_config_new();
-	if (!libtls_config) {
+	if ((libtls_config = tls_config_new()) == NULL) {
 		error_message(2, "tls_config_new: out of memory!\n");
 		return -ENOMEM;
 	}
@@ -97,12 +96,11 @@ tintls_init(
 	 * can be triggered.
 	 * (see https://git.causal.agency/libretls/about/#Compatibility)
 	 */
-	if (ca_cert_file[0] != '\0') {
-		result = tls_config_set_ca_file(libtls_config, ca_cert_file);
-		if (result != 0) {
+	if (*ca_cert_file) {
+		if (tls_config_set_ca_file(libtls_config, ca_cert_file) != 0) {
+			error_message(2, "%s!\n", tls_config_error(libtls_config));
 			tls_config_free(libtls_config);
 			libtls_config = NULL;
-			error_message(2, "tls_config_set_ca_file: %d!\n", result);
 			return -EINVAL;
 		}
 	}
@@ -130,26 +128,23 @@ tintls_init(
 	}
 #		endif /* DEBUG */
 
-	result = gnutls_certificate_allocate_credentials(&tls_xcreds);
-	if (result < 0) {
+	if (gnutls_certificate_allocate_credentials(&tls_xcreds) < 0) {
 		error_message(2, "gnutls_certificate_allocate_credentials: out of memory!\n");
 		return -ENOMEM;
 	}
 
-	if (ca_cert_file[0] == '\0') {
-		result = gnutls_certificate_set_x509_system_trust(tls_xcreds);
-		if (result < 0) {
+	if (!*ca_cert_file) {
+		if ((result = gnutls_certificate_set_x509_system_trust(tls_xcreds)) < 0) {
+			error_message(2, "gnutls_certificate_set_x509_system_trust: %s (%d)!\n", gnutls_strerror(result), result);
 			gnutls_certificate_free_credentials(tls_xcreds);
 			tls_xcreds = NULL;
-			error_message(2, "gnutls_certificate_set_x509_system_trust: %d!\n", result);
 			return -EINVAL;
 		}
 	} else {
-		result = gnutls_certificate_set_x509_trust_file(tls_xcreds, ca_cert_file, GNUTLS_X509_FMT_PEM);
-		if (result < 0) {
+		if ((result = gnutls_certificate_set_x509_trust_file(tls_xcreds, ca_cert_file, GNUTLS_X509_FMT_PEM)) < 0) {
+			error_message(2, "gnutls_certificate_set_x509_trust_file: %s (%d): \"%s\"!\n", gnutls_strerror(result), result, ca_cert_file);
 			gnutls_certificate_free_credentials(tls_xcreds);
 			tls_xcreds = NULL;
-			error_message(2, "gnutls_certificate_set_x509_trust_file: %d!\n", result);
 			return -EINVAL;
 		}
 	}
@@ -158,14 +153,12 @@ tintls_init(
 #		ifdef USE_OPENSSL
 	ERR_clear_error();
 
-	result = RAND_status();
-	if (result != 1) {
+	if (RAND_status() != 1) {
 		show_errors("RAND_status: %s!\n");
 		return -EINVAL;
 	}
 
-	openssl_ctx = SSL_CTX_new(TLS_method());
-	if (!openssl_ctx) {
+	if ((openssl_ctx = SSL_CTX_new(TLS_method())) == NULL) {
 		show_errors("SSL_CTX_new: %s!\n");
 		return -ENOMEM;
 	}
@@ -178,17 +171,15 @@ tintls_init(
 	 */
 	SSL_CTX_set_options(openssl_ctx, SSL_OP_NO_COMPRESSION);
 
-	if (ca_cert_file[0] == '\0') {
-		result = SSL_CTX_set_default_verify_paths(openssl_ctx);
-		if (result != 1) {
+	if (!*ca_cert_file) {
+		if (SSL_CTX_set_default_verify_paths(openssl_ctx) != 1) {
 			SSL_CTX_free(openssl_ctx);
 			openssl_ctx = NULL;
 			show_errors("SSL_CTX_set_default_verify_paths: %s!\n");
 			return -EINVAL;
 		}
 	} else {
-		result = SSL_CTX_load_verify_locations(openssl_ctx, ca_cert_file, NULL);
-		if (result != 1) {
+		if (SSL_CTX_load_verify_locations(openssl_ctx, ca_cert_file, NULL) != 1) {
 			SSL_CTX_free(openssl_ctx);
 			openssl_ctx = NULL;
 			show_errors("SSL_CTX_load_verify_locations: %s!\n");
@@ -249,7 +240,6 @@ tintls_open(
 	void **session_ctx)
 {
 #ifdef USE_LIBTLS
-	int result;
 	struct tls *client;
 
 	if (!session_ctx)
@@ -257,19 +247,17 @@ tintls_open(
 
 	*session_ctx = NULL;
 
-	client = tls_client();
-	if (!client)
+	if ((client = tls_client()) == NULL)
 		return -ENOMEM;
 
-	result = tls_configure(client, libtls_config);
-	if (result == -1) {
+	if (tls_configure(client, libtls_config) == -1) {
 		tls_free(client);
 		return -ENOMEM;
 	}
 
-	result = tls_connect_socket(client, fd, servername);
-	if (result == -1) {
+	if (tls_connect_socket(client, fd, servername) == -1) {
 		tls_free(client);
+		tintls_exit();
 		return -ENOMEM;
 	}
 
@@ -277,40 +265,32 @@ tintls_open(
 
 #else
 #	ifdef USE_GNUTLS
-	int result;
 	gnutls_session_t client;
-	size_t servername_len;
 
 	if (!session_ctx)
 		return -EINVAL;
 
 	*session_ctx = NULL;
 
-	result = gnutls_init(&client, GNUTLS_CLIENT | GNUTLS_AUTO_REAUTH | GNUTLS_POST_HANDSHAKE_AUTH);
-	if (result < 0)
+	if (gnutls_init(&client, GNUTLS_CLIENT | GNUTLS_AUTO_REAUTH | GNUTLS_POST_HANDSHAKE_AUTH) < 0)
 		return -ENOMEM;
 
-	result = gnutls_server_name_set(client, GNUTLS_NAME_DNS, servername, strlen(servername));
-	if (result < 0) {
+	if (gnutls_server_name_set(client, GNUTLS_NAME_DNS, servername, strlen(servername)) < 0) {
 		gnutls_deinit(client);
 		return -ENOMEM;
 	}
 
-	result = gnutls_set_default_priority(client);
-	if (result < 0) {
+	if (gnutls_set_default_priority(client) < 0) {
 		gnutls_deinit(client);
 		return -EINVAL;
 	}
 
-	result = gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE, tls_xcreds);
-	if (result < 0) {
+	if (gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE, tls_xcreds) < 0) {
 		gnutls_deinit(client);
 		return -EINVAL;
 	}
 
-	servername_len = strlen(servername) + 1;
-	gnutls_servername = my_malloc(servername_len);
-	strncpy(gnutls_servername, servername, servername_len);
+	gnutls_servername = my_strdup(servername);
 	gnutls_session_set_verify_function(client, &verification_func);
 
 	gnutls_transport_set_int(client, fd);
@@ -320,8 +300,6 @@ tintls_open(
 
 #	else
 #		ifdef USE_OPENSSL
-	int result;
-	int long_result;
 	SSL *ssl;
 	BIO *sock;
 	BIO *client;
@@ -346,24 +324,21 @@ tintls_open(
 		return -ENOMEM;
 	}
 
-	long_result = BIO_get_ssl(client, &ssl);
-	if (long_result != 1) {
+	if (BIO_get_ssl(client, &ssl) != 1) {
 		BIO_free(client);
 		BIO_free(sock);
 		show_errors("BIO_get_ssl: %s!\n");
 		return -EINVAL;
 	}
 
-	result = SSL_set_tlsext_host_name(ssl, servername);
-	if (result != 1) {
+	if (SSL_set_tlsext_host_name(ssl, servername) != 1) {
 		BIO_free(client);
 		BIO_free(sock);
 		show_errors("SSL_set_tlsext_host_name: %s!\n");
 		return -EINVAL;
 	}
 
-	result = SSL_set1_host(ssl, servername);
-	if (result != 1) {
+	if (SSL_set1_host(ssl, servername) != 1) {
 		BIO_free(client);
 		BIO_free(sock);
 		show_errors("SSL_set1_host: %s!\n");
@@ -403,7 +378,7 @@ tintls_handshake(
 	if (result < 0) {
 		const char *err = tls_error(client);
 
-		error_message(2, _(txt_tls_handshake_failed), err ? err : _(txt_tls_unknown_error));
+		error_message(2, _(txt_tls_handshake_failed), err ? err : _(txt_unknown_error));
 		return -EPROTO;
 	}
 
@@ -412,11 +387,10 @@ tintls_handshake(
 		io_buf = BIO_new(BIO_s_mem());
 
 	if (chain && io_buf) {
-		X509 *cert;
-		char **cert_info;
-
 		if (chain_size > 0 && BIO_write(io_buf, chain, chain_size) > 0) {
-			cert = PEM_read_bio_X509(io_buf, NULL, 0, NULL);
+			char **cert_info;
+			X509 *cert = PEM_read_bio_X509(io_buf, NULL, NULL, NULL);
+
 			if (cert && ((cert_info = get_cert_info(cert)))) {
 				wait_message(0, _(txt_conninfo_subject), cert_info[0] ? cert_info[0] : _(txt_retr_subject_failed));
 				wait_message(0, _(txt_conninfo_issuer), cert_info[1] ? cert_info[1] : _(txt_retr_issuer_failed));
@@ -465,14 +439,12 @@ tintls_handshake(
 
 	if (result < 0) {
 		if (gnutls_verification_status != 0) {
-			int status_result;
 			int type;
 			gnutls_datum_t msg;
 
 			type = gnutls_certificate_type_get2(client, GNUTLS_CTYPE_SERVER);
-			status_result = gnutls_certificate_verification_status_print(gnutls_verification_status, type, &msg, 0);
 
-			if (status_result == 0)
+			if (gnutls_certificate_verification_status_print(gnutls_verification_status, type, &msg, 0) == 0)
 				wait_message(0, _(txt_tls_peer_verify_failed), msg.data);
 			else
 				wait_message(0, _(txt_tls_peer_verify_failed), _(txt_tls_unable_to_get_status));
@@ -500,11 +472,10 @@ tintls_handshake(
 			type = gnutls_certificate_type_get2(client, GNUTLS_CTYPE_SERVER);
 			result = gnutls_certificate_verification_status_print(gnutls_verification_status, type, &msg, 0);
 
-			if (result == 0) {
+			if (result == 0)
 				wait_message(0, _(txt_tls_peer_verify_failed_continuing), msg.data);
-			} else {
+			else
 				wait_message(0, _(txt_tls_peer_verify_failed_continuing), _(txt_tls_unable_to_get_status));
-			}
 
 			gnutls_free(msg.data);
 
@@ -544,17 +515,18 @@ tintls_handshake(
 
 			if (!batch_mode || verbose) {
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-				char *sub = my_strdup((char *) subject.data);
-				char *iss = my_strdup((char *) issuer.data);
-				size_t len_s = strlen(sub);
-				size_t len_i = strlen(iss);
-
-				process_charsets(&sub, &len_s, "UTF-8", tinrc.mm_local_charset, FALSE);
-				process_charsets(&iss, &len_i, "UTF-8", tinrc.mm_local_charset, FALSE);
-				wait_message(0, _(txt_conninfo_subject), sub);
-				wait_message(0, _(txt_conninfo_issuer), iss);
-				free(sub);
-				free(iss);
+				char *dt = my_strdup((char *) subject.data);
+				size_t len_dt = strlen(dt);
+
+				process_charsets(&dt, &len_dt, "UTF-8", tinrc.mm_local_charset, FALSE);
+				wait_message(0, _(txt_conninfo_subject), dt);
+				free(dt);
+
+				dt = my_strdup((char *) issuer.data);
+				len_dt = strlen(dt);
+				process_charsets(&dt, &len_dt, "UTF-8", tinrc.mm_local_charset, FALSE);
+				wait_message(0, _(txt_conninfo_issuer), dt);
+				free(dt);
 #else
 				wait_message(0, _(txt_conninfo_subject), subject.data);
 				wait_message(0, _(txt_conninfo_issuer), issuer.data);
@@ -595,9 +567,9 @@ err_cert:
 	long_result = BIO_do_handshake(client);
 	if (long_result != 1) {
 		long_result = SSL_get_verify_result(ssl);
-		if (long_result != X509_V_OK) {
+		if (long_result != X509_V_OK)
 			error_message(2, _(txt_tls_handshake_failed), X509_verify_cert_error_string(long_result));
-		} else
+		else
 			show_errors(_(txt_tls_handshake_failed));
 
 		return -EPROTO;
@@ -663,9 +635,9 @@ tintls_read(
 	/* NOTREACHED */
 #	else
 #		ifdef USE_OPENSSL
+	int result;
 	size_t bytes_read;
 	BIO *client = session_ctx;
-	int result;
 
 	ERR_clear_error();
 
@@ -780,21 +752,20 @@ tintls_close(
 	return 0;
 }
 
+
 /* TODO: make date-format configurable? */
 #define PRINT_VALID_AFTER(ts, what) do { \
-		result = my_strftime(what, sizeof(what), "%Y-%m-%dT%H:%M%z", ts); \
-		if (result < 0) \
-			fprintf(fp, "%s", txt_conninfo_fmt_error); \
-		else \
+		if (my_strftime(what, sizeof(what), "%Y-%m-%dT%H:%M%z", ts)) \
 			fprintf(fp, _(txt_valid_not_after), (what)); \
+		else \
+			fprintf(fp, "%s", txt_conninfo_fmt_error); \
 	} while (0)
 
 #define PRINT_VALID_BEFORE(ts, what) do { \
-		result = my_strftime(what, sizeof(what), "%Y-%m-%dT%H:%M%z", ts); \
-		if (result < 0) \
-			fprintf(fp, "%s", txt_conninfo_fmt_error); \
-		else \
+		if (my_strftime(what, sizeof(what), "%Y-%m-%dT%H:%M%z", ts)) \
 			fprintf(fp, _(txt_valid_not_before), (what)); \
+		else \
+			fprintf(fp, "%s", txt_conninfo_fmt_error); \
 	} while (0)
 
 
@@ -803,7 +774,6 @@ tintls_conninfo(
 	void *session_ctx,
 	FILE *fp)
 {
-	int result;
 #ifdef USE_LIBTLS
 	struct tls *client = session_ctx;
 	char fmt_time[22]; /* %Y-%m-%dT%H:%M%z */
@@ -822,16 +792,25 @@ tintls_conninfo(
 		X509 *cert;
 		char **cert_info;
 		const ASN1_TIME *asn1;
-		const char *cptr = (const char *) chain;
-		int i = 0;
+		char *wchain, *cptr;
+		int i;
+		size_t cl;
 		struct tm tm;
 
 		fprintf(fp, "%s", _(txt_conninfo_server_cert_info));
 
+		/* string copy of chain */
+		i = snprintf(NULL, 0, "%.*s", (int) chain_size, (const char*) chain);
+		cl = (size_t) i + 1;
+		wchain = my_malloc(cl);
+		snprintf(wchain, cl, "%.*s", (int) chain_size, (const char*) chain);
+		cptr = wchain;
+		i = 0;
+
 		while ((cptr = strstr(cptr, "-----BEGIN CERTIFICATE-----"))) {
 			chain_size = strlen(cptr);
 			if (chain_size > 0 && BIO_write(io_buf, cptr, chain_size) > 0) {
-				cert = PEM_read_bio_X509(io_buf, NULL, 0, NULL);
+				cert = PEM_read_bio_X509(io_buf, NULL, NULL, NULL);
 				if (cert && ((cert_info = get_cert_info(cert)))) {
 					if (i)
 						fputs("\n", fp);
@@ -857,8 +836,9 @@ tintls_conninfo(
 				}
 			}
 			BIO_reset(io_buf);
-			cptr += 26;
+			cptr += 26; /* "-----BEGIN CERTIFICATE-----" */
 		}
+		free(wchain);
 		BIO_free(io_buf);
 	} else /* Fallback if access to the certificate chain has failed */
 #	else
@@ -885,16 +865,17 @@ tintls_conninfo(
 	}
 #else
 #	ifdef USE_GNUTLS
+	char *desc;
+	char fmt_time[22]; /* %Y-%m-%dT%H:%M%z */
 	int retval = -1;
+	int result;
 	gnutls_session_t client = session_ctx;
-	char *desc;
 	gnutls_datum_t msg;
 	const gnutls_datum_t *raw_servercert_chain;
 	unsigned int servercert_chainlen;
 	unsigned int i;
 	time_t t;
 	struct tm *tm;
-	char fmt_time[22]; /* %Y-%m-%dT%H:%M%z */
 
 	desc = gnutls_session_get_desc(client);
 	fprintf(fp, "%s", _(txt_conninfo_tls_info));
@@ -908,10 +889,10 @@ tintls_conninfo(
 
 		result = gnutls_certificate_verification_status_print(gnutls_verification_status, type, &msg, 0);
 
-		if (result == 0) {
+		if (result == 0)
 			fprintf(fp, _(txt_conninfo_verify_failed), msg.data,
 					insecure_nntps ? _(txt_conninfo_error_tolerated) : _(txt_conninfo_error_unexpected));
-		} else
+		else
 			fprintf(fp, "%s", _(txt_conninfo_verify_failed_no_reason));
 
 		gnutls_free(msg.data);
@@ -937,16 +918,13 @@ tintls_conninfo(
 			fputs("\n", fp);
 		fprintf(fp, _(txt_conninfo_cert), i);
 
-		result = gnutls_x509_crt_init(&servercert);
-		if (result < 0)
+		if ((result = gnutls_x509_crt_init(&servercert)) < 0)
 			goto err_cert;
 
-		result = gnutls_x509_crt_import(servercert, &raw_servercert_chain[i], GNUTLS_X509_FMT_DER);
-		if (result < 0)
+		if ((result = gnutls_x509_crt_import(servercert, &raw_servercert_chain[i], GNUTLS_X509_FMT_DER)) < 0)
 			goto err_cert;
 
-		result = gnutls_x509_crt_get_dn3(servercert, &subject, 0);
-		if (result < 0)
+		if ((result = gnutls_x509_crt_get_dn3(servercert, &subject, 0)) < 0)
 			goto err_cert;
 		else {
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
@@ -959,8 +937,7 @@ tintls_conninfo(
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 		}
 
-		result = gnutls_x509_crt_get_issuer_dn3(servercert, &issuer, 0);
-		if (result < 0)
+		if ((result = gnutls_x509_crt_get_issuer_dn3(servercert, &issuer, 0)) < 0)
 			goto err_cert;
 		else {
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
@@ -973,15 +950,13 @@ tintls_conninfo(
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 		}
 
-		t = gnutls_x509_crt_get_activation_time(servercert);
-		if (t == -1)
+		if ((t = gnutls_x509_crt_get_activation_time(servercert)) == -1)
 			goto err_cert;
 
 		tm = localtime(&t);
 		PRINT_VALID_BEFORE(tm, fmt_time);
 
-		t = gnutls_x509_crt_get_expiration_time(servercert);
-		if (t == -1)
+		if ((t = gnutls_x509_crt_get_expiration_time(servercert)) == -1)
 			goto err_cert;
 
 		tm = localtime(&t);
@@ -1002,14 +977,12 @@ err_cert:
 #	else
 
 #		ifdef USE_OPENSSL
-	long long_result;
 	long verification_result;
 	BIO *client = session_ctx;
 	SSL *ssl;
 	STACK_OF(X509) *chain;
 
-	long_result = BIO_get_ssl(client, &ssl);
-	if (long_result != 1)
+	if (BIO_get_ssl(client, &ssl) != 1L)
 		return -1;
 
 	fprintf(fp, "%s", _(txt_conninfo_tls_info));
@@ -1068,6 +1041,7 @@ err_cert:
 #		endif /* USE_OPENSSL */
 #	endif /* USE_GNUTLS */
 #endif /* USE_LIBTLS */
+
 	return 0;
 }
 
@@ -1094,10 +1068,9 @@ get_cert_info(
 	if (cert && (io_buf = BIO_new(BIO_s_mem()))) {
 		res = my_malloc(sizeof(char *) * 2);
 		if (X509_NAME_print_ex(io_buf, X509_get_subject_name(cert), 0, flags) != -1) {
-			len = BIO_get_mem_data(io_buf, &tmp);
-			if (len > 0) {
+			if ((len = BIO_get_mem_data(io_buf, &tmp)) > 0) {
 				subject = my_malloc((size_t) len + 1);
-				memcpy(subject, tmp, len);
+				memcpy(subject, tmp, (size_t) len);
 				subject[len] = '\0';
 #	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 				process_charsets(&subject, (size_t *) &len, "UTF-8", tinrc.mm_local_charset, FALSE);
@@ -1105,10 +1078,9 @@ get_cert_info(
 			}
 		}
 		if (BIO_reset(io_buf) != -1 && X509_NAME_print_ex(io_buf, X509_get_issuer_name(cert), 0, flags) != -1) {
-			len = BIO_get_mem_data(io_buf, &tmp);
-			if (len > 0) {
+			if ((len = BIO_get_mem_data(io_buf, &tmp)) > 0) {
 				issuer = my_malloc((size_t) len + 1);
-				memcpy(issuer, tmp, len);
+				memcpy(issuer, tmp, (size_t) len);
 				issuer[len] = '\0';
 #	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 				process_charsets(&issuer, (size_t *) &len, "UTF-8", tinrc.mm_local_charset, FALSE);
@@ -1178,9 +1150,9 @@ log_func(
 	debug_print_file("NNTP", "TLS%s%.*s [%d]", logtime(), msglen, msg, level);
 }
 
+
 #	else
 #		ifdef USE_OPENSSL
-
 static void
 info_callback(
 	const SSL *s,
@@ -1220,11 +1192,10 @@ info_callback(
 }
 #		endif /* USE_OPENSSL */
 #	endif /* USE_GNUTLS */
-
 #endif /* DEBUG */
 
-#else
 
+#else
 int
 tintls_init(
 	void)
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/nrctbl.c tin-2.6.4/src/nrctbl.c
--- tin-2.6.3/src/nrctbl.c	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/nrctbl.c	2024-12-05 21:43:49.507062857 +0100
@@ -3,13 +3,13 @@
  *  Module    : nrctbl.c
  *  Author    : Sven Paulus <sven@tin.org>
  *  Created   : 1996-10-06
- *  Updated   : 2023-11-12
+ *  Updated   : 2024-12-05
  *  Notes     : This module does the NNTP server name lookup in
  *              ~/.tin/newsrctable and returns the real hostname
  *              and the name of the newsrc file for a given
  *              alias of the server.
  *
- * Copyright (c) 1996-2024 Sven Paulus <sven@tin.org>
+ * Copyright (c) 1996-2025 Sven Paulus <sven@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -50,8 +50,11 @@
 #ifndef VERSION_H
 #	include "version.h"
 #endif /* !VERSION_H */
+#ifndef TNNTP_H
+#	include "tnntp.h"
+#endif /* !TNNTP_H */
 
-
+#ifdef NNTP_ABLE
 /*
  * local prototypes
  */
@@ -68,7 +71,7 @@ write_newsrctable_file(
 {
 	FILE *fp;
 
-	if ((fp = fopen(local_newsrctable_file, "w")) == NULL)
+	if ((fp = fopen(newsrctable_file, "w")) == NULL)
 		return;
 
 	fprintf(fp, _(txt_nrctbl_info), PRODUCT, VERSION);
@@ -76,14 +79,13 @@ write_newsrctable_file(
 	fchmod(fileno(fp), (mode_t) (S_IRUSR|S_IWUSR));
 #else
 #	ifdef HAVE_CHMOD
-	chmod(local_newsrctable_file, (mode_t) (S_IRUSR|S_IWUSR));
+	chmod(newsrctable_file, (mode_t) (S_IRUSR|S_IWUSR));
 #	endif /* HAVE_CHMOD */
 #endif /* HAVE_FCHMOD */
 	fclose(fp);
 }
 
 
-#ifdef NNTP_ABLE
 /*
  * get_nntpserver()
  * returns the FQDN of NNTP server by looking up a given
@@ -104,13 +106,13 @@ get_nntpserver(
 	int line_entry_counter;
 	t_bool found = FALSE;
 
-	if ((fp = fopen(local_newsrctable_file, "r")) != NULL) {
+	if ((fp = tin_fopen(newsrctable_file, "r")) != NULL) {
 		while ((fgets(line, sizeof(line), fp) != NULL) && !found) {
 			line_entry_counter = 0;
 
 			if (!strchr("# ;", line[0])) {
 				while ((line_entry = strtok(line_entry_counter ? NULL : line, " \t\n")) != NULL) {
-					line_entry_counter++;
+					++line_entry_counter;
 
 					if (line_entry_counter == 1)
 						STRCPY(name_found, line_entry);
@@ -128,7 +130,6 @@ get_nntpserver(
 	}
 	nntpserver_name[nntpserver_name_len - 1] = '\0';
 }
-#endif /* NNTP_ABLE */
 
 
 /*
@@ -143,40 +144,64 @@ get_newsrcname(
 	const char *nntpserver_name) /* return value is always ignored */
 {
 	FILE *fp;
-	char *line_entry;
-	char line[LEN];
-	char name_found[PATH_LEN];
-	int line_entry_counter;
-	int found = 0;
-	t_bool do_cpy = FALSE;
 
-	if ((fp = fopen(local_newsrctable_file, "r")) != NULL) {
+	if ((fp = tin_fopen(newsrctable_file, "r")) != NULL) {
+		char line[LEN];
+		char name_found[PATH_LEN] = { '\0' };
+		char *ns = NULL, *nsp = NULL, *p, *q;
+		char *line_entry;
+		int found = 0;
+		int line_entry_counter;
+		size_t l = strlen(nntpserver_name) + 8; /* []:65535\0 */
+		t_bool do_cpy = FALSE;
+
+		if ((p = strchr(nntpserver_name, ':')) != NULL) {
+			if ((q = strrchr(nntpserver_name, ':')) != NULL) {
+				if (p != q) {
+					ns = my_malloc(l);
+					nsp = my_malloc(l);
+					sprintf(ns, "[%s]", nntpserver_name);
+					sprintf(nsp, "[%s]:%u", nntpserver_name, nntp_tcp_port);
+				}
+			}
+		}
+		if (!ns)
+			ns = my_strdup(nntpserver_name);
+		if (!nsp) {
+			/* add [] and/or port if required */
+			nsp = my_malloc(l);
+			sprintf(nsp, "%s:%u", nntpserver_name, nntp_tcp_port);
+		}
+
 		while ((fgets(line, (int) sizeof(line), fp) != NULL) && (found != 1)) {
+			if (strchr("# ;", line[0])) /* comment? */
+				continue;
+
 			line_entry_counter = 0;
+			while ((line_entry = strtok(line_entry_counter ? NULL : line, " \t\n")) != NULL) {
+				++line_entry_counter;
 
-			if (!strchr("# ;", line[0])) {
-				while ((line_entry = strtok(line_entry_counter ? NULL : line, " \t\n")) != NULL) {
-					line_entry_counter++;
+				if ((line_entry_counter == 1) && ((!strcasecmp(line_entry,nsp)) || (!strcasecmp(line_entry, ns)))) {
+					found = 1;
+					do_cpy = TRUE;
+				}
 
-					if ((line_entry_counter == 1) && (!strcasecmp(line_entry, nntpserver_name))) {
-						found = 1;
-						do_cpy = TRUE;
-					}
+				if (!found && (!strcasecmp(line_entry, "default") || (*line_entry == '*' && *(line_entry + 1) == '\0'))) {
+					found = 2;
+					do_cpy = TRUE;
+				}
 
-					if ((line_entry_counter == 1) && ((!strcasecmp(line_entry, "default")) || (!strcmp(line_entry, "*")))) {
-						found = 2;
-						do_cpy = TRUE;
-					}
-					if (do_cpy && (line_entry_counter == 2)) {
-						STRCPY(name_found, line_entry);
-						do_cpy = FALSE;
-					}
+				if (do_cpy && (line_entry_counter == 2)) {
+					STRCPY(name_found, line_entry);
+					do_cpy = FALSE;
 				}
 			}
 		}
+		free(ns);
+		free(nsp);
 		fclose(fp);
 		if (found) {
-			char dir[PATH_LEN];
+			char dir[PATH_LEN] = { '\0' };
 			char tmp_newsrc[PATH_LEN];
 			int error = 0;
 
@@ -196,17 +221,14 @@ get_newsrcname(
 						*line_entry-- = '\0';
 				}
 
-				/*
-				 * TODO: shall we create a missing dir?
-				 *       currently something like
-				 *       ~/.tin/${NNTPSERVER-localhost}/.newsrc
-				 *       in newsrctable usually ends with
-				 *       "No permissions to go into /home/urs/.tin/${NNTPSERVER}"
-				 */
-				/* FIXME - write a global permission check routine */
 				if (access(dir, X_OK)) {
-					my_fprintf(stderr, _(txt_error_no_enter_permission), dir);
-					error = 1;
+					if (errno != ENOENT) {
+						my_fprintf(stderr, _(txt_error_no_enter_permission), dir);
+						error = 1;
+					} else {
+						my_fprintf(stderr, _(txt_error_no_such_file), dir);
+						error = 2;
+					}
 				} else if (access(newsrc_name, F_OK)) {
 					my_fprintf(stderr, _(txt_error_no_such_file), newsrc_name);
 					error = 2;
@@ -232,24 +254,38 @@ get_newsrcname(
 					/* very ugly code, but curses is not initialized yet */
 					if (error >= 2) {
 						default_ch = 'c';
-						printf("%s%c\b", _(txt_nrctbl_create), default_ch);
+						my_printf("%s%c\b", _(txt_nrctbl_create), default_ch);
 					} else
-						printf("%s%c\b", _(txt_nrctbl_default), default_ch);
+						my_printf("%s%c\b", _(txt_nrctbl_default), default_ch);
 
 					if ((ch = (char) ReadCh()) == '\r' || ch == '\n')
 						ch = default_ch;
 				} while (ch != ESC && ch != 'a' && ch != 'c' && ch != 'd' && ch != 'q');
-				printf("%c\n", ch);
+				my_printf("%c\n", ch);
 
 				/* NOTE: these keys can not be remapped */
 				switch (ch) {
 					case 'c':
-						/* FIXME this doesn't check if we could create the file */
-						return TRUE;
+						if (*dir) {
+							errno = 0;
+							(void) my_mkdir(dir, (mode_t) (S_IRWXU));
+							if (!errno || errno == EEXIST)
+								return TRUE;
+							my_fprintf(stderr, "mkdir(%s): Error: %s\n", dir, strerror(errno));
+						}
+
+						no_write = TRUE;
+						tin_done(EXIT_FAILURE, _(txt_cannot_create), *dir ? dir : "NULL");
+						/* keep lint quiet: */
+						/* NOTREACHED */
+						break;
 
 					case 'd':
 						joinpath(newsrc_name, newsrc_name_len, homedir, ".newsrc");
 						return TRUE;
+						/* keep lint quiet: */
+						/* NOTREACHED */
+						break;
 
 					case 'a':
 						/*
@@ -259,6 +295,9 @@ get_newsrcname(
 						snprintf(name_found, sizeof(name_found), ".newsrc-%s", nntpserver_name);
 						joinpath(newsrc_name, newsrc_name_len, homedir, name_found);
 						return TRUE;
+						/* keep lint quiet: */
+						/* NOTREACHED */
+						break;
 
 					case 'q':
 						exit(EXIT_SUCCESS);
@@ -277,3 +316,11 @@ get_newsrcname(
 
 	return FALSE;
 }
+#else
+static void no_newsrctable(void);	/* proto-type */
+static void
+no_newsrctable(	/* ANSI C requires non-empty source file */
+	void)
+{
+}
+#endif /* NNTP_ABLE */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/options_menu.c tin-2.6.4/src/options_menu.c
--- tin-2.6.3/src/options_menu.c	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/options_menu.c	2024-12-22 18:37:13.671135247 +0100
@@ -3,10 +3,10 @@
  *  Module    : options_menu.c
  *  Author    : Michael Bienia <michael@vorlon.ping.de>
  *  Created   : 2004-09-05
- *  Updated   : 2023-11-13
+ *  Updated   : 2024-12-21
  *  Notes     : Split from config.c
  *
- * Copyright (c) 2004-2024 Michael Bienia <michael@vorlon.ping.de>
+ * Copyright (c) 2004-2025 Michael Bienia <michael@vorlon.ping.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -51,42 +51,74 @@
 
 #define option_lines_per_page (cLINES - INDEX_TOP - 3)
 
-#define UPDATE_BOOL_ATTRIBUTES(option) do { \
-		scopes[0].attribute->option = CAST_BOOL(tinrc.option); \
+#define UPDATE_BOOL_ATTRIBUTES(opt) do { \
+		scopes[0].attribute->opt = CAST_BOOL(tinrc.opt); \
 		changed |= MISC_OPTS; \
 	} while (0)
 
-#define UPDATE_INT_ATTRIBUTES(option) do { \
-		scopes[0].attribute->option = CAST_BITS(tinrc.option, option); \
+#define UPDATE_INT_ATTRIBUTES(opt) do { \
+		scopes[0].attribute->opt = CAST_BITS(tinrc.opt, opt); \
 		changed |= MISC_OPTS; \
 	} while (0)
 
-#define CAO(A, O) A ## O
-
-#define SET_BOOL_ATTRIBUTE(option) do { \
-		curr_scope->attribute->option = CAST_BOOL(CAO(tinrc.attrib_, option)); \
-		curr_scope->state->option = TRUE; \
+#define SET_BOOL_ATTRIBUTE(opt, attr) do { \
+		curr_scope->attribute->opt = attr; \
+		curr_scope->state->opt = TRUE; \
 		changed |= MISC_OPTS; \
 	} while (0)
 
-#define SET_NUM_ATTRIBUTE(option) do { \
-		curr_scope->attribute->option = CAST_BITS(CAO(tinrc.attrib_, option), option); \
-		curr_scope->state->option = TRUE; \
+#define SET_NUM_ATTRIBUTE(opt, attr) do { \
+		curr_scope->attribute->opt = CAST_BITS(attr, opt); \
+		curr_scope->state->opt = TRUE; \
 		changed |= MISC_OPTS; \
 	} while (0)
 
-#define SET_STRING_ATTRIBUTE(opt) do { \
-		if (!strlen(CAO(tinrc.attrib_, opt))) { \
+#define SET_STRING_ATTRIBUTE(opt, attr) do { \
+		if (!*attr) { \
 			reset_state(option); \
 			redraw_screen(option); \
 		} else { \
-			FreeIfNeeded(curr_scope->attribute->opt); \
+			if (!curr_scope->state->opt) \
+				curr_scope->attribute->opt = my_malloc(sizeof(char *)); \
+			else \
+				FreeIfNeeded(*curr_scope->attribute->opt); \
+			*curr_scope->attribute->opt = my_strdup(attr); \
 			curr_scope->state->opt = TRUE; \
-			curr_scope->attribute->opt = my_strdup(CAO(tinrc.attrib_, opt)); \
 		} \
 		changed |= MISC_OPTS; \
 	} while (0)
 
+#define SET_NEED_PARSE_FORMAT_GT() do { \
+		switch (prev_signal_context) { \
+			case cPage: \
+			case cThread: \
+				need_parse_fmt |= THREAD_LEVEL; \
+				/* FALLTHROUGH */ \
+			case cGroup: \
+				need_parse_fmt |= GROUP_LEVEL; \
+				break; \
+			default: \
+				break; \
+		} \
+	} while (0)
+
+#define SET_NEED_PARSE_FORMAT_SGT() do { \
+		switch (prev_signal_context) { \
+			case cPage: \
+			case cThread: \
+				need_parse_fmt |= THREAD_LEVEL; \
+				/* FALLTHROUGH */ \
+			case cGroup: \
+				need_parse_fmt |= GROUP_LEVEL; \
+				/* FALLTHROUGH */ \
+			case cSelect: \
+				need_parse_fmt |= SELECT_LEVEL; \
+				break; \
+			default: \
+				break; \
+		} \
+	} while (0)
+
 static enum option_enum first_option_on_screen, last_option_on_screen, last_opt;
 
 /*
@@ -118,6 +150,7 @@ static void do_delete_scope(int curr_pos
 static void do_move_scope(int from, int to);
 static void draw_scope_arrow(void);
 static void free_scopes_and_attributes(void);
+static void free_tinrc_attributes(void);
 static void highlight_option(enum option_enum option);
 static void initialize_attributes(void);
 static void print_any_option(enum option_enum option);
@@ -154,8 +187,8 @@ option_row(
 
 	while (j < option) {
 		if (option_is_visible(j))
-			i++;
-		j++;
+			++i;
+		++j;
 	}
 
 	return INDEX_TOP + i;
@@ -173,7 +206,7 @@ get_option_num(
 	int result = 0;
 
 	for (i = 0; i < option && result < (int) last_opt; i = next_option(i, FALSE))
-		result++;
+		++result;
 
 	return result;
 }
@@ -190,13 +223,55 @@ set_option_num(
 
 	while (num > 0 && result < last_opt) {
 		result = next_option(result, FALSE);
-		num--;
+		--num;
 	}
 	return result;
 }
 
 
 /*
+ * returns TRUE if an option is set to default
+ */
+t_bool
+option_is_default(
+	enum option_enum option)
+{
+	switch (option) {
+		case OPT_ATTRIB_DATE_FORMAT:
+		case OPT_ATTRIB_EDITOR_FORMAT:
+		case OPT_ATTRIB_FCC:
+		case OPT_ATTRIB_FOLLOWUP_TO:
+		case OPT_ATTRIB_FROM:
+		case OPT_ATTRIB_GROUP_FORMAT:
+#ifdef HAVE_ISPELL
+		case OPT_ATTRIB_ISPELL:
+#endif /* HAVE_ISPELL */
+		case OPT_ATTRIB_MAILDIR:
+		case OPT_ATTRIB_MAILING_LIST:
+		case OPT_ATTRIB_MIME_TYPES_TO_SAVE:
+		case OPT_ATTRIB_NEWS_HEADERS_TO_DISPLAY:
+		case OPT_ATTRIB_NEWS_HEADERS_TO_NOT_DISPLAY:
+		case OPT_ATTRIB_NEWS_QUOTE_FORMAT:
+		case OPT_ATTRIB_ORGANIZATION:
+		case OPT_ATTRIB_QUICK_KILL_SCOPE:
+		case OPT_ATTRIB_QUICK_SELECT_SCOPE:
+		case OPT_ATTRIB_QUOTE_CHARS:
+		case OPT_ATTRIB_SAVEDIR:
+		case OPT_ATTRIB_SAVEFILE:
+		case OPT_ATTRIB_SIGFILE:
+		case OPT_ATTRIB_THREAD_FORMAT:
+#ifdef CHARSET_CONVERSION
+		case OPT_ATTRIB_UNDECLARED_CHARSET:
+#endif /* CHARSET_CONVERSION */
+			return !check_state(option);
+
+		default:
+			return FALSE;
+	}
+}
+
+
+/*
  * returns TRUE if an option is visible in the menu
  */
 t_bool
@@ -246,6 +321,11 @@ option_is_visible(
 			return curr_scope ? FALSE : (tinrc.extquote_handling && tinrc.use_color);
 #endif /* HAVE_COLOR */
 
+#if defined(USE_ZLIB) && defined(CPP_DOES_CONCAT)
+		case OPT_COMPRESS_OVERVIEW_FILES:
+			return curr_scope ? FALSE : tinrc.cache_overview_files;
+#endif /* USE_ZLIB && CPP_DOES_CONCAT */
+
 		case OPT_WORD_H_DISPLAY_MARKS:
 		case OPT_SLASHES_REGEX:
 		case OPT_STARS_REGEX:
@@ -361,6 +441,9 @@ option_is_visible(
 #ifdef CHARSET_CONVERSION
 		case OPT_ATTRIB_MM_NETWORK_CHARSET:
 		case OPT_ATTRIB_UNDECLARED_CHARSET:
+#	ifdef USE_ICU_UCSDET
+		case OPT_ATTRIB_UNDECLARED_CS_GUESS:
+#	endif /* USE_ICU_UCSDET */
 #endif /* CHARSET_CONVERSION */
 		case OPT_ATTRIB_VERBATIM_HANDLING:
 		case OPT_ATTRIB_WRAP_ON_NEXT_UNREAD:
@@ -427,10 +510,10 @@ fmt_option_prompt(
 		flag = (curr_scope && check_state(option)) ? '+' : ' ';
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 		if (wbuf != NULL) {
-			wbuf2 = wstrunc(wbuf, (int) option_width);
+			wbuf2 = wstrunc(wbuf, option_width);
 			if ((buf = wchar_t2char(wbuf2)) == NULL) {
 				/* conversion failed, truncate original string */
-				buf = strunc(_(option_table[option].txt->opt), (int) option_width);
+				buf = strunc(_(option_table[option].txt->opt), option_width);
 				snprintf(dst, len, "%s %c%3d %-*.*s: ", editing ? "->" : "  ", flag, num, (int) option_width, (int) option_width, buf);
 			} else
 				snprintf(dst, len, "%s %c%3d %-*.*s: ", editing ? "->" : "  ", flag, num,
@@ -441,19 +524,21 @@ fmt_option_prompt(
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 		{
 			/* truncate original string */
-			buf = strunc(_(option_table[option].txt->opt), (int) option_width);
+			buf = strunc(_(option_table[option].txt->opt), option_width);
 			snprintf(dst, len, "%s %c%3d %-*.*s: ", editing ? "->" : "  ", flag, num, (int) option_width, (int) option_width, buf);
 		}
 	} else {
+		size_t w = (size_t) (cCOLS > 3 ? cCOLS - 3 : 0);
+
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 		if (wbuf != NULL) {
-			wbuf2 = wstrunc(wbuf, cCOLS - 3);
+			wbuf2 = wstrunc(wbuf, w);
 			if ((buf = wchar_t2char(wbuf2)) == NULL)	/* conversion failed, truncate original string */
-				buf = strunc(_(option_table[option].txt->opt), cCOLS - 3);
+				buf = strunc(_(option_table[option].txt->opt), w);
 			free(wbuf2);
 		} else
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
-			buf = strunc(_(option_table[option].txt->opt), cCOLS - 3);	/* truncate original string */
+			buf = strunc(_(option_table[option].txt->opt), w);	/* truncate original string */
 		snprintf(dst, len, "  %s", buf);
 	}
 
@@ -497,7 +582,7 @@ print_any_option(
 			break;
 
 		case OPT_STRING:
-			strncpy(ptr, OPT_STRING_list[option_table[option].var_index], len);
+			strncpy(ptr, BlankIfNull(*OPT_STRING_list[option_table[option].var_index]), len);
 			break;
 
 		case OPT_NUM:
@@ -505,7 +590,7 @@ print_any_option(
 			break;
 
 		case OPT_CHAR:
-			snprintf(ptr, len, "%"T_CHAR_FMT, *OPT_CHAR_list[option_table[option].var_index]);
+			snprintf(ptr, len, "%"T_CHAR_FMT, (wint_t) *OPT_CHAR_list[option_table[option].var_index]);
 			break;
 
 		default:
@@ -513,12 +598,12 @@ print_any_option(
 	}
 #ifdef USE_CURSES
 #	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-	if ((buf = spart(temp, cCOLS - 1, FALSE)) != NULL) {
+	if ((buf = spart(temp, (size_t) (cCOLS > 1 ? cCOLS - 1 : 0), FALSE)) != NULL) {
 		my_printf("%s", buf);
 		free(buf);
 	} else
 #	endif /* MULTIBYTE_ABLE && !NO_LOCALE */
-		my_printf("%.*s", cCOLS - 1, temp);
+		my_printf("%.*s", cCOLS > 1 ? cCOLS - 1 : 0, temp);
 	{
 #	if 1 /* portable enough? */
 		int x = getcurx(stdscr);
@@ -701,7 +786,7 @@ next_option(
 	t_bool incl_titles)
 {
 	do {
-		option++;
+		++option;
 		if (option > last_opt)
 			option = 0;
 	} while (!(option_is_visible(option) && (incl_titles || !option_is_title(option))));
@@ -723,7 +808,7 @@ prev_option(
 		if (option == 0)
 			option = last_opt;
 		else
-			option--;
+			--option;
 	} while (!(option_is_visible(option) && (incl_titles || !option_is_title(option))));
 
 	return option;
@@ -862,7 +947,7 @@ show_config_page(
 
 	for (i = first_option_on_screen; i <= last_option_on_screen; i++) {
 		while (!option_is_visible(i))
-			i++;
+			++i;
 		if (i > last_opt)
 			break;
 		print_any_option(i);
@@ -961,6 +1046,7 @@ config_page(
 		TEX2ISO_CONV		= 1 << 8
 	} changed = NOT_CHANGED;
 	int i, scope_idx = 0;
+	int prev_signal_context = signal_context;
 	t_bool change_option = FALSE;
 	t_function func;
 #ifdef CHARSET_CONVERSION
@@ -1018,8 +1104,12 @@ config_page(
 					 */
 					if (scope_is_empty())
 						do_delete_scope(scope_idx);
+					else
+						free_tinrc_attributes();
 					curr_scope = NULL;
 				}
+				if (curr_scope)
+					free_tinrc_attributes();
 				assign_attributes_to_groups();
 				if (grpname && curr_group) {
 					/*
@@ -1334,7 +1424,7 @@ config_page(
 					show_color_status();
 					redraw_screen(option);
 				}
-			break;
+				break;
 #endif /* HAVE_COLOR */
 
 			default:
@@ -1348,8 +1438,10 @@ config_page(
 					switch (option) {
 						case OPT_ABBREVIATE_GROUPNAME:
 						case OPT_AUTO_RECONNECT:
-						case OPT_CACHE_OVERVIEW_FILES:
 						case OPT_CATCHUP_READ_GROUPS:
+#if defined(USE_ZLIB) && defined(CPP_DOES_CONCAT)
+						case OPT_COMPRESS_OVERVIEW_FILES:
+#endif /* USE_ZLIB && CPP_DOES_CONCAT */
 						case OPT_FORCE_SCREEN_REDRAW:
 						case OPT_KEEP_DEAD_ARTICLES:
 						case OPT_SHOW_ONLY_UNREAD_GROUPS:
@@ -1400,6 +1492,22 @@ config_page(
 								UPDATE_BOOL_ATTRIBUTES(batch_save);
 							break;
 
+						case OPT_CACHE_OVERVIEW_FILES:
+							/*
+							 * option toggles visibility of
+							 * OPT_COMPRESS_OVERVIEW_FILES -> needs
+							 * redraw_screen() if
+							 * OPT_COMPRESS_OVERVIEW_FILES is available
+							 */
+							if (prompt_option_on_off(option)) {
+								changed |= MISC_OPTS;
+#if defined(USE_ZLIB) && defined(CPP_DOES_CONCAT)
+								set_last_option_on_screen(first_option_on_screen);
+								redraw_screen(option);
+#endif /* USE_ZLIB && CPP_DOES_CONCAT */
+							}
+							break;
+
 #ifdef HAVE_COLOR
 						case OPT_EXTQUOTE_HANDLING:
 							/*
@@ -1420,6 +1528,11 @@ config_page(
 								UPDATE_BOOL_ATTRIBUTES(group_catchup_on_exit);
 							break;
 
+						case OPT_DONT_BREAK_WORDS:
+							if (prompt_option_on_off(option))
+								changed |= DISPLAY_OPTS;
+							break;
+
 						case OPT_MARK_IGNORE_TAGS:
 							if (prompt_option_on_off(option))
 								UPDATE_BOOL_ATTRIBUTES(mark_ignore_tags);
@@ -1555,6 +1668,7 @@ config_page(
 									center_line(0, TRUE, _(txt_options_menu));
 								}
 								changed |= MISC_OPTS;
+								SET_NEED_PARSE_FORMAT_SGT();
 							}
 							break;
 
@@ -1569,6 +1683,7 @@ config_page(
 								}
 								center_line(0, TRUE, _(txt_options_menu));
 								changed |= MISC_OPTS;
+								SET_NEED_PARSE_FORMAT_SGT();
 							}
 							break;
 
@@ -1596,8 +1711,7 @@ config_page(
 						/* show newsgroup description text next to newsgroups */
 						case OPT_SHOW_DESCRIPTION:
 							if (prompt_option_on_off(option)) {
-								show_description = tinrc.show_description;
-								if (show_description)			/* force reread of newgroups file */
+								if ((show_description = tinrc.show_description)) /* force reread of newgroups file */
 									read_descriptions(FALSE);
 								changed |= MISC_OPTS;
 							}
@@ -1652,163 +1766,163 @@ config_page(
 
 						case OPT_ATTRIB_ADD_POSTED_TO_FILTER:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(add_posted_to_filter);
+								SET_BOOL_ATTRIBUTE(add_posted_to_filter, tinrc.attrib_add_posted_to_filter);
 							break;
 
 						case OPT_ATTRIB_ADVERTISING:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(advertising);
+								SET_BOOL_ATTRIBUTE(advertising, tinrc.attrib_advertising);
 							break;
 
 						case OPT_ATTRIB_ALTERNATIVE_HANDLING:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(alternative_handling);
+								SET_BOOL_ATTRIBUTE(alternative_handling, tinrc.attrib_alternative_handling);
 							break;
 
 						case OPT_ATTRIB_ASK_FOR_METAMAIL:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(ask_for_metamail);
+								SET_BOOL_ATTRIBUTE(ask_for_metamail, tinrc.attrib_ask_for_metamail);
 							break;
 
 						case OPT_ATTRIB_AUTO_LIST_THREAD:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(auto_list_thread);
+								SET_BOOL_ATTRIBUTE(auto_list_thread, tinrc.attrib_auto_list_thread);
 							break;
 
 						case OPT_ATTRIB_AUTO_SELECT:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(auto_select);
+								SET_BOOL_ATTRIBUTE(auto_select, tinrc.attrib_auto_select);
 							break;
 
 						case OPT_ATTRIB_BATCH_SAVE:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(batch_save);
+								SET_BOOL_ATTRIBUTE(batch_save, tinrc.attrib_batch_save);
 							break;
 
 						case OPT_ATTRIB_DELETE_TMP_FILES:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(delete_tmp_files);
+								SET_BOOL_ATTRIBUTE(delete_tmp_files, tinrc.attrib_delete_tmp_files);
 							break;
 
 #ifdef HAVE_COLOR
 						case OPT_ATTRIB_EXTQUOTE_HANDLING:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(extquote_handling);
+								SET_BOOL_ATTRIBUTE(extquote_handling, tinrc.attrib_extquote_handling);
 							break;
 #endif /* HAVE_COLOR */
 
 						case OPT_ATTRIB_GROUP_CATCHUP_ON_EXIT:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(group_catchup_on_exit);
+								SET_BOOL_ATTRIBUTE(group_catchup_on_exit, tinrc.attrib_group_catchup_on_exit);
 							break;
 
 						case OPT_ATTRIB_MAIL_8BIT_HEADER:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(mail_8bit_header);
+								SET_BOOL_ATTRIBUTE(mail_8bit_header, tinrc.attrib_mail_8bit_header);
 							break;
 
 						case OPT_ATTRIB_MARK_IGNORE_TAGS:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(mark_ignore_tags);
+								SET_BOOL_ATTRIBUTE(mark_ignore_tags, tinrc.attrib_mark_ignore_tags);
 							break;
 
 						case OPT_ATTRIB_MARK_SAVED_READ:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(mark_saved_read);
+								SET_BOOL_ATTRIBUTE(mark_saved_read, tinrc.attrib_mark_saved_read);
 							break;
 
 						case OPT_ATTRIB_MIME_FORWARD:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(mime_forward);
+								SET_BOOL_ATTRIBUTE(mime_forward, tinrc.attrib_mime_forward);
 							break;
 
 						case OPT_ATTRIB_POST_8BIT_HEADER:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(post_8bit_header);
+								SET_BOOL_ATTRIBUTE(post_8bit_header, tinrc.attrib_post_8bit_header);
 							break;
 
 						case OPT_ATTRIB_POST_PROCESS_VIEW:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(post_process_view);
+								SET_BOOL_ATTRIBUTE(post_process_view, tinrc.attrib_post_process_view);
 							break;
 
 						case OPT_ATTRIB_POS_FIRST_UNREAD:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(pos_first_unread);
+								SET_BOOL_ATTRIBUTE(pos_first_unread, tinrc.attrib_pos_first_unread);
 							break;
 
 #ifndef DISABLE_PRINTING
 						case OPT_ATTRIB_PRINT_HEADER:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(print_header);
+								SET_BOOL_ATTRIBUTE(print_header, tinrc.attrib_print_header);
 							break;
 #endif /* !DISABLE_PRINTING */
 
 						case OPT_ATTRIB_PROCESS_ONLY_UNREAD:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(process_only_unread);
+								SET_BOOL_ATTRIBUTE(process_only_unread, tinrc.attrib_process_only_unread);
 							break;
 
 						case OPT_ATTRIB_PROMPT_FOLLOWUPTO:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(prompt_followupto);
+								SET_BOOL_ATTRIBUTE(prompt_followupto, tinrc.attrib_prompt_followupto);
 							break;
 
 						case OPT_ATTRIB_QUICK_KILL_CASE:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(quick_kill_case);
+								SET_BOOL_ATTRIBUTE(quick_kill_case, tinrc.attrib_quick_kill_case);
 							break;
 
 						case OPT_ATTRIB_QUICK_KILL_EXPIRE:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(quick_kill_expire);
+								SET_BOOL_ATTRIBUTE(quick_kill_expire, tinrc.attrib_quick_kill_expire);
 							break;
 
 						case OPT_ATTRIB_QUICK_SELECT_CASE:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(quick_select_case);
+								SET_BOOL_ATTRIBUTE(quick_select_case, tinrc.attrib_quick_select_case);
 							break;
 
 						case OPT_ATTRIB_QUICK_SELECT_EXPIRE:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(quick_select_expire);
+								SET_BOOL_ATTRIBUTE(quick_select_expire, tinrc.attrib_quick_select_expire);
 							break;
 
 						case OPT_ATTRIB_SHOW_ONLY_UNREAD_ARTS:
 							if (prompt_option_on_off(option)) {
-								SET_BOOL_ATTRIBUTE(show_only_unread_arts);
+								SET_BOOL_ATTRIBUTE(show_only_unread_arts, tinrc.attrib_show_only_unread_arts);
 								changed |= SHOW_ONLY_UNREAD;
 							}
 							break;
 
 						case OPT_ATTRIB_SHOW_SIGNATURES:
 							if (prompt_option_on_off(option)) {
-								SET_BOOL_ATTRIBUTE(show_signatures);
+								SET_BOOL_ATTRIBUTE(show_signatures, tinrc.attrib_show_signatures);
 								changed |= DISPLAY_OPTS;
 							}
 							break;
 
 						case OPT_ATTRIB_SHOW_ART_SCORE:
 							if (prompt_option_on_off(option)) {
-								SET_BOOL_ATTRIBUTE(show_art_score);
+								SET_BOOL_ATTRIBUTE(show_art_score, tinrc.attrib_show_art_score);
 								changed |= DISPLAY_OPTS;
 							}
 							break;
 
 						case OPT_ATTRIB_SIGDASHES:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(sigdashes);
+								SET_BOOL_ATTRIBUTE(sigdashes, tinrc.attrib_sigdashes);
 							break;
 
 						case OPT_ATTRIB_SIGNATURE_REPOST:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(signature_repost);
+								SET_BOOL_ATTRIBUTE(signature_repost, tinrc.attrib_signature_repost);
 							break;
 
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 						case OPT_ATTRIB_SUPPRESS_SOFT_HYPHENS:
 							if (prompt_option_on_off(option)) {
-								SET_BOOL_ATTRIBUTE(suppress_soft_hyphens);
+								SET_BOOL_ATTRIBUTE(suppress_soft_hyphens, tinrc.attrib_suppress_soft_hyphens);
 								changed |= DISPLAY_OPTS;
 							}
 							break;
@@ -1816,31 +1930,42 @@ config_page(
 
 						case OPT_ATTRIB_TEX2ISO_CONV:
 							if (prompt_option_on_off(option)) {
-								SET_BOOL_ATTRIBUTE(tex2iso_conv);
+								SET_BOOL_ATTRIBUTE(tex2iso_conv, tinrc.attrib_tex2iso_conv);
 								changed |= TEX2ISO_CONV;
 							}
 							break;
 
 						case OPT_ATTRIB_THREAD_CATCHUP_ON_EXIT:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(thread_catchup_on_exit);
+								SET_BOOL_ATTRIBUTE(thread_catchup_on_exit, tinrc.attrib_thread_catchup_on_exit);
 							break;
 
+#if defined(CHARSET_CONVERSION) && defined(USE_ICU_UCSDET)
+						case OPT_ATTRIB_UNDECLARED_CS_GUESS:
+							if (!check_state(OPT_ATTRIB_UNDECLARED_CHARSET)) {
+								if (prompt_option_on_off(option))
+									SET_BOOL_ATTRIBUTE(undeclared_cs_guess, tinrc.attrib_undeclared_cs_guess);
+							} /* else
+								TODO: warn somehow, but info_message() will be overwritten right away
+							*/
+							break;
+#endif /* CHARSET_CONVERSION && USE_ICU_UCSDET */
+
 						case OPT_ATTRIB_VERBATIM_HANDLING:
 							if (prompt_option_on_off(option)) {
-								SET_BOOL_ATTRIBUTE(verbatim_handling);
+								SET_BOOL_ATTRIBUTE(verbatim_handling, tinrc.attrib_verbatim_handling);
 								changed |= DISPLAY_OPTS;
 							}
 							break;
 
 						case OPT_ATTRIB_WRAP_ON_NEXT_UNREAD:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(wrap_on_next_unread);
+								SET_BOOL_ATTRIBUTE(wrap_on_next_unread, tinrc.attrib_wrap_on_next_unread);
 							break;
 
 						case OPT_ATTRIB_X_COMMENT_TO:
 							if (prompt_option_on_off(option))
-								SET_BOOL_ATTRIBUTE(x_comment_to);
+								SET_BOOL_ATTRIBUTE(x_comment_to, tinrc.attrib_x_comment_to);
 							break;
 
 						default:
@@ -2095,72 +2220,72 @@ config_page(
 
 						case OPT_ATTRIB_AUTO_CC_BCC:
 							if (prompt_option_list(option))
-								SET_NUM_ATTRIBUTE(auto_cc_bcc);
+								SET_NUM_ATTRIBUTE(auto_cc_bcc, tinrc.attrib_auto_cc_bcc);
 							break;
 
 						case OPT_ATTRIB_MAIL_MIME_ENCODING:
 							if (prompt_option_list(option))
-								SET_NUM_ATTRIBUTE(mail_mime_encoding);
+								SET_NUM_ATTRIBUTE(mail_mime_encoding, tinrc.attrib_mail_mime_encoding);
 							break;
 
 #ifdef CHARSET_CONVERSION
 						case OPT_ATTRIB_MM_NETWORK_CHARSET:
 							if (prompt_option_list(option))
-								SET_NUM_ATTRIBUTE(mm_network_charset);
+								SET_NUM_ATTRIBUTE(mm_network_charset, tinrc.attrib_mm_network_charset);
 							break;
 #endif /* CHARSET_CONVERSION */
 
 						case OPT_ATTRIB_POST_MIME_ENCODING:
 							if (prompt_option_list(option))
-								SET_NUM_ATTRIBUTE(post_mime_encoding);
+								SET_NUM_ATTRIBUTE(post_mime_encoding, tinrc.attrib_post_mime_encoding);
 							break;
 
 						case OPT_ATTRIB_POST_PROCESS_TYPE:
 							if (prompt_option_list(option))
-								SET_NUM_ATTRIBUTE(post_process_type);
+								SET_NUM_ATTRIBUTE(post_process_type, tinrc.attrib_post_process_type);
 							break;
 
 						case OPT_ATTRIB_QUICK_KILL_HEADER:
 							if (prompt_option_list(option))
-								SET_NUM_ATTRIBUTE(quick_kill_header);
+								SET_NUM_ATTRIBUTE(quick_kill_header, tinrc.attrib_quick_kill_header);
 							break;
 
 						case OPT_ATTRIB_QUICK_SELECT_HEADER:
 							if (prompt_option_list(option))
-								SET_NUM_ATTRIBUTE(quick_select_header);
+								SET_NUM_ATTRIBUTE(quick_select_header, tinrc.attrib_quick_select_header);
 							break;
 
 						case OPT_ATTRIB_SHOW_AUTHOR:
 							if (prompt_option_list(option)) {
-								SET_NUM_ATTRIBUTE(show_author);
+								SET_NUM_ATTRIBUTE(show_author, tinrc.attrib_show_author);
 								changed |= SHOW_AUTHOR;
 							}
 							break;
 
 						case OPT_ATTRIB_SORT_ARTICLE_TYPE:
 							if (prompt_option_list(option)) {
-								SET_NUM_ATTRIBUTE(sort_article_type);
+								SET_NUM_ATTRIBUTE(sort_article_type, tinrc.attrib_sort_article_type);
 								changed |= SORT_OPTS;
 							}
 							break;
 
 						case OPT_ATTRIB_SORT_THREADS_TYPE:
 							if (prompt_option_list(option)) {
-								SET_NUM_ATTRIBUTE(sort_threads_type);
+								SET_NUM_ATTRIBUTE(sort_threads_type, tinrc.attrib_sort_threads_type);
 								changed |= SORT_OPTS;
 							}
 							break;
 
 						case OPT_ATTRIB_THREAD_ARTICLES:
 							if (prompt_option_list(option)) {
-								SET_NUM_ATTRIBUTE(thread_articles);
+								SET_NUM_ATTRIBUTE(thread_articles, tinrc.attrib_thread_articles);
 								changed |= THREAD_ARTS;
 							}
 							break;
 
 						case OPT_ATTRIB_TRIM_ARTICLE_BODY:
 							if (prompt_option_list(option)) {
-								SET_NUM_ATTRIBUTE(trim_article_body);
+								SET_NUM_ATTRIBUTE(trim_article_body, tinrc.attrib_trim_article_body);
 								changed |= DISPLAY_OPTS;
 							}
 							break;
@@ -2172,91 +2297,86 @@ config_page(
 
 				case OPT_STRING:
 					switch (option) {
-						case OPT_MAILDIR:
-						case OPT_MAILER_FORMAT:
-						case OPT_MAIL_ADDRESS:
-						case OPT_MAIL_QUOTE_FORMAT:
-						case OPT_METAMAIL_PROG:
-						case OPT_NEWS_QUOTE_FORMAT:
-						case OPT_SAVEDIR:
-						case OPT_SIGFILE:
-#ifndef DISABLE_PRINTING
-						case OPT_PRINTER:
-#endif /* !DISABLE_PRINTING */
-						case OPT_QUOTE_CHARS:
-						case OPT_SPAMTRAP_WARNING_ADDRESSES:
-						case OPT_URL_HANDLER:
-						case OPT_XPOST_QUOTE_FORMAT:
-#ifdef NNTPS_ABLE
-						case OPT_TLS_CA_CERT_FILE:
-#endif /* NNTPS_ABLE */
-							if (prompt_option_string(option))
-								changed |= MISC_OPTS;
-							break;
-
-						case OPT_ATTACHMENT_FORMAT:
+						case OPT_EDITOR_FORMAT:
 							if (prompt_option_string(option)) {
-								if (!strlen(tinrc.attachment_format))
-									STRCPY(tinrc.attachment_format, DEFAULT_ATTACHMENT_FORMAT);
+								if (!*tinrc.editor_format) {
+									free(tinrc.editor_format);
+									tinrc.editor_format = my_strdup(TIN_EDITOR_FMT);
+								}
 								changed |= MISC_OPTS;
 							}
 							break;
 
-						case OPT_EDITOR_FORMAT:
+						case OPT_INEWS_PROG:
 							if (prompt_option_string(option)) {
-								if (!strlen(tinrc.editor_format))
-									STRCPY(tinrc.editor_format, TIN_EDITOR_FMT);
+								if (!*tinrc.inews_prog) {
+									free(tinrc.inews_prog);
+									tinrc.inews_prog = my_strdup(INTERNAL_CMD);
+								}
 								changed |= MISC_OPTS;
 							}
 							break;
 
-						case OPT_GROUP_FORMAT:
-							if (prompt_option_string(option)) {
-								if (!strlen(tinrc.group_format))
-									STRCPY(tinrc.group_format, DEFAULT_GROUP_FORMAT);
-								changed |= MISC_OPTS;
-							}
+						case OPT_ATTRIB_EDITOR_FORMAT:
+							if (prompt_option_string(option))
+								SET_STRING_ATTRIBUTE(editor_format, tinrc.attrib_editor_format);
 							break;
 
-						case OPT_INEWS_PROG:
-							if (prompt_option_string(option)) {
-								if (!strlen(tinrc.inews_prog))
-									STRCPY(tinrc.inews_prog, INTERNAL_CMD);
-								changed |= MISC_OPTS;
-							}
+						case OPT_ATTRIB_FCC:
+							if (prompt_option_string(option))
+								SET_STRING_ATTRIBUTE(fcc, tinrc.attrib_fcc);
 							break;
 
-						case OPT_ATTRIB_GROUP_FORMAT:
+						case OPT_ATTRIB_FROM:
 							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(group_format);
+								SET_STRING_ATTRIBUTE(from, tinrc.attrib_from);
 							break;
 
-						case OPT_PAGE_MIME_FORMAT:
+						case OPT_MAILER_FORMAT:
 							if (prompt_option_string(option)) {
-								if (!strlen(tinrc.page_mime_format))
-									STRCPY(tinrc.page_mime_format, DEFAULT_PAGE_MIME_FORMAT);
-								changed |= DISPLAY_OPTS;
+								if (!*tinrc.mailer_format) {
+									free(tinrc.mailer_format);
+									tinrc.mailer_format = my_strdup(MAILER_FORMAT);
+								}
+								changed |= MISC_OPTS;
 							}
 							break;
 
-						case OPT_PAGE_UUE_FORMAT:
-							if (prompt_option_string(option)) {
-								if (!strlen(tinrc.page_uue_format))
-									STRCPY(tinrc.page_uue_format, DEFAULT_PAGE_UUE_FORMAT);
-								changed |= DISPLAY_OPTS;
-							}
+						case OPT_MAILDIR:
+						case OPT_MAIL_ADDRESS:
+						case OPT_MAIL_QUOTE_FORMAT:
+						case OPT_METAMAIL_PROG:
+						case OPT_NEWS_QUOTE_FORMAT:
+#ifndef DISABLE_PRINTING
+						case OPT_PRINTER:
+#endif /* !DISABLE_PRINTING */
+						case OPT_QUOTE_CHARS:
+						case OPT_SAVEDIR:
+						case OPT_SIGFILE:
+						case OPT_SPAMTRAP_WARNING_ADDRESSES:
+#ifdef NNTPS_ABLE
+						case OPT_TLS_CA_CERT_FILE:
+#endif /* NNTPS_ABLE */
+						case OPT_URL_HANDLER:
+						case OPT_POSTED_ARTICLES_FILE:
+						case OPT_XPOST_QUOTE_FORMAT:
+							if (prompt_option_string(option))
+								changed |= MISC_OPTS;
 							break;
 
 #ifndef CHARSET_CONVERSION
 						case OPT_MM_CHARSET:
 							if (prompt_option_string(option)) {
-								if (!strlen(tinrc.mm_charset))
-									STRCPY(tinrc.mm_charset, get_val("MM_CHARSET", MM_CHARSET));
+								if (!*tinrc.mm_charset) {
+									free(tinrc.mm_charset);
+									tinrc.mm_charset = my_strdup(get_val("MM_CHARSET", MM_CHARSET));
+								}
 								/*
 								 * No charset conversion available, assume local charset
 								 * to be network charset.
 								 */
-								STRCPY(tinrc.mm_local_charset, tinrc.mm_charset);
+								FreeIfNeeded(tinrc.mm_local_charset);
+								tinrc.mm_local_charset = my_strdup(tinrc.mm_charset);
 								changed |= MISC_OPTS;
 							}
 							break;
@@ -2285,17 +2405,14 @@ config_page(
 							}
 							break;
 
-						case OPT_POSTED_ARTICLES_FILE:
-							if (prompt_option_string(option)) /* no expansion here, will be done in post_loop() */
-								changed |= MISC_OPTS;
-							break;
-
 #ifdef HAVE_COLOR
 						case OPT_QUOTE_REGEX:
 							if (prompt_option_string(option)) {
 								regex_cache_destroy(&quote_regex);
-								if (!strlen(tinrc.quote_regex))
-									STRCPY(tinrc.quote_regex, DEFAULT_QUOTE_REGEX);
+								if (!*tinrc.quote_regex) {
+									free(tinrc.quote_regex);
+									tinrc.quote_regex = my_strdup(DEFAULT_QUOTE_REGEX);
+								}
 								compile_regex(tinrc.quote_regex, &quote_regex, REGEX_CASELESS);
 								changed |= DISPLAY_OPTS;
 							}
@@ -2304,8 +2421,10 @@ config_page(
 						case OPT_QUOTE_REGEX2:
 							if (prompt_option_string(option)) {
 								regex_cache_destroy(&quote_regex2);
-								if (!strlen(tinrc.quote_regex2))
-									STRCPY(tinrc.quote_regex2, DEFAULT_QUOTE_REGEX2);
+								if (!*tinrc.quote_regex2) {
+									free(tinrc.quote_regex2);
+									tinrc.quote_regex2 = my_strdup(DEFAULT_QUOTE_REGEX2);
+								}
 								compile_regex(tinrc.quote_regex2, &quote_regex2, REGEX_CASELESS);
 								changed |= DISPLAY_OPTS;
 							}
@@ -2314,8 +2433,10 @@ config_page(
 						case OPT_QUOTE_REGEX3:
 							if (prompt_option_string(option)) {
 								regex_cache_destroy(&quote_regex3);
-								if (!strlen(tinrc.quote_regex3))
-									STRCPY(tinrc.quote_regex3, DEFAULT_QUOTE_REGEX3);
+								if (!*tinrc.quote_regex3) {
+									free(tinrc.quote_regex3);
+									tinrc.quote_regex3 = my_strdup(DEFAULT_QUOTE_REGEX3);
+								}
 								compile_regex(tinrc.quote_regex3, &quote_regex3, REGEX_CASELESS);
 								changed |= DISPLAY_OPTS;
 							}
@@ -2324,27 +2445,23 @@ config_page(
 						case OPT_EXTQUOTE_REGEX:
 							if (prompt_option_string(option)) {
 								regex_cache_destroy(&extquote_regex);
-								if (!strlen(tinrc.extquote_regex))
-									STRCPY(tinrc.extquote_regex, DEFAULT_EXTQUOTE_REGEX);
+								if (!*tinrc.extquote_regex) {
+									free(tinrc.extquote_regex);
+									tinrc.extquote_regex = my_strdup(DEFAULT_EXTQUOTE_REGEX);
+								}
 								compile_regex(tinrc.extquote_regex, &extquote_regex, REGEX_CASELESS);
 								changed |= DISPLAY_OPTS;
 							}
 							break;
 #endif /* HAVE_COLOR */
 
-						case OPT_SELECT_FORMAT:
-							if (prompt_option_string(option)) {
-								if (!strlen(tinrc.select_format))
-									STRCPY(tinrc.select_format, DEFAULT_SELECT_FORMAT);
-								changed |= MISC_OPTS;
-							}
-							break;
-
 						case OPT_SLASHES_REGEX:
 							if (prompt_option_string(option)) {
 								regex_cache_destroy(&slashes_regex);
-								if (!strlen(tinrc.slashes_regex))
-									STRCPY(tinrc.slashes_regex, DEFAULT_SLASHES_REGEX);
+								if (!*tinrc.slashes_regex) {
+									free(tinrc.slashes_regex);
+									tinrc.slashes_regex = my_strdup(DEFAULT_SLASHES_REGEX);
+								}
 								compile_regex(tinrc.slashes_regex, &slashes_regex, REGEX_CASELESS);
 								changed |= DISPLAY_OPTS;
 							}
@@ -2353,8 +2470,10 @@ config_page(
 						case OPT_STARS_REGEX:
 							if (prompt_option_string(option)) {
 								regex_cache_destroy(&stars_regex);
-								if (!strlen(tinrc.stars_regex))
-									STRCPY(tinrc.stars_regex, DEFAULT_STARS_REGEX);
+								if (!*tinrc.stars_regex) {
+									free(tinrc.stars_regex);
+									tinrc.stars_regex = my_strdup(DEFAULT_STARS_REGEX);
+								}
 								compile_regex(tinrc.stars_regex, &stars_regex, REGEX_CASELESS);
 								changed |= DISPLAY_OPTS;
 							}
@@ -2363,8 +2482,10 @@ config_page(
 						case OPT_STROKES_REGEX:
 							if (prompt_option_string(option)) {
 								regex_cache_destroy(&strokes_regex);
-								if (!strlen(tinrc.strokes_regex))
-									STRCPY(tinrc.strokes_regex, DEFAULT_STROKES_REGEX);
+								if (!*tinrc.strokes_regex) {
+									free(tinrc.strokes_regex);
+									tinrc.strokes_regex = my_strdup(DEFAULT_STROKES_REGEX);
+								}
 								compile_regex(tinrc.strokes_regex, &strokes_regex, REGEX_CASELESS);
 								changed |= DISPLAY_OPTS;
 							}
@@ -2373,8 +2494,10 @@ config_page(
 						case OPT_UNDERSCORES_REGEX:
 							if (prompt_option_string(option)) {
 								regex_cache_destroy(&underscores_regex);
-								if (!strlen(tinrc.underscores_regex))
-									STRCPY(tinrc.underscores_regex, DEFAULT_UNDERSCORES_REGEX);
+								if (!*tinrc.underscores_regex) {
+									free(tinrc.underscores_regex);
+									tinrc.underscores_regex = my_strdup(DEFAULT_UNDERSCORES_REGEX);
+								}
 								compile_regex(tinrc.underscores_regex, &underscores_regex, REGEX_CASELESS);
 								changed |= DISPLAY_OPTS;
 							}
@@ -2383,8 +2506,10 @@ config_page(
 						case OPT_STRIP_RE_REGEX:
 							if (prompt_option_string(option)) {
 								regex_cache_destroy(&strip_re_regex);
-								if (!strlen(tinrc.strip_re_regex))
-									STRCPY(tinrc.strip_re_regex, DEFAULT_STRIP_RE_REGEX);
+								if (!*tinrc.strip_re_regex) {
+									free(tinrc.strip_re_regex);
+									tinrc.strip_re_regex = my_strdup(DEFAULT_STRIP_RE_REGEX);
+								}
 								compile_regex(tinrc.strip_re_regex, &strip_re_regex, REGEX_ANCHORED);
 								changed |= MISC_OPTS;
 							}
@@ -2393,108 +2518,164 @@ config_page(
 						case OPT_STRIP_WAS_REGEX:
 							if (prompt_option_string(option)) {
 								regex_cache_destroy(&strip_was_regex);
-								if (!strlen(tinrc.strip_was_regex)) {
-									if (regex_use_utf8())
-										STRCPY(tinrc.strip_was_regex, DEFAULT_U8_STRIP_WAS_REGEX);
-									else
-										STRCPY(tinrc.strip_was_regex, DEFAULT_STRIP_WAS_REGEX);
+								if (!*tinrc.strip_was_regex) {
+									if (regex_use_utf8()) {
+										free(tinrc.strip_was_regex);
+										tinrc.strip_was_regex = my_strdup(DEFAULT_U8_STRIP_WAS_REGEX);
+									} else {
+										free(tinrc.strip_was_regex);
+										tinrc.strip_was_regex = my_strdup(DEFAULT_STRIP_WAS_REGEX);
+									}
 								}
 								compile_regex(tinrc.strip_was_regex, &strip_was_regex, 0);
 								changed |= MISC_OPTS;
 							}
 							break;
 
-						case OPT_THREAD_FORMAT:
+						case OPT_VERBATIM_BEGIN_REGEX:
+							if (prompt_option_string(option)) {
+								regex_cache_destroy(&verbatim_begin_regex);
+								if (!*tinrc.verbatim_begin_regex) {
+									free(tinrc.verbatim_begin_regex);
+									tinrc.verbatim_begin_regex = my_strdup(DEFAULT_VERBATIM_BEGIN_REGEX);
+								}
+								compile_regex(tinrc.verbatim_begin_regex, &verbatim_begin_regex, REGEX_ANCHORED);
+								changed |= DISPLAY_OPTS;
+							}
+							break;
+
+						case OPT_VERBATIM_END_REGEX:
 							if (prompt_option_string(option)) {
-								if (!strlen(tinrc.thread_format))
-									STRCPY(tinrc.thread_format, DEFAULT_THREAD_FORMAT);
+								regex_cache_destroy(&verbatim_end_regex);
+								if (!*tinrc.verbatim_end_regex) {
+									free(tinrc.verbatim_end_regex);
+									tinrc.verbatim_end_regex = my_strdup(DEFAULT_VERBATIM_END_REGEX);
+								}
+								compile_regex(tinrc.verbatim_end_regex, &verbatim_end_regex, REGEX_ANCHORED);
+								changed |= DISPLAY_OPTS;
+							}
+							break;
+
+						case OPT_ATTACHMENT_FORMAT:
+							if (prompt_option_string(option)) {
+								if (!*tinrc.attachment_format) {
+									free(tinrc.attachment_format);
+									tinrc.attachment_format = my_strdup(DEFAULT_ATTACHMENT_FORMAT);
+								}
 								changed |= MISC_OPTS;
 							}
 							break;
 
-						case OPT_ATTRIB_THREAD_FORMAT:
-							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(thread_format);
+						case OPT_GROUP_FORMAT:
+							if (prompt_option_string(option)) {
+								if (!*tinrc.group_format) {
+									free(tinrc.group_format);
+									tinrc.group_format = my_strdup(DEFAULT_GROUP_FORMAT);
+								}
+								changed |= MISC_OPTS;
+								SET_NEED_PARSE_FORMAT_SGT();
+							}
 							break;
 
-						case OPT_VERBATIM_BEGIN_REGEX:
+						case OPT_ATTRIB_GROUP_FORMAT:
 							if (prompt_option_string(option)) {
-								regex_cache_destroy(&verbatim_begin_regex);
-								if (!strlen(tinrc.verbatim_begin_regex))
-									STRCPY(tinrc.verbatim_begin_regex, DEFAULT_VERBATIM_BEGIN_REGEX);
-								compile_regex(tinrc.verbatim_begin_regex, &verbatim_begin_regex, REGEX_ANCHORED);
+								SET_STRING_ATTRIBUTE(group_format, tinrc.attrib_group_format);
+								SET_NEED_PARSE_FORMAT_SGT();
+							}
+							break;
+
+						case OPT_PAGE_MIME_FORMAT:
+							if (prompt_option_string(option)) {
+								if (!*tinrc.page_mime_format) {
+									free(tinrc.page_mime_format);
+									tinrc.page_mime_format = my_strdup(DEFAULT_PAGE_MIME_FORMAT);
+								}
 								changed |= DISPLAY_OPTS;
 							}
 							break;
 
-						case OPT_VERBATIM_END_REGEX:
+						case OPT_PAGE_UUE_FORMAT:
 							if (prompt_option_string(option)) {
-								regex_cache_destroy(&verbatim_end_regex);
-								if (!strlen(tinrc.verbatim_end_regex))
-									STRCPY(tinrc.verbatim_end_regex, DEFAULT_VERBATIM_END_REGEX);
-								compile_regex(tinrc.verbatim_end_regex, &verbatim_end_regex, REGEX_ANCHORED);
+								if (!*tinrc.page_uue_format) {
+									free(tinrc.page_uue_format);
+									tinrc.page_uue_format = my_strdup(DEFAULT_PAGE_UUE_FORMAT);
+								}
 								changed |= DISPLAY_OPTS;
 							}
 							break;
 
-						case OPT_DATE_FORMAT:
+						case OPT_SELECT_FORMAT:
 							if (prompt_option_string(option)) {
-								if (!strlen(tinrc.date_format))
-									STRCPY(tinrc.date_format, DEFAULT_DATE_FORMAT);
+								if (!*tinrc.select_format) {
+									free(tinrc.select_format);
+									tinrc.select_format = my_strdup(DEFAULT_SELECT_FORMAT);
+								}
 								changed |= MISC_OPTS;
+								SET_NEED_PARSE_FORMAT_SGT();
 							}
 							break;
 
-						case OPT_ATTRIB_DATE_FORMAT:
-							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(date_format);
+						case OPT_THREAD_FORMAT:
+							if (prompt_option_string(option)) {
+								if (!*tinrc.thread_format) {
+									free(tinrc.thread_format);
+									tinrc.thread_format = my_strdup(DEFAULT_THREAD_FORMAT);
+								}
+								changed |= MISC_OPTS;
+								SET_NEED_PARSE_FORMAT_SGT();
+							}
 							break;
 
-						case OPT_ATTRIB_EDITOR_FORMAT:
-							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(editor_format);
+						case OPT_ATTRIB_THREAD_FORMAT:
+							if (prompt_option_string(option)) {
+								SET_STRING_ATTRIBUTE(thread_format, tinrc.attrib_thread_format);
+								SET_NEED_PARSE_FORMAT_SGT();
+							}
 							break;
 
-						case OPT_ATTRIB_FCC:
-							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(fcc);
+						case OPT_DATE_FORMAT:
+							if (prompt_option_string(option)) {
+								if (!*tinrc.date_format) {
+									free(tinrc.date_format);
+									tinrc.date_format = my_strdup(DEFAULT_DATE_FORMAT);
+								}
+								changed |= MISC_OPTS;
+								SET_NEED_PARSE_FORMAT_GT();
+							}
 							break;
 
-						case OPT_ATTRIB_FOLLOWUP_TO:
-							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(followup_to);
+						case OPT_ATTRIB_DATE_FORMAT:
+							if (prompt_option_string(option)) {
+								SET_STRING_ATTRIBUTE(date_format, tinrc.attrib_date_format);
+								SET_NEED_PARSE_FORMAT_GT();
+							}
 							break;
 
-						case OPT_ATTRIB_FROM:
+						case OPT_ATTRIB_FOLLOWUP_TO:
 							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(from);
+								SET_STRING_ATTRIBUTE(followup_to, tinrc.attrib_followup_to);
 							break;
 
 #ifdef HAVE_ISPELL
 						case OPT_ATTRIB_ISPELL:
 							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(ispell);
+								SET_STRING_ATTRIBUTE(ispell, tinrc.attrib_ispell);
 							break;
 #endif /* HAVE_ISPELL */
 
 						case OPT_ATTRIB_MAILDIR:
 							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(maildir);
+								SET_STRING_ATTRIBUTE(maildir, tinrc.attrib_maildir);
 							break;
 
 						case OPT_ATTRIB_MAILING_LIST:
 							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(mailing_list);
-							break;
-
-						case OPT_ATTRIB_MIME_TYPES_TO_SAVE:
-							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(mime_types_to_save);
+								SET_STRING_ATTRIBUTE(mailing_list, tinrc.attrib_mailing_list);
 							break;
 
 						case OPT_ATTRIB_NEWS_HEADERS_TO_DISPLAY:
 							if (prompt_option_string(option)) {
-								SET_STRING_ATTRIBUTE(news_headers_to_display);
+								SET_STRING_ATTRIBUTE(news_headers_to_display, tinrc.attrib_news_headers_to_display);
 								build_news_headers_array(curr_scope->attribute, TRUE);
 								changed |= DISPLAY_OPTS;
 							}
@@ -2502,7 +2683,7 @@ config_page(
 
 						case OPT_ATTRIB_NEWS_HEADERS_TO_NOT_DISPLAY:
 							if (prompt_option_string(option)) {
-								SET_STRING_ATTRIBUTE(news_headers_to_not_display);
+								SET_STRING_ATTRIBUTE(news_headers_to_not_display, tinrc.attrib_news_headers_to_not_display);
 								build_news_headers_array(curr_scope->attribute, FALSE);
 								changed |= DISPLAY_OPTS;
 							}
@@ -2510,59 +2691,71 @@ config_page(
 
 						case OPT_ATTRIB_NEWS_QUOTE_FORMAT:
 							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(news_quote_format);
+								SET_STRING_ATTRIBUTE(news_quote_format, tinrc.attrib_news_quote_format);
 							break;
 
 						case OPT_ATTRIB_ORGANIZATION:
 							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(organization);
+								SET_STRING_ATTRIBUTE(organization, tinrc.attrib_organization);
+							break;
+
+						case OPT_ATTRIB_MIME_TYPES_TO_SAVE:
+							if (prompt_option_string(option))
+								SET_STRING_ATTRIBUTE(mime_types_to_save, tinrc.attrib_mime_types_to_save);
 							break;
 
 						case OPT_ATTRIB_QUICK_KILL_SCOPE:
 							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(quick_kill_scope);
+								SET_STRING_ATTRIBUTE(quick_kill_scope, tinrc.attrib_quick_kill_scope);
 							break;
 
 						case OPT_ATTRIB_QUICK_SELECT_SCOPE:
 							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(quick_select_scope);
+								SET_STRING_ATTRIBUTE(quick_select_scope, tinrc.attrib_quick_select_scope);
 							break;
 
 						case OPT_ATTRIB_QUOTE_CHARS:
 							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(quote_chars);
+								SET_STRING_ATTRIBUTE(quote_chars, tinrc.attrib_quote_chars);
 							break;
 
 						case OPT_ATTRIB_SAVEDIR:
 							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(savedir);
+								SET_STRING_ATTRIBUTE(savedir, tinrc.attrib_savedir);
 							break;
 
 						case OPT_ATTRIB_SAVEFILE:
 							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(savefile);
+								SET_STRING_ATTRIBUTE(savefile, tinrc.attrib_savefile);
 							break;
 
 						case OPT_ATTRIB_SIGFILE:
 							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(sigfile);
+								SET_STRING_ATTRIBUTE(sigfile, tinrc.attrib_sigfile);
 							break;
 
 #ifdef CHARSET_CONVERSION
 						case OPT_ATTRIB_UNDECLARED_CHARSET:
 							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(undeclared_charset);
+								SET_STRING_ATTRIBUTE(undeclared_charset, tinrc.attrib_undeclared_charset);
+#	ifdef USE_ICU_UCSDET
+							if (check_state(OPT_ATTRIB_UNDECLARED_CHARSET) && check_state(OPT_ATTRIB_UNDECLARED_CS_GUESS)) {
+								reset_state(OPT_ATTRIB_UNDECLARED_CS_GUESS);
+								redraw_screen(OPT_ATTRIB_UNDECLARED_CS_GUESS);
+								redraw_screen(OPT_ATTRIB_UNDECLARED_CHARSET);
+							}
+#	endif /* USE_ICU_UCSDET */
 							break;
-
 #endif /* CHARSET_CONVERSION */
+
 						case OPT_ATTRIB_X_BODY:
 							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(x_body);
+								SET_STRING_ATTRIBUTE(x_body, tinrc.attrib_x_body);
 							break;
 
 						case OPT_ATTRIB_X_HEADERS:
 							if (prompt_option_string(option))
-								SET_STRING_ATTRIBUTE(x_headers);
+								SET_STRING_ATTRIBUTE(x_headers, tinrc.attrib_x_headers);
 							break;
 
 						default:
@@ -2642,7 +2835,7 @@ config_page(
 
 						case OPT_ATTRIB_THREAD_PERC:
 							if (prompt_option_num(option))
-								SET_NUM_ATTRIBUTE(thread_perc);
+								SET_NUM_ATTRIBUTE(thread_perc, tinrc.attrib_thread_perc);
 							break;
 
 						default:
@@ -2686,8 +2879,6 @@ config_page(
 			highlight_option(option);
 		} /* if (change_option) */
 	} /* forever */
-	/* NOTREACHED */
-	return;
 }
 
 
@@ -2964,7 +3155,7 @@ build_scope_line(
 	 * Allocate line buffer
 	 * make it the same size like in !USE_CURSES case to simplify some code
 	 */
-	sptr = my_malloc(cCOLS + 2);
+	sptr = my_malloc((size_t) cCOLS + 2);
 #else
 	sptr = screen[INDEX2SNUM(i)].col;
 #endif /* USE_CURSES */
@@ -3036,7 +3227,7 @@ rename_scope(
 	char buf[LEN];
 
 	if (prompt_default_string(_(txt_scope_rename), buf, sizeof(buf), scope->scope, HIST_OTHER)) {
-		if (buf[0] == '\0')
+		if (!*buf)
 			return FALSE;
 		FreeIfNeeded(scope->scope);
 		scope->scope = my_strdup(buf);
@@ -3080,18 +3271,17 @@ move_scope(
 	int new_pos;
 
 	clear_message();
-	if ((p = tin_getline(_(txt_scope_new_position), 1, NULL, 0, FALSE, HIST_OTHER)) != NULL)
-		new_pos = atoi(p);
-	else
+	if ((p = tin_getline(_(txt_scope_new_position), 1, NULL, 0, FALSE, HIST_OTHER)) != NULL) {
+		new_pos = s2i(p, 0, num_scope - 1);
+		if (errno == EINVAL)
+			new_pos = curr_pos;
+	} else
 		new_pos = curr_pos;
 	clear_message();
 
 	if (new_pos == curr_pos || new_pos == 0)
 		return 0;
 
-	if (new_pos >= num_scope)
-		new_pos = num_scope - 1;
-
 	if (scopes[new_pos].global) {
 		info_message(_(txt_scope_new_position_is_global));
 		return 0;
@@ -3316,6 +3506,10 @@ check_state(
 			return curr_scope->state->mm_network_charset;
 		case OPT_ATTRIB_UNDECLARED_CHARSET:
 			return curr_scope->state->undeclared_charset;
+#	ifdef USE_ICU_UCSDET
+		case OPT_ATTRIB_UNDECLARED_CS_GUESS:
+			return curr_scope->state->undeclared_cs_guess;
+#	endif /* USE_ICU_UCSDET */
 #endif /* CHARSET_CONVERSION */
 		case OPT_ATTRIB_VERBATIM_HANDLING:
 			return curr_scope->state->verbatim_handling;
@@ -3337,7 +3531,17 @@ check_state(
 	}
 }
 
-
+#define ATTRIBUTE_IS_SET(attr) (curr_scope->state->attr && curr_scope->attribute->attr)
+#define RESET_ATTRIBUTE(attr, opt) do { \
+		if (ATTRIBUTE_IS_SET(attr)) { \
+			FreeAndNull(*curr_scope->attribute->attr); \
+			FreeAndNull(curr_scope->attribute->attr); \
+			FreeAndNull(opt); \
+		} \
+		if (default_scope->attribute->attr) \
+			opt = *default_scope->attribute->attr; \
+		curr_scope->state->attr = FALSE; \
+	} while (0)
 /*
  * set the state of the given attribute to FALSE and the corresponding
  * tinrc.attrib_* to a default value
@@ -3382,18 +3586,14 @@ reset_state(
 			tinrc.attrib_batch_save = default_scope->attribute->batch_save;
 			break;
 		case OPT_ATTRIB_DATE_FORMAT:
-			FreeAndNull(curr_scope->attribute->date_format);
-			curr_scope->state->date_format = FALSE;
-			snprintf(tinrc.attrib_date_format, sizeof(tinrc.attrib_date_format), "%s", BlankIfNull(default_scope->attribute->date_format));
+			RESET_ATTRIBUTE(date_format, tinrc.attrib_date_format);
 			break;
 		case OPT_ATTRIB_DELETE_TMP_FILES:
 			curr_scope->state->delete_tmp_files = FALSE;
 			tinrc.attrib_delete_tmp_files = default_scope->attribute->delete_tmp_files;
 			break;
 		case OPT_ATTRIB_EDITOR_FORMAT:
-			FreeAndNull(curr_scope->attribute->editor_format);
-			curr_scope->state->editor_format = FALSE;
-			snprintf(tinrc.attrib_editor_format, sizeof(tinrc.attrib_editor_format), "%s", BlankIfNull(default_scope->attribute->editor_format));
+			RESET_ATTRIBUTE(editor_format, tinrc.attrib_editor_format);
 			break;
 #ifdef HAVE_COLOR
 		case OPT_ATTRIB_EXTQUOTE_HANDLING:
@@ -3402,40 +3602,28 @@ reset_state(
 			break;
 #endif /* HAVE_COLOR */
 		case OPT_ATTRIB_FCC:
-			FreeAndNull(curr_scope->attribute->fcc);
-			curr_scope->state->fcc = FALSE;
-			snprintf(tinrc.attrib_fcc, sizeof(tinrc.attrib_fcc), "%s", BlankIfNull(default_scope->attribute->fcc));
+			RESET_ATTRIBUTE(fcc, tinrc.attrib_fcc);
 			break;
 		case OPT_ATTRIB_FOLLOWUP_TO:
-			FreeAndNull(curr_scope->attribute->followup_to);
-			curr_scope->state->followup_to = FALSE;
-			snprintf(tinrc.attrib_followup_to, sizeof(tinrc.attrib_followup_to), "%s", BlankIfNull(default_scope->attribute->followup_to));
+			RESET_ATTRIBUTE(followup_to, tinrc.attrib_followup_to);
 			break;
 		case OPT_ATTRIB_FROM:
-			FreeAndNull(curr_scope->attribute->from);
-			curr_scope->state->from = FALSE;
-			snprintf(tinrc.attrib_from, sizeof(tinrc.attrib_from), "%s", BlankIfNull(default_scope->attribute->from));
+			RESET_ATTRIBUTE(from, tinrc.attrib_from);
 			break;
 		case OPT_ATTRIB_GROUP_CATCHUP_ON_EXIT:
 			curr_scope->state->group_catchup_on_exit = FALSE;
 			tinrc.attrib_group_catchup_on_exit = default_scope->attribute->group_catchup_on_exit;
 			break;
 		case OPT_ATTRIB_GROUP_FORMAT:
-			FreeAndNull(curr_scope->attribute->group_format);
-			curr_scope->state->group_format = FALSE;
-			snprintf(tinrc.attrib_group_format, sizeof(tinrc.attrib_group_format), "%s", BlankIfNull(default_scope->attribute->group_format));
+			RESET_ATTRIBUTE(group_format, tinrc.attrib_group_format);
 			break;
 #ifdef HAVE_ISPELL
 		case OPT_ATTRIB_ISPELL:
-			FreeAndNull(curr_scope->attribute->ispell);
-			curr_scope->state->ispell = FALSE;
-			snprintf(tinrc.attrib_ispell, sizeof(tinrc.attrib_ispell), "%s", BlankIfNull(default_scope->attribute->ispell));
+			RESET_ATTRIBUTE(ispell, tinrc.attrib_ispell);
 			break;
 #endif /* HAVE_ISPELL */
 		case OPT_ATTRIB_MAILDIR:
-			FreeAndNull(curr_scope->attribute->maildir);
-			curr_scope->state->maildir = FALSE;
-			snprintf(tinrc.attrib_maildir, sizeof(tinrc.attrib_maildir), "%s", BlankIfNull(default_scope->attribute->maildir));
+			RESET_ATTRIBUTE(maildir, tinrc.attrib_maildir);
 			break;
 		case OPT_ATTRIB_MAIL_8BIT_HEADER:
 			curr_scope->state->mail_8bit_header = FALSE;
@@ -3446,9 +3634,7 @@ reset_state(
 			tinrc.attrib_mail_mime_encoding = default_scope->attribute->mail_mime_encoding;
 			break;
 		case OPT_ATTRIB_MAILING_LIST:
-			FreeAndNull(curr_scope->attribute->mailing_list);
-			curr_scope->state->mailing_list = FALSE;
-			snprintf(tinrc.attrib_mailing_list, sizeof(tinrc.attrib_mailing_list), "%s", BlankIfNull(default_scope->attribute->mailing_list));
+			RESET_ATTRIBUTE(mailing_list, tinrc.attrib_mailing_list);
 			break;
 		case OPT_ATTRIB_MARK_IGNORE_TAGS:
 			curr_scope->state->mark_ignore_tags = FALSE;
@@ -3463,26 +3649,18 @@ reset_state(
 			tinrc.attrib_mime_forward = default_scope->attribute->mime_forward;
 			break;
 		case OPT_ATTRIB_MIME_TYPES_TO_SAVE:
-			FreeAndNull(curr_scope->attribute->mime_types_to_save);
-			curr_scope->state->mime_types_to_save = FALSE;
-			snprintf(tinrc.attrib_mime_types_to_save, sizeof(tinrc.attrib_mime_types_to_save), "%s", BlankIfNull(default_scope->attribute->mime_types_to_save));
+			RESET_ATTRIBUTE(mime_types_to_save, tinrc.attrib_mime_types_to_save);
 			break;
 		case OPT_ATTRIB_NEWS_HEADERS_TO_DISPLAY:
-			FreeAndNull(curr_scope->attribute->news_headers_to_display);
+			RESET_ATTRIBUTE(news_headers_to_display, tinrc.attrib_news_headers_to_display);
 			build_news_headers_array(curr_scope->attribute, TRUE);
-			curr_scope->state->news_headers_to_display = FALSE;
-			snprintf(tinrc.attrib_news_headers_to_display, sizeof(tinrc.attrib_news_headers_to_display), "%s", BlankIfNull(default_scope->attribute->news_headers_to_display));
 			break;
 		case OPT_ATTRIB_NEWS_HEADERS_TO_NOT_DISPLAY:
-			FreeAndNull(curr_scope->attribute->news_headers_to_not_display);
+			RESET_ATTRIBUTE(news_headers_to_not_display, tinrc.attrib_news_headers_to_not_display);
 			build_news_headers_array(curr_scope->attribute, FALSE);
-			curr_scope->state->news_headers_to_not_display = FALSE;
-			snprintf(tinrc.attrib_news_headers_to_not_display, sizeof(tinrc.attrib_news_headers_to_not_display), "%s", BlankIfNull(default_scope->attribute->news_headers_to_not_display));
 			break;
 		case OPT_ATTRIB_QUICK_KILL_SCOPE:
-			FreeAndNull(curr_scope->attribute->quick_kill_scope);
-			curr_scope->state->quick_kill_scope = FALSE;
-			snprintf(tinrc.attrib_quick_kill_scope, sizeof(tinrc.attrib_quick_kill_scope), "%s", BlankIfNull(default_scope->attribute->quick_kill_scope));
+			RESET_ATTRIBUTE(quick_kill_scope, tinrc.attrib_quick_kill_scope);
 			break;
 		case OPT_ATTRIB_QUICK_KILL_HEADER:
 			curr_scope->state->quick_kill_header = FALSE;
@@ -3497,9 +3675,7 @@ reset_state(
 			tinrc.attrib_quick_kill_expire = default_scope->attribute->quick_kill_expire;
 			break;
 		case OPT_ATTRIB_QUICK_SELECT_SCOPE:
-			FreeAndNull(curr_scope->attribute->quick_select_scope);
-			curr_scope->state->quick_select_scope = FALSE;
-			snprintf(tinrc.attrib_quick_select_scope, sizeof(tinrc.attrib_quick_select_scope), "%s", BlankIfNull(default_scope->attribute->quick_select_scope));
+			RESET_ATTRIBUTE(quick_select_scope, tinrc.attrib_quick_select_scope);
 			break;
 		case OPT_ATTRIB_QUICK_SELECT_HEADER:
 			curr_scope->state->quick_select_header = FALSE;
@@ -3514,14 +3690,10 @@ reset_state(
 			tinrc.attrib_quick_select_expire = default_scope->attribute->quick_select_expire;
 			break;
 		case OPT_ATTRIB_NEWS_QUOTE_FORMAT:
-			FreeAndNull(curr_scope->attribute->news_quote_format);
-			curr_scope->state->news_quote_format = FALSE;
-			snprintf(tinrc.attrib_news_quote_format, sizeof(tinrc.attrib_news_quote_format), "%s", BlankIfNull(default_scope->attribute->news_quote_format));
+			RESET_ATTRIBUTE(news_quote_format, tinrc.attrib_news_quote_format);
 			break;
 		case OPT_ATTRIB_ORGANIZATION:
-			FreeAndNull(curr_scope->attribute->organization);
-			curr_scope->state->organization = FALSE;
-			snprintf(tinrc.attrib_organization, sizeof(tinrc.attrib_organization), "%s", BlankIfNull(default_scope->attribute->organization));
+			RESET_ATTRIBUTE(organization, tinrc.attrib_organization);
 			break;
 		case OPT_ATTRIB_POST_8BIT_HEADER:
 			curr_scope->state->post_8bit_header = FALSE;
@@ -3554,19 +3726,13 @@ reset_state(
 			tinrc.attrib_prompt_followupto = default_scope->attribute->prompt_followupto;
 			break;
 		case OPT_ATTRIB_QUOTE_CHARS:
-			FreeAndNull(curr_scope->attribute->quote_chars);
-			curr_scope->state->quote_chars = FALSE;
-			snprintf(tinrc.attrib_quote_chars, sizeof(tinrc.attrib_quote_chars), "%s", BlankIfNull(default_scope->attribute->quote_chars));
+			RESET_ATTRIBUTE(quote_chars, tinrc.attrib_quote_chars);
 			break;
 		case OPT_ATTRIB_SAVEDIR:
-			FreeAndNull(curr_scope->attribute->savedir);
-			curr_scope->state->savedir = FALSE;
-			snprintf(tinrc.attrib_savedir, sizeof(tinrc.attrib_savedir), "%s", BlankIfNull(default_scope->attribute->savedir));
+			RESET_ATTRIBUTE(savedir, tinrc.attrib_savedir);
 			break;
 		case OPT_ATTRIB_SAVEFILE:
-			FreeAndNull(curr_scope->attribute->savefile);
-			curr_scope->state->savefile = FALSE;
-			snprintf(tinrc.attrib_savefile, sizeof(tinrc.attrib_savefile), "%s", BlankIfNull(default_scope->attribute->savefile));
+			RESET_ATTRIBUTE(savefile, tinrc.attrib_savefile);
 			break;
 		case OPT_ATTRIB_SHOW_AUTHOR:
 			curr_scope->state->show_author = FALSE;
@@ -3589,9 +3755,7 @@ reset_state(
 			tinrc.attrib_sigdashes = default_scope->attribute->sigdashes;
 			break;
 		case OPT_ATTRIB_SIGFILE:
-			FreeAndNull(curr_scope->attribute->sigfile);
-			curr_scope->state->sigfile = FALSE;
-			snprintf(tinrc.attrib_sigfile, sizeof(tinrc.attrib_sigfile), "%s", BlankIfNull(default_scope->attribute->sigfile));
+			RESET_ATTRIBUTE(sigfile, tinrc.attrib_sigfile);
 			break;
 		case OPT_ATTRIB_SIGNATURE_REPOST:
 			curr_scope->state->signature_repost = FALSE;
@@ -3612,9 +3776,7 @@ reset_state(
 			tinrc.attrib_thread_catchup_on_exit = default_scope->attribute->thread_catchup_on_exit;
 			break;
 		case OPT_ATTRIB_THREAD_FORMAT:
-			FreeAndNull(curr_scope->attribute->thread_format);
-			curr_scope->state->thread_format = FALSE;
-			snprintf(tinrc.attrib_thread_format, sizeof(tinrc.attrib_thread_format), "%s", BlankIfNull(default_scope->attribute->thread_format));
+			RESET_ATTRIBUTE(thread_format, tinrc.attrib_thread_format);
 			break;
 		case OPT_ATTRIB_THREAD_PERC:
 			curr_scope->state->thread_perc = FALSE;
@@ -3638,10 +3800,14 @@ reset_state(
 			tinrc.attrib_mm_network_charset = default_scope->attribute->mm_network_charset;
 			break;
 		case OPT_ATTRIB_UNDECLARED_CHARSET:
-			FreeAndNull(curr_scope->attribute->undeclared_charset);
-			curr_scope->state->undeclared_charset = FALSE;
-			snprintf(tinrc.attrib_undeclared_charset, sizeof(tinrc.attrib_undeclared_charset), "%s", BlankIfNull(default_scope->attribute->undeclared_charset));
+			RESET_ATTRIBUTE(undeclared_charset, tinrc.attrib_undeclared_charset);
+			break;
+#	ifdef USE_ICU_UCSDET
+		case OPT_ATTRIB_UNDECLARED_CS_GUESS:
+			curr_scope->state->undeclared_cs_guess = FALSE;
+			tinrc.attrib_undeclared_cs_guess = default_scope->attribute->undeclared_cs_guess;
 			break;
+#	endif /* USE_ICU_UCSDET */
 #endif /* CHARSET_CONVERSION */
 		case OPT_ATTRIB_VERBATIM_HANDLING:
 			curr_scope->state->verbatim_handling = FALSE;
@@ -3660,18 +3826,14 @@ reset_state(
 			tinrc.attrib_post_process_type = default_scope->attribute->post_process_type;
 			break;
 		case OPT_ATTRIB_X_BODY:
-			FreeAndNull(curr_scope->attribute->x_body);
-			curr_scope->state->x_body = FALSE;
-			snprintf(tinrc.attrib_x_body, sizeof(tinrc.attrib_x_body), "%s", BlankIfNull(default_scope->attribute->x_body));
+			RESET_ATTRIBUTE(x_body, tinrc.attrib_x_body);
 			break;
 		case OPT_ATTRIB_X_COMMENT_TO:
 			curr_scope->state->x_comment_to = FALSE;
 			tinrc.attrib_x_comment_to = default_scope->attribute->x_comment_to;
 			break;
 		case OPT_ATTRIB_X_HEADERS:
-			FreeAndNull(curr_scope->attribute->x_headers);
-			curr_scope->state->x_headers = FALSE;
-			snprintf(tinrc.attrib_x_headers, sizeof(tinrc.attrib_x_headers), "%s", BlankIfNull(default_scope->attribute->x_headers));
+			RESET_ATTRIBUTE(x_headers, tinrc.attrib_x_headers);
 			break;
 
 		default:
@@ -3680,17 +3842,17 @@ reset_state(
 }
 
 
-#define INITIALIZE_STRING_ATTRIBUTE(option) do { \
+#define INITIALIZE_STRING_ATTRIBUTE(option, attrib) do { \
 		if (curr_scope->state->option) \
-			snprintf(CAO(tinrc.attrib_, option), sizeof(CAO(tinrc.attrib_, option)), "%s", curr_scope->attribute->option); \
-		else \
-			snprintf(CAO(tinrc.attrib_, option), sizeof(CAO(tinrc.attrib_, option)), "%s", BlankIfNull(default_scope->attribute->option)); \
+			attrib = my_strdup(*curr_scope->attribute->option); \
+		else if (default_scope->attribute->option && *default_scope->attribute->option) \
+			attrib = *default_scope->attribute->option; \
 	} while (0)
-#define INITIALIZE_NUM_ATTRIBUTE(option) do { \
+#define INITIALIZE_NUM_ATTRIBUTE(option, attrib) do { \
 		if (curr_scope->state->option) \
-			CAO(tinrc.attrib_, option) = curr_scope->attribute->option; \
+			attrib = curr_scope->attribute->option; \
 		else \
-			CAO(tinrc.attrib_, option) = default_scope->attribute->option; \
+			attrib = default_scope->attribute->option; \
 	} while (0)
 
 static void
@@ -3699,86 +3861,129 @@ initialize_attributes(
 {
 	struct t_scope *default_scope = &scopes[0];
 
-	INITIALIZE_NUM_ATTRIBUTE(add_posted_to_filter);
-	INITIALIZE_NUM_ATTRIBUTE(advertising);
-	INITIALIZE_NUM_ATTRIBUTE(alternative_handling);
-	INITIALIZE_NUM_ATTRIBUTE(ask_for_metamail);
-	INITIALIZE_NUM_ATTRIBUTE(auto_cc_bcc);
-	INITIALIZE_NUM_ATTRIBUTE(auto_list_thread);
-	INITIALIZE_NUM_ATTRIBUTE(auto_select);
-	INITIALIZE_NUM_ATTRIBUTE(batch_save);
-	INITIALIZE_NUM_ATTRIBUTE(delete_tmp_files);
+	INITIALIZE_NUM_ATTRIBUTE(add_posted_to_filter, tinrc.attrib_add_posted_to_filter);
+	INITIALIZE_NUM_ATTRIBUTE(advertising, tinrc.attrib_advertising);
+	INITIALIZE_NUM_ATTRIBUTE(alternative_handling, tinrc.attrib_alternative_handling);
+	INITIALIZE_NUM_ATTRIBUTE(ask_for_metamail, tinrc.attrib_ask_for_metamail);
+	INITIALIZE_NUM_ATTRIBUTE(auto_cc_bcc, tinrc.attrib_auto_cc_bcc);
+	INITIALIZE_NUM_ATTRIBUTE(auto_list_thread, tinrc.attrib_auto_list_thread);
+	INITIALIZE_NUM_ATTRIBUTE(auto_select, tinrc.attrib_auto_select);
+	INITIALIZE_NUM_ATTRIBUTE(batch_save, tinrc.attrib_batch_save);
+	INITIALIZE_NUM_ATTRIBUTE(delete_tmp_files, tinrc.attrib_delete_tmp_files);
 #ifdef HAVE_COLOR
-	INITIALIZE_NUM_ATTRIBUTE(extquote_handling);
+	INITIALIZE_NUM_ATTRIBUTE(extquote_handling, tinrc.attrib_extquote_handling);
 #endif /* HAVE_COLOR */
-	INITIALIZE_NUM_ATTRIBUTE(group_catchup_on_exit);
-	INITIALIZE_NUM_ATTRIBUTE(mail_8bit_header);
-	INITIALIZE_NUM_ATTRIBUTE(mail_mime_encoding);
-	INITIALIZE_NUM_ATTRIBUTE(mark_ignore_tags);
-	INITIALIZE_NUM_ATTRIBUTE(mark_saved_read);
-	INITIALIZE_NUM_ATTRIBUTE(mime_forward);
-	INITIALIZE_NUM_ATTRIBUTE(pos_first_unread);
-	INITIALIZE_NUM_ATTRIBUTE(post_8bit_header);
-	INITIALIZE_NUM_ATTRIBUTE(post_mime_encoding);
-	INITIALIZE_NUM_ATTRIBUTE(post_process_view);
+	INITIALIZE_NUM_ATTRIBUTE(group_catchup_on_exit, tinrc.attrib_group_catchup_on_exit);
+	INITIALIZE_NUM_ATTRIBUTE(mail_8bit_header, tinrc.attrib_mail_8bit_header);
+	INITIALIZE_NUM_ATTRIBUTE(mail_mime_encoding, tinrc.attrib_mail_mime_encoding);
+	INITIALIZE_NUM_ATTRIBUTE(mark_ignore_tags, tinrc.attrib_mark_ignore_tags);
+	INITIALIZE_NUM_ATTRIBUTE(mark_saved_read, tinrc.attrib_mark_saved_read);
+	INITIALIZE_NUM_ATTRIBUTE(mime_forward, tinrc.attrib_mime_forward);
+	INITIALIZE_NUM_ATTRIBUTE(pos_first_unread, tinrc.attrib_pos_first_unread);
+	INITIALIZE_NUM_ATTRIBUTE(post_8bit_header, tinrc.attrib_post_8bit_header);
+	INITIALIZE_NUM_ATTRIBUTE(post_mime_encoding, tinrc.attrib_post_mime_encoding);
+	INITIALIZE_NUM_ATTRIBUTE(post_process_view, tinrc.attrib_post_process_view);
 #ifndef DISABLE_PRINTING
-	INITIALIZE_NUM_ATTRIBUTE(print_header);
+	INITIALIZE_NUM_ATTRIBUTE(print_header, tinrc.attrib_print_header);
 #endif /* !DISABLE_PRINTING */
-	INITIALIZE_NUM_ATTRIBUTE(process_only_unread);
-	INITIALIZE_NUM_ATTRIBUTE(prompt_followupto);
-	INITIALIZE_NUM_ATTRIBUTE(quick_kill_header);
-	INITIALIZE_NUM_ATTRIBUTE(quick_kill_case);
-	INITIALIZE_NUM_ATTRIBUTE(quick_kill_expire);
-	INITIALIZE_NUM_ATTRIBUTE(quick_select_header);
-	INITIALIZE_NUM_ATTRIBUTE(quick_select_case);
-	INITIALIZE_NUM_ATTRIBUTE(quick_select_expire);
-	INITIALIZE_NUM_ATTRIBUTE(show_author);
-	INITIALIZE_NUM_ATTRIBUTE(show_only_unread_arts);
-	INITIALIZE_NUM_ATTRIBUTE(show_signatures);
-	INITIALIZE_NUM_ATTRIBUTE(show_art_score);
-	INITIALIZE_NUM_ATTRIBUTE(sigdashes);
-	INITIALIZE_NUM_ATTRIBUTE(signature_repost);
+	INITIALIZE_NUM_ATTRIBUTE(process_only_unread, tinrc.attrib_process_only_unread);
+	INITIALIZE_NUM_ATTRIBUTE(prompt_followupto, tinrc.attrib_prompt_followupto);
+	INITIALIZE_NUM_ATTRIBUTE(quick_kill_header, tinrc.attrib_quick_kill_header);
+	INITIALIZE_NUM_ATTRIBUTE(quick_kill_case, tinrc.attrib_quick_kill_case);
+	INITIALIZE_NUM_ATTRIBUTE(quick_kill_expire, tinrc.attrib_quick_kill_expire);
+	INITIALIZE_NUM_ATTRIBUTE(quick_select_header, tinrc.attrib_quick_select_header);
+	INITIALIZE_NUM_ATTRIBUTE(quick_select_case, tinrc.attrib_quick_select_case);
+	INITIALIZE_NUM_ATTRIBUTE(quick_select_expire, tinrc.attrib_quick_select_expire);
+	INITIALIZE_NUM_ATTRIBUTE(show_author, tinrc.attrib_show_author);
+	INITIALIZE_NUM_ATTRIBUTE(show_only_unread_arts, tinrc.attrib_show_only_unread_arts);
+	INITIALIZE_NUM_ATTRIBUTE(show_signatures, tinrc.attrib_show_signatures);
+	INITIALIZE_NUM_ATTRIBUTE(show_art_score, tinrc.attrib_show_art_score);
+	INITIALIZE_NUM_ATTRIBUTE(sigdashes, tinrc.attrib_sigdashes);
+	INITIALIZE_NUM_ATTRIBUTE(signature_repost, tinrc.attrib_signature_repost);
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-	INITIALIZE_NUM_ATTRIBUTE(suppress_soft_hyphens);
+	INITIALIZE_NUM_ATTRIBUTE(suppress_soft_hyphens, tinrc.attrib_suppress_soft_hyphens);
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
-	INITIALIZE_NUM_ATTRIBUTE(thread_articles);
-	INITIALIZE_NUM_ATTRIBUTE(thread_catchup_on_exit);
-	INITIALIZE_NUM_ATTRIBUTE(thread_perc);
-	INITIALIZE_NUM_ATTRIBUTE(trim_article_body);
-	INITIALIZE_NUM_ATTRIBUTE(tex2iso_conv);
-	INITIALIZE_NUM_ATTRIBUTE(verbatim_handling);
-	INITIALIZE_NUM_ATTRIBUTE(wrap_on_next_unread);
-	INITIALIZE_NUM_ATTRIBUTE(sort_article_type);
-	INITIALIZE_NUM_ATTRIBUTE(sort_threads_type);
-	INITIALIZE_NUM_ATTRIBUTE(post_process_type);
-	INITIALIZE_NUM_ATTRIBUTE(x_comment_to);
-	INITIALIZE_STRING_ATTRIBUTE(date_format);
-	INITIALIZE_STRING_ATTRIBUTE(editor_format);
-	INITIALIZE_STRING_ATTRIBUTE(fcc);
-	INITIALIZE_STRING_ATTRIBUTE(followup_to);
-	INITIALIZE_STRING_ATTRIBUTE(from);
-	INITIALIZE_STRING_ATTRIBUTE(group_format);
+	INITIALIZE_NUM_ATTRIBUTE(thread_articles, tinrc.attrib_thread_articles);
+	INITIALIZE_NUM_ATTRIBUTE(thread_catchup_on_exit, tinrc.attrib_thread_catchup_on_exit);
+	INITIALIZE_NUM_ATTRIBUTE(thread_perc, tinrc.attrib_thread_perc);
+	INITIALIZE_NUM_ATTRIBUTE(trim_article_body, tinrc.attrib_trim_article_body);
+	INITIALIZE_NUM_ATTRIBUTE(tex2iso_conv, tinrc.attrib_tex2iso_conv);
+#if defined(CHARSET_CONVERSION) && defined(USE_ICU_UCSDET)
+	INITIALIZE_NUM_ATTRIBUTE(undeclared_cs_guess, tinrc.attrib_undeclared_cs_guess);
+#endif /* CHARSET_CONVERSION && USE_ICU_UCSDET */
+	INITIALIZE_NUM_ATTRIBUTE(verbatim_handling, tinrc.attrib_verbatim_handling);
+	INITIALIZE_NUM_ATTRIBUTE(wrap_on_next_unread, tinrc.attrib_wrap_on_next_unread);
+	INITIALIZE_NUM_ATTRIBUTE(sort_article_type, tinrc.attrib_sort_article_type);
+	INITIALIZE_NUM_ATTRIBUTE(sort_threads_type, tinrc.attrib_sort_threads_type);
+	INITIALIZE_NUM_ATTRIBUTE(post_process_type, tinrc.attrib_post_process_type);
+	INITIALIZE_NUM_ATTRIBUTE(x_comment_to, tinrc.attrib_x_comment_to);
+	INITIALIZE_STRING_ATTRIBUTE(date_format, tinrc.attrib_date_format);
+	INITIALIZE_STRING_ATTRIBUTE(editor_format, tinrc.attrib_editor_format);
+	INITIALIZE_STRING_ATTRIBUTE(fcc, tinrc.attrib_fcc);
+	INITIALIZE_STRING_ATTRIBUTE(followup_to, tinrc.attrib_followup_to);
+	INITIALIZE_STRING_ATTRIBUTE(from, tinrc.attrib_from);
+	INITIALIZE_STRING_ATTRIBUTE(group_format, tinrc.attrib_group_format);
+#ifdef HAVE_ISPELL
+	INITIALIZE_STRING_ATTRIBUTE(ispell, tinrc.attrib_ispell);
+#endif /* HAVE_ISPELL */
+	INITIALIZE_STRING_ATTRIBUTE(maildir, tinrc.attrib_maildir);
+	INITIALIZE_STRING_ATTRIBUTE(mailing_list, tinrc.attrib_mailing_list);
+	INITIALIZE_STRING_ATTRIBUTE(mime_types_to_save, tinrc.attrib_mime_types_to_save);
+	INITIALIZE_STRING_ATTRIBUTE(news_headers_to_display, tinrc.attrib_news_headers_to_display);
+	INITIALIZE_STRING_ATTRIBUTE(news_headers_to_not_display, tinrc.attrib_news_headers_to_not_display);
+	INITIALIZE_STRING_ATTRIBUTE(news_quote_format, tinrc.attrib_news_quote_format);
+	INITIALIZE_STRING_ATTRIBUTE(organization, tinrc.attrib_organization);
+	INITIALIZE_STRING_ATTRIBUTE(quick_kill_scope, tinrc.attrib_quick_kill_scope);
+	INITIALIZE_STRING_ATTRIBUTE(quick_select_scope, tinrc.attrib_quick_select_scope);
+	INITIALIZE_STRING_ATTRIBUTE(quote_chars, tinrc.attrib_quote_chars);
+	INITIALIZE_STRING_ATTRIBUTE(savedir, tinrc.attrib_savedir);
+	INITIALIZE_STRING_ATTRIBUTE(savefile, tinrc.attrib_savefile);
+	INITIALIZE_STRING_ATTRIBUTE(sigfile, tinrc.attrib_sigfile);
+	INITIALIZE_STRING_ATTRIBUTE(thread_format, tinrc.attrib_thread_format);
+#ifdef CHARSET_CONVERSION
+	INITIALIZE_NUM_ATTRIBUTE(mm_network_charset, tinrc.attrib_mm_network_charset);
+	INITIALIZE_STRING_ATTRIBUTE(undeclared_charset, tinrc.attrib_undeclared_charset);
+#endif /* CHARSET_CONVERSION */
+	INITIALIZE_STRING_ATTRIBUTE(x_body, tinrc.attrib_x_body);
+	INITIALIZE_STRING_ATTRIBUTE(x_headers, tinrc.attrib_x_headers);
+}
+
+
+#define FREE_TINRC_ATTRIBUTE(option, attrib) do { \
+		if (curr_scope->state->option && attrib) \
+			FreeAndNull(attrib); \
+	} while (0)
+
+static void
+free_tinrc_attributes(
+		void)
+{
+	FREE_TINRC_ATTRIBUTE(date_format, tinrc.attrib_date_format);
+	FREE_TINRC_ATTRIBUTE(editor_format, tinrc.attrib_editor_format);
+	FREE_TINRC_ATTRIBUTE(fcc, tinrc.attrib_fcc);
+	FREE_TINRC_ATTRIBUTE(followup_to, tinrc.attrib_followup_to);
+	FREE_TINRC_ATTRIBUTE(from, tinrc.attrib_from);
+	FREE_TINRC_ATTRIBUTE(group_format, tinrc.attrib_group_format);
 #ifdef HAVE_ISPELL
-	INITIALIZE_STRING_ATTRIBUTE(ispell);
+	FREE_TINRC_ATTRIBUTE(ispell, tinrc.attrib_ispell);
 #endif /* HAVE_ISPELL */
-	INITIALIZE_STRING_ATTRIBUTE(maildir);
-	INITIALIZE_STRING_ATTRIBUTE(mailing_list);
-	INITIALIZE_STRING_ATTRIBUTE(mime_types_to_save);
-	INITIALIZE_STRING_ATTRIBUTE(news_headers_to_display);
-	INITIALIZE_STRING_ATTRIBUTE(news_headers_to_not_display);
-	INITIALIZE_STRING_ATTRIBUTE(news_quote_format);
-	INITIALIZE_STRING_ATTRIBUTE(organization);
-	INITIALIZE_STRING_ATTRIBUTE(quick_kill_scope);
-	INITIALIZE_STRING_ATTRIBUTE(quick_select_scope);
-	INITIALIZE_STRING_ATTRIBUTE(quote_chars);
-	INITIALIZE_STRING_ATTRIBUTE(savedir);
-	INITIALIZE_STRING_ATTRIBUTE(savefile);
-	INITIALIZE_STRING_ATTRIBUTE(sigfile);
-	INITIALIZE_STRING_ATTRIBUTE(thread_format);
+	FREE_TINRC_ATTRIBUTE(maildir, tinrc.attrib_maildir);
+	FREE_TINRC_ATTRIBUTE(mailing_list, tinrc.attrib_mailing_list);
+	FREE_TINRC_ATTRIBUTE(mime_types_to_save, tinrc.attrib_mime_types_to_save);
+	FREE_TINRC_ATTRIBUTE(news_headers_to_display, tinrc.attrib_news_headers_to_display);
+	FREE_TINRC_ATTRIBUTE(news_headers_to_not_display, tinrc.attrib_news_headers_to_not_display);
+	FREE_TINRC_ATTRIBUTE(news_quote_format, tinrc.attrib_news_quote_format);
+	FREE_TINRC_ATTRIBUTE(organization, tinrc.attrib_organization);
+	FREE_TINRC_ATTRIBUTE(quick_kill_scope, tinrc.attrib_quick_kill_scope);
+	FREE_TINRC_ATTRIBUTE(quick_select_scope, tinrc.attrib_quick_select_scope);
+	FREE_TINRC_ATTRIBUTE(quote_chars, tinrc.attrib_quote_chars);
+	FREE_TINRC_ATTRIBUTE(savedir, tinrc.attrib_savedir);
+	FREE_TINRC_ATTRIBUTE(savefile, tinrc.attrib_savefile);
+	FREE_TINRC_ATTRIBUTE(sigfile, tinrc.attrib_sigfile);
+	FREE_TINRC_ATTRIBUTE(thread_format, tinrc.attrib_thread_format);
 #ifdef CHARSET_CONVERSION
-	INITIALIZE_NUM_ATTRIBUTE(mm_network_charset);
-	INITIALIZE_STRING_ATTRIBUTE(undeclared_charset);
+	FREE_TINRC_ATTRIBUTE(undeclared_charset, tinrc.attrib_undeclared_charset);
 #endif /* CHARSET_CONVERSION */
-	INITIALIZE_STRING_ATTRIBUTE(x_body);
-	INITIALIZE_STRING_ATTRIBUTE(x_headers);
+	FREE_TINRC_ATTRIBUTE(x_body, tinrc.attrib_x_body);
+	FREE_TINRC_ATTRIBUTE(x_headers, tinrc.attrib_x_headers);
 }
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/page.c tin-2.6.4/src/page.c
--- tin-2.6.3/src/page.c	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/page.c	2024-12-11 16:39:37.448446956 +0100
@@ -3,10 +3,10 @@
  *  Module    : page.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2023-12-06
+ *  Updated   : 2024-12-11
  *  Notes     :
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,6 +44,9 @@
 #ifndef TCURSES_H
 #	include "tcurses.h"
 #endif /* !TCURSES_H */
+#ifdef HAVE_LIBURIPARSER
+#	include <uriparser/Uri.h>
+#endif /* HAVE_LIBURIPARSER */
 
 
 /*
@@ -62,9 +65,9 @@ static t_url *url_list;
 
 t_openartinfo pgart =	/* Global context of article open in the pager */
 	{
-		{ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, FALSE, NULL},
+		{ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, FALSE, NULL },
 		FALSE, 0,
-		NULL, NULL, NULL, NULL,
+		NULL, NULL, NULL, NULL, NULL,
 	};
 
 int last_resp;			/* previous & current article # in arts[] for '-' command */
@@ -83,6 +86,7 @@ static int reveal_ctrl_l_lines;	/* numbe
 static int rotate;				/* 0=normal, 13=rot13 decode */
 static int scroll_region_top;	/* first screen line for displayed message */
 static int search_line;			/* Line to commence next search from */
+static void show_article_info_page(void);
 static t_lineinfo *infoline = (t_lineinfo *) 0;
 
 static t_bool show_all_headers;	/* all headers <-> headers in news_headers_to[_not]_display */
@@ -92,6 +96,7 @@ static t_bool reveal_ctrl_l;	/* set when
 /*
  * Local prototypes
  */
+static char *build_from_line(void);
 static int build_url_list(void);
 static int load_article(int new_respnum, struct t_group *group);
 static int prompt_response(int ch, int curr_respnum);
@@ -156,12 +161,17 @@ scroll_page(
 				break;
 
 			case -1:
-				i--;
+				--i;
 				break;
 
 			case -2:
 				i >>= 1;
 				break;
+
+			default: /* should not happen */
+				/* CONSTANTCONDITION */
+				assert(0 != 0);
+				break;
 		}
 	}
 
@@ -252,11 +262,12 @@ deactivate_next_ctrl_l(
 		return FALSE;
 	if (end > artlines)
 		end = artlines;
-	for (i = reveal_ctrl_l_lines + 1; i < end; i++)
+	for (i = reveal_ctrl_l_lines + 1; i < end; i++) {
 		if (artline[i].flags & C_CTRLL) {
 			reveal_ctrl_l_lines = i;
 			return TRUE;
 		}
+	}
 	reveal_ctrl_l_lines = end - 1;
 	return FALSE;
 }
@@ -278,11 +289,12 @@ activate_last_ctrl_l(
 
 	if (reveal_ctrl_l)
 		return FALSE;
-	for (i = reveal_ctrl_l_lines; i >= curr_line; i--)
+	for (i = reveal_ctrl_l_lines; i >= curr_line; i--) {
 		if (artline[i].flags & C_CTRLL) {
 			reveal_ctrl_l_lines = i - 1;
 			return TRUE;
 		}
+	}
 	reveal_ctrl_l_lines = curr_line - 1;
 	return FALSE;
 }
@@ -318,7 +330,7 @@ show_page(
 	t_bool repeat_search;
 	t_function func;
 
-	if (group->attribute->mailing_list != NULL)
+	if (group->attribute->mailing_list && *group->attribute->mailing_list)
 		art_type = GROUP_TYPE_MAIL;
 
 	/*
@@ -420,7 +432,7 @@ show_page(
 						curr_line += ((tinrc.scroll_lines == -2) ? ARTLINES / 2 : ARTLINES);
 
 						if (tinrc.scroll_lines == -1)		/* formerly show_last_line_prev_page */
-							curr_line--;
+							--curr_line;
 						draw_page(0);
 					}
 				}
@@ -503,7 +515,7 @@ page_goto_next_unread:
 
 			case PAGE_GOTO_PARENT:		/* Goto parent of this article */
 			{
-				struct t_msgid *parent = arts[this_resp].refptr->parent;
+				const struct t_msgid *parent = arts[this_resp].refptr->parent;
 
 				if (parent == NULL) {
 					info_message(_(txt_art_parent_none));
@@ -600,7 +612,8 @@ page_goto_next_unread:
 
 			case PAGE_TOP_THREAD:	/* first article in current thread */
 				if (arts[this_resp].prev >= 0) {
-					if ((n = which_thread(this_resp)) >= 0 && base[n] != this_resp) {
+					n = which_thread(this_resp);
+					if (n >= 0 && base[n] != this_resp) {
 						assert(n < grpmenu.max);
 						if ((i = load_article((int) base[n], group)) < 0) {
 							XFACE_CLEAR();
@@ -614,7 +627,7 @@ page_goto_next_unread:
 				for (i = this_resp; i >= 0; i = arts[i].thread)
 					n = i;
 
-				if (n != this_resp) {
+				if (n != this_resp && n >= 0) {
 					if ((i = load_article(n, group)) < 0) {
 						XFACE_CLEAR();
 						return i;
@@ -653,7 +666,7 @@ page_goto_next_unread:
 				break;
 
 			case PAGE_TOGGLE_TEX2ISO:		/* toggle German TeX to ISO latin1 style conversion */
-				if (((group->attribute->tex2iso_conv) = !(group->attribute->tex2iso_conv)))
+				if ((group->attribute->tex2iso_conv = bool_not(group->attribute->tex2iso_conv)))
 					pgart.tex2iso = is_art_tex_encoded(pgart.raw);
 				else
 					pgart.tex2iso = FALSE;
@@ -726,18 +739,22 @@ page_goto_next_unread:
 				break;
 
 			case GLOBAL_EDIT_FILTER:
-				XFACE_CLEAR();
-				if (invoke_editor(filter_file, filter_file_offset, NULL)) {
-					old_artnum = arts[this_resp].artnum;
-					unfilter_articles(group);
-					(void) read_filter_file(filter_file);
-					filter_articles(group);
-					make_threads(group, FALSE);
-					if ((n = find_artnum(old_artnum)) == -1 || which_thread(n) == -1) /* We have lost the thread */
-						return GRP_KILLED;
-					this_resp = n;
+				if (no_write)
+					info_message(_(txt_info_no_write));
+				else {
+					XFACE_CLEAR();
+					if (invoke_editor(filter_file, filter_file_offset, NULL)) {
+						old_artnum = arts[this_resp].artnum;
+						unfilter_articles(group);
+						(void) read_filter_file(filter_file);
+						filter_articles(group);
+						make_threads(group, FALSE);
+						if ((n = find_artnum(old_artnum)) == -1 || which_thread(n) == -1) /* We have lost the thread */
+							return GRP_KILLED;
+						this_resp = n;
+					}
+					draw_page(0);
 				}
-				draw_page(0);
 				break;
 
 			case GLOBAL_REDRAW_SCREEN:		/* redraw current page of article */
@@ -1025,6 +1042,12 @@ return_to_index:
 				}
 				break;
 
+			case PAGE_ARTICLE_INFO:
+				XFACE_CLEAR();
+				show_article_info_page();
+				draw_page(0);
+				break;
+
 			default:
 				info_message(_(txt_bad_command), PrintFuncKey(key, GLOBAL_HELP, page_keys));
 		}
@@ -1320,7 +1343,7 @@ invoke_metamail(
 	Raw(FALSE);
 
 #ifdef DONT_HAVE_PIPING
-	if ((fd_mime = my_tmpfile(mimefile, sizeof(mimefile) - 1, homedir)) == -1) {
+	if ((fd_mime = my_mktmp(mimefile, sizeof(mimefile) - 1, homedir)) == -1) {
 		perror_message(_(txt_command_failed), ptr);
 		return;
 	}
@@ -1355,16 +1378,18 @@ invoke_metamail(
 		if (!seek_error) {
 #ifdef DONT_HAVE_PIPING
 			char *pbuf;
-			size_t len;
+			size_t len = snprintf(NULL, 0, "%s %s", tinrc.metamail_prog, mimefile);
 
-			len = snprintf(NULL, 0, "%s %s", tinrc.metamail_prog, mimefile);
-			pbuf= my_malloc(++len);
+			pbuf = my_malloc(++len);
 			snprintf(pbuf, len, "%s %s", tinrc.metamail_prog, mimefile);
 			invoke_cmd(pbuf);
 			free(pbuf);
 #endif /* DONT_HAVE_PIPING */
-		} else
+		}
+#ifdef DEBUG
+		else
 			perror_message(_(txt_command_failed), ptr);
+#endif /* DEBUG */
 
 #ifdef DONT_HAVE_PIPING
 		fclose(mime_fp);
@@ -1387,22 +1412,77 @@ invoke_metamail(
 }
 
 
+static char *
+build_from_line(
+	void)
+{
+	char *tmp_from, *curr_from, *next_from, *p;
+	char addr[HEADER_LEN];
+	char name[HEADER_LEN];
+	char single_from[HEADER_LEN + 5]; /*"\"\" <>"*/
+	char *from = NULL;
+	int type, c_needed = 0;
+
+	if (!note_h->from) {
+		from = my_malloc(3);
+		strcpy(from, "<>");
+		return from;
+	}
+
+	curr_from = tmp_from = my_strdup(note_h->from);
+
+	do {
+		next_from = split_mailbox_list(curr_from);
+		if (gnksa_split_from(curr_from, addr, name, &type) == GNKSA_OK) {
+			buffer_to_ascii(addr);
+			p = idna_decode(addr);
+
+			if (*name) {
+				if (CHECK_RFC5322_SPECIALS(name))
+					snprintf(single_from, sizeof(single_from), "\"%s\" <%s>", name, p);
+				else
+					snprintf(single_from, sizeof(single_from), "%s <%s>", name, p);
+			} else {
+				STRCPY(single_from, p);
+			}
+			free(p);
+		} else {
+			p = idna_decode(str_trim(curr_from));
+			STRCPY(single_from, p);
+			free(p);
+		}
+		if (c_needed++)
+			from = append_to_string(from, ", ");
+		from = append_to_string(from, single_from);
+		curr_from = next_from;
+	} while (curr_from);
+
+	free(tmp_from);
+	return from;
+}
+
+
 /*
  * PAGE_HEADER defines the size in lines of this header
+ *
+ * TODO: what about page_header_format{1,PAGE_HEADER-1}
+ *       to be able to customize the shown data and if all
+ *       are set to NULL use the full screen for ARTLINES?
+ *       (headers then could be seen via news_headers_to_display)
  */
 static void
 draw_page_header(
 	void)
 {
-	char *buf, *tmp;
+	char *buf, *from, *tmp, *tmp2;
 	int i;
 	int whichresp, x_resp;
 	int len, right_len, center_pos, cur_pos;
 	size_t line_len;
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-	wchar_t *fmt_resp = NULL, *fmt_thread, *wtmp, *wtmp2, *wbuf;
-#else
-	char *tmp2;
+	int n;
+	size_t tlen;
+	wchar_t *fmt_resp = NULL, *fmt_thread, *wtmp, *wtmp2, *wtmp3, *wbuf;
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
 	whichresp = which_response(this_resp);
@@ -1414,7 +1494,7 @@ draw_page_header(
 	line_len = LEN + 1;
 	buf = my_malloc(line_len);
 
-	if (!my_strftime(buf, line_len, curr_group->attribute->date_format, localtime(&arts[this_resp].date))) {
+	if (!my_strftime(buf, line_len, curr_group->attribute->date_format ? BlankIfNull(*curr_group->attribute->date_format) : "", localtime(&arts[this_resp].date))) {
 		strncpy(buf, BlankIfNull(note_h->date), line_len);
 		buf[line_len - 1] = '\0';
 	}
@@ -1451,7 +1531,8 @@ draw_page_header(
 	/* date */
 	if ((wtmp = char2wchar_t(buf)) != NULL) {
 		my_fputws(wtmp, stdout);
-		cur_pos += wcswidth(wtmp, wcslen(wtmp));
+		if ((n = wcswidth(wtmp, wcslen(wtmp))) > 0)
+			cur_pos += n;
 		free(wtmp);
 	}
 
@@ -1459,10 +1540,11 @@ draw_page_header(
 	 * determine max len for centered group name
 	 * allow one space before and after group name
 	 */
-	len = cCOLS - 2 * MAX(cur_pos, right_len) - 3;
+	if ((len = cCOLS - 2 * MAX(cur_pos, right_len) - 3) < 0)
+		len = 0;
 
 	/* group name */
-	if ((wtmp = char2wchar_t(curr_group->name)) != NULL) {
+	if ((wtmp = char2wchar_t(curr_group->name)) != NULL && len > 0) {
 		/* wconvert_to_printable(wtmp, FALSE); */
 		if (tinrc.abbreviate_groupname)
 			wtmp2 = abbr_wcsgroupname(wtmp, len);
@@ -1481,8 +1563,8 @@ draw_page_header(
 		my_fputws(wtmp2, stdout);
 		cur_pos += wcswidth(wtmp2, wcslen(wtmp2));
 		free(wtmp2);
-		free(wtmp);
 	}
+	FreeIfNeeded(wtmp);
 
 	/* pad out to right */
 	for (; cur_pos < cCOLS - right_len - 1; cur_pos++)
@@ -1490,13 +1572,32 @@ draw_page_header(
 
 	/* thread info */
 	/* can't eval tin_ltoa() more than once in a statement due to statics */
-	strcpy(buf, tin_ltoa(which_thread(this_resp) + 1, 4));
-	tmp = strunc(_(txt_thread_x_of_n), cCOLS / 3 - 1);
-	my_printf(tmp, buf, tin_ltoa(grpmenu.max, 4));
-	free(tmp);
+	{
+		char *buf2 = my_calloc(1, 5);
 
-	my_fputs(cCRLF, stdout);
+		strcpy(buf, tin_ltoa(which_thread(this_resp) + 1, 4));
+		strcpy(buf2, tin_ltoa(grpmenu.max, 4));
 
+		if ((n = snprintf(NULL, 0, _(txt_thread_x_of_n), buf, buf2)) < 0) {
+			free(buf2);
+			goto skip;
+		}
+
+		tlen = (size_t) n + 1;
+		tmp2 = my_malloc(tlen);
+		if (snprintf(tmp2, tlen, _(txt_thread_x_of_n), buf, buf2) != n) {
+			free(tmp2);
+			free(buf2);
+			goto skip;
+		}
+		tmp = strunc(tmp2, cCOLS / 3 - 1);
+		my_printf("%s", tmp);
+		free(tmp2);
+		free(buf2);
+		free(tmp);
+skip:
+		my_fputs(cCRLF, stdout);
+	}
 #	if 0
 	/* display a ruler for layout checking purposes */
 	my_fputs("....|....3....|....2....|....1....|....0....|....1....|....2....|....3....|....\n", stdout);
@@ -1537,20 +1638,17 @@ draw_page_header(
 	else
 		snprintf(buf, line_len, "%-4d", arts[this_resp].line_count);
 
-	{
+	if ((wtmp = char2wchar_t(_(txt_lines))) != NULL) {
 		wchar_t *fmt;
+		int tex_space = pgart.tex2iso ? 5 : 0;
 
-		if ((wtmp = char2wchar_t(_(txt_lines))) != NULL) {
-			int tex_space = pgart.tex2iso ? 5 : 0;
-
-			fmt = wstrunc(wtmp, cCOLS / 3 - 1 - tex_space);
-			wtmp = my_realloc(wtmp, sizeof(wchar_t) * line_len);
-			swprintf(wtmp, line_len, fmt, buf);
-			my_fputws(wtmp, stdout);
-			cur_pos += wcswidth(wtmp, wcslen(wtmp));
-			free(fmt);
-			free(wtmp);
-		}
+		fmt = wstrunc(wtmp, cCOLS / 3 - 1 - tex_space);
+		wtmp = my_realloc(wtmp, sizeof(wchar_t) * line_len);
+		swprintf(wtmp, line_len, fmt, buf);
+		my_fputws(wtmp, stdout);
+		cur_pos += wcswidth(wtmp, wcslen(wtmp));
+		free(fmt);
+		free(wtmp);
 	}
 
 #	ifdef HAVE_COLOR
@@ -1605,8 +1703,18 @@ draw_page_header(
 		my_fputc(' ', stdout);
 
 	if (whichresp) {
-		tmp = strunc(_(txt_art_x_of_n), cCOLS / 3 - 1);
-		my_printf(tmp, whichresp + 1, x_resp + 1);
+		if ((n = snprintf(NULL, 0, _(txt_art_x_of_n), whichresp + 1, x_resp + 1)) < 0)
+			goto shrug;
+
+		tlen = (size_t) n + 1;
+		tmp2 = my_malloc(tlen);
+		if (snprintf(tmp2, tlen, _(txt_art_x_of_n), whichresp + 1, x_resp + 1) != n) {
+			free(tmp2);
+			goto shrug;
+		}
+		tmp = strunc(tmp2, cCOLS / 3 - 1);
+		my_printf("%s", tmp);
+		free(tmp2);
 		free(tmp);
 	} else {
 		/* TODO: ngettext */
@@ -1617,11 +1725,22 @@ draw_page_header(
 			tmp = strunc(_(txt_1_resp), cCOLS / 3 - 1);
 			my_printf("%s", tmp);
 		} else {
-			tmp = strunc(_(txt_x_resp), cCOLS / 3 - 1);
-			my_printf(tmp, x_resp);
+			if ((n = snprintf(NULL, 0, _(txt_x_resp), x_resp)) < 0)
+				goto shrug;
+
+			tlen = (size_t) n + 1;
+			tmp2 = my_malloc(tlen);
+			if (snprintf(tmp2, tlen, _(txt_x_resp), x_resp) != n) {
+				free(tmp2);
+				goto shrug;
+			}
+			tmp = strunc(tmp2, cCOLS / 3 - 1);
+			my_printf("%s", tmp);
+			free(tmp2);
 		}
 		free(tmp);
 	}
+shrug:
 	my_fputs(cCRLF, stdout);
 
 	/*
@@ -1633,41 +1752,55 @@ draw_page_header(
 	fcol(tinrc.col_from);
 #	endif /* HAVE_COLOR */
 	/* from */
-	/*
-	 * TODO: don't use arts[this_resp].name/arts[this_resp].from
-	 *       split up note_h->from and use that instead as it might
-	 *       be different _if_ the overviews are broken
-	 *
-	 *       add BiDi handling
-	 */
-	{
-		char *p = idna_decode(arts[this_resp].from);
+	from = build_from_line();
+	snprintf(buf, line_len, "%s", from);
+	free(from);
 
-		if (arts[this_resp].name)
-			snprintf(buf, line_len, "%s <%s>", arts[this_resp].name, p);
-		else {
-			strncpy(buf, p, line_len);
-			buf[line_len - 1] = '\0';
+	/* precalculate min. organization length */
+	wtmp3 = my_calloc(1, sizeof(wchar_t));
+	if (note_h->org) {
+		char *tb;
+		char *tail = NULL;
+
+		if (tinrc.utf8_graphics)
+			tail = wchar_t2char((const wchar_t *) WTRUNC_TAIL);
+
+		if ((n = snprintf(NULL, 0, _(txt_at_s), tail ? tail : TRUNC_TAIL)) > 0) {
+			size_t olen = (size_t) n + 1;
+
+			tb = my_malloc(olen);
+			if (snprintf(tb, olen, _(txt_at_s), tail ? tail : TRUNC_TAIL) == n) {
+				if ((wtmp = char2wchar_t(tb)) != NULL) {
+					wbuf = wexpand_tab(wtmp, tabwidth);
+					free(wtmp3);
+					wtmp3 = my_wcsdup(wbuf);
+					free(wtmp);
+					free(wbuf);
+				}
+			}
+			free(tb);
 		}
-		free(p);
+		FreeIfNeeded(tail);
 	}
 
+	/* from */
 	if ((wtmp = char2wchar_t(buf)) != NULL) {
-		wtmp2 = wstrunc(wtmp, cCOLS - 1);
+		wtmp2 = wstrunc(wtmp, cCOLS - 1 - wcslen(wtmp3));
 		my_fputws(wtmp2, stdout);
 		cur_pos += wcswidth(wtmp2, wcslen(wtmp2));
 		free(wtmp2);
 		free(wtmp);
 	}
+	free(wtmp3);
 
 	/*
 	 * Organization
 	 *
-	 * TODO: IDNA decoding, see also comment in
-	 *       cook.c:cook_article()
-	 *       add BiDi handling
+	 * TODO: - IDNA decoding, see also comment in
+	 *         cook.c:cook_article()
+	 *       - add BiDi handling
 	 */
-	if (note_h->org) {
+	if (note_h->org && cur_pos < cCOLS - 1) {
 		snprintf(buf, line_len, _(txt_at_s), note_h->org);
 
 		if ((wtmp = char2wchar_t(buf)) != NULL) {
@@ -1838,17 +1971,9 @@ draw_page_header(
 	fcol(tinrc.col_from);
 #	endif /* HAVE_COLOR */
 	/* from */
-	/*
-	 * TODO: don't use arts[this_resp].name/arts[this_resp].from
-	 *       split up note_h->from and use that instead as it might
-	 *       be different _if_ the overviews are broken
-	 */
-	if (arts[this_resp].name)
-		snprintf(buf, line_len, "%s <%s>", arts[this_resp].name, arts[this_resp].from);
-	else {
-		strncpy(buf, arts[this_resp].from, line_len);
-		buf[line_len - 1] = '\0';
-	}
+	from = build_from_line();
+	snprintf(buf, line_len, "%s", from);
+	free(from);
 
 	tmp = strunc(buf, cCOLS - 1);
 	my_fputs(tmp, stdout);
@@ -1901,12 +2026,8 @@ load_article(
 #endif /* DEBUG */
 
 	if (new_respnum != this_resp || art_closed) {
-		int ret;
-
 		art_close(&pgart);			/* close previously opened art in pager */
-		ret = art_open(TRUE, &arts[new_respnum], group, &pgart, TRUE, _(txt_reading_article));
-
-		switch (ret) {
+		switch (art_open(TRUE, &arts[new_respnum], group, &pgart, TRUE, _(txt_reading_article))) {
 			case ART_UNAVAILABLE:
 				art_mark(group, &arts[new_respnum], ART_READ);
 				/* prevent retagging as unread in unfilter_articles() */
@@ -1993,7 +2114,7 @@ load_article(
 	if (!note_h->mime || IS_PLAINTEXT(note_h->ext))		/* Text only article */
 		return 0;
 
-	if (*tinrc.metamail_prog == '\0' || getenv("NOMETAMAIL") != NULL)	/* Viewer turned off */
+	if (!tinrc.metamail_prog || !*tinrc.metamail_prog || getenv("NOMETAMAIL") != NULL)	/* Viewer turned off */
 		return 0;
 
 	if (group->attribute->ask_for_metamail) {
@@ -2044,7 +2165,8 @@ process_search(
 	size_t screen_lines,
 	int help_level)
 {
-	int i, start, end;
+	int i;
+	REGEX_SIZE start, end;
 
 	if ((i = get_search_vectors(&start, &end)) == -1)
 		return;
@@ -2070,7 +2192,9 @@ process_search(
 			display_info_page(0);
 			break;
 
-		default:
+		default: /* unknown level, should not happen */
+			/* CONSTANTCONDITION */
+			assert(0 != 0);
 			break;
 	}
 	search_line = i;								/* draw_page() resets this to 0 */
@@ -2078,7 +2202,7 @@ process_search(
 	/*
 	 * Highlight found string
 	 */
-	highlight_string(i - *lcurr_line + scroll_region_top, start, end - start);
+	highlight_string(i - *lcurr_line + scroll_region_top, (int) start, (int) (end - start));
 }
 
 
@@ -2119,7 +2243,7 @@ toggle_raw(
 
 				pgart.rawl[j].offset = offset;
 				pgart.rawl[j].flags = 0;
-				j++;
+				++j;
 				if (j >= chunk) {
 					chunk += 50;
 					pgart.rawl = my_realloc(pgart.rawl, sizeof(t_lineinfo) * (size_t) chunk);
@@ -2140,9 +2264,9 @@ toggle_raw(
 						}
 #else
 						if (my_isprint((unsigned char) *p)) {
-							space--;
-							p++;
-							offset++;
+							--space;
+							++p;
+							++offset;
 						}
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 						else if (IS_LOCAL_CHARSET("Big5") && (unsigned char) *p >= 0xa1 && (unsigned char) *p <= 0xfe && *(p + 1)) {
@@ -2154,7 +2278,7 @@ toggle_raw(
 							 */
 							p += 2;
 							offset += 2;
-							space--;
+							--space;
 						} else {
 							/*
 							 * the current character can't be displayed print it as
@@ -2163,8 +2287,8 @@ toggle_raw(
 							 */
 							if ((space -= 4) < 0)
 								break;
-							offset++;
-							p++;
+							++offset;
+							++p;
 						}
 					}
 					/*
@@ -2449,14 +2573,14 @@ preprocess_info_message(
 	do {
 		infoline[num_info_lines].offset = ftell(info_fh);
 		infoline[num_info_lines].flags = 0;
-		num_info_lines++;
+		++num_info_lines;
 		if (num_info_lines >= chunk) {
 			chunk += 50;
 			infoline = my_realloc(infoline, sizeof(t_lineinfo) * (size_t) chunk);
 		}
 	} while (tin_fgets(info_fh, FALSE) != NULL);
 
-	num_info_lines--;
+	--num_info_lines;
 	infoline = my_realloc(infoline, sizeof(t_lineinfo) * (size_t) num_info_lines);
 }
 
@@ -2696,7 +2820,7 @@ build_url_line(
 	 * Allocate line buffer
 	 * make it the same size like in !USE_CURSES case to simplify some code
 	 */
-	sptr = my_malloc(cCOLS + 2);
+	sptr = my_malloc((size_t) cCOLS + 2);
 #else
 	sptr = screen[INDEX2SNUM(i)].col;
 #endif /* USE_CURSES */
@@ -2716,8 +2840,15 @@ process_url(
 	int n)
 {
 	char *url, *url_esc;
+	int l;
 	size_t len;
 	t_url *lptr;
+#ifdef HAVE_LIBURIPARSER
+	UriParserStateA state;
+	UriUriA uri;
+	int ulen = -1;
+	char *uri_norm;
+#endif /* HAVE_LIBURIPARSER */
 
 	lptr = find_url(n);
 	len = strlen(lptr->url) << 1; /* double size; room for editing URL */
@@ -2727,11 +2858,52 @@ process_url(
 			free(url);
 			return FALSE;
 		}
-		wait_message(2, _(txt_url_open), url);
+
+#ifdef HAVE_LIBURIPARSER
+		/*
+		 * Syntax-Based Normalization RFC 3986 6.2.2
+		 *
+		 * We could keep the error code, but that would be likely
+		 * always URI_ERROR_SYNTAX, so no big win.
+		 * With -DDEBUG MISC|URI we would write some details
+		 * (uri.scheme, uri.hostText, ...) to a log.
+		 * And/or make use of uri(Une|E)scape* ...
+		 */
+		state.uri = &uri;
+		if (uriParseUriA(&state, url) == URI_SUCCESS) {
+			if (uriNormalizeSyntaxA(&uri) == URI_SUCCESS) {
+				if (uriToStringCharsRequiredA(&uri, &ulen) == URI_SUCCESS) {
+					uri_norm = my_malloc(++ulen);
+					if (uriToStringA(uri_norm, &uri, ulen, NULL) == URI_SUCCESS) {
+						free(url);
+						url = uri_norm;
+					} else {
+						free(uri_norm);
+						ulen = -1;
+					}
+				}
+			}
+			uriFreeUriMembersA(&uri);
+		}
+		if (ulen < 0) {
+			error_message(2, "URI Normalization failed: %s", url); /* TODO: -> lang.c; _()? */
+			free(url);
+			return FALSE;
+		}
+#endif /* HAVE_LIBURIPARSER */
+
 		url_esc = escape_shell_meta(url, no_quote);
-		len = snprintf(NULL, 0, "%s %s", tinrc.url_handler, url_esc);
-		url = my_realloc(url, ++len);
-		snprintf(url, len, "%s %s", tinrc.url_handler, url_esc);
+		if ((l = snprintf(NULL, 0, "%s %s", tinrc.url_handler, url_esc)) < 0) {
+			free(url);
+			return FALSE;
+		}
+		wait_message(2, _(txt_url_open), url); /* use url_esc in message? */
+		len = (size_t) l + 1;
+		url = my_realloc(url, len);
+		if (snprintf(url, len, "%s %s", tinrc.url_handler, url_esc) != l) {
+			free(url);
+			return FALSE;
+		}
 		invoke_cmd(url);
 		free(url);
 		cursoroff();
@@ -2768,11 +2940,11 @@ build_url_list(
 		 */
 		forever {
 			/* any matches left? */
-			if (match_regex_ex(ptr, (int) strlen(ptr), 0, 0, &url_regex) >= 0) {
+			if (match_regex_ex(ptr, (REGEX_SIZE) strlen(ptr), 0, 0, &url_regex) >= 0) {
 				offsets = regex_get_ovector_pointer(&url_regex);
-			} else if (match_regex_ex(ptr, (int) strlen(ptr), 0, 0, &mail_regex) >= 0) {
+			} else if (match_regex_ex(ptr, (REGEX_SIZE) strlen(ptr), 0, 0, &mail_regex) >= 0) {
 				offsets = regex_get_ovector_pointer(&mail_regex);
-			} else if (match_regex_ex(ptr, (int) strlen(ptr), 0, 0, &news_regex) >= 0) {
+			} else if (match_regex_ex(ptr, (REGEX_SIZE) strlen(ptr), 0, 0, &news_regex) >= 0) {
 				offsets = regex_get_ovector_pointer(&news_regex);
 			} else
 				break;
@@ -2812,12 +2984,126 @@ free_url_list(
 
 
 static void
+show_article_info_page(
+	void)
+{
+	if (!(pgart.log))
+		return;
+
+	info_pager(pgart.log, _(txt_article_info_page), FALSE); /* all other pagers do wrap */
+	info_pager(NULL, NULL, TRUE); /* free mem */
+}
+
+
+#define MIME_FLAG(what) (ptr->mime_hints.flags & what)
+/* TODO: strings to lang.c and _() ? */
+void
+log_article_info(
+	t_openartinfo *artinfo)
+{
+	const char *charset;
+	int i = 1;
+	FILE *fp;
+	t_part *ptr;
+#ifdef DEBUG
+	const char *name;
+#endif /* DEBUG */
+
+	if (!(fp = artinfo->log))
+		return;
+
+	fprintf(fp, "Message-ID: %s\n", BlankIfNull(artinfo->hdr.messageid));
+
+	for (ptr = artinfo->hdr.ext; ptr; ptr = ptr->next, i++) {
+		fprintf(fp, "\nPart %d:\n", i);
+
+		if (i == 1) {
+			fprintf(fp, "\tMIME Version:\n");
+			fprintf(fp, "\t\tArticle:\t%s", MIME_FLAG(MIME_VERSION_MISSING) ? "Missing" : MIME_FLAG(MIME_VERSION_UNSUPPORTED) ? "Unsupported" : MIME_SUPPORTED_VERSION);
+			fprintf(fp, "\n\t\tUsed:\t\t%s\n", MIME_SUPPORTED_VERSION);
+		}
+
+		fprintf(fp, "\tContent Type:\n");
+		fprintf(fp, "\t\tArticle:\t");
+		if (MIME_FLAG(MIME_TYPE_MISSING))
+			fprintf(fp, "%s", "Missing");
+		else if (MIME_FLAG(MIME_TYPE_UNKNOWN))
+			fprintf(fp, "%s: %s", "Unsupported", ptr->mime_hints.type);
+		else
+			fprintf(fp, "%s", ptr->mime_hints.type);
+		if (MIME_FLAG(MIME_SUBTYPE_MISSING))
+			fprintf(fp, " / %s", "Missing");
+		else if (MIME_FLAG(MIME_SUBTYPE_UNKNOWN))
+			fprintf(fp, " / %s: %s", "Unsupported", ptr->mime_hints.subtype);
+		else
+			fprintf(fp, " / %s", ptr->mime_hints.subtype);
+		fprintf(fp, "\n\t\tUsed:\t\t%s / %s", content_types[ptr->type], ptr->subtype);
+
+		charset = get_param(ptr->params, "charset");
+		if (!charset || !*charset)
+			charset = "US-ASCII";
+		fprintf(fp, "\n\tCharset:\n");
+		fprintf(fp, "\t\tArticle:\t");
+		if (MIME_FLAG(MIME_CHARSET_MISSING)) {
+			fprintf(fp, "%s", "Missing");
+			if (MIME_FLAG(MIME_CHARSET_UNDECLARED))
+				fprintf(fp, ", %s: %s", "undeclared_charset", charset);
+#if defined(CHARSET_CONVERSION) && defined(USE_ICU_UCSDET)
+			else if (MIME_FLAG(MIME_CHARSET_GUESSED)) {
+				charset = get_param(ptr->params, "guessed_charset");
+				fprintf(fp, ", %s: %s", "charset guessed", charset);
+			}
+#endif /* CHARSET_CONVERSION && USE_ICU_UCSDET */
+		} else if (MIME_FLAG(MIME_CHARSET_UNSUPPORTED)) {
+			fprintf(fp, "%s: %s", "Unsupported", ptr->mime_hints.charset);
+			charset = "None";
+		} else
+			fprintf(fp, "%s", charset);
+		if (MIME_FLAG(MIME_TRANSFER_ENCODING_UNKNOWN))
+			charset = "None";
+		fprintf(fp, "\n\t\tUsed:\t\t%s", charset);
+
+		fprintf(fp, "\n\tContent Transfer Encoding:\n");
+		fprintf(fp, "\t\tArticle:\t");
+		if (MIME_FLAG(MIME_TRANSFER_ENCODING_MISSING))
+			fprintf(fp, "%s", "Missing");
+		else if (MIME_FLAG(MIME_TRANSFER_ENCODING_UNKNOWN))
+			fprintf(fp, "%s: %s", "Unsupported", ptr->mime_hints.encoding);
+		else
+			fprintf(fp, "%s", content_encodings[ptr->encoding]);
+		fprintf(fp, "\n\t\tUsed:\t\t%s", content_encodings[ptr->encoding]);
+
+#ifdef DEBUG
+		if ((name = get_param(ptr->params, "name")) != NULL) {
+			fprintf(fp, "\n\tName:\n");
+			fprintf(fp, "\t\t%s", name);
+		}
+		if (ptr->description != NULL) {
+			fprintf(fp, "\n\tContent Description:\n");
+			fprintf(fp, "\t\t%s", ptr->description);
+		}
+		if (ptr->language != NULL) {
+			fprintf(fp, "\n\tContent Language:\n");
+			fprintf(fp, "\t\t%s", ptr->language);
+		}
+		if (ptr->disposition != DISP_NONE) {
+			fprintf(fp, "\n\tContent Disposition:\n");
+			fprintf(fp, "\t\t%s", ptr->disposition == DISP_INLINE ? content_disposition[DISP_INLINE] : content_disposition[DISP_ATTACHMENT]);
+		}
+#endif /* DEBUG */
+		fprintf(fp, "\n");
+	}
+}
+
+
+static void
 draw_percent_mark(
 	long cur_num,
 	long max_num)
 {
-	char buf[32]; /* FIXME: may get truncated with long localized _(txt_more) ... */
+	char *buf;
 	int len;
+	size_t sz;
 
 	if (NOTESLINES <= 0)
 		return;
@@ -2825,9 +3111,18 @@ draw_percent_mark(
 	if (cur_num <= 0 && max_num <= 0)
 		return;
 
-	clear_message();
-	snprintf(buf, sizeof(buf), "%s(%d%%) [%ld/%ld]", _(txt_more), (int) (cur_num * 100 / max_num), cur_num, max_num);
+	if ((len = snprintf(NULL, 0, "%s(%d%%) [%ld/%ld]", _(txt_more), (int) (cur_num * 100 / max_num), cur_num, max_num)) < 0)
+		return;
+
+	sz = (size_t) len + 1;
+	buf = my_malloc(sz);
+	if (snprintf(buf, sz, "%s(%d%%) [%ld/%ld]", _(txt_more), (int) (cur_num * 100 / max_num), cur_num, max_num) != len) {
+		free(buf);
+		return;
+	}
+
 	len = strwidth(buf);
+	clear_message();
 	MoveCursor(cLINES, cCOLS - len - (1 + BLANK_PAGE_COLS));
 #ifdef HAVE_COLOR
 	fcol(tinrc.col_normal);
@@ -2836,4 +3131,5 @@ draw_percent_mark(
 	my_fputs(buf, stdout);
 	EndInverse();
 	my_flush();
+	free(buf);
 }
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/parsdate.y tin-2.6.4/src/parsdate.y
--- tin-2.6.3/src/parsdate.y	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/parsdate.y	2024-12-21 03:46:48.657100445 +0100
@@ -4,7 +4,7 @@
  *  Module    : parsedate.y
  *  Author    : S. Bellovin, R. $alz, J. Berets, P. Eggert
  *  Created   : 1990-08-01
- *  Updated   : 2023-12-22
+ *  Updated   : 2024-12-21
  *  Notes     : This grammar has 6 shift/reduce conflicts.
  *              Originally written by Steven M. Bellovin <smb@research.att.com>
  *              while at the University of North Carolina at Chapel Hill.
@@ -32,7 +32,7 @@
 */
 #define ENDOF(array)	(&array[ARRAY_SIZE(array)])
 
-#define CTYPE(isXXXXX, c)	(((unsigned char)(c) < 128) && isXXXXX(((int)c)))
+#define CTYPE(isXXXXX, c)	(((unsigned char)(c) < 128) && isXXXXX((c)))
 
 typedef char	*STRING;
 
@@ -141,7 +141,7 @@ item	: time {
 	    if (yyHaveTime == -1) {
 		YYERROR;
 	    }
-#endif	/* defined(lint) */
+#endif /* lint */
 	}
 	| time zone {
 	    yyHaveTime++;
@@ -479,7 +479,7 @@ static const TABLE	TimezoneTable[] = {
     { "nt",	tZONE,     HOUR(11) },	/* -- expired 1967 */
     { "ahst",	tZONE,     HOUR(10) },	/* -- expired 1983 */
     { "hdt",	tDAYZONE,  HOUR(10) },	/* -- expired 1986 */
-#endif	/* 0 */
+#endif /* 0 */
 };
 
 static time_t
@@ -489,13 +489,12 @@ ToSeconds(
     time_t	Seconds,
     MERIDIAN	Meridian)
 {
-    if (Minutes < 0 || Minutes > 59 || Seconds < 0 || Seconds > 61)
-    	return -1;
-    if (Meridian == MER24) {
-	if (Hours < 0 || Hours > 23)
-	    return -1;
-    }
-    else {
+	if (Minutes < 0 || Minutes > 59 || Seconds < 0 || Seconds > 61)
+		return -1;
+	if (Meridian == MER24) {
+		if (Hours < 0 || Hours > 23)
+			return -1;
+	} else {
 	if (Hours < 1 || Hours > 12)
 		return -1;
 	if (Hours == 12)
@@ -544,7 +543,9 @@ Convert(
 	Year += 1900;
     if (Year < EPOCH)
 	Year += 100;
-    for (mp = DaysNormal, yp = LeapYears; yp < ENDOF(LeapYears); yp++)
+
+    mp = DaysNormal;
+    for (yp = LeapYears; yp < ENDOF(LeapYears); yp++)
 	if (Year == *yp) {
 	    mp = DaysLeap;
 	    break;
@@ -593,7 +594,7 @@ RelativeMonth(
     time_t	Start,
     time_t	RelMonth)
 {
-    struct tm	*tm;
+    const struct tm	*tm;
     time_t	Month;
     time_t	Year;
 
@@ -679,7 +680,8 @@ LookupWord(
     length++;
 
     /* Drop out any periods. */
-    for (p = buff, q = (STRING)buff; *q; q++) {
+    p = buff;
+    for (q = (STRING)buff; *q; q++) {
 	if (*q != '.')
 	    *p++ = *q;
     }
@@ -700,7 +702,8 @@ LookupWord(
     /* If we saw any periods, try the timezones again. */
     if (p - buff != length) {
 	c = buff[0];
-	for (p = buff, tp = TimezoneTable; tp < ENDOF(TimezoneTable); tp++) {
+	p = buff;
+	for (tp = TimezoneTable; tp < ENDOF(TimezoneTable); tp++) {
 	    if (c == tp->name[0] && p[1] == tp->name[1]
 	    && strcmp(p, tp->name) == 0) {
 		yylval.Number = tp->value;
@@ -728,7 +731,7 @@ date_lex(void)
     forever {
 	/* Get first character after the whitespace. */
 	forever {
-	    while (CTYPE(isspace, *yyInput))
+	    while (CTYPE(isspace, (unsigned char) *yyInput))
 		yyInput++;
 
 	    c = *yyInput;
@@ -754,7 +757,7 @@ date_lex(void)
 	    if (c == '-' || c == '+') {
 		sign = c == '-' ? -1 : 1;
 		yyInput++;
-		if (!CTYPE(isdigit, *yyInput))
+		if (!CTYPE(isdigit, (unsigned char) *yyInput))
 		    /* Skip the plus or minus sign. */
 		    continue;
 	    }
@@ -788,26 +791,37 @@ GetTimeInfo(
 {
     static time_t	LastTime;
     static long		LastTzone;
-    struct tm		*tm;
-#if defined(HAVE_GETTIMEOFDAY)
+    static struct tm		*tm;
+#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_REALTIME)
+	static struct timespec cgt;
+#else
+#	if defined(HAVE_GETTIMEOFDAY)
     struct timeval	tv;
-#endif	/* defined(HAVE_GETTIMEOFDAY) */
+#	endif /* HAVE_GETTIMEOFDAY */
+#endif /* HAVE_CLOCK_GETTIME && CLOCK_REALTIME */
 #if defined(DONT_HAVE_TM_GMTOFF)
     struct tm		local;
     struct tm		gmt;
-#endif	/* !defined(DONT_HAVE_TM_GMTOFF) */
+#endif /* !DONT_HAVE_TM_GMTOFF */
 
     /* Get the basic time. */
-#if defined(HAVE_GETTIMEOFDAY)
-    if (gettimeofday(&tv, (struct timezone *)NULL) == -1)
+#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_REALTIME)
+    if (clock_gettime(CLOCK_REALTIME, &cgt) == -1)
+	return -1;
+    Now->time = cgt.tv_sec;
+    Now->usec = cgt.tv_nsec / 1000;
+#else
+#	if defined(HAVE_GETTIMEOFDAY)
+    if (gettimeofday(&tv, (struct timezone *) NULL) == -1)
 	return -1;
     Now->time = tv.tv_sec;
     Now->usec = tv.tv_usec;
-#else
+#	else
     /* Can't check for -1 since that might be a time, I guess. */
     (void)time(&Now->time);
     Now->usec = 0;
-#endif /* defined(HAVE_GETTIMEOFDAY) */
+#	endif /* HAVE_GETTIMEOFDAY */
+#endif /* HAVE_CLOCK_GETTIME && CLOCK_REALTIME */
 
     /* Now get the timezone if it's been an hour since the last time. */
     if (Now->time - LastTime > 60 * 60) {
@@ -836,7 +850,7 @@ GetTimeInfo(
 	LastTzone += gmt.tm_min - local.tm_min;
 #else
 	LastTzone = (0 - tm->tm_gmtoff) / 60;
-#endif	/* defined(DONT_HAVE_TM_GMTOFF) */
+#endif /* DONT_HAVE_TM_GMTOFF */
     }
     Now->tzone = LastTzone;
     return 0;
@@ -848,14 +862,15 @@ parsedate(
     char		*p,
     TIMEINFO		*now)
 {
-    struct tm		*tm;
+    static struct tm		*tm;
     TIMEINFO		ti;
     time_t		Start;
 
     yyInput = p;
     if (now == NULL) {
-	now = &ti;
-	(void)GetTimeInfo(&ti);
+	  now = &ti;
+	  if (GetTimeInfo(&ti) != 0)
+	    return -1;
     }
 
     tm = localtime(&now->time);
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/pgp.c tin-2.6.4/src/pgp.c
--- tin-2.6.3/src/pgp.c	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/pgp.c	2024-11-25 20:40:37.727802641 +0100
@@ -3,10 +3,10 @@
  *  Module    : pgp.c
  *  Author    : Steven J. Madsen
  *  Created   : 1995-05-12
- *  Updated   : 2023-12-05
+ *  Updated   : 2024-11-23
  *  Notes     : PGP support
  *
- * Copyright (c) 1995-2024 Steven J. Madsen <steve@erinet.com>
+ * Copyright (c) 1995-2025 Steven J. Madsen <steve@erinet.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -131,7 +131,7 @@ PGPNAME, pgpopts, pt, mailto, mailfrom,
 static t_bool pgp_available(void);
 static void do_pgp(t_function what, const char *file, const char *mail_to);
 static void join_files(const char *file);
-static void pgp_append_public_key(char *file);
+static void pgp_append_public_key(const char *file);
 static void split_file(const char *file);
 
 static char pgp_data[PATH_LEN];
@@ -143,17 +143,17 @@ void
 init_pgp(
 	void)
 {
-	char *ptr;
+	const char *ptr;
 
 	pgpopts = get_val("PGPOPTS", "");
 
 #	ifdef HAVE_GPG
-	if ((ptr = getenv("GNUPGHOME")) != NULL)
+	if ((ptr = get_val("GNUPGHOME", NULL)) != NULL)
 		my_strncpy(pgp_data, ptr, sizeof(pgp_data) - 1);
 	else
 #	endif /* HAVE_GPG */
 	{
-		if ((ptr = getenv("PGPPATH")) != NULL)
+		if ((ptr = get_val("PGPPATH", NULL)) != NULL)
 			my_strncpy(pgp_data, ptr, sizeof(pgp_data) - 1);
 		else
 			joinpath(pgp_data, sizeof(pgp_data), homedir, PGPDIR);
@@ -171,18 +171,19 @@ join_files(
 {
 	FILE *art, *header, *text;
 
-	if ((header = fopen(hdr, "r")) != NULL) {
-		if ((text = fopen(ct, "r")) != NULL) {
-			if ((art = fopen(file, "w")) != NULL) {
-				if (copy_fp(header, art))
-					copy_fp(text, art);
-				fclose(art);
-			}
-			fclose(text);
-		}
+	if ((header = tin_fopen(hdr, "r")) == NULL)
+		return;
+	if ((text = tin_fopen(ct, "r")) == NULL) {
 		fclose(header);
+		return;
 	}
-
+	if ((art = fopen(file, "w")) != NULL) {
+		if (copy_fp(header, art) == 0)
+			copy_fp(text, art);
+		fclose(art);
+	}
+	fclose(text);
+	fclose(header);
 	unlink(hdr);
 	unlink(pt);
 	unlink(ct);
@@ -209,7 +210,7 @@ split_file(
 	snprintf(tmp, sizeof(tmp), CIPHERTEXT, (long) process_id);
 	joinpath(ct, sizeof(ct), tmpdir, tmp);
 
-	if ((art = fopen(file, "r")) == NULL)
+	if ((art = tin_fopen(file, "r")) == NULL)
 		return;
 
 	mask = umask((mode_t) (S_IRWXO|S_IRWXG));
@@ -220,10 +221,10 @@ split_file(
 	if ((plaintext = fopen(pt, "w")) == NULL)
 		goto err_hdr;
 
-	if (fgets(buf, LEN, art) != NULL) {			/* Copy the hdr up to and including the \n */
+	if (fgets(buf, sizeof(buf), art) != NULL) {			/* Copy the hdr up to and including the \n */
 		t_bool success = TRUE;
 
-		while (strcmp(buf, "\n")) {
+		while (*buf != '\n') {
 			fputs(buf, header);
 			if (fgets(buf, LEN, art) == NULL) {
 				success = FALSE;
@@ -263,8 +264,8 @@ do_pgp(
 	/*
 	 * <mailfrom> is valid only when signing and a local address exists
 	 */
-	if ((CURR_GROUP.attribute->from) != NULL)
-		strip_name(CURR_GROUP.attribute->from, mailfrom);
+	if (CURR_GROUP.attribute->from != NULL && *CURR_GROUP.attribute->from)
+		strip_name(*CURR_GROUP.attribute->from, mailfrom);
 
 	switch (what) {
 		case PGP_KEY_SIGN:
@@ -298,16 +299,16 @@ do_pgp(
 
 static void
 pgp_append_public_key(
-	char *file)
+	const char *file)
 {
 	FILE *fp, *key;
 	char cmd[LEN], buf[LEN];
 	char keyfile[PATH_LEN], tmp[PATH_LEN];
 
-	if ((CURR_GROUP.attribute->from) != NULL && strlen(CURR_GROUP.attribute->from))
-		strip_name(CURR_GROUP.attribute->from, buf);
+	if (CURR_GROUP.attribute->from != NULL && *CURR_GROUP.attribute->from && **CURR_GROUP.attribute->from)
+		strip_name(*CURR_GROUP.attribute->from, buf);
 	else /* FIXME: avoid hardcoded length */
-		snprintf(buf, sizeof(buf), "%.255s@%.765s", userid, BlankIfNull(get_host_name()));
+		snprintf(buf, sizeof(buf), "%.*s@%.765s", LOGIN_NAME_MAX - 1, userid, BlankIfNull(get_host_name()));
 
 	snprintf(tmp, sizeof(tmp), KEYFILE, (long) process_id);
 	joinpath(keyfile, sizeof(keyfile), tmpdir, tmp);
@@ -319,7 +320,7 @@ pgp_append_public_key(
 	sh_format(cmd, sizeof(cmd), APPEND_KEY);
 	if (invoke_cmd(cmd)) {
 		if ((fp = fopen(file, "a")) != NULL) {
-			if ((key = fopen(keyfile, "r")) != NULL) {
+			if ((key = tin_fopen(keyfile, "r")) != NULL) {
 				fputc('\n', fp);			/* Add a blank line */
 				copy_fp(key, fp);			/* and copy in the key */
 				fclose(key);
@@ -355,7 +356,7 @@ pgp_available(
 void
 invoke_pgp_mail(
 	const char *nam,
-	char *mail_to)
+	const char *mail_to)
 {
 	char keyboth[MAXKEYLEN], keyencrypt[MAXKEYLEN], keyquit[MAXKEYLEN];
 	char keysign[MAXKEYLEN];
@@ -400,7 +401,7 @@ invoke_pgp_mail(
 
 void
 invoke_pgp_news(
-	char *artfile)
+	const char *artfile)
 {
 	char keyinclude[MAXKEYLEN], keyquit[MAXKEYLEN], keysign[MAXKEYLEN];
 	t_function func, default_func = PGP_KEY_SIGN;
@@ -448,6 +449,7 @@ pgp_check_article(
 {
 	FILE *art;
 	char artfile[PATH_LEN], buf[LEN], *cmd;
+	int n;
 	size_t len;
 	t_bool pgp_signed = FALSE;
 	t_bool pgp_key = FALSE;
@@ -469,16 +471,15 @@ pgp_check_article(
 		return FALSE;
 	}
 
-	if (fgets(buf, LEN, artinfo->raw) != NULL) {		/* Copy the body whilst looking for SIG/KEY tags */
-		while (!feof(artinfo->raw)) {
+	while (!feof(artinfo->raw) && !ferror(artinfo->raw)) {
+		if (fgets(buf, sizeof(buf), artinfo->raw) != NULL) {
 			if (!pgp_signed && !strcmp(buf, PGP_SIG_TAG))
 				pgp_signed = TRUE;
 			if (!pgp_key && !strcmp(buf, PGP_KEY_TAG))
 				pgp_key = TRUE;
 			fputs(buf, art);
-			if (fgets(buf, LEN, artinfo->raw) == NULL)
-				break;
-		}
+		} else
+			break;
 	}
 	fclose(art);
 
@@ -493,12 +494,15 @@ pgp_check_article(
 		/*
 		 * We don't use sh_format here else the redirection gets misquoted
 		 */
-		len = snprintf(NULL, 0, CHECK_SIGN, PGPNAME, pgpopts, artfile, REDIRECT_PGP_OUTPUT);
-		cmd = my_malloc(++len);
-		snprintf(cmd, len, CHECK_SIGN, PGPNAME, pgpopts, artfile, REDIRECT_PGP_OUTPUT);
-		invoke_cmd(cmd);
-		free(cmd);
-		my_printf("\n");
+		if ((n = snprintf(NULL, 0, CHECK_SIGN, PGPNAME, pgpopts, artfile, REDIRECT_PGP_OUTPUT)) > 0) {
+			len = (size_t) n + 1;
+			cmd = my_malloc(len);
+			if (snprintf(cmd, len, CHECK_SIGN, PGPNAME, pgpopts, artfile, REDIRECT_PGP_OUTPUT) == n)
+				invoke_cmd(cmd);
+			/* TODO: useful error message */
+			free(cmd);
+			my_printf("\n");
+		}
 		Raw(TRUE);
 	}
 #	ifndef USE_CURSES
@@ -513,9 +517,9 @@ pgp_check_article(
 	if (pgp_key) {
 		if (prompt_yn(_(txt_pgp_add), FALSE) == 1) {
 			Raw(FALSE);
-			len = snprintf(NULL, 0, ADD_KEY, PGPNAME, pgpopts, artfile);
-			len <<= 1; /* double size for quoting */
-			cmd = my_malloc(++len);
+			n = snprintf(NULL, 0, ADD_KEY, PGPNAME, pgpopts, artfile);
+			len = (size_t) (n << 1) + 1; /* double size for quoting */
+			cmd = my_malloc(len);
 			sh_format(cmd, len, ADD_KEY, PGPNAME, pgpopts, artfile);
 			invoke_cmd(cmd);
 			free(cmd);
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/plp_snprintf.c tin-2.6.4/src/plp_snprintf.c
--- tin-2.6.3/src/plp_snprintf.c	2022-12-09 10:03:48.000000000 +0100
+++ tin-2.6.4/src/plp_snprintf.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,624 +0,0 @@
-/**************************************************************************
- * LPRng IFHP Filter
- * Copyright 1994-1999 Patrick Powell, San Diego, CA <papowell@astart.com>
- **************************************************************************/
-
-/*
- * Overview:
- *
- * This version of snprintf was developed originally for printing
- * on a motley collection of specialized hardware that had NO IO
- * library.  Due to contractual restrictions,  a clean room implementation
- * of the printf() code had to be developed.
- *
- * The method chosen for printf was to be as paranoid as possible,
- * as these platforms had NO memory protection,  and very small
- * address spaces.  This made it possible to try to print
- * very long strings, i.e. - all of memory, very easily.  To guard
- * against this,  all printing was done via a buffer, generous enough
- * to hold strings,  but small enough to protect against overruns,
- * etc.
- *
- * Strangely enough,  this proved to be of immense importance when
- * SPRINTFing to a buffer on a stack...  The rest,  of course,  is
- * well known,  as buffer overruns in the stack are a common way to
- * do horrible things to operating systems, security, etc etc.
- *
- * This version of snprintf is VERY limited by modern standards.
- *
- * COPYRIGHT AND TERMS OF USE:
- *
- * You may use, copy, distribute, or otherwise incorporate this software
- * and documentation into any product or other item,  provided that
- * the copyright in the documentation and source code as well as the
- * source code generated constant strings in the object, executable
- * or other code remain in place and are present in executable modules
- * or objects.
- *
- * You may modify this code as appropriate to your usage; however the
- * modified version must be identified by changing the various source
- * and object code identification strings as is appropriately noted
- * in the source code.
- *
- * The next include line is expected to work in conjunction with the
- * GNU CONFIGURE utility.  You  should define the following macros
- * appropriately:
- *
- * HAVE_STDARG_H - if the <stdargs.h> include file is available
- * HAVE_VARARG_H - if the <varargs.h> include file is available
- *
- * HAVE_STRERROR - if the strerror() routine is available.
- *   If it is not available, then examine the lines containing
- *   the tests below.  You may need to fiddle with HAVE_SYS_NERR
- *   and  HAVE_SYS_NERR_DEF to make compilation work correctly.
- *        HAVE_SYS_NERR
- *        HAVE_SYS_NERR_DEF
- *
- * HAVE_QUAD_T   - if the quad_t type is defined
- * HAVE_LONG_LONG  - if the long long type is defined
- *
- *   If you are using the GNU configure (autoconf) facility, add the
- *   following line to the configure.in file, to force checking for the
- *   quad_t and long long  data types:
- *
- *     AC_CHECK_TYPE(quad_t,NONE)
- *
- * 	dnl test to see if long long is defined
- *
- * 	AC_MSG_CHECKING(checking for long long)
- * 	AC_TRY_COMPILE([
- * 	#include <sys/types.h>
- * 	],[long long x; x = 0],
- * 	ac_cv_long_long=yes, ac_cv_long_long=no)
- * 	AC_MSG_RESULT($ac_cv_long_long)
- * 	if test $ac_cv_long_long = yes; then
- * 	  AC_DEFINE(HAVE_LONG_LONG)
- * 	fi
- *
- *
- *   Add the following lines to the acconfig.h in the correct
- *   position.
- *
- *     / * Define if quad_t is NOT present on the system  * /
- *     #undef quad_t
- *
- *     / * Define if long long is present on the system  * /
- *     #undef HAVE_LONG_LONG
- *
- *   When you run configure, if quad_t is NOT defined, the config.h
- *   file will have in it:
- *     #define quad_t NONE
- *
- *   If it is defined, the config.h file will have
- *   / * #undef quad_t * /
- *
- *   If long long is defined, you will have:
- *     #define HAVE_LONG_LONG
- *
- *    This code is then used in the source code to enable quad quad
- *   and long long support.
- *
- */
-
-
-#ifndef TIN_H
-#	include "tin.h"
-#endif /* !TIN_H */
-
-#if !defined(HAVE_SNPRINTF) && !defined(HAVE_VSNPRINTF)
-
-#	if !defined(PLP_SNPRINTF_H) && !defined(TIN_H)
-#		include "plp_snprintf.h"
-#	endif /* !PLP_SNPRINTF_H && !TIN_H */
-
-/*
- * KEEP THIS STRING - MODIFY AT THE END WITH YOUR REVISIONS
- * i.e. - the LOCAL REVISIONS part is for your use
- */
-
-static const char *_id = "plp_snprintf V1999.02.20 Copyright Patrick Powell 1988-1999 <papowell@astart.com> \
-$Id: plp_snprintf.c,v 1.4 1999/02/20 17:44:16 papowell Exp papowell $\
- LOCAL REVISIONS: tin 1.9.5-01";
-
-/* varargs declarations: */
-
-#ifdef HAVE_STDARGS
-#	undef HAVE_STDARGS    /* let's hope that works everywhere (mj) */
-#endif /* HAVE_STDARGS */
-#ifdef VA_LOCAL_DECL
-#	undef VA_LOCAL_DECL
-#endif /* VA_LOCAL_DECL */
-#ifdef VA_START
-#	undef VA_START
-#endif /* VA_START */
-#ifdef VA_SHIFT
-#	undef VA_SHIFT
-#endif /* VA_SHIFT */
-#ifdef VA_END
-#	undef VA_END
-#endif /* VA_END */
-
-#ifdef HAVE_STDARG_H
-#	include <stdarg.h>
-#	define HAVE_STDARGS    /* let's hope that works everywhere (mj) */
-#	define VA_LOCAL_DECL   va_list ap;
-#	define VA_START(f)     va_start(ap, f)
-#	define VA_SHIFT(v,t)	;	/* no-op for ANSI */
-#	define VA_END          va_end(ap)
-#else
-#	ifdef HAVE_VARARGS_H
-#		include <varargs.h>
-#		undef HAVE_STDARGS
-#		define VA_LOCAL_DECL   va_list ap;
-#		define VA_START(f)     va_start(ap)		/* f is ignored! */
-#		define VA_SHIFT(v,t)	v = va_arg(ap,t)
-#		define VA_END		va_end(ap)
-#	else
-XX ** NO VARARGS ** XX
-#	endif /* HAVE_VARARGS_H */
-#endif /* HAVE_STDARG_H */
-
-#if 0
-/* the dreaded QUAD_T strikes again... */
-#ifndef HAVE_QUAD_T
-#	if defined(quad_t) && qaud_t == NONE
-#		define HAVE_QUAD_T 0
-#	else
-#		define HAVE_QUAD_T 1
-#	endif /* quad_t && qaud_t== NONE */
-#endif /* HAVE_QUAD_T */
-#endif /* 0 */
-
-#if defined(HAVE_QUAD_T) && !defined(HAVE_LONG_LONG)
-  ERROR you need long long
-#endif
-#ifdef HAVE_QUAD_T
-   /* suspender and belts on this one */
-   const union { quad_t t; long long v; } x;
-#endif
-
-union value {
-#if defined(HAVE_QUAD_T) || defined(HAVE_LONG_LONG)
-	long long value;
-#else
-	long value;
-#endif
-	double dvalue;
-};
-
-#ifdef cval
-#	undef cval
-#endif /* cval */
-#define cval(s) (*((unsigned const char *)s))
-
-
-static char *plp_Errormsg(int err);
-static void plp_strcat(char *dest, const char *src);
-static void dopr(char *buffer, const char *format, va_list args);
-static void fmtstr(const char *value, int ljust, int len, int precision);
-static void fmtnum(union value *value, int plp_base, int dosign, int ljust, int len, int zpad);
-static void fmtdouble(int fmt, double value, int ljust, int len, int zpad, int precision);
-static void dostr(const char *);
-static void dopr_outch(int c);
-
-static char *output;
-static char *end;
-
-int visible_control = 1;
-
-
-int plp_vsnprintf(char *str, size_t count, const char *fmt, va_list args)
-{
-	str[0] = 0;
-	end = str+count-1;
-	dopr( str, fmt, args );
-	if( count != 0 )
-		end[0] = 0;
-	return(strlen(str));
-}
-
-/* VARARGS3 */
-#ifdef HAVE_STDARGS
-int plp_snprintf(char *str,size_t count,const char *fmt,...)
-#else
-int plp_snprintf(va_alist) va_dcl
-#endif
-{
-#ifndef HAVE_STDARGS
-    char *str;
-	size_t count;
-    char *fmt;
-#endif
-    VA_LOCAL_DECL
-
-    VA_START (fmt);
-    VA_SHIFT (str, char *);
-    VA_SHIFT (count, size_t );
-    VA_SHIFT (fmt, char *);
-    (void) plp_vsnprintf( str, count, fmt, ap);
-    VA_END;
-	return( strlen( str ) );
-}
-
-static void dopr( char *buffer, const char *format, va_list args )
-{
-	int ch;
-	union value value;
-	int longflag = 0;
-	int quadflag = 0;
-	char *strvalue;
-	int ljust;
-	int len;
-	int zpad;
-	int precision;
-	int set_precision;
-	double dval;
-	int err = errno;
-	int plp_base = 0;
-	int signed_val = 0;
-
-	output = buffer;
-	while( (ch = *format++) ){
-		switch( ch ){
-		case '%':
-			longflag = quadflag =
-			ljust = len = zpad = plp_base = signed_val = 0;
-			precision = -1; set_precision = 0;
-		nextch:
-			ch = *format++;
-			switch( ch ){
-			case 0:
-				dostr( "**end of format**" );
-				return;
-			case '-': ljust = 1; goto nextch;
-			case '.': set_precision = 1; precision = 0; goto nextch;
-			case '*':
-				if( set_precision ){
-					precision = va_arg( args, int );
-				} else {
-					len = va_arg( args, int );
-				}
-				goto nextch;
-			case '0': /* set zero padding if len not set */
-				if(len==0 && set_precision == 0 ) zpad = '0';
-				/* FALLTHROUGH */
-			case '1': /* FALLTHROUGH */
-			case '2': /* FALLTHROUGH */
-			case '3': /* FALLTHROUGH */
-			case '4': /* FALLTHROUGH */
-			case '5': /* FALLTHROUGH */
-			case '6': /* FALLTHROUGH */
-			case '7': /* FALLTHROUGH */
-			case '8': /* FALLTHROUGH */
-			case '9':
-				if( set_precision ){
-					precision = precision*10 + ch - '0';
-				} else {
-					len = len*10 + ch - '0';
-				}
-				goto nextch;
-			case 'l': ++longflag; goto nextch;
-			case 'q': quadflag = 1; goto nextch;
-			case 'u': case 'U':
-				if( plp_base == 0 ){ plp_base = 10; signed_val = 0; }
-				/* FALLTHROUGH */
-			case 'o': case 'O':
-				if( plp_base == 0 ){ plp_base = 8; signed_val = 0; }
-				/* FALLTHROUGH */
-			case 'd': case 'D':
-				if( plp_base == 0 ){ plp_base = 10; signed_val = 1; }
-				/* FALLTHROUGH */
-			case 'x':
-				if( plp_base == 0 ){ plp_base = 16; signed_val = 0; }
-				/* FALLTHROUGH */
-			case 'X':
-				if( plp_base == 0 ){ plp_base = -16; signed_val = 0; }
-				if( quadflag || longflag > 1 ){
-#if defined(HAVE_LONG_LONG)
-					if( signed_val ){
-					value.value = va_arg( args, long long );
-					} else {
-					value.value = va_arg( args, unsigned long long );
-					}
-#else
-					if( signed_val ){
-					value.value = va_arg( args, long );
-					} else {
-					value.value = va_arg( args, unsigned long );
-					}
-#endif
-				} else if( longflag ){
-					if( signed_val ){
-						value.value = va_arg( args, long );
-					} else {
-						value.value = va_arg( args, unsigned long );
-					}
-				} else {
-					if( signed_val ){
-						value.value = va_arg( args, int );
-					} else {
-						value.value = va_arg( args, unsigned int );
-					}
-				}
-				fmtnum( &value,plp_base,signed_val, ljust, len, zpad );
-				break;
-			case 's':
-				strvalue = va_arg( args, char *);
-				fmtstr(strvalue, ljust, len, precision);
-				break;
-			case 'c':
-				ch = va_arg( args, int );
-				{ char b[2];
-					int vsb = visible_control;
-					b[0] = ch;
-					b[1] = 0;
-					visible_control = 0;
-					fmtstr(b, ljust, len, precision);
-					visible_control = vsb;
-				}
-				break;
-			case 'f': case 'g': case 'e':
-				dval = va_arg( args, double );
-				fmtdouble(ch, dval, ljust, len, zpad, precision);
-				break;
-			case 'm':
-				fmtstr(plp_Errormsg(err), ljust, len, precision);
-				break;
-			case '%': dopr_outch( ch ); continue;
-			default:
-				dostr(  "???????" );
-			}
-			longflag = 0;
-			break;
-		default:
-			dopr_outch( ch );
-			break;
-		}
-	}
-	*output = 0;
-}
-
-/*
- * Format '%[-]len[.precision]s'
- * -   = left justify (ljust)
- * len = minimum length
- * precision = numbers of chars in string to use
- */
-static void
-fmtstr(const char *value, int ljust, int len, int precision)
-{
-	int padlen, slen, i, c;	/* amount to pad */
-
-	if( value == 0 ){
-		value = "<NULL>";
-	}
-	if( precision > 0 ){
-		slen = precision;
-	} else {
-		/* cheap slen so you do not have library call */
-		for( slen = i = 0; (c=cval(value+i)); ++i ){
-			if( visible_control && iscntrl( c ) && !isspace(c) ){
-				++slen;
-			}
-			++slen;
-		}
-	}
-	padlen = len - slen;
-	if( padlen < 0 ) padlen = 0;
-	if( ljust ) padlen = -padlen;
-	while( padlen > 0 ) {
-		dopr_outch( ' ' );
-		--padlen;
-	}
-	/* output characters */
-	for( i = 0; (c = cval(value+i)); ++i ){
-		if( visible_control && iscntrl( c ) && !isspace( c ) ){
-			dopr_outch('^');
-			c = ('@' | (c & 0x1F));
-		}
-		dopr_outch(c);
-	}
-	while( padlen < 0 ) {
-		dopr_outch( ' ' );
-		++padlen;
-	}
-}
-
-static void
-fmtnum(  union value *value, int plp_base, int dosign, int ljust,
-	int len, int zpad )
-{
-	int signvalue = 0;
-#ifdef HAVE_LONG_LONG
-	unsigned long long uvalue;
-#else
-	unsigned long uvalue;
-#endif /* HAVE_LONG_LONG */
-	char convert[64];
-	int place = 0;
-	int padlen = 0;	/* amount to pad */
-	int caps = 0;
-
-	/* fprintf(stderr,"value 0x%x, plp_base %d, dosign %d, ljust %d, len %d, zpad %d\n",
-		value, plp_base, dosign, ljust, len, zpad );/ **/
-	uvalue = value->value;
-	if( dosign ){
-		if( value->value < 0 ) {
-			signvalue = '-';
-			uvalue = -value->value;
-		}
-	}
-	if( plp_base < 0 ){
-		caps = 1;
-		plp_base = -plp_base;
-	}
-	do{
-		convert[place++] =
-			(caps? "0123456789ABCDEF":"0123456789abcdef")
-			 [uvalue % (unsigned)plp_base  ];
-		uvalue = (uvalue / (unsigned)plp_base );
-	}while(uvalue);
-	convert[place] = 0;
-	padlen = len - place;
-	if( padlen < 0 ) padlen = 0;
-	if( ljust ) padlen = -padlen;
-	/* fprintf( stderr, "str '%s', place %d, sign %c, padlen %d\n",
-		convert,place,signvalue,padlen); / **/
-	if( zpad && padlen > 0 ){
-		if( signvalue ){
-			dopr_outch( signvalue );
-			--padlen;
-			signvalue = 0;
-		}
-		while( padlen > 0 ){
-			dopr_outch( zpad );
-			--padlen;
-		}
-	}
-	while( padlen > 0 ) {
-		dopr_outch( ' ' );
-		--padlen;
-	}
-	if( signvalue ) dopr_outch( signvalue );
-	while( place > 0 ) dopr_outch( convert[--place] );
-	while( padlen < 0 ){
-		dopr_outch( ' ' );
-		++padlen;
-	}
-}
-
-static void
-plp_strcat(char *dest, const char *src )
-{
-	if( dest && src ){
-		dest += strlen(dest);
-		strcpy(dest,src);
-	}
-}
-
-static void
-fmtdouble( int fmt, double value, int ljust, int len, int zpad, int precision )
-{
-	char convert[128];
-	char fmts[128];
-	int l;
-
-	if( len == 0 )
-		len = 10;
-	if( len > (int) (sizeof(convert) - 20) )
-		len = sizeof(convert) - 20;
-	if( precision > (int) sizeof(convert) - 20 )
-		precision = sizeof(convert) - 20;
-	if( precision > len )
-		precision = len;
-	strcpy( fmts, "%" );
-	if( ljust )
-		plp_strcat(fmts, "-" );
-	if( zpad )
-		plp_strcat(fmts, "0" );
-	if( len )
-		sprintf( fmts+strlen(fmts), "%d", len );
-	if( precision > 0 )
-		sprintf( fmts+strlen(fmts), ".%d", precision );
-	l = strlen( fmts );
-	fmts[l] = fmt;
-	fmts[l+1] = 0;
-	/* this is easier than trying to do the portable dtostr */
-	sprintf( convert, fmts, value );
-	dostr( convert );
-}
-
-static void dostr( const char *str )
-{
-	while(*str) dopr_outch(*str++);
-}
-
-static void dopr_outch( int c )
-{
-	if( end == 0 || output < end ){
-		*output++ = c;
-	}
-}
-
-
-/****************************************************************************
- * static char *plp_errormsg( int err )
- *  returns a printable form of the
- *  errormessage corresponding to the valie of err.
- *  This is the poor man's version of sperror(), not available on all systems
- *  Patrick Powell Tue Apr 11 08:05:05 PDT 1995
- ****************************************************************************/
-/****************************************************************************/
-#if !defined(HAVE_STRERROR)
-
-# if defined(HAVE_SYS_NERR)
-#  if !defined(HAVE_SYS_NERR_DEF)
-     extern int sys_nerr;
-#  endif
-#  define num_errors    (sys_nerr)
-# else
-#  define num_errors    (-1)            /* always use "errno=%d" */
-# endif
-
-# if defined(HAVE_SYS_ERRLIST)
-#  if !defined(HAVE_SYS_ERRLIST_DEF)
-     extern const char *const sys_errlist[];
-#  endif
-# else
-#  undef  num_errors
-#  define num_errors   (-1)            /* always use "errno=%d" */
-# endif
-
-#endif
-
-static char * plp_Errormsg ( int err )
-{
-    char *cp;
-
-#if defined(HAVE_STRERROR)
-	cp = (void *)strerror(err);
-#else
-# if defined(HAVE_SYS_ERRLIST)
-    if (err >= 0 && err < num_errors) {
-		cp = (void *)sys_errlist[err];
-    } else
-# endif
-	{
-		static char msgbuf[32];     /* holds "errno=%d". */
-		/* SAFE use of sprintf */
-		(void) sprintf(msgbuf, "errno=%d", err);
-		cp = msgbuf;
-    }
-#endif
-    return (cp);
-}
-
-#if defined(TEST)
-#include <stdio.h>
-int main( void )
-{
-	char buffer[128];
-	char *t;
-	char *test1 = "01234";
-	errno = 1;
-	plp_snprintf( buffer, sizeof(buffer), (t="errno '%m'")); printf( "%s = '%s'\n", t, buffer );
-	plp_snprintf( buffer, sizeof(buffer), (t = "%s"), test1 ); printf( "%s = '%s'\n", t, buffer );
-	plp_snprintf( buffer, sizeof(buffer), (t = "%12s"), test1 ); printf( "%s = '%s'\n", t, buffer );
-	plp_snprintf( buffer, sizeof(buffer), (t = "%-12s"), test1 ); printf( "%s = '%s'\n", t, buffer );
-	plp_snprintf( buffer, sizeof(buffer), (t = "%12.2s"), test1 ); printf( "%s = '%s'\n", t, buffer );
-	plp_snprintf( buffer, sizeof(buffer), (t = "%-12.2s"), test1 ); printf( "%s = '%s'\n", t, buffer );
-	plp_snprintf( buffer, sizeof(buffer), (t = "%g"), 1.25 ); printf( "%s = '%s'\n", t, buffer );
-	plp_snprintf( buffer, sizeof(buffer), (t = "%g"), 1.2345 ); printf( "%s = '%s'\n", t, buffer );
-	plp_snprintf( buffer, sizeof(buffer), (t = "%12g"), 1.25 ); printf( "%s = '%s'\n", t, buffer );
-	plp_snprintf( buffer, sizeof(buffer), (t = "%12.2g"), 1.25 ); printf( "%s = '%s'\n", t, buffer );
-	plp_snprintf( buffer, sizeof(buffer), (t = "%0*d"), 6, 1 ); printf( "%s = '%s'\n", t, buffer );
-#if defined(HAVE_LONG_LONG)
-	plp_snprintf( buffer, sizeof(buffer), (t = "%llx"), 1, 2, 3, 4 ); printf( "%s = '%s'\n", t, buffer );
-	plp_snprintf( buffer, sizeof(buffer), (t = "%llx"), (long long)1, (long long)2 ); printf( "%s = '%s'\n", t, buffer );
-	plp_snprintf( buffer, sizeof(buffer), (t = "%qx"), 1, 2, 3, 4 ); printf( "%s = '%s'\n", t, buffer );
-	plp_snprintf( buffer, sizeof(buffer), (t = "%qx"), (quad_t)1, (quad_t)2 ); printf( "%s = '%s'\n", t, buffer );
-#endif
-	return(0);
-}
-#endif
-#endif /* !HAVE_SNPRINTF && !HAVE_VSNPRINTF */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/post.c tin-2.6.4/src/post.c
--- tin-2.6.3/src/post.c	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/post.c	2024-12-22 18:22:18.896144101 +0100
@@ -3,10 +3,10 @@
  *  Module    : post.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2023-12-20
+ *  Updated   : 2024-12-22
  *  Notes     : mail/post/replyto/followup/repost & cancel articles
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -106,8 +106,6 @@
 #	define ADD_MSG_ID_HEADER()
 #endif /* EVIL_INSIDE */
 
-#define MAX_MSG_HEADERS	20	/* shouldn't this be dynamic? */
-
 /* Different posting types for post_loop() */
 #define POST_QUICK		0
 #define POST_POSTPONED	1
@@ -128,7 +126,8 @@ static char reply_to[LEN];		/* Reply-To:
 static struct msg_header {
 	char *name;
 	char *text;
-} msg_headers[MAX_MSG_HEADERS];
+	struct msg_header *next;
+} *msg_headers = NULL;
 
 static t_posted *post_hist_list;
 
@@ -141,13 +140,13 @@ static char **split_address_list(const c
 static int add_mail_quote(FILE *fp, int respnum);
 static int append_mail(const char *the_article, const char *addr, const char *the_mailbox);
 static int build_post_hist_list(void);
-static int check_article_to_be_posted(const char *the_article, int art_type, struct t_group **group, t_bool art_unchanged, t_bool use_cache);
+static int check_article_to_be_posted(const char *the_article, int *art_type, struct t_group **group, t_bool art_unchanged, t_bool use_cache);
 static int mail_loop(const char *filename, t_function func, char *subject, const char *groupname, const char *prompt, FILE *articlefp);
-static int msg_add_x_body(FILE *fp_out, const char *body);
+static int msg_add_x_body(FILE *fp_out, char * const *body);
 static int msg_write_headers(FILE *fp);
 static int post_loop(int type, struct t_group *group, t_function func, const char *posting_msg, int art_type, int offset);
 static int process_post_hist(int n);
-static unsigned int get_recipients(struct t_header *hdr, char *buf, size_t buflen);
+static unsigned int get_recipients(const struct t_header *hdr, char *buf, size_t buflen);
 static size_t skip_id(const char *id);
 static struct t_group *check_moderated(const char *groups, int *art_type, const char *failmsg);
 static t_bool address_in_list(const char *addresses, const char *address);
@@ -159,7 +158,7 @@ static t_bool fetch_postponed_article(co
 static t_bool insert_from_header(const char *infile);
 static t_bool is_crosspost(const char *xref);
 static t_bool must_include(const char *id);
-static t_bool repair_article(t_function *result, struct t_group *group);
+static t_bool repair_article(t_function *result, const struct t_group *group);
 static t_bool stripped_double_ngs(char **newsgroups, int *ngcnt);
 static t_bool submit_mail_file(const char *file, struct t_group *group, FILE *articlefp, t_bool include_text);
 static t_function post_hist_left(void);
@@ -174,9 +173,8 @@ static void find_reply_to_addr(char *fro
 static void free_post_hist_list(void);
 static void join_references(char *buffer, const char *oldrefs, const char *newref);
 static void msg_add_header(const char *name, const char *text);
-static void msg_add_x_headers(const char *headers);
+static void msg_add_x_headers(char * const *headers);
 static void msg_free_headers(void);
-static void msg_init_headers(void);
 static void post_postponed_article(int ask, const char *subject, const char *newsgroups);
 static void postpone_article(const char *the_article);
 static void setup_check_article_screen(int *init);
@@ -186,7 +184,7 @@ static void strip_double_ngs(char *ngs_l
 static void update_active_after_posting(char *newsgroups);
 static void update_posted_info_file(const char *group, int action, const char *subj, const char *a_message_id);
 #ifdef FORGERY
-	static void make_path_header(char *line);
+	static char *make_path_header(void);
 	static void show_cancel_info(t_bool author, t_bool use_cache);
 #else
 	static void show_cancel_info(void);
@@ -292,14 +290,14 @@ init_postinfo(
 	 * check environment for REPLYTO
 	 */
 	reply_to[0] = '\0';
-	if ((ptr = getenv("REPLYTO")) != NULL)
+	if ((ptr = getenv("REPLYTO")) != NULL && *ptr)
 		my_strncpy(reply_to, ptr, sizeof(reply_to) - 1);
 
 	/*
 	 * check environment for DISTRIBUTION
 	 */
 	my_distribution[0] = '\0';
-	if ((ptr = getenv("DISTRIBUTION")) != NULL)
+	if ((ptr = getenv("DISTRIBUTION")) != NULL && *ptr)
 		my_strncpy(my_distribution, ptr, sizeof(my_distribution) - 1);
 }
 
@@ -311,7 +309,7 @@ init_postinfo(
 static t_bool
 repair_article(
 	t_function *result,
-	struct t_group *group)
+	const struct t_group *group)
 {
 	char keyedit[MAXKEYLEN], keymenu[MAXKEYLEN], keyquit[MAXKEYLEN];
 	t_function func;
@@ -342,28 +340,18 @@ backup_article(
 
 
 static void
-msg_init_headers(
-	void)
-{
-	int i;
-
-	for (i = 0; i < MAX_MSG_HEADERS; i++) {
-		msg_headers[i].name = NULL;
-		msg_headers[i].text = NULL;
-	}
-}
-
-
-static void
 msg_free_headers(
 	void)
 {
-	int i;
+	struct msg_header *curr, *next;
 
-	for (i = 0; i < MAX_MSG_HEADERS; i++) {
-		FreeAndNull(msg_headers[i].name);
-		FreeAndNull(msg_headers[i].text);
+	for (curr = msg_headers; curr != NULL; curr = next) {
+		next = curr->next;
+		free(curr->name);
+		FreeIfNeeded(curr->text);
+		free(curr);
 	}
+	msg_headers = NULL;
 }
 
 
@@ -372,28 +360,25 @@ msg_add_header(
 	const char *name,
 	const char *text)
 {
-	const char *p;
-	char *ptr;
-	char *new_name;
-	char *new_text;
-	int i;
-	t_bool done = FALSE;
-
 	if (name) {
+		const char *p;
+		char *ptr;
+		char *new_name = my_strdup(name);
+		char *new_text;
+		struct msg_header *hdr = msg_headers;
+		t_bool done = FALSE;
 		/*
 		 * Remove : if one is attached to name
 		 */
-		new_name = my_strdup(name);
-		ptr = strchr(new_name, ':');
-		if (ptr)
+		if ((ptr = strchr(new_name, ':')) != NULL)
 			*ptr = '\0';
 
 		/*
 		 * Check if header already exists and if update text
 		 */
-		for (i = 0; i < MAX_MSG_HEADERS && msg_headers[i].name; i++) {
-			if (STRCMPEQ(msg_headers[i].name, new_name)) {
-				FreeAndNull(msg_headers[i].text);
+		while (hdr && hdr->name) {
+			if (STRCMPEQ(hdr->name, new_name)) {
+				FreeAndNull(hdr->text);
 				if (text) {
 					for (p = text; *p && (*p == ' ' || *p == '\t'); p++)
 						;
@@ -401,18 +386,28 @@ msg_add_header(
 					if ((ptr = strrchr(new_text, '\n')) != NULL)
 						*ptr = '\0';
 
-					msg_headers[i].text = my_strdup(new_text);
+					hdr->text = my_strdup(new_text);
 					free(new_text);
 				}
 				done = TRUE;
 			}
+			hdr = hdr->next;
 		}
 
 		/*
 		 * if header does not exist then add it
 		 */
-		if (i < MAX_MSG_HEADERS && !(done || msg_headers[i].name)) {
-			msg_headers[i].name = my_strdup(new_name);
+		if (!done) {
+			if ((hdr = msg_headers) == NULL)
+				hdr = msg_headers = my_calloc(1, sizeof(struct msg_header));
+			else {
+				while (hdr->next)
+					hdr = hdr->next;
+
+				hdr->next = my_calloc(1, sizeof(struct msg_header));
+				hdr = hdr->next;
+			}
+			hdr->name = my_strdup(new_name);
 			if (text) {
 				for (p = text; *p && (*p == ' ' || *p == '\t'); p++)
 					;
@@ -420,7 +415,7 @@ msg_add_header(
 				if ((ptr = strrchr(new_text, '\n')) != NULL)
 					*ptr = '\0';
 
-				msg_headers[i].text = my_strdup(new_text);
+				hdr->text = my_strdup(new_text);
 				free(new_text);
 			}
 		}
@@ -433,21 +428,20 @@ static int
 msg_write_headers(
 	FILE *fp)
 {
-	int i;
 	int wrote = 1;
 	char *p;
+	struct msg_header *hdr = msg_headers;
 
-	for (i = 0; i < MAX_MSG_HEADERS; i++) {
-		if (msg_headers[i].name) {
-			fprintf(fp, "%s: %s\n", msg_headers[i].name, BlankIfNull(msg_headers[i].text));
-			wrote++;
-			if ((p = msg_headers[i].text)) {
-				while ((p = strchr(p, '\n'))) {
-					p++;
-					wrote++;
-				}
+	while (hdr) {
+		fprintf(fp, "%s: %s\n", hdr->name, BlankIfNull(hdr->text));
+		++wrote;
+		if ((p = hdr->text)) {
+			while ((p = strchr(p, '\n'))) {
+				++p;
+				++wrote;
 			}
 		}
+		hdr = hdr->next;
 	}
 	fputc('\n', fp);
 
@@ -681,10 +675,9 @@ draw_post_hist_arrow(
 {
 	draw_arrow_mark(INDEX_TOP + phmenu.curr - phmenu.first);
 	if (tinrc.info_in_last_line) {
-		t_posted *lptr;
+		t_posted *lptr = find_post_hist(phmenu.curr);
 
-		lptr = find_post_hist(phmenu.curr);
-		if (lptr->mid[0])
+		if (*lptr->mid)
 			info_message("%s", lptr->mid);
 	} else if (phmenu.curr == phmenu.max - 1)
 		info_message(_(txt_end_of_posted));
@@ -695,9 +688,8 @@ t_posted *
 find_post_hist(
 	int n)
 {
-	t_posted *lptr;
+	t_posted *lptr = post_hist_list;
 
-	lptr = post_hist_list;
 	while (n-- > 0 && lptr->next)
 		lptr = lptr->next;
 
@@ -710,14 +702,14 @@ build_post_hist_line(
 	int i)
 {
 	char *sptr;
+	char *tmp = NULL;
 	int group_len = cCOLS / 5;
 	t_posted *lptr;
-	char *tmp = NULL;
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-	int len = cCOLS * MB_CUR_MAX;
+	size_t len = cCOLS * MB_CUR_MAX;
 	wchar_t *wtmp, *wtmp2;
 #else
-	int len = cCOLS;
+	size_t len = cCOLS;
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
 #ifdef USE_CURSES
@@ -753,13 +745,13 @@ build_post_hist_line(
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
 #if 1
-	snprintf(sptr, (size_t) len, "  %s  %8s  %c  %-*.*s  \"%s\"", tin_ltoa(i + 1, 4),
+	snprintf(sptr, len, "  %s  %8s  %c  %-*.*s  \"%s\"", tin_ltoa(i + 1, 4),
 			lptr->date, lptr->action,
 			group_len, group_len, BlankIfNull(tmp),
 			lptr->subj);
 #else
 	/* also show MID */
-	snprintf(sptr, (size_t) len, "  %s  %8s  %c  %-*.*s  \"%s\" %s", tin_ltoa(i + 1, 4),
+	snprintf(sptr, len, "  %s  %8s  %c  %-*.*s  \"%s\" %s", tin_ltoa(i + 1, 4),
 			lptr->date, lptr->action,
 			group_len, group_len, BlankIfNull(tmp),
 			lptr->subj,
@@ -768,12 +760,11 @@ build_post_hist_line(
 
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 	if ((wtmp = char2wchar_t(sptr)) != NULL) {
-		wtmp2 = wcspart(wtmp, cCOLS - 1, FALSE);
-		if (wtmp2) {
+		if ((wtmp2 = wcspart(wtmp, cCOLS - 1, FALSE))) {
 			free(wtmp);
 			FreeIfNeeded(tmp);
 			if ((tmp = wchar_t2char(wtmp2)) != NULL) {
-				snprintf(sptr, (size_t) len, "%s", tmp);
+				snprintf(sptr, len, "%s", tmp);
 				FreeAndNull(tmp);
 			}
 			free(wtmp2);
@@ -800,10 +791,8 @@ static int
 process_post_hist(
 	int n)
 {
-	t_posted *lptr;
 	int ret;
-
-	lptr = find_post_hist(n);
+	t_posted *lptr = find_post_hist(n);
 
 	if (strchr(lptr->group, '@'))
 		ret = LOOKUP_REPLY;
@@ -821,7 +810,7 @@ process_post_hist(
 	else {
 		ret = LOOKUP_ART_UNAVAIL;
 		if (curr_group != NULL) { /* ! select level */
-			struct t_msgid *msgid;
+			const struct t_msgid *msgid;
 
 			if ((msgid = find_msgid(lptr->mid)) != NULL) {
 				if (msgid->article != ART_UNAVAILABLE) {
@@ -844,11 +833,12 @@ build_post_hist_list(
 	char *p, *q;
 	char *buf;
 	int count = 0;
+	int err = 0;
 	long fpos = 0;
 	size_t j, k, n, buflen = LEN;
 	t_posted *posted = NULL;
 
-	if ((fp = fopen(posted_info_file, "r")) == NULL) {
+	if ((fp = tin_fopen(posted_info_file, "r")) == NULL) {
 		info_message(_(txt_no_arts_posted));
 		return 0;
 	}
@@ -861,19 +851,23 @@ build_post_hist_list(
 	 */
 	while (fgets(buf, (int) buflen, fp) != NULL) {
 		if (buflen >= 65536) { /* bail out at > 64k lines */
-			errno = E2BIG; /* EMSGSIZE? EOVERFLOW? EFBIG? */
+			err = E2BIG; /* EMSGSIZE? EOVERFLOW? EFBIG? */
 			break;
 		}
 		if (strlen(buf) == buflen - 1 && buf[buflen - 1] != '\n') {
 			buflen <<= 1;
 			buf = my_realloc(buf, buflen);
-			if (fseek(fp, fpos, SEEK_SET) == -1)
+			if (fseek(fp, fpos, SEEK_SET) == -1) {
+				err = errno;
 				break;
+			}
 
 			continue;
 		}
-		if ((fpos = ftell(fp)) == -1)
+		if ((fpos = ftell(fp)) == -1) {
+			err = errno;
 			break;
+		}
 
 		if (buf[0] == '#' || buf[0] == '\n')
 			continue;
@@ -895,7 +889,7 @@ build_post_hist_list(
 		}
 		free(q);
 
-		for (j = 0, k = 0; buf[j] != '|' && buf[j] != '\n'; j++) {
+		for (j = k = 0; buf[j] != '|' && buf[j] != '\n'; j++) {
 			if (k < sizeof(posted->date) - 1)
 				posted->date[k++] = buf[j];	/* posted date */
 		}
@@ -928,7 +922,7 @@ build_post_hist_list(
 		}
 		if (buf[j] == ',') {
 			while (buf[j] != '|' && buf[j] != '\n')
-				j++;
+				++j;
 
 			if (k > sizeof(posted->group) - 5)
 				k = sizeof(posted->group) - 5;
@@ -940,7 +934,7 @@ build_post_hist_list(
 		}
 		posted->group[k] = '\0';
 
-		j++;
+		++j;
 
 		p = buf;
 		while ((q = strstr(p, "|<")) != NULL)
@@ -950,8 +944,9 @@ build_post_hist_list(
 			t_bool invalid = FALSE;
 			t_bool has_at = FALSE;
 
-			for (q = p, k = 0; *q != '\n' && !invalid; q++) {
-				if (*q < 33 || !isascii(*q)) {
+			k = 0;
+			for (q = p; *q != '\n' && !invalid; q++) {
+				if (*q < 33 || !isascii((unsigned char) *q)) {
 					invalid = TRUE;
 					break;
 				}
@@ -974,10 +969,11 @@ build_post_hist_list(
 		if (p == buf || p == buf + j) /* subject looks like id and no id logged or no id given, clear id */
 			posted->mid[0] = '\0';
 		my_strncpy(posted->subj, buf + j, sizeof(posted->subj) - 1);
-		count++;
+		++count;
 	}
 
-	if (errno) {
+	if (err) {
+		errno = err;
 		perror_message(_(txt_error_corrupted_file), posted_info_file);
 		clearerr(fp);
 	}
@@ -1020,12 +1016,13 @@ update_posted_info_file(
 {
 	FILE *fp;
 	char *file_tmp;
-	time_t epoch;
 
 	if (no_write)
 		return;
 
-	file_tmp = get_tmpfilename(posted_info_file);
+	if ((file_tmp = get_tmpfilename(posted_info_file)) == NULL)
+		return;
+
 	if (!backup_file(posted_info_file, file_tmp)) {
 		error_message(2, _(txt_filesystem_full_backup), posted_info_file);
 		free(file_tmp);
@@ -1035,6 +1032,7 @@ update_posted_info_file(
 	if ((fp = fopen(posted_info_file, "a")) != NULL) {
 		char logdate[10];
 		int err;
+		time_t epoch;
 
 		if (time(&epoch) != (time_t) -1) {
 			if (!my_strftime(logdate, sizeof(logdate) - 1, "%d-%m-%y", localtime(&epoch)))
@@ -1090,7 +1088,7 @@ append_mail(
 	if (!strcasecmp(txt_mailbox_formats[tinrc.mailbox_format], "MMDF") && the_mailbox != postponed_articles_file)
 		mmdf = TRUE;
 
-	if ((fp_in = fopen(the_article, "r")) == NULL)
+	if ((fp_in = tin_fopen(the_article, "r")) == NULL)
 		return errno;
 
 	if ((fp_out = fopen(the_mailbox, "a+")) != NULL) {
@@ -1106,7 +1104,7 @@ append_mail(
 			fclose(fp_in);
 			return rval;
 		}
-		retrys++;
+		++retrys;
 
 		while (--retrys && !dot_lock(the_mailbox))
 			wait_message(1, _(txt_trying_dotlock), retrys, the_mailbox);
@@ -1126,7 +1124,7 @@ append_mail(
 			fprintf(fp_out, "%s", MMDFHDRTXT);
 		else {
 			(void) time(&epoch);
-			fprintf(fp_out, "From %s %s", addr, ctime(&epoch));
+			fprintf(fp_out, "From %s %s\n", addr, BlankIfNull(str_trim(ctime(&epoch))));
 		}
 		while (fgets(buf, (int) sizeof(buf), fp_in) != NULL) {
 			if (!mmdf) { /* moboxo/mboxrd style From_ quoting required */
@@ -1138,7 +1136,7 @@ append_mail(
 					/* mboxrd: quote quoted and plain From_ lines in the body */
 					bufp = buf;
 					while (*bufp == '>')
-						bufp++;
+						++bufp;
 					if (STRNCMPEQ(bufp, "From ", 5))
 						fputc('>', fp_out);
 				} else { /* MBOXO (MBOXCL) */
@@ -1177,7 +1175,6 @@ append_mail(
  * - check for special newsgroups: to, ctl, all, control, junk
  *   [RFC 5536 3.1.4]
  * - check for Supersedes in Control messages [RFC 5536 3.2.3]
- * - check for 'illegal' distribution: all [RFC 5536 3.2.4]
  *
  * Check the article file for correct header syntax and if there
  * is a blank between the header information and the text.
@@ -1202,50 +1199,59 @@ append_mail(
  *     headers are unique
  * 13. Display an 'are you sure' message before posting article
  */
-#define CA_ERROR_HEADER_LINE_BLANK        0x0000001
-#define CA_ERROR_MISSING_BODY_SEPARATOR   0x0000002
-#define CA_ERROR_MISSING_FROM             0x0000004
-#define CA_ERROR_DUPLICATED_FROM          0x0000008
-#define CA_ERROR_MISSING_SUBJECT          0x0000010
-#define CA_ERROR_DUPLICATED_SUBJECT       0x0000020
-#define CA_ERROR_EMPTY_SUBJECT            0x0000040
-#define CA_ERROR_MISSING_NEWSGROUPS       0x0000080
-#define CA_ERROR_DUPLICATED_NEWSGROUPS    0x0000100
-#define CA_ERROR_EMPTY_NEWSGROUPS         0x0000200
-#define CA_ERROR_DUPLICATED_FOLLOWUP_TO   0x0000400
-#define CA_ERROR_BAD_CHARSET              0x0000800
-#define CA_ERROR_BAD_ENCODING             0x0001000
-#define CA_ERROR_BAD_MESSAGE_ID           0x0002000
-#define CA_ERROR_BAD_DATE                 0x0004000
-#define CA_ERROR_BAD_EXPIRES              0x0008000
-#define CA_ERROR_NEWSGROUPS_NOT_7BIT      0x0010000
-#define CA_ERROR_FOLLOWUP_TO_NOT_7BIT     0x0020000
-#define CA_ERROR_DISTRIBUTIOIN_NOT_7BIT   0x0040000
-#define CA_ERROR_NEWSGROUPS_POSTER        0x0080000
-#define CA_ERROR_FOLLOWUP_TO_POSTER       0x0100000
+#define CA_ERROR_HEADER_LINE_BLANK         0x0000001
+#define CA_ERROR_MISSING_BODY_SEPARATOR    0x0000002
+#define CA_ERROR_MISSING_FROM              0x0000004
+#define CA_ERROR_DUPLICATED_FROM           0x0000008
+#define CA_ERROR_MISSING_SUBJECT           0x0000010
+#define CA_ERROR_DUPLICATED_SUBJECT        0x0000020
+#define CA_ERROR_EMPTY_SUBJECT             0x0000040
+#define CA_ERROR_MISSING_NEWSGROUPS        0x0000080
+#define CA_ERROR_DUPLICATED_NEWSGROUPS     0x0000100
+#define CA_ERROR_EMPTY_NEWSGROUPS          0x0000200
+#define CA_ERROR_DUPLICATED_FOLLOWUP_TO    0x0000400
+#define CA_ERROR_BAD_CHARSET               0x0000800
+#define CA_ERROR_BAD_ENCODING              0x0001000
+#define CA_ERROR_BAD_MESSAGE_ID            0x0002000
+#define CA_ERROR_BAD_DATE                  0x0004000
+#define CA_ERROR_BAD_EXPIRES               0x0008000
+#define CA_ERROR_NEWSGROUPS_NOT_7BIT       0x0010000
+#define CA_ERROR_FOLLOWUP_TO_NOT_7BIT      0x0020000
+#define CA_ERROR_DISTRIBUTIOIN_NOT_7BIT    0x0040000
+#define CA_ERROR_NEWSGROUPS_POSTER         0x0080000
+#define CA_ERROR_FOLLOWUP_TO_POSTER        0x0100000
+#define CA_ERROR_NO_RECIPIENT              0x0200000
+#define CA_ERROR_EMPTY_BODY                0x0400000
 #ifndef ALLOW_FWS_IN_NEWSGROUPLIST
-#	define CA_ERROR_SPACE_IN_NEWSGROUPS    0x0200000
-#	define CA_ERROR_NEWLINE_IN_NEWSGROUPS  0x0400000
-#	define CA_ERROR_SPACE_IN_FOLLOWUP_TO   0x0800000
-#	define CA_ERROR_NEWLINE_IN_FOLLOWUP_TO 0x1000000
+#	define CA_ERROR_SPACE_IN_NEWSGROUPS    0x0800000
+#	define CA_ERROR_NEWLINE_IN_NEWSGROUPS  0x1000000
+#	define CA_ERROR_SPACE_IN_FOLLOWUP_TO   0x2000000
+#	define CA_ERROR_NEWLINE_IN_FOLLOWUP_TO 0x4000000
 #endif /* !ALLOW_FWS_IN_NEWSGROUPLIST */
-#define CA_WARNING_SPACES_ONLY_SUBJECT      0x000001
-#define CA_WARNING_RE_WITHOUT_REFERENCES    0x000002
-#define CA_WARNING_REFERENCES_WITHOUT_RE    0x000004
-#define CA_WARNING_MULTIPLE_SIGDASHES       0x000008
-#define CA_WARNING_WRONG_SIGDASHES          0x000010
-#define CA_WARNING_LONG_SIGNATURE           0x000020
-#define CA_WARNING_ENCODING_EXTERNAL_INEWS  0x000040
-#define CA_WARNING_NEWSGROUPS_EXAMPLE       0x000080
-#define CA_WARNING_FOLLOWUP_TO_EXAMPLE      0x000100
+#define CA_ERROR_DISTRIBUTION_ALL          0x8000000
+
+#define CA_WARNING_SPACES_ONLY_SUBJECT       0x00001
+#define CA_WARNING_RE_WITHOUT_REFERENCES     0x00002
+#define CA_WARNING_REFERENCES_WITHOUT_RE     0x00004
+#define CA_WARNING_MULTIPLE_SIGDASHES        0x00008
+#define CA_WARNING_WRONG_SIGDASHES           0x00010
+#define CA_WARNING_LONG_SIGNATURE            0x00020
+#define CA_WARNING_ENCODING_EXTERNAL_INEWS   0x00040
+#define CA_WARNING_NEWSGROUPS_EXAMPLE        0x00080
+#define CA_WARNING_FOLLOWUP_TO_EXAMPLE       0x00100
+#define CA_WARNING_DISTRIBUTION_WORLD        0x00200
+#define CA_WARNING_MULTI_ADDRESSES_REPLYTO   0x00400
+#define CA_WARNING_MULTI_ADDRESSES_FROM      0x00800
+#define CA_WARNING_MULTI_ADDRESSES_TO        0x01000
+#define CA_WARNING_RE_ONLY_SUBJECT           0x02000
 #ifdef CHARSET_CONVERSION
-#	define CA_WARNING_CHARSET_CONVERSION    0x000200
+#	define CA_WARNING_CHARSET_CONVERSION     0x04000
 #endif /* CHARSET_CONVERSION */
 #ifdef ALLOW_FWS_IN_NEWSGROUPLIST
-#	define CA_WARNING_SPACE_IN_NEWSGROUPS    0x000400
-#	define CA_WARNING_NEWLINE_IN_NEWSGROUPS  0x000800
-#	define CA_WARNING_SPACE_IN_FOLLOWUP_TO   0x001000
-#	define CA_WARNING_NEWLINE_IN_FOLLOWUP_TO 0x002000
+#	define CA_WARNING_SPACE_IN_NEWSGROUPS    0x08000
+#	define CA_WARNING_NEWLINE_IN_NEWSGROUPS  0x10000
+#	define CA_WARNING_SPACE_IN_FOLLOWUP_TO   0x20000
+#	define CA_WARNING_NEWLINE_IN_FOLLOWUP_TO 0x40000
 #endif /* ALLOW_FWS_IN_NEWSGROUPLIST */
 
 /*
@@ -1262,7 +1268,7 @@ append_mail(
 static int
 check_article_to_be_posted(
 	const char *the_article,
-	int art_type,
+	int *art_type,
 	struct t_group **group,
 	t_bool art_unchanged,
 	t_bool use_cache)
@@ -1275,6 +1281,7 @@ check_article_to_be_posted(
 	char references[HEADER_LEN];
 	char subject[HEADER_LEN];
 	int cnt = 0;
+	int body_count = 0;
 	int col, i;
 	int errors = 0;
 	int warnings = 0;
@@ -1291,6 +1298,7 @@ check_article_to_be_posted(
 	int warnings_catbp = 0; /* sum of warning-codes */
 	int must_break_line = 0;
 	int enc; /* mime encoding */
+	int mmnwcharset;
 	struct t_group *psGrp;
 	t_bool end_of_header = FALSE;
 	t_bool got_long_line = FALSE;
@@ -1301,7 +1309,6 @@ check_article_to_be_posted(
 	t_bool contains_8bit = FALSE;
 #ifdef CHARSET_CONVERSION
 	t_bool charset_conversion_fails = FALSE;
-	int mmnwcharset;
 #endif /* CHARSET_CONVERSION */
 	static const char *c_article;
 	static int c_art_type;
@@ -1314,20 +1321,22 @@ check_article_to_be_posted(
 	 */
 	if (!use_cache) {
 		c_article = the_article;
-		c_art_type = art_type;
+		c_art_type = *art_type;
 		c_group = group;
 		c_art_unchanged = art_unchanged;
 	}
 
+	if ((fp = tin_fopen(c_article, "r")) == NULL)
+		return 0;
+
 #ifdef CHARSET_CONVERSION
 	mmnwcharset = *c_group ? (*c_group)->attribute->mm_network_charset : tinrc.mm_network_charset;
+#else
+	mmnwcharset = 0;
 #endif /* CHARSET_CONVERSION */
+
 	enc = *c_group ? (*c_group)->attribute->post_mime_encoding : tinrc.post_mime_encoding;
 
-	if ((fp = fopen(c_article, "r")) == NULL) {
-		perror_message(_(txt_cannot_open), c_article);
-		return 0;
-	}
 	oldraw = RawState();	/* save state */
 	subject[0] = '\0';
 
@@ -1335,7 +1344,7 @@ check_article_to_be_posted(
 	setup_check_article_screen(&init);
 
 	while ((line = tin_fgets(fp, TRUE)) != NULL) {
-		cnt++;
+		++cnt;
 		contains_8bit = FALSE; /* in header we need to check line wise */
 		if (!end_of_header && !strlen(line)) { /* end of header reached */
 			if (cnt == 1)
@@ -1344,14 +1353,14 @@ check_article_to_be_posted(
 			break;
 		}
 
-		for (cp = line; *cp && !contains_8bit; cp++) {
-			if (!isascii(*cp)) {
+		for (cp = line; *cp; cp++) {
+			if (!isascii((unsigned char) *cp)) {
 				contains_8bit = TRUE;
 				break;
 			}
 		}
 
-		/* line is longer than > 998 and will not be encoded */
+		/* line is longer than > IMF_LINE_LEN (998) and will not be encoded */
 #ifdef MIME_BREAK_LONG_LINES
 		if (*c_group ? (*c_group)->attribute->post_8bit_header : tinrc.post_8bit_header)
 #endif /* MIME_BREAK_LONG_LINES */
@@ -1363,7 +1372,7 @@ check_article_to_be_posted(
 				my_fprintf(stderr, _(txt_error_should_be_shortened), cnt, IMF_LINE_LEN);
 #endif /* MIME_BREAK_LONG_LINES */
 				my_fflush(stderr);
-				warnings++;
+				++warnings;
 			}
 		}
 
@@ -1372,7 +1381,7 @@ check_article_to_be_posted(
 		if (!charset_conversion_fails && strcasecmp(tinrc.mm_local_charset, txt_mime_charsets[mmnwcharset])) { /* local_charset != network_charset */
 			cp = my_malloc(strlen(line) * 4 + 1);
 			strcpy(cp, line);
-			charset_conversion_fails = !buffer_to_network(cp, mmnwcharset);
+			charset_conversion_fails = bool_not(buffer_to_network(&cp, mmnwcharset));
 			free(cp);
 		}
 #endif /* CHARSET_CONVERSION */
@@ -1382,7 +1391,7 @@ check_article_to_be_posted(
 			my_fprintf(stderr, _(txt_error_header_line_colon), cnt, line);
 			EndInverse();
 			my_fflush(stderr);
-			errors++;
+			++errors;
 			continue; /* code below (till end of while) relies on set cp != NULL, don't modify cp */
 		}
 		if (cp - line == 0) { /* RFC 5322 3.6.8 */
@@ -1390,7 +1399,7 @@ check_article_to_be_posted(
 			my_fprintf(stderr, _(txt_error_header_no_name), cnt, line);
 			EndInverse();
 			my_fflush(stderr);
-			errors++;
+			++errors;
 			continue;
 		}
 		/*
@@ -1406,12 +1415,12 @@ check_article_to_be_posted(
 			my_fprintf(stderr, _(txt_error_header_line_space), cnt, line);
 			EndInverse();
 			my_fflush(stderr);
-			errors++;
+			++errors;
 			continue;
 		}
 
 		if (cp - line == 7 && !strncasecmp(line, "Subject", 7)) {
-			found_subject_lines++;
+			++found_subject_lines;
 			strncpy(subject, cp + 2, (size_t) (cCOLS - 6));
 			subject[cCOLS - 6] = '\0';
 		}
@@ -1419,6 +1428,10 @@ check_article_to_be_posted(
 /*
  * only allow hand supplied Sender in FORGERY case or
  * with external inews and not HAVE_FASCIST_NEWSADMIN
+ *
+ * TODO: also allow Sender (with a single address!) if article has multiple
+ *       addresses in From
+ *       sender_needed() likely needs to be updated too
  */
 #ifndef FORGERY
 #	ifdef HAVE_FASCIST_NEWSADMIN
@@ -1431,7 +1444,7 @@ check_article_to_be_posted(
 			my_fprintf(stderr, _(txt_error_sender_in_header_not_allowed), cnt);
 			EndInverse();
 			my_fflush(stderr);
-			errors++;
+			++errors;
 			continue;
 		}
 #endif /* !FORGERY */
@@ -1443,111 +1456,47 @@ check_article_to_be_posted(
 				/* EndInverse(); */
 				my_fflush(stderr);
 #ifdef HAVE_FASCIST_NEWSADMIN
-				errors++;
+				++errors;
 #else
-				warnings++;
+				++warnings;
 #endif /* HAVE_FASCIST_NEWSADMIN */
 			}
-#ifdef CHARSET_CONVERSION
-			cp2 = rfc1522_encode(line, txt_mime_charsets[mmnwcharset], FALSE);
-#else
-			cp2 = rfc1522_encode(line, tinrc.mm_charset, FALSE);
-#endif /* CHARSET_CONVERSION */
-			i = gnksa_check_from(cp2 + (cp - line) + 1);
-			if (i > GNKSA_OK && i < GNKSA_MISSING_REALNAME) {
-				StartInverse();
-				my_fprintf(stderr, "%s", _(txt_error_bad_approved));
-				my_fprintf(stderr, "%s\n", cp2);
-				my_fprintf(stderr, gnksa_strerror(i), i);
-				EndInverse();
-				my_fflush(stderr);
-#ifndef FORGERY
-				errors++;
-#endif /* !FORGERY */
-			}
-			free(cp2);
+			(void) check_mailbox_list(line, "Approved:", mmnwcharset, &errors);
 			continue;
 		}
 
 		if (cp - line == 4 && !strncasecmp(line, "From", 4)) {
-			found_from_lines++;
-#ifdef CHARSET_CONVERSION
-			cp2 = rfc1522_encode(line, txt_mime_charsets[mmnwcharset], FALSE);
-#else
-			cp2 = rfc1522_encode(line, tinrc.mm_charset, FALSE);
-#endif /* CHARSET_CONVERSION */
-			i = gnksa_check_from(cp2 + (cp - line) + 1);
-			if (i > GNKSA_OK && i < GNKSA_MISSING_REALNAME) {
-				StartInverse();
-				my_fprintf(stderr, "%s", _(txt_error_bad_from));
-				my_fprintf(stderr, "%s\n", cp2);
-				my_fprintf(stderr, gnksa_strerror(i), i);
-				EndInverse();
-				my_fflush(stderr);
-#ifndef FORGERY
-				errors++;
-#endif /* !FORGERY */
-			}
-			free(cp2);
+			++found_from_lines;
+			if (check_mailbox_list(line, "From:", mmnwcharset, &errors) > 1)
+				warnings_catbp |= CA_WARNING_MULTI_ADDRESSES_FROM;
 			continue;
 		}
 
 		if (cp - line == 8 && !strncasecmp(line, "Reply-To", 8)) {
-#ifdef CHARSET_CONVERSION
-			cp2 = rfc1522_encode(line, txt_mime_charsets[mmnwcharset], FALSE);
-#else
-			cp2 = rfc1522_encode(line, tinrc.mm_charset, FALSE);
-#endif /* CHARSET_CONVERSION */
-			i = gnksa_check_from(cp2 + (cp - line) + 1);
-			if (i > GNKSA_OK && i < GNKSA_MISSING_REALNAME) {
-				StartInverse();
-				my_fprintf(stderr, "%s", _(txt_error_bad_replyto));
-				my_fprintf(stderr, "%s\n", cp2);
-				my_fprintf(stderr, gnksa_strerror(i), i);
-				EndInverse();
-				my_fflush(stderr);
-#ifndef FORGERY
-				errors++;
-#endif /* !FORGERY */
-			}
-			free(cp2);
+			if (check_mailbox_list(line, "Reply-To:", mmnwcharset, &errors) > 1)
+				warnings_catbp |= CA_WARNING_MULTI_ADDRESSES_REPLYTO;
 			continue;
 		}
 
 		if (cp - line == 2 && !strncasecmp(line, "To", 2)) {
 			FreeIfNeeded(to);
-#ifdef CHARSET_CONVERSION
-			cp2 = rfc1522_encode(line, txt_mime_charsets[mmnwcharset], FALSE);
-#else
-			cp2 = rfc1522_encode(line, tinrc.mm_charset, FALSE);
-#endif /* CHARSET_CONVERSION */
-			i = gnksa_check_from(cp2 + (cp - line) + 1);
-			if (i > GNKSA_OK && i < GNKSA_MISSING_REALNAME) {
-				StartInverse();
-				my_fprintf(stderr, "%s", _(txt_error_bad_to));
-				my_fprintf(stderr, "%s\n", cp2);
-				my_fprintf(stderr, gnksa_strerror(i), i);
-				EndInverse();
-				my_fflush(stderr);
-#ifndef FORGERY
-				errors++;
-#endif /* !FORGERY */
-			}
-			to = my_strdup(cp2 + (cp - line) + 1);
-			free(cp2);
+			to = my_strdup(cp + 2);
+			if (check_mailbox_list(line, "To:", mmnwcharset, &errors) > 1)
+				warnings_catbp |= CA_WARNING_MULTI_ADDRESSES_TO;
 			continue;
 		}
 
 		if (cp - line == 10 && !strncasecmp(line, "Message-ID", 10)) {
-			hp = cp;
 #if 0 /* see comment about "<>" in misc.c:gnksa_split_from() */
 			char addr[HEADER_LEN], name[HEADER_LEN];
 			int type;
 
+			hp = cp;
 			i = gnksa_check_from(++hp);
 			gnksa_split_from(hp, addr, name, &type);
 			if (((GNKSA_OK != i) && (GNKSA_LOCALPART_MISSING > i)) || !*addr)
 #else
+			hp = cp;
 			i = gnksa_check_from(++hp);
 			if ((GNKSA_OK != i) && (GNKSA_LOCALPART_MISSING > i))
 #endif /* 0 */
@@ -1559,7 +1508,7 @@ check_article_to_be_posted(
 				EndInverse();
 				my_fflush(stderr);
 #ifndef FORGERY
-				errors++;
+				++errors;
 #endif /* !FORGERY */
 			}
 			cp2 = my_strdup(hp);
@@ -1605,9 +1554,10 @@ check_article_to_be_posted(
 		 */
 		if (cp - line == 10 && !strncasecmp(line, "Newsgroups", 10)) {
 			FreeIfNeeded(newsgroups);
-			found_newsgroups_lines++;
+			++found_newsgroups_lines;
 			for (hp = line + 11; *hp == ' '; hp++)
 				;
+
 			if (strchr(hp, ' ') || strchr(hp, '\t')) {
 #ifdef ALLOW_FWS_IN_NEWSGROUPLIST
 				warnings_catbp |= CA_WARNING_SPACE_IN_NEWSGROUPS;
@@ -1615,6 +1565,7 @@ check_article_to_be_posted(
 				errors_catbp |= CA_ERROR_SPACE_IN_NEWSGROUPS;
 #endif /* ALLOW_FWS_IN_NEWSGROUPLIST */
 			}
+
 			if (strchr(hp, '\n')) {
 #ifdef ALLOW_FWS_IN_NEWSGROUPLIST
 				warnings_catbp |= CA_WARNING_NEWLINE_IN_NEWSGROUPS;
@@ -1632,13 +1583,13 @@ check_article_to_be_posted(
 				errors_catbp |= CA_ERROR_EMPTY_NEWSGROUPS;
 			else {
 				for (hp = line + 11; *hp; hp++) {
-					if (!isascii(*hp)) {
+					if (!isascii((unsigned char) *hp)) {
 						errors_catbp |= CA_ERROR_NEWSGROUPS_NOT_7BIT;
 						break;
 					}
 				}
 			}
-			{ /* check for poster, example, example.* */
+			if (ngcnt) { /* check for poster, example, example.* */
 				char *groups;
 
 				for (hp = line + 11; *hp == ' '; hp++)
@@ -1646,14 +1597,25 @@ check_article_to_be_posted(
 				cp2 = groups = my_strdup(hp);
 
 				if ((hp = strtok(groups, ",")) != NULL) {
-					do {
+					do { /* RFC 5536 3.1.4 */
 						if (!strcmp(hp, "poster"))
 							errors_catbp |= CA_ERROR_NEWSGROUPS_POSTER;
-						if (!strcmp(hp, "example"))
+						if (!strcmp(hp, "example") || !strncmp(hp, "example.", 8))
 							warnings_catbp |= CA_WARNING_NEWSGROUPS_EXAMPLE;
-						if (!strncmp(hp, "example.", 8))
-							warnings_catbp |= CA_WARNING_NEWSGROUPS_EXAMPLE;
-						/* TODO: also check for to, ctl, all, control, junk */
+						/*
+						 * TODO: also check for
+						 *   newsgoups
+						 *       "junk"
+						 *       "to", "to.",
+						 *       "control", "control."
+						 *   components
+						 *       "ctl",
+						 *       "all",
+						 *       '_', '+', '-' at component start
+						 *   and maybe
+						 *       uppercase letters
+						 *       all digit component
+						 */
 					} while ((hp = strtok(NULL, ",")) != NULL);
 				}
 				free(cp2);
@@ -1662,12 +1624,61 @@ check_article_to_be_posted(
 		}
 
 		if (cp - line == 12 && !strncasecmp(line, "Distribution", 12)) {
+			char *dist;
+
 			for (hp = line + 13; *hp; hp++) {
-				if (!isascii(*hp)) {
+				if (!isascii((unsigned char) *hp)) {
 					errors_catbp |= CA_ERROR_DISTRIBUTIOIN_NOT_7BIT;
 					break;
 				}
 			}
+
+			cp2 = dist = my_strdup(line + 14);
+
+#if 0 /* TODO */
+			/*
+			 * RFC 5536 3.2.4.
+			 * - check for undesired 1 char distributions
+			 * - check for illgegal chars
+			 * - warn about FWS
+			 */
+			if (strchr(dist, '\n'))
+				warnings_catbp |= CA_WARNING_DISTRIBUTION_FOLDED;
+#endif /* 0 */
+
+			if ((hp = strtok(dist, ", \t\n")) != NULL) {
+				do {
+					if (!strcasecmp(hp, "all"))
+						errors_catbp |= CA_ERROR_DISTRIBUTION_ALL;
+					if (!strcasecmp(hp, "world"))
+						warnings_catbp |= CA_WARNING_DISTRIBUTION_WORLD;
+
+#if 0 /* TODO */
+					if (strlen(hp) < 2)
+						warnings_catbp |= CA_WARNING_DISTRIBUTION_SHORT;
+					if (strlen(hp) == 2) {
+						if (!isalpha(*hp) || !isalpha(*hp + 1))
+							/*
+							 * simplified check for two-letter country codes
+							 * ISO-3166-1, what about gnksa_country_codes[]?
+							 */
+							warnings_catbp |= CA_WARNING_DISTRIBUTION_2LCC;
+					}
+
+					/*
+					 * we should remember what exactly is wrong
+					 * warn or error?
+					 * do in !isacii() check above?
+					 */
+					while (isalnum(*hp) || *hp == '+' || *hp == '_' || *hp == '-')
+						++hp;
+					if (*hp != '\0')
+						warnings_catbp |= CA_WARNING_DISTRIBUTION_CHAR;
+#endif /* 0 */
+
+				} while ((hp = strtok(NULL, ", \t\n")) != NULL);
+			}
+			free(cp2);
 			continue;
 		}
 
@@ -1676,7 +1687,7 @@ check_article_to_be_posted(
 			for (hp = line + 12; *hp == ' '; hp++)
 				;
 			if (*hp) /* Followup-To not empty */
-				found_followup_to_lines++;
+				++found_followup_to_lines;
 			if (strchr(hp, ' ') || strchr(hp, '\t')) {
 #ifdef ALLOW_FWS_IN_NEWSGROUPLIST
 				warnings_catbp |= CA_WARNING_SPACE_IN_FOLLOWUP_TO;
@@ -1699,7 +1710,7 @@ check_article_to_be_posted(
 
 				(void) stripped_double_ngs(followupto, &ftngcnt);
 				for (hp = line + 12; *hp; hp++) {
-					if (!isascii(*hp)) {
+					if (!isascii((unsigned char) *hp)) {
 						errors_catbp |= CA_ERROR_FOLLOWUP_TO_NOT_7BIT;
 						break;
 					}
@@ -1717,7 +1728,21 @@ check_article_to_be_posted(
 							warnings_catbp |= CA_WARNING_FOLLOWUP_TO_EXAMPLE;
 						if (!strncmp(hp, "example.", 8))
 							warnings_catbp |= CA_WARNING_FOLLOWUP_TO_EXAMPLE;
-						/* TODO: also check for to, ctl, all, control, junk */
+						/*
+						 * TODO: also check for
+						 *   newsgoups
+						 *       "junk"
+						 *       "to", "to.",
+						 *       "control", "control."
+						 *   components
+						 *       "ctl",
+						 *       "all",
+						 *       '_', '+', '-' at component start
+						 *   and maybe
+						 *       uppercase letters
+						 *       all digit component
+						 */
+
 					} while ((hp = strtok(NULL, ",")) != NULL);
 				}
 				free(cp2);
@@ -1726,28 +1751,35 @@ check_article_to_be_posted(
 		}
 	} /* end of headers */
 
-	if (subject[0] == '\0')
-		errors_catbp |= CA_ERROR_EMPTY_SUBJECT;
-	else {
+	if (!*subject) {
+		if (!found_subject_lines)
+			errors_catbp |= CA_ERROR_MISSING_SUBJECT;
+		else
+			errors_catbp |= CA_ERROR_EMPTY_SUBJECT;
+	} else {
 		cp2 = my_strdup(subject);
-		if (!strtok(cp2, " \t")) {	/* only blanks in Subject? */
+		if (!strtok(cp2, " \t"))
 			warnings_catbp |= CA_WARNING_SPACES_ONLY_SUBJECT;
-			free(cp2);
-		} else {
-			free(cp2);
+		else {
+			if (!strcmp(subject, "Re:") || !strcmp(subject, "Re: "))
+				warnings_catbp |= CA_WARNING_RE_ONLY_SUBJECT;
 			/* Warn if Subject: begins with "Re: " but there are no References: */
 			if (!saw_references && !strncmp(subject, "Re: ", 4))
 				warnings_catbp |= CA_WARNING_RE_WITHOUT_REFERENCES;
+		}
+		free(cp2);
+
+		if (!(warnings_catbp & CA_WARNING_RE_WITHOUT_REFERENCES)) {
 			/*
-			 * Warn if there are References: but no "Re: " at the beginning of
-			 * and no "(was:" in the Subject.
+			 * Warn if there are References: but no "Re: " at the beginning
+			 * of and no "(was:" in the Subject.
 			 */
 			if (saw_references && strncmp(subject, "Re: ", 4)) {
 				t_bool was_found = FALSE;
 
 				cp2 = subject;
 				while (!was_found && (cp2 = strchr(cp2, '(')))
-					was_found = (STRNCMPEQ(++cp2, "was:", 4));
+				was_found = (STRNCMPEQ(++cp2, "was:", 4));
 
 				if (!was_found)
 					warnings_catbp |= CA_WARNING_REFERENCES_WITHOUT_RE;
@@ -1768,31 +1800,41 @@ check_article_to_be_posted(
 	if (found_newsgroups_lines > 1)
 		errors_catbp |= CA_ERROR_DUPLICATED_NEWSGROUPS;
 
-	if (!found_subject_lines)
-		errors_catbp |= CA_ERROR_MISSING_SUBJECT;
-	else {
-		if (found_subject_lines > 1)
-			errors_catbp |= CA_ERROR_DUPLICATED_SUBJECT;
-	}
+	if (found_subject_lines > 1)
+		errors_catbp |= CA_ERROR_DUPLICATED_SUBJECT;
 
 	if (found_followup_to_lines > 1)
 		errors_catbp |= CA_ERROR_DUPLICATED_FOLLOWUP_TO;
 
+	if (c_art_type == GROUP_TYPE_MAIL && !to) {
+		if (ngcnt)	/* user removed To: and added a Newsgroups:-header */
+			/*
+			 * TODO: add a warning like "group type changed from
+			 *       GROUP_TYPE_MAIL (as set via mailing_list-attribute)
+			 *       to GROUP_TYPE_NEWS as there was no To:- but a
+			 *       Newsgroups:- line?
+			 */
+			*art_type = c_art_type = GROUP_TYPE_NEWS;
+		else
+			errors_catbp |= CA_ERROR_NO_RECIPIENT;
+	}
+
 	/*
 	 * Check the body of the article for long lines
 	 * check if article contains non-7bit-ASCII characters
 	 * check if sig is shorter then MAX_SIG_LINES lines
 	 */
 	while ((line = tin_fgets(fp, FALSE))) {
-		cnt++;
+		++cnt;
+		++body_count; /* Ice T. */
 
 		if (saw_sig_dashes || saw_wrong_sig_dashes)
-			sig_lines++;
+			++sig_lines;
 
 		/* SIGDASHES excluding the terminating \n as tin_fgets strips it */
 		if (strlen(line) == 3 && !strncmp(line, SIGDASHES, 3)) {
 			saw_wrong_sig_dashes = FALSE;
-			saw_sig_dashes++;
+			++saw_sig_dashes;
 			sig_lines = 0;
 		}
 
@@ -1807,7 +1849,7 @@ check_article_to_be_posted(
 		if (!charset_conversion_fails && strcasecmp(tinrc.mm_local_charset, txt_mime_charsets[mmnwcharset])) { /* local_charset != network_charset */
 			cp = my_malloc(strlen(line) * 4 + 1);
 			strcpy(cp, line);
-			charset_conversion_fails = !buffer_to_network(cp, mmnwcharset);
+			charset_conversion_fails = bool_not(buffer_to_network(&cp, mmnwcharset));
 			free(cp);
 		}
 #endif /* CHARSET_CONVERSION */
@@ -1817,7 +1859,7 @@ check_article_to_be_posted(
 			int num_bytes, wc_width;
 			wchar_t wc;
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
-			int seen = 0; /* already reported a unprintable char in that line? */
+			int seen = 0; /* already reported an unprintable char in that line? */
 
 			/*
 			 * TODO for txt_warn_unprintable_char:
@@ -1832,11 +1874,11 @@ check_article_to_be_posted(
 			for (cp = line; *cp; ) {
 				if (*cp == '\t') {
 					col += 8 - (col % 8);
-					cp++;
+					++cp;
 				} else {
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 					if ((num_bytes = mbtowc(&wc, cp, MB_CUR_MAX)) != -1) {
-						if (!contains_8bit && (num_bytes > 1 || !isascii(*cp)))
+						if (!contains_8bit && (num_bytes > 1 || !isascii((unsigned char) *cp)))
 							contains_8bit = TRUE;
 						if (iswprint((wint_t) wc) && ((wc_width = wcwidth(wc)) != -1))
 							col += wc_width;
@@ -1844,30 +1886,30 @@ check_article_to_be_posted(
 							if (seen != cnt) { /* warn just once per line */
 								seen = cnt;
 								my_fprintf(stderr, _(txt_warn_unprintable_char), cnt, strunc(cp, cCOLS - 1));
-								warnings++;
+								++warnings;
 							}
-							col++;
+							++col;
 						}
 						cp += num_bytes;
 					} else {
 						if (seen != cnt) { /* warn just once per line */
 							seen = cnt;
 							my_fprintf(stderr, _(txt_warn_unprintable_char), cnt, strunc(cp, cCOLS - 1));
-							warnings++;
+							++warnings;
 						}
-						cp++;
-						col++;
+						++cp;
+						++col;
 					}
 #else
-					if (!contains_8bit && !isascii(*cp))
+					if (!contains_8bit && !isascii((unsigned char) *cp))
 						contains_8bit = TRUE;
 					if (!my_isprint((unsigned char) *cp) && seen != cnt) { /* warn just once per line */
 						seen = cnt;
 						my_fprintf(stderr, _(txt_warn_unprintable_char), cnt, strunc(cp, cCOLS - 1));
-						warnings++;
+						++warnings;
 					}
-					cp++;
-					col++;
+					++cp;
+					++col;
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 				}
 			}
@@ -1879,14 +1921,16 @@ check_article_to_be_posted(
 
 			my_fprintf(stderr, _(txt_warn_art_line_too_long), MAX_COL, cnt, m);
 			my_fflush(stderr);
-			free (m);
+			free(m);
 			got_long_line = TRUE;
-			warnings++;
+			++warnings;
 		}
 		if (!must_break_line && strlen(line) > IMF_LINE_LEN)
 			must_break_line = cnt;
 	}
 
+	if (!body_count)
+		errors_catbp |= CA_ERROR_EMPTY_BODY;
 /*
  * TODO: cleanup, test me, move to the right location, ...
  */
@@ -1894,17 +1938,17 @@ check_article_to_be_posted(
 #ifdef MIME_BREAK_LONG_LINES
 		if (contains_8bit) {
 			if (enc != MIME_ENCODING_QP)
-				my_fprintf(stderr, _(txt_warn_long_line_not_qp), must_break_line, IMF_LINE_LEN, txt_quoted_printable, txt_base64);
+				my_fprintf(stderr, _(txt_warn_long_line_not_qp), must_break_line, IMF_LINE_LEN, content_encodings[ENCODING_QP], content_encodings[ENCODING_BASE64]);
 		} else
 #endif /* MIME_BREAK_LONG_LINES */
 		{
 			if (enc == MIME_ENCODING_QP)
-				my_fprintf(stderr, _(txt_warn_long_line_not_break), must_break_line, IMF_LINE_LEN, txt_quoted_printable);
+				my_fprintf(stderr, _(txt_warn_long_line_not_break), must_break_line, IMF_LINE_LEN, content_encodings[ENCODING_QP]);
 			else
-				my_fprintf(stderr, _(txt_warn_long_line_not_base), must_break_line, IMF_LINE_LEN, txt_base64);
+				my_fprintf(stderr, _(txt_warn_long_line_not_base), must_break_line, IMF_LINE_LEN, content_encodings[ENCODING_BASE64]);
 		}
 		my_fflush(stderr);
-		warnings++;
+		++warnings;
 	}
 
 	if (saw_sig_dashes > 1)
@@ -1916,7 +1960,7 @@ check_article_to_be_posted(
 	if (sig_lines > MAX_SIG_LINES) {
 		warnings_catbp |= CA_WARNING_LONG_SIGNATURE;
 #ifdef HAVE_FASCIST_NEWSADMIN
-		errors++;
+		++errors;
 #endif /* HAVE_FASCIST_NEWSADMIN */
 	}
 
@@ -1985,32 +2029,42 @@ check_article_to_be_posted(
 	if (errors_catbp) {
 		StartInverse();
 
-		/* missing headers */
+		/* missing || duplicated headers */
 		if (errors_catbp & CA_ERROR_HEADER_LINE_BLANK)
 			my_fprintf(stderr, "%s", _(txt_error_header_line_blank));
 		if (errors_catbp & CA_ERROR_MISSING_BODY_SEPARATOR)
 			my_fprintf(stderr, "%s", _(txt_error_header_and_body_not_separate));
+		else {
+			if (errors_catbp & CA_ERROR_EMPTY_BODY)
+				my_fprintf(stderr, "%s", _(txt_error_empty_art));
+		}
 		if (errors_catbp & CA_ERROR_MISSING_FROM)
 			my_fprintf(stderr, _(txt_error_header_line_missing), "From");
+		else {
+			if (errors_catbp & CA_ERROR_DUPLICATED_FROM)
+				my_fprintf(stderr, _(txt_error_header_duplicate), found_from_lines, "From");
+		}
 		if (errors_catbp & CA_ERROR_MISSING_SUBJECT)
 			my_fprintf(stderr, _(txt_error_header_line_missing), "Subject");
+		else {
+			if (errors_catbp & CA_ERROR_DUPLICATED_SUBJECT)
+				my_fprintf(stderr, _(txt_error_header_duplicate), found_subject_lines, "Subject");
+		}
 		if (errors_catbp & CA_ERROR_MISSING_NEWSGROUPS)
 			my_fprintf(stderr, _(txt_error_header_line_missing), "Newsgroups");
+		else {
+			if (errors_catbp & CA_ERROR_DUPLICATED_NEWSGROUPS)
+				my_fprintf(stderr, _(txt_error_header_duplicate), found_newsgroups_lines, "Newsgroups");
+		}
 
 		/* duplicated headers */
-		if (errors_catbp & CA_ERROR_DUPLICATED_FROM)
-			my_fprintf(stderr, _(txt_error_header_duplicate), found_from_lines, "From");
-		if (errors_catbp & CA_ERROR_DUPLICATED_SUBJECT)
-			my_fprintf(stderr, _(txt_error_header_duplicate), found_subject_lines, "Subject");
-		if (errors_catbp & CA_ERROR_DUPLICATED_NEWSGROUPS)
-			my_fprintf(stderr, _(txt_error_header_duplicate), found_newsgroups_lines, "Newsgroups");
 		if (errors_catbp & CA_ERROR_DUPLICATED_FOLLOWUP_TO)
 			my_fprintf(stderr, _(txt_error_header_duplicate), found_followup_to_lines, "Followup-To");
 
 		/* empty headers */
 		if (errors_catbp & CA_ERROR_EMPTY_SUBJECT)
 			my_fprintf(stderr, _(txt_error_header_line_empty), "Subject");
-		if (errors_catbp & CA_ERROR_EMPTY_NEWSGROUPS)
+		if (errors_catbp & CA_ERROR_EMPTY_NEWSGROUPS && !(errors_catbp & CA_ERROR_MISSING_NEWSGROUPS))
 			my_fprintf(stderr, _(txt_error_header_line_empty), "Newsgroups");
 
 #ifndef ALLOW_FWS_IN_NEWSGROUPLIST
@@ -2033,6 +2087,9 @@ check_article_to_be_posted(
 		if (errors_catbp & CA_ERROR_FOLLOWUP_TO_POSTER)
 			my_fprintf(stderr, "%s", _(txt_error_followup_poster));
 
+		if (errors_catbp & CA_ERROR_DISTRIBUTION_ALL)
+			my_fprintf(stderr, "%s", _(txt_error_header_distribution_all));
+
 		/* encoding/charset trouble */
 		if (errors_catbp & CA_ERROR_BAD_CHARSET)
 			my_fprintf(stderr, "%s", _(txt_error_header_line_bad_charset));
@@ -2053,6 +2110,9 @@ check_article_to_be_posted(
 		if (errors_catbp & CA_ERROR_BAD_EXPIRES)
 			my_fprintf(stderr, _(txt_error_header_format), "Expires");
 
+		if (errors_catbp & CA_ERROR_NO_RECIPIENT)
+			my_fprintf(stderr, "%s", _(txt_error_mailgroup_no_recipient));
+
 		EndInverse();
 		my_fflush(stderr);
 		errors += errors_catbp;
@@ -2062,6 +2122,8 @@ check_article_to_be_posted(
 	if (warnings_catbp) {
 		if (warnings_catbp & CA_WARNING_SPACES_ONLY_SUBJECT)
 			my_fprintf(stderr, "%s", _(txt_warn_blank_subject));
+		if (warnings_catbp & CA_WARNING_RE_ONLY_SUBJECT)
+			my_fprintf(stderr, "%s", _(txt_warn_re_only_subject));
 		if (warnings_catbp & CA_WARNING_RE_WITHOUT_REFERENCES)
 			my_fprintf(stderr, "%s", _(txt_warn_re_but_no_references));
 		if (warnings_catbp & CA_WARNING_REFERENCES_WITHOUT_RE)
@@ -2081,6 +2143,22 @@ check_article_to_be_posted(
 			my_fprintf(stderr, _(txt_warn_header_line_groups_contd), "Followup-To");
 #endif /* ALLOW_FWS_IN_NEWSGROUPLIST */
 
+		if (warnings_catbp & CA_WARNING_MULTI_ADDRESSES_FROM) {
+			my_fprintf(stderr, _(txt_warn_multiple_addresses), "From");
+#ifndef FORGERY
+			if (*global_defaults_file && disable_sender)
+				my_fprintf(stderr, _(txt_warn_sender_required_but_disabled), global_defaults_file);
+#endif /* !FORGERY */
+		}
+
+		if (warnings_catbp & CA_WARNING_MULTI_ADDRESSES_REPLYTO)
+			my_fprintf(stderr, _(txt_warn_multiple_addresses), "Reply-To");
+		if (warnings_catbp & CA_WARNING_MULTI_ADDRESSES_TO)
+			my_fprintf(stderr, _(txt_warn_multiple_addresses), "To");
+
+		if (warnings_catbp & CA_WARNING_DISTRIBUTION_WORLD)
+			my_fprintf(stderr, "%s", _(txt_warn_distribution_world));
+
 		if (warnings_catbp & CA_WARNING_MULTIPLE_SIGDASHES)
 			my_fprintf(stderr, _(txt_warn_multiple_sigs), saw_sig_dashes);
 		if (warnings_catbp & CA_WARNING_WRONG_SIGDASHES)
@@ -2118,26 +2196,26 @@ check_article_to_be_posted(
 					if (psGrp->aliasedto) {
 #ifdef HAVE_FASCIST_NEWSADMIN
 						StartInverse();
-						errors++;
+						++errors;
 						my_fprintf(stderr, _(txt_error_grp_renamed), newsgroups[i], psGrp->aliasedto);
 						EndInverse();
 						my_fflush(stderr);
 #else
 						my_fprintf(stderr, _(txt_warn_grp_renamed), newsgroups[i], psGrp->aliasedto);
-						warnings++;
+						++warnings;
 #endif /* HAVE_FASCIST_NEWSADMIN */
-					} else
+					} else /* TODO: strunc(description)? */
 						my_fprintf(stderr, "  %s\t %s\n", newsgroups[i], BlankIfNull(psGrp->description));
 				} else {
 #ifdef HAVE_FASCIST_NEWSADMIN
 					StartInverse();
-					errors++;
+					++errors;
 					my_fprintf(stderr, _(txt_error_not_valid_newsgroup), newsgroups[i]);
 					EndInverse();
 					my_fflush(stderr);
 #else
 					my_fprintf(stderr, (!list_active ? /* did we read the whole active file? */ _(txt_warn_not_in_newsrc) : _(txt_warn_not_valid_newsgroup)), newsgroups[i]);
-					warnings++;
+					++warnings;
 #endif /* HAVE_FASCIST_NEWSADMIN */
 				}
 			}
@@ -2147,10 +2225,10 @@ check_article_to_be_posted(
 				my_fprintf(stderr, _(txt_error_missing_followup_to), ngcnt);
 				EndInverse();
 				my_fflush(stderr);
-				errors++;
+				++errors;
 #else
 				my_fprintf(stderr, _(txt_warn_missing_followup_to), ngcnt);
-				warnings++;
+				++warnings;
 #endif /* HAVE_FASCIST_NEWSADMIN */
 			}
 
@@ -2161,10 +2239,10 @@ check_article_to_be_posted(
 					my_fprintf(stderr, "%s", _(txt_error_followup_to_several_groups));
 					EndInverse();
 					my_fflush(stderr);
-					errors++;
+					++errors;
 #else
 					my_fprintf(stderr, "%s", _(txt_warn_followup_to_several_groups));
-					warnings++;
+					++warnings;
 #endif /* HAVE_FASCIST_NEWSADMIN */
 				}
 #ifdef HAVE_FASCIST_NEWSADMIN
@@ -2176,15 +2254,15 @@ check_article_to_be_posted(
 							if (psGrp->aliasedto) {
 #ifdef HAVE_FASCIST_NEWSADMIN
 								StartInverse();
-								errors++;
+								++errors;
 								my_fprintf(stderr, _(txt_error_grp_renamed), followupto[i], psGrp->aliasedto);
 								EndInverse();
 								my_fflush(stderr);
 #else
 								my_fprintf(stderr, _(txt_warn_grp_renamed), followupto[i], psGrp->aliasedto);
-								warnings++;
+								++warnings;
 #endif /* HAVE_FASCIST_NEWSADMIN */
-							} else
+							} else /* TODO: strunc(description)? */
 								my_fprintf(stderr, "  %s\t %s\n", followupto[i], BlankIfNull(psGrp->description));
 						} else {
 							if (STRCMPEQ("poster", followupto[i]))
@@ -2195,10 +2273,10 @@ check_article_to_be_posted(
 								my_fprintf(stderr, _(txt_error_not_valid_newsgroup), followupto[i]);
 								EndInverse();
 								my_fflush(stderr);
-								errors++;
+								++errors;
 #else
 								my_fprintf(stderr, (!list_active ? /* did we read the whole active file? */ _(txt_warn_not_in_newsrc) : _(txt_warn_not_valid_newsgroup)), followupto[i]);
-								warnings++;
+								++warnings;
 #endif /* HAVE_FASCIST_NEWSADMIN */
 							}
 						}
@@ -2234,6 +2312,58 @@ check_article_to_be_posted(
 }
 
 
+int
+check_mailbox_list(
+	char *line,
+	const char *header,
+	int charset,
+	int *errors)
+{
+	char *cp, *curr_from, *next_from;
+	int i, err = 0, n = 0;
+
+#ifdef CHARSET_CONVERSION
+	cp = rfc1522_encode(line, txt_mime_charsets[charset], FALSE);
+#else
+	cp = rfc1522_encode(line, tinrc.mm_charset, FALSE);
+	(void) charset;
+#endif /* CHARSET_CONVERSION */
+
+	/* set curr_from to space after Header: */
+	curr_from = cp + strlen(header) + 1;
+	unfold_header(curr_from);
+
+	do {
+		++n;
+		next_from = split_mailbox_list(curr_from);
+		i = gnksa_check_from(str_trim(curr_from));
+#if 0
+my_fprintf(stderr, "\"%s\" %d %s\n", curr_from, i, gnksa_strerror(i));
+#endif /* 0 */
+		if (i > GNKSA_OK && i < GNKSA_MISSING_REALNAME) {
+			StartInverse();
+			my_fprintf(stderr, _(txt_error_bad_address_in), header);
+			my_fprintf(stderr, "%s\n", curr_from);
+			my_fprintf(stderr, gnksa_strerror(i), i);
+			++err;
+		}
+		curr_from = next_from;
+	} while (curr_from);
+
+	if (err) {
+		EndInverse();
+		my_fflush(stderr);
+	}
+#ifndef FORGERY
+	*errors += err;
+#else
+	(void) errors;
+#endif /* !FORGERY */
+	free(cp);
+	return n;
+}
+
+
 static void
 setup_check_article_screen(
 	int *init)
@@ -2258,7 +2388,7 @@ refresh_post_screen(
 			ClearScreen();
 			center_line(0, TRUE, _(txt_check_article));
 			MoveCursor(INDEX_TOP, 0);
-			check_article_to_be_posted(NULL, 0, NULL, FALSE, TRUE);
+			check_article_to_be_posted(NULL, NULL, NULL, FALSE, TRUE);
 			break;
 
 		case cPostCancel:
@@ -2328,7 +2458,8 @@ post_article_loop:
 							unlink(backup_article_name);
 							rename_file(article_name, dead_article);
 							if (tinrc.keep_dead_articles)
-								append_file(dead_article, dead_articles);
+								if ((errno = append_file(dead_article, dead_articles)) != 0)
+									perror_message(_(txt_enter_append), article_name, dead_article);
 						}
 					}
 					goto post_article_postponed;
@@ -2339,7 +2470,7 @@ post_article_loop:
 				if (file_size(article_name) > 0L) {
 					if (artchanged == file_mtime(article_name))
 						art_unchanged = TRUE;
-					while ((i = check_article_to_be_posted(article_name, art_type, &group, art_unchanged, FALSE)) == 1 && repair_article(&func, group))
+					while ((i = check_article_to_be_posted(article_name, &art_type, &group, art_unchanged, FALSE)) == 1 && repair_article(&func, group))
 						;
 					if (func == POST_EDIT || func == GLOBAL_OPTION_MENU)
 						break;
@@ -2351,7 +2482,8 @@ post_article_loop:
 				if (tinrc.unlink_article) {
 #if 0 /* useful? */
 					if (tinrc.keep_dead_articles)
-						append_file(dead_article, dead_articles);
+						if ((errno = append_file(dead_article, dead_articles)) != 0)
+							perror_message(_(txt_enter_append), dead_article, dead_articles);
 #endif /* 0 */
 					unlink(article_name);
 				}
@@ -2360,7 +2492,7 @@ post_article_loop:
 
 			case GLOBAL_OPTION_MENU:
 				config_page(group->name, signal_context);
-				while ((i = check_article_to_be_posted(article_name, art_type, &group, art_unchanged, FALSE)) == 1 && repair_article(&func, group))
+				while ((i = check_article_to_be_posted(article_name, &art_type, &group, art_unchanged, FALSE)) == 1 && repair_article(&func, group))
 					;
 				break;
 
@@ -2405,8 +2537,10 @@ post_article_loop:
 					} else {
 						unlink(backup_article_name);
 						rename_file(article_name, dead_article);
-						if (tinrc.keep_dead_articles)
-							append_file(dead_article, dead_articles);
+						if (tinrc.keep_dead_articles) {
+							if ((errno = append_file(dead_article, dead_articles)) != 0)
+								perror_message(_(txt_enter_append), dead_article, dead_articles);
+						}
 						wait_message(2, _(txt_art_rejected), dead_article);
 					}
 					clear_message();
@@ -2539,9 +2673,7 @@ post_article_done:
 
 		memset(&header, 0, sizeof(struct t_header));
 
-		if ((art_fp = fopen(article_name, "r")) == NULL)
-			perror_message(_(txt_cannot_open), article_name);
-		else {
+		if ((art_fp = tin_fopen(article_name, "r")) != NULL) {
 			curr_group = group;
 			parse_rfc822_headers(&header, art_fp, NULL);
 			fclose(art_fp);
@@ -2551,7 +2683,8 @@ post_article_done:
 			if (header.newsgroups) {
 				update_active_after_posting(header.newsgroups);
 				/* In POST_RESPONSE, this was copied from note_h.newsgroups if !followup to poster */
-				my_strncpy(tinrc.default_post_newsgroups, header.newsgroups, sizeof(tinrc.default_post_newsgroups) - 1);
+				FreeIfNeeded(tinrc.default_post_newsgroups);
+				tinrc.default_post_newsgroups = my_strdup(header.newsgroups);
 			}
 		}
 
@@ -2565,7 +2698,7 @@ post_article_done:
 			 */
 			if (group) { /* we might be (x-)posting to an unavailable group */
 				if (art_type == GROUP_TYPE_NEWS && group->attribute->add_posted_to_filter && (type == POST_QUICK || type == POST_POSTPONED || type == POST_NORMAL)) {
-					if ((group = group_find(header.newsgroups, FALSE)) && (type != POST_POSTPONED || (type == POST_POSTPONED && !strchr(header.newsgroups, ',')))) {
+					if ((group = group_find(header.newsgroups, FALSE)) && (type != POST_POSTPONED || !strchr(header.newsgroups, ','))) {
 						quick_filter_select_posted_art(group, header.subj, a_message_id);
 						if (type == POST_QUICK || (type == POST_POSTPONED && post_postponed_and_exit))
 							write_filter_file(filter_file);
@@ -2607,10 +2740,11 @@ post_article_done:
 					break;
 			}
 
-			my_strncpy(tinrc.default_post_subject, header.subj, sizeof(tinrc.default_post_subject) - 1);
+			FreeIfNeeded(tinrc.default_post_subject);
+			tinrc.default_post_subject = my_strdup(header.subj);
 		}
 
-		if (*tinrc.posted_articles_file && type != POST_REPOST) { /* TODO: either document the !POST_REPOST logic or remove it */
+		if (tinrc.posted_articles_file && *tinrc.posted_articles_file && type != POST_REPOST) { /* TODO: either document the !POST_REPOST logic or remove it */
 			char a_mailbox[PATH_LEN];
 			char posted_msgs_file[PATH_LEN];
 
@@ -2618,7 +2752,7 @@ post_article_done:
 				STRCPY(posted_msgs_file, tinrc.posted_articles_file);
 			else {
 				if (!strcmp(tinrc.posted_articles_file, posted_msgs_file)) /* only prefix tinrc.posted_articles_file if it was a plain file without path */
-					joinpath(posted_msgs_file, sizeof(posted_msgs_file), (cmdline.args & CMDLINE_MAILDIR) ? cmdline.maildir : (group ? group->attribute->maildir : tinrc.maildir), tinrc.posted_articles_file);
+					joinpath(posted_msgs_file, sizeof(posted_msgs_file), cmdline.maildir ? cmdline.maildir : (group && group->attribute->maildir && *group->attribute->maildir) ? *group->attribute->maildir : tinrc.maildir, tinrc.posted_articles_file);
 			}
 
 			/* re-strfpath as maildir may also need expansion */
@@ -2673,10 +2807,10 @@ check_moderated(
 		return NULL;
 
 	do {
-		vnum++; /* number of newsgroups */
+		++vnum; /* number of newsgroups */
 
 		if (!(group = group_find(groupname, FALSE))) {
-			bnum++;	/* number of bogus groups */
+			++bnum;	/* number of bogus groups */
 			continue;
 		}
 
@@ -2692,7 +2826,7 @@ check_moderated(
 			return NULL;
 		}
 
-		if (group->attribute->mailing_list != NULL)
+		if (group->attribute->mailing_list && *group->attribute->mailing_list)
 			*art_type = GROUP_TYPE_MAIL;
 
 		if (!can_post && *art_type == GROUP_TYPE_NEWS) {
@@ -2738,23 +2872,19 @@ create_normal_article_headers(
 {
 	FILE *fp;
 	char from_name[HEADER_LEN];
-#ifdef FORGERY
-	char tmp[HEADER_LEN];
-#endif /* FORGERY */
 	char *prompt, *tmp2;
 
 	/* Get subject for posting article - Limit the display if needed */
 	tmp2 = strunc(tinrc.default_post_subject, DISPLAY_SUBJECT_LEN);
 
 	prompt = fmt_string(_(txt_post_subject), tmp2);
+	free(tmp2);
 
-	if (!(prompt_string_default(prompt, tinrc.default_post_subject, _(txt_no_subject), HIST_POST_SUBJECT))) {
+	if (!(prompt_string_ptr_default(prompt, &tinrc.default_post_subject, _(txt_no_subject), HIST_POST_SUBJECT))) {
 		free(prompt);
-		free(tmp2);
 		return FALSE;
 	}
 	free(prompt);
-	free(tmp2);
 
 	if ((fp = fopen(article_name, "w")) == NULL) {
 		perror_message(_(txt_cannot_open), article_name);
@@ -2771,22 +2901,24 @@ create_normal_article_headers(
 
 	get_from_name(from_name, group);
 #ifdef FORGERY
-	make_path_header(tmp);
-	msg_add_header("Path", tmp);
+	if ((tmp2 = make_path_header())) {
+		msg_add_header("Path", tmp2);
+		free(tmp2);
+	}
 #endif /* FORGERY */
 	msg_add_header("From", from_name);
 	msg_add_header("Subject", tinrc.default_post_subject);
 
 	if (art_type == GROUP_TYPE_MAIL)
-		msg_add_header("To", group->attribute->mailing_list);
+		msg_add_header("To", group->attribute->mailing_list ? BlankIfNull(*group->attribute->mailing_list) : "");
 	else {
 		msg_add_header("Newsgroups", newsgroups);
 		ADD_MSG_ID_HEADER();
 	}
 
 	if (art_type == GROUP_TYPE_NEWS) {
-		if (group->attribute->followup_to != NULL)
-			msg_add_header("Followup-To", group->attribute->followup_to);
+		if (group->attribute->followup_to && *group->attribute->followup_to)
+			msg_add_header("Followup-To", *group->attribute->followup_to);
 		else {
 			if (group->attribute->prompt_followupto)
 				msg_add_header("Followup-To", "");
@@ -2796,8 +2928,8 @@ create_normal_article_headers(
 	if (*reply_to)
 		msg_add_header("Reply-To", reply_to);
 
-	if (group->attribute->organization != NULL)
-		msg_add_header("Organization", random_organization(group->attribute->organization));
+	if (group->attribute->organization && *group->attribute->organization)
+		msg_add_header("Organization", random_organization(*group->attribute->organization));
 
 	if (*my_distribution && art_type == GROUP_TYPE_NEWS)
 		msg_add_header("Distribution", my_distribution);
@@ -2808,6 +2940,7 @@ create_normal_article_headers(
 	msg_add_x_headers(group->attribute->x_headers);
 
 	start_line_offset = msg_write_headers(fp) + 1;
+	fprintf(fp, "\n");			/* add a newline to keep vi from bitching */
 	msg_free_headers();
 
 	start_line_offset += msg_add_x_body(fp, group->attribute->x_body);
@@ -2831,7 +2964,6 @@ quick_post_article(
 	int art_type = GROUP_TYPE_NEWS;
 	struct t_group *group;
 
-	msg_init_headers();
 	ClearScreen();
 
 	/*
@@ -2850,10 +2982,14 @@ quick_post_article(
 	 * Get groupname, but skip query if group was given on the cmd.-line
 	 */
 	if (!num_cmd_line_groups) {
-		snprintf(buf, sizeof(buf), _(txt_post_newsgroups), tinrc.default_post_newsgroups);
-		if (!(prompt_string_default(buf, tinrc.default_post_newsgroups, _(txt_no_newsgroups), HIST_POST_NEWSGROUPS)))
-			return;
+		char *dg;
 
+		snprintf(buf, sizeof(buf), _(txt_post_newsgroups), BlankIfNull(tinrc.default_post_newsgroups));
+		if (!(dg = prompt_string_default(buf, tinrc.default_post_newsgroups, _(txt_no_newsgroups), HIST_POST_NEWSGROUPS))) {
+			FreeIfNeeded(dg);
+			return;
+		}
+		tinrc.default_post_newsgroups = dg;
 		strip_double_ngs(tinrc.default_post_newsgroups);
 	}
 
@@ -2879,22 +3015,35 @@ post_postponed_article(
 	const char *subject,
 	const char *newsgroups)
 {
-	char *ng;
-	char *p;
-	char buf[LEN];
+	FILE *fp;
 
 	if (!can_post) {
 		info_message(_(txt_cannot_post));
 		return;
 	}
 
-	ng = my_strdup(newsgroups);
-	if ((p = strchr(ng, ',')) != NULL)
-		*p = '\0';
-
-	snprintf(buf, sizeof(buf), _(txt_postpone_post), cCOLS - 14, subject); /* TODO: use strunc() */
-	post_loop(POST_POSTPONED, group_find(ng, FALSE), (ask ? POST_EDIT : GLOBAL_POST), buf, GROUP_TYPE_NEWS, 0);
-	free(ng);
+	if ((fp = tin_fopen(article_name, "r")) != NULL) {
+		char *line;
+		char *ng = my_strdup(newsgroups);
+		char *p;
+		char buf[LEN];
+		unsigned int offset = 1;
+
+		if ((p = strchr(ng, ',')) != NULL)
+			*p = '\0';
+
+		snprintf(buf, sizeof(buf), _(txt_postpone_post), cCOLS - 14, subject); /* TODO: use strunc() */
+
+		/* calculate offset to body */
+		while ((line = tin_fgets(fp, TRUE)) != NULL) {
+			++offset;
+			if (!*line) /* end of headers */
+				break;
+		}
+		fclose(fp);
+		post_loop(POST_POSTPONED, group_find(ng, FALSE), (ask ? POST_EDIT : GLOBAL_POST), buf, GROUP_TYPE_NEWS, offset);
+		free(ng);
+	}
 }
 
 
@@ -2906,7 +3055,7 @@ int
 count_postponed_articles(
 	void)
 {
-	FILE *fp = fopen(postponed_articles_file, "r");
+	FILE *fp = tin_fopen(postponed_articles_file, "r");
 	char line[HEADER_LEN];
 	int count = 0;
 
@@ -2915,7 +3064,7 @@ count_postponed_articles(
 
 	while (fgets(line, (int) sizeof(line), fp)) {
 		if (STRNCMPEQ(line, "From ", 5))
-			count++;
+			++count;
 	}
 	fclose(fp);
 	return count;
@@ -2936,15 +3085,22 @@ fetch_postponed_article(
 	char *bufp;
 	char *postponed_tmp;
 	char line[HEADER_LEN];
+	int n;
 	t_bool first_article;
 	t_bool prev_line_nl;
 	t_bool anything_left;
 	size_t len;
 
-	len = snprintf(NULL, 0, "%s_", postponed_articles_file);
-	postponed_tmp = my_malloc(++len);
-	snprintf(postponed_tmp, len, "%s_", postponed_articles_file);
-	in = fopen(postponed_articles_file, "r");
+	if ((n = snprintf(NULL, 0, "%s_", postponed_articles_file)) < 0)
+		return FALSE;
+
+	len = (size_t) n + 1;
+	postponed_tmp = my_malloc(len);
+	if (snprintf(postponed_tmp, len, "%s_", postponed_articles_file) != n) {
+		free(postponed_tmp);
+		return FALSE;
+	}
+	in = tin_fopen(postponed_articles_file, "r");
 	out = fopen(tmp_file, "w");
 	tmp = fopen(postponed_tmp, "w");
 
@@ -2998,7 +3154,7 @@ fetch_postponed_article(
 			if (tinrc.mailbox_format == 1) {
 				bufp = line;
 				while (*bufp == '>')
-					bufp++;
+					++bufp;
 				if (STRNCMPEQ(bufp, "From ", 5))
 					fputs(line + 1, out);
 				else
@@ -3130,8 +3286,6 @@ post_article(
 	struct t_group *group;
 	t_bool redraw_screen = FALSE;
 
-	msg_init_headers();
-
 	/*
 	 * Check that we can post to all the groups we want to
 	 */
@@ -3181,7 +3335,7 @@ must_include(
 	const char *id)
 {
 	while (*id && *id != '<')
-		id++;
+		++id;
 	while (*id && *id != '>') {
 		if (*++id != '_')
 			continue;
@@ -3203,11 +3357,11 @@ skip_id(
 	size_t skipped = 0;
 
 	while (id[skipped] != '\0' && isspace((unsigned char) id[skipped]))
-		skipped++;
+		++skipped;
 
 	if (id[skipped] != '\0') {
 		while (id[skipped] != '\0' && !isspace((unsigned char) id[skipped]))
-			skipped++;
+			++skipped;
 	}
 	return skipped;
 }
@@ -3222,13 +3376,13 @@ damaged_id(
 	const char *id)
 {
 	while (*id && isspace((unsigned char) *id))
-		id++;
+		++id;
 
 	if (*id != '<')
 		return TRUE;
 
 	while (isascii((unsigned char) *id) && isgraph((unsigned char) *id) && !iscntrl((unsigned char) *id) && *id != '>')
-		id++;
+		++id;
 
 	if (*id != '>')
 		return TRUE;
@@ -3249,7 +3403,7 @@ is_crosspost(
 
 	for (; *xref; xref++)
 		if (*xref == ':')
-			count++;
+			++count;
 
 	return (count >= 2) ? TRUE : FALSE;
 }
@@ -3262,7 +3416,7 @@ is_crosspost(
  *  CRLF), it MUST be trimmed (and otherwise MAY be trimmed)."
  */
 #ifdef NNTP_ONLY
-#	define MAXREFSIZE 998
+#	define MAXREFSIZE IMF_LINE_LEN
 #else /* some extern inews (required for posting right into the spool) can't handle 1k-lines */
 #	define MAXREFSIZE 512
 #endif /* NNTP_ONLY */
@@ -3309,19 +3463,19 @@ join_references(
 	while (*e) {
 		if (*e == ' ') {
 			/* keep existing spaces */
-			space++;
+			++space;
 			*c++ = ' ';
-			e++;
+			++e;
 			continue;
 		} else if (*e != '<') {		/* strip everything besides spaces and */
-			e++;	/* message-ids */
+			++e;	/* message-ids */
 			continue;
 		}
 		if (damaged_id(e)) {	/* remove damaged message ids and mark
 					   the gap if that's not already done */
 			e += skip_id(e);
 			while (space < 3) {
-				space++;
+				++space;
 				*c++ = ' ';
 			}
 			continue;
@@ -3333,8 +3487,8 @@ join_references(
 		appendid(&c, &e);
 	}
 	while (space) {
-		c--;
-		space--;	/* remove superfluous space at the end */
+		--c;
+		--space;	/* remove superfluous space at the end */
 	}
 	*c++ = ' ';
 	appendid(&c, &newref);
@@ -3352,14 +3506,13 @@ join_references(
 		*d++ = ' ';
 		*d++ = ' ';	/* and mark this appropriately */
 		while (*c == ' ')
-			c++;
+			++c;
 
 		my_memmove(d, c, strlen(c) + 1);
 	}
 
 	strcpy(buffer, b);
 	free(b);
-	return;
 
 	/*
 	 * son of RFC 1036 says:
@@ -3419,7 +3572,7 @@ show_followup_info(
 			my_fputs(cCRLF, stdout);
 			my_fputs("    ", stdout);
 		}
-		ptr++;
+		++ptr;
 	}
 	my_flush();
 }
@@ -3439,7 +3592,6 @@ post_response(
 {
 	FILE *fp;
 	char *ptr;
-	char bigbuf[HEADER_LEN];
 	char buf[HEADER_LEN];
 	char from_name[HEADER_LEN];
 	char initials[64];
@@ -3448,12 +3600,11 @@ post_response(
 	struct t_group *group;
 	struct t_header note_h = pgart.hdr;
 	t_bool use_followup_to = TRUE;
+	t_function func;
 #ifdef FORGERY
-	char line[HEADER_LEN];
+	char *p;
 #endif /* FORGERY */
-	t_function func;
 
-	msg_init_headers();
 	wait_message(0, _(txt_post_a_followup));
 
 	/*
@@ -3538,15 +3689,29 @@ post_response(
 	group = group_find(groupname, FALSE);
 	get_from_name(from_name, group);
 #ifdef FORGERY
-	make_path_header(line);
-	msg_add_header("Path", line);
+	if ((p = make_path_header())) {
+		msg_add_header("Path", p);
+		free(p);
+	}
 #endif /* FORGERY */
 	msg_add_header("From", from_name);
 
-	ptr = my_strdup(note_h.subj);
-	snprintf(bigbuf, sizeof(bigbuf), "Re: %s", eat_re(ptr, TRUE));
-	msg_add_header("Subject", bigbuf);
-	free(ptr);
+	{
+		char *dbuf;
+		const char *tbuf;
+		int n;
+		size_t len;
+
+		ptr = my_strdup(note_h.subj);
+		tbuf = eat_re(ptr, TRUE);
+		n = snprintf(NULL, 0, "Re: %s", tbuf);
+		len = (size_t) n + 1;
+		dbuf = my_malloc(len);
+		snprintf(dbuf, len, "Re: %s", tbuf);
+		free(ptr);
+		msg_add_header("Subject", dbuf);
+		free(dbuf);
+	}
 
 	if (group && group->attribute->x_comment_to && note_h.from)
 		msg_add_header("X-Comment-To", note_h.from);
@@ -3555,15 +3720,15 @@ post_response(
 		if (group && group->attribute->prompt_followupto)
 			msg_add_header("Followup-To", (strchr(note_h.followup, ',') != NULL) ? note_h.followup : "");
 	} else {
-		if (group && group->attribute->mailing_list) {
-			msg_add_header("To", group->attribute->mailing_list);
+		if (group && group->attribute->mailing_list && *group->attribute->mailing_list) {
+			msg_add_header("To", *group->attribute->mailing_list);
 			art_type = GROUP_TYPE_MAIL;
 		} else {
 			msg_add_header("Newsgroups", note_h.newsgroups);
 			if (group && group->attribute->prompt_followupto)
 				msg_add_header("Followup-To", (strchr(note_h.newsgroups, ',') != NULL) ? note_h.newsgroups : "");
-			if (group && group->attribute->followup_to != NULL)
-				msg_add_header("Followup-To", group->attribute->followup_to);
+			if (group && group->attribute->followup_to && *group->attribute->followup_to)
+				msg_add_header("Followup-To", *group->attribute->followup_to);
 			else {
 				if (strchr(note_h.newsgroups, ','))
 					msg_add_header("Followup-To", note_h.newsgroups);
@@ -3577,13 +3742,13 @@ post_response(
 	 * guard against missing messageid which may show up in mailgroups
 	 */
 	if (note_h.references) {
-		join_references(bigbuf, note_h.references, BlankIfNull(note_h.messageid));
-		msg_add_header("References", bigbuf);
+		join_references(buf, note_h.references, BlankIfNull(note_h.messageid));
+		msg_add_header("References", buf);
 	} else
 		msg_add_header("References", BlankIfNull(note_h.messageid));
 
-	if (group && group->attribute->organization != NULL)
-		msg_add_header("Organization", random_organization(group->attribute->organization));
+	if (group && group->attribute->organization && *group->attribute->organization)
+		msg_add_header("Organization", random_organization(*group->attribute->organization));
 
 	if (*reply_to)
 		msg_add_header("Reply-To", reply_to);
@@ -3596,21 +3761,21 @@ post_response(
 			msg_add_header("Distribution", my_distribution);
 	}
 
-	if (group && group->attribute->x_headers)
+	if (group)
 		msg_add_x_headers(group->attribute->x_headers);
 
 	start_line_offset = msg_write_headers(fp) + 1;
 	msg_free_headers();
-	if (group && group->attribute->x_body)
+	if (group)
 		start_line_offset += msg_add_x_body(fp, group->attribute->x_body);
 
 	if (copy_text) {
 		if (arts[respnum].xref && is_crosspost(arts[respnum].xref)) {
 			if (strfquote(group ? group->name : groupname, respnum, buf, sizeof(buf), tinrc.xpost_quote_format))
 				fprintf(fp, "%s\n", buf);
-		} else if (strfquote(groupname, respnum, buf, sizeof(buf), (group && group->attribute->news_quote_format != NULL) ? group->attribute->news_quote_format : tinrc.news_quote_format))
+		} else if (strfquote(groupname, respnum, buf, sizeof(buf), group && group->attribute->news_quote_format ? *group->attribute->news_quote_format : tinrc.news_quote_format))
 			fprintf(fp, "%s\n", buf);
-		start_line_offset++;
+		++start_line_offset;
 
 		/*
 		 * check if tinrc.xpost_quote_format or tinrc.news_quote_format
@@ -3624,20 +3789,13 @@ post_response(
 		get_initials(&arts[respnum], initials, sizeof(initials) - 1);
 
 		if (raw_data) { /* rewind raw article if needed */
-			if (fseek(pgart.raw, 0L, SEEK_SET) != -1) {
-			} else {
-#ifdef DEBUG
-				/*
-				 * TODO: always show to user?
-				 *       then use something less technical and move to lang.c
-				 */
-				perror_message("%s:%d post_response(fseek(pgart.raw)) failed", __FILE__, __LINE__);
-#endif /* DEBUG */
+			if (fseek(pgart.raw, 0L, SEEK_SET) == -1) {
+				perror_message(txt_error_fseek, pgart.raw);
 				goto pout;
 			}
 		}
 		if (with_headers && raw_data)
-			copy_body(pgart.raw, fp, (group ? group->attribute->quote_chars : tinrc.quote_chars), initials, TRUE);
+			copy_body(pgart.raw, fp, group && group->attribute->quote_chars ? *group->attribute->quote_chars : tinrc.quote_chars, initials, TRUE);
 		else {
 			if (raw_data) {
 				long offset = 0L;
@@ -3650,7 +3808,7 @@ post_response(
 						break;
 				}
 				if (fseek(pgart.raw, offset, SEEK_SET) != -1)
-					copy_body(pgart.raw, fp, (group ? group->attribute->quote_chars : tinrc.quote_chars), initials, TRUE);
+					copy_body(pgart.raw, fp, group && group->attribute->quote_chars ? *group->attribute->quote_chars : tinrc.quote_chars, initials, TRUE);
 				else {
 #ifdef DEBUG
 					/*
@@ -3669,39 +3827,25 @@ post_response(
 					 * mentioned in news_headers_to_display as article
 					 * cooking 'hides' all other headers
 					 */
-					if (fseek(pgart.cooked, 0L, SEEK_SET) != -1) { /* rewind cooked art */
-					} else {
-#ifdef DEBUG
-						/*
-						 * TODO: always show to user?
-						 *       then use something less technical and move to lang.c
-						 */
-						perror_message("%s:%d post_response(fseek(pgart.cooked)) failed", __FILE__, __LINE__);
-#endif /* DEBUG */
+					if (fseek(pgart.cooked, 0L, SEEK_SET) == -1) { /* rewind cooked art */
+						perror_message(txt_error_fseek, pgart.cooked);
 						goto pout;
 					}
 				} else { /* without headers */
 					int i = 0;
 
 					while (pgart.cookl[i].flags & C_HEADER) /* skip headers in cooked art if any */
-						i++;
+						++i;
 
 					if (i) /* cooked art contained any headers, so skip also the header/body separator */
-						i++;
+						++i;
 
-					if (fseek(pgart.cooked, pgart.cookl[i].offset, SEEK_SET) != -1) { /* skip headers and header/body separator */
-					} else {
-#ifdef DEBUG
-						/*
-						 * TODO: always show to user?
-						 *       then use something less technical and move to lang.c
-						 */
-						perror_message("%s:%d post_response(fseek(pgart.cooked)) failed", __FILE__, __LINE__);
-#endif /* DEBUG */
+					if (fseek(pgart.cooked, pgart.cookl[i].offset, SEEK_SET) == -1) { /* skip headers and header/body separator */
+						perror_message(txt_error_fseek, pgart.cooked);
 						goto pout;
 					}
 				}
-				copy_body(pgart.cooked, fp, (group ? group->attribute->quote_chars : tinrc.quote_chars), initials, FALSE);
+				copy_body(pgart.cooked, fp, group && group->attribute->quote_chars ? *group->attribute->quote_chars : tinrc.quote_chars, initials, FALSE);
 			}
 		}
 	} else /* !copy_text */
@@ -3736,7 +3880,6 @@ create_mail_headers(
 {
 	FILE *fp;
 
-	msg_init_headers();
 	joinpath(filename, filename_len, homedir, suffix);
 
 #ifdef APPEND_PID
@@ -3756,16 +3899,16 @@ create_mail_headers(
 #	endif /* HAVE_CHMOD */
 #endif /* HAVE_FCHMOD */
 
-	if ((INTERACTIVE_NONE == tinrc.interactive_mailer) || (INTERACTIVE_WITH_HEADERS == tinrc.interactive_mailer)) {	/* tin should include headers for editing */
+	if (tinrc.interactive_mailer == INTERACTIVE_NONE || tinrc.interactive_mailer == INTERACTIVE_WITH_HEADERS) {	/* tin should include headers for editing */
 		char from_buf[HEADER_LEN];
 		char *from_address;
 
-		if (curr_group && curr_group->attribute && curr_group->attribute->from && strlen(curr_group->attribute->from))
-			from_address = curr_group->attribute->from;
+		if (curr_group && curr_group->attribute && curr_group->attribute->from && *curr_group->attribute->from)
+			from_address = *curr_group->attribute->from;
 		else /* i.e. called from select.c without any groups */
 			from_address = tinrc.mail_address;
 
-		if ((from_address == NULL) || !strlen(from_address)) {
+		if (from_address == NULL || !*from_address) {
 			get_from_name(from_buf, (struct t_group *) 0);
 			from_address = &from_buf[0];
 		} /* from_address is now always a valid pointer to a string */
@@ -3794,10 +3937,10 @@ create_mail_headers(
 				msg_add_header("Bcc", strlen(from_address) ? from_address : userid);
 		}
 
-		if (curr_group && curr_group->attribute && curr_group->attribute->fcc && strlen(curr_group->attribute->fcc))
-			msg_add_header("Fcc", curr_group->attribute->fcc);
+		if (curr_group && curr_group->attribute && curr_group->attribute->fcc && strlen(*curr_group->attribute->fcc))
+			msg_add_header("Fcc", *curr_group->attribute->fcc);
 
-		if (*default_organization)
+		if (default_organization && *default_organization)
 			msg_add_header("Organization", random_organization(default_organization));
 
 		if (extra_hdrs) {
@@ -3813,7 +3956,7 @@ create_mail_headers(
 			msg_add_header("X-Newsgroups", extra_hdrs->newsgroups);
 		}
 
-		if (curr_group && curr_group->attribute && curr_group->attribute->x_headers && strlen(curr_group->attribute->x_headers))
+		if (curr_group && curr_group->attribute)
 			msg_add_x_headers(curr_group->attribute->x_headers);
 	}
 	start_line_offset = msg_write_headers(fp) + 1;
@@ -3827,6 +3970,8 @@ create_mail_headers(
  * Handle editing/spellcheck/PGP etc., operations on a mail article
  * Submit/abort the article as required and return POSTED_{NONE,REDRAW,OK}
  * Replaces core of mail_to_someone(), mail_bug_report(), mail_to_author()
+ *
+ * TODO: do something like check_article_to_be_posted() here.
  */
 static int
 mail_loop(
@@ -3846,6 +3991,9 @@ mail_loop(
 #ifdef HAVE_PGP_GPG
 	char mail_to[HEADER_LEN];
 #endif /* HAVE_PGP_GPG */
+#ifdef CHARSET_CONVERSION
+	char *curr_ucs = NULL;
+#endif /* CHARSET_CONVERSION */
 
 	if (groupname)
 		group = group_find(groupname, FALSE);
@@ -3867,12 +4015,41 @@ mail_loop(
 				if (artchanged != file_mtime(filename))
 					is_changed = TRUE;
 
-				if (!(fp = fopen(filename, "r"))) { /* Oops */
+				if (!(fp = tin_fopen(filename, "r"))) { /* Oops */
 					clear_message();
 					return ret;
 				}
+
+#ifdef CHARSET_CONVERSION
+				if (group != NULL) {
+					/*
+					 * data in file is unencoded in tinrc.mm_local_charset
+					 * temporary set undeclared_charset accordingly
+					 */
+					if (group->attribute->undeclared_charset && *group->attribute->undeclared_charset) {
+						curr_ucs = my_strdup(*group->attribute->undeclared_charset);
+						free(*group->attribute->undeclared_charset);
+					}
+					if (!group->attribute->undeclared_charset)
+						group->attribute->undeclared_charset = my_malloc(sizeof(char *));
+					*group->attribute->undeclared_charset = my_strdup(tinrc.mm_local_charset);
+				}
+#endif /* CHARSET_CONVERSION */
+
 				parse_rfc822_headers(&hdr, fp, NULL);
 				fclose(fp);
+
+#ifdef CHARSET_CONVERSION
+				if (group != NULL) {
+					/* and restore original value */
+					FreeAndNull(*group->attribute->undeclared_charset);
+					if (curr_ucs)
+						*group->attribute->undeclared_charset = my_strdup(curr_ucs);
+					else
+						FreeAndNull(group->attribute->undeclared_charset);
+				}
+#endif /* CHARSET_CONVERSION */
+
 				if (hdr.subj) {
 					strncpy(subject, hdr.subj, HEADER_LEN - 1);
 					subject[HEADER_LEN - 1] = '\0';
@@ -3892,7 +4069,7 @@ mail_loop(
 
 #ifdef HAVE_PGP_GPG
 			case POST_PGP:
-				if (!(fp = fopen(filename, "r"))) { /* Oops */
+				if (!(fp = tin_fopen(filename, "r"))) { /* Oops */
 					clear_message();
 					return ret;
 				}
@@ -3956,7 +4133,7 @@ add_mail_quote(
 
 	if (strfquote(CURR_GROUP.name, respnum, buf, sizeof(buf), tinrc.mail_quote_format)) {
 		fprintf(fp, "%s\n", buf);
-		line_count++;
+		++line_count;
 
 		for (s = buf; *s; s++) {
 			if (*s == '\n')
@@ -4006,7 +4183,12 @@ mail_to_someone(
 		mime_forward = TRUE; /* force mime_forward for multipart articles */
 
 	if (!mime_forward || tinrc.interactive_mailer != INTERACTIVE_NONE) {
-		rewind(artinfo->raw);
+		if (fseek(artinfo->raw, 0L, SEEK_SET) == -1) {
+			perror_message(txt_error_fseek, artinfo->raw);
+			fclose(fp);
+			return ret_code;
+		}
+
 		fprintf(fp, "%s", _(txt_forwarded));
 
 		if (!note_h.mime)
@@ -4047,11 +4229,10 @@ mail_to_someone(
 
 	if (tinrc.interactive_mailer != INTERACTIVE_NONE) {	/* user wants to use his own mailreader */
 		char buf[HEADER_LEN];
-		char *p;
+		char *p = my_strdup(address); /* FIXME: strfmailer() won't take const arg 3 */
 
 		ret_code = POSTED_REDRAW;
 		subject[strlen(subject) - 1] = '\0'; /* cut trailing '\n' */
-		p = my_strdup(address); /* FIXME: strfmailer() won't take const arg 3 */
 		strfmailer(mailer, subject, p, nam, buf, sizeof(buf), tinrc.mailer_format);
 		free(p);
 		if (invoke_cmd(buf))
@@ -4086,7 +4267,7 @@ mail_bug_report(
 	if ((fp = create_mail_headers(nam, sizeof(nam), TIN_BUGREPORT_NAME, bug_addr, subject, NULL)) == NULL)
 		return FALSE;
 
-	start_line_offset += tin_version_info(fp);
+	start_line_offset += tin_version_info(fp, 1);
 #if defined(HAVE_SYS_UTSNAME_H) && defined(HAVE_UNAME)
 #	ifdef _AIX
 	fprintf(fp, "BOX1 : %s %s.%s", system_info.sysname, system_info.version, system_info.release);
@@ -4127,15 +4308,15 @@ mail_bug_report(
 	if (read_news_via_nntp) {
 		if (*bug_nntpserver1) {
 			fprintf(fp, "NNTP1: %s\n", bug_nntpserver1);
-			start_line_offset++;
+			++start_line_offset;
 		}
 		if (*bug_nntpserver2) {
 			fprintf(fp, "NNTP2: %s\n", bug_nntpserver2);
-			start_line_offset++;
+			++start_line_offset;
 		}
 		if (nntp_caps.implementation) {
 			fprintf(fp, "IMPLE: %s\n", nntp_caps.implementation);
-			start_line_offset++;
+			++start_line_offset;
 		}
 	}
 #endif /* NNTP_ABLE */
@@ -4172,43 +4353,73 @@ mail_to_author(
 	t_bool raw_data)
 {
 	FILE *fp;
-	char *p;
-	char from_addr[HEADER_LEN];
+	char *p, *curr_from, *next_from;
 	char nam[PATH_LEN];
 	char subject[HEADER_LEN];
 	char initials[64];
+	char mail_to[HEADER_LEN];
 	int ret_code = POSTED_NONE;
 	int i;
 	struct t_header note_h = pgart.hdr;
+	t_bool spam;
 
 	wait_message(0, _(txt_reply_to_author));
-	find_reply_to_addr(from_addr, FALSE, &pgart.hdr);
+	find_reply_to_addr(mail_to, FALSE, &pgart.hdr);
 
-	i = gnksa_check_from(from_addr);
+	p = curr_from = my_strdup(mail_to);
 
-	/* TODO: make gnksa error level configurable */
-	if (check_for_spamtrap(from_addr) || (i > GNKSA_OK && i < GNKSA_ILLEGAL_UNQUOTED_CHAR)) {
-		char keyabort[MAXKEYLEN], keycont[MAXKEYLEN];
-		t_function func;
-
-		func = prompt_slk_response(POST_CONTINUE, post_continue_keys,
-				_(txt_warn_suspicious_mail),
-				PrintFuncKey(keycont, POST_CONTINUE, post_continue_keys),
-				PrintFuncKey(keyabort, POST_ABORT, post_continue_keys));
-		switch (func) {
-			case POST_ABORT:
-			case GLOBAL_ABORT:
-				clear_message();
-				return ret_code;
+	do {
+		next_from = split_mailbox_list(curr_from);
+		if (!tinrc.mail_8bit_header) { /* TODO: group->attribute->... */
+			char *enc, *q = my_strdup("To: "); /* so rfc1522_encode() knows it's structured */
+#	ifdef CHARSET_CONVERSION
+			const char *nwcs = txt_mime_charsets[tinrc.mm_network_charset]; /* TODO: group->attribute->... */
+#	else
+			const char *nwcs = tinrc.mm_charset;
+#	endif /* CHARSET_CONVERSION */
 
-			case POST_CONTINUE:
-				break;
+			q = append_to_string(q, str_trim(curr_from));
+			enc = rfc1522_encode(q, nwcs, TRUE);
+			free(q);
+			unfold_header(enc);
+			i = gnksa_check_from(enc + 4); /* strlen("To: ") */
+			/* TODO: gnksa_split_from() and just check addr? */
+			spam = check_for_spamtrap(enc + 4);
+			/* wait_message(2, "\"%s\" %d %s", enc + 4, i, bool_unparse(spam)); */
+			FreeIfNeeded(enc);
+		} else {
+			i = gnksa_check_from(str_trim(curr_from));
+			spam = check_for_spamtrap(curr_from);
+			/* wait_message(2, "\"%s\" %d %s", curr_from, i, bool_unparse(spam)); */
+		}
+
+		if (spam || (i > GNKSA_OK && i < GNKSA_ILLEGAL_UNQUOTED_CHAR)) {
+			char keyabort[MAXKEYLEN], keycont[MAXKEYLEN];
+			t_function func;
+
+			func = prompt_slk_response(POST_CONTINUE, post_continue_keys,
+					_(txt_warn_suspicious_mail),
+					PrintFuncKey(keycont, POST_CONTINUE, post_continue_keys),
+					PrintFuncKey(keyabort, POST_ABORT, post_continue_keys));
+			switch (func) {
+				case POST_ABORT:
+				case GLOBAL_ABORT:
+					clear_message();
+					free(p);
+					return ret_code;
 
-			/* the user wants to continue anyway, so we do nothing special here */
-			default:
-				break;
+				case POST_CONTINUE:
+					break;
+
+				/* the user wants to continue anyway, so we do nothing special here */
+				default:
+					break;
+			}
 		}
-	}
+		curr_from = next_from;
+	} while (curr_from);
+
+	free(p);
 
 	p = my_strdup(note_h.subj);
 	snprintf(subject, sizeof(subject), "Re: %s\n", eat_re(p, TRUE));
@@ -4218,7 +4429,7 @@ mail_to_author(
 	 * add extra headers in the mail_to_author() case as we don't include the
 	 * full original headers in the body of the mail
 	 */
-	if ((fp = create_mail_headers(nam, sizeof(nam), TIN_LETTER_NAME, from_addr, subject, &note_h)) == NULL)
+	if ((fp = create_mail_headers(nam, sizeof(nam), TIN_LETTER_NAME, mail_to, subject, &note_h)) == NULL)
 		return ret_code;
 
 	if (copy_text) {
@@ -4226,15 +4437,8 @@ mail_to_author(
 		get_initials(&arts[respnum], initials, sizeof(initials) - 1);
 
 		if (raw_data) {/* rewind raw article if needed */
-			if (fseek(pgart.raw, 0L, SEEK_SET) != -1) {
-			} else {
-#ifdef DEBUG
-				/*
-				 * TODO: always show to user?
-				 *       then use something less technical and move to lang.c
-				 */
-				perror_message("%s:%d mail_to_author(fseek(pgart.raw)) failed", __FILE__, __LINE__);
-#endif /* DEBUG */
+			if (fseek(pgart.raw, 0L, SEEK_SET) == -1) {
+				perror_message(txt_error_fseek, pgart.raw);
 				goto mout;
 			}
 		}
@@ -4271,34 +4475,20 @@ mail_to_author(
 					 * mentioned in news_headers_to_display as article
 					 * cooking 'hides' all other headers
 					 */
-					if (fseek(pgart.cooked, 0L, SEEK_SET) != -1) {
-					} else {
-#ifdef DEBUG
-						/*
-						 * TODO: always show to user?
-						 *       then use something less technical and move to lang.c
-						 */
-						perror_message("%s:%d mail_to_author(fseek(pgart.cooked)) failed", __FILE__, __LINE__);
-#endif /* DEBUG */
+					if (fseek(pgart.cooked, 0L, SEEK_SET) == -1) {
+						perror_message(txt_error_fseek, pgart.cooked);
 						goto mout;
 					}
 				} else { /* without headers */
 					i = 0;
 					while (pgart.cookl[i].flags & C_HEADER) /* skip headers in cooked art if any */
-						i++;
+						++i;
 
 					if (i) /* cooked art contained any headers, so skip also the header/body separator */
-						i++;
+						++i;
 
-					if (fseek(pgart.cooked, pgart.cookl[i].offset, SEEK_SET) != -1) {
-					} else {
-#ifdef DEBUG
-						/*
-						 * TODO: always show to user?
-						 *       then use something less technical and move to lang.c
-						 */
-						perror_message("%s:%d mail_to_author(fseek(pgart.cooked)) failed", __FILE__, __LINE__);
-#endif /* DEBUG */
+					if (fseek(pgart.cooked, pgart.cookl[i].offset, SEEK_SET) == -1) {
+						perror_message(txt_error_fseek, pgart.cooked);
 						goto mout;
 					}
 				}
@@ -4312,35 +4502,33 @@ mail_to_author(
 		msg_write_signature(fp, TRUE, &CURR_GROUP);
 mout:
 	fclose(fp);
+	/*
+	 * TODO: add something like check_article_to_be_posted() (or in
+	 * mail_loop() and don't care about tinrc.interactive_mailer
+	 * != INTERACTIVE_NONE)
+	 */
+	if (tinrc.interactive_mailer != INTERACTIVE_NONE) {	/* user wants to use his own mailreader for reply */
+		char buf[HEADER_LEN];
 
-	{
-		char mail_to[HEADER_LEN];
-
-		find_reply_to_addr(mail_to, TRUE, &pgart.hdr);
-
-		if (tinrc.interactive_mailer != INTERACTIVE_NONE) {	/* user wants to use his own mailreader for reply */
-			char buf[HEADER_LEN];
-
-			subject[strlen(subject) - 1] = '\0'; /* cut trailing '\n' */
-			strfmailer(mailer, subject, mail_to, nam, buf, sizeof(buf), tinrc.mailer_format);
-			if (invoke_cmd(buf))
-				ret_code = POSTED_OK;
-		} else
-			ret_code = mail_loop(nam, POST_EDIT, subject, group, NULL, NULL);
+		subject[strlen(subject) - 1] = '\0'; /* cut trailing '\n' */
+		strfmailer(mailer, subject, mail_to, nam, buf, sizeof(buf), tinrc.mailer_format);
+		if (invoke_cmd(buf))
+			ret_code = POSTED_OK;
+	} else
+		ret_code = mail_loop(nam, POST_EDIT, subject, group, NULL, NULL);
 
-		/*
-		 * If interactive_mailer!=NONE and the user changed the subject in his
-		 * mailreader, the entry generated here is wrong, strictly speaking.
-		 * But since we don't have a chance to get the final subject back from
-		 * the mailer I think this is the best solution. -dn, 2000-03-16
-		 */
-		/*
-		 * same with mail_to, if user changes To: in the editor tin
-		 * doesn't notice it and logs the original value.
-		 */
-		if (ret_code == POSTED_OK)
-			update_posted_info_file(mail_to, 'r', subject, ""); /* TODO: update_posted_info_file elsewhere? */
-	}
+	/*
+	 * If interactive_mailer!=NONE and the user changed the subject in his
+	 * mailreader, the entry generated here is wrong, strictly speaking.
+	 * But since we don't have a chance to get the final subject back from
+	 * the mailer I think this is the best solution. -dn, 2000-03-16
+	 */
+	/*
+	 * same with mail_to, if user changes To: in the editor tin
+	 * doesn't notice it and logs the original value.
+	 */
+	if (ret_code == POSTED_OK)
+		update_posted_info_file(mail_to, 'r', subject, ""); /* TODO: update_posted_info_file elsewhere? */
 
 	if (tinrc.unlink_article)
 		unlink(nam);
@@ -4366,14 +4554,13 @@ check_for_spamtrap(
 	char *ptr;
 	char *tmp;
 
-	if (!strlen(tinrc.spamtrap_warning_addresses) || !addr || !*addr)
+	if (!tinrc.spamtrap_warning_addresses || !*tinrc.spamtrap_warning_addresses || !addr || !*addr)
 		return FALSE;
 
 	tmp = env = my_strdup(tinrc.spamtrap_warning_addresses);
 
 	while (strlen(tmp)) {
-		ptr = strchr(tmp, ',');
-		if (ptr != NULL)
+		if ((ptr = strchr(tmp, ',')) != NULL)
 			*ptr = '\0';
 		if (strcasestr(addr, tmp)) { /* although the local part is actually case sensitive, ignoring it here is intentional */
 			free(env);
@@ -4381,7 +4568,7 @@ check_for_spamtrap(
 		}
 		tmp += strlen(tmp);
 		if (ptr != NULL)
-			tmp++;
+			++tmp;
 	}
 	free(env);
 	return FALSE;
@@ -4435,6 +4622,7 @@ cancel_article(
 	char a_message_id[HEADER_LEN];
 #ifdef FORGERY
 	char line[HEADER_LEN];
+	char *p;
 	t_bool author = TRUE;
 #endif /* FORGERY */
 	int init = 1;
@@ -4444,8 +4632,6 @@ cancel_article(
 	t_function func;
 	t_function default_func = POST_CANCEL;
 
-	msg_init_headers();
-
 	/*
 	 * Check if news / mail / save group
 	 */
@@ -4454,16 +4640,13 @@ cancel_article(
 		return FALSE;
 	}
 	get_from_name(from_name, group); /* TODO: strip_name() for both? */
-#ifdef FORGERY
-	make_path_header(line);
-#endif /* FORGERY */
 
 #ifdef DEBUG
 	if (debug & DEBUG_MISC)
-		error_message(2, "From=[%s]  Cancel=[%s]", art->from, from_name);
+		error_message(2, "From=[%s]  Cancel=[%s]", art->mailbox.from, from_name);
 #endif /* DEBUG */
 
-	if (!strcasestr(from_name, art->from)) { /* TODO: the local-part IS case sensitive! */
+	if (!strcasestr(from_name, art->mailbox.from)) { /* TODO: the local-part IS case sensitive! */
 #ifdef FORGERY
 		author = FALSE;
 #else
@@ -4519,11 +4702,10 @@ cancel_article(
 #endif /* HAVE_FCHMOD */
 
 #ifdef FORGERY
+	p = make_path_header();
 	if (!author) {
-		char line2[HEADER_LEN];
-
-		snprintf(line2, sizeof(line2), "cyberspam!%s", line);
-		msg_add_header("Path", line2);
+		snprintf(line, sizeof(line), "cyberspam!%s", p);
+		msg_add_header("Path", line);
 		msg_add_header("From", from_name);
 		msg_add_header("Sender", note_h.from);
 		snprintf(line, sizeof(line), "<cancel.%s", note_h.messageid + 1);
@@ -4535,15 +4717,16 @@ cancel_article(
 		 */
 		msg_add_header("X-Orig-Subject", note_h.subj);
 	} else {
-		msg_add_header("Path", line);
-		if (art->name)
-			snprintf(line, sizeof(line), "%s <%s>", art->name, art->from);
+		msg_add_header("Path", p);
+		if (art->mailbox.name)
+			snprintf(line, sizeof(line), "%s <%s>", art->mailbox.name, art->mailbox.from);
 		else
-			snprintf(line, sizeof(line), "<%s>", art->from);
+			snprintf(line, sizeof(line), "<%s>", art->mailbox.from);
 		msg_add_header("From", line);
 		ADD_MSG_ID_HEADER();
 		ADD_CAN_KEY(note_h.messageid);
 	}
+	free(p);
 #else
 	msg_add_header("From", from_name);
 	ADD_MSG_ID_HEADER();
@@ -4566,8 +4749,8 @@ cancel_article(
 	if (group->moderated == 'm')
 		msg_add_header("Approved", from_name);
 
-	if (group->attribute->organization != NULL)
-		msg_add_header("Organization", random_organization(group->attribute->organization));
+	if (group->attribute->organization && *group->attribute->organization)
+		msg_add_header("Organization", random_organization(*group->attribute->organization));
 
 	if (note_h.distrib)
 		msg_add_header("Distribution", note_h.distrib);
@@ -4583,16 +4766,16 @@ cancel_article(
 #ifdef FORGERY
 	if (author) {
 		fprintf(fp, "%s", txt_article_cancelled);
-		start_line_offset++;
+		++start_line_offset;
 	} else {
 		rewind(pgart.raw);
 		copy_fp(pgart.raw, fp);
 	}
 	fclose(fp);
-	invoke_editor(cancel, start_line_offset, group);
+	invoke_editor(cancel, start_line_offset, group); /* TODO: handle invocation error? */
 #else
 	fprintf(fp, "%s", txt_article_cancelled);
-	start_line_offset++;
+	++start_line_offset;
 	fclose(fp);
 #endif /* FORGERY */
 
@@ -4607,7 +4790,7 @@ cancel_article(
 #endif /* FORGERY */
 	Raw(oldraw);
 
-	if (!(fp = fopen(cancel, "r"))) {
+	if (!(fp = tin_fopen(cancel, "r"))) {
 		/* Oops */
 		unlink(cancel);
 		clear_message();
@@ -4637,8 +4820,8 @@ cancel_article(
 		switch (func) {
 			case POST_EDIT:
 				free_and_init_header(&hdr);
-				invoke_editor(cancel, start_line_offset, group);
-				if (!(fp = fopen(cancel, "r"))) {
+				invoke_editor(cancel, start_line_offset, group); /* TODO: handle invocation error? */
+				if (!(fp = tin_fopen(cancel, "r"))) {
 					/* Oops */
 					unlink(cancel);
 					clear_message();
@@ -4679,8 +4862,9 @@ cancel_article(
 	return redraw_screen;
 }
 
+
 /* TODO: the local-part IS case sensitive! we also compare the realname part if existent, desired? */
-#define FromSameUser	(strcasestr(from_name, arts[respnum].from))
+#define FromSameUser	(strcasestr(from_name, arts[respnum].mailbox.from))
 #ifndef FORGERY
 #	define NotSuperseding	(!supersede || (!FromSameUser) || art_type != GROUP_TYPE_NEWS)
 #	define Superseding	(supersede && FromSameUser && art_type == GROUP_TYPE_NEWS)
@@ -4702,8 +4886,6 @@ repost_article(
 	FILE *fp;
 	char buf[HEADER_LEN];
 	char from_name[HEADER_LEN];
-	char full_name[128];
-	char user_name[128];
 	int art_type = GROUP_TYPE_NEWS;
 	int ret_code = POSTED_NONE;
 	struct t_group *group;
@@ -4712,11 +4894,10 @@ repost_article(
 	t_bool add_sig;
 #ifdef FORGERY
 	char line[HEADER_LEN];
+	char *p;
 #endif /* FORGERY */
 	t_function func, default_func = GLOBAL_POST;
 
-	msg_init_headers();
-
 	/*
 	 * remove duplicates from Newsgroups header
 	 */
@@ -4731,7 +4912,7 @@ repost_article(
 	/*
 	 * check for GROUP_TYPE_MAIL
 	 */
-	if (group->attribute->mailing_list)
+	if (group->attribute->mailing_list && *group->attribute->mailing_list)
 		art_type = GROUP_TYPE_MAIL;
 
 	if (art_type == GROUP_TYPE_MAIL && supersede) {
@@ -4752,13 +4933,13 @@ repost_article(
 #endif /* HAVE_FCHMOD */
 
 	get_from_name(from_name, group);
-	get_user_info(user_name, full_name);
 
 	if (Superseding) {
-
 #ifdef FORGERY
-		make_path_header(line);
-		msg_add_header("Path", line);
+		if ((p = make_path_header())) {
+			msg_add_header("Path", p);
+			free(p);
+		}
 
 		msg_add_header("From", (note_h.from ? note_h.from : from_name));
 
@@ -4803,8 +4984,8 @@ repost_article(
 	}
 	msg_add_header("Subject", note_h.subj);
 
-	if (group->attribute->mailing_list)
-		msg_add_header("To", group->attribute->mailing_list);
+	if (group->attribute->mailing_list && *group->attribute->mailing_list)
+		msg_add_header("To", *group->attribute->mailing_list);
 	else {
 		msg_add_header("Newsgroups", groupname);
 		ADD_MSG_ID_HEADER();
@@ -4815,9 +4996,9 @@ repost_article(
 		msg_add_header("References", buf);
 	}
 	if (NotSuperseding) {
-		if (group->attribute->organization != NULL)
-			msg_add_header("Organization", random_organization(group->attribute->organization));
-		else if (*default_organization)
+		if (group->attribute->organization && *group->attribute->organization)
+			msg_add_header("Organization", random_organization(*group->attribute->organization));
+		else if (default_organization && *default_organization)
 			msg_add_header("Organization", random_organization(default_organization));
 
 		if (*reply_to)
@@ -4830,9 +5011,9 @@ repost_article(
 		if (note_h.org)
 			msg_add_header("Organization", note_h.org);
 		else {
-			if (group->attribute->organization != NULL)
-				msg_add_header("Organization", random_organization(group->attribute->organization));
-			else if (*default_organization)
+			if (group->attribute->organization && *group->attribute->organization)
+				msg_add_header("Organization", random_organization(*group->attribute->organization));
+			else if (default_organization && *default_organization)
 				msg_add_header("Organization", random_organization(default_organization));
 		}
 	}
@@ -4868,9 +5049,9 @@ repost_article(
 		int i = 0;
 
 		while (artinfo->cookl[i].flags & C_HEADER) /* skip headers in cooked art if any */
-			i++;
+			++i;
 		if (i) /* cooked art contained any headers, so skip also the header/body separator */
-			i++;
+			++i;
 		if (fseek(artinfo->cooked, artinfo->cookl[i].offset, SEEK_SET) != -1)
 			copy_fp(artinfo->cooked, fp);
 		else {
@@ -4966,7 +5147,7 @@ repost_article(
 
 static void
 msg_add_x_headers(
-	const char *headers)
+	char * const *headers)
 {
 	FILE *fp = NULL;
 	char *ptr;
@@ -4979,11 +5160,11 @@ msg_add_x_headers(
 	t_bool is_pipe = FALSE;
 #endif /* !DONT_HAVE_PIPING */
 
-	if (!headers)
+	if (!headers || !*headers || !**headers)
 		return;
 
-	if (headers[0] != '/' && headers[0] != '~' && headers[0] != '!') {
-		STRCPY(line, headers);
+	if (*headers[0] != '/' && *headers[0] != '~' && *headers[0] != '!') {
+		STRCPY(line, *headers);
 		if ((ptr = strchr(line, ':')) != NULL) {
 			*ptr++ = '\0';
 			if (*ptr == ' ' || *ptr == '\t') {
@@ -4996,8 +5177,8 @@ msg_add_x_headers(
 		 * without this else a "x_headers=name" without a ':' would be
 		 * treated as a filename in the current dir - IMHO not very useful
 		 */
-		if (!strfpath(headers, file, sizeof(file), &CURR_GROUP, FALSE))
-			STRCPY(file, headers);
+		if (!strfpath(*headers, file, sizeof(file), &CURR_GROUP, FALSE))
+			STRCPY(file, *headers);
 
 #ifndef DONT_HAVE_PIPING
 		if (file[0] == '!') {
@@ -5008,7 +5189,7 @@ msg_add_x_headers(
 		if (!is_pipe)
 #endif /* !DONT_HAVE_PIPING */
 		{
-			if ((fp = fopen(file, "r")) == NULL)
+			if ((fp = tin_fopen(file, "r")) == NULL)
 				return;
 		}
 
@@ -5056,7 +5237,7 @@ msg_add_x_headers(
 static int
 msg_add_x_body(
 	FILE *fp_out,
-	const char *body)
+	char * const *body)
 {
 	FILE *fp = NULL;
 	char *ptr;
@@ -5067,23 +5248,23 @@ msg_add_x_body(
 	t_bool is_pipe = FALSE;
 #endif /* !DONT_HAVE_PIPING */
 
-	if (!body || !fp_out)
+	if (!body || !*body || !**body || !fp_out)
 		return 0;
 
-	if (body[0] != '/' && body[0] != '~' && body[0] != '!') {
+	if (*body[0] != '/' && *body[0] != '~' && *body[0] != '!') {
 		/*
 		 * copy string as is, no \-format expansion
 		 * if \n is needed the text must come from a file or command
 		 */
-		STRCPY(line, body);
+		STRCPY(line, *body);
 		if ((ptr = strrchr(line, '\n')) != NULL)
 			*ptr = '\0';
 
 		fprintf(fp_out, "%s\n", line);
-		wrote++;
+		++wrote;
 	} else {
-		if (!strfpath(body, file, sizeof(file), &CURR_GROUP, FALSE))
-			STRCPY(file, body);
+		if (!strfpath(*body, file, sizeof(file), &CURR_GROUP, FALSE))
+			STRCPY(file, *body);
 
 #ifndef DONT_HAVE_PIPING
 		if (file[0] == '!') {
@@ -5094,13 +5275,13 @@ msg_add_x_body(
 		if (!is_pipe)
 #endif /* !DONT_HAVE_PIPING */
 		{
-			if ((fp = fopen(file, "r")) == NULL)
+			if ((fp = tin_fopen(file, "r")) == NULL)
 				return 0;
 		}
 
 		while (fgets(line, (int) sizeof(line), fp) != NULL) {
 			fputs(line, fp_out);
-			wrote++;
+			++wrote;
 		}
 #ifndef DONT_HAVE_PIPING
 		if (is_pipe)
@@ -5123,7 +5304,7 @@ msg_add_x_body(
 char *
 checknadd_headers(
 	const char *infile,
-	struct t_group *group)
+	const struct t_group *group)
 {
 	FILE *fp_in, *fp_out;
 	char *fcc = NULL;
@@ -5135,7 +5316,7 @@ checknadd_headers(
 
 	newsgroups[0] = '\0';
 
-	if ((fp_in = fopen(infile, "r")) == NULL)
+	if ((fp_in = tin_fopen(infile, "r")) == NULL)
 		return NULL;
 
 	snprintf(outfile, sizeof(outfile), "%s.%ld", infile, (long) process_id);
@@ -5146,7 +5327,7 @@ checknadd_headers(
 	}
 
 	while ((l = tin_fgets(fp_in, TRUE)) != NULL) {
-		if (l[0] == '\0') /* end of headers */
+		if (!*l) /* end of headers */
 			break;
 
 		if ((ptr = parse_header(l, "Newsgroups", FALSE, FALSE, FALSE))) {
@@ -5159,6 +5340,7 @@ checknadd_headers(
 				error_message(2, "checknadd_headers(snprintf(\"Newsgroups:\")) failed");
 				fclose(fp_in);
 				fclose(fp_out);
+				FreeIfNeeded(fcc);
 				return NULL;
 			}
 			fputs(line, fp_out);
@@ -5181,32 +5363,44 @@ checknadd_headers(
 	} /* end of headers */
 
 	if ((group && group->attribute->advertising) || (!group && tinrc.advertising)) {	/* Add after other headers */
-		char suffix[HEADER_LEN];
+		char *suffix = NULL;
+		size_t len;
 
-		suffix[0] = '\0';
 #if defined(HAVE_SYS_UTSNAME_H) && defined(HAVE_UNAME)
 		if (*system_info.release) {
 #	ifdef _AIX
-		snprintf(suffix, sizeof(suffix), "(%s/%s.%s)",
-			system_info.sysname, system_info.version, system_info.release);
+			len = 5 + sizeof(system_info.sysname) + sizeof(system_info.version) + sizeof(system_info.release);
+			suffix = my_malloc(len);
+			snprintf(suffix, len, "(%s/%s.%s)",
+				system_info.sysname, system_info.version, system_info.release);
 #	else
 #		if defined(SEIUX) || defined(__riscos)
-			snprintf(suffix, sizeof(suffix), "(%s/%s)",
+			len = 4 + sizeof(system_info.version) + sizeof(system_info.release);
+			suffix = my_malloc(len);
+			snprintf(suffix, len, "(%s/%s)",
 				system_info.version, system_info.release);
 #		else
-			snprintf(suffix, sizeof(suffix), "(%s/%s (%s))",
+			len = 7 + sizeof(system_info.sysname) + sizeof(system_info.release) + sizeof(system_info.machine);
+			suffix = my_malloc(len);
+			snprintf(suffix, len, "(%s/%s (%s))",
 				system_info.sysname, system_info.release, system_info.machine);
 #		endif /* SEIUX || __riscos */
 #	endif /* _AIX */
 		}
 #endif /* HAVE_SYS_UTSNAME_H && HAVE_UNAME */
 #ifdef SYSTEM_NAME
-		if (!*suffix && strlen(SYSTEM_NAME) > 0)
-				snprintf(suffix, sizeof(suffix), "(%s)", SYSTEM_NAME);
+		if (!suffix && (len = strlen(SYSTEM_NAME)) > 0) {
+			len += 3;
+			suffix = my_malloc(len);
+			snprintf(suffix, len, "(%s)", SYSTEM_NAME);
+		}
+#else
+		(void) len;
 #endif /* SYSTEM_NAME */
 
 		fprintf(fp_out, "User-Agent: %s/%s-%s (\"%s\") %s\n",
-			PRODUCT, VERSION, RELEASEDATE, RELEASENAME, suffix);
+			PRODUCT, VERSION, RELEASEDATE, RELEASENAME, BlankIfNull(suffix));
+		FreeIfNeeded(suffix);
 	}
 
 	fputs("\n", fp_out); /* header/body separator */
@@ -5234,83 +5428,83 @@ insert_from_header(
 	t_bool from_found = FALSE;
 	t_bool in_header = TRUE;
 
-	if ((fp_in = fopen(infile, "r")) != NULL) {
-		snprintf(outfile, sizeof(outfile), "%s.%ld", infile, (long) process_id);
-		if ((fp_out = fopen(outfile, "w")) != NULL) {
-			strcpy(from_name, "From: ");
-			if (*tinrc.mail_address) /* FIXME: avoid hardcoded length */
-				snprintf(from_name + 6, sizeof(from_name) - 7, "%.1016s", tinrc.mail_address);
-			else
-				get_from_name(from_name + 6, (struct t_group *) 0);
+	if ((fp_in = tin_fopen(infile, "r")) == NULL)
+		return FALSE;
+
+	snprintf(outfile, sizeof(outfile), "%s.%ld", infile, (long) process_id);
+	if ((fp_out = fopen(outfile, "w")) != NULL) {
+		strcpy(from_name, "From: ");
+		if (tinrc.mail_address && *tinrc.mail_address) { /* FIXME: avoid hardcoded length */
+			snprintf(from_name + 6, sizeof(from_name) - 7, "%.1016s", tinrc.mail_address);
+		} else
+			get_from_name(from_name + 6, (struct t_group *) 0);
 
 #	ifdef DEBUG
-			if (debug & DEBUG_MISC)
-				wait_message(2, "insert_from_header [%s]", from_name + 6);
+		if (debug & DEBUG_MISC)
+			wait_message(2, "insert_from_header [%s]", from_name + 6);
 #	endif /* DEBUG */
 
-			while ((line = tin_fgets(fp_in, in_header)) != NULL) {
-				if (in_header && !strncasecmp(line, "From: ", 6)) {
-					char from_buff[HEADER_LEN];
-
-					from_found = TRUE;
-					STRCPY(from_buff, line + 6);
-					unfold_header(from_buff);
+		while ((line = tin_fgets(fp_in, in_header)) != NULL) {
+			if (in_header && !strncasecmp(line, "From: ", 6)) {
+				char from_buff[HEADER_LEN];
+
+				from_found = TRUE;
+				STRCPY(from_buff, line);
+				unfold_header(from_buff);
 
+				/* Check the From: line */
+				/*
+				 * insert_from_header() is only called
+				 * from submit_mail_file() so the 3rd
+				 * arg is TRUE
+				 */
+#	ifdef CHARSET_CONVERSION
+				p = rfc1522_encode(from_buff, txt_mime_charsets[tinrc.mm_network_charset], TRUE);
+#	else
+				p = rfc1522_encode(from_buff, tinrc.mm_charset, TRUE);
+#	endif /* CHARSET_CONVERSION */
+				r = gnksa_check_from(p + 6);
+				free(p);
+				if (r > GNKSA_OK && r < GNKSA_MISSING_REALNAME) { /* error in address */
+					error_message(2, _(txt_invalid_from), from_buff + 6);
+					unlink(outfile);
+					fclose(fp_out);
+					fclose(fp_in);
+					return FALSE;
+				}
+			}
+			if (*line == '\0' && in_header) {
+				if (!from_found) {
 					/* Check the From: line */
-					/*
-					 * insert_from_header() is only called
-					 * from submit_mail_file() so the 3rd
-					 * arg is TRUE
-					 */
 #	ifdef CHARSET_CONVERSION
-					p = rfc1522_encode(from_buff, txt_mime_charsets[tinrc.mm_network_charset], TRUE);
+					p = rfc1522_encode(from_name, txt_mime_charsets[tinrc.mm_network_charset], TRUE);
 #	else
-					p = rfc1522_encode(from_buff, tinrc.mm_charset, TRUE);
+					p = rfc1522_encode(from_name, tinrc.mm_charset, TRUE);
 #	endif /* CHARSET_CONVERSION */
-					r = gnksa_check_from(p);
+					r = gnksa_check_from(p + 6);
+					free(p);
 					if (r > GNKSA_OK && r < GNKSA_MISSING_REALNAME) { /* error in address */
-						error_message(2, _(txt_invalid_from), from_buff);
-						free(p);
+						error_message(2, _(txt_invalid_from), from_name + 6);
 						unlink(outfile);
 						fclose(fp_out);
 						fclose(fp_in);
 						return FALSE;
 					}
-					free(p);
+					fprintf(fp_out, "%s\n", from_name);
 				}
-				if (*line == '\0' && in_header) {
-					if (!from_found) {
-						/* Check the From: line */
-#	ifdef CHARSET_CONVERSION
-						p = rfc1522_encode(from_name, txt_mime_charsets[tinrc.mm_network_charset], FALSE);
-#	else
-						p = rfc1522_encode(from_name, tinrc.mm_charset, FALSE);
-#	endif /* CHARSET_CONVERSION */
-						r = gnksa_check_from(p + 6);
-						if (r > GNKSA_OK && r < GNKSA_MISSING_REALNAME) { /* error in address */
-							error_message(2, _(txt_invalid_from), from_name + 6);
-							free(p);
-							unlink(outfile);
-							fclose(fp_out);
-							fclose(fp_in);
-							return FALSE;
-						}
-						free(p);
-						fprintf(fp_out, "%s\n", from_name);
-					}
-					in_header = FALSE;
-				}
-				fprintf(fp_out, "%s\n", line);
+				in_header = FALSE;
 			}
+			fprintf(fp_out, "%s\n", line);
+		}
 
-			fclose(fp_out);
-			fclose(fp_in);
-			rename_file(outfile, infile);
+		fclose(fp_out);
+		fclose(fp_in);
+		rename_file(outfile, infile);
+
+		return TRUE;
+	} else
+		fclose(fp_in);
 
-			return TRUE;
-		} else
-			fclose(fp_in);
-	}
 	return FALSE;
 }
 
@@ -5318,8 +5512,8 @@ insert_from_header(
 /*
  * Copy the appropriate reply-to address
  * from Reply-To (or From as a fallback) into 'from_addr'
- * If 'parse' is set, full syntax validation is performed and
- * the address portion is split off.
+ * If 'parse' is set (currently _never_), full syntax validation is
+ * performed and the address portion is split off.
  *
  * FIXME: pass size of from_addr to find_reply_to_addr instead of
  *        hardcoding
@@ -5330,7 +5524,6 @@ find_reply_to_addr(
 	t_bool parse,
 	struct t_header *hdr)
 {
-	char fname[HEADER_LEN];
 	const char *ptr;
 
 	/*
@@ -5343,6 +5536,7 @@ find_reply_to_addr(
 	 * We do this to save a redundant strcpy when we don't want to parse
 	 */
 	if (parse) {
+		char fname[HEADER_LEN];
 #if 1
 		/* TODO: Return code ignored? */
 		parse_from(ptr, from_addr, fname);
@@ -5438,7 +5632,7 @@ update_active_after_posting(
 		if (*src != ' ')
 			*dst = *src;
 
-		src++;
+		++src;
 		if (*dst == ',' || *dst == '\0') {
 			*dst = '\0';
 			group = group_find(groupname, FALSE);
@@ -5448,7 +5642,7 @@ update_active_after_posting(
 			}
 			dst = groupname;
 		} else
-			dst++;
+			++dst;
 	}
 }
 
@@ -5466,13 +5660,44 @@ submit_mail_file(
 	char mail_to[HEADER_LEN];
 	struct t_header hdr;
 	t_bool mailed = FALSE;
+#ifdef CHARSET_CONVERSION
+	char *curr_ucs = NULL;
+#endif /* CHARSET_CONVERSION */
 
 	fcc = checknadd_headers(file, group);
 
 	if (insert_from_header(file)) {
-		if ((fp = fopen(file, "r"))) {
+		if ((fp = tin_fopen(file, "r"))) {
+#ifdef CHARSET_CONVERSION
+			if (group != NULL) {
+				/*
+				 * data in file is unencoded in tinrc.mm_local_charset
+				 * temporary set undeclared_charset accordingly
+				 */
+				if (group->attribute->undeclared_charset && *group->attribute->undeclared_charset) {
+					curr_ucs = my_strdup(*group->attribute->undeclared_charset);
+					free(*group->attribute->undeclared_charset);
+				}
+				if (!group->attribute->undeclared_charset)
+					group->attribute->undeclared_charset = my_malloc(sizeof(char *));
+				*group->attribute->undeclared_charset = my_strdup(tinrc.mm_local_charset);
+			}
+#endif /* CHARSET_CONVERSION */
+
 			parse_rfc822_headers(&hdr, fp, NULL);
 			fclose(fp);
+
+#ifdef CHARSET_CONVERSION
+			if (group != NULL) {
+				/* and restore original value */
+				FreeAndNull(*group->attribute->undeclared_charset);
+				if (curr_ucs)
+					*group->attribute->undeclared_charset = my_strdup(curr_ucs);
+				else
+					FreeAndNull(group->attribute->undeclared_charset);
+			}
+#endif /* CHARSET_CONVERSION */
+
 			if (get_recipients(&hdr, mail_to, sizeof(mail_to) - 1)) {
 				wait_message(0, _(txt_mailing_to), mail_to);
 
@@ -5489,11 +5714,13 @@ submit_mail_file(
 					mailed = TRUE;
 			} else
 				error_message(2, _(txt_error_header_line_missing), "To");
+
 			free_and_init_header(&hdr);
 		}
 	}
+
 	if (fcc != NULL) {
-		if (mailed && strlen(fcc)) {
+		if (mailed && *fcc) {
 			char a_mailbox[PATH_LEN];
 
 			if (!strfpath(fcc, a_mailbox, sizeof(a_mailbox), group, TRUE))
@@ -5501,22 +5728,31 @@ submit_mail_file(
 			if ((errno = append_mail(file, userid, a_mailbox)))
 				perror_message(_(txt_cannot_open_for_saving), a_mailbox);
 		}
-		FreeIfNeeded(fcc);
+		free(fcc);
 	}
+
 	return mailed;
 }
 
 
 #ifdef FORGERY
-static void
+static char *
 make_path_header(
-	char *line)
+	void)
 {
-	char full_name[128];
-	char user_name[128];
+	char *buf;
+	int n;
+	size_t len;
 
-	get_user_info(user_name, full_name);
-	sprintf(line, "%s!%s", domain_name, user_name);
+	if ((n = snprintf(NULL, 0, "%s!%s", domain_name, userid)) < 0)
+		return NULL;
+	len = (size_t) n + 1;
+	buf = my_malloc(len);
+	if (snprintf(buf, len, "%s!%s", domain_name, userid) != n) {
+		free(buf);
+		return NULL;
+	}
+	return buf;
 }
 #endif /* FORGERY */
 
@@ -5551,9 +5787,9 @@ split_address_list(
 
 	while (len > 0) {
 		/* skip white space at beginning */
-		while (len && isspace((int) *curr)) {
-			curr++;
-			len--;
+		while (len && isspace((unsigned char) *curr)) {
+			++curr;
+			--len;
 		}
 		if (len == 0)
 			break;
@@ -5571,23 +5807,23 @@ split_address_list(
 		start = curr;
 		while (len && (*curr != ',')) {
 			switch (*curr) {
-				case '\"':
+				case '"':
 					/* quoted-string area */
-					curr++;
-					len--;
-					dquotes++;
+					++curr;
+					--len;
+					++dquotes;
 					while (len && dquotes) {
 						switch (*curr) {
-							case '\"':
+							case '"':
 								/* end of quoted-string */
-								dquotes--;
+								--dquotes;
 								break;
 
 							case '\\':
 								/* quoted-pair: ignore next char */
 								if (len > 1) {
-									curr++;
-									len--;
+									++curr;
+									--len;
 								}
 								break;
 
@@ -5595,32 +5831,34 @@ split_address_list(
 								/* nothing special, just step over it */
 								break;
 						}
-						curr++;
-						len--;
+						if (dquotes && len > 0) {
+							++curr;
+							--len;
+						}
 					}
 					break;
 
 				case '(':
 					/* comment area */
-					curr++;
-					len--;
-					parens++;
+					++curr;
+					--len;
+					++parens;
 					while (len && parens) {
 						switch (*curr) {
 							case '(':
 								/* comments may be nested */
-								parens++;
+								++parens;
 								break;
 
 							case ')':
-								parens--;
+								--parens;
 								break;
 
 							case '\\':
 								/* quoted-pair: ignore next char */
 								if (len > 1) {
-									curr++;
-									len--;
+									++curr;
+									--len;
 								}
 								break;
 
@@ -5628,8 +5866,10 @@ split_address_list(
 								/* nothing special, just step over it */
 								break;
 						}
-						curr++;
-						len--;
+						if (parens && len > 0) {
+							++curr;
+							--len;
+						}
 					}
 					break;
 
@@ -5639,31 +5879,29 @@ split_address_list(
 			}
 			if (len > 0) {
 				/* avoid going after end of addresses (may occur in broken address lists) */
-				curr++;
-				len--;
+				++curr;
+				--len;
 			}
 		}
 		/* end of address */
 		end = curr;
 		if (end > start) {
-			end--;
-			while ((end > start) && isspace((int) *end))
-				end--;	/* skip trailing white space */
-			if (!isspace((int) *end))
-				end++;
+			--end;
+			while ((end > start) && isspace((unsigned char) *end))
+				--end;	/* skip trailing white space */
+			if (!isspace((unsigned char) *end))
+				++end;
 			addr_len = (size_t) (end - start);
 			if (addr_len > 0) {
-				addr = my_malloc(addr_len + 1);
-				strncpy(addr, start, addr_len);
-				addr[addr_len] = '\0';
-				argc++;
+				addr = my_strndup(start, addr_len);
+				++argc;
 				argv = my_realloc(argv, argc * sizeof(char *));
 				argv[argc - 1] = addr;
 			}
 		}
 		if (len > 0) {
-			curr++;
-			len--;
+			++curr;
+			--len;
 		}
 	}
 	/* end of buffer, end of addresses. now return array of strings */
@@ -5721,7 +5959,7 @@ address_in_list(
  */
 static unsigned int
 get_recipients(
-	struct t_header *hdr,
+	const struct t_header *hdr,
 	char *buf,
 	size_t buflen)
 {
@@ -5766,17 +6004,17 @@ get_recipients(
 				FreeAndNull(all_addresses[j]);
 		}
 	}
-	/* build list of space separated e-mail addresses */
+	/* build list of comma separated e-mail addresses */
 	dest = buf;
 	for (i = 0; i < num_all; i++) {
 		if (all_addresses[i]) {
 			for (src = all_addresses[i]; (*src && buflen); src++, dest++) {
 				*dest = *src;
-				buflen--;
+				--buflen;
 			}
 			if (buflen > 0) {
-				*dest++ = ' ';
-				buflen--;
+				*dest++ = ',';
+				--buflen;
 			}
 		}
 	}
@@ -5836,6 +6074,9 @@ build_messageid(
 		static char buf2[HEADER_LEN];
 
 		strip_name(build_sender(), buf2);
+		if (strlen(buf) + strlen(buf2) + strlen(radix32(getuid())) + 2 > sizeof(buf) - 1)
+			return NULL;
+
 		snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "N%s%%%s>", radix32(getuid()), buf2);
 	}
 #	else
@@ -5882,7 +6123,7 @@ get_cancel_lock_algo(
 	/*
 	 * must match the order in txt_cancel_lock_algos
 	 */
-	switch(tinrc.cancel_lock_algo) {
+	switch (tinrc.cancel_lock_algo) {
 		case 2:
 			return CL_SHA256;
 		case 3:
@@ -5939,12 +6180,14 @@ get_secret(
 	char *ptr;
 	char path_secret[PATH_LEN];
 	static char cancel_secret[HEADER_LEN];
+#	ifndef FILE_MODE_BROKEN
 	int fd;
 	struct stat statbuf;
+#	endif /* !FILE_MODE_BROKEN */
 
 	cancel_secret[0] = '\0';
 	joinpath(path_secret, sizeof(path_secret), homedir, SECRET_FILE);
-	if ((fp_secret = fopen(path_secret, "r")) == NULL) {
+	if ((fp_secret = fopen(path_secret, "r")) == NULL) { /* no tin_fopen() here as an empty secret is ok, see below */
 #	ifdef DEBUG
 		/* TODO: prompt for secret manually here? */
 		error_message(2, _(txt_cannot_open), path_secret);
@@ -5952,16 +6195,17 @@ get_secret(
 		return NULL;
 	}
 
+#	ifndef FILE_MODE_BROKEN
 	if ((fd = fileno(fp_secret)) == -1) {
 		fclose(fp_secret);
 		return NULL;
 	}
 
-#	ifndef FILE_MODE_BROKEN
 	if (fstat(fd, &statbuf) == -1) {
 		fclose(fp_secret);
 		return NULL;
 	}
+
 	if ((S_ISREG(statbuf.st_mode)) && ((statbuf.st_mode|S_IRUSR|S_IWUSR) != (S_IRUSR|S_IWUSR|S_IFREG)) && (statbuf.st_size > 0)) {
 #		ifdef DEBUG
 		error_message(4, _(txt_error_insecure_permissions), path_secret, statbuf.st_mode);
@@ -6003,13 +6247,13 @@ add_headers(
 	t_bool addmid = TRUE;
 	t_bool adddate = TRUE;
 
-	if (!(*a_message_id) || strlen(a_message_id) > NNTP_STRLEN)
+	if (!(*a_message_id) || strlen(a_message_id) > NNTP_STRLEN - 12) /* IDs are limited to 250 octets, but ... 12 = strlen("Message-ID: ") */
 		addmid = FALSE;
 
-	if ((fp_in = fopen(infile, "r")) == NULL)
+	if ((fp_in = tin_fopen(infile, "r")) == NULL)
 		return;
 
-	if ((fd_out = my_tmpfile(outfile, sizeof(outfile) - 1, homedir)) == -1) {
+	if ((fd_out = my_mktmp(outfile, sizeof(outfile) - 1, homedir)) == -1) {
 		fclose(fp_in);
 		return;
 	}
@@ -6020,18 +6264,24 @@ add_headers(
 				inhdrs = FALSE;
 				if (addmid) {
 					char *msgidbuf;
-					int len;
+					int n;
+					size_t len;
 
-					len = snprintf(NULL, 0, "Message-ID: %s\n", a_message_id);
-					msgidbuf = my_malloc(++len);
-					snprintf(msgidbuf, len, "Message-ID: %.512s\n", a_message_id);
-					if (write(fd_out, msgidbuf, strlen(msgidbuf)) == (ssize_t) -1) /* abort on write errors */ {
-						writesuccess = FALSE;
+					n = snprintf(NULL, 0, "Message-ID: %s\n", a_message_id);
+					if (n > 0 && n < NNTP_STRLEN - 12) { /* IDs are limited to 250 octets, but ... */
+						len = (size_t) n + 1;
+						msgidbuf = my_malloc(len);
+						if (snprintf(msgidbuf, len, "Message-ID: %s\n", a_message_id) == n) {
+							if (write(fd_out, msgidbuf, strlen(msgidbuf)) == (ssize_t) -1) { /* abort on write errors only */
+								writesuccess = FALSE;
+								free(msgidbuf);
+								break;
+							}
+						}
 						free(msgidbuf);
-						break;
 					}
-					free(msgidbuf);
 				}
+
 				if (adddate) {
 					time_t epoch;
 					char dateheader[50];
@@ -6074,15 +6324,18 @@ add_headers(
 				char *cp;
 				t_bool emptyhdr = TRUE;
 
-				/*
-				 * check_article_to_be_posted takes care that we have at
-				 * least ": " in and "\n" at the end of every (unfolded) header
-				 * line
-				 */
-				for (cp = strchr(line, ':'), cp++; *cp; cp++) {
-					if (!isspace((int) *cp)) {
-						emptyhdr = FALSE;
-						break;
+				if ((cp = strchr(line, ':')) != NULL) {
+					++cp; /* skip past : */
+
+					/*
+					 * check_article_to_be_posted takes care that we have at
+					 * least ": " in and "\n" at the end of every (unfolded) header
+					 * line
+					 */
+					while (emptyhdr && *cp) {
+						if (!isspace((unsigned char) *cp))
+							emptyhdr = FALSE;
+						++cp;
 					}
 				}
 				if (emptyhdr)
@@ -6191,7 +6444,7 @@ stripped_double_ngs(
 				changed = TRUE;
 				(*ngcnt)--;
 			} else
-				j++;
+				++j;
 		}
 	}
 	return changed;
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/prompt.c tin-2.6.4/src/prompt.c
--- tin-2.6.3/src/prompt.c	2023-12-24 00:38:39.000000000 +0100
+++ tin-2.6.4/src/prompt.c	2024-12-02 22:44:33.322653484 +0100
@@ -3,10 +3,10 @@
  *  Module    : prompt.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2021-10-29
+ *  Updated   : 2024-12-02
  *  Notes     :
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -55,7 +55,6 @@ static char *prompt_yn_choice;
  */
 static int prompt_list(int row, int col, int var, constext *help_text, constext *prompt_text, constext *list[], int size);
 
-
 /*
  *  prompt_num
  *  get a number from the user
@@ -95,7 +94,7 @@ prompt_string(
 	char *buf,
 	int which_hist)
 {
-	return prompt_default_string(prompt, buf, 0, (char *) NULL, which_hist);
+	return prompt_default_string(prompt, buf, 0, NULL, which_hist);
 }
 
 
@@ -109,7 +108,7 @@ prompt_default_string(
 	const char *prompt,
 	char *buf,
 	int buf_len,
-	char *default_prompt,
+	const char *default_prompt,
 	int which_hist)
 {
 	char *p;
@@ -135,7 +134,7 @@ t_bool
 prompt_menu_string(
 	int line,
 	const char *prompt,
-	char *var)
+	char **var)
 {
 	char *p;
 
@@ -146,10 +145,11 @@ prompt_menu_string(
 	 */
 	/* fflush(stdin); */
 	MoveCursor(line, 0);
-	if ((p = tin_getline(prompt, 0, var, 0, FALSE, HIST_OTHER)) == NULL)
+	if ((p = tin_getline(prompt, 0, *var, 0, FALSE, HIST_OTHER)) == NULL)
 		return FALSE;
 
-	strcpy(var, p);
+	FreeIfNeeded(*var);
+	*var = my_strdup(p);
 	return TRUE;
 }
 
@@ -189,8 +189,8 @@ prompt_yn(
 	yes = func_to_key(PROMPT_YES, prompt_keys);
 	no = func_to_key(PROMPT_NO, prompt_keys);
 
-	printascii(keyyes, (default_answer ? my_toupper(yes) : yes));
-	printascii(keyno, (!default_answer ? my_toupper(no) : no));
+	printascii(keyyes, (default_answer ? my_toupper((unsigned char) yes) : yes));
+	printascii(keyno, (!default_answer ? my_toupper((unsigned char) no) : no));
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
 	keyyes_len = strwidth(keyyes);
@@ -466,19 +466,33 @@ prompt_option_list(
  */
 t_bool
 prompt_option_string(
-	enum option_enum option) /* return value is always ignored */
+	enum option_enum option)
 {
-	char *variable = OPT_STRING_list[option_table[option].var_index];
+	char *variable;
+	char *old_value;
 	char prompt[LEN];
-	char old_value[LEN];
+	t_bool is_same;
 
-	STRCPY(old_value, variable);
+	if (*OPT_STRING_list[option_table[option].var_index])
+		variable = my_strdup(*OPT_STRING_list[option_table[option].var_index]);
+	else
+		variable = my_strdup("");
+	old_value = my_strdup(variable);
 	show_menu_help(option_table[option].txt->help);
 	fmt_option_prompt(prompt, sizeof(prompt) - 1, TRUE, option);
-	if (prompt_menu_string(option_row(option), prompt, variable))
-		return strcmp(old_value, variable) ? TRUE : FALSE;
-	else
+	if (prompt_menu_string(option_row(option), prompt, &variable)) {
+		if (!option_is_default(option))
+			FreeIfNeeded(*OPT_STRING_list[option_table[option].var_index]);
+		*OPT_STRING_list[option_table[option].var_index] = my_strdup(variable);
+		is_same = strcmp(old_value, variable) ? TRUE : FALSE;
+		free(old_value);
+		free(variable);
+		return is_same;
+	} else {
+		free(old_value);
+		free(variable);
 		return FALSE;
+	}
 }
 
 
@@ -599,10 +613,11 @@ prompt_string_default(
 		return NULL;
 	}
 
-	if (pattern[0] != '\0')			/* got a string - make it the default */
-		my_strncpy(def, pattern, LEN);
-	else {
-		if (def[0] == '\0') {		/* no default - give up */
+	if (*pattern) {			/* got a string - make it the default */
+		FreeIfNeeded(def);
+		def = my_strdup(pattern);
+	} else {
+		if (!def || !*def) {		/* no default - give up */
 			error_message(2, "%s", failtext);
 			return NULL;
 		}
@@ -612,6 +627,36 @@ prompt_string_default(
 }
 
 
+char *
+prompt_string_ptr_default(
+	const char *prompt,
+	char **def,
+	const char *failtext,
+	int history)
+{
+	char pattern[LEN];
+
+	clear_message();
+
+	if (!prompt_string(prompt, pattern, history)) {
+		clear_message();
+		return NULL;
+	}
+
+	if (*pattern)	{		/* got a string - make it the default */
+		FreeIfNeeded(*def);
+		*def = my_strdup(pattern);
+	} else {
+		if (!*def || **def == '\0') {		/* no default - give up */
+			error_message(2, "%s", failtext);
+			return NULL;
+		}
+	}
+
+	return *def;					/* use the default */
+}
+
+
 /*
  * Get a message ID for the 'L' command. Add <> if needed
  * If the msgid exists and is reachable, return its index
@@ -678,9 +723,7 @@ sized_message(
 	const char *subject)
 {
 	char *buf;
-	int max_len;
-
-	max_len = cCOLS - strwidth(format) + 2 - 1;	/* The formatting info (%s) wastes 2 chars, but our prompt needs 1 char */
+	int max_len = cCOLS - strwidth(format) + 2 - 1;	/* The formatting info (%s) wastes 2 chars, but our prompt needs 1 char */
 
 	buf = strunc(subject, max_len);
 
@@ -703,7 +746,9 @@ prompt_slk_response(
 	...)
 {
 	va_list ap;
-	char buf[LEN];
+	char *buf;
+	int n, r;
+	size_t blen;
 	t_function func;
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 	wchar_t ch;
@@ -712,10 +757,26 @@ prompt_slk_response(
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
 	va_start(ap, fmt);
-	vsnprintf(buf, sizeof(buf), fmt, ap);
+	n = vsnprintf(NULL, 0, fmt, ap);
 	va_end(ap);
 
-	prompt_slk_message = my_malloc(strlen(buf) + 2);
+	if (n < 0)
+		return default_func;
+
+	blen = (size_t) n + 1;
+	buf = my_malloc(blen);
+
+	va_start(ap, fmt);
+	r = vsnprintf(buf, blen, fmt, ap);
+	va_end(ap);
+
+	if (r != n) {
+		free(buf);
+		return default_func;
+	}
+
+	blen += 2;
+	prompt_slk_message = my_malloc(blen);
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 	{
 		char *tmp;
@@ -723,13 +784,14 @@ prompt_slk_response(
 
 		wtmp[0] = func_to_key(default_func, keys);
 		tmp = wchar_t2char(wtmp);
-		snprintf(prompt_slk_message, strlen(buf) + 2, "%s%s", buf, tmp);
+		snprintf(prompt_slk_message, blen, "%s%s", buf, tmp);
 		FreeIfNeeded(tmp);
 	}
 #else
-	snprintf(prompt_slk_message, strlen(buf) + 2, "%s%c", buf, func_to_key(default_func, keys));
+	snprintf(prompt_slk_message, blen, "%s%c", buf, func_to_key(default_func, keys));
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
+	free(buf);
 	input_context = cPromptSLK;
 
 	do {
@@ -759,7 +821,7 @@ prompt_slk_response(
 				case KEYMAP_PAGE_UP:
 				case KEYMAP_HOME:
 				case KEYMAP_END:
-					ch = '\0';
+					ch = '\0'; /* <- do not remove this! */
 					func = NOT_ASSIGNED;
 					break;
 
@@ -817,7 +879,7 @@ prompt_continue(
 		case KEY_PREFIX:
 #endif /* HAVE_KEY_PREFIX */
 			(void) get_arrow_key(ch);
-			/* FALLTHROUGH */
+			break;
 
 		default:
 			break;
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/read.c tin-2.6.4/src/read.c
--- tin-2.6.3/src/read.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/read.c	2024-11-25 20:40:37.751803590 +0100
@@ -3,9 +3,9 @@
  *  Module    : read.c
  *  Author    : Jason Faultless <jason@altarstone.com>
  *  Created   : 1997-04-10
- *  Updated   : 2023-11-15
+ *  Updated   : 2024-04-10
  *
- * Copyright (c) 1997-2024 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 1997-2025 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -152,7 +152,6 @@ wait_for_input(
 					if (prompt_yn(_(txt_read_exit), FALSE) == 1)
 						tin_done(EXIT_SUCCESS, NULL);
 				}
-
 			}
 
 #	if 0
@@ -163,7 +162,6 @@ wait_for_input(
 				return TRUE;
 #	endif /* 0 */
 		}
-
 	}
 }
 #endif /* HAVE_SELECT */
@@ -209,21 +207,19 @@ tin_read(
 		return NULL;
 	}
 #	endif /* HAVE_SELECT */
+#endif /* NNTP_ABLE */
 
 	errno = 0;		/* To check errno after read, clear it here */
 
+#ifdef NNTP_ABLE
 	/*
 	 * Initially try and fit into supplied buffer
 	 */
 	if (fp == FAKE_NNTP_FP)
 		ptr = get_server(buffer, (int) len);
 	else
-		ptr = fgets(buffer, (int) len, fp);
-#else
-	errno = 0;		/* To check errno after read, clear it here */
-
-	ptr = fgets(buffer, len, fp);
 #endif /* NNTP_ABLE */
+		ptr = fgets(buffer, (int) len, fp);
 
 /* TODO: develop this next line? */
 #ifdef DEBUG
@@ -241,7 +237,6 @@ tin_read(
 	 */
 	i = (int) strlen(buffer);
 	if (i >= 1 && buffer[i - 1] == '\n') {
-
 		if (i >= 2 && buffer[i - 2] == '\r') {
 			buffer[i - 2] = '\0';
 			offset = i -= 2;
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/refs.c tin-2.6.4/src/refs.c
--- tin-2.6.3/src/refs.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/refs.c	2024-12-04 18:05:57.814261220 +0100
@@ -3,12 +3,12 @@
  *  Module    : refs.c
  *  Author    : Jason Faultless <jason@altarstone.com>
  *  Created   : 1996-05-09
- *  Updated   : 2023-11-20
+ *  Updated   : 2024-12-04
  *  Notes     : Caching of message ids / References based threading
  *  Credits   : Richard Hodson <richard@macgyver.tele2.co.uk>
  *              hash_msgid, free_msgid
  *
- * Copyright (c) 1996-2024 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 1996-2025 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -75,7 +75,7 @@ static void rearrange_siblings(void);
 /*
  * The msgids are all hashed into a big array, with overspill
  */
-static struct t_msgid *msgids[MSGID_HASH_SIZE] = {0};
+static struct t_msgid *msgids[MSGID_HASH_SIZE] = { NULL };
 
 /*
  * This part of the code deals with the caching and retrieval
@@ -193,14 +193,14 @@ valid_msgid(
 				if (bracket != 0 || !at_present || *(msgid - 1) != '@')
 					return FALSE;
 				else
-					bracket++;
+					++bracket;
 				break;
 
 			case ']':
 				if (bracket != 1 || !at_present || *(msgid + 1) != '>')
 					return FALSE;
 				else
-					bracket--;
+					--bracket;
 				break;
 
 			case '@':
@@ -233,7 +233,7 @@ valid_msgid(
 			default:
 				break;
 		}
-		msgid++;
+		++msgid;
 	}
 
 	if (bracket != 0 || !at_present)
@@ -315,7 +315,7 @@ add_msgid(
 		if (newparent == i->parent) {
 #ifdef DEBUG
 			if (debug & DEBUG_REFS)
-				DEBUG_PRINT((dbgfd, "dup: %s -> %s (no change)\n", i->txt, i->parent ? i->parent->txt : "NULL"));
+				DEBUG_PRINT((dbgfd, "dup: %s -> %s (no change)\n", i->txt, i->parent->txt));
 #endif /* DEBUG */
 			return i;
 		}
@@ -617,10 +617,8 @@ free_msgids(
 		*msgptr++ = NULL;			/* declare list empty */
 
 		while (ptr != NULL) {	/* for each node in the list */
-
 			next = ptr->next;		/* grab ptr before we free node */
 			free(ptr);			/* release node */
-
 			ptr = next;			/* hop down the chain */
 		}
 	}
@@ -651,7 +649,7 @@ dump_thread(
 	i = cCOLS - len - 20;
 
 	if (msgid->article >= 0)
-		sprintf(ptr + len, "%-*.*s   %-17.17s", i, i, arts[msgid->article].subject, (arts[msgid->article].name) ? arts[msgid->article].name : arts[msgid->article].from);
+		sprintf(ptr + len, "%-*.*s   %-17.17s", i, i, arts[msgid->article].subject, (arts[msgid->article].mailbox->name) ? arts[msgid->article].mailbox->name : arts[msgid->article].mailbox->from);
 	else
 		sprintf(ptr + len, "%-*.*s", i, i, _("[- Unavailable -]"));
 
@@ -681,7 +679,6 @@ dump_msgids(
 				my_fprintf(stderr, " -> %s", ptr->txt);
 
 			my_fprintf(stderr, "\n");
-
 		}
 	}
 }
@@ -816,7 +813,6 @@ find_next(
 	 * got something in arts[]
 	 */
 	while (ptr != NULL) {
-
 		/*
 		 * Children first, unless bottom is set
 		 */
@@ -1023,7 +1019,7 @@ collate_subjects(
  */
 void
 build_references(
-	struct t_group *group)
+	const struct t_group *group)
 {
 	static char msg[LEN];
 	char *s;
@@ -1034,7 +1030,7 @@ build_references(
 	/*
 	 * The articles are currently unsorted, and are as they were put by setup_hard_base()
 	 */
-	if (group->attribute->sort_article_type != SORT_ARTICLES_BY_NOTHING)
+	if (group->attribute && group->attribute->sort_article_type != SORT_ARTICLES_BY_NOTHING)
 		sort_arts(group->attribute->sort_article_type);
 
 #ifdef DEBUG
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/regex.c tin-2.6.4/src/regex.c
--- tin-2.6.3/src/regex.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/regex.c	2024-12-03 03:56:20.118530839 +0100
@@ -3,11 +3,11 @@
  *  Module    : regex.c
  *  Author    : Jason Faultless <jason@altarstone.com>
  *  Created   : 1997-02-21
- *  Updated   : 2022-08-29
+ *  Updated   : 2024-12-03
  *  Notes     : Regular expression subroutines
  *  Credits   :
  *
- * Copyright (c) 1997-2024 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 1997-2025 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -80,7 +80,7 @@ match_regex(
 		ptr_cache = &tmp_cache;
 	}
 
-	error = match_regex_ex(string, (int) strlen(string), 0, 0, ptr_cache);
+	error = match_regex_ex(string, (REGEX_SIZE) strlen(string), 0, 0, ptr_cache);
 	if (error >= 0) {
 		regex_cache_destroy(&tmp_cache);
 		return TRUE;
@@ -110,15 +110,14 @@ match_regex(
 int
 match_regex_ex(
 	const char *string,
-	int length,
-	int offset,
+	REGEX_SIZE length,
+	REGEX_SIZE offset,
 	REGEX_OPTIONS options,
 	struct regex_cache *regex)
 {
 #ifndef HAVE_LIB_PCRE2
-	int error;
+	int error = pcre_exec(regex->re, regex->extra, string, length, offset, options, regex->ovector, regex->ovecalloc);
 
-	error = pcre_exec(regex->re, regex->extra, string, length, offset, options, regex->ovector, regex->ovecalloc);
 	if (error >= 0) {
 		/* error == 0 means 'matched, but not enough space in ovector' */
 		regex->oveccount = error;
@@ -133,7 +132,7 @@ match_regex_ex(
 
 	return error;
 #else
-	return pcre2_match_8(regex->re, (const PCRE2_UCHAR8*)string, length, offset, options, regex->match, NULL);
+	return pcre2_match_8(regex->re, (const PCRE2_UCHAR8 *) string, length, offset, options, regex->match, NULL);
 #endif /* !HAVE_LIB_PCRE2 */
 }
 
@@ -178,19 +177,18 @@ compile_regex(
 	if (regex_use_utf8())
 		options |= PCRE2_UTF;
 
-	cache->re = pcre2_compile_8((const PCRE2_UCHAR8*)regex, PCRE2_ZERO_TERMINATED, options,
+	cache->re = pcre2_compile_8((const PCRE2_UCHAR8 *) regex, PCRE2_ZERO_TERMINATED, options,
 			&regex_errcode, &regex_errpos, NULL);
 	if (cache->re == NULL) {
 		PCRE2_UCHAR8 regex_errmsg[256];
+
 		pcre2_get_error_message_8(regex_errcode, regex_errmsg, sizeof(regex_errmsg));
 		error_message(2, _(txt_pcre_error_at), regex_errmsg, regex_errpos, regex);
 	} else {
 		cache->match = pcre2_match_data_create_from_pattern_8(cache->re, NULL);
-		if (cache->match == NULL) {
-			/* out of memory ... */
+		if (cache->match == NULL) /* out of memory ... */
 			regex_cache_destroy(cache);
-			regex_cache_init(cache);
-		} else
+		else
 			return TRUE;
 	}
 
@@ -210,13 +208,11 @@ compile_regex(
 		if (regex_errmsg != NULL) {
 			/* we failed, clean up */
 			regex_cache_destroy(cache);
-			regex_cache_init(cache);
 			error_message(2, _(txt_pcre_error_text), regex_errmsg);
 		} else {
 			int n;
-			int error;
+			int error = pcre_fullinfo(cache->re, cache->extra, PCRE_INFO_CAPTURECOUNT, &n);
 
-			error = pcre_fullinfo(cache->re, cache->extra, PCRE_INFO_CAPTURECOUNT, &n);
 			if (error != 0)
 				error_message(2, _(txt_pcre_error_num), error);
 			else {
@@ -248,14 +244,15 @@ highlight_regexes(
 	int color)
 {
 	char *ptr;
-#ifdef USE_CURSES
-	char buf[LEN];
-#else
 	char *buf;
-#endif /* USE_CURSES */
 
 	/* Get contents of line from the screen */
 #ifdef USE_CURSES
+#	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+	buf = my_malloc(MB_CUR_MAX * (size_t) (cCOLS + 1));
+#	else
+	buf = my_malloc(cCOLS + 1);
+#	endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 	screen_contents(row, 0, buf);
 #else
 	buf = screen[row].col;
@@ -263,14 +260,14 @@ highlight_regexes(
 	ptr = buf;
 
 	/* also check for 0 as offsets[] might be too small to hold all captured subpatterns */
-	while (match_regex_ex(ptr, (int) strlen(ptr), 0, 0, regex) >= 0) {
+	while (match_regex_ex(ptr, (REGEX_SIZE) strlen(ptr), 0, 0, regex) >= 0) {
 		REGEX_SIZE *offsets = regex_get_ovector_pointer(regex);
 		/* we have a match */
 		if (color >= 0) /* color the matching text */
-			word_highlight_string(row, (int) ((ptr - buf) + offsets[0]), offsets[1] - offsets[0], color);
+			word_highlight_string(row, (int) ((ptr - buf) + offsets[0]), (int) (offsets[1] - offsets[0]), color);
 		else
 			/* inverse the matching text */
-			highlight_string(row, (int) ((ptr - buf) + offsets[0]), offsets[1] - offsets[0]);
+			highlight_string(row, (int) ((ptr - buf) + offsets[0]), (int) (offsets[1] - offsets[0]));
 
 		if (!tinrc.word_h_display_marks) {
 #ifdef USE_CURSES
@@ -280,6 +277,9 @@ highlight_regexes(
 		} else
 			ptr += offsets[1];
 	}
+#ifdef USE_CURSES
+	free(buf);
+#endif /* USE_CURSES */
 }
 
 
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/rfc1524.c tin-2.6.4/src/rfc1524.c
--- tin-2.6.3/src/rfc1524.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/rfc1524.c	2024-11-25 20:40:37.775804540 +0100
@@ -3,10 +3,10 @@
  *  Module    : rfc1524.c
  *  Author    : Urs Janssen <urs@tin.org>, Jason Faultless <jason@altarstone.com>
  *  Created   : 2000-05-15
- *  Updated   : 2021-02-23
+ *  Updated   : 2024-11-25
  *  Notes     : mailcap parsing as defined in RFC 1524
  *
- * Copyright (c) 2000-2024 Urs Janssen <urs@tin.org>, Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 2000-2025 Urs Janssen <urs@tin.org>, Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -70,15 +70,15 @@ get_mailcap_entry(
 {
 	FILE *fp;
 	char *ptr, *ptr2, *nptr;
+	char *mailcaps;		/* possible mailcap files */
 	char buf[LEN];
 	char filename[LEN];	/* name of current mailcap file */
 	char mailcap[LEN];	/* full match */
-	char *mailcaps;		/* possible mailcap files */
 	char wildcap[LEN];	/* basetype match */
 	t_mailcap *foo = (t_mailcap *) 0;
 
 	/* build list of mailcap files */
-	if ((ptr = getenv("MAILCAPS")) != NULL && strlen(ptr)) {
+	if ((ptr = getenv("MAILCAPS")) != NULL && *ptr) {
 		mailcaps = my_malloc(strlen(ptr) + strlen(DEFAULT_MAILCAPS) + 2);
 		sprintf(mailcaps, "%s:%s", ptr, DEFAULT_MAILCAPS);
 	} else
@@ -93,8 +93,8 @@ get_mailcap_entry(
 	nptr = strtok(mailcaps, ":");
 	while (nptr != NULL) {
 		/* expand ~ and/or $HOME etc. */
-		if (strfpath(nptr, filename, sizeof(filename) - 1, &CURR_GROUP, FALSE)) {
-			if ((fp = fopen(filename, "r")) != NULL) {
+		if (strfpath(nptr, filename, sizeof(filename) - 1, NULL, FALSE)) {
+			if ((fp = tin_fopen(filename, "r")) != NULL) {
 				while ((fgets(ptr, (int) (sizeof(buf) - strlen(buf)), fp)) != NULL) {
 					if (*ptr == '#' || *ptr == '\n')		/* skip comments & blank lines */
 						continue;
@@ -123,7 +123,7 @@ get_mailcap_entry(
 								}
 							} else {
 								if ((*(ptr2 + 1) == '*') || (*(ptr2 + 1) == ';')) { /* wildmat match */
-									if (!strlen(wildcap)) { /* we don't already have a wildmat match */
+									if (!*wildcap) { /* we don't already have a wildmat match */
 										STRCPY(wildcap, buf);
 										FreeIfNeeded(foo);
 										foo = parse_mailcap_line(wildcap, part, path);
@@ -221,7 +221,7 @@ parse_mailcap_line(
 			ptr += strlen(ptr) + 1;
 		}
 		if (!strncasecmp(ptr, "textualnewlines=", 16)) {
-			tmailcap->textualnewlines = atoi(ptr + 16);
+			tmailcap->textualnewlines = s2i(ptr + 16, 0, 1);
 			ptr += strlen(ptr) + 1;
 		}
 		if (!strncasecmp(ptr, "compose=", 8)) {
@@ -324,7 +324,7 @@ get_mailcap_field(
 				backquote = FALSE;
 				break;
 		}
-		ptr++;
+		++ptr;
 	}
 	return mailcap;
 }
@@ -382,15 +382,15 @@ expand_mailcap_meta(
 		}
 
 		if (*ptr == '\\') {
-			ptr++;
+			++ptr;
 			if ((*ptr == '\\') || (*ptr == '%')) {
 				*lptr++ = *ptr++;
-				space--;
+				--space;
 			}
 			continue;
 		}
 		if (*ptr == '%') {
-			ptr++;
+			++ptr;
 			if (*ptr == '{') {	/* Content-Type parameter */
 				char *end;
 
@@ -412,7 +412,7 @@ expand_mailcap_meta(
 						free(parameter);
 					}
 					ptr = end;	/* skip past closing } */
-					ptr++;
+					++ptr;
 				} else {
 					/* sequence broken, output literally */
 					*lptr++ = '%';
@@ -432,7 +432,7 @@ expand_mailcap_meta(
 				strcat(line, nptr);
 				lptr = line + strlen(line);
 				space -= strlen(line);
-				ptr++;
+				++ptr;
 				continue;
 			} else if (*ptr == 't') {	/* Content-Type */
 				const char *nptr = escape_shell_meta_chars ? escape_shell_meta(part->subtype, quote) : part->subtype;
@@ -443,11 +443,11 @@ expand_mailcap_meta(
 				strcat(line, nptr);
 				lptr = line + strlen(line);
 				space -= strlen(line);
-				ptr++;
+				++ptr;
 				continue;
 			} else {	/* unknown % sequence */
 				*lptr++ = '%';
-				space--;
+				--space;
 				continue;
 			}
 		}
@@ -461,7 +461,7 @@ expand_mailcap_meta(
 
 		/* any other char */
 		*lptr++ = *ptr++;
-		space--;
+		--space;
 	}
 	return line;
 }
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/rfc2045.c tin-2.6.4/src/rfc2045.c
--- tin-2.6.3/src/rfc2045.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/rfc2045.c	2024-12-05 22:23:38.923508434 +0100
@@ -3,10 +3,10 @@
  *  Module    : rfc2045.c
  *  Author    : Chris Blum <chris@resolution.de>
  *  Created   : 1995-09-01
- *  Updated   : 2023-11-10
+ *  Updated   : 2023-12-05
  *  Notes     : RFC 2045/2047 encoding
  *
- * Copyright (c) 1995-2024 Chris Blum <chris@resolution.de>
+ * Copyright (c) 1995-2025 Chris Blum <chris@resolution.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -60,7 +60,7 @@ bin2hex(
 }
 
 
-#define HI4BITS(c) ((unsigned char) (*EIGHT_BIT(c) >> 4))
+#define HI4BITS(c) ((unsigned char) (*(unsigned char *) (c) >> 4))
 #define LO4BITS(c) ((unsigned char) (*c & 0xf))
 
 /*
@@ -106,7 +106,7 @@ rfc1521_encode(
 						bits -= 6;
 					} else
 						*b++ = '=';
-					xpos++;
+					++xpos;
 				}
 				pattern = 0;
 				bits = 0;
@@ -120,7 +120,7 @@ rfc1521_encode(
 		} else {
 			char *line_crlf = line;
 			size_t len = strlen(line);
-			char tmpbuf[2050]; /* FIXME: this is sizeof(buffer)+2 from rfc15211522_encode() */
+			char tmpbuf[2050]; /* FIXME: we don't do VLAs, so this is sizeof(buffer)+2 from rfc15211522_encode() */
 
 			/*
 			 * base64 requires CRLF line endings in text types
@@ -137,7 +137,7 @@ rfc1521_encode(
 
 			while (*line_crlf) {
 				pattern <<= 8;
-				pattern |= *EIGHT_BIT(line_crlf)++;
+				pattern |= *(unsigned char *) (line_crlf)++;
 				bits += 8;
 				if (bits >= 24) {
 					if (xpos >= 73) {
@@ -149,7 +149,7 @@ rfc1521_encode(
 					}
 					for (i = 0; i < 4; i++) {
 						*b++ = base64_alphabet[(pattern >> (bits - 6)) & 0x3f];
-						xpos++;
+						++xpos;
 						bits -= 6;
 					}
 					pattern = 0;
@@ -157,6 +157,7 @@ rfc1521_encode(
 			}
 		}
 	} else if (e == 'q') {
+		char *l;
 		if (!line) {
 			/*
 			 * we don't really flush anything in qp mode, just set
@@ -170,27 +171,27 @@ rfc1521_encode(
 		b = buffer;
 		while (*line) {
 			if (isspace((unsigned char) *line) && *line != '\n') {
-				char *l = line + 1;
+				l = line + 1;
 
 				while (*l) {
 					if (!isspace((unsigned char) *l)) {		/* it's not trailing whitespace, no encoding needed */
 						*b++ = *line++;
-						xpos++;
+						++xpos;
 						break;
 					}
-					l++;
+					++l;
 				}
 				if (!*l) {		/* trailing whitespace must be encoded */
 					*b++ = '=';
 					*b++ = (char) bin2hex(HI4BITS(line));
 					*b++ = (char) bin2hex(LO4BITS(line));
 					xpos += 3;
-					line++;
+					++line;
 				}
 			} else if ((!is_EIGHT_BIT(line) && *line != '=')
 						  || (*line == '\n')) {
 				*b++ = *line++;
-				xpos++;
+				++xpos;
 				if (*(line - 1) == '\n')
 					break;
 			} else {
@@ -198,7 +199,7 @@ rfc1521_encode(
 				*b++ = (char) bin2hex(HI4BITS(line));
 				*b++ = (char) bin2hex(LO4BITS(line));
 				xpos += 3;
-				line++;
+				++line;
 			}
 			if (xpos > 72 && *line != '\n') {	/* 72 +3 [worst case] + equal sign = 76 :-) */
 				*b++ = '=';		/* break long lines with a 'soft line break' */
@@ -393,7 +394,7 @@ read_decoded_base64_line(
 			(*line)[put_chars] = '\0';
 			return max_lines_to_read;
 		}
-		lines_read++;
+		++lines_read;
 		buf2 = my_malloc(strlen(buf) + 1); /* decoded string is always shorter than encoded string, so this is safe */
 		count = mmdecode(buf, 'b', '\0', buf2);
 		buf2[count] = '\0';
@@ -459,7 +460,7 @@ read_decoded_qp_line(
 			lines_read = max_lines_to_read;
 			break;
 		}
-		lines_read++;
+		++lines_read;
 		if ((chars_to_add = strlen(buf2)) == 0) /* Empty line, leave loop. */
 			break;
 
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/rfc2046.c tin-2.6.4/src/rfc2046.c
--- tin-2.6.3/src/rfc2046.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/rfc2046.c	2024-12-21 03:49:14.602794173 +0100
@@ -3,10 +3,10 @@
  *  Module    : rfc2046.c
  *  Author    : Jason Faultless <jason@altarstone.com>
  *  Created   : 2000-02-18
- *  Updated   : 2023-11-28
+ *  Updated   : 2024-12-21
  *  Notes     : RFC 2046 MIME article parsing
  *
- * Copyright (c) 2000-2024 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 2000-2025 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -46,9 +46,10 @@
 /*
  * local prototypes
  */
-static char *get_charset(char *value);
+static char *get_charset(const char *value);
 static char *get_quoted_string(char *source, char **dest);
 static char *get_token(const char *source);
+static char *quote_display_name(char *name);
 static char *strip_charset(char **value);
 static char *skip_equal_sign(char *source);
 static char *skip_space(char *source);
@@ -64,6 +65,8 @@ static void parse_content_disposition(ch
 static void parse_params(char *params, t_part *content);
 static void progress(int line_count);
 static void remove_cwsp(char *source);
+static void do_remove_cwsp(char *source, t_bool remove_wsp);
+static t_bool subtype_syntactically_valid(char *subtype);
 #ifdef DEBUG_ART
 	static void dump_art(t_openartinfo *art);
 #endif /* DEBUG_ART */
@@ -88,10 +91,8 @@ static const char xtbl[] = {
 };
 
 #define XVAL(c) (xtbl[(unsigned int) (c)])
-/* C90: isxdigit(3) */
-#define IS_XDIGIT(c) (((c) >= '0' && (c) <= '9') || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F'))
 #define PARAM_SEP	"; \n"
-/* default parameters for Content-Type */
+/* default parameters for Content-Type; at least before RFC 6657 */
 #define CT_DEFPARMS	"charset=US-ASCII"
 
 /*
@@ -113,7 +114,7 @@ progress(
  */
 int
 content_type(
-	char *type)
+	const char *type)
 {
 	int i;
 
@@ -230,7 +231,7 @@ skip_space(
 	char *source)
 {
 	while ((*source) && ((*source == ' ') || (*source == '\t')))
-		source++;
+		++source;
 	return *source ? source : NULL;
 }
 
@@ -239,8 +240,9 @@ skip_space(
  * Removes comments and white space
  */
 static void
-remove_cwsp(
-	char *source)
+do_remove_cwsp(
+	char *source,
+	t_bool remove_wsp)
 {
 	char *from, *to, src;
 	int c_cnt = 0;
@@ -272,7 +274,7 @@ remove_cwsp(
 				--c_cnt;
 				continue;
 			}
-			if (c_cnt > 0 || src == ' ' || src == '\t')
+			if (c_cnt > 0 || (remove_wsp && (src == ' ' || src == '\t')))
 				continue;
 		}
 
@@ -294,6 +296,28 @@ remove_cwsp(
 }
 
 
+/*
+ * Removes comments
+ */
+void
+remove_comments(
+	char *source)
+{
+	do_remove_cwsp(source, FALSE);
+}
+
+
+/*
+ * Removes comments and white space
+ */
+static void
+remove_cwsp(
+	char *source)
+{
+	do_remove_cwsp(source, TRUE);
+}
+
+
 static char *
 get_token(
 	const char *source)
@@ -301,8 +325,8 @@ get_token(
 	char *dest = my_strdup(source);
 	char *ptr = dest;
 
-	while (isascii((int) *ptr) && isprint((int) *ptr) && *ptr != ' ' && !strchr(ATTRIBUTE_DELIMS, *ptr))
-		ptr++;
+	while (isascii((unsigned char) *ptr) && isprint((unsigned char) *ptr) && *ptr != ' ' && !strchr(ATTRIBUTE_DELIMS, *ptr))
+		++ptr;
 	*ptr = '\0';
 
 	return my_realloc(dest, strlen(dest) + 1);
@@ -319,7 +343,7 @@ get_quoted_string(
 
 	*dest = my_malloc(strlen(source) + 1);
 	ptr = *dest;
-	source++; /* skip over double quote */
+	++source; /* skip over double quote */
 	while (*source) {
 		if (*source == '\\') {
 			quote = TRUE;	/* next char as-is */
@@ -345,7 +369,7 @@ get_quoted_string(
  */
 static char *
 get_charset(
-	char *value)
+	const char *value)
 {
 	char *charset, *ptr;
 
@@ -380,7 +404,7 @@ decode_value(
 	size_t max_line_len = strlen(part->value);
 
 	/*
-	 * we prefer part->charset if present, even if rfc 2231
+	 * we prefer part->charset if present, even if RFC 2231
 	 * forbids different charsets for each part
 	 */
 	cset = part->charset ? part->charset : charset;
@@ -442,7 +466,8 @@ skip_equal_sign(
 /*
  * Parse a Content-* parameter list into a linked list
  * Ensure the ->params element is correctly initialised before calling
- * TODO: may still not catch everything permitted in the RFC
+ * TODO: may still not catch everything permitted in the RFC, see
+ * RFC 6266 4.3 (prefer "filename*" over "filename")
  */
 static void
 parse_params(
@@ -480,7 +505,7 @@ parse_params(
 
 		/* RFC 2231 Parameter Value Continuations */
 		if ((contp = strchr(name, '*')) && *(contp + 1) >= '0' && *(contp + 1) <= '9') {
-			idx = atoi(contp + 1);
+			idx = s2i(contp + 1, 0, INT_MAX);
 			*contp = '\0';
 		}
 
@@ -513,9 +538,9 @@ parse_params(
 
 		/* advance pointer to next parameter */
 		while ((*param) && (*param != ';'))
-			param++;
+			++param;
 		if (*param == ';')
-			param++;
+			++param;
 	}
 }
 
@@ -597,7 +622,8 @@ get_param(
 					FreeIfNeeded(charset);
 					charset = my_strdup(p_list->charset);
 				}
-				for (j = 0, c_list = list; c_list != NULL; c_list = c_list->next) {
+				j = 0;
+				for (c_list = list; c_list != NULL; c_list = c_list->next) {
 					if (strcasecmp(name, c_list->name) == 0) {
 						if (c_list->part < 0)
 							continue;
@@ -657,6 +683,76 @@ get_param(
 }
 
 
+#define IS_RESTRICTED_NAME_FIRST(c) (isalpha((unsigned char) c) || isdigit((unsigned char) c))
+#define IS_RESTRICTED_NAME_CHARS_SUFFIX(c) (IS_RESTRICTED_NAME_FIRST(c) || c == '!' || c == '#' || c == '$' || c == '&' || c == '-' || c == '^' || c == '_')
+#define IS_RESTRICTED_NAME_CHARS(c) (IS_RESTRICTED_NAME_CHARS_SUFFIX(c) || c == '.' || c == '+')
+/*
+ * RFC 6836
+ *
+ * [facet.]type[+suffix]
+ *  -----  ----  ------
+ *    |      |     |
+ *    |      |     +- after last plus: restricted-name-chars
+ *    |      |        without '.' (and '+' obviously)
+ *    |      +- restricted-name-chars
+ *    +- before first dot: restricted-name-first
+ *
+ * The syntax allows names of up to 127 characters, implementation
+ * limits may make such long names problematic. For this reason,
+ * the length SHOULD be limited to 64 characters.
+ */
+static t_bool
+	subtype_syntactically_valid(
+		char *subtype)
+{
+	char *ptr, *facet, *suffix, *type, *type_end;
+	size_t len;
+	t_bool facet_ok, suffix_ok, type_ok;
+
+	if ((len = strlen(subtype)) == 0 || len > 64)
+		return FALSE;
+
+	/* subtype must start with ALPHA or DIGIT and cannot end with '+' */
+	if (!IS_RESTRICTED_NAME_FIRST(*subtype) || *(subtype + len - 1) == '+')
+		return FALSE;
+
+	facet = suffix = NULL;
+	type = subtype;
+	facet_ok = suffix_ok = type_ok = TRUE;
+
+	type_end = type + len;
+
+	for (ptr = subtype; ptr < type_end && *ptr && *ptr != '.'; ptr++)
+		;
+	if (*ptr == '.') {
+		facet = type;
+		type = ptr + 1;
+	}
+
+	for (ptr = type + strlen(type); ptr > type && *ptr != '+'; ptr--)
+		;
+	if (*ptr == '+') {
+		suffix = ptr + 1;
+		type_end = ptr;
+	}
+
+	if (facet) {
+		for (ptr = facet; *ptr && *ptr != '.' && facet_ok; ptr++)
+			facet_ok = IS_RESTRICTED_NAME_FIRST(*ptr);
+	}
+
+	if (suffix) {
+		for (ptr = suffix; *ptr && suffix_ok; ptr++)
+			suffix_ok = IS_RESTRICTED_NAME_CHARS_SUFFIX(*ptr);
+	}
+	ptr = type;
+	for (len = type_end - type; len > 0 && *ptr && type_ok; len--, ptr++)
+		type_ok = IS_RESTRICTED_NAME_CHARS(*ptr);
+
+	return facet_ok && type_ok && suffix_ok;
+}
+
+
 /*
  * Split a Content-Type header into a t_part structure
  */
@@ -682,50 +778,102 @@ parse_content_type(
 	/*
 	 * Unrecognised type, treat according to RFC
 	 */
-	if ((i = content_type(type)) == -1) {
+	if ((i = content_type(type)) < 0) {
 		content->type = TYPE_APPLICATION;
 		free(content->subtype);
 		content->subtype = my_strdup("octet-stream");
+		content->mime_hints.flags |= MIME_TYPE_UNKNOWN;
 		return;
-	} else
+	} else {
 		content->type = (unsigned int) i;
+		free(content->mime_hints.type);
+		content->mime_hints.type = my_strdup(content_types[content->type]);
+		content->mime_hints.flags &= ~MIME_TYPE_UNKNOWN;
+	}
 
 	subtype = strtok(NULL, PARAM_SEP);
+	/* TODO: syntax check subtype; RFC2045 5.1; RFC 6838 4.2 */
 	/* save new subtype, or use pre-initialised value "plain" */
 	if (subtype != NULL) {				/* check for broken Content-Type: is header without a subtype */
-		free(content->subtype);				/* Pre-initialised to plain */
-		content->subtype = my_strdup(subtype);
-		str_lwr(content->subtype);
+		if (!strcasecmp("example", subtype) || !subtype_syntactically_valid(subtype)) {
+			content->mime_hints.flags &= ~MIME_SUBTYPE_MISSING;
+			free(content->mime_hints.subtype);
+			content->mime_hints.subtype = my_strdup(subtype);
+
+			switch (content->type) {
+				case TYPE_MULTIPART: /* RFC 2046 5.1.7 */
+					free(content->subtype);
+					content->subtype = my_strdup("mixed");
+					content->mime_hints.flags |= MIME_SUBTYPE_UNKNOWN;
+					break;
+
+				case TYPE_TEXT:	/* RFC 2046 4.1.4 */
+					/* as we don't know the charset yet ... */
+				case TYPE_IMAGE: /* RFC 2046 4.2 */
+				case TYPE_AUDIO: /* RFC 2046 4.3 */
+				case TYPE_VIDEO: /* RFC 2046 4.4 */
+				case TYPE_APPLICATION: /* RFC 2046 4.5.3 */
+				case TYPE_MESSAGE: /* RFC 2046 5.2.4 */
+				default:
+					content->type = TYPE_APPLICATION;
+					free(content->subtype);
+					content->subtype = my_strdup("octet-stream");
+					content->mime_hints.flags |= MIME_SUBTYPE_UNKNOWN;
+					break;
+			}
+		} else {
+			free(content->subtype);				/* Pre-initialised to plain */
+			content->subtype = my_strdup(subtype);
+			str_lwr(content->subtype);
+			free(content->mime_hints.subtype);
+			content->mime_hints.subtype = my_strdup(content->subtype);
+			content->mime_hints.flags &= ~MIME_SUBTYPE_MISSING;
+		}
 	}
 
 	/*
 	 * Parse any parameters into a list
 	 */
 	if ((params = strtok(NULL, "\n")) != NULL) {
+		const char *charset;
 		const char *format;
-#ifndef CHARSET_CONVERSION
 		char defparms[] = CT_DEFPARMS;	/* must be writable */
-#endif /* !CHARSET_CONVERSION */
 
 		parse_params(params, content);
-		if (!get_param(content->params, "charset")) {	/* add default charset if needed */
-#ifndef CHARSET_CONVERSION
+		charset = validate_charset(get_param(content->params, "charset"));
+
+		if (charset && *charset && content->type == TYPE_TEXT && charset_unsupported(charset)) {
+			content->mime_hints.flags &= ~MIME_CHARSET_MISSING;
+			content->mime_hints.flags |= MIME_CHARSET_UNSUPPORTED;
+			content->mime_hints.charset = my_strdup(charset);
 			parse_params(defparms, content);
-#else
-			if (curr_group->attribute->undeclared_charset) {
+			charset = get_param(content->params, "charset");
+		}
+
+		if (!charset || !*charset) {	/* add default charset if needed */
+#ifdef CHARSET_CONVERSION
+			if (curr_group->attribute->undeclared_charset && *curr_group->attribute->undeclared_charset && validate_charset(*curr_group->attribute->undeclared_charset)) {
 				char *charsetheader;
 
-				charsetheader = my_malloc(strlen(curr_group->attribute->undeclared_charset) + 9); /* 9=len('charset=\0') */
-				sprintf(charsetheader, "charset=%s", curr_group->attribute->undeclared_charset);
+				charsetheader = my_malloc(strlen(*curr_group->attribute->undeclared_charset) + 9); /* 9=len('charset=\0') */
+				sprintf(charsetheader, "charset=%s", *curr_group->attribute->undeclared_charset);
 				parse_params(charsetheader, content);
 				free(charsetheader);
-			} else {
-				char defparms[] = CT_DEFPARMS;	/* must be writable */
-
+				content->mime_hints.flags |= MIME_CHARSET_UNDECLARED;
+			} else
+#endif /* CHARSET_CONVERSION */
 				parse_params(defparms, content);
+
+		} else {
+#ifdef CHARSET_CONVERSION
+			if (!(content->mime_hints.flags & MIME_CHARSET_UNSUPPORTED))
+#endif /* CHARSET_CONVERSION */
+			{
+				content->mime_hints.flags &= ~MIME_CHARSET_MISSING;
+				content->mime_hints.charset = my_strdup(charset);
 			}
-#endif /* !CHARSET_CONVERSION */
 		}
+
 		if ((format = get_param(content->params, "format"))) {
 			if (!strcasecmp(format, "flowed"))
 				content->format = FORMAT_FLOWED;
@@ -778,7 +926,14 @@ parse_content_disposition(
 	/* Remove comments and white space */
 	remove_cwsp(disp);
 
-	strtok(disp, PARAM_SEP);
+	if ((ptr = strtok(disp, PARAM_SEP)) == NULL)
+		return;
+
+	if (strcasecmp(content_disposition[DISP_INLINE], ptr)) /* RFC 6266 4.2 */
+		part->disposition = DISP_ATTACHMENT;
+	else
+		part->disposition = DISP_INLINE;
+
 	if ((ptr = strtok(NULL, "\n")) == NULL)
 		return;
 
@@ -796,9 +951,7 @@ new_part(
 {
 	t_part *p;
 	t_part *ptr = my_malloc(sizeof(t_part));
-#ifndef CHARSET_CONVERSION
 	char defparms[] = CT_DEFPARMS;	/* must be writable */
-#endif /* !CHARSET_CONVERSION */
 
 	ptr->type = TYPE_TEXT;					/* Defaults per RFC */
 	ptr->subtype = my_strdup("plain");
@@ -806,29 +959,32 @@ new_part(
 	ptr->language = NULL;
 	ptr->encoding = ENCODING_7BIT;
 	ptr->format = FORMAT_FIXED;
+	ptr->disposition = DISP_NONE;
 	ptr->params = NULL;
 
-#ifndef CHARSET_CONVERSION
-	parse_params(defparms, ptr);
-#else
-	if (curr_group && curr_group->attribute->undeclared_charset) {
+#ifdef CHARSET_CONVERSION
+	if (curr_group && curr_group->attribute->undeclared_charset && *curr_group->attribute->undeclared_charset) {
 		char *charsetheader;
 
-		charsetheader = my_malloc(strlen(curr_group->attribute->undeclared_charset) + 9); /* 9=len('charset=\0') */
-		sprintf(charsetheader, "charset=%s", curr_group->attribute->undeclared_charset);
+		charsetheader = my_malloc(strlen(*curr_group->attribute->undeclared_charset) + 9); /* 9=len('charset=\0') */
+		sprintf(charsetheader, "charset=%s", *curr_group->attribute->undeclared_charset);
 		parse_params(charsetheader, ptr);
 		free(charsetheader);
-	} else {
-		char defparms[] = CT_DEFPARMS;	/* must be writable */
-
+	} else
+#endif /* CHARSET_CONVERSION */
+	{
 		parse_params(defparms, ptr);
 	}
-#endif /* !CHARSET_CONVERSION */
 
 	ptr->offset = 0;
 	ptr->line_count = 0;
 	ptr->bytes = 0;
 	ptr->depth = 0;							/* Not an embedded object (yet) */
+	ptr->mime_hints.flags = MIME_INIT;
+	ptr->mime_hints.type = my_strdup("None");
+	ptr->mime_hints.subtype = my_strdup("None");
+	ptr->mime_hints.charset = NULL;
+	ptr->mime_hints.encoding = NULL;
 	ptr->uue = NULL;
 	ptr->next = NULL;
 
@@ -858,6 +1014,10 @@ free_parts(
 	free(ptr->subtype);
 	FreeAndNull(ptr->description);
 	FreeAndNull(ptr->language);
+	FreeAndNull(ptr->mime_hints.type);
+	FreeAndNull(ptr->mime_hints.subtype);
+	FreeAndNull(ptr->mime_hints.charset);
+	FreeAndNull(ptr->mime_hints.encoding);
 	if (ptr->params)
 		free_list(ptr->params);
 	if (ptr->uue)
@@ -923,7 +1083,7 @@ parse_header(
 	/*
 	 * Does ': ' follow the header text?
 	 */
-	if (!(*ptr && *(ptr + 1) && *ptr == ':' && *(ptr + 1) == ' '))
+	if (*ptr != ':' || *(ptr + 1) != ' ')
 		return NULL;
 
 	/*
@@ -965,6 +1125,193 @@ parse_header(
 
 
 /*
+ * If display-name is not a quoted string, check whether
+ * specials are present. If so, make it a quoted string
+ * to avoid potentially dangerous strings.
+ * Example:
+ *     From: =?us-ascii?q?=3Ca=40example=2Ecom=3E=2C?= <b@example.org>
+ *  -> From: <a@example.com>, <b@example.org>
+ */
+static char *
+quote_display_name(
+	char *name)
+{
+	char *ptr, *to, *disp_name = NULL;
+	int quote_cnt = 2;
+	size_t len;
+	t_bool need_dquotes = FALSE, bslash_seen = FALSE;
+
+	if (!*name)
+		return NULL;
+
+	len = strlen(name);
+
+	/* check if name is already a quoted string */
+	if (len > 1 && *name == '"' && *(name + len - 1) == '"')
+		return NULL;
+
+	ptr = name;
+
+	while (*ptr) {
+		switch (*ptr) {
+			case '(':
+			case ')':
+			case '<':
+			case '>':
+			case '[':
+			case ']':
+			case ':':
+			case ';':
+			case '@':
+			case ',':
+			case '.':
+				need_dquotes = TRUE;
+				++ptr;
+				break;
+
+			case '\\':
+			case '"':
+				need_dquotes = TRUE;
+				++quote_cnt;
+				++ptr;
+				break;
+
+			default:
+				++ptr;
+				break;
+		}
+	}
+
+	if (need_dquotes) {
+		ptr = name;
+		to = disp_name = my_malloc(len + quote_cnt + 1);
+		*to++ = '"';
+		while (*ptr) {
+			/*
+			 * RFC 5322 Â§3.2.1
+			 * quoted-pair = ("\" (VCHAR / WSP))
+			 *
+			 * RFC 5234
+			 * WSP         = %x09, %x20 (HTAB, SP)
+			 * VCHAR       = %x21-7E
+			 *
+			 * '\' and '"' are only quoted if they are not already quoted
+			 * '\' as part of a quoted-pair is never quoted
+			 */
+			switch (*ptr) {
+				case '\\':
+					if (bslash_seen)
+						bslash_seen = FALSE;
+					else
+						bslash_seen = TRUE;
+					*to++ = *ptr++;
+					break;
+
+				case '"':
+					if (bslash_seen)
+						bslash_seen = FALSE;
+					else
+						*to++ = '\\';
+					*to++ = *ptr++;
+					break;
+
+				default:
+					if (bslash_seen && (*ptr == 0x09 || (*ptr >= 0x20 && *ptr <= 0x7E && *ptr != 0x21 && *ptr != 0x5C)))
+						bslash_seen = FALSE;
+					if (bslash_seen) {
+						*to++ = '\\';
+						bslash_seen = FALSE;
+					}
+					*to++ = *ptr++;
+					break;
+			}
+		}
+		*to++ = '"';
+		*to = '\0';
+	}
+
+	return disp_name;
+}
+
+
+char *
+parse_mb_list_header(
+	char *buf,
+	const char *pat)
+{
+	char addr[HEADER_LEN];
+	char name[HEADER_LEN];
+	char *tmp, *new_name, *disp_name, *ret, *curr_from, *next_from;
+	int type, c_needed = 0;
+	size_t plen = strlen(pat);
+	char *ptr = buf + plen;
+
+	/*
+	 * Does ': ' follow the header text?
+	 */
+	if (*ptr != ':' || *(ptr + 1) != ' ')
+		return NULL;
+
+	/*
+	 * If the header matches, skip past the ': ' and any leading whitespace
+	 */
+	if (strncasecmp(buf, pat, plen) != 0)
+		return NULL;
+
+	ptr += 2;
+
+	str_trim(ptr);
+	if (!*ptr)
+		return NULL;
+
+	tmp = curr_from = my_strdup(ptr);
+	ret = ptr;
+	*ptr = '\0';
+
+	do {
+		next_from = split_mailbox_list(curr_from);
+
+		if (c_needed++) {
+			strcat(ptr, ", ");
+			ptr += 2;
+		}
+
+		if (gnksa_split_from(curr_from, addr, name, &type) == GNKSA_OK) {
+			buffer_to_ascii(addr);
+
+			if (*name) {
+				disp_name = convert_to_printable(rfc1522_decode(name), FALSE);
+
+				if (type == GNKSA_ADDRTYPE_OLDSTYLE)
+					sprintf(ptr, "%s (%s)", addr, disp_name);
+				else {
+					/* check for problematic strings */
+					if ((new_name = quote_display_name(disp_name))) {
+						STRCPY(name, new_name);
+						free(new_name);
+						disp_name = name;
+					}
+					sprintf(ptr, "%s <%s>", disp_name, addr);
+				}
+			} else
+				strcpy(ptr, addr);
+		} else {
+			convert_to_printable(curr_from, FALSE);
+			strcat(ptr, str_trim(curr_from));
+		}
+
+		while (*ptr)
+			++ptr;
+
+		curr_from = next_from;
+	} while (curr_from);
+
+	free(tmp);
+	return ret;
+}
+
+
+/*
  * Read main article headers into a blank header structure.
  * Pass the data 'from' -> 'to' when reading via NNTP
  * Return tin_errno (basically will be !=0 if reading was 'q'uit)
@@ -994,7 +1341,7 @@ parse_rfc822_headers(
 		/*
 		 * End of headers ?
 		 */
-		if (line[0] == '\0') {
+		if (!*line) {
 			if (to)
 				hdr->ext->offset = ftell(to);	/* Offset of main body */
 
@@ -1003,6 +1350,7 @@ parse_rfc822_headers(
 				hdr->subj = my_strdup("");
 
 			if (hdr->ext->encoding == ENCODING_UNKNOWN) { /* RFC 2046 6.4 */
+				hdr->ext->mime_hints.flags |= MIME_TRANSFER_ENCODING_UNKNOWN;
 				hdr->ext->encoding = ENCODING_BINARY;
 				hdr->ext->type = TYPE_APPLICATION;
 				FreeIfNeeded(hdr->ext->subtype);
@@ -1017,22 +1365,22 @@ parse_rfc822_headers(
 		 *        loss (multiple Cc: lines are allowed, for example)
 		 */
 		unfold_header(line);
-		if ((ptr = parse_header(line, "From", TRUE, TRUE, FALSE))) {
+		if ((ptr = parse_mb_list_header(line, "From"))) {
 			FreeIfNeeded(hdr->from);
 			hdr->from = my_strdup(ptr);
 			continue;
 		}
-		if ((ptr = parse_header(line, "To", TRUE, TRUE, FALSE))) {
+		if ((ptr = parse_mb_list_header(line, "To"))) {
 			FreeIfNeeded(hdr->to);
 			hdr->to = my_strdup(ptr);
 			continue;
 		}
-		if ((ptr = parse_header(line, "Cc", TRUE, TRUE, FALSE))) {
+		if ((ptr = parse_mb_list_header(line, "Cc"))) {
 			FreeIfNeeded(hdr->cc);
 			hdr->cc = my_strdup(ptr);
 			continue;
 		}
-		if ((ptr = parse_header(line, "Bcc", TRUE, TRUE, FALSE))) {
+		if ((ptr = parse_mb_list_header(line, "Bcc"))) {
 			FreeIfNeeded(hdr->bcc);
 			hdr->bcc = my_strdup(ptr);
 			continue;
@@ -1052,7 +1400,7 @@ parse_rfc822_headers(
 			hdr->org = my_strdup(ptr);
 			continue;
 		}
-		if ((ptr = parse_header(line, "Reply-To", TRUE, TRUE, FALSE))) {
+		if ((ptr = parse_mb_list_header(line, "Reply-To"))) {
 			FreeIfNeeded(hdr->replyto);
 			hdr->replyto = my_strdup(ptr);
 			continue;
@@ -1104,17 +1452,23 @@ parse_rfc822_headers(
 			continue;
 		}
 #endif /* XFACE_ABLE */
-		/* TODO: check version */
-		if (parse_header(line, "MIME-Version", FALSE, FALSE, FALSE)) {
-			hdr->mime = TRUE;
+		if ((ptr = parse_header(line, "MIME-Version", FALSE, FALSE, FALSE))) {
+			remove_cwsp(ptr);
+			hdr->ext->mime_hints.flags &= ~MIME_VERSION_MISSING;
+			if (STRCMPEQ(ptr, MIME_SUPPORTED_VERSION)) /* TODO: record articles mime-version in t_hints? */
+				hdr->ext->mime_hints.flags &= ~MIME_VERSION_UNSUPPORTED;
+			hdr->mime = TRUE; /* set unconditionally for now as long as the header is there */
 			continue;
 		}
 		if ((ptr = parse_header(line, "Content-Type", FALSE, FALSE, FALSE))) {
+			hdr->ext->mime_hints.flags &= ~MIME_TYPE_MISSING;
 			parse_content_type(ptr, hdr->ext);
 			continue;
 		}
 		if ((ptr = parse_header(line, "Content-Transfer-Encoding", FALSE, FALSE, FALSE))) {
+			hdr->ext->mime_hints.flags &= ~MIME_TRANSFER_ENCODING_MISSING;
 			hdr->ext->encoding = parse_content_encoding(ptr);
+			hdr->ext->mime_hints.encoding = my_strdup(ptr);
 			continue;
 		}
 		if ((ptr = parse_header(line, "Content-Description", TRUE, FALSE, FALSE))) {
@@ -1153,7 +1507,7 @@ count_lines(
 
 	while ((c = *src++))
 		if (c == '\n')
-			lines++;
+			++lines;
 	return lines;
 }
 
@@ -1184,6 +1538,7 @@ unfold_header(
 #define M_BODY		3	/* In MIME body */
 
 #define TIN_EOF		0xf00	/* Used internally for error recovery */
+#define TIN_EOM		0xf000	/* Unexpected end of mime indicator */
 
 /*
  * Handles multipart/ article types, write data to a raw stream when reading via NNTP
@@ -1192,6 +1547,8 @@ unfold_header(
  * depth is the number of levels by which the current part is embedded
  * Returns a tin_errno value which is '&'ed with TIN_EOF if the end of the
  * article is reached (to prevent broken articles from hanging the NNTP socket)
+ * and with TIN_EOM if the end of the article is reached but no end boundary
+ * was seen
  */
 static int
 parse_multipart_article(
@@ -1298,10 +1655,7 @@ parse_multipart_article(
 			case M_HDR:
 				switch (bnd) {
 					case BOUND_START:
-#ifdef DEBUG
-						if (debug & DEBUG_MISC)
-							error_message(2, _(txt_error_mime_start));
-#endif /* DEBUG */
+						fprintf(artinfo->log, "%s", _(txt_error_mime_start));
 						continue;
 
 					case BOUND_NONE:
@@ -1344,11 +1698,14 @@ parse_multipart_article(
 /* fprintf(stderr, "HDR:%s\n", line); */
 				unfold_header(line);
 				if ((ptr = parse_header(line, "Content-Type", FALSE, FALSE, FALSE))) {
+					curr_part->mime_hints.flags &= ~MIME_TYPE_MISSING;
 					parse_content_type(ptr, curr_part);
 					break;
 				}
 				if ((ptr = parse_header(line, "Content-Transfer-Encoding", FALSE, FALSE, FALSE))) {
+					curr_part->mime_hints.flags &= ~MIME_TRANSFER_ENCODING_MISSING;
 					curr_part->encoding = parse_content_encoding(ptr);
+					curr_part->mime_hints.encoding = my_strdup(ptr);
 					break;
 				}
 				if ((ptr = parse_header(line, "Content-Disposition", FALSE, FALSE, FALSE))) {
@@ -1385,6 +1742,7 @@ parse_multipart_article(
 							is_rfc822 = FALSE;
 						}
 						if (curr_part && curr_part->encoding == ENCODING_UNKNOWN) { /* RFC 2046 6.4 */
+							curr_part->mime_hints.flags |= MIME_TRANSFER_ENCODING_UNKNOWN;
 							curr_part->encoding = ENCODING_BINARY;
 							curr_part->type = TYPE_APPLICATION;
 							FreeIfNeeded(curr_part->subtype);
@@ -1396,6 +1754,11 @@ parse_multipart_article(
 						break;
 				}
 				break;
+
+			default: /* should not happen */
+				/* CONSTANTCONDITION */
+				assert(0 != 0);
+				break;
 		} /* switch (state) */
 	} /* while() */
 
@@ -1403,7 +1766,7 @@ parse_multipart_article(
 	 * We only reach this point when we (unexpectedly) reach the end of the
 	 * article
 	 */
-	return tin_errno | TIN_EOF;		/* Flag EOF */
+	return tin_errno | TIN_EOF | TIN_EOM;		/* Flag EOF & EOM */
 }
 
 
@@ -1417,6 +1780,10 @@ parse_normal_article(
 	t_bool show_progress_meter)
 {
 	char *line;
+#if defined(CHARSET_CONVERSION) && defined(USE_ICU_UCSDET)
+	char *buffer = NULL;
+	char *guessed_charset = NULL;
+#endif /* CHARSET_CONVERSION && USE_ICU_UCSDET */
 
 	while ((line = tin_fgets(in, FALSE)) != NULL) {
 		if (read_news_via_nntp) {
@@ -1427,11 +1794,43 @@ parse_normal_article(
 #endif /* DEBUG && NNTP_ABLE */
 		}
 
+#if defined(CHARSET_CONVERSION) && defined(USE_ICU_UCSDET)
+		if ((artinfo->hdr.ext->mime_hints.flags & MIME_CHARSET_MISSING) && artinfo->hdr.ext->type == TYPE_TEXT && artinfo->hdr.ext->encoding != ENCODING_QP && artinfo->hdr.ext->encoding != ENCODING_BASE64 && curr_group->attribute->undeclared_cs_guess && !(curr_group->attribute->undeclared_charset && *curr_group->attribute->undeclared_charset))
+			buffer = append_to_string(buffer, line);
+#endif /* CHARSET_CONVERSION && USE_ICU_UCSDET */
+
 		++artinfo->hdr.ext->line_count;
 
 		if (show_progress_meter)
 			progress(artinfo->hdr.ext->line_count);
 	}
+#if defined(CHARSET_CONVERSION) && defined(USE_ICU_UCSDET)
+	if ((artinfo->hdr.ext->mime_hints.flags & MIME_CHARSET_MISSING) && artinfo->hdr.ext->type == TYPE_TEXT && artinfo->hdr.ext->encoding != ENCODING_QP && artinfo->hdr.ext->encoding != ENCODING_BASE64 && curr_group->attribute->undeclared_cs_guess && buffer && !(curr_group->attribute->undeclared_charset && *curr_group->attribute->undeclared_charset)) {
+		unsigned char *cp;
+		t_bool need_guess = FALSE;
+
+		for (cp = (unsigned char *) buffer; *cp; cp++) {
+			if (is_EIGHT_BIT(cp)) {
+				need_guess = TRUE;
+				break;
+			}
+		}
+		if (need_guess)
+			guessed_charset = guess_charset(buffer, 10); /* is 10 suitable? */
+		FreeIfNeeded(buffer);
+		if (guessed_charset) {
+			char *guessed_cs_hdr = my_malloc(strlen(guessed_charset) + 17); /* 17=len('guessed_charset=\0') */
+
+			sprintf(guessed_cs_hdr, "guessed_charset=%s", guessed_charset);
+			parse_params(guessed_cs_hdr, artinfo->hdr.ext);
+			free(guessed_cs_hdr);
+			free(guessed_charset);
+			artinfo->hdr.ext->mime_hints.flags |= MIME_CHARSET_GUESSED;
+			if ((artinfo->hdr.ext->mime_hints.flags & MIME_TRANSFER_ENCODING_MISSING) || (artinfo->hdr.ext->mime_hints.flags & MIME_TRANSFER_ENCODING_UNKNOWN))
+				artinfo->hdr.ext->encoding = ENCODING_8BIT;
+		}
+	}
+#endif /* CHARSET_CONVERSION && USE_ICU_UCSDET */
 	return tin_errno;
 }
 
@@ -1515,7 +1914,7 @@ parse_rfc2045_article(
 {
 	int ret = ART_ABORT;
 
-	if (read_news_via_nntp && !(artinfo->raw = tmpfile()))
+	if (read_news_via_nntp && !(artinfo->raw = my_tmpfile()))
 		goto error;
 
 	if (!read_news_via_nntp)
@@ -1541,10 +1940,10 @@ parse_rfc2045_article(
 			/* Strip off EOF condition if present */
 			if (ret & TIN_EOF) {
 				ret ^= TIN_EOF;
-#ifdef DEBUG
-				if (debug & DEBUG_MISC)
-					error_message(2, _(txt_error_mime_end), content_types[artinfo->hdr.ext->type], artinfo->hdr.ext->subtype);
-#endif /* DEBUG */
+				if (ret & TIN_EOM) {
+					fprintf(artinfo->log, _(txt_error_mime_end), content_types[artinfo->hdr.ext->type], artinfo->hdr.ext->subtype);
+					ret ^= TIN_EOM;
+				}
 				if (ret != 0)
 					goto error;
 			} else
@@ -1577,7 +1976,7 @@ error:
  */
 FILE *
 open_art_fp(
-	struct t_group *group,
+	const struct t_group *group,
 	t_artnum art)
 {
 	FILE *art_fp;
@@ -1588,8 +1987,9 @@ open_art_fp(
 
 		snprintf(buf, sizeof(buf), "ARTICLE %"T_ARTNUM_PFMT, art);
 		art_fp = nntp_command(buf, OK_ARTICLE, NULL, 0);
-	} else {
+	} else
 #endif /* NNTP_ABLE */
+	{
 		char buf[PATH_LEN];
 		char pbuf[PATH_LEN];
 		char fbuf[NAME_LEN + 1];
@@ -1601,10 +2001,8 @@ open_art_fp(
 		snprintf(fbuf, sizeof(fbuf), "%"T_ARTNUM_PFMT, art);
 		joinpath(pbuf, sizeof(pbuf), buf, fbuf);
 
-		art_fp = fopen(pbuf, "r");
-#ifdef NNTP_ABLE
+		art_fp = tin_fopen(pbuf, "r");
 	}
-#endif /* NNTP_ABLE */
 
 	return art_fp;
 }
@@ -1625,8 +2023,8 @@ open_art_fp(
 int
 art_open(
 	t_bool wrap_lines,
-	struct t_article *art,
-	struct t_group *group,
+	const struct t_article *art,
+	const struct t_group *group,
 	t_openartinfo *artinfo,
 	t_bool show_progress_meter,
 	const char *pmesg)
@@ -1642,6 +2040,11 @@ art_open(
 	fprintf(stderr, "art_open(%p)\n", (void *) artinfo);
 #endif /* DEBUG_ART */
 
+	if (!(artinfo->log = my_tmpfile())) {
+		TIN_FCLOSE(fp);
+		return ART_ABORT;
+	}
+
 	progress_mesg = pmesg;
 	if (parse_rfc2045_article(fp, art->line_count, artinfo, show_progress_meter) != 0) {
 		progress_mesg = NULL;
@@ -1651,7 +2054,9 @@ art_open(
 
 	/*
 	 * TODO: compare art->msgid and artinfo->hdr.messageid and issue a
-	 *       warning (once) about broken overviews if they differ
+	 *       warning (once) about broken overviews if they differ.
+	 *       unfortunately we currently clear art->msgid in
+	 *       build_references().
 	 */
 
 	if ((artinfo->tex2iso = ((group->attribute->tex2iso_conv) ? is_art_tex_encoded(artinfo->raw) : FALSE)))
@@ -1661,6 +2066,8 @@ art_open(
 	if (!cook_article(wrap_lines, artinfo, tinrc.hide_uue, FALSE))
 		return ART_ABORT;
 
+	log_article_info(artinfo);
+
 #ifdef DEBUG_ART
 	dump_art(artinfo);
 #endif /* DEBUG_ART */
@@ -1704,6 +2111,11 @@ art_close(
 		artinfo->cooked = NULL;
 	}
 
+	if (artinfo->log) {
+		fclose(artinfo->log);
+		artinfo->log = NULL;
+	}
+
 	FreeAndNull(artinfo->rawl);
 	FreeAndNull(artinfo->cookl);
 }
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/rfc2047.c tin-2.6.4/src/rfc2047.c
--- tin-2.6.3/src/rfc2047.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/rfc2047.c	2024-12-21 03:02:20.553070448 +0100
@@ -3,10 +3,10 @@
  *  Module    : rfc2047.c
  *  Author    : Chris Blum <chris@resolution.de>
  *  Created   : 1995-09-01
- *  Updated   : 2023-12-06
+ *  Updated   : 2024-12-21
  *  Notes     : MIME header encoding/decoding stuff
  *
- * Copyright (c) 1995-2024 Chris Blum <chris@resolution.de>
+ * Copyright (c) 1995-2025 Chris Blum <chris@resolution.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -61,7 +61,7 @@
 #	define isbetween(c, s) (isspace((unsigned char) c) || ((s) && ((c) == '(' || (c) == ')' || (c) == '"')))
 #else
 #	define my_isspace(c) ((c) == '\t' || (c) == '\n' || (c) == '\v' || (c) == '\f' || (c) == '\r' || (c) == ' ')
-#	define isbetween(c, s) (my_isspace(c) || ((s) && ((c) == '(' || (c) == ')' || (c) == '"')))
+#	define isbetween(c, s) (my_isspace((unsigned char) c) || ((s) && ((c) == '(' || (c) == ')' || (c) == '"')))
 #endif /* 0 */
 #define NOT_RANKED 255
 
@@ -103,7 +103,7 @@ static t_bool rfc1522_do_encode(char *wh
 static t_bool split_mail(const char *filename, FILE **headerfp, FILE **textfp);
 static unsigned hex2bin(int x);
 static void build_base64_rank_table(void);
-static void do_rfc15211522_encode(FILE *f, constext * mime_encoding, struct t_group *group, t_bool allow_8bit_header, t_bool ismail, t_bool contains_headers);
+static void do_rfc15211522_encode(FILE *f, constext *mime_encoding, struct t_group *group, t_bool allow_8bit_header, t_bool ismail, t_bool contains_headers);
 static void generate_mime_boundary(char *boundary, FILE *f, FILE *g);
 static void generate_random_mime_boundary(char *boundary, size_t len);
 static void str2b64(const char *from, char *to);
@@ -167,11 +167,11 @@ mmdecode(
 					*t++ = *what++;
 				else {
 					*t++ = ' ';
-					what++;
+					++what;
 				}
 				continue;
 			}
-			what++;
+			++what;
 			if (*what == delimiter)		/* failed */
 				return -1;
 
@@ -183,15 +183,15 @@ mmdecode(
 
 			hi = hex2bin(x);
 			lo = hex2bin(*what);
-			what++;
+			++what;
 			if (hi == 255 || lo == 255)
 				return -1;
 			x = (int) ((hi << 4) + lo);
-			*EIGHT_BIT(t)++ = (unsigned char) x;
+			*(unsigned char *) (t)++ = (unsigned char) x;
 		}
 		return (int) (t - where);
 	} else if (encoding == 'b') {		/* base64 */
-		static unsigned short pattern = 0;
+		static unsigned pattern = 0;
 		static int bits = 0;
 		unsigned char x;
 
@@ -255,8 +255,8 @@ rfc1522_decode(
 		buffer_len = (int) max_len;
 		buffer = my_malloc((size_t) buffer_len);
 	} else if (max_len > (size_t) buffer_len) {
-			buffer_len = (int) max_len;
-			buffer = my_realloc(buffer, (size_t) buffer_len);
+		buffer_len = (int) max_len;
+		buffer = my_realloc(buffer, (size_t) buffer_len);
 	}
 
 	t = buffer;
@@ -270,7 +270,20 @@ rfc1522_decode(
 #ifndef CHARSET_CONVERSION
 	process_charsets(&c, &max_len, "US-ASCII", tinrc.mm_local_charset, FALSE);
 #else
-	process_charsets(&c, &max_len, (CURR_GROUP.attribute->undeclared_charset) ? (CURR_GROUP.attribute->undeclared_charset) : "US-ASCII", tinrc.mm_local_charset, FALSE);
+	if (CURR_GROUP.attribute != NULL) {
+#	ifdef USE_ICU_UCSDET
+	if (CURR_GROUP.attribute->undeclared_cs_guess && !(CURR_GROUP.attribute->undeclared_charset && *CURR_GROUP.attribute->undeclared_charset)) {
+		char *guessed_charset;
+
+		if ((guessed_charset = guess_charset(c, 10)) != NULL) {
+			process_charsets(&c, &max_len, guessed_charset, tinrc.mm_local_charset, FALSE);
+			free(guessed_charset);
+		}
+	} else
+#	endif /* USE_ICU_UCSDET */
+		process_charsets(&c, &max_len, (CURR_GROUP.attribute->undeclared_charset && *CURR_GROUP.attribute->undeclared_charset) ? (*CURR_GROUP.attribute->undeclared_charset) : "US-ASCII", tinrc.mm_local_charset, FALSE);
+	} else
+		process_charsets(&c, &max_len, "US-ASCII", tinrc.mm_local_charset, FALSE);
 #endif /* !CHARSET_CONVERSION */
 	sc = c;
 
@@ -281,9 +294,9 @@ rfc1522_decode(
 
 				dd = c + 1;
 				while (isspace((unsigned char) *dd))
-					dd++;
+					++dd;
 				if (*dd == '=') {		/* brute hack, makes mistakes under certain circumstances comp. 6.2 */
-					c++;
+					++c;
 					continue;
 				}
 			}
@@ -296,7 +309,7 @@ rfc1522_decode(
 			char *e;
 
 			e = charset;
-			c++;
+			++c;
 			while (*c && *c != '?') {
 				/* skip over optional language tags (RFC 2231, RFC 5646) */
 				if (*c == '*') {
@@ -308,26 +321,24 @@ rfc1522_decode(
 			}
 			*e = '\0';
 			if (*c == '?') {
-				c++;
+				++c;
 				encoding = (char) my_tolower((unsigned char) *c);
 				if (encoding == 'b')
 					(void) mmdecode(NULL, 'b', 0, NULL);	/* flush */
 				if (*c)
-					c++;
+					++c;
 				if (*c == '?') {
-					c++;
+					++c;
 					if ((e = strchr(c, '?'))) {
-						int i;
+						int i = mmdecode(c, encoding, '?', t);
 
-						i = mmdecode(c, encoding, '?', t);
 						if (i > 0) {
 							char *tmpbuf;
 							int chars_to_copy;
 
-							max_len = (size_t) (i + 1);
-							tmpbuf = my_malloc(max_len);
-							strncpy(tmpbuf, t, (size_t) i);
-							*(tmpbuf + i) = '\0';
+							t[i] = '\0';
+							max_len = (size_t) (i);
+							tmpbuf = my_strndup(t, max_len);
 							process_charsets(&tmpbuf, &max_len, charset, tinrc.mm_local_charset, FALSE);
 							chars_to_copy = (int) strlen(tmpbuf);
 							if (chars_to_copy > buffer_len - (t - buffer) - 1)
@@ -335,9 +346,9 @@ rfc1522_decode(
 							strncpy(t, tmpbuf, (size_t) chars_to_copy);
 							free(tmpbuf);
 							t += chars_to_copy;
-							e++;
+							++e;
 							if (*e == '=')
-								e++;
+								++e;
 							d = c = e;
 							adjacentflag = TRUE;
 						}
@@ -368,12 +379,13 @@ str2b64(
 	unsigned long tmp;
 
 	while (*from) {
-		for (i = count = 0, tmp = 0; i < 3; i++)
+		for (i = count = tmp = 0; i < 3; i++) {
 			if (*from) {
 				tmp = (tmp << 8) | (unsigned long) (*from++ & 0x0ff);
-				count++;
+				++count;
 			} else
 				tmp = (tmp << 8) | (unsigned long) 0;
+		}
 
 		*to++ = base64_alphabet[(0x0fc0000 & tmp) >> 18];
 		*to++ = base64_alphabet[(0x003f000 & tmp) >> 12];
@@ -424,7 +436,7 @@ do_b_encode(
 	}
 
 	if ((len8 % 2) && !isbetween(*w, isstruct_head) && (*w))
-		t--;
+		--t;
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
 	*t = '\0';
@@ -458,16 +470,16 @@ which_encoding(
 #endif /* MIME_BREAK_LONG_LINES */
 
 	while (*w && isspace((unsigned char) *w))
-		w++;
+		++w;
 	while (*w) {
 		if (is_EIGHT_BIT(w))
-			nonprint++;
+			++nonprint;
 		if (!nonprint && *w == '=' && *(w + 1) == '?')
 			nonprint = 1;
 		if (*w == '=' || *w == '?' || *w == '_')
-			schars++;
-		chars++;
-		w++;
+			++schars;
+		++chars;
+		++w;
 	}
 	if (nonprint) {
 		if (chars + 2 * (nonprint + schars) /* QP size */ >
@@ -493,7 +505,7 @@ contains_nonprintables(
 
 	/* first skip all leading whitespaces */
 	while (*w && isspace((unsigned char) *w))
-		w++;
+		++w;
 
 	/* then check the next word */
 	while (!nonprint && *w && !isbetween(*w, isstruct_head)) {
@@ -509,7 +521,7 @@ contains_nonprintables(
 			if (strstr(w, "?=") != NULL)
 				nonprint = TRUE;
 		}
-		w++;
+		++w;
 	}
 	return nonprint;
 }
@@ -517,7 +529,7 @@ contains_nonprintables(
 
 /*
  * implement mandatory break-up of long lines in mail messages in accordance
- * with rfc 2047 (rfc 1522)
+ * with RFC 2047 (RFC 1522)
  */
 static int
 sizeofnextword(
@@ -527,9 +539,9 @@ sizeofnextword(
 
 	x = w;
 	while (*x && isspace((unsigned char) *x))
-		x++;
+		++x;
 	while (*x && !isspace((unsigned char) *x))
-		x++;
+		++x;
 	return (int) (x - w);
 }
 
@@ -586,7 +598,7 @@ rfc1522_do_encode(
 #endif /* MIME_BREAK_LONG_LINES */
 /*
  * the list of structured header fields where '(' and ')' are
- * treated specially in rfc 1522 encoding
+ * treated specially in RFC 1522 encoding
  */
 	static const char *struct_header[] = {
 		"Approved: ", "From: ", "Originator: ",
@@ -612,7 +624,7 @@ rfc1522_do_encode(
 	ew_taken_len = strlen(charset) + 7 /* =?c?E?d?= */;
 	while (*what) {
 		if (break_long_line)
-			word_cnt++;
+			++word_cnt;
 		/*
 		 * if a word with 8bit chars is broken in the middle, whatever
 		 * follows after the point where it's split should be encoded (i.e.
@@ -654,10 +666,10 @@ rfc1522_do_encode(
 #if 0
 					if (is_EIGHT_BIT(what) || (strchr(RFC2047_ESPECIALS, *what)))
 #else
-					if (is_EIGHT_BIT(what) || !isalnum((int)(unsigned char) *what))
+					if (is_EIGHT_BIT(what) || !isalnum((unsigned char) *what))
 #endif /* 0 */
 					{
-						snprintf(buf2, sizeof(buf2), "=%2.2X", *EIGHT_BIT(what));
+						snprintf(buf2, sizeof(buf2), "=%2.2X", *(unsigned char *) (what));
 						if ((size_t) (t - buffer + 3) >= bufferlen) {
 							/* buffer too small, double its size */
 							offset = (int) (t - buffer);
@@ -678,9 +690,9 @@ rfc1522_do_encode(
 							t = buffer + offset;
 						}
 						*t++ = *what;
-						ewsize++;
+						++ewsize;
 					}
-					what++;
+					++what;
 					/*
 					 * Be sure to encode at least one char, even if
 					 * that overflows the line limit, otherwise, we
@@ -717,7 +729,7 @@ rfc1522_do_encode(
 							t = buffer + offset;
 						}
 						*t++ = ' ';
-						ewsize++;
+						++ewsize;
 					}
 					quoting = FALSE;
 				} else {
@@ -732,15 +744,15 @@ rfc1522_do_encode(
 						}
 						if (*what == 32 /* not ' ', compare chapter 4! */ ) {
 							*t++ = '_';
-							ewsize++;
+							++ewsize;
 						} else {
-							snprintf(buf2, sizeof(buf2), "=%2.2X", *EIGHT_BIT(what));
+							snprintf(buf2, sizeof(buf2), "=%2.2X", *(unsigned char *) (what));
 							*t++ = buf2[0];
 							*t++ = buf2[1];
 							*t++ = buf2[2];
 							ewsize += 3;
 						}
-						what++;
+						++what;
 					}					/* end of while */
 				}						/* end of else */
 			} else {					/* end of Q encoding and beg. of B encoding */
@@ -778,12 +790,12 @@ rfc1522_do_encode(
 					*t++ = ' ';
 					ewsize += 3;
 					if (break_long_line)
-						word_cnt++;
+						++word_cnt;
 					rightafter_ew = FALSE;
 					any_quoting_done = TRUE;
 				}
 				rightafter_ew = TRUE;
-				word_cnt--;		/* compensate double counting */
+				--word_cnt;		/* compensate double counting */
 				/*
 				 * if encoded word is followed by 7bit-only fragment, we need to
 				 * eliminate ' ' inserted in while-block above
@@ -794,8 +806,8 @@ rfc1522_do_encode(
 				if (!contains_nonprintables(what, isstruct_head))
 #endif /* MIME_BREAK_LONG_LINES */
 				{
-					t--;
-					ewsize--;
+					--t;
+					--ewsize;
 				}
 			}		/* end of B encoding */
 		} else {
@@ -860,13 +872,13 @@ every "word" were a space ... */
 					column = 0;
 				}
 				if (c > buffer && !isspace((unsigned char) *(c - 1)))
-					word_cnt++;
+					++word_cnt;
 				*t++ = *c++;
-				column++;
+				++column;
 			} else
 				while (*c && !isspace((unsigned char) *c)) {
 					*t++ = *c++;
-					column++;
+					++column;
 				}
 		}
 		FreeIfNeeded(buffer);
@@ -920,7 +932,7 @@ rfc1522_encode(
 static void
 do_rfc15211522_encode(
 	FILE *f,
-	constext * mime_encoding,
+	constext *mime_encoding,
 	struct t_group *group,
 	t_bool allow_8bit_header,
 	t_bool ismail,
@@ -928,7 +940,7 @@ do_rfc15211522_encode(
 {
 	FILE *g;
 	char *c;
-	char *header;
+	char *tmp, *buf, *header;
 	char encoding;
 	char buffer[2048];
 	t_bool mime_headers_needed = FALSE;
@@ -941,17 +953,22 @@ do_rfc15211522_encode(
 		mmnwcharset = group->attribute->mm_network_charset;
 	else /* E-Mail */
 		mmnwcharset = tinrc.mm_network_charset;
+#else
+	(void) group;
 #endif /* CHARSET_CONVERSION */
 
-	if ((g = tmpfile()) == NULL)
+	if ((g = my_tmpfile()) == NULL)
 		return;
 
-	while (contains_headers && (header = tin_fgets(f, TRUE))) {
+	while (contains_headers && (header = ((tmp = tin_fgets(f, TRUE)) ? my_strdup(tmp) : NULL))) {
+		if (*header == '\0') {
+			free(header);
+			break;
+		}
+
 #ifdef CHARSET_CONVERSION
-		buffer_to_network(header, mmnwcharset);
+		buffer_to_network(&header, mmnwcharset);
 #endif /* CHARSET_CONVERSION */
-		if (*header == '\0')
-			break;
 
 		/*
 		 * TODO: - what about 8bit chars in the mentioned headers
@@ -960,52 +977,56 @@ do_rfc15211522_encode(
 		if (allow_8bit_header || (!strncasecmp(header, "References: ", 12) || !strncasecmp(header, "Message-ID: ", 12) || !strncasecmp(header, "Date: ", 6) || !strncasecmp(header, "Newsgroups: ", 12) || !strncasecmp(header, "Distribution: ", 14) || !strncasecmp(header, "Followup-To: ", 13) || !strncasecmp(header, "X-Face: ", 8) || !strncasecmp(header, "Cancel-Lock: ", 13) || !strncasecmp(header, "Cancel-Key: ", 12) || !strncasecmp(header, "Path: ", 6)))
 			fputs(header, g);
 		else {
-			char *p;
-
 #ifdef CHARSET_CONVERSION
-			p = rfc1522_encode(header, txt_mime_charsets[mmnwcharset], ismail);
+			buf = rfc1522_encode(header, txt_mime_charsets[mmnwcharset], ismail);
 #else
-			p = rfc1522_encode(header, tinrc.mm_charset, ismail);
+			buf = rfc1522_encode(header, tinrc.mm_charset, ismail);
 #endif /* CHARSET_CONVERSION */
 
-			fputs(p, g);
-			free(p);
+			fputs(buf, g);
+			free(buf);
 		}
 		fputc('\n', g);
+		free(header);
 	}
 
 	fputc('\n', g);
 
-	while (fgets(buffer, 2048, f)) {
+	while ((buf = ((tmp = tin_fgets(f, TRUE)) ? my_strdup(tmp) : NULL))) {
+		if (*buf) {
 #ifdef CHARSET_CONVERSION
-		buffer_to_network(buffer, mmnwcharset);
+			buffer_to_network(&buf, mmnwcharset);
 #endif /* CHARSET_CONVERSION */
-		fputs(buffer, g);
+			fputs(buf, g);
+		}
 		if (!allow_8bit_header) {
 			/* see if there are any 8bit chars in the body... */
-			for (c = buffer; *c && !isreturn(*c); c++) {
+			for (c = buf; *c && !isreturn(*c); c++) {
 				if (is_EIGHT_BIT(c)) {
 					mime_headers_needed = TRUE;
 					break;
 				}
 			}
 		}
+		fputc('\n', g);
+		free(buf);
 	}
 
 	rewind(g);
 	rewind(f);
 #ifdef HAVE_FTRUNCATE
-	if (ftruncate(fileno(f), 0) == -1) {
+	errno = 0;
+	i = fileno(f);
+	if (i == -1 || ftruncate(i, 0) == -1) {
 #	ifdef DEBUG
-		int e = errno;
 		if (debug & DEBUG_MISC)
-			error_message(2, "ftruncate(): Error: %s", strerror(e));
+			perror_message("ftruncate(%d)", i);
 #	endif /* DEBUG */
 	}
 #endif /* HAVE_FTRUNCATE */
 
 	/* copy header */
-	while (fgets(buffer, 2048, g) && !isreturn(buffer[0]))
+	while (fgets(buffer, sizeof(buffer), g) && !isreturn(buffer[0]))
 		fputs(buffer, f);
 
 	if (!allow_8bit_header) {
@@ -1043,11 +1064,11 @@ do_rfc15211522_encode(
 	fputc('\n', f);
 
 	if (!allow_8bit_header) {
-		if (!strcasecmp(mime_encoding, txt_base64))
+		if (!strcasecmp(mime_encoding, content_encodings[ENCODING_BASE64]))
 			encoding = 'b';
-		else if (!strcasecmp(mime_encoding, txt_quoted_printable))
+		else if (!strcasecmp(mime_encoding, content_encodings[ENCODING_QP]))
 			encoding = 'q';
-		else if (!strcasecmp(mime_encoding, txt_7bit))
+		else if (!strcasecmp(mime_encoding, content_encodings[ENCODING_7BIT]))
 			encoding = '7';
 		else
 			encoding = '8';
@@ -1058,13 +1079,13 @@ do_rfc15211522_encode(
 
 		body_encode = rfc1521_encode;
 
-		while (fgets(buffer, 2048, g))
+		while (fgets(buffer, sizeof(buffer), g))
 			body_encode(buffer, f, encoding);
 
 		if (encoding == 'b' || encoding == 'q' || encoding == '7')
 			body_encode(NULL, f, encoding);	/* flush */
 	} else {
-		while (fgets(buffer, 2048, g))
+		while (fgets(buffer, sizeof(buffer), g))
 			fputs(buffer, f);
 	}
 
@@ -1075,14 +1096,14 @@ do_rfc15211522_encode(
 void
 rfc15211522_encode(
 	const char *filename,
-	constext * mime_encoding,
+	constext *mime_encoding,
 	struct t_group *group,
 	t_bool allow_8bit_header,
 	t_bool ismail)
 {
 	FILE *fp;
 
-	if ((fp = fopen(filename, "r+")) == NULL)
+	if ((fp = tin_fopen(filename, "r+")) == NULL)
 		return;
 
 	do_rfc15211522_encode(fp, mime_encoding, group, allow_8bit_header, ismail, TRUE);
@@ -1104,9 +1125,9 @@ generate_random_mime_boundary(
 {
 	size_t i;
 
-	srand((unsigned int) time(NULL));
+	srndm();
 	for (i = 0; i < len - 1; i++)
-		boundary[i] = base64_alphabet[(size_t) rand() % sizeof(base64_alphabet)];
+		boundary[i] = base64_alphabet[(size_t) rndm() % sizeof(base64_alphabet)];
 	boundary[len - 1] = '\0';
 }
 
@@ -1174,11 +1195,11 @@ split_mail(
 	FILE *fp;
 	char *line;
 
-	if ((fp = fopen(filename, "r")) == NULL)
+	if ((fp = tin_fopen(filename, "r")) == NULL)
 		return FALSE;
 
 	/* Header */
-	if ((*headerfp = tmpfile()) == NULL) {
+	if ((*headerfp = my_tmpfile()) == NULL) {
 		fclose(fp);
 		return FALSE;
 	}
@@ -1192,7 +1213,7 @@ split_mail(
 
 	/* Body */
 	if (textfp != NULL) {
-		if ((*textfp = tmpfile()) == NULL) {
+		if ((*textfp = my_tmpfile()) == NULL) {
 			fclose(fp);
 			fclose(*headerfp);
 			return FALSE;
@@ -1239,7 +1260,7 @@ compose_mail_mime_forwarded(
 	FILE *textfp = NULL;
 	FILE *entityfp;
 	char *line;
-	constext* encoding = txt_mime_encodings[(group ? group->attribute->mail_mime_encoding : tinrc.mail_mime_encoding)];
+	constext *encoding = txt_mime_encodings[(group ? group->attribute->mail_mime_encoding : tinrc.mail_mime_encoding)];
 	t_bool allow_8bit_header = (group ? group->attribute->mail_8bit_header : tinrc.mail_8bit_header);
 	t_bool _8bit;
 
@@ -1255,21 +1276,18 @@ compose_mail_mime_forwarded(
 		rewind(textfp);
 		do_rfc15211522_encode(textfp, encoding, group, allow_8bit_header, TRUE, FALSE);
 		entityfp = compose_multipart_mixed(textfp, articlefp);	/* Compose top-level MIME entity */
+		fclose(textfp);
 	} else
 		entityfp = compose_message_rfc822(articlefp, &_8bit);
 
 	if (entityfp == NULL) {
 		fclose(headerfp);
-		if (textfp)
-			fclose(textfp);
 		return;
 	}
 
 	if ((fp = fopen(filename, "w")) == NULL) {
 		fclose(headerfp);
 		fclose(entityfp);
-		if (textfp)
-			fclose(textfp);
 		return;
 	}
 
@@ -1279,16 +1297,14 @@ compose_mail_mime_forwarded(
 		if (*line != '\0')
 			fprintf(fp, "%s\n", line);
 	}
+	fclose(headerfp);
 	fprintf(fp, txt_mime_version, MIME_SUPPORTED_VERSION);
 	rewind(entityfp);
 	copy_fp(entityfp, fp);
 
 	/* Clean up */
 	fclose(fp);
-	fclose(headerfp);
 	fclose(entityfp);
-	if (textfp)
-		fclose(textfp);
 }
 
 
@@ -1302,15 +1318,15 @@ compose_message_rfc822(
 {
 	FILE *fp;
 
-	if ((fp = tmpfile()) == NULL)
+	if ((fp = my_tmpfile()) == NULL)
 		return NULL;
 
 	*is_8bit = contains_8bit_characters(articlefp);
 
 	/* Header: CT, CD, CTE */
 	fprintf(fp, "%s", txt_mime_hdr_c_type_msg_rfc822);
-	fprintf(fp, "%s", txt_mime_hdr_c_disposition_inline);
-	fprintf(fp, txt_mime_hdr_c_transfer_encoding, *is_8bit ? txt_8bit : txt_7bit);
+	fprintf(fp, txt_mime_hdr_c_disposition, content_disposition[DISP_INLINE]);
+	fprintf(fp, txt_mime_hdr_c_transfer_encoding, *is_8bit ? content_encodings[ENCODING_8BIT] : content_encodings[ENCODING_7BIT]);
 	fputc('\n', fp);
 
 	/* Body: articlefp */
@@ -1335,7 +1351,7 @@ compose_multipart_mixed(
 	char *boundary;
 	t_bool requires_8bit;
 
-	if ((fp = tmpfile()) == NULL)
+	if ((fp = my_tmpfile()) == NULL)
 		return NULL;
 
 	/* First compose message/rfc822 part (needed for choosing the appropriate CTE) */
@@ -1352,7 +1368,7 @@ compose_multipart_mixed(
 	 */
 	generate_mime_boundary(boundary, textfp, articlefp);
 	fprintf(fp, txt_mime_hdr_c_type_multipart_mixed, boundary);
-	fprintf(fp, txt_mime_hdr_c_transfer_encoding, requires_8bit ? txt_8bit : txt_7bit);
+	fprintf(fp, txt_mime_hdr_c_transfer_encoding, requires_8bit ? content_encodings[ENCODING_8BIT] : content_encodings[ENCODING_7BIT]);
 	fputc('\n', fp);
 
 	/*
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/save.c tin-2.6.4/src/save.c
--- tin-2.6.3/src/save.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/save.c	2024-12-22 18:24:02.016176400 +0100
@@ -3,10 +3,10 @@
  *  Module    : save.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2023-11-24
+ *  Updated   : 2024-12-22
  *  Notes     :
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -46,9 +46,15 @@
 #endif /* !TCURSES_H */
 
 #ifdef HAVE_UUDEVIEW_H
+#	ifndef PROTOTYPES /* make -std=c23 work with that old code */
+#		define PROTOTYPES 666
+#	endif /* PROTOTYPES */
 #	ifndef __UUDEVIEW_H__
 #		include <uudeview.h>
 #	endif /* !__UUDEVIEW_H__ */
+#	if PROTOTYPES == 666
+#		undef PROTOTYPES
+#	endif /* PROTOTYPES */
 #endif /* HAVE_UUDEVIEW_H */
 
 #ifndef HAVE_LIBUU
@@ -79,7 +85,7 @@ static char *build_tree(int depth, int m
 static char *generate_savepath(t_part *part);
 static int build_part_list(t_openartinfo *art);
 static int get_tagged(int n);
-static int match_content_type(t_part *part, char *type);
+static int match_content_type(const t_part *part, char *type);
 static t_bool check_save_mime_type(t_part *part, const char *mime_types);
 static t_bool decode_save_one(t_part *part, FILE *rawfp, t_bool postproc);
 static t_bool expand_save_filename(char *outpath, size_t outpath_len, const char *path);
@@ -105,10 +111,6 @@ static void untag_all_parts(void);
 static void untag_part(int n);
 static void uudecode_line(const char *buf, FILE *fp);
 static void view_file(const char *path, const char *file);
-#ifndef HAVE_LIBUU
-	static void sum_file(const char *path, const char *file);
-#endif /* !HAVE_LIBUU */
-
 static int num_of_tagged_parts, info_len;
 static t_menu attmenu = { 0, 0, 0, show_attachment_page, draw_attachment_arrow, build_attachment_line };
 static t_partl *part_list;
@@ -168,15 +170,15 @@ check_start_save_any_news(
 		case SAVE_ANY_NEWS:
 			joinpath(logfile, sizeof(logfile), rcdir, "log");
 
-			if (no_write || (fp_log = fopen(logfile, "w")) == NULL) {
+			if ((fp_log = fopen(logfile, "w")) == NULL) {
 				perror_message(_(txt_cannot_open), logfile);
 				fp_log = stdout;
 				verbose = FALSE;
 			}
 			fprintf(fp_log, "To: %s\n", userid);
 			(void) time(&epoch);
-			snprintf(subject, sizeof(subject), "Subject: NEWS LOG %s", ctime(&epoch));
-			fprintf(fp_log, "%s\n", subject);	/* ctime() includes a \n too */
+			snprintf(subject, sizeof(subject), "Subject: NEWS LOG %s", BlankIfNull(str_trim(ctime(&epoch))));
+			fprintf(fp_log, "%s\n\n", subject);
 			break;
 
 		default:
@@ -207,7 +209,7 @@ check_start_save_any_news(
 			continue;
 
 		if (k && group->read_during_session) {
-			k--; /* just to make the test above faster once we've done the cmd-line grpups */
+			--k; /* just to make the test above faster once we've done the cmd-line grpups */
 			group->read_during_session = FALSE; /* reset in case we do NOT enter the group later */
 		}
 
@@ -219,7 +221,7 @@ check_start_save_any_news(
 				continue;
 			}
 
-			group_count++;
+			++group_count;
 			snprintf(buf, sizeof(buf), _(txt_saved_groupname), group->name);
 			fprintf(fp_log, "%s", buf);
 			if (verbose)
@@ -230,7 +232,7 @@ check_start_save_any_news(
 				char *group_path = my_malloc(strlen(group->name) + 2); /* trailing "/\0" */
 
 				make_group_path(group->name, group_path);
-				if (!strfpath((cmdline.args & CMDLINE_SAVEDIR) ? cmdline.savedir : tinrc.savedir, tmp, sizeof(tmp), group, FALSE))
+				if (!strfpath(cmdline.savedir ? cmdline.savedir : tinrc.savedir, tmp, sizeof(tmp), group, FALSE))
 					joinpath(tmp, sizeof(tmp), homedir, DEFAULT_SAVEDIR);
 
 				joinpath(path, sizeof(path), tmp, group_path);
@@ -259,9 +261,9 @@ check_start_save_any_news(
 				case CHECK_ANY_NEWS:
 					if (!verbose && !catchup) /* we don't need details */
 						return NEWS_AVAIL_EXIT;
-					art_count++;
+					++art_count;
 					if (arts[j].score >= tinrc.score_select)
-						hot_count++;
+						++hot_count;
 					if (catchup)
 						art_mark(group, &arts[j], ART_READ);
 					break;
@@ -288,7 +290,7 @@ check_start_save_any_news(
 						continue;
 					}
 
-					if ((function == MAIL_ANY_NEWS) && ((INTERACTIVE_NONE == tinrc.interactive_mailer) || (INTERACTIVE_WITH_HEADERS == tinrc.interactive_mailer))) {
+					if ((function == MAIL_ANY_NEWS) && (tinrc.interactive_mailer == INTERACTIVE_NONE || tinrc.interactive_mailer == INTERACTIVE_WITH_HEADERS)) {
 						fprintf(savefp, "To: %s\n", mail_news_user);
 						fprintf(savefp, "Subject: %s\n", arts[j].subject);
 						/*
@@ -319,7 +321,7 @@ check_start_save_any_news(
 
 					TIN_FCLOSE(artfp);
 					fclose(savefp);
-					saved_arts++;
+					++saved_arts;
 
 					if (function == MAIL_ANY_NEWS) {
 						strfmailer(mailer, arts[j].subject, mail_news_user, savefile, buf, sizeof(buf), tinrc.mailer_format);
@@ -337,9 +339,12 @@ check_start_save_any_news(
 
 		if (art_count) {
 			unread_news = TRUE;
-			if (verbose)
-				wait_message(0, _(txt_saved_group), art_count, hot_count,
+			if (verbose) {
+				char *tmp_hot_count = my_strdup(tin_ltoa(hot_count, 4));
+				wait_message(0, _(txt_saved_group), tin_ltoa(art_count, 4), tmp_hot_count,
 					PLURAL(art_count, txt_article), group->name);
+				free(tmp_hot_count);
+			}
 		}
 	}
 
@@ -399,6 +404,7 @@ open_save_filename(
 {
 	FILE *fp;
 	char keyappend[MAXKEYLEN], keyoverwrite[MAXKEYLEN], keyquit[MAXKEYLEN];
+	int i;
 	struct stat st;
 	t_function func;
 
@@ -407,11 +413,12 @@ open_save_filename(
 		return NULL;
 	}
 
-	if (fstat(fileno(fp), &st) != -1) {
+	i = fileno(fp);
+	if (i == -1 || fstat(i, &st) != -1) {
 		/*
 		 * Admittedly a special case hack, but it saves failing later on
 		 */
-		if (S_ISDIR(st.st_mode)) {
+		if (i == -1 || S_ISDIR(st.st_mode)) {
 			wait_message(2, _(txt_cannot_write_to_directory), path);
 			fclose(fp);
 			return NULL;
@@ -430,8 +437,22 @@ open_save_filename(
 			switch (func) {
 				case SAVE_OVERWRITE_FILE:
 					tinrc.default_save_mode = 'o';
-					if (!ftruncate(fileno(fp), 0L))
-						(void) fseek(fp, 0L, SEEK_SET);
+#ifdef HAVE_FTRUNCATE
+					errno = 0;
+					if (i == -1 || ftruncate(i, 0L)) {
+#	ifdef DEBUG
+						if (debug & DEBUG_MISC)
+							perror_message("ftruncate(%d)", i);
+#	endif /* DEBUG */
+					}
+#endif /* HAVE_FTRUNCATE */
+					errno = 0;
+					if (i == -1 || fseek(fp, 0L, SEEK_SET) == -1) {
+						perror_message("fseek(%d)", i);
+						fclose(fp);
+						wait_message(1, _(txt_art_not_saved));
+						return NULL;
+					}
 					break;
 
 				case GLOBAL_ABORT:
@@ -519,7 +540,7 @@ save_and_process_art(
 			snprintf(from, sizeof(from), "%s@%s", PATHMASTER, get_host_name());
 
 		(void) time(&epoch);
-		fprintf(fp, "From %s %s", from, ctime(&epoch));
+		fprintf(fp, "From %s %s\n", from, BlankIfNull(str_trim(ctime(&epoch))));
 		/*
 		 * TODO: add Content-Length: header when using MBOXO
 		 *       so tin actually write MBOXCL instead of MBOXO?
@@ -532,7 +553,7 @@ save_and_process_art(
 	 *       then at least in the (is_mailbox && !post_process && !mmdf)
 	 *       case it should be done.
 	 */
-	if (copy_fp(artinfo->raw, fp)) /* Write tailing newline or MMDF-mailbox separator */
+	if (copy_fp(artinfo->raw, fp) == 0) /* Write tailing newline or MMDF-mailbox separator */
 		print_art_separator_line(fp, is_mailbox);
 	else {
 		fclose(fp);
@@ -551,7 +572,7 @@ save_and_process_art(
 	save[num_save].file = strrchr(save[num_save].path, '/') + 1;	/* ptr to filename portion */
 	save[num_save].mailbox = CAST_BOOL(is_mailbox);
 /* fprintf(stderr, "SAPA (%s) (%s) mbox=%s\n", save[num_save].path, save[num_save].file, bool_unparse(save[num_save].mailbox)); */
-	num_save++;			/* NB: num_save is bumped here only */
+	++num_save;			/* NB: num_save is bumped here only */
 
 	/*
 	 * Extract/view parts from multipart articles if required
@@ -567,7 +588,7 @@ save_and_process_art(
 		scrollok(stdscr, FALSE);
 #	endif /* USE_CURSES */
 	}
-#else	/* silence compiler warning (unused parameter) */
+#else /* silence compiler warning (unused parameter) */
 	(void) post_process;
 #endif /* !HAVE_LIBUU */
 
@@ -593,7 +614,7 @@ create_path(
 		return ENOTDIR;
 
 	p = buf = my_strdup(path);
-	p++;
+	++p;
 
 	while ((p = strchr(p, '/')) != NULL) {
 		*p = '\0';
@@ -640,7 +661,6 @@ static char *
 generate_savepath(
 	t_part *part)
 {
-	char buf[2048];
 	char *savepath;
 	const char *name;
 	t_bool mbox;
@@ -650,6 +670,7 @@ generate_savepath(
 	 * Get the filename to save to in 'savepath'
 	 */
 	if ((name = get_filename(part->params)) == NULL) {
+		char buf[2048];
 		char extension[NAME_LEN + 1];
 
 		lookup_extension(extension, sizeof(extension), content_types[part->type], part->subtype);
@@ -702,7 +723,7 @@ expand_save_filename(
 	base_name(buf_path, base_filename);
 
 	/* Build default path to save to */
-	if (!(ret = strfpath((cmdline.args & CMDLINE_SAVEDIR) ? cmdline.savedir : curr_group->attribute->savedir, buf, sizeof(buf), curr_group, FALSE)))
+	if (!(ret = strfpath(cmdline.savedir ? cmdline.savedir : (curr_group->attribute->savedir && *curr_group->attribute->savedir) ? *curr_group->attribute->savedir : NULL, buf, sizeof(buf), curr_group, FALSE)))
 		joinpath(buf, sizeof(buf), homedir, DEFAULT_SAVEDIR);
 
 	/* Join path and filename */
@@ -788,6 +809,7 @@ post_process_uud(
 {
 	FILE *fp_in;
 	char file_out_dir[PATH_LEN];
+	char path[PATH_LEN];
 	const char *eptr;
 	int i;
 	int count;
@@ -803,7 +825,7 @@ post_process_uud(
 
 	UUSetOption(UUOPT_SAVEPATH, 0, file_out_dir);
 	for (i = 0; i < num_save; i++) {
-		if ((fp_in = fopen(save[i].path, "r")) != NULL) {
+		if ((fp_in = tin_fopen(save[i].path, "r")) != NULL) {
 			UULoadFile(save[i].path, NULL, 0);	/* Scans file for encoded data */
 			fclose(fp_in);
 		}
@@ -827,10 +849,9 @@ post_process_uud(
 
 	while (item != NULL) {
 		if (UUDecodeFile(item, NULL) == UURET_OK) {
-			char path[PATH_LEN];
 
 /* TODO: test for multiple things per article decoded okay? */
-			count++;
+			++count;
 			my_printf(_(txt_uu_success), item->filename);
 			my_printf(cCRLF);
 
@@ -840,7 +861,7 @@ post_process_uud(
 				view_file(path, strrchr(path, '/') + 1);
 			}
 		} else {
-			errors++;
+			++errors;
 			if (item->state & UUFILE_MISPART)
 				eptr = _(txt_libuu_error_missing);
 			else if (item->state & UUFILE_NOBEGIN)
@@ -855,7 +876,7 @@ post_process_uud(
 			my_printf(_(txt_uu_error_decode), (item->filename) ? item->filename : item->subfname, eptr);
 			my_printf(cCRLF);
 		}
-		i++;
+		++i;
 		item = UUGetFileListItem(i);
 		my_flush();
 	}
@@ -864,9 +885,9 @@ post_process_uud(
 	my_printf(cCRLF);
 	UUCleanUp();
 }
-
 #else
 
+
 /*
  * Open and read all the files in save[]
  * Scan for uuencode BEGIN lines, decode input as we go along
@@ -896,7 +917,7 @@ post_process_uud(
 	u[0] = '\0';
 
 	for (i = 0; i < num_save; i++) {
-		if ((fp_in = fopen(save[i].path, "r")) == NULL)
+		if ((fp_in = tin_fopen(save[i].path, "r")) == NULL)
 			continue;
 
 		while (fgets(s, (int) sizeof(s), fp_in) != NULL) {
@@ -992,7 +1013,6 @@ post_process_uud(
 
 				my_printf(_(txt_uu_success), filename);
 				my_printf(cCRLF);
-				sum_file(path, filename);
 				if (curr_group->attribute->post_process_view)
 					view_file(path, filename);
 				state = INITIAL;
@@ -1017,47 +1037,6 @@ post_process_uud(
 		my_printf(cCRLF);
 	}
 }
-
-
-/*
- * Sum file - why do we bother to do this?
- * nuke code or add DONT_HAVE_PIPING -tree
- */
-static void
-sum_file(
-	const char *path,
-	const char *file)
-{
-#	if defined(HAVE_SUM) && !defined(DONT_HAVE_PIPING)
-	FILE *fp_in;
-	char *ext;
-	char buf[LEN];
-
-	sh_format(buf, sizeof(buf), "%s \"%s\"", DEFAULT_SUM, path);
-	if ((fp_in = popen(buf, "r")) != NULL) {
-		buf[0] = '\0';
-
-		/*
-		 * You can't do this with (fgets != NULL)
-		 */
-		while (!feof(fp_in)) {
-			fgets(buf, (int) sizeof(buf), fp_in);
-			if ((ext = strchr(buf, '\n')) != NULL)
-				*ext = '\0';
-		}
-		fflush(fp_in);
-		pclose(fp_in);
-
-		my_printf(_(txt_checksum_of_file), file, file_size(path), _(txt_bytes));
-		my_printf(cCRLF);
-		my_printf("\t%s%s", buf, cCRLF);
-	} else {
-		my_printf(_(txt_command_failed), buf);
-		my_printf(cCRLF);
-	}
-	my_flush();
-#	endif /* HAVE SUM && !DONT_HAVE_PIPING */
-}
 #endif /* HAVE_LIBUU */
 
 
@@ -1104,9 +1083,7 @@ uudecode_line(
 {
 	const char *p = buf;
 	char ch;
-	int n;
-
-	n = DEC(*p);
+	int n = DEC(*p);
 
 	for (++p; n > 0; p += 4, n -= 3) {
 		if (n >= 3) {
@@ -1156,14 +1133,14 @@ post_process_sh(
 	snprintf(file_out, len, "%ssh%ld", file_out_dir, (long) process_id);
 
 	for (i = 0; i < num_save; i++) {
-		if ((fp_in = fopen(save[i].path, "r")) == NULL)
+		if ((fp_in = tin_fopen(save[i].path, "r")) == NULL)
 			continue;
 
 		wait_message(0, _(txt_extracting_shar), save[i].path);
 
 		while (fgets(buf, (int) sizeof(buf), fp_in) != NULL) {
 			/* find #!/bin/sh style patterns */
-			if ((fp_out == NULL) && match_regex_ex(buf, (int) strlen(buf), 0, 0, &shar_regex) >= 0)
+			if ((fp_out == NULL) && match_regex_ex(buf, (REGEX_SIZE) strlen(buf), 0, 0, &shar_regex) >= 0)
 				fp_out = fopen(file_out, "w");
 
 			/* write to temp file */
@@ -1270,7 +1247,7 @@ decode_save_one(
 	/*
 	 * Decode this message part if appropriate
 	 */
-	if (!(check_save_mime_type(part, curr_group->attribute->mime_types_to_save))) {
+	if (curr_group->attribute->mime_types_to_save && *curr_group->attribute->mime_types_to_save && !(check_save_mime_type(part, BlankIfNull(*curr_group->attribute->mime_types_to_save)))) {
 		/* TODO: skip message if saving multiple files (e.g. save 't'agged) */
 		wait_message(1, "Skipped %s/%s", content_types[part->type], part->subtype);	/* TODO: better msg */
 		return TRUE;
@@ -1309,14 +1286,14 @@ decode_save_one(
 			break;
 
 		/* This should catch cases where people illegally append text etc */
-		if (buf[0] == '\0')
+		if (!*buf)
 			break;
 
 		switch (part->encoding) {
 			case ENCODING_QP:
 			case ENCODING_BASE64:
-				count = mmdecode(buf, part->encoding == ENCODING_QP ? 'q' : 'b', '\0', buf2);
-				fwrite(buf2, (size_t) count, 1, fp);
+				if ((count = mmdecode(buf, part->encoding == ENCODING_QP ? 'q' : 'b', '\0', buf2)) > 0)
+					fwrite(buf2, (size_t) count, 1, fp);
 				break;
 
 			case ENCODING_UUE:
@@ -1388,7 +1365,7 @@ enum match {
  */
 static int
 match_content_type(
-	t_part *part,
+	const t_part *part,
 	char *type)
 {
 	char *subtype;
@@ -1537,9 +1514,10 @@ show_attachment_page(
 	void)
 {
 	char *attach_line;
-	char buf[BUFSIZ];
+	char *buf;
 	const char *charset;
 	int i, tmp_len, max_depth;
+	size_t blen;
 	t_part *part;
 
 	signal_context = cAttachment;
@@ -1550,11 +1528,20 @@ show_attachment_page(
 		attmenu.curr = 0;
 
 	info_len = max_depth = 0;
+
+#	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+	buf = my_malloc(MB_CUR_MAX * (size_t) (cCOLS + 1));
+	blen = MB_CUR_MAX * (size_t) cCOLS;
+#	else
+	buf = my_malloc(cCOLS + 1);
+	blen = (size_t) cCOLS;
+#	endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+
 	for (i = 0; i < attmenu.max; ++i) {
 		part = get_part(i);
 		charset = get_param(part->params, "charset");
 		attach_line = build_attach_line(part, 0, cCOLS - 2, 0, NULL, charset);
-		snprintf(buf, sizeof(buf), "  %s", attach_line);
+		snprintf(buf, blen, "  %s", attach_line);
 		FreeIfNeeded(attach_line);
 		tmp_len = strwidth(buf);
 		if (tmp_len > info_len)
@@ -1564,6 +1551,7 @@ show_attachment_page(
 		if (tmp_len > max_depth)
 			max_depth = tmp_len;
 	}
+	free(buf);
 	tmp_len = cCOLS - 13 - MIN((cCOLS - 13) / 2 + 10, max_depth * 2 + 1 + strwidth(_(txt_attachment_no_name)));
 	if (info_len > tmp_len)
 		info_len = tmp_len;
@@ -1710,9 +1698,8 @@ attachment_page(
 
 			case ATTACHMENT_TAG:
 				if (attmenu.max) {
-					t_bool tagged;
+					t_bool tagged = tag_part(attmenu.curr);
 
-					tagged = tag_part(attmenu.curr);
 					show_attachment_page();
 					if (attmenu.curr + 1 < attmenu.max)
 						move_down();
@@ -1836,9 +1823,9 @@ build_attachment_line(
 	 * make it the same size like in !USE_CURSES case to simplify some code
 	 */
 #	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-		sptr = my_malloc(cCOLS * MB_CUR_MAX + 2);
+		sptr = my_malloc((size_t) cCOLS * MB_CUR_MAX + 2);
 #	else
-		sptr = my_malloc(cCOLS + 2);
+		sptr = my_malloc((size_t) cCOLS + 2);
 #	endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 #else
 	sptr = screen[INDEX2SNUM(i)].col;
@@ -1915,7 +1902,7 @@ build_tree(
 		prefix_ptr -= maxlen - ++depth_level - 2 - odd;
 		while (prefix_ptr > maxlen - 2 - odd) {
 			if (depth_level < maxlen / 5)
-				depth_level++;
+				++depth_level;
 
 			prefix_ptr -= maxlen - depth_level - 2 - odd;
 			odd = (odd ? 0 : 1);
@@ -2003,7 +1990,7 @@ tag_pattern(
 	void)
 {
 	char buf[BUFSIZ];
-	char pat[128];
+	char pat[LEN];
 	char *prompt;
 	const char *name;
 	const char *charset;
@@ -2017,7 +2004,7 @@ tag_pattern(
 #endif /* 0 */
 
 	prompt = fmt_string(_(txt_select_pattern), tinrc.default_select_pattern);
-	if (!(prompt_string_default(prompt, tinrc.default_select_pattern, _(txt_info_no_previous_expression), HIST_SELECT_PATTERN))) {
+	if (!(prompt_string_ptr_default(prompt, &tinrc.default_select_pattern, _(txt_info_no_previous_expression), HIST_SELECT_PATTERN))) {
 		free(prompt);
 		return;
 	}
@@ -2227,6 +2214,8 @@ process_parts(
 			else {
 				savepath = get_tmpfilename(tmppath);
 				free(tmppath);
+				if (!savepath)
+					return;
 			}
 			if ((fp = open_save_filename(savepath, FALSE)) == NULL) {
 				free(savepath);
@@ -2235,6 +2224,7 @@ process_parts(
 			process_part(part, art, fp, savepath, what);
 			break;
 	}
+
 	switch (what) {
 		case SAVE_TAGGED:
 			wait_message(2, _(txt_attachments_saved), saved_parts, num_of_tagged_parts);
@@ -2269,8 +2259,7 @@ process_part(
 {
 	FILE *infile;
 	char buf[2048], buf2[2048];
-	int count;
-	int i, line_count;
+	int count, i, line_count;
 #ifdef CHARSET_CONVERSION
 	char *conv_buf;
 	const char *network_charset;
@@ -2297,6 +2286,7 @@ process_part(
 		 */
 		perror_message("%s:%d process_part(fseek(infile)) failed", __FILE__, __LINE__);
 #endif /* DEBUG */
+		fclose(outfile);
 		return;
 	}
 
@@ -2307,7 +2297,7 @@ process_part(
 			break;
 
 		/* This should catch cases where people illegally append text etc */
-		if (buf[0] == '\0')
+		if (!*buf)
 			break;
 
 		/*
@@ -2323,15 +2313,13 @@ process_part(
 			switch (part->encoding) {
 				case ENCODING_QP:
 				case ENCODING_BASE64:
-#ifdef CHARSET_CONVERSION
 					memset(buf2, '\0', sizeof(buf2));
-#endif /* CHARSET_CONVERSION */
 					if ((count = mmdecode(buf, part->encoding == ENCODING_QP ? 'q' : 'b', '\0', buf2)) > 0) {
 #ifdef CHARSET_CONVERSION
-						if (what != SAVE && what != SAVE_TAGGED && !strncmp(content_types[part->type], "text", 4)) {
+						if (what != SAVE && what != SAVE_TAGGED && part->type == TYPE_TEXT) {
+							network_charset = validate_charset(get_param(part->params, "charset"));
 							line_len = (size_t) count;
 							conv_buf = my_strdup(buf2);
-							network_charset = validate_charset(get_param(part->params, "charset"));
 							process_charsets(&conv_buf, &line_len, network_charset ? network_charset : "US-ASCII", tinrc.mm_local_charset, FALSE);
 							strncpy(buf2, conv_buf, sizeof(buf2) - 1);
 							count = (int) strlen(buf2);
@@ -2343,9 +2331,12 @@ process_part(
 					break;
 
 				case ENCODING_UUE:
-					/* TODO: if postproc, don't decode these since the traditional uudecoder will get them */
 					/*
-					 * x-uuencode attachments have all the header info etc which we must ignore
+					 * TODO: if postproc, don't decode these since the
+					 *       traditional uudecoder will get them
+					 *
+					 * x-uuencode attachments have all the header info etc
+					 * which we must ignore
 					 */
 					if (strncmp(buf, "begin ", 6) != 0 && strncmp(buf, "end\n", 4) != 0 && buf[0] != '\n')
 						uudecode_line(buf, outfile);
@@ -2353,7 +2344,7 @@ process_part(
 
 				default:
 #ifdef CHARSET_CONVERSION
-						if (what != SAVE && what != SAVE_TAGGED && !strncmp(content_types[part->type], "text", 4)) {
+						if (what != SAVE && what != SAVE_TAGGED && part->type == TYPE_TEXT) {
 							conv_buf = my_strdup(buf);
 							line_len = strlen(conv_buf);
 							network_charset = validate_charset(get_param(part->params, "charset"));
@@ -2397,13 +2388,12 @@ pipe_part(
 	char *prompt;
 
 	prompt = fmt_string(_(txt_pipe_to_command), (size_t) cCOLS - (strlen(_(txt_pipe_to_command)) + 30), tinrc.default_pipe_command);
-	if (!(prompt_string_default(prompt, tinrc.default_pipe_command, _(txt_no_command), HIST_PIPE_COMMAND))) {
+	if (!(prompt_string_ptr_default(prompt, &tinrc.default_pipe_command, _(txt_no_command), HIST_PIPE_COMMAND))) {
 		free(prompt);
 		return;
 	}
 	free(prompt);
-	if ((fp = fopen(savepath, "r")) == NULL)
-		/* TODO: error message? */
+	if ((fp = tin_fopen(savepath, "r")) == NULL) /* TODO: error message? */
 		return;
 	EndWin();
 	Raw(FALSE);
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/screen.c tin-2.6.4/src/screen.c
--- tin-2.6.3/src/screen.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/screen.c	2024-12-17 16:20:41.459466456 +0100
@@ -3,10 +3,10 @@
  *  Module    : screen.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2023-12-06
+ *  Updated   : 2024-12-13
  *  Notes     :
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -56,7 +56,7 @@ static FILE* msglog = NULL;
 	struct t_screen *screen;
 #endif /* !USE_CURSES */
 
-static void log_formatted_msg(const char* tag, const char *msg);
+static void log_formatted_msg(const char *tag, const char *msg);
 
 /*
  * Move the cursor to the lower-left of the screen, where it won't be annoying
@@ -142,6 +142,7 @@ wait_message(
 	...)
 {
 	char *buf, *msg;
+	size_t len = cCOLS - 1;
 	va_list ap;
 
 	va_start(ap, fmt);
@@ -154,17 +155,21 @@ wait_message(
 	buf = fmt_message(fmt, ap);
 	/* test for multiline messages */
 	if (strrchr(buf, '\n')) {
-		char *from, *to;
+		char *from, *to, *tmp;
 
 		for (from = buf; *from && (to = strchr(from, '\n')); from = ++to) {
 			*to = '\0';
-			msg = strunc(from, cCOLS - 1);
+			/* expand tabs in multiline msg, as we wrap anyway */
+			tmp = expand_tab(from, tabwidth);
+			/* and strunc would replace them */
+			msg = strunc(tmp, len);
+			free(tmp);
 			my_fputs(msg, stdout);
 			my_fputc('\n', stdout);
 			free(msg);
 		}
 	} else {
-		msg = strunc(buf, cCOLS - 1);
+		msg = strunc(buf, len);
 		my_fputs(msg, stdout);
 		free(msg);
 	}
@@ -311,9 +316,7 @@ center_line(
 {
 	char *ln;
 	int pos;
-	int len;
-
-	len = strwidth(str);
+	int len = strwidth(str);
 
 #if defined(HAVE_LIBICUUC) && defined(MULTIBYTE_ABLE) && defined(HAVE_UNICODE_UBIDI_H) && !defined(NO_LOCALE)
 	if (tinrc.render_bidi && IS_LOCAL_CHARSET("UTF-8") && len > 1) {
@@ -339,13 +342,14 @@ center_line(
 	}
 
 	if (len >= cCOLS) {
-		char *buffer;
+		char *buffer = strunc(ln, cCOLS - 2);
 
-		buffer = strunc(ln, cCOLS - 2);
-		my_fputs(buffer, stdout);
-		free(buffer);
-	} else
-		my_fputs(ln, stdout);
+		if (buffer != ln)
+			free(ln);
+
+		ln = buffer;
+	}
+	my_fputs(ln, stdout);
 
 	if (cmd_line)
 		my_flush();
@@ -376,12 +380,20 @@ draw_arrow_mark(
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 			my_fputs("->", stdout);
 	} else {
+		char *s;
 #ifdef USE_CURSES
-		char buffer[BUFSIZ];
-		char *s = screen_contents(line, 0, buffer);
+		char *buffer;
+
+#	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+		buffer = my_malloc(MB_CUR_MAX * (size_t) (cCOLS + 1));
+#	else
+		buffer = my_malloc(cCOLS + 1);
+#	endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+		s = screen_contents(line, 0, buffer);
 #else
-		char *s = screen[line - INDEX_TOP].col;
+		s = screen[line - INDEX_TOP].col;
 #endif /* USE_CURSES */
+
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 		if ((wtmp = char2wchar_t(s)) != NULL) {
 			StartInverse();
@@ -404,6 +416,9 @@ draw_arrow_mark(
 			my_fputc(s[mark_offset], stdout);
 		}
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+#ifdef USE_CURSES
+		free(buffer);
+#endif /* USE_CURSES */
 	}
 	stow_cursor();
 }
@@ -426,12 +441,17 @@ erase_arrow(
 	if (tinrc.draw_arrow)
 		my_fputs("  ", stdout);
 	else {
-#ifdef USE_CURSES
-		char buffer[BUFSIZ];
-		char *s = screen_contents(line, 0, buffer);
-#else
 		char *s;
+#ifdef USE_CURSES
+		char *buffer;
 
+#	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+		buffer = my_malloc(MB_CUR_MAX * (size_t) (cCOLS + 1));
+#	else
+		buffer = my_malloc(cCOLS + 1);
+#	endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+		s = screen_contents(line, 0, buffer);
+#else
 		if (line - INDEX_TOP < 0) /* avoid underruns */
 			line = INDEX_TOP;
 
@@ -458,6 +478,9 @@ erase_arrow(
 			EndInverse();
 		}
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+#ifdef USE_CURSES
+		free(buffer);
+#endif /* USE_CURSES */
 	}
 }
 
@@ -469,7 +492,7 @@ show_title(
 	char keyhelp[MAXKEYLEN];
 	char *helps;
 	const char *sign;
-	int col;
+	size_t col;
 
 	if (tinrc.show_help_mail_sign != SHOW_SIGN_NONE) {
 		col = MAXKEYLEN + strlen(_(txt_type_h_for_help)) + 1;
@@ -509,9 +532,9 @@ show_title(
 		}
 
 		if (sign) {
-			col = cCOLS - strwidth(sign);
-			if (col > 0) {
-				MoveCursor(0, col);
+			if (cCOLS > strwidth(sign)) {
+				col = cCOLS - strwidth(sign);
+				MoveCursor(0, (int) col);
 #ifdef HAVE_COLOR
 				fcol(tinrc.col_title);
 #endif /* HAVE_COLOR */
@@ -644,7 +667,7 @@ show_progress(
 		count_diff = (count - last_count);
 
 		if (!count_diff) /* avoid div by zero */
-			count_diff++;
+			++count_diff;
 
 		/*
 		 * Calculate a running average based on the last 20 samples. For the
@@ -790,8 +813,9 @@ log_formatted_msg(
 	const char *tag,
 	const char *msg)
 {
+	size_t len;
 
-	if (msglog == NULL || msg == NULL || strlen(msg) == 0)
+	if (msglog == NULL || msg == NULL || (len = strlen(msg)) == 0)
 		return;
 
 	if (tag)
@@ -799,7 +823,7 @@ log_formatted_msg(
 	else
 		fprintf(msglog, "%s", msg);
 
-	if (msg[strlen(msg) - 1] != '\n')
+	if (msg[len - 1] != '\n')
 		fputc('\n', msglog);
 
 	fflush(msglog);
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/search.c tin-2.6.4/src/search.c
--- tin-2.6.3/src/search.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/search.c	2024-12-04 18:08:40.268549678 +0100
@@ -3,10 +3,10 @@
  *  Module    : search.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2023-11-27
+ *  Updated   : 2024-12-04
  *  Notes     :
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -46,7 +46,7 @@
 /*
  * local prototypes
  */
-static char *get_search_pattern(t_bool *forward, t_bool repeat, const char *fwd_msg, const char *bwd_msg, char *def, int which_hist);
+static char *get_search_pattern(t_bool *forward, t_bool repeat, const char *fwd_msg, const char *bwd_msg, char **def, int which_hist);
 static int author_search(int i, char *searchbuf);
 static int body_search(int i, char *searchbuf);
 static int subject_search(int i, char *searchbuf);
@@ -99,7 +99,7 @@ get_search_pattern(
 	t_bool repeat,
 	const char *fwd_msg,
 	const char *bwd_msg,
-	char *def,
+	char **def,
 	int which_hist)
 {
 	static char tmpbuf[LEN];	/* Hold the last pattern used */
@@ -108,15 +108,16 @@ get_search_pattern(
 
 	if (repeat) {
 		*forward = last_forward;
-		my_strncpy(def, last_pattern, LEN);
+		FreeIfNeeded(*def);
+		*def = my_strdup(last_pattern);
 	} else {
-		snprintf(tmpbuf, sizeof(tmpbuf), (*forward ? fwd_msg : bwd_msg), def);
+		snprintf(tmpbuf, sizeof(tmpbuf), (*forward ? fwd_msg : bwd_msg), BlankIfNull(*def));
 
-		if (!prompt_string_default(tmpbuf, def, _(txt_no_search_string), which_hist))
+		if (!prompt_string_ptr_default(tmpbuf, def, _(txt_no_search_string), which_hist))
 			return NULL;
 
 		last_forward = *forward;
-		my_strncpy(last_pattern, def, LEN);
+		my_strncpy(last_pattern, *def, LEN);
 
 		/* HIST_BODY_SEARCH doesn't exist, hence last_search is set directly in search_body() */
 		if (which_hist == HIST_AUTHOR_SEARCH)
@@ -134,22 +135,27 @@ get_search_pattern(
 	if (IS_LOCAL_CHARSET("UTF-8")) {
 		char *tmp;
 
-		tmp = normalize(def);
-		my_strncpy(def, tmp, LEN);
+		tmp = normalize(*def);
+		FreeIfNeeded(*def);
+		*def = my_strdup(tmp);
 		free(tmp);
 	}
 #endif /* HAVE_UNICODE_NORMALIZATION */
 
 	if (tinrc.wildcard) {			/* ie, not wildmat() */
-		strcpy(def, quote_wild_whitespace(def));
-		return def;
+		char tmp[LEN];
+
+		STRCPY(tmp, *def);
+		FreeIfNeeded(*def);
+		*def = my_strdup(quote_wild_whitespace(tmp));
+		return *def;
 	}
 
 	/*
 	 * A gross hack to simulate substrings with wildmat()
 	 */
 /* TODO: somehow use REGEX_FMT here? */
-	snprintf(tmpbuf, sizeof(tmpbuf), "*%s*", def);
+	snprintf(tmpbuf, sizeof(tmpbuf), "*%s*", *def);
 	return tmpbuf;
 }
 
@@ -168,21 +174,25 @@ search_config(
 	enum option_enum n = current;
 	enum option_enum result = current;
 
-	if (!(pattern = get_search_pattern(&forward, repeat, _(txt_search_forwards), _(txt_search_backwards), tinrc.default_search_config, HIST_CONFIG_SEARCH)))
+	if (!(pattern = get_search_pattern(&forward, repeat, _(txt_search_forwards), _(txt_search_backwards), &tinrc.default_search_config, HIST_CONFIG_SEARCH)))
 		return result;
 
 	if (tinrc.wildcard && !(compile_regex(pattern, &search_regex, REGEX_CASELESS)))
 		return result;
 
 	do {
-		if (n == 0 && !forward)
-			n = last;
-		else {
-			if (n == last && forward)
+		if (forward) {
+			if (n == last)
 				n = 0;
 			else
-				n = (n + (enum option_enum) (forward ? 1 : -1));
+				++n;
+		} else {
+			if (n > 0)
+				--n;
+			else
+				n = last;
 		}
+
 		/* search only visible options */
 		if (option_is_visible(n)) {
 #ifdef HAVE_UNICODE_NORMALIZATION
@@ -230,21 +240,25 @@ generic_search(
 	t_url *urlptr;
 	t_posted *phptr;
 
-	if (!(pattern = get_search_pattern(&forward, repeat, _(txt_search_forwards), _(txt_search_backwards), tinrc.default_search_config, HIST_CONFIG_SEARCH)))
+	if (!(pattern = get_search_pattern(&forward, repeat, _(txt_search_forwards), _(txt_search_backwards), &tinrc.default_search_config, HIST_CONFIG_SEARCH)))
 		return result;
 
 	if (tinrc.wildcard && !(compile_regex(pattern, &search_regex, REGEX_CASELESS)))
 		return result;
 
 	do {
-		if (n == 0 && !forward)
-			n = last;
-		else {
-			if (n == last && forward)
+		if (forward) {
+			if (n == last)
 				n = 0;
 			else
-				n += (forward ? 1 : -1);
+				++n;
+		} else {
+			if (n > 0)
+				--n;
+			else
+				n = last;
 		}
+
 		switch (level) {
 			case ATTACHMENT_LEVEL:
 				part = get_part(n);
@@ -308,7 +322,7 @@ search_active(
 		return -1;
 	}
 
-	if (!(buf = get_search_pattern(&forward, repeat, _(txt_search_forwards), _(txt_search_backwards), tinrc.default_search_group, HIST_GROUP_SEARCH)))
+	if (!(buf = get_search_pattern(&forward, repeat, _(txt_search_forwards), _(txt_search_backwards), &tinrc.default_search_group, HIST_GROUP_SEARCH)))
 		return -1;
 
 	if (tinrc.wildcard && !(compile_regex(buf, &search_regex, REGEX_CASELESS)))
@@ -375,6 +389,9 @@ body_search(
 			art_close(&artinfo);
 			info_message(_(txt_no_match));
 			return 0;
+
+		default:
+			break;
 	}
 
 	/*
@@ -401,7 +418,7 @@ body_search(
 			line = my_strdup(tmp);
 
 		if (tinrc.wildcard) {
-			if (match_regex_ex(line, (int) strlen(line), 0, 0, &search_regex) >= 0) {
+			if (match_regex_ex(line, (REGEX_SIZE) strlen(line), 0, 0, &search_regex) >= 0) {
 				copy_offsets(srch_offsets, srch_offsets_size, &search_regex);
 				srch_lineno = i;
 				art_close(&pgart);		/* Switch the pager over to matched art */
@@ -423,7 +440,7 @@ body_search(
 				return 1;
 			}
 		}
-		i++;
+		++i;
 		free(line);
 	}
 
@@ -448,15 +465,14 @@ author_search(
 	char *searchbuf)
 {
 	char *buf, *tmp;
+	int len;
 
-	if (arts[i].name == NULL)
-		tmp = my_strdup(arts[i].from);
+	if (arts[i].mailbox.name == NULL)
+		tmp = my_strdup(arts[i].mailbox.from);
 	else {
-		int len;
-
-		len = snprintf(NULL, 0, "%s <%s>", arts[i].name, arts[i].from);
+		len = snprintf(NULL, 0, "%s <%s>", arts[i].mailbox.name, arts[i].mailbox.from);
 		tmp = my_malloc(++len);
-		snprintf(tmp, len, "%s <%s>", arts[i].name, arts[i].from);
+		snprintf(tmp, len, "%s <%s>", arts[i].mailbox.name, arts[i].mailbox.from);
 	}
 
 #ifdef HAVE_UNICODE_NORMALIZATION
@@ -545,10 +561,9 @@ search_group(
 			continue;
 
 		ret = search_func(i, searchbuff);
-		if (tinrc.wildcard && (ret == 1 || ret == -1)) {
-			/* we will exit soon, clean up */
+		if (tinrc.wildcard && (ret == 1 || ret == -1)) /* we will exit soon, clean up */
 			regex_cache_destroy(&search_regex);
-		}
+
 		switch (ret) {
 			case 1:								/* Found */
 				clear_message();
@@ -557,6 +572,7 @@ search_group(
 			case -1:							/* User abort */
 				return -1;
 		}
+
 #ifdef HAVE_SELECT
 		if (wait_for_input())	/* allow abort */
 			return -1;
@@ -584,7 +600,7 @@ search(
 	t_bool repeat)
 {
 	char *buf;
-	int (*search_func) (int i, char *searchbuff) = author_search;
+	int (*search_func) (int i, char *searchbuff);
 	t_bool forward;
 
 	if (func == GLOBAL_SEARCH_SUBJECT_FORWARD || func == GLOBAL_SEARCH_AUTHOR_FORWARD)
@@ -595,7 +611,7 @@ search(
 	switch (func) {
 		case GLOBAL_SEARCH_SUBJECT_FORWARD:
 		case GLOBAL_SEARCH_SUBJECT_BACKWARD:
-			if (!(buf = get_search_pattern(&forward, repeat, _(txt_search_forwards), _(txt_search_backwards), tinrc.default_search_subject, HIST_SUBJECT_SEARCH)))
+			if (!(buf = get_search_pattern(&forward, repeat, _(txt_search_forwards), _(txt_search_backwards), &tinrc.default_search_subject, HIST_SUBJECT_SEARCH)))
 				return -1;
 			search_func = subject_search;
 			break;
@@ -603,7 +619,7 @@ search(
 		case GLOBAL_SEARCH_AUTHOR_FORWARD:
 		case GLOBAL_SEARCH_AUTHOR_BACKWARD:
 		default:
-			if (!(buf = get_search_pattern(&forward, repeat, _(txt_author_search_forwards), _(txt_author_search_backwards), tinrc.default_search_author, HIST_AUTHOR_SEARCH)))
+			if (!(buf = get_search_pattern(&forward, repeat, _(txt_author_search_forwards), _(txt_author_search_backwards), &tinrc.default_search_author, HIST_AUTHOR_SEARCH)))
 				return -1;
 			search_func = author_search;
 			break;
@@ -629,11 +645,11 @@ search_article(
 {
 	char *pattern, *ptr, *tmp;
 	int i = start_line;
-	REGEX_SIZE tmp_srch_offsets[2] = {0, 0};
+	REGEX_SIZE tmp_srch_offsets[2] = { 0, 0 };
 	t_bool wrap = FALSE;
 	t_bool match = FALSE;
 
-	if (!(pattern = get_search_pattern(&forward, repeat, _(txt_search_forwards), _(txt_search_backwards), tinrc.default_search_art, HIST_ART_SEARCH)))
+	if (!(pattern = get_search_pattern(&forward, repeat, _(txt_search_forwards), _(txt_search_backwards), &tinrc.default_search_art, HIST_ART_SEARCH)))
 		return 0;
 
 	if (tinrc.wildcard && !(compile_regex(pattern, &search_regex, REGEX_CASELESS)))
@@ -673,7 +689,7 @@ search_article(
 			ptr = my_strdup(tmp);
 
 		if (tinrc.wildcard) {
-			while (match_regex_ex(ptr, (int) strlen(ptr), srch_offsets[1], REGEX_NOTEMPTY, &search_regex) >= 0) {
+			while (match_regex_ex(ptr, (REGEX_SIZE) strlen(ptr), srch_offsets[1], REGEX_NOTEMPTY, &search_regex) >= 0) {
 				copy_offsets(srch_offsets, srch_offsets_size, &search_regex);
 				match = TRUE;
 				if (forward)
@@ -709,13 +725,13 @@ search_article(
 				i = 0;
 				wrap = TRUE;
 			} else
-				i++;
+				++i;
 		} else {
 			if (i <= 0) {
 				i = lines - 1;
 				wrap = TRUE;
 			} else
-				i--;
+				--i;
 		}
 
 		/* search at the beginning of the line */
@@ -740,7 +756,7 @@ search_article(
  */
 int
 search_body(
-	struct t_group *group,
+	const struct t_group *group,
 	int current_art,
 	t_bool repeat)
 {
@@ -753,7 +769,7 @@ search_body(
 			repeat,
 			_(txt_search_body),
 			_(txt_search_body),
-			tinrc.default_search_art,
+			&tinrc.default_search_art,
 			HIST_ART_SEARCH
 	))) return -1;
 
@@ -769,7 +785,7 @@ search_body(
 	} else {
 		for_each_art(i) {
 			if (!IGNORE_ART(i))
-				total_cnt++;
+				++total_cnt;
 		}
 	}
 
@@ -784,14 +800,15 @@ search_body(
  */
 int
 get_search_vectors(
-	int *start,
-	int *end)
+	REGEX_SIZE *start,
+	REGEX_SIZE *end)
 {
 	int i = srch_lineno;
 
 	*start = srch_offsets[0];
 	*end = srch_offsets[1];
 	srch_lineno = -1;			/* We can only retrieve this info once */
+
 	return i;
 }
 
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/select.c tin-2.6.4/src/select.c
--- tin-2.6.3/src/select.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/select.c	2024-12-11 16:43:15.204882837 +0100
@@ -3,10 +3,10 @@
  *  Module    : select.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2023-11-15
+ *  Updated   : 2024-11-25
  *  Notes     :
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -70,7 +70,7 @@ static void subscribe_pattern(const char
 static void sync_active_file(void);
 static void yank_active_file(void);
 #ifdef NNTP_ABLE
-	static char *lookup_msgid(char *msgid);
+	static char *lookup_msgid(const char *msgid);
 	static struct t_group *get_group_from_list(char *newsgroups);
 #endif /* NNTP_ABLE */
 
@@ -104,7 +104,7 @@ select_right(
 }
 
 
-void
+_Noreturn void
 selection_page(
 	int start_groupnum,
 	int num_cmd_line_groups)
@@ -126,6 +126,20 @@ selection_page(
 	Raw(TRUE);
 	ClearScreen();
 
+#ifdef NNTP_ABLE
+	if (cmdline.msgid) { /* -L cmd */
+		switch (show_article_by_msgid(cmdline.msgid)) {
+			case LOOKUP_ART_UNAVAIL:
+				wait_message(2, _(txt_art_unavailable));
+				break;
+
+			default:
+				break;
+		}
+		FreeAndNull(cmdline.msgid);
+	}
+#endif /* NNTP_ABLE */
+
 	/*
 	 * If user specified only 1 cmd line groupname (eg. tin -r alt.sources)
 	 * then go there immediately.
@@ -134,6 +148,7 @@ selection_page(
 		select_read_group();
 
 	cursoroff();
+
 	show_selection_page();	/* display group selection page */
 
 	forever {
@@ -266,34 +281,36 @@ selection_page(
 				break;
 
 			case GLOBAL_EDIT_FILTER:
-				if (invoke_editor(filter_file, filter_file_offset, NULL))
-					(void) read_filter_file(filter_file);
-				show_selection_page();
+				if (no_write)
+					info_message(_(txt_info_no_write));
+				else {
+					if (invoke_editor(filter_file, filter_file_offset, NULL))
+						(void) read_filter_file(filter_file);
+					show_selection_page();
+				}
 				break;
 
 			case SELECT_TOGGLE_DESCRIPTIONS:	/* toggle newsgroup descriptions */
 				if (sel_fmt.show_grpdesc) {
-					show_description = bool_not(show_description);
-					if (show_description)
+					if ((show_description = bool_not(show_description)))
 						read_descriptions(TRUE);
+					need_parse_fmt |= SELECT_LEVEL;
 					show_selection_page();
 				} else
 					info_message(_(txt_grpdesc_disabled));
 				break;
 
 			case SELECT_GOTO:			/* prompt for a new group name */
-				{
-					int oldmax = selmenu.max;
+				i = selmenu.max;
 
-					if ((n = choose_new_group()) >= 0) {
-						/*
-						 * If a new group was added and it is on the actual screen
-						 * draw it. If it is off screen the redraw will handle it.
-						 */
-						if (oldmax != selmenu.max && n >= selmenu.first && n < selmenu.first + NOTESLINES)
-							build_gline(n);
-						move_to_item(n);
-					}
+				if ((n = choose_new_group()) >= 0) {
+					/*
+					 * If a new group was added and it is on the actual screen
+					 * draw it. If it is off screen the redraw will handle it.
+					 */
+					if (i != selmenu.max && n >= selmenu.first && n < selmenu.first + NOTESLINES)
+						build_gline(n);
+					move_to_item(n);
 				}
 				break;
 
@@ -335,6 +352,7 @@ selection_page(
 
 			case GLOBAL_TOGGLE_INVERSE_VIDEO:
 				toggle_inverse_video();
+				need_parse_fmt |= SELECT_LEVEL;
 				show_selection_page();
 				show_inverse_video_status();
 				break;
@@ -376,12 +394,7 @@ selection_page(
 				if (selmenu.curr < selmenu.first || selmenu.curr >= selmenu.first + NOTESLINES - 1 || selmenu.curr != n)
 					show_selection_page();
 				else {
-					i = selmenu.curr;
-					selmenu.curr = n;
-					erase_arrow();
-					selmenu.curr = i;
-					clear_message();
-					draw_group_arrow();
+					HpGlitch(draw_group_arrow());
 				}
 				break;
 
@@ -403,8 +416,10 @@ selection_page(
 				break;
 
 			case SELECT_QUIT_NO_WRITE:		/* quit, but don't save configuration */
-				if (prompt_yn(_(txt_quit_no_write), TRUE) == 1)
+				if (prompt_yn(_(txt_quit_no_write), TRUE) == 1) {
+					FreeAndNull(sel_fmt.str);
 					tin_done(EXIT_SUCCESS, NULL);
+				}
 				show_selection_page();
 				break;
 
@@ -469,7 +484,7 @@ selection_page(
 				}
 				if (CURR_GROUP.subscribed) {
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-					mark_screen(selmenu.curr, flags_offset, CURR_GROUP.newgroup ? L"N" : L"u");
+					mark_screen(selmenu.curr, flags_offset, CURR_GROUP.newgroup ? (const wchar_t *) L"N" : (const wchar_t *) L"u");
 #else
 					mark_screen(selmenu.curr, flags_offset, CURR_GROUP.newgroup ? "N" : "u");
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
@@ -508,14 +523,17 @@ selection_page(
 						info_message(_(txt_cannot_post));
 						break;
 					}
-					snprintf(buf, sizeof(buf), _(txt_post_newsgroups), tinrc.default_post_newsgroups);
-					if (!prompt_string_default(buf, tinrc.default_post_newsgroups, _(txt_no_newsgroups), HIST_POST_NEWSGROUPS))
+					snprintf(buf, sizeof(buf), _(txt_post_newsgroups), BlankIfNull(tinrc.default_post_newsgroups));
+					if (!prompt_string_ptr_default(buf, &tinrc.default_post_newsgroups, _(txt_no_newsgroups), HIST_POST_NEWSGROUPS))
+						break;
+					str_trim(tinrc.default_post_newsgroups);
+					if (!*tinrc.default_post_newsgroups)
 						break;
 					if (group_find(tinrc.default_post_newsgroups, FALSE) == NULL) {
 						error_message(2, _(txt_not_in_active_file), tinrc.default_post_newsgroups);
 						break;
 					} else {
-						strcpy(buf, tinrc.default_post_newsgroups);
+						STRCPY(buf, tinrc.default_post_newsgroups);
 #if 1 /* TODO: fix the rest of the code so we don't need this anymore */
 						/*
 						 * this is a gross hack to avoid a crash in the
@@ -533,7 +551,7 @@ selection_page(
 					}
 				} else
 					STRCPY(buf, CURR_GROUP.name);
-				if (!can_post && !CURR_GROUP.bogus && !CURR_GROUP.attribute->mailing_list) {
+				if (!can_post && !CURR_GROUP.bogus && !(CURR_GROUP.attribute->mailing_list && *CURR_GROUP.attribute->mailing_list)) {
 					info_message(_(txt_cannot_post));
 					break;
 				}
@@ -571,7 +589,7 @@ selection_page(
 				}
 				grp_mark_unread(&CURR_GROUP);
 				if (CURR_GROUP.newsrc.num_unread)
-					STRCPY(buf, tin_ltoa(CURR_GROUP.newsrc.num_unread, (int) sel_fmt.len_ucnt));
+					STRCPY(buf, tin_ltoa(CURR_GROUP.newsrc.num_unread, sel_fmt.len_ucnt));
 				else {
 					size_t j = 0;
 
@@ -605,14 +623,19 @@ show_selection_page(
 	int i, keyhelplen;
 	size_t len;
 	const char *secflag = "";
+	t_bool recalc = !sel_fmt.str || !groupname_len || (need_parse_fmt & SELECT_LEVEL);
 
 	signal_context = cSelect;
 	currmenu = &selmenu;
-	parse_format_string(tinrc.select_format, &sel_fmt);
-	groupname_len = 0;
-	flags_offset = 0;
-	mark_offset = 0;
-	ucnt_offset = 0;
+
+	if (recalc) {
+		parse_format_string(tinrc.select_format, &sel_fmt);
+		need_parse_fmt &= ~SELECT_LEVEL;
+		groupname_len = 0;
+		flags_offset = 0;
+		mark_offset = 0;
+		ucnt_offset = 0;
+	}
 
 	if (use_nntps) {
 		if (insecure_nntps)
@@ -653,41 +676,43 @@ show_selection_page(
 	show_title(title);
 	free(title);
 
-	if (sel_fmt.len_grpname_max && !sel_fmt.len_grpname) {
-		/*
-		 * calculate max length of groupname field
-		 * if yanked in (yanked_out == FALSE) check all groups in active file
-		 * otherwise just subscribed to groups
-		 */
-		if (yanked_out) {
-			for (i = 0; i < selmenu.max; i++) {
-				if ((len = (size_t) strwidth(active[my_group[i]].name)) > sel_fmt.len_grpname)
-					sel_fmt.len_grpname = len;
-			}
-		} else {
-			for_each_group(i) {
-				if ((len = (size_t) strwidth(active[i].name)) > sel_fmt.len_grpname)
-					sel_fmt.len_grpname = len;
+	if (recalc) {
+		if (sel_fmt.len_grpname_max && !sel_fmt.len_grpname) {
+			/*
+			* calculate max length of groupname field
+			* if yanked in (yanked_out == FALSE) check all groups in active file
+			* otherwise just subscribed to groups
+			*/
+			if (yanked_out) {
+				for (i = 0; i < selmenu.max; i++) {
+					if ((len = (size_t) strwidth(active[my_group[i]].name)) > sel_fmt.len_grpname)
+						sel_fmt.len_grpname = len;
+				}
+			} else {
+				for_each_group(i) {
+					if ((len = (size_t) strwidth(active[i].name)) > sel_fmt.len_grpname)
+						sel_fmt.len_grpname = len;
+				}
 			}
 		}
-	}
 
-	groupname_len = (sel_fmt.show_grpdesc && show_description) ? (int) sel_fmt.len_grpname_dsc : (int) sel_fmt.len_grpname;
+		groupname_len = (sel_fmt.show_grpdesc && show_description) ? (int) sel_fmt.len_grpname_dsc : (int) sel_fmt.len_grpname;
 
-	if (groupname_len > (int) sel_fmt.len_grpname_max)
-		groupname_len = (int) sel_fmt.len_grpname_max;
-	if (groupname_len < 0)
-		groupname_len = 0;
+		if (groupname_len > (int) sel_fmt.len_grpname_max)
+			groupname_len = (int) sel_fmt.len_grpname_max;
+		if (groupname_len < 0)
+			groupname_len = 0;
 
-	if (!sel_fmt.len_grpdesc)
-		sel_fmt.len_grpdesc = (sel_fmt.len_grpname_max - (size_t) groupname_len);
-	else {
-		if (sel_fmt.len_grpdesc > (sel_fmt.len_grpname_max - (size_t) groupname_len))
+		if (!sel_fmt.len_grpdesc)
 			sel_fmt.len_grpdesc = (sel_fmt.len_grpname_max - (size_t) groupname_len);
-	}
+		else {
+			if (sel_fmt.len_grpdesc > (sel_fmt.len_grpname_max - (size_t) groupname_len))
+				sel_fmt.len_grpdesc = (sel_fmt.len_grpname_max - (size_t) groupname_len);
+		}
 
-	flags_offset = (int) (sel_fmt.flags_offset + (size_t) (sel_fmt.g_before_f ? groupname_len : 0) + (sel_fmt.d_before_f ? sel_fmt.len_grpdesc : 0));
-	ucnt_offset = (int) (sel_fmt.ucnt_offset + (size_t) (sel_fmt.g_before_u ? groupname_len : 0) + (sel_fmt.d_before_u ? sel_fmt.len_grpdesc : 0));
+		flags_offset = (int) (sel_fmt.flags_offset + (size_t) (sel_fmt.g_before_f ? groupname_len : 0) + (sel_fmt.d_before_f ? sel_fmt.len_grpdesc : 0));
+		ucnt_offset = (int) (sel_fmt.ucnt_offset + (size_t) (sel_fmt.g_before_u ? groupname_len : 0) + (sel_fmt.d_before_u ? sel_fmt.len_grpdesc : 0));
+	}
 
 	for (i = selmenu.first; i < selmenu.first + NOTESLINES && i < selmenu.max; i++)
 		build_gline(i);
@@ -718,7 +743,7 @@ build_gline(
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 	char *name_buf = NULL;
 	char *desc_buf = NULL;
-	wchar_t *active_name, *active_name2, *active_desc, *active_desc2;
+	wchar_t *active_name, *active_name2 = NULL, *active_desc, *active_desc2;
 #else
 	char *active_name, *active_name2;
 	size_t fill, len_start;
@@ -730,15 +755,15 @@ build_gline(
 	 * make it the same size like in !USE_CURSES case to simplify the code
 	 */
 #	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-		sptr = my_malloc(cCOLS * MB_CUR_MAX + 2);
+		sptr = my_malloc((size_t) cCOLS * MB_CUR_MAX + 2);
 #	else
-		sptr = my_malloc(cCOLS + 2);
+		sptr = my_malloc((size_t) cCOLS + 2);
 #	endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 #else
 	sptr = screen[INDEX2SNUM(i)].col;
 #endif /* USE_CURSES */
 
-	sptr[0] = '\0';
+	*sptr = '\0';
 	fmt = sel_fmt.str;
 	n = my_group[i];
 
@@ -761,13 +786,12 @@ build_gline(
 			case 'd':
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 				if (show_description && active[n].description) {
-					active_desc = char2wchar_t(active[n].description);
-					if (active_desc) {
-						if ((active_desc2 = wcspart(active_desc, (int) sel_fmt.len_grpdesc, TRUE)) != NULL) {
+					if ((active_desc = char2wchar_t(active[n].description)) != NULL) {
+						if ((active_desc2 = wcspart(active_desc, sel_fmt.len_grpdesc, TRUE)) != NULL) {
 							desc_buf = wchar_t2char(active_desc2);
-							free(active_desc);
 							free(active_desc2);
 						}
+						free(active_desc);
 					}
 					if (desc_buf) {
 						strcat(sptr, desc_buf);
@@ -823,14 +847,17 @@ build_gline(
 				if (active_name && tinrc.abbreviate_groupname) {
 					active_name2 = abbr_wcsgroupname(active_name, groupname_len);
 					free(active_name);
-				} else
+				} else {
+					FreeIfNeeded(active_name2);
 					active_name2 = active_name;
+				}
 
 				if (active_name2 && (active_name = wcspart(active_name2, groupname_len, TRUE)) != NULL) {
-					free(active_name2);
 					name_buf = wchar_t2char(active_name);
 					free(active_name);
 				}
+				FreeAndNull(active_name2);
+
 				if (name_buf) {
 					strcat(sptr, name_buf);
 					FreeAndNull(name_buf);
@@ -850,7 +877,7 @@ build_gline(
 				break;
 
 			case 'n':
-				strcat(sptr, tin_ltoa(i + 1, (int) sel_fmt.len_linenumber));
+				strcat(sptr, tin_ltoa(i + 1, sel_fmt.len_linenumber));
 				break;
 
 			case 'U':
@@ -861,7 +888,7 @@ build_gline(
 					buf = sptr + strlen(sptr);
 					for (j = 1; j <= sel_fmt.len_ucnt - (art_mark_width - (art_mark_width - wcwidth(tinrc.art_marked_inrange))); ++j)
 						*buf++ = ' ';
-					snprintf(tmp_buf, sizeof(tmp_buf), "%"T_CHAR_FMT, tinrc.art_marked_inrange);
+					snprintf(tmp_buf, sizeof(tmp_buf), "%"T_CHAR_FMT, (wint_t) tinrc.art_marked_inrange);
 					*buf-- = '\0';
 					strcat(buf, tmp_buf);
 #else
@@ -879,7 +906,7 @@ build_gline(
 					num_unread = active[my_group[i]].newsrc.num_unread;
 					if (getart_limit > 0 && getart_limit < num_unread)
 						num_unread = getart_limit;
-					strcat(sptr, tin_ltoa(num_unread, (int) sel_fmt.len_ucnt));
+					strcat(sptr, tin_ltoa(num_unread, sel_fmt.len_ucnt));
 				} else {
 					buf = sptr + strlen(sptr);
 					for (j = 0; j < sel_fmt.len_ucnt; ++j)
@@ -942,6 +969,8 @@ yank_active_file(
 		return;
 	}
 
+	need_parse_fmt |= SELECT_LEVEL;
+
 	if (yanked_out) {						/* Yank in */
 		int i;
 		int prevmax = selmenu.max;
@@ -1001,8 +1030,7 @@ save_restore_curr_group(
 	 * Take a copy of the current groupname, if present
 	 */
 	if (saving) {
-		oldmax = selmenu.max;
-		if (oldmax)
+		if ((oldmax = selmenu.max))
 			oldgroup = my_strdup(CURR_GROUP.name);
 		return 0;
 	}
@@ -1049,9 +1077,9 @@ choose_new_group(
 	char *prompt;
 	int idx;
 
-	prompt = fmt_string(_(txt_newsgroup), tinrc.default_goto_group);
+	prompt = fmt_string(_(txt_newsgroup), BlankIfNull(tinrc.default_goto_group));
 
-	if (!(prompt_string_default(prompt, tinrc.default_goto_group, "", HIST_GOTO_GROUP))) {
+	if (!(prompt_string_ptr_default(prompt, &tinrc.default_goto_group, "", HIST_GOTO_GROUP))) {
 		free(prompt);
 		return -1;
 	}
@@ -1059,7 +1087,7 @@ choose_new_group(
 
 	str_trim(tinrc.default_goto_group);
 
-	if (tinrc.default_goto_group[0] == '\0')
+	if (!*tinrc.default_goto_group)
 		return -1;
 
 	clear_message();
@@ -1083,7 +1111,7 @@ skip_newgroups(
 
 	if (selmenu.max) {
 		while (i < selmenu.max && active[my_group[i]].newgroup)
-			i++;
+			++i;
 	}
 
 	return i;
@@ -1140,9 +1168,10 @@ reposition_group(
 	if (!prompt_string(buf, pos, HIST_MOVE_GROUP))
 		return default_num;
 
-	if (*pos)
-		pos_num = ((pos[0] == '$') ? selmenu.max : atoi(pos));
-	else {
+	if (*pos) {
+		if ((pos_num = ((pos[0] == '$') ? selmenu.max : s2i(pos, 1, selmenu.max))) == default_num)
+			return default_num;
+	} else {
 		if (tinrc.default_move_group)
 			pos_num = tinrc.default_move_group;
 		else
@@ -1374,7 +1403,7 @@ toggle_my_groups(
 	}
 #else
 	/* preserve group ordering based on newsrc */
-	if ((fp = fopen(newsrc, "r")) == NULL)
+	if ((fp = tin_fopen(newsrc, "r")) == NULL)
 		return;
 
 	while (fgets(buf, (int) sizeof(buf), fp) != NULL) {
@@ -1439,7 +1468,7 @@ subscribe_pattern(
 					my_group_add(active[i].name, FALSE);
 					grp_mark_unread(&active[i]);
 				}
-				subscribe_num++;
+				++subscribe_num;
 			}
 		}
 	}
@@ -1466,6 +1495,7 @@ select_quit(
 {
 	write_config_file(local_config_file);
 	ClearScreen();
+	FreeAndNull(sel_fmt.str);
 	tin_done(EXIT_SUCCESS, NULL);	/* Tin END */
 }
 
@@ -1488,7 +1518,7 @@ static void
 select_read_group(
 	void)
 {
-	static struct t_group *currgrp;
+	static const struct t_group *currgrp;
 
 	if (!selmenu.max || selmenu.curr == -1) {
 		info_message(_(txt_no_groups));
@@ -1515,7 +1545,7 @@ select_read_group(
  */
 static char *
 lookup_msgid(
-	char *msgid)
+	const char *msgid)
 {
 	if (read_news_via_nntp && !read_saved_news) {
 		if (!nntp_caps.hdr_cmd && !nntp_caps.xpat) {
@@ -1548,9 +1578,9 @@ lookup_msgid(
 								} else { /* DNEWS ("%d %s", num, grp) */
 									r = ptr;
 									while (*r && *r != ' ' && *r != '\t')
-										r++;
+										++r;
 									while (*r && (*r == ' ' || *r == '\t'))
-										r++;
+										++r;
 								}
 							}
 
@@ -1594,9 +1624,9 @@ lookup_msgid(
 			}
 
 			if (nntp_caps.xpat) {
+				x = NULL;
 				snprintf(buf, sizeof(buf), "XPAT Newsgroups %s *", msgid);
 				ret = new_nntp_command(buf, OK_HEAD, NULL, 0);
-				x = NULL;
 				switch (ret) {
 					case OK_HEAD:
 						while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) {
@@ -1652,11 +1682,12 @@ lookup_msgid(
  */
 int
 show_article_by_msgid(
-	char *messageid)
+	const char *messageid)
 {
 	char id[NNTP_STRLEN];	/* still way too big; RFC 3977 3.6 & RFC 5536 3.1.3 limit Message-ID to max 250 octets */
 	char *idptr = NULL;
 	char *newsgroups = NULL;
+	char *ngcpy, *cg, *ng;
 	int i, ret = 0;
 	struct t_article *art;
 	struct t_group *group = NULL;
@@ -1669,36 +1700,50 @@ show_article_by_msgid(
 		return LOOKUP_UNAVAIL;
 
 	if (messageid) {
-		idptr = messageid;
-		newsgroups = lookup_msgid(idptr);
+		/* sizeof(id) - 2 to have space for '>' later on if necessary */
+		if (snprintf(id + 1, sizeof(id) - 2, "%s", messageid) > 0)
+			idptr = str_trim(id + 1);
 	} else {
-		if (prompt_string(_(txt_enter_message_id), id + 1, HIST_MESSAGE_ID) && id[1]) {
+		if (prompt_string(_(txt_enter_message_id), id + 1, HIST_MESSAGE_ID) && id[1])
 			idptr = str_trim(id + 1);
-			if (id[1] != '<') {
-				id[0] = '<';
-				strcat(id, ">");
-				idptr = id;
-			}
-			newsgroups = lookup_msgid(idptr);
+	}
+
+	if (idptr) {
+		if (*idptr != '<') {
+			*(--idptr) = '<';
+			strcat(idptr, ">");
 		}
+		newsgroups = lookup_msgid(idptr);
 	}
 
 	if (!newsgroups)
 		return LOOKUP_ART_UNAVAIL;
 
-	if ((group = get_group_from_list(newsgroups)) == NULL) {
-		info_message(strchr(newsgroups, ',') ? _(txt_lookup_show_groups) : _(txt_lookup_show_group), newsgroups);
+	/* set selmenu.curr */
+	ng = ngcpy = my_strdup(newsgroups); /* take a copy for strtok */
+	while ((cg = strtok(ng, ",")) != NULL) {
+		if ((selmenu.curr = my_group_add(cg, FALSE)) != -1)
+			break;
+		ng = NULL;
+	}
+
+	if (selmenu.curr == -1 || !cg || (group = get_group_from_list(cg)) == NULL) {
+		if (!cmdline.msgid)
+			info_message(strchr(newsgroups, ',') ? _(txt_lookup_show_groups) : _(txt_lookup_show_group), newsgroups);
+		else /* -L cmd. */
+			wait_message(2, strchr(newsgroups, ',') ? _(txt_lookup_show_groups) : _(txt_lookup_show_group), newsgroups);
 		free(newsgroups);
+		free(ngcpy);
 		return LOOKUP_FAILED;
 	}
+	free(ngcpy);
 
 	if (curr_group)
 		tmp_group = curr_group;
 	curr_group = group;
 	num_of_tagged_arts = 0;
 	range_active = FALSE;
-	last_resp = -1;
-	this_resp = -1;
+	this_resp = last_resp = -1;
 	tmp_cache_overview_files = tinrc.cache_overview_files;
 	tinrc.cache_overview_files = FALSE;
 	tmp_show_only_unread_arts = curr_group->attribute->show_only_unread_arts;
@@ -1775,7 +1820,7 @@ get_group_from_list(
 {
 	char *ptr, *tr;
 	t_bool found = FALSE;
-	struct t_group *group = NULL;
+	struct t_group *group;
 
 	if (!newsgroups || (ptr = strtok(newsgroups, ",")) == NULL)
 		return NULL;
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/sigfile.c tin-2.6.4/src/sigfile.c
--- tin-2.6.3/src/sigfile.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/sigfile.c	2024-12-21 03:30:29.594849200 +0100
@@ -3,10 +3,10 @@
  *  Module    : sigfile.c
  *  Author    : M. Gleason & I. Lea
  *  Created   : 1992-10-17
- *  Updated   : 2021-07-26
+ *  Updated   : 2024-12-21
  *  Notes     : Generate random signature for posting/mailing etc.
  *
- * Copyright (c) 1992-2024 Mike Gleason
+ * Copyright (c) 1992-2025 Mike Gleason
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -70,7 +70,7 @@ msg_write_signature(
 #endif /* NNTP_INEWS */
 
 	if (thisgroup && !thisgroup->bogus) {
-		if (!strcmp(thisgroup->attribute->sigfile, "--none"))
+		if (!strcmp(*thisgroup->attribute->sigfile, "--none"))
 			return;
 
 		/*
@@ -78,17 +78,18 @@ msg_write_signature(
 		 *       use strfpath()?
 		 */
 #ifndef DONT_HAVE_PIPING
-		if (thisgroup->attribute->sigfile[0] == '!') {
+		if (*thisgroup->attribute->sigfile[0] == '!') {
 			FILE *pipe_fp;
 			char *sigcmd, *sigattr, *ptr;
 			char cmd[PATH_LEN];
 
 			fprintf(fp, "\n%s", thisgroup->attribute->sigdashes ? SIGDASHES : "");
-			sigattr = thisgroup->attribute->sigfile + 1;
+			sigattr = *thisgroup->attribute->sigfile + 1;
 
 			if ((ptr = strstr(sigattr, "%G"))) {
-				char *to, *grpname;
-				int cnt = 1;
+				const char *grpname;
+				char *to;
+				size_t cnt = 1;
 
 				/* check if %G occurs more than once */
 				while (strstr(++ptr, "%G"))
@@ -117,7 +118,7 @@ msg_write_signature(
 			}
 
 			if ((pipe_fp = popen(sigcmd, "r")) != NULL) {
-				while (fgets(cmd, PATH_LEN, pipe_fp))
+				while (fgets(cmd, sizeof(cmd), pipe_fp))
 					fputs(cmd, fp);
 				pclose(pipe_fp);
 			} /* else issue an error-message? */
@@ -128,7 +129,7 @@ msg_write_signature(
 #endif /* !DONT_HAVE_PIPING */
 		get_cwd(cwd);
 
-		if (!strfpath(thisgroup->attribute->sigfile, path, sizeof(path), thisgroup, FALSE)) {
+		if (!strfpath(*thisgroup->attribute->sigfile, path, sizeof(path), thisgroup, FALSE)) {
 			if (!strfpath(tinrc.sigfile, path, sizeof(path), thisgroup, FALSE))
 				joinpath(path, sizeof(path), homedir, ".Sig");
 		}
@@ -138,7 +139,7 @@ msg_write_signature(
 		 * generate a random signature from sigs in sigdir. If
 		 * the file path/.sigfixed or ~/.sigfixed exists (fixed
 		 * part of random sig) then read it in first and append
-		 * the random sig part onto the end.
+		 * the random sig part to the end.
 		 */
 		if ((sigfp = open_random_sig(path)) != NULL) {
 #ifdef DEBUG
@@ -151,7 +152,7 @@ msg_write_signature(
 			if (debug & DEBUG_MISC)
 				error_message(2, "TRYING fixed sig=[%s]", pathfixed);
 #endif /* DEBUG */
-			if ((fixfp = fopen(pathfixed, "r")) != NULL) {
+			if ((fixfp = tin_fopen(pathfixed, "r")) != NULL) {
 				copy_fp(fixfp, fp);
 				fclose(fixfp);
 			} else {
@@ -160,7 +161,7 @@ msg_write_signature(
 				if (debug & DEBUG_MISC)
 					error_message(2, "TRYING fixed sig=[%s]", pathfixed);
 #endif /* DEBUG */
-				if ((fixfp = fopen(pathfixed, "r")) != NULL) {
+				if ((fixfp = tin_fopen(pathfixed, "r")) != NULL) {
 					copy_fp(fixfp, fp);
 					fclose(fixfp);
 				}
@@ -169,15 +170,14 @@ msg_write_signature(
 			fclose(sigfp);
 			if (chdir(cwd) == -1) {
 #ifdef DEBUG
-				int e = errno;
 				if (debug & DEBUG_MISC)
-					error_message(2, "chdir(%s): Error: %s", cwd, strerror(e));
+					perror_message("chdir(%s)", cwd);
 #endif /* DEBUG */
 			}
 			return;
 		}
 
-		if ((sigfp = fopen(path, "r")) != NULL) {
+		if ((sigfp = tin_fopen(path, "r")) != NULL) {
 			fprintf(fp, "\n%s", thisgroup->attribute->sigdashes ? SIGDASHES : "");
 			copy_fp(sigfp, fp);
 			fclose(sigfp);
@@ -188,7 +188,7 @@ msg_write_signature(
 		 * Use ~/.signature as a last resort, but only if mailing or
 		 * using internal inews (external inews appends it automagically).
 		 */
-		if ((sigfp = fopen(default_signature, "r")) != NULL) {
+		if ((sigfp = tin_fopen(default_signature, "r")) != NULL) {
 			if (include_dot_signature) {
 				fprintf(fp, "\n%s", thisgroup->attribute->sigdashes ? SIGDASHES : "");
 				copy_fp(sigfp, fp);
@@ -203,7 +203,7 @@ static FILE *
 open_random_sig(
 	char *sigdir)
 {
-	srand((unsigned int) time(NULL));
+	srndm();
 
 	if (chdir(sigdir) == 0) {
 		if (thrashdir(sigdir) || !*sigfile) {
@@ -233,7 +233,7 @@ thrashdir(
 	DIR_BUF *dp;
 	char *cwd;
 	int safeguard, recurse;
-	int c = 0, numentries = 0, pick;
+	int c, numentries = 0, pick;
 	struct stat st;
 
 	sigfile[0] = '\0';
@@ -242,7 +242,7 @@ thrashdir(
 		return 1;
 
 	while (readdir(dirp) != NULL)
-		numentries++;
+		++numentries;
 
 	/*
 	 * consider "." and ".." non-entries
@@ -263,7 +263,8 @@ thrashdir(
 	 * to recurse, or else we might use a custom sig intended
 	 * for a specific newsgroup (and not this one).
 	 */
-	for (safeguard = 0, dp = NULL; safeguard < MAXLOOPS && dp == NULL; safeguard++) {
+	dp = NULL;
+	for (safeguard = 0; safeguard < MAXLOOPS && dp == NULL; safeguard++) {
 #ifdef DEBUG
 		if (debug & DEBUG_MISC)
 			error_message(2, "sig loop=[%d] recurse=[%d]", safeguard, recurse);
@@ -277,7 +278,7 @@ thrashdir(
 			return 1;
 		}
 #endif /* HAVE_REWINDDIR */
-		pick = rand() % numentries + 1;
+		pick = rndm() % numentries + 1;
 		while (--pick >= 0) {
 			if ((dp = readdir(dirp)) == NULL)
 				break;
@@ -309,9 +310,8 @@ thrashdir(
 							dp = NULL;
 							if (chdir(cwd) == -1) {
 #ifdef DEBUG
-								int e = errno;
 								if (debug & DEBUG_MISC)
-									error_message(2, "chdir(%s): Error: %s", cwd, strerror(e));
+									perror_message("chdir(%s)", cwd);
 #endif /* DEBUG */
 							}
 						}
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/signal.c tin-2.6.4/src/signal.c
--- tin-2.6.3/src/signal.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/signal.c	2024-11-25 20:40:37.847807386 +0100
@@ -3,10 +3,10 @@
  *  Module    : signal.c
  *  Author    : I.Lea
  *  Created   : 1991-04-01
- *  Updated   : 2023-11-12
+ *  Updated   : 2024-11-21
  *  Notes     : signal handlers for different modes and window resizing
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -106,6 +106,7 @@ static void _CDECL signal_handler(SIG_AR
 
 int signal_context = cMain;
 int input_context = cNone;
+int need_parse_fmt;
 int need_resize = cNo;
 /*
  * # lines of non-static data available for display
@@ -230,7 +231,7 @@ signal_name(
 	int code)
 {
 	size_t n;
-	const char *name = "unknown";
+	const char *name = txt_unknown;
 
 	for (n = 0; n < ARRAY_SIZE(signal_list); n++) {
 		if (signal_list[n].code == code) {
@@ -269,12 +270,14 @@ handle_resize(
 #	ifdef USE_CURSES
 #		ifdef HAVE_RESIZETERM
 	resizeterm(cLINES + 1, cCOLS);
-	my_retouch();					/* seems necessary if win size unchanged */
-#		else
-	my_retouch();
 #		endif /* HAVE_RESIZETERM */
+	my_retouch();
 #	endif /* USE_CURSES */
 
+	need_parse_fmt |= SELECT_LEVEL;
+	need_parse_fmt |= GROUP_LEVEL;
+	need_parse_fmt |= THREAD_LEVEL;
+
 	switch (signal_context) {
 		case cArt:
 			ClearScreen();
@@ -334,6 +337,7 @@ handle_resize(
 		case cMain:
 			break;
 	}
+
 	switch (input_context) {
 		case cGetline:
 			gl_redraw();
@@ -355,6 +359,7 @@ handle_resize(
 		default:
 			break;
 	}
+
 	my_fflush(stdout);
 	redraw_after_suspend = FALSE;
 #endif /* SIGWINCH || SIGTSTP */
@@ -380,7 +385,7 @@ handle_suspend(
 		Raw(FALSE);
 	}
 
-	wait_message(0, _(txt_suspended_message), tin_progname);
+	my_fprintf(stdout, _(txt_suspended_message), tin_progname); /* stderr? */
 
 	kill(0, SIGSTOP);				/* Put ourselves to sleep */
 
@@ -406,6 +411,7 @@ static void _CDECL
 signal_handler(
 	int sig)
 {
+	int serrno = errno;
 #ifdef SIGCHLD
 #	ifdef HAVE_TYPE_UNIONWAIT
 	union wait wait_status;
@@ -419,6 +425,7 @@ signal_handler(
 #ifdef SIGINT
 		case SIGINT:
 			RESTORE_HANDLER(sig, signal_handler);
+			errno = serrno;
 			return;
 #endif /* SIGINT */
 
@@ -429,37 +436,23 @@ signal_handler(
 #if defined(HAVE_ALARM) && defined(SIGALRM)
 		case SIGALRM:
 #	ifdef NNTP_ABLE
-#	ifdef DEBUG
-			if ((debug & DEBUG_NNTP) && verbose > 1)
-				debug_print_file("NNTP", "get_server() %d sec elapsed without response", TIN_NNTP_TIMEOUT);
-#	endif /* DEBUG */
-
-#	ifdef USE_ZLIB
+#		ifdef USE_ZLIB
 			/*
 			 * response compression from the server may take a while
 			 * when running interactively and not being in connection
 			 * phase give the user a chance to go on instead of exiting
 			 */
-			{
-				char *prompt;
-				size_t len;
-
-				len = strlen(_(txt_read_timeout_quit)) + snprintf(NULL, 0, "%d", tinrc.nntp_read_timeout_secs) - 1;
-				prompt = my_malloc(len);
-				snprintf(prompt, len, _(txt_read_timeout_quit), tinrc.nntp_read_timeout_secs);
-				if (signal_context == cReconnect || batch_mode || !use_compress || !nntp_caps.compress || prompt_yn(prompt, FALSE) == 1) {
-					free(prompt);
-#	endif /* USE_ZLIB */
-					tin_done(NNTP_ERROR_EXIT, _(txt_connection_error));
-#	ifdef USE_ZLIB
-				} else {
-					free(prompt);
-					RESTORE_HANDLER(sig, signal_handler);
-					wait_message(0, _(txt_continuing));
-				}
+			if (signal_context == cReconnect || batch_mode || !use_compress || !nntp_caps.compress || prompt_yn(_(txt_read_timeout_quit), FALSE) == 1)
+				tin_done(NNTP_ERROR_EXIT, _(txt_connection_error));
+			else {
+				RESTORE_HANDLER(sig, signal_handler);
+				my_fprintf(stdout, "%s", _(txt_continuing));
 			}
-#	endif /* USE_ZLIB */
+#		else
+			tin_done(NNTP_ERROR_EXIT, _(txt_connection_error));
+#		endif /* USE_ZLIB */
 #	endif /* NNTP_ABLE */
+			errno = serrno;
 			return;
 #endif /* HAVE_ALARM && SIGALRM */
 
@@ -468,12 +461,14 @@ signal_handler(
 			wait(&wait_status);
 			RESTORE_HANDLER(sig, signal_handler);	/* death of a child */
 			system_status = WIFEXITED(wait_status) ? WEXITSTATUS(wait_status) : 0;
+			errno = serrno;
 			return;
 #endif /* SIGCHLD */
 
 #ifdef SIGTSTP
 		case SIGTSTP:
 			handle_suspend();
+			errno = serrno;
 			return;
 #endif /* SIGTSTP */
 
@@ -481,14 +476,16 @@ signal_handler(
 		case SIGWINCH:
 			need_resize = cYes;
 			RESTORE_HANDLER(sig, signal_handler);
+			errno = serrno;
 			return;
 #endif /* SIGWINCH */
 
 #ifdef SIGUSR2
 		case SIGUSR2:
 			if (!no_write) /* TODO: add more config-files to be saved */
-				write_newsrc();
+				write_newsrc(); /* TODO: uses signal-unsafe calls */
 			RESTORE_HANDLER(sig, signal_handler);
+			errno = serrno;
 			return;
 #endif /* SIGUSR2 */
 
@@ -496,7 +493,7 @@ signal_handler(
 			break;
 	}
 
-	fprintf(stderr, "\n%s: signal handler caught %s signal (%d).\n", tin_progname, signal_name(sig), sig);
+	my_fprintf(stderr, "\n%s: signal handler caught %s signal (%d).\n", tin_progname, signal_name(sig), sig);
 
 	switch (sig) {
 #ifdef SIGHUP
@@ -510,7 +507,7 @@ signal_handler(
 #endif /* SIGTERM */
 #if defined(SIGHUP) || defined(SIGUSR1) || defined(SIGTERM)
 			dangerous_signal_exit = TRUE;
-			tin_done(-sig, NULL);
+			tin_done(-sig, NULL); /* NOTE: a lot of signal-unsafe calls in tin_done() */
 			/* NOTREACHED */
 			break;
 #endif /* SIGHUP || SIGUSR1 || SIGTERM */
@@ -525,7 +522,6 @@ signal_handler(
 		case SIGBUS:
 #	endif /* SIGBUS */
 #endif /* SIGSEGV */
-
 #if defined(SIGBUS) || defined(SIGSEGV)
 			my_fprintf(stderr, _(txt_send_bugreport), tin_progname, VERSION, RELEASEDATE, RELEASENAME, bug_addr);
 			my_fflush(stderr);
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/snprintf.c tin-2.6.4/src/snprintf.c
--- tin-2.6.3/src/snprintf.c	1970-01-01 01:00:00.000000000 +0100
+++ tin-2.6.4/src/snprintf.c	2024-11-25 20:40:37.851807543 +0100
@@ -0,0 +1,1049 @@
+/*
+ * snprintf.c - a portable implementation of snprintf
+ *
+ * AUTHOR
+ *   Mark Martinec <mark.martinec@ijs.si>, April 1999.
+ *
+ *   Copyright 1999, Mark Martinec. All rights reserved.
+ *
+ * TERMS AND CONDITIONS
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the "Frontier Artistic License" which comes
+ *   with this Kit.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty
+ *   of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *   See the Frontier Artistic License for more details.
+ *
+ *   You should have received a copy of the Frontier Artistic License
+ *   with this Kit in the file named LICENSE.txt .
+ *   If not, I'll be glad to provide one.
+ *
+ * FEATURES
+ * - careful adherence to specs regarding flags, field width and precision;
+ * - good performance for large string handling (large format, large
+ *   argument or large paddings). Performance is similar to system's sprintf
+ *   and in several cases significantly better (make sure you compile with
+ *   optimizations turned on, tell the compiler the code is strict ANSI
+ *   if necessary to give it more freedom for optimizations);
+ * - return value semantics per ISO/IEC 9899:1999 ("ISO C99");
+ * - written in standard ISO/ANSI C - requires an ANSI C compiler.
+ *
+ * SUPPORTED CONVERSION SPECIFIERS AND DATA TYPES
+ *
+ * This snprintf only supports the following conversion specifiers:
+ * s, c, d, u, o, x, X, p  (and synonyms: i, D, U, O - see below)
+ * with flags: '-', '+', ' ', '0' and '#'.
+ * An asterisk is supported for field width as well as precision.
+ *
+ * Length modifiers 'h' (short int), 'l' (long int),
+ * and 'll' (long long int) are supported.
+ * NOTE:
+ *   If macro SNPRINTF_LONGLONG_SUPPORT is not defined (default) the
+ *   length modifier 'll' is recognized but treated the same as 'l',
+ *   which may cause argument value truncation! Defining
+ *   SNPRINTF_LONGLONG_SUPPORT requires that your system's sprintf also
+ *   handles length modifier 'll'.  long long int is a language extension
+ *   which may not be portable.
+ *
+ * Conversion of numeric data (conversion specifiers d, u, o, x, X, p)
+ * with length modifiers (none or h, l, ll) is left to the system routine
+ * sprintf, but all handling of flags, field width and precision as well as
+ * c and s conversions is done very carefully by this portable routine.
+ * If a string precision (truncation) is specified (e.g. %.8s) it is
+ * guaranteed the string beyond the specified precision will not be referenced.
+ *
+ * Length modifiers h, l and ll are ignored for c and s conversions (data
+ * types wint_t and wchar_t are not supported).
+ *
+ * The following common synonyms for conversion characters are supported:
+ *   - i is a synonym for d
+ *   - D is a synonym for ld, explicit length modifiers are ignored
+ *   - U is a synonym for lu, explicit length modifiers are ignored
+ *   - O is a synonym for lo, explicit length modifiers are ignored
+ * The D, O and U conversion characters are nonstandard, they are supported
+ * for backward compatibility only, and should not be used for new code.
+ *
+ * The following is specifically NOT supported:
+ *   - flag ' (thousands' grouping character) is recognized but ignored
+ *   - numeric conversion specifiers: f, e, E, g, G and synonym F,
+ *     as well as the new a and A conversion specifiers
+ *   - length modifier 'L' (long double) and 'q' (quad - use 'll' instead)
+ *   - wide character/string conversions: lc, ls, and nonstandard
+ *     synonyms C and S
+ *   - writeback of converted string length: conversion character n
+ *   - the n$ specification for direct reference to n-th argument
+ *   - locales
+ *
+ * It is permitted for str_m to be zero, and it is permitted to specify NULL
+ * pointer for resulting string argument if str_m is zero (as per ISO C99).
+ *
+ * The return value is the number of characters which would be generated
+ * for the given input, excluding the trailing null. If this value
+ * is greater or equal to str_m, not all characters from the result
+ * have been stored in str, output bytes beyond the (str_m-1) -th character
+ * are discarded. If str_m is greater than zero it is guaranteed
+ * the resulting string will be null-terminated.
+ *
+ * NOTE that this matches the ISO C99, OpenBSD, and GNU C library 2.1,
+ * but is different from some older and vendor implementations,
+ * and is also different from XPG, XSH5, SUSv2 specifications.
+ * For historical discussion on changes in the semantics and standards
+ * of snprintf see printf(3) man page in the Linux programmers manual.
+ *
+ * Routines asprintf and vasprintf return a pointer (in the ptr argument)
+ * to a buffer sufficiently large to hold the resulting string. This pointer
+ * should be passed to free(3) to release the allocated storage when it is
+ * no longer needed. If sufficient space cannot be allocated, these functions
+ * will return -1 and set ptr to be a NULL pointer. These two routines are a
+ * GNU C library extensions (glibc).
+ *
+ * Routines asnprintf and vasnprintf are similar to asprintf and vasprintf,
+ * yet, like snprintf and vsnprintf counterparts, will write at most str_m-1
+ * characters into the allocated output string, the last character in the
+ * allocated buffer then gets the terminating null. If the formatted string
+ * length (the return value) is greater than or equal to the str_m argument,
+ * the resulting string was truncated and some of the formatted characters
+ * were discarded. These routines present a handy way to limit the amount
+ * of allocated memory to some sane value.
+ *
+ * AVAILABILITY
+ *   http://www.ijs.si/software/snprintf/
+ *
+ * REVISION HISTORY
+ * 1999-04	V0.9  Mark Martinec
+ *		- initial version, some modifications after comparing printf
+ *		  man pages for Digital Unix 4.0, Solaris 2.6 and HPUX 10,
+ *		  and checking how Perl handles sprintf (differently!);
+ * 1999-04-09	V1.0  Mark Martinec <mark.martinec@ijs.si>
+ *		- added main test program, fixed remaining inconsistencies,
+ *		  added optional (long long int) support;
+ * 1999-04-12	V1.1  Mark Martinec <mark.martinec@ijs.si>
+ *		- support the 'p' conversion (pointer to void);
+ *		- if a string precision is specified
+ *		  make sure the string beyond the specified precision
+ *		  will not be referenced (e.g. by strlen);
+ * 1999-04-13	V1.2  Mark Martinec <mark.martinec@ijs.si>
+ *		- support synonyms %D=%ld, %U=%lu, %O=%lo;
+ *		- speed up the case of long format string with few conversions;
+ * 1999-06-30	V1.3  Mark Martinec <mark.martinec@ijs.si>
+ *		- fixed runaway loop (eventually crashing when str_l wraps
+ *		  beyond 2^31) while copying format string without
+ *		  conversion specifiers to a buffer that is too short
+ *		  (thanks to Edwin Young <edwiny@autonomy.com> for
+ *		  spotting the problem);
+ *		- added macros PORTABLE_SNPRINTF_VERSION_(MAJOR|MINOR)
+ *		  to snprintf.h
+ * 2000-02-14	V2.0 (never released) Mark Martinec <mark.martinec@ijs.si>
+ *		- relaxed license terms: The Artistic License now applies.
+ *		  You may still apply the GNU GENERAL PUBLIC LICENSE
+ *		  as was distributed with previous versions, if you prefer;
+ *		- changed REVISION HISTORY dates to use ISO 8601 date format;
+ *		- added vsnprintf (patch also independently proposed by
+ *		  Caolan McNamara 2000-05-04, and Keith M Willenson 2000-06-01)
+ * 2000-06-27	V2.1  Mark Martinec <mark.martinec@ijs.si>
+ *		- removed POSIX check for str_m<1; value 0 for str_m is
+ *		  allowed by ISO C99 (and GNU C library 2.1) - (pointed out
+ *		  on 2000-05-04 by Caolan McNamara, caolan@ csn dot ul dot ie).
+ *		  Besides relaxed license this change in standards adherence
+ *		  is the main reason to bump up the major version number;
+ *		- added nonstandard routines asnprintf, vasnprintf, asprintf,
+ *		  vasprintf that dynamically allocate storage for the
+ *		  resulting string; these routines are not compiled by default,
+ *		  see comments where NEED_V?ASN?PRINTF macros are defined;
+ *		- autoconf contributed by Caolan McNamara
+ * 2000-10-06	V2.2  Mark Martinec <mark.martinec@ijs.si>
+ *		- BUG FIX: the %c conversion used a temporary variable
+ *		  that was no longer in scope when referenced,
+ *		  possibly causing incorrect resulting character;
+ *		- BUG FIX: make precision and minimal field width unsigned
+ *		  to handle huge values (2^31 <= n < 2^32) correctly;
+ *		  also be more careful in the use of signed/unsigned/size_t
+ *		  internal variables - probably more careful than many
+ *		  vendor implementations, but there may still be a case
+ *		  where huge values of str_m, precision or minimal field
+ *		  could cause incorrect behaviour;
+ *		- use separate variables for signed/unsigned arguments,
+ *		  and for short/int, long, and long long argument lengths
+ *		  to avoid possible incompatibilities on certain
+ *		  computer architectures. Also use separate variable
+ *		  arg_sign to hold sign of a numeric argument,
+ *		  to make code more transparent;
+ *		- some fiddling with zero padding and "0x" to make it
+ *		  Linux compatible;
+ *		- systematically use macros fast_memcpy and fast_memset
+ *		  instead of case-by-case hand optimization; determine some
+ *		  breakeven string lengths for different architectures;
+ *		- terminology change: 'format' -> 'conversion specifier',
+ *		  'C9x' -> 'ISO/IEC 9899:1999 ("ISO C99")',
+ *		  'alternative form' -> 'alternate form',
+ *		  'data type modifier' -> 'length modifier';
+ *		- several comments rephrased and new ones added;
+ *		- make compiler not complain about 'credits' defined but
+ *		  not used;
+ */
+
+
+/* Define HAVE_SNPRINTF if your system already has snprintf and vsnprintf.
+ *
+ * If HAVE_SNPRINTF is defined this module will not produce code for
+ * snprintf and vsnprintf, unless PREFER_PORTABLE_SNPRINTF is defined as well,
+ * causing this portable version of snprintf to be called portable_snprintf
+ * (and portable_vsnprintf).
+ */
+/* #define HAVE_SNPRINTF */
+
+/* Define PREFER_PORTABLE_SNPRINTF if your system does have snprintf and
+ * vsnprintf but you would prefer to use the portable routine(s) instead.
+ * In this case the portable routine is declared as portable_snprintf
+ * (and portable_vsnprintf) and a macro 'snprintf' (and 'vsnprintf')
+ * is defined to expand to 'portable_v?snprintf' - see file snprintf.h .
+ * Defining this macro is only useful if HAVE_SNPRINTF is also defined,
+ * but does does no harm if defined nevertheless.
+ */
+/* #define PREFER_PORTABLE_SNPRINTF */
+
+/* Define SNPRINTF_LONGLONG_SUPPORT if you want to support
+ * data type (long long int) and length modifier 'll' (e.g. %lld).
+ * If undefined, 'll' is recognized but treated as a single 'l'.
+ *
+ * If the system's sprintf does not handle 'll'
+ * the SNPRINTF_LONGLONG_SUPPORT must not be defined!
+ *
+ * This is off by default as (long long int) is a language extension.
+ */
+/* #define SNPRINTF_LONGLONG_SUPPORT */
+
+/* Define NEED_SNPRINTF_ONLY if you only need snprintf, and not vsnprintf.
+ * If NEED_SNPRINTF_ONLY is defined, the snprintf will be defined directly,
+ * otherwise both snprintf and vsnprintf routines will be defined
+ * and snprintf will be a simple wrapper around vsnprintf, at the expense
+ * of an extra procedure call.
+ */
+/* #define NEED_SNPRINTF_ONLY */
+
+/* Define NEED_V?ASN?PRINTF macros if you need library extension
+ * routines asprintf, vasprintf, asnprintf, vasnprintf respectively,
+ * and your system library does not provide them. They are all small
+ * wrapper routines around portable_vsnprintf. Defining any of the four
+ * NEED_V?ASN?PRINTF macros automatically turns off NEED_SNPRINTF_ONLY
+ * and turns on PREFER_PORTABLE_SNPRINTF.
+ *
+ * Watch for name conflicts with the system library if these routines
+ * are already present there.
+ *
+ * NOTE: vasprintf and vasnprintf routines need va_copy() from stdarg.h, as
+ * specified by C99, to be able to traverse the same list of arguments twice.
+ * I don't know of any other standard and portable way of achieving the same.
+ * With some versions of gcc you may use __va_copy(). You might even get away
+ * with "ap2 = ap", in this case you must not call va_end(ap2) !
+ *   #define va_copy(ap2,ap) ap2 = ap
+ */
+/* #define NEED_ASPRINTF   */
+/* #define NEED_ASNPRINTF  */
+/* #define NEED_VASPRINTF  */
+/* #define NEED_VASNPRINTF */
+
+
+/* Define the following macros if desired:
+ *   SOLARIS_COMPATIBLE, SOLARIS_BUG_COMPATIBLE,
+ *   HPUX_COMPATIBLE, HPUX_BUG_COMPATIBLE, LINUX_COMPATIBLE,
+ *   DIGITAL_UNIX_COMPATIBLE, DIGITAL_UNIX_BUG_COMPATIBLE,
+ *   PERL_COMPATIBLE, PERL_BUG_COMPATIBLE,
+ *
+ * - For portable applications it is best not to rely on peculiarities
+ *   of a given implementation so it may be best not to define any
+ *   of the macros that select compatibility and to avoid features
+ *   that vary among the systems.
+ *
+ * - Selecting compatibility with more than one operating system
+ *   is not strictly forbidden but is not recommended.
+ *
+ * - 'x'_BUG_COMPATIBLE implies 'x'_COMPATIBLE .
+ *
+ * - 'x'_COMPATIBLE refers to (and enables) a behaviour that is
+ *   documented in a sprintf man page on a given operating system
+ *   and actually adhered to by the system's sprintf (but not on
+ *   most other operating systems). It may also refer to and enable
+ *   a behaviour that is declared 'undefined' or 'implementation specific'
+ *   in the man page but a given implementation behaves predictably
+ *   in a certain way.
+ *
+ * - 'x'_BUG_COMPATIBLE refers to (and enables) a behaviour of system's sprintf
+ *   that contradicts the sprintf man page on the same operating system.
+ *
+ * - I do not claim that the 'x'_COMPATIBLE and 'x'_BUG_COMPATIBLE
+ *   conditionals take into account all idiosyncrasies of a particular
+ *   implementation, there may be other incompatibilities.
+ */
+
+#ifndef _PORTABLE_SNPRINTF_H_
+#	include "snprintf.h"
+#endif /* !_PORTABLE_SNPRINTF_H_ */
+
+#if !defined(HAVE_SNPRINTF) || defined(PREFER_PORTABLE_SNPRINTF)
+#define fast_memcpy memcpy
+#define fast_memset memset
+#endif
+
+/* ============================================= */
+/* NO USER SERVICABLE PARTS FOLLOWING THIS POINT */
+/* ============================================= */
+#if 0
+#define PORTABLE_SNPRINTF_VERSION_MAJOR 2
+#define PORTABLE_SNPRINTF_VERSION_MINOR 2
+
+#if defined(NEED_ASPRINTF) || defined(NEED_ASNPRINTF) || defined(NEED_VASPRINTF) || defined(NEED_VASNPRINTF)
+# if defined(NEED_SNPRINTF_ONLY)
+# undef NEED_SNPRINTF_ONLY
+# endif
+# if !defined(PREFER_PORTABLE_SNPRINTF)
+# define PREFER_PORTABLE_SNPRINTF
+# endif
+#endif
+
+#if defined(SOLARIS_BUG_COMPATIBLE) && !defined(SOLARIS_COMPATIBLE)
+#define SOLARIS_COMPATIBLE
+#endif
+
+#if defined(HPUX_BUG_COMPATIBLE) && !defined(HPUX_COMPATIBLE)
+#define HPUX_COMPATIBLE
+#endif
+
+#if defined(DIGITAL_UNIX_BUG_COMPATIBLE) && !defined(DIGITAL_UNIX_COMPATIBLE)
+#define DIGITAL_UNIX_COMPATIBLE
+#endif
+
+#if defined(PERL_BUG_COMPATIBLE) && !defined(PERL_COMPATIBLE)
+#define PERL_COMPATIBLE
+#endif
+
+#if defined(LINUX_BUG_COMPATIBLE) && !defined(LINUX_COMPATIBLE)
+#define LINUX_COMPATIBLE
+#endif
+
+#include <sys/types.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <errno.h>
+
+#ifdef isdigit
+#undef isdigit
+#endif
+#define isdigit(c) ((c) >= '0' && (c) <= '9')
+/* For copying strings longer or equal to 'breakeven_point'
+ * it is more efficient to call memcpy() than to do it inline.
+ * The value depends mostly on the processor architecture,
+ * but also on the compiler and its optimization capabilities.
+ * The value is not critical, some small value greater than zero
+ * will be just fine if you don't care to squeeze every drop
+ * of performance out of the code.
+ *
+ * Small values favor memcpy, large values favor inline code.
+ */
+#if defined(__alpha__) || defined(__alpha)
+#  define breakeven_point   2	/* AXP (DEC Alpha)     - gcc or cc or egcs */
+#endif
+#if defined(__i386__)  || defined(__i386)
+#  define breakeven_point  12	/* Intel Pentium/Linux - gcc 2.96 */
+#endif
+#if defined(__hppa)
+#  define breakeven_point  10	/* HP-PA               - gcc */
+#endif
+#if defined(__sparc__) || defined(__sparc)
+#  define breakeven_point  33	/* Sun Sparc 5         - gcc 2.8.1 */
+#endif
+
+/* some other values of possible interest: */
+/* #define breakeven_point  8 */  /* VAX 4000          - vaxc */
+/* #define breakeven_point 19 */  /* VAX 4000          - gcc 2.7.0 */
+
+#ifndef breakeven_point
+#  define breakeven_point   6	/* some reasonable one-size-fits-all value */
+#endif
+
+#define fast_memcpy(d,s,n) \
+  { register size_t nn = (size_t)(n); \
+    if (nn >= breakeven_point) memcpy((d), (s), nn); \
+    else if (nn > 0) { /* proc call overhead is worth only for large strings*/\
+      register char *dd; register const char *ss; \
+      for (ss=(s), dd=(d); nn>0; nn--) *dd++ = *ss++; } }
+
+#define fast_memset(d,c,n) \
+  { register size_t nn = (size_t)(n); \
+    if (nn >= breakeven_point) memset((d), (int)(c), nn); \
+    else if (nn > 0) { /* proc call overhead is worth only for large strings*/\
+      register char *dd; register const int cc=(int)(c); \
+      for (dd=(d); nn>0; nn--) *dd++ = cc; } }
+#endif /* 0 */
+
+/* prototypes */
+
+#if defined(NEED_ASPRINTF)
+int asprintf   (char **ptr, const char *fmt, /*args*/ ...);
+#endif
+#if defined(NEED_VASPRINTF)
+int vasprintf  (char **ptr, const char *fmt, va_list ap);
+#endif
+#if defined(NEED_ASNPRINTF)
+int asnprintf  (char **ptr, size_t str_m, const char *fmt, /*args*/ ...);
+#endif
+#if defined(NEED_VASNPRINTF)
+int vasnprintf (char **ptr, size_t str_m, const char *fmt, va_list ap);
+#endif
+
+#if defined(HAVE_SNPRINTF)
+/* declare our portable snprintf  routine under name portable_snprintf  */
+/* declare our portable vsnprintf routine under name portable_vsnprintf */
+#else
+/* declare our portable routines under names snprintf and vsnprintf */
+#define portable_snprintf snprintf
+#if !defined(NEED_SNPRINTF_ONLY)
+#define portable_vsnprintf vsnprintf
+#endif
+#endif
+
+#if !defined(HAVE_SNPRINTF) || defined(PREFER_PORTABLE_SNPRINTF)
+int portable_snprintf(char *str, size_t str_m, const char *fmt, /*args*/ ...);
+#if !defined(NEED_SNPRINTF_ONLY)
+int portable_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap);
+#endif
+#endif
+
+/* declarations */
+#if !defined(HAVE_SNPRINTF) || defined(SNPRINTF_BROKEN)
+static char credits[] = "\n\
+@(#)snprintf.c, v2.2: Mark Martinec, <mark.martinec@ijs.si>\n\
+@(#)snprintf.c, v2.2: Copyright 1999, Mark Martinec. Frontier Artistic License applies.\n\
+@(#)snprintf.c, v2.2: http://www.ijs.si/software/snprintf/\n";
+#endif /* !HAVE_SNPRINTF || SNPRINTF_BROKEN */
+
+#if defined(NEED_ASPRINTF)
+int asprintf(char **ptr, const char *fmt, /*args*/ ...) {
+  va_list ap;
+  size_t str_m;
+  int str_l;
+
+  *ptr = NULL;
+  va_start(ap, fmt);                            /* measure the required size */
+  str_l = portable_vsnprintf(NULL, (size_t)0, fmt, ap);
+  va_end(ap);
+  assert(str_l >= 0);        /* possible integer overflow if str_m > INT_MAX */
+  *ptr = (char *) malloc(str_m = (size_t)str_l + 1);
+  if (*ptr == NULL) { errno = ENOMEM; str_l = -1; }
+  else {
+    int str_l2;
+    va_start(ap, fmt);
+    str_l2 = portable_vsnprintf(*ptr, str_m, fmt, ap);
+    va_end(ap);
+    assert(str_l2 == str_l);
+  }
+  return str_l;
+}
+#endif
+
+#if defined(NEED_VASPRINTF)
+int vasprintf(char **ptr, const char *fmt, va_list ap) {
+  size_t str_m;
+  int str_l;
+
+  *ptr = NULL;
+  { va_list ap2;
+#if 1
+	begin_va_copy(ap2, ap);
+#else
+    va_copy(ap2, ap);  /* don't consume the original ap, we'll need it again */
+#endif /* 1 */
+    str_l = portable_vsnprintf(NULL, (size_t)0, fmt, ap2);/*get required size*/
+#if 1
+	end_va_copy(ap2);
+#else
+    va_end(ap2);
+#endif /* 1 */
+  }
+  assert(str_l >= 0);        /* possible integer overflow if str_m > INT_MAX */
+  *ptr = (char *) malloc(str_m = (size_t)str_l + 1);
+  if (*ptr == NULL) { errno = ENOMEM; str_l = -1; }
+  else {
+    int str_l2 = portable_vsnprintf(*ptr, str_m, fmt, ap);
+    assert(str_l2 == str_l);
+  }
+  return str_l;
+}
+#endif
+
+#if defined(NEED_ASNPRINTF)
+int asnprintf (char **ptr, size_t str_m, const char *fmt, /*args*/ ...) {
+  va_list ap;
+  int str_l;
+
+  *ptr = NULL;
+  va_start(ap, fmt);                            /* measure the required size */
+  str_l = portable_vsnprintf(NULL, (size_t)0, fmt, ap);
+  va_end(ap);
+  assert(str_l >= 0);        /* possible integer overflow if str_m > INT_MAX */
+  if ((size_t)str_l + 1 < str_m) str_m = (size_t)str_l + 1;      /* truncate */
+  /* if str_m is 0, no buffer is allocated, just set *ptr to NULL */
+  if (str_m == 0) {  /* not interested in resulting string, just return size */
+  } else {
+    *ptr = (char *) malloc(str_m);
+    if (*ptr == NULL) { errno = ENOMEM; str_l = -1; }
+    else {
+      int str_l2;
+      va_start(ap, fmt);
+      str_l2 = portable_vsnprintf(*ptr, str_m, fmt, ap);
+      va_end(ap);
+      assert(str_l2 == str_l);
+    }
+  }
+  return str_l;
+}
+#endif
+
+#if defined(NEED_VASNPRINTF)
+int vasnprintf (char **ptr, size_t str_m, const char *fmt, va_list ap) {
+  int str_l;
+
+  *ptr = NULL;
+  { va_list ap2;
+#if 1
+	begin_va_copy(ap2, ap);
+#else
+    va_copy(ap2, ap);  /* don't consume the original ap, we'll need it again */
+#endif /* 1 */
+    str_l = portable_vsnprintf(NULL, (size_t)0, fmt, ap2);/*get required size*/
+#if 1
+	end_va_copy(ap2);
+#else
+    va_end(ap2);
+#endif /* 1 */
+  }
+  assert(str_l >= 0);        /* possible integer overflow if str_m > INT_MAX */
+  if ((size_t)str_l + 1 < str_m) str_m = (size_t)str_l + 1;      /* truncate */
+  /* if str_m is 0, no buffer is allocated, just set *ptr to NULL */
+  if (str_m == 0) {  /* not interested in resulting string, just return size */
+  } else {
+    *ptr = (char *) malloc(str_m);
+    if (*ptr == NULL) { errno = ENOMEM; str_l = -1; }
+    else {
+      int str_l2 = portable_vsnprintf(*ptr, str_m, fmt, ap);
+      assert(str_l2 == str_l);
+    }
+  }
+  return str_l;
+}
+#endif
+
+/*
+ * If the system does have snprintf and the portable routine is not
+ * specifically required, this module produces no code for snprintf/vsnprintf.
+ */
+#if !defined(HAVE_SNPRINTF) || defined(PREFER_PORTABLE_SNPRINTF)
+
+#if !defined(NEED_SNPRINTF_ONLY)
+int portable_snprintf(char *str, size_t str_m, const char *fmt, /*args*/ ...) {
+  va_list ap;
+  int str_l;
+
+  va_start(ap, fmt);
+  str_l = portable_vsnprintf(str, str_m, fmt, ap);
+  va_end(ap);
+  return str_l;
+}
+#endif
+
+#if defined(NEED_SNPRINTF_ONLY)
+int portable_snprintf(char *str, size_t str_m, const char *fmt, /*args*/ ...) {
+#else
+int portable_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap) {
+#endif
+
+#if defined(NEED_SNPRINTF_ONLY)
+  va_list ap;
+#endif
+  size_t str_l = 0;
+  const char *p = fmt;
+
+/* In contrast with POSIX, the ISO C99 now says
+ * that str can be NULL and str_m can be 0.
+ * This is more useful than the old:  if (str_m < 1) return -1; */
+
+#if defined(NEED_SNPRINTF_ONLY)
+  va_start(ap, fmt);
+#endif
+  if (!p) p = "";
+  while (*p) {
+    if (*p != '%') {
+   /* if (str_l < str_m) str[str_l++] = *p++;    -- this would be sufficient */
+   /* but the following code achieves better performance for cases
+    * where format string is long and contains few conversions */
+      const char *q = strchr(p+1,'%');
+      size_t n = !q ? strlen(p) : (q-p);
+      if (str_l < str_m) {
+        size_t avail = str_m-str_l;
+        fast_memcpy(str+str_l, p, (n>avail?avail:n));
+      }
+      p += n; str_l += n;
+    } else {
+      const char *starting_p;
+      size_t min_field_width = 0, precision = 0;
+      int zero_padding = 0, precision_specified = 0, justify_left = 0;
+      int alternate_form = 0, force_sign = 0;
+      int space_for_positive = 1; /* If both the ' ' and '+' flags appear,
+                                     the ' ' flag should be ignored. */
+      char length_modifier = '\0';            /* allowed values: \0, h, l, L */
+      char tmp[32];/* temporary buffer for simple numeric->string conversion */
+
+      const char *str_arg;      /* string address in case of string argument */
+      size_t str_arg_l;         /* natural field width of arg without padding
+                                   and sign */
+      unsigned char uchar_arg;
+        /* unsigned char argument value - only defined for c conversion.
+           N.B. standard explicitly states the char argument for
+           the c conversion is unsigned */
+
+      size_t number_of_zeros_to_pad = 0;
+        /* number of zeros to be inserted for numeric conversions
+           as required by the precision or minimal field width */
+
+      size_t zero_padding_insertion_ind = 0;
+        /* index into tmp where zero padding is to be inserted */
+
+      char fmt_spec = '\0';
+        /* current conversion specifier character */
+
+      str_arg = credits;/* just to make compiler happy (defined but not used)*/
+      str_arg = NULL;
+      starting_p = p; p++;  /* skip '%' */
+   /* parse flags */
+      while (*p == '0' || *p == '-' || *p == '+' ||
+             *p == ' ' || *p == '#' || *p == '\'') {
+        switch (*p) {
+        case '0': zero_padding = 1; break;
+        case '-': justify_left = 1; break;
+        case '+': force_sign = 1; space_for_positive = 0; break;
+        case ' ': force_sign = 1;
+     /* If both the ' ' and '+' flags appear, the ' ' flag should be ignored */
+#ifdef PERL_COMPATIBLE
+     /* ... but in Perl the last of ' ' and '+' applies */
+                  space_for_positive = 1;
+#endif
+                  break;
+        case '#': alternate_form = 1; break;
+        case '\'': break;
+        }
+        p++;
+      }
+   /* If the '0' and '-' flags both appear, the '0' flag should be ignored. */
+
+   /* parse field width */
+      if (*p == '*') {
+        int j;
+        p++; j = va_arg(ap, int);
+        if (j >= 0) min_field_width = j;
+        else { min_field_width = -j; justify_left = 1; }
+      } else if (isdigit((int)(*p))) {
+        /* size_t could be wider than unsigned int;
+           make sure we treat argument like common implementations do */
+        unsigned int uj = *p++ - '0';
+        while (isdigit((int)(*p))) uj = 10*uj + (unsigned int)(*p++ - '0');
+        min_field_width = uj;
+      }
+   /* parse precision */
+      if (*p == '.') {
+        p++; precision_specified = 1;
+        if (*p == '*') {
+          int j = va_arg(ap, int);
+          p++;
+          if (j >= 0) precision = j;
+          else {
+            precision_specified = 0; precision = 0;
+         /* NOTE:
+          *   Solaris 2.6 man page claims that in this case the precision
+          *   should be set to 0.  Digital Unix 4.0, HPUX 10 and BSD man page
+          *   claim that this case should be treated as unspecified precision,
+          *   which is what we do here.
+          */
+          }
+        } else if (isdigit((int)(*p))) {
+          /* size_t could be wider than unsigned int;
+             make sure we treat argument like common implementations do */
+          unsigned int uj = *p++ - '0';
+          while (isdigit((int)(*p))) uj = 10*uj + (unsigned int)(*p++ - '0');
+          precision = uj;
+        }
+      }
+   /* parse 'h', 'l' and 'll' length modifiers */
+      if (*p == 'h' || *p == 'l') {
+        length_modifier = *p; p++;
+        if (length_modifier == 'l' && *p == 'l') {   /* double l = long long */
+#ifdef SNPRINTF_LONGLONG_SUPPORT
+          length_modifier = '2';                  /* double l encoded as '2' */
+#else
+          length_modifier = 'l';                 /* treat it as a single 'l' */
+#endif
+          p++;
+        }
+      }
+      fmt_spec = *p;
+   /* common synonyms: */
+      switch (fmt_spec) {
+      case 'i': fmt_spec = 'd'; break;
+      case 'D': fmt_spec = 'd'; length_modifier = 'l'; break;
+      case 'U': fmt_spec = 'u'; length_modifier = 'l'; break;
+      case 'O': fmt_spec = 'o'; length_modifier = 'l'; break;
+      default: break;
+      }
+   /* get parameter value, do initial processing */
+      switch (fmt_spec) {
+      case '%': /* % behaves similar to 's' regarding flags and field widths */
+      case 'c': /* c behaves similar to 's' regarding flags and field widths */
+      case 's':
+        length_modifier = '\0';          /* wint_t and wchar_t not supported */
+     /* the result of zero padding flag with non-numeric conversion specifier*/
+     /* is undefined. Solaris and HPUX 10 does zero padding in this case,    */
+     /* Digital Unix and Linux does not. */
+#if !defined(SOLARIS_COMPATIBLE) && !defined(HPUX_COMPATIBLE)
+        zero_padding = 0;    /* turn zero padding off for string conversions */
+#endif
+        str_arg_l = 1;
+        switch (fmt_spec) {
+        case '%':
+          str_arg = p; break;
+        case 'c': {
+          int j = va_arg(ap, int);
+          uchar_arg = (unsigned char) j;   /* standard demands unsigned char */
+          str_arg = (const char *) &uchar_arg;
+          break;
+        }
+        case 's':
+          str_arg = va_arg(ap, const char *);
+          if (!str_arg) str_arg_l = 0;
+       /* make sure not to address string beyond the specified precision !!! */
+          else if (!precision_specified) str_arg_l = strlen(str_arg);
+       /* truncate string if necessary as requested by precision */
+          else if (precision == 0) str_arg_l = 0;
+          else {
+       /* memchr on HP does not like n > 2^31  !!! */
+            const char *q = memchr(str_arg, '\0',
+                             precision <= 0x7fffffff ? precision : 0x7fffffff);
+            str_arg_l = !q ? precision : (q-str_arg);
+          }
+          break;
+        default: break;
+        }
+        break;
+      case 'd': case 'u': case 'o': case 'x': case 'X': case 'p': {
+        /* NOTE: the u, o, x, X and p conversion specifiers imply
+                 the value is unsigned;  d implies a signed value */
+
+        int arg_sign = 0;
+          /* 0 if numeric argument is zero (or if pointer is NULL for 'p'),
+            +1 if greater than zero (or nonzero for unsigned arguments),
+            -1 if negative (unsigned argument is never negative) */
+
+        int int_arg = 0;  unsigned int uint_arg = 0;
+          /* only defined for length modifier h, or for no length modifiers */
+
+        long int long_arg = 0;  unsigned long int ulong_arg = 0;
+          /* only defined for length modifier l */
+
+        void *ptr_arg = NULL;
+          /* pointer argument value -only defined for p conversion */
+
+#ifdef SNPRINTF_LONGLONG_SUPPORT
+        long long int long_long_arg = 0;
+        unsigned long long int ulong_long_arg = 0;
+          /* only defined for length modifier ll */
+#endif
+        if (fmt_spec == 'p') {
+        /* HPUX 10: An l, h, ll or L before any other conversion character
+         *   (other than d, i, u, o, x, or X) is ignored.
+         * Digital Unix:
+         *   not specified, but seems to behave as HPUX does.
+         * Solaris: If an h, l, or L appears before any other conversion
+         *   specifier (other than d, i, u, o, x, or X), the behavior
+         *   is undefined. (Actually %hp converts only 16-bits of address
+         *   and %llp treats address as 64-bit data which is incompatible
+         *   with (void *) argument on a 32-bit system).
+         */
+#ifdef SOLARIS_COMPATIBLE
+#  ifdef SOLARIS_BUG_COMPATIBLE
+          /* keep length modifiers even if it represents 'll' */
+#  else
+          if (length_modifier == '2') length_modifier = '\0';
+#  endif
+#else
+          length_modifier = '\0';
+#endif
+          ptr_arg = va_arg(ap, void *);
+          if (ptr_arg != NULL) arg_sign = 1;
+        } else if (fmt_spec == 'd') {  /* signed */
+          switch (length_modifier) {
+          case '\0':
+          case 'h':
+         /* It is non-portable to specify a second argument of char or short
+          * to va_arg, because arguments seen by the called function
+          * are not char or short.  C converts char and short arguments
+          * to int before passing them to a function.
+          */
+            int_arg = va_arg(ap, int);
+            if      (int_arg > 0) arg_sign =  1;
+            else if (int_arg < 0) arg_sign = -1;
+            break;
+          case 'l':
+            long_arg = va_arg(ap, long int);
+            if      (long_arg > 0) arg_sign =  1;
+            else if (long_arg < 0) arg_sign = -1;
+            break;
+#ifdef SNPRINTF_LONGLONG_SUPPORT
+          case '2':
+            long_long_arg = va_arg(ap, long long int);
+            if      (long_long_arg > 0) arg_sign =  1;
+            else if (long_long_arg < 0) arg_sign = -1;
+            break;
+#endif
+          }
+        } else {  /* unsigned */
+          switch (length_modifier) {
+          case '\0':
+          case 'h':
+            uint_arg = va_arg(ap, unsigned int);
+            if (uint_arg) arg_sign = 1;
+            break;
+          case 'l':
+            ulong_arg = va_arg(ap, unsigned long int);
+            if (ulong_arg) arg_sign = 1;
+            break;
+#ifdef SNPRINTF_LONGLONG_SUPPORT
+          case '2':
+            ulong_long_arg = va_arg(ap, unsigned long long int);
+            if (ulong_long_arg) arg_sign = 1;
+            break;
+#endif
+          }
+        }
+        str_arg = tmp; str_arg_l = 0;
+     /* NOTE:
+      *   For d, i, u, o, x, and X conversions, if precision is specified,
+      *   the '0' flag should be ignored. This is so with Solaris 2.6,
+      *   Digital UNIX 4.0, HPUX 10, Linux, FreeBSD, NetBSD; but not with Perl.
+      */
+#ifndef PERL_COMPATIBLE
+        if (precision_specified) zero_padding = 0;
+#endif
+        if (fmt_spec == 'd') {
+          if (force_sign && arg_sign >= 0)
+            tmp[str_arg_l++] = space_for_positive ? ' ' : '+';
+         /* leave negative numbers for sprintf to handle,
+            to avoid handling tricky cases like (short int)(-32768) */
+#ifdef LINUX_COMPATIBLE
+        } else if (fmt_spec == 'p' && force_sign && arg_sign > 0) {
+          tmp[str_arg_l++] = space_for_positive ? ' ' : '+';
+#endif
+        } else if (alternate_form) {
+          if (arg_sign != 0 && (fmt_spec == 'x' || fmt_spec == 'X') )
+            { tmp[str_arg_l++] = '0'; tmp[str_arg_l++] = fmt_spec; }
+         /* alternate form should have no effect for p conversion, but ... */
+#ifdef HPUX_COMPATIBLE
+          else if (fmt_spec == 'p'
+         /* HPUX 10: for an alternate form of p conversion,
+          *          a nonzero result is prefixed by 0x. */
+#ifndef HPUX_BUG_COMPATIBLE
+         /* Actually it uses 0x prefix even for a zero value. */
+                   && arg_sign != 0
+#endif
+                  ) { tmp[str_arg_l++] = '0'; tmp[str_arg_l++] = 'x'; }
+#endif
+        }
+        zero_padding_insertion_ind = str_arg_l;
+        if (!precision_specified) precision = 1;   /* default precision is 1 */
+        if (precision == 0 && arg_sign == 0
+#if defined(HPUX_BUG_COMPATIBLE) || defined(LINUX_COMPATIBLE)
+            && fmt_spec != 'p'
+         /* HPUX 10 man page claims: With conversion character p the result of
+          * converting a zero value with a precision of zero is a null string.
+          * Actually HP returns all zeroes, and Linux returns "(nil)". */
+#endif
+        ) {
+         /* converted to null string */
+         /* When zero value is formatted with an explicit precision 0,
+            the resulting formatted string is empty (d, i, u, o, x, X, p).   */
+        } else {
+          char f[5]; int f_l = 0;
+          f[f_l++] = '%';    /* construct a simple format string for sprintf */
+          if (!length_modifier) { }
+          else if (length_modifier=='2') { f[f_l++] = 'l'; f[f_l++] = 'l'; }
+          else f[f_l++] = length_modifier;
+          f[f_l++] = fmt_spec; f[f_l++] = '\0';
+          if (fmt_spec == 'p') str_arg_l += sprintf(tmp+str_arg_l, f, ptr_arg);
+          else if (fmt_spec == 'd') {  /* signed */
+            switch (length_modifier) {
+            case '\0':
+            case 'h': str_arg_l+=sprintf(tmp+str_arg_l, f, int_arg);  break;
+            case 'l': str_arg_l+=sprintf(tmp+str_arg_l, f, long_arg); break;
+#ifdef SNPRINTF_LONGLONG_SUPPORT
+            case '2': str_arg_l+=sprintf(tmp+str_arg_l,f,long_long_arg); break;
+#endif
+            }
+          } else {  /* unsigned */
+            switch (length_modifier) {
+            case '\0':
+            case 'h': str_arg_l+=sprintf(tmp+str_arg_l, f, uint_arg);  break;
+            case 'l': str_arg_l+=sprintf(tmp+str_arg_l, f, ulong_arg); break;
+#ifdef SNPRINTF_LONGLONG_SUPPORT
+            case '2': str_arg_l+=sprintf(tmp+str_arg_l,f,ulong_long_arg);break;
+#endif
+            }
+          }
+         /* include the optional minus sign and possible "0x"
+            in the region before the zero padding insertion point */
+          if (zero_padding_insertion_ind < str_arg_l &&
+              tmp[zero_padding_insertion_ind] == '-') {
+            zero_padding_insertion_ind++;
+          }
+          if (zero_padding_insertion_ind+1 < str_arg_l &&
+              tmp[zero_padding_insertion_ind]   == '0' &&
+             (tmp[zero_padding_insertion_ind+1] == 'x' ||
+              tmp[zero_padding_insertion_ind+1] == 'X') ) {
+            zero_padding_insertion_ind += 2;
+          }
+        }
+        { size_t num_of_digits = str_arg_l - zero_padding_insertion_ind;
+          if (alternate_form && fmt_spec == 'o'
+#ifdef HPUX_COMPATIBLE                                  /* ("%#.o",0) -> ""  */
+              && (str_arg_l > 0)
+#endif
+#ifdef DIGITAL_UNIX_BUG_COMPATIBLE                      /* ("%#o",0) -> "00" */
+#else
+              /* unless zero is already the first character */
+              && !(zero_padding_insertion_ind < str_arg_l
+                   && tmp[zero_padding_insertion_ind] == '0')
+#endif
+          ) {        /* assure leading zero for alternate-form octal numbers */
+            if (!precision_specified || precision < num_of_digits+1) {
+             /* precision is increased to force the first character to be zero,
+                except if a zero value is formatted with an explicit precision
+                of zero */
+              precision = num_of_digits+1; precision_specified = 1;
+            }
+          }
+       /* zero padding to specified precision? */
+          if (num_of_digits < precision)
+            number_of_zeros_to_pad = precision - num_of_digits;
+        }
+     /* zero padding to specified minimal field width? */
+        if (!justify_left && zero_padding) {
+          int n = min_field_width - (str_arg_l+number_of_zeros_to_pad);
+          if (n > 0) number_of_zeros_to_pad += n;
+        }
+        break;
+      }
+      default: /* unrecognized conversion specifier, keep format string as-is */
+        zero_padding = 0;  /* turn zero padding off for non-numeric conversion */
+#ifndef DIGITAL_UNIX_COMPATIBLE
+        justify_left = 1; min_field_width = 0;                /* reset flags */
+#endif
+#if defined(PERL_COMPATIBLE) || defined(LINUX_COMPATIBLE)
+     /* keep the entire format string unchanged */
+        str_arg = starting_p; str_arg_l = p - starting_p;
+     /* well, not exactly so for Linux, which does something in between,
+      * and I don't feel an urge to imitate it: "%+++++hy" -> "%+y"  */
+#else
+     /* discard the unrecognized conversion, just keep *
+      * the unrecognized conversion character          */
+        str_arg = p; str_arg_l = 0;
+#endif
+        if (*p) str_arg_l++;  /* include invalid conversion specifier unchanged
+                                 if not at end-of-string */
+        break;
+      }
+      if (*p) p++;      /* step over the just processed conversion specifier */
+   /* insert padding to the left as requested by min_field_width;
+      this does not include the zero padding in case of numerical conversions*/
+      if (!justify_left) {                /* left padding with blank or zero */
+        int n = min_field_width - (str_arg_l+number_of_zeros_to_pad);
+        if (n > 0) {
+          if (str_l < str_m) {
+            size_t avail = str_m-str_l;
+            fast_memset(str+str_l, (zero_padding?'0':' '), (n>avail?avail:n));
+          }
+          str_l += n;
+        }
+      }
+   /* zero padding as requested by the precision or by the minimal field width
+    * for numeric conversions required? */
+      if (number_of_zeros_to_pad <= 0) {
+     /* will not copy first part of numeric right now, *
+      * force it to be copied later in its entirety    */
+        zero_padding_insertion_ind = 0;
+      } else {
+     /* insert first part of numerics (sign or '0x') before zero padding */
+        int n = zero_padding_insertion_ind;
+        if (n > 0) {
+          if (str_l < str_m) {
+            size_t avail = str_m-str_l;
+            fast_memcpy(str+str_l, str_arg, (n>avail?avail:n));
+          }
+          str_l += n;
+        }
+     /* insert zero padding as requested by the precision or min field width */
+        n = number_of_zeros_to_pad;
+        if (n > 0) {
+          if (str_l < str_m) {
+            size_t avail = str_m-str_l;
+            fast_memset(str+str_l, '0', (n>avail?avail:n));
+          }
+          str_l += n;
+        }
+      }
+   /* insert formatted string
+    * (or as-is conversion specifier for unknown conversions) */
+      { int n = str_arg_l - zero_padding_insertion_ind;
+        if (n > 0) {
+          if (str_l < str_m) {
+            size_t avail = str_m-str_l;
+            fast_memcpy(str+str_l, str_arg+zero_padding_insertion_ind,
+                        (n>avail?avail:n));
+          }
+          str_l += n;
+        }
+      }
+   /* insert right padding */
+      if (justify_left) {          /* right blank padding to the field width */
+        int n = min_field_width - (str_arg_l+number_of_zeros_to_pad);
+        if (n > 0) {
+          if (str_l < str_m) {
+            size_t avail = str_m-str_l;
+            fast_memset(str+str_l, ' ', (n>avail?avail:n));
+          }
+          str_l += n;
+        }
+      }
+    }
+  }
+#if defined(NEED_SNPRINTF_ONLY)
+  va_end(ap);
+#endif
+  if (str_m > 0) { /* make sure the string is null-terminated
+                      even at the expense of overwriting the last character
+                      (shouldn't happen, but just in case) */
+    str[str_l <= str_m-1 ? str_l : str_m-1] = '\0';
+  }
+  /* Return the number of characters formatted (excluding trailing null
+   * character), that is, the number of characters that would have been
+   * written to the buffer if it were large enough.
+   *
+   * The value of str_l should be returned, but str_l is of unsigned type
+   * size_t, and snprintf is int, possibly leading to an undetected
+   * integer overflow, resulting in a negative return value, which is illegal.
+   * Both XSH5 and ISO C99 (at least the draft) are silent on this issue.
+   * Should errno be set to EOVERFLOW and EOF returned in this case???
+   */
+  return (int) str_l;
+}
+#endif
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/strftime.c tin-2.6.4/src/strftime.c
--- tin-2.6.3/src/strftime.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/strftime.c	2024-12-17 21:36:26.691632393 +0100
@@ -3,16 +3,18 @@
  *  Module    : strftime.c
  *  Author    : A. Robbins & I. Lea
  *  Created   : 1991-02-01
- *  Updated   : 2018-04-04
+ *  Updated   : 2024-12-17
  *  Notes     : Relatively quick-and-dirty implementation of ANSI library
  *              routine for System V Unix systems.
  *              If target system already has strftime() call the #define
  *              HAVE_STRFTIME can be set to use it.
+ *              TODO: "sync" against
+ *              <https://github.com/arnoldrobbins/strftime/tree/master>
  *  Example   : time(&secs);
  *              tm = localtime(&secs);
  *              num = strftime(buf, sizeof(buf), "%a %d-%m-%y %H:%M:%S", tm);
  *
- * Copyright (c) 1991-2024 Arnold Robbins <arnold@skeeve.com>
+ * Copyright (c) 1991-2025 Arnold Robbins <arnold@skeeve.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -48,10 +50,6 @@
 #	include "tin.h"
 #endif /* !TIN_H */
 
-#ifdef SYSV
-extern int daylight;
-#endif /* SYSV */
-
 #ifndef HAVE_STRFTIME
 #	define SYSV_EXT	1	/* stuff in System V ascftime routine */
 #endif /* !HAVE_STRFTIME */
@@ -65,7 +63,7 @@ my_strftime(
 	char *s,
 	size_t maxsize,
 	const char *format,
-	struct tm *timeptr)
+	const struct tm *timeptr)
 {
 #ifdef HAVE_STRFTIME
 	return strftime(s, maxsize, format, timeptr);
@@ -186,7 +184,7 @@ my_strftime(
 			snprintf(tbuf, sizeof(tbuf), "%02d", timeptr->tm_min);
 			break;
 
-		case 'p':	/* am or pm based on 12-hour clock */
+		case 'p':	/* AM or PM based on 12-hour clock */
 			strcpy(tbuf, ampm[((timeptr->tm_hour < 12) ? 0 : 1)]);
 			break;
 
@@ -254,6 +252,40 @@ my_strftime(
 			break;
 #	endif /* SYSV_EXT */
 
+		case 'C': /* century number (SU) */
+			sprintf(tbuf, "%02d", (timeptr->tm_year + 1900) / 100);
+			break;
+
+		case 'F': /* ISO 8601 date format (C99) */
+			my_strftime(tbuf, sizeof(tbuf), "%Y-%m-%d", timeptr);
+			break;
+
+		case 'k':	/* 24-hour clock, blank padded */
+			snprintf(tbuf, sizeof(tbuf), "%2d", timeptr->tm_hour);
+			break;
+
+		case 'l':	/* 12-hour clock, blank padded */
+			i = timeptr->tm_hour;
+			if (i == 0)
+				i = 12;
+			else if (i > 12)
+				i -=12;
+			snprintf(tbuf, sizeof(tbuf), "%2d", i);
+			break;
+
+		case 'P':	/* am or pm based on 12-hour clock (GNU) */
+			strcpy(tbuf, ampm[((timeptr->tm_hour < 12) ? 0 : 1)]);
+			str_lwr(tbuf);
+			break;
+
+		case 's': /* seconds since the Epoch */
+			sprintf(tbuf, "%ld", time((time_t *) 0));
+			break;
+
+		case 'u': /* day of the week, range 1 to 7 */
+			sprintf(tbuf, "%d", timeptr->tm_wday == 0 ? 7 : timeptr->tm_wday);
+			break;
+
 		default:
 			tbuf[0] = '%';
 			tbuf[1] = *format;
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/string.c tin-2.6.4/src/string.c
--- tin-2.6.3/src/string.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/string.c	2024-12-18 14:49:47.599325090 +0100
@@ -3,10 +3,10 @@
  *  Module    : string.c
  *  Author    : Urs Janssen <urs@tin.org>
  *  Created   : 1997-01-20
- *  Updated   : 2023-12-06
+ *  Updated   : 2024-12-18
  *  Notes     :
  *
- * Copyright (c) 1997-2024 Urs Janssen <urs@tin.org>
+ * Copyright (c) 1997-2025 Urs Janssen <urs@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -61,13 +61,6 @@
  * this file needs some work
  */
 
-/*
- * local prototypes
- */
-#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-	static wchar_t *my_wcsdup(const wchar_t *wstr);
-#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
-
 
 /*
  * special ltoa()
@@ -79,35 +72,36 @@
 char *
 tin_ltoa(
 	t_artnum value,
-	int digits)
+	size_t digits)
 {
 	static char buffer[64];
-	static const char power[] = { ' ', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y', 'R', 'Q', '\0' };
-	int len;
+	static const char power[] = { 'e', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y', 'R', 'Q', '\0' };
+	size_t len;
 	size_t i = 0;
 
-	if (digits <= 0) {
-		buffer[0] = 'e';
-		return buffer;
-	}
+	if (digits >= sizeof(buffer))
+		digits = sizeof(buffer) - 1;
+
+	if (!digits)
+		++digits;
 
 	snprintf(buffer, sizeof(buffer), "%"T_ARTNUM_PFMT, value);
-	len = (int) strlen(buffer);
+	len = strlen(buffer);
 
 	/*
 	 * only shorten if necessary,
 	 * then ensure that the metric prefix fits into the buffer
 	 */
-	if (len > digits) {
+	if (len > digits && digits >= 3) {
 		while (len >= digits) {
 			len -= 3;
-			i++;
+			++i;
 		}
 	}
 
-	if (i >= strlen(power)) {	/* buffer is to small */
-		buffer[(digits & 0x7f) - 1] = 'e';
-		buffer[(digits & 0x7f)] = '\0';
+	if (i >= strlen(power) || len > digits) {	/* buffer is to small */
+		buffer[digits - 1] = power[0];
+		buffer[digits] = '\0';
 		return buffer;
 	}
 
@@ -118,11 +112,11 @@ tin_ltoa(
 		if (digits > len)
 			buffer[digits - 1] = power[i];
 		else /* overflow */
-			buffer[digits - 1] = 'e';
+			buffer[digits - 1] = power[0];
 
 		buffer[digits] = '\0';
 	} else
-		snprintf(buffer, sizeof(buffer), "%*"T_ARTNUM_PFMT, digits, value);
+		snprintf(buffer, sizeof(buffer), "%*"T_ARTNUM_PFMT, (int) digits, value);
 
 	return buffer;
 }
@@ -139,19 +133,43 @@ char *
 my_strdup(
 	const char *str)
 {
-	size_t len = strlen(str) + 1;
-	void *ptr = my_malloc(len);
+	size_t len = 1;
+	void *ptr;
 
-#	if 0 /* as my_malloc exits on error, ptr can't be NULL */
-	if (ptr == NULL)
-		return NULL;
-#	endif /* 0 */
+	if (str && *str)
+		len += strlen(str);
+
+	ptr = my_malloc(len);
 
-	memcpy(ptr, str, len);
+	memcpy(ptr, BlankIfNull(str), len);
 	return (char *) ptr;
 }
+
+
+char *
+my_strndup(
+	const char *str,
+	size_t n)
+{
+	char *ptr;
+	size_t slen;
+
+	if (str && *str) {
+		if ((slen = strlen(str)) < n)
+			n = slen;
+	} else
+		n = 0;
+
+	ptr = (char *) my_malloc(n + 1);
+	if (n)
+		memcpy(ptr, str, n);
+	*(ptr + n) = '\0';
+
+	return ptr;
+}
 #endif /* !USE_DMALLOC || (USE_DMALLOC && !HAVE_STRDUP) */
 
+
 /*
  * strtok that understands empty tokens
  * ie 2 adjacent delims count as two delims around a \0
@@ -198,6 +216,14 @@ my_strncpy(
 	const char *q,
 	size_t n)
 {
+#ifdef DEBUG
+	assert(((void) "p (dst) must not be NULL", p != NULL));
+	assert(((void) "n (len) must not be < 1", n > 0));
+#else
+	if (!p || n < 1)
+		return;
+#endif /* DEBUG */
+
 	while (n--) {
 		if (!*q || *q == '\n')
 			break;
@@ -223,8 +249,8 @@ strcasestr(
 	n = needle;
 	while (*haystack) {
 		if (my_tolower((unsigned char) *h) == my_tolower((unsigned char) *n)) {
-			h++;
-			n++;
+			++h;
+			++n;
 			if (!*n)
 				return (char *) haystack;
 		} else {
@@ -247,7 +273,7 @@ mystrcat(
 
 	while (*s) {
 		*((*t)++) = *s++;
-		len++;
+		++len;
 	}
 	**t = '\0';
 	return len;
@@ -288,6 +314,9 @@ my_toupper(
 }
 
 
+/*
+ * TODO: add a wide char variant "wchar *wstr_lwr(wchar *wc)"
+ */
 void
 str_lwr(
 	char *str)
@@ -327,6 +356,7 @@ strpbrk(
 }
 #endif /* !HAVE_STRPBRK */
 
+
 #ifndef HAVE_STRSTR
 /*
  * ANSI C strstr() - Uses Boyer-Moore algorithm.
@@ -368,7 +398,7 @@ strstr(
 	 * pattern, and i counts the amount of text remaining, not
 	 * including the part to be tested.
 	 */
-	p1--;
+	--p1;
 	p = (unsigned char *) pattern + p1;
 	t = (unsigned char *) text + p1;
 	i = textlen - patlen;
@@ -385,7 +415,8 @@ strstr(
 }
 #endif /* !HAVE_STRSTR */
 
-#ifndef HAVE_ATOL
+
+#ifndef HAVE_ATOL /* unused except in atoartnum-marco */
 /*
  * handrolled atol
  */
@@ -397,23 +428,24 @@ atol(
 
 	/* skip leading whitespace(s) */
 	while (*s && isspace((unsigned char) *s))
-		s++;
+		++s;
 
 	while (*s) {
-		if (isdigit(*s))
+		if (isdigit((unsigned char) *s))
 			ret = ret * 10 + (*s - '0');
 		else
 			return -1;
-		s++;
+		++s;
 	}
 	return ret;
 }
 #endif /* !HAVE_ATOL */
 
+
 #ifndef HAVE_STRTOL
-/* fix me - put me in tin.h */
 #	define DIGIT(x) (isdigit((unsigned char) x) ? ((x) - '0') : (10 + my_tolower((unsigned char) x) - 'a'))
 #	define MBASE 36
+/* doesn't do ERANGE */
 long
 strtol(
 	const char *str,
@@ -423,15 +455,20 @@ strtol(
 	long val = 0L;
 	int xx = 0, sign = 1;
 
-	if (use_base < 0 || use_base > MBASE)
+	if (use_base < 0 || use_base == 1 || use_base > MBASE) {
+		errno = EINVAL;
 		goto OUT;
+	}
+
 	while (isspace((unsigned char) *str))
 		++str;
+
 	if (*str == '-') {
 		++str;
 		sign = -1;
 	} else if (*str == '+')
 		++str;
+
 	if (use_base == 0) {
 		if (*str == '0') {
 			++str;
@@ -454,6 +491,7 @@ strtol(
 		val = use_base * val - xx;
 		++str;
 	}
+
 OUT:
 	if (ptr != NULL)
 		*ptr = str;
@@ -464,8 +502,8 @@ OUT:
 #	undef MBASE
 #endif /* !HAVE_STRTOL */
 
+
 #if !defined(HAVE_STRCASECMP) || !defined(HAVE_STRNCASECMP)
-	/* fix me - put me in tin.h */
 #	define FOLD_TO_UPPER(a)	(my_toupper((unsigned char) (a)))
 #endif /* !HAVE_STRCASECMP || !HAVE_STRNCASECMP */
 /*
@@ -488,6 +526,7 @@ strcasecmp(
 }
 #endif /* !HAVE_STRCASECMP */
 
+
 #ifndef HAVE_STRNCASECMP
 int
 strncasecmp(
@@ -504,6 +543,7 @@ strncasecmp(
 }
 #endif /* !HAVE_STRNCASECMP */
 
+
 #ifndef HAVE_STRSEP
 /*
  * strsep() is not mandatory in ANSI-C
@@ -550,14 +590,14 @@ str_trim(
 	if (!(s = strlen(string)))
 		return string;
 
-	/* remove training spaces */
+	/* remove trailing spaces */
 	ep = string + s - 1;
-	while (ep >= string && isspace((int) *ep))
-		ep--;
+	while (ep >= string && isspace((unsigned char) *ep))
+		--ep;
 	*(ep + 1) = '\0';
 
 	/* skip leading space */
-	for (rp = wp = string; isspace((int) *rp); rp++)
+	for (rp = wp = string; isspace((unsigned char) *rp); rp++)
 		;
 
 	/* copy if required to keep address */
@@ -584,12 +624,12 @@ eat_tab(
 
 	while (*p1) {
 		if (*p1 == '\t' || *p1 == '\r' || *p1 == '\n') {
-			p1++;
+			++p1;
 		} else if (p1 != p2) {
 			*p2++ = *p1++;
 		} else {
-			p1++;
-			p2++;
+			++p1;
+			++p2;
 		}
 	}
 	if (p1 != p2)
@@ -602,12 +642,12 @@ eat_tab(
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 wchar_t *
 wexpand_tab(
-	wchar_t *wstr,
+	const wchar_t *wstr,
 	size_t tab_width)
 {
 	size_t cur_len = LEN, i = 0, tw;
 	wchar_t *wbuf = my_malloc(cur_len * sizeof(wchar_t));
-	wchar_t *wc = wstr;
+	const wchar_t *wc = wstr;
 
 	while (*wc) {
 		if (i > cur_len - (tab_width + 1)) {
@@ -620,24 +660,38 @@ wexpand_tab(
 				wbuf[i++] = (wchar_t) ' ';
 		} else
 			wbuf[i++] = *wc;
-		wc++;
+		++wc;
 	}
 	wbuf[i] = '\0';
 
 	return wbuf;
 }
-
-
-#else /* !MULTIBYTE_ABLE || NO_LOCALE */
+#endif /* !MULTIBYTE_ABLE || NO_LOCALE */
 
 
 char *
 expand_tab(
-	char *str,
+	const char *str,
 	size_t tab_width)
 {
+	char *buf = my_calloc(1, LEN);
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+	wchar_t *wmessage, *wbuf;
+
+	if ((wmessage = char2wchar_t(str)) != NULL) {
+		if ((wbuf = wexpand_tab(wmessage, tab_width))) {
+			free(buf);
+			if ((buf = wchar_t2char(wbuf)) != NULL) {
+				free(wbuf);
+				free(wmessage);
+				return buf;
+			}
+			free(wbuf);
+		}
+		free(wmessage);
+	}
+#else
 	size_t cur_len = LEN, i = 0, tw;
-	char *buf = my_malloc(cur_len);
 	char *c = str;
 
 	while (*c) {
@@ -651,13 +705,13 @@ expand_tab(
 				buf[i++] = ' ';
 		} else
 			buf[i++] = *c;
-		c++;
+		++c;
 	}
 	buf[i] = '\0';
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
 	return buf;
 }
-#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
 
 /*
@@ -694,9 +748,7 @@ sh_format(
 	va_start(ap, fmt);
 
 	while (*fmt != 0) {
-		int ch;
-
-		ch = *fmt++;
+		int ch = *fmt++;
 
 		if (ch == '\\') {
 			SH_FORMAT(ch);
@@ -795,12 +847,10 @@ strrstr(
 	const char *str,
 	const char *pat)
 {
-	const char *ptr;
-	size_t slen, plen;
-
 	if ((str != NULL) && (pat != NULL)) {
-		slen = strlen(str);
-		plen = strlen(pat);
+		const char *ptr;
+		size_t slen = strlen(str);
+		size_t plen = strlen(pat);
 
 		if ((plen != 0) && (plen <= slen)) {
 			for (ptr = str + (slen - plen); ptr > str; --ptr) {
@@ -838,8 +888,10 @@ char2wchar_t(
 		return NULL;
 	}
 
-	wstr = my_calloc(1, sizeof(wchar_t) * (len + 1));
-	mbstowcs(wstr, test, len + 1);
+	/* if ((len = mbstowcs(NULL, test, 0) == (size_t) (-1)) { free(test); return NULL; } */
+	wstr = my_calloc(len + 1, sizeof(wchar_t));
+	/* pos = */ mbstowcs(wstr, test, len);
+	/* wstr[pos == (size_t) (-1) ? 0 : pos] = '\0'; */
 	free(test);
 
 	return wstr;
@@ -854,9 +906,8 @@ wchar_t2char(
 	const wchar_t *wstr)
 {
 	char *str;
-	size_t len;
+	size_t len = wcstombs(NULL, wstr, 0);
 
-	len = wcstombs(NULL, wstr, 0);
 	if (len == (size_t) (-1))
 		return NULL;
 
@@ -873,7 +924,7 @@ wchar_t2char(
 char *
 spart(
 	const char *str,
-	int columns,
+	size_t columns,
 	t_bool pad)
 {
 	char *buf = NULL;
@@ -897,10 +948,10 @@ spart(
 wchar_t *
 wcspart(
 	const wchar_t *wstr,
-	int columns,
+	size_t columns,
 	t_bool pad)
 {
-	int used = 0;
+	size_t used = 0;
 	wchar_t *ptr, *wbuf;
 
 	wbuf = my_wcsdup(wstr);
@@ -914,11 +965,9 @@ wcspart(
 
 	/* pad with spaces */
 	if (pad) {
-		int gap;
+		size_t gap = columns - used;
 
-		gap = columns - wcswidth(wbuf, wcslen(wbuf) + 1);
-		assert(gap >= 0);
-		wbuf = my_realloc(wbuf, sizeof(wchar_t) * (wcslen(wbuf) + (size_t) gap + 1));
+		wbuf = my_realloc(wbuf, sizeof(wchar_t) * (wcslen(wbuf) + (size_t) (gap + 1)));
 		ptr = wbuf + wcslen(wbuf); /* set ptr again to end of wbuf */
 
 		while (gap-- > 0)
@@ -945,7 +994,7 @@ abbr_wcsgroupname(
 
 	dest = new_grpname = my_wcsdup(grpname);
 
-	if (wcswidth(grpname, wcslen(grpname)) > len) {
+	if (len > 0 && wcswidth(grpname, wcslen(grpname)) > len) {
 		if ((src = wcschr(grpname, (wchar_t) '.')) != NULL) {
 			tmplen = wcwidth(*dest++);
 
@@ -982,9 +1031,9 @@ abbr_wcsgroupname(
 
 	return new_grpname;
 }
-
 #else /* !MULTIBYTE_ABLE || NO_LOCALE */
 
+
 /*
  * Abbreviate a groupname like this:
  * 	foo.bar.baz
@@ -1005,7 +1054,7 @@ abbr_groupname(
 
 	if (strlen(grpname) > len) {
 		if ((src = strchr(grpname, '.')) != NULL) {
-			dest++;
+			++dest;
 			tmplen = 1;
 
 			do {
@@ -1065,7 +1114,6 @@ strwidth(
 }
 
 
-#define TRUNC_TAIL	"..."
 /*
  * shortens 'mesg' that it occupies at most 'len' screen positions.
  * If it was necessary to truncate 'mesg', " ..." is appended to the
@@ -1075,13 +1123,13 @@ strwidth(
 char *
 strunc(
 	const char *message,
-	int len)
+	size_t len)
 {
 	char *tmp;
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 	wchar_t *wmessage, *wbuf;
 
-	if ((wmessage = char2wchar_t(message)) != NULL) {
+	if ((wmessage = char2wchar_t(BlankIfNull(message))) != NULL) {
 		wbuf = wstrunc(wmessage, len);
 		free(wmessage);
 
@@ -1095,11 +1143,11 @@ strunc(
 	/* something went wrong using wide-chars, default back to normal chars */
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
-	if ((int) strlen(message) <= len)
-		tmp = my_strdup(message);
+	if (strlen(BlankIfNull(message)) <= len)
+		tmp = my_strdup(BlankIfNull(message));
 	else {
 		tmp = my_malloc(len + 1);
-		snprintf(tmp, (size_t) (len + 1), "%-.*s%s", len - 3, message, TRUNC_TAIL);
+		snprintf(tmp, len + 1, "%-.*s%s", (int) (len - 3), message, TRUNC_TAIL);
 	}
 
 	return tmp;
@@ -1111,7 +1159,7 @@ strunc(
 wchar_t *
 wstrunc(
 	const wchar_t *wmessage,
-	int len)
+	size_t len)
 {
 	wchar_t *wtmp;
 
@@ -1119,29 +1167,33 @@ wstrunc(
 	wtmp = my_wcsdup(wmessage);
 	wconvert_to_printable(wtmp, FALSE);
 
-	if (wcswidth(wtmp, wcslen(wtmp)) > len) {
+	if (wcswidth(wtmp, wcslen(wtmp)) > (int) len) {
 		/* wtmp must be truncated */
 		size_t len_tail;
 		wchar_t *wtmp2, *tail;
 
-		if (tinrc.utf8_graphics) {
-			/*
-			 * use U+2026 (HORIZONTAL ELLIPSIS) instead of "..."
-			 * we gain two additional screen positions
-			 */
-			tail = my_calloc(2, sizeof(wchar_t));
-			tail[0] = 8230; /* U+2026 */
-		} else
+		if (tinrc.utf8_graphics)
+			tail = my_wcsdup((const wchar_t *) WTRUNC_TAIL);
+		else
 			tail = char2wchar_t(TRUNC_TAIL);
 
 		len_tail = tail ? wcslen(tail) : 0;
-		wtmp2 = wcspart(wtmp, (int) ((size_t) len - len_tail), FALSE);
+		if (len_tail > len) {
+			FreeAndNull(tail);
+			len_tail = 0;
+		}
+		wtmp2 = wcspart(wtmp, len - len_tail, FALSE);
 		free(wtmp);
-		wtmp = my_realloc(wtmp2, sizeof(wchar_t) * (wcslen(wtmp2) + len_tail + 1));	/* wtmp2 isn't valid anymore and doesn't have to be free()ed */
-		if (!tail)
-			tail = my_calloc(1, sizeof(wchar_t));
-		wcscat(wtmp, tail);
-		free(tail);
+
+		if (wtmp2)
+			wtmp = my_realloc(wtmp2, sizeof(wchar_t) * (wcslen(wtmp2) + len_tail + 1));	/* wtmp2 isn't valid anymore and doesn't have to be free()ed */
+		else
+			wtmp = my_calloc(len_tail + 1, sizeof(wchar_t));
+
+		if (tail && *tail)
+			wcscat(wtmp, tail);
+
+		FreeIfNeeded(tail);
 	}
 
 	return wtmp;
@@ -1151,14 +1203,19 @@ wstrunc(
 /*
  * duplicates a wide-char string
  */
-static wchar_t *
+wchar_t *
 my_wcsdup(
 	const wchar_t *wstr)
 {
-	size_t len = wcslen(wstr) + 1;
-	void *ptr = my_malloc(sizeof(wchar_t) * len);
+	size_t len = 1;
+	void *ptr;
 
-	memcpy(ptr, wstr, sizeof(wchar_t) * len);
+	if (wstr)
+		len += wcslen(wstr);
+
+	ptr = (wchar_t *) my_calloc(len, sizeof(wchar_t));
+	if (wstr && *wstr && len > 1)
+		memcpy(ptr, wstr, sizeof(wchar_t) * len);
 	return (wchar_t *) ptr;
 }
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
@@ -1246,7 +1303,7 @@ normalize(
 		UChar *ustr, *norm;
 		UErrorCode status = U_ZERO_ERROR;
 #		ifdef HAVE_UNICODE_UNORM2_H
-		static const char *uni_name[] = {"nfc", "nfkc", "nfkc_cf"}; /* */
+		static const char *uni_name[] = { "nfc", "nfkc", "nfkc_cf" };
 		const char *uni_namep;
 		UNormalization2Mode mode;
 #		else
@@ -1439,9 +1496,10 @@ parse_format_string(
 	struct t_fmt *fmt)
 {
 	char tmp_date_str[LEN];
+	char tmp_str[LEN];
 	char *out, *d_fmt, *buf;
 	const char *in;
-	int min_cols;
+	int min_cols, max_cols, cond_len;
 	size_t cnt = 0;
 	size_t len, len2, tmplen;
 	time_t tmptime;
@@ -1461,7 +1519,8 @@ parse_format_string(
 		SCORE			= 1 << 11,
 		SUBJECT			= 1 << 12,
 		THREAD_TREE		= 1 << 13,
-		U_CNT			= 1 << 14
+		U_CNT			= 1 << 14,
+		FROM_FIRST		= 1 << 15
 	};
 	int flags = NO_FLAGS;
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
@@ -1492,10 +1551,12 @@ parse_format_string(
 	fmt->g_before_f = FALSE;
 	fmt->d_before_u = FALSE;
 	fmt->g_before_u = FALSE;
-	fmt->date_str[0] = '\0';
+	FreeAndNull(fmt->str);
+	FreeAndNull(fmt->date_str);
 	tmp_date_str[0] = '\0';
+	tmp_str[0] = '\0';
 	in = fmtstr;
-	out = fmt->str;
+	out = tmp_str;
 
 	if (tinrc.draw_arrow)
 		cnt += 2;
@@ -1503,12 +1564,14 @@ parse_format_string(
 	for (; *in; in++) {
 		if (*in != '%') {
 			*out++ = *in;
-			cnt++;
+			++cnt;
 			continue;
 		}
 		*out++ = *in++;
 		len = 0;
 		len2 = 0;
+		cond_len = 0;
+		max_cols = cCOLS + 1;
 		min_cols = 0;
 		tmp_date_str[0] = '\0';
 		d_fmt = tmp_date_str;
@@ -1531,6 +1594,21 @@ parse_format_string(
 					;
 			}
 		}
+		if (*in == '<') {
+			if (*++in > '0' && *in <= '9') {
+				max_cols = atoi(in);
+				for (; *in >= '0' && *in <= '9'; in++)
+					;
+			}
+		}
+		if (*in == ':') {
+			if (*++in > '0' && *in <= '9') {
+				cond_len = atoi(in);
+				for (; *in >= '0' && *in <= '9'; in++)
+					;
+			} else
+				cond_len = -1;
+		}
 		if (*in == '(') {
 			char *tmpp;
 			const char *endp = NULL;
@@ -1546,9 +1624,9 @@ parse_format_string(
 					*d_fmt++ = *in;
 
 				*d_fmt = '\0';
-				in++;
+				++in;
 			} else {
-				out--;
+				--out;
 				*out++ = *in;
 				continue;
 			}
@@ -1559,12 +1637,12 @@ parse_format_string(
 				break;
 
 			case '%':
-				cnt++;
+				++cnt;
 				break;
 
 			case 'd':
 				/* Newsgroup description */
-				if (cCOLS > min_cols && !(flags & GRP_DESC) && signal_context == cSelect) {
+				if ((cCOLS > min_cols && cCOLS < max_cols) && !(flags & GRP_DESC) && signal_context == cSelect) {
 					flags |= GRP_DESC;
 					fmt->show_grpdesc = TRUE;
 					if (len)
@@ -1575,12 +1653,12 @@ parse_format_string(
 
 			case 'D':
 				/* Date */
-				if (cCOLS > min_cols && (!(flags & DATE) && (signal_context == cGroup || signal_context == cThread))) {
+				if ((cCOLS > min_cols && cCOLS < max_cols) && !(flags & DATE) && (signal_context == cGroup || signal_context == cThread)) {
 					flags |= DATE;
 					if (*tmp_date_str)
-						strcpy(fmt->date_str, tmp_date_str);
+						fmt->date_str = my_strdup(tmp_date_str);
 					else
-						STRCPY(fmt->date_str, curr_group->attribute->date_format);
+						fmt->date_str = my_strdup(curr_group->attribute->date_format ? BlankIfNull(*curr_group->attribute->date_format) : "");
 					buf = my_malloc(LEN);
 					(void) time(&tmptime);
 					if (my_strftime(buf, LEN - 1, fmt->date_str, localtime(&tmptime))) {
@@ -1605,7 +1683,7 @@ parse_format_string(
 
 			case 'f':
 				/* Newsgroup flags */
-				if (cCOLS > min_cols && !(flags & GRP_FLAGS) && signal_context == cSelect) {
+				if ((cCOLS > min_cols && cCOLS < max_cols) && !(flags & GRP_FLAGS) && signal_context == cSelect) {
 					flags |= GRP_FLAGS;
 					fmt->flags_offset = cnt;
 					if (flags & GRP_NAME)
@@ -1619,18 +1697,19 @@ parse_format_string(
 
 			case 'F':
 				/* From */
-				if (!(flags & FROM) && (signal_context == cGroup || signal_context == cThread)) {
+				if (((cCOLS > min_cols && cCOLS < max_cols) || cond_len) && !(flags & FROM) && (signal_context == cGroup || signal_context == cThread)) {
 					flags |= FROM;
-					if (len)
-						fmt->len_from = len;
+					if (!(flags & (SUBJECT | THREAD_TREE)))
+						flags |= FROM_FIRST;
 
+					fmt->len_from = (cCOLS > min_cols && cCOLS < max_cols) ? len : cond_len > 0 ? cond_len : 0;
 				} else
 					out -= 2;
 				break;
 
 			case 'G':
 				/* Newsgroup name */
-				if (cCOLS > min_cols && !(flags & GRP_NAME) && signal_context == cSelect) {
+				if ((cCOLS > min_cols && cCOLS < max_cols) && !(flags & GRP_NAME) && signal_context == cSelect) {
 					flags |= GRP_NAME;
 					if (len)
 						fmt->len_grpname = len;
@@ -1642,7 +1721,7 @@ parse_format_string(
 
 			case 'I':
 				/* Initials */
-				if (cCOLS > (int) min_cols && !(flags & INITIALS) && (signal_context == cGroup || signal_context == cThread)) {
+				if ((cCOLS > min_cols && cCOLS < max_cols) && !(flags & INITIALS) && (signal_context == cGroup || signal_context == cThread)) {
 					flags |= INITIALS;
 					fmt->len_initials = (len ? len : 3);
 					cnt += fmt->len_initials;
@@ -1652,7 +1731,7 @@ parse_format_string(
 
 			case 'L':
 				/* Lines */
-				if (cCOLS > min_cols && !(flags & LINE_CNT) && (signal_context == cGroup || signal_context == cThread)) {
+				if ((cCOLS > min_cols && cCOLS < max_cols) && !(flags & LINE_CNT) && (signal_context == cGroup || signal_context == cThread)) {
 					flags |= LINE_CNT;
 					fmt->len_linecnt = (len ? len : 4);
 					cnt += fmt->len_linecnt;
@@ -1662,16 +1741,16 @@ parse_format_string(
 
 			case 'm':
 				/* Article marks */
-				if (cCOLS > (int) min_cols && !(flags & ART_MARKS) && (signal_context == cGroup || signal_context == cThread)) {
+				if ((cCOLS > min_cols && cCOLS < max_cols) && !(flags & ART_MARKS) && (signal_context == cGroup || signal_context == cThread)) {
 					flags |= ART_MARKS;
-					cnt += 3;
+					cnt += (art_mark_width + 2);
 				} else
 					out -= 2;
 				break;
 
 			case 'M':
 				/* Message-ID */
-				if (cCOLS > min_cols && !(flags & MSGID) && (signal_context == cGroup || signal_context == cThread)) {
+				if ((cCOLS > min_cols && cCOLS < max_cols) && !(flags & MSGID) && (signal_context == cGroup || signal_context == cThread)) {
 					flags |= MSGID;
 					fmt->len_msgid = (len ? len : 10);
 					cnt += fmt->len_msgid;
@@ -1681,7 +1760,7 @@ parse_format_string(
 
 			case 'n':
 				/* Number in the menu */
-				if (cCOLS > min_cols && !(flags & LINE_NUMBER)) {
+				if ((cCOLS > min_cols && cCOLS < max_cols) && !(flags & LINE_NUMBER)) {
 					flags |= LINE_NUMBER;
 					fmt->len_linenumber = (len ? len : 4);
 					cnt += fmt->len_linenumber;
@@ -1691,7 +1770,7 @@ parse_format_string(
 
 			case 'R':
 				/* Number of responses in the thread */
-				if (cCOLS > min_cols && !(flags & RESP_COUNT) && signal_context == cGroup) {
+				if ((cCOLS > min_cols && cCOLS < max_cols) && !(flags & RESP_COUNT) && signal_context == cGroup) {
 					flags |= RESP_COUNT;
 					fmt->len_respcnt = (len ? len : 3);
 					cnt += fmt->len_respcnt;
@@ -1701,17 +1780,16 @@ parse_format_string(
 
 			case 's':
 				/* Subject */
-				if (cCOLS > min_cols && !(flags & SUBJECT) && signal_context == cGroup) {
+				if (((cCOLS > min_cols && cCOLS < max_cols) || cond_len) && !(flags & SUBJECT) && signal_context == cGroup) {
 					flags |= SUBJECT;
-					if (len)
-						fmt->len_subj = len;
+					fmt->len_subj = (cCOLS > min_cols && cCOLS < max_cols) ? len : cond_len > 0 ? cond_len : 0;
 				} else
 					out -= 2;
 				break;
 
 			case 'S':
 				/* Score */
-				if (cCOLS > min_cols && !(flags & SCORE) && (signal_context == cGroup || signal_context == cThread)) {
+				if ((cCOLS > min_cols && cCOLS < max_cols) && !(flags & SCORE) && (signal_context == cGroup || signal_context == cThread)) {
 					flags |= SCORE;
 					fmt->len_score = (len ? len : 6);
 					cnt += fmt->len_score;
@@ -1721,18 +1799,17 @@ parse_format_string(
 
 			case 'T':
 				/* Thread tree */
-				if (cCOLS > min_cols && !(flags & THREAD_TREE) && signal_context == cThread) {
+				if (((cCOLS > min_cols && cCOLS < max_cols) || cond_len) && !(flags & THREAD_TREE) && signal_context == cThread) {
 					flags |= THREAD_TREE;
 					show_subject = TRUE;
-					if (len)
-						fmt->len_subj = len;
+					fmt->len_subj = (cCOLS > min_cols && cCOLS < max_cols) ? len : cond_len > 0 ? cond_len : 0;
 				} else
 					out -= 2;
 				break;
 
 			case 'U':
 				/* Unread count */
-				if (cCOLS > min_cols && !(flags & U_CNT) && signal_context == cSelect) {
+				if ((cCOLS > min_cols && cCOLS < max_cols) && !(flags & U_CNT) && signal_context == cSelect) {
 					flags |= U_CNT;
 					fmt->len_ucnt = (len ? len : 5);
 					fmt->ucnt_offset = cnt;
@@ -1748,12 +1825,13 @@ parse_format_string(
 			default:
 				out -= 2;
 				*out++ = *in;
-				cnt++;
+				++cnt;
 				break;
 		}
 	}
 
 	*out = '\0';
+	fmt->str = my_strdup(tmp_str);
 
 	/*
 	 * check the given values against the screen width, fallback
@@ -1764,13 +1842,27 @@ parse_format_string(
 	 * if we draw no thread tree %F can use the entire space - otherwise
 	 * %F will use one third of the space
 	 */
-	if (cnt > (size_t) cCOLS - 1) {
+	if (!*fmt->str || cnt > (size_t) cCOLS - 1) {
 		flags = NO_FLAGS;
 		fmt->len_linenumber = 4;
 		switch (signal_context) {
+			case cGroup:
+				if (!*fmt->str)
+					error_message(3, _(txt_error_empty_format_string), DEFAULT_GROUP_FORMAT);
+				else
+					error_message(3, _(txt_error_format_string), DEFAULT_GROUP_FORMAT);
+				free(fmt->str);
+				fmt->str = my_strdup(DEFAULT_GROUP_FORMAT);
+				flags = (LINE_NUMBER | ART_MARKS | RESP_COUNT | LINE_CNT | SUBJECT | FROM);
+				cnt = tinrc.draw_arrow ? 23 : 21;
+				fmt->len_linecnt = 4;
+				fmt->len_respcnt = 3;
+				break;
+
 			case cSelect:
-				error_message(2, _(txt_error_format_string), DEFAULT_SELECT_FORMAT);
-				STRCPY(fmt->str, DEFAULT_SELECT_FORMAT);
+				error_message(3, _(txt_error_format_string), DEFAULT_SELECT_FORMAT);
+				free(fmt->str);
+				fmt->str = my_strdup(DEFAULT_SELECT_FORMAT);
 				flags = (GRP_FLAGS | LINE_NUMBER | U_CNT | GRP_NAME | GRP_DESC);
 				cnt = tinrc.draw_arrow ? 18 : 16;
 				fmt->show_grpdesc = TRUE;
@@ -1781,18 +1873,13 @@ parse_format_string(
 				fmt->len_ucnt = 5;
 				break;
 
-			case cGroup:
-				error_message(2, _(txt_error_format_string), DEFAULT_GROUP_FORMAT);
-				STRCPY(fmt->str, DEFAULT_GROUP_FORMAT);
-				flags = (LINE_NUMBER | ART_MARKS | RESP_COUNT | LINE_CNT | SUBJECT | FROM);
-				cnt = tinrc.draw_arrow ? 23 : 21;
-				fmt->len_linecnt = 4;
-				fmt->len_respcnt = 3;
-				break;
-
 			case cThread:
-				error_message(2, _(txt_error_format_string), DEFAULT_THREAD_FORMAT);
-				STRCPY(fmt->str, DEFAULT_THREAD_FORMAT);
+				if (!*fmt->str)
+					error_message(3, _(txt_error_empty_format_string), DEFAULT_THREAD_FORMAT);
+				else
+					error_message(3, _(txt_error_format_string), DEFAULT_THREAD_FORMAT);
+				free(fmt->str);
+				fmt->str = my_strdup(DEFAULT_THREAD_FORMAT);
 				flags = (LINE_NUMBER | ART_MARKS | LINE_CNT | THREAD_TREE | FROM);
 				cnt = tinrc.draw_arrow ? 22 : 20;
 				fmt->len_linecnt = 4;
@@ -1802,37 +1889,88 @@ parse_format_string(
 				break;
 		}
 
-		if (flags & SUBJECT)
+		if (flags & (SUBJECT | THREAD_TREE))
 			fmt->len_from = ((size_t) cCOLS - cnt - 1) / 3;
 		else
 			fmt->len_from = ((size_t) cCOLS - cnt - 1);
 
 		fmt->len_subj = (size_t) cCOLS - fmt->len_from - cnt - 1;
 	} else {
+		int len_cnt, len_tmp;
+		size_t *len_first, *len_last;
+		t_bool flags_first, flags_last;
+
+		len_cnt = (int) (cCOLS - (int) cnt - 1 < 0 ? 0 : cCOLS - cnt - 1);
+
 		if (flags & (GRP_NAME | GRP_DESC))
-			fmt->len_grpname_max = (size_t) cCOLS - cnt - 1;
+			fmt->len_grpname_max = (size_t) len_cnt;
 
 		if (!show_description && !(flags & GRP_NAME))
 			fmt->len_grpname_max = 0;
 
-		if ((flags & DATE) && fmt->len_date > ((size_t) cCOLS - cnt - 1))
-			fmt->len_date = ((size_t) cCOLS - cnt - 1);
+		if ((flags & DATE) && fmt->len_date > (size_t) len_cnt)
+			fmt->len_date = (size_t) len_cnt;
 
-		if ((flags & DATE) && (!fmt->len_date_max || fmt->len_date_max > ((size_t) cCOLS - cnt - 1)))
+		if ((flags & DATE) && (!fmt->len_date_max || fmt->len_date_max > (size_t) len_cnt))
 			fmt->len_date_max = fmt->len_date;
 
-		if ((flags & FROM) && (!fmt->len_from || fmt->len_from > ((size_t) cCOLS - fmt->len_date_max - cnt - 1))) {
-			if (flags & (SUBJECT | THREAD_TREE)) {
-				if (fmt->len_subj)
-					fmt->len_from = (size_t) cCOLS - fmt->len_date_max - fmt->len_subj - cnt - 1;
-				else
-					fmt->len_from = ((size_t) cCOLS - fmt->len_date_max - cnt - 1) / 3;
-			} else
-				fmt->len_from = ((size_t) cCOLS - fmt->len_date_max - cnt - 1);
+		/*
+		 * For %s and %F, the item that comes last is normally truncated
+		 * according to the available space first. If no length is specified
+		 * for the item that comes first, but a length is specified for the
+		 * item that comes last, the logic is reversed. In this case, the item
+		 * that comes first is truncated according to the available space
+		 * first.
+		 */
+		if ((flags & FROM_FIRST)) {
+			if (!fmt->len_from && fmt->len_subj)
+				flags &= ~FROM_FIRST;
+		} else {
+			if (fmt->len_from && !fmt->len_subj)
+				flags |= FROM_FIRST;
 		}
 
-		if ((flags & (SUBJECT | THREAD_TREE)) && (!fmt->len_subj || fmt->len_subj > ((size_t) cCOLS - fmt->len_from - fmt->len_date_max - cnt - 1)))
-			fmt->len_subj = ((size_t) cCOLS - fmt->len_from - fmt->len_date_max - cnt - 1);
+		if ((flags & FROM_FIRST)) {
+			flags_first = (flags & (SUBJECT | THREAD_TREE));
+			flags_last = (flags & FROM);
+			len_first = &fmt->len_from;
+			len_last = &fmt->len_subj;
+		} else {
+			flags_first = (flags & FROM);
+			flags_last = (flags & (SUBJECT | THREAD_TREE));
+			len_first = &fmt->len_subj;
+			len_last = &fmt->len_from;
+		}
+
+		len_tmp = len_cnt - (int) fmt->len_date_max < 0 ? 0 : len_cnt - (int) fmt->len_date_max;
+		if (flags_first) {
+			if (!*len_last || *len_last > (size_t) len_tmp) {
+				if (flags_last) {
+					if (*len_first) {
+						len_tmp = len_cnt - (int) fmt->len_date_max - (int) *len_first;
+						*len_last = (size_t) (len_tmp < 0 ? 0 : len_tmp);
+					} else {
+						len_tmp = len_cnt - (int) fmt->len_date_max;
+						*len_last = (size_t) (len_tmp < 0 ? 0 : len_tmp / 3);
+					}
+					len_tmp = len_cnt - (int) fmt->len_date_max - (int) *len_last;
+					*len_first = (size_t) (len_tmp < 0 ? 0 : len_tmp);
+				} else {
+					len_tmp = len_cnt - (int) fmt->len_date_max;
+					*len_last = (size_t) (len_tmp < 0 ? 0 : len_tmp);
+				}
+			} else {
+				if (flags_last) {
+					if (*len_first) {
+						len_tmp = len_cnt - (int) fmt->len_date_max - (int) *len_first;
+						*len_last = (size_t) (len_tmp < 0 ? 0 : MIN(*len_last, (size_t) len_tmp));
+					}
+					len_tmp = len_cnt - (int) fmt->len_date_max - (int) *len_last;
+					*len_first = (size_t) (len_tmp < 0 ? 0 : MIN(*len_first, (size_t) len_tmp));
+				}
+			}
+		} else if (flags_last && (!*len_first || *len_first > (size_t) len_tmp))
+				*len_first = (size_t) len_tmp;
 	}
 }
 
@@ -1909,3 +2047,63 @@ render_bidi(
 	return tmp;
 }
 #endif /* HAVE_LIBICUUC && MULTIBYTE_ABLE && HAVE_UNICODE_UBIDI_H && !NO_LOCALE */
+
+
+/*
+ * string to int conversion with lower/upper limits
+ * clears/sets errno
+ */
+signed int
+s2i(
+	const char *s,
+	signed int min,
+	signed int max)
+{
+	const char *hex;
+	char *end;
+	signed long res;
+
+	errno = 0;
+
+	if ((hex = strpbrk(s, "xX")) != NULL && hex > s && *(hex - 1) == '0')
+		res = strtol(s, &end, 16);
+	else
+		res = strtol(s, &end, 10);
+
+	if (res < min) {
+		res = min;
+		errno = ERANGE;
+	}
+
+	if (res > max) {
+		res = max;
+		errno = ERANGE;
+	}
+
+	if (s == end) {
+		res = 0;
+		errno = EINVAL;
+	}
+
+	return ((signed int) res);
+}
+
+
+char *
+append_to_string(
+	char *dst,
+	const char *src)
+{
+	if (!src || !*src)
+		return dst;
+
+	if (!dst) {
+		dst = my_strdup(src);
+		return dst;
+	}
+
+	dst = my_realloc(dst, strlen(dst) + strlen(src) + 1);
+	strcat(dst, src);
+
+	return dst;
+}
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/tags.c tin-2.6.4/src/tags.c
--- tin-2.6.3/src/tags.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/tags.c	2024-11-25 20:40:37.875808492 +0100
@@ -3,10 +3,10 @@
  *  Module    : tags.c
  *  Author    : Jason Faultless <jason@altarstone.com>
  *  Created   : 1999-12-06
- *  Updated   : 2020-08-04
+ *  Updated   : 2024-11-25
  *  Notes     : Split out from other modules
  *
- * Copyright (c) 1999-2024 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 1999-2025 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -115,11 +115,9 @@ int
 line_is_tagged(
 	int n)
 {
-	int code = 0;
+	int i, code = 0;
 
 	if (curr_group->attribute->thread_articles) {
-		int i;
-
 		for (i = n; i >= 0; i = arts[i].thread) {
 			if (arts[i].tagged > code)
 				code = arts[i].tagged;
@@ -199,7 +197,7 @@ untag_all_articles(
  * RANGE CODE
  */
 /*
- * Allows user to specify an group/article range that a followup
+ * Allows user to specify a group or article range that a followup
  * command will operate on (eg. catchup articles 1-56) # 1-56 K
  * min/max/curr are the lowest/highest and current positions on the
  * menu from which this was called; used as defaults if needed
@@ -218,7 +216,7 @@ set_range(
 	int max,
 	int curr)
 {
-	char *range;
+	char **range;
 	char *prompt;
 	int artnum;
 	int i;
@@ -228,15 +226,15 @@ set_range(
 
 	switch (level) {
 		case SELECT_LEVEL:
-			range = tinrc.default_range_select;
+			range = &tinrc.default_range_select;
 			break;
 
 		case GROUP_LEVEL:
-			range = tinrc.default_range_group;
+			range = &tinrc.default_range_group;
 			break;
 
 		case THREAD_LEVEL:
-			range = tinrc.default_range_thread;
+			range = &tinrc.default_range_thread;
 			break;
 
 		default:	/* should no happen */
@@ -244,11 +242,11 @@ set_range(
 	}
 
 #if 0
-	error_message(2, "Min=[%d] Max=[%d] Cur=[%d] DefRng=[%s]", min, max, curr, range);
+	error_message(2, "Min=[%d] Max=[%d] Cur=[%d] DefRng=[%s]", min, max, curr, *range);
 #endif /* 0 */
-	prompt = fmt_string(_(txt_enter_range), range);
+	prompt = fmt_string(_(txt_enter_range), *range);
 
-	if (!(prompt_string_default(prompt, range, _(txt_range_invalid), HIST_OTHER))) {
+	if (!(prompt_string_ptr_default(prompt, range, _(txt_range_invalid), HIST_OTHER))) {
 		free(prompt);
 		return FALSE;
 	}
@@ -257,7 +255,7 @@ set_range(
 	/*
 	 * Parse range string
 	 */
-	if (!parse_range(range, min, max, curr, &range_min, &range_max)) {
+	if (!parse_range(*range, min, max, curr, &range_min, &range_max)) {
 		if (range_min == 0 && range_max == -1)
 			only_clear = TRUE;
 		else {
@@ -308,7 +306,7 @@ set_range(
 						break;
 					if (i >= range_min)
 						arts[artnum].inrange = TRUE;
-					i++;
+					++i;
 				}
 			}
 			break;
@@ -344,14 +342,14 @@ parse_range(
 	*range_end = -1;
 
 	while (*ptr && state != DONE) {
-		if (isdigit((int) *ptr)) {
+		if (isdigit((unsigned char) *ptr)) {
 			if (state == FINDMAX) {
 				*range_end = atoi(ptr);
 				state = DONE;
 			} else
 				*range_start = atoi(ptr);
-			while (isdigit((int) *ptr))
-				ptr++;
+			while (isdigit((unsigned char) *ptr))
+				++ptr;
 		} else {
 			switch (*ptr) {
 				case '-':
@@ -376,7 +374,7 @@ parse_range(
 				default:
 					break;
 			}
-			ptr++;
+			++ptr;
 		}
 	}
 
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/tcurses.c tin-2.6.4/src/tcurses.c
--- tin-2.6.3/src/tcurses.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/tcurses.c	2024-12-03 04:06:01.057020334 +0100
@@ -3,11 +3,11 @@
  *  Module    : tcurses.c
  *  Author    : Thomas Dickey <dickey@invisible-island.net>
  *  Created   : 1997-03-02
- *  Updated   : 2023-11-24
+ *  Updated   : 2024-08-15
  *  Notes     : This is a set of wrapper functions adapting the termcap
  *	             interface of tin to use SVr4 curses (e.g., ncurses).
  *
- * Copyright (c) 1997-2024 Thomas Dickey <dickey@invisible-island.net>
+ * Copyright (c) 1997-2025 Thomas Dickey <dickey@invisible-island.net>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -400,8 +400,8 @@ highlight_string(
 		col = 0;
 
 	MoveCursor(row, col);
-	my_innstr(tmp, MIN(size, (LEN / 2) - 1));
-	tmp[MIN(size, LEN - 1)] = '\0';
+	my_innstr(tmp, MIN((size > 0 ? size : 0), (LEN / 2) - 1));
+	tmp[MIN((size > 0 ? size : 0), LEN - 1)] = '\0';
 	StartInverse();
 	my_fputs(tmp, stdout);
 	EndInverse();
@@ -439,7 +439,7 @@ word_highlight_string(
 
 	/*
 	 * In a multibyte locale we get byte offsets instead of character offsets
-	 * calculate now the correct correct starting column
+	 * calculate now the correct starting column
 	 */
 	if (col > 0 && col < (LEN / 2)) {
 		MoveCursor(row, 0);
@@ -456,10 +456,10 @@ word_highlight_string(
 	if (col < 0)
 		col = 0;
 	MoveCursor(row, col);
-	my_innstr(tmp, MIN(size, (LEN / 2) - 1));
+	my_innstr(tmp, MIN((size > 0 ? size: 0), (LEN / 2) - 1));
 
 #		if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-	tmp[MIN(size, LEN - 1)] = '\0';
+	tmp[MIN((size > 0 ? size : 0), LEN - 1)] = '\0';
 	if ((wtmp = char2wchar_t(tmp)) != NULL) {
 		wsize = wcswidth(wtmp, wcslen(wtmp) + 1);
 		free(wtmp);
@@ -467,10 +467,10 @@ word_highlight_string(
 #		endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
 	/* safegurad against bogus regexps */
-	if ((tmp[0] == '*' && tmp[size - 1] == '*') ||
+	if (size > 1 && ((tmp[0] == '*' && tmp[size - 1] == '*') ||
 		 (tmp[0] == '/' && tmp[size - 1] == '/') ||
 		 (tmp[0] == '_' && tmp[size - 1] == '_') ||
-		 (tmp[0] == '-' && tmp[size - 1] == '-')) {
+		 (tmp[0] == '-' && tmp[size - 1] == '-'))) {
 
 		switch (tinrc.word_h_display_marks) {
 			case 0:
@@ -864,10 +864,13 @@ my_innstr(
 	size_t len = 0;
 	wchar_t *buffer;
 
-	buffer = my_malloc(sizeof(wchar_t) * (n + 1));
+	if (n < 0)
+		return 0;
+
+	buffer = my_malloc(sizeof(wchar_t) * (size_t) (n + 1));
 
 	if (innwstr(buffer, n) != ERR) {
-		if ((len = wcstombs(str, buffer, 2 * n)) == (size_t) (-1))
+		if ((len = wcstombs(str, buffer, (size_t) (2 * n))) == (size_t) (-1))
 			len = 0;
 		str[len] = '\0';
 	}
@@ -994,6 +997,7 @@ get_arrow_key(
 	return code;
 }
 
+
 #else
 void my_tcurses(void); /* proto-type */
 void my_tcurses(void) { }	/* ANSI C requires non-empty file */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/thread.c tin-2.6.4/src/thread.c
--- tin-2.6.3/src/thread.c	2023-12-24 00:38:40.000000000 +0100
+++ tin-2.6.4/src/thread.c	2024-12-21 03:50:08.988915849 +0100
@@ -3,10 +3,10 @@
  *  Module    : thread.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2023-11-14
+ *  Updated   : 2024-12-21
  *  Notes     :
  *
- * Copyright (c) 1991-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,7 +62,7 @@ t_bool show_subject;
 	static char get_art_mark(struct t_article *art);
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 static int enter_pager(int art, t_bool ignore_unavail, int level);
-static int thread_catchup(t_function func, struct t_group *group);
+static int thread_catchup(t_function func, const struct t_group *group);
 static int thread_tab_pressed(void);
 static t_bool find_unexpired(struct t_msgid *ptr);
 static t_bool has_sibling(struct t_msgid *ptr);
@@ -81,7 +81,7 @@ static void update_thread_page(void);
  * thdmenu.max		Essentially = # threaded arts in current thread
  * thdmenu.first	Response # at top of screen
  */
-static t_menu thdmenu = {0, 0, 0, show_thread_page, draw_thread_arrow, draw_thread_item };
+static t_menu thdmenu = { 0, 0, 0, show_thread_page, draw_thread_arrow, draw_thread_item };
 
 /* TODO: find a better solution */
 static int ret_code = 0;		/* Set to < 0 when it is time to leave this menu */
@@ -129,8 +129,8 @@ build_tline(
 	int l,
 	struct t_article *art)
 {
-	int gap, fill, i;
-	size_t len, len_start, len_end;
+	int w;
+	size_t gap, fill, i, len, len_start, len_end;
 	struct t_msgid *ptr;
 	char *buffer, *buf;
 	char *fmt = thrd_fmt.str;
@@ -149,9 +149,9 @@ build_tline(
 	 * make it the same size like in !USE_CURSES case to simplify some code
 	 */
 #	if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-		buffer = my_malloc(cCOLS * MB_CUR_MAX + 2);
+		buffer = my_malloc(cCOLS > 0 ? (size_t) cCOLS * MB_CUR_MAX + 2 : 0);
 #	else
-		buffer = my_malloc(cCOLS + 2);
+		buffer = my_malloc(cCOLS > 0 ? (size_t) cCOLS + 2: 0);
 #	endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 #else
 	buffer = screen[INDEX2SNUM(l)].col;
@@ -180,11 +180,11 @@ build_tline(
 				if (my_strftime(buf, LEN - 1, thrd_fmt.date_str, localtime(&art->date))) {
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 					if ((wtmp = char2wchar_t(buf)) != NULL) {
-						wtmp2 = wcspart(wtmp, (int) thrd_fmt.len_date_max, TRUE);
+						wtmp2 = wcspart(wtmp, thrd_fmt.len_date_max, TRUE);
+						free(wtmp);
 						if (wcstombs(tmp, wtmp2, sizeof(tmp) - 1) != (size_t) -1)
 							strcat(buffer, tmp);
 
-						free(wtmp);
 						free(wtmp2);
 					}
 #else
@@ -199,13 +199,14 @@ build_tline(
 				get_author(TRUE, art, tmp, sizeof(tmp) - 1);
 
 				if ((wtmp = char2wchar_t(tmp)) != NULL) {
-					wtmp2 = wcspart(wtmp, (int) thrd_fmt.len_from, TRUE);
-					if (wcstombs(tmp, wtmp2, sizeof(tmp) - 1) != (size_t) -1)
-						strcat(buffer, tmp);
-
+					wtmp2 = wcspart(wtmp, thrd_fmt.len_from, TRUE);
 					free(wtmp);
-					free(wtmp2);
-				}
+				} else
+					wtmp2 = wcspart(L"", thrd_fmt.len_from, TRUE);
+				if (wcstombs(tmp, wtmp2, sizeof(tmp) - 1) != (size_t) -1)
+					strcat(buffer, tmp);
+
+				free(wtmp2);
 #else
 				if (curr_group->attribute->show_author != SHOW_FROM_NONE) {
 					len_start = strwidth(buffer);
@@ -223,9 +224,10 @@ build_tline(
 				len = MIN(thrd_fmt.len_initials, sizeof(tmp) - 1);
 				get_initials(art, tmp, (int) len);
 				strcat(buffer, tmp);
-				if ((i = (int) (len - (size_t) strwidth(tmp))) > 0) {
+				w = strwidth(tmp);
+				if (w > 0 && len > (size_t) w) {
 					buf = buffer + strlen(buffer);
-					for (; i > 0; --i)
+					for (i = len - (size_t) w; i > 0; --i)
 						*buf++ = ' ';
 					*buf = '\0';
 				}
@@ -233,10 +235,10 @@ build_tline(
 
 			case 'L':	/* lines */
 				if (art->line_count != -1)
-					strcat(buffer, tin_ltoa(art->line_count, (int) thrd_fmt.len_linecnt));
+					strcat(buffer, tin_ltoa(art->line_count, thrd_fmt.len_linecnt));
 				else {
 					buf = buffer + strlen(buffer);
-					for (i = (int) thrd_fmt.len_linecnt; i > 1; --i)
+					for (i = thrd_fmt.len_linecnt; i > 1; --i)
 						*buf++ = ' ';
 					*buf++ = '?';
 					*buf = '\0';
@@ -260,7 +262,7 @@ build_tline(
 				} else {
 					mark[0] = get_art_mark(art);
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-					snprintf(markbuf, sizeof(markbuf), "%s%lc", art_mark_width > wcwidth(mark[0]) ? "   " : "  ", mark[0]);
+					snprintf(markbuf, sizeof(markbuf), "%s%"T_CHAR_FMT, art_mark_width > wcwidth(mark[0]) ? "   " : "  ", (wint_t) mark[0]);
 					strcat(buffer, markbuf);
 #else
 					strcat(buffer, "   ");
@@ -274,20 +276,21 @@ build_tline(
 				strncpy(tmp, art->refptr ? art->refptr->txt : "", len);
 				tmp[len] = '\0';
 				strcat(buffer, tmp);
-				if ((i = (int) (len - (size_t) strwidth(tmp))) > 0) {
+				w = strwidth(tmp);
+				if (w > 0 && len > (size_t) w) {
 					buf = buffer + strlen(buffer);
-					for (; i > 0; --i)
+					for (i = len - (size_t) w; i > 0; --i)
 						*buf++ = ' ';
 					*buf = '\0';
 				}
 				break;
 
 			case 'n':
-				strcat(buffer, tin_ltoa(l + 1, (int) thrd_fmt.len_linenumber));
+				strcat(buffer, tin_ltoa(l + 1, thrd_fmt.len_linenumber));
 				break;
 
 			case 'S':	/* score */
-				strcat(buffer, tin_ltoa(art->score, (int) thrd_fmt.len_score));
+				strcat(buffer, tin_ltoa(art->score, thrd_fmt.len_score));
 				break;
 
 			case 'T':	/* thread/subject */
@@ -324,10 +327,10 @@ build_tline(
 								{
 									if ((wtmp = char2wchar_t(art->subject)) != NULL) {
 										wtmp2 = wcspart(wtmp, gap, TRUE);
+										free(wtmp);
 										if (wcstombs(tmp, wtmp2, sizeof(tmp) - 1) != (size_t) -1)
 											strcat(buffer, tmp);
 
-										free(wtmp);
 										free(wtmp2);
 									}
 								}
@@ -352,10 +355,10 @@ build_tline(
 							{
 								if ((wtmp = char2wchar_t(art->subject)) != NULL) {
 									wtmp2 = wcspart(wtmp, gap, TRUE);
+									free(wtmp);
 									if (wcstombs(tmp, wtmp2, sizeof(tmp) - 1) != (size_t) -1)
 										strcat(buffer, tmp);
 
-									free(wtmp);
 									free(wtmp2);
 								}
 							}
@@ -374,7 +377,7 @@ build_tline(
 
 				/* pad out */
 				fill = (len - ((size_t) strwidth(buffer) - len_start));
-				gap = (int) strlen(buffer);
+				gap = strlen(buffer);
 				for (i = 0; i < fill; i++)
 					buffer[gap + i] = ' ';
 				buffer[gap + fill] = '\0';
@@ -450,7 +453,7 @@ thread_page(
 	struct t_group *group,
 	int respnum,				/* base[] article of thread to view */
 	int thread_depth,			/* initial depth in thread */
-	t_pagerinfo *page)			/* !NULL if we must go direct to the pager */
+	const t_pagerinfo *page)			/* !NULL if we must go direct to the pager */
 {
 	char key[MAXKEYLEN];
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
@@ -486,7 +489,8 @@ thread_page(
 	else {
 		if (group->attribute->pos_first_unread) {
 			if (new_responses(thread_basenote)) {
-				for (n = 0, i = (int) base[thread_basenote]; i >= 0; i = arts[i].thread, n++) {
+				n = 0;
+				for (i = (int) base[thread_basenote]; i >= 0; i = arts[i].thread, n++) {
 					if (arts[i].status == ART_UNREAD || arts[i].status == ART_WILL_RETURN) {
 						if (arts[i].thread == ART_EXPIRED)
 							art_mark(group, &arts[i], ART_READ);
@@ -627,19 +631,23 @@ thread_page(
 				break;
 
 			case GLOBAL_EDIT_FILTER:
-				if (invoke_editor(filter_file, filter_file_offset, NULL)) {
-					old_artnum = arts[find_response(thread_basenote, thdmenu.curr)].artnum;
-					unfilter_articles(group);
-					(void) read_filter_file(filter_file);
-					filter_articles(group);
-					make_threads(group, FALSE);
-					if ((n = find_artnum(old_artnum)) == -1 || which_thread(n) == -1) { /* We have lost the thread */
-						ret_code = GRP_KILLED;
-						break;
+				if (no_write)
+					info_message(_(txt_info_no_write));
+				else {
+					if (invoke_editor(filter_file, filter_file_offset, NULL)) {
+						old_artnum = arts[find_response(thread_basenote, thdmenu.curr)].artnum;
+						unfilter_articles(group);
+						(void) read_filter_file(filter_file);
+						filter_articles(group);
+						make_threads(group, FALSE);
+						if ((n = find_artnum(old_artnum)) == -1 || which_thread(n) == -1) { /* We have lost the thread */
+							ret_code = GRP_KILLED;
+							break;
+						}
+						fixup_thread(n, TRUE);
 					}
-					fixup_thread(n, TRUE);
+					show_thread_page();
 				}
-				show_thread_page();
 				break;
 
 			case THREAD_READ_ARTICLE:	/* read current article within thread */
@@ -656,7 +664,7 @@ thread_page(
 */
 			case THREAD_FOLLOWUP_QUOTE:
 			case THREAD_FOLLOWUP:
-				if (can_post || group->attribute->mailing_list != NULL) {
+				if (can_post || (group->attribute->mailing_list && *group->attribute->mailing_list)) {
 					int ret;
 
 					n = find_response(thread_basenote, thdmenu.curr);
@@ -674,7 +682,7 @@ thread_page(
 				break;
 
 			case THREAD_CANCEL:		/* cancel current article */
-				if (can_post || group->attribute->mailing_list != NULL) {
+				if (can_post || (group->attribute->mailing_list && *group->attribute->mailing_list)) {
 					int ret;
 
 					n = find_response(thread_basenote, thdmenu.curr);
@@ -802,6 +810,7 @@ thread_page(
 
 			case GLOBAL_TOGGLE_INVERSE_VIDEO:	/* toggle inverse video */
 				toggle_inverse_video();
+				need_parse_fmt |= THREAD_LEVEL;
 				show_thread_page();
 				show_inverse_video_status();
 				break;
@@ -928,8 +937,11 @@ thread_page(
 				break;
 
 			case GLOBAL_DISPLAY_POST_HISTORY:	/* display messages posted by user */
-				if (post_hist_page())
+				if (post_hist_page()) {
+					FreeAndNull(thrd_fmt.str);
+					FreeAndNull(thrd_fmt.date_str);
 					return GRP_EXIT;
+				}
 				break;
 
 			case GLOBAL_TOGGLE_INFO_LAST_LINE:		/* display subject in last line */
@@ -945,6 +957,9 @@ thread_page(
 	set_xclick_off();
 	clear_note_area();
 
+	FreeAndNull(thrd_fmt.str);
+	FreeAndNull(thrd_fmt.date_str);
+
 	return ret_code;
 }
 
@@ -953,21 +968,23 @@ static void
 show_thread_page(
 	void)
 {
-	char keyhelp[MAXKEYLEN];
 	char *title;
-	int i, art, keyhelplen;
-	size_t len;
+	char keyhelp[MAXKEYLEN];
+	int i, art, keyhelplen, len;
 
 	signal_context = cThread;
 	currmenu = &thdmenu;
-	show_subject = FALSE;
+
+	if (!thrd_fmt.str || (need_parse_fmt & THREAD_LEVEL)) {
+		show_subject = FALSE;
+		parse_format_string(curr_group->attribute->thread_format ? BlankIfNull(*curr_group->attribute->thread_format) : "", &thrd_fmt);
+		need_parse_fmt &= ~THREAD_LEVEL;
+		mark_offset = 0;
+	}
 
 	ClearScreen();
 	set_first_screen_item();
 
-	parse_format_string(curr_group->attribute->thread_format, &thrd_fmt);
-	mark_offset = 0;
-
 	if (show_subject)
 		title = fmt_string(_(txt_stp_list_thread), grpmenu.curr + 1, grpmenu.max);
 	else {
@@ -993,6 +1010,8 @@ show_thread_page(
 		} else
 			len = cCOLS - (strwidth(_(txt_stp_thread)) - 3);
 
+		if (len < 0)
+			len = 0;
 		title = fmt_string(_(txt_stp_thread), len, arts[thread_respnum].subject);
 	}
 
@@ -1039,7 +1058,7 @@ update_thread_page(
 		} else {
 			mark[0] = get_art_mark(&arts[the_index]);
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-			mark_screen(i, mark_offset - (3 - art_mark_width), L"   ");	/* clear space used by tag numbering */
+			mark_screen(i, mark_offset - (3 - art_mark_width), (const wchar_t *) L"   ");	/* clear space used by tag numbering */
 			mark_screen(i, mark_offset + (art_mark_width - wcwidth(mark[0])), mark);
 #else
 			mark_screen(i, mark_offset - 2, "  ");	/* clear space used by tag numbering */
@@ -1107,7 +1126,7 @@ new_responses(
 
 	for_each_art_in_thread(i, thread) {
 		if (arts[i].status != ART_READ)
-			sum++;
+			++sum;
 	}
 
 	return sum;
@@ -1166,7 +1185,7 @@ which_response(
 		if (j == n)
 			break;
 		else
-			num++;
+			++num;
 	}
 
 	return num;
@@ -1195,7 +1214,7 @@ num_of_responses(
 		assert(i != oldi);
 		oldi = i;
 #endif /* !NDEBUG */
-		sum++;
+		++sum;
 	}
 
 	return sum - 1;
@@ -1231,7 +1250,7 @@ get_score_of_thread(
 			} else { /* tinrc.thread_score >= THREAD_SCORE_SUM */
 				/* sum scores of unread arts and count num. arts */
 				score += arts[i].score;
-				j++;
+				++j;
 			}
 		}
 	}
@@ -1251,7 +1270,7 @@ stat_thread(
 	struct t_art_stat *sbuf) /* return value is always ignored */
 {
 	int i;
-	MultiPartInfo minfo = {0};
+	MultiPartInfo minfo = { NULL, 0, 0, 0, 0 };
 
 	sbuf->total = 0;
 	sbuf->unread = 0;
@@ -1359,9 +1378,8 @@ int
 next_thread(
 	int n)
 {
-	int i;
+	int i = which_thread(n) + 1;
 
-	i = which_thread(n) + 1;
 	if (i >= grpmenu.max)
 		return -1;
 
@@ -1383,11 +1401,17 @@ prev_response(
 	if (arts[n].prev >= 0)
 		return arts[n].prev;
 
-	i = which_thread(n) - 1;
-
-	if (i < 0)
+#if 0
+	if ((i = which_thread(n) - 1) < 0)
+		return -1;
+#else /* __COVERITY__ CID 1549087 */
+	i = which_thread(n);
+	if (i <= 0)
 		return -1;
 
+	--i;
+#endif /* 0 */
+
 	return find_response(i, num_of_responses(i));
 }
 
@@ -1400,9 +1424,7 @@ find_response(
 	int i,
 	int n)
 {
-	int j;
-
-	j = (int) base[i];
+	int j = (int) base[i];
 
 	while (n-- > 0 && arts[j].thread >= 0)
 		j = arts[j].thread;
@@ -1509,7 +1531,8 @@ make_prefix(
 	for (ptr = art->parent; ptr; ptr = ptr->parent)
 		depth += (!IS_EXPIRED(ptr) ? 1 : 0);
 
-	if ((depth == 0) || (maxlen < 1)) {
+	/* the code below expects a maxlen of at least 3 */
+	if ((depth == 0) || (maxlen < 3)) {
 		prefix[0] = '\0';
 		return;
 	}
@@ -1523,7 +1546,7 @@ make_prefix(
 
 		while (prefix_ptr > maxlen - 2 - odd) {
 			if (depth_level < maxlen / 5)
-				depth_level++;
+				++depth_level;
 			prefix_ptr -= maxlen - depth_level - 2 - odd;
 			odd = (odd ? 0 : 1);
 		}
@@ -1575,7 +1598,7 @@ make_prefix(
 static int
 thread_catchup(
 	t_function func,
-	struct t_group *group)
+	const struct t_group *group)
 {
 	char buf[LEN];
 	int i, n;
@@ -1619,7 +1642,8 @@ thread_catchup(
 				default:				/* Just leave the group */
 					return GRP_EXIT;
 			}
-			/* FALLTHROUGH */
+			break;
+
 		default:
 			break;
 	}
@@ -1751,7 +1775,7 @@ thread_mark_postprocess(
 			if (feed_type == FEED_ARTICLE) {
 				mark[0] = get_art_mark(&arts[respnum]);
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-				mark_screen(thdmenu.curr, mark_offset - (3 - art_mark_width), L"   ");
+				mark_screen(thdmenu.curr, mark_offset - (3 - art_mark_width), (const wchar_t *) L"   ");
 				mark_screen(thdmenu.curr, mark_offset + (art_mark_width - wcwidth(mark[0])), mark);
 #else
 				mark_screen(thdmenu.curr, mark_offset, mark);
@@ -1769,7 +1793,7 @@ thread_mark_postprocess(
 			if (feed_type == FEED_ARTICLE) {
 				mark[0] = get_art_mark(&arts[respnum]);
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-				mark_screen(thdmenu.curr, mark_offset - (3 - art_mark_width), L"   ");
+				mark_screen(thdmenu.curr, mark_offset - (3 - art_mark_width), (const wchar_t *) L"   ");
 				mark_screen(thdmenu.curr, mark_offset + (art_mark_width - wcwidth(mark[0])), mark);
 #else
 				mark_screen(thdmenu.curr, mark_offset, mark);
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/tincfg.tbl tin-2.6.4/src/tincfg.tbl
--- tin-2.6.3/src/tincfg.tbl	2023-12-24 00:38:41.000000000 +0100
+++ tin-2.6.4/src/tincfg.tbl	2024-12-21 15:20:04.881186680 +0100
@@ -2,10 +2,10 @@
 ;   Module    : tincfg.tbl
 ;   Author    : Thomas E. Dickey
 ;   Created   : 1996-11-01
-;   Updated   : 2023-10-29
+;   Updated   : 2024-12-21
 ;   Notes     : #defines and structs for config.c
 ;
-; Copyright (c) 1996-2024 Thomas E. Dickey <dickey@invisible-island.net>
+; Copyright (c) 1996-2025 Thomas E. Dickey <dickey@invisible-island.net>
 ; All rights reserved.
 ;
 ; Redistribution and use in source and binary forms, with or without
@@ -74,7 +74,7 @@
 	thread_score			txt_thread_score_type
 	scroll_lines			OPT_NUM
 	show_signatures			OPT_ON_OFF
-	show_art_score				OPT_ON_OFF
+	show_art_score			OPT_ON_OFF
 	news_headers_to_display		OPT_STRING
 	news_headers_to_not_display	OPT_STRING
 	alternative_handling		OPT_ON_OFF
@@ -93,6 +93,7 @@
 	use_keypad			OPT_ON_OFF
 #endif
 	wrap_column			OPT_NUM
+	dont_break_words	OPT_ON_OFF
 	trim_article_body		txt_trim_article_body_options
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 	suppress_soft_hyphens	OPT_ON_OFF
@@ -227,7 +228,10 @@
 	attrib_mm_network_charset	txt_mime_charsets
 	attrib_undeclared_charset	OPT_STRING
 #endif
-	attrib_post_mime_encoding		txt_mime_encodings
+#if defined(USE_ICU_UCSDET) && defined(CHARSET_CONVERSION)
+	attrib_undeclared_cs_guess	OPT_ON_OFF
+#endif
+	attrib_post_mime_encoding	txt_mime_encodings
 	attrib_post_8bit_header		OPT_ON_OFF
 	attrib_mail_mime_encoding	txt_mime_encodings
 	attrib_mail_8bit_header		OPT_ON_OFF
@@ -311,6 +315,10 @@
 	nntp_read_timeout_secs		OPT_NUM
 #endif
 	cache_overview_files		OPT_ON_OFF
+#if defined(USE_ZLIB) && defined(CPP_DOES_CONCAT)
+	compress_overview_files		OPT_ON_OFF
+#endif
+
 #ifdef XFACE_ABLE
 	use_slrnface			OPT_ON_OFF
 #endif
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/tmpfile.c tin-2.6.4/src/tmpfile.c
--- tin-2.6.3/src/tmpfile.c	2023-12-24 00:38:41.000000000 +0100
+++ tin-2.6.4/src/tmpfile.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) 1990, 1993
- *      The Regents of the University of California.  All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Chris Torek.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#if 0
-#	if defined(LIBC_SCCS) && !defined(lint)
-static char rcsid[] = "$OpenBSD: tmpfile.c,v 1.6 1998/09/18 22:06:49 deraadt Exp $";
-#	endif /* LIBC_SCCS and not lint */
-#	include <sys/types.h>
-#	include <sys/stat.h>
-#	include <unistd.h>
-#	include <signal.h>
-#	include <errno.h>
-#	include <stdio.h>
-#	include <string.h>
-#	include <paths.h>
-#else
-#	include "tin.h"
-#endif /* 0 */
-
-#ifndef HAVE_TMPFILE
-#	define TRAILER "tmp.XXXXXXXXXX"
-
-FILE *
-tmpfile(
-	void)
-{
-	FILE *fp;
-	char buf[sizeof(_PATH_TMP) + sizeof(TRAILER)];
-	int sverrno, fd = -1;
-	sigset_t set, oset;
-#	if !defined(HAVE_MKSTEMP) && defined(HAVE_MKTEMP)
-	char *p;
-#	endif /* !HAVE_MKSTEMP && HAVE_MKTEMP */
-
-	(void) memcpy(buf, _PATH_TMP, sizeof(_PATH_TMP) - 1);
-	(void) memcpy(buf + sizeof(_PATH_TMP) - 1, TRAILER, sizeof(TRAILER));
-
-	/* TODO: use portable signal blocking/unblocking */
-	sigfillset(&set);
-	(void) sigprocmask(SIG_BLOCK, &set, &oset);
-
-#	ifdef HAVE_MKSTEMP
-	fd = mkstemp(buf);
-#	else
-#		ifdef HAVE_MKTEMP
-	p = mktemp(buf);
-	fd = open(p, (O_WRONLY|O_CREAT|O_EXCL), (mode_t) (S_IRUSR|S_IWUSR));
-#		endif /* HAVE_MKTEMP */
-#	endif /* HAVE_MKSTEMP */
-
-	if (fd != -1) {
-		mode_t u;
-
-		(void) unlink(buf);
-		u = umask(0);
-		(void) umask(u);
-#	ifdef HAVE_FCHMOD
-		(void) fchmod(fd, (S_IRUGO|S_IWUGO) & ~u);
-#	else
-#		if defined(HAVE_CHMOD) && !defined(HAVE_MKSTEMP) && defined(HAVE_MKTEMP)
-		chmod(p, (S_IRUGO|S_IWUGO) & ~u);
-#		endif /* HAVE_CHMOD && !HAVE_MKSTEMP && HAVE_MKTEMP */
-#	endif /* HAVE_FCHMOD */
-	}
-
-	(void) sigprocmask(SIG_SETMASK, &oset, NULL);
-
-	if (fd == -1)
-		return NULL;
-
-	if ((fp = fdopen(fd, "w+")) == NULL) {
-		sverrno = errno;
-		(void) close(fd);
-		errno = sverrno;
-		return NULL;
-	}
-	return fp;
-}
-#endif /* !HAVE_TMPFILE */
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/trace.c tin-2.6.4/src/trace.c
--- tin-2.6.3/src/trace.c	2023-12-24 00:38:41.000000000 +0100
+++ tin-2.6.4/src/trace.c	2024-11-25 20:40:37.899809441 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2021-02-23
  *  Notes     : debugging support via TRACE macro.
  *
- * Copyright (c) 1997-2024 Thomas Dickey <dickey@invisible-island.net>
+ * Copyright (c) 1997-2025 Thomas Dickey <dickey@invisible-island.net>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/version.c tin-2.6.4/src/version.c
--- tin-2.6.3/src/version.c	2023-12-24 00:38:41.000000000 +0100
+++ tin-2.6.4/src/version.c	2024-11-25 20:40:37.903809599 +0100
@@ -3,10 +3,10 @@
  *  Module    : version.c
  *  Author    : U. Janssen
  *  Created   : 2003-05-11
- *  Updated   : 2023-12-11
+ *  Updated   : 2024-11-12
  *  Notes     :
  *
- * Copyright (c) 2003-2024 Urs Janssen <urs@tin.org>
+ * Copyright (c) 2003-2025 Urs Janssen <urs@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -57,50 +57,79 @@
  *              RC_ERROR      3rd arg is not a dotted triple (usage error)
  *         ->file_version     version number in file as int
  *              (rc_majorv * 10000 + rc_minorv * 100 + rc_subv) or -1
- *
- * Don't make the arguments to sscanf() consts, as some old systems require
- * them to writable (but do not change them)
+ *              TODO: switch to rc_majorv << 16 + rc_minorv << 8 + rc_subv
+ *                    (requires int_least32_t aka INT_WIDTH >= 32, but
+ *                     I guess a lot of the code silently assumes that
+ *                     anyway)
+ *
+ * usage:
+ * if (upgrade == NULL && match_string(line, skip, NULL, 0)) {
+ *     upgrade = check_upgrade(line, skip, version);
+ *     upgrade_prompt_quit(upgrade, file);
+ * }
  */
 struct t_version *
 check_upgrade(
-	char *line,
+	const char *line,
 	const char *skip,
 	const char *version)
 {
-	char *format;
-	char *lskip = my_strdup(skip);
-	char *lversion = my_strdup(version);
-	char fmt[10];
+	const char *p = line + strlen(skip);
 	int rc_majorv, rc_minorv, rc_subv; /* version numbers in the file */
 	int current_version, c_majorv, c_minorv, c_subv;	/* version numbers we require */
-	int len;
 	struct t_version *fversion = my_malloc(sizeof(struct t_version));
 
 	fversion->state = RC_ERROR;
 	fversion->file_version = -1;
 
-	rc_majorv = rc_minorv = rc_subv = c_majorv = c_minorv = c_subv = -1;
-	strcpy(fmt, "%d.%d.%d"); /* we are expecting dotted triples */
-	len = snprintf(NULL, 0, "%s%s", lskip, fmt);
-	format = my_malloc(++len);
-	snprintf(format, len, "%s%s", lskip, fmt);
-	free(lskip);
-
-	if (sscanf(line, format, &rc_majorv, &rc_minorv, &rc_subv) != 3) {
-		free(format);
-		free(lversion);
+	/*
+	 * we pre-checked that the beginning of line matches skip via
+	 * match_string() before calling check_upgrade(), no need to
+	 * strncmp() again.
+	 */
+	if (!isdigit((unsigned char) *p))
+		return fversion;
+	rc_majorv = s2i(p, 0, 99);
+	if (errno)
+		return fversion;
+	while (isdigit((unsigned char) *p))
+		++p;
+	if (*p != '.' || !isdigit((unsigned char) *++p))
+		return fversion;
+	rc_minorv = s2i(p, 0, 99);
+	if (errno)
+		return fversion;
+	while (isdigit((unsigned char) *p))
+		++p;
+	if (*p != '.' || !isdigit((unsigned char) *++p))
+		return fversion;
+	rc_subv = s2i(p, 0, 99);
+	if (errno)
 		return fversion;
-	}
-	free(format);
 
 	fversion->file_version = rc_majorv * 10000 + rc_minorv * 100 + rc_subv;
 
-	/* we can't parse our own version number - should never happen */
-	if (sscanf(lversion, fmt, &c_majorv, &c_minorv, &c_subv) != 3) {
-		free(lversion);
+	p = version;
+	c_majorv = s2i(p, 0, 99);
+	if (errno)
+		return fversion;
+	while (isdigit((unsigned char) *p))
+		++p;
+	if (*p != '.')
+		return fversion;
+
+	c_minorv = s2i(++p, 0, 99);
+	if (errno)
+		return fversion;
+	while (isdigit((unsigned char) *p))
+		++p;
+	if (*p != '.')
 		return fversion;
-	}
-	free(lversion);
+
+	c_subv = s2i(++p, 0, 99);
+	if (errno)
+		return fversion;
+	/* we don't care about trailing text */
 
 	current_version = c_majorv * 10000 + c_minorv * 100 + c_subv;
 
@@ -120,7 +149,8 @@ check_upgrade(
 void
 upgrade_prompt_quit(
 	struct t_version *upgrade,
-	const char *file)
+	const char *file,
+	FILE *fp)
 {
 	switch (upgrade->state) {
 		case RC_UPGRADE:
@@ -133,17 +163,13 @@ upgrade_prompt_quit(
 
 		case RC_ERROR: /* can't parse internal version string, should not happen */
 			error_message(2, txt_warn_unrecognized_version, file);
-			free(upgrade);
-			free(tin_progname);
-			giveup();
-			/* NOTREACHED */
 			break;
 
 		default:	/* should no happen */
 			return;
 	}
 
-	error_message(2, _(txt_return_key));
+	error_message(2, _(txt_return_key)); /* TODO: mention 'q'/'Q' */
 
 	/*
 	 * TODO: document, use something unbuffered here
@@ -154,8 +180,10 @@ upgrade_prompt_quit(
 		case 'Q':
 		case ESC:
 			free(upgrade);
-			free(tin_progname);
-			giveup();
+			if (fp)
+				fclose(fp);
+			no_write = TRUE;
+			tin_done(EXIT_FAILURE, _(txt_exiting));
 			/* NOTREACHED */
 			break;
 
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/wildmat.c tin-2.6.4/src/wildmat.c
--- tin-2.6.3/src/wildmat.c	2022-12-09 10:03:48.000000000 +0100
+++ tin-2.6.4/src/wildmat.c	2024-11-25 20:40:37.911809915 +0100
@@ -116,7 +116,7 @@ DoMatch(
 #ifdef MATCH_TAR_PATTERN
 		if (*text == '/')
 			return 1;
-#endif /* MATCH_TAR_ATTERN */
+#endif /* MATCH_TAR_PATTERN */
 	return *text == '\0';
 }
 
@@ -169,7 +169,7 @@ wildmatpos(
 	REGEX_NOFFSET srch_offsets_size)
 {
 	char *txt, *t, *px;
-	int i;
+	size_t i;
 	REGEX_SIZE prev_offset = srch_offsets[1];
 	t_bool ret = FALSE;
 
@@ -200,11 +200,11 @@ wildmatpos(
 	/* remove the leading '*' */
 	px = my_strdup(p + 1);
 
-	for (t = txt + prev_offset; *t; t++)
+	for (t = txt + prev_offset; *t; t++) {
 		if ((ret = (DoMatch(t, px) == 1))) {
 			/* remove the trailing '*' */
 			px[strlen(px) - 1] = '\0';
-			for (i = (int) strlen(t); i > 0; i--) {
+			for (i = strlen(t); i > 0; i--) {
 				t[i] = '\0';
 				if ((ret = (DoMatch(t, px) == 1))) {
 					if (srch_offsets_size >= 2) {
@@ -216,6 +216,7 @@ wildmatpos(
 			}
 			break;
 		}
+	}
 	free(px);
 	free(txt);
 
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/xface.c tin-2.6.4/src/xface.c
--- tin-2.6.3/src/xface.c	2023-12-24 00:38:41.000000000 +0100
+++ tin-2.6.4/src/xface.c	2024-11-25 20:40:37.915810073 +0100
@@ -3,10 +3,10 @@
  *  Module    : xface.c
  *  Author    : Joshua Crawford & Drazen Kacar
  *  Created   : 2003-04-27
- *  Updated   : 2023-11-27
+ *  Updated   : 2024-10-29
  *  Notes     :
  *
- * Copyright (c) 2003-2024 Joshua Crawford <mortarn@softhome.net> & Drazen Kacar <dave@willfork.com>
+ * Copyright (c) 2003-2025 Joshua Crawford <mortarn@softhome.net> & Drazen Kacar <dave@willfork.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -59,10 +59,10 @@ slrnface_start(
 {
 	char *fifo;
 	const char *ptr;
-	int status;
+	const char *m;
+	int n;
 	pid_t pid, pidst;
 	size_t pathlen;
-	struct utsname u;
 
 	if (tinrc.use_slrnface == FALSE)
 		return;
@@ -99,23 +99,27 @@ slrnface_start(
 		return;
 	}
 
-	uname(&u);
-	ptr = get_val("XDG_RUNTIME_DIR", get_val("HOME", ""));
+	ptr = get_val("XDG_RUNTIME_DIR", get_val("HOME", NULL));
 	/*
 	 * TODO:
 	 * - check if $XDG_RUNTIME_DIR is on a local filesystem and has secure permissions
 	 * <http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html>
 	 */
-	if (!strlen(ptr)) { /* TODO: mention XDG_RUNTIME_DIR in error message? */
+	if (!ptr) { /* TODO: mention XDG_RUNTIME_DIR in error message? */
 #	ifdef DEBUG
 		if (debug & DEBUG_MISC)
 			error_message(2, _(txt_xface_error_missing_env_var), "HOME");
 #	endif /* DEBUG */
 		return;
 	}
-	pathlen = snprintf(NULL, 0, "%s/.slrnfaces", ptr);
-	fifo = my_malloc(++pathlen);
-	snprintf(fifo, pathlen, "%s/.slrnfaces", ptr);
+	if ((n = snprintf(NULL, 0, "%s/.slrnfaces", ptr)) < 0)
+		return;
+	pathlen = (size_t) n + 1;
+	fifo = my_malloc(pathlen);
+	if (snprintf(fifo, pathlen, "%s/.slrnfaces", ptr) != n) {
+		free(fifo);
+		return;
+	}
 	if (my_mkdir(fifo, (mode_t) S_IRWXU)) {
 		if (errno != EEXIST) {
 			perror_message(_(txt_xface_error_create_failed), fifo);
@@ -126,19 +130,27 @@ slrnface_start(
 		FILE *fp;
 
 		free(fifo);
-		pathlen = snprintf(NULL, 0, "%s/.slrnfaces/README", ptr);
-		fifo = my_malloc(++pathlen);
-		snprintf(fifo, pathlen, "%s/.slrnfaces/README", ptr);
+		if ((n = snprintf(NULL, 0, "%s/.slrnfaces/README", ptr)) < 0)
+			return;
+		pathlen = (size_t) n + 1;
+		fifo = my_malloc(pathlen);
+		if (snprintf(fifo, pathlen, "%s/.slrnfaces/README", ptr) != n) {
+			free(fifo);
+			return;
+		}
 		if ((fp = fopen(fifo, "w")) != NULL) {
 			fputs(_(txt_xface_readme), fp);
 			fclose(fp);
 		}
 	}
 	free(fifo);
-	pathlen = snprintf(NULL, 0, "%s/.slrnfaces/%s.%ld", ptr, u.nodename, (long) getpid());
-	fifo = my_malloc(++pathlen);
-	status = snprintf(fifo, pathlen, "%s/.slrnfaces/%s.%ld", ptr, u.nodename, (long) getpid());
-	if (status <= 0 || status >= (int) pathlen) {
+	pid = getpid();
+	m = get_host_name();
+	if ((n = snprintf(NULL, 0, "%s/.slrnfaces/%s.%ld", ptr, m, (long) pid)) < 0)
+		return;
+	pathlen = (size_t) n + 1;
+	fifo = my_malloc(pathlen);
+	if (snprintf(fifo, pathlen, "%s/.slrnfaces/%s.%ld", ptr, m, (long) pid) != n) {
 		error_message(2, "%s", _(txt_xface_error_construct_fifo_name));
 		unlink(fifo);
 		free(fifo);
@@ -175,55 +187,53 @@ slrnface_start(
 
 		default:
 			do {
-				pidst = waitpid(pid, &status, 0);
+				pidst = waitpid(pid, &n, 0);
 			} while (pidst == -1 && errno == EINTR);
-			if (!WIFEXITED(status))
-				error_message(2, _(txt_xface_error_exited_abnormal), status);
+			if (!WIFEXITED(n))
+				error_message(2, _(txt_xface_error_exited_abnormal), n);
 			else {
-				const char *message;
-
-				switch (WEXITSTATUS(status)) {
+				switch (WEXITSTATUS(n)) {
 					case 0:	/* All fine, open the pipe */
 						if ((slrnface_fd = open(fifo, O_WRONLY, (S_IRUSR|S_IWUSR))) != -1) {
 							WRITE_FACE_FD("start\n");
-							message = NULL;
+							m = NULL;
 						} else
-							message = _(txt_xface_msg_cannot_open_fifo);
+							m = _(txt_xface_msg_cannot_open_fifo);
 						break;
 
 					case 1:
-						message = _(txt_xface_msg_cannot_connect_display);
+						m = _(txt_xface_msg_cannot_connect_display);
 						break;
 
 					case 2:
-						message = _(txt_xface_msg_windowid_not_found);
+						m = _(txt_xface_msg_windowid_not_found);
 						break;
 
 					case 3:
-						message = _(txt_xface_msg_no_controlling_terminal);
+						m = _(txt_xface_msg_no_controlling_terminal);
 						break;
 
 					case 4:
-						message = _(txt_xface_msg_no_width_and_height_avail);
+						m = _(txt_xface_msg_no_width_and_height_avail);
 						break;
 
 					case 5:
-						message = _(txt_xface_msg_cannot_open_fifo);
+						m = _(txt_xface_msg_cannot_open_fifo);
 						break;
 
 					case 6:
-						message = _(txt_xface_msg_fork_failed);
+						m = _(txt_xface_msg_fork_failed);
 						break;
 
 					case 10:
-						message = _(txt_xface_msg_executable_not_found);
+						m = _(txt_xface_msg_executable_not_found);
 						break;
 
 					default:
-						message = _(txt_xface_msg_unknown_error);
+						m = _(txt_unknown_error);
 				}
-				if (message)
-					error_message(2, _(txt_xface_error_finally_failed), message);
+				if (m)
+					error_message(2, _(txt_xface_error_finally_failed), m);
 			}
 	}
 	unlink(fifo);
@@ -245,7 +255,7 @@ slrnface_stop(
 
 void
 slrnface_display_xface(
-	char *face)
+	const char *face)
 {
 	if (slrnface_fd < 0)
 		return;
@@ -294,6 +304,7 @@ slrnface_show_xface(
 	WRITE_FACE_FD("show\n");
 }
 
+
 #else
 static void no_xface(void);	/* proto-type */
 static void
diff -Nurp '--exclude=.bzr*' tin-2.6.3/src/xref.c tin-2.6.4/src/xref.c
--- tin-2.6.3/src/xref.c	2023-12-24 00:38:41.000000000 +0100
+++ tin-2.6.4/src/xref.c	2024-12-05 22:03:05.859785766 +0100
@@ -3,10 +3,10 @@
  *  Module    : xref.c
  *  Author    : I. Lea & H. Brugge
  *  Created   : 1993-07-01
- *  Updated   : 2019-09-11
+ *  Updated   : 2024-12-05
  *  Notes     :
  *
- * Copyright (c) 1993-2024 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1993-2025 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -102,7 +102,7 @@ overview_xref_support(
 				debug_print_file("NNTP", "<<<%s%s", logtime(), ptr);
 #endif /* DEBUG && NNTP_ABLE */
 
-			fields++;
+			++fields;
 
 			/* expand overview fmt array */
 			if (fields >= res_fields) {
@@ -263,7 +263,7 @@ overview_xref_support(
 		TIN_FCLOSE(fp);
 	}
 
-	fields++;
+	++fields;
 	/* resize */
 	ofmt = my_realloc(ofmt, sizeof(struct t_overview_fmt) * (fields + 1));
 
@@ -346,33 +346,34 @@ art_mark_xref_read(
 
 	xref_ptr = art->xref;
 
-	/*
-	 * check sitename matches nodename of current machine (ignore for now!)
-	 */
-	while (*xref_ptr != ' ' && *xref_ptr)
-		xref_ptr++;
+	/* skip sitename */
+	while (*xref_ptr != ' ' && *xref_ptr != '\t' && *xref_ptr)
+		++xref_ptr;
 
 	/*
 	 * tokenize each pair and update that newsgroup if it is in my_group[].
 	 */
 	forever {
-		while (*xref_ptr == ' ')
-			xref_ptr++;
+		while (*xref_ptr == ' ' || *xref_ptr == '\t')
+			++xref_ptr;
 
 		groupname = xref_ptr;
-		while (*xref_ptr != ':' && *xref_ptr)
-			xref_ptr++;
+		while (*xref_ptr != ':' && *xref_ptr != ' ' && *xref_ptr != '\t' && *xref_ptr)
+			++xref_ptr;
 
 		if (*xref_ptr != ':')
 			break;
 
 		ptr = xref_ptr++;
-		artnum = atoartnum(xref_ptr);
-		while (isdigit((int) *xref_ptr))
-			xref_ptr++;
+		if ((artnum = atoartnum(xref_ptr)) <= 0)
+			break;
+		while (isdigit((unsigned char) *xref_ptr))
+			++xref_ptr;
 
 		if (&ptr[1] == xref_ptr)
 			break;
+		if (*xref_ptr && *xref_ptr != ' ' && *xref_ptr != '\t')
+			break;
 
 		c = *ptr;
 		*ptr = '\0';
@@ -424,17 +425,11 @@ NSETRNG1(
 	t_artnum low,
 	t_artnum high)
 {
-	t_artnum i;
-
-	if (bitmap == NULL) {
-#ifdef DEBUG
-		error_message(2, "NSETRNG1() failed. Bitmap == NULL");
-#endif /* DEBUG */
-		return;
-	}
+	assert(((void) "NSETRNG1() failed. bitmap == NULL", bitmap != NULL));
 
 	if (high >= low) {
 		if (NOFFSET(high) == NOFFSET(low)) {
+			t_artnum i;
 			for (i = low; i <= high; i++) {
 				NSET1(bitmap, i);
 			}
@@ -443,7 +438,7 @@ NSETRNG1(
 			if (NOFFSET(high) > NOFFSET(low) + 1)
 				memset(&bitmap[NOFFSET(low) + 1], NBITSON, (size_t) (NOFFSET(high) - NOFFSET(low) - 1));
 
-			BIT_OR(bitmap, high, ~ (NBITNEG1 << NBITIDX(high)));
+			BIT_OR(bitmap, high, ~(NBITNEG1 << NBITIDX(high)));
 		}
 	}
 }
@@ -458,15 +453,11 @@ NSETRNG0(
 	t_artnum low,
 	t_artnum high)
 {
-	t_artnum i;
-
-	if (bitmap == NULL) {
-		error_message(2, "NSETRNG0() failed. Bitmap == NULL");
-		return;
-	}
+	assert(((void) "NSETRNG0() failed. bitmap == NULL", bitmap != NULL));
 
 	if (high >= low) {
 		if (NOFFSET(high) == NOFFSET(low)) {
+			t_artnum i;
 			for (i = low; i <= high; i++) {
 				NSET0(bitmap, i);
 			}
diff -Nurp '--exclude=.bzr*' tin-2.6.3/tin.spec tin-2.6.4/tin.spec
--- tin-2.6.3/tin.spec	2023-12-24 00:38:41.000000000 +0100
+++ tin-2.6.4/tin.spec	2024-04-02 10:00:58.877254510 +0200
@@ -1,6 +1,6 @@
 Name: tin
 Summary: easy-to-use USENET news reader
-Version: 2.6.3
+Version: 2.6.4
 Release: 1
 License: BSD
 Group: Applications/News
@@ -54,9 +54,9 @@ rm -rf $RPM_BUILD_ROOT
 %doc doc/keymap.sample doc/mailcap.sample doc/mime.types doc/tin.defaults
 %doc doc/pgp.txt doc/reading-mail.txt
 %doc doc/tools.txt doc/umlaute.txt doc/umlauts.txt
-%doc doc/wildmat.3 doc/plp_snprintf.3
+%doc doc/wildmat.3
 %doc doc/article.txt doc/art_handling.txt doc/internals.txt doc/rcvars.txt
-%doc doc/config-anomalies doc/nov_tests doc/DEBUG_REFS doc/ABOUT-NLS
+%doc doc/config-anomalies doc/nov_tests doc/DEBUG_REFS
 %doc doc/CREDITS
 %doc README
 
diff -Nurp '--exclude=.bzr*' tin-2.6.3/tools/expiretover tin-2.6.4/tools/expiretover
--- tin-2.6.3/tools/expiretover	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/tools/expiretover	2024-06-04 12:46:41.336736907 +0200
@@ -5,8 +5,8 @@
 numdays=28
 
 overviewbase=${TIN_INDEX_NEWSDIR-"${TIN_HOMEDIR-"$HOME"}/.tin"}
-if test -d $overviewbase ; then
-	( find $overviewbase/.news* -type f -name "[0-9]*.[0-9]" \
+if test -d "$overviewbase" ; then
+	( find "$overviewbase"/.news* -type f -name "[0-9]*.[0-9]" \
 		-atime +$numdays |\
 		xargs rm -f ) && exit 0
 fi
diff -Nurp '--exclude=.bzr*' tin-2.6.3/tools/flnews2tin.pl tin-2.6.4/tools/flnews2tin.pl
--- tin-2.6.3/tools/flnews2tin.pl	1970-01-01 01:00:00.000000000 +0100
+++ tin-2.6.4/tools/flnews2tin.pl	2024-10-30 14:34:09.250488000 +0100
@@ -0,0 +1,97 @@
+#! /usr/bin/perl
+#
+# WARNING: THIS SCRIPT IS UNTESTED
+#
+# turn a flnews(1) score file into a tin(1) regexp filter file.
+#
+# flnews2tin.pl < ~/.config/flnews/scorefile > checkme.tmp
+# cat checkme.tmp >> ~/.tin/filter
+#
+# 2024-09-30 <urs@tin.org>
+
+require 5.008;
+
+use strict;
+use warnings;
+
+# version Number
+# my $version = "0.0.8";
+
+my ($line, $target, $type, $score, $string, $prefix, $suffix, @comments);
+
+# max score value (tin limit)
+use constant SCORE_MAX => 10000;
+
+while (defined($line = <>)) {
+    chomp $line;
+
+    # ignore empty lines
+    next if ($line =~ m/^(?:\s|$)/);
+
+    # save comments
+    if ($line =~ s/^\#\s*(\S.*)$/$1/) {
+        push @comments, $line;
+        next;
+    }
+
+    # skip lines with less than 3 colons
+    if ($line !~ m/^([^:]+):([^:]+):([^:]+):(.*)/) {
+        next;
+    } else {
+        $target = $1;
+        $type = $2;
+        $score = $3;
+        $string = $4;
+    }
+
+    # skip non target
+    next if ($target =~ m/^\s*$/);
+
+    # skip non types
+    next if ($type !~ m/^(?:from|from_ere|group|msgid_ere|subject|subject_ere)$/);
+
+    # skip non scores
+    next if ($score !~ m/^\s*[+-]?\d+\s*$/);
+
+    # skip non string
+    next if ($string =~ m/^$/);
+
+    # looks like we have a valid line, here we go
+    unshift(@comments, "converted from: ".$line);
+    $prefix = $suffix = "";
+
+    # stuff which needs to be anchored and quoted
+    if ($type =~ m/^(?:from|group|subject)$/) {
+        $suffix = "\$";
+        $string = quotemeta($string);
+        $string =~ s/(?<!\\)\\([ !@,;:#<>-])/$1/g; # undo excessive quoting
+    }
+
+    $prefix = "from=^" if ($type eq "from");
+    $prefix = "from=" if ($type eq "from_ere");
+
+    if ($type eq "group") {
+        $prefix = "xref=(?:^|,)";
+        $suffix = "(?:,|\$)";
+    }
+
+    $prefix = "msgid_only=" if ($type eq "msgid_ere");
+
+    $prefix = "subj=^" if ($type eq "subject");
+    $prefix = "subj=" if ($type eq "subject_ere");
+
+    # cosmetics
+    $score =~ s/\s+//g;
+
+    # check limits
+    $score = SCORE_MAX if ($score > SCORE_MAX);
+    $score = -SCORE_MAX if ($score < -SCORE_MAX);
+
+    # print rule
+    map{print "\ncomment=$_"} @comments;
+    print "\ngroup=".$target."\n";
+    print "case=0\n";
+    print "score=".$score."\n";
+    print $prefix.$string.$suffix."\n";
+    @comments = ();
+}
diff -Nurp '--exclude=.bzr*' tin-2.6.3/tools/opt-case.pl tin-2.6.4/tools/opt-case.pl
--- tin-2.6.3/tools/opt-case.pl	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/tools/opt-case.pl	2024-10-15 01:07:02.244486047 +0200
@@ -1,4 +1,4 @@
-#! /usr/bin/perl -w
+#! /usr/bin/perl
 #
 # reads a tin filter file with regexp filters on STDIN and turns all case
 # insensitive regexp into case sensitive ones whenever possible, as case
@@ -21,6 +21,9 @@
 # buggy
 require 5.004;
 
+use strict;
+use warnings;
+
 $mod=""; 	# (?i) modifier
 
 while (defined($line = <>)) {
diff -Nurp '--exclude=.bzr*' tin-2.6.3/tools/tinews.pl tin-2.6.4/tools/tinews.pl
--- tin-2.6.3/tools/tinews.pl	2023-12-24 00:38:41.000000000 +0100
+++ tin-2.6.4/tools/tinews.pl	2024-10-16 08:57:13.002903373 +0200
@@ -1,4 +1,4 @@
-#! /usr/bin/perl -w
+#! /usr/bin/perl
 #
 # reads an article on STDIN, mails any copies if required,
 # signs the article and posts it.
@@ -50,6 +50,7 @@
 #         for gpg?
 #       - option to break long header lines?
 #       - option to trim References
+#       - option to foce connection via AF_INET6 (-6)
 #       ...
 #
 # cmd-line options used in other inews:
@@ -57,12 +58,20 @@
 #    -C accepted for historic reasons and errors out
 # inews (inn)
 #    -P don't add Sender
+# inews (Eric S. Raymond; 1989)
+#    -C create grp
+#    -d Distribution:
+#    -p [file] ; run rnews mode
+#    -M moderator option
+#    -v print returned ID
+
+require 5.004;
 
 use strict;
 use warnings;
 
 # version Number
-my $version = "1.1.64";
+my $version = "1.1.70";
 
 my %config;
 
@@ -107,21 +116,22 @@ $config{'canlock-algorithm'}	= 'sha1';
 
 # $config{'ignore-headers'} = '';		# headers to be ignored during signing
 
-$config{'pgp-sign-headers'} = ['From', 'Newsgroups', 'Subject', 'Control',
-	'Supersedes', 'Followup-To', 'Date', 'Injection-Date', 'Sender', 'Approved',
-	'Message-ID', 'Reply-To', 'Cancel-Key', 'Also-Control',
-	'Distribution'];
-$config{'pgp-order-headers'} = ['from', 'newsgroups', 'subject', 'control',
-	'supersedes', 'followup-To', 'date', 'injection-date', 'organization',
-	'lines', 'sender', 'approved', 'distribution', 'message-id',
-	'references', 'reply-to', 'mime-version', 'content-type',
-	'content-transfer-encoding', 'summary', 'keywords', 'cancel-lock',
-	'cancel-key', 'also-control', 'x-pgp', 'user-agent'];
+$config{'pgp-sign-headers'} = [
+	'From', 'Newsgroups', 'Subject', 'Control', 'Supersedes', 'Followup-To',
+	'Date', 'Injection-Date', 'Sender', 'Approved', 'Message-ID', 'Reply-To',
+	'Cancel-Key', 'Also-Control', 'Distribution' ];
+$config{'pgp-order-headers'} = [
+	'from', 'newsgroups', 'subject', 'control', 'supersedes', 'followup-To',
+	'date', 'injection-date', 'organization', 'lines', 'sender', 'approved',
+	'distribution', 'message-id', 'references', 'reply-to', 'mime-version',
+	'content-type', 'content-transfer-encoding', 'summary', 'keywords',
+	'cancel-lock', 'cancel-key', 'also-control', 'x-pgp', 'user-agent' ];
 
 ################################################################################
 
 use Getopt::Long qw(GetOptions);
 use Net::NNTP;
+use IO::Socket qw(AF_INET PF_INET);
 use Time::Local;
 use Term::ReadLine;
 
@@ -180,10 +190,10 @@ $config{'nntp-server'} = $ENV{'NEWSHOST'
 $config{'nntp-server'} = $ENV{'NNTPSERVER'} if ($ENV{'NNTPSERVER'});
 $config{'nntp-port'} = $ENV{'NNTPPORT'} if ($ENV{'NNTPPORT'});
 
-# Get options:
-$Getopt::Long::ignorecase=0;
-$Getopt::Long::bundling=1;
-GetOptions('A|V|W|h|headers' => [], # do nothing
+# Get options
+Getopt::Long::Configure ("bundling", "no_ignore_case");
+my $oret = GetOptions(
+	'A|V|W|h|headers'	=> [], # do nothing
 	'debug|D|N'	=> \$config{'debug'},
 	'port|p=i'	=> \$config{'nntp-port'},
 	'no-sign|X'	=> \$config{'no-sign'},
@@ -211,6 +221,8 @@ GetOptions('A|V|W|h|headers' => [], # do
 	'references|F=s'	=> \$config{'references'},
 	'organization|o=s'	=> \$config{'organization'},
 	'path|x=s'	=> \$config{'path'},
+	'timeout|T=i'	=> \$config{'timeout'},
+	'ipv4|4'	=> \$config{'ipv4'},
 	'help|H'	=> \$config{'help'},
 	'transform'	=> \$config{'transform'},
 	'verbose|v'	=> \$config{'verbose'},
@@ -218,10 +230,7 @@ GetOptions('A|V|W|h|headers' => [], # do
 	'man'	=>	\$config{'man'}
 );
 
-foreach (@ARGV) {
-	print STDERR "Unknown argument $_.\n";
-	usage();
-}
+usage() unless $oret;
 
 if ($config{'version'}) {
 	version();
@@ -232,13 +241,13 @@ usage() if ($config{'help'});
 
 # not listed in usage() or man-page as it may not work
 if ($config{'man'}) {
-	eval "use Pod::Usage";
-	if ($@) {
+	if (eval { require Pod::Usage;1; } != 1) {
 		$config{'man'} = 0;
 		print STDERR "Unknown option: man.\n";
 		usage();
 	} else {
-		pod2usage(-verbose => 2, -exit => 0);
+		use Pod::Usage;
+		pod2usage(-verbose => 3, -exit => 0);
 	}
 }
 
@@ -250,6 +259,7 @@ if ($config{'ssl'}) {
 		$config{'ssl'} = 0;
 	}
 }
+
 # and now adjust default port depending on SSL requested and
 # available or not
 if ($config{'ssl'}) {
@@ -258,8 +268,8 @@ if ($config{'ssl'}) {
 	$config{'nntp-port'} = 119 if ($config{'nntp-port'} == 563);
 }
 
-my $sha_mod = undef;
 # Cancel-Locks require some more modules
+my $sha_mod = undef;
 if ($config{'canlock-secret'} && !$config{'no-canlock'}) {
 	$config{'canlock-algorithm'} = lc($config{'canlock-algorithm'});
 	# we support sha1, sha256 and sha512, fallback to sha1 if something else is given
@@ -279,7 +289,7 @@ if ($config{'canlock-secret'} && !$confi
 			eval "use $_";
 			if ($@ || !defined($sha_mod)) {
 				$config{'no-canlock'} = 1;
-				warn "Cancel-Locks disabled: Can't locate ".$_."\n" if ($config{'debug'} || $config{'verbose'});
+				warn "Cancel-Locks disabled: Can't locate ".$_." (".__FILE__.":".__LINE__.")\n" if ($config{'debug'} || $config{'verbose'});
 				last;
 			}
 		}
@@ -288,7 +298,7 @@ if ($config{'canlock-secret'} && !$confi
 			eval "use $_";
 			if ($@) {
 	 			$config{'no-canlock'} = 1;
-				warn "Cancel-Locks disabled: Can't locate ".$_."\n" if ($config{'debug'} || $config{'verbose'});
+				warn "Cancel-Locks disabled: Can't locate ".$_." (".__FILE__.":".__LINE__.")\n" if ($config{'debug'} || $config{'verbose'});
 				last;
 			}
 		}
@@ -297,7 +307,7 @@ if ($config{'canlock-secret'} && !$confi
 			eval "use $_";
 			if ($@) {
 	 			$config{'no-canlock'} = 1;
-				warn "Cancel-Locks disabled: Can't locate ".$_."\n" if ($config{'debug'} || $config{'verbose'});
+				warn "Cancel-Locks disabled: Can't locate ".$_." (".__FILE__.":".__LINE__.")\n" if ($config{'debug'} || $config{'verbose'});
 				last;
 			}
 		}
@@ -330,6 +340,7 @@ if (${config{'ignore-headers'}}) {
 		@{$config{'pgp-sign-headers'}} = map {lc($_) eq lc($hdr) ? () : $_} @{$config{'pgp-sign-headers'}};
 	}
 }
+
 # Read the message and split the header
 readarticle(\%Header, \@Body);
 
@@ -373,7 +384,7 @@ foreach ('DISTRIBUTION', 'ORGANIZATION')
 
 # overwrite headers if specified via cmd-line
 foreach ('Approved', 'Control', 'Distribution', 'Expires',
-	'From', 'Followup-To', 'Message-ID', 'Newsgroups',' Reply-To',
+	'From', 'Followup-To', 'Message-ID', 'Newsgroups', 'Reply-To',
 	'Subject', 'References', 'Organization') {
 	next if (!defined($config{lc($_)}));
 	chomp($Header{lc($_)} = $_ . ": " . $config{lc($_)});
@@ -431,9 +442,32 @@ if (!$config{'nntp-pass'}) {
 	if (-r (glob("~/.newsauth"))[0]) {
 		open (my $NEWSAUTH, '<', (glob("~/.newsauth"))[0]) or die("Can't open ~/.newsauth: $!");
 		while ($l = <$NEWSAUTH>) {
+			next if ($l =~ m/^([#\s]|$)/);
 			chomp $l;
-			next if ($l =~ m/(^[#\s]|)/);
-			($server, $pass, $user) = split(/\s+\b/, $l);
+			$user = $pass = $server = undef;
+			if ($l =~ m/^
+				(\S+)\s+				# server
+				("(?:[^"]+)"|(?:\S+))	# password
+				\s+("(?:[^"]+)"|(?:\S+))	# user
+			/x) {
+				$server = $1;
+				$pass = $2;
+				$user = $3;
+				if ($pass =~ m/^"([^"]+)"/) { # strip enclising "
+					$pass = $1;
+				}
+				if ($user =~ m/^"([^"]+)"/) { # likewise
+					$user = $1;
+				}
+			} else { # server passwrd
+				if ($l =~ m/^(\S+)\s+("(?:[^"]+)"|(?:\S+))/) {
+					$server = $1;
+					$pass = $2;
+					if ($pass =~ m/^"([^"]+)"/) { # likewise
+						$pass = $1;
+					}
+				}
+			}
 			last if ($server =~ m/\Q$config{'nntp-server'}\E/);
 		}
 		close($NEWSAUTH);
@@ -477,10 +511,10 @@ if (!($config{'no-sign'} && $config{'no-
 
 	if (!defined($Header{'message-id'})) {
 		my $hname;
-		eval "use Sys::Hostname";
-		if ($@) {
+		if (eval { require Sys::Hostname;1; } != 1) {
 			chomp($hname = `hostname`);
 		} else {
+			use Sys::Hostname;
 			$hname = hostname();
 		}
 		my ($hostname,) = gethostbyname($hname);
@@ -553,7 +587,7 @@ if (! $config{'no-sign'}) {
 
 # exit with error if neither $Newsgroups nor any of $To, $Cc or $Bcc are set
 my $required = 0;
-foreach ('Newsgroups', 'To,', 'Cc', 'Bcc') {
+foreach ('Newsgroups', 'To', 'Cc', 'Bcc') {
 	$required++ if (defined($Header{lc($_)}));
 	last if $required;
 }
@@ -616,7 +650,7 @@ sub readarticle {
 				$currentheader = lc($1);
 				$$HeaderR{$currentheader} = "$1: $2";
 				$l = length($_);
-				print $1 . ":-header exceeds line length limit " . $l . " > " . $config{'max-header-length'} . " octets.\n" if (($config{'verbose'} || $config{'debug'}) && length($_) > $config{'max-header-length'});
+				print "" . $1 . ":-header exceeds line length limit " . $l . " > " . $config{'max-header-length'} . " octets.\n" if (($config{'verbose'} || $config{'debug'}) && length($_) > $config{'max-header-length'});
 			} elsif (m/^[ \t]/o) {
 				$$HeaderR{$currentheader} .= $_;
 				$l = length($_);
@@ -644,7 +678,7 @@ sub getdate {
 	my $mm = ($time[1]<10) ? "0".$time[1] : $time[1];
 	my $hh = ($time[2]<10) ? "0".$time[2] : $time[2];
 	my $day = $time[3];
-	my $month = ($time[4]+1 < 10) ? "0".($time[4]+1) : $time[4]+1;
+#	my $month = ($time[4]+1 < 10) ? "0".($time[4]+1) : $time[4]+1; # 01...12; unused
 	my $monthN = ("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")[$time[4]];
 	my $wday = ("Sun","Mon","Tue","Wed","Thu","Fri","Sat")[$time[6]];
 	my $year = $time[5] + 1900;
@@ -656,7 +690,7 @@ sub getdate {
 	}
 	my $offseth = int($offset/3600);
 	my $offsetm = int(($offset - $offseth*3600)/60);
-	my $tz = sprintf ("%s%0.2d%0.2d", $sign, $offseth, $offsetm);
+	my $tz = sprintf("%s%0.2d%0.2d", $sign, $offseth, $offsetm);
 	return "$wday, $day $monthN $year $hh:$mm:$ss $tz";
 }
 
@@ -674,11 +708,16 @@ sub AuthonNNTP {
 		Reader 	=> 1,
 		Debug 	=> $config{'debug'},
 		Port 	=> $config{'nntp-port'},
+		Timeout => $config{'timeout'},
+		Domain  => ($config{'ipv4'} ? AF_INET : undef),
 		SSL 	=> $config{'ssl'},
 		SSL_verify_mode => 0
 	) or die("$0: Can't connect to ".$config{'nntp-server'}.":".$config{'nntp-port'}."!\n");
-	if ($config{'ssl'} && $config{'debug'}) {
-		printf("SSL_fingerprint: %s %s\n", split(/\$/, $Server->get_fingerprint));
+	if ($config{'debug'}) {
+		printf("Connected to   : ".$Server->peerhost.":".$Server->peerport." [%s]\n", ($Server->sockdomain == PF_INET) ? "IPv4" : "IPv6");
+		if ($config{'ssl'}) {
+		    printf("SSL_fingerprint: %s %s\n", split(/\$/, $Server->get_fingerprint));
+		}
 	}
 	my $ServerMsg = $Server->message();
 	my $ServerCod = $Server->code();
@@ -860,11 +899,11 @@ sub savearticle {
 # 	- $MessageRef: A reference to an array containing the whole message.
 sub signarticle {
 	my ($HeaderR, $BodyR) = @_;
-	my (@pgphead, @pgpbody, $pgphead, $pgpbody, $signheaders, @signheaders);
+	my (@pgp_head, @pgp_body, @sign_headers, $pgphead, $pgpbody, $signheaders);
 
 	foreach (@{$config{'pgp-sign-headers'}}) {
 		if (defined($$HeaderR{lc($_)}) && $$HeaderR{lc($_)} =~ m/^[^\s:]+: .+/o) {
-			push @signheaders, $_;
+			push @sign_headers, $_;
 		}
 	}
 
@@ -873,16 +912,16 @@ sub signarticle {
 	# Delete and create the temporary pgp-Files
 	unlink $config{'pgptmpf'}.".txt";
 	unlink $config{'pgptmpf'}.".txt.asc";
-	$signheaders = join(",", @signheaders);
+	$signheaders = join(",", @sign_headers);
 
 	$pgphead = "X-Signed-Headers: $signheaders\n";
-	foreach my $header (@signheaders) {
+	foreach my $header (@sign_headers) {
 		if ($$HeaderR{lc($header)} =~ m/^[^\s:]+: (.+?)\n?$/so) {
 			$pgphead .= $header.": ".$1."\n";
 		}
 	}
 
-	unless (substr($pgpbody,-1,1)=~ /\n/ ) {$pgpbody.="\n"};
+	unless (substr($pgpbody, -1, 1) =~ /\n/) {$pgpbody .= "\n"};
 	open(my $FH, '>', $config{'pgptmpf'} . ".txt") or die("$0: can't open ".$config{'pgptmpf'}.": $!\n");
 	print $FH $pgphead, "\n", $pgpbody;
 	print $FH "\n" if ($config{'pgp-version'} =~ m/GPG/io); # workaround a pgp/gpg incompatibility - should IMHO be fixed in pgpverify
@@ -937,27 +976,27 @@ sub signarticle {
 	my $tmppgpheader = $config{'pgpheader'} . ": " . $$HeaderR{$config{'pgpheader'}};
 	delete $$HeaderR{$config{'pgpheader'}};
 
-	@pgphead = ();
+	@pgp_head = ();
 	foreach my $header (@{$config{'pgp-order-headers'}}) {
 		if ($$HeaderR{$header} && $$HeaderR{$header} ne "\n") {
-			push(@pgphead, "$$HeaderR{$header}");
+			push(@pgp_head, "$$HeaderR{$header}");
 			delete $$HeaderR{$header};
 		}
 	}
 
 	foreach my $header (keys %$HeaderR) {
 		if ($$HeaderR{$header} && $$HeaderR{$header} ne "\n") {
-			push(@pgphead, "$$HeaderR{$header}");
+			push(@pgp_head, "$$HeaderR{$header}");
 			delete $$HeaderR{$header};
 		}
 	}
 
-	push @pgphead, ("X-PGP-Hash: " . $config{'digest-algo'} . "\n") if (defined($config{'digest-algo'}));
-	push @pgphead, ("X-PGP-Key: " . $config{'pgp-signer'} . "\n"), $tmppgpheader;
+	push @pgp_head, ("X-PGP-Hash: " . $config{'digest-algo'} . "\n") if (defined($config{'digest-algo'}));
+	push @pgp_head, ("X-PGP-Key: " . $config{'pgp-signer'} . "\n"), $tmppgpheader;
 	undef $tmppgpheader;
 
-	@pgpbody = split(/$/m, $pgpbody);
-	my @pgpmessage = (@pgphead, "\n", @pgpbody);
+	@pgp_body = split(/$/m, $pgpbody);
+	my @pgpmessage = (@pgp_head, "\n", @pgp_body);
 	return \@pgpmessage;
 }
 
@@ -994,10 +1033,10 @@ sub buildcancelkey {
 # Returns:
 # 	- $cancel_lock: The calculated cancel-lock.
 sub buildcancellock {
-	my ($cancel_key, $sha_mod) = @_;
+	my ($cancel_key, $sha_module) = @_;
 	my $cancel_lock;
 	if ($config{'canlock-algorithm'} eq 'sha1') {
-		if ($sha_mod =~ m/SHA1/) {
+		if ($sha_module =~ m/SHA1/) {
 			$cancel_lock = MIME::Base64::encode(Digest::SHA1::sha1($cancel_key, ''), '');
 		} else {
 			$cancel_lock = MIME::Base64::encode(Digest::SHA::sha1($cancel_key, ''), '');
@@ -1011,13 +1050,14 @@ sub buildcancellock {
 }
 
 sub version {
-	print $pname." ".$version."\n";
+	print "".$pname." ".$version."\n";
 	return;
 }
 
 sub usage {
 	version();
 	print "Usage: ".$pname." [OPTS] < article\n";
+	print "  -4         force connecting via IPv4\n";
 	print "  -a string  set Approved:-header to string\n";
 	print "  -c string  set Control:-header to string\n";
 	print "  -d string  set Distribution:-header to string\n";
@@ -1043,6 +1083,7 @@ sub usage {
 	print "  -O         do not add Organization:-header\n";
 	print "  -R         disallow control messages\n";
 	print "  -S         do not append " . $config{'sig-path'} . "\n";
+	print "  -T seconds set connection timeout to seconds\n";
 	print "  -X         do not sign article\n";
 	print "  -Y         force authentication on connect\n";
 	print " --canlock-algorithm string\n";
@@ -1050,7 +1091,7 @@ sub usage {
 	print " --ssl       use NNTPS (via port 563) if available\n";
 	print " --transform convert <CR><LF> to <LF>\n";
 	print " --version   show version\n";
-	printf ("\nAvailable tinewsrc-vars: %s\n", join(", ",sort keys %config)) if ($config{'verbose'} || $config{'debug'});
+	printf("\nAvailable tinewsrc-vars: %s\n", join(", ", sort keys %config)) if ($config{'verbose'} || $config{'debug'});
 	exit 0;
 }
 
@@ -1088,6 +1129,11 @@ X<tinews, command-line options>
 
 =over 4
 
+=item -B<4> | --B<ipv4>
+X<-4> X<--iv4>
+
+Force connecting via IPv4 to the remote NNTP server.
+
 =item -B<a> C<Approved> | --B<approved> C<Approved>
 X<-a> X<--approved>
 
@@ -1225,6 +1271,11 @@ X<-s> X<--no-signature>
 
 Do not append F<$HOME/.signature>.
 
+=item -B<T> C<seconds> | --B<timeout> C<seconds>
+X<-T> X<--timeout>
+
+Override the connection timeout setting. Default is 120 seconds.
+
 =item -B<X> | --B<no-sign>
 X<-X> X<--no-sign>
 
diff -Nurp '--exclude=.bzr*' tin-2.6.3/tools/tinlock tin-2.6.4/tools/tinlock
--- tin-2.6.3/tools/tinlock	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/tools/tinlock	2024-06-04 13:24:50.886050702 +0200
@@ -6,43 +6,43 @@ prog=/usr/local/bin/tin
 
 args=${1+"$@"}
 
-name=`basename $prog`
+name=`basename "$prog"`
 host=`hostname`
 pid=$$
-lock=$host"	"$pid
+lock="$host	$pid"
 
 if test -d ${TIN_HOMEDIR-"$HOME"} ; then
 	lockdir=${TIN_HOMEDIR-"$HOME"}/.tin
 	file=tinlock
 else
 	lockdir=${TMPDIR-/tmp}
-	if test -z $USER; then
-		if test -z $UID ; then
+	if test -z "$USER"; then
+		if test -z "$UID" ; then
 			UID=`id|sed 's,uid=\([0-9]\+\).*,\1,'`
 		fi
 	fi
 	file=tinlock.${USER-"$UID"}
 fi
 
-lockfile=$lockdir/$file
+lockfile="$lockdir/$file"
 
-if test -f $lockfile ; then
+if test -f "$lockfile" ; then
 	echo "Found \"$lockfile\"! Another $name running on:"
-	awk '{print $1" with pid: "$2"?"}' < $lockfile
+	awk '{print $1" with pid: "$2"?"}' < "$lockfile"
 	echo "(q)uit - start (r)ead-only - (d)elete lock and start normal."
 	IFS="       " read key
 	case $key in
 		[dD]*)
 			echo "Removing \"$lockfile\" and starting $name normal..."
-			rm -f $lockfile || (echo "Can't delete \"$lockfile\"" ; exit 1)
+			rm -f "$lockfile" || (echo "Can't delete \"$lockfile\"" ; exit 1)
 			trap "rm -f $lockfile; exit" 0 1 2 3 15
-			(echo $lock > $lockfile && $prog $args && rm -f $lockfile) || echo "Oops!"
+			(echo "$lock" > "$lockfile" && "$prog" "$args" && rm -f "$lockfile") || echo "Oops!"
 			;;
 		[rR]*)
 			echo "Starting $name in no-write (-X) mode..."
-			$prog -X $args
+			"$prog" -X "$args"
 			echo "There might still be copy(s) of $name running on:"
-			awk '{print $1" with pid: "$2}' < $lockfile
+			awk '{print $1" with pid: "$2}' < "$lockfile"
 			echo "If this is not the case remember to remove \"$lockfile\"."
 			;;
 		*)
@@ -52,5 +52,5 @@ if test -f $lockfile ; then
 	esac
 else
 	trap "rm -f $lockfile; exit" 0 1 2 3 15
-	(echo $lock > $lockfile && $prog $args && rm -f $lockfile) || echo "Oops!"
+	(echo "$lock" > "$lockfile" && "$prog" "$args" && rm -f "$lockfile") || echo "Oops!"
 fi
diff -Nurp '--exclude=.bzr*' tin-2.6.3/tools/url_handler.pl tin-2.6.4/tools/url_handler.pl
--- tin-2.6.3/tools/url_handler.pl	2023-12-24 00:38:41.000000000 +0100
+++ tin-2.6.4/tools/url_handler.pl	2024-11-17 14:12:06.357876942 +0100
@@ -1,4 +1,4 @@
-#! /usr/bin/perl -w
+#! /usr/bin/perl
 # example of how to call an appropriate viewer
 #
 # URLs must start with a scheme and shell metas should be already quoted
@@ -7,26 +7,32 @@
 use strict;
 use warnings;
 
-(my $pname = $0) =~ s#^.*/##;
+(my $pname = $0) =~ s#^.*/##x;
 die "Usage: $pname URL" if $#ARGV != 0;
 
 # version Number
-my $version = "0.1.3";
+my $version = "0.1.4";
 
 my ($method, $url, $match, @try);
-$method = $url = $ARGV[0];
-$method =~ s#^([^:]+):.*#$1#io;
+if (eval { require URI;1; } == 1) {
+        $url = URI->new($ARGV[0])->canonical;
+} else {
+        $url = $ARGV[0];
+}
+$method = $url;
+$method =~ s|^([^:/?#]+):.*|$1|iox;
+exit 0 if ($method eq $url);
 
 # shell escape
-$url =~ s#([\&\;\`\'\\\"\|\*\?\~\<\>\^\(\)\[\]\{\}\$\010\013\020\011])#\\$1#g;
+$url =~ s#([\&\;\`\'\\\"\|\*\?\~\<\>\^\(\)\[\]\{\}\$\010\013\020\011])#\\$1#gx;
 
 if ($ENV{"BROWSER_".uc($method)}) {
-	push(@try, split(/:/, $ENV{"BROWSER_".uc($method)}));
+	push(@try, split(/:/x, $ENV{"BROWSER_".uc($method)}));
 } else {
 	if ($ENV{BROWSER}) {
-		push(@try, split(/:/, $ENV{BROWSER}));
+		push(@try, split(/:/x, $ENV{BROWSER}));
 	} else { # set some defaults
-		push(@try, 'firefox -a firefox -remote openURL\(%s\)');
+		push(@try, 'firefox -a firefox -remote');
 		push(@try, 'mozilla -remote openURL\(%s\)');
 		push(@try, 'opera -remote openURL\(%s\)');
 		push(@try, qw(chromium 'galeon -n' 'epiphany -n' konqueror));
@@ -39,13 +45,13 @@ if ($ENV{"BROWSER_".uc($method)}) {
 
 for my $browser (@try) {
 	# ignore empty parts
-	next if ($browser =~ m/^$/o);
+	next if ($browser =~ m/^$/ox);
 	# expand %s if not preceded by odd number of %
-	$match = $browser =~ s/(?<!%)((?:%%)*)%s/$1$url/og;
+	$match = $browser =~ s/(?<!%)((?:%%)*)%s/$1$url/ogx;
 	# expand %c if not preceded by odd number of %
-	$browser =~ s/(?<!%)((?:%%)*)%c/$1:/og;
+	$browser =~ s/(?<!%)((?:%%)*)%c/$1:/ogx;
 	# reduce dubble %
-	$browser =~ s/%%/%/og;
+	$browser =~ s/%%/%/ogx;
 	# append URL if no %s expansion took place
 	$browser .= " ".$url if (!$match);
 	# leave loop if $browser was started successful
@@ -117,7 +123,7 @@ Examples:
 
 =over 2
 
-=item $BROWSER="firefox -a firefox -remote openURL\(%s\):opera:konqueror:links2 -g:lynx:w3m"
+=item $BROWSER="firefox -a firefox -remote:opera:konqueror:links2 -g:lynx:w3m"
 
 =back
 
diff -Nurp '--exclude=.bzr*' tin-2.6.3/tools/url_handler.sh tin-2.6.4/tools/url_handler.sh
--- tin-2.6.3/tools/url_handler.sh	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/tools/url_handler.sh	2024-06-04 12:42:55.479534398 +0200
@@ -10,52 +10,52 @@
 # TODO: check $BROWSER?
 
 if test $# -ne 1; then
-	echo "Usage: `basename $0` URL" >&2
+	echo "Usage: `basename "$0"` URL" >&2
 	exit 1
 fi
 
-url=$1
-method=`echo $url | sed 's,^\([^:]*\):.*,\1,' | tr 'A-Z' 'a-z'`
+url="$1"
+method=`echo "$url" | sed 's,^\([^:]*\):.*,\1,' | tr 'A-Z' 'a-z'`
 
-case $method in
+case "$method" in
 	http|https|gopher)
-		if test x$DISPLAY = x; then
-			lynx $url || exit 1
+		if test x"$DISPLAY" = x; then
+			lynx "$url" || exit 1
 		else
-			( netscape -remote openURL\($url\) || netscape $url ) || exit 1
+			( netscape -remote openURL\("$url"\) || netscape "$url" ) || exit 1
 		fi
 		;;
 
 	ftp)
-		if test x$DISPLAY = x; then
-			target=`echo $url | sed 's;^.*://\([^/]*\)/*\(.*\);\1:/\2;'`
-			( ncftp $target || ncftp $target"/" ) || exit 1
+		if test x"$DISPLAY" = x; then
+			target=`echo "$url" | sed 's;^.*://\([^/]*\)/*\(.*\);\1:/\2;'`
+			( ncftp "$target" || ncftp "$target""/" ) || exit 1
 		else
-			( netscape -remote openURL\($url\) || netscape $url ) || exit 1
+			( netscape -remote openURL\("$url"\) || netscape "$url" ) || exit 1
 		fi
 		;;
 
 	mailto)
-		( mutt `echo $url` ) || exit 1
-		# ( pine -url `echo $url` ) || exit 1
+		( mutt "$url" ) || exit 1
+		# ( pine -url "$url" ) || exit 1
 #		# old mutts can't handle mailto:-URLs with embedet subject
-#		if test `echo $url | grep -c '\?'` -eq 0 ; then
-#			( mutt `echo $url | sed 's;^[^:]*:\(.*\);\1;'` ) || exit 1
+#		if test `echo "$url" | grep -c '\?'` -eq 0 ; then
+#			( mutt `echo "$url" | sed 's;^[^:]*:\(.*\);\1;'` ) || exit 1
 #		else
-#			if test x$DISPLAY = x; then
-#				lynx $url || exit 1
+#			if test x"$DISPLAY" = x; then
+#				lynx "$url" || exit 1
 #			else
-#				( netscape -remote openURL\($url\) || netscape $url ) || exit 1
+#				( netscape -remote openURL\("$url"\) || netscape "$url" ) || exit 1
 #			fi
 #		fi
 		;;
 
 	news|snews)
 		# usually meant for reading news on the local server
-		if test x$DISPLAY = x; then
-			lynx $url || exit 1
+		if test x"$DISPLAY" = x; then
+			lynx "$url" || exit 1
 		else
-			( netscape -remote openURL\($url\) || netscape $url ) || exit 1
+			( netscape -remote openURL\("$url"\) || netscape "$url" ) || exit 1
 		fi
 		;;
 
@@ -63,7 +63,7 @@ case $method in
 		# usually meant for reading news via NNTP
 		# needs a special case as netscape can't handle nntp-URLs
 		# *sigh*
-		lynx $url || exit 1
+		lynx "$url" || exit 1
 		;;
 
 esac
diff -Nurp '--exclude=.bzr*' tin-2.6.3/tools/w2r.pl tin-2.6.4/tools/w2r.pl
--- tin-2.6.3/tools/w2r.pl	2021-08-23 12:58:19.000000000 +0200
+++ tin-2.6.4/tools/w2r.pl	2024-10-15 01:05:18.244345978 +0200
@@ -1,4 +1,4 @@
-#! /usr/bin/perl -w
+#! /usr/bin/perl
 #
 # reads a tin filter file with wildmat filters on STDIN, converts it to
 # regexp filters and returns it on STDOUT
@@ -17,6 +17,9 @@
 # to be buggy
 require 5.004;
 
+use strict;
+use warnings;
+
 # version Number
 # $VERSION = "0.2.8";
 
